{"version":3,"file":"vue-bundle.umd.js","sources":["../../vue/node_modules/vue-demi/lib/index.mjs","../../vue/node_modules/@vue/devtools-api/lib/esm/env.js","../../vue/node_modules/@vue/devtools-api/lib/esm/const.js","../../vue/node_modules/@vue/devtools-api/lib/esm/time.js","../../vue/node_modules/@vue/devtools-api/lib/esm/proxy.js","../../vue/node_modules/@vue/devtools-api/lib/esm/index.js","../../vue/node_modules/pinia/dist/pinia.mjs","../../vue/src/store/accessToken.ts","../../vue/src/store/merchant.ts","../../vue/src/store/user.ts","../../vue/src/store/permission.ts","../../vue/src/store/preferences.ts","../../vue/node_modules/vuetify/lib/composables/toggleScope.mjs","../../vue/node_modules/vuetify/lib/util/globals.mjs","../../vue/node_modules/vuetify/lib/util/helpers.mjs","../../vue/node_modules/vuetify/lib/util/anchor.mjs","../../vue/node_modules/vuetify/lib/util/box.mjs","../../vue/node_modules/vuetify/lib/util/animation.mjs","../../vue/node_modules/vuetify/lib/util/bindProps.mjs","../../vue/node_modules/vuetify/lib/util/color/APCA.mjs","../../vue/node_modules/vuetify/lib/util/console.mjs","../../vue/node_modules/vuetify/lib/util/color/transformCIELAB.mjs","../../vue/node_modules/vuetify/lib/util/color/transformSRGB.mjs","../../vue/node_modules/vuetify/lib/util/colorUtils.mjs","../../vue/node_modules/vuetify/lib/util/propsFactory.mjs","../../vue/node_modules/vuetify/lib/composables/component.mjs","../../vue/node_modules/vuetify/lib/util/getCurrentInstance.mjs","../../vue/node_modules/vuetify/lib/util/injectSelf.mjs","../../vue/node_modules/vuetify/lib/composables/defaults.mjs","../../vue/node_modules/vuetify/lib/util/defineComponent.mjs","../../vue/node_modules/vuetify/lib/util/createSimpleFunctional.mjs","../../vue/node_modules/vuetify/lib/util/dom.mjs","../../vue/node_modules/vuetify/lib/util/easing.mjs","../../vue/node_modules/vuetify/lib/util/events.mjs","../../vue/node_modules/vuetify/lib/util/getScrollParent.mjs","../../vue/node_modules/vuetify/lib/util/isFixedPosition.mjs","../../vue/node_modules/vuetify/lib/util/useRender.mjs","../../vue/node_modules/vuetify/lib/composables/proxiedModel.mjs","../../vue/node_modules/vuetify/lib/locale/en.mjs","../../vue/node_modules/vuetify/lib/locale/adapters/vuetify.mjs","../../vue/node_modules/vuetify/lib/composables/locale.mjs","../../vue/node_modules/vuetify/lib/composables/date/adapters/vuetify.mjs","../../vue/node_modules/vuetify/lib/composables/date/date.mjs","../../vue/node_modules/vuetify/lib/composables/display.mjs","../../vue/node_modules/vuetify/lib/composables/goto.mjs","../../vue/node_modules/vuetify/lib/iconsets/mdi.mjs","../../vue/node_modules/vuetify/lib/composables/icons.mjs","../../vue/node_modules/vuetify/lib/composables/theme.mjs","../../vue/node_modules/vuetify/lib/composables/resizeObserver.mjs","../../vue/node_modules/vuetify/lib/composables/layout.mjs","../../vue/node_modules/vuetify/lib/framework.mjs","../../vue/node_modules/vuetify/lib/components/VApp/VApp.mjs","../../vue/node_modules/vuetify/lib/composables/tag.mjs","../../vue/node_modules/vuetify/lib/components/VToolbar/VToolbarTitle.mjs","../../vue/node_modules/vuetify/lib/components/transitions/createTransition.mjs","../../vue/node_modules/vuetify/lib/components/transitions/expand-transition.mjs","../../vue/node_modules/vuetify/lib/components/transitions/dialog-transition.mjs","../../vue/node_modules/vuetify/lib/components/transitions/index.mjs","../../vue/node_modules/vuetify/lib/components/VDefaultsProvider/VDefaultsProvider.mjs","../../vue/node_modules/vuetify/lib/composables/dimensions.mjs","../../vue/node_modules/vuetify/lib/components/VResponsive/VResponsive.mjs","../../vue/node_modules/vuetify/lib/composables/color.mjs","../../vue/node_modules/vuetify/lib/composables/rounded.mjs","../../vue/node_modules/vuetify/lib/composables/transition.mjs","../../vue/node_modules/vuetify/lib/directives/intersect/index.mjs","../../vue/node_modules/vuetify/lib/components/VImg/VImg.mjs","../../vue/node_modules/vuetify/lib/composables/border.mjs","../../vue/node_modules/vuetify/lib/composables/elevation.mjs","../../vue/node_modules/vuetify/lib/components/VToolbar/VToolbar.mjs","../../vue/node_modules/vuetify/lib/composables/scroll.mjs","../../vue/node_modules/vuetify/lib/composables/ssrBoot.mjs","../../vue/node_modules/vuetify/lib/components/VAppBar/VAppBar.mjs","../../vue/node_modules/vuetify/lib/composables/density.mjs","../../vue/node_modules/vuetify/lib/composables/variant.mjs","../../vue/node_modules/vuetify/lib/components/VBtnGroup/VBtnGroup.mjs","../../vue/node_modules/vuetify/lib/composables/group.mjs","../../vue/node_modules/vuetify/lib/components/VBtnToggle/VBtnToggle.mjs","../../vue/node_modules/vuetify/lib/composables/size.mjs","../../vue/node_modules/vuetify/lib/components/VIcon/VIcon.mjs","../../vue/node_modules/vuetify/lib/composables/intersectionObserver.mjs","../../vue/node_modules/vuetify/lib/components/VProgressCircular/VProgressCircular.mjs","../../vue/node_modules/vuetify/lib/composables/location.mjs","../../vue/node_modules/vuetify/lib/components/VProgressLinear/VProgressLinear.mjs","../../vue/node_modules/vuetify/lib/composables/loader.mjs","../../vue/node_modules/vuetify/lib/composables/position.mjs","../../vue/node_modules/vuetify/lib/composables/router.mjs","../../vue/node_modules/vuetify/lib/composables/selectLink.mjs","../../vue/node_modules/vuetify/lib/directives/ripple/index.mjs","../../vue/node_modules/vuetify/lib/components/VBtn/VBtn.mjs","../../vue/node_modules/vuetify/lib/components/VAppBar/VAppBarNavIcon.mjs","../../vue/node_modules/vuetify/lib/components/VAppBar/VAppBarTitle.mjs","../../vue/node_modules/vuetify/lib/components/VAlert/VAlertTitle.mjs","../../vue/node_modules/vuetify/lib/components/VAlert/VAlert.mjs","../../vue/node_modules/vuetify/lib/components/VAvatar/VAvatar.mjs","../../vue/node_modules/vuetify/lib/components/VLabel/VLabel.mjs","../../vue/node_modules/vuetify/lib/components/VSelectionControlGroup/VSelectionControlGroup.mjs","../../vue/node_modules/vuetify/lib/components/VSelectionControl/VSelectionControl.mjs","../../vue/node_modules/vuetify/lib/components/VCheckbox/VCheckboxBtn.mjs","../../vue/node_modules/vuetify/lib/components/VInput/InputIcon.mjs","../../vue/node_modules/vuetify/lib/components/VMessages/VMessages.mjs","../../vue/node_modules/vuetify/lib/composables/focus.mjs","../../vue/node_modules/vuetify/lib/composables/form.mjs","../../vue/node_modules/vuetify/lib/composables/validation.mjs","../../vue/node_modules/vuetify/lib/components/VInput/VInput.mjs","../../vue/node_modules/vuetify/lib/components/VCheckbox/VCheckbox.mjs","../../vue/node_modules/vuetify/lib/components/VSlideGroup/helpers.mjs","../../vue/node_modules/vuetify/lib/components/VSlideGroup/VSlideGroup.mjs","../../vue/node_modules/vuetify/lib/components/VChipGroup/VChipGroup.mjs","../../vue/node_modules/vuetify/lib/components/VChip/VChip.mjs","../../vue/node_modules/vuetify/lib/components/VList/list.mjs","../../vue/node_modules/vuetify/lib/composables/nested/activeStrategies.mjs","../../vue/node_modules/vuetify/lib/composables/nested/openStrategies.mjs","../../vue/node_modules/vuetify/lib/composables/nested/selectStrategies.mjs","../../vue/node_modules/vuetify/lib/composables/nested/nested.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListGroup.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListItemSubtitle.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListItemTitle.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListItem.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListSubheader.mjs","../../vue/node_modules/vuetify/lib/components/VDivider/VDivider.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListChildren.mjs","../../vue/node_modules/vuetify/lib/composables/list-items.mjs","../../vue/node_modules/vuetify/lib/components/VList/VList.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListImg.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListItemAction.mjs","../../vue/node_modules/vuetify/lib/components/VList/VListItemMedia.mjs","../../vue/node_modules/vuetify/lib/components/VOverlay/util/point.mjs","../../vue/node_modules/vuetify/lib/components/VOverlay/locationStrategies.mjs","../../vue/node_modules/vuetify/lib/components/VOverlay/requestNewFrame.mjs","../../vue/node_modules/vuetify/lib/components/VOverlay/scrollStrategies.mjs","../../vue/node_modules/vuetify/lib/components/VMenu/shared.mjs","../../vue/node_modules/vuetify/lib/composables/delay.mjs","../../vue/node_modules/vuetify/lib/components/VOverlay/useActivator.mjs","../../vue/node_modules/vuetify/lib/composables/hydration.mjs","../../vue/node_modules/vuetify/lib/composables/lazy.mjs","../../vue/node_modules/vuetify/lib/composables/scopeId.mjs","../../vue/node_modules/vuetify/lib/composables/stack.mjs","../../vue/node_modules/vuetify/lib/composables/teleport.mjs","../../vue/node_modules/vuetify/lib/directives/click-outside/index.mjs","../../vue/node_modules/vuetify/lib/components/VOverlay/VOverlay.mjs","../../vue/node_modules/vuetify/lib/composables/forwardRefs.mjs","../../vue/node_modules/vuetify/lib/components/VMenu/VMenu.mjs","../../vue/node_modules/vuetify/lib/components/VCounter/VCounter.mjs","../../vue/node_modules/vuetify/lib/components/VField/VFieldLabel.mjs","../../vue/node_modules/vuetify/lib/components/VField/VField.mjs","../../vue/node_modules/vuetify/lib/components/VTextField/VTextField.mjs","../../vue/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScrollItem.mjs","../../vue/node_modules/vuetify/lib/composables/virtual.mjs","../../vue/node_modules/vuetify/lib/components/VVirtualScroll/VVirtualScroll.mjs","../../vue/node_modules/vuetify/lib/components/VSelect/useScrolling.mjs","../../vue/node_modules/vuetify/lib/components/VSelect/VSelect.mjs","../../vue/node_modules/vuetify/lib/composables/filter.mjs","../../vue/node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.mjs","../../vue/node_modules/vuetify/lib/components/VBadge/VBadge.mjs","../../vue/node_modules/vuetify/lib/components/VBanner/VBannerActions.mjs","../../vue/node_modules/vuetify/lib/components/VBanner/VBannerText.mjs","../../vue/node_modules/vuetify/lib/components/VBanner/VBanner.mjs","../../vue/node_modules/vuetify/lib/components/VBottomNavigation/VBottomNavigation.mjs","../../vue/node_modules/vuetify/lib/components/VDialog/VDialog.mjs","../../vue/node_modules/vuetify/lib/components/VBottomSheet/VBottomSheet.mjs","../../vue/node_modules/vuetify/lib/components/VBreadcrumbs/VBreadcrumbsDivider.mjs","../../vue/node_modules/vuetify/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs","../../vue/node_modules/vuetify/lib/components/VBreadcrumbs/VBreadcrumbs.mjs","../../vue/node_modules/vuetify/lib/components/VCard/VCardActions.mjs","../../vue/node_modules/vuetify/lib/components/VCard/VCardSubtitle.mjs","../../vue/node_modules/vuetify/lib/components/VCard/VCardTitle.mjs","../../vue/node_modules/vuetify/lib/components/VCard/VCardItem.mjs","../../vue/node_modules/vuetify/lib/components/VCard/VCardText.mjs","../../vue/node_modules/vuetify/lib/components/VCard/VCard.mjs","../../vue/node_modules/vuetify/lib/directives/touch/index.mjs","../../vue/node_modules/vuetify/lib/components/VWindow/VWindow.mjs","../../vue/node_modules/vuetify/lib/components/VCarousel/VCarousel.mjs","../../vue/node_modules/vuetify/lib/components/VWindow/VWindowItem.mjs","../../vue/node_modules/vuetify/lib/components/VCarousel/VCarouselItem.mjs","../../vue/node_modules/vuetify/lib/components/VCode/index.mjs","../../vue/node_modules/vuetify/lib/components/VColorPicker/VColorPickerCanvas.mjs","../../vue/node_modules/vuetify/lib/components/VColorPicker/util/index.mjs","../../vue/node_modules/vuetify/lib/components/VColorPicker/VColorPickerEdit.mjs","../../vue/node_modules/vuetify/lib/components/VSlider/slider.mjs","../../vue/node_modules/vuetify/lib/components/VSlider/VSliderThumb.mjs","../../vue/node_modules/vuetify/lib/components/VSlider/VSliderTrack.mjs","../../vue/node_modules/vuetify/lib/components/VSlider/VSlider.mjs","../../vue/node_modules/vuetify/lib/components/VColorPicker/VColorPickerPreview.mjs","../../vue/node_modules/vuetify/lib/util/colors.mjs","../../vue/node_modules/vuetify/lib/components/VColorPicker/VColorPickerSwatches.mjs","../../vue/node_modules/vuetify/lib/components/VSheet/VSheet.mjs","../../vue/node_modules/vuetify/lib/components/VColorPicker/VColorPicker.mjs","../../vue/node_modules/vuetify/lib/components/VCombobox/VCombobox.mjs","../../vue/node_modules/vuetify/lib/components/VConfirmEdit/VConfirmEdit.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/expand.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/group.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/options.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/paginate.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/select.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/sort.mjs","../../vue/node_modules/vuetify/lib/components/VDataIterator/composables/items.mjs","../../vue/node_modules/vuetify/lib/components/VDataIterator/VDataIterator.mjs","../../vue/node_modules/vuetify/lib/composables/refs.mjs","../../vue/node_modules/vuetify/lib/components/VPagination/VPagination.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableFooter.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableColumn.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/headers.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableHeaders.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableGroupHeaderRow.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableRow.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableRows.mjs","../../vue/node_modules/vuetify/lib/components/VTable/VTable.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/composables/items.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTable.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableVirtual.mjs","../../vue/node_modules/vuetify/lib/components/VDataTable/VDataTableServer.mjs","../../vue/node_modules/vuetify/lib/components/VGrid/VContainer.mjs","../../vue/node_modules/vuetify/lib/components/VGrid/VCol.mjs","../../vue/node_modules/vuetify/lib/components/VGrid/VRow.mjs","../../vue/node_modules/vuetify/lib/components/VGrid/VSpacer.mjs","../../vue/node_modules/vuetify/lib/components/VDatePicker/VDatePickerControls.mjs","../../vue/node_modules/vuetify/lib/components/VDatePicker/VDatePickerHeader.mjs","../../vue/node_modules/vuetify/lib/composables/calendar.mjs","../../vue/node_modules/vuetify/lib/components/VDatePicker/VDatePickerMonth.mjs","../../vue/node_modules/vuetify/lib/components/VDatePicker/VDatePickerMonths.mjs","../../vue/node_modules/vuetify/lib/components/VDatePicker/VDatePickerYears.mjs","../../vue/node_modules/vuetify/lib/labs/VPicker/VPickerTitle.mjs","../../vue/node_modules/vuetify/lib/labs/VPicker/VPicker.mjs","../../vue/node_modules/vuetify/lib/components/VDatePicker/VDatePicker.mjs","../../vue/node_modules/vuetify/lib/components/VEmptyState/VEmptyState.mjs","../../vue/node_modules/vuetify/lib/components/VExpansionPanel/shared.mjs","../../vue/node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanelText.mjs","../../vue/node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs","../../vue/node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanel.mjs","../../vue/node_modules/vuetify/lib/components/VExpansionPanel/VExpansionPanels.mjs","../../vue/node_modules/vuetify/lib/components/VFab/VFab.mjs","../../vue/node_modules/vuetify/lib/components/VFileInput/VFileInput.mjs","../../vue/node_modules/vuetify/lib/components/VFooter/VFooter.mjs","../../vue/node_modules/vuetify/lib/components/VForm/VForm.mjs","../../vue/node_modules/vuetify/lib/components/VHover/VHover.mjs","../../vue/node_modules/vuetify/lib/components/VInfiniteScroll/VInfiniteScroll.mjs","../../vue/node_modules/vuetify/lib/components/VItemGroup/VItemGroup.mjs","../../vue/node_modules/vuetify/lib/components/VItemGroup/VItem.mjs","../../vue/node_modules/vuetify/lib/components/VKbd/index.mjs","../../vue/node_modules/vuetify/lib/components/VLayout/VLayout.mjs","../../vue/node_modules/vuetify/lib/components/VLayout/VLayoutItem.mjs","../../vue/node_modules/vuetify/lib/components/VLazy/VLazy.mjs","../../vue/node_modules/vuetify/lib/components/VLocaleProvider/VLocaleProvider.mjs","../../vue/node_modules/vuetify/lib/components/VMain/VMain.mjs","../../vue/node_modules/vuetify/lib/components/VNavigationDrawer/sticky.mjs","../../vue/node_modules/vuetify/lib/composables/touch.mjs","../../vue/node_modules/vuetify/lib/components/VNavigationDrawer/touch.mjs","../../vue/node_modules/vuetify/lib/components/VNavigationDrawer/VNavigationDrawer.mjs","../../vue/node_modules/vuetify/lib/components/VNoSsr/VNoSsr.mjs","../../vue/node_modules/vuetify/lib/components/VOtpInput/VOtpInput.mjs","../../vue/node_modules/vuetify/lib/components/VParallax/VParallax.mjs","../../vue/node_modules/vuetify/lib/components/VRadio/VRadio.mjs","../../vue/node_modules/vuetify/lib/components/VRadioGroup/VRadioGroup.mjs","../../vue/node_modules/vuetify/lib/components/VRangeSlider/VRangeSlider.mjs","../../vue/node_modules/vuetify/lib/components/VRating/VRating.mjs","../../vue/node_modules/vuetify/lib/components/VSkeletonLoader/VSkeletonLoader.mjs","../../vue/node_modules/vuetify/lib/components/VSlideGroup/VSlideGroupItem.mjs","../../vue/node_modules/vuetify/lib/components/VSnackbar/VSnackbar.mjs","../../vue/node_modules/vuetify/lib/components/VSparkline/util/line.mjs","../../vue/node_modules/vuetify/lib/components/VSparkline/VBarline.mjs","../../vue/node_modules/vuetify/lib/components/VSparkline/util/path.mjs","../../vue/node_modules/vuetify/lib/components/VSparkline/VTrendline.mjs","../../vue/node_modules/vuetify/lib/components/VSparkline/VSparkline.mjs","../../vue/node_modules/vuetify/lib/components/VSpeedDial/VSpeedDial.mjs","../../vue/node_modules/vuetify/lib/components/VStepper/shared.mjs","../../vue/node_modules/vuetify/lib/components/VStepper/VStepperActions.mjs","../../vue/node_modules/vuetify/lib/components/VStepper/VStepperHeader.mjs","../../vue/node_modules/vuetify/lib/components/VStepper/VStepperItem.mjs","../../vue/node_modules/vuetify/lib/components/VStepper/VStepperWindow.mjs","../../vue/node_modules/vuetify/lib/components/VStepper/VStepperWindowItem.mjs","../../vue/node_modules/vuetify/lib/components/VStepper/VStepper.mjs","../../vue/node_modules/vuetify/lib/components/VSwitch/VSwitch.mjs","../../vue/node_modules/vuetify/lib/components/VSystemBar/VSystemBar.mjs","../../vue/node_modules/vuetify/lib/components/VTabs/shared.mjs","../../vue/node_modules/vuetify/lib/components/VTabs/VTab.mjs","../../vue/node_modules/vuetify/lib/components/VTabs/VTabsWindow.mjs","../../vue/node_modules/vuetify/lib/components/VTabs/VTabsWindowItem.mjs","../../vue/node_modules/vuetify/lib/components/VTabs/VTabs.mjs","../../vue/node_modules/vuetify/lib/components/VTextarea/VTextarea.mjs","../../vue/node_modules/vuetify/lib/components/VThemeProvider/VThemeProvider.mjs","../../vue/node_modules/vuetify/lib/components/VTimeline/VTimelineDivider.mjs","../../vue/node_modules/vuetify/lib/components/VTimeline/VTimelineItem.mjs","../../vue/node_modules/vuetify/lib/components/VTimeline/VTimeline.mjs","../../vue/node_modules/vuetify/lib/components/VToolbar/VToolbarItems.mjs","../../vue/node_modules/vuetify/lib/components/VTooltip/VTooltip.mjs","../../vue/node_modules/vuetify/lib/components/VValidation/VValidation.mjs","../../vue/node_modules/vuetify/lib/directives/mutate/index.mjs","../../vue/node_modules/vuetify/lib/directives/resize/index.mjs","../../vue/node_modules/vuetify/lib/directives/scroll/index.mjs","../../vue/node_modules/vuetify/lib/composables/directiveComponent.mjs","../../vue/node_modules/vuetify/lib/directives/tooltip/index.mjs","../../vue/node_modules/vuetify/lib/iconsets/mdi-svg.mjs","../../vue/src/plugins/vuetify/colors.mjs","../../vue/src/composables/ChartColors.ts","../../vue/src/plugins/vuetify/theme.ts","../../vue/src/plugins/vuetify/defaults.ts","../../vue/src/plugins/vuetify/vuetify.ts","../../vue/node_modules/@intlify/shared/dist/shared.mjs","../../vue/node_modules/@intlify/message-compiler/dist/message-compiler.mjs","../../vue/node_modules/@intlify/core-base/dist/core-base.mjs","../../vue/node_modules/vue-i18n/dist/vue-i18n.mjs","../../vue/src/plugins/i18n.ts","../../vue/node_modules/moment/dist/moment.js","../../vue/src/plugins/moment.ts","../../vue/src/plugins/index.ts","../../vue/node_modules/maska/dist/maska.mjs","../../vue/node_modules/maska/dist/vue.mjs","../../vue/src/directives/index.ts","../../vue/node_modules/quill/dist/quill.js","../../vue/node_modules/quill-delta/node_modules/fast-diff/diff.js","../../vue/node_modules/lodash.clonedeep/index.js","../../vue/node_modules/lodash.isequal/index.js","../../vue/node_modules/quill-delta/dist/AttributeMap.js","../../vue/node_modules/quill-delta/dist/Iterator.js","../../vue/node_modules/quill-delta/dist/Op.js","../../vue/node_modules/quill-delta/dist/Delta.js","../../vue/node_modules/@vueup/vue-quill/dist/vue-quill.esm-bundler.js","../../vue/src/external-components/index.ts","../../vue/node_modules/@mdi/js/mdi.js","../../vue/src/composables/Cypress.ts","../../vue/src/components/wasabi/contentDisplays/WAccordion.vue","../../vue/src/components/wasabi/contentDisplays/WAccordionItem.vue","../../vue/node_modules/echarts/node_modules/tslib/tslib.es6.js","../../vue/node_modules/zrender/lib/core/env.js","../../vue/node_modules/zrender/lib/core/platform.js","../../vue/node_modules/zrender/lib/core/util.js","../../vue/node_modules/zrender/node_modules/tslib/tslib.es6.js","../../vue/node_modules/zrender/lib/core/vector.js","../../vue/node_modules/zrender/lib/mixin/Draggable.js","../../vue/node_modules/zrender/lib/core/Eventful.js","../../vue/node_modules/zrender/lib/core/fourPointsTransform.js","../../vue/node_modules/zrender/lib/core/dom.js","../../vue/node_modules/zrender/lib/core/event.js","../../vue/node_modules/zrender/lib/core/GestureMgr.js","../../vue/node_modules/zrender/lib/core/matrix.js","../../vue/node_modules/zrender/lib/core/Point.js","../../vue/node_modules/zrender/lib/core/BoundingRect.js","../../vue/node_modules/zrender/lib/Handler.js","../../vue/node_modules/zrender/lib/core/timsort.js","../../vue/node_modules/zrender/lib/graphic/constants.js","../../vue/node_modules/zrender/lib/Storage.js","../../vue/node_modules/zrender/lib/animation/requestAnimationFrame.js","../../vue/node_modules/zrender/lib/animation/easing.js","../../vue/node_modules/zrender/lib/core/curve.js","../../vue/node_modules/zrender/lib/animation/cubicEasing.js","../../vue/node_modules/zrender/lib/animation/Clip.js","../../vue/node_modules/zrender/lib/core/LRU.js","../../vue/node_modules/zrender/lib/tool/color.js","../../vue/node_modules/zrender/lib/svg/helper.js","../../vue/node_modules/zrender/lib/animation/Animator.js","../../vue/node_modules/zrender/lib/animation/Animation.js","../../vue/node_modules/zrender/lib/dom/HandlerProxy.js","../../vue/node_modules/zrender/lib/config.js","../../vue/node_modules/zrender/lib/core/Transformable.js","../../vue/node_modules/zrender/lib/contain/text.js","../../vue/node_modules/zrender/lib/Element.js","../../vue/node_modules/zrender/lib/graphic/Group.js","../../vue/node_modules/zrender/lib/zrender.js","../../vue/node_modules/echarts/lib/util/number.js","../../vue/node_modules/echarts/lib/util/log.js","../../vue/node_modules/echarts/lib/util/model.js","../../vue/node_modules/echarts/lib/util/clazz.js","../../vue/node_modules/echarts/lib/model/mixin/makeStyleMapper.js","../../vue/node_modules/echarts/lib/model/mixin/areaStyle.js","../../vue/node_modules/zrender/lib/graphic/helper/image.js","../../vue/node_modules/zrender/lib/graphic/helper/parseText.js","../../vue/node_modules/zrender/lib/graphic/Displayable.js","../../vue/node_modules/zrender/lib/core/bbox.js","../../vue/node_modules/zrender/lib/core/PathProxy.js","../../vue/node_modules/zrender/lib/contain/line.js","../../vue/node_modules/zrender/lib/contain/cubic.js","../../vue/node_modules/zrender/lib/contain/quadratic.js","../../vue/node_modules/zrender/lib/contain/util.js","../../vue/node_modules/zrender/lib/contain/arc.js","../../vue/node_modules/zrender/lib/contain/windingLine.js","../../vue/node_modules/zrender/lib/contain/path.js","../../vue/node_modules/zrender/lib/graphic/Path.js","../../vue/node_modules/zrender/lib/graphic/TSpan.js","../../vue/node_modules/zrender/lib/graphic/Image.js","../../vue/node_modules/zrender/lib/graphic/helper/roundRect.js","../../vue/node_modules/zrender/lib/graphic/helper/subPixelOptimize.js","../../vue/node_modules/zrender/lib/graphic/shape/Rect.js","../../vue/node_modules/zrender/lib/graphic/Text.js","../../vue/node_modules/echarts/lib/util/innerStore.js","../../vue/node_modules/echarts/lib/util/states.js","../../vue/node_modules/zrender/lib/tool/transformPath.js","../../vue/node_modules/zrender/lib/tool/path.js","../../vue/node_modules/zrender/lib/graphic/shape/Circle.js","../../vue/node_modules/zrender/lib/graphic/shape/Ellipse.js","../../vue/node_modules/zrender/lib/graphic/helper/roundSector.js","../../vue/node_modules/zrender/lib/graphic/shape/Sector.js","../../vue/node_modules/zrender/lib/graphic/shape/Ring.js","../../vue/node_modules/zrender/lib/graphic/helper/smoothBezier.js","../../vue/node_modules/zrender/lib/graphic/helper/poly.js","../../vue/node_modules/zrender/lib/graphic/shape/Polygon.js","../../vue/node_modules/zrender/lib/graphic/shape/Polyline.js","../../vue/node_modules/zrender/lib/graphic/shape/Line.js","../../vue/node_modules/zrender/lib/graphic/shape/BezierCurve.js","../../vue/node_modules/zrender/lib/graphic/shape/Arc.js","../../vue/node_modules/zrender/lib/graphic/CompoundPath.js","../../vue/node_modules/zrender/lib/graphic/Gradient.js","../../vue/node_modules/zrender/lib/graphic/LinearGradient.js","../../vue/node_modules/zrender/lib/graphic/RadialGradient.js","../../vue/node_modules/zrender/lib/core/OrientedBoundingRect.js","../../vue/node_modules/zrender/lib/graphic/IncrementalDisplayable.js","../../vue/node_modules/echarts/lib/animation/basicTransition.js","../../vue/node_modules/echarts/lib/util/graphic.js","../../vue/node_modules/echarts/lib/label/labelStyle.js","../../vue/node_modules/echarts/lib/model/mixin/textStyle.js","../../vue/node_modules/echarts/lib/model/mixin/lineStyle.js","../../vue/node_modules/echarts/lib/model/mixin/itemStyle.js","../../vue/node_modules/echarts/lib/model/Model.js","../../vue/node_modules/echarts/lib/util/component.js","../../vue/node_modules/echarts/lib/i18n/langEN.js","../../vue/node_modules/echarts/lib/i18n/langZH.js","../../vue/node_modules/echarts/lib/core/locale.js","../../vue/node_modules/echarts/lib/util/time.js","../../vue/node_modules/echarts/lib/util/format.js","../../vue/node_modules/echarts/lib/util/layout.js","../../vue/node_modules/echarts/lib/model/Component.js","../../vue/node_modules/echarts/lib/model/globalDefault.js","../../vue/node_modules/echarts/lib/util/types.js","../../vue/node_modules/echarts/lib/data/helper/sourceHelper.js","../../vue/node_modules/echarts/lib/model/internalComponentCreator.js","../../vue/node_modules/echarts/lib/model/mixin/palette.js","../../vue/node_modules/echarts/lib/model/Global.js","../../vue/node_modules/echarts/lib/core/ExtensionAPI.js","../../vue/node_modules/echarts/lib/core/CoordinateSystem.js","../../vue/node_modules/echarts/lib/model/OptionManager.js","../../vue/node_modules/echarts/lib/preprocessor/helper/compatStyle.js","../../vue/node_modules/echarts/lib/preprocessor/backwardCompat.js","../../vue/node_modules/echarts/lib/processor/dataStack.js","../../vue/node_modules/echarts/lib/data/Source.js","../../vue/node_modules/echarts/lib/data/helper/dataProvider.js","../../vue/node_modules/echarts/lib/model/mixin/dataFormat.js","../../vue/node_modules/echarts/lib/core/task.js","../../vue/node_modules/echarts/lib/data/helper/dataValueHelper.js","../../vue/node_modules/echarts/lib/data/helper/transform.js","../../vue/node_modules/echarts/lib/data/DataStore.js","../../vue/node_modules/echarts/lib/data/helper/sourceManager.js","../../vue/node_modules/echarts/lib/component/tooltip/tooltipMarkup.js","../../vue/node_modules/echarts/lib/component/tooltip/seriesFormatTooltip.js","../../vue/node_modules/echarts/lib/model/Series.js","../../vue/node_modules/echarts/lib/view/Component.js","../../vue/node_modules/echarts/lib/chart/helper/createRenderPlanner.js","../../vue/node_modules/echarts/lib/view/Chart.js","../../vue/node_modules/echarts/lib/util/throttle.js","../../vue/node_modules/echarts/lib/visual/style.js","../../vue/node_modules/echarts/lib/loading/default.js","../../vue/node_modules/echarts/lib/core/Scheduler.js","../../vue/node_modules/echarts/lib/theme/light.js","../../vue/node_modules/echarts/lib/theme/dark.js","../../vue/node_modules/echarts/lib/util/ECEventProcessor.js","../../vue/node_modules/echarts/lib/visual/symbol.js","../../vue/node_modules/echarts/lib/visual/helper.js","../../vue/node_modules/echarts/lib/legacy/dataSelectAction.js","../../vue/node_modules/echarts/lib/util/event.js","../../vue/node_modules/zrender/lib/core/WeakMap.js","../../vue/node_modules/echarts/lib/util/symbol.js","../../vue/node_modules/zrender/lib/canvas/helper.js","../../vue/node_modules/zrender/lib/canvas/dashStyle.js","../../vue/node_modules/zrender/lib/canvas/graphic.js","../../vue/node_modules/echarts/lib/util/decal.js","../../vue/node_modules/echarts/lib/visual/decal.js","../../vue/node_modules/echarts/lib/core/lifecycle.js","../../vue/node_modules/echarts/lib/core/impl.js","../../vue/node_modules/echarts/lib/core/echarts.js","../../vue/node_modules/echarts/lib/data/DataDiffer.js","../../vue/node_modules/echarts/lib/data/helper/dimensionHelper.js","../../vue/node_modules/echarts/lib/data/SeriesDimensionDefine.js","../../vue/node_modules/echarts/lib/data/helper/SeriesDataSchema.js","../../vue/node_modules/echarts/lib/data/SeriesData.js","../../vue/node_modules/echarts/lib/data/helper/createDimensions.js","../../vue/node_modules/echarts/lib/model/referHelper.js","../../vue/node_modules/echarts/lib/data/helper/dataStackHelper.js","../../vue/node_modules/echarts/lib/chart/helper/createSeriesData.js","../../vue/node_modules/echarts/lib/scale/Scale.js","../../vue/node_modules/echarts/lib/data/OrdinalMeta.js","../../vue/node_modules/echarts/lib/scale/helper.js","../../vue/node_modules/echarts/lib/scale/Ordinal.js","../../vue/node_modules/echarts/lib/scale/Interval.js","../../vue/node_modules/echarts/lib/util/vendor.js","../../vue/node_modules/echarts/lib/layout/barGrid.js","../../vue/node_modules/echarts/lib/scale/Time.js","../../vue/node_modules/echarts/lib/scale/Log.js","../../vue/node_modules/echarts/lib/coord/scaleRawExtentInfo.js","../../vue/node_modules/echarts/lib/coord/axisHelper.js","../../vue/node_modules/echarts/lib/coord/axisModelCommonMixin.js","../../vue/node_modules/echarts/lib/extension.js","../../vue/node_modules/echarts/lib/coord/axisTickLabelBuilder.js","../../vue/node_modules/echarts/lib/coord/Axis.js","../../vue/node_modules/echarts/lib/label/labelGuideHelper.js","../../vue/node_modules/echarts/lib/label/labelLayoutHelper.js","../../vue/node_modules/echarts/lib/label/LabelManager.js","../../vue/node_modules/echarts/lib/label/installLabelLayout.js","../../vue/node_modules/echarts/lib/chart/line/LineSeries.js","../../vue/node_modules/echarts/lib/chart/helper/labelHelper.js","../../vue/node_modules/echarts/lib/chart/helper/Symbol.js","../../vue/node_modules/echarts/lib/chart/helper/SymbolDraw.js","../../vue/node_modules/echarts/lib/chart/line/helper.js","../../vue/node_modules/echarts/lib/chart/line/lineAnimationDiff.js","../../vue/node_modules/echarts/lib/chart/line/poly.js","../../vue/node_modules/echarts/lib/chart/helper/createClipPathFromCoordSys.js","../../vue/node_modules/echarts/lib/coord/CoordinateSystem.js","../../vue/node_modules/echarts/lib/chart/line/LineView.js","../../vue/node_modules/echarts/lib/layout/points.js","../../vue/node_modules/echarts/lib/processor/dataSample.js","../../vue/node_modules/echarts/lib/chart/line/install.js","../../vue/node_modules/echarts/lib/chart/bar/BaseBarSeries.js","../../vue/node_modules/echarts/lib/chart/bar/BarSeries.js","../../vue/node_modules/echarts/lib/util/shape/sausage.js","../../vue/node_modules/echarts/lib/label/sectorLabel.js","../../vue/node_modules/echarts/lib/chart/helper/sectorHelper.js","../../vue/node_modules/echarts/lib/chart/bar/BarView.js","../../vue/node_modules/echarts/lib/chart/bar/install.js","../../vue/node_modules/echarts/lib/chart/pie/pieLayout.js","../../vue/node_modules/echarts/lib/processor/dataFilter.js","../../vue/node_modules/echarts/lib/chart/pie/labelLayout.js","../../vue/node_modules/echarts/lib/chart/pie/PieView.js","../../vue/node_modules/echarts/lib/chart/helper/createSeriesDataSimply.js","../../vue/node_modules/echarts/lib/visual/LegendVisualProvider.js","../../vue/node_modules/echarts/lib/chart/pie/PieSeries.js","../../vue/node_modules/echarts/lib/processor/negativeDataFilter.js","../../vue/node_modules/echarts/lib/chart/pie/install.js","../../vue/node_modules/echarts/lib/coord/cartesian/GridModel.js","../../vue/node_modules/echarts/lib/coord/cartesian/AxisModel.js","../../vue/node_modules/echarts/lib/coord/axisDefault.js","../../vue/node_modules/echarts/lib/coord/axisCommonTypes.js","../../vue/node_modules/echarts/lib/coord/axisModelCreator.js","../../vue/node_modules/echarts/lib/coord/cartesian/Cartesian.js","../../vue/node_modules/echarts/lib/coord/cartesian/Cartesian2D.js","../../vue/node_modules/echarts/lib/coord/cartesian/Axis2D.js","../../vue/node_modules/echarts/lib/coord/cartesian/cartesianAxisHelper.js","../../vue/node_modules/echarts/lib/coord/axisAlignTicks.js","../../vue/node_modules/echarts/lib/coord/cartesian/Grid.js","../../vue/node_modules/echarts/lib/component/axis/AxisBuilder.js","../../vue/node_modules/echarts/lib/component/axisPointer/modelHelper.js","../../vue/node_modules/echarts/lib/component/axis/AxisView.js","../../vue/node_modules/echarts/lib/component/axis/axisSplitHelper.js","../../vue/node_modules/echarts/lib/component/axis/CartesianAxisView.js","../../vue/node_modules/echarts/lib/component/grid/installSimple.js","../../vue/node_modules/echarts/lib/chart/helper/LinePath.js","../../vue/node_modules/echarts/lib/chart/helper/Line.js","../../vue/node_modules/echarts/lib/chart/helper/LineDraw.js","../../vue/node_modules/echarts/lib/util/styleCompat.js","../../vue/node_modules/echarts/lib/animation/customGraphicTransition.js","../../vue/node_modules/echarts/lib/animation/customGraphicKeyframeAnimation.js","../../vue/node_modules/echarts/lib/component/axisPointer/BaseAxisPointer.js","../../vue/node_modules/echarts/lib/component/axisPointer/viewHelper.js","../../vue/node_modules/echarts/lib/component/axisPointer/CartesianAxisPointer.js","../../vue/node_modules/echarts/lib/component/axisPointer/AxisPointerModel.js","../../vue/node_modules/echarts/lib/component/axisPointer/globalListener.js","../../vue/node_modules/echarts/lib/component/axisPointer/AxisPointerView.js","../../vue/node_modules/echarts/lib/component/axisPointer/findPointFromSeries.js","../../vue/node_modules/echarts/lib/component/axisPointer/axisTrigger.js","../../vue/node_modules/echarts/lib/component/axisPointer/install.js","../../vue/node_modules/echarts/lib/component/grid/install.js","../../vue/node_modules/echarts/lib/component/graphic/GraphicModel.js","../../vue/node_modules/echarts/lib/component/graphic/GraphicView.js","../../vue/node_modules/echarts/lib/component/graphic/install.js","../../vue/node_modules/echarts/lib/component/helper/listComponent.js","../../vue/node_modules/echarts/lib/component/tooltip/TooltipModel.js","../../vue/node_modules/echarts/lib/component/tooltip/helper.js","../../vue/node_modules/echarts/lib/component/tooltip/TooltipHTMLContent.js","../../vue/node_modules/echarts/lib/component/tooltip/TooltipRichContent.js","../../vue/node_modules/echarts/lib/component/tooltip/TooltipView.js","../../vue/node_modules/echarts/lib/component/tooltip/install.js","../../vue/node_modules/echarts/lib/component/title/install.js","../../vue/node_modules/echarts/lib/component/marker/checkMarkerInSeries.js","../../vue/node_modules/echarts/lib/component/marker/MarkerModel.js","../../vue/node_modules/echarts/lib/component/marker/markerHelper.js","../../vue/node_modules/echarts/lib/component/marker/MarkerView.js","../../vue/node_modules/echarts/lib/component/marker/MarkLineModel.js","../../vue/node_modules/echarts/lib/component/marker/MarkLineView.js","../../vue/node_modules/echarts/lib/component/marker/installMarkLine.js","../../vue/node_modules/echarts/lib/component/legend/LegendModel.js","../../vue/node_modules/echarts/lib/component/legend/LegendView.js","../../vue/node_modules/echarts/lib/component/legend/legendFilter.js","../../vue/node_modules/echarts/lib/component/legend/legendAction.js","../../vue/node_modules/echarts/lib/component/legend/installLegendPlain.js","../../vue/node_modules/echarts/lib/component/legend/ScrollableLegendModel.js","../../vue/node_modules/echarts/lib/component/legend/ScrollableLegendView.js","../../vue/node_modules/echarts/lib/component/legend/scrollableLegendAction.js","../../vue/node_modules/echarts/lib/component/legend/installLegendScroll.js","../../vue/node_modules/echarts/lib/component/legend/install.js","../../vue/node_modules/zrender/lib/canvas/Layer.js","../../vue/node_modules/zrender/lib/canvas/Painter.js","../../vue/node_modules/echarts/lib/renderer/installCanvasRenderer.js","../../vue/node_modules/resize-detector/esm/index.js","../../vue/node_modules/vue-echarts/dist/index.esm.min.js","../../vue/src/components/wasabi/dataVisualization/WBarChart.vue","../../vue/src/composables/Utils.ts","../../vue/src/components/wasabi/RatingBlocks.vue","../../vue/node_modules/tinycolor2/cjs/tinycolor.js","../../vue/node_modules/tinygradient/browser.js","../../vue/src/composables/RatingColors.ts","../../vue/src/components/wasabi/dataVisualization/WCallouts.vue","../../vue/src/components/wasabi/dataVisualization/WContainer.vue","../../vue/src/components/wasabi/dataVisualization/WLegend.vue","../../vue/src/components/wasabi/inputs/WAutoSuggest.vue","../../vue/src/components/wasabi/inputs/WCheckbox.vue","../../vue/src/components/wasabi/inputs/WRadioBtn.vue","../../vue/src/components/wasabi/inputs/WRadioGroup.vue","../../vue/src/components/wasabi/inputs/WDropdown.vue","../../vue/src/components/wasabi/patterns/EmptyState.vue","../../vue/src/components/wasabi/patterns/ErrorState.vue","../../vue/src/components/wasabi/patterns/IconGradient.vue","../../vue/src/components/wasabi/patterns/IconQuestion.vue","../../vue/src/components/wasabi/inputs/WInputField.vue","../../vue/src/components/wasabi/inputs/WSwitch.vue","../../vue/src/components/wasabi/inputs/WDatePicker.vue","../../vue/src/components/wasabi/actions/WPagination.vue","../../vue/src/components/wasabi/actions/WTab.vue","../../vue/src/components/wasabi/actions/WPills.vue","../../vue/src/components/wasabi/dataVisualization/WHeatMap.vue","../../vue/src/composables/MathFunc.ts","../../vue/src/enum/AxisStrategy.ts","../../vue/src/components/wasabi/dataVisualization/WLineChart.vue","../../vue/src/components/wasabi/dataVisualization/WLoader.vue","../../vue/src/components/wasabi/dataVisualization/WTooltip.vue","../../vue/src/components/wasabi/dataVisualization/WMetricBadge.vue","../../vue/src/components/wasabi/dataVisualization/WMetricPill.vue","../../vue/src/components/wasabi/dataVisualization/WPieChart.vue","../../vue/src/components/wasabi/dataVisualization/WPopover.vue","../../vue/src/components/wasabi/dataVisualization/WProgressChart.vue","../../vue/src/components/wasabi/dataVisualization/WRatingsBlock.vue","../../vue/src/components/wasabi/dataVisualization/WRatingsStar.vue","../../vue/src/components/wasabi/dataVisualization/WProgressBar.vue","../../vue/src/components/wasabi/dataVisualization/WRatingsBar.vue","../../vue/src/components/wasabi/actions/WButton.vue","../../vue/src/composables/Actions.ts","../../vue/src/components/wasabi/contentDisplays/WModal.vue","../../vue/src/components/wasabi/contentDisplays/WTable.vue","../../vue/src/types/Anchor.ts","../../vue/src/components/wasabi/contentDisplays/WFlyout.vue","../../vue/src/components/wasabi/contentDisplays/WDrawer.vue","../../vue/node_modules/axios/lib/helpers/bind.js","../../vue/node_modules/axios/lib/utils.js","../../vue/node_modules/axios/lib/core/AxiosError.js","../../vue/node_modules/axios/lib/helpers/null.js","../../vue/node_modules/axios/lib/helpers/toFormData.js","../../vue/node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../../vue/node_modules/axios/lib/helpers/buildURL.js","../../vue/node_modules/axios/lib/core/InterceptorManager.js","../../vue/node_modules/axios/lib/defaults/transitional.js","../../vue/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../../vue/node_modules/axios/lib/platform/browser/classes/FormData.js","../../vue/node_modules/axios/lib/platform/browser/classes/Blob.js","../../vue/node_modules/axios/lib/platform/browser/index.js","../../vue/node_modules/axios/lib/helpers/toURLEncodedForm.js","../../vue/node_modules/axios/lib/helpers/formDataToJSON.js","../../vue/node_modules/axios/lib/defaults/index.js","../../vue/node_modules/axios/lib/helpers/parseHeaders.js","../../vue/node_modules/axios/lib/core/AxiosHeaders.js","../../vue/node_modules/axios/lib/core/transformData.js","../../vue/node_modules/axios/lib/cancel/isCancel.js","../../vue/node_modules/axios/lib/cancel/CanceledError.js","../../vue/node_modules/axios/lib/core/settle.js","../../vue/node_modules/axios/lib/helpers/cookies.js","../../vue/node_modules/axios/lib/helpers/isAbsoluteURL.js","../../vue/node_modules/axios/lib/helpers/combineURLs.js","../../vue/node_modules/axios/lib/core/buildFullPath.js","../../vue/node_modules/axios/lib/helpers/isURLSameOrigin.js","../../vue/node_modules/axios/lib/helpers/parseProtocol.js","../../vue/node_modules/axios/lib/helpers/speedometer.js","../../vue/node_modules/axios/lib/adapters/xhr.js","../../vue/node_modules/axios/lib/adapters/adapters.js","../../vue/node_modules/axios/lib/core/dispatchRequest.js","../../vue/node_modules/axios/lib/core/mergeConfig.js","../../vue/node_modules/axios/lib/env/data.js","../../vue/node_modules/axios/lib/helpers/validator.js","../../vue/node_modules/axios/lib/core/Axios.js","../../vue/node_modules/axios/lib/cancel/CancelToken.js","../../vue/node_modules/axios/lib/helpers/spread.js","../../vue/node_modules/axios/lib/helpers/isAxiosError.js","../../vue/node_modules/axios/lib/helpers/HttpStatusCode.js","../../vue/node_modules/axios/lib/axios.js","../../vue/src/http/v3.ts","../../vue/src/http/surveys.ts","../../vue/src/http/ie.ts","../../vue/src/http/legacy.ts","../../vue/src/api/Groups.ts","../../vue/src/api/Locations.ts","../../vue/src/api/SocialMedia/Providers.ts","../../vue/src/api/AccountSetup/Tags.ts","../../vue/src/models/SocialMedia.ts","../../vue/node_modules/luxon/src/errors.js","../../vue/node_modules/luxon/src/impl/formats.js","../../vue/node_modules/luxon/src/zone.js","../../vue/node_modules/luxon/src/zones/systemZone.js","../../vue/node_modules/luxon/src/zones/IANAZone.js","../../vue/node_modules/luxon/src/impl/locale.js","../../vue/node_modules/luxon/src/zones/fixedOffsetZone.js","../../vue/node_modules/luxon/src/zones/invalidZone.js","../../vue/node_modules/luxon/src/impl/zoneUtil.js","../../vue/node_modules/luxon/src/impl/digits.js","../../vue/node_modules/luxon/src/settings.js","../../vue/node_modules/luxon/src/impl/invalid.js","../../vue/node_modules/luxon/src/impl/conversions.js","../../vue/node_modules/luxon/src/impl/util.js","../../vue/node_modules/luxon/src/impl/english.js","../../vue/node_modules/luxon/src/impl/formatter.js","../../vue/node_modules/luxon/src/impl/regexParser.js","../../vue/node_modules/luxon/src/duration.js","../../vue/node_modules/luxon/src/interval.js","../../vue/node_modules/luxon/src/info.js","../../vue/node_modules/luxon/src/impl/diff.js","../../vue/node_modules/luxon/src/impl/tokenParser.js","../../vue/node_modules/luxon/src/datetime.js","../../vue/src/composables/Dates.ts","../../vue/src/api/Questionnaires.ts","../../vue/src/api/Legacy/UserFacade.ts","../../vue/src/api/User.ts","../../vue/node_modules/lodash-es/_freeGlobal.js","../../vue/node_modules/lodash-es/_root.js","../../vue/node_modules/lodash-es/_Symbol.js","../../vue/node_modules/lodash-es/_getRawTag.js","../../vue/node_modules/lodash-es/_objectToString.js","../../vue/node_modules/lodash-es/_baseGetTag.js","../../vue/node_modules/lodash-es/isObjectLike.js","../../vue/node_modules/lodash-es/isSymbol.js","../../vue/node_modules/lodash-es/_trimmedEndIndex.js","../../vue/node_modules/lodash-es/_baseTrim.js","../../vue/node_modules/lodash-es/isObject.js","../../vue/node_modules/lodash-es/toNumber.js","../../vue/node_modules/lodash-es/_baseClamp.js","../../vue/node_modules/lodash-es/clamp.js","../../vue/node_modules/lodash-es/now.js","../../vue/node_modules/lodash-es/debounce.js","../../vue/node_modules/lodash-es/throttle.js","../../vue/node_modules/custom-vue-scrollbar/dist/index.js","../../vue/src/components/FilterBarSections/FilterGroups.vue","../../vue/src/components/FilterBarSections/FilterLocations.vue","../../vue/src/components/FilterBarSections/FilterProviders.vue","../../vue/src/components/FilterBarSections/FilterDateRange.vue","../../vue/src/components/FilterBarSections/FilterRating.vue","../../vue/src/components/FilterBarSections/FilterResponseStatus.vue","../../vue/src/components/FilterBarSections/FilterTags.vue","../../vue/src/components/FilterBarSections/FilterQuestionnaires.vue","../../vue/src/components/FilterBarSections/FilterMentions.vue","../../vue/src/components/FilterBarSections/FilterMessages.vue","../../vue/src/enum/TattleDateRangeType.ts","../../vue/src/store/filter.ts","../../vue/src/composables/FilterBar.ts","../../vue/src/components/FilterBar.vue","../../vue/src/components/wasabi/feedback/WBreadcrumb.vue","../../vue/src/views/item-level-feedback/EstimatedRevenue.vue","../../vue/src/views/item-level-feedback/OverallSatisfactionRate.vue","../../vue/src/views/item-level-feedback/ChannelsDetails.vue","../../vue/src/views/item-level-feedback/IncidentInvolvement.vue","../../vue/src/views/item-level-feedback/OperationalCategories.vue","../../vue/src/api/Metrics.ts","../../vue/src/api/ProductCatalog.ts","../../vue/src/views/item-level-feedback/ItemLevelDetails.vue","../../vue/src/models/Automation/Enums/AutomationPageType.ts","../../vue/src/store/Automation/api.ts","../../vue/src/api/Automation.ts","../../vue/src/models/Automation/Enums/AutomationType.ts","../../vue/src/models/Automation/AutomationBase.ts","../../vue/src/models/Automation/Enums/FrontEndAutomationType.ts","../../vue/src/models/Automation/Enums/TagNotificationSourceType.ts","../../vue/src/models/Automation/TagNotification.ts","../../vue/src/composables/Automation/Constants.ts","../../vue/src/composables/Automation/MappingExtensions.ts","../../vue/src/composables/Automation/Api.ts","../../vue/src/views/automation/modules/AutomationTitleBar.vue","../../vue/src/enum/StepState.ts","../../vue/src/enum/StepVariant.ts","../../vue/src/composables/Automation/Steps/createStep.ts","../../vue/src/views/automation/modules/AutomationWizardStep.vue","../../vue/src/composables/Automation/Data/StepDataFormatter.ts","../../vue/src/models/AddStarRating.ts","../../vue/src/views/automation/modules/AddEvent.vue","../../vue/src/views/automation/modules/events/AddStarRating.vue","../../vue/src/views/automation/modules/events/AddTags.vue","../../vue/node_modules/@vuelidate/core/dist/index.mjs","../../vue/node_modules/@vuelidate/validators/dist/index.mjs","../../vue/src/views/automation/modules/events/AddUsers.vue","../../vue/src/composables/Automation/Steps/ResponseIncidentTagAutomationSteps.ts","../../vue/src/views/automation/modules/events/AddProviders.vue","../../vue/src/composables/Automation/Steps/OnlineReviewTagAutomationSteps.ts","../../vue/src/views/automation/modules/CreateAutomation.vue","../../vue/src/composables/Automation/Steps/NewAutomationSteps.ts","../../vue/src/composables/Automation/WizardStep.ts","../../vue/src/views/automation/modules/AutomationWizardComponent.vue","../../vue/src/composables/MultiStep.ts","../../vue/src/composables/Automation/Data/automationUpsertMapper.ts","../../vue/node_modules/lodash/lodash.js","../../vue/src/composables/Automation/Wizard.ts","../../vue/src/components/wasabi/feedback/WToastNotification.vue","../../vue/src/views/automation/modules/AutomationWizardWrapper.vue","../../vue/src/views/automation/modules/actions/DeleteAutomation.vue","../../vue/src/views/automation/modules/actions/ToggleAutomation.vue","../../vue/src/composables/Permissions.ts","../../vue/src/views/automation/AutomationList.vue","../../vue/src/views/blocks/pills/Beta.vue","../../vue/src/views/automation/Automations.vue","../../vue/src/composables/CalloutText.ts","../../vue/src/views/online-reviews/modules/online-review-stats/Overview.vue","../../vue/src/views/online-reviews/modules/ReviewSiteSummary.vue","../../vue/src/views/online-reviews/modules/CompetitorRatings.vue","../../vue/src/views/online-reviews/modules/online-review-stats/OverallRating.vue","../../vue/src/views/online-reviews/modules/RatingsSummary.vue","../../vue/src/api/SocialMedia/Reviews.ts","../../vue/src/api/SocialMedia/Metrics.ts","../../vue/src/composables/OnlineReviews/FilterBar.ts","../../vue/src/views/online-reviews/modules/TopReviewTags.vue","../../vue/src/views/online-reviews/OnlineReviewStats.vue","../../vue/src/views/online-reviews/modules/online-review-list/Overview.vue","../../vue/src/components/wasabi/dataVisualization/WPopover2.vue","../../vue/src/views/blocks/EditTagsModal.vue","../../vue/src/api/SocialMedia/Templates.ts","../../vue/src/composables/OnlineReviews/Responses.ts","../../vue/src/composables/OnlineReviews/Reviews.ts","../../vue/src/views/online-reviews/modules/online-review-list/Reviews.vue","../../vue/src/views/online-reviews/modules/online-review-list/BulkReply.vue","../../vue/src/composables/Pagination.ts","../../vue/src/models/Templates.ts","../../vue/src/composables/Alerts.ts","../../vue/src/views/online-reviews/OnlineReviewList.vue","../../vue/src/composables/OnlineReviews/StarRatings.ts","../../vue/src/composables/ValidationUtils.ts","../../vue/src/views/account/online-reviews/modules/TemplateActions/CreateTemplate.vue","../../vue/src/views/account/online-reviews/modules/TemplateActions/EditTemplate.vue","../../vue/src/views/account/online-reviews/modules/TemplateActions/DeleteTemplate.vue","../../vue/src/views/account/online-reviews/OnlineReviewTemplates.vue","../../vue/src/api/AccountSetup/EmailSenderAPI.ts","../../vue/src/api/AccountSetup/Email.ts","../../vue/src/views/email-configuration/EmailConfiguration.vue","../../vue/src/views/tags/TagManagement.vue","../../vue/src/views/ai-coach/components/IconWithPopover.vue","../../vue/src/api/AICoach/AiCoachEntityAccess.ts","../../vue/src/api/AICoach/AiCoachPreview.ts","../../vue/src/views/ai-coach/stores/aiCoachPreview.ts","../../vue/src/api/Objectives.ts","../../vue/src/views/ai-coach/stores/objectivesSetupProgress.ts","../../vue/src/views/ai-coach/stores/objectives.ts","../../vue/src/views/ai-coach/components/objectives-setup/ActionItemSettings.vue","../../vue/src/views/ai-coach/components/objectives-setup/ActionItemPreview.vue","../../vue/src/api/AICoach/AiCoachBoundary.ts","../../vue/src/views/ai-coach/stores/aiCoachBoundaries.ts","../../vue/src/api/Legacy/QuestionSnapshots.ts","../../vue/src/views/ai-coach/components/objectives-setup/CreateAiBoundaries.vue","../../vue/src/views/ai-coach/components/objectives-setup/ManageAiBoundaries.vue","../../vue/src/views/ai-coach/components/BetaPill.vue","../../vue/src/api/MerchantsPreferences.ts","../../vue/src/views/ai-coach/stores/aiCoachFeatureFlag.ts","../../vue/src/views/ai-coach/AICoach.vue","../../vue/src/models/KnowledgeBase/KnowledgeBaseDocumentStatus.ts","../../vue/src/api/KnowledgeBase/KnowledgeBaseDocumentManagement.ts","../../vue/src/views/knowledge-base/components/UploadKnowledgeBaseDocumentModal.vue","../../vue/src/views/knowledge-base/components/KnowledgeBaseTable.vue","../../vue/src/views/knowledge-base/KnowledgeBase.vue","../../vue/src/api/Incidents.ts","../../vue/src/api/Legacy/SurveyFacade.ts","../../vue/src/api/Surveys.ts","../../vue/src/api/Customers.ts","../../vue/src/enum/IncidentStage.ts","../../vue/assets/emojis/partyingFace.svg","../../vue/src/views/incidents/ShortTimeline.vue","../../vue/assets/emojis/starStruck.svg","../../vue/assets/emojis/expressionlessFace.svg","../../vue/assets/emojis/moneyMouthFace.svg","../../vue/node_modules/dompurify/dist/purify.es.mjs","../../vue/src/views/case-management/RecoveredDetails.vue","../../vue/src/views/case-management/StageThreadInteraction.vue","../../vue/src/api/Timeline.ts","../../vue/src/views/case-management/ReviewedList.vue","../../vue/src/views/case-management/StageThread.vue","../../vue/src/views/case-management/TimeLine.vue","../../vue/src/views/incidents/panels/FeedbackDetailsContent.vue","../../vue/src/views/incidents/panels/FeedbackDetails.vue","../../vue/src/views/incidents/panels/OrderDetailsContent.vue","../../vue/src/views/incidents/panels/OrderDetails.vue","../../vue/src/api/Legacy/TransactionFacade.ts","../../vue/src/api/Transactions.ts","../../vue/src/api/Legacy/RewardFacade.ts","../../vue/src/api/Rewards.ts","../../vue/src/views/incidents/panels/RewardsDetailsContent.vue","../../vue/src/views/incidents/panels/RewardsDetails.vue","../../vue/src/views/case-management/ThreadDrawer.vue","../../vue/src/views/incidents/panels/CustomerDetails.vue","../../vue/src/api/Legacy/AnswersFacade.ts","../../vue/src/api/Answers.ts","../../vue/src/api/Legacy/DataOperationalCategoriesFacade.ts","../../vue/src/api/data/OperationalCategories.ts","../../vue/src/api/Legacy/DataQuestionsFacade.ts","../../vue/src/api/data/Questions.ts","../../vue/node_modules/xlsx/xlsx.mjs","../../vue/src/composables/Files.ts","../../vue/src/views/incidents/panels/AdditionalQuestionsModal.vue","../../vue/src/views/incidents/panels/AdditionalQuestionsDetails.vue","../../vue/src/views/incidents/panels/OperationalCategoriesDetails.vue","../../vue/src/api/Legacy/MessageLogsFacade.ts","../../vue/src/api/MessageLogs.ts","../../vue/src/api/Legacy/UserMerchantsLogsFacade.ts","../../vue/src/api/UserMerchantsLogs.ts","../../vue/src/composables/CustomerReplyParser.ts","../../vue/src/views/responses/components/ReplyToCustomerModal.vue","../../vue/src/api/Legacy/MessageTemplatesFacade.ts","../../vue/src/api/MessageTemplates.ts","../../vue/src/views/responses/components/HandledExternallyModal.vue","../../vue/src/views/responses/components/ReplyGuest.vue","../../vue/src/api/AccountSetup/DefaultLinks.ts","../../vue/src/views/incidents/panels/PreviousFeedbackContent.vue","../../vue/src/views/incidents/panels/PreviousFeedback.vue","../../vue/src/store/incidentNav.ts","../../vue/src/views/incidents/IncidentsDetails.vue","../../vue/src/views/account/automation/AutomationManagement.vue","../../vue/src/views/account/default-links/DefaultLinks.vue","../../vue/src/views/blocks/SurveyTags.vue","../../vue/src/views/blocks/PublicReviewSettings.vue","../../vue/src/views/blocks/QuestionnaireStatsOverview.vue","../../vue/src/components/AngularMdiIcon.vue","../../vue/src/modals/EditObjective.vue","../../vue/src/modals/RejectObjective.vue","../../vue/src/views/incidents/IncidentsList.vue","../../vue/src/views/responses/ResponseDetails.vue","../../vue/src/components/main.ts"],"sourcesContent":["import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","export function getDevtoolsGlobalHook() {\n return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;\n}\nexport function getTarget() {\n // @ts-ignore\n return (typeof navigator !== 'undefined' && typeof window !== 'undefined')\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n}\nexport const isProxyAvailable = typeof Proxy === 'function';\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","/*!\n * pinia v2.1.6\n * (c) 2023 Eduardo San Martin Morote\n * @license MIT\n */\nimport { hasInjectionContext, inject, toRaw, watch, unref, markRaw, effectScope, ref, isVue2, isRef, isReactive, set, getCurrentScope, onScopeDispose, getCurrentInstance, reactive, toRef, del, nextTick, computed, toRefs } from 'vue-demi';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * setActivePinia must be called to handle SSR at the top of functions like\n * `fetch`, `setup`, `serverPrefetch` and others\n */\nlet activePinia;\n/**\n * Sets or unsets the active pinia. Used in SSR and internally when calling\n * actions and getters\n *\n * @param pinia - Pinia instance\n */\n// @ts-expect-error: cannot constrain the type of the return\nconst setActivePinia = (pinia) => (activePinia = pinia);\n/**\n * Get the currently active pinia if there is any.\n */\nconst getActivePinia = () => (hasInjectionContext() && inject(piniaSymbol)) || activePinia;\nconst piniaSymbol = ((process.env.NODE_ENV !== 'production') ? Symbol('pinia') : /* istanbul ignore next */ Symbol());\n\nfunction isPlainObject(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\no) {\n return (o &&\n typeof o === 'object' &&\n Object.prototype.toString.call(o) === '[object Object]' &&\n typeof o.toJSON !== 'function');\n}\n// type DeepReadonly = { readonly [P in keyof T]: DeepReadonly }\n// TODO: can we change these to numbers?\n/**\n * Possible types for SubscriptionCallback\n */\nvar MutationType;\n(function (MutationType) {\n /**\n * Direct mutation of the state:\n *\n * - `store.name = 'new name'`\n * - `store.$state.name = 'new name'`\n * - `store.list.push('new item')`\n */\n MutationType[\"direct\"] = \"direct\";\n /**\n * Mutated the state with `$patch` and an object\n *\n * - `store.$patch({ name: 'newName' })`\n */\n MutationType[\"patchObject\"] = \"patch object\";\n /**\n * Mutated the state with `$patch` and a function\n *\n * - `store.$patch(state => state.name = 'newName')`\n */\n MutationType[\"patchFunction\"] = \"patch function\";\n // maybe reset? for $state = {} and $reset\n})(MutationType || (MutationType = {}));\n\nconst IS_CLIENT = typeof window !== 'undefined';\n/**\n * Should we add the devtools plugins.\n * - only if dev mode or forced through the prod devtools flag\n * - not in test\n * - only if window exists (could change in the future)\n */\nconst USE_DEVTOOLS = ((process.env.NODE_ENV !== 'production') || (typeof __VUE_PROD_DEVTOOLS__ !== 'undefined' && __VUE_PROD_DEVTOOLS__)) && !(process.env.NODE_ENV === 'test') && IS_CLIENT;\n\n/*\n * FileSaver.js A saveAs() FileSaver implementation.\n *\n * Originally by Eli Grey, adapted as an ESM module by Eduardo San Martin\n * Morote.\n *\n * License : MIT\n */\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nconst _global = /*#__PURE__*/ (() => typeof window === 'object' && window.window === window\n ? window\n : typeof self === 'object' && self.self === self\n ? self\n : typeof global === 'object' && global.global === global\n ? global\n : typeof globalThis === 'object'\n ? globalThis\n : { HTMLElement: null })();\nfunction bom(blob, { autoBom = false } = {}) {\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\nfunction download(url, name, opts) {\n const xhr = new XMLHttpRequest();\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.onload = function () {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function () {\n console.error('could not download file');\n };\n xhr.send();\n}\nfunction corsEnabled(url) {\n const xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false);\n try {\n xhr.send();\n }\n catch (e) { }\n return xhr.status >= 200 && xhr.status <= 299;\n}\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent('click'));\n }\n catch (e) {\n const evt = document.createEvent('MouseEvents');\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);\n node.dispatchEvent(evt);\n }\n}\nconst _navigator = \n typeof navigator === 'object' ? navigator : { userAgent: '' };\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nconst isMacOSWebView = /*#__PURE__*/ (() => /Macintosh/.test(_navigator.userAgent) &&\n /AppleWebKit/.test(_navigator.userAgent) &&\n !/Safari/.test(_navigator.userAgent))();\nconst saveAs = !IS_CLIENT\n ? () => { } // noop\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView or mini program\n typeof HTMLAnchorElement !== 'undefined' &&\n 'download' in HTMLAnchorElement.prototype &&\n !isMacOSWebView\n ? downloadSaveAs\n : // Use msSaveOrOpenBlob as a second approach\n 'msSaveOrOpenBlob' in _navigator\n ? msSaveAs\n : // Fallback to using FileReader and a popup\n fileSaverSaveAs;\nfunction downloadSaveAs(blob, name = 'download', opts) {\n const a = document.createElement('a');\n a.download = name;\n a.rel = 'noopener'; // tabnabbing\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n if (corsEnabled(a.href)) {\n download(blob, name, opts);\n }\n else {\n a.target = '_blank';\n click(a);\n }\n }\n else {\n click(a);\n }\n }\n else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function () {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function () {\n click(a);\n }, 0);\n }\n}\nfunction msSaveAs(blob, name = 'download', opts) {\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n }\n else {\n const a = document.createElement('a');\n a.href = blob;\n a.target = '_blank';\n setTimeout(function () {\n click(a);\n });\n }\n }\n else {\n // @ts-ignore: works on windows\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n}\nfunction fileSaverSaveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank');\n if (popup) {\n popup.document.title = popup.document.body.innerText = 'downloading...';\n }\n if (typeof blob === 'string')\n return download(blob, name, opts);\n const force = blob.type === 'application/octet-stream';\n const isSafari = /constructor/i.test(String(_global.HTMLElement)) || 'safari' in _global;\n const isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) &&\n typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n const reader = new FileReader();\n reader.onloadend = function () {\n let url = reader.result;\n if (typeof url !== 'string') {\n popup = null;\n throw new Error('Wrong reader.result type');\n }\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, 'data:attachment/file;');\n if (popup) {\n popup.location.href = url;\n }\n else {\n location.assign(url);\n }\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n }\n else {\n const url = URL.createObjectURL(blob);\n if (popup)\n popup.location.assign(url);\n else\n location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function () {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n}\n\n/**\n * Shows a toast or console.log\n *\n * @param message - message to log\n * @param type - different color of the tooltip\n */\nfunction toastMessage(message, type) {\n const piniaMessage = '🍍 ' + message;\n if (typeof __VUE_DEVTOOLS_TOAST__ === 'function') {\n // No longer available :(\n __VUE_DEVTOOLS_TOAST__(piniaMessage, type);\n }\n else if (type === 'error') {\n console.error(piniaMessage);\n }\n else if (type === 'warn') {\n console.warn(piniaMessage);\n }\n else {\n console.log(piniaMessage);\n }\n}\nfunction isPinia(o) {\n return '_a' in o && 'install' in o;\n}\n\n/**\n * This file contain devtools actions, they are not Pinia actions.\n */\n// ---\nfunction checkClipboardAccess() {\n if (!('clipboard' in navigator)) {\n toastMessage(`Your browser doesn't support the Clipboard API`, 'error');\n return true;\n }\n}\nfunction checkNotFocusedError(error) {\n if (error instanceof Error &&\n error.message.toLowerCase().includes('document is not focused')) {\n toastMessage('You need to activate the \"Emulate a focused page\" setting in the \"Rendering\" panel of devtools.', 'warn');\n return true;\n }\n return false;\n}\nasync function actionGlobalCopyState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n await navigator.clipboard.writeText(JSON.stringify(pinia.state.value));\n toastMessage('Global state copied to clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to serialize the state. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalPasteState(pinia) {\n if (checkClipboardAccess())\n return;\n try {\n loadStoresState(pinia, JSON.parse(await navigator.clipboard.readText()));\n toastMessage('Global state pasted from clipboard.');\n }\n catch (error) {\n if (checkNotFocusedError(error))\n return;\n toastMessage(`Failed to deserialize the state from clipboard. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nasync function actionGlobalSaveState(pinia) {\n try {\n saveAs(new Blob([JSON.stringify(pinia.state.value)], {\n type: 'text/plain;charset=utf-8',\n }), 'pinia-state.json');\n }\n catch (error) {\n toastMessage(`Failed to export the state as JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nlet fileInput;\nfunction getFileOpener() {\n if (!fileInput) {\n fileInput = document.createElement('input');\n fileInput.type = 'file';\n fileInput.accept = '.json';\n }\n function openFile() {\n return new Promise((resolve, reject) => {\n fileInput.onchange = async () => {\n const files = fileInput.files;\n if (!files)\n return resolve(null);\n const file = files.item(0);\n if (!file)\n return resolve(null);\n return resolve({ text: await file.text(), file });\n };\n // @ts-ignore: TODO: changed from 4.3 to 4.4\n fileInput.oncancel = () => resolve(null);\n fileInput.onerror = reject;\n fileInput.click();\n });\n }\n return openFile;\n}\nasync function actionGlobalOpenStateFile(pinia) {\n try {\n const open = getFileOpener();\n const result = await open();\n if (!result)\n return;\n const { text, file } = result;\n loadStoresState(pinia, JSON.parse(text));\n toastMessage(`Global state imported from \"${file.name}\".`);\n }\n catch (error) {\n toastMessage(`Failed to import the state from JSON. Check the console for more details.`, 'error');\n console.error(error);\n }\n}\nfunction loadStoresState(pinia, state) {\n for (const key in state) {\n const storeState = pinia.state.value[key];\n if (storeState) {\n Object.assign(storeState, state[key]);\n }\n }\n}\n\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\nconst PINIA_ROOT_LABEL = '🍍 Pinia (root)';\nconst PINIA_ROOT_ID = '_root';\nfunction formatStoreForInspectorTree(store) {\n return isPinia(store)\n ? {\n id: PINIA_ROOT_ID,\n label: PINIA_ROOT_LABEL,\n }\n : {\n id: store.$id,\n label: store.$id,\n };\n}\nfunction formatStoreForInspectorState(store) {\n if (isPinia(store)) {\n const storeNames = Array.from(store._s.keys());\n const storeMap = store._s;\n const state = {\n state: storeNames.map((storeId) => ({\n editable: true,\n key: storeId,\n value: store.state.value[storeId],\n })),\n getters: storeNames\n .filter((id) => storeMap.get(id)._getters)\n .map((id) => {\n const store = storeMap.get(id);\n return {\n editable: false,\n key: id,\n value: store._getters.reduce((getters, key) => {\n getters[key] = store[key];\n return getters;\n }, {}),\n };\n }),\n };\n return state;\n }\n const state = {\n state: Object.keys(store.$state).map((key) => ({\n editable: true,\n key,\n value: store.$state[key],\n })),\n };\n // avoid adding empty getters\n if (store._getters && store._getters.length) {\n state.getters = store._getters.map((getterName) => ({\n editable: false,\n key: getterName,\n value: store[getterName],\n }));\n }\n if (store._customProperties.size) {\n state.customProperties = Array.from(store._customProperties).map((key) => ({\n editable: true,\n key,\n value: store[key],\n }));\n }\n return state;\n}\nfunction formatEventData(events) {\n if (!events)\n return {};\n if (Array.isArray(events)) {\n // TODO: handle add and delete for arrays and objects\n return events.reduce((data, event) => {\n data.keys.push(event.key);\n data.operations.push(event.type);\n data.oldValue[event.key] = event.oldValue;\n data.newValue[event.key] = event.newValue;\n return data;\n }, {\n oldValue: {},\n keys: [],\n operations: [],\n newValue: {},\n });\n }\n else {\n return {\n operation: formatDisplay(events.type),\n key: formatDisplay(events.key),\n oldValue: events.oldValue,\n newValue: events.newValue,\n };\n }\n}\nfunction formatMutationType(type) {\n switch (type) {\n case MutationType.direct:\n return 'mutation';\n case MutationType.patchFunction:\n return '$patch';\n case MutationType.patchObject:\n return '$patch';\n default:\n return 'unknown';\n }\n}\n\n// timeline can be paused when directly changing the state\nlet isTimelineActive = true;\nconst componentStateTypes = [];\nconst MUTATIONS_LAYER_ID = 'pinia:mutations';\nconst INSPECTOR_ID = 'pinia';\nconst { assign: assign$1 } = Object;\n/**\n * Gets the displayed name of a store in devtools\n *\n * @param id - id of the store\n * @returns a formatted string\n */\nconst getStoreType = (id) => '🍍 ' + id;\n/**\n * Add the pinia plugin without any store. Allows displaying a Pinia plugin tab\n * as soon as it is added to the application.\n *\n * @param app - Vue application\n * @param pinia - pinia instance\n */\nfunction registerPiniaDevtools(app, pinia) {\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n }, (api) => {\n if (typeof api.now !== 'function') {\n toastMessage('You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: `Pinia 🍍`,\n color: 0xe5df88,\n });\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Pinia 🍍',\n icon: 'storage',\n treeFilterPlaceholder: 'Search stores',\n actions: [\n {\n icon: 'content_copy',\n action: () => {\n actionGlobalCopyState(pinia);\n },\n tooltip: 'Serialize and copy the state',\n },\n {\n icon: 'content_paste',\n action: async () => {\n await actionGlobalPasteState(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Replace the state with the content of your clipboard',\n },\n {\n icon: 'save',\n action: () => {\n actionGlobalSaveState(pinia);\n },\n tooltip: 'Save the state as a JSON file',\n },\n {\n icon: 'folder_open',\n action: async () => {\n await actionGlobalOpenStateFile(pinia);\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n },\n tooltip: 'Import the state from a JSON file',\n },\n ],\n nodeActions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state (with \"$reset\")',\n action: (nodeId) => {\n const store = pinia._s.get(nodeId);\n if (!store) {\n toastMessage(`Cannot reset \"${nodeId}\" store because it wasn't found.`, 'warn');\n }\n else if (typeof store.$reset !== 'function') {\n toastMessage(`Cannot reset \"${nodeId}\" store because it doesn't have a \"$reset\" method implemented.`, 'warn');\n }\n else {\n store.$reset();\n toastMessage(`Store \"${nodeId}\" reset.`);\n }\n },\n },\n ],\n });\n api.on.inspectComponent((payload, ctx) => {\n const proxy = (payload.componentInstance &&\n payload.componentInstance.proxy);\n if (proxy && proxy._pStores) {\n const piniaStores = payload.componentInstance.proxy._pStores;\n Object.values(piniaStores).forEach((store) => {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'state',\n editable: true,\n value: store._isOptionsAPI\n ? {\n _custom: {\n value: toRaw(store.$state),\n actions: [\n {\n icon: 'restore',\n tooltip: 'Reset the state of this store',\n action: () => store.$reset(),\n },\n ],\n },\n }\n : // NOTE: workaround to unwrap transferred refs\n Object.keys(store.$state).reduce((state, key) => {\n state[key] = store.$state[key];\n return state;\n }, {}),\n });\n if (store._getters && store._getters.length) {\n payload.instanceData.state.push({\n type: getStoreType(store.$id),\n key: 'getters',\n editable: false,\n value: store._getters.reduce((getters, key) => {\n try {\n getters[key] = store[key];\n }\n catch (error) {\n // @ts-expect-error: we just want to show it in devtools\n getters[key] = error;\n }\n return getters;\n }, {}),\n });\n }\n });\n }\n });\n api.on.getInspectorTree((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n let stores = [pinia];\n stores = stores.concat(Array.from(pinia._s.values()));\n payload.rootNodes = (payload.filter\n ? stores.filter((store) => '$id' in store\n ? store.$id\n .toLowerCase()\n .includes(payload.filter.toLowerCase())\n : PINIA_ROOT_LABEL.toLowerCase().includes(payload.filter.toLowerCase()))\n : stores).map(formatStoreForInspectorTree);\n }\n });\n api.on.getInspectorState((payload) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n // this could be the selected store restored for a different project\n // so it's better not to say anything here\n return;\n }\n if (inspectedStore) {\n payload.state = formatStoreForInspectorState(inspectedStore);\n }\n }\n });\n api.on.editInspectorState((payload, ctx) => {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n const inspectedStore = payload.nodeId === PINIA_ROOT_ID\n ? pinia\n : pinia._s.get(payload.nodeId);\n if (!inspectedStore) {\n return toastMessage(`store \"${payload.nodeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (!isPinia(inspectedStore)) {\n // access only the state\n if (path.length !== 1 ||\n !inspectedStore._customProperties.has(path[0]) ||\n path[0] in inspectedStore.$state) {\n path.unshift('$state');\n }\n }\n else {\n // Root access, we can omit the `.value` because the devtools API does it for us\n path.unshift('state');\n }\n isTimelineActive = false;\n payload.set(inspectedStore, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n api.on.editComponentState((payload) => {\n if (payload.type.startsWith('🍍')) {\n const storeId = payload.type.replace(/^🍍\\s*/, '');\n const store = pinia._s.get(storeId);\n if (!store) {\n return toastMessage(`store \"${storeId}\" not found`, 'error');\n }\n const { path } = payload;\n if (path[0] !== 'state') {\n return toastMessage(`Invalid path for store \"${storeId}\":\\n${path}\\nOnly state can be modified.`);\n }\n // rewrite the first entry to be able to directly set the state as\n // well as any other path\n path[0] = '$state';\n isTimelineActive = false;\n payload.set(store, path, payload.state.value);\n isTimelineActive = true;\n }\n });\n });\n}\nfunction addStoreToDevtools(app, store) {\n if (!componentStateTypes.includes(getStoreType(store.$id))) {\n componentStateTypes.push(getStoreType(store.$id));\n }\n setupDevtoolsPlugin({\n id: 'dev.esm.pinia',\n label: 'Pinia 🍍',\n logo: 'https://pinia.vuejs.org/logo.svg',\n packageName: 'pinia',\n homepage: 'https://pinia.vuejs.org',\n componentStateTypes,\n app,\n settings: {\n logStoreChanges: {\n label: 'Notify about new/deleted stores',\n type: 'boolean',\n defaultValue: true,\n },\n // useEmojis: {\n // label: 'Use emojis in messages ⚡️',\n // type: 'boolean',\n // defaultValue: true,\n // },\n },\n }, (api) => {\n // gracefully handle errors\n const now = typeof api.now === 'function' ? api.now.bind(api) : Date.now;\n store.$onAction(({ after, onError, name, args }) => {\n const groupId = runningActionId++;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛫 ' + name,\n subtitle: 'start',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n },\n groupId,\n },\n });\n after((result) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🛬 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n result,\n },\n groupId,\n },\n });\n });\n onError((error) => {\n activeAction = undefined;\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n logType: 'error',\n title: '💥 ' + name,\n subtitle: 'end',\n data: {\n store: formatDisplay(store.$id),\n action: formatDisplay(name),\n args,\n error,\n },\n groupId,\n },\n });\n });\n }, true);\n store._customProperties.forEach((name) => {\n watch(() => unref(store[name]), (newValue, oldValue) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (isTimelineActive) {\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: 'Change',\n subtitle: name,\n data: {\n newValue,\n oldValue,\n },\n groupId: activeAction,\n },\n });\n }\n }, { deep: true });\n });\n store.$subscribe(({ events, type }, state) => {\n api.notifyComponentUpdate();\n api.sendInspectorState(INSPECTOR_ID);\n if (!isTimelineActive)\n return;\n // rootStore.state[store.id] = state\n const eventData = {\n time: now(),\n title: formatMutationType(type),\n data: assign$1({ store: formatDisplay(store.$id) }, formatEventData(events)),\n groupId: activeAction,\n };\n if (type === MutationType.patchFunction) {\n eventData.subtitle = '⤵️';\n }\n else if (type === MutationType.patchObject) {\n eventData.subtitle = '🧩';\n }\n else if (events && !Array.isArray(events)) {\n eventData.subtitle = events.type;\n }\n if (events) {\n eventData.data['rawEvent(s)'] = {\n _custom: {\n display: 'DebuggerEvent',\n type: 'object',\n tooltip: 'raw DebuggerEvent[]',\n value: events,\n },\n };\n }\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: eventData,\n });\n }, { detached: true, flush: 'sync' });\n const hotUpdate = store._hotUpdate;\n store._hotUpdate = markRaw((newStore) => {\n hotUpdate(newStore);\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: now(),\n title: '🔥 ' + store.$id,\n subtitle: 'HMR update',\n data: {\n store: formatDisplay(store.$id),\n info: formatDisplay(`HMR update`),\n },\n },\n });\n // update the devtools too\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n });\n const { $dispose } = store;\n store.$dispose = () => {\n $dispose();\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`Disposed \"${store.$id}\" store 🗑`);\n };\n // trigger an update so it can display new registered stores\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n api.getSettings().logStoreChanges &&\n toastMessage(`\"${store.$id}\" store installed 🆕`);\n });\n}\nlet runningActionId = 0;\nlet activeAction;\n/**\n * Patches a store to enable action grouping in devtools by wrapping the store with a Proxy that is passed as the\n * context of all actions, allowing us to set `runningAction` on each access and effectively associating any state\n * mutation to the action.\n *\n * @param store - store to patch\n * @param actionNames - list of actionst to patch\n */\nfunction patchActionForGrouping(store, actionNames, wrapWithProxy) {\n // original actions of the store as they are given by pinia. We are going to override them\n const actions = actionNames.reduce((storeActions, actionName) => {\n // use toRaw to avoid tracking #541\n storeActions[actionName] = toRaw(store)[actionName];\n return storeActions;\n }, {});\n for (const actionName in actions) {\n store[actionName] = function () {\n // the running action id is incremented in a before action hook\n const _actionId = runningActionId;\n const trackedStore = wrapWithProxy\n ? new Proxy(store, {\n get(...args) {\n activeAction = _actionId;\n return Reflect.get(...args);\n },\n set(...args) {\n activeAction = _actionId;\n return Reflect.set(...args);\n },\n })\n : store;\n // For Setup Stores we need https://github.com/tc39/proposal-async-context\n activeAction = _actionId;\n const retValue = actions[actionName].apply(trackedStore, arguments);\n // this is safer as async actions in Setup Stores would associate mutations done outside of the action\n activeAction = undefined;\n return retValue;\n };\n }\n}\n/**\n * pinia.use(devtoolsPlugin)\n */\nfunction devtoolsPlugin({ app, store, options }) {\n // HMR module\n if (store.$id.startsWith('__hot:')) {\n return;\n }\n // detect option api vs setup api\n store._isOptionsAPI = !!options.state;\n patchActionForGrouping(store, Object.keys(options.actions), store._isOptionsAPI);\n // Upgrade the HMR to also update the new actions\n const originalHotUpdate = store._hotUpdate;\n toRaw(store)._hotUpdate = function (newStore) {\n originalHotUpdate.apply(this, arguments);\n patchActionForGrouping(store, Object.keys(newStore._hmrPayload.actions), !!store._isOptionsAPI);\n };\n addStoreToDevtools(app, \n // FIXME: is there a way to allow the assignment from Store to StoreGeneric?\n store);\n}\n\n/**\n * Creates a Pinia instance to be used by the application\n */\nfunction createPinia() {\n const scope = effectScope(true);\n // NOTE: here we could check the window object for a state and directly set it\n // if there is anything like it with Vue 3 SSR\n const state = scope.run(() => ref({}));\n let _p = [];\n // plugins added before calling app.use(pinia)\n let toBeInstalled = [];\n const pinia = markRaw({\n install(app) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n if (!isVue2) {\n pinia._a = app;\n app.provide(piniaSymbol, pinia);\n app.config.globalProperties.$pinia = pinia;\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(app, pinia);\n }\n toBeInstalled.forEach((plugin) => _p.push(plugin));\n toBeInstalled = [];\n }\n },\n use(plugin) {\n if (!this._a && !isVue2) {\n toBeInstalled.push(plugin);\n }\n else {\n _p.push(plugin);\n }\n return this;\n },\n _p,\n // it's actually undefined here\n // @ts-expect-error\n _a: null,\n _e: scope,\n _s: new Map(),\n state,\n });\n // pinia devtools rely on dev only features so they cannot be forced unless\n // the dev build of Vue is used. Avoid old browsers like IE11.\n if (USE_DEVTOOLS && typeof Proxy !== 'undefined') {\n pinia.use(devtoolsPlugin);\n }\n return pinia;\n}\n\n/**\n * Checks if a function is a `StoreDefinition`.\n *\n * @param fn - object to test\n * @returns true if `fn` is a StoreDefinition\n */\nconst isUseStore = (fn) => {\n return typeof fn === 'function' && typeof fn.$id === 'string';\n};\n/**\n * Mutates in place `newState` with `oldState` to _hot update_ it. It will\n * remove any key not existing in `newState` and recursively merge plain\n * objects.\n *\n * @param newState - new state object to be patched\n * @param oldState - old state that should be used to patch newState\n * @returns - newState\n */\nfunction patchObject(newState, oldState) {\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in oldState) {\n const subPatch = oldState[key];\n // skip the whole sub tree\n if (!(key in newState)) {\n continue;\n }\n const targetValue = newState[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n newState[key] = patchObject(targetValue, subPatch);\n }\n else {\n // objects are either a bit more complex (e.g. refs) or primitives, so we\n // just set the whole thing\n if (isVue2) {\n set(newState, key, subPatch);\n }\n else {\n newState[key] = subPatch;\n }\n }\n }\n return newState;\n}\n/**\n * Creates an _accept_ function to pass to `import.meta.hot` in Vite applications.\n *\n * @example\n * ```js\n * const useUser = defineStore(...)\n * if (import.meta.hot) {\n * import.meta.hot.accept(acceptHMRUpdate(useUser, import.meta.hot))\n * }\n * ```\n *\n * @param initialUseStore - return of the defineStore to hot update\n * @param hot - `import.meta.hot`\n */\nfunction acceptHMRUpdate(initialUseStore, hot) {\n // strip as much as possible from iife.prod\n if (!(process.env.NODE_ENV !== 'production')) {\n return () => { };\n }\n return (newModule) => {\n const pinia = hot.data.pinia || initialUseStore._pinia;\n if (!pinia) {\n // this store is still not used\n return;\n }\n // preserve the pinia instance across loads\n hot.data.pinia = pinia;\n // console.log('got data', newStore)\n for (const exportName in newModule) {\n const useStore = newModule[exportName];\n // console.log('checking for', exportName)\n if (isUseStore(useStore) && pinia._s.has(useStore.$id)) {\n // console.log('Accepting update for', useStore.$id)\n const id = useStore.$id;\n if (id !== initialUseStore.$id) {\n console.warn(`The id of the store changed from \"${initialUseStore.$id}\" to \"${id}\". Reloading.`);\n // return import.meta.hot.invalidate()\n return hot.invalidate();\n }\n const existingStore = pinia._s.get(id);\n if (!existingStore) {\n console.log(`[Pinia]: skipping hmr because store doesn't exist yet`);\n return;\n }\n useStore(pinia, existingStore);\n }\n }\n };\n}\n\nconst noop = () => { };\nfunction addSubscription(subscriptions, callback, detached, onCleanup = noop) {\n subscriptions.push(callback);\n const removeSubscription = () => {\n const idx = subscriptions.indexOf(callback);\n if (idx > -1) {\n subscriptions.splice(idx, 1);\n onCleanup();\n }\n };\n if (!detached && getCurrentScope()) {\n onScopeDispose(removeSubscription);\n }\n return removeSubscription;\n}\nfunction triggerSubscriptions(subscriptions, ...args) {\n subscriptions.slice().forEach((callback) => {\n callback(...args);\n });\n}\n\nconst fallbackRunWithContext = (fn) => fn();\nfunction mergeReactiveObjects(target, patchToApply) {\n // Handle Map instances\n if (target instanceof Map && patchToApply instanceof Map) {\n patchToApply.forEach((value, key) => target.set(key, value));\n }\n // Handle Set instances\n if (target instanceof Set && patchToApply instanceof Set) {\n patchToApply.forEach(target.add, target);\n }\n // no need to go through symbols because they cannot be serialized anyway\n for (const key in patchToApply) {\n if (!patchToApply.hasOwnProperty(key))\n continue;\n const subPatch = patchToApply[key];\n const targetValue = target[key];\n if (isPlainObject(targetValue) &&\n isPlainObject(subPatch) &&\n target.hasOwnProperty(key) &&\n !isRef(subPatch) &&\n !isReactive(subPatch)) {\n // NOTE: here I wanted to warn about inconsistent types but it's not possible because in setup stores one might\n // start the value of a property as a certain type e.g. a Map, and then for some reason, during SSR, change that\n // to `undefined`. When trying to hydrate, we want to override the Map with `undefined`.\n target[key] = mergeReactiveObjects(targetValue, subPatch);\n }\n else {\n // @ts-expect-error: subPatch is a valid value\n target[key] = subPatch;\n }\n }\n return target;\n}\nconst skipHydrateSymbol = (process.env.NODE_ENV !== 'production')\n ? Symbol('pinia:skipHydration')\n : /* istanbul ignore next */ Symbol();\nconst skipHydrateMap = /*#__PURE__*/ new WeakMap();\n/**\n * Tells Pinia to skip the hydration process of a given object. This is useful in setup stores (only) when you return a\n * stateful object in the store but it isn't really state. e.g. returning a router instance in a setup store.\n *\n * @param obj - target object\n * @returns obj\n */\nfunction skipHydrate(obj) {\n return isVue2\n ? // in @vue/composition-api, the refs are sealed so defineProperty doesn't work...\n /* istanbul ignore next */ skipHydrateMap.set(obj, 1) && obj\n : Object.defineProperty(obj, skipHydrateSymbol, {});\n}\n/**\n * Returns whether a value should be hydrated\n *\n * @param obj - target variable\n * @returns true if `obj` should be hydrated\n */\nfunction shouldHydrate(obj) {\n return isVue2\n ? /* istanbul ignore next */ !skipHydrateMap.has(obj)\n : !isPlainObject(obj) || !obj.hasOwnProperty(skipHydrateSymbol);\n}\nconst { assign } = Object;\nfunction isComputed(o) {\n return !!(isRef(o) && o.effect);\n}\nfunction createOptionsStore(id, options, pinia, hot) {\n const { state, actions, getters } = options;\n const initialState = pinia.state.value[id];\n let store;\n function setup() {\n if (!initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, id, state ? state() : {});\n }\n else {\n pinia.state.value[id] = state ? state() : {};\n }\n }\n // avoid creating a state in pinia.state.value\n const localState = (process.env.NODE_ENV !== 'production') && hot\n ? // use ref() to unwrap refs inside state TODO: check if this is still necessary\n toRefs(ref(state ? state() : {}).value)\n : toRefs(pinia.state.value[id]);\n return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {\n if ((process.env.NODE_ENV !== 'production') && name in localState) {\n console.warn(`[🍍]: A getter cannot have the same name as another state property. Rename one of them. Found with \"${name}\" in store \"${id}\".`);\n }\n computedGetters[name] = markRaw(computed(() => {\n setActivePinia(pinia);\n // it was created just before\n const store = pinia._s.get(id);\n // allow cross using stores\n /* istanbul ignore next */\n if (isVue2 && !store._r)\n return;\n // @ts-expect-error\n // return getters![name].call(context, context)\n // TODO: avoid reading the getter while assigning with a global variable\n return getters[name].call(store, store);\n }));\n return computedGetters;\n }, {}));\n }\n store = createSetupStore(id, setup, options, pinia, hot, true);\n return store;\n}\nfunction createSetupStore($id, setup, options = {}, pinia, hot, isOptionsStore) {\n let scope;\n const optionsForPlugin = assign({ actions: {} }, options);\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !pinia._e.active) {\n throw new Error('Pinia destroyed');\n }\n // watcher options for $subscribe\n const $subscribeOptions = {\n deep: true,\n // flush: 'post',\n };\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production') && !isVue2) {\n $subscribeOptions.onTrigger = (event) => {\n /* istanbul ignore else */\n if (isListening) {\n debuggerEvents = event;\n // avoid triggering this while the store is being built and the state is being set in pinia\n }\n else if (isListening == false && !store._hotUpdating) {\n // let patch send all the events together later\n /* istanbul ignore else */\n if (Array.isArray(debuggerEvents)) {\n debuggerEvents.push(event);\n }\n else {\n console.error('🍍 debuggerEvents should be an array. This is most likely an internal Pinia bug.');\n }\n }\n };\n }\n // internal state\n let isListening; // set to true at the end\n let isSyncListening; // set to true at the end\n let subscriptions = [];\n let actionSubscriptions = [];\n let debuggerEvents;\n const initialState = pinia.state.value[$id];\n // avoid setting the state for option stores if it is set\n // by the setup\n if (!isOptionsStore && !initialState && (!(process.env.NODE_ENV !== 'production') || !hot)) {\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value, $id, {});\n }\n else {\n pinia.state.value[$id] = {};\n }\n }\n const hotState = ref({});\n // avoid triggering too many listeners\n // https://github.com/vuejs/pinia/issues/1129\n let activeListener;\n function $patch(partialStateOrMutator) {\n let subscriptionMutation;\n isListening = isSyncListening = false;\n // reset the debugger events since patches are sync\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n debuggerEvents = [];\n }\n if (typeof partialStateOrMutator === 'function') {\n partialStateOrMutator(pinia.state.value[$id]);\n subscriptionMutation = {\n type: MutationType.patchFunction,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n else {\n mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);\n subscriptionMutation = {\n type: MutationType.patchObject,\n payload: partialStateOrMutator,\n storeId: $id,\n events: debuggerEvents,\n };\n }\n const myListenerId = (activeListener = Symbol());\n nextTick().then(() => {\n if (activeListener === myListenerId) {\n isListening = true;\n }\n });\n isSyncListening = true;\n // because we paused the watcher, we need to manually call the subscriptions\n triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);\n }\n const $reset = isOptionsStore\n ? function $reset() {\n const { state } = options;\n const newState = state ? state() : {};\n // we use a patch to group all changes into one single subscription\n this.$patch(($state) => {\n assign($state, newState);\n });\n }\n : /* istanbul ignore next */\n (process.env.NODE_ENV !== 'production')\n ? () => {\n throw new Error(`🍍: Store \"${$id}\" is built using the setup syntax and does not implement $reset().`);\n }\n : noop;\n function $dispose() {\n scope.stop();\n subscriptions = [];\n actionSubscriptions = [];\n pinia._s.delete($id);\n }\n /**\n * Wraps an action to handle subscriptions.\n *\n * @param name - name of the action\n * @param action - action to wrap\n * @returns a wrapped action to handle subscriptions\n */\n function wrapAction(name, action) {\n return function () {\n setActivePinia(pinia);\n const args = Array.from(arguments);\n const afterCallbackList = [];\n const onErrorCallbackList = [];\n function after(callback) {\n afterCallbackList.push(callback);\n }\n function onError(callback) {\n onErrorCallbackList.push(callback);\n }\n // @ts-expect-error\n triggerSubscriptions(actionSubscriptions, {\n args,\n name,\n store,\n after,\n onError,\n });\n let ret;\n try {\n ret = action.apply(this && this.$id === $id ? this : store, args);\n // handle sync errors\n }\n catch (error) {\n triggerSubscriptions(onErrorCallbackList, error);\n throw error;\n }\n if (ret instanceof Promise) {\n return ret\n .then((value) => {\n triggerSubscriptions(afterCallbackList, value);\n return value;\n })\n .catch((error) => {\n triggerSubscriptions(onErrorCallbackList, error);\n return Promise.reject(error);\n });\n }\n // trigger after callbacks\n triggerSubscriptions(afterCallbackList, ret);\n return ret;\n };\n }\n const _hmrPayload = /*#__PURE__*/ markRaw({\n actions: {},\n getters: {},\n state: [],\n hotState,\n });\n const partialStore = {\n _p: pinia,\n // _s: scope,\n $id,\n $onAction: addSubscription.bind(null, actionSubscriptions),\n $patch,\n $reset,\n $subscribe(callback, options = {}) {\n const removeSubscription = addSubscription(subscriptions, callback, options.detached, () => stopWatcher());\n const stopWatcher = scope.run(() => watch(() => pinia.state.value[$id], (state) => {\n if (options.flush === 'sync' ? isSyncListening : isListening) {\n callback({\n storeId: $id,\n type: MutationType.direct,\n events: debuggerEvents,\n }, state);\n }\n }, assign({}, $subscribeOptions, options)));\n return removeSubscription;\n },\n $dispose,\n };\n /* istanbul ignore if */\n if (isVue2) {\n // start as non ready\n partialStore._r = false;\n }\n const store = reactive((process.env.NODE_ENV !== 'production') || USE_DEVTOOLS\n ? assign({\n _hmrPayload,\n _customProperties: markRaw(new Set()), // devtools custom properties\n }, partialStore\n // must be added later\n // setupStore\n )\n : partialStore);\n // store the partial store now so the setup of stores can instantiate each other before they are finished without\n // creating infinite loops.\n pinia._s.set($id, store);\n const runWithContext = (pinia._a && pinia._a.runWithContext) || fallbackRunWithContext;\n // TODO: idea create skipSerialize that marks properties as non serializable and they are skipped\n const setupStore = pinia._e.run(() => {\n scope = effectScope();\n return runWithContext(() => scope.run(setup));\n });\n // overwrite existing actions to support $onAction\n for (const key in setupStore) {\n const prop = setupStore[key];\n if ((isRef(prop) && !isComputed(prop)) || isReactive(prop)) {\n // mark it as a piece of state to be serialized\n if ((process.env.NODE_ENV !== 'production') && hot) {\n set(hotState.value, key, toRef(setupStore, key));\n // createOptionStore directly sets the state in pinia.state.value so we\n // can just skip that\n }\n else if (!isOptionsStore) {\n // in setup stores we must hydrate the state and sync pinia state tree with the refs the user just created\n if (initialState && shouldHydrate(prop)) {\n if (isRef(prop)) {\n prop.value = initialState[key];\n }\n else {\n // probably a reactive object, lets recursively assign\n // @ts-expect-error: prop is unknown\n mergeReactiveObjects(prop, initialState[key]);\n }\n }\n // transfer the ref to the pinia state to keep everything in sync\n /* istanbul ignore if */\n if (isVue2) {\n set(pinia.state.value[$id], key, prop);\n }\n else {\n pinia.state.value[$id][key] = prop;\n }\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.state.push(key);\n }\n // action\n }\n else if (typeof prop === 'function') {\n // @ts-expect-error: we are overriding the function we avoid wrapping if\n const actionValue = (process.env.NODE_ENV !== 'production') && hot ? prop : wrapAction(key, prop);\n // this a hot module replacement store because the hotUpdate method needs\n // to do it with the right context\n /* istanbul ignore if */\n if (isVue2) {\n set(setupStore, key, actionValue);\n }\n else {\n // @ts-expect-error\n setupStore[key] = actionValue;\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n _hmrPayload.actions[key] = prop;\n }\n // list actions so they can be used in plugins\n // @ts-expect-error\n optionsForPlugin.actions[key] = prop;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n // add getters for devtools\n if (isComputed(prop)) {\n _hmrPayload.getters[key] = isOptionsStore\n ? // @ts-expect-error\n options.getters[key]\n : prop;\n if (IS_CLIENT) {\n const getters = setupStore._getters ||\n // @ts-expect-error: same\n (setupStore._getters = markRaw([]));\n getters.push(key);\n }\n }\n }\n }\n // add the state, getters, and action properties\n /* istanbul ignore if */\n if (isVue2) {\n Object.keys(setupStore).forEach((key) => {\n set(store, key, setupStore[key]);\n });\n }\n else {\n assign(store, setupStore);\n // allows retrieving reactive objects with `storeToRefs()`. Must be called after assigning to the reactive object.\n // Make `storeToRefs()` work with `reactive()` #799\n assign(toRaw(store), setupStore);\n }\n // use this instead of a computed with setter to be able to create it anywhere\n // without linking the computed lifespan to wherever the store is first\n // created.\n Object.defineProperty(store, '$state', {\n get: () => ((process.env.NODE_ENV !== 'production') && hot ? hotState.value : pinia.state.value[$id]),\n set: (state) => {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && hot) {\n throw new Error('cannot set hotState');\n }\n $patch(($state) => {\n assign($state, state);\n });\n },\n });\n // add the hotUpdate before plugins to allow them to override it\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n store._hotUpdate = markRaw((newStore) => {\n store._hotUpdating = true;\n newStore._hmrPayload.state.forEach((stateKey) => {\n if (stateKey in store.$state) {\n const newStateTarget = newStore.$state[stateKey];\n const oldStateSource = store.$state[stateKey];\n if (typeof newStateTarget === 'object' &&\n isPlainObject(newStateTarget) &&\n isPlainObject(oldStateSource)) {\n patchObject(newStateTarget, oldStateSource);\n }\n else {\n // transfer the ref\n newStore.$state[stateKey] = oldStateSource;\n }\n }\n // patch direct access properties to allow store.stateProperty to work as\n // store.$state.stateProperty\n set(store, stateKey, toRef(newStore.$state, stateKey));\n });\n // remove deleted state properties\n Object.keys(store.$state).forEach((stateKey) => {\n if (!(stateKey in newStore.$state)) {\n del(store, stateKey);\n }\n });\n // avoid devtools logging this as a mutation\n isListening = false;\n isSyncListening = false;\n pinia.state.value[$id] = toRef(newStore._hmrPayload, 'hotState');\n isSyncListening = true;\n nextTick().then(() => {\n isListening = true;\n });\n for (const actionName in newStore._hmrPayload.actions) {\n const action = newStore[actionName];\n set(store, actionName, wrapAction(actionName, action));\n }\n // TODO: does this work in both setup and option store?\n for (const getterName in newStore._hmrPayload.getters) {\n const getter = newStore._hmrPayload.getters[getterName];\n const getterValue = isOptionsStore\n ? // special handling of options api\n computed(() => {\n setActivePinia(pinia);\n return getter.call(store, store);\n })\n : getter;\n set(store, getterName, getterValue);\n }\n // remove deleted getters\n Object.keys(store._hmrPayload.getters).forEach((key) => {\n if (!(key in newStore._hmrPayload.getters)) {\n del(store, key);\n }\n });\n // remove old actions\n Object.keys(store._hmrPayload.actions).forEach((key) => {\n if (!(key in newStore._hmrPayload.actions)) {\n del(store, key);\n }\n });\n // update the values used in devtools and to allow deleting new properties later on\n store._hmrPayload = newStore._hmrPayload;\n store._getters = newStore._getters;\n store._hotUpdating = false;\n });\n }\n if (USE_DEVTOOLS) {\n const nonEnumerable = {\n writable: true,\n configurable: true,\n // avoid warning on devtools trying to display this property\n enumerable: false,\n };\n ['_p', '_hmrPayload', '_getters', '_customProperties'].forEach((p) => {\n Object.defineProperty(store, p, assign({ value: store[p] }, nonEnumerable));\n });\n }\n /* istanbul ignore if */\n if (isVue2) {\n // mark the store as ready before plugins\n store._r = true;\n }\n // apply all plugins\n pinia._p.forEach((extender) => {\n /* istanbul ignore else */\n if (USE_DEVTOOLS) {\n const extensions = scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n }));\n Object.keys(extensions || {}).forEach((key) => store._customProperties.add(key));\n assign(store, extensions);\n }\n else {\n assign(store, scope.run(() => extender({\n store,\n app: pinia._a,\n pinia,\n options: optionsForPlugin,\n })));\n }\n });\n if ((process.env.NODE_ENV !== 'production') &&\n store.$state &&\n typeof store.$state === 'object' &&\n typeof store.$state.constructor === 'function' &&\n !store.$state.constructor.toString().includes('[native code]')) {\n console.warn(`[🍍]: The \"state\" must be a plain object. It cannot be\\n` +\n `\\tstate: () => new MyClass()\\n` +\n `Found in store \"${store.$id}\".`);\n }\n // only apply hydrate to option stores with an initial state in pinia\n if (initialState &&\n isOptionsStore &&\n options.hydrate) {\n options.hydrate(store.$state, initialState);\n }\n isListening = true;\n isSyncListening = true;\n return store;\n}\nfunction defineStore(\n// TODO: add proper types from above\nidOrOptions, setup, setupOptions) {\n let id;\n let options;\n const isSetupStore = typeof setup === 'function';\n if (typeof idOrOptions === 'string') {\n id = idOrOptions;\n // the option store setup will contain the actual options in this case\n options = isSetupStore ? setupOptions : setup;\n }\n else {\n options = idOrOptions;\n id = idOrOptions.id;\n if ((process.env.NODE_ENV !== 'production') && typeof id !== 'string') {\n throw new Error(`[🍍]: \"defineStore()\" must be passed a store id as its first argument.`);\n }\n }\n function useStore(pinia, hot) {\n const hasContext = hasInjectionContext();\n pinia =\n // in test mode, ignore the argument provided as we can always retrieve a\n // pinia instance with getActivePinia()\n ((process.env.NODE_ENV === 'test') && activePinia && activePinia._testing ? null : pinia) ||\n (hasContext ? inject(piniaSymbol, null) : null);\n if (pinia)\n setActivePinia(pinia);\n if ((process.env.NODE_ENV !== 'production') && !activePinia) {\n throw new Error(`[🍍]: \"getActivePinia()\" was called but there was no active Pinia. Did you forget to install pinia?\\n` +\n `\\tconst pinia = createPinia()\\n` +\n `\\tapp.use(pinia)\\n` +\n `This will fail in production.`);\n }\n pinia = activePinia;\n if (!pinia._s.has(id)) {\n // creating the store registers it in `pinia._s`\n if (isSetupStore) {\n createSetupStore(id, setup, options, pinia);\n }\n else {\n createOptionsStore(id, options, pinia);\n }\n /* istanbul ignore else */\n if ((process.env.NODE_ENV !== 'production')) {\n // @ts-expect-error: not the right inferred type\n useStore._pinia = pinia;\n }\n }\n const store = pinia._s.get(id);\n if ((process.env.NODE_ENV !== 'production') && hot) {\n const hotId = '__hot:' + id;\n const newStore = isSetupStore\n ? createSetupStore(hotId, setup, options, pinia, true)\n : createOptionsStore(hotId, assign({}, options), pinia, true);\n hot._hotUpdate(newStore);\n // cleanup the state properties and the store from the cache\n delete pinia.state.value[hotId];\n pinia._s.delete(hotId);\n }\n if ((process.env.NODE_ENV !== 'production') && IS_CLIENT) {\n const currentInstance = getCurrentInstance();\n // save stores in instances to access them devtools\n if (currentInstance &&\n currentInstance.proxy &&\n // avoid adding stores that are just built for hot module replacement\n !hot) {\n const vm = currentInstance.proxy;\n const cache = '_pStores' in vm ? vm._pStores : (vm._pStores = {});\n cache[id] = store;\n }\n }\n // StoreGeneric cannot be casted towards Store\n return store;\n }\n useStore.$id = id;\n return useStore;\n}\n\nlet mapStoreSuffix = 'Store';\n/**\n * Changes the suffix added by `mapStores()`. Can be set to an empty string.\n * Defaults to `\"Store\"`. Make sure to extend the MapStoresCustomization\n * interface if you are using TypeScript.\n *\n * @param suffix - new suffix\n */\nfunction setMapStoreSuffix(suffix // could be 'Store' but that would be annoying for JS\n) {\n mapStoreSuffix = suffix;\n}\n/**\n * Allows using stores without the composition API (`setup()`) by generating an\n * object to be spread in the `computed` field of a component. It accepts a list\n * of store definitions.\n *\n * @example\n * ```js\n * export default {\n * computed: {\n * // other computed properties\n * ...mapStores(useUserStore, useCartStore)\n * },\n *\n * created() {\n * this.userStore // store with id \"user\"\n * this.cartStore // store with id \"cart\"\n * }\n * }\n * ```\n *\n * @param stores - list of stores to map to an object\n */\nfunction mapStores(...stores) {\n if ((process.env.NODE_ENV !== 'production') && Array.isArray(stores[0])) {\n console.warn(`[🍍]: Directly pass all stores to \"mapStores()\" without putting them in an array:\\n` +\n `Replace\\n` +\n `\\tmapStores([useAuthStore, useCartStore])\\n` +\n `with\\n` +\n `\\tmapStores(useAuthStore, useCartStore)\\n` +\n `This will fail in production if not fixed.`);\n stores = stores[0];\n }\n return stores.reduce((reduced, useStore) => {\n // @ts-expect-error: $id is added by defineStore\n reduced[useStore.$id + mapStoreSuffix] = function () {\n return useStore(this.$pinia);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n reduced[key] = function () {\n return useStore(this.$pinia)[key];\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function () {\n const store = useStore(this.$pinia);\n const storeKey = keysOrMapper[key];\n // for some reason TS is unable to infer the type of storeKey to be a\n // function\n return typeof storeKey === 'function'\n ? storeKey.call(this, store)\n : store[storeKey];\n };\n return reduced;\n }, {});\n}\n/**\n * Alias for `mapState()`. You should use `mapState()` instead.\n * @deprecated use `mapState()` instead.\n */\nconst mapGetters = mapState;\n/**\n * Allows directly using actions from your store without using the composition\n * API (`setup()`) by generating an object to be spread in the `methods` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapActions(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[key](...args);\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-expect-error\n reduced[key] = function (...args) {\n return useStore(this.$pinia)[keysOrMapper[key]](...args);\n };\n return reduced;\n }, {});\n}\n/**\n * Allows using state and getters from one store without using the composition\n * API (`setup()`) by generating an object to be spread in the `computed` field\n * of a component.\n *\n * @param useStore - store to map from\n * @param keysOrMapper - array or object\n */\nfunction mapWritableState(useStore, keysOrMapper) {\n return Array.isArray(keysOrMapper)\n ? keysOrMapper.reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[key];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[key] = value);\n },\n };\n return reduced;\n }, {})\n : Object.keys(keysOrMapper).reduce((reduced, key) => {\n // @ts-ignore\n reduced[key] = {\n get() {\n return useStore(this.$pinia)[keysOrMapper[key]];\n },\n set(value) {\n // it's easier to type it here as any\n return (useStore(this.$pinia)[keysOrMapper[key]] = value);\n },\n };\n return reduced;\n }, {});\n}\n\n/**\n * Creates an object of references with all the state, getters, and plugin-added\n * state properties of the store. Similar to `toRefs()` but specifically\n * designed for Pinia stores so methods and non reactive properties are\n * completely ignored.\n *\n * @param store - store to extract the refs from\n */\nfunction storeToRefs(store) {\n // See https://github.com/vuejs/pinia/issues/852\n // It's easier to just use toRefs() even if it includes more stuff\n if (isVue2) {\n // @ts-expect-error: toRefs include methods and others\n return toRefs(store);\n }\n else {\n store = toRaw(store);\n const refs = {};\n for (const key in store) {\n const value = store[key];\n if (isRef(value) || isReactive(value)) {\n // @ts-expect-error: the key is state or getter\n refs[key] =\n // ---\n toRef(store, key);\n }\n }\n return refs;\n }\n}\n\n/**\n * Vue 2 Plugin that must be installed for pinia to work. Note **you don't need\n * this plugin if you are using Nuxt.js**. Use the `buildModule` instead:\n * https://pinia.vuejs.org/ssr/nuxt.html.\n *\n * @example\n * ```js\n * import Vue from 'vue'\n * import { PiniaVuePlugin, createPinia } from 'pinia'\n *\n * Vue.use(PiniaVuePlugin)\n * const pinia = createPinia()\n *\n * new Vue({\n * el: '#app',\n * // ...\n * pinia,\n * })\n * ```\n *\n * @param _Vue - `Vue` imported from 'vue'.\n */\nconst PiniaVuePlugin = function (_Vue) {\n // Equivalent of\n // app.config.globalProperties.$pinia = pinia\n _Vue.mixin({\n beforeCreate() {\n const options = this.$options;\n if (options.pinia) {\n const pinia = options.pinia;\n // HACK: taken from provide(): https://github.com/vuejs/composition-api/blob/main/src/apis/inject.ts#L31\n /* istanbul ignore else */\n if (!this._provided) {\n const provideCache = {};\n Object.defineProperty(this, '_provided', {\n get: () => provideCache,\n set: (v) => Object.assign(provideCache, v),\n });\n }\n this._provided[piniaSymbol] = pinia;\n // propagate the pinia instance in an SSR friendly way\n // avoid adding it to nuxt twice\n /* istanbul ignore else */\n if (!this.$pinia) {\n this.$pinia = pinia;\n }\n pinia._a = this;\n if (IS_CLIENT) {\n // this allows calling useStore() outside of a component setup after\n // installing pinia's plugin\n setActivePinia(pinia);\n }\n if (USE_DEVTOOLS) {\n registerPiniaDevtools(pinia._a, pinia);\n }\n }\n else if (!this.$pinia && options.parent && options.parent.$pinia) {\n this.$pinia = options.parent.$pinia;\n }\n },\n destroyed() {\n delete this._pStores;\n },\n });\n};\n\nexport { MutationType, PiniaVuePlugin, acceptHMRUpdate, createPinia, defineStore, getActivePinia, mapActions, mapGetters, mapState, mapStores, mapWritableState, setActivePinia, setMapStoreSuffix, skipHydrate, storeToRefs };\n","import { defineStore } from 'pinia'\n\nexport const useAccessToken = defineStore({\n id: 'accessToken',\n state: () => ({\n accessToken: ''\n }),\n actions: {\n set(accessToken: string) {\n this.accessToken = accessToken\n }\n }\n})\n","import type { LegacyMerchant } from '@/models/legacy/LegacyMerchant'\nimport { defineStore } from 'pinia'\n\nexport const useMerchantId = defineStore({\n id: 'merchantId',\n state: () => ({\n merchantId: 0\n }),\n actions: {\n set(merchantId: number) {\n this.merchantId = merchantId\n },\n get() {\n return this.merchantId\n }\n }\n})\n\nexport const useMerchantName = defineStore({\n id: 'merchantName',\n state: () => ({\n merchantName: ''\n }),\n actions: {\n set(merchantName: string) {\n this.merchantName = merchantName\n },\n get() {\n return this.merchantName\n }\n }\n})\n\nexport const useMerchantTypesId = defineStore({\n id: 'merchantTypesId',\n state: () => ({\n merchantTypesId: 0\n }),\n actions: {\n set(merchantTypesId: number) {\n this.merchantTypesId = merchantTypesId\n },\n get() {\n return this.merchantTypesId\n }\n }\n})\n\nexport const useMerchant = defineStore({\n id: 'merchant',\n state: () => ({\n merchant: {}\n }),\n actions: {\n set(merchant: LegacyMerchant) {\n this.merchant = merchant\n },\n get() {\n return this.merchant\n }\n }\n})\n","import { defineStore } from 'pinia'\nimport type { User } from '@/models/User'\n\nexport const useUser = defineStore({\n id: 'user',\n state: () => ({\n user: {}\n }),\n actions: {\n set(user: User) {\n this.user = user\n }\n }\n})\n","import { defineStore } from 'pinia'\nimport type { Permission } from '@/models/Permission'\n\nexport const usePermission = defineStore({\n id: 'permission',\n state: () => ({\n permission: [{}]\n }),\n actions: {\n set(permission: Array) {\n this.permission = permission\n }\n }\n})\n","import { defineStore } from 'pinia'\nimport type { Preference } from '@/models/Preference'\n\nexport const usePreferences = defineStore({\n id: 'preferences',\n state: () => ({\n preferences: [] as Preference[]\n }),\n actions: {\n set(preferences: Array) {\n this.preferences = preferences\n },\n get() {\n return this.preferences\n },\n getPreference(label: string) {\n return this.preferences.find((preference: Preference) => preference.label === label)?.value\n }\n }\n})\n","// Utilities\nimport { effectScope, onScopeDispose, watch } from 'vue';\n\n// Types\n\nexport function useToggleScope(source, fn) {\n let scope;\n function start() {\n scope = effectScope();\n scope.run(() => fn.length ? fn(() => {\n scope?.stop();\n start();\n }) : fn());\n }\n watch(source, active => {\n if (active && !scope) {\n start();\n } else if (!active) {\n scope?.stop();\n scope = undefined;\n }\n }, {\n immediate: true\n });\n onScopeDispose(() => {\n scope?.stop();\n });\n}\n//# sourceMappingURL=toggleScope.mjs.map","export const IN_BROWSER = typeof window !== 'undefined';\nexport const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;\nexport const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);\nexport const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;\n//# sourceMappingURL=globals.mjs.map","function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }\nfunction _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); }\nfunction _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }\nfunction _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }\nfunction _assertClassBrand(e, t, n) { if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError(\"Private element is not present on this object\"); }\n// Utilities\nimport { capitalize, Comment, computed, Fragment, isVNode, reactive, readonly, shallowRef, toRefs, unref, watchEffect } from 'vue';\nimport { IN_BROWSER } from \"./globals.mjs\"; // Types\nexport function getNestedValue(obj, path, fallback) {\n const last = path.length - 1;\n if (last < 0) return obj === undefined ? fallback : obj;\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback;\n }\n obj = obj[path[i]];\n }\n if (obj == null) return fallback;\n return obj[path[last]] === undefined ? fallback : obj[path[last]];\n}\nexport function deepEqual(a, b) {\n if (a === b) return true;\n if (a instanceof Date && b instanceof Date && a.getTime() !== b.getTime()) {\n // If the values are Date, compare them as timestamps\n return false;\n }\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false;\n }\n const props = Object.keys(a);\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false;\n }\n return props.every(p => deepEqual(a[p], b[p]));\n}\nexport function getObjectValueByPath(obj, path, fallback) {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback;\n if (obj[path] !== undefined) return obj[path];\n path = path.replace(/\\[(\\w+)\\]/g, '.$1'); // convert indexes to properties\n path = path.replace(/^\\./, ''); // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback);\n}\nexport function getPropertyFromItem(item, property, fallback) {\n if (property === true) return item === undefined ? fallback : item;\n if (property == null || typeof property === 'boolean') return fallback;\n if (item !== Object(item)) {\n if (typeof property !== 'function') return fallback;\n const value = property(item, fallback);\n return typeof value === 'undefined' ? fallback : value;\n }\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback);\n if (Array.isArray(property)) return getNestedValue(item, property, fallback);\n if (typeof property !== 'function') return fallback;\n const value = property(item, fallback);\n return typeof value === 'undefined' ? fallback : value;\n}\nexport function createRange(length) {\n let start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return Array.from({\n length\n }, (v, k) => start + k);\n}\nexport function getZIndex(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0;\n const index = +window.getComputedStyle(el).getPropertyValue('z-index');\n if (!index) return getZIndex(el.parentNode);\n return index;\n}\nexport function convertToUnit(str) {\n let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';\n if (str == null || str === '') {\n return undefined;\n } else if (isNaN(+str)) {\n return String(str);\n } else if (!isFinite(+str)) {\n return undefined;\n } else {\n return `${Number(str)}${unit}`;\n }\n}\nexport function isObject(obj) {\n return obj !== null && typeof obj === 'object' && !Array.isArray(obj);\n}\nexport function isPlainObject(obj) {\n let proto;\n return obj !== null && typeof obj === 'object' && ((proto = Object.getPrototypeOf(obj)) === Object.prototype || proto === null);\n}\nexport function refElement(obj) {\n if (obj && '$el' in obj) {\n const el = obj.$el;\n if (el?.nodeType === Node.TEXT_NODE) {\n // Multi-root component, use the first element\n return el.nextElementSibling;\n }\n return el;\n }\n return obj;\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16\n});\nexport const keyValues = Object.freeze({\n enter: 'Enter',\n tab: 'Tab',\n delete: 'Delete',\n esc: 'Escape',\n space: 'Space',\n up: 'ArrowUp',\n down: 'ArrowDown',\n left: 'ArrowLeft',\n right: 'ArrowRight',\n end: 'End',\n home: 'Home',\n del: 'Delete',\n backspace: 'Backspace',\n insert: 'Insert',\n pageup: 'PageUp',\n pagedown: 'PageDown',\n shift: 'Shift'\n});\nexport function keys(o) {\n return Object.keys(o);\n}\nexport function has(obj, key) {\n return key.every(k => obj.hasOwnProperty(k));\n}\n// Array of keys\nexport function pick(obj, paths) {\n const found = {};\n const keys = new Set(Object.keys(obj));\n for (const path of paths) {\n if (keys.has(path)) {\n found[path] = obj[path];\n }\n }\n return found;\n}\n\n// Array of keys\n\n// Array of keys or RegExp to test keys against\n\nexport function pickWithRest(obj, paths, exclude) {\n const found = Object.create(null);\n const rest = Object.create(null);\n for (const key in obj) {\n if (paths.some(path => path instanceof RegExp ? path.test(key) : path === key) && !exclude?.some(path => path === key)) {\n found[key] = obj[key];\n } else {\n rest[key] = obj[key];\n }\n }\n return [found, rest];\n}\nexport function omit(obj, exclude) {\n const clone = {\n ...obj\n };\n exclude.forEach(prop => delete clone[prop]);\n return clone;\n}\nexport function only(obj, include) {\n const clone = {};\n include.forEach(prop => clone[prop] = obj[prop]);\n return clone;\n}\nconst onRE = /^on[^a-z]/;\nexport const isOn = key => onRE.test(key);\nconst bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];\nconst compositionIgnoreKeys = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Enter', 'Escape', 'Tab', ' '];\nexport function isComposingIgnoreKey(e) {\n return e.isComposing && compositionIgnoreKeys.includes(e.key);\n}\n\n/**\n * Filter attributes that should be applied to\n * the root element of an input component. Remaining\n * attributes should be passed to the element inside.\n */\nexport function filterInputAttrs(attrs) {\n const [events, props] = pickWithRest(attrs, [onRE]);\n const inputEvents = omit(events, bubblingEvents);\n const [rootAttrs, inputAttrs] = pickWithRest(props, ['class', 'style', 'id', /^data-/]);\n Object.assign(rootAttrs, events);\n Object.assign(inputAttrs, inputEvents);\n return [rootAttrs, inputAttrs];\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff(a, b) {\n const diff = [];\n for (let i = 0; i < b.length; i++) {\n if (!a.includes(b[i])) diff.push(b[i]);\n }\n return diff;\n}\nexport function wrapInArray(v) {\n return v == null ? [] : Array.isArray(v) ? v : [v];\n}\nexport function defaultFilter(value, search, item) {\n return value != null && search != null && typeof value !== 'boolean' && value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1;\n}\nexport function debounce(fn, delay) {\n let timeoutId = 0;\n const wrap = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => fn(...args), unref(delay));\n };\n wrap.clear = () => {\n clearTimeout(timeoutId);\n };\n wrap.immediate = fn;\n return wrap;\n}\nexport function throttle(fn, limit) {\n let throttling = false;\n return function () {\n if (!throttling) {\n throttling = true;\n setTimeout(() => throttling = false, limit);\n return fn(...arguments);\n }\n };\n}\nexport function clamp(value) {\n let min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\n return Math.max(min, Math.min(max, value));\n}\nexport function getDecimals(value) {\n const trimmedStr = value.toString().trim();\n return trimmedStr.includes('.') ? trimmedStr.length - trimmedStr.indexOf('.') - 1 : 0;\n}\nexport function padEnd(str, length) {\n let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n return str + char.repeat(Math.max(0, length - str.length));\n}\nexport function padStart(str, length) {\n let char = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '0';\n return char.repeat(Math.max(0, length - str.length)) + str;\n}\nexport function chunk(str) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n const chunked = [];\n let index = 0;\n while (index < str.length) {\n chunked.push(str.substr(index, size));\n index += size;\n }\n return chunked;\n}\nexport function chunkArray(array) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return Array.from({\n length: Math.ceil(array.length / size)\n }, (v, i) => array.slice(i * size, i * size + size));\n}\nexport function humanReadableFileSize(bytes) {\n let base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n if (bytes < base) {\n return `${bytes} B`;\n }\n const prefix = base === 1024 ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G'];\n let unit = -1;\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base;\n ++unit;\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`;\n}\nexport function mergeDeep() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let arrayFn = arguments.length > 2 ? arguments[2] : undefined;\n const out = {};\n for (const key in source) {\n out[key] = source[key];\n }\n for (const key in target) {\n const sourceProperty = source[key];\n const targetProperty = target[key];\n\n // Only continue deep merging if\n // both properties are plain objects\n if (isPlainObject(sourceProperty) && isPlainObject(targetProperty)) {\n out[key] = mergeDeep(sourceProperty, targetProperty, arrayFn);\n continue;\n }\n if (arrayFn && Array.isArray(sourceProperty) && Array.isArray(targetProperty)) {\n out[key] = arrayFn(sourceProperty, targetProperty);\n continue;\n }\n out[key] = targetProperty;\n }\n return out;\n}\nexport function flattenFragments(nodes) {\n return nodes.map(node => {\n if (node.type === Fragment) {\n return flattenFragments(node.children);\n } else {\n return node;\n }\n }).flat();\n}\nexport function toKebabCase() {\n let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n if (toKebabCase.cache.has(str)) return toKebabCase.cache.get(str);\n const kebab = str.replace(/[^a-z]/gi, '-').replace(/\\B([A-Z])/g, '-$1').toLowerCase();\n toKebabCase.cache.set(str, kebab);\n return kebab;\n}\ntoKebabCase.cache = new Map();\nexport function findChildrenWithProvide(key, vnode) {\n if (!vnode || typeof vnode !== 'object') return [];\n if (Array.isArray(vnode)) {\n return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);\n } else if (vnode.suspense) {\n return findChildrenWithProvide(key, vnode.ssContent);\n } else if (Array.isArray(vnode.children)) {\n return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);\n } else if (vnode.component) {\n if (Object.getOwnPropertySymbols(vnode.component.provides).includes(key)) {\n return [vnode.component];\n } else if (vnode.component.subTree) {\n return findChildrenWithProvide(key, vnode.component.subTree).flat(1);\n }\n }\n return [];\n}\nvar _arr = /*#__PURE__*/new WeakMap();\nvar _pointer = /*#__PURE__*/new WeakMap();\nexport class CircularBuffer {\n constructor(size) {\n _classPrivateFieldInitSpec(this, _arr, []);\n _classPrivateFieldInitSpec(this, _pointer, 0);\n this.size = size;\n }\n push(val) {\n _classPrivateFieldGet(_arr, this)[_classPrivateFieldGet(_pointer, this)] = val;\n _classPrivateFieldSet(_pointer, this, (_classPrivateFieldGet(_pointer, this) + 1) % this.size);\n }\n values() {\n return _classPrivateFieldGet(_arr, this).slice(_classPrivateFieldGet(_pointer, this)).concat(_classPrivateFieldGet(_arr, this).slice(0, _classPrivateFieldGet(_pointer, this)));\n }\n}\nexport function getEventCoordinates(e) {\n if ('touches' in e) {\n return {\n clientX: e.touches[0].clientX,\n clientY: e.touches[0].clientY\n };\n }\n return {\n clientX: e.clientX,\n clientY: e.clientY\n };\n}\n\n// Only allow a single return type\n\n/**\n * Convert a computed ref to a record of refs.\n * The getter function must always return an object with the same keys.\n */\n\nexport function destructComputed(getter) {\n const refs = reactive({});\n const base = computed(getter);\n watchEffect(() => {\n for (const key in base.value) {\n refs[key] = base.value[key];\n }\n }, {\n flush: 'sync'\n });\n return toRefs(refs);\n}\n\n/** Array.includes but value can be any type */\nexport function includes(arr, val) {\n return arr.includes(val);\n}\nexport function eventName(propName) {\n return propName[2].toLowerCase() + propName.slice(3);\n}\nexport const EventProp = () => [Function, Array];\nexport function hasEvent(props, name) {\n name = 'on' + capitalize(name);\n return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]);\n}\nexport function callEvent(handler) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (Array.isArray(handler)) {\n for (const h of handler) {\n h(...args);\n }\n } else if (typeof handler === 'function') {\n handler(...args);\n }\n}\nexport function focusableChildren(el) {\n let filterByTabIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n const targets = ['button', '[href]', 'input:not([type=\"hidden\"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}${filterByTabIndex ? ':not([tabindex=\"-1\"])' : ''}:not([disabled])`).join(', ');\n return [...el.querySelectorAll(targets)];\n}\nexport function getNextElement(elements, location, condition) {\n let _el;\n let idx = elements.indexOf(document.activeElement);\n const inc = location === 'next' ? 1 : -1;\n do {\n idx += inc;\n _el = elements[idx];\n } while ((!_el || _el.offsetParent == null || !(condition?.(_el) ?? true)) && idx < elements.length && idx >= 0);\n return _el;\n}\nexport function focusChild(el, location) {\n const focusable = focusableChildren(el);\n if (!location) {\n if (el === document.activeElement || !el.contains(document.activeElement)) {\n focusable[0]?.focus();\n }\n } else if (location === 'first') {\n focusable[0]?.focus();\n } else if (location === 'last') {\n focusable.at(-1)?.focus();\n } else if (typeof location === 'number') {\n focusable[location]?.focus();\n } else {\n const _el = getNextElement(focusable, location);\n if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');\n }\n}\nexport function isEmpty(val) {\n return val === null || val === undefined || typeof val === 'string' && val.trim() === '';\n}\nexport function noop() {}\n\n/** Returns null if the selector is not supported or we can't check */\nexport function matchesSelector(el, selector) {\n const supportsSelector = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports(`selector(${selector})`);\n if (!supportsSelector) return null;\n try {\n return !!el && el.matches(selector);\n } catch (err) {\n return null;\n }\n}\nexport function ensureValidVNode(vnodes) {\n return vnodes.some(child => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n return child.type !== Fragment || ensureValidVNode(child.children);\n }) ? vnodes : null;\n}\nexport function defer(timeout, cb) {\n if (!IN_BROWSER || timeout === 0) {\n cb();\n return () => {};\n }\n const timeoutId = window.setTimeout(cb, timeout);\n return () => window.clearTimeout(timeoutId);\n}\nexport function eagerComputed(fn, options) {\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n flush: 'sync',\n ...options\n });\n return readonly(result);\n}\nexport function isClickInsideElement(event, targetDiv) {\n const mouseX = event.clientX;\n const mouseY = event.clientY;\n const divRect = targetDiv.getBoundingClientRect();\n const divLeft = divRect.left;\n const divTop = divRect.top;\n const divRight = divRect.right;\n const divBottom = divRect.bottom;\n return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;\n}\nexport function templateRef() {\n const el = shallowRef();\n const fn = target => {\n el.value = target;\n };\n Object.defineProperty(fn, 'value', {\n enumerable: true,\n get: () => el.value,\n set: val => el.value = val\n });\n Object.defineProperty(fn, 'el', {\n enumerable: true,\n get: () => refElement(el.value)\n });\n return fn;\n}\nexport function checkPrintable(e) {\n const isPrintableChar = e.key.length === 1;\n const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;\n return isPrintableChar && noModifier;\n}\n//# sourceMappingURL=helpers.mjs.map","// Utilities\nimport { includes } from \"./helpers.mjs\";\nconst block = ['top', 'bottom'];\nconst inline = ['start', 'end', 'left', 'right'];\n/** Parse a raw anchor string into an object */\nexport function parseAnchor(anchor, isRtl) {\n let [side, align] = anchor.split(' ');\n if (!align) {\n align = includes(block, side) ? 'start' : includes(inline, side) ? 'top' : 'center';\n }\n return {\n side: toPhysical(side, isRtl),\n align: toPhysical(align, isRtl)\n };\n}\nexport function toPhysical(str, isRtl) {\n if (str === 'start') return isRtl ? 'right' : 'left';\n if (str === 'end') return isRtl ? 'left' : 'right';\n return str;\n}\nexport function flipSide(anchor) {\n return {\n side: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.side],\n align: anchor.align\n };\n}\nexport function flipAlign(anchor) {\n return {\n side: anchor.side,\n align: {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n }[anchor.align]\n };\n}\nexport function flipCorner(anchor) {\n return {\n side: anchor.align,\n align: anchor.side\n };\n}\nexport function getAxis(anchor) {\n return includes(block, anchor.side) ? 'y' : 'x';\n}\n//# sourceMappingURL=anchor.mjs.map","export class Box {\n constructor(_ref) {\n let {\n x,\n y,\n width,\n height\n } = _ref;\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n get top() {\n return this.y;\n }\n get bottom() {\n return this.y + this.height;\n }\n get left() {\n return this.x;\n }\n get right() {\n return this.x + this.width;\n }\n}\nexport function getOverflow(a, b) {\n return {\n x: {\n before: Math.max(0, b.left - a.left),\n after: Math.max(0, a.right - b.right)\n },\n y: {\n before: Math.max(0, b.top - a.top),\n after: Math.max(0, a.bottom - b.bottom)\n }\n };\n}\nexport function getTargetBox(target) {\n if (Array.isArray(target)) {\n return new Box({\n x: target[0],\n y: target[1],\n width: 0,\n height: 0\n });\n } else {\n return target.getBoundingClientRect();\n }\n}\n//# sourceMappingURL=box.mjs.map","// Utilities\nimport { Box } from \"./box.mjs\";\n/** @see https://stackoverflow.com/a/57876601/2074736 */\nexport function nullifyTransforms(el) {\n const rect = el.getBoundingClientRect();\n const style = getComputedStyle(el);\n const tx = style.transform;\n if (tx) {\n let ta, sx, sy, dx, dy;\n if (tx.startsWith('matrix3d(')) {\n ta = tx.slice(9, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[5];\n dx = +ta[12];\n dy = +ta[13];\n } else if (tx.startsWith('matrix(')) {\n ta = tx.slice(7, -1).split(/, /);\n sx = +ta[0];\n sy = +ta[3];\n dx = +ta[4];\n dy = +ta[5];\n } else {\n return new Box(rect);\n }\n const to = style.transformOrigin;\n const x = rect.x - dx - (1 - sx) * parseFloat(to);\n const y = rect.y - dy - (1 - sy) * parseFloat(to.slice(to.indexOf(' ') + 1));\n const w = sx ? rect.width / sx : el.offsetWidth + 1;\n const h = sy ? rect.height / sy : el.offsetHeight + 1;\n return new Box({\n x,\n y,\n width: w,\n height: h\n });\n } else {\n return new Box(rect);\n }\n}\nexport function animate(el, keyframes, options) {\n if (typeof el.animate === 'undefined') return {\n finished: Promise.resolve()\n };\n let animation;\n try {\n animation = el.animate(keyframes, options);\n } catch (err) {\n return {\n finished: Promise.resolve()\n };\n }\n if (typeof animation.finished === 'undefined') {\n animation.finished = new Promise(resolve => {\n animation.onfinish = () => {\n resolve(animation);\n };\n });\n }\n return animation;\n}\n//# sourceMappingURL=animation.mjs.map","// Utilities\nimport { eventName, isOn } from \"./helpers.mjs\";\nconst handlers = new WeakMap();\nexport function bindProps(el, props) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k);\n const handler = handlers.get(el);\n if (props[k] == null) {\n handler?.forEach(v => {\n const [n, fn] = v;\n if (n === name) {\n el.removeEventListener(name, fn);\n handler.delete(v);\n }\n });\n } else if (!handler || ![...handler]?.some(v => v[0] === name && v[1] === props[k])) {\n el.addEventListener(name, props[k]);\n const _handler = handler || new Set();\n _handler.add([name, props[k]]);\n if (!handlers.has(el)) handlers.set(el, _handler);\n }\n } else {\n if (props[k] == null) {\n el.removeAttribute(k);\n } else {\n el.setAttribute(k, props[k]);\n }\n }\n });\n}\nexport function unbindProps(el, props) {\n Object.keys(props).forEach(k => {\n if (isOn(k)) {\n const name = eventName(k);\n const handler = handlers.get(el);\n handler?.forEach(v => {\n const [n, fn] = v;\n if (n === name) {\n el.removeEventListener(name, fn);\n handler.delete(v);\n }\n });\n } else {\n el.removeAttribute(k);\n }\n });\n}\n//# sourceMappingURL=bindProps.mjs.map","/**\n * WCAG 3.0 APCA perceptual contrast algorithm from https://github.com/Myndex/SAPC-APCA\n * @licence https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n * @see https://www.w3.org/WAI/GL/task-forces/silver/wiki/Visual_Contrast_of_Text_Subgroup\n */\n// Types\n\n// MAGICAL NUMBERS\n\n// sRGB Conversion to Relative Luminance (Y)\n\n// Transfer Curve (aka \"Gamma\") for sRGB linearization\n// Simple power curve vs piecewise described in docs\n// Essentially, 2.4 best models actual display\n// characteristics in combination with the total method\nconst mainTRC = 2.4;\nconst Rco = 0.2126729; // sRGB Red Coefficient (from matrix)\nconst Gco = 0.7151522; // sRGB Green Coefficient (from matrix)\nconst Bco = 0.0721750; // sRGB Blue Coefficient (from matrix)\n\n// For Finding Raw SAPC Contrast from Relative Luminance (Y)\n\n// Constants for SAPC Power Curve Exponents\n// One pair for normal text, and one for reverse\n// These are the \"beating heart\" of SAPC\nconst normBG = 0.55;\nconst normTXT = 0.58;\nconst revTXT = 0.57;\nconst revBG = 0.62;\n\n// For Clamping and Scaling Values\n\nconst blkThrs = 0.03; // Level that triggers the soft black clamp\nconst blkClmp = 1.45; // Exponent for the soft black clamp curve\nconst deltaYmin = 0.0005; // Lint trap\nconst scaleBoW = 1.25; // Scaling for dark text on light\nconst scaleWoB = 1.25; // Scaling for light text on dark\nconst loConThresh = 0.078; // Threshold for new simple offset scale\nconst loConFactor = 12.82051282051282; // = 1/0.078,\nconst loConOffset = 0.06; // The simple offset\nconst loClip = 0.001; // Output clip (lint trap #2)\n\nexport function APCAcontrast(text, background) {\n // Linearize sRGB\n const Rtxt = (text.r / 255) ** mainTRC;\n const Gtxt = (text.g / 255) ** mainTRC;\n const Btxt = (text.b / 255) ** mainTRC;\n const Rbg = (background.r / 255) ** mainTRC;\n const Gbg = (background.g / 255) ** mainTRC;\n const Bbg = (background.b / 255) ** mainTRC;\n\n // Apply the standard coefficients and sum to Y\n let Ytxt = Rtxt * Rco + Gtxt * Gco + Btxt * Bco;\n let Ybg = Rbg * Rco + Gbg * Gco + Bbg * Bco;\n\n // Soft clamp Y when near black.\n // Now clamping all colors to prevent crossover errors\n if (Ytxt <= blkThrs) Ytxt += (blkThrs - Ytxt) ** blkClmp;\n if (Ybg <= blkThrs) Ybg += (blkThrs - Ybg) ** blkClmp;\n\n // Return 0 Early for extremely low ∆Y (lint trap #1)\n if (Math.abs(Ybg - Ytxt) < deltaYmin) return 0.0;\n\n // SAPC CONTRAST\n\n let outputContrast; // For weighted final values\n if (Ybg > Ytxt) {\n // For normal polarity, black text on white\n // Calculate the SAPC contrast value and scale\n\n const SAPC = (Ybg ** normBG - Ytxt ** normTXT) * scaleBoW;\n\n // NEW! SAPC SmoothScale™\n // Low Contrast Smooth Scale Rollout to prevent polarity reversal\n // and also a low clip for very low contrasts (lint trap #2)\n // much of this is for very low contrasts, less than 10\n // therefore for most reversing needs, only loConOffset is important\n outputContrast = SAPC < loClip ? 0.0 : SAPC < loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC - loConOffset;\n } else {\n // For reverse polarity, light text on dark\n // WoB should always return negative value.\n\n const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;\n outputContrast = SAPC > -loClip ? 0.0 : SAPC > -loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;\n }\n return outputContrast * 100;\n}\n//# sourceMappingURL=APCA.mjs.map","/* eslint-disable no-console */\n\n// Utilities\nimport { warn } from 'vue';\nexport function consoleWarn(message) {\n warn(`Vuetify: ${message}`);\n}\nexport function consoleError(message) {\n warn(`Vuetify error: ${message}`);\n}\nexport function deprecate(original, replacement) {\n replacement = Array.isArray(replacement) ? replacement.slice(0, -1).map(s => `'${s}'`).join(', ') + ` or '${replacement.at(-1)}'` : `'${replacement}'`;\n warn(`[Vuetify UPGRADE] '${original}' is deprecated, use ${replacement} instead.`);\n}\nexport function breaking(original, replacement) {\n // warn(`[Vuetify BREAKING] '${original}' has been removed, use '${replacement}' instead. For more information, see the upgrade guide https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide`)\n}\nexport function removed(original) {\n // warn(`[Vuetify REMOVED] '${original}' has been removed. You can safely omit it.`)\n}\n//# sourceMappingURL=console.mjs.map","// Types\n\nconst delta = 0.20689655172413793; // 6÷29\n\nconst cielabForwardTransform = t => t > delta ** 3 ? Math.cbrt(t) : t / (3 * delta ** 2) + 4 / 29;\nconst cielabReverseTransform = t => t > delta ? t ** 3 : 3 * delta ** 2 * (t - 4 / 29);\nexport function fromXYZ(xyz) {\n const transform = cielabForwardTransform;\n const transformedY = transform(xyz[1]);\n return [116 * transformedY - 16, 500 * (transform(xyz[0] / 0.95047) - transformedY), 200 * (transformedY - transform(xyz[2] / 1.08883))];\n}\nexport function toXYZ(lab) {\n const transform = cielabReverseTransform;\n const Ln = (lab[0] + 16) / 116;\n return [transform(Ln + lab[1] / 500) * 0.95047, transform(Ln), transform(Ln - lab[2] / 200) * 1.08883];\n}\n//# sourceMappingURL=transformCIELAB.mjs.map","// Utilities\nimport { clamp } from \"../helpers.mjs\"; // Types\n// For converting XYZ to sRGB\nconst srgbForwardMatrix = [[3.2406, -1.5372, -0.4986], [-0.9689, 1.8758, 0.0415], [0.0557, -0.2040, 1.0570]];\n\n// Forward gamma adjust\nconst srgbForwardTransform = C => C <= 0.0031308 ? C * 12.92 : 1.055 * C ** (1 / 2.4) - 0.055;\n\n// For converting sRGB to XYZ\nconst srgbReverseMatrix = [[0.4124, 0.3576, 0.1805], [0.2126, 0.7152, 0.0722], [0.0193, 0.1192, 0.9505]];\n\n// Reverse gamma adjust\nconst srgbReverseTransform = C => C <= 0.04045 ? C / 12.92 : ((C + 0.055) / 1.055) ** 2.4;\nexport function fromXYZ(xyz) {\n const rgb = Array(3);\n const transform = srgbForwardTransform;\n const matrix = srgbForwardMatrix;\n\n // Matrix transform, then gamma adjustment\n for (let i = 0; i < 3; ++i) {\n // Rescale back to [0, 255]\n rgb[i] = Math.round(clamp(transform(matrix[i][0] * xyz[0] + matrix[i][1] * xyz[1] + matrix[i][2] * xyz[2])) * 255);\n }\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2]\n };\n}\nexport function toXYZ(_ref) {\n let {\n r,\n g,\n b\n } = _ref;\n const xyz = [0, 0, 0];\n const transform = srgbReverseTransform;\n const matrix = srgbReverseMatrix;\n\n // Rescale from [0, 255] to [0, 1] then adjust sRGB gamma to linear RGB\n r = transform(r / 255);\n g = transform(g / 255);\n b = transform(b / 255);\n\n // Matrix color space transform\n for (let i = 0; i < 3; ++i) {\n xyz[i] = matrix[i][0] * r + matrix[i][1] * g + matrix[i][2] * b;\n }\n return xyz;\n}\n//# sourceMappingURL=transformSRGB.mjs.map","// Utilities\nimport { APCAcontrast } from \"./color/APCA.mjs\";\nimport { consoleWarn } from \"./console.mjs\";\nimport { chunk, has, padEnd } from \"./helpers.mjs\";\nimport * as CIELAB from \"./color/transformCIELAB.mjs\";\nimport * as sRGB from \"./color/transformSRGB.mjs\"; // Types\nexport function isCssColor(color) {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color);\n}\nexport function isParsableColor(color) {\n return isCssColor(color) && !/^((rgb|hsl)a?\\()?var\\(--/.test(color);\n}\nconst cssColorRe = /^(?(?:rgb|hsl)a?)\\((?.+)\\)/;\nconst mappers = {\n rgb: (r, g, b, a) => ({\n r,\n g,\n b,\n a\n }),\n rgba: (r, g, b, a) => ({\n r,\n g,\n b,\n a\n }),\n hsl: (h, s, l, a) => HSLtoRGB({\n h,\n s,\n l,\n a\n }),\n hsla: (h, s, l, a) => HSLtoRGB({\n h,\n s,\n l,\n a\n }),\n hsv: (h, s, v, a) => HSVtoRGB({\n h,\n s,\n v,\n a\n }),\n hsva: (h, s, v, a) => HSVtoRGB({\n h,\n s,\n v,\n a\n })\n};\nexport function parseColor(color) {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) {\n // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`);\n }\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: color & 0xFF\n };\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const {\n groups\n } = color.match(cssColorRe);\n const {\n fn,\n values\n } = groups;\n const realValues = values.split(/,\\s*/).map(v => {\n if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100;\n } else {\n return parseFloat(v);\n }\n });\n return mappers[fn](...realValues);\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color;\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('');\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`);\n }\n const int = parseInt(hex, 16);\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`);\n }\n return HexToRGB(hex);\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color;\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color));\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color);\n }\n }\n throw new TypeError(`Invalid color: ${color == null ? color : String(color) || color.constructor.name}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`);\n}\nexport function RGBToInt(color) {\n return (color.r << 16) + (color.g << 8) + color.b;\n}\nexport function classToHex(color, colors, currentTheme) {\n const [colorName, colorModifier] = color.toString().trim().replace('-', '').split(' ', 2);\n let hexColor = '';\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier];\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base;\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName];\n }\n return hexColor;\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n const f = n => {\n const k = (n + h / 60) % 6;\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n };\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255));\n return {\n r: rgb[0],\n g: rgb[1],\n b: rgb[2],\n a\n };\n}\nexport function HSLtoRGB(hsla) {\n return HSVtoRGB(HSLtoHSV(hsla));\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV(rgba) {\n if (!rgba) return {\n h: 0,\n s: 1,\n v: 1,\n a: 1\n };\n const r = rgba.r / 255;\n const g = rgba.g / 255;\n const b = rgba.b / 255;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n let h = 0;\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + (g - b) / (max - min));\n } else if (max === g) {\n h = 60 * (2 + (b - r) / (max - min));\n } else if (max === b) {\n h = 60 * (4 + (r - g) / (max - min));\n }\n }\n if (h < 0) h = h + 360;\n const s = max === 0 ? 0 : (max - min) / max;\n const hsv = [h, s, max];\n return {\n h: hsv[0],\n s: hsv[1],\n v: hsv[2],\n a: rgba.a\n };\n}\nexport function HSVtoHSL(hsva) {\n const {\n h,\n s,\n v,\n a\n } = hsva;\n const l = v - v * s / 2;\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l);\n return {\n h,\n s: sprime,\n l,\n a\n };\n}\nexport function HSLtoHSV(hsl) {\n const {\n h,\n s,\n l,\n a\n } = hsl;\n const v = l + s * Math.min(l, 1 - l);\n const sprime = v === 0 ? 0 : 2 - 2 * l / v;\n return {\n h,\n s: sprime,\n v,\n a\n };\n}\nexport function RGBtoCSS(_ref) {\n let {\n r,\n g,\n b,\n a\n } = _ref;\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`;\n}\nexport function HSVtoCSS(hsva) {\n return RGBtoCSS(HSVtoRGB(hsva));\n}\nfunction toHex(v) {\n const h = Math.round(v).toString(16);\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase();\n}\nexport function RGBtoHex(_ref2) {\n let {\n r,\n g,\n b,\n a\n } = _ref2;\n return `#${[toHex(r), toHex(g), toHex(b), a !== undefined ? toHex(Math.round(a * 255)) : ''].join('')}`;\n}\nexport function HexToRGB(hex) {\n hex = parseHex(hex);\n let [r, g, b, a] = chunk(hex, 2).map(c => parseInt(c, 16));\n a = a === undefined ? a : a / 255;\n return {\n r,\n g,\n b,\n a\n };\n}\nexport function HexToHSV(hex) {\n const rgb = HexToRGB(hex);\n return RGBtoHSV(rgb);\n}\nexport function HSVtoHex(hsva) {\n return RGBtoHex(HSVtoRGB(hsva));\n}\nexport function parseHex(hex) {\n if (hex.startsWith('#')) {\n hex = hex.slice(1);\n }\n hex = hex.replace(/([^0-9a-f])/gi, 'F');\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('');\n }\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F');\n }\n return hex;\n}\nexport function parseGradient(gradient, colors, currentTheme) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x;\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',');\n });\n}\nexport function lighten(value, amount) {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] + amount * 10;\n return sRGB.fromXYZ(CIELAB.toXYZ(lab));\n}\nexport function darken(value, amount) {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value));\n lab[0] = lab[0] - amount * 10;\n return sRGB.fromXYZ(CIELAB.toXYZ(lab));\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma(color) {\n const rgb = parseColor(color);\n return sRGB.toXYZ(rgb)[1];\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast(first, second) {\n const l1 = getLuma(first);\n const l2 = getLuma(second);\n const light = Math.max(l1, l2);\n const dark = Math.min(l1, l2);\n return (light + 0.05) / (dark + 0.05);\n}\nexport function getForeground(color) {\n const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color)));\n const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), parseColor(color)));\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n return whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000';\n}\n//# sourceMappingURL=colorUtils.mjs.map","// Types\n// eslint-disable-line vue/prefer-import-from-vue\n\n/**\n * Creates a factory function for props definitions.\n * This is used to define props in a composable then override\n * default values in an implementing component.\n *\n * @example Simplified signature\n * (props: Props) => (defaults?: Record) => Props\n *\n * @example Usage\n * const makeProps = propsFactory({\n * foo: String,\n * })\n *\n * defineComponent({\n * props: {\n * ...makeProps({\n * foo: 'a',\n * }),\n * },\n * setup (props) {\n * // would be \"string | undefined\", now \"string\" because a default has been provided\n * props.foo\n * },\n * }\n */\n\nexport function propsFactory(props, source) {\n return defaults => {\n return Object.keys(props).reduce((obj, prop) => {\n const isObjectDefinition = typeof props[prop] === 'object' && props[prop] != null && !Array.isArray(props[prop]);\n const definition = isObjectDefinition ? props[prop] : {\n type: props[prop]\n };\n if (defaults && prop in defaults) {\n obj[prop] = {\n ...definition,\n default: defaults[prop]\n };\n } else {\n obj[prop] = definition;\n }\n if (source && !obj[prop].source) {\n obj[prop].source = source;\n }\n return obj;\n }, {});\n };\n}\n\n/**\n * Like `Partial` but doesn't care what the value is\n */\n\n// Copied from Vue\n//# sourceMappingURL=propsFactory.mjs.map","// Utilities\nimport { propsFactory } from \"../util/propsFactory.mjs\"; // Types\n// Composables\nexport const makeComponentProps = propsFactory({\n class: [String, Array, Object],\n style: {\n type: [String, Array, Object],\n default: null\n }\n}, 'component');\n//# sourceMappingURL=component.mjs.map","// Utilities\nimport { getCurrentInstance as _getCurrentInstance } from 'vue';\nimport { toKebabCase } from \"./helpers.mjs\"; // Types\nexport function getCurrentInstance(name, message) {\n const vm = _getCurrentInstance();\n if (!vm) {\n throw new Error(`[Vuetify] ${name} ${message || 'must be called from inside a setup function'}`);\n }\n return vm;\n}\nexport function getCurrentInstanceName() {\n let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'composables';\n const vm = getCurrentInstance(name).type;\n return toKebabCase(vm?.aliasName || vm?.name);\n}\nlet _uid = 0;\nlet _map = new WeakMap();\nexport function getUid() {\n const vm = getCurrentInstance('getUid');\n if (_map.has(vm)) return _map.get(vm);else {\n const uid = _uid++;\n _map.set(vm, uid);\n return uid;\n }\n}\ngetUid.reset = () => {\n _uid = 0;\n _map = new WeakMap();\n};\n//# sourceMappingURL=getCurrentInstance.mjs.map","// Utilities\nimport { getCurrentInstance } from \"./getCurrentInstance.mjs\"; // Types\nexport function injectSelf(key) {\n let vm = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstance('injectSelf');\n const {\n provides\n } = vm;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n return undefined;\n}\n//# sourceMappingURL=injectSelf.mjs.map","// Utilities\nimport { computed, inject, provide, ref, shallowRef, unref, watchEffect } from 'vue';\nimport { getCurrentInstance } from \"../util/getCurrentInstance.mjs\";\nimport { mergeDeep, toKebabCase } from \"../util/helpers.mjs\";\nimport { injectSelf } from \"../util/injectSelf.mjs\"; // Types\nexport const DefaultsSymbol = Symbol.for('vuetify:defaults');\nexport function createDefaults(options) {\n return ref(options);\n}\nexport function injectDefaults() {\n const defaults = inject(DefaultsSymbol);\n if (!defaults) throw new Error('[Vuetify] Could not find defaults instance');\n return defaults;\n}\nexport function provideDefaults(defaults, options) {\n const injectedDefaults = injectDefaults();\n const providedDefaults = ref(defaults);\n const newDefaults = computed(() => {\n const disabled = unref(options?.disabled);\n if (disabled) return injectedDefaults.value;\n const scoped = unref(options?.scoped);\n const reset = unref(options?.reset);\n const root = unref(options?.root);\n if (providedDefaults.value == null && !(scoped || reset || root)) return injectedDefaults.value;\n let properties = mergeDeep(providedDefaults.value, {\n prev: injectedDefaults.value\n });\n if (scoped) return properties;\n if (reset || root) {\n const len = Number(reset || Infinity);\n for (let i = 0; i <= len; i++) {\n if (!properties || !('prev' in properties)) {\n break;\n }\n properties = properties.prev;\n }\n if (properties && typeof root === 'string' && root in properties) {\n properties = mergeDeep(mergeDeep(properties, {\n prev: properties\n }), properties[root]);\n }\n return properties;\n }\n return properties.prev ? mergeDeep(properties.prev, properties) : properties;\n });\n provide(DefaultsSymbol, newDefaults);\n return newDefaults;\n}\nfunction propIsDefined(vnode, prop) {\n return typeof vnode.props?.[prop] !== 'undefined' || typeof vnode.props?.[toKebabCase(prop)] !== 'undefined';\n}\nexport function internalUseDefaults() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let name = arguments.length > 1 ? arguments[1] : undefined;\n let defaults = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : injectDefaults();\n const vm = getCurrentInstance('useDefaults');\n name = name ?? vm.type.name ?? vm.type.__name;\n if (!name) {\n throw new Error('[Vuetify] Could not determine component name');\n }\n const componentDefaults = computed(() => defaults.value?.[props._as ?? name]);\n const _props = new Proxy(props, {\n get(target, prop) {\n const propValue = Reflect.get(target, prop);\n if (prop === 'class' || prop === 'style') {\n return [componentDefaults.value?.[prop], propValue].filter(v => v != null);\n } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {\n return componentDefaults.value?.[prop] !== undefined ? componentDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;\n }\n return propValue;\n }\n });\n const _subcomponentDefaults = shallowRef();\n watchEffect(() => {\n if (componentDefaults.value) {\n const subComponents = Object.entries(componentDefaults.value).filter(_ref => {\n let [key] = _ref;\n return key.startsWith(key[0].toUpperCase());\n });\n _subcomponentDefaults.value = subComponents.length ? Object.fromEntries(subComponents) : undefined;\n } else {\n _subcomponentDefaults.value = undefined;\n }\n });\n function provideSubDefaults() {\n const injected = injectSelf(DefaultsSymbol, vm);\n provide(DefaultsSymbol, computed(() => {\n return _subcomponentDefaults.value ? mergeDeep(injected?.value ?? {}, _subcomponentDefaults.value) : injected?.value;\n }));\n }\n return {\n props: _props,\n provideSubDefaults\n };\n}\nexport function useDefaults() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let name = arguments.length > 1 ? arguments[1] : undefined;\n const {\n props: _props,\n provideSubDefaults\n } = internalUseDefaults(props, name);\n provideSubDefaults();\n return _props;\n}\n//# sourceMappingURL=defaults.mjs.map","// Composables\nimport { injectDefaults, internalUseDefaults } from \"../composables/defaults.mjs\"; // Utilities\nimport { defineComponent as _defineComponent // eslint-disable-line no-restricted-imports\n} from 'vue';\nimport { consoleWarn } from \"./console.mjs\";\nimport { pick } from \"./helpers.mjs\";\nimport { propsFactory } from \"./propsFactory.mjs\"; // Types\n// No props\n// Object Props\n// Implementation\nexport function defineComponent(options) {\n options._setup = options._setup ?? options.setup;\n if (!options.name) {\n consoleWarn('The component is missing an explicit name, unable to generate default prop value');\n return options;\n }\n if (options._setup) {\n options.props = propsFactory(options.props ?? {}, options.name)();\n const propKeys = Object.keys(options.props).filter(key => key !== 'class' && key !== 'style');\n options.filterProps = function filterProps(props) {\n return pick(props, propKeys);\n };\n options.props._as = String;\n options.setup = function setup(props, ctx) {\n const defaults = injectDefaults();\n\n // Skip props proxy if defaults are not provided\n if (!defaults.value) return options._setup(props, ctx);\n const {\n props: _props,\n provideSubDefaults\n } = internalUseDefaults(props, props._as ?? options.name, defaults);\n const setupBindings = options._setup(_props, ctx);\n provideSubDefaults();\n return setupBindings;\n };\n }\n return options;\n}\n\n// No argument - simple default slot\n\n// Generic constructor argument - generic props and slots\n\n// Slots argument - simple slots\n\n// Implementation\nexport function genericComponent() {\n let exposeDefaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n return options => (exposeDefaults ? defineComponent : _defineComponent)(options);\n}\nexport function defineFunctionalComponent(props, render) {\n render.props = props;\n return render;\n}\n\n// Adds a filterProps method to the component options\n\n// https://github.com/vuejs/core/pull/10557\n\n// not a vue Component\n//# sourceMappingURL=defineComponent.mjs.map","// Composables\nimport { makeComponentProps } from \"../composables/component.mjs\"; // Utilities\nimport { camelize, capitalize, h } from 'vue';\nimport { genericComponent } from \"./defineComponent.mjs\";\nexport function createSimpleFunctional(klass) {\n let tag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'div';\n let name = arguments.length > 2 ? arguments[2] : undefined;\n return genericComponent()({\n name: name ?? capitalize(camelize(klass.replace(/__/g, '-'))),\n props: {\n tag: {\n type: String,\n default: tag\n },\n ...makeComponentProps()\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n return () => {\n return h(props.tag, {\n class: [klass, props.class],\n style: props.style\n }, slots.default?.());\n };\n }\n });\n}\n//# sourceMappingURL=createSimpleFunctional.mjs.map","/**\n * Returns:\n * - 'null' if the node is not attached to the DOM\n * - the root node (HTMLDocument | ShadowRoot) otherwise\n */\nexport function attachedRoot(node) {\n /* istanbul ignore next */\n if (typeof node.getRootNode !== 'function') {\n // Shadow DOM not supported (IE11), lets find the root of this node\n while (node.parentNode) node = node.parentNode;\n\n // The root parent is the document if the node is attached to the DOM\n if (node !== document) return null;\n return document;\n }\n const root = node.getRootNode();\n\n // The composed root node is the document if the node is attached to the DOM\n if (root !== document && root.getRootNode({\n composed: true\n }) !== document) return null;\n return root;\n}\n//# sourceMappingURL=dom.mjs.map","export const standardEasing = 'cubic-bezier(0.4, 0, 0.2, 1)';\nexport const deceleratedEasing = 'cubic-bezier(0.0, 0, 0.2, 1)'; // Entering\nexport const acceleratedEasing = 'cubic-bezier(0.4, 0, 1, 1)'; // Leaving\n//# sourceMappingURL=easing.mjs.map","// Utilities\nimport { isOn } from \"./helpers.mjs\";\nexport function getPrefixedEventHandlers(attrs, suffix, getData) {\n return Object.keys(attrs).filter(key => isOn(key) && key.endsWith(suffix)).reduce((acc, key) => {\n acc[key.slice(0, -suffix.length)] = event => attrs[key](event, getData(event));\n return acc;\n }, {});\n}\n//# sourceMappingURL=events.mjs.map","export function getScrollParent(el) {\n let includeHidden = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n while (el) {\n if (includeHidden ? isPotentiallyScrollable(el) : hasScrollbar(el)) return el;\n el = el.parentElement;\n }\n return document.scrollingElement;\n}\nexport function getScrollParents(el, stopAt) {\n const elements = [];\n if (stopAt && el && !stopAt.contains(el)) return elements;\n while (el) {\n if (hasScrollbar(el)) elements.push(el);\n if (el === stopAt) break;\n el = el.parentElement;\n }\n return elements;\n}\nexport function hasScrollbar(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const style = window.getComputedStyle(el);\n return style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;\n}\nfunction isPotentiallyScrollable(el) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;\n const style = window.getComputedStyle(el);\n return ['scroll', 'auto'].includes(style.overflowY);\n}\n//# sourceMappingURL=getScrollParent.mjs.map","export function isFixedPosition(el) {\n while (el) {\n if (window.getComputedStyle(el).position === 'fixed') {\n return true;\n }\n el = el.offsetParent;\n }\n return false;\n}\n//# sourceMappingURL=isFixedPosition.mjs.map","// Utilities\nimport { getCurrentInstance } from \"./getCurrentInstance.mjs\"; // Types\nexport function useRender(render) {\n const vm = getCurrentInstance('useRender');\n vm.render = render;\n}\n//# sourceMappingURL=useRender.mjs.map","// Composables\nimport { useToggleScope } from \"./toggleScope.mjs\"; // Utilities\nimport { computed, ref, toRaw, watch } from 'vue';\nimport { getCurrentInstance, toKebabCase } from \"../util/index.mjs\"; // Types\n// Composables\nexport function useProxiedModel(props, prop, defaultValue) {\n let transformIn = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : v => v;\n let transformOut = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : v => v;\n const vm = getCurrentInstance('useProxiedModel');\n const internal = ref(props[prop] !== undefined ? props[prop] : defaultValue);\n const kebabProp = toKebabCase(prop);\n const checkKebab = kebabProp !== prop;\n const isControlled = checkKebab ? computed(() => {\n void props[prop];\n return !!((vm.vnode.props?.hasOwnProperty(prop) || vm.vnode.props?.hasOwnProperty(kebabProp)) && (vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`) || vm.vnode.props?.hasOwnProperty(`onUpdate:${kebabProp}`)));\n }) : computed(() => {\n void props[prop];\n return !!(vm.vnode.props?.hasOwnProperty(prop) && vm.vnode.props?.hasOwnProperty(`onUpdate:${prop}`));\n });\n useToggleScope(() => !isControlled.value, () => {\n watch(() => props[prop], val => {\n internal.value = val;\n });\n });\n const model = computed({\n get() {\n const externalValue = props[prop];\n return transformIn(isControlled.value ? externalValue : internal.value);\n },\n set(internalValue) {\n const newValue = transformOut(internalValue);\n const value = toRaw(isControlled.value ? props[prop] : internal.value);\n if (value === newValue || transformIn(value) === internalValue) {\n return;\n }\n internal.value = newValue;\n vm?.emit(`update:${prop}`, newValue);\n }\n });\n Object.defineProperty(model, 'externalValue', {\n get: () => isControlled.value ? props[prop] : internal.value\n });\n return model;\n}\n//# sourceMappingURL=proxiedModel.mjs.map","export default {\n badge: 'Badge',\n open: 'Open',\n close: 'Close',\n dismiss: 'Dismiss',\n confirmEdit: {\n ok: 'OK',\n cancel: 'Cancel'\n },\n dataIterator: {\n noResultsText: 'No matching records found',\n loadingText: 'Loading items...'\n },\n dataTable: {\n itemsPerPageText: 'Rows per page:',\n ariaLabel: {\n sortDescending: 'Sorted descending.',\n sortAscending: 'Sorted ascending.',\n sortNone: 'Not sorted.',\n activateNone: 'Activate to remove sorting.',\n activateDescending: 'Activate to sort descending.',\n activateAscending: 'Activate to sort ascending.'\n },\n sortBy: 'Sort by'\n },\n dataFooter: {\n itemsPerPageText: 'Items per page:',\n itemsPerPageAll: 'All',\n nextPage: 'Next page',\n prevPage: 'Previous page',\n firstPage: 'First page',\n lastPage: 'Last page',\n pageText: '{0}-{1} of {2}'\n },\n dateRangeInput: {\n divider: 'to'\n },\n datePicker: {\n itemsSelected: '{0} selected',\n range: {\n title: 'Select dates',\n header: 'Enter dates'\n },\n title: 'Select date',\n header: 'Enter date',\n input: {\n placeholder: 'Enter date'\n }\n },\n noDataText: 'No data available',\n carousel: {\n prev: 'Previous visual',\n next: 'Next visual',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}'\n }\n },\n calendar: {\n moreEvents: '{0} more',\n today: 'Today'\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n otp: 'Please enter OTP character {0}'\n },\n fileInput: {\n counter: '{0} files',\n counterSize: '{0} files ({1} in total)'\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n title: 'Select Time'\n },\n pagination: {\n ariaLabel: {\n root: 'Pagination Navigation',\n next: 'Next page',\n previous: 'Previous page',\n page: 'Go to page {0}',\n currentPage: 'Page {0}, Current page',\n first: 'First page',\n last: 'Last page'\n }\n },\n stepper: {\n next: 'Next',\n prev: 'Previous'\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}'\n }\n },\n loading: 'Loading...',\n infiniteScroll: {\n loadMore: 'Load more',\n empty: 'No more'\n }\n};\n//# sourceMappingURL=en.mjs.map","// Composables\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { ref, shallowRef, watch } from 'vue';\nimport { consoleError, consoleWarn, getObjectValueByPath } from \"../../util/index.mjs\"; // Locales\nimport en from \"../en.mjs\"; // Types\nconst LANG_PREFIX = '$vuetify.';\nconst replace = (str, params) => {\n return str.replace(/\\{(\\d+)\\}/g, (match, index) => {\n return String(params[+index]);\n });\n};\nconst createTranslateFunction = (current, fallback, messages) => {\n return function (key) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n if (!key.startsWith(LANG_PREFIX)) {\n return replace(key, params);\n }\n const shortKey = key.replace(LANG_PREFIX, '');\n const currentLocale = current.value && messages.value[current.value];\n const fallbackLocale = fallback.value && messages.value[fallback.value];\n let str = getObjectValueByPath(currentLocale, shortKey, null);\n if (!str) {\n consoleWarn(`Translation key \"${key}\" not found in \"${current.value}\", trying fallback locale`);\n str = getObjectValueByPath(fallbackLocale, shortKey, null);\n }\n if (!str) {\n consoleError(`Translation key \"${key}\" not found in fallback`);\n str = key;\n }\n if (typeof str !== 'string') {\n consoleError(`Translation key \"${key}\" has a non-string value`);\n str = key;\n }\n return replace(str, params);\n };\n};\nfunction createNumberFunction(current, fallback) {\n return (value, options) => {\n const numberFormat = new Intl.NumberFormat([current.value, fallback.value], options);\n return numberFormat.format(value);\n };\n}\nfunction useProvided(props, prop, provided) {\n const internal = useProxiedModel(props, prop, props[prop] ?? provided.value);\n\n // TODO: Remove when defaultValue works\n internal.value = props[prop] ?? provided.value;\n watch(provided, v => {\n if (props[prop] == null) {\n internal.value = provided.value;\n }\n });\n return internal;\n}\nfunction createProvideFunction(state) {\n return props => {\n const current = useProvided(props, 'locale', state.current);\n const fallback = useProvided(props, 'fallback', state.fallback);\n const messages = useProvided(props, 'messages', state.messages);\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({\n current,\n fallback,\n messages\n })\n };\n };\n}\nexport function createVuetifyAdapter(options) {\n const current = shallowRef(options?.locale ?? 'en');\n const fallback = shallowRef(options?.fallback ?? 'en');\n const messages = ref({\n en,\n ...options?.messages\n });\n return {\n name: 'vuetify',\n current,\n fallback,\n messages,\n t: createTranslateFunction(current, fallback, messages),\n n: createNumberFunction(current, fallback),\n provide: createProvideFunction({\n current,\n fallback,\n messages\n })\n };\n}\n//# sourceMappingURL=vuetify.mjs.map","// Utilities\nimport { computed, inject, provide, ref } from 'vue';\nimport { createVuetifyAdapter } from \"../locale/adapters/vuetify.mjs\"; // Types\nexport const LocaleSymbol = Symbol.for('vuetify:locale');\nfunction isLocaleInstance(obj) {\n return obj.name != null;\n}\nexport function createLocale(options) {\n const i18n = options?.adapter && isLocaleInstance(options?.adapter) ? options?.adapter : createVuetifyAdapter(options);\n const rtl = createRtl(i18n, options);\n return {\n ...i18n,\n ...rtl\n };\n}\nexport function useLocale() {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');\n return locale;\n}\nexport function provideLocale(props) {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected locale instance');\n const i18n = locale.provide(props);\n const rtl = provideRtl(i18n, locale.rtl, props);\n const data = {\n ...i18n,\n ...rtl\n };\n provide(LocaleSymbol, data);\n return data;\n}\n\n// RTL\n\nexport const RtlSymbol = Symbol.for('vuetify:rtl');\nfunction genDefaults() {\n return {\n af: false,\n ar: true,\n bg: false,\n ca: false,\n ckb: false,\n cs: false,\n de: false,\n el: false,\n en: false,\n es: false,\n et: false,\n fa: true,\n fi: false,\n fr: false,\n hr: false,\n hu: false,\n he: true,\n id: false,\n it: false,\n ja: false,\n km: false,\n ko: false,\n lv: false,\n lt: false,\n nl: false,\n no: false,\n pl: false,\n pt: false,\n ro: false,\n ru: false,\n sk: false,\n sl: false,\n srCyrl: false,\n srLatn: false,\n sv: false,\n th: false,\n tr: false,\n az: false,\n uk: false,\n vi: false,\n zhHans: false,\n zhHant: false\n };\n}\nexport function createRtl(i18n, options) {\n const rtl = ref(options?.rtl ?? genDefaults());\n const isRtl = computed(() => rtl.value[i18n.current.value] ?? false);\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)\n };\n}\nexport function provideRtl(locale, rtl, props) {\n const isRtl = computed(() => props.rtl ?? rtl.value[locale.current.value] ?? false);\n return {\n isRtl,\n rtl,\n rtlClasses: computed(() => `v-locale--is-${isRtl.value ? 'rtl' : 'ltr'}`)\n };\n}\nexport function useRtl() {\n const locale = inject(LocaleSymbol);\n if (!locale) throw new Error('[Vuetify] Could not find injected rtl instance');\n return {\n isRtl: locale.isRtl,\n rtlClasses: locale.rtlClasses\n };\n}\n//# sourceMappingURL=locale.mjs.map","// Utilities\nimport { createRange, padStart } from \"../../../util/index.mjs\"; // Types\nconst firstDay = {\n '001': 1,\n AD: 1,\n AE: 6,\n AF: 6,\n AG: 0,\n AI: 1,\n AL: 1,\n AM: 1,\n AN: 1,\n AR: 1,\n AS: 0,\n AT: 1,\n AU: 1,\n AX: 1,\n AZ: 1,\n BA: 1,\n BD: 0,\n BE: 1,\n BG: 1,\n BH: 6,\n BM: 1,\n BN: 1,\n BR: 0,\n BS: 0,\n BT: 0,\n BW: 0,\n BY: 1,\n BZ: 0,\n CA: 0,\n CH: 1,\n CL: 1,\n CM: 1,\n CN: 1,\n CO: 0,\n CR: 1,\n CY: 1,\n CZ: 1,\n DE: 1,\n DJ: 6,\n DK: 1,\n DM: 0,\n DO: 0,\n DZ: 6,\n EC: 1,\n EE: 1,\n EG: 6,\n ES: 1,\n ET: 0,\n FI: 1,\n FJ: 1,\n FO: 1,\n FR: 1,\n GB: 1,\n 'GB-alt-variant': 0,\n GE: 1,\n GF: 1,\n GP: 1,\n GR: 1,\n GT: 0,\n GU: 0,\n HK: 0,\n HN: 0,\n HR: 1,\n HU: 1,\n ID: 0,\n IE: 1,\n IL: 0,\n IN: 0,\n IQ: 6,\n IR: 6,\n IS: 1,\n IT: 1,\n JM: 0,\n JO: 6,\n JP: 0,\n KE: 0,\n KG: 1,\n KH: 0,\n KR: 0,\n KW: 6,\n KZ: 1,\n LA: 0,\n LB: 1,\n LI: 1,\n LK: 1,\n LT: 1,\n LU: 1,\n LV: 1,\n LY: 6,\n MC: 1,\n MD: 1,\n ME: 1,\n MH: 0,\n MK: 1,\n MM: 0,\n MN: 1,\n MO: 0,\n MQ: 1,\n MT: 0,\n MV: 5,\n MX: 0,\n MY: 1,\n MZ: 0,\n NI: 0,\n NL: 1,\n NO: 1,\n NP: 0,\n NZ: 1,\n OM: 6,\n PA: 0,\n PE: 0,\n PH: 0,\n PK: 0,\n PL: 1,\n PR: 0,\n PT: 0,\n PY: 0,\n QA: 6,\n RE: 1,\n RO: 1,\n RS: 1,\n RU: 1,\n SA: 0,\n SD: 6,\n SE: 1,\n SG: 0,\n SI: 1,\n SK: 1,\n SM: 1,\n SV: 0,\n SY: 6,\n TH: 0,\n TJ: 1,\n TM: 1,\n TR: 1,\n TT: 0,\n TW: 0,\n UA: 1,\n UM: 0,\n US: 0,\n UY: 1,\n UZ: 1,\n VA: 1,\n VE: 0,\n VI: 0,\n VN: 1,\n WS: 0,\n XK: 1,\n YE: 0,\n ZA: 0,\n ZW: 0\n};\nfunction getWeekArray(date, locale, firstDayOfWeek) {\n const weeks = [];\n let currentWeek = [];\n const firstDayOfMonth = startOfMonth(date);\n const lastDayOfMonth = endOfMonth(date);\n const first = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;\n const firstDayWeekIndex = (firstDayOfMonth.getDay() - first + 7) % 7;\n const lastDayWeekIndex = (lastDayOfMonth.getDay() - first + 7) % 7;\n for (let i = 0; i < firstDayWeekIndex; i++) {\n const adjacentDay = new Date(firstDayOfMonth);\n adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i));\n currentWeek.push(adjacentDay);\n }\n for (let i = 1; i <= lastDayOfMonth.getDate(); i++) {\n const day = new Date(date.getFullYear(), date.getMonth(), i);\n\n // Add the day to the current week\n currentWeek.push(day);\n\n // If the current week has 7 days, add it to the weeks array and start a new week\n if (currentWeek.length === 7) {\n weeks.push(currentWeek);\n currentWeek = [];\n }\n }\n for (let i = 1; i < 7 - lastDayWeekIndex; i++) {\n const adjacentDay = new Date(lastDayOfMonth);\n adjacentDay.setDate(adjacentDay.getDate() + i);\n currentWeek.push(adjacentDay);\n }\n if (currentWeek.length > 0) {\n weeks.push(currentWeek);\n }\n return weeks;\n}\nfunction startOfWeek(date, locale, firstDayOfWeek) {\n const day = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;\n const d = new Date(date);\n while (d.getDay() !== day) {\n d.setDate(d.getDate() - 1);\n }\n return d;\n}\nfunction endOfWeek(date, locale) {\n const d = new Date(date);\n const lastDay = ((firstDay[locale.slice(-2).toUpperCase()] ?? 0) + 6) % 7;\n while (d.getDay() !== lastDay) {\n d.setDate(d.getDate() + 1);\n }\n return d;\n}\nfunction startOfMonth(date) {\n return new Date(date.getFullYear(), date.getMonth(), 1);\n}\nfunction endOfMonth(date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 0);\n}\nfunction parseLocalDate(value) {\n const parts = value.split('-').map(Number);\n\n // new Date() uses local time zone when passing individual date component values\n return new Date(parts[0], parts[1] - 1, parts[2]);\n}\nconst _YYYMMDD = /^([12]\\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\\d|3[01]))$/;\nfunction date(value) {\n if (value == null) return new Date();\n if (value instanceof Date) return value;\n if (typeof value === 'string') {\n let parsed;\n if (_YYYMMDD.test(value)) {\n return parseLocalDate(value);\n } else {\n parsed = Date.parse(value);\n }\n if (!isNaN(parsed)) return new Date(parsed);\n }\n return null;\n}\nconst sundayJanuarySecond2000 = new Date(2000, 0, 2);\nfunction getWeekdays(locale, firstDayOfWeek) {\n const daysFromSunday = firstDayOfWeek ?? firstDay[locale.slice(-2).toUpperCase()] ?? 0;\n return createRange(7).map(i => {\n const weekday = new Date(sundayJanuarySecond2000);\n weekday.setDate(sundayJanuarySecond2000.getDate() + daysFromSunday + i);\n return new Intl.DateTimeFormat(locale, {\n weekday: 'narrow'\n }).format(weekday);\n });\n}\nfunction format(value, formatString, locale, formats) {\n const newDate = date(value) ?? new Date();\n const customFormat = formats?.[formatString];\n if (typeof customFormat === 'function') {\n return customFormat(newDate, formatString, locale);\n }\n let options = {};\n switch (formatString) {\n case 'fullDate':\n options = {\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n };\n break;\n case 'fullDateWithWeekday':\n options = {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n };\n break;\n case 'normalDate':\n const day = newDate.getDate();\n const month = new Intl.DateTimeFormat(locale, {\n month: 'long'\n }).format(newDate);\n return `${day} ${month}`;\n case 'normalDateWithWeekday':\n options = {\n weekday: 'short',\n day: 'numeric',\n month: 'short'\n };\n break;\n case 'shortDate':\n options = {\n month: 'short',\n day: 'numeric'\n };\n break;\n case 'year':\n options = {\n year: 'numeric'\n };\n break;\n case 'month':\n options = {\n month: 'long'\n };\n break;\n case 'monthShort':\n options = {\n month: 'short'\n };\n break;\n case 'monthAndYear':\n options = {\n month: 'long',\n year: 'numeric'\n };\n break;\n case 'monthAndDate':\n options = {\n month: 'long',\n day: 'numeric'\n };\n break;\n case 'weekday':\n options = {\n weekday: 'long'\n };\n break;\n case 'weekdayShort':\n options = {\n weekday: 'short'\n };\n break;\n case 'dayOfMonth':\n return new Intl.NumberFormat(locale).format(newDate.getDate());\n case 'hours12h':\n options = {\n hour: 'numeric',\n hour12: true\n };\n break;\n case 'hours24h':\n options = {\n hour: 'numeric',\n hour12: false\n };\n break;\n case 'minutes':\n options = {\n minute: 'numeric'\n };\n break;\n case 'seconds':\n options = {\n second: 'numeric'\n };\n break;\n case 'fullTime':\n options = {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: true\n };\n break;\n case 'fullTime12h':\n options = {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: true\n };\n break;\n case 'fullTime24h':\n options = {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: false\n };\n break;\n case 'fullDateTime':\n options = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: true\n };\n break;\n case 'fullDateTime12h':\n options = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: true\n };\n break;\n case 'fullDateTime24h':\n options = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: false\n };\n break;\n case 'keyboardDate':\n options = {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit'\n };\n break;\n case 'keyboardDateTime':\n options = {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: false\n };\n break;\n case 'keyboardDateTime12h':\n options = {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: true\n };\n break;\n case 'keyboardDateTime24h':\n options = {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: false\n };\n break;\n default:\n options = customFormat ?? {\n timeZone: 'UTC',\n timeZoneName: 'short'\n };\n }\n return new Intl.DateTimeFormat(locale, options).format(newDate);\n}\nfunction toISO(adapter, value) {\n const date = adapter.toJsDate(value);\n const year = date.getFullYear();\n const month = padStart(String(date.getMonth() + 1), 2, '0');\n const day = padStart(String(date.getDate()), 2, '0');\n return `${year}-${month}-${day}`;\n}\nfunction parseISO(value) {\n const [year, month, day] = value.split('-').map(Number);\n return new Date(year, month - 1, day);\n}\nfunction addMinutes(date, amount) {\n const d = new Date(date);\n d.setMinutes(d.getMinutes() + amount);\n return d;\n}\nfunction addHours(date, amount) {\n const d = new Date(date);\n d.setHours(d.getHours() + amount);\n return d;\n}\nfunction addDays(date, amount) {\n const d = new Date(date);\n d.setDate(d.getDate() + amount);\n return d;\n}\nfunction addWeeks(date, amount) {\n const d = new Date(date);\n d.setDate(d.getDate() + amount * 7);\n return d;\n}\nfunction addMonths(date, amount) {\n const d = new Date(date);\n d.setDate(1);\n d.setMonth(d.getMonth() + amount);\n return d;\n}\nfunction getYear(date) {\n return date.getFullYear();\n}\nfunction getMonth(date) {\n return date.getMonth();\n}\nfunction getDate(date) {\n return date.getDate();\n}\nfunction getNextMonth(date) {\n return new Date(date.getFullYear(), date.getMonth() + 1, 1);\n}\nfunction getPreviousMonth(date) {\n return new Date(date.getFullYear(), date.getMonth() - 1, 1);\n}\nfunction getHours(date) {\n return date.getHours();\n}\nfunction getMinutes(date) {\n return date.getMinutes();\n}\nfunction startOfYear(date) {\n return new Date(date.getFullYear(), 0, 1);\n}\nfunction endOfYear(date) {\n return new Date(date.getFullYear(), 11, 31);\n}\nfunction isWithinRange(date, range) {\n return isAfter(date, range[0]) && isBefore(date, range[1]);\n}\nfunction isValid(date) {\n const d = new Date(date);\n return d instanceof Date && !isNaN(d.getTime());\n}\nfunction isAfter(date, comparing) {\n return date.getTime() > comparing.getTime();\n}\nfunction isAfterDay(date, comparing) {\n return isAfter(startOfDay(date), startOfDay(comparing));\n}\nfunction isBefore(date, comparing) {\n return date.getTime() < comparing.getTime();\n}\nfunction isEqual(date, comparing) {\n return date.getTime() === comparing.getTime();\n}\nfunction isSameDay(date, comparing) {\n return date.getDate() === comparing.getDate() && date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();\n}\nfunction isSameMonth(date, comparing) {\n return date.getMonth() === comparing.getMonth() && date.getFullYear() === comparing.getFullYear();\n}\nfunction isSameYear(date, comparing) {\n return date.getFullYear() === comparing.getFullYear();\n}\nfunction getDiff(date, comparing, unit) {\n const d = new Date(date);\n const c = new Date(comparing);\n switch (unit) {\n case 'years':\n return d.getFullYear() - c.getFullYear();\n case 'quarters':\n return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4);\n case 'months':\n return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;\n case 'weeks':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24 * 7));\n case 'days':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));\n case 'hours':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60));\n case 'minutes':\n return Math.floor((d.getTime() - c.getTime()) / (1000 * 60));\n case 'seconds':\n return Math.floor((d.getTime() - c.getTime()) / 1000);\n default:\n {\n return d.getTime() - c.getTime();\n }\n }\n}\nfunction setHours(date, count) {\n const d = new Date(date);\n d.setHours(count);\n return d;\n}\nfunction setMinutes(date, count) {\n const d = new Date(date);\n d.setMinutes(count);\n return d;\n}\nfunction setMonth(date, count) {\n const d = new Date(date);\n d.setMonth(count);\n return d;\n}\nfunction setDate(date, day) {\n const d = new Date(date);\n d.setDate(day);\n return d;\n}\nfunction setYear(date, year) {\n const d = new Date(date);\n d.setFullYear(year);\n return d;\n}\nfunction startOfDay(date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0);\n}\nfunction endOfDay(date) {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59, 999);\n}\nexport class VuetifyDateAdapter {\n constructor(options) {\n this.locale = options.locale;\n this.formats = options.formats;\n }\n date(value) {\n return date(value);\n }\n toJsDate(date) {\n return date;\n }\n toISO(date) {\n return toISO(this, date);\n }\n parseISO(date) {\n return parseISO(date);\n }\n addMinutes(date, amount) {\n return addMinutes(date, amount);\n }\n addHours(date, amount) {\n return addHours(date, amount);\n }\n addDays(date, amount) {\n return addDays(date, amount);\n }\n addWeeks(date, amount) {\n return addWeeks(date, amount);\n }\n addMonths(date, amount) {\n return addMonths(date, amount);\n }\n getWeekArray(date, firstDayOfWeek) {\n return getWeekArray(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);\n }\n startOfWeek(date, firstDayOfWeek) {\n return startOfWeek(date, this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);\n }\n endOfWeek(date) {\n return endOfWeek(date, this.locale);\n }\n startOfMonth(date) {\n return startOfMonth(date);\n }\n endOfMonth(date) {\n return endOfMonth(date);\n }\n format(date, formatString) {\n return format(date, formatString, this.locale, this.formats);\n }\n isEqual(date, comparing) {\n return isEqual(date, comparing);\n }\n isValid(date) {\n return isValid(date);\n }\n isWithinRange(date, range) {\n return isWithinRange(date, range);\n }\n isAfter(date, comparing) {\n return isAfter(date, comparing);\n }\n isAfterDay(date, comparing) {\n return isAfterDay(date, comparing);\n }\n isBefore(date, comparing) {\n return !isAfter(date, comparing) && !isEqual(date, comparing);\n }\n isSameDay(date, comparing) {\n return isSameDay(date, comparing);\n }\n isSameMonth(date, comparing) {\n return isSameMonth(date, comparing);\n }\n isSameYear(date, comparing) {\n return isSameYear(date, comparing);\n }\n setMinutes(date, count) {\n return setMinutes(date, count);\n }\n setHours(date, count) {\n return setHours(date, count);\n }\n setMonth(date, count) {\n return setMonth(date, count);\n }\n setDate(date, day) {\n return setDate(date, day);\n }\n setYear(date, year) {\n return setYear(date, year);\n }\n getDiff(date, comparing, unit) {\n return getDiff(date, comparing, unit);\n }\n getWeekdays(firstDayOfWeek) {\n return getWeekdays(this.locale, firstDayOfWeek ? Number(firstDayOfWeek) : undefined);\n }\n getYear(date) {\n return getYear(date);\n }\n getMonth(date) {\n return getMonth(date);\n }\n getDate(date) {\n return getDate(date);\n }\n getNextMonth(date) {\n return getNextMonth(date);\n }\n getPreviousMonth(date) {\n return getPreviousMonth(date);\n }\n getHours(date) {\n return getHours(date);\n }\n getMinutes(date) {\n return getMinutes(date);\n }\n startOfDay(date) {\n return startOfDay(date);\n }\n endOfDay(date) {\n return endOfDay(date);\n }\n startOfYear(date) {\n return startOfYear(date);\n }\n endOfYear(date) {\n return endOfYear(date);\n }\n}\n//# sourceMappingURL=vuetify.mjs.map","// Composables\nimport { useLocale } from \"../locale.mjs\"; // Utilities\nimport { inject, reactive, watch } from 'vue';\nimport { mergeDeep } from \"../../util/index.mjs\"; // Types\n// Adapters\nimport { VuetifyDateAdapter } from \"./adapters/vuetify.mjs\";\n/** Supports module augmentation to specify date adapter types */\nexport let DateModule;\nexport const DateOptionsSymbol = Symbol.for('vuetify:date-options');\nexport const DateAdapterSymbol = Symbol.for('vuetify:date-adapter');\nexport function createDate(options, locale) {\n const _options = mergeDeep({\n adapter: VuetifyDateAdapter,\n locale: {\n af: 'af-ZA',\n // ar: '', # not the same value for all variants\n bg: 'bg-BG',\n ca: 'ca-ES',\n ckb: '',\n cs: 'cs-CZ',\n de: 'de-DE',\n el: 'el-GR',\n en: 'en-US',\n // es: '', # not the same value for all variants\n et: 'et-EE',\n fa: 'fa-IR',\n fi: 'fi-FI',\n // fr: '', #not the same value for all variants\n hr: 'hr-HR',\n hu: 'hu-HU',\n he: 'he-IL',\n id: 'id-ID',\n it: 'it-IT',\n ja: 'ja-JP',\n ko: 'ko-KR',\n lv: 'lv-LV',\n lt: 'lt-LT',\n nl: 'nl-NL',\n no: 'no-NO',\n pl: 'pl-PL',\n pt: 'pt-PT',\n ro: 'ro-RO',\n ru: 'ru-RU',\n sk: 'sk-SK',\n sl: 'sl-SI',\n srCyrl: 'sr-SP',\n srLatn: 'sr-SP',\n sv: 'sv-SE',\n th: 'th-TH',\n tr: 'tr-TR',\n az: 'az-AZ',\n uk: 'uk-UA',\n vi: 'vi-VN',\n zhHans: 'zh-CN',\n zhHant: 'zh-TW'\n }\n }, options);\n return {\n options: _options,\n instance: createInstance(_options, locale)\n };\n}\nfunction createInstance(options, locale) {\n const instance = reactive(typeof options.adapter === 'function'\n // eslint-disable-next-line new-cap\n ? new options.adapter({\n locale: options.locale[locale.current.value] ?? locale.current.value,\n formats: options.formats\n }) : options.adapter);\n watch(locale.current, value => {\n instance.locale = options.locale[value] ?? value ?? instance.locale;\n });\n return instance;\n}\nexport function useDate() {\n const options = inject(DateOptionsSymbol);\n if (!options) throw new Error('[Vuetify] Could not find injected date options');\n const locale = useLocale();\n return createInstance(options, locale);\n}\n\n// https://stackoverflow.com/questions/274861/how-do-i-calculate-the-week-number-given-a-date/275024#275024\nexport function getWeek(adapter, value) {\n const date = adapter.toJsDate(value);\n let year = date.getFullYear();\n let d1w1 = new Date(year, 0, 1);\n if (date < d1w1) {\n year = year - 1;\n d1w1 = new Date(year, 0, 1);\n } else {\n const tv = new Date(year + 1, 0, 1);\n if (date >= tv) {\n year = year + 1;\n d1w1 = tv;\n }\n }\n const diffTime = Math.abs(date.getTime() - d1w1.getTime());\n const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));\n return Math.floor(diffDays / 7) + 1;\n}\n//# sourceMappingURL=date.mjs.map","// Utilities\nimport { computed, inject, reactive, shallowRef, toRefs, watchEffect } from 'vue';\nimport { getCurrentInstanceName, mergeDeep, propsFactory } from \"../util/index.mjs\";\nimport { IN_BROWSER, SUPPORTS_TOUCH } from \"../util/globals.mjs\"; // Types\nexport const breakpoints = ['sm', 'md', 'lg', 'xl', 'xxl']; // no xs\n\nexport const DisplaySymbol = Symbol.for('vuetify:display');\nconst defaultDisplayOptions = {\n mobileBreakpoint: 'lg',\n thresholds: {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n }\n};\nconst parseDisplayOptions = function () {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultDisplayOptions;\n return mergeDeep(defaultDisplayOptions, options);\n};\nfunction getClientWidth(ssr) {\n return IN_BROWSER && !ssr ? window.innerWidth : typeof ssr === 'object' && ssr.clientWidth || 0;\n}\nfunction getClientHeight(ssr) {\n return IN_BROWSER && !ssr ? window.innerHeight : typeof ssr === 'object' && ssr.clientHeight || 0;\n}\nfunction getPlatform(ssr) {\n const userAgent = IN_BROWSER && !ssr ? window.navigator.userAgent : 'ssr';\n function match(regexp) {\n return Boolean(userAgent.match(regexp));\n }\n const android = match(/android/i);\n const ios = match(/iphone|ipad|ipod/i);\n const cordova = match(/cordova/i);\n const electron = match(/electron/i);\n const chrome = match(/chrome/i);\n const edge = match(/edge/i);\n const firefox = match(/firefox/i);\n const opera = match(/opera/i);\n const win = match(/win/i);\n const mac = match(/mac/i);\n const linux = match(/linux/i);\n return {\n android,\n ios,\n cordova,\n electron,\n chrome,\n edge,\n firefox,\n opera,\n win,\n mac,\n linux,\n touch: SUPPORTS_TOUCH,\n ssr: userAgent === 'ssr'\n };\n}\nexport function createDisplay(options, ssr) {\n const {\n thresholds,\n mobileBreakpoint\n } = parseDisplayOptions(options);\n const height = shallowRef(getClientHeight(ssr));\n const platform = shallowRef(getPlatform(ssr));\n const state = reactive({});\n const width = shallowRef(getClientWidth(ssr));\n function updateSize() {\n height.value = getClientHeight();\n width.value = getClientWidth();\n }\n function update() {\n updateSize();\n platform.value = getPlatform();\n }\n\n // eslint-disable-next-line max-statements\n watchEffect(() => {\n const xs = width.value < thresholds.sm;\n const sm = width.value < thresholds.md && !xs;\n const md = width.value < thresholds.lg && !(sm || xs);\n const lg = width.value < thresholds.xl && !(md || sm || xs);\n const xl = width.value < thresholds.xxl && !(lg || md || sm || xs);\n const xxl = width.value >= thresholds.xxl;\n const name = xs ? 'xs' : sm ? 'sm' : md ? 'md' : lg ? 'lg' : xl ? 'xl' : 'xxl';\n const breakpointValue = typeof mobileBreakpoint === 'number' ? mobileBreakpoint : thresholds[mobileBreakpoint];\n const mobile = width.value < breakpointValue;\n state.xs = xs;\n state.sm = sm;\n state.md = md;\n state.lg = lg;\n state.xl = xl;\n state.xxl = xxl;\n state.smAndUp = !xs;\n state.mdAndUp = !(xs || sm);\n state.lgAndUp = !(xs || sm || md);\n state.xlAndUp = !(xs || sm || md || lg);\n state.smAndDown = !(md || lg || xl || xxl);\n state.mdAndDown = !(lg || xl || xxl);\n state.lgAndDown = !(xl || xxl);\n state.xlAndDown = !xxl;\n state.name = name;\n state.height = height.value;\n state.width = width.value;\n state.mobile = mobile;\n state.mobileBreakpoint = mobileBreakpoint;\n state.platform = platform.value;\n state.thresholds = thresholds;\n });\n if (IN_BROWSER) {\n window.addEventListener('resize', updateSize, {\n passive: true\n });\n }\n return {\n ...toRefs(state),\n update,\n ssr: !!ssr\n };\n}\nexport const makeDisplayProps = propsFactory({\n mobile: {\n type: Boolean,\n default: false\n },\n mobileBreakpoint: [Number, String]\n}, 'display');\nexport function useDisplay() {\n let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const display = inject(DisplaySymbol);\n if (!display) throw new Error('Could not find Vuetify display injection');\n const mobile = computed(() => {\n if (props.mobile != null) return props.mobile;\n if (!props.mobileBreakpoint) return display.mobile.value;\n const breakpointValue = typeof props.mobileBreakpoint === 'number' ? props.mobileBreakpoint : display.thresholds.value[props.mobileBreakpoint];\n return display.width.value < breakpointValue;\n });\n const displayClasses = computed(() => {\n if (!name) return {};\n return {\n [`${name}--mobile`]: mobile.value\n };\n });\n return {\n ...display,\n displayClasses,\n mobile\n };\n}\n//# sourceMappingURL=display.mjs.map","// Utilities\nimport { computed, inject } from 'vue';\nimport { useRtl } from \"./locale.mjs\";\nimport { clamp, consoleWarn, mergeDeep, refElement } from \"../util/index.mjs\"; // Types\nexport const GoToSymbol = Symbol.for('vuetify:goto');\nfunction genDefaults() {\n return {\n container: undefined,\n duration: 300,\n layout: false,\n offset: 0,\n easing: 'easeInOutCubic',\n patterns: {\n linear: t => t,\n easeInQuad: t => t ** 2,\n easeOutQuad: t => t * (2 - t),\n easeInOutQuad: t => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t,\n easeInCubic: t => t ** 3,\n easeOutCubic: t => --t ** 3 + 1,\n easeInOutCubic: t => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1,\n easeInQuart: t => t ** 4,\n easeOutQuart: t => 1 - --t ** 4,\n easeInOutQuart: t => t < 0.5 ? 8 * t ** 4 : 1 - 8 * --t ** 4,\n easeInQuint: t => t ** 5,\n easeOutQuint: t => 1 + --t ** 5,\n easeInOutQuint: t => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5\n }\n };\n}\nfunction getContainer(el) {\n return getTarget(el) ?? (document.scrollingElement || document.body);\n}\nfunction getTarget(el) {\n return typeof el === 'string' ? document.querySelector(el) : refElement(el);\n}\nfunction getOffset(target, horizontal, rtl) {\n if (typeof target === 'number') return horizontal && rtl ? -target : target;\n let el = getTarget(target);\n let totalOffset = 0;\n while (el) {\n totalOffset += horizontal ? el.offsetLeft : el.offsetTop;\n el = el.offsetParent;\n }\n return totalOffset;\n}\nexport function createGoTo(options, locale) {\n return {\n rtl: locale.isRtl,\n options: mergeDeep(genDefaults(), options)\n };\n}\nexport async function scrollTo(_target, _options, horizontal, goTo) {\n const property = horizontal ? 'scrollLeft' : 'scrollTop';\n const options = mergeDeep(goTo?.options ?? genDefaults(), _options);\n const rtl = goTo?.rtl.value;\n const target = (typeof _target === 'number' ? _target : getTarget(_target)) ?? 0;\n const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);\n const ease = typeof options.easing === 'function' ? options.easing : options.patterns[options.easing];\n if (!ease) throw new TypeError(`Easing function \"${options.easing}\" not found.`);\n let targetLocation;\n if (typeof target === 'number') {\n targetLocation = getOffset(target, horizontal, rtl);\n } else {\n targetLocation = getOffset(target, horizontal, rtl) - getOffset(container, horizontal, rtl);\n if (options.layout) {\n const styles = window.getComputedStyle(target);\n const layoutOffset = styles.getPropertyValue('--v-layout-top');\n if (layoutOffset) targetLocation -= parseInt(layoutOffset, 10);\n }\n }\n targetLocation += options.offset;\n targetLocation = clampTarget(container, targetLocation, !!rtl, !!horizontal);\n const startLocation = container[property] ?? 0;\n if (targetLocation === startLocation) return Promise.resolve(targetLocation);\n const startTime = performance.now();\n return new Promise(resolve => requestAnimationFrame(function step(currentTime) {\n const timeElapsed = currentTime - startTime;\n const progress = timeElapsed / options.duration;\n const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(clamp(progress, 0, 1)));\n container[property] = location;\n\n // Allow for some jitter if target time has elapsed\n if (progress >= 1 && Math.abs(location - container[property]) < 10) {\n return resolve(targetLocation);\n } else if (progress > 2) {\n // The target might not be reachable\n consoleWarn('Scroll target is not reachable');\n return resolve(container[property]);\n }\n requestAnimationFrame(step);\n }));\n}\nexport function useGoTo() {\n let _options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const goToInstance = inject(GoToSymbol);\n const {\n isRtl\n } = useRtl();\n if (!goToInstance) throw new Error('[Vuetify] Could not find injected goto instance');\n const goTo = {\n ...goToInstance,\n // can be set via VLocaleProvider\n rtl: computed(() => goToInstance.rtl.value || isRtl.value)\n };\n async function go(target, options) {\n return scrollTo(target, mergeDeep(_options, options), false, goTo);\n }\n go.horizontal = async (target, options) => {\n return scrollTo(target, mergeDeep(_options, options), true, goTo);\n };\n return go;\n}\n\n/**\n * Clamp target value to achieve a smooth scroll animation\n * when the value goes outside the scroll container size\n */\nfunction clampTarget(container, value, rtl, horizontal) {\n const {\n scrollWidth,\n scrollHeight\n } = container;\n const [containerWidth, containerHeight] = container === document.scrollingElement ? [window.innerWidth, window.innerHeight] : [container.offsetWidth, container.offsetHeight];\n let min;\n let max;\n if (horizontal) {\n if (rtl) {\n min = -(scrollWidth - containerWidth);\n max = 0;\n } else {\n min = 0;\n max = scrollWidth - containerWidth;\n }\n } else {\n min = 0;\n max = scrollHeight + -containerHeight;\n }\n return Math.max(Math.min(value, max), min);\n}\n//# sourceMappingURL=goto.mjs.map","// Composables\nimport { VClassIcon } from \"../composables/icons.mjs\"; // Utilities\nimport { h } from 'vue';\n\n// Types\n\nconst aliases = {\n collapse: 'mdi-chevron-up',\n complete: 'mdi-check',\n cancel: 'mdi-close-circle',\n close: 'mdi-close',\n delete: 'mdi-close-circle',\n // delete (e.g. v-chip close)\n clear: 'mdi-close-circle',\n success: 'mdi-check-circle',\n info: 'mdi-information',\n warning: 'mdi-alert-circle',\n error: 'mdi-close-circle',\n prev: 'mdi-chevron-left',\n next: 'mdi-chevron-right',\n checkboxOn: 'mdi-checkbox-marked',\n checkboxOff: 'mdi-checkbox-blank-outline',\n checkboxIndeterminate: 'mdi-minus-box',\n delimiter: 'mdi-circle',\n // for carousel\n sortAsc: 'mdi-arrow-up',\n sortDesc: 'mdi-arrow-down',\n expand: 'mdi-chevron-down',\n menu: 'mdi-menu',\n subgroup: 'mdi-menu-down',\n dropdown: 'mdi-menu-down',\n radioOn: 'mdi-radiobox-marked',\n radioOff: 'mdi-radiobox-blank',\n edit: 'mdi-pencil',\n ratingEmpty: 'mdi-star-outline',\n ratingFull: 'mdi-star',\n ratingHalf: 'mdi-star-half-full',\n loading: 'mdi-cached',\n first: 'mdi-page-first',\n last: 'mdi-page-last',\n unfold: 'mdi-unfold-more-horizontal',\n file: 'mdi-paperclip',\n plus: 'mdi-plus',\n minus: 'mdi-minus',\n calendar: 'mdi-calendar',\n treeviewCollapse: 'mdi-menu-down',\n treeviewExpand: 'mdi-menu-right',\n eyeDropper: 'mdi-eyedropper'\n};\nconst mdi = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: props => h(VClassIcon, {\n ...props,\n class: 'mdi'\n })\n};\nexport { aliases, mdi };\n//# sourceMappingURL=mdi.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Icons\nimport { aliases, mdi } from \"../iconsets/mdi.mjs\"; // Utilities\nimport { computed, inject, unref } from 'vue';\nimport { consoleWarn, defineComponent, genericComponent, mergeDeep, propsFactory } from \"../util/index.mjs\"; // Types\nexport const IconValue = [String, Function, Object, Array];\nexport const IconSymbol = Symbol.for('vuetify:icons');\nexport const makeIconProps = propsFactory({\n icon: {\n type: IconValue\n },\n // Could not remove this and use makeTagProps, types complained because it is not required\n tag: {\n type: String,\n required: true\n }\n}, 'icon');\nexport const VComponentIcon = genericComponent()({\n name: 'VComponentIcon',\n props: makeIconProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n return () => {\n const Icon = props.icon;\n return _createVNode(props.tag, null, {\n default: () => [props.icon ? _createVNode(Icon, null, null) : slots.default?.()]\n });\n };\n }\n});\nexport const VSvgIcon = defineComponent({\n name: 'VSvgIcon',\n inheritAttrs: false,\n props: makeIconProps(),\n setup(props, _ref2) {\n let {\n attrs\n } = _ref2;\n return () => {\n return _createVNode(props.tag, _mergeProps(attrs, {\n \"style\": null\n }), {\n default: () => [_createVNode(\"svg\", {\n \"class\": \"v-icon__svg\",\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": \"0 0 24 24\",\n \"role\": \"img\",\n \"aria-hidden\": \"true\"\n }, [Array.isArray(props.icon) ? props.icon.map(path => Array.isArray(path) ? _createVNode(\"path\", {\n \"d\": path[0],\n \"fill-opacity\": path[1]\n }, null) : _createVNode(\"path\", {\n \"d\": path\n }, null)) : _createVNode(\"path\", {\n \"d\": props.icon\n }, null)])]\n });\n };\n }\n});\nexport const VLigatureIcon = defineComponent({\n name: 'VLigatureIcon',\n props: makeIconProps(),\n setup(props) {\n return () => {\n return _createVNode(props.tag, null, {\n default: () => [props.icon]\n });\n };\n }\n});\nexport const VClassIcon = defineComponent({\n name: 'VClassIcon',\n props: makeIconProps(),\n setup(props) {\n return () => {\n return _createVNode(props.tag, {\n \"class\": props.icon\n }, null);\n };\n }\n});\nfunction genDefaults() {\n return {\n svg: {\n component: VSvgIcon\n },\n class: {\n component: VClassIcon\n }\n };\n}\n\n// Composables\nexport function createIcons(options) {\n const sets = genDefaults();\n const defaultSet = options?.defaultSet ?? 'mdi';\n if (defaultSet === 'mdi' && !sets.mdi) {\n sets.mdi = mdi;\n }\n return mergeDeep({\n defaultSet,\n sets,\n aliases: {\n ...aliases,\n /* eslint-disable max-len */\n vuetify: ['M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z', ['M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z', 0.6]],\n 'vuetify-outline': 'svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z',\n 'vuetify-play': ['m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z', ['M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z', 0.6]]\n /* eslint-enable max-len */\n }\n }, options);\n}\nexport const useIcon = props => {\n const icons = inject(IconSymbol);\n if (!icons) throw new Error('Missing Vuetify Icons provide!');\n const iconData = computed(() => {\n const iconAlias = unref(props);\n if (!iconAlias) return {\n component: VComponentIcon\n };\n let icon = iconAlias;\n if (typeof icon === 'string') {\n icon = icon.trim();\n if (icon.startsWith('$')) {\n icon = icons.aliases?.[icon.slice(1)];\n }\n }\n if (!icon) consoleWarn(`Could not find aliased icon \"${iconAlias}\"`);\n if (Array.isArray(icon)) {\n return {\n component: VSvgIcon,\n icon\n };\n } else if (typeof icon !== 'string') {\n return {\n component: VComponentIcon,\n icon\n };\n }\n const iconSetName = Object.keys(icons.sets).find(setName => typeof icon === 'string' && icon.startsWith(`${setName}:`));\n const iconName = iconSetName ? icon.slice(iconSetName.length + 1) : icon;\n const iconSet = icons.sets[iconSetName ?? icons.defaultSet];\n return {\n component: iconSet.component,\n icon: iconName\n };\n });\n return {\n iconData\n };\n};\n//# sourceMappingURL=icons.mjs.map","// Utilities\nimport { computed, inject, provide, ref, watch, watchEffect } from 'vue';\nimport { createRange, darken, getCurrentInstance, getForeground, getLuma, IN_BROWSER, lighten, mergeDeep, parseColor, propsFactory, RGBtoHex } from \"../util/index.mjs\"; // Types\nexport const ThemeSymbol = Symbol.for('vuetify:theme');\nexport const makeThemeProps = propsFactory({\n theme: String\n}, 'theme');\nfunction genDefaults() {\n return {\n defaultTheme: 'light',\n variations: {\n colors: [],\n lighten: 0,\n darken: 0\n },\n themes: {\n light: {\n dark: false,\n colors: {\n background: '#FFFFFF',\n surface: '#FFFFFF',\n 'surface-bright': '#FFFFFF',\n 'surface-light': '#EEEEEE',\n 'surface-variant': '#424242',\n 'on-surface-variant': '#EEEEEE',\n primary: '#1867C0',\n 'primary-darken-1': '#1F5592',\n secondary: '#48A9A6',\n 'secondary-darken-1': '#018786',\n error: '#B00020',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n },\n variables: {\n 'border-color': '#000000',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 0.87,\n 'medium-emphasis-opacity': 0.60,\n 'disabled-opacity': 0.38,\n 'idle-opacity': 0.04,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.12,\n 'dragged-opacity': 0.08,\n 'theme-kbd': '#212529',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#F5F5F5',\n 'theme-on-code': '#000000'\n }\n },\n dark: {\n dark: true,\n colors: {\n background: '#121212',\n surface: '#212121',\n 'surface-bright': '#ccbfd6',\n 'surface-light': '#424242',\n 'surface-variant': '#a3a3a3',\n 'on-surface-variant': '#424242',\n primary: '#2196F3',\n 'primary-darken-1': '#277CC1',\n secondary: '#54B6B2',\n 'secondary-darken-1': '#48A9A6',\n error: '#CF6679',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FB8C00'\n },\n variables: {\n 'border-color': '#FFFFFF',\n 'border-opacity': 0.12,\n 'high-emphasis-opacity': 1,\n 'medium-emphasis-opacity': 0.70,\n 'disabled-opacity': 0.50,\n 'idle-opacity': 0.10,\n 'hover-opacity': 0.04,\n 'focus-opacity': 0.12,\n 'selected-opacity': 0.08,\n 'activated-opacity': 0.12,\n 'pressed-opacity': 0.16,\n 'dragged-opacity': 0.08,\n 'theme-kbd': '#212529',\n 'theme-on-kbd': '#FFFFFF',\n 'theme-code': '#343434',\n 'theme-on-code': '#CCCCCC'\n }\n }\n }\n };\n}\nfunction parseThemeOptions() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : genDefaults();\n const defaults = genDefaults();\n if (!options) return {\n ...defaults,\n isDisabled: true\n };\n const themes = {};\n for (const [key, theme] of Object.entries(options.themes ?? {})) {\n const defaultTheme = theme.dark || key === 'dark' ? defaults.themes?.dark : defaults.themes?.light;\n themes[key] = mergeDeep(defaultTheme, theme);\n }\n return mergeDeep(defaults, {\n ...options,\n themes\n });\n}\n\n// Composables\nexport function createTheme(options) {\n const parsedOptions = parseThemeOptions(options);\n const name = ref(parsedOptions.defaultTheme);\n const themes = ref(parsedOptions.themes);\n const computedThemes = computed(() => {\n const acc = {};\n for (const [name, original] of Object.entries(themes.value)) {\n const theme = acc[name] = {\n ...original,\n colors: {\n ...original.colors\n }\n };\n if (parsedOptions.variations) {\n for (const name of parsedOptions.variations.colors) {\n const color = theme.colors[name];\n if (!color) continue;\n for (const variation of ['lighten', 'darken']) {\n const fn = variation === 'lighten' ? lighten : darken;\n for (const amount of createRange(parsedOptions.variations[variation], 1)) {\n theme.colors[`${name}-${variation}-${amount}`] = RGBtoHex(fn(parseColor(color), amount));\n }\n }\n }\n }\n for (const color of Object.keys(theme.colors)) {\n if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;\n const onColor = `on-${color}`;\n const colorVal = parseColor(theme.colors[color]);\n theme.colors[onColor] = getForeground(colorVal);\n }\n }\n return acc;\n });\n const current = computed(() => computedThemes.value[name.value]);\n const styles = computed(() => {\n const lines = [];\n if (current.value?.dark) {\n createCssClass(lines, ':root', ['color-scheme: dark']);\n }\n createCssClass(lines, ':root', genCssVariables(current.value));\n for (const [themeName, theme] of Object.entries(computedThemes.value)) {\n createCssClass(lines, `.v-theme--${themeName}`, [`color-scheme: ${theme.dark ? 'dark' : 'normal'}`, ...genCssVariables(theme)]);\n }\n const bgLines = [];\n const fgLines = [];\n const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));\n for (const key of colors) {\n if (/^on-[a-z]/.test(key)) {\n createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);\n } else {\n createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);\n createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);\n createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);\n }\n }\n lines.push(...bgLines, ...fgLines);\n return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');\n });\n function getHead() {\n return {\n style: [{\n children: styles.value,\n id: 'vuetify-theme-stylesheet',\n nonce: parsedOptions.cspNonce || false\n }]\n };\n }\n function install(app) {\n if (parsedOptions.isDisabled) return;\n const head = app._context.provides.usehead;\n if (head) {\n if (head.push) {\n const entry = head.push(getHead);\n if (IN_BROWSER) {\n watch(styles, () => {\n entry.patch(getHead);\n });\n }\n } else {\n if (IN_BROWSER) {\n head.addHeadObjs(computed(getHead));\n watchEffect(() => head.updateDOM());\n } else {\n head.addHeadObjs(getHead());\n }\n }\n } else {\n let styleEl = IN_BROWSER ? document.getElementById('vuetify-theme-stylesheet') : null;\n if (IN_BROWSER) {\n watch(styles, updateStyles, {\n immediate: true\n });\n } else {\n updateStyles();\n }\n function updateStyles() {\n if (typeof document !== 'undefined' && !styleEl) {\n const el = document.createElement('style');\n el.type = 'text/css';\n el.id = 'vuetify-theme-stylesheet';\n if (parsedOptions.cspNonce) el.setAttribute('nonce', parsedOptions.cspNonce);\n styleEl = el;\n document.head.appendChild(styleEl);\n }\n if (styleEl) styleEl.innerHTML = styles.value;\n }\n }\n }\n const themeClasses = computed(() => parsedOptions.isDisabled ? undefined : `v-theme--${name.value}`);\n return {\n install,\n isDisabled: parsedOptions.isDisabled,\n name,\n themes,\n current,\n computedThemes,\n themeClasses,\n styles,\n global: {\n name,\n current\n }\n };\n}\nexport function provideTheme(props) {\n getCurrentInstance('provideTheme');\n const theme = inject(ThemeSymbol, null);\n if (!theme) throw new Error('Could not find Vuetify theme injection');\n const name = computed(() => {\n return props.theme ?? theme.name.value;\n });\n const current = computed(() => theme.themes.value[name.value]);\n const themeClasses = computed(() => theme.isDisabled ? undefined : `v-theme--${name.value}`);\n const newTheme = {\n ...theme,\n name,\n current,\n themeClasses\n };\n provide(ThemeSymbol, newTheme);\n return newTheme;\n}\nexport function useTheme() {\n getCurrentInstance('useTheme');\n const theme = inject(ThemeSymbol, null);\n if (!theme) throw new Error('Could not find Vuetify theme injection');\n return theme;\n}\nfunction createCssClass(lines, selector, content) {\n lines.push(`${selector} {\\n`, ...content.map(line => ` ${line};\\n`), '}\\n');\n}\nfunction genCssVariables(theme) {\n const lightOverlay = theme.dark ? 2 : 1;\n const darkOverlay = theme.dark ? 1 : 2;\n const variables = [];\n for (const [key, value] of Object.entries(theme.colors)) {\n const rgb = parseColor(value);\n variables.push(`--v-theme-${key}: ${rgb.r},${rgb.g},${rgb.b}`);\n if (!key.startsWith('on-')) {\n variables.push(`--v-theme-${key}-overlay-multiplier: ${getLuma(value) > 0.18 ? lightOverlay : darkOverlay}`);\n }\n }\n for (const [key, value] of Object.entries(theme.variables)) {\n const color = typeof value === 'string' && value.startsWith('#') ? parseColor(value) : undefined;\n const rgb = color ? `${color.r}, ${color.g}, ${color.b}` : undefined;\n variables.push(`--v-${key}: ${rgb ?? value}`);\n }\n return variables;\n}\n//# sourceMappingURL=theme.mjs.map","// Utilities\nimport { onBeforeUnmount, readonly, ref, watch } from 'vue';\nimport { templateRef } from \"../util/index.mjs\";\nimport { IN_BROWSER } from \"../util/globals.mjs\"; // Types\nexport function useResizeObserver(callback) {\n let box = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'content';\n const resizeRef = templateRef();\n const contentRect = ref();\n if (IN_BROWSER) {\n const observer = new ResizeObserver(entries => {\n callback?.(entries, observer);\n if (!entries.length) return;\n if (box === 'content') {\n contentRect.value = entries[0].contentRect;\n } else {\n contentRect.value = entries[0].target.getBoundingClientRect();\n }\n });\n onBeforeUnmount(() => {\n observer.disconnect();\n });\n watch(() => resizeRef.el, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue);\n contentRect.value = undefined;\n }\n if (newValue) observer.observe(newValue);\n }, {\n flush: 'post'\n });\n }\n return {\n resizeRef,\n contentRect: readonly(contentRect)\n };\n}\n//# sourceMappingURL=resizeObserver.mjs.map","// Composables\nimport { useResizeObserver } from \"./resizeObserver.mjs\"; // Utilities\nimport { computed, inject, onActivated, onBeforeUnmount, onDeactivated, onMounted, provide, reactive, ref, shallowRef } from 'vue';\nimport { convertToUnit, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory } from \"../util/index.mjs\"; // Types\nexport const VuetifyLayoutKey = Symbol.for('vuetify:layout');\nexport const VuetifyLayoutItemKey = Symbol.for('vuetify:layout-item');\nconst ROOT_ZINDEX = 1000;\nexport const makeLayoutProps = propsFactory({\n overlaps: {\n type: Array,\n default: () => []\n },\n fullHeight: Boolean\n}, 'layout');\n\n// Composables\nexport const makeLayoutItemProps = propsFactory({\n name: {\n type: String\n },\n order: {\n type: [Number, String],\n default: 0\n },\n absolute: Boolean\n}, 'layout-item');\nexport function useLayout() {\n const layout = inject(VuetifyLayoutKey);\n if (!layout) throw new Error('[Vuetify] Could not find injected layout');\n return {\n getLayoutItem: layout.getLayoutItem,\n mainRect: layout.mainRect,\n mainStyles: layout.mainStyles\n };\n}\nexport function useLayoutItem(options) {\n const layout = inject(VuetifyLayoutKey);\n if (!layout) throw new Error('[Vuetify] Could not find injected layout');\n const id = options.id ?? `layout-item-${getUid()}`;\n const vm = getCurrentInstance('useLayoutItem');\n provide(VuetifyLayoutItemKey, {\n id\n });\n const isKeptAlive = shallowRef(false);\n onDeactivated(() => isKeptAlive.value = true);\n onActivated(() => isKeptAlive.value = false);\n const {\n layoutItemStyles,\n layoutItemScrimStyles\n } = layout.register(vm, {\n ...options,\n active: computed(() => isKeptAlive.value ? false : options.active.value),\n id\n });\n onBeforeUnmount(() => layout.unregister(id));\n return {\n layoutItemStyles,\n layoutRect: layout.layoutRect,\n layoutItemScrimStyles\n };\n}\nconst generateLayers = (layout, positions, layoutSizes, activeItems) => {\n let previousLayer = {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n };\n const layers = [{\n id: '',\n layer: {\n ...previousLayer\n }\n }];\n for (const id of layout) {\n const position = positions.get(id);\n const amount = layoutSizes.get(id);\n const active = activeItems.get(id);\n if (!position || !amount || !active) continue;\n const layer = {\n ...previousLayer,\n [position.value]: parseInt(previousLayer[position.value], 10) + (active.value ? parseInt(amount.value, 10) : 0)\n };\n layers.push({\n id,\n layer\n });\n previousLayer = layer;\n }\n return layers;\n};\nexport function createLayout(props) {\n const parentLayout = inject(VuetifyLayoutKey, null);\n const rootZIndex = computed(() => parentLayout ? parentLayout.rootZIndex.value - 100 : ROOT_ZINDEX);\n const registered = ref([]);\n const positions = reactive(new Map());\n const layoutSizes = reactive(new Map());\n const priorities = reactive(new Map());\n const activeItems = reactive(new Map());\n const disabledTransitions = reactive(new Map());\n const {\n resizeRef,\n contentRect: layoutRect\n } = useResizeObserver();\n const computedOverlaps = computed(() => {\n const map = new Map();\n const overlaps = props.overlaps ?? [];\n for (const overlap of overlaps.filter(item => item.includes(':'))) {\n const [top, bottom] = overlap.split(':');\n if (!registered.value.includes(top) || !registered.value.includes(bottom)) continue;\n const topPosition = positions.get(top);\n const bottomPosition = positions.get(bottom);\n const topAmount = layoutSizes.get(top);\n const bottomAmount = layoutSizes.get(bottom);\n if (!topPosition || !bottomPosition || !topAmount || !bottomAmount) continue;\n map.set(bottom, {\n position: topPosition.value,\n amount: parseInt(topAmount.value, 10)\n });\n map.set(top, {\n position: bottomPosition.value,\n amount: -parseInt(bottomAmount.value, 10)\n });\n }\n return map;\n });\n const layers = computed(() => {\n const uniquePriorities = [...new Set([...priorities.values()].map(p => p.value))].sort((a, b) => a - b);\n const layout = [];\n for (const p of uniquePriorities) {\n const items = registered.value.filter(id => priorities.get(id)?.value === p);\n layout.push(...items);\n }\n return generateLayers(layout, positions, layoutSizes, activeItems);\n });\n const transitionsEnabled = computed(() => {\n return !Array.from(disabledTransitions.values()).some(ref => ref.value);\n });\n const mainRect = computed(() => {\n return layers.value[layers.value.length - 1].layer;\n });\n const mainStyles = computed(() => {\n return {\n '--v-layout-left': convertToUnit(mainRect.value.left),\n '--v-layout-right': convertToUnit(mainRect.value.right),\n '--v-layout-top': convertToUnit(mainRect.value.top),\n '--v-layout-bottom': convertToUnit(mainRect.value.bottom),\n ...(transitionsEnabled.value ? undefined : {\n transition: 'none'\n })\n };\n });\n const items = computed(() => {\n return layers.value.slice(1).map((_ref, index) => {\n let {\n id\n } = _ref;\n const {\n layer\n } = layers.value[index];\n const size = layoutSizes.get(id);\n const position = positions.get(id);\n return {\n id,\n ...layer,\n size: Number(size.value),\n position: position.value\n };\n });\n });\n const getLayoutItem = id => {\n return items.value.find(item => item.id === id);\n };\n const rootVm = getCurrentInstance('createLayout');\n const isMounted = shallowRef(false);\n onMounted(() => {\n isMounted.value = true;\n });\n provide(VuetifyLayoutKey, {\n register: (vm, _ref2) => {\n let {\n id,\n order,\n position,\n layoutSize,\n elementSize,\n active,\n disableTransitions,\n absolute\n } = _ref2;\n priorities.set(id, order);\n positions.set(id, position);\n layoutSizes.set(id, layoutSize);\n activeItems.set(id, active);\n disableTransitions && disabledTransitions.set(id, disableTransitions);\n const instances = findChildrenWithProvide(VuetifyLayoutItemKey, rootVm?.vnode);\n const instanceIndex = instances.indexOf(vm);\n if (instanceIndex > -1) registered.value.splice(instanceIndex, 0, id);else registered.value.push(id);\n const index = computed(() => items.value.findIndex(i => i.id === id));\n const zIndex = computed(() => rootZIndex.value + layers.value.length * 2 - index.value * 2);\n const layoutItemStyles = computed(() => {\n const isHorizontal = position.value === 'left' || position.value === 'right';\n const isOppositeHorizontal = position.value === 'right';\n const isOppositeVertical = position.value === 'bottom';\n const size = elementSize.value ?? layoutSize.value;\n const unit = size === 0 ? '%' : 'px';\n const styles = {\n [position.value]: 0,\n zIndex: zIndex.value,\n transform: `translate${isHorizontal ? 'X' : 'Y'}(${(active.value ? 0 : -(size === 0 ? 100 : size)) * (isOppositeHorizontal || isOppositeVertical ? -1 : 1)}${unit})`,\n position: absolute.value || rootZIndex.value !== ROOT_ZINDEX ? 'absolute' : 'fixed',\n ...(transitionsEnabled.value ? undefined : {\n transition: 'none'\n })\n };\n if (!isMounted.value) return styles;\n const item = items.value[index.value];\n if (!item) throw new Error(`[Vuetify] Could not find layout item \"${id}\"`);\n const overlap = computedOverlaps.value.get(id);\n if (overlap) {\n item[overlap.position] += overlap.amount;\n }\n return {\n ...styles,\n height: isHorizontal ? `calc(100% - ${item.top}px - ${item.bottom}px)` : elementSize.value ? `${elementSize.value}px` : undefined,\n left: isOppositeHorizontal ? undefined : `${item.left}px`,\n right: isOppositeHorizontal ? `${item.right}px` : undefined,\n top: position.value !== 'bottom' ? `${item.top}px` : undefined,\n bottom: position.value !== 'top' ? `${item.bottom}px` : undefined,\n width: !isHorizontal ? `calc(100% - ${item.left}px - ${item.right}px)` : elementSize.value ? `${elementSize.value}px` : undefined\n };\n });\n const layoutItemScrimStyles = computed(() => ({\n zIndex: zIndex.value - 1\n }));\n return {\n layoutItemStyles,\n layoutItemScrimStyles,\n zIndex\n };\n },\n unregister: id => {\n priorities.delete(id);\n positions.delete(id);\n layoutSizes.delete(id);\n activeItems.delete(id);\n disabledTransitions.delete(id);\n registered.value = registered.value.filter(v => v !== id);\n },\n mainRect,\n mainStyles,\n getLayoutItem,\n items,\n layoutRect,\n rootZIndex\n });\n const layoutClasses = computed(() => ['v-layout', {\n 'v-layout--full-height': props.fullHeight\n }]);\n const layoutStyles = computed(() => ({\n zIndex: parentLayout ? rootZIndex.value : undefined,\n position: parentLayout ? 'relative' : undefined,\n overflow: parentLayout ? 'hidden' : undefined\n }));\n return {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRect,\n layoutRef: resizeRef\n };\n}\n//# sourceMappingURL=layout.mjs.map","// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from \"./composables/date/date.mjs\";\nimport { createDefaults, DefaultsSymbol } from \"./composables/defaults.mjs\";\nimport { createDisplay, DisplaySymbol } from \"./composables/display.mjs\";\nimport { createGoTo, GoToSymbol } from \"./composables/goto.mjs\";\nimport { createIcons, IconSymbol } from \"./composables/icons.mjs\";\nimport { createLocale, LocaleSymbol } from \"./composables/locale.mjs\";\nimport { createTheme, ThemeSymbol } from \"./composables/theme.mjs\"; // Utilities\nimport { nextTick, reactive } from 'vue';\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from \"./util/index.mjs\"; // Types\nexport * from \"./composables/index.mjs\";\nexport function createVuetify() {\n let vuetify = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n blueprint,\n ...rest\n } = vuetify;\n const options = mergeDeep(blueprint, rest);\n const {\n aliases = {},\n components = {},\n directives = {}\n } = options;\n const defaults = createDefaults(options.defaults);\n const display = createDisplay(options.display, options.ssr);\n const theme = createTheme(options.theme);\n const icons = createIcons(options.icons);\n const locale = createLocale(options.locale);\n const date = createDate(options.date, locale);\n const goTo = createGoTo(options.goTo, locale);\n const install = app => {\n for (const key in directives) {\n app.directive(key, directives[key]);\n }\n for (const key in components) {\n app.component(key, components[key]);\n }\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name\n }));\n }\n theme.install(app);\n app.provide(DefaultsSymbol, defaults);\n app.provide(DisplaySymbol, display);\n app.provide(ThemeSymbol, theme);\n app.provide(IconSymbol, icons);\n app.provide(LocaleSymbol, locale);\n app.provide(DateOptionsSymbol, date.options);\n app.provide(DateAdapterSymbol, date.instance);\n app.provide(GoToSymbol, goTo);\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update();\n });\n } else {\n const {\n mount\n } = app;\n app.mount = function () {\n const vm = mount(...arguments);\n nextTick(() => display.update());\n app.mount = mount;\n return vm;\n };\n }\n }\n getUid.reset();\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify() {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol)\n });\n }\n }\n });\n }\n };\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo\n };\n}\nexport const version = \"3.7.2\";\ncreateVuetify.version = version;\n\n// Vue's inject() can only be used in setup\nfunction inject(key) {\n const vm = this.$;\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides;\n if (provides && key in provides) {\n return provides[key];\n }\n}\n//# sourceMappingURL=framework.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VApp.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { createLayout, makeLayoutProps } from \"../../composables/layout.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVAppProps = propsFactory({\n ...makeComponentProps(),\n ...makeLayoutProps({\n fullHeight: true\n }),\n ...makeThemeProps()\n}, 'VApp');\nexport const VApp = genericComponent()({\n name: 'VApp',\n props: makeVAppProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const theme = provideTheme(props);\n const {\n layoutClasses,\n getLayoutItem,\n items,\n layoutRef\n } = createLayout(props);\n const {\n rtlClasses\n } = useRtl();\n useRender(() => _createVNode(\"div\", {\n \"ref\": layoutRef,\n \"class\": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],\n \"style\": [props.style]\n }, [_createVNode(\"div\", {\n \"class\": \"v-application__wrap\"\n }, [slots.default?.()])]));\n return {\n getLayoutItem,\n items,\n theme\n };\n }\n});\n//# sourceMappingURL=VApp.mjs.map","// Utilities\nimport { propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeTagProps = propsFactory({\n tag: {\n type: String,\n default: 'div'\n }\n}, 'tag');\n//# sourceMappingURL=tag.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVToolbarTitleProps = propsFactory({\n text: String,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VToolbarTitle');\nexport const VToolbarTitle = genericComponent()({\n name: 'VToolbarTitle',\n props: makeVToolbarTitleProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const hasText = !!(slots.default || slots.text || props.text);\n return _createVNode(props.tag, {\n \"class\": ['v-toolbar-title', props.class],\n \"style\": props.style\n }, {\n default: () => [hasText && _createVNode(\"div\", {\n \"class\": \"v-toolbar-title__placeholder\"\n }, [slots.text ? slots.text() : props.text, slots.default?.()])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VToolbarTitle.mjs.map","// Utilities\nimport { h, Transition, TransitionGroup } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const makeTransitionProps = propsFactory({\n disabled: Boolean,\n group: Boolean,\n hideOnLeave: Boolean,\n leaveAbsolute: Boolean,\n mode: String,\n origin: String\n}, 'transition');\nexport function createCssTransition(name, origin, mode) {\n return genericComponent()({\n name,\n props: makeTransitionProps({\n mode,\n origin\n }),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const functions = {\n onBeforeEnter(el) {\n if (props.origin) {\n el.style.transformOrigin = props.origin;\n }\n },\n onLeave(el) {\n if (props.leaveAbsolute) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = el;\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height\n };\n el.style.position = 'absolute';\n el.style.top = `${offsetTop}px`;\n el.style.left = `${offsetLeft}px`;\n el.style.width = `${offsetWidth}px`;\n el.style.height = `${offsetHeight}px`;\n }\n if (props.hideOnLeave) {\n el.style.setProperty('display', 'none', 'important');\n }\n },\n onAfterLeave(el) {\n if (props.leaveAbsolute && el?._transitionInitialStyles) {\n const {\n position,\n top,\n left,\n width,\n height\n } = el._transitionInitialStyles;\n delete el._transitionInitialStyles;\n el.style.position = position || '';\n el.style.top = top || '';\n el.style.left = left || '';\n el.style.width = width || '';\n el.style.height = height || '';\n }\n }\n };\n return () => {\n const tag = props.group ? TransitionGroup : Transition;\n return h(tag, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n ...(props.group ? undefined : {\n mode: props.mode\n }),\n ...(props.disabled ? {} : functions)\n }, slots.default);\n };\n }\n });\n}\nexport function createJavascriptTransition(name, functions) {\n let mode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'in-out';\n return genericComponent()({\n name,\n props: {\n mode: {\n type: String,\n default: mode\n },\n disabled: Boolean,\n group: Boolean\n },\n setup(props, _ref2) {\n let {\n slots\n } = _ref2;\n const tag = props.group ? TransitionGroup : Transition;\n return () => {\n return h(tag, {\n name: props.disabled ? '' : name,\n css: !props.disabled,\n // mode: props.mode, // TODO: vuejs/vue-next#3104\n ...(props.disabled ? {} : functions)\n }, slots.default);\n };\n }\n });\n}\n//# sourceMappingURL=createTransition.mjs.map","// Utilities\nimport { camelize } from 'vue';\nexport default function () {\n let expandedParentClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n let x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const sizeProperty = x ? 'width' : 'height';\n const offsetProperty = camelize(`offset-${sizeProperty}`);\n return {\n onBeforeEnter(el) {\n el._parent = el.parentNode;\n el._initialStyle = {\n transition: el.style.transition,\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n },\n onEnter(el) {\n const initialStyle = el._initialStyle;\n el.style.setProperty('transition', 'none', 'important');\n // Hide overflow to account for collapsed margins in the calculated height\n el.style.overflow = 'hidden';\n const offset = `${el[offsetProperty]}px`;\n el.style[sizeProperty] = '0';\n void el.offsetHeight; // force reflow\n\n el.style.transition = initialStyle.transition;\n if (expandedParentClass && el._parent) {\n el._parent.classList.add(expandedParentClass);\n }\n requestAnimationFrame(() => {\n el.style[sizeProperty] = offset;\n });\n },\n onAfterEnter: resetStyles,\n onEnterCancelled: resetStyles,\n onLeave(el) {\n el._initialStyle = {\n transition: '',\n overflow: el.style.overflow,\n [sizeProperty]: el.style[sizeProperty]\n };\n el.style.overflow = 'hidden';\n el.style[sizeProperty] = `${el[offsetProperty]}px`;\n void el.offsetHeight; // force reflow\n\n requestAnimationFrame(() => el.style[sizeProperty] = '0');\n },\n onAfterLeave,\n onLeaveCancelled: onAfterLeave\n };\n function onAfterLeave(el) {\n if (expandedParentClass && el._parent) {\n el._parent.classList.remove(expandedParentClass);\n }\n resetStyles(el);\n }\n function resetStyles(el) {\n const size = el._initialStyle[sizeProperty];\n el.style.overflow = el._initialStyle.overflow;\n if (size != null) el.style[sizeProperty] = size;\n delete el._initialStyle;\n }\n}\n//# sourceMappingURL=expand-transition.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Utilities\nimport { Transition } from 'vue';\nimport { acceleratedEasing, animate, deceleratedEasing, genericComponent, nullifyTransforms, propsFactory, standardEasing } from \"../../util/index.mjs\";\nimport { getTargetBox } from \"../../util/box.mjs\"; // Types\nexport const makeVDialogTransitionProps = propsFactory({\n target: [Object, Array]\n}, 'v-dialog-transition');\nexport const VDialogTransition = genericComponent()({\n name: 'VDialogTransition',\n props: makeVDialogTransitionProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const functions = {\n onBeforeEnter(el) {\n el.style.pointerEvents = 'none';\n el.style.visibility = 'hidden';\n },\n async onEnter(el, done) {\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => requestAnimationFrame(resolve));\n el.style.visibility = '';\n const {\n x,\n y,\n sx,\n sy,\n speed\n } = getDimensions(props.target, el);\n const animation = animate(el, [{\n transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,\n opacity: 0\n }, {}], {\n duration: 225 * speed,\n easing: deceleratedEasing\n });\n getChildren(el)?.forEach(el => {\n animate(el, [{\n opacity: 0\n }, {\n opacity: 0,\n offset: 0.33\n }, {}], {\n duration: 225 * 2 * speed,\n easing: standardEasing\n });\n });\n animation.finished.then(() => done());\n },\n onAfterEnter(el) {\n el.style.removeProperty('pointer-events');\n },\n onBeforeLeave(el) {\n el.style.pointerEvents = 'none';\n },\n async onLeave(el, done) {\n await new Promise(resolve => requestAnimationFrame(resolve));\n const {\n x,\n y,\n sx,\n sy,\n speed\n } = getDimensions(props.target, el);\n const animation = animate(el, [{}, {\n transform: `translate(${x}px, ${y}px) scale(${sx}, ${sy})`,\n opacity: 0\n }], {\n duration: 125 * speed,\n easing: acceleratedEasing\n });\n animation.finished.then(() => done());\n getChildren(el)?.forEach(el => {\n animate(el, [{}, {\n opacity: 0,\n offset: 0.2\n }, {\n opacity: 0\n }], {\n duration: 125 * 2 * speed,\n easing: standardEasing\n });\n });\n },\n onAfterLeave(el) {\n el.style.removeProperty('pointer-events');\n }\n };\n return () => {\n return props.target ? _createVNode(Transition, _mergeProps({\n \"name\": \"dialog-transition\"\n }, functions, {\n \"css\": false\n }), slots) : _createVNode(Transition, {\n \"name\": \"dialog-transition\"\n }, slots);\n };\n }\n});\n\n/** Animatable children (card, sheet, list) */\nfunction getChildren(el) {\n const els = el.querySelector(':scope > .v-card, :scope > .v-sheet, :scope > .v-list')?.children;\n return els && [...els];\n}\nfunction getDimensions(target, el) {\n const targetBox = getTargetBox(target);\n const elBox = nullifyTransforms(el);\n const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v));\n const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ');\n let offsetX = targetBox.left + targetBox.width / 2;\n if (anchorSide === 'left' || anchorOffset === 'left') {\n offsetX -= targetBox.width / 2;\n } else if (anchorSide === 'right' || anchorOffset === 'right') {\n offsetX += targetBox.width / 2;\n }\n let offsetY = targetBox.top + targetBox.height / 2;\n if (anchorSide === 'top' || anchorOffset === 'top') {\n offsetY -= targetBox.height / 2;\n } else if (anchorSide === 'bottom' || anchorOffset === 'bottom') {\n offsetY += targetBox.height / 2;\n }\n const tsx = targetBox.width / elBox.width;\n const tsy = targetBox.height / elBox.height;\n const maxs = Math.max(1, tsx, tsy);\n const sx = tsx / maxs || 0;\n const sy = tsy / maxs || 0;\n\n // Animate elements larger than 12% of the screen area up to 1.5x slower\n const asa = elBox.width * elBox.height / (window.innerWidth * window.innerHeight);\n const speed = asa > 0.12 ? Math.min(1.5, (asa - 0.12) * 10 + 1) : 1;\n return {\n x: offsetX - (originX + elBox.left),\n y: offsetY - (originY + elBox.top),\n sx,\n sy,\n speed\n };\n}\n//# sourceMappingURL=dialog-transition.mjs.map","import { createCssTransition, createJavascriptTransition } from \"./createTransition.mjs\";\nimport ExpandTransitionGenerator from \"./expand-transition.mjs\"; // Component specific transitions\nexport const VFabTransition = createCssTransition('fab-transition', 'center center', 'out-in');\n\n// Generic transitions\nexport const VDialogBottomTransition = createCssTransition('dialog-bottom-transition');\nexport const VDialogTopTransition = createCssTransition('dialog-top-transition');\nexport const VFadeTransition = createCssTransition('fade-transition');\nexport const VScaleTransition = createCssTransition('scale-transition');\nexport const VScrollXTransition = createCssTransition('scroll-x-transition');\nexport const VScrollXReverseTransition = createCssTransition('scroll-x-reverse-transition');\nexport const VScrollYTransition = createCssTransition('scroll-y-transition');\nexport const VScrollYReverseTransition = createCssTransition('scroll-y-reverse-transition');\nexport const VSlideXTransition = createCssTransition('slide-x-transition');\nexport const VSlideXReverseTransition = createCssTransition('slide-x-reverse-transition');\nexport const VSlideYTransition = createCssTransition('slide-y-transition');\nexport const VSlideYReverseTransition = createCssTransition('slide-y-reverse-transition');\n\n// Javascript transitions\nexport const VExpandTransition = createJavascriptTransition('expand-transition', ExpandTransitionGenerator());\nexport const VExpandXTransition = createJavascriptTransition('expand-x-transition', ExpandTransitionGenerator('', true));\nexport { VDialogTransition } from \"./dialog-transition.mjs\";\n//# sourceMappingURL=index.mjs.map","// Composables\nimport { provideDefaults } from \"../../composables/defaults.mjs\"; // Utilities\nimport { toRefs } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const makeVDefaultsProviderProps = propsFactory({\n defaults: Object,\n disabled: Boolean,\n reset: [Number, String],\n root: [Boolean, String],\n scoped: Boolean\n}, 'VDefaultsProvider');\nexport const VDefaultsProvider = genericComponent(false)({\n name: 'VDefaultsProvider',\n props: makeVDefaultsProviderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n defaults,\n disabled,\n reset,\n root,\n scoped\n } = toRefs(props);\n provideDefaults(defaults, {\n reset,\n root,\n scoped,\n disabled\n });\n return () => slots.default?.();\n }\n});\n//# sourceMappingURL=VDefaultsProvider.mjs.map","// Utilities\nimport { computed } from 'vue';\nimport { convertToUnit, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeDimensionProps = propsFactory({\n height: [Number, String],\n maxHeight: [Number, String],\n maxWidth: [Number, String],\n minHeight: [Number, String],\n minWidth: [Number, String],\n width: [Number, String]\n}, 'dimension');\nexport function useDimension(props) {\n const dimensionStyles = computed(() => {\n const styles = {};\n const height = convertToUnit(props.height);\n const maxHeight = convertToUnit(props.maxHeight);\n const maxWidth = convertToUnit(props.maxWidth);\n const minHeight = convertToUnit(props.minHeight);\n const minWidth = convertToUnit(props.minWidth);\n const width = convertToUnit(props.width);\n if (height != null) styles.height = height;\n if (maxHeight != null) styles.maxHeight = maxHeight;\n if (maxWidth != null) styles.maxWidth = maxWidth;\n if (minHeight != null) styles.minHeight = minHeight;\n if (minWidth != null) styles.minWidth = minWidth;\n if (width != null) styles.width = width;\n return styles;\n });\n return {\n dimensionStyles\n };\n}\n//# sourceMappingURL=dimensions.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VResponsive.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport function useAspectStyles(props) {\n return {\n aspectStyles: computed(() => {\n const ratio = Number(props.aspectRatio);\n return ratio ? {\n paddingBottom: String(1 / ratio * 100) + '%'\n } : undefined;\n })\n };\n}\nexport const makeVResponsiveProps = propsFactory({\n aspectRatio: [String, Number],\n contentClass: null,\n inline: Boolean,\n ...makeComponentProps(),\n ...makeDimensionProps()\n}, 'VResponsive');\nexport const VResponsive = genericComponent()({\n name: 'VResponsive',\n props: makeVResponsiveProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n aspectStyles\n } = useAspectStyles(props);\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-responsive', {\n 'v-responsive--inline': props.inline\n }, props.class],\n \"style\": [dimensionStyles.value, props.style]\n }, [_createVNode(\"div\", {\n \"class\": \"v-responsive__sizer\",\n \"style\": aspectStyles.value\n }, null), slots.additional?.(), slots.default && _createVNode(\"div\", {\n \"class\": ['v-responsive__content', props.contentClass]\n }, [slots.default()])]));\n return {};\n }\n});\n//# sourceMappingURL=VResponsive.mjs.map","// Utilities\nimport { computed, isRef } from 'vue';\nimport { destructComputed, getForeground, isCssColor, isParsableColor, parseColor } from \"../util/index.mjs\"; // Types\n// Composables\nexport function useColor(colors) {\n return destructComputed(() => {\n const classes = [];\n const styles = {};\n if (colors.value.background) {\n if (isCssColor(colors.value.background)) {\n styles.backgroundColor = colors.value.background;\n if (!colors.value.text && isParsableColor(colors.value.background)) {\n const backgroundColor = parseColor(colors.value.background);\n if (backgroundColor.a == null || backgroundColor.a === 1) {\n const textColor = getForeground(backgroundColor);\n styles.color = textColor;\n styles.caretColor = textColor;\n }\n }\n } else {\n classes.push(`bg-${colors.value.background}`);\n }\n }\n if (colors.value.text) {\n if (isCssColor(colors.value.text)) {\n styles.color = colors.value.text;\n styles.caretColor = colors.value.text;\n } else {\n classes.push(`text-${colors.value.text}`);\n }\n }\n return {\n colorClasses: classes,\n colorStyles: styles\n };\n });\n}\nexport function useTextColor(props, name) {\n const colors = computed(() => ({\n text: isRef(props) ? props.value : name ? props[name] : null\n }));\n const {\n colorClasses: textColorClasses,\n colorStyles: textColorStyles\n } = useColor(colors);\n return {\n textColorClasses,\n textColorStyles\n };\n}\nexport function useBackgroundColor(props, name) {\n const colors = computed(() => ({\n background: isRef(props) ? props.value : name ? props[name] : null\n }));\n const {\n colorClasses: backgroundColorClasses,\n colorStyles: backgroundColorStyles\n } = useColor(colors);\n return {\n backgroundColorClasses,\n backgroundColorStyles\n };\n}\n//# sourceMappingURL=color.mjs.map","// Utilities\nimport { computed, isRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeRoundedProps = propsFactory({\n rounded: {\n type: [Boolean, Number, String],\n default: undefined\n },\n tile: Boolean\n}, 'rounded');\nexport function useRounded(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const roundedClasses = computed(() => {\n const rounded = isRef(props) ? props.value : props.rounded;\n const tile = isRef(props) ? props.value : props.tile;\n const classes = [];\n if (rounded === true || rounded === '') {\n classes.push(`${name}--rounded`);\n } else if (typeof rounded === 'string' || rounded === 0) {\n for (const value of String(rounded).split(' ')) {\n classes.push(`rounded-${value}`);\n }\n } else if (tile || rounded === false) {\n classes.push('rounded-0');\n }\n return classes;\n });\n return {\n roundedClasses\n };\n}\n//# sourceMappingURL=rounded.mjs.map","// Utilities\nimport { h, mergeProps, Transition, TransitionGroup } from 'vue';\nimport { propsFactory } from \"../util/index.mjs\"; // Types\nexport const makeTransitionProps = propsFactory({\n transition: {\n type: [Boolean, String, Object],\n default: 'fade-transition',\n validator: val => val !== true\n }\n}, 'transition');\nexport const MaybeTransition = (props, _ref) => {\n let {\n slots\n } = _ref;\n const {\n transition,\n disabled,\n group,\n ...rest\n } = props;\n const {\n component = group ? TransitionGroup : Transition,\n ...customProps\n } = typeof transition === 'object' ? transition : {};\n return h(component, mergeProps(typeof transition === 'string' ? {\n name: disabled ? '' : transition\n } : customProps, typeof transition === 'string' ? {} : Object.fromEntries(Object.entries({\n disabled,\n group\n }).filter(_ref2 => {\n let [_, v] = _ref2;\n return v !== undefined;\n })), rest), slots);\n};\n//# sourceMappingURL=transition.mjs.map","// Utilities\nimport { SUPPORTS_INTERSECTION } from \"../../util/index.mjs\"; // Types\nfunction mounted(el, binding) {\n if (!SUPPORTS_INTERSECTION) return;\n const modifiers = binding.modifiers || {};\n const value = binding.value;\n const {\n handler,\n options\n } = typeof value === 'object' ? value : {\n handler: value,\n options: {}\n };\n const observer = new IntersectionObserver(function () {\n let entries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let observer = arguments.length > 1 ? arguments[1] : undefined;\n const _observe = el._observe?.[binding.instance.$.uid];\n if (!_observe) return; // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting);\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) {\n handler(isIntersecting, entries, observer);\n }\n if (isIntersecting && modifiers.once) unmounted(el, binding);else _observe.init = true;\n }, options);\n el._observe = Object(el._observe);\n el._observe[binding.instance.$.uid] = {\n init: false,\n observer\n };\n observer.observe(el);\n}\nfunction unmounted(el, binding) {\n const observe = el._observe?.[binding.instance.$.uid];\n if (!observe) return;\n observe.observer.unobserve(el);\n delete el._observe[binding.instance.$.uid];\n}\nexport const Intersect = {\n mounted,\n unmounted\n};\nexport default Intersect;\n//# sourceMappingURL=index.mjs.map","import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VImg.css\";\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from \"../VResponsive/VResponsive.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Directives\nimport intersect from \"../../directives/intersect/index.mjs\"; // Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, ref, shallowRef, toRef, vShow, watch, withDirectives } from 'vue';\nimport { convertToUnit, genericComponent, getCurrentInstance, propsFactory, SUPPORTS_INTERSECTION, useRender } from \"../../util/index.mjs\"; // Types\n// not intended for public use, this is passed in by vuetify-loader\nexport const makeVImgProps = propsFactory({\n absolute: Boolean,\n alt: String,\n cover: Boolean,\n color: String,\n draggable: {\n type: [Boolean, String],\n default: undefined\n },\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined\n })\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: ''\n },\n crossorigin: String,\n referrerpolicy: String,\n srcset: String,\n position: String,\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeRoundedProps(),\n ...makeTransitionProps()\n}, 'VImg');\nexport const VImg = genericComponent()({\n name: 'VImg',\n directives: {\n intersect\n },\n props: makeVImgProps(),\n emits: {\n loadstart: value => true,\n load: value => true,\n error: value => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n roundedClasses\n } = useRounded(props);\n const vm = getCurrentInstance('VImg');\n const currentSrc = shallowRef(''); // Set from srcset\n const image = ref();\n const state = shallowRef(props.eager ? 'loading' : 'idle');\n const naturalWidth = shallowRef();\n const naturalHeight = shallowRef();\n const normalisedSrc = computed(() => {\n return props.src && typeof props.src === 'object' ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0)\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0)\n };\n });\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value / naturalHeight.value || 0;\n });\n watch(() => props.src, () => {\n init(state.value !== 'idle');\n });\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value);\n }\n });\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init());\n function init(isIntersecting) {\n if (props.eager && isIntersecting) return;\n if (SUPPORTS_INTERSECTION && !isIntersecting && !props.eager) return;\n state.value = 'loading';\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image();\n lazyImg.src = normalisedSrc.value.lazySrc;\n pollForSize(lazyImg, null);\n }\n if (!normalisedSrc.value.src) return;\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src);\n setTimeout(() => {\n if (vm.isUnmounted) return;\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError();\n }\n if (state.value === 'error') return;\n if (!aspectRatio.value) pollForSize(image.value, null);\n if (state.value === 'loading') onLoad();\n } else {\n if (!aspectRatio.value) pollForSize(image.value);\n getSrc();\n }\n });\n });\n }\n function onLoad() {\n if (vm.isUnmounted) return;\n getSrc();\n pollForSize(image.value);\n state.value = 'loaded';\n emit('load', image.value?.currentSrc || normalisedSrc.value.src);\n }\n function onError() {\n if (vm.isUnmounted) return;\n state.value = 'error';\n emit('error', image.value?.currentSrc || normalisedSrc.value.src);\n }\n function getSrc() {\n const img = image.value;\n if (img) currentSrc.value = img.currentSrc || img.src;\n }\n let timer = -1;\n onBeforeUnmount(() => {\n clearTimeout(timer);\n });\n function pollForSize(img) {\n let timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100;\n const poll = () => {\n clearTimeout(timer);\n if (vm.isUnmounted) return;\n const {\n naturalHeight: imgHeight,\n naturalWidth: imgWidth\n } = img;\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth;\n naturalHeight.value = imgHeight;\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout);\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1;\n naturalHeight.value = 1;\n }\n };\n poll();\n }\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover\n }));\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null;\n const img = _createVNode(\"img\", {\n \"class\": ['v-img__img', containClasses.value],\n \"style\": {\n objectPosition: props.position\n },\n \"src\": normalisedSrc.value.src,\n \"srcset\": normalisedSrc.value.srcset,\n \"alt\": props.alt,\n \"crossorigin\": props.crossorigin,\n \"referrerpolicy\": props.referrerpolicy,\n \"draggable\": props.draggable,\n \"sizes\": props.sizes,\n \"ref\": image,\n \"onLoad\": onLoad,\n \"onError\": onError\n }, null);\n const sources = slots.sources?.();\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [withDirectives(sources ? _createVNode(\"picture\", {\n \"class\": \"v-img__picture\"\n }, [sources, img]) : img, [[vShow, state.value === 'loaded']])]\n });\n };\n const __preloadImage = () => _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && _createVNode(\"img\", {\n \"class\": ['v-img__img', 'v-img__img--preload', containClasses.value],\n \"style\": {\n objectPosition: props.position\n },\n \"src\": normalisedSrc.value.lazySrc,\n \"alt\": props.alt,\n \"crossorigin\": props.crossorigin,\n \"referrerpolicy\": props.referrerpolicy,\n \"draggable\": props.draggable\n }, null)]\n });\n const __placeholder = () => {\n if (!slots.placeholder) return null;\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [(state.value === 'loading' || state.value === 'error' && !slots.error) && _createVNode(\"div\", {\n \"class\": \"v-img__placeholder\"\n }, [slots.placeholder()])]\n });\n };\n const __error = () => {\n if (!slots.error) return null;\n return _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [state.value === 'error' && _createVNode(\"div\", {\n \"class\": \"v-img__error\"\n }, [slots.error()])]\n });\n };\n const __gradient = () => {\n if (!props.gradient) return null;\n return _createVNode(\"div\", {\n \"class\": \"v-img__gradient\",\n \"style\": {\n backgroundImage: `linear-gradient(${props.gradient})`\n }\n }, null);\n };\n const isBooted = shallowRef(false);\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true;\n });\n });\n stop();\n }\n });\n }\n useRender(() => {\n const responsiveProps = VResponsive.filterProps(props);\n return _withDirectives(_createVNode(VResponsive, _mergeProps({\n \"class\": ['v-img', {\n 'v-img--absolute': props.absolute,\n 'v-img--booting': !isBooted.value\n }, backgroundColorClasses.value, roundedClasses.value, props.class],\n \"style\": [{\n width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width)\n }, backgroundColorStyles.value, props.style]\n }, responsiveProps, {\n \"aspectRatio\": aspectRatio.value,\n \"aria-label\": props.alt,\n \"role\": props.alt ? 'img' : undefined\n }), {\n additional: () => _createVNode(_Fragment, null, [_createVNode(__image, null, null), _createVNode(__preloadImage, null, null), _createVNode(__gradient, null, null), _createVNode(__placeholder, null, null), _createVNode(__error, null, null)]),\n default: slots.default\n }), [[_resolveDirective(\"intersect\"), {\n handler: init,\n options: props.options\n }, null, {\n once: true\n }]]);\n });\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight\n };\n }\n});\n//# sourceMappingURL=VImg.mjs.map","// Utilities\nimport { computed, isRef } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeBorderProps = propsFactory({\n border: [Boolean, Number, String]\n}, 'border');\nexport function useBorder(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const borderClasses = computed(() => {\n const border = isRef(props) ? props.value : props.border;\n const classes = [];\n if (border === true || border === '') {\n classes.push(`${name}--border`);\n } else if (typeof border === 'string' || border === 0) {\n for (const value of String(border).split(' ')) {\n classes.push(`border-${value}`);\n }\n }\n return classes;\n });\n return {\n borderClasses\n };\n}\n//# sourceMappingURL=border.mjs.map","// Utilities\nimport { computed, isRef } from 'vue';\nimport { propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeElevationProps = propsFactory({\n elevation: {\n type: [Number, String],\n validator(v) {\n const value = parseInt(v);\n return !isNaN(value) && value >= 0 &&\n // Material Design has a maximum elevation of 24\n // https://material.io/design/environment/elevation.html#default-elevations\n value <= 24;\n }\n }\n}, 'elevation');\nexport function useElevation(props) {\n const elevationClasses = computed(() => {\n const elevation = isRef(props) ? props.value : props.elevation;\n const classes = [];\n if (elevation == null) return classes;\n classes.push(`elevation-${elevation}`);\n return classes;\n });\n return {\n elevationClasses\n };\n}\n//# sourceMappingURL=elevation.mjs.map","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VToolbar.css\";\n\n// Components\nimport { VToolbarTitle } from \"./VToolbarTitle.mjs\";\nimport { VExpandTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VImg } from \"../VImg/index.mjs\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, shallowRef, toRef } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nconst allowedDensities = [null, 'prominent', 'default', 'comfortable', 'compact'];\nexport const makeVToolbarProps = propsFactory({\n absolute: Boolean,\n collapse: Boolean,\n color: String,\n density: {\n type: String,\n default: 'default',\n validator: v => allowedDensities.includes(v)\n },\n extended: Boolean,\n extensionHeight: {\n type: [Number, String],\n default: 48\n },\n flat: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default: 64\n },\n image: String,\n title: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps({\n tag: 'header'\n }),\n ...makeThemeProps()\n}, 'VToolbar');\nexport const VToolbar = genericComponent()({\n name: 'VToolbar',\n props: makeVToolbarProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n borderClasses\n } = useBorder(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses\n } = useRtl();\n const isExtended = shallowRef(!!(props.extended || slots.extension?.()));\n const contentHeight = computed(() => parseInt(Number(props.height) + (props.density === 'prominent' ? Number(props.height) : 0) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0), 10));\n const extensionHeight = computed(() => isExtended.value ? parseInt(Number(props.extensionHeight) + (props.density === 'prominent' ? Number(props.extensionHeight) : 0) - (props.density === 'comfortable' ? 4 : 0) - (props.density === 'compact' ? 8 : 0), 10) : 0);\n provideDefaults({\n VBtn: {\n variant: 'text'\n }\n });\n useRender(() => {\n const hasTitle = !!(props.title || slots.title);\n const hasImage = !!(slots.image || props.image);\n const extension = slots.extension?.();\n isExtended.value = !!(props.extended || extension);\n return _createVNode(props.tag, {\n \"class\": ['v-toolbar', {\n 'v-toolbar--absolute': props.absolute,\n 'v-toolbar--collapse': props.collapse,\n 'v-toolbar--flat': props.flat,\n 'v-toolbar--floating': props.floating,\n [`v-toolbar--density-${props.density}`]: true\n }, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, props.style]\n }, {\n default: () => [hasImage && _createVNode(\"div\", {\n \"key\": \"image\",\n \"class\": \"v-toolbar__image\"\n }, [!slots.image ? _createVNode(VImg, {\n \"key\": \"image-img\",\n \"cover\": true,\n \"src\": props.image\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"image-defaults\",\n \"disabled\": !props.image,\n \"defaults\": {\n VImg: {\n cover: true,\n src: props.image\n }\n }\n }, slots.image)]), _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VTabs: {\n height: convertToUnit(contentHeight.value)\n }\n }\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-toolbar__content\",\n \"style\": {\n height: convertToUnit(contentHeight.value)\n }\n }, [slots.prepend && _createVNode(\"div\", {\n \"class\": \"v-toolbar__prepend\"\n }, [slots.prepend?.()]), hasTitle && _createVNode(VToolbarTitle, {\n \"key\": \"title\",\n \"text\": props.title\n }, {\n text: slots.title\n }), slots.default?.(), slots.append && _createVNode(\"div\", {\n \"class\": \"v-toolbar__append\"\n }, [slots.append?.()])])]\n }), _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VTabs: {\n height: convertToUnit(extensionHeight.value)\n }\n }\n }, {\n default: () => [_createVNode(VExpandTransition, null, {\n default: () => [isExtended.value && _createVNode(\"div\", {\n \"class\": \"v-toolbar__extension\",\n \"style\": {\n height: convertToUnit(extensionHeight.value)\n }\n }, [extension])]\n })]\n })]\n });\n });\n return {\n contentHeight,\n extensionHeight\n };\n }\n});\n//# sourceMappingURL=VToolbar.mjs.map","// Utilities\nimport { computed, onBeforeUnmount, onMounted, ref, shallowRef, watch } from 'vue';\nimport { clamp, consoleWarn, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeScrollProps = propsFactory({\n scrollTarget: {\n type: String\n },\n scrollThreshold: {\n type: [String, Number],\n default: 300\n }\n}, 'scroll');\nexport function useScroll(props) {\n let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n canScroll\n } = args;\n let previousScroll = 0;\n let previousScrollHeight = 0;\n const target = ref(null);\n const currentScroll = shallowRef(0);\n const savedScroll = shallowRef(0);\n const currentThreshold = shallowRef(0);\n const isScrollActive = shallowRef(false);\n const isScrollingUp = shallowRef(false);\n const scrollThreshold = computed(() => {\n return Number(props.scrollThreshold);\n });\n\n /**\n * 1: at top\n * 0: at threshold\n */\n const scrollRatio = computed(() => {\n return clamp((scrollThreshold.value - currentScroll.value) / scrollThreshold.value || 0);\n });\n const onScroll = () => {\n const targetEl = target.value;\n if (!targetEl || canScroll && !canScroll.value) return;\n previousScroll = currentScroll.value;\n currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;\n const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight;\n if (previousScrollHeight !== currentScrollHeight) {\n previousScrollHeight = currentScrollHeight;\n return;\n }\n isScrollingUp.value = currentScroll.value < previousScroll;\n currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);\n };\n watch(isScrollingUp, () => {\n savedScroll.value = savedScroll.value || currentScroll.value;\n });\n watch(isScrollActive, () => {\n savedScroll.value = 0;\n });\n onMounted(() => {\n watch(() => props.scrollTarget, scrollTarget => {\n const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window;\n if (!newTarget) {\n consoleWarn(`Unable to locate element with identifier ${scrollTarget}`);\n return;\n }\n if (newTarget === target.value) return;\n target.value?.removeEventListener('scroll', onScroll);\n target.value = newTarget;\n target.value.addEventListener('scroll', onScroll, {\n passive: true\n });\n }, {\n immediate: true\n });\n });\n onBeforeUnmount(() => {\n target.value?.removeEventListener('scroll', onScroll);\n });\n\n // Do we need this? If yes - seems that\n // there's no need to expose onScroll\n canScroll && watch(canScroll, onScroll, {\n immediate: true\n });\n return {\n scrollThreshold,\n currentScroll,\n currentThreshold,\n isScrollActive,\n scrollRatio,\n // required only for testing\n // probably can be removed\n // later (2 chars chlng)\n isScrollingUp,\n savedScroll\n };\n}\n//# sourceMappingURL=scroll.mjs.map","// Utilities\nimport { computed, onMounted, readonly, shallowRef } from 'vue';\n\n// Composables\nexport function useSsrBoot() {\n const isBooted = shallowRef(false);\n onMounted(() => {\n window.requestAnimationFrame(() => {\n isBooted.value = true;\n });\n });\n const ssrBootStyles = computed(() => !isBooted.value ? {\n transition: 'none !important'\n } : undefined);\n return {\n ssrBootStyles,\n isBooted: readonly(isBooted)\n };\n}\n//# sourceMappingURL=ssrBoot.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VAppBar.css\";\n\n// Components\nimport { makeVToolbarProps, VToolbar } from \"../VToolbar/VToolbar.mjs\"; // Composables\nimport { makeLayoutItemProps, useLayoutItem } from \"../../composables/layout.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeScrollProps, useScroll } from \"../../composables/scroll.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\"; // Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVAppBarProps = propsFactory({\n scrollBehavior: String,\n modelValue: {\n type: Boolean,\n default: true\n },\n location: {\n type: String,\n default: 'top',\n validator: value => ['top', 'bottom'].includes(value)\n },\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n height: {\n type: [Number, String],\n default: 64\n }\n}, 'VAppBar');\nexport const VAppBar = genericComponent()({\n name: 'VAppBar',\n props: makeVAppBarProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const vToolbarRef = ref();\n const isActive = useProxiedModel(props, 'modelValue');\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? []);\n return {\n hide: behavior.has('hide'),\n fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image')\n // shrink: behavior.has('shrink'),\n };\n });\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value;\n return behavior.hide || behavior.fullyHide || behavior.inverted || behavior.collapse || behavior.elevate || behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value;\n });\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio\n } = useScroll(props, {\n canScroll\n });\n const canHide = computed(() => scrollBehavior.value.hide || scrollBehavior.value.fullyHide);\n const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));\n const isFlat = computed(() => props.flat || scrollBehavior.value.fullyHide && !isActive.value || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));\n const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);\n const height = computed(() => {\n if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;\n const height = vToolbarRef.value?.contentHeight ?? 0;\n const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0;\n if (!canHide.value) return height + extensionHeight;\n return currentScroll.value < scrollThreshold.value || scrollBehavior.value.fullyHide ? height + extensionHeight : height;\n });\n useToggleScope(computed(() => !!props.scrollBehavior), () => {\n watchEffect(() => {\n if (canHide.value) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value;\n } else {\n isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;\n }\n } else {\n isActive.value = true;\n }\n });\n });\n const {\n ssrBootStyles\n } = useSsrBoot();\n const {\n layoutItemStyles\n } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: shallowRef(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute')\n });\n useRender(() => {\n const toolbarProps = VToolbar.filterProps(props);\n return _createVNode(VToolbar, _mergeProps({\n \"ref\": vToolbarRef,\n \"class\": ['v-app-bar', {\n 'v-app-bar--bottom': props.location === 'bottom'\n }, props.class],\n \"style\": [{\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value\n }, props.style]\n }, toolbarProps, {\n \"collapse\": isCollapsed.value,\n \"flat\": isFlat.value\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VAppBar.mjs.map","// Utilities\nimport { computed } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.mjs\"; // Types\nconst allowedDensities = [null, 'default', 'comfortable', 'compact'];\n\n// typeof allowedDensities[number] evalutes to any\n// when generating api types for whatever reason.\n\n// Composables\nexport const makeDensityProps = propsFactory({\n density: {\n type: String,\n default: 'default',\n validator: v => allowedDensities.includes(v)\n }\n}, 'density');\nexport function useDensity(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const densityClasses = computed(() => {\n return `${name}--density-${props.density}`;\n });\n return {\n densityClasses\n };\n}\n//# sourceMappingURL=density.mjs.map","import { createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Composables\nimport { useColor } from \"./color.mjs\"; // Utilities\nimport { computed, unref } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.mjs\"; // Types\nexport const allowedVariants = ['elevated', 'flat', 'tonal', 'outlined', 'text', 'plain'];\nexport function genOverlays(isClickable, name) {\n return _createVNode(_Fragment, null, [isClickable && _createVNode(\"span\", {\n \"key\": \"overlay\",\n \"class\": `${name}__overlay`\n }, null), _createVNode(\"span\", {\n \"key\": \"underlay\",\n \"class\": `${name}__underlay`\n }, null)]);\n}\nexport const makeVariantProps = propsFactory({\n color: String,\n variant: {\n type: String,\n default: 'elevated',\n validator: v => allowedVariants.includes(v)\n }\n}, 'variant');\nexport function useVariant(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const variantClasses = computed(() => {\n const {\n variant\n } = unref(props);\n return `${name}--variant-${variant}`;\n });\n const {\n colorClasses,\n colorStyles\n } = useColor(computed(() => {\n const {\n variant,\n color\n } = unref(props);\n return {\n [['elevated', 'flat'].includes(variant) ? 'background' : 'text']: color\n };\n }));\n return {\n colorClasses,\n colorStyles,\n variantClasses\n };\n}\n//# sourceMappingURL=variant.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VBtnGroup.css\";\n\n// Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps } from \"../../composables/variant.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVBtnGroupProps = propsFactory({\n baseColor: String,\n divided: Boolean,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps()\n}, 'VBtnGroup');\nexport const VBtnGroup = genericComponent()({\n name: 'VBtnGroup',\n props: makeVBtnGroupProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n provideDefaults({\n VBtn: {\n height: 'auto',\n baseColor: toRef(props, 'baseColor'),\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n flat: true,\n variant: toRef(props, 'variant')\n }\n });\n useRender(() => {\n return _createVNode(props.tag, {\n \"class\": ['v-btn-group', {\n 'v-btn-group--divided': props.divided\n }, themeClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],\n \"style\": props.style\n }, slots);\n });\n }\n});\n//# sourceMappingURL=VBtnGroup.mjs.map","// Composables\nimport { useProxiedModel } from \"./proxiedModel.mjs\"; // Utilities\nimport { computed, inject, onBeforeUnmount, onMounted, onUpdated, provide, reactive, toRef, unref, watch } from 'vue';\nimport { consoleWarn, deepEqual, findChildrenWithProvide, getCurrentInstance, getUid, propsFactory, wrapInArray } from \"../util/index.mjs\"; // Types\nexport const makeGroupProps = propsFactory({\n modelValue: {\n type: null,\n default: undefined\n },\n multiple: Boolean,\n mandatory: [Boolean, String],\n max: Number,\n selectedClass: String,\n disabled: Boolean\n}, 'group');\nexport const makeGroupItemProps = propsFactory({\n value: null,\n disabled: Boolean,\n selectedClass: String\n}, 'group-item');\n\n// Composables\n\nexport function useGroupItem(props, injectKey) {\n let required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n const vm = getCurrentInstance('useGroupItem');\n if (!vm) {\n throw new Error('[Vuetify] useGroupItem composable must be used inside a component setup function');\n }\n const id = getUid();\n provide(Symbol.for(`${injectKey.description}:id`), id);\n const group = inject(injectKey, null);\n if (!group) {\n if (!required) return group;\n throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${injectKey.description}`);\n }\n const value = toRef(props, 'value');\n const disabled = computed(() => !!(group.disabled.value || props.disabled));\n group.register({\n id,\n value,\n disabled\n }, vm);\n onBeforeUnmount(() => {\n group.unregister(id);\n });\n const isSelected = computed(() => {\n return group.isSelected(id);\n });\n const isFirst = computed(() => {\n return group.items.value[0].id === id;\n });\n const isLast = computed(() => {\n return group.items.value[group.items.value.length - 1].id === id;\n });\n const selectedClass = computed(() => isSelected.value && [group.selectedClass.value, props.selectedClass]);\n watch(isSelected, value => {\n vm.emit('group:selected', {\n value\n });\n }, {\n flush: 'sync'\n });\n return {\n id,\n isSelected,\n isFirst,\n isLast,\n toggle: () => group.select(id, !isSelected.value),\n select: value => group.select(id, value),\n selectedClass,\n value,\n disabled,\n group\n };\n}\nexport function useGroup(props, injectKey) {\n let isUnmounted = false;\n const items = reactive([]);\n const selected = useProxiedModel(props, 'modelValue', [], v => {\n if (v == null) return [];\n return getIds(items, wrapInArray(v));\n }, v => {\n const arr = getValues(items, v);\n return props.multiple ? arr : arr[0];\n });\n const groupVm = getCurrentInstance('useGroup');\n function register(item, vm) {\n // Is there a better way to fix this typing?\n const unwrapped = item;\n const key = Symbol.for(`${injectKey.description}:id`);\n const children = findChildrenWithProvide(key, groupVm?.vnode);\n const index = children.indexOf(vm);\n if (unref(unwrapped.value) == null) {\n unwrapped.value = index;\n unwrapped.useIndexAsValue = true;\n }\n if (index > -1) {\n items.splice(index, 0, unwrapped);\n } else {\n items.push(unwrapped);\n }\n }\n function unregister(id) {\n if (isUnmounted) return;\n\n // TODO: re-evaluate this line's importance in the future\n // should we only modify the model if mandatory is set.\n // selected.value = selected.value.filter(v => v !== id)\n\n forceMandatoryValue();\n const index = items.findIndex(item => item.id === id);\n items.splice(index, 1);\n }\n\n // If mandatory and nothing is selected, then select first non-disabled item\n function forceMandatoryValue() {\n const item = items.find(item => !item.disabled);\n if (item && props.mandatory === 'force' && !selected.value.length) {\n selected.value = [item.id];\n }\n }\n onMounted(() => {\n forceMandatoryValue();\n });\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n onUpdated(() => {\n // #19655 update the items that use the index as the value.\n for (let i = 0; i < items.length; i++) {\n if (items[i].useIndexAsValue) {\n items[i].value = i;\n }\n }\n });\n function select(id, value) {\n const item = items.find(item => item.id === id);\n if (value && item?.disabled) return;\n if (props.multiple) {\n const internalValue = selected.value.slice();\n const index = internalValue.findIndex(v => v === id);\n const isSelected = ~index;\n value = value ?? !isSelected;\n\n // We can't remove value if group is\n // mandatory, value already exists,\n // and it is the only value\n if (isSelected && props.mandatory && internalValue.length <= 1) return;\n\n // We can't add value if it would\n // cause max limit to be exceeded\n if (!isSelected && props.max != null && internalValue.length + 1 > props.max) return;\n if (index < 0 && value) internalValue.push(id);else if (index >= 0 && !value) internalValue.splice(index, 1);\n selected.value = internalValue;\n } else {\n const isSelected = selected.value.includes(id);\n if (props.mandatory && isSelected) return;\n selected.value = value ?? !isSelected ? [id] : [];\n }\n }\n function step(offset) {\n // getting an offset from selected value obviously won't work with multiple values\n if (props.multiple) consoleWarn('This method is not supported when using \"multiple\" prop');\n if (!selected.value.length) {\n const item = items.find(item => !item.disabled);\n item && (selected.value = [item.id]);\n } else {\n const currentId = selected.value[0];\n const currentIndex = items.findIndex(i => i.id === currentId);\n let newIndex = (currentIndex + offset) % items.length;\n let newItem = items[newIndex];\n while (newItem.disabled && newIndex !== currentIndex) {\n newIndex = (newIndex + offset) % items.length;\n newItem = items[newIndex];\n }\n if (newItem.disabled) return;\n selected.value = [items[newIndex].id];\n }\n }\n const state = {\n register,\n unregister,\n selected,\n select,\n disabled: toRef(props, 'disabled'),\n prev: () => step(items.length - 1),\n next: () => step(1),\n isSelected: id => selected.value.includes(id),\n selectedClass: computed(() => props.selectedClass),\n items: computed(() => items),\n getItemIndex: value => getItemIndex(items, value)\n };\n provide(injectKey, state);\n return state;\n}\nfunction getItemIndex(items, value) {\n const ids = getIds(items, [value]);\n if (!ids.length) return -1;\n return items.findIndex(item => item.id === ids[0]);\n}\nfunction getIds(items, modelValue) {\n const ids = [];\n modelValue.forEach(value => {\n const item = items.find(item => deepEqual(value, item.value));\n const itemByIndex = items[value];\n if (item?.value != null) {\n ids.push(item.id);\n } else if (itemByIndex != null) {\n ids.push(itemByIndex.id);\n }\n });\n return ids;\n}\nfunction getValues(items, ids) {\n const values = [];\n ids.forEach(id => {\n const itemIndex = items.findIndex(item => item.id === id);\n if (~itemIndex) {\n const item = items[itemIndex];\n values.push(item.value != null ? item.value : itemIndex);\n }\n });\n return values;\n}\n//# sourceMappingURL=group.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VBtnToggle.css\";\n\n// Components\nimport { makeVBtnGroupProps, VBtnGroup } from \"../VBtnGroup/VBtnGroup.mjs\"; // Composables\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');\nexport const makeVBtnToggleProps = propsFactory({\n ...makeVBtnGroupProps(),\n ...makeGroupProps()\n}, 'VBtnToggle');\nexport const VBtnToggle = genericComponent()({\n name: 'VBtnToggle',\n props: makeVBtnToggleProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n isSelected,\n next,\n prev,\n select,\n selected\n } = useGroup(props, VBtnToggleSymbol);\n useRender(() => {\n const btnGroupProps = VBtnGroup.filterProps(props);\n return _createVNode(VBtnGroup, _mergeProps({\n \"class\": ['v-btn-toggle', props.class]\n }, btnGroupProps, {\n \"style\": props.style\n }), {\n default: () => [slots.default?.({\n isSelected,\n next,\n prev,\n select,\n selected\n })]\n });\n });\n return {\n next,\n prev,\n select\n };\n }\n});\n//# sourceMappingURL=VBtnToggle.mjs.map","// Utilities\nimport { convertToUnit, destructComputed, getCurrentInstanceName, includes, propsFactory } from \"../util/index.mjs\"; // Types\nconst predefinedSizes = ['x-small', 'small', 'default', 'large', 'x-large'];\n// Composables\nexport const makeSizeProps = propsFactory({\n size: {\n type: [String, Number],\n default: 'default'\n }\n}, 'size');\nexport function useSize(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n return destructComputed(() => {\n let sizeClasses;\n let sizeStyles;\n if (includes(predefinedSizes, props.size)) {\n sizeClasses = `${name}--size-${props.size}`;\n } else if (props.size) {\n sizeStyles = {\n width: convertToUnit(props.size),\n height: convertToUnit(props.size)\n };\n }\n return {\n sizeClasses,\n sizeStyles\n };\n });\n}\n//# sourceMappingURL=size.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VIcon.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { IconValue, useIcon } from \"../../composables/icons.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, ref, Text, toRef } from 'vue';\nimport { convertToUnit, flattenFragments, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVIconProps = propsFactory({\n color: String,\n disabled: Boolean,\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'i'\n }),\n ...makeThemeProps()\n}, 'VIcon');\nexport const VIcon = genericComponent()({\n name: 'VIcon',\n props: makeVIconProps(),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const slotIcon = ref();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n iconData\n } = useIcon(computed(() => slotIcon.value || props.icon));\n const {\n sizeClasses\n } = useSize(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'color'));\n useRender(() => {\n const slotValue = slots.default?.();\n if (slotValue) {\n slotIcon.value = flattenFragments(slotValue).filter(node => node.type === Text && node.children && typeof node.children === 'string')[0]?.children;\n }\n const hasClick = !!(attrs.onClick || attrs.onClickOnce);\n return _createVNode(iconData.value.component, {\n \"tag\": props.tag,\n \"icon\": iconData.value.icon,\n \"class\": ['v-icon', 'notranslate', themeClasses.value, sizeClasses.value, textColorClasses.value, {\n 'v-icon--clickable': hasClick,\n 'v-icon--disabled': props.disabled,\n 'v-icon--start': props.start,\n 'v-icon--end': props.end\n }, props.class],\n \"style\": [!sizeClasses.value ? {\n fontSize: convertToUnit(props.size),\n height: convertToUnit(props.size),\n width: convertToUnit(props.size)\n } : undefined, textColorStyles.value, props.style],\n \"role\": hasClick ? 'button' : undefined,\n \"aria-hidden\": !hasClick,\n \"tabindex\": hasClick ? props.disabled ? -1 : 0 : undefined\n }, {\n default: () => [slotValue]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VIcon.mjs.map","// Utilities\nimport { onBeforeUnmount, ref, shallowRef, watch } from 'vue';\nimport { SUPPORTS_INTERSECTION } from \"../util/index.mjs\";\nexport function useIntersectionObserver(callback, options) {\n const intersectionRef = ref();\n const isIntersecting = shallowRef(false);\n if (SUPPORTS_INTERSECTION) {\n const observer = new IntersectionObserver(entries => {\n callback?.(entries, observer);\n isIntersecting.value = !!entries.find(entry => entry.isIntersecting);\n }, options);\n onBeforeUnmount(() => {\n observer.disconnect();\n });\n watch(intersectionRef, (newValue, oldValue) => {\n if (oldValue) {\n observer.unobserve(oldValue);\n isIntersecting.value = false;\n }\n if (newValue) observer.observe(newValue);\n }, {\n flush: 'post'\n });\n }\n return {\n intersectionRef,\n isIntersecting\n };\n}\n//# sourceMappingURL=intersectionObserver.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VProgressCircular.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, ref, toRef, watchEffect } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVProgressCircularProps = propsFactory({\n bgColor: String,\n color: String,\n indeterminate: [Boolean, String],\n modelValue: {\n type: [Number, String],\n default: 0\n },\n rotate: {\n type: [Number, String],\n default: 0\n },\n width: {\n type: [Number, String],\n default: 4\n },\n ...makeComponentProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'div'\n }),\n ...makeThemeProps()\n}, 'VProgressCircular');\nexport const VProgressCircular = genericComponent()({\n name: 'VProgressCircular',\n props: makeVProgressCircularProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const MAGIC_RADIUS_CONSTANT = 20;\n const CIRCUMFERENCE = 2 * Math.PI * MAGIC_RADIUS_CONSTANT;\n const root = ref();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'color'));\n const {\n textColorClasses: underlayColorClasses,\n textColorStyles: underlayColorStyles\n } = useTextColor(toRef(props, 'bgColor'));\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const {\n resizeRef,\n contentRect\n } = useResizeObserver();\n const normalizedValue = computed(() => Math.max(0, Math.min(100, parseFloat(props.modelValue))));\n const width = computed(() => Number(props.width));\n const size = computed(() => {\n // Get size from element if size prop value is small, large etc\n return sizeStyles.value ? Number(props.size) : contentRect.value ? contentRect.value.width : Math.max(width.value, 32);\n });\n const diameter = computed(() => MAGIC_RADIUS_CONSTANT / (1 - width.value / size.value) * 2);\n const strokeWidth = computed(() => width.value / size.value * diameter.value);\n const strokeDashOffset = computed(() => convertToUnit((100 - normalizedValue.value) / 100 * CIRCUMFERENCE));\n watchEffect(() => {\n intersectionRef.value = root.value;\n resizeRef.value = root.value;\n });\n useRender(() => _createVNode(props.tag, {\n \"ref\": root,\n \"class\": ['v-progress-circular', {\n 'v-progress-circular--indeterminate': !!props.indeterminate,\n 'v-progress-circular--visible': isIntersecting.value,\n 'v-progress-circular--disable-shrink': props.indeterminate === 'disable-shrink'\n }, themeClasses.value, sizeClasses.value, textColorClasses.value, props.class],\n \"style\": [sizeStyles.value, textColorStyles.value, props.style],\n \"role\": \"progressbar\",\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\",\n \"aria-valuenow\": props.indeterminate ? undefined : normalizedValue.value\n }, {\n default: () => [_createVNode(\"svg\", {\n \"style\": {\n transform: `rotate(calc(-90deg + ${Number(props.rotate)}deg))`\n },\n \"xmlns\": \"http://www.w3.org/2000/svg\",\n \"viewBox\": `0 0 ${diameter.value} ${diameter.value}`\n }, [_createVNode(\"circle\", {\n \"class\": ['v-progress-circular__underlay', underlayColorClasses.value],\n \"style\": underlayColorStyles.value,\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": 0\n }, null), _createVNode(\"circle\", {\n \"class\": \"v-progress-circular__overlay\",\n \"fill\": \"transparent\",\n \"cx\": \"50%\",\n \"cy\": \"50%\",\n \"r\": MAGIC_RADIUS_CONSTANT,\n \"stroke-width\": strokeWidth.value,\n \"stroke-dasharray\": CIRCUMFERENCE,\n \"stroke-dashoffset\": strokeDashOffset.value\n }, null)]), slots.default && _createVNode(\"div\", {\n \"class\": \"v-progress-circular__content\"\n }, [slots.default({\n value: normalizedValue.value\n })])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VProgressCircular.mjs.map","// Composables\nimport { useRtl } from \"./locale.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { parseAnchor, propsFactory } from \"../util/index.mjs\"; // Types\nconst oppositeMap = {\n center: 'center',\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\nexport const makeLocationProps = propsFactory({\n location: String\n}, 'location');\nexport function useLocation(props) {\n let opposite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let offset = arguments.length > 2 ? arguments[2] : undefined;\n const {\n isRtl\n } = useRtl();\n const locationStyles = computed(() => {\n if (!props.location) return {};\n const {\n side,\n align\n } = parseAnchor(props.location.split(' ').length > 1 ? props.location : `${props.location} center`, isRtl.value);\n function getOffset(side) {\n return offset ? offset(side) : 0;\n }\n const styles = {};\n if (side !== 'center') {\n if (opposite) styles[oppositeMap[side]] = `calc(100% - ${getOffset(side)}px)`;else styles[side] = 0;\n }\n if (align !== 'center') {\n if (opposite) styles[oppositeMap[align]] = `calc(100% - ${getOffset(align)}px)`;else styles[align] = 0;\n } else {\n if (side === 'center') styles.top = styles.left = '50%';else {\n styles[{\n top: 'left',\n bottom: 'left',\n left: 'top',\n right: 'top'\n }[side]] = '50%';\n }\n styles.transform = {\n top: 'translateX(-50%)',\n bottom: 'translateX(-50%)',\n left: 'translateY(-50%)',\n right: 'translateY(-50%)',\n center: 'translate(-50%, -50%)'\n }[side];\n }\n return styles;\n });\n return {\n locationStyles\n };\n}\n//# sourceMappingURL=location.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VProgressLinear.css\";\n\n// Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, Transition } from 'vue';\nimport { clamp, convertToUnit, genericComponent, IN_BROWSER, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0\n },\n bufferColor: String,\n bufferOpacity: [Number, String],\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100\n },\n modelValue: {\n type: [Number, String],\n default: 0\n },\n opacity: [Number, String],\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n ...makeComponentProps(),\n ...makeLocationProps({\n location: 'top'\n }),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VProgressLinear');\nexport const VProgressLinear = genericComponent()({\n name: 'VProgressLinear',\n props: makeVProgressLinearProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const progress = useProxiedModel(props, 'modelValue');\n const {\n isRtl,\n rtlClasses\n } = useRtl();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(props, 'color');\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(computed(() => props.bgColor || props.color));\n const {\n backgroundColorClasses: bufferColorClasses,\n backgroundColorStyles: bufferColorStyles\n } = useBackgroundColor(computed(() => props.bufferColor || props.bgColor || props.color));\n const {\n backgroundColorClasses: barColorClasses,\n backgroundColorStyles: barColorStyles\n } = useBackgroundColor(props, 'color');\n const {\n roundedClasses\n } = useRounded(props);\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const max = computed(() => parseFloat(props.max));\n const height = computed(() => parseFloat(props.height));\n const normalizedBuffer = computed(() => clamp(parseFloat(props.bufferValue) / max.value * 100, 0, 100));\n const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100));\n const isReversed = computed(() => isRtl.value !== props.reverse);\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition');\n const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches;\n function handleClick(e) {\n if (!intersectionRef.value) return;\n const {\n left,\n right,\n width\n } = intersectionRef.value.getBoundingClientRect();\n const value = isReversed.value ? width - e.clientX + (right - width) : e.clientX - left;\n progress.value = Math.round(value / width * max.value);\n }\n useRender(() => _createVNode(props.tag, {\n \"ref\": intersectionRef,\n \"class\": ['v-progress-linear', {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped\n }, roundedClasses.value, themeClasses.value, rtlClasses.value, props.class],\n \"style\": [{\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...(props.absolute ? locationStyles.value : {})\n }, props.style],\n \"role\": \"progressbar\",\n \"aria-hidden\": props.active ? 'false' : 'true',\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": props.max,\n \"aria-valuenow\": props.indeterminate ? undefined : normalizedValue.value,\n \"onClick\": props.clickable && handleClick\n }, {\n default: () => [props.stream && _createVNode(\"div\", {\n \"key\": \"stream\",\n \"class\": ['v-progress-linear__stream', textColorClasses.value],\n \"style\": {\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: parseFloat(props.bufferOpacity),\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))\n }\n }, null), _createVNode(\"div\", {\n \"class\": ['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],\n \"style\": [backgroundColorStyles.value, {\n opacity: parseFloat(props.bgOpacity),\n width: props.stream ? 0 : undefined\n }]\n }, null), _createVNode(\"div\", {\n \"class\": ['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined],\n \"style\": [bufferColorStyles.value, {\n opacity: parseFloat(props.bufferOpacity),\n width: convertToUnit(normalizedBuffer.value, '%')\n }]\n }, null), _createVNode(Transition, {\n \"name\": transition.value\n }, {\n default: () => [!props.indeterminate ? _createVNode(\"div\", {\n \"class\": ['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined],\n \"style\": [barColorStyles.value, {\n width: convertToUnit(normalizedValue.value, '%')\n }]\n }, null) : _createVNode(\"div\", {\n \"class\": \"v-progress-linear__indeterminate\"\n }, [['long', 'short'].map(bar => _createVNode(\"div\", {\n \"key\": bar,\n \"class\": ['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined],\n \"style\": barColorStyles.value\n }, null))])]\n }), slots.default && _createVNode(\"div\", {\n \"class\": \"v-progress-linear__content\"\n }, [slots.default({\n value: normalizedValue.value,\n buffer: normalizedBuffer.value\n })])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VProgressLinear.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Components\nimport { VProgressLinear } from \"../components/VProgressLinear/index.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeLoaderProps = propsFactory({\n loading: [Boolean, String]\n}, 'loader');\nexport function useLoader(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const loaderClasses = computed(() => ({\n [`${name}--loading`]: props.loading\n }));\n return {\n loaderClasses\n };\n}\nexport function LoaderSlot(props, _ref) {\n let {\n slots\n } = _ref;\n return _createVNode(\"div\", {\n \"class\": `${props.name}__loader`\n }, [slots.default?.({\n color: props.color,\n isActive: props.active\n }) || _createVNode(VProgressLinear, {\n \"absolute\": props.absolute,\n \"active\": props.active,\n \"color\": props.color,\n \"height\": \"2\",\n \"indeterminate\": true\n }, null)]);\n}\n//# sourceMappingURL=loader.mjs.map","// Utilities\nimport { computed } from 'vue';\nimport { getCurrentInstanceName, propsFactory } from \"../util/index.mjs\"; // Types\nconst positionValues = ['static', 'relative', 'fixed', 'absolute', 'sticky'];\n// Composables\nexport const makePositionProps = propsFactory({\n position: {\n type: String,\n validator: /* istanbul ignore next */v => positionValues.includes(v)\n }\n}, 'position');\nexport function usePosition(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const positionClasses = computed(() => {\n return props.position ? `${name}--${props.position}` : undefined;\n });\n return {\n positionClasses\n };\n}\n//# sourceMappingURL=position.mjs.map","// Utilities\nimport { computed, nextTick, onScopeDispose, reactive, resolveDynamicComponent, toRef } from 'vue';\nimport { deepEqual, getCurrentInstance, hasEvent, IN_BROWSER, propsFactory } from \"../util/index.mjs\"; // Types\nexport function useRoute() {\n const vm = getCurrentInstance('useRoute');\n return computed(() => vm?.proxy?.$route);\n}\nexport function useRouter() {\n return getCurrentInstance('useRouter')?.proxy?.$router;\n}\nexport function useLink(props, attrs) {\n const RouterLink = resolveDynamicComponent('RouterLink');\n const isLink = computed(() => !!(props.href || props.to));\n const isClickable = computed(() => {\n return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');\n });\n if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {\n const href = toRef(props, 'href');\n return {\n isLink,\n isClickable,\n href,\n linkProps: reactive({\n href\n })\n };\n }\n // vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined\n const linkProps = computed(() => ({\n ...props,\n to: toRef(() => props.to || '')\n }));\n const routerLink = RouterLink.useLink(linkProps.value);\n // Actual link needs to be undefined when to prop is not used\n const link = computed(() => props.to ? routerLink : undefined);\n const route = useRoute();\n const isActive = computed(() => {\n if (!link.value) return false;\n if (!props.exact) return link.value.isActive?.value ?? false;\n if (!route.value) return link.value.isExactActive?.value ?? false;\n return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);\n });\n const href = computed(() => props.to ? link.value?.route.value.href : props.href);\n return {\n isLink,\n isClickable,\n isActive,\n route: link.value?.route,\n navigate: link.value?.navigate,\n href,\n linkProps: reactive({\n href,\n 'aria-current': computed(() => isActive.value ? 'page' : undefined)\n })\n };\n}\nexport const makeRouterProps = propsFactory({\n href: String,\n replace: Boolean,\n to: [String, Object],\n exact: Boolean\n}, 'router');\nlet inTransition = false;\nexport function useBackButton(router, cb) {\n let popped = false;\n let removeBefore;\n let removeAfter;\n if (IN_BROWSER) {\n nextTick(() => {\n window.addEventListener('popstate', onPopstate);\n removeBefore = router?.beforeEach((to, from, next) => {\n if (!inTransition) {\n setTimeout(() => popped ? cb(next) : next());\n } else {\n popped ? cb(next) : next();\n }\n inTransition = true;\n });\n removeAfter = router?.afterEach(() => {\n inTransition = false;\n });\n });\n onScopeDispose(() => {\n window.removeEventListener('popstate', onPopstate);\n removeBefore?.();\n removeAfter?.();\n });\n }\n function onPopstate(e) {\n if (e.state?.replaced) return;\n popped = true;\n setTimeout(() => popped = false);\n }\n}\n//# sourceMappingURL=router.mjs.map","// Utilities\nimport { nextTick, watch } from 'vue';\n\n// Types\n\nexport function useSelectLink(link, select) {\n watch(() => link.isActive?.value, isActive => {\n if (link.isLink.value && isActive && select) {\n nextTick(() => {\n select(true);\n });\n }\n }, {\n immediate: true\n });\n}\n//# sourceMappingURL=selectLink.mjs.map","// Styles\nimport \"./VRipple.css\";\n\n// Utilities\nimport { isObject, keyCodes } from \"../../util/index.mjs\"; // Types\nconst stopSymbol = Symbol('rippleStop');\nconst DELAY_RIPPLE = 80;\nfunction transform(el, value) {\n el.style.transform = value;\n el.style.webkitTransform = value;\n}\nfunction isTouchEvent(e) {\n return e.constructor.name === 'TouchEvent';\n}\nfunction isKeyboardEvent(e) {\n return e.constructor.name === 'KeyboardEvent';\n}\nconst calculate = function (e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let localX = 0;\n let localY = 0;\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect();\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e;\n localX = target.clientX - offset.left;\n localY = target.clientY - offset.top;\n }\n let radius = 0;\n let scale = 0.3;\n if (el._ripple?.circle) {\n scale = 0.15;\n radius = el.clientWidth / 2;\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4;\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2;\n }\n const centerX = `${(el.clientWidth - radius * 2) / 2}px`;\n const centerY = `${(el.clientHeight - radius * 2) / 2}px`;\n const x = value.center ? centerX : `${localX - radius}px`;\n const y = value.center ? centerY : `${localY - radius}px`;\n return {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n };\n};\nconst ripples = {\n /* eslint-disable max-statements */\n show(e, el) {\n let value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!el?._ripple?.enabled) {\n return;\n }\n const container = document.createElement('span');\n const animation = document.createElement('span');\n container.appendChild(animation);\n container.className = 'v-ripple__container';\n if (value.class) {\n container.className += ` ${value.class}`;\n }\n const {\n radius,\n scale,\n x,\n y,\n centerX,\n centerY\n } = calculate(e, el, value);\n const size = `${radius * 2}px`;\n animation.className = 'v-ripple__animation';\n animation.style.width = size;\n animation.style.height = size;\n el.appendChild(container);\n const computed = window.getComputedStyle(el);\n if (computed && computed.position === 'static') {\n el.style.position = 'relative';\n el.dataset.previousPosition = 'static';\n }\n animation.classList.add('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--visible');\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);\n animation.dataset.activated = String(performance.now());\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter');\n animation.classList.add('v-ripple__animation--in');\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);\n }, 0);\n },\n hide(el) {\n if (!el?._ripple?.enabled) return;\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 0) return;\n const animation = ripples[ripples.length - 1];\n if (animation.dataset.isHiding) return;else animation.dataset.isHiding = 'true';\n const diff = performance.now() - Number(animation.dataset.activated);\n const delay = Math.max(250 - diff, 0);\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in');\n animation.classList.add('v-ripple__animation--out');\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation');\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition;\n delete el.dataset.previousPosition;\n }\n if (animation.parentNode?.parentNode === el) el.removeChild(animation.parentNode);\n }, 300);\n }, delay);\n }\n};\nfunction isRippleEnabled(value) {\n return typeof value === 'undefined' || !!value;\n}\nfunction rippleShow(e) {\n const value = {};\n const element = e.currentTarget;\n if (!element?._ripple || element._ripple.touched || e[stopSymbol]) return;\n\n // Don't allow the event to trigger ripples on any other elements\n e[stopSymbol] = true;\n if (isTouchEvent(e)) {\n element._ripple.touched = true;\n element._ripple.isTouch = true;\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return;\n }\n value.center = element._ripple.centered || isKeyboardEvent(e);\n if (element._ripple.class) {\n value.class = element._ripple.class;\n }\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return;\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value);\n };\n element._ripple.showTimer = window.setTimeout(() => {\n if (element?._ripple?.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n }\n }, DELAY_RIPPLE);\n } else {\n ripples.show(e, element, value);\n }\n}\nfunction rippleStop(e) {\n e[stopSymbol] = true;\n}\nfunction rippleHide(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n window.clearTimeout(element._ripple.showTimer);\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit();\n element._ripple.showTimerCommit = null;\n\n // re-queue ripple hiding\n element._ripple.showTimer = window.setTimeout(() => {\n rippleHide(e);\n });\n return;\n }\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false;\n }\n });\n ripples.hide(element);\n}\nfunction rippleCancelShow(e) {\n const element = e.currentTarget;\n if (!element?._ripple) return;\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null;\n }\n window.clearTimeout(element._ripple.showTimer);\n}\nlet keyboardRipple = false;\nfunction keyboardRippleShow(e) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true;\n rippleShow(e);\n }\n}\nfunction keyboardRippleHide(e) {\n keyboardRipple = false;\n rippleHide(e);\n}\nfunction focusRippleHide(e) {\n if (keyboardRipple) {\n keyboardRipple = false;\n rippleHide(e);\n }\n}\nfunction updateRipple(el, binding, wasEnabled) {\n const {\n value,\n modifiers\n } = binding;\n const enabled = isRippleEnabled(value);\n if (!enabled) {\n ripples.hide(el);\n }\n el._ripple = el._ripple ?? {};\n el._ripple.enabled = enabled;\n el._ripple.centered = modifiers.center;\n el._ripple.circle = modifiers.circle;\n if (isObject(value) && value.class) {\n el._ripple.class = value.class;\n }\n if (enabled && !wasEnabled) {\n if (modifiers.stop) {\n el.addEventListener('touchstart', rippleStop, {\n passive: true\n });\n el.addEventListener('mousedown', rippleStop);\n return;\n }\n el.addEventListener('touchstart', rippleShow, {\n passive: true\n });\n el.addEventListener('touchend', rippleHide, {\n passive: true\n });\n el.addEventListener('touchmove', rippleCancelShow, {\n passive: true\n });\n el.addEventListener('touchcancel', rippleHide);\n el.addEventListener('mousedown', rippleShow);\n el.addEventListener('mouseup', rippleHide);\n el.addEventListener('mouseleave', rippleHide);\n el.addEventListener('keydown', keyboardRippleShow);\n el.addEventListener('keyup', keyboardRippleHide);\n el.addEventListener('blur', focusRippleHide);\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, {\n passive: true\n });\n } else if (!enabled && wasEnabled) {\n removeListeners(el);\n }\n}\nfunction removeListeners(el) {\n el.removeEventListener('mousedown', rippleShow);\n el.removeEventListener('touchstart', rippleShow);\n el.removeEventListener('touchend', rippleHide);\n el.removeEventListener('touchmove', rippleCancelShow);\n el.removeEventListener('touchcancel', rippleHide);\n el.removeEventListener('mouseup', rippleHide);\n el.removeEventListener('mouseleave', rippleHide);\n el.removeEventListener('keydown', keyboardRippleShow);\n el.removeEventListener('keyup', keyboardRippleHide);\n el.removeEventListener('dragstart', rippleHide);\n el.removeEventListener('blur', focusRippleHide);\n}\nfunction mounted(el, binding) {\n updateRipple(el, binding, false);\n}\nfunction unmounted(el) {\n delete el._ripple;\n removeListeners(el);\n}\nfunction updated(el, binding) {\n if (binding.value === binding.oldValue) {\n return;\n }\n const wasEnabled = isRippleEnabled(binding.oldValue);\n updateRipple(el, binding, wasEnabled);\n}\nexport const Ripple = {\n mounted,\n unmounted,\n updated\n};\nexport default Ripple;\n//# sourceMappingURL=index.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBtn.css\";\n\n// Components\nimport { VBtnToggleSymbol } from \"../VBtnToggle/VBtnToggle.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VProgressCircular } from \"../VProgressCircular/index.mjs\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeLoaderProps, useLoader } from \"../../composables/loader.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { makePositionProps, usePosition } from \"../../composables/position.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeRouterProps, useLink } from \"../../composables/router.mjs\";\nimport { useSelectLink } from \"../../composables/selectLink.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Directives\nimport { Ripple } from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed, withDirectives } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined\n },\n activeColor: String,\n baseColor: String,\n symbol: {\n type: null,\n default: VBtnToggleSymbol\n },\n flat: Boolean,\n icon: [Boolean, String, Function, Object],\n prependIcon: IconValue,\n appendIcon: IconValue,\n block: Boolean,\n readonly: Boolean,\n slim: Boolean,\n stacked: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n text: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'button'\n }),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'elevated'\n })\n}, 'VBtn');\nexport const VBtn = genericComponent()({\n name: 'VBtn',\n props: makeVBtnProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n loaderClasses\n } = useLoader(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n const group = useGroupItem(props, props.symbol, false);\n const link = useLink(props, attrs);\n const isActive = computed(() => {\n if (props.active !== undefined) {\n return props.active;\n }\n if (link.isLink.value) {\n return link.isActive?.value;\n }\n return group?.isSelected.value;\n });\n const color = computed(() => isActive.value ? props.activeColor ?? props.color : props.color);\n const variantProps = computed(() => {\n const showColor = group?.isSelected.value && (!link.isLink.value || link.isActive?.value) || !group || link.isActive?.value;\n return {\n color: showColor ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant\n };\n });\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(variantProps);\n const isDisabled = computed(() => group?.disabled.value || props.disabled);\n const isElevated = computed(() => {\n return props.variant === 'elevated' && !(props.disabled || props.flat || props.border);\n });\n const valueAttr = computed(() => {\n if (props.value === undefined || typeof props.value === 'symbol') return undefined;\n return Object(props.value) === props.value ? JSON.stringify(props.value, null, 0) : props.value;\n });\n function onClick(e) {\n if (isDisabled.value || link.isLink.value && (e.metaKey || e.ctrlKey || e.shiftKey || e.button !== 0 || attrs.target === '_blank')) return;\n link.navigate?.(e);\n group?.toggle();\n }\n useSelectLink(link, group?.select);\n useRender(() => {\n const Tag = link.isLink.value ? 'a' : props.tag;\n const hasPrepend = !!(props.prependIcon || slots.prepend);\n const hasAppend = !!(props.appendIcon || slots.append);\n const hasIcon = !!(props.icon && props.icon !== true);\n return withDirectives(_createVNode(Tag, _mergeProps({\n \"type\": Tag === 'a' ? undefined : 'button',\n \"class\": ['v-btn', group?.selectedClass.value, {\n 'v-btn--active': isActive.value,\n 'v-btn--block': props.block,\n 'v-btn--disabled': isDisabled.value,\n 'v-btn--elevated': isElevated.value,\n 'v-btn--flat': props.flat,\n 'v-btn--icon': !!props.icon,\n 'v-btn--loading': props.loading,\n 'v-btn--readonly': props.readonly,\n 'v-btn--slim': props.slim,\n 'v-btn--stacked': props.stacked\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],\n \"aria-busy\": props.loading ? true : undefined,\n \"disabled\": isDisabled.value || undefined,\n \"tabindex\": props.loading || props.readonly ? -1 : undefined,\n \"onClick\": onClick,\n \"value\": valueAttr.value\n }, link.linkProps), {\n default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && _createVNode(\"span\", {\n \"key\": \"prepend\",\n \"class\": \"v-btn__prepend\"\n }, [!slots.prepend ? _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"icon\": props.prependIcon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !props.prependIcon,\n \"defaults\": {\n VIcon: {\n icon: props.prependIcon\n }\n }\n }, slots.prepend)]), _createVNode(\"span\", {\n \"class\": \"v-btn__content\",\n \"data-no-activator\": \"\"\n }, [!slots.default && hasIcon ? _createVNode(VIcon, {\n \"key\": \"content-icon\",\n \"icon\": props.icon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"content-defaults\",\n \"disabled\": !hasIcon,\n \"defaults\": {\n VIcon: {\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.default?.() ?? props.text]\n })]), !props.icon && hasAppend && _createVNode(\"span\", {\n \"key\": \"append\",\n \"class\": \"v-btn__append\"\n }, [!slots.append ? _createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"icon\": props.appendIcon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !props.appendIcon,\n \"defaults\": {\n VIcon: {\n icon: props.appendIcon\n }\n }\n }, slots.append)]), !!props.loading && _createVNode(\"span\", {\n \"key\": \"loader\",\n \"class\": \"v-btn__loader\"\n }, [slots.loader?.() ?? _createVNode(VProgressCircular, {\n \"color\": typeof props.loading === 'boolean' ? undefined : props.loading,\n \"indeterminate\": true,\n \"width\": \"2\"\n }, null)])]\n }), [[Ripple, !isDisabled.value && props.ripple, '', {\n center: !!props.icon\n }]]);\n });\n return {\n group\n };\n }\n});\n//# sourceMappingURL=VBtn.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVBtnProps, VBtn } from \"../VBtn/VBtn.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVAppBarNavIconProps = propsFactory({\n ...makeVBtnProps({\n icon: '$menu',\n variant: 'text'\n })\n}, 'VAppBarNavIcon');\nexport const VAppBarNavIcon = genericComponent()({\n name: 'VAppBarNavIcon',\n props: makeVAppBarNavIconProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(VBtn, _mergeProps(props, {\n \"class\": ['v-app-bar-nav-icon']\n }), slots));\n return {};\n }\n});\n//# sourceMappingURL=VAppBarNavIcon.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVToolbarTitleProps, VToolbarTitle } from \"../VToolbar/VToolbarTitle.mjs\"; // Utilities\nimport { genericComponent, useRender } from \"../../util/index.mjs\"; // Types\nexport const VAppBarTitle = genericComponent()({\n name: 'VAppBarTitle',\n props: makeVToolbarTitleProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(VToolbarTitle, _mergeProps(props, {\n \"class\": \"v-app-bar-title\"\n }), slots));\n return {};\n }\n});\n//# sourceMappingURL=VAppBarTitle.mjs.map","// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VAlertTitle = createSimpleFunctional('v-alert-title');\n//# sourceMappingURL=VAlertTitle.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VAlert.css\";\n\n// Components\nimport { VAlertTitle } from \"./VAlertTitle.mjs\";\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { makePositionProps, usePosition } from \"../../composables/position.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nconst allowedTypes = ['success', 'info', 'warning', 'error'];\nexport const makeVAlertProps = propsFactory({\n border: {\n type: [Boolean, String],\n validator: val => {\n return typeof val === 'boolean' || ['top', 'end', 'bottom', 'start'].includes(val);\n }\n },\n borderColor: String,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$close'\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close'\n },\n icon: {\n type: [Boolean, String, Function, Object],\n default: null\n },\n modelValue: {\n type: Boolean,\n default: true\n },\n prominent: Boolean,\n title: String,\n text: String,\n type: {\n type: String,\n validator: val => allowedTypes.includes(val)\n },\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'flat'\n })\n}, 'VAlert');\nexport const VAlert = genericComponent()({\n name: 'VAlert',\n props: makeVAlertProps(),\n emits: {\n 'click:close': e => true,\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const icon = computed(() => {\n if (props.icon === false) return undefined;\n if (!props.type) return props.icon;\n return props.icon ?? `$${props.type}`;\n });\n const variantProps = computed(() => ({\n color: props.color ?? props.type,\n variant: props.variant\n }));\n const {\n themeClasses\n } = provideTheme(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(variantProps);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'borderColor'));\n const {\n t\n } = useLocale();\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick(e) {\n isActive.value = false;\n emit('click:close', e);\n }\n }));\n return () => {\n const hasPrepend = !!(slots.prepend || icon.value);\n const hasTitle = !!(slots.title || props.title);\n const hasClose = !!(slots.close || props.closable);\n return isActive.value && _createVNode(props.tag, {\n \"class\": ['v-alert', props.border && {\n 'v-alert--border': !!props.border,\n [`v-alert--border-${props.border === true ? 'start' : props.border}`]: true\n }, {\n 'v-alert--prominent': props.prominent\n }, themeClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],\n \"role\": \"alert\"\n }, {\n default: () => [genOverlays(false, 'v-alert'), props.border && _createVNode(\"div\", {\n \"key\": \"border\",\n \"class\": ['v-alert__border', textColorClasses.value],\n \"style\": textColorStyles.value\n }, null), hasPrepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-alert__prepend\"\n }, [!slots.prepend ? _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"density\": props.density,\n \"icon\": icon.value,\n \"size\": props.prominent ? 44 : 28\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !icon.value,\n \"defaults\": {\n VIcon: {\n density: props.density,\n icon: icon.value,\n size: props.prominent ? 44 : 28\n }\n }\n }, slots.prepend)]), _createVNode(\"div\", {\n \"class\": \"v-alert__content\"\n }, [hasTitle && _createVNode(VAlertTitle, {\n \"key\": \"title\"\n }, {\n default: () => [slots.title?.() ?? props.title]\n }), slots.text?.() ?? props.text, slots.default?.()]), slots.append && _createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-alert__append\"\n }, [slots.append()]), hasClose && _createVNode(\"div\", {\n \"key\": \"close\",\n \"class\": \"v-alert__close\"\n }, [!slots.close ? _createVNode(VBtn, _mergeProps({\n \"key\": \"close-btn\",\n \"icon\": props.closeIcon,\n \"size\": \"x-small\",\n \"variant\": \"text\"\n }, closeProps.value), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"close-defaults\",\n \"defaults\": {\n VBtn: {\n icon: props.closeIcon,\n size: 'x-small',\n variant: 'text'\n }\n }\n }, {\n default: () => [slots.close?.({\n props: closeProps.value\n })]\n })])]\n });\n };\n }\n});\n//# sourceMappingURL=VAlert.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VAvatar.css\";\n\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VImg } from \"../VImg/index.mjs\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVAvatarProps = propsFactory({\n start: Boolean,\n end: Boolean,\n icon: IconValue,\n image: String,\n text: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'flat'\n })\n}, 'VAvatar');\nexport const VAvatar = genericComponent()({\n name: 'VAvatar',\n props: makeVAvatarProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-avatar', {\n 'v-avatar--start': props.start,\n 'v-avatar--end': props.end\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, sizeStyles.value, props.style]\n }, {\n default: () => [!slots.default ? props.image ? _createVNode(VImg, {\n \"key\": \"image\",\n \"src\": props.image,\n \"alt\": \"\",\n \"cover\": true\n }, null) : props.icon ? _createVNode(VIcon, {\n \"key\": \"icon\",\n \"icon\": props.icon\n }, null) : props.text : _createVNode(VDefaultsProvider, {\n \"key\": \"content-defaults\",\n \"defaults\": {\n VImg: {\n cover: true,\n src: props.image\n },\n VIcon: {\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.default()]\n }), genOverlays(false, 'v-avatar')]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VAvatar.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VLabel.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeThemeProps } from \"../../composables/theme.mjs\"; // Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVLabelProps = propsFactory({\n text: String,\n onClick: EventProp(),\n ...makeComponentProps(),\n ...makeThemeProps()\n}, 'VLabel');\nexport const VLabel = genericComponent()({\n name: 'VLabel',\n props: makeVLabelProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(\"label\", {\n \"class\": ['v-label', {\n 'v-label--clickable': !!props.onClick\n }, props.class],\n \"style\": props.style,\n \"onClick\": props.onClick\n }, [props.text, slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VLabel.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSelectionControlGroup.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps } from \"../../composables/density.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeThemeProps } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, onScopeDispose, provide, toRef } from 'vue';\nimport { deepEqual, genericComponent, getUid, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const VSelectionControlGroupSymbol = Symbol.for('vuetify:selection-control-group');\nexport const makeSelectionControlGroupProps = propsFactory({\n color: String,\n disabled: {\n type: Boolean,\n default: null\n },\n defaultsTarget: String,\n error: Boolean,\n id: String,\n inline: Boolean,\n falseIcon: IconValue,\n trueIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n multiple: {\n type: Boolean,\n default: null\n },\n name: String,\n readonly: {\n type: Boolean,\n default: null\n },\n modelValue: null,\n type: String,\n valueComparator: {\n type: Function,\n default: deepEqual\n },\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeThemeProps()\n}, 'SelectionControlGroup');\nexport const makeVSelectionControlGroupProps = propsFactory({\n ...makeSelectionControlGroupProps({\n defaultsTarget: 'VSelectionControl'\n })\n}, 'VSelectionControlGroup');\nexport const VSelectionControlGroup = genericComponent()({\n name: 'VSelectionControlGroup',\n props: makeVSelectionControlGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const modelValue = useProxiedModel(props, 'modelValue');\n const uid = getUid();\n const id = computed(() => props.id || `v-selection-control-group-${uid}`);\n const name = computed(() => props.name || id.value);\n const updateHandlers = new Set();\n provide(VSelectionControlGroupSymbol, {\n modelValue,\n forceUpdate: () => {\n updateHandlers.forEach(fn => fn());\n },\n onForceUpdate: cb => {\n updateHandlers.add(cb);\n onScopeDispose(() => {\n updateHandlers.delete(cb);\n });\n }\n });\n provideDefaults({\n [props.defaultsTarget]: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n density: toRef(props, 'density'),\n error: toRef(props, 'error'),\n inline: toRef(props, 'inline'),\n modelValue,\n multiple: computed(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value)),\n name,\n falseIcon: toRef(props, 'falseIcon'),\n trueIcon: toRef(props, 'trueIcon'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n type: toRef(props, 'type'),\n valueComparator: toRef(props, 'valueComparator')\n }\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-selection-control-group', {\n 'v-selection-control-group--inline': props.inline\n }, props.class],\n \"style\": props.style,\n \"role\": props.type === 'radio' ? 'radiogroup' : undefined\n }, [slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VSelectionControlGroup.mjs.map","import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VSelectionControl.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VLabel } from \"../VLabel/index.mjs\";\nimport { makeSelectionControlGroupProps, VSelectionControlGroupSymbol } from \"../VSelectionControlGroup/VSelectionControlGroup.mjs\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useDensity } from \"../../composables/density.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Directives\nimport { Ripple } from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed, inject, nextTick, ref, shallowRef } from 'vue';\nimport { filterInputAttrs, genericComponent, getUid, matchesSelector, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nexport const makeVSelectionControlProps = propsFactory({\n label: String,\n baseColor: String,\n trueValue: null,\n falseValue: null,\n value: null,\n ...makeComponentProps(),\n ...makeSelectionControlGroupProps()\n}, 'VSelectionControl');\nexport function useSelectionControl(props) {\n const group = inject(VSelectionControlGroupSymbol, undefined);\n const {\n densityClasses\n } = useDensity(props);\n const modelValue = useProxiedModel(props, 'modelValue');\n const trueValue = computed(() => props.trueValue !== undefined ? props.trueValue : props.value !== undefined ? props.value : true);\n const falseValue = computed(() => props.falseValue !== undefined ? props.falseValue : false);\n const isMultiple = computed(() => !!props.multiple || props.multiple == null && Array.isArray(modelValue.value));\n const model = computed({\n get() {\n const val = group ? group.modelValue.value : modelValue.value;\n return isMultiple.value ? wrapInArray(val).some(v => props.valueComparator(v, trueValue.value)) : props.valueComparator(val, trueValue.value);\n },\n set(val) {\n if (props.readonly) return;\n const currentValue = val ? trueValue.value : falseValue.value;\n let newVal = currentValue;\n if (isMultiple.value) {\n newVal = val ? [...wrapInArray(modelValue.value), currentValue] : wrapInArray(modelValue.value).filter(item => !props.valueComparator(item, trueValue.value));\n }\n if (group) {\n group.modelValue.value = newVal;\n } else {\n modelValue.value = newVal;\n }\n }\n });\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(computed(() => {\n if (props.error || props.disabled) return undefined;\n return model.value ? props.color : props.baseColor;\n }));\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(computed(() => {\n return model.value && !props.error && !props.disabled ? props.color : props.baseColor;\n }));\n const icon = computed(() => model.value ? props.trueIcon : props.falseIcon);\n return {\n group,\n densityClasses,\n trueValue,\n falseValue,\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n icon\n };\n}\nexport const VSelectionControl = genericComponent()({\n name: 'VSelectionControl',\n directives: {\n Ripple\n },\n inheritAttrs: false,\n props: makeVSelectionControlProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n group,\n densityClasses,\n icon,\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n trueValue\n } = useSelectionControl(props);\n const uid = getUid();\n const isFocused = shallowRef(false);\n const isFocusVisible = shallowRef(false);\n const input = ref();\n const id = computed(() => props.id || `input-${uid}`);\n const isInteractive = computed(() => !props.disabled && !props.readonly);\n group?.onForceUpdate(() => {\n if (input.value) {\n input.value.checked = model.value;\n }\n });\n function onFocus(e) {\n if (!isInteractive.value) return;\n isFocused.value = true;\n if (matchesSelector(e.target, ':focus-visible') !== false) {\n isFocusVisible.value = true;\n }\n }\n function onBlur() {\n isFocused.value = false;\n isFocusVisible.value = false;\n }\n function onClickLabel(e) {\n e.stopPropagation();\n }\n function onInput(e) {\n if (!isInteractive.value) {\n if (input.value) {\n // model value is not updated when input is not interactive\n // but the internal checked state of the input is still updated,\n // so here it's value is restored\n input.value.checked = model.value;\n }\n return;\n }\n if (props.readonly && group) {\n nextTick(() => group.forceUpdate());\n }\n model.value = e.target.checked;\n }\n useRender(() => {\n const label = slots.label ? slots.label({\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const inputNode = _createVNode(\"input\", _mergeProps({\n \"ref\": input,\n \"checked\": model.value,\n \"disabled\": !!props.disabled,\n \"id\": id.value,\n \"onBlur\": onBlur,\n \"onFocus\": onFocus,\n \"onInput\": onInput,\n \"aria-disabled\": !!props.disabled,\n \"aria-label\": props.label,\n \"type\": props.type,\n \"value\": trueValue.value,\n \"name\": props.name,\n \"aria-checked\": props.type === 'checkbox' ? model.value : undefined\n }, inputAttrs), null);\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-selection-control', {\n 'v-selection-control--dirty': model.value,\n 'v-selection-control--disabled': props.disabled,\n 'v-selection-control--error': props.error,\n 'v-selection-control--focused': isFocused.value,\n 'v-selection-control--focus-visible': isFocusVisible.value,\n 'v-selection-control--inline': props.inline\n }, densityClasses.value, props.class]\n }, rootAttrs, {\n \"style\": props.style\n }), [_createVNode(\"div\", {\n \"class\": ['v-selection-control__wrapper', textColorClasses.value],\n \"style\": textColorStyles.value\n }, [slots.default?.({\n backgroundColorClasses,\n backgroundColorStyles\n }), _withDirectives(_createVNode(\"div\", {\n \"class\": ['v-selection-control__input']\n }, [slots.input?.({\n model,\n textColorClasses,\n textColorStyles,\n backgroundColorClasses,\n backgroundColorStyles,\n inputNode,\n icon: icon.value,\n props: {\n onFocus,\n onBlur,\n id: id.value\n }\n }) ?? _createVNode(_Fragment, null, [icon.value && _createVNode(VIcon, {\n \"key\": \"icon\",\n \"icon\": icon.value\n }, null), inputNode])]), [[_resolveDirective(\"ripple\"), props.ripple && [!props.disabled && !props.readonly, null, ['center', 'circle']]]])]), label && _createVNode(VLabel, {\n \"for\": id.value,\n \"onClick\": onClickLabel\n }, {\n default: () => [label]\n })]);\n });\n return {\n isFocused,\n input\n };\n }\n});\n//# sourceMappingURL=VSelectionControl.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.mjs\"; // Composables\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVCheckboxBtnProps = propsFactory({\n indeterminate: Boolean,\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate'\n },\n ...makeVSelectionControlProps({\n falseIcon: '$checkboxOff',\n trueIcon: '$checkboxOn'\n })\n}, 'VCheckboxBtn');\nexport const VCheckboxBtn = genericComponent()({\n name: 'VCheckboxBtn',\n props: makeVCheckboxBtnProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:indeterminate': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const indeterminate = useProxiedModel(props, 'indeterminate');\n const model = useProxiedModel(props, 'modelValue');\n function onChange(v) {\n if (indeterminate.value) {\n indeterminate.value = false;\n }\n }\n const falseIcon = computed(() => {\n return indeterminate.value ? props.indeterminateIcon : props.falseIcon;\n });\n const trueIcon = computed(() => {\n return indeterminate.value ? props.indeterminateIcon : props.trueIcon;\n });\n useRender(() => {\n const controlProps = omit(VSelectionControl.filterProps(props), ['modelValue']);\n return _createVNode(VSelectionControl, _mergeProps(controlProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": [$event => model.value = $event, onChange],\n \"class\": ['v-checkbox-btn', props.class],\n \"style\": props.style,\n \"type\": \"checkbox\",\n \"falseIcon\": falseIcon.value,\n \"trueIcon\": trueIcon.value,\n \"aria-checked\": indeterminate.value ? 'mixed' : undefined\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VCheckboxBtn.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Components\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { useLocale } from \"../../composables/locale.mjs\"; // Types\nexport function useInputIcon(props) {\n const {\n t\n } = useLocale();\n function InputIcon(_ref) {\n let {\n name\n } = _ref;\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendInner: 'appendAction',\n clear: 'clear'\n }[name];\n const listener = props[`onClick:${name}`];\n const label = listener && localeKey ? t(`$vuetify.input.${localeKey}`, props.label ?? '') : undefined;\n return _createVNode(VIcon, {\n \"icon\": props[`${name}Icon`],\n \"aria-label\": label,\n \"onClick\": listener\n }, null);\n }\n return {\n InputIcon\n };\n}\n//# sourceMappingURL=InputIcon.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VMessages.css\";\n\n// Components\nimport { VSlideYTransition } from \"../transitions/index.mjs\"; // Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nexport const makeVMessagesProps = propsFactory({\n active: Boolean,\n color: String,\n messages: {\n type: [Array, String],\n default: () => []\n },\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition,\n leaveAbsolute: true,\n group: true\n }\n })\n}, 'VMessages');\nexport const VMessages = genericComponent()({\n name: 'VMessages',\n props: makeVMessagesProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const messages = computed(() => wrapInArray(props.messages));\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(computed(() => props.color));\n useRender(() => _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"tag\": \"div\",\n \"class\": ['v-messages', textColorClasses.value, props.class],\n \"style\": [textColorStyles.value, props.style],\n \"role\": \"alert\",\n \"aria-live\": \"polite\"\n }, {\n default: () => [props.active && messages.value.map((message, i) => _createVNode(\"div\", {\n \"class\": \"v-messages__message\",\n \"key\": `${i}-${messages.value}`\n }, [slots.message ? slots.message({\n message\n }) : message]))]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VMessages.mjs.map","// Composables\nimport { useProxiedModel } from \"./proxiedModel.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { EventProp, getCurrentInstanceName, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeFocusProps = propsFactory({\n focused: Boolean,\n 'onUpdate:focused': EventProp()\n}, 'focus');\nexport function useFocus(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n const isFocused = useProxiedModel(props, 'focused');\n const focusClasses = computed(() => {\n return {\n [`${name}--focused`]: isFocused.value\n };\n });\n function focus() {\n isFocused.value = true;\n }\n function blur() {\n isFocused.value = false;\n }\n return {\n focusClasses,\n isFocused,\n focus,\n blur\n };\n}\n//# sourceMappingURL=focus.mjs.map","// Composables\nimport { useProxiedModel } from \"./proxiedModel.mjs\"; // Utilities\nimport { computed, inject, markRaw, provide, ref, shallowRef, toRef, watch } from 'vue';\nimport { consoleWarn, propsFactory } from \"../util/index.mjs\"; // Types\nexport const FormKey = Symbol.for('vuetify:form');\nexport const makeFormProps = propsFactory({\n disabled: Boolean,\n fastFail: Boolean,\n readonly: Boolean,\n modelValue: {\n type: Boolean,\n default: null\n },\n validateOn: {\n type: String,\n default: 'input'\n }\n}, 'form');\nexport function createForm(props) {\n const model = useProxiedModel(props, 'modelValue');\n const isDisabled = computed(() => props.disabled);\n const isReadonly = computed(() => props.readonly);\n const isValidating = shallowRef(false);\n const items = ref([]);\n const errors = ref([]);\n async function validate() {\n const results = [];\n let valid = true;\n errors.value = [];\n isValidating.value = true;\n for (const item of items.value) {\n const itemErrorMessages = await item.validate();\n if (itemErrorMessages.length > 0) {\n valid = false;\n results.push({\n id: item.id,\n errorMessages: itemErrorMessages\n });\n }\n if (!valid && props.fastFail) break;\n }\n errors.value = results;\n isValidating.value = false;\n return {\n valid,\n errors: errors.value\n };\n }\n function reset() {\n items.value.forEach(item => item.reset());\n }\n function resetValidation() {\n items.value.forEach(item => item.resetValidation());\n }\n watch(items, () => {\n let valid = 0;\n let invalid = 0;\n const results = [];\n for (const item of items.value) {\n if (item.isValid === false) {\n invalid++;\n results.push({\n id: item.id,\n errorMessages: item.errorMessages\n });\n } else if (item.isValid === true) valid++;\n }\n errors.value = results;\n model.value = invalid > 0 ? false : valid === items.value.length ? true : null;\n }, {\n deep: true,\n flush: 'post'\n });\n provide(FormKey, {\n register: _ref => {\n let {\n id,\n vm,\n validate,\n reset,\n resetValidation\n } = _ref;\n if (items.value.some(item => item.id === id)) {\n consoleWarn(`Duplicate input name \"${id}\"`);\n }\n items.value.push({\n id,\n validate,\n reset,\n resetValidation,\n vm: markRaw(vm),\n isValid: null,\n errorMessages: []\n });\n },\n unregister: id => {\n items.value = items.value.filter(item => {\n return item.id !== id;\n });\n },\n update: (id, isValid, errorMessages) => {\n const found = items.value.find(item => item.id === id);\n if (!found) return;\n found.isValid = isValid;\n found.errorMessages = errorMessages;\n },\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validateOn: toRef(props, 'validateOn')\n });\n return {\n errors,\n isDisabled,\n isReadonly,\n isValidating,\n isValid: model,\n items,\n validate,\n reset,\n resetValidation\n };\n}\nexport function useForm() {\n return inject(FormKey, null);\n}\n//# sourceMappingURL=form.mjs.map","// Composables\nimport { makeFocusProps } from \"./focus.mjs\";\nimport { useForm } from \"./form.mjs\";\nimport { useProxiedModel } from \"./proxiedModel.mjs\";\nimport { useToggleScope } from \"./toggleScope.mjs\"; // Utilities\nimport { computed, nextTick, onBeforeMount, onBeforeUnmount, onMounted, ref, shallowRef, unref, watch } from 'vue';\nimport { getCurrentInstance, getCurrentInstanceName, getUid, propsFactory, wrapInArray } from \"../util/index.mjs\"; // Types\nexport const makeValidationProps = propsFactory({\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n errorMessages: {\n type: [Array, String],\n default: () => []\n },\n maxErrors: {\n type: [Number, String],\n default: 1\n },\n name: String,\n label: String,\n readonly: {\n type: Boolean,\n default: null\n },\n rules: {\n type: Array,\n default: () => []\n },\n modelValue: null,\n validateOn: String,\n validationValue: null,\n ...makeFocusProps()\n}, 'validation');\nexport function useValidation(props) {\n let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();\n let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();\n const model = useProxiedModel(props, 'modelValue');\n const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);\n const form = useForm();\n const internalErrorMessages = ref([]);\n const isPristine = shallowRef(true);\n const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));\n const isDisabled = computed(() => !!(props.disabled ?? form?.isDisabled.value));\n const isReadonly = computed(() => !!(props.readonly ?? form?.isReadonly.value));\n const errorMessages = computed(() => {\n return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;\n });\n const validateOn = computed(() => {\n let value = (props.validateOn ?? form?.validateOn.value) || 'input';\n if (value === 'lazy') value = 'input lazy';\n if (value === 'eager') value = 'input eager';\n const set = new Set(value?.split(' ') ?? []);\n return {\n input: set.has('input'),\n blur: set.has('blur') || set.has('input') || set.has('invalid-input'),\n invalidInput: set.has('invalid-input'),\n lazy: set.has('lazy'),\n eager: set.has('eager')\n };\n });\n const isValid = computed(() => {\n if (props.error || props.errorMessages?.length) return false;\n if (!props.rules.length) return true;\n if (isPristine.value) {\n return internalErrorMessages.value.length || validateOn.value.lazy ? null : true;\n } else {\n return !internalErrorMessages.value.length;\n }\n });\n const isValidating = shallowRef(false);\n const validationClasses = computed(() => {\n return {\n [`${name}--error`]: isValid.value === false,\n [`${name}--dirty`]: isDirty.value,\n [`${name}--disabled`]: isDisabled.value,\n [`${name}--readonly`]: isReadonly.value\n };\n });\n const vm = getCurrentInstance('validation');\n const uid = computed(() => props.name ?? unref(id));\n onBeforeMount(() => {\n form?.register({\n id: uid.value,\n vm,\n validate,\n reset,\n resetValidation\n });\n });\n onBeforeUnmount(() => {\n form?.unregister(uid.value);\n });\n onMounted(async () => {\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager);\n }\n form?.update(uid.value, isValid.value, errorMessages.value);\n });\n useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {\n watch(validationModel, () => {\n if (validationModel.value != null) {\n validate();\n } else if (props.focused) {\n const unwatch = watch(() => props.focused, val => {\n if (!val) validate();\n unwatch();\n });\n }\n });\n });\n useToggleScope(() => validateOn.value.blur, () => {\n watch(() => props.focused, val => {\n if (!val) validate();\n });\n });\n watch([isValid, errorMessages], () => {\n form?.update(uid.value, isValid.value, errorMessages.value);\n });\n async function reset() {\n model.value = null;\n await nextTick();\n await resetValidation();\n }\n async function resetValidation() {\n isPristine.value = true;\n if (!validateOn.value.lazy) {\n await validate(!validateOn.value.eager);\n } else {\n internalErrorMessages.value = [];\n }\n }\n async function validate() {\n let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n const results = [];\n isValidating.value = true;\n for (const rule of props.rules) {\n if (results.length >= +(props.maxErrors ?? 1)) {\n break;\n }\n const handler = typeof rule === 'function' ? rule : () => rule;\n const result = await handler(validationModel.value);\n if (result === true) continue;\n if (result !== false && typeof result !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(`${result} is not a valid value. Rule functions must return boolean true or a string.`);\n continue;\n }\n results.push(result || '');\n }\n internalErrorMessages.value = results;\n isValidating.value = false;\n isPristine.value = silent;\n return internalErrorMessages.value;\n }\n return {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses\n };\n}\n//# sourceMappingURL=validation.mjs.map","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VInput.css\";\n\n// Components\nimport { useInputIcon } from \"./InputIcon.mjs\";\nimport { VMessages } from \"../VMessages/VMessages.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeValidationProps, useValidation } from \"../../composables/validation.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { EventProp, genericComponent, getUid, only, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVInputProps = propsFactory({\n id: String,\n appendIcon: IconValue,\n centerAffix: {\n type: Boolean,\n default: true\n },\n prependIcon: IconValue,\n hideDetails: [Boolean, String],\n hideSpinButtons: Boolean,\n hint: String,\n persistentHint: Boolean,\n messages: {\n type: [Array, String],\n default: () => []\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator: v => ['horizontal', 'vertical'].includes(v)\n },\n 'onClick:prepend': EventProp(),\n 'onClick:append': EventProp(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...only(makeDimensionProps(), ['maxWidth', 'minWidth', 'width']),\n ...makeThemeProps(),\n ...makeValidationProps()\n}, 'VInput');\nexport const VInput = genericComponent()({\n name: 'VInput',\n props: {\n ...makeVInputProps()\n },\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots,\n emit\n } = _ref;\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses\n } = useRtl();\n const {\n InputIcon\n } = useInputIcon(props);\n const uid = getUid();\n const id = computed(() => props.id || `input-${uid}`);\n const messagesId = computed(() => `${id.value}-messages`);\n const {\n errorMessages,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate,\n validationClasses\n } = useValidation(props, 'v-input', id);\n const slotProps = computed(() => ({\n id,\n messagesId,\n isDirty,\n isDisabled,\n isReadonly,\n isPristine,\n isValid,\n isValidating,\n reset,\n resetValidation,\n validate\n }));\n const messages = computed(() => {\n if (props.errorMessages?.length || !isPristine.value && errorMessages.value.length) {\n return errorMessages.value;\n } else if (props.hint && (props.persistentHint || props.focused)) {\n return props.hint;\n } else {\n return props.messages;\n }\n });\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.prependIcon);\n const hasAppend = !!(slots.append || props.appendIcon);\n const hasMessages = messages.value.length > 0;\n const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);\n return _createVNode(\"div\", {\n \"class\": ['v-input', `v-input--${props.direction}`, {\n 'v-input--center-affix': props.centerAffix,\n 'v-input--hide-spin-buttons': props.hideSpinButtons\n }, densityClasses.value, themeClasses.value, rtlClasses.value, validationClasses.value, props.class],\n \"style\": [dimensionStyles.value, props.style]\n }, [hasPrepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-input__prepend\"\n }, [slots.prepend?.(slotProps.value), props.prependIcon && _createVNode(InputIcon, {\n \"key\": \"prepend-icon\",\n \"name\": \"prepend\"\n }, null)]), slots.default && _createVNode(\"div\", {\n \"class\": \"v-input__control\"\n }, [slots.default?.(slotProps.value)]), hasAppend && _createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-input__append\"\n }, [props.appendIcon && _createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"append\"\n }, null), slots.append?.(slotProps.value)]), hasDetails && _createVNode(\"div\", {\n \"class\": \"v-input__details\"\n }, [_createVNode(VMessages, {\n \"id\": messagesId.value,\n \"active\": hasMessages,\n \"messages\": messages.value\n }, {\n message: slots.message\n }), slots.details?.(slotProps.value)])]);\n });\n return {\n reset,\n resetValidation,\n validate,\n isValid,\n errorMessages\n };\n }\n});\n//# sourceMappingURL=VInput.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VCheckbox.css\";\n\n// Components\nimport { makeVCheckboxBtnProps, VCheckboxBtn } from \"./VCheckboxBtn.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\"; // Composables\nimport { useFocus } from \"../../composables/focus.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVCheckboxProps = propsFactory({\n ...makeVInputProps(),\n ...omit(makeVCheckboxBtnProps(), ['inline'])\n}, 'VCheckbox');\nexport const VCheckbox = genericComponent()({\n name: 'VCheckbox',\n inheritAttrs: false,\n props: makeVCheckboxProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:focused': focused => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const uid = getUid();\n const id = computed(() => props.id || `checkbox-${uid}`);\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const checkboxProps = VCheckboxBtn.filterProps(props);\n return _createVNode(VInput, _mergeProps({\n \"class\": ['v-checkbox', props.class]\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": id.value,\n \"focused\": isFocused.value,\n \"style\": props.style\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid\n } = _ref2;\n return _createVNode(VCheckboxBtn, _mergeProps(checkboxProps, {\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value\n }, controlAttrs, {\n \"error\": isValid.value === false,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"onFocus\": focus,\n \"onBlur\": blur\n }), slots);\n }\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VCheckbox.mjs.map","export function calculateUpdatedTarget(_ref) {\n let {\n selectedElement,\n containerElement,\n isRtl,\n isHorizontal\n } = _ref;\n const containerSize = getOffsetSize(isHorizontal, containerElement);\n const scrollPosition = getScrollPosition(isHorizontal, isRtl, containerElement);\n const childrenSize = getOffsetSize(isHorizontal, selectedElement);\n const childrenStartPosition = getOffsetPosition(isHorizontal, selectedElement);\n const additionalOffset = childrenSize * 0.4;\n if (scrollPosition > childrenStartPosition) {\n return childrenStartPosition - additionalOffset;\n } else if (scrollPosition + containerSize < childrenStartPosition + childrenSize) {\n return childrenStartPosition - containerSize + childrenSize + additionalOffset;\n }\n return scrollPosition;\n}\nexport function calculateCenteredTarget(_ref2) {\n let {\n selectedElement,\n containerElement,\n isHorizontal\n } = _ref2;\n const containerOffsetSize = getOffsetSize(isHorizontal, containerElement);\n const childrenOffsetPosition = getOffsetPosition(isHorizontal, selectedElement);\n const childrenOffsetSize = getOffsetSize(isHorizontal, selectedElement);\n return childrenOffsetPosition - containerOffsetSize / 2 + childrenOffsetSize / 2;\n}\nexport function getScrollSize(isHorizontal, element) {\n const key = isHorizontal ? 'scrollWidth' : 'scrollHeight';\n return element?.[key] || 0;\n}\nexport function getClientSize(isHorizontal, element) {\n const key = isHorizontal ? 'clientWidth' : 'clientHeight';\n return element?.[key] || 0;\n}\nexport function getScrollPosition(isHorizontal, rtl, element) {\n if (!element) {\n return 0;\n }\n const {\n scrollLeft,\n offsetWidth,\n scrollWidth\n } = element;\n if (isHorizontal) {\n return rtl ? scrollWidth - offsetWidth + scrollLeft : scrollLeft;\n }\n return element.scrollTop;\n}\nexport function getOffsetSize(isHorizontal, element) {\n const key = isHorizontal ? 'offsetWidth' : 'offsetHeight';\n return element?.[key] || 0;\n}\nexport function getOffsetPosition(isHorizontal, element) {\n const key = isHorizontal ? 'offsetLeft' : 'offsetTop';\n return element?.[key] || 0;\n}\n//# sourceMappingURL=helpers.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSlideGroup.css\";\n\n// Components\nimport { VFadeTransition } from \"../transitions/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\";\nimport { useGoTo } from \"../../composables/goto.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { computed, shallowRef, watch } from 'vue';\nimport { calculateCenteredTarget, calculateUpdatedTarget, getClientSize, getOffsetSize, getScrollPosition, getScrollSize } from \"./helpers.mjs\";\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const VSlideGroupSymbol = Symbol.for('vuetify:v-slide-group');\nexport const makeVSlideGroupProps = propsFactory({\n centerActive: Boolean,\n direction: {\n type: String,\n default: 'horizontal'\n },\n symbol: {\n type: null,\n default: VSlideGroupSymbol\n },\n nextIcon: {\n type: IconValue,\n default: '$next'\n },\n prevIcon: {\n type: IconValue,\n default: '$prev'\n },\n showArrows: {\n type: [Boolean, String],\n validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)\n },\n ...makeComponentProps(),\n ...makeDisplayProps({\n mobile: null\n }),\n ...makeTagProps(),\n ...makeGroupProps({\n selectedClass: 'v-slide-group-item--active'\n })\n}, 'VSlideGroup');\nexport const VSlideGroup = genericComponent()({\n name: 'VSlideGroup',\n props: makeVSlideGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n isRtl\n } = useRtl();\n const {\n displayClasses,\n mobile\n } = useDisplay(props);\n const group = useGroup(props, props.symbol);\n const isOverflowing = shallowRef(false);\n const scrollOffset = shallowRef(0);\n const containerSize = shallowRef(0);\n const contentSize = shallowRef(0);\n const isHorizontal = computed(() => props.direction === 'horizontal');\n const {\n resizeRef: containerRef,\n contentRect: containerRect\n } = useResizeObserver();\n const {\n resizeRef: contentRef,\n contentRect\n } = useResizeObserver();\n const goTo = useGoTo();\n const goToOptions = computed(() => {\n return {\n container: containerRef.el,\n duration: 200,\n easing: 'easeOutQuart'\n };\n });\n const firstSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1;\n return group.items.value.findIndex(item => item.id === group.selected.value[0]);\n });\n const lastSelectedIndex = computed(() => {\n if (!group.selected.value.length) return -1;\n return group.items.value.findIndex(item => item.id === group.selected.value[group.selected.value.length - 1]);\n });\n if (IN_BROWSER) {\n let frame = -1;\n watch(() => [group.selected.value, containerRect.value, contentRect.value, isHorizontal.value], () => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(() => {\n if (containerRect.value && contentRect.value) {\n const sizeProperty = isHorizontal.value ? 'width' : 'height';\n containerSize.value = containerRect.value[sizeProperty];\n contentSize.value = contentRect.value[sizeProperty];\n isOverflowing.value = containerSize.value + 1 < contentSize.value;\n }\n if (firstSelectedIndex.value >= 0 && contentRef.el) {\n // TODO: Is this too naive? Should we store element references in group composable?\n const selectedElement = contentRef.el.children[lastSelectedIndex.value];\n scrollToChildren(selectedElement, props.centerActive);\n }\n });\n });\n }\n const isFocused = shallowRef(false);\n function scrollToChildren(children, center) {\n let target = 0;\n if (center) {\n target = calculateCenteredTarget({\n containerElement: containerRef.el,\n isHorizontal: isHorizontal.value,\n selectedElement: children\n });\n } else {\n target = calculateUpdatedTarget({\n containerElement: containerRef.el,\n isHorizontal: isHorizontal.value,\n isRtl: isRtl.value,\n selectedElement: children\n });\n }\n scrollToPosition(target);\n }\n function scrollToPosition(newPosition) {\n if (!IN_BROWSER || !containerRef.el) return;\n const offsetSize = getOffsetSize(isHorizontal.value, containerRef.el);\n const scrollPosition = getScrollPosition(isHorizontal.value, isRtl.value, containerRef.el);\n const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);\n if (scrollSize <= offsetSize ||\n // Prevent scrolling by only a couple of pixels, which doesn't look smooth\n Math.abs(newPosition - scrollPosition) < 16) return;\n if (isHorizontal.value && isRtl.value && containerRef.el) {\n const {\n scrollWidth,\n offsetWidth: containerWidth\n } = containerRef.el;\n newPosition = scrollWidth - containerWidth - newPosition;\n }\n if (isHorizontal.value) {\n goTo.horizontal(newPosition, goToOptions.value);\n } else {\n goTo(newPosition, goToOptions.value);\n }\n }\n function onScroll(e) {\n const {\n scrollTop,\n scrollLeft\n } = e.target;\n scrollOffset.value = isHorizontal.value ? scrollLeft : scrollTop;\n }\n function onFocusin(e) {\n isFocused.value = true;\n if (!isOverflowing.value || !contentRef.el) return;\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of e.composedPath()) {\n for (const item of contentRef.el.children) {\n if (item === el) {\n scrollToChildren(item);\n return;\n }\n }\n }\n }\n function onFocusout(e) {\n isFocused.value = false;\n }\n\n // Affix clicks produce onFocus that we have to ignore to avoid extra scrollToChildren\n let ignoreFocusEvent = false;\n function onFocus(e) {\n if (!ignoreFocusEvent && !isFocused.value && !(e.relatedTarget && contentRef.el?.contains(e.relatedTarget))) focus();\n ignoreFocusEvent = false;\n }\n function onFocusAffixes() {\n ignoreFocusEvent = true;\n }\n function onKeydown(e) {\n if (!contentRef.el) return;\n function toFocus(location) {\n e.preventDefault();\n focus(location);\n }\n if (isHorizontal.value) {\n if (e.key === 'ArrowRight') {\n toFocus(isRtl.value ? 'prev' : 'next');\n } else if (e.key === 'ArrowLeft') {\n toFocus(isRtl.value ? 'next' : 'prev');\n }\n } else {\n if (e.key === 'ArrowDown') {\n toFocus('next');\n } else if (e.key === 'ArrowUp') {\n toFocus('prev');\n }\n }\n if (e.key === 'Home') {\n toFocus('first');\n } else if (e.key === 'End') {\n toFocus('last');\n }\n }\n function focus(location) {\n if (!contentRef.el) return;\n let el;\n if (!location) {\n const focusable = focusableChildren(contentRef.el);\n el = focusable[0];\n } else if (location === 'next') {\n el = contentRef.el.querySelector(':focus')?.nextElementSibling;\n if (!el) return focus('first');\n } else if (location === 'prev') {\n el = contentRef.el.querySelector(':focus')?.previousElementSibling;\n if (!el) return focus('last');\n } else if (location === 'first') {\n el = contentRef.el.firstElementChild;\n } else if (location === 'last') {\n el = contentRef.el.lastElementChild;\n }\n if (el) {\n el.focus({\n preventScroll: true\n });\n }\n }\n function scrollTo(location) {\n const direction = isHorizontal.value && isRtl.value ? -1 : 1;\n const offsetStep = (location === 'prev' ? -direction : direction) * containerSize.value;\n let newPosition = scrollOffset.value + offsetStep;\n\n // TODO: improve it\n if (isHorizontal.value && isRtl.value && containerRef.el) {\n const {\n scrollWidth,\n offsetWidth: containerWidth\n } = containerRef.el;\n newPosition += scrollWidth - containerWidth;\n }\n scrollToPosition(newPosition);\n }\n const slotProps = computed(() => ({\n next: group.next,\n prev: group.prev,\n select: group.select,\n isSelected: group.isSelected\n }));\n const hasAffixes = computed(() => {\n switch (props.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always':\n return true;\n\n // Always show arrows on desktop\n case 'desktop':\n return !mobile.value;\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true:\n return isOverflowing.value || Math.abs(scrollOffset.value) > 0;\n\n // Always show on mobile\n case 'mobile':\n return mobile.value || isOverflowing.value || Math.abs(scrollOffset.value) > 0;\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default:\n return !mobile.value && (isOverflowing.value || Math.abs(scrollOffset.value) > 0);\n }\n });\n const hasPrev = computed(() => {\n // 1 pixel in reserve, may be lost after rounding\n return Math.abs(scrollOffset.value) > 1;\n });\n const hasNext = computed(() => {\n if (!containerRef.value) return false;\n const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);\n const clientSize = getClientSize(isHorizontal.value, containerRef.el);\n const scrollSizeMax = scrollSize - clientSize;\n\n // 1 pixel in reserve, may be lost after rounding\n return scrollSizeMax - Math.abs(scrollOffset.value) > 1;\n });\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-slide-group', {\n 'v-slide-group--vertical': !isHorizontal.value,\n 'v-slide-group--has-affixes': hasAffixes.value,\n 'v-slide-group--is-overflowing': isOverflowing.value\n }, displayClasses.value, props.class],\n \"style\": props.style,\n \"tabindex\": isFocused.value || group.selected.value.length ? -1 : 0,\n \"onFocus\": onFocus\n }, {\n default: () => [hasAffixes.value && _createVNode(\"div\", {\n \"key\": \"prev\",\n \"class\": ['v-slide-group__prev', {\n 'v-slide-group__prev--disabled': !hasPrev.value\n }],\n \"onMousedown\": onFocusAffixes,\n \"onClick\": () => hasPrev.value && scrollTo('prev')\n }, [slots.prev?.(slotProps.value) ?? _createVNode(VFadeTransition, null, {\n default: () => [_createVNode(VIcon, {\n \"icon\": isRtl.value ? props.nextIcon : props.prevIcon\n }, null)]\n })]), _createVNode(\"div\", {\n \"key\": \"container\",\n \"ref\": containerRef,\n \"class\": \"v-slide-group__container\",\n \"onScroll\": onScroll\n }, [_createVNode(\"div\", {\n \"ref\": contentRef,\n \"class\": \"v-slide-group__content\",\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"onKeydown\": onKeydown\n }, [slots.default?.(slotProps.value)])]), hasAffixes.value && _createVNode(\"div\", {\n \"key\": \"next\",\n \"class\": ['v-slide-group__next', {\n 'v-slide-group__next--disabled': !hasNext.value\n }],\n \"onMousedown\": onFocusAffixes,\n \"onClick\": () => hasNext.value && scrollTo('next')\n }, [slots.next?.(slotProps.value) ?? _createVNode(VFadeTransition, null, {\n default: () => [_createVNode(VIcon, {\n \"icon\": isRtl.value ? props.prevIcon : props.nextIcon\n }, null)]\n })])]\n }));\n return {\n selected: group.selected,\n scrollTo,\n scrollOffset,\n focus,\n hasPrev,\n hasNext\n };\n }\n});\n//# sourceMappingURL=VSlideGroup.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VChipGroup.css\";\n\n// Components\nimport { makeVSlideGroupProps, VSlideGroup } from \"../VSlideGroup/VSlideGroup.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps } from \"../../composables/variant.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { deepEqual, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');\nexport const makeVChipGroupProps = propsFactory({\n column: Boolean,\n filter: Boolean,\n valueComparator: {\n type: Function,\n default: deepEqual\n },\n ...makeVSlideGroupProps(),\n ...makeComponentProps(),\n ...makeGroupProps({\n selectedClass: 'v-chip--selected'\n }),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'tonal'\n })\n}, 'VChipGroup');\nexport const VChipGroup = genericComponent()({\n name: 'VChipGroup',\n props: makeVChipGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n isSelected,\n select,\n next,\n prev,\n selected\n } = useGroup(props, VChipGroupSymbol);\n provideDefaults({\n VChip: {\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled'),\n filter: toRef(props, 'filter'),\n variant: toRef(props, 'variant')\n }\n });\n useRender(() => {\n const slideGroupProps = VSlideGroup.filterProps(props);\n return _createVNode(VSlideGroup, _mergeProps(slideGroupProps, {\n \"class\": ['v-chip-group', {\n 'v-chip-group--column': props.column\n }, themeClasses.value, props.class],\n \"style\": props.style\n }), {\n default: () => [slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value\n })]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VChipGroup.mjs.map","import { mergeProps as _mergeProps, Fragment as _Fragment, withDirectives as _withDirectives, vShow as _vShow, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n/* eslint-disable complexity */\n// Styles\nimport \"./VChip.css\";\n\n// Components\nimport { VExpandXTransition } from \"../transitions/index.mjs\";\nimport { VAvatar } from \"../VAvatar/index.mjs\";\nimport { VChipGroupSymbol } from \"../VChipGroup/VChipGroup.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeRouterProps, useLink } from \"../../composables/router.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Directives\nimport { Ripple } from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { EventProp, genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const makeVChipProps = propsFactory({\n activeClass: String,\n appendAvatar: String,\n appendIcon: IconValue,\n closable: Boolean,\n closeIcon: {\n type: IconValue,\n default: '$delete'\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close'\n },\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete'\n },\n label: Boolean,\n link: {\n type: Boolean,\n default: undefined\n },\n pill: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n text: String,\n modelValue: {\n type: Boolean,\n default: true\n },\n onClick: EventProp(),\n onClickOnce: EventProp(),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'span'\n }),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'tonal'\n })\n}, 'VChip');\nexport const VChip = genericComponent()({\n name: 'VChip',\n directives: {\n Ripple\n },\n props: makeVChipProps(),\n emits: {\n 'click:close': e => true,\n 'update:modelValue': value => true,\n 'group:selected': val => true,\n click: e => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n sizeClasses\n } = useSize(props);\n const {\n themeClasses\n } = provideTheme(props);\n const isActive = useProxiedModel(props, 'modelValue');\n const group = useGroupItem(props, VChipGroupSymbol, false);\n const link = useLink(props, attrs);\n const isLink = computed(() => props.link !== false && link.isLink.value);\n const isClickable = computed(() => !props.disabled && props.link !== false && (!!group || props.link || link.isClickable.value));\n const closeProps = computed(() => ({\n 'aria-label': t(props.closeLabel),\n onClick(e) {\n e.preventDefault();\n e.stopPropagation();\n isActive.value = false;\n emit('click:close', e);\n }\n }));\n function onClick(e) {\n emit('click', e);\n if (!isClickable.value) return;\n link.navigate?.(e);\n group?.toggle();\n }\n function onKeyDown(e) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onClick(e);\n }\n }\n return () => {\n const Tag = link.isLink.value ? 'a' : props.tag;\n const hasAppendMedia = !!(props.appendIcon || props.appendAvatar);\n const hasAppend = !!(hasAppendMedia || slots.append);\n const hasClose = !!(slots.close || props.closable);\n const hasFilter = !!(slots.filter || props.filter) && group;\n const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);\n const hasPrepend = !!(hasPrependMedia || slots.prepend);\n const hasColor = !group || group.isSelected.value;\n return isActive.value && _withDirectives(_createVNode(Tag, _mergeProps({\n \"class\": ['v-chip', {\n 'v-chip--disabled': props.disabled,\n 'v-chip--label': props.label,\n 'v-chip--link': isClickable.value,\n 'v-chip--filter': hasFilter,\n 'v-chip--pill': props.pill\n }, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],\n \"style\": [hasColor ? colorStyles.value : undefined, props.style],\n \"disabled\": props.disabled || undefined,\n \"draggable\": props.draggable,\n \"tabindex\": isClickable.value ? 0 : undefined,\n \"onClick\": onClick,\n \"onKeydown\": isClickable.value && !isLink.value && onKeyDown\n }, link.linkProps), {\n default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && _createVNode(VExpandXTransition, {\n \"key\": \"filter\"\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-chip__filter\"\n }, [!slots.filter ? _createVNode(VIcon, {\n \"key\": \"filter-icon\",\n \"icon\": props.filterIcon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"filter-defaults\",\n \"disabled\": !props.filterIcon,\n \"defaults\": {\n VIcon: {\n icon: props.filterIcon\n }\n }\n }, slots.filter)]), [[_vShow, group.isSelected.value]])]\n }), hasPrepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-chip__prepend\"\n }, [!slots.prepend ? _createVNode(_Fragment, null, [props.prependIcon && _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"icon\": props.prependIcon,\n \"start\": true\n }, null), props.prependAvatar && _createVNode(VAvatar, {\n \"key\": \"prepend-avatar\",\n \"image\": props.prependAvatar,\n \"start\": true\n }, null)]) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !hasPrependMedia,\n \"defaults\": {\n VAvatar: {\n image: props.prependAvatar,\n start: true\n },\n VIcon: {\n icon: props.prependIcon,\n start: true\n }\n }\n }, slots.prepend)]), _createVNode(\"div\", {\n \"class\": \"v-chip__content\",\n \"data-no-activator\": \"\"\n }, [slots.default?.({\n isSelected: group?.isSelected.value,\n selectedClass: group?.selectedClass.value,\n select: group?.select,\n toggle: group?.toggle,\n value: group?.value.value,\n disabled: props.disabled\n }) ?? props.text]), hasAppend && _createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-chip__append\"\n }, [!slots.append ? _createVNode(_Fragment, null, [props.appendIcon && _createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"end\": true,\n \"icon\": props.appendIcon\n }, null), props.appendAvatar && _createVNode(VAvatar, {\n \"key\": \"append-avatar\",\n \"end\": true,\n \"image\": props.appendAvatar\n }, null)]) : _createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !hasAppendMedia,\n \"defaults\": {\n VAvatar: {\n end: true,\n image: props.appendAvatar\n },\n VIcon: {\n end: true,\n icon: props.appendIcon\n }\n }\n }, slots.append)]), hasClose && _createVNode(\"button\", _mergeProps({\n \"key\": \"close\",\n \"class\": \"v-chip__close\",\n \"type\": \"button\"\n }, closeProps.value), [!slots.close ? _createVNode(VIcon, {\n \"key\": \"close-icon\",\n \"icon\": props.closeIcon,\n \"size\": \"x-small\"\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"close-defaults\",\n \"defaults\": {\n VIcon: {\n icon: props.closeIcon,\n size: 'x-small'\n }\n }\n }, slots.close)])]\n }), [[_resolveDirective(\"ripple\"), isClickable.value && props.ripple, null]]);\n };\n }\n});\n//# sourceMappingURL=VChip.mjs.map","// Utilities\nimport { computed, inject, provide, shallowRef } from 'vue';\n\n// Types\n\n// Depth\nexport const DepthKey = Symbol.for('vuetify:depth');\nexport function useDepth(hasPrepend) {\n const parent = inject(DepthKey, shallowRef(-1));\n const depth = computed(() => parent.value + 1 + (hasPrepend?.value ? 1 : 0));\n provide(DepthKey, depth);\n return depth;\n}\n\n// List\nexport const ListKey = Symbol.for('vuetify:list');\nexport function createList() {\n const parent = inject(ListKey, {\n hasPrepend: shallowRef(false),\n updateHasPrepend: () => null\n });\n const data = {\n hasPrepend: shallowRef(false),\n updateHasPrepend: value => {\n if (value) data.hasPrepend.value = value;\n }\n };\n provide(ListKey, data);\n return parent;\n}\nexport function useList() {\n return inject(ListKey, null);\n}\n//# sourceMappingURL=list.mjs.map","/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue';\nimport { wrapInArray } from \"../../util/index.mjs\";\nexport const independentActiveStrategy = mandatory => {\n const strategy = {\n activate: _ref => {\n let {\n id,\n value,\n activated\n } = _ref;\n id = toRaw(id);\n\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value && activated.size === 1 && activated.has(id)) return activated;\n if (value) {\n activated.add(id);\n } else {\n activated.delete(id);\n }\n return activated;\n },\n in: (v, children, parents) => {\n let set = new Set();\n if (v != null) {\n for (const id of wrapInArray(v)) {\n set = strategy.activate({\n id,\n value: true,\n activated: new Set(set),\n children,\n parents\n });\n }\n }\n return set;\n },\n out: v => {\n return Array.from(v);\n }\n };\n return strategy;\n};\nexport const independentSingleActiveStrategy = mandatory => {\n const parentStrategy = independentActiveStrategy(mandatory);\n const strategy = {\n activate: _ref2 => {\n let {\n activated,\n id,\n ...rest\n } = _ref2;\n id = toRaw(id);\n const singleSelected = activated.has(id) ? new Set([id]) : new Set();\n return parentStrategy.activate({\n ...rest,\n id,\n activated: singleSelected\n });\n },\n in: (v, children, parents) => {\n let set = new Set();\n if (v != null) {\n const arr = wrapInArray(v);\n if (arr.length) {\n set = parentStrategy.in(arr.slice(0, 1), children, parents);\n }\n }\n return set;\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents);\n }\n };\n return strategy;\n};\nexport const leafActiveStrategy = mandatory => {\n const parentStrategy = independentActiveStrategy(mandatory);\n const strategy = {\n activate: _ref3 => {\n let {\n id,\n activated,\n children,\n ...rest\n } = _ref3;\n id = toRaw(id);\n if (children.has(id)) return activated;\n return parentStrategy.activate({\n id,\n activated,\n children,\n ...rest\n });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\nexport const leafSingleActiveStrategy = mandatory => {\n const parentStrategy = independentSingleActiveStrategy(mandatory);\n const strategy = {\n activate: _ref4 => {\n let {\n id,\n activated,\n children,\n ...rest\n } = _ref4;\n id = toRaw(id);\n if (children.has(id)) return activated;\n return parentStrategy.activate({\n id,\n activated,\n children,\n ...rest\n });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\n//# sourceMappingURL=activeStrategies.mjs.map","export const singleOpenStrategy = {\n open: _ref => {\n let {\n id,\n value,\n opened,\n parents\n } = _ref;\n if (value) {\n const newOpened = new Set();\n newOpened.add(id);\n let parent = parents.get(id);\n while (parent != null) {\n newOpened.add(parent);\n parent = parents.get(parent);\n }\n return newOpened;\n } else {\n opened.delete(id);\n return opened;\n }\n },\n select: () => null\n};\nexport const multipleOpenStrategy = {\n open: _ref2 => {\n let {\n id,\n value,\n opened,\n parents\n } = _ref2;\n if (value) {\n let parent = parents.get(id);\n opened.add(id);\n while (parent != null && parent !== id) {\n opened.add(parent);\n parent = parents.get(parent);\n }\n return opened;\n } else {\n opened.delete(id);\n }\n return opened;\n },\n select: () => null\n};\nexport const listOpenStrategy = {\n open: multipleOpenStrategy.open,\n select: _ref3 => {\n let {\n id,\n value,\n opened,\n parents\n } = _ref3;\n if (!value) return opened;\n const path = [];\n let parent = parents.get(id);\n while (parent != null) {\n path.push(parent);\n parent = parents.get(parent);\n }\n return new Set(path);\n }\n};\n//# sourceMappingURL=openStrategies.mjs.map","/* eslint-disable sonarjs/no-identical-functions */\n// Utilities\nimport { toRaw } from 'vue';\nexport const independentSelectStrategy = mandatory => {\n const strategy = {\n select: _ref => {\n let {\n id,\n value,\n selected\n } = _ref;\n id = toRaw(id);\n\n // When mandatory and we're trying to deselect when id\n // is the only currently selected item then do nothing\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, _ref2) => {\n let [key, value] = _ref2;\n if (value === 'on') arr.push(key);\n return arr;\n }, []);\n if (on.length === 1 && on[0] === id) return selected;\n }\n selected.set(id, value ? 'on' : 'off');\n return selected;\n },\n in: (v, children, parents) => {\n let map = new Map();\n for (const id of v || []) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents\n });\n }\n return map;\n },\n out: v => {\n const arr = [];\n for (const [key, value] of v.entries()) {\n if (value === 'on') arr.push(key);\n }\n return arr;\n }\n };\n return strategy;\n};\nexport const independentSingleSelectStrategy = mandatory => {\n const parentStrategy = independentSelectStrategy(mandatory);\n const strategy = {\n select: _ref3 => {\n let {\n selected,\n id,\n ...rest\n } = _ref3;\n id = toRaw(id);\n const singleSelected = selected.has(id) ? new Map([[id, selected.get(id)]]) : new Map();\n return parentStrategy.select({\n ...rest,\n id,\n selected: singleSelected\n });\n },\n in: (v, children, parents) => {\n let map = new Map();\n if (v?.length) {\n map = parentStrategy.in(v.slice(0, 1), children, parents);\n }\n return map;\n },\n out: (v, children, parents) => {\n return parentStrategy.out(v, children, parents);\n }\n };\n return strategy;\n};\nexport const leafSelectStrategy = mandatory => {\n const parentStrategy = independentSelectStrategy(mandatory);\n const strategy = {\n select: _ref4 => {\n let {\n id,\n selected,\n children,\n ...rest\n } = _ref4;\n id = toRaw(id);\n if (children.has(id)) return selected;\n return parentStrategy.select({\n id,\n selected,\n children,\n ...rest\n });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\nexport const leafSingleSelectStrategy = mandatory => {\n const parentStrategy = independentSingleSelectStrategy(mandatory);\n const strategy = {\n select: _ref5 => {\n let {\n id,\n selected,\n children,\n ...rest\n } = _ref5;\n id = toRaw(id);\n if (children.has(id)) return selected;\n return parentStrategy.select({\n id,\n selected,\n children,\n ...rest\n });\n },\n in: parentStrategy.in,\n out: parentStrategy.out\n };\n return strategy;\n};\nexport const classicSelectStrategy = mandatory => {\n const strategy = {\n select: _ref6 => {\n let {\n id,\n value,\n selected,\n children,\n parents\n } = _ref6;\n id = toRaw(id);\n const original = new Map(selected);\n const items = [id];\n while (items.length) {\n const item = items.shift();\n selected.set(toRaw(item), value ? 'on' : 'off');\n if (children.has(item)) {\n items.push(...children.get(item));\n }\n }\n let parent = toRaw(parents.get(id));\n while (parent) {\n const childrenIds = children.get(parent);\n const everySelected = childrenIds.every(cid => selected.get(toRaw(cid)) === 'on');\n const noneSelected = childrenIds.every(cid => !selected.has(toRaw(cid)) || selected.get(toRaw(cid)) === 'off');\n selected.set(parent, everySelected ? 'on' : noneSelected ? 'off' : 'indeterminate');\n parent = toRaw(parents.get(parent));\n }\n\n // If mandatory and planned deselect results in no selected\n // items then we can't do it, so return original state\n if (mandatory && !value) {\n const on = Array.from(selected.entries()).reduce((arr, _ref7) => {\n let [key, value] = _ref7;\n if (value === 'on') arr.push(key);\n return arr;\n }, []);\n if (on.length === 0) return original;\n }\n return selected;\n },\n in: (v, children, parents) => {\n let map = new Map();\n for (const id of v || []) {\n map = strategy.select({\n id,\n value: true,\n selected: new Map(map),\n children,\n parents\n });\n }\n return map;\n },\n out: (v, children) => {\n const arr = [];\n for (const [key, value] of v.entries()) {\n if (value === 'on' && !children.has(key)) arr.push(key);\n }\n return arr;\n }\n };\n return strategy;\n};\n//# sourceMappingURL=selectStrategies.mjs.map","// Composables\nimport { useProxiedModel } from \"../proxiedModel.mjs\"; // Utilities\nimport { computed, inject, onBeforeUnmount, provide, ref, shallowRef, toRaw, toRef } from 'vue';\nimport { independentActiveStrategy, independentSingleActiveStrategy, leafActiveStrategy, leafSingleActiveStrategy } from \"./activeStrategies.mjs\";\nimport { listOpenStrategy, multipleOpenStrategy, singleOpenStrategy } from \"./openStrategies.mjs\";\nimport { classicSelectStrategy, independentSelectStrategy, independentSingleSelectStrategy, leafSelectStrategy, leafSingleSelectStrategy } from \"./selectStrategies.mjs\";\nimport { consoleError, getCurrentInstance, getUid, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const VNestedSymbol = Symbol.for('vuetify:nested');\nexport const emptyNested = {\n id: shallowRef(),\n root: {\n register: () => null,\n unregister: () => null,\n parents: ref(new Map()),\n children: ref(new Map()),\n open: () => null,\n openOnSelect: () => null,\n activate: () => null,\n select: () => null,\n activatable: ref(false),\n selectable: ref(false),\n opened: ref(new Set()),\n activated: ref(new Set()),\n selected: ref(new Map()),\n selectedValues: ref([]),\n getPath: () => []\n }\n};\nexport const makeNestedProps = propsFactory({\n activatable: Boolean,\n selectable: Boolean,\n activeStrategy: [String, Function, Object],\n selectStrategy: [String, Function, Object],\n openStrategy: [String, Object],\n opened: null,\n activated: null,\n selected: null,\n mandatory: Boolean\n}, 'nested');\nexport const useNested = props => {\n let isUnmounted = false;\n const children = ref(new Map());\n const parents = ref(new Map());\n const opened = useProxiedModel(props, 'opened', props.opened, v => new Set(v), v => [...v.values()]);\n const activeStrategy = computed(() => {\n if (typeof props.activeStrategy === 'object') return props.activeStrategy;\n if (typeof props.activeStrategy === 'function') return props.activeStrategy(props.mandatory);\n switch (props.activeStrategy) {\n case 'leaf':\n return leafActiveStrategy(props.mandatory);\n case 'single-leaf':\n return leafSingleActiveStrategy(props.mandatory);\n case 'independent':\n return independentActiveStrategy(props.mandatory);\n case 'single-independent':\n default:\n return independentSingleActiveStrategy(props.mandatory);\n }\n });\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy;\n if (typeof props.selectStrategy === 'function') return props.selectStrategy(props.mandatory);\n switch (props.selectStrategy) {\n case 'single-leaf':\n return leafSingleSelectStrategy(props.mandatory);\n case 'leaf':\n return leafSelectStrategy(props.mandatory);\n case 'independent':\n return independentSelectStrategy(props.mandatory);\n case 'single-independent':\n return independentSingleSelectStrategy(props.mandatory);\n case 'classic':\n default:\n return classicSelectStrategy(props.mandatory);\n }\n });\n const openStrategy = computed(() => {\n if (typeof props.openStrategy === 'object') return props.openStrategy;\n switch (props.openStrategy) {\n case 'list':\n return listOpenStrategy;\n case 'single':\n return singleOpenStrategy;\n case 'multiple':\n default:\n return multipleOpenStrategy;\n }\n });\n const activated = useProxiedModel(props, 'activated', props.activated, v => activeStrategy.value.in(v, children.value, parents.value), v => activeStrategy.value.out(v, children.value, parents.value));\n const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(v, children.value, parents.value), v => selectStrategy.value.out(v, children.value, parents.value));\n onBeforeUnmount(() => {\n isUnmounted = true;\n });\n function getPath(id) {\n const path = [];\n let parent = id;\n while (parent != null) {\n path.unshift(parent);\n parent = parents.value.get(parent);\n }\n return path;\n }\n const vm = getCurrentInstance('nested');\n const nodeIds = new Set();\n const nested = {\n id: shallowRef(),\n root: {\n opened,\n activatable: toRef(props, 'activatable'),\n selectable: toRef(props, 'selectable'),\n activated,\n selected,\n selectedValues: computed(() => {\n const arr = [];\n for (const [key, value] of selected.value.entries()) {\n if (value === 'on') arr.push(key);\n }\n return arr;\n }),\n register: (id, parentId, isGroup) => {\n if (nodeIds.has(id)) {\n const path = getPath(id).join(' -> ');\n const newPath = getPath(parentId).concat(id).join(' -> ');\n consoleError(`Multiple nodes with the same ID\\n\\t${path}\\n\\t${newPath}`);\n return;\n } else {\n nodeIds.add(id);\n }\n parentId && id !== parentId && parents.value.set(id, parentId);\n isGroup && children.value.set(id, []);\n if (parentId != null) {\n children.value.set(parentId, [...(children.value.get(parentId) || []), id]);\n }\n },\n unregister: id => {\n if (isUnmounted) return;\n nodeIds.delete(id);\n children.value.delete(id);\n const parent = parents.value.get(id);\n if (parent) {\n const list = children.value.get(parent) ?? [];\n children.value.set(parent, list.filter(child => child !== id));\n }\n parents.value.delete(id);\n },\n open: (id, value, event) => {\n vm.emit('click:open', {\n id,\n value,\n path: getPath(id),\n event\n });\n const newOpened = openStrategy.value.open({\n id,\n value,\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newOpened && (opened.value = newOpened);\n },\n openOnSelect: (id, value, event) => {\n const newOpened = openStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n opened: new Set(opened.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newOpened && (opened.value = newOpened);\n },\n select: (id, value, event) => {\n vm.emit('click:select', {\n id,\n value,\n path: getPath(id),\n event\n });\n const newSelected = selectStrategy.value.select({\n id,\n value,\n selected: new Map(selected.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newSelected && (selected.value = newSelected);\n nested.root.openOnSelect(id, value, event);\n },\n activate: (id, value, event) => {\n if (!props.activatable) {\n return nested.root.select(id, true, event);\n }\n vm.emit('click:activate', {\n id,\n value,\n path: getPath(id),\n event\n });\n const newActivated = activeStrategy.value.activate({\n id,\n value,\n activated: new Set(activated.value),\n children: children.value,\n parents: parents.value,\n event\n });\n newActivated && (activated.value = newActivated);\n },\n children,\n parents,\n getPath\n }\n };\n provide(VNestedSymbol, nested);\n return nested.root;\n};\nexport const useNestedItem = (id, isGroup) => {\n const parent = inject(VNestedSymbol, emptyNested);\n const uidSymbol = Symbol(getUid());\n const computedId = computed(() => id.value !== undefined ? id.value : uidSymbol);\n const item = {\n ...parent,\n id: computedId,\n open: (open, e) => parent.root.open(computedId.value, open, e),\n openOnSelect: (open, e) => parent.root.openOnSelect(computedId.value, open, e),\n isOpen: computed(() => parent.root.opened.value.has(computedId.value)),\n parent: computed(() => parent.root.parents.value.get(computedId.value)),\n activate: (activated, e) => parent.root.activate(computedId.value, activated, e),\n isActivated: computed(() => parent.root.activated.value.has(toRaw(computedId.value))),\n select: (selected, e) => parent.root.select(computedId.value, selected, e),\n isSelected: computed(() => parent.root.selected.value.get(toRaw(computedId.value)) === 'on'),\n isIndeterminate: computed(() => parent.root.selected.value.get(computedId.value) === 'indeterminate'),\n isLeaf: computed(() => !parent.root.children.value.get(computedId.value)),\n isGroupActivator: parent.isGroupActivator\n };\n !parent.isGroupActivator && parent.root.register(computedId.value, parent.id.value, isGroup);\n onBeforeUnmount(() => {\n !parent.isGroupActivator && parent.root.unregister(computedId.value);\n });\n isGroup && provide(VNestedSymbol, item);\n return item;\n};\nexport const useNestedGroupActivator = () => {\n const parent = inject(VNestedSymbol, emptyNested);\n provide(VNestedSymbol, {\n ...parent,\n isGroupActivator: true\n });\n};\n//# sourceMappingURL=nested.mjs.map","import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VExpandTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\"; // Composables\nimport { useList } from \"./list.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useNestedGroupActivator, useNestedItem } from \"../../composables/nested/nested.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { defineComponent, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nconst VListGroupActivator = defineComponent({\n name: 'VListGroupActivator',\n setup(_, _ref) {\n let {\n slots\n } = _ref;\n useNestedGroupActivator();\n return () => slots.default?.();\n }\n});\nexport const makeVListGroupProps = propsFactory({\n /* @deprecated */\n activeColor: String,\n baseColor: String,\n color: String,\n collapseIcon: {\n type: IconValue,\n default: '$collapse'\n },\n expandIcon: {\n type: IconValue,\n default: '$expand'\n },\n prependIcon: IconValue,\n appendIcon: IconValue,\n fluid: Boolean,\n subgroup: Boolean,\n title: String,\n value: null,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VListGroup');\nexport const VListGroup = genericComponent()({\n name: 'VListGroup',\n props: makeVListGroupProps(),\n setup(props, _ref2) {\n let {\n slots\n } = _ref2;\n const {\n isOpen,\n open,\n id: _id\n } = useNestedItem(toRef(props, 'value'), true);\n const id = computed(() => `v-list-group--id-${String(_id.value)}`);\n const list = useList();\n const {\n isBooted\n } = useSsrBoot();\n function onClick(e) {\n e.stopPropagation();\n open(!isOpen.value, e);\n }\n const activatorProps = computed(() => ({\n onClick,\n class: 'v-list-group__header',\n id: id.value\n }));\n const toggleIcon = computed(() => isOpen.value ? props.collapseIcon : props.expandIcon);\n const activatorDefaults = computed(() => ({\n VListItem: {\n active: isOpen.value,\n activeColor: props.activeColor,\n baseColor: props.baseColor,\n color: props.color,\n prependIcon: props.prependIcon || props.subgroup && toggleIcon.value,\n appendIcon: props.appendIcon || !props.subgroup && toggleIcon.value,\n title: props.title,\n value: props.value\n }\n }));\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-list-group', {\n 'v-list-group--prepend': list?.hasPrepend.value,\n 'v-list-group--fluid': props.fluid,\n 'v-list-group--subgroup': props.subgroup,\n 'v-list-group--open': isOpen.value\n }, props.class],\n \"style\": props.style\n }, {\n default: () => [slots.activator && _createVNode(VDefaultsProvider, {\n \"defaults\": activatorDefaults.value\n }, {\n default: () => [_createVNode(VListGroupActivator, null, {\n default: () => [slots.activator({\n props: activatorProps.value,\n isOpen: isOpen.value\n })]\n })]\n }), _createVNode(MaybeTransition, {\n \"transition\": {\n component: VExpandTransition\n },\n \"disabled\": !isBooted.value\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-list-group__items\",\n \"role\": \"group\",\n \"aria-labelledby\": id.value\n }, [slots.default?.()]), [[_vShow, isOpen.value]])]\n })]\n }));\n return {\n isOpen\n };\n }\n});\n//# sourceMappingURL=VListGroup.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVListItemSubtitleProps = propsFactory({\n opacity: [Number, String],\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VListItemSubtitle');\nexport const VListItemSubtitle = genericComponent()({\n name: 'VListItemSubtitle',\n props: makeVListItemSubtitleProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-list-item-subtitle', props.class],\n \"style\": [{\n '--v-list-item-subtitle-opacity': props.opacity\n }, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VListItemSubtitle.mjs.map","// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VListItemTitle = createSimpleFunctional('v-list-item-title');\n//# sourceMappingURL=VListItemTitle.mjs.map","import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VListItem.css\";\n\n// Components\nimport { VListItemSubtitle } from \"./VListItemSubtitle.mjs\";\nimport { VListItemTitle } from \"./VListItemTitle.mjs\";\nimport { VAvatar } from \"../VAvatar/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { useList } from \"./list.mjs\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useNestedItem } from \"../../composables/nested/nested.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeRouterProps, useLink } from \"../../composables/router.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Directives\nimport { Ripple } from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed, watch } from 'vue';\nimport { deprecate, EventProp, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVListItemProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined\n },\n activeClass: String,\n /* @deprecated */\n activeColor: String,\n appendAvatar: String,\n appendIcon: IconValue,\n baseColor: String,\n disabled: Boolean,\n lines: [Boolean, String],\n link: {\n type: Boolean,\n default: undefined\n },\n nav: Boolean,\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n slim: Boolean,\n subtitle: [String, Number],\n title: [String, Number],\n value: null,\n onClick: EventProp(),\n onClickOnce: EventProp(),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'text'\n })\n}, 'VListItem');\nexport const VListItem = genericComponent()({\n name: 'VListItem',\n directives: {\n Ripple\n },\n props: makeVListItemProps(),\n emits: {\n click: e => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots,\n emit\n } = _ref;\n const link = useLink(props, attrs);\n const id = computed(() => props.value === undefined ? link.href.value : props.value);\n const {\n activate,\n isActivated,\n select,\n isOpen,\n isSelected,\n isIndeterminate,\n isGroupActivator,\n root,\n parent,\n openOnSelect,\n id: uid\n } = useNestedItem(id, false);\n const list = useList();\n const isActive = computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));\n const isLink = computed(() => props.link !== false && link.isLink.value);\n const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || !!list && (root.selectable.value || root.activatable.value || props.value != null)));\n const roundedProps = computed(() => props.rounded || props.nav);\n const color = computed(() => props.color ?? props.activeColor);\n const variantProps = computed(() => ({\n color: isActive.value ? color.value ?? props.baseColor : props.baseColor,\n variant: props.variant\n }));\n watch(() => link.isActive?.value, val => {\n if (val && parent.value != null) {\n root.open(parent.value, true);\n }\n if (val) {\n openOnSelect(val);\n }\n }, {\n immediate: true\n });\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(variantProps);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(roundedProps);\n const lineClasses = computed(() => props.lines ? `v-list-item--${props.lines}-line` : undefined);\n const slotProps = computed(() => ({\n isActive: isActive.value,\n select,\n isOpen: isOpen.value,\n isSelected: isSelected.value,\n isIndeterminate: isIndeterminate.value\n }));\n function onClick(e) {\n emit('click', e);\n if (!isClickable.value) return;\n link.navigate?.(e);\n if (isGroupActivator) return;\n if (root.activatable.value) {\n activate(!isActivated.value, e);\n } else if (root.selectable.value) {\n select(!isSelected.value, e);\n } else if (props.value != null) {\n select(!isSelected.value, e);\n }\n }\n function onKeyDown(e) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.target.dispatchEvent(new MouseEvent('click', e));\n }\n }\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag;\n const hasTitle = slots.title || props.title != null;\n const hasSubtitle = slots.subtitle || props.subtitle != null;\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);\n const hasAppend = !!(hasAppendMedia || slots.append);\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);\n const hasPrepend = !!(hasPrependMedia || slots.prepend);\n list?.updateHasPrepend(hasPrepend);\n if (props.activeColor) {\n deprecate('active-color', ['color', 'base-color']);\n }\n return _withDirectives(_createVNode(Tag, _mergeProps({\n \"class\": ['v-list-item', {\n 'v-list-item--active': isActive.value,\n 'v-list-item--disabled': props.disabled,\n 'v-list-item--link': isClickable.value,\n 'v-list-item--nav': props.nav,\n 'v-list-item--prepend': !hasPrepend && list?.hasPrepend.value,\n 'v-list-item--slim': props.slim,\n [`${props.activeClass}`]: props.activeClass && isActive.value\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, dimensionStyles.value, props.style],\n \"tabindex\": isClickable.value ? list ? -2 : 0 : undefined,\n \"onClick\": onClick,\n \"onKeydown\": isClickable.value && !isLink.value && onKeyDown\n }, link.linkProps), {\n default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-list-item__prepend\"\n }, [!slots.prepend ? _createVNode(_Fragment, null, [props.prependAvatar && _createVNode(VAvatar, {\n \"key\": \"prepend-avatar\",\n \"density\": props.density,\n \"image\": props.prependAvatar\n }, null), props.prependIcon && _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"density\": props.density,\n \"icon\": props.prependIcon\n }, null)]) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !hasPrependMedia,\n \"defaults\": {\n VAvatar: {\n density: props.density,\n image: props.prependAvatar\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon\n },\n VListItemAction: {\n start: true\n }\n }\n }, {\n default: () => [slots.prepend?.(slotProps.value)]\n }), _createVNode(\"div\", {\n \"class\": \"v-list-item__spacer\"\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-list-item__content\",\n \"data-no-activator\": \"\"\n }, [hasTitle && _createVNode(VListItemTitle, {\n \"key\": \"title\"\n }, {\n default: () => [slots.title?.({\n title: props.title\n }) ?? props.title]\n }), hasSubtitle && _createVNode(VListItemSubtitle, {\n \"key\": \"subtitle\"\n }, {\n default: () => [slots.subtitle?.({\n subtitle: props.subtitle\n }) ?? props.subtitle]\n }), slots.default?.(slotProps.value)]), hasAppend && _createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-list-item__append\"\n }, [!slots.append ? _createVNode(_Fragment, null, [props.appendIcon && _createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"density\": props.density,\n \"icon\": props.appendIcon\n }, null), props.appendAvatar && _createVNode(VAvatar, {\n \"key\": \"append-avatar\",\n \"density\": props.density,\n \"image\": props.appendAvatar\n }, null)]) : _createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !hasAppendMedia,\n \"defaults\": {\n VAvatar: {\n density: props.density,\n image: props.appendAvatar\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon\n },\n VListItemAction: {\n end: true\n }\n }\n }, {\n default: () => [slots.append?.(slotProps.value)]\n }), _createVNode(\"div\", {\n \"class\": \"v-list-item__spacer\"\n }, null)])]\n }), [[_resolveDirective(\"ripple\"), isClickable.value && props.ripple]]);\n });\n return {\n activate,\n isActivated,\n isGroupActivator,\n isSelected,\n list,\n select,\n root,\n id: uid\n };\n }\n});\n//# sourceMappingURL=VListItem.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVListSubheaderProps = propsFactory({\n color: String,\n inset: Boolean,\n sticky: Boolean,\n title: String,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VListSubheader');\nexport const VListSubheader = genericComponent()({\n name: 'VListSubheader',\n props: makeVListSubheaderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'color'));\n useRender(() => {\n const hasText = !!(slots.default || props.title);\n return _createVNode(props.tag, {\n \"class\": ['v-list-subheader', {\n 'v-list-subheader--inset': props.inset,\n 'v-list-subheader--sticky': props.sticky\n }, textColorClasses.value, props.class],\n \"style\": [{\n textColorStyles\n }, props.style]\n }, {\n default: () => [hasText && _createVNode(\"div\", {\n \"class\": \"v-list-subheader__text\"\n }, [slots.default?.() ?? props.title])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VListSubheader.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VDivider.css\";\n\n// Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVDividerProps = propsFactory({\n color: String,\n inset: Boolean,\n length: [Number, String],\n opacity: [Number, String],\n thickness: [Number, String],\n vertical: Boolean,\n ...makeComponentProps(),\n ...makeThemeProps()\n}, 'VDivider');\nexport const VDivider = genericComponent()({\n name: 'VDivider',\n props: makeVDividerProps(),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'color'));\n const dividerStyles = computed(() => {\n const styles = {};\n if (props.length) {\n styles[props.vertical ? 'height' : 'width'] = convertToUnit(props.length);\n }\n if (props.thickness) {\n styles[props.vertical ? 'borderRightWidth' : 'borderTopWidth'] = convertToUnit(props.thickness);\n }\n return styles;\n });\n useRender(() => {\n const divider = _createVNode(\"hr\", {\n \"class\": [{\n 'v-divider': true,\n 'v-divider--inset': props.inset,\n 'v-divider--vertical': props.vertical\n }, themeClasses.value, textColorClasses.value, props.class],\n \"style\": [dividerStyles.value, textColorStyles.value, {\n '--v-border-opacity': props.opacity\n }, props.style],\n \"aria-orientation\": !attrs.role || attrs.role === 'separator' ? props.vertical ? 'vertical' : 'horizontal' : undefined,\n \"role\": `${attrs.role || 'separator'}`\n }, null);\n if (!slots.default) return divider;\n return _createVNode(\"div\", {\n \"class\": ['v-divider__wrapper', {\n 'v-divider__wrapper--vertical': props.vertical,\n 'v-divider__wrapper--inset': props.inset\n }]\n }, [divider, _createVNode(\"div\", {\n \"class\": \"v-divider__content\"\n }, [slots.default()]), divider]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VDivider.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VListGroup } from \"./VListGroup.mjs\";\nimport { VListItem } from \"./VListItem.mjs\";\nimport { VListSubheader } from \"./VListSubheader.mjs\";\nimport { VDivider } from \"../VDivider/index.mjs\"; // Utilities\nimport { createList } from \"./list.mjs\";\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const makeVListChildrenProps = propsFactory({\n items: Array,\n returnObject: Boolean\n}, 'VListChildren');\nexport const VListChildren = genericComponent()({\n name: 'VListChildren',\n props: makeVListChildrenProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n createList();\n return () => slots.default?.() ?? props.items?.map(_ref2 => {\n let {\n children,\n props: itemProps,\n type,\n raw: item\n } = _ref2;\n if (type === 'divider') {\n return slots.divider?.({\n props: itemProps\n }) ?? _createVNode(VDivider, itemProps, null);\n }\n if (type === 'subheader') {\n return slots.subheader?.({\n props: itemProps\n }) ?? _createVNode(VListSubheader, itemProps, null);\n }\n const slotsWithItem = {\n subtitle: slots.subtitle ? slotProps => slots.subtitle?.({\n ...slotProps,\n item\n }) : undefined,\n prepend: slots.prepend ? slotProps => slots.prepend?.({\n ...slotProps,\n item\n }) : undefined,\n append: slots.append ? slotProps => slots.append?.({\n ...slotProps,\n item\n }) : undefined,\n title: slots.title ? slotProps => slots.title?.({\n ...slotProps,\n item\n }) : undefined\n };\n const listGroupProps = VListGroup.filterProps(itemProps);\n return children ? _createVNode(VListGroup, _mergeProps({\n \"value\": itemProps?.value\n }, listGroupProps), {\n activator: _ref3 => {\n let {\n props: activatorProps\n } = _ref3;\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: props.returnObject ? item : itemProps.value\n };\n return slots.header ? slots.header({\n props: listItemProps\n }) : _createVNode(VListItem, listItemProps, slotsWithItem);\n },\n default: () => _createVNode(VListChildren, {\n \"items\": children,\n \"returnObject\": props.returnObject\n }, slots)\n }) : slots.item ? slots.item({\n props: itemProps\n }) : _createVNode(VListItem, _mergeProps(itemProps, {\n \"value\": props.returnObject ? item : itemProps.value\n }), slotsWithItem);\n });\n }\n});\n//# sourceMappingURL=VListChildren.mjs.map","// Utilities\nimport { computed } from 'vue';\nimport { deepEqual, getPropertyFromItem, omit, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeItemsProps = propsFactory({\n items: {\n type: Array,\n default: () => []\n },\n itemTitle: {\n type: [String, Array, Function],\n default: 'title'\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'value'\n },\n itemChildren: {\n type: [Boolean, String, Array, Function],\n default: 'children'\n },\n itemProps: {\n type: [Boolean, String, Array, Function],\n default: 'props'\n },\n returnObject: Boolean,\n valueComparator: {\n type: Function,\n default: deepEqual\n }\n}, 'list-items');\nexport function transformItem(props, item) {\n const title = getPropertyFromItem(item, props.itemTitle, item);\n const value = getPropertyFromItem(item, props.itemValue, title);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps = props.itemProps === true ? typeof item === 'object' && item != null && !Array.isArray(item) ? 'children' in item ? omit(item, ['children']) : item : undefined : getPropertyFromItem(item, props.itemProps);\n const _props = {\n title,\n value,\n ...itemProps\n };\n return {\n title: String(_props.title ?? ''),\n value: _props.value,\n props: _props,\n children: Array.isArray(children) ? transformItems(props, children) : undefined,\n raw: item\n };\n}\nexport function transformItems(props, items) {\n const array = [];\n for (const item of items) {\n array.push(transformItem(props, item));\n }\n return array;\n}\nexport function useItems(props) {\n const items = computed(() => transformItems(props, props.items));\n const hasNullItem = computed(() => items.value.some(item => item.value === null));\n function transformIn(value) {\n if (!hasNullItem.value) {\n // When the model value is null, return an InternalItem\n // based on null only if null is one of the items\n value = value.filter(v => v !== null);\n }\n return value.map(v => {\n if (props.returnObject && typeof v === 'string') {\n // String model value means value is a custom input value from combobox\n // Don't look up existing items if the model value is a string\n return transformItem(props, v);\n }\n return items.value.find(item => props.valueComparator(v, item.value)) || transformItem(props, v);\n });\n }\n function transformOut(value) {\n return props.returnObject ? value.map(_ref => {\n let {\n raw\n } = _ref;\n return raw;\n }) : value.map(_ref2 => {\n let {\n value\n } = _ref2;\n return value;\n });\n }\n return {\n items,\n transformIn,\n transformOut\n };\n}\n//# sourceMappingURL=list-items.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VList.css\";\n\n// Components\nimport { VListChildren } from \"./VListChildren.mjs\"; // Composables\nimport { createList } from \"./list.mjs\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeItemsProps } from \"../../composables/list-items.mjs\";\nimport { makeNestedProps, useNested } from \"../../composables/nested/nested.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps } from \"../../composables/variant.mjs\"; // Utilities\nimport { computed, ref, shallowRef, toRef } from 'vue';\nimport { EventProp, focusChild, genericComponent, getPropertyFromItem, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nfunction isPrimitive(value) {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';\n}\nfunction transformItem(props, item) {\n const type = getPropertyFromItem(item, props.itemType, 'item');\n const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);\n const value = getPropertyFromItem(item, props.itemValue, undefined);\n const children = getPropertyFromItem(item, props.itemChildren);\n const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);\n const _props = {\n title,\n value,\n ...itemProps\n };\n return {\n type,\n title: _props.title,\n value: _props.value,\n props: _props,\n children: type === 'item' && children ? transformItems(props, children) : undefined,\n raw: item\n };\n}\nfunction transformItems(props, items) {\n const array = [];\n for (const item of items) {\n array.push(transformItem(props, item));\n }\n return array;\n}\nexport function useListItems(props) {\n const items = computed(() => transformItems(props, props.items));\n return {\n items\n };\n}\nexport const makeVListProps = propsFactory({\n baseColor: String,\n /* @deprecated */\n activeColor: String,\n activeClass: String,\n bgColor: String,\n disabled: Boolean,\n expandIcon: String,\n collapseIcon: String,\n lines: {\n type: [Boolean, String],\n default: 'one'\n },\n slim: Boolean,\n nav: Boolean,\n 'onClick:open': EventProp(),\n 'onClick:select': EventProp(),\n 'onUpdate:opened': EventProp(),\n ...makeNestedProps({\n selectStrategy: 'single-leaf',\n openStrategy: 'list'\n }),\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n itemType: {\n type: String,\n default: 'type'\n },\n ...makeItemsProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'text'\n })\n}, 'VList');\nexport const VList = genericComponent()({\n name: 'VList',\n props: makeVListProps(),\n emits: {\n 'update:selected': value => true,\n 'update:activated': value => true,\n 'update:opened': value => true,\n 'click:open': value => true,\n 'click:activate': value => true,\n 'click:select': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n items\n } = useListItems(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'bgColor'));\n const {\n borderClasses\n } = useBorder(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n children,\n open,\n parents,\n select,\n getPath\n } = useNested(props);\n const lineClasses = computed(() => props.lines ? `v-list--${props.lines}-line` : undefined);\n const activeColor = toRef(props, 'activeColor');\n const baseColor = toRef(props, 'baseColor');\n const color = toRef(props, 'color');\n createList();\n provideDefaults({\n VListGroup: {\n activeColor,\n baseColor,\n color,\n expandIcon: toRef(props, 'expandIcon'),\n collapseIcon: toRef(props, 'collapseIcon')\n },\n VListItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor,\n baseColor,\n color,\n density: toRef(props, 'density'),\n disabled: toRef(props, 'disabled'),\n lines: toRef(props, 'lines'),\n nav: toRef(props, 'nav'),\n slim: toRef(props, 'slim'),\n variant: toRef(props, 'variant')\n }\n });\n const isFocused = shallowRef(false);\n const contentRef = ref();\n function onFocusin(e) {\n isFocused.value = true;\n }\n function onFocusout(e) {\n isFocused.value = false;\n }\n function onFocus(e) {\n if (!isFocused.value && !(e.relatedTarget && contentRef.value?.contains(e.relatedTarget))) focus();\n }\n function onKeydown(e) {\n const target = e.target;\n if (!contentRef.value || ['INPUT', 'TEXTAREA'].includes(target.tagName)) return;\n if (e.key === 'ArrowDown') {\n focus('next');\n } else if (e.key === 'ArrowUp') {\n focus('prev');\n } else if (e.key === 'Home') {\n focus('first');\n } else if (e.key === 'End') {\n focus('last');\n } else {\n return;\n }\n e.preventDefault();\n }\n function onMousedown(e) {\n isFocused.value = true;\n }\n function focus(location) {\n if (contentRef.value) {\n return focusChild(contentRef.value, location);\n }\n }\n useRender(() => {\n return _createVNode(props.tag, {\n \"ref\": contentRef,\n \"class\": ['v-list', {\n 'v-list--disabled': props.disabled,\n 'v-list--nav': props.nav,\n 'v-list--slim': props.slim\n }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, dimensionStyles.value, props.style],\n \"tabindex\": props.disabled || isFocused.value ? -1 : 0,\n \"role\": \"listbox\",\n \"aria-activedescendant\": undefined,\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"onFocus\": onFocus,\n \"onKeydown\": onKeydown,\n \"onMousedown\": onMousedown\n }, {\n default: () => [_createVNode(VListChildren, {\n \"items\": items.value,\n \"returnObject\": props.returnObject\n }, slots)]\n });\n });\n return {\n open,\n select,\n focus,\n children,\n parents,\n getPath\n };\n }\n});\n//# sourceMappingURL=VList.mjs.map","// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VListImg = createSimpleFunctional('v-list-img');\n//# sourceMappingURL=VListImg.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVListItemActionProps = propsFactory({\n start: Boolean,\n end: Boolean,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VListItemAction');\nexport const VListItemAction = genericComponent()({\n name: 'VListItemAction',\n props: makeVListItemActionProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-list-item-action', {\n 'v-list-item-action--start': props.start,\n 'v-list-item-action--end': props.end\n }, props.class],\n \"style\": props.style\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VListItemAction.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVListItemMediaProps = propsFactory({\n start: Boolean,\n end: Boolean,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VListItemMedia');\nexport const VListItemMedia = genericComponent()({\n name: 'VListItemMedia',\n props: makeVListItemMediaProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n return _createVNode(props.tag, {\n \"class\": ['v-list-item-media', {\n 'v-list-item-media--start': props.start,\n 'v-list-item-media--end': props.end\n }, props.class],\n \"style\": props.style\n }, slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VListItemMedia.mjs.map","// Types\n\n/** Convert a point in local space to viewport space */\nexport function elementToViewport(point, offset) {\n return {\n x: point.x + offset.x,\n y: point.y + offset.y\n };\n}\n\n/** Convert a point in viewport space to local space */\nexport function viewportToElement(point, offset) {\n return {\n x: point.x - offset.x,\n y: point.y - offset.y\n };\n}\n\n/** Get the difference between two points */\nexport function getOffset(a, b) {\n return {\n x: a.x - b.x,\n y: a.y - b.y\n };\n}\n\n/** Convert an anchor object to a point in local space */\nexport function anchorToPoint(anchor, box) {\n if (anchor.side === 'top' || anchor.side === 'bottom') {\n const {\n side,\n align\n } = anchor;\n const x = align === 'left' ? 0 : align === 'center' ? box.width / 2 : align === 'right' ? box.width : align;\n const y = side === 'top' ? 0 : side === 'bottom' ? box.height : side;\n return elementToViewport({\n x,\n y\n }, box);\n } else if (anchor.side === 'left' || anchor.side === 'right') {\n const {\n side,\n align\n } = anchor;\n const x = side === 'left' ? 0 : side === 'right' ? box.width : side;\n const y = align === 'top' ? 0 : align === 'center' ? box.height / 2 : align === 'bottom' ? box.height : align;\n return elementToViewport({\n x,\n y\n }, box);\n }\n return elementToViewport({\n x: box.width / 2,\n y: box.height / 2\n }, box);\n}\n//# sourceMappingURL=point.mjs.map","// Composables\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\"; // Utilities\nimport { computed, nextTick, onScopeDispose, ref, watch } from 'vue';\nimport { anchorToPoint, getOffset } from \"./util/point.mjs\";\nimport { clamp, consoleError, convertToUnit, destructComputed, flipAlign, flipCorner, flipSide, getAxis, getScrollParents, IN_BROWSER, isFixedPosition, nullifyTransforms, parseAnchor, propsFactory } from \"../../util/index.mjs\";\nimport { Box, getOverflow, getTargetBox } from \"../../util/box.mjs\"; // Types\nconst locationStrategies = {\n static: staticLocationStrategy,\n // specific viewport position, usually centered\n connected: connectedLocationStrategy // connected to a certain element\n};\nexport const makeLocationStrategyProps = propsFactory({\n locationStrategy: {\n type: [String, Function],\n default: 'static',\n validator: val => typeof val === 'function' || val in locationStrategies\n },\n location: {\n type: String,\n default: 'bottom'\n },\n origin: {\n type: String,\n default: 'auto'\n },\n offset: [Number, String, Array]\n}, 'VOverlay-location-strategies');\nexport function useLocationStrategies(props, data) {\n const contentStyles = ref({});\n const updateLocation = ref();\n if (IN_BROWSER) {\n useToggleScope(() => !!(data.isActive.value && props.locationStrategy), reset => {\n watch(() => props.locationStrategy, reset);\n onScopeDispose(() => {\n window.removeEventListener('resize', onResize);\n updateLocation.value = undefined;\n });\n window.addEventListener('resize', onResize, {\n passive: true\n });\n if (typeof props.locationStrategy === 'function') {\n updateLocation.value = props.locationStrategy(data, props, contentStyles)?.updateLocation;\n } else {\n updateLocation.value = locationStrategies[props.locationStrategy](data, props, contentStyles)?.updateLocation;\n }\n });\n }\n function onResize(e) {\n updateLocation.value?.(e);\n }\n return {\n contentStyles,\n updateLocation\n };\n}\nfunction staticLocationStrategy() {\n // TODO\n}\n\n/** Get size of element ignoring max-width/max-height */\nfunction getIntrinsicSize(el, isRtl) {\n // const scrollables = new Map()\n // el.querySelectorAll('*').forEach(el => {\n // const x = el.scrollLeft\n // const y = el.scrollTop\n // if (x || y) {\n // scrollables.set(el, [x, y])\n // }\n // })\n\n // const initialMaxWidth = el.style.maxWidth\n // const initialMaxHeight = el.style.maxHeight\n // el.style.removeProperty('max-width')\n // el.style.removeProperty('max-height')\n\n /* eslint-disable-next-line sonarjs/prefer-immediate-return */\n const contentBox = nullifyTransforms(el);\n if (isRtl) {\n contentBox.x += parseFloat(el.style.right || 0);\n } else {\n contentBox.x -= parseFloat(el.style.left || 0);\n }\n contentBox.y -= parseFloat(el.style.top || 0);\n\n // el.style.maxWidth = initialMaxWidth\n // el.style.maxHeight = initialMaxHeight\n // scrollables.forEach((position, el) => {\n // el.scrollTo(...position)\n // })\n\n return contentBox;\n}\nfunction connectedLocationStrategy(data, props, contentStyles) {\n const activatorFixed = Array.isArray(data.target.value) || isFixedPosition(data.target.value);\n if (activatorFixed) {\n Object.assign(contentStyles.value, {\n position: 'fixed',\n top: 0,\n [data.isRtl.value ? 'right' : 'left']: 0\n });\n }\n const {\n preferredAnchor,\n preferredOrigin\n } = destructComputed(() => {\n const parsedAnchor = parseAnchor(props.location, data.isRtl.value);\n const parsedOrigin = props.origin === 'overlap' ? parsedAnchor : props.origin === 'auto' ? flipSide(parsedAnchor) : parseAnchor(props.origin, data.isRtl.value);\n\n // Some combinations of props may produce an invalid origin\n if (parsedAnchor.side === parsedOrigin.side && parsedAnchor.align === flipAlign(parsedOrigin).align) {\n return {\n preferredAnchor: flipCorner(parsedAnchor),\n preferredOrigin: flipCorner(parsedOrigin)\n };\n } else {\n return {\n preferredAnchor: parsedAnchor,\n preferredOrigin: parsedOrigin\n };\n }\n });\n const [minWidth, minHeight, maxWidth, maxHeight] = ['minWidth', 'minHeight', 'maxWidth', 'maxHeight'].map(key => {\n return computed(() => {\n const val = parseFloat(props[key]);\n return isNaN(val) ? Infinity : val;\n });\n });\n const offset = computed(() => {\n if (Array.isArray(props.offset)) {\n return props.offset;\n }\n if (typeof props.offset === 'string') {\n const offset = props.offset.split(' ').map(parseFloat);\n if (offset.length < 2) offset.push(0);\n return offset;\n }\n return typeof props.offset === 'number' ? [props.offset, 0] : [0, 0];\n });\n let observe = false;\n const observer = new ResizeObserver(() => {\n if (observe) updateLocation();\n });\n watch([data.target, data.contentEl], (_ref, _ref2) => {\n let [newTarget, newContentEl] = _ref;\n let [oldTarget, oldContentEl] = _ref2;\n if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget);\n if (newTarget && !Array.isArray(newTarget)) observer.observe(newTarget);\n if (oldContentEl) observer.unobserve(oldContentEl);\n if (newContentEl) observer.observe(newContentEl);\n }, {\n immediate: true\n });\n onScopeDispose(() => {\n observer.disconnect();\n });\n\n // eslint-disable-next-line max-statements\n function updateLocation() {\n observe = false;\n requestAnimationFrame(() => observe = true);\n if (!data.target.value || !data.contentEl.value) return;\n const targetBox = getTargetBox(data.target.value);\n const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);\n const scrollParents = getScrollParents(data.contentEl.value);\n const viewportMargin = 12;\n if (!scrollParents.length) {\n scrollParents.push(document.documentElement);\n if (!(data.contentEl.value.style.top && data.contentEl.value.style.left)) {\n contentBox.x -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-x') || 0);\n contentBox.y -= parseFloat(document.documentElement.style.getPropertyValue('--v-body-scroll-y') || 0);\n }\n }\n const viewport = scrollParents.reduce((box, el) => {\n const rect = el.getBoundingClientRect();\n const scrollBox = new Box({\n x: el === document.documentElement ? 0 : rect.x,\n y: el === document.documentElement ? 0 : rect.y,\n width: el.clientWidth,\n height: el.clientHeight\n });\n if (box) {\n return new Box({\n x: Math.max(box.left, scrollBox.left),\n y: Math.max(box.top, scrollBox.top),\n width: Math.min(box.right, scrollBox.right) - Math.max(box.left, scrollBox.left),\n height: Math.min(box.bottom, scrollBox.bottom) - Math.max(box.top, scrollBox.top)\n });\n }\n return scrollBox;\n }, undefined);\n viewport.x += viewportMargin;\n viewport.y += viewportMargin;\n viewport.width -= viewportMargin * 2;\n viewport.height -= viewportMargin * 2;\n let placement = {\n anchor: preferredAnchor.value,\n origin: preferredOrigin.value\n };\n function checkOverflow(_placement) {\n const box = new Box(contentBox);\n const targetPoint = anchorToPoint(_placement.anchor, targetBox);\n const contentPoint = anchorToPoint(_placement.origin, box);\n let {\n x,\n y\n } = getOffset(targetPoint, contentPoint);\n switch (_placement.anchor.side) {\n case 'top':\n y -= offset.value[0];\n break;\n case 'bottom':\n y += offset.value[0];\n break;\n case 'left':\n x -= offset.value[0];\n break;\n case 'right':\n x += offset.value[0];\n break;\n }\n switch (_placement.anchor.align) {\n case 'top':\n y -= offset.value[1];\n break;\n case 'bottom':\n y += offset.value[1];\n break;\n case 'left':\n x -= offset.value[1];\n break;\n case 'right':\n x += offset.value[1];\n break;\n }\n box.x += x;\n box.y += y;\n box.width = Math.min(box.width, maxWidth.value);\n box.height = Math.min(box.height, maxHeight.value);\n const overflows = getOverflow(box, viewport);\n return {\n overflows,\n x,\n y\n };\n }\n let x = 0;\n let y = 0;\n const available = {\n x: 0,\n y: 0\n };\n const flipped = {\n x: false,\n y: false\n };\n let resets = -1;\n while (true) {\n if (resets++ > 10) {\n consoleError('Infinite loop detected in connectedLocationStrategy');\n break;\n }\n const {\n x: _x,\n y: _y,\n overflows\n } = checkOverflow(placement);\n x += _x;\n y += _y;\n contentBox.x += _x;\n contentBox.y += _y;\n\n // flip\n {\n const axis = getAxis(placement.anchor);\n const hasOverflowX = overflows.x.before || overflows.x.after;\n const hasOverflowY = overflows.y.before || overflows.y.after;\n let reset = false;\n ['x', 'y'].forEach(key => {\n if (key === 'x' && hasOverflowX && !flipped.x || key === 'y' && hasOverflowY && !flipped.y) {\n const newPlacement = {\n anchor: {\n ...placement.anchor\n },\n origin: {\n ...placement.origin\n }\n };\n const flip = key === 'x' ? axis === 'y' ? flipAlign : flipSide : axis === 'y' ? flipSide : flipAlign;\n newPlacement.anchor = flip(newPlacement.anchor);\n newPlacement.origin = flip(newPlacement.origin);\n const {\n overflows: newOverflows\n } = checkOverflow(newPlacement);\n if (newOverflows[key].before <= overflows[key].before && newOverflows[key].after <= overflows[key].after || newOverflows[key].before + newOverflows[key].after < (overflows[key].before + overflows[key].after) / 2) {\n placement = newPlacement;\n reset = flipped[key] = true;\n }\n }\n });\n if (reset) continue;\n }\n\n // shift\n if (overflows.x.before) {\n x += overflows.x.before;\n contentBox.x += overflows.x.before;\n }\n if (overflows.x.after) {\n x -= overflows.x.after;\n contentBox.x -= overflows.x.after;\n }\n if (overflows.y.before) {\n y += overflows.y.before;\n contentBox.y += overflows.y.before;\n }\n if (overflows.y.after) {\n y -= overflows.y.after;\n contentBox.y -= overflows.y.after;\n }\n\n // size\n {\n const overflows = getOverflow(contentBox, viewport);\n available.x = viewport.width - overflows.x.before - overflows.x.after;\n available.y = viewport.height - overflows.y.before - overflows.y.after;\n x += overflows.x.before;\n contentBox.x += overflows.x.before;\n y += overflows.y.before;\n contentBox.y += overflows.y.before;\n }\n break;\n }\n const axis = getAxis(placement.anchor);\n Object.assign(contentStyles.value, {\n '--v-overlay-anchor-origin': `${placement.anchor.side} ${placement.anchor.align}`,\n transformOrigin: `${placement.origin.side} ${placement.origin.align}`,\n // transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,\n top: convertToUnit(pixelRound(y)),\n left: data.isRtl.value ? undefined : convertToUnit(pixelRound(x)),\n right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : undefined,\n minWidth: convertToUnit(axis === 'y' ? Math.min(minWidth.value, targetBox.width) : minWidth.value),\n maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),\n maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))\n });\n return {\n available,\n contentBox\n };\n }\n watch(() => [preferredAnchor.value, preferredOrigin.value, props.offset, props.minWidth, props.minHeight, props.maxWidth, props.maxHeight], () => updateLocation());\n nextTick(() => {\n const result = updateLocation();\n\n // TODO: overflowing content should only require a single updateLocation call\n // Icky hack to make sure the content is positioned consistently\n if (!result) return;\n const {\n available,\n contentBox\n } = result;\n if (contentBox.height > available.y) {\n requestAnimationFrame(() => {\n updateLocation();\n requestAnimationFrame(() => {\n updateLocation();\n });\n });\n }\n });\n return {\n updateLocation\n };\n}\nfunction pixelRound(val) {\n return Math.round(val * devicePixelRatio) / devicePixelRatio;\n}\nfunction pixelCeil(val) {\n return Math.ceil(val * devicePixelRatio) / devicePixelRatio;\n}\n//# sourceMappingURL=locationStrategies.mjs.map","let clean = true;\nconst frames = [];\n\n/**\n * Schedule a task to run in an animation frame on its own\n * This is useful for heavy tasks that may cause jank if all ran together\n */\nexport function requestNewFrame(cb) {\n if (!clean || frames.length) {\n frames.push(cb);\n run();\n } else {\n clean = false;\n cb();\n run();\n }\n}\nlet raf = -1;\nfunction run() {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n const frame = frames.shift();\n if (frame) frame();\n if (frames.length) run();else clean = true;\n });\n}\n//# sourceMappingURL=requestNewFrame.mjs.map","// Utilities\nimport { effectScope, onScopeDispose, watchEffect } from 'vue';\nimport { requestNewFrame } from \"./requestNewFrame.mjs\";\nimport { convertToUnit, getScrollParents, hasScrollbar, IN_BROWSER, propsFactory } from \"../../util/index.mjs\"; // Types\nconst scrollStrategies = {\n none: null,\n close: closeScrollStrategy,\n block: blockScrollStrategy,\n reposition: repositionScrollStrategy\n};\nexport const makeScrollStrategyProps = propsFactory({\n scrollStrategy: {\n type: [String, Function],\n default: 'block',\n validator: val => typeof val === 'function' || val in scrollStrategies\n }\n}, 'VOverlay-scroll-strategies');\nexport function useScrollStrategies(props, data) {\n if (!IN_BROWSER) return;\n let scope;\n watchEffect(async () => {\n scope?.stop();\n if (!(data.isActive.value && props.scrollStrategy)) return;\n scope = effectScope();\n await new Promise(resolve => setTimeout(resolve));\n scope.active && scope.run(() => {\n if (typeof props.scrollStrategy === 'function') {\n props.scrollStrategy(data, props, scope);\n } else {\n scrollStrategies[props.scrollStrategy]?.(data, props, scope);\n }\n });\n });\n onScopeDispose(() => {\n scope?.stop();\n });\n}\nfunction closeScrollStrategy(data) {\n function onScroll(e) {\n data.isActive.value = false;\n }\n bindScroll(data.targetEl.value ?? data.contentEl.value, onScroll);\n}\nfunction blockScrollStrategy(data, props) {\n const offsetParent = data.root.value?.offsetParent;\n const scrollElements = [...new Set([...getScrollParents(data.targetEl.value, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));\n const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;\n const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);\n if (scrollableParent) {\n data.root.value.classList.add('v-overlay--scroll-blocked');\n }\n scrollElements.forEach((el, i) => {\n el.style.setProperty('--v-body-scroll-x', convertToUnit(-el.scrollLeft));\n el.style.setProperty('--v-body-scroll-y', convertToUnit(-el.scrollTop));\n if (el !== document.documentElement) {\n el.style.setProperty('--v-scrollbar-offset', convertToUnit(scrollbarWidth));\n }\n el.classList.add('v-overlay-scroll-blocked');\n });\n onScopeDispose(() => {\n scrollElements.forEach((el, i) => {\n const x = parseFloat(el.style.getPropertyValue('--v-body-scroll-x'));\n const y = parseFloat(el.style.getPropertyValue('--v-body-scroll-y'));\n const scrollBehavior = el.style.scrollBehavior;\n el.style.scrollBehavior = 'auto';\n el.style.removeProperty('--v-body-scroll-x');\n el.style.removeProperty('--v-body-scroll-y');\n el.style.removeProperty('--v-scrollbar-offset');\n el.classList.remove('v-overlay-scroll-blocked');\n el.scrollLeft = -x;\n el.scrollTop = -y;\n el.style.scrollBehavior = scrollBehavior;\n });\n if (scrollableParent) {\n data.root.value.classList.remove('v-overlay--scroll-blocked');\n }\n });\n}\nfunction repositionScrollStrategy(data, props, scope) {\n let slow = false;\n let raf = -1;\n let ric = -1;\n function update(e) {\n requestNewFrame(() => {\n const start = performance.now();\n data.updateLocation.value?.(e);\n const time = performance.now() - start;\n slow = time / (1000 / 60) > 2;\n });\n }\n ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {\n scope.run(() => {\n bindScroll(data.targetEl.value ?? data.contentEl.value, e => {\n if (slow) {\n // If the position calculation is slow,\n // defer updates until scrolling is finished.\n // Browsers usually fire one scroll event per frame so\n // we just wait until we've got two frames without an event\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(() => {\n raf = requestAnimationFrame(() => {\n update(e);\n });\n });\n } else {\n update(e);\n }\n });\n });\n });\n onScopeDispose(() => {\n typeof cancelIdleCallback !== 'undefined' && cancelIdleCallback(ric);\n cancelAnimationFrame(raf);\n });\n}\n\n/** @private */\nfunction bindScroll(el, onScroll) {\n const scrollElements = [document, ...getScrollParents(el)];\n scrollElements.forEach(el => {\n el.addEventListener('scroll', onScroll, {\n passive: true\n });\n });\n onScopeDispose(() => {\n scrollElements.forEach(el => {\n el.removeEventListener('scroll', onScroll);\n });\n });\n}\n//# sourceMappingURL=scrollStrategies.mjs.map","// Types\n\nexport const VMenuSymbol = Symbol.for('vuetify:v-menu');\n//# sourceMappingURL=shared.mjs.map","// Utilities\nimport { defer, propsFactory } from \"../util/index.mjs\"; // Types\n// Composables\nexport const makeDelayProps = propsFactory({\n closeDelay: [Number, String],\n openDelay: [Number, String]\n}, 'delay');\nexport function useDelay(props, cb) {\n let clearDelay = () => {};\n function runDelay(isOpening) {\n clearDelay?.();\n const delay = Number(isOpening ? props.openDelay : props.closeDelay);\n return new Promise(resolve => {\n clearDelay = defer(delay, () => {\n cb?.(isOpening);\n resolve(isOpening);\n });\n });\n }\n function runOpenDelay() {\n return runDelay(true);\n }\n function runCloseDelay() {\n return runDelay(false);\n }\n return {\n clearDelay,\n runOpenDelay,\n runCloseDelay\n };\n}\n//# sourceMappingURL=delay.mjs.map","// Components\nimport { VMenuSymbol } from \"../VMenu/shared.mjs\"; // Composables\nimport { makeDelayProps, useDelay } from \"../../composables/delay.mjs\"; // Utilities\nimport { computed, effectScope, inject, mergeProps, nextTick, onScopeDispose, ref, watch, watchEffect } from 'vue';\nimport { bindProps, getCurrentInstance, IN_BROWSER, matchesSelector, propsFactory, templateRef, unbindProps } from \"../../util/index.mjs\"; // Types\nexport const makeActivatorProps = propsFactory({\n target: [String, Object],\n activator: [String, Object],\n activatorProps: {\n type: Object,\n default: () => ({})\n },\n openOnClick: {\n type: Boolean,\n default: undefined\n },\n openOnHover: Boolean,\n openOnFocus: {\n type: Boolean,\n default: undefined\n },\n closeOnContentClick: Boolean,\n ...makeDelayProps()\n}, 'VOverlay-activator');\nexport function useActivator(props, _ref) {\n let {\n isActive,\n isTop,\n contentEl\n } = _ref;\n const vm = getCurrentInstance('useActivator');\n const activatorEl = ref();\n let isHovered = false;\n let isFocused = false;\n let firstEnter = true;\n const openOnFocus = computed(() => props.openOnFocus || props.openOnFocus == null && props.openOnHover);\n const openOnClick = computed(() => props.openOnClick || props.openOnClick == null && !props.openOnHover && !openOnFocus.value);\n const {\n runOpenDelay,\n runCloseDelay\n } = useDelay(props, value => {\n if (value === (props.openOnHover && isHovered || openOnFocus.value && isFocused) && !(props.openOnHover && isActive.value && !isTop.value)) {\n if (isActive.value !== value) {\n firstEnter = true;\n }\n isActive.value = value;\n }\n });\n const cursorTarget = ref();\n const availableEvents = {\n onClick: e => {\n e.stopPropagation();\n activatorEl.value = e.currentTarget || e.target;\n if (!isActive.value) {\n cursorTarget.value = [e.clientX, e.clientY];\n }\n isActive.value = !isActive.value;\n },\n onMouseenter: e => {\n if (e.sourceCapabilities?.firesTouchEvents) return;\n isHovered = true;\n activatorEl.value = e.currentTarget || e.target;\n runOpenDelay();\n },\n onMouseleave: e => {\n isHovered = false;\n runCloseDelay();\n },\n onFocus: e => {\n if (matchesSelector(e.target, ':focus-visible') === false) return;\n isFocused = true;\n e.stopPropagation();\n activatorEl.value = e.currentTarget || e.target;\n runOpenDelay();\n },\n onBlur: e => {\n isFocused = false;\n e.stopPropagation();\n runCloseDelay();\n }\n };\n const activatorEvents = computed(() => {\n const events = {};\n if (openOnClick.value) {\n events.onClick = availableEvents.onClick;\n }\n if (props.openOnHover) {\n events.onMouseenter = availableEvents.onMouseenter;\n events.onMouseleave = availableEvents.onMouseleave;\n }\n if (openOnFocus.value) {\n events.onFocus = availableEvents.onFocus;\n events.onBlur = availableEvents.onBlur;\n }\n return events;\n });\n const contentEvents = computed(() => {\n const events = {};\n if (props.openOnHover) {\n events.onMouseenter = () => {\n isHovered = true;\n runOpenDelay();\n };\n events.onMouseleave = () => {\n isHovered = false;\n runCloseDelay();\n };\n }\n if (openOnFocus.value) {\n events.onFocusin = () => {\n isFocused = true;\n runOpenDelay();\n };\n events.onFocusout = () => {\n isFocused = false;\n runCloseDelay();\n };\n }\n if (props.closeOnContentClick) {\n const menu = inject(VMenuSymbol, null);\n events.onClick = () => {\n isActive.value = false;\n menu?.closeParents();\n };\n }\n return events;\n });\n const scrimEvents = computed(() => {\n const events = {};\n if (props.openOnHover) {\n events.onMouseenter = () => {\n if (firstEnter) {\n isHovered = true;\n firstEnter = false;\n runOpenDelay();\n }\n };\n events.onMouseleave = () => {\n isHovered = false;\n runCloseDelay();\n };\n }\n return events;\n });\n watch(isTop, val => {\n if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {\n isActive.value = false;\n }\n });\n watch(isActive, val => {\n if (!val) {\n setTimeout(() => {\n cursorTarget.value = undefined;\n });\n }\n }, {\n flush: 'post'\n });\n const activatorRef = templateRef();\n watchEffect(() => {\n if (!activatorRef.value) return;\n nextTick(() => {\n activatorEl.value = activatorRef.el;\n });\n });\n const targetRef = templateRef();\n const target = computed(() => {\n if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;\n if (targetRef.value) return targetRef.el;\n return getTarget(props.target, vm) || activatorEl.value;\n });\n const targetEl = computed(() => {\n return Array.isArray(target.value) ? undefined : target.value;\n });\n let scope;\n watch(() => !!props.activator, val => {\n if (val && IN_BROWSER) {\n scope = effectScope();\n scope.run(() => {\n _useActivator(props, vm, {\n activatorEl,\n activatorEvents\n });\n });\n } else if (scope) {\n scope.stop();\n }\n }, {\n flush: 'post',\n immediate: true\n });\n onScopeDispose(() => {\n scope?.stop();\n });\n return {\n activatorEl,\n activatorRef,\n target,\n targetEl,\n targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents\n };\n}\nfunction _useActivator(props, vm, _ref2) {\n let {\n activatorEl,\n activatorEvents\n } = _ref2;\n watch(() => props.activator, (val, oldVal) => {\n if (oldVal && val !== oldVal) {\n const activator = getActivator(oldVal);\n activator && unbindActivatorProps(activator);\n }\n if (val) {\n nextTick(() => bindActivatorProps());\n }\n }, {\n immediate: true\n });\n watch(() => props.activatorProps, () => {\n bindActivatorProps();\n });\n onScopeDispose(() => {\n unbindActivatorProps();\n });\n function bindActivatorProps() {\n let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();\n let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;\n if (!el) return;\n bindProps(el, mergeProps(activatorEvents.value, _props));\n }\n function unbindActivatorProps() {\n let el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getActivator();\n let _props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.activatorProps;\n if (!el) return;\n unbindProps(el, mergeProps(activatorEvents.value, _props));\n }\n function getActivator() {\n let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;\n const activator = getTarget(selector, vm);\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined;\n return activatorEl.value;\n }\n}\nfunction getTarget(selector, vm) {\n if (!selector) return;\n let target;\n if (selector === 'parent') {\n let el = vm?.proxy?.$el?.parentNode;\n while (el?.hasAttribute('data-no-activator')) {\n el = el.parentNode;\n }\n target = el;\n } else if (typeof selector === 'string') {\n // Selector\n target = document.querySelector(selector);\n } else if ('$el' in selector) {\n // Component (ref)\n target = selector.$el;\n } else {\n // HTMLElement | Element | [x, y]\n target = selector;\n }\n return target;\n}\n//# sourceMappingURL=useActivator.mjs.map","// Composables\nimport { useDisplay } from \"./display.mjs\"; // Utilities\nimport { onMounted, shallowRef } from 'vue';\nimport { IN_BROWSER } from \"../util/index.mjs\";\nexport function useHydration() {\n if (!IN_BROWSER) return shallowRef(false);\n const {\n ssr\n } = useDisplay();\n if (ssr) {\n const isMounted = shallowRef(false);\n onMounted(() => {\n isMounted.value = true;\n });\n return isMounted;\n } else {\n return shallowRef(true);\n }\n}\n//# sourceMappingURL=hydration.mjs.map","// Utilities\nimport { computed, shallowRef, watch } from 'vue';\nimport { propsFactory } from \"../util/index.mjs\"; // Types\nexport const makeLazyProps = propsFactory({\n eager: Boolean\n}, 'lazy');\nexport function useLazy(props, active) {\n const isBooted = shallowRef(false);\n const hasContent = computed(() => isBooted.value || props.eager || active.value);\n watch(active, () => isBooted.value = true);\n function onAfterLeave() {\n if (!props.eager) isBooted.value = false;\n }\n return {\n isBooted,\n hasContent,\n onAfterLeave\n };\n}\n//# sourceMappingURL=lazy.mjs.map","// Utilities\nimport { getCurrentInstance } from \"../util/index.mjs\";\nexport function useScopeId() {\n const vm = getCurrentInstance('useScopeId');\n const scopeId = vm.vnode.scopeId;\n return {\n scopeId: scopeId ? {\n [scopeId]: ''\n } : undefined\n };\n}\n//# sourceMappingURL=scopeId.mjs.map","// Composables\nimport { useToggleScope } from \"./toggleScope.mjs\"; // Utilities\nimport { computed, inject, onScopeDispose, provide, reactive, readonly, shallowRef, toRaw, watchEffect } from 'vue';\nimport { getCurrentInstance } from \"../util/index.mjs\"; // Types\nconst StackSymbol = Symbol.for('vuetify:stack');\nconst globalStack = reactive([]);\nexport function useStack(isActive, zIndex, disableGlobalStack) {\n const vm = getCurrentInstance('useStack');\n const createStackEntry = !disableGlobalStack;\n const parent = inject(StackSymbol, undefined);\n const stack = reactive({\n activeChildren: new Set()\n });\n provide(StackSymbol, stack);\n const _zIndex = shallowRef(+zIndex.value);\n useToggleScope(isActive, () => {\n const lastZIndex = globalStack.at(-1)?.[1];\n _zIndex.value = lastZIndex ? lastZIndex + 10 : +zIndex.value;\n if (createStackEntry) {\n globalStack.push([vm.uid, _zIndex.value]);\n }\n parent?.activeChildren.add(vm.uid);\n onScopeDispose(() => {\n if (createStackEntry) {\n const idx = toRaw(globalStack).findIndex(v => v[0] === vm.uid);\n globalStack.splice(idx, 1);\n }\n parent?.activeChildren.delete(vm.uid);\n });\n });\n const globalTop = shallowRef(true);\n if (createStackEntry) {\n watchEffect(() => {\n const _isTop = globalStack.at(-1)?.[0] === vm.uid;\n setTimeout(() => globalTop.value = _isTop);\n });\n }\n const localTop = computed(() => !stack.activeChildren.size);\n return {\n globalTop: readonly(globalTop),\n localTop,\n stackStyles: computed(() => ({\n zIndex: _zIndex.value\n }))\n };\n}\n//# sourceMappingURL=stack.mjs.map","// Utilities\nimport { computed, warn } from 'vue';\nimport { IN_BROWSER } from \"../util/index.mjs\";\nexport function useTeleport(target) {\n const teleportTarget = computed(() => {\n const _target = target();\n if (_target === true || !IN_BROWSER) return undefined;\n const targetElement = _target === false ? document.body : typeof _target === 'string' ? document.querySelector(_target) : _target;\n if (targetElement == null) {\n warn(`Unable to locate target ${_target}`);\n return undefined;\n }\n let container = [...targetElement.children].find(el => el.matches('.v-overlay-container'));\n if (!container) {\n container = document.createElement('div');\n container.className = 'v-overlay-container';\n targetElement.appendChild(container);\n }\n return container;\n });\n return {\n teleportTarget\n };\n}\n//# sourceMappingURL=teleport.mjs.map","// Utilities\nimport { attachedRoot } from \"../../util/index.mjs\"; // Types\nfunction defaultConditional() {\n return true;\n}\nfunction checkEvent(e, el, binding) {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false;\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el);\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot && root.host === e.target) return false;\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = (typeof binding.value === 'object' && binding.value.include || (() => []))();\n // Add the root element for the component this directive was defined on\n elements.push(el);\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el?.contains(e.target));\n}\nfunction checkIsActive(e, binding) {\n const isActive = typeof binding.value === 'object' && binding.value.closeConditional || defaultConditional;\n return isActive(e);\n}\nfunction directive(e, el, binding) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;\n\n // Clicks in the Shadow DOM change their target while using setTimeout, so the original target is saved here\n e.shadowTarget = e.target;\n el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e);\n }, 0);\n}\nfunction handleShadow(el, callback) {\n const root = attachedRoot(el);\n callback(document);\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root);\n }\n}\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n mounted(el, binding) {\n const onClick = e => directive(e, el, binding);\n const onMousedown = e => {\n el._clickOutside.lastMousedownWasOutside = checkEvent(e, el, binding);\n };\n handleShadow(el, app => {\n app.addEventListener('click', onClick, true);\n app.addEventListener('mousedown', onMousedown, true);\n });\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: false\n };\n }\n el._clickOutside[binding.instance.$.uid] = {\n onClick,\n onMousedown\n };\n },\n beforeUnmount(el, binding) {\n if (!el._clickOutside) return;\n handleShadow(el, app => {\n if (!app || !el._clickOutside?.[binding.instance.$.uid]) return;\n const {\n onClick,\n onMousedown\n } = el._clickOutside[binding.instance.$.uid];\n app.removeEventListener('click', onClick, true);\n app.removeEventListener('mousedown', onMousedown, true);\n });\n delete el._clickOutside[binding.instance.$.uid];\n }\n};\nexport default ClickOutside;\n//# sourceMappingURL=index.mjs.map","import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, vShow as _vShow, Fragment as _Fragment, createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VOverlay.css\";\n\n// Composables\nimport { makeLocationStrategyProps, useLocationStrategies } from \"./locationStrategies.mjs\";\nimport { makeScrollStrategyProps, useScrollStrategies } from \"./scrollStrategies.mjs\";\nimport { makeActivatorProps, useActivator } from \"./useActivator.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useHydration } from \"../../composables/hydration.mjs\";\nimport { makeLazyProps, useLazy } from \"../../composables/lazy.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useBackButton, useRouter } from \"../../composables/router.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { useStack } from \"../../composables/stack.mjs\";\nimport { useTeleport } from \"../../composables/teleport.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Directives\nimport { ClickOutside } from \"../../directives/click-outside/index.mjs\"; // Utilities\nimport { computed, mergeProps, onBeforeUnmount, ref, Teleport, toRef, Transition, watch } from 'vue';\nimport { animate, convertToUnit, genericComponent, getCurrentInstance, getScrollParent, IN_BROWSER, propsFactory, standardEasing, useRender } from \"../../util/index.mjs\"; // Types\nfunction Scrim(props) {\n const {\n modelValue,\n color,\n ...rest\n } = props;\n return _createVNode(Transition, {\n \"name\": \"fade-transition\",\n \"appear\": true\n }, {\n default: () => [props.modelValue && _createVNode(\"div\", _mergeProps({\n \"class\": ['v-overlay__scrim', props.color.backgroundColorClasses.value],\n \"style\": props.color.backgroundColorStyles.value\n }, rest), null)]\n });\n}\nexport const makeVOverlayProps = propsFactory({\n absolute: Boolean,\n attach: [Boolean, String, Object],\n closeOnBack: {\n type: Boolean,\n default: true\n },\n contained: Boolean,\n contentClass: null,\n contentProps: null,\n disabled: Boolean,\n opacity: [Number, String],\n noClickAnimation: Boolean,\n modelValue: Boolean,\n persistent: Boolean,\n scrim: {\n type: [Boolean, String],\n default: true\n },\n zIndex: {\n type: [Number, String],\n default: 2000\n },\n ...makeActivatorProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLazyProps(),\n ...makeLocationStrategyProps(),\n ...makeScrollStrategyProps(),\n ...makeThemeProps(),\n ...makeTransitionProps()\n}, 'VOverlay');\nexport const VOverlay = genericComponent()({\n name: 'VOverlay',\n directives: {\n ClickOutside\n },\n inheritAttrs: false,\n props: {\n _disableGlobalStack: Boolean,\n ...makeVOverlayProps()\n },\n emits: {\n 'click:outside': e => true,\n 'update:modelValue': value => true,\n afterEnter: () => true,\n afterLeave: () => true\n },\n setup(props, _ref) {\n let {\n slots,\n attrs,\n emit\n } = _ref;\n const vm = getCurrentInstance('VOverlay');\n const root = ref();\n const scrimEl = ref();\n const contentEl = ref();\n const model = useProxiedModel(props, 'modelValue');\n const isActive = computed({\n get: () => model.value,\n set: v => {\n if (!(v && props.disabled)) model.value = v;\n }\n });\n const {\n themeClasses\n } = provideTheme(props);\n const {\n rtlClasses,\n isRtl\n } = useRtl();\n const {\n hasContent,\n onAfterLeave: _onAfterLeave\n } = useLazy(props, isActive);\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null;\n }));\n const {\n globalTop,\n localTop,\n stackStyles\n } = useStack(isActive, toRef(props, 'zIndex'), props._disableGlobalStack);\n const {\n activatorEl,\n activatorRef,\n target,\n targetEl,\n targetRef,\n activatorEvents,\n contentEvents,\n scrimEvents\n } = useActivator(props, {\n isActive,\n isTop: localTop,\n contentEl\n });\n const {\n teleportTarget\n } = useTeleport(() => {\n const target = props.attach || props.contained;\n if (target) return target;\n const rootNode = activatorEl?.value?.getRootNode() || vm.proxy?.$el?.getRootNode();\n if (rootNode instanceof ShadowRoot) return rootNode;\n return false;\n });\n const {\n dimensionStyles\n } = useDimension(props);\n const isMounted = useHydration();\n const {\n scopeId\n } = useScopeId();\n watch(() => props.disabled, v => {\n if (v) isActive.value = false;\n });\n const {\n contentStyles,\n updateLocation\n } = useLocationStrategies(props, {\n isRtl,\n contentEl,\n target,\n isActive\n });\n useScrollStrategies(props, {\n root,\n contentEl,\n targetEl,\n isActive,\n updateLocation\n });\n function onClickOutside(e) {\n emit('click:outside', e);\n if (!props.persistent) isActive.value = false;else animateClick();\n }\n function closeConditional(e) {\n return isActive.value && globalTop.value && (\n // If using scrim, only close if clicking on it rather than anything opened on top\n !props.scrim || e.target === scrimEl.value || e instanceof MouseEvent && e.shadowTarget === scrimEl.value);\n }\n IN_BROWSER && watch(isActive, val => {\n if (val) {\n window.addEventListener('keydown', onKeydown);\n } else {\n window.removeEventListener('keydown', onKeydown);\n }\n }, {\n immediate: true\n });\n onBeforeUnmount(() => {\n if (!IN_BROWSER) return;\n window.removeEventListener('keydown', onKeydown);\n });\n function onKeydown(e) {\n if (e.key === 'Escape' && globalTop.value) {\n if (!props.persistent) {\n isActive.value = false;\n if (contentEl.value?.contains(document.activeElement)) {\n activatorEl.value?.focus();\n }\n } else animateClick();\n }\n }\n const router = useRouter();\n useToggleScope(() => props.closeOnBack, () => {\n useBackButton(router, next => {\n if (globalTop.value && isActive.value) {\n next(false);\n if (!props.persistent) isActive.value = false;else animateClick();\n } else {\n next();\n }\n });\n });\n const top = ref();\n watch(() => isActive.value && (props.absolute || props.contained) && teleportTarget.value == null, val => {\n if (val) {\n const scrollParent = getScrollParent(root.value);\n if (scrollParent && scrollParent !== document.scrollingElement) {\n top.value = scrollParent.scrollTop;\n }\n }\n });\n\n // Add a quick \"bounce\" animation to the content\n function animateClick() {\n if (props.noClickAnimation) return;\n contentEl.value && animate(contentEl.value, [{\n transformOrigin: 'center'\n }, {\n transform: 'scale(1.03)'\n }, {\n transformOrigin: 'center'\n }], {\n duration: 150,\n easing: standardEasing\n });\n }\n function onAfterEnter() {\n emit('afterEnter');\n }\n function onAfterLeave() {\n _onAfterLeave();\n emit('afterLeave');\n }\n useRender(() => _createVNode(_Fragment, null, [slots.activator?.({\n isActive: isActive.value,\n targetRef,\n props: mergeProps({\n ref: activatorRef\n }, activatorEvents.value, props.activatorProps)\n }), isMounted.value && hasContent.value && _createVNode(Teleport, {\n \"disabled\": !teleportTarget.value,\n \"to\": teleportTarget.value\n }, {\n default: () => [_createVNode(\"div\", _mergeProps({\n \"class\": ['v-overlay', {\n 'v-overlay--absolute': props.absolute || props.contained,\n 'v-overlay--active': isActive.value,\n 'v-overlay--contained': props.contained\n }, themeClasses.value, rtlClasses.value, props.class],\n \"style\": [stackStyles.value, {\n '--v-overlay-opacity': props.opacity,\n top: convertToUnit(top.value)\n }, props.style],\n \"ref\": root\n }, scopeId, attrs), [_createVNode(Scrim, _mergeProps({\n \"color\": scrimColor,\n \"modelValue\": isActive.value && !!props.scrim,\n \"ref\": scrimEl\n }, scrimEvents.value), null), _createVNode(MaybeTransition, {\n \"appear\": true,\n \"persisted\": true,\n \"transition\": props.transition,\n \"target\": target.value,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", _mergeProps({\n \"ref\": contentEl,\n \"class\": ['v-overlay__content', props.contentClass],\n \"style\": [dimensionStyles.value, contentStyles.value]\n }, contentEvents.value, props.contentProps), [slots.default?.({\n isActive\n })]), [[_vShow, isActive.value], [_resolveDirective(\"click-outside\"), {\n handler: onClickOutside,\n closeConditional,\n include: () => [activatorEl.value]\n }]])]\n })])]\n })]));\n return {\n activatorEl,\n scrimEl,\n target,\n animateClick,\n contentEl,\n globalTop,\n localTop,\n updateLocation\n };\n }\n});\n//# sourceMappingURL=VOverlay.mjs.map","// Types\n\nconst Refs = Symbol('Forwarded refs');\n\n/** Omit properties starting with P */\n\n/** Omit keyof $props from T */\n\nfunction getDescriptor(obj, key) {\n let currentObj = obj;\n while (currentObj) {\n const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);\n if (descriptor) return descriptor;\n currentObj = Object.getPrototypeOf(currentObj);\n }\n return undefined;\n}\nexport function forwardRefs(target) {\n for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n refs[_key - 1] = arguments[_key];\n }\n target[Refs] = refs;\n return new Proxy(target, {\n get(target, key) {\n if (Reflect.has(target, key)) {\n return Reflect.get(target, key);\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return;\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n const val = Reflect.get(ref.value, key);\n return typeof val === 'function' ? val.bind(ref.value) : val;\n }\n }\n },\n has(target, key) {\n if (Reflect.has(target, key)) {\n return true;\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false;\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return true;\n }\n }\n return false;\n },\n set(target, key, value) {\n if (Reflect.has(target, key)) {\n return Reflect.set(target, key, value);\n }\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return false;\n for (const ref of refs) {\n if (ref.value && Reflect.has(ref.value, key)) {\n return Reflect.set(ref.value, key, value);\n }\n }\n return false;\n },\n getOwnPropertyDescriptor(target, key) {\n const descriptor = Reflect.getOwnPropertyDescriptor(target, key);\n if (descriptor) return descriptor;\n\n // Skip internal properties\n if (typeof key === 'symbol' || key.startsWith('$') || key.startsWith('__')) return;\n\n // Check each ref's own properties\n for (const ref of refs) {\n if (!ref.value) continue;\n const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);\n if (descriptor) return descriptor;\n }\n\n // Recursive search up each ref's prototype\n for (const ref of refs) {\n const childRefs = ref.value && ref.value[Refs];\n if (!childRefs) continue;\n const queue = childRefs.slice();\n while (queue.length) {\n const ref = queue.shift();\n const descriptor = getDescriptor(ref.value, key);\n if (descriptor) return descriptor;\n const childRefs = ref.value && ref.value[Refs];\n if (childRefs) queue.push(...childRefs);\n }\n }\n return undefined;\n }\n });\n}\n//# sourceMappingURL=forwardRefs.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VMenu.css\";\n\n// Components\nimport { VDialogTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VOverlay } from \"../VOverlay/index.mjs\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.mjs\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\"; // Utilities\nimport { computed, inject, mergeProps, nextTick, onBeforeUnmount, onDeactivated, provide, ref, shallowRef, watch } from 'vue';\nimport { VMenuSymbol } from \"./shared.mjs\";\nimport { focusableChildren, focusChild, genericComponent, getNextElement, getUid, isClickInsideElement, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVMenuProps = propsFactory({\n // TODO\n // disableKeys: Boolean,\n id: String,\n submenu: Boolean,\n ...omit(makeVOverlayProps({\n closeDelay: 250,\n closeOnContentClick: true,\n locationStrategy: 'connected',\n location: undefined,\n openDelay: 300,\n scrim: false,\n scrollStrategy: 'reposition',\n transition: {\n component: VDialogTransition\n }\n }), ['absolute'])\n}, 'VMenu');\nexport const VMenu = genericComponent()({\n name: 'VMenu',\n props: makeVMenuProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n scopeId\n } = useScopeId();\n const {\n isRtl\n } = useRtl();\n const uid = getUid();\n const id = computed(() => props.id || `v-menu-${uid}`);\n const overlay = ref();\n const parent = inject(VMenuSymbol, null);\n const openChildren = shallowRef(new Set());\n provide(VMenuSymbol, {\n register() {\n openChildren.value.add(uid);\n },\n unregister() {\n openChildren.value.delete(uid);\n },\n closeParents(e) {\n setTimeout(() => {\n if (!openChildren.value.size && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {\n isActive.value = false;\n parent?.closeParents();\n }\n }, 40);\n }\n });\n onBeforeUnmount(() => parent?.unregister());\n onDeactivated(() => isActive.value = false);\n async function onFocusIn(e) {\n const before = e.relatedTarget;\n const after = e.target;\n await nextTick();\n if (isActive.value && before !== after && overlay.value?.contentEl &&\n // We're the topmost menu\n overlay.value?.globalTop &&\n // It isn't the document or the menu body\n ![document, overlay.value.contentEl].includes(after) &&\n // It isn't inside the menu body\n !overlay.value.contentEl.contains(after)) {\n const focusable = focusableChildren(overlay.value.contentEl);\n focusable[0]?.focus();\n }\n }\n watch(isActive, val => {\n if (val) {\n parent?.register();\n document.addEventListener('focusin', onFocusIn, {\n once: true\n });\n } else {\n parent?.unregister();\n document.removeEventListener('focusin', onFocusIn);\n }\n });\n function onClickOutside(e) {\n parent?.closeParents(e);\n }\n function onKeydown(e) {\n if (props.disabled) return;\n if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {\n if (e.key === 'Enter' && (e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLInputElement && !!e.target.closest('form'))) return;\n if (e.key === 'Enter') e.preventDefault();\n const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);\n if (!nextElement) {\n isActive.value = false;\n overlay.value?.activatorEl?.focus();\n }\n } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {\n isActive.value = false;\n overlay.value?.activatorEl?.focus();\n }\n }\n function onActivatorKeydown(e) {\n if (props.disabled) return;\n const el = overlay.value?.contentEl;\n if (el && isActive.value) {\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n e.stopImmediatePropagation();\n focusChild(el, 'next');\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n e.stopImmediatePropagation();\n focusChild(el, 'prev');\n } else if (props.submenu) {\n if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {\n isActive.value = false;\n } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {\n e.preventDefault();\n focusChild(el, 'first');\n }\n }\n } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {\n isActive.value = true;\n e.preventDefault();\n setTimeout(() => setTimeout(() => onActivatorKeydown(e)));\n }\n }\n const activatorProps = computed(() => mergeProps({\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(isActive.value),\n 'aria-owns': id.value,\n onKeydown: onActivatorKeydown\n }, props.activatorProps));\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"id\": id.value,\n \"class\": ['v-menu', props.class],\n \"style\": props.style\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"absolute\": true,\n \"activatorProps\": activatorProps.value,\n \"location\": props.location ?? (props.submenu ? 'end' : 'bottom'),\n \"onClick:outside\": onClickOutside,\n \"onKeydown\": onKeydown\n }, scopeId), {\n activator: slots.activator,\n default: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createVNode(VDefaultsProvider, {\n \"root\": \"VMenu\"\n }, {\n default: () => [slots.default?.(...args)]\n });\n }\n });\n });\n return forwardRefs({\n id,\n ΨopenChildren: openChildren\n }, overlay);\n }\n});\n//# sourceMappingURL=VMenu.mjs.map","import { withDirectives as _withDirectives, createVNode as _createVNode, vShow as _vShow } from \"vue\";\n// Styles\nimport \"./VCounter.css\";\n\n// Components\nimport { VSlideYTransition } from \"../transitions/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVCounterProps = propsFactory({\n active: Boolean,\n disabled: Boolean,\n max: [Number, String],\n value: {\n type: [Number, String],\n default: 0\n },\n ...makeComponentProps(),\n ...makeTransitionProps({\n transition: {\n component: VSlideYTransition\n }\n })\n}, 'VCounter');\nexport const VCounter = genericComponent()({\n name: 'VCounter',\n functional: true,\n props: makeVCounterProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const counter = computed(() => {\n return props.max ? `${props.value} / ${props.max}` : String(props.value);\n });\n useRender(() => _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": ['v-counter', {\n 'text-error': props.max && !props.disabled && parseFloat(props.value) > parseFloat(props.max)\n }, props.class],\n \"style\": props.style\n }, [slots.default ? slots.default({\n counter: counter.value,\n max: props.max,\n value: props.value\n }) : counter.value]), [[_vShow, props.active]])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VCounter.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { VLabel } from \"../VLabel/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVFieldLabelProps = propsFactory({\n floating: Boolean,\n ...makeComponentProps()\n}, 'VFieldLabel');\nexport const VFieldLabel = genericComponent()({\n name: 'VFieldLabel',\n props: makeVFieldLabelProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(VLabel, {\n \"class\": ['v-field-label', {\n 'v-field-label--floating': props.floating\n }, props.class],\n \"style\": props.style,\n \"aria-hidden\": props.floating || undefined\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VFieldLabel.mjs.map","import { mergeProps as _mergeProps, Fragment as _Fragment, withDirectives as _withDirectives, vShow as _vShow, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VField.css\";\n\n// Components\nimport { VFieldLabel } from \"./VFieldLabel.mjs\";\nimport { VExpandXTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { useInputIcon } from \"../VInput/InputIcon.mjs\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeFocusProps, useFocus } from \"../../composables/focus.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { LoaderSlot, makeLoaderProps, useLoader } from \"../../composables/loader.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, ref, toRef, watch } from 'vue';\nimport { animate, convertToUnit, EventProp, genericComponent, getUid, isOn, nullifyTransforms, pick, propsFactory, standardEasing, useRender } from \"../../util/index.mjs\"; // Types\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'];\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear'\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n flat: Boolean,\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String,\n default: 'filled',\n validator: v => allowedVariants.includes(v)\n },\n 'onClick:clear': EventProp(),\n 'onClick:appendInner': EventProp(),\n 'onClick:prependInner': EventProp(),\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps()\n}, 'VField');\nexport const VField = genericComponent()({\n name: 'VField',\n inheritAttrs: false,\n props: {\n id: String,\n ...makeFocusProps(),\n ...makeVFieldProps()\n },\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n loaderClasses\n } = useLoader(props);\n const {\n focusClasses,\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const {\n InputIcon\n } = useInputIcon(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n rtlClasses\n } = useRtl();\n const isActive = computed(() => props.dirty || props.active);\n const hasLabel = computed(() => !props.singleLine && !!(props.label || slots.label));\n const uid = getUid();\n const id = computed(() => props.id || `input-${uid}`);\n const messagesId = computed(() => `${id.value}-messages`);\n const labelRef = ref();\n const floatingLabelRef = ref();\n const controlRef = ref();\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'bgColor'));\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(computed(() => {\n return props.error || props.disabled ? undefined : isActive.value && isFocused.value ? props.color : props.baseColor;\n }));\n watch(isActive, val => {\n if (hasLabel.value) {\n const el = labelRef.value.$el;\n const targetEl = floatingLabelRef.value.$el;\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el);\n const targetRect = targetEl.getBoundingClientRect();\n const x = targetRect.x - rect.x;\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2);\n const targetWidth = targetRect.width / 0.75;\n const width = Math.abs(targetWidth - rect.width) > 1 ? {\n maxWidth: convertToUnit(targetWidth)\n } : undefined;\n const style = getComputedStyle(el);\n const targetStyle = getComputedStyle(targetEl);\n const duration = parseFloat(style.transitionDuration) * 1000 || 150;\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'));\n const color = targetStyle.getPropertyValue('color');\n el.style.visibility = 'visible';\n targetEl.style.visibility = 'hidden';\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse'\n }).finished.then(() => {\n el.style.removeProperty('visibility');\n targetEl.style.removeProperty('visibility');\n });\n });\n }\n }, {\n flush: 'post'\n });\n const slotProps = computed(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus\n }));\n function onClick(e) {\n if (e.target !== document.activeElement) {\n e.preventDefault();\n }\n }\n function onKeydownClear(e) {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n e.stopPropagation();\n props['onClick:clear']?.(new MouseEvent('click'));\n }\n useRender(() => {\n const isOutlined = props.variant === 'outlined';\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon);\n const hasClear = !!(props.clearable || slots.clear);\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear);\n const label = () => slots.label ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-field', {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true\n }, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, props.style],\n \"onClick\": onClick\n }, attrs), [_createVNode(\"div\", {\n \"class\": \"v-field__overlay\"\n }, null), _createVNode(LoaderSlot, {\n \"name\": \"v-field\",\n \"active\": !!props.loading,\n \"color\": props.error ? 'error' : typeof props.loading === 'string' ? props.loading : props.color\n }, {\n default: slots.loader\n }), hasPrepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-field__prepend-inner\"\n }, [props.prependInnerIcon && _createVNode(InputIcon, {\n \"key\": \"prepend-icon\",\n \"name\": \"prependInner\"\n }, null), slots['prepend-inner']?.(slotProps.value)]), _createVNode(\"div\", {\n \"class\": \"v-field__field\",\n \"data-no-activator\": \"\"\n }, [['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasLabel.value && _createVNode(VFieldLabel, {\n \"key\": \"floating-label\",\n \"ref\": floatingLabelRef,\n \"class\": [textColorClasses.value],\n \"floating\": true,\n \"for\": id.value,\n \"style\": textColorStyles.value\n }, {\n default: () => [label()]\n }), _createVNode(VFieldLabel, {\n \"ref\": labelRef,\n \"for\": id.value\n }, {\n default: () => [label()]\n }), slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value\n },\n focus,\n blur\n })]), hasClear && _createVNode(VExpandXTransition, {\n \"key\": \"clear\"\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-field__clearable\",\n \"onMousedown\": e => {\n e.preventDefault();\n e.stopPropagation();\n }\n }, [_createVNode(VDefaultsProvider, {\n \"defaults\": {\n VIcon: {\n icon: props.clearIcon\n }\n }\n }, {\n default: () => [slots.clear ? slots.clear({\n ...slotProps.value,\n props: {\n onKeydown: onKeydownClear,\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear']\n }\n }) : _createVNode(InputIcon, {\n \"name\": \"clear\",\n \"onKeydown\": onKeydownClear,\n \"onFocus\": focus,\n \"onBlur\": blur\n }, null)]\n })]), [[_vShow, props.dirty]])]\n }), hasAppend && _createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-field__append-inner\"\n }, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && _createVNode(InputIcon, {\n \"key\": \"append-icon\",\n \"name\": \"appendInner\"\n }, null)]), _createVNode(\"div\", {\n \"class\": ['v-field__outline', textColorClasses.value],\n \"style\": textColorStyles.value\n }, [isOutlined && _createVNode(_Fragment, null, [_createVNode(\"div\", {\n \"class\": \"v-field__outline__start\"\n }, null), hasLabel.value && _createVNode(\"div\", {\n \"class\": \"v-field__outline__notch\"\n }, [_createVNode(VFieldLabel, {\n \"ref\": floatingLabelRef,\n \"floating\": true,\n \"for\": id.value\n }, {\n default: () => [label()]\n })]), _createVNode(\"div\", {\n \"class\": \"v-field__outline__end\"\n }, null)]), isPlainOrUnderlined.value && hasLabel.value && _createVNode(VFieldLabel, {\n \"ref\": floatingLabelRef,\n \"floating\": true,\n \"for\": id.value\n }, {\n default: () => [label()]\n })])]);\n });\n return {\n controlRef\n };\n }\n});\n// TODO: this is kinda slow, might be better to implicitly inherit props instead\nexport function filterFieldProps(attrs) {\n const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');\n return pick(attrs, keys);\n}\n//# sourceMappingURL=VField.mjs.map","import { Fragment as _Fragment, withDirectives as _withDirectives, createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VTextField.css\";\n\n// Components\nimport { VCounter } from \"../VCounter/VCounter.mjs\";\nimport { filterFieldProps, makeVFieldProps, VField } from \"../VField/VField.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\"; // Composables\nimport { useFocus } from \"../../composables/focus.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Directives\nimport Intersect from \"../../directives/intersect/index.mjs\"; // Utilities\nimport { cloneVNode, computed, nextTick, ref } from 'vue';\nimport { callEvent, filterInputAttrs, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nconst activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];\nexport const makeVTextFieldProps = propsFactory({\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: [Number, Function],\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n suffix: String,\n role: String,\n type: {\n type: String,\n default: 'text'\n },\n modelModifiers: Object,\n ...makeVInputProps(),\n ...makeVFieldProps()\n}, 'VTextField');\nexport const VTextField = genericComponent()({\n name: 'VTextField',\n directives: {\n Intersect\n },\n inheritAttrs: false,\n props: makeVTextFieldProps(),\n emits: {\n 'click:control': e => true,\n 'mousedown:control': e => true,\n 'update:focused': focused => true,\n 'update:modelValue': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;\n });\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength;\n if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;\n return props.counter;\n });\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));\n function onIntersect(isIntersecting, entries) {\n if (!props.autofocus || !isIntersecting) return;\n entries[0].target?.focus?.();\n }\n const vInputRef = ref();\n const vFieldRef = ref();\n const inputRef = ref();\n const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);\n function onFocus() {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus();\n }\n if (!isFocused.value) focus();\n }\n function onControlMousedown(e) {\n emit('mousedown:control', e);\n if (e.target === inputRef.value) return;\n onFocus();\n e.preventDefault();\n }\n function onControlClick(e) {\n onFocus();\n emit('click:control', e);\n }\n function onClear(e) {\n e.stopPropagation();\n onFocus();\n nextTick(() => {\n model.value = null;\n callEvent(props['onClick:clear'], e);\n });\n }\n function onInput(e) {\n const el = e.target;\n model.value = el.value;\n if (props.modelModifiers?.trim && ['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {\n const caretPosition = [el.selectionStart, el.selectionEnd];\n nextTick(() => {\n el.selectionStart = caretPosition[0];\n el.selectionEnd = caretPosition[1];\n });\n }\n }\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter !== false && props.counter != null);\n const hasDetails = !!(hasCounter || slots.details);\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const {\n modelValue: _,\n ...inputProps\n } = VInput.filterProps(props);\n const fieldProps = filterFieldProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": vInputRef,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-text-field', {\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-input--plain-underlined': isPlainOrUnderlined.value\n }, props.class],\n \"style\": props.style\n }, rootAttrs, inputProps, {\n \"centerAffix\": !isPlainOrUnderlined.value,\n \"focused\": isFocused.value\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid\n } = _ref2;\n return _createVNode(VField, _mergeProps({\n \"ref\": vFieldRef,\n \"onMousedown\": onControlMousedown,\n \"onClick\": onControlClick,\n \"onClick:clear\": onClear,\n \"onClick:prependInner\": props['onClick:prependInner'],\n \"onClick:appendInner\": props['onClick:appendInner'],\n \"role\": props.role\n }, fieldProps, {\n \"id\": id.value,\n \"active\": isActive.value || isDirty.value,\n \"dirty\": isDirty.value || props.dirty,\n \"disabled\": isDisabled.value,\n \"focused\": isFocused.value,\n \"error\": isValid.value === false\n }), {\n ...slots,\n default: _ref3 => {\n let {\n props: {\n class: fieldClass,\n ...slotProps\n }\n } = _ref3;\n const inputNode = _withDirectives(_createVNode(\"input\", _mergeProps({\n \"ref\": inputRef,\n \"value\": model.value,\n \"onInput\": onInput,\n \"autofocus\": props.autofocus,\n \"readonly\": isReadonly.value,\n \"disabled\": isDisabled.value,\n \"name\": props.name,\n \"placeholder\": props.placeholder,\n \"size\": 1,\n \"type\": props.type,\n \"onFocus\": onFocus,\n \"onBlur\": blur\n }, slotProps, inputAttrs), null), [[_resolveDirective(\"intersect\"), {\n handler: onIntersect\n }, null, {\n once: true\n }]]);\n return _createVNode(_Fragment, null, [props.prefix && _createVNode(\"span\", {\n \"class\": \"v-text-field__prefix\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-text-field__prefix__text\"\n }, [props.prefix])]), slots.default ? _createVNode(\"div\", {\n \"class\": fieldClass,\n \"data-no-activator\": \"\"\n }, [slots.default(), inputNode]) : cloneVNode(inputNode, {\n class: fieldClass\n }), props.suffix && _createVNode(\"span\", {\n \"class\": \"v-text-field__suffix\"\n }, [_createVNode(\"span\", {\n \"class\": \"v-text-field__suffix__text\"\n }, [props.suffix])])]);\n }\n });\n },\n details: hasDetails ? slotProps => _createVNode(_Fragment, null, [slots.details?.(slotProps), hasCounter && _createVNode(_Fragment, null, [_createVNode(\"span\", null, null), _createVNode(VCounter, {\n \"active\": props.persistentCounter || isFocused.value,\n \"value\": counterValue.value,\n \"max\": max.value,\n \"disabled\": props.disabled\n }, slots.counter)])]) : undefined\n });\n });\n return forwardRefs({}, vInputRef, vFieldRef, inputRef);\n }\n});\n//# sourceMappingURL=VTextField.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\"; // Utilities\nimport { watch } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVVirtualScrollItemProps = propsFactory({\n renderless: Boolean,\n ...makeComponentProps()\n}, 'VVirtualScrollItem');\nexport const VVirtualScrollItem = genericComponent()({\n name: 'VVirtualScrollItem',\n inheritAttrs: false,\n props: makeVVirtualScrollItemProps(),\n emits: {\n 'update:height': height => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n resizeRef,\n contentRect\n } = useResizeObserver(undefined, 'border');\n watch(() => contentRect.value?.height, height => {\n if (height != null) emit('update:height', height);\n });\n useRender(() => props.renderless ? _createVNode(_Fragment, null, [slots.default?.({\n itemRef: resizeRef\n })]) : _createVNode(\"div\", _mergeProps({\n \"ref\": resizeRef,\n \"class\": ['v-virtual-scroll__item', props.class],\n \"style\": props.style\n }, attrs), [slots.default?.()]));\n }\n});\n//# sourceMappingURL=VVirtualScrollItem.mjs.map","// Composables\nimport { useDisplay } from \"./display.mjs\";\nimport { useResizeObserver } from \"./resizeObserver.mjs\"; // Utilities\nimport { computed, nextTick, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue';\nimport { clamp, debounce, IN_BROWSER, propsFactory } from \"../util/index.mjs\"; // Types\nconst UP = -1;\nconst DOWN = 1;\n\n/** Determines how large each batch of items should be */\nconst BUFFER_PX = 100;\nexport const makeVirtualProps = propsFactory({\n itemHeight: {\n type: [Number, String],\n default: null\n },\n height: [Number, String]\n}, 'virtual');\nexport function useVirtual(props, items) {\n const display = useDisplay();\n const itemHeight = shallowRef(0);\n watchEffect(() => {\n itemHeight.value = parseFloat(props.itemHeight || 0);\n });\n const first = shallowRef(0);\n const last = shallowRef(Math.ceil(\n // Assume 16px items filling the entire screen height if\n // not provided. This is probably incorrect but it minimises\n // the chance of ending up with empty space at the bottom.\n // The default value is set here to avoid poisoning getSize()\n (parseInt(props.height) || display.height.value) / (itemHeight.value || 16)) || 1);\n const paddingTop = shallowRef(0);\n const paddingBottom = shallowRef(0);\n\n /** The scrollable element */\n const containerRef = ref();\n /** An element marking the top of the scrollable area,\n * used to add an offset if there's padding or other elements above the virtual list */\n const markerRef = ref();\n /** markerRef's offsetTop, lazily evaluated */\n let markerOffset = 0;\n const {\n resizeRef,\n contentRect\n } = useResizeObserver();\n watchEffect(() => {\n resizeRef.value = containerRef.value;\n });\n const viewportHeight = computed(() => {\n return containerRef.value === document.documentElement ? display.height.value : contentRect.value?.height || parseInt(props.height) || 0;\n });\n /** All static elements have been rendered and we have an assumed item height */\n const hasInitialRender = computed(() => {\n return !!(containerRef.value && markerRef.value && viewportHeight.value && itemHeight.value);\n });\n let sizes = Array.from({\n length: items.value.length\n });\n let offsets = Array.from({\n length: items.value.length\n });\n const updateTime = shallowRef(0);\n let targetScrollIndex = -1;\n function getSize(index) {\n return sizes[index] || itemHeight.value;\n }\n const updateOffsets = debounce(() => {\n const start = performance.now();\n offsets[0] = 0;\n const length = items.value.length;\n for (let i = 1; i <= length - 1; i++) {\n offsets[i] = (offsets[i - 1] || 0) + getSize(i - 1);\n }\n updateTime.value = Math.max(updateTime.value, performance.now() - start);\n }, updateTime);\n const unwatch = watch(hasInitialRender, v => {\n if (!v) return;\n // First render is complete, update offsets and visible\n // items in case our assumed item height was incorrect\n\n unwatch();\n markerOffset = markerRef.value.offsetTop;\n updateOffsets.immediate();\n calculateVisibleItems();\n if (!~targetScrollIndex) return;\n nextTick(() => {\n IN_BROWSER && window.requestAnimationFrame(() => {\n scrollToIndex(targetScrollIndex);\n targetScrollIndex = -1;\n });\n });\n });\n onScopeDispose(() => {\n updateOffsets.clear();\n });\n function handleItemResize(index, height) {\n const prevHeight = sizes[index];\n const prevMinHeight = itemHeight.value;\n itemHeight.value = prevMinHeight ? Math.min(itemHeight.value, height) : height;\n if (prevHeight !== height || prevMinHeight !== itemHeight.value) {\n sizes[index] = height;\n updateOffsets();\n }\n }\n function calculateOffset(index) {\n index = clamp(index, 0, items.value.length - 1);\n return offsets[index] || 0;\n }\n function calculateIndex(scrollTop) {\n return binaryClosest(offsets, scrollTop);\n }\n let lastScrollTop = 0;\n let scrollVelocity = 0;\n let lastScrollTime = 0;\n watch(viewportHeight, (val, oldVal) => {\n if (oldVal) {\n calculateVisibleItems();\n if (val < oldVal) {\n requestAnimationFrame(() => {\n scrollVelocity = 0;\n calculateVisibleItems();\n });\n }\n }\n });\n function handleScroll() {\n if (!containerRef.value || !markerRef.value) return;\n const scrollTop = containerRef.value.scrollTop;\n const scrollTime = performance.now();\n const scrollDeltaT = scrollTime - lastScrollTime;\n if (scrollDeltaT > 500) {\n scrollVelocity = Math.sign(scrollTop - lastScrollTop);\n\n // Not super important, only update at the\n // start of a scroll sequence to avoid reflows\n markerOffset = markerRef.value.offsetTop;\n } else {\n scrollVelocity = scrollTop - lastScrollTop;\n }\n lastScrollTop = scrollTop;\n lastScrollTime = scrollTime;\n calculateVisibleItems();\n }\n function handleScrollend() {\n if (!containerRef.value || !markerRef.value) return;\n scrollVelocity = 0;\n lastScrollTime = 0;\n calculateVisibleItems();\n }\n let raf = -1;\n function calculateVisibleItems() {\n cancelAnimationFrame(raf);\n raf = requestAnimationFrame(_calculateVisibleItems);\n }\n function _calculateVisibleItems() {\n if (!containerRef.value || !viewportHeight.value) return;\n const scrollTop = lastScrollTop - markerOffset;\n const direction = Math.sign(scrollVelocity);\n const startPx = Math.max(0, scrollTop - BUFFER_PX);\n const start = clamp(calculateIndex(startPx), 0, items.value.length);\n const endPx = scrollTop + viewportHeight.value + BUFFER_PX;\n const end = clamp(calculateIndex(endPx) + 1, start + 1, items.value.length);\n if (\n // Only update the side we're scrolling towards,\n // the other side will be updated incidentally\n (direction !== UP || start < first.value) && (direction !== DOWN || end > last.value)) {\n const topOverflow = calculateOffset(first.value) - calculateOffset(start);\n const bottomOverflow = calculateOffset(end) - calculateOffset(last.value);\n const bufferOverflow = Math.max(topOverflow, bottomOverflow);\n if (bufferOverflow > BUFFER_PX) {\n first.value = start;\n last.value = end;\n } else {\n // Only update the side that's reached its limit if there's still buffer left\n if (start <= 0) first.value = start;\n if (end >= items.value.length) last.value = end;\n }\n }\n paddingTop.value = calculateOffset(first.value);\n paddingBottom.value = calculateOffset(items.value.length) - calculateOffset(last.value);\n }\n function scrollToIndex(index) {\n const offset = calculateOffset(index);\n if (!containerRef.value || index && !offset) {\n targetScrollIndex = index;\n } else {\n containerRef.value.scrollTop = offset;\n }\n }\n const computedItems = computed(() => {\n return items.value.slice(first.value, last.value).map((item, index) => ({\n raw: item,\n index: index + first.value\n }));\n });\n watch(items, () => {\n sizes = Array.from({\n length: items.value.length\n });\n offsets = Array.from({\n length: items.value.length\n });\n updateOffsets.immediate();\n calculateVisibleItems();\n }, {\n deep: true\n });\n return {\n calculateVisibleItems,\n containerRef,\n markerRef,\n computedItems,\n paddingTop,\n paddingBottom,\n scrollToIndex,\n handleScroll,\n handleScrollend,\n handleItemResize\n };\n}\n\n// https://gist.github.com/robertleeplummerjr/1cc657191d34ecd0a324\nfunction binaryClosest(arr, val) {\n let high = arr.length - 1;\n let low = 0;\n let mid = 0;\n let item = null;\n let target = -1;\n if (arr[high] < val) {\n return high;\n }\n while (low <= high) {\n mid = low + high >> 1;\n item = arr[mid];\n if (item > val) {\n high = mid - 1;\n } else if (item < val) {\n target = mid;\n low = mid + 1;\n } else if (item === val) {\n return mid;\n } else {\n return low;\n }\n }\n return target;\n}\n//# sourceMappingURL=virtual.mjs.map","import { Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VVirtualScroll.css\";\n\n// Components\nimport { VVirtualScrollItem } from \"./VVirtualScrollItem.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { makeVirtualProps, useVirtual } from \"../../composables/virtual.mjs\"; // Utilities\nimport { onMounted, onScopeDispose, toRef } from 'vue';\nimport { convertToUnit, genericComponent, getCurrentInstance, getScrollParent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array,\n default: () => []\n },\n renderless: Boolean,\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps()\n}, 'VVirtualScroll');\nexport const VVirtualScroll = genericComponent()({\n name: 'VVirtualScroll',\n props: makeVVirtualScrollProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const vm = getCurrentInstance('VVirtualScroll');\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n calculateVisibleItems,\n containerRef,\n markerRef,\n handleScroll,\n handleScrollend,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems\n } = useVirtual(props, toRef(props, 'items'));\n useToggleScope(() => props.renderless, () => {\n function handleListeners() {\n let add = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n const method = add ? 'addEventListener' : 'removeEventListener';\n if (containerRef.value === document.documentElement) {\n document[method]('scroll', handleScroll, {\n passive: true\n });\n document[method]('scrollend', handleScrollend);\n } else {\n containerRef.value?.[method]('scroll', handleScroll, {\n passive: true\n });\n containerRef.value?.[method]('scrollend', handleScrollend);\n }\n }\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el, true);\n handleListeners(true);\n });\n onScopeDispose(handleListeners);\n });\n useRender(() => {\n const children = computedItems.value.map(item => _createVNode(VVirtualScrollItem, {\n \"key\": item.index,\n \"renderless\": props.renderless,\n \"onUpdate:height\": height => handleItemResize(item.index, height)\n }, {\n default: slotProps => slots.default?.({\n item: item.raw,\n index: item.index,\n ...slotProps\n })\n }));\n return props.renderless ? _createVNode(_Fragment, null, [_createVNode(\"div\", {\n \"ref\": markerRef,\n \"class\": \"v-virtual-scroll__spacer\",\n \"style\": {\n paddingTop: convertToUnit(paddingTop.value)\n }\n }, null), children, _createVNode(\"div\", {\n \"class\": \"v-virtual-scroll__spacer\",\n \"style\": {\n paddingBottom: convertToUnit(paddingBottom.value)\n }\n }, null)]) : _createVNode(\"div\", {\n \"ref\": containerRef,\n \"class\": ['v-virtual-scroll', props.class],\n \"onScrollPassive\": handleScroll,\n \"onScrollend\": handleScrollend,\n \"style\": [dimensionStyles.value, props.style]\n }, [_createVNode(\"div\", {\n \"ref\": markerRef,\n \"class\": \"v-virtual-scroll__container\",\n \"style\": {\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value)\n }\n }, [children])]);\n });\n return {\n calculateVisibleItems,\n scrollToIndex\n };\n }\n});\n//# sourceMappingURL=VVirtualScroll.mjs.map","// Utilities\nimport { shallowRef, watch } from 'vue';\n\n// Types\n\nexport function useScrolling(listRef, textFieldRef) {\n const isScrolling = shallowRef(false);\n let scrollTimeout;\n function onListScroll(e) {\n cancelAnimationFrame(scrollTimeout);\n isScrolling.value = true;\n scrollTimeout = requestAnimationFrame(() => {\n scrollTimeout = requestAnimationFrame(() => {\n isScrolling.value = false;\n });\n });\n }\n async function finishScrolling() {\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => requestAnimationFrame(resolve));\n await new Promise(resolve => {\n if (isScrolling.value) {\n const stop = watch(isScrolling, () => {\n stop();\n resolve();\n });\n } else resolve();\n });\n }\n async function onListKeydown(e) {\n if (e.key === 'Tab') {\n textFieldRef.value?.focus();\n }\n if (!['PageDown', 'PageUp', 'Home', 'End'].includes(e.key)) return;\n const el = listRef.value?.$el;\n if (!el) return;\n if (e.key === 'Home' || e.key === 'End') {\n el.scrollTo({\n top: e.key === 'Home' ? 0 : el.scrollHeight,\n behavior: 'smooth'\n });\n }\n await finishScrolling();\n const children = el.querySelectorAll(':scope > :not(.v-virtual-scroll__spacer)');\n if (e.key === 'PageDown' || e.key === 'Home') {\n const top = el.getBoundingClientRect().top;\n for (const child of children) {\n if (child.getBoundingClientRect().top >= top) {\n child.focus();\n break;\n }\n }\n } else {\n const bottom = el.getBoundingClientRect().bottom;\n for (const child of [...children].reverse()) {\n if (child.getBoundingClientRect().bottom <= bottom) {\n child.focus();\n break;\n }\n }\n }\n }\n return {\n onScrollPassive: onListScroll,\n onKeydown: onListKeydown\n }; // typescript doesn't know about vue's event merging\n}\n//# sourceMappingURL=useScrolling.mjs.map","import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VSelect.css\";\n\n// Components\nimport { VDialogTransition } from \"../transitions/index.mjs\";\nimport { VAvatar } from \"../VAvatar/index.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.mjs\";\nimport { VChip } from \"../VChip/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VList, VListItem } from \"../VList/index.mjs\";\nimport { VMenu } from \"../VMenu/index.mjs\";\nimport { makeVTextFieldProps, VTextField } from \"../VTextField/VTextField.mjs\";\nimport { VVirtualScroll } from \"../VVirtualScroll/index.mjs\"; // Composables\nimport { useScrolling } from \"./useScrolling.mjs\";\nimport { useForm } from \"../../composables/form.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeItemsProps, useItems } from \"../../composables/list-items.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeTransitionProps } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue';\nimport { checkPrintable, ensureValidVNode, genericComponent, IN_BROWSER, matchesSelector, omit, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nexport const makeSelectProps = propsFactory({\n chips: Boolean,\n closableChips: Boolean,\n closeText: {\n type: String,\n default: '$vuetify.close'\n },\n openText: {\n type: String,\n default: '$vuetify.open'\n },\n eager: Boolean,\n hideNoData: Boolean,\n hideSelected: Boolean,\n listProps: {\n type: Object\n },\n menu: Boolean,\n menuIcon: {\n type: IconValue,\n default: '$dropdown'\n },\n menuProps: {\n type: Object\n },\n multiple: Boolean,\n noDataText: {\n type: String,\n default: '$vuetify.noDataText'\n },\n openOnClear: Boolean,\n itemColor: String,\n ...makeItemsProps({\n itemChildren: false\n })\n}, 'Select');\nexport const makeVSelectProps = propsFactory({\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox'\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({\n transition: {\n component: VDialogTransition\n }\n })\n}, 'VSelect');\nexport const VSelect = genericComponent()({\n name: 'VSelect',\n props: makeVSelectProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true,\n 'update:menu': ue => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const vTextFieldRef = ref();\n const vMenuRef = ref();\n const vVirtualScrollRef = ref();\n const _menu = useProxiedModel(props, 'menu');\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;\n _menu.value = v;\n }\n });\n const {\n items,\n transformIn,\n transformOut\n } = useItems(props);\n const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {\n const transformed = transformOut(v);\n return props.multiple ? transformed : transformed[0] ?? null;\n });\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;\n });\n const form = useForm();\n const selectedValues = computed(() => model.value.map(selection => selection.value));\n const isFocused = shallowRef(false);\n const label = computed(() => menu.value ? props.closeText : props.openText);\n let keyboardLookupPrefix = '';\n let keyboardLookupLastTime;\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return items.value.filter(item => !model.value.some(s => props.valueComparator(s, item)));\n }\n return items.value;\n });\n const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);\n const computedMenuProps = computed(() => {\n return {\n ...props.menuProps,\n activatorProps: {\n ...(props.menuProps?.activatorProps || {}),\n 'aria-haspopup': 'listbox' // Set aria-haspopup to 'listbox'\n }\n };\n });\n const listRef = ref();\n const listEvents = useScrolling(listRef, vTextFieldRef);\n function onClear(e) {\n if (props.openOnClear) {\n menu.value = true;\n }\n }\n function onMousedownControl() {\n if (menuDisabled.value) return;\n menu.value = !menu.value;\n }\n function onListKeydown(e) {\n if (checkPrintable(e)) {\n onKeydown(e);\n }\n }\n function onKeydown(e) {\n if (!e.key || props.readonly || form?.isReadonly.value) return;\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {\n e.preventDefault();\n }\n if (['Enter', 'ArrowDown', ' '].includes(e.key)) {\n menu.value = true;\n }\n if (['Escape', 'Tab'].includes(e.key)) {\n menu.value = false;\n }\n if (e.key === 'Home') {\n listRef.value?.focus('first');\n } else if (e.key === 'End') {\n listRef.value?.focus('last');\n }\n\n // html select hotkeys\n const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds\n\n if (props.multiple || !checkPrintable(e)) return;\n const now = performance.now();\n if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n keyboardLookupPrefix = '';\n }\n keyboardLookupPrefix += e.key.toLowerCase();\n keyboardLookupLastTime = now;\n const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));\n if (item !== undefined) {\n model.value = [item];\n const index = displayItems.value.indexOf(item);\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n }\n\n /** @param set - null means toggle */\n function select(item) {\n let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (item.props.disabled) return;\n if (props.multiple) {\n const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));\n const add = set == null ? !~index : set;\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n nextTick(() => {\n menu.value = false;\n });\n }\n }\n function onBlur(e) {\n if (!listRef.value?.$el.contains(e.relatedTarget)) {\n menu.value = false;\n }\n }\n function onAfterEnter() {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems();\n }\n }\n function onAfterLeave() {\n if (isFocused.value) {\n vTextFieldRef.value?.focus();\n }\n }\n function onFocusin(e) {\n isFocused.value = true;\n }\n function onModelUpdate(v) {\n if (v == null) model.value = [];else if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === v);\n if (item) {\n select(item);\n }\n } else if (vTextFieldRef.value) {\n vTextFieldRef.value.value = '';\n }\n }\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n });\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return;\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true;\n }\n });\n useRender(() => {\n const hasChips = !!(props.chips || slots.chip);\n const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);\n const isDirty = model.value.length > 0;\n const textFieldProps = VTextField.filterProps(props);\n const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;\n return _createVNode(VTextField, _mergeProps({\n \"ref\": vTextFieldRef\n }, textFieldProps, {\n \"modelValue\": model.value.map(v => v.props.value).join(', '),\n \"onUpdate:modelValue\": onModelUpdate,\n \"focused\": isFocused.value,\n \"onUpdate:focused\": $event => isFocused.value = $event,\n \"validationValue\": model.externalValue,\n \"counterValue\": counterValue.value,\n \"dirty\": isDirty,\n \"class\": ['v-select', {\n 'v-select--active-menu': menu.value,\n 'v-select--chips': !!props.chips,\n [`v-select--${props.multiple ? 'multiple' : 'single'}`]: true,\n 'v-select--selected': model.value.length,\n 'v-select--selection-slot': !!slots.selection\n }, props.class],\n \"style\": props.style,\n \"inputmode\": \"none\",\n \"placeholder\": placeholder,\n \"onClick:clear\": onClear,\n \"onMousedown:control\": onMousedownControl,\n \"onBlur\": onBlur,\n \"onKeydown\": onKeydown,\n \"aria-label\": t(label.value),\n \"title\": t(label.value)\n }), {\n ...slots,\n default: () => _createVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({\n \"ref\": vMenuRef,\n \"modelValue\": menu.value,\n \"onUpdate:modelValue\": $event => menu.value = $event,\n \"activator\": \"parent\",\n \"contentClass\": \"v-select__content\",\n \"disabled\": menuDisabled.value,\n \"eager\": props.eager,\n \"maxHeight\": 310,\n \"openOnClick\": false,\n \"closeOnContentClick\": false,\n \"transition\": props.transition,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, computedMenuProps.value), {\n default: () => [hasList && _createVNode(VList, _mergeProps({\n \"ref\": listRef,\n \"selected\": selectedValues.value,\n \"selectStrategy\": props.multiple ? 'independent' : 'single-independent',\n \"onMousedown\": e => e.preventDefault(),\n \"onKeydown\": onListKeydown,\n \"onFocusin\": onFocusin,\n \"tabindex\": \"-1\",\n \"aria-live\": \"polite\",\n \"color\": props.itemColor ?? props.color\n }, listEvents, props.listProps), {\n default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? _createVNode(VListItem, {\n \"title\": t(props.noDataText)\n }, null)), _createVNode(VVirtualScroll, {\n \"ref\": vVirtualScrollRef,\n \"renderless\": true,\n \"items\": displayItems.value\n }, {\n default: _ref2 => {\n let {\n item,\n index,\n itemRef\n } = _ref2;\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n onClick: () => select(item, null)\n });\n return slots.item?.({\n item,\n index,\n props: itemProps\n }) ?? _createVNode(VListItem, _mergeProps(itemProps, {\n \"role\": \"option\"\n }), {\n prepend: _ref3 => {\n let {\n isSelected\n } = _ref3;\n return _createVNode(_Fragment, null, [props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {\n \"key\": item.value,\n \"modelValue\": isSelected,\n \"ripple\": false,\n \"tabindex\": \"-1\"\n }, null) : undefined, item.props.prependAvatar && _createVNode(VAvatar, {\n \"image\": item.props.prependAvatar\n }, null), item.props.prependIcon && _createVNode(VIcon, {\n \"icon\": item.props.prependIcon\n }, null)]);\n }\n });\n }\n }), slots['append-item']?.()]\n })]\n }), model.value.map((item, index) => {\n function onChipClose(e) {\n e.stopPropagation();\n e.preventDefault();\n select(item, false);\n }\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown(e) {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n e.stopPropagation();\n onChipClose(e);\n },\n onMousedown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined\n };\n const hasSlot = hasChips ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({\n item,\n index,\n props: slotProps\n }) : slots.selection({\n item,\n index\n })) : undefined;\n if (hasSlot && !slotContent) return undefined;\n return _createVNode(\"div\", {\n \"key\": item.value,\n \"class\": \"v-select__selection\"\n }, [hasChips ? !slots.chip ? _createVNode(VChip, _mergeProps({\n \"key\": \"chip\",\n \"closable\": props.closableChips,\n \"size\": \"small\",\n \"text\": item.title,\n \"disabled\": item.props.disabled\n }, slotProps), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"chip-defaults\",\n \"defaults\": {\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title\n }\n }\n }, {\n default: () => [slotContent]\n }) : slotContent ?? _createVNode(\"span\", {\n \"class\": \"v-select__selection-text\"\n }, [item.title, props.multiple && index < model.value.length - 1 && _createVNode(\"span\", {\n \"class\": \"v-select__selection-comma\"\n }, [_createTextVNode(\",\")])])]);\n })]),\n 'append-inner': function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createVNode(_Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? _createVNode(VIcon, {\n \"class\": \"v-select__menu-icon\",\n \"icon\": props.menuIcon\n }, null) : undefined]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n menu,\n select\n }, vTextFieldRef);\n }\n});\n//# sourceMappingURL=VSelect.mjs.map","/* eslint-disable max-statements */\n/* eslint-disable no-labels */\n\n// Utilities\nimport { computed, ref, unref, watchEffect } from 'vue';\nimport { getPropertyFromItem, propsFactory, wrapInArray } from \"../util/index.mjs\"; // Types\n/**\n * - match without highlight\n * - single match (index), length already known\n * - single match (start, end)\n * - multiple matches (start, end), probably shouldn't overlap\n */\n// Composables\nexport const defaultFilter = (value, query, item) => {\n if (value == null || query == null) return -1;\n return value.toString().toLocaleLowerCase().indexOf(query.toString().toLocaleLowerCase());\n};\nexport const makeFilterProps = propsFactory({\n customFilter: Function,\n customKeyFilter: Object,\n filterKeys: [Array, String],\n filterMode: {\n type: String,\n default: 'intersection'\n },\n noFilter: Boolean\n}, 'filter');\nexport function filterItems(items, query, options) {\n const array = [];\n // always ensure we fall back to a functioning filter\n const filter = options?.default ?? defaultFilter;\n const keys = options?.filterKeys ? wrapInArray(options.filterKeys) : false;\n const customFiltersLength = Object.keys(options?.customKeyFilter ?? {}).length;\n if (!items?.length) return array;\n loop: for (let i = 0; i < items.length; i++) {\n const [item, transformed = item] = wrapInArray(items[i]);\n const customMatches = {};\n const defaultMatches = {};\n let match = -1;\n if ((query || customFiltersLength > 0) && !options?.noFilter) {\n if (typeof item === 'object') {\n const filterKeys = keys || Object.keys(transformed);\n for (const key of filterKeys) {\n const value = getPropertyFromItem(transformed, key);\n const keyFilter = options?.customKeyFilter?.[key];\n match = keyFilter ? keyFilter(value, query, item) : filter(value, query, item);\n if (match !== -1 && match !== false) {\n if (keyFilter) customMatches[key] = match;else defaultMatches[key] = match;\n } else if (options?.filterMode === 'every') {\n continue loop;\n }\n }\n } else {\n match = filter(item, query, item);\n if (match !== -1 && match !== false) {\n defaultMatches.title = match;\n }\n }\n const defaultMatchesLength = Object.keys(defaultMatches).length;\n const customMatchesLength = Object.keys(customMatches).length;\n if (!defaultMatchesLength && !customMatchesLength) continue;\n if (options?.filterMode === 'union' && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue;\n if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength)) continue;\n }\n array.push({\n index: i,\n matches: {\n ...defaultMatches,\n ...customMatches\n }\n });\n }\n return array;\n}\nexport function useFilter(props, items, query, options) {\n const filteredItems = ref([]);\n const filteredMatches = ref(new Map());\n const transformedItems = computed(() => options?.transform ? unref(items).map(item => [item, options.transform(item)]) : unref(items));\n watchEffect(() => {\n const _query = typeof query === 'function' ? query() : unref(query);\n const strQuery = typeof _query !== 'string' && typeof _query !== 'number' ? '' : String(_query);\n const results = filterItems(transformedItems.value, strQuery, {\n customKeyFilter: {\n ...props.customKeyFilter,\n ...unref(options?.customKeyFilter)\n },\n default: props.customFilter,\n filterKeys: props.filterKeys,\n filterMode: props.filterMode,\n noFilter: props.noFilter\n });\n const originalItems = unref(items);\n const _filteredItems = [];\n const _filteredMatches = new Map();\n results.forEach(_ref => {\n let {\n index,\n matches\n } = _ref;\n const item = originalItems[index];\n _filteredItems.push(item);\n _filteredMatches.set(item.value, matches);\n });\n filteredItems.value = _filteredItems;\n filteredMatches.value = _filteredMatches;\n });\n function getMatches(item) {\n return filteredMatches.value.get(item.value);\n }\n return {\n filteredItems,\n filteredMatches,\n getMatches\n };\n}\n//# sourceMappingURL=filter.mjs.map","import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VAutocomplete.css\";\n\n// Components\nimport { VAvatar } from \"../VAvatar/index.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.mjs\";\nimport { VChip } from \"../VChip/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VList, VListItem } from \"../VList/index.mjs\";\nimport { VMenu } from \"../VMenu/index.mjs\";\nimport { makeSelectProps } from \"../VSelect/VSelect.mjs\";\nimport { makeVTextFieldProps, VTextField } from \"../VTextField/VTextField.mjs\";\nimport { VVirtualScroll } from \"../VVirtualScroll/index.mjs\"; // Composables\nimport { useScrolling } from \"../VSelect/useScrolling.mjs\";\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeFilterProps, useFilter } from \"../../composables/filter.mjs\";\nimport { useForm } from \"../../composables/form.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useItems } from \"../../composables/list-items.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeTransitionProps } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue';\nimport { checkPrintable, ensureValidVNode, genericComponent, IN_BROWSER, matchesSelector, noop, omit, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nfunction highlightResult(text, matches, length) {\n if (matches == null) return text;\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented');\n return typeof matches === 'number' && ~matches ? _createVNode(_Fragment, null, [_createVNode(\"span\", {\n \"class\": \"v-autocomplete__unmask\"\n }, [text.substr(0, matches)]), _createVNode(\"span\", {\n \"class\": \"v-autocomplete__mask\"\n }, [text.substr(matches, length)]), _createVNode(\"span\", {\n \"class\": \"v-autocomplete__unmask\"\n }, [text.substr(matches + length)])]) : text;\n}\nexport const makeVAutocompleteProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String]\n },\n clearOnSelect: Boolean,\n search: String,\n ...makeFilterProps({\n filterKeys: ['title']\n }),\n ...makeSelectProps(),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox'\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({\n transition: false\n })\n}, 'VAutocomplete');\nexport const VAutocomplete = genericComponent()({\n name: 'VAutocomplete',\n props: makeVAutocompleteProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:search': value => true,\n 'update:modelValue': value => true,\n 'update:menu': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const vTextFieldRef = ref();\n const isFocused = shallowRef(false);\n const isPristine = shallowRef(true);\n const listHasFocus = shallowRef(false);\n const vMenuRef = ref();\n const vVirtualScrollRef = ref();\n const _menu = useProxiedModel(props, 'menu');\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;\n _menu.value = v;\n }\n });\n const selectionIndex = shallowRef(-1);\n const color = computed(() => vTextFieldRef.value?.color);\n const label = computed(() => menu.value ? props.closeText : props.openText);\n const {\n items,\n transformIn,\n transformOut\n } = useItems(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(color);\n const search = useProxiedModel(props, 'search', '');\n const model = useProxiedModel(props, 'modelValue', [], v => transformIn(v === null ? [null] : wrapInArray(v)), v => {\n const transformed = transformOut(v);\n return props.multiple ? transformed : transformed[0] ?? null;\n });\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;\n });\n const form = useForm();\n const {\n filteredItems,\n getMatches\n } = useFilter(props, items, () => isPristine.value ? '' : search.value);\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));\n }\n return filteredItems.value;\n });\n const hasChips = computed(() => !!(props.chips || slots.chip));\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);\n const selectedValues = computed(() => model.value.map(selection => selection.props.value));\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;\n return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;\n });\n const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);\n const listRef = ref();\n const listEvents = useScrolling(listRef, vTextFieldRef);\n function onClear(e) {\n if (props.openOnClear) {\n menu.value = true;\n }\n search.value = '';\n }\n function onMousedownControl() {\n if (menuDisabled.value) return;\n menu.value = true;\n }\n function onMousedownMenuIcon(e) {\n if (menuDisabled.value) return;\n if (isFocused.value) {\n e.preventDefault();\n e.stopPropagation();\n }\n menu.value = !menu.value;\n }\n function onListKeydown(e) {\n if (checkPrintable(e)) {\n vTextFieldRef.value?.focus();\n }\n }\n function onKeydown(e) {\n if (props.readonly || form?.isReadonly.value) return;\n const selectionStart = vTextFieldRef.value.selectionStart;\n const length = model.value.length;\n if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n }\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true;\n }\n if (['Escape'].includes(e.key)) {\n menu.value = false;\n }\n if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key) && !model.value.some(_ref2 => {\n let {\n value\n } = _ref2;\n return value === displayItems.value[0].value;\n })) {\n select(displayItems.value[0]);\n }\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next');\n }\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);\n if (~selectionIndex.value) {\n const originalSelectionIndex = selectionIndex.value;\n select(model.value[selectionIndex.value], false);\n selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1;\n }\n }\n if (!props.multiple) return;\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return;\n const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1;\n if (model.value[prev]) {\n selectionIndex.value = prev;\n } else {\n selectionIndex.value = -1;\n vTextFieldRef.value.setSelectionRange(search.value?.length, search.value?.length);\n }\n }\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return;\n const next = selectionIndex.value + 1;\n if (model.value[next]) {\n selectionIndex.value = next;\n } else {\n selectionIndex.value = -1;\n vTextFieldRef.value.setSelectionRange(0, 0);\n }\n }\n }\n function onChange(e) {\n if (matchesSelector(vTextFieldRef.value, ':autofill') || matchesSelector(vTextFieldRef.value, ':-webkit-autofill')) {\n const item = items.value.find(item => item.title === e.target.value);\n if (item) {\n select(item);\n }\n }\n }\n function onAfterEnter() {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems();\n }\n }\n function onAfterLeave() {\n if (isFocused.value) {\n isPristine.value = true;\n vTextFieldRef.value?.focus();\n }\n }\n function onFocusin(e) {\n isFocused.value = true;\n setTimeout(() => {\n listHasFocus.value = true;\n });\n }\n function onFocusout(e) {\n listHasFocus.value = false;\n }\n function onUpdateModelValue(v) {\n if (v == null || v === '' && !props.multiple && !hasSelectionSlot.value) model.value = [];\n }\n const isSelecting = shallowRef(false);\n\n /** @param set - null means toggle */\n function select(item) {\n let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!item || item.props.disabled) return;\n if (props.multiple) {\n const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));\n const add = set == null ? !~index : set;\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n if (props.clearOnSelect) {\n search.value = '';\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n search.value = add && !hasSelectionSlot.value ? item.title : '';\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false;\n isPristine.value = true;\n });\n }\n }\n watch(isFocused, (val, oldVal) => {\n if (val === oldVal) return;\n if (val) {\n isSelecting.value = true;\n search.value = props.multiple || hasSelectionSlot.value ? '' : String(model.value.at(-1)?.props.title ?? '');\n isPristine.value = true;\n nextTick(() => isSelecting.value = false);\n } else {\n if (!props.multiple && search.value == null) model.value = [];\n menu.value = false;\n if (!model.value.some(_ref3 => {\n let {\n title\n } = _ref3;\n return title === search.value;\n })) search.value = '';\n selectionIndex.value = -1;\n }\n });\n watch(search, val => {\n if (!isFocused.value || isSelecting.value) return;\n if (val) menu.value = true;\n isPristine.value = !val;\n });\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(item => model.value.some(s => item.value === s.value));\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n });\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return;\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true;\n }\n });\n useRender(() => {\n const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);\n const isDirty = model.value.length > 0;\n const textFieldProps = VTextField.filterProps(props);\n return _createVNode(VTextField, _mergeProps({\n \"ref\": vTextFieldRef\n }, textFieldProps, {\n \"modelValue\": search.value,\n \"onUpdate:modelValue\": [$event => search.value = $event, onUpdateModelValue],\n \"focused\": isFocused.value,\n \"onUpdate:focused\": $event => isFocused.value = $event,\n \"validationValue\": model.externalValue,\n \"counterValue\": counterValue.value,\n \"dirty\": isDirty,\n \"onChange\": onChange,\n \"class\": ['v-autocomplete', `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`, {\n 'v-autocomplete--active-menu': menu.value,\n 'v-autocomplete--chips': !!props.chips,\n 'v-autocomplete--selection-slot': !!hasSelectionSlot.value,\n 'v-autocomplete--selecting-index': selectionIndex.value > -1\n }, props.class],\n \"style\": props.style,\n \"readonly\": props.readonly,\n \"placeholder\": isDirty ? undefined : props.placeholder,\n \"onClick:clear\": onClear,\n \"onMousedown:control\": onMousedownControl,\n \"onKeydown\": onKeydown\n }), {\n ...slots,\n default: () => _createVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({\n \"ref\": vMenuRef,\n \"modelValue\": menu.value,\n \"onUpdate:modelValue\": $event => menu.value = $event,\n \"activator\": \"parent\",\n \"contentClass\": \"v-autocomplete__content\",\n \"disabled\": menuDisabled.value,\n \"eager\": props.eager,\n \"maxHeight\": 310,\n \"openOnClick\": false,\n \"closeOnContentClick\": false,\n \"transition\": props.transition,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, props.menuProps), {\n default: () => [hasList && _createVNode(VList, _mergeProps({\n \"ref\": listRef,\n \"selected\": selectedValues.value,\n \"selectStrategy\": props.multiple ? 'independent' : 'single-independent',\n \"onMousedown\": e => e.preventDefault(),\n \"onKeydown\": onListKeydown,\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"tabindex\": \"-1\",\n \"aria-live\": \"polite\",\n \"color\": props.itemColor ?? props.color\n }, listEvents, props.listProps), {\n default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? _createVNode(VListItem, {\n \"title\": t(props.noDataText)\n }, null)), _createVNode(VVirtualScroll, {\n \"ref\": vVirtualScrollRef,\n \"renderless\": true,\n \"items\": displayItems.value\n }, {\n default: _ref4 => {\n let {\n item,\n index,\n itemRef\n } = _ref4;\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n active: highlightFirst.value && index === 0 ? true : undefined,\n onClick: () => select(item, null)\n });\n return slots.item?.({\n item,\n index,\n props: itemProps\n }) ?? _createVNode(VListItem, _mergeProps(itemProps, {\n \"role\": \"option\"\n }), {\n prepend: _ref5 => {\n let {\n isSelected\n } = _ref5;\n return _createVNode(_Fragment, null, [props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {\n \"key\": item.value,\n \"modelValue\": isSelected,\n \"ripple\": false,\n \"tabindex\": \"-1\"\n }, null) : undefined, item.props.prependAvatar && _createVNode(VAvatar, {\n \"image\": item.props.prependAvatar\n }, null), item.props.prependIcon && _createVNode(VIcon, {\n \"icon\": item.props.prependIcon\n }, null)]);\n },\n title: () => {\n return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);\n }\n });\n }\n }), slots['append-item']?.()]\n })]\n }), model.value.map((item, index) => {\n function onChipClose(e) {\n e.stopPropagation();\n e.preventDefault();\n select(item, false);\n }\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown(e) {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n e.stopPropagation();\n onChipClose(e);\n },\n onMousedown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined\n };\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({\n item,\n index,\n props: slotProps\n }) : slots.selection({\n item,\n index\n })) : undefined;\n if (hasSlot && !slotContent) return undefined;\n return _createVNode(\"div\", {\n \"key\": item.value,\n \"class\": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],\n \"style\": index === selectionIndex.value ? textColorStyles.value : {}\n }, [hasChips.value ? !slots.chip ? _createVNode(VChip, _mergeProps({\n \"key\": \"chip\",\n \"closable\": props.closableChips,\n \"size\": \"small\",\n \"text\": item.title,\n \"disabled\": item.props.disabled\n }, slotProps), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"chip-defaults\",\n \"defaults\": {\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title\n }\n }\n }, {\n default: () => [slotContent]\n }) : slotContent ?? _createVNode(\"span\", {\n \"class\": \"v-autocomplete__selection-text\"\n }, [item.title, props.multiple && index < model.value.length - 1 && _createVNode(\"span\", {\n \"class\": \"v-autocomplete__selection-comma\"\n }, [_createTextVNode(\",\")])])]);\n })]),\n 'append-inner': function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createVNode(_Fragment, null, [slots['append-inner']?.(...args), props.menuIcon ? _createVNode(VIcon, {\n \"class\": \"v-autocomplete__menu-icon\",\n \"icon\": props.menuIcon,\n \"onMousedown\": onMousedownMenuIcon,\n \"onClick\": noop,\n \"aria-label\": t(label.value),\n \"title\": t(label.value),\n \"tabindex\": \"-1\"\n }, null) : undefined]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n filteredItems,\n select\n }, vTextFieldRef);\n }\n});\n//# sourceMappingURL=VAutocomplete.mjs.map","import { withDirectives as _withDirectives, mergeProps as _mergeProps, vShow as _vShow, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBadge.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { useBackgroundColor, useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, useTheme } from \"../../composables/theme.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, pickWithRest, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVBadgeProps = propsFactory({\n bordered: Boolean,\n color: String,\n content: [Number, String],\n dot: Boolean,\n floating: Boolean,\n icon: IconValue,\n inline: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge'\n },\n max: [Number, String],\n modelValue: {\n type: Boolean,\n default: true\n },\n offsetX: [Number, String],\n offsetY: [Number, String],\n textColor: String,\n ...makeComponentProps(),\n ...makeLocationProps({\n location: 'top end'\n }),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeTransitionProps({\n transition: 'scale-rotate-transition'\n })\n}, 'VBadge');\nexport const VBadge = genericComponent()({\n name: 'VBadge',\n inheritAttrs: false,\n props: makeVBadgeProps(),\n setup(props, ctx) {\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n roundedClasses\n } = useRounded(props);\n const {\n t\n } = useLocale();\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'textColor'));\n const {\n themeClasses\n } = useTheme();\n const {\n locationStyles\n } = useLocation(props, true, side => {\n const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;\n return base + (['top', 'bottom'].includes(side) ? +(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? +(props.offsetX ?? 0) : 0);\n });\n useRender(() => {\n const value = Number(props.content);\n const content = !props.max || isNaN(value) ? props.content : value <= +props.max ? value : `${props.max}+`;\n const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);\n return _createVNode(props.tag, _mergeProps({\n \"class\": ['v-badge', {\n 'v-badge--bordered': props.bordered,\n 'v-badge--dot': props.dot,\n 'v-badge--floating': props.floating,\n 'v-badge--inline': props.inline\n }, props.class]\n }, attrs, {\n \"style\": props.style\n }), {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-badge__wrapper\"\n }, [ctx.slots.default?.(), _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [_withDirectives(_createVNode(\"span\", _mergeProps({\n \"class\": ['v-badge__badge', themeClasses.value, backgroundColorClasses.value, roundedClasses.value, textColorClasses.value],\n \"style\": [backgroundColorStyles.value, textColorStyles.value, props.inline ? {} : locationStyles.value],\n \"aria-atomic\": \"true\",\n \"aria-label\": t(props.label, value),\n \"aria-live\": \"polite\",\n \"role\": \"status\"\n }, badgeAttrs), [props.dot ? undefined : ctx.slots.badge ? ctx.slots.badge?.() : props.icon ? _createVNode(VIcon, {\n \"icon\": props.icon\n }, null) : content]), [[_vShow, props.modelValue]])]\n })])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VBadge.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVBannerActionsProps = propsFactory({\n color: String,\n density: String,\n ...makeComponentProps()\n}, 'VBannerActions');\nexport const VBannerActions = genericComponent()({\n name: 'VBannerActions',\n props: makeVBannerActionsProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n provideDefaults({\n VBtn: {\n color: props.color,\n density: props.density,\n slim: true,\n variant: 'text'\n }\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-banner-actions', props.class],\n \"style\": props.style\n }, [slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VBannerActions.mjs.map","// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VBannerText = createSimpleFunctional('v-banner-text');\n//# sourceMappingURL=VBannerText.mjs.map","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBanner.css\";\n\n// Components\nimport { VBannerActions } from \"./VBannerActions.mjs\";\nimport { VBannerText } from \"./VBannerText.mjs\";\nimport { VAvatar } from \"../VAvatar/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { makePositionProps, usePosition } from \"../../composables/position.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVBannerProps = propsFactory({\n avatar: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n lines: String,\n stacked: Boolean,\n sticky: Boolean,\n text: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeDisplayProps({\n mobile: null\n }),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VBanner');\nexport const VBanner = genericComponent()({\n name: 'VBanner',\n props: makeVBannerProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(props, 'bgColor');\n const {\n borderClasses\n } = useBorder(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n displayClasses,\n mobile\n } = useDisplay(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n themeClasses\n } = provideTheme(props);\n const color = toRef(props, 'color');\n const density = toRef(props, 'density');\n provideDefaults({\n VBannerActions: {\n color,\n density\n }\n });\n useRender(() => {\n const hasText = !!(props.text || slots.text);\n const hasPrependMedia = !!(props.avatar || props.icon);\n const hasPrepend = !!(hasPrependMedia || slots.prepend);\n return _createVNode(props.tag, {\n \"class\": ['v-banner', {\n 'v-banner--stacked': props.stacked || mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: !!props.lines\n }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style],\n \"role\": \"banner\"\n }, {\n default: () => [hasPrepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-banner__prepend\"\n }, [!slots.prepend ? _createVNode(VAvatar, {\n \"key\": \"prepend-avatar\",\n \"color\": color.value,\n \"density\": density.value,\n \"icon\": props.icon,\n \"image\": props.avatar\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !hasPrependMedia,\n \"defaults\": {\n VAvatar: {\n color: color.value,\n density: density.value,\n icon: props.icon,\n image: props.avatar\n }\n }\n }, slots.prepend)]), _createVNode(\"div\", {\n \"class\": \"v-banner__content\"\n }, [hasText && _createVNode(VBannerText, {\n \"key\": \"text\"\n }, {\n default: () => [slots.text?.() ?? props.text]\n }), slots.default?.()]), slots.actions && _createVNode(VBannerActions, {\n \"key\": \"actions\"\n }, slots.actions)]\n });\n });\n }\n});\n//# sourceMappingURL=VBanner.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBottomNavigation.css\";\n\n// Components\nimport { VBtnToggleSymbol } from \"../VBtnToggle/VBtnToggle.mjs\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\";\nimport { makeLayoutItemProps, useLayoutItem } from \"../../composables/layout.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, useTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVBottomNavigationProps = propsFactory({\n baseColor: String,\n bgColor: String,\n color: String,\n grow: Boolean,\n mode: {\n type: String,\n validator: v => !v || ['horizontal', 'shift'].includes(v)\n },\n height: {\n type: [Number, String],\n default: 56\n },\n active: {\n type: Boolean,\n default: true\n },\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeLayoutItemProps({\n name: 'bottom-navigation'\n }),\n ...makeTagProps({\n tag: 'header'\n }),\n ...makeGroupProps({\n selectedClass: 'v-btn--selected'\n }),\n ...makeThemeProps()\n}, 'VBottomNavigation');\nexport const VBottomNavigation = genericComponent()({\n name: 'VBottomNavigation',\n props: makeVBottomNavigationProps(),\n emits: {\n 'update:active': value => true,\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = useTheme();\n const {\n borderClasses\n } = useBorder(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'bgColor'));\n const {\n densityClasses\n } = useDensity(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n ssrBootStyles\n } = useSsrBoot();\n const height = computed(() => Number(props.height) - (props.density === 'comfortable' ? 8 : 0) - (props.density === 'compact' ? 16 : 0));\n const isActive = useProxiedModel(props, 'active', props.active);\n const {\n layoutItemStyles\n } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: computed(() => isActive.value ? height.value : 0),\n elementSize: height,\n active: isActive,\n absolute: toRef(props, 'absolute')\n });\n useGroup(props, VBtnToggleSymbol);\n provideDefaults({\n VBtn: {\n baseColor: toRef(props, 'baseColor'),\n color: toRef(props, 'color'),\n density: toRef(props, 'density'),\n stacked: computed(() => props.mode !== 'horizontal'),\n variant: 'text'\n }\n }, {\n scoped: true\n });\n useRender(() => {\n return _createVNode(props.tag, {\n \"class\": ['v-bottom-navigation', {\n 'v-bottom-navigation--active': isActive.value,\n 'v-bottom-navigation--grow': props.grow,\n 'v-bottom-navigation--shift': props.mode === 'shift'\n }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, layoutItemStyles.value, {\n height: convertToUnit(height.value)\n }, ssrBootStyles.value, props.style]\n }, {\n default: () => [slots.default && _createVNode(\"div\", {\n \"class\": \"v-bottom-navigation__content\"\n }, [slots.default()])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VBottomNavigation.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VDialog.css\";\n\n// Components\nimport { VDialogTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VOverlay } from \"../VOverlay/index.mjs\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.mjs\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\"; // Utilities\nimport { mergeProps, nextTick, ref, watch } from 'vue';\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true\n },\n scrollable: Boolean,\n ...makeVOverlayProps({\n origin: 'center center',\n scrollStrategy: 'block',\n transition: {\n component: VDialogTransition\n },\n zIndex: 2400\n })\n}, 'VDialog');\nexport const VDialog = genericComponent()({\n name: 'VDialog',\n props: makeVDialogProps(),\n emits: {\n 'update:modelValue': value => true,\n afterEnter: () => true,\n afterLeave: () => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n scopeId\n } = useScopeId();\n const overlay = ref();\n function onFocusin(e) {\n const before = e.relatedTarget;\n const after = e.target;\n if (before !== after && overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.globalTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)) {\n const focusable = focusableChildren(overlay.value.contentEl);\n if (!focusable.length) return;\n const firstElement = focusable[0];\n const lastElement = focusable[focusable.length - 1];\n if (before === firstElement) {\n lastElement.focus();\n } else {\n firstElement.focus();\n }\n }\n }\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);\n }, {\n immediate: true\n });\n }\n function onAfterEnter() {\n emit('afterEnter');\n if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {\n overlay.value.contentEl.focus({\n preventScroll: true\n });\n }\n }\n function onAfterLeave() {\n emit('afterLeave');\n }\n watch(isActive, async val => {\n if (!val) {\n await nextTick();\n overlay.value.activatorEl?.focus({\n preventScroll: true\n });\n }\n });\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n const activatorProps = mergeProps({\n 'aria-haspopup': 'dialog'\n }, props.activatorProps);\n const contentProps = mergeProps({\n tabindex: -1\n }, props.contentProps);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"class\": ['v-dialog', {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable\n }, props.class],\n \"style\": props.style\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"aria-modal\": \"true\",\n \"activatorProps\": activatorProps,\n \"contentProps\": contentProps,\n \"role\": \"dialog\",\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, scopeId), {\n activator: slots.activator,\n default: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createVNode(VDefaultsProvider, {\n \"root\": \"VDialog\"\n }, {\n default: () => [slots.default?.(...args)]\n });\n }\n });\n });\n return forwardRefs({}, overlay);\n }\n});\n//# sourceMappingURL=VDialog.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VBottomSheet.css\";\n\n// Components\nimport { makeVDialogProps, VDialog } from \"../VDialog/VDialog.mjs\"; // Composables\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVBottomSheetProps = propsFactory({\n inset: Boolean,\n ...makeVDialogProps({\n transition: 'bottom-sheet-transition'\n })\n}, 'VBottomSheet');\nexport const VBottomSheet = genericComponent()({\n name: 'VBottomSheet',\n props: makeVBottomSheetProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n useRender(() => {\n const dialogProps = VDialog.filterProps(props);\n return _createVNode(VDialog, _mergeProps(dialogProps, {\n \"contentClass\": ['v-bottom-sheet__content', props.contentClass],\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"class\": ['v-bottom-sheet', {\n 'v-bottom-sheet--inset': props.inset\n }, props.class],\n \"style\": props.style\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VBottomSheet.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVBreadcrumbsDividerProps = propsFactory({\n divider: [Number, String],\n ...makeComponentProps()\n}, 'VBreadcrumbsDivider');\nexport const VBreadcrumbsDivider = genericComponent()({\n name: 'VBreadcrumbsDivider',\n props: makeVBreadcrumbsDividerProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(\"li\", {\n \"class\": ['v-breadcrumbs-divider', props.class],\n \"style\": props.style\n }, [slots?.default?.() ?? props.divider]));\n return {};\n }\n});\n//# sourceMappingURL=VBreadcrumbsDivider.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeRouterProps, useLink } from \"../../composables/router.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVBreadcrumbsItemProps = propsFactory({\n active: Boolean,\n activeClass: String,\n activeColor: String,\n color: String,\n disabled: Boolean,\n title: String,\n ...makeComponentProps(),\n ...makeRouterProps(),\n ...makeTagProps({\n tag: 'li'\n })\n}, 'VBreadcrumbsItem');\nexport const VBreadcrumbsItem = genericComponent()({\n name: 'VBreadcrumbsItem',\n props: makeVBreadcrumbsItemProps(),\n setup(props, _ref) {\n let {\n slots,\n attrs\n } = _ref;\n const link = useLink(props, attrs);\n const isActive = computed(() => props.active || link.isActive?.value);\n const color = computed(() => isActive.value ? props.activeColor : props.color);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(color);\n useRender(() => {\n return _createVNode(props.tag, {\n \"class\": ['v-breadcrumbs-item', {\n 'v-breadcrumbs-item--active': isActive.value,\n 'v-breadcrumbs-item--disabled': props.disabled,\n [`${props.activeClass}`]: isActive.value && props.activeClass\n }, textColorClasses.value, props.class],\n \"style\": [textColorStyles.value, props.style],\n \"aria-current\": isActive.value ? 'page' : undefined\n }, {\n default: () => [!link.isLink.value ? slots.default?.() ?? props.title : _createVNode(\"a\", _mergeProps({\n \"class\": \"v-breadcrumbs-item--link\",\n \"onClick\": link.navigate\n }, link.linkProps), [slots.default?.() ?? props.title])]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VBreadcrumbsItem.mjs.map","import { mergeProps as _mergeProps, Fragment as _Fragment, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VBreadcrumbs.css\";\n\n// Components\nimport { VBreadcrumbsDivider } from \"./VBreadcrumbsDivider.mjs\";\nimport { VBreadcrumbsItem } from \"./VBreadcrumbsItem.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVBreadcrumbsProps = propsFactory({\n activeClass: String,\n activeColor: String,\n bgColor: String,\n color: String,\n disabled: Boolean,\n divider: {\n type: String,\n default: '/'\n },\n icon: IconValue,\n items: {\n type: Array,\n default: () => []\n },\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeRoundedProps(),\n ...makeTagProps({\n tag: 'ul'\n })\n}, 'VBreadcrumbs');\nexport const VBreadcrumbs = genericComponent()({\n name: 'VBreadcrumbs',\n props: makeVBreadcrumbsProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'bgColor'));\n const {\n densityClasses\n } = useDensity(props);\n const {\n roundedClasses\n } = useRounded(props);\n provideDefaults({\n VBreadcrumbsDivider: {\n divider: toRef(props, 'divider')\n },\n VBreadcrumbsItem: {\n activeClass: toRef(props, 'activeClass'),\n activeColor: toRef(props, 'activeColor'),\n color: toRef(props, 'color'),\n disabled: toRef(props, 'disabled')\n }\n });\n const items = computed(() => props.items.map(item => {\n return typeof item === 'string' ? {\n item: {\n title: item\n },\n raw: item\n } : {\n item,\n raw: item\n };\n }));\n useRender(() => {\n const hasPrepend = !!(slots.prepend || props.icon);\n return _createVNode(props.tag, {\n \"class\": ['v-breadcrumbs', backgroundColorClasses.value, densityClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, props.style]\n }, {\n default: () => [hasPrepend && _createVNode(\"li\", {\n \"key\": \"prepend\",\n \"class\": \"v-breadcrumbs__prepend\"\n }, [!slots.prepend ? _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"start\": true,\n \"icon\": props.icon\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !props.icon,\n \"defaults\": {\n VIcon: {\n icon: props.icon,\n start: true\n }\n }\n }, slots.prepend)]), items.value.map((_ref2, index, array) => {\n let {\n item,\n raw\n } = _ref2;\n return _createVNode(_Fragment, null, [slots.item?.({\n item,\n index\n }) ?? _createVNode(VBreadcrumbsItem, _mergeProps({\n \"key\": index,\n \"disabled\": index >= array.length - 1\n }, typeof item === 'string' ? {\n title: item\n } : item), {\n default: slots.title ? () => slots.title?.({\n item,\n index\n }) : undefined\n }), index < array.length - 1 && _createVNode(VBreadcrumbsDivider, null, {\n default: slots.divider ? () => slots.divider?.({\n item: raw,\n index\n }) : undefined\n })]);\n }), slots.default?.()]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VBreadcrumbs.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\"; // Utilities\nimport { genericComponent, useRender } from \"../../util/index.mjs\";\nexport const VCardActions = genericComponent()({\n name: 'VCardActions',\n props: makeComponentProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n provideDefaults({\n VBtn: {\n slim: true,\n variant: 'text'\n }\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-card-actions', props.class],\n \"style\": props.style\n }, [slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VCardActions.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVCardSubtitleProps = propsFactory({\n opacity: [Number, String],\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VCardSubtitle');\nexport const VCardSubtitle = genericComponent()({\n name: 'VCardSubtitle',\n props: makeVCardSubtitleProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-card-subtitle', props.class],\n \"style\": [{\n '--v-card-subtitle-opacity': props.opacity\n }, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VCardSubtitle.mjs.map","// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VCardTitle = createSimpleFunctional('v-card-title');\n//# sourceMappingURL=VCardTitle.mjs.map","import { resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Components\nimport { VCardSubtitle } from \"./VCardSubtitle.mjs\";\nimport { VCardTitle } from \"./VCardTitle.mjs\";\nimport { VAvatar } from \"../VAvatar/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps } from \"../../composables/density.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeCardItemProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n prependAvatar: String,\n prependIcon: IconValue,\n subtitle: [String, Number],\n title: [String, Number],\n ...makeComponentProps(),\n ...makeDensityProps()\n}, 'VCardItem');\nexport const VCardItem = genericComponent()({\n name: 'VCardItem',\n props: makeCardItemProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const hasPrependMedia = !!(props.prependAvatar || props.prependIcon);\n const hasPrepend = !!(hasPrependMedia || slots.prepend);\n const hasAppendMedia = !!(props.appendAvatar || props.appendIcon);\n const hasAppend = !!(hasAppendMedia || slots.append);\n const hasTitle = !!(props.title != null || slots.title);\n const hasSubtitle = !!(props.subtitle != null || slots.subtitle);\n return _createVNode(\"div\", {\n \"class\": ['v-card-item', props.class],\n \"style\": props.style\n }, [hasPrepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-card-item__prepend\"\n }, [!slots.prepend ? _createVNode(_Fragment, null, [props.prependAvatar && _createVNode(VAvatar, {\n \"key\": \"prepend-avatar\",\n \"density\": props.density,\n \"image\": props.prependAvatar\n }, null), props.prependIcon && _createVNode(VIcon, {\n \"key\": \"prepend-icon\",\n \"density\": props.density,\n \"icon\": props.prependIcon\n }, null)]) : _createVNode(VDefaultsProvider, {\n \"key\": \"prepend-defaults\",\n \"disabled\": !hasPrependMedia,\n \"defaults\": {\n VAvatar: {\n density: props.density,\n image: props.prependAvatar\n },\n VIcon: {\n density: props.density,\n icon: props.prependIcon\n }\n }\n }, slots.prepend)]), _createVNode(\"div\", {\n \"class\": \"v-card-item__content\"\n }, [hasTitle && _createVNode(VCardTitle, {\n \"key\": \"title\"\n }, {\n default: () => [slots.title?.() ?? props.title]\n }), hasSubtitle && _createVNode(VCardSubtitle, {\n \"key\": \"subtitle\"\n }, {\n default: () => [slots.subtitle?.() ?? props.subtitle]\n }), slots.default?.()]), hasAppend && _createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-card-item__append\"\n }, [!slots.append ? _createVNode(_Fragment, null, [props.appendIcon && _createVNode(VIcon, {\n \"key\": \"append-icon\",\n \"density\": props.density,\n \"icon\": props.appendIcon\n }, null), props.appendAvatar && _createVNode(VAvatar, {\n \"key\": \"append-avatar\",\n \"density\": props.density,\n \"image\": props.appendAvatar\n }, null)]) : _createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !hasAppendMedia,\n \"defaults\": {\n VAvatar: {\n density: props.density,\n image: props.appendAvatar\n },\n VIcon: {\n density: props.density,\n icon: props.appendIcon\n }\n }\n }, slots.append)])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VCardItem.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVCardTextProps = propsFactory({\n opacity: [Number, String],\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VCardText');\nexport const VCardText = genericComponent()({\n name: 'VCardText',\n props: makeVCardTextProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-card-text', props.class],\n \"style\": [{\n '--v-card-text-opacity': props.opacity\n }, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VCardText.mjs.map","import { withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n/* eslint-disable complexity */\n\n// Styles\nimport \"./VCard.css\";\n\n// Components\nimport { VCardActions } from \"./VCardActions.mjs\";\nimport { VCardItem } from \"./VCardItem.mjs\";\nimport { VCardText } from \"./VCardText.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VImg } from \"../VImg/index.mjs\"; // Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { LoaderSlot, makeLoaderProps, useLoader } from \"../../composables/loader.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { makePositionProps, usePosition } from \"../../composables/position.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeRouterProps, useLink } from \"../../composables/router.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Directives\nimport { Ripple } from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVCardProps = propsFactory({\n appendAvatar: String,\n appendIcon: IconValue,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n image: String,\n link: {\n type: Boolean,\n default: undefined\n },\n prependAvatar: String,\n prependIcon: IconValue,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n subtitle: [String, Number],\n text: [String, Number],\n title: [String, Number],\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLoaderProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeRouterProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'elevated'\n })\n}, 'VCard');\nexport const VCard = genericComponent()({\n name: 'VCard',\n directives: {\n Ripple\n },\n props: makeVCardProps(),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n loaderClasses\n } = useLoader(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n const link = useLink(props, attrs);\n const isLink = computed(() => props.link !== false && link.isLink.value);\n const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value));\n useRender(() => {\n const Tag = isLink.value ? 'a' : props.tag;\n const hasTitle = !!(slots.title || props.title != null);\n const hasSubtitle = !!(slots.subtitle || props.subtitle != null);\n const hasHeader = hasTitle || hasSubtitle;\n const hasAppend = !!(slots.append || props.appendAvatar || props.appendIcon);\n const hasPrepend = !!(slots.prepend || props.prependAvatar || props.prependIcon);\n const hasImage = !!(slots.image || props.image);\n const hasCardItem = hasHeader || hasPrepend || hasAppend;\n const hasText = !!(slots.text || props.text != null);\n return _withDirectives(_createVNode(Tag, _mergeProps({\n \"class\": ['v-card', {\n 'v-card--disabled': props.disabled,\n 'v-card--flat': props.flat,\n 'v-card--hover': props.hover && !(props.disabled || props.flat),\n 'v-card--link': isClickable.value\n }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],\n \"style\": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],\n \"onClick\": isClickable.value && link.navigate,\n \"tabindex\": props.disabled ? -1 : undefined\n }, link.linkProps), {\n default: () => [hasImage && _createVNode(\"div\", {\n \"key\": \"image\",\n \"class\": \"v-card__image\"\n }, [!slots.image ? _createVNode(VImg, {\n \"key\": \"image-img\",\n \"cover\": true,\n \"src\": props.image\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"image-defaults\",\n \"disabled\": !props.image,\n \"defaults\": {\n VImg: {\n cover: true,\n src: props.image\n }\n }\n }, slots.image)]), _createVNode(LoaderSlot, {\n \"name\": \"v-card\",\n \"active\": !!props.loading,\n \"color\": typeof props.loading === 'boolean' ? undefined : props.loading\n }, {\n default: slots.loader\n }), hasCardItem && _createVNode(VCardItem, {\n \"key\": \"item\",\n \"prependAvatar\": props.prependAvatar,\n \"prependIcon\": props.prependIcon,\n \"title\": props.title,\n \"subtitle\": props.subtitle,\n \"appendAvatar\": props.appendAvatar,\n \"appendIcon\": props.appendIcon\n }, {\n default: slots.item,\n prepend: slots.prepend,\n title: slots.title,\n subtitle: slots.subtitle,\n append: slots.append\n }), hasText && _createVNode(VCardText, {\n \"key\": \"text\"\n }, {\n default: () => [slots.text?.() ?? props.text]\n }), slots.default?.(), slots.actions && _createVNode(VCardActions, null, {\n default: slots.actions\n }), genOverlays(isClickable.value, 'v-card')]\n }), [[_resolveDirective(\"ripple\"), isClickable.value && props.ripple]]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VCard.mjs.map","// Utilities\nimport { keys } from \"../../util/index.mjs\"; // Types\nconst handleGesture = wrapper => {\n const {\n touchstartX,\n touchendX,\n touchstartY,\n touchendY\n } = wrapper;\n const dirRatio = 0.5;\n const minDistance = 16;\n wrapper.offsetX = touchendX - touchstartX;\n wrapper.offsetY = touchendY - touchstartY;\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && touchendX < touchstartX - minDistance && wrapper.left(wrapper);\n wrapper.right && touchendX > touchstartX + minDistance && wrapper.right(wrapper);\n }\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper);\n wrapper.down && touchendY > touchstartY + minDistance && wrapper.down(wrapper);\n }\n};\nfunction touchstart(event, wrapper) {\n const touch = event.changedTouches[0];\n wrapper.touchstartX = touch.clientX;\n wrapper.touchstartY = touch.clientY;\n wrapper.start?.({\n originalEvent: event,\n ...wrapper\n });\n}\nfunction touchend(event, wrapper) {\n const touch = event.changedTouches[0];\n wrapper.touchendX = touch.clientX;\n wrapper.touchendY = touch.clientY;\n wrapper.end?.({\n originalEvent: event,\n ...wrapper\n });\n handleGesture(wrapper);\n}\nfunction touchmove(event, wrapper) {\n const touch = event.changedTouches[0];\n wrapper.touchmoveX = touch.clientX;\n wrapper.touchmoveY = touch.clientY;\n wrapper.move?.({\n originalEvent: event,\n ...wrapper\n });\n}\nfunction createHandlers() {\n let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end\n };\n return {\n touchstart: e => touchstart(e, wrapper),\n touchend: e => touchend(e, wrapper),\n touchmove: e => touchmove(e, wrapper)\n };\n}\nfunction mounted(el, binding) {\n const value = binding.value;\n const target = value?.parent ? el.parentElement : el;\n const options = value?.options ?? {\n passive: true\n };\n const uid = binding.instance?.$.uid; // TODO: use custom uid generator\n\n if (!target || !uid) return;\n const handlers = createHandlers(binding.value);\n target._touchHandlers = target._touchHandlers ?? Object.create(null);\n target._touchHandlers[uid] = handlers;\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName], options);\n });\n}\nfunction unmounted(el, binding) {\n const target = binding.value?.parent ? el.parentElement : el;\n const uid = binding.instance?.$.uid;\n if (!target?._touchHandlers || !uid) return;\n const handlers = target._touchHandlers[uid];\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName]);\n });\n delete target._touchHandlers[uid];\n}\nexport const Touch = {\n mounted,\n unmounted\n};\nexport default Touch;\n//# sourceMappingURL=index.mjs.map","import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VWindow.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useGroup } from \"../../composables/group.mjs\";\nimport { useLocale, useRtl } from \"../../composables/locale.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Directives\nimport { Touch } from \"../../directives/touch/index.mjs\"; // Utilities\nimport { computed, provide, ref, shallowRef, watch } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const VWindowSymbol = Symbol.for('vuetify:v-window');\nexport const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');\nexport const makeVWindowProps = propsFactory({\n continuous: Boolean,\n nextIcon: {\n type: [Boolean, String, Function, Object],\n default: '$next'\n },\n prevIcon: {\n type: [Boolean, String, Function, Object],\n default: '$prev'\n },\n reverse: Boolean,\n showArrows: {\n type: [Boolean, String],\n validator: v => typeof v === 'boolean' || v === 'hover'\n },\n touch: {\n type: [Object, Boolean],\n default: undefined\n },\n direction: {\n type: String,\n default: 'horizontal'\n },\n modelValue: null,\n disabled: Boolean,\n selectedClass: {\n type: String,\n default: 'v-window-item--active'\n },\n // TODO: mandatory should probably not be exposed but do this for now\n mandatory: {\n type: [Boolean, String],\n default: 'force'\n },\n ...makeComponentProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VWindow');\nexport const VWindow = genericComponent()({\n name: 'VWindow',\n directives: {\n Touch\n },\n props: makeVWindowProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n isRtl\n } = useRtl();\n const {\n t\n } = useLocale();\n const group = useGroup(props, VWindowGroupSymbol);\n const rootRef = ref();\n const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse);\n const isReversed = shallowRef(false);\n const transition = computed(() => {\n const axis = props.direction === 'vertical' ? 'y' : 'x';\n const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value;\n const direction = reverse ? '-reverse' : '';\n return `v-window-${axis}${direction}-transition`;\n });\n const transitionCount = shallowRef(0);\n const transitionHeight = ref(undefined);\n const activeIndex = computed(() => {\n return group.items.value.findIndex(item => group.selected.value.includes(item.id));\n });\n watch(activeIndex, (newVal, oldVal) => {\n const itemsLength = group.items.value.length;\n const lastIndex = itemsLength - 1;\n if (itemsLength <= 2) {\n isReversed.value = newVal < oldVal;\n } else if (newVal === lastIndex && oldVal === 0) {\n isReversed.value = true;\n } else if (newVal === 0 && oldVal === lastIndex) {\n isReversed.value = false;\n } else {\n isReversed.value = newVal < oldVal;\n }\n });\n provide(VWindowSymbol, {\n transition,\n isReversed,\n transitionCount,\n transitionHeight,\n rootRef\n });\n const canMoveBack = computed(() => props.continuous || activeIndex.value !== 0);\n const canMoveForward = computed(() => props.continuous || activeIndex.value !== group.items.value.length - 1);\n function prev() {\n canMoveBack.value && group.prev();\n }\n function next() {\n canMoveForward.value && group.next();\n }\n const arrows = computed(() => {\n const arrows = [];\n const prevProps = {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n class: `v-window__${isRtlReverse.value ? 'right' : 'left'}`,\n onClick: group.prev,\n 'aria-label': t('$vuetify.carousel.prev')\n };\n arrows.push(canMoveBack.value ? slots.prev ? slots.prev({\n props: prevProps\n }) : _createVNode(VBtn, prevProps, null) : _createVNode(\"div\", null, null));\n const nextProps = {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n class: `v-window__${isRtlReverse.value ? 'left' : 'right'}`,\n onClick: group.next,\n 'aria-label': t('$vuetify.carousel.next')\n };\n arrows.push(canMoveForward.value ? slots.next ? slots.next({\n props: nextProps\n }) : _createVNode(VBtn, nextProps, null) : _createVNode(\"div\", null, null));\n return arrows;\n });\n const touchOptions = computed(() => {\n if (props.touch === false) return props.touch;\n const options = {\n left: () => {\n isRtlReverse.value ? prev() : next();\n },\n right: () => {\n isRtlReverse.value ? next() : prev();\n },\n start: _ref2 => {\n let {\n originalEvent\n } = _ref2;\n originalEvent.stopPropagation();\n }\n };\n return {\n ...options,\n ...(props.touch === true ? {} : props.touch)\n };\n });\n useRender(() => _withDirectives(_createVNode(props.tag, {\n \"ref\": rootRef,\n \"class\": ['v-window', {\n 'v-window--show-arrows-on-hover': props.showArrows === 'hover'\n }, themeClasses.value, props.class],\n \"style\": props.style\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-window__container\",\n \"style\": {\n height: transitionHeight.value\n }\n }, [slots.default?.({\n group\n }), props.showArrows !== false && _createVNode(\"div\", {\n \"class\": \"v-window__controls\"\n }, [arrows.value])]), slots.additional?.({\n group\n })]\n }), [[_resolveDirective(\"touch\"), touchOptions.value]]));\n return {\n group\n };\n }\n});\n//# sourceMappingURL=VWindow.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VCarousel.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VProgressLinear } from \"../VProgressLinear/index.mjs\";\nimport { makeVWindowProps, VWindow } from \"../VWindow/VWindow.mjs\"; // Composables\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { onMounted, ref, watch } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVCarouselProps = propsFactory({\n color: String,\n cycle: Boolean,\n delimiterIcon: {\n type: IconValue,\n default: '$delimiter'\n },\n height: {\n type: [Number, String],\n default: 500\n },\n hideDelimiters: Boolean,\n hideDelimiterBackground: Boolean,\n interval: {\n type: [Number, String],\n default: 6000,\n validator: value => Number(value) > 0\n },\n progress: [Boolean, String],\n verticalDelimiters: [Boolean, String],\n ...makeVWindowProps({\n continuous: true,\n mandatory: 'force',\n showArrows: true\n })\n}, 'VCarousel');\nexport const VCarousel = genericComponent()({\n name: 'VCarousel',\n props: makeVCarouselProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const {\n t\n } = useLocale();\n const windowRef = ref();\n let slideTimeout = -1;\n watch(model, restartTimeout);\n watch(() => props.interval, restartTimeout);\n watch(() => props.cycle, val => {\n if (val) restartTimeout();else window.clearTimeout(slideTimeout);\n });\n onMounted(startTimeout);\n function startTimeout() {\n if (!props.cycle || !windowRef.value) return;\n slideTimeout = window.setTimeout(windowRef.value.group.next, +props.interval > 0 ? +props.interval : 6000);\n }\n function restartTimeout() {\n window.clearTimeout(slideTimeout);\n window.requestAnimationFrame(startTimeout);\n }\n useRender(() => {\n const windowProps = VWindow.filterProps(props);\n return _createVNode(VWindow, _mergeProps({\n \"ref\": windowRef\n }, windowProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-carousel', {\n 'v-carousel--hide-delimiter-background': props.hideDelimiterBackground,\n 'v-carousel--vertical-delimiters': props.verticalDelimiters\n }, props.class],\n \"style\": [{\n height: convertToUnit(props.height)\n }, props.style]\n }), {\n default: slots.default,\n additional: _ref2 => {\n let {\n group\n } = _ref2;\n return _createVNode(_Fragment, null, [!props.hideDelimiters && _createVNode(\"div\", {\n \"class\": \"v-carousel__controls\",\n \"style\": {\n left: props.verticalDelimiters === 'left' && props.verticalDelimiters ? 0 : 'auto',\n right: props.verticalDelimiters === 'right' ? 0 : 'auto'\n }\n }, [group.items.value.length > 0 && _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n color: props.color,\n icon: props.delimiterIcon,\n size: 'x-small',\n variant: 'text'\n }\n },\n \"scoped\": true\n }, {\n default: () => [group.items.value.map((item, index) => {\n const props = {\n id: `carousel-item-${item.id}`,\n 'aria-label': t('$vuetify.carousel.ariaLabel.delimiter', index + 1, group.items.value.length),\n class: ['v-carousel__controls__item', group.isSelected(item.id) && 'v-btn--active'],\n onClick: () => group.select(item.id, true)\n };\n return slots.item ? slots.item({\n props,\n item\n }) : _createVNode(VBtn, _mergeProps(item, props), null);\n })]\n })]), props.progress && _createVNode(VProgressLinear, {\n \"class\": \"v-carousel__progress\",\n \"color\": typeof props.progress === 'string' ? props.progress : undefined,\n \"modelValue\": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100\n }, null)]);\n },\n prev: slots.prev,\n next: slots.next\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VCarousel.mjs.map","import { withDirectives as _withDirectives, createVNode as _createVNode, vShow as _vShow } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\";\nimport { makeLazyProps, useLazy } from \"../../composables/lazy.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { MaybeTransition } from \"../../composables/transition.mjs\"; // Directives\nimport Touch from \"../../directives/touch/index.mjs\"; // Utilities\nimport { computed, inject, nextTick, shallowRef } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nimport { VWindowGroupSymbol, VWindowSymbol } from \"./VWindow.mjs\";\nexport const makeVWindowItemProps = propsFactory({\n reverseTransition: {\n type: [Boolean, String],\n default: undefined\n },\n transition: {\n type: [Boolean, String],\n default: undefined\n },\n ...makeComponentProps(),\n ...makeGroupItemProps(),\n ...makeLazyProps()\n}, 'VWindowItem');\nexport const VWindowItem = genericComponent()({\n name: 'VWindowItem',\n directives: {\n Touch\n },\n props: makeVWindowItemProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const window = inject(VWindowSymbol);\n const groupItem = useGroupItem(props, VWindowGroupSymbol);\n const {\n isBooted\n } = useSsrBoot();\n if (!window || !groupItem) throw new Error('[Vuetify] VWindowItem must be used inside VWindow');\n const isTransitioning = shallowRef(false);\n const hasTransition = computed(() => isBooted.value && (window.isReversed.value ? props.reverseTransition !== false : props.transition !== false));\n function onAfterTransition() {\n if (!isTransitioning.value || !window) {\n return;\n }\n\n // Finalize transition state.\n isTransitioning.value = false;\n if (window.transitionCount.value > 0) {\n window.transitionCount.value -= 1;\n\n // Remove container height if we are out of transition.\n if (window.transitionCount.value === 0) {\n window.transitionHeight.value = undefined;\n }\n }\n }\n function onBeforeTransition() {\n if (isTransitioning.value || !window) {\n return;\n }\n\n // Initialize transition state here.\n isTransitioning.value = true;\n if (window.transitionCount.value === 0) {\n // Set initial height for height transition.\n window.transitionHeight.value = convertToUnit(window.rootRef.value?.clientHeight);\n }\n window.transitionCount.value += 1;\n }\n function onTransitionCancelled() {\n onAfterTransition(); // This should have the same path as normal transition end.\n }\n function onEnterTransition(el) {\n if (!isTransitioning.value) {\n return;\n }\n nextTick(() => {\n // Do not set height if no transition or cancelled.\n if (!hasTransition.value || !isTransitioning.value || !window) {\n return;\n }\n\n // Set transition target height.\n window.transitionHeight.value = convertToUnit(el.clientHeight);\n });\n }\n const transition = computed(() => {\n const name = window.isReversed.value ? props.reverseTransition : props.transition;\n return !hasTransition.value ? false : {\n name: typeof name !== 'string' ? window.transition.value : name,\n onBeforeEnter: onBeforeTransition,\n onAfterEnter: onAfterTransition,\n onEnterCancelled: onTransitionCancelled,\n onBeforeLeave: onBeforeTransition,\n onAfterLeave: onAfterTransition,\n onLeaveCancelled: onTransitionCancelled,\n onEnter: onEnterTransition\n };\n });\n const {\n hasContent\n } = useLazy(props, groupItem.isSelected);\n useRender(() => _createVNode(MaybeTransition, {\n \"transition\": transition.value,\n \"disabled\": !isBooted.value\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": ['v-window-item', groupItem.selectedClass.value, props.class],\n \"style\": props.style\n }, [hasContent.value && slots.default?.()]), [[_vShow, groupItem.isSelected.value]])]\n }));\n return {\n groupItem\n };\n }\n});\n//# sourceMappingURL=VWindowItem.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVImgProps, VImg } from \"../VImg/VImg.mjs\";\nimport { makeVWindowItemProps, VWindowItem } from \"../VWindow/VWindowItem.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVCarouselItemProps = propsFactory({\n ...makeVImgProps(),\n ...makeVWindowItemProps()\n}, 'VCarouselItem');\nexport const VCarouselItem = genericComponent()({\n name: 'VCarouselItem',\n inheritAttrs: false,\n props: makeVCarouselItemProps(),\n setup(props, _ref) {\n let {\n slots,\n attrs\n } = _ref;\n useRender(() => {\n const imgProps = VImg.filterProps(props);\n const windowItemProps = VWindowItem.filterProps(props);\n return _createVNode(VWindowItem, _mergeProps({\n \"class\": ['v-carousel-item', props.class]\n }, windowItemProps), {\n default: () => [_createVNode(VImg, _mergeProps(attrs, imgProps), slots)]\n });\n });\n }\n});\n//# sourceMappingURL=VCarouselItem.mjs.map","// Styles\nimport \"./VCode.css\";\n\n// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VCode = createSimpleFunctional('v-code');\n//# sourceMappingURL=index.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VColorPickerCanvas.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\"; // Utilities\nimport { computed, onMounted, ref, shallowRef, watch } from 'vue';\nimport { clamp, convertToUnit, defineComponent, getEventCoordinates, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVColorPickerCanvasProps = propsFactory({\n color: {\n type: Object\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10\n },\n height: {\n type: [Number, String],\n default: 150\n },\n width: {\n type: [Number, String],\n default: 300\n },\n ...makeComponentProps()\n}, 'VColorPickerCanvas');\nexport const VColorPickerCanvas = defineComponent({\n name: 'VColorPickerCanvas',\n props: makeVColorPickerCanvasProps(),\n emits: {\n 'update:color': color => true,\n 'update:position': hue => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const isInteracting = shallowRef(false);\n const canvasRef = ref();\n const canvasWidth = shallowRef(parseFloat(props.width));\n const canvasHeight = shallowRef(parseFloat(props.height));\n const _dotPosition = ref({\n x: 0,\n y: 0\n });\n const dotPosition = computed({\n get: () => _dotPosition.value,\n set(val) {\n if (!canvasRef.value) return;\n const {\n x,\n y\n } = val;\n _dotPosition.value = val;\n emit('update:color', {\n h: props.color?.h ?? 0,\n s: clamp(x, 0, canvasWidth.value) / canvasWidth.value,\n v: 1 - clamp(y, 0, canvasHeight.value) / canvasHeight.value,\n a: props.color?.a ?? 1\n });\n }\n });\n const dotStyles = computed(() => {\n const {\n x,\n y\n } = dotPosition.value;\n const radius = parseInt(props.dotSize, 10) / 2;\n return {\n width: convertToUnit(props.dotSize),\n height: convertToUnit(props.dotSize),\n transform: `translate(${convertToUnit(x - radius)}, ${convertToUnit(y - radius)})`\n };\n });\n const {\n resizeRef\n } = useResizeObserver(entries => {\n if (!resizeRef.el?.offsetParent) return;\n const {\n width,\n height\n } = entries[0].contentRect;\n canvasWidth.value = width;\n canvasHeight.value = height;\n });\n function updateDotPosition(x, y, rect) {\n const {\n left,\n top,\n width,\n height\n } = rect;\n dotPosition.value = {\n x: clamp(x - left, 0, width),\n y: clamp(y - top, 0, height)\n };\n }\n function handleMouseDown(e) {\n if (e.type === 'mousedown') {\n // Prevent text selection while dragging\n e.preventDefault();\n }\n if (props.disabled) return;\n handleMouseMove(e);\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n window.addEventListener('touchmove', handleMouseMove);\n window.addEventListener('touchend', handleMouseUp);\n }\n function handleMouseMove(e) {\n if (props.disabled || !canvasRef.value) return;\n isInteracting.value = true;\n const coords = getEventCoordinates(e);\n updateDotPosition(coords.clientX, coords.clientY, canvasRef.value.getBoundingClientRect());\n }\n function handleMouseUp() {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n window.removeEventListener('touchmove', handleMouseMove);\n window.removeEventListener('touchend', handleMouseUp);\n }\n function updateCanvas() {\n if (!canvasRef.value) return;\n const canvas = canvasRef.value;\n const ctx = canvas.getContext('2d');\n if (!ctx) return;\n const saturationGradient = ctx.createLinearGradient(0, 0, canvas.width, 0);\n saturationGradient.addColorStop(0, 'hsla(0, 0%, 100%, 1)'); // white\n saturationGradient.addColorStop(1, `hsla(${props.color?.h ?? 0}, 100%, 50%, 1)`);\n ctx.fillStyle = saturationGradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n const valueGradient = ctx.createLinearGradient(0, 0, 0, canvas.height);\n valueGradient.addColorStop(0, 'hsla(0, 0%, 0%, 0)'); // transparent\n valueGradient.addColorStop(1, 'hsla(0, 0%, 0%, 1)'); // black\n ctx.fillStyle = valueGradient;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n watch(() => props.color?.h, updateCanvas, {\n immediate: true\n });\n watch(() => [canvasWidth.value, canvasHeight.value], (newVal, oldVal) => {\n updateCanvas();\n _dotPosition.value = {\n x: dotPosition.value.x * newVal[0] / oldVal[0],\n y: dotPosition.value.y * newVal[1] / oldVal[1]\n };\n }, {\n flush: 'post'\n });\n watch(() => props.color, () => {\n if (isInteracting.value) {\n isInteracting.value = false;\n return;\n }\n _dotPosition.value = props.color ? {\n x: props.color.s * canvasWidth.value,\n y: (1 - props.color.v) * canvasHeight.value\n } : {\n x: 0,\n y: 0\n };\n }, {\n deep: true,\n immediate: true\n });\n onMounted(() => updateCanvas());\n useRender(() => _createVNode(\"div\", {\n \"ref\": resizeRef,\n \"class\": ['v-color-picker-canvas', props.class],\n \"style\": props.style,\n \"onMousedown\": handleMouseDown,\n \"onTouchstartPassive\": handleMouseDown\n }, [_createVNode(\"canvas\", {\n \"ref\": canvasRef,\n \"width\": canvasWidth.value,\n \"height\": canvasHeight.value\n }, null), props.color && _createVNode(\"div\", {\n \"class\": ['v-color-picker-canvas__dot', {\n 'v-color-picker-canvas__dot--disabled': props.disabled\n }],\n \"style\": dotStyles.value\n }, null)]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerCanvas.mjs.map","// Utilities\nimport { HexToHSV, HSLtoHSV, HSVtoHex, HSVtoHSL, HSVtoRGB, RGBtoHSV } from \"../../../util/colorUtils.mjs\";\nimport { has } from \"../../../util/helpers.mjs\"; // Types\nfunction stripAlpha(color, stripAlpha) {\n if (stripAlpha) {\n const {\n a,\n ...rest\n } = color;\n return rest;\n }\n return color;\n}\nexport function extractColor(color, input) {\n if (input == null || typeof input === 'string') {\n const hex = HSVtoHex(color);\n if (color.a === 1) return hex.slice(0, 7);else return hex;\n }\n if (typeof input === 'object') {\n let converted;\n if (has(input, ['r', 'g', 'b'])) converted = HSVtoRGB(color);else if (has(input, ['h', 's', 'l'])) converted = HSVtoHSL(color);else if (has(input, ['h', 's', 'v'])) converted = color;\n return stripAlpha(converted, !has(input, ['a']) && color.a === 1);\n }\n return color;\n}\nexport function hasAlpha(color) {\n if (!color) return false;\n if (typeof color === 'string') {\n return color.length > 7;\n }\n if (typeof color === 'object') {\n return has(color, ['a']) || has(color, ['alpha']);\n }\n return false;\n}\nexport const nullColor = {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n};\nconst rgba = {\n inputProps: {\n type: 'number',\n min: 0\n },\n inputs: [{\n label: 'R',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.r),\n getColor: (c, v) => ({\n ...c,\n r: Number(v)\n })\n }, {\n label: 'G',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.g),\n getColor: (c, v) => ({\n ...c,\n g: Number(v)\n })\n }, {\n label: 'B',\n max: 255,\n step: 1,\n getValue: c => Math.round(c.b),\n getColor: (c, v) => ({\n ...c,\n b: Number(v)\n })\n }, {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: _ref => {\n let {\n a\n } = _ref;\n return a != null ? Math.round(a * 100) / 100 : 1;\n },\n getColor: (c, v) => ({\n ...c,\n a: Number(v)\n })\n }],\n to: HSVtoRGB,\n from: RGBtoHSV\n};\nconst rgb = {\n ...rgba,\n inputs: rgba.inputs?.slice(0, 3)\n};\nconst hsla = {\n inputProps: {\n type: 'number',\n min: 0\n },\n inputs: [{\n label: 'H',\n max: 360,\n step: 1,\n getValue: c => Math.round(c.h),\n getColor: (c, v) => ({\n ...c,\n h: Number(v)\n })\n }, {\n label: 'S',\n max: 1,\n step: 0.01,\n getValue: c => Math.round(c.s * 100) / 100,\n getColor: (c, v) => ({\n ...c,\n s: Number(v)\n })\n }, {\n label: 'L',\n max: 1,\n step: 0.01,\n getValue: c => Math.round(c.l * 100) / 100,\n getColor: (c, v) => ({\n ...c,\n l: Number(v)\n })\n }, {\n label: 'A',\n max: 1,\n step: 0.01,\n getValue: _ref2 => {\n let {\n a\n } = _ref2;\n return a != null ? Math.round(a * 100) / 100 : 1;\n },\n getColor: (c, v) => ({\n ...c,\n a: Number(v)\n })\n }],\n to: HSVtoHSL,\n from: HSLtoHSV\n};\nconst hsl = {\n ...hsla,\n inputs: hsla.inputs.slice(0, 3)\n};\nconst hexa = {\n inputProps: {\n type: 'text'\n },\n inputs: [{\n label: 'HEXA',\n getValue: c => c,\n getColor: (c, v) => v\n }],\n to: HSVtoHex,\n from: HexToHSV\n};\nconst hex = {\n ...hexa,\n inputs: [{\n label: 'HEX',\n getValue: c => c.slice(0, 7),\n getColor: (c, v) => v\n }]\n};\nexport const modes = {\n rgb,\n rgba,\n hsl,\n hsla,\n hex,\n hexa\n};\n//# sourceMappingURL=index.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VColorPickerEdit.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { modes, nullColor } from \"./util/index.mjs\";\nimport { defineComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nconst VColorPickerInput = _ref => {\n let {\n label,\n ...rest\n } = _ref;\n return _createVNode(\"div\", {\n \"class\": \"v-color-picker-edit__input\"\n }, [_createVNode(\"input\", rest, null), _createVNode(\"span\", null, [label])]);\n};\nexport const makeVColorPickerEditProps = propsFactory({\n color: Object,\n disabled: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: v => Object.keys(modes).includes(v)\n },\n modes: {\n type: Array,\n default: () => Object.keys(modes),\n validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))\n },\n ...makeComponentProps()\n}, 'VColorPickerEdit');\nexport const VColorPickerEdit = defineComponent({\n name: 'VColorPickerEdit',\n props: makeVColorPickerEditProps(),\n emits: {\n 'update:color': color => true,\n 'update:mode': mode => true\n },\n setup(props, _ref2) {\n let {\n emit\n } = _ref2;\n const enabledModes = computed(() => {\n return props.modes.map(key => ({\n ...modes[key],\n name: key\n }));\n });\n const inputs = computed(() => {\n const mode = enabledModes.value.find(m => m.name === props.mode);\n if (!mode) return [];\n const color = props.color ? mode.to(props.color) : null;\n return mode.inputs?.map(_ref3 => {\n let {\n getValue,\n getColor,\n ...inputProps\n } = _ref3;\n return {\n ...mode.inputProps,\n ...inputProps,\n disabled: props.disabled,\n value: color && getValue(color),\n onChange: e => {\n const target = e.target;\n if (!target) return;\n emit('update:color', mode.from(getColor(color ?? mode.to(nullColor), target.value)));\n }\n };\n });\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-color-picker-edit', props.class],\n \"style\": props.style\n }, [inputs.value?.map(props => _createVNode(VColorPickerInput, props, null)), enabledModes.value.length > 1 && _createVNode(VBtn, {\n \"icon\": \"$unfold\",\n \"size\": \"x-small\",\n \"variant\": \"plain\",\n \"onClick\": () => {\n const mi = enabledModes.value.findIndex(m => m.name === props.mode);\n emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);\n }\n }, null)]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerEdit.mjs.map","/* eslint-disable max-statements */\n// Composables\nimport { makeElevationProps } from \"../../composables/elevation.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeRoundedProps } from \"../../composables/rounded.mjs\"; // Utilities\nimport { computed, provide, ref, shallowRef, toRef } from 'vue';\nimport { clamp, createRange, getDecimals, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const VSliderSymbol = Symbol.for('vuetify:v-slider');\nexport function getOffset(e, el, direction) {\n const vertical = direction === 'vertical';\n const rect = el.getBoundingClientRect();\n const touch = 'touches' in e ? e.touches[0] : e;\n return vertical ? touch.clientY - (rect.top + rect.height / 2) : touch.clientX - (rect.left + rect.width / 2);\n}\nfunction getPosition(e, position) {\n if ('touches' in e && e.touches.length) return e.touches[0][position];else if ('changedTouches' in e && e.changedTouches.length) return e.changedTouches[0][position];else return e[position];\n}\nexport const makeSliderProps = propsFactory({\n disabled: {\n type: Boolean,\n default: null\n },\n error: Boolean,\n readonly: {\n type: Boolean,\n default: null\n },\n max: {\n type: [Number, String],\n default: 100\n },\n min: {\n type: [Number, String],\n default: 0\n },\n step: {\n type: [Number, String],\n default: 0\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String],\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n thumbSize: {\n type: [Number, String],\n default: 20\n },\n showTicks: {\n type: [Boolean, String],\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n ticks: {\n type: [Array, Object]\n },\n tickSize: {\n type: [Number, String],\n default: 2\n },\n color: String,\n trackColor: String,\n trackFillColor: String,\n trackSize: {\n type: [Number, String],\n default: 4\n },\n direction: {\n type: String,\n default: 'horizontal',\n validator: v => ['vertical', 'horizontal'].includes(v)\n },\n reverse: Boolean,\n ...makeRoundedProps(),\n ...makeElevationProps({\n elevation: 2\n }),\n ripple: {\n type: Boolean,\n default: true\n }\n}, 'Slider');\nexport const useSteps = props => {\n const min = computed(() => parseFloat(props.min));\n const max = computed(() => parseFloat(props.max));\n const step = computed(() => +props.step > 0 ? parseFloat(props.step) : 0);\n const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));\n function roundValue(value) {\n value = parseFloat(value);\n if (step.value <= 0) return value;\n const clamped = clamp(value, min.value, max.value);\n const offset = min.value % step.value;\n const newValue = Math.round((clamped - offset) / step.value) * step.value + offset;\n return parseFloat(Math.min(newValue, max.value).toFixed(decimals.value));\n }\n return {\n min,\n max,\n step,\n decimals,\n roundValue\n };\n};\nexport const useSlider = _ref => {\n let {\n props,\n steps,\n onSliderStart,\n onSliderMove,\n onSliderEnd,\n getActiveThumb\n } = _ref;\n const {\n isRtl\n } = useRtl();\n const isReversed = toRef(props, 'reverse');\n const vertical = computed(() => props.direction === 'vertical');\n const indexFromEnd = computed(() => vertical.value !== isReversed.value);\n const {\n min,\n max,\n step,\n decimals,\n roundValue\n } = steps;\n const thumbSize = computed(() => parseInt(props.thumbSize, 10));\n const tickSize = computed(() => parseInt(props.tickSize, 10));\n const trackSize = computed(() => parseInt(props.trackSize, 10));\n const numTicks = computed(() => (max.value - min.value) / step.value);\n const disabled = toRef(props, 'disabled');\n const thumbColor = computed(() => props.error || props.disabled ? undefined : props.thumbColor ?? props.color);\n const trackColor = computed(() => props.error || props.disabled ? undefined : props.trackColor ?? props.color);\n const trackFillColor = computed(() => props.error || props.disabled ? undefined : props.trackFillColor ?? props.color);\n const mousePressed = shallowRef(false);\n const startOffset = shallowRef(0);\n const trackContainerRef = ref();\n const activeThumbRef = ref();\n function parseMouseMove(e) {\n const vertical = props.direction === 'vertical';\n const start = vertical ? 'top' : 'left';\n const length = vertical ? 'height' : 'width';\n const position = vertical ? 'clientY' : 'clientX';\n const {\n [start]: trackStart,\n [length]: trackLength\n } = trackContainerRef.value?.$el.getBoundingClientRect();\n const clickOffset = getPosition(e, position);\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - startOffset.value) / trackLength, 0), 1) || 0;\n if (vertical ? indexFromEnd.value : indexFromEnd.value !== isRtl.value) clickPos = 1 - clickPos;\n return roundValue(min.value + clickPos * (max.value - min.value));\n }\n const handleStop = e => {\n onSliderEnd({\n value: parseMouseMove(e)\n });\n mousePressed.value = false;\n startOffset.value = 0;\n };\n const handleStart = e => {\n activeThumbRef.value = getActiveThumb(e);\n if (!activeThumbRef.value) return;\n activeThumbRef.value.focus();\n mousePressed.value = true;\n if (activeThumbRef.value.contains(e.target)) {\n startOffset.value = getOffset(e, activeThumbRef.value, props.direction);\n } else {\n startOffset.value = 0;\n onSliderMove({\n value: parseMouseMove(e)\n });\n }\n onSliderStart({\n value: parseMouseMove(e)\n });\n };\n const moveListenerOptions = {\n passive: true,\n capture: true\n };\n function onMouseMove(e) {\n onSliderMove({\n value: parseMouseMove(e)\n });\n }\n function onSliderMouseUp(e) {\n e.stopPropagation();\n e.preventDefault();\n handleStop(e);\n window.removeEventListener('mousemove', onMouseMove, moveListenerOptions);\n window.removeEventListener('mouseup', onSliderMouseUp);\n }\n function onSliderTouchend(e) {\n handleStop(e);\n window.removeEventListener('touchmove', onMouseMove, moveListenerOptions);\n e.target?.removeEventListener('touchend', onSliderTouchend);\n }\n function onSliderTouchstart(e) {\n handleStart(e);\n window.addEventListener('touchmove', onMouseMove, moveListenerOptions);\n e.target?.addEventListener('touchend', onSliderTouchend, {\n passive: false\n });\n }\n function onSliderMousedown(e) {\n e.preventDefault();\n handleStart(e);\n window.addEventListener('mousemove', onMouseMove, moveListenerOptions);\n window.addEventListener('mouseup', onSliderMouseUp, {\n passive: false\n });\n }\n const position = val => {\n const percentage = (val - min.value) / (max.value - min.value) * 100;\n return clamp(isNaN(percentage) ? 0 : percentage, 0, 100);\n };\n const showTicks = toRef(props, 'showTicks');\n const parsedTicks = computed(() => {\n if (!showTicks.value) return [];\n if (!props.ticks) {\n return numTicks.value !== Infinity ? createRange(numTicks.value + 1).map(t => {\n const value = min.value + t * step.value;\n return {\n value,\n position: position(value)\n };\n }) : [];\n }\n if (Array.isArray(props.ticks)) return props.ticks.map(t => ({\n value: t,\n position: position(t),\n label: t.toString()\n }));\n return Object.keys(props.ticks).map(key => ({\n value: parseFloat(key),\n position: position(parseFloat(key)),\n label: props.ticks[key]\n }));\n });\n const hasLabels = computed(() => parsedTicks.value.some(_ref2 => {\n let {\n label\n } = _ref2;\n return !!label;\n }));\n const data = {\n activeThumbRef,\n color: toRef(props, 'color'),\n decimals,\n disabled,\n direction: toRef(props, 'direction'),\n elevation: toRef(props, 'elevation'),\n hasLabels,\n isReversed,\n indexFromEnd,\n min,\n max,\n mousePressed,\n numTicks,\n onSliderMousedown,\n onSliderTouchstart,\n parsedTicks,\n parseMouseMove,\n position,\n readonly: toRef(props, 'readonly'),\n rounded: toRef(props, 'rounded'),\n roundValue,\n showTicks,\n startOffset,\n step,\n thumbSize,\n thumbColor,\n thumbLabel: toRef(props, 'thumbLabel'),\n ticks: toRef(props, 'ticks'),\n tickSize,\n trackColor,\n trackContainerRef,\n trackFillColor,\n trackSize,\n vertical\n };\n provide(VSliderSymbol, data);\n return data;\n};\n//# sourceMappingURL=slider.mjs.map","import { vShow as _vShow, withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSliderThumb.css\";\n\n// Components\nimport { VSliderSymbol } from \"./slider.mjs\";\nimport { VScaleTransition } from \"../transitions/index.mjs\"; // Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useElevation } from \"../../composables/elevation.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\"; // Directives\nimport Ripple from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { convertToUnit, genericComponent, keyValues, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVSliderThumbProps = propsFactory({\n focused: Boolean,\n max: {\n type: Number,\n required: true\n },\n min: {\n type: Number,\n required: true\n },\n modelValue: {\n type: Number,\n required: true\n },\n position: {\n type: Number,\n required: true\n },\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n name: String,\n ...makeComponentProps()\n}, 'VSliderThumb');\nexport const VSliderThumb = genericComponent()({\n name: 'VSliderThumb',\n directives: {\n Ripple\n },\n props: makeVSliderThumbProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const slider = inject(VSliderSymbol);\n const {\n isRtl,\n rtlClasses\n } = useRtl();\n if (!slider) throw new Error('[Vuetify] v-slider-thumb must be used inside v-slider or v-range-slider');\n const {\n thumbColor,\n step,\n disabled,\n thumbSize,\n thumbLabel,\n direction,\n isReversed,\n vertical,\n readonly,\n elevation,\n mousePressed,\n decimals,\n indexFromEnd\n } = slider;\n const elevationProps = computed(() => !disabled.value ? elevation.value : undefined);\n const {\n elevationClasses\n } = useElevation(elevationProps);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(thumbColor);\n const {\n pageup,\n pagedown,\n end,\n home,\n left,\n right,\n down,\n up\n } = keyValues;\n const relevantKeys = [pageup, pagedown, end, home, left, right, down, up];\n const multipliers = computed(() => {\n if (step.value) return [1, 2, 3];else return [1, 5, 10];\n });\n function parseKeydown(e, value) {\n if (!relevantKeys.includes(e.key)) return;\n e.preventDefault();\n const _step = step.value || 0.1;\n const steps = (props.max - props.min) / _step;\n if ([left, right, down, up].includes(e.key)) {\n const increase = vertical.value ? [isRtl.value ? left : right, isReversed.value ? down : up] : indexFromEnd.value !== isRtl.value ? [left, up] : [right, up];\n const direction = increase.includes(e.key) ? 1 : -1;\n const multiplier = e.shiftKey ? 2 : e.ctrlKey ? 1 : 0;\n value = value + direction * _step * multipliers.value[multiplier];\n } else if (e.key === home) {\n value = props.min;\n } else if (e.key === end) {\n value = props.max;\n } else {\n const direction = e.key === pagedown ? 1 : -1;\n value = value - direction * _step * (steps > 100 ? steps / 10 : 10);\n }\n return Math.max(props.min, Math.min(props.max, value));\n }\n function onKeydown(e) {\n const newValue = parseKeydown(e, props.modelValue);\n newValue != null && emit('update:modelValue', newValue);\n }\n useRender(() => {\n const positionPercentage = convertToUnit(indexFromEnd.value ? 100 - props.position : props.position, '%');\n return _createVNode(\"div\", {\n \"class\": ['v-slider-thumb', {\n 'v-slider-thumb--focused': props.focused,\n 'v-slider-thumb--pressed': props.focused && mousePressed.value\n }, props.class, rtlClasses.value],\n \"style\": [{\n '--v-slider-thumb-position': positionPercentage,\n '--v-slider-thumb-size': convertToUnit(thumbSize.value)\n }, props.style],\n \"role\": \"slider\",\n \"tabindex\": disabled.value ? -1 : 0,\n \"aria-label\": props.name,\n \"aria-valuemin\": props.min,\n \"aria-valuemax\": props.max,\n \"aria-valuenow\": props.modelValue,\n \"aria-readonly\": !!readonly.value,\n \"aria-orientation\": direction.value,\n \"onKeydown\": !readonly.value ? onKeydown : undefined\n }, [_createVNode(\"div\", {\n \"class\": ['v-slider-thumb__surface', textColorClasses.value, elevationClasses.value],\n \"style\": {\n ...textColorStyles.value\n }\n }, null), _withDirectives(_createVNode(\"div\", {\n \"class\": ['v-slider-thumb__ripple', textColorClasses.value],\n \"style\": textColorStyles.value\n }, null), [[_resolveDirective(\"ripple\"), props.ripple, null, {\n circle: true,\n center: true\n }]]), _createVNode(VScaleTransition, {\n \"origin\": \"bottom center\"\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": \"v-slider-thumb__label-container\"\n }, [_createVNode(\"div\", {\n \"class\": ['v-slider-thumb__label']\n }, [_createVNode(\"div\", null, [slots['thumb-label']?.({\n modelValue: props.modelValue\n }) ?? props.modelValue.toFixed(step.value ? decimals.value : 1)])])]), [[_vShow, thumbLabel.value && props.focused || thumbLabel.value === 'always']])]\n })]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSliderThumb.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSliderTrack.css\";\n\n// Components\nimport { VSliderSymbol } from \"./slider.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useRounded } from \"../../composables/rounded.mjs\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVSliderTrackProps = propsFactory({\n start: {\n type: Number,\n required: true\n },\n stop: {\n type: Number,\n required: true\n },\n ...makeComponentProps()\n}, 'VSliderTrack');\nexport const VSliderTrack = genericComponent()({\n name: 'VSliderTrack',\n props: makeVSliderTrackProps(),\n emits: {},\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const slider = inject(VSliderSymbol);\n if (!slider) throw new Error('[Vuetify] v-slider-track must be inside v-slider or v-range-slider');\n const {\n color,\n parsedTicks,\n rounded,\n showTicks,\n tickSize,\n trackColor,\n trackFillColor,\n trackSize,\n vertical,\n min,\n max,\n indexFromEnd\n } = slider;\n const {\n roundedClasses\n } = useRounded(rounded);\n const {\n backgroundColorClasses: trackFillColorClasses,\n backgroundColorStyles: trackFillColorStyles\n } = useBackgroundColor(trackFillColor);\n const {\n backgroundColorClasses: trackColorClasses,\n backgroundColorStyles: trackColorStyles\n } = useBackgroundColor(trackColor);\n const startDir = computed(() => `inset-${vertical.value ? 'block' : 'inline'}-${indexFromEnd.value ? 'end' : 'start'}`);\n const endDir = computed(() => vertical.value ? 'height' : 'width');\n const backgroundStyles = computed(() => {\n return {\n [startDir.value]: '0%',\n [endDir.value]: '100%'\n };\n });\n const trackFillWidth = computed(() => props.stop - props.start);\n const trackFillStyles = computed(() => {\n return {\n [startDir.value]: convertToUnit(props.start, '%'),\n [endDir.value]: convertToUnit(trackFillWidth.value, '%')\n };\n });\n const computedTicks = computed(() => {\n if (!showTicks.value) return [];\n const ticks = vertical.value ? parsedTicks.value.slice().reverse() : parsedTicks.value;\n return ticks.map((tick, index) => {\n const directionValue = tick.value !== min.value && tick.value !== max.value ? convertToUnit(tick.position, '%') : undefined;\n return _createVNode(\"div\", {\n \"key\": tick.value,\n \"class\": ['v-slider-track__tick', {\n 'v-slider-track__tick--filled': tick.position >= props.start && tick.position <= props.stop,\n 'v-slider-track__tick--first': tick.value === min.value,\n 'v-slider-track__tick--last': tick.value === max.value\n }],\n \"style\": {\n [startDir.value]: directionValue\n }\n }, [(tick.label || slots['tick-label']) && _createVNode(\"div\", {\n \"class\": \"v-slider-track__tick-label\"\n }, [slots['tick-label']?.({\n tick,\n index\n }) ?? tick.label])]);\n });\n });\n useRender(() => {\n return _createVNode(\"div\", {\n \"class\": ['v-slider-track', roundedClasses.value, props.class],\n \"style\": [{\n '--v-slider-track-size': convertToUnit(trackSize.value),\n '--v-slider-tick-size': convertToUnit(tickSize.value)\n }, props.style]\n }, [_createVNode(\"div\", {\n \"class\": ['v-slider-track__background', trackColorClasses.value, {\n 'v-slider-track__background--opacity': !!color.value || !trackFillColor.value\n }],\n \"style\": {\n ...backgroundStyles.value,\n ...trackColorStyles.value\n }\n }, null), _createVNode(\"div\", {\n \"class\": ['v-slider-track__fill', trackFillColorClasses.value],\n \"style\": {\n ...trackFillStyles.value,\n ...trackFillColorStyles.value\n }\n }, null), showTicks.value && _createVNode(\"div\", {\n \"class\": ['v-slider-track__ticks', {\n 'v-slider-track__ticks--always-show': showTicks.value === 'always'\n }]\n }, [computedTicks.value])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSliderTrack.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VSlider.css\";\n\n// Components\nimport { VSliderThumb } from \"./VSliderThumb.mjs\";\nimport { VSliderTrack } from \"./VSliderTrack.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\";\nimport { VLabel } from \"../VLabel/index.mjs\"; // Composables\nimport { makeSliderProps, useSlider, useSteps } from \"./slider.mjs\";\nimport { makeFocusProps, useFocus } from \"../../composables/focus.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, ref } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeSliderProps(),\n ...makeVInputProps(),\n modelValue: {\n type: [Number, String],\n default: 0\n }\n}, 'VSlider');\nexport const VSlider = genericComponent()({\n name: 'VSlider',\n props: makeVSliderProps(),\n emits: {\n 'update:focused': value => true,\n 'update:modelValue': v => true,\n start: value => true,\n end: value => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const thumbContainerRef = ref();\n const {\n rtlClasses\n } = useRtl();\n const steps = useSteps(props);\n const model = useProxiedModel(props, 'modelValue', undefined, value => {\n return steps.roundValue(value == null ? steps.min.value : value);\n });\n const {\n min,\n max,\n mousePressed,\n roundValue,\n onSliderMousedown,\n onSliderTouchstart,\n trackContainerRef,\n position,\n hasLabels,\n readonly\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value);\n },\n onSliderEnd: _ref2 => {\n let {\n value\n } = _ref2;\n const roundedValue = roundValue(value);\n model.value = roundedValue;\n emit('end', roundedValue);\n },\n onSliderMove: _ref3 => {\n let {\n value\n } = _ref3;\n return model.value = roundValue(value);\n },\n getActiveThumb: () => thumbContainerRef.value?.$el\n });\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const trackStop = computed(() => position(model.value));\n useRender(() => {\n const inputProps = VInput.filterProps(props);\n const hasPrepend = !!(props.label || slots.label || slots.prepend);\n return _createVNode(VInput, _mergeProps({\n \"class\": ['v-slider', {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled\n }, rtlClasses.value, props.class],\n \"style\": props.style\n }, inputProps, {\n \"focused\": isFocused.value\n }), {\n ...slots,\n prepend: hasPrepend ? slotProps => _createVNode(_Fragment, null, [slots.label?.(slotProps) ?? (props.label ? _createVNode(VLabel, {\n \"id\": slotProps.id.value,\n \"class\": \"v-slider__label\",\n \"text\": props.label\n }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,\n default: _ref4 => {\n let {\n id,\n messagesId\n } = _ref4;\n return _createVNode(\"div\", {\n \"class\": \"v-slider__container\",\n \"onMousedown\": !readonly.value ? onSliderMousedown : undefined,\n \"onTouchstartPassive\": !readonly.value ? onSliderTouchstart : undefined\n }, [_createVNode(\"input\", {\n \"id\": id.value,\n \"name\": props.name || id.value,\n \"disabled\": !!props.disabled,\n \"readonly\": !!props.readonly,\n \"tabindex\": \"-1\",\n \"value\": model.value\n }, null), _createVNode(VSliderTrack, {\n \"ref\": trackContainerRef,\n \"start\": 0,\n \"stop\": trackStop.value\n }, {\n 'tick-label': slots['tick-label']\n }), _createVNode(VSliderThumb, {\n \"ref\": thumbContainerRef,\n \"aria-describedby\": messagesId.value,\n \"focused\": isFocused.value,\n \"min\": min.value,\n \"max\": max.value,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": v => model.value = v,\n \"position\": trackStop.value,\n \"elevation\": props.elevation,\n \"onFocus\": focus,\n \"onBlur\": blur,\n \"ripple\": props.ripple,\n \"name\": props.name\n }, {\n 'thumb-label': slots['thumb-label']\n })]);\n }\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VSlider.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VColorPickerPreview.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VSlider } from \"../VSlider/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\"; // Utilities\nimport { onUnmounted } from 'vue';\nimport { nullColor } from \"./util/index.mjs\";\nimport { defineComponent, HexToHSV, HSVtoCSS, propsFactory, SUPPORTS_EYE_DROPPER, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n ...makeComponentProps()\n}, 'VColorPickerPreview');\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n props: makeVColorPickerPreviewProps(),\n emits: {\n 'update:color': color => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const abortController = new AbortController();\n onUnmounted(() => abortController.abort());\n async function openEyeDropper() {\n if (!SUPPORTS_EYE_DROPPER) return;\n const eyeDropper = new window.EyeDropper();\n try {\n const result = await eyeDropper.open({\n signal: abortController.signal\n });\n const colorHexValue = HexToHSV(result.sRGBHex);\n emit('update:color', {\n ...(props.color ?? nullColor),\n ...colorHexValue\n });\n } catch (e) {}\n }\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-color-picker-preview', {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha\n }, props.class],\n \"style\": props.style\n }, [SUPPORTS_EYE_DROPPER && _createVNode(\"div\", {\n \"class\": \"v-color-picker-preview__eye-dropper\",\n \"key\": \"eyeDropper\"\n }, [_createVNode(VBtn, {\n \"onClick\": openEyeDropper,\n \"icon\": \"$eyeDropper\",\n \"variant\": \"plain\",\n \"density\": \"comfortable\"\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-color-picker-preview__dot\"\n }, [_createVNode(\"div\", {\n \"style\": {\n background: HSVtoCSS(props.color ?? nullColor)\n }\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-color-picker-preview__sliders\"\n }, [_createVNode(VSlider, {\n \"class\": \"v-color-picker-preview__track v-color-picker-preview__hue\",\n \"modelValue\": props.color?.h,\n \"onUpdate:modelValue\": h => emit('update:color', {\n ...(props.color ?? nullColor),\n h\n }),\n \"step\": 0,\n \"min\": 0,\n \"max\": 360,\n \"disabled\": props.disabled,\n \"thumbSize\": 14,\n \"trackSize\": 8,\n \"trackFillColor\": \"white\",\n \"hideDetails\": true\n }, null), !props.hideAlpha && _createVNode(VSlider, {\n \"class\": \"v-color-picker-preview__track v-color-picker-preview__alpha\",\n \"modelValue\": props.color?.a ?? 1,\n \"onUpdate:modelValue\": a => emit('update:color', {\n ...(props.color ?? nullColor),\n a\n }),\n \"step\": 1 / 256,\n \"min\": 0,\n \"max\": 1,\n \"disabled\": props.disabled,\n \"thumbSize\": 14,\n \"trackSize\": 8,\n \"trackFillColor\": \"white\",\n \"hideDetails\": true\n }, null)])]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerPreview.mjs.map","export const red = {\n base: '#f44336',\n lighten5: '#ffebee',\n lighten4: '#ffcdd2',\n lighten3: '#ef9a9a',\n lighten2: '#e57373',\n lighten1: '#ef5350',\n darken1: '#e53935',\n darken2: '#d32f2f',\n darken3: '#c62828',\n darken4: '#b71c1c',\n accent1: '#ff8a80',\n accent2: '#ff5252',\n accent3: '#ff1744',\n accent4: '#d50000'\n};\nexport const pink = {\n base: '#e91e63',\n lighten5: '#fce4ec',\n lighten4: '#f8bbd0',\n lighten3: '#f48fb1',\n lighten2: '#f06292',\n lighten1: '#ec407a',\n darken1: '#d81b60',\n darken2: '#c2185b',\n darken3: '#ad1457',\n darken4: '#880e4f',\n accent1: '#ff80ab',\n accent2: '#ff4081',\n accent3: '#f50057',\n accent4: '#c51162'\n};\nexport const purple = {\n base: '#9c27b0',\n lighten5: '#f3e5f5',\n lighten4: '#e1bee7',\n lighten3: '#ce93d8',\n lighten2: '#ba68c8',\n lighten1: '#ab47bc',\n darken1: '#8e24aa',\n darken2: '#7b1fa2',\n darken3: '#6a1b9a',\n darken4: '#4a148c',\n accent1: '#ea80fc',\n accent2: '#e040fb',\n accent3: '#d500f9',\n accent4: '#aa00ff'\n};\nexport const deepPurple = {\n base: '#673ab7',\n lighten5: '#ede7f6',\n lighten4: '#d1c4e9',\n lighten3: '#b39ddb',\n lighten2: '#9575cd',\n lighten1: '#7e57c2',\n darken1: '#5e35b1',\n darken2: '#512da8',\n darken3: '#4527a0',\n darken4: '#311b92',\n accent1: '#b388ff',\n accent2: '#7c4dff',\n accent3: '#651fff',\n accent4: '#6200ea'\n};\nexport const indigo = {\n base: '#3f51b5',\n lighten5: '#e8eaf6',\n lighten4: '#c5cae9',\n lighten3: '#9fa8da',\n lighten2: '#7986cb',\n lighten1: '#5c6bc0',\n darken1: '#3949ab',\n darken2: '#303f9f',\n darken3: '#283593',\n darken4: '#1a237e',\n accent1: '#8c9eff',\n accent2: '#536dfe',\n accent3: '#3d5afe',\n accent4: '#304ffe'\n};\nexport const blue = {\n base: '#2196f3',\n lighten5: '#e3f2fd',\n lighten4: '#bbdefb',\n lighten3: '#90caf9',\n lighten2: '#64b5f6',\n lighten1: '#42a5f5',\n darken1: '#1e88e5',\n darken2: '#1976d2',\n darken3: '#1565c0',\n darken4: '#0d47a1',\n accent1: '#82b1ff',\n accent2: '#448aff',\n accent3: '#2979ff',\n accent4: '#2962ff'\n};\nexport const lightBlue = {\n base: '#03a9f4',\n lighten5: '#e1f5fe',\n lighten4: '#b3e5fc',\n lighten3: '#81d4fa',\n lighten2: '#4fc3f7',\n lighten1: '#29b6f6',\n darken1: '#039be5',\n darken2: '#0288d1',\n darken3: '#0277bd',\n darken4: '#01579b',\n accent1: '#80d8ff',\n accent2: '#40c4ff',\n accent3: '#00b0ff',\n accent4: '#0091ea'\n};\nexport const cyan = {\n base: '#00bcd4',\n lighten5: '#e0f7fa',\n lighten4: '#b2ebf2',\n lighten3: '#80deea',\n lighten2: '#4dd0e1',\n lighten1: '#26c6da',\n darken1: '#00acc1',\n darken2: '#0097a7',\n darken3: '#00838f',\n darken4: '#006064',\n accent1: '#84ffff',\n accent2: '#18ffff',\n accent3: '#00e5ff',\n accent4: '#00b8d4'\n};\nexport const teal = {\n base: '#009688',\n lighten5: '#e0f2f1',\n lighten4: '#b2dfdb',\n lighten3: '#80cbc4',\n lighten2: '#4db6ac',\n lighten1: '#26a69a',\n darken1: '#00897b',\n darken2: '#00796b',\n darken3: '#00695c',\n darken4: '#004d40',\n accent1: '#a7ffeb',\n accent2: '#64ffda',\n accent3: '#1de9b6',\n accent4: '#00bfa5'\n};\nexport const green = {\n base: '#4caf50',\n lighten5: '#e8f5e9',\n lighten4: '#c8e6c9',\n lighten3: '#a5d6a7',\n lighten2: '#81c784',\n lighten1: '#66bb6a',\n darken1: '#43a047',\n darken2: '#388e3c',\n darken3: '#2e7d32',\n darken4: '#1b5e20',\n accent1: '#b9f6ca',\n accent2: '#69f0ae',\n accent3: '#00e676',\n accent4: '#00c853'\n};\nexport const lightGreen = {\n base: '#8bc34a',\n lighten5: '#f1f8e9',\n lighten4: '#dcedc8',\n lighten3: '#c5e1a5',\n lighten2: '#aed581',\n lighten1: '#9ccc65',\n darken1: '#7cb342',\n darken2: '#689f38',\n darken3: '#558b2f',\n darken4: '#33691e',\n accent1: '#ccff90',\n accent2: '#b2ff59',\n accent3: '#76ff03',\n accent4: '#64dd17'\n};\nexport const lime = {\n base: '#cddc39',\n lighten5: '#f9fbe7',\n lighten4: '#f0f4c3',\n lighten3: '#e6ee9c',\n lighten2: '#dce775',\n lighten1: '#d4e157',\n darken1: '#c0ca33',\n darken2: '#afb42b',\n darken3: '#9e9d24',\n darken4: '#827717',\n accent1: '#f4ff81',\n accent2: '#eeff41',\n accent3: '#c6ff00',\n accent4: '#aeea00'\n};\nexport const yellow = {\n base: '#ffeb3b',\n lighten5: '#fffde7',\n lighten4: '#fff9c4',\n lighten3: '#fff59d',\n lighten2: '#fff176',\n lighten1: '#ffee58',\n darken1: '#fdd835',\n darken2: '#fbc02d',\n darken3: '#f9a825',\n darken4: '#f57f17',\n accent1: '#ffff8d',\n accent2: '#ffff00',\n accent3: '#ffea00',\n accent4: '#ffd600'\n};\nexport const amber = {\n base: '#ffc107',\n lighten5: '#fff8e1',\n lighten4: '#ffecb3',\n lighten3: '#ffe082',\n lighten2: '#ffd54f',\n lighten1: '#ffca28',\n darken1: '#ffb300',\n darken2: '#ffa000',\n darken3: '#ff8f00',\n darken4: '#ff6f00',\n accent1: '#ffe57f',\n accent2: '#ffd740',\n accent3: '#ffc400',\n accent4: '#ffab00'\n};\nexport const orange = {\n base: '#ff9800',\n lighten5: '#fff3e0',\n lighten4: '#ffe0b2',\n lighten3: '#ffcc80',\n lighten2: '#ffb74d',\n lighten1: '#ffa726',\n darken1: '#fb8c00',\n darken2: '#f57c00',\n darken3: '#ef6c00',\n darken4: '#e65100',\n accent1: '#ffd180',\n accent2: '#ffab40',\n accent3: '#ff9100',\n accent4: '#ff6d00'\n};\nexport const deepOrange = {\n base: '#ff5722',\n lighten5: '#fbe9e7',\n lighten4: '#ffccbc',\n lighten3: '#ffab91',\n lighten2: '#ff8a65',\n lighten1: '#ff7043',\n darken1: '#f4511e',\n darken2: '#e64a19',\n darken3: '#d84315',\n darken4: '#bf360c',\n accent1: '#ff9e80',\n accent2: '#ff6e40',\n accent3: '#ff3d00',\n accent4: '#dd2c00'\n};\nexport const brown = {\n base: '#795548',\n lighten5: '#efebe9',\n lighten4: '#d7ccc8',\n lighten3: '#bcaaa4',\n lighten2: '#a1887f',\n lighten1: '#8d6e63',\n darken1: '#6d4c41',\n darken2: '#5d4037',\n darken3: '#4e342e',\n darken4: '#3e2723'\n};\nexport const blueGrey = {\n base: '#607d8b',\n lighten5: '#eceff1',\n lighten4: '#cfd8dc',\n lighten3: '#b0bec5',\n lighten2: '#90a4ae',\n lighten1: '#78909c',\n darken1: '#546e7a',\n darken2: '#455a64',\n darken3: '#37474f',\n darken4: '#263238'\n};\nexport const grey = {\n base: '#9e9e9e',\n lighten5: '#fafafa',\n lighten4: '#f5f5f5',\n lighten3: '#eeeeee',\n lighten2: '#e0e0e0',\n lighten1: '#bdbdbd',\n darken1: '#757575',\n darken2: '#616161',\n darken3: '#424242',\n darken4: '#212121'\n};\nexport const shades = {\n black: '#000000',\n white: '#ffffff',\n transparent: '#ffffff00'\n};\nexport default {\n red,\n pink,\n purple,\n deepPurple,\n indigo,\n blue,\n lightBlue,\n cyan,\n teal,\n green,\n lightGreen,\n lime,\n yellow,\n amber,\n orange,\n deepOrange,\n brown,\n blueGrey,\n grey,\n shades\n};\n//# sourceMappingURL=colors.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VColorPickerSwatches.css\";\n\n// Components\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\"; // Utilities\nimport { convertToUnit, deepEqual, defineComponent, getContrast, parseColor, propsFactory, RGBtoCSS, RGBtoHSV, useRender } from \"../../util/index.mjs\";\nimport colors from \"../../util/colors.mjs\"; // Types\nexport const makeVColorPickerSwatchesProps = propsFactory({\n swatches: {\n type: Array,\n default: () => parseDefaultColors(colors)\n },\n disabled: Boolean,\n color: Object,\n maxHeight: [Number, String],\n ...makeComponentProps()\n}, 'VColorPickerSwatches');\nfunction parseDefaultColors(colors) {\n return Object.keys(colors).map(key => {\n const color = colors[key];\n return color.base ? [color.base, color.darken4, color.darken3, color.darken2, color.darken1, color.lighten1, color.lighten2, color.lighten3, color.lighten4, color.lighten5] : [color.black, color.white, color.transparent];\n });\n}\nexport const VColorPickerSwatches = defineComponent({\n name: 'VColorPickerSwatches',\n props: makeVColorPickerSwatchesProps(),\n emits: {\n 'update:color': color => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-color-picker-swatches', props.class],\n \"style\": [{\n maxHeight: convertToUnit(props.maxHeight)\n }, props.style]\n }, [_createVNode(\"div\", null, [props.swatches.map(swatch => _createVNode(\"div\", {\n \"class\": \"v-color-picker-swatches__swatch\"\n }, [swatch.map(color => {\n const rgba = parseColor(color);\n const hsva = RGBtoHSV(rgba);\n const background = RGBtoCSS(rgba);\n return _createVNode(\"div\", {\n \"class\": \"v-color-picker-swatches__color\",\n \"onClick\": () => hsva && emit('update:color', hsva)\n }, [_createVNode(\"div\", {\n \"style\": {\n background\n }\n }, [props.color && deepEqual(props.color, hsva) ? _createVNode(VIcon, {\n \"size\": \"x-small\",\n \"icon\": \"$success\",\n \"color\": getContrast(color, '#FFFFFF') > 2 ? 'white' : 'black'\n }, null) : undefined])]);\n })]))])]));\n return {};\n }\n});\n//# sourceMappingURL=VColorPickerSwatches.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VSheet.css\";\n\n// Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeLocationProps, useLocation } from \"../../composables/location.mjs\";\nimport { makePositionProps, usePosition } from \"../../composables/position.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVSheetProps = propsFactory({\n color: String,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VSheet');\nexport const VSheet = genericComponent()({\n name: 'VSheet',\n props: makeVSheetProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n borderClasses\n } = useBorder(props);\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n locationStyles\n } = useLocation(props);\n const {\n positionClasses\n } = usePosition(props);\n const {\n roundedClasses\n } = useRounded(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-sheet', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, dimensionStyles.value, locationStyles.value, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VSheet.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VColorPicker.css\";\n\n// Components\nimport { VColorPickerCanvas } from \"./VColorPickerCanvas.mjs\";\nimport { VColorPickerEdit } from \"./VColorPickerEdit.mjs\";\nimport { VColorPickerPreview } from \"./VColorPickerPreview.mjs\";\nimport { VColorPickerSwatches } from \"./VColorPickerSwatches.mjs\";\nimport { makeVSheetProps, VSheet } from \"../VSheet/VSheet.mjs\"; // Composables\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { extractColor, modes, nullColor } from \"./util/index.mjs\";\nimport { consoleWarn, defineComponent, HSVtoCSS, omit, parseColor, propsFactory, RGBtoHSV, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVColorPickerProps = propsFactory({\n canvasHeight: {\n type: [String, Number],\n default: 150\n },\n disabled: Boolean,\n dotSize: {\n type: [Number, String],\n default: 10\n },\n hideCanvas: Boolean,\n hideSliders: Boolean,\n hideInputs: Boolean,\n mode: {\n type: String,\n default: 'rgba',\n validator: v => Object.keys(modes).includes(v)\n },\n modes: {\n type: Array,\n default: () => Object.keys(modes),\n validator: v => Array.isArray(v) && v.every(m => Object.keys(modes).includes(m))\n },\n showSwatches: Boolean,\n swatches: Array,\n swatchesMaxHeight: {\n type: [Number, String],\n default: 150\n },\n modelValue: {\n type: [Object, String]\n },\n ...omit(makeVSheetProps({\n width: 300\n }), ['height', 'location', 'minHeight', 'maxHeight', 'minWidth', 'maxWidth'])\n}, 'VColorPicker');\nexport const VColorPicker = defineComponent({\n name: 'VColorPicker',\n props: makeVColorPickerProps(),\n emits: {\n 'update:modelValue': color => true,\n 'update:mode': mode => true\n },\n setup(props) {\n const mode = useProxiedModel(props, 'mode');\n const hue = ref(null);\n const model = useProxiedModel(props, 'modelValue', undefined, v => {\n if (v == null || v === '') return null;\n let c;\n try {\n c = RGBtoHSV(parseColor(v));\n } catch (err) {\n consoleWarn(err);\n return null;\n }\n return c;\n }, v => {\n if (!v) return null;\n return extractColor(v, props.modelValue);\n });\n const currentColor = computed(() => {\n return model.value ? {\n ...model.value,\n h: hue.value ?? model.value.h\n } : null;\n });\n const {\n rtlClasses\n } = useRtl();\n let externalChange = true;\n watch(model, v => {\n if (!externalChange) {\n // prevent hue shift from rgb conversion inaccuracy\n externalChange = true;\n return;\n }\n if (!v) return;\n hue.value = v.h;\n }, {\n immediate: true\n });\n const updateColor = hsva => {\n externalChange = false;\n hue.value = hsva.h;\n model.value = hsva;\n };\n onMounted(() => {\n if (!props.modes.includes(mode.value)) mode.value = props.modes[0];\n });\n provideDefaults({\n VSlider: {\n color: undefined,\n trackColor: undefined,\n trackFillColor: undefined\n }\n });\n useRender(() => {\n const sheetProps = VSheet.filterProps(props);\n return _createVNode(VSheet, _mergeProps({\n \"rounded\": props.rounded,\n \"elevation\": props.elevation,\n \"theme\": props.theme,\n \"class\": ['v-color-picker', rtlClasses.value, props.class],\n \"style\": [{\n '--v-color-picker-color-hsv': HSVtoCSS({\n ...(currentColor.value ?? nullColor),\n a: 1\n })\n }, props.style]\n }, sheetProps, {\n \"maxWidth\": props.width\n }), {\n default: () => [!props.hideCanvas && _createVNode(VColorPickerCanvas, {\n \"key\": \"canvas\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"disabled\": props.disabled,\n \"dotSize\": props.dotSize,\n \"width\": props.width,\n \"height\": props.canvasHeight\n }, null), (!props.hideSliders || !props.hideInputs) && _createVNode(\"div\", {\n \"key\": \"controls\",\n \"class\": \"v-color-picker__controls\"\n }, [!props.hideSliders && _createVNode(VColorPickerPreview, {\n \"key\": \"preview\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"hideAlpha\": !mode.value.endsWith('a'),\n \"disabled\": props.disabled\n }, null), !props.hideInputs && _createVNode(VColorPickerEdit, {\n \"key\": \"edit\",\n \"modes\": props.modes,\n \"mode\": mode.value,\n \"onUpdate:mode\": m => mode.value = m,\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"disabled\": props.disabled\n }, null)]), props.showSwatches && _createVNode(VColorPickerSwatches, {\n \"key\": \"swatches\",\n \"color\": currentColor.value,\n \"onUpdate:color\": updateColor,\n \"maxHeight\": props.swatchesMaxHeight,\n \"swatches\": props.swatches,\n \"disabled\": props.disabled\n }, null)]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VColorPicker.mjs.map","import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VCombobox.css\";\n\n// Components\nimport { VAvatar } from \"../VAvatar/index.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.mjs\";\nimport { VChip } from \"../VChip/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VList, VListItem } from \"../VList/index.mjs\";\nimport { VMenu } from \"../VMenu/index.mjs\";\nimport { makeSelectProps } from \"../VSelect/VSelect.mjs\";\nimport { VTextField } from \"../VTextField/index.mjs\";\nimport { makeVTextFieldProps } from \"../VTextField/VTextField.mjs\";\nimport { VVirtualScroll } from \"../VVirtualScroll/index.mjs\"; // Composables\nimport { useScrolling } from \"../VSelect/useScrolling.mjs\";\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { makeFilterProps, useFilter } from \"../../composables/filter.mjs\";\nimport { useForm } from \"../../composables/form.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { transformItem, useItems } from \"../../composables/list-items.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeTransitionProps } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, mergeProps, nextTick, ref, shallowRef, watch } from 'vue';\nimport { checkPrintable, ensureValidVNode, genericComponent, IN_BROWSER, isComposingIgnoreKey, noop, omit, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nfunction highlightResult(text, matches, length) {\n if (matches == null) return text;\n if (Array.isArray(matches)) throw new Error('Multiple matches is not implemented');\n return typeof matches === 'number' && ~matches ? _createVNode(_Fragment, null, [_createVNode(\"span\", {\n \"class\": \"v-combobox__unmask\"\n }, [text.substr(0, matches)]), _createVNode(\"span\", {\n \"class\": \"v-combobox__mask\"\n }, [text.substr(matches, length)]), _createVNode(\"span\", {\n \"class\": \"v-combobox__unmask\"\n }, [text.substr(matches + length)])]) : text;\n}\nexport const makeVComboboxProps = propsFactory({\n autoSelectFirst: {\n type: [Boolean, String]\n },\n clearOnSelect: {\n type: Boolean,\n default: true\n },\n delimiters: Array,\n ...makeFilterProps({\n filterKeys: ['title']\n }),\n ...makeSelectProps({\n hideNoData: true,\n returnObject: true\n }),\n ...omit(makeVTextFieldProps({\n modelValue: null,\n role: 'combobox'\n }), ['validationValue', 'dirty', 'appendInnerIcon']),\n ...makeTransitionProps({\n transition: false\n })\n}, 'VCombobox');\nexport const VCombobox = genericComponent()({\n name: 'VCombobox',\n props: makeVComboboxProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true,\n 'update:search': value => true,\n 'update:menu': value => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const vTextFieldRef = ref();\n const isFocused = shallowRef(false);\n const isPristine = shallowRef(true);\n const listHasFocus = shallowRef(false);\n const vMenuRef = ref();\n const vVirtualScrollRef = ref();\n const _menu = useProxiedModel(props, 'menu');\n const menu = computed({\n get: () => _menu.value,\n set: v => {\n if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;\n _menu.value = v;\n }\n });\n const selectionIndex = shallowRef(-1);\n let cleared = false;\n const color = computed(() => vTextFieldRef.value?.color);\n const label = computed(() => menu.value ? props.closeText : props.openText);\n const {\n items,\n transformIn,\n transformOut\n } = useItems(props);\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(color);\n const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {\n const transformed = transformOut(v);\n return props.multiple ? transformed : transformed[0] ?? null;\n });\n const form = useForm();\n const hasChips = computed(() => !!(props.chips || slots.chip));\n const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);\n const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');\n const search = computed({\n get: () => {\n return _search.value;\n },\n set: val => {\n _search.value = val ?? '';\n if (!props.multiple && !hasSelectionSlot.value) {\n model.value = [transformItem(props, val)];\n }\n if (val && props.multiple && props.delimiters?.length) {\n const values = val.split(new RegExp(`(?:${props.delimiters.join('|')})+`));\n if (values.length > 1) {\n values.forEach(v => {\n v = v.trim();\n if (v) select(transformItem(props, v));\n });\n _search.value = '';\n }\n }\n if (!val) selectionIndex.value = -1;\n isPristine.value = !val;\n }\n });\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : props.multiple ? model.value.length : search.value.length;\n });\n watch(_search, value => {\n if (cleared) {\n // wait for clear to finish, VTextField sets _search to null\n // then search computed triggers and updates _search to ''\n nextTick(() => cleared = false);\n } else if (isFocused.value && !menu.value) {\n menu.value = true;\n }\n emit('update:search', value);\n });\n watch(model, value => {\n if (!props.multiple && !hasSelectionSlot.value) {\n _search.value = value[0]?.title ?? '';\n }\n });\n const {\n filteredItems,\n getMatches\n } = useFilter(props, items, () => isPristine.value ? '' : search.value);\n const displayItems = computed(() => {\n if (props.hideSelected) {\n return filteredItems.value.filter(filteredItem => !model.value.some(s => s.value === filteredItem.value));\n }\n return filteredItems.value;\n });\n const selectedValues = computed(() => model.value.map(selection => selection.value));\n const highlightFirst = computed(() => {\n const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;\n return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;\n });\n const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);\n const listRef = ref();\n const listEvents = useScrolling(listRef, vTextFieldRef);\n function onClear(e) {\n cleared = true;\n if (props.openOnClear) {\n menu.value = true;\n }\n }\n function onMousedownControl() {\n if (menuDisabled.value) return;\n menu.value = true;\n }\n function onMousedownMenuIcon(e) {\n if (menuDisabled.value) return;\n if (isFocused.value) {\n e.preventDefault();\n e.stopPropagation();\n }\n menu.value = !menu.value;\n }\n function onListKeydown(e) {\n if (checkPrintable(e)) {\n vTextFieldRef.value?.focus();\n }\n }\n // eslint-disable-next-line complexity\n function onKeydown(e) {\n if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;\n const selectionStart = vTextFieldRef.value.selectionStart;\n const length = model.value.length;\n if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n }\n if (['Enter', 'ArrowDown'].includes(e.key)) {\n menu.value = true;\n }\n if (['Escape'].includes(e.key)) {\n menu.value = false;\n }\n if (['Enter', 'Escape', 'Tab'].includes(e.key)) {\n if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key) && !model.value.some(_ref2 => {\n let {\n value\n } = _ref2;\n return value === displayItems.value[0].value;\n })) {\n select(filteredItems.value[0]);\n }\n isPristine.value = true;\n }\n if (e.key === 'ArrowDown' && highlightFirst.value) {\n listRef.value?.focus('next');\n }\n if (e.key === 'Enter' && search.value) {\n select(transformItem(props, search.value));\n if (hasSelectionSlot.value) _search.value = '';\n }\n if (['Backspace', 'Delete'].includes(e.key)) {\n if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);\n if (~selectionIndex.value) {\n const originalSelectionIndex = selectionIndex.value;\n select(model.value[selectionIndex.value], false);\n selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;\n } else if (e.key === 'Backspace' && !search.value) {\n selectionIndex.value = length - 1;\n }\n }\n if (!props.multiple) return;\n if (e.key === 'ArrowLeft') {\n if (selectionIndex.value < 0 && selectionStart > 0) return;\n const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1;\n if (model.value[prev]) {\n selectionIndex.value = prev;\n } else {\n selectionIndex.value = -1;\n vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length);\n }\n }\n if (e.key === 'ArrowRight') {\n if (selectionIndex.value < 0) return;\n const next = selectionIndex.value + 1;\n if (model.value[next]) {\n selectionIndex.value = next;\n } else {\n selectionIndex.value = -1;\n vTextFieldRef.value.setSelectionRange(0, 0);\n }\n }\n }\n function onAfterEnter() {\n if (props.eager) {\n vVirtualScrollRef.value?.calculateVisibleItems();\n }\n }\n function onAfterLeave() {\n if (isFocused.value) {\n isPristine.value = true;\n vTextFieldRef.value?.focus();\n }\n }\n /** @param set - null means toggle */\n function select(item) {\n let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!item || item.props.disabled) return;\n if (props.multiple) {\n const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));\n const add = set == null ? !~index : set;\n if (~index) {\n const value = add ? [...model.value, item] : [...model.value];\n value.splice(index, 1);\n model.value = value;\n } else if (add) {\n model.value = [...model.value, item];\n }\n if (props.clearOnSelect) {\n search.value = '';\n }\n } else {\n const add = set !== false;\n model.value = add ? [item] : [];\n _search.value = add && !hasSelectionSlot.value ? item.title : '';\n\n // watch for search watcher to trigger\n nextTick(() => {\n menu.value = false;\n isPristine.value = true;\n });\n }\n }\n function onFocusin(e) {\n isFocused.value = true;\n setTimeout(() => {\n listHasFocus.value = true;\n });\n }\n function onFocusout(e) {\n listHasFocus.value = false;\n }\n function onUpdateModelValue(v) {\n if (v == null || v === '' && !props.multiple && !hasSelectionSlot.value) model.value = [];\n }\n watch(isFocused, (val, oldVal) => {\n if (val || val === oldVal) return;\n selectionIndex.value = -1;\n menu.value = false;\n if (search.value) {\n if (props.multiple) {\n select(transformItem(props, search.value));\n return;\n }\n if (!hasSelectionSlot.value) return;\n if (model.value.some(_ref3 => {\n let {\n title\n } = _ref3;\n return title === search.value;\n })) {\n _search.value = '';\n } else {\n select(transformItem(props, search.value));\n }\n }\n });\n watch(menu, () => {\n if (!props.hideSelected && menu.value && model.value.length) {\n const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));\n IN_BROWSER && window.requestAnimationFrame(() => {\n index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);\n });\n }\n });\n watch(() => props.items, (newVal, oldVal) => {\n if (menu.value) return;\n if (isFocused.value && !oldVal.length && newVal.length) {\n menu.value = true;\n }\n });\n useRender(() => {\n const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);\n const isDirty = model.value.length > 0;\n const textFieldProps = VTextField.filterProps(props);\n return _createVNode(VTextField, _mergeProps({\n \"ref\": vTextFieldRef\n }, textFieldProps, {\n \"modelValue\": search.value,\n \"onUpdate:modelValue\": [$event => search.value = $event, onUpdateModelValue],\n \"focused\": isFocused.value,\n \"onUpdate:focused\": $event => isFocused.value = $event,\n \"validationValue\": model.externalValue,\n \"counterValue\": counterValue.value,\n \"dirty\": isDirty,\n \"class\": ['v-combobox', {\n 'v-combobox--active-menu': menu.value,\n 'v-combobox--chips': !!props.chips,\n 'v-combobox--selection-slot': !!hasSelectionSlot.value,\n 'v-combobox--selecting-index': selectionIndex.value > -1,\n [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true\n }, props.class],\n \"style\": props.style,\n \"readonly\": props.readonly,\n \"placeholder\": isDirty ? undefined : props.placeholder,\n \"onClick:clear\": onClear,\n \"onMousedown:control\": onMousedownControl,\n \"onKeydown\": onKeydown\n }), {\n ...slots,\n default: () => _createVNode(_Fragment, null, [_createVNode(VMenu, _mergeProps({\n \"ref\": vMenuRef,\n \"modelValue\": menu.value,\n \"onUpdate:modelValue\": $event => menu.value = $event,\n \"activator\": \"parent\",\n \"contentClass\": \"v-combobox__content\",\n \"disabled\": menuDisabled.value,\n \"eager\": props.eager,\n \"maxHeight\": 310,\n \"openOnClick\": false,\n \"closeOnContentClick\": false,\n \"transition\": props.transition,\n \"onAfterEnter\": onAfterEnter,\n \"onAfterLeave\": onAfterLeave\n }, props.menuProps), {\n default: () => [hasList && _createVNode(VList, _mergeProps({\n \"ref\": listRef,\n \"selected\": selectedValues.value,\n \"selectStrategy\": props.multiple ? 'independent' : 'single-independent',\n \"onMousedown\": e => e.preventDefault(),\n \"onKeydown\": onListKeydown,\n \"onFocusin\": onFocusin,\n \"onFocusout\": onFocusout,\n \"tabindex\": \"-1\",\n \"aria-live\": \"polite\",\n \"color\": props.itemColor ?? props.color\n }, listEvents, props.listProps), {\n default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? _createVNode(VListItem, {\n \"title\": t(props.noDataText)\n }, null)), _createVNode(VVirtualScroll, {\n \"ref\": vVirtualScrollRef,\n \"renderless\": true,\n \"items\": displayItems.value\n }, {\n default: _ref4 => {\n let {\n item,\n index,\n itemRef\n } = _ref4;\n const itemProps = mergeProps(item.props, {\n ref: itemRef,\n key: index,\n active: highlightFirst.value && index === 0 ? true : undefined,\n onClick: () => select(item, null)\n });\n return slots.item?.({\n item,\n index,\n props: itemProps\n }) ?? _createVNode(VListItem, _mergeProps(itemProps, {\n \"role\": \"option\"\n }), {\n prepend: _ref5 => {\n let {\n isSelected\n } = _ref5;\n return _createVNode(_Fragment, null, [props.multiple && !props.hideSelected ? _createVNode(VCheckboxBtn, {\n \"key\": item.value,\n \"modelValue\": isSelected,\n \"ripple\": false,\n \"tabindex\": \"-1\"\n }, null) : undefined, item.props.prependAvatar && _createVNode(VAvatar, {\n \"image\": item.props.prependAvatar\n }, null), item.props.prependIcon && _createVNode(VIcon, {\n \"icon\": item.props.prependIcon\n }, null)]);\n },\n title: () => {\n return isPristine.value ? item.title : highlightResult(item.title, getMatches(item)?.title, search.value?.length ?? 0);\n }\n });\n }\n }), slots['append-item']?.()]\n })]\n }), model.value.map((item, index) => {\n function onChipClose(e) {\n e.stopPropagation();\n e.preventDefault();\n select(item, false);\n }\n const slotProps = {\n 'onClick:close': onChipClose,\n onKeydown(e) {\n if (e.key !== 'Enter' && e.key !== ' ') return;\n e.preventDefault();\n e.stopPropagation();\n onChipClose(e);\n },\n onMousedown(e) {\n e.preventDefault();\n e.stopPropagation();\n },\n modelValue: true,\n 'onUpdate:modelValue': undefined\n };\n const hasSlot = hasChips.value ? !!slots.chip : !!slots.selection;\n const slotContent = hasSlot ? ensureValidVNode(hasChips.value ? slots.chip({\n item,\n index,\n props: slotProps\n }) : slots.selection({\n item,\n index\n })) : undefined;\n if (hasSlot && !slotContent) return undefined;\n return _createVNode(\"div\", {\n \"key\": item.value,\n \"class\": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],\n \"style\": index === selectionIndex.value ? textColorStyles.value : {}\n }, [hasChips.value ? !slots.chip ? _createVNode(VChip, _mergeProps({\n \"key\": \"chip\",\n \"closable\": props.closableChips,\n \"size\": \"small\",\n \"text\": item.title,\n \"disabled\": item.props.disabled\n }, slotProps), null) : _createVNode(VDefaultsProvider, {\n \"key\": \"chip-defaults\",\n \"defaults\": {\n VChip: {\n closable: props.closableChips,\n size: 'small',\n text: item.title\n }\n }\n }, {\n default: () => [slotContent]\n }) : slotContent ?? _createVNode(\"span\", {\n \"class\": \"v-combobox__selection-text\"\n }, [item.title, props.multiple && index < model.value.length - 1 && _createVNode(\"span\", {\n \"class\": \"v-combobox__selection-comma\"\n }, [_createTextVNode(\",\")])])]);\n })]),\n 'append-inner': function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _createVNode(_Fragment, null, [slots['append-inner']?.(...args), (!props.hideNoData || props.items.length) && props.menuIcon ? _createVNode(VIcon, {\n \"class\": \"v-combobox__menu-icon\",\n \"icon\": props.menuIcon,\n \"onMousedown\": onMousedownMenuIcon,\n \"onClick\": noop,\n \"aria-label\": t(label.value),\n \"title\": t(label.value),\n \"tabindex\": \"-1\"\n }, null) : undefined]);\n }\n });\n });\n return forwardRefs({\n isFocused,\n isPristine,\n menu,\n search,\n selectionIndex,\n filteredItems,\n select\n }, vTextFieldRef);\n }\n});\n//# sourceMappingURL=VCombobox.mjs.map","import { createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\"; // Composables\nimport { useLocale } from \"../../composables/index.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, ref, toRaw, watchEffect } from 'vue';\nimport { deepEqual, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVConfirmEditProps = propsFactory({\n modelValue: null,\n color: String,\n cancelText: {\n type: String,\n default: '$vuetify.confirmEdit.cancel'\n },\n okText: {\n type: String,\n default: '$vuetify.confirmEdit.ok'\n }\n}, 'VConfirmEdit');\nexport const VConfirmEdit = genericComponent()({\n name: 'VConfirmEdit',\n props: makeVConfirmEditProps(),\n emits: {\n cancel: () => true,\n save: value => true,\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const internalModel = ref();\n watchEffect(() => {\n internalModel.value = structuredClone(toRaw(model.value));\n });\n const {\n t\n } = useLocale();\n const isPristine = computed(() => {\n return deepEqual(model.value, internalModel.value);\n });\n function save() {\n model.value = internalModel.value;\n emit('save', internalModel.value);\n }\n function cancel() {\n internalModel.value = structuredClone(toRaw(model.value));\n emit('cancel');\n }\n let actionsUsed = false;\n useRender(() => {\n const actions = _createVNode(_Fragment, null, [_createVNode(VBtn, {\n \"disabled\": isPristine.value,\n \"variant\": \"text\",\n \"color\": props.color,\n \"onClick\": cancel,\n \"text\": t(props.cancelText)\n }, null), _createVNode(VBtn, {\n \"disabled\": isPristine.value,\n \"variant\": \"text\",\n \"color\": props.color,\n \"onClick\": save,\n \"text\": t(props.okText)\n }, null)]);\n return _createVNode(_Fragment, null, [slots.default?.({\n model: internalModel,\n save,\n cancel,\n isPristine: isPristine.value,\n get actions() {\n actionsUsed = true;\n return actions;\n }\n }), !actionsUsed && actions]);\n });\n return {\n save,\n cancel,\n isPristine\n };\n }\n});\n//# sourceMappingURL=VConfirmEdit.mjs.map","// Composables\nimport { useProxiedModel } from \"../../../composables/proxiedModel.mjs\"; // Utilities\nimport { inject, provide, toRef } from 'vue';\nimport { propsFactory } from \"../../../util/index.mjs\"; // Types\nexport const makeDataTableExpandProps = propsFactory({\n expandOnClick: Boolean,\n showExpand: Boolean,\n expanded: {\n type: Array,\n default: () => []\n }\n}, 'DataTable-expand');\nexport const VDataTableExpandedKey = Symbol.for('vuetify:datatable:expanded');\nexport function provideExpanded(props) {\n const expandOnClick = toRef(props, 'expandOnClick');\n const expanded = useProxiedModel(props, 'expanded', props.expanded, v => {\n return new Set(v);\n }, v => {\n return [...v.values()];\n });\n function expand(item, value) {\n const newExpanded = new Set(expanded.value);\n if (!value) {\n newExpanded.delete(item.value);\n } else {\n newExpanded.add(item.value);\n }\n expanded.value = newExpanded;\n }\n function isExpanded(item) {\n return expanded.value.has(item.value);\n }\n function toggleExpand(item) {\n expand(item, !isExpanded(item));\n }\n const data = {\n expand,\n expanded,\n expandOnClick,\n isExpanded,\n toggleExpand\n };\n provide(VDataTableExpandedKey, data);\n return data;\n}\nexport function useExpanded() {\n const data = inject(VDataTableExpandedKey);\n if (!data) throw new Error('foo');\n return data;\n}\n//# sourceMappingURL=expand.mjs.map","// Composables\nimport { useProxiedModel } from \"../../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, inject, provide, ref } from 'vue';\nimport { getObjectValueByPath, propsFactory } from \"../../../util/index.mjs\"; // Types\nexport const makeDataTableGroupProps = propsFactory({\n groupBy: {\n type: Array,\n default: () => []\n }\n}, 'DataTable-group');\nconst VDataTableGroupSymbol = Symbol.for('vuetify:data-table-group');\nexport function createGroupBy(props) {\n const groupBy = useProxiedModel(props, 'groupBy');\n return {\n groupBy\n };\n}\nexport function provideGroupBy(options) {\n const {\n disableSort,\n groupBy,\n sortBy\n } = options;\n const opened = ref(new Set());\n const sortByWithGroups = computed(() => {\n return groupBy.value.map(val => ({\n ...val,\n order: val.order ?? false\n })).concat(disableSort?.value ? [] : sortBy.value);\n });\n function isGroupOpen(group) {\n return opened.value.has(group.id);\n }\n function toggleGroup(group) {\n const newOpened = new Set(opened.value);\n if (!isGroupOpen(group)) newOpened.add(group.id);else newOpened.delete(group.id);\n opened.value = newOpened;\n }\n function extractRows(items) {\n function dive(group) {\n const arr = [];\n for (const item of group.items) {\n if ('type' in item && item.type === 'group') {\n arr.push(...dive(item));\n } else {\n arr.push(item);\n }\n }\n return arr;\n }\n return dive({\n type: 'group',\n items,\n id: 'dummy',\n key: 'dummy',\n value: 'dummy',\n depth: 0\n });\n }\n\n // onBeforeMount(() => {\n // for (const key of groupedItems.value.keys()) {\n // opened.value.add(key)\n // }\n // })\n\n const data = {\n sortByWithGroups,\n toggleGroup,\n opened,\n groupBy,\n extractRows,\n isGroupOpen\n };\n provide(VDataTableGroupSymbol, data);\n return data;\n}\nexport function useGroupBy() {\n const data = inject(VDataTableGroupSymbol);\n if (!data) throw new Error('Missing group!');\n return data;\n}\nfunction groupItemsByProperty(items, groupBy) {\n if (!items.length) return [];\n const groups = new Map();\n for (const item of items) {\n const value = getObjectValueByPath(item.raw, groupBy);\n if (!groups.has(value)) {\n groups.set(value, []);\n }\n groups.get(value).push(item);\n }\n return groups;\n}\nfunction groupItems(items, groupBy) {\n let depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n let prefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'root';\n if (!groupBy.length) return [];\n const groupedItems = groupItemsByProperty(items, groupBy[0]);\n const groups = [];\n const rest = groupBy.slice(1);\n groupedItems.forEach((items, value) => {\n const key = groupBy[0];\n const id = `${prefix}_${key}_${value}`;\n groups.push({\n depth,\n id,\n key,\n value,\n items: rest.length ? groupItems(items, rest, depth + 1, id) : items,\n type: 'group'\n });\n });\n return groups;\n}\nfunction flattenItems(items, opened) {\n const flatItems = [];\n for (const item of items) {\n // TODO: make this better\n if ('type' in item && item.type === 'group') {\n if (item.value != null) {\n flatItems.push(item);\n }\n if (opened.has(item.id) || item.value == null) {\n flatItems.push(...flattenItems(item.items, opened));\n }\n } else {\n flatItems.push(item);\n }\n }\n return flatItems;\n}\nexport function useGroupedItems(items, groupBy, opened) {\n const flatItems = computed(() => {\n if (!groupBy.value.length) return items.value;\n const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key));\n return flattenItems(groupedItems, opened.value);\n });\n return {\n flatItems\n };\n}\n//# sourceMappingURL=group.mjs.map","// Utilities\nimport { computed, watch } from 'vue';\nimport { deepEqual, getCurrentInstance } from \"../../../util/index.mjs\"; // Types\nexport function useOptions(_ref) {\n let {\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search\n } = _ref;\n const vm = getCurrentInstance('VDataTable');\n const options = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n groupBy: groupBy.value,\n search: search.value\n }));\n let oldOptions = null;\n watch(options, () => {\n if (deepEqual(oldOptions, options.value)) return;\n\n // Reset page when searching\n if (oldOptions && oldOptions.search !== options.value.search) {\n page.value = 1;\n }\n vm.emit('update:options', options.value);\n oldOptions = options.value;\n }, {\n deep: true,\n immediate: true\n });\n}\n//# sourceMappingURL=options.mjs.map","// Composables\nimport { useProxiedModel } from \"../../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, inject, provide, watch, watchEffect } from 'vue';\nimport { clamp, getCurrentInstance, propsFactory } from \"../../../util/index.mjs\"; // Types\nexport const makeDataTablePaginateProps = propsFactory({\n page: {\n type: [Number, String],\n default: 1\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10\n }\n}, 'DataTable-paginate');\nconst VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');\nexport function createPagination(props) {\n const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1));\n const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10));\n return {\n page,\n itemsPerPage\n };\n}\nexport function providePagination(options) {\n const {\n page,\n itemsPerPage,\n itemsLength\n } = options;\n const startIndex = computed(() => {\n if (itemsPerPage.value === -1) return 0;\n return itemsPerPage.value * (page.value - 1);\n });\n const stopIndex = computed(() => {\n if (itemsPerPage.value === -1) return itemsLength.value;\n return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value);\n });\n const pageCount = computed(() => {\n if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;\n return Math.ceil(itemsLength.value / itemsPerPage.value);\n });\n watchEffect(() => {\n if (page.value > pageCount.value) {\n page.value = pageCount.value;\n }\n });\n function setItemsPerPage(value) {\n itemsPerPage.value = value;\n page.value = 1;\n }\n function nextPage() {\n page.value = clamp(page.value + 1, 1, pageCount.value);\n }\n function prevPage() {\n page.value = clamp(page.value - 1, 1, pageCount.value);\n }\n function setPage(value) {\n page.value = clamp(value, 1, pageCount.value);\n }\n const data = {\n page,\n itemsPerPage,\n startIndex,\n stopIndex,\n pageCount,\n itemsLength,\n nextPage,\n prevPage,\n setPage,\n setItemsPerPage\n };\n provide(VDataTablePaginationSymbol, data);\n return data;\n}\nexport function usePagination() {\n const data = inject(VDataTablePaginationSymbol);\n if (!data) throw new Error('Missing pagination!');\n return data;\n}\nexport function usePaginatedItems(options) {\n const vm = getCurrentInstance('usePaginatedItems');\n const {\n items,\n startIndex,\n stopIndex,\n itemsPerPage\n } = options;\n const paginatedItems = computed(() => {\n if (itemsPerPage.value <= 0) return items.value;\n return items.value.slice(startIndex.value, stopIndex.value);\n });\n watch(paginatedItems, val => {\n vm.emit('update:currentItems', val);\n });\n return {\n paginatedItems\n };\n}\n//# sourceMappingURL=paginate.mjs.map","// Composables\nimport { useProxiedModel } from \"../../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, inject, provide } from 'vue';\nimport { deepEqual, propsFactory, wrapInArray } from \"../../../util/index.mjs\"; // Types\nconst singleSelectStrategy = {\n showSelectAll: false,\n allSelected: () => [],\n select: _ref => {\n let {\n items,\n value\n } = _ref;\n return new Set(value ? [items[0]?.value] : []);\n },\n selectAll: _ref2 => {\n let {\n selected\n } = _ref2;\n return selected;\n }\n};\nconst pageSelectStrategy = {\n showSelectAll: true,\n allSelected: _ref3 => {\n let {\n currentPage\n } = _ref3;\n return currentPage;\n },\n select: _ref4 => {\n let {\n items,\n value,\n selected\n } = _ref4;\n for (const item of items) {\n if (value) selected.add(item.value);else selected.delete(item.value);\n }\n return selected;\n },\n selectAll: _ref5 => {\n let {\n value,\n currentPage,\n selected\n } = _ref5;\n return pageSelectStrategy.select({\n items: currentPage,\n value,\n selected\n });\n }\n};\nconst allSelectStrategy = {\n showSelectAll: true,\n allSelected: _ref6 => {\n let {\n allItems\n } = _ref6;\n return allItems;\n },\n select: _ref7 => {\n let {\n items,\n value,\n selected\n } = _ref7;\n for (const item of items) {\n if (value) selected.add(item.value);else selected.delete(item.value);\n }\n return selected;\n },\n selectAll: _ref8 => {\n let {\n value,\n allItems,\n selected\n } = _ref8;\n return allSelectStrategy.select({\n items: allItems,\n value,\n selected\n });\n }\n};\nexport const makeDataTableSelectProps = propsFactory({\n showSelect: Boolean,\n selectStrategy: {\n type: [String, Object],\n default: 'page'\n },\n modelValue: {\n type: Array,\n default: () => []\n },\n valueComparator: {\n type: Function,\n default: deepEqual\n }\n}, 'DataTable-select');\nexport const VDataTableSelectionSymbol = Symbol.for('vuetify:data-table-selection');\nexport function provideSelection(props, _ref9) {\n let {\n allItems,\n currentPage\n } = _ref9;\n const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {\n return new Set(wrapInArray(v).map(v => {\n return allItems.value.find(item => props.valueComparator(v, item.value))?.value ?? v;\n }));\n }, v => {\n return [...v.values()];\n });\n const allSelectable = computed(() => allItems.value.filter(item => item.selectable));\n const currentPageSelectable = computed(() => currentPage.value.filter(item => item.selectable));\n const selectStrategy = computed(() => {\n if (typeof props.selectStrategy === 'object') return props.selectStrategy;\n switch (props.selectStrategy) {\n case 'single':\n return singleSelectStrategy;\n case 'all':\n return allSelectStrategy;\n case 'page':\n default:\n return pageSelectStrategy;\n }\n });\n function isSelected(items) {\n return wrapInArray(items).every(item => selected.value.has(item.value));\n }\n function isSomeSelected(items) {\n return wrapInArray(items).some(item => selected.value.has(item.value));\n }\n function select(items, value) {\n const newSelected = selectStrategy.value.select({\n items,\n value,\n selected: new Set(selected.value)\n });\n selected.value = newSelected;\n }\n function toggleSelect(item) {\n select([item], !isSelected([item]));\n }\n function selectAll(value) {\n const newSelected = selectStrategy.value.selectAll({\n value,\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value,\n selected: new Set(selected.value)\n });\n selected.value = newSelected;\n }\n const someSelected = computed(() => selected.value.size > 0);\n const allSelected = computed(() => {\n const items = selectStrategy.value.allSelected({\n allItems: allSelectable.value,\n currentPage: currentPageSelectable.value\n });\n return !!items.length && isSelected(items);\n });\n const showSelectAll = computed(() => selectStrategy.value.showSelectAll);\n const data = {\n toggleSelect,\n select,\n selectAll,\n isSelected,\n isSomeSelected,\n someSelected,\n allSelected,\n showSelectAll\n };\n provide(VDataTableSelectionSymbol, data);\n return data;\n}\nexport function useSelection() {\n const data = inject(VDataTableSelectionSymbol);\n if (!data) throw new Error('Missing selection!');\n return data;\n}\n//# sourceMappingURL=select.mjs.map","// Composables\nimport { useLocale } from \"../../../composables/index.mjs\";\nimport { useProxiedModel } from \"../../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, inject, provide, toRef } from 'vue';\nimport { getObjectValueByPath, isEmpty, propsFactory } from \"../../../util/index.mjs\"; // Types\nexport const makeDataTableSortProps = propsFactory({\n sortBy: {\n type: Array,\n default: () => []\n },\n customKeySort: Object,\n multiSort: Boolean,\n mustSort: Boolean\n}, 'DataTable-sort');\nconst VDataTableSortSymbol = Symbol.for('vuetify:data-table-sort');\nexport function createSort(props) {\n const sortBy = useProxiedModel(props, 'sortBy');\n const mustSort = toRef(props, 'mustSort');\n const multiSort = toRef(props, 'multiSort');\n return {\n sortBy,\n mustSort,\n multiSort\n };\n}\nexport function provideSort(options) {\n const {\n sortBy,\n mustSort,\n multiSort,\n page\n } = options;\n const toggleSort = column => {\n if (column.key == null) return;\n let newSortBy = sortBy.value.map(x => ({\n ...x\n })) ?? [];\n const item = newSortBy.find(x => x.key === column.key);\n if (!item) {\n if (multiSort.value) newSortBy = [...newSortBy, {\n key: column.key,\n order: 'asc'\n }];else newSortBy = [{\n key: column.key,\n order: 'asc'\n }];\n } else if (item.order === 'desc') {\n if (mustSort.value) {\n item.order = 'asc';\n } else {\n newSortBy = newSortBy.filter(x => x.key !== column.key);\n }\n } else {\n item.order = 'desc';\n }\n sortBy.value = newSortBy;\n if (page) page.value = 1;\n };\n function isSorted(column) {\n return !!sortBy.value.find(item => item.key === column.key);\n }\n const data = {\n sortBy,\n toggleSort,\n isSorted\n };\n provide(VDataTableSortSymbol, data);\n return data;\n}\nexport function useSort() {\n const data = inject(VDataTableSortSymbol);\n if (!data) throw new Error('Missing sort!');\n return data;\n}\n\n// TODO: abstract into project composable\nexport function useSortedItems(props, items, sortBy, options) {\n const locale = useLocale();\n const sortedItems = computed(() => {\n if (!sortBy.value.length) return items.value;\n return sortItems(items.value, sortBy.value, locale.current.value, {\n transform: options?.transform,\n sortFunctions: {\n ...props.customKeySort,\n ...options?.sortFunctions?.value\n },\n sortRawFunctions: options?.sortRawFunctions?.value\n });\n });\n return {\n sortedItems\n };\n}\nexport function sortItems(items, sortByItems, locale, options) {\n const stringCollator = new Intl.Collator(locale, {\n sensitivity: 'accent',\n usage: 'sort'\n });\n const transformedItems = items.map(item => [item, options?.transform ? options.transform(item) : item]);\n return transformedItems.sort((a, b) => {\n for (let i = 0; i < sortByItems.length; i++) {\n let hasCustomResult = false;\n const sortKey = sortByItems[i].key;\n const sortOrder = sortByItems[i].order ?? 'asc';\n if (sortOrder === false) continue;\n let sortA = getObjectValueByPath(a[1], sortKey);\n let sortB = getObjectValueByPath(b[1], sortKey);\n let sortARaw = a[0].raw;\n let sortBRaw = b[0].raw;\n if (sortOrder === 'desc') {\n [sortA, sortB] = [sortB, sortA];\n [sortARaw, sortBRaw] = [sortBRaw, sortARaw];\n }\n if (options?.sortRawFunctions?.[sortKey]) {\n const customResult = options.sortRawFunctions[sortKey](sortARaw, sortBRaw);\n if (customResult == null) continue;\n hasCustomResult = true;\n if (customResult) return customResult;\n }\n if (options?.sortFunctions?.[sortKey]) {\n const customResult = options.sortFunctions[sortKey](sortA, sortB);\n if (customResult == null) continue;\n hasCustomResult = true;\n if (customResult) return customResult;\n }\n if (hasCustomResult) continue;\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime();\n }\n [sortA, sortB] = [sortA, sortB].map(s => s != null ? s.toString().toLocaleLowerCase() : s);\n if (sortA !== sortB) {\n if (isEmpty(sortA) && isEmpty(sortB)) return 0;\n if (isEmpty(sortA)) return -1;\n if (isEmpty(sortB)) return 1;\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB);\n return stringCollator.compare(sortA, sortB);\n }\n }\n return 0;\n }).map(_ref => {\n let [item] = _ref;\n return item;\n });\n}\n//# sourceMappingURL=sort.mjs.map","// Utilities\nimport { computed } from 'vue';\nimport { getPropertyFromItem, propsFactory } from \"../../../util/index.mjs\"; // Types\n// Composables\nexport const makeDataIteratorItemsProps = propsFactory({\n items: {\n type: Array,\n default: () => []\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'id'\n },\n itemSelectable: {\n type: [String, Array, Function],\n default: null\n },\n returnObject: Boolean\n}, 'DataIterator-items');\nexport function transformItem(props, item) {\n const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue);\n const selectable = getPropertyFromItem(item, props.itemSelectable, true);\n return {\n type: 'item',\n value,\n selectable,\n raw: item\n };\n}\nexport function transformItems(props, items) {\n const array = [];\n for (const item of items) {\n array.push(transformItem(props, item));\n }\n return array;\n}\nexport function useDataIteratorItems(props) {\n const items = computed(() => transformItems(props, props.items));\n return {\n items\n };\n}\n//# sourceMappingURL=items.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Components\nimport { VFadeTransition } from \"../transitions/index.mjs\";\nimport { makeDataTableExpandProps, provideExpanded } from \"../VDataTable/composables/expand.mjs\";\nimport { makeDataTableGroupProps, provideGroupBy, useGroupedItems } from \"../VDataTable/composables/group.mjs\";\nimport { useOptions } from \"../VDataTable/composables/options.mjs\";\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from \"../VDataTable/composables/paginate.mjs\";\nimport { makeDataTableSelectProps, provideSelection } from \"../VDataTable/composables/select.mjs\";\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from \"../VDataTable/composables/sort.mjs\"; // Composables\nimport { makeDataIteratorItemsProps, useDataIteratorItems } from \"./composables/items.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeFilterProps, useFilter } from \"../../composables/filter.mjs\";\nimport { LoaderSlot } from \"../../composables/loader.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDataIteratorProps = propsFactory({\n search: String,\n loading: Boolean,\n ...makeComponentProps(),\n ...makeDataIteratorItemsProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeDataTablePaginateProps({\n itemsPerPage: 5\n }),\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeFilterProps(),\n ...makeTagProps(),\n ...makeTransitionProps({\n transition: {\n component: VFadeTransition,\n hideOnLeave: true\n }\n })\n}, 'VDataIterator');\nexport const VDataIterator = genericComponent()({\n name: 'VDataIterator',\n props: makeVDataIteratorProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:groupBy': value => true,\n 'update:page': value => true,\n 'update:itemsPerPage': value => true,\n 'update:sortBy': value => true,\n 'update:options': value => true,\n 'update:expanded': value => true,\n 'update:currentItems': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const groupBy = useProxiedModel(props, 'groupBy');\n const search = toRef(props, 'search');\n const {\n items\n } = useDataIteratorItems(props);\n const {\n filteredItems\n } = useFilter(props, items, search, {\n transform: item => item.raw\n });\n const {\n sortBy,\n multiSort,\n mustSort\n } = createSort(props);\n const {\n page,\n itemsPerPage\n } = createPagination(props);\n const {\n toggleSort\n } = provideSort({\n sortBy,\n multiSort,\n mustSort,\n page\n });\n const {\n sortByWithGroups,\n opened,\n extractRows,\n isGroupOpen,\n toggleGroup\n } = provideGroupBy({\n groupBy,\n sortBy\n });\n const {\n sortedItems\n } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => item.raw\n });\n const {\n flatItems\n } = useGroupedItems(sortedItems, groupBy, opened);\n const itemsLength = computed(() => flatItems.value.length);\n const {\n startIndex,\n stopIndex,\n pageCount,\n prevPage,\n nextPage,\n setItemsPerPage,\n setPage\n } = providePagination({\n page,\n itemsPerPage,\n itemsLength\n });\n const {\n paginatedItems\n } = usePaginatedItems({\n items: flatItems,\n startIndex,\n stopIndex,\n itemsPerPage\n });\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value));\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect\n } = provideSelection(props, {\n allItems: items,\n currentPage: paginatedItemsWithoutGroups\n });\n const {\n isExpanded,\n toggleExpand\n } = provideExpanded(props);\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search\n });\n const slotProps = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n prevPage,\n nextPage,\n setPage,\n setItemsPerPage,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: paginatedItemsWithoutGroups.value,\n groupedItems: paginatedItems.value\n }));\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-data-iterator', {\n 'v-data-iterator--loading': props.loading\n }, props.class],\n \"style\": props.style\n }, {\n default: () => [slots.header?.(slotProps.value), _createVNode(MaybeTransition, {\n \"transition\": props.transition\n }, {\n default: () => [props.loading ? _createVNode(LoaderSlot, {\n \"key\": \"loader\",\n \"name\": \"v-data-iterator\",\n \"active\": true\n }, {\n default: slotProps => slots.loader?.(slotProps)\n }) : _createVNode(\"div\", {\n \"key\": \"items\"\n }, [!paginatedItems.value.length ? slots['no-data']?.() : slots.default?.(slotProps.value)])]\n }), slots.footer?.(slotProps.value)]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VDataIterator.mjs.map","// Utilities\nimport { onBeforeUpdate, ref } from 'vue';\n\n// Types\n\nexport function useRefs() {\n const refs = ref([]);\n onBeforeUpdate(() => refs.value = []);\n function updateRef(e, i) {\n refs.value[i] = e;\n }\n return {\n refs,\n updateRef\n };\n}\n//# sourceMappingURL=refs.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VPagination.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\"; // Composables\nimport { useDisplay } from \"../../composables/index.mjs\";\nimport { makeBorderProps } from \"../../composables/border.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps } from \"../../composables/density.mjs\";\nimport { makeElevationProps } from \"../../composables/elevation.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useLocale, useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useRefs } from \"../../composables/refs.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport { makeRoundedProps } from \"../../composables/rounded.mjs\";\nimport { makeSizeProps } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { makeVariantProps } from \"../../composables/variant.mjs\"; // Utilities\nimport { computed, nextTick, shallowRef, toRef } from 'vue';\nimport { createRange, genericComponent, keyValues, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVPaginationProps = propsFactory({\n activeColor: String,\n start: {\n type: [Number, String],\n default: 1\n },\n modelValue: {\n type: Number,\n default: props => props.start\n },\n disabled: Boolean,\n length: {\n type: [Number, String],\n default: 1,\n validator: val => val % 1 === 0\n },\n totalVisible: [Number, String],\n firstIcon: {\n type: IconValue,\n default: '$first'\n },\n prevIcon: {\n type: IconValue,\n default: '$prev'\n },\n nextIcon: {\n type: IconValue,\n default: '$next'\n },\n lastIcon: {\n type: IconValue,\n default: '$last'\n },\n ariaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.root'\n },\n pageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.page'\n },\n currentPageAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.currentPage'\n },\n firstAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.first'\n },\n previousAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.previous'\n },\n nextAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.next'\n },\n lastAriaLabel: {\n type: String,\n default: '$vuetify.pagination.ariaLabel.last'\n },\n ellipsis: {\n type: String,\n default: '...'\n },\n showFirstLastPage: Boolean,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps({\n tag: 'nav'\n }),\n ...makeThemeProps(),\n ...makeVariantProps({\n variant: 'text'\n })\n}, 'VPagination');\nexport const VPagination = genericComponent()({\n name: 'VPagination',\n props: makeVPaginationProps(),\n emits: {\n 'update:modelValue': value => true,\n first: value => true,\n prev: value => true,\n next: value => true,\n last: value => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const page = useProxiedModel(props, 'modelValue');\n const {\n t,\n n\n } = useLocale();\n const {\n isRtl\n } = useRtl();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n width\n } = useDisplay();\n const maxButtons = shallowRef(-1);\n provideDefaults(undefined, {\n scoped: true\n });\n const {\n resizeRef\n } = useResizeObserver(entries => {\n if (!entries.length) return;\n const {\n target,\n contentRect\n } = entries[0];\n const firstItem = target.querySelector('.v-pagination__list > *');\n if (!firstItem) return;\n const totalWidth = contentRect.width;\n const itemWidth = firstItem.offsetWidth + parseFloat(getComputedStyle(firstItem).marginRight) * 2;\n maxButtons.value = getMax(totalWidth, itemWidth);\n });\n const length = computed(() => parseInt(props.length, 10));\n const start = computed(() => parseInt(props.start, 10));\n const totalVisible = computed(() => {\n if (props.totalVisible != null) return parseInt(props.totalVisible, 10);else if (maxButtons.value >= 0) return maxButtons.value;\n return getMax(width.value, 58);\n });\n function getMax(totalWidth, itemWidth) {\n const minButtons = props.showFirstLastPage ? 5 : 3;\n return Math.max(0, Math.floor(\n // Round to two decimal places to avoid floating point errors\n +((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2)));\n }\n const range = computed(() => {\n if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];\n if (totalVisible.value <= 0) return [];else if (totalVisible.value === 1) return [page.value];\n if (length.value <= totalVisible.value) {\n return createRange(length.value, start.value);\n }\n const even = totalVisible.value % 2 === 0;\n const middle = even ? totalVisible.value / 2 : Math.floor(totalVisible.value / 2);\n const left = even ? middle : middle + 1;\n const right = length.value - middle;\n if (left - page.value >= 0) {\n return [...createRange(Math.max(1, totalVisible.value - 1), start.value), props.ellipsis, length.value];\n } else if (page.value - right >= (even ? 1 : 0)) {\n const rangeLength = totalVisible.value - 1;\n const rangeStart = length.value - rangeLength + start.value;\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart)];\n } else {\n const rangeLength = Math.max(1, totalVisible.value - 3);\n const rangeStart = rangeLength === 1 ? page.value : page.value - Math.ceil(rangeLength / 2) + start.value;\n return [start.value, props.ellipsis, ...createRange(rangeLength, rangeStart), props.ellipsis, length.value];\n }\n });\n\n // TODO: 'first' | 'prev' | 'next' | 'last' does not work here?\n function setValue(e, value, event) {\n e.preventDefault();\n page.value = value;\n event && emit(event, value);\n }\n const {\n refs,\n updateRef\n } = useRefs();\n provideDefaults({\n VPaginationBtn: {\n color: toRef(props, 'color'),\n border: toRef(props, 'border'),\n density: toRef(props, 'density'),\n size: toRef(props, 'size'),\n variant: toRef(props, 'variant'),\n rounded: toRef(props, 'rounded'),\n elevation: toRef(props, 'elevation')\n }\n });\n const items = computed(() => {\n return range.value.map((item, index) => {\n const ref = e => updateRef(e, index);\n if (typeof item === 'string') {\n return {\n isActive: false,\n key: `ellipsis-${index}`,\n page: item,\n props: {\n ref,\n ellipsis: true,\n icon: true,\n disabled: true\n }\n };\n } else {\n const isActive = item === page.value;\n return {\n isActive,\n key: item,\n page: n(item),\n props: {\n ref,\n ellipsis: false,\n icon: true,\n disabled: !!props.disabled || +props.length < 2,\n color: isActive ? props.activeColor : props.color,\n 'aria-current': isActive,\n 'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),\n onClick: e => setValue(e, item)\n }\n };\n }\n });\n });\n const controls = computed(() => {\n const prevDisabled = !!props.disabled || page.value <= start.value;\n const nextDisabled = !!props.disabled || page.value >= start.value + length.value - 1;\n return {\n first: props.showFirstLastPage ? {\n icon: isRtl.value ? props.lastIcon : props.firstIcon,\n onClick: e => setValue(e, start.value, 'first'),\n disabled: prevDisabled,\n 'aria-label': t(props.firstAriaLabel),\n 'aria-disabled': prevDisabled\n } : undefined,\n prev: {\n icon: isRtl.value ? props.nextIcon : props.prevIcon,\n onClick: e => setValue(e, page.value - 1, 'prev'),\n disabled: prevDisabled,\n 'aria-label': t(props.previousAriaLabel),\n 'aria-disabled': prevDisabled\n },\n next: {\n icon: isRtl.value ? props.prevIcon : props.nextIcon,\n onClick: e => setValue(e, page.value + 1, 'next'),\n disabled: nextDisabled,\n 'aria-label': t(props.nextAriaLabel),\n 'aria-disabled': nextDisabled\n },\n last: props.showFirstLastPage ? {\n icon: isRtl.value ? props.firstIcon : props.lastIcon,\n onClick: e => setValue(e, start.value + length.value - 1, 'last'),\n disabled: nextDisabled,\n 'aria-label': t(props.lastAriaLabel),\n 'aria-disabled': nextDisabled\n } : undefined\n };\n });\n function updateFocus() {\n const currentIndex = page.value - start.value;\n refs.value[currentIndex]?.$el.focus();\n }\n function onKeydown(e) {\n if (e.key === keyValues.left && !props.disabled && page.value > +props.start) {\n page.value = page.value - 1;\n nextTick(updateFocus);\n } else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {\n page.value = page.value + 1;\n nextTick(updateFocus);\n }\n }\n useRender(() => _createVNode(props.tag, {\n \"ref\": resizeRef,\n \"class\": ['v-pagination', themeClasses.value, props.class],\n \"style\": props.style,\n \"role\": \"navigation\",\n \"aria-label\": t(props.ariaLabel),\n \"onKeydown\": onKeydown,\n \"data-test\": \"v-pagination-root\"\n }, {\n default: () => [_createVNode(\"ul\", {\n \"class\": \"v-pagination__list\"\n }, [props.showFirstLastPage && _createVNode(\"li\", {\n \"key\": \"first\",\n \"class\": \"v-pagination__first\",\n \"data-test\": \"v-pagination-first\"\n }, [slots.first ? slots.first(controls.value.first) : _createVNode(VBtn, _mergeProps({\n \"_as\": \"VPaginationBtn\"\n }, controls.value.first), null)]), _createVNode(\"li\", {\n \"key\": \"prev\",\n \"class\": \"v-pagination__prev\",\n \"data-test\": \"v-pagination-prev\"\n }, [slots.prev ? slots.prev(controls.value.prev) : _createVNode(VBtn, _mergeProps({\n \"_as\": \"VPaginationBtn\"\n }, controls.value.prev), null)]), items.value.map((item, index) => _createVNode(\"li\", {\n \"key\": item.key,\n \"class\": ['v-pagination__item', {\n 'v-pagination__item--is-active': item.isActive\n }],\n \"data-test\": \"v-pagination-item\"\n }, [slots.item ? slots.item(item) : _createVNode(VBtn, _mergeProps({\n \"_as\": \"VPaginationBtn\"\n }, item.props), {\n default: () => [item.page]\n })])), _createVNode(\"li\", {\n \"key\": \"next\",\n \"class\": \"v-pagination__next\",\n \"data-test\": \"v-pagination-next\"\n }, [slots.next ? slots.next(controls.value.next) : _createVNode(VBtn, _mergeProps({\n \"_as\": \"VPaginationBtn\"\n }, controls.value.next), null)]), props.showFirstLastPage && _createVNode(\"li\", {\n \"key\": \"last\",\n \"class\": \"v-pagination__last\",\n \"data-test\": \"v-pagination-last\"\n }, [slots.last ? slots.last(controls.value.last) : _createVNode(VBtn, _mergeProps({\n \"_as\": \"VPaginationBtn\"\n }, controls.value.last), null)])])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VPagination.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VDataTableFooter.css\";\n\n// Components\nimport { VPagination } from \"../VPagination/index.mjs\";\nimport { VSelect } from \"../VSelect/index.mjs\"; // Composables\nimport { usePagination } from \"./composables/paginate.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: IconValue,\n default: '$prev'\n },\n nextIcon: {\n type: IconValue,\n default: '$next'\n },\n firstIcon: {\n type: IconValue,\n default: '$first'\n },\n lastIcon: {\n type: IconValue,\n default: '$last'\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText'\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText'\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage'\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage'\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage'\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage'\n },\n itemsPerPageOptions: {\n type: Array,\n default: () => [{\n value: 10,\n title: '10'\n }, {\n value: 25,\n title: '25'\n }, {\n value: 50,\n title: '50'\n }, {\n value: 100,\n title: '100'\n }, {\n value: -1,\n title: '$vuetify.dataFooter.itemsPerPageAll'\n }]\n },\n showCurrentPage: Boolean\n}, 'VDataTableFooter');\nexport const VDataTableFooter = genericComponent()({\n name: 'VDataTableFooter',\n props: makeVDataTableFooterProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const {\n page,\n pageCount,\n startIndex,\n stopIndex,\n itemsLength,\n itemsPerPage,\n setItemsPerPage\n } = usePagination();\n const itemsPerPageOptions = computed(() => props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1 ? t('$vuetify.dataFooter.itemsPerPageAll') : String(option)\n };\n }\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title)\n };\n }));\n useRender(() => {\n const paginationProps = VPagination.filterProps(props);\n return _createVNode(\"div\", {\n \"class\": \"v-data-table-footer\"\n }, [slots.prepend?.(), _createVNode(\"div\", {\n \"class\": \"v-data-table-footer__items-per-page\"\n }, [_createVNode(\"span\", null, [t(props.itemsPerPageText)]), _createVNode(VSelect, {\n \"items\": itemsPerPageOptions.value,\n \"modelValue\": itemsPerPage.value,\n \"onUpdate:modelValue\": v => setItemsPerPage(Number(v)),\n \"density\": \"compact\",\n \"variant\": \"outlined\",\n \"hide-details\": true\n }, null)]), _createVNode(\"div\", {\n \"class\": \"v-data-table-footer__info\"\n }, [_createVNode(\"div\", null, [t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value)])]), _createVNode(\"div\", {\n \"class\": \"v-data-table-footer__pagination\"\n }, [_createVNode(VPagination, _mergeProps({\n \"modelValue\": page.value,\n \"onUpdate:modelValue\": $event => page.value = $event,\n \"density\": \"comfortable\",\n \"first-aria-label\": props.firstPageLabel,\n \"last-aria-label\": props.lastPageLabel,\n \"length\": pageCount.value,\n \"next-aria-label\": props.nextPageLabel,\n \"previous-aria-label\": props.prevPageLabel,\n \"rounded\": true,\n \"show-first-last-page\": true,\n \"total-visible\": props.showCurrentPage ? 1 : 0,\n \"variant\": \"plain\"\n }, paginationProps), null)])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VDataTableFooter.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Utilities\nimport { convertToUnit, defineFunctionalComponent } from \"../../util/index.mjs\"; // Types\nexport const VDataTableColumn = defineFunctionalComponent({\n align: {\n type: String,\n default: 'start'\n },\n fixed: Boolean,\n fixedOffset: [Number, String],\n height: [Number, String],\n lastFixed: Boolean,\n noPadding: Boolean,\n tag: String,\n width: [Number, String],\n maxWidth: [Number, String],\n nowrap: Boolean\n}, (props, _ref) => {\n let {\n slots\n } = _ref;\n const Tag = props.tag ?? 'td';\n return _createVNode(Tag, {\n \"class\": ['v-data-table__td', {\n 'v-data-table-column--fixed': props.fixed,\n 'v-data-table-column--last-fixed': props.lastFixed,\n 'v-data-table-column--no-padding': props.noPadding,\n 'v-data-table-column--nowrap': props.nowrap\n }, `v-data-table-column--align-${props.align}`],\n \"style\": {\n height: convertToUnit(props.height),\n width: convertToUnit(props.width),\n maxWidth: convertToUnit(props.maxWidth),\n left: convertToUnit(props.fixedOffset || null)\n }\n }, {\n default: () => [slots.default?.()]\n });\n});\n//# sourceMappingURL=VDataTableColumn.mjs.map","// Utilities\nimport { capitalize, inject, provide, ref, watchEffect } from 'vue';\nimport { consoleError, propsFactory } from \"../../../util/index.mjs\"; // Types\nexport const makeDataTableHeaderProps = propsFactory({\n headers: Array\n}, 'DataTable-header');\nexport const VDataTableHeadersSymbol = Symbol.for('vuetify:data-table-headers');\nconst defaultHeader = {\n title: '',\n sortable: false\n};\nconst defaultActionHeader = {\n ...defaultHeader,\n width: 48\n};\nfunction priorityQueue() {\n let arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n const queue = arr.map(element => ({\n element,\n priority: 0\n }));\n return {\n enqueue: (element, priority) => {\n let added = false;\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n if (item.priority > priority) {\n queue.splice(i, 0, {\n element,\n priority\n });\n added = true;\n break;\n }\n }\n if (!added) queue.push({\n element,\n priority\n });\n },\n size: () => queue.length,\n count: () => {\n let count = 0;\n if (!queue.length) return 0;\n const whole = Math.floor(queue[0].priority);\n for (let i = 0; i < queue.length; i++) {\n if (Math.floor(queue[i].priority) === whole) count += 1;\n }\n return count;\n },\n dequeue: () => {\n return queue.shift();\n }\n };\n}\nfunction extractLeaves(item) {\n let columns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n if (!item.children) {\n columns.push(item);\n } else {\n for (const child of item.children) {\n extractLeaves(child, columns);\n }\n }\n return columns;\n}\nfunction extractKeys(headers) {\n let keys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Set();\n for (const item of headers) {\n if (item.key) keys.add(item.key);\n if (item.children) {\n extractKeys(item.children, keys);\n }\n }\n return keys;\n}\nfunction getDefaultItem(item) {\n if (!item.key) return undefined;\n if (item.key === 'data-table-group') return defaultHeader;\n if (['data-table-expand', 'data-table-select'].includes(item.key)) return defaultActionHeader;\n return undefined;\n}\nfunction getDepth(item) {\n let depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (!item.children) return depth;\n return Math.max(depth, ...item.children.map(child => getDepth(child, depth + 1)));\n}\nfunction parseFixedColumns(items) {\n let seenFixed = false;\n function setFixed(item) {\n let parentFixed = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!item) return;\n if (parentFixed) {\n item.fixed = true;\n }\n if (item.fixed) {\n if (item.children) {\n for (let i = item.children.length - 1; i >= 0; i--) {\n setFixed(item.children[i], true);\n }\n } else {\n if (!seenFixed) {\n item.lastFixed = true;\n } else if (isNaN(+item.width)) {\n consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);\n }\n seenFixed = true;\n }\n } else {\n if (item.children) {\n for (let i = item.children.length - 1; i >= 0; i--) {\n setFixed(item.children[i]);\n }\n } else {\n seenFixed = false;\n }\n }\n }\n for (let i = items.length - 1; i >= 0; i--) {\n setFixed(items[i]);\n }\n function setFixedOffset(item) {\n let fixedOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (!item) return fixedOffset;\n if (item.children) {\n item.fixedOffset = fixedOffset;\n for (const child of item.children) {\n fixedOffset = setFixedOffset(child, fixedOffset);\n }\n } else if (item.fixed) {\n item.fixedOffset = fixedOffset;\n fixedOffset += parseFloat(item.width || '0') || 0;\n }\n return fixedOffset;\n }\n let fixedOffset = 0;\n for (const item of items) {\n fixedOffset = setFixedOffset(item, fixedOffset);\n }\n}\nfunction parse(items, maxDepth) {\n const headers = [];\n let currentDepth = 0;\n const queue = priorityQueue(items);\n while (queue.size() > 0) {\n let rowSize = queue.count();\n const row = [];\n let fraction = 1;\n while (rowSize > 0) {\n const {\n element: item,\n priority\n } = queue.dequeue();\n const diff = maxDepth - currentDepth - getDepth(item);\n row.push({\n ...item,\n rowspan: diff ?? 1,\n colspan: item.children ? extractLeaves(item).length : 1\n });\n if (item.children) {\n for (const child of item.children) {\n // This internally sorts items that are on the same priority \"row\"\n const sort = priority % 1 + fraction / Math.pow(10, currentDepth + 2);\n queue.enqueue(child, currentDepth + diff + sort);\n }\n }\n fraction += 1;\n rowSize -= 1;\n }\n currentDepth += 1;\n headers.push(row);\n }\n const columns = items.map(item => extractLeaves(item)).flat();\n return {\n columns,\n headers\n };\n}\nfunction convertToInternalHeaders(items) {\n const internalHeaders = [];\n for (const item of items) {\n const defaultItem = {\n ...getDefaultItem(item),\n ...item\n };\n const key = defaultItem.key ?? (typeof defaultItem.value === 'string' ? defaultItem.value : null);\n const value = defaultItem.value ?? key ?? null;\n const internalItem = {\n ...defaultItem,\n key,\n value,\n sortable: defaultItem.sortable ?? (defaultItem.key != null || !!defaultItem.sort),\n children: defaultItem.children ? convertToInternalHeaders(defaultItem.children) : undefined\n };\n internalHeaders.push(internalItem);\n }\n return internalHeaders;\n}\nexport function createHeaders(props, options) {\n const headers = ref([]);\n const columns = ref([]);\n const sortFunctions = ref({});\n const sortRawFunctions = ref({});\n const filterFunctions = ref({});\n watchEffect(() => {\n const _headers = props.headers || Object.keys(props.items[0] ?? {}).map(key => ({\n key,\n title: capitalize(key)\n }));\n const items = _headers.slice();\n const keys = extractKeys(items);\n if (options?.groupBy?.value.length && !keys.has('data-table-group')) {\n items.unshift({\n key: 'data-table-group',\n title: 'Group'\n });\n }\n if (options?.showSelect?.value && !keys.has('data-table-select')) {\n items.unshift({\n key: 'data-table-select'\n });\n }\n if (options?.showExpand?.value && !keys.has('data-table-expand')) {\n items.push({\n key: 'data-table-expand'\n });\n }\n const internalHeaders = convertToInternalHeaders(items);\n parseFixedColumns(internalHeaders);\n const maxDepth = Math.max(...internalHeaders.map(item => getDepth(item))) + 1;\n const parsed = parse(internalHeaders, maxDepth);\n headers.value = parsed.headers;\n columns.value = parsed.columns;\n const flatHeaders = parsed.headers.flat(1);\n for (const header of flatHeaders) {\n if (!header.key) continue;\n if (header.sortable) {\n if (header.sort) {\n sortFunctions.value[header.key] = header.sort;\n }\n if (header.sortRaw) {\n sortRawFunctions.value[header.key] = header.sortRaw;\n }\n }\n if (header.filter) {\n filterFunctions.value[header.key] = header.filter;\n }\n }\n });\n const data = {\n headers,\n columns,\n sortFunctions,\n sortRawFunctions,\n filterFunctions\n };\n provide(VDataTableHeadersSymbol, data);\n return data;\n}\nexport function useHeaders() {\n const data = inject(VDataTableHeadersSymbol);\n if (!data) throw new Error('Missing headers!');\n return data;\n}\n//# sourceMappingURL=headers.mjs.map","import { resolveDirective as _resolveDirective, Fragment as _Fragment, mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VDataTableColumn } from \"./VDataTableColumn.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.mjs\";\nimport { VChip } from \"../VChip/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VSelect } from \"../VSelect/index.mjs\"; // Composables\nimport { useHeaders } from \"./composables/headers.mjs\";\nimport { useSelection } from \"./composables/select.mjs\";\nimport { useSort } from \"./composables/sort.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { LoaderSlot, makeLoaderProps, useLoader } from \"../../composables/loader.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\"; // Utilities\nimport { computed, mergeProps } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDataTableHeadersProps = propsFactory({\n color: String,\n sticky: Boolean,\n disableSort: Boolean,\n multiSort: Boolean,\n sortAscIcon: {\n type: IconValue,\n default: '$sortAsc'\n },\n sortDescIcon: {\n type: IconValue,\n default: '$sortDesc'\n },\n headerProps: {\n type: Object\n },\n ...makeDisplayProps(),\n ...makeLoaderProps()\n}, 'VDataTableHeaders');\nexport const VDataTableHeaders = genericComponent()({\n name: 'VDataTableHeaders',\n props: makeVDataTableHeadersProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const {\n toggleSort,\n sortBy,\n isSorted\n } = useSort();\n const {\n someSelected,\n allSelected,\n selectAll,\n showSelectAll\n } = useSelection();\n const {\n columns,\n headers\n } = useHeaders();\n const {\n loaderClasses\n } = useLoader(props);\n function getFixedStyles(column, y) {\n if (!props.sticky && !column.fixed) return undefined;\n return {\n position: 'sticky',\n left: column.fixed ? convertToUnit(column.fixedOffset) : undefined,\n top: props.sticky ? `calc(var(--v-table-header-height) * ${y})` : undefined\n };\n }\n function getSortIcon(column) {\n const item = sortBy.value.find(item => item.key === column.key);\n if (!item) return props.sortAscIcon;\n return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon;\n }\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(props, 'color');\n const {\n displayClasses,\n mobile\n } = useDisplay(props);\n const slotProps = computed(() => ({\n headers: headers.value,\n columns: columns.value,\n toggleSort,\n isSorted,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n selectAll,\n getSortIcon\n }));\n const headerCellClasses = computed(() => ['v-data-table__th', {\n 'v-data-table__th--sticky': props.sticky\n }, displayClasses.value, loaderClasses.value]);\n const VDataTableHeaderCell = _ref2 => {\n let {\n column,\n x,\n y\n } = _ref2;\n const noPadding = column.key === 'data-table-select' || column.key === 'data-table-expand';\n const headerProps = mergeProps(props.headerProps ?? {}, column.headerProps ?? {});\n return _createVNode(VDataTableColumn, _mergeProps({\n \"tag\": \"th\",\n \"align\": column.align,\n \"class\": [{\n 'v-data-table__th--sortable': column.sortable && !props.disableSort,\n 'v-data-table__th--sorted': isSorted(column),\n 'v-data-table__th--fixed': column.fixed\n }, ...headerCellClasses.value],\n \"style\": {\n width: convertToUnit(column.width),\n minWidth: convertToUnit(column.minWidth),\n maxWidth: convertToUnit(column.maxWidth),\n ...getFixedStyles(column, y)\n },\n \"colspan\": column.colspan,\n \"rowspan\": column.rowspan,\n \"onClick\": column.sortable ? () => toggleSort(column) : undefined,\n \"fixed\": column.fixed,\n \"nowrap\": column.nowrap,\n \"lastFixed\": column.lastFixed,\n \"noPadding\": noPadding\n }, headerProps), {\n default: () => {\n const columnSlotName = `header.${column.key}`;\n const columnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon\n };\n if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);\n if (column.key === 'data-table-select') {\n return slots['header.data-table-select']?.(columnSlotProps) ?? (showSelectAll.value && _createVNode(VCheckboxBtn, {\n \"modelValue\": allSelected.value,\n \"indeterminate\": someSelected.value && !allSelected.value,\n \"onUpdate:modelValue\": selectAll\n }, null));\n }\n return _createVNode(\"div\", {\n \"class\": \"v-data-table-header__content\"\n }, [_createVNode(\"span\", null, [column.title]), column.sortable && !props.disableSort && _createVNode(VIcon, {\n \"key\": \"icon\",\n \"class\": \"v-data-table-header__sort-icon\",\n \"icon\": getSortIcon(column)\n }, null), props.multiSort && isSorted(column) && _createVNode(\"div\", {\n \"key\": \"badge\",\n \"class\": ['v-data-table-header__sort-badge', ...backgroundColorClasses.value],\n \"style\": backgroundColorStyles.value\n }, [sortBy.value.findIndex(x => x.key === column.key) + 1])]);\n }\n });\n };\n const VDataTableMobileHeaderCell = () => {\n const headerProps = mergeProps(props.headerProps ?? {} ?? {});\n const displayItems = computed(() => {\n return columns.value.filter(column => column?.sortable && !props.disableSort);\n });\n const appendIcon = computed(() => {\n const showSelectColumn = columns.value.find(column => column.key === 'data-table-select');\n if (showSelectColumn == null) return;\n return allSelected.value ? '$checkboxOn' : someSelected.value ? '$checkboxIndeterminate' : '$checkboxOff';\n });\n return _createVNode(VDataTableColumn, _mergeProps({\n \"tag\": \"th\",\n \"class\": [...headerCellClasses.value],\n \"colspan\": headers.value.length + 1\n }, headerProps), {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-data-table-header__content\"\n }, [_createVNode(VSelect, {\n \"chips\": true,\n \"class\": \"v-data-table__td-sort-select\",\n \"clearable\": true,\n \"density\": \"default\",\n \"items\": displayItems.value,\n \"label\": t('$vuetify.dataTable.sortBy'),\n \"multiple\": props.multiSort,\n \"variant\": \"underlined\",\n \"onClick:clear\": () => sortBy.value = [],\n \"appendIcon\": appendIcon.value,\n \"onClick:append\": () => selectAll(!allSelected.value)\n }, {\n ...slots,\n chip: props => _createVNode(VChip, {\n \"onClick\": props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined,\n \"onMousedown\": e => {\n e.preventDefault();\n e.stopPropagation();\n }\n }, {\n default: () => [props.item.title, _createVNode(VIcon, {\n \"class\": ['v-data-table__td-sort-icon', isSorted(props.item.raw) && 'v-data-table__td-sort-icon-active'],\n \"icon\": getSortIcon(props.item.raw),\n \"size\": \"small\"\n }, null)]\n })\n })])]\n });\n };\n useRender(() => {\n return mobile.value ? _createVNode(\"tr\", null, [_createVNode(VDataTableMobileHeaderCell, null, null)]) : _createVNode(_Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => _createVNode(\"tr\", null, [row.map((column, x) => _createVNode(VDataTableHeaderCell, {\n \"column\": column,\n \"x\": x,\n \"y\": y\n }, null))])), props.loading && _createVNode(\"tr\", {\n \"class\": \"v-data-table-progress\"\n }, [_createVNode(\"th\", {\n \"colspan\": columns.value.length\n }, [_createVNode(LoaderSlot, {\n \"name\": \"v-data-table-progress\",\n \"absolute\": true,\n \"active\": true,\n \"color\": typeof props.loading === 'boolean' ? undefined : props.loading,\n \"indeterminate\": true\n }, {\n default: slots.loader\n })])])]);\n });\n }\n});\n//# sourceMappingURL=VDataTableHeaders.mjs.map","import { createTextVNode as _createTextVNode, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VDataTableColumn } from \"./VDataTableColumn.mjs\";\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.mjs\"; // Composables\nimport { useGroupBy } from \"./composables/group.mjs\";\nimport { useHeaders } from \"./composables/headers.mjs\";\nimport { useSelection } from \"./composables/select.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const makeVDataTableGroupHeaderRowProps = propsFactory({\n item: {\n type: Object,\n required: true\n }\n}, 'VDataTableGroupHeaderRow');\nexport const VDataTableGroupHeaderRow = genericComponent()({\n name: 'VDataTableGroupHeaderRow',\n props: makeVDataTableGroupHeaderRowProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n isGroupOpen,\n toggleGroup,\n extractRows\n } = useGroupBy();\n const {\n isSelected,\n isSomeSelected,\n select\n } = useSelection();\n const {\n columns\n } = useHeaders();\n const rows = computed(() => {\n return extractRows([props.item]);\n });\n return () => _createVNode(\"tr\", {\n \"class\": \"v-data-table-group-header-row\",\n \"style\": {\n '--v-data-table-group-header-row-depth': props.item.depth\n }\n }, [columns.value.map(column => {\n if (column.key === 'data-table-group') {\n const icon = isGroupOpen(props.item) ? '$expand' : '$next';\n const onClick = () => toggleGroup(props.item);\n return slots['data-table-group']?.({\n item: props.item,\n count: rows.value.length,\n props: {\n icon,\n onClick\n }\n }) ?? _createVNode(VDataTableColumn, {\n \"class\": \"v-data-table-group-header-row__column\"\n }, {\n default: () => [_createVNode(VBtn, {\n \"size\": \"small\",\n \"variant\": \"text\",\n \"icon\": icon,\n \"onClick\": onClick\n }, null), _createVNode(\"span\", null, [props.item.value]), _createVNode(\"span\", null, [_createTextVNode(\"(\"), rows.value.length, _createTextVNode(\")\")])]\n });\n }\n if (column.key === 'data-table-select') {\n const modelValue = isSelected(rows.value);\n const indeterminate = isSomeSelected(rows.value) && !modelValue;\n const selectGroup = v => select(rows.value, v);\n return slots['data-table-select']?.({\n props: {\n modelValue,\n indeterminate,\n 'onUpdate:modelValue': selectGroup\n }\n }) ?? _createVNode(\"td\", null, [_createVNode(VCheckboxBtn, {\n \"modelValue\": modelValue,\n \"indeterminate\": indeterminate,\n \"onUpdate:modelValue\": selectGroup\n }, null)]);\n }\n return _createVNode(\"td\", null, null);\n })]);\n }\n});\n//# sourceMappingURL=VDataTableGroupHeaderRow.mjs.map","import { mergeProps as _mergeProps, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VDataTableColumn } from \"./VDataTableColumn.mjs\";\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VCheckboxBtn } from \"../VCheckbox/index.mjs\"; // Composables\nimport { useExpanded } from \"./composables/expand.mjs\";\nimport { useHeaders } from \"./composables/headers.mjs\";\nimport { useSelection } from \"./composables/select.mjs\";\nimport { useSort } from \"./composables/sort.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\"; // Utilities\nimport { toDisplayString, withModifiers } from 'vue';\nimport { EventProp, genericComponent, getObjectValueByPath, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDataTableRowProps = propsFactory({\n index: Number,\n item: Object,\n cellProps: [Object, Function],\n onClick: EventProp(),\n onContextmenu: EventProp(),\n onDblclick: EventProp(),\n ...makeDisplayProps()\n}, 'VDataTableRow');\nexport const VDataTableRow = genericComponent()({\n name: 'VDataTableRow',\n props: makeVDataTableRowProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n displayClasses,\n mobile\n } = useDisplay(props, 'v-data-table__tr');\n const {\n isSelected,\n toggleSelect,\n someSelected,\n allSelected,\n selectAll\n } = useSelection();\n const {\n isExpanded,\n toggleExpand\n } = useExpanded();\n const {\n toggleSort,\n sortBy,\n isSorted\n } = useSort();\n const {\n columns\n } = useHeaders();\n useRender(() => _createVNode(\"tr\", {\n \"class\": ['v-data-table__tr', {\n 'v-data-table__tr--clickable': !!(props.onClick || props.onContextmenu || props.onDblclick)\n }, displayClasses.value],\n \"onClick\": props.onClick,\n \"onContextmenu\": props.onContextmenu,\n \"onDblclick\": props.onDblclick\n }, [props.item && columns.value.map((column, i) => {\n const item = props.item;\n const slotName = `item.${column.key}`;\n const headerSlotName = `header.${column.key}`;\n const slotProps = {\n index: props.index,\n item: item.raw,\n internalItem: item,\n value: getObjectValueByPath(item.columns, column.key),\n column,\n isSelected,\n toggleSelect,\n isExpanded,\n toggleExpand\n };\n const columnSlotProps = {\n column,\n selectAll,\n isSorted,\n toggleSort,\n sortBy: sortBy.value,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n getSortIcon: () => ''\n };\n const cellProps = typeof props.cellProps === 'function' ? props.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value,\n column\n }) : props.cellProps;\n const columnCellProps = typeof column.cellProps === 'function' ? column.cellProps({\n index: slotProps.index,\n item: slotProps.item,\n internalItem: slotProps.internalItem,\n value: slotProps.value\n }) : column.cellProps;\n return _createVNode(VDataTableColumn, _mergeProps({\n \"align\": column.align,\n \"class\": {\n 'v-data-table__td--expanded-row': column.key === 'data-table-expand',\n 'v-data-table__td--select-row': column.key === 'data-table-select'\n },\n \"fixed\": column.fixed,\n \"fixedOffset\": column.fixedOffset,\n \"lastFixed\": column.lastFixed,\n \"maxWidth\": !mobile.value ? column.maxWidth : undefined,\n \"noPadding\": column.key === 'data-table-select' || column.key === 'data-table-expand',\n \"nowrap\": column.nowrap,\n \"width\": !mobile.value ? column.width : undefined\n }, cellProps, columnCellProps), {\n default: () => {\n if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);\n if (column.key === 'data-table-select') {\n return slots['item.data-table-select']?.(slotProps) ?? _createVNode(VCheckboxBtn, {\n \"disabled\": !item.selectable,\n \"modelValue\": isSelected([item]),\n \"onClick\": withModifiers(() => toggleSelect(item), ['stop'])\n }, null);\n }\n if (column.key === 'data-table-expand') {\n return slots['item.data-table-expand']?.(slotProps) ?? _createVNode(VBtn, {\n \"icon\": isExpanded(item) ? '$collapse' : '$expand',\n \"size\": \"small\",\n \"variant\": \"text\",\n \"onClick\": withModifiers(() => toggleExpand(item), ['stop'])\n }, null);\n }\n const displayValue = toDisplayString(slotProps.value);\n return !mobile.value ? displayValue : _createVNode(_Fragment, null, [_createVNode(\"div\", {\n \"class\": \"v-data-table__td-title\"\n }, [slots[headerSlotName]?.(columnSlotProps) ?? column.title]), _createVNode(\"div\", {\n \"class\": \"v-data-table__td-value\"\n }, [slots[slotName]?.(slotProps) ?? displayValue])]);\n }\n });\n })]));\n }\n});\n//# sourceMappingURL=VDataTableRow.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VDataTableGroupHeaderRow } from \"./VDataTableGroupHeaderRow.mjs\";\nimport { VDataTableRow } from \"./VDataTableRow.mjs\"; // Composables\nimport { useExpanded } from \"./composables/expand.mjs\";\nimport { useGroupBy } from \"./composables/group.mjs\";\nimport { useHeaders } from \"./composables/headers.mjs\";\nimport { useSelection } from \"./composables/select.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\"; // Utilities\nimport { Fragment, mergeProps } from 'vue';\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDataTableRowsProps = propsFactory({\n loading: [Boolean, String],\n loadingText: {\n type: String,\n default: '$vuetify.dataIterator.loadingText'\n },\n hideNoData: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n noDataText: {\n type: String,\n default: '$vuetify.noDataText'\n },\n rowProps: [Object, Function],\n cellProps: [Object, Function],\n ...makeDisplayProps()\n}, 'VDataTableRows');\nexport const VDataTableRows = genericComponent()({\n name: 'VDataTableRows',\n inheritAttrs: false,\n props: makeVDataTableRowsProps(),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n columns\n } = useHeaders();\n const {\n expandOnClick,\n toggleExpand,\n isExpanded\n } = useExpanded();\n const {\n isSelected,\n toggleSelect\n } = useSelection();\n const {\n toggleGroup,\n isGroupOpen\n } = useGroupBy();\n const {\n t\n } = useLocale();\n const {\n mobile\n } = useDisplay(props);\n useRender(() => {\n if (props.loading && (!props.items.length || slots.loading)) {\n return _createVNode(\"tr\", {\n \"class\": \"v-data-table-rows-loading\",\n \"key\": \"loading\"\n }, [_createVNode(\"td\", {\n \"colspan\": columns.value.length\n }, [slots.loading?.() ?? t(props.loadingText)])]);\n }\n if (!props.loading && !props.items.length && !props.hideNoData) {\n return _createVNode(\"tr\", {\n \"class\": \"v-data-table-rows-no-data\",\n \"key\": \"no-data\"\n }, [_createVNode(\"td\", {\n \"colspan\": columns.value.length\n }, [slots['no-data']?.() ?? t(props.noDataText)])]);\n }\n return _createVNode(_Fragment, null, [props.items.map((item, index) => {\n if (item.type === 'group') {\n const slotProps = {\n index,\n item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect,\n toggleGroup,\n isGroupOpen\n };\n return slots['group-header'] ? slots['group-header'](slotProps) : _createVNode(VDataTableGroupHeaderRow, _mergeProps({\n \"key\": `group-header_${item.id}`,\n \"item\": item\n }, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);\n }\n const slotProps = {\n index,\n item: item.raw,\n internalItem: item,\n columns: columns.value,\n isExpanded,\n toggleExpand,\n isSelected,\n toggleSelect\n };\n const itemSlotProps = {\n ...slotProps,\n props: mergeProps({\n key: `item_${item.key ?? item.index}`,\n onClick: expandOnClick.value ? () => {\n toggleExpand(item);\n } : undefined,\n index,\n item,\n cellProps: props.cellProps,\n mobile: mobile.value\n }, getPrefixedEventHandlers(attrs, ':row', () => slotProps), typeof props.rowProps === 'function' ? props.rowProps({\n item: slotProps.item,\n index: slotProps.index,\n internalItem: slotProps.internalItem\n }) : props.rowProps)\n };\n return _createVNode(_Fragment, {\n \"key\": itemSlotProps.props.key\n }, [slots.item ? slots.item(itemSlotProps) : _createVNode(VDataTableRow, itemSlotProps.props, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);\n })]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VDataTableRows.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VTable.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVTableProps = propsFactory({\n fixedHeader: Boolean,\n fixedFooter: Boolean,\n height: [Number, String],\n hover: Boolean,\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VTable');\nexport const VTable = genericComponent()({\n name: 'VTable',\n props: makeVTableProps(),\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n densityClasses\n } = useDensity(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-table', {\n 'v-table--fixed-height': !!props.height,\n 'v-table--fixed-header': props.fixedHeader,\n 'v-table--fixed-footer': props.fixedFooter,\n 'v-table--has-top': !!slots.top,\n 'v-table--has-bottom': !!slots.bottom,\n 'v-table--hover': props.hover\n }, themeClasses.value, densityClasses.value, props.class],\n \"style\": props.style\n }, {\n default: () => [slots.top?.(), slots.default ? _createVNode(\"div\", {\n \"class\": \"v-table__wrapper\",\n \"style\": {\n height: convertToUnit(props.height)\n }\n }, [_createVNode(\"table\", null, [slots.default()])]) : slots.wrapper?.(), slots.bottom?.()]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VTable.mjs.map","// Utilities\nimport { computed } from 'vue';\nimport { getPropertyFromItem, propsFactory } from \"../../../util/index.mjs\"; // Types\n// Composables\nexport const makeDataTableItemsProps = propsFactory({\n items: {\n type: Array,\n default: () => []\n },\n itemValue: {\n type: [String, Array, Function],\n default: 'id'\n },\n itemSelectable: {\n type: [String, Array, Function],\n default: null\n },\n rowProps: [Object, Function],\n cellProps: [Object, Function],\n returnObject: Boolean\n}, 'DataTable-items');\nexport function transformItem(props, item, index, columns) {\n const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue);\n const selectable = getPropertyFromItem(item, props.itemSelectable, true);\n const itemColumns = columns.reduce((obj, column) => {\n if (column.key != null) obj[column.key] = getPropertyFromItem(item, column.value);\n return obj;\n }, {});\n return {\n type: 'item',\n key: props.returnObject ? getPropertyFromItem(item, props.itemValue) : value,\n index,\n value,\n selectable,\n columns: itemColumns,\n raw: item\n };\n}\nexport function transformItems(props, items, columns) {\n return items.map((item, index) => transformItem(props, item, index, columns));\n}\nexport function useDataTableItems(props, columns) {\n const items = computed(() => transformItems(props, props.items, columns.value));\n return {\n items\n };\n}\n//# sourceMappingURL=items.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode, resolveDirective as _resolveDirective, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VDataTable.css\";\n\n// Components\nimport { makeVDataTableFooterProps, VDataTableFooter } from \"./VDataTableFooter.mjs\";\nimport { makeVDataTableHeadersProps, VDataTableHeaders } from \"./VDataTableHeaders.mjs\";\nimport { makeVDataTableRowsProps, VDataTableRows } from \"./VDataTableRows.mjs\";\nimport { VDivider } from \"../VDivider/index.mjs\";\nimport { makeVTableProps, VTable } from \"../VTable/VTable.mjs\"; // Composables\nimport { makeDataTableExpandProps, provideExpanded } from \"./composables/expand.mjs\";\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from \"./composables/group.mjs\";\nimport { createHeaders, makeDataTableHeaderProps } from \"./composables/headers.mjs\";\nimport { makeDataTableItemsProps, useDataTableItems } from \"./composables/items.mjs\";\nimport { useOptions } from \"./composables/options.mjs\";\nimport { createPagination, makeDataTablePaginateProps, providePagination, usePaginatedItems } from \"./composables/paginate.mjs\";\nimport { makeDataTableSelectProps, provideSelection } from \"./composables/select.mjs\";\nimport { createSort, makeDataTableSortProps, provideSort, useSortedItems } from \"./composables/sort.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeFilterProps, useFilter } from \"../../composables/filter.mjs\"; // Utilities\nimport { computed, toRef, toRefs } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeDataTableProps = propsFactory({\n ...makeVDataTableRowsProps(),\n hideDefaultBody: Boolean,\n hideDefaultFooter: Boolean,\n hideDefaultHeader: Boolean,\n width: [String, Number],\n search: String,\n ...makeDataTableExpandProps(),\n ...makeDataTableGroupProps(),\n ...makeDataTableHeaderProps(),\n ...makeDataTableItemsProps(),\n ...makeDataTableSelectProps(),\n ...makeDataTableSortProps(),\n ...makeVDataTableHeadersProps(),\n ...makeVTableProps()\n}, 'DataTable');\nexport const makeVDataTableProps = propsFactory({\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeFilterProps(),\n ...makeVDataTableFooterProps()\n}, 'VDataTable');\nexport const VDataTable = genericComponent()({\n name: 'VDataTable',\n props: makeVDataTableProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:page': value => true,\n 'update:itemsPerPage': value => true,\n 'update:sortBy': value => true,\n 'update:options': value => true,\n 'update:groupBy': value => true,\n 'update:expanded': value => true,\n 'update:currentItems': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n groupBy\n } = createGroupBy(props);\n const {\n sortBy,\n multiSort,\n mustSort\n } = createSort(props);\n const {\n page,\n itemsPerPage\n } = createPagination(props);\n const {\n disableSort\n } = toRefs(props);\n const {\n columns,\n headers,\n sortFunctions,\n sortRawFunctions,\n filterFunctions\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand')\n });\n const {\n items\n } = useDataTableItems(props, columns);\n const search = toRef(props, 'search');\n const {\n filteredItems\n } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions\n });\n const {\n toggleSort\n } = provideSort({\n sortBy,\n multiSort,\n mustSort,\n page\n });\n const {\n sortByWithGroups,\n opened,\n extractRows,\n isGroupOpen,\n toggleGroup\n } = provideGroupBy({\n groupBy,\n sortBy,\n disableSort\n });\n const {\n sortedItems\n } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => ({\n ...item.raw,\n ...item.columns\n }),\n sortFunctions,\n sortRawFunctions\n });\n const {\n flatItems\n } = useGroupedItems(sortedItems, groupBy, opened);\n const itemsLength = computed(() => flatItems.value.length);\n const {\n startIndex,\n stopIndex,\n pageCount,\n setItemsPerPage\n } = providePagination({\n page,\n itemsPerPage,\n itemsLength\n });\n const {\n paginatedItems\n } = usePaginatedItems({\n items: flatItems,\n startIndex,\n stopIndex,\n itemsPerPage\n });\n const paginatedItemsWithoutGroups = computed(() => extractRows(paginatedItems.value));\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected\n } = provideSelection(props, {\n allItems: items,\n currentPage: paginatedItemsWithoutGroups\n });\n const {\n isExpanded,\n toggleExpand\n } = provideExpanded(props);\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search\n });\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText')\n }\n });\n const slotProps = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: paginatedItemsWithoutGroups.value.map(item => item.raw),\n internalItems: paginatedItemsWithoutGroups.value,\n groupedItems: paginatedItems.value,\n columns: columns.value,\n headers: headers.value\n }));\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props);\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props);\n const dataTableRowsProps = VDataTableRows.filterProps(props);\n const tableProps = VTable.filterProps(props);\n return _createVNode(VTable, _mergeProps({\n \"class\": ['v-data-table', {\n 'v-data-table--show-select': props.showSelect,\n 'v-data-table--loading': props.loading\n }, props.class],\n \"style\": props.style\n }, tableProps), {\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : _createVNode(_Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && _createVNode(\"thead\", {\n \"key\": \"thead\"\n }, [_createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && _createVNode(\"tbody\", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : _createVNode(VDataTableRows, _mergeProps(attrs, dataTableRowsProps, {\n \"items\": paginatedItems.value\n }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && _createVNode(_Fragment, null, [_createVNode(VDivider, null, null), _createVNode(VDataTableFooter, dataTableFooterProps, {\n prepend: slots['footer.prepend']\n })])\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VDataTable.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeDataTableProps } from \"./VDataTable.mjs\";\nimport { VDataTableHeaders } from \"./VDataTableHeaders.mjs\";\nimport { VDataTableRow } from \"./VDataTableRow.mjs\";\nimport { VDataTableRows } from \"./VDataTableRows.mjs\";\nimport { VTable } from \"../VTable/index.mjs\";\nimport { VVirtualScrollItem } from \"../VVirtualScroll/VVirtualScrollItem.mjs\"; // Composables\nimport { provideExpanded } from \"./composables/expand.mjs\";\nimport { createGroupBy, makeDataTableGroupProps, provideGroupBy, useGroupedItems } from \"./composables/group.mjs\";\nimport { createHeaders } from \"./composables/headers.mjs\";\nimport { useDataTableItems } from \"./composables/items.mjs\";\nimport { useOptions } from \"./composables/options.mjs\";\nimport { provideSelection } from \"./composables/select.mjs\";\nimport { createSort, provideSort, useSortedItems } from \"./composables/sort.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeFilterProps, useFilter } from \"../../composables/filter.mjs\";\nimport { makeVirtualProps, useVirtual } from \"../../composables/virtual.mjs\"; // Utilities\nimport { computed, shallowRef, toRef, toRefs } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDataTableVirtualProps = propsFactory({\n ...makeDataTableProps(),\n ...makeDataTableGroupProps(),\n ...makeVirtualProps(),\n ...makeFilterProps()\n}, 'VDataTableVirtual');\nexport const VDataTableVirtual = genericComponent()({\n name: 'VDataTableVirtual',\n props: makeVDataTableVirtualProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:sortBy': value => true,\n 'update:options': value => true,\n 'update:groupBy': value => true,\n 'update:expanded': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n groupBy\n } = createGroupBy(props);\n const {\n sortBy,\n multiSort,\n mustSort\n } = createSort(props);\n const {\n disableSort\n } = toRefs(props);\n const {\n columns,\n headers,\n filterFunctions,\n sortFunctions,\n sortRawFunctions\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand')\n });\n const {\n items\n } = useDataTableItems(props, columns);\n const search = toRef(props, 'search');\n const {\n filteredItems\n } = useFilter(props, items, search, {\n transform: item => item.columns,\n customKeyFilter: filterFunctions\n });\n const {\n toggleSort\n } = provideSort({\n sortBy,\n multiSort,\n mustSort\n });\n const {\n sortByWithGroups,\n opened,\n extractRows,\n isGroupOpen,\n toggleGroup\n } = provideGroupBy({\n groupBy,\n sortBy,\n disableSort\n });\n const {\n sortedItems\n } = useSortedItems(props, filteredItems, sortByWithGroups, {\n transform: item => ({\n ...item.raw,\n ...item.columns\n }),\n sortFunctions,\n sortRawFunctions\n });\n const {\n flatItems\n } = useGroupedItems(sortedItems, groupBy, opened);\n const allItems = computed(() => extractRows(flatItems.value));\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected\n } = provideSelection(props, {\n allItems,\n currentPage: allItems\n });\n const {\n isExpanded,\n toggleExpand\n } = provideExpanded(props);\n const {\n containerRef,\n markerRef,\n paddingTop,\n paddingBottom,\n computedItems,\n handleItemResize,\n handleScroll,\n handleScrollend\n } = useVirtual(props, flatItems);\n const displayItems = computed(() => computedItems.value.map(item => item.raw));\n useOptions({\n sortBy,\n page: shallowRef(1),\n itemsPerPage: shallowRef(-1),\n groupBy,\n search\n });\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText')\n }\n });\n const slotProps = computed(() => ({\n sortBy: sortBy.value,\n toggleSort,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: allItems.value.map(item => item.raw),\n internalItems: allItems.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value\n }));\n useRender(() => {\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props);\n const dataTableRowsProps = VDataTableRows.filterProps(props);\n const tableProps = VTable.filterProps(props);\n return _createVNode(VTable, _mergeProps({\n \"class\": ['v-data-table', {\n 'v-data-table--loading': props.loading\n }, props.class],\n \"style\": props.style\n }, tableProps), {\n top: () => slots.top?.(slotProps.value),\n wrapper: () => _createVNode(\"div\", {\n \"ref\": containerRef,\n \"onScrollPassive\": handleScroll,\n \"onScrollend\": handleScrollend,\n \"class\": \"v-table__wrapper\",\n \"style\": {\n height: convertToUnit(props.height)\n }\n }, [_createVNode(\"table\", null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && _createVNode(\"thead\", {\n \"key\": \"thead\"\n }, [_createVNode(VDataTableHeaders, _mergeProps(dataTableHeadersProps, {\n \"sticky\": props.fixedHeader\n }), slots)]), !props.hideDefaultBody && _createVNode(\"tbody\", null, [_createVNode(\"tr\", {\n \"ref\": markerRef,\n \"style\": {\n height: convertToUnit(paddingTop.value),\n border: 0\n }\n }, [_createVNode(\"td\", {\n \"colspan\": columns.value.length,\n \"style\": {\n height: 0,\n border: 0\n }\n }, null)]), slots['body.prepend']?.(slotProps.value), _createVNode(VDataTableRows, _mergeProps(attrs, dataTableRowsProps, {\n \"items\": displayItems.value\n }), {\n ...slots,\n item: itemSlotProps => _createVNode(VVirtualScrollItem, {\n \"key\": itemSlotProps.internalItem.index,\n \"renderless\": true,\n \"onUpdate:height\": height => handleItemResize(itemSlotProps.internalItem.index, height)\n }, {\n default: _ref2 => {\n let {\n itemRef\n } = _ref2;\n return slots.item?.({\n ...itemSlotProps,\n itemRef\n }) ?? _createVNode(VDataTableRow, _mergeProps(itemSlotProps.props, {\n \"ref\": itemRef,\n \"key\": itemSlotProps.internalItem.index,\n \"index\": itemSlotProps.internalItem.index\n }), slots);\n }\n })\n }), slots['body.append']?.(slotProps.value), _createVNode(\"tr\", {\n \"style\": {\n height: convertToUnit(paddingBottom.value),\n border: 0\n }\n }, [_createVNode(\"td\", {\n \"colspan\": columns.value.length,\n \"style\": {\n height: 0,\n border: 0\n }\n }, null)])])])]),\n bottom: () => slots.bottom?.(slotProps.value)\n });\n });\n }\n});\n//# sourceMappingURL=VDataTableVirtual.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment } from \"vue\";\n// Components\nimport { makeDataTableProps } from \"./VDataTable.mjs\";\nimport { makeVDataTableFooterProps, VDataTableFooter } from \"./VDataTableFooter.mjs\";\nimport { VDataTableHeaders } from \"./VDataTableHeaders.mjs\";\nimport { VDataTableRows } from \"./VDataTableRows.mjs\";\nimport { VDivider } from \"../VDivider/index.mjs\";\nimport { VTable } from \"../VTable/index.mjs\"; // Composables\nimport { provideExpanded } from \"./composables/expand.mjs\";\nimport { createGroupBy, provideGroupBy, useGroupedItems } from \"./composables/group.mjs\";\nimport { createHeaders } from \"./composables/headers.mjs\";\nimport { useDataTableItems } from \"./composables/items.mjs\";\nimport { useOptions } from \"./composables/options.mjs\";\nimport { createPagination, makeDataTablePaginateProps, providePagination } from \"./composables/paginate.mjs\";\nimport { provideSelection } from \"./composables/select.mjs\";\nimport { createSort, provideSort } from \"./composables/sort.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\"; // Utilities\nimport { computed, provide, toRef, toRefs } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDataTableServerProps = propsFactory({\n itemsLength: {\n type: [Number, String],\n required: true\n },\n ...makeDataTablePaginateProps(),\n ...makeDataTableProps(),\n ...makeVDataTableFooterProps()\n}, 'VDataTableServer');\nexport const VDataTableServer = genericComponent()({\n name: 'VDataTableServer',\n props: makeVDataTableServerProps(),\n emits: {\n 'update:modelValue': value => true,\n 'update:page': page => true,\n 'update:itemsPerPage': page => true,\n 'update:sortBy': sortBy => true,\n 'update:options': options => true,\n 'update:expanded': options => true,\n 'update:groupBy': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const {\n groupBy\n } = createGroupBy(props);\n const {\n sortBy,\n multiSort,\n mustSort\n } = createSort(props);\n const {\n page,\n itemsPerPage\n } = createPagination(props);\n const {\n disableSort\n } = toRefs(props);\n const itemsLength = computed(() => parseInt(props.itemsLength, 10));\n const {\n columns,\n headers\n } = createHeaders(props, {\n groupBy,\n showSelect: toRef(props, 'showSelect'),\n showExpand: toRef(props, 'showExpand')\n });\n const {\n items\n } = useDataTableItems(props, columns);\n const {\n toggleSort\n } = provideSort({\n sortBy,\n multiSort,\n mustSort,\n page\n });\n const {\n opened,\n isGroupOpen,\n toggleGroup,\n extractRows\n } = provideGroupBy({\n groupBy,\n sortBy,\n disableSort\n });\n const {\n pageCount,\n setItemsPerPage\n } = providePagination({\n page,\n itemsPerPage,\n itemsLength\n });\n const {\n flatItems\n } = useGroupedItems(items, groupBy, opened);\n const {\n isSelected,\n select,\n selectAll,\n toggleSelect,\n someSelected,\n allSelected\n } = provideSelection(props, {\n allItems: items,\n currentPage: items\n });\n const {\n isExpanded,\n toggleExpand\n } = provideExpanded(props);\n const itemsWithoutGroups = computed(() => extractRows(items.value));\n useOptions({\n page,\n itemsPerPage,\n sortBy,\n groupBy,\n search: toRef(props, 'search')\n });\n provide('v-data-table', {\n toggleSort,\n sortBy\n });\n provideDefaults({\n VDataTableRows: {\n hideNoData: toRef(props, 'hideNoData'),\n noDataText: toRef(props, 'noDataText'),\n loading: toRef(props, 'loading'),\n loadingText: toRef(props, 'loadingText')\n }\n });\n const slotProps = computed(() => ({\n page: page.value,\n itemsPerPage: itemsPerPage.value,\n sortBy: sortBy.value,\n pageCount: pageCount.value,\n toggleSort,\n setItemsPerPage,\n someSelected: someSelected.value,\n allSelected: allSelected.value,\n isSelected,\n select,\n selectAll,\n toggleSelect,\n isExpanded,\n toggleExpand,\n isGroupOpen,\n toggleGroup,\n items: itemsWithoutGroups.value.map(item => item.raw),\n internalItems: itemsWithoutGroups.value,\n groupedItems: flatItems.value,\n columns: columns.value,\n headers: headers.value\n }));\n useRender(() => {\n const dataTableFooterProps = VDataTableFooter.filterProps(props);\n const dataTableHeadersProps = VDataTableHeaders.filterProps(props);\n const dataTableRowsProps = VDataTableRows.filterProps(props);\n const tableProps = VTable.filterProps(props);\n return _createVNode(VTable, _mergeProps({\n \"class\": ['v-data-table', {\n 'v-data-table--loading': props.loading\n }, props.class],\n \"style\": props.style\n }, tableProps), {\n top: () => slots.top?.(slotProps.value),\n default: () => slots.default ? slots.default(slotProps.value) : _createVNode(_Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && _createVNode(\"thead\", {\n \"key\": \"thead\",\n \"class\": \"v-data-table__thead\",\n \"role\": \"rowgroup\"\n }, [_createVNode(VDataTableHeaders, _mergeProps(dataTableHeadersProps, {\n \"sticky\": props.fixedHeader\n }), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && _createVNode(\"tbody\", {\n \"class\": \"v-data-table__tbody\",\n \"role\": \"rowgroup\"\n }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : _createVNode(VDataTableRows, _mergeProps(attrs, dataTableRowsProps, {\n \"items\": flatItems.value\n }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),\n bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && _createVNode(_Fragment, null, [_createVNode(VDivider, null, null), _createVNode(VDataTableFooter, dataTableFooterProps, {\n prepend: slots['footer.prepend']\n })])\n });\n });\n }\n});\n//# sourceMappingURL=VDataTableServer.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVContainerProps = propsFactory({\n fluid: {\n type: Boolean,\n default: false\n },\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps()\n}, 'VContainer');\nexport const VContainer = genericComponent()({\n name: 'VContainer',\n props: makeVContainerProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n rtlClasses\n } = useRtl();\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-container', {\n 'v-container--fluid': props.fluid\n }, rtlClasses.value, props.class],\n \"style\": [dimensionStyles.value, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VContainer.mjs.map","// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { breakpoints } from \"../../composables/display.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { capitalize, computed, h } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false\n };\n return props;\n }, {});\n})();\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n const offsetKey = 'offset' + capitalize(val);\n props[offsetKey] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n const orderKey = 'order' + capitalize(val);\n props[orderKey] = {\n type: [String, Number],\n default: null\n };\n return props;\n }, {});\n})();\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps)\n};\nfunction breakpointClass(type, prop, val) {\n let className = type;\n if (val == null || val === false) {\n return undefined;\n }\n if (prop) {\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n }\n if (type === 'col') {\n className = 'v-' + className;\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .v-col-md\n return className.toLowerCase();\n }\n // .order-md-6\n className += `-${val}`;\n return className.toLowerCase();\n}\nconst ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch'];\nexport const makeVColProps = propsFactory({\n cols: {\n type: [Boolean, String, Number],\n default: false\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: str => ALIGN_SELF_VALUES.includes(str)\n },\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VCol');\nexport const VCol = genericComponent()({\n name: 'VCol',\n props: makeVColProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const classes = computed(() => {\n const classList = [];\n\n // Loop through `col`, `offset`, `order` breakpoint props\n let type;\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n const hasColClasses = classList.some(className => className.startsWith('v-col-'));\n classList.push({\n // Default to .v-col if no other col-{bp}-* classes generated nor `cols` specified.\n 'v-col': !hasColClasses || !props.cols,\n [`v-col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf\n });\n return classList;\n });\n return () => h(props.tag, {\n class: [classes.value, props.class],\n style: props.style\n }, slots.default?.());\n }\n});\n//# sourceMappingURL=VCol.mjs.map","// Styles\nimport \"./VGrid.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { breakpoints } from \"../../composables/display.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { capitalize, computed, h } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nconst ALIGNMENT = ['start', 'end', 'center'];\nconst SPACE = ['space-between', 'space-around', 'space-evenly'];\nfunction makeRowProps(prefix, def) {\n return breakpoints.reduce((props, val) => {\n const prefixKey = prefix + capitalize(val);\n props[prefixKey] = def();\n return props;\n }, {});\n}\nconst ALIGN_VALUES = [...ALIGNMENT, 'baseline', 'stretch'];\nconst alignValidator = str => ALIGN_VALUES.includes(str);\nconst alignProps = makeRowProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator\n}));\nconst JUSTIFY_VALUES = [...ALIGNMENT, ...SPACE];\nconst justifyValidator = str => JUSTIFY_VALUES.includes(str);\nconst justifyProps = makeRowProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator\n}));\nconst ALIGN_CONTENT_VALUES = [...ALIGNMENT, ...SPACE, 'stretch'];\nconst alignContentValidator = str => ALIGN_CONTENT_VALUES.includes(str);\nconst alignContentProps = makeRowProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator\n}));\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps)\n};\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content'\n};\nfunction breakpointClass(type, prop, val) {\n let className = classMap[type];\n if (val == null) {\n return undefined;\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '');\n className += `-${breakpoint}`;\n }\n // .align-items-sm-center\n className += `-${val}`;\n return className.toLowerCase();\n}\nexport const makeVRowProps = propsFactory({\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator\n },\n ...alignContentProps,\n ...makeComponentProps(),\n ...makeTagProps()\n}, 'VRow');\nexport const VRow = genericComponent()({\n name: 'VRow',\n props: makeVRowProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const classes = computed(() => {\n const classList = [];\n\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type;\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value = props[prop];\n const className = breakpointClass(type, prop, value);\n if (className) classList.push(className);\n });\n }\n classList.push({\n 'v-row--no-gutters': props.noGutters,\n 'v-row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent\n });\n return classList;\n });\n return () => h(props.tag, {\n class: ['v-row', classes.value, props.class],\n style: props.style\n }, slots.default?.());\n }\n});\n//# sourceMappingURL=VRow.mjs.map","// Styles\nimport \"./VGrid.css\";\n\n// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VSpacer = createSimpleFunctional('v-spacer', 'div', 'VSpacer');\n//# sourceMappingURL=VSpacer.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VDatePickerControls.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VSpacer } from \"../VGrid/index.mjs\"; // Composables\nimport { IconValue } from \"../../composables/icons.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDatePickerControlsProps = propsFactory({\n active: {\n type: [String, Array],\n default: undefined\n },\n disabled: {\n type: [Boolean, String, Array],\n default: false\n },\n nextIcon: {\n type: IconValue,\n default: '$next'\n },\n prevIcon: {\n type: IconValue,\n default: '$prev'\n },\n modeIcon: {\n type: IconValue,\n default: '$subgroup'\n },\n text: String,\n viewMode: {\n type: String,\n default: 'month'\n }\n}, 'VDatePickerControls');\nexport const VDatePickerControls = genericComponent()({\n name: 'VDatePickerControls',\n props: makeVDatePickerControlsProps(),\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n 'click:text': () => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled) ? props.disabled.includes('text') : !!props.disabled;\n });\n const disableYear = computed(() => {\n return Array.isArray(props.disabled) ? props.disabled.includes('mode') : !!props.disabled;\n });\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled) ? props.disabled.includes('prev') : !!props.disabled;\n });\n const disableNext = computed(() => {\n return Array.isArray(props.disabled) ? props.disabled.includes('next') : !!props.disabled;\n });\n function onClickPrev() {\n emit('click:prev');\n }\n function onClickNext() {\n emit('click:next');\n }\n function onClickYear() {\n emit('click:year');\n }\n function onClickMonth() {\n emit('click:month');\n }\n useRender(() => {\n // TODO: add slot support and scope defaults\n return _createVNode(\"div\", {\n \"class\": ['v-date-picker-controls']\n }, [_createVNode(VBtn, {\n \"class\": \"v-date-picker-controls__month-btn\",\n \"disabled\": disableMonth.value,\n \"text\": props.text,\n \"variant\": \"text\",\n \"rounded\": true,\n \"onClick\": onClickMonth\n }, null), _createVNode(VBtn, {\n \"key\": \"mode-btn\",\n \"class\": \"v-date-picker-controls__mode-btn\",\n \"disabled\": disableYear.value,\n \"density\": \"comfortable\",\n \"icon\": props.modeIcon,\n \"variant\": \"text\",\n \"onClick\": onClickYear\n }, null), _createVNode(VSpacer, {\n \"key\": \"mode-spacer\"\n }, null), _createVNode(\"div\", {\n \"key\": \"month-buttons\",\n \"class\": \"v-date-picker-controls__month\"\n }, [_createVNode(VBtn, {\n \"disabled\": disablePrev.value,\n \"icon\": props.prevIcon,\n \"variant\": \"text\",\n \"onClick\": onClickPrev\n }, null), _createVNode(VBtn, {\n \"disabled\": disableNext.value,\n \"icon\": props.nextIcon,\n \"variant\": \"text\",\n \"onClick\": onClickNext\n }, null)])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VDatePickerControls.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VDatePickerHeader.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDatePickerHeaderProps = propsFactory({\n appendIcon: String,\n color: String,\n header: String,\n transition: String,\n onClick: EventProp()\n}, 'VDatePickerHeader');\nexport const VDatePickerHeader = genericComponent()({\n name: 'VDatePickerHeader',\n props: makeVDatePickerHeaderProps(),\n emits: {\n click: () => true,\n 'click:append': () => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(props, 'color');\n function onClick() {\n emit('click');\n }\n function onClickAppend() {\n emit('click:append');\n }\n useRender(() => {\n const hasContent = !!(slots.default || props.header);\n const hasAppend = !!(slots.append || props.appendIcon);\n return _createVNode(\"div\", {\n \"class\": ['v-date-picker-header', {\n 'v-date-picker-header--clickable': !!props.onClick\n }, backgroundColorClasses.value],\n \"style\": backgroundColorStyles.value,\n \"onClick\": onClick\n }, [slots.prepend && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-date-picker-header__prepend\"\n }, [slots.prepend()]), hasContent && _createVNode(MaybeTransition, {\n \"key\": \"content\",\n \"name\": props.transition\n }, {\n default: () => [_createVNode(\"div\", {\n \"key\": props.header,\n \"class\": \"v-date-picker-header__content\"\n }, [slots.default?.() ?? props.header])]\n }), hasAppend && _createVNode(\"div\", {\n \"class\": \"v-date-picker-header__append\"\n }, [!slots.append ? _createVNode(VBtn, {\n \"key\": \"append-btn\",\n \"icon\": props.appendIcon,\n \"variant\": \"text\",\n \"onClick\": onClickAppend\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"append-defaults\",\n \"disabled\": !props.appendIcon,\n \"defaults\": {\n VBtn: {\n icon: props.appendIcon,\n variant: 'text'\n }\n }\n }, {\n default: () => [slots.append?.()]\n })])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VDatePickerHeader.mjs.map","// Composables\nimport { getWeek, useDate } from \"./date/date.mjs\";\nimport { useProxiedModel } from \"./proxiedModel.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { propsFactory, wrapInArray } from \"../util/index.mjs\"; // Types\n// Types\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function],\n disabled: Boolean,\n displayValue: null,\n modelValue: Array,\n month: [Number, String],\n max: null,\n min: null,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array,\n default: () => [0, 1, 2, 3, 4, 5, 6]\n },\n weeksInMonth: {\n type: String,\n default: 'dynamic'\n },\n firstDayOfWeek: [Number, String]\n}, 'calendar');\nexport function useCalendar(props) {\n const adapter = useDate();\n const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v));\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue);\n if (model.value.length > 0) return adapter.date(model.value[0]);\n if (props.min) return adapter.date(props.min);\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0]);\n return adapter.date();\n });\n const year = useProxiedModel(props, 'year', undefined, v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value);\n return adapter.startOfYear(adapter.setYear(adapter.date(), value));\n }, v => adapter.getYear(v));\n const month = useProxiedModel(props, 'month', undefined, v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value);\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value));\n return adapter.setMonth(date, value);\n }, v => adapter.getMonth(v));\n const weekDays = computed(() => {\n const firstDayOfWeek = Number(props.firstDayOfWeek ?? 0);\n return props.weekdays.map(day => (day + firstDayOfWeek) % 7);\n });\n const weeksInMonth = computed(() => {\n const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);\n const days = weeks.flat();\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7;\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1];\n let week = [];\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day));\n if (day % 7 === 0) {\n weeks.push(week);\n week = [];\n }\n }\n }\n return weeks;\n });\n function genDays(days, today) {\n return days.filter(date => {\n return weekDays.value.includes(adapter.toJsDate(date).getDay());\n }).map((date, index) => {\n const isoDate = adapter.toISO(date);\n const isAdjacent = !adapter.isSameMonth(date, month.value);\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value));\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value));\n const isSame = adapter.isSameDay(date, month.value);\n return {\n date,\n isoDate,\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled: isDisabled(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isStart,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isEnd,\n isSame,\n localized: adapter.format(date, 'dayOfMonth')\n };\n });\n }\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek);\n const week = [];\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day));\n }\n const today = adapter.date();\n return genDays(week, today);\n });\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat();\n const today = adapter.date();\n return genDays(days, today);\n });\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? getWeek(adapter, week[0]) : null;\n });\n });\n function isDisabled(value) {\n if (props.disabled) return true;\n const date = adapter.date(value);\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true;\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true;\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date));\n }\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date);\n }\n return false;\n }\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekDays,\n weekNumbers\n };\n}\n//# sourceMappingURL=calendar.mjs.map","import { createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\";\n// Styles\nimport \"./VDatePickerMonth.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\"; // Composables\nimport { makeCalendarProps, useCalendar } from \"../../composables/calendar.mjs\";\nimport { useDate } from \"../../composables/date/date.mjs\";\nimport { MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, ref, shallowRef, watch } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String],\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition'\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition'\n },\n ...makeCalendarProps()\n}, 'VDatePickerMonth');\nexport const VDatePickerMonth = genericComponent()({\n name: 'VDatePickerMonth',\n props: makeVDatePickerMonthProps(),\n emits: {\n 'update:modelValue': date => true,\n 'update:month': date => true,\n 'update:year': date => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const daysRef = ref();\n const {\n daysInMonth,\n model,\n weekNumbers\n } = useCalendar(props);\n const adapter = useDate();\n const rangeStart = shallowRef();\n const rangeStop = shallowRef();\n const isReverse = shallowRef(false);\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition;\n });\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0];\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1];\n }\n }\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity;\n return model.value.length >= max;\n });\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return;\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date);\n });\n function onRangeClick(value) {\n const _value = adapter.startOfDay(value);\n if (model.value.length === 0) {\n rangeStart.value = undefined;\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0];\n rangeStop.value = undefined;\n }\n if (!rangeStart.value) {\n rangeStart.value = _value;\n model.value = [rangeStart.value];\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined;\n model.value = [];\n return;\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value);\n rangeStart.value = _value;\n } else {\n rangeStop.value = adapter.endOfDay(_value);\n }\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days');\n const datesInRange = [rangeStart.value];\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i);\n datesInRange.push(nextDate);\n }\n datesInRange.push(rangeStop.value);\n model.value = datesInRange;\n } else {\n rangeStart.value = value;\n rangeStop.value = undefined;\n model.value = [rangeStart.value];\n }\n }\n function onMultipleClick(value) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value));\n if (index === -1) {\n model.value = [...model.value, value];\n } else {\n const value = [...model.value];\n value.splice(index, 1);\n model.value = value;\n }\n }\n function onClick(value) {\n if (props.multiple === 'range') {\n onRangeClick(value);\n } else if (props.multiple) {\n onMultipleClick(value);\n } else {\n model.value = [value];\n }\n }\n return () => _createVNode(\"div\", {\n \"class\": \"v-date-picker-month\"\n }, [props.showWeek && _createVNode(\"div\", {\n \"key\": \"weeks\",\n \"class\": \"v-date-picker-month__weeks\"\n }, [!props.hideWeekdays && _createVNode(\"div\", {\n \"key\": \"hide-week-days\",\n \"class\": \"v-date-picker-month__day\"\n }, [_createTextVNode(\"\\xA0\")]), weekNumbers.value.map(week => _createVNode(\"div\", {\n \"class\": ['v-date-picker-month__day', 'v-date-picker-month__day--adjacent']\n }, [week]))]), _createVNode(MaybeTransition, {\n \"name\": transition.value\n }, {\n default: () => [_createVNode(\"div\", {\n \"ref\": daysRef,\n \"key\": daysInMonth.value[0].date?.toString(),\n \"class\": \"v-date-picker-month__days\"\n }, [!props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => _createVNode(\"div\", {\n \"class\": ['v-date-picker-month__day', 'v-date-picker-month__weekday']\n }, [weekDay])), daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n onClick: () => onClick(item.date)\n },\n item,\n i\n };\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true;\n }\n return _createVNode(\"div\", {\n \"class\": ['v-date-picker-month__day', {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart\n }],\n \"data-v-date\": !item.isDisabled ? item.isoDate : undefined\n }, [(props.showAdjacentMonths || !item.isAdjacent) && _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date)\n }\n }\n }, {\n default: () => [slots.day?.(slotProps) ?? _createVNode(VBtn, slotProps.props, null)]\n })]);\n })])]\n })]);\n }\n});\n//# sourceMappingURL=VDatePickerMonth.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VDatePickerMonths.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\"; // Composables\nimport { useDate } from \"../../composables/date/index.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, watchEffect } from 'vue';\nimport { convertToUnit, createRange, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVDatePickerMonthsProps = propsFactory({\n color: String,\n height: [String, Number],\n min: null,\n max: null,\n modelValue: Number,\n year: Number\n}, 'VDatePickerMonths');\nexport const VDatePickerMonths = genericComponent()({\n name: 'VDatePickerMonths',\n props: makeVDatePickerMonthsProps(),\n emits: {\n 'update:modelValue': date => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const adapter = useDate();\n const model = useProxiedModel(props, 'modelValue');\n const months = computed(() => {\n let date = adapter.startOfYear(adapter.date());\n if (props.year) {\n date = adapter.setYear(date, props.year);\n }\n return createRange(12).map(i => {\n const text = adapter.format(date, 'monthShort');\n const isDisabled = !!(props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));\n date = adapter.getNextMonth(date);\n return {\n isDisabled,\n text,\n value: i\n };\n });\n });\n watchEffect(() => {\n model.value = model.value ?? adapter.getMonth(adapter.date());\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": \"v-date-picker-months\",\n \"style\": {\n height: convertToUnit(props.height)\n }\n }, [_createVNode(\"div\", {\n \"class\": \"v-date-picker-months__content\"\n }, [months.value.map((month, i) => {\n const btnProps = {\n active: model.value === i,\n color: model.value === i ? props.color : undefined,\n disabled: month.isDisabled,\n rounded: true,\n text: month.text,\n variant: model.value === month.value ? 'flat' : 'text',\n onClick: () => onClick(i)\n };\n function onClick(i) {\n if (model.value === i) {\n emit('update:modelValue', model.value);\n return;\n }\n model.value = i;\n }\n return slots.month?.({\n month,\n i,\n props: btnProps\n }) ?? _createVNode(VBtn, _mergeProps({\n \"key\": \"month\"\n }, btnProps), null);\n })])]));\n return {};\n }\n});\n//# sourceMappingURL=VDatePickerMonths.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VDatePickerYears.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\"; // Composables\nimport { useDate } from \"../../composables/date/index.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, nextTick, onMounted, watchEffect } from 'vue';\nimport { convertToUnit, createRange, genericComponent, propsFactory, templateRef, useRender } from \"../../util/index.mjs\"; // Types\n// Types\nexport const makeVDatePickerYearsProps = propsFactory({\n color: String,\n height: [String, Number],\n min: null,\n max: null,\n modelValue: Number\n}, 'VDatePickerYears');\nexport const VDatePickerYears = genericComponent()({\n name: 'VDatePickerYears',\n props: makeVDatePickerYearsProps(),\n emits: {\n 'update:modelValue': year => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const adapter = useDate();\n const model = useProxiedModel(props, 'modelValue');\n const years = computed(() => {\n const year = adapter.getYear(adapter.date());\n let min = year - 100;\n let max = year + 52;\n if (props.min) {\n min = adapter.getYear(adapter.date(props.min));\n }\n if (props.max) {\n max = adapter.getYear(adapter.date(props.max));\n }\n let date = adapter.startOfYear(adapter.date());\n date = adapter.setYear(date, min);\n return createRange(max - min + 1, min).map(i => {\n const text = adapter.format(date, 'year');\n date = adapter.setYear(date, adapter.getYear(date) + 1);\n return {\n text,\n value: i\n };\n });\n });\n watchEffect(() => {\n model.value = model.value ?? adapter.getYear(adapter.date());\n });\n const yearRef = templateRef();\n onMounted(async () => {\n await nextTick();\n yearRef.el?.scrollIntoView({\n block: 'center'\n });\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": \"v-date-picker-years\",\n \"style\": {\n height: convertToUnit(props.height)\n }\n }, [_createVNode(\"div\", {\n \"class\": \"v-date-picker-years__content\"\n }, [years.value.map((year, i) => {\n const btnProps = {\n ref: model.value === year.value ? yearRef : undefined,\n active: model.value === year.value,\n color: model.value === year.value ? props.color : undefined,\n rounded: true,\n text: year.text,\n variant: model.value === year.value ? 'flat' : 'text',\n onClick: () => {\n if (model.value === year.value) {\n emit('update:modelValue', model.value);\n return;\n }\n model.value = year.value;\n }\n };\n return slots.year?.({\n year,\n i,\n props: btnProps\n }) ?? _createVNode(VBtn, _mergeProps({\n \"key\": \"month\"\n }, btnProps), null);\n })])]));\n return {};\n }\n});\n//# sourceMappingURL=VDatePickerYears.mjs.map","// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VPickerTitle = createSimpleFunctional('v-picker-title');\n//# sourceMappingURL=VPickerTitle.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VPicker.css\";\n\n// Components\nimport { VPickerTitle } from \"./VPickerTitle.mjs\";\nimport { VDefaultsProvider } from \"../../components/VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { makeVSheetProps, VSheet } from \"../../components/VSheet/VSheet.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVPickerProps = propsFactory({\n bgColor: String,\n landscape: Boolean,\n title: String,\n hideHeader: Boolean,\n ...makeVSheetProps()\n}, 'VPicker');\nexport const VPicker = genericComponent()({\n name: 'VPicker',\n props: makeVPickerProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n useRender(() => {\n const sheetProps = VSheet.filterProps(props);\n const hasTitle = !!(props.title || slots.title);\n return _createVNode(VSheet, _mergeProps(sheetProps, {\n \"color\": props.bgColor,\n \"class\": ['v-picker', {\n 'v-picker--landscape': props.landscape,\n 'v-picker--with-actions': !!slots.actions\n }, props.class],\n \"style\": props.style\n }), {\n default: () => [!props.hideHeader && _createVNode(\"div\", {\n \"key\": \"header\",\n \"class\": [backgroundColorClasses.value],\n \"style\": [backgroundColorStyles.value]\n }, [hasTitle && _createVNode(VPickerTitle, {\n \"key\": \"picker-title\"\n }, {\n default: () => [slots.title?.() ?? props.title]\n }), slots.header && _createVNode(\"div\", {\n \"class\": \"v-picker__header\"\n }, [slots.header()])]), _createVNode(\"div\", {\n \"class\": \"v-picker__body\"\n }, [slots.default?.()]), slots.actions && _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n slim: true,\n variant: 'text'\n }\n }\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-picker__actions\"\n }, [slots.actions()])]\n })]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VPicker.mjs.map","import { Fragment as _Fragment, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VDatePicker.css\";\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from \"./VDatePickerControls.mjs\";\nimport { VDatePickerHeader } from \"./VDatePickerHeader.mjs\";\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from \"./VDatePickerMonth.mjs\";\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from \"./VDatePickerMonths.mjs\";\nimport { makeVDatePickerYearsProps, VDatePickerYears } from \"./VDatePickerYears.mjs\";\nimport { VFadeTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { makeVPickerProps, VPicker } from \"../../labs/VPicker/VPicker.mjs\"; // Composables\nimport { useDate } from \"../../composables/date/index.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, ref, shallowRef, watch } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\n// Types\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header'\n },\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static'\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({\n title: '$vuetify.datePicker.title'\n }),\n modelValue: null\n}, 'VDatePicker');\nexport const VDatePicker = genericComponent()({\n name: 'VDatePicker',\n props: makeVDatePickerProps(),\n emits: {\n 'update:modelValue': date => true,\n 'update:month': date => true,\n 'update:year': date => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': date => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const adapter = useDate();\n const {\n t\n } = useLocale();\n const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);\n const viewMode = useProxiedModel(props, 'viewMode');\n // const inputMode = useProxiedModel(props, 'inputMode')\n const internal = computed(() => {\n const value = adapter.date(model.value?.[0]);\n return value && adapter.isValid(value) ? value : adapter.date();\n });\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));\n const isReversing = shallowRef(false);\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length);\n }\n return model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday') : t(props.header);\n });\n const text = computed(() => {\n let date = adapter.date();\n date = adapter.setDate(date, 1);\n date = adapter.setMonth(date, month.value);\n date = adapter.setYear(date, year.value);\n return adapter.format(date, 'monthAndYear');\n });\n // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);\n const minDate = computed(() => {\n const date = adapter.date(props.min);\n return props.min && adapter.isValid(date) ? date : null;\n });\n const maxDate = computed(() => {\n const date = adapter.date(props.max);\n return props.max && adapter.isValid(date) ? date : null;\n });\n const disabled = computed(() => {\n if (props.disabled) return true;\n const targets = [];\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next']);\n } else {\n let _date = adapter.date();\n _date = adapter.setYear(_date, year.value);\n _date = adapter.setMonth(_date, month.value);\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1);\n adapter.isAfter(minDate.value, date) && targets.push('prev');\n }\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1);\n adapter.isAfter(date, maxDate.value) && targets.push('next');\n }\n }\n return targets;\n });\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext() {\n if (month.value < 11) {\n month.value++;\n } else {\n year.value++;\n month.value = 0;\n onUpdateYear(year.value);\n }\n onUpdateMonth(month.value);\n }\n function onClickPrev() {\n if (month.value > 0) {\n month.value--;\n } else {\n year.value--;\n month.value = 11;\n onUpdateYear(year.value);\n }\n onUpdateMonth(month.value);\n }\n function onClickDate() {\n viewMode.value = 'month';\n }\n function onClickMonth() {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months';\n }\n function onClickYear() {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year';\n }\n function onUpdateMonth(value) {\n if (viewMode.value === 'months') onClickMonth();\n emit('update:month', value);\n }\n function onUpdateYear(value) {\n if (viewMode.value === 'year') onClickYear();\n emit('update:year', value);\n }\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal);\n const arrAfter = wrapInArray(val);\n if (!arrAfter.length) return;\n const before = adapter.date(arrBefore[arrBefore.length - 1]);\n const after = adapter.date(arrAfter[arrAfter.length - 1]);\n const newMonth = adapter.getMonth(after);\n const newYear = adapter.getYear(after);\n if (newMonth !== month.value) {\n month.value = newMonth;\n onUpdateMonth(month.value);\n }\n if (newYear !== year.value) {\n year.value = newYear;\n onUpdateYear(year.value);\n }\n isReversing.value = adapter.isBefore(before, after);\n });\n useRender(() => {\n const pickerProps = VPicker.filterProps(props);\n const datePickerControlsProps = VDatePickerControls.filterProps(props);\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props);\n const datePickerMonthProps = VDatePickerMonth.filterProps(props);\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue']);\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue']);\n const headerProps = {\n header: header.value,\n transition: headerTransition.value\n };\n return _createVNode(VPicker, _mergeProps(pickerProps, {\n \"class\": ['v-date-picker', `v-date-picker--${viewMode.value}`, {\n 'v-date-picker--show-week': props.showWeek\n }, props.class],\n \"style\": props.style\n }), {\n title: () => slots.title?.() ?? _createVNode(\"div\", {\n \"class\": \"v-date-picker__title\"\n }, [t(props.title)]),\n header: () => slots.header ? _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VDatePickerHeader: {\n ...headerProps\n }\n }\n }, {\n default: () => [slots.header?.(headerProps)]\n }) : _createVNode(VDatePickerHeader, _mergeProps({\n \"key\": \"header\"\n }, datePickerHeaderProps, headerProps, {\n \"onClick\": viewMode.value !== 'month' ? onClickDate : undefined\n }), {\n ...slots,\n default: undefined\n }),\n default: () => _createVNode(_Fragment, null, [_createVNode(VDatePickerControls, _mergeProps(datePickerControlsProps, {\n \"disabled\": disabled.value,\n \"text\": text.value,\n \"onClick:next\": onClickNext,\n \"onClick:prev\": onClickPrev,\n \"onClick:month\": onClickMonth,\n \"onClick:year\": onClickYear\n }), null), _createVNode(VFadeTransition, {\n \"hideOnLeave\": true\n }, {\n default: () => [viewMode.value === 'months' ? _createVNode(VDatePickerMonths, _mergeProps({\n \"key\": \"date-picker-months\"\n }, datePickerMonthsProps, {\n \"modelValue\": month.value,\n \"onUpdate:modelValue\": [$event => month.value = $event, onUpdateMonth],\n \"min\": minDate.value,\n \"max\": maxDate.value,\n \"year\": year.value\n }), null) : viewMode.value === 'year' ? _createVNode(VDatePickerYears, _mergeProps({\n \"key\": \"date-picker-years\"\n }, datePickerYearsProps, {\n \"modelValue\": year.value,\n \"onUpdate:modelValue\": [$event => year.value = $event, onUpdateYear],\n \"min\": minDate.value,\n \"max\": maxDate.value\n }), null) : _createVNode(VDatePickerMonth, _mergeProps({\n \"key\": \"date-picker-month\"\n }, datePickerMonthProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"month\": month.value,\n \"onUpdate:month\": [$event => month.value = $event, onUpdateMonth],\n \"year\": year.value,\n \"onUpdate:year\": [$event => year.value = $event, onUpdateYear],\n \"min\": minDate.value,\n \"max\": maxDate.value\n }), null)]\n })]),\n actions: slots.actions\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VDatePicker.mjs.map","import { createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VEmptyState.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { VImg } from \"../VImg/index.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useDisplay } from \"../../composables/display.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeSizeProps } from \"../../composables/size.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\n// Types\nexport const makeVEmptyStateProps = propsFactory({\n actionText: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n image: String,\n justify: {\n type: String,\n default: 'center'\n },\n headline: String,\n title: String,\n text: String,\n textWidth: {\n type: [Number, String],\n default: 500\n },\n href: String,\n to: String,\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeSizeProps({\n size: undefined\n }),\n ...makeThemeProps()\n}, 'VEmptyState');\nexport const VEmptyState = genericComponent()({\n name: 'VEmptyState',\n props: makeVEmptyStateProps(),\n emits: {\n 'click:action': e => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'bgColor'));\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n displayClasses\n } = useDisplay();\n function onClickAction(e) {\n emit('click:action', e);\n }\n useRender(() => {\n const hasActions = !!(slots.actions || props.actionText);\n const hasHeadline = !!(slots.headline || props.headline);\n const hasTitle = !!(slots.title || props.title);\n const hasText = !!(slots.text || props.text);\n const hasMedia = !!(slots.media || props.image || props.icon);\n const size = props.size || (props.image ? 200 : 96);\n return _createVNode(\"div\", {\n \"class\": ['v-empty-state', {\n [`v-empty-state--${props.justify}`]: true\n }, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, dimensionStyles.value, props.style]\n }, [hasMedia && _createVNode(\"div\", {\n \"key\": \"media\",\n \"class\": \"v-empty-state__media\"\n }, [!slots.media ? _createVNode(_Fragment, null, [props.image ? _createVNode(VImg, {\n \"key\": \"image\",\n \"src\": props.image,\n \"height\": size\n }, null) : props.icon ? _createVNode(VIcon, {\n \"key\": \"icon\",\n \"color\": props.color,\n \"size\": size,\n \"icon\": props.icon\n }, null) : undefined]) : _createVNode(VDefaultsProvider, {\n \"key\": \"media-defaults\",\n \"defaults\": {\n VImg: {\n src: props.image,\n height: size\n },\n VIcon: {\n size,\n icon: props.icon\n }\n }\n }, {\n default: () => [slots.media()]\n })]), hasHeadline && _createVNode(\"div\", {\n \"key\": \"headline\",\n \"class\": \"v-empty-state__headline\"\n }, [slots.headline?.() ?? props.headline]), hasTitle && _createVNode(\"div\", {\n \"key\": \"title\",\n \"class\": \"v-empty-state__title\"\n }, [slots.title?.() ?? props.title]), hasText && _createVNode(\"div\", {\n \"key\": \"text\",\n \"class\": \"v-empty-state__text\",\n \"style\": {\n maxWidth: convertToUnit(props.textWidth)\n }\n }, [slots.text?.() ?? props.text]), slots.default && _createVNode(\"div\", {\n \"key\": \"content\",\n \"class\": \"v-empty-state__content\"\n }, [slots.default()]), hasActions && _createVNode(\"div\", {\n \"key\": \"actions\",\n \"class\": \"v-empty-state__actions\"\n }, [_createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n class: 'v-empty-state__action-btn',\n color: props.color ?? 'surface-variant',\n text: props.actionText\n }\n }\n }, {\n default: () => [slots.actions?.({\n props: {\n onClick: onClickAction\n }\n }) ?? _createVNode(VBtn, {\n \"onClick\": onClickAction\n }, null)]\n })])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VEmptyState.mjs.map","// Types\n\nexport const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');\n//# sourceMappingURL=shared.mjs.map","import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VExpansionPanelSymbol } from \"./shared.mjs\";\nimport { VExpandTransition } from \"../transitions/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeLazyProps, useLazy } from \"../../composables/lazy.mjs\"; // Utilities\nimport { inject } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVExpansionPanelTextProps = propsFactory({\n ...makeComponentProps(),\n ...makeLazyProps()\n}, 'VExpansionPanelText');\nexport const VExpansionPanelText = genericComponent()({\n name: 'VExpansionPanelText',\n props: makeVExpansionPanelTextProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const expansionPanel = inject(VExpansionPanelSymbol);\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel');\n const {\n hasContent,\n onAfterLeave\n } = useLazy(props, expansionPanel.isSelected);\n useRender(() => _createVNode(VExpandTransition, {\n \"onAfterLeave\": onAfterLeave\n }, {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"class\": ['v-expansion-panel-text', props.class],\n \"style\": props.style\n }, [slots.default && hasContent.value && _createVNode(\"div\", {\n \"class\": \"v-expansion-panel-text__wrapper\"\n }, [slots.default?.()])]), [[_vShow, expansionPanel.isSelected.value]])]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VExpansionPanelText.mjs.map","import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VExpansionPanelSymbol } from \"./shared.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\"; // Directives\nimport { Ripple } from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand'\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse'\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false\n },\n readonly: Boolean,\n ...makeComponentProps(),\n ...makeDimensionProps()\n}, 'VExpansionPanelTitle');\nexport const VExpansionPanelTitle = genericComponent()({\n name: 'VExpansionPanelTitle',\n directives: {\n Ripple\n },\n props: makeVExpansionPanelTitleProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const expansionPanel = inject(VExpansionPanelSymbol);\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel');\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(props, 'color');\n const {\n dimensionStyles\n } = useDimension(props);\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly\n }));\n const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);\n useRender(() => _withDirectives(_createVNode(\"button\", {\n \"class\": ['v-expansion-panel-title', {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static\n }, backgroundColorClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, dimensionStyles.value, props.style],\n \"type\": \"button\",\n \"tabindex\": expansionPanel.disabled.value ? -1 : undefined,\n \"disabled\": expansionPanel.disabled.value,\n \"aria-expanded\": expansionPanel.isSelected.value,\n \"onClick\": !props.readonly ? expansionPanel.toggle : undefined\n }, [_createVNode(\"span\", {\n \"class\": \"v-expansion-panel-title__overlay\"\n }, null), slots.default?.(slotProps.value), !props.hideActions && _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VIcon: {\n icon: icon.value\n }\n }\n }, {\n default: () => [_createVNode(\"span\", {\n \"class\": \"v-expansion-panel-title__icon\"\n }, [slots.actions?.(slotProps.value) ?? _createVNode(VIcon, null, null)])]\n })]), [[_resolveDirective(\"ripple\"), props.ripple]]));\n return {};\n }\n});\n//# sourceMappingURL=VExpansionPanelTitle.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Components\nimport { VExpansionPanelSymbol } from \"./shared.mjs\";\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from \"./VExpansionPanelText.mjs\";\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from \"./VExpansionPanelTitle.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { computed, provide } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps()\n}, 'VExpansionPanel');\nexport const VExpansionPanel = genericComponent()({\n name: 'VExpansionPanel',\n props: makeVExpansionPanelProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const groupItem = useGroupItem(props, VExpansionPanelSymbol);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(props, 'bgColor');\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled);\n const selectedIndices = computed(() => groupItem.group.items.value.reduce((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index);\n return arr;\n }, []));\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id);\n return !groupItem.isSelected.value && selectedIndices.value.some(selectedIndex => selectedIndex - index === 1);\n });\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id);\n return !groupItem.isSelected.value && selectedIndices.value.some(selectedIndex => selectedIndex - index === -1);\n });\n provide(VExpansionPanelSymbol, groupItem);\n useRender(() => {\n const hasText = !!(slots.text || props.text);\n const hasTitle = !!(slots.title || props.title);\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props);\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props);\n return _createVNode(props.tag, {\n \"class\": ['v-expansion-panel', {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value\n }, roundedClasses.value, backgroundColorClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, props.style]\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": ['v-expansion-panel__shadow', ...elevationClasses.value]\n }, null), _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VExpansionPanelTitle: {\n ...expansionPanelTitleProps\n },\n VExpansionPanelText: {\n ...expansionPanelTextProps\n }\n }\n }, {\n default: () => [hasTitle && _createVNode(VExpansionPanelTitle, {\n \"key\": \"title\"\n }, {\n default: () => [slots.title ? slots.title() : props.title]\n }), hasText && _createVNode(VExpansionPanelText, {\n \"key\": \"text\"\n }, {\n default: () => [slots.text ? slots.text() : props.text]\n }), slots.default?.()]\n })]\n });\n });\n return {\n groupItem\n };\n }\n});\n//# sourceMappingURL=VExpansionPanel.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VExpansionPanel.css\";\n\n// Components\nimport { VExpansionPanelSymbol } from \"./shared.mjs\";\nimport { makeVExpansionPanelProps } from \"./VExpansionPanel.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, pick, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'];\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n ...makeGroupProps(),\n ...pick(makeVExpansionPanelProps(), ['bgColor', 'collapseIcon', 'color', 'eager', 'elevation', 'expandIcon', 'focusable', 'hideActions', 'readonly', 'ripple', 'rounded', 'tile', 'static']),\n ...makeThemeProps(),\n ...makeComponentProps(),\n ...makeTagProps(),\n variant: {\n type: String,\n default: 'default',\n validator: v => allowedVariants.includes(v)\n }\n}, 'VExpansionPanels');\nexport const VExpansionPanels = genericComponent()({\n name: 'VExpansionPanels',\n props: makeVExpansionPanelsProps(),\n emits: {\n 'update:modelValue': val => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n next,\n prev\n } = useGroup(props, VExpansionPanelSymbol);\n const {\n themeClasses\n } = provideTheme(props);\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`);\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(props, 'bgColor'),\n collapseIcon: toRef(props, 'collapseIcon'),\n color: toRef(props, 'color'),\n eager: toRef(props, 'eager'),\n elevation: toRef(props, 'elevation'),\n expandIcon: toRef(props, 'expandIcon'),\n focusable: toRef(props, 'focusable'),\n hideActions: toRef(props, 'hideActions'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n rounded: toRef(props, 'rounded'),\n static: toRef(props, 'static')\n }\n });\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-expansion-panels', {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile\n }, themeClasses.value, variantClass.value, props.class],\n \"style\": props.style\n }, {\n default: () => [slots.default?.({\n prev,\n next\n })]\n }));\n return {\n next,\n prev\n };\n }\n});\n//# sourceMappingURL=VExpansionPanels.mjs.map","import { withDirectives as _withDirectives, createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective, vShow as _vShow } from \"vue\";\n// Styles\nimport \"./VFab.css\";\n\n// Components\nimport { makeVBtnProps, VBtn } from \"../VBtn/VBtn.mjs\"; // Composables\nimport { makeLayoutItemProps, useLayoutItem } from \"../../composables/layout.mjs\";\nimport { makeLocationProps } from \"../../composables/location.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVFabProps = propsFactory({\n app: Boolean,\n appear: Boolean,\n extended: Boolean,\n layout: Boolean,\n offset: Boolean,\n modelValue: {\n type: Boolean,\n default: true\n },\n ...omit(makeVBtnProps({\n active: true\n }), ['location']),\n ...makeLayoutItemProps(),\n ...makeLocationProps(),\n ...makeTransitionProps({\n transition: 'fab-transition'\n })\n}, 'VFab');\nexport const VFab = genericComponent()({\n name: 'VFab',\n props: makeVFabProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const height = shallowRef(56);\n const layoutItemStyles = ref();\n const {\n resizeRef\n } = useResizeObserver(entries => {\n if (!entries.length) return;\n height.value = entries[0].target.clientHeight;\n });\n const hasPosition = computed(() => props.app || props.absolute);\n const position = computed(() => {\n if (!hasPosition.value) return false;\n return props.location?.split(' ').shift() ?? 'bottom';\n });\n const orientation = computed(() => {\n if (!hasPosition.value) return false;\n return props.location?.split(' ')[1] ?? 'end';\n });\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position,\n layoutSize: computed(() => props.layout ? height.value + 24 : 0),\n elementSize: computed(() => height.value + 24),\n active: computed(() => props.app && model.value),\n absolute: toRef(props, 'absolute')\n });\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value;\n });\n });\n const vFabRef = ref();\n useRender(() => {\n const btnProps = VBtn.filterProps(props);\n return _createVNode(\"div\", {\n \"ref\": vFabRef,\n \"class\": ['v-fab', {\n 'v-fab--absolute': props.absolute,\n 'v-fab--app': !!props.app,\n 'v-fab--extended': props.extended,\n 'v-fab--offset': props.offset,\n [`v-fab--${position.value}`]: hasPosition.value,\n [`v-fab--${orientation.value}`]: hasPosition.value\n }, props.class],\n \"style\": [props.app ? {\n ...layoutItemStyles.value\n } : {\n height: 'inherit',\n width: undefined\n }, props.style]\n }, [_createVNode(\"div\", {\n \"class\": \"v-fab__container\"\n }, [_createVNode(MaybeTransition, {\n \"appear\": props.appear,\n \"transition\": props.transition\n }, {\n default: () => [_withDirectives(_createVNode(VBtn, _mergeProps({\n \"ref\": resizeRef\n }, btnProps, {\n \"active\": undefined,\n \"location\": undefined\n }), slots), [[_vShow, props.active]])]\n })])]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VFab.mjs.map","import { resolveDirective as _resolveDirective, createVNode as _createVNode, mergeProps as _mergeProps, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VFileInput.css\";\n\n// Components\nimport { VChip } from \"../VChip/index.mjs\";\nimport { VCounter } from \"../VCounter/index.mjs\";\nimport { VField } from \"../VField/index.mjs\";\nimport { filterFieldProps, makeVFieldProps } from \"../VField/VField.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\"; // Composables\nimport { useFocus } from \"../../composables/focus.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, nextTick, ref, watch } from 'vue';\nimport { callEvent, filterInputAttrs, genericComponent, humanReadableFileSize, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nexport const makeVFileInputProps = propsFactory({\n chips: Boolean,\n counter: Boolean,\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize'\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter'\n },\n hideInput: Boolean,\n multiple: Boolean,\n showSize: {\n type: [Boolean, Number, String],\n default: false,\n validator: v => {\n return typeof v === 'boolean' || [1000, 1024].includes(Number(v));\n }\n },\n ...makeVInputProps({\n prependIcon: '$file'\n }),\n modelValue: {\n type: [Array, Object],\n default: props => props.multiple ? [] : null,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object');\n }\n },\n ...makeVFieldProps({\n clearable: true\n })\n}, 'VFileInput');\nexport const VFileInput = genericComponent()({\n name: 'VFileInput',\n inheritAttrs: false,\n props: makeVFileInputProps(),\n emits: {\n 'click:control': e => true,\n 'mousedown:control': e => true,\n 'update:focused': focused => true,\n 'update:modelValue': files => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => !props.multiple && Array.isArray(val) ? val[0] : val);\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined);\n const totalBytes = computed(() => (model.value ?? []).reduce((bytes, _ref2) => {\n let {\n size = 0\n } = _ref2;\n return bytes + size;\n }, 0));\n const totalBytesReadable = computed(() => humanReadableFileSize(totalBytes.value, base.value));\n const fileNames = computed(() => (model.value ?? []).map(file => {\n const {\n name = '',\n size = 0\n } = file;\n return !props.showSize ? name : `${name} (${humanReadableFileSize(size, base.value)})`;\n }));\n const counterValue = computed(() => {\n const fileCount = model.value?.length ?? 0;\n if (props.showSize) return t(props.counterSizeString, fileCount, totalBytesReadable.value);else return t(props.counterString, fileCount);\n });\n const vInputRef = ref();\n const vFieldRef = ref();\n const inputRef = ref();\n const isActive = computed(() => isFocused.value || props.active);\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));\n function onFocus() {\n if (inputRef.value !== document.activeElement) {\n inputRef.value?.focus();\n }\n if (!isFocused.value) focus();\n }\n function onClickPrepend(e) {\n inputRef.value?.click();\n }\n function onControlMousedown(e) {\n emit('mousedown:control', e);\n }\n function onControlClick(e) {\n inputRef.value?.click();\n emit('click:control', e);\n }\n function onClear(e) {\n e.stopPropagation();\n onFocus();\n nextTick(() => {\n model.value = [];\n callEvent(props['onClick:clear'], e);\n });\n }\n watch(model, newValue => {\n const hasModelReset = !Array.isArray(newValue) || !newValue.length;\n if (hasModelReset && inputRef.value) {\n inputRef.value.value = '';\n }\n });\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter);\n const hasDetails = !!(hasCounter || slots.details);\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const {\n modelValue: _,\n ...inputProps\n } = VInput.filterProps(props);\n const fieldProps = filterFieldProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": vInputRef,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-file-input', {\n 'v-file-input--chips': !!props.chips,\n 'v-file-input--hide': props.hideInput,\n 'v-input--plain-underlined': isPlainOrUnderlined.value\n }, props.class],\n \"style\": props.style,\n \"onClick:prepend\": onClickPrepend\n }, rootAttrs, inputProps, {\n \"centerAffix\": !isPlainOrUnderlined.value,\n \"focused\": isFocused.value\n }), {\n ...slots,\n default: _ref3 => {\n let {\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid\n } = _ref3;\n return _createVNode(VField, _mergeProps({\n \"ref\": vFieldRef,\n \"prepend-icon\": props.prependIcon,\n \"onMousedown\": onControlMousedown,\n \"onClick\": onControlClick,\n \"onClick:clear\": onClear,\n \"onClick:prependInner\": props['onClick:prependInner'],\n \"onClick:appendInner\": props['onClick:appendInner']\n }, fieldProps, {\n \"id\": id.value,\n \"active\": isActive.value || isDirty.value,\n \"dirty\": isDirty.value || props.dirty,\n \"disabled\": isDisabled.value,\n \"focused\": isFocused.value,\n \"error\": isValid.value === false\n }), {\n ...slots,\n default: _ref4 => {\n let {\n props: {\n class: fieldClass,\n ...slotProps\n }\n } = _ref4;\n return _createVNode(_Fragment, null, [_createVNode(\"input\", _mergeProps({\n \"ref\": inputRef,\n \"type\": \"file\",\n \"readonly\": isReadonly.value,\n \"disabled\": isDisabled.value,\n \"multiple\": props.multiple,\n \"name\": props.name,\n \"onClick\": e => {\n e.stopPropagation();\n if (isReadonly.value) e.preventDefault();\n onFocus();\n },\n \"onChange\": e => {\n if (!e.target) return;\n const target = e.target;\n model.value = [...(target.files ?? [])];\n },\n \"onFocus\": onFocus,\n \"onBlur\": blur\n }, slotProps, inputAttrs), null), _createVNode(\"div\", {\n \"class\": fieldClass\n }, [!!model.value?.length && !props.hideInput && (slots.selection ? slots.selection({\n fileNames: fileNames.value,\n totalBytes: totalBytes.value,\n totalBytesReadable: totalBytesReadable.value\n }) : props.chips ? fileNames.value.map(text => _createVNode(VChip, {\n \"key\": text,\n \"size\": \"small\",\n \"text\": text\n }, null)) : fileNames.value.join(', '))])]);\n }\n });\n },\n details: hasDetails ? slotProps => _createVNode(_Fragment, null, [slots.details?.(slotProps), hasCounter && _createVNode(_Fragment, null, [_createVNode(\"span\", null, null), _createVNode(VCounter, {\n \"active\": !!model.value?.length,\n \"value\": counterValue.value,\n \"disabled\": props.disabled\n }, slots.counter)])]) : undefined\n });\n });\n return forwardRefs({}, vInputRef, vFieldRef, inputRef);\n }\n});\n//# sourceMappingURL=VFileInput.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VFooter.css\";\n\n// Composables\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeLayoutItemProps, useLayoutItem } from \"../../composables/layout.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\"; // Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVFooterProps = propsFactory({\n app: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 'auto'\n },\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({\n tag: 'footer'\n }),\n ...makeThemeProps()\n}, 'VFooter');\nexport const VFooter = genericComponent()({\n name: 'VFooter',\n props: makeVFooterProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const layoutItemStyles = ref();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n borderClasses\n } = useBorder(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const autoHeight = shallowRef(32);\n const {\n resizeRef\n } = useResizeObserver(entries => {\n if (!entries.length) return;\n autoHeight.value = entries[0].target.clientHeight;\n });\n const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));\n useToggleScope(() => props.app, () => {\n const layout = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: computed(() => 'bottom'),\n layoutSize: height,\n elementSize: computed(() => props.height === 'auto' ? undefined : height.value),\n active: computed(() => props.app),\n absolute: toRef(props, 'absolute')\n });\n watchEffect(() => {\n layoutItemStyles.value = layout.layoutItemStyles.value;\n });\n });\n useRender(() => _createVNode(props.tag, {\n \"ref\": resizeRef,\n \"class\": ['v-footer', themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, props.app ? layoutItemStyles.value : {\n height: convertToUnit(props.height)\n }, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VFooter.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { createForm, makeFormProps } from \"../../composables/form.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\"; // Utilities\nimport { ref } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVFormProps = propsFactory({\n ...makeComponentProps(),\n ...makeFormProps()\n}, 'VForm');\nexport const VForm = genericComponent()({\n name: 'VForm',\n props: makeVFormProps(),\n emits: {\n 'update:modelValue': val => true,\n submit: e => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const form = createForm(props);\n const formRef = ref();\n function onReset(e) {\n e.preventDefault();\n form.reset();\n }\n function onSubmit(_e) {\n const e = _e;\n const ready = form.validate();\n e.then = ready.then.bind(ready);\n e.catch = ready.catch.bind(ready);\n e.finally = ready.finally.bind(ready);\n emit('submit', e);\n if (!e.defaultPrevented) {\n ready.then(_ref2 => {\n let {\n valid\n } = _ref2;\n if (valid) {\n formRef.value?.submit();\n }\n });\n }\n e.preventDefault();\n }\n useRender(() => _createVNode(\"form\", {\n \"ref\": formRef,\n \"class\": ['v-form', props.class],\n \"style\": props.style,\n \"novalidate\": true,\n \"onReset\": onReset,\n \"onSubmit\": onSubmit\n }, [slots.default?.(form)]));\n return forwardRefs(form, formRef);\n }\n});\n//# sourceMappingURL=VForm.mjs.map","// Composables\nimport { makeDelayProps, useDelay } from \"../../composables/delay.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\";\nexport const makeVHoverProps = propsFactory({\n disabled: Boolean,\n modelValue: {\n type: Boolean,\n default: null\n },\n ...makeDelayProps()\n}, 'VHover');\nexport const VHover = genericComponent()({\n name: 'VHover',\n props: makeVHoverProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isHovering = useProxiedModel(props, 'modelValue');\n const {\n runOpenDelay,\n runCloseDelay\n } = useDelay(props, value => !props.disabled && (isHovering.value = value));\n return () => slots.default?.({\n isHovering: isHovering.value,\n props: {\n onMouseenter: runOpenDelay,\n onMouseleave: runCloseDelay\n }\n });\n }\n});\n//# sourceMappingURL=VHover.mjs.map","import { createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\";\n// Styles\nimport \"./VInfiniteScroll.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\";\nimport { VProgressCircular } from \"../VProgressCircular/index.mjs\"; // Composables\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { computed, nextTick, onMounted, ref, shallowRef, watch } from 'vue';\nimport { convertToUnit, defineComponent, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVInfiniteScrollProps = propsFactory({\n color: String,\n direction: {\n type: String,\n default: 'vertical',\n validator: v => ['vertical', 'horizontal'].includes(v)\n },\n side: {\n type: String,\n default: 'end',\n validator: v => ['start', 'end', 'both'].includes(v)\n },\n mode: {\n type: String,\n default: 'intersect',\n validator: v => ['intersect', 'manual'].includes(v)\n },\n margin: [Number, String],\n loadMoreText: {\n type: String,\n default: '$vuetify.infiniteScroll.loadMore'\n },\n emptyText: {\n type: String,\n default: '$vuetify.infiniteScroll.empty'\n },\n ...makeDimensionProps(),\n ...makeTagProps()\n}, 'VInfiniteScroll');\nexport const VInfiniteScrollIntersect = defineComponent({\n name: 'VInfiniteScrollIntersect',\n props: {\n side: {\n type: String,\n required: true\n },\n rootMargin: String\n },\n emits: {\n intersect: (side, isIntersecting) => true\n },\n setup(props, _ref) {\n let {\n emit\n } = _ref;\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n watch(isIntersecting, async val => {\n emit('intersect', props.side, val);\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": \"v-infinite-scroll-intersect\",\n \"style\": {\n '--v-infinite-margin-size': props.rootMargin\n },\n \"ref\": intersectionRef\n }, [_createTextVNode(\"\\xA0\")]));\n return {};\n }\n});\nexport const VInfiniteScroll = genericComponent()({\n name: 'VInfiniteScroll',\n props: makeVInfiniteScrollProps(),\n emits: {\n load: options => true\n },\n setup(props, _ref2) {\n let {\n slots,\n emit\n } = _ref2;\n const rootEl = ref();\n const startStatus = shallowRef('ok');\n const endStatus = shallowRef('ok');\n const margin = computed(() => convertToUnit(props.margin));\n const isIntersecting = shallowRef(false);\n function setScrollAmount(amount) {\n if (!rootEl.value) return;\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';\n rootEl.value[property] = amount;\n }\n function getScrollAmount() {\n if (!rootEl.value) return 0;\n const property = props.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';\n return rootEl.value[property];\n }\n function getScrollSize() {\n if (!rootEl.value) return 0;\n const property = props.direction === 'vertical' ? 'scrollHeight' : 'scrollWidth';\n return rootEl.value[property];\n }\n function getContainerSize() {\n if (!rootEl.value) return 0;\n const property = props.direction === 'vertical' ? 'clientHeight' : 'clientWidth';\n return rootEl.value[property];\n }\n onMounted(() => {\n if (!rootEl.value) return;\n if (props.side === 'start') {\n setScrollAmount(getScrollSize());\n } else if (props.side === 'both') {\n setScrollAmount(getScrollSize() / 2 - getContainerSize() / 2);\n }\n });\n function setStatus(side, status) {\n if (side === 'start') {\n startStatus.value = status;\n } else if (side === 'end') {\n endStatus.value = status;\n }\n }\n function getStatus(side) {\n return side === 'start' ? startStatus.value : endStatus.value;\n }\n let previousScrollSize = 0;\n function handleIntersect(side, _isIntersecting) {\n isIntersecting.value = _isIntersecting;\n if (isIntersecting.value) {\n intersecting(side);\n }\n }\n function intersecting(side) {\n if (props.mode !== 'manual' && !isIntersecting.value) return;\n const status = getStatus(side);\n if (!rootEl.value || ['empty', 'loading'].includes(status)) return;\n previousScrollSize = getScrollSize();\n setStatus(side, 'loading');\n function done(status) {\n setStatus(side, status);\n nextTick(() => {\n if (status === 'empty' || status === 'error') return;\n if (status === 'ok' && side === 'start') {\n setScrollAmount(getScrollSize() - previousScrollSize + getScrollAmount());\n }\n if (props.mode !== 'manual') {\n nextTick(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n window.requestAnimationFrame(() => {\n intersecting(side);\n });\n });\n });\n });\n }\n });\n }\n emit('load', {\n side,\n done\n });\n }\n const {\n t\n } = useLocale();\n function renderSide(side, status) {\n if (props.side !== side && props.side !== 'both') return;\n const onClick = () => intersecting(side);\n const slotProps = {\n side,\n props: {\n onClick,\n color: props.color\n }\n };\n if (status === 'error') return slots.error?.(slotProps);\n if (status === 'empty') return slots.empty?.(slotProps) ?? _createVNode(\"div\", null, [t(props.emptyText)]);\n if (props.mode === 'manual') {\n if (status === 'loading') {\n return slots.loading?.(slotProps) ?? _createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"color\": props.color\n }, null);\n }\n return slots['load-more']?.(slotProps) ?? _createVNode(VBtn, {\n \"variant\": \"outlined\",\n \"color\": props.color,\n \"onClick\": onClick\n }, {\n default: () => [t(props.loadMoreText)]\n });\n }\n return slots.loading?.(slotProps) ?? _createVNode(VProgressCircular, {\n \"indeterminate\": true,\n \"color\": props.color\n }, null);\n }\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => {\n const Tag = props.tag;\n const hasStartIntersect = props.side === 'start' || props.side === 'both';\n const hasEndIntersect = props.side === 'end' || props.side === 'both';\n const intersectMode = props.mode === 'intersect';\n return _createVNode(Tag, {\n \"ref\": rootEl,\n \"class\": ['v-infinite-scroll', `v-infinite-scroll--${props.direction}`, {\n 'v-infinite-scroll--start': hasStartIntersect,\n 'v-infinite-scroll--end': hasEndIntersect\n }],\n \"style\": dimensionStyles.value\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-infinite-scroll__side\"\n }, [renderSide('start', startStatus.value)]), hasStartIntersect && intersectMode && _createVNode(VInfiniteScrollIntersect, {\n \"key\": \"start\",\n \"side\": \"start\",\n \"onIntersect\": handleIntersect,\n \"rootMargin\": margin.value\n }, null), slots.default?.(), hasEndIntersect && intersectMode && _createVNode(VInfiniteScrollIntersect, {\n \"key\": \"end\",\n \"side\": \"end\",\n \"onIntersect\": handleIntersect,\n \"rootMargin\": margin.value\n }, null), _createVNode(\"div\", {\n \"class\": \"v-infinite-scroll__side\"\n }, [renderSide('end', endStatus.value)])]\n });\n });\n }\n});\n//# sourceMappingURL=VInfiniteScroll.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VItemGroup.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const VItemGroupSymbol = Symbol.for('vuetify:v-item-group');\nexport const makeVItemGroupProps = propsFactory({\n ...makeComponentProps(),\n ...makeGroupProps({\n selectedClass: 'v-item--selected'\n }),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VItemGroup');\nexport const VItemGroup = genericComponent()({\n name: 'VItemGroup',\n props: makeVItemGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n isSelected,\n select,\n next,\n prev,\n selected\n } = useGroup(props, VItemGroupSymbol);\n return () => _createVNode(props.tag, {\n \"class\": ['v-item-group', themeClasses.value, props.class],\n \"style\": props.style\n }, {\n default: () => [slots.default?.({\n isSelected,\n select,\n next,\n prev,\n selected: selected.value\n })]\n });\n }\n});\n//# sourceMappingURL=VItemGroup.mjs.map","// Composables\nimport { VItemGroupSymbol } from \"./VItemGroup.mjs\";\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\"; // Utilities\nimport { genericComponent } from \"../../util/index.mjs\";\nexport const VItem = genericComponent()({\n name: 'VItem',\n props: makeGroupItemProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n isSelected,\n select,\n toggle,\n selectedClass,\n value,\n disabled\n } = useGroupItem(props, VItemGroupSymbol);\n return () => slots.default?.({\n isSelected: isSelected.value,\n selectedClass: selectedClass.value,\n select,\n toggle,\n value: value.value,\n disabled: disabled.value\n });\n }\n});\n//# sourceMappingURL=VItem.mjs.map","// Styles\nimport \"./VKbd.css\";\n\n// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VKbd = createSimpleFunctional('v-kbd');\n//# sourceMappingURL=index.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VLayout.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { createLayout, makeLayoutProps } from \"../../composables/layout.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVLayoutProps = propsFactory({\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeLayoutProps()\n}, 'VLayout');\nexport const VLayout = genericComponent()({\n name: 'VLayout',\n props: makeVLayoutProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n layoutClasses,\n layoutStyles,\n getLayoutItem,\n items,\n layoutRef\n } = createLayout(props);\n const {\n dimensionStyles\n } = useDimension(props);\n useRender(() => _createVNode(\"div\", {\n \"ref\": layoutRef,\n \"class\": [layoutClasses.value, props.class],\n \"style\": [dimensionStyles.value, layoutStyles.value, props.style]\n }, [slots.default?.()]));\n return {\n getLayoutItem,\n items\n };\n }\n});\n//# sourceMappingURL=VLayout.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VLayoutItem.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeLayoutItemProps, useLayoutItem } from \"../../composables/layout.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\"; // Types\nexport const makeVLayoutItemProps = propsFactory({\n position: {\n type: String,\n required: true\n },\n size: {\n type: [Number, String],\n default: 300\n },\n modelValue: Boolean,\n ...makeComponentProps(),\n ...makeLayoutItemProps()\n}, 'VLayoutItem');\nexport const VLayoutItem = genericComponent()({\n name: 'VLayoutItem',\n props: makeVLayoutItemProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n layoutItemStyles\n } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'position'),\n elementSize: toRef(props, 'size'),\n layoutSize: toRef(props, 'size'),\n active: toRef(props, 'modelValue'),\n absolute: toRef(props, 'absolute')\n });\n return () => _createVNode(\"div\", {\n \"class\": ['v-layout-item', props.class],\n \"style\": [layoutItemStyles.value, props.style]\n }, [slots.default?.()]);\n }\n});\n//# sourceMappingURL=VLayoutItem.mjs.map","import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeTransitionProps, MaybeTransition } from \"../../composables/transition.mjs\"; // Directives\nimport intersect from \"../../directives/intersect/index.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVLazyProps = propsFactory({\n modelValue: Boolean,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined\n })\n },\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps(),\n ...makeTransitionProps({\n transition: 'fade-transition'\n })\n}, 'VLazy');\nexport const VLazy = genericComponent()({\n name: 'VLazy',\n directives: {\n intersect\n },\n props: makeVLazyProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n dimensionStyles\n } = useDimension(props);\n const isActive = useProxiedModel(props, 'modelValue');\n function onIntersect(isIntersecting) {\n if (isActive.value) return;\n isActive.value = isIntersecting;\n }\n useRender(() => _withDirectives(_createVNode(props.tag, {\n \"class\": ['v-lazy', props.class],\n \"style\": [dimensionStyles.value, props.style]\n }, {\n default: () => [isActive.value && _createVNode(MaybeTransition, {\n \"transition\": props.transition,\n \"appear\": true\n }, {\n default: () => [slots.default?.()]\n })]\n }), [[_resolveDirective(\"intersect\"), {\n handler: onIntersect,\n options: props.options\n }, null]]));\n return {};\n }\n});\n//# sourceMappingURL=VLazy.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VLocaleProvider.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideLocale } from \"../../composables/locale.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVLocaleProviderProps = propsFactory({\n locale: String,\n fallbackLocale: String,\n messages: Object,\n rtl: {\n type: Boolean,\n default: undefined\n },\n ...makeComponentProps()\n}, 'VLocaleProvider');\nexport const VLocaleProvider = genericComponent()({\n name: 'VLocaleProvider',\n props: makeVLocaleProviderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n rtlClasses\n } = provideLocale(props);\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-locale-provider', rtlClasses.value, props.class],\n \"style\": props.style\n }, [slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VLocaleProvider.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VMain.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { useLayout } from \"../../composables/layout.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVMainProps = propsFactory({\n scrollable: Boolean,\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeTagProps({\n tag: 'main'\n })\n}, 'VMain');\nexport const VMain = genericComponent()({\n name: 'VMain',\n props: makeVMainProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n mainStyles\n } = useLayout();\n const {\n ssrBootStyles\n } = useSsrBoot();\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-main', {\n 'v-main--scrollable': props.scrollable\n }, props.class],\n \"style\": [mainStyles.value, ssrBootStyles.value, dimensionStyles.value, props.style]\n }, {\n default: () => [props.scrollable ? _createVNode(\"div\", {\n \"class\": \"v-main__scroller\"\n }, [slots.default?.()]) : slots.default?.()]\n }));\n return {};\n }\n});\n//# sourceMappingURL=VMain.mjs.map","// Utilities\nimport { computed, onBeforeUnmount, onMounted, shallowRef, watch } from 'vue';\nimport { convertToUnit } from \"../../util/index.mjs\"; // Types\nexport function useSticky(_ref) {\n let {\n rootEl,\n isSticky,\n layoutItemStyles\n } = _ref;\n const isStuck = shallowRef(false);\n const stuckPosition = shallowRef(0);\n const stickyStyles = computed(() => {\n const side = typeof isStuck.value === 'boolean' ? 'top' : isStuck.value;\n return [isSticky.value ? {\n top: 'auto',\n bottom: 'auto',\n height: undefined\n } : undefined, isStuck.value ? {\n [side]: convertToUnit(stuckPosition.value)\n } : {\n top: layoutItemStyles.value.top\n }];\n });\n onMounted(() => {\n watch(isSticky, val => {\n if (val) {\n window.addEventListener('scroll', onScroll, {\n passive: true\n });\n } else {\n window.removeEventListener('scroll', onScroll);\n }\n }, {\n immediate: true\n });\n });\n onBeforeUnmount(() => {\n window.removeEventListener('scroll', onScroll);\n });\n let lastScrollTop = 0;\n function onScroll() {\n const direction = lastScrollTop > window.scrollY ? 'up' : 'down';\n const rect = rootEl.value.getBoundingClientRect();\n const layoutTop = parseFloat(layoutItemStyles.value.top ?? 0);\n const top = window.scrollY - Math.max(0, stuckPosition.value - layoutTop);\n const bottom = rect.height + Math.max(stuckPosition.value, layoutTop) - window.scrollY - window.innerHeight;\n const bodyScroll = parseFloat(getComputedStyle(rootEl.value).getPropertyValue('--v-body-scroll-y')) || 0;\n if (rect.height < window.innerHeight - layoutTop) {\n isStuck.value = 'top';\n stuckPosition.value = layoutTop;\n } else if (direction === 'up' && isStuck.value === 'bottom' || direction === 'down' && isStuck.value === 'top') {\n stuckPosition.value = window.scrollY + rect.top - bodyScroll;\n isStuck.value = true;\n } else if (direction === 'down' && bottom <= 0) {\n stuckPosition.value = 0;\n isStuck.value = 'bottom';\n } else if (direction === 'up' && top <= 0) {\n if (!bodyScroll) {\n stuckPosition.value = rect.top + top;\n isStuck.value = 'top';\n } else if (isStuck.value !== 'top') {\n stuckPosition.value = -top + bodyScroll + layoutTop;\n isStuck.value = 'top';\n }\n }\n lastScrollTop = window.scrollY;\n }\n return {\n isStuck,\n stickyStyles\n };\n}\n//# sourceMappingURL=sticky.mjs.map","// Utilities\nimport { CircularBuffer } from \"../util/index.mjs\";\nconst HORIZON = 100; // ms\nconst HISTORY = 20; // number of samples to keep\n\n/** @see https://android.googlesource.com/platform/frameworks/native/+/master/libs/input/VelocityTracker.cpp */\nfunction kineticEnergyToVelocity(work) {\n const sqrt2 = 1.41421356237;\n return (work < 0 ? -1.0 : 1.0) * Math.sqrt(Math.abs(work)) * sqrt2;\n}\n\n/**\n * Returns pointer velocity in px/s\n */\nexport function calculateImpulseVelocity(samples) {\n // The input should be in reversed time order (most recent sample at index i=0)\n if (samples.length < 2) {\n // if 0 or 1 points, velocity is zero\n return 0;\n }\n // if (samples[1].t > samples[0].t) {\n // // Algorithm will still work, but not perfectly\n // consoleWarn('Samples provided to calculateImpulseVelocity in the wrong order')\n // }\n if (samples.length === 2) {\n // if 2 points, basic linear calculation\n if (samples[1].t === samples[0].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[0].t}, setting velocity = 0`)\n return 0;\n }\n return (samples[1].d - samples[0].d) / (samples[1].t - samples[0].t);\n }\n // Guaranteed to have at least 3 points here\n // start with the oldest sample and go forward in time\n let work = 0;\n for (let i = samples.length - 1; i > 0; i--) {\n if (samples[i].t === samples[i - 1].t) {\n // consoleWarn(`Events have identical time stamps t=${samples[i].t}, skipping sample`)\n continue;\n }\n const vprev = kineticEnergyToVelocity(work); // v[i-1]\n const vcurr = (samples[i].d - samples[i - 1].d) / (samples[i].t - samples[i - 1].t); // v[i]\n work += (vcurr - vprev) * Math.abs(vcurr);\n if (i === samples.length - 1) {\n work *= 0.5;\n }\n }\n return kineticEnergyToVelocity(work) * 1000;\n}\nexport function useVelocity() {\n const touches = {};\n function addMovement(e) {\n Array.from(e.changedTouches).forEach(touch => {\n const samples = touches[touch.identifier] ?? (touches[touch.identifier] = new CircularBuffer(HISTORY));\n samples.push([e.timeStamp, touch]);\n });\n }\n function endTouch(e) {\n Array.from(e.changedTouches).forEach(touch => {\n delete touches[touch.identifier];\n });\n }\n function getVelocity(id) {\n const samples = touches[id]?.values().reverse();\n if (!samples) {\n throw new Error(`No samples for touch id ${id}`);\n }\n const newest = samples[0];\n const x = [];\n const y = [];\n for (const val of samples) {\n if (newest[0] - val[0] > HORIZON) break;\n x.push({\n t: val[0],\n d: val[1].clientX\n });\n y.push({\n t: val[0],\n d: val[1].clientY\n });\n }\n return {\n x: calculateImpulseVelocity(x),\n y: calculateImpulseVelocity(y),\n get direction() {\n const {\n x,\n y\n } = this;\n const [absX, absY] = [Math.abs(x), Math.abs(y)];\n return absX > absY && x >= 0 ? 'right' : absX > absY && x <= 0 ? 'left' : absY > absX && y >= 0 ? 'down' : absY > absX && y <= 0 ? 'up' : oops();\n }\n };\n }\n return {\n addMovement,\n endTouch,\n getVelocity\n };\n}\nfunction oops() {\n throw new Error();\n}\n//# sourceMappingURL=touch.mjs.map","// Composables\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { useVelocity } from \"../../composables/touch.mjs\"; // Utilities\nimport { computed, onBeforeUnmount, onMounted, onScopeDispose, shallowRef, watchEffect } from 'vue';\n\n// Types\n\nexport function useTouch(_ref) {\n let {\n el,\n isActive,\n isTemporary,\n width,\n touchless,\n position\n } = _ref;\n onMounted(() => {\n window.addEventListener('touchstart', onTouchstart, {\n passive: true\n });\n window.addEventListener('touchmove', onTouchmove, {\n passive: false\n });\n window.addEventListener('touchend', onTouchend, {\n passive: true\n });\n });\n onBeforeUnmount(() => {\n window.removeEventListener('touchstart', onTouchstart);\n window.removeEventListener('touchmove', onTouchmove);\n window.removeEventListener('touchend', onTouchend);\n });\n const isHorizontal = computed(() => ['left', 'right'].includes(position.value));\n const {\n addMovement,\n endTouch,\n getVelocity\n } = useVelocity();\n let maybeDragging = false;\n const isDragging = shallowRef(false);\n const dragProgress = shallowRef(0);\n const offset = shallowRef(0);\n let start;\n function getOffset(pos, active) {\n return (position.value === 'left' ? pos : position.value === 'right' ? document.documentElement.clientWidth - pos : position.value === 'top' ? pos : position.value === 'bottom' ? document.documentElement.clientHeight - pos : oops()) - (active ? width.value : 0);\n }\n function getProgress(pos) {\n let limit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n const progress = position.value === 'left' ? (pos - offset.value) / width.value : position.value === 'right' ? (document.documentElement.clientWidth - pos - offset.value) / width.value : position.value === 'top' ? (pos - offset.value) / width.value : position.value === 'bottom' ? (document.documentElement.clientHeight - pos - offset.value) / width.value : oops();\n return limit ? Math.max(0, Math.min(1, progress)) : progress;\n }\n function onTouchstart(e) {\n if (touchless.value) return;\n const touchX = e.changedTouches[0].clientX;\n const touchY = e.changedTouches[0].clientY;\n const touchZone = 25;\n const inTouchZone = position.value === 'left' ? touchX < touchZone : position.value === 'right' ? touchX > document.documentElement.clientWidth - touchZone : position.value === 'top' ? touchY < touchZone : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - touchZone : oops();\n const inElement = isActive.value && (position.value === 'left' ? touchX < width.value : position.value === 'right' ? touchX > document.documentElement.clientWidth - width.value : position.value === 'top' ? touchY < width.value : position.value === 'bottom' ? touchY > document.documentElement.clientHeight - width.value : oops());\n if (inTouchZone || inElement || isActive.value && isTemporary.value) {\n start = [touchX, touchY];\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, isActive.value);\n dragProgress.value = getProgress(isHorizontal.value ? touchX : touchY);\n maybeDragging = offset.value > -20 && offset.value < 80;\n endTouch(e);\n addMovement(e);\n }\n }\n function onTouchmove(e) {\n const touchX = e.changedTouches[0].clientX;\n const touchY = e.changedTouches[0].clientY;\n if (maybeDragging) {\n if (!e.cancelable) {\n maybeDragging = false;\n return;\n }\n const dx = Math.abs(touchX - start[0]);\n const dy = Math.abs(touchY - start[1]);\n const thresholdMet = isHorizontal.value ? dx > dy && dx > 3 : dy > dx && dy > 3;\n if (thresholdMet) {\n isDragging.value = true;\n maybeDragging = false;\n } else if ((isHorizontal.value ? dy : dx) > 3) {\n maybeDragging = false;\n }\n }\n if (!isDragging.value) return;\n e.preventDefault();\n addMovement(e);\n const progress = getProgress(isHorizontal.value ? touchX : touchY, false);\n dragProgress.value = Math.max(0, Math.min(1, progress));\n if (progress > 1) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, true);\n } else if (progress < 0) {\n offset.value = getOffset(isHorizontal.value ? touchX : touchY, false);\n }\n }\n function onTouchend(e) {\n maybeDragging = false;\n if (!isDragging.value) return;\n addMovement(e);\n isDragging.value = false;\n const velocity = getVelocity(e.changedTouches[0].identifier);\n const vx = Math.abs(velocity.x);\n const vy = Math.abs(velocity.y);\n const thresholdMet = isHorizontal.value ? vx > vy && vx > 400 : vy > vx && vy > 3;\n if (thresholdMet) {\n isActive.value = velocity.direction === ({\n left: 'right',\n right: 'left',\n top: 'down',\n bottom: 'up'\n }[position.value] || oops());\n } else {\n isActive.value = dragProgress.value > 0.5;\n }\n }\n const dragStyles = computed(() => {\n return isDragging.value ? {\n transform: position.value === 'left' ? `translateX(calc(-100% + ${dragProgress.value * width.value}px))` : position.value === 'right' ? `translateX(calc(100% - ${dragProgress.value * width.value}px))` : position.value === 'top' ? `translateY(calc(-100% + ${dragProgress.value * width.value}px))` : position.value === 'bottom' ? `translateY(calc(100% - ${dragProgress.value * width.value}px))` : oops(),\n transition: 'none'\n } : undefined;\n });\n useToggleScope(isDragging, () => {\n const transform = el.value?.style.transform ?? null;\n const transition = el.value?.style.transition ?? null;\n watchEffect(() => {\n el.value?.style.setProperty('transform', dragStyles.value?.transform || 'none');\n el.value?.style.setProperty('transition', dragStyles.value?.transition || null);\n });\n onScopeDispose(() => {\n el.value?.style.setProperty('transform', transform);\n el.value?.style.setProperty('transition', transition);\n });\n });\n return {\n isDragging,\n dragProgress,\n dragStyles\n };\n}\nfunction oops() {\n throw new Error();\n}\n//# sourceMappingURL=touch.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VNavigationDrawer.css\";\n\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VImg } from \"../VImg/index.mjs\"; // Composables\nimport { useSticky } from \"./sticky.mjs\";\nimport { useTouch } from \"./touch.mjs\";\nimport { useRtl } from \"../../composables/index.mjs\";\nimport { makeBorderProps, useBorder } from \"../../composables/border.mjs\";\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDelayProps, useDelay } from \"../../composables/delay.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeLayoutItemProps, useLayoutItem } from \"../../composables/layout.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { useRouter } from \"../../composables/router.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\"; // Utilities\nimport { computed, nextTick, ref, shallowRef, toRef, Transition, watch } from 'vue';\nimport { genericComponent, propsFactory, toPhysical, useRender } from \"../../util/index.mjs\"; // Types\nconst locations = ['start', 'end', 'left', 'right', 'top', 'bottom'];\nexport const makeVNavigationDrawerProps = propsFactory({\n color: String,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n modelValue: {\n type: Boolean,\n default: null\n },\n permanent: Boolean,\n rail: {\n type: Boolean,\n default: null\n },\n railWidth: {\n type: [Number, String],\n default: 56\n },\n scrim: {\n type: [Boolean, String],\n default: true\n },\n image: String,\n temporary: Boolean,\n persistent: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256\n },\n location: {\n type: String,\n default: 'start',\n validator: value => locations.includes(value)\n },\n sticky: Boolean,\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDelayProps(),\n ...makeDisplayProps({\n mobile: null\n }),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps({\n tag: 'nav'\n }),\n ...makeThemeProps()\n}, 'VNavigationDrawer');\nexport const VNavigationDrawer = genericComponent()({\n name: 'VNavigationDrawer',\n props: makeVNavigationDrawerProps(),\n emits: {\n 'update:modelValue': val => true,\n 'update:rail': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n isRtl\n } = useRtl();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n borderClasses\n } = useBorder(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n elevationClasses\n } = useElevation(props);\n const {\n displayClasses,\n mobile\n } = useDisplay(props);\n const {\n roundedClasses\n } = useRounded(props);\n const router = useRouter();\n const isActive = useProxiedModel(props, 'modelValue', null, v => !!v);\n const {\n ssrBootStyles\n } = useSsrBoot();\n const {\n scopeId\n } = useScopeId();\n const rootEl = ref();\n const isHovering = shallowRef(false);\n const {\n runOpenDelay,\n runCloseDelay\n } = useDelay(props, value => {\n isHovering.value = value;\n });\n const width = computed(() => {\n return props.rail && props.expandOnHover && isHovering.value ? Number(props.width) : Number(props.rail ? props.railWidth : props.width);\n });\n const location = computed(() => {\n return toPhysical(props.location, isRtl.value);\n });\n const isPersistent = computed(() => props.persistent);\n const isTemporary = computed(() => !props.permanent && (mobile.value || props.temporary));\n const isSticky = computed(() => props.sticky && !isTemporary.value && location.value !== 'bottom');\n useToggleScope(() => props.expandOnHover && props.rail != null, () => {\n watch(isHovering, val => emit('update:rail', !val));\n });\n useToggleScope(() => !props.disableResizeWatcher, () => {\n watch(isTemporary, val => !props.permanent && nextTick(() => isActive.value = !val));\n });\n useToggleScope(() => !props.disableRouteWatcher && !!router, () => {\n watch(router.currentRoute, () => isTemporary.value && (isActive.value = false));\n });\n watch(() => props.permanent, val => {\n if (val) isActive.value = true;\n });\n if (props.modelValue == null && !isTemporary.value) {\n isActive.value = props.permanent || !mobile.value;\n }\n const {\n isDragging,\n dragProgress\n } = useTouch({\n el: rootEl,\n isActive,\n isTemporary,\n width,\n touchless: toRef(props, 'touchless'),\n position: location\n });\n const layoutSize = computed(() => {\n const size = isTemporary.value ? 0 : props.rail && props.expandOnHover ? Number(props.railWidth) : width.value;\n return isDragging.value ? size * dragProgress.value : size;\n });\n const elementSize = computed(() => ['top', 'bottom'].includes(props.location) ? 0 : width.value);\n const {\n layoutItemStyles,\n layoutItemScrimStyles\n } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: location,\n layoutSize,\n elementSize,\n active: computed(() => isActive.value || isDragging.value),\n disableTransitions: computed(() => isDragging.value),\n absolute: computed(() =>\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n props.absolute || isSticky.value && typeof isStuck.value !== 'string')\n });\n const {\n isStuck,\n stickyStyles\n } = useSticky({\n rootEl,\n isSticky,\n layoutItemStyles\n });\n const scrimColor = useBackgroundColor(computed(() => {\n return typeof props.scrim === 'string' ? props.scrim : null;\n }));\n const scrimStyles = computed(() => ({\n ...(isDragging.value ? {\n opacity: dragProgress.value * 0.2,\n transition: 'none'\n } : undefined),\n ...layoutItemScrimStyles.value\n }));\n provideDefaults({\n VList: {\n bgColor: 'transparent'\n }\n });\n useRender(() => {\n const hasImage = slots.image || props.image;\n return _createVNode(_Fragment, null, [_createVNode(props.tag, _mergeProps({\n \"ref\": rootEl,\n \"onMouseenter\": runOpenDelay,\n \"onMouseleave\": runCloseDelay,\n \"class\": ['v-navigation-drawer', `v-navigation-drawer--${location.value}`, {\n 'v-navigation-drawer--expand-on-hover': props.expandOnHover,\n 'v-navigation-drawer--floating': props.floating,\n 'v-navigation-drawer--is-hovering': isHovering.value,\n 'v-navigation-drawer--rail': props.rail,\n 'v-navigation-drawer--temporary': isTemporary.value,\n 'v-navigation-drawer--persistent': isPersistent.value,\n 'v-navigation-drawer--active': isActive.value,\n 'v-navigation-drawer--sticky': isSticky.value\n }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, stickyStyles.value, props.style, ['top', 'bottom'].includes(location.value) ? {\n height: 'auto'\n } : {}]\n }, scopeId, attrs), {\n default: () => [hasImage && _createVNode(\"div\", {\n \"key\": \"image\",\n \"class\": \"v-navigation-drawer__img\"\n }, [!slots.image ? _createVNode(VImg, {\n \"key\": \"image-img\",\n \"alt\": \"\",\n \"cover\": true,\n \"height\": \"inherit\",\n \"src\": props.image\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"image-defaults\",\n \"disabled\": !props.image,\n \"defaults\": {\n VImg: {\n alt: '',\n cover: true,\n height: 'inherit',\n src: props.image\n }\n }\n }, slots.image)]), slots.prepend && _createVNode(\"div\", {\n \"class\": \"v-navigation-drawer__prepend\"\n }, [slots.prepend?.()]), _createVNode(\"div\", {\n \"class\": \"v-navigation-drawer__content\"\n }, [slots.default?.()]), slots.append && _createVNode(\"div\", {\n \"class\": \"v-navigation-drawer__append\"\n }, [slots.append?.()])]\n }), _createVNode(Transition, {\n \"name\": \"fade-transition\"\n }, {\n default: () => [isTemporary.value && (isDragging.value || isActive.value) && !!props.scrim && _createVNode(\"div\", _mergeProps({\n \"class\": ['v-navigation-drawer__scrim', scrimColor.backgroundColorClasses.value],\n \"style\": [scrimStyles.value, scrimColor.backgroundColorStyles.value],\n \"onClick\": () => {\n if (isPersistent.value) return;\n isActive.value = false;\n }\n }, scopeId), null)]\n })]);\n });\n return {\n isStuck\n };\n }\n});\n//# sourceMappingURL=VNavigationDrawer.mjs.map","// Composables\nimport { useHydration } from \"../../composables/hydration.mjs\"; // Utilities\nimport { defineComponent } from \"../../util/index.mjs\";\nexport const VNoSsr = defineComponent({\n name: 'VNoSsr',\n setup(_, _ref) {\n let {\n slots\n } = _ref;\n const show = useHydration();\n return () => show.value && slots.default?.();\n }\n});\n//# sourceMappingURL=VNoSsr.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VOtpInput.css\";\n\n// Components\nimport { makeVFieldProps, VField } from \"../VField/VField.mjs\";\nimport { VOverlay } from \"../VOverlay/VOverlay.mjs\";\nimport { VProgressCircular } from \"../VProgressCircular/VProgressCircular.mjs\"; // Composables\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeFocusProps, useFocus } from \"../../composables/focus.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, nextTick, ref, watch } from 'vue';\nimport { filterInputAttrs, focusChild, genericComponent, only, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\n// Types\nexport const makeVOtpInputProps = propsFactory({\n autofocus: Boolean,\n divider: String,\n focusAll: Boolean,\n label: {\n type: String,\n default: '$vuetify.input.otp'\n },\n length: {\n type: [Number, String],\n default: 6\n },\n modelValue: {\n type: [Number, String],\n default: undefined\n },\n placeholder: String,\n type: {\n type: String,\n default: 'number'\n },\n ...makeDimensionProps(),\n ...makeFocusProps(),\n ...only(makeVFieldProps({\n variant: 'outlined'\n }), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'rounded', 'style', 'theme', 'variant'])\n}, 'VOtpInput');\nexport const VOtpInput = genericComponent()({\n name: 'VOtpInput',\n props: makeVOtpInputProps(),\n emits: {\n finish: val => true,\n 'update:focused': val => true,\n 'update:modelValue': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const model = useProxiedModel(props, 'modelValue', '', val => val == null ? [] : String(val).split(''), val => val.join(''));\n const {\n t\n } = useLocale();\n const length = computed(() => Number(props.length));\n const fields = computed(() => Array(length.value).fill(0));\n const focusIndex = ref(-1);\n const contentRef = ref();\n const inputRef = ref([]);\n const current = computed(() => inputRef.value[focusIndex.value]);\n function onInput() {\n // The maxlength attribute doesn't work for the number type input, so the text type is used.\n // The following logic simulates the behavior of a number input.\n if (isValidNumber(current.value.value)) {\n current.value.value = '';\n return;\n }\n const array = model.value.slice();\n const value = current.value.value;\n array[focusIndex.value] = value;\n let target = null;\n if (focusIndex.value > model.value.length) {\n target = model.value.length + 1;\n } else if (focusIndex.value + 1 !== length.value) {\n target = 'next';\n }\n model.value = array;\n if (target) focusChild(contentRef.value, target);\n }\n function onKeydown(e) {\n const array = model.value.slice();\n const index = focusIndex.value;\n let target = null;\n if (!['ArrowLeft', 'ArrowRight', 'Backspace', 'Delete'].includes(e.key)) return;\n e.preventDefault();\n if (e.key === 'ArrowLeft') {\n target = 'prev';\n } else if (e.key === 'ArrowRight') {\n target = 'next';\n } else if (['Backspace', 'Delete'].includes(e.key)) {\n array[focusIndex.value] = '';\n model.value = array;\n if (focusIndex.value > 0 && e.key === 'Backspace') {\n target = 'prev';\n } else {\n requestAnimationFrame(() => {\n inputRef.value[index]?.select();\n });\n }\n }\n requestAnimationFrame(() => {\n if (target != null) {\n focusChild(contentRef.value, target);\n }\n });\n }\n function onPaste(index, e) {\n e.preventDefault();\n e.stopPropagation();\n const clipboardText = e?.clipboardData?.getData('Text').slice(0, length.value) ?? '';\n if (isValidNumber(clipboardText)) return;\n model.value = clipboardText.split('');\n inputRef.value?.[index].blur();\n }\n function reset() {\n model.value = [];\n }\n function onFocus(e, index) {\n focus();\n focusIndex.value = index;\n }\n function onBlur() {\n blur();\n focusIndex.value = -1;\n }\n function isValidNumber(value) {\n return props.type === 'number' && /[^0-9]/g.test(value);\n }\n provideDefaults({\n VField: {\n color: computed(() => props.color),\n bgColor: computed(() => props.color),\n baseColor: computed(() => props.baseColor),\n disabled: computed(() => props.disabled),\n error: computed(() => props.error),\n variant: computed(() => props.variant)\n }\n }, {\n scoped: true\n });\n watch(model, val => {\n if (val.length === length.value) emit('finish', val.join(''));\n }, {\n deep: true\n });\n watch(focusIndex, val => {\n if (val < 0) return;\n nextTick(() => {\n inputRef.value[val]?.select();\n });\n });\n useRender(() => {\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-otp-input', {\n 'v-otp-input--divided': !!props.divider\n }, props.class],\n \"style\": [props.style]\n }, rootAttrs), [_createVNode(\"div\", {\n \"ref\": contentRef,\n \"class\": \"v-otp-input__content\",\n \"style\": [dimensionStyles.value]\n }, [fields.value.map((_, i) => _createVNode(_Fragment, null, [props.divider && i !== 0 && _createVNode(\"span\", {\n \"class\": \"v-otp-input__divider\"\n }, [props.divider]), _createVNode(VField, {\n \"focused\": isFocused.value && props.focusAll || focusIndex.value === i,\n \"key\": i\n }, {\n ...slots,\n loader: undefined,\n default: () => {\n return _createVNode(\"input\", {\n \"ref\": val => inputRef.value[i] = val,\n \"aria-label\": t(props.label, i + 1),\n \"autofocus\": i === 0 && props.autofocus,\n \"autocomplete\": \"one-time-code\",\n \"class\": ['v-otp-input__field'],\n \"disabled\": props.disabled,\n \"inputmode\": props.type === 'number' ? 'numeric' : 'text',\n \"min\": props.type === 'number' ? 0 : undefined,\n \"maxlength\": \"1\",\n \"placeholder\": props.placeholder,\n \"type\": props.type === 'number' ? 'text' : props.type,\n \"value\": model.value[i],\n \"onInput\": onInput,\n \"onFocus\": e => onFocus(e, i),\n \"onBlur\": onBlur,\n \"onKeydown\": onKeydown,\n \"onPaste\": event => onPaste(i, event)\n }, null);\n }\n })])), _createVNode(\"input\", _mergeProps({\n \"class\": \"v-otp-input-input\",\n \"type\": \"hidden\"\n }, inputAttrs, {\n \"value\": model.value.join('')\n }), null), _createVNode(VOverlay, {\n \"contained\": true,\n \"content-class\": \"v-otp-input__loader\",\n \"model-value\": !!props.loading,\n \"persistent\": true\n }, {\n default: () => [slots.loader?.() ?? _createVNode(VProgressCircular, {\n \"color\": typeof props.loading === 'boolean' ? undefined : props.loading,\n \"indeterminate\": true,\n \"size\": \"24\",\n \"width\": \"2\"\n }, null)]\n }), slots.default?.()])]);\n });\n return {\n blur: () => {\n inputRef.value?.some(input => input.blur());\n },\n focus: () => {\n inputRef.value?.[0].focus();\n },\n reset,\n isFocused\n };\n }\n});\n//# sourceMappingURL=VOtpInput.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VParallax.css\";\n\n// Components\nimport { VImg } from \"../VImg/index.mjs\"; // Composables\nimport { useDisplay } from \"../../composables/index.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useIntersectionObserver } from \"../../composables/intersectionObserver.mjs\";\nimport { useResizeObserver } from \"../../composables/resizeObserver.mjs\"; // Utilities\nimport { computed, onBeforeUnmount, ref, watch, watchEffect } from 'vue';\nimport { clamp, genericComponent, getScrollParent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nfunction floor(val) {\n return Math.floor(Math.abs(val)) * Math.sign(val);\n}\nexport const makeVParallaxProps = propsFactory({\n scale: {\n type: [Number, String],\n default: 0.5\n },\n ...makeComponentProps()\n}, 'VParallax');\nexport const VParallax = genericComponent()({\n name: 'VParallax',\n props: makeVParallaxProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n intersectionRef,\n isIntersecting\n } = useIntersectionObserver();\n const {\n resizeRef,\n contentRect\n } = useResizeObserver();\n const {\n height: displayHeight\n } = useDisplay();\n const root = ref();\n watchEffect(() => {\n intersectionRef.value = resizeRef.value = root.value?.$el;\n });\n let scrollParent;\n watch(isIntersecting, val => {\n if (val) {\n scrollParent = getScrollParent(intersectionRef.value);\n scrollParent = scrollParent === document.scrollingElement ? document : scrollParent;\n scrollParent.addEventListener('scroll', onScroll, {\n passive: true\n });\n onScroll();\n } else {\n scrollParent.removeEventListener('scroll', onScroll);\n }\n });\n onBeforeUnmount(() => {\n scrollParent?.removeEventListener('scroll', onScroll);\n });\n watch(displayHeight, onScroll);\n watch(() => contentRect.value?.height, onScroll);\n const scale = computed(() => {\n return 1 - clamp(+props.scale);\n });\n let frame = -1;\n function onScroll() {\n if (!isIntersecting.value) return;\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(() => {\n const el = (root.value?.$el).querySelector('.v-img__img');\n if (!el) return;\n const scrollHeight = scrollParent instanceof Document ? document.documentElement.clientHeight : scrollParent.clientHeight;\n const scrollPos = scrollParent instanceof Document ? window.scrollY : scrollParent.scrollTop;\n const top = intersectionRef.value.getBoundingClientRect().top + scrollPos;\n const height = contentRect.value.height;\n const center = top + (height - scrollHeight) / 2;\n const translate = floor((scrollPos - center) * scale.value);\n const sizeScale = Math.max(1, (scale.value * (scrollHeight - height) + height) / height);\n el.style.setProperty('transform', `translateY(${translate}px) scale(${sizeScale})`);\n });\n }\n useRender(() => _createVNode(VImg, {\n \"class\": ['v-parallax', {\n 'v-parallax--active': isIntersecting.value\n }, props.class],\n \"style\": props.style,\n \"ref\": root,\n \"cover\": true,\n \"onLoadstart\": onScroll,\n \"onLoad\": onScroll\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VParallax.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVRadioProps = propsFactory({\n ...makeVSelectionControlProps({\n falseIcon: '$radioOff',\n trueIcon: '$radioOn'\n })\n}, 'VRadio');\nexport const VRadio = genericComponent()({\n name: 'VRadio',\n props: makeVRadioProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const controlProps = VSelectionControl.filterProps(props);\n return _createVNode(VSelectionControl, _mergeProps(controlProps, {\n \"class\": ['v-radio', props.class],\n \"style\": props.style,\n \"type\": \"radio\"\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VRadio.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VRadioGroup.css\";\n\n// Components\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\";\nimport { VLabel } from \"../VLabel/index.mjs\";\nimport { VSelectionControl } from \"../VSelectionControl/index.mjs\";\nimport { makeSelectionControlGroupProps, VSelectionControlGroup } from \"../VSelectionControlGroup/VSelectionControlGroup.mjs\"; // Composables\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { filterInputAttrs, genericComponent, getUid, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVRadioGroupProps = propsFactory({\n height: {\n type: [Number, String],\n default: 'auto'\n },\n ...makeVInputProps(),\n ...omit(makeSelectionControlGroupProps(), ['multiple']),\n trueIcon: {\n type: IconValue,\n default: '$radioOn'\n },\n falseIcon: {\n type: IconValue,\n default: '$radioOff'\n },\n type: {\n type: String,\n default: 'radio'\n }\n}, 'VRadioGroup');\nexport const VRadioGroup = genericComponent()({\n name: 'VRadioGroup',\n inheritAttrs: false,\n props: makeVRadioGroupProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const uid = getUid();\n const id = computed(() => props.id || `radio-group-${uid}`);\n const model = useProxiedModel(props, 'modelValue');\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const controlProps = VSelectionControl.filterProps(props);\n const label = slots.label ? slots.label({\n label: props.label,\n props: {\n for: id.value\n }\n }) : props.label;\n return _createVNode(VInput, _mergeProps({\n \"class\": ['v-radio-group', props.class],\n \"style\": props.style\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": id.value\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly\n } = _ref2;\n return _createVNode(_Fragment, null, [label && _createVNode(VLabel, {\n \"id\": id.value\n }, {\n default: () => [label]\n }), _createVNode(VSelectionControlGroup, _mergeProps(controlProps, {\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"defaultsTarget\": \"VRadio\",\n \"trueIcon\": props.trueIcon,\n \"falseIcon\": props.falseIcon,\n \"type\": props.type,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value,\n \"aria-labelledby\": label ? id.value : undefined,\n \"multiple\": false\n }, controlAttrs, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event\n }), slots)]);\n }\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VRadioGroup.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"../VSlider/VSlider.css\";\n\n// Components\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\";\nimport { VLabel } from \"../VLabel/index.mjs\";\nimport { getOffset, makeSliderProps, useSlider, useSteps } from \"../VSlider/slider.mjs\";\nimport { VSliderThumb } from \"../VSlider/VSliderThumb.mjs\";\nimport { VSliderTrack } from \"../VSlider/VSliderTrack.mjs\"; // Composables\nimport { makeFocusProps, useFocus } from \"../../composables/focus.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, ref } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVRangeSliderProps = propsFactory({\n ...makeFocusProps(),\n ...makeVInputProps(),\n ...makeSliderProps(),\n strict: Boolean,\n modelValue: {\n type: Array,\n default: () => [0, 0]\n }\n}, 'VRangeSlider');\nexport const VRangeSlider = genericComponent()({\n name: 'VRangeSlider',\n props: makeVRangeSliderProps(),\n emits: {\n 'update:focused': value => true,\n 'update:modelValue': value => true,\n end: value => true,\n start: value => true\n },\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const startThumbRef = ref();\n const stopThumbRef = ref();\n const inputRef = ref();\n const {\n rtlClasses\n } = useRtl();\n function getActiveThumb(e) {\n if (!startThumbRef.value || !stopThumbRef.value) return;\n const startOffset = getOffset(e, startThumbRef.value.$el, props.direction);\n const stopOffset = getOffset(e, stopThumbRef.value.$el, props.direction);\n const a = Math.abs(startOffset);\n const b = Math.abs(stopOffset);\n return a < b || a === b && startOffset < 0 ? startThumbRef.value.$el : stopThumbRef.value.$el;\n }\n const steps = useSteps(props);\n const model = useProxiedModel(props, 'modelValue', undefined, arr => {\n if (!arr?.length) return [0, 0];\n return arr.map(value => steps.roundValue(value));\n });\n const {\n activeThumbRef,\n hasLabels,\n max,\n min,\n mousePressed,\n onSliderMousedown,\n onSliderTouchstart,\n position,\n trackContainerRef,\n readonly\n } = useSlider({\n props,\n steps,\n onSliderStart: () => {\n emit('start', model.value);\n },\n onSliderEnd: _ref2 => {\n let {\n value\n } = _ref2;\n const newValue = activeThumbRef.value === startThumbRef.value?.$el ? [value, model.value[1]] : [model.value[0], value];\n if (!props.strict && newValue[0] < newValue[1]) {\n model.value = newValue;\n }\n emit('end', model.value);\n },\n onSliderMove: _ref3 => {\n let {\n value\n } = _ref3;\n const [start, stop] = model.value;\n if (!props.strict && start === stop && start !== min.value) {\n activeThumbRef.value = value > start ? stopThumbRef.value?.$el : startThumbRef.value?.$el;\n activeThumbRef.value?.focus();\n }\n if (activeThumbRef.value === startThumbRef.value?.$el) {\n model.value = [Math.min(value, stop), stop];\n } else {\n model.value = [start, Math.max(start, value)];\n }\n },\n getActiveThumb\n });\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const trackStart = computed(() => position(model.value[0]));\n const trackStop = computed(() => position(model.value[1]));\n useRender(() => {\n const inputProps = VInput.filterProps(props);\n const hasPrepend = !!(props.label || slots.label || slots.prepend);\n return _createVNode(VInput, _mergeProps({\n \"class\": ['v-slider', 'v-range-slider', {\n 'v-slider--has-labels': !!slots['tick-label'] || hasLabels.value,\n 'v-slider--focused': isFocused.value,\n 'v-slider--pressed': mousePressed.value,\n 'v-slider--disabled': props.disabled\n }, rtlClasses.value, props.class],\n \"style\": props.style,\n \"ref\": inputRef\n }, inputProps, {\n \"focused\": isFocused.value\n }), {\n ...slots,\n prepend: hasPrepend ? slotProps => _createVNode(_Fragment, null, [slots.label?.(slotProps) ?? (props.label ? _createVNode(VLabel, {\n \"class\": \"v-slider__label\",\n \"text\": props.label\n }, null) : undefined), slots.prepend?.(slotProps)]) : undefined,\n default: _ref4 => {\n let {\n id,\n messagesId\n } = _ref4;\n return _createVNode(\"div\", {\n \"class\": \"v-slider__container\",\n \"onMousedown\": !readonly.value ? onSliderMousedown : undefined,\n \"onTouchstartPassive\": !readonly.value ? onSliderTouchstart : undefined\n }, [_createVNode(\"input\", {\n \"id\": `${id.value}_start`,\n \"name\": props.name || id.value,\n \"disabled\": !!props.disabled,\n \"readonly\": !!props.readonly,\n \"tabindex\": \"-1\",\n \"value\": model.value[0]\n }, null), _createVNode(\"input\", {\n \"id\": `${id.value}_stop`,\n \"name\": props.name || id.value,\n \"disabled\": !!props.disabled,\n \"readonly\": !!props.readonly,\n \"tabindex\": \"-1\",\n \"value\": model.value[1]\n }, null), _createVNode(VSliderTrack, {\n \"ref\": trackContainerRef,\n \"start\": trackStart.value,\n \"stop\": trackStop.value\n }, {\n 'tick-label': slots['tick-label']\n }), _createVNode(VSliderThumb, {\n \"ref\": startThumbRef,\n \"aria-describedby\": messagesId.value,\n \"focused\": isFocused && activeThumbRef.value === startThumbRef.value?.$el,\n \"modelValue\": model.value[0],\n \"onUpdate:modelValue\": v => model.value = [v, model.value[1]],\n \"onFocus\": e => {\n focus();\n activeThumbRef.value = startThumbRef.value?.$el;\n\n // Make sure second thumb is focused if\n // the thumbs are on top of each other\n // and they are both at minimum value\n // but only if focused from outside.\n if (model.value[0] === model.value[1] && model.value[1] === min.value && e.relatedTarget !== stopThumbRef.value?.$el) {\n startThumbRef.value?.$el.blur();\n stopThumbRef.value?.$el.focus();\n }\n },\n \"onBlur\": () => {\n blur();\n activeThumbRef.value = undefined;\n },\n \"min\": min.value,\n \"max\": model.value[1],\n \"position\": trackStart.value,\n \"ripple\": props.ripple\n }, {\n 'thumb-label': slots['thumb-label']\n }), _createVNode(VSliderThumb, {\n \"ref\": stopThumbRef,\n \"aria-describedby\": messagesId.value,\n \"focused\": isFocused && activeThumbRef.value === stopThumbRef.value?.$el,\n \"modelValue\": model.value[1],\n \"onUpdate:modelValue\": v => model.value = [model.value[0], v],\n \"onFocus\": e => {\n focus();\n activeThumbRef.value = stopThumbRef.value?.$el;\n\n // Make sure first thumb is focused if\n // the thumbs are on top of each other\n // and they are both at maximum value\n // but only if focused from outside.\n if (model.value[0] === model.value[1] && model.value[0] === max.value && e.relatedTarget !== startThumbRef.value?.$el) {\n stopThumbRef.value?.$el.blur();\n startThumbRef.value?.$el.focus();\n }\n },\n \"onBlur\": () => {\n blur();\n activeThumbRef.value = undefined;\n },\n \"min\": model.value[0],\n \"max\": max.value,\n \"position\": trackStop.value,\n \"ripple\": props.ripple\n }, {\n 'thumb-label': slots['thumb-label']\n })]);\n }\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VRangeSlider.mjs.map","import { createTextVNode as _createTextVNode, mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VRating.css\";\n\n// Components\nimport { VBtn } from \"../VBtn/index.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDensityProps } from \"../../composables/density.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeSizeProps } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, shallowRef } from 'vue';\nimport { clamp, createRange, genericComponent, getUid, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVRatingProps = propsFactory({\n name: String,\n itemAriaLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.item'\n },\n activeColor: String,\n color: String,\n clearable: Boolean,\n disabled: Boolean,\n emptyIcon: {\n type: IconValue,\n default: '$ratingEmpty'\n },\n fullIcon: {\n type: IconValue,\n default: '$ratingFull'\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5\n },\n readonly: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0\n },\n itemLabels: Array,\n itemLabelPosition: {\n type: String,\n default: 'top',\n validator: v => ['top', 'bottom'].includes(v)\n },\n ripple: Boolean,\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeSizeProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VRating');\nexport const VRating = genericComponent()({\n name: 'VRating',\n props: makeVRatingProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n const {\n themeClasses\n } = provideTheme(props);\n const rating = useProxiedModel(props, 'modelValue');\n const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, +props.length));\n const range = computed(() => createRange(Number(props.length), 1));\n const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));\n const hoverIndex = shallowRef(-1);\n const itemState = computed(() => increments.value.map(value => {\n const isHovering = props.hover && hoverIndex.value > -1;\n const isFilled = normalizedValue.value >= value;\n const isHovered = hoverIndex.value >= value;\n const isFullIcon = isHovering ? isHovered : isFilled;\n const icon = isFullIcon ? props.fullIcon : props.emptyIcon;\n const activeColor = props.activeColor ?? props.color;\n const color = isFilled || isHovered ? activeColor : props.color;\n return {\n isFilled,\n isHovered,\n icon,\n color\n };\n }));\n const eventState = computed(() => [0, ...increments.value].map(value => {\n function onMouseenter() {\n hoverIndex.value = value;\n }\n function onMouseleave() {\n hoverIndex.value = -1;\n }\n function onClick() {\n if (props.disabled || props.readonly) return;\n rating.value = normalizedValue.value === value && props.clearable ? 0 : value;\n }\n return {\n onMouseenter: props.hover ? onMouseenter : undefined,\n onMouseleave: props.hover ? onMouseleave : undefined,\n onClick\n };\n }));\n const name = computed(() => props.name ?? `v-rating-${getUid()}`);\n function VRatingItem(_ref2) {\n let {\n value,\n index,\n showStar = true\n } = _ref2;\n const {\n onMouseenter,\n onMouseleave,\n onClick\n } = eventState.value[index + 1];\n const id = `${name.value}-${String(value).replace('.', '-')}`;\n const btnProps = {\n color: itemState.value[index]?.color,\n density: props.density,\n disabled: props.disabled,\n icon: itemState.value[index]?.icon,\n ripple: props.ripple,\n size: props.size,\n variant: 'plain'\n };\n return _createVNode(_Fragment, null, [_createVNode(\"label\", {\n \"for\": id,\n \"class\": {\n 'v-rating__item--half': props.halfIncrements && value % 1 > 0,\n 'v-rating__item--full': props.halfIncrements && value % 1 === 0\n },\n \"onMouseenter\": onMouseenter,\n \"onMouseleave\": onMouseleave,\n \"onClick\": onClick\n }, [_createVNode(\"span\", {\n \"class\": \"v-rating__hidden\"\n }, [t(props.itemAriaLabel, value, props.length)]), !showStar ? undefined : slots.item ? slots.item({\n ...itemState.value[index],\n props: btnProps,\n value,\n index,\n rating: normalizedValue.value\n }) : _createVNode(VBtn, _mergeProps({\n \"aria-label\": t(props.itemAriaLabel, value, props.length)\n }, btnProps), null)]), _createVNode(\"input\", {\n \"class\": \"v-rating__hidden\",\n \"name\": name.value,\n \"id\": id,\n \"type\": \"radio\",\n \"value\": value,\n \"checked\": normalizedValue.value === value,\n \"tabindex\": -1,\n \"readonly\": props.readonly,\n \"disabled\": props.disabled\n }, null)]);\n }\n function createLabel(labelProps) {\n if (slots['item-label']) return slots['item-label'](labelProps);\n if (labelProps.label) return _createVNode(\"span\", null, [labelProps.label]);\n return _createVNode(\"span\", null, [_createTextVNode(\"\\xA0\")]);\n }\n useRender(() => {\n const hasLabels = !!props.itemLabels?.length || slots['item-label'];\n return _createVNode(props.tag, {\n \"class\": ['v-rating', {\n 'v-rating--hover': props.hover,\n 'v-rating--readonly': props.readonly\n }, themeClasses.value, props.class],\n \"style\": props.style\n }, {\n default: () => [_createVNode(VRatingItem, {\n \"value\": 0,\n \"index\": -1,\n \"showStar\": false\n }, null), range.value.map((value, i) => _createVNode(\"div\", {\n \"class\": \"v-rating__wrapper\"\n }, [hasLabels && props.itemLabelPosition === 'top' ? createLabel({\n value,\n index: i,\n label: props.itemLabels?.[i]\n }) : undefined, _createVNode(\"div\", {\n \"class\": \"v-rating__item\"\n }, [props.halfIncrements ? _createVNode(_Fragment, null, [_createVNode(VRatingItem, {\n \"value\": value - 0.5,\n \"index\": i * 2\n }, null), _createVNode(VRatingItem, {\n \"value\": value,\n \"index\": i * 2 + 1\n }, null)]) : _createVNode(VRatingItem, {\n \"value\": value,\n \"index\": i\n }, null)]), hasLabels && props.itemLabelPosition === 'bottom' ? createLabel({\n value,\n index: i,\n label: props.itemLabels?.[i]\n }) : undefined]))]\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VRating.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSkeletonLoader.css\";\n\n// Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { useLocale } from \"../../composables/locale.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender, wrapInArray } from \"../../util/index.mjs\"; // Types\nexport const rootTypes = {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, heading',\n 'card-avatar': 'image, list-item-avatar',\n chip: 'chip',\n 'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n divider: 'divider',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n ossein: 'ossein',\n paragraph: 'text@3',\n sentences: 'text@2',\n subtitle: 'text',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'chip, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'text@6',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text'\n};\nfunction genBone(type) {\n let children = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return _createVNode(\"div\", {\n \"class\": ['v-skeleton-loader__bone', `v-skeleton-loader__${type}`]\n }, [children]);\n}\nfunction genBones(bone) {\n // e.g. 'text@3'\n const [type, length] = bone.split('@');\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({\n length\n }).map(() => genStructure(type));\n}\nfunction genStructure(type) {\n let children = [];\n if (!type) return children;\n\n // TODO: figure out a better way to type this\n const bone = rootTypes[type];\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.includes(',')) return mapBones(type);\n // Array of values - e.g. 'paragraph@4'\n else if (type.includes('@')) return genBones(type);\n // Array of values - e.g. 'card@2'\n else if (bone.includes(',')) children = mapBones(bone);\n // Array of values - e.g. 'list-item@2'\n else if (bone.includes('@')) children = genBones(bone);\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(genStructure(bone));\n return [genBone(type, children)];\n}\nfunction mapBones(bones) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(genStructure);\n}\nexport const makeVSkeletonLoaderProps = propsFactory({\n boilerplate: Boolean,\n color: String,\n loading: Boolean,\n loadingText: {\n type: String,\n default: '$vuetify.loading'\n },\n type: {\n type: [String, Array],\n default: 'ossein'\n },\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeThemeProps()\n}, 'VSkeletonLoader');\nexport const VSkeletonLoader = genericComponent()({\n name: 'VSkeletonLoader',\n props: makeVSkeletonLoaderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n dimensionStyles\n } = useDimension(props);\n const {\n elevationClasses\n } = useElevation(props);\n const {\n themeClasses\n } = provideTheme(props);\n const {\n t\n } = useLocale();\n const items = computed(() => genStructure(wrapInArray(props.type).join(',')));\n useRender(() => {\n const isLoading = !slots.default || props.loading;\n const loadingProps = props.boilerplate || !isLoading ? {} : {\n ariaLive: 'polite',\n ariaLabel: t(props.loadingText),\n role: 'alert'\n };\n return _createVNode(\"div\", _mergeProps({\n \"class\": ['v-skeleton-loader', {\n 'v-skeleton-loader--boilerplate': props.boilerplate\n }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],\n \"style\": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]\n }, loadingProps), [isLoading ? items.value : slots.default?.()]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VSkeletonLoader.mjs.map","// Composables\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\"; // Utilities\nimport { VSlideGroupSymbol } from \"./VSlideGroup.mjs\";\nimport { genericComponent } from \"../../util/index.mjs\"; // Types\nexport const VSlideGroupItem = genericComponent()({\n name: 'VSlideGroupItem',\n props: makeGroupItemProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const slideGroupItem = useGroupItem(props, VSlideGroupSymbol);\n return () => slots.default?.({\n isSelected: slideGroupItem.isSelected.value,\n select: slideGroupItem.select,\n toggle: slideGroupItem.toggle,\n selectedClass: slideGroupItem.selectedClass.value\n });\n }\n});\n//# sourceMappingURL=VSlideGroupItem.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSnackbar.css\";\n\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VOverlay } from \"../VOverlay/index.mjs\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.mjs\";\nimport { VProgressLinear } from \"../VProgressLinear/index.mjs\"; // Composables\nimport { useLayout } from \"../../composables/index.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { VuetifyLayoutKey } from \"../../composables/layout.mjs\";\nimport { makeLocationProps } from \"../../composables/location.mjs\";\nimport { makePositionProps, usePosition } from \"../../composables/position.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\";\nimport { useToggleScope } from \"../../composables/toggleScope.mjs\";\nimport { genOverlays, makeVariantProps, useVariant } from \"../../composables/variant.mjs\"; // Utilities\nimport { computed, inject, mergeProps, nextTick, onMounted, onScopeDispose, ref, shallowRef, watch, watchEffect } from 'vue';\nimport { genericComponent, omit, propsFactory, refElement, useRender } from \"../../util/index.mjs\"; // Types\nfunction useCountdown(milliseconds) {\n const time = shallowRef(milliseconds());\n let timer = -1;\n function clear() {\n clearInterval(timer);\n }\n function reset() {\n clear();\n nextTick(() => time.value = milliseconds());\n }\n function start(el) {\n const style = el ? getComputedStyle(el) : {\n transitionDuration: 0.2\n };\n const interval = parseFloat(style.transitionDuration) * 1000 || 200;\n clear();\n if (time.value <= 0) return;\n const startTime = performance.now();\n timer = window.setInterval(() => {\n const elapsed = performance.now() - startTime + interval;\n time.value = Math.max(milliseconds() - elapsed, 0);\n if (time.value <= 0) clear();\n }, interval);\n }\n onScopeDispose(clear);\n return {\n clear,\n time,\n start,\n reset\n };\n}\nexport const makeVSnackbarProps = propsFactory({\n multiLine: Boolean,\n text: String,\n timer: [Boolean, String],\n timeout: {\n type: [Number, String],\n default: 5000\n },\n vertical: Boolean,\n ...makeLocationProps({\n location: 'bottom'\n }),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeVariantProps(),\n ...makeThemeProps(),\n ...omit(makeVOverlayProps({\n transition: 'v-snackbar-transition'\n }), ['persistent', 'noClickAnimation', 'scrim', 'scrollStrategy'])\n}, 'VSnackbar');\nexport const VSnackbar = genericComponent()({\n name: 'VSnackbar',\n props: makeVSnackbarProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n positionClasses\n } = usePosition(props);\n const {\n scopeId\n } = useScopeId();\n const {\n themeClasses\n } = provideTheme(props);\n const {\n colorClasses,\n colorStyles,\n variantClasses\n } = useVariant(props);\n const {\n roundedClasses\n } = useRounded(props);\n const countdown = useCountdown(() => Number(props.timeout));\n const overlay = ref();\n const timerRef = ref();\n const isHovering = shallowRef(false);\n const startY = shallowRef(0);\n const mainStyles = ref();\n const hasLayout = inject(VuetifyLayoutKey, undefined);\n useToggleScope(() => !!hasLayout, () => {\n const layout = useLayout();\n watchEffect(() => {\n mainStyles.value = layout.mainStyles.value;\n });\n });\n watch(isActive, startTimeout);\n watch(() => props.timeout, startTimeout);\n onMounted(() => {\n if (isActive.value) startTimeout();\n });\n let activeTimeout = -1;\n function startTimeout() {\n countdown.reset();\n window.clearTimeout(activeTimeout);\n const timeout = Number(props.timeout);\n if (!isActive.value || timeout === -1) return;\n const element = refElement(timerRef.value);\n countdown.start(element);\n activeTimeout = window.setTimeout(() => {\n isActive.value = false;\n }, timeout);\n }\n function clearTimeout() {\n countdown.reset();\n window.clearTimeout(activeTimeout);\n }\n function onPointerenter() {\n isHovering.value = true;\n clearTimeout();\n }\n function onPointerleave() {\n isHovering.value = false;\n startTimeout();\n }\n function onTouchstart(event) {\n startY.value = event.touches[0].clientY;\n }\n function onTouchend(event) {\n if (Math.abs(startY.value - event.changedTouches[0].clientY) > 50) {\n isActive.value = false;\n }\n }\n function onAfterLeave() {\n if (isHovering.value) onPointerleave();\n }\n const locationClasses = computed(() => {\n return props.location.split(' ').reduce((acc, loc) => {\n acc[`v-snackbar--${loc}`] = true;\n return acc;\n }, {});\n });\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n const hasContent = !!(slots.default || slots.text || props.text);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"class\": ['v-snackbar', {\n 'v-snackbar--active': isActive.value,\n 'v-snackbar--multi-line': props.multiLine && !props.vertical,\n 'v-snackbar--timer': !!props.timer,\n 'v-snackbar--vertical': props.vertical\n }, locationClasses.value, positionClasses.value, props.class],\n \"style\": [mainStyles.value, props.style]\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"contentProps\": mergeProps({\n class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],\n style: [colorStyles.value],\n onPointerenter,\n onPointerleave\n }, overlayProps.contentProps),\n \"persistent\": true,\n \"noClickAnimation\": true,\n \"scrim\": false,\n \"scrollStrategy\": \"none\",\n \"_disableGlobalStack\": true,\n \"onTouchstartPassive\": onTouchstart,\n \"onTouchend\": onTouchend,\n \"onAfterLeave\": onAfterLeave\n }, scopeId), {\n default: () => [genOverlays(false, 'v-snackbar'), props.timer && !isHovering.value && _createVNode(\"div\", {\n \"key\": \"timer\",\n \"class\": \"v-snackbar__timer\"\n }, [_createVNode(VProgressLinear, {\n \"ref\": timerRef,\n \"color\": typeof props.timer === 'string' ? props.timer : 'info',\n \"max\": props.timeout,\n \"model-value\": countdown.time.value\n }, null)]), hasContent && _createVNode(\"div\", {\n \"key\": \"content\",\n \"class\": \"v-snackbar__content\",\n \"role\": \"status\",\n \"aria-live\": \"polite\"\n }, [slots.text?.() ?? props.text, slots.default?.()]), slots.actions && _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n variant: 'text',\n ripple: false,\n slim: true\n }\n }\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": \"v-snackbar__actions\"\n }, [slots.actions({\n isActive\n })])]\n })],\n activator: slots.activator\n });\n });\n return forwardRefs({}, overlay);\n }\n});\n//# sourceMappingURL=VSnackbar.mjs.map","// Utilities\nimport { propsFactory } from \"../../../util/index.mjs\"; // Types\nexport const makeLineProps = propsFactory({\n autoDraw: Boolean,\n autoDrawDuration: [Number, String],\n autoDrawEasing: {\n type: String,\n default: 'ease'\n },\n color: String,\n gradient: {\n type: Array,\n default: () => []\n },\n gradientDirection: {\n type: String,\n validator: val => ['top', 'bottom', 'left', 'right'].includes(val),\n default: 'top'\n },\n height: {\n type: [String, Number],\n default: 75\n },\n labels: {\n type: Array,\n default: () => []\n },\n labelSize: {\n type: [Number, String],\n default: 7\n },\n lineWidth: {\n type: [String, Number],\n default: 4\n },\n id: String,\n itemValue: {\n type: String,\n default: 'value'\n },\n modelValue: {\n type: Array,\n default: () => []\n },\n min: [String, Number],\n max: [String, Number],\n padding: {\n type: [String, Number],\n default: 8\n },\n showLabels: Boolean,\n smooth: Boolean,\n width: {\n type: [Number, String],\n default: 300\n }\n}, 'Line');\n//# sourceMappingURL=line.mjs.map","import { Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\n// Utilities\nimport { computed } from 'vue';\nimport { makeLineProps } from \"./util/line.mjs\";\nimport { genericComponent, getPropertyFromItem, getUid, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVBarlineProps = propsFactory({\n autoLineWidth: Boolean,\n ...makeLineProps()\n}, 'VBarline');\nexport const VBarline = genericComponent()({\n name: 'VBarline',\n props: makeVBarlineProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const uid = getUid();\n const id = computed(() => props.id || `barline-${uid}`);\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500);\n const hasLabels = computed(() => {\n return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);\n });\n const lineWidth = computed(() => parseFloat(props.lineWidth) || 4);\n const totalWidth = computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width)));\n const boundary = computed(() => {\n return {\n minX: 0,\n maxX: totalWidth.value,\n minY: 0,\n maxY: parseInt(props.height, 10)\n };\n });\n const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)));\n function genBars(values, boundary) {\n const {\n minX,\n maxX,\n minY,\n maxY\n } = boundary;\n const totalValues = values.length;\n let maxValue = props.max != null ? Number(props.max) : Math.max(...values);\n let minValue = props.min != null ? Number(props.min) : Math.min(...values);\n if (minValue > 0 && props.min == null) minValue = 0;\n if (maxValue < 0 && props.max == null) maxValue = 0;\n const gridX = maxX / totalValues;\n const gridY = (maxY - minY) / (maxValue - minValue || 1);\n const horizonY = maxY - Math.abs(minValue * gridY);\n return values.map((value, index) => {\n const height = Math.abs(gridY * value);\n return {\n x: minX + index * gridX,\n y: horizonY - height + +(value < 0) * height,\n height,\n value\n };\n });\n }\n const parsedLabels = computed(() => {\n const labels = [];\n const points = genBars(items.value, boundary.value);\n const len = points.length;\n for (let i = 0; labels.length < len; i++) {\n const item = points[i];\n let value = props.labels[i];\n if (!value) {\n value = typeof item === 'object' ? item.value : item;\n }\n labels.push({\n x: item.x,\n value: String(value)\n });\n }\n return labels;\n });\n const bars = computed(() => genBars(items.value, boundary.value));\n const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();\n return _createVNode(\"svg\", {\n \"display\": \"block\"\n }, [_createVNode(\"defs\", null, [_createVNode(\"linearGradient\", {\n \"id\": id.value,\n \"gradientUnits\": \"userSpaceOnUse\",\n \"x1\": props.gradientDirection === 'left' ? '100%' : '0',\n \"y1\": props.gradientDirection === 'top' ? '100%' : '0',\n \"x2\": props.gradientDirection === 'right' ? '100%' : '0',\n \"y2\": props.gradientDirection === 'bottom' ? '100%' : '0'\n }, [gradientData.map((color, index) => _createVNode(\"stop\", {\n \"offset\": index / Math.max(gradientData.length - 1, 1),\n \"stop-color\": color || 'currentColor'\n }, null))])]), _createVNode(\"clipPath\", {\n \"id\": `${id.value}-clip`\n }, [bars.value.map(item => _createVNode(\"rect\", {\n \"x\": item.x + offsetX.value,\n \"y\": item.y,\n \"width\": lineWidth.value,\n \"height\": item.height,\n \"rx\": typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0,\n \"ry\": typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0\n }, [props.autoDraw && _createVNode(_Fragment, null, [_createVNode(\"animate\", {\n \"attributeName\": \"y\",\n \"from\": item.y + item.height,\n \"to\": item.y,\n \"dur\": `${autoDrawDuration.value}ms`,\n \"fill\": \"freeze\"\n }, null), _createVNode(\"animate\", {\n \"attributeName\": \"height\",\n \"from\": \"0\",\n \"to\": item.height,\n \"dur\": `${autoDrawDuration.value}ms`,\n \"fill\": \"freeze\"\n }, null)])]))]), hasLabels.value && _createVNode(\"g\", {\n \"key\": \"labels\",\n \"style\": {\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor'\n }\n }, [parsedLabels.value.map((item, i) => _createVNode(\"text\", {\n \"x\": item.x + offsetX.value + lineWidth.value / 2,\n \"y\": parseInt(props.height, 10) - 2 + (parseInt(props.labelSize, 10) || 7 * 0.75),\n \"font-size\": Number(props.labelSize) || 7\n }, [slots.label?.({\n index: i,\n value: item.value\n }) ?? item.value]))]), _createVNode(\"g\", {\n \"clip-path\": `url(#${id.value}-clip)`,\n \"fill\": `url(#${id.value})`\n }, [_createVNode(\"rect\", {\n \"x\": 0,\n \"y\": 0,\n \"width\": Math.max(props.modelValue.length * lineWidth.value, Number(props.width)),\n \"height\": props.height\n }, null)])]);\n });\n }\n});\n//# sourceMappingURL=VBarline.mjs.map","// @ts-nocheck\n/* eslint-disable */\n\n// import { checkCollinear, getDistance, moveTo } from './math'\n\n/**\n * From https://github.com/unsplash/react-trend/blob/master/src/helpers/DOM.helpers.js#L18\n */\nexport function genPath(points, radius) {\n let fill = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n let height = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 75;\n if (points.length === 0) return '';\n const start = points.shift();\n const end = points[points.length - 1];\n return (fill ? `M${start.x} ${height - start.x + 2} L${start.x} ${start.y}` : `M${start.x} ${start.y}`) + points.map((point, index) => {\n const next = points[index + 1];\n const prev = points[index - 1] || start;\n const isCollinear = next && checkCollinear(next, point, prev);\n if (!next || isCollinear) {\n return `L${point.x} ${point.y}`;\n }\n const threshold = Math.min(getDistance(prev, point), getDistance(next, point));\n const isTooCloseForRadius = threshold / 2 < radius;\n const radiusForPoint = isTooCloseForRadius ? threshold / 2 : radius;\n const before = moveTo(prev, point, radiusForPoint);\n const after = moveTo(next, point, radiusForPoint);\n return `L${before.x} ${before.y}S${point.x} ${point.y} ${after.x} ${after.y}`;\n }).join('') + (fill ? `L${end.x} ${height - start.x + 2} Z` : '');\n}\nfunction int(value) {\n return parseInt(value, 10);\n}\n\n/**\n * https://en.wikipedia.org/wiki/Collinearity\n * x=(x1+x2)/2\n * y=(y1+y2)/2\n */\nexport function checkCollinear(p0, p1, p2) {\n return int(p0.x + p2.x) === int(2 * p1.x) && int(p0.y + p2.y) === int(2 * p1.y);\n}\nexport function getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\nexport function moveTo(to, from, radius) {\n const vector = {\n x: to.x - from.x,\n y: to.y - from.y\n };\n const length = Math.sqrt(vector.x * vector.x + vector.y * vector.y);\n const unitVector = {\n x: vector.x / length,\n y: vector.y / length\n };\n return {\n x: from.x + unitVector.x * radius,\n y: from.y + unitVector.y * radius\n };\n}\n//# sourceMappingURL=path.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Utilities\nimport { computed, nextTick, ref, watch } from 'vue';\nimport { makeLineProps } from \"./util/line.mjs\";\nimport { genPath as _genPath } from \"./util/path.mjs\";\nimport { genericComponent, getPropertyFromItem, getUid, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVTrendlineProps = propsFactory({\n fill: Boolean,\n ...makeLineProps()\n}, 'VTrendline');\nexport const VTrendline = genericComponent()({\n name: 'VTrendline',\n props: makeVTrendlineProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const uid = getUid();\n const id = computed(() => props.id || `trendline-${uid}`);\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || (props.fill ? 500 : 2000));\n const lastLength = ref(0);\n const path = ref(null);\n function genPoints(values, boundary) {\n const {\n minX,\n maxX,\n minY,\n maxY\n } = boundary;\n const totalValues = values.length;\n const maxValue = props.max != null ? Number(props.max) : Math.max(...values);\n const minValue = props.min != null ? Number(props.min) : Math.min(...values);\n const gridX = (maxX - minX) / (totalValues - 1);\n const gridY = (maxY - minY) / (maxValue - minValue || 1);\n return values.map((value, index) => {\n return {\n x: minX + index * gridX,\n y: maxY - (value - minValue) * gridY,\n value\n };\n });\n }\n const hasLabels = computed(() => {\n return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);\n });\n const lineWidth = computed(() => {\n return parseFloat(props.lineWidth) || 4;\n });\n const totalWidth = computed(() => Number(props.width));\n const boundary = computed(() => {\n const padding = Number(props.padding);\n return {\n minX: padding,\n maxX: totalWidth.value - padding,\n minY: padding,\n maxY: parseInt(props.height, 10) - padding\n };\n });\n const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)));\n const parsedLabels = computed(() => {\n const labels = [];\n const points = genPoints(items.value, boundary.value);\n const len = points.length;\n for (let i = 0; labels.length < len; i++) {\n const item = points[i];\n let value = props.labels[i];\n if (!value) {\n value = typeof item === 'object' ? item.value : item;\n }\n labels.push({\n x: item.x,\n value: String(value)\n });\n }\n return labels;\n });\n watch(() => props.modelValue, async () => {\n await nextTick();\n if (!props.autoDraw || !path.value) return;\n const pathRef = path.value;\n const length = pathRef.getTotalLength();\n if (!props.fill) {\n // Initial setup to \"hide\" the line by using the stroke dash array\n pathRef.style.strokeDasharray = `${length}`;\n pathRef.style.strokeDashoffset = `${length}`;\n\n // Force reflow to ensure the transition starts from this state\n pathRef.getBoundingClientRect();\n\n // Animate the stroke dash offset to \"draw\" the line\n pathRef.style.transition = `stroke-dashoffset ${autoDrawDuration.value}ms ${props.autoDrawEasing}`;\n pathRef.style.strokeDashoffset = '0';\n } else {\n // Your existing logic for filled paths remains the same\n pathRef.style.transformOrigin = 'bottom center';\n pathRef.style.transition = 'none';\n pathRef.style.transform = `scaleY(0)`;\n pathRef.getBoundingClientRect();\n pathRef.style.transition = `transform ${autoDrawDuration.value}ms ${props.autoDrawEasing}`;\n pathRef.style.transform = `scaleY(1)`;\n }\n lastLength.value = length;\n }, {\n immediate: true\n });\n function genPath(fill) {\n return _genPath(genPoints(items.value, boundary.value), props.smooth ? 8 : Number(props.smooth), fill, parseInt(props.height, 10));\n }\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();\n return _createVNode(\"svg\", {\n \"display\": \"block\",\n \"stroke-width\": parseFloat(props.lineWidth) ?? 4\n }, [_createVNode(\"defs\", null, [_createVNode(\"linearGradient\", {\n \"id\": id.value,\n \"gradientUnits\": \"userSpaceOnUse\",\n \"x1\": props.gradientDirection === 'left' ? '100%' : '0',\n \"y1\": props.gradientDirection === 'top' ? '100%' : '0',\n \"x2\": props.gradientDirection === 'right' ? '100%' : '0',\n \"y2\": props.gradientDirection === 'bottom' ? '100%' : '0'\n }, [gradientData.map((color, index) => _createVNode(\"stop\", {\n \"offset\": index / Math.max(gradientData.length - 1, 1),\n \"stop-color\": color || 'currentColor'\n }, null))])]), hasLabels.value && _createVNode(\"g\", {\n \"key\": \"labels\",\n \"style\": {\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor'\n }\n }, [parsedLabels.value.map((item, i) => _createVNode(\"text\", {\n \"x\": item.x + lineWidth.value / 2 + lineWidth.value / 2,\n \"y\": parseInt(props.height, 10) - 4 + (parseInt(props.labelSize, 10) || 7 * 0.75),\n \"font-size\": Number(props.labelSize) || 7\n }, [slots.label?.({\n index: i,\n value: item.value\n }) ?? item.value]))]), _createVNode(\"path\", {\n \"ref\": path,\n \"d\": genPath(props.fill),\n \"fill\": props.fill ? `url(#${id.value})` : 'none',\n \"stroke\": props.fill ? 'none' : `url(#${id.value})`\n }, null), props.fill && _createVNode(\"path\", {\n \"d\": genPath(false),\n \"fill\": \"none\",\n \"stroke\": props.color ?? props.gradient?.[0]\n }, null)]);\n });\n }\n});\n//# sourceMappingURL=VTrendline.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVBarlineProps, VBarline } from \"./VBarline.mjs\";\nimport { makeVTrendlineProps, VTrendline } from \"./VTrendline.mjs\"; // Composables\nimport { useTextColor } from \"../../composables/color.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\n// Types\n\nexport const makeVSparklineProps = propsFactory({\n type: {\n type: String,\n default: 'trend'\n },\n ...makeVBarlineProps(),\n ...makeVTrendlineProps()\n}, 'VSparkline');\nexport const VSparkline = genericComponent()({\n name: 'VSparkline',\n props: makeVSparklineProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n textColorClasses,\n textColorStyles\n } = useTextColor(toRef(props, 'color'));\n const hasLabels = computed(() => {\n return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);\n });\n const totalHeight = computed(() => {\n let height = parseInt(props.height, 10);\n if (hasLabels.value) height += parseInt(props.labelSize, 10) * 1.5;\n return height;\n });\n useRender(() => {\n const Tag = props.type === 'trend' ? VTrendline : VBarline;\n const lineProps = props.type === 'trend' ? VTrendline.filterProps(props) : VBarline.filterProps(props);\n return _createVNode(Tag, _mergeProps({\n \"key\": props.type,\n \"class\": textColorClasses.value,\n \"style\": textColorStyles.value,\n \"viewBox\": `0 0 ${props.width} ${parseInt(totalHeight.value, 10)}`\n }, lineProps), slots);\n });\n }\n});\n//# sourceMappingURL=VSparkline.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSpeedDial.css\";\n\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { makeVMenuProps, VMenu } from \"../VMenu/VMenu.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { MaybeTransition } from \"../../composables/transition.mjs\"; // Utilities\nimport { computed, ref } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVSpeedDialProps = propsFactory({\n ...makeComponentProps(),\n ...makeVMenuProps({\n offset: 8,\n minWidth: 0,\n openDelay: 0,\n closeDelay: 100,\n location: 'top center',\n transition: 'scale-transition'\n })\n}, 'VSpeedDial');\nexport const VSpeedDial = genericComponent()({\n name: 'VSpeedDial',\n props: makeVSpeedDialProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const menuRef = ref();\n const location = computed(() => {\n const [y, x = 'center'] = props.location?.split(' ') ?? [];\n return `${y} ${x}`;\n });\n const locationClasses = computed(() => ({\n [`v-speed-dial__content--${location.value.replace(' ', '-')}`]: true\n }));\n useRender(() => {\n const menuProps = VMenu.filterProps(props);\n return _createVNode(VMenu, _mergeProps(menuProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": props.class,\n \"style\": props.style,\n \"contentClass\": ['v-speed-dial__content', locationClasses.value, props.contentClass],\n \"location\": location.value,\n \"ref\": menuRef,\n \"transition\": \"fade-transition\"\n }), {\n ...slots,\n default: slotProps => _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n size: 'small'\n }\n }\n }, {\n default: () => [_createVNode(MaybeTransition, {\n \"appear\": true,\n \"group\": true,\n \"transition\": props.transition\n }, {\n default: () => [slots.default?.(slotProps)]\n })]\n })\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VSpeedDial.mjs.map","// Types\n\nexport const VStepperSymbol = Symbol.for('vuetify:v-stepper');\n//# sourceMappingURL=shared.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Components\nimport { VBtn } from \"../VBtn/VBtn.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\"; // Composables\nimport { useLocale } from \"../../composables/locale.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVStepperActionsProps = propsFactory({\n color: String,\n disabled: {\n type: [Boolean, String],\n default: false\n },\n prevText: {\n type: String,\n default: '$vuetify.stepper.prev'\n },\n nextText: {\n type: String,\n default: '$vuetify.stepper.next'\n }\n}, 'VStepperActions');\nexport const VStepperActions = genericComponent()({\n name: 'VStepperActions',\n props: makeVStepperActionsProps(),\n emits: {\n 'click:prev': () => true,\n 'click:next': () => true\n },\n setup(props, _ref) {\n let {\n emit,\n slots\n } = _ref;\n const {\n t\n } = useLocale();\n function onClickPrev() {\n emit('click:prev');\n }\n function onClickNext() {\n emit('click:next');\n }\n useRender(() => {\n const prevSlotProps = {\n onClick: onClickPrev\n };\n const nextSlotProps = {\n onClick: onClickNext\n };\n return _createVNode(\"div\", {\n \"class\": \"v-stepper-actions\"\n }, [_createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n disabled: ['prev', true].includes(props.disabled),\n text: t(props.prevText),\n variant: 'text'\n }\n }\n }, {\n default: () => [slots.prev?.({\n props: prevSlotProps\n }) ?? _createVNode(VBtn, prevSlotProps, null)]\n }), _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VBtn: {\n color: props.color,\n disabled: ['next', true].includes(props.disabled),\n text: t(props.nextText),\n variant: 'tonal'\n }\n }\n }, {\n default: () => [slots.next?.({\n props: nextSlotProps\n }) ?? _createVNode(VBtn, nextSlotProps, null)]\n })]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VStepperActions.mjs.map","// Utilities\nimport { createSimpleFunctional } from \"../../util/index.mjs\";\nexport const VStepperHeader = createSimpleFunctional('v-stepper-header');\n//# sourceMappingURL=VStepperHeader.mjs.map","import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VStepperItem.css\";\n\n// Components\nimport { VAvatar } from \"../VAvatar/VAvatar.mjs\";\nimport { VIcon } from \"../VIcon/VIcon.mjs\"; // Composables\nimport { makeGroupItemProps, useGroupItem } from \"../../composables/group.mjs\";\nimport { genOverlays } from \"../../composables/variant.mjs\"; // Directives\nimport { Ripple } from \"../../directives/ripple/index.mjs\"; // Utilities\nimport { computed } from 'vue';\nimport { VStepperSymbol } from \"./shared.mjs\";\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeStepperItemProps = propsFactory({\n color: String,\n title: String,\n subtitle: String,\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete'\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit'\n },\n error: Boolean,\n errorIcon: {\n type: String,\n default: '$error'\n },\n icon: String,\n ripple: {\n type: [Boolean, Object],\n default: true\n },\n rules: {\n type: Array,\n default: () => []\n }\n}, 'StepperItem');\nexport const makeVStepperItemProps = propsFactory({\n ...makeStepperItemProps(),\n ...makeGroupItemProps()\n}, 'VStepperItem');\nexport const VStepperItem = genericComponent()({\n name: 'VStepperItem',\n directives: {\n Ripple\n },\n props: makeVStepperItemProps(),\n emits: {\n 'group:selected': val => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const group = useGroupItem(props, VStepperSymbol, true);\n const step = computed(() => group?.value.value ?? props.value);\n const isValid = computed(() => props.rules.every(handler => handler() === true));\n const isClickable = computed(() => !props.disabled && props.editable);\n const canEdit = computed(() => !props.disabled && props.editable);\n const hasError = computed(() => props.error || !isValid.value);\n const hasCompleted = computed(() => props.complete || props.rules.length > 0 && isValid.value);\n const icon = computed(() => {\n if (hasError.value) return props.errorIcon;\n if (hasCompleted.value) return props.completeIcon;\n if (group.isSelected.value && props.editable) return props.editIcon;\n return props.icon;\n });\n const slotProps = computed(() => ({\n canEdit: canEdit.value,\n hasError: hasError.value,\n hasCompleted: hasCompleted.value,\n title: props.title,\n subtitle: props.subtitle,\n step: step.value,\n value: props.value\n }));\n useRender(() => {\n const hasColor = (!group || group.isSelected.value || hasCompleted.value || canEdit.value) && !hasError.value && !props.disabled;\n const hasTitle = !!(props.title != null || slots.title);\n const hasSubtitle = !!(props.subtitle != null || slots.subtitle);\n function onClick() {\n group?.toggle();\n }\n return _withDirectives(_createVNode(\"button\", {\n \"class\": ['v-stepper-item', {\n 'v-stepper-item--complete': hasCompleted.value,\n 'v-stepper-item--disabled': props.disabled,\n 'v-stepper-item--error': hasError.value\n }, group?.selectedClass.value],\n \"disabled\": !props.editable,\n \"onClick\": onClick\n }, [isClickable.value && genOverlays(true, 'v-stepper-item'), _createVNode(VAvatar, {\n \"key\": \"stepper-avatar\",\n \"class\": \"v-stepper-item__avatar\",\n \"color\": hasColor ? props.color : undefined,\n \"size\": 24\n }, {\n default: () => [slots.icon?.(slotProps.value) ?? (icon.value ? _createVNode(VIcon, {\n \"icon\": icon.value\n }, null) : step.value)]\n }), _createVNode(\"div\", {\n \"class\": \"v-stepper-item__content\"\n }, [hasTitle && _createVNode(\"div\", {\n \"key\": \"title\",\n \"class\": \"v-stepper-item__title\"\n }, [slots.title?.(slotProps.value) ?? props.title]), hasSubtitle && _createVNode(\"div\", {\n \"key\": \"subtitle\",\n \"class\": \"v-stepper-item__subtitle\"\n }, [slots.subtitle?.(slotProps.value) ?? props.subtitle]), slots.default?.(slotProps.value)])]), [[_resolveDirective(\"ripple\"), props.ripple && props.editable, null]]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VStepperItem.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { VStepperSymbol } from \"./shared.mjs\";\nimport { makeVWindowProps, VWindow } from \"../VWindow/VWindow.mjs\"; // Composables\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVStepperWindowProps = propsFactory({\n ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory'])\n}, 'VStepperWindow');\nexport const VStepperWindow = genericComponent()({\n name: 'VStepperWindow',\n props: makeVStepperWindowProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const group = inject(VStepperSymbol, null);\n const _model = useProxiedModel(props, 'modelValue');\n const model = computed({\n get() {\n // Always return modelValue if defined\n // or if not within a VStepper group\n if (_model.value != null || !group) return _model.value;\n\n // If inside of a VStepper, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value;\n },\n set(val) {\n _model.value = val;\n }\n });\n useRender(() => {\n const windowProps = VWindow.filterProps(props);\n return _createVNode(VWindow, _mergeProps({\n \"_as\": \"VStepperWindow\"\n }, windowProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-stepper-window', props.class],\n \"style\": props.style,\n \"mandatory\": false,\n \"touch\": false\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VStepperWindow.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVWindowItemProps, VWindowItem } from \"../VWindow/VWindowItem.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVStepperWindowItemProps = propsFactory({\n ...makeVWindowItemProps()\n}, 'VStepperWindowItem');\nexport const VStepperWindowItem = genericComponent()({\n name: 'VStepperWindowItem',\n props: makeVStepperWindowItemProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const windowItemProps = VWindowItem.filterProps(props);\n return _createVNode(VWindowItem, _mergeProps({\n \"_as\": \"VStepperWindowItem\"\n }, windowItemProps, {\n \"class\": ['v-stepper-window-item', props.class],\n \"style\": props.style\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VStepperWindowItem.mjs.map","import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VStepper.css\";\n\n// Components\nimport { VStepperSymbol } from \"./shared.mjs\";\nimport { makeVStepperActionsProps, VStepperActions } from \"./VStepperActions.mjs\";\nimport { VStepperHeader } from \"./VStepperHeader.mjs\";\nimport { VStepperItem } from \"./VStepperItem.mjs\";\nimport { VStepperWindow } from \"./VStepperWindow.mjs\";\nimport { VStepperWindowItem } from \"./VStepperWindowItem.mjs\";\nimport { VDivider } from \"../VDivider/index.mjs\";\nimport { makeVSheetProps, VSheet } from \"../VSheet/VSheet.mjs\"; // Composables\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDisplayProps, useDisplay } from \"../../composables/display.mjs\";\nimport { makeGroupProps, useGroup } from \"../../composables/group.mjs\"; // Utilities\nimport { computed, toRefs } from 'vue';\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n completeIcon: String,\n editIcon: String,\n editable: Boolean,\n errorIcon: String,\n hideActions: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n itemTitle: {\n type: String,\n default: 'title'\n },\n itemValue: {\n type: String,\n default: 'value'\n },\n nonLinear: Boolean,\n flat: Boolean,\n ...makeDisplayProps()\n}, 'Stepper');\nexport const makeVStepperProps = propsFactory({\n ...makeStepperProps(),\n ...makeGroupProps({\n mandatory: 'force',\n selectedClass: 'v-stepper-item--selected'\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText'])\n}, 'VStepper');\nexport const VStepper = genericComponent()({\n name: 'VStepper',\n props: makeVStepperProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n items: _items,\n next,\n prev,\n selected\n } = useGroup(props, VStepperSymbol);\n const {\n displayClasses,\n mobile\n } = useDisplay(props);\n const {\n completeIcon,\n editIcon,\n errorIcon,\n color,\n editable,\n prevText,\n nextText\n } = toRefs(props);\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item);\n const value = getPropertyFromItem(item, props.itemValue, index + 1);\n return {\n title,\n value,\n raw: item\n };\n }));\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id));\n });\n const disabled = computed(() => {\n if (props.disabled) return props.disabled;\n if (activeIndex.value === 0) return 'prev';\n if (activeIndex.value === _items.value.length - 1) return 'next';\n return false;\n });\n provideDefaults({\n VStepperItem: {\n editable,\n errorIcon,\n completeIcon,\n editIcon,\n prevText,\n nextText\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText\n }\n });\n useRender(() => {\n const sheetProps = VSheet.filterProps(props);\n const hasHeader = !!(slots.header || props.items.length);\n const hasWindow = props.items.length > 0;\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions);\n return _createVNode(VSheet, _mergeProps(sheetProps, {\n \"color\": props.bgColor,\n \"class\": ['v-stepper', {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': mobile.value\n }, displayClasses.value, props.class],\n \"style\": props.style\n }), {\n default: () => [hasHeader && _createVNode(VStepperHeader, {\n \"key\": \"stepper-header\"\n }, {\n default: () => [items.value.map((_ref2, index) => {\n let {\n raw,\n ...item\n } = _ref2;\n return _createVNode(_Fragment, null, [!!index && _createVNode(VDivider, null, null), _createVNode(VStepperItem, item, {\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle\n })]);\n })]\n }), hasWindow && _createVNode(VStepperWindow, {\n \"key\": \"stepper-window\"\n }, {\n default: () => [items.value.map(item => _createVNode(VStepperWindowItem, {\n \"value\": item.value\n }, {\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item)\n }))]\n }), slots.default?.({\n prev,\n next\n }), hasActions && (slots.actions?.({\n next,\n prev\n }) ?? _createVNode(VStepperActions, {\n \"key\": \"stepper-actions\",\n \"onClick:prev\": prev,\n \"onClick:next\": next\n }, slots))]\n });\n });\n return {\n prev,\n next\n };\n }\n});\n//# sourceMappingURL=VStepper.mjs.map","import { mergeProps as _mergeProps, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VSwitch.css\";\n\n// Components\nimport { VScaleTransition } from \"../transitions/index.mjs\";\nimport { VDefaultsProvider } from \"../VDefaultsProvider/VDefaultsProvider.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\";\nimport { VProgressCircular } from \"../VProgressCircular/index.mjs\";\nimport { makeVSelectionControlProps, VSelectionControl } from \"../VSelectionControl/VSelectionControl.mjs\"; // Composables\nimport { useFocus } from \"../../composables/focus.mjs\";\nimport { LoaderSlot, useLoader } from \"../../composables/loader.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, ref } from 'vue';\nimport { filterInputAttrs, genericComponent, getUid, IN_BROWSER, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVSwitchProps = propsFactory({\n indeterminate: Boolean,\n inset: Boolean,\n flat: Boolean,\n loading: {\n type: [Boolean, String],\n default: false\n },\n ...makeVInputProps(),\n ...makeVSelectionControlProps()\n}, 'VSwitch');\nexport const VSwitch = genericComponent()({\n name: 'VSwitch',\n inheritAttrs: false,\n props: makeVSwitchProps(),\n emits: {\n 'update:focused': focused => true,\n 'update:modelValue': value => true,\n 'update:indeterminate': value => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const indeterminate = useProxiedModel(props, 'indeterminate');\n const model = useProxiedModel(props, 'modelValue');\n const {\n loaderClasses\n } = useLoader(props);\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const control = ref();\n const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches;\n const loaderColor = computed(() => {\n return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;\n });\n const uid = getUid();\n const id = computed(() => props.id || `switch-${uid}`);\n function onChange() {\n if (indeterminate.value) {\n indeterminate.value = false;\n }\n }\n function onTrackClick(e) {\n e.stopPropagation();\n e.preventDefault();\n control.value?.input?.click();\n }\n useRender(() => {\n const [rootAttrs, controlAttrs] = filterInputAttrs(attrs);\n const inputProps = VInput.filterProps(props);\n const controlProps = VSelectionControl.filterProps(props);\n return _createVNode(VInput, _mergeProps({\n \"class\": ['v-switch', {\n 'v-switch--flat': props.flat\n }, {\n 'v-switch--inset': props.inset\n }, {\n 'v-switch--indeterminate': indeterminate.value\n }, loaderClasses.value, props.class]\n }, rootAttrs, inputProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"id\": id.value,\n \"focused\": isFocused.value,\n \"style\": props.style\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n messagesId,\n isDisabled,\n isReadonly,\n isValid\n } = _ref2;\n const slotProps = {\n model,\n isValid\n };\n return _createVNode(VSelectionControl, _mergeProps({\n \"ref\": control\n }, controlProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": [$event => model.value = $event, onChange],\n \"id\": id.value,\n \"aria-describedby\": messagesId.value,\n \"type\": \"checkbox\",\n \"aria-checked\": indeterminate.value ? 'mixed' : undefined,\n \"disabled\": isDisabled.value,\n \"readonly\": isReadonly.value,\n \"onFocus\": focus,\n \"onBlur\": blur\n }, controlAttrs), {\n ...slots,\n default: _ref3 => {\n let {\n backgroundColorClasses,\n backgroundColorStyles\n } = _ref3;\n return _createVNode(\"div\", {\n \"class\": ['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],\n \"style\": backgroundColorStyles.value,\n \"onClick\": onTrackClick\n }, [slots['track-true'] && _createVNode(\"div\", {\n \"key\": \"prepend\",\n \"class\": \"v-switch__track-true\"\n }, [slots['track-true'](slotProps)]), slots['track-false'] && _createVNode(\"div\", {\n \"key\": \"append\",\n \"class\": \"v-switch__track-false\"\n }, [slots['track-false'](slotProps)])]);\n },\n input: _ref4 => {\n let {\n inputNode,\n icon,\n backgroundColorClasses,\n backgroundColorStyles\n } = _ref4;\n return _createVNode(_Fragment, null, [inputNode, _createVNode(\"div\", {\n \"class\": ['v-switch__thumb', {\n 'v-switch__thumb--filled': icon || props.loading\n }, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value],\n \"style\": props.inset ? undefined : backgroundColorStyles.value\n }, [slots.thumb ? _createVNode(VDefaultsProvider, {\n \"defaults\": {\n VIcon: {\n icon,\n size: 'x-small'\n }\n }\n }, {\n default: () => [slots.thumb({\n ...slotProps,\n icon\n })]\n }) : _createVNode(VScaleTransition, null, {\n default: () => [!props.loading ? icon && _createVNode(VIcon, {\n \"key\": String(icon),\n \"icon\": icon,\n \"size\": \"x-small\"\n }, null) : _createVNode(LoaderSlot, {\n \"name\": \"v-switch\",\n \"active\": true,\n \"color\": isValid.value === false ? undefined : loaderColor.value\n }, {\n default: slotProps => slots.loader ? slots.loader(slotProps) : _createVNode(VProgressCircular, {\n \"active\": slotProps.isActive,\n \"color\": slotProps.color,\n \"indeterminate\": true,\n \"size\": \"16\",\n \"width\": \"2\"\n }, null)\n })]\n })])]);\n }\n });\n }\n });\n });\n return {};\n }\n});\n//# sourceMappingURL=VSwitch.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VSystemBar.css\";\n\n// Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { makeLayoutItemProps, useLayoutItem } from \"../../composables/layout.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { useSsrBoot } from \"../../composables/ssrBoot.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, shallowRef, toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVSystemBarProps = propsFactory({\n color: String,\n height: [Number, String],\n window: Boolean,\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeLayoutItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VSystemBar');\nexport const VSystemBar = genericComponent()({\n name: 'VSystemBar',\n props: makeVSystemBarProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'color'));\n const {\n elevationClasses\n } = useElevation(props);\n const {\n roundedClasses\n } = useRounded(props);\n const {\n ssrBootStyles\n } = useSsrBoot();\n const height = computed(() => props.height ?? (props.window ? 32 : 24));\n const {\n layoutItemStyles\n } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: shallowRef('top'),\n layoutSize: height,\n elementSize: height,\n active: computed(() => true),\n absolute: toRef(props, 'absolute')\n });\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-system-bar', {\n 'v-system-bar--window': props.window\n }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class],\n \"style\": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VSystemBar.mjs.map","// Types\n\nexport const VTabsSymbol = Symbol.for('vuetify:v-tabs');\n//# sourceMappingURL=shared.mjs.map","import { mergeProps as _mergeProps, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VTab.css\";\n\n// Components\nimport { makeVBtnProps, VBtn } from \"../VBtn/VBtn.mjs\"; // Composables\nimport { useTextColor } from \"../../composables/color.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\"; // Utilities\nimport { computed, ref } from 'vue';\nimport { VTabsSymbol } from \"./shared.mjs\";\nimport { animate, genericComponent, omit, propsFactory, standardEasing, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVTabProps = propsFactory({\n fixed: Boolean,\n sliderColor: String,\n hideSlider: Boolean,\n direction: {\n type: String,\n default: 'horizontal'\n },\n ...omit(makeVBtnProps({\n selectedClass: 'v-tab--selected',\n variant: 'text'\n }), ['active', 'block', 'flat', 'location', 'position', 'symbol'])\n}, 'VTab');\nexport const VTab = genericComponent()({\n name: 'VTab',\n props: makeVTabProps(),\n setup(props, _ref) {\n let {\n slots,\n attrs\n } = _ref;\n const {\n textColorClasses: sliderColorClasses,\n textColorStyles: sliderColorStyles\n } = useTextColor(props, 'sliderColor');\n const rootEl = ref();\n const sliderEl = ref();\n const isHorizontal = computed(() => props.direction === 'horizontal');\n const isSelected = computed(() => rootEl.value?.group?.isSelected.value ?? false);\n function updateSlider(_ref2) {\n let {\n value\n } = _ref2;\n if (value) {\n const prevEl = rootEl.value?.$el.parentElement?.querySelector('.v-tab--selected .v-tab__slider');\n const nextEl = sliderEl.value;\n if (!prevEl || !nextEl) return;\n const color = getComputedStyle(prevEl).color;\n const prevBox = prevEl.getBoundingClientRect();\n const nextBox = nextEl.getBoundingClientRect();\n const xy = isHorizontal.value ? 'x' : 'y';\n const XY = isHorizontal.value ? 'X' : 'Y';\n const rightBottom = isHorizontal.value ? 'right' : 'bottom';\n const widthHeight = isHorizontal.value ? 'width' : 'height';\n const prevPos = prevBox[xy];\n const nextPos = nextBox[xy];\n const delta = prevPos > nextPos ? prevBox[rightBottom] - nextBox[rightBottom] : prevBox[xy] - nextBox[xy];\n const origin = Math.sign(delta) > 0 ? isHorizontal.value ? 'right' : 'bottom' : Math.sign(delta) < 0 ? isHorizontal.value ? 'left' : 'top' : 'center';\n const size = Math.abs(delta) + (Math.sign(delta) < 0 ? prevBox[widthHeight] : nextBox[widthHeight]);\n const scale = size / Math.max(prevBox[widthHeight], nextBox[widthHeight]) || 0;\n const initialScale = prevBox[widthHeight] / nextBox[widthHeight] || 0;\n const sigma = 1.5;\n animate(nextEl, {\n backgroundColor: [color, 'currentcolor'],\n transform: [`translate${XY}(${delta}px) scale${XY}(${initialScale})`, `translate${XY}(${delta / sigma}px) scale${XY}(${(scale - 1) / sigma + 1})`, 'none'],\n transformOrigin: Array(3).fill(origin)\n }, {\n duration: 225,\n easing: standardEasing\n });\n }\n }\n useRender(() => {\n const btnProps = VBtn.filterProps(props);\n return _createVNode(VBtn, _mergeProps({\n \"symbol\": VTabsSymbol,\n \"ref\": rootEl,\n \"class\": ['v-tab', props.class],\n \"style\": props.style,\n \"tabindex\": isSelected.value ? 0 : -1,\n \"role\": \"tab\",\n \"aria-selected\": String(isSelected.value),\n \"active\": false\n }, btnProps, attrs, {\n \"block\": props.fixed,\n \"maxWidth\": props.fixed ? 300 : undefined,\n \"onGroup:selected\": updateSlider\n }), {\n ...slots,\n default: () => _createVNode(_Fragment, null, [slots.default?.() ?? props.text, !props.hideSlider && _createVNode(\"div\", {\n \"ref\": sliderEl,\n \"class\": ['v-tab__slider', sliderColorClasses.value],\n \"style\": sliderColorStyles.value\n }, null)])\n });\n });\n return forwardRefs({}, rootEl);\n }\n});\n//# sourceMappingURL=VTab.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVWindowProps, VWindow } from \"../VWindow/VWindow.mjs\"; // Composables\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Utilities\nimport { computed, inject } from 'vue';\nimport { genericComponent, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nimport { VTabsSymbol } from \"./shared.mjs\";\nexport const makeVTabsWindowProps = propsFactory({\n ...omit(makeVWindowProps(), ['continuous', 'nextIcon', 'prevIcon', 'showArrows', 'touch', 'mandatory'])\n}, 'VTabsWindow');\nexport const VTabsWindow = genericComponent()({\n name: 'VTabsWindow',\n props: makeVTabsWindowProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const group = inject(VTabsSymbol, null);\n const _model = useProxiedModel(props, 'modelValue');\n const model = computed({\n get() {\n // Always return modelValue if defined\n // or if not within a VTabs group\n if (_model.value != null || !group) return _model.value;\n\n // If inside of a VTabs, find the currently selected\n // item by id. Item value may be assigned by its index\n return group.items.value.find(item => group.selected.value.includes(item.id))?.value;\n },\n set(val) {\n _model.value = val;\n }\n });\n useRender(() => {\n const windowProps = VWindow.filterProps(props);\n return _createVNode(VWindow, _mergeProps({\n \"_as\": \"VTabsWindow\"\n }, windowProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-tabs-window', props.class],\n \"style\": props.style,\n \"mandatory\": false,\n \"touch\": false\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VTabsWindow.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from \"vue\";\n// Components\nimport { makeVWindowItemProps, VWindowItem } from \"../VWindow/VWindowItem.mjs\"; // Utilities\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVTabsWindowItemProps = propsFactory({\n ...makeVWindowItemProps()\n}, 'VTabsWindowItem');\nexport const VTabsWindowItem = genericComponent()({\n name: 'VTabsWindowItem',\n props: makeVTabsWindowItemProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n useRender(() => {\n const windowItemProps = VWindowItem.filterProps(props);\n return _createVNode(VWindowItem, _mergeProps({\n \"_as\": \"VTabsWindowItem\"\n }, windowItemProps, {\n \"class\": ['v-tabs-window-item', props.class],\n \"style\": props.style\n }), slots);\n });\n return {};\n }\n});\n//# sourceMappingURL=VTabsWindowItem.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VTabs.css\";\n\n// Components\nimport { VTab } from \"./VTab.mjs\";\nimport { VTabsWindow } from \"./VTabsWindow.mjs\";\nimport { VTabsWindowItem } from \"./VTabsWindowItem.mjs\";\nimport { makeVSlideGroupProps, VSlideGroup } from \"../VSlideGroup/VSlideGroup.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { convertToUnit, genericComponent, isObject, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nimport { VTabsSymbol } from \"./shared.mjs\";\nfunction parseItems(items) {\n if (!items) return [];\n return items.map(item => {\n if (!isObject(item)) return {\n text: item,\n value: item\n };\n return item;\n });\n}\nexport const makeVTabsProps = propsFactory({\n alignTabs: {\n type: String,\n default: 'start'\n },\n color: String,\n fixedTabs: Boolean,\n items: {\n type: Array,\n default: () => []\n },\n stacked: Boolean,\n bgColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined\n },\n hideSlider: Boolean,\n sliderColor: String,\n ...makeVSlideGroupProps({\n mandatory: 'force',\n selectedClass: 'v-tab-item--selected'\n }),\n ...makeDensityProps(),\n ...makeTagProps()\n}, 'VTabs');\nexport const VTabs = genericComponent()({\n name: 'VTabs',\n props: makeVTabsProps(),\n emits: {\n 'update:modelValue': v => true\n },\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const items = computed(() => parseItems(props.items));\n const {\n densityClasses\n } = useDensity(props);\n const {\n backgroundColorClasses,\n backgroundColorStyles\n } = useBackgroundColor(toRef(props, 'bgColor'));\n const {\n scopeId\n } = useScopeId();\n provideDefaults({\n VTab: {\n color: toRef(props, 'color'),\n direction: toRef(props, 'direction'),\n stacked: toRef(props, 'stacked'),\n fixed: toRef(props, 'fixedTabs'),\n sliderColor: toRef(props, 'sliderColor'),\n hideSlider: toRef(props, 'hideSlider')\n }\n });\n useRender(() => {\n const slideGroupProps = VSlideGroup.filterProps(props);\n const hasWindow = !!(slots.window || props.items.length > 0);\n return _createVNode(_Fragment, null, [_createVNode(VSlideGroup, _mergeProps(slideGroupProps, {\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-tabs', `v-tabs--${props.direction}`, `v-tabs--align-tabs-${props.alignTabs}`, {\n 'v-tabs--fixed-tabs': props.fixedTabs,\n 'v-tabs--grow': props.grow,\n 'v-tabs--stacked': props.stacked\n }, densityClasses.value, backgroundColorClasses.value, props.class],\n \"style\": [{\n '--v-tabs-height': convertToUnit(props.height)\n }, backgroundColorStyles.value, props.style],\n \"role\": \"tablist\",\n \"symbol\": VTabsSymbol\n }, scopeId, attrs), {\n default: () => [slots.default?.() ?? items.value.map(item => slots.tab?.({\n item\n }) ?? _createVNode(VTab, _mergeProps(item, {\n \"key\": item.text,\n \"value\": item.value\n }), {\n default: slots[`tab.${item.value}`] ? () => slots[`tab.${item.value}`]?.({\n item\n }) : undefined\n }))]\n }), hasWindow && _createVNode(VTabsWindow, _mergeProps({\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"key\": \"tabs-window\"\n }, scopeId), {\n default: () => [items.value.map(item => slots.item?.({\n item\n }) ?? _createVNode(VTabsWindowItem, {\n \"value\": item.value\n }, {\n default: () => slots[`item.${item.value}`]?.({\n item\n })\n })), slots.window?.()]\n })]);\n });\n return {};\n }\n});\n//# sourceMappingURL=VTabs.mjs.map","import { vModelText as _vModelText, withDirectives as _withDirectives, mergeProps as _mergeProps, resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\n// Styles\nimport \"./VTextarea.css\";\nimport \"../VTextField/VTextField.css\";\n\n// Components\nimport { VCounter } from \"../VCounter/VCounter.mjs\";\nimport { VField } from \"../VField/index.mjs\";\nimport { filterFieldProps, makeVFieldProps } from \"../VField/VField.mjs\";\nimport { makeVInputProps, VInput } from \"../VInput/VInput.mjs\"; // Composables\nimport { useFocus } from \"../../composables/focus.mjs\";\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\"; // Directives\nimport Intersect from \"../../directives/intersect/index.mjs\"; // Utilities\nimport { computed, nextTick, onBeforeUnmount, onMounted, ref, shallowRef, watch, watchEffect } from 'vue';\nimport { callEvent, clamp, convertToUnit, filterInputAttrs, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVTextareaProps = propsFactory({\n autoGrow: Boolean,\n autofocus: Boolean,\n counter: [Boolean, Number, String],\n counterValue: Function,\n prefix: String,\n placeholder: String,\n persistentPlaceholder: Boolean,\n persistentCounter: Boolean,\n noResize: Boolean,\n rows: {\n type: [Number, String],\n default: 5,\n validator: v => !isNaN(parseFloat(v))\n },\n maxRows: {\n type: [Number, String],\n validator: v => !isNaN(parseFloat(v))\n },\n suffix: String,\n modelModifiers: Object,\n ...makeVInputProps(),\n ...makeVFieldProps()\n}, 'VTextarea');\nexport const VTextarea = genericComponent()({\n name: 'VTextarea',\n directives: {\n Intersect\n },\n inheritAttrs: false,\n props: makeVTextareaProps(),\n emits: {\n 'click:control': e => true,\n 'mousedown:control': e => true,\n 'update:focused': focused => true,\n 'update:modelValue': val => true\n },\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const model = useProxiedModel(props, 'modelValue');\n const {\n isFocused,\n focus,\n blur\n } = useFocus(props);\n const counterValue = computed(() => {\n return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value || '').toString().length;\n });\n const max = computed(() => {\n if (attrs.maxlength) return attrs.maxlength;\n if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;\n return props.counter;\n });\n function onIntersect(isIntersecting, entries) {\n if (!props.autofocus || !isIntersecting) return;\n entries[0].target?.focus?.();\n }\n const vInputRef = ref();\n const vFieldRef = ref();\n const controlHeight = shallowRef('');\n const textareaRef = ref();\n const isActive = computed(() => props.persistentPlaceholder || isFocused.value || props.active);\n function onFocus() {\n if (textareaRef.value !== document.activeElement) {\n textareaRef.value?.focus();\n }\n if (!isFocused.value) focus();\n }\n function onControlClick(e) {\n onFocus();\n emit('click:control', e);\n }\n function onControlMousedown(e) {\n emit('mousedown:control', e);\n }\n function onClear(e) {\n e.stopPropagation();\n onFocus();\n nextTick(() => {\n model.value = '';\n callEvent(props['onClick:clear'], e);\n });\n }\n function onInput(e) {\n const el = e.target;\n model.value = el.value;\n if (props.modelModifiers?.trim) {\n const caretPosition = [el.selectionStart, el.selectionEnd];\n nextTick(() => {\n el.selectionStart = caretPosition[0];\n el.selectionEnd = caretPosition[1];\n });\n }\n }\n const sizerRef = ref();\n const rows = ref(+props.rows);\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));\n watchEffect(() => {\n if (!props.autoGrow) rows.value = +props.rows;\n });\n function calculateInputHeight() {\n if (!props.autoGrow) return;\n nextTick(() => {\n if (!sizerRef.value || !vFieldRef.value) return;\n const style = getComputedStyle(sizerRef.value);\n const fieldStyle = getComputedStyle(vFieldRef.value.$el);\n const padding = parseFloat(style.getPropertyValue('--v-field-padding-top')) + parseFloat(style.getPropertyValue('--v-input-padding-top')) + parseFloat(style.getPropertyValue('--v-field-padding-bottom'));\n const height = sizerRef.value.scrollHeight;\n const lineHeight = parseFloat(style.lineHeight);\n const minHeight = Math.max(parseFloat(props.rows) * lineHeight + padding, parseFloat(fieldStyle.getPropertyValue('--v-input-control-height')));\n const maxHeight = parseFloat(props.maxRows) * lineHeight + padding || Infinity;\n const newHeight = clamp(height ?? 0, minHeight, maxHeight);\n rows.value = Math.floor((newHeight - padding) / lineHeight);\n controlHeight.value = convertToUnit(newHeight);\n });\n }\n onMounted(calculateInputHeight);\n watch(model, calculateInputHeight);\n watch(() => props.rows, calculateInputHeight);\n watch(() => props.maxRows, calculateInputHeight);\n watch(() => props.density, calculateInputHeight);\n let observer;\n watch(sizerRef, val => {\n if (val) {\n observer = new ResizeObserver(calculateInputHeight);\n observer.observe(sizerRef.value);\n } else {\n observer?.disconnect();\n }\n });\n onBeforeUnmount(() => {\n observer?.disconnect();\n });\n useRender(() => {\n const hasCounter = !!(slots.counter || props.counter || props.counterValue);\n const hasDetails = !!(hasCounter || slots.details);\n const [rootAttrs, inputAttrs] = filterInputAttrs(attrs);\n const {\n modelValue: _,\n ...inputProps\n } = VInput.filterProps(props);\n const fieldProps = filterFieldProps(props);\n return _createVNode(VInput, _mergeProps({\n \"ref\": vInputRef,\n \"modelValue\": model.value,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"class\": ['v-textarea v-text-field', {\n 'v-textarea--prefixed': props.prefix,\n 'v-textarea--suffixed': props.suffix,\n 'v-text-field--prefixed': props.prefix,\n 'v-text-field--suffixed': props.suffix,\n 'v-textarea--auto-grow': props.autoGrow,\n 'v-textarea--no-resize': props.noResize || props.autoGrow,\n 'v-input--plain-underlined': isPlainOrUnderlined.value\n }, props.class],\n \"style\": props.style\n }, rootAttrs, inputProps, {\n \"centerAffix\": rows.value === 1 && !isPlainOrUnderlined.value,\n \"focused\": isFocused.value\n }), {\n ...slots,\n default: _ref2 => {\n let {\n id,\n isDisabled,\n isDirty,\n isReadonly,\n isValid\n } = _ref2;\n return _createVNode(VField, _mergeProps({\n \"ref\": vFieldRef,\n \"style\": {\n '--v-textarea-control-height': controlHeight.value\n },\n \"onClick\": onControlClick,\n \"onMousedown\": onControlMousedown,\n \"onClick:clear\": onClear,\n \"onClick:prependInner\": props['onClick:prependInner'],\n \"onClick:appendInner\": props['onClick:appendInner']\n }, fieldProps, {\n \"id\": id.value,\n \"active\": isActive.value || isDirty.value,\n \"centerAffix\": rows.value === 1 && !isPlainOrUnderlined.value,\n \"dirty\": isDirty.value || props.dirty,\n \"disabled\": isDisabled.value,\n \"focused\": isFocused.value,\n \"error\": isValid.value === false\n }), {\n ...slots,\n default: _ref3 => {\n let {\n props: {\n class: fieldClass,\n ...slotProps\n }\n } = _ref3;\n return _createVNode(_Fragment, null, [props.prefix && _createVNode(\"span\", {\n \"class\": \"v-text-field__prefix\"\n }, [props.prefix]), _withDirectives(_createVNode(\"textarea\", _mergeProps({\n \"ref\": textareaRef,\n \"class\": fieldClass,\n \"value\": model.value,\n \"onInput\": onInput,\n \"autofocus\": props.autofocus,\n \"readonly\": isReadonly.value,\n \"disabled\": isDisabled.value,\n \"placeholder\": props.placeholder,\n \"rows\": props.rows,\n \"name\": props.name,\n \"onFocus\": onFocus,\n \"onBlur\": blur\n }, slotProps, inputAttrs), null), [[_resolveDirective(\"intersect\"), {\n handler: onIntersect\n }, null, {\n once: true\n }]]), props.autoGrow && _withDirectives(_createVNode(\"textarea\", {\n \"class\": [fieldClass, 'v-textarea__sizer'],\n \"id\": `${slotProps.id}-sizer`,\n \"onUpdate:modelValue\": $event => model.value = $event,\n \"ref\": sizerRef,\n \"readonly\": true,\n \"aria-hidden\": \"true\"\n }, null), [[_vModelText, model.value]]), props.suffix && _createVNode(\"span\", {\n \"class\": \"v-text-field__suffix\"\n }, [props.suffix])]);\n }\n });\n },\n details: hasDetails ? slotProps => _createVNode(_Fragment, null, [slots.details?.(slotProps), hasCounter && _createVNode(_Fragment, null, [_createVNode(\"span\", null, null), _createVNode(VCounter, {\n \"active\": props.persistentCounter || isFocused.value,\n \"value\": counterValue.value,\n \"max\": max.value,\n \"disabled\": props.disabled\n }, slots.counter)])]) : undefined\n });\n });\n return forwardRefs({}, vInputRef, vFieldRef, textareaRef);\n }\n});\n//# sourceMappingURL=VTextarea.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Styles\nimport \"./VThemeProvider.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { genericComponent, propsFactory } from \"../../util/index.mjs\";\nexport const makeVThemeProviderProps = propsFactory({\n withBackground: Boolean,\n ...makeComponentProps(),\n ...makeThemeProps(),\n ...makeTagProps()\n}, 'VThemeProvider');\nexport const VThemeProvider = genericComponent()({\n name: 'VThemeProvider',\n props: makeVThemeProviderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n return () => {\n if (!props.withBackground) return slots.default?.();\n return _createVNode(props.tag, {\n \"class\": ['v-theme-provider', themeClasses.value, props.class],\n \"style\": props.style\n }, {\n default: () => [slots.default?.()]\n });\n };\n }\n});\n//# sourceMappingURL=VThemeProvider.mjs.map","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VDefaultsProvider } from \"../VDefaultsProvider/index.mjs\";\nimport { VIcon } from \"../VIcon/index.mjs\"; // Composables\nimport { useBackgroundColor } from \"../../composables/color.mjs\";\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeElevationProps, useElevation } from \"../../composables/elevation.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeRoundedProps, useRounded } from \"../../composables/rounded.mjs\";\nimport { makeSizeProps, useSize } from \"../../composables/size.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVTimelineDividerProps = propsFactory({\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n icon: IconValue,\n iconColor: String,\n lineColor: String,\n ...makeComponentProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeElevationProps()\n}, 'VTimelineDivider');\nexport const VTimelineDivider = genericComponent()({\n name: 'VTimelineDivider',\n props: makeVTimelineDividerProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n sizeClasses,\n sizeStyles\n } = useSize(props, 'v-timeline-divider__dot');\n const {\n backgroundColorStyles,\n backgroundColorClasses\n } = useBackgroundColor(toRef(props, 'dotColor'));\n const {\n roundedClasses\n } = useRounded(props, 'v-timeline-divider__dot');\n const {\n elevationClasses\n } = useElevation(props);\n const {\n backgroundColorClasses: lineColorClasses,\n backgroundColorStyles: lineColorStyles\n } = useBackgroundColor(toRef(props, 'lineColor'));\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-timeline-divider', {\n 'v-timeline-divider--fill-dot': props.fillDot\n }, props.class],\n \"style\": props.style\n }, [_createVNode(\"div\", {\n \"class\": ['v-timeline-divider__before', lineColorClasses.value],\n \"style\": lineColorStyles.value\n }, null), !props.hideDot && _createVNode(\"div\", {\n \"key\": \"dot\",\n \"class\": ['v-timeline-divider__dot', elevationClasses.value, roundedClasses.value, sizeClasses.value],\n \"style\": sizeStyles.value\n }, [_createVNode(\"div\", {\n \"class\": ['v-timeline-divider__inner-dot', backgroundColorClasses.value, roundedClasses.value],\n \"style\": backgroundColorStyles.value\n }, [!slots.default ? _createVNode(VIcon, {\n \"key\": \"icon\",\n \"color\": props.iconColor,\n \"icon\": props.icon,\n \"size\": props.size\n }, null) : _createVNode(VDefaultsProvider, {\n \"key\": \"icon-defaults\",\n \"disabled\": !props.icon,\n \"defaults\": {\n VIcon: {\n color: props.iconColor,\n icon: props.icon,\n size: props.size\n }\n }\n }, slots.default)])]), _createVNode(\"div\", {\n \"class\": ['v-timeline-divider__after', lineColorClasses.value],\n \"style\": lineColorStyles.value\n }, null)]));\n return {};\n }\n});\n//# sourceMappingURL=VTimelineDivider.mjs.map","import { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\n// Components\nimport { VTimelineDivider } from \"./VTimelineDivider.mjs\"; // Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { makeDimensionProps, useDimension } from \"../../composables/dimensions.mjs\";\nimport { makeElevationProps } from \"../../composables/elevation.mjs\";\nimport { IconValue } from \"../../composables/icons.mjs\";\nimport { makeRoundedProps } from \"../../composables/rounded.mjs\";\nimport { makeSizeProps } from \"../../composables/size.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\"; // Utilities\nimport { ref, shallowRef, watch } from 'vue';\nimport { convertToUnit, genericComponent, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\n// Types\nexport const makeVTimelineItemProps = propsFactory({\n density: String,\n dotColor: String,\n fillDot: Boolean,\n hideDot: Boolean,\n hideOpposite: {\n type: Boolean,\n default: undefined\n },\n icon: IconValue,\n iconColor: String,\n lineInset: [Number, String],\n ...makeComponentProps(),\n ...makeDimensionProps(),\n ...makeElevationProps(),\n ...makeRoundedProps(),\n ...makeSizeProps(),\n ...makeTagProps()\n}, 'VTimelineItem');\nexport const VTimelineItem = genericComponent()({\n name: 'VTimelineItem',\n props: makeVTimelineItemProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n dimensionStyles\n } = useDimension(props);\n const dotSize = shallowRef(0);\n const dotRef = ref();\n watch(dotRef, newValue => {\n if (!newValue) return;\n dotSize.value = newValue.$el.querySelector('.v-timeline-divider__dot')?.getBoundingClientRect().width ?? 0;\n }, {\n flush: 'post'\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-timeline-item', {\n 'v-timeline-item--fill-dot': props.fillDot\n }, props.class],\n \"style\": [{\n '--v-timeline-dot-size': convertToUnit(dotSize.value),\n '--v-timeline-line-inset': props.lineInset ? `calc(var(--v-timeline-dot-size) / 2 + ${convertToUnit(props.lineInset)})` : convertToUnit(0)\n }, props.style]\n }, [_createVNode(\"div\", {\n \"class\": \"v-timeline-item__body\",\n \"style\": dimensionStyles.value\n }, [slots.default?.()]), _createVNode(VTimelineDivider, {\n \"ref\": dotRef,\n \"hideDot\": props.hideDot,\n \"icon\": props.icon,\n \"iconColor\": props.iconColor,\n \"size\": props.size,\n \"elevation\": props.elevation,\n \"dotColor\": props.dotColor,\n \"fillDot\": props.fillDot,\n \"rounded\": props.rounded\n }, {\n default: slots.icon\n }), props.density !== 'compact' && _createVNode(\"div\", {\n \"class\": \"v-timeline-item__opposite\"\n }, [!props.hideOpposite && slots.opposite?.()])]));\n return {};\n }\n});\n//# sourceMappingURL=VTimelineItem.mjs.map","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\n// Styles\nimport \"./VTimeline.css\";\n\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeDensityProps, useDensity } from \"../../composables/density.mjs\";\nimport { useRtl } from \"../../composables/locale.mjs\";\nimport { makeTagProps } from \"../../composables/tag.mjs\";\nimport { makeThemeProps, provideTheme } from \"../../composables/theme.mjs\"; // Utilities\nimport { computed, toRef } from 'vue';\nimport { convertToUnit, genericComponent, only, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nimport { makeVTimelineItemProps } from \"./VTimelineItem.mjs\";\nexport const makeVTimelineProps = propsFactory({\n align: {\n type: String,\n default: 'center',\n validator: v => ['center', 'start'].includes(v)\n },\n direction: {\n type: String,\n default: 'vertical',\n validator: v => ['vertical', 'horizontal'].includes(v)\n },\n justify: {\n type: String,\n default: 'auto',\n validator: v => ['auto', 'center'].includes(v)\n },\n side: {\n type: String,\n validator: v => v == null || ['start', 'end'].includes(v)\n },\n lineThickness: {\n type: [String, Number],\n default: 2\n },\n lineColor: String,\n truncateLine: {\n type: String,\n validator: v => ['start', 'end', 'both'].includes(v)\n },\n ...only(makeVTimelineItemProps({\n lineInset: 0\n }), ['dotColor', 'fillDot', 'hideOpposite', 'iconColor', 'lineInset', 'size']),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeTagProps(),\n ...makeThemeProps()\n}, 'VTimeline');\nexport const VTimeline = genericComponent()({\n name: 'VTimeline',\n props: makeVTimelineProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const {\n themeClasses\n } = provideTheme(props);\n const {\n densityClasses\n } = useDensity(props);\n const {\n rtlClasses\n } = useRtl();\n provideDefaults({\n VTimelineDivider: {\n lineColor: toRef(props, 'lineColor')\n },\n VTimelineItem: {\n density: toRef(props, 'density'),\n dotColor: toRef(props, 'dotColor'),\n fillDot: toRef(props, 'fillDot'),\n hideOpposite: toRef(props, 'hideOpposite'),\n iconColor: toRef(props, 'iconColor'),\n lineColor: toRef(props, 'lineColor'),\n lineInset: toRef(props, 'lineInset'),\n size: toRef(props, 'size')\n }\n });\n const sideClasses = computed(() => {\n const side = props.side ? props.side : props.density !== 'default' ? 'end' : null;\n return side && `v-timeline--side-${side}`;\n });\n const truncateClasses = computed(() => {\n const classes = ['v-timeline--truncate-line-start', 'v-timeline--truncate-line-end'];\n switch (props.truncateLine) {\n case 'both':\n return classes;\n case 'start':\n return classes[0];\n case 'end':\n return classes[1];\n default:\n return null;\n }\n });\n useRender(() => _createVNode(props.tag, {\n \"class\": ['v-timeline', `v-timeline--${props.direction}`, `v-timeline--align-${props.align}`, `v-timeline--justify-${props.justify}`, truncateClasses.value, {\n 'v-timeline--inset-line': !!props.lineInset\n }, themeClasses.value, densityClasses.value, sideClasses.value, rtlClasses.value, props.class],\n \"style\": [{\n '--v-timeline-line-thickness': convertToUnit(props.lineThickness)\n }, props.style]\n }, slots));\n return {};\n }\n});\n//# sourceMappingURL=VTimeline.mjs.map","import { createVNode as _createVNode } from \"vue\";\n// Composables\nimport { makeComponentProps } from \"../../composables/component.mjs\";\nimport { provideDefaults } from \"../../composables/defaults.mjs\";\nimport { makeVariantProps } from \"../../composables/variant.mjs\"; // Utilities\nimport { toRef } from 'vue';\nimport { genericComponent, propsFactory, useRender } from \"../../util/index.mjs\";\nexport const makeVToolbarItemsProps = propsFactory({\n ...makeComponentProps(),\n ...makeVariantProps({\n variant: 'text'\n })\n}, 'VToolbarItems');\nexport const VToolbarItems = genericComponent()({\n name: 'VToolbarItems',\n props: makeVToolbarItemsProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n provideDefaults({\n VBtn: {\n color: toRef(props, 'color'),\n height: 'inherit',\n variant: toRef(props, 'variant')\n }\n });\n useRender(() => _createVNode(\"div\", {\n \"class\": ['v-toolbar-items', props.class],\n \"style\": props.style\n }, [slots.default?.()]));\n return {};\n }\n});\n//# sourceMappingURL=VToolbarItems.mjs.map","import { createVNode as _createVNode, mergeProps as _mergeProps } from \"vue\";\n// Styles\nimport \"./VTooltip.css\";\n\n// Components\nimport { VOverlay } from \"../VOverlay/index.mjs\";\nimport { makeVOverlayProps } from \"../VOverlay/VOverlay.mjs\"; // Composables\nimport { forwardRefs } from \"../../composables/forwardRefs.mjs\";\nimport { useProxiedModel } from \"../../composables/proxiedModel.mjs\";\nimport { useScopeId } from \"../../composables/scopeId.mjs\"; // Utilities\nimport { computed, mergeProps, ref } from 'vue';\nimport { genericComponent, getUid, omit, propsFactory, useRender } from \"../../util/index.mjs\"; // Types\nexport const makeVTooltipProps = propsFactory({\n id: String,\n text: String,\n ...omit(makeVOverlayProps({\n closeOnBack: false,\n location: 'end',\n locationStrategy: 'connected',\n eager: true,\n minWidth: 0,\n offset: 10,\n openOnClick: false,\n openOnHover: true,\n origin: 'auto',\n scrim: false,\n scrollStrategy: 'reposition',\n transition: false\n }), ['absolute', 'persistent'])\n}, 'VTooltip');\nexport const VTooltip = genericComponent()({\n name: 'VTooltip',\n props: makeVTooltipProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const isActive = useProxiedModel(props, 'modelValue');\n const {\n scopeId\n } = useScopeId();\n const uid = getUid();\n const id = computed(() => props.id || `v-tooltip-${uid}`);\n const overlay = ref();\n const location = computed(() => {\n return props.location.split(' ').length > 1 ? props.location : props.location + ' center';\n });\n const origin = computed(() => {\n return props.origin === 'auto' || props.origin === 'overlap' || props.origin.split(' ').length > 1 || props.location.split(' ').length > 1 ? props.origin : props.origin + ' center';\n });\n const transition = computed(() => {\n if (props.transition) return props.transition;\n return isActive.value ? 'scale-transition' : 'fade-transition';\n });\n const activatorProps = computed(() => mergeProps({\n 'aria-describedby': id.value\n }, props.activatorProps));\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props);\n return _createVNode(VOverlay, _mergeProps({\n \"ref\": overlay,\n \"class\": ['v-tooltip', props.class],\n \"style\": props.style,\n \"id\": id.value\n }, overlayProps, {\n \"modelValue\": isActive.value,\n \"onUpdate:modelValue\": $event => isActive.value = $event,\n \"transition\": transition.value,\n \"absolute\": true,\n \"location\": location.value,\n \"origin\": origin.value,\n \"persistent\": true,\n \"role\": \"tooltip\",\n \"activatorProps\": activatorProps.value,\n \"_disableGlobalStack\": true\n }, scopeId), {\n activator: slots.activator,\n default: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return slots.default?.(...args) ?? props.text;\n }\n });\n });\n return forwardRefs({}, overlay);\n }\n});\n//# sourceMappingURL=VTooltip.mjs.map","// Composables\nimport { makeValidationProps, useValidation } from \"../../composables/validation.mjs\"; // Utilities\nimport { genericComponent } from \"../../util/index.mjs\"; // Types\nexport const VValidation = genericComponent()({\n name: 'VValidation',\n props: makeValidationProps(),\n emits: {\n 'update:modelValue': value => true\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const validation = useValidation(props, 'validation');\n return () => slots.default?.(validation);\n }\n});\n//# sourceMappingURL=VValidation.mjs.map","// Types\n\nfunction mounted(el, binding) {\n const modifiers = binding.modifiers || {};\n const value = binding.value;\n const {\n once,\n immediate,\n ...modifierKeys\n } = modifiers;\n const defaultValue = !Object.keys(modifierKeys).length;\n const {\n handler,\n options\n } = typeof value === 'object' ? value : {\n handler: value,\n options: {\n attributes: modifierKeys?.attr ?? defaultValue,\n characterData: modifierKeys?.char ?? defaultValue,\n childList: modifierKeys?.child ?? defaultValue,\n subtree: modifierKeys?.sub ?? defaultValue\n }\n };\n const observer = new MutationObserver(function () {\n let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let observer = arguments.length > 1 ? arguments[1] : undefined;\n handler?.(mutations, observer);\n if (once) unmounted(el, binding);\n });\n if (immediate) handler?.([], observer);\n el._mutate = Object(el._mutate);\n el._mutate[binding.instance.$.uid] = {\n observer\n };\n observer.observe(el, options);\n}\nfunction unmounted(el, binding) {\n if (!el._mutate?.[binding.instance.$.uid]) return;\n el._mutate[binding.instance.$.uid].observer.disconnect();\n delete el._mutate[binding.instance.$.uid];\n}\nexport const Mutate = {\n mounted,\n unmounted\n};\nexport default Mutate;\n//# sourceMappingURL=index.mjs.map","// Types\n\nfunction mounted(el, binding) {\n const handler = binding.value;\n const options = {\n passive: !binding.modifiers?.active\n };\n window.addEventListener('resize', handler, options);\n el._onResize = Object(el._onResize);\n el._onResize[binding.instance.$.uid] = {\n handler,\n options\n };\n if (!binding.modifiers?.quiet) {\n handler();\n }\n}\nfunction unmounted(el, binding) {\n if (!el._onResize?.[binding.instance.$.uid]) return;\n const {\n handler,\n options\n } = el._onResize[binding.instance.$.uid];\n window.removeEventListener('resize', handler, options);\n delete el._onResize[binding.instance.$.uid];\n}\nexport const Resize = {\n mounted,\n unmounted\n};\nexport default Resize;\n//# sourceMappingURL=index.mjs.map","// Types\n\nfunction mounted(el, binding) {\n const {\n self = false\n } = binding.modifiers ?? {};\n const value = binding.value;\n const options = typeof value === 'object' && value.options || {\n passive: true\n };\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler;\n const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;\n if (!target) return;\n target.addEventListener('scroll', handler, options);\n el._onScroll = Object(el._onScroll);\n el._onScroll[binding.instance.$.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target\n };\n}\nfunction unmounted(el, binding) {\n if (!el._onScroll?.[binding.instance.$.uid]) return;\n const {\n handler,\n options,\n target = el\n } = el._onScroll[binding.instance.$.uid];\n target.removeEventListener('scroll', handler, options);\n delete el._onScroll[binding.instance.$.uid];\n}\nfunction updated(el, binding) {\n if (binding.value === binding.oldValue) return;\n unmounted(el, binding);\n mounted(el, binding);\n}\nexport const Scroll = {\n mounted,\n unmounted,\n updated\n};\nexport default Scroll;\n//# sourceMappingURL=index.mjs.map","// Utilities\nimport { h, mergeProps, render, resolveComponent } from 'vue';\nimport { isObject } from \"../util/index.mjs\"; // Types\nexport function useDirectiveComponent(component, props) {\n const concreteComponent = typeof component === 'string' ? resolveComponent(component) : component;\n const hook = mountComponent(concreteComponent, props);\n return {\n mounted: hook,\n updated: hook,\n unmounted(el) {\n render(null, el);\n }\n };\n}\nfunction mountComponent(component, props) {\n return function (el, binding, vnode) {\n const _props = typeof props === 'function' ? props(binding) : props;\n const text = binding.value?.text ?? binding.value ?? _props?.text;\n const value = isObject(binding.value) ? binding.value : {};\n\n // Get the children from the props or directive value, or the element's children\n const children = () => text ?? el.textContent;\n\n // If vnode.ctx is the same as the instance, then we're bound to a plain element\n // and need to find the nearest parent component instance to inherit provides from\n const provides = (vnode.ctx === binding.instance.$ ? findComponentParent(vnode, binding.instance.$)?.provides : vnode.ctx?.provides) ?? binding.instance.$.provides;\n const node = h(component, mergeProps(_props, value), children);\n node.appContext = Object.assign(Object.create(null), binding.instance.$.appContext, {\n provides\n });\n render(node, el);\n };\n}\nfunction findComponentParent(vnode, root) {\n // Walk the tree from root until we find the child vnode\n const stack = new Set();\n const walk = children => {\n for (const child of children) {\n if (!child) continue;\n if (child === vnode) {\n return true;\n }\n stack.add(child);\n let result;\n if (child.suspense) {\n result = walk([child.ssContent]);\n } else if (Array.isArray(child.children)) {\n result = walk(child.children);\n } else if (child.component?.vnode) {\n result = walk([child.component?.subTree]);\n }\n if (result) {\n return result;\n }\n stack.delete(child);\n }\n return false;\n };\n if (!walk([root.subTree])) {\n throw new Error('Could not find original vnode');\n }\n\n // Return the first component parent\n const result = Array.from(stack).reverse();\n for (const child of result) {\n if (child.component) {\n return child.component;\n }\n }\n return root;\n}\n//# sourceMappingURL=directiveComponent.mjs.map","// Components\nimport { VTooltip } from \"../../components/VTooltip/index.mjs\"; // Composables\nimport { useDirectiveComponent } from \"../../composables/directiveComponent.mjs\"; // Types\nexport const Tooltip = useDirectiveComponent(VTooltip, binding => {\n return {\n activator: 'parent',\n location: binding.arg?.replace('-', ' '),\n text: typeof binding.value === 'boolean' ? undefined : binding.value\n };\n});\nexport default Tooltip;\n//# sourceMappingURL=index.mjs.map","/* eslint-disable max-len */\n// Composables\nimport { VSvgIcon } from \"../composables/icons.mjs\"; // Types\nconst aliases = {\n collapse: 'svg:M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z',\n complete: 'svg:M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z',\n cancel: 'svg:M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n close: 'svg:M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z',\n delete: 'svg:M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n // delete (e.g. v-chip close)\n clear: 'svg:M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n success: 'svg:M12,2C17.52,2 22,6.48 22,12C22,17.52 17.52,22 12,22C6.48,22 2,17.52 2,12C2,6.48 6.48,2 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z',\n info: 'svg:M13,9H11V7H13M13,17H11V11H13M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n warning: 'svg:M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z',\n error: 'svg:M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z',\n prev: 'svg:M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z',\n next: 'svg:M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z',\n checkboxOn: 'svg:M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n checkboxOff: 'svg:M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z',\n checkboxIndeterminate: 'svg:M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z',\n delimiter: 'svg:M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n // for carousel\n sortAsc: 'svg:M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z',\n sortDesc: 'svg:M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z',\n expand: 'svg:M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z',\n menu: 'svg:M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z',\n subgroup: 'svg:M7,10L12,15L17,10H7Z',\n dropdown: 'svg:M7,10L12,15L17,10H7Z',\n radioOn: 'svg:M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2M12,7C9.24,7 7,9.24 7,12C7,14.76 9.24,17 12,17C14.76,17 17,14.76 17,12C17,9.24 14.76,7 12,7Z',\n radioOff: 'svg:M12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20M12,2C6.48,2 2,6.48 2,12C2,17.52 6.48,22 12,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 12,2Z',\n edit: 'svg:M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z',\n ratingEmpty: 'svg:M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n ratingFull: 'svg:M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z',\n ratingHalf: 'svg:M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z',\n loading: 'svg:M19,8L15,12H18C18,15.31 15.31,18 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20C16.42,20 20,16.42 20,12H23M6,12C6,8.69 8.69,6 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4C7.58,4 4,7.58 4,12H1L5,16L9,12',\n first: 'svg:M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z',\n last: 'svg:M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z',\n unfold: 'svg:M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z',\n file: 'svg:M16.5,6V17.5C16.5,19.71 14.71,21.5 12.5,21.5C10.29,21.5 8.5,19.71 8.5,17.5V5C8.5,3.62 9.62,2.5 11,2.5C12.38,2.5 13.5,3.62 13.5,5V15.5C13.5,16.05 13.05,16.5 12.5,16.5C11.95,16.5 11.5,16.05 11.5,15.5V6H10V15.5C10,16.88 11.12,18 12.5,18C13.88,18 15,16.88 15,15.5V5C15,2.79 13.21,1 11,1C8.79,1 7,2.79 7,5V17.5C7,20.54 9.46,23 12.5,23C15.54,23 18,20.54 18,17.5V6H16.5Z',\n plus: 'svg:M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z',\n minus: 'svg:M19,13H5V11H19V13Z',\n calendar: 'svg:M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z',\n treeviewCollapse: 'svg:M7,10L12,15L17,10H7Z',\n treeviewExpand: 'svg:M10,17L15,12L10,7V17Z',\n eyeDropper: 'svg:M19.35,11.72L17.22,13.85L15.81,12.43L8.1,20.14L3.5,22L2,20.5L3.86,15.9L11.57,8.19L10.15,6.78L12.28,4.65L19.35,11.72M16.76,3C17.93,1.83 19.83,1.83 21,3C22.17,4.17 22.17,6.07 21,7.24L19.08,9.16L14.84,4.92L16.76,3M5.56,17.03L4.5,19.5L6.97,18.44L14.4,11L13,9.6L5.56,17.03Z'\n};\nconst mdi = {\n component: VSvgIcon\n};\nexport { aliases, mdi };\n//# sourceMappingURL=mdi-svg.mjs.map","const blue = Object.freeze({\n blue100: '#E8F3FF',\n blue200: '#C1DFFF',\n blue300: '#ADD5FF',\n blue400: '#72B7FF',\n blue500: '#3799FF',\n blue600: '#0071E8',\n blue700: '#0054AD',\n blue800: '#004186',\n blue900: '#1F3A74',\n blue1000: '#0E1B36'\n});\nconst orange = Object.freeze({\n orange100: '#FCE8D9',\n orange200: '#F9D1B5',\n orange300: '#F6BB90',\n orange400: '#F4A46C',\n orange500: '#F18E47',\n orange600: '#EE7723',\n orange700: '#D96411',\n orange800: '#B5530E',\n orange900: '#90420B',\n orange1000: '#6C3108'\n});\nconst neutral = Object.freeze({\n neutral100: '#F9F9F9',\n neutral200: '#E5E5E5',\n neutral300: '#D9D9D9',\n neutral400: '#BEBEBE',\n neutral500: '#ABABAB',\n neutral600: '#979797',\n neutral700: '#7A7A7A',\n neutral800: '#666666',\n neutral900: '#494949',\n neutral1000: '#353535'\n});\nconst green = Object.freeze({\n green000: '#DBF8E4',\n green100: '#26C255',\n green200: '#23B14E',\n green300: '#1FA146',\n green400: '#1C903F',\n green500: '#198038',\n green600: '#167031'\n});\nconst yellow = Object.freeze({\n yellow000: '#FDF1DC',\n yellow100: '#F9CC7E',\n yellow200: '#F8C46C',\n yellow300: '#F7BD59',\n yellow400: '#F6B646',\n yellow500: '#F5AE34',\n yellow600: '#F4A721'\n});\nconst red = Object.freeze({\n red000: '#FCE8E9',\n red100: '#E64C55',\n red200: '#E43B44',\n red300: '#E22A34',\n red400: '#DA1E28',\n red500: '#C91C25',\n red600: '#B81922'\n});\nconst coral = Object.freeze({\n coral000: '#FFE8DE',\n coral100: '#F8D2C1',\n coral200: '#F3B89E',\n coral300: '#EF9F7B',\n coral400: '#EB8558',\n coral500: '#E97846',\n coral600: '#E76B35'\n});\nconst shades = Object.freeze({\n black: '#000000',\n white: '#ffffff',\n transparent: '#ffffff00'\n});\nexport default Object.freeze({\n blue,\n orange,\n neutral,\n green,\n yellow,\n red,\n coral,\n shades\n});\n","import { ref, computed } from 'vue'\n\nconst blueChart = Object.freeze({\n blueChart1000: '#142459',\n blueChart1010: '#174060',\n blueChart1020: '#264FA3',\n blueChart1030: '#176BA0',\n blueChart1040: '#377CB7',\n blueChart1050: '#3474EB',\n blueChart1060: '#19AADE',\n blueChart1070: '#44A5C2',\n blueChart1080: '#1AC9E6',\n blueChart1090: '#72C8F2',\n blueChart2000: '#CFEBF9'\n})\n\nconst tealChart = Object.freeze({\n tealChart1000: '#1999C3',\n tealChart1010: '#19B5C3',\n tealChart1020: '#1BD4D4',\n tealChart1030: '#1DE4BD',\n tealChart1040: '#6DF0D2',\n tealChart1050: '#C7F9EE'\n})\n\nconst purpleChart = Object.freeze({\n purpleChart1010: '#29066B',\n purpleChart1020: '#570088',\n purpleChart1030: '#482B8B',\n purpleChart1040: '#7D298B',\n purpleChart1050: '#7A30AB',\n purpleChart1060: '#7D3AC1',\n purpleChart1070: '#4911F6',\n purpleChart1080: '#721AF2',\n purpleChart1090: '#801FEF',\n purpleChart2000: '#B002B3',\n purpleChart2010: '#BA55D3',\n purpleChart2020: '#D8BFD8'\n})\n\nconst redChart = Object.freeze({\n redChart1000: '#820401',\n redChart1010: '#9C0501',\n redChart1020: '#C02323',\n redChart1030: '#DA313F',\n redChart1040: '#DE542C',\n redChart1050: '#C5580F',\n redChart1060: '#EC553A',\n redChart1070: '#EE6F19',\n redChart1080: '#EF7E32',\n redChart1090: '#EE9319',\n redChart2000: '#F5BE74'\n})\n\nconst greenChart = Object.freeze({\n greenChart1000: '#305A4C',\n greenChart1010: '#25723B',\n greenChart1020: '#1C862D',\n greenChart1030: '#08B30F',\n greenChart1040: '#61CE0A',\n greenChart1050: '#BAEA04',\n sageChart1060: '#5FAB6D',\n sageChart1070: '#8AC777',\n sageChart1080: '#A6D090',\n sageChart1090: '#CCE9B7'\n})\n\nconst brownChart = Object.freeze({\n khakiChart1000: '#5F3B21',\n khakiChart1010: '#704E33',\n khakiChart1020: '#8A6B51',\n khakiChart1030: '#A48B6D',\n mudChart1040: '#985F28',\n mudChart1050: '#CD853F',\n mudChart1060: '#EE9A3A',\n mudChart1070: '#FFAE49'\n})\n\nconst yellowChart = Object.freeze({\n yellowChart1000: '#EABD3B',\n yellowChart1010: '#FFCA00',\n yellowChart1020: '#FFDC00',\n yellowChart1030: '#FFE64E',\n yellowChart1040: '#FFEF89'\n})\n\nconst pinkChart = Object.freeze({\n pinkChart1000: '#B03060',\n pinkChart1010: '#EC3B71',\n pinkChart1020: '#EF5FB0',\n pinkChart1030: '#F8B8DC',\n pinkChart1040: '#DB4CB2',\n pinkChart1050: '#EB48CE',\n pinkChart1060: '#F479F4',\n pinkChart1070: '#FBCCFB'\n})\n\nconst peachChart = Object.freeze({\n peachChart1000: '#EA7369',\n peachChart1010: '#F99C9C',\n peachChart1030: '#F0A58F',\n peachChart1040: '#FCEAE6'\n})\n\nconst grayChart = Object.freeze({\n grayChart1000: '#797979',\n grayChart1010: '#C1C1C1',\n grayChart1020: '#E5E5E5',\n warmGrayChart1030: '#A8A5A3',\n warmGrayChart1040: '#CECCCB',\n warmGrayChart1050: '#E1E0DF',\n coolGrayChart1060: '#8F97AD',\n coolGrayChart1070: '#D3D6DF',\n coolGrayChart1080: '#EAEBF0'\n})\n\nconst colors = ref({\n blueChart,\n tealChart,\n purpleChart,\n redChart,\n greenChart,\n brownChart,\n yellowChart,\n pinkChart,\n peachChart,\n grayChart\n})\n\nexport function useChartColors() {\n const colorGroups = computed(() => Object.keys(colors.value))\n const colorTones = computed(() => {\n const result: any = []\n Object.values(colors.value).forEach((element) => {\n result.push(Object.values(element))\n })\n return result\n })\n\n const getDefinedColors = computed(() => {\n const result = []\n result.push(colors.value.purpleChart.purpleChart1010)\n result.push(colors.value.redChart.redChart1040)\n result.push(colors.value.tealChart.tealChart1030)\n result.push(colors.value.yellowChart.yellowChart1030)\n result.push(colors.value.greenChart.greenChart1010)\n result.push(colors.value.blueChart.blueChart1050)\n result.push(colors.value.grayChart.grayChart1010)\n result.push(colors.value.pinkChart.pinkChart1050)\n result.push(colors.value.brownChart.mudChart1040)\n result.push(colors.value.tealChart.tealChart1010)\n result.push(colors.value.purpleChart.purpleChart2020)\n result.push(colors.value.redChart.redChart1020)\n result.push(colors.value.grayChart.warmGrayChart1030)\n result.push(colors.value.brownChart.khakiChart1000)\n result.push(colors.value.greenChart.greenChart1040)\n result.push(colors.value.brownChart.mudChart1060)\n result.push(colors.value.grayChart.grayChart1000)\n result.push(colors.value.pinkChart.pinkChart1070)\n result.push(colors.value.purpleChart.purpleChart1080)\n result.push(colors.value.yellowChart.yellowChart1040)\n result.push(colors.value.purpleChart.purpleChart1020)\n result.push(colors.value.greenChart.sageChart1080)\n result.push(colors.value.brownChart.mudChart1070)\n result.push(colors.value.blueChart.blueChart1090)\n result.push(colors.value.peachChart.peachChart1010)\n result.push(colors.value.brownChart.khakiChart1010)\n result.push(colors.value.blueChart.blueChart1030)\n result.push(colors.value.greenChart.greenChart1050)\n result.push(colors.value.pinkChart.pinkChart1010)\n result.push(colors.value.grayChart.warmGrayChart1040)\n result.push(colors.value.blueChart.blueChart1000)\n result.push(colors.value.yellowChart.yellowChart1000)\n result.push(colors.value.tealChart.tealChart1040)\n result.push(colors.value.purpleChart.purpleChart1070)\n result.push(colors.value.redChart.redChart1070)\n result.push(colors.value.greenChart.sageChart1070)\n result.push(colors.value.purpleChart.purpleChart1060)\n result.push(colors.value.brownChart.khakiChart1030)\n result.push(colors.value.pinkChart.pinkChart1040)\n result.push(colors.value.peachChart.peachChart1040)\n result.push(colors.value.blueChart.blueChart1010)\n result.push(colors.value.redChart.redChart1050)\n result.push(colors.value.grayChart.coolGrayChart1060)\n result.push(colors.value.tealChart.tealChart1020)\n result.push(colors.value.pinkChart.pinkChart1030)\n result.push(colors.value.greenChart.sageChart1090)\n result.push(colors.value.purpleChart.purpleChart1090)\n result.push(colors.value.blueChart.blueChart2000)\n result.push(colors.value.redChart.redChart2000)\n result.push(colors.value.blueChart.blueChart1020)\n result.push(colors.value.pinkChart.pinkChart1060)\n result.push(colors.value.tealChart.tealChart1050)\n result.push(colors.value.brownChart.khakiChart1020)\n result.push(colors.value.redChart.redChart1060)\n result.push(colors.value.yellowChart.yellowChart1020)\n result.push(colors.value.purpleChart.purpleChart1040)\n result.push(colors.value.tealChart.tealChart1000)\n result.push(colors.value.redChart.redChart1030)\n result.push(colors.value.brownChart.mudChart1050)\n result.push(colors.value.greenChart.greenChart1020)\n result.push(colors.value.purpleChart.purpleChart1030)\n result.push(colors.value.blueChart.blueChart1080)\n result.push(colors.value.pinkChart.pinkChart1000)\n result.push(colors.value.grayChart.coolGrayChart1080)\n result.push(colors.value.peachChart.peachChart1000)\n result.push(colors.value.blueChart.blueChart1060)\n result.push(colors.value.greenChart.sageChart1060)\n result.push(colors.value.purpleChart.purpleChart2000)\n result.push(colors.value.grayChart.grayChart1020)\n result.push(colors.value.redChart.redChart1000)\n result.push(colors.value.greenChart.greenChart1030)\n result.push(colors.value.redChart.redChart1080)\n result.push(colors.value.grayChart.coolGrayChart1070)\n result.push(colors.value.purpleChart.purpleChart1050)\n result.push(colors.value.blueChart.blueChart1070)\n result.push(colors.value.peachChart.peachChart1030)\n result.push(colors.value.greenChart.greenChart1000)\n result.push(colors.value.yellowChart.yellowChart1010)\n result.push(colors.value.pinkChart.pinkChart1020)\n result.push(colors.value.grayChart.warmGrayChart1050)\n result.push(colors.value.redChart.redChart1010)\n result.push(colors.value.blueChart.blueChart1040)\n result.push(colors.value.purpleChart.purpleChart2010)\n result.push(colors.value.redChart.redChart1090)\n return result\n })\n\n function getColors(n: number) {\n const colorsLength = getDefinedColors.value.length\n const result = [] as string[]\n if (n <= colorsLength) {\n return getDefinedColors.value.slice(0, n)\n } else {\n const rounds = Math.floor(n / colorsLength)\n const remainder = n % colorsLength\n for (let i = 0; i < rounds; i++) {\n result.push(...getDefinedColors.value)\n }\n result.push(...getDefinedColors.value.slice(0, remainder))\n }\n return result\n }\n\n function getNamedColorByCode(code: string) {\n const color: any = Object.entries(colors.value).find((element: any) => {\n return Object.keys(element[1]).find((key) => element[1][key] === code)\n })\n if (color) {\n return Object.keys(color[1]).find((key) => color[1][key] === code)\n }\n return ''\n }\n\n return { getColors, getNamedColorByCode }\n}\n\nexport default Object.freeze({\n blueChart,\n tealChart,\n purpleChart,\n redChart,\n greenChart,\n brownChart,\n yellowChart,\n pinkChart,\n peachChart,\n grayChart\n})\n","import colors from './colors.mjs'\nimport chartColors from '@/composables/ChartColors'\n\nexport default {\n defaultTheme: 'light',\n themes: {\n light: {\n dark: false,\n colors: {\n primary: colors.blue.blue600,\n secondary: colors.neutral.neutral1000,\n success: colors.green.green500,\n warning: colors.yellow.yellow600,\n error: colors.red.red600,\n info: colors.blue.blue700,\n // background: '#28243D',\n // surface: '#312D4B',\n // 'on-primary': '#FFFFFF',\n // 'on-secondary': '#fff',\n // 'on-success': '#FFFFFF',\n // 'on-warning': '#FFFFFF',\n // 'on-error': '#FFFFFF',\n // 'on-info': '#FFFFFF',\n // 'on-background': '#E7E3FC',\n // 'on-surface': '#E7E3FC',\n // WASABI COLORS\n 'on-blue100': '#353535',\n 'on-green000': '#353535',\n 'on-orange100': '#353535',\n 'on-red000': '#353535',\n ...colors.blue,\n ...colors.orange,\n ...colors.neutral,\n ...colors.green,\n ...colors.yellow,\n ...colors.red,\n ...colors.coral,\n ...chartColors.blueChart,\n ...chartColors.tealChart,\n ...chartColors.purpleChart,\n ...chartColors.redChart,\n ...chartColors.greenChart,\n ...chartColors.brownChart,\n ...chartColors.yellowChart,\n ...chartColors.pinkChart,\n ...chartColors.peachChart,\n ...chartColors.grayChart\n },\n variables: {\n 'border-color': colors.neutral.neutral1000,\n 'btn-height': '34px',\n\n // Shadows\n 'shadow-key-umbra-opacity': 'rgba(20, 18, 33, 0.08)',\n 'shadow-key-penumbra-opacity': 'rgba(20, 18, 33, 0.12)',\n 'shadow-key-ambient-opacity': 'rgba(20, 18, 33, 0.04)'\n }\n }\n }\n}\n","export default {\n global: {\n ripple: false\n },\n VTextField: {\n variant: 'outlined',\n density: 'compact',\n color: 'primary',\n baseColor: 'secondary',\n hideDetails: 'auto'\n },\n VSelect: {\n variant: 'outlined',\n density: 'compact',\n color: 'primary',\n baseColor: 'secondary',\n hideDetails: 'auto'\n },\n VTextarea: {\n variant: 'outlined',\n color: 'primary',\n baseColor: 'secondary',\n hideDetails: 'auto',\n density: 'compact'\n },\n VAutocomplete: {\n variant: 'outlined',\n density: 'compact',\n hideDetails: 'auto'\n },\n VBtn: {\n ripple: false\n }\n}\n","import { createVuetify } from 'vuetify'\nimport * as components from 'vuetify/components'\nimport * as directives from 'vuetify/directives'\nimport { aliases, mdi } from 'vuetify/iconsets/mdi-svg'\n\nimport theme from './theme'\nimport defaults from './defaults'\n\nimport 'vuetify/styles'\nimport '@/assets/scss/main.scss'\n\nconst vuetify = createVuetify({\n icons: {\n defaultSet: 'mdi',\n aliases,\n sets: {\n mdi\n }\n },\n components,\n directives,\n theme,\n defaults\n})\n\nexport default vuetify\n","/*!\n * shared v11.0.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : create()));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v11.0.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16\n};\n// Special value for higher-order compilers to pick up the last code\n// to avoid collision of error codes.\n// This should always be kept as the last item.\nconst COMPILE_ERROR_CODES_EXTEND_POINT = 17;\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 13 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 13 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 7 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '') => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return hasSpace;\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 4 /* TokenTypes.Named */ ||\n context.currentType === 5 /* TokenTypes.List */ ||\n context.currentType === 6 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 8 /* TokenTypes.LinkedDot */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */ ||\n currentType === 9 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 7 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 8 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 7 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 13 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 13 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 11 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 8 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 10 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 13 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 13 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 13 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 13 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 13 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {}) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { COMPILE_ERROR_CODES_EXTEND_POINT, CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v11.0.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, hasOwn, isNumber, create, isObject, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray, isPlainObject, assign, isRegExp, warnOnce, isEmptyObject, isDate, join, toDisplayString, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey } from '@intlify/shared';\nimport { detectHtmlTag, defaultOnError, baseCompile as baseCompile$1, COMPILE_ERROR_CODES_EXTEND_POINT, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue$1(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue$1(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue$1(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue$1(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue$1(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction clearCompileCache() {\n compileCache = create();\n}\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nfunction compile(message, context) {\n if ((!__INTLIFY_DROP_MESSAGE_COMPILER__) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit('i18n:init', {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = \n/* #__PURE__*/ createDevToolsHook('function:translate');\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: COMPILE_ERROR_CODES_EXTEND_POINT, // 17\n INVALID_DATE_ARGUMENT: 18,\n INVALID_ISO_DATE_ARGUMENT: 19,\n NOT_SUPPORT_NON_STRING_MESSAGE: 20,\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21,\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22,\n NOT_SUPPORT_LOCALE_TYPE: 23\n};\nconst CORE_ERROR_CODES_EXTEND_POINT = 24;\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7\n};\nconst CORE_WARN_CODES_EXTEND_POINT = 8;\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '11.0.1';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('missing', {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || create();\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key, useLinked) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key, !!useLinked)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key, true)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n };\n return ctx;\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : null;\n const enableDefaultMsg = fallbackFormat ||\n (defaultMsgOrKey != null &&\n (isString(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || create()\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = create();\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || create();\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit('message-resolve', {\n type: 'message-resolve',\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit('message-compilation', {\n type: 'message-compilation',\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit('message-evaluation', {\n type: 'message-evaluation',\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = create();\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit('compile-error', {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key, useLinked) => {\n let val = resolveValue(message, key);\n // fallback\n if (val == null && (fallbackContext || useLinked)) {\n const [, , message] = resolveMessageFormat(fallbackContext || context, // NOTE: if has fallbackContext, fallback to root, else if use linked, fallback to local context\n key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v11.0.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { CORE_ERROR_CODES_EXTEND_POINT, createCompileError, CORE_WARN_CODES_EXTEND_POINT, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { getGlobalThis, makeSymbol, format, isObject, create, isPlainObject, isArray, deepCopy, isString, hasOwn, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, warnOnce, isEmptyObject } from '@intlify/shared';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '11.0.1';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\n\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: CORE_WARN_CODES_EXTEND_POINT, // 8\n NOT_FOUND_PARENT_SCOPE: 9,\n IGNORE_OBJ_FLATTEN: 10,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_LEGACY_MODE: 11,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE: 12\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_LEGACY_MODE]: `Legacy API mode has been deprecated in v11. Use Composition API mode instead.\\nAbout how to use the Composition API mode, see https://vue-i18n.intlify.dev/guide/advanced/composition.html`,\n /**\n * @deprecated will be removed at vue-i18n v12\n */\n [I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE]: `'v-t' has been deprecated in v11. Use translate APIs ('t' or '$t') instead.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = create();\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? create()\n : { [locale]: create() });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || create();\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n // prettier-ignore\n let messages = isObject(options.messages)\n ? options.messages\n : create();\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit('fallback', {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved));\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nconst VueDevToolsLabels = {\n 'vue-devtools-plugin-vue-i18n': 'Vue I18n DevTools',\n 'vue-i18n-resource-inspector': 'Vue I18n DevTools',\n 'vue-i18n-timeline': 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n 'vue-i18n-resource-inspector': 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n 'vue-i18n-timeline': 0xffcd19\n};\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: 'vue-devtools-plugin-vue-i18n',\n label: VueDevToolsLabels['vue-devtools-plugin-vue-i18n'],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: 'vue-i18n-resource-inspector',\n label: VueDevToolsLabels['vue-i18n-resource-inspector'],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders['vue-i18n-resource-inspector']\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: 'vue-i18n-timeline',\n label: VueDevToolsLabels['vue-i18n-timeline'],\n color: VueDevToolsTimelineColors['vue-i18n-timeline']\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$2(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: 'vue-i18n-timeline',\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === 'compile-error'\n ? 'error'\n : event === 'fallback' || event === 'missing'\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n *\n * @deprecated will be removed at vue-i18n v12\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, create());\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * \n * \n * {{ $t('tos') }}\n * \n * \n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\n/**\n * @deprecated will be removed at vue-i18n v12\n */\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n if ((process.env.NODE_ENV !== 'production')) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_TRANSLATE_CUSTOME_DIRECTIVE));\n }\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n if ((process.env.NODE_ENV !== 'production') && __legacyMode) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_LEGACY_MODE));\n }\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode) {\n const scope = effectScope();\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nregisterMessageCompiler(compile);\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n","import { createI18n } from 'vue-i18n'\nimport en_US from '@/lang/en_US.json'\nimport pt_BR from '@/lang/pt_BR.json'\n\nconst DEFAULT_LANG = 'en-US'\n\nconst LOCALES = {\n 'en-US': en_US,\n 'pt-BR': pt_BR\n}\n\nconst NUMBER_FORMATS = {\n 'en-US': {\n currency: {\n style: 'currency',\n currency: 'USD'\n },\n decimal: {\n style: 'decimal',\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n },\n percent: {\n style: 'percent',\n useGrouping: false,\n minimumFractionDigits: 2\n }\n }\n}\n\nconst i18n = createI18n({\n legacy: false,\n locale: DEFAULT_LANG,\n messages: LOCALES,\n numberFormats: NUMBER_FORMATS,\n warnHtmlMessage: false\n})\n\nconst { t, tm, te, n } = i18n.global\n\nexport const $t = t\nexport const $tm = tm\nexport const $te = te\nexport const $n = n\nexport default i18n\n","//! moment.js\n//! version : 2.29.4\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\nvar hookCallback;\n\nfunction hooks() {\n return hookCallback.apply(null, arguments);\n}\n\n// This is done to register the method called with moment()\n// without creating circular dependencies.\nfunction setHookCallback(callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n}\n\nfunction isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n}\n\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n}\n\nfunction isUndefined(input) {\n return input === void 0;\n}\n\nfunction isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n}\n\nfunction isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n}\n\nfunction map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n}\n\nfunction extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n}\n\nfunction createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n}\n\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (Array.prototype.some) {\n some = Array.prototype.some;\n} else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n}\n\nfunction isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n}\n\nfunction createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n}\n\n// Plugins that add properties should also add the key here (null value),\n// so we can properly clone ourselves.\nvar momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\nfunction copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n}\n\n// Moment prototype object\nfunction Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n}\n\nfunction isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n}\n\nfunction warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n}\n\nfunction deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n}\n\nvar deprecations = {};\n\nfunction deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n}\n\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n}\n\nfunction set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n}\n\nfunction mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n}\n\nfunction Locale(config) {\n if (config != null) {\n this.set(config);\n }\n}\n\nvar keys;\n\nif (Object.keys) {\n keys = Object.keys;\n} else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n}\n\nvar defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n};\n\nfunction calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n}\n\nfunction zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n}\n\nvar formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nfunction addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n}\n\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n\nfunction makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n}\n\n// format date using native date object\nfunction formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n}\n\nfunction expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n}\n\nvar defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n};\n\nfunction longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n}\n\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate() {\n return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal(number) {\n return this._ordinal.replace('%d', number);\n}\n\nvar defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n};\n\nfunction relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n}\n\nfunction pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n}\n\nvar aliases = {};\n\nfunction addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n}\n\nfunction normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n}\n\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n\nfunction getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n}\n\nfunction isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\nfunction absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n}\n\nfunction toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n}\n\nfunction makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n}\n\nfunction get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n}\n\nfunction set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n}\n\n// MOMENTS\n\nfunction stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n}\n\nfunction stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n}\n\nvar match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\nregexes = {};\n\nfunction addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n}\n\nfunction getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n}\n\n// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\nfunction unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n}\n\nfunction regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n}\n\nfunction addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n}\n\nfunction addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n}\n\nvar YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\nfunction mod(n, x) {\n return ((n % x) + x) % x;\n}\n\nvar indexOf;\n\nif (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n} else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n}\n\nfunction daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n}\n\n// FORMATTING\n\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M', match1to2);\naddRegexToken('MM', match1to2, match2);\naddRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n});\n\n// LOCALES\n\nvar defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\nfunction localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n}\n\nfunction localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n}\n\nfunction handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n}\n\nfunction getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n}\n\nfunction getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n}\n\nfunction monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n}\n\nfunction monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n}\n\nfunction computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n}\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY', 4], 0, 'year');\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y', matchSigned);\naddRegexToken('YY', match1to2, match2);\naddRegexToken('YYYY', match1to4, match4);\naddRegexToken('YYYYY', match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear() {\n return isLeapYear(this.year());\n}\n\nfunction createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n}\n\nfunction createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n}\n\n// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\nfunction dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n}\n\nfunction weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n}\n\nfunction weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n}\n\n// FORMATTING\n\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w', match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W', match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n);\n\n// HELPERS\n\n// LOCALES\n\nfunction localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek() {\n return this._week.dow;\n}\n\nfunction localeFirstDayOfYear() {\n return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d', match1to2);\naddRegexToken('e', match1to2);\naddRegexToken('E', match1to2);\naddRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n});\n\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n}\n\nfunction parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n}\n\n// LOCALES\nfunction shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n}\n\nvar defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\nfunction localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n}\n\nfunction localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n}\n\nfunction localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n}\n\nfunction handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n}\n\nfunction localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n}\n\n// MOMENTS\n\nfunction getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n}\n\nfunction getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n}\n\nfunction getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n}\n\nfunction weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n}\n\nfunction weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n}\n\nfunction weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n}\n\nfunction computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n}\n\n// FORMATTING\n\nfunction hFormat() {\n return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n});\n\nfunction meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n}\n\naddRegexToken('a', matchMeridiem);\naddRegexToken('A', matchMeridiem);\naddRegexToken('H', match1to2);\naddRegexToken('h', match1to2);\naddRegexToken('k', match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n});\naddParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n});\n\n// LOCALES\n\nfunction localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n}\n\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\nfunction localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n}\n\nvar baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n};\n\n// internal storage for locale config files\nvar locales = {},\n localeFamilies = {},\n globalLocale;\n\nfunction commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n}\n\nfunction normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n}\n\n// pick the locale from the array\n// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\nfunction chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n}\n\nfunction isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n return name.match('^[^/\\\\\\\\]*$') != null;\n}\n\nfunction loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n}\n\n// This function will load locale and then set the global locale. If\n// no arguments are passed in, it will simply return the current global\n// locale key.\nfunction getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n}\n\nfunction defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n}\n\nfunction updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n}\n\n// returns locale data\nfunction getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n}\n\nfunction listLocales() {\n return keys(locales);\n}\n\nfunction checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n}\n\n// iso 8601 regex\n// 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\nvar extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n// date from iso format\nfunction configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n}\n\nfunction extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n}\n\nfunction untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n}\n\nfunction checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n}\n\nfunction calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n}\n\n// date and time from ref 2822 format\nfunction configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n}\n\n// date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\nfunction configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n}\n\nhooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n);\n\n// Pick the first defined of two or three arguments.\nfunction defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n}\n\nfunction currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n}\n\n// convert an array to a date.\n// the array should mirror the parameters below\n// note: all values past the year are optional and will default to the lowest possible value.\n// [year, month, day , hour, minute, second, millisecond]\nfunction configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n}\n\nfunction dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n}\n\n// constant that refers to the ISO standard\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n}\n\nfunction meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n}\n\n// date from string and array of format strings\nfunction configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n}\n\nfunction configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n}\n\nfunction createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n}\n\nfunction prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n}\n\nfunction configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n}\n\nfunction createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n}\n\nfunction createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n// Pick a moment m from moments so that m[fn](other) is true for all\n// other. This relies on the function fn to be transitive.\n//\n// moments should either be an array of moment objects or an array, whose\n// first element is an array of moment objects.\nfunction pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n}\n\n// TODO: Use [].sort instead?\nfunction min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n}\n\nfunction max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n}\n\nvar now = function () {\n return Date.now ? Date.now() : +new Date();\n};\n\nvar ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n];\n\nfunction isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n}\n\nfunction isValid$1() {\n return this._isValid;\n}\n\nfunction createInvalid$1() {\n return createDuration(NaN);\n}\n\nfunction Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n}\n\nfunction isDuration(obj) {\n return obj instanceof Duration;\n}\n\nfunction absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n}\n\n// compare two arrays, return the number of differences\nfunction compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n}\n\n// FORMATTING\n\nfunction offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n}\n\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z', matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n});\n\n// HELPERS\n\n// timezone chunker\n// '+10:00' > ['10', '00']\n// '-1530' > ['-15', '30']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n}\n\n// Return a moment from input, that is local/utc/zone equivalent to model.\nfunction cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n}\n\nfunction getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n}\n\n// HOOKS\n\n// This function will be called whenever a moment is mutated.\n// It is intended to keep the offset in sync with the timezone.\nhooks.updateOffset = function () {};\n\n// MOMENTS\n\n// keepLocalTime = true means only change the timezone, without\n// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n// +0200, so we adjust the time as needed, to be valid.\n//\n// Keeping the time actually adds/subtracts (one hour)\n// from the actual represented time. That is why we call updateOffset\n// a second time. In case it wants us to change the offset again\n// _changeInProgress == true case, then we have to adjust, because\n// there is no such time in the given timezone.\nfunction getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n}\n\nfunction getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n}\n\nfunction setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n}\n\nfunction setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n}\n\nfunction setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n}\n\nfunction hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n}\n\nfunction isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n}\n\nfunction isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n}\n\nfunction isLocal() {\n return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\nfunction createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n}\n\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n}\n\nfunction positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n}\n\nfunction momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n}\n\n// TODO: remove 'name' arg after deprecation is removed\nfunction createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n}\n\nfunction addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n}\n\nvar add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\nfunction isString(input) {\n return typeof input === 'string' || input instanceof String;\n}\n\n// type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\nfunction isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n}\n\nfunction isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n}\n\nfunction isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n}\n\nfunction isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n}\n\nfunction getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n}\n\nfunction calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n}\n\nfunction clone() {\n return new Moment(this);\n}\n\nfunction isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n}\n\nfunction isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n}\n\nfunction isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n}\n\nfunction isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n}\n\nfunction isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n}\n\nfunction isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n}\n\nfunction diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n}\n\nfunction monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n}\n\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n}\n\n/**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\nfunction inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n}\n\nfunction format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n}\n\nfunction from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n}\n\nfunction to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n}\n\nfunction toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n}\n\n// If passed a locale key, it will set the locale for this\n// instance. Otherwise, it will return the locale configuration\n// variables for this instance.\nfunction locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n}\n\nvar lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n);\n\nfunction localeData() {\n return this._locale;\n}\n\nvar MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n// actual modulo - handles negative numbers (for dates before 1970):\nfunction mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n}\n\nfunction localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n}\n\nfunction utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n}\n\nfunction startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n}\n\nfunction endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n}\n\nfunction valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n}\n\nfunction unix() {\n return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate() {\n return new Date(this.valueOf());\n}\n\nfunction toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n}\n\nfunction toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n}\n\nfunction toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2() {\n return isValid(this);\n}\n\nfunction parsingFlags() {\n return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt() {\n return getParsingFlags(this).overflow;\n}\n\nfunction creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n}\n\naddFormatToken('N', 0, 0, 'eraAbbr');\naddFormatToken('NN', 0, 0, 'eraAbbr');\naddFormatToken('NNN', 0, 0, 'eraAbbr');\naddFormatToken('NNNN', 0, 0, 'eraName');\naddFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\naddFormatToken('y', ['y', 1], 'yo', 'eraYear');\naddFormatToken('y', ['yy', 2], 0, 'eraYear');\naddFormatToken('y', ['yyy', 3], 0, 'eraYear');\naddFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\naddRegexToken('N', matchEraAbbr);\naddRegexToken('NN', matchEraAbbr);\naddRegexToken('NNN', matchEraAbbr);\naddRegexToken('NNNN', matchEraName);\naddRegexToken('NNNNN', matchEraNarrow);\n\naddParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n);\n\naddRegexToken('y', matchUnsigned);\naddRegexToken('yy', matchUnsigned);\naddRegexToken('yyy', matchUnsigned);\naddRegexToken('yyyy', matchUnsigned);\naddRegexToken('yo', matchEraYearOrdinal);\n\naddParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\naddParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n});\n\nfunction localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n}\n\nfunction localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n}\n\nfunction localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n}\n\nfunction getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n}\n\nfunction getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n}\n\nfunction getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n}\n\nfunction getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n}\n\nfunction erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n}\n\nfunction erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n}\n\nfunction erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n}\n\nfunction matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n}\n\nfunction matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n}\n\nfunction matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n}\n\nfunction matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n}\n\nfunction computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n}\n\n// FORMATTING\n\naddFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg', 'weekYear');\naddWeekYearFormatToken('ggggg', 'weekYear');\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n// PARSING\n\naddRegexToken('G', matchSigned);\naddRegexToken('g', matchSigned);\naddRegexToken('GG', match1to2, match2);\naddRegexToken('gg', match1to2, match2);\naddRegexToken('GGGG', match1to4, match4);\naddRegexToken('gggg', match1to4, match4);\naddRegexToken('GGGGG', match1to6, match6);\naddRegexToken('ggggg', match1to6, match6);\n\naddWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n);\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n}\n\nfunction getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n}\n\nfunction getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n}\n\nfunction getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n}\n\nfunction setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n}\n\n// FORMATTING\n\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n}\n\n// FORMATTING\n\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIORITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D', match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n});\n\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD', match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n}\n\n// FORMATTING\n\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m', match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s', match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n});\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S', match1to3, match1);\naddRegexToken('SS', match1to3, match2);\naddRegexToken('SSS', match1to3, match3);\n\nvar token, getSetMillisecond;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n}\n\ngetSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z', 0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add = add;\nproto.calendar = calendar$1;\nproto.clone = clone;\nproto.diff = diff;\nproto.endOf = endOf;\nproto.format = format;\nproto.from = from;\nproto.fromNow = fromNow;\nproto.to = to;\nproto.toNow = toNow;\nproto.get = stringGet;\nproto.invalidAt = invalidAt;\nproto.isAfter = isAfter;\nproto.isBefore = isBefore;\nproto.isBetween = isBetween;\nproto.isSame = isSame;\nproto.isSameOrAfter = isSameOrAfter;\nproto.isSameOrBefore = isSameOrBefore;\nproto.isValid = isValid$2;\nproto.lang = lang;\nproto.locale = locale;\nproto.localeData = localeData;\nproto.max = prototypeMax;\nproto.min = prototypeMin;\nproto.parsingFlags = parsingFlags;\nproto.set = stringSet;\nproto.startOf = startOf;\nproto.subtract = subtract;\nproto.toArray = toArray;\nproto.toObject = toObject;\nproto.toDate = toDate;\nproto.toISOString = toISOString;\nproto.inspect = inspect;\nif (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n}\nproto.toJSON = toJSON;\nproto.toString = toString;\nproto.unix = unix;\nproto.valueOf = valueOf;\nproto.creationData = creationData;\nproto.eraName = getEraName;\nproto.eraNarrow = getEraNarrow;\nproto.eraAbbr = getEraAbbr;\nproto.eraYear = getEraYear;\nproto.year = getSetYear;\nproto.isLeapYear = getIsLeapYear;\nproto.weekYear = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\nproto.quarter = proto.quarters = getSetQuarter;\nproto.month = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\nproto.week = proto.weeks = getSetWeek;\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\nproto.weeksInYear = getWeeksInYear;\nproto.weeksInWeekYear = getWeeksInWeekYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\nproto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\nproto.date = getSetDayOfMonth;\nproto.day = proto.days = getSetDayOfWeek;\nproto.weekday = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear = getSetDayOfYear;\nproto.hour = proto.hours = getSetHour;\nproto.minute = proto.minutes = getSetMinute;\nproto.second = proto.seconds = getSetSecond;\nproto.millisecond = proto.milliseconds = getSetMillisecond;\nproto.utcOffset = getSetOffset;\nproto.utc = setOffsetToUTC;\nproto.local = setOffsetToLocal;\nproto.parseZone = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST = isDaylightSavingTime;\nproto.isLocal = isLocal;\nproto.isUtcOffset = isUtcOffset;\nproto.isUtc = isUtc;\nproto.isUTC = isUtc;\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\nproto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n);\nproto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n);\nproto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n);\nproto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n);\nproto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n);\n\nfunction createUnix(input) {\n return createLocal(input * 1000);\n}\n\nfunction createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat(string) {\n return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar = calendar;\nproto$1.longDateFormat = longDateFormat;\nproto$1.invalidDate = invalidDate;\nproto$1.ordinal = ordinal;\nproto$1.preparse = preParsePostFormat;\nproto$1.postformat = preParsePostFormat;\nproto$1.relativeTime = relativeTime;\nproto$1.pastFuture = pastFuture;\nproto$1.set = set;\nproto$1.eras = localeEras;\nproto$1.erasParse = localeErasParse;\nproto$1.erasConvertYear = localeErasConvertYear;\nproto$1.erasAbbrRegex = erasAbbrRegex;\nproto$1.erasNameRegex = erasNameRegex;\nproto$1.erasNarrowRegex = erasNarrowRegex;\n\nproto$1.months = localeMonths;\nproto$1.monthsShort = localeMonthsShort;\nproto$1.monthsParse = localeMonthsParse;\nproto$1.monthsRegex = monthsRegex;\nproto$1.monthsShortRegex = monthsShortRegex;\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\nproto$1.weekdays = localeWeekdays;\nproto$1.weekdaysMin = localeWeekdaysMin;\nproto$1.weekdaysShort = localeWeekdaysShort;\nproto$1.weekdaysParse = localeWeekdaysParse;\n\nproto$1.weekdaysRegex = weekdaysRegex;\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n}\n\nfunction listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n}\n\n// ()\n// (5)\n// (fmt, 5)\n// (fmt)\n// (true)\n// (true, 5)\n// (true, fmt, 5)\n// (true, fmt)\nfunction listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n}\n\nfunction listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n});\n\n// Side effect imports\n\nhooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n);\nhooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n);\n\nvar mathAbs = Math.abs;\n\nfunction abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n}\n\nfunction addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n}\n\n// supports only 2.0-style add(1, 's') or add(duration)\nfunction add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n}\n\n// supports only 2.0-style subtract(1, 's') or subtract(duration)\nfunction subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n}\n\nfunction bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n}\n\nfunction daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n}\n\nfunction monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n}\n\nfunction as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n}\n\n// TODO: Use this.as('ms')?\nfunction valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n}\n\nfunction makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n}\n\nvar asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\nfunction clone$1() {\n return createDuration(this);\n}\n\nfunction get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n}\n\nvar milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\nfunction weeks() {\n return absFloor(this.days() / 7);\n}\n\nvar round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n}\n\n// This function allows you to set the rounding function for relative time strings\nfunction getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n}\n\n// This function allows you to set a threshold for relative time strings\nfunction getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n}\n\nfunction humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n}\n\nvar abs$1 = Math.abs;\n\nfunction sign(x) {\n return (x > 0) - (x < 0) || +x;\n}\n\nfunction toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n}\n\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid = isValid$1;\nproto$2.abs = abs;\nproto$2.add = add$1;\nproto$2.subtract = subtract$1;\nproto$2.as = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds = asSeconds;\nproto$2.asMinutes = asMinutes;\nproto$2.asHours = asHours;\nproto$2.asDays = asDays;\nproto$2.asWeeks = asWeeks;\nproto$2.asMonths = asMonths;\nproto$2.asQuarters = asQuarters;\nproto$2.asYears = asYears;\nproto$2.valueOf = valueOf$1;\nproto$2._bubble = bubble;\nproto$2.clone = clone$1;\nproto$2.get = get$2;\nproto$2.milliseconds = milliseconds;\nproto$2.seconds = seconds;\nproto$2.minutes = minutes;\nproto$2.hours = hours;\nproto$2.days = days;\nproto$2.weeks = weeks;\nproto$2.months = months;\nproto$2.years = years;\nproto$2.humanize = humanize;\nproto$2.toISOString = toISOString$1;\nproto$2.toString = toISOString$1;\nproto$2.toJSON = toISOString$1;\nproto$2.locale = locale;\nproto$2.localeData = localeData;\n\nproto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n);\nproto$2.lang = lang;\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n});\n\n//! moment.js\n\nhooks.version = '2.29.4';\n\nsetHookCallback(createLocal);\n\nhooks.fn = proto;\nhooks.min = min;\nhooks.max = max;\nhooks.now = now;\nhooks.utc = createUTC;\nhooks.unix = createUnix;\nhooks.months = listMonths;\nhooks.isDate = isDate;\nhooks.locale = getSetGlobalLocale;\nhooks.invalid = createInvalid;\nhooks.duration = createDuration;\nhooks.isMoment = isMoment;\nhooks.weekdays = listWeekdays;\nhooks.parseZone = createInZone;\nhooks.localeData = getLocale;\nhooks.isDuration = isDuration;\nhooks.monthsShort = listMonthsShort;\nhooks.weekdaysMin = listWeekdaysMin;\nhooks.defineLocale = defineLocale;\nhooks.updateLocale = updateLocale;\nhooks.locales = listLocales;\nhooks.weekdaysShort = listWeekdaysShort;\nhooks.normalizeUnits = normalizeUnits;\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat = getCalendarFormat;\nhooks.prototype = proto;\n\n// currently HTML5 input type only supports 24-hour formats\nhooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n};\n\nexport default hooks;\n","import moment from 'moment'\nimport { $t } from './i18n'\n\nmoment.updateLocale('en', {\n relativeTime: {\n future: `${$t('app.common.abbreviations.other.in')} %s`,\n past: `%s ${$t('app.common.abbreviations.other.ago')}`,\n s: `${$t('app.common.abbreviations.other.fewSeconds')}`,\n ss: `${$t('app.common.labels.a')} ${$t('app.common.abbreviations.other.seconds')}`,\n m: `${$t('app.common.labels.a')} ${$t('app.common.abbreviations.other.minute')}`,\n mm: `%d ${$t('app.common.abbreviations.other.minutes')}`,\n h: `${$t('app.common.labels.an')} ${$t('app.common.abbreviations.other.hour')}`,\n hh: `%d ${$t('app.common.abbreviations.other.hours')}`,\n d: `${$t('app.common.labels.a')} ${$t('app.common.labels.day')}`,\n dd: `%d ${$t('app.common.labels.days')}`,\n w: `${$t('app.common.labels.a')} ${$t('app.common.labels.week')}`,\n ww: `%d ${$t('app.common.labels.weeks')}`,\n M: `${$t('app.common.labels.a')} ${$t('app.common.labels.month')}`,\n MM: `%d ${$t('app.common.labels.months')}`,\n y: `${$t('app.common.labels.a')} ${$t('app.common.labels.year')}`,\n yy: `%d ${$t('app.common.labels.years')}`\n }\n})\n\nexport default moment\n","import vuetify from './vuetify'\nimport i18n from './i18n'\nimport moment from './moment'\n\nconst plugins = [vuetify, i18n, moment]\n\nexport default plugins\n","var P = Object.defineProperty;\nvar C = (n, s, t) => s in n ? P(n, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[s] = t;\nvar y = (n, s, t) => C(n, typeof s != \"symbol\" ? s + \"\" : s, t);\nconst N = {\n \"#\": { pattern: /[0-9]/ },\n \"@\": { pattern: /[a-zA-Z]/ },\n \"*\": { pattern: /[a-zA-Z0-9]/ }\n}, R = (n, s, t) => n.replaceAll(s, \"\").replace(t, \".\").replace(\"..\", \".\").replace(/[^.\\d]/g, \"\"), I = (n, s, t) => {\n var e;\n return new Intl.NumberFormat(((e = t.number) == null ? void 0 : e.locale) ?? \"en\", {\n minimumFractionDigits: n,\n maximumFractionDigits: s,\n roundingMode: \"trunc\"\n });\n}, F = (n, s = !0, t) => {\n var M, E, g, d;\n const e = ((M = t.number) == null ? void 0 : M.unsigned) == null && n.startsWith(\"-\") ? \"-\" : \"\", a = ((E = t.number) == null ? void 0 : E.fraction) ?? 0;\n let o = I(0, a, t);\n const h = o.formatToParts(1000.12), u = ((g = h.find((r) => r.type === \"group\")) == null ? void 0 : g.value) ?? \" \", f = ((d = h.find((r) => r.type === \"decimal\")) == null ? void 0 : d.value) ?? \".\", i = R(n, u, f);\n if (Number.isNaN(parseFloat(i))) return e;\n const p = i.split(\".\");\n if (p[1] != null && p[1].length >= 1) {\n const r = p[1].length <= a ? p[1].length : a;\n o = I(r, a, t);\n }\n let l = o.format(parseFloat(i));\n return s ? a > 0 && i.endsWith(\".\") && !i.slice(0, -1).includes(\".\") && (l += f) : l = R(l, u, f), e + l;\n};\nclass T {\n constructor(s = {}) {\n y(this, \"opts\", {});\n y(this, \"memo\", /* @__PURE__ */ new Map());\n const t = { ...s };\n if (t.tokens != null) {\n t.tokens = t.tokensReplace ? { ...t.tokens } : { ...N, ...t.tokens };\n for (const e of Object.values(t.tokens))\n typeof e.pattern == \"string\" && (e.pattern = new RegExp(e.pattern));\n } else\n t.tokens = N;\n Array.isArray(t.mask) && (t.mask.length > 1 ? t.mask = [...t.mask].sort((e, a) => e.length - a.length) : t.mask = t.mask[0] ?? \"\"), t.mask === \"\" && (t.mask = null), this.opts = t;\n }\n masked(s) {\n return this.process(s, this.findMask(s));\n }\n unmasked(s) {\n return this.process(s, this.findMask(s), !1);\n }\n isEager() {\n return this.opts.eager === !0;\n }\n isReversed() {\n return this.opts.reversed === !0;\n }\n completed(s) {\n const t = this.findMask(s);\n if (this.opts.mask == null || t == null) return !1;\n const e = this.process(s, t).length;\n return typeof this.opts.mask == \"string\" ? e >= this.opts.mask.length : e >= t.length;\n }\n findMask(s) {\n const t = this.opts.mask;\n if (t == null)\n return null;\n if (typeof t == \"string\")\n return t;\n if (typeof t == \"function\")\n return t(s);\n const e = this.process(s, t.slice(-1).pop() ?? \"\", !1);\n return t.find((a) => this.process(s, a, !1).length >= e.length) ?? \"\";\n }\n escapeMask(s) {\n const t = [], e = [];\n return s.split(\"\").forEach((a, o) => {\n a === \"!\" && s[o - 1] !== \"!\" ? e.push(o - e.length) : t.push(a);\n }), { mask: t.join(\"\"), escaped: e };\n }\n process(s, t, e = !0) {\n if (this.opts.number != null) return F(s, e, this.opts);\n if (t == null) return s;\n const a = `v=${s},mr=${t},m=${e ? 1 : 0}`;\n if (this.memo.has(a)) return this.memo.get(a);\n const { mask: o, escaped: h } = this.escapeMask(t), u = [], f = this.opts.tokens != null ? this.opts.tokens : {}, i = this.isReversed() ? -1 : 1, p = this.isReversed() ? \"unshift\" : \"push\", l = this.isReversed() ? 0 : o.length - 1, M = this.isReversed() ? () => r > -1 && c > -1 : () => r < o.length && c < s.length, E = (k) => !this.isReversed() && k <= l || this.isReversed() && k >= l;\n let g, d = -1, r = this.isReversed() ? o.length - 1 : 0, c = this.isReversed() ? s.length - 1 : 0, A = !1;\n for (; M(); ) {\n const k = o.charAt(r), m = f[k], b = (m == null ? void 0 : m.transform) != null ? m.transform(s.charAt(c)) : s.charAt(c);\n if (!h.includes(r) && m != null ? (b.match(m.pattern) != null ? (u[p](b), m.repeated ? (d === -1 ? d = r : r === l && r !== d && (r = d - i), l === d && (r -= i)) : m.multiple && (A = !0, r -= i), r += i) : m.multiple ? A && (r += i, c -= i, A = !1) : b === g ? g = void 0 : m.optional && (r += i, c -= i), c += i) : (e && !this.isEager() && u[p](k), b === k && !this.isEager() ? c += i : g = k, this.isEager() || (r += i)), this.isEager())\n for (; E(r) && (f[o.charAt(r)] == null || h.includes(r)); ) {\n if (e) {\n if (u[p](o.charAt(r)), s.charAt(c) === o.charAt(r)) {\n r += i, c += i;\n continue;\n }\n } else o.charAt(r) === s.charAt(c) && (c += i);\n r += i;\n }\n }\n return this.memo.set(a, u.join(\"\")), this.memo.get(a);\n }\n}\nconst w = (n) => JSON.parse(n.replaceAll(\"'\", '\"')), x = (n, s = {}) => {\n const t = { ...s };\n n.dataset.maska != null && n.dataset.maska !== \"\" && (t.mask = W(n.dataset.maska)), n.dataset.maskaEager != null && (t.eager = v(n.dataset.maskaEager)), n.dataset.maskaReversed != null && (t.reversed = v(n.dataset.maskaReversed)), n.dataset.maskaTokensReplace != null && (t.tokensReplace = v(n.dataset.maskaTokensReplace)), n.dataset.maskaTokens != null && (t.tokens = O(n.dataset.maskaTokens));\n const e = {};\n return n.dataset.maskaNumberLocale != null && (e.locale = n.dataset.maskaNumberLocale), n.dataset.maskaNumberFraction != null && (e.fraction = parseInt(n.dataset.maskaNumberFraction)), n.dataset.maskaNumberUnsigned != null && (e.unsigned = v(n.dataset.maskaNumberUnsigned)), (n.dataset.maskaNumber != null || Object.values(e).length > 0) && (t.number = e), t;\n}, v = (n) => n !== \"\" ? !!JSON.parse(n) : !0, W = (n) => n.startsWith(\"[\") && n.endsWith(\"]\") ? w(n) : n, O = (n) => {\n if (n.startsWith(\"{\") && n.endsWith(\"}\"))\n return w(n);\n const s = {};\n return n.split(\"|\").forEach((t) => {\n const e = t.split(\":\");\n s[e[0]] = {\n pattern: new RegExp(e[1]),\n optional: e[2] === \"optional\",\n multiple: e[2] === \"multiple\",\n repeated: e[2] === \"repeated\"\n };\n }), s;\n};\nclass L {\n constructor(s, t = {}) {\n y(this, \"items\", /* @__PURE__ */ new Map());\n y(this, \"onInput\", (s) => {\n if (s instanceof CustomEvent && s.type === \"input\" && !s.isTrusted && !s.bubbles)\n return;\n const t = s.target, e = this.items.get(t), a = \"inputType\" in s && s.inputType.startsWith(\"delete\"), o = e.isEager(), h = a && o && e.unmasked(t.value) === \"\" ? \"\" : t.value;\n this.fixCursor(t, a, () => this.setValue(t, h));\n });\n this.options = t, this.init(this.getInputs(s));\n }\n update(s = {}) {\n this.options = { ...s }, this.init(Array.from(this.items.keys()));\n }\n updateValue(s) {\n s.value !== \"\" && s.value !== this.processInput(s).masked && this.setValue(s, s.value);\n }\n destroy() {\n for (const s of this.items.keys())\n s.removeEventListener(\"input\", this.onInput);\n this.items.clear();\n }\n init(s) {\n const t = this.getOptions(this.options);\n for (const e of s) {\n this.items.has(e) || e.addEventListener(\"input\", this.onInput, { capture: !0 });\n const a = new T(x(e, t));\n this.items.set(e, a), queueMicrotask(() => this.updateValue(e)), e.selectionStart === null && a.isEager() && console.warn(\"Maska: input of `%s` type is not supported\", e.type);\n }\n }\n getInputs(s) {\n return typeof s == \"string\" ? Array.from(document.querySelectorAll(s)) : \"length\" in s ? Array.from(s) : [s];\n }\n getOptions(s) {\n const { onMaska: t, preProcess: e, postProcess: a, ...o } = s;\n return o;\n }\n fixCursor(s, t, e) {\n const a = s.selectionStart, o = s.value;\n if (e(), a === null || a === o.length && !t) return;\n const h = s.value, u = o.slice(0, a), f = h.slice(0, a), i = this.processInput(s, u).unmasked, p = this.processInput(s, f).unmasked;\n let l = a;\n u !== f && (l += t ? h.length - o.length : i.length - p.length), s.setSelectionRange(l, l);\n }\n setValue(s, t) {\n const e = this.processInput(s, t);\n s.value = e.masked, this.options.onMaska != null && (Array.isArray(this.options.onMaska) ? this.options.onMaska.forEach((a) => a(e)) : this.options.onMaska(e)), s.dispatchEvent(new CustomEvent(\"maska\", { detail: e })), s.dispatchEvent(new CustomEvent(\"input\", { detail: e.masked }));\n }\n processInput(s, t) {\n const e = this.items.get(s);\n let a = t ?? s.value;\n this.options.preProcess != null && (a = this.options.preProcess(a));\n let o = e.masked(a);\n return this.options.postProcess != null && (o = this.options.postProcess(o)), {\n masked: o,\n unmasked: e.unmasked(a),\n completed: e.completed(a)\n };\n }\n}\nexport {\n T as Mask,\n L as MaskInput,\n N as tokens\n};\n","import { MaskInput as n } from \"./maska.mjs\";\nconst l = /* @__PURE__ */ new WeakMap(), c = (e, s) => {\n if (e.arg == null || e.instance == null) return;\n const a = \"setup\" in e.instance.$.type;\n e.arg in e.instance ? e.instance[e.arg] = s : a && console.warn(\"Maska: please expose `%s` using defineExpose\", e.arg);\n}, k = (e, s) => {\n var u;\n const a = e instanceof HTMLInputElement ? e : e.querySelector(\"input\");\n if (a == null || (a == null ? void 0 : a.type) === \"file\") return;\n let t = {};\n if (s.value != null && (t = typeof s.value == \"string\" ? { mask: s.value } : { ...s.value }), s.arg != null) {\n const o = (r) => {\n const p = s.modifiers.unmasked ? r.unmasked : s.modifiers.completed ? r.completed : r.masked;\n c(s, p);\n };\n t.onMaska = t.onMaska == null ? o : Array.isArray(t.onMaska) ? [...t.onMaska, o] : [t.onMaska, o];\n }\n l.has(a) ? (u = l.get(a)) == null || u.update(t) : l.set(a, new n(a, t));\n};\nexport {\n k as vMaska\n};\n","import { vMaska } from 'maska/vue'\n\nconst directives: { name: string; directive: any }[] = [{ name: 'maska', directive: vMaska }]\n\nexport default directives\n","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default,\n },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node = \n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n }\n else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n }\n else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n }\n else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n }\n else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n};\n\nDelta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n};\n\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = (delta === other) ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ?\n thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n};\n\nDelta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n\n return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\n\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n if (head instanceof _break2.default) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }\n }]);\n\n return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
' + html + '


');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n\n return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\n\nfunction normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({ image: op.attributes.image }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: { list: 'checked' },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n}\n\nfunction handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n}\n\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n}\n\nfunction makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n}\n\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n this.options = options;\n\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = { undo: [], redo: [] };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n}\n\nfunction getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n } // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n}\n\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n}\n\nfunction computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n}\n\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n}\n\nfunction matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n}\n\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n}\n\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\n\nfunction addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n );\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int|Object} [cursor_pos] Edit position in text1 or object with more info\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos, _fix_unicode) {\n // Check for equality\n if (text1 === text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n if (cursor_pos != null) {\n var editdiff = find_cursor_edit_diff(text1, text2, cursor_pos);\n if (editdiff) {\n return editdiff;\n }\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs, _fix_unicode);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i !== -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [\n [DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]\n ];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length === 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 !== 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 === -d || (k1 !== d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (\n x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) === text2.charAt(y1)\n ) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] !== -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 === -d || (k2 !== d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (\n x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) === text2.charAt(text2_length - y2 - 1)\n ) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] !== -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) !== text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)\n ) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_start(text1.charCodeAt(pointermid - 1))) {\n pointermid--;\n }\n\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.slice(-1) !== text2.slice(-1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (\n text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)\n ) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n\n if (is_surrogate_pair_end(text1.charCodeAt(text1.length - pointermid))) {\n pointermid--;\n }\n\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) !== -1) {\n var prefixLength = diff_commonPrefix(\n longtext.substring(i), shorttext.substring(j));\n var suffixLength = diff_commonSuffix(\n longtext.substring(0, i), shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(\n j - suffixLength, j) + shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [\n best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common\n ];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext, Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n * @param {boolean} fix_unicode Whether to normalize to a unicode-correct diff\n */\nfunction diff_cleanupMerge(diffs, fix_unicode) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n diffs.splice(pointer, 1);\n continue;\n }\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n var previous_equality = pointer - count_insert - count_delete - 1;\n if (fix_unicode) {\n // prevent splitting of unicode surrogate pairs. when fix_unicode is true,\n // we assume that the old and new text in the diff are complete and correct\n // unicode-encoded JS strings, but the tuple boundaries may fall between\n // surrogate pairs. we fix this by shaving off stray surrogates from the end\n // of the previous equality and the beginning of this equality. this may create\n // empty equalities or a common prefix or suffix. for example, if AB and AC are\n // emojis, `[[0, 'A'], [-1, 'BA'], [0, 'C']]` would turn into deleting 'ABAC' and\n // inserting 'AC', and then the common suffix 'AC' will be eliminated. in this\n // particular case, both equalities go away, we absorb any previous inequalities,\n // and we keep scanning for the next equality before rewriting the tuples.\n if (previous_equality >= 0 && ends_with_pair_start(diffs[previous_equality][1])) {\n var stray = diffs[previous_equality][1].slice(-1);\n diffs[previous_equality][1] = diffs[previous_equality][1].slice(0, -1);\n text_delete = stray + text_delete;\n text_insert = stray + text_insert;\n if (!diffs[previous_equality][1]) {\n // emptied out previous equality, so delete it and include previous delete/insert\n diffs.splice(previous_equality, 1);\n pointer--;\n var k = previous_equality - 1;\n if (diffs[k] && diffs[k][0] === DIFF_INSERT) {\n count_insert++;\n text_insert = diffs[k][1] + text_insert;\n k--;\n }\n if (diffs[k] && diffs[k][0] === DIFF_DELETE) {\n count_delete++;\n text_delete = diffs[k][1] + text_delete;\n k--;\n }\n previous_equality = k;\n }\n }\n if (starts_with_pair_end(diffs[pointer][1])) {\n var stray = diffs[pointer][1].charAt(0);\n diffs[pointer][1] = diffs[pointer][1].slice(1);\n text_delete += stray;\n text_insert += stray;\n }\n }\n if (pointer < diffs.length - 1 && !diffs[pointer][1]) {\n // for empty equality not at end, wait for next equality\n diffs.splice(pointer, 1);\n break;\n }\n if (text_delete.length > 0 || text_insert.length > 0) {\n // note that diff_commonPrefix and diff_commonSuffix are unicode-aware\n if (text_delete.length > 0 && text_insert.length > 0) {\n // Factor out any common prefixes.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if (previous_equality >= 0) {\n diffs[previous_equality][1] += text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL, text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixes.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] =\n text_insert.substring(text_insert.length - commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length - commonlength);\n text_delete = text_delete.substring(0, text_delete.length - commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n var n = count_insert + count_delete;\n if (text_delete.length === 0 && text_insert.length === 0) {\n diffs.splice(pointer - n, n);\n pointer = pointer - n;\n } else if (text_delete.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 1;\n } else if (text_insert.length === 0) {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete]);\n pointer = pointer - n + 1;\n } else {\n diffs.splice(pointer - n, n, [DIFF_DELETE, text_delete], [DIFF_INSERT, text_insert]);\n pointer = pointer - n + 2;\n }\n }\n if (pointer !== 0 && diffs[pointer - 1][0] === DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] === DIFF_EQUAL &&\n diffs[pointer + 1][0] === DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) === diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs, fix_unicode);\n }\n};\n\nfunction is_surrogate_pair_start(charCode) {\n return charCode >= 0xD800 && charCode <= 0xDBFF;\n}\n\nfunction is_surrogate_pair_end(charCode) {\n return charCode >= 0xDC00 && charCode <= 0xDFFF;\n}\n\nfunction starts_with_pair_end(str) {\n return is_surrogate_pair_end(str.charCodeAt(0));\n}\n\nfunction ends_with_pair_start(str) {\n return is_surrogate_pair_start(str.charCodeAt(str.length - 1));\n}\n\nfunction remove_empty_tuples(tuples) {\n var ret = [];\n for (var i = 0; i < tuples.length; i++) {\n if (tuples[i][1].length > 0) {\n ret.push(tuples[i]);\n }\n }\n return ret;\n}\n\nfunction make_edit_splice(before, oldMiddle, newMiddle, after) {\n if (ends_with_pair_start(before) || starts_with_pair_end(after)) {\n return null;\n }\n return remove_empty_tuples([\n [DIFF_EQUAL, before],\n [DIFF_DELETE, oldMiddle],\n [DIFF_INSERT, newMiddle],\n [DIFF_EQUAL, after]\n ]);\n}\n\nfunction find_cursor_edit_diff(oldText, newText, cursor_pos) {\n // note: this runs after equality check has ruled out exact equality\n var oldRange = typeof cursor_pos === 'number' ?\n { index: cursor_pos, length: 0 } : cursor_pos.oldRange;\n var newRange = typeof cursor_pos === 'number' ?\n null : cursor_pos.newRange;\n // take into account the old and new selection to generate the best diff\n // possible for a text edit. for example, a text change from \"xxx\" to \"xx\"\n // could be a delete or forwards-delete of any one of the x's, or the\n // result of selecting two of the x's and typing \"x\".\n var oldLength = oldText.length;\n var newLength = newText.length;\n if (oldRange.length === 0 && (newRange === null || newRange.length === 0)) {\n // see if we have an insert or delete before or after cursor\n var oldCursor = oldRange.index;\n var oldBefore = oldText.slice(0, oldCursor);\n var oldAfter = oldText.slice(oldCursor);\n var maybeNewCursor = newRange ? newRange.index : null;\n editBefore: {\n // is this an insert or delete right before oldCursor?\n var newCursor = oldCursor + newLength - oldLength;\n if (maybeNewCursor !== null && maybeNewCursor !== newCursor) {\n break editBefore;\n }\n if (newCursor < 0 || newCursor > newLength) {\n break editBefore;\n }\n var newBefore = newText.slice(0, newCursor);\n var newAfter = newText.slice(newCursor);\n if (newAfter !== oldAfter) {\n break editBefore;\n }\n var prefixLength = Math.min(oldCursor, newCursor);\n var oldPrefix = oldBefore.slice(0, prefixLength);\n var newPrefix = newBefore.slice(0, prefixLength);\n if (oldPrefix !== newPrefix) {\n break editBefore;\n }\n var oldMiddle = oldBefore.slice(prefixLength);\n var newMiddle = newBefore.slice(prefixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldAfter);\n }\n editAfter: {\n // is this an insert or delete right after oldCursor?\n if (maybeNewCursor !== null && maybeNewCursor !== oldCursor) {\n break editAfter;\n }\n var cursor = oldCursor;\n var newBefore = newText.slice(0, cursor);\n var newAfter = newText.slice(cursor);\n if (newBefore !== oldBefore) {\n break editAfter;\n }\n var suffixLength = Math.min(oldLength - cursor, newLength - cursor);\n var oldSuffix = oldAfter.slice(oldAfter.length - suffixLength);\n var newSuffix = newAfter.slice(newAfter.length - suffixLength);\n if (oldSuffix !== newSuffix) {\n break editAfter;\n }\n var oldMiddle = oldAfter.slice(0, oldAfter.length - suffixLength);\n var newMiddle = newAfter.slice(0, newAfter.length - suffixLength);\n return make_edit_splice(oldBefore, oldMiddle, newMiddle, oldSuffix);\n }\n }\n if (oldRange.length > 0 && newRange && newRange.length === 0) {\n replaceRange: {\n // see if diff could be a splice of the old selection range\n var oldPrefix = oldText.slice(0, oldRange.index);\n var oldSuffix = oldText.slice(oldRange.index + oldRange.length);\n var prefixLength = oldPrefix.length;\n var suffixLength = oldSuffix.length;\n if (newLength < prefixLength + suffixLength) {\n break replaceRange;\n }\n var newPrefix = newText.slice(0, prefixLength);\n var newSuffix = newText.slice(newLength - suffixLength);\n if (oldPrefix !== newPrefix || oldSuffix !== newSuffix) {\n break replaceRange;\n }\n var oldMiddle = oldText.slice(prefixLength, oldLength - suffixLength);\n var newMiddle = newText.slice(prefixLength, newLength - suffixLength);\n return make_edit_splice(oldPrefix, oldMiddle, newMiddle, oldSuffix);\n }\n }\n\n return null;\n}\n\nfunction diff(text1, text2, cursor_pos) {\n // only pass fix_unicode=true at the top level, not when diff_main is\n // recursively invoked\n return diff_main(text1, text2, cursor_pos, true);\n}\n\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\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 promiseTag = '[object Promise]',\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/**\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 match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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/**\n * Adds the key-value `pair` to `map`.\n *\n * @private\n * @param {Object} map The map to modify.\n * @param {Array} pair The key-value pair to add.\n * @returns {Object} Returns `map`.\n */\nfunction addMapEntry(map, pair) {\n // Don't return `map.set` because it's not chainable in IE 11.\n map.set(pair[0], pair[1]);\n return map;\n}\n\n/**\n * Adds `value` to `set`.\n *\n * @private\n * @param {Object} set The set to modify.\n * @param {*} value The value to add.\n * @returns {Object} Returns `set`.\n */\nfunction addSetEntry(set, value) {\n // Don't return `set.add` because it's not chainable in IE 11.\n set.add(value);\n return set;\n}\n\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 ? array.length : 0;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\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\n/**\n * A specialized version of `_.reduce` 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 * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\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\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\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\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\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\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\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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/** 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/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\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/** 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 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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\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}\n\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 return this.has(key) && delete this.__data__[key];\n}\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\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\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 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\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\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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\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}\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 return true;\n}\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\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\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 data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\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\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 ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\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.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\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 return getMapData(this, key)['delete'](key);\n}\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\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\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 getMapData(this, key).set(key, value);\n return this;\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\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 this.__data__ = new ListCache(entries);\n}\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}\n\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 return this.__data__['delete'](key);\n}\n\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\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\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 cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\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\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 // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\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 object[key] = value;\n }\n}\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\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\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} [isDeep] Specify a deep clone.\n * @param {boolean} [isFull] Specify a clone including 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, isDeep, isFull, customizer, key, object, stack) {\n var result;\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 if (isHostObject(value)) {\n return object ? value : {};\n }\n result = initCloneObject(isFunc ? {} : value);\n if (!isDeep) {\n return copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, baseClone, 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 (!isArr) {\n var props = isFull ? getAllKeys(value) : keys(value);\n }\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, isDeep, isFull, customizer, key, value, stack));\n });\n return result;\n}\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} prototype The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nfunction baseCreate(proto) {\n return isObject(proto) ? objectCreate(proto) : {};\n}\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\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\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) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\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\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 result = new buffer.constructor(buffer.length);\n buffer.copy(result);\n return result;\n}\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\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\n/**\n * Creates a clone of `map`.\n *\n * @private\n * @param {Object} map The map to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned map.\n */\nfunction cloneMap(map, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(mapToArray(map), true) : mapToArray(map);\n return arrayReduce(array, addMapEntry, new map.constructor);\n}\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\n/**\n * Creates a clone of `set`.\n *\n * @private\n * @param {Object} set The set to clone.\n * @param {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned set.\n */\nfunction cloneSet(set, isDeep, cloneFunc) {\n var array = isDeep ? cloneFunc(setToArray(set), true) : setToArray(set);\n return arrayReduce(array, addSetEntry, new set.constructor);\n}\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\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\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\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 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 assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Copies own symbol properties 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\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\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\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\n/**\n * Creates an array of the own enumerable symbol properties 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 ? overArg(nativeGetSymbols, Object) : stubArray;\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,\n// for data views in Edge < 14, and promises in Node.js.\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 = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\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\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 = 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\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\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`, `Number`, `RegExp`, 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 {Function} cloneFunc The function to clone values.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, cloneFunc, 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 cloneMap(object, isDeep, cloneFunc);\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 cloneSet(object, isDeep, cloneFunc);\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\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 length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\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\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\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\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\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\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, true, true);\n}\n\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\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 */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\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\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\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\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\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 // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\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\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 && (type == 'object' || type == 'function');\n}\n\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 && typeof value == 'object';\n}\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\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\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 = cloneDeep;\n","/**\n * Lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\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 nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\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/**\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 to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\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\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 return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\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\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\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\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\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\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\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\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\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\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\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\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 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 * 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/** 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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\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/** 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 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/**\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\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\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\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\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\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\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/**\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\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\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\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\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\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\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/**\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\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\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\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\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\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\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/**\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\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\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\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/**\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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\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 length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\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\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\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\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\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\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\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\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\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\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\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.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 * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\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\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\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\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\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\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\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\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 = isEqual;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar lodash_clonedeep_1 = __importDefault(require(\"lodash.clonedeep\"));\nvar lodash_isequal_1 = __importDefault(require(\"lodash.isequal\"));\nvar AttributeMap;\n(function (AttributeMap) {\n function compose(a, b, keepNull) {\n if (a === void 0) { a = {}; }\n if (b === void 0) { b = {}; }\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n var attributes = lodash_clonedeep_1.default(b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.compose = compose;\n function diff(a, b) {\n if (a === void 0) { a = {}; }\n if (b === void 0) { b = {}; }\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n var attributes = Object.keys(a)\n .concat(Object.keys(b))\n .reduce(function (attrs, key) {\n if (!lodash_isequal_1.default(a[key], b[key])) {\n attrs[key] = b[key] === undefined ? null : b[key];\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.diff = diff;\n function invert(attr, base) {\n if (attr === void 0) { attr = {}; }\n if (base === void 0) { base = {}; }\n attr = attr || {};\n var baseInverted = Object.keys(base).reduce(function (memo, key) {\n if (base[key] !== attr[key] && attr[key] !== undefined) {\n memo[key] = base[key];\n }\n return memo;\n }, {});\n return Object.keys(attr).reduce(function (memo, key) {\n if (attr[key] !== base[key] && base[key] === undefined) {\n memo[key] = null;\n }\n return memo;\n }, baseInverted);\n }\n AttributeMap.invert = invert;\n function transform(a, b, priority) {\n if (priority === void 0) { priority = false; }\n if (typeof a !== 'object') {\n return b;\n }\n if (typeof b !== 'object') {\n return undefined;\n }\n if (!priority) {\n return b; // b simply overwrites us without priority\n }\n var attributes = Object.keys(b).reduce(function (attrs, key) {\n if (a[key] === undefined) {\n attrs[key] = b[key]; // null is a valid value\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.transform = transform;\n})(AttributeMap || (AttributeMap = {}));\nexports.default = AttributeMap;\n//# sourceMappingURL=AttributeMap.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Op_1 = __importDefault(require(\"./Op\"));\nvar Iterator = /** @class */ (function () {\n function Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n Iterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n };\n Iterator.prototype.next = function (length) {\n if (!length) {\n length = Infinity;\n }\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = Op_1.default.length(nextOp);\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n }\n else {\n this.offset += length;\n }\n if (typeof nextOp.delete === 'number') {\n return { delete: length };\n }\n else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n }\n else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n }\n else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n }\n else {\n return { retain: Infinity };\n }\n };\n Iterator.prototype.peek = function () {\n return this.ops[this.index];\n };\n Iterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return Op_1.default.length(this.ops[this.index]) - this.offset;\n }\n else {\n return Infinity;\n }\n };\n Iterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index].delete === 'number') {\n return 'delete';\n }\n else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n }\n else {\n return 'insert';\n }\n }\n return 'retain';\n };\n Iterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n }\n else if (this.offset === 0) {\n return this.ops.slice(this.index);\n }\n else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n };\n return Iterator;\n}());\nexports.default = Iterator;\n//# sourceMappingURL=Iterator.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Iterator_1 = __importDefault(require(\"./Iterator\"));\nvar Op;\n(function (Op) {\n function iterator(ops) {\n return new Iterator_1.default(ops);\n }\n Op.iterator = iterator;\n function length(op) {\n if (typeof op.delete === 'number') {\n return op.delete;\n }\n else if (typeof op.retain === 'number') {\n return op.retain;\n }\n else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n Op.length = length;\n})(Op || (Op = {}));\nexports.default = Op;\n//# sourceMappingURL=Op.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar fast_diff_1 = __importDefault(require(\"fast-diff\"));\nvar lodash_clonedeep_1 = __importDefault(require(\"lodash.clonedeep\"));\nvar lodash_isequal_1 = __importDefault(require(\"lodash.isequal\"));\nvar AttributeMap_1 = __importDefault(require(\"./AttributeMap\"));\nvar Op_1 = __importDefault(require(\"./Op\"));\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\nvar Delta = /** @class */ (function () {\n function Delta(ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n }\n else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n }\n else {\n this.ops = [];\n }\n }\n Delta.prototype.insert = function (arg, attributes) {\n var newOp = {};\n if (typeof arg === 'string' && arg.length === 0) {\n return this;\n }\n newOp.insert = arg;\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n };\n Delta.prototype.delete = function (length) {\n if (length <= 0) {\n return this;\n }\n return this.push({ delete: length });\n };\n Delta.prototype.retain = function (length, attributes) {\n if (length <= 0) {\n return this;\n }\n var newOp = { retain: length };\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n };\n Delta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = lodash_clonedeep_1.default(newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp.delete === 'number' &&\n typeof lastOp.delete === 'number') {\n this.ops[index - 1] = { delete: lastOp.delete + newOp.delete };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp.delete === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (lodash_isequal_1.default(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' &&\n typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n else if (typeof newOp.retain === 'number' &&\n typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n }\n else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n };\n Delta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n };\n Delta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n };\n Delta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n };\n Delta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n };\n Delta.prototype.partition = function (predicate) {\n var passed = [];\n var failed = [];\n this.forEach(function (op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n };\n Delta.prototype.reduce = function (predicate, initialValue) {\n return this.ops.reduce(predicate, initialValue);\n };\n Delta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + Op_1.default.length(elem);\n }\n else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n };\n Delta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + Op_1.default.length(elem);\n }, 0);\n };\n Delta.prototype.slice = function (start, end) {\n if (start === void 0) { start = 0; }\n if (end === void 0) { end = Infinity; }\n var ops = [];\n var iter = Op_1.default.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp = void 0;\n if (index < start) {\n nextOp = iter.next(start - index);\n }\n else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += Op_1.default.length(nextOp);\n }\n return new Delta(ops);\n };\n Delta.prototype.compose = function (other) {\n var thisIter = Op_1.default.iterator(this.ops);\n var otherIter = Op_1.default.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null &&\n typeof firstOther.retain === 'number' &&\n firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' &&\n thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n }\n else {\n var length_1 = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length_1);\n var otherOp = otherIter.next(length_1);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length_1;\n }\n else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) {\n newOp.attributes = attributes;\n }\n delta.push(newOp);\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() &&\n lodash_isequal_1.default(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n }\n else if (typeof otherOp.delete === 'number' &&\n typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n };\n Delta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n };\n Delta.prototype.diff = function (other, cursor) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta\n .map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n })\n .join('');\n });\n var retDelta = new Delta();\n var diffResult = fast_diff_1.default(strings[0], strings[1], cursor);\n var thisIter = Op_1.default.iterator(this.ops);\n var otherIter = Op_1.default.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case fast_diff_1.default.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n retDelta.push(otherIter.next(opLength));\n break;\n case fast_diff_1.default.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n retDelta.delete(opLength);\n break;\n case fast_diff_1.default.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (lodash_isequal_1.default(thisOp.insert, otherOp.insert)) {\n retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes));\n }\n else {\n retDelta.push(otherOp).delete(opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return retDelta.chop();\n };\n Delta.prototype.eachLine = function (predicate, newline) {\n if (newline === void 0) { newline = '\\n'; }\n var iter = Op_1.default.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') {\n return;\n }\n var thisOp = iter.peek();\n var start = Op_1.default.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string'\n ? thisOp.insert.indexOf(newline, start) - start\n : -1;\n if (index < 0) {\n line.push(iter.next());\n }\n else if (index > 0) {\n line.push(iter.next(index));\n }\n else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n };\n Delta.prototype.invert = function (base) {\n var inverted = new Delta();\n this.reduce(function (baseIndex, op) {\n if (op.insert) {\n inverted.delete(Op_1.default.length(op));\n }\n else if (op.retain && op.attributes == null) {\n inverted.retain(op.retain);\n return baseIndex + op.retain;\n }\n else if (op.delete || (op.retain && op.attributes)) {\n var length_2 = (op.delete || op.retain);\n var slice = base.slice(baseIndex, baseIndex + length_2);\n slice.forEach(function (baseOp) {\n if (op.delete) {\n inverted.push(baseOp);\n }\n else if (op.retain && op.attributes) {\n inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n }\n });\n return baseIndex + length_2;\n }\n return baseIndex;\n }, 0);\n return inverted.chop();\n };\n Delta.prototype.transform = function (arg, priority) {\n if (priority === void 0) { priority = false; }\n priority = !!priority;\n if (typeof arg === 'number') {\n return this.transformPosition(arg, priority);\n }\n var other = arg;\n var thisIter = Op_1.default.iterator(this.ops);\n var otherIter = Op_1.default.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' &&\n (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(Op_1.default.length(thisIter.next()));\n }\n else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else {\n var length_3 = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length_3);\n var otherOp = otherIter.next(length_3);\n if (thisOp.delete) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n }\n else if (otherOp.delete) {\n delta.push(otherOp);\n }\n else {\n // We retain either their retain or insert\n delta.retain(length_3, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n };\n Delta.prototype.transformPosition = function (index, priority) {\n if (priority === void 0) { priority = false; }\n priority = !!priority;\n var thisIter = Op_1.default.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length_4 = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length_4, index - offset);\n continue;\n }\n else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length_4;\n }\n offset += length_4;\n }\n return index;\n };\n Delta.Op = Op_1.default;\n Delta.AttributeMap = AttributeMap_1.default;\n return Delta;\n}());\nmodule.exports = Delta;\n//# sourceMappingURL=Delta.js.map","/*!\n * VueQuill @vueup/vue-quill v1.2.0\n * https://vueup.github.io/vue-quill/\n * \n * Includes quill v1.3.7\n * https://quilljs.com/\n * \n * Copyright (c) 2023 Ahmad Luthfi Masruri\n * Released under the MIT license\n * Date: 2023-05-12T08:44:03.742Z\n */\nimport Quill from 'quill';\nexport { default as Quill } from 'quill';\nimport Delta from 'quill-delta';\nexport { default as Delta } from 'quill-delta';\nimport { defineComponent, onMounted, onBeforeUnmount, ref, watch, nextTick, h } from 'vue';\n\nconst toolbarOptions = {\r\n essential: [\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n ['bold', 'italic', 'underline'],\r\n [{ list: 'ordered' }, { list: 'bullet' }, { align: [] }],\r\n ['blockquote', 'code-block', 'link'],\r\n [{ color: [] }, 'clean'],\r\n ],\r\n minimal: [\r\n [{ header: 1 }, { header: 2 }],\r\n ['bold', 'italic', 'underline'],\r\n [{ list: 'ordered' }, { list: 'bullet' }, { align: [] }],\r\n ],\r\n full: [\r\n ['bold', 'italic', 'underline', 'strike'],\r\n ['blockquote', 'code-block'],\r\n [{ header: 1 }, { header: 2 }],\r\n [{ list: 'ordered' }, { list: 'bullet' }],\r\n [{ script: 'sub' }, { script: 'super' }],\r\n [{ indent: '-1' }, { indent: '+1' }],\r\n [{ direction: 'rtl' }],\r\n [{ size: ['small', false, 'large', 'huge'] }],\r\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\r\n [{ color: [] }, { background: [] }],\r\n [{ font: [] }],\r\n [{ align: [] }],\r\n ['link', 'video', 'image'],\r\n ['clean'], // remove formatting button\r\n ],\r\n};\n\nconst QuillEditor = defineComponent({\r\n name: 'QuillEditor',\r\n inheritAttrs: false,\r\n props: {\r\n content: {\r\n type: [String, Object],\r\n },\r\n contentType: {\r\n type: String,\r\n default: 'delta',\r\n validator: (value) => {\r\n return ['delta', 'html', 'text'].includes(value);\r\n },\r\n },\r\n enable: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n readOnly: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n placeholder: {\r\n type: String,\r\n required: false,\r\n },\r\n theme: {\r\n type: String,\r\n default: 'snow',\r\n validator: (value) => {\r\n return ['snow', 'bubble', ''].includes(value);\r\n },\r\n },\r\n toolbar: {\r\n type: [String, Array, Object],\r\n required: false,\r\n validator: (value) => {\r\n if (typeof value === 'string' && value !== '') {\r\n return value.charAt(0) === '#'\r\n ? true\r\n : Object.keys(toolbarOptions).indexOf(value) !== -1;\r\n }\r\n return true;\r\n },\r\n },\r\n modules: {\r\n type: Object,\r\n required: false,\r\n },\r\n options: {\r\n type: Object,\r\n required: false,\r\n },\r\n globalOptions: {\r\n type: Object,\r\n required: false,\r\n },\r\n },\r\n emits: [\r\n 'textChange',\r\n 'selectionChange',\r\n 'editorChange',\r\n 'update:content',\r\n 'focus',\r\n 'blur',\r\n 'ready',\r\n ],\r\n setup: (props, ctx) => {\r\n onMounted(() => {\r\n initialize();\r\n });\r\n onBeforeUnmount(() => {\r\n quill = null;\r\n });\r\n let quill;\r\n let options;\r\n const editor = ref();\r\n // Initialize Quill\r\n const initialize = () => {\r\n var _a;\r\n if (!editor.value)\r\n return;\r\n options = composeOptions();\r\n // Register modules\r\n if (props.modules) {\r\n if (Array.isArray(props.modules)) {\r\n for (const module of props.modules) {\r\n Quill.register(`modules/${module.name}`, module.module);\r\n }\r\n }\r\n else {\r\n Quill.register(`modules/${props.modules.name}`, props.modules.module);\r\n }\r\n }\r\n // Create new Quill instance\r\n quill = new Quill(editor.value, options);\r\n // Set editor content\r\n setContents(props.content);\r\n // Set event handlers\r\n quill.on('text-change', handleTextChange);\r\n quill.on('selection-change', handleSelectionChange);\r\n quill.on('editor-change', handleEditorChange);\r\n // Remove editor class when theme changes\r\n if (props.theme !== 'bubble')\r\n editor.value.classList.remove('ql-bubble');\r\n if (props.theme !== 'snow')\r\n editor.value.classList.remove('ql-snow');\r\n // Fix clicking the quill toolbar is detected as blur event\r\n (_a = quill\r\n .getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container.addEventListener('mousedown', (e) => {\r\n e.preventDefault();\r\n });\r\n // Emit ready event\r\n ctx.emit('ready', quill);\r\n };\r\n // Compose Options\r\n const composeOptions = () => {\r\n const clientOptions = {};\r\n if (props.theme !== '')\r\n clientOptions.theme = props.theme;\r\n if (props.readOnly)\r\n clientOptions.readOnly = props.readOnly;\r\n if (props.placeholder)\r\n clientOptions.placeholder = props.placeholder;\r\n if (props.toolbar && props.toolbar !== '') {\r\n clientOptions.modules = {\r\n toolbar: (() => {\r\n if (typeof props.toolbar === 'object') {\r\n return props.toolbar;\r\n }\r\n else if (typeof props.toolbar === 'string') {\r\n const str = props.toolbar;\r\n return str.charAt(0) === '#'\r\n ? props.toolbar\r\n : toolbarOptions[props.toolbar];\r\n }\r\n return;\r\n })(),\r\n };\r\n }\r\n if (props.modules) {\r\n const modules = (() => {\r\n var _a, _b;\r\n const modulesOption = {};\r\n if (Array.isArray(props.modules)) {\r\n for (const module of props.modules) {\r\n modulesOption[module.name] = (_a = module.options) !== null && _a !== void 0 ? _a : {};\r\n }\r\n }\r\n else {\r\n modulesOption[props.modules.name] = (_b = props.modules.options) !== null && _b !== void 0 ? _b : {};\r\n }\r\n return modulesOption;\r\n })();\r\n clientOptions.modules = Object.assign({}, clientOptions.modules, modules);\r\n }\r\n return Object.assign({}, props.globalOptions, props.options, clientOptions);\r\n };\r\n const maybeClone = (delta) => {\r\n return typeof delta === 'object' && delta ? delta.slice() : delta;\r\n };\r\n const deltaHasValuesOtherThanRetain = (delta) => {\r\n return Object.values(delta.ops).some((v) => !v.retain || Object.keys(v).length !== 1);\r\n };\r\n // Doesn't need reactivity, but does need to be cloned to avoid deep mutations always registering as equal\r\n let internalModel;\r\n const internalModelEquals = (against) => {\r\n if (typeof internalModel === typeof against) {\r\n if (against === internalModel) {\r\n return true;\r\n }\r\n // Ref/Proxy does not support instanceof, so do a loose check\r\n if (typeof against === 'object' &&\r\n against &&\r\n typeof internalModel === 'object' &&\r\n internalModel) {\r\n return !deltaHasValuesOtherThanRetain(internalModel.diff(against));\r\n }\r\n }\r\n return false;\r\n };\r\n const handleTextChange = (delta, oldContents, source) => {\r\n internalModel = maybeClone(getContents());\r\n // Update v-model:content when text changes\r\n if (!internalModelEquals(props.content)) {\r\n ctx.emit('update:content', internalModel);\r\n }\r\n ctx.emit('textChange', { delta, oldContents, source });\r\n };\r\n const isEditorFocus = ref();\r\n const handleSelectionChange = (range, oldRange, source) => {\r\n // Set isEditorFocus if quill.hasFocus()\r\n isEditorFocus.value = !!(quill === null || quill === void 0 ? void 0 : quill.hasFocus());\r\n ctx.emit('selectionChange', { range, oldRange, source });\r\n };\r\n watch(isEditorFocus, (focus) => {\r\n if (focus)\r\n ctx.emit('focus', editor);\r\n else\r\n ctx.emit('blur', editor);\r\n });\r\n const handleEditorChange = (...args) => {\r\n if (args[0] === 'text-change')\r\n ctx.emit('editorChange', {\r\n name: args[0],\r\n delta: args[1],\r\n oldContents: args[2],\r\n source: args[3],\r\n });\r\n if (args[0] === 'selection-change')\r\n ctx.emit('editorChange', {\r\n name: args[0],\r\n range: args[1],\r\n oldRange: args[2],\r\n source: args[3],\r\n });\r\n };\r\n const getEditor = () => {\r\n return editor.value;\r\n };\r\n const getToolbar = () => {\r\n var _a;\r\n return (_a = quill === null || quill === void 0 ? void 0 : quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container;\r\n };\r\n const getQuill = () => {\r\n if (quill)\r\n return quill;\r\n else\r\n throw `The quill editor hasn't been instantiated yet,\n make sure to call this method when the editor ready\n or use v-on:ready=\"onReady(quill)\" event instead.`;\r\n };\r\n const getContents = (index, length) => {\r\n if (props.contentType === 'html') {\r\n return getHTML();\r\n }\r\n else if (props.contentType === 'text') {\r\n return getText(index, length);\r\n }\r\n return quill === null || quill === void 0 ? void 0 : quill.getContents(index, length);\r\n };\r\n const setContents = (content, source = 'api') => {\r\n const normalizedContent = !content\r\n ? props.contentType === 'delta'\r\n ? new Delta()\r\n : ''\r\n : content;\r\n if (props.contentType === 'html') {\r\n setHTML(normalizedContent);\r\n }\r\n else if (props.contentType === 'text') {\r\n setText(normalizedContent, source);\r\n }\r\n else {\r\n quill === null || quill === void 0 ? void 0 : quill.setContents(normalizedContent, source);\r\n }\r\n internalModel = maybeClone(normalizedContent);\r\n };\r\n const getText = (index, length) => {\r\n var _a;\r\n return (_a = quill === null || quill === void 0 ? void 0 : quill.getText(index, length)) !== null && _a !== void 0 ? _a : '';\r\n };\r\n const setText = (text, source = 'api') => {\r\n quill === null || quill === void 0 ? void 0 : quill.setText(text, source);\r\n };\r\n const getHTML = () => {\r\n var _a;\r\n return (_a = quill === null || quill === void 0 ? void 0 : quill.root.innerHTML) !== null && _a !== void 0 ? _a : '';\r\n };\r\n const setHTML = (html) => {\r\n if (quill)\r\n quill.root.innerHTML = html;\r\n };\r\n const pasteHTML = (html, source = 'api') => {\r\n const delta = quill === null || quill === void 0 ? void 0 : quill.clipboard.convert(html);\r\n if (delta)\r\n quill === null || quill === void 0 ? void 0 : quill.setContents(delta, source);\r\n };\r\n const focus = () => {\r\n quill === null || quill === void 0 ? void 0 : quill.focus();\r\n };\r\n const reinit = () => {\r\n nextTick(() => {\r\n var _a;\r\n if (!ctx.slots.toolbar && quill)\r\n (_a = quill.getModule('toolbar')) === null || _a === void 0 ? void 0 : _a.container.remove();\r\n initialize();\r\n });\r\n };\r\n watch(() => props.content, (newContent) => {\r\n if (!quill || !newContent || internalModelEquals(newContent))\r\n return;\r\n // Restore the selection and cursor position after updating the content\r\n const selection = quill.getSelection();\r\n if (selection) {\r\n nextTick(() => quill === null || quill === void 0 ? void 0 : quill.setSelection(selection));\r\n }\r\n setContents(newContent);\r\n }, { deep: true });\r\n watch(() => props.enable, (newValue) => {\r\n if (quill)\r\n quill.enable(newValue);\r\n });\r\n return {\r\n editor,\r\n getEditor,\r\n getToolbar,\r\n getQuill,\r\n getContents,\r\n setContents,\r\n getHTML,\r\n setHTML,\r\n pasteHTML,\r\n focus,\r\n getText,\r\n setText,\r\n reinit,\r\n };\r\n },\r\n render() {\r\n var _a, _b;\r\n return [\r\n (_b = (_a = this.$slots).toolbar) === null || _b === void 0 ? void 0 : _b.call(_a),\r\n h('div', { ref: 'editor', ...this.$attrs }),\r\n ];\r\n },\r\n});\n\nexport { QuillEditor };\n","import { QuillEditor } from '@vueup/vue-quill'\n\nconst components = [{ name: 'QuillEditor', component: QuillEditor }]\n\nexport default components","// Material Design Icons v7.3.67\r\nexport var mdiAbTesting = \"M4 2A2 2 0 0 0 2 4V12H4V8H6V12H8V4A2 2 0 0 0 6 2H4M4 4H6V6H4M22 15.5V14A2 2 0 0 0 20 12H16V22H20A2 2 0 0 0 22 20V18.5A1.54 1.54 0 0 0 20.5 17A1.54 1.54 0 0 0 22 15.5M20 20H18V18H20V20M20 16H18V14H20M5.79 21.61L4.21 20.39L18.21 2.39L19.79 3.61Z\";\r\nexport var mdiAbacus = \"M5 5H7V11H5V5M10 5H8V11H10V5M5 19H7V13H5V19M10 13H8V19H10V17H15V15H10V13M2 21H4V3H2V21M20 3V7H13V5H11V11H13V9H20V15H18V13H16V19H18V17H20V21H22V3H20Z\";\r\nexport var mdiAbjadArabic = \"M12 4C10.08 4 8.5 5.58 8.5 7.5C8.5 8.43 8.88 9.28 9.5 9.91C7.97 10.91 7 12.62 7 14.5C7 17.53 9.47 20 12.5 20C14.26 20 16 19.54 17.5 18.66L16.5 16.93C15.28 17.63 13.9 18 12.5 18C10.56 18 9 16.45 9 14.5C9 12.91 10.06 11.53 11.59 11.12L16.8 9.72L16.28 7.79L11.83 9C11.08 8.9 10.5 8.28 10.5 7.5C10.5 6.66 11.16 6 12 6C12.26 6 12.5 6.07 12.75 6.2L13.75 4.47C13.22 4.16 12.61 4 12 4Z\";\r\nexport var mdiAbjadHebrew = \"M3.9 4L9 10.03C7.58 10.17 6.36 11.18 6 12.59L4 20H6.07L7.92 13.11C8.09 12.46 8.69 12 9.36 12H10.69L17.47 20H20.1L15 13.97C16.42 13.83 17.64 12.82 18 11.41L20 4H17.93L16.08 10.89C15.91 11.54 15.31 12 14.64 12H13.31L6.53 4Z\";\r\nexport var mdiAbugidaDevanagari = \"M8 3V5H11C12.32 5 13.41 5.83 13.82 7H6V9H14V10H12C9.25 10 7 12.25 7 15C7 17.75 9.25 20 12 20C12.77 20 13.45 19.73 14 19.3V21H16V17H14C13.55 17.62 12.83 18 12 18C10.33 18 9 16.67 9 15C9 13.33 10.33 12 12 12H16V9H18V7H15.9C15.43 4.72 13.41 3 11 3H8Z\";\r\nexport var mdiAbugidaThai = \"M9 20C9 17.44 10.87 12.42 13.86 7.25C14.29 6.5 15.08 6 16 6C17.12 6 18 6.88 18 8V20H20V8C20 5.8 18.2 4 16 4C14.34 4 12.9 4.92 12.13 6.25C10.56 8.96 9.61 11.15 9 13.03V6.5C9 5.13 7.87 4 6.5 4C5.13 4 4 5.13 4 6.5C4 7.87 5.13 9 6.5 9C6.67 9 6.84 9 7 8.95V20M6.5 6C6.79 6 7 6.21 7 6.5C7 6.79 6.79 7 6.5 7C6.21 7 6 6.79 6 6.5C6 6.21 6.21 6 6.5 6Z\";\r\nexport var mdiAccessPoint = \"M4.93,4.93C3.12,6.74 2,9.24 2,12C2,14.76 3.12,17.26 4.93,19.07L6.34,17.66C4.89,16.22 4,14.22 4,12C4,9.79 4.89,7.78 6.34,6.34L4.93,4.93M19.07,4.93L17.66,6.34C19.11,7.78 20,9.79 20,12C20,14.22 19.11,16.22 17.66,17.66L19.07,19.07C20.88,17.26 22,14.76 22,12C22,9.24 20.88,6.74 19.07,4.93M7.76,7.76C6.67,8.85 6,10.35 6,12C6,13.65 6.67,15.15 7.76,16.24L9.17,14.83C8.45,14.11 8,13.11 8,12C8,10.89 8.45,9.89 9.17,9.17L7.76,7.76M16.24,7.76L14.83,9.17C15.55,9.89 16,10.89 16,12C16,13.11 15.55,14.11 14.83,14.83L16.24,16.24C17.33,15.15 18,13.65 18,12C18,10.35 17.33,8.85 16.24,7.76M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiAccessPointCheck = \"M20.59 14.84L21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84M19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12V12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93M15.96 12.36C16.6 12.13 17.28 12 18 12C18 10.35 17.33 8.85 16.24 7.76L14.83 9.17C15.55 9.89 16 10.89 16 12C16 12.12 15.97 12.24 15.96 12.36M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76Z\";\r\nexport var mdiAccessPointMinus = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M14 19H22V17H14V19Z\";\r\nexport var mdiAccessPointNetwork = \"M4.93,3.93C3.12,5.74 2,8.24 2,11C2,13.76 3.12,16.26 4.93,18.07L6.34,16.66C4.89,15.22 4,13.22 4,11C4,8.79 4.89,6.78 6.34,5.34L4.93,3.93M19.07,3.93L17.66,5.34C19.11,6.78 20,8.79 20,11C20,13.22 19.11,15.22 17.66,16.66L19.07,18.07C20.88,16.26 22,13.76 22,11C22,8.24 20.88,5.74 19.07,3.93M7.76,6.76C6.67,7.85 6,9.35 6,11C6,12.65 6.67,14.15 7.76,15.24L9.17,13.83C8.45,13.11 8,12.11 8,11C8,9.89 8.45,8.89 9.17,8.17L7.76,6.76M16.24,6.76L14.83,8.17C15.55,8.89 16,9.89 16,11C16,12.11 15.55,13.11 14.83,13.83L16.24,15.24C17.33,14.15 18,12.65 18,11C18,9.35 17.33,7.85 16.24,6.76M12,9A2,2 0 0,0 10,11A2,2 0 0,0 12,13A2,2 0 0,0 14,11A2,2 0 0,0 12,9M11,15V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15A1,1 0 0,0 14,19H13V15H11Z\";\r\nexport var mdiAccessPointNetworkOff = \"M14.83,13.83C15.55,13.11 16,12.11 16,11C16,9.89 15.55,8.89 14.83,8.17L16.24,6.76C17.33,7.85 18,9.35 18,11C18,12.65 17.33,14.15 16.24,15.24L14.83,13.83M14,11A2,2 0 0,0 12,9C11.4,9 10.87,9.27 10.5,9.68L13.32,12.5C13.73,12.13 14,11.6 14,11M17.66,16.66L19.07,18.07C20.88,16.26 22,13.76 22,11C22,8.24 20.88,5.74 19.07,3.93L17.66,5.34C19.11,6.78 20,8.79 20,11C20,13.22 19.11,15.22 17.66,16.66M22,21.18V20H20.82L22,21.18M20.27,22L21,22.73L19.73,24L17.73,22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V15.27L8.34,12.61C8.54,13.07 8.82,13.5 9.17,13.83L7.76,15.24C6.67,14.15 6,12.65 6,11C6,10.77 6,10.54 6.04,10.31L4.37,8.64C4.14,9.39 4,10.18 4,11C4,13.22 4.89,15.22 6.34,16.66L4.93,18.07C3.12,16.26 2,13.76 2,11C2,9.61 2.29,8.28 2.81,7.08L1,5.27L2.28,4L3.7,5.42L5.15,6.87L6.63,8.35V8.35L8.17,9.9L10.28,12L11,12.71L18.27,20H18.28L20.28,22H20.27M15.73,20L13,17.27V19H14A1,1 0 0,1 15,20H15.73Z\";\r\nexport var mdiAccessPointOff = \"M20.84 22.73L12.1 14C12.06 14 12.03 14 12 14C10.9 14 10 13.11 10 12C10 11.97 10 11.94 10 11.9L8.4 10.29C8.15 10.81 8 11.38 8 12C8 13.11 8.45 14.11 9.17 14.83L7.76 16.24C6.67 15.15 6 13.65 6 12C6 10.83 6.34 9.74 6.93 8.82L5.5 7.37C4.55 8.67 4 10.27 4 12C4 14.22 4.89 16.22 6.34 17.66L4.93 19.07C3.12 17.26 2 14.76 2 12C2 9.72 2.77 7.63 4.06 5.95L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15.93 12.73L17.53 14.33C17.83 13.61 18 12.83 18 12C18 10.35 17.33 8.85 16.24 7.76L14.83 9.17C15.55 9.89 16 10.89 16 12C16 12.25 15.97 12.5 15.93 12.73M19.03 15.83L20.5 17.28C21.44 15.75 22 13.94 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 13.39 19.65 14.7 19.03 15.83Z\";\r\nexport var mdiAccessPointPlus = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M19 14H17V17H14V19H17V22H19V19H22V17H19V14Z\";\r\nexport var mdiAccessPointRemove = \"M16 12C16 10.89 15.55 9.89 14.83 9.17L16.24 7.76C17.33 8.85 18 10.35 18 12C17.28 12 16.6 12.13 15.96 12.36C15.97 12.24 16 12.12 16 12M6.34 6.34L4.93 4.93C3.12 6.74 2 9.24 2 12S3.12 17.26 4.93 19.07L6.34 17.66C4.89 16.22 4 14.22 4 12C4 9.79 4.89 7.78 6.34 6.34M19.07 4.93L17.66 6.34C19.11 7.78 20 9.79 20 12C20 12.12 20 12.23 20 12.34C20.68 12.59 21.33 12.96 21.88 13.43C21.95 12.96 22 12.5 22 12C22 9.24 20.88 6.74 19.07 4.93M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M7.76 7.76C6.67 8.85 6 10.35 6 12S6.67 15.15 7.76 16.24L9.17 14.83C8.45 14.11 8 13.11 8 12S8.45 9.89 9.17 9.17L7.76 7.76M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.53 15.88L20.12 14.46Z\";\r\nexport var mdiAccount = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z\";\r\nexport var mdiAccountAlert = \"M10 4A4 4 0 0 1 14 8A4 4 0 0 1 10 12A4 4 0 0 1 6 8A4 4 0 0 1 10 4M10 14C14.42 14 18 15.79 18 18V20H2V18C2 15.79 5.58 14 10 14M20 12V7H22V13H20M20 17V15H22V17H20Z\";\r\nexport var mdiAccountAlertOutline = \"M20 12V7H22V13H20M20 17H22V15H20M10 13C12.67 13 18 14.34 18 17V20H2V17C2 14.34 7.33 13 10 13M10 4A4 4 0 0 1 14 8A4 4 0 0 1 10 12A4 4 0 0 1 6 8A4 4 0 0 1 10 4M10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H16.1V17C16.1 16.36 12.97 14.9 10 14.9M10 5.9A2.1 2.1 0 0 0 7.9 8A2.1 2.1 0 0 0 10 10.1A2.1 2.1 0 0 0 12.1 8A2.1 2.1 0 0 0 10 5.9Z\";\r\nexport var mdiAccountArrowDown = \"M19 18V14H17V18H15L18 21L21 18H19M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\r\nexport var mdiAccountArrowDownOutline = \"M19 18V14H17V18H15L18 21L21 18H19M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\r\nexport var mdiAccountArrowLeft = \"M17 18H21V16H17V14L14 17L17 20V18M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\r\nexport var mdiAccountArrowLeftOutline = \"M17 18H21V16H17V14L14 17L17 20V18M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\r\nexport var mdiAccountArrowRight = \"M18 16H14V18H18V20L21 17L18 14V16M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\r\nexport var mdiAccountArrowRightOutline = \"M18 16H14V18H18V20L21 17L18 14V16M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\r\nexport var mdiAccountArrowUp = \"M17 17V21H19V17H21L18 14L15 17H17M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14\";\r\nexport var mdiAccountArrowUpOutline = \"M17 17V21H19V17H21L18 14L15 17H17M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13\";\r\nexport var mdiAccountBadge = \"M14 19.5C14 17.5 15.1 15.7 16.7 14.8C15.4 14.3 13.8 14 12 14C7.6 14 4 15.8 4 18V20H14V19.5M19.5 16C17.6 16 16 17.6 16 19.5S17.6 23 19.5 23 23 21.4 23 19.5 21.4 16 19.5 16M16 8C16 10.2 14.2 12 12 12S8 10.2 8 8 9.8 4 12 4 16 5.8 16 8Z\";\r\nexport var mdiAccountBadgeOutline = \"M14 20H4V17C4 14.3 9.3 13 12 13C13.5 13 15.9 13.4 17.7 14.3C16.9 14.6 16.3 15 15.7 15.5C14.6 15.1 13.3 14.9 12 14.9C9 14.9 5.9 16.4 5.9 17V18.1H14.2C14.1 18.5 14 19 14 19.5V20M23 19.5C23 21.4 21.4 23 19.5 23S16 21.4 16 19.5 17.6 16 19.5 16 23 17.6 23 19.5M12 6C13.1 6 14 6.9 14 8S13.1 10 12 10 10 9.1 10 8 10.9 6 12 6M12 4C9.8 4 8 5.8 8 8S9.8 12 12 12 16 10.2 16 8 14.2 4 12 4Z\";\r\nexport var mdiAccountBox = \"M6,17C6,15 10,13.9 12,13.9C14,13.9 18,15 18,17V18H6M15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6A3,3 0 0,1 15,9M3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5C3.89,3 3,3.9 3,5Z\";\r\nexport var mdiAccountBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H8A2,2 0 0,1 6,16V4A2,2 0 0,1 8,2H20M17,7A3,3 0 0,0 14,4A3,3 0 0,0 11,7A3,3 0 0,0 14,10A3,3 0 0,0 17,7M8,15V16H20V15C20,13 16,11.9 14,11.9C12,11.9 8,13 8,15Z\";\r\nexport var mdiAccountBoxMultipleOutline = \"M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6M18.5 14.25C18.5 12.75 15.5 12 14 12S9.5 12.75 9.5 14.25V15H18.5M14 10.25C15.24 10.25 16.25 9.24 16.25 8S15.24 5.75 14 5.75 11.75 6.76 11.75 8 12.76 10.25 14 10.25M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.89 21.1 2 20 2M20 16H8V4H20V16Z\";\r\nexport var mdiAccountBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M16.5,16.25C16.5,14.75 13.5,14 12,14C10.5,14 7.5,14.75 7.5,16.25V17H16.5M12,12.25A2.25,2.25 0 0,0 14.25,10A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10A2.25,2.25 0 0,0 12,12.25Z\";\r\nexport var mdiAccountCancel = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22 17.5C22 15 20 13 17.5 13M10 14C5.58 14 2 15.79 2 18V20H11.5A6.5 6.5 0 0 1 11 17.5A6.5 6.5 0 0 1 11.95 14.14C11.32 14.06 10.68 14 10 14M17.5 14.5C19.16 14.5 20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94 14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5 14.5 19.16 14.5 17.5C14.5 16.94 14.65 16.42 14.92 16Z\";\r\nexport var mdiAccountCancelOutline = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M10 6A2 2 0 0 1 12 8A2 2 0 0 1 10 10A2 2 0 0 1 8 8A2 2 0 0 1 10 6M10 13C7.33 13 2 14.33 2 17V20H11.5A6.5 6.5 0 0 1 11.03 18.1H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.5 14.9 11 14.95 11.5 15.03A6.5 6.5 0 0 1 12.55 13.29C11.61 13.1 10.71 13 10 13M17.5 13C15 13 13 15 13 17.5C13 20 15 22 17.5 22C20 22 22 20 22 17.5C22 15 20 13 17.5 13M17.5 14.5C19.16 14.5 20.5 15.84 20.5 17.5C20.5 18.06 20.35 18.58 20.08 19L16 14.92C16.42 14.65 16.94 14.5 17.5 14.5M14.92 16L19 20.08C18.58 20.35 18.06 20.5 17.5 20.5C15.84 20.5 14.5 19.16 14.5 17.5C14.5 16.94 14.65 16.42 14.92 16Z\";\r\nexport var mdiAccountCard = \"M7 12C9.2 12 11 10.2 11 8S9.2 4 7 4 3 5.8 3 8 4.8 12 7 12M11 20V14.7C9.9 14.3 8.5 14 7 14C3.1 14 0 15.8 0 18V20H11M15 4C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4H15Z\";\r\nexport var mdiAccountCardOutline = \"M7 4C4.8 4 3 5.8 3 8S4.8 12 7 12 11 10.2 11 8 9.2 4 7 4M7 10C5.9 10 5 9.1 5 8S5.9 6 7 6 9 6.9 9 8 8.1 10 7 10M0 18C0 15.8 3.1 14 7 14C8.5 14 9.9 14.3 11 14.7V17C10.2 16.5 8.8 16 7 16C3.8 16 2 17.4 2 18H11V20H0V18M22 4H15C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4M22 18H15V6H22V18Z\";\r\nexport var mdiAccountCash = \"M11 8C11 10.21 9.21 12 7 12C4.79 12 3 10.21 3 8C3 5.79 4.79 4 7 4C9.21 4 11 5.79 11 8M11 14.72V20H0V18C0 15.79 3.13 14 7 14C8.5 14 9.87 14.27 11 14.72M24 20H13V3H24V20M16 11.5C16 10.12 17.12 9 18.5 9C19.88 9 21 10.12 21 11.5C21 12.88 19.88 14 18.5 14C17.12 14 16 12.88 16 11.5M22 7C20.9 7 20 6.11 20 5H17C17 6.11 16.11 7 15 7V16C16.11 16 17 16.9 17 18H20C20 16.9 20.9 16 22 16V7Z\";\r\nexport var mdiAccountCashOutline = \"M16 11.5C16 10.12 17.12 9 18.5 9S21 10.12 21 11.5 19.88 14 18.5 14 16 12.88 16 11.5M13 3V20H24V3H13M22 16C20.9 16 20 16.9 20 18H17C17 16.9 16.11 16 15 16V7C16.11 7 17 6.11 17 5H20C20 6.11 20.9 7 22 7V16M7 6C8.1 6 9 6.9 9 8S8.1 10 7 10 5 9.1 5 8 5.9 6 7 6M7 4C4.79 4 3 5.79 3 8S4.79 12 7 12 11 10.21 11 8 9.21 4 7 4M7 14C3.13 14 0 15.79 0 18V20H11V18H2C2 17.42 3.75 16 7 16C8.83 16 10.17 16.45 11 16.95V14.72C9.87 14.27 8.5 14 7 14Z\";\r\nexport var mdiAccountCheck = \"M21.1,12.5L22.5,13.91L15.97,20.5L12.5,17L13.9,15.59L15.97,17.67L21.1,12.5M10,17L13,20H3V18C3,15.79 6.58,14 11,14L12.89,14.11L10,17M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4Z\";\r\nexport var mdiAccountCheckOutline = \"M21.1,12.5L22.5,13.91L15.97,20.5L12.5,17L13.9,15.59L15.97,17.67L21.1,12.5M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4M11,6A2,2 0 0,0 9,8A2,2 0 0,0 11,10A2,2 0 0,0 13,8A2,2 0 0,0 11,6M11,13C11.68,13 12.5,13.09 13.41,13.26L11.74,14.93L11,14.9C8.03,14.9 4.9,16.36 4.9,17V18.1H11.1L13,20H3V17C3,14.34 8.33,13 11,13Z\";\r\nexport var mdiAccountChild = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M12,9C13.63,9 15.12,9.35 16.5,10.05C17.84,10.76 18.5,11.61 18.5,12.61V18.38C18.5,19.5 17.64,20.44 15.89,21.19V19C15.89,18.05 15.03,17.38 13.31,16.97C12.75,16.84 12.31,16.78 12,16.78C11.13,16.78 10.3,16.95 9.54,17.3C8.77,17.64 8.31,18.08 8.16,18.61C9.5,19.14 10.78,19.41 12,19.41L13,19.31V21.94L12,22C10.63,22 9.33,21.72 8.11,21.19C6.36,20.44 5.5,19.5 5.5,18.38V12.61C5.5,11.61 6.16,10.76 7.5,10.05C8.88,9.35 10.38,9 12,9M12,11A2,2 0 0,0 10,13A2,2 0 0,0 12,15A2,2 0 0,0 14,13A2,2 0 0,0 12,11Z\";\r\nexport var mdiAccountChildCircle = \"M12,12A1.5,1.5 0 0,1 13.5,13.5A1.5,1.5 0 0,1 12,15A1.5,1.5 0 0,1 10.5,13.5A1.5,1.5 0 0,1 12,12M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,16C12.72,16 13.4,16.15 14.04,16.5C14.68,16.8 15,17.2 15,17.67V19.41C16.34,18.81 17,18.08 17,17.2V12.8C17,12 16.5,11.35 15.45,10.8C14.4,10.26 13.25,10 12,10C10.75,10 9.6,10.26 8.55,10.8C7.5,11.35 7,12 7,12.8V17.2C7,18 7.53,18.69 8.63,19.22C9.72,19.75 10.84,20 12,20L13,19.92V17.91L12,18C11,18 10,17.8 9.05,17.39C9.17,17 9.53,16.69 10.13,16.41C10.72,16.13 11.34,16 12,16M12,4A2.5,2.5 0 0,0 9.5,6.5A2.5,2.5 0 0,0 12,9A2.5,2.5 0 0,0 14.5,6.5A2.5,2.5 0 0,0 12,4Z\";\r\nexport var mdiAccountChildOutline = \"M12 17C10.9 17 10 16.1 10 15C10 13.9 10.9 13 12 13C13.1 13 14 13.9 14 15C14 16.1 13.1 17 12 17M12 10C14.34 10 19 11.16 19 13.5V18.63C19 19.5 18.31 20.24 17.34 20.79V13.38C17.34 12.82 14.6 11.54 12 11.54C9.4 11.54 6.66 12.82 6.66 13.38V18.75C6.66 19 7.31 19.46 8.28 19.85C9 19 10.93 18.56 12 18.56C13.33 18.56 16 19.22 16 20.56V21.39C14.63 21.88 13.07 22.13 12 22.13C10.93 22.13 9.38 21.88 8 21.39H8C6.37 20.81 5 19.89 5 18.63V13.5C5 11.16 9.66 10 12 10M12 3.75C11.03 3.75 10.25 4.53 10.25 5.5C10.25 6.47 11.03 7.25 12 7.25C12.97 7.25 13.75 6.47 13.75 5.5C13.75 4.53 12.97 3.75 12 3.75M12 9C10.07 9 8.5 7.43 8.5 5.5C8.5 3.57 10.07 2 12 2C13.93 2 15.5 3.57 15.5 5.5C15.5 7.43 13.93 9 12 9Z\";\r\nexport var mdiAccountCircle = \"M12,19.2C9.5,19.2 7.29,17.92 6,16C6.03,14 10,12.9 12,12.9C14,12.9 17.97,14 18,16C16.71,17.92 14.5,19.2 12,19.2M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\r\nexport var mdiAccountCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.07,18.28C7.5,17.38 10.12,16.5 12,16.5C13.88,16.5 16.5,17.38 16.93,18.28C15.57,19.36 13.86,20 12,20C10.14,20 8.43,19.36 7.07,18.28M18.36,16.83C16.93,15.09 13.46,14.5 12,14.5C10.54,14.5 7.07,15.09 5.64,16.83C4.62,15.5 4,13.82 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,13.82 19.38,15.5 18.36,16.83M12,6C10.06,6 8.5,7.56 8.5,9.5C8.5,11.44 10.06,13 12,13C13.94,13 15.5,11.44 15.5,9.5C15.5,7.56 13.94,6 12,6M12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11Z\";\r\nexport var mdiAccountClock = \"M10.63,14.1C12.23,10.58 16.38,9.03 19.9,10.63C23.42,12.23 24.97,16.38 23.37,19.9C22.24,22.4 19.75,24 17,24C14.3,24 11.83,22.44 10.67,20H1V18C1.06,16.86 1.84,15.93 3.34,15.18C4.84,14.43 6.72,14.04 9,14C9.57,14 10.11,14.05 10.63,14.1V14.1M9,4C10.12,4.03 11.06,4.42 11.81,5.17C12.56,5.92 12.93,6.86 12.93,8C12.93,9.14 12.56,10.08 11.81,10.83C11.06,11.58 10.12,11.95 9,11.95C7.88,11.95 6.94,11.58 6.19,10.83C5.44,10.08 5.07,9.14 5.07,8C5.07,6.86 5.44,5.92 6.19,5.17C6.94,4.42 7.88,4.03 9,4M17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14Z\";\r\nexport var mdiAccountClockOutline = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M17,10A7,7 0 0,1 24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H1V17C1,14.34 6.33,13 9,13C9.6,13 10.34,13.07 11.12,13.2C12.36,11.28 14.53,10 17,10M10,17C10,16.3 10.1,15.62 10.29,15C9.87,14.93 9.43,14.9 9,14.9C6.03,14.9 2.9,16.36 2.9,17V18.1H10.09C10.03,17.74 10,17.37 10,17M9,4A4,4 0 0,1 13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4M9,5.9A2.1,2.1 0 0,0 6.9,8A2.1,2.1 0 0,0 9,10.1A2.1,2.1 0 0,0 11.1,8A2.1,2.1 0 0,0 9,5.9Z\";\r\nexport var mdiAccountCog = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M17 12C16.87 12 16.76 12.09 16.74 12.21L16.55 13.53C16.25 13.66 15.96 13.82 15.7 14L14.46 13.5C14.35 13.5 14.22 13.5 14.15 13.63L13.15 15.36C13.09 15.47 13.11 15.6 13.21 15.68L14.27 16.5C14.25 16.67 14.24 16.83 14.24 17C14.24 17.17 14.25 17.33 14.27 17.5L13.21 18.32C13.12 18.4 13.09 18.53 13.15 18.64L14.15 20.37C14.21 20.5 14.34 20.5 14.46 20.5L15.7 20C15.96 20.18 16.24 20.35 16.55 20.47L16.74 21.79C16.76 21.91 16.86 22 17 22H19C19.11 22 19.22 21.91 19.24 21.79L19.43 20.47C19.73 20.34 20 20.18 20.27 20L21.5 20.5C21.63 20.5 21.76 20.5 21.83 20.37L22.83 18.64C22.89 18.53 22.86 18.4 22.77 18.32L21.7 17.5C21.72 17.33 21.74 17.17 21.74 17C21.74 16.83 21.73 16.67 21.7 16.5L22.76 15.68C22.85 15.6 22.88 15.47 22.82 15.36L21.82 13.63C21.76 13.5 21.63 13.5 21.5 13.5L20.27 14C20 13.82 19.73 13.65 19.42 13.53L19.23 12.21C19.22 12.09 19.11 12 19 12H17M10 14C5.58 14 2 15.79 2 18V20H11.68A7 7 0 0 1 11 17A7 7 0 0 1 11.64 14.09C11.11 14.03 10.56 14 10 14M18 15.5C18.83 15.5 19.5 16.17 19.5 17C19.5 17.83 18.83 18.5 18 18.5C17.16 18.5 16.5 17.83 16.5 17C16.5 16.17 17.17 15.5 18 15.5Z\";\r\nexport var mdiAccountCogOutline = \"M10 4A4 4 0 0 0 6 8A4 4 0 0 0 10 12A4 4 0 0 0 14 8A4 4 0 0 0 10 4M10 6A2 2 0 0 1 12 8A2 2 0 0 1 10 10A2 2 0 0 1 8 8A2 2 0 0 1 10 6M17 12C16.84 12 16.76 12.08 16.76 12.24L16.5 13.5C16.28 13.68 15.96 13.84 15.72 14L14.44 13.5C14.36 13.5 14.2 13.5 14.12 13.6L13.16 15.36C13.08 15.44 13.08 15.6 13.24 15.68L14.28 16.5V17.5L13.24 18.32C13.16 18.4 13.08 18.56 13.16 18.64L14.12 20.4C14.2 20.5 14.36 20.5 14.44 20.5L15.72 20C15.96 20.16 16.28 20.32 16.5 20.5L16.76 21.76C16.76 21.92 16.84 22 17 22H19C19.08 22 19.24 21.92 19.24 21.76L19.4 20.5C19.72 20.32 20.04 20.16 20.28 20L21.5 20.5C21.64 20.5 21.8 20.5 21.8 20.4L22.84 18.64C22.92 18.56 22.84 18.4 22.76 18.32L21.72 17.5V16.5L22.76 15.68C22.84 15.6 22.92 15.44 22.84 15.36L21.8 13.6C21.8 13.5 21.64 13.5 21.5 13.5L20.28 14C20.04 13.84 19.72 13.68 19.4 13.5L19.24 12.24C19.24 12.08 19.08 12 19 12H17M10 13C7.33 13 2 14.33 2 17V20H11.67C11.39 19.41 11.19 18.77 11.09 18.1H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.43 14.9 10.87 14.94 11.3 15C11.5 14.36 11.77 13.76 12.12 13.21C11.34 13.08 10.6 13 10 13M18.04 15.5C18.84 15.5 19.5 16.16 19.5 17.04C19.5 17.84 18.84 18.5 18.04 18.5C17.16 18.5 16.5 17.84 16.5 17.04C16.5 16.16 17.16 15.5 18.04 15.5Z\";\r\nexport var mdiAccountConvert = \"M12 0L11.34 .03L15.15 3.84L16.5 2.5C19.75 4.07 22.09 7.24 22.45 11H23.95C23.44 4.84 18.29 0 12 0M12 4C10.07 4 8.5 5.57 8.5 7.5C8.5 9.43 10.07 11 12 11C13.93 11 15.5 9.43 15.5 7.5C15.5 5.57 13.93 4 12 4M.05 13C.56 19.16 5.71 24 12 24L12.66 23.97L8.85 20.16L7.5 21.5C4.25 19.94 1.91 16.76 1.55 13H.05M12 13C8.13 13 5 14.57 5 16.5V18H19V16.5C19 14.57 15.87 13 12 13Z\";\r\nexport var mdiAccountConvertOutline = \"M12 0L11.34 .03L15.15 3.84L16.5 2.5C19.75 4.07 22.09 7.24 22.45 11H23.95C23.44 4.84 18.29 0 12 0M12 4C10.07 4 8.5 5.57 8.5 7.5C8.5 9.43 10.07 11 12 11C13.93 11 15.5 9.43 15.5 7.5C15.5 5.57 13.93 4 12 4M12 6C12.83 6 13.5 6.67 13.5 7.5C13.5 8.33 12.83 9 12 9C11.17 9 10.5 8.33 10.5 7.5C10.5 6.67 11.17 6 12 6M.05 13C.56 19.16 5.71 24 12 24L12.66 23.97L8.85 20.16L7.5 21.5C4.25 19.94 1.91 16.76 1.55 13H.05M12 13C8.13 13 5 14.57 5 16.5V18H19V16.5C19 14.57 15.87 13 12 13M12 15C14.11 15 15.61 15.53 16.39 16H7.61C8.39 15.53 9.89 15 12 15Z\";\r\nexport var mdiAccountCowboyHat = \"M20 22H4V20C4 17.8 7.6 16 12 16S20 17.8 20 20M8 9H16V10C16 12.2 14.2 14 12 14S8 12.2 8 10M19 4C18.4 4 18 4.4 18 5V6H16.5L15.1 3C15 2.8 14.9 2.6 14.7 2.5C14.2 2 13.4 1.9 12.7 2.2L12 2.4L11.3 2.1C10.6 1.8 9.8 1.9 9.3 2.4C9.1 2.6 9 2.8 8.9 3L7.5 6H6V5C6 4.4 5.6 4 5 4S4 4.4 4 5V6C4 7.1 4.9 8 6 8H18C19.1 8 20 7.1 20 6V5C20 4.5 19.6 4 19 4Z\";\r\nexport var mdiAccountCowboyHatOutline = \"M19 4C18.4 4 18 4.4 18 5V6H16.5L15.1 3C15 2.8 14.9 2.6 14.7 2.5C14.2 2 13.4 1.9 12.7 2.2L12 2.4L11.3 2.1C10.6 1.8 9.8 1.9 9.3 2.4C9.1 2.6 9 2.8 8.9 3L7.5 6H6V5C6 4.4 5.6 4 5 4S4 4.4 4 5V6C4 7.1 4.9 8 6 8H18C19.1 8 20 7.1 20 6V5C20 4.5 19.6 4 19 4M4 22V19C4 16.33 9.33 15 12 15S20 16.33 20 19V22H4M18.1 20.1V19C18.1 18.36 14.97 16.9 12 16.9S5.9 18.36 5.9 19V20.1H18.1M16 9V10C16 12.21 14.21 14 12 14S8 12.21 8 10V9H10V10C10 11.11 10.9 12 12 12S14 11.11 14 10V9H16Z\";\r\nexport var mdiAccountCreditCard = \"M7 12C9.2 12 11 10.2 11 8S9.2 4 7 4 3 5.8 3 8 4.8 12 7 12M11 20V14.7C9.9 14.3 8.5 14 7 14C3.1 14 0 15.8 0 18V20H11M22 4H15C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4M18 18H16V6H18V18Z\";\r\nexport var mdiAccountCreditCardOutline = \"M7 4C4.8 4 3 5.8 3 8S4.8 12 7 12 11 10.2 11 8 9.2 4 7 4M7 10C5.9 10 5 9.1 5 8S5.9 6 7 6 9 6.9 9 8 8.1 10 7 10M7 14C3.1 14 0 15.8 0 18V20H11V18H2C2 17.4 3.8 16 7 16C8.8 16 10.2 16.5 11 17V14.8C9.9 14.3 8.5 14 7 14M22 4H15C13.9 4 13 4.9 13 6V18C13 19.1 13.9 20 15 20H22C23.1 20 24 19.1 24 18V6C24 4.9 23.1 4 22 4M16 18H15V6H16V18M22 18H18V6H22V18Z\";\r\nexport var mdiAccountDetails = \"M11 9C11 10.66 9.66 12 8 12C6.34 12 5 10.66 5 9C5 7.34 6.34 6 8 6C9.66 6 11 7.34 11 9M14 20H2V18C2 15.79 4.69 14 8 14C11.31 14 14 15.79 14 18M22 12V14H13V12M22 8V10H13V8M22 4V6H13V4Z\";\r\nexport var mdiAccountDetailsOutline = \"M11 9C11 10.66 9.66 12 8 12C6.34 12 5 10.66 5 9C5 7.34 6.34 6 8 6C9.66 6 11 7.34 11 9M14 20H2V18C2 15.79 4.69 14 8 14C11.31 14 14 15.79 14 18M7 9C7 9.55 7.45 10 8 10C8.55 10 9 9.55 9 9C9 8.45 8.55 8 8 8C7.45 8 7 8.45 7 9M4 18H12C12 16.9 10.21 16 8 16C5.79 16 4 16.9 4 18M22 12V14H13V12M22 8V10H13V8M22 4V6H13V4Z\";\r\nexport var mdiAccountEdit = \"M21.7,13.35L20.7,14.35L18.65,12.3L19.65,11.3C19.86,11.09 20.21,11.09 20.42,11.3L21.7,12.58C21.91,12.79 21.91,13.14 21.7,13.35M12,18.94L18.06,12.88L20.11,14.93L14.06,21H12V18.94M12,14C7.58,14 4,15.79 4,18V20H10V18.11L14,14.11C13.34,14.03 12.67,14 12,14M12,4A4,4 0 0,0 8,8A4,4 0 0,0 12,12A4,4 0 0,0 16,8A4,4 0 0,0 12,4Z\";\r\nexport var mdiAccountEditOutline = \"M2 17V20H10V18.11H3.9V17C3.9 16.36 7.03 14.9 10 14.9C10.96 14.91 11.91 15.04 12.83 15.28L14.35 13.76C12.95 13.29 11.5 13.03 10 13C7.33 13 2 14.33 2 17M10 4C7.79 4 6 5.79 6 8S7.79 12 10 12 14 10.21 14 8 12.21 4 10 4M10 10C8.9 10 8 9.11 8 8S8.9 6 10 6 12 6.9 12 8 11.11 10 10 10M21.7 13.35L20.7 14.35L18.65 12.35L19.65 11.35C19.86 11.14 20.21 11.14 20.42 11.35L21.7 12.63C21.91 12.84 21.91 13.19 21.7 13.4M12 18.94L18.06 12.88L20.11 14.88L14.11 20.95H12V18.94\";\r\nexport var mdiAccountEye = \"M6 8C6 5.79 7.79 4 10 4S14 5.79 14 8 12.21 12 10 12 6 10.21 6 8M9.14 19.75L8.85 19L9.14 18.25C9.84 16.5 11.08 15.14 12.61 14.22C11.79 14.08 10.92 14 10 14C5.58 14 2 15.79 2 18V20H9.27C9.23 19.91 9.18 19.83 9.14 19.75M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\r\nexport var mdiAccountEyeOutline = \"M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M9.27 20H2V17C2 14.33 7.33 13 10 13C11.04 13 12.5 13.21 13.86 13.61C13 13.95 12.2 14.42 11.5 15C11 14.94 10.5 14.9 10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H9.22C9.2 18.15 9.17 18.2 9.14 18.25L8.85 19L9.14 19.75C9.18 19.83 9.23 19.91 9.27 20M17 18C17.56 18 18 18.44 18 19S17.56 20 17 20 16 19.56 16 19 16.44 18 17 18M17 15C14.27 15 11.94 16.66 11 19C11.94 21.34 14.27 23 17 23S22.06 21.34 23 19C22.06 16.66 19.73 15 17 15M17 21.5C15.62 21.5 14.5 20.38 14.5 19S15.62 16.5 17 16.5 19.5 17.62 19.5 19 18.38 21.5 17 21.5Z\";\r\nexport var mdiAccountFile = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M18 10H21V9.83L18.17 7H18V10Z\";\r\nexport var mdiAccountFileOutline = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V15.56C10.18 15.22 8.91 15 7.5 15C5 15 3 15.67 3 16.5V17H11V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M15 7V17H21V10H18V7H15M7.5 7C6.67 7 6 7.67 6 8.5C6 9.33 6.67 10 7.5 10C8.33 10 9 9.33 9 8.5C9 7.67 8.33 7 7.5 7Z\";\r\nexport var mdiAccountFileText = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M18 10H21V9.83L18.17 7H18V10M15 12V13.5H21V12H15M15 15V16.5H21V15H15Z\";\r\nexport var mdiAccountFileTextOutline = \"M7.5 5C9.43 5 11 6.57 11 8.5C11 10.43 9.43 12 7.5 12C5.57 12 4 10.43 4 8.5C4 6.57 5.57 5 7.5 5M1 19V16.5C1 14.57 4.46 13 7.5 13C8.68 13 9.92 13.24 11 13.64V15.56C10.18 15.22 8.91 15 7.5 15C5 15 3 15.67 3 16.5V17H11V19H1M22 19H14C13.45 19 13 18.55 13 18V6C13 5.45 13.45 5 14 5H19L23 9V18C23 18.55 22.55 19 22 19M15 7V17H21V10H18V7H15M7.5 7C6.67 7 6 7.67 6 8.5C6 9.33 6.67 10 7.5 10C8.33 10 9 9.33 9 8.5C9 7.67 8.33 7 7.5 7M16 13H20V15H16V13Z\";\r\nexport var mdiAccountFilter = \"M10 4C12.2 4 14 5.8 14 8S12.2 12 10 12 6 10.2 6 8 7.8 4 10 4M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M15 18.7L12.7 15.9C12.3 15.4 12.1 14.8 12.1 14.2C11.4 14 10.7 14 10 14C5.6 14 2 15.8 2 18V20H15V18.7Z\";\r\nexport var mdiAccountFilterOutline = \"M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M15 20H2V17C2 14.3 7.3 13 10 13C10.6 13 11.3 13.1 12.1 13.2C11.9 13.8 12 14.5 12.2 15.1C11.5 15 10.7 14.9 10 14.9C7 14.9 3.9 16.4 3.9 17V18.1H14.5L15 18.7V20M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4M10 10C8.9 10 8 9.1 8 8S8.9 6 10 6 12 6.9 12 8 11.1 10 10 10Z\";\r\nexport var mdiAccountGroup = \"M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z\";\r\nexport var mdiAccountGroupOutline = \"M12,5A3.5,3.5 0 0,0 8.5,8.5A3.5,3.5 0 0,0 12,12A3.5,3.5 0 0,0 15.5,8.5A3.5,3.5 0 0,0 12,5M12,7A1.5,1.5 0 0,1 13.5,8.5A1.5,1.5 0 0,1 12,10A1.5,1.5 0 0,1 10.5,8.5A1.5,1.5 0 0,1 12,7M5.5,8A2.5,2.5 0 0,0 3,10.5C3,11.44 3.53,12.25 4.29,12.68C4.65,12.88 5.06,13 5.5,13C5.94,13 6.35,12.88 6.71,12.68C7.08,12.47 7.39,12.17 7.62,11.81C6.89,10.86 6.5,9.7 6.5,8.5C6.5,8.41 6.5,8.31 6.5,8.22C6.2,8.08 5.86,8 5.5,8M18.5,8C18.14,8 17.8,8.08 17.5,8.22C17.5,8.31 17.5,8.41 17.5,8.5C17.5,9.7 17.11,10.86 16.38,11.81C16.5,12 16.63,12.15 16.78,12.3C16.94,12.45 17.1,12.58 17.29,12.68C17.65,12.88 18.06,13 18.5,13C18.94,13 19.35,12.88 19.71,12.68C20.47,12.25 21,11.44 21,10.5A2.5,2.5 0 0,0 18.5,8M12,14C9.66,14 5,15.17 5,17.5V19H19V17.5C19,15.17 14.34,14 12,14M4.71,14.55C2.78,14.78 0,15.76 0,17.5V19H3V17.07C3,16.06 3.69,15.22 4.71,14.55M19.29,14.55C20.31,15.22 21,16.06 21,17.07V19H24V17.5C24,15.76 21.22,14.78 19.29,14.55M12,16C13.53,16 15.24,16.5 16.23,17H7.77C8.76,16.5 10.47,16 12,16Z\";\r\nexport var mdiAccountHardHat = \"M12,15C7.58,15 4,16.79 4,19V21H20V19C20,16.79 16.42,15 12,15M8,9A4,4 0 0,0 12,13A4,4 0 0,0 16,9M11.5,2C11.2,2 11,2.21 11,2.5V5.5H10V3C10,3 7.75,3.86 7.75,6.75C7.75,6.75 7,6.89 7,8H17C16.95,6.89 16.25,6.75 16.25,6.75C16.25,3.86 14,3 14,3V5.5H13V2.5C13,2.21 12.81,2 12.5,2H11.5Z\";\r\nexport var mdiAccountHardHatOutline = \"M16 9C16 14.33 8 14.33 8 9H10C10 11.67 14 11.67 14 9M20 18V21H4V18C4 15.33 9.33 14 12 14C14.67 14 20 15.33 20 18M18.1 18C18.1 17.36 14.97 15.9 12 15.9C9.03 15.9 5.9 17.36 5.9 18V19.1H18.1M12.5 2C12.78 2 13 2.22 13 2.5V5.5H14V3C15.45 3.67 16.34 5.16 16.25 6.75C16.25 6.75 16.95 6.89 17 8H7C7 6.89 7.75 6.75 7.75 6.75C7.66 5.16 8.55 3.67 10 3V5.5H11V2.5C11 2.22 11.22 2 11.5 2\";\r\nexport var mdiAccountHeart = \"M15,14C12.3,14 7,15.3 7,18V20H23V18C23,15.3 17.7,14 15,14M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15Z\";\r\nexport var mdiAccountHeartOutline = \"M5,15L4.4,14.5C2.4,12.6 1,11.4 1,9.9C1,8.7 2,7.7 3.2,7.7C3.9,7.7 4.6,8 5,8.5C5.4,8 6.1,7.7 6.8,7.7C8,7.7 9,8.6 9,9.9C9,11.4 7.6,12.6 5.6,14.5L5,15M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M21.1,18.1H8.9V17C8.9,16.36 12,14.9 15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1Z\";\r\nexport var mdiAccountInjury = \"M8 6C8 3.79 9.79 2 12 2S16 3.79 16 6 14.21 10 12 10 8 8.21 8 6M17 22H18C19.1 22 20 21.1 20 20V15.22C20 14.1 19.39 13.07 18.39 12.56C17.96 12.34 17.5 12.13 17 11.94V22M12.34 17L15 11.33C14.07 11.12 13.07 11 12 11C9.47 11 7.29 11.7 5.61 12.56C4.61 13.07 4 14.1 4 15.22V22H6.34C6.12 21.55 6 21.04 6 20.5C6 18.57 7.57 17 9.5 17H12.34M10 22L11.41 19H9.5C8.67 19 8 19.67 8 20.5S8.67 22 9.5 22H10Z\";\r\nexport var mdiAccountInjuryOutline = \"M12 10C14.21 10 16 8.21 16 6S14.21 2 12 2 8 3.79 8 6 9.79 10 12 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M18.39 12.56C16.71 11.7 14.53 11 12 11S7.29 11.7 5.61 12.56C4.61 13.07 4 14.1 4 15.22V22H6V15.22C6 14.84 6.2 14.5 6.5 14.34C7.71 13.73 9.63 13 12 13C12.76 13 13.47 13.07 14.13 13.2L12.58 16.5H9.75C8.23 16.5 7 17.73 7 19.25S8.23 22 9.75 22H18C19.1 22 20 21.1 20 20V15.22C20 14.1 19.39 13.07 18.39 12.56M10.94 20H9.75C9.34 20 9 19.66 9 19.25S9.34 18.5 9.75 18.5H11.64L10.94 20M18 20H13.15L16.09 13.73C16.63 13.93 17.1 14.14 17.5 14.34C17.8 14.5 18 14.84 18 15.22V20Z\";\r\nexport var mdiAccountKey = \"M11 10V12H9V14H7V12H5.8C5.4 13.2 4.3 14 3 14C1.3 14 0 12.7 0 11S1.3 8 3 8C4.3 8 5.4 8.8 5.8 10H11M3 10C2.4 10 2 10.4 2 11S2.4 12 3 12 4 11.6 4 11 3.6 10 3 10M16 14C18.7 14 24 15.3 24 18V20H8V18C8 15.3 13.3 14 16 14M16 12C13.8 12 12 10.2 12 8S13.8 4 16 4 20 5.8 20 8 18.2 12 16 12Z\";\r\nexport var mdiAccountKeyOutline = \"M5.8 10C5.4 8.8 4.3 8 3 8C1.3 8 0 9.3 0 11S1.3 14 3 14C4.3 14 5.4 13.2 5.8 12H7V14H9V12H11V10H5.8M3 12C2.4 12 2 11.6 2 11S2.4 10 3 10 4 10.4 4 11 3.6 12 3 12M16 4C13.8 4 12 5.8 12 8S13.8 12 16 12 20 10.2 20 8 18.2 4 16 4M16 10.1C14.8 10.1 13.9 9.2 13.9 8C13.9 6.8 14.8 5.9 16 5.9C17.2 5.9 18.1 6.8 18.1 8S17.2 10.1 16 10.1M16 13C13.3 13 8 14.3 8 17V20H24V17C24 14.3 18.7 13 16 13M22.1 18.1H9.9V17C9.9 16.4 13 14.9 16 14.9C19 14.9 22.1 16.4 22.1 17V18.1Z\";\r\nexport var mdiAccountLock = \"M6 8C6 5.79 7.79 4 10 4S14 5.79 14 8 12.21 12 10 12 6 10.21 6 8M12 18.2C12 17.24 12.5 16.34 13.2 15.74V15.5C13.2 15.11 13.27 14.74 13.38 14.38C12.35 14.14 11.21 14 10 14C5.58 14 2 15.79 2 18V20H12V18.2M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V15.5C15.2 14.1 16.6 13 18 13C19.4 13 20.8 14.1 20.8 15.5V17C21.4 17 22 17.6 22 18.3M19.5 15.5C19.5 14.7 18.8 14.2 18 14.2C17.2 14.2 16.5 14.7 16.5 15.5V17H19.5V15.5Z\";\r\nexport var mdiAccountLockOpen = \"M6 8C6 5.79 7.79 4 10 4S14 5.79 14 8 12.21 12 10 12 6 10.21 6 8M12 18.2C12 17.24 12.5 16.34 13.2 15.74V14.5C13.2 14.45 13.22 14.39 13.22 14.34C12.23 14.12 11.15 14 10 14C5.58 14 2 15.79 2 18V20H12V18.2M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3Z\";\r\nexport var mdiAccountLockOpenOutline = \"M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M12 20H2V17C2 14.33 7.33 13 10 13C10.91 13 12.13 13.16 13.35 13.47C13.26 13.8 13.2 14.15 13.2 14.5V15.39C12.22 15.1 11.1 14.9 10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H12C12 18.13 12 18.17 12 18.2V20M20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17Z\";\r\nexport var mdiAccountLockOutline = \"M10 12C12.21 12 14 10.21 14 8S12.21 4 10 4 6 5.79 6 8 7.79 12 10 12M10 6C11.11 6 12 6.9 12 8S11.11 10 10 10 8 9.11 8 8 8.9 6 10 6M12 20H2V17C2 14.33 7.33 13 10 13C11 13 12.38 13.19 13.71 13.56C13.41 14.12 13.23 14.74 13.21 15.39C12.23 15.1 11.11 14.9 10 14.9C7.03 14.9 3.9 16.36 3.9 17V18.1H12C12 18.13 12 18.17 12 18.2V20M20.8 17V15.5C20.8 14.1 19.4 13 18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17Z\";\r\nexport var mdiAccountMinus = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M1,10V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\";\r\nexport var mdiAccountMinusOutline = \"M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9M1,10V12H9V10H1M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1H8.9V17C8.9,16.36 12,14.9 15,14.9Z\";\r\nexport var mdiAccountMultiple = \"M16 17V19H2V17S2 13 9 13 16 17 16 17M12.5 7.5A3.5 3.5 0 1 0 9 11A3.5 3.5 0 0 0 12.5 7.5M15.94 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13M15 4A3.39 3.39 0 0 0 13.07 4.59A5 5 0 0 1 13.07 10.41A3.39 3.39 0 0 0 15 11A3.5 3.5 0 0 0 15 4Z\";\r\nexport var mdiAccountMultipleCheck = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M7.34 8.92L8.5 10.33L3.75 15.08L1 12.08L2.16 10.92L3.75 12.5L7.34 8.92\";\r\nexport var mdiAccountMultipleCheckOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M7.34 8.92L8.5 10.33L3.75 15.08L1 12.08L2.16 10.92L3.75 12.5L7.34 8.92\";\r\nexport var mdiAccountMultipleMinus = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M8 10H0V12H8Z\";\r\nexport var mdiAccountMultipleMinusOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M8 12H0V10H8Z\";\r\nexport var mdiAccountMultipleOutline = \"M13.07 10.41A5 5 0 0 0 13.07 4.59A3.39 3.39 0 0 1 15 4A3.5 3.5 0 0 1 15 11A3.39 3.39 0 0 1 13.07 10.41M5.5 7.5A3.5 3.5 0 1 1 9 11A3.5 3.5 0 0 1 5.5 7.5M7.5 7.5A1.5 1.5 0 1 0 9 6A1.5 1.5 0 0 0 7.5 7.5M16 17V19H2V17S2 13 9 13 16 17 16 17M14 17C13.86 16.22 12.67 15 9 15S4.07 16.31 4 17M15.95 13A5.32 5.32 0 0 1 18 17V19H22V17S22 13.37 15.94 13Z\";\r\nexport var mdiAccountMultiplePlus = \"M19 17V19H7V17S7 13 13 13 19 17 19 17M16 8A3 3 0 1 0 13 11A3 3 0 0 0 16 8M19.2 13.06A5.6 5.6 0 0 1 21 17V19H24V17S24 13.55 19.2 13.06M18 5A2.91 2.91 0 0 0 17.11 5.14A5 5 0 0 1 17.11 10.86A2.91 2.91 0 0 0 18 11A3 3 0 0 0 18 5M8 10H5V7H3V10H0V12H3V15H5V12H8Z\";\r\nexport var mdiAccountMultiplePlusOutline = \"M13 11A3 3 0 1 0 10 8A3 3 0 0 0 13 11M13 7A1 1 0 1 1 12 8A1 1 0 0 1 13 7M17.11 10.86A5 5 0 0 0 17.11 5.14A2.91 2.91 0 0 1 18 5A3 3 0 0 1 18 11A2.91 2.91 0 0 1 17.11 10.86M13 13C7 13 7 17 7 17V19H19V17S19 13 13 13M9 17C9 16.71 9.32 15 13 15C16.5 15 16.94 16.56 17 17M24 17V19H21V17A5.6 5.6 0 0 0 19.2 13.06C24 13.55 24 17 24 17M8 12H5V15H3V12H0V10H3V7H5V10H8Z\";\r\nexport var mdiAccountMultipleRemove = \"M24 17V19H21V17C21 15.45 20.3 14.06 19.18 13.06C24 13.55 24 17 24 17M18 5C19.66 5 21 6.34 21 8C21 9.66 19.66 11 18 11C17.69 11 17.38 10.95 17.1 10.86C17.67 10.05 18 9.07 18 8C18 6.94 17.67 5.95 17.1 5.14C17.38 5.05 17.69 5 18 5M13 5C14.66 5 16 6.34 16 8C16 9.66 14.66 11 13 11C11.34 11 10 9.66 10 8C10 6.34 11.34 5 13 5M19 17V19H7V17C7 14.79 9.69 13 13 13C16.31 13 19 14.79 19 17M.464 13.12L2.59 11L.464 8.88L1.88 7.46L4 9.59L6.12 7.46L7.54 8.88L5.41 11L7.54 13.12L6.12 14.54L4 12.41L1.88 14.54Z\";\r\nexport var mdiAccountMultipleRemoveOutline = \"M24 17V19H21V17C21 15.45 20.3 14.06 19.18 13.06C24 13.55 24 17 24 17M18 5C19.66 5 21 6.34 21 8C21 9.66 19.66 11 18 11C17.69 11 17.38 10.95 17.1 10.86C17.67 10.05 18 9.07 18 8C18 6.94 17.67 5.95 17.1 5.14C17.38 5.05 17.69 5 18 5M13 5C14.66 5 16 6.34 16 8C16 9.66 14.66 11 13 11C11.34 11 10 9.66 10 8C10 6.34 11.34 5 13 5M19 17V19H7V17C7 14.79 9.69 13 13 13C16.31 13 19 14.79 19 17M13 7C12.45 7 12 7.45 12 8C12 8.55 12.45 9 13 9C13.55 9 14 8.55 14 8C14 7.45 13.55 7 13 7M13 15C10.79 15 9 15.9 9 17H17C17 15.9 15.21 15 13 15M.464 13.12L2.59 11L.464 8.88L1.88 7.46L4 9.59L6.12 7.46L7.54 8.88L5.41 11L7.54 13.12L6.12 14.54L4 12.41L1.88 14.54Z\";\r\nexport var mdiAccountMusic = \"M11,14C12,14 13.05,14.16 14.2,14.44C13.39,15.31 13,16.33 13,17.5C13,18.39 13.25,19.23 13.78,20H3V18C3,16.81 3.91,15.85 5.74,15.12C7.57,14.38 9.33,14 11,14M11,12C9.92,12 9,11.61 8.18,10.83C7.38,10.05 7,9.11 7,8C7,6.92 7.38,6 8.18,5.18C9,4.38 9.92,4 11,4C12.11,4 13.05,4.38 13.83,5.18C14.61,6 15,6.92 15,8C15,9.11 14.61,10.05 13.83,10.83C13.05,11.61 12.11,12 11,12M18.5,10H20L22,10V12H20V17.5A2.5,2.5 0 0,1 17.5,20A2.5,2.5 0 0,1 15,17.5A2.5,2.5 0 0,1 17.5,15C17.86,15 18.19,15.07 18.5,15.21V10Z\";\r\nexport var mdiAccountMusicOutline = \"M11,4A4,4 0 0,1 15,8A4,4 0 0,1 11,12A4,4 0 0,1 7,8A4,4 0 0,1 11,4M11,6A2,2 0 0,0 9,8A2,2 0 0,0 11,10A2,2 0 0,0 13,8A2,2 0 0,0 11,6M11,13C12.1,13 13.66,13.23 15.11,13.69C14.5,14.07 14,14.6 13.61,15.23C12.79,15.03 11.89,14.9 11,14.9C8.03,14.9 4.9,16.36 4.9,17V18.1H13.04C13.13,18.8 13.38,19.44 13.76,20H3V17C3,14.34 8.33,13 11,13M18.5,10H20L22,10V12H20V17.5A2.5,2.5 0 0,1 17.5,20A2.5,2.5 0 0,1 15,17.5A2.5,2.5 0 0,1 17.5,15C17.86,15 18.19,15.07 18.5,15.21V10Z\";\r\nexport var mdiAccountNetwork = \"M13,17V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H5V15.5C5,13.57 8.13,12 12,12C15.87,12 19,13.57 19,15.5V17H13M12,3A3.5,3.5 0 0,1 15.5,6.5A3.5,3.5 0 0,1 12,10A3.5,3.5 0 0,1 8.5,6.5A3.5,3.5 0 0,1 12,3Z\";\r\nexport var mdiAccountNetworkOff = \"M13.03 9.83L8.67 5.47C9.11 4.04 10.43 3 12 3C13.93 3 15.5 4.57 15.5 6.5C15.5 8.07 14.46 9.39 13.03 9.83M19 15.5C19 14.26 17.7 13.17 15.75 12.55L19 15.8V15.5M22 22H21.57L20.84 22.73L20.11 22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H5V15.5C5 13.88 7.22 12.5 10.23 12.12L1.11 3L2.39 1.73L22 21.34V21.35L22.11 21.46L22 21.57V22M18.11 20L15.11 17H13V19H14C14.55 19 15 19.45 15 20H18.11Z\";\r\nexport var mdiAccountNetworkOffOutline = \"M19 15.8L15.75 12.55C17.7 13.17 19 14.26 19 15.5V15.8M13.03 9.83L8.67 5.47C9.11 4.04 10.43 3 12 3C13.93 3 15.5 4.57 15.5 6.5C15.5 8.07 14.46 9.39 13.03 9.83M12 8C12.83 8 13.5 7.33 13.5 6.5S12.83 5 12 5 10.5 5.67 10.5 6.5 11.17 8 12 8M22 22H21.57L20.84 22.73L20.11 22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H5V15.5C5 13.88 7.22 12.5 10.23 12.12L1.11 3L2.39 1.73L22 21.34V21.35L22.11 21.46L22 21.57V22M13.11 15L12.11 14C12.08 14 12.04 14 12 14C9.89 14 8.39 14.53 7.61 15H13.11M18.11 20L15.11 17H13V19H14C14.55 19 15 19.45 15 20H18.11Z\";\r\nexport var mdiAccountNetworkOutline = \"M12,10A3.5,3.5 0 0,0 15.5,6.5A3.5,3.5 0 0,0 12,3A3.5,3.5 0 0,0 8.5,6.5A3.5,3.5 0 0,0 12,10M12,5A1.5,1.5 0 0,1 13.5,6.5A1.5,1.5 0 0,1 12,8A1.5,1.5 0 0,1 10.5,6.5A1.5,1.5 0 0,1 12,5M15,20A1,1 0 0,0 14,19H13V17H19V15.5C19,13.57 15.87,12 12,12C8.13,12 5,13.57 5,15.5V17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7.61,15C8.39,14.53 9.89,14 12,14C14.11,14 15.61,14.53 16.39,15H7.61Z\";\r\nexport var mdiAccountOff = \"M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12.28,14L18.28,20L20,21.72L18.73,23L15.73,20H4V18C4,16.16 6.5,14.61 9.87,14.14L2.78,7.05L4.05,5.78L12.28,14M20,18V19.18L15.14,14.32C18,14.93 20,16.35 20,18Z\";\r\nexport var mdiAccountOffOutline = \"M2.75,7L4.03,5.75L13.26,15L20,21.72L18.73,23L15.73,20H4V17C4,15.14 6.61,13.92 9.09,13.36L2.75,7M20,17V19.18L18.1,17.28V17C18.1,16.74 17.6,16.35 16.8,16L14,13.18C16.71,13.63 20,14.91 20,17M5.9,17V18.1H13.83L10.72,15C8.19,15.3 5.9,16.45 5.9,17M12,4A4,4 0 0,1 16,8C16,9.95 14.6,11.58 12.75,11.93L8.07,7.25C8.42,5.4 10.05,4 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6Z\";\r\nexport var mdiAccountOutline = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M12,13C14.67,13 20,14.33 20,17V20H4V17C4,14.33 9.33,13 12,13M12,14.9C9.03,14.9 5.9,16.36 5.9,17V18.1H18.1V17C18.1,16.36 14.97,14.9 12,14.9Z\";\r\nexport var mdiAccountPlus = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M6,10V7H4V10H1V12H4V15H6V12H9V10M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12Z\";\r\nexport var mdiAccountPlusOutline = \"M15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4M15,5.9C16.16,5.9 17.1,6.84 17.1,8C17.1,9.16 16.16,10.1 15,10.1A2.1,2.1 0 0,1 12.9,8A2.1,2.1 0 0,1 15,5.9M4,7V10H1V12H4V15H6V12H9V10H6V7H4M15,13C12.33,13 7,14.33 7,17V20H23V17C23,14.33 17.67,13 15,13M15,14.9C17.97,14.9 21.1,16.36 21.1,17V18.1H8.9V17C8.9,16.36 12,14.9 15,14.9Z\";\r\nexport var mdiAccountQuestion = \"M13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4A4,4 0 0,1 13,8M17,18V20H1V18C1,15.79 4.58,14 9,14C13.42,14 17,15.79 17,18M20.5,14.5V16H19V14.5H20.5M18.5,9.5H17V9A3,3 0 0,1 20,6A3,3 0 0,1 23,9C23,9.97 22.5,10.88 21.71,11.41L21.41,11.6C20.84,12 20.5,12.61 20.5,13.3V13.5H19V13.3C19,12.11 19.6,11 20.59,10.35L20.88,10.16C21.27,9.9 21.5,9.47 21.5,9A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 18.5,9V9.5Z\";\r\nexport var mdiAccountQuestionOutline = \"M20.5,14.5V16H19V14.5H20.5M18.5,9.5H17V9A3,3 0 0,1 20,6A3,3 0 0,1 23,9C23,9.97 22.5,10.88 21.71,11.41L21.41,11.6C20.84,12 20.5,12.61 20.5,13.3V13.5H19V13.3C19,12.11 19.6,11 20.59,10.35L20.88,10.16C21.27,9.9 21.5,9.47 21.5,9A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 18.5,9V9.5M9,13C11.67,13 17,14.34 17,17V20H1V17C1,14.34 6.33,13 9,13M9,4A4,4 0 0,1 13,8A4,4 0 0,1 9,12A4,4 0 0,1 5,8A4,4 0 0,1 9,4M9,14.9C6.03,14.9 2.9,16.36 2.9,17V18.1H15.1V17C15.1,16.36 11.97,14.9 9,14.9M9,5.9A2.1,2.1 0 0,0 6.9,8A2.1,2.1 0 0,0 9,10.1A2.1,2.1 0 0,0 11.1,8A2.1,2.1 0 0,0 9,5.9Z\";\r\nexport var mdiAccountReactivate = \"M21.5 9H16.5L18.36 7.14C16.9 5.23 14.59 4 12 4C7.58 4 4 7.58 4 12C4 13.83 4.61 15.5 5.64 16.85C6.86 15.45 9.15 14.5 12 14.5C14.85 14.5 17.15 15.45 18.36 16.85C19.39 15.5 20 13.83 20 12H22C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C15.14 2 17.95 3.45 19.78 5.72L21.5 4V9M12 7C13.66 7 15 8.34 15 10C15 11.66 13.66 13 12 13C10.34 13 9 11.66 9 10C9 8.34 10.34 7 12 7Z\";\r\nexport var mdiAccountReactivateOutline = \"M21.5 9H16.5L18.36 7.14C16.9 5.23 14.59 4 12 4C7.58 4 4 7.58 4 12C4 13.83 4.61 15.5 5.64 16.85C6.86 15.45 9.15 14.5 12 14.5C14.85 14.5 17.15 15.45 18.36 16.85C19.39 15.5 20 13.83 20 12H22C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C15.14 2 17.95 3.45 19.78 5.72L21.5 4V9M12 20C13.9 20 15.64 19.34 17 18.24C16.36 17.23 14.45 16.5 12 16.5C9.55 16.5 7.64 17.23 7 18.24C8.36 19.34 10.1 20 12 20M12 6C13.93 6 15.5 7.57 15.5 9.5C15.5 11.43 13.93 13 12 13C10.07 13 8.5 11.43 8.5 9.5C8.5 7.57 10.07 6 12 6M12 8C11.17 8 10.5 8.67 10.5 9.5C10.5 10.33 11.17 11 12 11C12.83 11 13.5 10.33 13.5 9.5C13.5 8.67 12.83 8 12 8Z\";\r\nexport var mdiAccountRemove = \"M15,14C17.67,14 23,15.33 23,18V20H7V18C7,15.33 12.33,14 15,14M15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12M5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88L2.88,7.46L5,9.59Z\";\r\nexport var mdiAccountRemoveOutline = \"M1.46,8.88L2.88,7.46L5,9.59L7.12,7.46L8.54,8.88L6.41,11L8.54,13.12L7.12,14.54L5,12.41L2.88,14.54L1.46,13.12L3.59,11L1.46,8.88M15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4M15,5.9A2.1,2.1 0 0,0 12.9,8A2.1,2.1 0 0,0 15,10.1C16.16,10.1 17.1,9.16 17.1,8C17.1,6.84 16.16,5.9 15,5.9M15,13C17.67,13 23,14.33 23,17V20H7V17C7,14.33 12.33,13 15,13M15,14.9C12,14.9 8.9,16.36 8.9,17V18.1H21.1V17C21.1,16.36 17.97,14.9 15,14.9Z\";\r\nexport var mdiAccountSchool = \"M16 8C16 10.21 14.21 12 12 12C9.79 12 8 10.21 8 8L8.11 7.06L5 5.5L12 2L19 5.5V10.5H18V6L15.89 7.06L16 8M12 14C16.42 14 20 15.79 20 18V20H4V18C4 15.79 7.58 14 12 14Z\";\r\nexport var mdiAccountSchoolOutline = \"M18 10.5V6L15.89 7.06C15.96 7.36 16 7.67 16 8C16 10.21 14.21 12 12 12C9.79 12 8 10.21 8 8C8 7.67 8.04 7.36 8.11 7.06L5 5.5L12 2L19 5.5V10.5H18M12 9L10 8C10 9.1 10.9 10 12 10C13.1 10 14 9.1 14 8L12 9M14.75 5.42L12.16 4.1L9.47 5.47L12.07 6.79L14.75 5.42M12 13C14.67 13 20 14.33 20 17V20H4V17C4 14.33 9.33 13 12 13M12 14.9C9 14.9 5.9 16.36 5.9 17V18.1H18.1V17C18.1 16.36 14.97 14.9 12 14.9Z\";\r\nexport var mdiAccountSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M2,20V18C2,15.88 5.31,14.14 9.5,14C9.18,14.78 9,15.62 9,16.5C9,17.79 9.38,19 10,20H2Z\";\r\nexport var mdiAccountSearchOutline = \"M10,13C9.65,13.59 9.36,14.24 9.19,14.93C6.5,15.16 3.9,16.42 3.9,17V18.1H9.2C9.37,18.78 9.65,19.42 10,20H2V17C2,14.34 7.33,13 10,13M10,4A4,4 0 0,1 14,8C14,8.91 13.69,9.75 13.18,10.43C12.32,10.75 11.55,11.26 10.91,11.9L10,12A4,4 0 0,1 6,8A4,4 0 0,1 10,4M10,5.9A2.1,2.1 0 0,0 7.9,8A2.1,2.1 0 0,0 10,10.1A2.1,2.1 0 0,0 12.1,8A2.1,2.1 0 0,0 10,5.9M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14Z\";\r\nexport var mdiAccountSettings = \"M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiAccountSettingsOutline = \"M12 4C14.21 4 16 5.79 16 8S14.21 12 12 12 8 10.21 8 8 9.79 4 12 4M12 6C10.9 6 10 6.9 10 8S10.9 10 12 10 14 9.11 14 8 13.11 6 12 6M12 13C14.67 13 20 14.33 20 17V20H4V17C4 14.33 9.33 13 12 13M12 14.9C9.03 14.9 5.9 16.36 5.9 17V18.1H18.1V17C18.1 16.36 14.97 14.9 12 14.9M13 22H11V24H13V22M17 22H15V24H17V22M9 22H7V24H9V22Z\";\r\nexport var mdiAccountStar = \"M15,14C12.33,14 7,15.33 7,18V20H23V18C23,15.33 17.67,14 15,14M15,12A4,4 0 0,0 19,8A4,4 0 0,0 15,4A4,4 0 0,0 11,8A4,4 0 0,0 15,12M5,13.28L7.45,14.77L6.8,11.96L9,10.08L6.11,9.83L5,7.19L3.87,9.83L1,10.08L3.18,11.96L2.5,14.77L5,13.28Z\";\r\nexport var mdiAccountStarOutline = \"M15,4A4,4 0 0,1 19,8A4,4 0 0,1 15,12A4,4 0 0,1 11,8A4,4 0 0,1 15,4M15,5.9A2.1,2.1 0 0,0 12.9,8A2.1,2.1 0 0,0 15,10.1C16.16,10.1 17.1,9.16 17.1,8C17.1,6.84 16.16,5.9 15,5.9M15,13C17.67,13 23,14.33 23,17V20H7V17C7,14.33 12.33,13 15,13M15,14.9C12,14.9 8.9,16.36 8.9,17V18.1H21.1V17C21.1,16.36 17.97,14.9 15,14.9M5,13.28L2.5,14.77L3.18,11.96L1,10.08L3.87,9.83L5,7.19L6.11,9.83L9,10.08L6.8,11.96L7.45,14.77L5,13.28Z\";\r\nexport var mdiAccountSupervisor = \"M16.5,12A2.5,2.5 0 0,0 19,9.5A2.5,2.5 0 0,0 16.5,7A2.5,2.5 0 0,0 14,9.5A2.5,2.5 0 0,0 16.5,12M9,11A3,3 0 0,0 12,8A3,3 0 0,0 9,5A3,3 0 0,0 6,8A3,3 0 0,0 9,11M16.5,14C14.67,14 11,14.92 11,16.75V19H22V16.75C22,14.92 18.33,14 16.5,14M9,13C6.67,13 2,14.17 2,16.5V19H9V16.75C9,15.9 9.33,14.41 11.37,13.28C10.5,13.1 9.66,13 9,13Z\";\r\nexport var mdiAccountSupervisorCircle = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15.6,8.34C16.67,8.34 17.53,9.2 17.53,10.27C17.53,11.34 16.67,12.2 15.6,12.2A1.93,1.93 0 0,1 13.67,10.27C13.66,9.2 14.53,8.34 15.6,8.34M9.6,6.76C10.9,6.76 11.96,7.82 11.96,9.12C11.96,10.42 10.9,11.5 9.6,11.5C8.3,11.5 7.24,10.42 7.24,9.12C7.24,7.81 8.29,6.76 9.6,6.76M9.6,15.89V19.64C7.2,18.89 5.3,17.04 4.46,14.68C5.5,13.56 8.13,13 9.6,13C10.13,13 10.8,13.07 11.5,13.21C9.86,14.08 9.6,15.23 9.6,15.89M12,20C11.72,20 11.46,20 11.2,19.96V15.89C11.2,14.47 14.14,13.76 15.6,13.76C16.67,13.76 18.5,14.15 19.44,14.91C18.27,17.88 15.38,20 12,20Z\";\r\nexport var mdiAccountSupervisorCircleOutline = \"M12.5 10C12.5 8.34 11.16 7 9.5 7C7.86 7 6.5 8.34 6.5 10C6.5 11.64 7.86 13 9.5 13C11.16 13 12.5 11.64 12.5 10M9.5 11C8.96 11 8.5 10.54 8.5 10C8.5 9.44 8.96 9 9.5 9C10.06 9 10.5 9.44 10.5 10C10.5 10.54 10.06 11 9.5 11M16 13C17.12 13 18 12.1 18 11C18 9.88 17.12 9 16 9C14.9 9 14 9.88 14 11C14 12.1 14.9 13 16 13M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M5.85 17.11C6.53 16.57 8.12 16 9.5 16C9.58 16 9.66 16 9.74 16C10 15.37 10.41 14.72 11.04 14.15C10.5 14.05 9.95 14 9.5 14C8.21 14 6.12 14.44 4.78 15.42C4.28 14.38 4 13.22 4 12C4 7.58 7.59 4 12 4C16.41 4 20 7.58 20 12C20 13.19 19.73 14.33 19.25 15.36C18.25 14.77 16.89 14.5 16 14.5C14.5 14.5 11.5 15.3 11.5 17.19V19.97C9.24 19.84 7.22 18.76 5.85 17.11Z\";\r\nexport var mdiAccountSupervisorOutline = \"M16.5 15.5C18.22 15.5 20.25 16.3 20.5 16.78V17.5H12.5V16.78C12.75 16.3 14.78 15.5 16.5 15.5M16.5 14C14.67 14 11 14.92 11 16.75V19H22V16.75C22 14.92 18.33 14 16.5 14M9 13C6.67 13 2 14.17 2 16.5V19H9V17.5H3.5V16.5C3.5 15.87 6.29 14.34 9.82 14.5A5.12 5.12 0 0 1 11.37 13.25A12.28 12.28 0 0 0 9 13M9 6.5A1.5 1.5 0 1 1 7.5 8A1.5 1.5 0 0 1 9 6.5M9 5A3 3 0 1 0 12 8A3 3 0 0 0 9 5M16.5 8.5A1 1 0 1 1 15.5 9.5A1 1 0 0 1 16.5 8.5M16.5 7A2.5 2.5 0 1 0 19 9.5A2.5 2.5 0 0 0 16.5 7Z\";\r\nexport var mdiAccountSwitch = \"M16 9C22 9 22 13 22 13V15H16V13C16 13 16 11.31 14.85 9.8C14.68 9.57 14.47 9.35 14.25 9.14C14.77 9.06 15.34 9 16 9M2 13C2 13 2 9 8 9S14 13 14 13V15H2V13M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17M8 1C6.34 1 5 2.34 5 4S6.34 7 8 7 11 5.66 11 4 9.66 1 8 1M16 1C14.34 1 13 2.34 13 4S14.34 7 16 7 19 5.66 19 4 17.66 1 16 1Z\";\r\nexport var mdiAccountSwitchOutline = \"M16 9C22 9 22 13 22 13V15H16V13C16 13 16 11.31 14.85 9.8C14.68 9.57 14.47 9.35 14.25 9.14C14.77 9.06 15.34 9 16 9M8 11C11.5 11 11.94 12.56 12 13H4C4.06 12.56 4.5 11 8 11M8 9C2 9 2 13 2 13V15H14V13C14 13 14 9 8 9M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17M8 3C8.55 3 9 3.45 9 4S8.55 5 8 5 7 4.55 7 4 7.45 3 8 3M8 1C6.34 1 5 2.34 5 4S6.34 7 8 7 11 5.66 11 4 9.66 1 8 1M16 1C14.34 1 13 2.34 13 4S14.34 7 16 7 19 5.66 19 4 17.66 1 16 1Z\";\r\nexport var mdiAccountSync = \"M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 14C6.6 14 3 15.8 3 18V20H12.5C12.2 19.2 12 18.4 12 17.5C12 16.3 12.3 15.2 12.9 14.1C12.3 14.1 11.7 14 11 14M18 20C16.6 20 15.5 18.9 15.5 17.5C15.5 17.1 15.6 16.7 15.8 16.4L14.7 15.3C14.3 15.9 14 16.7 14 17.5C14 19.7 15.8 21.5 18 21.5V23L20.2 20.8L18 18.5V20M18 13.5V12L15.8 14.2L18 16.4V15C19.4 15 20.5 16.1 20.5 17.5C20.5 17.9 20.4 18.3 20.2 18.6L21.3 19.7C21.7 19.1 22 18.3 22 17.5C22 15.3 20.2 13.5 18 13.5Z\";\r\nexport var mdiAccountSyncOutline = \"M11 4C8.8 4 7 5.8 7 8S8.8 12 11 12 15 10.2 15 8 13.2 4 11 4M11 6C12.1 6 13 6.9 13 8S12.1 10 11 10 9 9.1 9 8 9.9 6 11 6M11 13C8.3 13 3 14.3 3 17V20H12.5C12.2 19.4 12.1 18.8 12 18.1H4.9V17C4.9 16.4 8 14.9 11 14.9C11.5 14.9 12 15 12.5 15C12.8 14.4 13.1 13.8 13.6 13.3C12.6 13.1 11.7 13 11 13M18 20C16.6 20 15.5 18.9 15.5 17.5C15.5 17.1 15.6 16.7 15.8 16.4L14.7 15.3C14.3 15.9 14 16.7 14 17.5C14 19.7 15.8 21.5 18 21.5V23L20.2 20.8L18 18.5V20M18 13.5V12L15.8 14.2L18 16.4V15C19.4 15 20.5 16.1 20.5 17.5C20.5 17.9 20.4 18.3 20.2 18.6L21.3 19.7C21.7 19.1 22 18.3 22 17.5C22 15.3 20.2 13.5 18 13.5Z\";\r\nexport var mdiAccountTag = \"M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22C18.6 22 18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4M10 14C5.6 14 2 15.8 2 18V20H13.2L12.8 19.6C12.3 19.1 12 18.4 12 17.6V14.8C12 14.6 12 14.4 12.1 14.1C11.4 14 10.7 14 10 14Z\";\r\nexport var mdiAccountTagOutline = \"M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22S18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4M10 6C11.1 6 12 6.9 12 8S11.1 10 10 10 8 9.1 8 8 8.9 6 10 6M10 13C7.3 13 2 14.3 2 17V20H13.2L12.8 19.6C12.4 19.2 12.1 18.7 12 18.1H3.9V17C3.9 16.4 7 14.9 10 14.9C10.7 14.9 11.4 15 12 15.1V14.8C12 14.2 12.2 13.7 12.5 13.3C11.6 13.1 10.7 13 10 13Z\";\r\nexport var mdiAccountTie = \"M12 3C14.21 3 16 4.79 16 7S14.21 11 12 11 8 9.21 8 7 9.79 3 12 3M16 13.54C16 14.6 15.72 17.07 13.81 19.83L13 15L13.94 13.12C13.32 13.05 12.67 13 12 13S10.68 13.05 10.06 13.12L11 15L10.19 19.83C8.28 17.07 8 14.6 8 13.54C5.61 14.24 4 15.5 4 17V21H20V17C20 15.5 18.4 14.24 16 13.54Z\";\r\nexport var mdiAccountTieHat = \"M16 14.5C16 15.6 15.7 18 13.8 20.8L13 16L13.9 14.1C13.3 14.1 12.7 14 12 14S10.7 14.1 10.1 14.1L11 16L10.2 20.8C8.3 18.1 8 15.6 8 14.5C5.6 15.2 4 16.5 4 18V22H20V18C20 16.5 18.4 15.2 16 14.5M6 4.5C6 3.1 8.7 2 12 2S18 3.1 18 4.5C18 4.9 17.8 5.2 17.5 5.5C16.6 4.6 14.5 4 12 4S7.4 4.6 6.5 5.5C6.2 5.2 6 4.9 6 4.5M15.9 7.4C16 7.6 16 7.8 16 8C16 10.2 14.2 12 12 12S8 10.2 8 8C8 7.8 8 7.6 8.1 7.4C9.1 7.8 10.5 8 12 8S14.9 7.8 15.9 7.4M16.6 6.1C15.5 6.6 13.9 7 12 7S8.5 6.6 7.4 6.1C8.1 5.5 9.8 5 12 5S15.9 5.5 16.6 6.1Z\";\r\nexport var mdiAccountTieHatOutline = \"M6 4.5C6 3.1 8.7 2 12 2S18 3.1 18 4.5C18 4.9 17.8 5.2 17.5 5.5C16.6 4.6 14.5 4 12 4S7.4 4.6 6.5 5.5C6.2 5.2 6 4.9 6 4.5M12 5C9.8 5 8.1 5.5 7.4 6.1C8.5 6.6 10.1 7 12 7S15.5 6.6 16.6 6.1C15.9 5.5 14.2 5 12 5M14 8C14 9.1 13.1 10 12 10S10 9.1 10 8V7.9C9.3 7.8 8.6 7.7 8 7.5V8C8 10.2 9.8 12 12 12S16 10.2 16 8C16 7.8 16 7.6 15.9 7.4C15.3 7.6 14.6 7.7 13.9 7.8C14 7.9 14 7.9 14 8M16.4 13.8L15.7 15L15.5 15.5C17 16 18.1 16.6 18.1 17V20.1H13.9L13 15L13.9 13.1C13.3 13.1 12.7 13 12 13S10.7 13 10.1 13.1L11 15L10.1 20.1H5.9V17C5.9 16.6 7 16 8.5 15.5L8.3 15L7.7 13.8C5.7 14.4 4 15.5 4 17V22H20V17C20 15.5 18.3 14.4 16.4 13.8Z\";\r\nexport var mdiAccountTieOutline = \"M16.36 12.76C18.31 13.42 20 14.5 20 16V21H4V16C4 14.5 5.69 13.42 7.65 12.76L8.27 14L8.5 14.5C7 14.96 5.9 15.62 5.9 16V19.1H10.12L11 14.03L10.06 12.15C10.68 12.08 11.33 12.03 12 12.03C12.67 12.03 13.32 12.08 13.94 12.15L13 14.03L13.88 19.1H18.1V16C18.1 15.62 17 14.96 15.5 14.5L15.73 14L16.36 12.76M12 5C10.9 5 10 5.9 10 7C10 8.1 10.9 9 12 9C13.1 9 14 8.1 14 7C14 5.9 13.1 5 12 5M12 11C9.79 11 8 9.21 8 7C8 4.79 9.79 3 12 3C14.21 3 16 4.79 16 7C16 9.21 14.21 11 12 11Z\";\r\nexport var mdiAccountTieVoice = \"M16.75 4.36C18.77 6.56 18.77 9.61 16.75 11.63L15.07 9.94C15.91 8.76 15.91 7.23 15.07 6.05L16.75 4.36M20.06 1C24 5.05 23.96 11.11 20.06 15L18.43 13.37C21.2 10.19 21.2 5.65 18.43 2.63L20.06 1M9 4C11.2 4 13 5.79 13 8S11.2 12 9 12 5 10.21 5 8 6.79 4 9 4M13 14.54C13 15.6 12.71 18.07 10.8 20.83L10 16L10.93 14.12C10.31 14.05 9.66 14 9 14S7.67 14.05 7.05 14.12L8 16L7.18 20.83C5.27 18.07 5 15.6 5 14.54C2.6 15.24 .994 16.5 .994 18V22H17V18C17 16.5 15.39 15.24 13 14.54Z\";\r\nexport var mdiAccountTieVoiceOff = \"M12.7 9.5L7.5 4.3C7.96 4.11 8.46 4 9 4C11.2 4 13 5.79 13 8C13 8.53 12.89 9.04 12.7 9.5M16.75 11.63C18.77 9.61 18.77 6.56 16.75 4.36L15.07 6.05C15.91 7.23 15.91 8.76 15.07 9.94L16.75 11.63M20.06 15C23.96 11.11 24 5.05 20.06 1L18.43 2.63C21.2 5.65 21.2 10.19 18.43 13.37L20.06 15M2.39 1.73L1.11 3L5.13 7C5.05 7.34 5 7.66 5 8C5 10.21 6.79 12 9 12C9.33 12 9.66 11.94 9.97 11.86L13 14.87C12.93 16.06 12.54 18.32 10.8 20.83L10 16L10.93 14.12C10.31 14.05 9.66 14 9 14C8.32 14 7.67 14.05 7.05 14.12L8 16L7.18 20.83C5.27 18.07 5 15.6 5 14.54C2.6 15.24 .994 16.5 .994 18V22H17V18.88L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiAccountTieVoiceOffOutline = \"M9.22 6L7.5 4.3C7.96 4.11 8.47 4 9 4C11.21 4 13 5.79 13 8C13 8.53 12.89 9.04 12.7 9.5L11 7.78C10.87 6.86 10.14 6.13 9.22 6M20.06 15C23.96 11.11 24 5.05 20.06 1L18.43 2.63C21.2 5.65 21.2 10.19 18.43 13.37L20.06 15M16.75 11.63C18.77 9.61 18.77 6.56 16.75 4.36L15.07 6.05C15.91 7.23 15.91 8.76 15.07 9.94L16.75 11.63M2.39 1.73L1.11 3L5.14 7.03C5.06 7.34 5 7.66 5 8C5 10.21 6.79 12 9 12C9.34 12 9.66 11.94 9.97 11.86L12.86 14.75L12.73 15L12.5 15.5C13.3 15.74 13.97 16.05 14.44 16.33L15.1 17V20.1H10.88L10 15.03L10.94 13.15C10.32 13.08 9.67 13.03 9 13.03S7.68 13.08 7.06 13.15L8 15.03L7.12 20.1H2.9V17C2.9 16.62 4 15.96 5.5 15.5L5.27 15L4.65 13.76C2.69 14.42 1 15.5 1 17V22H17V18.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiAccountTieVoiceOutline = \"M16.75 4.36C18.77 6.56 18.77 9.61 16.75 11.63L15.07 9.94C15.91 8.76 15.91 7.23 15.07 6.05L16.75 4.36M20.06 1C24 5.05 23.96 11.11 20.06 15L18.43 13.37C21.2 10.19 21.2 5.65 18.43 2.63L20.06 1M13.36 13.76C15.31 14.42 17 15.5 17 17V22H1V17C1 15.5 2.69 14.42 4.65 13.76L5.27 15L5.5 15.5C4 15.96 2.9 16.62 2.9 17V20.1H7.12L8 15.03L7.06 13.15C7.68 13.08 8.33 13.03 9 13.03S10.32 13.08 10.94 13.15L10 15.03L10.88 20.1H15.1V17C15.1 16.62 14 15.96 12.5 15.5L12.73 15L13.36 13.76M9 6C7.9 6 7 6.9 7 8S7.9 10 9 10 11 9.1 11 8 10.1 6 9 6M9 12C6.79 12 5 10.21 5 8S6.79 4 9 4 13 5.79 13 8 11.21 12 9 12Z\";\r\nexport var mdiAccountTieWoman = \"M11.94 3C9.75 3.03 8 4.81 8 7C7.94 8.64 7.81 10.47 7.03 11.59C9.71 13.22 12 13 12 13C12 13 14.29 13.22 16.97 11.59C16.12 10.22 15.94 8.54 16 7C16 4.79 14.21 3 12 3H11.94M8.86 13.32C6 13.93 4 15.35 4 17V21H12L9 17H6.5M12 21L13.78 13.81C13.78 13.81 13 14 12 14C11 14 10.22 13.81 10.22 13.81M12 21H20V17C20 15.35 18 13.93 15.14 13.32L17.5 17H15Z\";\r\nexport var mdiAccountVoice = \"M9,5A4,4 0 0,1 13,9A4,4 0 0,1 9,13A4,4 0 0,1 5,9A4,4 0 0,1 9,5M9,15C11.67,15 17,16.34 17,19V21H1V19C1,16.34 6.33,15 9,15M16.76,5.36C18.78,7.56 18.78,10.61 16.76,12.63L15.08,10.94C15.92,9.76 15.92,8.23 15.08,7.05L16.76,5.36M20.07,2C24,6.05 23.97,12.11 20.07,16L18.44,14.37C21.21,11.19 21.21,6.65 18.44,3.63L20.07,2Z\";\r\nexport var mdiAccountVoiceOff = \"M2,3.27L3.28,2L22,20.72L20.73,22L16.73,18C16.9,18.31 17,18.64 17,19V21H1V19C1,16.34 6.33,15 9,15C10.77,15 13.72,15.59 15.5,16.77L11.12,12.39C10.5,12.78 9.78,13 9,13A4,4 0 0,1 5,9C5,8.22 5.22,7.5 5.61,6.88L2,3.27M9,5A4,4 0 0,1 13,9V9.17L8.83,5H9M16.76,5.36C18.78,7.56 18.78,10.61 16.76,12.63L15.08,10.94C15.92,9.76 15.92,8.23 15.08,7.05L16.76,5.36M20.07,2C24,6.05 23.97,12.11 20.07,16L18.44,14.37C21.21,11.19 21.21,6.65 18.44,3.63L20.07,2Z\";\r\nexport var mdiAccountWrench = \"M22.9 21.2L18.8 17.1C19.2 16.1 19 14.8 18.1 14C17.2 13.1 15.9 12.9 14.8 13.4L16.7 15.3L15.3 16.7L13.3 14.7C12.8 15.8 13 17.1 13.9 18.1C14.8 19 16 19.2 17 18.8L21.1 22.9C21.3 23.1 21.6 23.1 21.7 22.9L22.7 21.9C23 21.6 23 21.3 22.9 21.2M13 20H2V18C2 15.8 5.6 14 10 14C10.5 14 11 14 11.4 14.1C11.1 14.7 11 15.3 11 16C11 17.6 11.8 19.1 13 20M10 4C7.8 4 6 5.8 6 8S7.8 12 10 12 14 10.2 14 8 12.2 4 10 4\";\r\nexport var mdiAccountWrenchOutline = \"M22.9 21.2L18.8 17.1C19.2 16.1 19 14.8 18.1 14C17.2 13.1 15.9 12.9 14.8 13.4L16.7 15.3L15.3 16.7L13.3 14.7C12.8 15.8 13 17.1 13.9 18.1C14.8 19 16 19.2 17 18.8L21.1 22.9C21.3 23.1 21.6 23.1 21.7 22.9L22.7 21.9C23 21.6 23 21.3 22.9 21.2M10 12C12.2 12 14 10.2 14 8S12.2 4 10 4 6 5.8 6 8 7.8 12 10 12M10 6C11.1 6 12 6.9 12 8S11.1 10 10 10 8 9.1 8 8 8.9 6 10 6M13 20H2V17C2 14.3 7.3 13 10 13C10.5 13 11.2 13.1 11.9 13.2C11.5 13.7 11.3 14.3 11.1 15C10.7 15 10.4 14.9 10 14.9C7 14.9 3.9 16.4 3.9 17V18.1H11.5C11.8 18.9 12.4 19.5 13 20Z\";\r\nexport var mdiAdjust = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12Z\";\r\nexport var mdiAdvertisements = \"M19 7C17.9 7 17 7.9 17 9V11C17 12.1 17.9 13 19 13H21V15H17V17H21C22.1 17 23 16.1 23 15V13C23 11.9 22.1 11 21 11H19V9H23V7H19M9 7V17H13C14.1 17 15 16.1 15 15V9C15 7.9 14.1 7 13 7H9M11 9H13V15H11V9M3 7C1.9 7 1 7.9 1 9V17H3V13H5V17H7V9C7 7.9 6.1 7 5 7H3M3 9H5V11H3V9Z\";\r\nexport var mdiAdvertisementsOff = \"M12.2 9L10.2 7H13C14.1 7 15 7.9 15 9V11.8L13 9.8V9H12.2M23 9V7H19C17.9 7 17 7.9 17 9V11C17 12.1 17.9 13 19 13H21V15H18.2L20.2 17H21C22.1 17 23 16.1 23 15V13C23 11.9 22.1 11 21 11H19V9H23M22.1 21.5L20.8 22.8L14.4 16.4C14.1 16.7 13.6 17 13 17H9V10.9L7 8.9V17H5V13H3V17H1V9C1 7.9 1.9 7 3 7H5.1L1.1 3L2.4 1.7L22.1 21.5M5 9H3V11H5V9M13 14.9L11 12.9V15H13V14.9Z\";\r\nexport var mdiAirConditioner = \"M6.59,0.66C8.93,-1.15 11.47,1.06 12.04,4.5C12.47,4.5 12.89,4.62 13.27,4.84C13.79,4.24 14.25,3.42 14.07,2.5C13.65,0.35 16.06,-1.39 18.35,1.58C20.16,3.92 17.95,6.46 14.5,7.03C14.5,7.46 14.39,7.89 14.16,8.27C14.76,8.78 15.58,9.24 16.5,9.06C18.63,8.64 20.38,11.04 17.41,13.34C15.07,15.15 12.53,12.94 11.96,9.5C11.53,9.5 11.11,9.37 10.74,9.15C10.22,9.75 9.75,10.58 9.93,11.5C10.35,13.64 7.94,15.39 5.65,12.42C3.83,10.07 6.05,7.53 9.5,6.97C9.5,6.54 9.63,6.12 9.85,5.74C9.25,5.23 8.43,4.76 7.5,4.94C5.37,5.36 3.62,2.96 6.59,0.66M5,16H7A2,2 0 0,1 9,18V24H7V22H5V24H3V18A2,2 0 0,1 5,16M5,18V20H7V18H5M12.93,16H15L12.07,24H10L12.93,16M18,16H21V18H18V22H21V24H18A2,2 0 0,1 16,22V18A2,2 0 0,1 18,16Z\";\r\nexport var mdiAirFilter = \"M19,18.31V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V16.3C4.54,16.12 3.95,16 3,16A1,1 0 0,1 2,15A1,1 0 0,1 3,14C3.82,14 4.47,14.08 5,14.21V12.3C4.54,12.12 3.95,12 3,12A1,1 0 0,1 2,11A1,1 0 0,1 3,10C3.82,10 4.47,10.08 5,10.21V8.3C4.54,8.12 3.95,8 3,8A1,1 0 0,1 2,7A1,1 0 0,1 3,6C3.82,6 4.47,6.08 5,6.21V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V6.16C20.78,6.47 21.54,7.13 21.71,7.29C22.1,7.68 22.1,8.32 21.71,8.71C21.32,9.1 20.8,9.09 20.29,8.71V8.71C20.29,8.71 19.25,8 17,8C15.74,8 14.91,8.41 13.95,8.9C12.91,9.41 11.74,10 10,10C9.64,10 9.31,10 9,9.96V7.95C9.3,8 9.63,8 10,8C11.26,8 12.09,7.59 13.05,7.11C14.09,6.59 15.27,6 17,6V4H7V20H17V18C18.5,18 18.97,18.29 19,18.31M17,10C15.27,10 14.09,10.59 13.05,11.11C12.09,11.59 11.26,12 10,12C9.63,12 9.3,12 9,11.95V13.96C9.31,14 9.64,14 10,14C11.74,14 12.91,13.41 13.95,12.9C14.91,12.42 15.74,12 17,12C19.25,12 20.29,12.71 20.29,12.71V12.71C20.8,13.1 21.32,13.1 21.71,12.71C22.1,12.32 22.1,11.69 21.71,11.29C21.5,11.08 20.25,10 17,10M17,14C15.27,14 14.09,14.59 13.05,15.11C12.09,15.59 11.26,16 10,16C9.63,16 9.3,16 9,15.95V17.96C9.31,18 9.64,18 10,18C11.74,18 12.91,17.41 13.95,16.9C14.91,16.42 15.74,16 17,16C19.25,16 20.29,16.71 20.29,16.71V16.71C20.8,17.1 21.32,17.1 21.71,16.71C22.1,16.32 22.1,15.69 21.71,15.29C21.5,15.08 20.25,14 17,14Z\";\r\nexport var mdiAirHorn = \"M19,2.8V6L19,9.2C19,9.5 18.7,9.8 18.4,9.7C18.4,9.7 14.5,7.1 10,7.1V9.5H10.2C10.7,9.5 11.2,9.7 11.4,10.1L12.7,11.9C12.9,12.1 13,12.4 13,12.6V20.6C13,21.3 12.3,22 11.5,22H6.5C5.7,22 5,21.4 5,20.6V12.6C5,12.3 5.1,12.1 5.3,11.9L6.6,10.1C6.9,9.7 7.3,9.5 7.8,9.5H8V8C7.6,8.5 7,8.8 6.4,8.8C5.1,8.8 4,7.5 4,6C4,4.5 5.1,3.2 6.4,3.2C7,3.3 7.6,3.6 8,4V2.6H10V5C14.5,5 18.4,2.4 18.4,2.4C18.7,2.3 19,2.5 19,2.8Z\";\r\nexport var mdiAirHumidifier = \"M11 9C8.79 9 7 10.79 7 13S8.79 17 11 17 15 15.21 15 13 13.21 9 11 9M11 15C9.9 15 9 14.11 9 13S9.9 11 11 11 13 11.9 13 13 12.11 15 11 15M7 4H14C16.21 4 18 5.79 18 8V9H16V8C16 6.9 15.11 6 14 6H7C5.9 6 5 6.9 5 8V20H16V18H18V22H3V8C3 5.79 4.79 4 7 4M19 10.5C19 10.5 21 12.67 21 14C21 15.1 20.1 16 19 16S17 15.1 17 14C17 12.67 19 10.5 19 10.5\";\r\nexport var mdiAirHumidifierOff = \"M22.1 21.5L2.4 1.7L1.1 3L3.8 5.7C3.3 6.3 3 7.1 3 8V22H18V19.9L20.8 22.7L22.1 21.5M9.6 11.5L12.4 14.3C12.1 14.7 11.6 15 11 15C9.9 15 9 14.1 9 13C9 12.4 9.3 11.9 9.6 11.5M16 17.9V20H5V8C5 7.7 5.1 7.4 5.2 7.1L8.2 10.1C7.5 10.8 7 11.9 7 13C7 15.2 8.8 17 11 17C12.1 17 13.2 16.5 13.9 15.8L16 17.9M17 13.8C17.1 12.5 19 10.5 19 10.5S21 12.7 21 14C21 15 20.2 15.9 19.2 16L17 13.8M9.2 6L7.2 4H14C16.2 4 18 5.8 18 8V9H16V8C16 6.9 15.1 6 14 6H9.2Z\";\r\nexport var mdiAirPurifier = \"M11,9A4,4 0 0,1 15,13A4,4 0 0,1 11,17A4,4 0 0,1 7,13A4,4 0 0,1 11,9M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13A2,2 0 0,0 11,11M7,4H14A4,4 0 0,1 18,8V9H16V8A2,2 0 0,0 14,6H7A2,2 0 0,0 5,8V20H16V18H18V22H3V8A4,4 0 0,1 7,4M16,11C18.5,11 18.5,9 21,9V11C18.5,11 18.5,13 16,13V11M16,15C18.5,15 18.5,13 21,13V15C18.5,15 18.5,17 16,17V15Z\";\r\nexport var mdiAirPurifierOff = \"M21 11C18.6 11 18.5 12.9 16.2 13L16 12.8V11C18.5 11 18.5 9 21 9V11M22.1 21.5L20.8 22.8L18 19.9V22H3V8C3 7.1 3.3 6.3 3.8 5.7L1.1 3L2.4 1.7L22.1 21.5M9 13C9 14.1 9.9 15 11 15C11.6 15 12.1 14.7 12.5 14.4L9.7 11.6C9.3 11.9 9 12.4 9 13M16 17.9L13.9 15.8C13.2 16.5 12.1 17 11 17C8.8 17 7 15.2 7 13C7 11.9 7.5 10.8 8.2 10.1L5.2 7.1C5.1 7.4 5 7.7 5 8V20H16V17.9M21 15V13C19.3 13 18.7 14 17.7 14.5L18.8 15.6C19.4 15.3 20 15 21 15M14 6C15.1 6 16 6.9 16 8V9H18V8C18 5.8 16.2 4 14 4H7.2L9.2 6H14Z\";\r\nexport var mdiAirbag = \"M14,8A5,5 0 0,1 9,13A5,5 0 0,1 4,8A5,5 0 0,1 9,3A5,5 0 0,1 14,8M10.46,15.55L13,18.03L11,18.05L7.5,21.58L6,20.09L10.46,15.55M17,2C18.08,2 19,2.88 19,4C19,5.08 18.12,6 17,6C15.92,6 15,5.12 15,4C15,2.92 15.89,2 17,2M14.41,15H11.59L17.29,20.71L18.71,19.29L14.41,15M15.12,14.29L19.41,18.59L19.63,18.8C19.86,18.42 20,18 20,17.5V9.5A2.5,2.5 0 0,0 17.5,7A2.5,2.5 0 0,0 15,9.5V14.17L15.12,14.29Z\";\r\nexport var mdiAirballoon = \"M11,23A2,2 0 0,1 9,21V19H15V21A2,2 0 0,1 13,23H11M12,1C12.71,1 13.39,1.09 14.05,1.26C15.22,2.83 16,5.71 16,9C16,11.28 15.62,13.37 15,16A2,2 0 0,1 13,18H11A2,2 0 0,1 9,16C8.38,13.37 8,11.28 8,9C8,5.71 8.78,2.83 9.95,1.26C10.61,1.09 11.29,1 12,1M20,8C20,11.18 18.15,15.92 15.46,17.21C16.41,15.39 17,11.83 17,9C17,6.17 16.41,3.61 15.46,1.79C18.15,3.08 20,4.82 20,8M4,8C4,4.82 5.85,3.08 8.54,1.79C7.59,3.61 7,6.17 7,9C7,11.83 7.59,15.39 8.54,17.21C5.85,15.92 4,11.18 4,8Z\";\r\nexport var mdiAirballoonOutline = \"M11 23C9.9 23 9 22.1 9 21V19H15V21C15 22.1 14.1 23 13 23H11M12 3C12.28 3 12.55 3 12.81 3.05C13.42 4.22 14 6.26 14 9C14 11.1 13 16 13 16H11C11 16 10 11.1 10 9C10 6.26 10.58 4.22 11.19 3.05C11.45 3 11.72 3 12 3M12 1C11.29 1 10.61 1.09 9.95 1.26C8.78 2.83 8 5.71 8 9C8 11.28 8.38 13.37 9 16C9 17.1 9.9 18 11 18H13C14.1 18 15 17.1 15 16C15.62 13.37 16 11.28 16 9C16 5.71 15.22 2.83 14.05 1.26C13.39 1.09 12.71 1 12 1M4 8C4 11.18 5.85 15.92 8.54 17.21C8 16.21 7.61 14.67 7.34 13C6.55 11.53 6 9.62 6 8C6 6.66 6.44 5.67 7.47 4.8C7.73 3.67 8.09 2.65 8.54 1.79C5.85 3.08 4 4.82 4 8M15.46 1.79C15.91 2.65 16.27 3.67 16.53 4.8C17.56 5.67 18 6.66 18 8C18 9.62 17.45 11.53 16.66 13C16.39 14.67 16 16.21 15.46 17.21C18.15 15.92 20 11.18 20 8S18.15 3.08 15.46 1.79Z\";\r\nexport var mdiAirplane = \"M20.56 3.91C21.15 4.5 21.15 5.45 20.56 6.03L16.67 9.92L18.79 19.11L17.38 20.53L13.5 13.1L9.6 17L9.96 19.47L8.89 20.53L7.13 17.35L3.94 15.58L5 14.5L7.5 14.87L11.37 11L3.94 7.09L5.36 5.68L14.55 7.8L18.44 3.91C19 3.33 20 3.33 20.56 3.91Z\";\r\nexport var mdiAirplaneAlert = \"M17.56 3.91C18.15 4.5 18.15 5.45 17.56 6.03L13.67 9.92L15.79 19.11L14.38 20.53L10.5 13.1L6.6 17L6.96 19.47L5.89 20.53L4.13 17.35L.944 15.58L2 14.5L4.5 14.87L8.37 11L.944 7.09L2.36 5.68L11.55 7.8L15.44 3.91C16 3.33 17 3.33 17.56 3.91M20 7V13H22V7H20M20 17H22V15H20V17Z\";\r\nexport var mdiAirplaneCheck = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiAirplaneClock = \"M16 9C15.09 9 14.23 9.18 13.43 9.5L12.73 6.45L16.62 2.56C17.2 2 17.2 1.03 16.62 .44S15.08-.146 14.5 .44L10.61 4.33L1.41 2.21L0 3.62L7.43 7.5L3.54 11.4L1.06 11.05L0 12.11L3.18 13.87L4.95 17.06L6 16L5.66 13.5L9.55 9.63L10.57 11.59C9.59 12.79 9 14.33 9 16C9 19.87 12.13 23 16 23S23 19.87 23 16 19.87 9 16 9M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25V12H15V17L18.61 19.16L19.36 17.94L16.5 16.25Z\";\r\nexport var mdiAirplaneCog = \"M15.73 12.81C14.76 13.33 13.92 14.07 13.29 14.96L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.73 12.81M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiAirplaneEdit = \"M11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L16.03 14.1L13.94 16.19L11.55 11.63M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiAirplaneLanding = \"M2.5,19H21.5V21H2.5V19M9.68,13.27L14.03,14.43L19.34,15.85C20.14,16.06 20.96,15.59 21.18,14.79C21.39,14 20.92,13.17 20.12,12.95L14.81,11.53L12.05,2.5L10.12,2V10.28L5.15,8.95L4.22,6.63L2.77,6.24V11.41L4.37,11.84L9.68,13.27Z\";\r\nexport var mdiAirplaneMarker = \"M15.33 11.05C14.17 11.88 13.34 13.14 13.09 14.58L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.33 11.05M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6\";\r\nexport var mdiAirplaneMinus = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M15 18V20H23V18H15Z\";\r\nexport var mdiAirplaneOff = \"M20.84 22.73L18 19.9L17.38 20.53L16 17.89L12.35 14.24L9.6 17L9.96 19.47L8.89 20.53L7.13 17.35L3.94 15.58L5 14.5L7.5 14.87L10.23 12.12L6.59 8.5L3.94 7.09L4.57 6.46L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M16.67 9.92L20.56 6.03C21.15 5.45 21.15 4.5 20.56 3.91S19 3.33 18.44 3.91L14.55 7.8L9.94 6.74L17.74 14.54L16.67 9.92Z\";\r\nexport var mdiAirplanePlus = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiAirplaneRemove = \"M15.97 13.83C15.08 14.35 14.34 15.09 13.82 16L11.55 11.63L7.66 15.5L8 18L6.95 19.06L5.18 15.87L2 14.11L3.06 13.05L5.54 13.4L9.43 9.5L2 5.62L3.41 4.21L12.61 6.33L16.5 2.44C17.08 1.85 18.03 1.85 18.62 2.44C19.2 3.03 19.2 4 18.62 4.56L14.73 8.45L15.97 13.83M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiAirplaneSearch = \"M9.55 9.63L10.9 12.22C11.5 11.17 12.41 10.31 13.5 9.74L12.73 6.45L16.62 2.56C17.2 1.97 17.2 1 16.62 .438S15.08-.148 14.5 .438L10.61 4.33L1.41 2.21L0 3.62L7.43 7.5L3.54 11.4L1.06 11.05L0 12.11L3.18 13.87L4.95 17.06L6 16L5.66 13.5L9.55 9.63M16.5 11C19 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11M16.5 13C15.12 13 14 14.12 14 15.5S15.12 18 16.5 18 19 16.88 19 15.5 17.88 13 16.5 13\";\r\nexport var mdiAirplaneSettings = \"M20.09 4.56L16.2 8.45L18.32 17.64L16.91 19.06L13 11.63L9.13 15.5L9.5 18L8.42 19.06L6.65 15.87L3.47 14.11L4.53 13.04L7 13.4L10.9 9.5L3.47 5.62L4.89 4.21L14.08 6.33L17.97 2.44C18.55 1.85 19.5 1.85 20.09 2.44C20.68 3 20.68 3.97 20.09 4.56M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\r\nexport var mdiAirplaneTakeoff = \"M2.5,19H21.5V21H2.5V19M22.07,9.64C21.86,8.84 21.03,8.36 20.23,8.58L14.92,10L8,3.57L6.09,4.08L10.23,11.25L5.26,12.58L3.29,11.04L1.84,11.43L3.66,14.59L4.43,15.92L6.03,15.5L11.34,14.07L15.69,12.91L21,11.5C21.81,11.26 22.28,10.44 22.07,9.64Z\";\r\nexport var mdiAirport = \"M14.97,5.92C14.83,5.41 14.3,5.1 13.79,5.24L10.39,6.15L5.95,2.03L4.72,2.36L7.38,6.95L4.19,7.8L2.93,6.82L2,7.07L3.66,9.95L14.28,7.11C14.8,6.96 15.1,6.43 14.97,5.92M21,10L20,12H15L14,10L15,9H17V7H18V9H20L21,10M22,20V22H2V20H15V13H20V20H22Z\";\r\nexport var mdiAlarm = \"M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M12.5,8H11V14L15.75,16.85L16.5,15.62L12.5,13.25V8M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72Z\";\r\nexport var mdiAlarmBell = \"M15,18.66V22H5V18.66C8.09,20.45 11.91,20.45 15,18.66M22,4A2,2 0 0,0 20,2C19.69,2 19.39,2.07 19.12,2.21C18.82,2.36 18.56,2.58 18.36,2.85C17.72,3.75 17.94,5 18.85,5.64C19.18,5.87 19.59,6 20,6C20.08,6 20.16,6 20.24,6C21.97,10.43 20.66,15.46 17,18.5C16.68,18.75 16.35,19 16,19.22V21H17V19.74C20.14,17.5 22,13.86 22,10C22,8.5 21.72,7 21.17,5.62C21.69,5.24 22,4.64 22,4M18,10A8,8 0 0,1 10,18A8,8 0 0,1 2,10A8,8 0 0,1 10,2A8,8 0 0,1 18,10Z\";\r\nexport var mdiAlarmCheck = \"M10.54,14.53L8.41,12.4L7.35,13.46L10.53,16.64L16.53,10.64L15.47,9.58L10.54,14.53M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72Z\";\r\nexport var mdiAlarmLight = \"M6,6.9L3.87,4.78L5.28,3.37L7.4,5.5L6,6.9M13,1V4H11V1H13M20.13,4.78L18,6.9L16.6,5.5L18.72,3.37L20.13,4.78M4.5,10.5V12.5H1.5V10.5H4.5M19.5,10.5H22.5V12.5H19.5V10.5M6,20H18A2,2 0 0,1 20,22H4A2,2 0 0,1 6,20M12,5A6,6 0 0,1 18,11V19H6V11A6,6 0 0,1 12,5Z\";\r\nexport var mdiAlarmLightOff = \"M18 14.8L9 5.8C9.9 5.3 10.9 5 12 5C15.3 5 18 7.7 18 11V14.8M20.1 4.8L18.7 3.4L16.6 5.5L18 6.9L20.1 4.8M19.5 10.5V12.5H22.5V10.5H19.5M4.5 10.5H1.5V12.5H4.5V10.5M1.1 3L6.6 8.5C6.2 9.2 6 10.1 6 11V19H17.1L18.1 20H6C4.9 20 4 20.9 4 22H20.1L20.8 22.7L22.1 21.4L2.4 1.7L1.1 3M13 1H11V4H13V1Z\";\r\nexport var mdiAlarmLightOffOutline = \"M10.5 7.3L9 5.8C9.9 5.3 10.9 5 12 5C15.3 5 18 7.7 18 11V14.8L16 12.8V11C16 8.8 14.2 7 12 7C11.5 7 11 7.1 10.5 7.3M20.1 4.8L18.7 3.4L16.6 5.5L18 6.9L20.1 4.8M19.5 10.5V12.5H22.5V10.5H19.5M4.5 10.5H1.5V12.5H4.5V10.5M2.4 1.7L22.1 21.4L20.8 22.7L20.1 22H4C4 20.9 4.9 20 6 20H18.1L17.1 19H6V11C6 10.1 6.2 9.2 6.6 8.5L1.1 3L2.4 1.7M8 17H15.1L8.1 10C8.1 10.3 8 10.7 8 11V17M13 1H11V4H13V1Z\";\r\nexport var mdiAlarmLightOutline = \"M6,6.9L3.87,4.78L5.28,3.37L7.4,5.5L6,6.9M13,1V4H11V1H13M20.13,4.78L18,6.9L16.6,5.5L18.72,3.37L20.13,4.78M4.5,10.5V12.5H1.5V10.5H4.5M19.5,10.5H22.5V12.5H19.5V10.5M6,20H18A2,2 0 0,1 20,22H4A2,2 0 0,1 6,20M12,5A6,6 0 0,1 18,11V19H6V11A6,6 0 0,1 12,5M12,7A4,4 0 0,0 8,11V17H16V11A4,4 0 0,0 12,7Z\";\r\nexport var mdiAlarmMultiple = \"M9.29,3.25L5.16,6.72L4,5.34L8.14,1.87L9.29,3.25M22,5.35L20.84,6.73L16.7,3.25L17.86,1.87L22,5.35M13,4A8,8 0 0,1 21,12A8,8 0 0,1 13,20A8,8 0 0,1 5,12A8,8 0 0,1 13,4M13,6A6,6 0 0,0 7,12A6,6 0 0,0 13,18A6,6 0 0,0 19,12A6,6 0 0,0 13,6M12,7.5H13.5V12.03L16.72,13.5L16.1,14.86L12,13V7.5M1,14C1,11.5 2.13,9.3 3.91,7.83C3.33,9.1 3,10.5 3,12L3.06,13.13L3,14C3,16.28 4.27,18.26 6.14,19.28C7.44,20.5 9.07,21.39 10.89,21.78C10.28,21.92 9.65,22 9,22A8,8 0 0,1 1,14Z\";\r\nexport var mdiAlarmNote = \"M17.4,1.86L16.11,3.39L20.71,7.25L22,5.72L17.4,1.86M6.6,1.86L2,5.71L3.29,7.24L7.88,3.39L6.6,1.86M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22C12.33,22 12.67,22 13,21.94V19.94C12.67,20 12.33,20 12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6C15.1,6 17.83,8.03 18.71,11H20.78C19.85,6.9 16.2,4 12,4M23,15H20V20.5A2.5,2.5 0 0,1 17.5,23A2.5,2.5 0 0,1 15,20.5A2.5,2.5 0 0,1 17.5,18C18.04,18 18.57,18.18 19,18.5V13H23V15M11.5,8V13.25L7.5,15.62L8.25,16.85L13,14V8H11.5Z\";\r\nexport var mdiAlarmNoteOff = \"M19,13V15.8L20,16.8V15H23V13H19M2.38,1.73L1.11,3L3,4.88L2,5.71L3.29,7.24L4.41,6.3L5.21,7.1C1.95,10.85 2.35,16.54 6.11,19.8C7.74,21.22 9.83,22 12,22C12.33,22 12.67,22 13,21.94V19.94C12.67,20 12.33,20 12,20A7,7 0 0,1 5,13C5,11.36 5.57,9.77 6.63,8.5L11.41,13.3L7.5,15.62L8.25,16.85L12.44,14.33L16.38,18.27C15.14,18.88 14.64,20.38 15.25,21.62C15.86,22.86 17.36,23.36 18.6,22.75C19.09,22.5 19.5,22.11 19.73,21.62L20.84,22.73L22.11,21.46L2.38,1.73M12,6C15.1,6 17.83,8.03 18.71,11H20.78C19.85,6.9 16.2,4 12,4C10.65,4 9.31,4.3 8.1,4.9L9.62,6.42C10.38,6.14 11.19,6 12,6M11.5,8.3L13,9.8V8H11.5V8.3M7.88,3.39L6.6,1.86L5.76,2.56L7.18,4L7.88,3.39M17.4,1.86L16.11,3.39L20.71,7.25L22,5.72L17.4,1.86Z\";\r\nexport var mdiAlarmOff = \"M8,3.28L6.6,1.86L5.74,2.57L7.16,4M16.47,18.39C15.26,19.39 13.7,20 12,20A7,7 0 0,1 5,13C5,11.3 5.61,9.74 6.61,8.53M2.92,2.29L1.65,3.57L3,4.9L1.87,5.83L3.29,7.25L4.4,6.31L5.2,7.11C3.83,8.69 3,10.75 3,13A9,9 0 0,0 12,22C14.25,22 16.31,21.17 17.89,19.8L20.09,22L21.36,20.73L3.89,3.27L2.92,2.29M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72M12,6A7,7 0 0,1 19,13C19,13.84 18.84,14.65 18.57,15.4L20.09,16.92C20.67,15.73 21,14.41 21,13A9,9 0 0,0 12,4C10.59,4 9.27,4.33 8.08,4.91L9.6,6.43C10.35,6.16 11.16,6 12,6Z\";\r\nexport var mdiAlarmPanel = \"M20 3H4C2.9 3 2 3.9 2 5V19C2 20.1 2.9 21 4 21H20C21.1 21 22 20.1 22 19V5C22 3.9 21.1 3 20 3M8 19H5V17H8V19M8 16H5V14H8V16M8 13H5V11H8V13M13.5 19H10.5V17H13.5V19M13.5 16H10.5V14H13.5V16M13.5 13H10.5V11H13.5V13M19 19H16V17H19V19M19 16H16V14H19V16M19 13H16V11H19V13M19 9H5V5H19V9Z\";\r\nexport var mdiAlarmPanelOutline = \"M9 12H6V10H9V12M13.5 10H10.5V12H13.5V10M18 10H15V12H18V10M18 6H6V9H18V6M20 5H4L4 19L20 19L20 5L20 5M20 3C21.1 3 22 3.9 22 5V19C22 20.1 21.1 21 20 21H4C2.9 21 2 20.1 2 19V5C2 3.9 2.9 3 4 3H20M9 13H6V15H9V13M13.5 13H10.5V15H13.5V13M18 13H15V15H18V13M9 16H6V18H9V16M13.5 16H10.5V18H13.5V16M18 16H15V18H18V16Z\";\r\nexport var mdiAlarmPlus = \"M13,9H11V12H8V14H11V17H13V14H16V12H13M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39Z\";\r\nexport var mdiAlarmSnooze = \"M7.88,3.39L6.6,1.86L2,5.71L3.29,7.24L7.88,3.39M22,5.72L17.4,1.86L16.11,3.39L20.71,7.25L22,5.72M12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,4M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M9,11H12.63L9,15.2V17H15V15H11.37L15,10.8V9H9V11Z\";\r\nexport var mdiAlbum = \"M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12,16.5C9.5,16.5 7.5,14.5 7.5,12C7.5,9.5 9.5,7.5 12,7.5C14.5,7.5 16.5,9.5 16.5,12C16.5,14.5 14.5,16.5 12,16.5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiAlert = \"M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z\";\r\nexport var mdiAlertBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M13,13V7H11V13H13M13,17V15H11V17H13Z\";\r\nexport var mdiAlertBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertCircle = \"M13,13H11V7H13M13,17H11V15H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiAlertCircleCheck = \"M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16M13 13V7H11V13H13M13 17V15H11V17H13M12 2C17.5 2 22 6.5 22 12L21.91 13.31C21.31 13.11 20.67 13 20 13C16.69 13 14 15.69 14 19C14 19.95 14.22 20.85 14.62 21.65C13.78 21.88 12.91 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2Z\";\r\nexport var mdiAlertCircleCheckOutline = \"M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16M11 15H13V17H11V15M11 7H13V13H11V7M12 2C17.5 2 22 6.5 22 12L21.92 13.31C21.31 13.11 20.67 13 19.94 13L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C12.71 20 13.39 19.91 14.05 19.74C14.13 20.42 14.33 21.06 14.62 21.65C13.78 21.88 12.9 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2Z\";\r\nexport var mdiAlertCircleOutline = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z\";\r\nexport var mdiAlertDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M13,17H11V15H13V17M13,13H11V7H13V13Z\";\r\nexport var mdiAlertDecagramOutline = \"M23,12L20.56,14.78L20.9,18.46L17.29,19.28L15.4,22.46L12,21L8.6,22.47L6.71,19.29L3.1,18.47L3.44,14.78L1,12L3.44,9.21L3.1,5.53L6.71,4.72L8.6,1.54L12,3L15.4,1.54L17.29,4.72L20.9,5.54L20.56,9.22L23,12M20.33,12L18.5,9.89L18.74,7.1L16,6.5L14.58,4.07L12,5.18L9.42,4.07L8,6.5L5.26,7.09L5.5,9.88L3.67,12L5.5,14.1L5.26,16.9L8,17.5L9.42,19.93L12,18.81L14.58,19.92L16,17.5L18.74,16.89L18.5,14.1L20.33,12M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertMinus = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M24 18V20H16V18H24Z\";\r\nexport var mdiAlertMinusOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M16 18V20H24V18H16Z\";\r\nexport var mdiAlertOctagon = \"M13 13H11V7H13M11 15H13V17H11M15.73 3H8.27L3 8.27V15.73L8.27 21H15.73L21 15.73V8.27L15.73 3Z\";\r\nexport var mdiAlertOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertOctagram = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M13,17V15H11V17H13M13,13V7H11V13H13Z\";\r\nexport var mdiAlertOctagramOutline = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M4.81,9L6.05,12L4.81,15L7.79,16.21L9,19.19L12,17.95L15,19.19L16.21,16.21L19.19,15L17.95,12L19.19,9L16.21,7.79L15,4.81L12,6.05L9,4.81L7.79,7.79L4.81,9M11,15H13V17H11V15M11,7H13V13H11V7\";\r\nexport var mdiAlertOutline = \"M12,2L1,21H23M12,6L19.53,19H4.47M11,10V14H13V10M11,16V18H13V16\";\r\nexport var mdiAlertPlus = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M21 15V18H24V20H21V23H19V20H16V18H19V15H21Z\";\r\nexport var mdiAlertPlusOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M19 15V18H16V20H19V23H21V20H24V18H21V15H19Z\";\r\nexport var mdiAlertRemove = \"M14 19C14 16.21 15.91 13.87 18.5 13.2L12 2L1 21H14.35C14.13 20.37 14 19.7 14 19M13 18H11V16H13V18M13 14H11V10H13V14M23.54 16.88L21.41 19L23.54 21.12L22.12 22.54L20 20.41L17.88 22.54L16.47 21.12L18.59 19L16.47 16.88L17.88 15.47L20 17.59L22.12 15.46L23.54 16.88Z\";\r\nexport var mdiAlertRemoveOutline = \"M11 15.5H13V17.5H11V15.5M14 19C14 18.86 14 18.73 14 18.6H5.4L12 7.3L16.11 14.44C16.62 14 17.2 13.65 17.84 13.41L12 3.3L2 20.6H14.22C14.08 20.09 14 19.56 14 19M13 10.5H11V14.5H13V10.5M22.12 15.46L20 17.59L17.88 15.46L16.47 16.88L18.59 19L16.47 21.12L17.88 22.54L20 20.41L22.12 22.54L23.54 21.12L21.41 19L23.54 16.88L22.12 15.46Z\";\r\nexport var mdiAlertRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M11 7H13V13H11V7M11 15H13V17H11V15Z\";\r\nexport var mdiAlertRhombusOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12M11 7V13H13V7M11 15V17H13V15Z\";\r\nexport var mdiAlien = \"M12,3C16.97,3 21,6.58 21,11C21,15.42 15,21 12,21C9,21 3,15.42 3,11C3,6.58 7.03,3 12,3M10.31,10.93C9.29,9.29 7.47,8.58 6.25,9.34C5.03,10.1 4.87,12.05 5.89,13.69C6.92,15.33 8.74,16.04 9.96,15.28C11.18,14.5 11.33,12.57 10.31,10.93M13.69,10.93C12.67,12.57 12.82,14.5 14.04,15.28C15.26,16.04 17.08,15.33 18.11,13.69C19.13,12.05 18.97,10.1 17.75,9.34C16.53,8.58 14.71,9.29 13.69,10.93M12,17.75C10,17.75 9.5,17 9.5,17C9.5,17.03 10,19 12,19C14,19 14.5,17 14.5,17C14.5,17 14,17.75 12,17.75Z\";\r\nexport var mdiAlienOutline = \"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2 12 2Z\";\r\nexport var mdiAlignHorizontalCenter = \"M11 2H13V7H21V10H13V14H18V17H13V22H11V17H6V14H11V10H3V7H11V2Z\";\r\nexport var mdiAlignHorizontalDistribute = \"M4 22H2V2H4V22M22 2H20V22H22V2M13.5 7H10.5V17H13.5V7Z\";\r\nexport var mdiAlignHorizontalLeft = \"M4 22H2V2H4V22M22 7H6V10H22V7M16 14H6V17H16V14Z\";\r\nexport var mdiAlignHorizontalRight = \"M20 2H22V22H20V2M2 10H18V7H2V10M8 17H18V14H8V17Z\";\r\nexport var mdiAlignVerticalBottom = \"M22 22H2V20H22V22M10 2H7V18H10V2M17 8H14V18H17V8Z\";\r\nexport var mdiAlignVerticalCenter = \"M22 11H17V6H14V11H10V3H7V11H1.8V13H7V21H10V13H14V18H17V13H22V11Z\";\r\nexport var mdiAlignVerticalDistribute = \"M22 2V4H2V2H22M7 10.5V13.5H17V10.5H7M2 20V22H22V20H2Z\";\r\nexport var mdiAlignVerticalTop = \"M22 2V4H2V2H22M7 22H10V6H7V22M14 16H17V6H14V16Z\";\r\nexport var mdiAllInclusive = \"M18.6,6.62C17.16,6.62 15.8,7.18 14.83,8.15L7.8,14.39C7.16,15.03 6.31,15.38 5.4,15.38C3.53,15.38 2,13.87 2,12C2,10.13 3.53,8.62 5.4,8.62C6.31,8.62 7.16,8.97 7.84,9.65L8.97,10.65L10.5,9.31L9.22,8.2C8.2,7.18 6.84,6.62 5.4,6.62C2.42,6.62 0,9.04 0,12C0,14.96 2.42,17.38 5.4,17.38C6.84,17.38 8.2,16.82 9.17,15.85L16.2,9.61C16.84,8.97 17.69,8.62 18.6,8.62C20.47,8.62 22,10.13 22,12C22,13.87 20.47,15.38 18.6,15.38C17.7,15.38 16.84,15.03 16.16,14.35L15,13.34L13.5,14.68L14.78,15.8C15.8,16.81 17.15,17.37 18.6,17.37C21.58,17.37 24,14.96 24,12C24,9 21.58,6.62 18.6,6.62Z\";\r\nexport var mdiAllInclusiveBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M16.1 15.9C15.07 15.9 14.09 15.5 13.35 14.76L12.71 14.12L14.13 12.71L14.76 13.34C15.12 13.7 15.6 13.9 16.11 13.9C17.15 13.9 18 13.05 18 12S17.15 10.1 16.1 10.1C15.6 10.1 15.12 10.3 14.76 10.66L10.65 14.76C9.91 15.5 8.94 15.9 7.9 15.9C5.75 15.9 4 14.15 4 12S5.75 8.1 7.9 8.1C8.94 8.1 9.91 8.5 10.65 9.24L11.29 9.88L9.87 11.3L9.24 10.66C8.88 10.3 8.4 10.1 7.9 10.1C6.85 10.1 6 10.95 6 12S6.85 13.9 7.9 13.9C8.4 13.9 8.88 13.7 9.24 13.34L13.35 9.24C14.09 8.5 15.06 8.1 16.1 8.1C18.25 8.1 20 9.85 20 12S18.25 15.9 16.1 15.9Z\";\r\nexport var mdiAllInclusiveBoxOutline = \"M19 12C19 13.84 17.5 15.34 15.66 15.34C14.77 15.34 13.94 15 13.31 14.36L12.71 13.76L13.77 12.71C14.04 13 14.37 13.3 14.37 13.3C14.71 13.65 15.18 13.84 15.67 13.84C16.68 13.84 17.5 13 17.5 12S16.68 10.16 15.67 10.16C15.18 10.16 14.71 10.36 14.37 10.7L10.7 14.36C10.07 15 9.23 15.34 8.34 15.34C6.5 15.34 5 13.84 5 12S6.5 8.66 8.34 8.66C9.23 8.66 10.07 9 10.7 9.64L11.29 10.24L10.23 11.3L9.64 10.7C9.29 10.36 8.83 10.16 8.34 10.16C7.32 10.16 6.5 11 6.5 12S7.32 13.84 8.34 13.84C8.83 13.84 9.29 13.65 9.64 13.3L13.31 9.64C13.94 9 14.77 8.66 15.66 8.66C17.5 8.66 19 10.16 19 12M21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3H19C20.1 3 21 3.89 21 5M19 5H5V19H19V5Z\";\r\nexport var mdiAllergy = \"M19.75 5.33A1.25 1.25 0 0 0 18.5 6.58V11.17H17.67V4.08A1.25 1.25 0 0 0 15.17 4.08V11.17H14.33V3.25A1.25 1.25 0 1 0 11.83 3.25V11.17H11V5.33A1.25 1.25 0 0 0 8.5 5.33V15.26L4.91 13.26A1 1 0 0 0 4.41 13.12A1 1 0 0 0 3.75 13.37L2.67 14.37L9.21 21A3.29 3.29 0 0 0 11.58 22H17.67A3.33 3.33 0 0 0 21 18.67V6.58A1.25 1.25 0 0 0 19.75 5.33M11 15A1 1 0 1 1 12 14A1 1 0 0 1 11 15M13 18A1 1 0 1 1 14 17A1 1 0 0 1 13 18M18 16A1 1 0 1 1 19 15A1 1 0 0 1 18 16M17 19A1 1 0 1 1 18 18A1 1 0 0 1 17 19M15 15A1 1 0 1 1 16 14A1 1 0 0 1 15 15Z\";\r\nexport var mdiAlpha = \"M18.08,17.8C17.62,17.93 17.21,18 16.85,18C15.65,18 14.84,17.12 14.43,15.35H14.38C13.39,17.26 12,18.21 10.25,18.21C8.94,18.21 7.89,17.72 7.1,16.73C6.31,15.74 5.92,14.5 5.92,13C5.92,11.25 6.37,9.85 7.26,8.76C8.15,7.67 9.36,7.12 10.89,7.12C11.71,7.12 12.45,7.35 13.09,7.8C13.73,8.26 14.22,8.9 14.56,9.73H14.6L15.31,7.33H17.87L15.73,12.65C15.97,13.89 16.22,14.74 16.5,15.19C16.74,15.64 17.08,15.87 17.5,15.87C17.74,15.87 17.93,15.83 18.1,15.76L18.08,17.8M13.82,12.56C13.61,11.43 13.27,10.55 12.81,9.95C12.36,9.34 11.81,9.04 11.18,9.04C10.36,9.04 9.7,9.41 9.21,10.14C8.72,10.88 8.5,11.79 8.5,12.86C8.5,13.84 8.69,14.65 9.12,15.31C9.54,15.97 10.11,16.29 10.82,16.29C11.42,16.29 11.97,16 12.46,15.45C12.96,14.88 13.37,14.05 13.7,12.96L13.82,12.56Z\";\r\nexport var mdiAlphaA = \"M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaABox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaABoxOutline = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V17H13V13H11V17H9V9A2,2 0 0,1 11,7M11,9V11H13V9H11Z\";\r\nexport var mdiAlphaACircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaACircleOutline = \"M11,7H13A2,2 0 0,1 15,9V17H13V13H11V17H9V9A2,2 0 0,1 11,7M11,9V11H13V9H11M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaB = \"M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\r\nexport var mdiAlphaBBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\r\nexport var mdiAlphaBBoxOutline = \"M15,10.5C15,11.3 14.3,12 13.5,12C14.3,12 15,12.7 15,13.5V15A2,2 0 0,1 13,17H9V7H13A2,2 0 0,1 15,9V10.5M13,15V13H11V15H13M13,11V9H11V11H13M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaBCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M15,10.5V9A2,2 0 0,0 13,7H9V17H13A2,2 0 0,0 15,15V13.5C15,12.7 14.3,12 13.5,12C14.3,12 15,11.3 15,10.5M13,15H11V13H13V15M13,11H11V9H13V11Z\";\r\nexport var mdiAlphaBCircleOutline = \"M15,10.5C15,11.3 14.3,12 13.5,12C14.3,12 15,12.7 15,13.5V15A2,2 0 0,1 13,17H9V7H13A2,2 0 0,1 15,9V10.5M13,15V13H11V15H13M13,11V9H11V11H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaC = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\r\nexport var mdiAlphaCBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\r\nexport var mdiAlphaCBoxOutline = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V10H13V9H11V15H13V14H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7Z\";\r\nexport var mdiAlphaCCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V14H13V15H11V9H13V10H15V9A2,2 0 0,0 13,7H11Z\";\r\nexport var mdiAlphaCCircleOutline = \"M11,7H13A2,2 0 0,1 15,9V10H13V9H11V15H13V14H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaD = \"M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaDBox = \"M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaDBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H9V7M11,9V15H13V9H11M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaDCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H9M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaDCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H9V7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaE = \"M9,7V17H15V15H11V13H15V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaEBox = \"M9,7V17H15V15H11V13H15V11H11V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaEBoxOutline = \"M9,7H15V9H11V11H15V13H11V15H15V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaECircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H15V15H11V13H15V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaECircleOutline = \"M9,7H15V9H11V11H15V13H11V15H15V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaF = \"M9,7V17H11V13H14V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaFBox = \"M9,7V17H11V13H14V11H11V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaFBoxOutline = \"M9,7H15V9H11V11H14V13H11V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaFCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13H14V11H11V9H15V7H9Z\";\r\nexport var mdiAlphaFCircleOutline = \"M9,7H15V9H11V11H14V13H11V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaG = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11Z\";\r\nexport var mdiAlphaGBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaGBoxOutline = \"M11,7H15V9H11V15H13V11H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaGCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V11H13V15H11V9H15V7H11Z\";\r\nexport var mdiAlphaGCircleOutline = \"M11,7H15V9H11V15H13V11H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaH = \"M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiAlphaHBox = \"M9,7V17H11V13H13V17H15V7H13V11H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaHBoxOutline = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaHCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiAlphaHCircleOutline = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaI = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14Z\";\r\nexport var mdiAlphaIBox = \"M14,7H10V9H11V15H10V17H14V15H13V9H14V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaIBoxOutline = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaICircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M14,7H10V9H11V15H10V17H14V15H13V9H14V7Z\";\r\nexport var mdiAlphaICircleOutline = \"M14,7V9H13V15H14V17H10V15H11V9H10V7H14M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaJ = \"M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13Z\";\r\nexport var mdiAlphaJBox = \"M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaJBoxOutline = \"M13,7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V14H11V15H13V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaJCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13,7V15H11V14H9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13Z\";\r\nexport var mdiAlphaJCircleOutline = \"M13,7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V14H11V15H13V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaK = \"M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9Z\";\r\nexport var mdiAlphaKBox = \"M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaKBoxOutline = \"M9,7H11V10.33L13,7H15L12,12L15,17H13L11,13.67V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaKCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M9,7V17H11V13.67L13,17H15L12,12L15,7H13L11,10.33V7H9Z\";\r\nexport var mdiAlphaKCircleOutline = \"M9,7H11V10.33L13,7H15L12,12L15,17H13L11,13.67V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaL = \"M9,7V17H15V15H11V7H9Z\";\r\nexport var mdiAlphaLBox = \"M9,7V17H15V15H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaLBoxOutline = \"M9,7H11V15H15V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaLCircle = \"M9,7V17H15V15H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaLCircleOutline = \"M9,7H11V15H15V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaM = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9Z\";\r\nexport var mdiAlphaMBox = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaMBoxOutline = \"M9,7H15A2,2 0 0,1 17,9V17H15V9H13V16H11V9H9V17H7V9A2,2 0 0,1 9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaMCircle = \"M9,7A2,2 0 0,0 7,9V17H9V9H11V16H13V9H15V17H17V9A2,2 0 0,0 15,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaMCircleOutline = \"M9,7H15A2,2 0 0,1 17,9V17H15V9H13V16H11V9H9V17H7V9A2,2 0 0,1 9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaN = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9Z\";\r\nexport var mdiAlphaNBox = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaNBoxOutline = \"M9,7H11L13,12V7H15V17H13L11,12V17H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaNCircle = \"M9,7V17H11V12L13,17H15V7H13V12L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaNCircleOutline = \"M9,7H11L13,12V7H15V17H13L11,12V17H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaO = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaOBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaOBoxOutline = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiAlphaOCircle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaOCircleOutline = \"M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaP = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaPBox = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaPBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V17H9V7M11,9V11H13V9H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaPCircle = \"M9,7V17H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaPCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V17H9V7M11,9V11H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaQ = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaQBox = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M5,4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4Z\";\r\nexport var mdiAlphaQBoxOutline = \"M5,4H19A2,2 0 0,1 21,6V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V6A2,2 0 0,1 5,4M5,6V20H19V6H5M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17V19H11V17A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiAlphaQCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17V19H13V17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiAlphaQCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17V19H11V17A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiAlphaR = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9Z\";\r\nexport var mdiAlphaRBox = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaRBoxOutline = \"M9,7H13A2,2 0 0,1 15,9V11C15,11.84 14.5,12.55 13.76,12.85L15,17H13L11.8,13H11V17H9V7M11,9V11H13V9H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaRCircle = \"M9,7V17H11V13H11.8L13,17H15L13.76,12.85C14.5,12.55 15,11.84 15,11V9A2,2 0 0,0 13,7H9M11,9H13V11H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaRCircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11C15,11.84 14.5,12.55 13.76,12.85L15,17H13L11.8,13H11V17H9V7M11,9V11H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,16.41 7.58,20 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaS = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11Z\";\r\nexport var mdiAlphaSBox = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaSBoxOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaSCircle = \"M11,7A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaSCircleOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaT = \"M9,7V9H11V17H13V9H15V7H9Z\";\r\nexport var mdiAlphaTBox = \"M9,7V9H11V17H13V9H15V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaTBoxOutline = \"M9,7H15V9H13V17H11V9H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaTCircle = \"M9,7V9H11V17H13V9H15V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaTCircleOutline = \"M9,7H15V9H13V17H11V9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaU = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9Z\";\r\nexport var mdiAlphaUBox = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaUBoxOutline = \"M9,7H11V15H13V7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaUCircle = \"M9,7V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V7H13V15H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaUCircleOutline = \"M9,7H11V15H13V7H15V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaV = \"M9,7L11,17H13L15,7H13L12,12L11,7H9Z\";\r\nexport var mdiAlphaVBox = \"M9,7L11,17H13L15,7H13L12,12L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaVBoxOutline = \"M9,7H11L12,12L13,7H15L13,17H11L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaVCircle = \"M9,7L11,17H13L15,7H13L12,12L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaVCircleOutline = \"M9,7H11L12,12L13,7H15L13,17H11L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaW = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9Z\";\r\nexport var mdiAlphaWBox = \"M9,17H15A2,2 0 0,0 17,15V7H15V15H13V8H11V15H9V7H7V15A2,2 0 0,0 9,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaWBoxOutline = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaWCircle = \"M9,17H15A2,2 0 0,0 17,15V7H15V15H13V8H11V15H9V7H7V15A2,2 0 0,0 9,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaWCircleOutline = \"M9,17A2,2 0 0,1 7,15V7H9V15H11V8H13V15H15V7H17V15A2,2 0 0,1 15,17H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaX = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9Z\";\r\nexport var mdiAlphaXBox = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaXBoxOutline = \"M9,7H11L12,9.5L13,7H15L13,12L15,17H13L12,14.5L11,17H9L11,12L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaXCircle = \"M9,7L11,12L9,17H11L12,14.5L13,17H15L13,12L15,7H13L12,9.5L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaXCircleOutline = \"M9,7H11L12,9.5L13,7H15L13,12L15,17H13L12,14.5L11,17H9L11,12L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaY = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9Z\";\r\nexport var mdiAlphaYBox = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaYBoxOutline = \"M9,7H11L12,10L13,7H15L13,13V17H11V13L9,7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaYCircle = \"M9,7L11,13V17H13V13L15,7H13L12,10L11,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaYCircleOutline = \"M9,7H11L12,10L13,7H15L13,13V17H11V13L9,7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphaZ = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9Z\";\r\nexport var mdiAlphaZBox = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiAlphaZBoxOutline = \"M9,7H15V9L11,15H15V17H9V15L13,9H9V7M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiAlphaZCircle = \"M9,7V9H13L9,15V17H15V15H11L15,9V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiAlphaZCircleOutline = \"M9,7H15V9L11,15H15V17H9V15L13,9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiAlphabetAurebesh = \"M3 4V11H14.23L22 4H19L13.46 9H5V4H3M3 13V20H5V15H13.46L19 20H22L14.23 13H3Z\";\r\nexport var mdiAlphabetCyrillic = \"M16 6C14.36 6 13 7.36 13 9V15C13 16.65 14.36 18 16 18H17C18.65 18 20 16.65 20 15V12C20 10.36 18.65 9 17 9H15C15 8.44 15.44 8 16 8H18C19.09 8 20 7.09 20 6M5 9V11H8C8.57 11 9 11.43 9 12H7C5.36 12 4 13.36 4 15C4 16.65 5.36 18 7 18H11V12C11 10.36 9.65 9 8 9M15 11H17C17.57 11 18 11.43 18 12V15C18 15.57 17.57 16 17 16H16C15.43 16 15 15.57 15 15M7 14H9V16H7C6.43 16 6 15.57 6 15C6 14.43 6.43 14 7 14Z\";\r\nexport var mdiAlphabetGreek = \"M16 6C14.36 6 13 7.36 13 9V21H15V9C15 8.43 15.43 8 16 8H17C17.57 8 18 8.43 18 9V10C18 10.57 17.57 11 17 11H16V13H17C17.57 13 18 13.43 18 14V15C18 15.57 17.57 16 17 16H16V18H17C18.65 18 20 16.65 20 15V14C20 13.18 19.59 12.46 19 12C19.59 11.54 20 10.82 20 10V9C20 7.36 18.65 6 17 6M7 9C5.36 9 4 10.36 4 12V15C4 16.65 5.36 18 7 18H7.7C8.2 18 8.65 17.81 9 17.5V18H11V9H9V9.5C8.65 9.19 8.2 9 7.7 9M7 11H8C8.57 11 9 11.43 9 12V15C9 15.57 8.57 16 8 16H7C6.43 16 6 15.57 6 15V12C6 11.43 6.43 11 7 11Z\";\r\nexport var mdiAlphabetLatin = \"M13 6V18H15V17.31C15.37 17.73 15.9 18 16.5 18H17C18.65 18 20 16.65 20 15V12C20 10.36 18.65 9 17 9H16.5C15.9 9 15.37 9.27 15 9.7V6M5 9V11H8C8.57 11 9 11.43 9 12H7C5.36 12 4 13.36 4 15C4 16.65 5.36 18 7 18H11V12C11 10.36 9.65 9 8 9M16 11H17C17.57 11 18 11.43 18 12V15C18 15.57 17.57 16 17 16H16C15.43 16 15 15.57 15 15V12C15 11.43 15.43 11 16 11M7 14H9V16H7C6.43 16 6 15.57 6 15C6 14.43 6.43 14 7 14Z\";\r\nexport var mdiAlphabetPiqad = \"M13.04 4L6.54 17.85C6.21 18.55 5.5 19 4.73 19H4V20H16C17.2 20 18.27 20.54 19 21.39H20C19.05 19.32 17 18 14.7 18H12C11.29 18 10.62 17.63 10.24 17.03C9.85 16.43 9.8 15.68 10.1 15.03L10.58 14H19V13H17.5C15.29 13 13.5 11.21 13.5 9C13.5 6.79 15.29 5 17.5 5H20V4Z\";\r\nexport var mdiAlphabetTengwar = \"M10 7L12.5 3H15L11 7H10M12.5 9C11.96 9 11.46 9.13 11 9.35V9H8V11H9V21H11V12.5C11 11.67 11.67 11 12.5 11C13.33 11 14 11.67 14 12.5V14.5C14 15.33 13.33 16 12.5 16H12V18H12.5C14.43 18 16 16.43 16 14.5V12.5C16 10.57 14.43 9 12.5 9Z\";\r\nexport var mdiAlphabetical = \"M6,11A2,2 0 0,1 8,13V17H4A2,2 0 0,1 2,15V13A2,2 0 0,1 4,11H6M4,13V15H6V13H4M20,13V15H22V17H20A2,2 0 0,1 18,15V13A2,2 0 0,1 20,11H22V13H20M12,7V11H14A2,2 0 0,1 16,13V15A2,2 0 0,1 14,17H12A2,2 0 0,1 10,15V7H12M12,15H14V13H12V15Z\";\r\nexport var mdiAlphabeticalOff = \"M22.11 21.46L16 15.31L14 13.31L13.65 13L10 9.34L2.39 1.73L1.11 3L10 11.89V15A2 2 0 0 0 12 17H14A1.92 1.92 0 0 0 14.89 16.78L20.84 22.73M12 15V13.89L13.11 15M16 12.78L14.22 11A2 2 0 0 1 16 12.78M20.2 17L18 14.8V13A2 2 0 0 1 20 11H22V13H20V15H22V17M6 11H4A2 2 0 0 0 2 13V15A2 2 0 0 0 4 17H8V13A2 2 0 0 0 6 11M6 15H4V13H6M12 8.8L10.2 7H12Z\";\r\nexport var mdiAlphabeticalVariant = \"M3 7A2 2 0 0 0 1 9V17H3V13H5V17H7V9A2 2 0 0 0 5 7H3M3 9H5V11H3M15 10.5V9A2 2 0 0 0 13 7H9V17H13A2 2 0 0 0 15 15V13.5A1.54 1.54 0 0 0 13.5 12A1.54 1.54 0 0 0 15 10.5M13 15H11V13H13V15M13 11H11V9H13M19 7A2 2 0 0 0 17 9V15A2 2 0 0 0 19 17H21A2 2 0 0 0 23 15V14H21V15H19V9H21V10H23V9A2 2 0 0 0 21 7Z\";\r\nexport var mdiAlphabeticalVariantOff = \"M12.2 9L10.2 7H13A2 2 0 0 1 15 9V10.5A1.47 1.47 0 0 1 14.64 11.44L13 9.8V9M23 10V9A2 2 0 0 0 21 7H19A2 2 0 0 0 17 9V13.8L20.2 17H21A2 2 0 0 0 23 15V14H21V15H19V9H21V10M15 14.35L22.11 21.46L20.84 22.73L14.46 16.35A2 2 0 0 1 13 17H9V10.89L7 8.89V17H5V13H3V17H1V9A2 2 0 0 1 3 7H5.12L1.12 3L2.39 1.73L9 8.34L11 10.34L11.66 11L15 14.34M5 9H3V11H5M13 14.89L11.11 13H11V15H13Z\";\r\nexport var mdiAltimeter = \"M7,3V5H17V3H7M9,7V9H15V7H9M2,7.96V16.04L6.03,12L2,7.96M22.03,7.96L18,12L22.03,16.04V7.96M7,11V13H17V11H7M9,15V17H15V15H9M7,19V21H17V19H7Z\";\r\nexport var mdiAmbulance = \"M18,18.5A1.5,1.5 0 0,0 19.5,17A1.5,1.5 0 0,0 18,15.5A1.5,1.5 0 0,0 16.5,17A1.5,1.5 0 0,0 18,18.5M19.5,9.5H17V12H21.46L19.5,9.5M6,18.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 6,15.5A1.5,1.5 0 0,0 4.5,17A1.5,1.5 0 0,0 6,18.5M20,8L23,12V17H21A3,3 0 0,1 18,20A3,3 0 0,1 15,17H9A3,3 0 0,1 6,20A3,3 0 0,1 3,17H1V6C1,4.89 1.89,4 3,4H17V8H20M8,6V9H5V11H8V14H10V11H13V9H10V6H8Z\";\r\nexport var mdiAmmunition = \"M14,22H10V21H14V22M13,10V7H11V10L10,11.5V20H14V11.5L13,10M12,2C12,2 11,3 11,5V6H13V5C13,5 13,3 12,2M8,22H4V21H8V22M7,10V7H5V10L4,11.5V20H8V11.5L7,10M6,2C6,2 5,3 5,5V6H7V5C7,5 7,3 6,2M20,22H16V21H20V22M19,10V7H17V10L16,11.5V20H20V11.5L19,10M18,2C18,2 17,3 17,5V6H19V5C19,5 19,3 18,2Z\";\r\nexport var mdiAmpersand = \"M4.4,16.5C4.4,15.6 4.7,14.7 5.2,13.9C5.7,13.1 6.7,12.2 8.2,11.2C7.3,10.1 6.8,9.3 6.5,8.7C6.1,8 6,7.4 6,6.7C6,5.2 6.4,4.1 7.3,3.2C8.2,2.3 9.4,2 10.9,2C12.2,2 13.3,2.4 14.2,3.2C15.1,4 15.5,5 15.5,6.1C15.5,6.9 15.3,7.6 14.9,8.3C14.5,9 13.8,9.7 12.8,10.4L11.4,11.5L15.7,16.7C16.3,15.5 16.6,14.3 16.6,12.8H18.8C18.8,15.1 18.3,17 17.2,18.5L20,21.8H17L15.7,20.3C15,20.9 14.3,21.3 13.4,21.6C12.5,21.9 11.6,22.1 10.7,22.1C8.8,22.1 7.3,21.6 6.1,20.6C5,19.5 4.4,18.2 4.4,16.5M10.7,20C12,20 13.2,19.5 14.3,18.5L9.6,12.8L9.2,13.1C7.7,14.2 7,15.3 7,16.5C7,17.6 7.3,18.4 8,19C8.7,19.6 9.5,20 10.7,20M8.5,6.7C8.5,7.6 9,8.6 10.1,9.9L11.7,8.8C12.3,8.4 12.7,8 12.9,7.6C13.1,7.2 13.2,6.7 13.2,6.2C13.2,5.6 13,5.1 12.5,4.7C12.1,4.3 11.5,4.1 10.8,4.1C10.1,4.1 9.5,4.3 9.1,4.8C8.7,5.3 8.5,5.9 8.5,6.7Z\";\r\nexport var mdiAmplifier = \"M10,2H14A1,1 0 0,1 15,3H21V21H19A1,1 0 0,1 18,22A1,1 0 0,1 17,21H7A1,1 0 0,1 6,22A1,1 0 0,1 5,21H3V3H9A1,1 0 0,1 10,2M5,5V9H19V5H5M7,6A1,1 0 0,1 8,7A1,1 0 0,1 7,8A1,1 0 0,1 6,7A1,1 0 0,1 7,6M12,6H14V7H12V6M15,6H16V8H15V6M17,6H18V8H17V6M12,11A4,4 0 0,0 8,15A4,4 0 0,0 12,19A4,4 0 0,0 16,15A4,4 0 0,0 12,11M10,6A1,1 0 0,1 11,7A1,1 0 0,1 10,8A1,1 0 0,1 9,7A1,1 0 0,1 10,6Z\";\r\nexport var mdiAmplifierOff = \"M22.1 21.5L2.4 1.7L1.1 3L3 4.9V21H5C5 21.6 5.4 22 6 22S7 21.6 7 21H17C17 21.6 17.4 22 18 22S19 21.6 19 21H19.1L20.8 22.7L22.1 21.5M5 9V6.9L7.1 9H5M12 19C9.8 19 8 17.2 8 15C8 13.6 8.7 12.4 9.8 11.7L15.3 17.2C14.6 18.3 13.4 19 12 19M14 6V7H12V6H14M10 6C10.6 6 11 6.4 11 7C11 7.2 10.9 7.4 10.8 7.6L9.4 6.2C9.6 6.1 9.8 6 10 6M8.2 5L6.2 3H9C9 2.4 9.4 2 10 2H14C14.6 2 15 2.4 15 3H21V17.8L12.2 9H19V5H8.2M16 6V8H15V6H16M18 6V8H17V6H18Z\";\r\nexport var mdiAnchor = \"M12 2A3 3 0 0 0 9 5A3 3 0 0 0 11 7.83V9H8V11H11V19.92C10.26 19.79 9.5 19.58 8.79 19.27C8.05 18.95 7.4 18.56 6.82 18.09C6.24 17.62 5.78 17.11 5.44 16.55L7 15L3 12V15C3 15.97 3.27 16.88 3.82 17.72C4.37 18.56 5.09 19.31 6 19.95C6.87 20.59 7.84 21.09 8.88 21.45C9.93 21.81 10.97 22 12 22C13.03 22 14.07 21.8 15.12 21.44C16.16 21.08 17.13 20.58 18 19.95C18.92 19.31 19.63 18.57 20.18 17.72C20.73 16.88 21 15.97 21 15V12L17 15L18.56 16.55C18.22 17.11 17.76 17.62 17.18 18.09C16.6 18.56 15.95 18.95 15.21 19.27C14.5 19.58 13.74 19.79 13 19.92V11H16V9H13V7.82A3 3 0 0 0 15 5A3 3 0 0 0 12 2M12 4A1 1 0 0 1 13 5A1 1 0 0 1 12 6A1 1 0 0 1 11 5A1 1 0 0 1 12 4Z\";\r\nexport var mdiAndroid = \"M16.61 15.15C16.15 15.15 15.77 14.78 15.77 14.32S16.15 13.5 16.61 13.5H16.61C17.07 13.5 17.45 13.86 17.45 14.32C17.45 14.78 17.07 15.15 16.61 15.15M7.41 15.15C6.95 15.15 6.57 14.78 6.57 14.32C6.57 13.86 6.95 13.5 7.41 13.5H7.41C7.87 13.5 8.24 13.86 8.24 14.32C8.24 14.78 7.87 15.15 7.41 15.15M16.91 10.14L18.58 7.26C18.67 7.09 18.61 6.88 18.45 6.79C18.28 6.69 18.07 6.75 18 6.92L16.29 9.83C14.95 9.22 13.5 8.9 12 8.91C10.47 8.91 9 9.24 7.73 9.82L6.04 6.91C5.95 6.74 5.74 6.68 5.57 6.78C5.4 6.87 5.35 7.08 5.44 7.25L7.1 10.13C4.25 11.69 2.29 14.58 2 18H22C21.72 14.59 19.77 11.7 16.91 10.14H16.91Z\";\r\nexport var mdiAndroidStudio = \"M11,2H13V4H13.5A1.5,1.5 0 0,1 15,5.5V9L14.56,9.44L16.2,12.28C17.31,11.19 18,9.68 18,8H20C20,10.42 18.93,12.59 17.23,14.06L20.37,19.5L20.5,21.72L18.63,20.5L15.56,15.17C14.5,15.7 13.28,16 12,16C10.72,16 9.5,15.7 8.44,15.17L5.37,20.5L3.5,21.72L3.63,19.5L9.44,9.44L9,9V5.5A1.5,1.5 0 0,1 10.5,4H11V2M9.44,13.43C10.22,13.8 11.09,14 12,14C12.91,14 13.78,13.8 14.56,13.43L13.1,10.9H13.09C12.47,11.5 11.53,11.5 10.91,10.9H10.9L9.44,13.43M12,6A1,1 0 0,0 11,7A1,1 0 0,0 12,8A1,1 0 0,0 13,7A1,1 0 0,0 12,6Z\";\r\nexport var mdiAngleAcute = \"M20,19H4.09L14.18,4.43L15.82,5.57L11.28,12.13C12.89,12.96 14,14.62 14,16.54C14,16.7 14,16.85 13.97,17H20V19M7.91,17H11.96C12,16.85 12,16.7 12,16.54C12,15.28 11.24,14.22 10.14,13.78L7.91,17Z\";\r\nexport var mdiAngleObtuse = \"M21,19H9.31L4.07,5.36L5.93,4.64L8.96,12.5C9.5,12.29 10.09,12.17 10.71,12.17V12.17C13.38,12.17 15.56,14.34 15.58,17H21V19M10.69,17H13.58C13.56,15.42 12.3,14.17 10.71,14.17C10.34,14.17 10,14.24 9.67,14.36L10.69,17Z\";\r\nexport var mdiAngleRight = \"M5,4H7V11H13V17H20V19H5V4M7,17H11V13H7V17Z\";\r\nexport var mdiAngular = \"M12,2.5L20.84,5.65L19.5,17.35L12,21.5L4.5,17.35L3.16,5.65L12,2.5M12,4.6L6.47,17H8.53L9.64,14.22H14.34L15.45,17H17.5L12,4.6M13.62,12.5H10.39L12,8.63L13.62,12.5Z\";\r\nexport var mdiAngularjs = \"M12,2.5L20.84,5.65L19.5,17.35L12,21.5L4.5,17.35L3.16,5.65L12,2.5M12,4.5L5,7L6.08,16.22L12,19.5L17.92,16.22L19,7L12,4.5M12,5.72L16.58,16H14.87L13.94,13.72H10.04L9.12,16H7.41L12,5.72M13.34,12.3L12,9.07L10.66,12.3H13.34Z\";\r\nexport var mdiAnimation = \"M4,2C2.89,2 2,2.89 2,4V14H4V4H14V2H4M8,6C6.89,6 6,6.89 6,8V18H8V8H18V6H8M12,10C10.89,10 10,10.89 10,12V20C10,21.11 10.89,22 12,22H20C21.11,22 22,21.11 22,20V12C22,10.89 21.11,10 20,10H12Z\";\r\nexport var mdiAnimationOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10Z\";\r\nexport var mdiAnimationPlay = \"M4,2H14V4H4V14H2V4C2,2.89 2.89,2 4,2M8,6H18V8H8V18H6V8C6,6.89 6.89,6 8,6M12,10H20C21.11,10 22,10.89 22,12V20C22,21.11 21.11,22 20,22H12C10.89,22 10,21.11 10,20V12C10,10.89 10.89,10 12,10M14,12V20L20,16L14,12Z\";\r\nexport var mdiAnimationPlayOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M14,13V19L18,16L14,13Z\";\r\nexport var mdiAnsible = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M16.1 17C15.91 17 15.76 16.9 15.55 16.73L10.39 12.56L8.66 16.9H7.17L11.54 6.39C11.65 6.11 11.89 5.97 12.17 5.97C12.45 5.97 12.67 6.11 12.79 6.39L16.77 15.97C16.81 16.08 16.84 16.19 16.84 16.26C16.83 16.68 16.5 17 16.1 17M12.17 8.11L14.76 14.5L10.85 11.42L12.17 8.11Z\";\r\nexport var mdiAntenna = \"M12 7.5C12.69 7.5 13.27 7.73 13.76 8.2S14.5 9.27 14.5 10C14.5 11.05 14 11.81 13 12.28V21H11V12.28C10 11.81 9.5 11.05 9.5 10C9.5 9.27 9.76 8.67 10.24 8.2S11.31 7.5 12 7.5M16.69 5.3C17.94 6.55 18.61 8.11 18.7 10C18.7 11.8 18.03 13.38 16.69 14.72L15.5 13.5C16.5 12.59 17 11.42 17 10C17 8.67 16.5 7.5 15.5 6.5L16.69 5.3M6.09 4.08C4.5 5.67 3.7 7.64 3.7 10S4.5 14.3 6.09 15.89L4.92 17.11C3 15.08 2 12.7 2 10C2 7.3 3 4.94 4.92 2.91L6.09 4.08M19.08 2.91C21 4.94 22 7.3 22 10C22 12.8 21 15.17 19.08 17.11L17.91 15.89C19.5 14.3 20.3 12.33 20.3 10S19.5 5.67 17.91 4.08L19.08 2.91M7.31 5.3L8.5 6.5C7.5 7.42 7 8.58 7 10C7 11.33 7.5 12.5 8.5 13.5L7.31 14.72C5.97 13.38 5.3 11.8 5.3 10C5.3 8.2 5.97 6.64 7.31 5.3Z\";\r\nexport var mdiAnvil = \"M9,5V10C13.03,12.47 8.44,14.97 6,16V19H21V16C14.59,13.27 17.47,9 22,8V5H9M2,6C2.81,8.13 4.42,9.5 7,10V6H2Z\";\r\nexport var mdiApacheKafka = \"M15.54 12.97C14.86 12.97 14.24 13.22 13.76 13.64L12.47 12.89C12.56 12.6 12.6 12.29 12.6 11.97C12.6 11.65 12.56 11.34 12.5 11.05L13.73 10.32C14.21 10.76 14.85 11 15.54 11C17.03 11 18.24 9.81 18.24 8.32S17.03 5.63 15.54 5.63 12.84 6.84 12.84 8.33C12.84 8.5 12.86 8.7 12.89 8.88L11.64 9.6C11.21 9.15 10.64 8.82 10 8.65V7.26C11.09 6.91 11.88 5.89 11.88 4.69C11.88 3.2 10.67 2 9.18 2C7.69 2 6.5 3.2 6.5 4.69C6.5 5.89 7.26 6.9 8.34 7.26V8.66C6.86 9.04 5.76 10.37 5.76 11.97C5.76 13.57 6.86 14.91 8.34 15.28V16.73C7.26 17.09 6.5 18.1 6.5 19.3C6.5 20.79 7.69 22 9.18 22C10.67 22 11.88 20.79 11.88 19.3C11.88 18.1 11.09 17.08 10 16.73V15.29C10.64 15.13 11.2 14.8 11.64 14.35L12.9 15.08C12.86 15.27 12.84 15.46 12.84 15.66C12.84 17.15 14.05 18.36 15.54 18.36S18.24 17.15 18.24 15.66 17.03 12.97 15.54 12.97M15.54 7C16.28 7 16.87 7.59 16.87 8.32S16.28 9.66 15.54 9.66 14.21 9.06 14.21 8.32 14.8 7 15.54 7M7.85 4.69C7.85 3.95 8.44 3.35 9.18 3.35C9.92 3.35 10.5 3.95 10.5 4.69S9.92 6.03 9.18 6.03C8.44 6.03 7.85 5.43 7.85 4.69M10.5 19.3C10.5 20.04 9.92 20.64 9.18 20.64C8.44 20.64 7.85 20.04 7.85 19.3C7.85 18.56 8.44 17.96 9.18 17.96C9.92 17.96 10.5 18.56 10.5 19.3M9.18 13.89C8.12 13.89 7.26 13.03 7.26 11.97C7.26 10.91 8.12 10.05 9.18 10.05S11.1 10.91 11.1 11.97C11.1 13.03 10.24 13.89 9.18 13.89M15.54 17C14.8 17 14.21 16.4 14.21 15.66S14.8 14.33 15.54 14.33 16.87 14.93 16.87 15.66 16.28 17 15.54 17Z\";\r\nexport var mdiApi = \"M7 7H5A2 2 0 0 0 3 9V17H5V13H7V17H9V9A2 2 0 0 0 7 7M7 11H5V9H7M14 7H10V17H12V13H14A2 2 0 0 0 16 11V9A2 2 0 0 0 14 7M14 11H12V9H14M20 9V15H21V17H17V15H18V9H17V7H21V9Z\";\r\nexport var mdiApiOff = \"M7 11H5V9H7M14 7H11.38L13.29 9H14V9.75L15.87 11.71C15.95 11.5 16 11.25 16 11V9C16 7.9 15.11 7 14 7M4.45 2.62L3 4L5.86 7H5C3.9 7 3 7.9 3 9V17H5V13H7V17H9V10.3L10 11.34V17H12V13.45L19.55 21.38L21 20M20.9 17H21V15H20V9H21V7H17V9H18V13.95Z\";\r\nexport var mdiApple = \"M18.71,19.5C17.88,20.74 17,21.95 15.66,21.97C14.32,22 13.89,21.18 12.37,21.18C10.84,21.18 10.37,21.95 9.1,22C7.79,22.05 6.8,20.68 5.96,19.47C4.25,17 2.94,12.45 4.7,9.39C5.57,7.87 7.13,6.91 8.82,6.88C10.1,6.86 11.32,7.75 12.11,7.75C12.89,7.75 14.37,6.68 15.92,6.84C16.57,6.87 18.39,7.1 19.56,8.82C19.47,8.88 17.39,10.1 17.41,12.63C17.44,15.65 20.06,16.66 20.09,16.67C20.06,16.74 19.67,18.11 18.71,19.5M13,3.5C13.73,2.67 14.94,2.04 15.94,2C16.07,3.17 15.6,4.35 14.9,5.19C14.21,6.04 13.07,6.7 11.95,6.61C11.8,5.46 12.36,4.26 13,3.5Z\";\r\nexport var mdiAppleFinder = \"M8 11C7.45 11 7 10.55 7 10V8C7 7.45 7.45 7 8 7C8.55 7 9 7.45 9 8V10C9 10.55 8.55 11 8 11M17 10V8C17 7.45 16.55 7 16 7C15.45 7 15 7.45 15 8V10C15 10.55 15.45 11 16 11C16.55 11 17 10.55 17 10M22 5V20C22 21.1 21.1 22 20 22H4C2.9 22 2 21.1 2 20V5C2 3.9 2.9 3 4 3H20C21.1 3 22 3.9 22 5M4 20L13.06 20C12.96 19.35 12.89 18.64 12.83 17.94C12.56 17.96 12.3 18 12 18C8.24 18 6.31 15.73 6.23 15.63C5.88 15.21 5.94 14.58 6.36 14.22C6.78 13.87 7.41 13.93 7.77 14.35C7.83 14.43 9.23 16 12 16C12.27 16 12.5 15.97 12.74 15.95C12.71 14.75 12.73 13.74 12.74 13.26H10.93C10.28 13.26 9.75 12.7 9.75 12C9.77 11.75 10.07 7.82 11 5H4L4 20M20 20L20 5H12.6C11.74 7.19 11.37 10.73 11.27 11.76H13.08C13.72 11.76 14.25 12.32 14.25 13C14.25 13.04 14.21 14.15 14.24 15.6C15.54 15.11 16.22 14.35 16.23 14.34C16.58 13.92 17.21 13.85 17.63 14.2C18.06 14.55 18.12 15.18 17.77 15.61C17.71 15.68 16.55 17.05 14.32 17.68C14.38 18.5 14.46 19.29 14.58 20H20Z\";\r\nexport var mdiAppleIcloud = \"M22,15.04C22,17.23 20.24,19 18.07,19H5.93C3.76,19 2,17.23 2,15.04C2,13.07 3.43,11.44 5.31,11.14C5.28,11 5.27,10.86 5.27,10.71C5.27,9.33 6.38,8.2 7.76,8.2C8.37,8.2 8.94,8.43 9.37,8.8C10.14,7.05 11.13,5.44 13.91,5.44C17.28,5.44 18.87,8.06 18.87,10.83C18.87,10.94 18.87,11.06 18.86,11.17C20.65,11.54 22,13.13 22,15.04Z\";\r\nexport var mdiAppleIos = \"M2.09 16.8H3.75V9.76H2.09M2.92 8.84C3.44 8.84 3.84 8.44 3.84 7.94C3.84 7.44 3.44 7.04 2.92 7.04C2.4 7.04 2 7.44 2 7.94C2 8.44 2.4 8.84 2.92 8.84M9.25 7.06C6.46 7.06 4.7 8.96 4.7 12C4.7 15.06 6.46 16.96 9.25 16.96C12.04 16.96 13.8 15.06 13.8 12C13.8 8.96 12.04 7.06 9.25 7.06M9.25 8.5C10.96 8.5 12.05 9.87 12.05 12C12.05 14.15 10.96 15.5 9.25 15.5C7.54 15.5 6.46 14.15 6.46 12C6.46 9.87 7.54 8.5 9.25 8.5M14.5 14.11C14.57 15.87 16 16.96 18.22 16.96C20.54 16.96 22 15.82 22 14C22 12.57 21.18 11.77 19.23 11.32L18.13 11.07C16.95 10.79 16.47 10.42 16.47 9.78C16.47 9 17.2 8.45 18.28 8.45C19.38 8.45 20.13 9 20.21 9.89H21.84C21.8 8.2 20.41 7.06 18.29 7.06C16.21 7.06 14.73 8.21 14.73 9.91C14.73 11.28 15.56 12.13 17.33 12.53L18.57 12.82C19.78 13.11 20.27 13.5 20.27 14.2C20.27 15 19.47 15.57 18.31 15.57C17.15 15.57 16.26 15 16.16 14.11H14.5Z\";\r\nexport var mdiAppleKeyboardCaps = \"M15,14V8H17.17L12,2.83L6.83,8H9V14H15M12,0L22,10H17V16H7V10H2L12,0M7,18H17V24H7V18M15,20H9V22H15V20Z\";\r\nexport var mdiAppleKeyboardCommand = \"M6,2A4,4 0 0,1 10,6V8H14V6A4,4 0 0,1 18,2A4,4 0 0,1 22,6A4,4 0 0,1 18,10H16V14H18A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18V16H10V18A4,4 0 0,1 6,22A4,4 0 0,1 2,18A4,4 0 0,1 6,14H8V10H6A4,4 0 0,1 2,6A4,4 0 0,1 6,2M16,18A2,2 0 0,0 18,20A2,2 0 0,0 20,18A2,2 0 0,0 18,16H16V18M14,10H10V14H14V10M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18V16H6M8,6A2,2 0 0,0 6,4A2,2 0 0,0 4,6A2,2 0 0,0 6,8H8V6M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6V8H18Z\";\r\nexport var mdiAppleKeyboardControl = \"M19.78,11.78L18.36,13.19L12,6.83L5.64,13.19L4.22,11.78L12,4L19.78,11.78Z\";\r\nexport var mdiAppleKeyboardOption = \"M3,4H9.11L16.15,18H21V20H14.88L7.84,6H3V4M14,4H21V6H14V4Z\";\r\nexport var mdiAppleKeyboardShift = \"M15,18V12H17.17L12,6.83L6.83,12H9V18H15M12,4L22,14H17V20H7V14H2L12,4Z\";\r\nexport var mdiAppleSafari = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.09 4.8,16 6.11,17.41L9.88,9.88L17.41,6.11C16,4.8 14.09,4 12,4M12,20A8,8 0 0,0 20,12C20,9.91 19.2,8 17.89,6.59L14.12,14.12L6.59,17.89C8,19.2 9.91,20 12,20M12,12L11.23,11.23L9.7,14.3L12.77,12.77L12,12M12,17.5H13V19H12V17.5M15.88,15.89L16.59,15.18L17.65,16.24L16.94,16.95L15.88,15.89M17.5,12V11H19V12H17.5M12,6.5H11V5H12V6.5M8.12,8.11L7.41,8.82L6.35,7.76L7.06,7.05L8.12,8.11M6.5,12V13H5V12H6.5Z\";\r\nexport var mdiApplication = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationArray = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M10 11H8V18H10V20H6V9H10V11M18 20H14V18H16V11H14V9H18V20M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationArrayOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M6 8V18H10V16H8V10H10V8H6M16 16H14V18H18V8H14V10H16V16\";\r\nexport var mdiApplicationBraces = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M11 11H9V12.5C9 13.6 8.1 14.5 7 14.5C8.1 14.5 9 15.4 9 16.5V18H11V20H9C7.9 20 7 19.1 7 18V17.5C7 16.4 6.1 15.5 5 15.5V13.5C6.1 13.5 7 12.6 7 11.5V11C7 9.9 7.9 9 9 9H11V11M19 15.5C17.9 15.5 17 16.4 17 17.5V18C17 19.1 16.1 20 15 20H13V18H15V16.5C15 15.4 15.9 14.5 17 14.5C15.9 14.5 15 13.6 15 12.5V11H13V9H15C16.1 9 17 9.9 17 11V11.5C17 12.6 17.9 13.5 19 13.5V15.5M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationBracesOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M9 8C7.9 8 7 8.9 7 10C7 11.1 6.1 12 5 12V14C6.1 14 7 14.9 7 16C7 17.1 7.9 18 9 18H11V16H9V15C9 13.9 8.1 13 7 13C8.1 13 9 12.1 9 11V10H11V8M15 8C16.1 8 17 8.9 17 10C17 11.1 17.9 12 19 12V14C17.9 14 17 14.9 17 16C17 17.1 16.1 18 15 18H13V16H15V15C15 13.9 15.9 13 17 13C15.9 13 15 12.1 15 11V10H13V8H15Z\";\r\nexport var mdiApplicationBrackets = \"M21,2H3A2,2 0 0,0 1,4V20A2,2 0 0,0 3,22H21A2,2 0 0,0 23,20V4A2,2 0 0,0 21,2M11,17.5L9.5,19L5,14.5L9.5,10L11,11.5L8,14.5L11,17.5M14.5,19L13,17.5L16,14.5L13,11.5L14.5,10L19,14.5L14.5,19M21,7H3V4H21V7Z\";\r\nexport var mdiApplicationBracketsOutline = \"M9.5,8.5L11,10L8,13L11,16L9.5,17.5L5,13L9.5,8.5M14.5,17.5L13,16L16,13L13,10L14.5,8.5L19,13L14.5,17.5M21,2H3A2,2 0 0,0 1,4V20A2,2 0 0,0 3,22H21A2,2 0 0,0 23,20V4A2,2 0 0,0 21,2M21,20H3V6H21V20Z\";\r\nexport var mdiApplicationCog = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M11 18C11 14.1 14.1 11 18 11C20 11 21.7 11.8 23 13.1V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H12.3C11.5 20.9 11 19.5 11 18M3 4H21V7H3V4Z\";\r\nexport var mdiApplicationCogOutline = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M12.3 22H3C1.9 22 1 21.1 1 20V4C1 2.9 1.9 2 3 2H21C22.1 2 23 2.9 23 4V13.1C22.4 12.5 21.7 12 21 11.7V6H3V20H11.3C11.5 20.7 11.8 21.4 12.3 22Z\";\r\nexport var mdiApplicationEdit = \"M11 20.1L19.2 11.9C19.7 11.4 20.3 11.1 21 11.1C21.7 11.1 22.3 11.4 22.8 11.9L23 12.1V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H11V20.1M3 4H21V7H3V4M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9Z\";\r\nexport var mdiApplicationEditOutline = \"M11 20V22H3C1.9 22 1 21.1 1 20V4C1 2.9 1.9 2 3 2H21C22.1 2 23 2.9 23 4V12.1L22.8 11.9C22.3 11.4 21.7 11.1 21 11.1V6H3V20H11M21.4 13.3L22.7 14.6C22.9 14.8 22.9 15.2 22.7 15.4L21.7 16.4L19.6 14.3L20.6 13.3C20.7 13.2 20.8 13.1 21 13.1C21.2 13.1 21.3 13.2 21.4 13.3M21.1 16.9L15.1 23H13V20.9L19.1 14.8L21.1 16.9Z\";\r\nexport var mdiApplicationExport = \"M9 12H18.8L16.3 9.5L17.7 8.1L22.6 13L17.7 17.9L16.3 16.5L18.8 14H9V12M21 17.4V20H3V6H21V8.6L23 10.6V4C23 2.9 22.1 2 21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V15.4L21 17.4Z\";\r\nexport var mdiApplicationImport = \"M1 12H10.8L8.3 9.5L9.7 8.1L14.6 13L9.7 17.9L8.3 16.5L10.8 14H1V12M21 2H3C1.9 2 1 2.9 1 4V10.1H3V6H21V20H3V16H1V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2\";\r\nexport var mdiApplicationOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20Z\";\r\nexport var mdiApplicationParentheses = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M10 19.4L8.4 20C6.9 18.6 6 16.6 6 14.5S6.9 10.4 8.4 9L10 9.6C8.7 10.7 8 12.6 8 14.5S8.7 18.2 10 19.4M15.6 20L14 19.4C15.3 18.2 16 16.4 16 14.5S15.3 10.8 14 9.6L15.6 9C17.1 10.4 18 12.4 18 14.5C18 16.6 17.1 18.6 15.6 20M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationParenthesesOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M15.6 8C17.1 9.3 18 11.1 18 13C18 14.9 17.1 16.7 15.6 18L14 17.4C15.3 16.4 16 14.7 16 13S15.3 9.6 14 8.6L15.6 8M8.4 8L10 8.6C8.7 9.6 8 11.3 8 13S8.7 16.4 10 17.4L8.4 18C6.9 16.7 6 14.9 6 13S6.9 9.3 8.4 8Z\";\r\nexport var mdiApplicationSettings = \"M21 0H3C1.9 0 1 .9 1 2V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V2C23 .9 22.1 0 21 0M21 5H3V2H21V5M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22\";\r\nexport var mdiApplicationSettingsOutline = \"M21 0H3C1.9 0 1 .9 1 2V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V2C23 .9 22.1 0 21 0M21 18H3V4H21V18M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22\";\r\nexport var mdiApplicationVariable = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M7.4 20C5.9 18.6 5 16.6 5 14.5S5.9 10.4 7.4 9L9 9.6C7.7 10.7 7 12.6 7 14.5S7.7 18.2 9 19.4L7.4 20M12.7 18L11.9 16L10.5 18H9L11.3 14.9L10 12H11.3L12.1 14L13.5 12H15L12.8 15L14.1 18H12.7M16.6 20L15 19.4C16.3 18.2 17 16.4 17 14.5S16.3 10.8 15 9.6L16.6 9C18.1 10.4 19 12.4 19 14.5C19 16.6 18.1 18.6 16.6 20M21 7H3V4H21V7Z\";\r\nexport var mdiApplicationVariableOutline = \"M21 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H21C22.1 22 23 21.1 23 20V4C23 2.9 22.1 2 21 2M21 20H3V6H21V20M16.6 8C18.1 9.3 19 11.1 19 13C19 14.9 18.1 16.7 16.6 18L15 17.4C16.3 16.4 17 14.7 17 13S16.3 9.6 15 8.6L16.6 8M7.4 8L9 8.6C7.7 9.6 7 11.3 7 13S7.7 16.4 9 17.4L7.4 18C5.9 16.7 5 14.9 5 13S5.9 9.3 7.4 8M12.1 12L13.5 10H15L12.8 13L14.1 16H12.8L12 14L10.6 16H9L11.3 12.9L10 10H11.3L12.1 12Z\";\r\nexport var mdiApproximatelyEqual = \"M18.9 9.2C18.1 10.1 16.6 11 15 11C13.5 11 12.6 10.5 11.8 10.1C11 9.8 10.2 9.3 8.9 9.3C7.7 9.3 6.6 10 6 10.6L5 9.1C5.9 8.2 7.3 7.2 8.9 7.2C10.4 7.2 11.3 7.8 12.1 8.1C12.9 8.4 13.7 9 15 9C16.2 9 17.3 8.2 17.9 7.6L18.9 9.2M19 14.1C18.1 15 16.7 16 15.1 16C13.6 16 12.7 15.5 11.9 15.1C11.1 14.8 10.3 14.2 9 14.2C7.8 14.2 6.7 15 6.1 15.6L5.1 14C6 13.1 7.4 12.1 9 12.1C10.5 12.1 11.4 12.6 12.2 13C13 13.3 13.8 13.8 15.1 13.8C16.3 13.8 17.4 13 18 12.4L19 14.1Z\";\r\nexport var mdiApproximatelyEqualBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.3 8.2C10.6 8.2 11.4 8.7 12.1 9C12.7 9.3 13.4 9.7 14.5 9.7C15.5 9.7 16.5 9 17 8.5L17.8 9.8C17.1 10.6 15.8 11.4 14.4 11.4C13.1 11.4 12.3 10.9 11.7 10.6C11.1 10.3 10.3 9.9 9.2 9.9C8.2 9.9 7.2 10.6 6.7 11.1L6 9.8C6.7 9 8 8.2 9.3 8.2M14.6 15.8C13.3 15.8 12.5 15.3 11.8 15C11.2 14.7 10.4 14.3 9.3 14.3C8.3 14.3 7.3 15 6.8 15.5L6 14.1C6.7 13.3 8 12.5 9.3 12.5C10.6 12.5 11.4 13 12.1 13.3C12.7 13.6 13.4 14 14.6 14C15.6 14 16.6 13.3 17.1 12.8L17.9 14.1C17.3 15 16 15.8 14.6 15.8Z\";\r\nexport var mdiApps = \"M16,20H20V16H16M16,14H20V10H16M10,8H14V4H10M16,8H20V4H16M10,14H14V10H10M4,14H8V10H4M4,20H8V16H4M10,20H14V16H10M4,8H8V4H4V8Z\";\r\nexport var mdiAppsBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,7V9H9V7H7M11,7V9H13V7H11M15,7V9H17V7H15M7,11V13H9V11H7M11,11V13H13V11H11M15,11V13H17V11H15M7,15V17H9V15H7M11,15V17H13V15H11M15,15V17H17V15H15Z\";\r\nexport var mdiArch = \"M12,2C11.11,4.18 10.57,5.61 9.58,7.73C10.19,8.37 10.93,9.12 12.14,9.97C10.84,9.43 9.95,8.9 9.29,8.34C8,11 6.03,14.75 2,22C5.17,20.17 7.63,19.04 9.92,18.61C9.82,18.19 9.76,17.73 9.77,17.25V17.15C9.82,15.12 10.88,13.56 12.13,13.67C13.38,13.77 14.35,15.5 14.3,17.54C14.29,17.92 14.25,18.29 14.18,18.63C16.44,19.07 18.87,20.19 22,22C21.38,20.86 20.83,19.84 20.31,18.87C19.5,18.23 18.61,17.39 16.85,16.5C18.06,16.8 18.93,17.16 19.61,17.57C14.26,7.62 13.83,6.3 12,2Z\";\r\nexport var mdiArchive = \"M3,3H21V7H3V3M4,8H20V21H4V8M9.5,11A0.5,0.5 0 0,0 9,11.5V13H15V11.5A0.5,0.5 0 0,0 14.5,11H9.5Z\";\r\nexport var mdiArchiveAlert = \"M2 4H18V7H2V4M3 8H17V20H3V8M7.5 11C7.22 11 7 11.22 7 11.5V13H13V11.5C13 11.22 12.78 11 12.5 11H7.5M20 13V7H22V13H20M20 17V15H22V17H20Z\";\r\nexport var mdiArchiveAlertOutline = \"M2 4H18V7H2V4M7.5 11H12.5C12.78 11 13 11.22 13 11.5V13H7V11.5C7 11.22 7.22 11 7.5 11M20 13V7H22V13H20M20 17V15H22V17H20M3 8H5V18H15V8H17V20H3V8Z\";\r\nexport var mdiArchiveArrowDown = \"M3 3H21V7H3V3M4 21V8H20V21H4M14 14V11H10V14H7L12 19L17 14H14Z\";\r\nexport var mdiArchiveArrowDownOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M5 5V7H19V5M10.5 11V14H8L12 18L16 14H13.5V11\";\r\nexport var mdiArchiveArrowUp = \"M4 21H20V8H4M14 15V18H10V15H7L12 10L17 15M3 3H21V7H3\";\r\nexport var mdiArchiveArrowUpOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M5 5V7H19V5M10.5 17V14H8L12 10L16 14H13.5V17\";\r\nexport var mdiArchiveCancel = \"M18.5 12C19 12 19.5 12.07 20 12.18V8H4V21H12.5C12.18 20.23 12 19.39 12 18.5C12 14.91 14.91 12 18.5 12M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\r\nexport var mdiArchiveCancelOutline = \"M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M18.5 12C19 12 19.5 12.07 20 12.18V10H18V12.03C18.17 12 18.33 12 18.5 12M6 19V10H4V21H12.5C12.24 20.38 12.09 19.7 12.03 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiArchiveCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V8H4V21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiArchiveCheckOutline = \"M21 3H3V9H21V3M19 7H5V5H19V7M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M13 19C13 19.7 13.13 20.37 13.35 21H4V10H6V19H13M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiArchiveClock = \"M20 6H2V2H20V6M16.5 12H15V17L18.61 19.16L19.36 17.94L16.5 16.25V12M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H3V7H19V9.68C21.36 10.81 23 13.21 23 16M8 12H10.26C10.83 11.19 11.56 10.5 12.41 10H8.5C8.22 10 8 10.22 8 10.5V12M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiArchiveClockOutline = \"M20 2H2V8H20V2M18 6H4V4H18V6M16 9C14.69 9 13.46 9.37 12.41 10H8.5C8.22 10 8 10.22 8 10.5V12H10.26C9.47 13.13 9 14.5 9 16C9 16.7 9.11 17.37 9.29 18H5V9H3V20H10.26C11.53 21.81 13.62 23 16 23C19.87 23 23 19.87 23 16C23 12.13 19.87 9 16 9M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiArchiveCog = \"M21 7H3V3H21V7M12 19C12 19.7 12.11 20.37 12.3 21H4V8H20V12.08C19.67 12.03 19.34 12 19 12C15.13 12 12 15.13 12 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiArchiveCogOutline = \"M18 12.08V10H20V12.08C19.67 12.03 19.34 12 19 12C18.66 12 18.33 12.03 18 12.08M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H12.3C12.11 20.37 12 19.7 12 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiArchiveEdit = \"M20 10.3V8H4V21H11V19.13L19.39 10.74C19.57 10.56 19.78 10.42 20 10.3M15 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13M21 7H3V3H21V7M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\r\nexport var mdiArchiveEditOutline = \"M18 12.13V10H20V10.3C19.78 10.42 19.57 10.56 19.39 10.74L18 12.13M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 10H4V21H11V19.13L11.13 19H6V10M21 9H3V3H21V9M19 5H5V7H19V5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiArchiveEye = \"M21 7H3V3H21V7M9.14 19.75C9.32 20.19 9.54 20.61 9.78 21H4V8H20V13.55C19.06 13.19 18.05 13 17 13C13.5 13 10.43 15.06 9.14 18.25L8.85 19L9.14 19.75M9 13H15V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\r\nexport var mdiArchiveEyeOutline = \"M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M20 13.55V10H18V13.06C18.69 13.14 19.36 13.31 20 13.55M21 9H3V3H21V9M19 5H5V7H19V5M8.85 19H6V10H4V21H9.78C9.54 20.61 9.32 20.19 9.14 19.75L8.85 19M17 18C16.44 18 16 18.44 16 19S16.44 20 17 20 18 19.56 18 19 17.56 18 17 18M23 19C22.06 21.34 19.73 23 17 23S11.94 21.34 11 19C11.94 16.66 14.27 15 17 15S22.06 16.66 23 19M19.5 19C19.5 17.62 18.38 16.5 17 16.5S14.5 17.62 14.5 19 15.62 21.5 17 21.5 19.5 20.38 19.5 19Z\";\r\nexport var mdiArchiveLock = \"M21 7H3V3H21V7M9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.06C15.87 10.83 17.35 10 19 10C19.34 10 19.68 10.04 20 10.11V8H4V21H13.03C13 20.9 13 20.8 13 20.7V17.2C13 16.24 13.5 15.34 14.2 14.74V14.5C14.2 14 14.32 13.47 14.5 13H9V11.5C9 11.22 9.22 11 9.5 11M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiArchiveLockOpen = \"M21 7H3V3H21V7M19 9C19.34 9 19.68 9.04 20 9.11V8H4V21H13.03C13 20.9 13 20.8 13 20.7V17.2C13 16.24 13.5 15.34 14.2 14.74V13.5C14.2 13.33 14.24 13.17 14.26 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.67 11 14.82 11.09 14.91 11.22C15.75 9.91 17.28 9 19 9M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiArchiveLockOpenOutline = \"M14.5 11C14.67 11 14.82 11.09 14.91 11.22C14.56 11.76 14.34 12.36 14.26 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M13 19H6V10H4V21H13.03C13 20.9 13 20.8 13 20.7V19M21 9H3V3H21V9M19 5H5V7H19V5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiArchiveLockOutline = \"M15 12.06C14.79 12.35 14.64 12.67 14.5 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.06M21 9H3V3H21V9M19 5H5V7H19V5M13 19H6V10H4V21H13.03C13 20.9 13 20.8 13 20.7V19M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiArchiveMarker = \"M21 7H3V3H21V7M13.63 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5C14.72 11 14.9 11.14 14.97 11.33C15.93 10.5 17.17 10 18.5 10C19 10 19.5 10.08 20 10.22V8H4V21H15.19C14.12 19.43 13 17.35 13 15.5C13 14.61 13.23 13.76 13.63 13M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiArchiveMarkerOutline = \"M14.5 11C14.72 11 14.9 11.14 14.97 11.33C14.42 11.79 13.96 12.36 13.63 13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M21 9H3V3H21V9M19 5H5V7H19V5M6 19V10H4V21H15.19C14.78 20.4 14.36 19.72 14 19H6M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiArchiveMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V8H4V21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M23 18V20H15V18H23Z\";\r\nexport var mdiArchiveMinusOutline = \"M13 19C13 19.7 13.13 20.37 13.35 21H4V10H6V19H13M19 13C19.34 13 19.67 13.04 20 13.09V10H18V13.09C18.33 13.04 18.66 13 19 13M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M21 9H3V3H21V9M19 5H5V7H19V5M15 18V20H23V18H15Z\";\r\nexport var mdiArchiveMusic = \"M16.5 16.11V11H20V8H4V21H13.03C13 20.84 13 20.67 13 20.5C13 18.36 14.5 16.57 16.5 16.11M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\r\nexport var mdiArchiveMusicOutline = \"M21 3H3V9H21V3M19 7H5V5H19V7M18 11V10H20V11H18M14.5 11C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11H14.5M13.26 19C13.09 19.47 13 19.97 13 20.5C13 20.67 13 20.84 13.03 21H4V10H6V19H13.26M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\r\nexport var mdiArchiveOff = \"M10.2 7L6.2 3H21V7H10.2M20 8H11.2L20 16.8V8M20 19.35V19.34L8.66 8H8.66L7.66 7H7.66L2.39 1.73L1.11 3L3 4.89V7H5.11L6.11 8H4V21H19.11L20.84 22.73L22.11 21.46L20 19.35Z\";\r\nexport var mdiArchiveOffOutline = \"M8.2 5L6.2 3H21V9H12.2L10.2 7H19V5H8.2M20 16.8V10H18V14.8L20 16.8M20 19.35V19.34L18 17.34V17.35L9.66 9H9.66L7.66 7H7.66L6.13 5.47L2.39 1.73L1.11 3L3 4.89V9H7.11L17.11 19H6V10H4V21H19.11L20.84 22.73L22.11 21.46L20 19.35Z\";\r\nexport var mdiArchiveOutline = \"M20 21H4V10H6V19H18V10H20V21M3 3H21V9H3V3M9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9V11.5C9 11.22 9.22 11 9.5 11M5 5V7H19V5H5Z\";\r\nexport var mdiArchivePlus = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiArchivePlusOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M21 9H3V3H21V9M19 5H5V7H19V5M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiArchiveRefresh = \"M18.5 12C19 12 19.5 12.07 20 12.18V8H4V21H12.5C12.18 20.23 12 19.39 12 18.5C12 14.91 14.91 12 18.5 12M9 13V11.5C9 11.22 9.22 11 9.5 11H14.5C14.78 11 15 11.22 15 11.5V13H9M21 7H3V3H21V7M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\r\nexport var mdiArchiveRefreshOutline = \"M18 12.03V10H20V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H12.5C12.24 20.38 12.09 19.7 12.03 19H6M21 9H3V3H21V9M19 5H5V7H19V5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiArchiveRemove = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiArchiveRemoveOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M21 9H3V3H21V9M19 5H5V7H19V5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiArchiveSearch = \"M20 6H2V2H20V6M11.03 12H8V10.5C8 10.22 8.22 10 8.5 10H13.04C14.84 8.87 17.07 8.7 19 9.5V7H3V20H11.82C9.7 17.8 9.44 14.5 11.03 12M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiArchiveSearchOutline = \"M13.04 10C12.64 10.25 12.26 10.55 11.9 10.9C11.57 11.24 11.27 11.61 11.03 12H8V10.5C8 10.22 8.22 10 8.5 10H13.04M20 8H2V2H20V8M18 4H4V6H18V4M5 18V9H3V20H11.82C11.24 19.4 10.8 18.72 10.5 18H5M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiArchiveSettings = \"M21 2V6H3V2H21M4 7H20V20H4V7M9 12H15V10.5C15 10.22 14.78 10 14.5 10H9.5C9.22 10 9 10.22 9 10.5V12M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\r\nexport var mdiArchiveSettingsOutline = \"M3 2V8H21V2H3M19 6H5V4H19V6M18 9H20V20H4V9H6V18H18V9M15 10.5V12H9V10.5C9 10.22 9.22 10 9.5 10H14.5C14.78 10 15 10.22 15 10.5M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\r\nexport var mdiArchiveStar = \"M21 7H3V3H21V7M13 19C13 19.7 13.13 20.37 13.35 21H4V8H20V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 13V11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H15M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiArchiveStarOutline = \"M18 13.09V10H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09M9.5 11C9.22 11 9 11.22 9 11.5V13H15V11.5C15 11.22 14.78 11 14.5 11H9.5M6 19V10H4V21H13.35C13.13 20.37 13 19.7 13 19H6M21 9H3V3H21V9M19 5H5V7H19V5M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiArchiveSync = \"M21 7H3V3H21V7M9.5 11H14.5C14.78 11 15 11.22 15 11.5V12.82C16.17 11.69 17.75 11 19.5 11C19.67 11 19.84 11 20 11.03V8H4V21H14.03C13.38 20 13 18.79 13 17.5C13 15.75 13.69 14.17 14.82 13H9V11.5C9 11.22 9.22 11 9.5 11M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiArchiveSyncOutline = \"M18 11.18V10H20V11.03C19.84 11 19.67 11 19.5 11C19 11 18.5 11.07 18 11.18M15 11.5C15 11.22 14.78 11 14.5 11H9.5C9.22 11 9 11.22 9 11.5V13H14.82C14.88 12.94 14.94 12.88 15 12.82V11.5M6 19V10H4V21H14.03C13.64 20.39 13.35 19.72 13.18 19H6M21 9H3V3H21V9M19 5H5V7H19V5M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiArmFlex = \"M3 18.34C3 18.34 4 7.09 7 3L12 4L11 7.09H9V14.25H10C12 11.18 16.14 10.06 18.64 11.18C21.94 12.71 21.64 17.32 18.64 19.36C16.24 21 9 22.43 3 18.34Z\";\r\nexport var mdiArmFlexOutline = \"M7 7.76V16.25H11.08L11.68 15.34C12.84 13.55 14.93 12.75 16.47 12.75C17 12.75 17.45 12.84 17.79 13C18.7 13.41 18.95 14.18 19 14.74C19.08 15.87 18.5 17.03 17.5 17.71C16.6 18.33 14.44 19 11.87 19C10.12 19 7.61 18.69 5.12 17.3C5.41 14.85 6 10.88 7 7.76M7 3C4 7.09 3 18.34 3 18.34C5.9 20.31 9.08 21 11.87 21C14.86 21 17.39 20.21 18.64 19.36C21.64 17.32 21.94 12.71 18.64 11.18C18 10.89 17.26 10.75 16.47 10.75C14.17 10.75 11.5 11.96 10 14.25H9V7.09H11L12 4L7 3Z\";\r\nexport var mdiArrangeBringForward = \"M2,2H16V16H2V2M22,8V22H8V18H10V20H20V10H18V8H22Z\";\r\nexport var mdiArrangeBringToFront = \"M2,2H11V6H9V4H4V9H6V11H2V2M22,13V22H13V18H15V20H20V15H18V13H22M8,8H16V16H8V8Z\";\r\nexport var mdiArrangeSendBackward = \"M2,2H16V16H2V2M22,8V22H8V18H18V8H22M4,4V14H14V4H4Z\";\r\nexport var mdiArrangeSendToBack = \"M2,2H11V11H2V2M9,4H4V9H9V4M22,13V22H13V13H22M15,20H20V15H15V20M16,8V11H13V8H16M11,16H8V13H11V16Z\";\r\nexport var mdiArrowAll = \"M13,11H18L16.5,9.5L17.92,8.08L21.84,12L17.92,15.92L16.5,14.5L18,13H13V18L14.5,16.5L15.92,17.92L12,21.84L8.08,17.92L9.5,16.5L11,18V13H6L7.5,14.5L6.08,15.92L2.16,12L6.08,8.08L7.5,9.5L6,11H11V6L9.5,7.5L8.08,6.08L12,2.16L15.92,6.08L14.5,7.5L13,6V11Z\";\r\nexport var mdiArrowBottomLeft = \"M19,6.41L17.59,5L7,15.59V9H5V19H15V17H8.41L19,6.41Z\";\r\nexport var mdiArrowBottomLeftBoldBox = \"M5 21C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5M15.3 16L13.2 13.9L17 10L14.2 7.2L10.4 11.1L8.2 8.9V16H15.3Z\";\r\nexport var mdiArrowBottomLeftBoldBoxOutline = \"M8 16V8.9L10.1 11L14.2 7.1L17 10L12.9 13.9L15 16H8M21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19M19 19H5V5H19V19Z\";\r\nexport var mdiArrowBottomLeftBoldOutline = \"M18.36,19.78H4.22V5.64L8.47,9.88L14.12,4.22L19.78,9.88L14.12,15.54L18.36,19.78M6.34,17.66H13.41L11.29,15.54L16.95,9.88L14.12,7.05L8.46,12.71L6.34,10.59V17.66Z\";\r\nexport var mdiArrowBottomLeftThick = \"M15.5,5.69L18.31,8.5L11.94,14.89H16.89V18.31H5.69V7.11H9.12V12.06L15.5,5.69Z\";\r\nexport var mdiArrowBottomLeftThin = \"M12.07 19L9.24 16.18L19 6.42L17.58 5L7.82 14.76L5 11.94V19Z\";\r\nexport var mdiArrowBottomLeftThinCircleOutline = \"M12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03M12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22M10.12 12.47L8 10.36V16H13.64L11.53 13.88L16.5 8.9L15.1 7.5\";\r\nexport var mdiArrowBottomRight = \"M5,6.41L6.41,5L17,15.59V9H19V19H9V17H15.59L5,6.41Z\";\r\nexport var mdiArrowBottomRightBoldBox = \"M19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21M15.8 16V8.9L13.7 11L9.8 7.2L7 10L10.8 13.9L8.7 16H15.8Z\";\r\nexport var mdiArrowBottomRightBoldBoxOutline = \"M16 16H8.9L11 13.9L7 10L9.8 7.2L13.9 11.1L16 8.9V16M5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21M5 5H19V19H5V5Z\";\r\nexport var mdiArrowBottomRightBoldOutline = \"M9.88,15.54L4.22,9.88L9.88,4.22L15.54,9.88L19.78,5.64V19.78H5.64L9.88,15.54M17.66,10.59L15.54,12.71L9.88,7.05L7.05,9.88L12.71,15.54L10.59,17.66H17.66V10.59Z\";\r\nexport var mdiArrowBottomRightThick = \"M14.89,12.06V7.11H18.31V18.31H7.11V14.89H12.06L5.69,8.5L8.5,5.69L14.89,12.06Z\";\r\nexport var mdiArrowBottomRightThin = \"M11.93 19L14.76 16.18L5 6.42L6.42 5L16.18 14.76L19 11.94V19Z\";\r\nexport var mdiArrowBottomRightThinCircleOutline = \"M12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 7.59 7.59 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03M12 22C17.54 22 22 17.54 22 12C22 6.46 17.54 2 12 2C6.46 2 2 6.46 2 12C2 17.54 6.46 22 12 22M13.88 12.47L16 10.36V16H10.36L12.47 13.88L7.5 8.9L8.9 7.5\";\r\nexport var mdiArrowCollapse = \"M19.5,3.09L15,7.59V4H13V11H20V9H16.41L20.91,4.5L19.5,3.09M4,13V15H7.59L3.09,19.5L4.5,20.91L9,16.41V20H11V13H4Z\";\r\nexport var mdiArrowCollapseAll = \"M19.5,3.09L20.91,4.5L16.41,9H20V11H13V4H15V7.59L19.5,3.09M20.91,19.5L19.5,20.91L15,16.41V20H13V13H20V15H16.41L20.91,19.5M4.5,3.09L9,7.59V4H11V11H4V9H7.59L3.09,4.5L4.5,3.09M3.09,19.5L7.59,15H4V13H11V20H9V16.41L4.5,20.91L3.09,19.5Z\";\r\nexport var mdiArrowCollapseDown = \"M19.92,12.08L12,20L4.08,12.08L5.5,10.67L11,16.17V2H13V16.17L18.5,10.66L19.92,12.08M12,20H2V22H22V20H12Z\";\r\nexport var mdiArrowCollapseHorizontal = \"M13,20V4H15.03V20H13M10,20V4H12.03V20H10M5,8L9.03,12L5,16V13H2V11H5V8M20,16L16,12L20,8V11H23V13H20V16Z\";\r\nexport var mdiArrowCollapseLeft = \"M11.92,19.92L4,12L11.92,4.08L13.33,5.5L7.83,11H22V13H7.83L13.34,18.5L11.92,19.92M4,12V2H2V22H4V12Z\";\r\nexport var mdiArrowCollapseRight = \"M12.08,4.08L20,12L12.08,19.92L10.67,18.5L16.17,13H2V11H16.17L10.67,5.5L12.08,4.08M20,12V22H22V2H20V12Z\";\r\nexport var mdiArrowCollapseUp = \"M4.08,11.92L12,4L19.92,11.92L18.5,13.33L13,7.83V22H11V7.83L5.5,13.33L4.08,11.92M12,4H22V2H2V4H12Z\";\r\nexport var mdiArrowCollapseVertical = \"M4,12H20V14H4V12M4,9H20V11H4V9M16,4L12,8L8,4H11V1H13V4H16M8,19L12,15L16,19H13V22H11V19H8Z\";\r\nexport var mdiArrowDecision = \"M11,5H8L12,1L16,5H13V9.43C12.25,9.89 11.58,10.46 11,11.12V5M22,11L18,7V10C14.39,9.85 11.31,12.57 11,16.17C9.44,16.72 8.62,18.44 9.17,20C9.72,21.56 11.44,22.38 13,21.83C14.56,21.27 15.38,19.56 14.83,18C14.53,17.14 13.85,16.47 13,16.17C13.47,12.17 17.47,11.97 17.95,11.97V14.97L22,11M10.63,11.59C9.3,10.57 7.67,10 6,10V7L2,11L6,15V12C7.34,12.03 8.63,12.5 9.64,13.4C9.89,12.76 10.22,12.15 10.63,11.59Z\";\r\nexport var mdiArrowDecisionAuto = \"M12,5H9L13,1L17,5H14V9.43C13.25,9.89 12.58,10.46 12,11.12V5M10.4,15H8.5L7.8,13H4.6L3.9,15H2L5.2,6H7.2L10.4,15M7.35,11.65L6.2,8L5.05,11.65H7.35M23,11L19,7V10C15.39,9.85 12.31,12.57 12,16.17C10.44,16.72 9.62,18.44 10.17,20C10.72,21.56 12.44,22.38 14,21.83C15.56,21.27 16.38,19.56 15.83,18C15.53,17.14 14.85,16.47 14,16.17C14.47,12.17 18.47,11.97 18.95,11.97V14.97L23,11Z\";\r\nexport var mdiArrowDecisionAutoOutline = \"M19,15V12C18.5,12 14.5,12.16 14.05,16.2C15.61,16.75 16.43,18.47 15.88,20.03C15.33,21.59 13.61,22.41 12.05,21.86C10.5,21.3 9.67,19.59 10.22,18.03C10.5,17.17 11.2,16.5 12.05,16.2C12.34,12.61 15.4,9.88 19,10V7L23,11L19,15M14,19A1,1 0 0,0 13,18A1,1 0 0,0 12,19A1,1 0 0,0 13,20A1,1 0 0,0 14,19M12,11.12C12.58,10.46 13.25,9.89 14,9.43V5H17L13,1L9,5H12V11.12M7.2,6H5.2L2,15H3.9L4.6,13H7.8L8.5,15H10.4L7.2,6M5.05,11.65L6.2,8L7.35,11.65H5.05Z\";\r\nexport var mdiArrowDecisionOutline = \"M9.64,13.4C8.63,12.5 7.34,12.03 6,12V15L2,11L6,7V10C7.67,10 9.3,10.57 10.63,11.59C10.22,12.15 9.89,12.76 9.64,13.4M18,15V12C17.5,12 13.5,12.16 13.05,16.2C14.61,16.75 15.43,18.47 14.88,20.03C14.33,21.59 12.61,22.41 11.05,21.86C9.5,21.3 8.67,19.59 9.22,18.03C9.5,17.17 10.2,16.5 11.05,16.2C11.34,12.61 14.4,9.88 18,10V7L22,11L18,15M13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19M11,11.12C11.58,10.46 12.25,9.89 13,9.43V5H16L12,1L8,5H11V11.12Z\";\r\nexport var mdiArrowDown = \"M11,4H13V16L18.5,10.5L19.92,11.92L12,19.84L4.08,11.92L5.5,10.5L11,16V4Z\";\r\nexport var mdiArrowDownBold = \"M9,4H15V12H19.84L12,19.84L4.16,12H9V4Z\";\r\nexport var mdiArrowDownBoldBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,17L17,12H14V8H10V12H7L12,17Z\";\r\nexport var mdiArrowDownBoldBoxOutline = \"M12,17L7,12H10V8H14V12H17L12,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiArrowDownBoldCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,17L17,12H14V8H10V12H7L12,17Z\";\r\nexport var mdiArrowDownBoldCircleOutline = \"M12,17L7,12H10V8H14V12H17L12,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiArrowDownBoldHexagonOutline = \"M12,17L7,12H10V8H14V12H17L12,17M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowDownBoldOutline = \"M22,11L12,21L2,11H8V3H16V11H22M12,18L17,13H14V5H10V13H7L12,18Z\";\r\nexport var mdiArrowDownBox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M11,6V14.5L7.5,11L6.08,12.42L12,18.34L17.92,12.42L16.5,11L13,14.5V6H11Z\";\r\nexport var mdiArrowDownCircle = \"M11,6V14L7.5,10.5L6.08,11.92L12,17.84L17.92,11.92L16.5,10.5L13,14V6H11M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22Z\";\r\nexport var mdiArrowDownCircleOutline = \"M11,6H13V14L16.5,10.5L17.92,11.92L12,17.84L6.08,11.92L7.5,10.5L11,14V6M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20Z\";\r\nexport var mdiArrowDownDropCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M7,10L12,15L17,10H7Z\";\r\nexport var mdiArrowDownDropCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M7,10L12,15L17,10H7Z\";\r\nexport var mdiArrowDownLeft = \"M20 4V6H13.5C11 6 9 8 9 10.5V16.17L12.09 13.09L13.5 14.5L8 20L2.5 14.5L3.91 13.08L7 16.17V10.5C7 6.91 9.91 4 13.5 4H20Z\";\r\nexport var mdiArrowDownLeftBold = \"M21 3V7H13.5C11.57 7 10 8.57 10 10.5V13H14L8 20L2 13H6V10.5C6 6.36 9.36 3 13.5 3H21Z\";\r\nexport var mdiArrowDownRight = \"M21.5 14.5L16 20L10.5 14.5L11.91 13.09L15 16.17V10.5C15 8 13 6 10.5 6H4V4H10.5C14.09 4 17 6.91 17 10.5V16.17L20.09 13.08L21.5 14.5Z\";\r\nexport var mdiArrowDownRightBold = \"M10.5 3C14.64 3 18 6.36 18 10.5V13H22L16 20L10 13H14V10.5C14 8.57 12.43 7 10.5 7H3V3H10.5Z\";\r\nexport var mdiArrowDownThick = \"M10,4H14V13L17.5,9.5L19.92,11.92L12,19.84L4.08,11.92L6.5,9.5L10,13V4Z\";\r\nexport var mdiArrowDownThin = \"M7.03 13.92H11.03V5L13.04 4.97V13.92H17.03L12.03 18.92Z\";\r\nexport var mdiArrowDownThinCircleOutline = \"M12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03M12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22M11 13.54H8L12 17.5L16 13.54H13V6.5H11\";\r\nexport var mdiArrowExpand = \"M10,21V19H6.41L10.91,14.5L9.5,13.09L5,17.59V14H3V21H10M14.5,10.91L19,6.41V10H21V3H14V5H17.59L13.09,9.5L14.5,10.91Z\";\r\nexport var mdiArrowExpandAll = \"M9.5,13.09L10.91,14.5L6.41,19H10V21H3V14H5V17.59L9.5,13.09M10.91,9.5L9.5,10.91L5,6.41V10H3V3H10V5H6.41L10.91,9.5M14.5,13.09L19,17.59V14H21V21H14V19H17.59L13.09,14.5L14.5,13.09M13.09,9.5L17.59,5H14V3H21V10H19V6.41L14.5,10.91L13.09,9.5Z\";\r\nexport var mdiArrowExpandDown = \"M22,4V2H2V4H11V18.17L5.5,12.67L4.08,14.08L12,22L19.92,14.08L18.5,12.67L13,18.17V4H22Z\";\r\nexport var mdiArrowExpandHorizontal = \"M9,11H15V8L19,12L15,16V13H9V16L5,12L9,8V11M2,20V4H4V20H2M20,20V4H22V20H20Z\";\r\nexport var mdiArrowExpandLeft = \"M20,22H22V2H20V11H5.83L11.33,5.5L9.92,4.08L2,12L9.92,19.92L11.33,18.5L5.83,13H20V22Z\";\r\nexport var mdiArrowExpandRight = \"M4,2H2V22H4V13H18.17L12.67,18.5L14.08,19.92L22,12L14.08,4.08L12.67,5.5L18.17,11H4V2Z\";\r\nexport var mdiArrowExpandUp = \"M2,20V22H22V20H13V5.83L18.5,11.33L19.92,9.92L12,2L4.08,9.92L5.5,11.33L11,5.83V20H2Z\";\r\nexport var mdiArrowExpandVertical = \"M13,9V15H16L12,19L8,15H11V9H8L12,5L16,9H13M4,2H20V4H4V2M4,20H20V22H4V20Z\";\r\nexport var mdiArrowHorizontalLock = \"M14.8 7V5.5C14.8 4.1 13.4 3 12 3S9.2 4.1 9.2 5.5V7C8.6 7 8 7.6 8 8.2V11.7C8 12.4 8.6 13 9.2 13H14.7C15.4 13 16 12.4 16 11.8V8.3C16 7.6 15.4 7 14.8 7M13.5 7H10.5V5.5C10.5 4.7 11.2 4.2 12 4.2S13.5 4.7 13.5 5.5V7M6 17V20L2 16L6 12V15H18V12L22 16L18 20V17H6Z\";\r\nexport var mdiArrowLeft = \"M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z\";\r\nexport var mdiArrowLeftBold = \"M20,9V15H12V19.84L4.16,12L12,4.16V9H20Z\";\r\nexport var mdiArrowLeftBoldBox = \"M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M7,12L12,17V14H16V10H12V7L7,12Z\";\r\nexport var mdiArrowLeftBoldBoxOutline = \"M7,12L12,7V10H16V14H12V17L7,12M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M19,5H5V19H19V5Z\";\r\nexport var mdiArrowLeftBoldCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7,12L12,17V14H16V10H12V7L7,12Z\";\r\nexport var mdiArrowLeftBoldCircleOutline = \"M7,12L12,7V10H16V14H12V17L7,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12Z\";\r\nexport var mdiArrowLeftBoldHexagonOutline = \"M7,12L12,7V10H16V14H12V17L7,12M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowLeftBoldOutline = \"M13,22L3,12L13,2V8H21V16H13V22M6,12L11,17V14H19V10H11V7L6,12Z\";\r\nexport var mdiArrowLeftBottom = \"M20 4V10.5C20 14.09 17.09 17 13.5 17H7.83L10.92 20.09L9.5 21.5L4 16L9.5 10.5L10.91 11.91L7.83 15H13.5C16 15 18 13 18 10.5V4H20Z\";\r\nexport var mdiArrowLeftBottomBold = \"M21 10.5C21 14.64 17.64 18 13.5 18H11V22L4 16L11 10V14H13.5C15.43 14 17 12.43 17 10.5V3H21V10.5Z\";\r\nexport var mdiArrowLeftBox = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M18,11H9.5L13,7.5L11.58,6.08L5.66,12L11.58,17.92L13,16.5L9.5,13H18V11Z\";\r\nexport var mdiArrowLeftCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M18,11H10L13.5,7.5L12.08,6.08L6.16,12L12.08,17.92L13.5,16.5L10,13H18V11Z\";\r\nexport var mdiArrowLeftCircleOutline = \"M18,11V13H10L13.5,16.5L12.08,17.92L6.16,12L12.08,6.08L13.5,7.5L10,11H18M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12Z\";\r\nexport var mdiArrowLeftDropCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M14,7L9,12L14,17V7Z\";\r\nexport var mdiArrowLeftDropCircleOutline = \"M22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12M14,7L9,12L14,17V7Z\";\r\nexport var mdiArrowLeftRight = \"M6.45,17.45L1,12L6.45,6.55L7.86,7.96L4.83,11H19.17L16.14,7.96L17.55,6.55L23,12L17.55,17.45L16.14,16.04L19.17,13H4.83L7.86,16.04L6.45,17.45Z\";\r\nexport var mdiArrowLeftRightBold = \"M8,14V18L2,12L8,6V10H16V6L22,12L16,18V14H8Z\";\r\nexport var mdiArrowLeftRightBoldOutline = \"M14,16V22L24,12L14,2V8H10V2L0,12L10,22V16H14M8,14V17L3,12L8,7V10H16V7L21,12L16,17V14H8Z\";\r\nexport var mdiArrowLeftThick = \"M20,10V14H11L14.5,17.5L12.08,19.92L4.16,12L12.08,4.08L14.5,6.5L11,10H20Z\";\r\nexport var mdiArrowLeftThin = \"M10.05 16.94V12.94H18.97L19 10.93H10.05V6.94L5.05 11.94Z\";\r\nexport var mdiArrowLeftThinCircleOutline = \"M3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12M2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12M10.46 11V8L6.5 12L10.46 16V13H17.5V11\";\r\nexport var mdiArrowLeftTop = \"M20 13.5V20H18V13.5C18 11 16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z\";\r\nexport var mdiArrowLeftTopBold = \"M21 21H17V13.5C17 11.57 15.43 10 13.5 10H11V14L4 8L11 2V6H13.5C17.64 6 21 9.36 21 13.5V21Z\";\r\nexport var mdiArrowOscillating = \"M6 14H9L5 18L1 14H4C4 11.3 5.7 6.6 11 6.1V8.1C7.6 8.6 6 11.9 6 14M20 14C20 11.3 18.3 6.6 13 6.1V8.1C16.4 8.7 18 11.9 18 14H15L19 18L23 14H20Z\";\r\nexport var mdiArrowOscillatingOff = \"M13 8.1V6.1C18.3 6.6 20 11.4 20 14H23L20.1 16.9L17.2 14H18C18 11.9 16.4 8.6 13 8.1M7.8 7.1L2.4 1.7L1.1 3L6.3 8.2C4.7 10 4 12.4 4 14H1L5 18L9 14H6C6 12.7 6.6 11 7.9 9.7L20.9 22.7L22.2 21.4L9.3 8.7L7.8 7.1M11 6.1L9.5 6.4L11 7.8V6.1Z\";\r\nexport var mdiArrowProjectile = \"M22 2L20 7L19.03 6.03L8 17.06V19L5 22L4 20L2 19L5 16H6.94L17.97 4.97L17 4L22 2Z\";\r\nexport var mdiArrowProjectileMultiple = \"M19 16L22 19L20 20L19 22L16 19V17.06L12 13.06L8 17.06V19L5 22L4 20L2 19L5 16H6.94L10.94 12L4.97 6.03L4 7L2 2L7 4L6.03 4.97L12 10.94L17.97 4.97L17 4L22 2L20 7L19.03 6.03L13.06 12L17.06 16H19Z\";\r\nexport var mdiArrowRight = \"M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z\";\r\nexport var mdiArrowRightBold = \"M4,15V9H12V4.16L19.84,12L12,19.84V15H4Z\";\r\nexport var mdiArrowRightBoldBox = \"M3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19M17,12L12,7V10H8V14H12V17L17,12Z\";\r\nexport var mdiArrowRightBoldBoxOutline = \"M17,12L12,17V14H8V10H12V7L17,12M3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19M5,19H19V5H5V19Z\";\r\nexport var mdiArrowRightBoldCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M17,12L12,7V10H8V14H12V17L17,12Z\";\r\nexport var mdiArrowRightBoldCircleOutline = \"M17,12L12,17V14H8V10H12V7L17,12M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12Z\";\r\nexport var mdiArrowRightBoldHexagonOutline = \"M17,12L12,17V14H8V10H12V7L17,12M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowRightBoldOutline = \"M11,16H3V8H11V2L21,12L11,22V16M13,7V10H5V14H13V17L18,12L13,7Z\";\r\nexport var mdiArrowRightBottom = \"M20 16L14.5 21.5L13.08 20.09L16.17 17H10.5C6.91 17 4 14.09 4 10.5V4H6V10.5C6 13 8 15 10.5 15H16.17L13.09 11.91L14.5 10.5L20 16Z\";\r\nexport var mdiArrowRightBottomBold = \"M3 3H7V10.5C7 12.43 8.57 14 10.5 14H13V10L20 16L13 22V18H10.5C6.36 18 3 14.64 3 10.5V3Z\";\r\nexport var mdiArrowRightBox = \"M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5M6,13H14.5L11,16.5L12.42,17.92L18.34,12L12.42,6.08L11,7.5L14.5,11H6V13Z\";\r\nexport var mdiArrowRightCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,13H14L10.5,16.5L11.92,17.92L17.84,12L11.92,6.08L10.5,7.5L14,11H6V13Z\";\r\nexport var mdiArrowRightCircleOutline = \"M6,13V11H14L10.5,7.5L11.92,6.08L17.84,12L11.92,17.92L10.5,16.5L14,13H6M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12Z\";\r\nexport var mdiArrowRightDropCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M10,17L15,12L10,7V17Z\";\r\nexport var mdiArrowRightDropCircleOutline = \"M2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12M4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12M10,17L15,12L10,7V17Z\";\r\nexport var mdiArrowRightThick = \"M4,10V14H13L9.5,17.5L11.92,19.92L19.84,12L11.92,4.08L9.5,6.5L13,10H4Z\";\r\nexport var mdiArrowRightThin = \"M14 16.94V12.94H5.08L5.05 10.93H14V6.94L19 11.94Z\";\r\nexport var mdiArrowRightThinCircleOutline = \"M20.03 12C20.03 7.59 16.41 3.97 12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12M22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2C17.54 2 22 6.46 22 12M13.54 13V16L17.5 12L13.54 8V11H6.5V13\";\r\nexport var mdiArrowRightTop = \"M20 8L14.5 13.5L13.09 12.09L16.17 9H10.5C8 9 6 11 6 13.5V20H4V13.5C4 9.91 6.91 7 10.5 7H16.17L13.08 3.91L14.5 2.5L20 8Z\";\r\nexport var mdiArrowRightTopBold = \"M3 13.5C3 9.36 6.36 6 10.5 6H13V2L20 8L13 14V10H10.5C8.57 10 7 11.57 7 13.5V21H3V13.5Z\";\r\nexport var mdiArrowSplitHorizontal = \"M8,18H11V15H2V13H22V15H13V18H16L12,22L8,18M12,2L8,6H11V9H2V11H22V9H13V6H16L12,2Z\";\r\nexport var mdiArrowSplitVertical = \"M18,16V13H15V22H13V2H15V11H18V8L22,12L18,16M2,12L6,16V13H9V22H11V2H9V11H6V8L2,12Z\";\r\nexport var mdiArrowTopLeft = \"M19,17.59L17.59,19L7,8.41V15H5V5H15V7H8.41L19,17.59Z\";\r\nexport var mdiArrowTopLeftBoldBox = \"M5 3H19C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3M8.2 8V15.1L10.3 13L14.1 16.9L17 14L13.2 10.1L15.3 8H8.2Z\";\r\nexport var mdiArrowTopLeftBoldBoxOutline = \"M8 8H15.1L13 10.1L17 14L14.2 16.8L10.1 12.9L8 15.1V8M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19Z\";\r\nexport var mdiArrowTopLeftBoldOutline = \"M14.12,8.46L19.78,14.12L14.12,19.78L8.46,14.12L4.22,18.36V4.22H18.36L14.12,8.46M6.34,13.41L8.46,11.29L14.12,16.95L16.95,14.12L11.29,8.47L13.41,6.34H6.34V13.41Z\";\r\nexport var mdiArrowTopLeftBottomRight = \"M13,21H21V13H19V17.59L6.41,5H11V3H3V11H5V6.41L17.59,19H13V21Z\";\r\nexport var mdiArrowTopLeftBottomRightBold = \"M5.83,8.66L3,11.5V3H11.5L8.66,5.83L18.17,15.34L21,12.5V21H12.5L15.34,18.17L5.83,8.66Z\";\r\nexport var mdiArrowTopLeftThick = \"M9.12,11.94V16.89H5.69V5.69H16.89V9.12H11.94L18.31,15.5L15.5,18.31L9.12,11.94Z\";\r\nexport var mdiArrowTopLeftThin = \"M12.07 5L9.24 7.83L19 17.59L17.58 19L7.82 9.25L5 12.07V5Z\";\r\nexport var mdiArrowTopLeftThinCircleOutline = \"M12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 7.59 7.59 3.97 12 3.97M12 2C6.46 2 2 6.46 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12C22 6.46 17.54 2 12 2M10.12 11.53L8 13.64V8H13.64L11.53 10.12L16.5 15.1L15.1 16.5\";\r\nexport var mdiArrowTopRight = \"M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z\";\r\nexport var mdiArrowTopRightBoldBox = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M8.7 8L10.8 10.1L7 14L9.8 16.8L13.6 12.9L15.7 15V8H8.7Z\";\r\nexport var mdiArrowTopRightBoldBoxOutline = \"M16 8V15.1L13.9 13L9.8 16.9L7 14L11.1 10.1L8.9 8H16M3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5M5 5H19V19H5V5Z\";\r\nexport var mdiArrowTopRightBoldOutline = \"M5.64,4.22H19.78V18.36L15.54,14.12L9.88,19.78L4.22,14.12L9.88,8.46L5.64,4.22M17.66,6.34H10.59L12.71,8.46L7.05,14.12L9.88,16.95L15.54,11.29L17.66,13.41V6.34H17.66Z\";\r\nexport var mdiArrowTopRightBottomLeft = \"M11,21H3V13H5V17.59L17.59,5H13V3H21V11H19V6.41L6.41,19H11V21Z\";\r\nexport var mdiArrowTopRightBottomLeftBold = \"M18.17,8.66L21,11.5V3H12.5L15.34,5.83L5.83,15.34L3,12.5V21H11.5L8.66,18.17L18.17,8.66Z\";\r\nexport var mdiArrowTopRightThick = \"M8.5,18.31L5.69,15.5L12.06,9.12H7.11V5.69H18.31V16.89H14.89V11.94L8.5,18.31Z\";\r\nexport var mdiArrowTopRightThin = \"M11.93 5L14.76 7.83L5 17.59L6.42 19L16.18 9.25L19 12.07V5H11.93Z\";\r\nexport var mdiArrowTopRightThinCircleOutline = \"M12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97M12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2M13.88 11.53L16 13.64V8H10.36L12.47 10.12L7.5 15.1L8.9 16.5\";\r\nexport var mdiArrowUDownLeft = \"M20 10.5V18H18V10.5C18 8 16 6 13.5 6S9 8 9 10.5V16.17L12.09 13.09L13.5 14.5L8 20L2.5 14.5L3.91 13.08L7 16.17V10.5C7 6.91 9.91 4 13.5 4S20 6.91 20 10.5Z\";\r\nexport var mdiArrowUDownLeftBold = \"M21 10.5V18H17V10.5C17 8.57 15.43 7 13.5 7S10 8.57 10 10.5V13H14L8 20L2 13H6V10.5C6 6.36 9.36 3 13.5 3S21 6.36 21 10.5Z\";\r\nexport var mdiArrowUDownRight = \"M21.5 14.5L16 20L10.5 14.5L11.91 13.09L15 16.17V10.5C15 8 13 6 10.5 6S6 8 6 10.5V18H4V10.5C4 6.91 6.91 4 10.5 4S17 6.91 17 10.5V16.17L20.09 13.08L21.5 14.5Z\";\r\nexport var mdiArrowUDownRightBold = \"M10.5 3C14.64 3 18 6.36 18 10.5V13H22L16 20L10 13H14V10.5C14 8.57 12.43 7 10.5 7S7 8.57 7 10.5V18H3V10.5C3 6.36 6.36 3 10.5 3Z\";\r\nexport var mdiArrowULeftBottom = \"M20 10.5C20 14.09 17.09 17 13.5 17H7.83L10.92 20.09L9.5 21.5L4 16L9.5 10.5L10.91 11.91L7.83 15H13.5C16 15 18 13 18 10.5S16 6 13.5 6H6V4H13.5C17.09 4 20 6.91 20 10.5Z\";\r\nexport var mdiArrowULeftBottomBold = \"M21 10.5C21 14.64 17.64 18 13.5 18H11V22L4 16L11 10V14H13.5C15.43 14 17 12.43 17 10.5S15.43 7 13.5 7H6V3H13.5C17.64 3 21 6.36 21 10.5Z\";\r\nexport var mdiArrowULeftTop = \"M20 13.5C20 17.09 17.09 20 13.5 20H6V18H13.5C16 18 18 16 18 13.5S16 9 13.5 9H7.83L10.91 12.09L9.5 13.5L4 8L9.5 2.5L10.92 3.91L7.83 7H13.5C17.09 7 20 9.91 20 13.5Z\";\r\nexport var mdiArrowULeftTopBold = \"M13.5 21H6V17H13.5C15.43 17 17 15.43 17 13.5S15.43 10 13.5 10H11V14L4 8L11 2V6H13.5C17.64 6 21 9.36 21 13.5S17.64 21 13.5 21Z\";\r\nexport var mdiArrowURightBottom = \"M20 16L14.5 21.5L13.08 20.09L16.17 17H10.5C6.91 17 4 14.09 4 10.5S6.91 4 10.5 4H18V6H10.5C8 6 6 8 6 10.5S8 15 10.5 15H16.17L13.09 11.91L14.5 10.5L20 16Z\";\r\nexport var mdiArrowURightBottomBold = \"M10.5 3H18V7H10.5C8.57 7 7 8.57 7 10.5S8.57 14 10.5 14H13V10L20 16L13 22V18H10.5C6.36 18 3 14.64 3 10.5S6.36 3 10.5 3Z\";\r\nexport var mdiArrowURightTop = \"M10.5 18H18V20H10.5C6.91 20 4 17.09 4 13.5S6.91 7 10.5 7H16.17L13.08 3.91L14.5 2.5L20 8L14.5 13.5L13.09 12.09L16.17 9H10.5C8 9 6 11 6 13.5S8 18 10.5 18Z\";\r\nexport var mdiArrowURightTopBold = \"M3 13.5C3 9.36 6.36 6 10.5 6H13V2L20 8L13 14V10H10.5C8.57 10 7 11.57 7 13.5S8.57 17 10.5 17H18V21H10.5C6.36 21 3 17.64 3 13.5Z\";\r\nexport var mdiArrowUUpLeft = \"M20 6V13.5C20 17.09 17.09 20 13.5 20S7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18S18 16 18 13.5V6H20Z\";\r\nexport var mdiArrowUUpLeftBold = \"M13.5 21C9.36 21 6 17.64 6 13.5V11H2L8 4L14 11H10V13.5C10 15.43 11.57 17 13.5 17S17 15.43 17 13.5V6H21V13.5C21 17.64 17.64 21 13.5 21Z\";\r\nexport var mdiArrowUUpRight = \"M21.5 9.5L20.09 10.92L17 7.83V13.5C17 17.09 14.09 20 10.5 20S4 17.09 4 13.5V6H6V13.5C6 16 8 18 10.5 18S15 16 15 13.5V7.83L11.91 10.91L10.5 9.5L16 4L21.5 9.5Z\";\r\nexport var mdiArrowUUpRightBold = \"M3 13.5V6H7V13.5C7 15.43 8.57 17 10.5 17S14 15.43 14 13.5V11H10L16 4L22 11H18V13.5C18 17.64 14.64 21 10.5 21S3 17.64 3 13.5Z\";\r\nexport var mdiArrowUp = \"M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z\";\r\nexport var mdiArrowUpBold = \"M15,20H9V12H4.16L12,4.16L19.84,12H15V20Z\";\r\nexport var mdiArrowUpBoldBox = \"M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M12,7L7,12H10V16H14V12H17L12,7Z\";\r\nexport var mdiArrowUpBoldBoxOutline = \"M12,7L17,12H14V16H10V12H7L12,7M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M19,19V5H5V19H19Z\";\r\nexport var mdiArrowUpBoldCircle = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,7L7,12H10V16H14V12H17L12,7Z\";\r\nexport var mdiArrowUpBoldCircleOutline = \"M12,7L17,12H14V16H10V12H7L12,7M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20Z\";\r\nexport var mdiArrowUpBoldHexagonOutline = \"M12,7L17,12H14V16H10V12H7L12,7M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiArrowUpBoldOutline = \"M16,13V21H8V13H2L12,3L22,13H16M7,11H10V19H14V11H17L12,6L7,11Z\";\r\nexport var mdiArrowUpBox = \"M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5V19M13,18V9.5L16.5,13L17.92,11.58L12,5.66L6.08,11.58L7.5,13L11,9.5V18H13Z\";\r\nexport var mdiArrowUpCircle = \"M13,18V10L16.5,13.5L17.92,12.08L12,6.16L6.08,12.08L7.5,13.5L11,10V18H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiArrowUpCircleOutline = \"M13,18H11V10L7.5,13.5L6.08,12.08L12,6.16L17.92,12.08L16.5,13.5L13,10V18M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiArrowUpDown = \"M17.45,17.55L12,23L6.55,17.55L7.96,16.14L11,19.17V4.83L7.96,7.86L6.55,6.45L12,1L17.45,6.45L16.04,7.86L13,4.83V19.17L16.04,16.14L17.45,17.55Z\";\r\nexport var mdiArrowUpDownBold = \"M10,8H6L12,2L18,8H14V16H18L12,22L6,16H10V8Z\";\r\nexport var mdiArrowUpDownBoldOutline = \"M16,10H22L12,0L2,10H8V14H2L12,24L22,14H16V10M14,16H17L12,21L7,16H10V8H7L12,3L17,8H14V16Z\";\r\nexport var mdiArrowUpDropCircle = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M17,14L12,9L7,14H17Z\";\r\nexport var mdiArrowUpDropCircleOutline = \"M12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M17,14L12,9L7,14H17Z\";\r\nexport var mdiArrowUpLeft = \"M20 18V20H13.5C9.91 20 7 17.09 7 13.5V7.83L3.91 10.92L2.5 9.5L8 4L13.5 9.5L12.09 10.91L9 7.83V13.5C9 16 11 18 13.5 18H20Z\";\r\nexport var mdiArrowUpLeftBold = \"M13.5 21C9.36 21 6 17.64 6 13.5V11H2L8 4L14 11H10V13.5C10 15.43 11.57 17 13.5 17H21V21H13.5Z\";\r\nexport var mdiArrowUpRight = \"M21.5 9.5L20.09 10.92L17 7.83V13.5C17 17.09 14.09 20 10.5 20H4V18H10.5C13 18 15 16 15 13.5V7.83L11.91 10.91L10.5 9.5L16 4L21.5 9.5Z\";\r\nexport var mdiArrowUpRightBold = \"M3 21V17H10.5C12.43 17 14 15.43 14 13.5V11H10L16 4L22 11H18V13.5C18 17.64 14.64 21 10.5 21H3Z\";\r\nexport var mdiArrowUpThick = \"M14,20H10V11L6.5,14.5L4.08,12.08L12,4.16L19.92,12.08L17.5,14.5L14,11V20Z\";\r\nexport var mdiArrowUpThin = \"M7.03 9.97H11.03V18.89L13.04 18.92V9.97H17.03L12.03 4.97Z\";\r\nexport var mdiArrowUpThinCircleOutline = \"M12 3.97C7.59 3.97 3.97 7.59 3.97 12C3.97 16.41 7.59 20.03 12 20.03C16.41 20.03 20.03 16.41 20.03 12C20.03 7.59 16.41 3.97 12 3.97M12 2C17.54 2 22 6.46 22 12C22 17.54 17.54 22 12 22C6.46 22 2 17.54 2 12C2 6.46 6.46 2 12 2M13 10.46H16L12 6.5L8 10.46H11V17.5H13\";\r\nexport var mdiArrowVerticalLock = \"M18.8 11V9.5C18.8 8.1 17.4 7 16 7S13.2 8.1 13.2 9.5V11C12.6 11 12 11.6 12 12.2V15.7C12 16.4 12.6 17 13.2 17H18.7C19.4 17 20 16.4 20 15.8V12.3C20 11.6 19.4 11 18.8 11M17.5 11H14.5V9.5C14.5 8.7 15.2 8.2 16 8.2C16.8 8.2 17.5 8.7 17.5 9.5V11M9 6H12L8 2L4 6H7V18H4L8 22L12 18H9V6Z\";\r\nexport var mdiArtboard = \"M17 9V15H7V9H17M19 3H17V6H19V3M7 3H5V6H7V3M23 7H20V9H23V7M19 7H5V17H19V7M4 7H1V9H4V7M23 15H20V17H23V15M4 15H1V17H4V15M19 18H17V21H19V18M7 18H5V21H7V18Z\";\r\nexport var mdiArtstation = \"M1.77,16.88L3.5,19.86C3.84,20.54 4.54,21 5.33,21H16.79L14.43,16.88H1.77M22.23,16.9C22.23,16.5 22.11,16.11 21.9,15.78L15.17,4.1C14.82,3.44 14.15,3 13.35,3H9.8L20.18,21L21.82,18.14C22.13,17.6 22.23,17.36 22.23,16.9M12.73,13.94L8.1,5.92L3.45,13.94H12.73Z\";\r\nexport var mdiAspectRatio = \"M19,12H17V15H14V17H19V12M7,9H10V7H5V12H7V9M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H21V19Z\";\r\nexport var mdiAssistant = \"M19,2H5A2,2 0 0,0 3,4V18A2,2 0 0,0 5,20H9L12,23L15,20H19A2,2 0 0,0 21,18V4A2,2 0 0,0 19,2M13.88,12.88L12,17L10.12,12.88L6,11L10.12,9.12L12,5L13.88,9.12L18,11\";\r\nexport var mdiAsterisk = \"M21 13H14.4L19.1 17.7L17.7 19.1L13 14.4V21H11V14.3L6.3 19L4.9 17.6L9.4 13H3V11H9.6L4.9 6.3L6.3 4.9L11 9.6V3H13V9.4L17.6 4.8L19 6.3L14.3 11H21V13Z\";\r\nexport var mdiAsteriskCircleOutline = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 20C7.61 20 4 16.39 4 12C4 7.61 7.61 4 12 4C16.39 4 20 7.61 20 12C20 16.39 16.39 20 12 20M13 10.27L15.83 8.63L16.83 10.37L14 12L16.83 13.63L15.83 15.37L13 13.73V17H11V13.73L8.17 15.37L7.17 13.63L10 12L7.17 10.37L8.17 8.63L11 10.27V7H13V10.27Z\";\r\nexport var mdiAt = \"M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiAtlassian = \"M7.93,11.24C7.74,11 7.38,10.94 7.13,11.13C7.06,11.19 7,11.26 6.96,11.34L2.06,21.15C1.91,21.44 2.03,21.79 2.32,21.94C2.4,22 2.5,22 2.59,22H9.41C9.63,22 9.84,21.88 9.94,21.68C11.41,18.63 10.5,14 7.93,11.24M11.53,2.31C9.05,6.14 8.76,11 10.77,15.09L14.06,21.68C14.17,21.88 14.37,22 14.59,22H21.41A0.59,0.59 0 0,0 22,21.41C22,21.32 22,21.23 21.94,21.15C21.94,21.15 12.76,2.77 12.5,2.31C12.39,2.04 12.06,1.92 11.78,2.06C11.67,2.11 11.58,2.2 11.53,2.31Z\";\r\nexport var mdiAtm = \"M8,9V10.5H10.25V15H11.75V10.5H14V9H8M6,9H3A1,1 0 0,0 2,10V15H3.5V13.5H5.5V15H7V10A1,1 0 0,0 6,9M5.5,12H3.5V10.5H5.5V12M21,9H16.5A1,1 0 0,0 15.5,10V15H17V10.5H18V14H19.5V10.5H20.5V15H22V10A1,1 0 0,0 21,9Z\";\r\nexport var mdiAtom = \"M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M4.22,4.22C5.65,2.79 8.75,3.43 12,5.56C15.25,3.43 18.35,2.79 19.78,4.22C21.21,5.65 20.57,8.75 18.44,12C20.57,15.25 21.21,18.35 19.78,19.78C18.35,21.21 15.25,20.57 12,18.44C8.75,20.57 5.65,21.21 4.22,19.78C2.79,18.35 3.43,15.25 5.56,12C3.43,8.75 2.79,5.65 4.22,4.22M15.54,8.46C16.15,9.08 16.71,9.71 17.23,10.34C18.61,8.21 19.11,6.38 18.36,5.64C17.62,4.89 15.79,5.39 13.66,6.77C14.29,7.29 14.92,7.85 15.54,8.46M8.46,15.54C7.85,14.92 7.29,14.29 6.77,13.66C5.39,15.79 4.89,17.62 5.64,18.36C6.38,19.11 8.21,18.61 10.34,17.23C9.71,16.71 9.08,16.15 8.46,15.54M5.64,5.64C4.89,6.38 5.39,8.21 6.77,10.34C7.29,9.71 7.85,9.08 8.46,8.46C9.08,7.85 9.71,7.29 10.34,6.77C8.21,5.39 6.38,4.89 5.64,5.64M9.88,14.12C10.58,14.82 11.3,15.46 12,16.03C12.7,15.46 13.42,14.82 14.12,14.12C14.82,13.42 15.46,12.7 16.03,12C15.46,11.3 14.82,10.58 14.12,9.88C13.42,9.18 12.7,8.54 12,7.97C11.3,8.54 10.58,9.18 9.88,9.88C9.18,10.58 8.54,11.3 7.97,12C8.54,12.7 9.18,13.42 9.88,14.12M18.36,18.36C19.11,17.62 18.61,15.79 17.23,13.66C16.71,14.29 16.15,14.92 15.54,15.54C14.92,16.15 14.29,16.71 13.66,17.23C15.79,18.61 17.62,19.11 18.36,18.36Z\";\r\nexport var mdiAtomVariant = \"M18.36,2.64C20,2.64 21.36,4 21.36,5.64C21.36,7.29 20,8.64 18.36,8.64C16.71,8.64 15.36,7.29 15.36,5.64C15.36,5.34 15.41,5.06 15.5,4.8C14.43,4.29 13.25,4 12,4A8,8 0 0,0 4,12L4.04,12.84L2.05,13.05L2,12A10,10 0 0,1 12,2C13.69,2 15.28,2.42 16.67,3.16C17.16,2.83 17.74,2.64 18.36,2.64M18.36,4.64A1,1 0 0,0 17.36,5.64A1,1 0 0,0 18.36,6.64C18.92,6.64 19.36,6.19 19.36,5.64C19.36,5.08 18.92,4.64 18.36,4.64M5.64,15.36C7.29,15.36 8.64,16.71 8.64,18.36C8.64,18.66 8.59,18.94 8.5,19.2C9.57,19.71 10.75,20 12,20A8,8 0 0,0 20,12L19.96,11.16L21.95,10.95L22,12A10,10 0 0,1 12,22C10.31,22 8.72,21.58 7.33,20.84C6.84,21.17 6.26,21.36 5.64,21.36C4,21.36 2.64,20 2.64,18.36C2.64,16.71 4,15.36 5.64,15.36M5.64,17.36C5.08,17.36 4.64,17.81 4.64,18.36C4.64,18.92 5.08,19.36 5.64,19.36A1,1 0 0,0 6.64,18.36A1,1 0 0,0 5.64,17.36M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\";\r\nexport var mdiAttachment = \"M7.5,18A5.5,5.5 0 0,1 2,12.5A5.5,5.5 0 0,1 7.5,7H18A4,4 0 0,1 22,11A4,4 0 0,1 18,15H9.5A2.5,2.5 0 0,1 7,12.5A2.5,2.5 0 0,1 9.5,10H17V11.5H9.5A1,1 0 0,0 8.5,12.5A1,1 0 0,0 9.5,13.5H18A2.5,2.5 0 0,0 20.5,11A2.5,2.5 0 0,0 18,8.5H7.5A4,4 0 0,0 3.5,12.5A4,4 0 0,0 7.5,16.5H17V18H7.5Z\";\r\nexport var mdiAttachmentCheck = \"M16.61 13.5C15.81 13.85 15.11 14.36 14.54 15H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17V11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5S8.95 13.5 9.5 13.5H16.61M3.5 12.5C3.5 10.29 5.29 8.5 7.5 8.5H18C19.38 8.5 20.5 9.62 20.5 11C20.5 11.84 20.08 12.58 19.45 13.03C20.05 13.07 20.63 13.2 21.17 13.41C21.69 12.74 22 11.91 22 11C22 8.79 20.21 7 18 7H7.5C4.46 7 2 9.46 2 12.5S4.46 18 7.5 18H13.09C13.18 17.47 13.34 16.97 13.55 16.5H7.5C5.29 16.5 3.5 14.71 3.5 12.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiAttachmentLock = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M7.5 5C4.5 5 2 7.5 2 10.5S4.5 16 7.5 16H13.2V15.5C13.2 15.2 13.2 14.8 13.3 14.5H7.5C5.3 14.5 3.5 12.7 3.5 10.5S5.3 6.5 7.5 6.5H18C19.4 6.5 20.5 7.6 20.5 9C20.5 9.9 20 10.7 19.2 11.2C19.8 11.3 20.3 11.6 20.8 11.9C21.6 11.1 22 10.1 22 9C22 6.8 20.2 5 18 5H7.5M9.5 8C8.1 8 7 9.1 7 10.5S8.1 13 9.5 13H14C14.5 12.3 15.1 11.8 15.8 11.5H9.5C8.9 11.5 8.5 11.1 8.5 10.5S8.9 9.5 9.5 9.5H17V8H9.5Z\";\r\nexport var mdiAttachmentMinus = \"M16.61 13.5C15.81 13.85 15.11 14.36 14.54 15H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17V11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5S8.95 13.5 9.5 13.5H16.61M3.5 12.5C3.5 10.29 5.29 8.5 7.5 8.5H18C19.38 8.5 20.5 9.62 20.5 11C20.5 11.84 20.08 12.58 19.45 13.03C20.05 13.07 20.63 13.2 21.17 13.41C21.69 12.74 22 11.91 22 11C22 8.79 20.21 7 18 7H7.5C4.46 7 2 9.46 2 12.5S4.46 18 7.5 18H13.09C13.18 17.47 13.34 16.97 13.55 16.5H7.5C5.29 16.5 3.5 14.71 3.5 12.5M15 18V20H23V18H15Z\";\r\nexport var mdiAttachmentOff = \"M17 10V11.5H14.7L13.2 10H17M18 8.5C19.38 8.5 20.5 9.62 20.5 11S19.38 13.5 18 13.5H16.7L18.18 15C20.31 14.89 22 13.15 22 11C22 8.79 20.21 7 18 7H10.2L11.7 8.5H18M22.11 21.46L20.84 22.73L16.11 18H7.5C4.46 18 2 15.54 2 12.5C2 10.17 3.45 8.19 5.5 7.38L1.11 3L2.39 1.73L22.11 21.46M8.5 12.5C8.5 13.05 8.95 13.5 9.5 13.5H11.61L9.61 11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5M14.61 16.5L13.11 15H9.5C8.12 15 7 13.88 7 12.5C7 11.5 7.57 10.69 8.38 10.27L6.69 8.58C4.87 8.96 3.5 10.57 3.5 12.5C3.5 14.71 5.29 16.5 7.5 16.5H14.61Z\";\r\nexport var mdiAttachmentPlus = \"M7.5 16.5H13.55C13.34 16.97 13.18 17.47 13.09 18H7.5C4.46 18 2 15.54 2 12.5S4.46 7 7.5 7H18C20.21 7 22 8.79 22 11C22 11.91 21.69 12.74 21.17 13.41C20.63 13.2 20.05 13.07 19.45 13.03C20.08 12.58 20.5 11.84 20.5 11C20.5 9.62 19.38 8.5 18 8.5H7.5C5.29 8.5 3.5 10.29 3.5 12.5S5.29 16.5 7.5 16.5M9.5 13.5C8.95 13.5 8.5 13.05 8.5 12.5S8.95 11.5 9.5 11.5H17V10H9.5C8.12 10 7 11.12 7 12.5S8.12 15 9.5 15H14.54C15.11 14.36 15.81 13.85 16.61 13.5H9.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiAttachmentRemove = \"M16.61 13.5C15.81 13.85 15.11 14.36 14.54 15H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H17V11.5H9.5C8.95 11.5 8.5 11.95 8.5 12.5S8.95 13.5 9.5 13.5H16.61M3.5 12.5C3.5 10.29 5.29 8.5 7.5 8.5H18C19.38 8.5 20.5 9.62 20.5 11C20.5 11.84 20.08 12.58 19.45 13.03C20.05 13.07 20.63 13.2 21.17 13.41C21.69 12.74 22 11.91 22 11C22 8.79 20.21 7 18 7H7.5C4.46 7 2 9.46 2 12.5S4.46 18 7.5 18H13.09C13.18 17.47 13.34 16.97 13.55 16.5H7.5C5.29 16.5 3.5 14.71 3.5 12.5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiAtv = \"M20 11C19.8 11 19.6 11 19.5 11.1L17.4 9H20V6L16.3 7.9L13.4 5H9V7H12.6L14.6 9H11L7 11L5 9H0V11H4C1.8 11 0 12.8 0 15S1.8 19 4 19 8 17.2 8 15L10 17H13L16.5 10.9L17.5 11.9C16.6 12.6 16 13.8 16 15C16 17.2 17.8 19 20 19S24 17.2 24 15 22.2 11 20 11M4 17C2.9 17 2 16.1 2 15S2.9 13 4 13 6 13.9 6 15 5.1 17 4 17M20 17C18.9 17 18 16.1 18 15S18.9 13 20 13 22 13.9 22 15 21.1 17 20 17Z\";\r\nexport var mdiAudioInputRca = \"M11 6V12H5V6H7V2C7 1.45 7.45 1 8 1S9 1.45 9 2V6H11M5 14V16C5 17.3 5.84 18.4 7 18.82V23H9V18.82C10.16 18.4 11 17.3 11 16V14H5M17 6V2C17 1.45 16.55 1 16 1S15 1.45 15 2V6H13V12H19V6H17M13 14V16C13 17.3 13.84 18.4 15 18.82V23H17V18.82C18.16 18.4 19 17.3 19 16V14H13Z\";\r\nexport var mdiAudioInputStereoMinijack = \"M11 4V3C11 2.45 11.45 2 12 2S13 2.45 13 3V4H11M13 9V5H11V9H9V15C9 16.3 9.84 17.4 11 17.82V22H13V17.82C14.16 17.4 15 16.3 15 15V9H13Z\";\r\nexport var mdiAudioInputXlr = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M13.5 16.5C13.5 15.67 12.83 15 12 15S10.5 15.67 10.5 16.5C10.5 17.33 11.17 18 12 18S13.5 17.33 13.5 16.5M9 12C9 11.17 8.33 10.5 7.5 10.5S6 11.17 6 12 6.67 13.5 7.5 13.5 9 12.83 9 12M18 12C18 11.17 17.33 10.5 16.5 10.5C15.67 10.5 15 11.17 15 12S15.67 13.5 16.5 13.5C17.33 13.5 18 12.83 18 12Z\";\r\nexport var mdiAudioVideo = \"M20,7H4A2,2 0 0,0 2,9V15A2,2 0 0,0 4,17H5V18C5,18.6 5.4,19 6,19H8C8.6,19 9,18.6 9,18V17H15V18C15,18.6 15.4,19 16,19H18C18.6,19 19,18.6 19,18V17H20A2,2 0 0,0 22,15V9A2,2 0 0,0 20,7M14,12H4V10H14V12M18,13A2,2 0 0,1 16,11A2,2 0 0,1 18,9A2,2 0 0,1 20,11A2,2 0 0,1 18,13M6,15H4V14H6V15M10,15H8V14H10V15M14,15H12V14H14V15Z\";\r\nexport var mdiAudioVideoOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H4C2.9 7 2 7.9 2 9V15C2 16.1 2.9 17 4 17H5V18C5 18.6 5.4 19 6 19H8C8.6 19 9 18.6 9 18V17H15V18C15 18.6 15.4 19 16 19H17.1L20.8 22.7L22.1 21.5M6 15H4V14H6V15M4 12V10H8.1L10.1 12H4M10 15H8V14H10V15M12 15V14H12.1L13.1 15H12M14 10V10.8L20.2 17C21.2 16.9 22 16.1 22 15V9C22 7.9 21.1 7 20 7H10.2L13.2 10H14M18 9C19.1 9 20 9.9 20 11S19.1 13 18 13 16 12.1 16 11 16.9 9 18 9Z\";\r\nexport var mdiAugmentedReality = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M7,9H10C10.6,9 11,9.5 11,10V15H9.5V13.5H7.5V15H6V10C6,9.5 6.4,9 7,9M13,9H16.5C17.35,9 18,9.65 18,10.5V11.5C18,12.1 17.6,12.65 17.1,12.9L18,15H16.5L15.65,13H14.5V15H13V9M7.5,10.5V12H9.5V10.5H7.5M14.5,10.5V11.5H16.5V10.5H14.5\";\r\nexport var mdiAurora = \"M2 3C2.55 3 3 3.45 3 4V13H5V5C5 4.45 5.45 4 6 4C6.55 4 7 4.45 7 5V13H9V6C9 5.45 9.45 5 10 5C10.55 5 11 5.45 11 6V13H12.5C12.67 13 12.84 13 13 13.05V7C13 6.45 13.45 6 14 6C14.55 6 15 6.45 15 7V15.5C15 16.88 13.88 18 12.5 18H11.5C11.22 18 11 18.22 11 18.5C11 18.78 11.22 19 11.5 19H17V8C17 7.45 17.45 7 18 7C18.55 7 19 7.45 19 8V19H21V9C21 8.45 21.45 8 22 8C22.55 8 23 8.45 23 9V20C23 20.55 22.55 21 22 21H11.5C10.12 21 9 19.88 9 18.5C9 17.12 10.12 16 11.5 16H12.5C12.78 16 13 15.78 13 15.5C13 15.22 12.78 15 12.5 15H2C1.45 15 1 14.55 1 14V4C1 3.45 1.45 3 2 3Z\";\r\nexport var mdiAutoDownload = \"M22 17V19H11V17H22M19 4.5V9.5H22L16.5 15L11 9.5H14V4.5H19M10.7 15H8.8L8.1 13H4.9L4.2 15H2.3L5.5 6H7.5L10.7 15M7.65 11.65L6.5 8L5.35 11.65H7.65Z\";\r\nexport var mdiAutoFix = \"M7.5,5.6L5,7L6.4,4.5L5,2L7.5,3.4L10,2L8.6,4.5L10,7L7.5,5.6M19.5,15.4L22,14L20.6,16.5L22,19L19.5,17.6L17,19L18.4,16.5L17,14L19.5,15.4M22,2L20.6,4.5L22,7L19.5,5.6L17,7L18.4,4.5L17,2L19.5,3.4L22,2M13.34,12.78L15.78,10.34L13.66,8.22L11.22,10.66L13.34,12.78M14.37,7.29L16.71,9.63C17.1,10 17.1,10.65 16.71,11.04L5.04,22.71C4.65,23.1 4,23.1 3.63,22.71L1.29,20.37C0.9,20 0.9,19.35 1.29,18.96L12.96,7.29C13.35,6.9 14,6.9 14.37,7.29Z\";\r\nexport var mdiAutoMode = \"M19.8 5.67C21.05 7.19 21.82 9.04 22 11H19.94C19.74 9.57 19.16 8.22 18.26 7.1L19.8 5.67M13 2.05C14.96 2.24 16.81 3 18.33 4.26L16.9 5.69C15.77 4.8 14.42 4.24 13 4.05V2.05M11 2.06C9.04 2.26 7.19 3.03 5.67 4.27L7.1 5.69C8.23 4.81 9.58 4.24 11 4.06V2.06M4.26 5.67L5.63 7.06V7.1C4.75 8.23 4.18 9.58 4 11H2C2.21 9.04 3 7.18 4.26 5.67M2 14V19L3.6 17.4C5.38 20.17 8.47 22 12 22C16.82 22 20.87 18.55 21.8 14H19.75C18.86 17.45 15.72 20 12 20C9.05 20 6.39 18.39 5 16L7 14H2M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\r\nexport var mdiAutoUpload = \"M5.35,12.65L6.5,9L7.65,12.65M5.5,7L2.3,16H4.2L4.9,14H8.1L8.8,16H10.7L7.5,7M11,20H22V18H11M14,16H19V11H22L16.5,5.5L11,11H14V16Z\";\r\nexport var mdiAutorenew = \"M12,6V9L16,5L12,1V4A8,8 0 0,0 4,12C4,13.57 4.46,15.03 5.24,16.26L6.7,14.8C6.25,13.97 6,13 6,12A6,6 0 0,1 12,6M18.76,7.74L17.3,9.2C17.74,10.04 18,11 18,12A6,6 0 0,1 12,18V15L8,19L12,23V20A8,8 0 0,0 20,12C20,10.43 19.54,8.97 18.76,7.74Z\";\r\nexport var mdiAutorenewOff = \"M18 12C18 11 17.74 10.04 17.3 9.2L18.76 7.74C19.54 8.97 20 10.43 20 12C20 13.39 19.64 14.68 19 15.82L17.5 14.32C17.82 13.6 18 12.83 18 12M2.39 1.73L1.11 3L5.5 7.37C4.55 8.68 4 10.27 4 12C4 13.57 4.46 15.03 5.24 16.26L6.7 14.8C6.25 13.97 6 13 6 12C6 10.83 6.34 9.74 6.92 8.81L15.19 17.08C14.26 17.66 13.17 18 12 18V15L8 19L12 23V20C13.73 20 15.32 19.45 16.63 18.5L20.84 22.73L22.11 21.46L2.39 1.73M12 6V8.8L12.1 8.9L16 5L12 1V4C10.62 4 9.32 4.36 8.18 5L9.68 6.5C10.4 6.18 11.18 6 12 6Z\";\r\nexport var mdiAvTimer = \"M11,17A1,1 0 0,0 12,18A1,1 0 0,0 13,17A1,1 0 0,0 12,16A1,1 0 0,0 11,17M11,3V7H13V5.08C16.39,5.57 19,8.47 19,12A7,7 0 0,1 12,19A7,7 0 0,1 5,12C5,10.32 5.59,8.78 6.58,7.58L12,13L13.41,11.59L6.61,4.79V4.81C4.42,6.45 3,9.05 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M18,12A1,1 0 0,0 17,11A1,1 0 0,0 16,12A1,1 0 0,0 17,13A1,1 0 0,0 18,12M6,12A1,1 0 0,0 7,13A1,1 0 0,0 8,12A1,1 0 0,0 7,11A1,1 0 0,0 6,12Z\";\r\nexport var mdiAwning = \"M5.06 7C4.63 7 4.22 7.14 3.84 7.42C3.46 7.7 3.24 8.06 3.14 8.5L2.11 12.91C1.86 14 2.06 14.92 2.69 15.73C2.81 15.85 2.93 15.97 3.04 16.07C3.63 16.64 4.28 17 5.22 17C6.16 17 6.91 16.59 7.47 16.05C8.1 16.67 8.86 17 9.8 17C10.64 17 11.44 16.63 12 16.07C12.68 16.7 13.45 17 14.3 17C15.17 17 15.91 16.67 16.54 16.05C17.11 16.62 17.86 17 18.81 17C19.76 17 20.43 16.65 21 16.06C21.09 15.97 21.18 15.87 21.28 15.77C21.94 14.95 22.14 14 21.89 12.91L20.86 8.5C20.73 8.06 20.5 7.7 20.13 7.42C19.77 7.14 19.38 7 18.94 7H5.06Z\";\r\nexport var mdiAwningOutline = \"M5.06 7C4.63 7 4.22 7.14 3.84 7.42C3.46 7.7 3.24 8.06 3.14 8.5L2.11 12.91C1.86 14 2.06 14.92 2.69 15.73C2.81 15.85 2.93 15.97 3.04 16.07C3.63 16.64 4.28 17 5.22 17C6.16 17 6.91 16.59 7.47 16.05C8.1 16.67 8.86 17 9.8 17C10.64 17 11.44 16.63 12 16.07C12.68 16.7 13.45 17 14.3 17C15.17 17 15.91 16.67 16.54 16.05C17.11 16.62 17.86 17 18.81 17C19.76 17 20.43 16.65 21 16.06C21.09 15.97 21.18 15.87 21.28 15.77C21.94 14.95 22.14 14 21.89 12.91L20.86 8.5C20.73 8.06 20.5 7.7 20.13 7.42C19.77 7.14 19.38 7 18.94 7H5.06M18.89 8.97L19.97 13.38C20.06 13.81 19.97 14.2 19.69 14.55C19.44 14.86 19.13 15 18.75 15C18.44 15 18.17 14.9 17.95 14.66C17.73 14.43 17.61 14.16 17.58 13.84L16.97 9L18.89 8.97M5.06 9H7.03L6.42 13.84C6.3 14.63 5.91 15 5.25 15C4.84 15 4.53 14.86 4.31 14.55C4.03 14.2 3.94 13.81 4.03 13.38L5.06 9M9.05 9H11V13.7C11 14.05 10.89 14.35 10.64 14.62C10.39 14.88 10.08 15 9.7 15C9.36 15 9.07 14.88 8.84 14.59C8.61 14.3 8.5 14 8.5 13.66V13.5L9.05 9M13 9H14.95L15.5 13.5C15.58 13.92 15.5 14.27 15.21 14.57C14.95 14.87 14.61 15 14.2 15C13.89 15 13.61 14.88 13.36 14.62C13.11 14.35 13 14.05 13 13.7V9Z\";\r\nexport var mdiAws = \"M7.64,10.38C7.64,10.63 7.66,10.83 7.71,11C7.76,11.12 7.83,11.28 7.92,11.46C7.96,11.5 7.97,11.56 7.97,11.61C7.97,11.68 7.93,11.74 7.84,11.81L7.42,12.09C7.36,12.13 7.3,12.15 7.25,12.15C7.18,12.15 7.12,12.11 7.05,12.05C6.96,11.95 6.88,11.85 6.81,11.74C6.75,11.63 6.68,11.5 6.61,11.35C6.09,11.96 5.44,12.27 4.65,12.27C4.09,12.27 3.65,12.11 3.32,11.79C3,11.47 2.83,11.04 2.83,10.5C2.83,9.95 3.03,9.5 3.43,9.14C3.84,8.8 4.38,8.62 5.06,8.62C5.29,8.62 5.5,8.64 5.77,8.68C6,8.71 6.27,8.76 6.53,8.82V8.34C6.53,7.83 6.43,7.5 6.22,7.27C6,7.06 5.65,6.97 5.14,6.97C4.9,6.97 4.66,7 4.42,7.05C4.17,7.11 3.93,7.18 3.7,7.28C3.59,7.32 3.5,7.35 3.47,7.36C3.42,7.38 3.39,7.38 3.36,7.38C3.27,7.38 3.22,7.32 3.22,7.18V6.85C3.22,6.75 3.23,6.67 3.27,6.62C3.3,6.57 3.36,6.53 3.45,6.5C3.69,6.36 3.96,6.26 4.29,6.18C4.62,6.09 4.96,6.05 5.33,6.05C6.12,6.05 6.7,6.23 7.07,6.59C7.44,6.95 7.62,7.5 7.62,8.23V10.38H7.64M4.94,11.4C5.16,11.4 5.38,11.36 5.62,11.28C5.86,11.2 6.07,11.05 6.25,10.85C6.36,10.72 6.44,10.58 6.5,10.42C6.5,10.26 6.55,10.07 6.55,9.84V9.57C6.35,9.5 6.15,9.5 5.93,9.45C5.72,9.43 5.5,9.41 5.31,9.41C4.86,9.41 4.54,9.5 4.32,9.68C4.1,9.86 4,10.11 4,10.44C4,10.76 4.07,11 4.24,11.15C4.4,11.32 4.63,11.4 4.94,11.4M10.28,12.11C10.16,12.11 10.08,12.09 10,12.05C9.97,12 9.92,11.91 9.88,11.79L8.32,6.65C8.28,6.5 8.26,6.43 8.26,6.38C8.26,6.27 8.31,6.21 8.42,6.21H9.07C9.2,6.21 9.29,6.23 9.33,6.28C9.39,6.32 9.43,6.41 9.47,6.54L10.58,10.94L11.62,6.54C11.65,6.41 11.69,6.32 11.75,6.28C11.8,6.24 11.89,6.21 12,6.21H12.55C12.67,6.21 12.76,6.23 12.81,6.28C12.86,6.32 12.91,6.41 12.94,6.54L14,11L15.14,6.54C15.18,6.41 15.23,6.32 15.27,6.28C15.33,6.24 15.41,6.21 15.53,6.21H16.15C16.26,6.21 16.32,6.27 16.32,6.38C16.32,6.41 16.31,6.45 16.3,6.5C16.3,6.5 16.28,6.58 16.26,6.65L14.65,11.79C14.61,11.93 14.57,12 14.5,12.05C14.46,12.09 14.37,12.12 14.26,12.12H13.69C13.56,12.12 13.5,12.1 13.42,12.05C13.37,12 13.32,11.92 13.3,11.79L12.27,7.5L11.24,11.78C11.21,11.91 11.17,12 11.12,12.05C11.06,12.09 10.97,12.11 10.85,12.11H10.28M18.83,12.29C18.5,12.29 18.13,12.25 17.8,12.17C17.47,12.09 17.21,12 17.04,11.91C16.93,11.85 16.86,11.78 16.83,11.72C16.8,11.66 16.79,11.6 16.79,11.54V11.2C16.79,11.06 16.84,11 16.94,11C17,11 17,11 17.06,11C17.1,11 17.16,11.05 17.23,11.08C17.45,11.18 17.7,11.26 17.96,11.31C18.23,11.36 18.5,11.39 18.75,11.39C19.17,11.39 19.5,11.32 19.72,11.17C19.95,11 20.07,10.81 20.07,10.54C20.07,10.35 20,10.2 19.89,10.07C19.77,9.95 19.54,9.83 19.22,9.73L18.25,9.43C17.77,9.27 17.41,9.05 17.19,8.75C16.97,8.46 16.86,8.13 16.86,7.78C16.86,7.5 16.92,7.26 17.04,7.05C17.16,6.83 17.32,6.65 17.5,6.5C17.72,6.35 17.94,6.24 18.21,6.16C18.47,6.08 18.75,6.04 19.05,6.04C19.19,6.04 19.34,6.05 19.5,6.07C19.64,6.09 19.78,6.12 19.92,6.14C20.06,6.18 20.18,6.21 20.3,6.25C20.42,6.29 20.5,6.33 20.58,6.37C20.67,6.42 20.74,6.47 20.78,6.53C20.82,6.59 20.84,6.66 20.84,6.75V7.07C20.84,7.21 20.79,7.28 20.69,7.28C20.64,7.28 20.55,7.25 20.43,7.2C20.06,7.03 19.63,6.94 19.16,6.94C18.78,6.94 18.5,7 18.27,7.13C18.07,7.25 17.96,7.45 17.96,7.72C17.96,7.91 18.03,8.07 18.16,8.19C18.29,8.32 18.54,8.44 18.89,8.56L19.84,8.86C20.32,9 20.66,9.22 20.87,9.5C21.07,9.77 21.17,10.08 21.17,10.43C21.17,10.71 21.11,10.97 21,11.2C20.88,11.42 20.72,11.62 20.5,11.78C20.31,11.95 20.06,12.07 19.78,12.16C19.5,12.25 19.16,12.29 18.83,12.29M20.08,15.53C17.89,17.14 14.71,18 12,18C8.15,18 4.7,16.58 2.09,14.23C1.88,14.04 2.07,13.79 2.32,13.94C5.14,15.57 8.61,16.56 12.21,16.56C14.64,16.56 17.31,16.06 19.76,15C20.13,14.85 20.44,15.26 20.08,15.53M21,14.5C20.71,14.13 19.14,14.32 18.43,14.4C18.22,14.43 18.19,14.24 18.38,14.1C19.63,13.23 21.69,13.5 21.92,13.77C22.16,14.07 21.86,16.13 20.69,17.11C20.5,17.26 20.33,17.18 20.41,17C20.68,16.32 21.27,14.84 21,14.5Z\";\r\nexport var mdiAxe = \"M12,2L22,8C22,12 20,14 16,15L13,10L9,6L12,2M4.11,19.84L2.12,18.33L9.19,9L11,10.81L4.11,19.84Z\";\r\nexport var mdiAxeBattle = \"M21.47 12.43C19.35 14.55 15.82 13.84 15.82 13.84V9.6L3.41 22L2 20.59L14.4 8.18H10.16C10.16 8.18 9.45 4.65 11.57 2.53C13.69 .406 17.23 1.11 17.23 1.11V5.36L17.94 4.65L19.35 6.06L18.64 6.77H22.89C22.89 6.77 23.59 10.31 21.47 12.43Z\";\r\nexport var mdiAxis = \"M2.61,21L1.61,19.27L11,13.85V3H13V13.85L22.39,19.27L21.39,21L12,15.58L2.61,21Z\";\r\nexport var mdiAxisArrow = \"M12,2L16,6H13V13.85L19.53,17.61L21,15.03L22.5,20.5L17,21.96L18.53,19.35L12,15.58L5.47,19.35L7,21.96L1.5,20.5L3,15.03L4.47,17.61L11,13.85V6H8L12,2Z\";\r\nexport var mdiAxisArrowInfo = \"M12 2L16 6H13V13.85L19.53 17.61L21 15.03L22.5 20.5L17 21.96L18.53 19.35L12 15.58L5.47 19.35L7 21.96L1.5 20.5L3 15.03L4.47 17.61L11 13.85V6H8L12 2M21 5H19V3H21V5M22 10V12H18V10H19V8H18V6H21V10H22Z\";\r\nexport var mdiAxisArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.68,16.34L9,13.85V6H6L10,2L14,6H11V13.85L18.03,17.86L19.5,15.28L21,20.74L15.5,22.21L17.03,19.6L10,15.58L5.68,18.07L7.21,20.71L1.74,19.25Z\";\r\nexport var mdiAxisLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M11,13.82L20.39,19.25L19.39,21L10,15.56L3.17,19.5L2.17,17.77L9,13.82V3H11V13.82Z\";\r\nexport var mdiAxisXArrow = \"M1.5,20.5L3,15.03L4.46,17.6L11,13.82V3H13V13.82L22.39,19.25L21.39,21L12,15.56L5.46,19.33L7,21.96L1.5,20.5Z\";\r\nexport var mdiAxisXArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.31,2.2 17.69,2.58 17.54,3.2C17.5,3.29 17.5,3.39 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.67,16.32L9,13.82V3H11V13.82L20.39,19.25L19.39,21L10,15.56L5.67,18.06L7.21,20.71L1.74,19.25Z\";\r\nexport var mdiAxisXRotateClockwise = \"M12,10H14.91C14.57,6.55 13.4,4 12,4C10.42,4 9.12,7.27 9,11.42L7,12.57V12C7,6.5 9.24,2 12,2C14.42,2 16.44,5.44 16.9,10H20L16,14L12,10M12,22C10.12,22 8.47,19.92 7.62,16.84L9.37,15.83C9.87,18.31 10.86,20 12,20C13.27,20 14.36,17.89 14.79,14.92L16,16.12L16.7,15.42C16,19.26 14.16,22 12,22M2.11,18.87L1.11,17.13L1.06,17.06L11.12,11.25L12.72,12.84L2.15,18.94L2.11,18.87M21.89,5.13L22.89,6.87L19.2,9H17.77L17.5,7.66L21.89,5.13Z\";\r\nexport var mdiAxisXRotateCounterclockwise = \"M12,14L16,10L20,14H16.9C16.44,18.56 14.42,22 12,22C10.12,22 8.47,19.92 7.62,16.84L9.37,15.83C9.87,18.31 10.86,20 12,20C13.4,20 14.57,17.45 14.91,14H12M1.11,17.13L13.89,9.75L13.96,10.54L10.5,14H10.54L2.11,18.87L1.11,17.13M21.89,5.13L22.89,6.87L17.88,9.76C17.79,9.03 17.67,8.33 17.5,7.66L21.89,5.13M12,2C14.3,2 16.23,5.1 16.82,9.32L16,8.5L14.87,9.63C14.5,6.37 13.35,4 12,4C10.42,4 9.12,7.27 9,11.42L7,12.57V12C7,6.5 9.24,2 12,2Z\";\r\nexport var mdiAxisXYArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M1.74,19.25L3.21,13.79L4.68,16.34L9,13.85V3H11V13.85L17.53,17.61L19,15.03L20.5,20.5L15,21.96L16.53,19.35L10,15.58L5.68,18.07L7.21,20.71L1.74,19.25Z\";\r\nexport var mdiAxisYArrow = \"M22.5,20.5L17,21.96L18.53,19.35L12,15.58L2.61,21L1.61,19.27L11,13.85V3H13V13.85L19.53,17.61L21,15.03L22.5,20.5Z\";\r\nexport var mdiAxisYArrowLock = \"M11,13.82L18,17.88L19.5,15.28L21,20.74L15.5,22.21L17,19.61L10,15.56L3.17,19.5L2.17,17.77L9,13.82V3H11V13.82M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5Z\";\r\nexport var mdiAxisYRotateClockwise = \"M12,10L16,14L20,10H16.9C16.44,5.44 14.42,2 12,2C10.12,2 8.47,4.08 7.62,7.16L9.37,8.17C9.87,5.69 10.86,4 12,4C13.4,4 14.57,6.55 14.91,10H12M1.11,6.87L13.89,14.25L13.96,13.46L10.5,10H10.54L2.11,5.13L1.11,6.87M21.89,18.87L22.89,17.13L17.88,14.24C17.79,14.97 17.67,15.67 17.5,16.34L21.89,18.87M12,22C14.3,22 16.23,18.9 16.82,14.68L16,15.5L14.87,14.37C14.5,17.63 13.35,20 12,20C10.42,20 9.12,16.73 9,12.58L7,11.43V12C7,17.5 9.24,22 12,22Z\";\r\nexport var mdiAxisYRotateCounterclockwise = \"M12,14H14.91C14.57,17.45 13.4,20 12,20C10.42,20 9.12,16.73 9,12.58L7,11.43V12C7,17.5 9.24,22 12,22C14.42,22 16.44,18.56 16.9,14H20L16,10L12,14M12,2C10.12,2 8.47,4.08 7.62,7.16L9.37,8.17C9.87,5.69 10.86,4 12,4C13.27,4 14.36,6.11 14.79,9.08L16,7.88L16.7,8.58C16,4.74 14.16,2 12,2M2.11,5.13L1.11,6.87L1.06,6.94L11.12,12.75L12.72,11.16L2.15,5.06L2.11,5.13M21.89,18.87L22.89,17.13L19.2,15H17.77L17.5,16.34L21.89,18.87Z\";\r\nexport var mdiAxisZArrow = \"M12,2L16,6H13V13.82L22.39,19.25L21.39,21L12,15.56L2.61,21L1.61,19.25L11,13.82V6H8L12,2Z\";\r\nexport var mdiAxisZArrowLock = \"M21.8,5C22.4,5 23,5.6 23,6.3V9.8C23,10.4 22.4,11 21.7,11H16.2C15.6,11 15,10.4 15,9.7V6.2C15,5.6 15.6,5 16.2,5V3.5C16.2,2.1 17.6,1 19,1C20.4,1 21.8,2.1 21.8,3.5V5M20.5,5V3.5C20.5,2.7 19.8,2.2 19,2.2C18.2,2.2 17.5,2.7 17.5,3.5V5H20.5M10,2L14,6H11V13.82L20.39,19.25L19.39,21L10,15.56L3.17,19.5L2.17,17.77L9,13.82V6H6L10,2Z\";\r\nexport var mdiAxisZRotateClockwise = \"M14,12L10,16L14,20V16.9C18.56,16.44 22,14.42 22,12C22,9.58 18.56,7.56 14,7.1V9.09C17.45,9.43 20,10.6 20,12C20,13.4 17.45,14.57 14,14.91V12M4,12C4,10.6 6.55,9.43 10,9.09V7.1C5.44,7.56 2,9.58 2,12C2,14.16 4.74,16 8.58,16.7L7.88,16L9.08,14.79C6.11,14.36 4,13.27 4,12M13,2H11V13L13,11V2M13,22V21L11,19V22H13Z\";\r\nexport var mdiAxisZRotateCounterclockwise = \"M10,12L14,16L10,20V16.9C5.44,16.44 2,14.42 2,12C2,9.58 5.44,7.56 10,7.1V9.09C6.55,9.43 4,10.6 4,12C4,13.4 6.55,14.57 10,14.91V12M20,12C20,10.6 17.45,9.43 14,9.09V7.1C18.56,7.56 22,9.58 22,12C22,14.16 19.26,16 15.42,16.7L16.12,16L14.92,14.79C17.89,14.36 20,13.27 20,12M11,2H13V13L11,11V2M11,22V21L13,19V22H11Z\";\r\nexport var mdiBabel = \"M15.14 2C13.8 2.12 12.04 2.59 9.87 3.43C9.28 3.87 8.6 4.3 7.84 4.72V4.85C7.9 4.85 7.96 4.81 8.04 4.77C8.13 4.76 8.19 4.79 8.19 4.88L8.32 4.8L8.39 4.79L8.4 4.86C8.41 4.92 7.93 5.29 7 5.96L7.06 6.09H7L6.84 6.04C6.84 6.09 6.78 6.11 6.64 6.12L6.65 6.19L6.81 6.37C6.75 6.37 6.68 6.36 6.6 6.32C6.29 6.35 6 6.58 5.69 7L5.77 7.12C6.03 6.88 6.18 6.76 6.22 6.76L6.24 6.95C6.2 6.95 6.12 7 6.04 7.03L6.2 7.27C6.5 6.93 6.86 6.64 7.24 6.41C7.43 6.46 7.53 6.5 7.53 6.58L7.67 6.57C8.69 5.81 9.71 5.27 10.71 4.93L10.72 5.06C10.53 5.34 10.4 5.5 10.33 5.5C10.34 5.59 10.38 5.67 10.43 5.74C10.45 5.92 10 7.06 9.07 9.19C6.95 14.13 5.19 17.78 3.77 20.16C3.77 20.2 3.8 20.27 3.85 20.35C4.2 20.26 4.42 20.18 4.5 20.1L4.6 20.09L4.61 20.22L4.74 20.21L4.88 20.13C4.88 20.18 4.93 20.19 5 20.18L5.03 20.31C5.03 20.45 4.96 20.65 4.8 20.92C4.65 21.08 4.5 21.42 4.34 21.94V22H4.47C5.04 21.35 5.5 20.72 5.78 20.11C7.44 19.62 8.71 19.15 9.59 18.67C10.47 18.6 11.15 18.37 11.61 18L11.6 17.91L11.27 18H11.19L11.18 17.95C11.83 17.85 12.28 17.7 12.5 17.5C13.79 16.54 14.74 15.85 15.39 15.44C17.39 13.97 18.33 12.55 18.22 11.21C18.21 11.07 17.76 10.5 16.9 9.56C16.88 9.38 17.19 9.12 17.8 8.77L19.53 7.24C19.92 6.74 20.15 5.94 20.23 4.83L20.2 4.57C20.14 3.79 19.58 3.16 18.5 2.68C17.88 2.25 16.76 2.03 15.14 2M17.24 2.87C18.53 2.92 19.19 3.14 19.23 3.55L19.18 3.68L17.24 2.87M16 3.96C16.89 3.95 17.35 4.18 17.4 4.68L17.5 4.67V4.34L17.64 4.33C18 4.5 18.16 4.74 18.18 5C18.2 5.2 18.1 5.42 17.89 5.69C17.8 5.7 17.75 5.64 17.74 5.5H17.6L17.56 5.91C17 6.78 16.56 7.23 16.3 7.26C16.06 7.58 15.91 7.75 15.85 7.75C15.67 7.97 15.17 8.35 14.35 8.87C14.08 8.9 13.07 9.28 11.34 10.04C11.25 10 11.16 10 11.06 10L11.05 9.88C11.03 9.62 11.14 9.31 11.39 8.92C11.5 8.21 11.67 7.8 11.83 7.7L13.28 4.44C13.27 4.24 13.57 4.09 14.21 4L14.42 3.96L14.44 4.15C15.06 4.05 15.45 4 15.6 4C15.74 3.97 15.88 3.96 16 3.96M19 4.29H19.04C19.16 4.3 19.28 4.5 19.41 4.91L19.42 5.03C19.35 5.04 19.22 4.83 19.03 4.41L19 4.29M10.82 6.36H10.88L10.9 6.55C10.84 6.56 10.75 6.65 10.65 6.83L10.64 6.7C10.76 6.55 10.82 6.43 10.82 6.36M6.67 6.46L6.68 6.5C6.63 6.5 6.56 6.56 6.5 6.6L6.41 6.61L6.39 6.5L6.67 6.46M10.24 7.72L10.26 8H10.19L10.16 7.73L10.24 7.72M10.07 8.19C10.05 8.41 10 8.5 9.89 8.53L9.82 8.54C9.9 8.39 9.94 8.29 9.93 8.21L10.07 8.19M9.78 8.87L9.79 8.93L9.67 9.14L9.54 9.15L9.53 9.09C9.66 9.08 9.72 9 9.71 8.88L9.78 8.87M9.5 9.5L9.45 9.81H9.38L9.36 9.5H9.5M16.57 9.72L16.85 9.89C16.86 10 16.82 10.03 16.73 10.04C16.61 9.96 16.5 9.93 16.44 9.93L16.43 9.73L16.57 9.72M11 10.46L11.03 10.58L10.76 10.61L10.75 10.5L11 10.46M15.5 10.91C15.68 11 15.78 11.09 15.79 11.16L15.8 11.22C15.61 11.24 15.45 11.14 15.29 10.93L15.5 10.91M17.66 11.12C17.81 11.18 17.88 11.25 17.89 11.31L17.93 11.82C17.87 11.96 17.81 12.03 17.74 12.03L17.66 11.12M14.16 11.18C14.86 11.17 15.4 11.33 15.76 11.68L15.79 11.94C15.5 12.85 15.13 13.38 14.75 13.54L13 14.93C11.7 15.79 11 16.21 10.9 16.22C8.83 17.36 7.54 17.95 7.04 18H6.96C7.03 17.76 7.95 15.87 9.73 12.33C10.5 12.26 11.76 11.89 13.44 11.23L13.85 11.19C13.96 11.19 14.06 11.18 14.16 11.18M11.62 11.59L11.63 11.65L11.35 11.67L11.34 11.61L11.62 11.59M7.26 15.81C7.17 16.26 7.08 16.5 7 16.5L6.97 16.43C6.95 16.2 7.05 16 7.26 15.81M13.18 16.09L13.19 16.21C13.2 16.27 13 16.43 12.6 16.72C11.44 17.29 10.76 17.68 10.56 17.88C9.3 18.32 8.68 18.59 8.69 18.69C7.57 19.14 6.84 19.46 6.5 19.66C6.41 19.67 6.29 19.63 6.13 19.56C6.12 19.34 6.21 19.15 6.44 19C6.63 19 6.82 19 7 19.09C7.21 19 7.57 18.87 8.08 18.74L8.07 18.61L7.66 18.65C7.71 18.58 8.11 18.4 8.86 18.09L9.07 18.07L9.08 18.13C8.73 18.16 8.53 18.27 8.5 18.46C8.5 18.53 8.53 18.58 8.62 18.57C8.87 18.39 9 18.3 9 18.27C9.5 18.18 10.9 17.44 13.18 16.09M6.86 16.69L6.87 16.75C6.88 16.84 6.83 16.89 6.74 16.9V16.84C6.73 16.76 6.77 16.71 6.86 16.69M10 17.5C10.07 17.47 10.12 17.5 10.12 17.58C9.96 17.6 9.65 17.73 9.19 18H9.12L9.11 17.87C9.44 17.84 9.73 17.71 9.97 17.5H10M6.95 18.5L6.96 18.58C6.9 18.58 6.84 18.61 6.75 18.66L6.62 18.67C6.61 18.61 6.65 18.55 6.74 18.53L6.95 18.5M5.35 19.3L5.5 19.36C5.44 19.76 5.33 19.96 5.13 20C4.97 19.91 4.83 19.88 4.7 19.89L4.68 19.7C4.67 19.62 4.72 19.57 4.82 19.55C4.9 19.54 4.95 19.6 4.96 19.73C5.2 19.44 5.33 19.3 5.35 19.3Z\";\r\nexport var mdiBaby = \"M18.5,4A2.5,2.5 0 0,1 21,6.5A2.5,2.5 0 0,1 18.5,9A2.5,2.5 0 0,1 16,6.5A2.5,2.5 0 0,1 18.5,4M4.5,20A1.5,1.5 0 0,1 3,18.5A1.5,1.5 0 0,1 4.5,17H11.5A1.5,1.5 0 0,1 13,18.5A1.5,1.5 0 0,1 11.5,20H4.5M16.09,19L14.69,15H11L6.75,10.75C6.75,10.75 9,8.25 12.5,8.25C15.5,8.25 15.85,9.25 16.06,9.87L18.92,18C19.2,18.78 18.78,19.64 18,19.92C17.22,20.19 16.36,19.78 16.09,19Z\";\r\nexport var mdiBabyBottle = \"M11.28 2.8L10.78 3.3A5.5 5.5 0 0 0 6.41 2.87L6.33 2.8A2.5 2.5 0 0 0 2.8 6.33L2.87 6.41A5.5 5.5 0 0 0 3.3 10.78L2.8 11.28A1.5 1.5 0 0 0 2.8 13.4L4.21 14.82A1.5 1.5 0 0 0 6.33 14.82L6.68 14.46L13.76 21.53A1.5 1.5 0 0 0 15.88 21.53L21.53 15.88A1.5 1.5 0 0 0 21.53 13.76L14.46 6.68L14.82 6.33A1.5 1.5 0 0 0 14.82 4.21L13.4 2.8A1.5 1.5 0 0 0 11.28 2.8M13.76 5.27L5.27 13.76L3.86 12.34L12.34 3.86M14.82 11.63L11.63 14.82L10.57 13.76L13.76 10.57M16.94 13.76L13.76 16.94L12.69 15.88L15.88 12.69Z\";\r\nexport var mdiBabyBottleOutline = \"M11.28 2.8L10.78 3.3C9.44 2.55 7.84 2.4 6.41 2.87L6.33 2.8C5.36 1.82 3.77 1.82 2.8 2.8S1.82 5.36 2.8 6.33L2.87 6.41C2.4 7.84 2.55 9.44 3.3 10.78L2.8 11.28C2.21 11.87 2.21 12.81 2.8 13.4L4.21 14.82C4.8 15.4 5.74 15.4 6.33 14.82L6.68 14.46L13.76 21.53C14.34 22.12 15.29 22.12 15.88 21.53L21.53 15.88C22.12 15.29 22.12 14.34 21.53 13.75L14.46 6.68L14.82 6.33C15.4 5.74 15.4 4.8 14.82 4.21L13.4 2.79C12.82 2.21 11.87 2.21 11.28 2.8M4.25 7.05C4.33 6.71 4.47 6.38 4.66 6.07L3.86 5.27C3.75 5.16 3.67 5.04 3.63 4.9C3.5 4.56 3.57 4.14 3.86 3.86S4.56 3.5 4.9 3.63C5.04 3.67 5.16 3.75 5.27 3.86L6.07 4.66C6.38 4.47 6.71 4.33 7.05 4.25C7.91 4 8.83 4.06 9.65 4.42L4.42 9.65C4.06 8.83 4 7.91 4.25 7.05M20.47 14.82L14.82 20.47L7.75 13.4L13.4 7.75L20.47 14.82M13.76 5.27L5.27 13.76L3.86 12.34L12.34 3.86L13.76 5.27M14.82 11.63L11.63 14.82L10.57 13.76L13.76 10.57L14.82 11.63M16.94 13.76L13.76 16.94L12.69 15.88L15.88 12.69L16.94 13.76Z\";\r\nexport var mdiBabyBuggy = \"M17 20A2 2 0 0 1 15 22A2 2 0 0 1 13 20A2 2 0 0 1 15 18A2 2 0 0 1 17 20M7 20A2 2 0 0 1 5 22A2 2 0 0 1 3 20A2 2 0 0 1 5 18A2 2 0 0 1 7 20M17.61 3C16.95 3 16.44 3.2 16 3.5C15.32 3.91 14.88 4.59 14.47 5.07L5.71 15.35C5.16 16 5.62 17 6.47 17H14C15.11 17 16 16.1 16 15V6.38C16.58 5.7 16.93 5 17.61 5C18.38 5 19 5.66 19 6.5V7H21V6.5C21 4.56 19.5 3 17.61 3M8.86 3.09C7.04 3.16 5.23 3.76 3.68 4.9L8.44 9.66L12.32 5.1C12.59 4.78 12.91 4.38 13.3 4C12.14 3.45 10.9 3.15 9.65 3.09C9.39 3.08 9.12 3.08 8.86 3.09Z\";\r\nexport var mdiBabyBuggyOff = \"M17 20C17 21.11 16.11 22 15 22S13 21.11 13 20 13.9 18 15 18 17 18.9 17 20M5 18C3.9 18 3 18.9 3 20S3.9 22 5 22 7 21.11 7 20 6.11 18 5 18M22.11 21.46L2.39 1.73L1.11 3L9.28 11.17L5.71 15.35C5.16 16 5.62 17 6.47 17H14C14.32 17 14.62 16.92 14.89 16.78L20.84 22.73L22.11 21.46M16 12.8V6.38C16.58 5.7 16.93 5 17.61 5C18.38 5 19 5.66 19 6.5V7H21V6.5C21 4.56 19.5 3 17.61 3C16.95 3 16.44 3.2 16 3.5C15.32 3.91 14.88 4.59 14.47 5.07L11.62 8.42L16 12.8M12.32 5.1C12.59 4.78 12.91 4.38 13.3 4C12.14 3.45 10.9 3.15 9.65 3.09C9.39 3.08 9.12 3.08 8.86 3.09C8.12 3.12 7.38 3.26 6.66 3.46L10.47 7.27L12.32 5.1Z\";\r\nexport var mdiBabyCarriage = \"M13,2V10H21A8,8 0 0,0 13,2M19.32,15.89C20.37,14.54 21,12.84 21,11H6.44L5.5,9H2V11H4.22C4.22,11 6.11,15.07 6.34,15.42C5.24,16 4.5,17.17 4.5,18.5A3.5,3.5 0 0,0 8,22C9.76,22 11.22,20.7 11.46,19H13.54C13.78,20.7 15.24,22 17,22A3.5,3.5 0 0,0 20.5,18.5C20.5,17.46 20.04,16.53 19.32,15.89M8,20A1.5,1.5 0 0,1 6.5,18.5A1.5,1.5 0 0,1 8,17A1.5,1.5 0 0,1 9.5,18.5A1.5,1.5 0 0,1 8,20M17,20A1.5,1.5 0 0,1 15.5,18.5A1.5,1.5 0 0,1 17,17A1.5,1.5 0 0,1 18.5,18.5A1.5,1.5 0 0,1 17,20Z\";\r\nexport var mdiBabyCarriageOff = \"M22 10C22 5.6 18.4 2 14 2V10H22M14.2 11H22C22 12.8 21.4 14.5 20.3 15.9C21 16.5 21.4 17.4 21.5 18.3L14.2 11M20.8 22.7L22.1 21.4L2.4 1.7L1.1 3L9.1 11H7.4L6.5 9H3V11H5.2C5.2 11 7.1 15.1 7.3 15.4C6.3 15.9 5.6 16.9 5.5 18C5.2 19.9 6.6 21.7 8.5 22C10.4 22.3 12.2 20.9 12.5 19H14.6C14.7 19.4 14.8 19.8 15 20.2C15.9 21.9 18.1 22.5 19.7 21.6L20.8 22.7M10.5 18.5C10.5 19.3 9.8 20 9 20S7.5 19.3 7.5 18.5 8.2 17 9 17 10.5 17.7 10.5 18.5M18.1 20C17.2 20 16.5 19.3 16.5 18.5V18.4L18.1 20Z\";\r\nexport var mdiBabyFace = \"M1,12C1,10.19 2.2,8.66 3.86,8.17C5.29,5.11 8.4,3 12,3C15.6,3 18.71,5.11 20.15,8.17C21.8,8.66 23,10.19 23,12C23,13.81 21.8,15.34 20.15,15.83C18.71,18.89 15.6,21 12,21C8.4,21 5.29,18.89 3.86,15.83C2.2,15.34 1,13.81 1,12M14.5,9.25A1.25,1.25 0 0,0 13.25,10.5A1.25,1.25 0 0,0 14.5,11.75A1.25,1.25 0 0,0 15.75,10.5A1.25,1.25 0 0,0 14.5,9.25M9.5,9.25A1.25,1.25 0 0,0 8.25,10.5A1.25,1.25 0 0,0 9.5,11.75A1.25,1.25 0 0,0 10.75,10.5A1.25,1.25 0 0,0 9.5,9.25M7.5,14C8.26,15.77 10,17 12,17C14,17 15.74,15.77 16.5,14H7.5M3,12C3,12.82 3.5,13.53 4.21,13.84C4.07,13.25 4,12.63 4,12C4,11.37 4.07,10.75 4.21,10.16C3.5,10.47 3,11.18 3,12M21,12C21,11.18 20.5,10.47 19.79,10.16C19.93,10.75 20,11.37 20,12C20,12.63 19.93,13.25 19.79,13.84C20.5,13.53 21,12.82 21,12Z\";\r\nexport var mdiBabyFaceOutline = \"M14.5,9.25A1.25,1.25 0 0,1 15.75,10.5A1.25,1.25 0 0,1 14.5,11.75A1.25,1.25 0 0,1 13.25,10.5A1.25,1.25 0 0,1 14.5,9.25M9.5,9.25A1.25,1.25 0 0,1 10.75,10.5A1.25,1.25 0 0,1 9.5,11.75A1.25,1.25 0 0,1 8.25,10.5A1.25,1.25 0 0,1 9.5,9.25M7.5,14H16.5C15.74,15.77 14,17 12,17C10,17 8.26,15.77 7.5,14M1,12C1,10.19 2.2,8.66 3.86,8.17C5.29,5.11 8.4,3 12,3C15.6,3 18.71,5.11 20.15,8.17C21.8,8.66 23,10.19 23,12C23,13.81 21.8,15.34 20.15,15.83C18.71,18.89 15.6,21 12,21C8.4,21 5.29,18.89 3.86,15.83C2.2,15.34 1,13.81 1,12M12,5C8.82,5 6.14,7.12 5.28,10H5A2,2 0 0,0 3,12A2,2 0 0,0 5,14H5.28C6.14,16.88 8.82,19 12,19C15.18,19 17.86,16.88 18.72,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H18.72C17.86,7.12 15.18,5 12,5Z\";\r\nexport var mdiBackburger = \"M5,13L9,17L7.6,18.42L1.18,12L7.6,5.58L9,7L5,11H21V13H5M21,6V8H11V6H21M21,16V18H11V16H21Z\";\r\nexport var mdiBackspace = \"M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.31,21 7,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12\";\r\nexport var mdiBackspaceOutline = \"M19,15.59L17.59,17L14,13.41L10.41,17L9,15.59L12.59,12L9,8.41L10.41,7L14,10.59L17.59,7L19,8.41L15.41,12L19,15.59M22,3A2,2 0 0,1 24,5V19A2,2 0 0,1 22,21H7C6.31,21 5.77,20.64 5.41,20.11L0,12L5.41,3.88C5.77,3.35 6.31,3 7,3H22M22,5H7L2.28,12L7,19H22V5Z\";\r\nexport var mdiBackspaceReverse = \"M2,21H17C17.7,21 18.2,20.6 18.6,20.1L24,12L18.6,3.9C18.2,3.4 17.7,3 17,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21M5,8.4L6.4,7L10,10.6L13.6,7L15,8.4L11.4,12L15,15.6L13.6,17L10,13.4L6.4,17L5,15.6L8.6,12\";\r\nexport var mdiBackspaceReverseOutline = \"M5,15.59L6.41,17L10,13.41L13.59,17L15,15.59L11.41,12L15,8.41L13.59,7L10,10.59L6.41,7L5,8.41L8.59,12L5,15.59M2,3A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H17C17.69,21 18.23,20.64 18.59,20.11L24,12L18.59,3.88C18.23,3.35 17.69,3 17,3H2M2,5H17L21.72,12L17,19H2V5Z\";\r\nexport var mdiBackupRestore = \"M12,3A9,9 0 0,0 3,12H0L4,16L8,12H5A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19C10.5,19 9.09,18.5 7.94,17.7L6.5,19.14C8.04,20.3 9.94,21 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z\";\r\nexport var mdiBacteria = \"M21,16C21,15.5 20.95,15.08 20.88,14.68L22.45,13.9L21.55,12.1L20.18,12.79C19.63,11.96 18.91,11.5 18.29,11.28L18.95,9.32L17.05,8.68L16.29,10.96C14.96,10.83 14.17,10.32 13.7,9.77L15.45,8.9L14.55,7.1L13,7.89C12.97,7.59 12.86,6.72 12.28,5.87L13.83,3.55L12.17,2.44L10.76,4.56C10.28,4.33 9.7,4.15 9,4.06V2H7V4.1C6.29,4.25 5.73,4.54 5.32,4.91L2.7,2.29L1.29,3.71L4.24,6.65C4,7.39 4,8 4,8H2V10H4.04C4.1,10.63 4.21,11.36 4.4,12.15L1.68,13.05L2.31,14.95L5,14.05C5.24,14.56 5.5,15.08 5.82,15.58L3.44,17.17L4.55,18.83L7.07,17.15C7.63,17.71 8.29,18.21 9.06,18.64L8.1,20.55L9.89,21.45L10.89,19.45L10.73,19.36C11.68,19.68 12.76,19.9 14,19.97V22H16V19.93C16.76,19.84 17.81,19.64 18.77,19.19L20.29,20.71L21.7,19.29L20.37,17.95C20.75,17.44 21,16.8 21,16M8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11M11,14A1,1 0 0,1 10,13A1,1 0 0,1 11,12A1,1 0 0,1 12,13A1,1 0 0,1 11,14M15.5,17A1.5,1.5 0 0,1 14,15.5A1.5,1.5 0 0,1 15.5,14A1.5,1.5 0 0,1 17,15.5A1.5,1.5 0 0,1 15.5,17Z\";\r\nexport var mdiBacteriaOutline = \"M9,2H7V4.1C6.29,4.25 5.73,4.54 5.32,4.91L2.7,2.29L1.29,3.71L4.24,6.65C4,7.39 4,8 4,8H2V10H4.04C4.1,10.63 4.21,11.36 4.4,12.15L1.68,13.05L2.31,14.95L5,14.05C5.24,14.56 5.5,15.08 5.82,15.58L3.44,17.17L4.55,18.83L7.07,17.15C7.63,17.71 8.29,18.21 9.06,18.64L8.1,20.55L9.89,21.45L10.89,19.45L10.73,19.36C11.68,19.68 12.76,19.9 14,19.97V22H16V19.93C16.76,19.84 17.81,19.64 18.77,19.19L20.29,20.71L21.7,19.29L20.37,17.95C20.75,17.44 21,16.8 21,16C21,15.5 20.95,15.08 20.88,14.68L22.45,13.9L21.55,12.1L20.18,12.79C19.63,11.96 18.91,11.5 18.29,11.28L18.95,9.32L17.05,8.68L16.29,10.96C14.96,10.83 14.17,10.32 13.7,9.77L15.45,8.9L14.55,7.1L13,7.89C12.97,7.59 12.86,6.72 12.28,5.87L13.83,3.55L12.17,2.44L10.76,4.56C10.28,4.33 9.7,4.15 9,4.06M15,18C12.06,18 9.81,17.18 8.31,15.56C5.68,12.72 6,8.2 6,8.17V8.11L6,8.03C6,7.1 6.39,6 8,6C10.63,6 10.97,7.43 11,8C11,10 12.6,13 17,13C17.33,13 19,13.15 19,16C19,17.89 15.03,18 15,18M8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8M11,12A1,1 0 0,0 10,13A1,1 0 0,0 11,14A1,1 0 0,0 12,13A1,1 0 0,0 11,12M15.5,14A1.5,1.5 0 0,0 14,15.5A1.5,1.5 0 0,0 15.5,17A1.5,1.5 0 0,0 17,15.5A1.5,1.5 0 0,0 15.5,14Z\";\r\nexport var mdiBadgeAccount = \"M17,3H14V6H10V3H7A2,2 0 0,0 5,5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V5A2,2 0 0,0 17,3M12,8A2,2 0 0,1 14,10A2,2 0 0,1 12,12A2,2 0 0,1 10,10A2,2 0 0,1 12,8M16,16H8V15C8,13.67 10.67,13 12,13C13.33,13 16,13.67 16,15V16M13,5H11V1H13V5M16,19H8V18H16V19M12,21H8V20H12V21Z\";\r\nexport var mdiBadgeAccountAlert = \"M15,3H12V6H8V3H5A2,2 0 0,0 3,5V21A2,2 0 0,0 5,23H15A2,2 0 0,0 17,21V5A2,2 0 0,0 15,3M10,8A2,2 0 0,1 12,10A2,2 0 0,1 10,12A2,2 0 0,1 8,10A2,2 0 0,1 10,8M14,16H6V15C6,13.67 8.67,13 10,13C11.33,13 14,13.67 14,15V16M11,5H9V1H11V5M14,19H6V18H14V19M10,21H6V20H10V21M19,13V7H21V13H19M19,17V15H21V17H19Z\";\r\nexport var mdiBadgeAccountAlertOutline = \"M15,3H12V5H15V21H5V5H8V3H5A2,2 0 0,0 3,5V21A2,2 0 0,0 5,23H15A2,2 0 0,0 17,21V5A2,2 0 0,0 15,3M10,7A2,2 0 0,1 12,9A2,2 0 0,1 10,11A2,2 0 0,1 8,9A2,2 0 0,1 10,7M14,15H6V14C6,12.67 8.67,12 10,12C11.33,12 14,12.67 14,14V15M14,18H6V17H14V18M10,20H6V19H10V20M11,5H9V1H11V5M19,13V7H21V13H19M19,17V15H21V17H19Z\";\r\nexport var mdiBadgeAccountHorizontal = \"M22,4H14V7H10V4H2A2,2 0 0,0 0,6V20A2,2 0 0,0 2,22H22A2,2 0 0,0 24,20V6A2,2 0 0,0 22,4M8,9A2,2 0 0,1 10,11A2,2 0 0,1 8,13A2,2 0 0,1 6,11A2,2 0 0,1 8,9M12,17H4V16C4,14.67 6.67,14 8,14C9.33,14 12,14.67 12,16V17M20,18H14V16H20V18M20,14H14V12H20V14M20,10H14V8H20V10M13,6H11V2H13V6Z\";\r\nexport var mdiBadgeAccountHorizontalOutline = \"M8,9A2,2 0 0,1 10,11A2,2 0 0,1 8,13A2,2 0 0,1 6,11A2,2 0 0,1 8,9M12,17H4V16C4,14.67 6.67,14 8,14C9.33,14 12,14.67 12,16V17M20,8H14V10H20V8M20,12H14V14H20V12M20,16H14V18H20V16M22,4H14V6H22V20H2V6H10V4H2A2,2 0 0,0 0,6V20A2,2 0 0,0 2,22H22A2,2 0 0,0 24,20V6A2,2 0 0,0 22,4M13,6H11V2H13V6Z\";\r\nexport var mdiBadgeAccountOutline = \"M17,3H14V5H17V21H7V5H10V3H7A2,2 0 0,0 5,5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V5A2,2 0 0,0 17,3M12,7A2,2 0 0,1 14,9A2,2 0 0,1 12,11A2,2 0 0,1 10,9A2,2 0 0,1 12,7M16,15H8V14C8,12.67 10.67,12 12,12C13.33,12 16,12.67 16,14V15M16,18H8V17H16V18M12,20H8V19H12V20M13,5H11V1H13V5Z\";\r\nexport var mdiBadminton = \"M12.3,2C11.33,2.03 10.58,2.84 10.61,3.8C10.62,4.04 10.67,4.27 10.77,4.5L11.06,5.14V5.14C11.1,5.27 11.03,5.41 10.89,5.45C10.8,5.5 10.7,5.45 10.63,5.37L10.21,4.82C9.88,4.4 9.38,4.14 8.85,4.13C7.88,4.11 7.08,4.88 7.06,5.84C7.05,6.26 7.19,6.66 7.45,7L7.87,7.5H7.88C7.96,7.63 7.93,7.79 7.82,7.87C7.73,7.94 7.61,7.94 7.53,7.87L7,7.45C6.66,7.19 6.25,7.05 5.84,7.06C4.88,7.08 4.11,7.88 4.13,8.85C4.14,9.38 4.4,9.88 4.82,10.21L5.39,10.65C5.5,10.75 5.5,10.91 5.38,11C5.31,11.07 5.21,11.09 5.12,11.05H5.11L4.5,10.77C4.27,10.68 4.04,10.62 3.8,10.61C2.84,10.58 2.03,11.34 2,12.31C2,13.03 2.4,13.69 3.06,13.97L14.45,19.04L19.04,14.45L13.97,3.06C13.69,2.39 13,1.97 12.3,2M13.13,6.1C13.55,6.09 13.93,6.33 14.09,6.71L17.14,13.55L13.19,9.61L12.26,7.5C11.96,6.87 12.42,6.12 13.13,6.1M9.85,8.85C10.12,8.85 10.37,8.95 10.56,9.15L15.37,13.96C15.77,14.34 15.78,14.97 15.4,15.37C15,15.77 14.38,15.78 13.96,15.37L9.15,10.56C8.75,10.18 8.74,9.54 9.13,9.15C9.32,8.95 9.58,8.85 9.85,8.85M7.13,12.17C7.26,12.17 7.4,12.21 7.5,12.26L9.63,13.2L13.57,17.14L6.71,14.09C5.69,13.65 6.03,12.14 7.13,12.17M20.28,16.04L16.04,20.28L16.89,21.13C17.65,21.88 18.75,22.17 19.78,21.9C20.81,21.62 21.62,20.81 21.9,19.78C22.17,18.75 21.88,17.65 21.13,16.89L20.28,16.04Z\";\r\nexport var mdiBagCarryOn = \"M14.6 21.4C15 21.8 15.4 22 16 22S17 21.8 17.4 21.4 18 20.6 18 20 17.8 19 17.4 18.6 16.5 18 16 18 15 18.2 14.6 18.6 14 19.4 14 20 14.2 21 14.6 21.4M6 19C6 19.5 6.2 20 6.6 20.4C7 20.8 7.5 21 8 21V7C7.5 7 7 7.2 6.6 7.6C6.2 8 6 8.5 6 9V19M16 2H12C12 2.5 12.2 3 12.6 3.4C13 3.8 13.5 4 14 4V7H9V21H13.2C13 20.5 13 20.2 13 20C13 19.2 13.3 18.5 13.9 17.9C14.5 17.3 15.2 17 16 17V2Z\";\r\nexport var mdiBagCarryOnCheck = \"M15.28,16.69L18.14,13.88L18.84,14.58L15.28,18.14L13.17,16L13.88,15.28L15.28,16.69M8,21A2,2 0 0,1 6,19V9A2,2 0 0,1 8,7V21M9,7H14V4A2,2 0 0,1 12,2H16V10A6,6 0 0,1 22,16A6,6 0 0,1 16,22C14.77,22 13.63,21.63 12.68,21H9V7M16,12A4,4 0 0,0 12,16A4,4 0 0,0 16,20A4,4 0 0,0 20,16A4,4 0 0,0 16,12Z\";\r\nexport var mdiBagCarryOnOff = \"M2.1 4.9L6 8.9V19C6 19.5 6.2 20 6.6 20.4C7 20.8 7.5 21 8 21V10.8L9 11.8V21H13.2C13.1 20.6 13 20.2 13 20C13 18.8 13.5 18 14.6 17.4L15.4 18.2C14.5 18.5 14.1 19.2 14.1 20.1C14.1 20.6 14.3 21.1 14.7 21.5C15 21.8 15.5 22 16 22C16.9 22 17.6 21.6 17.9 20.7L19.1 21.9L20.5 20.5L3.5 3.5L2.1 4.9M12 2C12 2.5 12.2 3 12.6 3.4S13.5 4 14 4V7H9.8L16 13.2V2H12Z\";\r\nexport var mdiBagChecked = \"M22 19H2V21H22V19M4 15C4 15.5 4.2 16 4.6 16.4C5 16.8 5.5 17 6 17V6C5.5 6 5 6.2 4.6 6.6C4.2 7 4 7.5 4 8V15M13.5 6H10.5C10.5 5.6 10.6 5.2 10.9 4.9C11.2 4.6 11.5 4.5 12 4.5C12.4 4.5 12.8 4.6 13.1 4.9C13.3 5.2 13.5 5.6 13.5 6M7 6V17H17V6H15C15 5.2 14.7 4.5 14.1 3.9S12.8 3 12 3C11.2 3 10.5 3.3 9.9 3.9C9.3 4.5 9 5.2 9 6H7M18 17C18.5 17 19 16.8 19.4 16.4C19.8 16 20 15.5 20 15V8C20 7.5 19.8 7 19.4 6.6C19 6.2 18.5 6 18 6V17Z\";\r\nexport var mdiBagPersonal = \"M16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V5A4,4 0 0,0 4,9V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V9A4,4 0 0,0 16,5M10,4H14V5H10V4M12,9L14,11L12,13L10,11L12,9M18,16H9V18H8V16H6V15H18V16Z\";\r\nexport var mdiBagPersonalOff = \"M20,19.35L2.38,1.73L1.11,3L4.77,6.66C4.27,7.34 4,8.16 4,9V20A2,2 0 0,0 6,22H18C18.56,22 19.08,21.76 19.46,21.35L20.84,22.73L22.11,21.46L20,19.35M9,16V18H8V16H6V15H13.11L14.11,16H9M20,9A4,4 0 0,0 16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V4.8L20,16.8V9M14,5H10V4H14V5Z\";\r\nexport var mdiBagPersonalOffOutline = \"M20,19.35L2.38,1.73L1.11,3L4.77,6.66C4.27,7.34 4,8.16 4,9V20A2,2 0 0,0 6,22H18C18.56,22 19.08,21.76 19.46,21.35L20.84,22.73L22.11,21.46L20,19.35M6,9C6,8.69 6.08,8.38 6.22,8.11L13.11,15H6V9M18,20H6V16H8V18H9V16H14.11L18,19.89V20M16,7A2,2 0 0,1 18,9V14.8L20,16.8V9A4,4 0 0,0 16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V4.8L10.2,7H16M10,4H14V5H10V4Z\";\r\nexport var mdiBagPersonalOutline = \"M16,5V4A2,2 0 0,0 14,2H10A2,2 0 0,0 8,4V5A4,4 0 0,0 4,9V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V9A4,4 0 0,0 16,5M10,4H14V5H10V4M12,9L14,11L12,13L10,11L12,9M18,20H6V16H8V18H9V16H18V20M18,15H6V9A2,2 0 0,1 8,7H16A2,2 0 0,1 18,9V15Z\";\r\nexport var mdiBagPersonalPlus = \"M22 19H19V22H17V19H14V17H17V14H19V17H22V19M8 2C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H13.5C12.5 20.9 12 19.5 12 18C12 17.3 12.1 16.6 12.3 16H7V18H6V16H4V15H12.8C13.8 13.2 15.8 12 18 12V9C18 6.8 16.2 5 14 5V4C14 2.9 13.1 2 12 2H8M8 4H12V5H8V4M10 9L12 11L10 13L8 11L10 9Z\";\r\nexport var mdiBagPersonalPlusOutline = \"M22 19H19V22H17V19H14V17H17V14H19V17H22V19M8 2C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H13.5C13 21.4 12.6 20.7 12.3 20H4V16H6V18H7V16H12.3C12.4 15.7 12.6 15.3 12.8 15H4V9C4 7.9 4.9 7 6 7H14C15.1 7 16 7.9 16 9V12.3C16.6 12.1 17.3 12 18 12V9C18 6.8 16.2 5 14 5V4C14 2.9 13.1 2 12 2H8M8 4H12V5H8V4M10 9L8 11L10 13L12 11L10 9Z\";\r\nexport var mdiBagPersonalTag = \"M14 5V4C14 2.9 13.1 2 12 2H8C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H15.2L12.8 19.6C12.2 19.1 11.9 18.3 11.9 17.6V16H7V18H6V16H4V15H12V14.8C12 13.3 13.2 12 14.8 12H18V9C18 6.8 16.2 5 14 5M10 13L8 11L10 9L12 11L10 13M12 5H8V4H12V5M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22C18.6 22 18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16Z\";\r\nexport var mdiBagPersonalTagOutline = \"M14 5V4C14 2.9 13.1 2 12 2H8C6.9 2 6 2.9 6 4V5C3.8 5 2 6.8 2 9V20C2 21.1 2.9 22 4 22H15.2L13.2 20H4V16H6V18H7V16H12V15H4V9C4 7.9 4.9 7 6 7H14C15.1 7 16 7.9 16 9V12H18V9C18 6.8 16.2 5 14 5M12 5H8V4H12V5M10 9L8 11L10 13L12 11L10 9M21.8 17.8L18.2 14.2C18 14.1 17.8 14 17.6 14H14.8C14.4 14 14 14.4 14 14.8V17.6C14 17.8 14.1 18 14.2 18.2L17.8 21.8C17.9 21.9 18.1 22 18.4 22C18.6 22 18.8 21.9 19 21.8L21.8 19C21.9 18.9 22 18.7 22 18.4C22 18.2 21.9 18 21.8 17.8M15.4 16C15.1 16 14.8 15.7 14.8 15.4C14.8 15.1 15.1 14.8 15.4 14.8C15.7 14.8 16 15.1 16 15.4C16 15.7 15.7 16 15.4 16Z\";\r\nexport var mdiBagSuitcase = \"M17.03 6C18.11 6 19 6.88 19 8V19C19 20.13 18.11 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V8C5 6.88 5.89 6 6.97 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M13.5 6V3.5H10.5V6H13.5M8 9V18H9.5V9H8M14.5 9V18H16V9H14.5M11.25 9V18H12.75V9H11.25Z\";\r\nexport var mdiBagSuitcaseOff = \"M2 4.77L3.28 3.5L21 21.22L19.73 22.5L18 20.76C17.71 20.93 17.38 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V7.77L2 4.77M17.03 6C18.11 6 19 6.88 19 8V16.68L16 13.68V9H14.5V12.18L12.75 10.43V9H11.32L8.31 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M8 18H9.5V12.27L8 10.77V18M11.25 18H12.75V15.5L11.25 14V18M14.5 18H15.23L14.5 17.27V18M13.5 6V3.5H10.5V6H13.5Z\";\r\nexport var mdiBagSuitcaseOffOutline = \"M2 4.77L3.28 3.5L21 21.22L19.73 22.5L18 20.76C17.71 20.93 17.38 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19L5 7.78L2 4.77M9.5 18H8V10.78L6.97 9.74V19H16.23L15.25 18H14.5V17.26L12.75 15.5V18H11.25V14L9.5 12.28V18M12.75 9V10.43L11.32 9H12.75M14.5 9H16V13.67L14.5 12.17V9M17.03 6C18.11 6 19 6.88 19 8V16.68L17.03 14.7V8H10.33L8.31 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6H17.03M10.5 3.5V6H13.5V3.5H10.5Z\";\r\nexport var mdiBagSuitcaseOutline = \"M9.5 18V9H8V18M12.75 18V9H11.25V18M16 18V9H14.5V18M17.03 6C18.11 6 19 6.88 19 8V19C19 20.13 18.11 21 17.03 21C17.03 21.58 16.56 22 16 22C15.5 22 15 21.58 15 21H9C9 21.58 8.5 22 8 22C7.44 22 6.97 21.58 6.97 21C5.89 21 5 20.13 5 19V8C5 6.88 5.89 6 6.97 6H9V3C9 2.42 9.46 2 10 2H14C14.54 2 15 2.42 15 3V6M10.5 3.5V6H13.5V3.5M17.03 19V8H6.97V19\";\r\nexport var mdiBaguette = \"M5 22C3.68 22 3.15 19.64 3.04 18.7A5.56 5.56 0 0 1 3.36 16A2.5 2.5 0 0 1 5.23 14.38C6.4 14.18 7.23 14.88 8.29 15.12A1.21 1.21 0 0 0 9.85 13.75C9.41 12.03 6.28 12 5 12C5 10.14 7.04 9.9 8.5 10.04A10.8 10.8 0 0 1 11.04 10.6C11.54 10.77 12.12 11.2 12.67 11.16C13.5 11.09 13.67 10.23 13.31 9.6C12.44 8.12 9.97 8 8.5 8C8.5 6 10.23 5.62 11.89 5.92A11.58 11.58 0 0 1 14.38 6.71C14.89 6.93 15.5 7.35 16.06 7.16C17.5 6.72 16 5.18 15.36 4.81A6.6 6.6 0 0 0 13.94 4.23C13.4 4.07 12.74 4.13 13.23 3.5A5.13 5.13 0 0 1 15.96 2.26C17.85 1.82 20.46 1.74 20.92 4.12A5.3 5.3 0 0 1 20.07 7.7A38.96 38.96 0 0 1 13.22 16.33A36.6 36.6 0 0 1 8.62 20.32C7.62 21.04 6.3 22 5 22Z\";\r\nexport var mdiBalcony = \"M10 10V12H8V10H10M16 12V10H14V12H16M21 14V22H3V14H4V10C4 5.58 7.58 2 12 2S20 5.58 20 10V14H21M7 16H5V20H7V16M11 16H9V20H11V16M11 4.08C8.16 4.56 6 7.03 6 10V14H11V4.08M13 14H18V10C18 7.03 15.84 4.56 13 4.08V14M15 16H13V20H15V16M19 16H17V20H19V16Z\";\r\nexport var mdiBalloon = \"M13.16,12.74L14,14H12.5C12.35,16.71 12,19.41 11.5,22.08L10.5,21.92C11,19.3 11.34,16.66 11.5,14H10L10.84,12.74C8.64,11.79 7,8.36 7,6A5,5 0 0,1 12,1A5,5 0 0,1 17,6C17,8.36 15.36,11.79 13.16,12.74Z\";\r\nexport var mdiBallot = \"M13,9.5H18V7.5H13V9.5M13,16.5H18V14.5H13V16.5M19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21M6,11H11V6H6V11M7,7H10V10H7V7M6,18H11V13H6V18M7,14H10V17H7V14Z\";\r\nexport var mdiBallotOutline = \"M13,7.5H18V9.5H13V7.5M13,14.5H18V16.5H13V14.5M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M19,19V5H5V19H19M11,6V11H6V6H11M10,10V7H7V10H10M11,13V18H6V13H11M10,17V14H7V17H10Z\";\r\nexport var mdiBallotRecount = \"M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23M10,17H7V14H10V17M10,7V10H7V7H10M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V11.17C20.5,11.06 20,11 19.5,11A6.5,6.5 0 0,0 13,17.5C13,18.79 13.38,20 14,21H5M13,9.5H18V7.5H13V9.5M11,13H6V18H11V13M11,6H6V11H11V6Z\";\r\nexport var mdiBallotRecountOutline = \"M6,18V13H11V18H6M7,14V17H10V14H7M13,7.5H18V9.5H13V7.5M5,21A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V11.17C20.5,11.06 20,11 19.5,11H19V5H5V19H13.17C13.34,19.72 13.63,20.39 14,21H5M11,6V11H6V6H11M10,10V7H7V10H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23Z\";\r\nexport var mdiBandage = \"M17.73,12L21.71,8.04C22.1,7.65 22.1,7 21.71,6.63L17.37,2.29C17,1.9 16.35,1.9 15.96,2.29L12,6.27L8,2.29C7.8,2.1 7.55,2 7.29,2C7.04,2 6.78,2.1 6.59,2.29L2.25,6.63C1.86,7 1.86,7.65 2.25,8.04L6.23,12L2.25,16C1.86,16.39 1.86,17 2.25,17.41L6.59,21.75C7,22.14 7.61,22.14 8,21.75L12,17.77L15.96,21.75C16.16,21.95 16.41,22.04 16.67,22.04C16.93,22.04 17.18,21.94 17.38,21.75L21.72,17.41C22.11,17 22.11,16.39 21.72,16L17.73,12M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7.29,10.96L3.66,7.34L7.29,3.71L10.91,7.33L7.29,10.96M10,13A1,1 0 0,1 9,12A1,1 0 0,1 10,11A1,1 0 0,1 11,12A1,1 0 0,1 10,13M12,15A1,1 0 0,1 11,14A1,1 0 0,1 12,13A1,1 0 0,1 13,14A1,1 0 0,1 12,15M14,11A1,1 0 0,1 15,12A1,1 0 0,1 14,13A1,1 0 0,1 13,12A1,1 0 0,1 14,11M16.66,20.34L13.03,16.72L16.66,13.09L20.28,16.71L16.66,20.34Z\";\r\nexport var mdiBank = \"M11.5,1L2,6V8H21V6M16,10V17H19V10M2,22H21V19H2M10,10V17H13V10M4,10V17H7V10H4Z\";\r\nexport var mdiBankCheck = \"M17.8 21.2L15 18.2L16.2 17L17.8 18.6L21.4 15L22.6 16.4L17.8 21.2M13 10H10V17H12.1C12.2 16.2 12.6 15.4 13 14.7V10M16 10V12.3C16.6 12.1 17.3 12 18 12C18.3 12 18.7 12 19 12.1V10H16M12.1 19H2V22H13.5C12.8 21.2 12.3 20.1 12.1 19M21 6L11.5 1L2 6V8H21V6M7 17V10H4V17H7Z\";\r\nexport var mdiBankCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M17 17H7V15H17V17M8 14V11H10V14H8M11 14V11H13V14H11M14 14V11H16V14H14M17 10H7V8.5L12 6L17 8.5V10Z\";\r\nexport var mdiBankCircleOutline = \"M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M17 17H7V15H17V17M8 14V11H10V14H8M11 14V11H13V14H11M14 14V11H16V14H14M17 10H7V8.5L12 6L17 8.5V10Z\";\r\nexport var mdiBankMinus = \"M14,17H22V19H14V17M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\r\nexport var mdiBankOff = \"M20.8 22.7L20.1 22H2V19H17.1L13 14.9V17H10V11.9L6.1 8H2V6L3.4 5.3L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M4 10V17H7V10H4M21 8V6L11.5 1L6.7 3.5L11.2 8H21M19 15.8V10H16V12.8L19 15.8Z\";\r\nexport var mdiBankOffOutline = \"M20.8 22.7L19.1 21H2V19H17.1L12.5 14.4V17H10.5V12.4L6.1 8H2V6L3.4 5.3L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M4.5 10V17H6.5V10H4.5M11.5 3.3L16.7 6H9.2L11.2 8H21V6L11.5 1L6.7 3.5L8.2 5L11.5 3.3M18.5 15.3V10H16.5V13.3L18.5 15.3Z\";\r\nexport var mdiBankOutline = \"M6.5,10H4.5V17H6.5V10M12.5,10H10.5V17H12.5V10M21,19H2V21H21V19M18.5,10H16.5V17H18.5V10M11.5,3.26L16.71,6H6.29L11.5,3.26M11.5,1L2,6V8H21V6L11.5,1Z\";\r\nexport var mdiBankPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\r\nexport var mdiBankRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M11.5,1L21,6V8H2V6L11.5,1M16,10H19V12.08L18,12C17.3,12 16.63,12.12 16,12.34V10M2,22V19H12.08C12.27,20.14 12.79,21.17 13.53,22H2M10,10H13V14.68C12.54,15.37 12.22,16.15 12.08,17H10V10M4,10H7V17H4V10Z\";\r\nexport var mdiBankTransfer = \"M15,14V11H18V9L22,12.5L18,16V14H15M14,7.7V9H2V7.7L8,4L14,7.7M7,10H9V15H7V10M3,10H5V15H3V10M13,10V12.5L11,14.3V10H13M9.1,16L8.5,16.5L10.2,18H2V16H9.1M17,15V18H14V20L10,16.5L14,13V15H17Z\";\r\nexport var mdiBankTransferIn = \"M2,15V12H5V10L9,13.5L5,17V15H2M22,8.7V10H10V8.7L16,5L22,8.7M10,17H22V19H10V17M15,11H17V16H15V11M11,11H13V16H11V11M19,11H21V16H19V11Z\";\r\nexport var mdiBankTransferOut = \"M15,15V12H18V10L22,13.5L18,17V15H15M14,8.7V10H2V8.7L8,5L14,8.7M2,17H14V19H2V17M7,11H9V16H7V11M3,11H5V16H3V11M11,11H13V16H11V11Z\";\r\nexport var mdiBarcode = \"M2,6H4V18H2V6M5,6H6V18H5V6M7,6H10V18H7V6M11,6H12V18H11V6M14,6H16V18H14V6M17,6H20V18H17V6M21,6H22V18H21V6Z\";\r\nexport var mdiBarcodeOff = \"M20.84 22.73L16 17.89V18H14V15.89L12 13.89V18H11V12.89L10 11.89V18H7V8.89L6 7.89V18H5V6.89L1.11 3L2.39 1.73L7 6.34L10 9.34L11 10.34L12 11.34L14 13.35V13.34L16 15.34V15.35L17 16.35V16.34L18.66 18H18.65L22.11 21.46L20.84 22.73M16 6H14V10.8L16 12.8V6M12 6H11V7.8L12 8.8V6M20 6H17V13.8L20 16.8V6M22 18V6H21V17.8L21.2 18H22M10 6H9.2L10 6.8V6M2 18H4V6H2V18Z\";\r\nexport var mdiBarcodeScan = \"M4,6H6V18H4V6M7,6H8V18H7V6M9,6H12V18H9V6M13,6H14V18H13V6M16,6H18V18H16V6M19,6H20V18H19V6M2,4V8H0V4A2,2 0 0,1 2,2H6V4H2M22,2A2,2 0 0,1 24,4V8H22V4H18V2H22M2,16V20H6V22H2A2,2 0 0,1 0,20V16H2M22,20V16H24V20A2,2 0 0,1 22,22H18V20H22Z\";\r\nexport var mdiBarley = \"M7.33,18.33C6.5,17.17 6.5,15.83 6.5,14.5C8.17,15.5 9.83,16.5 10.67,17.67L11,18.23V15.95C9.5,15.05 8.08,14.13 7.33,13.08C6.5,11.92 6.5,10.58 6.5,9.25C8.17,10.25 9.83,11.25 10.67,12.42L11,13V10.7C9.5,9.8 8.08,8.88 7.33,7.83C6.5,6.67 6.5,5.33 6.5,4C8.17,5 9.83,6 10.67,7.17C10.77,7.31 10.86,7.46 10.94,7.62C10.77,7 10.66,6.42 10.65,5.82C10.64,4.31 11.3,2.76 11.96,1.21C12.65,2.69 13.34,4.18 13.35,5.69C13.36,6.32 13.25,6.96 13.07,7.59C13.15,7.45 13.23,7.31 13.33,7.17C14.17,6 15.83,5 17.5,4C17.5,5.33 17.5,6.67 16.67,7.83C15.92,8.88 14.5,9.8 13,10.7V13L13.33,12.42C14.17,11.25 15.83,10.25 17.5,9.25C17.5,10.58 17.5,11.92 16.67,13.08C15.92,14.13 14.5,15.05 13,15.95V18.23L13.33,17.67C14.17,16.5 15.83,15.5 17.5,14.5C17.5,15.83 17.5,17.17 16.67,18.33C15.92,19.38 14.5,20.3 13,21.2V23H11V21.2C9.5,20.3 8.08,19.38 7.33,18.33Z\";\r\nexport var mdiBarleyOff = \"M11.96,1.21C11.3,2.76 10.64,4.31 10.65,5.82C10.66,6.42 10.77,7 10.94,7.62C10.86,7.46 10.77,7.31 10.67,7.17C9.83,6 8.17,5 6.5,4C6.5,4.8 6.5,5.59 6.68,6.36L13,12.68V10.7C14.5,9.8 15.92,8.88 16.67,7.83C17.5,6.67 17.5,5.33 17.5,4C15.83,5 14.17,6 13.33,7.17C13.23,7.31 13.15,7.45 13.07,7.59C13.25,6.96 13.36,6.32 13.35,5.69C13.34,4.18 12.65,2.69 11.96,1.21M3.28,5.5L2,6.77L6.64,11.41C6.75,12 6.95,12.55 7.33,13.08C8.08,14.13 9.5,15.05 11,15.95V18.23L10.67,17.67C9.83,16.5 8.17,15.5 6.5,14.5C6.5,15.83 6.5,17.17 7.33,18.33C8.08,19.38 9.5,20.3 11,21.2V23H13V21.2C13.74,20.76 14.45,20.31 15.07,19.84L18.73,23.5L20,22.22C14,16.23 9.1,11.32 3.28,5.5M17.5,9.25C15.83,10.25 14.17,11.25 13.33,12.42L13.12,12.79L15,14.66C15.67,14.16 16.27,13.64 16.67,13.08C17.5,11.92 17.5,10.58 17.5,9.25M17.5,14.5C16.93,14.84 16.38,15.18 15.85,15.53L17.29,16.97C17.5,16.17 17.5,15.33 17.5,14.5Z\";\r\nexport var mdiBarn = \"M12,3L3,8.2V21H9L11.9,18L15,21H21V8.2L12,3M7.9,20V14L10.9,17L7.9,20M8.9,13H14.9L11.9,16L8.9,13M15.9,20L12.9,17L15.9,14V20M15,11H8.8V9H15V11Z\";\r\nexport var mdiBarrel = \"M20 13C20.55 13 21 12.55 21 12S20.55 11 20 11H19V5H20C20.55 5 21 4.55 21 4S20.55 3 20 3H4C3.45 3 3 3.45 3 4S3.45 5 4 5H5V11H4C3.45 11 3 11.45 3 12S3.45 13 4 13H5V19H4C3.45 19 3 19.45 3 20S3.45 21 4 21H20C20.55 21 21 20.55 21 20S20.55 19 20 19H19V13H20M12 16C10.34 16 9 14.68 9 13.05C9 11.75 9.5 11.38 12 8.5C14.47 11.36 15 11.74 15 13.05C15 14.68 13.66 16 12 16Z\";\r\nexport var mdiBarrelOutline = \"M9 13.05C9 14.68 10.34 16 12 16S15 14.68 15 13.05C15 11.74 14.47 11.36 12 8.5C9.5 11.38 9 11.75 9 13.05M20 13C20.55 13 21 12.55 21 12S20.55 11 20 11H19V5H20C20.55 5 21 4.55 21 4S20.55 3 20 3H4C3.45 3 3 3.45 3 4S3.45 5 4 5H5V11H4C3.45 11 3 11.45 3 12S3.45 13 4 13H5V19H4C3.45 19 3 19.45 3 20S3.45 21 4 21H20C20.55 21 21 20.55 21 20S20.55 19 20 19H19V13H20M17 19H7V13C7.55 13 8 12.55 8 12S7.55 11 7 11V5H17V11C16.45 11 16 11.45 16 12S16.45 13 17 13V19Z\";\r\nexport var mdiBaseball = \"M12,2C9.5,2 7.25,2.9 5.5,4.4C6,4.81 6.41,5.27 6.8,5.76L7.89,5.13L8.89,6.87L7.89,7.44C8.45,8.53 8.82,9.73 8.95,11H10V12L10,13H8.95C8.82,14.27 8.45,15.47 7.89,16.56L8.89,17.13L7.89,18.87L6.8,18.24C6.41,18.73 6,19.19 5.5,19.6C7.25,21.1 9.5,22 12,22C14.5,22 16.75,21.1 18.5,19.6C18,19.19 17.59,18.73 17.19,18.24L16.11,18.87L15.11,17.13L16.11,16.55C15.55,15.47 15.18,14.27 15.05,13H14V11H15.05C15.18,9.73 15.55,8.53 16.11,7.45L15.11,6.87L16.11,5.13L17.19,5.76C17.59,5.27 18,4.81 18.5,4.4C16.75,2.9 14.5,2 12,2M4.12,5.85C2.79,7.55 2,9.68 2,12C2,14.32 2.79,16.45 4.12,18.15C4.46,17.87 4.76,17.55 5.05,17.22L4.43,16.87L5.43,15.13L6.16,15.56C6.55,14.77 6.82,13.91 6.93,13H6V12L6,11H6.93C6.82,10.09 6.55,9.23 6.16,8.44L5.43,8.87L4.43,7.13L5.05,6.78C4.76,6.45 4.46,6.13 4.12,5.85M19.88,5.85C19.54,6.13 19.24,6.45 18.95,6.78L19.57,7.13L18.57,8.87L17.84,8.44C17.45,9.23 17.18,10.09 17.07,11H18V13H17.07C17.18,13.91 17.45,14.77 17.84,15.56L18.57,15.13L19.57,16.87L18.95,17.22C19.24,17.55 19.54,17.87 19.88,18.15C21.21,16.45 22,14.32 22,12C22,9.68 21.21,7.55 19.88,5.85Z\";\r\nexport var mdiBaseballBat = \"M20,2C19.72,2 19.5,2.11 19.29,2.29L9.79,11.79C9.75,11.83 9.72,11.87 7.23,15.35L4,18.59L3.71,18.29C3.5,18.1 3.26,18 3,18C2.44,18 2,18.44 2,19C2,19.26 2.1,19.5 2.29,19.71L4.29,21.71C4.68,22.11 5.31,22.12 5.71,21.74C6.11,21.35 6.12,20.72 5.71,20.29L5.41,20L8.64,16.77L12.21,14.21L21.71,4.71C22.1,4.32 22.1,3.68 21.71,3.29L20.71,2.29C20.5,2.1 20.26,2 20,2M18.5,13A2.5,2.5 0 0,0 16,15.5A2.5,2.5 0 0,0 18.5,18A2.5,2.5 0 0,0 21,15.5A2.5,2.5 0 0,0 18.5,13Z\";\r\nexport var mdiBaseballDiamond = \"M5.79 12.79L2 9C2 9 6 3 12 3S22 9 22 9L18.21 12.79L12 6.59L5.79 12.79M13.5 18H10.5V20L12 21L13.5 20V18M16.79 14.21L14.2 16.8C13.6 16.31 12.84 16 12 16S10.4 16.31 9.8 16.8L7.21 14.21L12 9.41L16.79 14.21M13 14C13 13.45 12.55 13 12 13S11 13.45 11 14 11.45 15 12 15 13 14.55 13 14Z\";\r\nexport var mdiBaseballDiamondOutline = \"M12 2C5 2 1 9 1 9L9.3 17.3C9.74 16.77 10.32 16.37 11 16.17L7.83 13L12 8.83L16.17 13L13 16.17C13.68 16.37 14.27 16.77 14.7 17.3L23 9C23 9 19 2 12 2M17.59 11.59L12 6L6.41 11.59L3.59 8.76C4.95 7 7.89 4 12 4C16.08 4 19.03 7 20.4 8.77L17.59 11.59M13 13C13 13.55 12.55 14 12 14S11 13.55 11 13 11.45 12 12 12 13 12.45 13 13M13.5 20L12 21L10.5 20V18H13.5V20Z\";\r\nexport var mdiBaseballOutline = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M7.89 18.86C9.12 19.6 10.54 20 12 20C13.46 20 14.88 19.6 16.11 18.86L15.11 17.13L16.11 16.55C15.55 15.47 15.18 14.27 15.05 13H14V11H15.05C15.18 9.73 15.55 8.53 16.11 7.45L15.11 6.87L16.11 5.14C14.88 4.4 13.46 4 12 4C10.54 4 9.12 4.4 7.89 5.14L8.89 6.87L7.89 7.44C8.45 8.53 8.82 9.73 8.95 11H10V13H8.95C8.82 14.27 8.45 15.47 7.89 16.56L8.89 17.13L7.89 18.86M5 15.88L5.43 15.13L6.16 15.56C6.55 14.77 6.82 13.91 6.93 13H6V11H6.93C6.82 10.09 6.55 9.23 6.16 8.44L5.43 8.87L5 8.12C4.35 9.3 4 10.63 4 12C4 13.37 4.35 14.7 5 15.88M19 8.13L18.57 8.87L17.84 8.44C17.45 9.23 17.18 10.09 17.07 11H18V13H17.07C17.18 13.91 17.45 14.77 17.84 15.56L18.57 15.13L19 15.88C19.65 14.7 20 13.37 20 12C20 10.63 19.65 9.3 19 8.12Z\";\r\nexport var mdiBash = \"M5 9H7.31L7.63 6H9.63L9.31 9H11.31L11.63 6H13.63L13.31 9H15V11H13.1L12.9 13H15V15H12.69L12.37 18H10.37L10.69 15H8.69L8.37 18H6.37L6.69 15H5V13H6.9L7.1 11H5V9M9.1 11L8.9 13H10.9L11.1 11M19 6H17V14H19M19 16H17V18H19Z\";\r\nexport var mdiBasket = \"M5.5,21C4.72,21 4.04,20.55 3.71,19.9V19.9L1.1,10.44L1,10A1,1 0 0,1 2,9H6.58L11.18,2.43C11.36,2.17 11.66,2 12,2C12.34,2 12.65,2.17 12.83,2.44L17.42,9H22A1,1 0 0,1 23,10L22.96,10.29L20.29,19.9C19.96,20.55 19.28,21 18.5,21H5.5M12,4.74L9,9H15L12,4.74M12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13Z\";\r\nexport var mdiBasketCheck = \"M21.63 16.27L17.76 20.17L16.41 18.8L15 20.22L17.75 23L23.03 17.68L21.63 16.27M13 20C13 16.69 15.69 14 19 14C20 14 20.92 14.24 21.74 14.67L22.96 10.29L23 10C23 9.45 22.55 9 22 9H17.42L12.83 2.44C12.65 2.17 12.34 2 12 2S11.36 2.17 11.18 2.43L6.58 9H2C1.45 9 1 9.45 1 10L1.1 10.44L3.71 19.9C4.04 20.55 4.72 21 5.5 21H13.09C13.04 20.67 13 20.34 13 20M12 4.74L15 9H9L12 4.74M10 15C10 13.9 10.9 13 12 13S14 13.9 14 15 13.11 17 12 17 10 16.11 10 15Z\";\r\nexport var mdiBasketCheckOutline = \"M21.63 16.27L17.76 20.17L16.41 18.8L15 20.22L17.75 23L23.03 17.68L21.63 16.27M14 15C14 16.1 13.1 17 12 17S10 16.1 10 15 10.9 13 12 13 14 13.9 14 15M13 20C13 19.66 13.04 19.33 13.09 19H5.5L3.31 11H20.7L19.86 14.07C20.54 14.17 21.18 14.37 21.76 14.68L22.97 10.27L23 10C23 9.45 22.55 9 22 9H17.21L12.83 2.44C12.64 2.16 12.32 2 12 2S11.36 2.16 11.17 2.45L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H13.09C13.04 20.67 13 20.34 13 20M12 4.8L14.8 9H9.2L12 4.8Z\";\r\nexport var mdiBasketFill = \"M3,2H6V5H3V2M6,7H9V10H6V7M8,2H11V5H8V2M17,11L12,6H15V2H19V6H22L17,11M7.5,22C6.72,22 6.04,21.55 5.71,20.9V20.9L3.1,13.44L3,13A1,1 0 0,1 4,12H20A1,1 0 0,1 21,13L20.96,13.29L18.29,20.9C17.96,21.55 17.28,22 16.5,22H7.5M7.61,20H16.39L18.57,14H5.42L7.61,20Z\";\r\nexport var mdiBasketMinus = \"M23 18V20H15V18H23M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\r\nexport var mdiBasketMinusOutline = \"M23 18V20H15V18H23M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\r\nexport var mdiBasketOff = \"M23 10L22.96 10.29L20.9 17.7L12.2 9H15L12 4.74L10.32 7.12L8.89 5.69L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M22.11 21.46L20.84 22.73L19.03 20.92C18.86 20.97 18.68 21 18.5 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L6.8 8.69L1.11 3L2.39 1.73L22.11 21.46M13.85 15.74L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.11 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74Z\";\r\nexport var mdiBasketOffOutline = \"M2.39 1.73L1.11 3L6.92 8.81L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H18.5C18.68 21 18.86 20.96 19.03 20.92L20.84 22.73L22.11 21.46L2.39 1.73M5.5 19L3.31 11H9.11L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.1 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74L17.11 19H5.5M23 10L22.97 10.27L20.93 17.73L19.3 16.1L20.7 11H14.2L12.2 9H14.8L12 4.8L10.4 7.2L8.96 5.76L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10Z\";\r\nexport var mdiBasketOutline = \"M22 9H17.21L12.83 2.44C12.64 2.16 12.32 2 12 2S11.36 2.16 11.17 2.45L6.79 9H2C1.45 9 1 9.45 1 10C1 10.09 1 10.18 1.04 10.27L3.58 19.54C3.81 20.38 4.58 21 5.5 21H18.5C19.42 21 20.19 20.38 20.43 19.54L22.97 10.27L23 10C23 9.45 22.55 9 22 9M12 4.8L14.8 9H9.2L12 4.8M18.5 19L5.5 19L3.31 11H20.7L18.5 19M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13Z\";\r\nexport var mdiBasketPlus = \"M20 15V18H23V20H20V23H18V20H15V18H18V15H20M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\r\nexport var mdiBasketPlusOutline = \"M20 15V18H23V20H20V23H18V20H15V18H18V15H20M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\r\nexport var mdiBasketRemove = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88M23 10L22.96 10.29L22 13.8C21.11 13.29 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.7 13.13 20.37 13.35 21H5.5C4.72 21 4.04 20.55 3.71 19.9L1.1 10.44L1 10C1 9.45 1.45 9 2 9H6.58L11.18 2.43C11.36 2.17 11.66 2 12 2S12.65 2.17 12.83 2.44L17.42 9H22C22.55 9 23 9.45 23 10M14 15C14 13.9 13.11 13 12 13S10 13.9 10 15 10.9 17 12 17 14 16.11 14 15M15 9L12 4.74L9 9H15Z\";\r\nexport var mdiBasketRemoveOutline = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88M12 13C10.9 13 10 13.9 10 15S10.9 17 12 17 14 16.1 14 15 13.1 13 12 13M13.35 21H5.5C4.58 21 3.81 20.38 3.58 19.54L1.04 10.27C1 10.18 1 10.09 1 10C1 9.45 1.45 9 2 9H6.79L11.17 2.45C11.36 2.16 11.68 2 12 2S12.64 2.16 12.83 2.44L17.21 9H22C22.55 9 23 9.45 23 10L22.97 10.27L22 13.81C21.43 13.5 20.79 13.24 20.12 13.11L20.7 11H3.31L5.5 19H13C13 19.7 13.13 20.37 13.35 21M9.2 9H14.8L12 4.8L9.2 9Z\";\r\nexport var mdiBasketUnfill = \"M3,10H6V7H3V10M5,5H8V2H5V5M8,10H11V7H8V10M17,1L12,6H15V10H19V6H22L17,1M7.5,22C6.72,22 6.04,21.55 5.71,20.9V20.9L3.1,13.44L3,13A1,1 0 0,1 4,12H20A1,1 0 0,1 21,13L20.96,13.29L18.29,20.9C17.96,21.55 17.28,22 16.5,22H7.5M7.61,20H16.39L18.57,14H5.42L7.61,20Z\";\r\nexport var mdiBasketball = \"M2.34,14.63C2.94,14.41 3.56,14.3 4.22,14.3C5.56,14.3 6.73,14.72 7.73,15.56L4.59,18.7C3.53,17.5 2.78,16.13 2.34,14.63M15.56,9.8C17.53,11.27 19.66,11.63 21.94,10.88C21.97,11.09 22,11.47 22,12C22,13.03 21.75,14.18 21.28,15.45C20.81,16.71 20.23,17.73 19.55,18.5L13.22,12.19L15.56,9.8M8.77,16.64C9.83,18.17 10.05,19.84 9.42,21.66C8,21.25 6.73,20.61 5.67,19.73L8.77,16.64M12.19,13.22L18.5,19.55C16.33,21.45 13.78,22.25 10.88,21.94C11.09,21.28 11.2,20.56 11.2,19.78C11.2,19.16 11.06,18.43 10.78,17.6C10.5,16.77 10.17,16.09 9.8,15.56L12.19,13.22M8.81,14.5C7.88,13.67 6.8,13.15 5.58,12.91C4.36,12.68 3.19,12.75 2.06,13.13C2.03,12.91 2,12.53 2,12C2,10.97 2.25,9.82 2.72,8.55C3.19,7.29 3.77,6.27 4.45,5.5L11.11,12.19L8.81,14.5M15.56,7.73C14.22,6.08 13.91,4.28 14.63,2.34C15.25,2.5 15.96,2.8 16.76,3.26C17.55,3.71 18.2,4.16 18.7,4.59L15.56,7.73M21.66,9.38C21.06,9.59 20.44,9.7 19.78,9.7C18.69,9.7 17.64,9.38 16.64,8.72L19.73,5.67C20.61,6.77 21.25,8 21.66,9.38M12.19,11.11L5.5,4.45C7.67,2.55 10.22,1.75 13.13,2.06C12.91,2.72 12.8,3.44 12.8,4.22C12.8,4.94 12.96,5.75 13.29,6.66C13.62,7.56 14,8.28 14.5,8.81L12.19,11.11Z\";\r\nexport var mdiBasketballHoop = \"M21,2H3A2,2 0 0,0 1,4V16A2,2 0 0,0 3,18H5V14H19V18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M17,12H15V9H9V12H7V9A2,2 0 0,1 9,7H15A2,2 0 0,1 17,9V12M7,16V19.5L8,23L10,21L12,23L14,21L16,23L17,19.5V16H7Z\";\r\nexport var mdiBasketballHoopOutline = \"M21,2H3A2,2 0 0,0 1,4V16A2,2 0 0,0 3,18H6.57L8,23L10,21L12,23L14,21L16,23L17.43,18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M21,16H18V14H17V9A2,2 0 0,0 15,7H9A2,2 0 0,0 7,9V14H6V16H3V4H21V16M9,14V9H15V14H9Z\";\r\nexport var mdiBat = \"M0.75,8C0.75,8 5,7 8,9C8,9 8.5,12.75 10.5,12.75V11C10.5,11 11,12 12,12C13,12 13.5,11 13.5,11V12.75C15.5,12.75 16,9 16,9C19,7 23.25,8 23.25,8C21.25,9 21,12.5 21,12.5C17,12.5 17,15.75 17,15.75C12,14.75 12,18.5 12,18.5C12,18.5 12,14.75 7,15.75C7,15.75 7,12.5 3,12.5C3,12.5 2.75,9 0.75,8Z\";\r\nexport var mdiBathtub = \"M7 5C8.11 5 9 5.9 9 7S8.11 9 7 9 5 8.11 5 7 5.9 5 7 5M20 13V4.83C20 3.27 18.73 2 17.17 2C16.42 2 15.7 2.3 15.17 2.83L13.92 4.08C13.76 4.03 13.59 4 13.41 4C13 4 12.64 4.12 12.33 4.32L15.09 7.08C15.29 6.77 15.41 6.4 15.41 6C15.41 5.82 15.38 5.66 15.34 5.5L16.59 4.24C16.74 4.09 16.95 4 17.17 4C17.63 4 18 4.37 18 4.83V13H11.15C10.85 12.79 10.58 12.55 10.33 12.28L8.93 10.73C8.74 10.5 8.5 10.35 8.24 10.23C7.93 10.08 7.59 10 7.24 10C6 10 5 11 5 12.25V13H2V19C2 20.1 2.9 21 4 21C4 21.55 4.45 22 5 22H19C19.55 22 20 21.55 20 21C21.1 21 22 20.1 22 19V13H20Z\";\r\nexport var mdiBathtubOutline = \"M7 5C8.11 5 9 5.9 9 7S8.11 9 7 9 5 8.11 5 7 5.9 5 7 5M20 13V4.83C20 3.27 18.73 2 17.17 2C16.42 2 15.7 2.3 15.17 2.83L13.92 4.08C13.76 4.03 13.59 4 13.41 4C13 4 12.64 4.12 12.33 4.32L15.09 7.08C15.29 6.77 15.41 6.4 15.41 6C15.41 5.82 15.38 5.66 15.34 5.5L16.59 4.24C16.74 4.09 16.95 4 17.17 4C17.63 4 18 4.37 18 4.83V13H11.15C10.85 12.79 10.58 12.55 10.33 12.28L8.93 10.73C8.74 10.5 8.5 10.35 8.24 10.23C7.93 10.08 7.59 10 7.24 10C6 10 5 11 5 12.25V13H2V19C2 20.1 2.9 21 4 21C4 21.55 4.45 22 5 22H19C19.55 22 20 21.55 20 21C21.1 21 22 20.1 22 19V13H20M20 19H4V15H20V19Z\";\r\nexport var mdiBattery = \"M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery10 = \"M16,18H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery10Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V18H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery20 = \"M16,17H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery20Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V17H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery30 = \"M16,15H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery30Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V15H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery40 = \"M16,14H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery40Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V14H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery50 = \"M16,13H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery50Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V13H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery60 = \"M16,12H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery60Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V12H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery70 = \"M16,10H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery70Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V10H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery80 = \"M16,9H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery80Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V9H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBattery90 = \"M16,8H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBattery90Bluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M4,6H12V8H4V6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBatteryAlert = \"M13 14H11V8H13M13 18H11V16H13M16.7 4H15V2H9V4H7.3C6.6 4 6 4.6 6 5.3V20.6C6 21.4 6.6 22 7.3 22H16.6C17.3 22 17.9 21.4 17.9 20.7V5.3C18 4.6 17.4 4 16.7 4Z\";\r\nexport var mdiBatteryAlertBluetooth = \"M5 2V4H3.3C2.6 4 2 4.6 2 5.3V20.6C2 21.4 2.6 22 3.3 22H12.6C13.3 22 13.9 21.4 13.9 20.7V5.3C14 4.6 13.4 4 12.7 4H11V2H5M19 8V11.8L16.7 9.5L16 10.2L18.8 13L16 15.8L16.7 16.5L19 14.2V18H19.5L22.4 15.1L20.2 13L22.3 10.9L19.5 8H19M7 8H9V14H7M20 9.9L20.9 10.8L20 11.8V9.9M20 14.2L20.9 15.1L20 16.1V14.2M7 16H9V18H7V16Z\";\r\nexport var mdiBatteryAlertVariant = \"M14.67 4H13V2H7V4H5.33C4.6 4 4 4.6 4 5.33V20.67C4 21.4 4.6 22 5.33 22H14.67C15.4 22 16 21.4 16 20.67V5.33C16 4.6 15.4 4 14.67 4M21 13H19V7H21V13M21 17H19V15H21V17Z\";\r\nexport var mdiBatteryAlertVariantOutline = \"M14 20H6V6H14M14.67 4H13V2H7V4H5.33C4.6 4 4 4.6 4 5.33V20.67C4 21.4 4.6 22 5.33 22H14.67C15.4 22 16 21.4 16 20.67V5.33C16 4.6 15.4 4 14.67 4M21 7H19V13H21V8M21 15H19V17H21V15Z\";\r\nexport var mdiBatteryArrowDown = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M14.94 18.5L17.94 21.5L20.94 18.5H18.94V14.5H16.94V18.5H14.94\";\r\nexport var mdiBatteryArrowDownOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M14.94 18.5L17.94 21.5L20.94 18.5H18.94V14.5H16.94V18.5H14.94\";\r\nexport var mdiBatteryArrowUp = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M20.94 17.5L17.94 14.5L14.94 17.5H16.94V21.5H18.94V17.5H20.94\";\r\nexport var mdiBatteryArrowUpOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M20.94 17.5L17.94 14.5L14.94 17.5H16.94V21.5H18.94V17.5H20.94\";\r\nexport var mdiBatteryBluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4H11V2H5M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21Z\";\r\nexport var mdiBatteryBluetoothVariant = \"M9,2V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4H15V2H9M11.83,8H12.33L15.18,10.85L13.04,13L15.17,15.14L12.33,18H11.83V14.21L9.54,16.5L8.83,15.79L11.62,13L8.83,10.21L9.54,9.5L11.83,11.79V8M12.83,9.91V11.79L13.77,10.85L12.83,9.91M12.83,14.21V16.08L13.77,15.14L12.83,14.21Z\";\r\nexport var mdiBatteryCharging = \"M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.66C6,21.4 6.6,22 7.33,22H16.66C17.4,22 18,21.4 18,20.67V5.33C18,4.6 17.4,4 16.67,4M11,20V14.5H9L13,7V12.5H15\";\r\nexport var mdiBatteryCharging10 = \"M23.05,11H20.05V4L15.05,14H18.05V22M12,18H4L4.05,6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\r\nexport var mdiBatteryCharging100 = \"M23,11H20V4L15,14H18V22M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryCharging20 = \"M23.05,11H20.05V4L15.05,14H18.05V22M12.05,17H4.05V6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\r\nexport var mdiBatteryCharging30 = \"M12,15H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\r\nexport var mdiBatteryCharging40 = \"M13 4H11V2H5V4H3C2.4 4 2 4.4 2 5V21C2 21.6 2.4 22 3 22H13C13.6 22 14 21.6 14 21V5C14 4.4 13.6 4 13 4M12 14.5H4V6H12V14.5M23 11H20V4L15 14H18V22\";\r\nexport var mdiBatteryCharging50 = \"M23,11H20V4L15,14H18V22M12,13H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryCharging60 = \"M12,11H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\r\nexport var mdiBatteryCharging70 = \"M12,10H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4M23,11H20V4L15,14H18V22L23,11Z\";\r\nexport var mdiBatteryCharging80 = \"M23,11H20V4L15,14H18V22M12,9H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryCharging90 = \"M23,11H20V4L15,14H18V22M12,8H4V6H12M12.67,4H11V2H5V4H3.33A1.33,1.33 0 0,0 2,5.33V20.67C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.67V5.33A1.33,1.33 0 0,0 12.67,4Z\";\r\nexport var mdiBatteryChargingHigh = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M11 7H5V10H11V7M11 11.5H5V14.5H11V11.5M23 10H20V3L15 13H18V21\";\r\nexport var mdiBatteryChargingLow = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M23 10H20V3L15 13H18V21\";\r\nexport var mdiBatteryChargingMedium = \"M12 20H4V6H12M12.67 4H11V2H5V4H3.33C2.6 4 2 4.6 2 5.33V20.67C2 21.4 2.6 22 3.33 22H12.67C13.41 22 14 21.41 14 20.67V5.33C14 4.6 13.4 4 12.67 4M11 16H5V19H11V16M11 11.5H5V14.5H11V11.5M23 10H20V3L15 13H18V21\";\r\nexport var mdiBatteryChargingOutline = \"M23.05,11H20.05V4L15.05,14H18.05V22M12,20H4L4.05,6H12.05M12.72,4H11.05V2H5.05V4H3.38A1.33,1.33 0 0,0 2.05,5.33V20.67C2.05,21.4 2.65,22 3.38,22H12.72C13.45,22 14.05,21.4 14.05,20.67V5.33A1.33,1.33 0 0,0 12.72,4Z\";\r\nexport var mdiBatteryChargingWireless = \"M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76Z\";\r\nexport var mdiBatteryChargingWireless10 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,18.5H4V6H12V18.5Z\";\r\nexport var mdiBatteryChargingWireless20 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,17H4V6H12V17Z\";\r\nexport var mdiBatteryChargingWireless30 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,16H4V6H12V16Z\";\r\nexport var mdiBatteryChargingWireless40 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,14.5H4V6H12V14.5Z\";\r\nexport var mdiBatteryChargingWireless50 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,13H4V6H12V13Z\";\r\nexport var mdiBatteryChargingWireless60 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,11.6H4V6H12V11.6Z\";\r\nexport var mdiBatteryChargingWireless70 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,10H4V6H12V10Z\";\r\nexport var mdiBatteryChargingWireless80 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,9H4V6H12V9Z\";\r\nexport var mdiBatteryChargingWireless90 = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,7.5H4V6H12V7.5Z\";\r\nexport var mdiBatteryChargingWirelessAlert = \"M13 4H11V2H5V4H3C2.4 4 2 4.4 2 5V21C2 21.6 2.4 22 3 22H13C13.6 22 14 21.6 14 21V5C14 4.4 13.6 4 13 4M9 18H7V16H9V18M9 14H7V8H9V14M20.1 4.9L18.7 6.3C21.8 9.4 21.8 14.5 18.7 17.6L20.1 19C24 15.2 24 8.8 20.1 4.9M17.2 7.8L15.8 9.2C17.4 10.8 17.4 13.3 15.8 14.9L17.2 16.3C19.6 13.9 19.6 10.1 17.2 7.8Z\";\r\nexport var mdiBatteryChargingWirelessOutline = \"M20.07,4.93L18.66,6.34C21.79,9.46 21.79,14.53 18.66,17.66L20.07,19.07C23.97,15.17 23.97,8.84 20.07,4.93M17.24,7.76L15.83,9.17C17.39,10.73 17.39,13.26 15.83,14.83L17.24,16.24C19.58,13.9 19.58,10.1 17.24,7.76M13,4H11V2H5V4H3A1,1 0 0,0 2,5V21A1,1 0 0,0 3,22H13A1,1 0 0,0 14,21V5A1,1 0 0,0 13,4M12,20H4V6H12V20Z\";\r\nexport var mdiBatteryCheck = \"M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16M12 18C12 14.69 14.69 12 18 12V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H13.54C12.58 20.94 12 19.54 12 18Z\";\r\nexport var mdiBatteryCheckOutline = \"M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16M12.35 20H8V6H16V12.35C16.63 12.13 17.3 12 18 12V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H13.54C13 21.42 12.61 20.75 12.35 20Z\";\r\nexport var mdiBatteryClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C14.69 23 13.46 22.63 12.41 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V9.29C20.89 10.15 23 12.83 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiBatteryClockOutline = \"M18 9.29V5.33C18 4.6 17.4 4 16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H12.41C13.46 22.63 14.69 23 16 23C19.87 23 23 19.87 23 16C23 12.83 20.89 10.15 18 9.29M8 6H16V9C12.13 9 9 12.13 9 16C9 17.5 9.47 18.87 10.26 20H8V6M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiBatteryHeart = \"M12.67 4H11V2H5V4H3.33A1.34 1.34 0 0 0 2 5.33V20.67A1.34 1.34 0 0 0 3.33 22H12.67A1.34 1.34 0 0 0 14 20.67V5.33A1.34 1.34 0 0 0 12.67 4M19 16.17L18.42 15.64C16.36 13.77 15 12.54 15 11A2.18 2.18 0 0 1 17.2 8.8A2.4 2.4 0 0 1 19 9.63A2.4 2.4 0 0 1 20.8 8.8A2.18 2.18 0 0 1 23 11C23 12.5 21.64 13.74 19.58 15.61Z\";\r\nexport var mdiBatteryHeartOutline = \"M19 16.2L18.4 15.7C16.4 13.8 15 12.5 15 11C15 9.8 16 8.8 17.2 8.8C17.9 8.8 18.5 9.1 19 9.6C19.5 9.1 20.1 8.8 20.8 8.8C22 8.8 23 9.8 23 11C23 12.5 21.6 13.7 19.6 15.6L19 16.2M12.7 4H11V2H5V4H3.3C2.6 4 2 4.6 2 5.3V20.6C2 21.4 2.6 22 3.3 22H12.6C13.3 22 13.9 21.4 13.9 20.7V5.3C14 4.6 13.4 4 12.7 4M12 20H4V6H12V20Z\";\r\nexport var mdiBatteryHeartVariant = \"M16.67 4H15V2H9V4H7.33A1.34 1.34 0 0 0 6 5.33V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V5.33A1.34 1.34 0 0 0 16.67 4M12.58 15.64L12 16.17L11.42 15.64C9.36 13.77 8 12.54 8 11A2.18 2.18 0 0 1 10.2 8.8A2.4 2.4 0 0 1 12 9.63A2.4 2.4 0 0 1 13.8 8.8A2.18 2.18 0 0 1 16 11C16 12.54 14.64 13.77 12.58 15.64Z\";\r\nexport var mdiBatteryHigh = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16M15 7H9V10H15V7M15 11.5H9V14.5H15V11.5Z\";\r\nexport var mdiBatteryLock = \"M19.8 16V14.5C19.8 13.1 18.4 12 17 12S14.2 13.1 14.2 14.5V16C13.6 16 13 16.6 13 17.2V20.7C13 21.4 13.6 22 14.2 22H19.7C20.4 22 21 21.4 21 20.8V17.3C21 16.6 20.4 16 19.8 16M18.5 16H15.5V14.5C15.5 13.7 16.2 13.2 17 13.2S18.5 13.7 18.5 14.5V16M11.27 22H5.33C4.6 22 4 21.4 4 20.67V5.33C4 4.6 4.6 4 5.33 4H7V2H13V4H14.67C15.4 4 16 4.6 16 5.33V10.11C13.86 10.55 12.2 12.38 12.2 14.5V14.74C11.5 15.34 11 16.24 11 17.2V20.7C11 21.16 11.1 21.6 11.27 22Z\";\r\nexport var mdiBatteryLockOpen = \"M19.8 16H15.5V13.5C15.5 12.7 16.2 12.2 17 12.2S18.5 12.7 18.5 13.5V14H19.8V13.5C19.8 12.1 18.4 11 17 11S14.2 12.1 14.2 13.5V16C13.6 16 13 16.6 13 17.2V20.7C13 21.4 13.6 22 14.2 22H19.7C20.4 22 21 21.4 21 20.8V17.3C21 16.6 20.4 16 19.8 16M11.27 22H5.33C4.6 22 4 21.4 4 20.67V5.33C4 4.6 4.6 4 5.33 4H7V2H13V4H14.67C15.4 4 16 4.6 16 5.33V9.11C13.86 9.55 12.2 11.38 12.2 13.5V14.74C11.5 15.34 11 16.24 11 17.2V20.7C11 20.93 11.03 21.15 11.07 21.37L11.08 21.39C11.12 21.6 11.19 21.8 11.27 22Z\";\r\nexport var mdiBatteryLow = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16\";\r\nexport var mdiBatteryMedium = \"M16 20H8V6H16M16.67 4H15V2H9V4H7.33C6.6 4 6 4.6 6 5.33V20.67C6 21.4 6.6 22 7.33 22H16.67C17.41 22 18 21.41 18 20.67V5.33C18 4.6 17.4 4 16.67 4M15 16H9V19H15V16M15 11.5H9V14.5H15V11.5Z\";\r\nexport var mdiBatteryMinus = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M22 17V19H14V17H22Z\";\r\nexport var mdiBatteryMinusOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M22 17V19H14V17H22Z\";\r\nexport var mdiBatteryMinusVariant = \"M16.67,4C17.4,4 18,4.6 18,5.33V20.67A1.33,1.33 0 0,1 16.67,22H7.33C6.6,22 6,21.4 6,20.67V5.33A1.33,1.33 0 0,1 7.33,4H9V2H15V4H16.67M8,12V14H16V12\";\r\nexport var mdiBatteryNegative = \"M11.67,4A1.33,1.33 0 0,1 13,5.33V20.67C13,21.4 12.4,22 11.67,22H2.33C1.6,22 1,21.4 1,20.67V5.33A1.33,1.33 0 0,1 2.33,4H4V2H10V4H11.67M15,12H23V14H15V12M3,13H11V6H3V13Z\";\r\nexport var mdiBatteryOff = \"M18 14.8L7.21 4H9V2H15V4H16.67A1.34 1.34 0 0 1 18 5.33M18 17.35L3.38 2.73L2.11 4L6 7.89V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V19.89L20.84 22.73L22.11 21.46Z\";\r\nexport var mdiBatteryOffOutline = \"M18 17.35L3.38 2.73L2.11 4L6 7.89V20.67A1.34 1.34 0 0 0 7.33 22H16.67A1.34 1.34 0 0 0 18 20.67V19.89L20.84 22.73L22.11 21.46M16 20H8V9.89L16 17.89M16 6V12.8L18 14.8V5.33A1.34 1.34 0 0 0 16.67 4H15V2H9V4H7.21L9.21 6Z\";\r\nexport var mdiBatteryOutline = \"M16,20H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0 0,0 18,20.67V5.33C18,4.6 17.4,4 16.67,4Z\";\r\nexport var mdiBatteryPlus = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M22 17V19H19V22H17V19H14V17H17V14H19V17H22Z\";\r\nexport var mdiBatteryPlusOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M22 17V19H19V22H17V19H14V17H17V14H19V17H22Z\";\r\nexport var mdiBatteryPlusVariant = \"M16.67,4C17.4,4 18,4.6 18,5.33V20.67A1.33,1.33 0 0,1 16.67,22H7.33C6.6,22 6,21.4 6,20.67V5.33A1.33,1.33 0 0,1 7.33,4H9V2H15V4H16.67M16,14V12H13V9H11V12H8V14H11V17H13V14H16Z\";\r\nexport var mdiBatteryPositive = \"M11.67,4A1.33,1.33 0 0,1 13,5.33V20.67C13,21.4 12.4,22 11.67,22H2.33C1.6,22 1,21.4 1,20.67V5.33A1.33,1.33 0 0,1 2.33,4H4V2H10V4H11.67M23,14H20V17H18V14H15V12H18V9H20V12H23V14M3,13H11V6H3V13Z\";\r\nexport var mdiBatteryRemove = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12Z\";\r\nexport var mdiBatteryRemoveOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12Z\";\r\nexport var mdiBatterySync = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C14.69 12 12 14.69 12 18C12 19.54 12.58 20.94 13.54 22M18 13L20.25 15.25L18 17.5V16C16.15 16 14.94 17.96 15.76 19.62L14.67 20.71C12.91 18.05 14.81 14.5 18 14.5V13M18 24L15.75 21.75L18 19.5V21C19.85 21 21.06 19.04 20.24 17.38L21.33 16.29C23.09 18.95 21.19 22.5 18 22.5V24\";\r\nexport var mdiBatterySyncOutline = \"M13.54 22H7.33C6.6 22 6 21.4 6 20.67V5.33C6 4.6 6.6 4 7.33 4H9V2H15V4H16.67C17.4 4 18 4.6 18 5.33V12C17.3 12 16.63 12.13 16 12.35V6H8V20H12.35C12.61 20.75 13 21.42 13.54 22M18 13L20.25 15.25L18 17.5V16C16.15 16 14.94 17.96 15.76 19.62L14.67 20.71C12.91 18.05 14.81 14.5 18 14.5V13M18 24L15.75 21.75L18 19.5V21C19.85 21 21.06 19.04 20.24 17.38L21.33 16.29C23.09 18.95 21.19 22.5 18 22.5V24\";\r\nexport var mdiBatteryUnknown = \"M15.07,12.25L14.17,13.17C13.63,13.71 13.25,14.18 13.09,15H11.05C11.16,14.1 11.56,13.28 12.17,12.67L13.41,11.41C13.78,11.05 14,10.55 14,10C14,8.89 13.1,8 12,8A2,2 0 0,0 10,10H8A4,4 0 0,1 12,6A4,4 0 0,1 16,10C16,10.88 15.64,11.68 15.07,12.25M13,19H11V17H13M16.67,4H15V2H9V4H7.33A1.33,1.33 0 0,0 6,5.33V20.66C6,21.4 6.6,22 7.33,22H16.67C17.4,22 18,21.4 18,20.66V5.33C18,4.59 17.4,4 16.67,4Z\";\r\nexport var mdiBatteryUnknownBluetooth = \"M5,2V4H3.33A1.33,1.33 0 0,0 2,5.33V20.66C2,21.4 2.6,22 3.33,22H12.67C13.4,22 14,21.4 14,20.66V5.33C14,4.59 13.4,4 12.67,4H11V2H5M8,6A4,4 0 0,1 12,10C12,10.88 11.64,11.68 11.07,12.25L10.17,13.17C9.63,13.71 9.25,14.18 9.09,15H7.05C7.16,14.1 7.56,13.28 8.17,12.67L9.41,11.41C9.78,11.05 10,10.55 10,10C10,8.89 9.1,8 8,8A2,2 0 0,0 6,10H4A4,4 0 0,1 8,6M19,8V11.79L16.71,9.5L16,10.21L18.79,13L16,15.79L16.71,16.5L19,14.21V18H19.5L22.35,15.14L20.21,13L22.35,10.85L19.5,8H19M20,9.91L20.94,10.85L20,11.79V9.91M20,14.21L20.94,15.14L20,16.08V14.21M7,17H9V19H7V17Z\";\r\nexport var mdiBeach = \"M15,18.54C17.13,18.21 19.5,18 22,18V22H5C5,21.35 8.2,19.86 13,18.9V12.4C12.16,12.65 11.45,13.21 11,13.95C10.39,12.93 9.27,12.25 8,12.25C6.73,12.25 5.61,12.93 5,13.95C5.03,10.37 8.5,7.43 13,7.04V7A1,1 0 0,1 14,6A1,1 0 0,1 15,7V7.04C19.5,7.43 22.96,10.37 23,13.95C22.39,12.93 21.27,12.25 20,12.25C18.73,12.25 17.61,12.93 17,13.95C16.55,13.21 15.84,12.65 15,12.39V18.54M7,2A5,5 0 0,1 2,7V2H7Z\";\r\nexport var mdiBeaker = \"M3,3V5A2,2 0 0,1 5,7V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V7A2,2 0 0,1 21,5V3H3M7,9H10V10H7V9M7,11H10V12H7V11M10,16H7V15H10V16M12,14H7V13H12V14M12,8H7V7H12V8Z\";\r\nexport var mdiBeakerAlert = \"M3 3H21V5C19.9 5 19 5.9 19 7V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiBeakerAlertOutline = \"M3 3H21V5C19.9 5 19 5.9 19 7V19C19 20.11 18.11 21 17 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3M7 5V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H17V5H7M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiBeakerCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBeakerMinus = \"M23 17V19H15V17H23M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerMinusOutline = \"M23 17V19H15V17M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBeakerOutline = \"M3,3H21V5A2,2 0 0,0 19,7V19A2,2 0 0,1 17,21H7A2,2 0 0,1 5,19V7A2,2 0 0,0 3,5V3M7,5V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H17V5H7Z\";\r\nexport var mdiBeakerPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBeakerQuestion = \"M0 3H18V5C16.9 5 16 5.9 16 7V19C16 20.1 15.1 21 14 21H4C2.9 21 2 20.1 2 19V7C2 5.9 1.1 5 0 5V3M4 9V10H7V9H4M4 11V12H7V11H4M7 16V15H4V16H7M9 14V13H4V14H9M9 8V7H4V8H9M21.5 15.5V17H20V15.5H21.5M19.5 10.5H18V10C18 8.34 19.34 7 21 7C22.66 7 24 8.34 24 10C24 10.97 23.5 11.88 22.71 12.41L22.41 12.6C21.84 13 21.5 13.62 21.5 14.3V14.5H20V14.3C20 13.11 20.6 12 21.59 11.35L21.88 11.16C22.27 10.9 22.5 10.47 22.5 10C22.5 9.18 21.83 8.5 21 8.5C20.17 8.5 19.5 9.17 19.5 10V10.5Z\";\r\nexport var mdiBeakerQuestionOutline = \"M0 3H18V5C16.9 5 16 5.9 16 7V19C16 20.11 15.11 21 14 21H4C2.9 21 2 20.11 2 19V7C2 5.9 1.11 5 0 5V3M4 5V7H9V8H4V9H7V10H4V11H7V12H4V13H9V14H4V15H7V16H4V19H14V5H4M21.5 15.5V17H20V15.5H21.5M19.5 10.5H18V10C18 8.34 19.34 7 21 7C22.66 7 24 8.34 24 10C24 10.97 23.5 11.88 22.71 12.41L22.41 12.6C21.84 13 21.5 13.62 21.5 14.3V14.5H20V14.3C20 13.11 20.6 12 21.59 11.35L21.88 11.16C22.27 10.9 22.5 10.47 22.5 10C22.5 9.18 21.83 8.5 21 8.5C20.17 8.5 19.5 9.17 19.5 10V10.5Z\";\r\nexport var mdiBeakerRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M3 3H21V5C19.9 5 19 5.9 19 7V12C15.69 12 13 14.69 13 18C13 19.09 13.29 20.12 13.8 21H7C5.9 21 5 20.1 5 19V7C5 5.9 4.1 5 3 5V3M7 9V10H10V9H7M7 11V12H10V11H7M10 16V15H7V16H10M12 14V13H7V14H12M12 8V7H7V8H12Z\";\r\nexport var mdiBeakerRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M3 3H21V5C19.9 5 19 5.9 19 7V12C18.3 12 17.63 12.12 17 12.34V5H7V7H12V8H7V9H10V10H7V11H10V12H7V13H12V14H7V15H10V16H7V19H13.08C13.2 19.72 13.45 20.39 13.8 21H7C5.9 21 5 20.11 5 19V7C5 5.9 4.11 5 3 5V3Z\";\r\nexport var mdiBed = \"M19,7H11V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13Z\";\r\nexport var mdiBedClock = \"M19.2 9.5L16 7.7V4H17.5V6.8L19.9 8.2L19.2 9.5M22.2 11.7C22.7 12.4 23 13.2 23 14V23H21V20H3V23H1V8H3V17H11V10.6C10.4 9.5 10 8.3 10 7C10 3.1 13.1 0 17 0S24 3.1 24 7C24 8.8 23.3 10.4 22.2 11.7M12 7C12 9.8 14.2 12 17 12S22 9.8 22 7 19.8 2 17 2 12 4.2 12 7M7 16C8.7 16 10 14.7 10 13S8.7 10 7 10 4 11.3 4 13 5.3 16 7 16Z\";\r\nexport var mdiBedDouble = \"M18 10V7A2 2 0 0 0 16 5H8A2 2 0 0 0 6 7V10A2 2 0 0 0 4 12V17H5.33L6 19H7L7.67 17H16.33L17 19H18L18.67 17H20V12A2 2 0 0 0 18 10M11 10H8V7H11M16 10H13V7H16Z\";\r\nexport var mdiBedDoubleOutline = \"M8 5C7.5 5 7 5.21 6.61 5.6S6 6.45 6 7V10C5.47 10 5 10.19 4.59 10.59S4 11.47 4 12V17H5.34L6 19H7L7.69 17H16.36L17 19H18L18.66 17H20V12C20 11.47 19.81 11 19.41 10.59S18.53 10 18 10V7C18 6.45 17.8 6 17.39 5.6S16.5 5 16 5M8 7H11V10H8M13 7H16V10H13M6 12H18V15H6Z\";\r\nexport var mdiBedEmpty = \"M19,7H5V14H3V5H1V20H3V17H21V20H23V11A4,4 0 0,0 19,7\";\r\nexport var mdiBedKing = \"M6 5C5.47 5 5 5.21 4.59 5.6S4 6.45 4 7V10C3.45 10 3 10.19 2.6 10.59S2 11.47 2 12V17H3.33L4 19H5L5.67 17H18.33L19 19H20L20.67 17H22V12C22 11.47 21.79 11 21.4 10.59C21 10.19 20.55 10 20 10V7C20 6.45 19.81 6 19.41 5.6S18.53 5 18 5M6 7H11V10H6M13 7H18V10H13Z\";\r\nexport var mdiBedKingOutline = \"M20 10V7A2 2 0 0 0 18 5H6A2 2 0 0 0 4 7V10A2 2 0 0 0 2 12V17H3.33L4 19H5L5.67 17H18.33L19 19H20L20.67 17H22V12A2 2 0 0 0 20 10M13 7H18V10H13M6 7H11V10H6M20 15H4V12H20Z\";\r\nexport var mdiBedOutline = \"M7 14C8.66 14 10 12.66 10 11C10 9.34 8.66 8 7 8C5.34 8 4 9.34 4 11C4 12.66 5.34 14 7 14M7 10C7.55 10 8 10.45 8 11C8 11.55 7.55 12 7 12C6.45 12 6 11.55 6 11C6 10.45 6.45 10 7 10M19 7H11V15H3V5H1V20H3V17H21V20H23V11C23 8.79 21.21 7 19 7M21 15H13V9H19C20.1 9 21 9.9 21 11Z\";\r\nexport var mdiBedQueen = \"M19 10V7A2 2 0 0 0 17 5H7A2 2 0 0 0 5 7V10A2 2 0 0 0 3 12V17H4.33L5 19H6L6.67 17H17.33L18 19H19L19.67 17H21V12A2 2 0 0 0 19 10M17 10H7V7H17Z\";\r\nexport var mdiBedQueenOutline = \"M19 10V7A2 2 0 0 0 17 5H7A2 2 0 0 0 5 7V10A2 2 0 0 0 3 12V17H4.33L5 19H6L6.67 17H17.33L18 19H19L19.67 17H21V12A2 2 0 0 0 19 10M7 7H17V10H7M19 15H5V12H19Z\";\r\nexport var mdiBedSingle = \"M17 10V7C17 5.9 16.11 5 15 5H9C7.9 5 7 5.9 7 7V10C5.9 10 4.89 10.9 5 12V17H6.33L7 19H8L8.67 17H15.33L16 19H17L17.67 17H19V12C19 10.9 18.11 10 17 10M15 10H9V7H15Z\";\r\nexport var mdiBedSingleOutline = \"M17 10V7C17 5.9 16.11 5 15 5H9C7.9 5 7 5.9 7 7V10C5.9 10 5 10.9 5 12V17H6.33L7 19H8L8.67 17H15.33L16 19H17L17.67 17H19V12C19 10.9 18.11 10 17 10M9 7H15V10H9M17 15H7V12H17Z\";\r\nexport var mdiBee = \"M17.4 9C17 7.8 16.2 7 15 6.5V5H14V6.4H13.6C12.5 6.4 11.6 6.8 10.8 7.6L10.4 8L9 7.5C8.7 7.4 8.4 7.3 8 7.3C7.4 7.3 6.8 7.5 6.3 7.9C5.7 8.3 5.4 8.8 5.2 9.3C5 10 5 10.6 5.2 11.3C5.5 12 5.8 12.5 6.3 12.8C5.9 14.3 6.2 15.6 7.3 16.7C8.1 17.5 9 17.9 10.1 17.9C10.6 17.9 10.9 17.9 11.2 17.8C11.8 18.6 12.6 19.1 13.6 19.1C13.9 19.1 14.3 19.1 14.6 19C15.2 18.8 15.6 18.4 16 17.9C16.4 17.3 16.6 16.8 16.6 16.2C16.6 15.8 16.6 15.5 16.5 15.2L16 13.6L16.6 13.2C17.4 12.4 17.8 11.3 17.7 10.1H19V9H17.4M7.7 11.3C7.1 11 6.9 10.6 7.1 10C7.3 9.4 7.7 9.2 8.3 9.4L11.5 10.6C9.9 11.4 8.7 11.6 7.7 11.3M14 16.9C13.4 17.1 13 16.9 12.7 16.3C12.4 15.3 12.6 14.1 13.4 12.5L14.6 15.6C14.8 16.3 14.6 16.7 14 16.9M15.2 11.6L14.6 10V9.9L14.3 9.6H14.2L12.6 9C13 8.7 13.4 8.5 13.9 8.5C14.4 8.5 14.9 8.7 15.3 9.1C15.7 9.5 15.9 9.9 15.9 10.4C15.7 10.7 15.5 11.2 15.2 11.6Z\";\r\nexport var mdiBeeFlower = \"M11.6 13V12.9L11.3 12.6H11.2L9.6 12C10 11.7 10.4 11.5 10.9 11.5C11.4 11.5 11.9 11.7 12.3 12.1C12.7 12.5 12.9 12.9 12.9 13.4C12.9 13.9 12.8 14.3 12.4 14.7L11.6 13M9.7 19.3C9.4 18.3 9.6 17.1 10.4 15.5L11.6 18.6C11.8 19.2 11.6 19.6 11 19.9C10.4 20.2 10 20 9.7 19.3M4.1 13.1C4.3 12.5 4.7 12.3 5.3 12.5L8.5 13.7C6.9 14.5 5.7 14.7 4.7 14.4C4.1 14.1 3.9 13.7 4.1 13.1M12 8.1H11V9.5H10.6C9.5 9.5 8.6 9.9 7.8 10.7L7.4 11.3L6 10.5C5.7 10.4 5.4 10.4 5 10.4C4.4 10.4 3.8 10.6 3.3 11S2.4 11.8 2.2 12.4C2 13.1 2 13.7 2.2 14.4C2.5 15.1 2.8 15.6 3.3 15.9C2.9 17.4 3.2 18.7 4.3 19.8C5.1 20.6 6 21 7.1 21C7.6 21 7.9 21 8.2 20.9C8.8 21.7 9.6 22.2 10.6 22.2C10.9 22.2 11.3 22.2 11.6 22.1C12.2 21.9 12.6 21.5 13 21C13.4 20.4 13.6 19.9 13.6 19.3C13.6 18.9 13.6 18.6 13.5 18.3L12.9 16.9L13.5 16.5C14.3 15.7 14.7 14.6 14.6 13.4H16V12.4H14.4C14 11.2 13.2 10.4 12 10V8.1M17.3 6.8C17.1 6.6 17 6.3 17 6.1C17 5.8 17.1 5.6 17.3 5.4C17.5 5.2 17.7 5.1 18 5.1S18.5 5.2 18.7 5.4C18.9 5.5 19 5.8 19 6.1C19 6.4 18.9 6.6 18.7 6.8C18.5 7 18.3 7 18 7S17.5 7 17.3 6.8M20.7 4.1H19.6L19.3 3.2C19.1 2.5 18.7 2.2 18 2.2C17.3 2.2 16.8 2.5 16.7 3.2L16.4 4.1H15.3C14.7 4.1 14.3 4.4 14 5C13.8 5.6 14 6.1 14.6 6.5L15.5 7L15.1 8.2C14.9 8.6 15 9 15.2 9.4C15.5 9.8 15.8 10 16.3 10C16.7 10 17 9.9 17.2 9.7L18 9.1L18.8 9.8C19 9.9 19.3 10 19.7 10C20.2 10 20.5 9.8 20.8 9.4C21 9 21.1 8.6 20.9 8.2L20.5 7L21.3 6.5C21.9 6.1 22.1 5.6 21.9 5C21.7 4.3 21.3 4.1 20.7 4.1Z\";\r\nexport var mdiBeehiveOffOutline = \"M1.1 3L4.7 6.5C3.7 7.2 3 8.2 3 9.5C3 10.1 3.2 10.7 3.5 11.2C2 11.6 1 12.9 1 14.5C1 15.8 1.7 16.8 2.7 17.5C2.2 18 2 18.7 2 19.5C2 21.4 3.6 23 5.5 23H18.5C19.3 23 20 22.7 20.6 22.3L21.3 23L22.6 21.7L2.4 1.7L1.1 3M9.2 11H6.5C5.7 11 5 10.3 5 9.5C5 8.8 5.5 8.2 6.2 8L9.2 11M9 21H5.5C4.7 21 4 20.3 4 19.5S4.7 18 5.5 18H9V21M9.2 16H4.5C3.7 16 3 15.3 3 14.5S3.7 13 4.5 13H11.2L12.2 14H12C10.7 14 9.6 14.8 9.2 16M18.5 21H15V18H16.2L19.1 20.9C18.9 21 18.7 21 18.5 21M7.1 3.9L5.7 2.5C6.3 1.6 7.3 1 8.5 1H15.5C17.4 1 19 2.6 19 4.5C19 5.1 18.8 5.7 18.5 6.2C20 6.6 21 7.9 21 9.5C21 10.1 20.8 10.7 20.5 11.2C21.9 11.7 23 13 23 14.5C23 15.8 22.3 16.8 21.3 17.5C21.6 17.9 21.8 18.3 21.9 18.7L19.2 16H19.5C20.3 16 21 15.3 21 14.5S20.3 13 19.5 13H16.2L14.2 11H17.5C18.3 11 19 10.3 19 9.5S18.3 8 17.5 8H11.2L9.2 6H15.5C16.3 6 17 5.3 17 4.5S16.3 3 15.5 3H8.5C7.9 3 7.3 3.4 7.1 3.9Z\";\r\nexport var mdiBeehiveOutline = \"M23 14.5C23 12.94 21.97 11.63 20.55 11.18C20.83 10.68 21 10.11 21 9.5C21 7.94 19.97 6.63 18.55 6.18C18.83 5.68 19 5.11 19 4.5C19 2.57 17.43 1 15.5 1H8.5C6.57 1 5 2.57 5 4.5C5 5.11 5.17 5.68 5.45 6.18C4.04 6.63 3 7.94 3 9.5C3 10.11 3.17 10.68 3.45 11.18C2.04 11.63 1 12.94 1 14.5C1 15.76 1.67 16.84 2.67 17.46C2.25 18.03 2 18.74 2 19.5C2 21.43 3.57 23 5.5 23H18.5C20.43 23 22 21.43 22 19.5C22 18.74 21.75 18.03 21.33 17.46C22.33 16.84 23 15.76 23 14.5M8.5 3H15.5C16.33 3 17 3.67 17 4.5S16.33 6 15.5 6H8.5C7.67 6 7 5.33 7 4.5S7.67 3 8.5 3M6.5 8H17.5C18.33 8 19 8.67 19 9.5S18.33 11 17.5 11H6.5C5.67 11 5 10.33 5 9.5S5.67 8 6.5 8M4 19.5C4 18.67 4.67 18 5.5 18H9V21H5.5C4.67 21 4 20.33 4 19.5M18.5 21H15V18H18.5C19.33 18 20 18.67 20 19.5S19.33 21 18.5 21M19.5 16H14.82C14.4 14.84 13.3 14 12 14S9.6 14.84 9.18 16H4.5C3.67 16 3 15.33 3 14.5S3.67 13 4.5 13H19.5C20.33 13 21 13.67 21 14.5S20.33 16 19.5 16Z\";\r\nexport var mdiBeekeeper = \"M19 5H16C16 3.34 14.21 2 12 2C9.79 2 8 3.34 8 5H5C4.45 5 4 5.45 4 6S4.45 7 5 7V14C5 15.11 5.9 16 7 16H17C18.11 16 19 15.11 19 14V7C19.55 7 20 6.55 20 6S19.55 5 19 5M17 14H7V7H17V14M15.86 8C15.94 8.32 16 8.65 16 9C16 11.21 14.21 13 12 13S8 11.21 8 9C8 8.65 8.06 8.32 8.14 8H10.28C10.11 8.3 10 8.63 10 9C10 10.1 10.9 11 12 11S14 10.1 14 9C14 8.63 13.89 8.3 13.72 8H15.86M20 19V22H4V19C4 18.22 4.47 17.55 5.18 17H12C9.28 17 6.19 18.29 6 19V20H18V19C17.81 18.29 14.72 17 12 17H18.82C19.53 17.55 20 18.22 20 19Z\";\r\nexport var mdiBeer = \"M4,2H19L17,22H6L4,2M6.2,4L7.8,20H8.8L7.43,6.34C8.5,6 9.89,5.89 11,7C12.56,8.56 15.33,7.69 16.5,7.23L16.8,4H6.2Z\";\r\nexport var mdiBeerOutline = \"M4 2L6 22H17L19 2H4M6.2 4H16.8L16.5 7.23C13.18 8.5 11.85 7.67 11.38 7.31C11.13 7.12 10.77 6.69 10.11 6.39C9.45 6.08 8.55 6 7.5 6.32C7.09 6.43 6.77 6.61 6.5 6.79L6.2 4M8.86 8.11C9.05 8.11 9.16 8.15 9.27 8.2C9.5 8.3 9.71 8.55 10.17 8.9C11.03 9.56 13.03 10.36 16.26 9.41L15.2 20H7.8L6.71 9.06C6.76 9 6.91 8.89 7.17 8.71C7.5 8.5 7.91 8.28 8 8.25L8 8.25H8.03C8.41 8.14 8.67 8.1 8.86 8.11Z\";\r\nexport var mdiBell = \"M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21\";\r\nexport var mdiBellAlert = \"M23 7V13H21V7M21 15H23V17H21M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21Z\";\r\nexport var mdiBellAlertOutline = \"M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H21V19L19 17V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M12 6A5 5 0 0 1 17 11V18H7V11A5 5 0 0 1 12 6M21 7V13H23V7H21M21 15V17H23V15H21M10 21A2 2 0 0 0 12 23A2 2 0 0 0 14 21H10Z\";\r\nexport var mdiBellBadge = \"M21 6.5C21 8.43 19.43 10 17.5 10S14 8.43 14 6.5 15.57 3 17.5 3 21 4.57 21 6.5M19 11.79C18.5 11.92 18 12 17.5 12C14.47 12 12 9.53 12 6.5C12 5.03 12.58 3.7 13.5 2.71C13.15 2.28 12.61 2 12 2C10.9 2 10 2.9 10 4V4.29C7.03 5.17 5 7.9 5 11V17L3 19V20H21V19L19 17V11.79M12 23C13.11 23 14 22.11 14 21H10C10 22.11 10.9 23 12 23Z\";\r\nexport var mdiBellBadgeOutline = \"M19 17V11.8C18.5 11.9 18 12 17.5 12H17V18H7V11C7 8.2 9.2 6 12 6C12.1 4.7 12.7 3.6 13.5 2.7C13.2 2.3 12.6 2 12 2C10.9 2 10 2.9 10 4V4.3C7 5.2 5 7.9 5 11V17L3 19V20H21V19L19 17M10 21C10 22.1 10.9 23 12 23S14 22.1 14 21H10M21 6.5C21 8.4 19.4 10 17.5 10S14 8.4 14 6.5 15.6 3 17.5 3 21 4.6 21 6.5\";\r\nexport var mdiBellCancel = \"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11 17.5A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z\";\r\nexport var mdiBellCancelOutline = \"M17.5 13A4.5 4.5 0 0 0 13 17.5A4.5 4.5 0 0 0 17.5 22A4.5 4.5 0 0 0 22 17.5A4.5 4.5 0 0 0 17.5 13M17.5 14.5A3 3 0 0 1 20.5 17.5A3 3 0 0 1 20.08 19L16 14.92A3 3 0 0 1 17.5 14.5M14.92 16L19 20.08A3 3 0 0 1 17.5 20.5A3 3 0 0 1 14.5 17.5A3 3 0 0 1 14.92 16M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H11.5A6.5 6.5 0 0 1 11.03 18H7V11A5 5 0 0 1 12 6A5 5 0 0 1 17 11V11A6.5 6.5 0 0 1 17.5 11A6.5 6.5 0 0 1 19 11.18V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.5 23 12.97 22.81 13.33 22.5A6.5 6.5 0 0 1 12.03 21Z\";\r\nexport var mdiBellCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M3 20V19L5 17V11C5 7.9 7.03 5.18 10 4.29V4C10 2.9 10.9 2 12 2C13.11 2 14 2.9 14 4V4.29C16.97 5.18 19 7.9 19 11V12.08L18 12C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H3M12 23C10.9 23 10 22.11 10 21H12.8C13.04 21.41 13.33 21.79 13.65 22.13C13.29 22.66 12.69 23 12 23Z\";\r\nexport var mdiBellCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M10 21H12.8C13.04 21.41 13.33 21.79 13.65 22.13C13.29 22.66 12.69 23 12 23C10.9 23 10 22.11 10 21M3 20V19L5 17V11C5 7.9 7.03 5.18 10 4.29V4C10 2.9 10.9 2 12 2C13.11 2 14 2.9 14 4V4.29C16.97 5.18 19 7.9 19 11V12.08L18 12L17 12.08V11C17 8.24 14.76 6 12 6C9.24 6 7 8.24 7 11V18H12C12 18.7 12.12 19.37 12.34 20H3Z\";\r\nexport var mdiBellCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M17,16V15L16,14V11.39C16,10.3 15.73,9.34 15.21,8.53C14.7,7.72 13.96,7.21 13,7V6.5A1,1 0 0,0 12,5.5A1,1 0 0,0 11,6.5V7C10.04,7.21 9.3,7.72 8.79,8.53C8.27,9.34 8,10.3 8,11.39V14L7,15V16H17M13.5,17H10.5A1.5,1.5 0 0,0 12,18.5A1.5,1.5 0 0,0 13.5,17Z\";\r\nexport var mdiBellCircleOutline = \"M17,16H7V15L8,14V11.39C8,10.3 8.27,9.34 8.79,8.53C9.3,7.72 10.04,7.21 11,7V6.5A1,1 0 0,1 12,5.5A1,1 0 0,1 13,6.5V7C13.96,7.21 14.7,7.72 15.21,8.53C15.73,9.34 16,10.3 16,11.39V14L17,15V16M13.5,17A1.5,1.5 0 0,1 12,18.5A1.5,1.5 0 0,1 10.5,17H13.5M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiBellCog = \"M19 12C15.13 12 12 15.13 12 19C12 19.34 12.03 19.67 12.08 20H3V19L5 17V11C5 7.9 7.03 5.17 10 4.29V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.29C16.97 5.17 19 7.9 19 11V12M10 21C10 22.11 10.9 23 12 23C12.39 23 12.75 22.88 13.06 22.69C12.74 22.17 12.5 21.6 12.3 21H10M23.77 20.32C23.87 20.39 23.89 20.53 23.83 20.64L22.83 22.37C22.77 22.5 22.64 22.5 22.53 22.5L21.28 21.97C21 22.17 20.75 22.34 20.44 22.47L20.25 23.79C20.23 23.91 20.13 24 20 24H18C17.88 24 17.77 23.91 17.75 23.79L17.57 22.47C17.25 22.34 17 22.17 16.72 21.97L15.5 22.5C15.37 22.5 15.23 22.5 15.17 22.37L14.17 20.64C14.11 20.53 14.14 20.39 14.23 20.32L15.29 19.5C15.27 19.33 15.25 19.17 15.25 19S15.27 18.67 15.29 18.5L14.23 17.68C14.14 17.61 14.11 17.5 14.17 17.36L15.17 15.64C15.23 15.53 15.37 15.5 15.5 15.53L16.72 16C17 15.83 17.25 15.66 17.57 15.54L17.75 14.21C17.77 14.09 17.88 14 18 14H20C20.13 14 20.23 14.09 20.25 14.21L20.44 15.54C20.75 15.66 21 15.83 21.28 16L22.53 15.53C22.64 15.5 22.77 15.53 22.83 15.64L23.83 17.36C23.89 17.5 23.87 17.61 23.77 17.68L22.72 18.5C22.74 18.67 22.75 18.84 22.75 19S22.74 19.33 22.72 19.5L23.77 20.32M20.75 19C20.75 18.03 19.97 17.25 19 17.25S17.25 18.03 17.25 19 18.04 20.75 19 20.75 20.75 19.97 20.75 19Z\";\r\nexport var mdiBellCogOutline = \"M22.72 19.5C22.74 19.33 22.75 19.17 22.75 19S22.74 18.67 22.72 18.5L23.77 17.68C23.87 17.61 23.89 17.5 23.83 17.36L22.83 15.64C22.77 15.53 22.64 15.5 22.53 15.53L21.28 16C21 15.83 20.75 15.66 20.44 15.54L20.25 14.21C20.23 14.09 20.13 14 20 14H18C17.88 14 17.77 14.09 17.75 14.21L17.57 15.54C17.25 15.66 17 15.83 16.72 16L15.5 15.53C15.37 15.5 15.23 15.53 15.17 15.64L14.17 17.36C14.11 17.5 14.14 17.61 14.23 17.68L15.29 18.5C15.27 18.67 15.25 18.84 15.25 19S15.27 19.33 15.29 19.5L14.23 20.32C14.14 20.39 14.11 20.53 14.17 20.64L15.17 22.37C15.23 22.5 15.37 22.5 15.5 22.5L16.72 21.97C17 22.17 17.25 22.34 17.57 22.47L17.75 23.79C17.77 23.91 17.88 24 18 24H20C20.13 24 20.23 23.91 20.25 23.79L20.44 22.47C20.75 22.34 21 22.17 21.28 21.97L22.53 22.5C22.64 22.5 22.77 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.87 20.39 23.77 20.32L22.72 19.5M19 20.75C18.04 20.75 17.25 19.97 17.25 19S18.04 17.25 19 17.25 20.75 18.03 20.75 19 19.97 20.75 19 20.75M12.08 20H3V19L5 17V11C5 7.9 7 5.2 10 4.3V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.3C17 5.2 19 7.9 19 11V12C18.31 12 17.63 12.11 17 12.29V11C17 8.2 14.8 6 12 6S7 8.2 7 11V18H12.08C12.03 18.33 12 18.66 12 19C12 19.34 12.03 19.67 12.08 20M12.3 21C12.5 21.6 12.74 22.17 13.06 22.69C12.75 22.88 12.39 23 12 23C10.9 23 10 22.1 10 21H12.3Z\";\r\nexport var mdiBellMinus = \"M22 19V17H14V19H22M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18C12 14.69 14.69 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21H10Z\";\r\nexport var mdiBellMinusOutline = \"M12 2C10.9 2 10 2.9 10 4V4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11C7 8.24 9.24 6 12 6S17 8.24 17 11V12.09C17.33 12.03 17.67 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29V4C14 2.9 13.11 2 12 2M14 17V19H22V17M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21H10Z\";\r\nexport var mdiBellOff = \"M20.84,22.73L18.11,20H3V19L5,17V11C5,9.86 5.29,8.73 5.83,7.72L1.11,3L2.39,1.73L22.11,21.46L20.84,22.73M19,15.8V11C19,7.9 16.97,5.17 14,4.29C14,4.19 14,4.1 14,4A2,2 0 0,0 12,2A2,2 0 0,0 10,4C10,4.1 10,4.19 10,4.29C9.39,4.47 8.8,4.74 8.26,5.09L19,15.8M12,23A2,2 0 0,0 14,21H10A2,2 0 0,0 12,23Z\";\r\nexport var mdiBellOffOutline = \"M22.11,21.46L2.39,1.73L1.11,3L5.83,7.72C5.29,8.73 5,9.86 5,11V17L3,19V20H18.11L20.84,22.73L22.11,21.46M7,18V11C7,10.39 7.11,9.79 7.34,9.23L16.11,18H7M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M8.29,5.09C8.82,4.75 9.4,4.5 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V15.8L17,13.8V11A5,5 0 0,0 12,6C11.22,6 10.45,6.2 9.76,6.56L8.29,5.09Z\";\r\nexport var mdiBellOutline = \"M10 21H14C14 22.1 13.1 23 12 23S10 22.1 10 21M21 19V20H3V19L5 17V11C5 7.9 7 5.2 10 4.3V4C10 2.9 10.9 2 12 2S14 2.9 14 4V4.3C17 5.2 19 7.9 19 11V17L21 19M17 11C17 8.2 14.8 6 12 6S7 8.2 7 11V18H17V11Z\";\r\nexport var mdiBellPlus = \"M17 14V17H14V19H17V22H19V19H22V17H19V14M12 2A2 2 0 0 0 10 4A2 2 0 0 0 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35A6 6 0 0 1 12 18A6 6 0 0 1 18 12A6 6 0 0 1 19 12.09V11C19 7.82 16.88 5.14 14 4.29A2 2 0 0 0 14 4A2 2 0 0 0 12 2M10 21A2 2 0 0 0 12 23A2 2 0 0 0 13.65 22.13A6 6 0 0 1 12.81 21Z\";\r\nexport var mdiBellPlusOutline = \"M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11C7 8.24 9.24 6 12 6C14.76 6 17 8.24 17 11V12.09C17.33 12.03 17.67 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M17 14V17H14V19H17V22H19V19H22V17H19V14M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\r\nexport var mdiBellRemove = \"M20.12 14.46L18 16.59L15.88 14.46L14.46 15.88L16.59 18L14.46 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18C12 14.69 14.69 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\r\nexport var mdiBellRemoveOutline = \"M20.12 14.46L18 16.59L15.88 14.46L14.46 15.88L16.59 18L14.46 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88M12 2C10.9 2 10 2.9 10 4C10 4.1 10 4.19 10 4.29C7.12 5.14 5 7.82 5 11V17L3 19V20H12.35C12.12 19.36 12 18.68 12 18H7V11A5 5 0 0 1 12 6A5 5 0 0 1 17 11V12.09C17.33 12.04 17.66 12 18 12C18.34 12 18.67 12.03 19 12.09V11C19 7.82 16.88 5.14 14 4.29C14 4.19 14 4.1 14 4C14 2.9 13.11 2 12 2M10 21C10 22.11 10.9 23 12 23C12.66 23 13.28 22.67 13.65 22.13C13.33 21.79 13.05 21.41 12.81 21Z\";\r\nexport var mdiBellRing = \"M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M14,21A2,2 0 0,1 12,23A2,2 0 0,1 10,21M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\";\r\nexport var mdiBellRingOutline = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M19.75,3.19L18.33,4.61C20.04,6.3 21,8.6 21,11H23C23,8.07 21.84,5.25 19.75,3.19M1,11H3C3,8.6 3.96,6.3 5.67,4.61L4.25,3.19C2.16,5.25 1,8.07 1,11Z\";\r\nexport var mdiBellSleep = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M15,9H9V11H12.24L9,13.7V16H15V14H11.76L15,11.3V9Z\";\r\nexport var mdiBellSleepOutline = \"M10,21H14A2,2 0 0,1 12,23A2,2 0 0,1 10,21M21,19V20H3V19L5,17V11C5,7.9 7.03,5.17 10,4.29C10,4.19 10,4.1 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.1 14,4.19 14,4.29C16.97,5.17 19,7.9 19,11V17L21,19M17,11A5,5 0 0,0 12,6A5,5 0 0,0 7,11V18H17V11M9,9V11H12.24L9,13.7V16H15V14H11.76L15,11.3V9H9Z\";\r\nexport var mdiBench = \"M23 13H1V15H3V19H5V15H19V19H21V15H23V13Z\";\r\nexport var mdiBenchBack = \"M4 5C3.45 5 3 5.45 3 6V10C3 10.55 3.45 11 4 11H5V13H1V15H3V19H5V15H19V19H21V15H23V13H19V11H20C20.55 11 21 10.55 21 10V6C21 5.45 20.55 5 20 5H4M17 11V13H7V11H17Z\";\r\nexport var mdiBeta = \"M9.23,17.59V23.12H6.88V6.72C6.88,5.27 7.31,4.13 8.16,3.28C9,2.43 10.17,2 11.61,2C13,2 14.07,2.34 14.87,3C15.66,3.68 16.05,4.62 16.05,5.81C16.05,6.63 15.79,7.4 15.27,8.11C14.75,8.82 14.08,9.31 13.25,9.58V9.62C14.5,9.82 15.47,10.27 16.13,11C16.79,11.71 17.12,12.62 17.12,13.74C17.12,15.06 16.66,16.14 15.75,16.97C14.83,17.8 13.63,18.21 12.13,18.21C11.07,18.21 10.1,18 9.23,17.59M10.72,10.75V8.83C11.59,8.72 12.3,8.4 12.87,7.86C13.43,7.31 13.71,6.7 13.71,6C13.71,4.62 13,3.92 11.6,3.92C10.84,3.92 10.25,4.16 9.84,4.65C9.43,5.14 9.23,5.82 9.23,6.71V15.5C10.14,16.03 11.03,16.29 11.89,16.29C12.73,16.29 13.39,16.07 13.86,15.64C14.33,15.2 14.56,14.58 14.56,13.79C14.56,12 13.28,11 10.72,10.75Z\";\r\nexport var mdiBetamax = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M8,9A4,4 0 0,1 12,13A4,4 0 0,1 8,17A4,4 0 0,1 4,13A4,4 0 0,1 8,9M13,9H20V17H13V9M8,11A2,2 0 0,0 6,13A2,2 0 0,0 8,15A2,2 0 0,0 10,13A2,2 0 0,0 8,11Z\";\r\nexport var mdiBiathlon = \"M12.88,3.64C13.65,3.64 14.28,4.27 14.28,5.04C14.28,5.81 13.65,6.44 12.88,6.44C12.11,6.44 11.5,5.81 11.5,5.04C11.5,4.27 12.11,3.64 12.88,3.64M15,13H16.5V19H15V13M15,8.5H16.5V10H15V8.5M10.04,2.6L8,2.04L6.06,8.58L3.9,11.42L7.17,12.37L10.04,2.6M19.67,18.55C19.31,18.93 18.88,19.5 18.4,19.7C17.91,19.92 17.54,20 17,20H13.5L13.43,17C13.42,16.83 13.37,16.67 13.28,16.5L10.88,12.24L11.76,9.5C12.34,10.55 13,11.73 13.06,11.83C13.21,12 13.45,12.13 13.69,12.13H15.9A0.81,0.81 0 0,0 16.71,11.32C16.71,10.9 16.38,10.56 15.96,10.53L14.29,10.4L12.4,7C12.4,7 12,6.42 11.14,6.42C10.27,6.42 10,6.84 9.83,7.42L6,20H3V22H17C18.37,22 19.53,21.34 20.5,20.37L19.67,18.55M9.75,14.39L11.62,17.39L11.75,20H7.75L9.75,14.39Z\";\r\nexport var mdiBicycle = \"M19 10C18.44 10 17.91 10.11 17.41 10.28L14.46 4.5H11V6H13.54L14.42 7.72L12 13.13L10.23 8.95C10.5 8.85 10.74 8.58 10.74 8.25C10.74 7.84 10.41 7.5 10 7.5H8C7.58 7.5 7.24 7.84 7.24 8.25S7.58 9 8 9H8.61L10.86 14.25H9.92C9.56 11.85 7.5 10 5 10C2.24 10 0 12.24 0 15S2.24 20 5 20C7.5 20 9.56 18.15 9.92 15.75H12.5L15.29 9.43L16.08 10.96C14.82 11.87 14 13.34 14 15C14 17.76 16.24 20 19 20S24 17.76 24 15 21.76 10 19 10M5 18.5C3.07 18.5 1.5 16.93 1.5 15S3.07 11.5 5 11.5C6.67 11.5 8.07 12.68 8.41 14.25H4V15.75H8.41C8.07 17.32 6.67 18.5 5 18.5M19 18.5C17.07 18.5 15.5 16.93 15.5 15C15.5 13.92 16 12.97 16.77 12.33L18.57 15.85L19.89 15.13L18.1 11.63C18.39 11.56 18.69 11.5 19 11.5C20.93 11.5 22.5 13.07 22.5 15S20.93 18.5 19 18.5Z\";\r\nexport var mdiBicycleBasket = \"M11.74 13.36L14.14 7.71L13.06 5.5H10.5V4H14L14.73 5.5H21.75L20.75 9H16.44L17.11 10.37C17.69 10.13 18.33 10 19 10C21.76 10 24 12.24 24 15C24 17.76 21.76 20 19 20C16.24 20 14 17.76 14 15C14 13.45 14.71 12.06 15.82 11.15L15 9.5L12.25 16H9.9C9.44 18.28 7.42 20 5 20C2.24 20 0 17.76 0 15C0 12.24 2.24 10 5 10C7.59 10 9.72 11.97 10 14.5H10.58L8.3 9H7.5C7.09 9 6.75 8.66 6.75 8.25C6.75 7.84 7.09 7.5 7.5 7.5H10.25C10.66 7.5 11 7.84 11 8.25C11 8.66 10.66 9 10.25 9H9.97L11.74 13.36M5 11.5C3.07 11.5 1.5 13.07 1.5 15C1.5 16.93 3.07 18.5 5 18.5C6.59 18.5 7.93 17.45 8.36 16H4V14.5H8.47C8.22 12.8 6.76 11.5 5 11.5M19 11.5C18.57 11.5 18.15 11.58 17.77 11.72L19.7 15.68L18.35 16.34L16.5 12.55C15.88 13.18 15.5 14.05 15.5 15C15.5 16.93 17.07 18.5 19 18.5C20.93 18.5 22.5 16.93 22.5 15C22.5 13.07 20.93 11.5 19 11.5Z\";\r\nexport var mdiBicycleCargo = \"M21 11.5V10L13.5 9V5H9V6.5H12V14.3H11L9 10C9.3 9.9 9.5 9.6 9.5 9.3C9.5 8.9 9.2 8.5 8.8 8.5H6.8C6.3 8.5 6 8.8 6 9.2S6.3 10 6.8 10H7.4L9.4 14.2H7.9C7.6 12.4 6 11 4 11C1.8 11 0 12.8 0 15S1.8 19 4 19C6 19 7.6 17.6 7.9 15.8H16.5C16.7 13.4 18.6 11.5 21 11.5M6.4 15.8C6.1 16.8 5.1 17.6 4 17.6C2.6 17.6 1.5 16.5 1.5 15.1S2.6 12.6 4 12.6C5.1 12.6 6.1 13.3 6.4 14.4H4V15.9H6.4M21 13C19.3 13 18 14.3 18 16S19.3 19 21 19 24 17.7 24 16 22.7 13 21 13M21 17.5C20.2 17.5 19.5 16.8 19.5 16S20.2 14.5 21 14.5 22.5 15.2 22.5 16 21.8 17.5 21 17.5Z\";\r\nexport var mdiBicycleElectric = \"M19 7C18.44 7 17.91 7.11 17.41 7.28L14.46 1.5H11V3H13.54L14.42 4.72L12 10.13L10.23 5.95C10.5 5.85 10.74 5.58 10.74 5.25C10.74 4.84 10.41 4.5 10 4.5H8C7.58 4.5 7.24 4.84 7.24 5.25S7.58 6 8 6H8.61L10.86 11.25H9.92C9.56 8.85 7.5 7 5 7C2.24 7 0 9.24 0 12S2.24 17 5 17C7.5 17 9.56 15.15 9.92 12.75H12.5L15.29 6.43L16.08 7.96C14.82 8.87 14 10.34 14 12C14 14.76 16.24 17 19 17S24 14.76 24 12 21.76 7 19 7M5 15.5C3.07 15.5 1.5 13.93 1.5 12S3.07 8.5 5 8.5C6.67 8.5 8.07 9.68 8.41 11.25H4V12.75H8.41C8.07 14.32 6.67 15.5 5 15.5M19 15.5C17.07 15.5 15.5 13.93 15.5 12C15.5 10.92 16 9.97 16.77 9.33L18.57 12.85L19.89 12.13L18.1 8.63C18.39 8.56 18.69 8.5 19 8.5C20.93 8.5 22.5 10.07 22.5 12S20.93 15.5 19 15.5M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiBicyclePennyFarthing = \"M15.5 5.06V2H12V4H13.5V5.04C12.71 5.11 11.94 5.27 11.2 5.5C11.03 5.2 10.72 5 10.36 5H7C6.45 5 6 5.45 6 6S6.45 7 7 7H8.05C5.09 9 3.12 12.36 3 16.18C1.85 16.59 1 17.69 1 19C1 20.66 2.34 22 4 22S7 20.66 7 19C7 17.7 6.17 16.61 5 16.19C5.07 14.67 5.46 13.25 6.14 12C6.05 12.5 6 13 6 13.5C6 18.19 9.81 22 14.5 22C19.19 22 23 18.19 23 13.5C23 9.14 19.72 5.56 15.5 5.06M4 20C3.45 20 3 19.55 3 19S3.45 18 4 18 5 18.45 5 19 4.55 20 4 20M14.5 20C10.92 20 8 17.08 8 13.5C8 10.26 10.39 7.57 13.5 7.09V15H15.5V7.09C18.61 7.57 21 10.26 21 13.5C21 17.08 18.08 20 14.5 20Z\";\r\nexport var mdiBike = \"M5,20.5A3.5,3.5 0 0,1 1.5,17A3.5,3.5 0 0,1 5,13.5A3.5,3.5 0 0,1 8.5,17A3.5,3.5 0 0,1 5,20.5M5,12A5,5 0 0,0 0,17A5,5 0 0,0 5,22A5,5 0 0,0 10,17A5,5 0 0,0 5,12M14.8,10H19V8.2H15.8L13.86,4.93C13.57,4.43 13,4.1 12.4,4.1C11.93,4.1 11.5,4.29 11.2,4.6L7.5,8.29C7.19,8.6 7,9 7,9.5C7,10.13 7.33,10.66 7.85,10.97L11.2,13V18H13V11.5L10.75,9.85L13.07,7.5M19,20.5A3.5,3.5 0 0,1 15.5,17A3.5,3.5 0 0,1 19,13.5A3.5,3.5 0 0,1 22.5,17A3.5,3.5 0 0,1 19,20.5M19,12A5,5 0 0,0 14,17A5,5 0 0,0 19,22A5,5 0 0,0 24,17A5,5 0 0,0 19,12M16,4.8C17,4.8 17.8,4 17.8,3C17.8,2 17,1.2 16,1.2C15,1.2 14.2,2 14.2,3C14.2,4 15,4.8 16,4.8Z\";\r\nexport var mdiBikeFast = \"M16 1.2C15 1.2 14.2 2 14.2 3S15 4.8 16 4.8 17.8 4 17.8 3 17 1.2 16 1.2M12.4 4.1C11.93 4.1 11.5 4.29 11.2 4.6L7.5 8.29C7.19 8.6 7 9 7 9.5C7 10.13 7.33 10.66 7.85 10.97L11.2 13V18H13V11.5L10.75 9.85L13.07 7.5L14.8 10H19V8.2H15.8L13.86 4.93C13.57 4.43 13 4.1 12.4 4.1M10 3H3C2.45 3 2 2.55 2 2S2.45 1 3 1H12.79C12.58 1.34 12.41 1.71 12.32 2.11C11.46 2.13 10.65 2.45 10 3M5 12C2.24 12 0 14.24 0 17S2.24 22 5 22 10 19.76 10 17 7.76 12 5 12M5 20.5C3.07 20.5 1.5 18.93 1.5 17S3.07 13.5 5 13.5 8.5 15.07 8.5 17 6.93 20.5 5 20.5M19 12C16.24 12 14 14.24 14 17S16.24 22 19 22 24 19.76 24 17 21.76 12 19 12M19 20.5C17.07 20.5 15.5 18.93 15.5 17S17.07 13.5 19 13.5 22.5 15.07 22.5 17 20.93 20.5 19 20.5M5.32 11H1C.448 11 0 10.55 0 10S.448 9 1 9H5.05C5.03 9.16 5 9.33 5 9.5C5 10.03 5.12 10.54 5.32 11M6 7H2C1.45 7 1 6.55 1 6S1.45 5 2 5H7.97L6.09 6.87C6.05 6.91 6 6.96 6 7Z\";\r\nexport var mdiBikePedal = \"M6.85 5C5.87 5 5.04 5.71 4.87 6.67L4 12L4.87 17.33C5.04 18.29 5.87 19 6.85 19H14.15C15.13 19 15.97 18.29 16.13 17.33L16.68 14H18V13H20V11H18V10H16.68L16.13 6.67C15.97 5.71 15.13 5 14.15 5H6.85M6.85 7H14.15L14.82 11H6.18L6.85 7M6.18 13H14.82L14.15 17H6.85L6.18 13Z\";\r\nexport var mdiBikePedalClipless = \"M14.43 16.11L15.28 14H16V13H20V11H16V10H15.28L14.43 7.89C14 6.75 12.87 6 11.65 6H9.35C8.13 6 7 6.75 6.57 7.89L5.37 10.89C5.08 11.6 5.08 12.4 5.37 13.11L6.57 16.11C7 17.25 8.13 18 9.35 18H11.65C12.87 18 14 17.25 14.43 16.11M9.35 8H11.65C12.06 8 12.42 8.25 12.57 8.63L13.12 10H7.88L8.43 8.63C8.58 8.25 8.95 8 9.35 8M8.43 15.37L7.88 14H13.12L12.57 15.37C12.42 15.75 12.05 16 11.65 16H9.35C8.95 16 8.58 15.75 8.43 15.37Z\";\r\nexport var mdiBikePedalMountain = \"M6.82 5C5.87 5 5.05 5.67 4.86 6.61L4.04 10.71C4 10.84 4 10.97 4 11.1V12.9C4 13.03 4 13.16 4.04 13.29L4.86 17.39C5.05 18.33 5.87 19 6.82 19H13.38C14.14 19 14.83 18.57 15.17 17.89L16.79 14.66C16.89 14.45 16.96 14.23 17 14H18V13H20V11H18V10H17C16.96 9.77 16.89 9.55 16.79 9.34L15.17 6.11C14.83 5.43 14.14 5 13.38 5H6.82M6.82 7H7.38L9.88 12L7.38 17H6.82L6 12.9V11.1L6.82 7M11.62 11L9.62 7H13.38L15 10.24V11H11.62M11.62 13H15V13.76L13.38 17H9.62L11.62 13Z\";\r\nexport var mdiBillboard = \"M20 22H18V17H20M6 22H4V17H6M23 4V13A2 2 0 0 1 21 15H3A2 2 0 0 1 1 13V4A2 2 0 0 1 3 2H21A2 2 0 0 1 23 4M21 4H3V13H21M20 6H15V8H20M18 9H15V11H18M14 11H4L6.73 7.36L8.73 10.09L9.46 9.55L8.2 7.82L9.91 5.55Z\";\r\nexport var mdiBilliards = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15A2,2 0 0,0 11,17M12,1C5.92,1 1,5.92 1,12C1,18.08 5.92,23 12,23C18.08,23 23,18.08 23,12C23,5.92 18.08,1 12,1M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19Z\";\r\nexport var mdiBilliardsRack = \"M20.31,16.44L14.54,6.47C13.72,5.04 11.89,4.55 10.46,5.38C10,5.64 9.63,6 9.36,6.47L3.6,16.44C2.77,17.87 3.26,19.69 4.69,20.5C5.14,20.78 5.65,20.92 6.18,20.92H17.73C19.38,20.91 20.72,19.57 20.71,17.92C20.71,17.4 20.57,16.89 20.31,16.44M5.37,17.43L11.11,7.47C11.38,7 12,6.82 12.46,7.1C12.62,7.18 12.75,7.31 12.84,7.47L18.58,17.43C18.85,17.91 18.69,18.5 18.21,18.79C18.06,18.88 17.89,18.93 17.72,18.93H6.21C5.66,18.92 5.21,18.47 5.22,17.92C5.22,17.75 5.26,17.58 5.35,17.43H5.37M11.97,13.45C10.87,13.45 10,12.56 10,11.46C10,10.35 10.87,9.46 11.97,9.46A2,2 0 0,1 13.97,11.46C13.97,12.56 13.07,13.45 11.95,13.45H11.97M9.46,17.93C8.36,17.93 7.47,17.04 7.47,15.94C7.47,14.84 8.36,13.95 9.46,13.95C10.56,13.95 11.46,14.84 11.46,15.94C11.46,17.04 10.56,17.93 9.46,17.93M14.44,17.93A2,2 0 0,1 12.45,15.94A2,2 0 0,1 14.44,13.95C15.54,13.95 16.44,14.84 16.44,15.94C16.44,17.04 15.54,17.93 14.44,17.93Z\";\r\nexport var mdiBinoculars = \"M11,6H13V13H11V6M9,20A1,1 0 0,1 8,21H5A1,1 0 0,1 4,20V15L6,6H10V13A1,1 0 0,1 9,14V20M10,5H7V3H10V5M15,20V14A1,1 0 0,1 14,13V6H18L20,15V20A1,1 0 0,1 19,21H16A1,1 0 0,1 15,20M14,5V3H17V5H14Z\";\r\nexport var mdiBio = \"M17,12H20A2,2 0 0,1 22,14V17A2,2 0 0,1 20,19H17A2,2 0 0,1 15,17V14A2,2 0 0,1 17,12M17,14V17H20V14H17M2,7H7A2,2 0 0,1 9,9V11A2,2 0 0,1 7,13A2,2 0 0,1 9,15V17A2,2 0 0,1 7,19H2V13L2,7M4,9V12H7V9H4M4,17H7V14H4V17M11,13H13V19H11V13M11,9H13V11H11V9Z\";\r\nexport var mdiBiohazard = \"M23,16.06C23,16.29 23,16.5 22.96,16.7C22.78,14.14 20.64,12.11 18,12.11C17.63,12.11 17.27,12.16 16.92,12.23C16.96,12.5 17,12.73 17,13C17,15.35 15.31,17.32 13.07,17.81C13.42,20.05 15.31,21.79 17.65,21.96C17.43,22 17.22,22 17,22C14.92,22 13.07,20.94 12,19.34C10.93,20.94 9.09,22 7,22C6.78,22 6.57,22 6.35,21.96C8.69,21.79 10.57,20.06 10.93,17.81C8.68,17.32 7,15.35 7,13C7,12.73 7.04,12.5 7.07,12.23C6.73,12.16 6.37,12.11 6,12.11C3.36,12.11 1.22,14.14 1.03,16.7C1,16.5 1,16.29 1,16.06C1,12.85 3.59,10.24 6.81,10.14C6.3,9.27 6,8.25 6,7.17C6,4.94 7.23,3 9.06,2C7.81,2.9 7,4.34 7,6C7,7.35 7.56,8.59 8.47,9.5C9.38,8.59 10.62,8.04 12,8.04C13.37,8.04 14.62,8.59 15.5,9.5C16.43,8.59 17,7.35 17,6C17,4.34 16.18,2.9 14.94,2C16.77,3 18,4.94 18,7.17C18,8.25 17.7,9.27 17.19,10.14C20.42,10.24 23,12.85 23,16.06M9.27,10.11C10.05,10.62 11,10.92 12,10.92C13,10.92 13.95,10.62 14.73,10.11C14,9.45 13.06,9.03 12,9.03C10.94,9.03 10,9.45 9.27,10.11M12,14.47C12.82,14.47 13.5,13.8 13.5,13A1.5,1.5 0 0,0 12,11.5A1.5,1.5 0 0,0 10.5,13C10.5,13.8 11.17,14.47 12,14.47M10.97,16.79C10.87,14.9 9.71,13.29 8.05,12.55C8.03,12.7 8,12.84 8,13C8,14.82 9.27,16.34 10.97,16.79M15.96,12.55C14.29,13.29 13.12,14.9 13,16.79C14.73,16.34 16,14.82 16,13C16,12.84 15.97,12.7 15.96,12.55Z\";\r\nexport var mdiBird = \"M23 11.5L19.95 10.37C19.69 9.22 19.04 8.56 19.04 8.56C17.4 6.92 14.75 6.92 13.11 8.56L11.63 10.04L5 3C4 7 5 11 7.45 14.22L2 19.5C2 19.5 10.89 21.5 16.07 17.45C18.83 15.29 19.45 14.03 19.84 12.7L23 11.5M17.71 11.72C17.32 12.11 16.68 12.11 16.29 11.72C15.9 11.33 15.9 10.7 16.29 10.31C16.68 9.92 17.32 9.92 17.71 10.31C18.1 10.7 18.1 11.33 17.71 11.72Z\";\r\nexport var mdiBitbucket = \"M2.65 3C2.3 3 2 3.3 2 3.65C2 3.69 2 3.73 2 3.77L4.73 20.27C4.8 20.69 5.16 21 5.58 21H18.63C18.94 21 19.22 20.78 19.27 20.46L22 3.77C22.05 3.42 21.81 3.09 21.46 3.04C21.43 3.03 21.39 3.03 21.35 3.03L2.65 3M14.1 14.95H9.94L8.81 9.07H15.11L14.1 14.95Z\";\r\nexport var mdiBitcoin = \"M14.24 10.56C13.93 11.8 12 11.17 11.4 11L11.95 8.82C12.57 9 14.56 9.26 14.24 10.56M11.13 12.12L10.53 14.53C11.27 14.72 13.56 15.45 13.9 14.09C14.26 12.67 11.87 12.3 11.13 12.12M21.7 14.42C20.36 19.78 14.94 23.04 9.58 21.7C4.22 20.36 .963 14.94 2.3 9.58C3.64 4.22 9.06 .964 14.42 2.3C19.77 3.64 23.03 9.06 21.7 14.42M14.21 8.05L14.66 6.25L13.56 6L13.12 7.73C12.83 7.66 12.54 7.59 12.24 7.53L12.68 5.76L11.59 5.5L11.14 7.29C10.9 7.23 10.66 7.18 10.44 7.12L10.44 7.12L8.93 6.74L8.63 7.91C8.63 7.91 9.45 8.1 9.43 8.11C9.88 8.22 9.96 8.5 9.94 8.75L8.71 13.68C8.66 13.82 8.5 14 8.21 13.95C8.22 13.96 7.41 13.75 7.41 13.75L6.87 15L8.29 15.36C8.56 15.43 8.82 15.5 9.08 15.56L8.62 17.38L9.72 17.66L10.17 15.85C10.47 15.93 10.76 16 11.04 16.08L10.59 17.87L11.69 18.15L12.15 16.33C14 16.68 15.42 16.54 16 14.85C16.5 13.5 16 12.7 15 12.19C15.72 12 16.26 11.55 16.41 10.57C16.61 9.24 15.59 8.53 14.21 8.05Z\";\r\nexport var mdiBlackMesa = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.39 5.05,16.53 6.71,18H9V12H17L19.15,15.59C19.69,14.5 20,13.29 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiBlender = \"M16.13 15.13L18 3H14V2H10V3H5C3.9 3 3 3.9 3 5V9C3 10.1 3.9 11 5 11H7.23L7.87 15.13C6.74 16.05 6 17.43 6 19V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V19C18 17.43 17.26 16.05 16.13 15.13M5 9V5H6.31L6.93 9H5M12 19C11.45 19 11 18.55 11 18S11.45 17 12 17 13 17.45 13 18 12.55 19 12 19M14.29 14H9.72L8.33 5H15.67L14.29 14Z\";\r\nexport var mdiBlenderOutline = \"M16.13 15.13L18 3H14V2H10V3H5C3.9 3 3 3.9 3 5V9C3 10.1 3.9 11 5 11H7.23L7.87 15.13C6.74 16.05 6 17.43 6 19V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V19C18 17.43 17.26 16.05 16.13 15.13M5 9V5H6.31L6.93 9H5M15.67 5L14.29 14H9.72L8.33 5H15.67M16 20H8V19C8 17.35 9.35 16 11 16H13C14.65 16 16 17.35 16 19V20M12 17C12.55 17 13 17.45 13 18S12.55 19 12 19 11 18.55 11 18 11.45 17 12 17Z\";\r\nexport var mdiBlenderSoftware = \"M12.58,3.12V3.13C12.27,3.13 11.96,3.22 11.71,3.39C11.21,3.74 11.15,4.32 11.6,4.69L14.46,7L5.73,7.03H5.72C5,7.03 4.3,7.5 4.16,8.1C4,8.71 4.5,9.22 5.26,9.22L9.69,9.21L1.76,15.3C1,15.87 0.77,16.82 1.24,17.42C1.72,18.03 2.73,18.03 3.5,17.42L7.8,13.89C7.8,13.89 7.73,14.37 7.74,14.65C7.74,14.94 7.84,15.5 7.97,15.93C8.26,16.86 8.75,17.71 9.43,18.46C10.13,19.23 11,19.85 12,20.29C13.03,20.76 14.17,21 15.34,21C16.5,21 17.65,20.75 18.69,20.28C19.69,19.84 20.55,19.21 21.25,18.44C21.93,17.69 22.42,16.83 22.71,15.91C22.85,15.44 22.94,14.97 23,14.5C23,14.03 23,13.56 22.94,13.09C22.81,12.18 22.5,11.32 22,10.54C21.56,9.83 21,9.2 20.31,8.67V8.67L13.42,3.38C13.19,3.21 12.89,3.12 12.58,3.12M15.34,9.21C16.5,9.21 17.59,9.59 18.46,10.29C18.9,10.65 19.25,11.07 19.5,11.54C19.77,12 19.94,12.55 20,13.11C20.04,13.67 19.96,14.23 19.77,14.77C19.57,15.31 19.25,15.81 18.82,16.26C17.93,17.16 16.69,17.68 15.34,17.68C14,17.68 12.75,17.17 11.86,16.27C11.43,15.83 11.11,15.32 10.91,14.78C10.72,14.25 10.64,13.69 10.69,13.12C10.74,12.56 10.91,12.03 11.17,11.55C11.43,11.08 11.79,10.66 12.23,10.3C13.09,9.59 14.19,9.21 15.34,9.21M15.44,10.61C14.66,10.61 13.94,10.89 13.41,11.34C12.87,11.8 12.5,12.44 12.47,13.18C12.43,13.93 12.73,14.63 13.26,15.15C13.8,15.68 14.58,16 15.44,16C16.3,16 17.07,15.68 17.62,15.15C18.15,14.63 18.45,13.93 18.41,13.18C18.37,12.44 18,11.8 17.47,11.34C16.94,10.89 16.22,10.61 15.44,10.61Z\";\r\nexport var mdiBlinds = \"M3,2H21A1,1 0 0,1 22,3V5A1,1 0 0,1 21,6H20V13A1,1 0 0,1 19,14H13V16.17C14.17,16.58 15,17.69 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.69 9.83,16.58 11,16.17V14H5A1,1 0 0,1 4,13V6H3A1,1 0 0,1 2,5V3A1,1 0 0,1 3,2M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z\";\r\nexport var mdiBlindsHorizontal = \"M20 19V3H4V19H2V21H22V19H20M16 9H18V11H16V9M14 11H6V9H14V11M18 7H16V5H18V7M14 5V7H6V5H14M6 19V13H14V14.82C13.55 15.14 13.25 15.66 13.25 16.25C13.25 17.22 14.03 18 15 18S16.75 17.22 16.75 16.25C16.75 15.66 16.45 15.13 16 14.82V13H18V19H6Z\";\r\nexport var mdiBlindsHorizontalClosed = \"M20 19V3H4V19H2V21H13.25C13.25 21.97 14.03 22.75 15 22.75S16.75 21.97 16.75 21H22V19H20M18 11H16V9H18V11M14 11H6V9H14V11M14 13V15H6V13H14M16 13H18V15H16V13M18 7H16V5H18V7M14 5V7H6V5H14M6 19V17H14V19H6M16 19V17H18V19H16Z\";\r\nexport var mdiBlindsOpen = \"M3 2H21C21.55 2 22 2.45 22 3V5C22 5.55 21.55 6 21 6H20V7C20 7.55 19.55 8 19 8H13V10.17C14.17 10.58 15 11.7 15 13C15 14.66 13.66 16 12 16C10.34 16 9 14.66 9 13C9 11.69 9.84 10.58 11 10.17V8H5C4.45 8 4 7.55 4 7V6H3C2.45 6 2 5.55 2 5V3C2 2.45 2.45 2 3 2M12 12C11.45 12 11 12.45 11 13C11 13.55 11.45 14 12 14C12.55 14 13 13.55 13 13C13 12.45 12.55 12 12 12Z\";\r\nexport var mdiBlindsVertical = \"M20 19V3H4V19H2V21H22V19H20M10 19V5H14V19H10Z\";\r\nexport var mdiBlindsVerticalClosed = \"M20 19V3H4V19H2V21H22V19H20M13 5H14.5V19H13V5M11 19H9.5V5H11V19M6 5H7.5V19H6V5M16.5 19V5H18V19H16.5Z\";\r\nexport var mdiBlockHelper = \"M12,0A12,12 0 0,1 24,12A12,12 0 0,1 12,24A12,12 0 0,1 0,12A12,12 0 0,1 12,0M12,2A10,10 0 0,0 2,12C2,14.4 2.85,16.6 4.26,18.33L18.33,4.26C16.6,2.85 14.4,2 12,2M12,22A10,10 0 0,0 22,12C22,9.6 21.15,7.4 19.74,5.67L5.67,19.74C7.4,21.15 9.6,22 12,22Z\";\r\nexport var mdiBloodBag = \"M21,7C20,7 20,6 20,6V5H18V7H16V6C16,4.27 14.75,1 10,1C5.25,1 4,4.27 4,6V19C4,19.33 3.9,21 2,21V23C4.93,23 6,20.61 6,19V6C6,5.88 6.05,3 10,3C13.83,3 14,5.7 14,6V7H12V5H10V6C10,6 10,7 9,7C8,7 8,8 8,8V20C8,20 8,22 13,22C13.24,22 14.13,22 17,22C22,22 22,20 22,20V8C22,8 22,7 21,7M15,19.4A3,3 0 0,1 12,16.4C12,14.4 15,11 15,11C15,11 18,14.4 18,16.4A3,3 0 0,1 15,19.4Z\";\r\nexport var mdiBluetooth = \"M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12L17.71,7.71Z\";\r\nexport var mdiBluetoothAudio = \"M12.88,16.29L11,18.17V14.41M11,5.83L12.88,7.71L11,9.58M15.71,7.71L10,2H9V9.58L4.41,5L3,6.41L8.59,12L3,17.58L4.41,19L9,14.41V22H10L15.71,16.29L11.41,12M19.53,6.71L18.26,8C18.89,9.18 19.25,10.55 19.25,12C19.25,13.45 18.89,14.82 18.26,16L19.46,17.22C20.43,15.68 21,13.87 21,11.91C21,10 20.46,8.23 19.53,6.71M14.24,12L16.56,14.33C16.84,13.6 17,12.82 17,12C17,11.18 16.84,10.4 16.57,9.68L14.24,12Z\";\r\nexport var mdiBluetoothConnect = \"M19,10L17,12L19,14L21,12M14.88,16.29L13,18.17V14.41M13,5.83L14.88,7.71L13,9.58M17.71,7.71L12,2H11V9.58L6.41,5L5,6.41L10.59,12L5,17.58L6.41,19L11,14.41V22H12L17.71,16.29L13.41,12M7,12L5,10L3,12L5,14L7,12Z\";\r\nexport var mdiBluetoothOff = \"M13,5.83L14.88,7.71L13.28,9.31L14.69,10.72L17.71,7.7L12,2H11V7.03L13,9.03M5.41,4L4,5.41L10.59,12L5,17.59L6.41,19L11,14.41V22H12L16.29,17.71L18.59,20L20,18.59M13,18.17V14.41L14.88,16.29\";\r\nexport var mdiBluetoothSettings = \"M14.88,14.29L13,16.17V12.41L14.88,14.29M13,3.83L14.88,5.71L13,7.59M17.71,5.71L12,0H11V7.59L6.41,3L5,4.41L10.59,10L5,15.59L6.41,17L11,12.41V20H12L17.71,14.29L13.41,10L17.71,5.71M15,24H17V22H15M7,24H9V22H7M11,24H13V22H11V24Z\";\r\nexport var mdiBluetoothTransfer = \"M14.71,7.71L10.41,12L14.71,16.29L9,22H8V14.41L3.41,19L2,17.59L7.59,12L2,6.41L3.41,5L8,9.59V2H9L14.71,7.71M10,5.83V9.59L11.88,7.71L10,5.83M11.88,16.29L10,14.41V18.17L11.88,16.29M22,8H20V11H18V8H16L19,4L22,8M22,16L19,20L16,16H18V13H20V16H22Z\";\r\nexport var mdiBlur = \"M14,8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 14,11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 14,8.5M14,12.5A1.5,1.5 0 0,0 12.5,14A1.5,1.5 0 0,0 14,15.5A1.5,1.5 0 0,0 15.5,14A1.5,1.5 0 0,0 14,12.5M10,17A1,1 0 0,0 9,18A1,1 0 0,0 10,19A1,1 0 0,0 11,18A1,1 0 0,0 10,17M10,8.5A1.5,1.5 0 0,0 8.5,10A1.5,1.5 0 0,0 10,11.5A1.5,1.5 0 0,0 11.5,10A1.5,1.5 0 0,0 10,8.5M14,20.5A0.5,0.5 0 0,0 13.5,21A0.5,0.5 0 0,0 14,21.5A0.5,0.5 0 0,0 14.5,21A0.5,0.5 0 0,0 14,20.5M14,17A1,1 0 0,0 13,18A1,1 0 0,0 14,19A1,1 0 0,0 15,18A1,1 0 0,0 14,17M21,13.5A0.5,0.5 0 0,0 20.5,14A0.5,0.5 0 0,0 21,14.5A0.5,0.5 0 0,0 21.5,14A0.5,0.5 0 0,0 21,13.5M18,5A1,1 0 0,0 17,6A1,1 0 0,0 18,7A1,1 0 0,0 19,6A1,1 0 0,0 18,5M18,9A1,1 0 0,0 17,10A1,1 0 0,0 18,11A1,1 0 0,0 19,10A1,1 0 0,0 18,9M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,13A1,1 0 0,0 17,14A1,1 0 0,0 18,15A1,1 0 0,0 19,14A1,1 0 0,0 18,13M10,12.5A1.5,1.5 0 0,0 8.5,14A1.5,1.5 0 0,0 10,15.5A1.5,1.5 0 0,0 11.5,14A1.5,1.5 0 0,0 10,12.5M10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7M10,3.5A0.5,0.5 0 0,0 10.5,3A0.5,0.5 0 0,0 10,2.5A0.5,0.5 0 0,0 9.5,3A0.5,0.5 0 0,0 10,3.5M10,20.5A0.5,0.5 0 0,0 9.5,21A0.5,0.5 0 0,0 10,21.5A0.5,0.5 0 0,0 10.5,21A0.5,0.5 0 0,0 10,20.5M3,13.5A0.5,0.5 0 0,0 2.5,14A0.5,0.5 0 0,0 3,14.5A0.5,0.5 0 0,0 3.5,14A0.5,0.5 0 0,0 3,13.5M14,3.5A0.5,0.5 0 0,0 14.5,3A0.5,0.5 0 0,0 14,2.5A0.5,0.5 0 0,0 13.5,3A0.5,0.5 0 0,0 14,3.5M14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7M21,10.5A0.5,0.5 0 0,0 21.5,10A0.5,0.5 0 0,0 21,9.5A0.5,0.5 0 0,0 20.5,10A0.5,0.5 0 0,0 21,10.5M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M3,9.5A0.5,0.5 0 0,0 2.5,10A0.5,0.5 0 0,0 3,10.5A0.5,0.5 0 0,0 3.5,10A0.5,0.5 0 0,0 3,9.5M6,9A1,1 0 0,0 5,10A1,1 0 0,0 6,11A1,1 0 0,0 7,10A1,1 0 0,0 6,9M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,13A1,1 0 0,0 5,14A1,1 0 0,0 6,15A1,1 0 0,0 7,14A1,1 0 0,0 6,13Z\";\r\nexport var mdiBlurLinear = \"M13,17A1,1 0 0,0 14,16A1,1 0 0,0 13,15A1,1 0 0,0 12,16A1,1 0 0,0 13,17M13,13A1,1 0 0,0 14,12A1,1 0 0,0 13,11A1,1 0 0,0 12,12A1,1 0 0,0 13,13M13,9A1,1 0 0,0 14,8A1,1 0 0,0 13,7A1,1 0 0,0 12,8A1,1 0 0,0 13,9M17,12.5A0.5,0.5 0 0,0 17.5,12A0.5,0.5 0 0,0 17,11.5A0.5,0.5 0 0,0 16.5,12A0.5,0.5 0 0,0 17,12.5M17,8.5A0.5,0.5 0 0,0 17.5,8A0.5,0.5 0 0,0 17,7.5A0.5,0.5 0 0,0 16.5,8A0.5,0.5 0 0,0 17,8.5M3,3V5H21V3M17,16.5A0.5,0.5 0 0,0 17.5,16A0.5,0.5 0 0,0 17,15.5A0.5,0.5 0 0,0 16.5,16A0.5,0.5 0 0,0 17,16.5M9,17A1,1 0 0,0 10,16A1,1 0 0,0 9,15A1,1 0 0,0 8,16A1,1 0 0,0 9,17M5,13.5A1.5,1.5 0 0,0 6.5,12A1.5,1.5 0 0,0 5,10.5A1.5,1.5 0 0,0 3.5,12A1.5,1.5 0 0,0 5,13.5M5,9.5A1.5,1.5 0 0,0 6.5,8A1.5,1.5 0 0,0 5,6.5A1.5,1.5 0 0,0 3.5,8A1.5,1.5 0 0,0 5,9.5M3,21H21V19H3M9,9A1,1 0 0,0 10,8A1,1 0 0,0 9,7A1,1 0 0,0 8,8A1,1 0 0,0 9,9M9,13A1,1 0 0,0 10,12A1,1 0 0,0 9,11A1,1 0 0,0 8,12A1,1 0 0,0 9,13M5,17.5A1.5,1.5 0 0,0 6.5,16A1.5,1.5 0 0,0 5,14.5A1.5,1.5 0 0,0 3.5,16A1.5,1.5 0 0,0 5,17.5Z\";\r\nexport var mdiBlurOff = \"M3,13.5A0.5,0.5 0 0,0 2.5,14A0.5,0.5 0 0,0 3,14.5A0.5,0.5 0 0,0 3.5,14A0.5,0.5 0 0,0 3,13.5M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M10,20.5A0.5,0.5 0 0,0 9.5,21A0.5,0.5 0 0,0 10,21.5A0.5,0.5 0 0,0 10.5,21A0.5,0.5 0 0,0 10,20.5M3,9.5A0.5,0.5 0 0,0 2.5,10A0.5,0.5 0 0,0 3,10.5A0.5,0.5 0 0,0 3.5,10A0.5,0.5 0 0,0 3,9.5M6,13A1,1 0 0,0 5,14A1,1 0 0,0 6,15A1,1 0 0,0 7,14A1,1 0 0,0 6,13M21,13.5A0.5,0.5 0 0,0 20.5,14A0.5,0.5 0 0,0 21,14.5A0.5,0.5 0 0,0 21.5,14A0.5,0.5 0 0,0 21,13.5M10,17A1,1 0 0,0 9,18A1,1 0 0,0 10,19A1,1 0 0,0 11,18A1,1 0 0,0 10,17M2.5,5.27L6.28,9.05L6,9A1,1 0 0,0 5,10A1,1 0 0,0 6,11A1,1 0 0,0 7,10C7,9.9 6.97,9.81 6.94,9.72L9.75,12.53C9.04,12.64 8.5,13.26 8.5,14A1.5,1.5 0 0,0 10,15.5C10.74,15.5 11.36,14.96 11.47,14.25L14.28,17.06C14.19,17.03 14.1,17 14,17A1,1 0 0,0 13,18A1,1 0 0,0 14,19A1,1 0 0,0 15,18C15,17.9 14.97,17.81 14.94,17.72L18.72,21.5L20,20.23L3.77,4L2.5,5.27M14,20.5A0.5,0.5 0 0,0 13.5,21A0.5,0.5 0 0,0 14,21.5A0.5,0.5 0 0,0 14.5,21A0.5,0.5 0 0,0 14,20.5M18,7A1,1 0 0,0 19,6A1,1 0 0,0 18,5A1,1 0 0,0 17,6A1,1 0 0,0 18,7M18,11A1,1 0 0,0 19,10A1,1 0 0,0 18,9A1,1 0 0,0 17,10A1,1 0 0,0 18,11M18,15A1,1 0 0,0 19,14A1,1 0 0,0 18,13A1,1 0 0,0 17,14A1,1 0 0,0 18,15M10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7M21,10.5A0.5,0.5 0 0,0 21.5,10A0.5,0.5 0 0,0 21,9.5A0.5,0.5 0 0,0 20.5,10A0.5,0.5 0 0,0 21,10.5M10,3.5A0.5,0.5 0 0,0 10.5,3A0.5,0.5 0 0,0 10,2.5A0.5,0.5 0 0,0 9.5,3A0.5,0.5 0 0,0 10,3.5M14,3.5A0.5,0.5 0 0,0 14.5,3A0.5,0.5 0 0,0 14,2.5A0.5,0.5 0 0,0 13.5,3A0.5,0.5 0 0,0 14,3.5M13.8,11.5H14A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 14,8.5A1.5,1.5 0 0,0 12.5,10V10.2C12.61,10.87 13.13,11.39 13.8,11.5M14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7Z\";\r\nexport var mdiBlurRadial = \"M14,13A1,1 0 0,0 13,14A1,1 0 0,0 14,15A1,1 0 0,0 15,14A1,1 0 0,0 14,13M14,16.5A0.5,0.5 0 0,0 13.5,17A0.5,0.5 0 0,0 14,17.5A0.5,0.5 0 0,0 14.5,17A0.5,0.5 0 0,0 14,16.5M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,9.5A0.5,0.5 0 0,0 16.5,10A0.5,0.5 0 0,0 17,10.5A0.5,0.5 0 0,0 17.5,10A0.5,0.5 0 0,0 17,9.5M17,13.5A0.5,0.5 0 0,0 16.5,14A0.5,0.5 0 0,0 17,14.5A0.5,0.5 0 0,0 17.5,14A0.5,0.5 0 0,0 17,13.5M14,7.5A0.5,0.5 0 0,0 14.5,7A0.5,0.5 0 0,0 14,6.5A0.5,0.5 0 0,0 13.5,7A0.5,0.5 0 0,0 14,7.5M14,9A1,1 0 0,0 13,10A1,1 0 0,0 14,11A1,1 0 0,0 15,10A1,1 0 0,0 14,9M10,7.5A0.5,0.5 0 0,0 10.5,7A0.5,0.5 0 0,0 10,6.5A0.5,0.5 0 0,0 9.5,7A0.5,0.5 0 0,0 10,7.5M7,13.5A0.5,0.5 0 0,0 6.5,14A0.5,0.5 0 0,0 7,14.5A0.5,0.5 0 0,0 7.5,14A0.5,0.5 0 0,0 7,13.5M10,16.5A0.5,0.5 0 0,0 9.5,17A0.5,0.5 0 0,0 10,17.5A0.5,0.5 0 0,0 10.5,17A0.5,0.5 0 0,0 10,16.5M7,9.5A0.5,0.5 0 0,0 6.5,10A0.5,0.5 0 0,0 7,10.5A0.5,0.5 0 0,0 7.5,10A0.5,0.5 0 0,0 7,9.5M10,13A1,1 0 0,0 9,14A1,1 0 0,0 10,15A1,1 0 0,0 11,14A1,1 0 0,0 10,13M10,9A1,1 0 0,0 9,10A1,1 0 0,0 10,11A1,1 0 0,0 11,10A1,1 0 0,0 10,9Z\";\r\nexport var mdiBolt = \"M14,17.7V21H10V20.3L14,17.7M17,3H7V6H17V3M15,7L14,7.7V7H10V10.3L9,11V12L15,8.1V7M15,11L14,11.7V9.7L10,12.4V14.4L9,15V16L15,12.1V11M15,15L14,15.7V13.7L10,16.4V18.4L9,19V20L15,16.1V15Z\";\r\nexport var mdiBomb = \"M11.25,6A3.25,3.25 0 0,1 14.5,2.75A3.25,3.25 0 0,1 17.75,6C17.75,6.42 18.08,6.75 18.5,6.75C18.92,6.75 19.25,6.42 19.25,6V5.25H20.75V6A2.25,2.25 0 0,1 18.5,8.25A2.25,2.25 0 0,1 16.25,6A1.75,1.75 0 0,0 14.5,4.25A1.75,1.75 0 0,0 12.75,6H14V7.29C16.89,8.15 19,10.83 19,14A7,7 0 0,1 12,21A7,7 0 0,1 5,14C5,10.83 7.11,8.15 10,7.29V6H11.25M22,6H24V7H22V6M19,4V2H20V4H19M20.91,4.38L22.33,2.96L23.04,3.67L21.62,5.09L20.91,4.38Z\";\r\nexport var mdiBombOff = \"M14.5,2.75C12.7,2.75 11.25,4.2 11.25,6H10V7.29C9.31,7.5 8.67,7.81 8.08,8.2L17.79,17.91C18.58,16.76 19,15.39 19,14C19,10.83 16.89,8.15 14,7.29V6H12.75A1.75,1.75 0 0,1 14.5,4.25A1.75,1.75 0 0,1 16.25,6A2.25,2.25 0 0,0 18.5,8.25C19.74,8.25 20.74,7.24 20.74,6V5.25H19.25V6C19.25,6.42 18.91,6.75 18.5,6.75C18.08,6.75 17.75,6.42 17.75,6C17.75,4.2 16.29,2.75 14.5,2.75M3.41,6.36L2,7.77L5.55,11.32C5.2,12.14 5,13.04 5,14C5,17.86 8.13,21 12,21C12.92,21 13.83,20.81 14.68,20.45L18.23,24L19.64,22.59L3.41,6.36Z\";\r\nexport var mdiBone = \"M8,14A3,3 0 0,1 5,17A3,3 0 0,1 2,14C2,13.23 2.29,12.53 2.76,12C2.29,11.47 2,10.77 2,10A3,3 0 0,1 5,7A3,3 0 0,1 8,10C9.33,10.08 10.67,10.17 12,10.17C13.33,10.17 14.67,10.08 16,10A3,3 0 0,1 19,7A3,3 0 0,1 22,10C22,10.77 21.71,11.47 21.24,12C21.71,12.53 22,13.23 22,14A3,3 0 0,1 19,17A3,3 0 0,1 16,14C14.67,13.92 13.33,13.83 12,13.83C10.67,13.83 9.33,13.92 8,14Z\";\r\nexport var mdiBoneOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H5C3.3 7 2 8.3 2 10C2 10.8 2.3 11.5 2.8 12C2.3 12.5 2 13.2 2 14C2 15.7 3.3 17 5 17S8 15.7 8 14C9.3 13.9 10.6 13.8 11.9 13.8L20.8 22.7L22.1 21.5M20 16.8L13.3 10.1C14.2 10.1 15.1 10 16 10C16 8.3 17.3 7 19 7S22 8.3 22 10C22 10.8 21.7 11.5 21.2 12C21.7 12.5 22 13.2 22 14C22 15.3 21.2 16.4 20 16.8Z\";\r\nexport var mdiBook = \"M18,22A2,2 0 0,0 20,20V4C20,2.89 19.1,2 18,2H12V9L9.5,7.5L7,9V2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18Z\";\r\nexport var mdiBookAccount = \"M18 2H12V9L9.5 7.5L7 9V2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14 12A2 2 0 1 1 12 14A2 2 0 0 1 14 12M18 20H10V19C10 17.67 12.67 17 14 17S18 17.67 18 19Z\";\r\nexport var mdiBookAccountOutline = \"M18 2A2 2 0 0 1 20 4V20A2 2 0 0 1 18 22H6A2 2 0 0 1 4 20V4A2 2 0 0 1 6 2H18M18 4H13V9L10.5 6.7L8 9V4H6V20H18M13 11A2 2 0 1 1 11 13A2 2 0 0 1 13 11M17 19H9V18C9 16.67 11.67 16 13 16S17 16.67 17 18V19\";\r\nexport var mdiBookAlert = \"M18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2H5V9L7.5 7.5L10 9V2H16C17.1 2 18 2.89 18 4M20 17H22V15H20V17M20 7V13H22V7H20Z\";\r\nexport var mdiBookAlertOutline = \"M16 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V4C18 2.9 17.11 2 16 2M16 20H4V4H6V12L8.5 9.75L11 12V4H16V20M20 15H22V17H20V15M22 7V13H20V7H22Z\";\r\nexport var mdiBookAlphabet = \"M5.81,2C4.83,2.09 4,3 4,4V20C4,21.05 4.95,22 6,22H18C19.05,22 20,21.05 20,20V4C20,2.89 19.1,2 18,2H12V9L9.5,7.5L7,9V2H6C5.94,2 5.87,2 5.81,2M12,13H13A1,1 0 0,1 14,14V18H13V16H12V18H11V14A1,1 0 0,1 12,13M12,14V15H13V14H12M15,15H18V16L16,19H18V20H15V19L17,16H15V15Z\";\r\nexport var mdiBookArrowDown = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M20 20V16H18V20H16L19 23L22 20H20Z\";\r\nexport var mdiBookArrowDownOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M20 20V16H18V20H16L19 23L22 20H20Z\";\r\nexport var mdiBookArrowLeft = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M18 18V16L15 19L18 22V20H22V18H18Z\";\r\nexport var mdiBookArrowLeftOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M18 18V16L15 19L18 22V20H22V18H18Z\";\r\nexport var mdiBookArrowRight = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiBookArrowRightOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiBookArrowUp = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M19 15L16 18H18V22H20V18H22L19 15Z\";\r\nexport var mdiBookArrowUpOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M19 15L16 18H18V22H20V18H22L19 15Z\";\r\nexport var mdiBookCancel = \"M12 18.5C12 19.79 12.39 21 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiBookCancelOutline = \"M12.18 20C12.36 20.72 12.65 21.39 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03V4H13V12L10.5 9.75L8 12V4H6V20H12.18M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiBookCheck = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M6 22C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.34C19.37 13.12 18.7 13 18 13C14.69 13 12 15.69 12 19C12 20.09 12.29 21.12 12.8 22H6Z\";\r\nexport var mdiBookCheckOutline = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M18 2C19.1 2 20 2.9 20 4V13.34C19.37 13.12 18.7 13 18 13V4H13V12L10.5 9.75L8 12V4H6V20H12.08C12.2 20.72 12.45 21.39 12.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H18Z\";\r\nexport var mdiBookClock = \"M16.5 17.25L19.36 18.94L18.61 20.16L15 18V13H16.5V17.25M23 17C23 20.87 19.87 24 16 24C14.09 24 12.37 23.24 11.11 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11.26C21.81 12.53 23 14.62 23 17M21 17C21 14.24 18.76 12 16 12S11 14.24 11 17 13.24 22 16 22 21 19.76 21 17Z\";\r\nexport var mdiBookClockOutline = \"M20 11.26V4C20 2.9 19.11 2 18 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H11.11C12.37 23.24 14.09 24 16 24C19.87 24 23 20.87 23 17C23 14.62 21.81 12.53 20 11.26M18 4V10.29C17.37 10.11 16.7 10 16 10C14.93 10 13.91 10.25 13 10.68V4H18M6 4H8V12L10.5 9.75L12.1 11.19C10.23 12.45 9 14.58 9 17C9 18.08 9.25 19.09 9.68 20H6V4M16 22C13.24 22 11 19.76 11 17S13.24 12 16 12 21 14.24 21 17 18.76 22 16 22M16.5 17.25L19.36 18.94L18.61 20.16L15 18V13H16.5V17.25Z\";\r\nexport var mdiBookCog = \"M12 19C12 20.08 12.25 21.09 12.68 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.08C19.67 12.03 19.34 12 19 12C15.13 12 12 15.13 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiBookCogOutline = \"M18 4H13V12L10.5 9.75L8 12V4H6V20H12.08C12.18 20.71 12.39 21.38 12.69 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.08C19.67 12.03 19.34 12 19 12C18.66 12 18.33 12.03 18 12.08V4M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiBookCross = \"M5.81,2H7V9L9.5,7.5L12,9V2H18A2,2 0 0,1 20,4V20C20,21.05 19.05,22 18,22H6C4.95,22 4,21.05 4,20V4C4,3 4.83,2.09 5.81,2M13,10V13H10V15H13V20H15V15H18V13H15V10H13Z\";\r\nexport var mdiBookEdit = \"M19.39 10.74L11 19.13V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.3C19.78 10.42 19.57 10.56 19.39 10.74M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiBookEditOutline = \"M6 20H11V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.3C19.78 10.42 19.57 10.56 19.39 10.74L18 12.13V4H13V12L10.5 9.75L8 12V4H6V20M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiBookEducation = \"M8.82 17L13 19.28V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.54L18.5 11.72L8.82 17M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z\";\r\nexport var mdiBookEducationOutline = \"M6 20H13V22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.54L18.5 11.72L18 12V4H13V12L10.5 9.75L8 12V4H6V20M24 17L18.5 14L13 17L18.5 20L24 17M15 19.09V21.09L18.5 23L22 21.09V19.09L18.5 21L15 19.09Z\";\r\nexport var mdiBookHeart = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M6 22C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.08L19 13C15.69 13 13 15.69 13 19C13 20.09 13.29 21.12 13.8 22H6Z\";\r\nexport var mdiBookHeartOutline = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M18 2C19.1 2 20 2.9 20 4V13.08L19 13L18 13.08V4H13V12L10.5 9.75L8 12V4H6V20H13.08C13.2 20.72 13.45 21.39 13.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H18Z\";\r\nexport var mdiBookInformationVariant = \"M18 2H12V9L9.5 7.5L7 9V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.89 19.1 2 18 2M17.68 18.41C17.57 18.5 16.47 19.25 16.05 19.5C15.63 19.79 14 20.72 14.26 18.92C14.89 15.28 16.11 13.12 14.65 14.06C14.27 14.29 14.05 14.43 13.91 14.5C13.78 14.61 13.79 14.6 13.68 14.41S13.53 14.23 13.67 14.13C13.67 14.13 15.9 12.34 16.72 12.28C17.5 12.21 17.31 13.17 17.24 13.61C16.78 15.46 15.94 18.15 16.07 18.54C16.18 18.93 17 18.31 17.44 18C17.44 18 17.5 17.93 17.61 18.05C17.72 18.22 17.83 18.3 17.68 18.41M16.97 11.06C16.4 11.06 15.94 10.6 15.94 10.03C15.94 9.46 16.4 9 16.97 9C17.54 9 18 9.46 18 10.03C18 10.6 17.54 11.06 16.97 11.06Z\";\r\nexport var mdiBookLock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.11C19.68 10.04 19.34 10 19 10C16.4 10 14.2 12.06 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiBookLockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V9.11C19.68 9.04 19.34 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiBookLockOpenOutline = \"M13 20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V9.11C19.68 9.04 19.34 9 19 9S18.32 9.04 18 9.11V4H13V12L10.5 9.75L8 12V4H6V20H13V20.7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiBookLockOutline = \"M13 20.7C13 21.16 13.1 21.6 13.27 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.11C19.68 10.04 19.34 10 19 10S18.32 10.04 18 10.11V4H13V12L10.5 9.75L8 12V4H6V20H13V20.7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiBookMarker = \"M13 15.5C13 17.78 14.7 20.41 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V10.22C19.5 10.08 19 10 18.5 10C15.5 10 13 12.5 13 15.5M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiBookMarkerOutline = \"M14.55 20C15 20.76 15.5 21.44 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V10.22C19.5 10.08 19 10 18.5 10C18.33 10 18.17 10 18 10.03V4H13V12L10.5 9.75L8 12V4H6V20H14.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiBookMinus = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiBookMinusMultiple = \"M13.09 20H5V6H3V20C3 21.11 3.9 22 5 22H13.81C13.44 21.39 13.2 20.71 13.09 20M19 2H14V7L12 5.5L10 7V2H9C7.9 2 7 2.9 7 4V16C7 17.11 7.9 18 9 18H13.09C13.64 14.73 16.74 12.53 20 13.08C20.34 13.14 20.68 13.23 21 13.34V4C21 2.9 20.11 2 19 2M23 18V20H15V18H23Z\";\r\nexport var mdiBookMinusMultipleOutline = \"M13.09 20H5V6H3V20C3 21.11 3.9 22 5 22H13.81C13.44 21.39 13.2 20.71 13.09 20M19 2H9C7.9 2 7 2.9 7 4V16C7 17.11 7.9 18 9 18H13.09C13.2 17.29 13.44 16.61 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13C19.68 13 20.36 13.11 21 13.34V4C21 2.9 20.11 2 19 2M23 18V20H15V18H23Z\";\r\nexport var mdiBookMinusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M15 18V20H23V18H15Z\";\r\nexport var mdiBookMultiple = \"M19,18H9A2,2 0 0,1 7,16V4A2,2 0 0,1 9,2H10V7L12,5.5L14,7V2H19A2,2 0 0,1 21,4V16A2,2 0 0,1 19,18M17,20V22H5A2,2 0 0,1 3,20V6H5V20H17Z\";\r\nexport var mdiBookMultipleOutline = \"M19 2A2 2 0 0 1 21 4V16A2 2 0 0 1 19 18H9A2 2 0 0 1 7 16V4A2 2 0 0 1 9 2H19M19 4H16V10L13.5 7.75L11 10V4H9V16H19M3 20A2 2 0 0 0 5 22H17V20H5V6H3Z\";\r\nexport var mdiBookMusic = \"M13 20.5C13 21.03 13.09 21.53 13.26 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11H16.5V16.11C14.5 16.57 13 18.36 13 20.5M20 13H18.5V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H20Z\";\r\nexport var mdiBookMusicOutline = \"M13 20.5C13 21.03 13.09 21.53 13.26 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V11H18V4H13V12L10.5 9.75L8 12V4H6V20H13.04C13.03 20.17 13 20.33 13 20.5M20 13H18.5V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H20Z\";\r\nexport var mdiBookOff = \"M18.68 2.12L12 8.8V2H18C18.24 2 18.46 2.05 18.68 2.12M9.5 7.5L7 9V2H6C4.89 2 4 2.9 4 4V16.8L11.88 8.93L9.5 7.5M21.61 1.73L1.89 21.46L3.16 22.73L4.54 21.35C4.9 21.75 5.42 22 6 22H18C19.11 22 20 21.11 20 20V5.89L22.89 3L21.61 1.73Z\";\r\nexport var mdiBookOffOutline = \"M6 14.8L4 16.8V4C4 2.9 4.89 2 6 2H18C18.24 2 18.47 2.04 18.68 2.12L16.8 4H13V7.8L10.79 10L10.5 9.75L8 12V4H6V14.8M22.89 3L20 5.89V20C20 21.11 19.11 22 18 22H6C5.42 22 4.9 21.75 4.54 21.35L3.16 22.73L1.89 21.46L21.61 1.73L22.89 3M18 7.89L6 19.89V20H18V7.89Z\";\r\nexport var mdiBookOpen = \"M13,12H20V13.5H13M13,9.5H20V11H13M13,14.5H20V16H13M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M21,19H12V6H21\";\r\nexport var mdiBookOpenBlankVariant = \"M21,5C19.89,4.65 18.67,4.5 17.5,4.5C15.55,4.5 13.45,4.9 12,6C10.55,4.9 8.45,4.5 6.5,4.5C4.55,4.5 2.45,4.9 1,6V20.65C1,20.9 1.25,21.15 1.5,21.15C1.6,21.15 1.65,21.1 1.75,21.1C3.1,20.45 5.05,20 6.5,20C8.45,20 10.55,20.4 12,21.5C13.35,20.65 15.8,20 17.5,20C19.15,20 20.85,20.3 22.25,21.05C22.35,21.1 22.4,21.1 22.5,21.1C22.75,21.1 23,20.85 23,20.6V6C22.4,5.55 21.75,5.25 21,5M21,18.5C19.9,18.15 18.7,18 17.5,18C15.8,18 13.35,18.65 12,19.5V8C13.35,7.15 15.8,6.5 17.5,6.5C18.7,6.5 19.9,6.65 21,7V18.5Z\";\r\nexport var mdiBookOpenOutline = \"M21,4H3A2,2 0 0,0 1,6V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V6A2,2 0 0,0 21,4M3,19V6H11V19H3M21,19H13V6H21V19M14,9.5H20V11H14V9.5M14,12H20V13.5H14V12M14,14.5H20V16H14V14.5Z\";\r\nexport var mdiBookOpenPageVariant = \"M19 2L14 6.5V17.5L19 13V2M6.5 5C4.55 5 2.45 5.4 1 6.5V21.16C1 21.41 1.25 21.66 1.5 21.66C1.6 21.66 1.65 21.59 1.75 21.59C3.1 20.94 5.05 20.5 6.5 20.5C8.45 20.5 10.55 20.9 12 22C13.35 21.15 15.8 20.5 17.5 20.5C19.15 20.5 20.85 20.81 22.25 21.56C22.35 21.61 22.4 21.59 22.5 21.59C22.75 21.59 23 21.34 23 21.09V6.5C22.4 6.05 21.75 5.75 21 5.5V19C19.9 18.65 18.7 18.5 17.5 18.5C15.8 18.5 13.35 19.15 12 20V6.5C10.55 5.4 8.45 5 6.5 5Z\";\r\nexport var mdiBookOpenPageVariantOutline = \"M19 1L14 6V17L19 12.5V1M21 5V18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5V6C10.55 4.9 8.45 4.5 6.5 4.5C4.55 4.5 2.45 4.9 1 6V20.65C1 20.9 1.25 21.15 1.5 21.15C1.6 21.15 1.65 21.1 1.75 21.1C3.1 20.45 5.05 20 6.5 20C8.45 20 10.55 20.4 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5M10 18.41C8.75 18.09 7.5 18 6.5 18C5.44 18 4.18 18.19 3 18.5V7.13C3.91 6.73 5.14 6.5 6.5 6.5C7.86 6.5 9.09 6.73 10 7.13V18.41Z\";\r\nexport var mdiBookOpenVariant = \"M17.5 14.33C18.29 14.33 19.13 14.41 20 14.57V16.07C19.38 15.91 18.54 15.83 17.5 15.83C15.6 15.83 14.11 16.16 13 16.82V15.13C14.17 14.6 15.67 14.33 17.5 14.33M13 12.46C14.29 11.93 15.79 11.67 17.5 11.67C18.29 11.67 19.13 11.74 20 11.9V13.4C19.38 13.24 18.54 13.16 17.5 13.16C15.6 13.16 14.11 13.5 13 14.15M17.5 10.5C15.6 10.5 14.11 10.82 13 11.5V9.84C14.23 9.28 15.73 9 17.5 9C18.29 9 19.13 9.08 20 9.23V10.78C19.26 10.59 18.41 10.5 17.5 10.5M21 18.5V7C19.96 6.67 18.79 6.5 17.5 6.5C15.45 6.5 13.62 7 12 8V19.5C13.62 18.5 15.45 18 17.5 18C18.69 18 19.86 18.16 21 18.5M17.5 4.5C19.85 4.5 21.69 5 23 6V20.56C23 20.68 22.95 20.8 22.84 20.91C22.73 21 22.61 21.08 22.5 21.08C22.39 21.08 22.31 21.06 22.25 21.03C20.97 20.34 19.38 20 17.5 20C15.45 20 13.62 20.5 12 21.5C10.66 20.5 8.83 20 6.5 20C4.84 20 3.25 20.36 1.75 21.07C1.72 21.08 1.68 21.08 1.63 21.1C1.59 21.11 1.55 21.12 1.5 21.12C1.39 21.12 1.27 21.08 1.16 21C1.05 20.89 1 20.78 1 20.65V6C2.34 5 4.18 4.5 6.5 4.5C8.83 4.5 10.66 5 12 6C13.34 5 15.17 4.5 17.5 4.5Z\";\r\nexport var mdiBookOutline = \"M18,2A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H18M18,4H13V12L10.5,9.75L8,12V4H6V20H18V4Z\";\r\nexport var mdiBookPlay = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M17 16V22L22 19L17 16Z\";\r\nexport var mdiBookPlayOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M17 16V22L22 19L17 16Z\";\r\nexport var mdiBookPlus = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiBookPlusMultiple = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H14V7L12 5.5L10 7V2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiBookPlusMultipleOutline = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A5.5 5.5 0 0 1 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiBookPlusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiBookRefresh = \"M12 18.5C12 19.79 12.39 21 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiBookRefreshOutline = \"M12.18 20C12.36 20.72 12.65 21.39 13.04 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V12.18C19.5 12.07 19 12 18.5 12C18.33 12 18.17 12 18 12.03V4H13V12L10.5 9.75L8 12V4H6V20H12.18M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiBookRemove = \"M13 19C13 20.1 13.3 21.12 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiBookRemoveMultiple = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H14V7L12 5.5L10 7V2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiBookRemoveMultipleOutline = \"M13.09 20H5V6H3V20A2 2 0 0 0 5 22H13.81A5.5 5.5 0 0 1 13.09 20M19 2H9A2 2 0 0 0 7 4V16A2 2 0 0 0 9 18H13.09A5.5 5.5 0 0 1 13.81 16H9V4H11V10L13.5 7.75L16 10V4H19V13A6 6 0 0 1 21 13.34V4A2 2 0 0 0 19 2M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiBookRemoveOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V4H13V12L10.5 9.75L8 12V4H6V20H13.09M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiBookSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M6,22A2,2 0 0,1 4,20V4C4,2.89 4.9,2 6,2H7V9L9.5,7.5L12,9V2H18A2,2 0 0,1 20,4V11.81C18.83,10.69 17.25,10 15.5,10A6.5,6.5 0 0,0 9,16.5C9,18.81 10.21,20.85 12.03,22H6Z\";\r\nexport var mdiBookSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M13,4V12L10.5,9.75L8,12V4H6V20H10C10.54,20.81 11.23,21.5 12.03,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H18A2,2 0 0,1 20,4V11.81C19.42,11.26 18.75,10.81 18,10.5V4H13Z\";\r\nexport var mdiBookSettings = \"M20 2V18C20 19.11 19.11 20 18 20H6C4.89 20 4 19.11 4 18V2C4 .895 4.89 0 6 0H7V7L9.5 5.5L12 7V0H18C19.1 0 20 .89 20 2M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiBookSettingsOutline = \"M18 0H6C4.89 0 4 .895 4 2V18C4 19.11 4.89 20 6 20H18C19.11 20 20 19.11 20 18V2C20 .895 19.11 0 18 0M18 18H6V2H8V10L10.5 7.75L13 10V2H18V18M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\r\nexport var mdiBookSync = \"M13 17.5C13 19.25 13.69 20.83 14.82 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H7V9L9.5 7.5L12 9V2H18C19.1 2 20 2.89 20 4V11.03C19.84 11 19.67 11 19.5 11C15.91 11 13 13.91 13 17.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiBookSyncOutline = \"M13.5 20C13.81 20.75 14.26 21.42 14.82 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H18C19.11 2 20 2.9 20 4V11.03C19.84 11 19.67 11 19.5 11C19 11 18.5 11.07 18 11.18V4H13V12L10.5 9.75L8 12V4H6V20H13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiBookVariant = \"M6,4H11V12L8.5,10.5L6,12M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\r\nexport var mdiBookmark = \"M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\";\r\nexport var mdiBookmarkBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M18 14L15.5 12.5L13 14V6H18V14Z\";\r\nexport var mdiBookmarkBoxMultiple = \"M4 6H2V20C2 21.1 2.9 22 4 22H18V20H4V6M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 12L17.5 10.5L15 12V4H20V12Z\";\r\nexport var mdiBookmarkBoxMultipleOutline = \"M4 20H18V22H4C2.9 22 2 21.1 2 20V6H4V20M22 4V16C22 17.1 21.1 18 20 18H8C6.9 18 6 17.1 6 16V4C6 2.9 6.9 2 8 2H20C21.1 2 22 2.9 22 4M20 4H8V16H20V4M18 6H13V13L15.5 11.5L18 13V6Z\";\r\nexport var mdiBookmarkBoxOutline = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19M17 7H12V15L14.5 13.5L17 15V7Z\";\r\nexport var mdiBookmarkCheck = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,14L17.25,7.76L15.84,6.34L11,11.18L8.41,8.59L7,10L11,14Z\";\r\nexport var mdiBookmarkCheckOutline = \"M9.47 9.65L8.06 11.07L11 14L16.19 8.82L14.78 7.4L11 11.18M17 3H7C5.9 3 5 3.9 5 5L5 21L12 18L19 21V5C19 3.9 18.1 3 17 3M17 18L12 15.82L7 18V5H17Z\";\r\nexport var mdiBookmarkMinus = \"M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5A2,2 0 0,0 17,3M15,11H9V9H15V11Z\";\r\nexport var mdiBookmarkMinusOutline = \"M9,11V9H15V11H9M19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17C18.11,3 19,3.9 19,5M17,5H7V18L12,15.82L17,18V5Z\";\r\nexport var mdiBookmarkMultiple = \"M15,5A2,2 0 0,1 17,7V23L10,20L3,23V7C3,5.89 3.9,5 5,5H15M9,1H19A2,2 0 0,1 21,3V19L19,18.13V3H7A2,2 0 0,1 9,1Z\";\r\nexport var mdiBookmarkMultipleOutline = \"M9,1H19A2,2 0 0,1 21,3V19L19,18.13V3H7A2,2 0 0,1 9,1M15,20V7H5V20L10,17.82L15,20M15,5C16.11,5 17,5.9 17,7V23L10,20L3,23V7A2,2 0 0,1 5,5H15Z\";\r\nexport var mdiBookmarkMusic = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,11A2,2 0 0,0 9,13A2,2 0 0,0 11,15A2,2 0 0,0 13,13V8H16V6H12V11.27C11.71,11.1 11.36,11 11,11Z\";\r\nexport var mdiBookmarkMusicOutline = \"M7 3C5.9 3 5 3.9 5 5V21L12 18L19 21V5C19 3.89 18.1 3 17 3H7M7 5H17V18L12 15.82L7 18V5M12 6V11.3C11.7 11.1 11.4 11 11 11C9.9 11 9 11.9 9 13C9 14.11 9.9 15 11 15C12.11 15 13 14.11 13 13V8H15V6H12Z\";\r\nexport var mdiBookmarkOff = \"M20,20.72L18.73,22L16.78,20.05L12,18L5,21V8.27L2,5.27L3.28,4L20,20.72M19,17.16V5C19,3.89 18.1,3 17,3H7C6.41,3 5.89,3.27 5.5,3.68L19,17.16Z\";\r\nexport var mdiBookmarkOffOutline = \"M3.28,4L2,5.27L5,8.27V21L12,18L16.78,20.05L18.73,22L20,20.72L3.28,4M7,18V10.27L13,16.25L12,15.82L7,18M7,5.16L5.5,3.67C5.88,3.26 6.41,3 7,3H17A2,2 0 0,1 19,5V17.16L17,15.16V5H7V5.16Z\";\r\nexport var mdiBookmarkOutline = \"M17,18L12,15.82L7,18V5H17M17,3H7A2,2 0 0,0 5,5V21L12,18L19,21V5C19,3.89 18.1,3 17,3Z\";\r\nexport var mdiBookmarkPlus = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,7V9H9V11H11V13H13V11H15V9H13V7H11Z\";\r\nexport var mdiBookmarkPlusOutline = \"M17,18V5H7V18L12,15.82L17,18M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M11,7H13V9H15V11H13V13H11V11H9V9H11V7Z\";\r\nexport var mdiBookmarkRemove = \"M17,3A2,2 0 0,1 19,5V21L12,18L5,21V5C5,3.89 5.9,3 7,3H17M8.17,8.58L10.59,11L8.17,13.41L9.59,14.83L12,12.41L14.41,14.83L15.83,13.41L13.41,11L15.83,8.58L14.41,7.17L12,9.58L9.59,7.17L8.17,8.58Z\";\r\nexport var mdiBookmarkRemoveOutline = \"M7 3C5.9 3 5 3.9 5 5V21L12 18L19 21V5C19 3.89 18.1 3 17 3H7M7 5H17V18L12 15.82L7 18V5M9.88 7.47L8.47 8.88L10.59 11L8.47 13.12L9.88 14.54L12 12.42L14.12 14.53L15.54 13.12L13.42 11L15.53 8.88L14.12 7.47L12 9.59L9.88 7.47Z\";\r\nexport var mdiBookshelf = \"M9 3V18H12V3H9M12 5L16 18L19 17L15 4L12 5M5 5V18H8V5H5M3 19V21H21V19H3Z\";\r\nexport var mdiBoomGate = \"M20,9H8.22C7.11,7.77 5.21,7.68 4,8.8C3.36,9.36 3,10.16 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V13H20A2,2 0 0,0 22,11A2,2 0 0,0 20,9M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.5,12L9,10H10.5L12,12H10.5M14.5,12L13,10H14.5L16,12H14.5M18.5,12L17,10H18.5L20,12H18.5Z\";\r\nexport var mdiBoomGateAlert = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6M20 18H18V20H20V18M20 10H18V16H20V10Z\";\r\nexport var mdiBoomGateAlertOutline = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M7.5 20H4.5V13.6C5.4 14.1 6.6 14.1 7.5 13.6V20M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6M20 16H18V10H20V16M20 20H18V18H20V20Z\";\r\nexport var mdiBoomGateArrowDown = \"M19.86,3C19.31,2.04 18.09,1.71 17.12,2.27L6.92,8.16C6.62,8.06 6.31,8 6,8A3,3 0 0,0 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V11.58L19.12,5.73C20.08,5.18 20.41,3.96 19.86,3M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.4,9.62L8.1,8.62L9.4,7.87L11.7,8.87L10.4,9.62M13.86,7.62L11.56,6.62L12.86,5.87L15.16,6.87L13.86,7.62M17.33,5.62L15.03,4.62L16.33,3.87L18.62,4.87L17.33,5.62M17,20L12,15H15V11H19V15H22L17,20\";\r\nexport var mdiBoomGateArrowDownOutline = \"M19.86,3C20.41,3.96 20.08,5.18 19.12,5.73L9,11.58V20A1,1 0 0,1 10,21V22H2V21A1,1 0 0,1 3,20V11A3,3 0 0,1 6,8C6.31,8 6.62,8.06 6.92,8.16L17.12,2.27C18.09,1.71 19.31,2.04 19.86,3M7.5,20V13.6C6.57,14.14 5.43,14.14 4.5,13.6V20H7.5M6,12.5A1.5,1.5 0 0,0 7.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,11A1.5,1.5 0 0,0 6,12.5M10.4,9.62L11.7,8.87L9.4,7.87L8.1,8.62L10.4,9.62M13.86,7.62L15.16,6.87L12.86,5.87L11.56,6.62L13.86,7.62M17.33,5.62L18.62,4.87L16.33,3.87L15.03,4.62L17.33,5.62M16,11.16H18V16.17L21,16.16L17,20L13,16.16L16,16.17V11.16Z\";\r\nexport var mdiBoomGateArrowUp = \"M19.86,3C19.31,2.04 18.09,1.71 17.12,2.27L6.92,8.16C6.62,8.06 6.31,8 6,8A3,3 0 0,0 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V11.58L19.12,5.73C20.08,5.18 20.41,3.96 19.86,3M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.4,9.62L8.1,8.62L9.4,7.87L11.7,8.87L10.4,9.62M13.86,7.62L11.56,6.62L12.86,5.87L15.16,6.87L13.86,7.62M17.33,5.62L15.03,4.62L16.33,3.87L18.62,4.87L17.33,5.62M17,11L22,16H19V20H15V16H12L17,11\";\r\nexport var mdiBoomGateArrowUpOutline = \"M19.86,3C20.41,3.96 20.08,5.18 19.12,5.73L9,11.58V20A1,1 0 0,1 10,21V22H2V21A1,1 0 0,1 3,20V11A3,3 0 0,1 6,8C6.31,8 6.62,8.06 6.92,8.16L17.12,2.27C18.09,1.71 19.31,2.04 19.86,3M7.5,20V13.6C6.57,14.14 5.43,14.14 4.5,13.6V20H7.5M6,12.5A1.5,1.5 0 0,0 7.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,11A1.5,1.5 0 0,0 6,12.5M10.4,9.62L11.7,8.87L9.4,7.87L8.1,8.62L10.4,9.62M13.86,7.62L15.16,6.87L12.86,5.87L11.56,6.62L13.86,7.62M17.33,5.62L18.62,4.87L16.33,3.87L15.03,4.62L17.33,5.62M16,20V15H13L17,11.16L21,15H18V20H16Z\";\r\nexport var mdiBoomGateOutline = \"M20,9H8.22C7.11,7.77 5.21,7.68 4,8.8C3.36,9.36 3,10.16 3,11V20A1,1 0 0,0 2,21V22H10V21A1,1 0 0,0 9,20V13H20A2,2 0 0,0 22,11A2,2 0 0,0 20,9M7.5,20H4.5V13.6C5.43,14.14 6.57,14.14 7.5,13.6V20M6,12.5A1.5,1.5 0 0,1 4.5,11A1.5,1.5 0 0,1 6,9.5A1.5,1.5 0 0,1 7.5,11A1.5,1.5 0 0,1 6,12.5M10.5,12L9,10H10.5L12,12H10.5M14.5,12L13,10H14.5L16,12H14.5M18.5,12L17,10H18.5L20,12H18.5Z\";\r\nexport var mdiBoomGateUp = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6\";\r\nexport var mdiBoomGateUpOutline = \"M19.9 3C19.3 2 18.1 1.7 17.2 2.3L6.9 8.2C6.6 8.1 6.3 8 6 8C4.3 8 3 9.3 3 11V20C2.4 20 2 20.4 2 21V22H10V21C10 20.4 9.6 20 9 20V11.6L19.1 5.8C20.1 5.2 20.4 4 19.9 3M7.5 20H4.5V13.6C5.4 14.1 6.6 14.1 7.5 13.6V20M6 12.5C5.2 12.5 4.5 11.8 4.5 11S5.2 9.5 6 9.5 7.5 10.2 7.5 11 6.8 12.5 6 12.5M10.4 9.6L8.1 8.6L9.4 7.8L11.7 8.8L10.4 9.6M13.9 7.6L11.6 6.6L12.9 5.8L15.2 6.8L13.9 7.6M17.3 5.6L15 4.6L16.3 3.8L18.6 4.8L17.3 5.6\";\r\nexport var mdiBoombox = \"M7,5L5,7V8H3A1,1 0 0,0 2,9V17A1,1 0 0,0 3,18H21A1,1 0 0,0 22,17V9A1,1 0 0,0 21,8H19V7L17,5H7M7,7H17V8H7V7M11,9H13A0.5,0.5 0 0,1 13.5,9.5A0.5,0.5 0 0,1 13,10H11A0.5,0.5 0 0,1 10.5,9.5A0.5,0.5 0 0,1 11,9M7.5,10.5A3,3 0 0,1 10.5,13.5A3,3 0 0,1 7.5,16.5A3,3 0 0,1 4.5,13.5A3,3 0 0,1 7.5,10.5M16.5,10.5A3,3 0 0,1 19.5,13.5A3,3 0 0,1 16.5,16.5A3,3 0 0,1 13.5,13.5A3,3 0 0,1 16.5,10.5M7.5,12A1.5,1.5 0 0,0 6,13.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 9,13.5A1.5,1.5 0 0,0 7.5,12M16.5,12A1.5,1.5 0 0,0 15,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,13.5A1.5,1.5 0 0,0 16.5,12Z\";\r\nexport var mdiBoomerang = \"M10 2H4C2.9 2 2 2.9 2 4S2.9 6 4 6H8L10 2M18 2C20.2 2 22 3.8 22 6V12L18 14C18 9.6 14.4 6 10 6L12 2H18M18 20V16L22 14V20C22 21.1 21.1 22 20 22S18 21.1 18 20Z\";\r\nexport var mdiBootstrap = \"M11.79 11.5H9.72V8.19H12.19C13.45 8.19 14.15 8.75 14.15 9.78C14.15 10.9 13.32 11.5 11.79 11.5M12.16 12.63H9.72V16.27L12.28 16.27C13.84 16.27 14.66 15.64 14.66 14.44S13.81 12.63 12.16 12.63M22 5.31V18.69C22 20.5 20.5 22 18.69 22H5.31C3.5 22 2 20.5 2 18.69V5.31C2 3.5 3.5 2 5.31 2H18.69C20.5 2 22 3.5 22 5.31M16 14.5C16 13.12 15.08 12.13 13.67 11.95V11.89C14.67 11.71 15.46 10.71 15.46 9.63C15.46 8.08 14.26 7.05 12.5 7.05H8.43V17.41H12.47C14.68 17.41 16 16.32 16 14.5Z\";\r\nexport var mdiBorderAll = \"M19,11H13V5H19M19,19H13V13H19M11,11H5V5H11M11,19H5V13H11M3,21H21V3H3V21Z\";\r\nexport var mdiBorderAllVariant = \"M3,21V3H21V21H3M5,5V19H19V5H5Z\";\r\nexport var mdiBorderBottom = \"M5,15H3V17H5M3,21H21V19H3M5,11H3V13H5M19,9H21V7H19M19,5H21V3H19M5,7H3V9H5M19,17H21V15H19M19,13H21V11H19M17,3H15V5H17M13,3H11V5H13M17,11H15V13H17M13,7H11V9H13M5,3H3V5H5M13,11H11V13H13M9,3H7V5H9M13,15H11V17H13M9,11H7V13H9V11Z\";\r\nexport var mdiBorderBottomVariant = \"M5,15H3V17H5M3,21H21V19H3M5,11H3V13H5M19,9H21V7H19M19,5H21V3H19M5,7H3V9H5M19,17H21V15H19M19,13H21V11H19M17,3H15V5H17M13,3H11V5H13M5,3H3V5H5M9,3H7V5H9\";\r\nexport var mdiBorderColor = \"M20.71,4.04C21.1,3.65 21.1,3 20.71,2.63L18.37,0.29C18,-0.1 17.35,-0.1 16.96,0.29L15,2.25L18.75,6M17.75,7L14,3.25L4,13.25V17H7.75L17.75,7Z\";\r\nexport var mdiBorderHorizontal = \"M19,21H21V19H19M15,21H17V19H15M11,17H13V15H11M19,9H21V7H19M19,5H21V3H19M3,13H21V11H3M11,21H13V19H11M19,17H21V15H19M13,3H11V5H13M13,7H11V9H13M17,3H15V5H17M9,3H7V5H9M5,3H3V5H5M7,21H9V19H7M3,17H5V15H3M5,7H3V9H5M3,21H5V19H3V21Z\";\r\nexport var mdiBorderInside = \"M19,17H21V15H19M19,21H21V19H19M13,3H11V11H3V13H11V21H13V13H21V11H13M15,21H17V19H15M19,5H21V3H19M19,9H21V7H19M17,3H15V5H17M5,3H3V5H5M9,3H7V5H9M3,17H5V15H3M5,7H3V9H5M7,21H9V19H7M3,21H5V19H3V21Z\";\r\nexport var mdiBorderLeft = \"M15,5H17V3H15M15,13H17V11H15M19,21H21V19H19M19,13H21V11H19M19,5H21V3H19M19,17H21V15H19M15,21H17V19H15M19,9H21V7H19M3,21H5V3H3M7,13H9V11H7M7,5H9V3H7M7,21H9V19H7M11,13H13V11H11M11,9H13V7H11M11,5H13V3H11M11,17H13V15H11M11,21H13V19H11V21Z\";\r\nexport var mdiBorderLeftVariant = \"M15,5H17V3H15M19,21H21V19H19M19,13H21V11H19M19,5H21V3H19M19,17H21V15H19M15,21H17V19H15M19,9H21V7H19M3,21H5V3H3M7,5H9V3H7M7,21H9V19H7M11,5H13V3H11M11,21H13V19H11V21Z\";\r\nexport var mdiBorderNone = \"M15,5H17V3H15M15,13H17V11H15M15,21H17V19H15M11,5H13V3H11M19,5H21V3H19M11,9H13V7H11M19,9H21V7H19M19,21H21V19H19M19,13H21V11H19M19,17H21V15H19M11,13H13V11H11M3,5H5V3H3M3,9H5V7H3M3,13H5V11H3M3,17H5V15H3M3,21H5V19H3M11,21H13V19H11M11,17H13V15H11M7,21H9V19H7M7,13H9V11H7M7,5H9V3H7V5Z\";\r\nexport var mdiBorderNoneVariant = \"M15,5H17V3H15M15,21H17V19H15M11,5H13V3H11M19,5H21V3H19M19,9H21V7H19M19,21H21V19H19M19,13H21V11H19M19,17H21V15H19M3,5H5V3H3M3,9H5V7H3M3,13H5V11H3M3,17H5V15H3M3,21H5V19H3M11,21H13V19H11M7,21H9V19H7M7,5H9V3H7V5Z\";\r\nexport var mdiBorderOutside = \"M9,11H7V13H9M13,15H11V17H13M19,19H5V5H19M3,21H21V3H3M17,11H15V13H17M13,11H11V13H13M13,7H11V9H13V7Z\";\r\nexport var mdiBorderRadius = \"M3 16C3 18.8 5.2 21 8 21H10V19H8C6.3 19 5 17.7 5 16V14H3V16M21 8C21 5.2 18.8 3 16 3H14V5H16C17.7 5 19 6.3 19 8V10H21V8M16 21C18.8 21 21 18.8 21 16V14H19V16C19 17.7 17.7 19 16 19H14V21H16M8 3C5.2 3 3 5.2 3 8V10H5V8C5 6.3 6.3 5 8 5H10V3H8Z\";\r\nexport var mdiBorderRight = \"M11,9H13V7H11M11,5H13V3H11M11,13H13V11H11M15,5H17V3H15M15,21H17V19H15M19,21H21V3H19M15,13H17V11H15M11,17H13V15H11M3,9H5V7H3M3,17H5V15H3M3,13H5V11H3M11,21H13V19H11M3,21H5V19H3M7,13H9V11H7M7,5H9V3H7M3,5H5V3H3M7,21H9V19H7V21Z\";\r\nexport var mdiBorderRightVariant = \"M11,5H13V3H11M15,5H17V3H15M15,21H17V19H15M19,21H21V3H19M3,9H5V7H3M3,17H5V15H3M3,13H5V11H3M11,21H13V19H11M3,21H5V19H3M7,5H9V3H7M3,5H5V3H3M7,21H9V19H7V21Z\";\r\nexport var mdiBorderStyle = \"M15,21H17V19H15M19,21H21V19H19M7,21H9V19H7M11,21H13V19H11M19,17H21V15H19M19,13H21V11H19M3,3V21H5V5H21V3M19,9H21V7H19\";\r\nexport var mdiBorderTop = \"M15,13H17V11H15M19,21H21V19H19M11,9H13V7H11M15,21H17V19H15M19,17H21V15H19M3,5H21V3H3M19,13H21V11H19M19,9H21V7H19M11,17H13V15H11M3,9H5V7H3M3,13H5V11H3M3,21H5V19H3M3,17H5V15H3M11,21H13V19H11M11,13H13V11H11M7,13H9V11H7M7,21H9V19H7V21Z\";\r\nexport var mdiBorderTopVariant = \"M19,21H21V19H19M15,21H17V19H15M19,17H21V15H19M3,5H21V3H3M19,13H21V11H19M19,9H21V7H19M3,9H5V7H3M3,13H5V11H3M3,21H5V19H3M3,17H5V15H3M11,21H13V19H11M7,21H9V19H7V21Z\";\r\nexport var mdiBorderVertical = \"M15,13H17V11H15M15,21H17V19H15M15,5H17V3H15M19,9H21V7H19M19,5H21V3H19M19,13H21V11H19M19,21H21V19H19M11,21H13V3H11M19,17H21V15H19M7,5H9V3H7M3,17H5V15H3M3,21H5V19H3M3,13H5V11H3M7,13H9V11H7M7,21H9V19H7M3,5H5V3H3M3,9H5V7H3V9Z\";\r\nexport var mdiBottleSoda = \"M15 11V20A2 2 0 0 1 13 22H11A2 2 0 0 1 9 20V11A2 2 0 0 1 9.6 9.58C11.1 7.89 11 4 11 4H10V2H14V4H13S12.9 7.89 14.4 9.58A2 2 0 0 1 15 11Z\";\r\nexport var mdiBottleSodaClassic = \"M15 13.77A3 3 0 0 0 15 18.23V20A2 2 0 0 1 13 22H11A2 2 0 0 1 9 20V18.23A3 3 0 0 0 9 13.77V9A12.28 12.28 0 0 0 10.91 4H10V2H14V4H13.09A12.28 12.28 0 0 0 15 9Z\";\r\nexport var mdiBottleSodaClassicOutline = \"M10 2V4H10.91C10.65 5.79 9 7.5 8 9V13.77C9.32 14.96 9.32 17.04 8 18.23V20C8 21.11 8.9 22 10 22H14C15.11 22 16 21.11 16 20V18.23C14.68 17.04 14.68 14.96 16 13.77V9C15 7.5 13.35 5.79 13.09 4H14V2M12 6.5C12.24 7 13.54 8.5 13.9 8.91L14 9V13C13.35 13.87 13 14.92 13 16C13 17.08 13.35 18.13 14 19V20H10V19C10.65 18.13 11 17.08 11 16C11 14.92 10.65 13.87 10 13V9L10.1 8.91C10.46 8.5 11.76 7 12 6.5Z\";\r\nexport var mdiBottleSodaOutline = \"M14.4 9.58C12.9 7.89 13 4 13 4H14V2H10V4H11S11.1 7.89 9.6 9.58A2 2 0 0 0 9 11V20A2 2 0 0 0 11 22H13A2 2 0 0 0 15 20V11A2 2 0 0 0 14.4 9.58M13 20H11V11L11.1 10.91A6.26 6.26 0 0 0 12 9.5A6.26 6.26 0 0 0 12.9 10.91L13 11Z\";\r\nexport var mdiBottleTonic = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13Z\";\r\nexport var mdiBottleTonicOutline = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M17 13C17 11.35 15.65 10 14 10H10C8.35 10 7 11.35 7 13V20H17V13Z\";\r\nexport var mdiBottleTonicPlus = \"M13 4H11L10 2H14L13 4M14 8V6H15V5H9V6H10V8C7.24 8 5 10.24 5 13V22H19V13C19 10.24 16.76 8 14 8M16 17H13V20H11V17H8V15H11V12H13V15H16V17Z\";\r\nexport var mdiBottleTonicPlusOutline = \"M13 4H11L10 2H14L13 4M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M17 13C17 11.35 15.65 10 14 10H10C8.35 10 7 11.35 7 13V20H17V13M15 16H13V18H11V16H9V14H11V12H13V14H15V16Z\";\r\nexport var mdiBottleTonicSkull = \"M19 13V22H5V13C5 10.24 7.24 8 10 8V6H9V5H15V6H14V8C16.76 8 19 10.24 19 13M13 4L14 2H10L11 4H13M12 11C9.79 11 8 12.79 8 15C8 16 8.39 16.9 9 17.59V19H10.25V17.5H11.38V19H12.63V17.5H13.75V19H15V17.59C15.61 16.9 16 16 16 15C16 12.79 14.21 11 12 11M10.5 15C9.95 15 9.5 14.55 9.5 14S9.95 13 10.5 13 11.5 13.45 11.5 14 11.05 15 10.5 15M11.25 16.25L12 15L12.75 16.25H11.25M13.5 15C12.95 15 12.5 14.55 12.5 14S12.95 13 13.5 13 14.5 13.45 14.5 14 14.05 15 13.5 15Z\";\r\nexport var mdiBottleTonicSkullOutline = \"M13 4H11L10 2H14L13 4M14 8V6H15V5H9V6H10V8C7.24 8 5 10.24 5 13V22H19V13C19 10.24 16.76 8 14 8M17 20H7V13C7 11.35 8.35 10 10 10H14C15.65 10 17 11.35 17 13V20M12 11C9.79 11 8 12.79 8 15C8 16 8.39 16.9 9 17.59V19H10.25V17.5H11.38V19H12.63V17.5H13.75V19H15V17.59C15.61 16.9 16 16 16 15C16 12.79 14.21 11 12 11M10.5 15C9.95 15 9.5 14.55 9.5 14S9.95 13 10.5 13 11.5 13.45 11.5 14 11.05 15 10.5 15M11.25 16.25L12 15L12.75 16.25H11.25M13.5 15C12.95 15 12.5 14.55 12.5 14S12.95 13 13.5 13 14.5 13.45 14.5 14 14.05 15 13.5 15Z\";\r\nexport var mdiBottleWine = \"M10,22A1,1 0 0,1 9,21V11C9,9 10,7.25 11,7V2.5A0.5,0.5 0 0,1 11.5,2H12.5A0.5,0.5 0 0,1 13,2.5V7C14,7.25 15,9 15,11V21A1,1 0 0,1 14,22H10Z\";\r\nexport var mdiBottleWineOutline = \"M11.5 2C11.22 2 11 2.22 11 2.5V7C10.93 7 10.85 7 10.78 7.03C9.82 7.27 9.21 8 8.76 8.89C8.3 9.76 8 10.84 8 12C8.05 15 8 18.03 8 21C8 21.55 8.45 22 9 22C11 22 13 22 15 22C15.55 22 16 21.55 16 21C16.04 18 16 15 16 12C16 10.84 15.74 9.76 15.28 8.88C14.83 8 14.22 7.27 13.26 7.04C13.18 7 13.05 7 13 7V2.5C13 2.22 12.78 2 12.5 2M12 8.85C12.32 8.85 12.63 8.9 12.78 9C12.85 9.03 13.2 9.26 13.5 9.81C13.78 10.37 14 11.17 14 12V20H10V12C10 11.17 10.22 10.37 10.5 9.81C10.8 9.26 11.15 9.03 11.22 9C11.36 8.9 11.68 8.85 12 8.85Z\";\r\nexport var mdiBowArrow = \"M19.03 6.03L20 7L22 2L17 4L17.97 4.97L16.15 6.79C10.87 2.16 3.3 3.94 2.97 4L2 4.26L2.5 6.2L3.29 6L10.12 12.82L6.94 16H5L2 19L4 20L5 22L8 19V17.06L11.18 13.88L18 20.71L17.81 21.5L19.74 22L20 21.03C20.06 20.7 21.84 13.13 17.21 7.85L19.03 6.03M4.5 5.78C6.55 5.5 11.28 5.28 14.73 8.21L10.82 12.12L4.5 5.78M18.22 19.5L11.88 13.18L15.79 9.27C18.72 12.72 18.5 17.45 18.22 19.5Z\";\r\nexport var mdiBowTie = \"M15,14L21,17V7L15,10V14M9,14L3,17V7L9,10V14M10,10H14V14H10V10Z\";\r\nexport var mdiBowl = \"M22 15C22 18.9 18.9 22 15 22H9C5.1 22 2 18.9 2 15V12H22V15Z\";\r\nexport var mdiBowlMix = \"M16.2 11L20.3 4.5L22 5.5L18.6 11H16.2M15.6 12H2V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H15.6Z\";\r\nexport var mdiBowlMixOutline = \"M15.6 12H2V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H15.6M20 15C20 17.8 17.8 20 15 20H9C6.2 20 4 17.8 4 15V14H20V15M16.2 11L20.3 4.4L22 5.5L18.6 11H16.2Z\";\r\nexport var mdiBowlOutline = \"M2 12V15C2 18.9 5.1 22 9 22H15C18.9 22 22 18.9 22 15V12H2M4 14H20V15C20 17.8 17.8 20 15 20H9C6.2 20 4 17.8 4 15V14Z\";\r\nexport var mdiBowling = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12.5,11A1.5,1.5 0 0,0 11,12.5A1.5,1.5 0 0,0 12.5,14A1.5,1.5 0 0,0 14,12.5A1.5,1.5 0 0,0 12.5,11M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M5.93,8.5C5.38,9.45 5.71,10.67 6.66,11.22C7.62,11.78 8.84,11.45 9.4,10.5C9.95,9.53 9.62,8.31 8.66,7.76C7.71,7.21 6.5,7.53 5.93,8.5Z\";\r\nexport var mdiBox = \"M15.39,14.04V14.04C15.39,12.62 14.24,11.47 12.82,11.47C11.41,11.47 10.26,12.62 10.26,14.04V14.04C10.26,15.45 11.41,16.6 12.82,16.6C14.24,16.6 15.39,15.45 15.39,14.04M17.1,14.04C17.1,16.4 15.18,18.31 12.82,18.31C11.19,18.31 9.77,17.39 9.05,16.04C8.33,17.39 6.91,18.31 5.28,18.31C2.94,18.31 1.04,16.43 1,14.11V14.11H1V7H1V7C1,6.56 1.39,6.18 1.86,6.18C2.33,6.18 2.7,6.56 2.71,7V7H2.71V10.62C3.43,10.08 4.32,9.76 5.28,9.76C6.91,9.76 8.33,10.68 9.05,12.03C9.77,10.68 11.19,9.76 12.82,9.76C15.18,9.76 17.1,11.68 17.1,14.04V14.04M7.84,14.04V14.04C7.84,12.62 6.69,11.47 5.28,11.47C3.86,11.47 2.71,12.62 2.71,14.04V14.04C2.71,15.45 3.86,16.6 5.28,16.6C6.69,16.6 7.84,15.45 7.84,14.04M22.84,16.96V16.96C22.95,17.12 23,17.3 23,17.47C23,17.73 22.88,18 22.66,18.15C22.5,18.26 22.33,18.32 22.15,18.32C21.9,18.32 21.65,18.21 21.5,18L19.59,15.47L17.7,18V18C17.53,18.21 17.28,18.32 17.03,18.32C16.85,18.32 16.67,18.26 16.5,18.15C16.29,18 16.17,17.72 16.17,17.46C16.17,17.29 16.23,17.11 16.33,16.96V16.96H16.33V16.96L18.5,14.04L16.33,11.11V11.11H16.33V11.11C16.22,10.96 16.17,10.79 16.17,10.61C16.17,10.35 16.29,10.1 16.5,9.93C16.89,9.65 17.41,9.72 17.7,10.09V10.09L19.59,12.61L21.5,10.09C21.76,9.72 22.29,9.65 22.66,9.93C22.89,10.1 23,10.36 23,10.63C23,10.8 22.95,10.97 22.84,11.11V11.11H22.84V11.11L20.66,14.04L22.84,16.96V16.96H22.84Z\";\r\nexport var mdiBoxCutter = \"M7.22,11.91C6.89,12.24 6.71,12.65 6.66,13.08L12.17,15.44L20.66,6.96C21.44,6.17 21.44,4.91 20.66,4.13L19.24,2.71C18.46,1.93 17.2,1.93 16.41,2.71L7.22,11.91M5,16V21.75L10.81,16.53L5.81,14.53L5,16M17.12,4.83C17.5,4.44 18.15,4.44 18.54,4.83C18.93,5.23 18.93,5.86 18.54,6.25C18.15,6.64 17.5,6.64 17.12,6.25C16.73,5.86 16.73,5.23 17.12,4.83Z\";\r\nexport var mdiBoxCutterOff = \"M20.84 22.73L12.86 14.75L12.17 15.44L6.66 13.08C6.71 12.65 6.89 12.24 7.22 11.91L8.62 10.5L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15.41 12.21L11.16 7.96L16.41 2.71C17.2 1.93 18.46 1.93 19.24 2.71L20.66 4.13C21.44 4.91 21.44 6.17 20.66 6.96L15.41 12.21M17.12 6.25C17.5 6.64 18.15 6.64 18.54 6.25C18.93 5.86 18.93 5.23 18.54 4.83C18.15 4.44 17.5 4.44 17.12 4.83C16.73 5.23 16.73 5.86 17.12 6.25M5 16V21.75L10.81 16.53L5.81 14.53L5 16Z\";\r\nexport var mdiBoxShadow = \"M3,3H18V18H3V3M19,19H21V21H19V19M19,16H21V18H19V16M19,13H21V15H19V13M19,10H21V12H19V10M19,7H21V9H19V7M16,19H18V21H16V19M13,19H15V21H13V19M10,19H12V21H10V19M7,19H9V21H7V19Z\";\r\nexport var mdiBoxingGlove = \"M19,16V6H22V16H19M12,4C8,4 7,4 7,4C7,4 2,4 2,8V14C2,15.77 3,16.76 4.07,17.31C4.4,15.43 6.03,14 8,14H11V16H8A2,2 0 0,0 6,18C6,19.11 6.9,20 8,20H13C17,20 17,16 17,16V6C17,6 16,4 12,4Z\";\r\nexport var mdiBraille = \"M7,8A1,1 0 0,1 8,7A1,1 0 0,1 9,8V12.47L10.21,12.6L15.15,14.79C15.67,15.03 16,15.56 16,16.14V20.5C15.97,21.32 15.32,21.97 14.5,22H8C7.62,22 7.26,21.85 7,21.57L2.1,17.37L2.84,16.6C3.03,16.39 3.3,16.28 3.58,16.28H3.8L7,18V8M19.5,2A1.5,1.5 0 0,0 18,3.5A1.5,1.5 0 0,0 19.5,5A1.5,1.5 0 0,0 21,3.5A1.5,1.5 0 0,0 19.5,2M19.5,7A1.5,1.5 0 0,0 18,8.5A1.5,1.5 0 0,0 19.5,10A1.5,1.5 0 0,0 21,8.5A1.5,1.5 0 0,0 19.5,7M14.5,7A1.5,1.5 0 0,0 13,8.5A1.5,1.5 0 0,0 14.5,10A1.5,1.5 0 0,0 16,8.5A1.5,1.5 0 0,0 14.5,7M19.5,12A1.5,1.5 0 0,0 18,13.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 21,13.5A1.5,1.5 0 0,0 19.5,12Z\";\r\nexport var mdiBrain = \"M21.33,12.91C21.42,14.46 20.71,15.95 19.44,16.86L20.21,18.35C20.44,18.8 20.47,19.33 20.27,19.8C20.08,20.27 19.69,20.64 19.21,20.8L18.42,21.05C18.25,21.11 18.06,21.14 17.88,21.14C17.37,21.14 16.89,20.91 16.56,20.5L14.44,18C13.55,17.85 12.71,17.47 12,16.9C11.5,17.05 11,17.13 10.5,17.13C9.62,17.13 8.74,16.86 8,16.34C7.47,16.5 6.93,16.57 6.38,16.56C5.59,16.57 4.81,16.41 4.08,16.11C2.65,15.47 1.7,14.07 1.65,12.5C1.57,11.78 1.69,11.05 2,10.39C1.71,9.64 1.68,8.82 1.93,8.06C2.3,7.11 3,6.32 3.87,5.82C4.45,4.13 6.08,3 7.87,3.12C9.47,1.62 11.92,1.46 13.7,2.75C14.12,2.64 14.56,2.58 15,2.58C16.36,2.55 17.65,3.15 18.5,4.22C20.54,4.75 22,6.57 22.08,8.69C22.13,9.8 21.83,10.89 21.22,11.82C21.29,12.18 21.33,12.54 21.33,12.91M16.33,11.5C16.9,11.57 17.35,12 17.35,12.57A1,1 0 0,1 16.35,13.57H15.72C15.4,14.47 14.84,15.26 14.1,15.86C14.35,15.95 14.61,16 14.87,16.07C20,16 19.4,12.87 19.4,12.82C19.34,11.39 18.14,10.27 16.71,10.33A1,1 0 0,1 15.71,9.33A1,1 0 0,1 16.71,8.33C17.94,8.36 19.12,8.82 20.04,9.63C20.09,9.34 20.12,9.04 20.12,8.74C20.06,7.5 19.5,6.42 17.25,6.21C16,3.25 12.85,4.89 12.85,5.81V5.81C12.82,6.04 13.06,6.53 13.1,6.56A1,1 0 0,1 14.1,7.56C14.1,8.11 13.65,8.56 13.1,8.56V8.56C12.57,8.54 12.07,8.34 11.67,8C11.19,8.31 10.64,8.5 10.07,8.56V8.56C9.5,8.61 9.03,8.21 9,7.66C8.92,7.1 9.33,6.61 9.88,6.56C10.04,6.54 10.82,6.42 10.82,5.79V5.79C10.82,5.13 11.07,4.5 11.5,4C10.58,3.75 9.59,4.08 8.59,5.29C6.75,5 6,5.25 5.45,7.2C4.5,7.67 4,8 3.78,9C4.86,8.78 5.97,8.87 7,9.25C7.5,9.44 7.78,10 7.59,10.54C7.4,11.06 6.82,11.32 6.3,11.13C5.57,10.81 4.75,10.79 4,11.07C3.68,11.34 3.68,11.9 3.68,12.34C3.68,13.08 4.05,13.77 4.68,14.17C5.21,14.44 5.8,14.58 6.39,14.57C6.24,14.31 6.11,14.04 6,13.76C5.81,13.22 6.1,12.63 6.64,12.44C7.18,12.25 7.77,12.54 7.96,13.08C8.36,14.22 9.38,15 10.58,15.13C11.95,15.06 13.17,14.25 13.77,13C14,11.62 15.11,11.5 16.33,11.5M18.33,18.97L17.71,17.67L17,17.83L18,19.08L18.33,18.97M13.68,10.36C13.7,9.83 13.3,9.38 12.77,9.33C12.06,9.29 11.37,9.53 10.84,10C10.27,10.58 9.97,11.38 10,12.19A1,1 0 0,0 11,13.19C11.57,13.19 12,12.74 12,12.19C12,11.92 12.07,11.65 12.23,11.43C12.35,11.33 12.5,11.28 12.66,11.28C13.21,11.31 13.68,10.9 13.68,10.36Z\";\r\nexport var mdiBreadSlice = \"M12,2C17.5,2 22,5.36 22,9.5C22,11.19 21.26,12.75 20,14V22H4V14C2.74,12.75 2,11.19 2,9.5C2,5.36 6.5,2 12,2M8,18H12V14H8V18Z\";\r\nexport var mdiBreadSliceOutline = \"M12,2C17.5,2 22,5.36 22,9.5C22,11.19 21.26,12.75 20,14V22H4V14C2.74,12.75 2,11.19 2,9.5C2,5.36 6.5,2 12,2M18,13.14C19.24,12.17 20,10.89 20,9.5C20,6.46 16.42,4 12,4C7.58,4 4,6.46 4,9.5C4,10.89 4.76,12.17 6,13.14V20H18V13.14M8,18V14H12V18H8Z\";\r\nexport var mdiBridge = \"M7,14V10.91C6.28,10.58 5.61,10.18 5,9.71V14H7M5,18H3V16H1V14H3V7H5V8.43C6.8,10 9.27,11 12,11C14.73,11 17.2,10 19,8.43V7H21V14H23V16H21V18H19V16H5V18M17,10.91V14H19V9.71C18.39,10.18 17.72,10.58 17,10.91M16,14V11.32C15.36,11.55 14.69,11.72 14,11.84V14H16M13,14V11.96L12,12L11,11.96V14H13M10,14V11.84C9.31,11.72 8.64,11.55 8,11.32V14H10Z\";\r\nexport var mdiBriefcase = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseAccount = \"M20,6H16V4A2,2 0 0,0 14,2H10C8.89,2 8,2.89 8,4V6H4C2.89,6 2,6.89 2,8V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V8A2,2 0 0,0 20,6M10,4H14V6H10V4M12,9A2.5,2.5 0 0,1 14.5,11.5A2.5,2.5 0 0,1 12,14A2.5,2.5 0 0,1 9.5,11.5A2.5,2.5 0 0,1 12,9M17,19H7V17.75C7,16.37 9.24,15.25 12,15.25C14.76,15.25 17,16.37 17,17.75V19Z\";\r\nexport var mdiBriefcaseAccountOutline = \"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14M12,9A2.25,2.25 0 0,1 14.25,11.25C14.25,12.5 13.24,13.5 12,13.5A2.25,2.25 0 0,1 9.75,11.25C9.75,10 10.76,9 12,9M16.5,18H7.5V16.88C7.5,15.63 9.5,14.63 12,14.63C14.5,14.63 16.5,15.63 16.5,16.88V18Z\";\r\nexport var mdiBriefcaseArrowLeftRight = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C20.94 12.58 19.54 12 18 12C14.69 12 12 14.69 12 18C12 19.09 12.29 20.12 12.8 21H4C2.89 21 2 20.1 2 19V8C2 6.89 2.89 6 4 6H8V4C8 2.89 8.89 2 10 2M14 6V4H10V6H14M19 18.5V17H15V15H19V13.5L22 16L19 18.5M17 19H21V21H17V22.5L14 20L17 17.5V19Z\";\r\nexport var mdiBriefcaseArrowLeftRightOutline = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C21.42 13 20.75 12.6 20 12.34V8H4V19H12.08C12.2 19.72 12.45 20.39 12.8 21H4C2.9 21 2 20.11 2 19V8C2 6.9 2.9 6 4 6H8V4C8 2.9 8.9 2 10 2M14 6V4H10V6H14M19 18.5V17H15V15H19V13.5L22 16L19 18.5M17 19H21V21H17V22.5L14 20L17 17.5V19Z\";\r\nexport var mdiBriefcaseArrowUpDown = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C20.94 12.58 19.54 12 18 12C14.69 12 12 14.69 12 18C12 19.09 12.29 20.12 12.8 21H4C2.89 21 2 20.1 2 19V8C2 6.89 2.89 6 4 6H8V4C8 2.89 8.89 2 10 2M14 6V4H10V6H14M17.5 19H19V15H21V19H22.5L20 22L17.5 19M17 17V21H15V17H13.5L16 14L18.5 17H17Z\";\r\nexport var mdiBriefcaseArrowUpDownOutline = \"M10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V13.53C21.42 13 20.75 12.6 20 12.34V8H4V19H12.08C12.2 19.72 12.45 20.39 12.8 21H4C2.9 21 2 20.11 2 19V8C2 6.9 2.9 6 4 6H8V4C8 2.9 8.9 2 10 2M14 6V4H10V6H14M17.5 19H19V15H21V19H22.5L20 22L17.5 19M17 17V21H15V17H13.5L16 14L18.5 17H17Z\";\r\nexport var mdiBriefcaseCheck = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M10.5,17.5L17.09,10.91L15.68,9.5L10.5,14.67L8.41,12.59L7,14L10.5,17.5Z\";\r\nexport var mdiBriefcaseCheckOutline = \"M20 6C20.58 6 21.05 6.2 21.42 6.59C21.8 7 22 7.45 22 8V19C22 19.55 21.8 20 21.42 20.41C21.05 20.8 20.58 21 20 21H4C3.42 21 2.95 20.8 2.58 20.41C2.2 20 2 19.55 2 19V8C2 7.45 2.2 7 2.58 6.59C2.95 6.2 3.42 6 4 6H8V4C8 3.42 8.2 2.95 8.58 2.58C8.95 2.2 9.42 2 10 2H14C14.58 2 15.05 2.2 15.42 2.58C15.8 2.95 16 3.42 16 4V6H20M4 8V19H20V8H4M14 6V4H10V6H14M10.46 17.5L17.05 10.91L15.64 9.5L10.46 14.67L8.37 12.59L6.96 14L10.46 17.5Z\";\r\nexport var mdiBriefcaseClock = \"M21 11.11V7A2 2 0 0 0 19 5H15V3A2 2 0 0 0 13 1H9A2 2 0 0 0 7 3V5H3A2 2 0 0 0 1 7V18A2 2 0 0 0 3 20H10.26A7 7 0 1 0 21 11.11M9 3H13V5H9M19 20A5 5 0 0 1 13 20A5 5 0 1 1 19 20M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13\";\r\nexport var mdiBriefcaseClockOutline = \"M21 11.11V7A2 2 0 0 0 20.42 5.59A1.87 1.87 0 0 0 19 5H15V3A1.9 1.9 0 0 0 14.42 1.58A1.9 1.9 0 0 0 13 1H9A1.9 1.9 0 0 0 7.58 1.58A1.9 1.9 0 0 0 7 3V5H3A1.87 1.87 0 0 0 1.58 5.59A2 2 0 0 0 1 7V18A2 2 0 0 0 1.58 19.41A1.87 1.87 0 0 0 3 20H10.26A7 7 0 1 0 21 11.11M9 3H13V5H9M3 18V7H19V9.68A6.84 6.84 0 0 0 16 9A7 7 0 0 0 9 16A6.91 6.91 0 0 0 9.29 18M19 20A5 5 0 0 1 13 20A4.94 4.94 0 0 1 11 16A5 5 0 0 1 16 11A4.94 4.94 0 0 1 19 12A5 5 0 0 1 19 20M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13\";\r\nexport var mdiBriefcaseDownload = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M12,19L17,14H14V10H10V14H7L12,19Z\";\r\nexport var mdiBriefcaseDownloadOutline = \"M12,18L7,13H10V9H14V13H17L12,18M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M4,8V19H20V8H4Z\";\r\nexport var mdiBriefcaseEdit = \"M14,2A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8L10.85,19C10.85,20.1 10.85,19.5 10.85,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2H14M14,6V4H10V6H14M21.04,12.13C20.9,12.13 20.76,12.19 20.65,12.3L19.65,13.3L21.7,15.35L22.7,14.35C22.92,14.14 22.92,13.79 22.7,13.58L21.42,12.3C21.31,12.19 21.18,12.13 21.04,12.13M19.07,13.88L13,19.94V22H15.06L21.12,15.93L19.07,13.88Z\";\r\nexport var mdiBriefcaseEditOutline = \"M21.04,12.13C21.18,12.13 21.31,12.19 21.42,12.3L22.7,13.58C22.92,13.79 22.92,14.14 22.7,14.35L21.7,15.35L19.65,13.3L20.65,12.3C20.76,12.19 20.9,12.13 21.04,12.13M19.07,13.88L21.12,15.93L15.06,22H13V19.94L19.07,13.88M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8L20,10V8H4V19H11V21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseEye = \"M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M9.1 19.7L8.8 19L9.1 18.3C10.4 15.1 13.5 13 17 13C18.9 13 20.6 13.6 22 14.6V8C22 6.9 21.1 6 20 6H16V4C16 2.9 15.1 2 14 2H10C8.9 2 8 2.9 8 4V6H4C2.9 6 2 6.9 2 8V19C2 20.1 2.9 21 4 21H9.8C9.5 20.6 9.3 20.2 9.1 19.7M10 4H14V6H10V4M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\r\nexport var mdiBriefcaseEyeOutline = \"M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5M9.1 19.7L8.8 19H4V8H20V13.6C20.7 13.9 21.4 14.2 22 14.7V8C22 7.5 21.8 7 21.4 6.6C21 6.2 20.6 6 20 6H16V4C16 3.4 15.8 3 15.4 2.6C15 2.2 14.6 2 14 2H10C9.4 2 9 2.2 8.6 2.6C8.2 3 8 3.4 8 4V6H4C3.4 6 3 6.2 2.6 6.6C2.2 7 2 7.5 2 8V19C2 19.5 2.2 20 2.6 20.4C3 20.8 3.4 21 4 21H9.8C9.5 20.6 9.3 20.2 9.1 19.7M10 4H14V6H10V4Z\";\r\nexport var mdiBriefcaseMinus = \"M22,17V19H14V17H22M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseMinusOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14,17H22V19H14V17Z\";\r\nexport var mdiBriefcaseOff = \"M22.11 21.46L20.84 22.73L19.11 21H4C2.89 21 2 20.1 2 19V8C2 6.89 2.89 6 4 6H4.11L1.11 3L2.39 1.73L22.11 21.46M22 18.8L8 4.8V4C8 2.89 8.89 2 10 2H14C15.11 2 16 2.9 16 4V6H20C21.11 6 22 6.9 22 8V18.8M14 4H10V6H14V4Z\";\r\nexport var mdiBriefcaseOffOutline = \"M20 8V16.8L22 18.8V8C22 7.45 21.8 7 21.42 6.59C21.05 6.2 20.58 6 20 6H16V4C16 3.42 15.8 2.95 15.42 2.58C15.05 2.2 14.58 2 14 2H10C9.42 2 8.95 2.2 8.58 2.58C8.2 2.95 8 3.42 8 4V4.8L11.2 8H20M10 4H14V6H10V4M2.39 1.73L1.11 3L4.11 6H4C3.42 6 2.95 6.2 2.58 6.59C2.2 7 2 7.45 2 8V19C2 19.55 2.2 20 2.58 20.41C2.95 20.8 3.42 21 4 21H19.11L20.84 22.73L22.11 21.46L2.39 1.73M4 19V8H6.11L17.11 19H4Z\";\r\nexport var mdiBriefcaseOutline = \"M20,6C20.58,6 21.05,6.2 21.42,6.59C21.8,7 22,7.45 22,8V19C22,19.55 21.8,20 21.42,20.41C21.05,20.8 20.58,21 20,21H4C3.42,21 2.95,20.8 2.58,20.41C2.2,20 2,19.55 2,19V8C2,7.45 2.2,7 2.58,6.59C2.95,6.2 3.42,6 4,6H8V4C8,3.42 8.2,2.95 8.58,2.58C8.95,2.2 9.42,2 10,2H14C14.58,2 15.05,2.2 15.42,2.58C15.8,2.95 16,3.42 16,4V6H20M4,8V19H20V8H4M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcasePlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcasePlusOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14,17H17V14H19V17H22V19H19V22H17V19H14V17Z\";\r\nexport var mdiBriefcaseRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C20.94,12.58 19.54,12 18,12A6,6 0 0,0 12,18C12,19.09 12.29,20.12 12.8,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseRemoveOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.53C21.42,13 20.75,12.6 20,12.34V8H4V19H12.08C12.2,19.72 12.45,20.39 12.8,21H4A2,2 0 0,1 2,19V8A2,2 0 0,1 4,6H8V4A2,2 0 0,1 10,2M14,6V4H10V6H14M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88Z\";\r\nexport var mdiBriefcaseSearch = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.03C20.85,11.21 18.82,10 16.5,10A6.5,6.5 0 0,0 10,16.5C10,18.25 10.69,19.83 11.81,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14Z\";\r\nexport var mdiBriefcaseSearchOutline = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V13.03C21.5,12.23 20.8,11.54 20,11V8H4V19H10.5C10.81,19.75 11.26,20.42 11.81,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9M16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19Z\";\r\nexport var mdiBriefcaseUpload = \"M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M12,9L7,14H10V18H14V14H17L12,9Z\";\r\nexport var mdiBriefcaseUploadOutline = \"M12,9L17,14H14V18H10V14H7L12,9M10,2H14A2,2 0 0,1 16,4V6H20A2,2 0 0,1 22,8V19A2,2 0 0,1 20,21H4C2.89,21 2,20.1 2,19V8C2,6.89 2.89,6 4,6H8V4C8,2.89 8.89,2 10,2M14,6V4H10V6H14M4,8V19H20V8H4Z\";\r\nexport var mdiBriefcaseVariant = \"M10 16V15H3L3 19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V15H14V16H10M20 7H16V5L14 3H10L8 5V7H4C2.9 7 2 7.9 2 9V12C2 13.11 2.89 14 4 14H10V12H14V14H20C21.1 14 22 13.1 22 12V9C22 7.9 21.1 7 20 7M14 7H10V5H14V7Z\";\r\nexport var mdiBriefcaseVariantOff = \"M10 6.8L8.1 4.9L10 3H14L16 5V7H20C21.1 7 22 7.9 22 9V12C22 13.1 21.1 14 20 14H17.2L10.2 7H14V5H10V6.8M2.39 1.73L1.11 3L5.11 7H4C2.9 7 2 7.9 2 9V12C2 13.11 2.89 14 4 14H10V12H10.11L14 15.89V16H10V15H3V19C3 20.11 3.89 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M21 17.8V15H18.2L21 17.8Z\";\r\nexport var mdiBriefcaseVariantOffOutline = \"M10 6.8L8.1 4.9L10 3H14L16 5V7H20C21.1 7 22 7.9 22 9V14C22 14.73 21.59 15.37 21 15.72V17.8L17.2 14H20V9H12.2L10.2 7H14V5H10V6.8M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.11 3 19V15.73C2.4 15.38 2 14.75 2 14V9C2 7.9 2.9 7 4 7H5.11L1.11 3L2.39 1.73L22.11 21.46M11 15H13V14.89L11.11 13H11V15M9 14V11H9.11L7.11 9H4V14H9M17.11 19L15 16.89V17H9V16H5V19H17.11Z\";\r\nexport var mdiBriefcaseVariantOutline = \"M20 7H16V5L14 3H10L8 5V7H4C2.9 7 2 7.9 2 9V14C2 14.75 2.4 15.38 3 15.73V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V15.72C21.59 15.37 22 14.73 22 14V9C22 7.9 21.1 7 20 7M10 5H14V7H10V5M4 9H20V14H15V11H9V14H4V9M13 15H11V13H13V15M19 19H5V16H9V17H15V16H19V19Z\";\r\nexport var mdiBrightness1 = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiBrightness2 = \"M10,2C8.18,2 6.47,2.5 5,3.35C8,5.08 10,8.3 10,12C10,15.7 8,18.92 5,20.65C6.47,21.5 8.18,22 10,22A10,10 0 0,0 20,12A10,10 0 0,0 10,2Z\";\r\nexport var mdiBrightness3 = \"M9,2C7.95,2 6.95,2.16 6,2.46C10.06,3.73 13,7.5 13,12C13,16.5 10.06,20.27 6,21.54C6.95,21.84 7.95,22 9,22A10,10 0 0,0 19,12A10,10 0 0,0 9,2Z\";\r\nexport var mdiBrightness4 = \"M12,18C11.11,18 10.26,17.8 9.5,17.45C11.56,16.5 13,14.42 13,12C13,9.58 11.56,7.5 9.5,6.55C10.26,6.2 11.11,6 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\";\r\nexport var mdiBrightness5 = \"M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\";\r\nexport var mdiBrightness6 = \"M12,18V6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\";\r\nexport var mdiBrightness7 = \"M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\";\r\nexport var mdiBrightnessAuto = \"M14.3,16L13.6,14H10.4L9.7,16H7.8L11,7H13L16.2,16H14.3M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69M10.85,12.65H13.15L12,9L10.85,12.65Z\";\r\nexport var mdiBrightnessPercent = \"M20.04,8.71V4H15.34L12,0.69L8.71,4H4V8.71L0.69,12L4,15.34V20.04H8.71L12,23.35L15.34,20.04H20.04V15.34L23.35,12L20.04,8.71M8.83,7.05C9.81,7.05 10.6,7.84 10.6,8.83A1.77,1.77 0 0,1 8.83,10.6C7.84,10.6 7.05,9.81 7.05,8.83C7.05,7.84 7.84,7.05 8.83,7.05M15.22,17C14.24,17 13.45,16.2 13.45,15.22A1.77,1.77 0 0,1 15.22,13.45C16.2,13.45 17,14.24 17,15.22A1.78,1.78 0 0,1 15.22,17M8.5,17.03L7,15.53L15.53,7L17.03,8.5L8.5,17.03Z\";\r\nexport var mdiBroadcast = \"M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M18 12C18 8.7 15.3 6 12 6S6 8.7 6 12C6 14.2 7.2 16.1 9 17.2L10 15.5C8.8 14.8 8 13.5 8 12.1C8 9.9 9.8 8.1 12 8.1S16 9.9 16 12.1C16 13.6 15.2 14.9 14 15.5L15 17.2C16.8 16.2 18 14.2 18 12M12 2C6.5 2 2 6.5 2 12C2 15.7 4 18.9 7 20.6L8 18.9C5.6 17.5 4 14.9 4 12C4 7.6 7.6 4 12 4S20 7.6 20 12C20 15 18.4 17.5 16 18.9L17 20.6C20 18.9 22 15.7 22 12C22 6.5 17.5 2 12 2Z\";\r\nexport var mdiBroadcastOff = \"M17.6 14.2C17.9 13.5 18 12.8 18 12C18 8.7 15.3 6 12 6C11.2 6 10.4 6.2 9.8 6.4L11.4 8H12C14.2 8 16 9.8 16 12C16 12.2 16 12.4 15.9 12.6L17.6 14.2M12 4C16.4 4 20 7.6 20 12C20 13.4 19.6 14.6 19 15.7L20.5 17.2C21.4 15.7 22 13.9 22 12C22 6.5 17.5 2 12 2C10.1 2 8.3 2.5 6.8 3.5L8.3 5C9.4 4.3 10.6 4 12 4M3.3 2.5L2 3.8L4.1 5.9C2.8 7.6 2 9.7 2 12C2 15.7 4 18.9 7 20.6L8 18.9C5.6 17.5 4 14.9 4 12C4 10.2 4.6 8.6 5.5 7.3L7 8.8C6.4 9.7 6 10.8 6 12C6 14.2 7.2 16.1 9 17.2L10 15.5C8.8 14.8 8 13.5 8 12.1C8 11.5 8.2 10.9 8.4 10.3L10 11.9V12.1C10 13.2 10.9 14.1 12 14.1H12.2L19.7 21.6L21 20.3L4.3 3.5L3.3 2.5Z\";\r\nexport var mdiBroom = \"M19.36,2.72L20.78,4.14L15.06,9.85C16.13,11.39 16.28,13.24 15.38,14.44L9.06,8.12C10.26,7.22 12.11,7.37 13.65,8.44L19.36,2.72M5.93,17.57C3.92,15.56 2.69,13.16 2.35,10.92L7.23,8.83L14.67,16.27L12.58,21.15C10.34,20.81 7.94,19.58 5.93,17.57Z\";\r\nexport var mdiBrush = \"M20.71,4.63L19.37,3.29C19,2.9 18.35,2.9 17.96,3.29L9,12.25L11.75,15L20.71,6.04C21.1,5.65 21.1,5 20.71,4.63M7,14A3,3 0 0,0 4,17C4,18.31 2.84,19 2,19C2.92,20.22 4.5,21 6,21A4,4 0 0,0 10,17A3,3 0 0,0 7,14Z\";\r\nexport var mdiBrushOff = \"M20.8 22.7L12.4 14.3L11.8 15L9 12.2L9.7 11.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M7 14C5.3 14 4 15.3 4 17C4 18.3 2.8 19 2 19C2.9 20.2 4.5 21 6 21C8.2 21 10 19.2 10 17C10 15.3 8.7 14 7 14M20.7 6C21.1 5.6 21.1 5 20.7 4.6L19.4 3.3C19 2.9 18.4 2.9 18 3.3L12.2 9L15 11.8L20.7 6Z\";\r\nexport var mdiBrushOutline = \"M7 16C7.55 16 8 16.45 8 17C8 18.1 7.1 19 6 19C5.83 19 5.67 19 5.5 18.95C5.81 18.4 6 17.74 6 17C6 16.45 6.45 16 7 16M18.67 3C18.41 3 18.16 3.1 17.96 3.29L9 12.25L11.75 15L20.71 6.04C21.1 5.65 21.1 5 20.71 4.63L19.37 3.29C19.17 3.09 18.92 3 18.67 3M7 14C5.34 14 4 15.34 4 17C4 18.31 2.84 19 2 19C2.92 20.22 4.5 21 6 21C8.21 21 10 19.21 10 17C10 15.34 8.66 14 7 14Z\";\r\nexport var mdiBrushVariant = \"M8 3C5.79 3 4 4.79 4 7V14C4 15.1 4.9 16 6 16H9V20C9 21.1 9.9 22 11 22H13C14.1 22 15 21.1 15 20V16H18C19.1 16 20 15.1 20 14V3H8M8 5H12V7H14V5H15V9H17V5H18V10H6V7C6 5.9 6.9 5 8 5M6 14V12H18V14H6Z\";\r\nexport var mdiBucket = \"M3 4H21V7H20L17.5 21H6.5L4 7H3V4Z\";\r\nexport var mdiBucketOutline = \"M3 4H21V7H20L17.5 21H6.5L4 7H3V4M17.97 7H6.03L8.15 19H15.85L17.97 7Z\";\r\nexport var mdiBuffet = \"M9 14C9.55 14 10 14.45 10 15C10 15.55 9.55 16 9 16C8.45 16 8 15.55 8 15C8 14.45 8.45 14 9 14M15 14C15.55 14 16 14.45 16 15C16 15.55 15.55 16 15 16C14.45 16 14 15.55 14 15C14 14.45 14.45 14 15 14M3 22L4 19H3C2.45 19 2 18.55 2 18V12C2 11.45 2.45 11 3 11H21C21.55 11 22 11.45 22 12V18C22 18.55 21.55 19 21 19H20L21 22H19L18 19H6L5 22H3M13 13V17H20V13H13M4 13V17H11V13H4Z\";\r\nexport var mdiBug = \"M14,12H10V10H14M14,16H10V14H14M20,8H17.19C16.74,7.22 16.12,6.55 15.37,6.04L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.04,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6.04C7.88,6.55 7.26,7.22 6.81,8H4V10H6.09C6.04,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.04,15.67 6.09,16H4V18H6.81C7.85,19.79 9.78,21 12,21C14.22,21 16.15,19.79 17.19,18H20V16H17.91C17.96,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.96,10.33 17.91,10H20V8Z\";\r\nexport var mdiBugCheck = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16Z\";\r\nexport var mdiBugCheckOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M21.34 16L17.75 19.59L16.16 18L15 19.16L17.75 22.16L22.5 17.41L21.34 16M13 9V11H9V9H13M13 13V15H9V13H13Z\";\r\nexport var mdiBugOutline = \"M20,8H17.19C16.74,7.2 16.12,6.5 15.37,6L17,4.41L15.59,3L13.42,5.17C12.96,5.06 12.5,5 12,5C11.5,5 11.05,5.06 10.59,5.17L8.41,3L7,4.41L8.62,6C7.87,6.5 7.26,7.21 6.81,8H4V10H6.09C6.03,10.33 6,10.66 6,11V12H4V14H6V15C6,15.34 6.03,15.67 6.09,16H4V18H6.81C8.47,20.87 12.14,21.84 15,20.18C15.91,19.66 16.67,18.9 17.19,18H20V16H17.91C17.97,15.67 18,15.34 18,15V14H20V12H18V11C18,10.66 17.97,10.33 17.91,10H20V8M16,15A4,4 0 0,1 12,19A4,4 0 0,1 8,15V11A4,4 0 0,1 12,7A4,4 0 0,1 16,11V15M14,10V12H10V10H14M10,14H14V16H10V14Z\";\r\nexport var mdiBugPause = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M20 16H22V22H20M16 16H18V22H16V16Z\";\r\nexport var mdiBugPauseOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 9V11H9V9H13M13 13V15H9V13H13M20 16H22V22H20M16 16H18V22H16V16Z\";\r\nexport var mdiBugPlay = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M17 16V22L22 19L17 16Z\";\r\nexport var mdiBugPlayOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 9V11H9V9H13M13 13V15H9V13H13M17 16V22L22 19L17 16Z\";\r\nexport var mdiBugStop = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 16.46 14.61 14.2 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 15H9V13H13V15M13 11H9V9H13V11M16 16H22V22H16V16Z\";\r\nexport var mdiBugStopOutline = \"M19 7H16.19C15.74 6.2 15.12 5.5 14.37 5L16 3.41L14.59 2L12.42 4.17C11.96 4.06 11.5 4 11 4S10.05 4.06 9.59 4.17L7.41 2L6 3.41L7.62 5C6.87 5.5 6.26 6.21 5.81 7H3V9H5.09C5.03 9.33 5 9.66 5 10V11H3V13H5V14C5 14.34 5.03 14.67 5.09 15H3V17H5.81C7.26 19.5 10.28 20.61 13 19.65V19C13 18.43 13.09 17.86 13.25 17.31C12.59 17.76 11.8 18 11 18C8.79 18 7 16.21 7 14V10C7 7.79 8.79 6 11 6S15 7.79 15 10V14C15 14.19 15 14.39 14.95 14.58C15.54 14.04 16.24 13.62 17 13.35V13H19V11H17V10C17 9.66 16.97 9.33 16.91 9H19V7M13 9V11H9V9H13M13 13V15H9V13H13M16 16H22V22H16V16Z\";\r\nexport var mdiBugle = \"M21,6C21,11 12,11 12,11C12,11 6,11 5,11C4,11 3,10 3,10H2V14H3C3,14 4,13 5,13C5.2,13 5.7,13 6.3,13C5.5,13.5 5,14.2 5,15C5,16.8 7.3,18 10.5,18C13.7,18 16,16.8 16,15C16,14.4 15.7,13.8 15.2,13.3C17.8,13.8 21,15 21,18H22V6H21M10.5,16.7C8.2,16.7 6.4,15.9 6.4,15C6.4,14.1 8.2,13.3 10.5,13.3C12.8,13.3 14.6,14.1 14.6,15C14.6,15.9 12.8,16.7 10.5,16.7Z\";\r\nexport var mdiBulkheadLight = \"M13 2.09C13 2.06 13 2.03 13 2C13 1.45 12.55 1 12 1S11 1.45 11 2C11 2.03 11 2.06 11 2.09C8.19 2.56 6.03 5 6.03 7.97V16C6.03 19 8.19 21.44 11 21.91C11 21.94 11 21.97 11 22C11 22.55 11.45 23 12 23S13 22.55 13 22C13 21.97 13 21.94 13 21.91C15.81 21.44 17.97 19 17.97 16V7.97C18 5 15.81 2.56 13 2.09M16 8H15V5.4C15.6 6.09 16 7 16 8V8M14 19.44C13.41 19.79 12.73 20 12 20C11.27 20 10.59 19.79 10 19.44V16H14V19.44M10 15V9H14V15H10M9 15H8.03V9H9V15M10 4.56C10.59 4.21 11.27 4 12 4C12.73 4 13.41 4.21 14 4.56V8H10V4.56M15 9H16V15H15V9M9 5.4V8H8.03V7.97C8.03 7 8.4 6.09 9 5.4M8.03 16H9V18.6C8.4 17.91 8.03 17 8.03 16.03V16M15 18.6V16H16V16C16 17 15.6 17.91 15 18.6Z\";\r\nexport var mdiBulldozer = \"M4,4A1,1 0 0,0 3,5V10C2.54,10 2.14,10.31 2.03,10.76V13.97H2.29C2.65,13.37 3.3,13 4,13H13C13.7,13 14.35,13.37 14.71,13.97H16.03L16,11V11A1,1 0 0,0 15,10H13V8A1,1 0 0,0 12,7A1,1 0 0,0 11,8V10H9V5A1,1 0 0,0 8,4H4M5,6H7V10L7,11H5V6M17,11V19H22V18L19,17L18,11H17M4,15A2,2 0 0,0 2,17A2,2 0 0,0 4,19H13A2,2 0 0,0 15,17A2,2 0 0,0 13,15H4Z\";\r\nexport var mdiBullet = \"M14,22H10V21H14V22M13,10V7H11V10L10,11.5V20H14V11.5L13,10M12,2C12,2 11,3 11,5V6H13V5C13,5 13,3 12,2Z\";\r\nexport var mdiBulletinBoard = \"M12.04,2.5L9.53,5H14.53L12.04,2.5M4,7V20H20V7H4M12,0L17,5V5H20A2,2 0 0,1 22,7V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V7A2,2 0 0,1 4,5H7V5L12,0M7,18V14H12V18H7M14,17V10H18V17H14M6,12V9H11V12H6Z\";\r\nexport var mdiBullhorn = \"M12,8H4A2,2 0 0,0 2,10V14A2,2 0 0,0 4,16H5V20A1,1 0 0,0 6,21H8A1,1 0 0,0 9,20V16H12L17,20V4L12,8M21.5,12C21.5,13.71 20.54,15.26 19,16V8C20.53,8.75 21.5,10.3 21.5,12Z\";\r\nexport var mdiBullhornOutline = \"M12,8H4A2,2 0 0,0 2,10V14A2,2 0 0,0 4,16H5V20A1,1 0 0,0 6,21H8A1,1 0 0,0 9,20V16H12L17,20V4L12,8M15,15.6L13,14H4V10H13L15,8.4V15.6M21.5,12C21.5,13.71 20.54,15.26 19,16V8C20.53,8.75 21.5,10.3 21.5,12Z\";\r\nexport var mdiBullhornVariant = \"M20 2V4L4 8V6H2V18H4V16L6 16.5V18.5C6 20.4 7.6 22 9.5 22S13 20.4 13 18.5V18.3L20 20V22H22V2H20M11 18.5C11 19.3 10.3 20 9.5 20S8 19.3 8 18.5V17L11 17.8V18.5Z\";\r\nexport var mdiBullhornVariantOutline = \"M20 2V4L4 8V6H2V18H4V16L6 16.5V18.5C6 20.4 7.6 22 9.5 22S13 20.4 13 18.5V18.3L20 20V22H22V2H20M11 18.5C11 19.3 10.3 20 9.5 20S8 19.3 8 18.5V17L11 17.8V18.5M20 18L4 14V10L20 6V18Z\";\r\nexport var mdiBullseye = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiBullseyeArrow = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,10.84 21.79,9.69 21.39,8.61L19.79,10.21C19.93,10.8 20,11.4 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.6,4 13.2,4.07 13.79,4.21L15.4,2.6C14.31,2.21 13.16,2 12,2M19,2L15,6V7.5L12.45,10.05C12.3,10 12.15,10 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,11.85 14,11.7 13.95,11.55L16.5,9H18L22,5H19V2M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12H16A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8V6Z\";\r\nexport var mdiBulma = \"M11.38 2L6.38 7L5.13 15.75L11.38 22L18.88 17L13.88 12L17.63 8.25L11.38 2Z\";\r\nexport var mdiBunkBed = \"M1 2V23H3V21H21V23H23V7C23 4.79 21.21 3 19 3H10V8H3V2M6.5 2A2.5 2.5 0 0 0 4 4.5A2.5 2.5 0 0 0 6.5 7A2.5 2.5 0 0 0 9 4.5A2.5 2.5 0 0 0 6.5 2M3 11H21V13.56C20.41 13.21 19.73 13 19 13H10V18H3M6.5 12A2.5 2.5 0 0 0 4 14.5A2.5 2.5 0 0 0 6.5 17A2.5 2.5 0 0 0 9 14.5A2.5 2.5 0 0 0 6.5 12Z\";\r\nexport var mdiBunkBedOutline = \"M1 2H3V9H10V3H19C21.2 3 23 4.8 23 7V23H21V21H3V23H1V2M12 5V9H21V7C21 5.9 20.1 5 19 5H12M3 11V19H10V13H19C19.7 13 20.4 13.2 21 13.6V11H3M6.5 13C7.9 13 9 14.1 9 15.5S7.9 18 6.5 18 4 16.9 4 15.5 5.1 13 6.5 13M6.5 14.6C6 14.6 5.6 15 5.6 15.5S6 16.4 6.5 16.4 7.4 16 7.4 15.5 7 14.6 6.5 14.6M12 15V19H21V17C21 15.9 20.1 15 19 15H12M6.5 3C7.9 3 9 4.1 9 5.5S7.9 8 6.5 8 4 6.9 4 5.5 5.1 3 6.5 3M6.5 4.6C6 4.6 5.6 5 5.6 5.5S6 6.4 6.5 6.4 7.4 6 7.4 5.5 7 4.6 6.5 4.6Z\";\r\nexport var mdiBus = \"M18,11H6V6H18M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M4,16C4,16.88 4.39,17.67 5,18.22V20A1,1 0 0,0 6,21H7A1,1 0 0,0 8,20V19H16V20A1,1 0 0,0 17,21H18A1,1 0 0,0 19,20V18.22C19.61,17.67 20,16.88 20,16V6C20,2.5 16.42,2 12,2C7.58,2 4,2.5 4,6V16Z\";\r\nexport var mdiBusAlert = \"M16,1A7,7 0 0,1 23,8C23,11.53 20.39,14.45 17,14.93V18C17,18.84 16.65,19.58 15.96,20.2V22C15.96,22.27 15.87,22.5 15.68,22.71C15.5,22.91 15.26,23 15,23H14C13.71,23 13.47,22.91 13.27,22.71C13.06,22.5 12.96,22.27 12.96,22V21H5.04V22C5.04,22.27 4.94,22.5 4.73,22.71C4.53,22.91 4.29,23 4,23H3C2.74,23 2.5,22.91 2.32,22.71C2.13,22.5 2.04,22.27 2.04,22V20.2C1.35,19.58 1,18.84 1,18V8C1,6.42 1.7,5.35 3.07,4.8C4.44,4.26 6.42,4 9,4L10.23,4.03C11.5,2.2 13.61,1 16,1M16,3A5,5 0 0,0 11,8A5,5 0 0,0 16,13A5,5 0 0,0 21,8A5,5 0 0,0 16,3M15,10H17V12H15V10M15,4H17V9H15V4M3,13H11.09C9.8,11.72 9,9.96 9,8H3V13M4.5,16C3.69,16 3,16.67 3,17.5A1.5,1.5 0 0,0 4.5,19C5.35,19 6,18.33 6,17.5A1.5,1.5 0 0,0 4.5,16M13.5,16C12.65,16 12,16.67 12,17.5A1.5,1.5 0 0,0 13.5,19C14.31,19 15,18.33 15,17.5A1.5,1.5 0 0,0 13.5,16Z\";\r\nexport var mdiBusArticulatedEnd = \"M21.5,6L20,7.5L21.5,9L20,10.5L21.5,12L20,13.5L21.5,15H12.5A3,3 0 0,1 9.5,18A3,3 0 0,1 6.5,15H2.5V8C2.5,6.89 3.39,6 4.5,6H21.5M18.5,7.5H15V10H18.5V7.5M13.5,7.5H9.5V10H13.5V7.5M8,7.5H4V10H8V7.5M9.5,13.5A1.5,1.5 0 0,0 8,15A1.5,1.5 0 0,0 9.5,16.5A1.5,1.5 0 0,0 11,15A1.5,1.5 0 0,0 9.5,13.5Z\";\r\nexport var mdiBusArticulatedFront = \"M1,6L2.5,7.5L1,9L2.5,10.5L1,12L2.5,13.5L1,15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V8C23,6.89 22.11,6 21,6H1M4,7.5H6.5V10H4V7.5M8,7.5H12V10H8V7.5M13.5,7.5H17.5V10H13.5V7.5M19,7.5H21.5V13L19,11V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiBusClock = \"M16.5,4V8.25L19.36,9.94L18.61,11.16L15,9V4H16.5M16,13C17.36,13 18.54,12.5 19.5,11.53C20.5,10.56 21,9.39 21,8C21,6.64 20.5,5.46 19.5,4.5C18.54,3.5 17.36,3 16,3C14.61,3 13.44,3.5 12.47,4.5C11.5,5.46 11,6.64 11,8C11,9.39 11.5,10.56 12.47,11.53C13.44,12.5 14.61,13 16,13M13.5,19C13.94,19 14.3,18.84 14.58,18.54C14.86,18.24 15,17.89 15,17.5C15,17.08 14.86,16.73 14.58,16.43C14.3,16.13 13.94,16 13.5,16C13.06,16 12.7,16.13 12.42,16.43C12.14,16.73 12,17.08 12,17.5C12,17.89 12.14,18.24 12.42,18.54C12.7,18.84 13.06,19 13.5,19M3,13H11.11C9.7,11.64 9,10 9,8H3V13M4.5,19C4.94,19 5.3,18.84 5.58,18.54C5.86,18.24 6,17.89 6,17.5C6,17.08 5.86,16.73 5.58,16.43C5.3,16.13 4.94,16 4.5,16C4.06,16 3.7,16.13 3.42,16.43C3.14,16.73 3,17.08 3,17.5C3,17.89 3.14,18.24 3.42,18.54C3.7,18.84 4.06,19 4.5,19M16,1C17.92,1 19.58,1.67 20.95,3.05C22.33,4.42 23,6.08 23,8C23,9.77 22.44,11.29 21.28,12.59C20.13,13.88 18.7,14.66 17,14.91V18C17,18.84 16.67,19.58 16,20.2V22C16,22.27 15.89,22.5 15.7,22.71C15.5,22.91 15.28,23 15,23H14C13.73,23 13.5,22.91 13.29,22.71C13.09,22.5 13,22.27 13,22V21H5V22C5,22.27 4.91,22.5 4.71,22.71C4.5,22.91 4.27,23 4,23H3C2.72,23 2.5,22.91 2.3,22.71C2.11,22.5 2,22.27 2,22V20.2C1.33,19.58 1,18.84 1,18V8C1,6.42 1.67,5.35 3.05,4.8C4.42,4.26 6.41,4 9,4C9.13,4 9.33,4 9.61,4C9.89,4 10.09,4.03 10.22,4.03C11.63,2 13.55,1 16,1Z\";\r\nexport var mdiBusDoubleDecker = \"M3,4C1.89,4 1,4.89 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V14C23,12.89 22.11,12 21,12H19V9.5H23V6C23,4.89 22.11,4 21,4H3M2.5,5.5H6.5V8H2.5V5.5M8,5.5H12V8H8V5.5M13.5,5.5H17.5V8H13.5V5.5M19,5.5H21.5V8H19V5.5M13.5,9.5H17.5V12H13.5V9.5M2.5,9.5H6.5V12H2.5V9.5M8,9.5H12V12H8V9.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiBusElectric = \"M18 8H6V4H18M16.5 14C15.7 14 15 13.3 15 12.5C15 11.7 15.7 11 16.5 11C17.3 11 18 11.7 18 12.5C18 13.3 17.3 14 16.5 14M7.5 14C6.7 14 6 13.3 6 12.5C6 11.7 6.7 11 7.5 11S9 11.7 9 12.5C9 13.3 8.3 14 7.5 14M4 13C4 13.9 4.4 14.7 5 15.2V17C5 17.6 5.4 18 6 18H7C7.6 18 8 17.6 8 17V16H16V17C16 17.6 16.4 18 17 18H18C18.6 18 19 17.6 19 17V15.2C19.6 14.7 20 13.9 20 13V4C20 .5 16.4 0 12 0S4 .5 4 4V13M7 21H11V19L17 22H13V24L7 21Z\";\r\nexport var mdiBusMarker = \"M12 2C7.58 2 4 2.5 4 6V16A3 3 0 0 0 5 18.22V20A1 1 0 0 0 6 21H7A1 1 0 0 0 8 20V19H14A8 8 0 0 1 13 15.5A5.55 5.55 0 0 1 15.38 11H6V6H18V10A4.07 4.07 0 0 1 18.5 10A5.34 5.34 0 0 1 20 10.22V6C20 2.5 16.42 2 12 2M7.5 14A1.5 1.5 0 1 1 6 15.5A1.5 1.5 0 0 1 7.5 14M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8Z\";\r\nexport var mdiBusMultiple = \"M10 5C5.58 5 2 5.5 2 9V19C2 19.85 2.37 20.66 3 21.22V23C3 23.55 3.45 24 4 24H5C5.55 24 6 23.55 6 23V22H14V23C14 23.55 14.45 24 15 24H16C16.55 24 17 23.55 17 23V21.22C17.63 20.66 18 19.85 18 19V9C18 5.5 14.42 5 10 5M5.5 20C4.67 20 4 19.33 4 18.5S4.67 17 5.5 17 7 17.67 7 18.5 6.33 20 5.5 20M14.5 20C13.67 20 13 19.33 13 18.5S13.67 17 14.5 17 16 17.67 16 18.5 15.33 20 14.5 20M16 14H4V9H16V14M22 5V15C22 15.85 21.63 16.66 21 17.22V19C21 19.55 20.55 20 20 20H19.88C19.95 19.68 20 19.35 20 19V9C20 3 13 3 10 3C9.09 3 7.8 3 6.46 3.17C7.55 1.32 10.5 1 14 1C18.42 1 22 1.5 22 5Z\";\r\nexport var mdiBusSchool = \"M3,6C1.89,6 1,6.89 1,8V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19V8C19,6.89 18.11,6 17,6H3M13.5,7.5H17.5V10H13.5V7.5M2.5,7.5H6.5V10H2.5V7.5M8,7.5H12V10H8V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiBusSide = \"M3,6C1.89,6 1,6.89 1,8V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V8C23,6.89 22.11,6 21,6H3M2.5,7.5H6.5V10H2.5V7.5M8,7.5H12V10H8V7.5M13.5,7.5H17.5V10H13.5V7.5M19,7.5H21.5V13L19,11V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiBusSign = \"M4 11H11.07C10.39 12.18 10 13.54 10 15C10 16.46 10.39 17.82 11.07 19H6V20C6 20.27 5.9 20.5 5.71 20.71C5.5 20.9 5.27 21 5 21H4C3.74 21 3.5 20.9 3.29 20.71C3.11 20.5 3 20.27 3 20V18.22C2.39 17.67 2 16.88 2 16V6C2 2.5 5.58 2 10 2C14.42 2 18 2.5 18 6V7C17.31 7 16.64 7.09 16 7.25V6H4V11M5.5 17C5.9 17 6.28 16.84 6.56 16.56C6.84 16.28 7 15.9 7 15.5C7 15.1 6.84 14.72 6.56 14.44C6.28 14.16 5.9 14 5.5 14C5.1 14 4.72 14.16 4.44 14.44C4.16 14.72 4 15.1 4 15.5C4 15.9 4.16 16.28 4.44 16.56C4.72 16.84 5.1 17 5.5 17M15 20V21H21V20C21 19.45 20.55 19 20 19H19V14H21L23 12L21 10H13L15 12L13 14H17V19H16C15.45 19 15 19.45 15 20Z\";\r\nexport var mdiBusStop = \"M22 7V16C22 16.71 21.62 17.36 21 17.72V19.25C21 19.66 20.66 20 20.25 20H19.75C19.34 20 19 19.66 19 19.25V18H12V19.25C12 19.66 11.66 20 11.25 20H10.75C10.34 20 10 19.66 10 19.25V17.72C9.39 17.36 9 16.71 9 16V7C9 4 12 4 15.5 4S22 4 22 7M13 15C13 14.45 12.55 14 12 14S11 14.45 11 15 11.45 16 12 16 13 15.55 13 15M20 15C20 14.45 19.55 14 19 14S18 14.45 18 15 18.45 16 19 16 20 15.55 20 15M20 7H11V11H20V7M7 9.5C6.97 8.12 5.83 7 4.45 7.05C3.07 7.08 1.97 8.22 2 9.6C2.03 10.77 2.86 11.77 4 12V20H5V12C6.18 11.76 7 10.71 7 9.5Z\";\r\nexport var mdiBusStopCovered = \"M20 3H7V2H6A1.78 1.78 0 0 0 4.59 3H2V5H3.73C2 10.58 2 22 2 22H7V5H20M22 8.5A2.5 2.5 0 1 0 19 11V22H20V11A2.5 2.5 0 0 0 22 8.5M15 11.5V16H14V22H12.5V17H11.5V22H10V16H9V11.5A1.5 1.5 0 0 1 10.5 10H13.5A1.5 1.5 0 0 1 15 11.5M12 6.5A1.5 1.5 0 1 0 13.5 8A1.5 1.5 0 0 0 12 6.5Z\";\r\nexport var mdiBusStopUncovered = \"M6 22V19H4V22H2V14A1 1 0 0 1 3 13A1 1 0 0 1 4 14V17H7A1 1 0 0 1 8 18V22M20 11V22H19V11A2.5 2.5 0 1 1 20 11M15 11.55V16H14V22H12.5V17H11.5V22H10V16H9V11.5A1.5 1.5 0 0 1 10.5 10H13.5A1.5 1.5 0 0 1 15 11.5M12 6.55A1.5 1.5 0 1 0 13.5 8A1.5 1.5 0 0 0 12 6.5Z\";\r\nexport var mdiBusWrench = \"M20 13V6C20 2.5 16.42 2 12 2C7.58 2 4 2.5 4 6V16C4 16.88 4.39 17.67 5 18.22V20C5 20.27 5.11 20.5 5.29 20.71C5.5 20.9 5.74 21 6 21H7C7.27 21 7.5 20.9 7.71 20.71C7.9 20.5 8 20.27 8 20V19H12C11.37 18.16 11 17.13 11 16C11 13.24 13.24 11 16 11C17.64 11 19.09 11.79 20 13M16 11H6V6H18V11H16M6.44 16.56C6.16 16.28 6 15.9 6 15.5C6 15.1 6.16 14.72 6.44 14.44C6.72 14.16 7.1 14 7.5 14C7.9 14 8.28 14.16 8.56 14.44C8.84 14.72 9 15.1 9 15.5C9 15.9 8.84 16.28 8.56 16.56C8.28 16.84 7.9 17 7.5 17C7.1 17 6.72 16.84 6.44 16.56M15.5 16.92L13.29 14.71C13.11 15.1 13 15.54 13 16C13 17.66 14.34 19 16 19C16.46 19 16.9 18.9 17.29 18.71L21.29 22.71L22.71 21.29L18.71 17.29C18.9 16.9 19 16.46 19 16C19 14.34 17.66 13 16 13C15.54 13 15.1 13.11 14.71 13.29L16.91 15.5L15.5 16.91Z\";\r\nexport var mdiButterfly = \"M13 21H11V6L9.03 3.97L10 3L12 5L14 3L15 4L13 6V21M7 6C4.24 6 2 8.24 2 11C2 12.64 2.79 14.09 4 15H4V17C4 19.21 5.79 21 8 21C8.72 21 9.39 20.81 9.97 20.5L10 20.46V7C9.16 6.37 8.13 6 7 6M6.5 12.5L5 11L6.5 9.5L8 11L6.5 12.5M22 11C22 8.24 19.76 6 17 6C15.88 6 14.85 6.37 14 7L14 7V20.46C14.59 20.81 15.27 21 16 21C18.21 21 20 19.21 20 17V15H20C21.21 14.09 22 12.64 22 11M17.5 12.5L16 11L17.5 9.5L19 11L17.5 12.5Z\";\r\nexport var mdiButterflyOutline = \"M13 21H11V6L9.03 3.97L10 3L12 5L14 3L15 4L13 6V21M14 9H14V7C14.84 6.37 15.88 6 17 6C19.76 6 22 8.24 22 11C22 12.64 21.21 14.09 20 15H20V17C20 19.21 18.21 21 16 21C15.27 21 14.59 20.81 14 20.46V18.46C14.59 18.81 15.27 19 16 19C17.1 19 18 18.1 18 17V13.83C19.17 13.42 20 12.31 20 11C20 9.35 18.67 8 17 8H17C15.88 8 14.84 8.37 14 9M10 9H10C9.16 8.37 8.13 8 7 8H7C5.33 8 4 9.35 4 11C4 12.31 4.84 13.42 6 13.83V17C6 18.1 6.9 19 8 19C8.73 19 9.41 18.81 10 18.46V20.46C9.41 20.81 8.73 21 8 21C5.79 21 4 19.21 4 17V15H4C2.79 14.09 2 12.64 2 11C2 8.24 4.24 6 7 6C8.13 6 9.16 6.37 10 7V9M9 11L7.5 9.5L6 11L7.5 12.5L9 11M18 11L16.5 9.5L15 11L16.5 12.5L18 11Z\";\r\nexport var mdiButtonCursor = \"M18.1 15.3C18 15.4 17.8 15.5 17.7 15.6L15.3 16L17 19.6C17.2 20 17 20.4 16.6 20.6L13.8 21.9C13.7 22 13.6 22 13.5 22C13.2 22 12.9 21.8 12.8 21.6L11.2 18L9.3 19.5C9.2 19.6 9 19.7 8.8 19.7C8.4 19.7 8 19.4 8 18.9V7.5C8 7 8.3 6.7 8.8 6.7C9 6.7 9.2 6.8 9.3 6.9L18 14.3C18.3 14.5 18.4 15 18.1 15.3M6 12H4V4H20V12H18.4L20.6 13.9C21.4 13.6 21.9 12.9 21.9 12V4C21.9 2.9 21 2 19.9 2H4C2.9 2 2 2.9 2 4V12C2 13.1 2.9 14 4 14H6V12Z\";\r\nexport var mdiButtonPointer = \"M20 20.5C20 21.3 19.3 22 18.5 22H13C12.6 22 12.3 21.9 12 21.6L8 17.4L8.7 16.6C8.9 16.4 9.2 16.3 9.5 16.3H9.7L12 18V9C12 8.4 12.4 8 13 8S14 8.4 14 9V13.5L15.2 13.6L19.1 15.8C19.6 16 20 16.6 20 17.1V20.5M20 2H4C2.9 2 2 2.9 2 4V12C2 13.1 2.9 14 4 14H8V12H4V4H20V12H18V14H20C21.1 14 22 13.1 22 12V4C22 2.9 21.1 2 20 2Z\";\r\nexport var mdiCabinAFrame = \"M12 3L4 21H20L12 3M9 19H7.08L9 14.67V19M13 19H11V14H13V19M10.19 12L12 7.92L13.81 12H10.19M15 14.67L16.92 19H15V14.67Z\";\r\nexport var mdiCableData = \"M7.05 3.5C5.68 4.88 5.68 7.1 7.05 8.47L15.54 16.95C16.12 17.54 16.12 18.5 15.54 19.07C14.95 19.66 14 19.66 13.41 19.07L9.17 14.83L10.23 13.77L6.7 10.23L6.34 10.59L4.93 9.17C4.54 8.78 3.91 8.78 3.5 9.17L2.1 10.59C1.71 11 1.71 11.61 2.1 12L3.5 13.41L3.16 13.77L6.7 17.3L7.76 16.24L12 20.5C13.37 21.85 15.58 21.85 16.95 20.5C18.32 19.12 18.32 16.9 16.95 15.54L8.46 7.05C7.88 6.46 7.88 5.5 8.46 4.93C9.05 4.34 10 4.34 10.59 4.93L14.83 9.17L13.77 10.23L17.3 13.77L17.66 13.41L19.07 14.83C19.46 15.22 20.1 15.22 20.5 14.83L21.9 13.41C22.29 13 22.29 12.39 21.9 12L20.5 10.59L20.84 10.23L17.3 6.7L16.24 7.76L12 3.5C10.63 2.15 8.42 2.15 7.05 3.5M2.81 11.29L4.22 9.88L5.64 11.29L4.22 12.71M18.36 12.71L19.78 11.29L21.19 12.71L19.78 14.12Z\";\r\nexport var mdiCached = \"M19,8L15,12H18A6,6 0 0,1 12,18C11,18 10.03,17.75 9.2,17.3L7.74,18.76C8.97,19.54 10.43,20 12,20A8,8 0 0,0 20,12H23M6,12A6,6 0 0,1 12,6C13,6 13.97,6.25 14.8,6.7L16.26,5.24C15.03,4.46 13.57,4 12,4A8,8 0 0,0 4,12H1L5,16L9,12\";\r\nexport var mdiCactus = \"M14,16V21H10V18H9A3,3 0 0,1 6,15V12A1,1 0 0,1 7,11A1,1 0 0,1 8,12V15C8,15.56 8.45,16 9,16H10V6A2,2 0 0,1 12,4A2,2 0 0,1 14,6V14H15A1,1 0 0,0 16,13V11A1,1 0 0,1 17,10A1,1 0 0,1 18,11V13A3,3 0 0,1 15,16H14Z\";\r\nexport var mdiCake = \"M11.5,0.5C12,0.75 13,2.4 13,3.5C13,4.6 12.33,5 11.5,5C10.67,5 10,4.85 10,3.75C10,2.65 11,2 11.5,0.5M18.5,9C21,9 23,11 23,13.5C23,15.06 22.21,16.43 21,17.24V23H12L3,23V17.24C1.79,16.43 1,15.06 1,13.5C1,11 3,9 5.5,9H10V6H13V9H18.5M12,16A2.5,2.5 0 0,0 14.5,13.5H16A2.5,2.5 0 0,0 18.5,16A2.5,2.5 0 0,0 21,13.5A2.5,2.5 0 0,0 18.5,11H5.5A2.5,2.5 0 0,0 3,13.5A2.5,2.5 0 0,0 5.5,16A2.5,2.5 0 0,0 8,13.5H9.5A2.5,2.5 0 0,0 12,16Z\";\r\nexport var mdiCakeLayered = \"M21,21V17C21,15.89 20.1,15 19,15H18V12C18,10.89 17.1,10 16,10H13V8H11V10H8C6.89,10 6,10.89 6,12V15H5C3.89,15 3,15.89 3,17V21H1V23H23V21M12,7A2,2 0 0,0 14,5C14,4.62 13.9,4.27 13.71,3.97L12,1L10.28,3.97C10.1,4.27 10,4.62 10,5A2,2 0 0,0 12,7Z\";\r\nexport var mdiCakeVariant = \"M12,6C13.11,6 14,5.1 14,4C14,3.62 13.9,3.27 13.71,2.97L12,0L10.29,2.97C10.1,3.27 10,3.62 10,4A2,2 0 0,0 12,6M16.6,16L15.53,14.92L14.45,16C13.15,17.29 10.87,17.3 9.56,16L8.5,14.92L7.4,16C6.75,16.64 5.88,17 4.96,17C4.23,17 3.56,16.77 3,16.39V21A1,1 0 0,0 4,22H20A1,1 0 0,0 21,21V16.39C20.44,16.77 19.77,17 19.04,17C18.12,17 17.25,16.64 16.6,16M18,9H13V7H11V9H6A3,3 0 0,0 3,12V13.54C3,14.62 3.88,15.5 4.96,15.5C5.5,15.5 6,15.3 6.34,14.93L8.5,12.8L10.61,14.93C11.35,15.67 12.64,15.67 13.38,14.93L15.5,12.8L17.65,14.93C18,15.3 18.5,15.5 19.03,15.5C20.11,15.5 21,14.62 21,13.54V12A3,3 0 0,0 18,9Z\";\r\nexport var mdiCakeVariantOutline = \"M12 6C13.11 6 14 5.1 14 4C14 3.62 13.9 3.27 13.71 2.97L12 0L10.29 2.97C10.1 3.27 10 3.62 10 4C10 5.1 10.9 6 12 6M18 9H13V7H11V9H6C4.34 9 3 10.34 3 12V21C3 21.55 3.45 22 4 22H20C20.55 22 21 21.55 21 21V12C21 10.34 19.66 9 18 9M19 20H5V17C5.9 17 6.76 16.63 7.4 16L8.5 14.92L9.56 16C10.87 17.3 13.15 17.29 14.45 16L15.53 14.92L16.6 16C17.24 16.63 18.1 17 19 17V20M19 15.5C18.5 15.5 18 15.3 17.65 14.93L15.5 12.8L13.38 14.93C12.64 15.67 11.35 15.67 10.61 14.93L8.5 12.8L6.34 14.93C6 15.29 5.5 15.5 5 15.5V12C5 11.45 5.45 11 6 11H18C18.55 11 19 11.45 19 12V15.5Z\";\r\nexport var mdiCalculator = \"M7,2H17A2,2 0 0,1 19,4V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V4A2,2 0 0,1 7,2M7,4V8H17V4H7M7,10V12H9V10H7M11,10V12H13V10H11M15,10V12H17V10H15M7,14V16H9V14H7M11,14V16H13V14H11M15,14V16H17V14H15M7,18V20H9V18H7M11,18V20H13V18H11M15,18V20H17V18H15Z\";\r\nexport var mdiCalculatorVariant = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M13 7.1L14.1 6L15.5 7.4L16.9 6L18 7.1L16.6 8.5L18 9.9L16.9 11L15.5 9.6L14.1 11L13 9.9L14.4 8.5L13 7.1M6.2 7.7H11.2V9.2H6.2V7.7M11.5 16H9.5V18H8V16H6V14.5H8V12.5H9.5V14.5H11.5V16M18 17.2H13V15.7H18V17.2M18 14.8H13V13.3H18V14.8Z\";\r\nexport var mdiCalculatorVariantOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M6.2 7.7H11.2V9.2H6.2V7.7M13 15.8H18V17.3H13V15.8M13 13.2H18V14.7H13V13.2M8 18H9.5V16H11.5V14.5H9.5V12.5H8V14.5H6V16H8V18M14.1 10.9L15.5 9.5L16.9 10.9L18 9.9L16.6 8.5L18 7.1L16.9 6L15.5 7.4L14.1 6L13 7.1L14.4 8.5L13 9.9L14.1 10.9Z\";\r\nexport var mdiCalendar = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M17,12H12V17H17V12Z\";\r\nexport var mdiCalendarAccount = \"M12 9C14 9 15 11.42 13.59 12.84C12.17 14.26 9.75 13.25 9.75 11.25C9.75 10 10.75 9 12 9M16.5 18H7.5V16.88C7.5 15.63 9.5 14.63 12 14.63S16.5 15.63 16.5 16.88M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3H18V1H16Z\";\r\nexport var mdiCalendarAccountOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19M12 10C14 10 15 12.42 13.59 13.84C12.17 15.26 9.75 14.25 9.75 12.25C9.75 11 10.75 10 12 10M16.5 17.88V18H7.5V17.88C7.5 16.63 9.5 15.63 12 15.63S16.5 16.63 16.5 17.88Z\";\r\nexport var mdiCalendarAlert = \"M6 1V3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1H6M5 8H19V19H5V8M11 9V14H13V9H11M11 16V18H13V16H11Z\";\r\nexport var mdiCalendarAlertOutline = \"M11 16H13V18H11V16M11 10H13V14H11V10M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\r\nexport var mdiCalendarArrowLeft = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M19 19H5V8H19V19M12 10V12H16V15H12V17L8 13.5L12 10Z\";\r\nexport var mdiCalendarArrowRight = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M19 19H5V8H19V19M12 17V15H8V12H12V10L16 13.5L12 17Z\";\r\nexport var mdiCalendarBadge = \"M19.5 16C17.6 16 16 17.6 16 19.5S17.6 23 19.5 23 23 21.4 23 19.5 21.4 16 19.5 16M14.21 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.89 21 5V14.21C20.5 14.08 20 14 19.5 14C19.33 14 19.17 14 19 14.03V8H5V19H14.03C14 19.17 14 19.33 14 19.5C14 20 14.08 20.5 14.21 21Z\";\r\nexport var mdiCalendarBadgeOutline = \"M19.5 16C17.6 16 16 17.6 16 19.5S17.6 23 19.5 23 23 21.4 23 19.5 21.4 16 19.5 16M14 19.5C14 19.33 14 19.17 14.03 19H5V9H19V14.03C19.17 14 19.33 14 19.5 14C20 14 20.5 14.08 21 14.21V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H14.21C14.08 20.5 14 20 14 19.5M5 5H19V7H5V5Z\";\r\nexport var mdiCalendarBlank = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\";\r\nexport var mdiCalendarBlankMultiple = \"M21 17V8H7V17H21M21 3C22.1 3 23 3.9 23 5V17C23 18.1 22.1 19 21 19H7C5.89 19 5 18.1 5 17V5C5 3.9 5.9 3 7 3H8V1H10V3H18V1H20V3H21M3 21H17V23H3C1.89 23 1 22.1 1 21V9H3V21Z\";\r\nexport var mdiCalendarBlankOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7Z\";\r\nexport var mdiCalendarCheck = \"M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M16.53,11.06L15.47,10L10.59,14.88L8.47,12.76L7.41,13.82L10.59,17L16.53,11.06Z\";\r\nexport var mdiCalendarCheckOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M5 7V5H19V7H5M10.56 17.46L16.5 11.53L15.43 10.47L10.56 15.34L8.45 13.23L7.39 14.29L10.56 17.46Z\";\r\nexport var mdiCalendarClock = \"M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z\";\r\nexport var mdiCalendarClockOutline = \"M6 1V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H11.1C12.36 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.36 21 11.1V5C21 3.9 20.11 3 19 3H18V1H16V3H8V1M5 5H19V7H5M5 9H19V9.67C18.09 9.24 17.07 9 16 9C12.13 9 9 12.13 9 16C9 17.07 9.24 18.09 9.67 19H5M16 11.15C18.68 11.15 20.85 13.32 20.85 16C20.85 18.68 18.68 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 13.32 13.32 11.15 16 11.15M15 13V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13Z\";\r\nexport var mdiCalendarCollapseHorizontal = \"M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H18V1M11 14L8 11V13H6V15H8V17L11 14M18 13H16V11L13 14L16 17V15H18V13Z\";\r\nexport var mdiCalendarCollapseHorizontalOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5M16 11L13 14L16 17V15H18V13H16V11M8 13H6V15H8V17L11 14L8 11V13Z\";\r\nexport var mdiCalendarCursor = \"M22.86 17.74C22.77 17.85 22.65 17.91 22.53 17.94L20.66 18.3L21.95 21.14C22.11 21.43 21.97 21.79 21.67 21.93L19.53 22.94C19.44 23 19.36 23 19.27 23C19.05 23 18.84 22.88 18.74 22.66L17.45 19.83L15.96 21.04C15.86 21.12 15.74 21.17 15.59 21.17C15.26 21.17 15 20.9 15 20.57V11.6C15 11.27 15.26 11 15.59 11C15.74 11 15.88 11.05 16 11.13L22.77 16.89C23.04 17.12 23.07 17.5 22.86 17.74M12 15V10H7V15H12M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H13V19H5V8H19V11.06L21 12.76V5C21 3.9 20.1 3 19 3Z\";\r\nexport var mdiCalendarCursorOutline = \"M5 9H19V11.1L21 12.8V5C21 3.9 20.1 3 19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H13V19H5V9M19 5V7H5V5H19M7 16V11H12V16H7M22.9 17.7C22.8 17.8 22.7 17.9 22.6 17.9L20.7 18.3L22 21.1C22.2 21.4 22 21.7 21.7 21.9L19.6 22.9C19.4 23 19.4 23 19.3 23C19.1 23 18.9 22.9 18.8 22.7L17.5 19.9L16 21C15.9 21.1 15.8 21.1 15.6 21.1C15.3 21.1 15 20.8 15 20.5V11.5C15 11.2 15.3 10.9 15.6 10.9C15.7 10.9 15.9 11 16 11L22.8 16.8C23 17.1 23.1 17.5 22.9 17.7Z\";\r\nexport var mdiCalendarEdit = \"M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H10V19H5V8H19V9H21V5A2,2 0 0,0 19,3M21.7,13.35L20.7,14.35L18.65,12.35L19.65,11.35C19.85,11.14 20.19,11.13 20.42,11.35L21.7,12.63C21.89,12.83 21.89,13.15 21.7,13.35M12,18.94L18.07,12.88L20.12,14.88L14.06,21H12V18.94Z\";\r\nexport var mdiCalendarEditOutline = \"M21.7 13.35L20.7 14.35L18.65 12.35L19.65 11.35C19.85 11.14 20.19 11.13 20.42 11.35L21.7 12.63C21.89 12.83 21.89 13.15 21.7 13.35M12 18.94V21H14.06L20.12 14.88L18.07 12.88L12 18.94M5 19H10V21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5V9H5V19M5 5V7H19V5H5Z\";\r\nexport var mdiCalendarEnd = \"M22 14V22H20V18L16 22V19H11V17H16V14L20 18V14H22M5 19L9 19V21L5 21C3.9 21 3 20.1 3 19V5C3 3.89 3.9 3 5 3H6V.998H8V3H16V.998H18V3H19C20.11 3 21 3.89 21 5L21 12H19V8H5V19Z\";\r\nexport var mdiCalendarEndOutline = \"M5 9H19V12H21V5C21 3.9 20.1 3 19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H9V19H5V9M19 5V7H5V5H19M16 17H11V19H16V22L20 18L16 14V17M20 14V22H22V14H20Z\";\r\nexport var mdiCalendarExpandHorizontal = \"M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H18V1M18 14L15 11V13H9V11L6 14L9 17V15H15V17L18 14Z\";\r\nexport var mdiCalendarExpandHorizontalOutline = \"M15 13H9V11L6 14L9 17V15H15V17L18 14L15 11V13M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\r\nexport var mdiCalendarExport = \"M12 22L16 18H13V12H11V18H8L12 22M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H8L6 19H5V8H19V19H18L16 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3Z\";\r\nexport var mdiCalendarExportOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H8L6 19H5V9H19V19H18L16 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 7V5H19V7H5M13 18V12H11V18H8L12 22L16 18H13Z\";\r\nexport var mdiCalendarFilter = \"M6 1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5V11H19V8H5V19H15V21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21\";\r\nexport var mdiCalendarFilterOutline = \"M19 3H18V1H16V3H8V1H6V3H4.75C4.31 3.07 3.9 3.27 3.58 3.58C3.27 3.9 3.07 4.31 3 4.75V19.25C3.07 19.69 3.27 20.1 3.58 20.42C3.9 20.73 4.31 20.93 4.75 21H15V19H5V9H19V11H21V5C21 3.89 20.11 3 19 3M19 7H5V5H19V7M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21\";\r\nexport var mdiCalendarHeart = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1M12 17.17L11.42 16.64C9.36 14.77 8 13.54 8 12.03C8 10.8 8.97 9.83 10.2 9.83C10.9 9.83 11.56 10.15 12 10.66C12.44 10.15 13.1 9.83 13.8 9.83C15.03 9.83 16 10.8 16 12.03C16 13.54 14.64 14.77 12.58 16.64L12 17.17Z\";\r\nexport var mdiCalendarHeartOutline = \"M16 12.2C16 13.71 14.64 14.94 12.58 16.81L12 17.34L11.42 16.81C9.36 14.94 8 13.71 8 12.2C8 10.97 8.97 10 10.2 10C10.9 10 11.56 10.32 12 10.83C12.44 10.32 13.1 10 13.8 10C15.03 10 16 10.97 16 12.2M21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 5V7H19V5H5M19 19V9H5V19H19Z\";\r\nexport var mdiCalendarImport = \"M12 12L8 16H11V22H13V16H16M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H9V19H5V8H19V19H15V21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3Z\";\r\nexport var mdiCalendarImportOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H9V19H5V9H19V19H15V21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 7V5H19V7H5M12 12L8 16H11V22H13V16H16L12 12Z\";\r\nexport var mdiCalendarLock = \"M12 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.9 21 5V12C20.4 11.6 19.7 11.2 19 11.1V8H5V19H12V21M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V15.5C15.2 14.1 16.6 13 18 13S20.8 14.1 20.8 15.5V17C21.4 17 22 17.6 22 18.3M19.5 15.5C19.5 14.7 18.8 14.2 18 14.2S16.5 14.7 16.5 15.5V17H19.5V15.5Z\";\r\nexport var mdiCalendarLockOpen = \"M12 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.1 3 21 3.9 21 5V11C20.4 10.6 19.7 10.2 19 10.1V8H5V19H12V21M22 18.3C22 17.6 21.4 17 20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3Z\";\r\nexport var mdiCalendarLockOpenOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H12V19H5V9H19V10.1C19.7 10.3 20.4 10.6 21 11V5C21 3.9 20.1 3 19 3M19 7H5V5H19V7M22 21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3V21.8Z\";\r\nexport var mdiCalendarLockOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H12V19H5V9H19V11C19.7 11.2 20.4 11.5 21 11.9V5C21 3.9 20.1 3 19 3M19 7H5V5H19V7M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17Z\";\r\nexport var mdiCalendarMinus = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1M16 12.5V14.5H8V12.5H16Z\";\r\nexport var mdiCalendarMinusOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5M8 13H16V15H8V13Z\";\r\nexport var mdiCalendarMonth = \"M9,10V12H7V10H9M13,10V12H11V10H13M17,10V12H15V10H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H6V1H8V3H16V1H18V3H19M19,19V8H5V19H19M9,14V16H7V14H9M13,14V16H11V14H13M17,14V16H15V14H17Z\";\r\nexport var mdiCalendarMonthOutline = \"M7 11H9V13H7V11M21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 7H19V5H5V7M19 19V9H5V19H19M15 13V11H17V13H15M11 13V11H13V13H11M7 15H9V17H7V15M15 17V15H17V17H15M11 17V15H13V17H11Z\";\r\nexport var mdiCalendarMultiple = \"M21,17V8H7V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V5A2,2 0 0,1 7,3H8V1H10V3H18V1H20V3H21M3,21H17V23H3C1.89,23 1,22.1 1,21V9H3V21M19,15H15V11H19V15Z\";\r\nexport var mdiCalendarMultipleCheck = \"M21,17V8H7V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V5A2,2 0 0,1 7,3H8V1H10V3H18V1H20V3H21M17.53,11.06L13.09,15.5L10.41,12.82L11.47,11.76L13.09,13.38L16.47,10L17.53,11.06M3,21H17V23H3C1.89,23 1,22.1 1,21V9H3V21Z\";\r\nexport var mdiCalendarMultiselect = \"M19,19V8H5V19H19M16,1H18V3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1M7,10H9V12H7V10M15,10H17V12H15V10M11,14H13V16H11V14M15,14H17V16H15V14Z\";\r\nexport var mdiCalendarMultiselectOutline = \"M7 11H9V13H7V11M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5M11 15H13V17H11V15M15 15H17V17H15V15M15 11H17V13H15V11Z\";\r\nexport var mdiCalendarOutline = \"M12 12H17V17H12V12M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\r\nexport var mdiCalendarPlus = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1M11 9.5H13V12.5H16V14.5H13V17.5H11V14.5H8V12.5H11V9.5Z\";\r\nexport var mdiCalendarPlusOutline = \"M13 13H16V15H13V18H11V15H8V13H11V10H13V13M21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 5V7H19V5H5M19 19V9H5V19H19Z\";\r\nexport var mdiCalendarQuestion = \"M6,1V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H18V1H16V3H8V1H6M5,8H19V19H5V8M12.19,9C11.32,9 10.62,9.2 10.08,9.59C9.56,10 9.3,10.57 9.31,11.36L9.32,11.39H11.25C11.26,11.09 11.35,10.86 11.53,10.7C11.71,10.55 11.93,10.47 12.19,10.47C12.5,10.47 12.76,10.57 12.94,10.75C13.12,10.94 13.2,11.2 13.2,11.5C13.2,11.82 13.13,12.09 12.97,12.32C12.83,12.55 12.62,12.75 12.36,12.91C11.85,13.25 11.5,13.55 11.31,13.82C11.11,14.08 11,14.5 11,15H13C13,14.69 13.04,14.44 13.13,14.26C13.22,14.08 13.39,13.9 13.64,13.74C14.09,13.5 14.46,13.21 14.75,12.81C15.04,12.41 15.19,12 15.19,11.5C15.19,10.74 14.92,10.13 14.38,9.68C13.85,9.23 13.12,9 12.19,9M11,16V18H13V16H11Z\";\r\nexport var mdiCalendarQuestionOutline = \"M11.95 10C11.21 10 10.61 10.18 10.15 10.5C9.71 10.89 9.5 11.4 9.5 12.1L9.5 12.12H11.15C11.16 11.86 11.24 11.65 11.39 11.5C11.54 11.38 11.73 11.31 11.95 11.31C12.21 11.31 12.43 11.4 12.59 11.56C12.74 11.73 12.81 11.96 12.81 12.22C12.81 12.5 12.75 12.75 12.61 12.95C12.5 13.16 12.31 13.33 12.09 13.5C11.66 13.78 11.36 14.05 11.2 14.29C11.03 14.5 10.94 14.89 10.94 15.33H12.64C12.64 15.06 12.67 14.84 12.75 14.68C12.83 14.5 12.97 14.36 13.18 14.21C13.57 14 13.88 13.74 14.13 13.39C14.37 13.03 14.5 12.67 14.5 12.22C14.5 11.55 14.27 11 13.81 10.61C13.36 10.2 12.74 10 11.95 10M10.94 16.22V18H12.64V16.22H10.94M19 3H18V1H16V3H8V1H6V3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 5V7H5V5H19M5 19V9H19V19H5Z\";\r\nexport var mdiCalendarRange = \"M9,10H7V12H9V10M13,10H11V12H13V10M17,10H15V12H17V10M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V8H19V19Z\";\r\nexport var mdiCalendarRangeOutline = \"M7 11H9V13H7V11M21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5M5 7H19V5H5V7M19 19V9H5V19H19M15 13H17V11H15V13M11 13H13V11H11V13Z\";\r\nexport var mdiCalendarRefresh = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H14C13.4 20.5 12.9 19.8 12.5 19H5V8H19V10.6C19.7 10.7 20.4 10.9 21 11.3V5C21 3.9 20.1 3 19 3M18 12.5C19.1 12.5 20.1 12.9 20.8 13.7L22 12.5V16.5H18L19.8 14.7C19.3 14.3 18.7 14 18 14C16.6 14 15.5 15.1 15.5 16.5S16.6 19 18 19C18.8 19 19.5 18.6 20 18H21.7C21.1 19.5 19.7 20.5 18 20.5C15.8 20.5 14 18.7 14 16.5S15.8 12.5 18 12.5Z\";\r\nexport var mdiCalendarRefreshOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H14C13.4 20.5 12.9 19.8 12.5 19H5V9H19V10.6C19.7 10.7 20.4 10.9 21 11.3V5C21 3.9 20.1 3 19 3M19 7H5V5H19M18 12.5C19.1 12.5 20.1 12.9 20.8 13.7L22 12.5V16.5H18L19.8 14.7C19.3 14.3 18.7 14 18 14C16.6 14 15.5 15.1 15.5 16.5S16.6 19 18 19C18.8 19 19.5 18.6 20 18H21.7C21.1 19.5 19.7 20.5 18 20.5C15.8 20.5 14 18.7 14 16.5S15.8 12.5 18 12.5Z\";\r\nexport var mdiCalendarRemove = \"M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9.31,17L11.75,14.56L14.19,17L15.25,15.94L12.81,13.5L15.25,11.06L14.19,10L11.75,12.44L9.31,10L8.25,11.06L10.69,13.5L8.25,15.94L9.31,17Z\";\r\nexport var mdiCalendarRemoveOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M5 7V5H19V7H5M8.23 16.41L9.29 17.47L11.73 15.03L14.17 17.47L15.23 16.41L12.79 13.97L15.23 11.53L14.17 10.47L11.73 12.91L9.29 10.47L8.23 11.53L10.67 13.97L8.23 16.41Z\";\r\nexport var mdiCalendarSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19,8H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V13.03C20.5,12.22 19.8,11.54 19,11V8Z\";\r\nexport var mdiCalendarSearchOutline = \"M19.3 18.9C19.7 18.2 20 17.4 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.4 21 17.2 20.8 17.9 20.3L21 23.4L22.4 22L19.3 18.9M15.5 19C14.1 19 13 17.9 13 16.5S14.1 14 15.5 14 18 15.1 18 16.5 16.9 19 15.5 19M5 19V9H19V11C19.8 11.5 20.5 12.2 21 13V5C21 3.9 20.1 3 19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H10.8C10.2 20.4 9.8 19.8 9.5 19H5M19 5V7H5V5H19Z\";\r\nexport var mdiCalendarStar = \"M19 19H5V8H19M16 1V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3H18V1M10.88 12H7.27L10.19 14.11L9.08 17.56L12 15.43L14.92 17.56L13.8 14.12L16.72 12H13.12L12 8.56L10.88 12Z\";\r\nexport var mdiCalendarStarFourPoints = \"M10.74 12.25L12 9.5L13.25 12.25L16 13.5L13.25 14.76L12 17.5L10.74 14.76L8 13.5L10.74 12.25M16 3V1H18V3H19C19.53 3 20.04 3.21 20.41 3.59C20.79 3.96 21 4.47 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 4.47 3.21 3.96 3.59 3.59C3.96 3.21 4.47 3 5 3H6V1H8V3H16M5 8V19H19V8H5Z\";\r\nexport var mdiCalendarStarOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V9H19V19M19 7H5V5H19V7M11 13H7.8L10.4 15L9.4 18L12 16.2L14.6 18L13.6 15L16.2 13H13L12 10L11 13Z\";\r\nexport var mdiCalendarStart = \"M2 14H4V17H9V14L13 18L9 22V19H4V22H2V14M19 19V8H5V12H3L3 5C3 3.89 3.89 3 5 3H6V.998H8V3H16V.998H18V3H19C20.1 3 21 3.89 21 5V19C21 20.1 20.1 21 19 21L12.83 21L14.83 19L19 19Z\";\r\nexport var mdiCalendarStartOutline = \"M13 18L9 14V17H4V14H2V22H4V19H9V22L13 18M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V12H5V9H19V19H14.8L12.8 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 7V5H19V7H5Z\";\r\nexport var mdiCalendarSync = \"M18,11V12.5C21.19,12.5 23.09,16.05 21.33,18.71L20.24,17.62C21.06,15.96 19.85,14 18,14V15.5L15.75,13.25L18,11M18,22V20.5C14.81,20.5 12.91,16.95 14.67,14.29L15.76,15.38C14.94,17.04 16.15,19 18,19V17.5L20.25,19.75L18,22M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14C13.36,20.45 12.86,19.77 12.5,19H5V8H19V10.59C19.71,10.7 20.39,10.94 21,11.31V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiCalendarSyncOutline = \"M18,11V12.5C21.19,12.5 23.09,16.05 21.33,18.71L20.24,17.62C21.06,15.96 19.85,14 18,14V15.5L15.75,13.25L18,11M18,22V20.5C14.81,20.5 12.91,16.95 14.67,14.29L15.76,15.38C14.94,17.04 16.15,19 18,19V17.5L20.25,19.75L18,22M19,3H18V1H16V3H8V1H6V3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H14C13.36,20.45 12.86,19.77 12.5,19H5V9H19V10.59C19.71,10.7 20.39,10.94 21,11.31V5A2,2 0 0,0 19,3M19,7H5V5H19\";\r\nexport var mdiCalendarText = \"M14,14H7V16H14M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M17,10H7V12H17V10Z\";\r\nexport var mdiCalendarTextOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V9H19V19M5 7V5H19V7H5M7 11H17V13H7V11M7 15H14V17H7V15Z\";\r\nexport var mdiCalendarToday = \"M7,10H12V15H7M19,19H5V8H19M19,3H18V1H16V3H8V1H6V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiCalendarTodayOutline = \"M19 3H18V1H16V3H8V1H6V3H5C3.9 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M19 19H5V9H19V19M19 7H5V5H19M7 11H12V16H7\";\r\nexport var mdiCalendarWeek = \"M6 1H8V3H16V1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H6V1M5 8V19H19V8H5M7 10H17V12H7V10Z\";\r\nexport var mdiCalendarWeekBegin = \"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1M9,10H7V17H9V10Z\";\r\nexport var mdiCalendarWeekBeginOutline = \"M19 3C20.11 3 21 3.89 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.9 3 5 3H6V1H8V3H16V1H18V3H19M19 19V9H5V19H19M19 7V5H5V7H19M7 11H9V17H7V11\";\r\nexport var mdiCalendarWeekOutline = \"M5 3H6V1H8V3H16V1H18V3H19C20.11 3 21 3.89 21 5V19C21 20.1 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.9 3 5 3M5 19H19V9H5V19M5 7H19V5H5V7M17 11V13H7V11H17\";\r\nexport var mdiCalendarWeekend = \"M19 19V8H5V19H19M16 1H18V3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1M7 17V10H9V17H7M15 10H17V17H15V10Z\";\r\nexport var mdiCalendarWeekendOutline = \"M19 3C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.89 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H6V1H8V3H16V1H18V3H19M19 19V9H5V19H19M19 7V5H5V7H19M7 11H9V17H7V11M15 11H17V17H15V11Z\";\r\nexport var mdiCallMade = \"M9,5V7H15.59L4,18.59L5.41,20L17,8.41V15H19V5\";\r\nexport var mdiCallMerge = \"M17,20.41L18.41,19L15,15.59L13.59,17M7.5,8H11V13.59L5.59,19L7,20.41L13,14.41V8H16.5L12,3.5\";\r\nexport var mdiCallMissed = \"M19.59,7L12,14.59L6.41,9H11V7H3V15H5V10.41L12,17.41L21,8.41\";\r\nexport var mdiCallReceived = \"M20,5.41L18.59,4L7,15.59V9H5V19H15V17H8.41\";\r\nexport var mdiCallSplit = \"M14,4L16.29,6.29L13.41,9.17L14.83,10.59L17.71,7.71L20,10V4M10,4H4V10L6.29,7.71L11,12.41V20H13V11.59L7.71,6.29\";\r\nexport var mdiCamcorder = \"M7 2C4.24 2 2 4.24 2 7V20C2 21.1 2.9 22 4 22H10C11.1 22 12 21.1 12 20V7C12 4.24 9.76 2 7 2M5 20C4.45 20 4 19.55 4 19S4.45 18 5 18 6 18.45 6 19 5.55 20 5 20M7 10C5.34 10 4 8.66 4 7S5.34 4 7 4 10 5.34 10 7 8.66 10 7 10M22 9V14C22 15.1 21.1 16 20 16H13V14H20V9H13V7H20C21.1 7 22 7.9 22 9Z\";\r\nexport var mdiCamcorderOff = \"M22.1 21.5L9.4 8.8L2.4 1.8L1.1 3L2.7 4.6C2.2 5.3 2 6.1 2 7V20C2 21.1 2.9 22 4 22H10C11.1 22 12 21.1 12 20V13.9L13 14.9V16H14.1L20.8 22.7L22.1 21.5M5 20C4.5 20 4 19.5 4 19S4.5 18 5 18 6 18.5 6 19 5.5 20 5 20M7 10C5.3 10 4 8.7 4 7C4 6.7 4.1 6.4 4.2 6.1L8 9.9C7.6 9.9 7.3 10 7 10M7.2 4L5.5 2.3C6 2.1 6.5 2 7 2C9.8 2 12 4.2 12 7V8.8L10 6.8C9.9 5.3 8.7 4.1 7.2 4M20 9H13V7H20C21.1 7 22 7.9 22 9V14C22 15.1 21.1 16 20 16H19.2L17.2 14H20V9Z\";\r\nexport var mdiCamera = \"M4,4H7L9,2H15L17,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z\";\r\nexport var mdiCameraAccount = \"M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M16,17V16C16,14.67 13.33,14 12,14C10.67,14 8,14.67 8,16V17H16M12,9A2,2 0 0,0 10,11A2,2 0 0,0 12,13A2,2 0 0,0 14,11A2,2 0 0,0 12,9Z\";\r\nexport var mdiCameraBurst = \"M1,5H3V19H1V5M5,5H7V19H5V5M22,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H22A1,1 0 0,0 23,18V6A1,1 0 0,0 22,5M11,17L13.5,13.85L15.29,16L17.79,12.78L21,17H11Z\";\r\nexport var mdiCameraControl = \"M9,12C9,11.19 9.3,10.5 9.89,9.89C10.5,9.3 11.19,9 12,9C12.81,9 13.5,9.3 14.11,9.89C14.7,10.5 15,11.19 15,12C15,12.81 14.7,13.5 14.11,14.11C13.5,14.7 12.81,15 12,15C11.19,15 10.5,14.7 9.89,14.11C9.3,13.5 9,12.81 9,12M5.53,8.44L7.31,10.22L5.53,12L7.31,13.78L5.53,15.56L2,12L5.53,8.44M8.44,18.47L10.22,16.69L12,18.47L13.78,16.69L15.56,18.47L12,22L8.44,18.47M18.47,15.56L16.69,13.78L18.47,12L16.69,10.22L18.47,8.44L22,12L18.47,15.56M15.56,5.53L13.78,7.31L12,5.53L10.22,7.31L8.44,5.53L12,2L15.56,5.53Z\";\r\nexport var mdiCameraDocument = \"M21 7V22H3V20H19V7H14.72C14.38 7.6 13.74 8 13 8C13 9.11 12.1 10 11 10H8C6.9 10 6 9.1 6 8V4C6 2.9 6.9 2 8 2H11C12.1 2 13 2.9 13 4C13.74 4 14.38 4.41 14.72 5H19C20.11 5 21 5.89 21 7M6 15H13L11 11H8L6 15Z\";\r\nexport var mdiCameraDocumentOff = \"M20.84 22.73L20.11 22H3V20H18.11L12.89 14.78L13 15H6L8 11H9.11L8.11 10H8C6.9 10 6 9.1 6 8V7.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M13 8C13.74 8 14.38 7.6 14.72 7H19V15.8L21 17.8V7C21 5.89 20.11 5 19 5H14.72C14.38 4.41 13.74 4 13 4C13 2.9 12.1 2 11 2H8C7.24 2 6.59 2.43 6.25 3.05L12.5 9.3C12.81 8.95 13 8.5 13 8Z\";\r\nexport var mdiCameraEnhance = \"M9,3L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5H16.83L15,3M12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13A5,5 0 0,1 12,18M12,17L13.25,14.25L16,13L13.25,11.75L12,9L10.75,11.75L8,13L10.75,14.25\";\r\nexport var mdiCameraEnhanceOutline = \"M12,10L11.06,12.06L9,13L11.06,13.94L12,16L12.94,13.94L15,13L12.94,12.06L12,10M20,5H16.83L15,3H9L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M20,19H4V7H8.05L8.64,6.35L9.88,5H14.12L15.36,6.35L15.95,7H20V19M12,8A5,5 0 0,0 7,13A5,5 0 0,0 12,18A5,5 0 0,0 17,13A5,5 0 0,0 12,8M12,16A3,3 0 0,1 9,13A3,3 0 0,1 12,10A3,3 0 0,1 15,13A3,3 0 0,1 12,16Z\";\r\nexport var mdiCameraFlip = \"M20 5H17L15 3H9L7 5H4C2.9 5 2 5.9 2 7V19C2 20.11 2.9 21 4 21H20C21.11 21 22 20.11 22 19V7C22 5.9 21.11 5 20 5M5 12H7.1C7.65 9.29 10.29 7.55 13 8.1C13.76 8.25 14.43 8.59 15 9L13.56 10.45C13.11 10.17 12.58 10 12 10C10.74 10 9.6 10.8 9.18 12H11L8 15L5 12M16.91 14C16.36 16.71 13.72 18.45 11 17.9C10.25 17.74 9.58 17.41 9 17L10.44 15.55C10.9 15.83 11.43 16 12 16C13.27 16 14.41 15.2 14.83 14H13L16 11L19 14H16.91Z\";\r\nexport var mdiCameraFlipOutline = \"M20 5H16.83L15 3H9L7.17 5H4C2.9 5 2 5.9 2 7V19C2 20.11 2.9 21 4 21H20C21.11 21 22 20.11 22 19V7C22 5.9 21.11 5 20 5M20 19H4V7H8.05L9.88 5H14.12L16 7H20V19M5 12H7.1C7.65 9.29 10.29 7.55 13 8.1C13.76 8.25 14.43 8.59 15 9L13.56 10.45C13.11 10.17 12.58 10 12 10C10.74 10 9.6 10.8 9.18 12H11L8 15L5 12M16.91 14C16.36 16.71 13.72 18.45 11 17.9C10.25 17.74 9.58 17.41 9 17L10.44 15.55C10.9 15.83 11.43 16 12 16C13.27 16 14.41 15.2 14.83 14H13L16 11L19 14H16.91Z\";\r\nexport var mdiCameraFront = \"M7,2H17V12.5C17,10.83 13.67,10 12,10C10.33,10 7,10.83 7,12.5M17,0H7A2,2 0 0,0 5,2V16A2,2 0 0,0 7,18H17A2,2 0 0,0 19,16V2A2,2 0 0,0 17,0M12,8A2,2 0 0,0 14,6A2,2 0 0,0 12,4A2,2 0 0,0 10,6A2,2 0 0,0 12,8M14,20V22H19V20M10,20H5V22H10V24L13,21L10,18V20Z\";\r\nexport var mdiCameraFrontVariant = \"M6,0H18A2,2 0 0,1 20,2V22A2,2 0 0,1 18,24H6A2,2 0 0,1 4,22V2A2,2 0 0,1 6,0M12,6A3,3 0 0,1 15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6M11,1V3H13V1H11M6,4V16.5C6,15.12 8.69,14 12,14C15.31,14 18,15.12 18,16.5V4H6M13,18H9V20H13V22L16,19L13,16V18Z\";\r\nexport var mdiCameraGopro = \"M20,5H15A2,2 0 0,0 13,7V12A2,2 0 0,0 15,14H20A2,2 0 0,0 22,12V7A2,2 0 0,0 20,5M17.5,12.5A3,3 0 0,1 14.5,9.5A3,3 0 0,1 17.5,6.5A3,3 0 0,1 20.5,9.5A3,3 0 0,1 17.5,12.5M17.5,11A1.5,1.5 0 0,1 16,9.5A1.5,1.5 0 0,1 17.5,8A1.5,1.5 0 0,1 19,9.5A1.5,1.5 0 0,1 17.5,11M12,15V5H4A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V15H12M10,12H4V7H10V12Z\";\r\nexport var mdiCameraImage = \"M4,5H7L9,3H15L17,5H20A2,2 0 0,1 22,7V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V7A2,2 0 0,1 4,5M13.09,9.45L11.05,12.18L12.6,14.25L11.73,14.91L9.27,11.64L6,16H18L13.09,9.45Z\";\r\nexport var mdiCameraIris = \"M13.73,15L9.83,21.76C10.53,21.91 11.25,22 12,22C14.4,22 16.6,21.15 18.32,19.75L14.66,13.4M2.46,15C3.38,17.92 5.61,20.26 8.45,21.34L12.12,15M8.54,12L4.64,5.25C3,7 2,9.39 2,12C2,12.68 2.07,13.35 2.2,14H9.69M21.8,10H14.31L14.6,10.5L19.36,18.75C21,16.97 22,14.6 22,12C22,11.31 21.93,10.64 21.8,10M21.54,9C20.62,6.07 18.39,3.74 15.55,2.66L11.88,9M9.4,10.5L14.17,2.24C13.47,2.09 12.75,2 12,2C9.6,2 7.4,2.84 5.68,4.25L9.34,10.6L9.4,10.5Z\";\r\nexport var mdiCameraLock = \"M4 4H7L9 2H15L17 4H20C21.11 4 22 4.89 22 6V12C21.16 11.37 20.13 11 19 11C18.21 11 17.46 11.18 16.79 11.5C16.18 9.22 14.27 7 12 7C9.24 7 7 9.24 7 12C7 14.76 9.24 17 12 17C12.42 17 12.84 16.95 13.23 16.85C13.08 17.2 13 17.59 13 18V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4M12 9C13.66 9 15 10.34 15 12C15 13.66 13.66 15 12 15C10.34 15 9 13.66 9 12C9 10.34 10.34 9 12 9M23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17C22.4 17 23 17.6 23 18.3M20.5 15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5V15.5Z\";\r\nexport var mdiCameraLockOpen = \"M15 12C14.6 12.6 14.4 13.3 14.3 14C13.7 14.6 12.9 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9 15 10.3 15 12M13 18.2C13 17.7 13.1 17.2 13.4 16.8C12.9 16.9 12.5 17 12 17C9.2 17 7 14.8 7 12S9.2 7 12 7C14.3 7 16.1 8.5 16.8 10.6C17.5 10.3 18.2 10 19 10C20.1 10 21.2 10.4 22 11V6C22 4.9 21.1 4 20 4H17L15 2H9L7 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13V18.2M21.8 17H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V15H21.8V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V17C15.6 17 15 17.6 15 18.2V21.7C15 22.4 15.6 23 16.2 23H21.7C22.4 23 23 22.4 23 21.8V18.3C23 17.6 22.4 17 21.8 17Z\";\r\nexport var mdiCameraLockOpenOutline = \"M13 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H7.2L9 2H15L16.8 4H20C21.1 4 22 4.9 22 6V11C21.4 10.6 20.7 10.2 20 10.1V6H16L14.2 4H9.9L8 6H4V18H13V20M12 7C9.2 7 7 9.2 7 12S9.2 17 12 17C12.5 17 12.9 16.9 13.4 16.8C13.6 16.4 13.9 16 14.2 15.8V14.6C14.2 14.4 14.2 14.2 14.3 14.1C13.7 14.7 12.9 15.1 12 15.1C10.3 15.1 9 13.8 9 12.1S10.3 9.1 12 9.1 15 10.4 15 12.1V12.2C15.4 11.6 16.1 11.1 16.8 10.7C16.1 8.5 14.3 7 12 7M21.8 17H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V15H21.8V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V17C15.6 17 15 17.6 15 18.2V21.7C15 22.4 15.6 23 16.2 23H21.7C22.4 23 23 22.4 23 21.8V18.3C23 17.6 22.4 17 21.8 17Z\";\r\nexport var mdiCameraLockOutline = \"M23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17C22.4 17 23 17.6 23 18.3M20.5 15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5V15.5M20 4C21.1 4 22 4.9 22 6V12C21.42 11.56 20.74 11.25 20 11.1V6H15.95L14.12 4H9.88L8.05 6H4V18H13V20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H7.17L9 2H15L16.83 4H20M12 7C14.57 7 16.68 8.94 16.97 11.43C15.29 12.18 14.1 13.83 14 15.76C13.67 16.06 13.4 16.43 13.23 16.85C12.84 16.95 12.42 17 12 17C9.24 17 7 14.76 7 12C7 9.24 9.24 7 12 7M12 15C13.65 15 15 13.65 15 12C15 10.35 13.65 9 12 9C10.35 9 9 10.35 9 12C9 13.65 10.35 15 12 15Z\";\r\nexport var mdiCameraMarker = \"M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M9 2L7 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H14.5C13.9 19.1 13.4 18.1 13.1 16.9C12.8 17 12.4 17 12 17C9.2 17 7 14.8 7 12S9.2 7 12 7C14.1 7 16 8.3 16.7 10.3C17.3 10.1 17.9 10 18.5 10C19.8 10 21 10.5 22 11.3V6C22 4.9 21.1 4 20 4H17L15 2H9M11.9 9C10.3 9 9 10.4 9 12C9 13.7 10.3 15 12 15C12.4 15 12.7 14.9 13 14.8C13.2 13.4 13.9 12.2 14.9 11.3C14.6 10 13.4 9 11.9 9C12 9 12 9 11.9 9Z\";\r\nexport var mdiCameraMarkerOutline = \"M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M9 2L7.2 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H14.5C14.1 19.4 13.7 18.7 13.5 18H4V6H8.1L9.9 4H14.1L15.9 6H20V10.2C20.7 10.4 21.4 10.8 22 11.3V6C22 4.9 21.1 4 20 4H16.8L15 2H9M12 7C9.2 7 7 9.2 7 12S9.2 17 12 17C12.4 17 12.8 17 13.2 16.9C13.1 16.4 13 16 13 15.5V14.8C12.7 14.9 12.3 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9C13.4 9 14.6 10 14.9 11.3C15.4 10.9 16 10.5 16.7 10.3C16 8.3 14.1 7 12 7Z\";\r\nexport var mdiCameraMeteringCenter = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5M12,7.5C14.14,7.5 15.93,9 16.39,11H14.83C14.42,9.83 13.31,9 12,9C10.69,9 9.58,9.83 9.17,11H7.61C8.07,9 9.86,7.5 12,7.5M12,16.5C9.86,16.5 8.07,15 7.61,13H9.17C9.58,14.17 10.69,15 12,15C13.31,15 14.42,14.17 14.83,13H16.39C15.93,15 14.14,16.5 12,16.5Z\";\r\nexport var mdiCameraMeteringMatrix = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M5.5,7.5H11V9.17C10.15,9.47 9.47,10.15 9.17,11H5.5V7.5M18.5,7.5V11H14.83C14.53,10.15 13.85,9.47 13,9.17V7.5H18.5M18.5,16.5H13V14.83C13.85,14.53 14.53,13.85 14.83,13H18.5V16.5M5.5,16.5V13H9.17C9.47,13.85 10.15,14.53 11,14.83V16.5H5.5M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5Z\";\r\nexport var mdiCameraMeteringPartial = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,7.5C14.14,7.5 15.93,9 16.39,11H14.83C14.42,9.83 13.31,9 12,9C10.69,9 9.58,9.83 9.17,11H7.61C8.07,9 9.86,7.5 12,7.5M12,16.5C9.86,16.5 8.07,15 7.61,13H9.17C9.58,14.17 10.69,15 12,15C13.31,15 14.42,14.17 14.83,13H16.39C15.93,15 14.14,16.5 12,16.5Z\";\r\nexport var mdiCameraMeteringSpot = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5Z\";\r\nexport var mdiCameraOff = \"M1.2,4.47L2.5,3.2L20,20.72L18.73,22L16.73,20H4A2,2 0 0,1 2,18V6C2,5.78 2.04,5.57 2.1,5.37L1.2,4.47M7,4L9,2H15L17,4H20A2,2 0 0,1 22,6V18C22,18.6 21.74,19.13 21.32,19.5L16.33,14.5C16.76,13.77 17,12.91 17,12A5,5 0 0,0 12,7C11.09,7 10.23,7.24 9.5,7.67L5.82,4H7M7,12A5,5 0 0,0 12,17C12.5,17 13.03,16.92 13.5,16.77L11.72,15C10.29,14.85 9.15,13.71 9,12.28L7.23,10.5C7.08,10.97 7,11.5 7,12M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9Z\";\r\nexport var mdiCameraOffOutline = \"M17 12C17 12.54 16.9 13.05 16.74 13.54L15 11.78C14.87 10.3 13.7 9.13 12.22 9L10.46 7.26C10.95 7.1 11.46 7 12 7C14.76 7 17 9.24 17 12M9.88 4H14.12L15.95 6H20V16.8L21.88 18.68C21.96 18.47 22 18.24 22 18V6C22 4.89 21.11 4 20 4H16.83L15 2H9L7.18 4L8.6 5.4L9.88 4M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M9 12C9 13.66 10.34 15 12 15C12.33 15 12.65 14.93 12.94 14.83L9.17 11.06C9.07 11.36 9 11.67 9 12M16.11 18L14.45 16.34C13.72 16.75 12.89 17 12 17C9.24 17 7 14.76 7 12C7 11.11 7.25 10.28 7.66 9.55L4.11 6H4V18H16.11Z\";\r\nexport var mdiCameraOutline = \"M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M20,18H4V6H8.05L9.88,4H14.12L15.95,6H20V18M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15Z\";\r\nexport var mdiCameraPartyMode = \"M12,17C10.37,17 8.94,16.21 8,15H12A3,3 0 0,0 15,12C15,11.65 14.93,11.31 14.82,11H16.9C16.96,11.32 17,11.66 17,12A5,5 0 0,1 12,17M12,7C13.63,7 15.06,7.79 16,9H12A3,3 0 0,0 9,12C9,12.35 9.07,12.68 9.18,13H7.1C7.03,12.68 7,12.34 7,12A5,5 0 0,1 12,7M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiCameraPlus = \"M3 4V1H5V4H8V6H5V9H3V6H0V4M6 10V7H9V4H16L17.8 6H21C22.1 6 23 6.9 23 8V20C23 21.1 22.1 22 21 22H5C3.9 22 3 21.1 3 20V10M13 19C17.45 19 19.69 13.62 16.54 10.46C13.39 7.31 8 9.55 8 14C8 16.76 10.24 19 13 19M9.8 14C9.8 16.85 13.25 18.28 15.26 16.26C17.28 14.25 15.85 10.8 13 10.8C11.24 10.8 9.8 12.24 9.8 14Z\";\r\nexport var mdiCameraPlusOutline = \"M21 6H17.8L16 4H10V6H15.1L17 8H21V20H5V11H3V20C3 21.1 3.9 22 5 22H21C22.1 22 23 21.1 23 20V8C23 6.9 22.1 6 21 6M8 14C8 18.45 13.39 20.69 16.54 17.54C19.69 14.39 17.45 9 13 9C10.24 9 8 11.24 8 14M13 11C14.64 11.05 15.95 12.36 16 14C15.95 15.64 14.64 16.95 13 17C11.36 16.95 10.05 15.64 10 14C10.05 12.36 11.36 11.05 13 11M5 6H8V4H5V1H3V4H0V6H3V9H5\";\r\nexport var mdiCameraRear = \"M12,6C10.89,6 10,5.1 10,4A2,2 0 0,1 12,2C13.09,2 14,2.9 14,4A2,2 0 0,1 12,6M17,0H7A2,2 0 0,0 5,2V16A2,2 0 0,0 7,18H17A2,2 0 0,0 19,16V2A2,2 0 0,0 17,0M14,20V22H19V20M10,20H5V22H10V24L13,21L10,18V20Z\";\r\nexport var mdiCameraRearVariant = \"M6,0H18A2,2 0 0,1 20,2V22A2,2 0 0,1 18,24H6A2,2 0 0,1 4,22V2A2,2 0 0,1 6,0M12,2A2,2 0 0,0 10,4A2,2 0 0,0 12,6A2,2 0 0,0 14,4A2,2 0 0,0 12,2M13,18H9V20H13V22L16,19L13,16V18Z\";\r\nexport var mdiCameraRetake = \"M20,5H17L15,3H9L7,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M12,18C10.92,18 9.86,17.65 9,17L10.44,15.56C10.91,15.85 11.45,16 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10C10.74,10 9.6,10.8 9.18,12H11L8,15L5,12H7.1C7.65,9.29 10.29,7.55 13,8.1C15.7,8.65 17.45,11.29 16.9,14C16.42,16.33 14.38,18 12,18Z\";\r\nexport var mdiCameraRetakeOutline = \"M20,5H16.83L15,3H9L7.17,5H4A2,2 0 0,0 2,7V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V7A2,2 0 0,0 20,5M20,19H4V7H8.05L9.88,5H14.12L16,7H20V19M12,18C10.92,18 9.86,17.65 9,17L10.44,15.56C10.91,15.85 11.45,16 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10C10.74,10 9.6,10.8 9.18,12H11L8,15L5,12H7.1C7.65,9.29 10.29,7.55 13,8.1C15.7,8.65 17.45,11.29 16.9,14C16.42,16.33 14.38,18 12,18Z\";\r\nexport var mdiCameraSwitch = \"M15,15.5V13H9V15.5L5.5,12L9,8.5V11H15V8.5L18.5,12M20,4H16.83L15,2H9L7.17,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiCameraSwitchOutline = \"M20 4H16.8L15 2H9L7.2 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M9.9 4H14.1L15.9 6H20V18H4V6H8.1M15 11H9V8.5L5.5 12L9 15.5V13H15V15.5L18.5 12L15 8.5V11Z\";\r\nexport var mdiCameraTimer = \"M4.94,6.35C4.55,5.96 4.55,5.32 4.94,4.93C5.33,4.54 5.96,4.54 6.35,4.93L13.07,10.31L13.42,10.59C14.2,11.37 14.2,12.64 13.42,13.42C12.64,14.2 11.37,14.2 10.59,13.42L10.31,13.07L4.94,6.35M12,20A8,8 0 0,0 20,12C20,9.79 19.1,7.79 17.66,6.34L19.07,4.93C20.88,6.74 22,9.24 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12H4A8,8 0 0,0 12,20M12,1A2,2 0 0,1 14,3A2,2 0 0,1 12,5A2,2 0 0,1 10,3A2,2 0 0,1 12,1Z\";\r\nexport var mdiCameraWireless = \"M12,10.8A3.2,3.2 0 0,1 15.2,14A3.2,3.2 0 0,1 12,17.2A3.2,3.2 0 0,1 8.8,14A3.2,3.2 0 0,1 12,10.8M16,3.33V2A6,6 0 0,1 22,8H20.67C20.67,5.42 18.58,3.33 16,3.33M16,6V4.67C17.84,4.67 19.33,6.16 19.33,8H18C18,6.89 17.11,6 16,6M17,9H22V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8A2,2 0 0,1 4,6H7.17L9,4H15V7C16.11,7 17,7.89 17,9M12,19A5,5 0 0,0 17,14A5,5 0 0,0 12,9A5,5 0 0,0 7,14A5,5 0 0,0 12,19Z\";\r\nexport var mdiCameraWirelessOutline = \"M20,9V20H4V8H8.05L9.88,6H15V4H9L7.17,6H4A2,2 0 0,0 2,8V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V9H20M20.67,8H22C22,4.68 19.31,2 16,2V3.33C18.58,3.33 20.66,5.41 20.67,8M18,8H19.33C19.32,6.15 17.84,4.67 16,4.67V6C17.11,6 18,6.89 18,8M7,14A5,5 0 0,0 12,19A5,5 0 0,0 17,14A5,5 0 0,0 12,9A5,5 0 0,0 7,14M15,14A3,3 0 0,1 12,17A3,3 0 0,1 9,14A3,3 0 0,1 12,11A3,3 0 0,1 15,14Z\";\r\nexport var mdiCampfire = \"M15.9,18.5L21.9,20.1L21.5,22L12.1,19.5L2.7,22L2.2,20.1L8.2,18.5L2.1,16.9L2.6,15L12,17.5L21.4,15L21.9,16.9L15.9,18.5M16.07,7.92C15.91,7.7 15.71,7.5 15.5,7.33C15.05,6.9 14.5,6.59 14.06,6.13C13,5.08 12.79,3.34 13.44,2C12.79,2.17 12.18,2.54 11.67,2.95C9.84,4.46 9.11,7.1 10,9.38C10,9.45 10.04,9.53 10.04,9.62C10.04,9.78 9.93,9.92 9.79,10C9.63,10.05 9.46,10 9.33,9.9C9.28,9.86 9.25,9.82 9.22,9.77C8.42,8.74 8.29,7.26 8.84,6.07C7.65,7.06 7,8.72 7.11,10.29C7.13,10.65 7.18,11 7.3,11.36C7.41,11.8 7.59,12.23 7.82,12.61C8.57,13.86 9.9,14.76 11.32,14.94C12.84,15.14 14.46,14.85 15.63,13.79C16.93,12.59 17.4,10.67 16.71,9L16.61,8.83C16.47,8.5 16.28,8.2 16.04,7.93L16.07,7.92M13.83,12.47C13.63,12.65 13.31,12.83 13.05,12.91C12.26,13.19 11.46,12.79 11,12.31C11.84,12.11 12.34,11.47 12.5,10.83C12.61,10.25 12.39,9.78 12.29,9.22C12.21,8.69 12.22,8.23 12.42,7.73C12.55,8 12.69,8.28 12.86,8.5C13.41,9.22 14.27,9.54 14.45,10.5C14.47,10.63 14.5,10.72 14.5,10.83C14.5,11.43 14.26,12.07 13.82,12.47\";\r\nexport var mdiCancel = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z\";\r\nexport var mdiCandelabra = \"M20.5 11C20.5 11.55 20.05 12 19.5 12H19V14C19 15.11 18.11 16 17 16H13V20H14C15.11 20 16 20.9 16 22H8C8 20.9 8.9 20 10 20H11V16H7C5.9 16 5 15.11 5 14V12H4.5C3.95 12 3.5 11.55 3.5 11S3.95 10 4.5 10H5V4L7 5V10H7.5C8.05 10 8.5 10.45 8.5 11S8.05 12 7.5 12H7V14H11V12H10.5C9.95 12 9.5 11.55 9.5 11S9.95 10 10.5 10H11V2L13 3V10H13.5C14.05 10 14.5 10.45 14.5 11S14.05 12 13.5 12H13V14H17V12H16.5C15.95 12 15.5 11.55 15.5 11S15.95 10 16.5 10H17V4L19 5V10H19.5C20.05 10 20.5 10.45 20.5 11Z\";\r\nexport var mdiCandelabraFire = \"M18 7C18.83 7 19.5 6.33 19.5 5.5C19.5 4.67 18.83 3 18 3S16.5 4.67 16.5 5.5C16.5 6.33 17.17 7 18 7M18 5.25C18.28 5.25 18.5 5.47 18.5 5.75S18.28 6.25 18 6.25 17.5 6.03 17.5 5.75 17.72 5.25 18 5.25M12 6C12.83 6 13.5 5.33 13.5 4.5C13.5 3.67 12.83 2 12 2S10.5 3.67 10.5 4.5C10.5 5.33 11.17 6 12 6M12 4.25C12.28 4.25 12.5 4.47 12.5 4.75S12.28 5.25 12 5.25 11.5 5.03 11.5 4.75 11.72 4.25 12 4.25M6 7C6.83 7 7.5 6.33 7.5 5.5C7.5 4.67 6.83 3 6 3S4.5 4.67 4.5 5.5C4.5 6.33 5.17 7 6 7M6 5.25C6.28 5.25 6.5 5.47 6.5 5.75S6.28 6.25 6 6.25 5.5 6.03 5.5 5.75 5.72 5.25 6 5.25M20.5 11C20.5 11.55 20.05 12 19.5 12H19V14C19 15.11 18.11 16 17 16H13V20H14C15.11 20 16 20.9 16 22H8C8 20.9 8.9 20 10 20H11V16H7C5.9 16 5 15.11 5 14V12H4.5C3.95 12 3.5 11.55 3.5 11S3.95 10 4.5 10V9C4.5 8.45 4.95 8 5.5 8H6.5C7.05 8 7.5 8.45 7.5 9V10C8.05 10 8.5 10.45 8.5 11S8.05 12 7.5 12H7V14H11V12H10.5C9.95 12 9.5 11.55 9.5 11S9.95 10 10.5 10V8C10.5 7.45 10.95 7 11.5 7H12.5C13.05 7 13.5 7.45 13.5 8V10C14.05 10 14.5 10.45 14.5 11S14.05 12 13.5 12H13V14H17V12H16.5C15.95 12 15.5 11.55 15.5 11S15.95 10 16.5 10V9C16.5 8.45 16.95 8 17.5 8H18.5C19.05 8 19.5 8.45 19.5 9V10C20.05 10 20.5 10.45 20.5 11Z\";\r\nexport var mdiCandle = \"M12.5,2C10.84,2 9.5,5.34 9.5,7A3,3 0 0,0 12.5,10A3,3 0 0,0 15.5,7C15.5,5.34 14.16,2 12.5,2M12.5,6.5A1,1 0 0,1 13.5,7.5A1,1 0 0,1 12.5,8.5A1,1 0 0,1 11.5,7.5A1,1 0 0,1 12.5,6.5M10,11A1,1 0 0,0 9,12V20H7A1,1 0 0,1 6,19V18A1,1 0 0,0 5,17A1,1 0 0,0 4,18V19A3,3 0 0,0 7,22H19A1,1 0 0,0 20,21A1,1 0 0,0 19,20H16V12A1,1 0 0,0 15,11H10Z\";\r\nexport var mdiCandy = \"M15.54 8.46C17.5 10.42 17.5 13.58 15.54 15.54S10.42 17.5 8.47 15.54 6.5 10.42 8.47 8.46 13.58 6.5 15.54 8.46M19.47 4.55C19.47 4.55 18.5 4.67 17.43 5.36C17.28 4.32 16.78 3.27 15.93 2.42C14.68 3.66 14.53 5.22 14.83 6.34C16.22 6.7 17.3 7.78 17.66 9.17C18.78 9.47 20.34 9.32 21.58 8.07C20.74 7.23 19.71 6.74 18.68 6.58C19.07 6 19.38 5.33 19.47 4.55M4.53 19.45C4.53 19.45 5.5 19.33 6.57 18.64C6.72 19.68 7.22 20.73 8.07 21.58C9.32 20.34 9.47 18.78 9.17 17.66C7.78 17.3 6.7 16.22 6.34 14.83C5.22 14.53 3.66 14.68 2.42 15.93C3.26 16.77 4.29 17.27 5.32 17.42C4.93 18 4.62 18.68 4.53 19.45Z\";\r\nexport var mdiCandyOff = \"M20.8 22.7L14.4 16.3C12.5 17.4 10 17.1 8.4 15.5C6.8 13.9 6.5 11.4 7.6 9.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15.5 8.5C14.1 7.1 12.2 6.7 10.4 7.3L16.7 13.6C17.3 11.8 16.9 9.8 15.5 8.5M17.7 9.2C18.8 9.5 20.4 9.3 21.6 8.1C20.8 7.3 19.7 6.8 18.7 6.6C19.1 6 19.4 5.3 19.5 4.6C19.5 4.6 18.5 4.7 17.5 5.4C17.4 4.4 16.9 3.3 16 2.5C14.8 3.7 14.6 5.3 14.9 6.4C16.2 6.7 17.3 7.8 17.7 9.2M6.3 14.8C5.2 14.5 3.6 14.7 2.4 15.9C3.2 16.7 4.3 17.2 5.3 17.4C4.9 18 4.6 18.7 4.5 19.4C4.5 19.4 5.5 19.3 6.5 18.6C6.6 19.6 7.1 20.7 8 21.5C9.2 20.3 9.4 18.7 9.1 17.6C7.8 17.3 6.7 16.2 6.3 14.8Z\";\r\nexport var mdiCandyOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.7 9.6C6.6 11.5 6.9 14 8.5 15.6S12.6 17.5 14.5 16.4L20.9 22.8L22.1 21.5M9.9 14.1C9.1 13.3 8.8 12.1 9.2 11L13 14.8C11.9 15.2 10.7 15 9.9 14.1M14.8 6.3C14.5 5.2 14.6 3.6 15.9 2.4C16.8 3.3 17.3 4.3 17.4 5.3C18.5 4.6 19.4 4.5 19.4 4.5C19.3 5.3 19 6 18.6 6.5C19.6 6.7 20.7 7.2 21.5 8C20.3 9.2 18.7 9.4 17.6 9.1C17.3 7.8 16.2 6.7 14.8 6.3M12.2 9L10.4 7.2C12.1 6.6 14.1 7 15.5 8.4C16.9 9.8 17.3 11.7 16.7 13.5L15 11.8C14.9 11.1 14.7 10.4 14.1 9.9S12.9 9.1 12.2 9M9.2 17.7C9.5 18.8 9.4 20.4 8.1 21.6C7.2 20.7 6.7 19.7 6.6 18.7C5.5 19.4 4.6 19.5 4.6 19.5C4.7 18.7 5 18 5.4 17.5C4.4 17.3 3.3 16.8 2.5 16C3.7 14.8 5.3 14.6 6.4 14.9C6.7 16.2 7.8 17.3 9.2 17.7Z\";\r\nexport var mdiCandyOutline = \"M9.88 9.88C11.05 8.71 12.95 8.71 14.12 9.88S15.29 12.95 14.12 14.12 11.05 15.29 9.88 14.12 8.71 11.05 9.88 9.88M8.46 8.46C6.5 10.42 6.5 13.58 8.46 15.54S13.58 17.5 15.54 15.54 17.5 10.42 15.54 8.46 10.42 6.5 8.46 8.46M19.47 4.55C19.47 4.55 18.5 4.67 17.43 5.37C17.28 4.32 16.78 3.27 15.93 2.42C14.68 3.67 14.53 5.22 14.83 6.34C16.22 6.7 17.3 7.78 17.66 9.17C18.78 9.47 20.34 9.32 21.58 8.07C20.74 7.23 19.71 6.74 18.68 6.58C19.07 6 19.38 5.33 19.47 4.55M4.53 19.45C4.53 19.45 5.5 19.33 6.57 18.64C6.72 19.68 7.22 20.73 8.07 21.58C9.32 20.34 9.47 18.78 9.17 17.66C7.79 17.3 6.7 16.22 6.34 14.83C5.22 14.53 3.67 14.68 2.42 15.93C3.26 16.77 4.29 17.27 5.32 17.42C4.93 18 4.62 18.68 4.53 19.45Z\";\r\nexport var mdiCandycane = \"M10,10A2,2 0 0,1 8,12A2,2 0 0,1 6,10V8C6,7.37 6.1,6.77 6.27,6.2L10,9.93V10M12,2C12.74,2 13.44,2.13 14.09,2.38L11.97,6C11.14,6 10.44,6.5 10.15,7.25L7.24,4.34C8.34,2.92 10.06,2 12,2M17.76,6.31L14,10.07V8C14,7.62 13.9,7.27 13.72,6.97L15.83,3.38C16.74,4.13 17.42,5.15 17.76,6.31M18,13.09L14,17.09V12.9L18,8.9V13.09M18,20A2,2 0 0,1 16,22A2,2 0 0,1 14,20V19.91L18,15.91V20Z\";\r\nexport var mdiCannabis = \"M11.5,22V17.35C11,18.13 10,19.09 8.03,19.81C8.03,19.81 8.53,18.1 9.94,16.95C8.64,17.23 6.68,17.19 4,16C4,16 6.47,14.59 9.28,14.97C7.69,14 5.7,12.08 4.17,8.11C4.17,8.11 8.67,9.34 10.91,13.14C8.88,8.24 12,2 12,2C14.43,7.47 13.91,11.1 13.12,13.1C15.37,9.33 19.83,8.11 19.83,8.11C18.3,12.08 16.31,14 14.72,14.97C17.53,14.59 20,16 20,16C17.32,17.19 15.36,17.23 14.06,16.95C15.47,18.1 15.97,19.81 15.97,19.81C14,19.09 13,18.13 12.5,17.35V22H11.5Z\";\r\nexport var mdiCannabisOff = \"M16.62 13.42L14.5 11.32C16.84 8.94 19.83 8.11 19.83 8.11C18.87 10.6 17.73 12.27 16.62 13.42M12 2C12 2 10.86 4.3 10.41 7.21L13.72 10.5C13.92 8.45 13.61 5.63 12 2M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L8.62 10.5C6.5 8.75 4.17 8.11 4.17 8.11C5.7 12.08 7.69 14 9.28 14.97C6.47 14.59 4 16 4 16C6.68 17.19 8.64 17.23 9.94 16.95C8.53 18.1 8.03 19.81 8.03 19.81C10 19.09 11 18.13 11.5 17.35V22H12.5V17.35C13 18.13 14 19.09 15.97 19.81C15.97 19.81 15.47 18.1 14.06 16.95C14.39 17 14.77 17.07 15.2 17.09L20.84 22.73Z\";\r\nexport var mdiCapsLock = \"M9.96,13.71L12,8.29L14.03,13.72M11.14,6L6.43,18H8.36L9.32,15.43H14.68L15.64,18H17.57L12.86,6H11.14M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.9,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.1,2 20,2M20,20H4V4H20V20Z\";\r\nexport var mdiCar = \"M5,11L6.5,6.5H17.5L19,11M17.5,16A1.5,1.5 0 0,1 16,14.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 19,14.5A1.5,1.5 0 0,1 17.5,16M6.5,16A1.5,1.5 0 0,1 5,14.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 6.5,16M18.92,6C18.72,5.42 18.16,5 17.5,5H6.5C5.84,5 5.28,5.42 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V19H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6Z\";\r\nexport var mdiCar2Plus = \"M8 16C8 13.6 9.1 11.5 10.7 10H3L4.5 5.5H15.5L16.3 8C16.9 8 17.5 8.1 18 8.3L16.9 5C16.7 4.4 16.1 4 15.5 4H4.5C3.8 4 3.3 4.4 3.1 5L1 11V19C1 19.5 1.5 20 2 20H3C3.5 20 4 19.5 4 19V18H8.3C8.1 17.4 8 16.7 8 16M4.5 15C3.7 15 3 14.3 3 13.5S3.7 12 4.5 12 6 12.7 6 13.5 5.3 15 4.5 15M16 20V18H13V17H14C15.1 17 16 16.1 16 15V14C16 12.9 15.1 12 14 12H11V14H14V15H13C11.9 15 11 15.9 11 17V20M23 17H21V19H19V17H17V15H19V13H21V15H23V17Z\";\r\nexport var mdiCar3Plus = \"M16.9 5C16.7 4.4 16.1 4 15.5 4H4.5C3.8 4 3.3 4.4 3.1 5L1 11V19C1 19.5 1.5 20 2 20H3C3.5 20 4 19.5 4 19V18H8.3C8.1 17.4 8 16.7 8 16C8 13.6 9.1 11.5 10.7 10H3L4.5 5.5H15.5L16.3 8C16.9 8 17.5 8.1 18 8.3L16.9 5M4.5 12C5.3 12 6 12.7 6 13.5S5.3 15 4.5 15 3 14.3 3 13.5 3.7 12 4.5 12M23 17H21V19H19V17H17V15H19V13H21V15H23V17M14.5 16C15.3 16 16 14.8 16 14C16 12.9 15.1 12 14 12H11V14H14V15H12V17H14V18H11V20H14C15.1 20 16 19.1 16 18C16 17.2 15.3 16 14.5 16Z\";\r\nexport var mdiCarArrowLeft = \"M12 18C12 14.69 14.69 12 18 12C19.09 12 20.12 12.3 21 12.81V12L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H12.09C12.04 18.67 12 18.34 12 18M6.5 6.5H17.5L19 11H5L6.5 6.5M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M18 15V17H22V19H18V21L15 18L18 15\";\r\nexport var mdiCarArrowRight = \"M12 18C12 14.69 14.69 12 18 12C19.09 12 20.12 12.3 21 12.81V12L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H12.09C12.04 18.67 12 18.34 12 18M6.5 6.5H17.5L19 11H5L6.5 6.5M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M19 21V19H15V17H19V15L22 18L19 21\";\r\nexport var mdiCarBack = \"M6,11L7,7H17L18,11M18.92,6C18.71,5.4 18.14,5 17.5,5H6.5C5.86,5 5.29,5.4 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V18H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6M7,16H5V14H7V16M19,16H17V14H19V16M14,16H10V14H14V16Z\";\r\nexport var mdiCarBattery = \"M4,3V6H1V20H23V6H20V3H14V6H10V3H4M3,8H21V18H3V8M15,10V12H13V14H15V16H17V14H19V12H17V10H15M5,12V14H11V12H5Z\";\r\nexport var mdiCarBrakeAbs = \"M24,12C24,15.31 22.66,18.31 20.5,20.5L19.42,19.42C21.32,17.5 22.5,14.9 22.5,12C22.5,9.11 21.32,6.5 19.42,4.58L20.5,3.5C22.66,5.69 24,8.69 24,12M20,9.6V8H16.8C15.92,8 15.2,8.72 15.2,9.6V11.2A1.6,1.6 0 0,0 16.8,12.8H18.4V14.4H15.2V16H18.4C19.28,16 20,15.28 20,14.4V12.8A1.6,1.6 0 0,0 18.4,11.2H16.8V9.6H20M8.42,6C9.47,5.37 10.69,5 12,5C13.31,5 14.53,5.37 15.58,6H18.69C17.05,4.16 14.66,3 12,3C9.34,3 6.95,4.16 5.31,6H8.42M13.2,12C13.84,12 14.4,12.56 14.4,13.2V14.4A1.6,1.6 0 0,1 12.8,16H9.6V8H12.8A1.6,1.6 0 0,1 14.4,9.6V10.8C14.4,11.44 13.84,12 13.2,12M12.8,12.8H11.2V14.4H12.8V12.8M12.8,9.6H11.2V11.2H12.8V9.6M4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58M7.2,16V12.8H5.6V16H4V9.6A1.6,1.6 0 0,1 5.6,8H7.2C8.08,8 8.8,8.72 8.8,9.6V16H7.2M7.2,11.2V9.6H5.6V11.2H7.2M15.58,18C14.53,18.63 13.31,19 12,19C10.69,19 9.47,18.63 8.42,18H5.31C6.95,19.84 9.34,21 12,21C14.66,21 17.05,19.84 18.69,18H15.58Z\";\r\nexport var mdiCarBrakeAlert = \"M11,15H13V17H11V15M11,7H13V13H11V7M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19C8.14,19 5,15.86 5,12C5,8.14 8.14,5 12,5C15.86,5 19,8.14 19,12C19,15.86 15.86,19 12,19M20.5,20.5C22.66,18.31 24,15.31 24,12C24,8.69 22.66,5.69 20.5,3.5L19.42,4.58C21.32,6.5 22.5,9.11 22.5,12C22.5,14.9 21.32,17.5 19.42,19.42L20.5,20.5M4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42Z\";\r\nexport var mdiCarBrakeFluidLevel = \"M1.5 12C1.5 14.9 2.68 17.5 4.58 19.42L3.5 20.5C1.34 18.31 0 15.31 0 12S1.34 5.69 3.5 3.5L4.58 4.58C2.68 6.5 1.5 9.11 1.5 12M21 12C21 16.97 16.97 21 12 21S3 16.97 3 12 7.03 3 12 3 21 7.03 21 12M5 12C5 12.44 5.05 12.86 5.12 13.28C5.3 13.09 5.46 13 5.78 13C6.3 13 6.39 13.21 6.78 13.71C7.17 14.21 7.85 15 8.89 15C9.92 15 10.61 14.21 11 13.71C11.26 13.37 11.39 13.18 11.61 13.08C11.71 13.03 11.83 13 12 13C12.5 13 12.61 13.21 13 13.71C13.39 14.21 14.08 15 15.11 15C16.15 15 16.83 14.21 17.22 13.71C17.61 13.21 17.7 13 18.22 13C18.54 13 18.7 13.09 18.88 13.28C18.95 12.86 19 12.44 19 12C19 8.14 15.86 5 12 5S5 8.14 5 12M20.5 3.5L19.42 4.58C21.32 6.5 22.5 9.11 22.5 12C22.5 14.9 21.32 17.5 19.42 19.42L20.5 20.5C22.66 18.31 24 15.31 24 12S22.66 5.69 20.5 3.5Z\";\r\nexport var mdiCarBrakeHold = \"M12,3C7,3 3,7 3,12C3,17 7,21 12,21C17,21 21,17 21,12C21,7 17,3 12,3M12,19C8.1,19 5,15.9 5,12C5,8.1 8.1,5 12,5C15.9,5 19,8.1 19,12C19,15.9 15.9,19 12,19M20.5,20.5C22.7,18.3 24,15.3 24,12C24,8.7 22.7,5.7 20.5,3.5L19.4,4.6C21.3,6.5 22.5,9.1 22.5,12C22.5,14.9 21.3,17.5 19.4,19.4L20.5,20.5M4.6,19.4C2.7,17.5 1.5,14.9 1.5,12C1.5,9.1 2.7,6.5 4.6,4.6L3.5,3.5C1.3,5.7 0,8.7 0,12C0,15.3 1.3,18.3 3.5,20.5L4.6,19.4M9,7V17H11V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiCarBrakeLowPressure = \"M13 12C13 12.55 12.55 13 12 13S11 12.55 11 12 11.45 11 12 11 13 11.45 13 12M10 12L7 9V11H3V13H7V15L10 12M14 12L17 15V13H21V11H17V9L14 12M20.5 3.5L19.42 4.58C21.32 6.5 22.5 9.11 22.5 12C22.5 14.9 21.32 17.5 19.42 19.42L20.5 20.5C22.66 18.31 24 15.31 24 12S22.66 5.69 20.5 3.5M5.69 9C6.81 6.64 9.22 5 12 5S17.19 6.64 18.32 9H20.5C19.24 5.5 15.92 3 12 3S4.76 5.5 3.5 9H5.69M4.58 4.58L3.5 3.5C1.34 5.69 0 8.69 0 12S1.34 18.31 3.5 20.5L4.58 19.42C2.68 17.5 1.5 14.9 1.5 12C1.5 9.11 2.68 6.5 4.58 4.58M18.32 15C17.19 17.36 14.79 19 12 19S6.81 17.36 5.69 15H3.5C4.76 18.5 8.08 21 12 21S19.24 18.5 20.5 15H18.32Z\";\r\nexport var mdiCarBrakeParking = \"M12,3C7,3 3,7 3,12C3,17 7,21 12,21C17,21 21,17 21,12C21,7 17,3 12,3M12,19C8.1,19 5,15.9 5,12C5,8.1 8.1,5 12,5C15.9,5 19,8.1 19,12C19,15.9 15.9,19 12,19M20.5,20.5C22.7,18.3 24,15.3 24,12C24,8.7 22.7,5.7 20.5,3.5L19.4,4.6C21.3,6.5 22.5,9.1 22.5,12C22.5,14.9 21.3,17.5 19.4,19.4L20.5,20.5M4.6,19.4C2.7,17.5 1.5,14.9 1.5,12C1.5,9.1 2.7,6.5 4.6,4.6L3.5,3.5C1.3,5.7 0,8.7 0,12C0,15.3 1.3,18.3 3.5,20.5L4.6,19.4M9.5,7V17H11.5V13H13.5A2,2 0 0,0 15.5,11V9A2,2 0 0,0 13.5,7H9.5M11.5,9H13.5V11H11.5V9Z\";\r\nexport var mdiCarBrakeRetarder = \"M12 3C7 3 3 7 3 12S7 21 12 21 21 17 21 12 17 3 12 3M12 19C8.1 19 5 15.9 5 12S8.1 5 12 5 19 8.1 19 12 15.9 19 12 19M20.5 20.5C22.7 18.3 24 15.3 24 12S22.7 5.7 20.5 3.5L19.4 4.6C21.3 6.5 22.5 9.1 22.5 12S21.3 17.5 19.4 19.4L20.5 20.5M4.6 19.4C2.7 17.5 1.5 14.9 1.5 12S2.7 6.5 4.6 4.6L3.5 3.5C1.3 5.7 0 8.7 0 12S1.3 18.3 3.5 20.5L4.6 19.4M15.3 10.5C15.96 10.5 16.5 11.17 16.5 12C16.5 12.81 15.95 13.5 15.3 13.5C14.93 13.5 14.66 13.29 14.5 13.11L14.47 13.08L14.44 13.05L13.38 12L14.47 10.92L14.5 10.89L14.53 10.86C14.74 10.63 15 10.5 15.3 10.5M8.7 10.5C9.07 10.5 9.34 10.71 9.5 10.88L9.5 10.92L9.56 10.95L10.62 12L9.53 13.08L9.5 13.11L9.47 13.15C9.26 13.37 9 13.5 8.7 13.5C8.05 13.5 7.5 12.81 7.5 12S8.05 10.5 8.7 10.5M15.3 9C14.58 9 13.9 9.31 13.42 9.85L12 11.25L10.61 9.88C10.1 9.31 9.42 9 8.7 9C7.21 9 6 10.35 6 12S7.21 15 8.7 15C9.42 15 10.1 14.69 10.59 14.15L12 12.75L13.39 14.12C13.9 14.68 14.58 15 15.3 15C16.79 15 18 13.65 18 12C18 10.33 16.79 9 15.3 9Z\";\r\nexport var mdiCarBrakeTemperature = \"M12 10H15V8H12V7C12 6.4 11.6 6 11 6S10 6.4 10 7V17.3C9.4 17.6 9 18.3 9 19C9 20.1 9.9 21 11 21S13 20.1 13 19C13 18.3 12.6 17.6 12 17.3V14H15V12H12V10M24 12C24 15.31 22.66 18.31 20.5 20.5L19.42 19.42C21.32 17.5 22.5 14.9 22.5 12C22.5 9.11 21.32 6.5 19.42 4.58L20.5 3.5C22.66 5.69 24 8.69 24 12M1.5 12C1.5 14.9 2.68 17.5 4.58 19.42L3.5 20.5C1.34 18.31 0 15.31 0 12S1.34 5.69 3.5 3.5L4.58 4.58C2.68 6.5 1.5 9.11 1.5 12M21 12C21 15.53 18.96 18.58 16 20.05V17.74C17.81 16.47 19 14.37 19 12C19 8.14 15.86 5 12 5S5 8.14 5 12C5 14.37 6.19 16.47 8 17.74V20.05C5.04 18.58 3 15.53 3 12C3 7.03 7.03 3 12 3S21 7.03 21 12Z\";\r\nexport var mdiCarBrakeWornLinings = \"M12 5C15.86 5 19 8.14 19 12S15.86 19 12 19 5 15.86 5 12 8.14 5 12 5M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21 21 16.97 21 12 16.97 3 12 3M4.58 4.58L3.5 3.5C2.37 4.65 1.47 6.03 .861 7.55L2.3 8C2.84 6.71 3.61 5.56 4.58 4.58M1.71 14.1C1.57 13.42 1.5 12.72 1.5 12C1.5 11.28 1.57 10.58 1.71 9.9L.275 9.46C.098 10.28 0 11.13 0 12S.098 13.72 .275 14.54L1.71 14.1M23.14 7.55C22.53 6.03 21.63 4.65 20.5 3.5L19.42 4.58C20.39 5.56 21.16 6.71 21.7 8L23.14 7.55M.861 16.45C1.47 18 2.37 19.35 3.5 20.5L4.58 19.42C3.61 18.44 2.84 17.29 2.3 16L.861 16.45M19.42 19.42L20.5 20.5C21.63 19.35 22.53 18 23.14 16.45L21.7 16C21.16 17.29 20.39 18.44 19.42 19.42M22.29 9.9C22.43 10.58 22.5 11.28 22.5 12C22.5 12.72 22.43 13.42 22.29 14.1L23.73 14.54C23.9 13.72 24 12.87 24 12S23.9 10.28 23.73 9.46L22.29 9.9Z\";\r\nexport var mdiCarChildSeat = \"M17 4.5C17 5.9 15.9 7 14.5 7S12 5.9 12 4.5 13.1 2 14.5 2 17 3.1 17 4.5M15 8H14.2C12.1 8 10.1 6.8 9.1 4.9C9 4.8 8.9 4.7 8.9 4.6L7.1 5.4C7.6 6.8 9.2 8.6 11.5 9.5L9.7 14.5L5.8 13.4L3 18.9L5 19.4L6.8 15.8L11.3 17C12.3 17.2 13.3 16.7 13.7 15.8L16 9.4C16.2 8.7 15.7 8 15 8M18.9 7L15.5 16.4C14.9 18 13.4 19 11.8 19C11.5 19 11.1 19 10.8 18.9L7.9 18.1L7 19.9L9 20.4L10.4 20.8C10.9 20.9 11.4 21 11.9 21C14.4 21 16.6 19.5 17.5 17.1L21 7H18.9Z\";\r\nexport var mdiCarClock = \"M23 8C23 4.13 19.87 1 16 1C12.47 1 9.57 3.61 9.08 7H4.5C3.84 7 3.28 7.42 3.08 8L1 14V22C1 22.55 1.45 23 2 23H3C3.55 23 4 22.55 4 22V21H16V22C16 22.55 16.45 23 17 23H18C18.55 23 19 22.55 19 22V14.32C21.36 13.19 23 10.79 23 8M4.5 8.5H9.03C9.15 10.26 9.92 11.84 11.11 13H3L4.5 8.5M4.5 18C3.67 18 3 17.33 3 16.5S3.67 15 4.5 15 6 15.67 6 16.5 5.33 18 4.5 18M15.5 18C14.67 18 14 17.33 14 16.5S14.67 15 15.5 15 17 15.67 17 16.5 16.33 18 15.5 18M16 13C14.61 13 13.44 12.5 12.47 11.53C11.5 10.56 11 9.39 11 8C11 6.64 11.5 5.46 12.47 4.5C13.44 3.5 14.61 3 16 3C17.36 3 18.54 3.5 19.5 4.5C20.5 5.46 21 6.64 21 8C21 9.39 20.5 10.56 19.5 11.53C18.54 12.5 17.36 13 16 13M16.5 8.25L19.36 9.94L18.61 11.16L15 9V4H16.5V8.25Z\";\r\nexport var mdiCarClutch = \"M10 18.84L14 20.7V23L8 20V14H5V10H8V4L14 1V3.3L10 5.16V18.84M19 10H15V5.41L12 6.8V17.2L15 18.6V14H19V10Z\";\r\nexport var mdiCarCog = \"M6.5 5C5.84 5 5.28 5.42 5.08 6L3 12V20A1 1 0 0 0 4 21H5A1 1 0 0 0 6 20V19H11.3A7 7 0 0 1 11 17A7 7 0 0 1 14.41 11H5L6.5 6.5H17.5L18.68 10.03A7 7 0 0 1 20.47 10.46L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5M17 12C16.87 12 16.76 12.09 16.74 12.21L16.55 13.53C16.25 13.66 15.96 13.82 15.7 14L14.46 13.5C14.35 13.5 14.22 13.5 14.15 13.63L13.15 15.36C13.09 15.47 13.11 15.6 13.21 15.68L14.27 16.5C14.25 16.67 14.24 16.83 14.24 17C14.24 17.17 14.25 17.33 14.27 17.5L13.21 18.32C13.12 18.4 13.09 18.53 13.15 18.64L14.15 20.37C14.21 20.5 14.34 20.5 14.46 20.5L15.7 20C15.96 20.18 16.24 20.35 16.55 20.47L16.74 21.79C16.76 21.91 16.86 22 17 22H19C19.11 22 19.22 21.91 19.24 21.79L19.43 20.47C19.73 20.34 20 20.18 20.27 20L21.5 20.5C21.63 20.5 21.76 20.5 21.83 20.37L22.83 18.64C22.89 18.53 22.86 18.4 22.77 18.32L21.7 17.5C21.72 17.33 21.74 17.17 21.74 17C21.74 16.83 21.73 16.67 21.7 16.5L22.76 15.68C22.85 15.6 22.88 15.47 22.82 15.36L21.82 13.63C21.76 13.5 21.63 13.5 21.5 13.5L20.27 14C20 13.82 19.73 13.65 19.42 13.53L19.23 12.21C19.22 12.09 19.11 12 19 12H17M6.5 13A1.5 1.5 0 0 1 8 14.5A1.5 1.5 0 0 1 6.5 16A1.5 1.5 0 0 1 5 14.5A1.5 1.5 0 0 1 6.5 13M18 15.5C18.83 15.5 19.5 16.17 19.5 17C19.5 17.83 18.83 18.5 18 18.5C17.16 18.5 16.5 17.83 16.5 17C16.5 16.17 17.17 15.5 18 15.5Z\";\r\nexport var mdiCarConnected = \"M5,14H19L17.5,9.5H6.5L5,14M17.5,19A1.5,1.5 0 0,0 19,17.5A1.5,1.5 0 0,0 17.5,16A1.5,1.5 0 0,0 16,17.5A1.5,1.5 0 0,0 17.5,19M6.5,19A1.5,1.5 0 0,0 8,17.5A1.5,1.5 0 0,0 6.5,16A1.5,1.5 0 0,0 5,17.5A1.5,1.5 0 0,0 6.5,19M18.92,9L21,15V23A1,1 0 0,1 20,24H19A1,1 0 0,1 18,23V22H6V23A1,1 0 0,1 5,24H4A1,1 0 0,1 3,23V15L5.08,9C5.28,8.42 5.85,8 6.5,8H17.5C18.15,8 18.72,8.42 18.92,9M12,0C14.12,0 16.15,0.86 17.65,2.35L16.23,3.77C15.11,2.65 13.58,2 12,2C10.42,2 8.89,2.65 7.77,3.77L6.36,2.35C7.85,0.86 9.88,0 12,0M12,4C13.06,4 14.07,4.44 14.82,5.18L13.4,6.6C13.03,6.23 12.53,6 12,6C11.5,6 10.97,6.23 10.6,6.6L9.18,5.18C9.93,4.44 10.94,4 12,4Z\";\r\nexport var mdiCarConvertible = \"M16,6L15,6.75L17.5,10H13.5V8.5H12V10H3C1.89,10 1,10.89 1,12V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarCoolantLevel = \"M19 7V5H21V3H13V5H15V7H1V21H23V7H19M21 14.42C20.71 14.13 20.5 14 20 14C19.33 14 19.21 14.21 18.71 14.71S17.33 16 16 16 13.79 15.21 13.29 14.71 12.67 14 12 14C11.78 14 11.63 14.03 11.5 14.08C11.22 14.18 11.05 14.37 10.71 14.71C10.21 15.21 9.33 16 8 16S5.79 15.21 5.29 14.71 4.67 14 4 14C3.5 14 3.29 14.13 3 14.42V9H21V14.42Z\";\r\nexport var mdiCarCruiseControl = \"M22,15C22,17.6 20.8,19.9 18.9,21.3L18.4,20.8L16.3,18.7L17.7,17.3L18.9,18.5C19.4,17.8 19.8,16.9 19.9,16H18V14H19.9C19.7,13.1 19.4,12.3 18.9,11.5L17.7,12.7L16.3,11.3L17.5,10.1C16.8,9.6 15.9,9.2 15,9.1V11H13V9.1C12.1,9.3 11.3,9.6 10.5,10.1L13.5,13.1C13.7,13.1 13.8,13 14,13A2,2 0 0,1 16,15A2,2 0 0,1 14,17A2,2 0 0,1 12,15C12,14.8 12,14.7 12.1,14.5L9.1,11.5C8.6,12.2 8.2,13.1 8.1,14H10V16H8.1C8.3,16.9 8.6,17.7 9.1,18.5L10.3,17.3L11.7,18.7L9.1,21.3C7.2,19.9 6,17.6 6,15A8,8 0 0,1 14,7A8,8 0 0,1 22,15M6.7,5.3L3.4,2L2,3.4L5.3,6.7L4,8H8V4L6.7,5.3Z\";\r\nexport var mdiCarDefrostFront = \"M15,23C14.7,23 14.5,22.9 14.3,22.7C13.9,22.3 14,21.7 14.4,21.3V21.3C14.9,20.9 16.1,19.5 16.1,18.4C16.1,17.8 15.7,17.2 15.3,16.5C14.8,15.7 14.1,14.7 14.1,13.5C14.1,11.2 15.4,10.3 15.6,10.2C16.1,9.9 16.7,10.1 17,10.5C17.3,11 17.1,11.6 16.7,11.9V11.9C16.7,11.9 16.2,12.3 16.2,13.5C16.2,14.1 16.6,14.7 17,15.4C17.5,16.2 18.2,17.2 18.2,18.4C18.2,20.6 16.1,22.6 15.9,22.8C15.5,22.9 15.2,23 15,23M11.7,22.7C11.9,22.5 14,20.5 14,18.3C14,17.1 13.4,16.1 12.8,15.3C12.4,14.6 12,14 12,13.4C12,12.2 12.5,11.8 12.5,11.8V11.8C13,11.5 13.1,10.9 12.8,10.4C12.5,9.9 11.9,9.8 11.4,10.1C11.2,10.2 9.9,11.1 9.9,13.4C9.9,14.6 10.5,15.6 11.1,16.4C11.5,17.1 11.9,17.7 11.9,18.3C11.9,19.4 10.7,20.8 10.2,21.2V21.2C9.8,21.6 9.8,22.2 10.1,22.6C10.3,22.8 10.6,22.9 10.8,22.9C11.2,23 11.5,22.9 11.7,22.7M7.7,22.7C7.9,22.5 10,20.5 10,18.3C10,17.1 9.4,16.1 8.8,15.3C8.4,14.7 8,14.1 8,13.4C8,12.2 8.5,11.8 8.5,11.8V11.8C9,11.5 9.1,10.9 8.8,10.4C8.6,10 7.9,9.9 7.5,10.1C7.3,10.2 6,11.1 6,13.4C6,14.6 6.6,15.6 7.2,16.4C7.6,17.1 8,17.7 8,18.3C8,19.4 6.8,20.8 6.3,21.2V21.2C5.9,21.6 5.9,22.2 6.2,22.6C6.5,22.9 6.7,23 7,23C7.2,23 7.5,22.9 7.7,22.7M12,3C9.4,3 1,3.3 1,7C1,9.4 2.2,15.4 2.8,18H4L4.8,18H5V16H4.4C3.8,13.1 3,8.8 3,7C3,6 7.4,5 12,5C16.6,5 21,6 21,7C21,8.8 20.2,13.1 19.6,16H19V18H19.2L20,18H21.2C21.8,15.4 23,9.4 23,7C23,3.3 14.6,3 12,3Z\";\r\nexport var mdiCarDefrostRear = \"M10,18.3C10,20.5 7.9,22.5 7.7,22.7C7.5,22.9 7.2,23 7,23C6.7,23 6.5,22.9 6.2,22.6C5.9,22.2 5.9,21.6 6.3,21.2C6.8,20.8 8,19.4 8,18.3C8,17.7 7.6,17.1 7.2,16.4C6.6,15.6 6,14.6 6,13.4C6,11.1 7.3,10.2 7.5,10.1C7.9,9.9 8.6,10 8.8,10.4C9.1,10.9 9,11.5 8.5,11.8C8.5,11.8 8,12.2 8,13.4C8,14.1 8.4,14.7 8.8,15.3C9.4,16.1 10,17.1 10,18.3M12,13.4C12,12.2 12.5,11.8 12.5,11.8C13,11.5 13.1,10.9 12.8,10.4C12.5,9.9 11.9,9.8 11.4,10.1C11.2,10.2 9.9,11.1 9.9,13.4C9.9,14.6 10.5,15.6 11.1,16.4C11.5,17.1 11.9,17.7 11.9,18.3C11.9,19.4 10.7,20.8 10.2,21.2C9.8,21.6 9.8,22.2 10.1,22.6C10.3,22.8 10.6,22.9 10.8,22.9C11.2,23 11.5,22.9 11.7,22.7C11.9,22.5 14,20.5 14,18.3C14,17.1 13.4,16.1 12.8,15.3C12.4,14.6 12,14 12,13.4M20,3H4A2,2 0 0,0 2,5V16A2,2 0 0,0 4,18H5V16H4V5H20V16H19V18H20A2,2 0 0,0 22,16V5A2,2 0 0,0 20,3M16.2,13.5C16.2,12.3 16.7,11.9 16.7,11.9C17.1,11.6 17.3,11 17,10.5C16.7,10.1 16.1,9.9 15.6,10.2C15.4,10.3 14.1,11.2 14.1,13.5C14.1,14.7 14.8,15.7 15.3,16.5C15.7,17.2 16.1,17.8 16.1,18.4C16.1,19.5 14.9,20.9 14.4,21.3C14,21.7 13.9,22.3 14.3,22.7C14.5,22.9 14.7,23 15,23C15.2,23 15.5,22.9 15.9,22.8C16.1,22.6 18.2,20.6 18.2,18.4C18.2,17.2 17.5,16.2 17,15.4C16.6,14.7 16.2,14.1 16.2,13.5Z\";\r\nexport var mdiCarDoor = \"M19,14H16V16H19V14M22,21H3V11L11,3H21A1,1 0 0,1 22,4V21M11.83,5L5.83,11H20V5H11.83Z\";\r\nexport var mdiCarDoorLock = \"M7.8 17V15.5C7.8 14.1 6.4 13 5 13S2.2 14.1 2.2 15.5V17C1.6 17 1 17.6 1 18.2V21.7C1 22.4 1.6 23 2.2 23H7.7C8.4 23 9 22.4 9 21.8V18.3C9 17.6 8.4 17 7.8 17M6.5 17H3.5V15.5C3.5 14.7 4.2 14.2 5 14.2S6.5 14.7 6.5 15.5V17M21 3H11L3 11V11.44C3.61 11.17 4.29 11 5 11C7.6 11 9.8 13.06 9.8 15.5V15.75C10.53 16.36 11 17.28 11 18.3V21H22V4C22 3.45 21.55 3 21 3M19 16H16V14H19V16M20 11H5.83L11.83 5H20V11Z\";\r\nexport var mdiCarDoorLockOpen = \"M22 21H11V16C11 15.26 10.6 14.61 10 14.26C10 14.18 10 14.09 10 14C10 12.87 9.63 11.84 9 11H20V5H11.83L7.28 9.55C6.6 9.2 5.82 9 5 9L11 3H21C21.27 3 21.5 3.11 21.71 3.29C21.9 3.5 22 3.74 22 4V21M19 14H16V16H19V14M7.8 16H3.5V13.5C3.5 12.7 4.2 12.2 5 12.2C5.8 12.2 6.5 12.7 6.5 13.5V14H7.8V13.5C7.8 12.1 6.4 11 5 11C3.6 11 2.2 12.1 2.2 13.5V16C1.6 16 1 16.6 1 17.2V20.7C1 21.4 1.6 22 2.2 22H7.7C8.4 22 9 21.4 9 20.8V17.3C9 16.6 8.4 16 7.8 16Z\";\r\nexport var mdiCarElectric = \"M18.92 2C18.72 1.42 18.16 1 17.5 1H6.5C5.84 1 5.29 1.42 5.08 2L3 8V16C3 16.55 3.45 17 4 17H5C5.55 17 6 16.55 6 16V15H18V16C18 16.55 18.45 17 19 17H20C20.55 17 21 16.55 21 16V8L18.92 2M6.5 12C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12M17.5 12C16.67 12 16 11.33 16 10.5S16.67 9 17.5 9 19 9.67 19 10.5 18.33 12 17.5 12M5 7L6.5 2.5H17.5L19 7H5M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiCarElectricOutline = \"M18.92 2C18.72 1.42 18.16 1 17.5 1H6.5C5.84 1 5.29 1.42 5.08 2L3 8V16C3 16.55 3.45 17 4 17H5C5.55 17 6 16.55 6 16V15H18V16C18 16.55 18.45 17 19 17H20C20.55 17 21 16.55 21 16V8L18.92 2M6.85 3H17.14L18.22 6.11H5.77L6.85 3M19 13H5V8H19V13M7.5 9C8.33 9 9 9.67 9 10.5S8.33 12 7.5 12 6 11.33 6 10.5 6.67 9 7.5 9M16.5 9C17.33 9 18 9.67 18 10.5S17.33 12 16.5 12C15.67 12 15 11.33 15 10.5S15.67 9 16.5 9M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiCarEmergency = \"M11 0V3H13V0H11M7.88 1.46L6.46 2.87L8.59 5L10 3.58L7.88 1.46M16.12 1.46L14 3.58L15.41 5L17.54 2.88L16.12 1.46M12 5A2 2 0 0 0 10 7V8H6.5C5.84 8 5.28 8.42 5.08 9L3 15V23A1 1 0 0 0 4 24H5A1 1 0 0 0 6 23V22H18V23A1 1 0 0 0 19 24H20A1 1 0 0 0 21 23V15L18.92 9C18.72 8.42 18.16 8 17.5 8H14V7A2 2 0 0 0 12 5M6.5 9.5H17.5L19 14H5L6.5 9.5M6.5 16A1.5 1.5 0 0 1 8 17.5A1.5 1.5 0 0 1 6.5 19A1.5 1.5 0 0 1 5 17.5A1.5 1.5 0 0 1 6.5 16M17.5 16A1.5 1.5 0 0 1 19 17.5A1.5 1.5 0 0 1 17.5 19A1.5 1.5 0 0 1 16 17.5A1.5 1.5 0 0 1 17.5 16Z\";\r\nexport var mdiCarEsp = \"M5.31,6C6.95,4.16 9.34,3 12,3C14.66,3 17.05,4.16 18.69,6H15.58C14.53,5.37 13.31,5 12,5C10.69,5 9.47,5.37 8.42,6H5.31M14.4,9.6V8H11.2A1.6,1.6 0 0,0 9.6,9.6V11.2C9.6,12.08 10.32,12.8 11.2,12.8H12.8V14.4H9.6V16H12.8A1.6,1.6 0 0,0 14.4,14.4V12.8C14.4,11.92 13.68,11.2 12.8,11.2H11.2V9.6H14.4M18.4,8H15.2V16H16.8V12.8H18.4A1.6,1.6 0 0,0 20,11.2V9.6C20,8.72 19.28,8 18.4,8M18.4,11.2H16.8V9.6H18.4V11.2M8.8,9.6V8H4V16H8.8V14.4H5.6V12.8H8.8V11.2H5.6V9.6H8.8M15.58,18C14.53,18.63 13.31,19 12,19C10.69,19 9.47,18.63 8.42,18H5.31C6.95,19.84 9.34,21 12,21C14.66,21 17.05,19.84 18.69,18H15.58M20.5,3.5L19.42,4.58C21.32,6.5 22.5,9.11 22.5,12C22.5,14.9 21.32,17.5 19.42,19.42L20.5,20.5C22.66,18.31 24,15.31 24,12C24,8.69 22.66,5.69 20.5,3.5M4.58,4.58L3.5,3.5C1.34,5.69 0,8.69 0,12C0,15.31 1.34,18.31 3.5,20.5L4.58,19.42C2.68,17.5 1.5,14.9 1.5,12C1.5,9.11 2.68,6.5 4.58,4.58Z\";\r\nexport var mdiCarEstate = \"M3,6H16L19,10H21C22.11,10 23,10.89 23,12V15H21A3,3 0 0,1 18,18A3,3 0 0,1 15,15H9A3,3 0 0,1 6,18A3,3 0 0,1 3,15H1V8C1,6.89 1.89,6 3,6M2.5,7.5V10H10.5V7.5H2.5M12,7.5V10H17.14L15.25,7.5H12M6,13.5A1.5,1.5 0 0,0 4.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 6,13.5M18,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,16.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 18,13.5Z\";\r\nexport var mdiCarHatchback = \"M16,6H6L1,12V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M6.5,7.5H10.5V10H4.5L6.5,7.5M12,7.5H15.5L17.46,10H12V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarInfo = \"M19 15H17V13H19M20 20V22H16V20H17V18H16V16H19V20M18.92 5A1.5 1.5 0 0 0 17.5 4H6.5A1.5 1.5 0 0 0 5.08 5L3 11V19A1 1 0 0 0 4 20H5A1 1 0 0 0 6 19V18H11A7 7 0 0 1 18 11A6.84 6.84 0 0 1 21 11.68V11M6.5 15A1.5 1.5 0 1 1 8 13.5A1.5 1.5 0 0 1 6.5 15M5 10L6.5 5.5H17.5L19 10Z\";\r\nexport var mdiCarKey = \"M9 0C7.3 0 6 1.3 6 3S7.3 6 9 6C10.3 6 11.4 5.2 11.8 4H14V6H16V4H18V2H11.8C11.4 .8 10.3 0 9 0M9 2C9.6 2 10 2.4 10 3S9.6 4 9 4 8 3.6 8 3 8.4 2 9 2M6.5 8C5.8 8 5.3 8.4 5.1 9L3 15V23C3 23.6 3.4 24 4 24H5C5.6 24 6 23.6 6 23V22H18V23C18 23.6 18.4 24 19 24H20C20.6 24 21 23.6 21 23V15L18.9 9C18.7 8.4 18.1 8 17.5 8H6.5M6.5 9.5H17.5L19 14H5L6.5 9.5M6.5 16C7.3 16 8 16.7 8 17.5S7.3 19 6.5 19 5 18.3 5 17.5 5.7 16 6.5 16M17.5 16C18.3 16 19 16.7 19 17.5S18.3 19 17.5 19 16 18.3 16 17.5 16.7 16 17.5 16Z\";\r\nexport var mdiCarLiftedPickup = \"M18 14L18.79 14.1L18.77 14.33L19.24 14.5L19.39 14.34C19.89 14.6 20.32 15 20.6 15.5L20.43 15.67L20.63 16.12L20.86 16.1C20.95 16.39 21 16.69 21 17L20.9 17.78L20.66 17.77L20.47 18.24L20.66 18.39C20.39 18.9 20 19.32 19.5 19.6L19.33 19.42L18.87 19.62L18.89 19.86C18.61 19.95 18.31 20 18 20L17.21 19.9L17.22 19.65L16.76 19.47L16.6 19.66C16.1 19.39 15.67 19 15.39 18.5L15.57 18.32L15.37 17.86L15.13 17.88C15.05 17.6 15 17.31 15 17L15.11 16.2L15.34 16.21L15.53 15.75L15.35 15.6C15.62 15.09 16 14.68 16.5 14.39L16.67 14.56L17.13 14.36L17.11 14.14C17.39 14.05 17.69 14 18 14M18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5M6 14L6.79 14.1L6.77 14.33L7.24 14.5L7.39 14.34C7.89 14.6 8.32 15 8.6 15.5L8.43 15.67L8.63 16.12L8.86 16.1C8.95 16.39 9 16.69 9 17L8.9 17.78L8.65 17.77L8.47 18.24L8.66 18.39C8.39 18.9 8 19.32 7.5 19.6L7.33 19.42L6.87 19.62L6.89 19.86C6.61 19.95 6.31 20 6 20L5.21 19.9L5.22 19.65L4.76 19.47L4.6 19.66C4.1 19.39 3.67 19 3.39 18.5L3.57 18.32L3.37 17.86L3.13 17.88C3.05 17.6 3 17.31 3 17L3.11 16.2L3.34 16.21L3.53 15.75L3.35 15.6C3.62 15.09 4 14.68 4.5 14.39L4.67 14.56L5.13 14.36L5.11 14.14C5.39 14.05 5.69 14 6 14M6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5M16 6L19 10H21C22.11 10 23 10.89 23 12V15H21C21 13.34 19.66 12 18 12C16.34 12 15 13.34 15 15H9C9 13.34 7.66 12 6 12C4.34 12 3 13.34 3 15H1V10H10.5V6L16 6M12 7.5V10H17.46L15.5 7.5H12Z\";\r\nexport var mdiCarLightAlert = \"M23 7V13H21V7H23M21 17H23V15H21V17M1 9V11H5C5.1 10.3 5.1 9.6 5.2 9H1M5 13H1V15H5.2C5.1 14.4 5.1 13.7 5 13M5.9 6.4C6 5.8 6.3 5.4 6.5 5H1V7H5.7C5.8 6.8 5.8 6.6 5.9 6.4M1 17V19H6.6C6.2 18.4 5.9 17.8 5.7 17H1M10 4.8C6 4.8 6 19.2 10 19.2S19 16.5 19 12 14 4.8 10 4.8M10.1 17.2C9.7 16.8 9 15 9 12S9.7 7.2 10.1 6.8C13 6.9 17 8.7 17 12S13 17.1 10.1 17.2\";\r\nexport var mdiCarLightDimmed = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 15.9,17.1 13.1,17.2M8,10.5C8,11 7.9,11.5 7.9,12C7.9,12.2 7.9,12.4 7.9,12.6L2.4,14L1.9,12.1L8,10.5M2,7L9.4,5.1C9.2,5.4 9,5.8 8.9,6.3C8.8,6.6 8.7,7 8.6,7.4L2.5,8.9L2,7M8.2,15.5C8.3,16.2 8.5,16.9 8.7,17.4L2.4,19L1.9,17.1L8.2,15.5Z\";\r\nexport var mdiCarLightFog = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 16,17.1 13.1,17.2M6,8V11H8C8,11.3 8,11.7 8,12C8,12.3 8,12.7 8,13H6V16H8.4C8.6,16.7 8.8,17.4 9,18H6V21H4V18H2V16H4V13H2V11H4V8H2V6H4V3H6V6H9C9,6.1 8.9,6.2 8.9,6.4C8.7,6.9 8.5,7.4 8.4,8H6Z\";\r\nexport var mdiCarLightHigh = \"M13,4.8C9,4.8 9,19.2 13,19.2C17,19.2 22,16.5 22,12C22,7.5 17,4.8 13,4.8M13.1,17.2C12.7,16.8 12,15 12,12C12,9 12.7,7.2 13.1,6.8C16,6.9 20,8.7 20,12C20,15.3 16,17.1 13.1,17.2M2,5H9.5C9.3,5.4 9,5.8 8.9,6.4C8.8,6.6 8.8,6.8 8.7,7H2V5M8,11H2V9H8.2C8.1,9.6 8.1,10.3 8,11M8.7,17C8.9,17.8 9.2,18.4 9.6,19H2.1V17H8.7M8.2,15H2V13H8C8.1,13.7 8.1,14.4 8.2,15Z\";\r\nexport var mdiCarLimousine = \"M1,6L2.5,7.5L1,9L2.5,10.5L1,12L2.5,13.5L1,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6H1M4.62,7.5H10.5V10H4.12L3.12,9L4.62,7.5M12,7.5H15.5L17.46,10H12V7.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarMultiple = \"M8,11L9.5,6.5H18.5L20,11M18.5,16A1.5,1.5 0 0,1 17,14.5A1.5,1.5 0 0,1 18.5,13A1.5,1.5 0 0,1 20,14.5A1.5,1.5 0 0,1 18.5,16M9.5,16A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 9.5,13A1.5,1.5 0 0,1 11,14.5A1.5,1.5 0 0,1 9.5,16M19.92,6C19.71,5.4 19.14,5 18.5,5H9.5C8.86,5 8.29,5.4 8.08,6L6,12V20A1,1 0 0,0 7,21H8A1,1 0 0,0 9,20V19H19V20A1,1 0 0,0 20,21H21A1,1 0 0,0 22,20V12L19.92,6M14.92,3C14.71,2.4 14.14,2 13.5,2H4.5C3.86,2 3.29,2.4 3.08,3L1,9V17A1,1 0 0,0 2,18H3A1,1 0 0,0 4,17V12.91C3.22,12.63 2.82,11.77 3.1,11C3.32,10.4 3.87,10 4.5,10H4.57L5.27,8H3L4.5,3.5H15.09L14.92,3Z\";\r\nexport var mdiCarOff = \"M20.5,19.85L6.41,5.76L2.41,1.76L1.11,3L4.57,6.46L3,11V19A1,1 0 0,0 4,20H5A1,1 0 0,0 6,19V18H16.11L20.84,22.73L22.11,21.46L20.5,19.85M6.5,15A1.5,1.5 0 0,1 5,13.5A1.5,1.5 0 0,1 6.5,12A1.5,1.5 0 0,1 8,13.5A1.5,1.5 0 0,1 6.5,15M5,10L5.78,7.67L8.11,10H5M17.5,5.5L19,10H13.2L16.12,12.92C16.5,12.17 17.37,11.86 18.12,12.21C18.87,12.57 19.18,13.47 18.83,14.21C18.68,14.5 18.43,14.77 18.12,14.92L21,17.8V11L18.92,5C18.71,4.4 18.14,4 17.5,4H7.2L8.7,5.5H17.5Z\";\r\nexport var mdiCarOutline = \"M18.9 6C18.7 5.4 18.1 5 17.5 5H6.5C5.8 5 5.3 5.4 5.1 6L3 12V20C3 20.5 3.5 21 4 21H5C5.6 21 6 20.5 6 20V19H18V20C18 20.5 18.5 21 19 21H20C20.5 21 21 20.5 21 20V12L18.9 6M6.8 7H17.1L18.2 10H5.8L6.8 7M19 17H5V12H19V17M7.5 13C8.3 13 9 13.7 9 14.5S8.3 16 7.5 16 6 15.3 6 14.5 6.7 13 7.5 13M16.5 13C17.3 13 18 13.7 18 14.5S17.3 16 16.5 16C15.7 16 15 15.3 15 14.5S15.7 13 16.5 13Z\";\r\nexport var mdiCarParkingLights = \"M7.3,9.2C8.1,9.6 9,10.5 9,12C9,13.5 8.1,14.4 7.3,14.8C6.9,13.4 6.9,10.6 7.3,9.2M6.5,7C4.5,7 4.5,17 6.5,17C8.5,17 11,15.1 11,12C11,8.9 8.5,7 6.5,7M16.7,9.2C17,10.6 17,13.4 16.7,14.8C15.9,14.4 15,13.5 15,12C15,10.5 15.9,9.6 16.7,9.2M17.5,7C15.5,7 13,8.9 13,12C13,15.1 15.5,17 17.5,17C19.5,17 19.5,7 17.5,7M4.9,6.2L2.5,4.6L1.4,6.3L4,8C4.2,7.3 4.5,6.6 4.9,6.2M20,8L22.6,6.3L21.5,4.6L19.1,6.2C19.4,6.6 19.8,7.2 20,8M4,16L1.4,17.7L2.5,19.4L4.9,17.8C4.6,17.4 4.2,16.8 4,16M20.5,11C20.5,11.3 20.5,11.7 20.5,12C20.5,12.3 20.5,12.6 20.5,13H24V11H20.5M19.1,17.8L21.5,19.4L22.6,17.7L20,16C19.8,16.7 19.5,17.4 19.1,17.8M3.5,12C3.5,11.7 3.5,11.4 3.5,11H0V13H3.5C3.5,12.7 3.5,12.3 3.5,12Z\";\r\nexport var mdiCarPickup = \"M16,6H10.5V10H1V15H3A3,3 0 0,0 6,18A3,3 0 0,0 9,15H15A3,3 0 0,0 18,18A3,3 0 0,0 21,15H23V12C23,10.89 22.11,10 21,10H19L16,6M12,7.5H15.5L17.46,10H12V7.5M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarSearch = \"M9.61 16.11C9.61 14.03 10.59 12.19 12.1 11H5L6.5 6.5H17.5L18.72 10.16C19.56 10.53 20.3 11.07 20.91 11.74L18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20C3 20.55 3.45 21 4 21H5C5.55 21 6 20.55 6 20V19H10.29C9.86 18.13 9.61 17.15 9.61 16.11M6.5 16C5.67 16 5 15.33 5 14.5S5.67 13 6.5 13 8 13.67 8 14.5 7.33 16 6.5 16M20.71 20.7L20.7 20.71L20.71 20.7M16.11 11.61C18.61 11.61 20.61 13.61 20.61 16.11C20.61 17 20.36 17.82 19.92 18.5L23 21.61L21.61 23L18.5 19.93C17.8 20.36 17 20.61 16.11 20.61C13.61 20.61 11.61 18.61 11.61 16.11S13.61 11.61 16.11 11.61M16.11 13.61C14.73 13.61 13.61 14.73 13.61 16.11S14.73 18.61 16.11 18.61 18.61 17.5 18.61 16.11 17.5 13.61 16.11 13.61\";\r\nexport var mdiCarSearchOutline = \"M10.29 19H6V20C6 20.5 5.6 21 5 21H4C3.5 21 3 20.5 3 20V12L5.1 6C5.3 5.4 5.8 5 6.5 5H17.5C18.1 5 18.7 5.4 18.9 6L20.91 11.74C20.17 10.93 19.24 10.31 18.18 9.95L17.1 7H6.8L5.8 10H13.91C12.79 10.4 11.81 11.1 11.08 12H5V17H9.68C9.78 17.71 10 18.38 10.29 19M6 14.5C6 15.3 6.7 16 7.5 16S9 15.3 9 14.5 8.3 13 7.5 13 6 13.7 6 14.5M16.11 11.61C13.61 11.61 11.61 13.61 11.61 16.11S13.61 20.61 16.11 20.61C17 20.61 17.8 20.36 18.5 19.93L21.61 23L23 21.61L19.92 18.5C20.36 17.82 20.61 17 20.61 16.11C20.61 13.61 18.61 11.61 16.11 11.61M16.11 13.61C17.5 13.61 18.61 14.73 18.61 16.11S17.5 18.61 16.11 18.61 13.61 17.5 13.61 16.11 14.73 13.61 16.11 13.61\";\r\nexport var mdiCarSeat = \"M7 18C7 18 4 10 4 6S6 2 6 2H7C7 2 8 2 8 3S7 4 7 6 10 10 10 13 7 18 7 18M12 17C11 17 8 19.5 8 19.5C7.7 19.7 7.8 20 8 20.3C8 20.3 9 22.1 11 22.1H17C18.1 22.1 19 21.2 19 20.1V19.1C19 18 18.1 17.1 17 17.1H12Z\";\r\nexport var mdiCarSeatCooler = \"M20.8 10.2L19.4 10.6L18.2 9.9V8.2L19.4 7.5L20.8 7.9L21.1 6.8L20 6.5L20.3 5.4L19.2 5.1L18.8 6.5L17.6 7.2L16.1 6.3V5L17.1 4L16.3 3.2L15.5 4L14.7 3.2L13.9 4L14.9 5V6.3L13.4 7.2L12.2 6.5L11.9 5.1L10.8 5.4L11.1 6.5L10 6.7L10.3 7.8L11.7 7.4L12.9 8.1V9.8L11.7 10.5L10.3 10.1L10 11.4L11.1 11.7L10.8 12.7L11.9 13L12.3 11.6L13.5 10.9L15 11.8V13.1L14 14.1L14.8 14.9L15.6 14.1L16.4 14.9L17.2 14.1L16.2 13.1V11.8L17.7 10.9L18.9 11.6L19.3 13L20.4 12.7L20 11.6L21.1 11.3L20.8 10.2M14 8.2L15.5 7.3L17 8.2V9.9L15.5 10.8L14 9.9V8.2M5 18C5 18 2 10 2 6S4 2 4 2H5C5 2 6 2 6 3S5 4 5 6 8 10 8 13 5 18 5 18M15 17C16.1 17 17 17.9 17 19V20C17 21.1 16.1 22 15 22H9C7 22 6 20.2 6 20.2C5.8 20 5.7 19.6 6 19.4C6 19.4 9 16.9 10 16.9H15Z\";\r\nexport var mdiCarSeatHeater = \"M5 18C5 18 2 10 2 6S4 2 4 2H5C5 2 6 2 6 3S5 4 5 6 8 10 8 13 5 18 5 18M15 17C16.1 17 17 17.9 17 19V20C17 21.1 16.1 22 15 22H9C7 22 6 20.2 6 20.2C5.8 20 5.7 19.6 6 19.4C6 19.4 9 16.9 10 16.9H15M13.7 3.4L12.3 6.8L13.7 10.2L11.7 15L10 13.6L11.4 10.2L10 6.8L12 2L13.7 3.4M17.9 3.4L16.5 6.8L17.9 10.2L15.9 15L14.2 13.6L15.6 10.2L14.2 6.8L16.2 2L17.9 3.4M22 3.4L20.6 6.8L22 10.2L20 15L18.3 13.6L19.7 10.2L18.3 6.8L20.3 2L22 3.4\";\r\nexport var mdiCarSelect = \"M5 13L6.5 8.5H17.5L19 13M17.5 18C16.7 18 16 17.3 16 16.5S16.7 15 17.5 15 19 15.7 19 16.5 18.3 18 17.5 18M6.5 18C5.7 18 5 17.3 5 16.5S5.7 15 6.5 15 8 15.7 8 16.5 7.3 18 6.5 18M18.9 8C18.7 7.4 18.1 7 17.5 7H6.5C5.8 7 5.3 7.4 5.1 8L3 14V22C3 22.6 3.4 23 4 23H5C5.6 23 6 22.6 6 22V21H18V22C18 22.6 18.4 23 19 23H20C20.6 23 21 22.6 21 22V14M8 1L12 5.5L16 1Z\";\r\nexport var mdiCarSettings = \"M15 22H17V24H15M11 22H13V24H11M7 22H9V24H7M5 11L6.5 6.5H17.5L19 11M17.5 16A1.5 1.5 0 0 1 16 14.5A1.5 1.5 0 0 1 17.5 13A1.5 1.5 0 0 1 19 14.5A1.5 1.5 0 0 1 17.5 16M6.5 16A1.5 1.5 0 0 1 5 14.5A1.5 1.5 0 0 1 6.5 13A1.5 1.5 0 0 1 8 14.5A1.5 1.5 0 0 1 6.5 16M18.92 6C18.72 5.42 18.16 5 17.5 5H6.5C5.84 5 5.28 5.42 5.08 6L3 12V20A1 1 0 0 0 4 21H5A1 1 0 0 0 6 20V19H18V20A1 1 0 0 0 19 21H20A1 1 0 0 0 21 20V12Z\";\r\nexport var mdiCarShiftPattern = \"M8 5H4V2H8V5M4 22H8V19H4V22M14 2H10V5H14V2M10 22H14V19H10V22M16 2V5H20V2H16M17 11H13V7H11V11H7V7H5V17H7V13H11V17H13V13H19V7H17V11Z\";\r\nexport var mdiCarSide = \"M16,6L19,10H21C22.11,10 23,10.89 23,12V15H21A3,3 0 0,1 18,18A3,3 0 0,1 15,15H9A3,3 0 0,1 6,18A3,3 0 0,1 3,15H1V12C1,10.89 1.89,10 3,10L6,6H16M10.5,7.5H6.75L4.86,10H10.5V7.5M12,7.5V10H17.14L15.25,7.5H12M6,13.5A1.5,1.5 0 0,0 4.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,15A1.5,1.5 0 0,0 6,13.5M18,13.5A1.5,1.5 0 0,0 16.5,15A1.5,1.5 0 0,0 18,16.5A1.5,1.5 0 0,0 19.5,15A1.5,1.5 0 0,0 18,13.5Z\";\r\nexport var mdiCarSpeedLimiter = \"M18 15C18 17.6 16.8 19.9 14.9 21.3L14.4 20.8L12.3 18.7L13.7 17.3L14.9 18.5C15.4 17.8 15.8 16.9 15.9 16H14V14H15.9C15.7 13.1 15.4 12.3 14.9 11.5L13.7 12.7L12.3 11.3L13.5 10.1C12.8 9.6 11.9 9.2 11 9.1V11H9V9.1C8.1 9.3 7.3 9.6 6.5 10.1L9.5 13.1C9.7 13.1 9.8 13 10 13C11.11 13 12 13.9 12 15S11.11 17 10 17 8 16.11 8 15C8 14.8 8 14.7 8.1 14.5L5.1 11.5C4.6 12.2 4.2 13.1 4.1 14H6V16H4.1C4.3 16.9 4.6 17.7 5.1 18.5L6.3 17.3L7.7 18.7L5.1 21.3C3.2 19.9 2 17.6 2 15C2 10.58 5.58 7 10 7S18 10.58 18 15M23 5C23 3.34 21.66 2 20 2S17 3.34 17 5C17 6.3 17.84 7.4 19 7.82V11H21V7.82C22.16 7.4 23 6.3 23 5M20 6C19.45 6 19 5.55 19 5S19.45 4 20 4 21 4.45 21 5 20.55 6 20 6Z\";\r\nexport var mdiCarSports = \"M12,8.5H7L4,11H3C1.89,11 1,11.89 1,13V16H3.17C3.6,17.2 4.73,18 6,18C7.27,18 8.4,17.2 8.82,16H15.17C15.6,17.2 16.73,18 18,18C19.27,18 20.4,17.2 20.82,16H23V15C23,13.89 21.97,13.53 21,13L12,8.5M5.25,12L7.5,10H11.5L15.5,12H5.25M6,13.5A1.5,1.5 0 0,1 7.5,15A1.5,1.5 0 0,1 6,16.5A1.5,1.5 0 0,1 4.5,15A1.5,1.5 0 0,1 6,13.5M18,13.5A1.5,1.5 0 0,1 19.5,15A1.5,1.5 0 0,1 18,16.5A1.5,1.5 0 0,1 16.5,15A1.5,1.5 0 0,1 18,13.5Z\";\r\nexport var mdiCarTireAlert = \"M11,13H13V15H11V13M11,5H13V11H11V5M17,4.76C18.86,6.19 20,8.61 20,11C20,14 18.33,16.64 15.86,18H8.14C5.67,16.64 4,14 4,11C4,8.61 5.09,6.17 7,4.76V2H5V3.86C3.15,5.68 2,8.2 2,11C2,13.8 3.15,16.32 5,18.14V22H7V20H9V22H11V20H13V22H15V20H17V22H19V18.14C20.85,16.32 22,13.8 22,11C22,8.2 20.85,5.68 19,3.86V2H17V4.76Z\";\r\nexport var mdiCarTractionControl = \"M9.5,11H10.5C10.8,11 11,10.8 11,10.5V9H19V10.5C19,10.8 19.2,11 19.5,11H20.5C20.8,11 21,10.8 21,10.5V9L21,8.5V6L19.6,1.7C19.5,1.3 19.1,1 18.7,1H11.4C11,1 10.6,1.3 10.5,1.7L9,6V8.5L9,9V10.5C9,10.8 9.2,11 9.5,11M11.3,2H18.6L19.5,5H10.4L11.3,2M12,23H10C10,22.2 8.1,21.5 6.6,20.9C4.5,20.1 2,19.2 2,17C2,14.7 4.3,14.1 6.2,13.5C7.9,13.1 9,12.7 9,12H11C11,14.3 8.7,14.9 6.8,15.5C5.1,15.9 4,16.3 4,17C4,17.8 5.9,18.5 7.4,19.1C9.5,19.9 12,20.8 12,23M22,23H20C20,22.2 18.1,21.5 16.6,20.9C14.5,20.1 12,19.2 12,17C12,14.7 14.3,14.1 16.2,13.5C17.8,13 19,12.7 19,12H21C21,14.3 18.7,14.9 16.8,15.5C15.2,15.9 14,16.3 14,17C14,17.8 15.9,18.5 17.4,19.1C19.5,19.9 22,20.8 22,23Z\";\r\nexport var mdiCarTurbocharger = \"M22 13V15H18.32C18.75 14.09 19 13.08 19 12C19 8.14 15.86 5 12 5H2V3H12C16.97 3 21 7.03 21 12C21 12.34 20.97 12.67 20.94 13H22M12 19C8.14 19 5 15.86 5 12C5 10.93 5.25 9.91 5.69 9H2V11H3.06C3.03 11.33 3 11.66 3 12C3 16.97 7.03 21 12 21H22V19H12M16.86 12.2C15.93 12.94 14.72 12.47 14 12.05V12C16.79 10.31 15.39 7.89 15.39 7.89S14.33 6.04 14.61 7.89C14.78 9.07 13.76 9.88 13.04 10.3L13 10.28C12.93 7 10.13 7 10.13 7S8 7 9.74 7.69C10.85 8.13 11.04 9.42 11.05 10.25L11 10.28C8.14 8.7 6.74 11.12 6.74 11.12S5.67 12.97 7.14 11.8C8.07 11.07 9.28 11.54 10 11.95V12C7.21 13.7 8.61 16.12 8.61 16.12S9.67 17.97 9.4 16.11C9.22 14.94 10.25 14.13 10.97 13.7L11 13.73C11.07 17 13.87 17 13.87 17S16 17 14.26 16.31C13.15 15.87 12.96 14.58 12.95 13.75L13 13.73C15.86 15.31 17.26 12.88 17.26 12.88S18.33 11.04 16.86 12.2Z\";\r\nexport var mdiCarWash = \"M5,13L6.5,8.5H17.5L19,13M17.5,18A1.5,1.5 0 0,1 16,16.5A1.5,1.5 0 0,1 17.5,15A1.5,1.5 0 0,1 19,16.5A1.5,1.5 0 0,1 17.5,18M6.5,18A1.5,1.5 0 0,1 5,16.5A1.5,1.5 0 0,1 6.5,15A1.5,1.5 0 0,1 8,16.5A1.5,1.5 0 0,1 6.5,18M18.92,8C18.72,7.42 18.16,7 17.5,7H6.5C5.84,7 5.28,7.42 5.08,8L3,14V22A1,1 0 0,0 4,23H5A1,1 0 0,0 6,22V21H18V22A1,1 0 0,0 19,23H20A1,1 0 0,0 21,22V14M7,5A1.5,1.5 0 0,0 8.5,3.5C8.5,2.5 7,0.8 7,0.8C7,0.8 5.5,2.5 5.5,3.5A1.5,1.5 0 0,0 7,5M12,5A1.5,1.5 0 0,0 13.5,3.5C13.5,2.5 12,0.8 12,0.8C12,0.8 10.5,2.5 10.5,3.5A1.5,1.5 0 0,0 12,5M17,5A1.5,1.5 0 0,0 18.5,3.5C18.5,2.5 17,0.8 17,0.8C17,0.8 15.5,2.5 15.5,3.5A1.5,1.5 0 0,0 17,5Z\";\r\nexport var mdiCarWindshield = \"M22.63 15.5L20.21 5.85A1 1 0 0 0 19.14 5.1C17.8 5.24 14.14 5.5 12 5.5S6.2 5.24 4.86 5.1A1 1 0 0 0 3.79 5.85L1.37 15.5A1.5 1.5 0 0 0 2.55 17.36A61.5 61.5 0 0 0 12 18A61.5 61.5 0 0 0 21.45 17.36A1.5 1.5 0 0 0 22.63 15.5Z\";\r\nexport var mdiCarWindshieldOutline = \"M22.63 15.5L20.21 5.85A1 1 0 0 0 19.14 5.1C17.8 5.24 14.14 5.5 12 5.5S6.2 5.24 4.86 5.1A1 1 0 0 0 3.79 5.85L1.37 15.5A1.5 1.5 0 0 0 2.55 17.36A61.5 61.5 0 0 0 12 18A61.5 61.5 0 0 0 21.45 17.36A1.5 1.5 0 0 0 22.63 15.5M12 16A63.33 63.33 0 0 1 3.44 15.5L5.5 7.18C7 7.32 10.16 7.5 12 7.5S17 7.32 18.5 7.18L20.56 15.5A63.33 63.33 0 0 1 12 16Z\";\r\nexport var mdiCarWireless = \"M12 5C10.9 5 10 5.9 10 7V8H6.5C5.84 8 5.28 8.42 5.08 9L3 15V23C3 23.55 3.45 24 4 24H5C5.55 24 6 23.55 6 23V22H18V23C18 23.55 18.45 24 19 24H20C20.55 24 21 23.55 21 23V15L18.92 9C18.72 8.42 18.16 8 17.5 8H14V7C14 5.9 13.11 5 12 5M6.5 9.5H17.5L19 14H5L6.5 9.5M6.5 16C7.33 16 8 16.67 8 17.5S7.33 19 6.5 19 5 18.33 5 17.5 5.67 16 6.5 16M17.5 16C18.33 16 19 16.67 19 17.5S18.33 19 17.5 19 16 18.33 16 17.5 16.67 16 17.5 16M16.2 3.4C15 2.3 13.5 1.7 12 1.7S9 2.3 7.8 3.4L7 2.6C8.4 1.2 10.2 .5 12 .5S15.6 1.2 17 2.6L16.2 3.4M15.3 4.2L14.5 5C13.8 4.3 12.9 4 12 4S10.2 4.3 9.5 5L8.7 4.2C9.6 3.3 10.8 2.8 12 2.8S14.4 3.3 15.3 4.2\";\r\nexport var mdiCarWrench = \"M20.96 16.45C20.97 16.3 21 16.15 21 16V16.5L20.96 16.45M11 16C11 16.71 11.15 17.39 11.42 18H6V19C6 19.55 5.55 20 5 20H4C3.45 20 3 19.55 3 19V11L5.08 5C5.28 4.42 5.84 4 6.5 4H17.5C18.16 4 18.72 4.42 18.92 5L21 11V16C21 13.24 18.76 11 16 11S11 13.24 11 16M8 13.5C8 12.67 7.33 12 6.5 12S5 12.67 5 13.5 5.67 15 6.5 15 8 14.33 8 13.5M19 10L17.5 5.5H6.5L5 10H19M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\r\nexport var mdiCarabiner = \"M8 17.5C8 18.33 7.33 19 6.5 19S5 18.33 5 17.5 5.67 16 6.5 16 8 16.67 8 17.5M18 5.59C17.79 3.54 16.18 2 14.24 2H8.88C6.95 2 5.36 3.5 5.15 5.53L5 6.59C4.92 7.34 5.5 8 6.24 8C6.87 8 7.39 7.53 7.47 6.91L7.61 5.82C7.68 5.07 8.23 4.5 8.88 4.5H14.24C14.89 4.5 15.44 5.07 15.5 5.82L16.5 16.88C16.59 17.74 16 18.5 15.25 18.5L10.04 17.82C9.95 18.77 9.5 19.6 8.8 20.18L14.93 21L15.09 21H15.25C16.27 21 17.26 20.56 17.96 19.78C18.71 18.94 19.09 17.8 19 16.65L18 5.59M11.66 7.94C11.08 7.57 10.31 7.75 9.94 8.34L6.39 14C6.43 14 6.46 14 6.5 14C7.38 14 8.18 14.34 8.8 14.88L12.06 9.66C12.43 9.08 12.25 8.31 11.66 7.94Z\";\r\nexport var mdiCaravan = \"M5,7A2,2 0 0,0 3,9V15A2,2 0 0,0 5,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17H21V15H19V9A2,2 0 0,0 17,7H5M5,9H10V12H5V9M13,9H17V12H13V9M10,16A1,1 0 0,1 11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17A1,1 0 0,1 10,16Z\";\r\nexport var mdiCard = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20Z\";\r\nexport var mdiCardAccountDetails = \"M2,3H22C23.05,3 24,3.95 24,5V19C24,20.05 23.05,21 22,21H2C0.95,21 0,20.05 0,19V5C0,3.95 0.95,3 2,3M14,6V7H22V6H14M14,8V9H21.5L22,9V8H14M14,10V11H21V10H14M8,13.91C6,13.91 2,15 2,17V18H14V17C14,15 10,13.91 8,13.91M8,6A3,3 0 0,0 5,9A3,3 0 0,0 8,12A3,3 0 0,0 11,9A3,3 0 0,0 8,6Z\";\r\nexport var mdiCardAccountDetailsOutline = \"M22,3H2C0.91,3.04 0.04,3.91 0,5V19C0.04,20.09 0.91,20.96 2,21H22C23.09,20.96 23.96,20.09 24,19V5C23.96,3.91 23.09,3.04 22,3M22,19H2V5H22V19M14,17V15.75C14,14.09 10.66,13.25 9,13.25C7.34,13.25 4,14.09 4,15.75V17H14M9,7A2.5,2.5 0 0,0 6.5,9.5A2.5,2.5 0 0,0 9,12A2.5,2.5 0 0,0 11.5,9.5A2.5,2.5 0 0,0 9,7M14,7V8H20V7H14M14,9V10H20V9H14M14,11V12H18V11H14\";\r\nexport var mdiCardAccountDetailsStar = \"M20 22.09L22.45 23.58L21.8 20.77L24 18.89L21.11 18.64L20 16L18.87 18.64L16 18.89L18.18 20.77L17.5 23.58L20 22.09M14.08 21H2C.95 21 0 20.05 0 19V5C0 3.95 .95 3 2 3H22C23.05 3 24 3.95 24 5V15.53C22.94 14.58 21.54 14 20 14C16.69 14 14 16.69 14 20C14 20.34 14.03 20.68 14.08 21M8 13.91C6 13.91 2 15 2 17V18H14V17C14 15 10 13.91 8 13.91M8 6C6.35 6 5 7.35 5 9C5 10.65 6.35 12 8 12C9.65 12 11 10.65 11 9C11 7.35 9.65 6 8 6M21 10H14V11H21V10M22 8H14V9H22V8M22 6H14V7H22V6Z\";\r\nexport var mdiCardAccountDetailsStarOutline = \"M20 22.09L22.45 23.58L21.8 20.77L24 18.89L21.11 18.64L20 16L18.87 18.64L16 18.89L18.18 20.77L17.5 23.58L20 22.09M14.08 21H2C.91 20.96 .04 20.09 0 19V5C.04 3.91 .91 3.04 2 3H22C23.09 3.04 23.96 3.91 24 5V15.53C23.42 15 22.75 14.61 22 14.34V5H2V19H14.08C14.03 19.33 14 19.66 14 20C14 20.34 14.03 20.68 14.08 21M14 17H4V15.75C4 14.09 7.34 13.25 9 13.25C10.66 13.25 14 14.09 14 15.75V17M14 11H18V12H14V11M9 7C7.63 7 6.5 8.13 6.5 9.5C6.5 10.87 7.63 12 9 12C10.37 12 11.5 10.87 11.5 9.5C11.5 8.13 10.37 7 9 7M14 9H20V10H14V9M14 7H20V8H14V7Z\";\r\nexport var mdiCardAccountMail = \"M21,8V7L18,9L15,7V8L18,10M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17M22,12H14V6H22\";\r\nexport var mdiCardAccountMailOutline = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M22,19H2V5H22V19M21,6H14V11H21V6M20,8L17.5,9.75L15,8V7L17.5,8.75L20,7V8M9,12A3,3 0 0,0 12,9A3,3 0 0,0 9,6A3,3 0 0,0 6,9A3,3 0 0,0 9,12M9,8A1,1 0 0,1 10,9A1,1 0 0,1 9,10A1,1 0 0,1 8,9A1,1 0 0,1 9,8M15,16.59C15,14.09 11.03,13 9,13C6.97,13 3,14.09 3,16.59V18H15V16.59M5.5,16C6.22,15.5 7.7,15 9,15C10.3,15 11.77,15.5 12.5,16H5.5Z\";\r\nexport var mdiCardAccountPhone = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M8,6A3,3 0 0,1 11,9A3,3 0 0,1 8,12A3,3 0 0,1 5,9A3,3 0 0,1 8,6M14,18H2V17C2,15 6,13.9 8,13.9C10,13.9 14,15 14,17V18M17.85,14H19.5L21,16L19,18C17.7,17 16.73,15.61 16.28,14C16.1,13.36 16,12.69 16,12C16,11.31 16.1,10.64 16.28,10C16.73,8.38 17.7,7 19,6L21,8L19.5,10H17.85C17.63,10.63 17.5,11.3 17.5,12C17.5,12.7 17.63,13.37 17.85,14Z\";\r\nexport var mdiCardAccountPhoneOutline = \"M22,3H2A2,2 0 0,0 0,5V19A2,2 0 0,0 2,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M22,19H2V5H22V19M19,18L21,16L19.5,14H17.85C17.63,13.37 17.5,12.7 17.5,12C17.5,11.3 17.63,10.63 17.85,10H19.5L21,8L19,6C17.7,7 16.73,8.38 16.28,10C16.1,10.64 16,11.31 16,12C16,12.69 16.1,13.36 16.28,14C16.73,15.61 17.7,17 19,18M9,12A3,3 0 0,0 12,9A3,3 0 0,0 9,6A3,3 0 0,0 6,9A3,3 0 0,0 9,12M9,8A1,1 0 0,1 10,9A1,1 0 0,1 9,10A1,1 0 0,1 8,9A1,1 0 0,1 9,8M15,16.59C15,14.09 11.03,13 9,13C6.97,13 3,14.09 3,16.59V18H15V16.59M5.5,16C6.22,15.5 7.7,15 9,15C10.3,15 11.77,15.5 12.5,16H5.5Z\";\r\nexport var mdiCardBulleted = \"M20,4A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20M11,13H9V15H11V13M19,13H13V15H19V13M7,9H5V11H7V9M19,9H9V11H19V9Z\";\r\nexport var mdiCardBulletedOff = \"M3.35,3.58L20.65,20.87L19.23,22.29L16.94,20H4A2,2 0 0,1 2,18V6C2,5.72 2.06,5.46 2.16,5.22L1.23,4.29L2.65,2.87L3.35,3.58M6.6,4H20A2,2 0 0,1 22,6V18C22,18.4 21.88,18.77 21.68,19.08L17.6,15H20V13H15.6L13.6,11H20V9H11.6L6.6,4M9.94,13H9V15H11V14.06L9.94,13M5.94,9H5V11H7V10.06L5.94,9Z\";\r\nexport var mdiCardBulletedOffOutline = \"M20.59,20.87L19.17,22.29L16.88,20H4A2,2 0 0,1 2,18V6C2,5.74 2.05,5.5 2.14,5.26L1.17,4.29L2.59,2.87L3.73,4L20.59,20.87V20.87M6.54,4H20A2,2 0 0,1 22,6V18C22,18.41 21.87,18.8 21.66,19.12L20,17.46V6H8.54L6.54,4M4,18H14.88L11.88,15H10V13.12L7.88,11H6V9.12L4,7.12V18M18,15H17.54L15.54,13H18V15M18,11H13.54L11.54,9H18V11Z\";\r\nexport var mdiCardBulletedOutline = \"M12,15H10V13H12V15M18,15H14V13H18V15M8,11H6V9H8V11M18,11H10V9H18V11M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\r\nexport var mdiCardBulletedSettings = \"M9,22V24H7V22H9M13,22V24H11V22H13M17,22V24H15V22H17M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M11,13H9V15H11V13M19,13H13V15H19V13M7,9H5V11H7V9M19,9H9V11H19V9Z\";\r\nexport var mdiCardBulletedSettingsOutline = \"M9,22V24H7V22H9M13,22V24H11V22H13M17,22V24H15V22H17M12,15H10V13H12V15M18,15H14V13H18V15M8,11H6V9H8V11M18,11H10V9H18V11M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\r\nexport var mdiCardMinus = \"M23 18V20H15V18H23M19 13C20.09 13 21.12 13.3 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13Z\";\r\nexport var mdiCardMinusOutline = \"M23 18V20H15V18H23M13.09 18H4V6H20V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18Z\";\r\nexport var mdiCardMultiple = \"M21 3C21.53 3 22.04 3.21 22.41 3.59C22.79 3.96 23 4.47 23 5V15C23 15.53 22.79 16.04 22.41 16.41C22.04 16.79 21.53 17 21 17H7C6.47 17 5.96 16.79 5.59 16.41C5.21 16.04 5 15.53 5 15V5C5 4.47 5.21 3.96 5.59 3.59C5.96 3.21 6.47 3 7 3H21M3 19H18V21H3C2.47 21 1.96 20.79 1.59 20.41C1.21 20.04 1 19.53 1 19V8H3V19Z\";\r\nexport var mdiCardMultipleOutline = \"M21 16V6H7V16H21M21 4C21.53 4 22.04 4.21 22.41 4.59C22.79 4.96 23 5.47 23 6V16C23 16.53 22.79 17.04 22.41 17.41C22.04 17.79 21.53 18 21 18H7C5.89 18 5 17.1 5 16V6C5 4.89 5.89 4 7 4H21M3 20H18V22H3C2.47 22 1.96 21.79 1.59 21.41C1.21 21.04 1 20.53 1 20V9H3V20Z\";\r\nexport var mdiCardOff = \"M21.88 18.68L7.2 4H20C21.11 4 22 4.89 22 6V18C22 18.24 21.96 18.47 21.88 18.68M20.56 19.91L20.57 19.91L2.39 1.73L1.11 3L2.65 4.54C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L20.56 19.91Z\";\r\nexport var mdiCardOffOutline = \"M9.2 6L7.2 4H20C21.11 4 22 4.89 22 6V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V6H9.2M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L6.66 6L18.65 18H18.66L20.57 19.91L20.56 19.91L22.11 21.46M16.11 18L4.11 6H4V18H16.11Z\";\r\nexport var mdiCardOutline = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z\";\r\nexport var mdiCardPlus = \"M13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V13.81C21.12 13.3 20.09 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiCardPlusOutline = \"M21 15V18H24V20H21V23H19V20H16V18H19V15H21M14 18H3V6H19V13H21V6C21 4.89 20.11 4 19 4H3C1.9 4 1 4.89 1 6V18C1 19.11 1.9 20 3 20H14V18Z\";\r\nexport var mdiCardRemove = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M19 13C20.09 13 21.12 13.3 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13Z\";\r\nexport var mdiCardRemoveOutline = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M13.09 18H4V6H20V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18Z\";\r\nexport var mdiCardSearch = \"M11.5 9C10.12 9 9 10.12 9 11.5S10.12 14 11.5 14 14 12.88 14 11.5 12.88 9 11.5 9M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M16.79 18.21L13.88 15.3C13.19 15.74 12.37 16 11.5 16C9 16 7 14 7 11.5S9 7 11.5 7 16 9 16 11.5C16 12.38 15.74 13.19 15.3 13.89L18.21 16.79L16.79 18.21Z\";\r\nexport var mdiCardSearchOutline = \"M11.5 16C12.37 16 13.19 15.74 13.88 15.3L16.32 17.74L17.74 16.32L15.3 13.89C15.74 13.19 16 12.38 16 11.5C16 9 14 7 11.5 7S7 9 7 11.5 9 16 11.5 16M11.5 9C12.88 9 14 10.12 14 11.5S12.88 14 11.5 14 9 12.88 9 11.5 10.12 9 11.5 9M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M20 18H4V6H20V18Z\";\r\nexport var mdiCardText = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M5,13V15H16V13H5M5,9V11H19V9H5Z\";\r\nexport var mdiCardTextOutline = \"M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4M6,9H18V11H6V9M6,13H16V15H6V13Z\";\r\nexport var mdiCards = \"M21.47,4.35L20.13,3.79V12.82L22.56,6.96C22.97,5.94 22.5,4.77 21.47,4.35M1.97,8.05L6.93,20C7.24,20.77 7.97,21.24 8.74,21.26C9,21.26 9.27,21.21 9.53,21.1L16.9,18.05C17.65,17.74 18.11,17 18.13,16.26C18.14,16 18.09,15.71 18,15.45L13,3.5C12.71,2.73 11.97,2.26 11.19,2.25C10.93,2.25 10.67,2.31 10.42,2.4L3.06,5.45C2.04,5.87 1.55,7.04 1.97,8.05M18.12,4.25A2,2 0 0,0 16.12,2.25H14.67L18.12,10.59\";\r\nexport var mdiCardsClub = \"M12,2C14.3,2 16.3,4 16.3,6.2C16.21,8.77 14.34,9.83 14.04,10C15.04,9.5 16.5,9.5 16.5,9.5C19,9.5 21,11.3 21,13.8C21,16.3 19,18 16.5,18C16.5,18 15,18 13,17C13,17 12.7,19 15,22H9C11.3,19 11,17 11,17C9,18 7.5,18 7.5,18C5,18 3,16.3 3,13.8C3,11.3 5,9.5 7.5,9.5C7.5,9.5 8.96,9.5 9.96,10C9.66,9.83 7.79,8.77 7.7,6.2C7.7,4 9.7,2 12,2Z\";\r\nexport var mdiCardsClubOutline = \"M16.6 9.5C16.8 8.9 17 8.2 17 7.5C17 4.5 14.8 2 12 2S7 4.5 7 7.5C7 8.2 7.1 8.9 7.4 9.5C4.9 9.6 3 11.4 3 13.8C3 16.3 5 18 7.5 18C7.5 18 10 18 11 17C11 17 11.3 19 9 22H15C12.7 19 13 17 13 17C14 18 16.5 18 16.5 18C19 18 21 16.3 21 13.8C21 11.4 19.1 9.6 16.6 9.5M16.5 16C16.5 16 14 16 13 15H11C10 16 7.5 16 7.5 16C6.3 16 5 15.3 5 13.8C5 12.5 6.1 11.5 7.5 11.5C7.8 11.5 8.3 11.6 8.8 11.7C8.9 11.7 9 11.8 9.1 11.8L10 10.1C9.8 9.9 9.7 9.7 9.6 9.5C9.2 8.9 9 8.3 9 7.5C9 5.6 10.3 4 12 4S15 5.6 15 7.5C15 8.3 14.8 9 14.4 9.6C14.3 9.8 14.2 9.9 14.1 10.1L15 11.8C15.1 11.8 15.2 11.7 15.3 11.7C15.7 11.6 16.2 11.5 16.6 11.5C18 11.5 19.1 12.5 19.1 13.8C19 15.3 17.7 16 16.5 16Z\";\r\nexport var mdiCardsDiamond = \"M19,12L12,22L5,12L12,2\";\r\nexport var mdiCardsDiamondOutline = \"M12 2L5 12L12 22L19 12M7.44 12L12 5.5L16.56 12L12 18.5\";\r\nexport var mdiCardsHeart = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z\";\r\nexport var mdiCardsHeartOutline = \"M12.1 18.55L12 18.65L11.89 18.55C7.14 14.24 4 11.39 4 8.5C4 6.5 5.5 5 7.5 5C9.04 5 10.54 6 11.07 7.36H12.93C13.46 6 14.96 5 16.5 5C18.5 5 20 6.5 20 8.5C20 11.39 16.86 14.24 12.1 18.55M16.5 3C14.76 3 13.09 3.81 12 5.08C10.91 3.81 9.24 3 7.5 3C4.42 3 2 5.41 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C18.6 15.36 22 12.27 22 8.5C22 5.41 19.58 3 16.5 3Z\";\r\nexport var mdiCardsOutline = \"M11.19,2.25C10.93,2.25 10.67,2.31 10.42,2.4L3.06,5.45C2.04,5.87 1.55,7.04 1.97,8.05L6.93,20C7.24,20.77 7.97,21.23 8.74,21.25C9,21.25 9.27,21.22 9.53,21.1L16.9,18.05C17.65,17.74 18.11,17 18.13,16.25C18.14,16 18.09,15.71 18,15.45L13,3.5C12.71,2.73 11.97,2.26 11.19,2.25M14.67,2.25L18.12,10.6V4.25A2,2 0 0,0 16.12,2.25M20.13,3.79V12.82L22.56,6.96C22.97,5.94 22.5,4.78 21.47,4.36M11.19,4.22L16.17,16.24L8.78,19.3L3.8,7.29\";\r\nexport var mdiCardsPlaying = \"M14.7 2.2H16.2C17.3 2.2 18.2 3.1 18.2 4.2V10.6L14.7 2.2M20.1 3.8L21.4 4.4C22.4 4.8 22.9 6 22.5 7L20.1 12.9V3.8M18 15.5L13 3.5C12.7 2.7 12 2.3 11.2 2.3C10.9 2.3 10.7 2.4 10.4 2.5L3 5.5C2 5.9 1.5 7 2 8L7 20C7.3 20.8 8 21.2 8.8 21.2C9.1 21.2 9.3 21.2 9.6 21L17 18C17.8 17.7 18.2 17 18.2 16.2C18.1 16 18.1 15.7 18 15.5M11.4 15L8.2 12.6L8.6 8.6L11.8 11L11.4 15\";\r\nexport var mdiCardsPlayingClub = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M14 15C13.4 15 12.9 14.7 12.5 14.3L13.5 17H10.5L11.5 14.3C11.1 14.7 10.6 15 10 15C8.9 15 8 14.1 8 13S8.9 11 10 11H10.3C10.1 10.7 10 10.3 10 10C10 8.9 10.9 8 12 8S14 8.9 14 10C14 10.4 13.9 10.7 13.7 11H14C15.1 11 16 11.9 16 13S15.1 15 14 15Z\";\r\nexport var mdiCardsPlayingClubMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M16 13C15.4 13 14.9 12.7 14.5 12.3L15.5 15H12.5L13.5 12.3C13.1 12.7 12.6 13 12 13C10.9 13 10 12.1 10 11S10.9 9 12 9H12.3C12.1 8.7 12 8.4 12 8C12 6.9 12.9 6 14 6S16 6.9 16 8C16 8.4 15.9 8.7 15.7 9H16C17.1 9 18 9.9 18 11S17.1 13 16 13Z\";\r\nexport var mdiCardsPlayingClubMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M14 6C12.9 6 12 6.9 12 8C12 8.4 12.1 8.7 12.3 9H12C10.9 9 10 9.9 10 11S10.9 13 12 13C12.6 13 13.1 12.7 13.5 12.3L12.5 15H15.5L14.5 12.3C14.9 12.7 15.4 13 16 13C17.1 13 18 12.1 18 11S17.1 9 16 9H15.7C15.9 8.7 16 8.4 16 8C16 6.9 15.1 6 14 6Z\";\r\nexport var mdiCardsPlayingClubOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M12 8C10.9 8 10 8.9 10 10C10 10.4 10.1 10.7 10.3 11H10C8.9 11 8 11.9 8 13S8.9 15 10 15C10.6 15 11.1 14.7 11.5 14.3L10.5 17H13.5L12.5 14.3C12.9 14.7 13.4 15 14 15C15.1 15 16 14.1 16 13S15.1 11 14 11H13.7C13.9 10.7 14 10.3 14 10C14 8.9 13.1 8 12 8Z\";\r\nexport var mdiCardsPlayingDiamond = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M12 17L9 12L12 7L15 12L12 17Z\";\r\nexport var mdiCardsPlayingDiamondMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M14 15L11 10L14 5L17 10L14 15Z\";\r\nexport var mdiCardsPlayingDiamondMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M14 5L11 10L14 15L17 10L14 5Z\";\r\nexport var mdiCardsPlayingDiamondOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M12 7L9 12L12 17L15 12L12 7Z\";\r\nexport var mdiCardsPlayingHeart = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M12.6 15.8L12 16.3L11.4 15.8C9.4 13.9 8 12.7 8 11.2C8 10 9 9 10.2 9C10.9 9 11.6 9.3 12 9.8C12.4 9.3 13.1 9 13.8 9C15 9 16 9.9 16 11.2C16 12.7 14.6 13.9 12.6 15.8Z\";\r\nexport var mdiCardsPlayingHeartMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M14.6 13.8L14 14.3L13.4 13.8C11.4 11.9 10 10.7 10 9.2C10 8 11 7 12.2 7C12.9 7 13.6 7.3 14 7.8C14.4 7.3 15.1 7 15.8 7C17 7 18 7.9 18 9.2C18 10.7 16.6 11.9 14.6 13.8Z\";\r\nexport var mdiCardsPlayingHeartMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M12.2 7C11 7 10 8 10 9.2C10 10.7 11.4 11.9 13.4 13.8L14 14.3L14.6 13.8C16.6 11.9 18 10.7 18 9.2C18 7.9 17 7 15.8 7C15.1 7 14.4 7.3 14 7.8C13.6 7.3 12.9 7 12.2 7Z\";\r\nexport var mdiCardsPlayingHeartOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M10.2 9C9 9 8 10 8 11.2C8 12.7 9.4 13.9 11.4 15.8L12 16.3L12.6 15.8C14.6 13.9 16 12.7 16 11.2C16 9.9 15 9 13.8 9C13.1 9 12.4 9.3 12 9.8C11.6 9.3 10.9 9 10.2 9Z\";\r\nexport var mdiCardsPlayingOutline = \"M11.19,2.25C11.97,2.26 12.71,2.73 13,3.5L18,15.45C18.09,15.71 18.14,16 18.13,16.25C18.11,17 17.65,17.74 16.9,18.05L9.53,21.1C9.27,21.22 9,21.25 8.74,21.25C7.97,21.23 7.24,20.77 6.93,20L1.97,8.05C1.55,7.04 2.04,5.87 3.06,5.45L10.42,2.4C10.67,2.31 10.93,2.25 11.19,2.25M14.67,2.25H16.12A2,2 0 0,1 18.12,4.25V10.6L14.67,2.25M20.13,3.79L21.47,4.36C22.5,4.78 22.97,5.94 22.56,6.96L20.13,12.82V3.79M11.19,4.22L3.8,7.29L8.77,19.3L16.17,16.24L11.19,4.22M8.65,8.54L11.88,10.95L11.44,14.96L8.21,12.54L8.65,8.54Z\";\r\nexport var mdiCardsPlayingSpade = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M13.8 15C13.4 15 13 14.9 12.6 14.7L13.5 17H10.5L11.4 14.7C11 14.9 10.6 15 10.2 15C9 15 8 14 8 12.8C8 11.3 9.4 10.1 11.4 8.2L12 7.7L12.6 8.2C14.6 10.1 16 11.3 16 12.8C16 14.1 15 15 13.8 15Z\";\r\nexport var mdiCardsPlayingSpadeMultiple = \"M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M15.8 13C15.4 13 15 12.9 14.6 12.7L15.5 15H12.5L13.4 12.7C13 12.9 12.6 13 12.2 13C11 13 10 12 10 10.8C10 9.3 11.4 8.1 13.4 6.2L14 5.7L14.6 6.2C16.6 8.1 18 9.3 18 10.8C18 12.1 17 13 15.8 13Z\";\r\nexport var mdiCardsPlayingSpadeMultipleOutline = \"M19 0H9C7.9 0 7 .9 7 2V18C7 19.1 7.9 20 9 20H19C20.1 20 21 19.1 21 18V2C21 .9 20.1 0 19 0M19 18H9V2H19V18M3 4V22C3 23.1 3.9 24 5 24H17V22H5V4H3M14 5.7L13.4 6.2C11.4 8.1 10 9.3 10 10.8C10 12 11 13 12.2 13C12.6 13 13 12.9 13.4 12.7L12.5 15H15.5L14.6 12.7C14.9 12.9 15.4 13 15.8 13C17 13 18 12.1 18 10.8C18 9.3 16.6 8.1 14.6 6.2L14 5.7Z\";\r\nexport var mdiCardsPlayingSpadeOutline = \"M17 2H7C5.9 2 5 2.9 5 4V20C5 21.1 5.9 22 7 22H17C18.1 22 19 21.1 19 20V4C19 2.9 18.1 2 17 2M17 20H7V4H17V20M12 7.7L11.4 8.2C9.4 10.1 8 11.3 8 12.8C8 14 9 15 10.2 15C10.6 15 11 14.9 11.4 14.7L10.5 17H13.5L12.6 14.7C12.9 14.9 13.4 15 13.8 15C15 15 16 14.1 16 12.8C16 11.3 14.6 10.1 12.6 8.2L12 7.7Z\";\r\nexport var mdiCardsSpade = \"M12,2C9,7 4,9 4,14C4,16 6,18 8,18C9,18 10,18 11,17C11,17 11.32,19 9,22H15C13,19 13,17 13,17C14,18 15,18 16,18C18,18 20,16 20,14C20,9 15,7 12,2Z\";\r\nexport var mdiCardsSpadeOutline = \"M11 17C11 17 11.3 19 9 22H15C12.7 19 13 17 13 17S14 18 16 18 20 16 20 14C20 9 15 7 12 2C9 7 4 9 4 14C4 16 6 18 8 18S11 17 11 17M13 14H11C11 14 10 16 8 16C7.1 16 6 14.9 6 14C5.8 11 9.9 8.2 12 5.4C14.1 8.1 18.2 10.9 18 14C18 14.9 16.9 16 16 16C14 16 13 14 13 14Z\";\r\nexport var mdiCardsVariant = \"M5,2H19A1,1 0 0,1 20,3V13A1,1 0 0,1 19,14H5A1,1 0 0,1 4,13V3A1,1 0 0,1 5,2M6,4V12H18V4H6M20,17A1,1 0 0,1 19,18H5A1,1 0 0,1 4,17V16H20V17M20,21A1,1 0 0,1 19,22H5A1,1 0 0,1 4,21V20H20V21Z\";\r\nexport var mdiCarrot = \"M16,10L15.8,11H13.5A0.5,0.5 0 0,0 13,11.5A0.5,0.5 0 0,0 13.5,12H15.6L14.6,17H12.5A0.5,0.5 0 0,0 12,17.5A0.5,0.5 0 0,0 12.5,18H14.4L14,20A2,2 0 0,1 12,22A2,2 0 0,1 10,20L9,15H10.5A0.5,0.5 0 0,0 11,14.5A0.5,0.5 0 0,0 10.5,14H8.8L8,10C8,8.8 8.93,7.77 10.29,7.29L8.9,5.28C8.59,4.82 8.7,4.2 9.16,3.89C9.61,3.57 10.23,3.69 10.55,4.14L11,4.8V3A1,1 0 0,1 12,2A1,1 0 0,1 13,3V5.28L14.5,3.54C14.83,3.12 15.47,3.07 15.89,3.43C16.31,3.78 16.36,4.41 16,4.84L13.87,7.35C15.14,7.85 16,8.85 16,10Z\";\r\nexport var mdiCart = \"M17,18C15.89,18 15,18.89 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20C19,18.89 18.1,18 17,18M1,2V4H3L6.6,11.59L5.24,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42A0.25,0.25 0 0,1 7.17,14.75C7.17,14.7 7.18,14.66 7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.58 17.3,11.97L20.88,5.5C20.95,5.34 21,5.17 21,5A1,1 0 0,0 20,4H5.21L4.27,2M7,18C5.89,18 5,18.89 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20C9,18.89 8.1,18 7,18Z\";\r\nexport var mdiCartArrowDown = \"M10 0V4H8L12 8L16 4H14V0M1 2V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18Z\";\r\nexport var mdiCartArrowRight = \"M9,20A2,2 0 0,1 7,22A2,2 0 0,1 5,20A2,2 0 0,1 7,18A2,2 0 0,1 9,20M17,18A2,2 0 0,0 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20A2,2 0 0,0 17,18M7.2,14.63C7.19,14.67 7.19,14.71 7.2,14.75A0.25,0.25 0 0,0 7.45,15H19V17H7A2,2 0 0,1 5,15C5,14.65 5.07,14.31 5.24,14L6.6,11.59L3,4H1V2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,12C16.94,12.62 16.27,13 15.55,13H8.1L7.2,14.63M9,9.5H13V11.5L16,8.5L13,5.5V7.5H9V9.5Z\";\r\nexport var mdiCartArrowUp = \"M12 0L8 4H10V8H14V4H16M1 2V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18Z\";\r\nexport var mdiCartCheck = \"M9 20C9 21.1 8.1 22 7 22S5 21.1 5 20 5.9 18 7 18 9 18.9 9 20M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8M18 2.8L16.6 1.4L11.8 6.2L9.2 3.6L7.8 5L11.8 9L18 2.8Z\";\r\nexport var mdiCartHeart = \"M9 20C9 21.1 8.1 22 7 22S5 21.1 5 20 5.9 18 7 18 9 18.9 9 20M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8M12 9.3L11.4 8.8C9.4 6.9 8 5.7 8 4.2C8 3 9 2 10.2 2C10.9 2 11.6 2.3 12 2.8C12.4 2.3 13.1 2 13.8 2C15 2 16 2.9 16 4.2C16 5.7 14.6 6.9 12.6 8.8L12 9.3Z\";\r\nexport var mdiCartMinus = \"M16 6V4H8V6M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8Z\";\r\nexport var mdiCartOff = \"M22.73,22.73L1.27,1.27L0,2.54L4.39,6.93L6.6,11.59L5.25,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H14.46L15.84,18.38C15.34,18.74 15,19.33 15,20A2,2 0 0,0 17,22C17.67,22 18.26,21.67 18.62,21.16L21.46,24L22.73,22.73M7.42,15A0.25,0.25 0 0,1 7.17,14.75L7.2,14.63L8.1,13H10.46L12.46,15H7.42M15.55,13C16.3,13 16.96,12.59 17.3,11.97L20.88,5.5C20.96,5.34 21,5.17 21,5A1,1 0 0,0 20,4H6.54L15.55,13M7,18A2,2 0 0,0 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20A2,2 0 0,0 7,18Z\";\r\nexport var mdiCartOutline = \"M17,18A2,2 0 0,1 19,20A2,2 0 0,1 17,22C15.89,22 15,21.1 15,20C15,18.89 15.89,18 17,18M1,2H4.27L5.21,4H20A1,1 0 0,1 21,5C21,5.17 20.95,5.34 20.88,5.5L17.3,11.97C16.96,12.58 16.3,13 15.55,13H8.1L7.2,14.63L7.17,14.75A0.25,0.25 0 0,0 7.42,15H19V17H7C5.89,17 5,16.1 5,15C5,14.65 5.09,14.32 5.24,14.04L6.6,11.59L3,4H1V2M7,18A2,2 0 0,1 9,20A2,2 0 0,1 7,22C5.89,22 5,21.1 5,20C5,18.89 5.89,18 7,18M16,11L18.78,6H6.14L8.5,11H16Z\";\r\nexport var mdiCartPercent = \"M7 18C8.1 18 9 18.9 9 20S8.1 22 7 22 5 21.1 5 20 5.9 18 7 18M17 18C18.1 18 19 18.9 19 20S18.1 22 17 22 15 21.1 15 20 15.9 18 17 18M7.2 14.8C7.2 14.9 7.3 15 7.4 15H19V17H7C5.9 17 5 16.1 5 15C5 14.6 5.1 14.3 5.2 14L6.5 11.6L3 4H1V2H4.3L8.6 11H15.6L19.5 4L21.2 5L17.3 12C17 12.6 16.3 13 15.6 13H8.1L7.2 14.6V14.8M9.4 1C10.2 1 10.8 1.6 10.8 2.4S10.2 3.8 9.4 3.8 8 3.2 8 2.4 8.7 1 9.4 1M14.6 9C13.8 9 13.2 8.4 13.2 7.6S13.8 6.2 14.6 6.2 16 6.8 16 7.6 15.3 9 14.6 9M9.2 9L8 7.8L14.8 1L16 2.2L9.2 9\";\r\nexport var mdiCartPlus = \"M11 9H13V6H16V4H13V1H11V4H8V6H11M7 18C5.9 18 5 18.9 5 20S5.9 22 7 22 9 21.1 9 20 8.1 18 7 18M17 18C15.9 18 15 18.9 15 20S15.9 22 17 22 19 21.1 19 20 18.1 18 17 18M7.2 14.8V14.7L8.1 13H15.5C16.2 13 16.9 12.6 17.2 12L21.1 5L19.4 4L15.5 11H8.5L4.3 2H1V4H3L6.6 11.6L5.2 14C5.1 14.3 5 14.6 5 15C5 16.1 5.9 17 7 17H19V15H7.4C7.3 15 7.2 14.9 7.2 14.8Z\";\r\nexport var mdiCartRemove = \"M14.1 8.5L12 6.4L9.9 8.5L8.5 7.1L10.6 5L8.5 2.9L9.9 1.5L12 3.6L14.1 1.5L15.5 2.9L13.4 5L15.5 7.1L14.1 8.5M7 18C8.1 18 9 18.9 9 20S8.1 22 7 22 5 21.1 5 20 5.9 18 7 18M17 18C18.1 18 19 18.9 19 20S18.1 22 17 22 15 21.1 15 20 15.9 18 17 18M7.2 14.8C7.2 14.9 7.3 15 7.4 15H19V17H7C5.9 17 5 16.1 5 15C5 14.6 5.1 14.3 5.2 14L6.5 11.6L3 4H1V2H4.3L8.6 11H15.6L19.5 4L21.2 5L17.3 12C17 12.6 16.3 13 15.6 13H8.1L7.2 14.6V14.8Z\";\r\nexport var mdiCartVariant = \"M19 20C19 21.11 18.11 22 17 22C15.89 22 15 21.1 15 20C15 18.89 15.89 18 17 18C18.11 18 19 18.9 19 20M7 18C5.89 18 5 18.89 5 20C5 21.1 5.89 22 7 22C8.11 22 9 21.11 9 20S8.11 18 7 18M7.2 14.63L7.17 14.75C7.17 14.89 7.28 15 7.42 15H19V17H7C5.89 17 5 16.1 5 15C5 14.65 5.09 14.32 5.24 14.04L6.6 11.59L3 4H1V2H4.27L5.21 4H20C20.55 4 21 4.45 21 5C21 5.17 20.95 5.34 20.88 5.5L17.3 11.97C16.96 12.58 16.3 13 15.55 13H8.1L7.2 14.63M8.5 11H10V9H7.56L8.5 11M11 9V11H14V9H11M14 8V6H11V8H14M17.11 9H15V11H16L17.11 9M18.78 6H15V8H17.67L18.78 6M6.14 6L7.08 8H10V6H6.14Z\";\r\nexport var mdiCaseSensitiveAlt = \"M20,14C20,12.5 19.5,12 18,12H16V11C16,10 16,10 14,10V15.4L14,19H16L18,19C19.5,19 20,18.47 20,17V14M12,12C12,10.5 11.47,10 10,10H6C4.5,10 4,10.5 4,12V19H6V16H10V19H12V12M10,7H14V5H10V7M22,9V20C22,21.11 21.11,22 20,22H4A2,2 0 0,1 2,20V9C2,7.89 2.89,7 4,7H8V5L10,3H14L16,5V7H20A2,2 0 0,1 22,9H22M16,17H18V14H16V17M6,12H10V14H6V12Z\";\r\nexport var mdiCash = \"M3,6H21V18H3V6M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M7,8A2,2 0 0,1 5,10V14A2,2 0 0,1 7,16H17A2,2 0 0,1 19,14V10A2,2 0 0,1 17,8H7Z\";\r\nexport var mdiCash100 = \"M2,5H22V20H2V5M20,18V7H4V18H20M17,8A2,2 0 0,0 19,10V15A2,2 0 0,0 17,17H7A2,2 0 0,0 5,15V10A2,2 0 0,0 7,8H17M17,13V12C17,10.9 16.33,10 15.5,10C14.67,10 14,10.9 14,12V13C14,14.1 14.67,15 15.5,15C16.33,15 17,14.1 17,13M15.5,11A0.5,0.5 0 0,1 16,11.5V13.5A0.5,0.5 0 0,1 15.5,14A0.5,0.5 0 0,1 15,13.5V11.5A0.5,0.5 0 0,1 15.5,11M13,13V12C13,10.9 12.33,10 11.5,10C10.67,10 10,10.9 10,12V13C10,14.1 10.67,15 11.5,15C12.33,15 13,14.1 13,13M11.5,11A0.5,0.5 0 0,1 12,11.5V13.5A0.5,0.5 0 0,1 11.5,14A0.5,0.5 0 0,1 11,13.5V11.5A0.5,0.5 0 0,1 11.5,11M8,15H9V10H8L7,10.5V11.5L8,11V15Z\";\r\nexport var mdiCashCheck = \"M3 6V18H13.32C13.1 17.33 13 16.66 13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3M12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61C14.85 10.28 13.59 8.97 12 9M21.63 12.27L17.76 16.17L16.41 14.8L15 16.22L17.75 19L23.03 13.68L21.63 12.27Z\";\r\nexport var mdiCashClock = \"M17.5 16.82L19.94 18.23L19.19 19.53L16 17.69V14H17.5V16.82M24 17C24 20.87 20.87 24 17 24S10 20.87 10 17C10 16.66 10.03 16.33 10.08 16H2V4H20V10.68C22.36 11.81 24 14.21 24 17M10.68 14C10.86 13.64 11.05 13.3 11.28 12.97C11.19 13 11.1 13 11 13C9.34 13 8 11.66 8 10S9.34 7 11 7 14 8.34 14 10C14 10.25 13.96 10.5 13.9 10.73C14.84 10.27 15.89 10 17 10C17.34 10 17.67 10.03 18 10.08V8C16.9 8 16 7.11 16 6H6C6 7.11 5.11 8 4 8V12C5.11 12 6 12.9 6 14H10.68M22 17C22 14.24 19.76 12 17 12S12 14.24 12 17 14.24 22 17 22 22 19.76 22 17Z\";\r\nexport var mdiCashEdit = \"M3 6H21V9.1C19.96 9.1 19.35 9.72 19.2 9.87L19.19 9.89L19 10.07V10C18.47 10 17.96 9.79 17.59 9.41C17.21 9.04 17 8.53 17 8H7C7 8.53 6.79 9.04 6.41 9.41C6.04 9.79 5.53 10 5 10V14C5.53 14 6.04 14.21 6.41 14.59C6.79 14.96 7 15.47 7 16H13.07L11.07 18H3V6M12 9C12.8 9 13.56 9.32 14.12 9.88C14.68 10.44 15 11.2 15 12C15 12.8 14.68 13.56 14.12 14.12C13.56 14.68 12.8 15 12 15C11.2 15 10.44 14.68 9.88 14.12C9.32 13.56 9 12.8 9 12C9 11.2 9.32 10.44 9.88 9.88C10.44 9.32 11.2 9 12 9M22.7 12.6L21.4 11.3C21.3 11.2 21.2 11.1 21 11.1C20.8 11.1 20.7 11.2 20.6 11.3L19.6 12.3L21.7 14.4L22.7 13.4C22.9 13.2 22.9 12.8 22.7 12.6M15.1 21L21.1 14.9L19.1 12.8L13 18.9V21H15.1Z\";\r\nexport var mdiCashFast = \"M17.12 9.88C16.56 9.32 15.8 9 15 9S13.44 9.32 12.88 9.88C12.32 10.44 12 11.2 12 12S12.32 13.56 12.88 14.12 14.2 15 15 15 16.56 14.68 17.12 14.12 18 12.8 18 12 17.68 10.44 17.12 9.88M7 6V18H23V6H7M21 14C20.47 14 19.96 14.21 19.59 14.59C19.21 14.96 19 15.47 19 16H11C11 15.47 10.79 14.96 10.41 14.59C10.04 14.21 9.53 14 9 14V10C9.53 10 10.04 9.79 10.41 9.41C10.79 9.04 11 8.53 11 8H19C19 8.53 19.21 9.04 19.59 9.41C19.96 9.79 20.47 10 21 10V14M5 8H3C2.45 8 2 7.55 2 7C2 6.45 2.45 6 3 6H5V8M5 13H2C1.45 13 1 12.55 1 12C1 11.45 1.45 11 2 11H5V13M5 18H1C.448 18 0 17.55 0 17C0 16.45 .448 16 1 16H5V18Z\";\r\nexport var mdiCashLock = \"M21.8 15C22.4 15 23 15.6 23 16.3V19.8C23 20.4 22.4 21 21.7 21H16.2C15.6 21 15 20.4 15 19.7V16.2C15 15.6 15.6 15 16.2 15V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V15M20.5 15V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V15H20.5M2 6H20V9.1L19 9C18.18 9 17.41 9.2 16.73 9.54C16.28 9.18 16 8.62 16 8H6C6 9.11 5.11 10 4 10V14C5.11 14 6 14.9 6 16H13.04L13 16.5V18H2V6M11 9C12.66 9 14 10.34 14 12C14 13.66 12.66 15 11 15C9.34 15 8 13.66 8 12C8 10.34 9.34 9 11 9Z\";\r\nexport var mdiCashLockOpen = \"M21.8 16C22.4 16 23 16.6 23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8M2 6H20V9.1L19 9C18.18 9 17.41 9.2 16.73 9.54C16.28 9.18 16 8.62 16 8H6C6 9.11 5.11 10 4 10V14C5.11 14 6 14.9 6 16H13.04L13 16.5V18H2V6M11 9C12.66 9 14 10.34 14 12C14 13.66 12.66 15 11 15C9.34 15 8 13.66 8 12C8 10.34 9.34 9 11 9Z\";\r\nexport var mdiCashMarker = \"M18.5,16.8C17.8,16.8 17.3,16.2 17.3,15.6C17.3,14.9 17.9,14.4 18.5,14.4C19.1,14.4 19.7,15 19.7,15.6C19.8,16.2 19.2,16.8 18.5,16.8M18.5,12C16.6,12 15,13.6 15,15.5C15,18.1 18.5,22 18.5,22C18.5,22 22,18.1 22,15.5C22,13.6 20.4,12 18.5,12M14.9,11.3C14.6,10 13.4,9 12,9C10.3,9 9,10.3 9,12C9,13.7 10.3,15 12,15C12.4,15 12.7,14.9 13,14.8C13.2,13.4 13.9,12.2 14.9,11.3M13,16H7A2,2 0 0,0 5,14V10A2,2 0 0,0 7,8H17A2,2 0 0,0 19,10C19,10 20,10 21,10.6V6H3V18H13.5C13.3,17.3 13.1,16.7 13,16Z\";\r\nexport var mdiCashMinus = \"M15 15V17H23V15M14.97 11.61C14.85 10.28 13.59 8.97 12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61M13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\r\nexport var mdiCashMultiple = \"M5,6H23V18H5V6M14,9A3,3 0 0,1 17,12A3,3 0 0,1 14,15A3,3 0 0,1 11,12A3,3 0 0,1 14,9M9,8A2,2 0 0,1 7,10V14A2,2 0 0,1 9,16H19A2,2 0 0,1 21,14V10A2,2 0 0,1 19,8H9M1,10H3V20H19V22H1V10Z\";\r\nexport var mdiCashOff = \"M3 4.9V4.95L3.05 4.94L4.11 6H3V18H16.11L20.84 22.73L22.11 21.46L4.57 3.91L2.39 1.73L1.11 3L3 4.9M6.41 9.41C6.61 9.22 6.76 9 6.86 8.75L9.16 11.05C9.05 11.35 9 11.67 9 12C9 12.8 9.32 13.56 9.88 14.12C10.44 14.68 11.2 15 12 15C12.33 15 12.65 14.95 12.95 14.84L14.11 16H7C7 15.47 6.79 14.96 6.41 14.59C6.04 14.21 5.53 14 5 14V10C5.53 10 6.04 9.79 6.41 9.41M17.69 14.5L21 17.8V6H9.2L11.2 8H17C17 8.53 17.21 9.04 17.59 9.41C17.96 9.79 18.47 10 19 10V14C18.5 14 18.05 14.18 17.69 14.5Z\";\r\nexport var mdiCashPlus = \"M15 15V17H18V20H20V17H23V15H20V12H18V15M14.97 11.61C14.85 10.28 13.59 8.97 12 9C10.3 9.03 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61M13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\r\nexport var mdiCashRefund = \"M12.3 8.93L9.88 6.5H15.5V10H17V5H9.88L12.3 2.57L11.24 1.5L7 5.75L11.24 10L12.3 8.93M12 14A3 3 0 1 0 15 17A3 3 0 0 0 12 14M3 11V23H21V11M19 19A2 2 0 0 0 17 21H7A2 2 0 0 0 5 19V15A2 2 0 0 0 7 13H17A2 2 0 0 0 19 15Z\";\r\nexport var mdiCashRegister = \"M2,17H22V21H2V17M6.25,7H9V6H6V3H14V6H11V7H17.8C18.8,7 19.8,8 20,9L20.5,16H3.5L4.05,9C4.05,8 5.05,7 6.25,7M13,9V11H18V9H13M6,9V10H8V9H6M9,9V10H11V9H9M6,11V12H8V11H6M9,11V12H11V11H9M6,13V14H8V13H6M9,13V14H11V13H9M7,4V5H13V4H7Z\";\r\nexport var mdiCashRemove = \"M15.46 18.12L16.88 19.54L19 17.41L21.12 19.54L22.54 18.12L20.41 16L22.54 13.88L21.12 12.46L19 14.59L16.88 12.46L15.46 13.88L17.59 16M14.97 11.62C14.86 10.28 13.58 8.97 12 9C10.3 9.04 9 10.3 9 12C9 13.7 10.3 14.94 12 15C12.39 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.62M13 16H7C7 14.9 6.1 14 5 14V10C6.1 10 7 9.1 7 8H17C17 9.1 17.9 10 19 10V10.05C19.67 10.06 20.34 10.18 21 10.4V6H3V18H13.32C13.1 17.33 13 16.66 13 16Z\";\r\nexport var mdiCashSync = \"M3 6V18H13.32C13.1 17.33 13 16.66 13 16H7C7 14.9 6.11 14 5 14V10C6.11 10 7 9.11 7 8H17C17 9.11 17.9 10 19 10V10.06C19.67 10.06 20.34 10.18 21 10.4V6H3M12 9C10.3 9.03 9 10.3 9 12S10.3 14.94 12 15C12.38 15 12.77 14.92 13.14 14.77C13.41 13.67 13.86 12.63 14.97 11.61C14.85 10.28 13.59 8.97 12 9M19 11L21.25 13.25L19 15.5V14C17.15 14 15.94 15.96 16.76 17.62L15.67 18.71C13.91 16.05 15.81 12.5 19 12.5V11M19 22L16.75 19.75L19 17.5V19C20.85 19 22.06 17.04 21.24 15.38L22.33 14.29C24.09 16.95 22.19 20.5 19 20.5V22\";\r\nexport var mdiCassette = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H6L7,17H17L18,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M9,10H15V13H9V10M17.5,10A1.5,1.5 0 0,1 19,11.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 16,11.5A1.5,1.5 0 0,1 17.5,10Z\";\r\nexport var mdiCast = \"M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3Z\";\r\nexport var mdiCastAudio = \"M2 11V13C7 13 11 17 11 22H13C13 15.9 8.1 11 2 11M20 2H10C8.9 2 8 2.9 8 4V10.5C9 11 9.9 11.7 10.7 12.4C11.6 11 13.2 10 15 10C17.8 10 20 12.2 20 15S17.8 20 15 20H14.8C14.9 20.7 15 21.3 15 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M15 8C13.9 8 13 7.1 13 6C13 4.9 13.9 4 15 4C16.1 4 17 4.9 17 6S16.1 8 15 8M15 18C14.8 18 14.5 18 14.3 17.9C13.8 16.4 13.1 15.1 12.2 13.9C12.6 12.8 13.7 11.9 15 11.9C16.7 11.9 18 13.2 18 14.9S16.7 18 15 18M2 15V17C4.8 17 7 19.2 7 22H9C9 18.1 5.9 15 2 15M2 19V22H5C5 20.3 3.7 19 2 19\";\r\nexport var mdiCastAudioVariant = \"M14.5 12C14.5 10.62 13.38 9.5 12 9.5C10.62 9.5 9.5 10.62 9.5 12C9.5 13 10.09 13.84 10.93 14.25L9.82 15.35C8.73 14.64 8 13.41 8 12C8 9.79 9.79 8 12 8C14.21 8 16 9.79 16 12C16 13.41 15.27 14.64 14.18 15.35L13.08 14.25C13.92 13.84 14.5 13 14.5 12M12 2C6.5 2 2 6.5 2 12C2 15.06 3.38 17.8 5.54 19.63L6.61 18.57C4.71 17 3.5 14.64 3.5 12C3.5 7.31 7.31 3.5 12 3.5C16.69 3.5 20.5 7.31 20.5 12C20.5 14.64 19.29 17 17.39 18.57L18.46 19.63C20.62 17.79 22 15.06 22 12C22 6.5 17.5 2 12 2M19 12C19 8.13 15.87 5 12 5C8.13 5 5 8.13 5 12C5 14.23 6.05 16.22 7.68 17.5L8.75 16.43C7.39 15.42 6.5 13.82 6.5 12C6.5 8.97 8.97 6.5 12 6.5C15.03 6.5 17.5 8.97 17.5 12C17.5 13.82 16.61 15.42 15.25 16.43L16.33 17.5C17.95 16.22 19 14.23 19 12M6 22H18L12 16L6 22Z\";\r\nexport var mdiCastConnected = \"M21,3H3C1.89,3 1,3.89 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5C23,3.89 22.1,3 21,3M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M19,7H5V8.63C8.96,9.91 12.09,13.04 13.37,17H19M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18Z\";\r\nexport var mdiCastEducation = \"M21,3H3A2,2 0 0,0 1,5V8H3V5H21V19H14V21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M1,18V21H4A3,3 0 0,0 1,18M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.07,10 1,10M11,11.09V13.09L14.5,15L18,13.09V11.09L14.5,13L11,11.09M14.5,6L9,9L14.5,12L20,9L14.5,6Z\";\r\nexport var mdiCastOff = \"M1.6,1.27L0.25,2.75L1.41,3.8C1.16,4.13 1,4.55 1,5V8H3V5.23L18.2,19H14V21H20.41L22.31,22.72L23.65,21.24M6.5,3L8.7,5H21V16.14L23,17.95V5C23,3.89 22.1,3 21,3M1,10V12A9,9 0 0,1 10,21H12C12,14.92 7.08,10 1,10M1,14V16A5,5 0 0,1 6,21H8A7,7 0 0,0 1,14M1,18V21H4A3,3 0 0,0 1,18Z\";\r\nexport var mdiCastVariant = \"M6,22H18L12,16M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H7V17H3V5H21V17H17V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z\";\r\nexport var mdiCastle = \"M2,13H4V15H6V13H8V15H10V13H12V15H14V10L17,7V1H19L23,3L19,5V7L22,10V22H11V19A2,2 0 0,0 9,17A2,2 0 0,0 7,19V22H2V13M18,10C17.45,10 17,10.54 17,11.2V13H19V11.2C19,10.54 18.55,10 18,10Z\";\r\nexport var mdiCat = \"M12,8L10.67,8.09C9.81,7.07 7.4,4.5 5,4.5C5,4.5 3.03,7.46 4.96,11.41C4.41,12.24 4.07,12.67 4,13.66L2.07,13.95L2.28,14.93L4.04,14.67L4.18,15.38L2.61,16.32L3.08,17.21L4.53,16.32C5.68,18.76 8.59,20 12,20C15.41,20 18.32,18.76 19.47,16.32L20.92,17.21L21.39,16.32L19.82,15.38L19.96,14.67L21.72,14.93L21.93,13.95L20,13.66C19.93,12.67 19.59,12.24 19.04,11.41C20.97,7.46 19,4.5 19,4.5C16.6,4.5 14.19,7.07 13.33,8.09L12,8M9,11A1,1 0 0,1 10,12A1,1 0 0,1 9,13A1,1 0 0,1 8,12A1,1 0 0,1 9,11M15,11A1,1 0 0,1 16,12A1,1 0 0,1 15,13A1,1 0 0,1 14,12A1,1 0 0,1 15,11M11,14H13L12.3,15.39C12.5,16.03 13.06,16.5 13.75,16.5A1.5,1.5 0 0,0 15.25,15H15.75A2,2 0 0,1 13.75,17C13,17 12.35,16.59 12,16V16H12C11.65,16.59 11,17 10.25,17A2,2 0 0,1 8.25,15H8.75A1.5,1.5 0 0,0 10.25,16.5C10.94,16.5 11.5,16.03 11.7,15.39L11,14Z\";\r\nexport var mdiCctv = \"M6.03 12.03L8.03 15.5L5.5 18.68L2 12.62L6.03 12.03M17 18V15.29C17.88 14.9 18.5 14.03 18.5 13C18.5 12.43 18.3 11.9 17.97 11.5L19.94 10.35C20.95 9.76 21.3 8.47 20.71 7.46L19.33 5.06C18.74 4.05 17.45 3.7 16.44 4.28L8.31 9C7.36 9.53 7.03 10.75 7.58 11.71L9.08 14.31C9.63 15.26 10.86 15.59 11.81 15.04L13.69 13.96C13.94 14.55 14.41 15.03 15 15.29V18C15 19.1 15.9 20 17 20H22V18H17Z\";\r\nexport var mdiCctvOff = \"M20.84 22.73L18.11 20H17C15.9 20 15 19.1 15 18V16.89L12.66 14.55L11.81 15.04C10.86 15.59 9.63 15.26 9.08 14.31L7.58 11.71C7.18 11 7.25 10.18 7.68 9.57L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18.5 13C18.5 12.43 18.3 11.9 17.97 11.5L19.94 10.35C20.95 9.76 21.3 8.47 20.71 7.46L19.33 5.06C18.74 4.05 17.45 3.7 16.44 4.28L10.77 7.57L17.86 14.66C18.26 14.22 18.5 13.64 18.5 13M2 12.62L5.5 18.68L8.03 15.5L6.03 12.03L2 12.62Z\";\r\nexport var mdiCeilingFan = \"M8 3V5H11V10.27C10.38 10.63 10 11.29 10 12V13H14V12C14 11.29 13.62 10.63 13 10.27V5H16V3H8M6 12C3.79 12 2 12.67 2 13.5S3.79 15 6 15 10 14.33 10 13.5 8.21 12 6 12M18 12C15.79 12 14 12.67 14 13.5S15.79 15 18 15 22 14.33 22 13.5 20.21 12 18 12M10 14V15C10 15.72 10.38 16.38 11 16.73C11.62 17.09 12.38 17.09 13 16.73C13.62 16.38 14 15.71 14 15V14H10Z\";\r\nexport var mdiCeilingFanLight = \"M8 3V5H11V10.27C10.38 10.63 10 11.29 10 12V13H14V12C14 11.29 13.62 10.63 13 10.27V5H16V3H8M6 12C3.79 12 2 12.67 2 13.5C2 14.33 3.79 15 6 15S10 14.33 10 13.5C10 12.67 8.21 12 6 12M18 12C15.79 12 14 12.67 14 13.5C14 14.33 15.79 15 18 15S22 14.33 22 13.5C22 12.67 20.21 12 18 12M10 14V15C10 15.72 10.38 16.38 11 16.73C11.62 17.09 12.38 17.09 13 16.73C13.62 16.38 14 15.71 14 15V14H10M13 19V22H11V19H13M15.88 16.46L18 18.59L16.59 20L14.47 17.88L15.88 16.46M9.54 17.88L7.41 20L6 18.59L8.12 16.47L9.54 17.88\";\r\nexport var mdiCeilingLight = \"M8,9H11V4H13V9H16L20,17H4L8,9M14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18H14Z\";\r\nexport var mdiCeilingLightMultiple = \"M10 11H13V6H15V11H18L22 19H6L10 11M16 20C16 21.11 15.11 22 14 22S12 21.11 12 20H16M8.21 10.11L8.76 9H11V2H9V7H6L2 15H5.76L8.21 10.11Z\";\r\nexport var mdiCeilingLightMultipleOutline = \"M16.76 13L18.76 17H9.24L11.24 13H16.76M15 6H13V11H10L6 19H22L18 11H15V6M16 20C16 21.11 15.11 22 14 22S12 21.11 12 20H16M8.21 10.11L8.76 9H11V2H9V7H6L2 15H5.76L8.21 10.11Z\";\r\nexport var mdiCeilingLightOutline = \"M14.76 11L16.76 15H7.24L9.24 11H14.76M13 4H11V9H8L4 17H20L16 9H13V4M14 18H10C10 19.11 10.9 20 12 20S14 19.11 14 18Z\";\r\nexport var mdiCellphone = \"M17,19H7V5H17M17,1H7C5.89,1 5,1.89 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3C19,1.89 18.1,1 17,1Z\";\r\nexport var mdiCellphoneArrowDown = \"M17,1H7A2,2 0 0,0 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1M17,19H7V5H17V19M16,13H13V8H11V13H8L12,17L16,13Z\";\r\nexport var mdiCellphoneArrowDownVariant = \"M18 14L23 9L21.6 7.6L19 10.2V3H17V10.2L14.4 7.6L13 9L18 14M19 16V21C19 22.1 18.1 23 17 23H7C5.9 23 5 22.1 5 21V3C5 1.9 5.9 1 7 1H14V5H7V19H17V16H19Z\";\r\nexport var mdiCellphoneBasic = \"M15,2A1,1 0 0,0 14,3V6H10C8.89,6 8,6.89 8,8V20C8,21.11 8.89,22 10,22H15C16.11,22 17,21.11 17,20V8C17,7.26 16.6,6.62 16,6.28V3A1,1 0 0,0 15,2M10,8H15V13H10V8M10,15H11V16H10V15M12,15H13V16H12V15M14,15H15V16H14V15M10,17H11V18H10V17M12,17H13V18H12V17M14,17H15V18H14V17M10,19H11V20H10V19M12,19H13V20H12V19M14,19H15V20H14V19Z\";\r\nexport var mdiCellphoneCharging = \"M11 18.5V13H9L13 5.5V11H15M17 19H7V5H17M17 1H7C5.89 1 5 1.89 5 3V21A2 2 0 0 0 7 23H17A2 2 0 0 0 19 21V3C19 1.89 18.1 1 17 1Z\";\r\nexport var mdiCellphoneCheck = \"M14.54 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V13C18.3 13 17.63 13.13 17 13.35V5H7V19H13C13 20.54 13.58 21.94 14.54 23M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16\";\r\nexport var mdiCellphoneCog = \"M9.82,12.5C9.84,12.33 9.86,12.17 9.86,12C9.86,11.83 9.84,11.67 9.82,11.5L10.9,10.69C11,10.62 11,10.5 10.96,10.37L9.93,8.64C9.87,8.53 9.73,8.5 9.62,8.53L8.34,9.03C8.07,8.83 7.78,8.67 7.47,8.54L7.27,7.21C7.27,7.09 7.16,7 7.03,7H5C4.85,7 4.74,7.09 4.72,7.21L4.5,8.53C4.21,8.65 3.92,8.83 3.65,9L2.37,8.5C2.25,8.47 2.12,8.5 2.06,8.63L1.03,10.36C0.97,10.5 1,10.61 1.1,10.69L2.18,11.5C2.16,11.67 2.15,11.84 2.15,12C2.15,12.17 2.17,12.33 2.19,12.5L1.1,13.32C1,13.39 1,13.53 1.04,13.64L2.07,15.37C2.13,15.5 2.27,15.5 2.38,15.5L3.66,15C3.93,15.18 4.22,15.34 4.53,15.47L4.73,16.79C4.74,16.91 4.85,17 5,17H7.04C7.17,17 7.28,16.91 7.29,16.79L7.5,15.47C7.8,15.35 8.09,15.17 8.36,15L9.64,15.5C9.76,15.53 9.89,15.5 9.95,15.37L11,13.64C11.04,13.53 11,13.4 10.92,13.32L9.82,12.5M6,13.75C5,13.75 4.2,12.97 4.2,12C4.2,11.03 5,10.25 6,10.25C7,10.25 7.8,11.03 7.8,12C7.8,12.97 7,13.75 6,13.75M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1Z\";\r\nexport var mdiCellphoneDock = \"M16,15H8V5H16M16,1H8C6.89,1 6,1.89 6,3V17A2,2 0 0,0 8,19H16A2,2 0 0,0 18,17V3C18,1.89 17.1,1 16,1M8,23H16V21H8V23Z\";\r\nexport var mdiCellphoneInformation = \"M13 7H11V9H13V7M13 11H11V17H13V11M17 1H7C5.9 1 5 1.9 5 3V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.9 18.1 1 17 1M17 19H7V5H17V19Z\";\r\nexport var mdiCellphoneKey = \"M7 1C5.9 1 5 1.9 5 3V7H7V4H17V20H7V17H5V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.9 18.1 1 17 1H7M6 9C4.3 9 3 10.3 3 12S4.3 15 6 15C7.3 15 8.4 14.2 8.8 13H11V15H13V13H15V11H8.8C8.4 9.8 7.3 9 6 9M6 11C6.6 11 7 11.4 7 12S6.6 13 6 13 5 12.6 5 12 5.4 11 6 11Z\";\r\nexport var mdiCellphoneLink = \"M22,17H18V10H22M23,8H17A1,1 0 0,0 16,9V19A1,1 0 0,0 17,20H23A1,1 0 0,0 24,19V9A1,1 0 0,0 23,8M4,6H22V4H4A2,2 0 0,0 2,6V17H0V20H14V17H4V6Z\";\r\nexport var mdiCellphoneLinkOff = \"M23,8H17A1,1 0 0,0 16,9V13.18L18,15.18V10H22V17H19.82L22.82,20H23A1,1 0 0,0 24,19V9A1,1 0 0,0 23,8M4,6.27L14.73,17H4V6.27M1.92,1.65L0.65,2.92L2.47,4.74C2.18,5.08 2,5.5 2,6V17H0V20H17.73L20.08,22.35L21.35,21.08L3.89,3.62L1.92,1.65M22,6V4H6.82L8.82,6H22Z\";\r\nexport var mdiCellphoneLock = \"M17,1H7A2,2 0 0,0 5,3V6H7V4H17V20H7V18H5V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1M8.8,11V9.5C8.8,8.1 7.4,7 6,7C4.6,7 3.2,8.1 3.2,9.5V11C2.6,11 2,11.6 2,12.2V15.7C2,16.4 2.6,17 3.2,17H8.7C9.4,17 10,16.4 10,15.8V12.3C10,11.6 9.4,11 8.8,11M7.5,11H4.5V9.5C4.5,8.7 5.2,8.2 6,8.2C6.8,8.2 7.5,8.7 7.5,9.5V11Z\";\r\nexport var mdiCellphoneMarker = \"M18.5 13C16.6 13 15 14.61 15 16.5C15 19.11 18.5 23 18.5 23S22 19.11 22 16.5C22 14.61 20.4 13 18.5 13M18.5 17.81C17.8 17.81 17.3 17.21 17.3 16.61C17.3 15.91 17.9 15.41 18.5 15.41S19.7 16 19.7 16.61C19.8 17.21 19.2 17.81 18.5 17.81M15.91 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V11.03C18.84 11 18.67 11 18.5 11C18 11 17.5 11.08 17 11.22V5H7V19H13.54C14.14 20.5 15.12 21.97 15.91 23Z\";\r\nexport var mdiCellphoneMessage = \"M11,17V7H4V17H11M11,3A2,2 0 0,1 13,5V19A2,2 0 0,1 11,21H4C2.89,21 2,20.1 2,19V5A2,2 0 0,1 4,3H11M16.5,3H21.5A1.5,1.5 0 0,1 23,4.5V7.5A1.5,1.5 0 0,1 21.5,9H18L15,12V9L15,4.5A1.5,1.5 0 0,1 16.5,3Z\";\r\nexport var mdiCellphoneMessageOff = \"M2.39 1.73L1.11 3L2.22 4.11C2.08 4.38 2 4.68 2 5V19C2 20.1 2.89 21 4 21H11C12.1 21 13 20.1 13 19V14.89L20.84 22.73L22.11 21.46L2.39 1.73M11 17H4V7H5.11L11 12.89V17M23 4.5V7.5C23 8.33 22.33 9 21.5 9H18L15.1 11.9L15 11.8V4.5C15 3.67 15.67 3 16.5 3H21.5C22.33 3 23 3.67 23 4.5M10.2 7L6.2 3H11C12.1 3 13 3.9 13 5V9.8L11 7.8V7H10.2\";\r\nexport var mdiCellphoneNfc = \"M2,16V18A5,5 0 0,1 7,23H9A7,7 0 0,0 2,16M2,20V23H5A3,3 0 0,0 2,20M2,12V14A9,9 0 0,1 11,23H13C13,16.92 8.08,12 2,12M17,1H7A2,2 0 0,0 5,3V10.37C5.69,10.53 6.36,10.74 7,11V5H17V18H13.97C14.5,19.25 14.81,20.59 14.92,22H17A2,2 0 0,0 19,20V3A2,2 0 0,0 17,1Z\";\r\nexport var mdiCellphoneNfcOff = \"M20.84 22.73L18.85 20.74C18.56 21.5 17.84 22 17 22H14.92C14.81 20.59 14.5 19.25 13.97 18H16.11L7 8.89V11C6.36 10.74 5.69 10.53 5 10.37V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M17 5V13.8L19 15.8V3C19 1.9 18.11 1 17 1H7C6.24 1 5.59 1.43 5.25 2.05L8.2 5H17M2 20V23H5C5 21.34 3.66 20 2 20M2 16V18C4.76 18 7 20.24 7 23H9C9 19.13 5.87 16 2 16M2 12V14C6.97 14 11 18.03 11 23H13C13 16.92 8.08 12 2 12Z\";\r\nexport var mdiCellphoneOff = \"M2.38,1.73L1.11,3L5,6.89V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V20.89L20.84,22.73L22.11,21.46M17,19H7V8.89L17,18.89V19M17,5V13.8L19,15.8V3A2,2 0 0,0 17,1H7C6.28,1 5.6,1.37 5.24,2L8.24,5H17Z\";\r\nexport var mdiCellphonePlay = \"M17 19H7V5H17M17 1H7C5.89 1 5 1.89 5 3V21C5 22.1 5.9 23 7 23H17C18.1 23 19 22.1 19 21V3C19 1.89 18.1 1 17 1M10 9V15L14 12L10 9Z\";\r\nexport var mdiCellphoneRemove = \"M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88M14.54 23H7C5.9 23 5 22.11 5 21V3C5 1.89 5.89 1 7 1H17C18.1 1 19 1.89 19 3V13C18.3 13 17.63 13.13 17 13.35V5H7V19H13C13 20.54 13.58 21.94 14.54 23Z\";\r\nexport var mdiCellphoneScreenshot = \"M7,1A2,2 0 0,0 5,3V21A2,2 0 0,0 7,23H17A2,2 0 0,0 19,21V3A2,2 0 0,0 17,1H7M7,4H17V20H7V4M9,6V10H10.5V7.5H13V6H9M13.5,14V16.5H11V18H15V14H13.5Z\";\r\nexport var mdiCellphoneSettings = \"M16,16H8V4H16M16,0H8A2,2 0 0,0 6,2V18A2,2 0 0,0 8,20H16A2,2 0 0,0 18,18V2A2,2 0 0,0 16,0M15,24H17V22H15M11,24H13V22H11M7,24H9V22H7V24Z\";\r\nexport var mdiCellphoneSound = \"M19.1,8.7C20.9,10.5 20.9,13.3 19.1,15.2L20.1,16.2C22.6,13.9 22.6,10.1 20.1,7.7L19.1,8.7M18,9.8L17,10.8C17.5,11.5 17.5,12.4 17,13.1L18,14.1C19.2,12.9 19.2,11.1 18,9.8M14,1H4A2,2 0 0,0 2,3V21A2,2 0 0,0 4,23H14A2,2 0 0,0 16,21V3A2,2 0 0,0 14,1M14,20H4V4H14V20Z\";\r\nexport var mdiCellphoneText = \"M17,19V5H7V19H17M17,1A2,2 0 0,1 19,3V21A2,2 0 0,1 17,23H7C5.89,23 5,22.1 5,21V3C5,1.89 5.89,1 7,1H17M9,7H15V9H9V7M9,11H13V13H9V11Z\";\r\nexport var mdiCellphoneWireless = \"M20.07,4.93C21.88,6.74 23,9.24 23,12C23,14.76 21.88,17.26 20.07,19.07L18.66,17.66C20.11,16.22 21,14.22 21,12C21,9.79 20.11,7.78 18.66,6.34L20.07,4.93M17.24,7.76C18.33,8.85 19,10.35 19,12C19,13.65 18.33,15.15 17.24,16.24L15.83,14.83C16.55,14.11 17,13.11 17,12C17,10.89 16.55,9.89 15.83,9.17L17.24,7.76M13,10A2,2 0 0,1 15,12A2,2 0 0,1 13,14A2,2 0 0,1 11,12A2,2 0 0,1 13,10M11.5,1A2.5,2.5 0 0,1 14,3.5V8H12V4H3V19H12V16H14V20.5A2.5,2.5 0 0,1 11.5,23H3.5A2.5,2.5 0 0,1 1,20.5V3.5A2.5,2.5 0 0,1 3.5,1H11.5Z\";\r\nexport var mdiCentos = \"M19.07 14.93L22 12L19.07 9.07V4.93H14.93L12 2L9.07 4.93H4.93V9.07L2 12L4.93 14.93V19.07H9.07L12 22L14.93 19.07H19.07V14.93M21.41 12L19.07 14.34V12.46H13.69L13.23 12L13.69 11.54H19.07V9.66L21.41 12M18.66 14.76L17.32 16.09L14.11 12.87H18.66V14.76M12.46 13.1L12 12.65L11.54 13.1V12.46H10.9L11.36 12L10.9 11.54H11.54V10.9L12 11.36L12.46 10.9V11.54H13.1L12.65 12L13.1 12.46H12.46V13.1M14.11 11.13L17.32 7.91L18.66 9.24V11.13H14.11M18.66 5.35V8.65L17.32 7.32L13.5 11.13H12.87V10.5L16.68 6.68L15.35 5.35H18.66M12.87 9.89V5.35H14.76L16.09 6.68L12.87 9.89M12 2.59L14.34 4.93H12.46V10.31L12 10.77L11.54 10.31V4.93H9.66L12 2.59M11.13 9.89L7.91 6.68L9.24 5.35H11.13V9.89M5.35 5.35H8.65L7.32 6.68L11.13 10.5V11.13H10.5L6.68 7.32L5.35 8.65V5.35M5.35 9.24L6.68 7.91L9.89 11.13H5.35V9.24M2.59 12L4.93 9.66V11.54H10.31L10.77 12L10.31 12.46H4.93V14.34L2.59 12M9.89 12.87L6.68 16.09L5.35 14.76V12.87H9.89M5.35 18.66V15.35L6.68 16.68L10.5 12.87H11.13V13.5L7.32 17.32L8.65 18.65H5.35M11.13 14.11V18.66H9.24L7.91 17.32L11.13 14.11M12 21.41L9.66 19.07H11.54V13.69L12 13.23L12.46 13.69V19.07H14.34L12 21.41M12.87 14.11L16.09 17.32L14.76 18.66H12.87V14.11M15.35 18.66L16.68 17.32L12.87 13.5V12.87H13.5L17.32 16.68L18.65 15.35V18.66H15.35Z\";\r\nexport var mdiCertificate = \"M4,3C2.89,3 2,3.89 2,5V15A2,2 0 0,0 4,17H12V22L15,19L18,22V17H20A2,2 0 0,0 22,15V8L22,6V5A2,2 0 0,0 20,3H16V3H4M12,5L15,7L18,5V8.5L21,10L18,11.5V15L15,13L12,15V11.5L9,10L12,8.5V5M4,5H9V7H4V5M4,9H7V11H4V9M4,13H9V15H4V13Z\";\r\nexport var mdiCertificateOutline = \"M13 21L15 20L17 21V14H13M17 9V7L15 8L13 7V9L11 10L13 11V13L15 12L17 13V11L19 10M20 3H4A2 2 0 0 0 2 5V15A2 2 0 0 0 4 17H11V15H4V5H20V15H19V17H20A2 2 0 0 0 22 15V5A2 2 0 0 0 20 3M11 8H5V6H11M9 11H5V9H9M11 14H5V12H11Z\";\r\nexport var mdiChairRolling = \"M22 10V13H19V10H22M2 13H5V10H2V13M17 5C17 3.9 16.1 3 15 3H9C7.9 3 7 3.9 7 5V13H17V5M7 15H6V17H11V18L7 22H9.8L12 19.8L14.2 22H17L13 18V17H18V15H7Z\";\r\nexport var mdiChairSchool = \"M22,5V7H17L13.53,12H16V14H14.46L18.17,22H15.97L15.04,20H6.38L5.35,22H3.1L7.23,14H7C6.55,14 6.17,13.7 6.04,13.3L2.87,3.84L3.82,3.5C4.34,3.34 4.91,3.63 5.08,4.15L7.72,12H12.1L15.57,7H12V5H22M9.5,14L7.42,18H14.11L12.26,14H9.5Z\";\r\nexport var mdiChandelier = \"M15 13.1C15 14.76 13.66 16.1 12 16.1S9 14.76 9 13.1 10.34 10.1 12 10.1 15 11.44 15 13.1M9 2V3C9 4.11 9.9 5 11 5V9.1C11.32 9.04 11.66 9 12 9S12.68 9.04 13 9.1V5C14.11 5 15 4.11 15 3V2H9M4 11.1C2.34 11.1 1 12.44 1 14.1S2.34 17.1 4 17.1 7 15.76 7 14.1 5.66 11.1 4 11.1M20 11.1C18.34 11.1 17 12.44 17 14.1S18.34 17.1 20 17.1 23 15.76 23 14.1 21.66 11.1 20 11.1M20 18.1C19.32 18.1 18.67 17.96 18.08 17.71C17.6 17.95 17.07 18.1 16.5 18.1C15.39 18.1 14.41 17.57 13.77 16.77C13.22 17 12.63 17.1 12 17.1S10.78 17 10.23 16.77C9.59 17.57 8.61 18.1 7.5 18.1C6.93 18.1 6.4 17.95 5.92 17.71C5.33 17.96 4.68 18.1 4 18.1C3.73 18.1 3.46 18.06 3.2 18C4.21 19.29 5.76 20.1 7.5 20.1C8.83 20.1 10.05 19.63 11 18.84V21.1C11 21.65 11.45 22.1 12 22.1C12.55 22.1 13 21.65 13 21.1V18.84C13.95 19.63 15.17 20.1 16.5 20.1C18.24 20.1 19.79 19.29 20.8 18C20.54 18.06 20.27 18.1 20 18.1Z\";\r\nexport var mdiCharity = \"M12.75,3.94C13.75,3.22 14.91,2.86 16.22,2.86C16.94,2.86 17.73,3.05 18.59,3.45C19.45,3.84 20.13,4.3 20.63,4.83C21.66,6.11 22.09,7.6 21.94,9.3C21.78,11 21.22,12.33 20.25,13.27L12.66,20.86C12.47,21.05 12.23,21.14 11.95,21.14C11.67,21.14 11.44,21.05 11.25,20.86C11.06,20.67 10.97,20.44 10.97,20.16C10.97,19.88 11.06,19.64 11.25,19.45L15.84,14.86C16.09,14.64 16.09,14.41 15.84,14.16C15.59,13.91 15.36,13.91 15.14,14.16L10.55,18.75C10.36,18.94 10.13,19.03 9.84,19.03C9.56,19.03 9.33,18.94 9.14,18.75C8.95,18.56 8.86,18.33 8.86,18.05C8.86,17.77 8.95,17.53 9.14,17.34L13.73,12.75C14,12.5 14,12.25 13.73,12C13.5,11.75 13.28,11.75 13.03,12L8.44,16.64C8.25,16.83 8,16.92 7.73,16.92C7.45,16.92 7.21,16.83 7,16.64C6.8,16.45 6.7,16.22 6.7,15.94C6.7,15.66 6.81,15.41 7.03,15.19L11.63,10.59C11.88,10.34 11.88,10.11 11.63,9.89C11.38,9.67 11.14,9.67 10.92,9.89L6.28,14.5C6.06,14.7 5.83,14.81 5.58,14.81C5.3,14.81 5.06,14.71 4.88,14.5C4.69,14.3 4.59,14.06 4.59,13.78C4.59,13.5 4.69,13.27 4.88,13.08C7.94,10 9.83,8.14 10.55,7.45L14.11,10.97C14.5,11.34 14.95,11.53 15.5,11.53C16.2,11.53 16.75,11.25 17.16,10.69C17.44,10.28 17.54,9.83 17.46,9.33C17.38,8.83 17.17,8.41 16.83,8.06L12.75,3.94M14.81,10.27L10.55,6L3.47,13.08C2.63,12.23 2.15,10.93 2.04,9.16C1.93,7.4 2.41,5.87 3.47,4.59C4.66,3.41 6.08,2.81 7.73,2.81C9.39,2.81 10.8,3.41 11.95,4.59L16.22,8.86C16.41,9.05 16.5,9.28 16.5,9.56C16.5,9.84 16.41,10.08 16.22,10.27C16.03,10.45 15.8,10.55 15.5,10.55C15.23,10.55 15,10.45 14.81,10.27V10.27Z\";\r\nexport var mdiCharitySearch = \"M10.5 6L3.4 13.1C2.6 12.2 2.2 10.9 2 9.2C1.9 7.4 2.4 5.9 3.5 4.6C4.7 3.4 6.1 2.8 7.8 2.8C9.5 2.8 10.9 3.4 12 4.6L13.7 6.3C13 6.5 12.4 6.8 11.8 7.2L10.5 6M15.5 6C18.4 6 20.9 7.9 21.7 10.6C21.8 10.2 21.9 9.8 21.9 9.3C22.1 7.6 21.6 6.1 20.6 4.8C20.1 4.3 19.4 3.8 18.6 3.4C17.7 3 16.9 2.8 16.2 2.8C14.9 2.8 13.7 3.2 12.7 3.9L14.8 6H15.5M11 7.9L10.6 7.5C9.8 8.1 7.9 10 4.9 13.1C4.7 13.3 4.6 13.5 4.6 13.8C4.6 14.1 4.7 14.3 4.9 14.5C5.1 14.7 5.3 14.8 5.6 14.8C5.8 14.8 6.1 14.7 6.3 14.5L9 11.8C9.2 10.2 9.9 8.9 11 7.9M10.2 16.3L9.1 17.4C9 17.5 8.9 17.8 8.9 18C8.9 18.3 9 18.5 9.2 18.7S9.6 19 9.8 19C10.1 19 10.3 18.9 10.5 18.7L11.6 17.6C11.1 17.3 10.6 16.8 10.2 16.3M9 13.2L7 15.2C6.8 15.4 6.7 15.7 6.7 16C6.7 16.3 6.8 16.5 7 16.7C7.2 16.9 7.5 17 7.7 17C8 17 8.2 16.9 8.4 16.7L9.6 15.4C9.3 14.7 9.1 14 9 13.2M12.5 18.2L11.3 19.4C11.1 19.6 11 19.8 11 20.1C11 20.4 11.1 20.6 11.3 20.8S11.7 21.1 12 21.1C12.3 21.1 12.5 21 12.7 20.8L14.6 18.9C13.8 18.8 13.1 18.6 12.5 18.2M22.2 17.8L20.8 19.2L17.9 16.3C17.2 16.7 16.4 17 15.5 17C13 17 11 15 11 12.5S13 8 15.5 8 20 10 20 12.5C20 13.4 19.7 14.2 19.3 14.9L22.2 17.8M18 12.5C18 11.1 16.9 10 15.5 10S13 11.1 13 12.5 14.1 15 15.5 15 18 13.9 18 12.5Z\";\r\nexport var mdiChartArc = \"M16.18,19.6L14.17,16.12C15.15,15.4 15.83,14.28 15.97,13H20C19.83,15.76 18.35,18.16 16.18,19.6M13,7.03V3C17.3,3.26 20.74,6.7 21,11H16.97C16.74,8.91 15.09,7.26 13,7.03M7,12.5C7,13.14 7.13,13.75 7.38,14.3L3.9,16.31C3.32,15.16 3,13.87 3,12.5C3,7.97 6.54,4.27 11,4V8.03C8.75,8.28 7,10.18 7,12.5M11.5,21C8.53,21 5.92,19.5 4.4,17.18L7.88,15.17C8.7,16.28 10,17 11.5,17C12.14,17 12.75,16.87 13.3,16.62L15.31,20.1C14.16,20.68 12.87,21 11.5,21Z\";\r\nexport var mdiChartAreaspline = \"M17.45,15.18L22,7.31V19L22,21H2V3H4V15.54L9.5,6L16,9.78L20.24,2.45L21.97,3.45L16.74,12.5L10.23,8.75L4.31,19H6.57L10.96,11.44L17.45,15.18Z\";\r\nexport var mdiChartAreasplineVariant = \"M22,21H2V3H4V15.54L9.5,6L16,9.78L20.24,2.45L21.97,3.45L22,21Z\";\r\nexport var mdiChartBar = \"M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z\";\r\nexport var mdiChartBarStacked = \"M22,21H2V3H4V19H6V17H10V19H12V16H16V19H18V17H22V21M18,14H22V16H18V14M12,6H16V9H12V6M16,15H12V10H16V15M6,10H10V12H6V10M10,16H6V13H10V16Z\";\r\nexport var mdiChartBellCurve = \"M9.96,11.31C10.82,8.1 11.5,6 13,6C14.5,6 15.18,8.1 16.04,11.31C17,14.92 18.1,19 22,19V17C19.8,17 19,14.54 17.97,10.8C17.08,7.46 16.15,4 13,4C9.85,4 8.92,7.46 8.03,10.8C7.03,14.54 6.2,17 4,17V2H2V22H22V20H4V19C7.9,19 9,14.92 9.96,11.31Z\";\r\nexport var mdiChartBellCurveCumulative = \"M4 19V20H22V22H2V2H4V17C7 17 10 15 12.1 11.4C15.1 6.4 18.4 4 22 4V6C19.2 6 16.5 8.1 13.9 12.5C11.3 16.6 7.7 19 4 19Z\";\r\nexport var mdiChartBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17Z\";\r\nexport var mdiChartBoxOutline = \"M9 17H7V10H9V17M13 17H11V7H13V17M17 17H15V13H17V17M19 19H5V5H19V19.1M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\";\r\nexport var mdiChartBoxPlusOutline = \"M22 5V7H19V10H17V7H14V5H17V2H19V5H22M19 19H5V5H11V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V13H19V19M15 13V17H17V13H15M11 17H13V9H11V17M9 17V11H7V17H9Z\";\r\nexport var mdiChartBubble = \"M7.2,11.2C8.97,11.2 10.4,12.63 10.4,14.4C10.4,16.17 8.97,17.6 7.2,17.6C5.43,17.6 4,16.17 4,14.4C4,12.63 5.43,11.2 7.2,11.2M14.8,16A2,2 0 0,1 16.8,18A2,2 0 0,1 14.8,20A2,2 0 0,1 12.8,18A2,2 0 0,1 14.8,16M15.2,4A4.8,4.8 0 0,1 20,8.8C20,11.45 17.85,13.6 15.2,13.6A4.8,4.8 0 0,1 10.4,8.8C10.4,6.15 12.55,4 15.2,4Z\";\r\nexport var mdiChartDonut = \"M13,2.05V5.08C16.39,5.57 19,8.47 19,12C19,12.9 18.82,13.75 18.5,14.54L21.12,16.07C21.68,14.83 22,13.45 22,12C22,6.82 18.05,2.55 13,2.05M12,19A7,7 0 0,1 5,12C5,8.47 7.61,5.57 11,5.08V2.05C5.94,2.55 2,6.81 2,12A10,10 0 0,0 12,22C15.3,22 18.23,20.39 20.05,17.91L17.45,16.38C16.17,18 14.21,19 12,19Z\";\r\nexport var mdiChartDonutVariant = \"M13,2.05C18.05,2.55 22,6.82 22,12C22,13.45 21.68,14.83 21.12,16.07L18.5,14.54C18.82,13.75 19,12.9 19,12C19,8.47 16.39,5.57 13,5.08V2.05M12,19C14.21,19 16.17,18 17.45,16.38L20.05,17.91C18.23,20.39 15.3,22 12,22C6.47,22 2,17.5 2,12C2,6.81 5.94,2.55 11,2.05V5.08C7.61,5.57 5,8.47 5,12A7,7 0 0,0 12,19M12,6A6,6 0 0,1 18,12C18,14.97 15.84,17.44 13,17.92V14.83C14.17,14.42 15,13.31 15,12A3,3 0 0,0 12,9L11.45,9.05L9.91,6.38C10.56,6.13 11.26,6 12,6M6,12C6,10.14 6.85,8.5 8.18,7.38L9.72,10.05C9.27,10.57 9,11.26 9,12C9,13.31 9.83,14.42 11,14.83V17.92C8.16,17.44 6,14.97 6,12Z\";\r\nexport var mdiChartGantt = \"M2,5H10V2H12V22H10V18H6V15H10V13H4V10H10V8H2V5M14,5H17V8H14V5M14,10H19V13H14V10M14,15H22V18H14V15Z\";\r\nexport var mdiChartHistogram = \"M3,3H5V13H9V7H13V11H17V15H21V21H3V3Z\";\r\nexport var mdiChartLine = \"M16,11.78L20.24,4.45L21.97,5.45L16.74,14.5L10.23,10.75L5.46,19H22V21H2V3H4V17.54L9.5,8L16,11.78Z\";\r\nexport var mdiChartLineStacked = \"M17.45,15.18L22,6.81V19L22,21H2V3H4V15.54L4,19H4.31L6,19H6.57L10.96,11.44L17.45,15.18M22,3L21.97,3.45L17,11L10,6L6,12V3H22Z\";\r\nexport var mdiChartLineVariant = \"M3.5,18.5L9.5,12.5L13.5,16.5L22,6.92L20.59,5.5L13.5,13.5L9.5,9.5L2,17L3.5,18.5Z\";\r\nexport var mdiChartMultiline = \"M22,6.92L20.59,5.5L17.74,8.72C15.68,6.4 12.83,5 9.61,5C6.72,5 4.07,6.16 2,8L3.42,9.42C5.12,7.93 7.27,7 9.61,7C12.35,7 14.7,8.26 16.38,10.24L13.5,13.5L9.5,9.5L2,17L3.5,18.5L9.5,12.5L13.5,16.5L17.55,11.93C18.3,13.28 18.8,14.83 19,16.5H21C20.78,14.18 20.05,12.09 18.96,10.34L22,6.92Z\";\r\nexport var mdiChartMultiple = \"M22 16V18H6V2H8V13.57L13.71 4.57L16.87 6.68L19.29 4.26L20.71 5.68L17.13 9.29L14.29 7.4L8.82 16M4 20V4H2V22H22V20Z\";\r\nexport var mdiChartPie = \"M11,2V22C5.9,21.5 2,17.2 2,12C2,6.8 5.9,2.5 11,2M13,2V11H22C21.5,6.2 17.8,2.5 13,2M13,13V22C17.7,21.5 21.5,17.8 22,13H13Z\";\r\nexport var mdiChartPieOutline = \"M13 11H19.95Q19.58 8.25 17.66 6.34 15.75 4.43 13 4.05M11 19.95V4.05Q8 4.43 6 6.69 4 8.95 4 12T6 17.31Q8 19.58 11 19.95M13 19.95Q15.75 19.6 17.68 17.68 19.6 15.75 19.95 13H13M12 12M12 22Q9.93 22 8.1 21.21 6.28 20.43 4.93 19.08 3.58 17.73 2.79 15.9 2 14.08 2 12T2.79 8.1Q3.58 6.28 4.93 4.93 6.28 3.58 8.1 2.79 9.93 2 12 2T15.89 2.79Q17.7 3.58 19.06 4.94 20.43 6.3 21.21 8.11 22 9.93 22 12 22 14.05 21.21 15.88 20.43 17.7 19.08 19.06 17.73 20.43 15.9 21.21 14.08 22 12 22Z\";\r\nexport var mdiChartPpf = \"M5 6V8C8.2 8 11.36 9.18 13.57 11.15C15.64 13 16.83 15.5 17 18H18.97A14 12.5 0 0 0 5 6M22 21H2V3H4V19H22Z\";\r\nexport var mdiChartSankey = \"M22 5H4V2H2V22H22V20H4V9C8.09 9 10.13 11 12.29 13.21S17.09 18 22 18V16C17.91 16 15.87 14 13.71 11.79S8.91 7 4 7H22Z\";\r\nexport var mdiChartSankeyVariant = \"M20 4V6H4V4H2V12H4V10C8.16 10 9.92 12.11 11.77 14.34S15.65 19 20 19V21H22V15H20V17C16.59 17 15.07 15.17 13.31 13.06C11.34 10.69 9.1 8 4 8H20V10H22V4Z\";\r\nexport var mdiChartScatterPlot = \"M2,2H4V20H22V22H2V2M9,10A3,3 0 0,1 12,13A3,3 0 0,1 9,16A3,3 0 0,1 6,13A3,3 0 0,1 9,10M13,2A3,3 0 0,1 16,5A3,3 0 0,1 13,8A3,3 0 0,1 10,5A3,3 0 0,1 13,2M18,12A3,3 0 0,1 21,15A3,3 0 0,1 18,18A3,3 0 0,1 15,15A3,3 0 0,1 18,12Z\";\r\nexport var mdiChartScatterPlotHexbin = \"M2,2H4V20H22V22H2V2M14,14.5L12,18H7.94L5.92,14.5L7.94,11H12L14,14.5M14.08,6.5L12.06,10H8L6,6.5L8,3H12.06L14.08,6.5M21.25,10.5L19.23,14H15.19L13.17,10.5L15.19,7H19.23L21.25,10.5Z\";\r\nexport var mdiChartTimeline = \"M2,2H4V20H22V22H2V2M7,10H17V13H7V10M11,15H21V18H11V15M6,4H22V8H20V6H8V8H6V4Z\";\r\nexport var mdiChartTimelineVariant = \"M3,14L3.5,14.07L8.07,9.5C7.89,8.85 8.06,8.11 8.59,7.59C9.37,6.8 10.63,6.8 11.41,7.59C11.94,8.11 12.11,8.85 11.93,9.5L14.5,12.07L15,12C15.18,12 15.35,12 15.5,12.07L19.07,8.5C19,8.35 19,8.18 19,8A2,2 0 0,1 21,6A2,2 0 0,1 23,8A2,2 0 0,1 21,10C20.82,10 20.65,10 20.5,9.93L16.93,13.5C17,13.65 17,13.82 17,14A2,2 0 0,1 15,16A2,2 0 0,1 13,14L13.07,13.5L10.5,10.93C10.18,11 9.82,11 9.5,10.93L4.93,15.5L5,16A2,2 0 0,1 3,18A2,2 0 0,1 1,16A2,2 0 0,1 3,14Z\";\r\nexport var mdiChartTimelineVariantShimmer = \"M21 8C19.5 8 18.7 9.4 19.1 10.5L15.5 14.1C15.2 14 14.8 14 14.5 14.1L11.9 11.5C12.3 10.4 11.5 9 10 9C8.6 9 7.7 10.4 8.1 11.5L3.5 16C2.4 15.7 1 16.5 1 18C1 19.1 1.9 20 3 20C4.4 20 5.3 18.6 4.9 17.5L9.4 12.9C9.7 13 10.1 13 10.4 12.9L13 15.5C12.7 16.5 13.5 18 15 18C16.5 18 17.3 16.6 16.9 15.5L20.5 11.9C21.6 12.2 23 11.4 23 10C23 8.9 22.1 8 21 8M15 9L15.9 6.9L18 6L15.9 5.1L15 3L14.1 5.1L12 6L14.1 6.9L15 9M3.5 11L4 9L6 8.5L4 8L3.5 6L3 8L1 8.5L3 9L3.5 11Z\";\r\nexport var mdiChartTree = \"M14,6H22V22H14V6M2,4H22V2H2V4M2,8H12V6H2V8M9,22H12V10H9V22M2,22H7V10H2V22Z\";\r\nexport var mdiChartWaterfall = \"M2 2H4V20H22V22H2V2M17 2H20V18H17V2M6 11H9V18H6V11M13 3H16V7H13V3M10 8H13V12H10V8Z\";\r\nexport var mdiChat = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3Z\";\r\nexport var mdiChatAlert = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M11,14V16H13V14H11M11,12H13V6H11V12Z\";\r\nexport var mdiChatAlertOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M11 13V15H13V13H11M11 11H13V7H11V11Z\";\r\nexport var mdiChatMinus = \"M23 17V19H15V17H23M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatMinusOutline = \"M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5S4 7.69 4 11 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3M23 17V19H15V17H23Z\";\r\nexport var mdiChatOutline = \"M12,3C6.5,3 2,6.58 2,11C2.05,13.15 3.06,15.17 4.75,16.5C4.75,17.1 4.33,18.67 2,21C4.37,20.89 6.64,20 8.47,18.5C9.61,18.83 10.81,19 12,19C17.5,19 22,15.42 22,11C22,6.58 17.5,3 12,3M12,17C7.58,17 4,14.31 4,11C4,7.69 7.58,5 12,5C16.42,5 20,7.69 20,11C20,14.31 16.42,17 12,17Z\";\r\nexport var mdiChatPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatPlusOutline = \"M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5C7.58 5 4 7.69 4 11C4 14.31 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3M18 14H20V17H23V19H20V22H18V19H15V17H18V14Z\";\r\nexport var mdiChatProcessing = \"M12,3C17.5,3 22,6.58 22,11C22,15.42 17.5,19 12,19C10.76,19 9.57,18.82 8.47,18.5C5.55,21 2,21 2,21C4.33,18.67 4.7,17.1 4.75,16.5C3.05,15.07 2,13.13 2,11C2,6.58 6.5,3 12,3M17,12V10H15V12H17M13,12V10H11V12H13M9,12V10H7V12H9Z\";\r\nexport var mdiChatProcessingOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M17 12V10H15V12H17M13 12V10H11V12H13M9 12V10H7V12H9Z\";\r\nexport var mdiChatQuestion = \"M12 3C6.5 3 2 6.6 2 11C2 13.1 3 15.1 4.8 16.5C4.8 17.1 4.4 18.7 2 21C2 21 5.5 21 8.5 18.5C9.6 18.8 10.8 19 12 19C17.5 19 22 15.4 22 11S17.5 3 12 3M13 15H11V13H13V15M14.8 10C14.5 10.4 14.1 10.6 13.7 10.8C13.4 11 13.3 11.1 13.2 11.3C13 11.5 13 11.7 13 12H11C11 11.5 11.1 11.2 11.3 10.9C11.5 10.7 11.9 10.4 12.4 10.1C12.7 10 12.9 9.8 13 9.6C13.1 9.4 13.2 9.1 13.2 8.9C13.2 8.6 13.1 8.4 12.9 8.2C12.7 8 12.4 7.9 12.1 7.9C11.8 7.9 11.6 8 11.4 8.1C11.2 8.2 11.1 8.4 11.1 8.7H9.1C9.2 8 9.5 7.4 10 7C10.5 6.6 11.2 6.5 12.1 6.5C13 6.5 13.8 6.7 14.3 7.1C14.8 7.5 15.1 8.1 15.1 8.8C15.2 9.2 15.1 9.6 14.8 10Z\";\r\nexport var mdiChatQuestionOutline = \"M12 3C6.5 3 2 6.6 2 11C2 13.2 3.1 15.2 4.8 16.5C4.8 17.1 4.4 18.7 2 21C4.4 20.9 6.6 20 8.5 18.5C9.6 18.8 10.8 19 12 19C17.5 19 22 15.4 22 11S17.5 3 12 3M12 17C7.6 17 4 14.3 4 11S7.6 5 12 5 20 7.7 20 11 16.4 17 12 17M12.2 6.5C11.3 6.5 10.6 6.7 10.1 7C9.5 7.4 9.2 8 9.3 8.7H11.3C11.3 8.4 11.4 8.2 11.6 8.1C11.8 8 12 7.9 12.3 7.9C12.6 7.9 12.9 8 13.1 8.2C13.3 8.4 13.4 8.6 13.4 8.9C13.4 9.2 13.3 9.4 13.2 9.6C13 9.8 12.8 10 12.6 10.1C12.1 10.4 11.7 10.7 11.5 10.9C11.1 11.2 11 11.5 11 12H13C13 11.7 13.1 11.5 13.1 11.3C13.2 11.1 13.4 11 13.6 10.8C14.1 10.6 14.4 10.3 14.7 9.9C15 9.5 15.1 9.1 15.1 8.7C15.1 8 14.8 7.4 14.3 7C13.9 6.7 13.1 6.5 12.2 6.5M11 13V15H13V13H11Z\";\r\nexport var mdiChatRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.54 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.54L15.46 20.12L17.59 18L15.47 15.88M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C20.95 12.25 20 12 19 12C15.69 12 13 14.69 13 18L13.08 18.95L12 19C10.76 19 9.57 18.82 8.47 18.5C5.55 21 2 21 2 21C4.33 18.67 4.7 17.1 4.75 16.5C3.05 15.07 2 13.14 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.54 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.54L15.46 20.12L17.59 18L15.47 15.88M12 3C17.5 3 22 6.58 22 11C22 11.58 21.92 12.14 21.78 12.68C21.19 12.38 20.55 12.16 19.88 12.06C19.96 11.72 20 11.36 20 11C20 7.69 16.42 5 12 5C7.58 5 4 7.69 4 11C4 14.31 7.58 17 12 17L13.09 16.95L13 18L13.08 18.95L12 19C10.81 19 9.62 18.83 8.47 18.5C6.64 20 4.37 20.89 2 21C4.33 18.67 4.75 17.1 4.75 16.5C3.06 15.17 2.05 13.15 2 11C2 6.58 6.5 3 12 3Z\";\r\nexport var mdiChatSleep = \"M12 3C6.5 3 2 6.58 2 11C2 13.13 3.05 15.07 4.75 16.5C4.7 17.1 4.33 18.67 2 21C2 21 5.55 21 8.47 18.5C9.57 18.82 10.76 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M15 9.3L11.76 13H15V15H9V12.7L12.24 9H9V7H15V9.3Z\";\r\nexport var mdiChatSleepOutline = \"M12 3C6.5 3 2 6.58 2 11C2.05 13.15 3.06 15.17 4.75 16.5C4.75 17.1 4.33 18.67 2 21C4.37 20.89 6.64 20 8.47 18.5C9.61 18.83 10.81 19 12 19C17.5 19 22 15.42 22 11S17.5 3 12 3M12 17C7.58 17 4 14.31 4 11S7.58 5 12 5 20 7.69 20 11 16.42 17 12 17M15 7H9V9H12.24L9 12.7V15H15V13H11.76L15 9.3V7Z\";\r\nexport var mdiCheck = \"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z\";\r\nexport var mdiCheckAll = \"M0.41,13.41L6,19L7.41,17.58L1.83,12M22.24,5.58L11.66,16.17L7.5,12L6.07,13.41L11.66,19L23.66,7M18,7L16.59,5.58L10.24,11.93L11.66,13.34L18,7Z\";\r\nexport var mdiCheckBold = \"M9,20.42L2.79,14.21L5.62,11.38L9,14.77L18.88,4.88L21.71,7.71L9,20.42Z\";\r\nexport var mdiCheckCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M10 17L5 12L6.41 10.59L10 14.17L17.59 6.58L19 8L10 17Z\";\r\nexport var mdiCheckCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M16.59 7.58L10 14.17L7.41 11.59L6 13L10 17L18 9L16.59 7.58Z\";\r\nexport var mdiCheckDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9L10,17Z\";\r\nexport var mdiCheckDecagramOutline = \"M23 12L20.6 9.2L20.9 5.5L17.3 4.7L15.4 1.5L12 3L8.6 1.5L6.7 4.7L3.1 5.5L3.4 9.2L1 12L3.4 14.8L3.1 18.5L6.7 19.3L8.6 22.5L12 21L15.4 22.5L17.3 19.3L20.9 18.5L20.6 14.8L23 12M18.7 16.9L16 17.5L14.6 19.9L12 18.8L9.4 19.9L8 17.5L5.3 16.9L5.5 14.1L3.7 12L5.5 9.9L5.3 7.1L8 6.5L9.4 4.1L12 5.2L14.6 4.1L16 6.5L18.7 7.1L18.5 9.9L20.3 12L18.5 14.1L18.7 16.9M16.6 7.6L18 9L10 17L6 13L7.4 11.6L10 14.2L16.6 7.6Z\";\r\nexport var mdiCheckNetwork = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M8.25,10.08L9.41,8.92L11,10.5L14.59,6.92L15.75,8.33L11,13.08L8.25,10.08Z\";\r\nexport var mdiCheckNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M8,10.37L9.24,9.13L10.93,10.83L14.76,7L16,8.5L10.93,13.57L8,10.37Z\";\r\nexport var mdiCheckOutline = \"M19.78,2.2L24,6.42L8.44,22L0,13.55L4.22,9.33L8.44,13.55L19.78,2.2M19.78,5L8.44,16.36L4.22,12.19L2.81,13.55L8.44,19.17L21.19,6.42L19.78,5Z\";\r\nexport var mdiCheckUnderline = \"M21,5L9,17L3.5,11.5L4.91,10.09L9,14.17L19.59,3.59L21,5M3,21V19H21V21H3Z\";\r\nexport var mdiCheckUnderlineCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,18H7V16H17V18M10.3,14L7,10.7L8.4,9.3L10.3,11.2L15.6,5.9L17,7.3L10.3,14Z\";\r\nexport var mdiCheckUnderlineCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M7,15H17V17H7V15M10.3,11.2L8.4,9.3L7,10.7L10.3,14L17,7.3L15.6,5.9L10.3,11.2Z\";\r\nexport var mdiCheckbook = \"M5,14H19V15H5V14M21,17V8H3V17H21M1,5H23V19H1V5M5,10H12V12H5V10Z\";\r\nexport var mdiCheckbookArrowLeft = \"M5 14H15.53C15.25 14.31 15 14.64 14.8 15H5V14M21 8V12.08C21.72 12.2 22.39 12.45 23 12.8V5H1V19H14.08C14.03 18.68 14 18.34 14 18C14 17.66 14.03 17.33 14.08 17H3V8H21M5 10H12V12H5V10M16 18L19 15V17H23V19H19V21L16 18Z\";\r\nexport var mdiCheckbookArrowRight = \"M5 14H15.53C15.25 14.31 15 14.64 14.8 15H5V14M21 8V12.08C21.72 12.2 22.39 12.45 23 12.8V5H1V19H14.08C14.03 18.68 14 18.34 14 18C14 17.66 14.03 17.33 14.08 17H3V8H21M5 10H12V12H5V10M24 18L21 15V17H17V19H21V21L24 18Z\";\r\nexport var mdiCheckboxBlank = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiCheckboxBlankBadge = \"M23 4.5C23 6.43 21.43 8 19.5 8S16 6.43 16 4.5 17.57 1 19.5 1 23 2.57 23 4.5M19.5 10C16.47 10 14 7.53 14 4.5C14 4 14.08 3.5 14.21 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V9.79C20.5 9.92 20 10 19.5 10Z\";\r\nexport var mdiCheckboxBlankBadgeOutline = \"M23 4.5C23 6.43 21.43 8 19.5 8S16 6.43 16 4.5 17.57 1 19.5 1 23 2.57 23 4.5M19.5 10C19.33 10 19.17 10 19 10V19H5V5H14.03C14 4.84 14 4.67 14 4.5C14 4 14.08 3.5 14.21 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V9.79C20.5 9.92 20 10 19.5 10Z\";\r\nexport var mdiCheckboxBlankCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCheckboxBlankCircleOutline = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCheckboxBlankOff = \"M20.84 22.73L19.1 21C19.06 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.94 3 4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 5C21 3.89 20.1 3 19 3H6.2L21 17.8V5Z\";\r\nexport var mdiCheckboxBlankOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.9V19C3 20.11 3.9 21 5 21H19.1L20.84 22.73L22.11 21.46M5 19V6.89L17.11 19H5M8.2 5L6.2 3H19C20.1 3 21 3.89 21 5V17.8L19 15.8V5H8.2Z\";\r\nexport var mdiCheckboxBlankOutline = \"M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M19,5V19H5V5H19Z\";\r\nexport var mdiCheckboxIntermediate = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M17,17H7V7H17V17Z\";\r\nexport var mdiCheckboxIntermediateVariant = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M7 17V7H17\";\r\nexport var mdiCheckboxMarked = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiCheckboxMarkedCircle = \"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCheckboxMarkedCircleAutoOutline = \"M12 22C12.8 22 13.6 21.9 14.3 21.7C13.9 21.2 13.5 20.6 13.3 19.9C12.9 20 12.4 20 12 20C7.6 20 4 16.4 4 12C4 7.6 7.6 4 12 4C12.8 4 13.5 4.1 14.2 4.3L15.8 2.7C14.6 2.3 13.3 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M6.5 11.5L7.9 10.1L11 13.2L19.6 4.6L21 6L11 16L6.5 11.5M19 14L17.74 16.75L15 18L17.74 19.26L19 22L20.25 19.26L23 18L20.25 16.75L19 14Z\";\r\nexport var mdiCheckboxMarkedCircleMinusOutline = \"M14.3 21.7C13.6 21.9 12.8 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C13.3 2 14.6 2.3 15.8 2.7L14.2 4.3C13.5 4.1 12.8 4 12 4C7.6 4 4 7.6 4 12C4 16.4 7.6 20 12 20C12.4 20 12.9 20 13.3 19.9C13.5 20.6 13.9 21.2 14.3 21.7M7.9 10.1L6.5 11.5L11 16L21 6L19.6 4.6L11 13.2L7.9 10.1M15 17V19H23V17H15Z\";\r\nexport var mdiCheckboxMarkedCircleOutline = \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2,4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\";\r\nexport var mdiCheckboxMarkedCirclePlusOutline = \"M14.3 21.7C13.6 21.9 12.8 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2C13.3 2 14.6 2.3 15.8 2.7L14.2 4.3C13.5 4.1 12.8 4 12 4C7.6 4 4 7.6 4 12S7.6 20 12 20C12.4 20 12.9 20 13.3 19.9C13.5 20.6 13.9 21.2 14.3 21.7M7.9 10.1L6.5 11.5L11 16L21 6L19.6 4.6L11 13.2L7.9 10.1M18 14V17H15V19H18V22H20V19H23V17H20V14H18Z\";\r\nexport var mdiCheckboxMarkedOutline = \"M19,19H5V5H15V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V11H19M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\";\r\nexport var mdiCheckboxMultipleBlank = \"M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\r\nexport var mdiCheckboxMultipleBlankCircle = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\r\nexport var mdiCheckboxMultipleBlankCircleOutline = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M14,4C17.32,4 20,6.69 20,10C20,13.32 17.32,16 14,16A6,6 0 0,1 8,10A6,6 0 0,1 14,4M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\r\nexport var mdiCheckboxMultipleBlankOutline = \"M20,16V4H8V16H20M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\r\nexport var mdiCheckboxMultipleMarked = \"M22,16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H20A2,2 0 0,1 22,4V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M13,14L20,7L18.59,5.59L13,11.17L9.91,8.09L8.5,9.5L13,14Z\";\r\nexport var mdiCheckboxMultipleMarkedCircle = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10A8,8 0 0,0 14,2M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82M18.09,6.08L19.5,7.5L13,14L9.21,10.21L10.63,8.79L13,11.17\";\r\nexport var mdiCheckboxMultipleMarkedCircleOutline = \"M14,2A8,8 0 0,0 6,10A8,8 0 0,0 14,18A8,8 0 0,0 22,10H20C20,13.32 17.32,16 14,16A6,6 0 0,1 8,10A6,6 0 0,1 14,4C14.43,4 14.86,4.05 15.27,4.14L16.88,2.54C15.96,2.18 15,2 14,2M20.59,3.58L14,10.17L11.62,7.79L10.21,9.21L14,13L22,5M4.93,5.82C3.08,7.34 2,9.61 2,12A8,8 0 0,0 10,20C10.64,20 11.27,19.92 11.88,19.77C10.12,19.38 8.5,18.5 7.17,17.29C5.22,16.25 4,14.21 4,12C4,11.7 4.03,11.41 4.07,11.11C4.03,10.74 4,10.37 4,10C4,8.56 4.32,7.13 4.93,5.82Z\";\r\nexport var mdiCheckboxMultipleMarkedOutline = \"M20,16V10H22V16A2,2 0 0,1 20,18H8C6.89,18 6,17.1 6,16V4C6,2.89 6.89,2 8,2H16V4H8V16H20M10.91,7.08L14,10.17L20.59,3.58L22,5L14,13L9.5,8.5L10.91,7.08M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16Z\";\r\nexport var mdiCheckboxMultipleOutline = \"M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20V16M16,20V22H4A2,2 0 0,1 2,20V7H4V20H16M18.53,8.06L17.47,7L12.59,11.88L10.47,9.76L9.41,10.82L12.59,14L18.53,8.06Z\";\r\nexport var mdiCheckboxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,5V19H5V5H19M10,17L6,13L7.41,11.58L10,14.17L16.59,7.58L18,9\";\r\nexport var mdiCheckerboard = \"M2 2V22H22V2H2M20 12H16V16H20V20H16V16H12V20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12M16 8V12H12V8H16M12 12V16H8V12H12Z\";\r\nexport var mdiCheckerboardMinus = \"M14 17V19H22V17M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.5C13 21.4 12.6 20.7 12.3 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.4C20.7 12.7 21.4 13.1 22 13.6V2H2Z\";\r\nexport var mdiCheckerboardPlus = \"M19 17H22V19H19V22H17V19H14V17H17V14H19V17M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.54C13 21.42 12.63 20.74 12.36 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.36C20.74 12.63 21.42 13 22 13.54V2H2Z\";\r\nexport var mdiCheckerboardRemove = \"M8 16H12V12H8V16M12 12H16V8H12V12M2 2V22H13.5C13 21.4 12.6 20.7 12.3 20H8V16H4V12H8V8H4V4H8V8H12V4H16V8H20V12.4C20.7 12.7 21.4 13.1 22 13.6V2H2M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\r\nexport var mdiCheese = \"M11 17.5C11 16.67 11.67 16 12.5 16C12.79 16 13.06 16.09 13.29 16.23L20.75 11.93C20.35 11.22 19.9 10.55 19.41 9.9C19.29 9.96 19.15 10 19 10C18.45 10 18 9.55 18 9C18 8.8 18.08 8.62 18.18 8.46C16.45 6.64 14.34 5.2 12 4.25C11.85 5.24 11 6 10 6C8.9 6 8 5.11 8 4C8 3.72 8.06 3.45 8.16 3.21C7.3 3.08 6.41 3 5.5 3C5.33 3 5.17 3 5 3.03V9.05C6.14 9.28 7 10.29 7 11.5S6.14 13.72 5 13.95V21L11 17.54C11 17.53 11 17.5 11 17.5M14 9C15.11 9 16 9.9 16 11S15.11 13 14 13 12 12.11 12 11 12.9 9 14 9M9 16C8.45 16 8 15.55 8 15S8.45 14 9 14 10 14.45 10 15 9.55 16 9 16M9 10C8.45 10 8 9.55 8 9S8.45 8 9 8 10 8.45 10 9 9.55 10 9 10Z\";\r\nexport var mdiCheeseOff = \"M3.5 1.7L2.2 3L6.1 6.9V9C7.2 9.2 8.1 10.2 8.1 11.5S7.2 13.7 6.1 14V21L12.1 17.5C12.1 16.7 12.8 16 13.6 16C13.9 16 14.2 16.1 14.4 16.2L15.1 15.8L20.3 21L21.6 19.7L3.5 1.7M10.1 16C9.6 16 9.1 15.5 9.1 15S9.6 14 10.1 14 11.1 14.5 11.1 15 10.6 16 10.1 16M13.8 9.5L9.9 5.6C10.2 5.9 10.6 6 11.1 6C12.1 6 12.9 5.2 13.1 4.2C15.4 5.2 17.6 6.6 19.3 8.4C19.2 8.6 19.1 8.7 19.1 8.9C19.1 9.4 19.6 9.9 20.1 9.9C20.3 9.9 20.4 9.9 20.5 9.8C21 10.4 21.4 11.1 21.8 11.8L18.3 13.8L16.6 12.1C16.9 11.8 17.1 11.3 17.1 10.8C17.1 9.7 16.2 8.8 15.1 8.8C14.6 9 14.1 9.2 13.8 9.5M9.5 5.2L7.3 3C8 3 8.6 3.1 9.2 3.2C9.1 3.5 9.1 3.7 9.1 4C9.1 4.4 9.2 4.9 9.5 5.2Z\";\r\nexport var mdiChefHat = \"M12.5,1.5C10.73,1.5 9.17,2.67 8.67,4.37C8.14,4.13 7.58,4 7,4A4,4 0 0,0 3,8C3,9.82 4.24,11.41 6,11.87V19H19V11.87C20.76,11.41 22,9.82 22,8A4,4 0 0,0 18,4C17.42,4 16.86,4.13 16.33,4.37C15.83,2.67 14.27,1.5 12.5,1.5M12,10.5H13V17.5H12V10.5M9,12.5H10V17.5H9V12.5M15,12.5H16V17.5H15V12.5M6,20V21A1,1 0 0,0 7,22H18A1,1 0 0,0 19,21V20H6Z\";\r\nexport var mdiChemicalWeapon = \"M11,7.83C9.83,7.42 9,6.3 9,5A3,3 0 0,1 12,2A3,3 0 0,1 15,5C15,6.31 14.16,7.42 13,7.83V10.64C12.68,10.55 12.35,10.5 12,10.5C11.65,10.5 11.32,10.55 11,10.64V7.83M18.3,21.1C17.16,20.45 16.62,19.18 16.84,17.96L14.4,16.55C14.88,16.09 15.24,15.5 15.4,14.82L17.84,16.23C18.78,15.42 20.16,15.26 21.29,15.91C22.73,16.74 23.22,18.57 22.39,20C21.56,21.44 19.73,21.93 18.3,21.1M2.7,15.9C3.83,15.25 5.21,15.42 6.15,16.22L8.6,14.81C8.76,15.5 9.11,16.08 9.6,16.54L7.15,17.95C7.38,19.17 6.83,20.45 5.7,21.1C4.26,21.93 2.43,21.44 1.6,20C0.77,18.57 1.26,16.73 2.7,15.9M14,14A2,2 0 0,1 12,16C10.89,16 10,15.1 10,14A2,2 0 0,1 12,12C13.11,12 14,12.9 14,14M17,14L16.97,14.57L15.5,13.71C15.4,12.64 14.83,11.71 14,11.12V9.41C15.77,10.19 17,11.95 17,14M14.97,18.03C14.14,18.64 13.11,19 12,19C10.89,19 9.86,18.64 9.03,18L10.5,17.17C10.96,17.38 11.47,17.5 12,17.5C12.53,17.5 13.03,17.38 13.5,17.17L14.97,18.03M7.03,14.56L7,14C7,11.95 8.23,10.19 10,9.42V11.13C9.17,11.71 8.6,12.64 8.5,13.7L7.03,14.56Z\";\r\nexport var mdiChessBishop = \"M19,22H5V20H19V22M17.16,8.26C18.22,9.63 18.86,11.28 19,13C19,15.76 15.87,18 12,18C8.13,18 5,15.76 5,13C5,10.62 7.33,6.39 10.46,5.27C10.16,4.91 10,4.46 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.46 13.84,4.91 13.54,5.27C14.4,5.6 15.18,6.1 15.84,6.74L11.29,11.29L12.71,12.71L17.16,8.26Z\";\r\nexport var mdiChessKing = \"M19,22H5V20H19V22M17,10C15.58,10 14.26,10.77 13.55,12H13V7H16V5H13V2H11V5H8V7H11V12H10.45C9.35,10.09 6.9,9.43 5,10.54C3.07,11.64 2.42,14.09 3.5,16C4.24,17.24 5.57,18 7,18H17A4,4 0 0,0 21,14A4,4 0 0,0 17,10Z\";\r\nexport var mdiChessKnight = \"M19,22H5V20H19V22M13,2V2C11.75,2 10.58,2.62 9.89,3.66L7,8L9,10L11.06,8.63C11.5,8.32 12.14,8.44 12.45,8.9C12.47,8.93 12.5,8.96 12.5,9V9C12.8,9.59 12.69,10.3 12.22,10.77L7.42,15.57C6.87,16.13 6.87,17.03 7.43,17.58C7.69,17.84 8.05,18 8.42,18H17V6A4,4 0 0,0 13,2Z\";\r\nexport var mdiChessPawn = \"M19 22H5V20H19V22M16 18H8L10.18 10H8V8H10.72L10.79 7.74C10.1 7.44 9.55 6.89 9.25 6.2C8.58 4.68 9.27 2.91 10.79 2.25C12.31 1.58 14.08 2.27 14.74 3.79C15.41 5.31 14.72 7.07 13.2 7.74L13.27 8H16V10H13.82L16 18Z\";\r\nexport var mdiChessQueen = \"M18,3A2,2 0 0,1 20,5C20,5.81 19.5,6.5 18.83,6.82L17,13.15V18H7V13.15L5.17,6.82C4.5,6.5 4,5.81 4,5A2,2 0 0,1 6,3A2,2 0 0,1 8,5C8,5.5 7.82,5.95 7.5,6.3L10.3,9.35L10.83,5.62C10.33,5.26 10,4.67 10,4A2,2 0 0,1 12,2A2,2 0 0,1 14,4C14,4.67 13.67,5.26 13.17,5.62L13.7,9.35L16.47,6.29C16.18,5.94 16,5.5 16,5A2,2 0 0,1 18,3M5,20H19V22H5V20Z\";\r\nexport var mdiChessRook = \"M5,20H19V22H5V20M17,2V5H15V2H13V5H11V2H9V5H7V2H5V8H7V18H17V8H19V2H17Z\";\r\nexport var mdiChevronDoubleDown = \"M16.59,5.59L18,7L12,13L6,7L7.41,5.59L12,10.17L16.59,5.59M16.59,11.59L18,13L12,19L6,13L7.41,11.59L12,16.17L16.59,11.59Z\";\r\nexport var mdiChevronDoubleLeft = \"M18.41,7.41L17,6L11,12L17,18L18.41,16.59L13.83,12L18.41,7.41M12.41,7.41L11,6L5,12L11,18L12.41,16.59L7.83,12L12.41,7.41Z\";\r\nexport var mdiChevronDoubleRight = \"M5.59,7.41L7,6L13,12L7,18L5.59,16.59L10.17,12L5.59,7.41M11.59,7.41L13,6L19,12L13,18L11.59,16.59L16.17,12L11.59,7.41Z\";\r\nexport var mdiChevronDoubleUp = \"M7.41,18.41L6,17L12,11L18,17L16.59,18.41L12,13.83L7.41,18.41M7.41,12.41L6,11L12,5L18,11L16.59,12.41L12,7.83L7.41,12.41Z\";\r\nexport var mdiChevronDown = \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\";\r\nexport var mdiChevronDownBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M12,15.71L6,9.71L7.41,8.29L12,12.88L16.59,8.29L18,9.71L12,15.71Z\";\r\nexport var mdiChevronDownBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M7.41,8.29L12,12.88L16.59,8.29L18,9.71L12,15.71L6,9.71L7.41,8.29Z\";\r\nexport var mdiChevronDownCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z\";\r\nexport var mdiChevronDownCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z\";\r\nexport var mdiChevronLeft = \"M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z\";\r\nexport var mdiChevronLeftBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M15.71,16.59L14.29,18L8.29,12L14.29,6L15.71,7.41L11.12,12L15.71,16.59Z\";\r\nexport var mdiChevronLeftBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M15.71,7.41L11.12,12L15.71,16.59L14.29,18L8.29,12L14.29,6L15.71,7.41Z\";\r\nexport var mdiChevronLeftCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.4,16.6L10.8,12L15.4,7.4L14,6L8,12L14,18L15.4,16.6Z\";\r\nexport var mdiChevronLeftCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M15.4,16.6L10.8,12L15.4,7.4L14,6L8,12L14,18L15.4,16.6Z\";\r\nexport var mdiChevronRight = \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\";\r\nexport var mdiChevronRightBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M9.71,18L8.29,16.59L12.88,12L8.29,7.41L9.71,6L15.71,12L9.71,18Z\";\r\nexport var mdiChevronRightBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M8.29,16.59L12.88,12L8.29,7.41L9.71,6L15.71,12L9.71,18L8.29,16.59Z\";\r\nexport var mdiChevronRightCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,18L16,12L10,6L8.6,7.4L13.2,12L8.6,16.6L10,18Z\";\r\nexport var mdiChevronRightCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M8.6,16.6L13.2,12L8.6,7.4L10,6L16,12L10,18L8.6,16.6Z\";\r\nexport var mdiChevronTripleDown = \"M7.41,14.58L12,19.17L16.59,14.58L18,16L12,22L6,16L7.41,14.58M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58M7.41,2.58L12,7.17L16.59,2.58L18,4L12,10L6,4L7.41,2.58Z\";\r\nexport var mdiChevronTripleLeft = \"M9.42,7.41L4.83,12L9.42,16.59L8,18L2,12L8,6L9.42,7.41M15.42,7.41L10.83,12L15.42,16.59L14,18L8,12L14,6L15.42,7.41M21.42,7.41L16.83,12L21.42,16.59L20,18L14,12L20,6L21.42,7.41Z\";\r\nexport var mdiChevronTripleRight = \"M14.58,16.59L19.17,12L14.58,7.41L16,6L22,12L16,18L14.58,16.59M8.58,16.59L13.17,12L8.58,7.41L10,6L16,12L10,18L8.58,16.59M2.58,16.59L7.17,12L2.58,7.41L4,6L10,12L4,18L2.58,16.59Z\";\r\nexport var mdiChevronTripleUp = \"M16.59,9.42L12,4.83L7.41,9.42L6,8L12,2L18,8L16.59,9.42M16.59,15.42L12,10.83L7.41,15.42L6,14L12,8L18,14L16.59,15.42M16.59,21.42L12,16.83L7.41,21.42L6,20L12,14L18,20L16.59,21.42Z\";\r\nexport var mdiChevronUp = \"M7.41,15.41L12,10.83L16.59,15.41L18,14L12,8L6,14L7.41,15.41Z\";\r\nexport var mdiChevronUpBox = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M16.59,15.71L12,11.12L7.41,15.71L6,14.29L12,8.29L18,14.29L16.59,15.71Z\";\r\nexport var mdiChevronUpBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M16.59,15.71L12,11.12L7.41,15.71L6,14.29L12,8.29L18,14.29L16.59,15.71Z\";\r\nexport var mdiChevronUpCircle = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7.4,15.4L12,10.8L16.6,15.4L18,14L12,8L6,14L7.4,15.4Z\";\r\nexport var mdiChevronUpCircleOutline = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M7.4,15.4L12,10.8L16.6,15.4L18,14L12,8L6,14L7.4,15.4Z\";\r\nexport var mdiChiliAlert = \"M9.25 7.5L7.73 6.63C8.26 5.7 9.03 5 9.94 4.69C9.8 4.29 9.44 4 9 4V2C10.54 2 11.79 3.16 11.97 4.65C12.91 4.94 13.72 5.66 14.27 6.63L12.75 7.5L11 6.5L9.25 7.5M14 8.28L12.75 9L11 8L9.25 9L8 8.28C7.4 8.63 7 9.27 7 10V11C7 20 15 22 15 22V10C15 9.27 14.6 8.63 14 8.28M17 7V13H19V7H17M17 17H19V15H17V17Z\";\r\nexport var mdiChiliAlertOutline = \"M14 8.28L12.75 9L11 8L9.25 9L8 8.28C7.4 8.63 7 9.27 7 10V11C7 20 15 22 15 22V10C15 9.27 14.6 8.63 14 8.28M13 18.87C11.23 17.69 9.17 15.44 9 11.43L11 10.3L13 11.45V18.87M9.25 7.5L7.73 6.63C8.26 5.7 9.03 5 9.94 4.69C9.8 4.29 9.44 4 9 4V2C10.54 2 11.79 3.16 11.97 4.65C12.91 4.94 13.72 5.66 14.27 6.63L12.75 7.5L11 6.5L9.25 7.5M19 7V13H17V7H19M17 15H19V17H17V15Z\";\r\nexport var mdiChiliHot = \"M10.43 7.32L8.86 6.42C9.38 5.6 10.11 5 10.94 4.7C10.81 4.3 10.45 4 10 4V2C10.77 2 11.47 2.29 12 2.77V4C12.45 4 12.81 4.3 12.94 4.7C11.83 5.08 10.93 6.05 10.43 7.32M10 11C10 10.23 10.23 9.5 10.6 8.91L9.26 8.15C8.5 8.44 8 9.16 8 10V11C8 18.05 12.9 20.8 15.03 21.66C12.41 19.62 10 16.2 10 11M6.43 7.32L4.86 6.42C5.38 5.6 6.11 5 6.94 4.7C6.81 4.3 6.45 4 6 4V2C6.77 2 7.47 2.29 8 2.77V4C8.45 4 8.81 4.3 8.94 4.7C7.83 5.08 6.93 6.05 6.43 7.32M6 11C6 10.23 6.23 9.5 6.6 8.91L5.26 8.15C4.5 8.44 4 9.16 4 10V11C4 18.05 8.9 20.8 11.03 21.66C8.41 19.62 6 16.2 6 11M19 8.28L17.75 9L16 8L14.25 9L13 8.28C12.4 8.63 12 9.27 12 10V11C12 20 20 22 20 22V10C20 9.27 19.6 8.63 19 8.28M12.73 6.63L14.25 7.5L16 6.5L17.75 7.5L19.27 6.63C18.72 5.66 17.91 4.94 16.97 4.65C16.79 3.16 15.54 2 14 2V4C14.44 4 14.8 4.29 14.94 4.69C14.03 5 13.26 5.7 12.73 6.63Z\";\r\nexport var mdiChiliHotOutline = \"M10.94 4.7C10.81 4.3 10.45 4 10 4V2C10.77 2 11.47 2.29 12 2.77V4C12.45 4 12.81 4.3 12.94 4.7C11.83 5.08 10.93 6.05 10.43 7.32L8.86 6.42C9.38 5.6 10.11 5 10.94 4.7M10 11C10 10.23 10.23 9.5 10.6 8.91L9.26 8.15C8.5 8.44 8 9.16 8 10V11C8 18.05 12.9 20.8 15.03 21.66C12.41 19.62 10 16.2 10 11M8.94 4.7C8.81 4.3 8.45 4 8 4V2.77C7.47 2.29 6.77 2 6 2V4C6.45 4 6.81 4.3 6.94 4.7C6.11 5 5.38 5.6 4.86 6.42L6.43 7.32C6.93 6.05 7.83 5.08 8.94 4.7M6 11C6 10.23 6.23 9.5 6.6 8.91L5.26 8.15C4.5 8.44 4 9.16 4 10V11C4 18.05 8.9 20.8 11.03 21.66C8.41 19.62 6 16.2 6 11M20 10V22C20 22 12 20 12 11V10C12 9.27 12.4 8.63 13 8.28L14.25 9L16 8L17.75 9L19 8.28C19.6 8.63 20 9.27 20 10M18 18.87V11.45L16 10.3L14 11.43C14.17 15.44 16.23 17.69 18 18.87M12.73 6.63L14.25 7.5L16 6.5L17.75 7.5L19.27 6.63C18.72 5.66 17.91 4.94 16.97 4.65C16.79 3.16 15.54 2 14 2V4C14.44 4 14.8 4.29 14.94 4.69C14.03 5 13.26 5.7 12.73 6.63Z\";\r\nexport var mdiChiliMedium = \"M8.43 7.32L6.86 6.42C7.38 5.6 8.11 5 8.94 4.7C8.81 4.3 8.45 4 8 4V2C8.77 2 9.47 2.29 10 2.77V4C10.45 4 10.81 4.3 10.94 4.7C9.83 5.08 8.93 6.05 8.43 7.32M8 11C8 10.23 8.23 9.5 8.6 8.91L7.26 8.15C6.5 8.44 6 9.16 6 10V11C6 18.05 10.9 20.8 13.03 21.66C10.41 19.62 8 16.2 8 11M17 8.28L15.75 9L14 8L12.25 9L11 8.28C10.4 8.63 10 9.27 10 10V11C10 20 18 22 18 22V10C18 9.27 17.6 8.63 17 8.28M10.73 6.63L12.25 7.5L14 6.5L15.75 7.5L17.27 6.63C16.72 5.66 15.91 4.94 14.97 4.65C14.79 3.16 13.54 2 12 2V4C12.44 4 12.8 4.29 12.94 4.69C12.03 5 11.26 5.7 10.73 6.63Z\";\r\nexport var mdiChiliMediumOutline = \"M8.43 7.32L6.86 6.42C7.38 5.6 8.11 5 8.94 4.7C8.81 4.3 8.45 4 8 4V2C8.77 2 9.47 2.29 10 2.77V4C10.45 4 10.81 4.3 10.94 4.7C9.83 5.08 8.93 6.05 8.43 7.32M8 11C8 10.23 8.23 9.5 8.6 8.91L7.26 8.15C6.5 8.44 6 9.16 6 10V11C6 18.05 10.9 20.8 13.03 21.66C10.41 19.62 8 16.2 8 11M18 10V22C18 22 10 20 10 11V10C10 9.27 10.4 8.63 11 8.28L12.25 9L14 8L15.75 9L17 8.28C17.6 8.63 18 9.27 18 10M16 18.87V11.45L14 10.3L12 11.43C12.17 15.44 14.23 17.69 16 18.87M10.73 6.63L12.25 7.5L14 6.5L15.75 7.5L17.27 6.63C16.72 5.66 15.91 4.94 14.97 4.65C14.79 3.16 13.54 2 12 2V4C12.44 4 12.8 4.29 12.94 4.69C12.03 5 11.26 5.7 10.73 6.63Z\";\r\nexport var mdiChiliMild = \"M16 10V22C16 22 8 20 8 11V10C8 9.27 8.4 8.63 9 8.28L10.25 9L12 8L13.75 9L15 8.28C15.6 8.63 16 9.27 16 10M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.03 5 9.26 5.7 8.73 6.63L10.25 7.5L12 6.5Z\";\r\nexport var mdiChiliMildOutline = \"M10.25 7.5L8.73 6.63C9.26 5.7 10.03 5 10.94 4.69C10.8 4.29 10.44 4 10 4V2C11.54 2 12.79 3.16 12.97 4.65C13.91 4.94 14.72 5.66 15.27 6.63L13.75 7.5L12 6.5L10.25 7.5M16 10V22C16 22 8 20 8 11V10C8 9.27 8.4 8.63 9 8.28L10.25 9L12 8L13.75 9L15 8.28C15.6 8.63 16 9.27 16 10M14 11.45L12 10.3L10 11.43C10.17 15.44 12.23 17.69 14 18.87V11.45Z\";\r\nexport var mdiChiliOff = \"M15 8.28C15.6 8.63 16 9.27 16 10V12.8L11.5 8.29L12 8L13.75 9L15 8.28M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.26 4.92 9.66 5.37 9.17 5.97L10.54 7.34L12 6.5M2.39 1.73L1.11 3L8 9.9C8 9.94 8 9.97 8 10V11C8 20 16 22 16 22V17.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiChiliOffOutline = \"M15 8.28C15.6 8.63 16 9.27 16 10V12.8L11.5 8.29L12 8L13.75 9L15 8.28M12 6.5L13.75 7.5L15.27 6.63C14.72 5.66 13.91 4.94 12.97 4.65C12.79 3.16 11.54 2 10 2V4C10.44 4 10.8 4.29 10.94 4.69C10.26 4.92 9.66 5.37 9.17 5.97L10.54 7.34L12 6.5M22.11 21.46L20.84 22.73L16 17.89V22C16 22 8 20 8 11V10C8 9.97 8 9.94 8 9.9L1.11 3L2.39 1.73L22.11 21.46M14 15.89L10.07 11.96C10.38 15.63 12.31 17.74 14 18.87V15.89Z\";\r\nexport var mdiChip = \"M6,4H18V5H21V7H18V9H21V11H18V13H21V15H18V17H21V19H18V20H6V19H3V17H6V15H3V13H6V11H3V9H6V7H3V5H6V4M11,15V18H12V15H11M13,15V18H14V15H13M15,15V18H16V15H15Z\";\r\nexport var mdiChurch = \"M18 12.22V9L13 6.5V5H15V3H13V1H11V3H9V5H11V6.5L6 9V12.22L2 14V22H10V19C10 17.9 10.9 17 12 17S14 17.9 14 19V22H22V14L18 12.22M12 13.5C11.17 13.5 10.5 12.83 10.5 12S11.17 10.5 12 10.5 13.5 11.17 13.5 12 12.83 13.5 12 13.5Z\";\r\nexport var mdiChurchOutline = \"M18 12.22V9L13 6.5V5H15V3H13V1H11V3H9V5H11V6.5L6 9V12.22L2 14V22H11V18C11 17.45 11.45 17 12 17C12.55 17 13 17.45 13 18V22H22V14L18 12.22M20 20H15V17.96C15 16.27 13.65 14.9 12 14.9C10.35 14.9 9 16.27 9 17.96V20H4V15.21L8 13.4V10.05L12 8L16 10.04V13.39L20 15.2V20M12 10.5C12.83 10.5 13.5 11.17 13.5 12C13.5 12.83 12.83 13.5 12 13.5C11.17 13.5 10.5 12.83 10.5 12C10.5 11.17 11.17 10.5 12 10.5Z\";\r\nexport var mdiCigar = \"M16 10.2H14.5A2 2 0 0 1 12.65 8.2A1.78 1.78 0 0 1 14.5 6.45V5A3.35 3.35 0 1 0 14.5 11.7H16A1.93 1.93 0 0 1 18 13.7V15H19.5V13.36A3.31 3.31 0 0 0 16 10.2M18.82 7.73A3.34 3.34 0 0 0 16.5 2V3.5A1.85 1.85 0 1 1 16.5 7.2V8.7A4 4 0 0 1 20.5 12.77V15H22V12.76A5.55 5.55 0 0 0 18.85 7.73M18 16V22H19.5V16M20.5 16V22H22V16M12 16V17.27A2 2 0 0 1 12 20.73V22H17V16M2.88 16.88A3 3 0 0 0 5 22H10V20.73A2 2 0 0 1 10 17.27V16H5A3 3 0 0 0 2.88 16.88M12 19A1 1 0 1 1 11 18A1 1 0 0 1 12 19Z\";\r\nexport var mdiCigarOff = \"M20.84 22.73L18.11 20H18V19.89L17 18.89V20H12V18.73C12.3 18.56 12.55 18.31 12.73 18C13.28 17.05 12.96 15.83 12 15.27V14H12.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M14.5 9.7H16C17.07 9.66 17.96 10.5 18 11.56C18 11.61 18 11.65 18 11.7V13H19.5V11.36C19.42 9.53 17.88 8.12 16.05 8.2L16 8.2H14.5C13.45 8.12 12.65 7.25 12.65 6.2C12.67 5.22 13.5 4.43 14.46 4.45L14.5 4.45V3C12.65 3 11.15 4.5 11.15 6.35S12.65 9.7 14.5 9.7M20.5 10.7L20.5 10.77V13H22V10.76C22 8.62 20.78 6.66 18.85 5.73H18.82C19.58 5 19.9 4 19.8 3H18.32C18.34 3.11 18.35 3.23 18.35 3.35C18.35 4.37 17.5 5.2 16.5 5.2H16.5V6.7C18.71 6.7 20.5 8.5 20.5 10.7M9.27 16C9.45 15.7 9.7 15.45 10 15.27V14H5C4.21 14 3.44 14.32 2.88 14.88C1.71 16.05 1.71 17.95 2.88 19.12C3.45 19.68 4.21 20 5 20H10V18.73C9.05 18.18 8.72 16.95 9.27 16M18 14.8L19.5 16.3V14H18V14.8M20.5 17.3L22 18.8V14H20.5V17.3M11 16C10.45 16 10 16.45 10 17S10.45 18 11 18 12 17.55 12 17 11.55 16 11 16Z\";\r\nexport var mdiCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCircleBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12 14.21 16 12 16Z\";\r\nexport var mdiCircleBoxOutline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 8C9.79 8 8 9.79 8 12S9.79 16 12 16 16 14.21 16 12 14.21 8 12 8Z\";\r\nexport var mdiCircleDouble = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8Z\";\r\nexport var mdiCircleEditOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12H20A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4V2M18.78,3C18.61,3 18.43,3.07 18.3,3.2L17.08,4.41L19.58,6.91L20.8,5.7C21.06,5.44 21.06,5 20.8,4.75L19.25,3.2C19.12,3.07 18.95,3 18.78,3M16.37,5.12L9,12.5V15H11.5L18.87,7.62L16.37,5.12Z\";\r\nexport var mdiCircleExpand = \"M16,4L20,8V4M20,16L16,20H20M8,20L4,16V20M4,8L8,4H4M16.95,7.05C14.22,4.32 9.78,4.32 7.05,7.05C4.32,9.78 4.32,14.22 7.05,16.95C9.78,19.68 14.22,19.68 16.95,16.95C19.68,14.22 19.68,9.79 16.95,7.05M15.85,15.85C13.72,18 10.28,18 8.15,15.85C6,13.72 6,10.28 8.15,8.15C10.28,6 13.72,6 15.85,8.15C18,10.28 18,13.72 15.85,15.85Z\";\r\nexport var mdiCircleHalf = \"M12 2A10 10 0 0 0 2 12A10 10 0 0 0 12 22V2Z\";\r\nexport var mdiCircleHalfFull = \"M12 2A10 10 0 0 0 2 12A10 10 0 0 0 12 22A10 10 0 0 0 22 12A10 10 0 0 0 12 2M12 4A8 8 0 0 1 20 12A8 8 0 0 1 12 20V4Z\";\r\nexport var mdiCircleMedium = \"M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z\";\r\nexport var mdiCircleMultiple = \"M15 4A8 8 0 1 1 7 12A8 8 0 0 1 15 4M3 12A6 6 0 0 0 7 17.65V19.74A8 8 0 0 1 7 4.26V6.35A6 6 0 0 0 3 12Z\";\r\nexport var mdiCircleMultipleOutline = \"M15,4A8,8 0 0,1 23,12A8,8 0 0,1 15,20A8,8 0 0,1 7,12A8,8 0 0,1 15,4M15,18A6,6 0 0,0 21,12A6,6 0 0,0 15,6A6,6 0 0,0 9,12A6,6 0 0,0 15,18M3,12C3,14.61 4.67,16.83 7,17.65V19.74C3.55,18.85 1,15.73 1,12C1,8.27 3.55,5.15 7,4.26V6.35C4.67,7.17 3,9.39 3,12Z\";\r\nexport var mdiCircleOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.78 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M12 20C7.58 20 4 16.42 4 12C4 10.27 4.56 8.68 5.5 7.38L16.62 18.5C15.32 19.45 13.73 20 12 20M8.17 4.97L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19.03 15.83C19.65 14.69 20 13.39 20 12C20 7.58 16.42 4 12 4C10.61 4 9.31 4.35 8.17 4.97Z\";\r\nexport var mdiCircleOpacity = \"M18 10V8H20V10H18M18 12V10H16V12H18M18 8V6H16V8H18M16 2.84V4H18C17.37 3.54 16.71 3.15 16 2.84M18 4V6H20C19.42 5.25 18.75 4.58 18 4M20 6V8H21.16C20.85 7.29 20.46 6.63 20 6M22 12C22 11.32 21.93 10.65 21.8 10H20V12H22M16 6V4H14V6H16M16 16H18V14H16V16M18 18H20L20 18V16H18V18M16 20H18L18 20V18H16V20M14 21.8C14.7 21.66 15.36 21.44 16 21.16V20H14V21.8M18 14H20V12H18V14M16 8H14V10H16V8M20 16H21.16C21.44 15.36 21.66 14.7 21.8 14H20V16M16 12H14V14H16V12M12 18V16H14V14H12V12H14V10H12V8H14V6H12V4H14V2.2C13.35 2.07 12.69 2 12 2C6.5 2 2 6.5 2 12S6.5 22 12 22V20H14V18H12M14 18H16V16H14V18Z\";\r\nexport var mdiCircleOutline = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCircleSlice1 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C13.93 5 15.68 5.78 16.95 7.05L12 12V5Z\";\r\nexport var mdiCircleSlice2 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12H12V5Z\";\r\nexport var mdiCircleSlice3 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 13.93 18.22 15.68 16.95 16.95L12 12V5Z\";\r\nexport var mdiCircleSlice4 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19V5Z\";\r\nexport var mdiCircleSlice5 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C10.07 19 8.32 18.22 7.05 16.95L12 12V5Z\";\r\nexport var mdiCircleSlice6 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12H12V5Z\";\r\nexport var mdiCircleSlice7 = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12C5 10.07 5.78 8.32 7.05 7.05L12 12V5Z\";\r\nexport var mdiCircleSlice8 = \"M12 5C15.87 5 19 8.13 19 12C19 15.87 15.87 19 12 19C8.13 19 5 15.87 5 12C5 8.13 8.13 5 12 5M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z\";\r\nexport var mdiCircleSmall = \"M12,10A2,2 0 0,0 10,12C10,13.11 10.9,14 12,14C13.11,14 14,13.11 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiCircularSaw = \"M13,11A1,1 0 0,1 14,12A1,1 0 0,1 13,13A1,1 0 0,1 12,12A1,1 0 0,1 13,11M7.86,6.25C9.14,4.87 10.97,4 13,4C16.5,4 19.44,6.61 19.93,10H22V12H16A3,3 0 0,0 13,9A3,3 0 0,0 10,12H2V10H2.05C2.25,7.73 3.14,5.66 4.5,4L7.86,6.25M6.73,7.89L5.06,6.77C4.53,7.75 4.18,8.84 4.06,10H6.07C6.18,9.25 6.4,8.54 6.73,7.89M7.4,15.4L6,14H11.79C12.03,14.42 12.5,14.7 13,14.7C13.5,14.7 13.97,14.42 14.21,14H20V15.4C18.39,14.42 18.46,15.75 18.46,15.75V17.71L16.5,19.67C16,17.92 15.1,18.9 15.1,18.9L13.7,20.3H10.9C11.88,18.69 10.55,18.76 10.55,18.76H8.59L6.63,16.8C8.38,16.31 7.4,15.4 7.4,15.4Z\";\r\nexport var mdiCity = \"M19,15H17V13H19M19,19H17V17H19M13,7H11V5H13M13,11H11V9H13M13,15H11V13H13M13,19H11V17H13M7,11H5V9H7M7,15H5V13H7M7,19H5V17H7M15,11V5L12,2L9,5V7H3V21H21V11H15Z\";\r\nexport var mdiCitySwitch = \"M21 15V9H15V3L12 0L9 3V5H3V15H21M19 13H17V11H19V13M11 5V3H13V5H11M11 9V7H13V9H11M11 13V11H13V13H11M7 9H5V7H7V9M7 13H5V11H7V13M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17Z\";\r\nexport var mdiCityVariant = \"M19,9V7A2,2 0 0,0 17,5H16V2H14V5H13A2,2 0 0,0 11,7V9A2,2 0 0,0 9,11V12H5A2,2 0 0,0 3,14V22H6V20H8V22H12V20H14V22H16V20H18V22H21V11A2,2 0 0,0 19,9M8,18H6V16H8V18M14,18H12V16H14V18M14,14H12V12H14V14M13,9V7H17V9H13M18,18H16V16H18V18M18,14H16V12H18V14Z\";\r\nexport var mdiCityVariantOutline = \"M15,23H13V21H15V23M19,21H17V23H19V21M15,17H13V19H15V17M7,21H5V23H7V21M7,17H5V19H7V17M19,17H17V19H19V17M15,13H13V15H15V13M19,13H17V15H19V13M21,9A2,2 0 0,1 23,11V23H21V11H11V23H9V15H3V23H1V15A2,2 0 0,1 3,13H9V11A2,2 0 0,1 11,9V7A2,2 0 0,1 13,5H15V1H17V5H19A2,2 0 0,1 21,7V9M19,9V7H13V9H19Z\";\r\nexport var mdiClipboard = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\";\r\nexport var mdiClipboardAccount = \"M18,19H6V17.6C6,15.6 10,14.5 12,14.5C14,14.5 18,15.6 18,17.6M12,7A3,3 0 0,1 15,10A3,3 0 0,1 12,13A3,3 0 0,1 9,10A3,3 0 0,1 12,7M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardAccountOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M12,9A2,2 0 0,1 14,11A2,2 0 0,1 12,13A2,2 0 0,1 10,11A2,2 0 0,1 12,9M8,17V16C8,14.9 9.79,14 12,14C14.21,14 16,14.9 16,16V17H8Z\";\r\nexport var mdiClipboardAlert = \"M12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5M13,14H11V8H13M13,18H11V16H13M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardAlertOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M11,9H13V13.5H11V9M11,15H13V17H11V15Z\";\r\nexport var mdiClipboardArrowDown = \"M12,18L7,13H10V9H14V13H17M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardArrowDownOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M12,18L7,13H10V9H14V13H17L12,18Z\";\r\nexport var mdiClipboardArrowLeft = \"M16,15H12V18L7,13L12,8V11H16M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardArrowLeftOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M7,13L12,18V15H16V11H12V8L7,13Z\";\r\nexport var mdiClipboardArrowRight = \"M17,13L12,18V15H8V11H12V8M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardArrowRightOutline = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7M16.91,13L11.91,18V15H7.91V11H11.91V8L16.91,13Z\";\r\nexport var mdiClipboardArrowUp = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,8L7,13H10V17H14V13H17L12,8M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3Z\";\r\nexport var mdiClipboardArrowUpOutline = \"M12,8L17,13H14V17H10V13H7L12,8M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.6,1.84 10.7,1 12,1C13.3,1 14.4,1.84 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M7,7V5H5V19H19V5H17V7H7Z\";\r\nexport var mdiClipboardCheck = \"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardCheckMultiple = \"M4 7H2V21C2 22.1 2.9 23 4 23H18V21H4M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3M12.3 15.1L9 11.8L10.4 10.4L12.3 12.3L17.6 7L19 8.4\";\r\nexport var mdiClipboardCheckMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M12.8 15.35L9.5 12.05L10.9 10.65L12.8 12.55L17.1 8.25L18.5 9.65L12.8 15.35M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7H10Z\";\r\nexport var mdiClipboardCheckOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M7.5,13.5L9,12L11,14L15.5,9.5L17,11L11,17L7.5,13.5Z\";\r\nexport var mdiClipboardClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C14.09 23 12.37 22.24 11.11 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1S14.4 1.84 14.82 3H19C20.11 3 21 3.9 21 5V11.11C22.24 12.37 23 14.09 23 16M11 4C11 4.55 11.45 5 12 5S13 4.55 13 4 12.55 3 12 3 11 3.45 11 4M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiClipboardClockOutline = \"M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M5 19V5H7V7H17V5H19V9.68C18.09 9.25 17.08 9 16 9C12.13 9 9 12.13 9 16C9 17.08 9.25 18.09 9.68 19H5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiClipboardEdit = \"M21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13M19.07 13.88L21.12 15.93L15.06 22H13V19.94L19.07 13.88M19 3C20.1 3 21 3.9 21 5V9L11 19V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\r\nexport var mdiClipboardEditOutline = \"M21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13M19.07 13.88L21.12 15.93L15.06 22H13V19.94L19.07 13.88M11 19L9 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19C20.1 3 21 3.9 21 5V9L19 11V5H17V7H7V5H5V19H11M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\r\nexport var mdiClipboardFile = \"M19 3C20.1 3 21 3.9 21 5V9.17L19.83 8H15C12.79 8 11 9.79 11 12V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3M15 23C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14V21C23 22.11 22.11 23 21 23H15M21 14.83L18.17 12H18V15H21V14.83Z\";\r\nexport var mdiClipboardFileOutline = \"M15 23C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14V21C23 22.11 22.11 23 21 23H15M15 21H21V14.83L18.17 12H15V21M19 3C20.1 3 21 3.9 21 5V9.17L19.83 8H19V5H17V7H7V5H5V19H11V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H9.18C9.6 1.84 10.7 1 12 1C13.3 1 14.4 1.84 14.82 3H19M12 3C11.45 3 11 3.45 11 4C11 4.55 11.45 5 12 5C12.55 5 13 4.55 13 4C13 3.45 12.55 3 12 3Z\";\r\nexport var mdiClipboardFlow = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M15,19L11,15H14V8H16V15H19L15,19M10,16H8V9H5L9,5L13,9H10V16\";\r\nexport var mdiClipboardFlowOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M10 16H8V11H6L9 8L12 11H10V16M14 10H16V15H18L15 18L12 15H14V10Z\";\r\nexport var mdiClipboardList = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 8H9V12H8V9H7V8M10 17V18H7V17.08L9 15H7V14H9.25C9.66 14 10 14.34 10 14.75C10 14.95 9.92 15.14 9.79 15.27L8.12 17H10M11 4C11 3.45 11.45 3 12 3S13 3.45 13 4 12.55 5 12 5 11 4.55 11 4M17 17H12V15H17V17M17 11H12V9H17V11Z\";\r\nexport var mdiClipboardListOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M12 17V15H17V17H12M12 11V9H17V11H12M8 12V9H7V8H9V12H8M9.25 14C9.66 14 10 14.34 10 14.75C10 14.95 9.92 15.14 9.79 15.27L8.12 17H10V18H7V17.08L9 15H7V14H9.25\";\r\nexport var mdiClipboardMinus = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M16 14H8V12H16V14Z\";\r\nexport var mdiClipboardMinusOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M19 19H5V5H7V7H17V5H19V19M8 12H16V14H8V12Z\";\r\nexport var mdiClipboardMultiple = \"M4 7H2V21C2 22.1 2.9 23 4 23H18V21H4M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3Z\";\r\nexport var mdiClipboardMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7H10Z\";\r\nexport var mdiClipboardOff = \"M21 5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L21 17.8V5M12 5C11.45 5 11 4.55 11 4S11.45 3 12 3 13 3.45 13 4 12.55 5 12 5M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46Z\";\r\nexport var mdiClipboardOffOutline = \"M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M5 19V6.89L17.11 19H5M17 7V5H19V15.8L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3Z\";\r\nexport var mdiClipboardOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\";\r\nexport var mdiClipboardPlay = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M10,17V9L15,13L10,17Z\";\r\nexport var mdiClipboardPlayMultiple = \"M4 21H18V23H4C2.9 23 2 22.1 2 21V7H4M22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.2C11.6 1.8 12.7 1 14 1C15.3 1 16.4 1.8 16.8 3H20C21.1 3 22 3.9 22 5M13 4C13 4.5 13.5 5 14 5C14.5 5 15 4.5 15 4C15 3.5 14.6 3 14 3C13.4 3 13 3.5 13 4M17 12L12 8V16\";\r\nexport var mdiClipboardPlayMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.2C11.6 1.8 12.7 1 14 1C15.3 1 16.4 1.8 16.8 3H20M14 3C13.4 3 13 3.5 13 4C13 4.5 13.4 5 14 5C14.6 5 15 4.6 15 4C15 3.4 14.6 3 14 3M10 7V5H8V17H20V5H18V7M12 15V9L17 12\";\r\nexport var mdiClipboardPlayOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M10,17V9L15,13L10,17Z\";\r\nexport var mdiClipboardPlus = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M13,12H16V14H13V17H11V14H8V12H11V9H13V12Z\";\r\nexport var mdiClipboardPlusOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M7 7H17V5H19V19H5V5H7V7M13 12H16V14H13V17H11V14H8V12H11V9H13V12Z\";\r\nexport var mdiClipboardPulse = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M5,13.46H7.17L10.5,7.08L11.44,14.05L13.93,10.86L16.53,13.46H19V15H15.89L14.07,13.21L10.38,17.92L9.62,12.15L8.11,15H5V13.46Z\";\r\nexport var mdiClipboardPulseOutline = \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M5,15H8.11L9.62,12.15L10.38,17.92L14.07,13.21L15.89,15H19V19H5V15M19,13.46H16.53L13.93,10.86L11.44,14.05L10.5,7.08L7.17,13.46H5V5H7V6H17V5H19V6L19,13.46Z\";\r\nexport var mdiClipboardRemove = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M15.54 15.12L14.12 16.54L12 14.41L9.88 16.54L8.47 15.12L10.59 13L8.47 10.88L9.88 9.47L12 11.59L14.12 9.47L15.54 10.88L13.41 13L15.54 15.12Z\";\r\nexport var mdiClipboardRemoveOutline = \"M19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M19 19H5V5H7V7H17V5H19V19M15.54 10.88L13.41 13L15.54 15.12L14.12 16.54L12 14.41L9.88 16.54L8.47 15.12L10.59 13L8.47 10.88L9.88 9.47L12 11.59L14.12 9.47L15.54 10.88Z\";\r\nexport var mdiClipboardSearch = \"M11.9 10.9C14.41 8.4 18.45 8.37 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C9.37 17.56 9.37 13.44 11.9 10.9M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiClipboardSearchOutline = \"M11.03 19H5V5H7V7H17V5H19V9.5C19.72 9.8 20.4 10.24 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C11.57 19.76 11.27 19.39 11.03 19M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiClipboardText = \"M17,9H7V7H17M17,13H7V11H17M14,17H7V15H14M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiClipboardTextClock = \"M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M6 7H18V9H6V7M9.08 17H6V15H9.08C9.03 15.33 9 15.66 9 16S9.03 16.67 9.08 17M6 13V11H11.11C10.5 11.57 10.04 12.25 9.68 13H6M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiClipboardTextClockOutline = \"M21 11.11V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.11C12.37 22.24 14.09 23 16 23C19.87 23 23 19.87 23 16C23 14.09 22.24 12.37 21 11.11M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M5 19V5H7V7H17V5H19V9.68C18.09 9.25 17.08 9 16 9H7V11H11.1C10.5 11.57 10.04 12.25 9.68 13H7V15H9.08C9.03 15.33 9 15.66 9 16C9 17.08 9.25 18.09 9.68 19H5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiClipboardTextMultiple = \"M20 3H16.8C16.4 1.8 15.3 1 14 1C12.7 1 11.6 1.8 11.2 3H8C6.9 3 6 3.9 6 5V17C6 18.1 6.9 19 8 19H20C21.1 19 22 18.1 22 17V5C22 3.9 21.1 3 20 3M14 3C14.6 3 15 3.5 15 4C15 4.5 14.5 5 14 5C13.5 5 13 4.5 13 4C13 3.5 13.4 3 14 3M16 14H9V12H16M19 10H9V8H19M4 21H18V23H4C2.9 23 2 22.1 2 21V7H4\";\r\nexport var mdiClipboardTextMultipleOutline = \"M4 7V21H18V23H4C2.9 23 2 22.1 2 21V7H4M20 3C21.1 3 22 3.9 22 5V17C22 18.1 21.1 19 20 19H8C6.9 19 6 18.1 6 17V5C6 3.9 6.9 3 8 3H11.18C11.6 1.84 12.7 1 14 1C15.3 1 16.4 1.84 16.82 3H20M14 3C13.45 3 13 3.45 13 4C13 4.55 13.45 5 14 5C14.55 5 15 4.55 15 4C15 3.45 14.55 3 14 3M10 7V5H8V17H20V5H18V7M15 15H10V13H15M18 11H10V9H18V11Z\";\r\nexport var mdiClipboardTextOff = \"M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M7 11H9.11L11.11 13H7V11M14 17H7V15H13.11L14 15.89V17M17 7V9H12.2L14.2 11H17V13H16.2L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3Z\";\r\nexport var mdiClipboardTextOffOutline = \"M17 7V5H19V15.8L21 17.8V5C21 3.9 20.11 3 19 3H14.82C14.25 1.44 12.53 .64 11 1.2C10.14 1.5 9.5 2.16 9.18 3H6.2L10.2 7H17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M14.2 11L12.2 9H17V11H14.2M2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.11 3.9 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L2.39 1.73M5 19V6.89L7.11 9H7V11H9.11L11.11 13H7V15H13.11L17.11 19H5Z\";\r\nexport var mdiClipboardTextOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7M17,11H7V9H17V11M15,15H7V13H15V15Z\";\r\nexport var mdiClipboardTextPlay = \"M19,3A2,2 0 0,1 21,5V13.34C20.36,13.11 19.68,13 19,13C15.68,13 13,15.69 13,19C13,19.68 13.11,20.36 13.34,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H9.18C9.5,2.16 10.14,1.5 11,1.2C12.53,0.64 14.25,1.44 14.82,3H19M12,3A1,1 0 0,0 11,4A1,1 0 0,0 12,5A1,1 0 0,0 13,4A1,1 0 0,0 12,3M11,17V15H7V17H11M13,13V11H7V13H13M17,9V7H7V9H17M17,16L22,19L17,22V16Z\";\r\nexport var mdiClipboardTextPlayOutline = \"M19,3H14.82C14.25,1.44 12.53,0.64 11,1.2C10.14,1.5 9.5,2.16 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H15V19H5V5H7V7H17V5H19V14H21V5A2,2 0 0,0 19,3M12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5M17,16V22L22,19L17,16M17,11H7V9H17V11M15,15H7V13H15V15Z\";\r\nexport var mdiClipboardTextSearch = \"M10.18 17H7V15H10C10.08 14.32 10.23 13.64 10.5 13H7V11H11.82C11.85 10.97 11.87 10.94 11.9 10.9C13.17 9.64 14.84 9 16.5 9H7V7H17V9H16.5C18.12 9 19.74 9.61 21 10.82V5C21 3.9 20.11 3 19 3H14.82C14.4 1.84 13.3 1 12 1S9.6 1.84 9.18 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.06C12.65 20.74 12.26 20.45 11.9 20.1C11 19.21 10.45 18.13 10.18 17M12 3C12.55 3 13 3.45 13 4S12.55 5 12 5 11 4.55 11 4 11.45 3 12 3M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiClipboardTextSearchOutline = \"M17 9H16.5 17M7 15H10C10.08 14.32 10.23 13.64 10.5 13H7V15M11.9 10.9C13.17 9.64 14.84 9 16.5 9H7V11H11.82C11.85 10.97 11.87 10.94 11.9 10.9M11.9 20.1C12.26 20.45 12.65 20.74 13.06 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H9.18C9.5 2.16 10.14 1.5 11 1.2C12.53 .64 14.25 1.44 14.82 3H19C20.11 3 21 3.9 21 5V10.82C20.4 10.24 19.72 9.8 19 9.5V5H17V7H7V5H5V19H11.03C11.27 19.39 11.57 19.76 11.9 20.1M11 4C11 4.55 11.45 5 12 5S13 4.55 13 4 12.55 3 12 3 11 3.45 11 4M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiClippy = \"M15,15.5A2.5,2.5 0 0,1 12.5,18A2.5,2.5 0 0,1 10,15.5V13.75A0.75,0.75 0 0,1 10.75,13A0.75,0.75 0 0,1 11.5,13.75V15.5A1,1 0 0,0 12.5,16.5A1,1 0 0,0 13.5,15.5V11.89C12.63,11.61 12,10.87 12,10C12,8.9 13,8 14.25,8C15.5,8 16.5,8.9 16.5,10C16.5,10.87 15.87,11.61 15,11.89V15.5M8.25,8C9.5,8 10.5,8.9 10.5,10C10.5,10.87 9.87,11.61 9,11.89V17.25A3.25,3.25 0 0,0 12.25,20.5A3.25,3.25 0 0,0 15.5,17.25V13.75A0.75,0.75 0 0,1 16.25,13A0.75,0.75 0 0,1 17,13.75V17.25A4.75,4.75 0 0,1 12.25,22A4.75,4.75 0 0,1 7.5,17.25V11.89C6.63,11.61 6,10.87 6,10C6,8.9 7,8 8.25,8M10.06,6.13L9.63,7.59C9.22,7.37 8.75,7.25 8.25,7.25C7.34,7.25 6.53,7.65 6.03,8.27L4.83,7.37C5.46,6.57 6.41,6 7.5,5.81V5.75A3.75,3.75 0 0,1 11.25,2A3.75,3.75 0 0,1 15,5.75V5.81C16.09,6 17.04,6.57 17.67,7.37L16.47,8.27C15.97,7.65 15.16,7.25 14.25,7.25C13.75,7.25 13.28,7.37 12.87,7.59L12.44,6.13C12.77,6 13.13,5.87 13.5,5.81V5.75C13.5,4.5 12.5,3.5 11.25,3.5C10,3.5 9,4.5 9,5.75V5.81C9.37,5.87 9.73,6 10.06,6.13M14.25,9.25C13.7,9.25 13.25,9.59 13.25,10C13.25,10.41 13.7,10.75 14.25,10.75C14.8,10.75 15.25,10.41 15.25,10C15.25,9.59 14.8,9.25 14.25,9.25M8.25,9.25C7.7,9.25 7.25,9.59 7.25,10C7.25,10.41 7.7,10.75 8.25,10.75C8.8,10.75 9.25,10.41 9.25,10C9.25,9.59 8.8,9.25 8.25,9.25Z\";\r\nexport var mdiClock = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.2,16.2L11,13V7H12.5V12.2L17,14.9L16.2,16.2Z\";\r\nexport var mdiClockAlert = \"M20 12H22V18H20V12M20 20H22V22H20V20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22C14.3 22 16.3 21.2 18 20V10H21.8C20.9 5.4 16.8 2 12 2M16.2 16.2L11 13V7H12.5V12.2L17 14.9L16.2 16.2Z\";\r\nexport var mdiClockAlertOutline = \"M11 7V13L16.2 16.1L17 14.9L12.5 12.2V7H11M20 12V18H22V12H20M20 20V22H22V20H20M18 20C16.3 21.3 14.3 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2C16.8 2 20.9 5.4 21.8 10H19.7C18.8 6.6 15.7 4 12 4C7.6 4 4 7.6 4 12S7.6 20 12 20C14.4 20 16.5 18.9 18 17.3V20Z\";\r\nexport var mdiClockCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13 19C13 17.5 13.5 16.2 14.4 15.1L11 13V7H12.5V12.2L15.6 14.1C16.6 13.4 17.7 13 19 13C20 13 21 13.3 21.8 13.7C21.9 13.1 22 12.6 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.6 22 13.2 21.9 13.7 21.8C13.3 21 13 20 13 19Z\";\r\nexport var mdiClockCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13.1 19.9C12.7 20 12.4 20 12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12C20 12.4 20 12.7 19.9 13.1C20.6 13.2 21.2 13.4 21.8 13.7C21.9 13.1 22 12.6 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.5 22 12 22C12.6 22 13.2 21.9 13.7 21.8C13.4 21.3 13.2 20.6 13.1 19.9M15.6 14.1L12.5 12.3V7H11V13L14.5 15.1C14.8 14.7 15.2 14.4 15.6 14.1Z\";\r\nexport var mdiClockDigital = \"M2,6A2,2 0 0,0 0,8V16A2,2 0 0,0 2,18H22A2,2 0 0,0 24,16V8A2,2 0 0,0 22,6M2,8H22V16H2M3,9V10.5H6.25L3,15H4.75L8,10.5V9M9.25,9V10.5H10.75V9M12,9V10.5H13.5V15H15V9M17,9A1,1 0 0,0 16,10V14A1,1 0 0,0 17,15H20A1,1 0 0,0 21,14V10A1,1 0 0,0 20,9M17.5,10.5H19.5V13.5H17.5M9.25,13.5V15H10.75V13.5\";\r\nexport var mdiClockEdit = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M11 21.9C5.9 21.4 2 17.1 2 12C2 6.5 6.5 2 12 2C17.3 2 21.6 6.1 22 11.3C21.7 11.2 21.4 11.1 21 11.1C20.2 11.1 19.6 11.5 19.2 11.9L16.5 14.6L12.5 12.2V7H11V13L15.4 15.7L11 20.1V21.9Z\";\r\nexport var mdiClockEditOutline = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M12.5 7V12.2L16.5 14.6L15.5 15.6L11 13V7H12.5M11 21.9C5.9 21.4 2 17.1 2 12C2 6.5 6.5 2 12 2C17.3 2 21.6 6.1 22 11.3C21.7 11.2 21.4 11.1 21 11.1C20.6 11.1 20.3 11.2 20 11.3C19.6 7.2 16.2 4 12 4C7.6 4 4 7.6 4 12C4 16.1 7.1 19.5 11.1 19.9L11 20.1V21.9Z\";\r\nexport var mdiClockEnd = \"M12,1C8.14,1 5,4.14 5,8A7,7 0 0,0 12,15C15.86,15 19,11.87 19,8C19,4.14 15.86,1 12,1M12,3.15C14.67,3.15 16.85,5.32 16.85,8C16.85,10.68 14.67,12.85 12,12.85A4.85,4.85 0 0,1 7.15,8A4.85,4.85 0 0,1 12,3.15M11,5V8.69L14.19,10.53L14.94,9.23L12.5,7.82V5M15,16V19H3V21H15V24L19,20M19,20V24H21V16H19\";\r\nexport var mdiClockFast = \"M15,4A8,8 0 0,1 23,12A8,8 0 0,1 15,20A8,8 0 0,1 7,12A8,8 0 0,1 15,4M15,6A6,6 0 0,0 9,12A6,6 0 0,0 15,18A6,6 0 0,0 21,12A6,6 0 0,0 15,6M14,8H15.5V11.78L17.83,14.11L16.77,15.17L14,12.4V8M2,18A1,1 0 0,1 1,17A1,1 0 0,1 2,16H5.83C6.14,16.71 6.54,17.38 7,18H2M3,13A1,1 0 0,1 2,12A1,1 0 0,1 3,11H5.05L5,12L5.05,13H3M4,8A1,1 0 0,1 3,7A1,1 0 0,1 4,6H7C6.54,6.62 6.14,7.29 5.83,8H4Z\";\r\nexport var mdiClockIn = \"M2.21,0.79L0.79,2.21L4.8,6.21L3,8H8V3L6.21,4.8M12,8C8.14,8 5,11.13 5,15A7,7 0 0,0 12,22C15.86,22 19,18.87 19,15A7,7 0 0,0 12,8M12,10.15C14.67,10.15 16.85,12.32 16.85,15A4.85,4.85 0 0,1 12,19.85C9.32,19.85 7.15,17.68 7.15,15A4.85,4.85 0 0,1 12,10.15M11,12V15.69L14.19,17.53L14.94,16.23L12.5,14.82V12\";\r\nexport var mdiClockMinus = \"M13.72 21.84C13.16 21.94 12.59 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2 22 6.5 22 12C22 12.59 21.94 13.16 21.84 13.72C21 13.26 20.03 13 19 13C17.74 13 16.57 13.39 15.6 14.06L12.5 12.2V7H11V13L14.43 15.11C13.54 16.16 13 17.5 13 19C13 20.03 13.26 21 13.72 21.84M15 18V20H23V18H15Z\";\r\nexport var mdiClockMinusOutline = \"M14.47 15.08L11 13V7H12.5V12.25L15.58 14.08C15.17 14.36 14.79 14.7 14.47 15.08M13.08 19.92C12.72 19.97 12.37 20 12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12C20 12.37 19.97 12.72 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.47 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.4 21.25 13.18 20.61 13.08 19.92M15 18V20H23V18H15Z\";\r\nexport var mdiClockOut = \"M18,1L19.8,2.79L15.79,6.79L17.21,8.21L21.21,4.21L23,6V1M12,8C8.14,8 5,11.13 5,15A7,7 0 0,0 12,22C15.86,22 19,18.87 19,15A7,7 0 0,0 12,8M12,10.15C14.67,10.15 16.85,12.32 16.85,15A4.85,4.85 0 0,1 12,19.85C9.32,19.85 7.15,17.68 7.15,15A4.85,4.85 0 0,1 12,10.15M11,12V15.69L14.19,17.53L14.94,16.23L12.5,14.82V12\";\r\nexport var mdiClockOutline = \"M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\";\r\nexport var mdiClockPlus = \"M13.72 21.84C13.16 21.94 12.59 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2 22 6.5 22 12C22 12.59 21.94 13.16 21.84 13.72C21 13.26 20.03 13 19 13C17.74 13 16.57 13.39 15.6 14.06L12.5 12.2V7H11V13L14.43 15.11C13.54 16.16 13 17.5 13 19C13 20.03 13.26 21 13.72 21.84M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiClockPlusOutline = \"M14.47 15.08L11 13V7H12.5V12.25L15.58 14.08C15.17 14.36 14.79 14.7 14.47 15.08M13.08 19.92C12.72 19.97 12.37 20 12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12C20 12.37 19.97 12.72 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.47 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.4 21.25 13.18 20.61 13.08 19.92M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiClockRemove = \"M13.72 21.84C13.16 21.94 12.59 22 12 22C6.5 22 2 17.5 2 12S6.5 2 12 2 22 6.5 22 12C22 12.59 21.94 13.16 21.84 13.72C21 13.26 20.03 13 19 13C17.74 13 16.57 13.39 15.6 14.06L12.5 12.2V7H11V13L14.43 15.11C13.54 16.16 13 17.5 13 19C13 20.03 13.26 21 13.72 21.84M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiClockRemoveOutline = \"M14.47 15.08L11 13V7H12.5V12.25L15.58 14.08C15.17 14.36 14.79 14.7 14.47 15.08M13.08 19.92C12.72 19.97 12.37 20 12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12C20 12.37 19.97 12.72 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12C2 17.5 6.47 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.4 21.25 13.18 20.61 13.08 19.92M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiClockStarFourPoints = \"M14.4 15.1C13.5 16.2 13 17.5 13 19C13 20 13.3 21 13.7 21.8C13.2 21.9 12.6 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 12.5 21.92 12.97 21.84 13.5L21.8 13.7C21 13.3 20 13 19 13C17.7 13 16.6 13.4 15.6 14.1L12.5 12.2V7H11V13L14.4 15.1M17.74 17.75L19 15L20.25 17.75L23 19L20.25 20.26L19 23L17.74 20.26L15 19L17.74 17.75Z\";\r\nexport var mdiClockStarFourPointsOutline = \"M12 20C12.4 20 12.7 20 13.1 19.9C13.2 20.6 13.4 21.3 13.7 21.8C13.2 21.9 12.6 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 12.5 21.92 12.97 21.84 13.5L21.8 13.7C21.2 13.4 20.6 13.2 19.9 13.1C20 12.7 20 12.4 20 12C20 7.6 16.4 4 12 4C7.6 4 4 7.6 4 12C4 16.4 7.6 20 12 20M12.5 12.3L15.6 14.1C15.2 14.4 14.8 14.7 14.5 15.1L11 13V7H12.5V12.3M17.74 17.75L19 15L20.25 17.75L23 19L20.25 20.26L19 23L17.74 20.26L15 19L17.74 17.75Z\";\r\nexport var mdiClockStart = \"M12,1C8.14,1 5,4.14 5,8A7,7 0 0,0 12,15C15.86,15 19,11.87 19,8C19,4.14 15.86,1 12,1M12,3.15C14.67,3.15 16.85,5.32 16.85,8C16.85,10.68 14.67,12.85 12,12.85A4.85,4.85 0 0,1 7.15,8A4.85,4.85 0 0,1 12,3.15M11,5V8.69L14.19,10.53L14.94,9.23L12.5,7.82V5M4,16V24H6V21H18V24L22,20L18,16V19H6V16\";\r\nexport var mdiClockTimeEight = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M7.7 15.5L7 14.2L11 11.9V7H12.5V12.8L7.7 15.5Z\";\r\nexport var mdiClockTimeEightOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 12.8L7.7 15.6L7 14.2L11 11.9V7H12.5V12.8Z\";\r\nexport var mdiClockTimeEleven = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11L8.5 8.6L9.8 7.8L11 10V7H12.5V13Z\";\r\nexport var mdiClockTimeElevenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V13H11L8.5 8.6L9.8 7.8L11 10V7H12.5Z\";\r\nexport var mdiClockTimeFive = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M14 17L11 11.8V7H12.5V11.4L15.3 16.3L14 17Z\";\r\nexport var mdiClockTimeFiveOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M15.3 16.2L14 17L11 11.8V7H12.5V11.4L15.3 16.2Z\";\r\nexport var mdiClockTimeFour = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M16.3 15.2L11 12.3V7H12.5V11.4L17 13.9L16.3 15.2Z\";\r\nexport var mdiClockTimeFourOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M17 13.9L16.3 15.2L11 12.3V7H12.5V11.4L17 13.9Z\";\r\nexport var mdiClockTimeNine = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H7V11.5H11V7H12.5V13Z\";\r\nexport var mdiClockTimeNineOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V13H7V11.5H11V7H12.5Z\";\r\nexport var mdiClockTimeOne = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.3 13H11V7H12.5V9.7L14 7.1L15.3 7.9L12.3 13Z\";\r\nexport var mdiClockTimeOneOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M15.3 7.8L12.3 13H11V7H12.5V9.65L14 7.05L15.3 7.8Z\";\r\nexport var mdiClockTimeSeven = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 12.2L9.8 17L8.5 16.2L11 11.8V7H12.5V12.2Z\";\r\nexport var mdiClockTimeSevenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V12.2L9.8 17L8.5 16.2L11 11.8V7H12.5Z\";\r\nexport var mdiClockTimeSix = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 17H11V7H12.5V17Z\";\r\nexport var mdiClockTimeSixOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 7V17H11V7H12.5Z\";\r\nexport var mdiClockTimeTen = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11L7 10.7L7.8 9.4L11.1 11.3V7H12.6V13Z\";\r\nexport var mdiClockTimeTenOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13H11L7 10.7L7.8 9.4L11.1 11.3V7H12.6V13Z\";\r\nexport var mdiClockTimeThree = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M17 13H11V7H12.5V11.5H17V13Z\";\r\nexport var mdiClockTimeThreeOutline = \"M12 20C16.4 20 20 16.4 20 12S16.4 4 12 4 4 7.6 4 12 7.6 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M17 11.5V13H11V7H12.5V11.5H17Z\";\r\nexport var mdiClockTimeTwelve = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11V7H12.5V13Z\";\r\nexport var mdiClockTimeTwelveOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13.03H11V7H12.5V13.03Z\";\r\nexport var mdiClockTimeTwo = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12.5 13H11V7H12.5V11.3L16.2 9.2L17 10.5L12.5 13Z\";\r\nexport var mdiClockTimeTwoOutline = \"M12 20C16.42 20 20 16.42 20 12S16.42 4 12 4 4 7.58 4 12 7.58 20 12 20M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12.5 13V13H11V7H12.5V11.26L16.2 9.13L16.95 10.43L12.5 13Z\";\r\nexport var mdiClose = \"M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\";\r\nexport var mdiCloseBox = \"M19,3H16.3H7.7H5A2,2 0 0,0 3,5V7.7V16.4V19A2,2 0 0,0 5,21H7.7H16.4H19A2,2 0 0,0 21,19V16.3V7.7V5A2,2 0 0,0 19,3M15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4L13.4,12L17,15.6L15.6,17Z\";\r\nexport var mdiCloseBoxMultiple = \"M4 20H18V22H4C2.9 22 2 21.11 2 20V6H4V20M20.22 2H7.78C6.8 2 6 2.8 6 3.78V16.22C6 17.2 6.8 18 7.78 18H20.22C21.2 18 22 17.2 22 16.22V3.78C22 2.8 21.2 2 20.22 2M19 13.6L17.6 15L14 11.4L10.4 15L9 13.6L12.6 10L9 6.4L10.4 5L14 8.6L17.6 5L19 6.4L15.4 10L19 13.6Z\";\r\nexport var mdiCloseBoxMultipleOutline = \"M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H8V4H20V16M4 6V20H18V22H4C2.9 22 2 21.11 2 20V6H4M9.77 12.84L12.6 10L9.77 7.15L11.17 5.75L14 8.6L16.84 5.77L18.24 7.17L15.4 10L18.23 12.84L16.83 14.24L14 11.4L11.17 14.24L9.77 12.84Z\";\r\nexport var mdiCloseBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M17,8.4L13.4,12L17,15.6L15.6,17L12,13.4L8.4,17L7,15.6L10.6,12L7,8.4L8.4,7L12,10.6L15.6,7L17,8.4Z\";\r\nexport var mdiCloseCircle = \"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M15.59,7L12,10.59L8.41,7L7,8.41L10.59,12L7,15.59L8.41,17L12,13.41L15.59,17L17,15.59L13.41,12L17,8.41L15.59,7Z\";\r\nexport var mdiCloseCircleMultiple = \"M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M20 15.59L18.59 17L15 13.41L11.41 17L10 15.59L13.59 12L10 8.41L11.41 7L15 10.59L18.59 7L20 8.41L16.41 12L20 15.59Z\";\r\nexport var mdiCloseCircleMultipleOutline = \"M18.54 9.88L17.12 8.47L15 10.59L12.88 8.47L11.47 9.88L13.59 12L11.47 14.12L12.88 15.54L15 13.41L17.12 15.54L18.54 14.12L16.41 12M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M15 19C11.14 19 8 15.86 8 12S11.14 5 15 5 22 8.14 22 12 18.86 19 15 19Z\";\r\nexport var mdiCloseCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M14.59,8L12,10.59L9.41,8L8,9.41L10.59,12L8,14.59L9.41,16L12,13.41L14.59,16L16,14.59L13.41,12L16,9.41L14.59,8Z\";\r\nexport var mdiCloseNetwork = \"M14.59,6L12,8.59L9.41,6L8,7.41L10.59,10L8,12.59L9.41,14L12,11.41L14.59,14L16,12.59L13.41,10L16,7.41L14.59,6M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiCloseNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15.54,12.12L13.41,10L15.53,7.87L14.12,6.46L12,8.59L9.88,6.46L8.47,7.87L10.59,10L8.47,12.13L9.88,13.54L12,11.41L14.12,13.54L15.54,12.12Z\";\r\nexport var mdiCloseOctagon = \"M8.27,3L3,8.27V15.73L8.27,21H15.73L21,15.73V8.27L15.73,3M8.41,7L12,10.59L15.59,7L17,8.41L13.41,12L17,15.59L15.59,17L12,13.41L8.41,17L7,15.59L10.59,12L7,8.41\";\r\nexport var mdiCloseOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1M9.12,7.71L7.71,9.12L10.59,12L7.71,14.88L9.12,16.29L12,13.41L14.88,16.29L16.29,14.88L13.41,12L16.29,9.12L14.88,7.71L12,10.59\";\r\nexport var mdiCloseOutline = \"M3,16.74L7.76,12L3,7.26L7.26,3L12,7.76L16.74,3L21,7.26L16.24,12L21,16.74L16.74,21L12,16.24L7.26,21L3,16.74M12,13.41L16.74,18.16L18.16,16.74L13.41,12L18.16,7.26L16.74,5.84L12,10.59L7.26,5.84L5.84,7.26L10.59,12L5.84,16.74L7.26,18.16L12,13.41Z\";\r\nexport var mdiCloseThick = \"M20 6.91L17.09 4L12 9.09L6.91 4L4 6.91L9.09 12L4 17.09L6.91 20L12 14.91L17.09 20L20 17.09L14.91 12L20 6.91Z\";\r\nexport var mdiClosedCaption = \"M18,11H16.5V10.5H14.5V13.5H16.5V13H18V14A1,1 0 0,1 17,15H14A1,1 0 0,1 13,14V10A1,1 0 0,1 14,9H17A1,1 0 0,1 18,10M11,11H9.5V10.5H7.5V13.5H9.5V13H11V14A1,1 0 0,1 10,15H7A1,1 0 0,1 6,14V10A1,1 0 0,1 7,9H10A1,1 0 0,1 11,10M19,4H5C3.89,4 3,4.89 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6C21,4.89 20.1,4 19,4Z\";\r\nexport var mdiClosedCaptionOutline = \"M5,4C4.45,4 4,4.18 3.59,4.57C3.2,4.96 3,5.44 3,6V18C3,18.56 3.2,19.04 3.59,19.43C4,19.82 4.45,20 5,20H19C19.5,20 20,19.81 20.39,19.41C20.8,19 21,18.53 21,18V6C21,5.47 20.8,5 20.39,4.59C20,4.19 19.5,4 19,4H5M4.5,5.5H19.5V18.5H4.5V5.5M7,9C6.7,9 6.47,9.09 6.28,9.28C6.09,9.47 6,9.7 6,10V14C6,14.3 6.09,14.53 6.28,14.72C6.47,14.91 6.7,15 7,15H10C10.27,15 10.5,14.91 10.71,14.72C10.91,14.53 11,14.3 11,14V13H9.5V13.5H7.5V10.5H9.5V11H11V10C11,9.7 10.91,9.47 10.71,9.28C10.5,9.09 10.27,9 10,9H7M14,9C13.73,9 13.5,9.09 13.29,9.28C13.09,9.47 13,9.7 13,10V14C13,14.3 13.09,14.53 13.29,14.72C13.5,14.91 13.73,15 14,15H17C17.3,15 17.53,14.91 17.72,14.72C17.91,14.53 18,14.3 18,14V13H16.5V13.5H14.5V10.5H16.5V11H18V10C18,9.7 17.91,9.47 17.72,9.28C17.53,9.09 17.3,9 17,9H14Z\";\r\nexport var mdiCloud = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20Z\";\r\nexport var mdiCloudAlert = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M13 17H11V15H13V17M13 13H11V7H13V13Z\";\r\nexport var mdiCloudAlertOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M11 15H13V17H11V15M11 7H13V13H11V7Z\";\r\nexport var mdiCloudArrowDown = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M20 16H18V20H16L19 23L22 20H20V16Z\";\r\nexport var mdiCloudArrowDownOutline = \"M4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03M20 16H18V20H16L19 23L22 20H20V16Z\";\r\nexport var mdiCloudArrowLeft = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M18 16L15 19L18 22V20H22V18H18V16Z\";\r\nexport var mdiCloudArrowLeftOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M18 16L15 19L18 22V20H22V18H18V16Z\";\r\nexport var mdiCloudArrowRight = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiCloudArrowRightOutline = \"M4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiCloudArrowUp = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M16 18H18V22H20V18H22L19 15L16 18Z\";\r\nexport var mdiCloudArrowUpOutline = \"M4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03M16 18H18V22H20V18H22L19 15L16 18Z\";\r\nexport var mdiCloudBraces = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M10.5 10H9V11C9 12.11 8.11 13 7 13C8.11 13 9 13.9 9 15V16H10.5V18H9C7.9 18 7 17.11 7 16V15C7 14.45 6.55 14 6 14H5.5V12H6C6.55 12 7 11.55 7 11V10C7 8.9 7.9 8 9 8H10.5V10M18.5 14H18C17.45 14 17 14.45 17 15V16C17 17.11 16.11 18 15 18H13.5V16H15V15C15 13.9 15.9 13 17 13C15.9 13 15 12.11 15 11V10H13.5V8H15C16.11 8 17 8.9 17 10V11C17 11.55 17.45 12 18 12H18.5V14Z\";\r\nexport var mdiCloudCancel = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C14.91 12 12 14.91 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiCloudCancelOutline = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C18 12 17.5 12.07 17 12.18V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H12.03C12 18.17 12 18.33 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiCloudCheck = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84L17.75 19.43Z\";\r\nexport var mdiCloudCheckOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84L17.75 19.43Z\";\r\nexport var mdiCloudCheckVariant = \"M10.35 17L16 11.35L14.55 9.9L10.33 14.13L8.23 12.03L6.8 13.45M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20Z\";\r\nexport var mdiCloudCheckVariantOutline = \"M10.35 17L16 11.35L14.55 9.9L10.33 14.13L8.23 12.03L6.8 13.45M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20M6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18M12 12Z\";\r\nexport var mdiCloudCircle = \"M8.5 16H16Q17.25 16 18.13 15.13T19 13Q19 11.75 18.13 10.88T16 10Q15.8 8.55 14.68 7.53 13.55 6.5 12.15 6.5 10.88 6.5 9.84 7.15 8.8 7.8 8.3 9 6.88 9.13 5.94 10.09 5 11.05 5 12.5 5 13.95 6.03 15 7.05 16 8.5 16M12 22Q9.93 22 8.1 21.21 6.28 20.43 4.93 19.08 3.58 17.73 2.79 15.9 2 14.08 2 12T2.79 8.1Q3.58 6.28 4.93 4.93 6.28 3.58 8.1 2.79 9.93 2 12 2T15.9 2.79Q17.73 3.58 19.08 4.93 20.43 6.28 21.21 8.1 22 9.93 22 12T21.21 15.9Q20.43 17.73 19.08 19.08 17.73 20.43 15.9 21.21 14.08 22 12 22Z\";\r\nexport var mdiCloudCircleOutline = \"M8.5 16H16Q17.25 16 18.13 15.13T19 13Q19 11.75 18.13 10.88T16 10Q15.8 8.55 14.68 7.53 13.55 6.5 12.15 6.5 10.88 6.5 9.84 7.15 8.8 7.8 8.3 9 6.88 9.13 5.94 10.09 5 11.05 5 12.5 5 13.95 6.03 15 7.05 16 8.5 16M12 22Q9.93 22 8.1 21.21 6.28 20.43 4.93 19.08 3.58 17.73 2.79 15.9 2 14.08 2 12T2.79 8.1Q3.58 6.28 4.93 4.93 6.28 3.58 8.1 2.79 9.93 2 12 2T15.9 2.79Q17.73 3.58 19.08 4.93 20.43 6.28 21.21 8.1 22 9.93 22 12T21.21 15.9Q20.43 17.73 19.08 19.08 17.73 20.43 15.9 21.21 14.08 22 12 22M12 20Q15.33 20 17.66 17.66 20 15.33 20 12T17.66 6.34Q15.33 4 12 4T6.34 6.34Q4 8.68 4 12T6.34 17.66Q8.68 20 12 20M8.5 14Q7.88 14 7.44 13.56 7 13.13 7 12.5T7.44 11.44Q7.88 11 8.5 11H10V10.5Q10 9.68 10.59 9.09 11.18 8.5 12 8.5T13.41 9.09Q14 9.68 14 10.5V12H16Q16.43 12 16.71 12.29 17 12.58 17 13T16.71 13.71Q16.43 14 16 14M12 12Z\";\r\nexport var mdiCloudClock = \"M23 15.5C23 14.79 22.84 14.14 22.55 13.54C21.89 11.79 20.56 10.38 18.86 9.62C18.61 8.26 18 7.06 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H10.26C11.53 21.81 13.62 23 16 23C19.87 23 23 19.87 23 16C23 15.89 23 15.79 23 15.68C23 15.62 23 15.56 23 15.5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiCloudClockOutline = \"M23 15.5C23 14.79 22.84 14.14 22.55 13.54C21.89 11.79 20.56 10.38 18.86 9.62C18.61 8.26 18 7.06 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H10.26C11.53 21.81 13.62 23 16 23C19.87 23 23 19.87 23 16C23 15.89 23 15.79 23 15.68C23 15.62 23 15.56 23 15.5M6.5 18C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16 7.93 16.35 8.46 16.59 9.03C16.4 9 16.2 9 16 9C12.13 9 9 12.13 9 16C9 16.7 9.11 17.37 9.29 18H6.5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiCloudCog = \"M12 19C12 19.34 12.03 19.67 12.08 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C21.92 12.55 21.96 12.63 22 12.69C21.1 12.25 20.08 12 19 12C15.13 12 12 15.13 12 19M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.82 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiCloudCogOutline = \"M12 19C12 19.34 12.03 19.67 12.08 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C21.92 12.55 21.96 12.63 22 12.69C21.1 12.25 20.08 12 19 12C18.31 12 17.63 12.11 17 12.29V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H12.08C12.03 18.33 12 18.66 12 19M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.82 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiCloudDownload = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.83 7.13 7.39 5.75 8.95 4.38 11 4.08V12.15L9.4 10.6L8 12L12 16L16 12L14.6 10.6L13 12.15V4.08Q15.58 4.43 17.29 6.39 19 8.35 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20Z\";\r\nexport var mdiCloudDownloadOutline = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.68 7.35 7.38 5.73 9.07 4.1 11 4.1 11.83 4.1 12.41 4.69 13 5.28 13 6.1V12.15L14.6 10.6L16 12L12 16L8 12L9.4 10.6L11 12.15V6.1Q9.1 6.45 8.05 7.94 7 9.43 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 9.8 16.45 8.76 15.9 7.73 15 7V4.68Q16.85 5.55 17.93 7.26 19 9 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20M12 11.05Z\";\r\nexport var mdiCloudKey = \"M9.41 20H6.5C5 20 3.68 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1C2.96 10.08 4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43C9 4.5 10.42 4 12 4C13.95 4 15.61 4.68 16.96 6.04C18.32 7.39 19 9.05 19 11C20.15 11.13 21.11 11.63 21.86 12.5C22.5 13.23 22.86 14.06 22.96 15H18C17.07 13.77 15.61 13 14 13C11.2 13 9 15.2 9 18C9 18.72 9.15 19.39 9.41 20M23 17V19H21V21H19V19H16.8C16.4 20.2 15.3 21 14 21C12.3 21 11 19.7 11 18S12.3 15 14 15C15.3 15 16.4 15.8 16.8 17H23M15 18C15 17.5 14.6 17 14 17S13 17.5 13 18 13.4 19 14 19 15 18.5 15 18Z\";\r\nexport var mdiCloudKeyOutline = \"M9.41 20H6.5C5 20 3.68 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1C2.96 10.08 4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43C9 4.5 10.42 4 12 4C13.95 4 15.61 4.68 16.96 6.04C18.32 7.39 19 9.05 19 11C20.15 11.13 21.11 11.63 21.86 12.5C22.5 13.23 22.86 14.06 22.96 15H20.96C20.86 14.5 20.64 14.09 20.27 13.73C19.79 13.24 19.2 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.57 6.5 13.39 6 12 6C10.62 6 9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.3 4.03 17C4.71 17.67 5.53 18 6.5 18H9C9 18.72 9.15 19.39 9.41 20M23 17V19H21V21H19V19H16.8C16.4 20.2 15.3 21 14 21C12.3 21 11 19.7 11 18S12.3 15 14 15C15.3 15 16.4 15.8 16.8 17H23M15 18C15 17.5 14.6 17 14 17S13 17.5 13 18 13.4 19 14 19 15 18.5 15 18Z\";\r\nexport var mdiCloudLock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.08 7.16 18.73 8.5 18.93 10C16.36 10.04 14.2 12.08 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiCloudLockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C17.84 6.91 18.42 7.91 18.74 9.03C16.25 9.16 14.2 11.15 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiCloudLockOpenOutline = \"M6.5 18H13V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C17.84 6.91 18.42 7.91 18.74 9.03C18.03 9.06 17.37 9.25 16.78 9.56C16.55 8.78 16.15 8.08 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiCloudLockOutline = \"M6.5 18H13V20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.08 7.16 18.73 8.5 18.93 10C18.23 10 17.56 10.19 16.95 10.46C16.84 9.31 16.38 8.31 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiCloudMinus = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiCloudMinusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiCloudOff = \"M19.8 22.6L17.15 20H6.5Q4.2 20 2.6 18.4T1 14.5Q1 12.58 2.19 11.08 3.38 9.57 5.25 9.15 5.33 8.95 5.4 8.76 5.5 8.57 5.55 8.35L1.4 4.2L2.8 2.8L21.2 21.2M21.6 18.75L8.05 5.23Q8.93 4.63 9.91 4.31 10.9 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 16.5 22.63 17.31 22.25 18.15 21.6 18.75Z\";\r\nexport var mdiCloudOffOutline = \"M19.8 22.6L17.15 20H6.5Q4.2 20 2.6 18.4T1 14.5Q1 12.58 2.19 11.08 3.38 9.57 5.25 9.15 5.33 8.95 5.4 8.76 5.5 8.57 5.55 8.35L1.4 4.2L2.8 2.8L21.2 21.2M6.5 18H15.15L7.1 9.95Q7.05 10.23 7.03 10.5 7 10.73 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18M11.13 14M21.6 18.75L20.15 17.35Q20.58 17 20.79 16.54 21 16.08 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 11.33 6 10.7 6.16 10.07 6.33 9.5 6.68L8.05 5.23Q8.93 4.63 9.91 4.31 10.9 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 16.5 22.63 17.31 22.25 18.15 21.6 18.75M14.83 12.03Z\";\r\nexport var mdiCloudOutline = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20M6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18M12 12Z\";\r\nexport var mdiCloudPercent = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M9.45 9.03C10.23 9.03 10.87 9.67 10.87 10.45C10.87 11.23 10.23 11.87 9.45 11.87C8.67 11.87 8.03 11.23 8.03 10.45C8.03 9.67 8.67 9.03 9.45 9.03M14.55 16.97C13.77 16.97 13.13 16.33 13.13 15.55C13.13 14.77 13.77 14.13 14.55 14.13C15.33 14.13 15.97 14.77 15.97 15.55C15.97 16.33 15.33 16.97 14.55 16.97M9.2 17L8 15.8L14.8 9L16 10.2L9.2 17Z\";\r\nexport var mdiCloudPercentOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M8.03 10.45C8.03 9.67 8.67 9.03 9.45 9.03C10.23 9.03 10.87 9.67 10.87 10.45C10.87 11.23 10.23 11.87 9.45 11.87C8.67 11.87 8.03 11.23 8.03 10.45M15.97 15.55C15.97 16.33 15.33 16.97 14.55 16.97C13.77 16.97 13.13 16.33 13.13 15.55C13.13 14.77 13.77 14.13 14.55 14.13C15.33 14.13 15.97 14.77 15.97 15.55M14.8 9L16 10.2L9.2 17L8 15.8L14.8 9Z\";\r\nexport var mdiCloudPlus = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiCloudPlusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiCloudPrint = \"M21.86 10.5C21.1 9.63 20.15 9.13 19 9C19 7.05 18.32 5.4 16.96 4.04C15.6 2.68 13.95 2 12 2C10.42 2 9 2.5 7.75 3.43S5.67 5.62 5.25 7.15C4 7.43 2.96 8.08 2.17 9.1S1 11.28 1 12.58C1 14.09 1.54 15.38 2.61 16.43C3.57 17.36 4.7 17.85 6 17.95V22H18V18H18.5C19.75 18 20.81 17.56 21.69 16.69C22.56 15.81 23 14.75 23 13.5C23 12.35 22.62 11.35 21.86 10.5M16 20H8V13H16V20M15 15H9V14H15V15M15 17H9V16H15V17M15 19H9V18H15V19Z\";\r\nexport var mdiCloudPrintOutline = \"M15 15H9V14H15V15M15 16H9V17H15V16M15 18H9V19H15V18M23 13.5C23 14.75 22.56 15.81 21.69 16.69C20.81 17.56 19.75 18 18.5 18H18V22H6V17.95C4.7 17.85 3.57 17.36 2.61 16.43C1.54 15.38 1 14.09 1 12.58C1 11.28 1.39 10.12 2.17 9.1S4 7.43 5.25 7.15C5.67 5.62 6.5 4.38 7.75 3.43S10.42 2 12 2C13.95 2 15.6 2.68 16.96 4.04C18.32 5.4 19 7.05 19 9C20.15 9.13 21.1 9.63 21.86 10.5C22.62 11.35 23 12.35 23 13.5M6 15.95V11H17V9C17 7.62 16.5 6.44 15.54 5.46C14.56 4.5 13.38 4 12 4S9.44 4.5 8.46 5.46C7.5 6.44 7 7.62 7 9H6.5C5.53 9 4.71 9.34 4.03 10.03C3.34 10.71 3 11.53 3 12.5S3.34 14.29 4.03 15C4.59 15.54 5.25 15.85 6 15.95M16 13H8V20H16V13M21 13.5C21 12.8 20.76 12.21 20.27 11.73S19.2 11 18.5 11H18V16H18.5C19.2 16 19.79 15.76 20.27 15.28S21 14.2 21 13.5Z\";\r\nexport var mdiCloudQuestion = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M13 17H11V15H13V17M14.8 11.82C14.5 12.21 14.13 12.5 13.67 12.75C13.41 12.91 13.24 13.07 13.15 13.26C13.06 13.45 13 13.69 13 14H11C11 13.45 11.11 13.08 11.3 12.82C11.5 12.56 11.85 12.25 12.37 11.91C12.63 11.75 12.84 11.56 13 11.32C13.15 11.09 13.23 10.81 13.23 10.5C13.23 10.18 13.14 9.94 12.96 9.76C12.78 9.56 12.5 9.47 12.2 9.47C11.93 9.47 11.71 9.55 11.5 9.7C11.35 9.85 11.25 10.08 11.25 10.39H9.28C9.23 9.64 9.5 9 10.06 8.59C10.6 8.2 11.31 8 12.2 8C13.14 8 13.89 8.23 14.43 8.68S15.24 9.75 15.24 10.5C15.24 11 15.09 11.41 14.8 11.82Z\";\r\nexport var mdiCloudQuestionOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M11 15H13V17H11V15M14.43 8.68C14.97 9.13 15.24 9.75 15.24 10.5C15.24 11 15.09 11.41 14.8 11.82C14.5 12.21 14.13 12.5 13.67 12.75C13.41 12.91 13.24 13.07 13.15 13.26C13.06 13.45 13 13.69 13 14H11C11 13.45 11.11 13.08 11.3 12.82C11.5 12.56 11.85 12.25 12.37 11.91C12.63 11.75 12.84 11.56 13 11.32C13.15 11.09 13.23 10.81 13.23 10.5C13.23 10.18 13.14 9.94 12.96 9.76C12.78 9.56 12.5 9.47 12.2 9.47C11.93 9.47 11.71 9.55 11.5 9.7C11.35 9.85 11.25 10.08 11.25 10.39H9.28C9.23 9.64 9.5 9 10.06 8.59C10.6 8.2 11.31 8 12.2 8C13.14 8 13.89 8.23 14.43 8.68Z\";\r\nexport var mdiCloudRefresh = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C14.91 12 12 14.91 12 18.5M18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5Z\";\r\nexport var mdiCloudRefreshOutline = \"M12 18.5C12 19 12.07 19.5 12.18 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.1 12.76 22.29 13.05 22.46 13.36C21.36 12.5 20 12 18.5 12C18 12 17.5 12.07 17 12.18V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H12.03C12 18.17 12 18.33 12 18.5M18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5Z\";\r\nexport var mdiCloudRefreshVariant = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M16 13H12L13.77 11.23C13.32 10.78 12.69 10.5 12 10.5C10.62 10.5 9.5 11.62 9.5 13S10.62 15.5 12 15.5C12.82 15.5 13.54 15.11 14 14.5H15.71C15.12 15.97 13.68 17 12 17C9.79 17 8 15.21 8 13S9.79 9 12 9C13.11 9 14.11 9.45 14.83 10.17L16 9V13Z\";\r\nexport var mdiCloudRefreshVariantOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M14.83 10.17L16 9V13H12L13.77 11.23C13.32 10.78 12.69 10.5 12 10.5C10.62 10.5 9.5 11.62 9.5 13S10.62 15.5 12 15.5C12.82 15.5 13.54 15.11 14 14.5H15.71C15.12 15.97 13.68 17 12 17C9.79 17 8 15.21 8 13S9.79 9 12 9C13.11 9 14.11 9.45 14.83 10.17Z\";\r\nexport var mdiCloudRemove = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C15.69 13 13 15.69 13 19M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiCloudRemoveOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C20.15 11.13 21.1 11.63 21.86 12.5C22.37 13.07 22.7 13.71 22.86 14.42C21.82 13.54 20.5 13 19 13C18.89 13 18.79 13 18.68 13C18.62 13 18.56 13 18.5 13H17V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.09C13.04 18.33 13 18.66 13 19M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiCloudSearch = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M16.57 18L14 15.43C13.43 15.79 12.74 16 12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12C16 12.74 15.79 13.43 15.43 14L18 16.57L16.57 18M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\r\nexport var mdiCloudSearchOutline = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M20.27 17.27C19.79 17.76 19.2 18 18.5 18H6.5C5.53 18 4.71 17.66 4.03 17C3.34 16.29 3 15.47 3 14.5S3.34 12.71 4.03 12.03C4.71 11.34 5.53 11 6.5 11H7C7 9.62 7.5 8.44 8.46 7.46C9.44 6.5 10.62 6 12 6S14.56 6.5 15.54 7.46C16.5 8.44 17 9.62 17 11V13H18.5C19.2 13 19.79 13.24 20.27 13.73S21 14.8 21 15.5 20.76 16.79 20.27 17.27M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12 9.79 16 12 16C12.74 16 13.43 15.79 14 15.43L16.57 18L18 16.57L15.43 14C15.79 13.43 16 12.74 16 12M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14Z\";\r\nexport var mdiCloudSync = \"M13 17.5C13 18.39 13.18 19.23 13.5 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C19.04 11 19.07 11 19.1 11C15.7 11.23 13 14.05 13 17.5M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiCloudSyncOutline = \"M13.03 18C13.08 18.7 13.24 19.38 13.5 20H6.5C5 20 3.69 19.5 2.61 18.43C1.54 17.38 1 16.09 1 14.58C1 13.28 1.39 12.12 2.17 11.1S4 9.43 5.25 9.15C5.67 7.62 6.5 6.38 7.75 5.43S10.42 4 12 4C13.95 4 15.6 4.68 16.96 6.04C18.32 7.4 19 9.05 19 11C19.04 11 19.07 11 19.1 11C18.36 11.07 17.65 11.23 17 11.5V11C17 9.62 16.5 8.44 15.54 7.46C14.56 6.5 13.38 6 12 6S9.44 6.5 8.46 7.46C7.5 8.44 7 9.62 7 11H6.5C5.53 11 4.71 11.34 4.03 12.03C3.34 12.71 3 13.53 3 14.5S3.34 16.29 4.03 17C4.71 17.66 5.53 18 6.5 18H13.03M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiCloudTags = \"M21.86 12.5C21.1 11.63 20.15 11.13 19 11C19 9.05 18.32 7.4 16.96 6.04C15.6 4.68 13.95 4 12 4C10.42 4 9 4.47 7.75 5.43S5.67 7.62 5.25 9.15C4 9.43 2.96 10.08 2.17 11.1S1 13.28 1 14.58C1 16.09 1.54 17.38 2.61 18.43C3.69 19.5 5 20 6.5 20H18.5C19.75 20 20.81 19.56 21.69 18.69C22.56 17.81 23 16.75 23 15.5C23 14.35 22.62 13.35 21.86 12.5M10.5 16.18L9.09 17.6L4.5 13L9.09 8.4L10.5 9.82L7.32 13L10.5 16.18M14.91 17.6L13.5 16.18L16.68 13L13.5 9.82L14.91 8.4L19.5 13L14.91 17.6Z\";\r\nexport var mdiCloudUpload = \"M11 20H6.5Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20H13V12.85L14.6 14.4L16 13L12 9L8 13L9.4 14.4L11 12.85Z\";\r\nexport var mdiCloudUploadOutline = \"M6.5 20Q4.22 20 2.61 18.43 1 16.85 1 14.58 1 12.63 2.17 11.1 3.35 9.57 5.25 9.15 5.88 6.85 7.75 5.43 9.63 4 12 4 14.93 4 16.96 6.04 19 8.07 19 11 20.73 11.2 21.86 12.5 23 13.78 23 15.5 23 17.38 21.69 18.69 20.38 20 18.5 20H13Q12.18 20 11.59 19.41 11 18.83 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 9.93 6 8.46 7.46 7 8.93 7 11H6.5Q5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18H9V20M12 13Z\";\r\nexport var mdiClouds = \"M19.19 12.07C19.69 11.54 20 10.82 20 10C20 8.3 18.7 6.84 17 6.84H14.2C14.2 4.17 12.03 2 9.36 2C7.31 2 5.56 3.28 4.85 5.08C2.72 5.14 1 6.89 1 9.04C1 11.22 2.78 13 4.96 13H8.1C8.04 13.33 8 13.66 8 14H7.5C5.57 14 4 15.57 4 17.5S5.57 21 7.5 21H18.5C21 21 23 19 23 16.5C23 14.26 21.34 12.41 19.19 12.07M18.5 19H7.5C6.67 19 6 18.33 6 17.5S6.67 16 7.5 16H10V14C10 12.07 11.57 10.5 13.5 10.5S17 12.07 17 14H18.5C19.88 14 21 15.12 21 16.5S19.88 19 18.5 19Z\";\r\nexport var mdiClover = \"M12,11.18C15.3,8.18 17,6.64 17,4.69C17,3.19 15.75,2 14.25,2C13.39,2 12.57,2.36 12,3C11.43,2.36 10.61,2 9.69,2C8.19,2 7,3.25 7,4.75C7,6.64 8.7,8.18 12,11.18M11.18,12C8.18,8.7 6.64,7 4.69,7C3.19,7 2,8.25 2,9.75C2,10.61 2.36,11.43 3,12C2.36,12.57 2,13.39 2,14.31C2,15.81 3.25,17 4.75,17C6.64,17 8.18,15.3 11.18,12M12.83,12C15.82,15.3 17.36,17 19.31,17C20.81,17 22,15.75 22,14.25C22,13.39 21.64,12.57 21,12C21.64,11.43 22,10.61 22,9.69C22,8.19 20.75,7 19.25,7C17.36,7 15.82,8.7 12.83,12M12,12.82C8.7,15.82 7,17.36 7,19.31C7,20.81 8.25,22 9.75,22C10.61,22 11.43,21.64 12,21C12.57,21.64 13.39,22 14.31,22C15.81,22 17,20.75 17,19.25C17,17.36 15.3,15.82 12,12.82Z\";\r\nexport var mdiCloverOutline = \"M10.61 12.62L10.65 12.58L11.16 12.03L11.18 12L11.16 11.97C11 11.78 10.82 11.6 10.66 11.42L10.61 11.38C8.42 8.97 7.03 7.53 5.58 7.12C5.29 7.04 5 7 4.69 7C3.19 7 2 8.25 2 9.75C2 10.38 2.19 11 2.55 11.5C2.68 11.68 2.83 11.85 3 12C2.83 12.15 2.68 12.32 2.55 12.5C2.19 13 2 13.64 2 14.31C2 15.81 3.25 17 4.75 17C5.03 17 5.31 16.96 5.58 16.89C7 16.5 8.4 15.05 10.61 12.62M8.47 12C7.57 12.97 6.88 13.69 6.26 14.21C5.43 14.91 5 15 4.75 15C4.3 15 4 14.65 4 14.31C4 13.93 4.14 13.66 4.33 13.5L6 12L4.33 10.5C4.13 10.33 4 10.05 4 9.75C4 9.3 4.35 9 4.69 9C5 9 5.43 9.1 6.26 9.8C6.88 10.31 7.57 11.03 8.47 12M7.12 18.43C7.04 18.72 7 19 7 19.31C7 20.81 8.25 22 9.75 22C10.38 22 11 21.81 11.5 21.45C11.68 21.32 11.85 21.17 12 21C12.15 21.17 12.32 21.32 12.5 21.45C13 21.81 13.64 22 14.31 22C15.81 22 17 20.75 17 19.25C17 18.97 16.96 18.69 16.89 18.42C16.5 17 15.05 15.6 12.62 13.39L12.58 13.35L12.03 12.85L12 12.82L11.97 12.85L11.42 13.35L11.38 13.38C8.97 15.58 7.53 16.97 7.12 18.43M12 15.53C12.97 16.43 13.69 17.12 14.21 17.74C14.91 18.57 15 19 15 19.25C15 19.7 14.65 20 14.31 20C13.93 20 13.66 19.86 13.5 19.67L12 18L10.5 19.67C10.33 19.87 10.05 20 9.75 20C9.3 20 9 19.65 9 19.31C9 19 9.1 18.57 9.8 17.74C10.31 17.12 11.03 16.43 12 15.53M13.39 12.62C15.59 15.03 16.97 16.47 18.43 16.88C18.72 16.96 19 17 19.31 17C20.81 17 22 15.75 22 14.25C22 13.62 21.81 13 21.45 12.5C21.32 12.32 21.17 12.15 21 12C21.17 11.85 21.32 11.68 21.45 11.5C21.81 11 22 10.37 22 9.69C22 8.19 20.75 7 19.25 7C18.97 7 18.69 7.04 18.42 7.11C17 7.5 15.6 8.95 13.39 11.38L13.36 11.42L12.83 12L12.83 12L12.83 12L13.36 12.58L13.39 12.62M15.54 12C16.43 11.03 17.13 10.31 17.74 9.79C18.58 9.09 19 9 19.25 9C19.7 9 20 9.35 20 9.69C20 10.07 19.86 10.34 19.67 10.5L18 12L19.67 13.5C19.87 13.68 20 13.95 20 14.25C20 14.7 19.65 15 19.31 15C19 15 18.57 14.9 17.74 14.2C17.13 13.69 16.43 12.97 15.54 12M12.62 10.62C15.03 8.42 16.47 7.03 16.88 5.58C16.96 5.29 17 5 17 4.69C17 3.19 15.75 2 14.25 2C13.62 2 13 2.19 12.5 2.55C12.32 2.68 12.15 2.83 12 3C11.85 2.83 11.68 2.68 11.5 2.55C11 2.19 10.37 2 9.69 2C8.19 2 7 3.25 7 4.75C7 5.03 7.04 5.31 7.11 5.58C7.5 7 8.95 8.4 11.38 10.62L11.42 10.65L11.97 11.15L12 11.18L12.03 11.16L12.59 10.65L12.62 10.61M12 8.47C11.03 7.57 10.31 6.88 9.79 6.26C9.09 5.43 9 5 9 4.75C9 4.3 9.35 4 9.69 4C10.07 4 10.34 4.14 10.5 4.33L12 6L13.5 4.33C13.68 4.13 13.95 4 14.25 4C14.7 4 15 4.35 15 4.69C15 5 14.9 5.43 14.2 6.26C13.69 6.88 12.97 7.57 12 8.47Z\";\r\nexport var mdiCoachLamp = \"M16 5L15 2H13L12 5L6 8H8L8.6 11H4V7H2V17H4V13H9L10 18L12 20L13 22H15L16 20L18 18L20 8H22M16.16 17H11.84L10 8H18Z\";\r\nexport var mdiCoachLampVariant = \"M12.5 2L12 4L10 6.31L5 9H7L9.5 18L12 20L12.5 22H13.5L14 20L16.5 18L19 9H21L16 6.31L14 4L13.5 2M9 9H17L14.78 17H11.22M3 14V22H11.5L11 20H8L5 17V14Z\";\r\nexport var mdiCoatRack = \"M18.33 7.78A1 1 0 0 0 16.66 8.89A2 2 0 1 1 13 10V7.82A3 3 0 1 0 11 7.82V10A2 2 0 1 1 7.34 8.89A1 1 0 1 0 5.67 7.78A4 4 0 0 0 11 13.46V20A2 2 0 0 0 9 22H15A2 2 0 0 0 13 20V13.46A4 4 0 0 0 18.33 7.78M12 4A1 1 0 1 1 11 5A1 1 0 0 1 12 4Z\";\r\nexport var mdiCodeArray = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M6,6V18H10V16H8V8H10V6H6M16,16H14V18H18V6H14V8H16V16Z\";\r\nexport var mdiCodeBlockBraces = \"M5 3C3.9 3 3 3.9 3 5S2.1 7 1 7V9C2.1 9 3 9.9 3 11S3.9 13 5 13H7V11H5V10C5 8.9 4.1 8 3 8C4.1 8 5 7.1 5 6V5H7V3M11 3C12.1 3 13 3.9 13 5S13.9 7 15 7V9C13.9 9 13 9.9 13 11S12.1 13 11 13H9V11H11V10C11 8.9 11.9 8 13 8C11.9 8 11 7.1 11 6V5H9V3H11M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V15H4V18H20V6H17.03V4H20C21.11 4 22 4.89 22 6Z\";\r\nexport var mdiCodeBlockBrackets = \"M2 3V13H6V11H4V5H6V3H2M12 11H10V13H14V3H10V5H12V11M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V15H4V18H20V6H17.03V4H20C21.11 4 22 4.89 22 6Z\";\r\nexport var mdiCodeBlockParentheses = \"M11.6 3C13.1 4.3 14 6.1 14 8S13.1 11.7 11.6 13L10 12.4C11.3 11.4 12 9.7 12 8S11.3 4.6 10 3.6L11.6 3M4.4 3L6 3.6C4.7 4.6 4 6.3 4 8S4.7 11.4 6 12.4L4.4 13C2.9 11.7 2 9.9 2 8S2.9 4.3 4.4 3M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V15H4V18H20V6H16.03V4H20C21.11 4 22 4.89 22 6Z\";\r\nexport var mdiCodeBlockTags = \"M5.59 3.41L7 4.82L3.82 8L7 11.18L5.59 12.6L1 8L5.59 3.41M11.41 3.41L16 8L11.41 12.6L10 11.18L13.18 8L10 4.82L11.41 3.41M22 6V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V14H4V18H20V6H17.03V4H20C21.11 4 22 4.89 22 6Z\";\r\nexport var mdiCodeBraces = \"M8,3A2,2 0 0,0 6,5V9A2,2 0 0,1 4,11H3V13H4A2,2 0 0,1 6,15V19A2,2 0 0,0 8,21H10V19H8V14A2,2 0 0,0 6,12A2,2 0 0,0 8,10V5H10V3M16,3A2,2 0 0,1 18,5V9A2,2 0 0,0 20,11H21V13H20A2,2 0 0,0 18,15V19A2,2 0 0,1 16,21H14V19H16V14A2,2 0 0,1 18,12A2,2 0 0,1 16,10V5H14V3H16Z\";\r\nexport var mdiCodeBracesBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M11 8H9V10C9 11.1 8.1 12 7 12C8.1 12 9 12.9 9 14V16H11V18H9C7.9 18 7 17.1 7 16V15C7 13.9 6.1 13 5 13V11C6.1 11 7 10.1 7 9V8C7 6.9 7.9 6 9 6H11V8M19 13C17.9 13 17 13.9 17 15V16C17 17.1 16.1 18 15 18H13V16H15V14C15 12.9 15.9 12 17 12C15.9 12 15 11.1 15 10V8H13V6H15C16.1 6 17 6.9 17 8V9C17 10.1 17.9 11 19 11V13Z\";\r\nexport var mdiCodeBrackets = \"M15,4V6H18V18H15V20H20V4M4,4V20H9V18H6V6H9V4H4Z\";\r\nexport var mdiCodeEqual = \"M6,13H11V15H6M13,13H18V15H13M13,9H18V11H13M6,9H11V11H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeGreaterThan = \"M10.41,7.41L15,12L10.41,16.6L9,15.18L12.18,12L9,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeGreaterThanOrEqual = \"M13,13H18V15H13M13,9H18V11H13M6.91,7.41L11.5,12L6.91,16.6L5.5,15.18L8.68,12L5.5,8.82M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeJson = \"M5,3H7V5H5V10A2,2 0 0,1 3,12A2,2 0 0,1 5,14V19H7V21H5C3.93,20.73 3,20.1 3,19V15A2,2 0 0,0 1,13H0V11H1A2,2 0 0,0 3,9V5A2,2 0 0,1 5,3M19,3A2,2 0 0,1 21,5V9A2,2 0 0,0 23,11H24V13H23A2,2 0 0,0 21,15V19A2,2 0 0,1 19,21H17V19H19V14A2,2 0 0,1 21,12A2,2 0 0,1 19,10V5H17V3H19M12,15A1,1 0 0,1 13,16A1,1 0 0,1 12,17A1,1 0 0,1 11,16A1,1 0 0,1 12,15M8,15A1,1 0 0,1 9,16A1,1 0 0,1 8,17A1,1 0 0,1 7,16A1,1 0 0,1 8,15M16,15A1,1 0 0,1 17,16A1,1 0 0,1 16,17A1,1 0 0,1 15,16A1,1 0 0,1 16,15Z\";\r\nexport var mdiCodeLessThan = \"M13.59,7.41L9,12L13.59,16.6L15,15.18L11.82,12L15,8.82M19,3C20.11,3 21,3.9 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19Z\";\r\nexport var mdiCodeLessThanOrEqual = \"M13,13H18V15H13M13,9H18V11H13M10.09,7.41L11.5,8.82L8.32,12L11.5,15.18L10.09,16.6L5.5,12M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeNotEqual = \"M6,15H8V17H6M11,13H18V15H11M11,9H18V11H11M6,7H8V13H6M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeNotEqualVariant = \"M11,6.5V9.33L8.33,12L11,14.67V17.5L5.5,12M13,6.43L18.57,12L13,17.57V14.74L15.74,12L13,9.26M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5Z\";\r\nexport var mdiCodeParentheses = \"M17.62,3C19.13,5.27 20,8.55 20,12C20,15.44 19.13,18.72 17.62,21L16,19.96C17.26,18.07 18,15.13 18,12C18,8.87 17.26,5.92 16,4.03L17.62,3M6.38,3L8,4.04C6.74,5.92 6,8.87 6,12C6,15.13 6.74,18.08 8,19.96L6.38,21C4.87,18.73 4,15.45 4,12C4,8.55 4.87,5.27 6.38,3Z\";\r\nexport var mdiCodeParenthesesBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 17.3L8.4 18C6.9 16.5 6 14.3 6 12S6.9 7.5 8.4 6L10 6.7C8.7 7.9 8 9.9 8 12S8.7 16.1 10 17.3M15.6 18L14 17.3C15.3 16 16 14.1 16 12S15.3 7.9 14 6.7L15.6 6C17.1 7.5 18 9.7 18 12C18 14.3 17.1 16.5 15.6 18Z\";\r\nexport var mdiCodeString = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M12.5,11H11.5A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 11.5,8H12.5A1.5,1.5 0 0,1 14,9.5H16A3.5,3.5 0 0,0 12.5,6H11.5A3.5,3.5 0 0,0 8,9.5A3.5,3.5 0 0,0 11.5,13H12.5A1.5,1.5 0 0,1 14,14.5A1.5,1.5 0 0,1 12.5,16H11.5A1.5,1.5 0 0,1 10,14.5H8A3.5,3.5 0 0,0 11.5,18H12.5A3.5,3.5 0 0,0 16,14.5A3.5,3.5 0 0,0 12.5,11Z\";\r\nexport var mdiCodeTags = \"M14.6,16.6L19.2,12L14.6,7.4L16,6L22,12L16,18L14.6,16.6M9.4,16.6L4.8,12L9.4,7.4L8,6L2,12L8,18L9.4,16.6Z\";\r\nexport var mdiCodeTagsCheck = \"M6.59,3.41L2,8L6.59,12.6L8,11.18L4.82,8L8,4.82L6.59,3.41M12.41,3.41L11,4.82L14.18,8L11,11.18L12.41,12.6L17,8L12.41,3.41M21.59,11.59L13.5,19.68L9.83,16L8.42,17.41L13.5,22.5L23,13L21.59,11.59Z\";\r\nexport var mdiCodepen = \"M8.21 12L6.88 12.89V11.11L8.21 12M11.47 9.82V7.34L7.31 10.12L9.16 11.36L11.47 9.82M16.7 10.12L12.53 7.34V9.82L14.84 11.36L16.7 10.12M7.31 13.88L11.47 16.66V14.18L9.16 12.64L7.31 13.88M12.53 14.18V16.66L16.7 13.88L14.84 12.64L12.53 14.18M12 10.74L10.12 12L12 13.26L13.88 12L12 10.74M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M18.18 10.12C18.18 10.09 18.18 10.07 18.18 10.05L18.17 10L18.17 10L18.16 9.95C18.15 9.94 18.15 9.93 18.14 9.91L18.13 9.89L18.11 9.85L18.1 9.83L18.08 9.8L18.06 9.77L18.03 9.74L18 9.72L18 9.7L17.96 9.68L17.95 9.67L12.3 5.91C12.12 5.79 11.89 5.79 11.71 5.91L6.05 9.67L6.05 9.68L6 9.7C6 9.71 6 9.72 6 9.72L5.97 9.74L5.94 9.77L5.93 9.8L5.9 9.83L5.89 9.85L5.87 9.89L5.86 9.91L5.84 9.95L5.84 10L5.83 10L5.82 10.05C5.82 10.07 5.82 10.09 5.82 10.12V13.88C5.82 13.91 5.82 13.93 5.82 13.95L5.83 14L5.84 14L5.84 14.05C5.85 14.06 5.85 14.07 5.86 14.09L5.87 14.11L5.89 14.15L5.9 14.17L5.92 14.2L5.94 14.23C5.95 14.24 5.96 14.25 5.97 14.26L6 14.28L6 14.3L6.04 14.32L6.05 14.33L11.71 18.1C11.79 18.16 11.9 18.18 12 18.18C12.1 18.18 12.21 18.15 12.3 18.1L17.95 14.33L17.96 14.32L18 14.3L18 14.28L18.03 14.26L18.06 14.23L18.08 14.2L18.1 14.17L18.11 14.15L18.13 14.11L18.14 14.09L18.16 14.05L18.16 14L18.17 14L18.18 13.95C18.18 13.93 18.18 13.91 18.18 13.88V10.12M17.12 12.89V11.11L15.79 12L17.12 12.89Z\";\r\nexport var mdiCoffee = \"M2,21H20V19H2M20,8H18V5H20M20,3H4V13A4,4 0 0,0 8,17H14A4,4 0 0,0 18,13V10H20A2,2 0 0,0 22,8V5C22,3.89 21.1,3 20,3Z\";\r\nexport var mdiCoffeeMaker = \"M18 6V4H20V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H20V20H15.97C17.2 19.09 18 17.64 18 16V11H8V16C8 17.64 8.81 19.09 10.03 20H6V4H8V6C8 6.55 8.45 7 9 7H17C17.55 7 18 6.55 18 6M13 8C13.55 8 14 8.45 14 9S13.55 10 13 10 12 9.55 12 9 12.45 8 13 8Z\";\r\nexport var mdiCoffeeMakerCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M13 18C13 15.78 14.21 13.85 16 12.81V11H6V16C6 17.64 6.81 19.09 8.03 20H4V4H6V6C6 6.55 6.45 7 7 7H15C15.55 7 16 6.55 16 6V4H18V2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H14.54C13.58 20.94 13 19.54 13 18M10 9C10 9.55 10.45 10 11 10S12 9.55 12 9 11.55 8 11 8 10 8.45 10 9Z\";\r\nexport var mdiCoffeeMakerCheckOutline = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M13 18.21C12.5 18.7 11.78 19 11 19C9.35 19 8 17.65 8 16V13H14V14.69C14.5 13.92 15.2 13.27 16 12.81V11H6V16C6 17.64 6.81 19.09 8.03 20H4V4H6V6C6 6.55 6.45 7 7 7H15C15.55 7 16 6.55 16 6V4H18V2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H14.54C13.63 21 13.06 19.67 13 18.21M10 9C10 9.55 10.45 10 11 10S12 9.55 12 9 11.55 8 11 8 10 8.45 10 9Z\";\r\nexport var mdiCoffeeMakerOutline = \"M18 6V4H20V2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H20V20H15.97C17.2 19.09 18 17.64 18 16V11H8V16C8 17.64 8.81 19.09 10.03 20H6V4H8V6C8 6.55 8.45 7 9 7H17C17.55 7 18 6.55 18 6M10 16V13H16V16C16 17.65 14.65 19 13 19S10 17.65 10 16M13 8C13.55 8 14 8.45 14 9S13.55 10 13 10 12 9.55 12 9 12.45 8 13 8Z\";\r\nexport var mdiCoffeeOff = \"M3.27 2L22 20.72L20.72 22L19.73 21H2V19H17.73L15.44 16.71C15 16.89 14.5 17 14 17H8C5.79 17 4 15.21 4 13V5.27L2 3.27L3.27 2M22 5V8C22 9.1 21.1 10 20 10H18V13C18 13.36 17.94 13.7 17.85 14.04L6.81 3H20C21.1 3 22 3.89 22 5M20 5H18V8H20V5Z\";\r\nexport var mdiCoffeeOffOutline = \"M2 3.27L4 5.27V13C4 15.21 5.79 17 8 17H14C14.5 17 15 16.89 15.44 16.71L17.73 19H2V21H19.73L20.72 22L22 20.72L3.27 2L2 3.27M8 15C6.9 15 6 14.1 6 13V7.27L13.73 15H8M20 3H6.81L8.81 5H16V12.19L17.85 14.04C17.94 13.7 18 13.36 18 13V10H20C21.1 10 22 9.1 22 8V5C22 3.9 21.1 3 20 3M20 8H18V5H20V8Z\";\r\nexport var mdiCoffeeOutline = \"M2,21V19H20V21H2M20,8V5H18V8H20M20,3A2,2 0 0,1 22,5V8A2,2 0 0,1 20,10H18V13A4,4 0 0,1 14,17H8A4,4 0 0,1 4,13V3H20M16,5H6V13A2,2 0 0,0 8,15H14A2,2 0 0,0 16,13V5Z\";\r\nexport var mdiCoffeeToGo = \"M3,19V17H17L15.26,15.24L16.67,13.83L20.84,18L16.67,22.17L15.26,20.76L17,19H3M17,8V5H15V8H17M17,3C18.11,3 19,3.9 19,5V8C19,9.11 18.11,10 17,10H15V11A4,4 0 0,1 11,15H7A4,4 0 0,1 3,11V3H17Z\";\r\nexport var mdiCoffeeToGoOutline = \"M3 3V11A4 4 0 0 0 7 15H11A4 4 0 0 0 15 11V10H17C18.11 10 19 9.11 19 8V5C19 3.9 18.11 3 17 3H3M5 5H13V11A2 2 0 0 1 11 13H7A2 2 0 0 1 5 11V5M15 5H17V8H15V5M16.67 13.83L15.26 15.24L17 17H3V19H17L15.26 20.76L16.67 22.17L20.84 18L16.67 13.83Z\";\r\nexport var mdiCoffin = \"M8,22L5,8L8,2H16L19,8L16,22H8M11,6V8H9V10H11V15H13V10H15V8H13V6H11Z\";\r\nexport var mdiCog = \"M12,15.5A3.5,3.5 0 0,1 8.5,12A3.5,3.5 0 0,1 12,8.5A3.5,3.5 0 0,1 15.5,12A3.5,3.5 0 0,1 12,15.5M19.43,12.97C19.47,12.65 19.5,12.33 19.5,12C19.5,11.67 19.47,11.34 19.43,11L21.54,9.37C21.73,9.22 21.78,8.95 21.66,8.73L19.66,5.27C19.54,5.05 19.27,4.96 19.05,5.05L16.56,6.05C16.04,5.66 15.5,5.32 14.87,5.07L14.5,2.42C14.46,2.18 14.25,2 14,2H10C9.75,2 9.54,2.18 9.5,2.42L9.13,5.07C8.5,5.32 7.96,5.66 7.44,6.05L4.95,5.05C4.73,4.96 4.46,5.05 4.34,5.27L2.34,8.73C2.21,8.95 2.27,9.22 2.46,9.37L4.57,11C4.53,11.34 4.5,11.67 4.5,12C4.5,12.33 4.53,12.65 4.57,12.97L2.46,14.63C2.27,14.78 2.21,15.05 2.34,15.27L4.34,18.73C4.46,18.95 4.73,19.03 4.95,18.95L7.44,17.94C7.96,18.34 8.5,18.68 9.13,18.93L9.5,21.58C9.54,21.82 9.75,22 10,22H14C14.25,22 14.46,21.82 14.5,21.58L14.87,18.93C15.5,18.67 16.04,18.34 16.56,17.94L19.05,18.95C19.27,19.03 19.54,18.95 19.66,18.73L21.66,15.27C21.78,15.05 21.73,14.78 21.54,14.63L19.43,12.97Z\";\r\nexport var mdiCogBox = \"M17.25,12C17.25,12.23 17.23,12.46 17.2,12.68L18.68,13.84C18.81,13.95 18.85,14.13 18.76,14.29L17.36,16.71C17.27,16.86 17.09,16.92 16.93,16.86L15.19,16.16C14.83,16.44 14.43,16.67 14,16.85L13.75,18.7C13.72,18.87 13.57,19 13.4,19H10.6C10.43,19 10.28,18.87 10.25,18.7L10,16.85C9.56,16.67 9.17,16.44 8.81,16.16L7.07,16.86C6.91,16.92 6.73,16.86 6.64,16.71L5.24,14.29C5.15,14.13 5.19,13.95 5.32,13.84L6.8,12.68C6.77,12.46 6.75,12.23 6.75,12C6.75,11.77 6.77,11.54 6.8,11.32L5.32,10.16C5.19,10.05 5.15,9.86 5.24,9.71L6.64,7.29C6.73,7.13 6.91,7.07 7.07,7.13L8.81,7.84C9.17,7.56 9.56,7.32 10,7.15L10.25,5.29C10.28,5.13 10.43,5 10.6,5H13.4C13.57,5 13.72,5.13 13.75,5.29L14,7.15C14.43,7.32 14.83,7.56 15.19,7.84L16.93,7.13C17.09,7.07 17.27,7.13 17.36,7.29L18.76,9.71C18.85,9.86 18.81,10.05 18.68,10.16L17.2,11.32C17.23,11.54 17.25,11.77 17.25,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M12,10C10.89,10 10,10.89 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,10.89 13.1,10 12,10Z\";\r\nexport var mdiCogClockwise = \"M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C14 21 15.92 20.34 17.5 19.14L16.06 17.7C14.87 18.54 13.45 19 12 19C8.13 19 5 15.87 5 12S8.13 5 12 5 19 8.13 19 12H16L20 16L24 12H21C21 7.03 16.97 3 12 3M7.71 13.16C7.62 13.23 7.59 13.35 7.64 13.45L8.54 15C8.6 15.12 8.72 15.12 8.82 15.12L9.95 14.67C10.19 14.83 10.44 14.97 10.7 15.09L10.88 16.28C10.9 16.39 11 16.47 11.1 16.47H12.9C13 16.5 13.11 16.41 13.13 16.3L13.31 15.12C13.58 15 13.84 14.85 14.07 14.67L15.19 15.12C15.3 15.16 15.42 15.11 15.47 15L16.37 13.5C16.42 13.38 16.39 13.26 16.31 13.19L15.31 12.45C15.34 12.15 15.34 11.85 15.31 11.55L16.31 10.79C16.4 10.72 16.42 10.61 16.37 10.5L15.47 8.95C15.41 8.85 15.3 8.81 15.19 8.85L14.07 9.3C13.83 9.13 13.57 9 13.3 8.88L13.13 7.69C13.11 7.58 13 7.5 12.9 7.5H11.14C11.04 7.5 10.95 7.57 10.93 7.67L10.76 8.85C10.5 8.97 10.23 9.12 10 9.3L8.85 8.88C8.74 8.84 8.61 8.89 8.56 9L7.65 10.5C7.6 10.62 7.63 10.74 7.71 10.81L8.71 11.55C8.69 11.7 8.69 11.85 8.71 12C8.7 12.15 8.7 12.3 8.71 12.45L7.71 13.19M12 13.5H12C11.16 13.5 10.5 12.82 10.5 12C10.5 11.17 11.17 10.5 12 10.5S13.5 11.17 13.5 12 12.83 13.5 12 13.5\";\r\nexport var mdiCogCounterclockwise = \"M12 3C7.03 3 3 7.03 3 12H0L4 16L8 12H5C5 8.13 8.13 5 12 5S19 8.13 19 12 15.87 19 12 19C10.55 19 9.13 18.54 7.94 17.7L6.5 19.14C8.08 20.34 10 21 12 21C16.97 21 21 16.97 21 12S16.97 3 12 3M16.29 13.19L15.29 12.45C15.3 12.3 15.3 12.15 15.29 12C15.31 11.85 15.31 11.7 15.29 11.55L16.29 10.81C16.37 10.74 16.4 10.62 16.35 10.5L15.44 9C15.39 8.89 15.26 8.84 15.15 8.88L14 9.3C13.77 9.12 13.5 8.97 13.24 8.85L13.07 7.67C13.05 7.57 12.96 7.5 12.86 7.5H11.1C11 7.5 10.89 7.58 10.87 7.69L10.7 8.88C10.43 9 10.17 9.13 9.93 9.3L8.81 8.85C8.71 8.81 8.59 8.85 8.53 8.95L7.63 10.5C7.58 10.61 7.6 10.72 7.69 10.79L8.69 11.55C8.66 11.85 8.66 12.15 8.69 12.45L7.69 13.19C7.61 13.26 7.58 13.38 7.63 13.5L8.53 15C8.58 15.11 8.7 15.16 8.81 15.12L9.93 14.67C10.16 14.85 10.42 15 10.69 15.12L10.87 16.3C10.89 16.41 11 16.5 11.1 16.47H12.9C13 16.47 13.11 16.39 13.12 16.28L13.3 15.09C13.56 14.97 13.81 14.83 14.05 14.67L15.18 15.12C15.28 15.12 15.4 15.12 15.46 15L16.36 13.45C16.41 13.35 16.38 13.23 16.29 13.16M12 13.5C11.17 13.5 10.5 12.83 10.5 12S11.17 10.5 12 10.5 13.5 11.17 13.5 12C13.5 12.82 12.84 13.5 12 13.5H12\";\r\nexport var mdiCogOff = \"M22.12 21.46L2.4 1.73L1.12 3L4 5.87L2.34 8.73C2.21 8.95 2.27 9.22 2.46 9.37L4.57 11C4.53 11.34 4.5 11.67 4.5 12S4.53 12.65 4.57 12.97L2.46 14.63C2.27 14.78 2.21 15.05 2.34 15.27L4.34 18.73C4.46 18.95 4.73 19.03 4.95 18.95L7.44 17.94C7.96 18.34 8.5 18.68 9.13 18.93L9.5 21.58C9.54 21.82 9.75 22 10 22H14C14.25 22 14.46 21.82 14.5 21.58L14.87 18.93C15.38 18.72 15.83 18.45 16.26 18.14L20.85 22.73L22.12 21.46M12 15.5C10.07 15.5 8.5 13.93 8.5 12C8.5 11.5 8.62 11.08 8.79 10.67L13.33 15.21C12.92 15.39 12.5 15.5 12 15.5M11.74 8.53L8.56 5.35C8.75 5.25 8.93 5.15 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12S19.47 12.65 19.43 12.97L21.54 14.63C21.73 14.78 21.78 15.05 21.66 15.27L20.5 17.29L15.47 12.26C15.5 12.18 15.5 12.09 15.5 12C15.5 10.07 13.93 8.5 12 8.5C11.91 8.5 11.83 8.5 11.74 8.53Z\";\r\nexport var mdiCogOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.88L2.34 8.73C2.21 8.95 2.27 9.22 2.46 9.37L4.57 11L4.5 12L4.57 12.97L2.46 14.63C2.27 14.78 2.21 15.05 2.34 15.27L4.34 18.73C4.46 18.95 4.73 19.03 4.95 18.95L7.44 17.94C7.96 18.34 8.5 18.68 9.13 18.93L9.5 21.58C9.54 21.82 9.75 22 10 22H14C14.25 22 14.46 21.82 14.5 21.58L14.87 18.93C15.38 18.73 15.83 18.45 16.26 18.15L20.84 22.73L22.11 21.46M10 11.9L12.1 14C12.06 14 12.03 14 12 14C10.9 14 10 13.11 10 12C10 11.97 10 11.94 10 11.9M13.13 17.39L12.76 20H11.24L10.87 17.38C9.68 17.14 8.63 16.5 7.86 15.62L5.43 16.66L4.68 15.36L6.8 13.8C6.4 12.64 6.4 11.37 6.8 10.2L4.69 8.65L5.44 7.35L5.5 7.37L8.4 10.29C8.15 10.8 8 11.38 8 12C8 14.21 9.79 16 12 16C12.62 16 13.2 15.86 13.71 15.6L14.83 16.72C14.31 17.03 13.74 17.26 13.13 17.39M10.06 6.86L8.55 5.35C8.74 5.26 8.93 5.15 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12L19.43 13L21.54 14.63C21.73 14.78 21.79 15.05 21.66 15.27L20.5 17.29L19.04 15.84L19.32 15.36L17.2 13.81C17.6 12.64 17.6 11.37 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C10.6 6.67 10.32 6.75 10.06 6.86M12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L11.27 8.07C11.5 8.03 11.75 8 12 8Z\";\r\nexport var mdiCogOutline = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\";\r\nexport var mdiCogPause = \"M13.53 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97C4.53 12.65 4.5 12.33 4.5 12S4.53 11.34 4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12C19.5 12.06 19.5 12.12 19.5 12.19C19 12.07 18.5 12 18 12C17.08 12 16.22 12.21 15.44 12.58C15.47 12.39 15.5 12.2 15.5 12C15.5 10.07 13.93 8.5 12 8.5S8.5 10.07 8.5 12 10.07 15.5 12 15.5C12.2 15.5 12.39 15.47 12.58 15.44C12.21 16.22 12 17.08 12 18C12 19.54 12.58 20.94 13.53 22M19 15H21V21H19M15 15H17V21H15V15Z\";\r\nexport var mdiCogPauseOutline = \"M13.54 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97L4.5 12L4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12L19.5 12.19C19 12.07 18.5 12 18 12C17.83 12 17.66 12 17.5 12.03C17.5 11.41 17.4 10.79 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C9.68 6.86 8.62 7.5 7.85 8.39L5.44 7.35L4.69 8.65L6.8 10.2C6.4 11.37 6.4 12.64 6.8 13.8L4.68 15.36L5.43 16.66L7.86 15.62C8.63 16.5 9.68 17.14 10.87 17.38L11.24 20H12.35C12.61 20.75 13 21.42 13.54 22M12.36 15.96C12.24 16 12.12 16 12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12C16 12.12 16 12.24 15.96 12.36C14.29 12.97 12.97 14.29 12.36 15.96M14 12C14 10.9 13.11 10 12 10S10 10.9 10 12 10.9 14 12 14 14 13.11 14 12M19 15H21V21H19M15 15H17V21H15V15Z\";\r\nexport var mdiCogPlay = \"M13.53 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97C4.53 12.65 4.5 12.33 4.5 12S4.53 11.34 4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12V12.19C19 12.07 18.5 12 18 12C17.08 12 16.22 12.21 15.44 12.58C15.47 12.39 15.5 12.2 15.5 12C15.5 10.07 13.93 8.5 12 8.5S8.5 10.07 8.5 12 10.07 15.5 12 15.5C12.2 15.5 12.39 15.47 12.58 15.44C12.21 16.22 12 17.08 12 18C12 19.54 12.58 20.94 13.53 22M16 15V21L21 18L16 15Z\";\r\nexport var mdiCogPlayOutline = \"M13.54 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97L4.5 12L4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12V12.19C19 12.07 18.5 12 18 12C17.83 12 17.66 12 17.5 12.03C17.5 11.41 17.4 10.79 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C9.68 6.86 8.62 7.5 7.85 8.39L5.44 7.35L4.69 8.65L6.8 10.2C6.4 11.37 6.4 12.64 6.8 13.8L4.68 15.36L5.43 16.66L7.86 15.62C8.63 16.5 9.68 17.14 10.87 17.38L11.24 20H12.35C12.61 20.75 13 21.42 13.54 22M15.96 12.36C16 12.24 16 12.12 16 12C16 9.79 14.21 8 12 8S8 9.79 8 12 9.79 16 12 16C12.12 16 12.24 16 12.36 15.96C12.97 14.29 14.29 12.97 15.96 12.36M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M16 15V21L21 18L16 15Z\";\r\nexport var mdiCogRefresh = \"M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5M11.5 18.5C11.5 17.4 11.8 16.4 12.2 15.5H12C10.1 15.5 8.5 13.9 8.5 12S10.1 8.5 12 8.5 15.5 10.1 15.5 12C15.5 12.2 15.5 12.4 15.4 12.5C16.2 12.2 17 12 18 12C18.5 12 19 12.1 19.5 12.2V12C19.5 11.7 19.5 11.3 19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11C4.6 11.3 4.5 11.7 4.5 12S4.5 12.7 4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C11.9 21 11.5 19.8 11.5 18.5Z\";\r\nexport var mdiCogRefreshOutline = \"M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5M11.7 20H11.3L10.9 17.4C9.7 17.2 8.7 16.5 7.9 15.6L5.5 16.6L4.7 15.3L6.8 13.7C6.4 12.5 6.4 11.3 6.8 10.1L4.7 8.7L5.5 7.4L7.9 8.4C8.7 7.5 9.7 6.9 10.9 6.6L11.2 4H12.7L13.1 6.6C14.3 6.8 15.4 7.5 16.1 8.4L18.5 7.4L19.3 8.7L17.2 10.2C17.4 10.8 17.5 11.4 17.5 12H18C18.5 12 19 12.1 19.5 12.2V12L19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11L4.5 12L4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C12.1 21.4 11.9 20.7 11.7 20M16 12.3V12C16 9.8 14.2 8 12 8S8 9.8 8 12C8 14.2 9.8 16 12 16C12.7 14.3 14.2 12.9 16 12.3M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12Z\";\r\nexport var mdiCogStop = \"M13.53 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97C4.53 12.65 4.5 12.33 4.5 12S4.53 11.34 4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.78 8.95 21.73 9.22 21.54 9.37L19.43 11C19.47 11.34 19.5 11.67 19.5 12C19.5 12.06 19.5 12.12 19.5 12.19C19 12.07 18.5 12 18 12C17.08 12 16.22 12.21 15.44 12.58C15.47 12.39 15.5 12.2 15.5 12C15.5 10.07 13.93 8.5 12 8.5S8.5 10.07 8.5 12 10.07 15.5 12 15.5C12.2 15.5 12.39 15.47 12.58 15.44C12.21 16.22 12 17.08 12 18C12 19.54 12.58 20.94 13.53 22M21 15H15V21H21V15Z\";\r\nexport var mdiCogStopOutline = \"M13.54 22H10C9.75 22 9.54 21.82 9.5 21.58L9.13 18.93C8.5 18.68 7.96 18.34 7.44 17.94L4.95 18.95C4.73 19.03 4.46 18.95 4.34 18.73L2.34 15.27C2.21 15.05 2.27 14.78 2.46 14.63L4.57 12.97L4.5 12L4.57 11L2.46 9.37C2.27 9.22 2.21 8.95 2.34 8.73L4.34 5.27C4.46 5.05 4.73 4.96 4.95 5.05L7.44 6.05C7.96 5.66 8.5 5.32 9.13 5.07L9.5 2.42C9.54 2.18 9.75 2 10 2H14C14.25 2 14.46 2.18 14.5 2.42L14.87 5.07C15.5 5.32 16.04 5.66 16.56 6.05L19.05 5.05C19.27 4.96 19.54 5.05 19.66 5.27L21.66 8.73C21.79 8.95 21.73 9.22 21.54 9.37L19.43 11L19.5 12L19.5 12.19C19 12.07 18.5 12 18 12C17.83 12 17.66 12 17.5 12.03C17.5 11.41 17.4 10.79 17.2 10.2L19.31 8.65L18.56 7.35L16.15 8.39C15.38 7.5 14.32 6.86 13.12 6.62L12.75 4H11.25L10.88 6.61C9.68 6.86 8.62 7.5 7.85 8.39L5.44 7.35L4.69 8.65L6.8 10.2C6.4 11.37 6.4 12.64 6.8 13.8L4.68 15.36L5.43 16.66L7.86 15.62C8.63 16.5 9.68 17.14 10.87 17.38L11.24 20H12.35C12.61 20.75 13 21.42 13.54 22M12.36 15.96C12.24 16 12.12 16 12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12C16 12.12 16 12.24 15.96 12.36C14.29 12.97 12.97 14.29 12.36 15.96M14 12C14 10.9 13.11 10 12 10S10 10.9 10 12 10.9 14 12 14 14 13.11 14 12M15 15H21V21H15V15Z\";\r\nexport var mdiCogSync = \"M11.5 18.5C11.5 17.4 11.8 16.4 12.2 15.5H12C10.1 15.5 8.5 13.9 8.5 12S10.1 8.5 12 8.5 15.5 10.1 15.5 12C15.5 12.2 15.5 12.4 15.4 12.5C16.2 12.2 17 12 18 12C18.5 12 19 12.1 19.5 12.2V12C19.5 11.7 19.5 11.3 19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11C4.6 11.3 4.5 11.7 4.5 12S4.5 12.7 4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C11.9 21 11.5 19.8 11.5 18.5M18 14.5V13L15.8 15.2L18 17.4V16C19.4 16 20.5 17.1 20.5 18.5C20.5 18.9 20.4 19.3 20.2 19.6L21.3 20.7C22.5 18.9 22 16.4 20.2 15.2C19.6 14.7 18.8 14.5 18 14.5M18 21C16.6 21 15.5 19.9 15.5 18.5C15.5 18.1 15.6 17.7 15.8 17.4L14.7 16.3C13.5 18.1 14 20.6 15.8 21.8C16.5 22.2 17.2 22.5 18 22.5V24L20.2 21.8L18 19.5V21Z\";\r\nexport var mdiCogSyncOutline = \"M11.7 20H11.3L10.9 17.4C9.7 17.2 8.7 16.5 7.9 15.6L5.5 16.6L4.7 15.3L6.8 13.7C6.4 12.5 6.4 11.3 6.8 10.1L4.7 8.7L5.5 7.4L7.9 8.4C8.7 7.5 9.7 6.9 10.9 6.6L11.2 4H12.7L13.1 6.6C14.3 6.8 15.4 7.5 16.1 8.4L18.5 7.4L19.3 8.7L17.2 10.2C17.4 10.8 17.5 11.4 17.5 12H18C18.5 12 19 12.1 19.5 12.2V12L19.4 11L21.5 9.4C21.7 9.2 21.7 9 21.6 8.8L19.6 5.3C19.5 5 19.3 5 19 5L16.5 6C16 5.6 15.4 5.3 14.8 5L14.4 2.3C14.5 2.2 14.2 2 14 2H10C9.8 2 9.5 2.2 9.5 2.4L9.1 5.1C8.5 5.3 8 5.7 7.4 6L5 5C4.7 5 4.5 5 4.3 5.3L2.3 8.8C2.2 9 2.3 9.2 2.5 9.4L4.6 11L4.5 12L4.6 13L2.5 14.7C2.3 14.9 2.3 15.1 2.4 15.3L4.4 18.8C4.5 19 4.7 19 5 19L7.5 18C8 18.4 8.6 18.7 9.2 19L9.6 21.7C9.6 21.9 9.8 22.1 10.1 22.1H12.6C12.1 21.4 11.9 20.7 11.7 20M16 12.3V12C16 9.8 14.2 8 12 8S8 9.8 8 12C8 14.2 9.8 16 12 16C12.7 14.3 14.2 12.9 16 12.3M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12M18 14.5V13L15.8 15.2L18 17.4V16C19.4 16 20.5 17.1 20.5 18.5C20.5 18.9 20.4 19.3 20.2 19.6L21.3 20.7C22.5 18.9 22 16.4 20.2 15.2C19.6 14.7 18.8 14.5 18 14.5M18 21C16.6 21 15.5 19.9 15.5 18.5C15.5 18.1 15.6 17.7 15.8 17.4L14.7 16.3C13.5 18.1 14 20.6 15.8 21.8C16.5 22.2 17.2 22.5 18 22.5V24L20.2 21.8L18 19.5V21Z\";\r\nexport var mdiCogTransfer = \"M14 18V16L10 19.5L14 23V21H17V18H14M22 15.5L18 12V14H15V17H18V19L22 15.5M21.66 8.73L19.66 5.27C19.54 5.05 19.28 4.96 19.05 5.05L16.56 6.05C16.05 5.64 15.5 5.31 14.87 5.05L14.5 2.42C14.46 2.18 14.25 2 14 2H10C9.75 2 9.54 2.18 9.5 2.42L9.13 5.07C8.5 5.33 7.96 5.66 7.44 6.07L5 5.05C4.77 4.96 4.5 5.05 4.39 5.27L2.39 8.73C2.26 8.94 2.31 9.22 2.5 9.37L4.57 11C4.53 11.33 4.5 11.67 4.5 12C4.5 12.33 4.53 12.67 4.57 13L2.46 14.63C2.26 14.78 2.21 15.06 2.34 15.27L4.34 18.73C4.45 19 4.74 19.11 5 19L5 19L7.5 18C7.74 18.19 8 18.37 8.26 18.53L11.77 15.53C9.84 15.4 8.38 13.73 8.5 11.8C8.65 9.87 10.32 8.41 12.25 8.55C13.69 8.64 14.92 9.62 15.35 11H19.43L21.54 9.37C21.73 9.22 21.78 8.94 21.66 8.73Z\";\r\nexport var mdiCogTransferOutline = \"M15 17V14H18V12L22 15.5L18 19V17H15M17 18V21H14V23L10 19.5L14 16V18H17M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M21.66 8.73L19.66 5.27C19.54 5.05 19.28 4.96 19.05 5.05L16.56 6.05C16.05 5.64 15.5 5.31 14.87 5.05L14.5 2.42C14.46 2.18 14.25 2 14 2H10C9.75 2 9.54 2.18 9.5 2.42L9.13 5.07C8.5 5.33 7.96 5.66 7.44 6.07L5 5.05C4.77 4.96 4.5 5.05 4.39 5.27L2.39 8.73C2.26 8.94 2.31 9.22 2.5 9.37L4.57 11L4.5 12L4.57 13L2.46 14.63C2.26 14.78 2.21 15.06 2.34 15.27L4.34 18.73C4.45 19 4.74 19.11 5 19L5 19L7.5 18C7.74 18.19 8 18.37 8.26 18.53L9.91 17.13C9.14 16.8 8.46 16.31 7.91 15.68L5.5 16.68L4.73 15.38L6.8 13.8C6.4 12.63 6.4 11.37 6.8 10.2L4.69 8.65L5.44 7.35L7.85 8.35C8.63 7.45 9.68 6.82 10.85 6.57L11.25 4H12.75L13.12 6.62C14.29 6.86 15.34 7.5 16.12 8.39L18.53 7.39L19.28 8.69L17.2 10.2C17.29 10.46 17.36 10.73 17.4 11H19.4L21.5 9.37C21.72 9.23 21.78 8.95 21.66 8.73M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M12 8C9.79 8 8 9.8 8 12C8 13.91 9.35 15.54 11.21 15.92L16 11.86C15.93 9.71 14.16 8 12 8M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14Z\";\r\nexport var mdiCogs = \"M15.9,18.45C17.25,18.45 18.35,17.35 18.35,16C18.35,14.65 17.25,13.55 15.9,13.55C14.54,13.55 13.45,14.65 13.45,16C13.45,17.35 14.54,18.45 15.9,18.45M21.1,16.68L22.58,17.84C22.71,17.95 22.75,18.13 22.66,18.29L21.26,20.71C21.17,20.86 21,20.92 20.83,20.86L19.09,20.16C18.73,20.44 18.33,20.67 17.91,20.85L17.64,22.7C17.62,22.87 17.47,23 17.3,23H14.5C14.32,23 14.18,22.87 14.15,22.7L13.89,20.85C13.46,20.67 13.07,20.44 12.71,20.16L10.96,20.86C10.81,20.92 10.62,20.86 10.54,20.71L9.14,18.29C9.05,18.13 9.09,17.95 9.22,17.84L10.7,16.68L10.65,16L10.7,15.31L9.22,14.16C9.09,14.05 9.05,13.86 9.14,13.71L10.54,11.29C10.62,11.13 10.81,11.07 10.96,11.13L12.71,11.84C13.07,11.56 13.46,11.32 13.89,11.15L14.15,9.29C14.18,9.13 14.32,9 14.5,9H17.3C17.47,9 17.62,9.13 17.64,9.29L17.91,11.15C18.33,11.32 18.73,11.56 19.09,11.84L20.83,11.13C21,11.07 21.17,11.13 21.26,11.29L22.66,13.71C22.75,13.86 22.71,14.05 22.58,14.16L21.1,15.31L21.15,16L21.1,16.68M6.69,8.07C7.56,8.07 8.26,7.37 8.26,6.5C8.26,5.63 7.56,4.92 6.69,4.92A1.58,1.58 0 0,0 5.11,6.5C5.11,7.37 5.82,8.07 6.69,8.07M10.03,6.94L11,7.68C11.07,7.75 11.09,7.87 11.03,7.97L10.13,9.53C10.08,9.63 9.96,9.67 9.86,9.63L8.74,9.18L8,9.62L7.81,10.81C7.79,10.92 7.7,11 7.59,11H5.79C5.67,11 5.58,10.92 5.56,10.81L5.4,9.62L4.64,9.18L3.5,9.63C3.41,9.67 3.3,9.63 3.24,9.53L2.34,7.97C2.28,7.87 2.31,7.75 2.39,7.68L3.34,6.94L3.31,6.5L3.34,6.06L2.39,5.32C2.31,5.25 2.28,5.13 2.34,5.03L3.24,3.47C3.3,3.37 3.41,3.33 3.5,3.37L4.63,3.82L5.4,3.38L5.56,2.19C5.58,2.08 5.67,2 5.79,2H7.59C7.7,2 7.79,2.08 7.81,2.19L8,3.38L8.74,3.82L9.86,3.37C9.96,3.33 10.08,3.37 10.13,3.47L11.03,5.03C11.09,5.13 11.07,5.25 11,5.32L10.03,6.06L10.06,6.5L10.03,6.94Z\";\r\nexport var mdiCollage = \"M5,3C3.89,3 3,3.89 3,5V19C3,20.11 3.89,21 5,21H11V3M13,3V11H21V5C21,3.89 20.11,3 19,3M13,13V21H19C20.11,21 21,20.11 21,19V13\";\r\nexport var mdiCollapseAll = \"M14,4H4V14H2V4A2,2 0 0,1 4,2H14V4M18,6H8A2,2 0 0,0 6,8V18H8V8H18V6M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H12V17H20V15Z\";\r\nexport var mdiCollapseAllOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H13V15H19V17Z\";\r\nexport var mdiColorHelper = \"M0,24H24V20H0V24Z\";\r\nexport var mdiComma = \"M7,3H16.95V12.96L12.96,20.94H8L11.97,12.96H7V3Z\";\r\nexport var mdiCommaBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,13V7H9V13H12L10,17H13L15,13Z\";\r\nexport var mdiCommaBoxOutline = \"M10,17L12,13H9V7H15V13L13,17H10M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiCommaCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15,13L13,17H10L12,13H9V7H15V13Z\";\r\nexport var mdiCommaCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M10,17H13L15,13V7H9V13H12L10,17Z\";\r\nexport var mdiComment = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9Z\";\r\nexport var mdiCommentAccount = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M16,14V13C16,11.67 13.33,11 12,11C10.67,11 8,11.67 8,13V14H16M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6Z\";\r\nexport var mdiCommentAccountOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M16,14H8V13C8,11.67 10.67,11 12,11C13.33,11 16,11.67 16,13V14M12,6A2,2 0 0,1 14,8A2,2 0 0,1 12,10A2,2 0 0,1 10,8A2,2 0 0,1 12,6Z\";\r\nexport var mdiCommentAlert = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M13 11V5H11V11M13 15V13H11V15H13Z\";\r\nexport var mdiCommentAlertOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M13,10H11V6H13V10M13,14H11V12H13V14Z\";\r\nexport var mdiCommentArrowLeft = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M16 11H11.5L13.3 12.8L12 14L8 10L12 6L13.2 7.2L11.5 9H16V11Z\";\r\nexport var mdiCommentArrowLeftOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H13.1L10 19.1V16H4V4H20V16M16 11V9H11.5L13.3 7.2L12 6L8 10L12 14L13.2 12.8L11.5 11H16Z\";\r\nexport var mdiCommentArrowRight = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14L10.8 12.8L12.6 11H8V9H12.5L10.7 7.2L12 6L16 10L12 14Z\";\r\nexport var mdiCommentArrowRightOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H13.1L10 19.1V16H4V4H20V16M8 9V11H12.5L10.7 12.8L12 14L16 10L12 6L10.8 7.2L12.5 9H8Z\";\r\nexport var mdiCommentBookmark = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M19 13L16.5 11.5L14 13V5H19V13Z\";\r\nexport var mdiCommentBookmarkOutline = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M10 16V19.1L13.1 16H20V4H4V16H10M18 14V6H13V14L15.5 12.5L18 14Z\";\r\nexport var mdiCommentCheck = \"M20 2H4C2.9 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6L17 7.41L10.47 14Z\";\r\nexport var mdiCommentCheckOutline = \"M9 22C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9M10 16V19.08L13.08 16H20V4H4V16H10M15.6 6L17 7.41L10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6\";\r\nexport var mdiCommentEdit = \"M20 2H4C2.89 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.89 21.1 2 20 2M9.08 15H7V12.91L13.17 6.72L15.24 8.8L9.08 15M16.84 7.2L15.83 8.21L13.76 6.18L14.77 5.16C14.97 4.95 15.31 4.94 15.55 5.16L16.84 6.41C17.05 6.62 17.06 6.96 16.84 7.2Z\";\r\nexport var mdiCommentEditOutline = \"M9 22C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9M10 16V19.08L13.08 16H20V4H4V16H10M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\r\nexport var mdiCommentEye = \"M20,12V16C20,17.11 19.11,18 18,18H13.9L10.2,21.71C10,21.89 9.76,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6C2,4.89 2.9,4 4,4H9.5C8.95,4.67 8.5,5.42 8.14,6.25L7.85,7L8.14,7.75C9.43,10.94 12.5,13 16,13C17.44,13 18.8,12.63 20,12M16,6C16.56,6 17,6.44 17,7C17,7.56 16.56,8 16,8C15.44,8 15,7.56 15,7C15,6.44 15.44,6 16,6M16,3C18.73,3 21.06,4.66 22,7C21.06,9.34 18.73,11 16,11C13.27,11 10.94,9.34 10,7C10.94,4.66 13.27,3 16,3M16,4.5A2.5,2.5 0 0,0 13.5,7A2.5,2.5 0 0,0 16,9.5A2.5,2.5 0 0,0 18.5,7A2.5,2.5 0 0,0 16,4.5\";\r\nexport var mdiCommentEyeOutline = \"M16,6C16.56,6 17,6.44 17,7C17,7.56 16.56,8 16,8C15.44,8 15,7.56 15,7C15,6.44 15.44,6 16,6M16,3C18.73,3 21.06,4.66 22,7C21.06,9.34 18.73,11 16,11C13.27,11 10.94,9.34 10,7C10.94,4.66 13.27,3 16,3M16,4.5A2.5,2.5 0 0,0 13.5,7A2.5,2.5 0 0,0 16,9.5A2.5,2.5 0 0,0 18.5,7A2.5,2.5 0 0,0 16,4.5M18,12.75V16H13.08L10,19.08V16H4V6H8.27C8.59,5.27 9,4.6 9.5,4H4A2,2 0 0,0 2,6V16C2,17.11 2.9,18 4,18H8V21A1,1 0 0,0 9,22H9.5C9.75,22 10,21.9 10.2,21.71L13.9,18H18C19.11,18 20,17.11 20,16V12C19.37,12.33 18.7,12.58 18,12.75Z\";\r\nexport var mdiCommentFlash = \"M22.5 16H20.3L22 12H17V18H19V23L22.5 16M15 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V10H15V18Z\";\r\nexport var mdiCommentFlashOutline = \"M22.5 16H20.3L22 12H17V18H19V23L22.5 16M15 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V10H20V4H4V16H10V19.1L13.1 16H15V18Z\";\r\nexport var mdiCommentMinus = \"M20 2H4C2.9 2 2 2.89 2 4V16C2 17.11 2.9 18 4 18H8V21C8 21.55 8.45 22 9 22H9.5C9.75 22 10 21.9 10.2 21.71L13.9 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M16 11H8V9H16V11Z\";\r\nexport var mdiCommentMinusOutline = \"M16 11H8V9H16V11M22 4V16C22 17.11 21.11 18 20 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 2.89 2.9 2 4 2H20C21.11 2 22 2.9 22 4M20 4H4V16H10V19.08L13.08 16H20V4\";\r\nexport var mdiCommentMultiple = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15Z\";\r\nexport var mdiCommentMultipleOutline = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7C5,5.89 5.9,5 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.9 12.75,23 12.5,23V23H12M13,17V20.08L16.08,17H21V7H7V17H13M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15Z\";\r\nexport var mdiCommentOff = \"M22.11 21.46L20.84 22.73L16.11 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4 3.9L1.11 3L2.39 1.73L22.11 21.46M22 16V4C22 2.9 21.11 2 20 2H5.2L20.95 17.75C21.57 17.41 22 16.76 22 16Z\";\r\nexport var mdiCommentOffOutline = \"M7.2 4L5.2 2H20C21.11 2 22 2.9 22 4V16C22 16.76 21.57 17.41 20.95 17.75L19.2 16H20V4H7.2M22.11 21.46L20.84 22.73L16.11 18H13.9L10.2 21.71C10 21.9 9.75 22 9.5 22H9C8.45 22 8 21.55 8 21V18H4C2.9 18 2 17.11 2 16V4C2 3.97 2 3.93 2 3.9L1.11 3L2.39 1.73L22.11 21.46M14.11 16L4 5.89V16H10V19.08L13.08 16H14.11Z\";\r\nexport var mdiCommentOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10Z\";\r\nexport var mdiCommentPlus = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22H9M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\r\nexport var mdiCommentPlusOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M11,6H13V9H16V11H13V14H11V11H8V9H11V6Z\";\r\nexport var mdiCommentProcessing = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M17,11V9H15V11H17M13,11V9H11V11H13M9,11V9H7V11H9Z\";\r\nexport var mdiCommentProcessingOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M17,11H15V9H17V11M13,11H11V9H13V11M9,11H7V9H9V11Z\";\r\nexport var mdiCommentQuestion = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2M12.19,5.5C11.3,5.5 10.59,5.68 10.05,6.04C9.5,6.4 9.22,7 9.27,7.69H11.24C11.24,7.41 11.34,7.2 11.5,7.06C11.7,6.92 11.92,6.85 12.19,6.85C12.5,6.85 12.77,6.93 12.95,7.11C13.13,7.28 13.22,7.5 13.22,7.8C13.22,8.08 13.14,8.33 13,8.54C12.83,8.76 12.62,8.94 12.36,9.08C11.84,9.4 11.5,9.68 11.29,9.92C11.1,10.16 11,10.5 11,11H13C13,10.72 13.05,10.5 13.14,10.32C13.23,10.15 13.4,10 13.66,9.85C14.12,9.64 14.5,9.36 14.79,9C15.08,8.63 15.23,8.24 15.23,7.8C15.23,7.1 14.96,6.54 14.42,6.12C13.88,5.71 13.13,5.5 12.19,5.5M11,12V14H13V12H11Z\";\r\nexport var mdiCommentQuestionOutline = \"M4,2A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H8V21A1,1 0 0,0 9,22H9.5V22C9.75,22 10,21.9 10.2,21.71L13.9,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2H4M4,4H20V16H13.08L10,19.08V16H4V4M12.19,5.5C11.3,5.5 10.59,5.68 10.05,6.04C9.5,6.4 9.22,7 9.27,7.69C0.21,7.69 6.57,7.69 11.24,7.69C11.24,7.41 11.34,7.2 11.5,7.06C11.7,6.92 11.92,6.85 12.19,6.85C12.5,6.85 12.77,6.93 12.95,7.11C13.13,7.28 13.22,7.5 13.22,7.8C13.22,8.08 13.14,8.33 13,8.54C12.83,8.76 12.62,8.94 12.36,9.08C11.84,9.4 11.5,9.68 11.29,9.92C11.1,10.16 11,10.5 11,11H13C13,10.72 13.05,10.5 13.14,10.32C13.23,10.15 13.4,10 13.66,9.85C14.12,9.64 14.5,9.36 14.79,9C15.08,8.63 15.23,8.24 15.23,7.8C15.23,7.1 14.96,6.54 14.42,6.12C13.88,5.71 13.13,5.5 12.19,5.5M11,12V14H13V12H11Z\";\r\nexport var mdiCommentQuote = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H8V21C8 21.6 8.4 22 9 22H9.5C9.7 22 10 21.9 10.2 21.7L13.9 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M11 13H7V8.8L8.3 6H10.3L8.9 9H11V13M17 13H13V8.8L14.3 6H16.3L14.9 9H17V13Z\";\r\nexport var mdiCommentQuoteOutline = \"M9 22C8.4 22 8 21.6 8 21V18H4C2.9 18 2 17.1 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4V16C22 17.1 21.1 18 20 18H13.9L10.2 21.7C10 21.9 9.8 22 9.5 22H9M10 16V19.1L13.1 16H20V4H4V16H10M16.3 6L14.9 9H17V13H13V8.8L14.3 6H16.3M10.3 6L8.9 9H11V13H7V8.8L8.3 6H10.3Z\";\r\nexport var mdiCommentRemove = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M9.41,6L8,7.41L10.59,10L8,12.59L9.41,14L12,11.41L14.59,14L16,12.59L13.41,10L16,7.41L14.59,6L12,8.59L9.41,6Z\";\r\nexport var mdiCommentRemoveOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M9.41,6L12,8.59L14.59,6L16,7.41L13.41,10L16,12.59L14.59,14L12,11.41L9.41,14L8,12.59L10.59,10L8,7.41L9.41,6Z\";\r\nexport var mdiCommentSearch = \"M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.2 19.31,8.89L22.41,12L21,13.39L17.89,10.31C17.2,10.75 16.38,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4M4,4H9.5C9.19,4.79 9,5.64 9,6.5A6.5,6.5 0 0,0 15.5,13C16.18,13 16.83,12.89 17.46,12.69L20,15.23V16A2,2 0 0,1 18,18H13.9L10.2,21.71C10,21.89 9.76,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6A2,2 0 0,1 4,4Z\";\r\nexport var mdiCommentSearchOutline = \"M4,4H9.5C9.25,4.64 9.09,5.31 9.04,6H4V16H10V19.08L13.08,16H18V13.23L20,15.23V16A2,2 0 0,1 18,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22H9A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V6C2,4.89 2.9,4 4,4M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.2 19.31,8.89L22.41,12L21,13.39L17.89,10.31C17.2,10.75 16.38,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4Z\";\r\nexport var mdiCommentText = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M5,5V7H19V5H5M5,9V11H13V9H5M5,13V15H15V13H5Z\";\r\nexport var mdiCommentTextMultiple = \"M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M9,9V11H19V9H9M9,13V15H17V13H9Z\";\r\nexport var mdiCommentTextMultipleOutline = \"M12,23A1,1 0 0,1 11,22V19H7A2,2 0 0,1 5,17V7A2,2 0 0,1 7,5H21A2,2 0 0,1 23,7V17A2,2 0 0,1 21,19H16.9L13.2,22.71C13,22.89 12.76,23 12.5,23H12M13,17V20.08L16.08,17H21V7H7V17H13M3,15H1V3A2,2 0 0,1 3,1H19V3H3V15M9,9H19V11H9V9M9,13H17V15H9V13Z\";\r\nexport var mdiCommentTextOutline = \"M9,22A1,1 0 0,1 8,21V18H4A2,2 0 0,1 2,16V4C2,2.89 2.9,2 4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H13.9L10.2,21.71C10,21.9 9.75,22 9.5,22V22H9M10,16V19.08L13.08,16H20V4H4V16H10M6,7H18V9H6V7M6,11H15V13H6V11Z\";\r\nexport var mdiCompare = \"M19,3H14V5H19V18L14,12V21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10,18H5L10,12M10,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H10V23H12V1H10V3Z\";\r\nexport var mdiCompareHorizontal = \"M9 14H2V16H9V19L13 15L9 11V14M15 13V10H22V8H15V5L11 9L15 13Z\";\r\nexport var mdiCompareRemove = \"M19 5H14V3H19C20.1 3 21 3.9 21 5V13.4C20.4 13.2 19.7 13 19 13V5M10 1H12V23H10V21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H10V1M10 12L5 18H10V12M15.7 14L14 12V15.7C14.4 15 15 14.5 15.7 14M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\r\nexport var mdiCompareVertical = \"M14 15V22H16V15H19L15 11L11 15H14M13 9H10V2H8V9H5L9 13L13 9Z\";\r\nexport var mdiCompass = \"M14.19,14.19L6,18L9.81,9.81L18,6M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,10.9A1.1,1.1 0 0,0 10.9,12A1.1,1.1 0 0,0 12,13.1A1.1,1.1 0 0,0 13.1,12A1.1,1.1 0 0,0 12,10.9Z\";\r\nexport var mdiCompassOff = \"M1,3.5L2.28,2.25L21.75,21.72L20.5,23L17.7,20.22C16.08,21.34 14.12,22 12,22A10,10 0 0,1 2,12C2,9.88 2.66,7.92 3.78,6.3L1,3.5M6,18L12.47,15L9,11.53L6,18M18,6L11.56,9L6.33,3.76C7.94,2.65 9.9,2 12,2A10,10 0 0,1 22,12C22,14.1 21.35,16.06 20.24,17.67L15,12.44L18,6Z\";\r\nexport var mdiCompassOffOutline = \"M1,3.5L2.28,2.25L21.75,21.72L20.5,23L17.7,20.22C16.08,21.34 14.12,22 12,22A10,10 0 0,1 2,12C2,9.88 2.66,7.92 3.78,6.3L1,3.5M7,17L9.39,11.91L5.23,7.74C4.45,9 4,10.44 4,12A8,8 0 0,0 12,20C13.56,20 15,19.55 16.26,18.77L12.09,14.61L7,17M17,7L14.62,12.05L11.95,9.38L17,7M12,2A10,10 0 0,1 22,12C22,14.1 21.35,16.06 20.24,17.67L18.8,16.22C19.56,15 20,13.55 20,12A8,8 0 0,0 12,4C10.45,4 9,4.44 7.78,5.2L6.33,3.76C7.94,2.65 9.9,2 12,2Z\";\r\nexport var mdiCompassOutline = \"M7,17L10.2,10.2L17,7L13.8,13.8L7,17M12,11.1A0.9,0.9 0 0,0 11.1,12A0.9,0.9 0 0,0 12,12.9A0.9,0.9 0 0,0 12.9,12A0.9,0.9 0 0,0 12,11.1M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiCompassRose = \"M15 9L12 0L9 9L0 12L9 15L12 24L15 15L24 12L15 9M4 12L10 10L11 12H4M12 20L10 14L12 13V20M12 4L14 10L12 11V4M14 14L13 12H20L14 14M8.7 17.3L5 19L6.7 15.3L8.3 15.8L8.7 17.3M17.3 15.3L19 19L15.3 17.3L15.8 15.7L17.3 15.3M6.7 8.7L5 5L8.7 6.7L8.2 8.2L6.7 8.7M15.3 6.7L19 5L17.3 8.7L15.7 8.2L15.3 6.7Z\";\r\nexport var mdiCompost = \"M18.92 14C18.64 15.97 17.53 17.68 15.96 18.76C15.76 17.93 14.53 17.25 12.92 17.06C13.09 15.87 13.44 14.76 13.68 14.12C14.06 14.36 14.5 14.5 15 14.5C18.55 14.5 18 8.5 18 8.5S17.5 9.5 16 9.5H15C13.62 9.5 12.5 10.62 12.5 12C12.5 12.5 12.64 12.93 12.87 13.31C13.53 12.62 14.24 12 15 11.5C13.68 12.83 12.67 14.5 12 16.1C11.37 14.87 10.58 13.93 10 13.5C10.47 13.7 10.91 14 11.33 14.3C11.44 14.06 11.5 13.79 11.5 13.5C11.45 10.77 7 11 7 11C7.31 11.42 7.5 11.95 7.5 12.5V13.5C7.5 14.6 8.4 15.5 9.5 15.5C10 15.5 10.45 15.32 10.8 15C11.03 15.63 11.2 16.35 11.29 17.04C9.57 17.19 8.25 17.89 8.04 18.77C6.21 17.5 5 15.39 5 13C5 9.14 8.14 6 12 6V9L17 5L12 1V4C7.03 4 3 8.03 3 13S7.03 22 12 22C16.63 22 20.44 18.5 20.94 14H18.92Z\";\r\nexport var mdiCone = \"M21.62 16.68H21.62L12.85 2.5C12.66 2.16 12.33 2 12 2C11.67 2 11.34 2.16 11.15 2.47L2.38 16.65H2.4C2.15 17.04 2 17.5 2 18C2 19.5 3.3 22 12 22C15.74 22 22 21.5 22 18C22 17.61 21.91 17.15 21.62 16.68M12 4.9L18 14.58C16.53 14.23 14.6 14 12 14C10.25 14 7.96 14.12 6 14.6L12 4.9M12 20C7.58 20 4 19.11 4 18C4 16.9 7.58 16 12 16S20 16.9 20 18C20 19.11 16.42 20 12 20Z\";\r\nexport var mdiConeOff = \"M10.5 7.31L9.06 5.86L11.15 2.47C11.34 2.16 11.67 2 12 2C12.33 2 12.66 2.16 12.85 2.5L21.62 16.68H21.62C21.91 17.15 22 17.61 22 18C22 18.25 21.96 18.5 21.9 18.7L17.73 14.53C17.81 14.55 17.9 14.56 18 14.58L12 4.9L10.5 7.31M22.11 21.46L20.84 22.73L19.17 21.06C17.03 21.83 14.11 22 12 22C3.3 22 2 19.5 2 18C2 17.5 2.15 17.04 2.4 16.65H2.38L7.11 9L1.11 3L2.39 1.73L22.11 21.46M6 14.6C7.96 14.12 10.25 14 12 14L12.11 14L8.56 10.45L6 14.6M17.55 19.44L14.19 16.08C13.5 16.03 12.76 16 12 16C7.58 16 4 16.9 4 18S7.58 20 12 20C14.16 20 16.11 19.79 17.55 19.44Z\";\r\nexport var mdiConnection = \"M21.4 7.5C22.2 8.3 22.2 9.6 21.4 10.3L18.6 13.1L10.8 5.3L13.6 2.5C14.4 1.7 15.7 1.7 16.4 2.5L18.2 4.3L21.2 1.3L22.6 2.7L19.6 5.7L21.4 7.5M15.6 13.3L14.2 11.9L11.4 14.7L9.3 12.6L12.1 9.8L10.7 8.4L7.9 11.2L6.4 9.8L3.6 12.6C2.8 13.4 2.8 14.7 3.6 15.4L5.4 17.2L1.4 21.2L2.8 22.6L6.8 18.6L8.6 20.4C9.4 21.2 10.7 21.2 11.4 20.4L14.2 17.6L12.8 16.2L15.6 13.3Z\";\r\nexport var mdiConsole = \"M20,19V7H4V19H20M20,3A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5C2,3.89 2.9,3 4,3H20M13,17V15H18V17H13M9.58,13L5.57,9H8.4L11.7,12.3C12.09,12.69 12.09,13.33 11.7,13.72L8.42,17H5.59L9.58,13Z\";\r\nexport var mdiConsoleLine = \"M13,19V16H21V19H13M8.5,13L2.47,7H6.71L11.67,11.95C12.25,12.54 12.25,13.5 11.67,14.07L6.74,19H2.5L8.5,13Z\";\r\nexport var mdiConsoleNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7A2,2 0 0,1 5,15V5A2,2 0 0,1 7,3H17M7,7L11,11L7,15H9.85L13.13,11.72C13.5,11.33 13.5,10.7 13.13,10.3L9.83,7H7M17,13H14V15H17V13Z\";\r\nexport var mdiConsoleNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M8,6.89L11.56,10.45L8,14H10.53L13.45,11.08C13.78,10.74 13.78,10.18 13.45,9.82L10.5,6.89H8M16,12.22H13.33V14H16V12.22Z\";\r\nexport var mdiConsolidate = \"M18 9H20V4H22V9A2 2 0 0 1 20 11H18V13L15 10L18 7M14 10A2 2 0 1 0 12 12A2 2 0 0 0 14 10M2 11V16H4V11H6V13L9 10L6 7V9H4A2 2 0 0 0 2 11M15 16L12 13L9 16H11V18A2 2 0 0 0 13 20H18V18H13V16\";\r\nexport var mdiContactlessPayment = \"M16.79,23C16.37,22.83 16.07,22.45 16,22C15.95,21.74 16,21.56 16.4,20.84C17.9,18.14 18.67,15.09 18.63,12C18.67,9 17.94,6.07 16.5,3.44C16.29,3 16.1,2.58 15.94,2.13C16,1.75 16.19,1.4 16.5,1.19C16.95,0.95 17.5,1 17.91,1.28C18.19,1.64 18.43,2 18.63,2.42C19.71,4.5 20.44,6.7 20.8,9C21.03,10.81 21.06,12.65 20.89,14.47C20.58,16.81 19.89,19.07 18.83,21.18C18.19,22.46 17.83,23 17.45,23C17.37,23 17.28,23 17.2,23C17.06,23 16.93,23 16.79,23V23M12.43,20.79C11.86,20.63 11.5,20.05 11.62,19.47C11.62,19.35 11.93,18.8 12.21,18.24C13.39,15.97 13.9,13.41 13.67,10.86C13.53,9.03 13,7.25 12.13,5.64C11.5,4.38 11.46,4.18 11.83,3.64C12.27,3.15 13,3.08 13.54,3.5C14.26,4.56 14.83,5.72 15.25,6.94C16.53,10.73 16.33,14.86 14.69,18.5C13.85,20.39 13.26,21 12.43,20.74V20.79M7.93,18.56C7.57,18.4 7.3,18.08 7.2,17.7C7.2,17.5 7.2,17.24 7.65,16.44C9.14,13.74 9.14,10.46 7.65,7.76C7,6.5 7,6.24 7.53,5.76C7.72,5.54 8,5.43 8.3,5.47C8.94,5.47 9.3,5.78 9.84,6.91C10.69,8.47 11.13,10.22 11.12,12C11.16,13.81 10.72,15.61 9.85,17.2C9.31,18.25 9.04,18.5 8.5,18.59C8.31,18.61 8.11,18.59 7.93,18.5V18.56M3.72,16.43C3.39,16.27 3.13,16 3,15.65C2.9,15.3 3,15 3.4,14.36C3.9,13.68 4.14,12.84 4.09,12C4.16,11.15 3.93,10.31 3.44,9.61C3.27,9.36 3.13,9.09 3,8.82C2.89,8.19 3.31,7.59 4,7.47C4.54,7.37 4.92,7.6 5.42,8.36C6.87,10.57 6.87,13.42 5.42,15.63C4.91,16.4 4.33,16.63 3.73,16.43H3.72Z\";\r\nexport var mdiContactlessPaymentCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.43 14.44L7.07 13.83C7.35 13.27 7.5 12.67 7.5 12.05C7.5 11.39 7.35 10.76 7.07 10.17L8.43 9.56C8.81 10.37 9 11.2 9 12.05C9 12.8 8.81 13.6 8.43 14.44M11.53 15.94L10.22 15.29C10.75 14.16 11 13 11 11.86C11 10.73 10.75 9.69 10.22 8.71L11.53 7.96C12.19 9.12 12.5 10.42 12.5 11.86C12.5 13.33 12.19 14.69 11.53 15.94M14.68 17.35L13.31 16.65C14.1 15.11 14.5 13.57 14.5 12S14.1 8.87 13.31 7.31L14.68 6.65C15.55 8.43 16 10.22 16 12C16 13.82 15.55 15.6 14.68 17.35Z\";\r\nexport var mdiContactlessPaymentCircleOutline = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.43 14.44L7.07 13.83C7.35 13.27 7.5 12.67 7.5 12.05C7.5 11.39 7.35 10.76 7.07 10.17L8.43 9.56C8.81 10.37 9 11.2 9 12.05C9 12.8 8.81 13.6 8.43 14.44M11.53 15.94L10.22 15.29C10.75 14.16 11 13 11 11.86C11 10.73 10.75 9.69 10.22 8.71L11.53 7.96C12.19 9.12 12.5 10.42 12.5 11.86C12.5 13.33 12.19 14.69 11.53 15.94M14.68 17.35L13.31 16.65C14.1 15.11 14.5 13.57 14.5 12S14.1 8.87 13.31 7.31L14.68 6.65C15.55 8.43 16 10.22 16 12C16 13.82 15.55 15.6 14.68 17.35Z\";\r\nexport var mdiContacts = \"M20,0H4V2H20V0M4,24H20V22H4V24M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M12,6.75A2.25,2.25 0 0,1 14.25,9A2.25,2.25 0 0,1 12,11.25A2.25,2.25 0 0,1 9.75,9A2.25,2.25 0 0,1 12,6.75M17,17H7V15.5C7,13.83 10.33,13 12,13C13.67,13 17,13.83 17,15.5V17Z\";\r\nexport var mdiContactsOutline = \"M20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6C22 4.9 21.1 4 20 4M20 18H4V6H20V18M4 0H20V2H4M4 22H20V24H4M12 12C13.38 12 14.5 10.88 14.5 9.5S13.38 7 12 7 9.5 8.12 9.5 9.5 10.62 12 12 12M12 8.5C12.55 8.5 13 8.95 13 9.5S12.55 10.5 12 10.5 11 10.05 11 9.5 11.45 8.5 12 8.5M17 16C17 13.9 13.69 13 12 13S7 13.9 7 16V17H17V16M8.81 15.5C9.42 15 10.84 14.5 12 14.5C13.17 14.5 14.59 15 15.2 15.5H8.81Z\";\r\nexport var mdiContain = \"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\";\r\nexport var mdiContainEnd = \"M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15M22,3V21H16V19H20V5H16V3H22Z\";\r\nexport var mdiContainStart = \"M2,3H8V5H4V19H8V21H2V3M7,17V15H9V17H7M11,17V15H13V17H11M15,17V15H17V17H15Z\";\r\nexport var mdiContentCopy = \"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z\";\r\nexport var mdiContentCut = \"M19,3L13,9L15,11L22,4V3M12,12.5A0.5,0.5 0 0,1 11.5,12A0.5,0.5 0 0,1 12,11.5A0.5,0.5 0 0,1 12.5,12A0.5,0.5 0 0,1 12,12.5M6,20A2,2 0 0,1 4,18C4,16.89 4.9,16 6,16A2,2 0 0,1 8,18C8,19.11 7.1,20 6,20M6,8A2,2 0 0,1 4,6C4,4.89 4.9,4 6,4A2,2 0 0,1 8,6C8,7.11 7.1,8 6,8M9.64,7.64C9.87,7.14 10,6.59 10,6A4,4 0 0,0 6,2A4,4 0 0,0 2,6A4,4 0 0,0 6,10C6.59,10 7.14,9.87 7.64,9.64L10,12L7.64,14.36C7.14,14.13 6.59,14 6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22A4,4 0 0,0 10,18C10,17.41 9.87,16.86 9.64,16.36L12,14L19,21H22V20L9.64,7.64Z\";\r\nexport var mdiContentDuplicate = \"M11,17H4A2,2 0 0,1 2,15V3A2,2 0 0,1 4,1H16V3H4V15H11V13L15,16L11,19V17M19,21V7H8V13H6V7A2,2 0 0,1 8,5H19A2,2 0 0,1 21,7V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19Z\";\r\nexport var mdiContentPaste = \"M19,20H5V4H7V7H17V4H19M12,2A1,1 0 0,1 13,3A1,1 0 0,1 12,4A1,1 0 0,1 11,3A1,1 0 0,1 12,2M19,2H14.82C14.4,0.84 13.3,0 12,0C10.7,0 9.6,0.84 9.18,2H5A2,2 0 0,0 3,4V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V4A2,2 0 0,0 19,2Z\";\r\nexport var mdiContentSave = \"M15,9H5V5H15M12,19A3,3 0 0,1 9,16A3,3 0 0,1 12,13A3,3 0 0,1 15,16A3,3 0 0,1 12,19M17,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V7L17,3Z\";\r\nexport var mdiContentSaveAlert = \"M13 9H3V5H13M10 19C8.3 19 7 17.7 7 16S8.3 13 10 13 13 14.3 13 16 11.7 19 10 19M15 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V7L15 3M23 13H21V7H23V13M23 17H21V15H23V17Z\";\r\nexport var mdiContentSaveAlertOutline = \"M15 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V7L15 3M17 19H3V5H14.2L17 7.8V19M10 12C8.3 12 7 13.3 7 15S8.3 18 10 18 13 16.7 13 15 11.7 12 10 12M4 6H13V10H4V6M23 13H21V7H23V13M23 17H21V15H23V17Z\";\r\nexport var mdiContentSaveAll = \"M17,7V3H7V7H17M14,17A3,3 0 0,0 17,14A3,3 0 0,0 14,11A3,3 0 0,0 11,14A3,3 0 0,0 14,17M19,1L23,5V17A2,2 0 0,1 21,19H7C5.89,19 5,18.1 5,17V3A2,2 0 0,1 7,1H19M1,7H3V21H17V23H3A2,2 0 0,1 1,21V7Z\";\r\nexport var mdiContentSaveAllOutline = \"M1 7H3V21H17V23H3C1.9 23 1 22.11 1 21V7M19 1H7C5.89 1 5 1.9 5 3V17C5 18.1 5.89 19 7 19H21C22.1 19 23 18.1 23 17V5L19 1M21 17H7V3H18.17L21 5.83V17M14 10C12.34 10 11 11.34 11 13S12.34 16 14 16 17 14.66 17 13 15.66 10 14 10M8 4H17V8H8V4Z\";\r\nexport var mdiContentSaveCheck = \"M17 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11.81C11.42 20.34 11.17 19.6 11.07 18.84C9.5 18.31 8.66 16.6 9.2 15.03C9.61 13.83 10.73 13 12 13C12.44 13 12.88 13.1 13.28 13.29C15.57 11.5 18.83 11.59 21 13.54V7L17 3M15 9H5V5H15V9M15.75 21L13 18L14.16 16.84L15.75 18.43L19.34 14.84L20.5 16.25L15.75 21\";\r\nexport var mdiContentSaveCheckOutline = \"M14 12.8C13.5 12.31 12.78 12 12 12C10.34 12 9 13.34 9 15C9 16.31 9.84 17.41 11 17.82C11.07 15.67 12.27 13.8 14 12.8M11.09 19H5V5H16.17L19 7.83V12.35C19.75 12.61 20.42 13 21 13.54V7L17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H11.81C11.46 20.39 11.21 19.72 11.09 19M6 10H15V6H6V10M15.75 21L13 18L14.16 16.84L15.75 18.43L19.34 14.84L20.5 16.25L15.75 21\";\r\nexport var mdiContentSaveCog = \"M21 11.7V7L17 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11.7C11.4 20.3 11.2 19.6 11.1 18.8C9.9 18.4 9 17.3 9 16C9 14.3 10.3 13 12 13C12.3 13 12.6 13.1 12.9 13.2C14.2 11.8 16 11 18 11C19.1 11 20.1 11.2 21 11.7M15 9H5V5H15V9M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5Z\";\r\nexport var mdiContentSaveCogOutline = \"M11.1 19C11.2 19.7 11.4 20.4 11.7 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H17L21 7V11.7C20.4 11.4 19.7 11.2 19 11.1V7.8L16.2 5H5V19H11.1M12 12C10.3 12 9 13.3 9 15C9 16.3 9.8 17.4 11 17.8C11.1 15.6 12.1 13.7 13.7 12.5C13.2 12.2 12.6 12 12 12M15 10V6H6V10H15M22.8 19.6L21.8 21.3C21.7 21.4 21.6 21.4 21.5 21.4L20.3 21C20 21.2 19.8 21.3 19.5 21.5L19.3 22.8C19.3 22.9 19.2 23 19.1 23H17.1C17 23 16.9 22.9 16.8 22.8L16.6 21.5C16.3 21.4 16 21.2 15.8 21L14.6 21.5C14.5 21.5 14.4 21.5 14.3 21.4L13.3 19.7C13.2 19.6 13.3 19.5 13.4 19.4L14.5 18.6V17.6L13.4 16.8C13.3 16.7 13.3 16.6 13.3 16.5L14.3 14.8C14.4 14.7 14.5 14.7 14.6 14.7L15.8 15.2C16.1 15 16.3 14.9 16.6 14.7L16.8 13.4C16.8 13.3 16.9 13.2 17.1 13.2H19.1C19.2 13.2 19.3 13.3 19.3 13.4L19.5 14.7C19.8 14.8 20.1 15 20.4 15.2L21.6 14.7C21.7 14.7 21.9 14.7 21.9 14.8L22.9 16.5C23 16.6 22.9 16.7 22.8 16.8L21.7 17.6V18.6L22.8 19.4C22.9 19.4 22.9 19.5 22.8 19.6M19.5 18C19.5 17.2 18.8 16.5 18 16.5S16.5 17.2 16.5 18 17.2 19.5 18 19.5C18.8 19.5 19.5 18.8 19.5 18Z\";\r\nexport var mdiContentSaveEdit = \"M10,19L10.14,18.86C8.9,18.5 8,17.36 8,16A3,3 0 0,1 11,13C12.36,13 13.5,13.9 13.86,15.14L20,9V7L16,3H4C2.89,3 2,3.9 2,5V19A2,2 0 0,0 4,21H10V19M4,5H14V9H4V5M20.04,12.13C19.9,12.13 19.76,12.19 19.65,12.3L18.65,13.3L20.7,15.35L21.7,14.35C21.92,14.14 21.92,13.79 21.7,13.58L20.42,12.3C20.31,12.19 20.18,12.13 20.04,12.13M18.07,13.88L12,19.94V22H14.06L20.12,15.93L18.07,13.88Z\";\r\nexport var mdiContentSaveEditOutline = \"M4 19H10V21H4C2.89 21 2 20.1 2 19V5C2 3.9 2.89 3 4 3H16L20 7V9.12L18 11.12V7.83L15.17 5H4V19M14 10V6H5V10H14M20.42 12.3C20.31 12.19 20.18 12.13 20.04 12.13C19.9 12.13 19.76 12.19 19.65 12.3L18.65 13.3L20.7 15.35L21.7 14.35C21.92 14.14 21.92 13.79 21.7 13.58L20.42 12.3M12 19.94V22H14.06L20.12 15.93L18.07 13.88L12 19.94M14 15C14 13.34 12.66 12 11 12S8 13.34 8 15 9.34 18 11 18C11.04 18 11.08 18 11.13 18L14 15.13C14 15.09 14 15.05 14 15\";\r\nexport var mdiContentSaveMinus = \"M17 3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19L12 19C10.34 19 9 17.66 9 16S10.34 13 12 13C12.68 13 13.34 13.23 13.87 13.65C15 12.59 16.46 12 18 12C19.05 12 20.09 12.28 21 12.81V7L17 3M15 9H5V5H15V9M14 17V19H22V17H14Z\";\r\nexport var mdiContentSaveMinusOutline = \"M5 3C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19H5V5H16.17L19 7.83V12.08C19.7 12.2 20.38 12.45 21 12.81V7L17 3H5M6 6V10H15V6H6M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18C12 16.11 12.89 14.34 14.39 13.21C13.85 12.5 13 12 12 12M14 17V19H22V17H14Z\";\r\nexport var mdiContentSaveMove = \"M17,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H11.81C11.42,20.34 11.17,19.6 11.07,18.84C9.5,18.31 8.66,16.6 9.2,15.03C9.61,13.83 10.73,13 12,13C12.44,13 12.88,13.1 13.28,13.29C15.57,11.5 18.83,11.59 21,13.54V7L17,3M15,9H5V5H15V9M13,17H17V14L22,18.5L17,23V20H13V17\";\r\nexport var mdiContentSaveMoveOutline = \"M13 17H17V14L22 18.5L17 23V20H13V17M14 12.8C13.5 12.31 12.78 12 12 12C10.34 12 9 13.34 9 15C9 16.31 9.84 17.41 11 17.82C11.07 15.67 12.27 13.8 14 12.8M11.09 19H5V5H16.17L19 7.83V12.35C19.75 12.61 20.42 13 21 13.54V7L17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H11.81C11.46 20.39 11.21 19.72 11.09 19M6 10H15V6H6V10Z\";\r\nexport var mdiContentSaveOff = \"M8.2 5L6.2 3H17L21 7V17.8L12.2 9H15V5H8.2M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M7.11 9L5 6.89V9H7.11M14.89 16.78L11.22 13.11C9.95 13.46 9 14.61 9 16C9 17.66 10.34 19 12 19C13.39 19 14.54 18.05 14.89 16.78Z\";\r\nexport var mdiContentSaveOffOutline = \"M8.2 5L6.2 3H17L21 7V17.8L19 15.8V7.83L16.17 5H8.2M15 10V6H9.2L13.2 10H15M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M17.11 19L14.59 16.5C14.08 17.39 13.12 18 12 18C10.34 18 9 16.66 9 15C9 13.88 9.61 12.92 10.5 12.41L8.11 10H6V7.89L5 6.89V19H17.11Z\";\r\nexport var mdiContentSaveOutline = \"M17 3H5C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V7L17 3M19 19H5V5H16.17L19 7.83V19M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18 15 16.66 15 15 13.66 12 12 12M6 6H15V10H6V6Z\";\r\nexport var mdiContentSavePlus = \"M17 3H5C3.89 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19L12 19C10.34 19 9 17.66 9 16S10.34 13 12 13C12.68 13 13.34 13.23 13.87 13.65C15 12.59 16.46 12 18 12C19.05 12 20.09 12.28 21 12.81V7L17 3M15 9H5V5H15V9M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiContentSavePlusOutline = \"M5 3C3.89 3 3 3.9 3 5V19C3 20.1 3.89 21 5 21H12.81C12.45 20.38 12.2 19.7 12.08 19H5V5H16.17L19 7.83V12.08C19.7 12.2 20.38 12.45 21 12.81V7L17 3H5M6 6V10H15V6H6M12 12C10.34 12 9 13.34 9 15S10.34 18 12 18C12 16.11 12.89 14.34 14.39 13.21C13.85 12.5 13 12 12 12M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiContentSaveSettings = \"M15,8V4H5V8H15M12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18M17,2L21,6V18A2,2 0 0,1 19,20H5C3.89,20 3,19.1 3,18V4A2,2 0 0,1 5,2H17M11,22H13V24H11V22M7,22H9V24H7V22M15,22H17V24H15V22Z\";\r\nexport var mdiContentSaveSettingsOutline = \"M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22M17 2H5C3.89 2 3 2.9 3 4V18C3 19.1 3.89 20 5 20H19C20.1 20 21 19.1 21 18V6L17 2M19 18H5V4H16.17L19 6.83V18M12 11C10.34 11 9 12.34 9 14S10.34 17 12 17 15 15.66 15 14 13.66 11 12 11M6 5H15V9H6V5Z\";\r\nexport var mdiContrast = \"M4.38,20.9C3.78,20.71 3.3,20.23 3.1,19.63L19.63,3.1C20.23,3.3 20.71,3.78 20.9,4.38L4.38,20.9M20,16V18H13V16H20M3,6H6V3H8V6H11V8H8V11H6V8H3V6Z\";\r\nexport var mdiContrastBox = \"M17,15.5H12V17H17M19,19H5L19,5M5.5,7.5H7.5V5.5H9V7.5H11V9H9V11H7.5V9H5.5M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiContrastCircle = \"M12,20C9.79,20 7.79,19.1 6.34,17.66L17.66,6.34C19.1,7.79 20,9.79 20,12A8,8 0 0,1 12,20M6,8H8V6H9.5V8H11.5V9.5H9.5V11.5H8V9.5H6M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,16H17V14.5H12V16Z\";\r\nexport var mdiController = \"M7.97,16L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.21,7.81 5.14,6 7.5,6H16.5C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75A1.75,1.75 0 0,1 20.25,19.5C19.77,19.5 19.33,19.3 19,19L16.03,16H7.97M7,8V10H5V11H7V13H8V11H10V10H8V8H7M16.5,8A0.75,0.75 0 0,0 15.75,8.75A0.75,0.75 0 0,0 16.5,9.5A0.75,0.75 0 0,0 17.25,8.75A0.75,0.75 0 0,0 16.5,8M14.75,9.75A0.75,0.75 0 0,0 14,10.5A0.75,0.75 0 0,0 14.75,11.25A0.75,0.75 0 0,0 15.5,10.5A0.75,0.75 0 0,0 14.75,9.75M18.25,9.75A0.75,0.75 0 0,0 17.5,10.5A0.75,0.75 0 0,0 18.25,11.25A0.75,0.75 0 0,0 19,10.5A0.75,0.75 0 0,0 18.25,9.75M16.5,11.5A0.75,0.75 0 0,0 15.75,12.25A0.75,0.75 0 0,0 16.5,13A0.75,0.75 0 0,0 17.25,12.25A0.75,0.75 0 0,0 16.5,11.5Z\";\r\nexport var mdiControllerClassic = \"M6,7H18A5,5 0 0,1 23,12A5,5 0 0,1 18,17C16.36,17 14.91,16.21 14,15H10C9.09,16.21 7.64,17 6,17A5,5 0 0,1 1,12A5,5 0 0,1 6,7M19.75,9.5A1.25,1.25 0 0,0 18.5,10.75A1.25,1.25 0 0,0 19.75,12A1.25,1.25 0 0,0 21,10.75A1.25,1.25 0 0,0 19.75,9.5M17.25,12A1.25,1.25 0 0,0 16,13.25A1.25,1.25 0 0,0 17.25,14.5A1.25,1.25 0 0,0 18.5,13.25A1.25,1.25 0 0,0 17.25,12M5,9V11H3V13H5V15H7V13H9V11H7V9H5Z\";\r\nexport var mdiControllerClassicOutline = \"M17.5,7A5.5,5.5 0 0,1 23,12.5A5.5,5.5 0 0,1 17.5,18C15.79,18 14.27,17.22 13.26,16H10.74C9.73,17.22 8.21,18 6.5,18A5.5,5.5 0 0,1 1,12.5A5.5,5.5 0 0,1 6.5,7H17.5M6.5,9A3.5,3.5 0 0,0 3,12.5A3.5,3.5 0 0,0 6.5,16C7.9,16 9.1,15.18 9.66,14H14.34C14.9,15.18 16.1,16 17.5,16A3.5,3.5 0 0,0 21,12.5A3.5,3.5 0 0,0 17.5,9H6.5M5.75,10.25H7.25V11.75H8.75V13.25H7.25V14.75H5.75V13.25H4.25V11.75H5.75V10.25M16.75,12.5A1,1 0 0,1 17.75,13.5A1,1 0 0,1 16.75,14.5A1,1 0 0,1 15.75,13.5A1,1 0 0,1 16.75,12.5M18.75,10.5A1,1 0 0,1 19.75,11.5A1,1 0 0,1 18.75,12.5A1,1 0 0,1 17.75,11.5A1,1 0 0,1 18.75,10.5Z\";\r\nexport var mdiControllerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.73,16H7.97L5,19C4.67,19.3 4.23,19.5 3.75,19.5A1.75,1.75 0 0,1 2,17.75V17.5L3,10.12C3.1,9.09 3.53,8.17 4.19,7.46L2,5.27M5,10V11H7V13H8V11.27L6.73,10H5M16.5,6C18.86,6 20.79,7.81 21,10.12L22,17.5V17.75C22,18.41 21.64,19 21.1,19.28L7.82,6H16.5M16.5,8A0.75,0.75 0 0,0 15.75,8.75A0.75,0.75 0 0,0 16.5,9.5A0.75,0.75 0 0,0 17.25,8.75A0.75,0.75 0 0,0 16.5,8M14.75,9.75A0.75,0.75 0 0,0 14,10.5A0.75,0.75 0 0,0 14.75,11.25A0.75,0.75 0 0,0 15.5,10.5A0.75,0.75 0 0,0 14.75,9.75M18.25,9.75A0.75,0.75 0 0,0 17.5,10.5A0.75,0.75 0 0,0 18.25,11.25A0.75,0.75 0 0,0 19,10.5A0.75,0.75 0 0,0 18.25,9.75M16.5,11.5A0.75,0.75 0 0,0 15.75,12.25A0.75,0.75 0 0,0 16.5,13A0.75,0.75 0 0,0 17.25,12.25A0.75,0.75 0 0,0 16.5,11.5Z\";\r\nexport var mdiCookie = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z\";\r\nexport var mdiCookieAlert = \"M18 10H16V9C16 8 15 8 15 8H13V7C13 6 12 6 12 6H11V4C11 3 10 3 10 3C5 3 1 7 1 12S5 21 10 21 19 17 19 12C19 11.5 19 11 18.9 10.5C18.6 10 18 10 18 10M4.5 13C3.7 13 3 12.3 3 11.5S3.7 10 4.5 10 6 10.7 6 11.5 5.3 13 4.5 13M6 7.5C6 6.7 6.7 6 7.5 6S9 6.7 9 7.5 8.3 9 7.5 9 6 8.3 6 7.5M9 19C8.2 19 7.5 18.3 7.5 17.5S8.2 16 9 16 10.5 16.7 10.5 17.5 9.8 19 9 19M9.5 14C8.7 14 8 13.3 8 12.5S8.7 11 9.5 11 11 11.7 11 12.5 10.3 14 9.5 14M14.5 16C13.7 16 13 15.3 13 14.5S13.7 13 14.5 13C15.3 13 16 13.7 16 14.5S15.3 16 14.5 16M21 15H23V17H21V15M23 7V13H21V7H23Z\";\r\nexport var mdiCookieAlertOutline = \"M16 14.5C16 15.3 15.3 16 14.5 16S13 15.3 13 14.5 13.7 13 14.5 13C15.3 13 16 13.7 16 14.5M18.9 10.5C19 11 19 11.5 19 12C19 17 15 21 10 21S1 17 1 12 5 3 10 3C10 3 11 3 11 4V6H12C12 6 13 6 13 7V8H15C15 8 16 8 16 9V10H18C18 10 18.6 10 18.9 10.5M17 12H15.5C14.7 12 14 11.3 14 10.5V10H12.5C11.7 10 11 9.3 11 8.5V8H10.5C9.7 8 9 7.3 9 6.5V5.1C5.9 5.5 3.5 8 3.1 11.1C3.2 10.5 3.8 10 4.5 10C5.3 10 6 10.7 6 11.5S5.3 13 4.5 13C3.7 13 3.1 12.4 3 11.6C3 12.1 3 12.6 3.1 13.1C3.5 15.8 5.6 18 8.2 18.7C7.8 18.4 7.5 18 7.5 17.5C7.5 16.7 8.2 16 9 16S10.5 16.7 10.5 17.5C10.5 18.2 10 18.8 9.3 19C13.5 19.4 17 16.1 17 12M9.5 11C8.7 11 8 11.7 8 12.5S8.7 14 9.5 14 11 13.3 11 12.5 10.3 11 9.5 11M9 7.5C9 6.7 8.3 6 7.5 6S6 6.7 6 7.5 6.7 9 7.5 9 9 8.3 9 7.5M21 17H23V15H21V17M21 7V13H23V7H21Z\";\r\nexport var mdiCookieCheck = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiCookieCheckOutline = \"M15 10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C11.9 19 12.46 19 13 18.92C13 18.95 13 18.97 13 19C13 19.66 13.12 20.3 13.32 20.89C12.89 20.96 12.45 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.45 20.96 12.89 20.89 13.32C20.3 13.12 19.66 13 19 13C18.97 13 18.95 13 18.92 13C18.97 12.68 19 12.34 19 12H17.5C16.67 12 16 11.33 16 10.5V10H15M15 14.5C15 14.5 15 14.5 15 14.53C15.66 13.95 16.45 13.5 17.32 13.24C17.08 13.09 16.8 13 16.5 13C15.67 13 15 13.67 15 14.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiCookieClock = \"M19.97 10.24C19.95 10 19.91 9.74 19.87 9.5C19.6 9 19 9 19 9H17V8C17 7 16 7 16 7H14V6C14 5 13 5 13 5H12V3C12 2 11 2 11 2C6.03 2 2 6.03 2 11C2 15.71 5.62 19.57 10.23 19.96C11.5 21.8 13.61 23 16 23C19.87 23 23 19.87 23 16C23 13.61 21.8 11.5 19.97 10.24M11.64 10.53C10.87 11.15 10.23 11.92 9.78 12.81C9.32 12.55 9 12.06 9 11.5C9 10.67 9.67 10 10.5 10C10.96 10 11.36 10.21 11.64 10.53M5.5 12C4.67 12 4 11.33 4 10.5S4.67 9 5.5 9 7 9.67 7 10.5 6.33 12 5.5 12M7 6.5C7 5.67 7.67 5 8.5 5S10 5.67 10 6.5 9.33 8 8.5 8 7 7.33 7 6.5M8.5 16.5C8.5 16.04 8.71 15.64 9.03 15.36C9 15.57 9 15.79 9 16C9 16.62 9.09 17.22 9.24 17.79C8.8 17.5 8.5 17.05 8.5 16.5M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25Z\";\r\nexport var mdiCookieClockOutline = \"M8.5 8C7.67 8 7 7.33 7 6.5S7.67 5 8.5 5 10 5.67 10 6.5 9.33 8 8.5 8M16.5 12H15V17L18.61 19.16L19.36 17.94L16.5 16.25V12M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.23 19.96C5.62 19.57 2 15.71 2 11C2 6.03 6.03 2 11 2C11 2 12 2 12 3V5H13C13 5 14 5 14 6V7H16C16 7 17 7 17 8V9H19C19 9 19.6 9 19.87 9.5C19.91 9.74 19.95 10 19.97 10.24C21.8 11.5 23 13.61 23 16M9.16 17.74C8.76 17.47 8.5 17 8.5 16.5C8.5 16.04 8.71 15.64 9.03 15.36C9.12 14.45 9.38 13.59 9.78 12.81C9.32 12.55 9 12.06 9 11.5C9 10.67 9.67 10 10.5 10C10.96 10 11.36 10.21 11.64 10.53C12.59 9.77 13.74 9.26 15 9.08V9H13.5C12.67 9 12 8.33 12 7.5V7H11.5C10.67 7 10 6.33 10 5.5V4.07C6.91 4.5 4.47 7 4.07 10.08C4.25 9.46 4.82 9 5.5 9C6.33 9 7 9.67 7 10.5S6.33 12 5.5 12C4.71 12 4.07 11.39 4 10.62C4 11.11 4 11.61 4.09 12.12C4.5 14.81 6.54 17.04 9.16 17.74M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiCookieCog = \"M21 12.29C21 12.19 21 12.1 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.1 21 12.19 21 12.29 21C12.11 20.36 12 19.69 12 19C12 18.86 12 18.73 12 18.59C11.75 18.84 11.4 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16C11.59 16 12.1 16.35 12.34 16.84C13.25 14.03 15.89 12 19 12C19.69 12 20.36 12.11 21 12.29M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5Z\";\r\nexport var mdiCookieCogOutline = \"M14.5 10C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16C11.59 16 12.1 16.35 12.34 16.84C12.16 17.39 12.06 17.97 12 18.57C11.83 18.76 11.6 18.9 11.32 18.96C11.55 19 11.78 19 12 19V19C12 19.69 12.11 20.36 12.29 21C12.19 21 12.1 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.1 21 12.19 21 12.29C20.36 12.11 19.69 12 19 12H17.5C16.67 12 16 11.33 16 10.5V10H14.5M11.5 11C10.67 11 10 11.67 10 12.5S10.67 14 11.5 14 13 13.33 13 12.5 12.33 11 11.5 11M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiCookieEdit = \"M15.1 15.03C15.04 14.86 15 14.69 15 14.5C15 13.67 15.67 13 16.5 13C16.69 13 16.86 13.04 17.03 13.1L19.39 10.74C19.69 10.44 20.05 10.24 20.44 10.12C20.21 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.63 6.5 20.44 11 20.94V19.13L11.14 19C11.1 19 11.05 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5C12.5 17.55 12.5 17.6 12.5 17.64L15.1 15.03M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\r\nexport var mdiCookieEditOutline = \"M9.5 6C10.33 6 11 6.67 11 7.5S10.33 9 9.5 9 8 8.33 8 7.5 8.67 6 9.5 6M11.5 11C10.67 11 10 11.67 10 12.5S10.67 14 11.5 14 13 13.33 13 12.5 12.33 11 11.5 11M11 16C10.17 16 9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16V10.5C16 11.33 16.67 12 17.5 12H18.13L19.39 10.74C19.69 10.44 20.05 10.24 20.44 10.12C20.21 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.63 6.5 20.44 11 20.94V19.13L12.47 17.66C12.5 17.6 12.5 17.55 12.5 17.5C12.5 16.67 11.83 16 11 16M15 14.5C15 14.69 15.04 14.86 15.1 15.03L17.03 13.1C16.86 13.04 16.69 13 16.5 13C15.67 13 15 13.67 15 14.5M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiCookieLock = \"M18.5 11C19.42 11 20.27 11.29 21 11.77C21 11.35 20.95 10.92 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.34 21 12.67 21 13 20.94V17C13 16.08 13.42 15.26 14.07 14.71C14.45 12.6 16.29 11 18.5 11M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16Z\";\r\nexport var mdiCookieLockOutline = \"M10 12.5C10 11.67 10.67 11 11.5 11S13 11.67 13 12.5 12.33 14 11.5 14 10 13.33 10 12.5M16 10V10.5C16 10.9 16.16 11.26 16.41 11.53C17.04 11.2 17.75 11 18.5 11C19.42 11 20.27 11.29 21 11.77C21 11.35 20.95 10.92 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.34 21 12.67 21 13 20.94V18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M22 17V21C22 21.55 21.55 22 21 22H16C15.45 22 15 21.55 15 21V17C15 16.45 15.45 16 16 16V15.5C16 14.12 17.12 13 18.5 13S21 14.12 21 15.5V16C21.55 16 22 16.45 22 17M20 15.5C20 14.67 19.33 14 18.5 14S17 14.67 17 15.5V16H20V15.5Z\";\r\nexport var mdiCookieMinus = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M23 18V20H15V18H23Z\";\r\nexport var mdiCookieMinusOutline = \"M15 10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C7.91 5.5 5.47 8 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C11.9 19 12.46 19 13 18.92C13 18.95 13 18.97 13 19C13 19.66 13.12 20.3 13.32 20.89C12.89 20.96 12.45 21 12 21C7.03 21 3 16.97 3 12S7.03 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 12.45 20.96 12.89 20.89 13.32C20.3 13.12 19.66 13 19 13C18.97 13 18.95 13 18.92 13C18.97 12.68 19 12.34 19 12H17.5C16.67 12 16 11.33 16 10.5V10H15M15 14.5C15 14.5 15 14.5 15 14.53C15.66 13.95 16.45 13.5 17.32 13.24C17.08 13.09 16.8 13 16.5 13C15.67 13 15 13.67 15 14.5M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M15 18V20H23V18H15Z\";\r\nexport var mdiCookieOff = \"M9.25 6.05L7.45 4.25C8.79 3.46 10.34 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 13.66 20.54 15.22 19.75 16.55L17.95 14.75C17.97 14.67 18 14.59 18 14.5C18 13.67 17.33 13 16.5 13C16.41 13 16.33 13.03 16.25 13.05L10.95 7.75C10.97 7.67 11 7.59 11 7.5C11 6.67 10.33 6 9.5 6C9.41 6 9.33 6.03 9.25 6.05M22.11 21.46L20.84 22.73L17.34 19.23C15.85 20.34 14 21 12 21C7.03 21 3 16.97 3 12C3 10 3.66 8.15 4.77 6.66L1.11 3L2.39 1.73L22.11 21.46M8 11.5C8 10.67 7.33 10 6.5 10S5 10.67 5 11.5 5.67 13 6.5 13 8 12.33 8 11.5M10 12.5C10 13.33 10.67 14 11.5 14C11.68 14 11.85 13.96 12 13.9L10.1 12C10.04 12.15 10 12.32 10 12.5M12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5 10.17 19 11 19 12.5 18.33 12.5 17.5Z\";\r\nexport var mdiCookieOffOutline = \"M8.93 5.73L7.45 4.25C8.79 3.46 10.34 3 12 3C12 3 13 3 13 4V6H14C14 6 15 6 15 7V8H17C17 8 18 8 18 9V10H20C20 10 20.6 10 20.87 10.5C20.96 11 21 11.5 21 12C21 13.66 20.54 15.22 19.75 16.55L18.28 15.08C18.74 14.15 19 13.11 19 12H17.5C16.67 12 16 11.33 16 10.5V10H14.5C13.67 10 13 9.33 13 8.5V8H12.5C11.67 8 11 7.33 11 6.5V5.07C10.26 5.18 9.57 5.41 8.93 5.73M9.25 6.05L10.95 7.75C10.97 7.67 11 7.59 11 7.5C11 6.67 10.33 6 9.5 6C9.41 6 9.33 6.03 9.25 6.05M16.25 13.05L17.95 14.75C17.97 14.67 18 14.59 18 14.5C18 13.67 17.33 13 16.5 13C16.41 13 16.33 13.03 16.25 13.05M22.11 21.46L20.84 22.73L17.34 19.23C15.85 20.34 14 21 12 21C7.03 21 3 16.97 3 12C3 10 3.66 8.15 4.77 6.66L1.11 3L2.39 1.73L22.11 21.46M15.9 17.79L12 13.9C11.85 13.96 11.68 14 11.5 14C10.67 14 10 13.33 10 12.5C10 12.32 10.04 12.15 10.1 12L6.21 8.1C5.62 9 5.21 10 5.07 11.08C5.25 10.46 5.82 10 6.5 10C7.33 10 8 10.67 8 11.5S7.33 13 6.5 13C5.71 13 5.07 12.39 5 11.62C5 12.11 5 12.61 5.09 13.12C5.5 15.81 7.54 18.04 10.16 18.74C9.76 18.47 9.5 18 9.5 17.5C9.5 16.67 10.17 16 11 16S12.5 16.67 12.5 17.5C12.5 18.22 12 18.82 11.32 18.96C13.03 19.12 14.61 18.66 15.9 17.79Z\";\r\nexport var mdiCookieOutline = \"M20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12C3 16.97 7.03 21 12 21C16.97 21 21 16.97 21 12C21 11.5 20.96 11 20.87 10.5M11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16V10.5C16 11.33 16.67 12 17.5 12H19C19 16.08 15.5 19.36 11.32 18.96M9.5 9C8.67 9 8 8.33 8 7.5S8.67 6 9.5 6 11 6.67 11 7.5 10.33 9 9.5 9M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M18 14.5C18 15.33 17.33 16 16.5 16S15 15.33 15 14.5 15.67 13 16.5 13 18 13.67 18 14.5Z\";\r\nexport var mdiCookiePlus = \"M15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiCookiePlusOutline = \"M16.5 13C16.8 13 17.08 13.09 17.32 13.24C16.45 13.5 15.66 13.95 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13M16 10V10.5C16 11.33 16.67 12 17.5 12H19C19 12.34 18.97 12.68 18.92 13C18.95 13 18.97 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 18.97 13 18.95 13 18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiCookieRefresh = \"M11 16C11.53 16 12 16.28 12.26 16.69C13.04 14 15.54 12 18.5 12C19.38 12 20.21 12.18 21 12.5C21 12.33 21 12.17 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.17 21 12.33 21 12.5 21C12.19 20.24 12 19.44 12 18.61C11.74 18.85 11.39 19 11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\r\nexport var mdiCookieRefreshOutline = \"M13 12.5C13 13.33 12.33 14 11.5 14S10 13.33 10 12.5 10.67 11 11.5 11 13 11.67 13 12.5M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M15 10H16V10.5C16 11.33 16.67 12 17.5 12H19L19 12.03C19.69 12.09 20.36 12.24 21 12.5C21 12.33 21 12.17 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.17 21 12.33 21 12.5 21C12.24 20.36 12.09 19.69 12.03 19C11.8 19 11.56 19 11.32 18.96C11.59 18.9 11.81 18.76 12 18.58C12 18.55 12 18.53 12 18.5C12 17.87 12.1 17.27 12.26 16.69C12 16.28 11.53 16 11 16C10.17 16 9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H15M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiCookieRemove = \"M16.5 13C16.8 13 17.08 13.09 17.32 13.24C17.85 13.09 18.42 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 17.22 13.78 15.63 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13M6.5 13C5.67 13 5 12.33 5 11.5S5.67 10 6.5 10 8 10.67 8 11.5 7.33 13 6.5 13M8 7.5C8 6.67 8.67 6 9.5 6S11 6.67 11 7.5 10.33 9 9.5 9 8 8.33 8 7.5M11 19C10.17 19 9.5 18.33 9.5 17.5S10.17 16 11 16 12.5 16.67 12.5 17.5 11.83 19 11 19M11.5 14C10.67 14 10 13.33 10 12.5S10.67 11 11.5 11 13 11.67 13 12.5 12.33 14 11.5 14M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiCookieRemoveOutline = \"M17.32 13.24C16.45 13.5 15.66 13.95 15 14.53C15 14.5 15 14.5 15 14.5C15 13.67 15.67 13 16.5 13C16.8 13 17.08 13.09 17.32 13.24M16 10V10.5C16 11.33 16.67 12 17.5 12H19C19 12.34 18.97 12.68 18.92 13C18.95 13 18.97 13 19 13C19.66 13 20.3 13.12 20.89 13.32C20.96 12.89 21 12.45 21 12C21 11.5 20.96 11 20.87 10.5C20.6 10 20 10 20 10H18V9C18 8 17 8 17 8H15V7C15 6 14 6 14 6H13V4C13 3 12 3 12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C12.45 21 12.89 20.96 13.32 20.89C13.12 20.3 13 19.66 13 19C13 18.97 13 18.95 13 18.92C12.46 19 11.9 19 11.32 18.96C12 18.82 12.5 18.22 12.5 17.5C12.5 16.67 11.83 16 11 16S9.5 16.67 9.5 17.5C9.5 18 9.76 18.47 10.16 18.74C7.54 18.04 5.5 15.81 5.09 13.12C5 12.61 5 12.11 5 11.62C5.07 12.39 5.71 13 6.5 13C7.33 13 8 12.33 8 11.5S7.33 10 6.5 10C5.82 10 5.25 10.46 5.07 11.08C5.47 8 7.91 5.5 11 5.07V6.5C11 7.33 11.67 8 12.5 8H13V8.5C13 9.33 13.67 10 14.5 10H16M11 7.5C11 6.67 10.33 6 9.5 6S8 6.67 8 7.5 8.67 9 9.5 9 11 8.33 11 7.5M11.5 14C12.33 14 13 13.33 13 12.5S12.33 11 11.5 11 10 11.67 10 12.5 10.67 14 11.5 14M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiCookieSettings = \"M20.87 9.5C20.6 9 20 9 20 9H18V8C18 7 17 7 17 7H15V6C15 5 14 5 14 5H13V3C13 2 12 2 12 2C7.03 2 3 6.03 3 11S7.03 20 12 20 21 15.97 21 11C21 10.5 20.96 10 20.87 9.5M6.5 12C5.67 12 5 11.33 5 10.5S5.67 9 6.5 9 8 9.67 8 10.5 7.33 12 6.5 12M8 6.5C8 5.67 8.67 5 9.5 5S11 5.67 11 6.5 10.33 8 9.5 8 8 7.33 8 6.5M11 18C10.17 18 9.5 17.33 9.5 16.5S10.17 15 11 15 12.5 15.67 12.5 16.5 11.83 18 11 18M11.5 13C10.67 13 10 12.33 10 11.5S10.67 10 11.5 10 13 10.67 13 11.5 12.33 13 11.5 13M16.5 15C15.67 15 15 14.33 15 13.5S15.67 12 16.5 12 18 12.67 18 13.5 17.33 15 16.5 15M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15V22Z\";\r\nexport var mdiCookieSettingsOutline = \"M13 11.5C13 12.33 12.33 13 11.5 13S10 12.33 10 11.5 10.67 10 11.5 10 13 10.67 13 11.5M11 6.5C11 5.67 10.33 5 9.5 5S8 5.67 8 6.5 8.67 8 9.5 8 11 7.33 11 6.5M21 11C21 15.97 16.97 20 12 20S3 15.97 3 11 7.03 2 12 2C12 2 13 2 13 3V5H14C14 5 15 5 15 6V7H17C17 7 18 7 18 8V9H20C20 9 20.6 9 20.87 9.5C20.96 10 21 10.5 21 11M19 11H17.5C16.67 11 16 10.33 16 9.5V9H14.5C13.67 9 13 8.33 13 7.5V7H12.5C11.67 7 11 6.33 11 5.5V4.07C7.91 4.5 5.47 7 5.07 10.08C5.25 9.46 5.82 9 6.5 9C7.33 9 8 9.67 8 10.5S7.33 12 6.5 12C5.71 12 5.07 11.39 5 10.62C5 11.11 5 11.61 5.09 12.12C5.5 14.81 7.54 17.04 10.16 17.74C9.76 17.47 9.5 17 9.5 16.5C9.5 15.67 10.17 15 11 15S12.5 15.67 12.5 16.5C12.5 17.22 12 17.82 11.32 17.96C15.5 18.36 19 15.08 19 11M16.5 12C15.67 12 15 12.67 15 13.5S15.67 15 16.5 15 18 14.33 18 13.5 17.33 12 16.5 12M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiCoolantTemperature = \"M11.5,1A1.5,1.5 0 0,0 10,2.5V14.5C9.37,14.97 9,15.71 9,16.5A2.5,2.5 0 0,0 11.5,19A2.5,2.5 0 0,0 14,16.5C14,15.71 13.63,15 13,14.5V13H17V11H13V9H17V7H13V5H17V3H13V2.5A1.5,1.5 0 0,0 11.5,1M0,15V17C0.67,17 0.79,17.21 1.29,17.71C1.79,18.21 2.67,19 4,19C5.33,19 6.21,18.21 6.71,17.71C6.82,17.59 6.91,17.5 7,17.41V15.16C6.21,15.42 5.65,15.93 5.29,16.29C4.79,16.79 4.67,17 4,17C3.33,17 3.21,16.79 2.71,16.29C2.21,15.79 1.33,15 0,15M16,15V17C16.67,17 16.79,17.21 17.29,17.71C17.79,18.21 18.67,19 20,19C21.33,19 22.21,18.21 22.71,17.71C23.21,17.21 23.33,17 24,17V15C22.67,15 21.79,15.79 21.29,16.29C20.79,16.79 20.67,17 20,17C19.33,17 19.21,16.79 18.71,16.29C18.21,15.79 17.33,15 16,15M8,20C6.67,20 5.79,20.79 5.29,21.29C4.79,21.79 4.67,22 4,22C3.33,22 3.21,21.79 2.71,21.29C2.35,20.93 1.79,20.42 1,20.16V22.41C1.09,22.5 1.18,22.59 1.29,22.71C1.79,23.21 2.67,24 4,24C5.33,24 6.21,23.21 6.71,22.71C7.21,22.21 7.33,22 8,22C8.67,22 8.79,22.21 9.29,22.71C9.73,23.14 10.44,23.8 11.5,23.96C11.66,24 11.83,24 12,24C13.33,24 14.21,23.21 14.71,22.71C15.21,22.21 15.33,22 16,22C16.67,22 16.79,22.21 17.29,22.71C17.79,23.21 18.67,24 20,24C21.33,24 22.21,23.21 22.71,22.71C22.82,22.59 22.91,22.5 23,22.41V20.16C22.21,20.42 21.65,20.93 21.29,21.29C20.79,21.79 20.67,22 20,22C19.33,22 19.21,21.79 18.71,21.29C18.21,20.79 17.33,20 16,20C14.67,20 13.79,20.79 13.29,21.29C12.79,21.79 12.67,22 12,22C11.78,22 11.63,21.97 11.5,21.92C11.22,21.82 11.05,21.63 10.71,21.29C10.21,20.79 9.33,20 8,20Z\";\r\nexport var mdiCopyleft = \"M13.92 10.86C14.04 11.85 14.12 13.1 13.62 14C13.5 14.27 13.28 14.5 13.03 14.64C12.8 14.79 12.5 14.86 12.14 14.87C11.72 14.87 11.33 14.73 11 14.47C10.87 14.34 10.75 14.19 10.66 14C10.57 13.83 10.5 13.64 10.5 13.43H8.72C8.73 13.84 8.84 14.22 9 14.58C9.2 14.94 9.45 15.25 9.76 15.5C11.2 16.83 13.85 16.62 15.06 15.13C16.37 13.46 16.34 10.54 15.05 8.87C13.83 7.35 11.13 7.16 9.68 8.5C9.38 8.78 9.15 9.12 9 9.5C8.81 9.9 8.72 10.33 8.7 10.8H10.5C10.5 10.37 10.69 9.94 10.97 9.63C11.26 9.34 11.67 9.14 12.12 9.14C12.81 9.15 13.33 9.44 13.62 10C13.76 10.24 13.87 10.53 13.92 10.86M12 2C6.5 2 2 6.5 2 12C2.53 25.26 21.47 25.27 22 12C22 6.5 17.5 2 12 2M4 12C4.44 1.39 19.56 1.39 20 12C20 16.41 16.41 20 12 20S4 16.41 4 12Z\";\r\nexport var mdiCopyright = \"M10.08 10.86C10.13 10.53 10.24 10.24 10.38 10C10.68 9.44 11.19 9.15 11.88 9.14C12.33 9.14 12.74 9.34 13.03 9.63C13.31 9.94 13.5 10.37 13.5 10.8H15.3C15.28 10.33 15.19 9.9 15 9.5C14.85 9.12 14.62 8.78 14.32 8.5C12.87 7.16 10.18 7.35 8.95 8.87C7.66 10.54 7.63 13.46 8.94 15.13C10.15 16.62 12.8 16.83 14.24 15.5C14.55 15.25 14.8 14.94 15 14.58C15.16 14.22 15.27 13.84 15.28 13.43H13.5C13.5 13.64 13.43 13.83 13.34 14C13.25 14.19 13.13 14.34 13 14.47C12.67 14.73 12.28 14.87 11.86 14.87C11.5 14.86 11.2 14.79 10.97 14.64C10.72 14.5 10.5 14.27 10.38 14C9.88 13.1 9.96 11.85 10.08 10.86M12 2C6.5 2 2 6.5 2 12C2.53 25.27 21.5 25.26 22 12C22 6.5 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12C4.44 1.39 19.56 1.39 20 12C20 16.41 16.41 20 12 20Z\";\r\nexport var mdiCordova = \"M20.18,21.55H16.94L17.17,18.82H15.58L15.35,21.55H8.65L8.42,18.82H6.83L7.06,21.55H3.82L2,9.73L6.55,2.45H17.45L22,9.73L20.18,21.55M16.55,6.09H13.62L13.82,7.45H10.18L10.38,6.09H7.45L5.64,9.73L6.55,17H17.45L18.36,9.73L16.55,6.09M14.95,14.59C14.7,14.59 14.5,13.83 14.5,12.9C14.5,11.96 14.7,11.2 14.95,11.2C15.21,11.2 15.41,11.96 15.41,12.9C15.41,13.83 15.21,14.59 14.95,14.59M9.22,14.73C8.96,14.73 8.76,13.97 8.76,13.04C8.76,12.1 8.96,11.35 9.22,11.35C9.47,11.35 9.67,12.1 9.67,13.04C9.67,13.97 9.47,14.73 9.22,14.73Z\";\r\nexport var mdiCorn = \"M11,12H8.82C9.62,12.5 10.35,13.07 11,13.68V12M7,11C7.27,5.88 9.37,2 12,2C14.66,2 16.77,5.94 17,11.12C18.5,10.43 20.17,10 22,10C16.25,12.57 18.25,22 12,22C6,22 7.93,12.57 2,10C3.82,10 5.5,10.4 7,11M11,11V9H8.24L8.03,11H11M11,8V6H9.05C8.8,6.6 8.6,7.27 8.43,8H11M11,5V3.3C10.45,3.63 9.95,4.22 9.5,5H11M12,3V5H13V6H12V8H14V9H12V11H15V12H12V14H14V15H12.23C13.42,16.45 14.15,18 14.32,19.23C15.31,17.56 15.96,14.84 16,11.76C15.94,7 14.13,3 12,3Z\";\r\nexport var mdiCornOff = \"M22.1 21.5L2.4 1.7L1.1 3L7.2 9.1C7.1 9.7 7 10.3 7 11C5.5 10.4 3.8 10 2 10C7.9 12.6 6 22 12 22C14.5 22 15.7 20.5 16.6 18.5L20.9 22.8L22.1 21.5M8.1 10L9.1 11H8L8.1 10M8.8 12H10.1L11 12.9V13.7C10.3 13.1 9.6 12.5 8.8 12M14.3 19.2C14.1 18 13.4 16.4 12.2 15H13.1L15.2 17.1C15 17.9 14.7 18.6 14.3 19.2M11 6V7.8L12.2 9H14V8H12V6H13V5H12V3C14.1 3 15.9 7 16 11.8V12.8L18 14.8C18.8 12.8 19.9 10.9 22 10C20.2 10 18.5 10.4 17 11.1C16.8 5.9 14.7 2 12 2C10.5 2 9.2 3.2 8.3 5.1L9.2 6H11M11 3.3V5H9.5C10 4.2 10.5 3.6 11 3.3M15 11.8L14.2 11H15V11.8Z\";\r\nexport var mdiCosineWave = \"M22 2V4C20.26 4 19 8.58 17.96 12.27C16.57 17.27 15.26 22 12 22C8.74 22 7.43 17.27 6.04 12.27C5 8.58 3.74 4 2 4V2C5.26 2 6.57 6.73 7.96 11.73C9 15.42 10.26 20 12 20C13.74 20 15 15.42 16.04 11.73C17.43 6.73 18.74 2 22 2Z\";\r\nexport var mdiCounter = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H11V6H4M20,18V6H18.76C19,6.54 18.95,7.07 18.95,7.13C18.88,7.8 18.41,8.5 18.24,8.75L15.91,11.3L19.23,11.28L19.24,12.5L14.04,12.47L14,11.47C14,11.47 17.05,8.24 17.2,7.95C17.34,7.67 17.91,6 16.5,6C15.27,6.05 15.41,7.3 15.41,7.3L13.87,7.31C13.87,7.31 13.88,6.65 14.25,6H13V18H15.58L15.57,17.14L16.54,17.13C16.54,17.13 17.45,16.97 17.46,16.08C17.5,15.08 16.65,15.08 16.5,15.08C16.37,15.08 15.43,15.13 15.43,15.95H13.91C13.91,15.95 13.95,13.89 16.5,13.89C19.1,13.89 18.96,15.91 18.96,15.91C18.96,15.91 19,17.16 17.85,17.63L18.37,18H20M8.92,16H7.42V10.2L5.62,10.76V9.53L8.76,8.41H8.92V16Z\";\r\nexport var mdiCountertop = \"M18 10V7C18 5.34 16.66 4 15 4S12 5.34 12 7H14C14 6.45 14.45 6 15 6S16 6.45 16 7V10H8C9.1 10 10 9.1 10 8V4H4V8C4 9.1 4.9 10 6 10H2V12H4V20H20V12H22V10H18M13 18H11V12H13V18Z\";\r\nexport var mdiCountertopOutline = \"M22 10H18V7C18 5.34 16.66 4 15 4S12 5.34 12 7H14C14 6.45 14.45 6 15 6S16 6.45 16 7V10H8C9.1 10 10 9.1 10 8V4H4V8C4 9.1 4.9 10 6 10H2V12H4V20H20V12H22V10M6 6H8V8H6V6M6 18V12H11V18H6M18 18H13V12H18V18Z\";\r\nexport var mdiCow = \"M10.5,18A0.5,0.5 0 0,1 11,18.5A0.5,0.5 0 0,1 10.5,19A0.5,0.5 0 0,1 10,18.5A0.5,0.5 0 0,1 10.5,18M13.5,18A0.5,0.5 0 0,1 14,18.5A0.5,0.5 0 0,1 13.5,19A0.5,0.5 0 0,1 13,18.5A0.5,0.5 0 0,1 13.5,18M10,11A1,1 0 0,1 11,12A1,1 0 0,1 10,13A1,1 0 0,1 9,12A1,1 0 0,1 10,11M14,11A1,1 0 0,1 15,12A1,1 0 0,1 14,13A1,1 0 0,1 13,12A1,1 0 0,1 14,11M18,18C18,20.21 15.31,22 12,22C8.69,22 6,20.21 6,18C6,17.1 6.45,16.27 7.2,15.6C6.45,14.6 6,13.35 6,12L6.12,10.78C5.58,10.93 4.93,10.93 4.4,10.78C3.38,10.5 1.84,9.35 2.07,8.55C2.3,7.75 4.21,7.6 5.23,7.9C5.82,8.07 6.45,8.5 6.82,8.96L7.39,8.15C6.79,7.05 7,4 10,3L9.91,3.14V3.14C9.63,3.58 8.91,4.97 9.67,6.47C10.39,6.17 11.17,6 12,6C12.83,6 13.61,6.17 14.33,6.47C15.09,4.97 14.37,3.58 14.09,3.14L14,3C17,4 17.21,7.05 16.61,8.15L17.18,8.96C17.55,8.5 18.18,8.07 18.77,7.9C19.79,7.6 21.7,7.75 21.93,8.55C22.16,9.35 20.62,10.5 19.6,10.78C19.07,10.93 18.42,10.93 17.88,10.78L18,12C18,13.35 17.55,14.6 16.8,15.6C17.55,16.27 18,17.1 18,18M12,16C9.79,16 8,16.9 8,18C8,19.1 9.79,20 12,20C14.21,20 16,19.1 16,18C16,16.9 14.21,16 12,16M12,14C13.12,14 14.17,14.21 15.07,14.56C15.65,13.87 16,13 16,12A4,4 0 0,0 12,8A4,4 0 0,0 8,12C8,13 8.35,13.87 8.93,14.56C9.83,14.21 10.88,14 12,14M14.09,3.14V3.14Z\";\r\nexport var mdiCowOff = \"M22.1 21.5L2.4 1.7L1.1 3L6.9 8.8L6.8 9C6.4 8.5 5.8 8.1 5.2 7.9C4.2 7.6 2.3 7.7 2 8.5S3.3 10.5 4.3 10.7C4.8 10.8 5.5 10.8 6 10.7V12C6 13.3 6.5 14.6 7.2 15.6C6.5 16.3 6 17.1 6 18C6 20.2 8.7 22 12 22C14.5 22 16.7 21 17.6 19.5L20.9 22.8L22.1 21.5M9.4 11.2C9.1 11.4 9 11.7 9 12C9 12.6 9.4 13 10 13C10.3 13 10.6 12.9 10.8 12.6L12.2 14H12.1C11 14 9.9 14.2 9 14.6C8.3 13.9 8 13 8 12C8 11.4 8.1 10.8 8.4 10.3L9.4 11.2M16 18C16 19.1 14.2 20 12 20S8 19.1 8 18 9.8 16 12 16C13 16 13.9 16.2 14.6 16.5L16 17.9V18M9.7 6.5L7.8 4.6C8.3 3.9 9 3.3 10 3L9.9 3.1C9.6 3.6 8.9 5 9.7 6.5M11.3 8.1L9.7 6.5C10.4 6.2 11.2 6 12 6S13.6 6.2 14.3 6.5C15.1 5 14.3 3.6 14.1 3.2L14 3C17 4 17.2 7 16.6 8.2L17.2 9C17.6 8.5 18.2 8.1 18.8 7.9C19.8 7.6 21.7 7.7 22 8.5S20.7 10.5 19.7 10.7C19.2 10.8 18.5 10.8 18 10.7V12C18 12.8 17.8 13.6 17.5 14.3L15.9 12.7C15.9 12.5 16 12.2 16 12C16 9.8 14.2 8 12 8C11.8 8 11.5 8 11.3 8.1M14 18.5C14 18.8 13.8 19 13.5 19S13 18.8 13 18.5 13.2 18 13.5 18 14 18.2 14 18.5M11 18.5C11 18.8 10.8 19 10.5 19S10 18.8 10 18.5 10.2 18 10.5 18 11 18.2 11 18.5Z\";\r\nexport var mdiCpu32Bit = \"M9,3V5H7A2,2 0 0,0 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11H21V9H19V7A2,2 0 0,0 17,5H15V3H13V5H11V3M7,9H10.5A1,1 0 0,1 11.5,10V14A1,1 0 0,1 10.5,15H7V13.5H10V12.75H8.5V11.25H10V10.5H7M12.5,9H16A1,1 0 0,1 17,10V11.75A1,1 0 0,1 16,12.75H14V13.5H17V15H12.5V12.25A1,1 0 0,1 13.5,11.25H15.5V10.5H12.5\";\r\nexport var mdiCpu64Bit = \"M9,3V5H7A2,2 0 0,0 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11H21V9H19V7A2,2 0 0,0 17,5H15V3H13V5H11V3M8,9H11.5V10.5H8.5V11.25H10.5A1,1 0 0,1 11.5,12.25V14A1,1 0 0,1 10.5,15H8A1,1 0 0,1 7,14V10A1,1 0 0,1 8,9M12.5,9H14V11H15.5V9H17V15H15.5V12.5H12.5M8.5,12.75V13.5H10V12.75\";\r\nexport var mdiCradle = \"M18 9H12V4H8C5.8 4 4 5.8 4 8V14C4 15.1 4.9 16 6 16H8V18.9C7.4 18.5 6.8 18.1 6.3 17.6L4.9 19C6.7 20.9 9.2 22 12 22S17.3 20.9 19.1 19.1L17.7 17.7C17.2 18.2 16.7 18.6 16.1 19V16H18.1C19.2 16 20.1 15.1 20.1 14V11C20 9.9 19.1 9 18 9M14 19.8C13.4 20 12.7 20 12 20S10.6 19.9 10 19.8V16H14V19.8Z\";\r\nexport var mdiCradleOutline = \"M18 9H12V4H8C5.8 4 4 5.8 4 8V14C4 15.1 4.9 16 6 16H8V18.9C7.4 18.5 6.8 18.1 6.3 17.6L4.9 19C6.7 20.9 9.2 22 12 22S17.3 20.9 19.1 19.1L17.7 17.7C17.2 18.2 16.7 18.6 16.1 19V16H18.1C19.2 16 20.1 15.1 20.1 14V11C20 9.9 19.1 9 18 9M14 19.8C13.4 20 12.7 20 12 20S10.6 19.9 10 19.8V16H14V19.8M18 14H6V8C6 6.9 6.9 6 8 6H10V11H18V14Z\";\r\nexport var mdiCrane = \"M20,6V5A1,1 0 0,0 19,4H9V3H6V4H5V6H6V15H5V13H3V15H2V17H3V21H5V17H10V21H12V19.92L12,17H13V15H12V13H10V15H9V6H17V10.62C16.53,10.79 16.19,11.23 16.19,11.76C16.19,12.2 16.43,12.6 16.8,12.82V14H17.42C17.76,14 18.03,14.28 18.03,14.62C18.03,14.96 17.76,15.24 17.42,15.24C17.2,15.24 17,15.12 16.89,14.93C16.71,14.64 16.34,14.54 16.05,14.71C15.75,14.87 15.65,15.25 15.82,15.55C16.15,16.11 16.76,16.47 17.42,16.47C18.43,16.47 19.26,15.64 19.26,14.62C19.26,13.84 18.76,13.14 18.03,12.88V12.82C18.41,12.6 18.65,12.2 18.65,11.76C18.65,11.3 18.38,10.91 18,10.7V6H20M8,13.66L7,14.66V13.24L8,12.24V13.66M8,10.71L7,11.71V10.29L8,9.29V10.71M7,8.71V7.29L8,6.29V7.71L7,8.71Z\";\r\nexport var mdiCreation = \"M19,1L17.74,3.75L15,5L17.74,6.26L19,9L20.25,6.26L23,5L20.25,3.75M9,4L6.5,9.5L1,12L6.5,14.5L9,20L11.5,14.5L17,12L11.5,9.5M19,15L17.74,17.74L15,19L17.74,20.25L19,23L20.25,20.25L23,19L20.25,17.74\";\r\nexport var mdiCreationOutline = \"M9 4L11.5 9.5L17 12L11.5 14.5L9 20L6.5 14.5L1 12L6.5 9.5L9 4M9 8.83L8 11L5.83 12L8 13L9 15.17L10 13L12.17 12L10 11L9 8.83M19 9L17.74 6.26L15 5L17.74 3.75L19 1L20.25 3.75L23 5L20.25 6.26L19 9M19 23L17.74 20.26L15 19L17.74 17.75L19 15L20.25 17.75L23 19L20.25 20.26L19 23Z\";\r\nexport var mdiCreativeCommons = \"M11.89,10.34L10.55,11.04C10.41,10.74 10.24,10.53 10.03,10.41C9.82,10.29 9.62,10.23 9.45,10.23C8.55,10.23 8.11,10.82 8.11,12C8.11,12.54 8.22,12.97 8.45,13.29C8.67,13.61 9,13.77 9.45,13.77C10.03,13.77 10.44,13.5 10.68,12.91L11.91,13.54C11.65,14.03 11.29,14.41 10.82,14.69C10.36,14.97 9.85,15.11 9.29,15.11C8.39,15.11 7.67,14.84 7.12,14.29C6.58,13.74 6.3,13 6.3,12C6.3,11.05 6.58,10.3 7.13,9.74C7.69,9.18 8.39,8.9 9.23,8.9C10.47,8.89 11.36,9.38 11.89,10.34M17.66,10.34L16.34,11.04C16.2,10.74 16,10.53 15.81,10.41C15.6,10.29 15.4,10.23 15.21,10.23C14.32,10.23 13.87,10.82 13.87,12C13.87,12.54 14,12.97 14.21,13.29C14.44,13.61 14.77,13.77 15.21,13.77C15.8,13.77 16.21,13.5 16.45,12.91L17.7,13.54C17.42,14.03 17.05,14.41 16.59,14.69C16.12,14.97 15.62,15.11 15.07,15.11C14.17,15.11 13.44,14.84 12.9,14.29C12.36,13.74 12.09,13 12.09,12C12.09,11.05 12.37,10.3 12.92,9.74C13.47,9.18 14.17,8.9 15,8.9C16.26,8.89 17.14,9.38 17.66,10.34M12,3.5A8.5,8.5 0 0,1 20.5,12A8.5,8.5 0 0,1 12,20.5A8.5,8.5 0 0,1 3.5,12A8.5,8.5 0 0,1 12,3.5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiCreditCard = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 11H4V8H20Z\";\r\nexport var mdiCreditCardCheck = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.03 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13C20.06 13 21.09 13.28 22 13.81V6C22 4.89 21.11 4 20 4M20 11H4V8H20M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22\";\r\nexport var mdiCreditCardCheckOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H3V12H19V13C19.7 13 20.37 13.13 21 13.35V6C21 4.89 20.11 4 19 4H3C1.89 4 1 4.89 1 6V18C1 19.1 1.89 20 3 20H13.09C13.04 19.67 13 19.34 13 19M3 6H19V8H3V6M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22\";\r\nexport var mdiCreditCardChip = \"M20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4M10 14H5V10H10V14Z\";\r\nexport var mdiCreditCardChipOutline = \"M20 6L20 18L4 18L4 6H20M20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4M11 10H6V14H11V10Z\";\r\nexport var mdiCreditCardClock = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V12.1C23.24,13.36 24,15.09 24,17M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M20,10V7H4V10H20Z\";\r\nexport var mdiCreditCardClockOutline = \"M16,14H17.5V16.82L19.94,18.23L19.19,19.53L16,17.69V14M24,17A7,7 0 0,1 17,24C14.21,24 11.8,22.36 10.67,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V12.1C23.24,13.36 24,15.09 24,17M10,17C10,15.04 10.81,13.27 12.1,12H4V18H10.07C10,17.67 10,17.34 10,17M17,12A5,5 0 0,0 12,17A5,5 0 0,0 17,22A5,5 0 0,0 22,17A5,5 0 0,0 17,12M20,8V6H4V8H20Z\";\r\nexport var mdiCreditCardEdit = \"M20.6 11.3C20.7 11.2 20.8 11.1 21 11.1C21.1 11.1 21.3 11.2 21.4 11.3L22.6 12.5C22.8 12.7 22.8 13.1 22.6 13.3L21.6 14.3L19.6 12.3L20.6 11.3M13 18.9L19 12.8L21.1 14.9L15.1 21H13V18.9M11 19.1V18.1L11.6 17.5L18.1 11H4V8H20V9.1L22 7.1V6C22 4.9 21.1 4 20 4H4C3.5 4 3 4.2 2.6 4.6C2.2 5 2 5.5 2 6V18C2 18.5 2.2 19 2.6 19.4C3 19.8 3.5 20 4 20H11V19.1Z\";\r\nexport var mdiCreditCardEditOutline = \"M13 18.9L19.1 12.8L21.2 14.9L15.1 21H13V18.9M21.4 11.3L22.7 12.6C22.9 12.8 22.9 13.1 22.7 13.3L21.7 14.3L19.6 12.3L20.6 11.3C20.7 11.2 20.8 11.1 21 11.1C21.2 11.1 21.3 11.2 21.4 11.3M11 18H4V12H17.1L22 7.1V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H11V18M4 6H20V8H4V6Z\";\r\nexport var mdiCreditCardFast = \"M3 8C2.45 8 2 7.55 2 7S2.45 6 3 6H5.54C5.19 6.6 5 7.29 5 8H3M5 13H2C1.45 13 1 12.55 1 12S1.45 11 2 11H5V13M1 18C.448 18 0 17.55 0 17S.448 16 1 16H5C5 16.71 5.19 17.4 5.54 18H1M21 6H9C7.89 6 7 6.89 7 8V16C7 17.11 7.89 18 9 18H21C22.11 18 23 17.11 23 16V8C23 6.89 22.11 6 21 6M21 12H9V9H21V12Z\";\r\nexport var mdiCreditCardFastOutline = \"M3 8C2.45 8 2 7.55 2 7S2.45 6 3 6H5.54C5.19 6.6 5 7.29 5 8H3M5 13H2C1.45 13 1 12.55 1 12S1.45 11 2 11H5V13M1 18C.448 18 0 17.55 0 17S.448 16 1 16H5C5 16.71 5.19 17.4 5.54 18H1M21 6H9C7.89 6 7 6.89 7 8V16C7 17.11 7.89 18 9 18H21C22.11 18 23 17.11 23 16V8C23 6.89 22.11 6 21 6M21 8V9H9V8H21M9 16L9 12H21L21 16L9 16Z\";\r\nexport var mdiCreditCardLock = \"M21.8 15V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V15C15.6 15 15 15.6 15 16.2V19.7C15 20.4 15.6 21 16.2 21H21.7C22.4 21 23 20.4 23 19.8V16.3C23 15.6 22.4 15 21.8 15M20.5 15H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V15M13.03 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V10.04C21.42 9.6 20.75 9.26 20 9.11V8H4V11H15.04C14.5 11.72 14.2 12.58 14.2 13.5V13.74C13.5 14.34 13 15.24 13 16.2V19.7C13 19.8 13 19.9 13.03 20Z\";\r\nexport var mdiCreditCardLockOutline = \"M21.8 15V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V15C15.6 15 15 15.6 15 16.2V19.7C15 20.4 15.6 21 16.2 21H21.7C22.4 21 23 20.4 23 19.8V16.3C23 15.6 22.4 15 21.8 15M20.5 15H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V15M13 19.7V18H4V12H14.5C15.18 10.28 16.96 9 19 9C20.13 9 21.17 9.4 22 10.04V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.03C13 19.9 13 19.8 13 19.7M4 6H20V8H4V6Z\";\r\nexport var mdiCreditCardMarker = \"M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M14.55 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V11.3C21.42 10.81 20.74 10.44 20 10.22V8H4V11H15.39C13.96 12 13 13.66 13 15.5C13 17 13.72 18.61 14.55 20Z\";\r\nexport var mdiCreditCardMarkerOutline = \"M13.5,18H4V12H14.3C15.3,10.8 16.8,10 18.5,10C19.8,10 21,10.5 22,11.3V6A2,2 0 0,0 20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H14.6C14.2,19.4 13.8,18.7 13.5,18M4,6H20V8H4V6M18.5,12C16.6,12 15,13.6 15,15.5C15,18.1 18.5,22 18.5,22C18.5,22 22,18.1 22,15.5C22,13.6 20.4,12 18.5,12M18.5,16.8C17.8,16.8 17.3,16.2 17.3,15.6C17.3,14.9 17.9,14.4 18.5,14.4C19.1,14.4 19.7,15 19.7,15.6C19.8,16.2 19.2,16.8 18.5,16.8Z\";\r\nexport var mdiCreditCardMinus = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.03 19.67 13 19.34 13 19C13 15.69 15.69 13 19 13C20.06 13 21.09 13.28 22 13.81V6C22 4.89 21.11 4 20 4M20 11H4V8H20M23 18V20H15V18H23Z\";\r\nexport var mdiCreditCardMinusOutline = \"M24 18V20H16V18M19 8V6H3V8H19M19 12H3V18H14V20H3C1.89 20 1 19.1 1 18V6C1 4.89 1.89 4 3 4H19C20.11 4 21 4.89 21 6V13H19V12Z\";\r\nexport var mdiCreditCardMultiple = \"M21 9V6H7V9H21M21 3A2 2 0 0 1 23 5V15A2 2 0 0 1 21 17H7A2 2 0 0 1 5 15V5A2 2 0 0 1 7 3H21M3 19H18V21H3A2 2 0 0 1 1 19V8H3Z\";\r\nexport var mdiCreditCardMultipleOutline = \"M21,8V6H7V8H21M21,16V11H7V16H21M21,4A2,2 0 0,1 23,6V16A2,2 0 0,1 21,18H7C5.89,18 5,17.1 5,16V6C5,4.89 5.89,4 7,4H21M3,20H18V22H3A2,2 0 0,1 1,20V9H3V20Z\";\r\nexport var mdiCreditCardOff = \"M11.2 8L7.2 4H20A2 2 0 0 1 22 6V18A1.91 1.91 0 0 1 21.88 18.68L14.2 11H20V8M20.84 22.73L18.11 20H4A2 2 0 0 1 2 18V6A2 2 0 0 1 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M9.11 11L6.11 8H4V11Z\";\r\nexport var mdiCreditCardOffOutline = \"M0.93,4.2L2.21,2.93L20,20.72L18.73,22L16.73,20H4C2.89,20 2,19.1 2,18V6C2,5.78 2.04,5.57 2.11,5.38L0.93,4.2M20,8V6H7.82L5.82,4H20A2,2 0 0,1 22,6V18C22,18.6 21.74,19.13 21.32,19.5L19.82,18H20V12H13.82L9.82,8H20M4,8H4.73L4,7.27V8M4,12V18H14.73L8.73,12H4Z\";\r\nexport var mdiCreditCardOutline = \"M20,8H4V6H20M20,18H4V12H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiCreditCardPlus = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 19 13A5.88 5.88 0 0 1 22 13.81V6A2 2 0 0 0 20 4M20 11H4V8H20M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiCreditCardPlusOutline = \"M21,18H24V20H21V23H19V20H16V18H19V15H21V18M19,8V6H3V8H19M19,12H3V18H14V20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H19A2,2 0 0,1 21,6V13H19V12Z\";\r\nexport var mdiCreditCardRefresh = \"M20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.68C11.57 19.5 11.5 19 11.5 18.5C11.5 14.91 14.41 12 18 12C19.5 12 20.9 12.53 22 13.4V6C22 4.89 21.11 4 20 4M20 11H4V8H20V11M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\r\nexport var mdiCreditCardRefreshOutline = \"M20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.68C11.57 19.5 11.5 19 11.5 18.5C11.5 18.33 11.5 18.17 11.53 18H4V12H20V12.32C20.74 12.56 21.41 12.93 22 13.4V6C22 4.89 21.1 4 20 4M20 8H4V6H20V8M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\r\nexport var mdiCreditCardRefund = \"M18 11H6A2 2 0 0 0 4 13V21A2 2 0 0 0 6 23H18A2 2 0 0 0 20 21V13A2 2 0 0 0 18 11M18 17H6V14H18M17 5V10H15.5V6.5H9.88L12.3 8.93L11.24 10L7 5.75L11.24 1.5L12.3 2.57L9.88 5Z\";\r\nexport var mdiCreditCardRefundOutline = \"M18,11H6A2,2 0 0,0 4,13V21A2,2 0 0,0 6,23H18A2,2 0 0,0 20,21V13A2,2 0 0,0 18,11M18,21H6V17H18V21M18,15H6V13H18V15M17,5V10H15.5V6.5H9.88L12.3,8.93L11.24,10L7,5.75L11.24,1.5L12.3,2.57L9.88,5H17Z\";\r\nexport var mdiCreditCardRemove = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 19 13A5.88 5.88 0 0 1 22 13.81V6A2 2 0 0 0 20 4M20 11H4V8H20M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiCreditCardRemoveOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H3V12H19V13C19.7 13 20.37 13.13 21 13.35V6C21 4.89 20.11 4 19 4H3C1.89 4 1 4.89 1 6V18C1 19.1 1.89 20 3 20H13.09C13.04 19.67 13 19.34 13 19M3 6H19V8H3V6M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88Z\";\r\nexport var mdiCreditCardScan = \"M18 6H6A2 2 0 0 0 4 8V16A2 2 0 0 0 6 18H18A2 2 0 0 0 20 16V8A2 2 0 0 0 18 6M18 12H6V9H18M2 4H6V2H2A2 2 0 0 0 0 4V8H2V4M22 2H18V4H22V8H24V4A2 2 0 0 0 22 2M2 16H0V20A2 2 0 0 0 2 22H6V20H2V16M22 20H18V22H22A2 2 0 0 0 24 20V16H22V20\";\r\nexport var mdiCreditCardScanOutline = \"M2,4H6V2H2A2,2 0 0,0 0,4V8H2V4M22,2H18V4H22V8H24V4A2,2 0 0,0 22,2M2,16H0V20A2,2 0 0,0 2,22H6V20H2V16M22,20H18V22H22A2,2 0 0,0 24,20V16H22V20M4,8V16A2,2 0 0,0 6,18H18A2,2 0 0,0 20,16V8A2,2 0 0,0 18,6H6A2,2 0 0,0 4,8M6,16V12H18V16H6M18,8V10H6V8H18Z\";\r\nexport var mdiCreditCardSearch = \"M11.82 11C9.4 13.5 9.4 17.5 11.82 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V12.06C21.74 11.65 21.45 11.26 21.1 10.9C20.76 10.57 20.39 10.27 20 10.03V8H4V11H11.82M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiCreditCardSearchOutline = \"M11.03 12C11.28 11.61 11.57 11.24 11.9 10.9C14.44 8.37 18.56 8.37 21.1 10.9C21.45 11.26 21.74 11.65 22 12.06V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H11.82C11.24 19.4 10.8 18.72 10.5 18H4V12H11.03M4 6H20V8H4V6M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiCreditCardSettings = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 11H4V8H20M7 22H9V24H7V22M11 22H13V24H11V22M15 22H17V24H15Z\";\r\nexport var mdiCreditCardSettingsOutline = \"M20,8H4V6H20M20,18H4V12H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiCreditCardSync = \"M13 17.5C13 18.39 13.18 19.23 13.5 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H20C21.11 4 22 4.89 22 6V11.5C21.23 11.18 20.39 11 19.5 11H20V8H4V11H19.5C15.91 11 13 13.91 13 17.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiCreditCardSyncOutline = \"M4 18V12H16.05C17.05 11.37 18.23 11 19.5 11C20.39 11 21.23 11.18 22 11.5V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.5C13.24 19.38 13.08 18.7 13.03 18H4M4 6H20V8H4V6M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\r\nexport var mdiCreditCardWireless = \"M4.93 4.92L6.34 6.33C9.46 3.2 14.53 3.2 17.66 6.33L19.07 4.92C15.17 1 8.84 1 4.93 4.92M7.76 7.75L9.17 9.16C10.73 7.6 13.26 7.6 14.83 9.16L16.24 7.75C13.9 5.41 10.1 5.41 7.76 7.75M18 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C19.11 23 20 22.11 20 21V13C20 11.9 19.11 11 18 11M18 17H6V14H18V17Z\";\r\nexport var mdiCreditCardWirelessOff = \"M12 2C9.85 2 7.7 2.69 5.9 4.08L7.32 5.5C10.45 3.24 14.84 3.5 17.66 6.33L19.07 4.92C17.12 2.96 14.56 2 12 2M3.28 4L2 5.27L7.73 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C18.5 23 18.92 22.82 19.27 22.54L19.73 23L21 21.72M12 6C10.87 6 9.75 6.31 8.77 6.94L10.24 8.41C11.73 7.68 13.58 7.92 14.83 9.16L16.24 7.75C15.07 6.58 13.54 6 12 6M12.82 11L15.82 14H18V16.18L20 18.18V13C20 11.9 19.11 11 18 11M6 14H10.73L13.73 17H6Z\";\r\nexport var mdiCreditCardWirelessOffOutline = \"M12 2C9.85 2 7.7 2.69 5.9 4.08L7.32 5.5C10.45 3.24 14.84 3.5 17.66 6.33L19.07 4.92C17.12 2.96 14.56 2 12 2M3.28 4L2 5.27L7.73 11H6C4.89 11 4 11.9 4 13V21C4 22.11 4.89 23 6 23H18C18.47 23 18.92 22.84 19.27 22.54L19.73 23L21 21.72M12 6C10.87 6 9.75 6.31 8.77 6.94L10.24 8.41C11.73 7.68 13.58 7.92 14.83 9.16L16.24 7.75C15.07 6.58 13.54 6 12 6M12.82 11L14.82 13H18V15H16.82L20 18.18V13C20 11.9 19.11 11 18 11M6 13H9.73L11.73 15H6M6 17H13.73L17.73 21H6Z\";\r\nexport var mdiCreditCardWirelessOutline = \"M18,11H6A2,2 0 0,0 4,13V21A2,2 0 0,0 6,23H18A2,2 0 0,0 20,21V13A2,2 0 0,0 18,11M18,21H6V17H18V21M18,15H6V13H18V15M4.93,4.92L6.34,6.33C9.46,3.2 14.53,3.2 17.66,6.33L19.07,4.92C15.17,1 8.84,1 4.93,4.92M7.76,7.75L9.17,9.16C10.73,7.6 13.26,7.6 14.83,9.16L16.24,7.75C13.9,5.41 10.1,5.41 7.76,7.75Z\";\r\nexport var mdiCricket = \"M14.34,17.77L15.75,16.36L20,20.58L18.56,22L14.34,17.77M18.5,2A3.5,3.5 0 0,1 22,5.5A3.5,3.5 0 0,1 18.5,9A3.5,3.5 0 0,1 15,5.5A3.5,3.5 0 0,1 18.5,2M2.24,7.11L5.07,4.28C5.46,3.89 6.09,3.89 6.5,4.28L14.97,12.77C15.36,13.16 15.36,13.79 14.97,14.18L12.14,17C11.75,17.4 11.12,17.4 10.72,17L2.24,8.53C1.85,8.13 1.85,7.5 2.24,7.11Z\";\r\nexport var mdiCrop = \"M7,17V1H5V5H1V7H5V17A2,2 0 0,0 7,19H17V23H19V19H23V17M17,15H19V7C19,5.89 18.1,5 17,5H9V7H17V15Z\";\r\nexport var mdiCropFree = \"M19,3H15V5H19V9H21V5C21,3.89 20.1,3 19,3M19,19H15V21H19A2,2 0 0,0 21,19V15H19M5,15H3V19A2,2 0 0,0 5,21H9V19H5M3,5V9H5V5H9V3H5A2,2 0 0,0 3,5Z\";\r\nexport var mdiCropLandscape = \"M19,17H5V7H19M19,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H19A2,2 0 0,0 21,17V7C21,5.89 20.1,5 19,5Z\";\r\nexport var mdiCropPortrait = \"M17,19H7V5H17M17,3H7A2,2 0 0,0 5,5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V5C19,3.89 18.1,3 17,3Z\";\r\nexport var mdiCropRotate = \"M7.47,21.5C4.2,19.93 1.86,16.76 1.5,13H0C0.5,19.16 5.66,24 11.95,24C12.18,24 12.39,24 12.61,23.97L8.8,20.15L7.47,21.5M12.05,0C11.82,0 11.61,0 11.39,0.04L15.2,3.85L16.53,2.5C19.8,4.07 22.14,7.24 22.5,11H24C23.5,4.84 18.34,0 12.05,0M16,14H18V8C18,6.89 17.1,6 16,6H10V8H16V14M8,16V4H6V6H4V8H6V16A2,2 0 0,0 8,18H16V20H18V18H20V16H8Z\";\r\nexport var mdiCropSquare = \"M18,18H6V6H18M18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V6C20,4.89 19.1,4 18,4Z\";\r\nexport var mdiCross = \"M10.5,2H13.5V8H19V11H13.5V22H10.5V11H5V8H10.5V2Z\";\r\nexport var mdiCrossBolnisi = \"M22,7L21.5,6.5C19.93,8 18.47,9.4 16.93,10.18C15.5,10.91 14.44,10.91 13,11C13.09,9.56 13.09,8.5 13.82,7.07C14.6,5.53 16,4.07 17.5,2.5L17,2C15.32,3.23 13.64,3.83 12,3.83C10.36,3.83 8.68,3.23 7,2L6.5,2.5C8,4.07 9.4,5.53 10.18,7.07C10.91,8.5 10.91,9.56 11,11C9.56,10.91 8.5,10.91 7.07,10.18C5.53,9.4 4.06,8 2.5,6.5L2,7C3.23,8.68 3.83,10.36 3.83,12C3.83,13.64 3.23,15.32 2,17L2.5,17.5C4.07,16 5.53,14.6 7.07,13.82C8.5,13.09 9.56,13.09 11,13C10.91,14.44 10.91,15.5 10.18,16.93C9.4,18.47 8,19.93 6.5,21.5L7,22C8.68,20.77 10.36,20.17 12,20.17C13.64,20.17 15.32,20.77 17,22L17.5,21.5C16,19.93 14.6,18.47 13.82,16.93C13.09,15.5 13.09,14.44 13,13C14.44,13.09 15.5,13.09 16.93,13.82C18.47,14.6 19.93,16 21.5,17.5L22,17C20.77,15.32 20.17,13.64 20.17,12C20.17,10.36 20.77,8.68 22,7Z\";\r\nexport var mdiCrossCeltic = \"M17.8,8C17.26,5.89 15.61,4.24 13.5,3.7V2H10.5V3.7C8.39,4.24 6.74,5.89 6.2,8H4V11H6.2C6.74,13.11 8.39,14.76 10.5,15.3V22H13.5V15.3C15.61,14.76 17.26,13.11 17.8,11H19.97V8H17.8M12.04,9.53L14.5,11H15.76C15.35,12.03 14.53,12.84 13.5,13.26V12L12.06,9.56L12,9.5L11.94,9.56L10.5,12V13.26C9.47,12.84 8.66,12.03 8.24,11H9.5L11.96,9.53L12,9.5H11.96L9.5,8H8.24C8.65,6.97 9.47,6.16 10.5,5.74V7L11.94,9.44L12,9.5L12.06,9.44L13.5,7V5.74C14.53,6.16 15.35,6.97 15.76,8H14.5L12.04,9.5H12L12.04,9.53Z\";\r\nexport var mdiCrossOutline = \"M15.5,6V1H8.5V6H3V13H8.5V23H15.5V13H21V6H15.5M19,11H13.5V21H10.5V11H5V8H10.5V3H13.5V8H19V11Z\";\r\nexport var mdiCrosshairs = \"M3.05,13H1V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1H13V3.05C17.17,3.5 20.5,6.83 20.95,11H23V13H20.95C20.5,17.17 17.17,20.5 13,20.95V23H11V20.95C6.83,20.5 3.5,17.17 3.05,13M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5Z\";\r\nexport var mdiCrosshairsGps = \"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M3.05,13H1V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1H13V3.05C17.17,3.5 20.5,6.83 20.95,11H23V13H20.95C20.5,17.17 17.17,20.5 13,20.95V23H11V20.95C6.83,20.5 3.5,17.17 3.05,13M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5Z\";\r\nexport var mdiCrosshairsOff = \"M20.94 11C20.5 6.83 17.17 3.5 13 3.06V1H11V3.06C9.87 3.18 8.81 3.5 7.84 4.03L9.34 5.53C10.16 5.19 11.06 5 12 5C15.87 5 19 8.13 19 12C19 12.94 18.81 13.84 18.5 14.65L20 16.15C20.5 15.19 20.82 14.13 20.95 13H23V11H20.94M3 4.27L5.04 6.31C3.97 7.62 3.25 9.23 3.06 11H1V13H3.06C3.5 17.17 6.83 20.5 11 20.94V23H13V20.94C14.77 20.74 16.38 20.03 17.69 18.96L19.73 21L21 19.73L4.27 3L3 4.27M16.27 17.54C15.09 18.45 13.61 19 12 19C8.13 19 5 15.87 5 12C5 10.39 5.55 8.91 6.46 7.73L16.27 17.54Z\";\r\nexport var mdiCrosshairsQuestion = \"M3.05 13H1V11H3.05C3.5 6.83 6.83 3.5 11 3.05V1H13V3.05C17.17 3.5 20.5 6.83 20.95 11H23V13H20.95C20.5 17.17 17.17 20.5 13 20.95V23H11V20.95C6.83 20.5 3.5 17.17 3.05 13M12 5C8.13 5 5 8.13 5 12S8.13 19 12 19 19 15.87 19 12 15.87 5 12 5M11.13 17.25H12.88V15.5H11.13V17.25M12 6.75C10.07 6.75 8.5 8.32 8.5 10.25H10.25C10.25 9.28 11.03 8.5 12 8.5S13.75 9.28 13.75 10.25C13.75 12 11.13 11.78 11.13 14.63H12.88C12.88 12.66 15.5 12.44 15.5 10.25C15.5 8.32 13.93 6.75 12 6.75Z\";\r\nexport var mdiCrowd = \"M3.69 9.12C3.5 8.93 3.29 8.84 3.04 8.84C2.63 8.84 2.32 9.03 2.12 9.42S1.97 10.18 2.29 10.53C3.47 11.59 4.22 12.34 4.54 12.78C4.95 13.34 5.15 14.16 5.15 15.22C5.15 16.53 5.65 17.5 6.65 18.17C7.21 18.61 7.82 18.94 8.5 19.16L8.5 15.27C8.5 14.33 8.17 13.55 7.54 12.92M16.46 12.97C15.84 13.59 15.5 14.36 15.5 15.27L15.5 19.2C16.46 18.86 17.26 18.33 17.92 17.63C18.57 16.93 18.9 16.16 18.9 15.22C18.9 14.09 19.09 13.28 19.47 12.78C19.56 12.62 19.73 12.42 20 12.17C20.23 11.92 20.47 11.68 20.71 11.46C20.94 11.25 21.17 11.03 21.39 10.81L21.72 10.53C21.91 10.34 22 10.12 22 9.87C22 9.59 21.91 9.34 21.72 9.14C21.53 8.94 21.3 8.84 21 8.84S20.5 8.93 20.31 9.12M12 20C12.69 20 13.36 19.91 14 19.72L14 16.15C14 15.56 13.82 15.1 13.41 14.66C13 14.22 12.53 14 12 14C11.47 14 11 14.2 10.62 14.61C10.22 15 10 15.46 10 16.06L10 19.72C10.64 19.91 11.31 20 12 20M9 8.5C9 9.33 8.33 10 7.5 10S6 9.33 6 8.5 6.67 7 7.5 7 9 7.67 9 8.5M18 8.5C18 9.33 17.33 10 16.5 10C15.67 10 15 9.33 15 8.5S15.67 7 16.5 7C17.33 7 18 7.67 18 8.5M13.5 5.5C13.5 6.33 12.83 7 12 7S10.5 6.33 10.5 5.5 11.17 4 12 4 13.5 4.67 13.5 5.5M13.5 11C13.5 11.83 12.83 12.5 12 12.5S10.5 11.83 10.5 11 11.17 9.5 12 9.5 13.5 10.17 13.5 11Z\";\r\nexport var mdiCrown = \"M5 16L3 5L8.5 10L12 4L15.5 10L21 5L19 16H5M19 19C19 19.6 18.6 20 18 20H6C5.4 20 5 19.6 5 19V18H19V19Z\";\r\nexport var mdiCrownCircle = \"M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M16 15.44C16 15.78 15.78 16 15.44 16H8.56C8.22 16 8 15.78 8 15.44V15H16V15.44M16 14H8L7 8L10 10L12 7L14 10L17 8L16 14Z\";\r\nexport var mdiCrownCircleOutline = \"M12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4S20 7.58 20 12C20 16.42 16.42 20 12 20M8 14L7 8L10 10L12 7L14 10L17 8L16 14H8M8.56 16C8.22 16 8 15.78 8 15.44V15H16V15.44C16 15.78 15.78 16 15.44 16H8.56Z\";\r\nexport var mdiCrownOutline = \"M12 8L15 13.2L18 10.5L17.3 14H6.7L6 10.5L9 13.2L12 8M12 4L8.5 10L3 5L5 16H19L21 5L15.5 10L12 4M19 18H5V19C5 19.6 5.4 20 6 20H18C18.6 20 19 19.6 19 19V18Z\";\r\nexport var mdiCryengine = \"M23.03,12.4M23.03,12.5V12.5C23,13 20.91,15.23 17.82,16.24C14.05,17.5 7.97,17.03 7.97,12.3C7.97,10.08 9.78,8.27 12,8.27C14.25,8.27 16.05,10.09 16.05,12.31C16.05,13.39 15.58,14.44 14.87,15.18C15.54,15.17 17.94,15 20.21,13.12C20.46,12.88 20.62,12.68 20.69,12.55C20.71,12.5 20.74,12.46 20.73,12.4C20.73,11.92 18.12,8.19 12.72,7.12C19.22,7.46 23,11.32 23.03,12.4V12.5H23.03M12,10C10.74,10 9.71,11.04 9.71,12.3C9.71,13.57 10.74,14.59 12,14.59C13.27,14.59 14.29,13.57 14.29,12.3C14.29,11.04 13.27,10 12,10M3.31,12.34C3.31,12.34 3.31,12.31 3.31,12.42V12.42C3.41,12.94 4.82,15.41 10.28,16.88C3.96,16.37 1.12,13.28 1.04,12.42H1.03C1.03,12.31 1.03,12.36 1.03,12.35C1.03,11.5 4.96,7.58 10.92,7.15C6.14,8.26 3.31,11.87 3.31,12.34V12.34Z\";\r\nexport var mdiCrystalBall = \"M9.38,8.38L11.5,9.34L13.62,8.38L12.66,10.5L13.62,12.62L11.5,11.66L9.38,12.62L10.34,10.5L9.38,8.38M16.5,2.5L17.59,5.41L20.5,6.5L17.59,7.59L16.5,10.5L15.41,7.59L12.5,6.5L15.41,5.41L16.5,2.5M6,19H7V18A1,1 0 0,1 8,17H8.26C6,15.7 4.5,13.28 4.5,10.5A7.5,7.5 0 0,1 12,3C13.05,3 14.05,3.22 14.96,3.61L14.59,4.59L13.17,5.12C12.79,5.04 12.4,5 12,5A5.5,5.5 0 0,0 6.5,10.5A5.5,5.5 0 0,0 12,16C14.91,16 17.3,13.73 17.5,10.87L18.41,8.41L19.12,8.14C19.37,8.88 19.5,9.68 19.5,10.5C19.5,13.28 18,15.7 15.74,17H16A1,1 0 0,1 17,18V19H18A2,2 0 0,1 20,21V22H4V21A2,2 0 0,1 6,19Z\";\r\nexport var mdiCube = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15Z\";\r\nexport var mdiCubeOff = \"M20.84 22.73L17.28 19.17L12.57 21.82C12.41 21.94 12.21 22 12 22S11.59 21.94 11.43 21.82L3.53 17.38C3.21 17.21 3 16.88 3 16.5V7.5C3 7.12 3.21 6.79 3.53 6.62L4.3 6.19L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M12 4.15L17.96 7.5L13.31 10.11L20.53 17.33C20.82 17.16 21 16.85 21 16.5V7.5C21 7.12 20.79 6.79 20.47 6.62L12.57 2.18C12.41 2.06 12.21 2 12 2S11.59 2.06 11.43 2.18L7.56 4.36L9 5.82L12 4.15Z\";\r\nexport var mdiCubeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.3 6.19L3.53 6.62C3.21 6.79 3 7.12 3 7.5V16.5C3 16.88 3.21 17.21 3.53 17.38L11.43 21.82C11.59 21.94 11.79 22 12 22S12.41 21.94 12.57 21.82L17.28 19.17L20.84 22.73L22.11 21.46M5 15.91V9.21L10.29 12.18L11 12.89V19.29L5 15.91M13 19.29V14.89L15.82 17.7L13 19.29M9 5.82L7.56 4.36L11.43 2.18C11.59 2.06 11.79 2 12 2S12.41 2.06 12.57 2.18L20.47 6.62C20.79 6.79 21 7.12 21 7.5V16.5C21 16.85 20.82 17.16 20.53 17.33L19 15.8V9.21L14.78 11.58L13.31 10.11L17.96 7.5L12 4.15L9 5.82Z\";\r\nexport var mdiCubeOutline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L6.04,7.5L12,10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z\";\r\nexport var mdiCubeScan = \"M17,22V20H20V17H22V20.5C22,20.89 21.84,21.24 21.54,21.54C21.24,21.84 20.89,22 20.5,22H17M7,22H3.5C3.11,22 2.76,21.84 2.46,21.54C2.16,21.24 2,20.89 2,20.5V17H4V20H7V22M17,2H20.5C20.89,2 21.24,2.16 21.54,2.46C21.84,2.76 22,3.11 22,3.5V7H20V4H17V2M7,2V4H4V7H2V3.5C2,3.11 2.16,2.76 2.46,2.46C2.76,2.16 3.11,2 3.5,2H7M13,17.25L17,14.95V10.36L13,12.66V17.25M12,10.92L16,8.63L12,6.28L8,8.63L12,10.92M7,14.95L11,17.25V12.66L7,10.36V14.95M18.23,7.59C18.73,7.91 19,8.34 19,8.91V15.23C19,15.8 18.73,16.23 18.23,16.55L12.75,19.73C12.25,20.05 11.75,20.05 11.25,19.73L5.77,16.55C5.27,16.23 5,15.8 5,15.23V8.91C5,8.34 5.27,7.91 5.77,7.59L11.25,4.41C11.5,4.28 11.75,4.22 12,4.22C12.25,4.22 12.5,4.28 12.75,4.41L18.23,7.59Z\";\r\nexport var mdiCubeSend = \"M16,4L9,8.04V15.96L16,20L23,15.96V8.04M16,6.31L19.8,8.5L16,10.69L12.21,8.5M0,7V9H7V7M11,10.11L15,12.42V17.11L11,14.81M21,10.11V14.81L17,17.11V12.42M2,11V13H7V11M4,15V17H7V15\";\r\nexport var mdiCubeUnfolded = \"M6,9V4H13V9H23V16H18V21H11V16H1V9H6M16,16H13V19H16V16M8,9H11V6H8V9M6,14V11H3V14H6M18,11V14H21V11H18M13,11V14H16V11H13M8,11V14H11V11H8Z\";\r\nexport var mdiCup = \"M18.32,8H5.67L5.23,4H18.77M3,2L5,20.23C5.13,21.23 5.97,22 7,22H17C18,22 18.87,21.23 19,20.23L21,2H3Z\";\r\nexport var mdiCupOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L18.27,21.54C17.93,21.83 17.5,22 17,22H7C5.97,22 5.13,21.23 5,20.23L3.53,6.8L1,4.27M18.32,8L18.77,4H5.82L3.82,2H21L19.29,17.47L9.82,8H18.32Z\";\r\nexport var mdiCupOffOutline = \"M3.83 2L5.83 4H18.78L17.5 15.66L19.3 17.5L21 2M2.27 3L1 4.27L3.53 6.8L5 20.23C5.13 21.23 5.97 22 7 22H17C17.47 22 17.91 21.82 18.26 21.54L19.73 23L21 21.73M5.78 9.06L16.73 20H7Z\";\r\nexport var mdiCupOutline = \"M3 2L5 20.23C5.13 21.23 5.97 22 7 22H17C18 22 18.87 21.23 19 20.23L21 2H3M5.22 4H18.78L17 20H7L5.22 4Z\";\r\nexport var mdiCupWater = \"M18.32,8H5.67L5.23,4H18.77M12,19A3,3 0 0,1 9,16C9,14 12,10.6 12,10.6C12,10.6 15,14 15,16A3,3 0 0,1 12,19M3,2L5,20.23C5.13,21.23 5.97,22 7,22H17C18,22 18.87,21.23 19,20.23L21,2H3Z\";\r\nexport var mdiCupboard = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M10 18H8V15H10V18M16 18H14V15H16V18M17 12H7V9H17V12M17 7H7V4H17V7Z\";\r\nexport var mdiCupboardOutline = \"M7 2C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2H7M7 4H17V7H7V4M7 9H17V12H7V9M7 14H11V19H7V14M13 14H17V19H13V14M8 15V18H10V15H8M14 15V18H16V15H14Z\";\r\nexport var mdiCupcake = \"M12,1.5A2.5,2.5 0 0,1 14.5,4A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 9.5,4A2.5,2.5 0 0,1 12,1.5M15.87,5C18,5 20,7 20,9C22.7,9 22.7,13 20,13H4C1.3,13 1.3,9 4,9C4,7 6,5 8.13,5C8.57,6.73 10.14,8 12,8C13.86,8 15.43,6.73 15.87,5M5,15H8L9,22H7L5,15M10,15H14L13,22H11L10,15M16,15H19L17,22H15L16,15Z\";\r\nexport var mdiCurling = \"M10,3V5C12.5,5 13.9,5.05 14.72,5.41C15.26,5.65 15.73,6.21 16.25,7H5V9H19.62L18.89,7.55C17.86,5.5 16.96,4.22 15.53,3.59C14.1,2.95 12.5,3 10,3M6,11C3.78,11 2,12.78 2,15V18C2,20.22 3.78,22 6,22H18C20.22,22 22,20.22 22,18V15C22,12.78 20.22,11 18,11H6Z\";\r\nexport var mdiCurrencyBdt = \"M18.09,10.5V9H9.59V4.5A1.5,1.5 0 0,0 8.09,3A1.5,1.5 0 0,0 6.59,4.5A1.5,1.5 0 0,0 8.09,6V9H5.09V10.5H8.09V16.7C8.09,19.06 10,20.97 12.34,21C14.68,20.96 16.54,19.04 16.5,16.7C16.5,15.11 15.75,13.61 14.5,12.62C14.28,12.44 14.05,12.28 13.8,12.15C13.58,12.05 13.34,12 13.1,12C12.39,12 11.74,12.39 11.39,13C11.2,13.3 11.1,13.65 11.1,14C11.11,15.1 12,16 13.11,16C13.73,16 14.31,15.69 14.69,15.2C14.9,15.67 15,16.18 15,16.7C15.04,18.2 13.86,19.45 12.34,19.5C10.81,19.5 9.58,18.23 9.59,16.7V10.5H18.09Z\";\r\nexport var mdiCurrencyBrl = \"M12,15H14C14,16.08 15.37,17 17,17C18.63,17 20,16.08 20,15C20,13.9 18.96,13.5 16.76,12.97C14.64,12.44 12,11.78 12,9C12,7.21 13.47,5.69 15.5,5.18V3H18.5V5.18C20.53,5.69 22,7.21 22,9H20C20,7.92 18.63,7 17,7C15.37,7 14,7.92 14,9C14,10.1 15.04,10.5 17.24,11.03C19.36,11.56 22,12.22 22,15C22,16.79 20.53,18.31 18.5,18.82V21H15.5V18.82C13.47,18.31 12,16.79 12,15M2,3H5.5A5.5,5.5 0 0,1 11,8.5C11,10.69 9.71,12.59 7.86,13.47L11.64,21H9.4L5.88,14H5.5L4,14V21H2V3M5.5,12A3.5,3.5 0 0,0 9,8.5A3.5,3.5 0 0,0 5.5,5H4V12H5.5Z\";\r\nexport var mdiCurrencyBtc = \"M17.06 11.57C17.65 10.88 18 10 18 9C18 7.14 16.73 5.57 15 5.13V3H13V5H11V3H9V5H6V7H8V17H6V19H9V21H11V19H13V21H15V19C17.21 19 19 17.21 19 15C19 13.55 18.22 12.27 17.06 11.57M10 7H14C15.1 7 16 7.9 16 9S15.1 11 14 11H10V7M15 17H10V13H15C16.1 13 17 13.9 17 15S16.1 17 15 17Z\";\r\nexport var mdiCurrencyCny = \"M13.28 12H18V14H13V21H11V14H6V12H10.72L5 3H7.37L12 10.29L16.63 3H19L13.28 12Z\";\r\nexport var mdiCurrencyEth = \"M6,5H18V7H6M7,11H17V13H7M5.5,17H18.5V19H5.5\";\r\nexport var mdiCurrencyEur = \"M15 18.5C12.5 18.5 10.32 17.08 9.24 15H15L16 13H8.58C8.53 12.67 8.5 12.34 8.5 12S8.53 11.33 8.58 11H15L16 9H9.24C10.32 6.92 12.5 5.5 15 5.5C16.61 5.5 18.09 6.09 19.23 7.07L21 5.3C19.41 3.87 17.3 3 15 3C11.08 3 7.76 5.5 6.5 9H3L2 11H6.06C6 11.33 6 11.66 6 12S6 12.67 6.06 13H3L2 15H6.5C7.76 18.5 11.08 21 15 21C17.31 21 19.41 20.13 21 18.7L19.22 16.93C18.09 17.91 16.62 18.5 15 18.5Z\";\r\nexport var mdiCurrencyEurOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.7 8.59C6.64 8.73 6.57 8.86 6.5 9H3L2 11H6.06C6 11.33 6 11.66 6 12S6 12.67 6.06 13H3L2 15H6.5C7.76 18.5 11.08 21 15 21C16.21 21 17.36 20.74 18.41 20.3L20.84 22.73L22.11 21.46M8.58 13C8.53 12.67 8.5 12.34 8.5 12S8.53 11.33 8.58 11H9.11L11.11 13H8.58M15 18.5C12.5 18.5 10.32 17.08 9.24 15H13.11L16.44 18.33C15.97 18.43 15.5 18.5 15 18.5M12.2 9H16L15 11H14.2L12.2 9M10.5 7.32L8.74 5.54C10.36 3.97 12.56 3 15 3C17.3 3 19.41 3.87 21 5.3L19.23 7.07C18.09 6.09 16.61 5.5 15 5.5C13.26 5.5 11.69 6.2 10.5 7.32Z\";\r\nexport var mdiCurrencyFra = \"M18 5V3H7V16H5V18H7V21H9V18H13V16H9V13H17V11H9V5H18Z\";\r\nexport var mdiCurrencyGbp = \"M14 21C15.93 21 17.62 19.83 18 18L16.25 17.12C16 18.21 15.33 19 14 19H9.1C9.93 18 10.6 16.66 10.6 15C10.6 14.65 10.57 14.31 10.5 14H14V12H9.82C9 10.42 8 9.6 8 8C8 6.07 9.57 4.5 11.5 4.5C13 4.5 14.29 5.45 14.78 6.78L16.63 6C15.83 3.95 13.84 2.5 11.5 2.5C8.46 2.5 6 4.96 6 8C6 9.78 6.79 10.9 7.5 12H6V14H8.47C8.55 14.31 8.6 14.64 8.6 15C8.6 17.7 6 19 6 19V21H14Z\";\r\nexport var mdiCurrencyIls = \"M22,16A5,5 0 0,1 17,21H8V9H10V19H17A3,3 0 0,0 20,16V3H22V16M16,8V15H14V8A3,3 0 0,0 11,5H4V21H2V3H11A5,5 0 0,1 16,8Z\";\r\nexport var mdiCurrencyInr = \"M8,3H18L17,5H13.74C14.22,5.58 14.58,6.26 14.79,7H18L17,9H15C14.75,11.57 12.74,13.63 10.2,13.96V14H9.5L15.5,21H13L7,14V12H9.5V12C11.26,12 12.72,10.7 12.96,9H7L8,7H12.66C12.1,5.82 10.9,5 9.5,5H7L8,3Z\";\r\nexport var mdiCurrencyJpy = \"M13.92 11H18V13H13V15H18V17H13V21H11V17H6V15H11V13H6V11H10.08L5 3H7.37L12 10.29L16.63 3H19L13.92 11Z\";\r\nexport var mdiCurrencyKrw = \"M2,3H4L5.33,9H9.33L10.67,3H13.33L14.67,9H18.67L20,3H22L20.67,9H22V11H20.22L19.78,13H22V15H19.33L18,21H15.33L14,15H10L8.67,21H6L4.67,15H2V13H4.22L3.78,11H2V9H3.33L2,3M13.11,11H10.89L10.44,13H13.56L13.11,11M7.33,18L8,15H6.67L7.33,18M8.89,11H5.78L6.22,13H8.44L8.89,11M16.67,18L17.33,15H16L16.67,18M18.22,11H15.11L15.56,13H17.78L18.22,11M12,6L11.33,9H12.67L12,6Z\";\r\nexport var mdiCurrencyKzt = \"M5,3H19V5H5V3M5,6H19V8H13V21H11V8H5V6Z\";\r\nexport var mdiCurrencyMnt = \"M13 5V8.62L17 7.17V9.29L13 10.74V12.5L17 11.07V13.2L13 14.65V21H11V15.38L7 16.84V14.71L11 13.24V11.47L7 12.92V10.8L11 9.35V5H5V3H19V5H13Z\";\r\nexport var mdiCurrencyNgn = \"M4,9H6V3H8L11.42,9H16V3H18V9H20V11H18V13H20V15H18V21H16L12.57,15H8V21H6V15H4V13H6V11H4V9M8,9H9.13L8,7.03V9M8,11V13H11.42L10.28,11H8M16,17V15H14.85L16,17M12.56,11L13.71,13H16V11H12.56Z\";\r\nexport var mdiCurrencyPhp = \"M5,2V6H3V8H5V10H3V12H5V22H7V16H13C15.7,16 18.16,14.44 19.32,12H22V10H19.92C20.03,9.34 20.03,8.66 19.92,8H22V6H19.32C18.16,3.56 15.7,2 13,2M7,4H13C14.57,4 16.06,4.74 17,6H7V4M13,14H7V12H17C16.06,13.26 14.57,14 13,14M18,9C18,9.34 17.96,9.67 17.9,10H7V8H17.9C17.96,8.33 18,8.66 18,9Z\";\r\nexport var mdiCurrencyRial = \"M11,17H13V19H11V17M14,17H16V19H14V17M9,4H11V15A4,4 0 0,1 7,19H5A3,3 0 0,1 2,16V12H4V16A1,1 0 0,0 5,17H7C8.11,17 9,16.11 9,15V4M12,4H14V13H17V8H19V13C19,14.11 18.11,15 17,15H14C12.89,15 12,14.11 12,13V4M20,10H22V17A3,3 0 0,1 19,20H17V18H19A1,1 0 0,0 20,17V10Z\";\r\nexport var mdiCurrencyRub = \"M13.5 3H7V12H5V14H7V16H5V18H7V21H9V18H13V16H9V14H13.5C16.54 14 19 11.54 19 8.5S16.54 3 13.5 3M13.5 12H9V5H13.5C15.43 5 17 6.57 17 8.5S15.43 12 13.5 12Z\";\r\nexport var mdiCurrencyRupee = \"M13.66 7C13.1 5.82 11.9 5 10.5 5H6V3H18V5H14.74C15.22 5.58 15.58 6.26 15.79 7H18V9H16C15.73 11.8 13.37 14 10.5 14H9.77L16.5 21H13.73L7 14V12H10.5C12.26 12 13.72 10.7 13.96 9H6V7H13.66Z\";\r\nexport var mdiCurrencySign = \"M4.41 3L3 4.41L5.69 7.1C4.63 8.46 4 10.15 4 12C4 13.85 4.63 15.55 5.69 16.9L3 19.59L4.41 21L7.1 18.31C8.46 19.37 10.15 20 12 20C13.85 20 15.55 19.37 16.9 18.31L19.59 21L21 19.59L18.31 16.9C19.37 15.54 20 13.85 20 12C20 10.15 19.37 8.45 18.31 7.1L21 4.41L19.59 3L16.9 5.69C15.54 4.63 13.85 4 12 4C10.15 4 8.45 4.63 7.1 5.69L4.41 3M12 6C15.31 6 18 8.69 18 12C18 15.31 15.31 18 12 18C8.69 18 6 15.31 6 12C6 8.69 8.69 6 12 6Z\";\r\nexport var mdiCurrencyThb = \"M16.1 11.6C16.7 10.9 17 10 17 9C17 7.1 15.7 5.6 14 5.1L13 5V3H11V5H7V19H11V21H13V19H14C16.2 19 18 17.2 18 15C18 13.5 17.2 12.3 16.1 11.6M15 9C15 10.1 14.1 11 13 11V7C14.1 7 15 7.9 15 9M9 7H11V11H9V7M9 17V13H11V17H9M14 17H13V13H14C15.1 13 16 13.9 16 15S15.1 17 14 17Z\";\r\nexport var mdiCurrencyTry = \"M9 8.76V3H11V7.5L15 5V7.36L11 9.87L11 12.22L15 9.72V12.08L11 14.59V19C13.76 19 16 16.76 16 14H18C18 17.87 14.87 21 11 21H9V15.84L6 17.72V15.36L9 13.5V11.12L6 13V10.64L9 8.76Z\";\r\nexport var mdiCurrencyTwd = \"M3,11H21V13H15V19H21V21H15A2,2 0 0,1 13,19V13H10.35L5.73,21L4,20L8.04,13H3V11M5,3H19V5H5V3Z\";\r\nexport var mdiCurrencyUah = \"M14.59 11H18V9H16.32C16.74 8.34 17 7.68 17 7C17 4.37 14.5 3 12 3C9.65 3 7.53 5.06 7.29 5.29L8.71 6.71C9.19 6.23 10.71 5 12 5C13.04 5 15 5.42 15 7C15 7.5 14.5 8.24 13.76 9H6V11H11.63C11.21 11.36 9.75 12.67 9.41 13H6V15H7.68C7.26 15.66 7 16.32 7 17C7 19.63 9.5 21 12 21C14.35 21 16.47 18.94 16.71 18.71L15.29 17.29C14.82 17.77 13.29 19 12 19C10.96 19 9 18.58 9 17C9 16.5 9.5 15.76 10.24 15H18V13H12.38L14.59 11Z\";\r\nexport var mdiCurrencyUsd = \"M7,15H9C9,16.08 10.37,17 12,17C13.63,17 15,16.08 15,15C15,13.9 13.96,13.5 11.76,12.97C9.64,12.44 7,11.78 7,9C7,7.21 8.47,5.69 10.5,5.18V3H13.5V5.18C15.53,5.69 17,7.21 17,9H15C15,7.92 13.63,7 12,7C10.37,7 9,7.92 9,9C9,10.1 10.04,10.5 12.24,11.03C14.36,11.56 17,12.22 17,15C17,16.79 15.53,18.31 13.5,18.82V21H10.5V18.82C8.47,18.31 7,16.79 7,15Z\";\r\nexport var mdiCurrencyUsdOff = \"M3,4.27L4.28,3L21,19.72L19.73,21L16.06,17.33C15.44,18 14.54,18.55 13.5,18.82V21H10.5V18.82C8.47,18.31 7,16.79 7,15H9C9,16.08 10.37,17 12,17C13.13,17 14.14,16.56 14.65,15.92L11.68,12.95C9.58,12.42 7,11.75 7,9C7,8.77 7,8.55 7.07,8.34L3,4.27M10.5,5.18V3H13.5V5.18C15.53,5.69 17,7.21 17,9H15C15,7.92 13.63,7 12,7C11.63,7 11.28,7.05 10.95,7.13L9.4,5.58L10.5,5.18Z\";\r\nexport var mdiCurrentAc = \"M12.43 11C12.28 10.84 10 7 7 7S2.32 10.18 2 11V13H11.57C11.72 13.16 14 17 17 17S21.68 13.82 22 13V11H12.43M7 9C8.17 9 9.18 9.85 10 11H4.31C4.78 10.17 5.54 9 7 9M17 15C15.83 15 14.82 14.15 14 13H19.69C19.22 13.83 18.46 15 17 15Z\";\r\nexport var mdiCurrentDc = \"M2,9V11H22V9H2M2,13V15H7V13H2M9,13V15H15V13H9M17,13V15H22V13H17Z\";\r\nexport var mdiCursorDefault = \"M13.64,21.97C13.14,22.21 12.54,22 12.31,21.5L10.13,16.76L7.62,18.78C7.45,18.92 7.24,19 7,19A1,1 0 0,1 6,18V3A1,1 0 0,1 7,2C7.24,2 7.47,2.09 7.64,2.23L7.65,2.22L19.14,11.86C19.57,12.22 19.62,12.85 19.27,13.27C19.12,13.45 18.91,13.57 18.7,13.61L15.54,14.23L17.74,18.96C18,19.46 17.76,20.05 17.26,20.28L13.64,21.97Z\";\r\nexport var mdiCursorDefaultClick = \"M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10\";\r\nexport var mdiCursorDefaultClickOutline = \"M11.5,11L17.88,16.37L17,16.55L16.36,16.67C15.73,16.8 15.37,17.5 15.65,18.07L15.92,18.65L17.28,21.59L15.86,22.25L14.5,19.32L14.24,18.74C13.97,18.15 13.22,17.97 12.72,18.38L12.21,18.78L11.5,19.35V11M10.76,8.69A0.76,0.76 0 0,0 10,9.45V20.9C10,21.32 10.34,21.66 10.76,21.66C10.95,21.66 11.11,21.6 11.24,21.5L13.15,19.95L14.81,23.57C14.94,23.84 15.21,24 15.5,24C15.61,24 15.72,24 15.83,23.92L18.59,22.64C18.97,22.46 19.15,22 18.95,21.63L17.28,18L19.69,17.55C19.85,17.5 20,17.43 20.12,17.29C20.39,16.97 20.35,16.5 20,16.21L11.26,8.86L11.25,8.87C11.12,8.76 10.95,8.69 10.76,8.69M15,10V8H20V10H15M13.83,4.76L16.66,1.93L18.07,3.34L15.24,6.17L13.83,4.76M10,0H12V5H10V0M3.93,14.66L6.76,11.83L8.17,13.24L5.34,16.07L3.93,14.66M3.93,3.34L5.34,1.93L8.17,4.76L6.76,6.17L3.93,3.34M7,10H2V8H7V10\";\r\nexport var mdiCursorDefaultGesture = \"M15.59 8C15.26 8 15 8.27 15 8.6V17.57C15 17.9 15.26 18.17 15.59 18.17C15.74 18.17 15.86 18.12 15.96 18.04L17.45 16.83L18.74 19.66C18.84 19.88 19.05 20 19.27 20C19.36 20 19.44 20 19.53 19.94L21.67 18.93C21.97 18.79 22.11 18.43 21.95 18.14L20.66 15.3L22.53 14.94C22.65 14.91 22.77 14.85 22.86 14.74C23.07 14.5 23.04 14.12 22.77 13.89L16 8.13C15.88 8.05 15.74 8 15.59 8M12.5 6.73C12.72 6.66 13.17 7.19 13.59 7.76L15 6.71C14.87 6.5 14.69 6.25 14.47 5.96C14.31 5.75 13.59 4.93 12.66 4.8C12.04 4.72 10.81 5.06 10.6 6.61C10.47 7.58 10.76 8.19 11.21 9.08C11.46 9.6 12.04 10.96 12.18 11.78C12.33 12.59 12.06 13.16 11.74 13.12C11.44 13.08 11.2 12.65 11.03 12.41C10.89 12.22 10 10.82 9.67 10.23C9.22 9.5 8.04 7.96 6.44 7.74C4.35 7.46 3.44 9.2 3.18 10.36L1 10.06V11.88L2.93 12.15C2.75 15.6 4.5 16.82 5.67 17C6.92 17.15 8.08 16.28 8.24 15.06C8.41 13.84 7.56 11.5 4.96 10.69C5.1 10.15 5.21 9.43 6.36 9.59C7.26 9.71 8.21 11.26 8.93 12.44C9.58 13.53 10.1 14.39 10.83 14.72C11.45 15 12.16 14.97 12.73 14.65C13.42 14.26 13.86 13.55 14 12.63C14.22 10.9 12.7 8.17 12.57 7.84C12.4 7.46 12.12 6.82 12.5 6.73M6.5 14.78C6.43 15.11 6.1 15.25 5.88 15.22C5.38 15.16 4.66 14.5 4.71 12.53C6.17 13.13 6.53 14.35 6.5 14.78Z\";\r\nexport var mdiCursorDefaultGestureOutline = \"M16.5 10.54L20.37 13.83L18.5 14.18L19.29 15.92L20.22 17.96L19.72 18.19L18.81 16.2L18 14.43L16.5 15.66V10.54M15.59 8C15.26 8 15 8.27 15 8.6V17.57C15 17.9 15.26 18.17 15.59 18.17C15.74 18.17 15.86 18.12 15.96 18.04L17.45 16.83L18.74 19.66C18.84 19.88 19.05 20 19.27 20C19.36 20 19.44 20 19.53 19.94L21.67 18.93C21.97 18.79 22.11 18.43 21.95 18.14L20.66 15.3L22.53 14.94C22.65 14.91 22.77 14.85 22.86 14.74C23.07 14.5 23.04 14.12 22.77 13.89L16 8.13C15.88 8.05 15.74 8 15.59 8M12.5 6.73C12.72 6.66 13.17 7.19 13.59 7.76L15 6.71C14.87 6.5 14.69 6.25 14.47 5.96C14.31 5.75 13.59 4.93 12.66 4.8C12.04 4.72 10.81 5.06 10.6 6.61C10.47 7.58 10.76 8.19 11.21 9.08C11.46 9.6 12.04 10.96 12.18 11.78C12.33 12.59 12.06 13.16 11.74 13.12C11.44 13.08 11.2 12.65 11.03 12.41C10.89 12.22 10 10.82 9.67 10.23C9.22 9.5 8.04 7.96 6.44 7.74C4.35 7.46 3.44 9.2 3.18 10.36L1 10.06V11.88L2.93 12.15C2.75 15.6 4.5 16.82 5.67 17C6.92 17.15 8.08 16.28 8.24 15.06C8.41 13.84 7.56 11.5 4.96 10.69C5.1 10.15 5.21 9.43 6.36 9.59C7.26 9.71 8.21 11.26 8.93 12.44C9.58 13.53 10.1 14.39 10.83 14.72C11.45 15 12.16 14.97 12.73 14.65C13.42 14.26 13.86 13.55 14 12.63C14.22 10.9 12.7 8.17 12.57 7.84C12.4 7.46 12.12 6.82 12.5 6.73M6.5 14.78C6.43 15.11 6.1 15.25 5.88 15.22C5.38 15.16 4.66 14.5 4.71 12.53C6.17 13.13 6.53 14.35 6.5 14.78Z\";\r\nexport var mdiCursorDefaultOutline = \"M10.07,14.27C10.57,14.03 11.16,14.25 11.4,14.75L13.7,19.74L15.5,18.89L13.19,13.91C12.95,13.41 13.17,12.81 13.67,12.58L13.95,12.5L16.25,12.05L8,5.12V15.9L9.82,14.43L10.07,14.27M13.64,21.97C13.14,22.21 12.54,22 12.31,21.5L10.13,16.76L7.62,18.78C7.45,18.92 7.24,19 7,19A1,1 0 0,1 6,18V3A1,1 0 0,1 7,2C7.24,2 7.47,2.09 7.64,2.23L7.65,2.22L19.14,11.86C19.57,12.22 19.62,12.85 19.27,13.27C19.12,13.45 18.91,13.57 18.7,13.61L15.54,14.23L17.74,18.96C18,19.46 17.76,20.05 17.26,20.28L13.64,21.97Z\";\r\nexport var mdiCursorMove = \"M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z\";\r\nexport var mdiCursorPointer = \"M13.75,10.19L14.38,10.32L18.55,12.4C19.25,12.63 19.71,13.32 19.65,14.06V14.19L19.65,14.32L18.75,20.44C18.69,20.87 18.5,21.27 18.15,21.55C17.84,21.85 17.43,22 17,22H10.12C9.63,22 9.18,21.82 8.85,21.47L2.86,15.5L3.76,14.5C4,14.25 4.38,14.11 4.74,14.13H5.03L9,15V4.5A2,2 0 0,1 11,2.5A2,2 0 0,1 13,4.5V10.19H13.75Z\";\r\nexport var mdiCursorText = \"M13,19A1,1 0 0,0 14,20H16V22H13.5C12.95,22 12,21.55 12,21C12,21.55 11.05,22 10.5,22H8V20H10A1,1 0 0,0 11,19V5A1,1 0 0,0 10,4H8V2H10.5C11.05,2 12,2.45 12,3C12,2.45 12.95,2 13.5,2H16V4H14A1,1 0 0,0 13,5V19Z\";\r\nexport var mdiCurtains = \"M23 3H1V1H23V3M2 22H6C6 19 4 17 4 17C10 13 11 4 11 4H2V22M22 4H13C13 4 14 13 20 17C20 17 18 19 18 22H22V4Z\";\r\nexport var mdiCurtainsClosed = \"M23 3H1V1H23V3M2 22H11V4H2V22M22 4H13V22H22V4Z\";\r\nexport var mdiCylinder = \"M12 2C9.89 2 3 2.29 3 6V18C3 21.71 9.89 22 12 22C14.11 22 21 21.71 21 18V6C21 2.29 14.11 2 12 2M12 10C13.38 10 16.8 9.87 19 8.75V15.25C16.8 14.13 13.38 14 12 14S7.2 14.13 5 15.25V8.75C7.2 9.87 10.62 10 12 10M12 4C15.87 4 19 4.89 19 6C19 7.11 15.87 8 12 8C8.13 8 5 7.11 5 6C5 4.89 8.13 4 12 4M12 20C8.13 20 5 19.11 5 18C5 16.9 8.13 16 12 16C15.87 16 19 16.9 19 18C19 19.11 15.87 20 12 20Z\";\r\nexport var mdiCylinderOff = \"M7.64 4.44L6.03 2.83C8.15 2.1 10.82 2 12 2C14.11 2 21 2.29 21 6V17.8L18.06 14.86C18.39 14.97 18.7 15.1 19 15.25V8.75C17.28 9.63 14.82 9.89 13.17 9.97L11.18 8C11.45 8 11.72 8 12 8C15.87 8 19 7.11 19 6S15.87 4 12 4C10.35 4 8.84 4.17 7.64 4.44M22.11 21.46L20.84 22.73L18.91 20.8C16.7 21.87 13.36 22 12 22C9.89 22 3 21.71 3 18V6C3 5.66 3.08 5.36 3.18 5.07L1.11 3L2.39 1.73L22.11 21.46M5 15.25C7.2 14.13 10.62 14 12 14L12.11 14L7.73 9.62C6.76 9.43 5.8 9.15 5 8.75V15.25M17.39 19.28L14.21 16.1C13.5 16.04 12.78 16 12 16C8.13 16 5 16.9 5 18S8.13 20 12 20C14.17 20 16.1 19.72 17.39 19.28Z\";\r\nexport var mdiDanceBallroom = \"M14 3.5C14 4.33 13.33 5 12.5 5S11 4.33 11 3.5 11.67 2 12.5 2 14 2.67 14 3.5M8.5 5C7.67 5 7 5.67 7 6.5S7.67 8 8.5 8 10 7.33 10 6.5 9.33 5 8.5 5M14 12L13.22 9.75H16.18L18.34 8.67C18.71 8.5 18.86 8.04 18.67 7.67C18.5 7.3 18.04 7.14 17.67 7.33L16.85 7.74L16.36 6.9C16.07 6.25 15.36 5.88 14.66 6.04L12.19 6.57C11.5 6.72 11 7.35 11 8.07V8.77L8.57 10.39H8.58C8.5 10.46 8.39 10.55 8.33 10.67L7.44 12.44L5.66 13.33C5.29 13.5 5.14 13.97 5.33 14.34C5.46 14.6 5.73 14.75 6 14.75C6.11 14.75 6.23 14.73 6.34 14.67L8.56 13.56L9.6 11.5L11 13C10 16 3 20 3 20S7 22 12 22 21 20 21 20 16 16 14 12M16.85 11.09L16.53 11.25H15.33L15.39 11.41C15.91 12.44 16.67 13.5 17.5 14.44L16.97 11.03L16.85 11.09Z\";\r\nexport var mdiDancePole = \"M12 1V2L11.23 1.36L7.76 5.5L11 7.5V5.16L10.78 5L12 3.56V23H14V13.24L15.93 11.31C18.5 11.71 21.13 10.36 22.66 8.83L21.24 7.41C20.1 8.56 17.7 9.61 16 9.26L14 7.24V1M17 4A2 2 0 0 0 15 6A2 2 0 0 0 17 8A2 2 0 0 0 19 6A2 2 0 0 0 17 4M11 7.76L7.1 11.66C5.25 13.5 4.31 14.85 3.06 18.16L4.94 18.86C5.94 16.2 6.66 15.14 7.87 13.84L9.22 15.19L4.27 20.14L5.69 21.56L11 16.24Z\";\r\nexport var mdiDataMatrix = \"M2 2V22H22V20H20V18H22V16H20V14H22V12H18V10H16V12H14V10H12V8H8V12H12V16H10V18H12V20H10V18H8V16H6V14H4V12H6V6H4V2H2M6 6H8V2H6V6M8 16H10V14H8V16M18 10H22V8H18V10M18 8V4H16V6H14V8H18M16 4V2H14V4H16M18 4H20V2H18V4M20 4V6H22V4H20M10 2V6H12V2H10M14 14H16V16H18V20H14V14M4 18H6V20H4V18Z\";\r\nexport var mdiDataMatrixEdit = \"M20 12.1C19.9 12.1 19.7 12.2 19.6 12.3L18.6 13.3L20.7 15.4L21.7 14.4C21.9 14.2 21.9 13.8 21.7 13.6L20.4 12.3C20.3 12.2 20.2 12.1 20 12.1M18.1 13.9L12 19.9V22H14.1L20.2 15.9L18.1 13.9M8 6H6V2H8V6M10 16H8V14H10V16M12 6H10V2H12V6M16 2V4H14V2H16M20 4H18V2H20V4M10 20V18H8V16H6V14H4V12H6V6H4V2H2V22H10V20M6 20H4V18H6V20M22 10H18V8H22V10M20 6V4H22V6H20M18 4V8H14V6H16V4H18M10 18V16H12V12H8V8H12V10H14V12H16V10H18V11.1L15.1 14H14V15.1L11.1 18H10Z\";\r\nexport var mdiDataMatrixMinus = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M15 18V20H23V18H15Z\";\r\nexport var mdiDataMatrixPlus = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiDataMatrixRemove = \"M16 2V4H14V2H16M12 2H10V6H12V2M10 14H8V16H10V14M16 4V6H14V8H18V4H16M8 2H6V6H8V2M20 2H18V4H20V2M13.8 22H2V2H4V6H6V12H4V14H6V16H8V18H10V20H12V18H10V16H12V12H8V8H12V10H14V12H16V10H18V12H22V13.8C21.1 13.3 20.1 13 19 13C17.8 13 16.6 13.4 15.7 14H14V15.7C13.4 16.6 13 17.8 13 19C13 20.1 13.3 21.1 13.8 22M6 18H4V20H6V18M22 8H18V10H22V8M22 6V4H20V6H22M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\r\nexport var mdiDataMatrixScan = \"M2 2H6V0H2C.9 0 0 .9 0 2V6H2V2M22 0H18V2H22V6H24V2C24 .9 23.1 0 22 0M2 18H0V22C0 23.1 .9 24 2 24H6V22H2V18M22 22H18V24H22C23.1 24 24 23.1 24 22V18H22V22M8 6V4H10V6H8M10 14V12H12V14H10M16 4H18V6H16V4M18 6H20V8H18V6M18 14H20V16H18V14M20 12H16V18H20V20H4V4H6V6H8V10H6V12H8V14H10V16H12V18H14V16H12V14H14V10H10V6H12V4H14V8H16V10H20V12M8 18V16H6V18H8Z\";\r\nexport var mdiDatabase = \"M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M4,9V12C4,14.21 7.58,16 12,16C16.42,16 20,14.21 20,12V9C20,11.21 16.42,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C16.42,21 20,19.21 20,17V14C20,16.21 16.42,18 12,18C7.58,18 4,16.21 4,14Z\";\r\nexport var mdiDatabaseAlert = \"M18 7C18 9.21 14.42 11 10 11S2 9.21 2 7 5.58 3 10 3 18 4.79 18 7M10 18C5.58 18 2 16.21 2 14V17C2 19.21 5.58 21 10 21S18 19.21 18 17V14C18 16.21 14.42 18 10 18M10 13C5.58 13 2 11.21 2 9V12C2 14.21 5.58 16 10 16S18 14.21 18 12V9C18 11.21 14.42 13 10 13M20 17H22V15H20V17M20 7V13H22V7H20Z\";\r\nexport var mdiDatabaseAlertOutline = \"M10 3C5.58 3 2 4.79 2 7V17C2 19.21 5.59 21 10 21S18 19.21 18 17V7C18 4.79 14.42 3 10 3M16 17C16 17.5 13.87 19 10 19S4 17.5 4 17V14.77C5.61 15.55 7.72 16 10 16S14.39 15.55 16 14.77V17M16 12.45C14.7 13.4 12.42 14 10 14S5.3 13.4 4 12.45V9.64C5.47 10.47 7.61 11 10 11S14.53 10.47 16 9.64V12.45M10 9C6.13 9 4 7.5 4 7S6.13 5 10 5 16 6.5 16 7 13.87 9 10 9M22 7V13H20V7H22M20 15H22V17H20V15Z\";\r\nexport var mdiDatabaseArrowDown = \"M19 13C16.83 13 14.93 14.16 13.88 15.89C13.28 15.96 12.65 16 12 16C7.58 16 4 14.21 4 12V9C4 11.21 7.58 13 12 13S20 11.21 20 9V12C20 12.36 19.9 12.71 19.72 13.05C19.5 13 19.24 13 19 13M12 11C16.42 11 20 9.21 20 7S16.42 3 12 3 4 4.79 4 7 7.58 11 12 11M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M20 20V16H18V20H16L19 23L22 20H20Z\";\r\nexport var mdiDatabaseArrowDownOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 20L19 23L16 20H18V16H20V20H22Z\";\r\nexport var mdiDatabaseArrowLeft = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M19.72 13.05C19.9 12.71 20 12.36 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.65 16 13.28 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.24 13 19.5 13 19.72 13.05M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M18 18V16L15 19L18 22V20H22V18H18Z\";\r\nexport var mdiDatabaseArrowLeftOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 18V20H18V22L15 19L18 16V18H22Z\";\r\nexport var mdiDatabaseArrowRight = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M19.72 13.05C19.9 12.71 20 12.36 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.65 16 13.28 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.24 13 19.5 13 19.72 13.05M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiDatabaseArrowRightOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M20 22V20H16V18H20V16L23 19L20 22Z\";\r\nexport var mdiDatabaseArrowUp = \"M19 13C16.83 13 14.93 14.16 13.88 15.89C13.28 15.96 12.65 16 12 16C7.58 16 4 14.21 4 12V9C4 11.21 7.58 13 12 13S20 11.21 20 9V12C20 12.36 19.9 12.71 19.72 13.05C19.5 13 19.24 13 19 13M12 11C16.42 11 20 9.21 20 7S16.42 3 12 3 4 4.79 4 7 7.58 11 12 11M13.1 17.96C12.74 18 12.37 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19C13 18.64 13.04 18.3 13.1 17.96M19 15L16 18H18V22H20V18H22L19 15Z\";\r\nexport var mdiDatabaseArrowUpOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22 18H20V22H18V18H16L19 15L22 18Z\";\r\nexport var mdiDatabaseCheck = \"M12 3C16.42 3 20 4.79 20 7S16.42 11 12 11 4 9.21 4 7 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13S20 11.21 20 9V12.08L19 12C16.41 12 14.2 13.64 13.36 15.94L12 16C7.58 16 4 14.21 4 12V9M4 14C4 16.21 7.58 18 12 18H13C13 19.05 13.27 20.04 13.75 20.9L12 21C7.58 21 4 19.21 4 17V14M18 21.08L15.25 18.08L16.41 16.92L18 18.5L21.59 14.92L22.75 16.33L18 21.08\";\r\nexport var mdiDatabaseCheckOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiDatabaseClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.25 20C6.18 19.79 3 18.08 3 16V13C3 14.88 5.58 16.44 9.06 16.88C9.03 16.59 9 16.3 9 16C9 15.62 9.04 15.25 9.1 14.88C5.6 14.45 3 12.88 3 11V8C3 10.09 6.2 11.8 10.27 12C10.87 11.14 11.64 10.44 12.53 9.93C12.04 9.97 11.5 10 11 10C6.58 10 3 8.21 3 6S6.58 2 11 2 19 3.79 19 6C19 7.2 17.93 8.28 16.25 9C17 9.04 17.75 9.19 18.44 9.45C18.79 9 19 8.5 19 8V9.68C21.36 10.81 23 13.21 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiDatabaseClockOutline = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.61 23 11.5 21.8 10.25 20C6.19 19.79 3 18.08 3 16V6C3 3.79 6.58 2 11 2S19 3.79 19 6V9.68C21.36 10.81 23 13.21 23 16M17 9.08V8.64C16.77 8.77 16.5 8.9 16.24 9C16.5 9 16.75 9.04 17 9.08M5 6C5 6.5 7.13 8 11 8S17 6.5 17 6 14.87 4 11 4 5 5.5 5 6M5 11.45C6.07 12.23 7.8 12.76 9.72 12.93C10.33 11.67 11.32 10.62 12.54 9.92C12.04 9.97 11.53 10 11 10C8.61 10 6.47 9.47 5 8.64V11.45M9.26 17.87C9.1 17.27 9 16.65 9 16C9 15.61 9.04 15.23 9.1 14.86C7.56 14.69 6.15 14.33 5 13.77V16C5 16.42 6.5 17.5 9.26 17.87M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiDatabaseCog = \"M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M12.08 18L12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C12.1 21 12.2 21 12.29 21C12.11 20.36 12 19.69 12 19C12 18.66 12.03 18.33 12.08 18M20 12.08C20 12.05 20 12.03 20 12V9C20 11.21 16.42 13 12 13S4 11.21 4 9V12C4 14.21 7.58 16 12 16C12.23 16 12.46 16 12.69 16C13.82 13.63 16.22 12 19 12C19.34 12 19.67 12.03 20 12.08M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiDatabaseCogOutline = \"M12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.08C18.33 12.03 18.66 12 19 12C19.34 12 19.67 12.03 20 12.08V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.1 21 12.2 21 12.29 21C12.11 20.36 12 19.69 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.24 16 12.47 16 12.7 15.97C13.1 15.14 13.65 14.41 14.32 13.81C13.58 13.93 12.8 14 12 14M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5Z\";\r\nexport var mdiDatabaseEdit = \"M4,14V17C4,19 7.05,20.72 11,21V18.11L11.13,18C7.12,17.76 4,16.06 4,14M12,13C7.58,13 4,11.21 4,9V12C4,14.21 7.58,16 12,16C12.39,16 12.77,16 13.16,16L17,12.12C15.4,12.72 13.71,13 12,13M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M21,11.13C20.85,11.13 20.71,11.19 20.61,11.3L19.61,12.3L21.66,14.3L22.66,13.3C22.87,13.1 22.88,12.76 22.66,12.53L21.42,11.3C21.32,11.19 21.18,11.13 21.04,11.13M19.04,12.88L13,18.94V21H15.06L21.12,14.93L19.04,12.88Z\";\r\nexport var mdiDatabaseEditOutline = \"M12 16C12.8 16 13.57 15.93 14.31 15.82L17.22 12.91C15.89 13.59 14 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.13L19.39 10.74C19.57 10.56 19.78 10.42 20 10.3V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.04 7.06 20.72 11 20.97V19.13L11.17 18.96C7.84 18.76 6 17.46 6 17V14.77C7.61 15.55 9.72 16 12 16M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19Z\";\r\nexport var mdiDatabaseExport = \"M12,3C7.58,3 4,4.79 4,7C4,9.21 7.58,11 12,11C12.5,11 13,10.97 13.5,10.92V9.5H16.39L15.39,8.5L18.9,5C17.5,3.8 14.94,3 12,3M18.92,7.08L17.5,8.5L20,11H15V13H20L17.5,15.5L18.92,16.92L23.84,12M4,9V12C4,14.21 7.58,16 12,16C13.17,16 14.26,15.85 15.25,15.63L16.38,14.5H13.5V12.92C13,12.97 12.5,13 12,13C7.58,13 4,11.21 4,9M4,14V17C4,19.21 7.58,21 12,21C14.94,21 17.5,20.2 18.9,19L17,17.1C15.61,17.66 13.9,18 12,18C7.58,18 4,16.21 4,14Z\";\r\nexport var mdiDatabaseExportOutline = \"M17.86 18L18.9 19C17.5 20.2 14.94 21 12 21C7.59 21 4 19.21 4 17V7C4 4.79 7.58 3 12 3C14.95 3 17.5 3.8 18.9 5L17.86 6L17.5 6.4C16.65 5.77 14.78 5 12 5C8.13 5 6 6.5 6 7S8.13 9 12 9C13.37 9 14.5 8.81 15.42 8.54L16.38 9.5H13.5V10.92C13 10.97 12.5 11 12 11C9.61 11 7.47 10.47 6 9.64V12.45C7.3 13.4 9.58 14 12 14C12.5 14 13 13.97 13.5 13.92V14.5H16.38L15.38 15.5L15.5 15.61C14.41 15.86 13.24 16 12 16C9.72 16 7.61 15.55 6 14.77V17C6 17.5 8.13 19 12 19C14.78 19 16.65 18.23 17.5 17.61L17.86 18M18.92 7.08L17.5 8.5L20 11H15V13H20L17.5 15.5L18.92 16.92L23.84 12L18.92 7.08Z\";\r\nexport var mdiDatabaseEye = \"M4 12V9C4 11.2 7.6 13 12 13S20 11.2 20 9V12C20 12.5 19.8 12.9 19.5 13.4C18.7 13.1 17.9 13 17 13C14.5 13 12.1 14.1 10.6 15.9C6.8 15.6 4 14 4 12M12 11C16.4 11 20 9.2 20 7S16.4 3 12 3 4 4.8 4 7 7.6 11 12 11M9.1 19.7L8.8 19L9.1 18.3C9.2 18.1 9.3 18 9.3 17.8C6.2 17.2 4 15.8 4 14V17C4 18.8 6.4 20.3 9.7 20.8C9.5 20.5 9.3 20.1 9.1 19.7M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19Z\";\r\nexport var mdiDatabaseEyeOff = \"M14.1 10.9L7.1 3.9C8.4 3.3 10.1 3 12 3C16.4 3 20 4.8 20 7C20 8.9 17.5 10.4 14.1 10.9M16.2 13H17C17.9 13 18.7 13.1 19.5 13.4C19.8 13 20 12.5 20 12V9C20 10.5 18.3 11.9 15.7 12.5L16.2 13M18.4 15.2L22.8 19.6C22.9 19.4 23 19.2 23.1 19.1C22.2 17.1 20.5 15.6 18.4 15.2M22.1 21.5L20.8 22.8L20.2 22.2C19.2 22.7 18.1 23.1 17 23.1C14.3 23.1 11.9 21.4 11 19.1C11.6 17.7 12.6 16.6 13.9 15.9L12.4 14.4C11.7 14.8 11.1 15.4 10.5 16C6.8 15.6 4 14 4 12V9C4 11.1 7.1 12.7 11.1 13L8.8 10.7C6 10 4 8.6 4 7C4 6.7 4.1 6.4 4.2 6.1L1.1 3L2.4 1.7L22.1 21.5M18.8 20.7L17.7 19.6C17.6 19.9 17.3 20 17 20C16.4 20 16 19.6 16 19C16 18.7 16.1 18.4 16.4 18.2L15.3 17.1C14.8 17.6 14.5 18.2 14.5 18.9C14.5 20.3 15.6 21.4 17 21.4C17.7 21.5 18.4 21.2 18.8 20.7M8.8 19L9.1 18.3C9.2 18.1 9.3 18 9.3 17.8C6.2 17.2 4 15.8 4 14V17C4 18.8 6.4 20.3 9.7 20.8C9.5 20.5 9.3 20.1 9.2 19.7L8.8 19Z\";\r\nexport var mdiDatabaseEyeOffOutline = \"M23 19C22.9 19.2 22.8 19.4 22.7 19.5L18.3 15.1C20.5 15.6 22.2 17.1 23 19M12 5C15.9 5 18 6.5 18 7C18 7.5 15.9 8.9 12.2 9L14.1 10.9C15.6 10.7 17 10.3 18 9.7V12.5C17.7 12.7 17.4 12.9 17 13.1C18 13.1 19 13.3 20 13.7V7C20 4.8 16.4 3 12 3C10.1 3 8.4 3.3 7.1 3.9L8.7 5.5C9.5 5.2 10.7 5 12 5M22.1 21.5L20.8 22.8L20.2 22.2C19.2 22.7 18.1 23.1 17 23.1C14.3 23.1 11.9 21.4 11 19.1C11.6 17.7 12.6 16.6 13.9 15.9L12.4 14.4C11.7 14.8 11.1 15.4 10.5 16C8.8 15.9 7.2 15.5 5.9 14.8V17C5.9 17.3 7 18.2 8.9 18.6L8.8 19L9.1 19.7C9.3 20.1 9.4 20.4 9.6 20.8C6.4 20.3 4 18.8 4 17V7C4 6.7 4.1 6.4 4.2 6.1L1.1 3L2.4 1.7L22.1 21.5M12.1 14L8.7 10.6C7.6 10.4 6.7 10 5.9 9.6V12.4C7.2 13.4 9.5 13.9 11.9 13.9C12 14 12.1 14 12.1 14M18.8 20.7L17.7 19.6C17.6 19.9 17.3 20 17 20C16.4 20 16 19.6 16 19C16 18.7 16.1 18.4 16.4 18.2L15.3 17.1C14.8 17.6 14.5 18.2 14.5 18.9C14.5 20.3 15.6 21.4 17 21.4C17.7 21.5 18.4 21.2 18.8 20.7Z\";\r\nexport var mdiDatabaseEyeOutline = \"M9.1 19.7L8.8 19L9 18.6C7.1 18.1 6 17.3 6 17V14.8C7.3 15.4 8.8 15.8 10.6 16C11.3 15.2 12.2 14.5 13.1 14H12C9.6 14 7.3 13.4 6 12.5V9.6C7.5 10.4 9.6 11 12 11S16.5 10.5 18 9.6V12.4C17.7 12.6 17.4 12.8 17 13C18 13 19 13.2 20 13.6V7C20 4.8 16.4 3 12 3S4 4.8 4 7V17C4 18.8 6.4 20.3 9.7 20.8C9.5 20.5 9.3 20.1 9.1 19.7M12 5C15.9 5 18 6.5 18 7S15.9 9 12 9 6 7.5 6 7 8.1 5 12 5M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\r\nexport var mdiDatabaseImport = \"M12,3C8.59,3 5.69,4.07 4.54,5.57L9.79,10.82C10.5,10.93 11.22,11 12,11C16.42,11 20,9.21 20,7C20,4.79 16.42,3 12,3M3.92,7.08L2.5,8.5L5,11H0V13H5L2.5,15.5L3.92,16.92L8.84,12M20,9C20,11.21 16.42,13 12,13C11.34,13 10.7,12.95 10.09,12.87L7.62,15.34C8.88,15.75 10.38,16 12,16C16.42,16 20,14.21 20,12M20,14C20,16.21 16.42,18 12,18C9.72,18 7.67,17.5 6.21,16.75L4.53,18.43C5.68,19.93 8.59,21 12,21C16.42,21 20,19.21 20,17\";\r\nexport var mdiDatabaseImportOutline = \"M8.84 12L3.92 16.92L2.5 15.5L5 13H0V11H5L2.5 8.5L3.92 7.08L8.84 12M12 3C8.59 3 5.68 4.07 4.53 5.57L5 6L6.03 7.07C6 7.05 6 7 6 7C6 6.5 8.13 5 12 5S18 6.5 18 7 15.87 9 12 9C9.38 9 7.58 8.31 6.68 7.72L9.8 10.84C10.5 10.94 11.24 11 12 11C14.39 11 16.53 10.47 18 9.64V12.45C16.7 13.4 14.42 14 12 14C11.04 14 10.1 13.9 9.24 13.73L7.59 15.37C8.91 15.77 10.41 16 12 16C14.28 16 16.39 15.55 18 14.77V17C18 17.5 15.87 19 12 19S6 17.5 6 17V16.96L5 18L4.54 18.43C5.69 19.93 8.6 21 12 21C16.41 21 20 19.21 20 17V7C20 4.79 16.42 3 12 3Z\";\r\nexport var mdiDatabaseLock = \"M11,3C15.42,3 19,4.79 19,7C19,9.21 15.42,11 11,11C6.58,11 3,9.21 3,7C3,4.79 6.58,3 11,3M19,12.03C17.11,12.24 15.57,13.62 15.13,15.43C13.92,15.79 12.5,16 11,16C6.58,16 3,14.21 3,12V9C3,11.21 6.58,13 11,13C15.42,13 19,11.21 19,9V12.03M14,17.71V20.71C13.07,20.9 12.06,21 11,21C6.58,21 3,19.21 3,17V14C3,16.21 6.58,18 11,18C12.06,18 13.07,17.9 14,17.71M19.5,14A2.5,2.5 0 0,1 22,16.5V17A1,1 0 0,1 23,18V22A1,1 0 0,1 22,23H17A1,1 0 0,1 16,22V18A1,1 0 0,1 17,17V16.5A2.5,2.5 0 0,1 19.5,14M19.5,15A1.5,1.5 0 0,0 18,16.5V17H21V16.5A1.5,1.5 0 0,0 19.5,15Z\";\r\nexport var mdiDatabaseLockOutline = \"M6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V11.05C18.17 11.03 18.33 11 18.5 11C19.03 11 19.53 11.1 20 11.26V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.34 21 12.67 21 13 20.97V18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.41 16 12.81 15.97 13.21 15.94C13.4 15.46 13.68 15.03 14.07 14.7C14.13 14.39 14.23 14.09 14.34 13.8C13.6 13.93 12.81 14 12 14C9.58 14 7.3 13.4 6 12.45M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16Z\";\r\nexport var mdiDatabaseMarker = \"M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8M4 12V9C4 11.21 7.58 13 12 13C12.57 13 13.13 12.97 13.67 12.91C13.25 13.69 13 14.57 13 15.5C13 15.65 13 15.81 13.03 15.96C12.69 16 12.35 16 12 16C7.58 16 4 14.21 4 12M4 7C4 4.79 7.58 3 12 3S20 4.79 20 7 16.42 11 12 11 4 9.21 4 7M15 20.71C14.07 20.9 13.06 21 12 21C7.58 21 4 19.21 4 17V14C4 16.21 7.58 18 12 18C12.5 18 13.03 17.97 13.5 17.93C13.9 18.91 14.44 19.87 15 20.71Z\";\r\nexport var mdiDatabaseMarkerOutline = \"M12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.35 16 12.69 15.97 13.03 15.95C13 15.8 13 15.65 13 15.5C13 14.96 13.09 14.44 13.24 13.94C12.83 14 12.42 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V10.03C18.17 10 18.33 10 18.5 10C19 10 19.5 10.08 20 10.22V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C13.06 21 14.07 20.89 15 20.71C14.62 20.14 14.25 19.5 13.93 18.85C13.34 18.94 12.71 19 12 19M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\r\nexport var mdiDatabaseMinus = \"M23 17V19H15V17M12 3C16.42 3 20 4.79 20 7S16.42 11 12 11 4 9.21 4 7 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13S20 11.21 20 9V12.08L19 12C16.41 12 14.2 13.64 13.36 15.94L12 16C7.58 16 4 14.21 4 12V9M4 14C4 16.21 7.58 18 12 18H13C13 19.05 13.27 20.04 13.75 20.9L12 21C7.58 21 4 19.21 4 17V14Z\";\r\nexport var mdiDatabaseMinusOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M23 18V20H15V18H23Z\";\r\nexport var mdiDatabaseOff = \"M19.07 15.87C19.66 15.31 20 14.68 20 14V16.8L19.07 15.87M20 9C20 10.54 18.27 11.86 15.73 12.53L17.89 14.69C19.19 14 20 13.04 20 12V9M20 7C20 4.79 16.42 3 12 3C10.13 3 8.42 3.33 7.06 3.86L14.06 10.86C17.5 10.41 20 8.85 20 7M2.39 1.73L1.11 3L4.21 6.1C4.08 6.39 4 6.69 4 7C4 8.63 5.96 10.04 8.77 10.66L11.08 12.97C7.1 12.74 4 11.06 4 9V12C4 14.21 7.58 16 12 16C12.69 16 13.35 15.95 14 15.87L15.66 17.55C14.57 17.84 13.32 18 12 18C7.58 18 4 16.21 4 14V17C4 19.21 7.58 21 12 21C14.31 21 16.38 20.5 17.84 19.73L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiDatabaseOffOutline = \"M2.39 1.73L1.11 3L4.21 6.1C4.08 6.39 4 6.69 4 7V17C4 19.21 7.59 21 12 21C14.3 21 16.38 20.5 17.84 19.73L20.84 22.73L22.11 21.46L2.39 1.73M6 9.64C6.76 10.07 7.7 10.42 8.76 10.65L12.11 14C12.07 14 12.04 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64M12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.68 16 13.34 15.95 14 15.87L16.34 18.23C15.33 18.65 13.87 19 12 19M8.64 5.44L7.06 3.86C8.42 3.33 10.13 3 12 3C16.42 3 20 4.79 20 7V16.8L18 14.8V14.77L18 14.78L16.45 13.25C17.05 13.03 17.58 12.76 18 12.45V9.64C16.97 10.22 15.61 10.65 14.06 10.86L12.19 9C15.94 8.94 18 7.5 18 7C18 6.5 15.87 5 12 5C10.66 5 9.54 5.18 8.64 5.44Z\";\r\nexport var mdiDatabaseOutline = \"M12 3C7.58 3 4 4.79 4 7V17C4 19.21 7.59 21 12 21S20 19.21 20 17V7C20 4.79 16.42 3 12 3M18 17C18 17.5 15.87 19 12 19S6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16S16.39 15.55 18 14.77V17M18 12.45C16.7 13.4 14.42 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11C14.39 11 16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5C15.87 5 18 6.5 18 7S15.87 9 12 9Z\";\r\nexport var mdiDatabasePlus = \"M18,14H20V17H23V19H20V22H18V19H15V17H18V14M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V9L20,12.08L19,12C16.41,12 14.2,13.64 13.36,15.94L12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18H13C13,19.05 13.27,20.04 13.75,20.9L12,21C7.58,21 4,19.21 4,17V14Z\";\r\nexport var mdiDatabasePlusOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiDatabaseRefresh = \"M12 3C16.42 3 20 4.79 20 7C20 9.21 16.42 11 12 11C7.58 11 4 9.21 4 7C4 4.79 7.58 3 12 3M4 9C4 11.21 7.58 13 12 13C13.11 13 14.18 12.89 15.14 12.68C14.19 13.54 13.5 14.67 13.18 15.96L12 16C7.58 16 4 14.21 4 12V9M20 9V11L19.5 11L18.9 11.03C19.6 10.43 20 9.74 20 9M4 14C4 16.21 7.58 18 12 18L13 17.97C13.09 19.03 13.42 20 13.95 20.88L12 21C7.58 21 4 19.21 4 17V14M19 13.5C20.11 13.5 21.11 13.95 21.83 14.67L23 13.5V17.5H19L20.77 15.73C20.32 15.28 19.69 15 19 15C17.62 15 16.5 16.12 16.5 17.5C16.5 18.88 17.62 20 19 20C19.82 20 20.54 19.61 21 19H22.71C22.12 20.47 20.68 21.5 19 21.5C16.79 21.5 15 19.71 15 17.5C15 15.29 16.79 13.5 19 13.5Z\";\r\nexport var mdiDatabaseRefreshOutline = \"M6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.03C18.17 12 18.33 12 18.5 12C19 12 19.5 12.07 20 12.18V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.17 21 12.33 21 12.5 21C12.24 20.37 12.09 19.7 12.03 19L12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.17 16 12.34 16 12.5 16C12.85 15.18 13.34 14.46 13.95 13.86C13.32 13.95 12.67 14 12 14C9.58 14 7.3 13.4 6 12.45M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M18 18.5L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18Z\";\r\nexport var mdiDatabaseRemove = \"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.47L22.53,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.53L15.47,20.12L17.59,18L15.46,15.88M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V12.08L19,12C16.41,12 14.2,13.64 13.36,15.94L12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18H13C13,19.05 13.27,20.04 13.75,20.9L12,21C7.58,21 4,19.21 4,17V14Z\";\r\nexport var mdiDatabaseRemoveOutline = \"M20 13.09V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.46 21 12.9 21 13.33 20.94C13.12 20.33 13 19.68 13 19L13 18.95C12.68 19 12.35 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16C12.65 16 13.27 15.96 13.88 15.89C14.93 14.16 16.83 13 19 13C19.34 13 19.67 13.04 20 13.09M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19\";\r\nexport var mdiDatabaseSearch = \"M18.68,12.32C16.92,10.56 14.07,10.57 12.32,12.33C10.56,14.09 10.56,16.94 12.32,18.69C13.81,20.17 16.11,20.43 17.89,19.32L21,22.39L22.39,21L19.3,17.89C20.43,16.12 20.17,13.8 18.68,12.32M17.27,17.27C16.29,18.25 14.71,18.24 13.73,17.27C12.76,16.29 12.76,14.71 13.74,13.73C14.71,12.76 16.29,12.76 17.27,13.73C18.24,14.71 18.24,16.29 17.27,17.27M10.9,20.1C10.25,19.44 9.74,18.65 9.42,17.78C6.27,17.25 4,15.76 4,14V17C4,19.21 7.58,21 12,21V21C11.6,20.74 11.23,20.44 10.9,20.1M4,9V12C4,13.68 6.07,15.12 9,15.7C9,15.63 9,15.57 9,15.5C9,14.57 9.2,13.65 9.58,12.81C6.34,12.3 4,10.79 4,9M12,3C7.58,3 4,4.79 4,7C4,9 7,10.68 10.85,11H10.9C12.1,9.74 13.76,9 15.5,9C16.41,9 17.31,9.19 18.14,9.56C19.17,9.09 19.87,8.12 20,7C20,4.79 16.42,3 12,3Z\";\r\nexport var mdiDatabaseSearchOutline = \"M11 18.95C7.77 18.72 6 17.45 6 17V14.77C7.13 15.32 8.5 15.69 10 15.87C10 15.21 10.04 14.54 10.21 13.89C8.5 13.67 6.97 13.16 6 12.45V9.64C7.43 10.45 9.5 10.97 11.82 11C11.85 10.97 11.87 10.93 11.9 10.9C14.1 8.71 17.5 8.41 20 10.03V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.34 21 12.68 21 13 20.97C12.62 20.72 12.24 20.44 11.9 20.1C11.55 19.74 11.25 19.36 11 18.95M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M20.31 17.9C20.75 17.21 21 16.38 21 15.5C21 13 19 11 16.5 11S12 13 12 15.5 14 20 16.5 20C17.37 20 18.19 19.75 18.88 19.32L22 22.39L23.39 21L20.31 17.9M16.5 18C15.12 18 14 16.88 14 15.5S15.12 13 16.5 13 19 14.12 19 15.5 17.88 18 16.5 18Z\";\r\nexport var mdiDatabaseSettings = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C16.42,13 20,11.21 20,9V12C20,14.21 16.42,16 12,16C7.58,16 4,14.21 4,12V9M4,14C4,16.21 7.58,18 12,18C16.42,18 20,16.21 20,14V17C20,18.19 18.95,19.27 17.29,20H6.71C5.05,19.27 4,18.19 4,17V14Z\";\r\nexport var mdiDatabaseSettingsOutline = \"M12 3C7.58 3 4 4.79 4 7V17C4 18.2 5.06 19.27 6.73 20H17.27C18.94 19.27 20 18.2 20 17V7C20 4.79 16.42 3 12 3M18 17C18 17.5 15.87 19 12 19S6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16S16.39 15.55 18 14.77V17M18 12.45C16.7 13.4 14.42 14 12 14S7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V12.45M12 9C8.13 9 6 7.5 6 7S8.13 5 12 5 18 6.5 18 7 15.87 9 12 9M7 22H9V24H7V22M15 22H17V24H15V22M11 22H13V24H11V22Z\";\r\nexport var mdiDatabaseSync = \"M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23M12,3C16.42,3 20,4.79 20,7C20,9.21 16.42,11 12,11C7.58,11 4,9.21 4,7C4,4.79 7.58,3 12,3M4,9C4,11.21 7.58,13 12,13C13.11,13 14.17,12.89 15.14,12.68C14.19,13.54 13.5,14.67 13.18,15.96L12,16C7.58,16 4,14.21 4,12V9M20,9V11H19.5L18.9,11.03C19.6,10.43 20,9.74 20,9M4,14C4,16.21 7.58,18 12,18L13,17.97C13.09,19.03 13.42,20 13.95,20.88L12,21C7.58,21 4,19.21 4,17V14Z\";\r\nexport var mdiDatabaseSyncOutline = \"M12 16C12.41 16 12.81 15.97 13.21 15.94C13.4 15.18 13.72 14.46 14.16 13.83C13.47 13.94 12.74 14 12 14C9.58 14 7.3 13.4 6 12.45V9.64C7.47 10.47 9.61 11 12 11S16.53 10.47 18 9.64V11.19C18.5 11.07 19 11 19.55 11C19.7 11 19.85 11 20 11.03V7C20 4.79 16.42 3 12 3S4 4.79 4 7V17C4 19.21 7.59 21 12 21C12.66 21 13.31 20.96 13.92 20.88C13.57 20.29 13.31 19.64 13.16 18.94C12.79 19 12.41 19 12 19C8.13 19 6 17.5 6 17V14.77C7.61 15.55 9.72 16 12 16M12 5C15.87 5 18 6.5 18 7S15.87 9 12 9 6 7.5 6 7 8.13 5 12 5M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\r\nexport var mdiDeathStar = \"M2.05,13H21.95C21.45,18.05 17.19,22 12,22C6.82,22 2.55,18.05 2.05,13M21.95,11H2.05C2.55,5.95 6.82,2 12,2C17.18,2 21.45,5.95 21.95,11M12,6.75A2.5,2.5 0 0,0 9.5,4.25A2.5,2.5 0 0,0 7,6.75A2.5,2.5 0 0,0 9.5,9.25A2.5,2.5 0 0,0 12,6.75Z\";\r\nexport var mdiDeathStarVariant = \"M2.05,13H21.94C21.88,13.69 21.74,14.36 21.54,15H14V17H17V19H15V21H12.5V22C12.33,22 12.17,22 12,22C6.82,22 2.55,18.05 2.05,13M21.94,11H2.05C2.55,5.95 6.82,2 12,2C13.62,2 15.15,2.39 16.5,3.08V5H18.5V7H20V9H21.54C21.74,9.64 21.88,10.31 21.94,11M12,6.75A2.5,2.5 0 0,0 9.5,4.25A2.5,2.5 0 0,0 7,6.75A2.5,2.5 0 0,0 9.5,9.25A2.5,2.5 0 0,0 12,6.75Z\";\r\nexport var mdiDeathlyHallows = \"M12,2L1,21H23L12,2M12.75,11.47C14.56,11.87 15.7,13.67 15.3,15.5C15,16.75 14,17.75 12.75,18.03V11.47M11.25,18C9.44,17.6 8.3,15.8 8.7,14C9,12.72 10,11.72 11.25,11.44V18M16.88,14.72C16.83,12.35 15.09,10.36 12.75,10V6.29L20.4,19.5H13.07C15.29,19 16.87,17.03 16.88,14.75V14.72M11.25,6.29V10C8.6,10.4 6.77,12.88 7.18,15.54C7.5,17.5 8.97,19.12 10.93,19.55H3.6L11.25,6.29Z\";\r\nexport var mdiDebian = \"M18.5,10.57L18.3,10.94C18.56,10.16 18.41,9.31 18.45,8.57L18.38,8.55C18.31,6.7 16.71,4.73 15.29,4.07C14.06,3.5 12.17,3.4 11.3,3.83C11.42,3.72 11.9,3.68 11.75,3.6C10.38,3.73 10.69,4.07 9.64,4.34C9.35,4.62 10.5,4.12 9.87,4.5C9.31,4.63 9.05,4.38 8.22,5.24C8.29,5.36 8.75,4.89 8.37,5.36C7.58,5.27 5.89,7.16 5.53,7.78L5.72,7.82C5.41,8.59 5,9.08 4.95,9.54C4.87,10.68 4.5,12.75 5.03,13.39L4.97,13.92L5.2,14.37L5.08,14.38C5.66,16.21 5.7,14.42 6.47,16.32C6.36,16.28 6.24,16.24 6.08,16C6.06,16.19 6.32,16.69 6.62,17.08L6.5,17.22C6.66,17.53 6.82,17.6 6.93,17.71C6.3,17.36 7.5,18.84 7.63,19.03L7.73,18.86C7.71,19.1 7.9,19.42 8.26,19.87L8.56,19.86C8.69,20.1 9.14,20.54 9.41,20.56L9.23,20.8C9.92,21 9.56,21.09 10.41,21.39L10.24,21.09C10.67,21.46 10.8,21.79 11.41,22.07C12.26,22.37 12.37,22.25 13.23,22.5C12.5,22.5 11.64,22.5 11.06,22.28C7.1,21.21 3.5,16.56 3.74,11.78C3.68,10.81 3.84,9.6 3.68,9.36C3.9,8.62 4.16,7.72 4.69,6.65C4.65,6.58 4.78,6.86 5.05,6.41C5.21,6.05 5.34,5.66 5.55,5.31L5.65,5.28C5.76,4.67 7.08,3.73 7.5,3.26V3.44C8.36,2.63 9.9,2.09 10.76,1.71C10.53,1.96 11.27,1.68 11.8,1.65L11.31,1.93C11.94,1.77 11.91,2 12.56,1.9C12.33,1.93 12.06,2 12.1,2.06C12.82,2.14 12.94,1.84 13.61,2.06L13.56,1.86C14.5,2.2 14.69,2.14 15.7,2.68C16.06,2.69 16.1,2.46 16.63,2.68C16.73,2.84 16.61,2.87 17.27,3.27C17.34,3.24 17.14,3.05 17,2.9C18.3,3.61 19.75,5.12 20.18,6.74C19.77,6 20.14,7.13 20,7.07C20.18,7.56 20.33,8.07 20.43,8.6C20.31,8.17 20.04,7.12 19.57,6.45C19.54,6.88 18.97,6.15 19.28,7.11C19.5,7.45 19.33,6.76 19.62,7.36C19.62,7.65 19.73,7.94 19.8,8.31C19.7,8.29 19.58,7.9 19.5,8C19.6,8.5 19.77,8.72 19.83,8.76C19.8,8.84 19.71,8.68 19.71,9C19.75,9.74 19.92,9.43 20,9.46C19.91,9.83 19.59,10.25 19.75,10.88L19.55,10.32C19.5,10.85 19.66,10.95 19.42,11.6C19.6,11 19.58,10.5 19.41,10.75C19.5,11.57 18.76,12.2 18.83,12.73L18.62,12.44C18.05,13.27 18.61,12.89 18.22,13.5C18.36,13.27 18.15,13.42 18.33,13.14C18.21,13.15 17.78,13.67 17.39,13.97C15.85,15.2 14,15.37 12.24,14.7H12.23C12.24,14.66 12.23,14.61 12.11,14.53C10.6,13.38 9.71,12.4 10,10.12C10.25,9.95 10.31,9 10.84,8.67C11.16,7.96 12.12,7.31 13.15,7.29C14.2,7.23 15.09,7.85 15.54,8.43C14.72,7.68 13.4,7.45 12.26,8C11.11,8.53 10.42,9.8 10.5,11.07C10.56,11 10.6,11.05 10.62,10.89C10.59,13.36 13.28,15.17 15.22,14.26L15.25,14.31C16.03,14.09 15.93,13.92 16.44,13.56C16.4,13.65 16.1,13.86 16.28,13.86C16.53,13.8 17.31,13.07 17.7,12.73C17.87,12.35 17.6,12.5 17.85,12.04L18.15,11.89C18.32,11.41 18.5,11.14 18.5,10.57\";\r\nexport var mdiDebugStepInto = \"M12,22A2,2 0 0,1 10,20A2,2 0 0,1 12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22M13,2V13L17.5,8.5L18.92,9.92L12,16.84L5.08,9.92L6.5,8.5L11,13V2H13Z\";\r\nexport var mdiDebugStepOut = \"M12,22A2,2 0 0,1 10,20A2,2 0 0,1 12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22M13,16H11V6L6.5,10.5L5.08,9.08L12,2.16L18.92,9.08L17.5,10.5L13,6V16Z\";\r\nexport var mdiDebugStepOver = \"M12,14A2,2 0 0,1 14,16A2,2 0 0,1 12,18A2,2 0 0,1 10,16A2,2 0 0,1 12,14M23.46,8.86L21.87,15.75L15,14.16L18.8,11.78C17.39,9.5 14.87,8 12,8C8.05,8 4.77,10.86 4.12,14.63L2.15,14.28C2.96,9.58 7.06,6 12,6C15.58,6 18.73,7.89 20.5,10.72L23.46,8.86Z\";\r\nexport var mdiDecagram = \"M23,12L20.56,9.22L20.9,5.54L17.29,4.72L15.4,1.54L12,3L8.6,1.54L6.71,4.72L3.1,5.53L3.44,9.21L1,12L3.44,14.78L3.1,18.47L6.71,19.29L8.6,22.47L12,21L15.4,22.46L17.29,19.28L20.9,18.46L20.56,14.78L23,12Z\";\r\nexport var mdiDecagramOutline = \"M23,12L20.56,14.78L20.9,18.46L17.29,19.28L15.4,22.46L12,21L8.6,22.47L6.71,19.29L3.1,18.47L3.44,14.78L1,12L3.44,9.21L3.1,5.53L6.71,4.72L8.6,1.54L12,3L15.4,1.54L17.29,4.72L20.9,5.54L20.56,9.22L23,12M20.33,12L18.5,9.89L18.74,7.1L16,6.5L14.58,4.07L12,5.18L9.42,4.07L8,6.5L5.26,7.09L5.5,9.88L3.67,12L5.5,14.1L5.26,16.9L8,17.5L9.42,19.93L12,18.81L14.58,19.92L16,17.5L18.74,16.89L18.5,14.1L20.33,12Z\";\r\nexport var mdiDecimal = \"M10 7A3 3 0 0 0 7 10V13A3 3 0 0 0 13 13V10A3 3 0 0 0 10 7M11 13A1 1 0 0 1 9 13V10A1 1 0 0 1 11 10M17 7A3 3 0 0 0 14 10V13A3 3 0 0 0 20 13V10A3 3 0 0 0 17 7M18 13A1 1 0 0 1 16 13V10A1 1 0 0 1 18 10M6 15A1 1 0 1 1 5 14A1 1 0 0 1 6 15Z\";\r\nexport var mdiDecimalComma = \"M10 7A3 3 0 0 1 13 10V13A3 3 0 0 1 7 13V10A3 3 0 0 1 10 7M10 9A1 1 0 0 0 9 10V13A1 1 0 0 0 11 13V10A1 1 0 0 0 10 9M17 7A3 3 0 0 1 20 10V13A3 3 0 0 1 14 13V10A3 3 0 0 1 17 7M17 9A1 1 0 0 0 16 10V13A1 1 0 0 0 18 13V10A1 1 0 0 0 17 9M5 14A1 1 0 0 0 4 15L5 18H6V15A1 1 0 0 0 5 14Z\";\r\nexport var mdiDecimalCommaDecrease = \"M5 13V16H4L3 13A1 1 0 0 1 5 13M15 16V14L12 17L15 20V18H21V16M12 11A3 3 0 0 1 6 11V8A3 3 0 0 1 12 8M10 8A1 1 0 0 0 8 8V11A1 1 0 0 0 10 11Z\";\r\nexport var mdiDecimalCommaIncrease = \"M9 5A3 3 0 0 0 6 8V11A3 3 0 0 0 12 11V8A3 3 0 0 0 9 5M10 11A1 1 0 0 1 8 11V8A1 1 0 0 1 10 8M16 14A3 3 0 0 0 19 11V8A3 3 0 0 0 13 8V11A3 3 0 0 0 16 14M15 8A1 1 0 0 1 17 8V11A1 1 0 0 1 15 11M19 20V18H13V16H19V14L22 17M5 13V16H4L3 13A1 1 0 0 1 5 13Z\";\r\nexport var mdiDecimalDecrease = \"M12,17L15,20V18H21V16H15V14L12,17M9,5A3,3 0 0,1 12,8V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V8A3,3 0 0,1 9,5M9,7A1,1 0 0,0 8,8V11A1,1 0 0,0 9,12A1,1 0 0,0 10,11V8A1,1 0 0,0 9,7M4,12A1,1 0 0,1 5,13A1,1 0 0,1 4,14A1,1 0 0,1 3,13A1,1 0 0,1 4,12Z\";\r\nexport var mdiDecimalIncrease = \"M22,17L19,20V18H13V16H19V14L22,17M9,5A3,3 0 0,1 12,8V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V8A3,3 0 0,1 9,5M9,7A1,1 0 0,0 8,8V11A1,1 0 0,0 9,12A1,1 0 0,0 10,11V8A1,1 0 0,0 9,7M16,5A3,3 0 0,1 19,8V11A3,3 0 0,1 16,14A3,3 0 0,1 13,11V8A3,3 0 0,1 16,5M16,7A1,1 0 0,0 15,8V11A1,1 0 0,0 16,12A1,1 0 0,0 17,11V8A1,1 0 0,0 16,7M4,12A1,1 0 0,1 5,13A1,1 0 0,1 4,14A1,1 0 0,1 3,13A1,1 0 0,1 4,12Z\";\r\nexport var mdiDelete = \"M19,4H15.5L14.5,3H9.5L8.5,4H5V6H19M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19Z\";\r\nexport var mdiDeleteAlert = \"M17 4V6H3V4H6.5L7.5 3H12.5L13.5 4H17M4 19V7H16V19C16 20.1 15.1 21 14 21H6C4.9 21 4 20.1 4 19M19 15H21V17H19V15M19 7H21V13H19V7Z\";\r\nexport var mdiDeleteAlertOutline = \"M4 19V7H16V19C16 20.1 15.1 21 14 21H6C4.9 21 4 20.1 4 19M6 9V19H14V9H6M13.5 4H17V6H3V4H6.5L7.5 3H12.5L13.5 4M19 17V15H21V17H19M19 13V7H21V13H19Z\";\r\nexport var mdiDeleteCircle = \"M12,2C17.53,2 22,6.47 22,12C22,17.53 17.53,22 12,22C6.47,22 2,17.53 2,12C2,6.47 6.47,2 12,2M17,7H14.5L13.5,6H10.5L9.5,7H7V9H17V7M9,18H15A1,1 0 0,0 16,17V10H8V17A1,1 0 0,0 9,18Z\";\r\nexport var mdiDeleteCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M16,10V17A1,1 0 0,1 15,18H9A1,1 0 0,1 8,17V10H16M13.5,6L14.5,7H17V9H7V7H9.5L10.5,6H13.5Z\";\r\nexport var mdiDeleteClock = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M23 16C23 19.87 19.87 23 16 23C14.09 23 12.36 22.24 11.1 21H8C6.9 21 6 20.1 6 19V7H18V9.29C20.89 10.15 23 12.83 23 16M16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11M19 4V6H5V4H8.5L9.5 3H14.5L15.5 4H19Z\";\r\nexport var mdiDeleteClockOutline = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M23 16C23 19.87 19.87 23 16 23C14.09 23 12.36 22.24 11.1 21H8C6.9 21 6 20.1 6 19V7H18V9.29C20.89 10.15 23 12.83 23 16M9 16C9 12.13 12.13 9 16 9H8V19H9.67C9.24 18.09 9 17.07 9 16M16 11C13.24 11 11 13.24 11 16C11 18.76 13.24 21 16 21C18.76 21 21 18.76 21 16C21 13.24 18.76 11 16 11M15.5 4H19V6H5V4H8.5L9.5 3H14.5L15.5 4Z\";\r\nexport var mdiDeleteEmpty = \"M20.37,8.91L19.37,10.64L7.24,3.64L8.24,1.91L11.28,3.66L12.64,3.29L16.97,5.79L17.34,7.16L20.37,8.91M6,19V7H11.07L18,11V19A2,2 0 0,1 16,21H8A2,2 0 0,1 6,19Z\";\r\nexport var mdiDeleteEmptyOutline = \"M20.37,8.91L19.37,10.64L7.24,3.64L8.24,1.91L11.28,3.66L12.64,3.29L16.97,5.79L17.34,7.16L20.37,8.91M6,19V7H11.07L18,11V19A2,2 0 0,1 16,21H8A2,2 0 0,1 6,19M8,19H16V12.2L10.46,9H8V19Z\";\r\nexport var mdiDeleteForever = \"M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8.46,11.88L9.87,10.47L12,12.59L14.12,10.47L15.53,11.88L13.41,14L15.53,16.12L14.12,17.53L12,15.41L9.88,17.53L8.47,16.12L10.59,14L8.46,11.88M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z\";\r\nexport var mdiDeleteForeverOutline = \"M14.12,10.47L12,12.59L9.87,10.47L8.46,11.88L10.59,14L8.47,16.12L9.88,17.53L12,15.41L14.12,17.53L15.53,16.12L13.41,14L15.53,11.88L14.12,10.47M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9Z\";\r\nexport var mdiDeleteOff = \"M2 5.27L3.28 4L5 5.72L5.28 6L6.28 7L18 18.72L20 20.72L18.73 22L17.27 20.54C16.93 20.83 16.5 21 16 21H8C6.9 21 6 20.1 6 19V9.27L2 5.27M19 4V6H7.82L5.82 4H8.5L9.5 3H14.5L15.5 4H19M18 7V16.18L8.82 7H18Z\";\r\nexport var mdiDeleteOffOutline = \"M2 5.27L3.28 4L5 5.72L5.28 6L6.28 7L8.28 9L16 16.72L18 18.72L20 20.72L18.73 22L17.27 20.54C16.93 20.83 16.5 21 16 21H8C6.9 21 6 20.1 6 19V9.27L2 5.27M8 19H15.73L8 11.27V19M18 7V16.18L16 14.18V9H10.82L8.82 7H18M15.5 4H19V6H7.82L5.82 4H8.5L9.5 3H14.5L15.5 4Z\";\r\nexport var mdiDeleteOutline = \"M6,19A2,2 0 0,0 8,21H16A2,2 0 0,0 18,19V7H6V19M8,9H16V19H8V9M15.5,4L14.5,3H9.5L8.5,4H5V6H19V4H15.5Z\";\r\nexport var mdiDeleteRestore = \"M14,14H16L12,10L8,14H10V18H14V14M6,7H18V19C18,19.5 17.8,20 17.39,20.39C17,20.8 16.5,21 16,21H8C7.5,21 7,20.8 6.61,20.39C6.2,20 6,19.5 6,19V7M19,4V6H5V4H8.5L9.5,3H14.5L15.5,4H19Z\";\r\nexport var mdiDeleteSweep = \"M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M3,18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8H3V18M14,5H11L10,4H6L5,5H2V7H14V5Z\";\r\nexport var mdiDeleteSweepOutline = \"M15,16H19V18H15V16M15,8H22V10H15V8M15,12H21V14H15V12M11,10V18H5V10H11M13,8H3V18A2,2 0 0,0 5,20H11A2,2 0 0,0 13,18V8M14,5H11L10,4H6L5,5H2V7H14V5Z\";\r\nexport var mdiDeleteVariant = \"M21.03,3L18,20.31C17.83,21.27 17,22 16,22H8C7,22 6.17,21.27 6,20.31L2.97,3H21.03M5.36,5L8,20H16L18.64,5H5.36M9,18V14H13V18H9M13,13.18L9.82,10L13,6.82L16.18,10L13,13.18Z\";\r\nexport var mdiDelta = \"M12,7.77L18.39,18H5.61L12,7.77M12,4L2,20H22\";\r\nexport var mdiDesk = \"M3 6H21C21.55 6 22 6.45 22 7C22 7.55 21.55 8 21 8V19H19V17H15V19H13V8H5V19H3V8C2.45 8 2 7.55 2 7C2 6.45 2.45 6 3 6M16 10.5V11H18V10.5C18 10.22 17.78 10 17.5 10H16.5C16.22 10 16 10.22 16 10.5M16 14.5V15H18V14.5C18 14.22 17.78 14 17.5 14H16.5C16.22 14 16 14.22 16 14.5Z\";\r\nexport var mdiDeskLamp = \"M10.85,2L9.18,4.5L10.32,5.25L7.14,10C7.1,10 7.05,10 7,10A2,2 0 0,0 5,12C5,12.94 5.66,13.75 6.58,13.95L10.62,20H7V22H17V20H13L8.53,13.28C8.83,12.92 9,12.47 9,12C9,11.7 8.93,11.4 8.8,11.13L12,6.37C11.78,8.05 12.75,9.89 14.45,11L18.89,4.37C17.2,3.24 15.12,3.04 13.65,3.87L10.85,2M18.33,7L16.67,9.5C17.35,9.95 18.29,9.77 18.75,9.08C19.21,8.39 19,7.46 18.33,7Z\";\r\nexport var mdiDeskLampOff = \"M9 10.87L8.8 11.13C8.93 11.4 9 11.7 9 12C9 12.47 8.83 12.92 8.53 13.28L13 20H17V22H7V20H10.62L6.58 13.95C5.66 13.75 5 12.94 5 12C5 10.9 5.9 10 7 10H7.14L7.53 9.42L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L9 10.87M18.33 7L16.67 9.5C17.35 9.95 18.29 9.77 18.75 9.08S19 7.46 18.33 7M9.57 6.37L11 7.82L12 6.37C11.78 8.05 12.75 9.89 14.45 11L18.89 4.37C17.2 3.24 15.12 3.04 13.65 3.87L10.85 2L9.18 4.5L10.32 5.25L9.57 6.37Z\";\r\nexport var mdiDeskLampOn = \"M10.85 2L9.18 4.5L10.32 5.25L7.14 10H7C5.9 10 5 10.9 5 12C5 12.94 5.66 13.75 6.58 13.95L10.62 20H7V22H17V20H13L8.53 13.28C8.83 12.92 9 12.47 9 12C9 11.7 8.93 11.4 8.8 11.13L12 6.37C11.78 8.05 12.75 9.89 14.45 11L18.89 4.37C17.2 3.24 15.12 3.04 13.65 3.87L10.85 2M18.33 7L16.67 9.5C17.35 9.95 18.29 9.77 18.75 9.08C19.21 8.39 19 7.46 18.33 7M21.7 12.58L19.58 10.45L20.28 9.75L22.4 11.87L21.7 12.58M23 7H20V6H23V7M16 14V11H17V14H16Z\";\r\nexport var mdiDeskphone = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M15,5V19H19V5H15M5,5V9H13V5H5M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M5,14V16H7V14H5M8,14V16H10V14H8M11,14V16H13V14H11M11,17V19H13V17H11M8,17V19H10V17H8M5,17V19H7V17H5Z\";\r\nexport var mdiDesktopClassic = \"M6,2C4.89,2 4,2.89 4,4V12C4,13.11 4.89,14 6,14H18C19.11,14 20,13.11 20,12V4C20,2.89 19.11,2 18,2H6M6,4H18V12H6V4M4,15C2.89,15 2,15.89 2,17V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V17C22,15.89 21.11,15 20,15H4M8,17H20V20H8V17M9,17.75V19.25H13V17.75H9M15,17.75V19.25H19V17.75H15Z\";\r\nexport var mdiDesktopTower = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,4V6H16V4H8M16,8H8V10H16V8M16,18H14V20H16V18Z\";\r\nexport var mdiDesktopTowerMonitor = \"M22,18H17A1,1 0 0,1 16,17V7A1,1 0 0,1 17,6H22A1,1 0 0,1 23,7V17A1,1 0 0,1 22,18M22,8H17V9H22V8M22,10H17V11H22V10M9,15V17H10V18H5V17H6V15H2A1,1 0 0,1 1,14V7A1,1 0 0,1 2,6H13A1,1 0 0,1 14,7V14A1,1 0 0,1 13,15H9M12,8H3V13H12V8Z\";\r\nexport var mdiDetails = \"M6.38,6H17.63L12,16L6.38,6M3,4L12,20L21,4H3Z\";\r\nexport var mdiDevTo = \"M7.73 11.93C7.73 13.65 7.71 13.76 7.5 14C7.31 14.17 7.12 14.23 6.74 14.23L6.23 14.24L6.2 11.97L6.18 9.7H6.7C7.05 9.7 7.3 9.77 7.47 9.91C7.71 10.12 7.73 10.16 7.73 11.93M22 7.5V16.5C22 17.61 21.11 18.5 20 18.5H4C2.89 18.5 2 17.61 2 16.5V7.5C2 6.39 2.89 5.5 4 5.5H20C21.11 5.5 22 6.39 22 7.5M8.93 11.73C8.9 9.89 8.88 9.74 8.64 9.34C8.24 8.66 7.79 8.5 6.28 8.5H5V15.5H6.21C7.54 15.5 8.1 15.33 8.5 14.79C8.91 14.26 9 13.81 8.93 11.73M13.12 8.5H11.64C10.15 8.5 10.14 8.5 9.93 8.78S9.7 9.21 9.7 12V14.96L9.97 15.23C10.22 15.5 10.28 15.5 11.68 15.5H13.12V14.31L12.03 14.27L10.93 14.24V12.6L11.61 12.57L12.27 12.53V11.34H10.88V9.7H13.12V8.5M19 8.56C19 8.5 18.7 8.5 18.34 8.5L17.66 8.56L17.07 10.91C16.69 12.39 16.45 13.18 16.4 13.04C16.32 12.77 15.26 8.6 15.26 8.55C15.26 8.5 14.95 8.5 14.58 8.5H13.89L14.3 10.05C14.5 10.92 14.89 12.33 15.11 13.2C15.45 14.55 15.57 14.85 15.86 15.14C16.06 15.36 16.31 15.5 16.47 15.5C16.8 15.5 17.23 15.16 17.37 14.77C17.5 14.5 19 8.69 19 8.56Z\";\r\nexport var mdiDeveloperBoard = \"M22,9V7H20V5A2,2 0 0,0 18,3H4A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21H18A2,2 0 0,0 20,19V17H22V15H20V13H22V11H20V9H22M18,19H4V5H18V19M6,13H11V17H6V13M12,7H16V10H12V7M6,7H11V12H6V7M12,11H16V17H12V11Z\";\r\nexport var mdiDeviantart = \"M6,6H12L14,2H18V6L14.5,13H18V18H12L10,22H6V18L9.5,11H6V6Z\";\r\nexport var mdiDevices = \"M3 6H21V4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H7V18H3V6M13 12H9V13.78C8.39 14.33 8 15.11 8 16C8 16.89 8.39 17.67 9 18.22V20H13V18.22C13.61 17.67 14 16.88 14 16S13.61 14.33 13 13.78V12M11 17.5C10.17 17.5 9.5 16.83 9.5 16S10.17 14.5 11 14.5 12.5 15.17 12.5 16 11.83 17.5 11 17.5M22 8H16C15.5 8 15 8.5 15 9V19C15 19.5 15.5 20 16 20H22C22.5 20 23 19.5 23 19V9C23 8.5 22.5 8 22 8M21 18H17V10H21V18Z\";\r\nexport var mdiDharmachakra = \"M11,2V3C9.27,3.2 7.69,3.9 6.4,4.94L5.64,4.18L4.22,5.6L5,6.35C3.9,7.68 3.21,9.3 3,11H2V13H3C3.21,14.68 3.9,16.26 5,17.56L4.22,18.32L5.64,19.74L6.39,19C7.71,20.07 9.3,20.77 11,21V22H13V21C14.69,20.77 16.29,20.07 17.6,19L18.36,19.74L19.78,18.32L19,17.57C20.1,16.27 20.79,14.68 21,13H22V11H21C20.79,9.3 20.1,7.69 19,6.36L19.78,5.6L18.36,4.18L17.61,4.94C16.29,3.87 14.69,3.2 13,3V2H11M11,5V8L10,8.5L7.81,6.35C8.72,5.67 9.81,5.17 11,5M13,5C14.16,5.18 15.26,5.64 16.2,6.35L14,8.5L13,8V5M6.4,7.76L8.5,10L8,11H5C5.16,9.84 5.7,8.7 6.39,7.75L6.4,7.76M17.6,7.76C18.33,8.71 18.81,9.82 19,11H16L15.5,10L17.61,7.76H17.6M12,10C13.12,10 14,10.88 14,12C14,13.12 13.12,14 12,14C10.88,14 10,13.12 10,12C10,10.88 10.88,10 12,10M5,13H8L8.57,14L6.39,16.15C5.67,15.24 5.19,14.16 5,13V13M16,13H19C18.81,14.15 18.33,15.24 17.61,16.16L15.5,14L16,13M10,15.5L11,16V19C9.83,18.8 8.73,18.31 7.8,17.57L10,15.5M14,15.5L16.19,17.57C15.28,18.25 14.19,18.83 13,19V16L14,15.5Z\";\r\nexport var mdiDiabetes = \"M14.73 2.29A1 1 0 0 1 16.14 3.7L13 6.79L13.76 7.74L15.7 12.74A1.46 1.46 0 0 1 15.36 14.29L12.27 17.38A1.55 1.55 0 0 1 10.15 17.38L5.55 12.78A1.37 1.37 0 0 1 5.15 11.78L4.65 5.34H5.72A1 1 0 0 1 6.47 5.64L6.61 5.81L7.66 9.29M7.66 22L2 16.36L4.12 14.24L9.78 19.9M19.5 4.5S17 7.26 17 9A2.5 2.5 0 1 0 22 9C22 7.26 19.5 4.5 19.5 4.5Z\";\r\nexport var mdiDialpad = \"M12,19A2,2 0 0,0 10,21A2,2 0 0,0 12,23A2,2 0 0,0 14,21A2,2 0 0,0 12,19M6,1A2,2 0 0,0 4,3A2,2 0 0,0 6,5A2,2 0 0,0 8,3A2,2 0 0,0 6,1M6,7A2,2 0 0,0 4,9A2,2 0 0,0 6,11A2,2 0 0,0 8,9A2,2 0 0,0 6,7M6,13A2,2 0 0,0 4,15A2,2 0 0,0 6,17A2,2 0 0,0 8,15A2,2 0 0,0 6,13M18,5A2,2 0 0,0 20,3A2,2 0 0,0 18,1A2,2 0 0,0 16,3A2,2 0 0,0 18,5M12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13M18,13A2,2 0 0,0 16,15A2,2 0 0,0 18,17A2,2 0 0,0 20,15A2,2 0 0,0 18,13M18,7A2,2 0 0,0 16,9A2,2 0 0,0 18,11A2,2 0 0,0 20,9A2,2 0 0,0 18,7M12,7A2,2 0 0,0 10,9A2,2 0 0,0 12,11A2,2 0 0,0 14,9A2,2 0 0,0 12,7M12,1A2,2 0 0,0 10,3A2,2 0 0,0 12,5A2,2 0 0,0 14,3A2,2 0 0,0 12,1Z\";\r\nexport var mdiDiameter = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,15V13H7V15L4,12L7,9V11H17V9L20,12L17,15Z\";\r\nexport var mdiDiameterOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16,15V13H8V15L5,12L8,9V11H16V9L19,12L16,15Z\";\r\nexport var mdiDiameterVariant = \"M4.15,21.46L5.47,19.58C3.35,17.74 2,15.03 2,12A10,10 0 0,1 12,2C13.78,2 15.44,2.46 16.89,3.27L18.21,1.39L19.85,2.54L18.53,4.42C20.65,6.26 22,8.97 22,12A10,10 0 0,1 12,22C10.22,22 8.56,21.54 7.11,20.73L5.79,22.61L4.15,21.46M12,4A8,8 0 0,0 4,12C4,14.35 5,16.46 6.63,17.93L15.73,4.92C14.62,4.33 13.35,4 12,4M12,20A8,8 0 0,0 20,12C20,9.65 19,7.54 17.37,6.07L8.27,19.08C9.38,19.67 10.65,20 12,20Z\";\r\nexport var mdiDiamond = \"M6,2L2,8L12,22L22,8L18,2H6Z\";\r\nexport var mdiDiamondOutline = \"M18,2H6L2,8L12,22L22,8L18,2M4.43,8L7.07,4H16.93L19.57,8L12,18.56L4.43,8Z\";\r\nexport var mdiDiamondStone = \"M16,9H19L14,16M10,9H14L12,17M5,9H8L10,16M15,4H17L19,7H16M11,4H13L14,7H10M7,4H9L8,7H5M6,2L2,8L12,22L22,8L18,2H6Z\";\r\nexport var mdiDice1 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiDice1Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M12 10.5C11.17 10.5 10.5 11.17 10.5 12S11.17 13.5 12 13.5 13.5 12.83 13.5 12 12.83 10.5 12 10.5\";\r\nexport var mdiDice2 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\r\nexport var mdiDice2Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M7.5 6C6.67 6 6 6.67 6 7.5S6.67 9 7.5 9 9 8.33 9 7.5 8.33 6 7.5 6M16.5 15C15.67 15 15 15.67 15 16.5C15 17.33 15.67 18 16.5 18C17.33 18 18 17.33 18 16.5C18 15.67 17.33 15 16.5 15Z\";\r\nexport var mdiDice3 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\r\nexport var mdiDice3Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12 10.5C11.2 10.5 10.5 11.2 10.5 12S11.2 13.5 12 13.5 13.5 12.8 13.5 12 12.8 10.5 12 10.5M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15Z\";\r\nexport var mdiDice4 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\r\nexport var mdiDice4Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M7.5 6C6.67 6 6 6.67 6 7.5S6.67 9 7.5 9 9 8.33 9 7.5 8.33 6 7.5 6M16.5 15C15.67 15 15 15.67 15 16.5C15 17.33 15.67 18 16.5 18C17.33 18 18 17.33 18 16.5C18 15.67 17.33 15 16.5 15M16.5 6C15.67 6 15 6.67 15 7.5S15.67 9 16.5 9C17.33 9 18 8.33 18 7.5S17.33 6 16.5 6M7.5 15C6.67 15 6 15.67 6 16.5C6 17.33 6.67 18 7.5 18S9 17.33 9 16.5C9 15.67 8.33 15 7.5 15Z\";\r\nexport var mdiDice5 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\r\nexport var mdiDice5Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15M16.5 6C15.7 6 15 6.7 15 7.5S15.7 9 16.5 9C17.3 9 18 8.3 18 7.5S17.3 6 16.5 6M12 10.5C11.2 10.5 10.5 11.2 10.5 12S11.2 13.5 12 13.5 13.5 12.8 13.5 12 12.8 10.5 12 10.5M7.5 15C6.7 15 6 15.7 6 16.5C6 17.3 6.7 18 7.5 18S9 17.3 9 16.5C9 15.7 8.3 15 7.5 15Z\";\r\nexport var mdiDice6 = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15M17,10A2,2 0 0,0 15,12A2,2 0 0,0 17,14A2,2 0 0,0 19,12A2,2 0 0,0 17,10M17,5A2,2 0 0,0 15,7A2,2 0 0,0 17,9A2,2 0 0,0 19,7A2,2 0 0,0 17,5M7,10A2,2 0 0,0 5,12A2,2 0 0,0 7,14A2,2 0 0,0 9,12A2,2 0 0,0 7,10M7,15A2,2 0 0,0 5,17A2,2 0 0,0 7,19A2,2 0 0,0 9,17A2,2 0 0,0 7,15Z\";\r\nexport var mdiDice6Outline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M16.5 15C15.7 15 15 15.7 15 16.5C15 17.3 15.7 18 16.5 18C17.3 18 18 17.3 18 16.5C18 15.7 17.3 15 16.5 15M16.5 10.5C15.7 10.5 15 11.2 15 12S15.7 13.5 16.5 13.5C17.3 13.5 18 12.8 18 12S17.3 10.5 16.5 10.5M16.5 6C15.7 6 15 6.7 15 7.5S15.7 9 16.5 9C17.3 9 18 8.3 18 7.5S17.3 6 16.5 6M7.5 10.5C6.7 10.5 6 11.2 6 12S6.7 13.5 7.5 13.5 9 12.8 9 12 8.3 10.5 7.5 10.5M7.5 15C6.7 15 6 15.7 6 16.5C6 17.3 6.7 18 7.5 18S9 17.3 9 16.5C9 15.7 8.3 15 7.5 15Z\";\r\nexport var mdiDiceD10 = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M14.07 8.21C15.5 8.21 16.64 9.36 16.64 10.78V13.42C16.64 14.84 15.5 16 14.07 16C12.64 16 11.5 14.84 11.5 13.42V10.78C11.5 9.36 12.65 8.21 14.07 8.21M10.36 8.41H10.5V16H9V10.21L7.22 10.76V9.53L10.36 8.41M14.06 9.65C13.47 9.65 13 10.13 13 10.71V13.5C13 14.07 13.47 14.54 14.06 14.54C14.64 14.54 15.14 14.06 15.14 13.5V10.71C15.14 10.12 14.64 9.65 14.06 9.65Z\";\r\nexport var mdiDiceD10Outline = \"M10.5 16H9V10.21L7.22 10.76V9.53L10.36 8.41H10.5V16M14.07 8.21C15.5 8.21 16.64 9.36 16.64 10.78V13.42C16.64 14.84 15.5 16 14.07 16C12.64 16 11.5 14.84 11.5 13.42V10.78C11.5 9.36 12.65 8.21 14.07 8.21M14.06 9.65C13.47 9.65 13 10.13 13 10.71V13.5C13 14.07 13.47 14.54 14.06 14.54C14.64 14.54 15.14 14.06 15.14 13.5V10.71C15.14 10.12 14.64 9.65 14.06 9.65M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\r\nexport var mdiDiceD12 = \"M12 2L1.5 9.64L5.5 22H18.5L22.5 9.64L12 2M10.5 17H8.89V10.89L7 11.47V10.19L10.31 9H10.5V17M17 17H11.66V15.91C11.66 15.91 15.23 12.45 15.23 11.4C15.23 10.12 14.18 10.25 14.18 10.25C13.5 10.3 13 10.87 13 11.55H11.44C11.5 10.09 12.72 8.94 14.27 9C16.74 9 16.77 10.85 16.77 11.3C16.77 13.07 13.58 15.77 13.58 15.77L17 15.75V17Z\";\r\nexport var mdiDiceD12Outline = \"M12,2L1.5,9.64L5.5,22H18.5L22.5,9.64L12,2M17,20H7L3.85,10.4L12,4.47L20.15,10.4L17,20M17,15.75V17H11.66V15.91C11.66,15.91 15.23,12.45 15.23,11.4C15.23,10.12 14.18,10.25 14.18,10.25C13.5,10.3 13,10.87 13,11.55H11.44C11.5,10.09 12.72,8.94 14.27,9C16.74,9 16.77,10.85 16.77,11.3C16.77,13.07 13.58,15.77 13.58,15.77L17,15.75M10.5,17H8.89V10.89L7,11.47V10.19L10.31,9H10.5V17Z\";\r\nexport var mdiDiceD20 = \"M20.47 6.62L12.57 2.18C12.41 2.06 12.21 2 12 2S11.59 2.06 11.43 2.18L3.53 6.62C3.21 6.79 3 7.12 3 7.5V16.5C3 16.88 3.21 17.21 3.53 17.38L11.43 21.82C11.59 21.94 11.79 22 12 22S12.41 21.94 12.57 21.82L20.47 17.38C20.79 17.21 21 16.88 21 16.5V7.5C21 7.12 20.79 6.79 20.47 6.62M11.45 15.96L6.31 15.93V14.91C6.31 14.91 9.74 11.58 9.75 10.57C9.75 9.33 8.73 9.46 8.73 9.46S7.75 9.5 7.64 10.71L6.14 10.76C6.14 10.76 6.18 8.26 8.83 8.26C11.2 8.26 11.23 10.04 11.23 10.5C11.23 12.18 8.15 14.77 8.15 14.77L11.45 14.76V15.96M17.5 13.5C17.5 14.9 16.35 16.05 14.93 16.05C13.5 16.05 12.36 14.9 12.36 13.5V10.84C12.36 9.42 13.5 8.27 14.93 8.27S17.5 9.42 17.5 10.84V13.5M16 10.77V13.53C16 14.12 15.5 14.6 14.92 14.6C14.34 14.6 13.86 14.12 13.86 13.53V10.77C13.86 10.18 14.34 9.71 14.92 9.71C15.5 9.71 16 10.18 16 10.77Z\";\r\nexport var mdiDiceD20Outline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15M14.93,8.27A2.57,2.57 0 0,1 17.5,10.84V13.5C17.5,14.9 16.35,16.05 14.93,16.05C13.5,16.05 12.36,14.9 12.36,13.5V10.84A2.57,2.57 0 0,1 14.93,8.27M14.92,9.71C14.34,9.71 13.86,10.18 13.86,10.77V13.53C13.86,14.12 14.34,14.6 14.92,14.6C15.5,14.6 16,14.12 16,13.53V10.77C16,10.18 15.5,9.71 14.92,9.71M11.45,14.76V15.96L6.31,15.93V14.91C6.31,14.91 9.74,11.58 9.75,10.57C9.75,9.33 8.73,9.46 8.73,9.46C8.73,9.46 7.75,9.5 7.64,10.71L6.14,10.76C6.14,10.76 6.18,8.26 8.83,8.26C11.2,8.26 11.23,10.04 11.23,10.5C11.23,12.18 8.15,14.77 8.15,14.77L11.45,14.76Z\";\r\nexport var mdiDiceD4 = \"M10.25 15.15L11.92 12.47V15.15H10.25M21.92 21H2.08C1.24 21 .72 20.08 1.16 19.36L11.08 3.13C11.5 2.44 12.5 2.44 12.92 3.13L22.84 19.36C23.28 20.08 22.76 21 21.92 21M14.29 15.15H13.43V10.42H11.91L8.75 15.41L8.82 16.36H11.92V18H13.43V16.36H14.29V15.15Z\";\r\nexport var mdiDiceD4Outline = \"M13.43,15.15H14.29V16.36H13.43V18H11.92V16.36H8.82L8.75,15.41L11.91,10.42H13.43V15.15M10.25,15.15H11.92V12.47L10.25,15.15M22,21H2C1.64,21 1.31,20.81 1.13,20.5C0.95,20.18 0.96,19.79 1.15,19.5L11.15,3C11.5,2.38 12.5,2.38 12.86,3L22.86,19.5C23.04,19.79 23.05,20.18 22.87,20.5C22.69,20.81 22.36,21 22,21M3.78,19H20.23L12,5.43L3.78,19Z\";\r\nexport var mdiDiceD6 = \"M13.05 13.5C13.05 14.27 12.61 14.83 12 14.83S10.85 14.27 10.85 13.5L10.83 12.78C10.83 12.78 11.21 12 11.95 12.1C12.56 12.1 13.05 12.73 13.05 13.5M21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5M14.55 13.41C14.5 11.45 13.19 10.87 12.53 10.87C11.41 10.87 10.86 11.53 10.86 11.53S10.89 9.5 13.39 9.53V8.33C13.39 8.33 9.33 7.94 9.3 12.66C9.27 16.86 12.77 16 12.77 16S14.61 15.47 14.55 13.41Z\";\r\nexport var mdiDiceD6Outline = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5M13.39,9.53C10.89,9.5 10.86,11.53 10.86,11.53C10.86,11.53 11.41,10.87 12.53,10.87C13.19,10.87 14.5,11.45 14.55,13.41C14.61,15.47 12.77,16 12.77,16C12.77,16 9.27,16.86 9.3,12.66C9.33,7.94 13.39,8.33 13.39,8.33V9.53M11.95,12.1C11.21,12 10.83,12.78 10.83,12.78L10.85,13.5C10.85,14.27 11.39,14.83 12,14.83C12.61,14.83 13.05,14.27 13.05,13.5C13.05,12.73 12.56,12.1 11.95,12.1Z\";\r\nexport var mdiDiceD8 = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 8.25C13.31 8.25 14.38 9.2 14.38 10.38C14.38 11.07 14 11.68 13.44 12.07C14.14 12.46 14.6 13.13 14.6 13.9C14.6 15.12 13.44 16.1 12 16.1C10.56 16.1 9.4 15.12 9.4 13.9C9.4 13.13 9.86 12.46 10.56 12.07C10 11.68 9.63 11.07 9.63 10.38C9.63 9.2 10.69 8.25 12 8.25M12 9.5C11.5 9.5 11.1 9.95 11.1 10.5C11.1 11.05 11.5 11.5 12 11.5C12.5 11.5 12.9 11.05 12.9 10.5C12.9 9.95 12.5 9.5 12 9.5M12 12.65C11.39 12.65 10.9 13.14 10.9 13.75C10.9 14.36 11.39 14.85 12 14.85C12.61 14.85 13.1 14.36 13.1 13.75C13.1 13.14 12.61 12.65 12 12.65Z\";\r\nexport var mdiDiceD8Outline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12M12 8.25C13.31 8.25 14.38 9.2 14.38 10.38C14.38 11.07 14 11.68 13.44 12.07C14.14 12.46 14.6 13.13 14.6 13.9C14.6 15.12 13.44 16.1 12 16.1C10.56 16.1 9.4 15.12 9.4 13.9C9.4 13.13 9.86 12.46 10.56 12.07C10 11.68 9.63 11.07 9.63 10.38C9.63 9.2 10.69 8.25 12 8.25M12 12.65C11.39 12.65 10.9 13.14 10.9 13.75C10.9 14.36 11.39 14.85 12 14.85C12.61 14.85 13.1 14.36 13.1 13.75C13.1 13.14 12.61 12.65 12 12.65M12 9.5C11.5 9.5 11.1 9.95 11.1 10.5C11.1 11.05 11.5 11.5 12 11.5C12.5 11.5 12.9 11.05 12.9 10.5C12.9 9.95 12.5 9.5 12 9.5\";\r\nexport var mdiDiceMultiple = \"M19.78,3H11.22C10.55,3 10,3.55 10,4.22V8H16V14H19.78C20.45,14 21,13.45 21,12.78V4.22C21,3.55 20.45,3 19.78,3M12.44,6.67C11.76,6.67 11.21,6.12 11.21,5.44C11.21,4.76 11.76,4.21 12.44,4.21A1.23,1.23 0 0,1 13.67,5.44C13.67,6.12 13.12,6.67 12.44,6.67M18.56,12.78C17.88,12.79 17.33,12.24 17.32,11.56C17.31,10.88 17.86,10.33 18.54,10.32C19.22,10.31 19.77,10.86 19.78,11.56C19.77,12.23 19.23,12.77 18.56,12.78M18.56,6.67C17.88,6.68 17.33,6.13 17.32,5.45C17.31,4.77 17.86,4.22 18.54,4.21C19.22,4.2 19.77,4.75 19.78,5.44C19.78,6.12 19.24,6.66 18.56,6.67M4.22,10H12.78A1.22,1.22 0 0,1 14,11.22V19.78C14,20.45 13.45,21 12.78,21H4.22C3.55,21 3,20.45 3,19.78V11.22C3,10.55 3.55,10 4.22,10M8.5,14.28C7.83,14.28 7.28,14.83 7.28,15.5C7.28,16.17 7.83,16.72 8.5,16.72C9.17,16.72 9.72,16.17 9.72,15.5A1.22,1.22 0 0,0 8.5,14.28M5.44,11.22C4.77,11.22 4.22,11.77 4.22,12.44A1.22,1.22 0 0,0 5.44,13.66C6.11,13.66 6.66,13.11 6.66,12.44V12.44C6.66,11.77 6.11,11.22 5.44,11.22M11.55,17.33C10.88,17.33 10.33,17.88 10.33,18.55C10.33,19.22 10.88,19.77 11.55,19.77A1.22,1.22 0 0,0 12.77,18.55H12.77C12.77,17.88 12.23,17.34 11.56,17.33H11.55Z\";\r\nexport var mdiDiceMultipleOutline = \"M14 8C13.45 8 13 7.55 13 7S13.45 6 14 6C14.55 6 15 6.45 15 7C15 7.55 14.55 8 14 8M12 12V19H5V12H12M12.78 10H4.22C3.55 10 3 10.55 3 11.22V19.78C3 20.45 3.55 21 4.22 21H12.78C13.45 21 14 20.45 14 19.78V11.22C14 10.55 13.45 10 12.78 10M19.78 3H11.22C10.55 3 10 3.55 10 4.22V8H12V5H19V12H16V14H19.78C20.45 14 21 13.45 21 12.78V4.22C21 3.55 20.45 3 19.78 3M17 8C16.45 8 16 7.55 16 7S16.45 6 17 6C17.55 6 18 6.45 18 7C18 7.55 17.55 8 17 8M17 11C16.45 11 16 10.55 16 10S16.45 9 17 9C17.55 9 18 9.45 18 10C18 10.55 17.55 11 17 11M7 15C6.45 15 6 14.55 6 14S6.45 13 7 13C7.55 13 8 13.45 8 14C8 14.55 7.55 15 7 15M10 18C9.45 18 9 17.55 9 17S9.45 16 10 16C10.55 16 11 16.45 11 17C11 17.55 10.55 18 10 18\";\r\nexport var mdiDigitalOcean = \"M6 12H2C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22V18H8V14H12V18C15.32 18 18 15.31 18 12C18 8.69 15.31 6 12 6C8.69 6 6 8.69 6 12M8 18V21H5V18H8M3 16H5V18H3V16Z\";\r\nexport var mdiDipSwitch = \"M3,4H7A1,1 0 0,1 8,5V19A1,1 0 0,1 7,20H3A1,1 0 0,1 2,19V5A1,1 0 0,1 3,4M10,4H14A1,1 0 0,1 15,5V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V5A1,1 0 0,1 10,4M17,4H21A1,1 0 0,1 22,5V19A1,1 0 0,1 21,20H17A1,1 0 0,1 16,19V5A1,1 0 0,1 17,4M4,18H6V13H4V18M11,11H13V6H11V11M18,18H20V13H18V18Z\";\r\nexport var mdiDirections = \"M14,14.5V12H10V15H8V11A1,1 0 0,1 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\";\r\nexport var mdiDirectionsFork = \"M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\";\r\nexport var mdiDisc = \"M12,14C10.89,14 10,13.1 10,12C10,10.89 10.89,10 12,10C13.11,10 14,10.89 14,12A2,2 0 0,1 12,14M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiDiscAlert = \"M10 14C8.9 14 8 13.1 8 12C8 10.9 8.9 10 10 10C11.1 10 12 10.9 12 12S11.1 14 10 14M10 4C5.6 4 2 7.6 2 12S5.6 20 10 20 18 16.4 18 12 14.4 4 10 4M20 13H22V7H20M20 17H22V15H20V17Z\";\r\nexport var mdiDiscPlayer = \"M14.5,10.37C15.54,10.37 16.38,9.53 16.38,8.5C16.38,7.46 15.54,6.63 14.5,6.63C13.46,6.63 12.63,7.46 12.63,8.5A1.87,1.87 0 0,0 14.5,10.37M14.5,1A7.5,7.5 0 0,1 22,8.5C22,10.67 21.08,12.63 19.6,14H9.4C7.93,12.63 7,10.67 7,8.5C7,4.35 10.36,1 14.5,1M6,21V22H4V21H2V15H22V21H20V22H18V21H6M4,18V19H13V18H4M15,17V19H17V17H15M19,17A1,1 0 0,0 18,18A1,1 0 0,0 19,19A1,1 0 0,0 20,18A1,1 0 0,0 19,17Z\";\r\nexport var mdiDishwasher = \"M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2M10,4A1,1 0 0,1 11,5A1,1 0 0,1 10,6A1,1 0 0,1 9,5A1,1 0 0,1 10,4M7,4A1,1 0 0,1 8,5A1,1 0 0,1 7,6A1,1 0 0,1 6,5A1,1 0 0,1 7,4M18,20H6V8H18V20M14.67,15.33C14.69,16.03 14.41,16.71 13.91,17.21C12.86,18.26 11.15,18.27 10.09,17.21C9.59,16.71 9.31,16.03 9.33,15.33C9.4,14.62 9.63,13.94 10,13.33C10.37,12.5 10.81,11.73 11.33,11L12,10C13.79,12.59 14.67,14.36 14.67,15.33\";\r\nexport var mdiDishwasherAlert = \"M16 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V4C18 2.9 17.11 2 16 2M8 4C8.55 4 9 4.45 9 5S8.55 6 8 6 7 5.55 7 5 7.45 4 8 4M5 4C5.55 4 6 4.45 6 5S5.55 6 5 6 4 5.55 4 5 4.45 4 5 4M16 20H4V8H16V20M12.67 15.33C12.69 16.03 12.41 16.71 11.91 17.21C10.86 18.26 9.15 18.27 8.09 17.21C7.59 16.71 7.31 16.03 7.33 15.33C7.4 14.62 7.63 13.94 8 13.33C8.37 12.5 8.81 11.73 9.33 11L10 10C11.79 12.59 12.67 14.36 12.67 15.33M20 15H22V17H20V15M20 7H22V13H20V7Z\";\r\nexport var mdiDishwasherOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M18 20H6V8H6.11L10.5 12.37C10.31 12.69 10.15 13 10 13.33C9.63 13.94 9.4 14.62 9.33 15.33C9.31 16.03 9.59 16.71 10.09 17.21C11.15 18.27 12.86 18.26 13.91 17.21C14.16 16.97 14.35 16.68 14.5 16.36L18 19.89V20M11.2 8H18V14.8L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.2 8M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\r\nexport var mdiDisqus = \"M12.08,22C9.63,22 7.39,21.11 5.66,19.63L1.41,20.21L3.05,16.15C2.5,14.88 2.16,13.5 2.16,12C2.16,6.5 6.6,2 12.08,2C17.56,2 22,6.5 22,12C22,17.5 17.56,22 12.08,22M17.5,11.97V11.94C17.5,9.06 15.46,7 11.95,7H8.16V17H11.9C15.43,17 17.5,14.86 17.5,11.97M12,14.54H10.89V9.46H12C13.62,9.46 14.7,10.39 14.7,12V12C14.7,13.63 13.62,14.54 12,14.54Z\";\r\nexport var mdiDistributeHorizontalCenter = \"M8 2V5H10V19H8V22H6V19H4V5H6V2H8M16 2V7H14V17H16V22H18V17H20V7H18V2H16Z\";\r\nexport var mdiDistributeHorizontalLeft = \"M21 7V17H16V22H14V2H16V7H21M5 2H3V22H5V19H10V5H5V2Z\";\r\nexport var mdiDistributeHorizontalRight = \"M3 17V7H8V2H10V22H8V17H3M19 22H21V2H19V5H14V19H19V22Z\";\r\nexport var mdiDistributeVerticalBottom = \"M7 3H17V8H22V10H2V8H7V3M2 19V21H22V19H19V14H5V19H2Z\";\r\nexport var mdiDistributeVerticalCenter = \"M2 16H5V14H19V16H22V18H19V20H5V18H2V16M2 8H7V10H17V8H22V6H17V4H7V6H2V8Z\";\r\nexport var mdiDistributeVerticalTop = \"M17 21H7V16H2V14H22V16H17V21M22 5V3H2V5H5V10H19V5H22Z\";\r\nexport var mdiDiversify = \"M19 2V4H12C10.9 4 10 4.89 10 6V9H12V6H19V8L22 5L19 2M19 9V11H14V13H19V15L22 12L19 9M11.05 10C9.94 10 9.04 10.87 9.03 12S9.9 14 11 14C12.11 14 13 13.11 13 12C13 10.91 12.13 10.03 11.05 10M2 11V13H8V11H2M10 15V18C10 19.11 10.9 20 12 20H19V22L22 19L19 16V18H12V15H10Z\";\r\nexport var mdiDiving = \"M13.26 5.2L13.3 5.18C13.72 4.82 14.35 4.88 14.71 5.3L16.97 8H20C20.55 8 21 8.45 21 9S20.55 10 20 10H16.5C16.15 10 15.85 9.82 15.67 9.56L14.17 7.77L11.64 10.13L14.57 12.18C14.83 12.36 15 12.66 15 13V17C15 17.55 14.55 18 14 18S13 17.55 13 17V13.5L9.77 11.26C8.82 10.6 8.74 9.23 9.6 8.46L13.26 5.2M16.5 5C17.34 5 18 4.33 18 3.5S17.34 2 16.5 2 15 2.67 15 3.5 15.68 5 16.5 5M6 19H5C3.34 19 2 20.34 2 22H6V20.5H15V19H6Z\";\r\nexport var mdiDivingFlippers = \"M20.28,3.66C19.28,3.44 18.54,2.25 17.57,2.04C16.6,1.83 15.4,2.59 14.42,2.37C13.38,2 12.22,2.13 11.28,2.71L11.21,17L11,18C10.64,19.62 11.67,21.22 13.29,21.58C14.9,21.93 16.5,20.91 16.86,19.29L17.07,18.29L23,5.28C22.39,4.35 21.39,3.76 20.28,3.66M14.91,18.86C14.79,19.41 14.25,19.76 13.7,19.65C13.14,19.53 12.79,19 12.91,18.43L13.77,14.5C13.86,13.97 14.37,13.6 14.92,13.69C15.46,13.78 15.83,14.3 15.74,14.84C15.74,14.88 15.73,14.91 15.72,14.95L14.91,18.86M9.72,21.34C9.33,20.73 9.08,20.05 9,19.34L8.24,16C8.1,15.47 8.41,14.92 9,14.76C9.07,14.75 9.15,14.75 9.22,14.76V3.43C8.31,3.43 7.22,2.86 6.38,3.06C5.54,3.26 4.69,4.44 3.72,4.66C2.61,4.76 1.61,5.35 1,6.28L6.93,19.28L7.14,20.28C7.5,21.9 9.09,22.92 10.71,22.57H10.81C10.38,22.22 10,21.81 9.72,21.34Z\";\r\nexport var mdiDivingHelmet = \"M16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12M19.45,7.89L18.07,8.58L18.32,9H20V15H18.33C17.84,16.03 17.11,16.92 16.21,17.6C17.85,18.11 19.1,18.91 19.67,19.86C18.69,21.1 15.62,22 12,22C8.38,22 5.31,21.1 4.33,19.86C4.9,18.91 6.15,18.11 7.79,17.6C6.89,16.92 6.16,16.03 5.67,15H4V9H5.68C6.37,7.54 7.54,6.37 9,5.68V4H15V5.68C15.68,6 16.29,6.46 16.82,7L18.55,6.14C19.93,5.42 20,4.1 20,2H22C22,4.06 22,6.62 19.45,7.89M17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12Z\";\r\nexport var mdiDivingScuba = \"M1 13C1 11.9 1.9 11 3 11S5 11.9 5 13 4.1 15 3 15 1 14.1 1 13M8.89 10.11L13.42 8.9L12.64 6L8.11 7.21C7.31 7.42 6.83 8.25 7.05 9.05C7.27 9.85 8.09 10.33 8.89 10.11M20.5 5.9L23 3L22 2L19 5L17 9L7.5 11.87C6.7 12.07 6.13 12.76 6 13.55L5.24 18L2.4 21.8L4 23L7 19L8.14 15.86L14 14L19 10.5L20.5 5.9Z\";\r\nexport var mdiDivingScubaFlag = \"M2,6L19,20H2V6M5,4L22,18V4H5Z\";\r\nexport var mdiDivingScubaMask = \"M12,15C13.31,15 14.42,15.83 14.83,17H18A4,4 0 0,1 22,21V22H20V21A2,2 0 0,0 18,19H14.83C14.42,20.17 13.31,21 12,21A3,3 0 0,1 9,18A3,3 0 0,1 12,15M12,17A1,1 0 0,0 11,18A1,1 0 0,0 12,19A1,1 0 0,0 13,18A1,1 0 0,0 12,17M18,3A2,2 0 0,1 20,5V10A2,2 0 0,1 18,12H14.85C14.43,12 14.05,12.24 13.9,12.63C13.7,13.23 13.23,13.71 12.62,13.91C11.58,14.25 10.44,13.68 10.1,12.63C9.95,12.24 9.57,12 9.15,12H6A2,2 0 0,1 4,10V5A2,2 0 0,1 6,3H18M18,10V5H6V10H10.65C10.9,9.46 11.41,9.09 12,9C12.59,9.09 13.1,9.46 13.35,10H18Z\";\r\nexport var mdiDivingScubaTank = \"M19,18.5A2.5,2.5 0 0,1 16.5,21A2.5,2.5 0 0,1 14,18.5C14,17.47 14.62,16.59 15.5,16.21V6H11V7.35C12.22,7.93 13,9.15 13,10.5V22H6V10.5C6,9.15 6.78,7.93 8,7.35V6H6V4H8V3.5A1.5,1.5 0 0,1 9.5,2A1.5,1.5 0 0,1 11,3.5V4H15.5A2,2 0 0,1 17.5,6V16.21C18.38,16.59 19,17.47 19,18.5Z\";\r\nexport var mdiDivingScubaTankMultiple = \"M22,18.5A2.5,2.5 0 0,1 19.5,21A2.5,2.5 0 0,1 17,18.5C17,17.47 17.62,16.59 18.5,16.21V6H14V7.35C15.22,7.93 16,9.15 16,10.5V22H2V10.5C2,9.15 2.78,7.93 4,7.35V6H2V4H4V3.5A1.5,1.5 0 0,1 5.5,2A1.5,1.5 0 0,1 7,3.5V4H11V3.5A1.5,1.5 0 0,1 12.5,2A1.5,1.5 0 0,1 14,3.5V4H18.5A2,2 0 0,1 20.5,6V16.21C21.38,16.59 22,17.47 22,18.5M11,7.35V6H7V7.35C8.22,7.93 9,9.15 9,10.5C9,9.15 9.78,7.93 11,7.35Z\";\r\nexport var mdiDivingSnorkel = \"M16,3H4A2,2 0 0,0 2,5V10A2,2 0 0,0 4,12H7.15C7.57,12 7.95,12.24 8.1,12.63C8.44,13.68 9.58,14.25 10.62,13.91C11.23,13.71 11.7,13.23 11.9,12.63C12.05,12.24 12.43,12 12.85,12H16A2,2 0 0,0 18,10V5A2,2 0 0,0 16,3M16,10H11.35C11.1,9.46 10.59,9.09 10,9C9.41,9.09 8.9,9.46 8.65,10H4V5H16V10M22,2V15.5A6.5,6.5 0 0,1 15.5,22C13.79,22 12.15,21.32 10.93,20.12C8.95,20.58 6.88,19.79 5.71,18.12L7.62,17.29C8.5,18.22 9.84,18.5 11,18C11.2,17.91 11.39,17.8 11.56,17.67C12.4,17.05 12.87,16.04 12.78,15L14.69,14.17C15.1,16.04 14.41,18 12.9,19.17C13.66,19.71 14.57,20 15.5,20C18,20 20,18 20,15.5V2H22Z\";\r\nexport var mdiDivision = \"M19,13H5V11H19V13M12,5A2,2 0 0,1 14,7A2,2 0 0,1 12,9A2,2 0 0,1 10,7A2,2 0 0,1 12,5M12,15A2,2 0 0,1 14,17A2,2 0 0,1 12,19A2,2 0 0,1 10,17A2,2 0 0,1 12,15Z\";\r\nexport var mdiDivisionBox = \"M17,13V11H7V13H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7M12,15A1,1 0 0,0 11,16A1,1 0 0,0 12,17A1,1 0 0,0 13,16A1,1 0 0,0 12,15Z\";\r\nexport var mdiDlna = \"M21.38,12.56H12.85C11.97,12.56 11.1,12.96 10.61,13.61V13.6C10.12,14.28 9.32,14.72 8.41,14.72C6.92,14.72 5.71,13.5 5.71,12C5.71,10.5 6.92,9.31 8.41,9.31C9.32,9.31 10.12,9.75 10.61,10.43V10.42C11.1,11.07 11.97,11.5 12.85,11.5H21.29C21.45,11.5 22,11.4 22,10.67C21.26,6.43 17.1,3.18 12.06,3.18C8.96,3.18 6.19,4.41 4.34,6.35C4.05,6.79 4.35,6.92 4.63,6.96H10.14C11,6.96 11.89,6.54 12.38,5.89V5.91C12.88,5.23 13.67,4.78 14.58,4.78C16.07,4.78 17.28,6 17.28,7.5C17.28,9 16.07,10.2 14.58,10.2C13.67,10.2 12.88,9.75 12.38,9.07V9.08C11.89,8.44 11,8.03 10.14,8.03H4.13L4.15,8.03C4.15,8.03 3.26,8 2.72,8.75C2.3,9.42 2,10.85 2,12C2,13.16 2.17,14.21 2.72,15.27C3.19,16.03 4.15,16 4.15,16H4.11L10.14,16C11,16 11.89,15.58 12.38,14.93V14.94C12.88,14.26 13.67,13.81 14.58,13.81C16.07,13.81 17.28,15.03 17.28,16.5C17.28,18 16.07,19.23 14.58,19.23C13.67,19.23 12.88,18.78 12.38,18.1V18.12C11.89,17.47 11,17.05 10.14,17.05H4.64C4.36,17.09 4.06,17.22 4.32,17.64C6.17,19.58 8.95,20.82 12.06,20.82C17.11,20.82 21.28,17.57 22,13.31C22,12.72 21.59,12.58 21.38,12.56\";\r\nexport var mdiDna = \"M4,2H6V4C6,5.44 6.68,6.61 7.88,7.78C8.74,8.61 9.89,9.41 11.09,10.2L9.26,11.39C8.27,10.72 7.31,10 6.5,9.21C5.07,7.82 4,6.1 4,4V2M18,2H20V4C20,6.1 18.93,7.82 17.5,9.21C16.09,10.59 14.29,11.73 12.54,12.84C10.79,13.96 9.09,15.05 7.88,16.22C6.68,17.39 6,18.56 6,20V22H4V20C4,17.9 5.07,16.18 6.5,14.79C7.91,13.41 9.71,12.27 11.46,11.16C13.21,10.04 14.91,8.95 16.12,7.78C17.32,6.61 18,5.44 18,4V2M14.74,12.61C15.73,13.28 16.69,14 17.5,14.79C18.93,16.18 20,17.9 20,20V22H18V20C18,18.56 17.32,17.39 16.12,16.22C15.26,15.39 14.11,14.59 12.91,13.8L14.74,12.61M7,3H17V4L16.94,4.5H7.06L7,4V3M7.68,6H16.32C16.08,6.34 15.8,6.69 15.42,7.06L14.91,7.5H9.07L8.58,7.06C8.2,6.69 7.92,6.34 7.68,6M9.09,16.5H14.93L15.42,16.94C15.8,17.31 16.08,17.66 16.32,18H7.68C7.92,17.66 8.2,17.31 8.58,16.94L9.09,16.5M7.06,19.5H16.94L17,20V21H7V20L7.06,19.5Z\";\r\nexport var mdiDns = \"M7,9A2,2 0 0,1 5,7A2,2 0 0,1 7,5A2,2 0 0,1 9,7A2,2 0 0,1 7,9M20,3H4A1,1 0 0,0 3,4V10A1,1 0 0,0 4,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M7,19A2,2 0 0,1 5,17A2,2 0 0,1 7,15A2,2 0 0,1 9,17A2,2 0 0,1 7,19M20,13H4A1,1 0 0,0 3,14V20A1,1 0 0,0 4,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13Z\";\r\nexport var mdiDnsOutline = \"M19,15V19H5V15H19M20,13H4A1,1 0 0,0 3,14V20A1,1 0 0,0 4,21H20A1,1 0 0,0 21,20V14A1,1 0 0,0 20,13M7,18.5A1.5,1.5 0 0,1 5.5,17A1.5,1.5 0 0,1 7,15.5A1.5,1.5 0 0,1 8.5,17A1.5,1.5 0 0,1 7,18.5M19,5V9H5V5H19M20,3H4A1,1 0 0,0 3,4V10A1,1 0 0,0 4,11H20A1,1 0 0,0 21,10V4A1,1 0 0,0 20,3M7,8.5A1.5,1.5 0 0,1 5.5,7A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 8.5,7A1.5,1.5 0 0,1 7,8.5Z\";\r\nexport var mdiDockBottom = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 13H4V6H20Z\";\r\nexport var mdiDockLeft = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M20 18H9V6H20Z\";\r\nexport var mdiDockRight = \"M20 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V6A2 2 0 0 0 20 4M15 18H4V6H15Z\";\r\nexport var mdiDockTop = \"M4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20M4 11H20V18H4V11Z\";\r\nexport var mdiDockWindow = \"M18 18V20H4A2 2 0 0 1 2 18V8H4V18M22 6V14A2 2 0 0 1 20 16H8A2 2 0 0 1 6 14V6A2 2 0 0 1 8 4H20A2 2 0 0 1 22 6M20 6H8V14H20Z\";\r\nexport var mdiDocker = \"M21.81 10.25C21.75 10.21 21.25 9.82 20.17 9.82C19.89 9.82 19.61 9.85 19.33 9.9C19.12 8.5 17.95 7.79 17.9 7.76L17.61 7.59L17.43 7.86C17.19 8.22 17 8.63 16.92 9.05C16.72 9.85 16.84 10.61 17.25 11.26C16.76 11.54 15.96 11.61 15.79 11.61H2.62C2.28 11.61 2 11.89 2 12.24C2 13.39 2.18 14.54 2.58 15.62C3.03 16.81 3.71 17.69 4.58 18.23C5.56 18.83 7.17 19.17 9 19.17C9.79 19.17 10.61 19.1 11.42 18.95C12.54 18.75 13.62 18.36 14.61 17.79C15.43 17.32 16.16 16.72 16.78 16C17.83 14.83 18.45 13.5 18.9 12.35H19.09C20.23 12.35 20.94 11.89 21.33 11.5C21.59 11.26 21.78 10.97 21.92 10.63L22 10.39L21.81 10.25M3.85 11.24H5.61C5.69 11.24 5.77 11.17 5.77 11.08V9.5C5.77 9.42 5.7 9.34 5.61 9.34H3.85C3.76 9.34 3.69 9.41 3.69 9.5V11.08C3.7 11.17 3.76 11.24 3.85 11.24M6.28 11.24H8.04C8.12 11.24 8.2 11.17 8.2 11.08V9.5C8.2 9.42 8.13 9.34 8.04 9.34H6.28C6.19 9.34 6.12 9.41 6.12 9.5V11.08C6.13 11.17 6.19 11.24 6.28 11.24M8.75 11.24H10.5C10.6 11.24 10.67 11.17 10.67 11.08V9.5C10.67 9.42 10.61 9.34 10.5 9.34H8.75C8.67 9.34 8.6 9.41 8.6 9.5V11.08C8.6 11.17 8.66 11.24 8.75 11.24M11.19 11.24H12.96C13.04 11.24 13.11 11.17 13.11 11.08V9.5C13.11 9.42 13.05 9.34 12.96 9.34H11.19C11.11 9.34 11.04 9.41 11.04 9.5V11.08C11.04 11.17 11.11 11.24 11.19 11.24M6.28 9H8.04C8.12 9 8.2 8.91 8.2 8.82V7.25C8.2 7.16 8.13 7.09 8.04 7.09H6.28C6.19 7.09 6.12 7.15 6.12 7.25V8.82C6.13 8.91 6.19 9 6.28 9M8.75 9H10.5C10.6 9 10.67 8.91 10.67 8.82V7.25C10.67 7.16 10.61 7.09 10.5 7.09H8.75C8.67 7.09 8.6 7.15 8.6 7.25V8.82C8.6 8.91 8.66 9 8.75 9M11.19 9H12.96C13.04 9 13.11 8.91 13.11 8.82V7.25C13.11 7.16 13.04 7.09 12.96 7.09H11.19C11.11 7.09 11.04 7.15 11.04 7.25V8.82C11.04 8.91 11.11 9 11.19 9M11.19 6.72H12.96C13.04 6.72 13.11 6.65 13.11 6.56V5C13.11 4.9 13.04 4.83 12.96 4.83H11.19C11.11 4.83 11.04 4.89 11.04 5V6.56C11.04 6.64 11.11 6.72 11.19 6.72M13.65 11.24H15.41C15.5 11.24 15.57 11.17 15.57 11.08V9.5C15.57 9.42 15.5 9.34 15.41 9.34H13.65C13.57 9.34 13.5 9.41 13.5 9.5V11.08C13.5 11.17 13.57 11.24 13.65 11.24\";\r\nexport var mdiDoctor = \"M14.84,16.26C17.86,16.83 20,18.29 20,20V22H4V20C4,18.29 6.14,16.83 9.16,16.26L12,21L14.84,16.26M8,8H16V10A4,4 0 0,1 12,14A4,4 0 0,1 8,10V8M8,7L8.41,2.9C8.46,2.39 8.89,2 9.41,2H14.6C15.11,2 15.54,2.39 15.59,2.9L16,7H8M12,3H11V4H10V5H11V6H12V5H13V4H12V3Z\";\r\nexport var mdiDog = \"M18,4C16.29,4 15.25,4.33 14.65,4.61C13.88,4.23 13,4 12,4C11,4 10.12,4.23 9.35,4.61C8.75,4.33 7.71,4 6,4C3,4 1,12 1,14C1,14.83 2.32,15.59 4.14,15.9C4.78,18.14 7.8,19.85 11.5,20V15.72C10.91,15.35 10,14.68 10,14C10,13 12,13 12,13C12,13 14,13 14,14C14,14.68 13.09,15.35 12.5,15.72V20C16.2,19.85 19.22,18.14 19.86,15.9C21.68,15.59 23,14.83 23,14C23,12 21,4 18,4M4.15,13.87C3.65,13.75 3.26,13.61 3,13.5C3.25,10.73 5.2,6.4 6.05,6C6.59,6 7,6.06 7.37,6.11C5.27,8.42 4.44,12.04 4.15,13.87M9,12A1,1 0 0,1 8,11C8,10.46 8.45,10 9,10A1,1 0 0,1 10,11C10,11.56 9.55,12 9,12M15,12A1,1 0 0,1 14,11C14,10.46 14.45,10 15,10A1,1 0 0,1 16,11C16,11.56 15.55,12 15,12M19.85,13.87C19.56,12.04 18.73,8.42 16.63,6.11C17,6.06 17.41,6 17.95,6C18.8,6.4 20.75,10.73 21,13.5C20.75,13.61 20.36,13.75 19.85,13.87Z\";\r\nexport var mdiDogService = \"M14,8L17,11V21H15V15H8L6,18V21H4V15L5,14V11L2,8L3,7L5,9H7V12A1,1 0 0,0 8,13H12A1,1 0 0,0 13,12V9L14,8M19,5V3L15,7L18,10L19,9L20,10L22,8L19,5M11.5,9.5L4.5,2.5C4.23,2.22 3.79,2.22 3.5,2.5V2.5C3.22,2.77 3.22,3.21 3.5,3.5L10.5,10.5C10.77,10.78 11.21,10.78 11.5,10.5V10.5C11.78,10.23 11.78,9.79 11.5,9.5Z\";\r\nexport var mdiDogSide = \"M19,3L15,7L18,10L19,9L20,10L22,8L19,5V3M3,7L2,8L5,11V14L4,15V21H6V18L8,15H15V21H17V11L14,8L13,9H5L3,7Z\";\r\nexport var mdiDogSideOff = \"M18 10L15 7L19 3V5L22 8L20 10L19 9L18 10M17 11L14 8L13 9H12.2L17 13.8V11M2.39 1.73L1.11 3L7.11 9H5L3 7L2 8L5 11V14L4 15V21H6V18L8 15H13.11L15 16.89V21H17V18.89L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiDolby = \"M2,5V19H22V5H2M6,17H4V7H6C8.86,7.09 11.1,9.33 11,12C11.1,14.67 8.86,16.91 6,17M20,17H18C15.14,16.91 12.9,14.67 13,12C12.9,9.33 15.14,7.09 18,7H20V17Z\";\r\nexport var mdiDolly = \"M11.97,19.88C10.93,20.26 9.78,19.72 9.4,18.69C9,17.65 9.55,16.5 10.59,16.13C11.63,15.75 12.78,16.28 13.16,17.31C13.54,18.35 13,19.5 11.97,19.88M9.9,14.25C7.83,15 6.76,17.3 7.5,19.38C8.28,21.45 10.58,22.5 12.66,21.75C14.73,21 15.79,18.7 15.04,16.63C14.28,14.55 11.97,13.5 9.9,14.25M15.94,4.58L9.37,7L10.75,10.74L17.32,8.33M20.32,13.62L15.54,15.37C15.71,15.66 15.85,15.96 15.97,16.28C16.09,16.6 16.17,16.93 16.22,17.25L21,15.5M19.54,8.58L11.09,11.68L11.58,13C12.83,13.09 14,13.64 14.89,14.55L20.92,12.34M2,2V4H5.09L8.66,13.75C8.94,13.57 9.24,13.43 9.56,13.31C9.88,13.19 10.21,13.11 10.53,13.06L6.5,2\";\r\nexport var mdiDolphin = \"M20 7C20 7 20 3 15 3C13.47 3 12.15 3.19 11 3.5C10.5 3.06 7.26 .309 4 3.57L6.56 6.13C2.5 10.53 4 18 4 18S1 18 1 22C1 22 5 21 5 21C5 21 9 22 9 22C9 18 6 18 6 18S6.85 12.24 13 11.18V14C15 14 15.68 12.19 15.89 11H18C22 11 23 10 23 9S21 7 20 7M18 8C17.45 8 17 7.55 17 7S17.45 6 18 6 19 6.45 19 7 18.55 8 18 8Z\";\r\nexport var mdiDomain = \"M18,15H16V17H18M18,11H16V13H18M20,19H12V17H14V15H12V13H14V11H12V9H20M10,7H8V5H10M10,11H8V9H10M10,15H8V13H10M10,19H8V17H10M6,7H4V5H6M6,11H4V9H6M6,15H4V13H6M6,19H4V17H6M12,7V3H2V21H22V7H12Z\";\r\nexport var mdiDomainOff = \"M12,19H16L14,17H12V19M10,15V13H8V15H10M10,19V17H8V19H10M6,11V9H4V11H6M6,15V13H4V15H6M6,19V17H4V19H6M1.31,1.78L22.31,22.69L21,24L18,21H2V5L0.09,3.09L1.31,1.78M16,11H18V13H16V11M8,5V5.91L5.11,3H12V7H22V19.92L20,17.91V9H12V9.89L9.09,7H10V5H8Z\";\r\nexport var mdiDomainPlus = \"M12 7V3H2V21H13.35A5.8 5.8 0 0 1 13 19H12V17H13.35A5 5 0 0 1 14 15.69V15H12V13H14V11H12V9H20V13.09A5.58 5.58 0 0 1 22 13.81V7M6 19H4V17H6M6 15H4V13H6M6 11H4V9H6M6 7H4V5H6M10 19H8V17H10M10 15H8V13H10M10 11H8V9H10M10 7H8V5H10M16 13H18V11H16M16 11V13H18V11M16 11V13H18V11M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiDomainRemove = \"M12 7V3H2V21H13.35A5.8 5.8 0 0 1 13 19H12V17H13.35A5 5 0 0 1 14 15.69V15H12V13H14V11H12V9H20V13.09A5.58 5.58 0 0 1 22 13.81V7M6 19H4V17H6M6 15H4V13H6M6 11H4V9H6M6 7H4V5H6M10 19H8V17H10M10 15H8V13H10M10 11H8V9H10M10 7H8V5H10M16 13H18V11H16M16 11V13H18V11M16 11V13H18V11M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiDomainSwitch = \"M16 9H18V11H16V9M22 15V5H12V1H2V15H22M20 13H12V11H14V9H12V7H20V13M8 5V3H10V5H8M8 9V7H10V9H8M8 13V11H10V13H8M4 5V3H6V5H4M4 9V7H6V9H4M4 13V11H6V13H4M9 17V19H15V17L18 20L15 23V21H9V23L6 20L9 17Z\";\r\nexport var mdiDomeLight = \"M21 10C21 14.97 16.97 19 12 19C7.03 19 3 14.97 3 10V9.03C3 8.76 3.11 8.5 3.3 8.3C3.5 8.11 3.76 8 4.03 8H20C20.25 8 20.5 8.11 20.7 8.3C20.89 8.5 21 8.75 21 9V10M5 10C5 13.86 8.14 17 12 17C15.86 17 19 13.86 19 10H5M20 6V7H4V6C4 5.73 4.1 5.5 4.29 5.29C4.5 5.1 4.73 5 5 5H10V3H14V5H19C19.25 5 19.5 5.11 19.7 5.3C19.89 5.5 20 5.75 20 6Z\";\r\nexport var mdiDominoMask = \"M15.83 9.81C14.7 9.7 13.69 10.38 13.46 11.5C13.46 11.84 14.81 12.29 16.05 12.29C17.29 12.29 18.41 11.5 18.41 11.28C18.41 11.05 17.63 9.93 15.83 9.81M8.18 9.81C6.38 9.93 5.59 10.94 5.59 11.27C5.59 11.5 6.82 12.29 7.95 12.29S10.54 11.84 10.54 11.5C10.31 10.38 9.19 9.7 8.18 9.81M16.95 16C15.04 16 13.8 13.75 12 13.75S8.85 16 7.05 16C4.69 16 3 13.86 3 10.04C3 7.68 3.68 7 6.71 7S10.54 8.24 12 8.24 14.36 7 17.29 7 21 7.79 21 10.04C21 13.86 19.31 16 16.95 16Z\";\r\nexport var mdiDonkey = \"M21.34,10.35L21.27,10.28L21.18,10.19L18,7V6A0.5,0.5 0 0,0 17.5,5.5C17.36,5.5 17.22,5.56 17.13,5.66L13.46,9H7C6.32,9 5.69,9.35 5.32,9.92L2.62,12.59C2.29,13.04 2.39,13.66 2.84,14C3.18,14.24 3.65,14.25 4,14L5,13.07V19H8V15H13V19H16V13.83C16,13.3 16.21,12.79 16.59,12.42L18,11L20,12V12C20.15,12.08 20.32,12.13 20.5,12.13C21.1,12.11 21.59,11.61 21.58,11C21.57,10.76 21.5,10.53 21.34,10.35Z\";\r\nexport var mdiDoor = \"M8,3C6.89,3 6,3.89 6,5V21H18V5C18,3.89 17.11,3 16,3H8M8,5H16V19H8V5M13,11V13H15V11H13Z\";\r\nexport var mdiDoorClosed = \"M16,11H18V13H16V11M12,3H19C20.11,3 21,3.89 21,5V19H22V21H2V19H10V5C10,3.89 10.89,3 12,3M12,5V19H19V5H12Z\";\r\nexport var mdiDoorClosedCancel = \"M6.5 11C9 11 11 9 11 6.5C11 4 9 2 6.5 2C4 2 2 4 2 6.5C2 9 4 11 6.5 11M3.92 5L8 9.09C7.58 9.35 7.06 9.5 6.5 9.5C4.84 9.5 3.5 8.16 3.5 6.5C3.5 5.94 3.65 5.42 3.92 5M9.5 6.5C9.5 7.06 9.35 7.58 9.09 8L5 3.92C5.42 3.65 5.94 3.5 6.5 3.5C8.16 3.5 9.5 4.84 9.5 6.5M10 12C10.81 11.46 11.5 10.77 12 9.97V19H19V5H12.83C12.66 4.28 12.37 3.61 12 3H19C20.11 3 21 3.89 21 5V19H22V21H2V19H10V12M16 11H18V13H16V11Z\";\r\nexport var mdiDoorClosedLock = \"M16 11H18V13H16V11M12 3H19A2 2 0 0 1 21 5V19H22V21H2V19H10V5A2 2 0 0 1 12 3M12 5V19H19V5M6.2 5H2.8V4.5A1.7 1.7 0 0 1 6.2 4.5M7 5V4.5A2.5 2.5 0 0 0 2 4.5V5A1 1 0 0 0 1 6V10A1 1 0 0 0 2 11H7A1 1 0 0 0 8 10V6A1 1 0 0 0 7 5\";\r\nexport var mdiDoorOpen = \"M12,3C10.89,3 10,3.89 10,5H3V19H2V21H22V19H21V5C21,3.89 20.11,3 19,3H12M12,5H19V19H12V5M5,11H7V13H5V11Z\";\r\nexport var mdiDoorSliding = \"M10 13H8V11H10V13M16 11H14V13H16V11M21 19V21H3V19H4V5C4 3.9 4.9 3 6 3H18C19.1 3 20 3.9 20 5V19H21M11 5H6V19H11V5M18 5H13V19H18V5Z\";\r\nexport var mdiDoorSlidingLock = \"M21.8 17V15.5C21.8 14.1 20.4 13 19 13S16.2 14.1 16.2 15.5V17C15.6 17 15 17.6 15 18.2V21.7C15 22.4 15.6 23 16.2 23H21.7C22.4 23 23 22.4 23 21.8V18.3C23 17.6 22.4 17 21.8 17M20.5 17H17.5V15.5C17.5 14.7 18.2 14.2 19 14.2S20.5 14.7 20.5 15.5V17M13 11H15V13H13V11M9 13H7V11H9V13M13 19H12V5H17V11.44C17.61 11.17 18.29 11 19 11V5C19 3.9 18.1 3 17 3H5C3.9 3 3 3.9 3 5V19H2V21H13V19M10 19H5V5H10V19Z\";\r\nexport var mdiDoorSlidingOpen = \"M6 11V13H4V11H6M22 5H17V19H22V5M7 5H2L2 19H7V5M22 3C23.11 3 24 3.89 24 5V21H0V5C0 3.89 .894 3 2 3H9V19H15V3H22M20 11H18V13H20V11Z\";\r\nexport var mdiDoorbell = \"M12 10C10.9 10 10 10.9 10 12S10.9 14 12 14 14 13.1 14 12 13.1 10 12 10M16 2H8C6.9 2 6 2.9 6 4V20C6 21.1 6.9 22 8 22H16C17.1 22 18 21.1 18 20V4C18 2.9 17.1 2 16 2M16 20H8V4H16V20Z\";\r\nexport var mdiDoorbellVideo = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M18 4V20C18 21.1 17.11 22 16 22H8C6.9 22 6 21.11 6 20V4C6 2.9 6.9 2 8 2H16C17.11 2 18 2.9 18 4M10.5 7C10.5 7.83 11.17 8.5 12 8.5S13.5 7.83 13.5 7 12.83 5.5 12 5.5 10.5 6.17 10.5 7M16 10H8V20H16V10Z\";\r\nexport var mdiDotNet = \"M2,15A1,1 0 0,1 3,16A1,1 0 0,1 2,17A1,1 0 0,1 1,16A1,1 0 0,1 2,15M21,17H19V9H17V7H23V9H21V17M16,7V9H14V11H16V13H14V15H16V17H12V7H16M11,7V17H9L6,11V17H4V7H6L9,13V7H11Z\";\r\nexport var mdiDotsCircle = \"M12 19C13.1 19 14 19.9 14 21S13.1 23 12 23 10 22.1 10 21 10.9 19 12 19M12 1C13.1 1 14 1.9 14 3S13.1 5 12 5 10 4.1 10 3 10.9 1 12 1M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M3 10C4.1 10 5 10.9 5 12S4.1 14 3 14 1 13.1 1 12 1.9 10 3 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M21 10C22.1 10 23 10.9 23 12S22.1 14 21 14 19 13.1 19 12 19.9 10 21 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\r\nexport var mdiDotsGrid = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M6 10C7.1 10 8 10.9 8 12S7.1 14 6 14 4 13.1 4 12 4.9 10 6 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M18 10C19.1 10 20 10.9 20 12S19.1 14 18 14 16 13.1 16 12 16.9 10 18 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\r\nexport var mdiDotsHexagon = \"M16 12C16 10.9 16.9 10 18 10S20 10.9 20 12 19.1 14 18 14 16 13.1 16 12M10 12C10 10.9 10.9 10 12 10S14 10.9 14 12 13.1 14 12 14 10 13.1 10 12M4 12C4 10.9 4.9 10 6 10S8 10.9 8 12 7.1 14 6 14 4 13.1 4 12M13 18C13 16.9 13.9 16 15 16S17 16.9 17 18 16.1 20 15 20 13 19.1 13 18M7 18C7 16.9 7.9 16 9 16S11 16.9 11 18 10.1 20 9 20 7 19.1 7 18M13 6C13 4.9 13.9 4 15 4S17 4.9 17 6 16.1 8 15 8 13 7.1 13 6M7 6C7 4.9 7.9 4 9 4S11 4.9 11 6 10.1 8 9 8 7 7.1 7 6\";\r\nexport var mdiDotsHorizontal = \"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z\";\r\nexport var mdiDotsHorizontalCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5M6.5,10.5A1.5,1.5 0 0,0 5,12A1.5,1.5 0 0,0 6.5,13.5A1.5,1.5 0 0,0 8,12A1.5,1.5 0 0,0 6.5,10.5M17.5,10.5A1.5,1.5 0 0,0 16,12A1.5,1.5 0 0,0 17.5,13.5A1.5,1.5 0 0,0 19,12A1.5,1.5 0 0,0 17.5,10.5Z\";\r\nexport var mdiDotsHorizontalCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 12,10.5M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5A1.5,1.5 0 0,1 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5Z\";\r\nexport var mdiDotsSquare = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M6 10C7.1 10 8 10.9 8 12S7.1 14 6 14 4 13.1 4 12 4.9 10 6 10M6 4C7.1 4 8 4.9 8 6S7.1 8 6 8 4 7.1 4 6 4.9 4 6 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16M18 10C19.1 10 20 10.9 20 12S19.1 14 18 14 16 13.1 16 12 16.9 10 18 10M18 4C19.1 4 20 4.9 20 6S19.1 8 18 8 16 7.1 16 6 16.9 4 18 4Z\";\r\nexport var mdiDotsTriangle = \"M12 16C13.1 16 14 16.9 14 18S13.1 20 12 20 10 19.1 10 18 10.9 16 12 16M15 10C16.1 10 17 10.9 17 12S16.1 14 15 14 13 13.1 13 12 13.9 10 15 10M6 16C7.1 16 8 16.9 8 18S7.1 20 6 20 4 19.1 4 18 4.9 16 6 16M9 10C10.1 10 11 10.9 11 12S10.1 14 9 14 7 13.1 7 12 7.9 10 9 10M12 4C13.1 4 14 4.9 14 6S13.1 8 12 8 10 7.1 10 6 10.9 4 12 4M18 16C19.1 16 20 16.9 20 18S19.1 20 18 20 16 19.1 16 18 16.9 16 18 16\";\r\nexport var mdiDotsVertical = \"M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8A2,2 0 0,1 10,6A2,2 0 0,1 12,4Z\";\r\nexport var mdiDotsVerticalCircle = \"M2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12M10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5A1.5,1.5 0 0,0 10.5,12M10.5,17.5A1.5,1.5 0 0,0 12,19A1.5,1.5 0 0,0 13.5,17.5A1.5,1.5 0 0,0 12,16A1.5,1.5 0 0,0 10.5,17.5M10.5,6.5A1.5,1.5 0 0,0 12,8A1.5,1.5 0 0,0 13.5,6.5A1.5,1.5 0 0,0 12,5A1.5,1.5 0 0,0 10.5,6.5Z\";\r\nexport var mdiDotsVerticalCircleOutline = \"M10.5,12A1.5,1.5 0 0,1 12,10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,12M10.5,16.5A1.5,1.5 0 0,1 12,15A1.5,1.5 0 0,1 13.5,16.5A1.5,1.5 0 0,1 12,18A1.5,1.5 0 0,1 10.5,16.5M10.5,7.5A1.5,1.5 0 0,1 12,6A1.5,1.5 0 0,1 13.5,7.5A1.5,1.5 0 0,1 12,9A1.5,1.5 0 0,1 10.5,7.5M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiDownload = \"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\";\r\nexport var mdiDownloadBox = \"M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M8 17H16V15H8V17M16 10H13.5V7H10.5V10H8L12 14L16 10Z\";\r\nexport var mdiDownloadBoxOutline = \"M8 17V15H16V17H8M16 10L12 14L8 10H10.5V7H13.5V10H16M5 3H19C20.11 3 21 3.9 21 5V19C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3M5 5V19H19V5H5Z\";\r\nexport var mdiDownloadCircle = \"M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M8 17H16V15H8V17M16 10H13.5V6H10.5V10H8L12 14L16 10Z\";\r\nexport var mdiDownloadCircleOutline = \"M8 17V15H16V17H8M16 10L12 14L8 10H10.5V6H13.5V10H16M12 2C17.5 2 22 6.5 22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z\";\r\nexport var mdiDownloadLock = \"M5 20H14V18H5M19 9H15V3H9V9H5L12 16M22 16A1.08 1.08 0 0 1 23 17V21A1.08 1.08 0 0 1 22 22H17A1.08 1.08 0 0 1 16 21V17A1.08 1.08 0 0 1 17 16V14.5A2.5 2.5 0 0 1 22 14.5V16M21 16V14.5A1.5 1.5 0 0 0 18 14.5V16H21\";\r\nexport var mdiDownloadLockOutline = \"M22 16A1.08 1.08 0 0 1 23 17V21A1.08 1.08 0 0 1 22 22H17A1.08 1.08 0 0 1 16 21V17A1.08 1.08 0 0 1 17 16V14.5A2.5 2.5 0 0 1 22 14.5V16M21 16V14.5A1.5 1.5 0 0 0 18 14.5V16H21M13 5V11H14.17L12 13.17L9.83 11H11V5H13M15 3H9V9H5L12 16L19 9H15V3M14 18H5V20H14Z\";\r\nexport var mdiDownloadMultiple = \"M9,1V7H5L12,14L19,7H15V1H9M5,16V18H19V16H5M5,20V22H19V20H5Z\";\r\nexport var mdiDownloadNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12,14.5L16.5,10H13V6H11V10H7.5L12,14.5Z\";\r\nexport var mdiDownloadNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M12,14L16,10H13V6H11V10H8L12,14Z\";\r\nexport var mdiDownloadOff = \"M20.84 22.73L18.11 20H5V18H16.11L13.06 14.95L12 16L5 9H7.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 9H15V3H9V5.8L15.6 12.4L19 9Z\";\r\nexport var mdiDownloadOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7.11 9H5L12 16L13.06 14.95L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M11 5H13V9.8L15.6 12.4L19 9H15V3H9V5.8L11 7.8V5Z\";\r\nexport var mdiDownloadOutline = \"M13,5V11H14.17L12,13.17L9.83,11H11V5H13M15,3H9V9H5L12,16L19,9H15V3M19,18H5V20H19V18Z\";\r\nexport var mdiDrag = \"M7,19V17H9V19H7M11,19V17H13V19H11M15,19V17H17V19H15M7,15V13H9V15H7M11,15V13H13V15H11M15,15V13H17V15H15M7,11V9H9V11H7M11,11V9H13V11H11M15,11V9H17V11H15M7,7V5H9V7H7M11,7V5H13V7H11M15,7V5H17V7H15Z\";\r\nexport var mdiDragHorizontal = \"M3,15V13H5V15H3M3,11V9H5V11H3M7,15V13H9V15H7M7,11V9H9V11H7M11,15V13H13V15H11M11,11V9H13V11H11M15,15V13H17V15H15M15,11V9H17V11H15M19,15V13H21V15H19M19,11V9H21V11H19Z\";\r\nexport var mdiDragHorizontalVariant = \"M21 11H3V9H21V11M21 13H3V15H21V13Z\";\r\nexport var mdiDragVariant = \"M22.67,12L18.18,16.5L15.67,14L17.65,12L15.67,10.04L18.18,7.53L22.67,12M12,1.33L16.47,5.82L13.96,8.33L12,6.35L10,8.33L7.5,5.82L12,1.33M12,22.67L7.53,18.18L10.04,15.67L12,17.65L14,15.67L16.5,18.18L12,22.67M1.33,12L5.82,7.5L8.33,10L6.35,12L8.33,13.96L5.82,16.47L1.33,12M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10Z\";\r\nexport var mdiDragVertical = \"M9,3H11V5H9V3M13,3H15V5H13V3M9,7H11V9H9V7M13,7H15V9H13V7M9,11H11V13H9V11M13,11H15V13H13V11M9,15H11V17H9V15M13,15H15V17H13V15M9,19H11V21H9V19M13,19H15V21H13V19Z\";\r\nexport var mdiDragVerticalVariant = \"M11 21H9V3H11V21M15 3H13V21H15V3Z\";\r\nexport var mdiDramaMasks = \"M8.11,19.45C5.94,18.65 4.22,16.78 3.71,14.35L2.05,6.54C1.81,5.46 2.5,4.4 3.58,4.17L13.35,2.1L13.38,2.09C14.45,1.88 15.5,2.57 15.72,3.63L16.07,5.3L20.42,6.23H20.45C21.5,6.47 22.18,7.53 21.96,8.59L20.3,16.41C19.5,20.18 15.78,22.6 12,21.79C10.42,21.46 9.08,20.61 8.11,19.45V19.45M20,8.18L10.23,6.1L8.57,13.92V13.95C8,16.63 9.73,19.27 12.42,19.84C15.11,20.41 17.77,18.69 18.34,16L20,8.18M16,16.5C15.37,17.57 14.11,18.16 12.83,17.89C11.56,17.62 10.65,16.57 10.5,15.34L16,16.5M8.47,5.17L4,6.13L5.66,13.94L5.67,13.97C5.82,14.68 6.12,15.32 6.53,15.87C6.43,15.1 6.45,14.3 6.62,13.5L7.05,11.5C6.6,11.42 6.21,11.17 6,10.81C6.06,10.2 6.56,9.66 7.25,9.5C7.33,9.5 7.4,9.5 7.5,9.5L8.28,5.69C8.32,5.5 8.38,5.33 8.47,5.17M15.03,12.23C15.35,11.7 16.03,11.42 16.72,11.57C17.41,11.71 17.91,12.24 18,12.86C17.67,13.38 17,13.66 16.3,13.5C15.61,13.37 15.11,12.84 15.03,12.23M10.15,11.19C10.47,10.66 11.14,10.38 11.83,10.53C12.5,10.67 13.03,11.21 13.11,11.82C12.78,12.34 12.11,12.63 11.42,12.5C10.73,12.33 10.23,11.8 10.15,11.19M11.97,4.43L13.93,4.85L13.77,4.05L11.97,4.43Z\";\r\nexport var mdiDraw = \"M9.75 20.85C11.53 20.15 11.14 18.22 10.24 17C9.35 15.75 8.12 14.89 6.88 14.06C6 13.5 5.19 12.8 4.54 12C4.26 11.67 3.69 11.06 4.27 10.94C4.86 10.82 5.88 11.4 6.4 11.62C7.31 12 8.21 12.44 9.05 12.96L10.06 11.26C8.5 10.23 6.5 9.32 4.64 9.05C3.58 8.89 2.46 9.11 2.1 10.26C1.78 11.25 2.29 12.25 2.87 13.03C4.24 14.86 6.37 15.74 7.96 17.32C8.3 17.65 8.71 18.04 8.91 18.5C9.12 18.94 9.07 18.97 8.6 18.97C7.36 18.97 5.81 18 4.8 17.36L3.79 19.06C5.32 20 7.88 21.47 9.75 20.85M20.84 5.25C21.06 5.03 21.06 4.67 20.84 4.46L19.54 3.16C19.33 2.95 18.97 2.95 18.76 3.16L17.74 4.18L19.82 6.26M11 10.92V13H13.08L19.23 6.85L17.15 4.77L11 10.92Z\";\r\nexport var mdiDrawPen = \"M9.75 20.85C11.53 20.15 11.14 18.22 10.24 17C9.35 15.75 8.12 14.89 6.88 14.06C6 13.5 5.19 12.8 4.54 12C4.26 11.67 3.69 11.06 4.27 10.94C4.86 10.82 5.88 11.4 6.4 11.62C7.31 12 8.21 12.44 9.05 12.96L10.06 11.26C8.5 10.23 6.5 9.32 4.64 9.05C3.58 8.89 2.46 9.11 2.1 10.26C1.78 11.25 2.29 12.25 2.87 13.03C4.24 14.86 6.37 15.74 7.96 17.32C8.3 17.65 8.71 18.04 8.91 18.5C9.12 18.94 9.07 18.97 8.6 18.97C7.36 18.97 5.81 18 4.8 17.36L3.79 19.06C5.32 20 7.88 21.47 9.75 20.85M18.96 7.33L13.29 13H11V10.71L16.67 5.03L18.96 7.33M22.36 6.55C22.35 6.85 22.04 7.16 21.72 7.47L19.2 10L18.33 9.13L20.93 6.54L20.34 5.95L19.67 6.62L17.38 4.33L19.53 2.18C19.77 1.94 20.16 1.94 20.39 2.18L21.82 3.61C22.06 3.83 22.06 4.23 21.82 4.47C21.61 4.68 21.41 4.88 21.41 5.08C21.39 5.28 21.59 5.5 21.79 5.67C22.08 5.97 22.37 6.25 22.36 6.55Z\";\r\nexport var mdiDrawing = \"M8.5,3A5.5,5.5 0 0,1 14,8.5C14,9.83 13.53,11.05 12.74,12H21V21H12V12.74C11.05,13.53 9.83,14 8.5,14A5.5,5.5 0 0,1 3,8.5A5.5,5.5 0 0,1 8.5,3Z\";\r\nexport var mdiDrawingBox = \"M18,18H12V12.21C11.34,12.82 10.47,13.2 9.5,13.2C7.46,13.2 5.8,11.54 5.8,9.5A3.7,3.7 0 0,1 9.5,5.8C11.54,5.8 13.2,7.46 13.2,9.5C13.2,10.47 12.82,11.34 12.21,12H18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiDresser = \"M4 3C2.9 3 2 3.9 2 5V8H22V5C22 3.9 21.11 3 20 3H4M10 5H14V6H10V5M2 9V14H22V9H2M10 11H14V12H10V11M2 15V18C2 19.11 2.9 20 4 20V21H6V20H18V21H20V20C21.11 20 22 19.11 22 18V15H2M10 17H14V18H10V17Z\";\r\nexport var mdiDresserOutline = \"M4 3C2.9 3 2 3.9 2 5V18C2 19.11 2.9 20 4 20V21H6V20H18V21H20V20C21.11 20 22 19.11 22 18V5C22 3.9 21.11 3 20 3H4M4 5H20V8H4V5M10 6V7H14V6H10M4 10H20V13H4V10M10 11V12H14V11H10M4 15H20V18H4V15M10 16V17H14V16H10Z\";\r\nexport var mdiDrone = \"M22,11H21L20,9H13.75L16,12.5H14L10.75,9H4C3.45,9 2,8.55 2,8C2,7.45 3.5,5.5 5.5,5.5C7.5,5.5 7.67,6.5 9,7H21A1,1 0 0,1 22,8V9L22,11M10.75,6.5L14,3H16L13.75,6.5H10.75M18,11V9.5H19.75L19,11H18M3,19A1,1 0 0,1 2,18A1,1 0 0,1 3,17A4,4 0 0,1 7,21A1,1 0 0,1 6,22A1,1 0 0,1 5,21A2,2 0 0,0 3,19M11,21A1,1 0 0,1 10,22A1,1 0 0,1 9,21A6,6 0 0,0 3,15A1,1 0 0,1 2,14A1,1 0 0,1 3,13A8,8 0 0,1 11,21Z\";\r\nexport var mdiDropbox = \"M3 6.2L8 9.39L13 6.2L8 3L3 6.2M13 6.2L18 9.39L23 6.2L18 3L13 6.2M3 12.55L8 15.74L13 12.55L8 9.35L3 12.55M18 9.35L13 12.55L18 15.74L23 12.55L18 9.35M8.03 16.8L13.04 20L18.04 16.8L13.04 13.61L8.03 16.8Z\";\r\nexport var mdiDrupal = \"M20.47,14.65C20.47,15.29 20.25,16.36 19.83,17.1C19.4,17.85 19.08,18.06 18.44,18.06C17.7,17.95 16.31,15.82 15.36,15.72C14.18,15.72 11.73,18.17 9.71,18.17C8.54,18.17 8.11,17.95 7.79,17.74C7.15,17.31 6.94,16.67 6.94,15.82C6.94,14.22 8.43,12.84 10.24,12.84C12.59,12.84 14.18,15.18 15.36,15.08C16.31,15.08 18.23,13.16 19.19,13.16C20.15,12.95 20.47,14 20.47,14.65M16.63,5.28C15.57,4.64 14.61,4.32 13.54,3.68C12.91,3.25 12.05,2.3 11.31,1.44C11,2.83 10.78,3.36 10.24,3.79C9.18,4.53 8.64,4.85 7.69,5.28C6.94,5.7 3,8.05 3,13.16C3,18.27 7.37,22 12.05,22C16.85,22 21,18.5 21,13.27C21.21,8.05 17.27,5.7 16.63,5.28Z\";\r\nexport var mdiDuck = \"M8.5,5A1.5,1.5 0 0,0 7,6.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 10,6.5A1.5,1.5 0 0,0 8.5,5M10,2A5,5 0 0,1 15,7C15,8.7 14.15,10.2 12.86,11.1C14.44,11.25 16.22,11.61 18,12.5C21,14 22,12 22,12C22,12 21,21 15,21H9C9,21 4,21 4,16C4,13 7,12 6,10C2,10 2,6.5 2,6.5C3,7 4.24,7 5,6.65C5.19,4.05 7.36,2 10,2Z\";\r\nexport var mdiDumbbell = \"M20.57,14.86L22,13.43L20.57,12L17,15.57L8.43,7L12,3.43L10.57,2L9.14,3.43L7.71,2L5.57,4.14L4.14,2.71L2.71,4.14L4.14,5.57L2,7.71L3.43,9.14L2,10.57L3.43,12L7,8.43L15.57,17L12,20.57L13.43,22L14.86,20.57L16.29,22L18.43,19.86L19.86,21.29L21.29,19.86L19.86,18.43L22,16.29L20.57,14.86Z\";\r\nexport var mdiDumpTruck = \"M20,8H19L17,8H15V14H2V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5M17,12V9.5H19.5L21.46,12H17M18,7H14V13H3L1.57,8H1V6H13L14,5H18V7Z\";\r\nexport var mdiEarHearing = \"M17,20C16.71,20 16.44,19.94 16.24,19.85C15.53,19.5 15.03,18.97 14.53,17.47C14,15.91 13.06,15.18 12.14,14.47C11.35,13.86 10.53,13.23 9.82,11.94C9.29,11 9,9.93 9,9C9,6.2 11.2,4 14,4C16.8,4 19,6.2 19,9H21C21,5.07 17.93,2 14,2C10.07,2 7,5.07 7,9C7,10.26 7.38,11.65 8.07,12.9C9,14.55 10.05,15.38 10.92,16.05C11.73,16.67 12.31,17.12 12.63,18.1C13.23,19.92 14,20.94 15.36,21.65C15.87,21.88 16.43,22 17,22A4,4 0 0,0 21,18H19A2,2 0 0,1 17,20M7.64,2.64L6.22,1.22C4.23,3.21 3,5.96 3,9C3,12.04 4.23,14.79 6.22,16.78L7.63,15.37C6,13.74 5,11.5 5,9C5,6.5 6,4.26 7.64,2.64M11.5,9A2.5,2.5 0 0,0 14,11.5A2.5,2.5 0 0,0 16.5,9A2.5,2.5 0 0,0 14,6.5A2.5,2.5 0 0,0 11.5,9Z\";\r\nexport var mdiEarHearingLoop = \"M12 6.5C10.62 6.5 9.5 7.62 9.5 9S10.62 11.5 12 11.5 14.5 10.38 14.5 9 13.38 6.5 12 6.5M16 17V19H18V23H20V19H22V17H16M11.69 13.47L3.67 22L2.4 20.73L9.75 12.87C10.33 13.21 11 13.42 11.69 13.47M19 9C19 10.26 18.62 11.65 17.93 12.9C17 14.55 15.95 15.38 15.08 16.05C14.27 16.67 13.69 17.12 13.37 18.1C12.77 19.92 12 20.94 10.64 21.65C10.13 21.88 9.57 22 9 22C7.81 22 6.75 21.47 6 20.65L7.43 19.22C7.79 19.69 8.36 20 9 20C9.29 20 9.56 19.94 9.76 19.85C10.47 19.5 10.97 18.97 11.47 17.47C12 15.91 12.94 15.18 13.86 14.47C14.65 13.86 15.47 13.23 16.18 11.94C16.71 11 17 9.93 17 9C17 6.2 14.8 4 12 4S7 6.2 7 9H5C5 5.07 8.07 2 12 2S19 5.07 19 9M18.37 4.12L20.72 1.73L22 3L19.32 5.72C19.06 5.15 18.74 4.61 18.37 4.12Z\";\r\nexport var mdiEarHearingOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L12.91,16.18C12.19,16.74 11.67,17.19 11.37,18.1C10.77,19.92 10,20.94 8.64,21.65C8.13,21.88 7.57,22 7,22A4,4 0 0,1 3,18H5A2,2 0 0,0 7,20C7.29,20 7.56,19.94 7.76,19.85C8.47,19.5 8.97,18.97 9.47,17.47C9.91,16.12 10.69,15.39 11.5,14.76L5.04,8.31C5,8.54 5,8.77 5,9H3C3,8.17 3.14,7.39 3.39,6.66L1,4.27M14.18,11.94C14.71,11 15,9.93 15,9C15,6.2 12.8,4 10,4C8.81,4 7.74,4.39 6.89,5.06L5.46,3.63C6.67,2.61 8.25,2 10,2C13.93,2 17,5.07 17,9C17,10.26 16.62,11.65 15.93,12.9L15.47,13.65L14.03,12.2L14.18,11.94M16.36,2.64L17.78,1.22C19.77,3.21 21,5.96 21,9C21,11.83 19.93,14.41 18.18,16.36L16.77,14.94C18.15,13.36 19,11.28 19,9C19,6.5 18,4.26 16.36,2.64M12.5,9C12.5,9.5 12.36,9.93 12.13,10.31L8.69,6.87C9.07,6.64 9.5,6.5 10,6.5A2.5,2.5 0 0,1 12.5,9Z\";\r\nexport var mdiEarbuds = \"M10 8V20C10 20.55 9.55 21 9 21H8C7.45 21 7 20.55 7 20V13.27C6.32 13.72 5.61 14 5 14C3 14 2 12 2 11V6C2 5 3 3 5 3S10 6 10 8M16.5 3C13.46 3 11 5.46 11 8.5S13.46 14 16.5 14 22 11.54 22 8.5 19.54 3 16.5 3M14.5 14.68V20C14.5 20.55 14.95 21 15.5 21H17.5C18.05 21 18.5 20.55 18.5 20V14.68C17.87 14.89 17.2 15 16.5 15S15.13 14.89 14.5 14.68Z\";\r\nexport var mdiEarbudsOff = \"M10 9.34V9.34L11.56 10.91L11.56 10.9L14.1 13.45L14.09 13.44L15.58 14.93L15.59 14.93L18.5 17.84V17.85L22.11 21.46L20.84 22.73L18.43 20.33C18.3 20.72 17.94 21 17.5 21H15.5C14.95 21 14.5 20.55 14.5 20V16.39L10 11.89V20C10 20.55 9.55 21 9 21H8C7.45 21 7 20.55 7 20V13.27C6.32 13.72 5.61 14 5 14C3 14 2 12 2 11V6C2 5.58 2.19 5 2.55 4.43L1.11 3L2.39 1.73L6.1 5.44M22 8.5C22 5.46 19.54 3 16.5 3C13.69 3 11.37 5.12 11.04 7.84L17.16 13.96C19.89 13.63 22 11.32 22 8.5Z\";\r\nexport var mdiEarbudsOffOutline = \"M22.11 21.46L18.5 17.85V17.84L15.58 14.93L15.58 14.93L14.09 13.44L14.1 13.44L11.56 10.9L11.56 10.9L10 9.34V9.34L7 6.34L7 6.34L6.66 6L6.67 6L6.1 5.44L2.39 1.73L1.11 3L2.55 4.43C2.19 5 2 5.58 2 6V11C2 12 3 14 5 14C5.61 14 6.32 13.72 7 13.27V20C7 20.55 7.45 21 8 21H9C9.55 21 10 20.55 10 20V11.89L14.5 16.39V20C14.5 20.55 14.95 21 15.5 21H17.5C17.94 21 18.3 20.72 18.43 20.32L20.84 22.73L22.11 21.46M8 10.23L5.91 11.6C5.4 11.93 5.08 12 5 12C4.3 12 4 11.08 4 11L4 6.03C4 6 4 5.97 4.03 5.92L8 9.89V10.23M13.53 10.33L11.04 7.84C11.37 5.12 13.69 3 16.5 3C19.54 3 22 5.46 22 8.5C22 11.32 19.89 13.63 17.16 13.96L14.67 11.47C15.2 11.8 15.83 12 16.5 12C18.43 12 20 10.43 20 8.5S18.43 5 16.5 5 13 6.57 13 8.5C13 9.17 13.2 9.8 13.53 10.33Z\";\r\nexport var mdiEarbudsOutline = \"M5 3C3 3 2 5 2 6V11C2 12 3 14 5 14C5.61 14 6.32 13.72 7 13.27V20C7 20.55 7.45 21 8 21H9C9.55 21 10 20.55 10 20V8C10 6 7 3 5 3M8 10.23L5.91 11.6C5.4 11.93 5.08 12 5 12C4.3 12 4 11.08 4 11L4 6.03C4 5.92 4.3 5 5 5C5.9 5 8 7.1 8 8V10.23M16.5 15C17.2 15 17.87 14.89 18.5 14.68V20C18.5 20.55 18.05 21 17.5 21H15.5C14.95 21 14.5 20.55 14.5 20V14.68C15.13 14.89 15.8 15 16.5 15M16.5 3C13.46 3 11 5.46 11 8.5S13.46 14 16.5 14 22 11.54 22 8.5 19.54 3 16.5 3M16.5 12C14.57 12 13 10.43 13 8.5S14.57 5 16.5 5 20 6.57 20 8.5 18.43 12 16.5 12Z\";\r\nexport var mdiEarth = \"M17.9,17.39C17.64,16.59 16.89,16 16,16H15V13A1,1 0 0,0 14,12H8V10H10A1,1 0 0,0 11,9V7H13A2,2 0 0,0 15,5V4.59C17.93,5.77 20,8.64 20,12C20,14.08 19.2,15.97 17.9,17.39M11,19.93C7.05,19.44 4,16.08 4,12C4,11.38 4.08,10.78 4.21,10.21L9,15V16A2,2 0 0,0 11,18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiEarthArrowDown = \"M15 19H17V15H19V19H21L18 22L15 19M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\r\nexport var mdiEarthArrowLeft = \"M17 15V17H21V19H17V21L14 18L17 15M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\r\nexport var mdiEarthArrowRight = \"M19 21V19H15V17H19V15L22 18L19 21M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\r\nexport var mdiEarthArrowUp = \"M21 17H19V21H17V17H15L18 14L21 17M12 18C12 15.8 13.2 13.9 15 12.8C14.9 12.3 14.5 12 14 12H8V10H10C10.6 10 11 9.6 11 9V7H13C14.1 7 15 6.1 15 5V4.6C17.9 5.8 20 8.6 20 12V12.3C20.7 12.5 21.3 12.9 21.9 13.4C22 13 22 12.5 22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22C12.5 22 13 22 13.4 21.9C12.5 20.8 12 19.5 12 18M11 19.9C7 19.4 4 16.1 4 12C4 11.4 4.1 10.8 4.2 10.2L9 15V16C9 17.1 9.9 18 11 18V19.9Z\";\r\nexport var mdiEarthBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M15.78,5H19V17.18C18.74,16.38 17.69,15.79 16.8,15.79H15.8V12.79A1,1 0 0,0 14.8,11.79H8.8V9.79H10.8A1,1 0 0,0 11.8,8.79V6.79H13.8C14.83,6.79 15.67,6 15.78,5M5,10.29L9.8,14.79V15.79C9.8,16.9 10.7,17.79 11.8,17.79V19H5V10.29Z\";\r\nexport var mdiEarthBoxMinus = \"M22 17V19H14V17H22M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\r\nexport var mdiEarthBoxOff = \"M23,4.27L21,6.27V19A2,2 0 0,1 19,21H6.27L4.27,23L3,21.72L21.72,3L23,4.27M5,3H19.18L17.18,5H15.78C15.67,6 14.83,6.79 13.8,6.79H11.8V8.79C11.8,9.35 11.35,9.79 10.8,9.79H8.8V11.79H10.38L8.55,13.62L5,10.29V17.18L3,19.18V5C3,3.89 3.89,3 5,3M11.8,19V17.79C11.17,17.79 10.6,17.5 10.23,17.04L8.27,19H11.8M15.8,12.79V15.79H16.8C17.69,15.79 18.74,16.38 19,17.18V8.27L15.33,11.94C15.61,12.12 15.8,12.43 15.8,12.79Z\";\r\nexport var mdiEarthBoxPlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\r\nexport var mdiEarthBoxRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M5 3H19C20.1 3 21 3.89 21 5V12.8C20.39 12.45 19.72 12.2 19 12.08V5H15.78C15.67 6 14.83 6.79 13.8 6.79H11.8V8.79C11.8 9.35 11.35 9.79 10.8 9.79H8.8V11.79H14.8C15.23 11.79 15.6 12.06 15.74 12.44C13.6 13.31 12.07 15.39 12 17.83C10.7 17.79 9.8 16.9 9.8 15.79V14.79L5 10.29V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C3.9 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3Z\";\r\nexport var mdiEarthMinus = \"M14 17H22V19H14V17M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\r\nexport var mdiEarthOff = \"M22,5.27L20.5,6.75C21.46,8.28 22,10.07 22,12A10,10 0 0,1 12,22C10.08,22 8.28,21.46 6.75,20.5L5.27,22L4,20.72L20.72,4L22,5.27M17.9,17.39C19.2,15.97 20,14.08 20,12C20,10.63 19.66,9.34 19.05,8.22L14.83,12.44C14.94,12.6 15,12.79 15,13V16H16C16.89,16 17.64,16.59 17.9,17.39M11,19.93V18C10.5,18 10.07,17.83 9.73,17.54L8.22,19.05C9.07,19.5 10,19.8 11,19.93M15,4.59V5A2,2 0 0,1 13,7H11V9A1,1 0 0,1 10,10H8V12H10.18L8.09,14.09L4.21,10.21C4.08,10.78 4,11.38 4,12C4,13.74 4.56,15.36 5.5,16.67L4.08,18.1C2.77,16.41 2,14.3 2,12A10,10 0 0,1 12,2C14.3,2 16.41,2.77 18.1,4.08L16.67,5.5C16.16,5.14 15.6,4.83 15,4.59Z\";\r\nexport var mdiEarthPlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\r\nexport var mdiEarthRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M20 12C20 8.64 17.93 5.77 15 4.59V5C15 6.1 14.1 7 13 7H11V9C11 9.55 10.55 10 10 10H8V12H14C14.5 12 14.9 12.35 15 12.81C13.2 13.85 12 15.79 12 18C12 19.5 12.54 20.85 13.44 21.9L12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12L21.9 13.44C21.34 12.96 20.7 12.59 20 12.34L20 12M11 19.93V18C9.9 18 9 17.1 9 16V15L4.21 10.21C4.08 10.78 4 11.38 4 12C4 16.08 7.06 19.44 11 19.93Z\";\r\nexport var mdiEgg = \"M19.5,14.5A7.5,7.5 0 0,1 12,22A7.5,7.5 0 0,1 4.5,14.5C4.5,10.36 7.86,2 12,2C16.14,2 19.5,10.36 19.5,14.5Z\";\r\nexport var mdiEggEaster = \"M6.89,6.36C8.23,3.91 10,2 12,2C14,2 15.77,3.91 17.11,6.36C16.26,6.57 15.5,7.07 15,7.77C13.79,6.11 11.46,5.75 9.8,6.97C9.5,7.19 9.22,7.46 9,7.77C8.5,7.07 7.74,6.57 6.89,6.36M15,18.06L12,15.06L9,18.06L6,15.06L4.73,16.33C5.75,20.35 9.83,22.77 13.84,21.76C16.5,21.08 18.59,19 19.27,16.33L18,15.06L15,18.06M9,15.94L12,12.94L15,15.94L18,12.94L19.5,14.44C19.37,12.13 18.8,9.86 17.81,7.76C16.65,7.86 15.75,8.83 15.75,10H14.25A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10H8.25C8.25,8.83 7.35,7.86 6.19,7.76C5.2,9.86 4.63,12.13 4.5,14.44L6,12.94L9,15.94Z\";\r\nexport var mdiEggFried = \"M12 4.5C14.17 4.5 14.58 5.07 15.5 6.32C15.88 6.85 16.32 7.44 16.94 8.06C17.43 8.55 17.86 8.93 18.21 9.24C19.3 10.19 19.5 10.36 19.5 12C19.5 14.93 19.5 15.38 17.94 16.94C16 18.86 15.38 19.5 13 19.5C11.88 19.5 11.5 19.18 10.89 18.69C10.27 18.19 9.43 17.5 8 17.5C4.96 17.5 4.5 14.05 4.5 12C4.5 10.65 5 8.91 6.47 8.42C8.25 7.83 9.2 6.71 9.96 5.81C10.75 4.88 11.11 4.5 12 4.5M12 3C9 3 9 6 6 7C3.88 7.71 3 10 3 12C3 15 4 19 8 19C10 19 10 21 13 21S17 20 19 18 21 15 21 12 20 9 18 7 16 3 12 3M12 8C9.79 8 8 9.79 8 12S9.79 16 12 16 16 14.21 16 12 14.21 8 12 8M12 10C10.9 10 10 10.9 10 12H9C9 10.35 10.35 9 12 9V10Z\";\r\nexport var mdiEggOff = \"M22.1 21.5L2.4 1.7L1.1 3L6.1 8C5.1 10.3 4.5 12.8 4.5 14.5C4.5 18.6 7.9 22 12 22C14.2 22 16.2 21 17.6 19.5L20.8 22.7L22.1 21.5M19.5 14.5C19.5 10.4 16.1 2 12 2C10.5 2 9.1 3.1 7.9 4.7L19.3 16.1C19.4 15.6 19.5 15.1 19.5 14.5Z\";\r\nexport var mdiEggOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.1 8C5.1 10.28 4.5 12.76 4.5 14.5C4.5 18.64 7.86 22 12 22C14.23 22 16.22 21 17.59 19.5L20.84 22.73L22.11 21.46M12 20C8.97 20 6.5 17.53 6.5 14.5C6.5 13.08 6.95 11.25 7.63 9.5L16.17 18.06C15.16 19.24 13.67 20 12 20M9.36 6.16L7.92 4.72C9.1 3.11 10.5 2 12 2C16.14 2 19.5 10.36 19.5 14.5C19.5 15.06 19.43 15.6 19.32 16.12L17.5 14.29C17.38 10.46 14.28 4 12 4C11.17 4 10.22 4.87 9.36 6.16Z\";\r\nexport var mdiEggOutline = \"M12 4C14.32 4 17.5 10.7 17.5 14.5C17.5 17.53 15.03 20 12 20S6.5 17.53 6.5 14.5C6.5 10.7 9.68 4 12 4M12 2C7.86 2 4.5 10.36 4.5 14.5C4.5 18.64 7.86 22 12 22S19.5 18.64 19.5 14.5C19.5 10.36 16.14 2 12 2Z\";\r\nexport var mdiEiffelTower = \"M8.21 17C8.65 16.15 9.06 15.16 9.44 14H9V12H10C10.61 9.4 11 6.13 11 2H13C13 6.13 13.4 9.4 14 12H15V14H14.56C14.94 15.16 15.35 16.15 15.79 17H17L17 19L19 22H16.58C15.81 20.24 14.05 19 12 19C9.95 19 8.19 20.24 7.42 22H5L7 19L6.97 17H8.21M12.59 14H11.41C11.07 15.13 10.69 16.13 10.28 17H13.72C13.32 16.13 12.93 15.13 12.59 14Z\";\r\nexport var mdiEightTrack = \"M7,2L5,5V16L6,20C6.27,21.07 6.9,22 8,22H16A2,2 0 0,0 18,20L19,16V5L17,2H15V3H13V2H7M7,6H17V16H7V6Z\";\r\nexport var mdiEject = \"M12,5L5.33,15H18.67M5,17H19V19H5V17Z\";\r\nexport var mdiEjectCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M16.5 16H7.5V14H16.5V16M7.5 12L12 6L16.5 12H7.5Z\";\r\nexport var mdiEjectCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M16.5 12L12 6L7.5 12H16.5M16.5 16H7.5V14H16.5V16Z\";\r\nexport var mdiEjectOutline = \"M5,17H19V19H5V17M12,5L5.33,15H18.67L12,5M12,8.6L14.93,13H9.07L12,8.6Z\";\r\nexport var mdiElectricSwitch = \"M1,11H3.17C3.58,9.83 4.69,9 6,9C6.65,9 7.25,9.21 7.74,9.56L14.44,4.87L15.58,6.5L8.89,11.2C8.96,11.45 9,11.72 9,12A3,3 0 0,1 6,15C4.69,15 3.58,14.17 3.17,13H1V11M23,11V13H20.83C20.42,14.17 19.31,15 18,15A3,3 0 0,1 15,12A3,3 0 0,1 18,9C19.31,9 20.42,9.83 20.83,11H23M6,11A1,1 0 0,0 5,12A1,1 0 0,0 6,13A1,1 0 0,0 7,12A1,1 0 0,0 6,11M18,11A1,1 0 0,0 17,12A1,1 0 0,0 18,13A1,1 0 0,0 19,12A1,1 0 0,0 18,11Z\";\r\nexport var mdiElectricSwitchClosed = \"M20.83 11A3 3 0 0 0 15.18 11H8.82A3 3 0 0 0 3.17 11H1V13H3.17A3 3 0 0 0 8.82 13H15.18A3 3 0 0 0 20.83 13H23V11M6 13A1 1 0 1 1 7 12A1 1 0 0 1 6 13M18 13A1 1 0 1 1 19 12A1 1 0 0 1 18 13Z\";\r\nexport var mdiElectronFramework = \"M12 22C10.33 22 8.84 20.5 7.9 17.93C7.83 17.73 7.93 17.5 8.14 17.44C8.34 17.36 8.56 17.47 8.63 17.67C9.44 19.9 10.7 21.23 12 21.23C12.94 21.23 13.87 20.55 14.62 19.31C14.73 19.13 14.96 19.07 15.15 19.18C15.33 19.29 15.39 19.53 15.28 19.71C14.38 21.19 13.22 22 12 22M15.91 17.72C15.87 17.72 15.83 17.71 15.8 17.7C15.59 17.63 15.5 17.42 15.54 17.21C16 15.81 16.22 14.18 16.22 12.5C16.22 8.65 14.97 5.24 13.19 4.14C12.94 4.5 12.5 4.78 12 4.78C11.24 4.78 10.61 4.16 10.61 3.39C10.61 2.62 11.24 2 12 2C12.77 2 13.4 2.61 13.41 3.37C15.53 4.5 17 8.21 17 12.5C17 14.25 16.75 15.96 16.28 17.45C16.23 17.61 16.08 17.72 15.91 17.72M12 2.77C11.66 2.77 11.38 3.05 11.38 3.39C11.38 3.73 11.67 4 12 4C12.35 4 12.64 3.73 12.64 3.39C12.64 3.05 12.35 2.77 12 2.77M4.08 18.54C3.31 18.54 2.68 17.91 2.68 17.15C2.68 16.66 2.94 16.22 3.33 15.97C3.19 13.56 5.68 10.41 9.5 8.22C11.09 7.32 12.75 6.67 14.32 6.34C14.5 6.29 14.73 6.42 14.77 6.63C14.82 6.84 14.69 7.05 14.5 7.09C13 7.41 11.41 8.03 9.9 8.89C6.46 10.86 4.1 13.68 4.1 15.76C4.86 15.77 5.5 16.39 5.5 17.15C5.5 17.92 4.85 18.54 4.08 18.54M4.08 16.53C3.74 16.53 3.46 16.81 3.46 17.15C3.46 17.5 3.74 17.77 4.08 17.77S4.71 17.5 4.71 17.15C4.71 16.81 4.42 16.53 4.08 16.53M18.5 13.44C18.43 13.44 18.34 13.41 18.27 13.35C18.11 13.21 18.09 12.97 18.23 12.8C19.77 11 20.3 9.26 19.64 8.14C19.17 7.33 18.1 6.88 16.63 6.86C16.41 6.86 16.24 6.68 16.25 6.47C16.25 6.26 16.43 6.1 16.64 6.09C18.39 6.11 19.7 6.7 20.31 7.75C21.15 9.19 20.6 11.21 18.82 13.3C18.74 13.39 18.63 13.44 18.5 13.44M16.5 18.9C14.5 18.9 11.94 18.16 9.5 16.77C7.95 15.88 6.57 14.79 5.5 13.63C5.35 13.47 5.36 13.23 5.5 13.08C5.68 12.94 5.92 12.95 6.07 13.11C7.08 14.21 8.4 15.25 9.89 16.1C13.2 18 16.77 18.63 18.65 17.72C18.57 17.55 18.5 17.35 18.5 17.15C18.5 16.38 19.15 15.76 19.92 15.76C20.69 15.76 21.32 16.38 21.32 17.15C21.32 17.92 20.69 18.54 19.92 18.54C19.64 18.54 19.39 18.46 19.17 18.32C18.47 18.71 17.56 18.9 16.5 18.9M19.5 17.63C19.63 17.71 19.77 17.77 19.92 17.77C20.27 17.77 20.55 17.5 20.55 17.15C20.55 16.81 20.27 16.53 19.92 16.53S19.3 16.81 19.3 17.15C19.3 17.29 19.35 17.42 19.43 17.53C19.47 17.55 19.5 17.59 19.5 17.63M4.46 12C4.33 12 4.2 11.92 4.13 11.8C3.23 10.25 3.08 8.81 3.7 7.74C4.54 6.3 6.58 5.76 9.31 6.25C9.5 6.29 9.66 6.5 9.62 6.7C9.59 6.91 9.39 7.05 9.18 7C6.82 6.59 5 7 4.37 8.13C3.89 8.95 4.04 10.11 4.8 11.41C4.9 11.6 4.84 11.83 4.65 11.94C4.59 11.97 4.53 12 4.46 12M12.21 13.4C11.71 13.5 11.21 13.19 11.11 12.69C11 12.2 11.32 11.71 11.81 11.6C12.31 11.5 12.81 11.81 12.91 12.31C13 12.8 12.7 13.29 12.21 13.4Z\";\r\nexport var mdiElephant = \"M19.5,15.5A0.5,0.5 0 0,1 19,16A0.5,0.5 0 0,1 18.5,15.5V8.5C18.5,6.57 16.43,5 14.5,5H6A4,4 0 0,0 2,9V19H6V15H11V19H15V14.5A0.5,0.5 0 0,1 15.5,14A0.5,0.5 0 0,1 16,14.5V16A3,3 0 0,0 19,19A3,3 0 0,0 22,16V14H19.5V15.5Z\";\r\nexport var mdiElevationDecline = \"M21,21H3V11.25L9.45,15L13.22,12.8L21,17.29V21M3,8.94V6.75L9.45,10.5L13.22,8.3L21,12.79V15L13.22,10.5L9.45,12.67L3,8.94Z\";\r\nexport var mdiElevationRise = \"M3,21V17.29L10.78,12.8L14.55,15L21,11.25V21H3M21,8.94L14.55,12.67L10.78,10.5L3,15V12.79L10.78,8.3L14.55,10.5L21,6.75V8.94Z\";\r\nexport var mdiElevator = \"M7,2L11,6H8V10H6V6H3L7,2M17,10L13,6H16V2H18V6H21L17,10M7,12H17A2,2 0 0,1 19,14V20A2,2 0 0,1 17,22H7A2,2 0 0,1 5,20V14A2,2 0 0,1 7,12M7,14V20H17V14H7Z\";\r\nexport var mdiElevatorDown = \"M7 10L11 6H8V2H6V6H3L7 10M17 10L13 6H16V2H18V6H21L17 10M7 12H17C18.11 12 19 12.9 19 14V20C19 21.11 18.11 22 17 22H7C5.9 22 5 21.11 5 20V14C5 12.9 5.9 12 7 12M7 14V20H17V14H7Z\";\r\nexport var mdiElevatorPassenger = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M8.5 6C9.19 6 9.75 6.56 9.75 7.25S9.19 8.5 8.5 8.5 7.25 7.94 7.25 7.25 7.81 6 8.5 6M11 14H10V18H7V14H6V11.5C6 10.4 6.9 9.5 8 9.5H9C10.1 9.5 11 10.4 11 11.5V14M15.5 17L13 13H18L15.5 17M13 11L15.5 7L18 11H13Z\";\r\nexport var mdiElevatorPassengerOff = \"M22.11 21.46L20.7 20.05L20.7 20.04L2.39 1.73L1.11 3L3 4.9C3 4.94 3 4.97 3 5V19C3 20.1 3.9 21 5 21H19C19.03 21 19.06 21 19.1 21L20.84 22.73L22.11 21.46M11 14H10V18H7V14H6V11.5C6 10.5 6.71 9.71 7.65 9.54L11 12.89V14M13.46 10.26L6.2 3H19C20.1 3 21 3.9 21 5V17.8L17.31 14.11L18 13H16.2L14.2 11H18L15.5 7L13.46 10.26Z\";\r\nexport var mdiElevatorPassengerOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.9C3 4.94 3 4.97 3 5V19C3 20.1 3.9 21 5 21H19C19.03 21 19.06 21 19.1 21L20.84 22.73L22.11 21.46M5 19V6.89L7.65 9.54C6.71 9.71 6 10.5 6 11.5V14H7V18H10V14H11V12.89L17.11 19H5M8.2 5L6.2 3H19C20.1 3 21 3.9 21 5V17.8L19 15.8V5H8.2M18 11H14.2L13.46 10.26L15.5 7L18 11M17.31 14.11L16.2 13H18L17.31 14.11Z\";\r\nexport var mdiElevatorPassengerOutline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 18V14H11V11.5C11 10.4 10.1 9.5 9 9.5H8C6.9 9.5 6 10.4 6 11.5V14H7V18H10M8.5 8.5C9.19 8.5 9.75 7.94 9.75 7.25S9.19 6 8.5 6 7.25 6.56 7.25 7.25 7.81 8.5 8.5 8.5M18 11L15.5 7L13 11H18M13 13L15.5 17L18 13H13Z\";\r\nexport var mdiElevatorUp = \"M7 2L11 6H8V10H6V6H3L7 2M17 2L13 6H16V10H18V6H21L17 2M7 12H17C18.11 12 19 12.9 19 14V20C19 21.11 18.11 22 17 22H7C5.9 22 5 21.11 5 20V14C5 12.9 5.9 12 7 12M7 14V20H17V14H7Z\";\r\nexport var mdiEllipse = \"M12,4C6.5,4 2,7.58 2,12C2,16.42 6.5,20 12,20C17.5,20 22,16.42 22,12C22,7.58 17.5,4 12,4Z\";\r\nexport var mdiEllipseOutline = \"M12,6C16.41,6 20,8.69 20,12C20,15.31 16.41,18 12,18C7.59,18 4,15.31 4,12C4,8.69 7.59,6 12,6M12,4C6.5,4 2,7.58 2,12C2,16.42 6.5,20 12,20C17.5,20 22,16.42 22,12C22,7.58 17.5,4 12,4Z\";\r\nexport var mdiEmail = \"M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiEmailAlert = \"M18 8L10 13L2 8V6L10 11L18 6M18 4H2C.9 4 0 4.9 0 6V18C0 19.1 .9 20 2 20H18C19.1 20 20 19.1 20 18V6C20 4.9 19.1 4 18 4M24 7H22V13H24V7M24 15H22V17H24V15Z\";\r\nexport var mdiEmailAlertOutline = \"M24 7H22V13H24V7M24 15H22V17H24V15M20 6C20 4.9 19.1 4 18 4H2C.9 4 0 4.9 0 6V18C0 19.1 .9 20 2 20H18C19.1 20 20 19.1 20 18V6M18 6L10 11L2 6H18M18 18H2V8L10 13L18 8V18Z\";\r\nexport var mdiEmailArrowLeft = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M18 16V18H22V20H18V22L15 19L18 16Z\";\r\nexport var mdiEmailArrowLeftOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M18 16V18H22V20H18V22L15 19L18 16Z\";\r\nexport var mdiEmailArrowRight = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M20 22V20H16V18H20V16L23 19L20 22Z\";\r\nexport var mdiEmailArrowRightOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M20 22V20H16V18H20V16L23 19L20 22Z\";\r\nexport var mdiEmailBox = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M6.4,6.5H17.6C18.37,6.5 19,7.12 19,7.9V16.1A1.4,1.4 0 0,1 17.6,17.5H6.4C5.63,17.5 5,16.87 5,16.1V7.9C5,7.12 5.62,6.5 6.4,6.5M6,8V10L12,14L18,10V8L12,12L6,8Z\";\r\nexport var mdiEmailCheck = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16\";\r\nexport var mdiEmailCheckOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M17.75 22.16L15 19.16L16.16 18L17.75 19.59L21.34 16L22.5 17.41L17.75 22.16\";\r\nexport var mdiEmailEdit = \"M21,12.13C20.85,12.14 20.71,12.19 20.61,12.3L19.61,13.3L21.66,15.3L22.66,14.3C22.88,14.09 22.88,13.74 22.66,13.53L21.42,12.3C21.32,12.19 21.18,12.14 21.04,12.13M19.04,13.88L13,19.94V22H15.06L21.12,15.93M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H11V19.11L19.24,10.89C19.71,10.4 20.36,10.13 21.04,10.13C21.38,10.13 21.72,10.19 22.04,10.32V6C22.04,4.88 21.12,4 20,4M20,8L12,13L4,8V6L12,11L20,6\";\r\nexport var mdiEmailEditOutline = \"M19.07 13.88L13 19.94V22H15.06L21.12 15.93M22.7 13.58L21.42 12.3C21.32 12.19 21.18 12.13 21.04 12.13C20.89 12.14 20.75 12.19 20.65 12.3L19.65 13.3L21.7 15.3L22.7 14.3C22.89 14.1 22.89 13.78 22.7 13.58M11 18H4V8L12 13L20 8V10H22V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H11V18M20 6L12 11L4 6H20Z\";\r\nexport var mdiEmailFast = \"M22 5.5H9C7.9 5.5 7 6.4 7 7.5V16.5C7 17.61 7.9 18.5 9 18.5H22C23.11 18.5 24 17.61 24 16.5V7.5C24 6.4 23.11 5.5 22 5.5M22 9.17L15.5 12.5L9 9.17V7.5L15.5 10.81L22 7.5V9.17M5 16.5C5 16.67 5.03 16.83 5.05 17H1C.448 17 0 16.55 0 16S.448 15 1 15H5V16.5M3 7H5.05C5.03 7.17 5 7.33 5 7.5V9H3C2.45 9 2 8.55 2 8S2.45 7 3 7M1 12C1 11.45 1.45 11 2 11H5V13H2C1.45 13 1 12.55 1 12Z\";\r\nexport var mdiEmailFastOutline = \"M22 5.5H9C7.9 5.5 7 6.4 7 7.5V16.5C7 17.61 7.9 18.5 9 18.5H22C23.11 18.5 24 17.61 24 16.5V7.5C24 6.4 23.11 5.5 22 5.5M22 16.5H9V9.17L15.5 12.5L22 9.17V16.5M15.5 10.81L9 7.5H22L15.5 10.81M5 16.5C5 16.67 5.03 16.83 5.05 17H1C.448 17 0 16.55 0 16S.448 15 1 15H5V16.5M3 7H5.05C5.03 7.17 5 7.33 5 7.5V9H3C2.45 9 2 8.55 2 8S2.45 7 3 7M1 12C1 11.45 1.45 11 2 11H5V13H2C1.45 13 1 12.55 1 12Z\";\r\nexport var mdiEmailHeartOutline = \"M10 9C8.9 9 8 9.92 8 11.05C8 11.62 8.22 12.12 8.59 12.5L12 16L15.42 12.5C15.78 12.13 16 11.61 16 11.05C16 9.92 15.1 9 14 9C13.46 9 12.95 9.23 12.59 9.6L12 10.2L11.42 9.61C11.05 9.23 10.54 9 10 9M20 4C21.1 4 22 4.9 22 6V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H20M16.7 8.06L20 6H4L7.3 8.06C6.89 8.45 6.55 8.92 6.33 9.45L4 8V18H20V8L17.67 9.45C17.45 8.92 17.11 8.45 16.7 8.06Z\";\r\nexport var mdiEmailLock = \"M12 18.2C12 17.24 12.5 16.34 13.2 15.74V15.5C13.2 13.06 15.4 11 18 11C19.65 11 21.13 11.83 22 13.06V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12V18.2M4 6L12 11L20 6V8L12 13L4 8V6M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17Z\";\r\nexport var mdiEmailLockOutline = \"M12 18.2C12 18.13 12 18.07 12 18H4V8L12 13L20 8V11.44C20.81 11.8 21.5 12.36 22 13.06V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H12V18.2M20 6L12 11L4 6H20M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17Z\";\r\nexport var mdiEmailMarkAsUnread = \"M18.84,7H16.22L10.5,4L4,7.41V17A2,2 0 0,1 2,15V7.17C2,6.5 2.28,6.06 2.81,5.81L10.5,2L18.05,5.81C18.5,6.09 18.78,6.5 18.84,7M7,8H20A2,2 0 0,1 22,10V19A2,2 0 0,1 20,21H7A2,2 0 0,1 5,19V10A2,2 0 0,1 7,8M20,11.67V10L13.5,13.31L7,10V11.67L13.5,15L20,11.67Z\";\r\nexport var mdiEmailMinus = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M23 18V20H15V18H23Z\";\r\nexport var mdiEmailMinusOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M23 18V20H15V18H23Z\";\r\nexport var mdiEmailMultiple = \"M22,6V4L14,9L6,4V6L14,11L22,6M22,2A2,2 0 0,1 24,4V16A2,2 0 0,1 22,18H6C4.89,18 4,17.1 4,16V4C4,2.89 4.89,2 6,2H22M2,6V20H20V22H2A2,2 0 0,1 0,20V6H2Z\";\r\nexport var mdiEmailMultipleOutline = \"M2 6V20H20V22H2C.895 22 0 21.11 0 20V6H2M24 4C24 2.9 23.1 2 22 2H6C4.9 2 4 2.9 4 4V16C4 17.1 4.9 18 6 18H22C23.1 18 24 17.1 24 16V4M22 4L14 9L6 4H22M22 16H6V6L14 11L22 6V16Z\";\r\nexport var mdiEmailNewsletter = \"M12 .64L8.23 3H5V5L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 7.27 21.61 6.64 21.03 6.29L19 5V3H15.77M7 5H17V9.88L12 13L7 9.88M8 6V7.5H16V6M5 7.38V8.63L4 8M19 7.38L20 8L19 8.63M8 8.5V10H16V8.5Z\";\r\nexport var mdiEmailOff = \"M22.1 21.5L2.4 1.7L1.1 3L2.6 4.5C2.2 4.9 2 5.4 2 6V18C2 19.1 2.9 20 4 20H18.1L20.8 22.7L22.1 21.5M4 8V6L4.3 6.2L9.6 11.5L4 8M13.4 10.2L7.2 4H20C21.1 4 22 4.9 22 6V18C22 18.2 22 18.5 21.9 18.7L14.6 11.4L20 8V6L13.4 10.2Z\";\r\nexport var mdiEmailOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L2.6 4.5C2.3 4.9 2 5.4 2 6V18C2 19.1 2.9 20 4 20H18.1L20.8 22.7L22.1 21.5M4 18V8L9.6 11.5L16.1 18H4M9.2 6L7.2 4H20C21.1 4 22 4.9 22 6V18C22 18.2 22 18.5 21.9 18.7L20 16.8V8L14.6 11.4L13.4 10.2L20 6H9.2Z\";\r\nexport var mdiEmailOpen = \"M4,8L12,13L20,8V8L12,3L4,8V8M22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V8C2,7.27 2.39,6.64 2.97,6.29L12,0.64L21.03,6.29C21.61,6.64 22,7.27 22,8Z\";\r\nexport var mdiEmailOpenHeartOutline = \"M10 9C8.9 9 8 9.92 8 11.05C8 11.62 8.22 12.12 8.59 12.5L12 16L15.42 12.5C15.78 12.13 16 11.61 16 11.05C16 9.92 15.1 9 14 9C13.46 9 12.95 9.23 12.59 9.6L12 10.2L11.42 9.61C11.05 9.23 10.54 9 10 9M12 .64L21.03 6.29C21.61 6.64 22 7.27 22 8V18C22 19.1 21.1 20 20 20H4C2.9 20 2 19.1 2 18V8C2 7.27 2.39 6.64 2.97 6.29L12 .64M4 10V18H20V10L18 11.25C18 11.19 18 11.12 18 11.05C18 10.5 17.88 9.95 17.67 9.45L20 8L12 3L4 8L6.33 9.45C6.12 9.95 6 10.5 6 11.05C6 11.12 6 11.19 6 11.25L4 10Z\";\r\nexport var mdiEmailOpenMultiple = \"M6,8L14,13L22,8V8L14,3L6,8V8M24,8V18A2,2 0 0,1 22,20H6A2,2 0 0,1 4,18V8C4,7.27 4.39,6.64 4.97,6.29L14,0.64L23.03,6.29C23.61,6.64 24,7.27 24,8M2,8V22H20V24H2A2,2 0 0,1 0,22V8H2Z\";\r\nexport var mdiEmailOpenMultipleOutline = \"M2 8V22H20V24H2C.895 24 0 23.11 0 22V8H2M23.03 6.29L14 .64L4.97 6.29C4.39 6.64 4 7.27 4 8V18C4 19.1 4.9 20 6 20H22C23.1 20 24 19.1 24 18V8C24 7.27 23.61 6.64 23.03 6.29M22 18H6V10L14 15L22 10V18M14 13L6 8L14 3L22 8L14 13Z\";\r\nexport var mdiEmailOpenOutline = \"M21.03 6.29L12 .64L2.97 6.29C2.39 6.64 2 7.27 2 8V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 7.27 21.61 6.64 21.03 6.29M20 18H4V10L12 15L20 10V18M12 13L4 8L12 3L20 8L12 13Z\";\r\nexport var mdiEmailOutline = \"M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6M20 6L12 11L4 6H20M20 18H4V8L12 13L20 8V18Z\";\r\nexport var mdiEmailPlus = \"M13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V6C22 4.89 21.1 4 20 4H4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M4 8V6L12 11L20 6V8L12 13L4 8M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiEmailPlusOutline = \"M13 19C13 18.66 13.04 18.33 13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19M20 6L12 11L4 6H20M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiEmailRemove = \"M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H20C21.1 4 22 4.89 22 6V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 8V6L12 11L4 6V8L12 13L20 8Z\";\r\nexport var mdiEmailRemoveOutline = \"M13.09 18H4V8L12 13L20 8V13.09C20.72 13.21 21.39 13.46 22 13.81V6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H13.09C13.04 19.67 13 19.34 13 19C13 18.66 13.04 18.33 13.09 18M20 6L12 11L4 6H20M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiEmailSeal = \"M12.5 13.3C12.2 12.4 12.4 11.7 12.5 11.3C12.4 10.9 12.2 10.3 12.4 9.4C12.7 8.6 13.2 8.2 13.5 7.9C13.6 7.5 13.8 6.9 14.6 6.3C15.3 5.8 16 5.8 16.4 5.8C16.5 5.7 16.7 5.6 16.9 5.5V2.6C17 1.7 16.3 1 15.4 1H2.6C1.7 1 1 1.7 1 2.6V12.4C1 13.3 1.7 14 2.6 14H12.9C12.7 13.8 12.6 13.6 12.5 13.3M3 5V3L9 6L15 3V5L9 8L3 5M22.6 9.9C22.4 9.3 21.9 9.2 21.6 8.9C21.4 8.6 21.4 8 20.9 7.7C20.4 7.3 19.9 7.5 19.5 7.4C19.1 7.3 18.8 6.8 18.2 6.8S17.3 7.2 16.9 7.4C16.5 7.5 16 7.3 15.5 7.7C15 8 15.1 8.5 14.8 8.9C14.5 9.2 14 9.4 13.8 9.9C13.6 10.5 14 10.9 14 11.3C14 11.7 13.6 12.1 13.8 12.7C14 13.3 14.5 13.4 14.8 13.7C15 14 15 14.6 15.5 14.9C16 15.3 16.5 15.1 16.9 15.2C17.3 15.3 17.6 15.8 18.2 15.8S19.1 15.4 19.5 15.2C19.9 15.1 20.4 15.3 20.9 14.9C21.4 14.5 21.4 14 21.6 13.7C21.9 13.4 22.4 13.2 22.6 12.7C22.8 12.1 22.4 11.7 22.4 11.3C22.4 10.9 22.8 10.5 22.6 9.9M18.2 14.4C16.5 14.4 15.2 13 15.2 11.4S16.6 8.4 18.2 8.4 21.2 9.8 21.2 11.4 19.9 14.4 18.2 14.4M19.7 11.3C19.7 12.1 19 12.8 18.2 12.8S16.7 12.1 16.7 11.3C16.7 10.5 17.4 9.8 18.2 9.8S19.7 10.5 19.7 11.3M19.5 17.1L19 19.8L18.4 22.9L16.4 21L14 22.1L15 16.4C15.4 16.6 15.9 16.7 16.4 16.7C16.7 16.9 17.1 17.1 17.4 17.2C17.6 17.3 17.9 17.3 18.2 17.3C18.7 17.4 19.1 17.3 19.5 17.1M22.7 19.5L20.7 18.8L21.1 16.6L21.7 16.3L21.8 16.2L22.7 19.5Z\";\r\nexport var mdiEmailSealOutline = \"M12.5 13.3C12.3 12.8 12.3 12.4 12.4 12H3V4.5L9 8.5L15 4.5V6.2C15.6 5.9 16.1 5.9 16.4 5.9C16.5 5.8 16.7 5.7 16.9 5.6V2.6C17 1.7 16.3 1 15.4 1H2.6C1.7 1 1 1.7 1 2.6V12.4C1 13.3 1.7 14 2.6 14H12.9C12.7 13.8 12.6 13.6 12.5 13.3M15 3L9 7L3 3H15M22.6 9.9C22.4 9.3 21.9 9.2 21.6 8.9C21.4 8.6 21.4 8 20.9 7.7C20.4 7.3 19.9 7.5 19.5 7.4C19.1 7.3 18.8 6.8 18.2 6.8S17.3 7.2 16.9 7.4C16.5 7.5 16 7.3 15.5 7.7C15 8 15.1 8.5 14.8 8.9C14.5 9.2 14 9.4 13.8 9.9C13.6 10.5 14 10.9 14 11.3C14 11.7 13.6 12.1 13.8 12.7C14 13.3 14.5 13.4 14.8 13.7C15 14 15 14.6 15.5 14.9C16 15.3 16.5 15.1 16.9 15.2C17.3 15.3 17.6 15.8 18.2 15.8S19.1 15.4 19.5 15.2C19.9 15.1 20.4 15.3 20.9 14.9C21.4 14.5 21.4 14 21.6 13.7C21.9 13.4 22.4 13.2 22.6 12.7C22.8 12.1 22.4 11.7 22.4 11.3C22.4 10.9 22.8 10.5 22.6 9.9M18.2 14.4C16.5 14.4 15.2 13 15.2 11.4S16.6 8.4 18.2 8.4 21.2 9.8 21.2 11.4 19.9 14.4 18.2 14.4M19.7 11.3C19.7 12.1 19 12.8 18.2 12.8S16.7 12.1 16.7 11.3C16.7 10.5 17.4 9.8 18.2 9.8S19.7 10.5 19.7 11.3M19.5 17.1L19 19.8L18.4 22.9L16.4 21L14 22.1L15 16.4C15.4 16.6 15.9 16.7 16.4 16.7C16.7 16.9 17.1 17.1 17.4 17.2C17.6 17.3 17.9 17.3 18.2 17.3C18.7 17.4 19.1 17.3 19.5 17.1M22.7 19.5L20.7 18.8L21.1 16.6L21.7 16.3L21.8 16.2L22.7 19.5Z\";\r\nexport var mdiEmailSearch = \"M3,4H19A2,2 0 0,1 21,6V10.82C20,9.85 18.7,9.23 17.31,9.06L19,8V6L11,11L3,6V8L10.62,12.76C10.21,13.62 10,14.55 10,15.5C10,17.18 10.65,18.79 11.81,20H3A2,2 0 0,1 1,18V6C1,4.89 1.89,4 3,4M16.5,11C19,11 21,13 21,15.5C21,16.38 20.75,17.21 20.31,17.9L23.39,21L22,22.39L18.88,19.32C18.19,19.75 17.37,20 16.5,20C14,20 12,18 12,15.5C12,13 14,11 16.5,11M16.5,13A2.5,2.5 0 0,0 14,15.5A2.5,2.5 0 0,0 16.5,18A2.5,2.5 0 0,0 19,15.5A2.5,2.5 0 0,0 16.5,13Z\";\r\nexport var mdiEmailSearchOutline = \"M16.5 11C19 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11M16.5 13C15.12 13 14 14.12 14 15.5S15.12 18 16.5 18 19 16.88 19 15.5 17.88 13 16.5 13M10.5 18H3V8L10.62 12.76C11.65 10.54 13.9 9 16.5 9C16.77 9 17.04 9 17.31 9.06L19 8V9.5C19.75 9.81 20.42 10.27 21 10.82V6C21 4.9 20.1 4 19 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H11.82C11.27 19.42 10.82 18.75 10.5 18M19 6L11 11L3 6H19Z\";\r\nexport var mdiEmailSync = \"M3 4C1.89 4 1 4.89 1 6V18C1 19.11 1.9 20 3 20H13.5A6.5 6.5 0 0 1 13 17.5A6.5 6.5 0 0 1 19.5 11A6.5 6.5 0 0 1 21 11.18V6C21 4.89 20.1 4 19 4H3M3 6L11 11L19 6V8L11 13L3 8V6M19 12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5V12M15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29Z\";\r\nexport var mdiEmailSyncOutline = \"M3 4C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H13.5A6.5 6.5 0 0 1 13 18H3V8L11 13L19 8V11A6.5 6.5 0 0 1 19.5 11A6.5 6.5 0 0 1 21 11.18V6C21 4.9 20.1 4 19 4H3M3 6H19L11 11L3 6M19 12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5V12M15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29Z\";\r\nexport var mdiEmailVariant = \"M12,13L2,6.76V6C2,4.89 2.89,4 4,4H20A2,2 0 0,1 22,6V6.75L12,13M22,18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V9.11L4,10.36V18H20V10.36L22,9.11V18Z\";\r\nexport var mdiEmber = \"M22,14.22C22,14.22 17.61,17.35 14.72,17.39C11.84,17.44 12.13,15.56 12.13,15.56C12.13,15.56 22.71,11.94 19.83,4.79C18.53,2.95 17,2.37 14.89,2.42C12.76,2.46 10.17,3.76 8.46,7.6C7.64,9.44 7.41,11.18 7.24,12.5V12.5C7.24,12.5 5.32,12.88 4.32,12.04C3.32,11.2 2.77,12.04 2.77,12.04C2.77,12.04 1.03,14.2 2.75,14.87C4.46,15.54 7.12,15.82 7.12,15.82V15.82C7.36,17 8.08,19 10.17,20.6C13.3,23 19.32,20.4 19.32,20.4M11.63,12.33C11.76,7.36 15,5.18 16.15,6.27C17.27,7.36 16.86,9.7 14.72,11.16C12.59,12.63 11.63,12.33 11.63,12.33Z\";\r\nexport var mdiEmby = \"M11,2L6,7L7,8L2,13L7,18L8,17L13,22L18,17L17,16L22,11L17,6L16,7L11,2M10,8.5L16,12L10,15.5V8.5Z\";\r\nexport var mdiEmoticon = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M15.5,8A1.5,1.5 0 0,1 17,9.5A1.5,1.5 0 0,1 15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8M8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8M12,17.5C9.67,17.5 7.69,16.04 6.89,14H17.11C16.3,16.04 14.33,17.5 12,17.5Z\";\r\nexport var mdiEmoticonAngry = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5V8L10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5L17,8V9.5Z\";\r\nexport var mdiEmoticonAngryOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5V8L10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5L17,8V9.5\";\r\nexport var mdiEmoticonConfused = \"M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2M8.5 8A1.5 1.5 0 1 1 7 9.5A1.54 1.54 0 0 1 8.5 8M17 16H13A4 4 0 0 0 9.53 18L7.8 17A6 6 0 0 1 13 14H17M15.5 11A1.5 1.5 0 1 1 17 9.5A1.54 1.54 0 0 1 15.5 11Z\";\r\nexport var mdiEmoticonConfusedOutline = \"M20 12A8 8 0 1 0 12 20A8 8 0 0 0 20 12M22 12A10 10 0 1 1 12 2A10 10 0 0 1 22 12M15.5 8A1.5 1.5 0 1 1 14 9.5A1.54 1.54 0 0 1 15.5 8M10 9.5A1.5 1.5 0 1 1 8.5 8A1.54 1.54 0 0 1 10 9.5M17 15H13A4 4 0 0 0 9.53 17L7.8 16A6 6 0 0 1 13 13H17Z\";\r\nexport var mdiEmoticonCool = \"M3.22,7.22C4.91,4.11 8.21,2 12,2C15.79,2 19.09,4.11 20.78,7.22L20,8H4L3.22,7.22M21.4,8.6C21.78,9.67 22,10.81 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.81 2.22,9.67 2.6,8.6L4,10H5C5,11.38 7.12,12.5 8.5,12.5C9.88,12.5 11.25,11.38 11.25,10H12.75C12.75,11.38 14.12,12.5 15.5,12.5C16.88,12.5 19,11.38 19,10H20L21.4,8.6M16.19,15.42L14.77,14C14.32,14.72 13.25,15.23 12,15.23C10.75,15.23 9.68,14.72 9.23,14L7.81,15.42C8.71,16.5 10.25,17.23 12,17.23C13.75,17.23 15.29,16.5 16.19,15.42Z\";\r\nexport var mdiEmoticonCoolOutline = \"M19,10C19,11.38 16.88,12.5 15.5,12.5C14.12,12.5 12.75,11.38 12.75,10H11.25C11.25,11.38 9.88,12.5 8.5,12.5C7.12,12.5 5,11.38 5,10H4.25C4.09,10.64 4,11.31 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,11.31 19.91,10.64 19.75,10H19M12,4C9.04,4 6.45,5.61 5.07,8H18.93C17.55,5.61 14.96,4 12,4M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\r\nexport var mdiEmoticonCry = \"M5.14,17.57C5.14,16.5 6.32,14.5 7.57,12.81C8.82,14.5 10,16.5 10,17.57A2.43,2.43 0 0,1 7.57,20C6.23,20 5.14,18.91 5.14,17.57M22,12A10,10 0 0,1 12,22C11.08,22 10.18,21.86 9.33,21.63C10.9,20.95 12,19.39 12,17.57C12,17.12 11.89,16.6 11.69,16C11.79,16 11.89,16 12,16C13.25,16 14.32,16.5 14.77,17.23L16.19,15.81C15.29,14.72 13.75,14 12,14C11.59,14 11.19,14.04 10.81,14.12C10.38,13.36 9.85,12.53 9.19,11.63L8.71,11C9.42,10.87 10,10.23 10,9.5C10,8.7 9.3,8 8.5,8C7.7,8 7,8.7 7,9.5C7,9.69 7.04,9.87 7.11,10.04L5.96,11.63C4.4,13.75 3.5,15.5 3.23,16.81C2.45,15.38 2,13.74 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M17,9.5C17,8.7 16.3,8 15.5,8C14.7,8 14,8.7 14,9.5C14,10.3 14.7,11 15.5,11C16.3,11 17,10.3 17,9.5Z\";\r\nexport var mdiEmoticonCryOutline = \"M7.57,20C6.23,20 5.14,18.91 5.14,17.57C5.14,16.5 6.32,14.5 7.57,12.81C8.82,14.5 10,16.5 10,17.57A2.43,2.43 0 0,1 7.57,20M12,2A10,10 0 0,0 2,12C2,13.75 2.45,15.38 3.24,16.81C3.4,16 3.81,15.07 4.31,14.17C4.11,13.5 4,12.75 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20C11.76,20 11.53,20 11.29,19.96C10.82,20.7 10.14,21.28 9.34,21.63C10.19,21.87 11.08,22 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,14C11.59,14 11.19,14.04 10.81,14.12C11.16,14.75 11.47,15.4 11.69,16C11.79,16 11.89,16 12,16C13.25,16 14.32,16.5 14.77,17.23L16.19,15.81C15.29,14.72 13.75,14 12,14M15.5,8C14.7,8 14,8.7 14,9.5C14,10.3 14.7,11 15.5,11C16.3,11 17,10.3 17,9.5C17,8.7 16.3,8 15.5,8M10,9.5C10,8.7 9.3,8 8.5,8C7.7,8 7,8.7 7,9.5C7,10.3 7.7,11 8.5,11C9.3,11 10,10.3 10,9.5\";\r\nexport var mdiEmoticonDead = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M6.76,8.82L7.82,7.76L8.88,8.82L9.94,7.76L11,8.82L9.94,9.88L11,10.94L9.94,12L8.88,10.94L7.82,12L6.76,10.94L7.82,9.88L6.76,8.82M6.89,17.5C7.69,15.46 9.67,14 12,14C14.33,14 16.31,15.46 17.11,17.5H6.89M17.24,10.94L16.18,12L15.12,10.94L14.06,12L13,10.94L14.06,9.88L13,8.82L14.06,7.76L15.12,8.82L16.18,7.76L17.24,8.82L16.18,9.88L17.24,10.94Z\";\r\nexport var mdiEmoticonDeadOutline = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16.18,7.76L15.12,8.82L14.06,7.76L13,8.82L14.06,9.88L13,10.94L14.06,12L15.12,10.94L16.18,12L17.24,10.94L16.18,9.88L17.24,8.82L16.18,7.76M7.82,12L8.88,10.94L9.94,12L11,10.94L9.94,9.88L11,8.82L9.94,7.76L8.88,8.82L7.82,7.76L6.76,8.82L7.82,9.88L6.76,10.94L7.82,12M12,14C9.67,14 7.69,15.46 6.89,17.5H17.11C16.31,15.46 14.33,14 12,14Z\";\r\nexport var mdiEmoticonDevil = \"M22.5,2.09C21.6,3 20.13,3.73 18.31,4.25C16.59,2.84 14.39,2 12,2C9.61,2 7.41,2.84 5.69,4.25C3.87,3.73 2.4,3 1.5,2.09C1.53,3.72 2.35,5.21 3.72,6.4C2.63,8 2,9.92 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,9.92 21.37,8 20.28,6.4C21.65,5.21 22.47,3.72 22.5,2.09M7.5,8.5L10.5,10C10.5,10.8 9.8,11.5 9,11.5C8.2,11.5 7.5,10.8 7.5,10V8.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M16.5,10C16.5,10.8 15.8,11.5 15,11.5C14.2,11.5 13.5,10.8 13.5,10L16.5,8.5V10Z\";\r\nexport var mdiEmoticonDevilOutline = \"M1.5,2.09C2.4,3 3.87,3.73 5.69,4.25C7.41,2.84 9.61,2 12,2C14.39,2 16.59,2.84 18.31,4.25C20.13,3.73 21.6,3 22.5,2.09C22.47,3.72 21.65,5.21 20.28,6.4C21.37,8 22,9.92 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,9.92 2.63,8 3.72,6.4C2.35,5.21 1.53,3.72 1.5,2.09M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M10.5,10C10.5,10.8 9.8,11.5 9,11.5C8.2,11.5 7.5,10.8 7.5,10V8.5L10.5,10M16.5,10C16.5,10.8 15.8,11.5 15,11.5C14.2,11.5 13.5,10.8 13.5,10L16.5,8.5V10M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\r\nexport var mdiEmoticonExcited = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M8.88,7.82L11,9.94L9.94,11L8.88,9.94L7.82,11L6.76,9.94L8.88,7.82M12,17.5C9.67,17.5 7.69,16.04 6.89,14H17.11C16.31,16.04 14.33,17.5 12,17.5M16.18,11L15.12,9.94L14.06,11L13,9.94L15.12,7.82L17.24,9.94L16.18,11Z\";\r\nexport var mdiEmoticonExcitedOutline = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M13,9.94L14.06,11L15.12,9.94L16.18,11L17.24,9.94L15.12,7.82L13,9.94M8.88,9.94L9.94,11L11,9.94L8.88,7.82L6.76,9.94L7.82,11L8.88,9.94M12,17.5C14.33,17.5 16.31,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5Z\";\r\nexport var mdiEmoticonFrown = \"M12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M15.5 8C16.33 8 17 8.67 17 9.5S16.33 11 15.5 11 14 10.33 14 9.5 14.67 8 15.5 8M8.5 8C9.33 8 10 8.67 10 9.5S9.33 11 8.5 11 7 10.33 7 9.5 7.67 8 8.5 8M6.89 17C7.69 14.96 9.67 13.5 12 13.5S16.31 14.96 17.11 17H6.89Z\";\r\nexport var mdiEmoticonFrownOutline = \"M12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12S17.5 2 12 2M12 20C7.58 20 4 16.42 4 12S7.58 4 12 4 20 7.58 20 12 16.42 20 12 20M15.5 11C16.33 11 17 10.33 17 9.5S16.33 8 15.5 8 14 8.67 14 9.5 14.67 11 15.5 11M8.5 11C9.33 11 10 10.33 10 9.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11M12 13.5C9.67 13.5 7.69 14.96 6.89 17H17.11C16.31 14.96 14.33 13.5 12 13.5Z\";\r\nexport var mdiEmoticonHappy = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11Z\";\r\nexport var mdiEmoticonHappyOutline = \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23Z\";\r\nexport var mdiEmoticonKiss = \"M18.9,18.94L15.94,16C15.76,15.79 15.55,15.5 15.55,15.05A1.3,1.3 0 0,1 16.85,13.75C17.19,13.75 17.53,13.89 17.77,14.15L18.91,15.26L20.03,14.13C20.27,13.89 20.61,13.75 20.95,13.75A1.3,1.3 0 0,1 22.25,15.05C22.25,15.39 22.11,15.73 21.87,15.97L18.9,18.94M17.46,19.62C15.72,21.1 13.47,22 11,22A10,10 0 0,1 1,12A10,10 0 0,1 11,2A10,10 0 0,1 21,12C21,12.09 21,12.17 20.95,12.25C20.21,12.25 19.5,12.55 18.97,13.07L18.9,13.14L18.84,13.09C18.32,12.55 17.6,12.25 16.85,12.25A2.8,2.8 0 0,0 14.05,15.05C14.05,15.78 14.34,16.5 14.87,17.03L17.46,19.62M13,9.5C13,10.3 13.7,11 14.5,11C15.3,11 16,10.3 16,9.5C16,8.7 15.3,8 14.5,8C13.7,8 13,8.7 13,9.5M9,9.5C9,8.7 8.3,8 7.5,8C6.7,8 6,8.7 6,9.5C6,10.3 6.7,11 7.5,11C8.3,11 9,10.3 9,9.5M12.94,15.18L14,14.12L11.88,12L10.82,13.06L11.88,14.12L10.82,15.18L11.88,16.24L10.82,17.3L11.88,18.36L14,16.24L12.94,15.18Z\";\r\nexport var mdiEmoticonKissOutline = \"M9,9.5C9,10.3 8.3,11 7.5,11C6.7,11 6,10.3 6,9.5C6,8.7 6.7,8 7.5,8C8.3,8 9,8.7 9,9.5M16,9.5C16,10.3 15.3,11 14.5,11C13.7,11 13,10.3 13,9.5C13,8.7 13.7,8 14.5,8C15.3,8 16,8.7 16,9.5M14,14.12L11.88,12L10.82,13.06L11.88,14.12L10.82,15.18L11.88,16.24L10.82,17.3L11.88,18.36L14,16.24L12.94,15.18L14,14.12M16.85,13A2.05,2.05 0 0,0 14.8,15.05C14.8,15.62 15.03,16.12 15.4,16.5L18.9,20L22.4,16.5C22.77,16.13 23,15.61 23,15.05A2.05,2.05 0 0,0 20.95,13C20.4,13 19.87,13.23 19.5,13.6L18.9,14.2L18.3,13.61C17.93,13.23 17.4,13 16.85,13M15,18.92C13.82,19.6 12.46,20 11,20A8,8 0 0,1 3,12A8,8 0 0,1 11,4C15.26,4 18.73,7.33 19,11.5C19.58,11.19 20.26,11 20.95,11C20.45,5.95 16.18,2 11,2A10,10 0 0,0 1,12A10,10 0 0,0 11,22C13,22 14.88,21.4 16.45,20.38L15,18.92Z\";\r\nexport var mdiEmoticonLol = \"M15.07 8.93V4.93A4.06 4.06 0 0 1 15.73 2.72A10 10 0 0 0 2.73 15.72A4.06 4.06 0 0 1 4.94 15.06H8.94V19.06A4.06 4.06 0 0 1 8.28 21.27A10 10 0 0 0 21.28 8.27A4.06 4.06 0 0 1 19.07 8.93M11 6H12.5V7.5H14V9H11M7.5 14V12.5H6V11H9V14M15.89 15.9A5.5 5.5 0 0 1 9.8 17L17 9.8A5.5 5.5 0 0 1 15.89 15.89M4.89 21.08A2 2 0 0 1 2.89 19.08A2 2 0 0 1 4.89 17.08H6.89V19.08A2 2 0 0 1 4.93 21.07M19.07 2.93A2 2 0 0 1 21.07 4.93A2 2 0 0 1 19.07 6.93H17.07V4.93A2 2 0 0 1 19.07 2.93Z\";\r\nexport var mdiEmoticonLolOutline = \"M6 11V12.5H7.5V14H9V11M12.5 6H11V9H14V7.5H12.5M9.8 17A5.5 5.5 0 0 0 17 9.8M6.34 6.34A8 8 0 0 1 15.08 4.62A4.11 4.11 0 0 1 15.73 2.72A10 10 0 0 0 2.73 15.72A4.11 4.11 0 0 1 4.63 15.07A8 8 0 0 1 6.34 6.34M17.66 17.66A8 8 0 0 1 8.92 19.38A4.11 4.11 0 0 1 8.27 21.28A10 10 0 0 0 21.27 8.28A4.11 4.11 0 0 1 19.37 8.93A8 8 0 0 1 17.66 17.66M6 11V12.5H7.5V14H9V11M9.8 17A5.5 5.5 0 0 0 17 9.8M12.5 6H11V9H14V7.5H12.5M6 11V12.5H7.5V14H9V11M12.5 6H11V9H14V7.5H12.5M9.8 17A5.5 5.5 0 0 0 17 9.8M4.93 21A2 2 0 0 1 2.93 19A2 2 0 0 1 4.93 17H6.93V19A2 2 0 0 1 4.93 21.07M19.07 2.93A2 2 0 0 1 21.07 4.93A2 2 0 0 1 19.07 6.93H17.07V4.93A2 2 0 0 1 19.07 2.93Z\";\r\nexport var mdiEmoticonMinus = \"M15 18H23V20H15V18M12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21 13.26 20.03 13 19 13C17.77 13 16.63 13.37 15.68 14H6.89C7.69 16.04 9.67 17.5 12 17.5C12.42 17.5 12.83 17.45 13.23 17.36C13.08 17.88 13 18.43 13 19C13 20.03 13.26 21 13.72 21.85C13.16 21.95 12.59 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.47 2 12 2M15.5 8C14.67 8 14 8.67 14 9.5C14 10.33 14.67 11 15.5 11C16.33 11 17 10.33 17 9.5C17 8.67 16.33 8 15.5 8M8.5 8C7.67 8 7 8.67 7 9.5C7 10.33 7.67 11 8.5 11C9.33 11 10 10.33 10 9.5C10 8.67 9.33 8 8.5 8Z\";\r\nexport var mdiEmoticonMinusOutline = \"M15 18H23V20H15V18M12 17.5C9.67 17.5 7.69 16.04 6.89 14H15.69C14.5 14.78 13.62 15.97 13.23 17.36C12.83 17.45 12.42 17.5 12 17.5M8.5 11C7.67 11 7 10.33 7 9.5C7 8.67 7.67 8 8.5 8C9.33 8 10 8.67 10 9.5C10 10.33 9.33 11 8.5 11M15.5 11C14.67 11 14 10.33 14 9.5C14 8.67 14.67 8 15.5 8C16.33 8 17 8.67 17 9.5C17 10.33 16.33 11 15.5 11M12 20L13.07 19.93C13.18 20.61 13.4 21.26 13.72 21.85C13.16 21.95 12.58 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21.26 13.4 20.62 13.18 19.93 13.07L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20Z\";\r\nexport var mdiEmoticonNeutral = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11A1.5,1.5 0 0,1 7,9.5M16,16H8V14H16V16M15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8A1.5,1.5 0 0,1 17,9.5A1.5,1.5 0 0,1 15.5,11Z\";\r\nexport var mdiEmoticonNeutralOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M8.5,11A1.5,1.5 0 0,1 7,9.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 10,9.5A1.5,1.5 0 0,1 8.5,11M17,9.5A1.5,1.5 0 0,1 15.5,11A1.5,1.5 0 0,1 14,9.5A1.5,1.5 0 0,1 15.5,8A1.5,1.5 0 0,1 17,9.5M16,14V16H8V14H16Z\";\r\nexport var mdiEmoticonOutline = \"M12,17.5C14.33,17.5 16.3,16.04 17.11,14H6.89C7.69,16.04 9.67,17.5 12,17.5M8.5,11A1.5,1.5 0 0,0 10,9.5A1.5,1.5 0 0,0 8.5,8A1.5,1.5 0 0,0 7,9.5A1.5,1.5 0 0,0 8.5,11M15.5,11A1.5,1.5 0 0,0 17,9.5A1.5,1.5 0 0,0 15.5,8A1.5,1.5 0 0,0 14,9.5A1.5,1.5 0 0,0 15.5,11M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiEmoticonPlus = \"M15 18H18V15H20V18H23V20H20V23H18V20H15V18M12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21 13.26 20.03 13 19 13C17.77 13 16.63 13.37 15.68 14H6.89C7.69 16.04 9.67 17.5 12 17.5C12.42 17.5 12.83 17.45 13.23 17.36C13.08 17.88 13 18.43 13 19C13 20.03 13.26 21 13.72 21.85C13.16 21.95 12.59 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.47 2 12 2M15.5 8C14.67 8 14 8.67 14 9.5C14 10.33 14.67 11 15.5 11C16.33 11 17 10.33 17 9.5C17 8.67 16.33 8 15.5 8M8.5 8C7.67 8 7 8.67 7 9.5C7 10.33 7.67 11 8.5 11C9.33 11 10 10.33 10 9.5C10 8.67 9.33 8 8.5 8Z\";\r\nexport var mdiEmoticonPlusOutline = \"M15 18H18V15H20V18H23V20H20V23H18V20H15V18M12 17.5C9.67 17.5 7.69 16.04 6.89 14H15.69C14.5 14.78 13.62 15.97 13.23 17.36C12.83 17.45 12.42 17.5 12 17.5M8.5 11C7.67 11 7 10.33 7 9.5C7 8.67 7.67 8 8.5 8C9.33 8 10 8.67 10 9.5C10 10.33 9.33 11 8.5 11M15.5 11C14.67 11 14 10.33 14 9.5C14 8.67 14.67 8 15.5 8C16.33 8 17 8.67 17 9.5C17 10.33 16.33 11 15.5 11M12 20L13.07 19.93C13.18 20.61 13.4 21.26 13.72 21.85C13.16 21.95 12.58 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21.26 13.4 20.62 13.18 19.93 13.07L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20Z\";\r\nexport var mdiEmoticonPoop = \"M11.36,2C11.15,2 10.87,2.12 10.57,2.32C10,2.7 8.85,3.9 8.4,5.1C8.06,6 8.05,6.82 8.19,7.43C7.63,7.53 7.22,7.71 7.06,7.78C6.55,8 5.47,8.96 5.37,10.45C5.34,10.97 5.41,11.5 5.57,12C4.91,12.19 4.53,12.43 4.5,12.44C4.18,12.56 3.65,12.93 3.5,13.13C3.15,13.53 2.92,14 2.79,14.5C2.5,15.59 2.6,16.83 3.13,17.83C3.42,18.39 3.82,19 4.26,19.43C5.7,20.91 8.18,21.47 10.14,21.79C12.53,22.19 15.03,22.05 17.26,21.13C20.61,19.74 21.5,17.5 21.64,16.89C21.93,15.5 21.57,14.19 21.42,13.87C21.2,13.41 20.84,12.94 20.25,12.64C19.85,12.39 19.5,12.26 19.24,12.2C19.5,11.25 19.13,10.5 18.62,9.94C17.85,9.12 17.06,9 17.06,9V9C17.32,8.5 17.42,7.9 17.28,7.32C17.12,6.61 16.73,6.16 16.22,5.86C15.7,5.55 15.06,5.4 14.4,5.28C14.08,5.22 12.75,5.03 12.2,4.27C11.75,3.65 11.74,2.53 11.62,2.2C11.57,2.07 11.5,2 11.36,2M16,9.61C16.07,9.61 16.13,9.62 16.19,9.62C17.62,9.78 18.64,11.16 18.47,12.69C18.3,14.22 17,15.34 15.57,15.18V15.18C14.14,15 13.12,13.65 13.29,12.11C13.45,10.66 14.64,9.56 16,9.61M8.62,9.61C9.95,9.65 11.06,10.78 11.16,12.21C11.28,13.75 10.21,15.08 8.78,15.19H8.77C7.34,15.3 6.08,14.14 5.96,12.6V12.6C5.85,11.06 6.92,9.73 8.35,9.62V9.62C8.44,9.61 8.53,9.61 8.62,9.61M8.64,11.31C8.6,11.31 8.57,11.31 8.53,11.32C7.97,11.39 7.57,11.9 7.64,12.45C7.7,13 8.21,13.39 8.77,13.32C9.33,13.25 9.73,12.74 9.67,12.19C9.61,11.67 9.15,11.3 8.64,11.31M15.94,11.33C15.42,11.35 15,11.75 14.96,12.28C14.92,12.83 15.35,13.31 15.91,13.34C16.5,13.38 16.96,12.95 17,12.4C17.04,11.84 16.61,11.36 16.05,11.33C16,11.33 16,11.33 15.94,11.33M8.71,16.15C9,16.14 9.26,16.23 9.5,16.28C10.68,16.5 11.7,16.53 12.19,16.53C12.68,16.53 13.69,16.5 14.86,16.28C15.27,16.2 15.74,16.03 16.11,16.28C16.59,16.6 16.24,17.75 15.5,18.53C15.04,19 13.97,19.91 12.19,19.91C10.41,19.91 9.33,19 8.88,18.53C8.14,17.75 7.79,16.6 8.26,16.28C8.4,16.19 8.55,16.15 8.71,16.15Z\";\r\nexport var mdiEmoticonPoopOutline = \"M21.42,13.87C21.2,13.41 20.84,12.94 20.25,12.64C19.85,12.39 19.5,12.26 19.24,12.2C19.5,11.25 19.13,10.5 18.62,9.94C17.85,9.12 17.06,9 17.06,9C17.32,8.5 17.42,7.9 17.28,7.32C17.12,6.61 16.73,6.16 16.22,5.86C15.7,5.55 15.06,5.4 14.4,5.28C14.08,5.22 12.75,5.03 12.2,4.27C11.75,3.65 11.74,2.53 11.62,2.2C11.57,2.07 11.5,2 11.36,2C11.15,2 10.87,2.12 10.57,2.32C10,2.7 8.85,3.9 8.4,5.1C8.06,6 8.05,6.82 8.19,7.43C7.63,7.53 7.22,7.71 7.06,7.78C6.55,8 5.47,8.96 5.37,10.45C5.34,10.89 5.41,11.34 5.5,11.78C5.5,11.86 5.5,11.94 5.5,12.03C4.88,12.22 4.53,12.43 4.5,12.44C4.18,12.56 3.65,12.93 3.5,13.13C3.15,13.53 2.92,14 2.79,14.5C2.5,15.59 2.6,16.83 3.13,17.83C3.42,18.39 3.82,19 4.26,19.43C5.7,20.91 8.18,21.47 10.14,21.79C10.96,21.93 11.8,22 12.63,22C14.22,22 15.8,21.73 17.26,21.13C20.61,19.74 21.5,17.5 21.64,16.89C21.93,15.5 21.57,14.19 21.42,13.87M16.05,11.33C16.61,11.36 17.04,11.84 17,12.4C16.96,12.95 16.5,13.38 15.91,13.34C15.35,13.31 14.92,12.83 14.96,12.28C15,11.75 15.42,11.35 15.94,11.33C16,11.33 16,11.33 16.05,11.33M20.18,16.55C20.17,16.57 19.7,18.5 16.69,19.74C15.47,20.25 14.1,20.5 12.63,20.5C11.9,20.5 11.14,20.44 10.38,20.31C8.76,20.05 6.5,19.56 5.31,18.36C5.04,18.09 4.72,17.63 4.46,17.13C4.12,16.5 4.04,15.65 4.24,14.88C4.32,14.58 4.45,14.32 4.63,14.12L4.65,14.09C4.74,14 4.95,13.88 5.03,13.84V13.84L5.14,13.8L5.26,13.74C5.32,13.7 5.46,13.63 5.67,13.55C6.13,14.81 7.28,15.7 8.59,15.7C8.67,15.7 8.74,15.69 8.82,15.69C9.65,15.63 10.41,15.22 10.94,14.55C11.47,13.89 11.73,13.04 11.66,12.17C11.54,10.5 10.22,9.16 8.64,9.11H8.62C8.5,9.11 8.4,9.11 8.31,9.12C8,9.15 7.73,9.23 7.46,9.34C7.55,9.24 7.63,9.17 7.66,9.15C7.79,9.1 8.07,9 8.45,8.91L10,8.63L9.65,7.09C9.61,6.9 9.53,6.35 9.81,5.63C9.96,5.2 10.27,4.76 10.58,4.38C10.68,4.65 10.81,4.91 11,5.15C11.77,6.23 13.12,6.58 14.06,6.74L14.13,6.76C14.6,6.84 15.13,6.95 15.46,7.15C15.67,7.28 15.76,7.41 15.82,7.67C15.87,7.87 15.84,8.1 15.73,8.31L15.21,9.2C13.95,9.5 12.95,10.64 12.79,12.06C12.59,13.87 13.78,15.46 15.5,15.68C15.62,15.69 15.74,15.7 15.85,15.7C16.56,15.7 17.25,15.44 17.82,14.95C18.23,14.59 18.54,14.13 18.74,13.62L18.9,13.66C19,13.68 19.17,13.74 19.45,13.91L19.5,13.95L19.57,14C19.78,14.08 19.94,14.26 20.05,14.5C20.13,14.67 20.38,15.6 20.18,16.55M7.64,12.45C7.57,11.9 7.97,11.39 8.53,11.32C8.57,11.31 8.6,11.31 8.64,11.31C9.15,11.3 9.61,11.67 9.67,12.19C9.73,12.74 9.33,13.25 8.77,13.32C8.21,13.39 7.7,13 7.64,12.45M8.71,16.15C9,16.14 9.26,16.23 9.5,16.28C10.68,16.5 11.7,16.53 12.19,16.53C12.68,16.53 13.69,16.5 14.86,16.28C15.27,16.2 15.74,16.03 16.11,16.28C16.59,16.6 16.24,17.75 15.5,18.53C15.04,19 13.97,19.91 12.19,19.91C10.41,19.91 9.33,19 8.88,18.53C8.14,17.75 7.79,16.6 8.26,16.28C8.4,16.19 8.55,16.15 8.71,16.15Z\";\r\nexport var mdiEmoticonRemove = \"M16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88L16.88 15.46M12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21 13.26 20.03 13 19 13C17.77 13 16.63 13.37 15.68 14H6.89C7.69 16.04 9.67 17.5 12 17.5C12.42 17.5 12.83 17.45 13.23 17.36C13.08 17.88 13 18.43 13 19C13 20.03 13.26 21 13.72 21.85C13.16 21.95 12.59 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.47 2 12 2M15.5 8C14.67 8 14 8.67 14 9.5C14 10.33 14.67 11 15.5 11C16.33 11 17 10.33 17 9.5C17 8.67 16.33 8 15.5 8M8.5 8C7.67 8 7 8.67 7 9.5C7 10.33 7.67 11 8.5 11C9.33 11 10 10.33 10 9.5C10 8.67 9.33 8 8.5 8Z\";\r\nexport var mdiEmoticonRemoveOutline = \"M16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88L16.88 15.46M12 17.5C9.67 17.5 7.69 16.04 6.89 14H15.69C14.5 14.78 13.62 15.97 13.23 17.36C12.83 17.45 12.42 17.5 12 17.5M8.5 11C7.67 11 7 10.33 7 9.5C7 8.67 7.67 8 8.5 8C9.33 8 10 8.67 10 9.5C10 10.33 9.33 11 8.5 11M15.5 11C14.67 11 14 10.33 14 9.5C14 8.67 14.67 8 15.5 8C16.33 8 17 8.67 17 9.5C17 10.33 16.33 11 15.5 11M12 20L13.07 19.93C13.18 20.61 13.4 21.26 13.72 21.85C13.16 21.95 12.58 22 12 22C6.47 22 2 17.5 2 12C2 6.5 6.47 2 12 2C17.5 2 22 6.5 22 12C22 12.59 21.95 13.16 21.85 13.72C21.26 13.4 20.62 13.18 19.93 13.07L20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20Z\";\r\nexport var mdiEmoticonSad = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23M15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11Z\";\r\nexport var mdiEmoticonSadOutline = \"M20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M15.5,8C16.3,8 17,8.7 17,9.5C17,10.3 16.3,11 15.5,11C14.7,11 14,10.3 14,9.5C14,8.7 14.7,8 15.5,8M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M12,14C13.75,14 15.29,14.72 16.19,15.81L14.77,17.23C14.32,16.5 13.25,16 12,16C10.75,16 9.68,16.5 9.23,17.23L7.81,15.81C8.71,14.72 10.25,14 12,14Z\";\r\nexport var mdiEmoticonSick = \"M21 9C19.9 9 19 8.1 19 7S21 3 21 3 23 5.9 23 7 22.1 9 21 9M17.5 7C17.5 6.27 17.91 5.29 18.42 4.34C16.68 2.88 14.44 2 12 2C6.47 2 2 6.5 2 12S6.47 22 12 22C17.5 22 22 17.5 22 12C22 11.45 21.94 10.91 21.86 10.38C21.58 10.45 21.3 10.5 21 10.5C19.07 10.5 17.5 8.93 17.5 7M15.62 7.38L16.68 8.44L15.62 9.5L16.68 10.56L15.62 11.62L13.5 9.5L15.62 7.38M7.32 8.44L8.38 7.38L10.5 9.5L8.38 11.62L7.32 10.56L8.38 9.5L7.32 8.44M15.44 17C14.75 15.81 13.47 15 12 15S9.25 15.81 8.56 17H6.88C7.18 16.24 7.64 15.57 8.22 15L5.24 13.3C4.79 13.56 4.23 13.58 3.75 13.3C3.03 12.89 2.79 11.97 3.2 11.25S4.53 10.29 5.25 10.7C5.73 11 6 11.5 6 12L9.57 14.06C10.3 13.7 11.12 13.5 12 13.5C14.33 13.5 16.32 14.95 17.12 17H15.44Z\";\r\nexport var mdiEmoticonSickOutline = \"M7.32 10.56L8.38 9.5L7.32 8.44L8.38 7.38L10.5 9.5L8.38 11.62L7.32 10.56M4.5 9C4.53 9 4.55 9 4.58 9C5.77 6.07 8.64 4 12 4C14.19 4 16.16 4.88 17.61 6.3C17.76 5.7 18.06 5 18.42 4.34C16.68 2.88 14.44 2 12 2C7.11 2 3.05 5.5 2.18 10.14C2.74 9.44 3.59 9 4.5 9M21 10.5C20.58 10.5 20.18 10.41 19.81 10.28C19.93 10.83 20 11.41 20 12C20 16.42 16.42 20 12 20C8.64 20 5.77 17.93 4.58 15C4.55 15 4.53 15 4.5 15C4 15 3.46 14.86 3 14.6C2.68 14.42 2.41 14.18 2.18 13.9C3.07 18.5 7.11 22 12 22C17.5 22 22 17.5 22 12C22 11.45 21.94 10.91 21.86 10.38C21.58 10.45 21.3 10.5 21 10.5M21 3C21 3 19 5.9 19 7S19.9 9 21 9 23 8.1 23 7 21 3 21 3M15.62 7.38L13.5 9.5L15.62 11.62L16.68 10.56L15.62 9.5L16.68 8.44L15.62 7.38M8.56 17C9.25 15.81 10.53 15 12 15S14.75 15.81 15.44 17H17.12C16.32 14.95 14.33 13.5 12 13.5C11.13 13.5 10.3 13.7 9.57 14.07L6 12C6 11.5 5.73 11 5.25 10.71C4.53 10.3 3.62 10.54 3.2 11.26C2.79 12 3.03 12.89 3.75 13.31C4.23 13.59 4.8 13.56 5.24 13.31L8.21 15.03C7.64 15.56 7.18 16.24 6.88 17H8.56Z\";\r\nexport var mdiEmoticonTongue = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7.27,11C7.1,10.71 7,10.36 7,10C7,8.89 7.89,8 9,8A2,2 0 0,1 11,10C11,10.36 10.9,10.71 10.73,11C10.39,10.4 9.74,10 9,10C8.26,10 7.61,10.4 7.27,11M16,15H15C15,17 14.1,18 13,18C11.9,18 11,17 11,15H8V13H16V15M16.73,11C16.39,10.4 15.74,10 15,10C14.26,10 13.61,10.4 13.27,11C13.1,10.71 13,10.36 13,10C13,8.89 13.89,8 15,8A2,2 0 0,1 17,10C17,10.36 16.9,10.71 16.73,11Z\";\r\nexport var mdiEmoticonTongueOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M9,10C8.26,10 7.61,10.4 7.27,11C7.1,10.71 7,10.36 7,10A2,2 0 0,1 9,8C10.11,8 11,8.9 11,10C11,10.36 10.9,10.71 10.73,11C10.39,10.4 9.74,10 9,10M17,10C17,10.36 16.9,10.71 16.73,11C16.39,10.4 15.74,10 15,10C14.26,10 13.61,10.4 13.27,11C13.1,10.71 13,10.36 13,10A2,2 0 0,1 15,8C16.11,8 17,8.9 17,10M16,13V15H15C15,17 14.1,18 13,18C11.9,18 11,17 11,15H8V13H16Z\";\r\nexport var mdiEmoticonWink = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M17,10H13V9H17V10Z\";\r\nexport var mdiEmoticonWinkOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M10,9.5C10,10.3 9.3,11 8.5,11C7.7,11 7,10.3 7,9.5C7,8.7 7.7,8 8.5,8C9.3,8 10,8.7 10,9.5M12,17.23C10.25,17.23 8.71,16.5 7.81,15.42L9.23,14C9.68,14.72 10.75,15.23 12,15.23C13.25,15.23 14.32,14.72 14.77,14L16.19,15.42C15.29,16.5 13.75,17.23 12,17.23M17,10H13V9H17V10Z\";\r\nexport var mdiEngine = \"M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\";\r\nexport var mdiEngineOff = \"M3.78,2.5L21.5,20.22L20.23,21.5L18,19.27V20H10L8,18H5V15H3V18H1V10H3V13H5V10L6.87,8.14L2.5,3.77L3.78,2.5M20,9V12H18V8H12V6H15V4H7.82L22.82,19H23V9H20Z\";\r\nexport var mdiEngineOffOutline = \"M2.5,3.77L6.87,8.14L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V19.27L21.23,22.5L22.5,21.22L3.78,2.5L2.5,3.77M16,18H11L9,16H7V11L8,10H8.73L16,17.27V18M23,9V19H22.82L16,12.18V10H13.82L7.82,4H15V6H12V8H18V12H20V9H23Z\";\r\nexport var mdiEngineOutline = \"M8,10H16V18H11L9,16H7V11M7,4V6H10V8H7L5,10V13H3V10H1V18H3V15H5V18H8L10,20H18V16H20V19H23V9H20V12H18V8H12V6H15V4H7Z\";\r\nexport var mdiEpsilon = \"M15.05 7.78L16.15 6.18C16.15 6.18 14.91 5 12.77 5C10.04 5 8.35 6.84 8.35 8.76C8.35 10.68 10.08 11.69 10.08 11.69C10.08 11.69 8 12.38 8 15C8 17.63 10.14 19 12.44 19C15.38 19 17 17.04 17 17.04L15.6 15.5C15.6 15.5 14.14 16.87 12.59 16.87C10.66 16.87 10.21 15.69 10.21 14.92C10.21 13.87 10.54 12.65 13.83 12.65L13.82 10.77C13.82 10.77 10.44 11.11 10.44 8.78C10.44 7.21 11.9 6.92 12.64 6.92C14.28 6.92 15.05 7.78 15.05 7.78\";\r\nexport var mdiEqual = \"M19,10H5V8H19V10M19,16H5V14H19V16Z\";\r\nexport var mdiEqualBox = \"M17,16V14H7V16H17M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M17,10V8H7V10H17Z\";\r\nexport var mdiEqualizer = \"M10,20H14V4H10V20M4,20H8V12H4V20M16,9V20H20V9H16Z\";\r\nexport var mdiEqualizerOutline = \"M15,21H9V3H15V21M11,19H13V5H11V19M8,21H2V11H8V21M4,19H6V13H4V19M22,21H16V8H22V21M18,19H20V10H18V19Z\";\r\nexport var mdiEraser = \"M16.24,3.56L21.19,8.5C21.97,9.29 21.97,10.55 21.19,11.34L12,20.53C10.44,22.09 7.91,22.09 6.34,20.53L2.81,17C2.03,16.21 2.03,14.95 2.81,14.16L13.41,3.56C14.2,2.78 15.46,2.78 16.24,3.56M4.22,15.58L7.76,19.11C8.54,19.9 9.8,19.9 10.59,19.11L14.12,15.58L9.17,10.63L4.22,15.58Z\";\r\nexport var mdiEraserVariant = \"M15.14,3C14.63,3 14.12,3.2 13.73,3.59L2.59,14.73C1.81,15.5 1.81,16.77 2.59,17.56L5.03,20H12.69L21.41,11.27C22.2,10.5 22.2,9.23 21.41,8.44L16.56,3.59C16.17,3.2 15.65,3 15.14,3M17,18L15,20H22V18\";\r\nexport var mdiEscalator = \"M20,8H18.95L6.95,20H4A2,2 0 0,1 2,18A2,2 0 0,1 4,16H5.29L7,14.29V10A1,1 0 0,1 8,9H9A1,1 0 0,1 10,10V11.29L17.29,4H20A2,2 0 0,1 22,6A2,2 0 0,1 20,8M8.5,5A1.5,1.5 0 0,1 10,6.5A1.5,1.5 0 0,1 8.5,8A1.5,1.5 0 0,1 7,6.5A1.5,1.5 0 0,1 8.5,5Z\";\r\nexport var mdiEscalatorBox = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M14.34 6H17.05C18.16 6 19.05 6.9 19.05 8C19.05 9.11 18.16 10 17.05 10H16L10 18H7.05C5.95 18 5.05 17.11 5.05 16C5.05 14.9 5.95 14 7.05 14H8.34L14.34 6Z\";\r\nexport var mdiEscalatorDown = \"M20 8H18.95L6.95 20H4C2.9 20 2 19.11 2 18C2 16.9 2.9 16 4 16H5.29L7 14.29V10C7 9.45 7.45 9 8 9H9C9.55 9 10 9.45 10 10V11.29L17.29 4H20C21.11 4 22 4.89 22 6C22 7.11 21.11 8 20 8M8.5 5C9.33 5 10 5.67 10 6.5C10 7.33 9.33 8 8.5 8C7.67 8 7 7.33 7 6.5C7 5.67 7.67 5 8.5 5M14.83 17.34L20.34 11.83L22.17 13.66L16.66 19.17L18.5 21H13V15.5L14.83 17.34Z\";\r\nexport var mdiEscalatorUp = \"M20 8H18.95L6.95 20H4C2.9 20 2 19.11 2 18C2 16.9 2.9 16 4 16H5.29L7 14.29V10C7 9.45 7.45 9 8 9H9C9.55 9 10 9.45 10 10V11.29L17.29 4H20C21.11 4 22 4.89 22 6C22 7.11 21.11 8 20 8M8.5 5C9.33 5 10 5.67 10 6.5C10 7.33 9.33 8 8.5 8C7.67 8 7 7.33 7 6.5C7 5.67 7.67 5 8.5 5M20.17 15.66L14.66 21.17L12.83 19.34L18.34 13.83L16.5 12H22V17.5L20.17 15.66Z\";\r\nexport var mdiEslint = \"M7.95,9.55L11.84,7.3C11.94,7.25 12.06,7.25 12.16,7.3L16.05,9.55C16.15,9.61 16.21,9.71 16.21,9.82V14.32C16.21,14.43 16.15,14.53 16.05,14.59L12.16,16.84C12.06,16.89 11.94,16.89 11.84,16.84L7.95,14.59C7.85,14.53 7.79,14.43 7.79,14.32V9.82C7.79,9.71 7.85,9.61 7.95,9.55M22.12,11.6C22.29,11.89 22.29,12.23 22.12,12.53L17.47,20.56C17.3,20.86 17,21 16.65,21H7.35C7,21 6.7,20.85 6.53,20.56L1.88,12.53C1.71,12.24 1.71,11.87 1.88,11.58L6.53,3.5C6.7,3.22 7,3 7.35,3H16.65C17,3 17.3,3.22 17.47,3.5L22.12,11.6M18.27,15.5V8.65C18.27,8.53 18.2,8.42 18.09,8.36L12.16,4.95C12.06,4.89 11.93,4.89 11.83,4.95L5.91,8.36C5.8,8.42 5.73,8.53 5.73,8.65V15.5C5.73,15.61 5.8,15.72 5.91,15.78L11.84,19.19C11.94,19.25 12.07,19.25 12.17,19.19L18.09,15.78C18.2,15.72 18.27,15.61 18.27,15.5Z\";\r\nexport var mdiEt = \"M23,8.78L21.71,7.22C21.45,7.42 20.53,8 19.77,8C19.26,8 18.3,7.75 17.45,7.53C16.39,7.26 15.39,7 14.6,7C14,7 13.43,7.15 12.93,7.35C12.62,5.45 11,4 9,4C4.58,4 2,7.58 2,12C2,16.42 5.58,19 10,19C12.06,19 13.93,18.43 15.34,17.39L15,21.29L17,21.47L18,9.74C18.66,9.89 19.27,10 19.77,10C21.38,10 22.84,8.91 23,8.78M9,6A2,2 0 0,1 11,8A2,2 0 0,1 9,10H4.23C4.8,7.67 6.39,6 9,6M10,17C6.69,17 4,15.31 4,12H9C10.6,12 11.83,11.17 12.5,9.91V9.91C12.76,9.71 13.85,9 14.6,9C14.94,9 15.5,9.11 16.05,9.25L15.65,13.89C14.82,15.95 12.6,17 10,17Z\";\r\nexport var mdiEthereum = \"M12,1.75L5.75,12.25L12,16L18.25,12.25L12,1.75M5.75,13.5L12,22.25L18.25,13.5L12,17.25L5.75,13.5Z\";\r\nexport var mdiEthernet = \"M7,15H9V18H11V15H13V18H15V15H17V18H19V9H15V6H9V9H5V18H7V15M4.38,3H19.63C20.94,3 22,4.06 22,5.38V19.63A2.37,2.37 0 0,1 19.63,22H4.38C3.06,22 2,20.94 2,19.63V5.38C2,4.06 3.06,3 4.38,3Z\";\r\nexport var mdiEthernetCable = \"M11,3V7H13V3H11M8,4V11H16V4H14V8H10V4H8M10,12V22H14V12H10Z\";\r\nexport var mdiEthernetCableOff = \"M11,3H13V7H11V3M8,4H10V8H14V4H16V11H12.82L8,6.18V4M20,20.72L18.73,22L14,17.27V22H10V13.27L2,5.27L3.28,4L20,20.72Z\";\r\nexport var mdiEvPlugCcs1 = \"M7.5 20C7.5 20.8 6.8 21.5 6 21.5S4.5 20.8 4.5 20 5.2 18.5 6 18.5 7.5 19.2 7.5 20M18 18.5C17.2 18.5 16.5 19.2 16.5 20S17.2 21.5 18 21.5 19.5 20.8 19.5 20 18.8 18.5 18 18.5M22 20C22 22.2 20.2 24 18 24H6C3.8 24 2 22.2 2 20S3.8 16 6 16H6.3C4.3 14.4 3 11.8 3 9C3 4 7 0 12 0S21 4 21 9C21 11.8 19.7 14.4 17.7 16H18C20.2 16 22 17.8 22 20M12 16C15.9 16 19 12.9 19 9S15.9 2 12 2 5 5.1 5 9 8.1 16 12 16M20 20C20 18.9 19.1 18 18 18H6C4.9 18 4 18.9 4 20S4.9 22 6 22H18C19.1 22 20 21.1 20 20M12.9 6.3C12.9 5.3 13.7 4.5 14.7 4.5S16.5 5.3 16.5 6.3 15.7 8.1 14.7 8.1 12.9 7.3 12.9 6.3M7.5 6.3C7.5 5.3 8.3 4.5 9.3 4.5S11.1 5.3 11.1 6.3 10.3 8.1 9.3 8.1 7.5 7.3 7.5 6.3M9.3 10.2C9.3 10.8 8.8 11.3 8.2 11.3C7.6 11.3 7.1 10.8 7.1 10.2S7.5 9 8.1 9C8.8 9 9.3 9.6 9.3 10.2M13.8 12.7C13.8 13.7 13 14.5 12 14.5S10.2 13.7 10.2 12.7 11 10.9 12 10.9 13.8 11.7 13.8 12.7M17 10.2C17 10.8 16.5 11.3 15.9 11.3C15.3 11.3 14.8 10.8 14.8 10.2S15.2 9 15.9 9C16.5 9 17 9.6 17 10.2\";\r\nexport var mdiEvPlugCcs2 = \"M7.5 19C7.5 19.8 6.8 20.5 6 20.5S4.5 19.8 4.5 19 5.2 17.5 6 17.5 7.5 18.2 7.5 19M18 17.5C17.2 17.5 16.5 18.2 16.5 19S17.2 20.5 18 20.5 19.5 19.8 19.5 19 18.8 17.5 18 17.5M18 15H17.7C19.7 13.4 21 10.8 21 8S19.7 2.6 17.7 1H6.3C4.3 2.6 3 5.2 3 8S4.3 13.4 6.3 15H6C3.8 15 2 16.8 2 19S3.8 23 6 23H18C20.2 23 22 21.2 22 19S20.2 15 18 15M5 8C5 6.1 5.8 4.3 7.1 3H16.9C18.2 4.3 19 6.1 19 8C19 11.9 15.9 15 12 15S5 11.9 5 8M18 21H6C4.9 21 4 20.1 4 19S4.9 17 6 17H18C19.1 17 20 17.9 20 19S19.1 21 18 21M12.9 5.3C12.9 6 13.5 6.6 14.2 6.6C14.9 6.6 15.5 6 15.5 5.3S14.9 4 14.1 4C13.4 4 12.9 4.6 12.9 5.3M8.6 5.3C8.6 6 9.2 6.6 9.9 6.6C10.6 6.6 11.2 6 11.2 5.3S10.6 4 9.9 4C9.1 4 8.6 4.6 8.6 5.3M7.7 10C8.7 10 9.4 9.2 9.4 8.3C9.4 7.4 8.6 6.6 7.7 6.6S6 7.3 6 8.3C6 9.2 6.8 10 7.7 10M11.6 11.7C11.6 10.8 10.8 10 9.9 10C8.9 10 8.2 10.8 8.2 11.7C8.2 12.7 9 13.4 9.9 13.4C10.8 13.4 11.6 12.7 11.6 11.7M12 10C13 10 13.7 9.2 13.7 8.3C13.7 7.4 12.9 6.6 12 6.6S10.3 7.4 10.3 8.3C10.3 9.2 11.1 10 12 10M15.9 11.7C15.9 10.8 15.1 10 14.2 10C13.2 10 12.5 10.8 12.5 11.7C12.5 12.7 13.3 13.4 14.2 13.4C15.1 13.4 15.9 12.7 15.9 11.7M18 8.3C18 7.4 17.2 6.6 16.3 6.6C15.3 6.6 14.6 7.4 14.6 8.3C14.6 9.3 15.4 10 16.3 10C17.2 10 18 9.2 18 8.3\";\r\nexport var mdiEvPlugChademo = \"M7.5 9.5C6.1 9.5 5 10.6 5 12S6.1 14.5 7.5 14.5 10 13.4 10 12 8.9 9.5 7.5 9.5M16.5 9.5C15.1 9.5 14 10.6 14 12S15.1 14.5 16.5 14.5 19 13.4 19 12 17.9 9.5 16.5 9.5M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 5C10.6 5 9.5 6.1 9.5 7.5S10.6 10 12 10 14.5 8.9 14.5 7.5 13.4 5 12 5M13.5 7.5C13.5 7.7 13.4 7.9 13.3 8.1L12.7 7.5L13.3 6.9C13.4 7.1 13.5 7.3 13.5 7.5M12.6 6.2L12 6.8L11.4 6.2C11.6 6.1 11.8 6 12 6S12.4 6.1 12.6 6.2M10.7 8.1C10.6 7.9 10.5 7.7 10.5 7.5S10.6 7.1 10.7 6.9L11.3 7.5L10.7 8.1M11.4 8.8L12 8.2L12.6 8.8C12.4 8.9 12.2 9 12 9S11.6 8.9 11.4 8.8M12 14C10.6 14 9.5 15.1 9.5 16.5S10.6 19 12 19 14.5 17.9 14.5 16.5 13.4 14 12 14M13.5 16.5C13.5 16.7 13.4 16.9 13.3 17.1L12.7 16.5L13.3 15.9C13.4 16.1 13.5 16.3 13.5 16.5M12.6 15.2L12 15.8L11.4 15.2C11.6 15.1 11.8 15 12 15S12.4 15.1 12.6 15.2M10.7 17.1C10.6 16.9 10.5 16.7 10.5 16.5S10.6 16.1 10.7 15.9L11.3 16.5L10.7 17.1M11.4 17.8L12 17.2L12.6 17.8C12.4 17.9 12.2 18 12 18S11.6 17.9 11.4 17.8Z\";\r\nexport var mdiEvPlugTesla = \"M6 9C6 8.45 6.45 8 7 8S8 8.45 8 9 7.55 10 7 10 6 9.55 6 9M17 10C17.55 10 18 9.55 18 9S17.55 8 17 8 16 8.45 16 9 16.45 10 17 10M22 9.93V11C22 15.97 17.97 20 13 20H11C6.03 20 2 16 2 11V9.93C2 6.65 4.65 4 7.93 4H16.07C19.35 4 22 6.65 22 9.93M14.5 9C14.5 10.38 15.62 11.5 17 11.5S19.5 10.38 19.5 9 18.38 6.5 17 6.5 14.5 7.62 14.5 9M4.5 9C4.5 10.38 5.62 11.5 7 11.5S9.5 10.38 9.5 9 8.38 6.5 7 6.5 4.5 7.62 4.5 9M9 17C9 16.45 8.55 16 8 16S7 16.45 7 17 7.45 18 8 18 9 17.55 9 17M13.5 17C13.5 16.17 12.83 15.5 12 15.5S10.5 16.17 10.5 17 11.17 18.5 12 18.5 13.5 17.83 13.5 17M17 17C17 16.45 16.55 16 16 16S15 16.45 15 17 15.45 18 16 18 17 17.55 17 17M19.97 11.66C19.23 12.5 18.18 13 17 13C14.79 13 13 11.21 13 9C13 7.8 13.54 6.73 14.38 6H9.62C10.46 6.73 11 7.8 11 9C11 11.21 9.21 13 7 13C5.82 13 4.76 12.5 4.03 11.66C4.19 13.32 4.93 14.82 6.04 15.94C7.71 14.73 9.76 14 12 14C14.24 14 16.29 14.73 17.96 15.94C19.07 14.82 19.81 13.32 19.97 11.66Z\";\r\nexport var mdiEvPlugType1 = \"M13 9C13 10.1 13.9 11 15 11S17 10.1 17 9 16.1 7 15 7 13 7.9 13 9M7 9C7 10.1 7.9 11 9 11S11 10.1 11 9 10.1 7 9 7 7 7.9 7 9M9 13.2C9 12.6 8.4 12 7.8 12S6.6 12.6 6.6 13.2 7.2 14.4 7.8 14.4 9 13.9 9 13.2M14 16C14 14.9 13.1 14 12 14S10 14.9 10 16 10.9 18 12 18 14 17.1 14 16M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M17.5 13.2C17.5 12.5 16.9 12 16.3 12C15.6 12 15.1 12.6 15.1 13.2S15.7 14.4 16.3 14.4C16.9 14.5 17.5 13.9 17.5 13.2\";\r\nexport var mdiEvPlugType2 = \"M17.3 5C19 6.5 20 8.6 20 11C20 15.4 16.4 19 12 19S4 15.4 4 11C4 8.6 5.1 6.5 6.7 5H17.3M18 3H6L5.4 3.5C3.2 5.4 2 8.1 2 11C2 16.5 6.5 21 12 21S22 16.5 22 11C22 8.1 20.8 5.4 18.6 3.5L18 3M13 7.5C13 8.3 13.7 9 14.5 9S16 8.3 16 7.5 15.3 6 14.5 6 13 6.7 13 7.5M8 7.5C8 8.3 8.7 9 9.5 9S11 8.3 11 7.5 10.3 6 9.5 6 8 6.7 8 7.5M7 13C8.1 13 9 12.1 9 11C9 9.9 8.1 9 7 9S5 9.9 5 11C5 12.1 5.9 13 7 13M11.5 15C11.5 13.9 10.6 13 9.5 13S7.5 13.9 7.5 15C7.5 16.1 8.4 17 9.5 17S11.5 16.1 11.5 15M12 13C13.1 13 14 12.1 14 11C14 9.9 13.1 9 12 9S10 9.9 10 11C10 12.1 10.9 13 12 13M16.5 15C16.5 13.9 15.6 13 14.5 13S12.5 13.9 12.5 15C12.5 16.1 13.4 17 14.5 17S16.5 16.1 16.5 15M19 11C19 9.9 18.1 9 17 9S15 9.9 15 11C15 12.1 15.9 13 17 13S19 12.1 19 11\";\r\nexport var mdiEvStation = \"M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M8,18V13.5H6L10,6V11H12L8,18Z\";\r\nexport var mdiEvernote = \"M15.09,11.63C15.09,11.63 15.28,10.35 16,10.35C16.76,10.35 17.78,12.06 17.78,12.06C17.78,12.06 15.46,11.63 15.09,11.63M19,4.69C18.64,4.09 16.83,3.41 15.89,3.41C14.96,3.41 13.5,3.41 13.5,3.41C13.5,3.41 12.7,2 10.88,2C9.05,2 9.17,2.81 9.17,3.5V6.32L8.34,7.19H4.5C4.5,7.19 3.44,7.91 3.44,9.44C3.44,11 3.92,16.35 7.13,16.85C10.93,17.43 11.58,15.67 11.58,15.46C11.58,14.56 11.6,13.21 11.6,13.21C11.6,13.21 12.71,15.33 14.39,15.33C16.07,15.33 17.04,16.3 17.04,17.29C17.04,18.28 17.04,19.13 17.04,19.13C17.04,19.13 17,20.28 16,20.28C15,20.28 13.89,20.28 13.89,20.28C13.89,20.28 13.2,19.74 13.2,19C13.2,18.25 13.53,18.05 13.93,18.05C14.32,18.05 14.65,18.09 14.65,18.09V16.53C14.65,16.53 11.47,16.5 11.47,18.94C11.47,21.37 13.13,22 14.46,22C15.8,22 16.63,22 16.63,22C16.63,22 20.56,21.5 20.56,13.75C20.56,6 19.33,5.28 19,4.69M7.5,6.31H4.26L8.32,2.22V5.5L7.5,6.31Z\";\r\nexport var mdiExcavator = \"M18.5 18.5C19.04 18.5 19.5 18.96 19.5 19.5S19.04 20.5 18.5 20.5H6.5C5.96 20.5 5.5 20.04 5.5 19.5S5.96 18.5 6.5 18.5H18.5M18.5 17H6.5C5.13 17 4 18.13 4 19.5S5.13 22 6.5 22H18.5C19.88 22 21 20.88 21 19.5S19.88 17 18.5 17M21 11H18V7H13L10 11V16H22L21 11M11.54 11L13.5 8.5H16V11H11.54M9.76 3.41L4.76 2L2 11.83C1.66 13.11 2.41 14.44 3.7 14.8L4.86 15.12L8.15 12.29L4.27 11.21L6.15 4.46L8.94 5.24C9.5 5.53 10.71 6.34 11.47 7.37L12.5 6H12.94C11.68 4.41 9.85 3.46 9.76 3.41Z\";\r\nexport var mdiExclamation = \"M 11,4L 13,4L 13,15L 11,15L 11,4 Z M 13,18L 13,20L 11,20L 11,18L 13,18 Z\";\r\nexport var mdiExclamationThick = \"M10 3H14V14H10V3M10 21V17H14V21H10Z\";\r\nexport var mdiExitRun = \"M13.34,8.17C12.41,8.17 11.65,7.4 11.65,6.47A1.69,1.69 0 0,1 13.34,4.78C14.28,4.78 15.04,5.54 15.04,6.47C15.04,7.4 14.28,8.17 13.34,8.17M10.3,19.93L4.37,18.75L4.71,17.05L8.86,17.9L10.21,11.04L8.69,11.64V14.5H7V10.54L11.4,8.67L12.07,8.59C12.67,8.59 13.17,8.93 13.5,9.44L14.36,10.79C15.04,12 16.39,12.82 18,12.82V14.5C16.14,14.5 14.44,13.67 13.34,12.4L12.84,14.94L14.61,16.63V23H12.92V17.9L11.14,16.21L10.3,19.93M21,23H19V3H6V16.11L4,15.69V1H21V23M6,23H4V19.78L6,20.2V23Z\";\r\nexport var mdiExitToApp = \"M19,3H5C3.89,3 3,3.89 3,5V9H5V5H19V19H5V15H3V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10.08,15.58L11.5,17L16.5,12L11.5,7L10.08,8.41L12.67,11H3V13H12.67L10.08,15.58Z\";\r\nexport var mdiExpandAll = \"M18,8H8V18H6V8A2,2 0 0,1 8,6H18V8M14,2H4A2,2 0 0,0 2,4V14H4V4H14V2M22,12V20A2,2 0 0,1 20,22H12A2,2 0 0,1 10,20V12A2,2 0 0,1 12,10H20A2,2 0 0,1 22,12M20,15H17V12H15V15H12V17H15V20H17V17H20V15Z\";\r\nexport var mdiExpandAllOutline = \"M4,2A2,2 0 0,0 2,4V14H4V4H14V2H4M8,6A2,2 0 0,0 6,8V18H8V8H18V6H8M20,12V20H12V12H20M20,10H12A2,2 0 0,0 10,12V20A2,2 0 0,0 12,22H20A2,2 0 0,0 22,20V12A2,2 0 0,0 20,10M19,17H17V19H15V17H13V15H15V13H17V15H19V17Z\";\r\nexport var mdiExpansionCard = \"M2,7V8.5H3V17H4.5V7C3.7,7 2.8,7 2,7M6,7V7L6,16H7V17H14V16H22V7H6M17.5,9A2.5,2.5 0 0,1 20,11.5A2.5,2.5 0 0,1 17.5,14A2.5,2.5 0 0,1 15,11.5A2.5,2.5 0 0,1 17.5,9Z\";\r\nexport var mdiExpansionCardVariant = \"M2 7H4.5V17H3V8.5H2M22 7V16H14V17H7V16H6V7M10 9H8V12H10M13 9H11V12H13M20 9H15V14H20V9Z\";\r\nexport var mdiExponent = \"M15.38,3L17.77,8.75C17.55,9.68 17.27,10.32 17,10.7C16.67,11.18 16.44,11.25 16.19,11.25V12.75C16.94,12.75 17.74,12.35 18.24,11.56C19.87,8.94 22,3 22,3H20.38L18.69,7.05L17,3H15.38M3.42,8.59L2,10L6.79,14.79L2,19.59L3.41,21L8.21,16.21L13,21L14.41,19.59L9.62,14.79L14.41,10L13,8.59L8.21,13.38L3.41,8.59H3.42Z\";\r\nexport var mdiExponentBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M13.76,6H15.39L16.5,8.6L17.59,6H19.24C19.24,6 17.5,10.57 16.46,12.32C16.08,12.89 15.35,13.27 14.5,13.25V11.75C14.96,11.76 15.25,11.5 15.5,11.13C15.61,11 15.68,10.8 15.74,10.64L13.76,6M6.41,9.59L9.21,12.38L12,9.59L13.41,11L10.62,13.79L13.41,16.59L12,18L9.21,15.21L6.41,18L5,16.59L7.79,13.79L5,11L6.41,9.59Z\";\r\nexport var mdiExport = \"M23,12L19,8V11H10V13H19V16M1,18V6C1,4.89 1.9,4 3,4H15A2,2 0 0,1 17,6V9H15V6H3V18H15V15H17V18A2,2 0 0,1 15,20H3A2,2 0 0,1 1,18Z\";\r\nexport var mdiExportVariant = \"M12,1L8,5H11V14H13V5H16M18,23H6C4.89,23 4,22.1 4,21V9A2,2 0 0,1 6,7H9V9H6V21H18V9H15V7H18A2,2 0 0,1 20,9V21A2,2 0 0,1 18,23Z\";\r\nexport var mdiEye = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\";\r\nexport var mdiEyeArrowLeft = \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.36 19.5 12.72 19.5 13.08 19.45C13.03 19.13 13 18.82 13 18.5C13 17.94 13.08 17.38 13.24 16.84C12.83 16.94 12.42 17 12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12C17 12.29 16.97 12.59 16.92 12.88C17.58 12.63 18.29 12.5 19 12.5C20.17 12.5 21.31 12.84 22.29 13.5C22.56 13 22.8 12.5 23 12C21.27 7.61 17 4.5 12 4.5M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M18 15V17H22V19H18V21L15 18L18 15\";\r\nexport var mdiEyeArrowLeftOutline = \"M12 4.5C7 4.5 2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.36 19.5 12.72 19.5 13.08 19.45C13.03 19.13 13 18.82 13 18.5C13 18.14 13.04 17.78 13.1 17.42C12.74 17.46 12.37 17.5 12 17.5C8.24 17.5 4.83 15.36 3.18 12C4.83 8.64 8.24 6.5 12 6.5S19.17 8.64 20.82 12C20.7 12.24 20.56 12.45 20.43 12.68C21.09 12.84 21.72 13.11 22.29 13.5C22.56 13 22.8 12.5 23 12C21.27 7.61 17 4.5 12 4.5M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M18 15V17H22V19H18V21L15 18L18 15\";\r\nexport var mdiEyeArrowRight = \"M12 4.5C7 4.5 2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5H13.1C13 19.2 13 18.9 13 18.5C13 17.9 13.1 17.4 13.2 16.8C12.8 16.9 12.4 17 12 17C9.2 17 7 14.8 7 12S9.2 7 12 7 17 9.2 17 12C17 12.3 17 12.6 16.9 12.9C17.6 12.7 18.3 12.5 19 12.5C20.2 12.5 21.3 12.8 22.3 13.5C22.6 13 22.8 12.5 23 12C21.3 7.6 17 4.5 12 4.5M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15 15 13.7 15 12 13.7 9 12 9M19 21V19H15V17H19V15L22 18L19 21\";\r\nexport var mdiEyeArrowRightOutline = \"M12 4.5C7 4.5 2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5H13.1C13 19.2 13 18.9 13 18.5C13 18.1 13 17.8 13.1 17.4C12.7 17.4 12.4 17.5 12 17.5C8.2 17.5 4.8 15.4 3.2 12C4.8 8.6 8.2 6.5 12 6.5S19.2 8.6 20.8 12C20.7 12.2 20.5 12.4 20.4 12.7C21.1 12.9 21.7 13.1 22.3 13.5C22.6 13 22.8 12.5 23 12C21.3 7.6 17 4.5 12 4.5M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15 15 13.7 15 12 13.7 9 12 9M19 21V19H15V17H19V15L22 18L19 21\";\r\nexport var mdiEyeCheck = \"M23.5,17L18.5,22L15,18.5L16.5,17L18.5,19L22,15.5L23.5,17M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,17C12.5,17 12.97,16.93 13.42,16.79C13.15,17.5 13,18.22 13,19V19.45L12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5C17,4.5 21.27,7.61 23,12C22.75,12.64 22.44,13.26 22.08,13.85C21.18,13.31 20.12,13 19,13C18.22,13 17.5,13.15 16.79,13.42C16.93,12.97 17,12.5 17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17Z\";\r\nexport var mdiEyeCheckOutline = \"M23.5,17L18.5,22L15,18.5L16.5,17L18.5,19L22,15.5L23.5,17M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.75,12.65 22.44,13.26 22.08,13.85C21.5,13.5 20.86,13.25 20.18,13.12L20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12C4.83,15.36 8.24,17.5 12,17.5L13.21,17.43C13.07,17.93 13,18.46 13,19V19.46L12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5Z\";\r\nexport var mdiEyeCircle = \"M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,16C9.37,16 7,14.43 6,12C7.38,8.69 11.19,7.12 14.5,8.5C16.08,9.16 17.34,10.42 18,12C17,14.43 14.63,16 12,16M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5M12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13Z\";\r\nexport var mdiEyeCircleOutline = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,11A1,1 0 0,1 13,12A1,1 0 0,1 12,13A1,1 0 0,1 11,12A1,1 0 0,1 12,11M12,8C14.63,8 17,9.57 18,12C16.62,15.31 12.81,16.88 9.5,15.5C7.92,14.84 6.66,13.58 6,12C7,9.57 9.37,8 12,8M12,9.5A2.5,2.5 0 0,0 9.5,12A2.5,2.5 0 0,0 12,14.5A2.5,2.5 0 0,0 14.5,12A2.5,2.5 0 0,0 12,9.5\";\r\nexport var mdiEyeClosed = \"M12 17.5C8.2 17.5 4.8 15.4 3.2 12H1C2.7 16.4 7 19.5 12 19.5S21.3 16.4 23 12H20.8C19.2 15.4 15.8 17.5 12 17.5Z\";\r\nexport var mdiEyeLock = \"M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17M15 12C14.1 12.7 13.5 13.6 13.3 14.7C12.9 14.9 12.5 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9 15 10.3 15 12M12 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.8 12.5 22.5 13 22.3 13.5C21.5 12 19.8 11 18 11C17.6 11 17.3 11.1 16.9 11.1C16.5 8.8 14.5 7 12 7C9.2 7 7 9.2 7 12S9.2 17 12 17H12.3C12.1 17.4 12 17.8 12 18.2V19.5Z\";\r\nexport var mdiEyeLockOpen = \"M14.9 11.1C13.9 11.9 13.2 13.1 13.2 14.5V14.7C12.8 14.9 12.4 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9C13.4 9 14.5 9.9 14.9 11.1M12 18.2C12 17.8 12.1 17.4 12.3 17H12C9.2 17 7 14.8 7 12S9.2 7 12 7C14.1 7 15.9 8.3 16.7 10.2C17.1 10.1 17.6 10 18 10C20.1 10 21.9 11.3 22.5 13.1C22.7 12.8 22.8 12.4 23 12C21.3 7.6 17 4.5 12 4.5S2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5V18.2M20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17Z\";\r\nexport var mdiEyeLockOpenOutline = \"M12 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.9 12.4 22.7 12.7 22.5 13.1C22 11.9 21 10.9 19.7 10.4C17.9 8 15.1 6.5 12 6.5C8.2 6.5 4.8 8.6 3.2 12C4.9 15.4 8.3 17.5 12 17.5H12.1C12 17.7 12 18 12 18.2V19.5M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15C12.4 15 12.8 14.9 13.2 14.7V14.5C13.2 13.2 13.9 12 14.9 11.1C14.5 9.9 13.4 9 12 9M20.8 17H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V15H20.8V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17Z\";\r\nexport var mdiEyeLockOutline = \"M20.8 17V15.5C20.8 14.1 19.4 13 18 13S15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17M19.5 17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2S19.5 14.7 19.5 15.5V17M15 12C14.1 12.7 13.5 13.6 13.3 14.7C12.9 14.9 12.5 15 12 15C10.3 15 9 13.7 9 12S10.3 9 12 9 15 10.3 15 12M12 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.8 12.5 22.5 13 22.3 13.5C21.9 12.8 21.4 12.2 20.7 11.8C19 8.5 15.7 6.5 12 6.5C8.2 6.5 4.8 8.6 3.2 12C4.9 15.4 8.3 17.5 12 17.5H12.1C12 17.7 12 18 12 18.2V19.5Z\";\r\nexport var mdiEyeMinus = \"M12 4.5A11.8 11.8 0 0 0 1 12A11.8 11.8 0 0 0 12 19.5H13.1A3.8 3.8 0 0 1 13 18.5A9.9 9.9 0 0 1 13.2 16.8L12 17A5 5 0 1 1 17 12A2.8 2.8 0 0 1 16.9 12.9A5.2 5.2 0 0 1 19 12.5A5.6 5.6 0 0 1 22.3 13.5A10.1 10.1 0 0 0 23 12A11.8 11.8 0 0 0 12 4.5M12 9A3 3 0 1 0 15 12A2.9 2.9 0 0 0 12 9M15 17.5V19.5H23V17.5Z\";\r\nexport var mdiEyeMinusOutline = \"M12 4.5A11.8 11.8 0 0 0 1 12A11.8 11.8 0 0 0 12 19.5H13.1A3.8 3.8 0 0 1 13 18.5A4.1 4.1 0 0 1 13.1 17.4H12A9.6 9.6 0 0 1 3.2 12A9.6 9.6 0 0 1 12 6.5A9.6 9.6 0 0 1 20.8 12L20.4 12.7A4.6 4.6 0 0 1 22.3 13.5A10.1 10.1 0 0 0 23 12A11.8 11.8 0 0 0 12 4.5M12 9A3 3 0 1 0 15 12A2.9 2.9 0 0 0 12 9M15 17.5V19.5H23V17.5Z\";\r\nexport var mdiEyeOff = \"M11.83,9L15,12.16C15,12.11 15,12.05 15,12A3,3 0 0,0 12,9C11.94,9 11.89,9 11.83,9M7.53,9.8L9.08,11.35C9.03,11.56 9,11.77 9,12A3,3 0 0,0 12,15C12.22,15 12.44,14.97 12.65,14.92L14.2,16.47C13.53,16.8 12.79,17 12,17A5,5 0 0,1 7,12C7,11.21 7.2,10.47 7.53,9.8M2,4.27L4.28,6.55L4.73,7C3.08,8.3 1.78,10 1,12C2.73,16.39 7,19.5 12,19.5C13.55,19.5 15.03,19.2 16.38,18.66L16.81,19.08L19.73,22L21,20.73L3.27,3M12,7A5,5 0 0,1 17,12C17,12.64 16.87,13.26 16.64,13.82L19.57,16.75C21.07,15.5 22.27,13.86 23,12C21.27,7.61 17,4.5 12,4.5C10.6,4.5 9.26,4.75 8,5.2L10.17,7.35C10.74,7.13 11.35,7 12,7Z\";\r\nexport var mdiEyeOffOutline = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z\";\r\nexport var mdiEyeOutline = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C17,4.5 21.27,7.61 23,12C21.27,16.39 17,19.5 12,19.5C7,19.5 2.73,16.39 1,12C2.73,7.61 7,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C15.76,17.5 19.17,15.36 20.82,12C19.17,8.64 15.76,6.5 12,6.5C8.24,6.5 4.83,8.64 3.18,12Z\";\r\nexport var mdiEyePlus = \"M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C12.36,19.5 12.72,19.5 13.08,19.45C13.03,19.13 13,18.82 13,18.5C13,17.94 13.08,17.38 13.24,16.84C12.83,16.94 12.42,17 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12C17,12.29 16.97,12.59 16.92,12.88C17.58,12.63 18.29,12.5 19,12.5C20.17,12.5 21.31,12.84 22.29,13.5C22.56,13 22.8,12.5 23,12C21.27,7.61 17,4.5 12,4.5M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M18,14.5V17.5H15V19.5H18V22.5H20V19.5H23V17.5H20V14.5H18Z\";\r\nexport var mdiEyePlusOutline = \"M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C12.36,19.5 12.72,19.5 13.08,19.45C13.03,19.13 13,18.82 13,18.5C13,18.14 13.04,17.78 13.1,17.42C12.74,17.46 12.37,17.5 12,17.5C8.24,17.5 4.83,15.36 3.18,12C4.83,8.64 8.24,6.5 12,6.5C15.76,6.5 19.17,8.64 20.82,12C20.7,12.24 20.56,12.45 20.43,12.68C21.09,12.84 21.72,13.11 22.29,13.5C22.56,13 22.8,12.5 23,12C21.27,7.61 17,4.5 12,4.5M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M18,14.5V17.5H15V19.5H18V22.5H20V19.5H23V17.5H20V14.5H18Z\";\r\nexport var mdiEyeRefresh = \"M12 9C10.3 9 9 10.3 9 12S10.3 15 12 15 15 13.7 15 12 13.7 9 12 9M18 18.5L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18M12.1 19.5C12.1 19.5 12 19.5 12.1 19.5C7 19.5 2.7 16.4 1 12C2.7 7.6 7 4.5 12 4.5S21.3 7.6 23 12C22.8 12.4 22.6 12.9 22.4 13.3C21.3 12.5 20 12 18.5 12C18 12 17.5 12.1 17 12.2V12C17 9.2 14.8 7 12 7S7 9.2 7 12 9.2 17 12 17H12.2C12.1 17.5 12 18 12 18.5C12 18.8 12 19.2 12.1 19.5Z\";\r\nexport var mdiEyeRefreshOutline = \"M12 9C13.7 9 15 10.3 15 12S13.7 15 12 15 9 13.7 9 12 10.3 9 12 9M18 18.5L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18M12 18.5C12 18.2 12 17.8 12.1 17.5H12C8.2 17.5 4.8 15.4 3.2 12C4.8 8.6 8.2 6.5 12 6.5S19.2 8.6 20.8 12C20.7 12.1 20.7 12.2 20.6 12.4C21.2 12.6 21.8 12.9 22.4 13.3C22.6 12.9 22.8 12.4 23 12C21.3 7.6 17 4.5 12 4.5S2.7 7.6 1 12C2.7 16.4 7 19.5 12 19.5H12.1C12 19.2 12 18.8 12 18.5Z\";\r\nexport var mdiEyeRemove = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12C17 12.5 16.9 13 16.77 13.43C17.46 13.16 18.21 13 19 13C20.12 13 21.17 13.32 22.07 13.85C22.43 13.27 22.74 12.65 23 12C21.27 7.61 17 4.5 12 4.5S2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.35 19.5 12.69 19.5 13.03 19.45C13 19.3 13 19.15 13 19C13 18.21 13.16 17.46 13.43 16.77C13 16.9 12.5 17 12 17Z\";\r\nexport var mdiEyeRemoveOutline = \"M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88M12 9C10.34 9 9 10.34 9 12S10.34 15 12 15 15 13.66 15 12 13.66 9 12 9M12 17.5C8.24 17.5 4.83 15.36 3.18 12C4.83 8.64 8.24 6.5 12 6.5S19.17 8.64 20.82 12C20.63 12.39 20.41 12.77 20.17 13.13C20.85 13.26 21.5 13.5 22.07 13.85C22.43 13.27 22.74 12.65 23 12C21.27 7.61 17 4.5 12 4.5S2.73 7.61 1 12C2.73 16.39 7 19.5 12 19.5C12.35 19.5 12.69 19.5 13.03 19.45C13 19.3 13 19.15 13 19C13 18.45 13.08 17.92 13.22 17.41C12.82 17.46 12.41 17.5 12 17.5Z\";\r\nexport var mdiEyeSettings = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7.14,4.5 2.78,7.5 1,12C3.39,18.08 10.25,21.06 16.33,18.67C19.38,17.47 21.8,15.06 23,12C21.22,7.5 16.86,4.5 12,4.5M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiEyeSettingsOutline = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M12,4.5C16.86,4.5 21.22,7.5 23,12C20.61,18.08 13.75,21.06 7.67,18.67C4.62,17.47 2.2,15.06 1,12C2.78,7.5 7.14,4.5 12,4.5M3.18,12C5.56,16.87 11.45,18.89 16.32,16.5C18.28,15.54 19.86,13.96 20.82,12C18.44,7.13 12.55,5.11 7.68,7.5C5.72,8.46 4.14,10.04 3.18,12M9,22H7V24H9V22M13,22H11V24H13V22M17,22H15V24H17V22Z\";\r\nexport var mdiEyedropper = \"M19.35,11.72L17.22,13.85L15.81,12.43L8.1,20.14L3.5,22L2,20.5L3.86,15.9L11.57,8.19L10.15,6.78L12.28,4.65L19.35,11.72M16.76,3C17.93,1.83 19.83,1.83 21,3C22.17,4.17 22.17,6.07 21,7.24L19.08,9.16L14.84,4.92L16.76,3M5.56,17.03L4.5,19.5L6.97,18.44L14.4,11L13,9.6L5.56,17.03Z\";\r\nexport var mdiEyedropperMinus = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M9 4V6H1V4H9Z\";\r\nexport var mdiEyedropperOff = \"M21 7.24L19.08 9.16L14.84 4.92L16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24M10.94 8.82L12.36 10.24L13 9.6L14.4 11L13.76 11.64L15.18 13.06L15.81 12.43L17.22 13.85L19.35 11.72L12.28 4.65L10.15 6.78L11.57 8.19L10.94 8.82M19.86 20.29L18.58 21.57L12.63 15.61L8.1 20.14L3.5 22L2 20.5L3.86 15.9L8.39 11.37L1.86 4.85L3.14 3.57L19.86 20.29M11.21 14.2L9.81 12.79L5.56 17.03L4.5 19.5L6.97 18.44L11.21 14.2Z\";\r\nexport var mdiEyedropperPlus = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M6 1V4H9V6H6V9H4V6H1V4H4V1H6Z\";\r\nexport var mdiEyedropperRemove = \"M19.35 11.72L17.22 13.85L15.81 12.43L8.1 20.14L3.5 22L2 20.5L3.86 15.9L11.57 8.19L10.15 6.78L12.28 4.65L19.35 11.72M16.76 3C17.93 1.83 19.83 1.83 21 3S22.17 6.07 21 7.24L19.08 9.16L14.84 4.92L16.76 3M5.56 17.03L4.5 19.5L6.97 18.44L14.4 11L13 9.6L5.56 17.03M8.54 2.88L6.41 5L8.54 7.12L7.12 8.54L5 6.41L2.88 8.54L1.46 7.12L3.59 5L1.46 2.88L2.88 1.47L5 3.59L7.12 1.47L8.54 2.88Z\";\r\nexport var mdiEyedropperVariant = \"M6.92,19L5,17.08L13.06,9L15,10.94M20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L13.84,6.41L11.91,4.5L10.5,5.91L11.92,7.33L3,16.25V21H7.75L16.67,12.08L18.09,13.5L19.5,12.09L17.58,10.17L20.7,7.05C21.1,6.65 21.1,6 20.71,5.63Z\";\r\nexport var mdiFaceAgent = \"M18.72,14.76C19.07,13.91 19.26,13 19.26,12C19.26,11.28 19.15,10.59 18.96,9.95C18.31,10.1 17.63,10.18 16.92,10.18C13.86,10.18 11.15,8.67 9.5,6.34C8.61,8.5 6.91,10.26 4.77,11.22C4.73,11.47 4.73,11.74 4.73,12A7.27,7.27 0 0,0 12,19.27C13.05,19.27 14.06,19.04 14.97,18.63C15.54,19.72 15.8,20.26 15.78,20.26C14.14,20.81 12.87,21.08 12,21.08C9.58,21.08 7.27,20.13 5.57,18.42C4.53,17.38 3.76,16.11 3.33,14.73H2V10.18H3.09C3.93,6.04 7.6,2.92 12,2.92C14.4,2.92 16.71,3.87 18.42,5.58C19.69,6.84 20.54,8.45 20.89,10.18H22V14.67H22V14.69L22,14.73H21.94L18.38,18L13.08,17.4V15.73H17.91L18.72,14.76M9.27,11.77C9.57,11.77 9.86,11.89 10.07,12.11C10.28,12.32 10.4,12.61 10.4,12.91C10.4,13.21 10.28,13.5 10.07,13.71C9.86,13.92 9.57,14.04 9.27,14.04C8.64,14.04 8.13,13.54 8.13,12.91C8.13,12.28 8.64,11.77 9.27,11.77M14.72,11.77C15.35,11.77 15.85,12.28 15.85,12.91C15.85,13.54 15.35,14.04 14.72,14.04C14.09,14.04 13.58,13.54 13.58,12.91A1.14,1.14 0 0,1 14.72,11.77Z\";\r\nexport var mdiFaceMan = \"M9,11.75A1.25,1.25 0 0,0 7.75,13A1.25,1.25 0 0,0 9,14.25A1.25,1.25 0 0,0 10.25,13A1.25,1.25 0 0,0 9,11.75M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,11.71 4,11.42 4.05,11.14C6.41,10.09 8.28,8.16 9.26,5.77C11.07,8.33 14.05,10 17.42,10C18.2,10 18.95,9.91 19.67,9.74C19.88,10.45 20,11.21 20,12C20,16.41 16.41,20 12,20Z\";\r\nexport var mdiFaceManOutline = \"M10.25,13A1.25,1.25 0 0,1 9,14.25A1.25,1.25 0 0,1 7.75,13A1.25,1.25 0 0,1 9,11.75A1.25,1.25 0 0,1 10.25,13M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M10.66,4.12C12.06,6.44 14.6,8 17.5,8C17.96,8 18.41,7.95 18.84,7.88C17.44,5.56 14.9,4 12,4C11.54,4 11.09,4.05 10.66,4.12M4.42,9.47C6.13,8.5 7.45,6.92 8.08,5.03C6.37,6 5.05,7.58 4.42,9.47M20,12C20,11.22 19.88,10.47 19.67,9.76C18.97,9.91 18.25,10 17.5,10C14.37,10 11.58,8.56 9.74,6.31C8.69,8.87 6.6,10.88 4,11.86C4,11.9 4,11.95 4,12C4,16.41 7.59,20 12,20C16.41,20 20,16.41 20,12Z\";\r\nexport var mdiFaceManProfile = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,8.39C13.57,9.4 15.42,10 17.42,10C18.2,10 18.95,9.91 19.67,9.74C19.88,10.45 20,11.21 20,12C20,16.41 16.41,20 12,20C9,20 6.39,18.34 5,15.89L6.75,14V13A1.25,1.25 0 0,1 8,11.75A1.25,1.25 0 0,1 9.25,13V14H12M16,11.75A1.25,1.25 0 0,0 14.75,13A1.25,1.25 0 0,0 16,14.25A1.25,1.25 0 0,0 17.25,13A1.25,1.25 0 0,0 16,11.75Z\";\r\nexport var mdiFaceManShimmer = \"M18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.59C19.94 11.05 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.96 4 11.91 4 11.87A10 10 0 0 0 9.74 6.31A10 10 0 0 0 17.5 10A10 10 0 0 0 18.83 9.91L17.35 6.65L12.6 4.5L16.13 2.9C14.87 2.33 13.47 2 12 2M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\r\nexport var mdiFaceManShimmerOutline = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.57C19.95 11.04 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.95 4 11.91 4 11.86A10 10 0 0 0 9.74 6.31C11.61 8.61 14.44 10 17.5 10C17.94 10 18.39 9.97 18.83 9.91L17.96 8C17.81 8 17.65 8 17.5 8C14.68 8 12.1 6.5 10.66 4.12C11.1 4.05 11.54 4 12 4C12.5 4 12.96 4.05 13.42 4.13L16.13 2.91C14.87 2.33 13.47 2 12 2M8.09 5A8 8 0 0 1 4.41 9.5C5.04 7.57 6.37 6 8.09 5M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\r\nexport var mdiFaceMask = \"M20.25 6C18.79 6 17.61 7.14 17.5 8.58L12.55 7.16C12.19 7.05 11.81 7.05 11.45 7.16L6.5 8.58C6.39 7.14 5.21 6 3.75 6C2.23 6 1 7.23 1 8.75V12.25C1 13.77 2.23 15 3.75 15H5.68C6.81 17.36 9.21 19 12 19S17.19 17.36 18.32 15H20.25C21.77 15 23 13.77 23 12.25V8.75C23 7.23 21.77 6 20.25 6M5 13.5H3.75C3.06 13.5 2.5 12.94 2.5 12.25V8.75C2.5 8.06 3.06 7.5 3.75 7.5S5 8.06 5 8.75V13.5M15 12L12.4 11.3C12.1 11.2 11.8 11.2 11.6 11.3L9 12V11L11.3 10.3C11.7 10.2 12.2 10.2 12.7 10.3L15 11V12M21.5 12.25C21.5 12.94 20.94 13.5 20.25 13.5H19V8.75C19 8.06 19.56 7.5 20.25 7.5S21.5 8.06 21.5 8.75V12.25Z\";\r\nexport var mdiFaceMaskOutline = \"M15 12L12.4 11.3C12.1 11.2 11.8 11.2 11.6 11.3L9 12V11L11.3 10.3C11.7 10.2 12.2 10.2 12.7 10.3L15 11V12M20.25 6C18.79 6 17.61 7.14 17.5 8.58L12.55 7.16C12.37 7.11 12.19 7.08 12 7.08C11.82 7.08 11.63 7.11 11.45 7.16L6.5 8.58C6.39 7.14 5.21 6 3.75 6C2.23 6 1 7.23 1 8.75V12.25C1 13.77 2.23 15 3.75 15H5.68C6.81 17.36 9.21 19 12 19S17.19 17.36 18.32 15H20.25C21.77 15 23 13.77 23 12.25V8.75C23 7.23 21.77 6 20.25 6M5 13.5H3.75C3.06 13.5 2.5 12.94 2.5 12.25V8.75C2.5 8.06 3.06 7.5 3.75 7.5S5 8.06 5 8.75V13.5M17 12C17 14.76 14.76 17 12 17S7 14.76 7 12L7 10.5L12 9.08H12L17 10.5V12M21.5 12.25C21.5 12.94 20.94 13.5 20.25 13.5H19V8.75C19 8.06 19.56 7.5 20.25 7.5S21.5 8.06 21.5 8.75V12.25Z\";\r\nexport var mdiFaceRecognition = \"M9,11.75A1.25,1.25 0 0,0 7.75,13A1.25,1.25 0 0,0 9,14.25A1.25,1.25 0 0,0 10.25,13A1.25,1.25 0 0,0 9,11.75M15,11.75A1.25,1.25 0 0,0 13.75,13A1.25,1.25 0 0,0 15,14.25A1.25,1.25 0 0,0 16.25,13A1.25,1.25 0 0,0 15,11.75M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12C3.97,11.71 3.97,11.43 4,11.14C6.38,10.1 8.27,8.17 9.26,5.77C11.13,8.42 14.17,10 17.42,10C18.18,10 18.93,9.91 19.67,9.74C20.92,14 18.5,18.43 14.26,19.67C13.5,19.89 12.76,20 12,20M0,2A2,2 0 0,1 2,0H6V2H2V6H0V2M24,22A2,2 0 0,1 22,24H18V22H22V18H24V22M2,24A2,2 0 0,1 0,22V18H2V22H6V24H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22Z\";\r\nexport var mdiFaceWoman = \"M13.75 13C13.75 12.31 14.31 11.75 15 11.75S16.25 12.31 16.25 13 15.69 14.25 15 14.25 13.75 13.69 13.75 13M22 12V22H2V12C2 6.5 6.5 2 12 2S22 6.5 22 12M4 12C4 16.41 7.59 20 12 20S20 16.41 20 12C20 11.21 19.88 10.45 19.67 9.74C18.95 9.91 18.2 10 17.42 10C14.05 10 11.07 8.33 9.26 5.77C8.28 8.16 6.41 10.09 4.05 11.14C4 11.42 4 11.71 4 12M9 14.25C9.69 14.25 10.25 13.69 10.25 13S9.69 11.75 9 11.75 7.75 12.31 7.75 13 8.31 14.25 9 14.25Z\";\r\nexport var mdiFaceWomanOutline = \"M12 2C6.5 2 2 6.5 2 12V22H22V12C22 6.5 17.5 2 12 2M12 4C14.9 4 17.44 5.56 18.84 7.88C18.41 7.95 17.96 8 17.5 8C14.6 8 12.06 6.44 10.66 4.12C11.09 4.05 11.54 4 12 4M8.08 5.03C7.45 6.92 6.13 8.5 4.42 9.47C5.05 7.58 6.37 6 8.08 5.03M4 11.86C6.6 10.88 8.69 8.87 9.74 6.31C11.58 8.56 14.37 10 17.5 10C18.25 10 18.97 9.91 19.67 9.76C19.88 10.47 20 11.22 20 12C20 16.41 16.41 20 12 20S4 16.41 4 12V11.86M4 20V18C4.57 18.75 5.25 19.43 6 20H4M20 20H18C18.75 19.43 19.43 18.75 20 18V20M13.75 13C13.75 12.31 14.31 11.75 15 11.75S16.25 12.31 16.25 13 15.69 14.25 15 14.25 13.75 13.69 13.75 13M7.75 13C7.75 12.31 8.31 11.75 9 11.75S10.25 12.31 10.25 13 9.69 14.25 9 14.25 7.75 13.69 7.75 13Z\";\r\nexport var mdiFaceWomanProfile = \"M17.25 13C17.25 13.69 16.69 14.25 16 14.25S14.75 13.69 14.75 13 15.31 11.75 16 11.75 17.25 12.31 17.25 13M22 12C22 17.5 17.5 22 12 22H2V12C2 6.5 6.5 2 12 2S22 6.5 22 12M7 18C8.41 19.23 10 20 12 20C16.41 20 20 16.41 20 12C20 11.21 19.88 10.45 19.67 9.74C18.95 9.91 18.2 10 17.42 10C15.42 10 13.57 9.4 12 8.39C12 8.39 10.54 13.76 8.03 13C7.37 12.8 7 13.31 7 14\";\r\nexport var mdiFaceWomanShimmer = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41L19.5 1M12 2C6.5 2 2 6.5 2 12V22H22V12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.59C19.94 11.05 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.96 4 11.91 4 11.87A10 10 0 0 0 9.74 6.31A10 10 0 0 0 17.5 10A10 10 0 0 0 18.83 9.91L17.35 6.65L12.6 4.5L16.13 2.9C14.87 2.33 13.47 2 12 2M9 11.75A1.25 1.25 0 0 0 7.75 13A1.25 1.25 0 0 0 9 14.25A1.25 1.25 0 0 0 10.25 13A1.25 1.25 0 0 0 9 11.75M15 11.75A1.25 1.25 0 0 0 13.75 13A1.25 1.25 0 0 0 15 14.25A1.25 1.25 0 0 0 16.25 13A1.25 1.25 0 0 0 15 11.75Z\";\r\nexport var mdiFaceWomanShimmerOutline = \"M19.5 1L18.41 3.41L16 4.5L18.41 5.59L19.5 8L20.6 5.59L23 4.5L20.6 3.41M12 2C6.5 2 2 6.5 2 12V22H22V12C22 10.53 21.67 9.13 21.1 7.87L19.86 10.57C19.95 11.04 20 11.5 20 12C20 16.43 16.43 20 12 20C7.57 20 4 16.43 4 12C4 11.95 4 11.91 4 11.86C6.61 10.89 8.69 8.88 9.74 6.31C11.61 8.61 14.44 10 17.5 10C17.94 10 18.39 9.97 18.83 9.91L17.96 8C17.81 8 17.65 8 17.5 8C14.68 8 12.1 6.5 10.66 4.12C11.1 4.05 11.54 4 12 4C12.5 4 12.96 4.05 13.42 4.13L16.13 2.91C14.87 2.33 13.47 2 12 2M8.09 5C7.46 6.91 6.15 8.5 4.41 9.5C5.04 7.57 6.37 6 8.09 5M9 11.75C8.31 11.75 7.75 12.31 7.75 13C7.75 13.69 8.31 14.25 9 14.25C9.69 14.25 10.25 13.69 10.25 13C10.25 12.31 9.69 11.75 9 11.75M15 11.75C14.31 11.75 13.75 12.31 13.75 13C13.75 13.69 14.31 14.25 15 14.25C15.69 14.25 16.25 13.69 16.25 13C16.25 12.31 15.69 11.75 15 11.75M4 17.97C4.58 18.74 5.26 19.42 6.03 20H4M20 17.97V20H17.97C18.74 19.42 19.42 18.74 20 17.97Z\";\r\nexport var mdiFacebook = \"M12 2.04C6.5 2.04 2 6.53 2 12.06C2 17.06 5.66 21.21 10.44 21.96V14.96H7.9V12.06H10.44V9.85C10.44 7.34 11.93 5.96 14.22 5.96C15.31 5.96 16.45 6.15 16.45 6.15V8.62H15.19C13.95 8.62 13.56 9.39 13.56 10.18V12.06H16.34L15.89 14.96H13.56V21.96A10 10 0 0 0 22 12.06C22 6.53 17.5 2.04 12 2.04Z\";\r\nexport var mdiFacebookGaming = \"M9.5 14.5V9.5H21V21H15.5V14.5H9.5M3 3H21L21 8.5H8.5V15.5H14.5V21H3V3Z\";\r\nexport var mdiFacebookMessenger = \"M12,2C6.36,2 2,6.13 2,11.7C2,14.61 3.19,17.14 5.14,18.87C5.3,19 5.4,19.22 5.41,19.44L5.46,21.22C5.5,21.79 6.07,22.16 6.59,21.93L8.57,21.06C8.74,21 8.93,20.97 9.1,21C10,21.27 11,21.4 12,21.4C17.64,21.4 22,17.27 22,11.7C22,6.13 17.64,2 12,2M18,9.46L15.07,14.13C14.6,14.86 13.6,15.05 12.9,14.5L10.56,12.77C10.35,12.61 10.05,12.61 9.84,12.77L6.68,15.17C6.26,15.5 5.71,15 6,14.54L8.93,9.87C9.4,9.14 10.4,8.95 11.1,9.47L13.44,11.23C13.66,11.39 13.95,11.39 14.16,11.23L17.32,8.83C17.74,8.5 18.29,9 18,9.46Z\";\r\nexport var mdiFacebookWorkplace = \"M19.69,16.12C19.42,16.43 18.95,16.92 18.19,16.92C17.13,16.92 16.78,16.15 16.46,15.34L14.86,11.41L13.26,15.34C13,16 12.7,16.92 11.53,16.92C10.36,16.92 10.07,16 9.79,15.34L7.11,8.72H9.37L11.53,14.17L13.14,10.2C13.39,9.57 13.69,8.62 14.86,8.62C16,8.62 16.32,9.57 16.58,10.2L18.33,14.5C19.22,13.14 19.6,11.5 19.38,9.89C19.16,8.28 18.37,6.8 17.14,5.73C15.92,4.66 14.34,4.06 12.72,4.06C11.03,4.05 9.39,4.58 8,5.56C6.66,6.55 5.64,7.94 5.12,9.54C4.6,11.14 4.6,12.87 5.12,14.47C5.64,16.07 6.66,17.46 8.03,18.44C9.4,19.43 11.04,19.95 12.72,19.94C13.45,19.94 14.17,19.84 14.87,19.64V21.75C14.16,21.91 13.44,22 12.72,22C10.61,22 8.54,21.34 6.82,20.1C5.1,18.86 3.82,17.11 3.17,15.1C2.5,13.09 2.5,10.92 3.16,8.9C3.82,6.89 5.1,5.14 6.82,3.9C8.53,2.66 10.6,2 12.72,2C17.56,2 21.5,5.94 21.5,10.79C21.5,12.71 20.86,14.59 19.69,16.12V16.12Z\";\r\nexport var mdiFactory = \"M4,18V20H8V18H4M4,14V16H14V14H4M10,18V20H14V18H10M16,14V16H20V14H16M16,18V20H20V18H16M2,22V8L7,12V8L12,12V8L17,12L18,2H21L22,12V22H2Z\";\r\nexport var mdiFamilyTree = \"M12 1A2.5 2.5 0 0 0 9.5 3.5A2.5 2.5 0 0 0 11 5.79V7H7A2 2 0 0 0 5 9V9.71A2.5 2.5 0 0 0 3.5 12A2.5 2.5 0 0 0 5 14.29V15H4A2 2 0 0 0 2 17V18.21A2.5 2.5 0 0 0 .5 20.5A2.5 2.5 0 0 0 3 23A2.5 2.5 0 0 0 5.5 20.5A2.5 2.5 0 0 0 4 18.21V17H8V18.21A2.5 2.5 0 0 0 6.5 20.5A2.5 2.5 0 0 0 9 23A2.5 2.5 0 0 0 11.5 20.5A2.5 2.5 0 0 0 10 18.21V17A2 2 0 0 0 8 15H7V14.29A2.5 2.5 0 0 0 8.5 12A2.5 2.5 0 0 0 7 9.71V9H17V9.71A2.5 2.5 0 0 0 15.5 12A2.5 2.5 0 0 0 17 14.29V15H16A2 2 0 0 0 14 17V18.21A2.5 2.5 0 0 0 12.5 20.5A2.5 2.5 0 0 0 15 23A2.5 2.5 0 0 0 17.5 20.5A2.5 2.5 0 0 0 16 18.21V17H20V18.21A2.5 2.5 0 0 0 18.5 20.5A2.5 2.5 0 0 0 21 23A2.5 2.5 0 0 0 23.5 20.5A2.5 2.5 0 0 0 22 18.21V17A2 2 0 0 0 20 15H19V14.29A2.5 2.5 0 0 0 20.5 12A2.5 2.5 0 0 0 19 9.71V9A2 2 0 0 0 17 7H13V5.79A2.5 2.5 0 0 0 14.5 3.5A2.5 2.5 0 0 0 12 1M12 2.5A1 1 0 0 1 13 3.5A1 1 0 0 1 12 4.5A1 1 0 0 1 11 3.5A1 1 0 0 1 12 2.5M6 11A1 1 0 0 1 7 12A1 1 0 0 1 6 13A1 1 0 0 1 5 12A1 1 0 0 1 6 11M18 11A1 1 0 0 1 19 12A1 1 0 0 1 18 13A1 1 0 0 1 17 12A1 1 0 0 1 18 11M3 19.5A1 1 0 0 1 4 20.5A1 1 0 0 1 3 21.5A1 1 0 0 1 2 20.5A1 1 0 0 1 3 19.5M9 19.5A1 1 0 0 1 10 20.5A1 1 0 0 1 9 21.5A1 1 0 0 1 8 20.5A1 1 0 0 1 9 19.5M15 19.5A1 1 0 0 1 16 20.5A1 1 0 0 1 15 21.5A1 1 0 0 1 14 20.5A1 1 0 0 1 15 19.5M21 19.5A1 1 0 0 1 22 20.5A1 1 0 0 1 21 21.5A1 1 0 0 1 20 20.5A1 1 0 0 1 21 19.5Z\";\r\nexport var mdiFan = \"M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11M12.5,2C17,2 17.11,5.57 14.75,6.75C13.76,7.24 13.32,8.29 13.13,9.22C13.61,9.42 14.03,9.73 14.35,10.13C18.05,8.13 22.03,8.92 22.03,12.5C22.03,17 18.46,17.1 17.28,14.73C16.78,13.74 15.72,13.3 14.79,13.11C14.59,13.59 14.28,14 13.88,14.34C15.87,18.03 15.08,22 11.5,22C7,22 6.91,18.42 9.27,17.24C10.25,16.75 10.69,15.71 10.89,14.79C10.4,14.59 9.97,14.27 9.65,13.87C5.96,15.85 2,15.07 2,11.5C2,7 5.56,6.89 6.74,9.26C7.24,10.25 8.29,10.68 9.22,10.87C9.41,10.39 9.73,9.97 10.14,9.65C8.15,5.96 8.94,2 12.5,2Z\";\r\nexport var mdiFanAlert = \"M10 11C9.43 11 9 11.45 9 12S9.43 13 10 13C10.54 13 11 12.55 11 12S10.54 11 10 11M10.5 2C15 2 15.09 5.57 12.73 6.75C11.74 7.24 11.3 8.29 11.11 9.22C11.59 9.42 12 9.73 12.33 10.13C16.03 8.13 20 8.92 20 12.5C20 17 16.43 17.1 15.26 14.73C14.76 13.74 13.7 13.3 12.77 13.11C12.57 13.59 12.26 14 11.86 14.34C13.85 18.03 13.06 22 9.5 22C5 22 4.9 18.42 7.26 17.24C8.24 16.75 8.68 15.71 8.88 14.79C8.39 14.59 7.96 14.27 7.64 13.87C3.95 15.85 0 15.07 0 11.5C0 7 3.56 6.89 4.73 9.26C5.23 10.25 6.28 10.68 7.21 10.87C7.4 10.39 7.72 9.97 8.13 9.65C6.14 5.96 6.93 2 10.5 2M22 13V7H24V13H22M22 17V15H24V17H22Z\";\r\nexport var mdiFanAuto = \"M12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2M12 11C12.54 11 13 11.45 13 12C13 12.55 12.54 13 12 13C11.43 13 11 12.55 11 12C11 11.45 11.43 11 12 11M18 15C16.89 15 16 15.9 16 17V23H18V21H20V23H22V17C22 15.9 21.1 15 20 15M18 17H20V19H18Z\";\r\nexport var mdiFanChevronDown = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M19 19.17L22.17 16L23.59 17.41L19 22L14.41 17.41L15.83 16L19 19.17\";\r\nexport var mdiFanChevronUp = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M19 17.83L15.83 21L14.41 19.59L19 15L23.59 19.59L22.17 21L19 17.83\";\r\nexport var mdiFanClock = \"M16 14H17.5V16.8L19.9 18.2L19.1 19.5L16 17.7V14M21 11.3C20.8 7.9 17 7.2 13.3 9.2C13 8.8 12.6 8.5 12.1 8.3C12.3 7.4 12.7 6.3 13.7 5.8C16.1 4.6 16 1 11.5 1C7.9 1 7.2 5 9.1 8.7C8.7 9 8.4 9.4 8.2 9.9C7.3 9.7 6.2 9.3 5.7 8.3C4.6 5.9 1 6 1 10.5C1 14.1 5 14.8 8.7 12.9C9 13.3 9.5 13.6 9.9 13.8C9.7 14.7 9.3 15.8 8.3 16.3C5.9 17.4 6 21 10.5 21C10.8 21 11 21 11.2 20.9C12.5 22.8 14.6 24 17 24C20.9 24 24 20.9 24 17C24 14.6 22.8 12.5 21 11.3M11 10C11.6 10 12 10.4 12 11S11.6 12 11 12 10 11.6 10 11 10.4 10 11 10M17 22C14.2 22 12 19.8 12 17S14.2 12 17 12 22 14.2 22 17 19.8 22 17 22Z\";\r\nexport var mdiFanMinus = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M23 18V20H15V18H23Z\";\r\nexport var mdiFanOff = \"M12.5,2C9.64,2 8.57,4.55 9.29,7.47L15,13.16C15.87,13.37 16.81,13.81 17.28,14.73C18.46,17.1 22.03,17 22.03,12.5C22.03,8.92 18.05,8.13 14.35,10.13C14.03,9.73 13.61,9.42 13.13,9.22C13.32,8.29 13.76,7.24 14.75,6.75C17.11,5.57 17,2 12.5,2M3.28,4L2,5.27L4.47,7.73C3.22,7.74 2,8.87 2,11.5C2,15.07 5.96,15.85 9.65,13.87C9.97,14.27 10.4,14.59 10.89,14.79C10.69,15.71 10.25,16.75 9.27,17.24C6.91,18.42 7,22 11.5,22C13.8,22 14.94,20.36 14.94,18.21L18.73,22L20,20.72L3.28,4Z\";\r\nexport var mdiFanPlus = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiFanRemove = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88Z\";\r\nexport var mdiFanSpeed1 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M17 15V17H18V23H20V15H17Z\";\r\nexport var mdiFanSpeed2 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M16 15V17H19V18H18C16.9 18 16 18.9 16 20V23H21V21H18V20H19C20.11 20 21 19.11 21 18V17C21 15.9 20.11 15 19 15H16Z\";\r\nexport var mdiFanSpeed3 = \"M13 19C13 17.59 13.5 16.3 14.3 15.28C14.17 14.97 14.03 14.65 13.86 14.34C14.26 14 14.57 13.59 14.77 13.11C15.26 13.21 15.78 13.39 16.25 13.67C17.07 13.25 18 13 19 13C20.05 13 21.03 13.27 21.89 13.74C21.95 13.37 22 12.96 22 12.5C22 8.92 18.03 8.13 14.33 10.13C14 9.73 13.59 9.42 13.11 9.22C13.3 8.29 13.74 7.24 14.73 6.75C17.09 5.57 17 2 12.5 2C8.93 2 8.14 5.96 10.13 9.65C9.72 9.97 9.4 10.39 9.21 10.87C8.28 10.68 7.23 10.25 6.73 9.26C5.56 6.89 2 7 2 11.5C2 15.07 5.95 15.85 9.64 13.87C9.96 14.27 10.39 14.59 10.88 14.79C10.68 15.71 10.24 16.75 9.26 17.24C6.9 18.42 7 22 11.5 22C12.31 22 13 21.78 13.5 21.41C13.19 20.67 13 19.86 13 19M12 13C11.43 13 11 12.55 11 12S11.43 11 12 11C12.54 11 13 11.45 13 12S12.54 13 12 13M21 21V20.5C21 19.67 20.33 19 19.5 19C20.33 19 21 18.33 21 17.5V17C21 15.89 20.1 15 19 15H16V17H19V18H17V20H19V21H16V23H19C20.11 23 21 22.11 21 21\";\r\nexport var mdiFastForward = \"M13,6V18L21.5,12M4,18L12.5,12L4,6V18Z\";\r\nexport var mdiFastForward10 = \"M10,12V22H8V14H6V12H10M18,14V20C18,21.11 17.11,22 16,22H14A2,2 0 0,1 12,20V14A2,2 0 0,1 14,12H16C17.11,12 18,12.9 18,14M14,14V20H16V14H14M11.5,3C14.15,3 16.55,4 18.4,5.6L21,3V10H14L16.62,7.38C15.23,6.22 13.46,5.5 11.5,5.5C7.96,5.5 4.95,7.81 3.9,11L1.53,10.22C2.92,6.03 6.85,3 11.5,3Z\";\r\nexport var mdiFastForward15 = \"M11.5 3C14.15 3 16.55 4 18.4 5.6L21 3V10H14L16.62 7.38C15.23 6.22 13.46 5.5 11.5 5.5C7.96 5.5 4.95 7.81 3.9 11L1.53 10.22C2.92 6.03 6.85 3 11.5 3M10 12V22H8V14H6V12H10M12 12H18V14H14V16H16C17.11 16 18 16.9 18 18V20C18 21.11 17.11 22 16 22H12V20H16V18H12V12Z\";\r\nexport var mdiFastForward30 = \"M11.5,3C6.85,3 2.92,6.03 1.53,10.22L3.9,11C4.95,7.81 7.96,5.5 11.5,5.5C13.46,5.5 15.23,6.22 16.62,7.38L14,10H21V3L18.4,5.6C16.55,4 14.15,3 11.5,3M19,14V20C19,21.11 18.11,22 17,22H15A2,2 0 0,1 13,20V14A2,2 0 0,1 15,12H17C18.11,12 19,12.9 19,14M15,14V20H17V14H15M11,20C11,21.11 10.1,22 9,22H5V20H9V18H7V16H9V14H5V12H9A2,2 0 0,1 11,14V15.5A1.5,1.5 0 0,1 9.5,17A1.5,1.5 0 0,1 11,18.5V20Z\";\r\nexport var mdiFastForward45 = \"M11.5 3C14.1 3 16.5 4 18.4 5.6L21 3V10H14L16.6 7.4C15.2 6.2 13.4 5.5 11.5 5.5C8 5.5 4.9 7.8 3.9 11L1.5 10.2C2.9 6 6.8 3 11.5 3M13 12H19V14H15V16H17C18.1 16 19 16.9 19 18V20C19 21.1 18.1 22 17 22H13V20H17V18H13V12M5 12V18H9V22H11V12H9V16H7V12H5Z\";\r\nexport var mdiFastForward5 = \"M11.5 3C14.15 3 16.55 4 18.4 5.6L21 3V10H14L16.62 7.38C15.23 6.22 13.46 5.5 11.5 5.5C7.96 5.5 4.95 7.81 3.9 11L1.53 10.22C2.92 6.03 6.85 3 11.5 3M9 12H15V14H11V16H13C14.11 16 15 16.9 15 18V20C15 21.11 14.11 22 13 22H9V20H13V18H9V12Z\";\r\nexport var mdiFastForward60 = \"M11.5 3C6.8 3 2.9 6 1.5 10.2L3.9 11C4.9 7.8 8 5.5 11.5 5.5C13.5 5.5 15.2 6.2 16.6 7.4L14 10H21V3L18.4 5.6C16.5 4 14.1 3 11.5 3M19 14V20C19 21.1 18.1 22 17 22H15C13.9 22 13 21.1 13 20V14C13 12.9 13.9 12 15 12H17C18.1 12 19 12.9 19 14M15 14V20H17V14H15M7 12C5.9 12 5 12.9 5 14V20C5 21.1 5.9 22 7 22H9C10.1 22 11 21.1 11 20V18C11 16.9 10.1 16 9 16H7V14H11V12H7M7 18H9V20H7V18Z\";\r\nexport var mdiFastForwardOutline = \"M15,9.9L18,12L15,14.1V9.9M6,9.9L9,12L6,14.1V9.9M13,6V18L21.5,12L13,6M4,6V18L12.5,12L4,6Z\";\r\nexport var mdiFaucet = \"M19 14V16H16V14.28L19 14M19 13C19 11.9 18 11 16.8 11H10V10H5V21H10V13.91L19 13M5 9H10V7L15.36 5.21C15.74 5.09 16 4.73 16 4.33C16 3.68 15.36 3.23 14.75 3.45L5 7V9Z\";\r\nexport var mdiFaucetVariant = \"M21 21H3C3 19.9 3.9 19 5 19H19C20.11 19 21 19.89 21 21M19 7C19 5.39 17.93 3 15 3S11 5.39 11 7V18H13V7C13 6.54 13.17 5 15 5S17 6.54 17 7H16.5V9H19.5V7H19M7 12C6.45 12 6 12.45 6 13V14H3V15H6V18H8V13C8 12.45 7.55 12 7 12M21 14H18V13C18 12.45 17.55 12 17 12S16 12.45 16 13V18H18V15H21V14Z\";\r\nexport var mdiFax = \"M19 9H18V4H8V20H22V12C22 10.34 20.66 9 19 9M10 6H16V9H10V6M14 17H10V12H14V17M16 17C15.45 17 15 16.55 15 16C15 15.45 15.45 15 16 15C16.55 15 17 15.45 17 16C17 16.55 16.55 17 16 17M16 14C15.45 14 15 13.55 15 13S15.45 12 16 12C16.55 12 17 12.45 17 13S16.55 14 16 14M19 17C18.45 17 18 16.55 18 16C18 15.45 18.45 15 19 15S20 15.45 20 16C20 16.55 19.55 17 19 17M19 14C18.45 14 18 13.55 18 13S18.45 12 19 12 20 12.45 20 13 19.55 14 19 14M4.5 8C3.12 8 2 9.12 2 10.5V18.5C2 19.88 3.12 21 4.5 21S7 19.88 7 18.5V10.5C7 9.12 5.88 8 4.5 8Z\";\r\nexport var mdiFeather = \"M22,2C22,2 14.36,1.63 8.34,9.88C3.72,16.21 2,22 2,22L3.94,21C5.38,18.5 6.13,17.47 7.54,16C10.07,16.74 12.71,16.65 15,14C13,13.44 11.4,13.57 9.04,13.81C11.69,12 13.5,11.6 16,12L17,10C15.2,9.66 14,9.63 12.22,10.04C14.19,8.65 15.56,7.87 18,8L19.21,6.07C17.65,5.96 16.71,6.13 14.92,6.57C16.53,5.11 18,4.45 20.14,4.32C20.14,4.32 21.19,2.43 22,2Z\";\r\nexport var mdiFeatureSearch = \"M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.2,4.8 9,5.6 9,6.5C9,10.1 11.9,13 15.5,13C16.3,13 17,12.9 17.6,12.6L20,15V20M19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9M15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9Z\";\r\nexport var mdiFeatureSearchOutline = \"M15.5,2C13,2 11,4 11,6.5C11,9 13,11 15.5,11C16.4,11 17.2,10.7 17.9,10.3L21,13.4L22.4,12L19.3,8.9C19.7,8.2 20,7.4 20,6.5C20,4 18,2 15.5,2M4,4A2,2 0 0,0 2,6V20A2,2 0 0,0 4,22H18A2,2 0 0,0 20,20V15L18,13V20H4V6H9.03C9.09,5.3 9.26,4.65 9.5,4H4M15.5,4C16.9,4 18,5.1 18,6.5C18,7.9 16.9,9 15.5,9C14.1,9 13,7.9 13,6.5C13,5.1 14.1,4 15.5,4Z\";\r\nexport var mdiFedora = \"M12 2C6.5 2 2 6.47 2 12H2V19.73H2C2 21 3 22 4.27 22H12C17.53 22 22 17.5 22 12C22 6.5 17.5 2 12 2M14.03 6.12C15.71 6.12 17.29 7.4 17.29 9.18C17.29 9.34 17.29 9.5 17.27 9.69C17.22 10.16 16.79 10.5 16.32 10.44C15.85 10.37 15.53 9.92 15.62 9.46C15.62 9.4 15.63 9.32 15.63 9.18C15.63 8.17 14.81 7.78 14.03 7.78C13.25 7.78 12.55 8.44 12.55 9.18C12.56 10.03 12.55 10.88 12.55 11.74L14 11.72C15.12 11.7 15.13 13.4 14 13.39L12.55 13.4L12.54 15.79C12.36 17.67 10.77 19.16 8.85 19.16C6.82 19.16 5.14 17.5 5.14 15.46C5.2 13.37 6.88 11.72 9 11.74L10.15 11.73V13.4L9 13.41H8.97C7.81 13.44 6.82 14.23 6.81 15.47C6.81 16.59 7.72 17.5 8.85 17.5C10 17.5 10.88 16.67 10.88 15.47C10.9 13.46 10.87 11.25 10.88 9.17C10.88 9.05 10.89 8.96 10.9 8.83C11.09 7.29 12.47 6.12 14.03 6.12\";\r\nexport var mdiFence = \"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13Z\";\r\nexport var mdiFenceElectric = \"M9 9V11H7V9H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V9H17V11H15V9H13V11H11V9H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13M7 4H11V2L17 5H13V7L7 4Z\";\r\nexport var mdiFencing = \"M4.5 17.42L5.58 18.5L3.28 20.78C3 21.07 2.5 21.07 2.22 20.78S1.93 20 2.22 19.72L4.5 17.42M18.29 5.42L18.29 4L12 10.29L5.71 4L5.71 5.42L11.29 11L7.5 14.81C6.32 13.97 4.68 14.07 3.63 15.12L7.88 19.37C8.93 18.32 9.03 16.68 8.2 15.5L18.29 5.42M21.78 19.72L19.5 17.42L18.42 18.5L20.72 20.78C21 21.07 21.5 21.07 21.78 20.78S22.07 20 21.78 19.72M16.5 14.81L13.42 11.71L12.71 12.42L15.81 15.5C14.97 16.68 15.07 18.32 16.12 19.37L20.37 15.12C19.32 14.07 17.68 13.97 16.5 14.81Z\";\r\nexport var mdiFerrisWheel = \"M12,19C12.86,19 13.59,19.54 13.87,20.29C14.42,20.17 14.95,20 15.46,19.77L13.7,15.62C13.18,15.87 12.61,16 12,16C11.39,16 10.82,15.87 10.3,15.62L8.54,19.77C9.05,20 9.58,20.17 10.13,20.29C10.41,19.54 11.14,19 12,19M18.25,17.76C18,17.42 17.81,17 17.81,16.5C17.81,15.41 18.71,14.5 19.81,14.5L20.12,14.53C20.37,13.73 20.5,12.88 20.5,12C20.5,11.12 20.37,10.27 20.12,9.5H19.81C18.7,9.5 17.81,8.61 17.81,7.5C17.81,7 17.97,6.59 18.25,6.24C17.1,5 15.59,4.09 13.87,3.71C13.59,4.46 12.86,5 12,5C11.14,5 10.41,4.46 10.13,3.71C8.41,4.09 6.9,5 5.75,6.24C6.03,6.59 6.2,7.03 6.2,7.5C6.2,8.61 5.3,9.5 4.2,9.5H3.88C3.63,10.28 3.5,11.12 3.5,12C3.5,12.89 3.64,13.74 3.89,14.55L4.2,14.5C5.31,14.5 6.2,15.42 6.2,16.5C6.2,17 6.04,17.43 5.76,17.77C6.08,18.12 6.44,18.44 6.81,18.73L8.71,14.27C8.26,13.62 8,12.84 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12C16,12.84 15.74,13.62 15.29,14.27L17.19,18.73C17.57,18.44 17.92,18.11 18.25,17.76M12,23C11,23 10.16,22.26 10,21.29C9.37,21.16 8.75,20.95 8.15,20.69L7.17,23H5L6.41,19.68C5.88,19.3 5.39,18.86 4.96,18.37C4.72,18.47 4.47,18.5 4.2,18.5A2,2 0 0,1 2.2,16.5C2.2,15.88 2.5,15.32 2.97,14.95C2.66,14 2.5,13.03 2.5,12C2.5,11 2.66,10 2.96,9.08C2.5,8.71 2.2,8.15 2.2,7.5C2.2,6.41 3.09,5.5 4.2,5.5C4.46,5.5 4.71,5.56 4.93,5.65C6.25,4.18 8,3.13 10,2.71C10.16,1.74 11,1 12,1C13,1 13.84,1.74 14,2.71C16,3.13 17.74,4.18 19.06,5.64C19.29,5.55 19.54,5.5 19.81,5.5A2,2 0 0,1 21.81,7.5C21.81,8.14 21.5,8.71 21.04,9.07C21.34,10 21.5,11 21.5,12C21.5,13 21.34,14 21.04,14.93C21.5,15.3 21.81,15.87 21.81,16.5C21.81,17.62 20.92,18.5 19.81,18.5C19.54,18.5 19.29,18.46 19.05,18.36C18.61,18.85 18.12,19.29 17.59,19.68L19,23H16.83L15.85,20.69C15.25,20.95 14.63,21.16 14,21.29C13.84,22.26 13,23 12,23Z\";\r\nexport var mdiFerry = \"M6,6H18V9.96L12,8L6,9.96M3.94,19H4C5.6,19 7,18.12 8,17C9,18.12 10.4,19 12,19C13.6,19 15,18.12 16,17C17,18.12 18.4,19 20,19H20.05L21.95,12.31C22.03,12.06 22,11.78 21.89,11.54C21.76,11.3 21.55,11.12 21.29,11.04L20,10.62V6C20,4.89 19.1,4 18,4H15V1H9V4H6A2,2 0 0,0 4,6V10.62L2.71,11.04C2.45,11.12 2.24,11.3 2.11,11.54C2,11.78 1.97,12.06 2.05,12.31M20,21C18.61,21 17.22,20.53 16,19.67C13.56,21.38 10.44,21.38 8,19.67C6.78,20.53 5.39,21 4,21H2V23H4C5.37,23 6.74,22.65 8,22C10.5,23.3 13.5,23.3 16,22C17.26,22.65 18.62,23 20,23H22V21H20Z\";\r\nexport var mdiFile = \"M13,9V3.5L18.5,9M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6Z\";\r\nexport var mdiFileAccount = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M14,20V19C14,17.67 11.33,17 10,17C8.67,17 6,17.67 6,19V20H14M10,12A2,2 0 0,0 8,14A2,2 0 0,0 10,16A2,2 0 0,0 12,14A2,2 0 0,0 10,12Z\";\r\nexport var mdiFileAccountOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M13 13C13 14.1 12.1 15 11 15S9 14.1 9 13 9.9 11 11 11 13 11.9 13 13M15 18V19H7V18C7 16.67 9.67 16 11 16S15 16.67 15 18Z\";\r\nexport var mdiFileAlert = \"M20 17H22V15H20V17M20 7V13H22V7M4 2C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H16C17.11 22 18 21.11 18 20V8L12 2M11 3.5L16.5 9H11Z\";\r\nexport var mdiFileAlertOutline = \"M20 17H22V15H20V17M20 7V13H22V7M4 2C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H16C17.11 22 18 21.11 18 20V8L12 2M4 4H11V9H16V20H4Z\";\r\nexport var mdiFileArrowLeftRight = \"M19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M13 3.5L18.5 9H13V3.5M20 19.5V18H16V16H20V14.5L23 17L20 19.5M18 20H22V22H18V23.5L15 21L18 18.5V20Z\";\r\nexport var mdiFileArrowLeftRightOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V9H13V4H6V20H13.09M23 17L20 14.5V16H16V18H20V19.5L23 17M18 18.5L15 21L18 23.5V22H22V20H18V18.5Z\";\r\nexport var mdiFileArrowUpDown = \"M19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M13 3.5L18.5 9H13V3.5M23.5 20L21 23L18.5 20H20V16H22V20H23.5M19.5 18H18V22H16V18H14.5L17 15L19.5 18Z\";\r\nexport var mdiFileArrowUpDownOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V9H13V4H6V20H13.09M17 15L14.5 18H16V22H18V18H19.5L17 15M22 20V16H20V20H18.5L21 23L23.5 20H22Z\";\r\nexport var mdiFileCabinet = \"M14,8H10V6H14V8M20,4V20C20,21.11 19.11,22 18,22H6C4.89,22 4,21.11 4,20V4A2,2 0 0,1 6,2H18C19.11,2 20,2.9 20,4M18,13H6V20H18V13M18,4H6V11H18V4M14,15H10V17H14V15Z\";\r\nexport var mdiFileCad = \"M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M13 3.5L18.5 9H13M9.88 9.25H11.12V10.19C11.81 10.18 12.38 10.75 12.38 11.44V13.5L12.26 13.63L13.15 15.17C13.47 14.67 13.63 14.09 13.62 13.5H14.88C14.88 14.54 14.5 15.55 13.83 16.35L15.5 19.25V20.5L14.42 19.88L12.87 17.19C12.17 17.65 11.34 17.89 10.5 17.89C9.66 17.89 8.84 17.65 8.13 17.19L6.58 19.88L5.5 20.5V19.25L8.74 13.63L8.62 13.5V11.44C8.62 10.75 9.19 10.18 9.88 10.19M10.5 11.44C9.81 11.44 9.46 12.28 9.95 12.77C10.44 13.26 11.28 12.92 11.28 12.22C11.28 11.79 10.93 11.44 10.5 11.44M9.66 14.54L8.76 16.11C9.81 16.82 11.19 16.82 12.24 16.11L11.34 14.54C10.87 15 10.13 15 9.66 14.54Z\";\r\nexport var mdiFileCadBox = \"M5 3C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M11.25 5.25H12.75V6.38C13.58 6.38 14.25 7.05 14.25 7.88V10.37L14.11 10.5L15.18 12.36C15.55 11.76 15.75 11.07 15.75 10.36H17.25C17.26 11.61 16.81 12.82 16 13.77L18 17.25V18.75L16.7 18L14.84 14.78C13.12 15.91 10.89 15.91 9.16 14.78L7.3 18L6 18.75V17.25L9.89 10.5L9.75 10.37V7.88C9.75 7.05 10.42 6.38 11.25 6.38M12 7.88C11.16 7.88 10.74 8.9 11.34 9.5C11.94 10.08 12.95 9.65 12.94 8.81C12.94 8.29 12.5 7.88 12 7.88M11 11.6L9.91 13.5C11.17 14.36 12.83 14.36 14.09 13.5L13 11.6C12.43 12.11 11.57 12.11 11 11.6Z\";\r\nexport var mdiFileCancel = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M10.5,11C8,11 6,13 6,15.5C6,18 8,20 10.5,20C13,20 15,18 15,15.5C15,13 13,11 10.5,11M10.5,12.5A3,3 0 0,1 13.5,15.5C13.5,16.06 13.35,16.58 13.08,17L9,12.92C9.42,12.65 9.94,12.5 10.5,12.5M7.5,15.5C7.5,14.94 7.65,14.42 7.92,14L12,18.08C11.58,18.35 11.06,18.5 10.5,18.5A3,3 0 0,1 7.5,15.5Z\";\r\nexport var mdiFileCancelOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M11.5,10C14,10 16,12 16,14.5C16,17 14,19 11.5,19C9,19 7,17 7,14.5C7,12 9,10 11.5,10M11.5,11.5C10.94,11.5 10.42,11.65 10,11.92L14.08,16C14.35,15.58 14.5,15.06 14.5,14.5A3,3 0 0,0 11.5,11.5M8.5,14.5A3,3 0 0,0 11.5,17.5C12.06,17.5 12.58,17.35 13,17.08L8.92,13C8.65,13.42 8.5,13.94 8.5,14.5Z\";\r\nexport var mdiFileCertificate = \"M14 2H7A2 2 0 0 0 5 4V18A2 2 0 0 0 7 20H10V23L12 22L14 23V20H17A2 2 0 0 0 19 18V7M14 15V17L12 16L10 17V15L8 14L10 13V11L12 12L14 11V13L16 14M13 8V3.5L17.5 8Z\";\r\nexport var mdiFileCertificateOutline = \"M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14M14 2H7A2 2 0 0 0 5 4V18A2 2 0 0 0 7 20H8V18H7V4H13V8H17V18H16V20H17A2 2 0 0 0 19 18V7M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14M10 23L12 22L14 23V18H10M14 13V11L12 12L10 11V13L8 14L10 15V17L12 16L14 17V15L16 14Z\";\r\nexport var mdiFileChart = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M7,20H9V14H7V20M11,20H13V12H11V20M15,20H17V16H15V20Z\";\r\nexport var mdiFileChartCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H13.8C13.3 21.1 13 20.1 13 19V20H11V12H13V19C13 15.7 15.7 13 19 13C19.3 13 19.7 13 20 13.1V8L14 2H6M13 3.5L18.5 9H13V3.5M7 14H9V20H7V14Z\";\r\nexport var mdiFileChartCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H13.8C13.4 21.4 13.2 20.7 13.1 20H6V4H13V9H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8L14 2H6M11 11V19H13V11H11M7 13V19H9V13H7Z\";\r\nexport var mdiFileChartOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M9 13V19H7V13H9M15 15V19H17V15H15M11 11V19H13V11H11Z\";\r\nexport var mdiFileCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\r\nexport var mdiFileCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13S19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20Z\";\r\nexport var mdiFileClock = \"M4 2C2.89 2 2 2.89 2 4V20A2 2 0 0 0 4 22H12.41A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 18 9.3V8L12 2H4M11 3.5L16.5 9H11V3.5M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12V17L18.61 19.16L19.36 17.94L16.5 16.25V12H15Z\";\r\nexport var mdiFileClockOutline = \"M4 2A2 2 0 0 0 2 4V20A2 2 0 0 0 4 22H12.41A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 18 9.3V8L12 2H4M4 4H11V9H16A7 7 0 0 0 9 16A7 7 0 0 0 10.26 20H4V4M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12V17L18.61 19.16L19.36 17.94L16.5 16.25V12H15Z\";\r\nexport var mdiFileCloud = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15.68,15C15.34,13.3 13.82,12 12,12C10.55,12 9.3,12.82 8.68,14C7.17,14.18 6,15.45 6,17A3,3 0 0,0 9,20H15.5A2.5,2.5 0 0,0 18,17.5C18,16.18 16.97,15.11 15.68,15Z\";\r\nexport var mdiFileCloudOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17 16.92C17 18.07 16.07 19 14.92 19H9.5C8.12 19 7 17.88 7 16.5C7 15.21 8 14.15 9.23 14C9.75 13 10.79 12.33 12 12.33C13.5 12.33 14.78 13.42 15.07 14.83C16.14 14.93 17 15.82 17 16.92Z\";\r\nexport var mdiFileCode = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6.12,15.5L9.86,19.24L11.28,17.83L8.95,15.5L11.28,13.17L9.86,11.76L6.12,15.5M17.28,15.5L13.54,11.76L12.12,13.17L14.45,15.5L12.12,17.83L13.54,19.24L17.28,15.5Z\";\r\nexport var mdiFileCodeOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M9.54 15.65L11.63 17.74L10.35 19L7 15.65L10.35 12.3L11.63 13.56L9.54 15.65M17 15.65L13.65 19L12.38 17.74L14.47 15.65L12.38 13.56L13.65 12.3L17 15.65Z\";\r\nexport var mdiFileCog = \"M6 2C4.89 2 4 2.89 4 4V20A2 2 0 0 0 6 22H12.68A7 7 0 0 1 12 19A7 7 0 0 1 19 12A7 7 0 0 1 20 12.08V8L14 2H6M13 3.5L18.5 9H13V3.5M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14H18M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFileCogOutline = \"M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H12V20H6V4H13V9H18V12H20V8L14 2M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFileCompare = \"M10,18H6V16H10V18M10,14H6V12H10V14M10,1V2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V23H12V1H10M20,8V20C20,21.11 19.11,22 18,22H14V20H18V11H14V9H18.5L14,4.5V2L20,8M16,14H14V12H16V14M16,18H14V16H16V18Z\";\r\nexport var mdiFileDelimited = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M15 16L13 20H10L12 16H9V11H15V16M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileDelimitedOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M10 19L12 15H9V10H15V15L13 19H10\";\r\nexport var mdiFileDocument = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M15,18V16H6V18H15M18,14V12H6V14H18Z\";\r\nexport var mdiFileDocumentAlert = \"M20 17H22V15H20V17M20 7V13H22V7H20M11 9H16.5L11 3.5V9M4 2H12L18 8V20C18 21.11 17.11 22 16 22H4C2.89 22 2 21.1 2 20V4C2 2.89 2.89 2 4 2M13 18V16H4V18H13M16 14V12H4V14H16Z\";\r\nexport var mdiFileDocumentAlertOutline = \"M20 17H22V15H20V17M20 7V13H22V7M6 16H11V18H6M6 12H14V14H6M4 2C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H16C17.11 22 18 21.11 18 20V8L12 2M4 4H11V9H16V20H4Z\";\r\nexport var mdiFileDocumentArrowRight = \"M23 19L20 16V18H16V20H20V22L23 19M13 19C13 18.7 13 18.3 13.1 18H6V16H13.8C14.3 15.2 14.9 14.5 15.7 14H6V12H18V13.1C18.3 13 18.7 13 19 13S19.7 13 20 13.1V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H13.8C13.3 21.1 13 20.1 13 19M13 3.5L18.5 9H13V3.5Z\";\r\nexport var mdiFileDocumentArrowRightOutline = \"M23 19L20 16V18H16V20H20V22L23 19M13.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14L20 8V13.1C19.7 13 19.3 13 19 13S18.3 13 18 13.1V9H13V4H6V20H13.1C13.2 20.7 13.5 21.4 13.8 22M8 12H16V13.8C15.9 13.9 15.8 13.9 15.7 14H8V12M8 16H13V18H8V16Z\";\r\nexport var mdiFileDocumentCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\r\nexport var mdiFileDocumentCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\r\nexport var mdiFileDocumentEdit = \"M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10V20.09L12.09,18H6V16H14.09L16.09,14H6V12H18.09L20,10.09V8L14,2H6M13,3.5L18.5,9H13V3.5M20.15,13C20,13 19.86,13.05 19.75,13.16L18.73,14.18L20.82,16.26L21.84,15.25C22.05,15.03 22.05,14.67 21.84,14.46L20.54,13.16C20.43,13.05 20.29,13 20.15,13M18.14,14.77L12,20.92V23H14.08L20.23,16.85L18.14,14.77Z\";\r\nexport var mdiFileDocumentEditOutline = \"M8,12H16V14H8V12M10,20H6V4H13V9H18V12.1L20,10.1V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H10V20M8,18H12.1L13,17.1V16H8V18M20.2,13C20.3,13 20.5,13.1 20.6,13.2L21.9,14.5C22.1,14.7 22.1,15.1 21.9,15.3L20.9,16.3L18.8,14.2L19.8,13.2C19.9,13.1 20,13 20.2,13M20.2,16.9L14.1,23H12V20.9L18.1,14.8L20.2,16.9Z\";\r\nexport var mdiFileDocumentMinus = \"M15 18H23V20H15M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\r\nexport var mdiFileDocumentMinusOutline = \"M23 18H15V20H23M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\r\nexport var mdiFileDocumentMultiple = \"M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4M15 7H20.5L15 1.5V7M8 0H16L22 6V18C22 19.11 21.11 20 20 20H8C6.89 20 6 19.1 6 18V2C6 .89 6.89 0 8 0M17 16V14H8V16H17M20 12V10H8V12H20Z\";\r\nexport var mdiFileDocumentMultipleOutline = \"M16 0H8C6.9 0 6 .9 6 2V18C6 19.1 6.9 20 8 20H20C21.1 20 22 19.1 22 18V6L16 0M20 18H8V2H15V7H20V18M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4M10 10V12H18V10H10M10 14V16H15V14H10Z\";\r\nexport var mdiFileDocumentOutline = \"M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M6,4H13V9H18V20H6V4M8,12V14H16V12H8M8,16V18H13V16H8Z\";\r\nexport var mdiFileDocumentPlus = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13S19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFileDocumentPlusOutline = \"M23 18H20V15H18V18H15V20H18V23H20V20H23M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\r\nexport var mdiFileDocumentRefresh = \"M6 2H14L20 8V12.17C19.5 12.06 19 12 18.5 12H6V14H13.81C13.26 14.58 12.81 15.25 12.5 16H6V18H12V18.5C12 19.79 12.38 21 13 22H6C4.89 22 4 21.1 4 20V4C4 2.89 4.89 2 6 2M13 9H18.5L13 3.5V9M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5Z\";\r\nexport var mdiFileDocumentRefreshOutline = \"M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13C12.63 21.4 12.34 20.72 12.17 20H6V4H13V9H18V12H18.5C19 12 19.5 12.06 20 12.17V8L14 2H6M12 18C12.07 17.3 12.24 16.62 12.5 16H8V18H12M13.81 14C14.43 13.36 15.17 12.85 16 12.5V12H8V14H13.81M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5Z\";\r\nexport var mdiFileDocumentRemove = \"M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.59 19L15.46 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88M6 2C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 18.67 13.03 18.33 13.08 18H6V16H13.81C14.27 15.2 14.91 14.5 15.68 14H6V12H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 3.5L18.5 9H13Z\";\r\nexport var mdiFileDocumentRemoveOutline = \"M22.54 21.12L20.41 19L22.54 16.88L21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.59 19L15.46 21.12L16.88 22.54L19 20.41L21.12 22.54M6 2C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.45 21.38 13.2 20.7 13.08 20H6V4H13V9H18V13.08C18.33 13.03 18.67 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M8 12V14H16V12M8 16V18H13V16Z\";\r\nexport var mdiFileDownload = \"M14,2H6C4.89,2 4,2.89 4,4V20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20V8L14,2M12,19L8,15H10.5V12H13.5V15H16L12,19M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileDownloadOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,19L8,15H10.5V12H13.5V15H16L12,19Z\";\r\nexport var mdiFileEdit = \"M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H10V20.1L20 10.1V8L14 2H6M13 3.5L18.5 9H13V3.5M20.1 13C20 13 19.8 13.1 19.7 13.2L18.7 14.2L20.8 16.3L21.8 15.3C22 15.1 22 14.7 21.8 14.5L20.5 13.2C20.4 13.1 20.3 13 20.1 13M18.1 14.8L12 20.9V23H14.1L20.2 16.9L18.1 14.8Z\";\r\nexport var mdiFileEditOutline = \"M10 20H6V4H13V9H18V12.1L20 10.1V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H10V20M20.2 13C20.3 13 20.5 13.1 20.6 13.2L21.9 14.5C22.1 14.7 22.1 15.1 21.9 15.3L20.9 16.3L18.8 14.2L19.8 13.2C19.9 13.1 20 13 20.2 13M20.2 16.9L14.1 23H12V20.9L18.1 14.8L20.2 16.9Z\";\r\nexport var mdiFileExcel = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.8,20H14L12,16.6L10,20H8.2L11.1,15.5L8.2,11H10L12,14.4L14,11H15.8L12.9,15.5L15.8,20M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileExcelBox = \"M16.2,17H14.2L12,13.2L9.8,17H7.8L11,12L7.8,7H9.8L12,10.8L14.2,7H16.2L13,12M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiFileExcelBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M13 12L16.2 17H14.2L12 13.2L9.8 17H7.8L11 12L7.8 7H9.8L12 10.8L14.2 7H16.2L13 12Z\";\r\nexport var mdiFileExcelOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M12.9 14.5L15.8 19H14L12 15.6L10 19H8.2L11.1 14.5L8.2 10H10L12 13.4L14 10H15.8L12.9 14.5Z\";\r\nexport var mdiFileExport = \"M6,2C4.89,2 4,2.9 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,3.5L18.5,9H13M8.93,12.22H16V19.29L13.88,17.17L11.05,20L8.22,17.17L11.05,14.35\";\r\nexport var mdiFileExportOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M16 11V18.1L13.9 16L11.1 18.8L8.3 16L11.1 13.2L8.9 11H16Z\";\r\nexport var mdiFileEye = \"M17,18C17.56,18 18,18.44 18,19C18,19.56 17.56,20 17,20C16.44,20 16,19.56 16,19C16,18.44 16.44,18 17,18M17,15C14.27,15 11.94,16.66 11,19C11.94,21.34 14.27,23 17,23C19.73,23 22.06,21.34 23,19C22.06,16.66 19.73,15 17,15M17,21.5A2.5,2.5 0 0,1 14.5,19A2.5,2.5 0 0,1 17,16.5A2.5,2.5 0 0,1 19.5,19A2.5,2.5 0 0,1 17,21.5M9.14,19.75L8.85,19L9.14,18.26C10.43,15.06 13.5,13 17,13C18.05,13 19.06,13.21 20,13.56V8L14,2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H10.5C9.95,21.34 9.5,20.58 9.14,19.75M13,3.5L18.5,9H13V3.5Z\";\r\nexport var mdiFileEyeOutline = \"M17,18C17.56,18 18,18.44 18,19C18,19.56 17.56,20 17,20C16.44,20 16,19.56 16,19C16,18.44 16.44,18 17,18M17,15C14.27,15 11.94,16.66 11,19C11.94,21.34 14.27,23 17,23C19.73,23 22.06,21.34 23,19C22.06,16.66 19.73,15 17,15M17,21.5A2.5,2.5 0 0,1 14.5,19A2.5,2.5 0 0,1 17,16.5A2.5,2.5 0 0,1 19.5,19A2.5,2.5 0 0,1 17,21.5M9.27,20H6V4H13V9H18V13.07C18.7,13.15 19.36,13.32 20,13.56V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H10.5C10,21.41 9.59,20.73 9.27,20Z\";\r\nexport var mdiFileFind = \"M9,13A3,3 0 0,0 12,16A3,3 0 0,0 15,13A3,3 0 0,0 12,10A3,3 0 0,0 9,13M20,19.59V8L14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18C18.45,22 18.85,21.85 19.19,21.6L14.76,17.17C13.96,17.69 13,18 12,18A5,5 0 0,1 7,13A5,5 0 0,1 12,8A5,5 0 0,1 17,13C17,14 16.69,14.96 16.17,15.75L20,19.59Z\";\r\nexport var mdiFileFindOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M6,4H13L18,9V17.58L16.16,15.74C17.44,13.8 17.23,11.17 15.5,9.46C14.55,8.5 13.28,8 12,8C10.72,8 9.45,8.5 8.47,9.46C6.5,11.41 6.5,14.57 8.47,16.5C9.44,17.5 10.72,17.97 12,17.97C12.96,17.97 13.92,17.69 14.75,17.14L17.6,20H6V4M14.11,15.1C13.55,15.66 12.8,16 12,16C11.2,16 10.45,15.67 9.89,15.1C9.33,14.54 9,13.79 9,13C9,12.19 9.32,11.44 9.89,10.88C10.45,10.31 11.2,10 12,10C12.8,10 13.55,10.31 14.11,10.88C14.67,11.44 15,12.19 15,13C15,13.79 14.68,14.54 14.11,15.1Z\";\r\nexport var mdiFileGifBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 10.5H7.5V13.5H8.5V12H10V13.7C10 14.4 9.5 15 8.7 15H7.3C6.5 15 6 14.3 6 13.7V10.4C6 9.7 6.5 9 7.3 9H8.6C9.5 9 10 9.7 10 10.3V10.5M13 15H11.5V9H13V15M17.5 10.5H16V11.5H17.5V13H16V15H14.5V9H17.5V10.5Z\";\r\nexport var mdiFileHidden = \"M13,9H14V11H11V7H13V9M18.5,9L16.38,6.88L17.63,5.63L20,8V10H18V11H15V9H18.5M13,3.5V2H12V4H13V6H11V4H9V2H8V4H6V5H4V4C4,2.89 4.89,2 6,2H14L16.36,4.36L15.11,5.61L13,3.5M20,20A2,2 0 0,1 18,22H16V20H18V19H20V20M18,15H20V18H18V15M12,22V20H15V22H12M8,22V20H11V22H8M6,22C4.89,22 4,21.1 4,20V18H6V20H7V22H6M4,14H6V17H4V14M4,10H6V13H4V10M18,11H20V14H18V11M4,6H6V9H4V6Z\";\r\nexport var mdiFileImage = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M6,20H15L18,20V12L14,16L12,14L6,20M8,9A2,2 0 0,0 6,11A2,2 0 0,0 8,13A2,2 0 0,0 10,11A2,2 0 0,0 8,9Z\";\r\nexport var mdiFileImageMarker = \"M6 20L12 14L13.03 15.03C13.28 12.26 15.68 10 18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H15.91C15.5 21.44 15 20.76 14.55 20H6M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\r\nexport var mdiFileImageMarkerOutline = \"M8.5 12C7.67 12 7 11.33 7 10.5S7.67 9 8.5 9 10 9.67 10 10.5 9.33 12 8.5 12M14 19C13.43 17.86 13 16.64 13 15.5C13 15.34 13 15.18 13.03 15.03L12 14L7 19H14M6 20V4H13V9H18V10.03C18.17 10 18.33 10 18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H15.91C15.5 21.44 15 20.76 14.55 20H6M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiFileImageMinus = \"M13.09 20H6L12 14L13.88 15.88C14.5 14.9 15.36 14.1 16.4 13.6L18 12V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M23 18V20H15V18H23Z\";\r\nexport var mdiFileImageMinusOutline = \"M7 19L12 14L13.88 15.88C13.33 16.79 13 17.86 13 19H7M10 10.5C10 9.67 9.33 9 8.5 9S7 9.67 7 10.5 7.67 12 8.5 12 10 11.33 10 10.5M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M15 18V20H23V18H15Z\";\r\nexport var mdiFileImageOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M17,13V19H7L12,14L14,16M10,10.5A1.5,1.5 0 0,1 8.5,12A1.5,1.5 0 0,1 7,10.5A1.5,1.5 0 0,1 8.5,9A1.5,1.5 0 0,1 10,10.5Z\";\r\nexport var mdiFileImagePlus = \"M13.09 20H6L12 14L13.88 15.88C14.5 14.9 15.36 14.1 16.4 13.6L18 12V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiFileImagePlusOutline = \"M7 19L12 14L13.88 15.88C13.33 16.79 13 17.86 13 19H7M10 10.5C10 9.67 9.33 9 8.5 9S7 9.67 7 10.5 7.67 12 8.5 12 10 11.33 10 10.5M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFileImageRemove = \"M13.09 20H6L12 14L13.88 15.88C14.5 14.9 15.36 14.1 16.4 13.6L18 12V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M13 3.5L18.5 9H13V3.5M8 9C9.11 9 10 9.9 10 11S9.11 13 8 13 6 12.11 6 11 6.9 9 8 9M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88Z\";\r\nexport var mdiFileImageRemoveOutline = \"M7 19L12 14L13.88 15.88C13.33 16.79 13 17.86 13 19H7M10 10.5C10 9.67 9.33 9 8.5 9S7 9.67 7 10.5 7.67 12 8.5 12 10 11.33 10 10.5M13.09 20H6V4H13V9H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V8L14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H13.81C13.46 21.39 13.21 20.72 13.09 20M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiFileImport = \"M6,2C4.89,2 4,2.9 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,3.5L18.5,9H13M10.05,11.22L12.88,14.05L15,11.93V19H7.93L10.05,16.88L7.22,14.05\";\r\nexport var mdiFileImportOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15 11.93V19H7.93L10.05 16.88L7.22 14.05L10.05 11.22L12.88 14.05L15 11.93Z\";\r\nexport var mdiFileJpgBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 13.5C9 14.6 8.1 15 7 15S5 14.6 5 13.5V12H6.5V13.5H7.5V9H9V13.5M14 11.5C14 12.3 13.3 13 12.5 13H11.5V15H10V9H12.5C13.3 9 14 9.7 14 10.5V11.5M19 10.5H16.5V13.5H17.5V12H19V13.7C19 14.4 18.5 15 17.7 15H16.4C15.6 15 15.1 14.3 15.1 13.7V10.4C15 9.7 15.5 9 16.3 9H17.6C18.4 9 18.9 9.7 18.9 10.3V10.5M11.5 10.5H12.5V11.5H11.5V10.5Z\";\r\nexport var mdiFileKey = \"M11 16C11 16.6 10.6 17 10 17S9 16.6 9 16C9 15.4 9.4 15 10 15S11 15.4 11 16M20 8V20C20 21.1 19.1 22 18 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14M18 15H12.8C12.2 13.4 10.5 12.6 9 13.2C7.4 13.8 6.6 15.5 7.2 17S9.5 19.4 11 18.8C11.9 18.5 12.5 17.8 12.8 17H14V19H16V17H18M18.5 9L13 3.5V9H18.5Z\";\r\nexport var mdiFileKeyOutline = \"M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8L14 2M18 20H6V4H13V9H18M12.83 15A3 3 0 1 0 12.83 17H14V19H16V17H17V15M10 17A1 1 0 1 1 11 16A1 1 0 0 1 10 17Z\";\r\nexport var mdiFileLink = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M11 20H10C8.39 20 6 18.94 6 16C6 13.07 8.39 12 10 12H11V14H10C9.54 14 8 14.17 8 16C8 17.9 9.67 18 10 18H11V20M15 15V17H9V15H15M14 20H13V18H14C14.46 18 16 17.83 16 16C16 14.1 14.33 14 14 14H13V12H14C15.61 12 18 13.07 18 16C18 18.94 15.61 20 14 20M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileLinkOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M11 19H10.75C9.45 19 7 18.22 7 15.25S9.45 11.5 10.75 11.5H11V13H10.75C10.38 13 8.5 13.13 8.5 15.25C8.5 17.44 10.5 17.5 10.75 17.5H11V19M14 16H10V14.5H14V16M13 11.5H13.25C14.55 11.5 17 12.28 17 15.25S14.55 19 13.25 19H13V17.5H13.25C13.62 17.5 15.5 17.37 15.5 15.25C15.5 13.06 13.5 13 13.25 13H13V11.5Z\";\r\nexport var mdiFileLock = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V18.2C12 17.2 12.4 16.5 13 16C13.1 15.9 13.2 15.9 13.2 15.8V15.5C13.2 12.8 15.6 11 18 11C18.7 11 19.4 11.2 20 11.4V8L14 2H6M13 3.5L18.5 9H13V3.5Z\";\r\nexport var mdiFileLockOpen = \"M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V18.2C12 17.2 12.4 16.5 13 16C13.1 15.9 13.2 15.9 13.2 15.8V14.5C13.2 11.8 15.6 10 18 10C18.7 10 19.4 10.2 20 10.4V8L14 2H6M13 3.5L18.5 9H13V3.5Z\";\r\nexport var mdiFileLockOpenOutline = \"M22 18.3V21.8C22 22.4 21.4 23 20.7 23H15.2C14.6 23 14 22.4 14 21.7V18.2C14 17.6 14.6 17 15.2 17V14.5C15.2 13.1 16.6 12 18 12S20.8 13.1 20.8 14.5V15H19.5V14.5C19.5 13.7 18.8 13.2 18 13.2S16.5 13.7 16.5 14.5V17H20.8C21.4 17 22 17.6 22 18.3M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V20H6V4H13V9H18V10C18.7 10 19.4 10.2 20 10.4V8L14 2H6Z\";\r\nexport var mdiFileLockOutline = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M6 2C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12V20H6V4H13V9H18V11C18.7 11 19.4 11.2 20 11.4V8L14 2H6Z\";\r\nexport var mdiFileMarker = \"M18.5 10C19 10 19.5 10.08 20 10.22V8L14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H15.91C14.7 20.41 13 17.78 13 15.5C13 12.5 15.5 10 18.5 10M13 3.5L18.5 9H13V3.5M18.5 12C16.6 12 15 13.6 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5C22 13.6 20.4 12 18.5 12M18.5 16.8C17.8 16.8 17.3 16.2 17.3 15.6C17.3 14.9 17.9 14.4 18.5 14.4S19.7 15 19.7 15.6C19.8 16.2 19.2 16.8 18.5 16.8Z\";\r\nexport var mdiFileMarkerOutline = \"M14.55 20C15 20.76 15.5 21.44 15.91 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V10.22C19.5 10.08 19 10 18.5 10C18.33 10 18.17 10 18 10.03V9H13V4H6V20H14.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiFileMinus = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13M23 20H15V18H23V20Z\";\r\nexport var mdiFileMinusOutline = \"M13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13S18.33 13.04 18 13.09V9H13V4H6V20H13.09C13.21 20.72 13.46 21.39 13.81 22M23 18H15V20H23V18Z\";\r\nexport var mdiFileMove = \"M14,17H18V14L23,18.5L18,23V20H14V17M13,9H18.5L13,3.5V9M6,2H14L20,8V12.34C19.37,12.12 18.7,12 18,12A6,6 0 0,0 12,18C12,19.54 12.58,20.94 13.53,22H6C4.89,22 4,21.1 4,20V4A2,2 0 0,1 6,2Z\";\r\nexport var mdiFileMoveOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 20.41 4.12 20.8 4.34 21.12C4.41 21.23 4.5 21.33 4.59 21.41C4.95 21.78 5.45 22 6 22H13.53C13 21.42 12.61 20.75 12.35 20H6V4H13V9H18V12C18.7 12 19.37 12.12 20 12.34V8L14 2M18 23L23 18.5L20 15.8L18 14V17H14V20H18V23Z\";\r\nexport var mdiFileMultiple = \"M15,7H20.5L15,1.5V7M8,0H16L22,6V18A2,2 0 0,1 20,20H8C6.89,20 6,19.1 6,18V2A2,2 0 0,1 8,0M4,4V22H20V24H4A2,2 0 0,1 2,22V4H4Z\";\r\nexport var mdiFileMultipleOutline = \"M16 0H8C6.9 0 6 .9 6 2V18C6 19.1 6.9 20 8 20H20C21.1 20 22 19.1 22 18V6L16 0M20 18H8V2H15V7H20V18M4 4V22H20V24H4C2.9 24 2 23.1 2 22V4H4Z\";\r\nexport var mdiFileMusic = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13,13H11V18A2,2 0 0,1 9,20A2,2 0 0,1 7,18A2,2 0 0,1 9,16C9.4,16 9.7,16.1 10,16.3V11H13V13M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileMusicOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M13,10V12H11V17A2,2 0 0,1 9,19A2,2 0 0,1 7,17A2,2 0 0,1 9,15C9.4,15 9.7,15.1 10,15.3V10H13Z\";\r\nexport var mdiFileOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z\";\r\nexport var mdiFilePdfBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.5 11.5C9.5 12.3 8.8 13 8 13H7V15H5.5V9H8C8.8 9 9.5 9.7 9.5 10.5V11.5M14.5 13.5C14.5 14.3 13.8 15 13 15H10.5V9H13C13.8 9 14.5 9.7 14.5 10.5V13.5M18.5 10.5H17V11.5H18.5V13H17V15H15.5V9H18.5V10.5M12 10.5H13V13.5H12V10.5M7 10.5H8V11.5H7V10.5Z\";\r\nexport var mdiFilePercent = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M7.37,20L15,12.35L13.65,11L6,18.65L7.37,20M13,9H18.5L13,3.5V9M7.5,11A1.5,1.5 0 0,0 6,12.5A1.5,1.5 0 0,0 7.5,14A1.5,1.5 0 0,0 9,12.5A1.5,1.5 0 0,0 7.5,11M13.5,17A1.5,1.5 0 0,0 12,18.5A1.5,1.5 0 0,0 13.5,20A1.5,1.5 0 0,0 15,18.5A1.5,1.5 0 0,0 13.5,17Z\";\r\nexport var mdiFilePercentOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M10 11.5C10 12.33 9.33 13 8.5 13S7 12.33 7 11.5 7.67 10 8.5 10 10 10.67 10 11.5M16 17.5C16 18.33 15.33 19 14.5 19S13 18.33 13 17.5 13.67 16 14.5 16 16 16.67 16 17.5M16 11.35L8.37 19L7 17.65L14.65 10L16 11.35Z\";\r\nexport var mdiFilePhone = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M17 19.44C17 19.75 16.75 20 16.44 20C11.23 20 7 15.77 7 10.56C7 10.25 7.25 10 7.56 10H9.5C9.81 10 10.06 10.25 10.06 10.56C10.06 11.25 10.17 11.92 10.37 12.54C10.43 12.73 10.39 12.95 10.23 13.11L9 14.33C9.81 15.9 11.1 17.19 12.67 18L13.9 16.77C14.05 16.61 14.27 16.57 14.46 16.63C15.08 16.83 15.75 16.95 16.45 16.95C16.75 16.95 17 17.19 17 17.5V19.44M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFilePhoneOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M9 13.33C9.81 14.9 11.1 16.19 12.67 17L13.89 15.77C14.05 15.61 14.27 15.57 14.46 15.63C15.08 15.83 15.75 15.95 16.44 15.95C16.75 15.95 17 16.19 17 16.5V18.45C17 18.75 16.75 19 16.44 19C11.23 19 7 14.77 7 9.56C7 9.25 7.25 9 7.56 9H9.5C9.81 9 10.06 9.25 10.06 9.56C10.06 10.25 10.17 10.92 10.37 11.54C10.43 11.73 10.39 11.95 10.23 12.11L9 13.33Z\";\r\nexport var mdiFilePlus = \"M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13M23 20H20V23H18V20H15V18H18V15H20V18H23V20Z\";\r\nexport var mdiFilePlusOutline = \"M13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13S18.33 13.04 18 13.09V9H13V4H6V20H13.09C13.21 20.72 13.46 21.39 13.81 22M23 18H20V15H18V18H15V20H18V23H20V20H23V18Z\";\r\nexport var mdiFilePngBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 11.5C9 12.3 8.3 13 7.5 13H6.5V15H5V9H7.5C8.3 9 9 9.7 9 10.5V11.5M14 15H12.5L11.5 12.5V15H10V9H11.5L12.5 11.5V9H14V15M19 10.5H16.5V13.5H17.5V12H19V13.7C19 14.4 18.5 15 17.7 15H16.4C15.6 15 15.1 14.3 15.1 13.7V10.4C15 9.7 15.5 9 16.3 9H17.6C18.4 9 18.9 9.7 18.9 10.3V10.5H19M6.5 10.5H7.5V11.5H6.5V10.5Z\";\r\nexport var mdiFilePowerpoint = \"M12.6,12.3H10.6V15.5H12.7C13.3,15.5 13.6,15.3 13.9,15C14.2,14.7 14.3,14.4 14.3,13.9C14.3,13.4 14.2,13.1 13.9,12.8C13.6,12.5 13.2,12.3 12.6,12.3M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,16C14.6,16.5 14.1,16.7 12.8,16.7H10.6V20H9V11H12.8C14.1,11 14.7,11.3 15.2,11.8C15.8,12.4 16,13 16,13.9C16,14.8 15.8,15.5 15.2,16M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFilePowerpointBox = \"M9.8,13.4H12.3C13.8,13.4 14.46,13.12 15.1,12.58C15.74,12.03 16,11.25 16,10.23C16,9.26 15.75,8.5 15.1,7.88C14.45,7.29 13.83,7 12.3,7H8V17H9.8V13.4M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M9.8,12V8.4H12.1C12.76,8.4 13.27,8.65 13.6,9C13.93,9.35 14.1,9.72 14.1,10.24C14.1,10.8 13.92,11.19 13.6,11.5C13.28,11.81 12.9,12 12.22,12H9.8Z\";\r\nexport var mdiFilePowerpointBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M15.1 7.88C14.45 7.29 13.83 7 12.3 7H8V17H9.8V13.4H12.3C13.8 13.4 14.46 13.12 15.1 12.58C15.74 12.03 16 11.25 16 10.23C16 9.26 15.75 8.5 15.1 7.88M13.6 11.5C13.28 11.81 12.9 12 12.22 12H9.8V8.4H12.1C12.76 8.4 13.27 8.65 13.6 9C13.93 9.35 14.1 9.72 14.1 10.24C14.1 10.8 13.92 11.19 13.6 11.5Z\";\r\nexport var mdiFilePowerpointOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15.2 10.8C14.7 10.3 14.1 10 12.8 10H9V19H10.6V15.7H12.8C14.1 15.7 14.6 15.5 15.2 15C15.8 14.5 16 13.8 16 12.9C16 12 15.8 11.4 15.2 10.8M13.9 14C13.6 14.3 13.3 14.5 12.7 14.5H10.6V11.3H12.6C13.2 11.3 13.6 11.5 13.9 11.8C14.2 12.1 14.3 12.4 14.3 12.9S14.2 13.7 13.9 14Z\";\r\nexport var mdiFilePresentationBox = \"M19,16H5V8H19M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiFileQuestion = \"M6,2C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2H6M13,3.5L18.5,9H13V3.5M12,11A3,3 0 0,1 15,14C15,15.88 12.75,16.06 12.75,17.75H11.25C11.25,15.31 13.5,15.5 13.5,14A1.5,1.5 0 0,0 12,12.5A1.5,1.5 0 0,0 10.5,14H9A3,3 0 0,1 12,11M11.25,18.5H12.75V20H11.25V18.5Z\";\r\nexport var mdiFileQuestionOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M15 13C15 14.89 12.75 15.07 12.75 16.76H11.25C11.25 14.32 13.5 14.5 13.5 13C13.5 12.18 12.83 11.5 12 11.5S10.5 12.18 10.5 13H9C9 11.35 10.34 10 12 10S15 11.35 15 13M12.75 17.5V19H11.25V17.5H12.75Z\";\r\nexport var mdiFileRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M13 9H18.5L13 3.5V9M6 2H14L20 8V12.17C19.5 12.06 19 12 18.5 12C14.91 12 12 14.91 12 18.5C12 19.79 12.37 21 13 22H6C4.88 22 4 21.1 4 20L4 4C4 2.89 4.89 2 6 2Z\";\r\nexport var mdiFileRefreshOutline = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M14 2L20 8V12.17C19.5 12.06 19 12 18.5 12L18 12V9H13V4H6V20H12.17C12.34 20.72 12.63 21.39 13 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14Z\";\r\nexport var mdiFileRemove = \"M21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54M14 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.81C13.28 21.09 13 20.05 13 19C13 15.69 15.69 13 19 13C19.34 13 19.67 13.03 20 13.08V8L14 2M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileRemoveOutline = \"M13.81 22H6C4.89 22 4 21.11 4 20V4C4 2.9 4.89 2 6 2H14L20 8V13.09C19.67 13.04 19.34 13 19 13S18.33 13.04 18 13.09V9H13V4H6V20H13.09C13.21 20.72 13.46 21.39 13.81 22M22.54 21.12L20.41 19L22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12Z\";\r\nexport var mdiFileReplace = \"M14,12H19.5L14,6.5V12M8,5H15L21,11V21A2,2 0 0,1 19,23H8C6.89,23 6,22.1 6,21V18H11V20L15,17L11,14V16H6V7A2,2 0 0,1 8,5M13.5,3H4V16H6V18H4A2,2 0 0,1 2,16V3A2,2 0 0,1 4,1H11.5L13.5,3Z\";\r\nexport var mdiFileReplaceOutline = \"M14,3L12,1H4A2,2 0 0,0 2,3V15A2,2 0 0,0 4,17H11V19L15,16L11,13V15H4V3H14M21,10V21A2,2 0 0,1 19,23H8A2,2 0 0,1 6,21V19H8V21H19V12H14V7H8V13H6V7A2,2 0 0,1 8,5H16L21,10Z\";\r\nexport var mdiFileRestore = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M12,18C9.95,18 8.19,16.76 7.42,15H9.13C9.76,15.9 10.81,16.5 12,16.5A3.5,3.5 0 0,0 15.5,13A3.5,3.5 0 0,0 12,9.5C10.65,9.5 9.5,10.28 8.9,11.4L10.5,13H6.5V9L7.8,10.3C8.69,8.92 10.23,8 12,8A5,5 0 0,1 17,13A5,5 0 0,1 12,18Z\";\r\nexport var mdiFileRestoreOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13L18 9V20M17 13.24C17 15.86 14.87 18 12.24 18C10.29 18 8.61 16.82 7.88 15.14H9.5C10.11 16 11.11 16.57 12.24 16.57C14.08 16.57 15.57 15.07 15.57 13.24S14.08 9.9 12.24 9.9C10.95 9.9 9.86 10.65 9.29 11.71L10.81 13.24H7V9.43L8.24 10.67C9.09 9.35 10.55 8.5 12.24 8.5C14.87 8.47 17 10.61 17 13.24Z\";\r\nexport var mdiFileRotateLeft = \"M17 7H13C11.9 7 11 7.9 11 9V18C11 19.11 11.9 20 13 20H19C20.11 20 21 19.11 21 18V11L17 7M19 12H16V9H16.17L19 11.83V12M4 11C4 6.58 7.58 3 12 3L13 3.06V5.08L12 5C8.69 5 6 7.69 6 11H9L5 15L1 11H4\";\r\nexport var mdiFileRotateLeftOutline = \"M4 11C4 6.58 7.58 3 12 3L13 3.06V5.08L12 5C8.69 5 6 7.69 6 11H9L5 15L1 11H4M17 7H13C11.9 7 11 7.9 11 9V18C11 19.11 11.9 20 13 20H19C20.11 20 21 19.11 21 18V11L17 7M19 18H13V9H16V12H19V18Z\";\r\nexport var mdiFileRotateRight = \"M5 20C3.9 20 3 19.11 3 18V9C3 7.9 3.9 7 5 7H9L13 11V18C13 19.11 12.11 20 11 20H5M11 11.83L8.17 9H8V12H11V11.83M20 11H23L19 15L15 11H18C18 7.69 15.31 5 12 5L11 5.08V3.06L12 3C16.42 3 20 6.58 20 11\";\r\nexport var mdiFileRotateRightOutline = \"M20 11H23L19 15L15 11H18C18 7.69 15.31 5 12 5L11 5.08V3.06L12 3C16.42 3 20 6.58 20 11M9 7H5C3.9 7 3 7.9 3 9V18C3 19.11 3.9 20 5 20H11C12.11 20 13 19.11 13 18V11L9 7M11 18H5V9H8V12H11V18Z\";\r\nexport var mdiFileSearch = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H13C12.59,21.75 12.2,21.44 11.86,21.1C9.22,18.67 9.05,14.56 11.5,11.92C13.69,9.5 17.33,9.13 20,11V8L14,2M13,9V3.5L18.5,9H13M20.31,18.9C21.64,16.79 21,14 18.91,12.68C16.8,11.35 14,12 12.69,14.08C11.35,16.19 12,18.97 14.09,20.3C15.55,21.23 17.41,21.23 18.88,20.32L22,23.39L23.39,22L20.31,18.9M16.5,19A2.5,2.5 0 0,1 14,16.5A2.5,2.5 0 0,1 16.5,14A2.5,2.5 0 0,1 19,16.5A2.5,2.5 0 0,1 16.5,19Z\";\r\nexport var mdiFileSearchOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H13C12.59,21.75 12.2,21.44 11.86,21.1C11.53,20.77 11.25,20.4 11,20H6V4H13V9H18V10.18C18.71,10.34 19.39,10.61 20,11V8L14,2M20.31,18.9C21.64,16.79 21,14 18.91,12.68C16.8,11.35 14,12 12.69,14.08C11.35,16.19 12,18.97 14.09,20.3C15.55,21.23 17.41,21.23 18.88,20.32L22,23.39L23.39,22L20.31,18.9M16.5,19A2.5,2.5 0 0,1 14,16.5A2.5,2.5 0 0,1 16.5,14A2.5,2.5 0 0,1 19,16.5A2.5,2.5 0 0,1 16.5,19Z\";\r\nexport var mdiFileSend = \"M14,2H6C4.89,2 4,2.89 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M12.54,19.37V17.37H8.54V15.38H12.54V13.38L15.54,16.38L12.54,19.37M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileSendOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M12.54 18.5V16.5H8.54V14.5H12.54V12.5L15.54 15.5L12.54 18.5Z\";\r\nexport var mdiFileSettings = \"M6 0C4.89 0 4 .89 4 2V18A2 2 0 0 0 6 20H18A2 2 0 0 0 20 18V6L14 0H6M13 1.5L18.5 7H13V1.5M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\r\nexport var mdiFileSettingsOutline = \"M6 0A2 2 0 0 0 4 2V18A2 2 0 0 0 6 20H18A2 2 0 0 0 20 18V6L14 0H6M6 2H13V7H18V18H6V2M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\r\nexport var mdiFileSign = \"M19.7 12.9L14 18.6H11.7V16.3L17.4 10.6L19.7 12.9M23.1 12.1C23.1 12.4 22.8 12.7 22.5 13L20 15.5L19.1 14.6L21.7 12L21.1 11.4L20.4 12.1L18.1 9.8L20.3 7.7C20.5 7.5 20.9 7.5 21.2 7.7L22.6 9.1C22.8 9.3 22.8 9.7 22.6 10C22.4 10.2 22.2 10.4 22.2 10.6C22.2 10.8 22.4 11 22.6 11.2C22.9 11.5 23.2 11.8 23.1 12.1M3 20V4H10V9H15V10.5L17 8.5V8L11 2H3C1.9 2 1 2.9 1 4V20C1 21.1 1.9 22 3 22H15C16.1 22 17 21.1 17 20H3M11 17.1C10.8 17.1 10.6 17.2 10.5 17.2L10 15H8.5L6.4 16.7L7 14H5.5L4.5 19H6L8.9 16.4L9.5 18.7H10.5L11 18.6V17.1Z\";\r\nexport var mdiFileStar = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M14.5 18.9L12 17.5L9.5 19L10.2 16.2L8 14.3L10.9 14.1L12 11.4L13.1 14L16 14.2L13.8 16.1L14.5 18.9M13 9V3.5L18.5 9H13Z\";\r\nexport var mdiFileStarFourPoints = \"M4 4C4 2.89 4.89 2 6 2H14L20 8V20C20 20.53 19.79 21.04 19.41 21.41C19.04 21.79 18.53 22 18 22H6C5.47 22 4.96 21.79 4.59 21.41C4.21 21.04 4 20.53 4 20V4M13 3.5V9H18.5L13 3.5M12 11L10.74 13.75L8 15L10.74 16.26L12 19L13.25 16.26L16 15L13.25 13.75L12 11Z\";\r\nexport var mdiFileStarFourPointsOutline = \"M12 11L10.74 13.75L8 15L10.74 16.26L12 19L13.25 16.26L16 15L13.25 13.75L12 11M6 2H14L20 8V20C20 21.1 19.1 22 18 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2M6 4V20H18V9H13V4H6Z\";\r\nexport var mdiFileStarOutline = \"M14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V8L14 2M18 20H6V4H13V9H18V20M9.5 18L10.2 15.2L8 13.3L10.9 13.1L12 10.4L13.1 13L16 13.2L13.8 15.1L14.5 17.9L12 16.5L9.5 18Z\";\r\nexport var mdiFileSwap = \"M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8M14 18V16H10V18L7 15L10 12V14H14V12L17 15M13 9V3.5L18.5 9Z\";\r\nexport var mdiFileSwapOutline = \"M17 15L14 12V14H10V12L7 15L10 18V16H14V18M14 2H6A2 2 0 0 0 4 4V20A2 2 0 0 0 6 22H18A2 2 0 0 0 20 20V8L14 2M18 20H6V4H13V9H18Z\";\r\nexport var mdiFileSync = \"M11 17.5C11 13.9 13.9 11 17.5 11C18.4 11 19.2 11.2 20 11.5V8L14 2H6C4.9 2 4 2.9 4 4V20C4 21.1 4.9 22 6 22H12.8C11.7 20.8 11 19.2 11 17.5M13 3.5L18.5 9H13V3.5M17 12V13.5C19.2 13.5 21 15.3 21 17.5C21 18.3 20.8 19.1 20.3 19.7L19.2 18.6C19.4 18.3 19.5 17.9 19.5 17.5C19.5 16.1 18.4 15 17 15V16.5L14.8 14.3L17 12M17 23V21.5C14.8 21.5 13 19.7 13 17.5C13 16.7 13.2 15.9 13.7 15.3L14.8 16.4C14.6 16.7 14.5 17.1 14.5 17.5C14.5 18.9 15.6 20 17 20V18.5L19.2 20.7L17 23Z\";\r\nexport var mdiFileSyncOutline = \"M12.8 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2H14L20 8V11.5C19.4 11.2 18.7 11.1 18 11V9H13V4H6V20H11.5C11.8 20.7 12.3 21.4 12.8 22M17 12L14.8 14.2L17 16.4V15C18.4 15 19.5 16.1 19.5 17.5C19.5 17.9 19.4 18.3 19.2 18.6L20.3 19.7C20.7 19.1 21 18.3 21 17.5C21 15.3 19.2 13.5 17 13.5V12M19.2 20.8L17 18.5V20C15.6 20 14.5 18.9 14.5 17.5C14.5 17.1 14.6 16.7 14.8 16.4L13.7 15.3C13.3 15.9 13 16.7 13 17.5C13 19.7 14.8 21.5 17 21.5V23L19.2 20.8Z\";\r\nexport var mdiFileTable = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M10,19H7V17H10V19M10,16H7V14H10V16M10,13H7V11H10V13M14,19H11V17H14V19M14,16H11V14H14V16M14,13H11V11H14V13M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileTableBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M9 18H6V16H9V18M9 15H6V13H9V15M9 12H6V10H9V12M13 18H10V16H13V18M13 15H10V13H13V15M13 12H10V10H13V12Z\";\r\nexport var mdiFileTableBoxMultiple = \"M3 5V21H19V23H3C1.9 23 1 22.1 1 21V5H3M21 1H7C5.89 1 5 1.89 5 3V17C5 18.11 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.89 22.1 1 21 1M11 16H8V14H11V16M11 13H8V11H11V13M11 10H8V8H11V10M15 16H12V14H15V16M15 13H12V11H15V13M15 10H12V8H15V10Z\";\r\nexport var mdiFileTableBoxMultipleOutline = \"M3 5V21H19V23H3C1.9 23 1 22.1 1 21V5H3M21 1H7C5.89 1 5 1.89 5 3V17C5 18.1 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.9 22.1 1 21 1M21 17H7V3H21V17M11 14H8V16H11V14M15 14H12V16H15V14M11 11H8V13H11V11M15 11H12V13H15V11M11 8H8V10H11V8M15 8H12V10H15V8Z\";\r\nexport var mdiFileTableBoxOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M19 19H5V5H19V19M9 18H6V16H9V18M13 18H10V16H13V18M9 15H6V13H9V15M13 15H10V13H13V15M9 12H6V10H9V12M13 12H10V10H13V12Z\";\r\nexport var mdiFileTableOutline = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20M10,13H7V11H10V13M14,13H11V11H14V13M10,16H7V14H10V16M14,16H11V14H14V16M10,19H7V17H10V19M14,19H11V17H14V19Z\";\r\nexport var mdiFileTree = \"M3,3H9V7H3V3M15,10H21V14H15V10M15,17H21V21H15V17M13,13H7V18H13V20H7L5,20V9H7V11H13V13Z\";\r\nexport var mdiFileTreeOutline = \"M12 13H7V18H12V20H5V10H7V11H12V13M8 4V6H4V4H8M10 2H2V8H10V2M20 11V13H16V11H20M22 9H14V15H22V9M20 18V20H16V18H20M22 16H14V22H22V16Z\";\r\nexport var mdiFileUndo = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M12.16,14.31C10.6,14.31 9.19,14.89 8.11,15.83L6,13.72V19H11.28L9.15,16.88C9.97,16.2 11,15.78 12.16,15.78C14.23,15.78 16,17.13 16.61,19L18,18.54C17.19,16.09 14.88,14.31 12.16,14.31Z\";\r\nexport var mdiFileUndoOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17 17.61L15.84 18C15.33 16.44 13.86 15.31 12.13 15.31C11.17 15.31 10.31 15.66 9.63 16.23L11.4 18H7V13.6L8.76 15.36C9.66 14.57 10.83 14.09 12.13 14.09C14.4 14.09 16.33 15.57 17 17.61Z\";\r\nexport var mdiFileUpload = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M13.5,16V19H10.5V16H8L12,12L16,16H13.5M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileUploadOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,12L16,16H13.5V19H10.5V16H8L12,12Z\";\r\nexport var mdiFileVideo = \"M13,9H18.5L13,3.5V9M6,2H14L20,8V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V4C4,2.89 4.89,2 6,2M17,19V13L14,15.2V13H7V19H14V16.8L17,19Z\";\r\nexport var mdiFileVideoOutline = \"M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M16,18L13.5,16.3V18H8V13H13.5V14.7L16,13V18Z\";\r\nexport var mdiFileWord = \"M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M15.2,20H13.8L12,13.2L10.2,20H8.8L6.6,11H8.1L9.5,17.8L11.3,11H12.6L14.4,17.8L15.8,11H17.3L15.2,20M13,9V3.5L18.5,9H13Z\";\r\nexport var mdiFileWordBox = \"M15.5,17H14L12,9.5L10,17H8.5L6.1,7H7.8L9.34,14.5L11.3,7H12.7L14.67,14.5L16.2,7H17.9M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiFileWordBoxOutline = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M5 5H19V19H5V5M17.9 7L15.5 17H14L12 9.5L10 17H8.5L6.1 7H7.8L9.34 14.5L11.3 7H12.7L14.67 14.5L16.2 7H17.9Z\";\r\nexport var mdiFileWordOutline = \"M14 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V8L14 2M18 20H6V4H13V9H18V20M17.35 10L15.25 19H13.85L12.05 12.21L10.25 19H8.85L6.65 10H8.15L9.55 16.81L11.35 10H12.65L14.45 16.81L15.85 10H17.35Z\";\r\nexport var mdiFileXmlBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M8 15H6.5L6 13L5.5 15H4L4.75 12L4 9H5.5L6 11L6.5 9H8L7.25 12L8 15M15.5 15H14V10.5H13V14H11.5V10.5H10.5V15H9V11C9 9.9 9.9 9 11 9H13.5C14.61 9 15.5 9.9 15.5 11V15M20 15H17V9H18.5V13.5H20V15Z\";\r\nexport var mdiFilm = \"M3.5,3H5V1.8C5,1.36 5.36,1 5.8,1H10.2C10.64,1 11,1.36 11,1.8V3H12.5A1.5,1.5 0 0,1 14,4.5V5H22V20H14V20.5A1.5,1.5 0 0,1 12.5,22H3.5A1.5,1.5 0 0,1 2,20.5V4.5A1.5,1.5 0 0,1 3.5,3M18,7V9H20V7H18M14,7V9H16V7H14M10,7V9H12V7H10M14,16V18H16V16H14M18,16V18H20V16H18M10,16V18H12V16H10Z\";\r\nexport var mdiFilmstrip = \"M18,9H16V7H18M18,13H16V11H18M18,17H16V15H18M8,9H6V7H8M8,13H6V11H8M8,17H6V15H8M18,3V5H16V3H8V5H6V3H4V21H6V19H8V21H16V19H18V21H20V3H18Z\";\r\nexport var mdiFilmstripBox = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M7 18V16H5V18H7M7 13V11H5V13H7M7 8V6H5V8H7M19 18V16H17V18H19M19 13V11H17V13H19M19 8V6H17V8H19Z\";\r\nexport var mdiFilmstripBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M10,15H8V13H10V15M10,11H8V9H10V11M10,7H8V5H10V7M20,15H18V13H20V15M20,11H18V9H20V11M20,7H18V5H20V7Z\";\r\nexport var mdiFilmstripOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L16,19.27V21H8V19H6V21H4V7.27L1,4.27M18,9V7H16V9H18M18,13V11H16V13H18M18,15H16.82L6.82,5H8V3H16V5H18V3H20V18.18L18,16.18V15M8,13V11.27L7.73,11H6V13H8M8,17V15H6V17H8M6,3V4.18L4.82,3H6Z\";\r\nexport var mdiFilter = \"M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z\";\r\nexport var mdiFilterCheck = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.87V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3H17C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M17.75 21L15 18L16.16 16.84L17.75 18.43L21.34 14.84L22.5 16.25L17.75 21\";\r\nexport var mdiFilterCheckOutline = \"M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3H17C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04M17.75 21L15 18L16.16 16.84L17.75 18.43L21.34 14.84L22.5 16.25L17.75 21\";\r\nexport var mdiFilterCog = \"M22.77 19.32L21.7 18.5C21.72 18.33 21.74 18.17 21.74 18S21.73 17.67 21.7 17.5L22.76 16.68C22.85 16.6 22.88 16.47 22.82 16.36L21.82 14.63C21.76 14.5 21.63 14.5 21.5 14.5L20.27 15C20 14.82 19.73 14.65 19.42 14.53L19.23 13.21C19.22 13.09 19.11 13 19 13H17C16.87 13 16.76 13.09 16.74 13.21L16.55 14.53C16.25 14.66 15.96 14.82 15.7 15L14.46 14.5C14.35 14.5 14.22 14.5 14.15 14.63L13.15 16.36C13.09 16.47 13.11 16.6 13.21 16.68L14.27 17.5C14.25 17.67 14.24 17.83 14.24 18S14.25 18.33 14.27 18.5L13.21 19.32C13.12 19.4 13.09 19.53 13.15 19.64L14.15 21.37C14.21 21.5 14.34 21.5 14.46 21.5L15.7 21C15.96 21.18 16.24 21.35 16.55 21.47L16.74 22.79C16.76 22.91 16.86 23 17 23H19C19.11 23 19.22 22.91 19.24 22.79L19.43 21.47C19.73 21.34 20 21.18 20.27 21L21.5 21.5C21.63 21.5 21.76 21.5 21.83 21.37L22.83 19.64C22.89 19.53 22.86 19.4 22.77 19.32M18 19.5C17.16 19.5 16.5 18.83 16.5 18S17.17 16.5 18 16.5 19.5 17.17 19.5 18 18.83 19.5 18 19.5M3 3C2.78 3 2.57 3.08 2.38 3.22C1.95 3.56 1.87 4.19 2.21 4.62L7.97 12H8V17.87C7.96 18.16 8.06 18.47 8.29 18.7L10.3 20.71C10.65 21.06 11.19 21.08 11.58 20.8C11.2 19.91 11 18.96 11 18C11 16.73 11.35 15.5 12 14.4V12H12.03L17.79 4.62C18.13 4.19 18.05 3.56 17.62 3.22C17.43 3.08 17.22 3 17 3H3Z\";\r\nexport var mdiFilterCogOutline = \"M22.77 19.32L21.7 18.5C21.72 18.33 21.74 18.17 21.74 18S21.73 17.67 21.7 17.5L22.76 16.68C22.85 16.6 22.88 16.47 22.82 16.36L21.82 14.63C21.76 14.5 21.63 14.5 21.5 14.5L20.27 15C20 14.82 19.73 14.65 19.42 14.53L19.23 13.21C19.22 13.09 19.11 13 19 13H17C16.87 13 16.76 13.09 16.74 13.21L16.55 14.53C16.25 14.66 15.96 14.82 15.7 15L14.46 14.5C14.35 14.5 14.22 14.5 14.15 14.63L13.15 16.36C13.09 16.47 13.11 16.6 13.21 16.68L14.27 17.5C14.25 17.67 14.24 17.83 14.24 18S14.25 18.33 14.27 18.5L13.21 19.32C13.12 19.4 13.09 19.53 13.15 19.64L14.15 21.37C14.21 21.5 14.34 21.5 14.46 21.5L15.7 21C15.96 21.18 16.24 21.35 16.55 21.47L16.74 22.79C16.76 22.91 16.86 23 17 23H19C19.11 23 19.22 22.91 19.24 22.79L19.43 21.47C19.73 21.34 20 21.18 20.27 21L21.5 21.5C21.63 21.5 21.76 21.5 21.83 21.37L22.83 19.64C22.89 19.53 22.86 19.4 22.77 19.32M18 19.5C17.16 19.5 16.5 18.83 16.5 18S17.17 16.5 18 16.5 19.5 17.17 19.5 18 18.83 19.5 18 19.5M17.62 3.22C17.43 3.08 17.22 3 17 3H3C2.78 3 2.57 3.08 2.38 3.22C1.95 3.56 1.87 4.19 2.21 4.62L7 10.75V15.87C6.96 16.16 7.06 16.47 7.29 16.7L11.3 20.71C11.4 20.81 11.5 20.88 11.65 20.93C11.22 20 11 19 11 18C11 16.17 11.72 14.41 13 13.1V10.75L17.79 4.62C18.13 4.19 18.05 3.56 17.62 3.22M11 10.05V17.58L9 15.58V10.06L5.04 5H14.96L11 10.05Z\";\r\nexport var mdiFilterMenu = \"M11 11L16.76 3.62A1 1 0 0 0 16.59 2.22A1 1 0 0 0 16 2H2A1 1 0 0 0 1.38 2.22A1 1 0 0 0 1.21 3.62L7 11V16.87A1 1 0 0 0 7.29 17.7L9.29 19.7A1 1 0 0 0 10.7 19.7A1 1 0 0 0 11 18.87V11M13 16L18 21L23 16Z\";\r\nexport var mdiFilterMenuOutline = \"M12 18.88A1 1 0 0 1 11.71 19.71A1 1 0 0 1 10.3 19.71L6.3 15.71A1 1 0 0 1 6 14.87V9.75L1.21 3.62A1 1 0 0 1 1.38 2.22A1 1 0 0 1 2 2H16A1 1 0 0 1 16.62 2.22A1 1 0 0 1 16.79 3.62L12 9.75V18.88M4 4L8 9.06V14.58L10 16.58V9.05L14 4M13 16L18 21L23 16Z\";\r\nexport var mdiFilterMinus = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.86V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M15 17H23V19H15V17Z\";\r\nexport var mdiFilterMinusOutline = \"M15 17H23V19H15V17M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04Z\";\r\nexport var mdiFilterMultiple = \"M3.46 5C3.25 5 3.04 5.08 2.87 5.21C2.43 5.55 2.35 6.18 2.69 6.61L2.69 6.62L8 13.42V19.41L10.29 21.71C10.68 22.1 11.32 22.1 11.71 21.71C12.1 21.32 12.1 20.68 11.71 20.29L10 18.59V12.73L4.27 5.39C4.08 5.14 3.78 5 3.46 5M16 12V19.88C16.04 20.18 15.94 20.5 15.71 20.71C15.32 21.1 14.69 21.1 14.3 20.71L12.29 18.7C12.06 18.47 11.96 18.16 12 17.87V12H11.97L6.21 4.62C5.87 4.19 5.95 3.56 6.38 3.22C6.57 3.08 6.78 3 7 3H21C21.22 3 21.43 3.08 21.62 3.22C22.05 3.56 22.13 4.19 21.79 4.62L16.03 12H16Z\";\r\nexport var mdiFilterMultipleOutline = \"M3.47 5C3.25 5 3.04 5.08 2.87 5.21C2.43 5.55 2.35 6.18 2.69 6.61L2.69 6.62L7 12.14V18.05L10.64 21.71C11 22.1 11.66 22.1 12.05 21.71L12.05 21.71C12.44 21.32 12.44 20.69 12.06 20.3L9 17.22V11.45L4.27 5.39C4.08 5.14 3.78 5 3.47 5M21.62 3.22C21.43 3.08 21.22 3 21 3H7C6.78 3 6.57 3.08 6.38 3.22C5.95 3.56 5.87 4.19 6.21 4.62L11 10.75V15.87C10.96 16.16 11.06 16.47 11.29 16.7L15.3 20.71C15.69 21.1 16.32 21.1 16.71 20.71C16.94 20.5 17.04 20.18 17 19.88V10.75L21.79 4.62C22.13 4.19 22.05 3.56 21.62 3.22M15 10.05V17.58L13 15.58V10.06L9.04 5H18.96L15 10.05Z\";\r\nexport var mdiFilterOff = \"M2.39 1.73L1.11 3L9.5 11.37L9.97 12H10V17.87C9.96 18.16 10.06 18.47 10.29 18.7L12.3 20.71C12.69 21.1 13.32 21.1 13.71 20.71C13.94 20.5 14.04 20.18 14 19.88V15.89L20.84 22.73L22.11 21.46L14 13.35L9.41 8.76L4.15 3.5L2.39 1.73M6.21 3L14.54 11.34L19.79 4.62C20.13 4.19 20.05 3.56 19.62 3.22C19.43 3.08 19.22 3 19 3H6.21Z\";\r\nexport var mdiFilterOffOutline = \"M2.39 1.73L1.11 3L9 10.89V15.87C8.96 16.16 9.06 16.47 9.29 16.7L13.3 20.71C13.69 21.1 14.32 21.1 14.71 20.71C14.94 20.5 15.04 20.18 15 19.88V16.89L20.84 22.73L22.11 21.46L15 14.35V14.34L13 12.35L11 10.34L4.15 3.5L2.39 1.73M6.21 3L8.2 5H16.96L13.11 9.91L15 11.8V10.75L19.79 4.62C20.13 4.19 20.05 3.56 19.62 3.22C19.43 3.08 19.22 3 19 3H6.21M11 12.89L13 14.89V17.58L11 15.58V12.89Z\";\r\nexport var mdiFilterOutline = \"M15,19.88C15.04,20.18 14.94,20.5 14.71,20.71C14.32,21.1 13.69,21.1 13.3,20.71L9.29,16.7C9.06,16.47 8.96,16.16 9,15.87V10.75L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L15,10.75V19.88M7.04,5L11,10.06V15.58L13,17.58V10.05L16.96,5H7.04Z\";\r\nexport var mdiFilterPlus = \"M12 12V19.88C12.04 20.18 11.94 20.5 11.71 20.71C11.32 21.1 10.69 21.1 10.3 20.71L8.29 18.7C8.06 18.47 7.96 18.16 8 17.87V12H7.97L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3H17C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L12.03 12H12M15 17H18V14H20V17H23V19H20V22H18V19H15V17Z\";\r\nexport var mdiFilterPlusOutline = \"M15 17H18V14H20V17H23V19H20V22H18V19H15V17M13 19.88C13.04 20.18 12.94 20.5 12.72 20.71C12.32 21.1 11.69 21.1 11.3 20.71L7.29 16.7C7.06 16.47 6.96 16.16 7 15.87V10.75L2.21 4.62C1.87 4.19 1.95 3.56 2.38 3.22C2.57 3.08 2.78 3 3 3V3H17V3C17.22 3 17.43 3.08 17.62 3.22C18.05 3.56 18.13 4.19 17.79 4.62L13 10.75V19.88M5.04 5L9 10.07V15.58L11 17.58V10.05L14.96 5H5.04Z\";\r\nexport var mdiFilterRemove = \"M14.76,20.83L17.6,18L14.76,15.17L16.17,13.76L19,16.57L21.83,13.76L23.24,15.17L20.43,18L23.24,20.83L21.83,22.24L19,19.4L16.17,22.24L14.76,20.83M12,12V19.88C12.04,20.18 11.94,20.5 11.71,20.71C11.32,21.1 10.69,21.1 10.3,20.71L8.29,18.7C8.06,18.47 7.96,18.16 8,17.87V12H7.97L2.21,4.62C1.87,4.19 1.95,3.56 2.38,3.22C2.57,3.08 2.78,3 3,3V3H17V3C17.22,3 17.43,3.08 17.62,3.22C18.05,3.56 18.13,4.19 17.79,4.62L12.03,12H12Z\";\r\nexport var mdiFilterRemoveOutline = \"M14.73,20.83L17.58,18L14.73,15.17L16.15,13.76L19,16.57L21.8,13.76L23.22,15.17L20.41,18L23.22,20.83L21.8,22.24L19,19.4L16.15,22.24L14.73,20.83M13,19.88C13.04,20.18 12.94,20.5 12.71,20.71C12.32,21.1 11.69,21.1 11.3,20.71L7.29,16.7C7.06,16.47 6.96,16.16 7,15.87V10.75L2.21,4.62C1.87,4.19 1.95,3.56 2.38,3.22C2.57,3.08 2.78,3 3,3V3H17V3C17.22,3 17.43,3.08 17.62,3.22C18.05,3.56 18.13,4.19 17.79,4.62L13,10.75V19.88M5.04,5L9,10.06V15.58L11,17.58V10.05L14.96,5H5.04Z\";\r\nexport var mdiFilterSettings = \"M15 22H17V24H15M11 22H13V24H11M7 22H9V24H7M14 12V19.88C14.04 20.18 13.94 20.5 13.71 20.71C13.32 21.1 12.69 21.1 12.3 20.71L10.29 18.7C10.06 18.47 9.96 18.16 10 17.87V12H9.97L4.21 4.62C3.87 4.19 3.95 3.56 4.38 3.22C4.57 3.08 4.78 3 5 3H19C19.22 3 19.43 3.08 19.62 3.22C20.05 3.56 20.13 4.19 19.79 4.62L14.03 12Z\";\r\nexport var mdiFilterSettingsOutline = \"M15 22H17V24H15M11 22H13V24H11M7 22H9V24H7M15 19.88C15.04 20.18 14.94 20.5 14.71 20.71C14.32 21.1 13.69 21.1 13.3 20.71L9.29 16.7C9.06 16.47 8.96 16.16 9 15.87V10.75L4.21 4.62C3.87 4.19 3.95 3.56 4.38 3.22C4.57 3.08 4.78 3 5 3H19C19.22 3 19.43 3.08 19.62 3.22C20.05 3.56 20.13 4.19 19.79 4.62L15 10.75V19.88M7.04 5L11 10.06V15.58L13 17.58V10.05L16.96 5Z\";\r\nexport var mdiFilterVariant = \"M6,13H18V11H6M3,6V8H21V6M10,18H14V16H10V18Z\";\r\nexport var mdiFilterVariantMinus = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M23 18H15V20H23V18Z\";\r\nexport var mdiFilterVariantPlus = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFilterVariantRemove = \"M21 8H3V6H21V8M13.81 16H10V18H13.09C13.21 17.28 13.46 16.61 13.81 16M18 11H6V13H18V11M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiFinance = \"M6,16.5L3,19.44V11H6M11,14.66L9.43,13.32L8,14.64V7H11M16,13L13,16V3H16M18.81,12.81L17,11H22V16L20.21,14.21L13,21.36L9.53,18.34L5.75,22H3L9.47,15.66L13,18.64\";\r\nexport var mdiFindReplace = \"M11,6C12.38,6 13.63,6.56 14.54,7.46L12,10H18V4L15.95,6.05C14.68,4.78 12.93,4 11,4C7.47,4 4.57,6.61 4.08,10H6.1C6.56,7.72 8.58,6 11,6M16.64,15.14C17.3,14.24 17.76,13.17 17.92,12H15.9C15.44,14.28 13.42,16 11,16C9.62,16 8.37,15.44 7.46,14.54L10,12H4V18L6.05,15.95C7.32,17.22 9.07,18 11,18C12.55,18 14,17.5 15.14,16.64L20,21.5L21.5,20L16.64,15.14Z\";\r\nexport var mdiFingerprint = \"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z\";\r\nexport var mdiFingerprintOff = \"M1.5,4.77L2.78,3.5L20.5,21.22L19.23,22.5L16.67,19.94C15.58,19.9 14.62,19.6 13.82,19.05C12.34,18.05 11.46,16.43 11.44,14.71L10.27,13.53C10.03,13.85 9.89,14.23 9.89,14.65C9.89,16.36 10.55,17.96 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36 15.38,21.62C15.33,21.85 15.12,22 14.91,22H14.78C13.19,21.54 12.15,20.95 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.97 9.14,13.33 9.56,12.83L8.5,11.77C7.78,12.54 7.34,13.55 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79 9.75,21.79C9.62,21.79 9.5,21.74 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27 6.34,14.66C6.34,13.28 6.89,12 7.79,11.06L6.7,9.97C6.15,10.5 5.69,11.15 5.35,11.86C4.96,12.67 4.76,13.62 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C4.84,10.61 5.36,9.88 6,9.26L4.97,8.24C4.58,8.63 4.22,9.05 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72L3.21,9.63C3,9.47 2.93,9.16 3.09,8.93C3.45,8.43 3.84,7.96 4.27,7.53L1.5,4.77M17.81,4.47L17.58,4.41C15.66,3.42 14,3 12,3C10.03,3 8.15,3.47 6.44,4.41L6.29,4.46L5.71,3.89C5.73,3.74 5.82,3.61 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47 17.81,4.47M17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23 16.69,6.54C14.06,5.19 10.76,5.08 8.03,6.21L7.27,5.45C10.34,4.04 14.14,4.1 17.15,5.65M12,9.27C15.12,9.27 17.66,11.69 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16L16.93,15.11L16.72,14.89L16.66,14.66C16.66,12.27 14.62,10.32 12.09,10.27L11.15,9.33L12,9.27M14.38,18.22C14.71,18.45 15.07,18.62 15.47,18.73L12.63,15.9C12.92,16.82 13.53,17.65 14.38,18.22M19.21,14.66C19.21,10.89 15.96,7.83 11.96,7.83C11.26,7.83 10.58,7.93 9.93,8.11L9.12,7.3C10,7 10.97,6.82 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,15.65 19.69,16.53 18.89,17.06L18.17,16.34C18.79,16 19.21,15.38 19.21,14.66Z\";\r\nexport var mdiFire = \"M17.66 11.2C17.43 10.9 17.15 10.64 16.89 10.38C16.22 9.78 15.46 9.35 14.82 8.72C13.33 7.26 13 4.85 13.95 3C13 3.23 12.17 3.75 11.46 4.32C8.87 6.4 7.85 10.07 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C6.87 12.33 6.69 10.28 7.45 8.64C5.78 10 4.87 12.3 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C18.86 17.66 19.5 15 18.56 12.72L18.43 12.46C18.22 12 17.66 11.2 17.66 11.2M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.78 14.43 12.46 13.77 12.33 13C12.21 12.26 12.23 11.63 12.5 10.94C12.69 11.32 12.89 11.7 13.13 12C13.9 13 15.11 13.44 15.37 14.8C15.41 14.94 15.43 15.08 15.43 15.23C15.46 16.05 15.1 16.95 14.5 17.5H14.5Z\";\r\nexport var mdiFireAlert = \"M15.66 11.2C15.43 10.9 15.15 10.64 14.89 10.38C14.22 9.78 13.46 9.35 12.82 8.72C11.33 7.26 11 4.85 11.95 3C11 3.23 10.17 3.75 9.46 4.32C6.87 6.4 5.85 10.07 7.07 13.22C7.11 13.32 7.15 13.42 7.15 13.55C7.15 13.77 7 13.97 6.8 14.05C6.57 14.15 6.33 14.09 6.14 13.93C6.08 13.88 6.04 13.83 6 13.76C4.87 12.33 4.69 10.28 5.45 8.64C3.78 10 2.87 12.3 3 14.47C3.06 14.97 3.12 15.47 3.29 15.97C3.43 16.57 3.7 17.17 4 17.7C5.08 19.43 6.95 20.67 8.96 20.92C11.1 21.19 13.39 20.8 15.03 19.32C16.86 17.66 17.5 15 16.56 12.72L16.43 12.46C16.22 12 15.66 11.2 15.66 11.2M12.5 17.5C12.22 17.74 11.76 18 11.4 18.1C10.28 18.5 9.16 17.94 8.5 17.28C9.69 17 10.4 16.12 10.61 15.23C10.78 14.43 10.46 13.77 10.33 13C10.21 12.26 10.23 11.63 10.5 10.94C10.69 11.32 10.89 11.7 11.13 12C11.9 13 13.11 13.44 13.37 14.8C13.41 14.94 13.43 15.08 13.43 15.23C13.46 16.05 13.1 16.95 12.5 17.5H12.5M21 13H19V7H21V13M21 17H19V15H21V17Z\";\r\nexport var mdiFireCircle = \"M14.66 14.18C14.69 14.29 14.7 14.4 14.7 14.5C14.73 15.15 14.44 15.85 13.97 16.28C13.75 16.47 13.39 16.67 13.11 16.75C12.23 17.06 11.35 16.62 10.83 16.11C11.77 15.89 12.32 15.21 12.5 14.5C12.62 13.89 12.37 13.38 12.27 12.78C12.17 12.2 12.19 11.71 12.4 11.18C12.55 11.47 12.71 11.77 12.9 12C13.5 12.78 14.45 13.12 14.66 14.18M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M17.16 12.56L17.06 12.36C16.9 12 16.45 11.38 16.45 11.38C16.27 11.15 16.05 10.94 15.85 10.74C15.32 10.27 14.73 9.94 14.22 9.45C13.05 8.31 12.79 6.44 13.54 5C12.79 5.18 12.14 5.58 11.58 6.03C9.55 7.65 8.75 10.5 9.71 12.95C9.74 13.03 9.77 13.11 9.77 13.21C9.77 13.38 9.65 13.53 9.5 13.6C9.31 13.67 9.13 13.63 9 13.5C8.93 13.46 8.9 13.42 8.87 13.37C8 12.26 7.84 10.66 8.43 9.39C7.12 10.45 6.41 12.24 6.5 13.92C6.56 14.31 6.6 14.7 6.74 15.09C6.85 15.56 7.06 16 7.3 16.44C8.14 17.78 9.61 18.75 11.19 18.94C12.87 19.15 14.67 18.85 15.96 17.7C17.4 16.4 17.9 14.33 17.16 12.56Z\";\r\nexport var mdiFireExtinguisher = \"M10.5,7H11.75L12,5H10.25L6,7.5V9H4V6.5L10,3H12V2H14V3H16L17,2.5V5.5L16,5H14L14.25,7H15.5A1.5,1.5 0 0,1 17,8.5V22H9V8.5A1.5,1.5 0 0,1 10.5,7Z\";\r\nexport var mdiFireHydrant = \"M5 15V14H4V12H5V11H7V15H5M19 12V11H17V15H19V14H20V12H19M18 6H15.86C15.5 4.6 14.4 3.5 13 3.14V2H11V3.14C9.6 3.5 8.5 4.6 8.14 6H6V8H18V6M18 22H6C6 20.9 6.9 20 8 20V9H16V20C17.11 20 18 20.9 18 22M10 13C10 14.11 10.9 15 12 15S14 14.11 14 13 13.11 11 12 11 10 11.9 10 13Z\";\r\nexport var mdiFireHydrantAlert = \"M22 7H20V13H22V7M22 15H20V17H22V15M3 15V14H2V12H3V11H5V15H3M17 12V11H15V15H17V14H18V12H17M16 6H13.86C13.5 4.6 12.4 3.5 11 3.14V2H9V3.14C7.6 3.5 6.5 4.6 6.14 6H4V8H16V6M16 22H4C4 20.9 4.89 20 6 20V9H14V20C15.11 20 16 20.9 16 22M8 13C8 14.11 8.9 15 10 15S12 14.11 12 13 11.11 11 10 11 8 11.9 8 13Z\";\r\nexport var mdiFireHydrantOff = \"M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L8 9.89V20C6.9 20 6 20.9 6 22H18C18 20.9 17.11 20 16 20V17.89L20.84 22.73M10.22 12.11L12.89 14.78C12.62 14.92 12.32 15 12 15C10.9 15 10 14.11 10 13C10 12.68 10.08 12.38 10.22 12.11M11.2 8L8.44 5.24C8.94 4.21 9.87 3.43 11 3.14V2H13V3.14C14.4 3.5 15.5 4.6 15.86 6H18V8H11.2M19 11V12H20V14H19V15H18.2L17 13.8V11H19M5 15V14H4V12H5V11H7V15H5M16 12.8L12.2 9H16V12.8Z\";\r\nexport var mdiFireOff = \"M22.11 21.46L2.39 1.73L1.11 3L7.09 9C5.66 10.36 4.88 12.47 5 14.47C5.06 14.97 5.12 15.47 5.29 15.97C5.43 16.57 5.7 17.17 6 17.7C7.08 19.43 8.95 20.67 10.96 20.92C13.1 21.19 15.39 20.8 17.03 19.32C17.1 19.26 17.15 19.18 17.22 19.11L20.84 22.73L22.11 21.46M8.8 14.05C8.57 14.15 8.33 14.09 8.14 13.93C8.08 13.88 8.04 13.83 8 13.76C7 12.47 6.74 10.69 7.26 9.15L8.58 10.47C8.58 11.4 8.73 12.33 9.07 13.22C9.11 13.32 9.15 13.42 9.15 13.55C9.15 13.77 9 13.97 8.8 14.05M14.5 17.5C14.22 17.74 13.76 18 13.4 18.1C12.28 18.5 11.16 17.94 10.5 17.28C11.69 17 12.4 16.12 12.61 15.23C12.66 15 12.66 14.76 12.64 14.53L15 16.88C14.85 17.11 14.69 17.33 14.5 17.5M18.92 15.72L9.65 6.46C10.12 5.65 10.72 4.92 11.46 4.32C12.17 3.75 13 3.23 13.95 3C13 4.85 13.33 7.26 14.82 8.72C15.46 9.35 16.22 9.78 16.89 10.38C17.15 10.64 17.43 10.9 17.66 11.2C17.66 11.2 18.22 12 18.43 12.46L18.56 12.72C18.96 13.69 19.06 14.72 18.92 15.72Z\";\r\nexport var mdiFireStation = \"M13.11 10.39C13.37 10.15 13.53 9.75 13.5 9.39V9.2C13.43 8.81 13.18 8.6 12.92 8.37C12.78 8.24 12.63 8.12 12.5 7.95L12.26 7.5C12.13 7.8 12.12 8.08 12.17 8.41C12.19 8.5 12.21 8.6 12.24 8.69C12.29 8.92 12.35 9.14 12.29 9.39C12.2 9.78 11.9 10.17 11.37 10.3C11.67 10.59 12.15 10.82 12.64 10.66L13.11 10.39M2 22V7C2 6.74 2.11 6.5 2.29 6.29C2.5 6.11 2.74 6 3 6H7V2H17V6H21C21.27 6 21.5 6.11 21.71 6.29C21.9 6.5 22 6.74 22 7V22H19V17C19 17 19 15 15 15C11 15 11 17 11 17V22H8V17H4V22H2M14.47 7.62H14.5L14.14 7.25L13.25 6.5C12.61 5.88 12.46 4.82 12.87 4C12.5 4.1 12.1 4.33 11.79 4.58C10.68 5.5 10.23 7.12 10.76 8.5L10.8 8.65C10.8 8.75 10.73 8.84 10.64 8.87C10.55 8.92 10.44 8.89 10.36 8.82L10.3 8.74C9.81 8.11 9.73 7.21 10.06 6.5C9.34 7.09 8.96 8.1 9 9.06L9.13 9.72C9.19 10 9.3 10.25 9.45 10.5C9.9 11.24 10.71 11.79 11.58 11.9C12.5 12 13.5 11.85 14.21 11.19C15 10.45 15.29 9.3 14.87 8.29L14.81 8.17L14.47 7.62Z\";\r\nexport var mdiFireTruck = \"M17.04,2C16.85,2 16.66,2.04 16.5,2.14L5.59,8.5H9.55L17.5,3.86C18,3.58 18.13,2.97 17.85,2.5C17.68,2.2 17.38,2 17.04,2M16,8V10H3A2,2 0 0,0 1,12H2V15H1V19H3A3,3 0 0,0 6,22A3,3 0 0,0 9,19H15A3,3 0 0,0 18,22A3,3 0 0,0 21,19H23V12.5L19.5,8H16M18,9.5H19L21.5,12.5V13.5H18V9.5M4,12H7V15H4V12M9,12H12V15H9V12M14,12H16V15H14V12M6,17.5A1.5,1.5 0 0,1 7.5,19A1.5,1.5 0 0,1 6,20.5A1.5,1.5 0 0,1 4.5,19A1.5,1.5 0 0,1 6,17.5M18,17.5A1.5,1.5 0 0,1 19.5,19A1.5,1.5 0 0,1 18,20.5A1.5,1.5 0 0,1 16.5,19A1.5,1.5 0 0,1 18,17.5Z\";\r\nexport var mdiFirebase = \"M20,18.69L12.7,22.74C12.2,23 11.7,23 11.2,22.74L4,18.69L17.05,5.54L17.4,5.44C17.7,5.44 17.87,5.57 17.9,5.84L20,18.69M9.35,5.74L4.8,13.29L6.7,1.34C6.73,1.07 6.9,0.94 7.2,0.94C7.4,0.94 7.53,1 7.6,1.19L9.75,5.14L9.35,5.74M13.85,7L4.3,16.59L11.55,4.29C11.65,4.09 11.8,4 12,4C12.2,4 12.33,4.09 12.4,4.29L13.85,7Z\";\r\nexport var mdiFirefox = \"M9.27 7.94C9.27 7.94 9.27 7.94 9.27 7.94M6.85 6.74C6.86 6.74 6.86 6.74 6.85 6.74M21.28 8.6C20.85 7.55 19.96 6.42 19.27 6.06C19.83 7.17 20.16 8.28 20.29 9.1L20.29 9.12C19.16 6.3 17.24 5.16 15.67 2.68C15.59 2.56 15.5 2.43 15.43 2.3C15.39 2.23 15.36 2.16 15.32 2.09C15.26 1.96 15.2 1.83 15.17 1.69C15.17 1.68 15.16 1.67 15.15 1.67H15.13L15.12 1.67L15.12 1.67L15.12 1.67C12.9 2.97 11.97 5.26 11.74 6.71C11.05 6.75 10.37 6.92 9.75 7.22C9.63 7.27 9.58 7.41 9.62 7.53C9.67 7.67 9.83 7.74 9.96 7.68C10.5 7.42 11.1 7.27 11.7 7.23L11.75 7.23C11.83 7.22 11.92 7.22 12 7.22C12.5 7.21 12.97 7.28 13.44 7.42L13.5 7.44C13.6 7.46 13.67 7.5 13.75 7.5C13.8 7.54 13.86 7.56 13.91 7.58L14.05 7.64C14.12 7.67 14.19 7.7 14.25 7.73C14.28 7.75 14.31 7.76 14.34 7.78C14.41 7.82 14.5 7.85 14.54 7.89C14.58 7.91 14.62 7.94 14.66 7.96C15.39 8.41 16 9.03 16.41 9.77C15.88 9.4 14.92 9.03 14 9.19C17.6 11 16.63 17.19 11.64 16.95C11.2 16.94 10.76 16.85 10.34 16.7C10.24 16.67 10.14 16.63 10.05 16.58C10 16.56 9.93 16.53 9.88 16.5C8.65 15.87 7.64 14.68 7.5 13.23C7.5 13.23 8 11.5 10.83 11.5C11.14 11.5 12 10.64 12.03 10.4C12.03 10.31 10.29 9.62 9.61 8.95C9.24 8.59 9.07 8.42 8.92 8.29C8.84 8.22 8.75 8.16 8.66 8.1C8.43 7.3 8.42 6.45 8.63 5.65C7.6 6.12 6.8 6.86 6.22 7.5H6.22C5.82 7 5.85 5.35 5.87 5C5.86 5 5.57 5.16 5.54 5.18C5.19 5.43 4.86 5.71 4.56 6C4.21 6.37 3.9 6.74 3.62 7.14C3 8.05 2.5 9.09 2.28 10.18C2.28 10.19 2.18 10.59 2.11 11.1L2.08 11.33C2.06 11.5 2.04 11.65 2 11.91L2 11.94L2 12.27L2 12.32C2 17.85 6.5 22.33 12 22.33C16.97 22.33 21.08 18.74 21.88 14C21.9 13.89 21.91 13.76 21.93 13.63C22.13 11.91 21.91 10.11 21.28 8.6Z\";\r\nexport var mdiFireplace = \"M22,22H2V20H22V22M22,6H2V3H22V6M20,7V19H17V11C17,11 14.5,10 12,10C9.5,10 7,11 7,11V19H4V7H20M14.5,14.67H14.47L14.81,15.22L14.87,15.34C15.29,16.35 15,17.5 14.21,18.24C13.5,18.9 12.5,19.07 11.58,18.95C10.71,18.84 9.9,18.29 9.45,17.53C9.3,17.3 9.19,17.03 9.13,16.77L9,16.11C8.96,15.15 9.34,14.14 10.06,13.54C9.73,14.26 9.81,15.16 10.3,15.79L10.36,15.87C10.44,15.94 10.55,15.97 10.64,15.92C10.73,15.89 10.8,15.8 10.8,15.7L10.76,15.56C10.23,14.17 10.68,12.55 11.79,11.63C12.1,11.38 12.5,11.15 12.87,11.05C12.46,11.87 12.61,12.93 13.25,13.57L14.14,14.3L14.5,14.67M13.11,17.44V17.44C13.37,17.2 13.53,16.8 13.5,16.44V16.25C13.38,15.65 12.85,15.46 12.5,15L12.26,14.55C12.13,14.85 12.12,15.13 12.17,15.46C12.23,15.8 12.37,16.09 12.29,16.44C12.2,16.83 11.9,17.22 11.37,17.35C11.67,17.64 12.15,17.87 12.64,17.71L13.11,17.44Z\";\r\nexport var mdiFireplaceOff = \"M22,22H2V20H22V22M22,6H2V3H22V6M20,7V19H17V11C17,11 14.5,10 12,10C9.5,10 7,11 7,11V19H4V7H20Z\";\r\nexport var mdiFirewire = \"M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M12 8C9.8 8 8 9.8 8 12S9.8 16 12 16 16 14.2 16 12 14.2 8 12 8M15 17H9V19H15V17M15 20H9V22H15V20M6.3 10.6L10.5 6.4L9.2 4.9L4.9 9.2L6.3 10.6M4.2 8.5L8.4 4.3L7.1 2.8L2.8 7.1L4.2 8.5M15 17H9V19H15V17M13.4 6.3L17.6 10.5L21.1 7L16.9 2.8L13.4 6.3Z\";\r\nexport var mdiFirework = \"M5.8,16.59L4.5,15.28L12.26,7.5L16.5,11.74L8.72,19.5L7.29,18.09C7.04,18.16 6.8,18.28 6.63,18.5C6.57,18.57 6.5,18.65 6.5,18.74C6.42,18.88 6.38,19 6.32,19.15C6.21,19.42 6.09,19.69 5.93,19.93C5.81,20.1 5.68,20.26 5.53,20.39C5.42,20.5 5.29,20.59 5.16,20.66C5.08,20.71 5,20.76 4.9,20.79C4.3,21.04 3.63,21 3,21V19C3.23,19 3.83,19 3.9,19C4,19 4.08,19 4.16,18.94C4.18,18.92 4.19,18.91 4.21,18.89C4.28,18.81 4.34,18.7 4.39,18.6C4.47,18.42 4.53,18.24 4.6,18.06L4.64,17.96C4.76,17.69 4.9,17.45 5.08,17.23C5.18,17.1 5.3,17 5.42,16.87C5.54,16.77 5.66,16.67 5.8,16.59M21,3L19.88,11.19L12.81,4.12L21,3Z\";\r\nexport var mdiFireworkOff = \"M20.84 22.73L13.17 15.06L8.72 19.5L7.29 18.09C7.04 18.16 6.8 18.28 6.63 18.5C6.57 18.57 6.5 18.65 6.5 18.74C6.42 18.88 6.38 19 6.32 19.15C6.21 19.42 6.09 19.69 5.93 19.93C5.81 20.1 5.68 20.26 5.53 20.39C5.42 20.5 5.29 20.59 5.16 20.66C5.08 20.71 5 20.76 4.9 20.79C4.3 21.04 3.63 21 3 21V19H3.9C4 19 4.08 19 4.16 18.94L4.21 18.89C4.28 18.81 4.34 18.7 4.39 18.6C4.47 18.42 4.53 18.24 4.6 18.06L4.64 17.96C4.76 17.69 4.9 17.45 5.08 17.23C5.18 17.1 5.3 17 5.42 16.87C5.54 16.77 5.66 16.67 5.8 16.59L4.5 15.28L8.94 10.83L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 3L12.81 4.12L19.88 11.19L21 3M16.5 11.74L12.26 7.5L11.5 8.28L15.72 12.5L16.5 11.74Z\";\r\nexport var mdiFish = \"M12,20L12.76,17C9.5,16.79 6.59,15.4 5.75,13.58C5.66,14.06 5.53,14.5 5.33,14.83C4.67,16 3.33,16 2,16C3.1,16 3.5,14.43 3.5,12.5C3.5,10.57 3.1,9 2,9C3.33,9 4.67,9 5.33,10.17C5.53,10.5 5.66,10.94 5.75,11.42C6.4,10 8.32,8.85 10.66,8.32L9,5C11,5 13,5 14.33,5.67C15.46,6.23 16.11,7.27 16.69,8.38C19.61,9.08 22,10.66 22,12.5C22,14.38 19.5,16 16.5,16.66C15.67,17.76 14.86,18.78 14.17,19.33C13.33,20 12.67,20 12,20M17,11A1,1 0 0,0 16,12A1,1 0 0,0 17,13A1,1 0 0,0 18,12A1,1 0 0,0 17,11Z\";\r\nexport var mdiFishOff = \"M20.8 22.7L15.7 17.6C15.1 18.3 14.6 18.9 14.1 19.3C13.3 20 12.7 20 12 20L12.8 17C9.5 16.8 6.6 15.4 5.8 13.6C5.7 14.1 5.6 14.5 5.4 14.8C4.7 16 3.3 16 2 16C3.1 16 3.5 14.4 3.5 12.5S3.1 9 2 9C3.3 9 4.7 9 5.3 10.2C5.5 10.5 5.6 11 5.7 11.4C6 10.7 6.7 10 7.6 9.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M9.8 6.6L9 5C11 5 13 5 14.3 5.7C15.4 6.3 16.1 7.3 16.7 8.4C19.6 9.1 22 10.7 22 12.5C22 13.8 20.8 15 19 15.8L9.8 6.6M16 12C16 12.6 16.4 13 17 13S18 12.6 18 12 17.6 11 17 11 16 11.4 16 12Z\";\r\nexport var mdiFishbowl = \"M19.11,5H21V3H3V5H4.89C3.11,6.8 2,9.27 2,12C2,15.97 4.31,19.39 7.66,21H16.34C19.69,19.39 22,15.97 22,12C22,9.27 20.89,6.8 19.11,5M13.25,17C12.09,17 11.06,16.64 10.33,16.17C9.67,17 8.33,17 7,17C8.1,17 8.5,15.88 8.5,14.5C8.5,13.12 8.1,12 7,12C8.33,12 9.67,12 10.37,12.91C11.06,12.36 12.09,12 13.25,12C15.32,12 17,13.12 17,14.5C17,15.88 15.32,17 13.25,17M16,7C13.56,8.71 10.44,8.71 8,7C7.06,7.66 6,8.09 4.95,8.25C5.31,7.58 5.77,6.96 6.32,6.41L7.7,5H16.3L17.68,6.41C18.23,6.96 18.69,7.58 19.05,8.25C18,8.09 16.94,7.66 16,7Z\";\r\nexport var mdiFishbowlOutline = \"M19.11,5H21V3H3V5H4.89C3.11,6.8 2,9.27 2,12C2,15.97 4.31,19.39 7.66,21H16.34C19.69,19.39 22,15.97 22,12C22,9.27 20.89,6.8 19.11,5M6.32,6.41L7.7,5H16.3L17.68,6.41C18.23,6.96 18.69,7.58 19.05,8.25C18,8.09 16.94,7.66 16,7C13.56,8.71 10.44,8.71 8,7C7.06,7.66 6,8.09 4.95,8.25C5.31,7.58 5.77,6.96 6.32,6.41M15.85,19H8.15C5.58,17.59 4,14.95 4,12C4,11.43 4.07,10.86 4.19,10.32C5.5,10.29 6.8,9.95 8,9.33C10.5,10.63 13.5,10.63 16,9.33C17.2,9.95 18.5,10.29 19.81,10.32C19.93,10.86 20,11.43 20,12C20,14.95 18.42,17.59 15.85,19M17,14.5C17,15.88 15.32,17 13.25,17C12.09,17 11.06,16.64 10.33,16.16C9.67,17 8.33,17 7,17C8.1,17 8.5,15.88 8.5,14.5C8.5,13.12 8.1,12 7,12C8.33,12 9.67,12 10.37,12.91C11.06,12.36 12.09,12 13.25,12C15.32,12 17,13.12 17,14.5Z\";\r\nexport var mdiFitToPage = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M12,4L15,7H13V9H11V7H9M7,15L4,12L7,9V11H9V13H7M12,20L9,17H11V15H13V17H15M17,15V13H15V11H17V9L20,12\";\r\nexport var mdiFitToPageOutline = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M20,20H4V4H20M13,8V10H11V8H9L12,5L15,8M16,15V13H14V11H16V9L19,12M10,13H8V15L5,12L8,9V11H10M15,16L12,19L9,16H11V14H13V16\";\r\nexport var mdiFitToScreen = \"M17 4H20C21.1 4 22 4.9 22 6V8H20V6H17V4M4 8V6H7V4H4C2.9 4 2 4.9 2 6V8H4M20 16V18H17V20H20C21.1 20 22 19.1 22 18V16H20M7 18H4V16H2V18C2 19.1 2.9 20 4 20H7V18M18 8H6V16H18V8Z\";\r\nexport var mdiFitToScreenOutline = \"M17 4H20C21.1 4 22 4.9 22 6V8H20V6H17V4M4 8V6H7V4H4C2.9 4 2 4.9 2 6V8H4M20 16V18H17V20H20C21.1 20 22 19.1 22 18V16H20M7 18H4V16H2V18C2 19.1 2.9 20 4 20H7V18M16 10V14H8V10H16M18 8H6V16H18V8Z\";\r\nexport var mdiFlag = \"M14.4,6L14,4H5V21H7V14H12.6L13,16H20V6H14.4Z\";\r\nexport var mdiFlagCheckered = \"M14.4,6H20V16H13L12.6,14H7V21H5V4H14L14.4,6M14,14H16V12H18V10H16V8H14V10L13,8V6H11V8H9V6H7V8H9V10H7V12H9V10H11V12H13V10L14,12V14M11,10V8H13V10H11M14,10H16V12H14V10Z\";\r\nexport var mdiFlagMinus = \"M12.4,5H18V15H11L10.6,13H5V20H3V3H12L12.4,5M14,17H22V19H14V17Z\";\r\nexport var mdiFlagMinusOutline = \"M12.36 6L12.76 8H18V14H14.64L14.24 12H7V6H12.36M14 4H5V21H7V14H12.6L13 16H20V6H14.4M23 18H15V20H23V18Z\";\r\nexport var mdiFlagOff = \"M20.84 22.73L14.11 16H13L12.72 14.61L12.11 14H7V21H5V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M20 16V6H14.4L14 4H7.2L19.2 16H20\";\r\nexport var mdiFlagOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V21H7V14H12.11L12.72 14.61L13 16H14.11L20.84 22.73L22.11 21.46M7 12V8.89L10.11 12H7M9.2 6L7.2 4H14L14.4 6H20V16H19.2L17.2 14H18V8H12.76L12.36 6H9.2Z\";\r\nexport var mdiFlagOutline = \"M12.36,6L12.76,8H18V14H14.64L14.24,12H7V6H12.36M14,4H5V21H7V14H12.6L13,16H20V6H14.4\";\r\nexport var mdiFlagPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M12.4,5H18V12C15.78,12 13.84,13.21 12.8,15H11L10.6,13H5V20H3V3H12L12.4,5Z\";\r\nexport var mdiFlagPlusOutline = \"M13 16L12.6 14H7V21H5V4H14L14.4 6H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V8H12.76L12.36 6H7V12H14.24L14.64 14H15.69C14.92 14.5 14.27 15.2 13.81 16H13M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFlagRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M12.4,5H18V12C15.78,12 13.84,13.21 12.8,15H11L10.6,13H5V20H3V3H12L12.4,5Z\";\r\nexport var mdiFlagRemoveOutline = \"M13 16L12.6 14H7V21H5V4H14L14.4 6H20V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V8H12.76L12.36 6H7V12H14.24L14.64 14H15.69C14.92 14.5 14.27 15.2 13.81 16H13M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiFlagTriangle = \"M7,2H9V22H7V2M19,9L11,14.6V3.4L19,9Z\";\r\nexport var mdiFlagVariant = \"M6,3A1,1 0 0,1 7,4V4.88C8.06,4.44 9.5,4 11,4C14,4 14,6 16,6C19,6 20,4 20,4V12C20,12 19,14 16,14C13,14 13,12 11,12C8,12 7,14 7,14V21H5V4A1,1 0 0,1 6,3Z\";\r\nexport var mdiFlagVariantMinus = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M15 18V20H23V18H15Z\";\r\nexport var mdiFlagVariantMinusOutline = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M7 7.2V11.4C7 11.4 9 9.9 11 9.9S14 11.9 16 11.9 18 10.9 18 10.9V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6S7 7.2 7 7.2M15 18V20H23V18H15Z\";\r\nexport var mdiFlagVariantOff = \"M20.8 22.7L10.2 12.1C7.8 12.4 7 14 7 14V21H5V6.9L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M20 12V4C20 4 19 6 16 6C14 6 14 4 11 4C9.8 4 8.7 4.3 7.8 4.6L17.1 13.9C19.2 13.5 20 12 20 12Z\";\r\nexport var mdiFlagVariantOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L5 6.9V21H7V14C7 14 7.8 12.4 10.2 12.1L20.9 22.8L22.1 21.5M7 11.5V8.9L8.7 10.6C7.7 11 7 11.5 7 11.5M9.4 6.2L7.8 4.6C8.7 4.3 9.8 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19.2 13.5 17.1 13.9L15 11.8C15.3 11.9 15.6 12 16 12C18 12 18 11 18 11V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6C10.5 6 9.9 6.1 9.4 6.2Z\";\r\nexport var mdiFlagVariantOutline = \"M6,3A1,1 0 0,1 7,4V4.88C8.06,4.44 9.5,4 11,4C14,4 14,6 16,6C19,6 20,4 20,4V12C20,12 19,14 16,14C13,14 13,12 11,12C8,12 7,14 7,14V21H5V4A1,1 0 0,1 6,3M7,7.25V11.5C7,11.5 9,10 11,10C13,10 14,12 16,12C18,12 18,11 18,11V7.5C18,7.5 17,8 16,8C14,8 13,6 11,6C9,6 7,7.25 7,7.25Z\";\r\nexport var mdiFlagVariantPlus = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFlagVariantPlusOutline = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M7 7.2V11.4C7 11.4 9 9.9 11 9.9S14 11.9 16 11.9 18 10.9 18 10.9V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6S7 7.2 7 7.2M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiFlagVariantRemove = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\r\nexport var mdiFlagVariantRemoveOutline = \"M6 3C6.6 3 7 3.4 7 4V4.9C8.1 4.4 9.5 4 11 4C14 4 14 6 16 6C19 6 20 4 20 4V12C20 12 19 14 16 14S13 12 11 12C8 12 7 14 7 14V21H5V4C5 3.4 5.4 3 6 3M7 7.2V11.4C7 11.4 9 9.9 11 9.9S14 11.9 16 11.9 18 10.9 18 10.9V7.5C18 7.5 17 8 16 8C14 8 13 6 11 6S7 7.2 7 7.2M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\r\nexport var mdiFlare = \"M7,11H1V13H7V11M9.17,7.76L7.05,5.64L5.64,7.05L7.76,9.17L9.17,7.76M13,1H11V7H13V1M18.36,7.05L16.95,5.64L14.83,7.76L16.24,9.17L18.36,7.05M17,11V13H23V11H17M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M14.83,16.24L16.95,18.36L18.36,16.95L16.24,14.83L14.83,16.24M5.64,16.95L7.05,18.36L9.17,16.24L7.76,14.83L5.64,16.95M11,23H13V17H11V23Z\";\r\nexport var mdiFlash = \"M7,2V13H10V22L17,10H13L17,2H7Z\";\r\nexport var mdiFlashAlert = \"M5,2V13H8V22L15,10H11L15,2M17,15H19V17H17V15M17,7H19V13H17V7Z\";\r\nexport var mdiFlashAlertOutline = \"M5,2H15L11.5,9H15L8,22V14H5V2M7,4V12H10V14.66L12,11H8.24L11.76,4M17,15H19V17H17V15M17,7H19V13H17V7Z\";\r\nexport var mdiFlashAuto = \"M16.85,7.65L18,4L19.15,7.65M19,2H17L13.8,11H15.7L16.4,9H19.6L20.3,11H22.2M3,2V14H6V23L13,11H9L13,2H3Z\";\r\nexport var mdiFlashOff = \"M17,10H13L17,2H7V4.18L15.46,12.64M3.27,3L2,4.27L7,9.27V13H10V22L13.58,15.86L17.73,20L19,18.73L3.27,3Z\";\r\nexport var mdiFlashOffOutline = \"M9 6.19L7 4.19V2H17L13.5 9H17L15.18 12.37L11.43 8.62L13.76 4H9V6.19M19 18.73L17.73 20L13.41 15.68L10 22V14H7V9.27L2 4.27L3.27 3L19 18.73Z\";\r\nexport var mdiFlashOutline = \"M7,2H17L13.5,9H17L10,22V14H7V2M9,4V12H12V14.66L14,11H10.24L13.76,4H9Z\";\r\nexport var mdiFlashRedEye = \"M16,5C15.44,5 15,5.44 15,6C15,6.56 15.44,7 16,7C16.56,7 17,6.56 17,6C17,5.44 16.56,5 16,5M16,2C13.27,2 10.94,3.66 10,6C10.94,8.34 13.27,10 16,10C18.73,10 21.06,8.34 22,6C21.06,3.66 18.73,2 16,2M16,3.5A2.5,2.5 0 0,1 18.5,6A2.5,2.5 0 0,1 16,8.5A2.5,2.5 0 0,1 13.5,6A2.5,2.5 0 0,1 16,3.5M3,2V14H6V23L13,11H9L10.12,8.5C9.44,7.76 8.88,6.93 8.5,6C9.19,4.29 10.5,2.88 12.11,2H3Z\";\r\nexport var mdiFlashTriangle = \"M12 2L1 21H23L12 2M10 15V10H14L12.5 13.5H14.5L11.5 19V15H10Z\";\r\nexport var mdiFlashTriangleOutline = \"M12 2L1 21H23M12 6L19.5 19H4.5M14 14H12.5L14 11H10V15H11V18L14 14Z\";\r\nexport var mdiFlashlight = \"M9,10L6,5H18L15,10H9M18,4H6V2H18V4M9,22V11H15V22H9M12,13A1,1 0 0,0 11,14A1,1 0 0,0 12,15A1,1 0 0,0 13,14A1,1 0 0,0 12,13Z\";\r\nexport var mdiFlashlightOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15,18.27V22H9V12.27L2,5.27M18,5L15,10H11.82L6.82,5H18M18,4H6V2H18V4M15,11V13.18L12.82,11H15Z\";\r\nexport var mdiFlask = \"M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L16.53,14.47L14,17L8.93,11.93L5.18,18.43C5.07,18.59 5,18.79 5,19M13,10A1,1 0 0,0 12,11A1,1 0 0,0 13,12A1,1 0 0,0 14,11A1,1 0 0,0 13,10Z\";\r\nexport var mdiFlaskEmpty = \"M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6Z\";\r\nexport var mdiFlaskEmptyMinus = \"M23 17V19H15V17H23M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\r\nexport var mdiFlaskEmptyMinusOutline = \"M23 17V19H15V17H23M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\r\nexport var mdiFlaskEmptyOff = \"M20.8 22.7L19.6 21.5C19.1 21.8 18.6 22 18 22H6C4.3 22 3 20.7 3 19C3 18.4 3.2 17.8 3.5 17.4L7.9 9.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15 7.8V6C15.6 6 16 5.6 16 5V4C16 2.9 15.1 2 14 2H10C8.9 2 8 2.9 8 4V4.8L20.4 17.2L15 7.8Z\";\r\nexport var mdiFlaskEmptyOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9.4 11.2L18 20C18.1 20 18 20 18 20M11 7.8L8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L15 11.8L13 8.4V4H11V7.8Z\";\r\nexport var mdiFlaskEmptyOutline = \"M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L13,8.35V4H11V8.35L5.18,18.43C5.07,18.59 5,18.79 5,19M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6Z\";\r\nexport var mdiFlaskEmptyPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\r\nexport var mdiFlaskEmptyPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\r\nexport var mdiFlaskEmptyRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C14.92 12.84 13 15.2 13 18C13 19.54 13.58 20.94 14.53 22H6Z\";\r\nexport var mdiFlaskEmptyRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19Z\";\r\nexport var mdiFlaskMinus = \"M23 17V19H15V17H23M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\r\nexport var mdiFlaskMinusOutline = \"M23 17V19H15V17H23M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\r\nexport var mdiFlaskOff = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9 11.9L14 17L14.6 16.4L18 20C18.1 20 18 20 18 20M8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L8 4.8Z\";\r\nexport var mdiFlaskOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L7.9 9.8L3.5 17.4C3.2 17.8 3 18.4 3 19C3 20.7 4.3 22 6 22H18C18.6 22 19.2 21.8 19.6 21.5L20.8 22.7L22.1 21.5M18 20H6C5.4 20 5 19.6 5 19C5 18.8 5.1 18.6 5.2 18.4L9.4 11.2L13.6 15.4L13 16L10.4 13.4L7.7 18H16.1L18 20C18.1 20 18 20 18 20M11 7.8L8 4.8V4C8 2.9 8.9 2 10 2H14C15.1 2 16 2.9 16 4V5C16 5.6 15.6 6 15 6V7.8L20.4 17.2L15 11.8L13 8.4V4H11V7.8Z\";\r\nexport var mdiFlaskOutline = \"M5,19A1,1 0 0,0 6,20H18A1,1 0 0,0 19,19C19,18.79 18.93,18.59 18.82,18.43L13,8.35V4H11V8.35L5.18,18.43C5.07,18.59 5,18.79 5,19M6,22A3,3 0 0,1 3,19C3,18.4 3.18,17.84 3.5,17.37L9,7.81V6A1,1 0 0,1 8,5V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V5A1,1 0 0,1 15,6V7.81L20.5,17.37C20.82,17.84 21,18.4 21,19A3,3 0 0,1 18,22H6M13,16L14.34,14.66L16.27,18H7.73L10.39,13.39L13,16M12.5,12A0.5,0.5 0 0,1 13,12.5A0.5,0.5 0 0,1 12.5,13A0.5,0.5 0 0,1 12,12.5A0.5,0.5 0 0,1 12.5,12Z\";\r\nexport var mdiFlaskPlus = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\r\nexport var mdiFlaskPlusOutline = \"M18 14H20V17H23V19H20V22H18V19H15V17H18V14M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\r\nexport var mdiFlaskRemove = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M6 22C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C15.5 12.7 13.86 14.26 13.26 16.26L8.93 11.93L5.18 18.43C5.07 18.59 5 18.79 5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6M13 10C12.45 10 12 10.45 12 11C12 11.55 12.45 12 13 12C13.55 12 14 11.55 14 11C14 10.45 13.55 10 13 10Z\";\r\nexport var mdiFlaskRemoveOutline = \"M15.46 15.88L16.88 14.46L19 16.59L21.12 14.47L22.53 15.88L20.41 18L22.54 20.12L21.12 21.54L19 19.41L16.88 21.53L15.47 20.12L17.59 18L15.46 15.88M5 19C5 19.55 5.45 20 6 20H13.34C13.61 20.75 14 21.42 14.53 22H6C4.34 22 3 20.66 3 19C3 18.4 3.18 17.84 3.5 17.36L9 7.81V6C8.45 6 8 5.55 8 5V4C8 2.9 8.9 2 10 2H14C15.11 2 16 2.9 16 4V5C16 5.55 15.55 6 15 6V7.81L17.5 12.18C16.86 12.35 16.24 12.63 15.69 13L13 8.35V4H11V8.35L5.18 18.43C5.07 18.59 5 18.79 5 19M13 16L13.58 15.42C13.21 16.2 13 17.08 13 18H7.73L10.39 13.39L13 16M12.5 12C12.78 12 13 12.22 13 12.5C13 12.78 12.78 13 12.5 13C12.22 13 12 12.78 12 12.5C12 12.22 12.22 12 12.5 12Z\";\r\nexport var mdiFlaskRoundBottom = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15L7.08 15.91L9 13.93L13.07 18L16.93 14.14C16.58 12.12 15 10.5 13 10.1V6H11M13.07 12C13.62 12 14.07 12.45 14.07 13C14.07 13.55 13.62 14 13.07 14C12.5 14 12.07 13.55 12.07 13C12.07 12.45 12.5 12 13.07 12Z\";\r\nexport var mdiFlaskRoundBottomEmpty = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15Z\";\r\nexport var mdiFlaskRoundBottomEmptyOutline = \"M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15C7 17.76 9.24 20 12 20C14.76 20 17 17.76 17 15C17 12.58 15.28 10.56 13 10.1V6H11Z\";\r\nexport var mdiFlaskRoundBottomOutline = \"M15 15C15 16.66 13.66 18 12 18C10.34 18 9 16.66 9 15V14H11V15C11 15.55 11.45 16 12 16C12.55 16 13 15.55 13 15V14H15V15M19 15C19 18.87 15.87 22 12 22C8.13 22 5 18.87 5 15C5 12.21 6.64 9.8 9 8.67V5C9 4.45 9.45 4 10 4H10.5L9.5 2H14.5L13.5 4H14C14.55 4 15 4.45 15 5V8.67C17.36 9.8 19 12.21 19 15M11 6V10.1C8.72 10.56 7 12.58 7 15C7 17.76 9.24 20 12 20C14.76 20 17 17.76 17 15C17 12.58 15.28 10.56 13 10.1V6H11Z\";\r\nexport var mdiFleurDeLis = \"M12 2S9 4 9 7 11 12 11 16H10S10 14 9 12C7 8 3 10 3 13S5 16 5 16C5 13 8.5 13 8.5 16H7V18H10.5L9 20S10 21 11 20L12 22L13 20C14 21 15 20 15 20L13.5 18H17V16H15.5C15.5 13 19 13 19 16C19 16 21 16 21 13S17 8 15 12C14 14 14 16 14 16H13C13 12 15 10 15 7S12 2 12 2Z\";\r\nexport var mdiFlipHorizontal = \"M15 21H17V19H15M19 9H21V7H19M3 5V19C3 20.1 3.9 21 5 21H9V19H5V5H9V3H5C3.9 3 3 3.9 3 5M19 3V5H21C21 3.9 20.1 3 19 3M11 23H13V1H11M19 17H21V15H19M15 5H17V3H15M19 13H21V11H19M19 21C20.1 21 21 20.1 21 19H19Z\";\r\nexport var mdiFlipToBack = \"M15,17H17V15H15M15,5H17V3H15M5,7H3V19A2,2 0 0,0 5,21H17V19H5M19,17A2,2 0 0,0 21,15H19M19,9H21V7H19M19,13H21V11H19M9,17V15H7A2,2 0 0,0 9,17M13,3H11V5H13M19,3V5H21C21,3.89 20.1,3 19,3M13,15H11V17H13M9,3C7.89,3 7,3.89 7,5H9M9,11H7V13H9M9,7H7V9H9V7Z\";\r\nexport var mdiFlipToFront = \"M7,21H9V19H7M11,21H13V19H11M19,15H9V5H19M19,3H9C7.89,3 7,3.89 7,5V15A2,2 0 0,0 9,17H14L18,17H19A2,2 0 0,0 21,15V5C21,3.89 20.1,3 19,3M15,21H17V19H15M3,9H5V7H3M5,21V19H3A2,2 0 0,0 5,21M3,17H5V15H3M3,13H5V11H3V13Z\";\r\nexport var mdiFlipVertical = \"M3 15V17H5V15M15 19V21H17V19M19 3H5C3.9 3 3 3.9 3 5V9H5V5H19V9H21V5C21 3.9 20.1 3 19 3M21 19H19V21C20.1 21 21 20.1 21 19M1 11V13H23V11M7 19V21H9V19M19 15V17H21V15M11 19V21H13V19M3 19C3 20.1 3.9 21 5 21V19Z\";\r\nexport var mdiFloorLamp = \"M15,2L17,9H7L9,2M11,10H13V20H16V22H8V20H11V10Z\";\r\nexport var mdiFloorLampDual = \"M11.73 10.06L10.17 11.24L11 12.2V20H8V22H16V20H13V12.3L13.85 11.26L12.27 10.07L11.73 10.06M9.08 10.82L3 6.81L9.39 2L11.55 8.93L9.08 10.82M14.61 2L21 6.81L14.92 10.82L12.44 8.95L14.61 2Z\";\r\nexport var mdiFloorLampDualOutline = \"M11.73 10.06L10.17 11.24L11 12.2V20H8V22H16V20H13V12.3L13.85 11.26L12.27 10.07L11.73 10.06M8.32 5.31L9.23 8.19L9 8.37L6.47 6.7L8.32 5.31M9.39 2L3 6.81L9.08 10.82L11.55 8.93L9.39 2M15.67 5.3L17.53 6.7L15 8.37L14.77 8.2L15.67 5.3M14.61 2L12.44 8.95L14.92 10.82L21 6.81L14.61 2Z\";\r\nexport var mdiFloorLampOutline = \"M15 2L17 9H7L9 2M13.6 4H10.4L9.55 7H14.45M11 10H13V20H16V22H8V20H11Z\";\r\nexport var mdiFloorLampTorchiere = \"M7 2L10 9H14L17 2H7M13 20H16V22H8V20H11V10H13V20Z\";\r\nexport var mdiFloorLampTorchiereOutline = \"M14 4L12.7 7H11.3L10 4H14M17 2H7L10 9H14L17 2M13 20H16V22H8V20H11V10H13V20Z\";\r\nexport var mdiFloorLampTorchiereVariant = \"M7 2L10 9H14L17 2H7M15.92 22L13 15V22H11V15L8.08 22H5.92L10.92 10H13.08L18.08 22H15.92Z\";\r\nexport var mdiFloorLampTorchiereVariantOutline = \"M13.97 4L12.68 7H11.32L10.03 4H13.97M17 2H7L10 9H14L17 2M15.92 22L13 15V22H11V15L8.08 22H5.92L10.92 10H13.08L18.08 22H15.92Z\";\r\nexport var mdiFloorPlan = \"M10,5V10H9V5H5V13H9V12H10V17H9V14H5V19H12V17H13V19H19V17H21V21H3V3H21V15H19V10H13V15H12V9H19V5H10Z\";\r\nexport var mdiFloppy = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5.5L18.5,3H17V9A1,1 0 0,1 16,10H8A1,1 0 0,1 7,9V3H5M12,4V9H15V4H12M7,12H17A1,1 0 0,1 18,13V19H6V13A1,1 0 0,1 7,12Z\";\r\nexport var mdiFloppyVariant = \"M3,3V21H21V3H3M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M12,15A1,1 0 0,1 13,16V19A1,1 0 0,1 12,20A1,1 0 0,1 11,19V16A1,1 0 0,1 12,15Z\";\r\nexport var mdiFlower = \"M3,13A9,9 0 0,0 12,22C12,17 7.97,13 3,13M12,5.5A2.5,2.5 0 0,1 14.5,8A2.5,2.5 0 0,1 12,10.5A2.5,2.5 0 0,1 9.5,8A2.5,2.5 0 0,1 12,5.5M5.6,10.25A2.5,2.5 0 0,0 8.1,12.75C8.63,12.75 9.12,12.58 9.5,12.31C9.5,12.37 9.5,12.43 9.5,12.5A2.5,2.5 0 0,0 12,15A2.5,2.5 0 0,0 14.5,12.5C14.5,12.43 14.5,12.37 14.5,12.31C14.88,12.58 15.37,12.75 15.9,12.75C17.28,12.75 18.4,11.63 18.4,10.25C18.4,9.25 17.81,8.4 16.97,8C17.81,7.6 18.4,6.74 18.4,5.75C18.4,4.37 17.28,3.25 15.9,3.25C15.37,3.25 14.88,3.41 14.5,3.69C14.5,3.63 14.5,3.56 14.5,3.5A2.5,2.5 0 0,0 12,1A2.5,2.5 0 0,0 9.5,3.5C9.5,3.56 9.5,3.63 9.5,3.69C9.12,3.41 8.63,3.25 8.1,3.25A2.5,2.5 0 0,0 5.6,5.75C5.6,6.74 6.19,7.6 7.03,8C6.19,8.4 5.6,9.25 5.6,10.25M12,22A9,9 0 0,0 21,13C16,13 12,17 12,22Z\";\r\nexport var mdiFlowerOutline = \"M8.66,13.07C6.92,13.07 5.5,11.66 5.5,9.93C5.5,9.22 5.76,8.54 6.19,8C5.77,7.46 5.5,6.78 5.5,6.07C5.5,4.34 6.93,2.93 8.66,2.93L9.09,2.96C9.56,1.81 10.69,1 12,1C13.31,1 14.44,1.81 14.91,2.96L15.34,2.93C17.07,2.93 18.5,4.34 18.5,6.07C18.5,6.78 18.24,7.46 17.81,8C18.23,8.54 18.5,9.22 18.5,9.93C18.5,11.66 17.07,13.07 15.34,13.07L14.91,13.04C14.44,14.19 13.31,15 12,15C10.69,15 9.56,14.19 9.09,13.04L8.66,13.07M12,13C12.62,13 13.12,12.5 13.14,11.9L13.03,10.81C12.71,10.93 12.36,11 12,11C11.64,11 11.3,10.93 11,10.81L10.86,11.9C10.88,12.5 11.38,13 12,13M15.34,11.07C15.97,11.07 16.5,10.56 16.5,9.92C16.5,9.5 16.23,9.08 15.83,8.89L14.95,8.47C14.83,9.21 14.44,9.85 13.89,10.3L14.7,10.87C14.88,11 15.1,11.07 15.34,11.07M14.69,5.13L13.87,5.69C14.43,6.14 14.82,6.78 14.94,7.5L15.82,7.1C16.23,6.9 16.5,6.5 16.5,6.07C16.5,5.44 15.97,4.93 15.34,4.93C15.11,4.93 14.89,5 14.69,5.13M12,3C11.38,3 10.88,3.5 10.86,4.1L11,5.19C11.3,5.07 11.64,5 12,5C12.36,5 12.71,5.07 13.03,5.19L13.14,4.1C13.12,3.5 12.62,3 12,3M8.66,4.93C8.03,4.93 7.5,5.44 7.5,6.07C7.5,6.5 7.77,6.9 8.17,7.1L9.05,7.5C9.17,6.78 9.56,6.14 10.11,5.69L9.3,5.13C9.12,5 8.9,4.93 8.66,4.93M8.17,8.9C7.77,9.1 7.5,9.5 7.5,9.92C7.5,10.55 8.03,11.06 8.66,11.06C8.89,11.06 9.11,11 9.31,10.86L10.12,10.31C9.56,9.86 9.17,9.22 9.05,8.5L8.17,8.9M12,22A9,9 0 0,1 3,13A9,9 0 0,1 12,22A9,9 0 0,1 21,13A9,9 0 0,1 12,22M14.44,19.56C16.34,18.85 17.85,17.34 18.56,15.44C16.66,16.14 15.15,17.66 14.44,19.56M5.44,15.44C6.15,17.34 7.66,18.85 9.56,19.56C8.86,17.66 7.34,16.15 5.44,15.44Z\";\r\nexport var mdiFlowerPollen = \"M18.4 12.75C18.4 11.37 17.28 10.25 15.9 10.25C15.37 10.25 14.88 10.41 14.5 10.69V10.5C14.5 9.12 13.38 8 12 8S9.5 9.12 9.5 10.5V10.69C9.12 10.41 8.63 10.25 8.1 10.25C6.72 10.25 5.6 11.37 5.6 12.75C5.6 13.74 6.19 14.6 7.03 15C6.19 15.4 5.6 16.25 5.6 17.25C5.6 18.63 6.72 19.75 8.1 19.75C8.63 19.75 9.12 19.58 9.5 19.31V19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5V19.31C14.88 19.58 15.37 19.75 15.9 19.75C17.28 19.75 18.4 18.63 18.4 17.25C18.4 16.25 17.81 15.4 16.97 15C17.81 14.6 18.4 13.74 18.4 12.75M12 17.5C10.62 17.5 9.5 16.38 9.5 15S10.62 12.5 12 12.5 14.5 13.62 14.5 15 13.38 17.5 12 17.5M11 6C11 5.45 11.45 5 12 5S13 5.45 13 6 12.55 7 12 7 11 6.55 11 6M7 8C7 7.45 7.45 7 8 7S9 7.45 9 8 8.55 9 8 9 7 8.55 7 8M5 6C4.45 6 4 5.55 4 5S4.45 4 5 4 6 4.45 6 5 5.55 6 5 6M8 3C8 2.45 8.45 2 9 2S10 2.45 10 3 9.55 4 9 4 8 3.55 8 3M14 3C14 2.45 14.45 2 15 2S16 2.45 16 3 15.55 4 15 4 14 3.55 14 3M20 5C20 5.55 19.55 6 19 6S18 5.55 18 5 18.45 4 19 4 20 4.45 20 5M16 7C16.55 7 17 7.45 17 8S16.55 9 16 9 15 8.55 15 8 15.45 7 16 7Z\";\r\nexport var mdiFlowerPollenOutline = \"M11 6C11 5.45 11.45 5 12 5S13 5.45 13 6 12.55 7 12 7 11 6.55 11 6M8 9C8.55 9 9 8.55 9 8S8.55 7 8 7 7 7.45 7 8 7.45 9 8 9M6 5C6 4.45 5.55 4 5 4S4 4.45 4 5 4.45 6 5 6 6 5.55 6 5M9 4C9.55 4 10 3.55 10 3S9.55 2 9 2 8 2.45 8 3 8.45 4 9 4M15 4C15.55 4 16 3.55 16 3S15.55 2 15 2 14 2.45 14 3 14.45 4 15 4M19 4C18.45 4 18 4.45 18 5S18.45 6 19 6 20 5.55 20 5 19.55 4 19 4M15 8C15 8.55 15.45 9 16 9S17 8.55 17 8 16.55 7 16 7 15 7.45 15 8M18.5 13.07C18.5 13.78 18.24 14.46 17.81 15C18.23 15.54 18.5 16.22 18.5 16.93C18.5 18.66 17.07 20.07 15.34 20.07L14.91 20.04C14.44 21.19 13.31 22 12 22S9.56 21.19 9.09 20.04L8.66 20.07C6.92 20.07 5.5 18.66 5.5 16.93C5.5 16.22 5.76 15.54 6.19 15C5.77 14.46 5.5 13.78 5.5 13.07C5.5 11.34 6.93 9.93 8.66 9.93L9.09 9.96C9.56 8.81 10.69 8 12 8S14.44 8.81 14.91 9.96L15.34 9.93C17.07 9.93 18.5 11.34 18.5 13.07M7.5 13.07C7.5 13.5 7.77 13.9 8.17 14.1L9.05 14.5C9.17 13.78 9.56 13.14 10.11 12.69L9.3 12.13C9.12 12 8.9 11.93 8.66 11.93C8.03 11.93 7.5 12.44 7.5 13.07M10.12 17.31C9.56 16.86 9.17 16.22 9.05 15.5L8.17 15.9C7.77 16.1 7.5 16.5 7.5 16.92C7.5 17.55 8.03 18.06 8.66 18.06C8.89 18.06 9.11 18 9.31 17.86L10.12 17.31M13.14 18.9L13.03 17.81C12.71 17.93 12.36 18 12 18S11.3 17.93 11 17.81L10.86 18.9C10.88 19.5 11.38 20 12 20S13.12 19.5 13.14 18.9M13.14 11.1C13.12 10.5 12.62 10 12 10S10.88 10.5 10.86 11.1L11 12.19C11.3 12.07 11.64 12 12 12S12.71 12.07 13.03 12.19L13.14 11.1M16.5 16.92C16.5 16.5 16.23 16.08 15.83 15.89L14.95 15.47C14.83 16.21 14.44 16.85 13.89 17.3L14.7 17.87C14.88 18 15.1 18.07 15.34 18.07C15.97 18.07 16.5 17.56 16.5 16.92M16.5 13.07C16.5 12.44 15.97 11.93 15.34 11.93C15.11 11.93 14.89 12 14.69 12.13L13.87 12.69C14.43 13.14 14.82 13.78 14.94 14.5L15.82 14.1C16.23 13.9 16.5 13.5 16.5 13.07Z\";\r\nexport var mdiFlowerPoppy = \"M18.5,12A3.5,3.5 0 0,0 22,8.5A6.5,6.5 0 0,0 15.5,2A3.5,3.5 0 0,0 12,5.5A3.5,3.5 0 0,0 8.5,2A6.5,6.5 0 0,0 2,8.5A3.5,3.5 0 0,0 5.5,12A3.5,3.5 0 0,0 2,15.5A6.5,6.5 0 0,0 8.5,22A3.5,3.5 0 0,0 12,18.5A3.5,3.5 0 0,0 15.5,22A6.5,6.5 0 0,0 22,15.5A3.5,3.5 0 0,0 18.5,12M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M14.5,12A2.5,2.5 0 0,1 12,14.5A2.5,2.5 0 0,1 9.5,12A2.5,2.5 0 0,1 12,9.5A2.5,2.5 0 0,1 14.5,12Z\";\r\nexport var mdiFlowerTulip = \"M3,13A9,9 0 0,0 12,22A9,9 0 0,0 3,13M12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,22M18,3V8A6,6 0 0,1 12,14A6,6 0 0,1 6,8V3C6.74,3 7.47,3.12 8.16,3.39C8.71,3.62 9.2,3.96 9.61,4.39L12,2L14.39,4.39C14.8,3.96 15.29,3.62 15.84,3.39C16.53,3.12 17.26,3 18,3Z\";\r\nexport var mdiFlowerTulipOutline = \"M3,13A9,9 0 0,0 12,22A9,9 0 0,0 3,13M5.44,15.44C7.35,16.15 8.85,17.65 9.56,19.56C7.65,18.85 6.15,17.35 5.44,15.44M12,22A9,9 0 0,0 21,13A9,9 0 0,0 12,22M14.42,19.57C15.11,17.64 16.64,16.11 18.57,15.42C17.86,17.34 16.34,18.86 14.42,19.57M12,14A6,6 0 0,0 18,8V3C17.26,3 16.53,3.12 15.84,3.39C15.29,3.62 14.8,3.96 14.39,4.39L12,2L9.61,4.39C9.2,3.96 8.71,3.62 8.16,3.39C7.47,3.12 6.74,3 6,3V8A6,6 0 0,0 12,14M8,5.61L9.57,7.26L12,4.83L14.43,7.26L16,5.61V8A4,4 0 0,1 12,12A4,4 0 0,1 8,8V5.61Z\";\r\nexport var mdiFocusAuto = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M8 7C6.9 7 6 7.9 6 9V17H8V13H10V17H12V9C12 7.9 11.1 7 10 7H8M8 9H10V11H8V9M13 7V17H15V13H17V11H15V9H18V7H13Z\";\r\nexport var mdiFocusField = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M7 11H9V13H7V11M11 11H13V13H11V11M15 11H17V13H15V11M7 7H9V9H7V7M11 7H13V9H11V7M15 7H17V9H15V7M7 15H9V17H7V15M11 15H13V17H11V15M15 15H17V17H15V15Z\";\r\nexport var mdiFocusFieldHorizontal = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M7 11H9V13H7V11M11 11H13V13H11V11M15 11H17V13H15V11Z\";\r\nexport var mdiFocusFieldVertical = \"M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5V15M11 11H13V13H11V11M11 7H13V9H11V7M11 15H13V17H11V15Z\";\r\nexport var mdiFolder = \"M10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6H12L10,4Z\";\r\nexport var mdiFolderAccount = \"M19,17H11V16C11,14.67 13.67,14 15,14C16.33,14 19,14.67 19,16M15,9A2,2 0 0,1 17,11A2,2 0 0,1 15,13A2,2 0 0,1 13,11C13,9.89 13.9,9 15,9M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderAccountOutline = \"M15 14C16.33 14 19 14.67 19 16V17H11V16C11 14.67 13.67 14 15 14M15 13C16.11 13 17 12.11 17 11S16.11 9 15 9C13.9 9 13 9.89 13 11C13 12.11 13.9 13 15 13M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H10L12 6H20C21.11 6 22 6.9 22 8M20 8H4V18H20V8Z\";\r\nexport var mdiFolderAlert = \"M15,12H17V17H15V12M15,18H17V20H15V18M23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiFolderAlertOutline = \"M15,12H17V17H15V12M15,18H17V20H15V18M16,9C17.07,9 18.09,9.24 19,9.67V8H3V18H9.29C9.1,17.36 9,16.69 9,16A7,7 0 0,1 16,9M23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiFolderArrowDown = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M20 16H18V20H16L19 23L22 20H20V16Z\";\r\nexport var mdiFolderArrowDownOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M20 16H18V20H16L19 23L22 20H20V16Z\";\r\nexport var mdiFolderArrowLeft = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18 16L15 19L18 22V20H22V18H18V16Z\";\r\nexport var mdiFolderArrowLeftOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18 16L15 19L18 22V20H22V18H18V16Z\";\r\nexport var mdiFolderArrowLeftRight = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M23 17L20 14.5V16H16V18H20V19.5L23 17M18 18.5L15 21L18 23.5V22H22V20H18V18.5Z\";\r\nexport var mdiFolderArrowLeftRightOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M23 17L20 14.5V16H16V18H20V19.5L23 17M18 18.5L15 21L18 23.5V22H22V20H18V18.5Z\";\r\nexport var mdiFolderArrowRight = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiFolderArrowRightOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiFolderArrowUp = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M16 18H18V22H20V18H22L19 15L16 18Z\";\r\nexport var mdiFolderArrowUpDown = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M17 15L14.5 18H16V22H18V18H19.5L17 15M22 20V16H20V20H18.5L21 23L23.5 20H22Z\";\r\nexport var mdiFolderArrowUpDownOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M22 20V16H20V20H18.5L21 23L23.5 20H22M17 15L14.5 18H16V22H18V18H19.5L17 15Z\";\r\nexport var mdiFolderArrowUpOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M16 18H18V22H20V18H22L19 15L16 18Z\";\r\nexport var mdiFolderCancel = \"M12 18.5C12 19 12.07 19.5 12.18 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.04C21 12.39 19.79 12 18.5 12C14.91 12 12 14.91 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiFolderCancelOutline = \"M12 18.5C12 19 12.07 19.5 12.18 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.04C21.39 12.65 20.72 12.36 20 12.18V8H4V18H12.03C12 18.17 12 18.33 12 18.5M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiFolderCheck = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiFolderCheckOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiFolderClock = \"M3,4C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H10.26C11.57,21.88 13.71,23 16,23A7,7 0 0,0 23,16C23,14.17 22.28,12.42 21,11.11V8C21,6.89 20.1,6 19,6H11L9,4H3M16,11A5,5 0 0,1 21,16A5,5 0 0,1 16,21A5,5 0 0,1 11,16A5,5 0 0,1 16,11M15,12V17L18.61,19.16L19.36,17.94L16.5,16.25V12H15Z\";\r\nexport var mdiFolderClockOutline = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M19,8H3V18H9.29C9.1,17.37 9,16.7 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M3,20C1.89,20 1,19.1 1,18V6A2,2 0 0,1 3,4H9L11,6H19A2,2 0 0,1 21,8V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C13.62,23 11.5,21.81 10.25,20H3M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiFolderCog = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12.08A7 7 0 0 1 12 19A7 7 0 0 1 19 12A7 7 0 0 1 22 12.69V8C22 6.89 21.1 6 20 6H12L10 4H4M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14H18M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFolderCogOutline = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H12V18H4V8H20V12H22V8C22 6.89 21.1 6 20 6H12L10 4M18 14C17.87 14 17.76 14.09 17.74 14.21L17.55 15.53C17.25 15.66 16.96 15.82 16.7 16L15.46 15.5C15.35 15.5 15.22 15.5 15.15 15.63L14.15 17.36C14.09 17.47 14.11 17.6 14.21 17.68L15.27 18.5C15.25 18.67 15.24 18.83 15.24 19C15.24 19.17 15.25 19.33 15.27 19.5L14.21 20.32C14.12 20.4 14.09 20.53 14.15 20.64L15.15 22.37C15.21 22.5 15.34 22.5 15.46 22.5L16.7 22C16.96 22.18 17.24 22.35 17.55 22.47L17.74 23.79C17.76 23.91 17.86 24 18 24H20C20.11 24 20.22 23.91 20.24 23.79L20.43 22.47C20.73 22.34 21 22.18 21.27 22L22.5 22.5C22.63 22.5 22.76 22.5 22.83 22.37L23.83 20.64C23.89 20.53 23.86 20.4 23.77 20.32L22.7 19.5C22.72 19.33 22.74 19.17 22.74 19C22.74 18.83 22.73 18.67 22.7 18.5L23.76 17.68C23.85 17.6 23.88 17.47 23.82 17.36L22.82 15.63C22.76 15.5 22.63 15.5 22.5 15.5L21.27 16C21 15.82 20.73 15.65 20.42 15.53L20.23 14.21C20.22 14.09 20.11 14 20 14M19 17.5C19.83 17.5 20.5 18.17 20.5 19C20.5 19.83 19.83 20.5 19 20.5C18.16 20.5 17.5 19.83 17.5 19C17.5 18.17 18.17 17.5 19 17.5Z\";\r\nexport var mdiFolderDownload = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20M19.25,13H16V9H14V13H10.75L15,17.25\";\r\nexport var mdiFolderDownloadOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M14 9H16V13H19L15 17L11 13H14Z\";\r\nexport var mdiFolderEdit = \"M19.39 10.74L11 19.13V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.15C21.74 10.06 21.46 10 21.17 10C20.5 10 19.87 10.26 19.39 10.74M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiFolderEditOutline = \"M4 18H12.13L11 19.13V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.15C21.74 10.06 21.46 10 21.17 10C20.75 10 20.36 10.11 20 10.3V8H4V18M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiFolderEye = \"M9.3 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H10L12 6H20C21.1 6 22 6.9 22 8V14.6C20.6 13.6 18.9 13 17 13C13.5 13 10.4 15.1 9.1 18.3L8.8 19L9.1 19.7C9.2 19.8 9.2 19.9 9.3 20M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18\";\r\nexport var mdiFolderEyeOutline = \"M9.3 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H10L12 6H20C21.1 6 22 6.9 22 8V14.6C21.4 14.2 20.7 13.8 20 13.5V8H4V18H9.3C9.3 18.1 9.2 18.2 9.2 18.3L8.8 19L9.1 19.7C9.2 19.8 9.2 19.9 9.3 20M23 19C22.1 21.3 19.7 23 17 23S11.9 21.3 11 19C11.9 16.7 14.3 15 17 15S22.1 16.7 23 19M19.5 19C19.5 17.6 18.4 16.5 17 16.5S14.5 17.6 14.5 19 15.6 21.5 17 21.5 19.5 20.4 19.5 19M17 18C16.4 18 16 18.4 16 19S16.4 20 17 20 18 19.6 18 19 17.6 18 17 18\";\r\nexport var mdiFolderFile = \"M15 8C12.79 8 11 9.79 11 12V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.17L20.41 8.59L19.83 8H15M23 14V21C23 22.11 22.11 23 21 23H15C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14M21 14.83L18.17 12H18V15H21V14.83Z\";\r\nexport var mdiFolderFileOutline = \"M4 18H11V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.17L20.41 8.59L20 8.17V8H4V18M23 14V21C23 22.11 22.11 23 21 23H15C13.9 23 13 22.11 13 21V12C13 10.9 13.9 10 15 10H19L23 14M21 15H18V12H15V21H21V15Z\";\r\nexport var mdiFolderGoogleDrive = \"M13.75,9H16.14L19,14H16.05L13.5,9.46M18.3,17H12.75L14.15,14.5H19.27L19.53,14.96M11.5,17L10.4,14.86L13.24,9.9L14.74,12.56L12.25,17M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderHeart = \"M20 6H12L10 4H4C2.89 4 2 4.89 2 6V18C2 19.1 2.89 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M18.42 13.5L15 17L11.59 13.5C11.22 13.12 11 12.62 11 12.05C11 10.92 11.9 10 13 10C13.54 10 14.05 10.23 14.42 10.61L15 11.2L15.59 10.6C15.95 10.23 16.46 10 17 10C18.1 10 19 10.92 19 12.05C19 12.61 18.78 13.13 18.42 13.5Z\";\r\nexport var mdiFolderHeartOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.89 4 2 4.89 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.89 21.1 6 20 6M13 10C11.9 10 11 10.92 11 12.05C11 12.62 11.22 13.12 11.59 13.5L15 17L18.42 13.5C18.78 13.13 19 12.61 19 12.05C19 10.92 18.1 10 17 10C16.46 10 15.95 10.23 15.59 10.6L15 11.2L14.42 10.61C14.05 10.23 13.54 10 13 10Z\";\r\nexport var mdiFolderHidden = \"M9 4V8H6V4H9M4 16V13H2V16H4M2 12H4V9H2V12M18 8H22C22 6.89 21.1 6 20 6H18V8M22 13H20V16H22V13M20 9V12H22V9H20M9 20V18H6V20H9M5 18H4V17H2V18C2 19.11 2.9 20 4 20H5V18M20 17V18H18V20H20C21.11 20 22 19.11 22 18V17H20M4 8H5V4H4C2.89 4 2 4.89 2 6V8H4M17 18H14V20H17V18M13 18H10V20H13V18M17 6H14V8H17V6M10 8H13V6H12L10 4V8Z\";\r\nexport var mdiFolderHome = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M17 13V17H15V14H13V17H11V13H9L14 9L19 13Z\";\r\nexport var mdiFolderHomeOutline = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M20 18H4V8H20M13 17V14H15V17H17V13H19L14 9L9 13H11V17Z\";\r\nexport var mdiFolderImage = \"M5,17L9.5,11L13,15.5L15.5,12.5L19,17M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6Z\";\r\nexport var mdiFolderInformation = \"M21 11.1V8C21 6.9 20.1 6 19 6H11L9 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H10.3C11.6 21.9 13.8 23 16 23C19.9 23 23 19.9 23 16C23 14.2 22.3 12.4 21 11.1M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M17 20H15V15H17V20M17 14H15V12H17V14Z\";\r\nexport var mdiFolderInformationOutline = \"M21 11.1V8C21 6.9 20.1 6 19 6H11L9 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H10.2C11.4 21.8 13.6 23 16 23C19.9 23 23 19.9 23 16C23 14.1 22.2 12.4 21 11.1M9.3 18H3V8H19V9.7C18.1 9.2 17.1 9 16 9C12.1 9 9 12.1 9 16C9 16.7 9.1 17.4 9.3 18M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M17 14H15V12H17V14M17 20H15V15H17V20Z\";\r\nexport var mdiFolderKey = \"M4 4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6H12L10 4M11 10C12.3 10 13.4 10.8 13.8 12H20V14H18V16H16V14H13.8C13.4 15.2 12.3 16 11 16C9.3 16 8 14.7 8 13S9.3 10 11 10M11 12C10.4 12 10 12.4 10 13C10 13.6 10.4 14 11 14C11.6 14 12 13.6 12 13S11.6 12 11 12Z\";\r\nexport var mdiFolderKeyNetwork = \"M6 5C4.9 5 4 5.9 4 7V15C4 16.1 4.9 17 6 17H11V19H10C9.4 19 9 19.4 9 20H2V22H9C9 22.6 9.4 23 10 23H14C14.6 23 15 22.6 15 22H22V20H15C15 19.4 14.6 19 14 19H13V17H18C19.1 17 20 16.1 20 15V9C20 7.9 19.1 7 18 7H12L10 5H6M9 9C10.3 9 11.4 9.8 11.8 11H18V13H16V15H14V13H11.8C11.4 14.2 10.3 15 9 15C7.3 15 6 13.7 6 12S7.3 9 9 9M9 11C8.4 11 8 11.4 8 12C8 12.6 8.4 13 9 13C9.6 13 10 12.6 10 12S9.6 11 9 11Z\";\r\nexport var mdiFolderKeyNetworkOutline = \"M9 8C7.3 8 6 9.3 6 11S7.3 14 9 14C10.3 14 11.4 13.2 11.8 12H14V14H16V12H18V10H11.8C11.4 8.8 10.3 8 9 8M9 12C8.4 12 8 11.6 8 11S8.4 10 9 10 10 10.4 10 11 9.6 12 9 12M15 20C15 19.5 14.6 19 14 19H13V17H19C20.1 17 21 16.1 21 15V7C21 5.9 20.1 5 19 5H13L11 3H5C3.9 3 3 3.9 3 5V15C3 16.1 3.9 17 5 17H11V19H10C9.4 19 9 19.5 9 20H2V22H9C9 22.5 9.4 23 10 23H14C14.6 23 15 22.5 15 22H22V20H15M5 15V7H19V15H5Z\";\r\nexport var mdiFolderKeyOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M12.8 12C12.4 10.8 11.3 10 10 10C8.3 10 7 11.3 7 13S8.3 16 10 16C11.3 16 12.4 15.2 12.8 14H15V16H17V14H19V12H12.8M10 14C9.4 14 9 13.6 9 13C9 12.4 9.4 12 10 12S11 12.4 11 13 10.6 14 10 14Z\";\r\nexport var mdiFolderLock = \"M13 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V11.04C21.17 10.4 20.13 10 19 10C16.4 10 14.2 12.06 14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiFolderLockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.04C21.17 9.4 20.13 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiFolderLockOpenOutline = \"M4 18H13V20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V10.04C21.42 9.6 20.75 9.26 20 9.11V8H4V18M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiFolderLockOutline = \"M13 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V11.04C21.42 10.6 20.75 10.26 20 10.11V8H4V18H13V20M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiFolderMarker = \"M10 4L12 6H20C21.1 6 22 6.89 22 8V11.34C21.04 10.5 19.82 10 18.5 10C15.5 10 13 12.65 13 15.5C13 16.97 13.65 18.55 14.5 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8Z\";\r\nexport var mdiFolderMarkerOutline = \"M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8M20 8H4V18H13.5C13.79 18.68 14.13 19.35 14.5 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V11.34C21.42 10.84 20.74 10.45 20 10.23V8Z\";\r\nexport var mdiFolderMinus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiFolderMinusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiFolderMove = \"M14,18V15H10V11H14V8L19,13M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderMoveOutline = \"M20 18H4V8H20V18M12 6L10 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8C22 6.9 21.11 6 20 6H12M11 14V12H15V9L19 13L15 17V14H11Z\";\r\nexport var mdiFolderMultiple = \"M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\";\r\nexport var mdiFolderMultipleImage = \"M7,15L11.5,9L15,13.5L17.5,10.5L21,15M22,4H14L12,2H6A2,2 0 0,0 4,4V16A2,2 0 0,0 6,18H22A2,2 0 0,0 24,16V6A2,2 0 0,0 22,4M2,6H0V11H0V20A2,2 0 0,0 2,22H20V20H2V6Z\";\r\nexport var mdiFolderMultipleOutline = \"M22,4A2,2 0 0,1 24,6V16A2,2 0 0,1 22,18H6A2,2 0 0,1 4,16V4A2,2 0 0,1 6,2H12L14,4H22M2,6V20H20V22H2A2,2 0 0,1 0,20V11H0V6H2M6,6V16H22V6H6Z\";\r\nexport var mdiFolderMultiplePlus = \"M2 20V6H0V20C0 21.1 .9 22 2 22H20V20H2M22 4H14L12 2H6C5.6 2 5.2 2.1 4.9 2.3L4.3 2.9C4.1 3.2 4 3.6 4 4V16C4 16.4 4.1 16.8 4.3 17.1C4.4 17.2 4.5 17.3 4.5 17.4C5 17.8 5.5 18 6 18H22C23.1 18 24 17.1 24 16V6C24 4.9 23.1 4 22 4M22 12H19V15H17V12H14V10H17V7H19V10H22V12Z\";\r\nexport var mdiFolderMultiplePlusOutline = \"M22 4C23.1 4 24 4.9 24 6V16C24 17.1 23.1 18 22 18H6C4.9 18 4 17.1 4 16V4C4 2.9 4.9 2 6 2H12L14 4H22M2 6V20H20V22H2C.9 22 0 21.1 0 20V6H2M6 6V16H22V6H6M14 10H16V8H18V10H20V12H18V14H16V12H14V10Z\";\r\nexport var mdiFolderMusic = \"M22 8V11H16.5V16.11C14.66 16.53 13.26 18.09 13.04 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18.5 13V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H18.5Z\";\r\nexport var mdiFolderMusicOutline = \"M22 8V11H20V8H4V18H13.78C13.38 18.59 13.13 19.26 13.04 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M18.5 13V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H18.5Z\";\r\nexport var mdiFolderNetwork = \"M3,15V5A2,2 0 0,1 5,3H11L13,5H19A2,2 0 0,1 21,7V15A2,2 0 0,1 19,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H5A2,2 0 0,1 3,15Z\";\r\nexport var mdiFolderNetworkOutline = \"M15 20C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V7C21 5.9 20.11 5 19 5H13L11 3H5C3.9 3 3 3.9 3 5V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15M5 15V7H19V15H5Z\";\r\nexport var mdiFolderOff = \"M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.64 4.53L1.11 3L2.39 1.73L22.11 21.46M22 18V8C22 6.89 21.1 6 20 6H12L10 4H7.2L21.88 18.68C21.96 18.47 22 18.24 22 18Z\";\r\nexport var mdiFolderOffOutline = \"M2.39 1.73L1.11 3L2.64 4.53C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L2.39 1.73M4 18V8H6.11L16.11 18H4M11.2 8L7.2 4H10L12 6H20C21.1 6 22 6.89 22 8V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V8H11.2Z\";\r\nexport var mdiFolderOpen = \"M19,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H19A2,2 0 0,1 21,8H21L4,8V18L6.14,10H23.21L20.93,18.5C20.7,19.37 19.92,20 19,20Z\";\r\nexport var mdiFolderOpenOutline = \"M6.1,10L4,18V8H21A2,2 0 0,0 19,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H19C19.9,20 20.7,19.4 20.9,18.5L23.2,10H6.1M19,18H6L7.6,12H20.6L19,18Z\";\r\nexport var mdiFolderOutline = \"M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6Z\";\r\nexport var mdiFolderPlay = \"M22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M17 22L22 19L17 16V22Z\";\r\nexport var mdiFolderPlayOutline = \"M22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8M17 22L22 19L17 16V22Z\";\r\nexport var mdiFolderPlus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiFolderPlusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiFolderPound = \"M15.25,13H17.25L16.75,15H14.75L15.25,13M22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6C2,4.89 2.89,4 4,4H10L12,6H20A2,2 0 0,1 22,8M20,12H18.5L19,10H18L17.5,12H15.5L16,10H15L14.5,12H13V13H14.25L13.75,15H12V16H13.5L13,18H14L14.5,16H16.5L16,18H17L17.5,16H19V15H17.75L18.25,13H20V12Z\";\r\nexport var mdiFolderPoundOutline = \"M20,18H4V8H20M20,6H12L10,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8C22,6.89 21.1,6 20,6M19,12V11H17.5L18,9H17L16.5,11H14.5L15,9H14L13.5,11H12V12H13.25L12.75,14H11V15H12.5L12,17H13L13.5,15H15.5L15,17H16L16.5,15H18V14H16.75L17.25,12H19M15.75,14H13.75L14.25,12H16.25L15.75,14Z\";\r\nexport var mdiFolderQuestion = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M16.8 18H15.3V16.5H16.8V18M16.8 15.8H15.3C15.3 13.4 17.5 13.5 17.5 12C17.5 11.2 16.8 10.5 16 10.5S14.5 11.2 14.5 12H13C13 10.3 14.3 9 16 9S19 10.3 19 12C19 13.9 16.8 14.1 16.8 15.8Z\";\r\nexport var mdiFolderQuestionOutline = \"M20 18H4V8H20M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M19 11.7C19 13.4 17 13.5 17 15H15.7C15.7 12.8 17.7 13 17.7 11.7C17.7 11 17.1 10.4 16.4 10.4C15.7 10.4 15.1 11 15.1 11.7H13.8C13.8 10.2 15 9 16.5 9S19 10.2 19 11.7M17 15.7V17H15.7V15.7H17Z\";\r\nexport var mdiFolderRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M10 4L12 6H20C21.1 6 22 6.89 22 8V13C21 12.38 19.79 12 18.5 12C14.91 12 12 14.91 12 18.5C12 19 12.06 19.5 12.17 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10Z\";\r\nexport var mdiFolderRefreshOutline = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M20 8H4V18H12L12 18.5C12 19 12.06 19.5 12.17 20H4C2.89 20 2 19.1 2 18L2 6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13C21.39 12.63 20.72 12.34 20 12.17V8Z\";\r\nexport var mdiFolderRemove = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiFolderRemoveOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiFolderSearch = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M9,4L11,6H19A2,2 0 0,1 21,8V11.81C19.83,10.69 18.25,10 16.5,10A6.5,6.5 0 0,0 10,16.5C10,17.79 10.37,19 11,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9Z\";\r\nexport var mdiFolderSearchOutline = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.75,18.21 20.31,18.9L23.39,22L22,23.39L18.88,20.32C18.19,20.75 17.37,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19A2.5,2.5 0 0,0 19,16.5A2.5,2.5 0 0,0 16.5,14M19,8H3V18H10.17C10.34,18.72 10.63,19.39 11,20H3C1.89,20 1,19.1 1,18V6C1,4.89 1.89,4 3,4H9L11,6H19A2,2 0 0,1 21,8V11.81C20.42,11.26 19.75,10.81 19,10.5V8Z\";\r\nexport var mdiFolderSettings = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15Z\";\r\nexport var mdiFolderSettingsOutline = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M4 8H20V18H4V8M7 22V24H9V22H7M11 22V24H13V22H11M15 22V24H17V22H15\";\r\nexport var mdiFolderStar = \"M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M17.94,17L15,15.28L12.06,17L12.84,13.67L10.25,11.43L13.66,11.14L15,8L16.34,11.14L19.75,11.43L17.16,13.67L17.94,17Z\";\r\nexport var mdiFolderStarMultiple = \"M2 6H0V20C0 21.11 .895 22 2 22H20V20H2V6M22 4H14L12 2H6C4.89 2 4 2.89 4 4V16C4 17.1 4.89 18 6 18H22C23.11 18 24 17.1 24 16V6C24 4.89 23.11 4 22 4M19.94 15L17 13.27L14.06 15L14.84 11.66L12.25 9.42L15.66 9.13L17 6L18.34 9.13L21.75 9.42L19.16 11.66L19.94 15Z\";\r\nexport var mdiFolderStarMultipleOutline = \"M2 6V20H20V22H2C.895 22 0 21.11 0 20V6H2M12.78 10.05L15.81 9.79L17 7L18.19 9.79L21.22 10.05L18.92 12.04L19.61 15L17 13.47L14.39 15L15.08 12.04L12.78 10.05M24 6V16C24 17.11 23.11 18 22 18H6C4.9 18 4 17.11 4 16V4C4 2.89 4.9 2 6 2H12L14 4H22C23.11 4 24 4.9 24 6M22 6H6V16H22V6Z\";\r\nexport var mdiFolderStarOutline = \"M10.78 12.05L13.81 11.79L15 9L16.19 11.79L19.22 12.05L16.92 14.04L17.61 17L15 15.47L12.39 17L13.08 14.04L10.78 12.05M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H10L12 6H20C21.11 6 22 6.9 22 8M20 8H4V18H20V8Z\";\r\nexport var mdiFolderSwap = \"M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M15 16V14H9V16L6 13L9 10V12H15V10L18 13Z\";\r\nexport var mdiFolderSwapOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M18 13L15 10V12H9V10L6 13L9 16V14H15V16Z\";\r\nexport var mdiFolderSync = \"M10,4L12,6H20A2,2 0 0,1 22,8V11.5C21.23,11.18 20.39,11 19.5,11A6.5,6.5 0 0,0 13,17.5C13,18.39 13.18,19.23 13.5,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L19,23Z\";\r\nexport var mdiFolderSyncOutline = \"M10,4L12,6H20A2,2 0 0,1 22,8V11.5C21.38,11.24 20.7,11.07 20,11V8H4V18H13C13.07,18.7 13.24,19.38 13.5,20H4C2.89,20 2,19.1 2,18V6C2,4.89 2.89,4 4,4H10M19,12V13.5A4,4 0 0,1 23,17.5C23,18.32 22.75,19.08 22.33,19.71L21.24,18.62C21.41,18.28 21.5,17.9 21.5,17.5A2.5,2.5 0 0,0 19,15V16.5L16.75,14.25L16.72,14.22C16.78,14.17 16.85,14.13 19,12M19,23V21.5A4,4 0 0,1 15,17.5C15,16.68 15.25,15.92 15.67,15.29L16.76,16.38C16.59,16.72 16.5,17.1 16.5,17.5A2.5,2.5 0 0,0 19,20V18.5L21.25,20.75L21.28,20.78C21.22,20.83 21.15,20.87 19,23Z\";\r\nexport var mdiFolderTable = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M12 9H15V11H12V9M16 9H19V11H16V9M12 12H15V14H12V12M16 12H19V14H16V12M12 15H15V17H12V15M16 15H19V17H16V15Z\";\r\nexport var mdiFolderTableOutline = \"M4 4C2.89 4 2 4.89 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8C22 6.89 21.1 6 20 6H12L10 4H4M4 8H20V18H4V8M12 9V11H15V9H12M16 9V11H19V9H16M12 12V14H15V12H12M16 12V14H19V12H16M12 15V17H15V15H12M16 15V17H19V15H16Z\";\r\nexport var mdiFolderText = \"M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M15,16H6V14H15V16M18,12H6V10H18V12Z\";\r\nexport var mdiFolderTextOutline = \"M20,18H4V8H20M20,6H12L10,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V8A2,2 0 0,0 20,6M15,16H6V14H15V16M18,12H6V10H18V12Z\";\r\nexport var mdiFolderUpload = \"M20,6A2,2 0 0,1 22,8V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H10L12,6H20M10.75,13H14V17H16V13H19.25L15,8.75\";\r\nexport var mdiFolderUploadOutline = \"M20 18H4V8H20M20 6H12L10 4H4A2 2 0 0 0 2 6V18A2 2 0 0 0 4 20H20A2 2 0 0 0 22 18V8A2 2 0 0 0 20 6M16 17H14V13H11L15 9L19 13H16Z\";\r\nexport var mdiFolderWrench = \"M13.03 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V17.5L20.96 16.44C20.97 16.3 21 16.15 21 16C21 13.24 18.76 11 16 11S11 13.24 11 16C11 17.64 11.8 19.09 13.03 20M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\r\nexport var mdiFolderWrenchOutline = \"M13.03 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V17.5L20.96 16.44C20.97 16.3 21 16.15 21 16C21 14.88 20.62 13.86 20 13.03V8H4V18H11.42C11.77 18.8 12.33 19.5 13.03 20M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\r\nexport var mdiFolderZip = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M18 12H16V14H18V16H16V18H14V16H16V14H14V12H16V10H14V8H16V10H18V12Z\";\r\nexport var mdiFolderZipOutline = \"M20 6H12L10 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V8C22 6.9 21.1 6 20 6M20 18H16V16H14V18H4V8H14V10H16V8H20V18M16 12V10H18V12H16M14 12H16V14H14V12M18 16H16V14H18V16Z\";\r\nexport var mdiFontAwesome = \"M19.76 2H4.24C3 2 2 3 2 4.24V19.76C2 21 3 22 4.24 22H19.76C21 22 22 21 22 19.76V4.24C22 3 21 2 19.76 2M17.73 14.69C17.73 14.88 17.57 14.96 17.38 15.04C16.64 15.36 15.84 15.65 15 15.65C13.78 15.65 13.22 14.91 11.78 14.91C10.74 14.91 9.65 15.28 8.77 15.68C8.71 15.71 8.66 15.71 8.61 15.73V17.76C8.61 17.84 8.61 17.92 8.58 17.97V18.03C8.47 18.4 8.13 18.67 7.73 18.67C7.22 18.67 6.82 18.26 6.82 17.76V8C6.47 7.73 6.24 7.31 6.24 6.83C6.24 6 6.9 5.33 7.73 5.33C8.56 5.33 9.23 6 9.23 6.83C9.23 7.31 9 7.73 8.64 8V8.83C8.72 8.8 8.8 8.77 8.88 8.72C9.71 8.37 10.7 8.08 11.63 8.08C12.64 8.08 13.44 8.35 14.35 8.69C14.54 8.77 14.72 8.8 14.93 8.8C15.95 8.8 17.07 8.08 17.34 8.08C17.55 8.08 17.74 8.24 17.74 8.43V14.69H17.73Z\";\r\nexport var mdiFood = \"M18.06 23H19.72C20.56 23 21.25 22.35 21.35 21.53L23 5.05H18V1H16.03V5.05H11.06L11.36 7.39C13.07 7.86 14.67 8.71 15.63 9.65C17.07 11.07 18.06 12.54 18.06 14.94V23M1 22V21H16.03V22C16.03 22.54 15.58 23 15 23H2C1.45 23 1 22.54 1 22M16.03 15C16.03 7 1 7 1 15H16.03M1 17H16V19H1V17Z\";\r\nexport var mdiFoodApple = \"M20,10C22,13 17,22 15,22C13,22 13,21 12,21C11,21 11,22 9,22C7,22 2,13 4,10C6,7 9,7 11,8V5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5V3H13V8C15,7 18,7 20,10Z\";\r\nexport var mdiFoodAppleOutline = \"M20,10C18.58,7.57 15.5,6.69 13,8V3H11V8C8.5,6.69 5.42,7.57 4,10C2,13 7,22 9,22C11,22 11,21 12,21C13,21 13,22 15,22C17,22 22,13 20,10M18.25,13.38C17.63,15.85 16.41,18.12 14.7,20C14.5,20 14.27,19.9 14.1,19.75C12.87,18.76 11.13,18.76 9.9,19.75C9.73,19.9 9.5,20 9.3,20C7.59,18.13 6.36,15.85 5.75,13.39C5.5,12.66 5.45,11.87 5.66,11.12C6.24,10.09 7.32,9.43 8.5,9.4C9.06,9.41 9.61,9.54 10.11,9.79L11,10.24H13L13.89,9.79C14.39,9.54 14.94,9.41 15.5,9.4C16.68,9.43 17.76,10.08 18.34,11.11C18.55,11.86 18.5,12.65 18.25,13.38M11,5C5.38,8.07 4.11,3.78 4.11,3.78C4.11,3.78 6.77,0.19 11,5Z\";\r\nexport var mdiFoodCroissant = \"M22,19L19,17L22,15V19M15,15L19,9L22,13L18,16L15,15M5,17L2,19V15L5,17M9,15L6,16L2,13L5,9L9,15M14,6L18,8L13,15H11L6,8L10,6H14Z\";\r\nexport var mdiFoodDrumstick = \"M20.16 12.73C22.93 9.96 22.57 5.26 19.09 3C17.08 1.67 14.39 1.66 12.36 2.97C10.6 4.1 9.63 5.86 9.46 7.68C9.33 9 8.83 10.23 7.91 11.15L7.88 11.18C6.72 12.34 6.72 14.11 7.81 15.19L8.8 16.18C9.89 17.27 11.66 17.27 12.75 16.18C13.72 15.21 15 14.68 16.39 14.53C17.76 14.38 19.1 13.78 20.16 12.73M6.26 19.86C6.53 20.42 6.44 21.1 5.97 21.56C5.39 22.15 4.44 22.15 3.85 21.56C3.58 21.29 3.44 20.94 3.42 20.58C3.06 20.56 2.71 20.42 2.44 20.15C1.85 19.56 1.85 18.61 2.44 18.03C2.9 17.57 3.59 17.47 4.14 17.74L6.62 15.31C6.76 15.5 6.92 15.72 7.1 15.9L8.09 16.89C8.3 17.09 8.5 17.26 8.76 17.41L6.26 19.86Z\";\r\nexport var mdiFoodDrumstickOff = \"M20.8 22.7L13.6 15.5C13.3 15.7 13 15.9 12.7 16.2C11.6 17.3 9.8 17.3 8.7 16.2L7.7 15.2C6.6 14.1 6.6 12.3 7.8 11.2C8 11 8.2 10.7 8.4 10.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M8.1 16.9L7.1 15.9C6.9 15.7 6.8 15.5 6.6 15.3L4.1 17.7C3.5 17.4 2.9 17.5 2.4 18C1.8 18.6 1.8 19.5 2.4 20.1C2.7 20.4 3 20.5 3.4 20.5C3.4 20.9 3.6 21.2 3.8 21.5C4.4 22.1 5.3 22.1 5.9 21.5C6.4 21 6.5 20.4 6.2 19.8L8.7 17.4C8.5 17.3 8.3 17.1 8.1 16.9M20.2 12.7C23 9.9 22.6 5.2 19.1 3C17.1 1.7 14.4 1.7 12.4 3C11 3.9 10.1 5.1 9.7 6.5L17.5 14.3C18.5 14 19.4 13.5 20.2 12.7Z\";\r\nexport var mdiFoodDrumstickOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L8.5 10.4C8.3 10.7 8.1 10.9 7.9 11.2C6.7 12.4 6.7 14.1 7.8 15.2L8.8 16.2C9.3 16.7 10.1 17 10.8 17C11.5 17 12.2 16.7 12.8 16.2C13.1 15.9 13.4 15.7 13.7 15.5L20.9 22.7L22.1 21.5M11.3 14.8C11.1 15 10.9 15 10.8 15S10.4 15 10.2 14.8L9.2 13.8C9 13.6 9 13.4 9 13.2C9 13 9.1 12.7 9.3 12.5C9.5 12.3 9.7 12 9.9 11.8L12.1 14C11.9 14.3 11.6 14.5 11.3 14.8M11.4 8.2L9.7 6.5C10.1 5.1 11 3.9 12.4 3C13.4 2.4 14.6 2 15.7 2C16.9 2 18.1 2.3 19.1 3C22.6 5.3 22.9 10 20.2 12.7C19.4 13.5 18.5 14 17.5 14.3L15.8 12.6C15.9 12.6 16 12.5 16.2 12.5C17.2 12.4 18.1 12 18.8 11.3C19.7 10.4 20.2 9.1 20 7.8C19.9 6.5 19.2 5.4 18 4.6C17.3 4.2 16.5 4 15.7 4C14.9 4 14.1 4.2 13.4 4.7C12.2 5.4 11.5 6.6 11.4 7.9V8.2M8.8 17.4L6.3 19.8C6.6 20.4 6.5 21 6 21.5C5.4 22.1 4.5 22.1 3.9 21.5C3.6 21.2 3.5 20.9 3.5 20.5C3.1 20.5 2.8 20.3 2.5 20.1C1.9 19.5 1.9 18.6 2.5 18C3 17.5 3.6 17.4 4.2 17.7L6.7 15.3C6.8 15.5 7 15.7 7.2 15.9L8.2 16.9C8.3 17.1 8.5 17.3 8.8 17.4\";\r\nexport var mdiFoodDrumstickOutline = \"M15.71 4C16.54 4 17.33 4.22 18 4.66C19.14 5.4 19.84 6.53 20 7.84C20.11 9.13 19.66 10.4 18.75 11.31C18.05 12 17.16 12.44 16.18 12.54C14.27 12.74 12.59 13.5 11.34 14.77C11.13 14.97 10.9 15 10.77 15C10.65 15 10.42 14.97 10.21 14.77L9.22 13.78C9.04 13.6 9 13.39 9 13.25C9 13 9.11 12.78 9.32 12.57C10.53 11.35 11.27 9.73 11.45 7.87C11.58 6.54 12.29 5.4 13.45 4.65C14.11 4.22 14.89 4 15.71 4M15.71 2C14.54 2 13.37 2.32 12.36 2.97C10.6 4.1 9.63 5.86 9.46 7.68C9.33 9 8.83 10.23 7.91 11.15L7.88 11.18C6.72 12.34 6.72 14.11 7.81 15.19L8.8 16.18C9.35 16.73 10.06 17 10.77 17S12.2 16.73 12.75 16.18C13.72 15.21 15 14.68 16.39 14.53C17.76 14.38 19.1 13.78 20.16 12.73C22.93 9.96 22.57 5.26 19.09 3C18.08 2.33 16.9 2 15.71 2M6.26 19.86C6.53 20.42 6.44 21.1 5.97 21.56C5.39 22.15 4.44 22.15 3.85 21.56C3.58 21.29 3.44 20.94 3.42 20.58C3.06 20.56 2.71 20.42 2.44 20.15C1.85 19.56 1.85 18.61 2.44 18.03C2.9 17.57 3.59 17.47 4.14 17.74L6.62 15.31C6.76 15.5 6.92 15.72 7.1 15.9L8.09 16.89C8.3 17.09 8.5 17.26 8.76 17.41L6.26 19.86Z\";\r\nexport var mdiFoodForkDrink = \"M3,3A1,1 0 0,0 2,4V8L2,9.5C2,11.19 3.03,12.63 4.5,13.22V19.5A1.5,1.5 0 0,0 6,21A1.5,1.5 0 0,0 7.5,19.5V13.22C8.97,12.63 10,11.19 10,9.5V8L10,4A1,1 0 0,0 9,3A1,1 0 0,0 8,4V8A0.5,0.5 0 0,1 7.5,8.5A0.5,0.5 0 0,1 7,8V4A1,1 0 0,0 6,3A1,1 0 0,0 5,4V8A0.5,0.5 0 0,1 4.5,8.5A0.5,0.5 0 0,1 4,8V4A1,1 0 0,0 3,3M19.88,3C19.75,3 19.62,3.09 19.5,3.16L16,5.25V9H12V11H13L14,21H20L21,11H22V9H18V6.34L20.5,4.84C21,4.56 21.13,4 20.84,3.5C20.63,3.14 20.26,2.95 19.88,3Z\";\r\nexport var mdiFoodHalal = \"M7 5V15C7 16.11 6.11 17 5 17H4C3.45 17 3 16.55 3 16V13H1V16C1 17.66 2.34 19 4 19H5C7.21 19 9 17.21 9 15V5M23 13.38L21.77 12.15C21.03 11.41 20.04 11 19 11H17V13H19C19.5 13 20 13.2 20.35 13.56L20.7 13.91L19.5 14.6C19.04 14.86 18.53 15 18 15H17C16.44 15 16 14.56 16 14V6H14V9.81L13.38 9.12C12.7 8.37 11.6 8 10.59 8H10V10H10.59C11.23 10 11.84 10.25 12.29 10.71L14 12.41V14C14 15.12 13.12 16 12 16H10V18H12C13.37 18 14.5 17.3 15.17 16.24C15.63 16.71 16.25 17 17 17H18C18.88 17 19.74 16.77 20.5 16.33L23 14.89Z\";\r\nexport var mdiFoodHotDog = \"M21 5.77C20.85 5.65 20.72 5.55 20.59 5.45L20.62 5.41C21.4 4.63 21.4 3.37 20.62 2.59C19.84 1.81 18.58 1.81 17.79 2.59L17.05 3.33C15.68 2.3 13.74 2.4 12.5 3.65L3.65 12.5C2.4 13.74 2.3 15.68 3.33 17.05L2.59 17.79C1.8 18.58 1.8 19.84 2.59 20.62C3.37 21.4 4.63 21.4 5.41 20.62L5.45 20.59C5.55 20.72 5.65 20.85 5.77 21C7.13 22.34 9.35 22.34 10.72 21L20.97 10.72C22.34 9.35 22.34 7.14 21 5.77M4.77 15.61C4.5 15.05 4.6 14.36 5.06 13.9L13.9 5.06C14.36 4.6 15.05 4.5 15.61 4.77L4.77 15.61M19.56 9.3L9.3 19.56C8.72 20.15 7.77 20.15 7.18 19.56C6.6 19 6.6 18 7.18 17.44L17.44 7.18C18 6.6 19 6.6 19.56 7.18C20.15 7.77 20.15 8.72 19.56 9.3Z\";\r\nexport var mdiFoodKosher = \"M1 7V9H3C3.57 9 4 9.43 4 10V17H6V10C6 8.36 4.64 7 3 7H1M7 7V14C7 15.65 8.36 17 10 17H14C15.65 17 17 15.65 17 14V7H15V14C15 14.57 14.57 15 14 15H10C9.43 15 9 14.57 9 14V13H10C11.65 13 13 11.65 13 10V7H11V10C11 10.57 10.57 11 10 11H9V7H7M18 7V9H20C20.57 9 21 9.43 21 10V14C21 14.57 20.57 15 20 15H18V17H20C21.65 17 23 15.65 23 14V10C23 8.36 21.65 7 20 7H18Z\";\r\nexport var mdiFoodOff = \"M11.35 8.5L11 5H16V1H18V5H23L21.62 18.79L11.35 8.5M1 21V22C1 22.55 1.45 23 2 23H15C15.55 23 16 22.55 16 22V21H1M21.9 21.9L2.1 2.1L.69 3.5L6.39 9.21C3.28 9.87 1 12 1 15H12.17L14.17 17H1V19H16V18.83L20.5 23.32L21.9 21.9Z\";\r\nexport var mdiFoodOffOutline = \"M1 21H16V22C16 22.54 15.56 23 15 23H2C1.45 23 1 22.54 1 22V21M20.5 23.31L16 18.83V19H1V17H14.17L12.17 15H1C1 11.76 3.46 9.83 6.38 9.21L.68 3.5L2.1 2.1L13 13L15 15L21.9 21.9L20.5 23.31M10.17 13L8.17 11C6.75 11.06 4.65 11.56 3.62 13H10.17M23 5H18V1H16V5H11L11.23 7H20.79L19.79 16.97L21.62 18.8L23 5Z\";\r\nexport var mdiFoodOutline = \"M1 22C1 22.54 1.45 23 2 23H15C15.56 23 16 22.54 16 22V21H1V22M8.5 9C4.75 9 1 11 1 15H16C16 11 12.25 9 8.5 9M3.62 13C4.73 11.45 7.09 11 8.5 11S12.27 11.45 13.38 13H3.62M1 17H16V19H1V17M18 5V1H16V5H11L11.23 7H20.79L19.39 21H18V23H19.72C20.56 23 21.25 22.35 21.35 21.53L23 5H18Z\";\r\nexport var mdiFoodSteak = \"M11.9 2C8 2 4.9 5.4 5 9.3C5.1 11.9 6.6 14.1 8.7 15.2C10.1 15.9 11 17.3 11 18.8V19C11 20.7 12.3 22 14 22C18 22 19 17 19 9C19 9 19 2 11.9 2M14 20C13.4 20 13 19.6 13 19V18.8C13 16.6 11.7 14.5 9.7 13.4C8.1 12.6 7.1 11 7 9.2C7 7.9 7.5 6.5 8.4 5.5C9.3 4.5 10.6 4 11.8 4C16.7 4 17 8.2 17 9C17 18.9 15.3 20 14 20M15.8 7.6L8.3 10.3C8.1 10 8 9.6 8 9.1C8 8.4 8.2 7.8 8.5 7.1L13.7 5.2C14.9 5.8 15.5 6.7 15.8 7.6M12.9 15.1L15.7 14.1C15.6 15.6 15.3 16.7 15.1 17.4L13.8 17.9C13.8 16.9 13.5 16 12.9 15.1M16 9.2C16 10.4 16 11.5 15.9 12.4L11.9 13.9C11.4 13.4 10.8 12.9 10.1 12.6C9.7 12.4 9.3 12.1 9 11.8L16 9.2Z\";\r\nexport var mdiFoodSteakOff = \"M2.39 1.73L1.11 3L5.27 7.16C5.08 7.83 5 8.53 5 9.26C5.1 11.83 6.59 14.05 8.74 15.19C10.1 15.9 11 17.25 11 18.79V19C11 20.66 12.34 22 14 22C15.68 22 16.83 21.11 17.6 19.5L20.84 22.73L22.11 21.46L2.39 1.73M14 20C13.45 20 13 19.55 13 19V18.79C13 16.56 11.72 14.5 9.67 13.42C8.09 12.58 7.07 10.96 7 9.18C7 9.09 7 9 7 8.9L8.16 10.05C8.19 10.15 8.21 10.25 8.24 10.35L8.4 10.29L9.62 11.5L9.08 11.71C9.38 12.04 9.73 12.32 10.14 12.53C10.81 12.89 11.4 13.34 11.91 13.85L11.95 13.84L13.17 15.06L12.95 15.14C13.46 15.96 13.8 16.89 13.93 17.85L15.2 17.39C15.22 17.32 15.25 17.24 15.27 17.16L16.07 17.96C15.47 19.68 14.68 20 14 20M15.79 7.6L12.14 8.94L9.88 6.68L13.69 5.3C14.94 5.77 15.53 6.72 15.79 7.6M8.59 5.39L7.17 3.97C8.41 2.77 10.07 2 11.88 2H11.88C19 2 19 9 19 9C19 11.46 18.9 13.63 18.66 15.46L16.84 13.64C16.94 12.36 17 10.83 17 9C17 8.18 16.69 4 11.88 4H11.88C10.67 4 9.5 4.5 8.59 5.39M15.68 12.5L13.36 10.15L16 9.19C16 10.41 15.97 11.46 15.92 12.4L15.68 12.5Z\";\r\nexport var mdiFoodTakeoutBox = \"M5.26 11H18.74L18.07 20H5.93L5.26 11M9 4H14.97L19 7.38L20.59 5.79L22 7.21L19.21 10H4.79L2 7.21L3.41 5.8L5 7.38L9 4Z\";\r\nexport var mdiFoodTakeoutBoxOutline = \"M7.79 18L7.28 11H16.74L16.23 18H7.79M9.83 5H14.16L16.96 7.73L16.87 9H7.12L7.03 7.73L9.83 5M22 7.46L20.59 6.05L19 7.63L19.03 7.07L15 3H9L4.97 7.07L5 7.57L3.41 6L2 7.44L5.23 10.55L5.93 20H18.07L18.77 10.56L22 7.46Z\";\r\nexport var mdiFoodTurkey = \"M5.44 7.96L5.96 7.43C6.54 6.85 7.5 6.85 8.1 7.47L8.12 7.5C8.61 8 9.26 8.24 9.97 8.31C10.94 8.4 11.88 8.92 12.5 9.86C13.18 10.94 13.17 12.38 12.46 13.45C11.26 15.3 8.75 15.5 7.28 14C6.72 13.45 6.4 12.74 6.32 12C6.24 11.27 5.95 10.58 5.44 10.07C4.86 9.5 4.86 8.54 5.44 7.96M9.64 16C8.47 16 7.38 15.55 6.57 14.72C5.87 14 5.43 13.1 5.32 12.12C5.29 11.82 5.2 11.43 4.96 11.07C4.36 11.9 4 12.9 4 14C4 15.64 4.8 17.09 6.03 18H19V17C19 13.4 16.61 10.35 13.34 9.35C14.23 10.75 14.21 12.62 13.3 14C12.5 15.25 11.12 16 9.64 16M14.78 7.56H16.05C16.92 7.56 17.68 8.17 17.68 9.26V10H18.93V9C18.93 7.5 17.6 6.36 16.05 6.36H14.78C13.95 6.36 13.24 5.54 13.24 4.7S13.95 3.24 14.78 3.24V2C13.24 2 12 3.24 12 4.78S13.24 7.56 14.78 7.56M4.5 7.55C4.56 7.45 4.64 7.35 4.73 7.25L5.25 6.73C5.34 6.64 5.44 6.57 5.54 6.5L4.13 5.07C4.27 4.8 4.22 4.45 4 4.22C3.7 3.93 3.22 3.93 2.93 4.22C2.79 4.36 2.72 4.53 2.71 4.71C2.53 4.72 2.36 4.79 2.22 4.93C1.93 5.22 1.93 5.7 2.22 6C2.45 6.22 2.79 6.27 3.07 6.13L4.5 7.55M18.39 4.39C18.9 3.88 19.22 3.19 19.22 2.42H17.97C17.97 3.25 17.27 3.95 16.44 3.95V5.19C18.3 5.19 19.76 6.71 19.76 8.57V11H21V8.57C21 6.72 19.94 5.13 18.39 4.39M5 21H19C20.11 21 21 20.11 21 19H3C3 20.11 3.9 21 5 21Z\";\r\nexport var mdiFoodVariant = \"M22,18A4,4 0 0,1 18,22H15A4,4 0 0,1 11,18V16H17.79L20.55,11.23L22.11,12.13L19.87,16H22V18M9,22H2C2,19 2,16 2.33,12.83C2.6,10.3 3.08,7.66 3.6,5H3V3H4L7,3H8V5H7.4C7.92,7.66 8.4,10.3 8.67,12.83C9,16 9,19 9,22Z\";\r\nexport var mdiFoodVariantOff = \"M2.28 3L1 4.27L3.31 6.58C2.91 8.7 2.55 10.8 2.33 12.83C2 16 2 19 2 22H9C9 19 9 16 8.67 12.83C8.63 12.5 8.58 12.15 8.54 11.81L12.73 16H11V18C11 20.21 12.79 22 15 22H18C18.23 22 18.45 22 18.67 21.94L19.73 23L21 21.72M4.82 3L7.53 5.71C7.5 5.47 7.45 5.24 7.4 5H8V3H7M20.55 11.23L17.8 16L21.59 19.76C21.86 19.21 22 18.61 22 18V16H19.87L22.11 12.13Z\";\r\nexport var mdiFootPrint = \"M16 2A2 2 0 1 1 14 4A2 2 0 0 1 16 2M12.04 3A1.5 1.5 0 1 1 10.54 4.5A1.5 1.5 0 0 1 12.04 3M9.09 4.5A1 1 0 1 1 8.09 5.5A1 1 0 0 1 9.09 4.5M7.04 6A1 1 0 1 1 6.04 7A1 1 0 0 1 7.04 6M14.53 12A2.5 2.5 0 0 0 17 9.24A2.6 2.6 0 0 0 14.39 7H11.91A6 6 0 0 0 6.12 11.4A2 2 0 0 0 6.23 12.8A6.8 6.8 0 0 1 6.91 15.76A6.89 6.89 0 0 1 6.22 18.55A1.92 1.92 0 0 0 6.3 20.31A3.62 3.62 0 0 0 10.19 21.91A3.5 3.5 0 0 0 12.36 16.63A2.82 2.82 0 0 1 11.91 15S11.68 12 14.53 12Z\";\r\nexport var mdiFootball = \"M8.39 21L3 15.61C3 16.7 3.04 17.71 3.2 18.63C3.35 19.55 3.5 20.1 3.71 20.29C3.9 20.5 4.44 20.65 5.35 20.81S7.27 21 8.39 21M15.5 9.89L9.89 15.5L8.5 14.11L14.11 8.5L15.5 9.89M3.29 13.08L10.92 20.71C13.7 20.21 15.9 19.15 17.53 17.53C19.15 15.9 20.21 13.7 20.71 10.92L13.08 3.29C10.3 3.79 8.1 4.85 6.47 6.47S3.79 10.3 3.29 13.08M15.61 3L21 8.39C21 7.3 20.96 6.29 20.81 5.37C20.65 4.45 20.5 3.9 20.29 3.71C20.1 3.5 19.56 3.35 18.65 3.2S16.73 3 15.61 3Z\";\r\nexport var mdiFootballAustralian = \"M7.5,7.5C9.17,5.87 11.29,4.69 13.37,4.18C18,3 21,6 19.82,10.63C19.31,12.71 18.13,14.83 16.5,16.5C14.83,18.13 12.71,19.31 10.63,19.82C6,21 3,18 4.18,13.37C4.69,11.29 5.87,9.17 7.5,7.5M10.62,11.26L10.26,11.62L12.38,13.74L12.74,13.38L10.62,11.26M11.62,10.26L11.26,10.62L13.38,12.74L13.74,12.38L11.62,10.26M9.62,12.26L9.26,12.62L11.38,14.74L11.74,14.38L9.62,12.26M12.63,9.28L12.28,9.63L14.4,11.75L14.75,11.4L12.63,9.28M8.63,13.28L8.28,13.63L10.4,15.75L10.75,15.4L8.63,13.28M13.63,8.28L13.28,8.63L15.4,10.75L15.75,10.4L13.63,8.28Z\";\r\nexport var mdiFootballHelmet = \"M13.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,15A1.5,1.5 0 0,0 15,13.5A1.5,1.5 0 0,0 13.5,12M13.5,3C18.19,3 22,6.58 22,11C22,12.62 22,14 21.09,16C17,16 16,20 12.5,20C10.32,20 9.27,18.28 9.05,16H9L8.24,16L6.96,20.3C6.81,20.79 6.33,21.08 5.84,21H3A1,1 0 0,1 2,20A1,1 0 0,1 3,19V16A1,1 0 0,1 2,15A1,1 0 0,1 3,14H6.75L7.23,12.39C6.72,12.14 6.13,12 5.5,12H5.07L5,11C5,6.58 8.81,3 13.5,3M5,16V19H5.26L6.15,16H5Z\";\r\nexport var mdiForest = \"M16 12L9 2L2 12H3.86L0 18H7V22H11V18H18L14.14 12H16M20.14 12H22L15 2L12.61 5.41L17.92 13H15.97L19.19 18H24L20.14 12M13 19H17V22H13V19Z\";\r\nexport var mdiForestOutline = \"M19.19 18H24L20.14 12H22L15 2L12.61 5.41L17.92 13H15.97L19.19 18M16 12L9 2L2 12H3.86L0 18H7V22H11V18H18L14.14 12H16M12.16 10H10.5L14.34 16H3.67L7.53 10H5.84L9 5.5L12.16 10M13 19V22H17V19H13Z\";\r\nexport var mdiForklift = \"M6,4V11H4C2.89,11 2,11.89 2,13V17A3,3 0 0,0 5,20A3,3 0 0,0 8,17H10A3,3 0 0,0 13,20A3,3 0 0,0 16,17V13L12,4H6M17,5V19H22V17.5H18.5V5H17M7.5,5.5H11.2L14.5,13H7.5V5.5M5,15.5A1.5,1.5 0 0,1 6.5,17A1.5,1.5 0 0,1 5,18.5A1.5,1.5 0 0,1 3.5,17A1.5,1.5 0 0,1 5,15.5M13,15.5A1.5,1.5 0 0,1 14.5,17A1.5,1.5 0 0,1 13,18.5A1.5,1.5 0 0,1 11.5,17A1.5,1.5 0 0,1 13,15.5Z\";\r\nexport var mdiFormDropdown = \"M17 5H20L18.5 7L17 5M3 2H21C22.11 2 23 2.9 23 4V8C23 9.11 22.11 10 21 10H16V20C16 21.11 15.11 22 14 22H3C1.9 22 1 21.11 1 20V4C1 2.9 1.9 2 3 2M3 4V8H14V4H3M21 8V4H16V8H21M3 20H14V10H3V20M5 12H12V14H5V12M5 16H12V18H5V16Z\";\r\nexport var mdiFormSelect = \"M15 5H18L16.5 7L15 5M5 2H19C20.11 2 21 2.9 21 4V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V4C3 2.9 3.9 2 5 2M5 4V8H19V4H5M5 20H19V10H5V20M7 12H17V14H7V12M7 16H17V18H7V16Z\";\r\nexport var mdiFormTextarea = \"M13 9H4V23H2V7H13M23 9V7H17V5A1 1 0 0 1 18 4H20V2H17.5C17 2 16 2.45 16 3C16 2.45 15.05 2 14.5 2H12V4H14A1 1 0 0 1 15 5V19A1 1 0 0 1 14 20H12V22H14.5C15.05 22 16 21.55 16 21C16 21.55 16.95 22 17.5 22H20V20H18A1 1 0 0 1 17 19V9Z\";\r\nexport var mdiFormTextbox = \"M17,7H22V17H17V19A1,1 0 0,0 18,20H20V22H17.5C16.95,22 16,21.55 16,21C16,21.55 15.05,22 14.5,22H12V20H14A1,1 0 0,0 15,19V5A1,1 0 0,0 14,4H12V2H14.5C15.05,2 16,2.45 16,3C16,2.45 16.95,2 17.5,2H20V4H18A1,1 0 0,0 17,5V7M2,7H13V9H4V15H13V17H2V7M20,15V9H17V15H20Z\";\r\nexport var mdiFormTextboxLock = \"M2 7H6V9H4V15H6V17H2V7M10 7H22V12C21.42 11.56 20.74 11.25 20 11.1V9H10V15H14.25C13.56 15 13 15.56 13 16.25V17H10V19C10 19.55 10.45 20 11 20H13V22H10.5C9.95 22 9 21.55 9 21C9 21.55 8.05 22 7.5 22H5V20H7C7.55 20 8 19.55 8 19V5C8 4.45 7.55 4 7 4H5V2H7.5C8.05 2 9 2.45 9 3C9 2.45 9.95 2 10.5 2H13V4H11C10.45 4 10 4.45 10 5V7M21.8 17C22.4 17 23 17.6 23 18.3V21.8C23 22.4 22.4 23 21.7 23H16.2C15.6 23 15 22.4 15 21.7V18.2C15 17.6 15.6 17 16.2 17V15.5C16.2 14.1 17.6 13 19 13C20.4 13 21.8 14.1 21.8 15.5V17M20.5 17V15.5C20.5 14.7 19.8 14.2 19 14.2C18.2 14.2 17.5 14.7 17.5 15.5V17H20.5Z\";\r\nexport var mdiFormTextboxPassword = \"M17,7H22V17H17V19A1,1 0 0,0 18,20H20V22H17.5C16.95,22 16,21.55 16,21C16,21.55 15.05,22 14.5,22H12V20H14A1,1 0 0,0 15,19V5A1,1 0 0,0 14,4H12V2H14.5C15.05,2 16,2.45 16,3C16,2.45 16.95,2 17.5,2H20V4H18A1,1 0 0,0 17,5V7M2,7H13V9H4V15H13V17H2V7M20,15V9H17V15H20M8.5,12A1.5,1.5 0 0,0 7,10.5A1.5,1.5 0 0,0 5.5,12A1.5,1.5 0 0,0 7,13.5A1.5,1.5 0 0,0 8.5,12M13,10.89C12.39,10.33 11.44,10.38 10.88,11C10.32,11.6 10.37,12.55 11,13.11C11.55,13.63 12.43,13.63 13,13.11V10.89Z\";\r\nexport var mdiFormatAlignBottom = \"M13,9L15.5,6.5L16.92,7.92L12,12.84L7.08,7.92L8.5,6.5L11,9V3H13V9M3,15H21V17H3V15M3,19H13V21H3V19Z\";\r\nexport var mdiFormatAlignCenter = \"M3,3H21V5H3V3M7,7H17V9H7V7M3,11H21V13H3V11M7,15H17V17H7V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignJustify = \"M3,3H21V5H3V3M3,7H21V9H3V7M3,11H21V13H3V11M3,15H21V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignLeft = \"M3,3H21V5H3V3M3,7H15V9H3V7M3,11H21V13H3V11M3,15H15V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignMiddle = \"M13,6L15,4L16.42,5.42L12,9.84L7.58,5.42L9,4L11,6V2H13V6M3,11H21V13H3V11M13,18V22H11V18L9,20L7.58,18.58L12,14.16L16.42,18.58L15,20L13,18Z\";\r\nexport var mdiFormatAlignRight = \"M3,3H21V5H3V3M9,7H21V9H9V7M3,11H21V13H3V11M9,15H21V17H9V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatAlignTop = \"M13,15L15.5,17.5L16.92,16.08L12,11.16L7.08,16.08L8.5,17.5L11,15V21H13V15M3,3H21V5H3V3M3,7H13V9H3V7Z\";\r\nexport var mdiFormatAnnotationMinus = \"M10.5,7H8.5L3,21H5.2L6.3,18H12.5L13.6,21H16L10.5,7M7.1,16L9.5,9.7L11.9,16H7.1M22,7H14V5H22V7Z\";\r\nexport var mdiFormatAnnotationPlus = \"M8.5,7H10.5L16,21H13.6L12.5,18H6.3L5.2,21H3L8.5,7M7.1,16H11.9L9.5,9.7L7.1,16M22,5V7H19V10H17V7H14V5H17V2H19V5H22Z\";\r\nexport var mdiFormatBold = \"M13.5,15.5H10V12.5H13.5A1.5,1.5 0 0,1 15,14A1.5,1.5 0 0,1 13.5,15.5M10,6.5H13A1.5,1.5 0 0,1 14.5,8A1.5,1.5 0 0,1 13,9.5H10M15.6,10.79C16.57,10.11 17.25,9 17.25,8C17.25,5.74 15.5,4 13.25,4H7V18H14.04C16.14,18 17.75,16.3 17.75,14.21C17.75,12.69 16.89,11.39 15.6,10.79Z\";\r\nexport var mdiFormatClear = \"M6,5V5.18L8.82,8H11.22L10.5,9.68L12.6,11.78L14.21,8H20V5H6M3.27,5L2,6.27L8.97,13.24L6.5,19H9.5L11.07,15.34L16.73,21L18,19.73L3.55,5.27L3.27,5Z\";\r\nexport var mdiFormatColorFill = \"M19,11.5C19,11.5 17,13.67 17,15A2,2 0 0,0 19,17A2,2 0 0,0 21,15C21,13.67 19,11.5 19,11.5M5.21,10L10,5.21L14.79,10M16.56,8.94L7.62,0L6.21,1.41L8.59,3.79L3.44,8.94C2.85,9.5 2.85,10.47 3.44,11.06L8.94,16.56C9.23,16.85 9.62,17 10,17C10.38,17 10.77,16.85 11.06,16.56L16.56,11.06C17.15,10.47 17.15,9.5 16.56,8.94Z\";\r\nexport var mdiFormatColorHighlight = \"M4,17L6.75,14.25L6.72,14.23C6.14,13.64 6.14,12.69 6.72,12.11L11.46,7.37L15.7,11.61L10.96,16.35C10.39,16.93 9.46,16.93 8.87,16.37L8.24,17H4M15.91,2.91C16.5,2.33 17.45,2.33 18.03,2.91L20.16,5.03C20.74,5.62 20.74,6.57 20.16,7.16L16.86,10.45L12.62,6.21L15.91,2.91Z\";\r\nexport var mdiFormatColorMarkerCancel = \"M16.5 8C14 8 12 10 12 12.5S14 17 16.5 17 21 15 21 12.5 19 8 16.5 8M16.5 15.5C14.8 15.5 13.5 14.2 13.5 12.5C13.5 11.9 13.7 11.4 13.9 11L18 15.1C17.6 15.3 17.1 15.5 16.5 15.5M19.1 14L15 9.9C15.4 9.6 15.9 9.5 16.5 9.5C18.2 9.5 19.5 10.8 19.5 12.5C19.5 13.1 19.3 13.6 19.1 14M12.1 7.7L10.6 6.2L13.9 2.9C14.5 2.3 15.4 2.3 16 2.9L18.2 5C18.6 5.4 18.7 5.8 18.6 6.3C18 6.1 17.3 6 16.6 6C14.8 6 13.3 6.7 12.1 7.7M10.5 14.9L9 16.3C8.4 16.9 7.5 16.9 6.9 16.3L6.2 17H2L4.8 14.2C4.2 13.6 4.2 12.7 4.8 12.1L9.5 7.4L11.1 9C10.4 10 10 11.2 10 12.5C10 13.3 10.2 14.1 10.5 14.9Z\";\r\nexport var mdiFormatColorText = \"M9.62,12L12,5.67L14.37,12M11,3L5.5,17H7.75L8.87,14H15.12L16.25,17H18.5L13,3H11Z\";\r\nexport var mdiFormatColumns = \"M3,3H11V5H3V3M13,3H21V5H13V3M3,7H11V9H3V7M13,7H21V9H13V7M3,11H11V13H3V11M13,11H21V13H13V11M3,15H11V17H3V15M13,15H21V17H13V15M3,19H11V21H3V19M13,19H21V21H13V19Z\";\r\nexport var mdiFormatFloatCenter = \"M9,7H15V13H9V7M3,3H21V5H3V3M3,15H21V17H3V15M3,19H17V21H3V19Z\";\r\nexport var mdiFormatFloatLeft = \"M3,7H9V13H3V7M3,3H21V5H3V3M21,7V9H11V7H21M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatFloatNone = \"M3,7H9V13H3V7M3,3H21V5H3V3M21,11V13H11V11H21M3,15H17V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatFloatRight = \"M15,7H21V13H15V7M3,3H21V5H3V3M13,7V9H3V7H13M9,11V13H3V11H9M3,15H17V17H3V15M3,19H21V21H3V19Z\";\r\nexport var mdiFormatFont = \"M17,8H20V20H21V21H17V20H18V17H14L12.5,20H14V21H10V20H11L17,8M18,9L14.5,16H18V9M5,3H10C11.11,3 12,3.89 12,5V16H9V11H6V16H3V5C3,3.89 3.89,3 5,3M6,5V9H9V5H6Z\";\r\nexport var mdiFormatFontSizeDecrease = \"M5.12,14L7.5,7.67L9.87,14M6.5,5L1,19H3.25L4.37,16H10.62L11.75,19H14L8.5,5H6.5M18,17L23,11.93L21.59,10.5L19,13.1V7H17V13.1L14.41,10.5L13,11.93L18,17Z\";\r\nexport var mdiFormatFontSizeIncrease = \"M5.12,14L7.5,7.67L9.87,14M6.5,5L1,19H3.25L4.37,16H10.62L11.75,19H14L8.5,5H6.5M18,7L13,12.07L14.41,13.5L17,10.9V17H19V10.9L21.59,13.5L23,12.07L18,7Z\";\r\nexport var mdiFormatHeader1 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M14,18V16H16V6.31L13.5,7.75V5.44L16,4H18V16H20V18H14Z\";\r\nexport var mdiFormatHeader2 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M21,18H15A2,2 0 0,1 13,16C13,15.47 13.2,15 13.54,14.64L18.41,9.41C18.78,9.05 19,8.55 19,8A2,2 0 0,0 17,6A2,2 0 0,0 15,8H13A4,4 0 0,1 17,4A4,4 0 0,1 21,8C21,9.1 20.55,10.1 19.83,10.83L15,16H21V18Z\";\r\nexport var mdiFormatHeader3 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V15H15V16H19V12H15V10H19V6H15V7H13V6A2,2 0 0,1 15,4Z\";\r\nexport var mdiFormatHeader4 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M18,18V13H13V11L18,4H20V11H21V13H20V18H18M18,11V7.42L15.45,11H18Z\";\r\nexport var mdiFormatHeader5 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H20V6H15V10H17A4,4 0 0,1 21,14A4,4 0 0,1 17,18H15A2,2 0 0,1 13,16V15H15V16H17A2,2 0 0,0 19,14A2,2 0 0,0 17,12H15A2,2 0 0,1 13,10V6A2,2 0 0,1 15,4Z\";\r\nexport var mdiFormatHeader6 = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M15,4H19A2,2 0 0,1 21,6V7H19V6H15V10H19A2,2 0 0,1 21,12V16A2,2 0 0,1 19,18H15A2,2 0 0,1 13,16V6A2,2 0 0,1 15,4M15,12V16H19V12H15Z\";\r\nexport var mdiFormatHeaderDecrease = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M20.42,7.41L16.83,11L20.42,14.59L19,16L14,11L19,6L20.42,7.41Z\";\r\nexport var mdiFormatHeaderEqual = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M14,10V8H21V10H14M14,12H21V14H14V12Z\";\r\nexport var mdiFormatHeaderIncrease = \"M4,4H6V10H10V4H12V18H10V12H6V18H4V4M14.59,7.41L18.17,11L14.59,14.59L16,16L21,11L16,6L14.59,7.41Z\";\r\nexport var mdiFormatHeaderPound = \"M3,4H5V10H9V4H11V18H9V12H5V18H3V4M13,8H15.31L15.63,5H17.63L17.31,8H19.31L19.63,5H21.63L21.31,8H23V10H21.1L20.9,12H23V14H20.69L20.37,17H18.37L18.69,14H16.69L16.37,17H14.37L14.69,14H13V12H14.9L15.1,10H13V8M17.1,10L16.9,12H18.9L19.1,10H17.1Z\";\r\nexport var mdiFormatHorizontalAlignCenter = \"M19,16V13H23V11H19V8L15,12L19,16M5,8V11H1V13H5V16L9,12L5,8M11,20H13V4H11V20Z\";\r\nexport var mdiFormatHorizontalAlignLeft = \"M11,16V13H21V11H11V8L7,12L11,16M3,20H5V4H3V20Z\";\r\nexport var mdiFormatHorizontalAlignRight = \"M13,8V11H3V13H13V16L17,12L13,8M19,20H21V4H19V20Z\";\r\nexport var mdiFormatIndentDecrease = \"M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M3,21H21V19H3M3,12L7,16V8M11,17H21V15H11V17Z\";\r\nexport var mdiFormatIndentIncrease = \"M11,13H21V11H11M11,9H21V7H11M3,3V5H21V3M11,17H21V15H11M3,8V16L7,12M3,21H21V19H3V21Z\";\r\nexport var mdiFormatItalic = \"M10,4V7H12.21L8.79,15H6V18H14V15H11.79L15.21,7H18V4H10Z\";\r\nexport var mdiFormatLetterCase = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6Z\";\r\nexport var mdiFormatLetterCaseLower = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6M22,20V22H14.5V20H22Z\";\r\nexport var mdiFormatLetterCaseUpper = \"M20.06,18C20,17.83 19.91,17.54 19.86,17.11C19.19,17.81 18.38,18.16 17.45,18.16C16.62,18.16 15.93,17.92 15.4,17.45C14.87,17 14.6,16.39 14.6,15.66C14.6,14.78 14.93,14.1 15.6,13.61C16.27,13.12 17.21,12.88 18.43,12.88H19.83V12.24C19.83,11.75 19.68,11.36 19.38,11.07C19.08,10.78 18.63,10.64 18.05,10.64C17.53,10.64 17.1,10.76 16.75,11C16.4,11.25 16.23,11.54 16.23,11.89H14.77C14.77,11.46 14.92,11.05 15.22,10.65C15.5,10.25 15.93,9.94 16.44,9.71C16.95,9.5 17.5,9.36 18.13,9.36C19.11,9.36 19.87,9.6 20.42,10.09C20.97,10.58 21.26,11.25 21.28,12.11V16C21.28,16.8 21.38,17.42 21.58,17.88V18H20.06M17.66,16.88C18.11,16.88 18.54,16.77 18.95,16.56C19.35,16.35 19.65,16.07 19.83,15.73V14.16H18.7C16.93,14.16 16.04,14.63 16.04,15.57C16.04,16 16.19,16.3 16.5,16.53C16.8,16.76 17.18,16.88 17.66,16.88M5.46,13.71H9.53L7.5,8.29L5.46,13.71M6.64,6H8.36L13.07,18H11.14L10.17,15.43H4.82L3.86,18H1.93L6.64,6M2,20H13V22H2V20Z\";\r\nexport var mdiFormatLetterEndsWith = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20 14V18H2V20H22V14Z\";\r\nexport var mdiFormatLetterMatches = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M20 14V18H4V15H2V20H22V14Z\";\r\nexport var mdiFormatLetterSpacing = \"M14.4 10.7H18.5L16.5 5.3L14.4 10.7M15.6 3H17.3L22 15H20.1L19.1 12.4H13.7L12.7 15H10.8L15.6 3M11.2 3H13.1L8.4 15H6.7L2 3H3.9L7.5 12.7M19 22V20H5V22L2 19L5 16V18H19V16L22 19L19 22Z\";\r\nexport var mdiFormatLetterSpacingVariant = \"M22 3V21H20V3H22M4 3V21H2V3H4M10 13.7H14L12 8.3L10 13.7M11.2 6H12.9L17.6 18H15.6L14.7 15.4H9.4L8.5 18H6.5L11.2 6Z\";\r\nexport var mdiFormatLetterStartsWith = \"M11.14 4L6.43 16H8.36L9.32 13.43H14.67L15.64 16H17.57L12.86 4M12 6.29L14.03 11.71H9.96M4 18V15H2V20H22V18Z\";\r\nexport var mdiFormatLineHeight = \"M21 22H3V20H21V22M21 4H3V2H21V4M10 13.7H14L12 8.3L10 13.7M11.2 6H12.9L17.6 18H15.6L14.7 15.4H9.4L8.5 18H6.5L11.2 6Z\";\r\nexport var mdiFormatLineSpacing = \"M10,13H22V11H10M10,19H22V17H10M10,7H22V5H10M6,7H8.5L5,3.5L1.5,7H4V17H1.5L5,20.5L8.5,17H6V7Z\";\r\nexport var mdiFormatLineStyle = \"M3,16H8V14H3V16M9.5,16H14.5V14H9.5V16M16,16H21V14H16V16M3,20H5V18H3V20M7,20H9V18H7V20M11,20H13V18H11V20M15,20H17V18H15V20M19,20H21V18H19V20M3,12H11V10H3V12M13,12H21V10H13V12M3,4V8H21V4H3Z\";\r\nexport var mdiFormatLineWeight = \"M3,17H21V15H3V17M3,20H21V19H3V20M3,13H21V10H3V13M3,4V8H21V4H3Z\";\r\nexport var mdiFormatListBulleted = \"M7,5H21V7H7V5M7,13V11H21V13H7M4,4.5A1.5,1.5 0 0,1 5.5,6A1.5,1.5 0 0,1 4,7.5A1.5,1.5 0 0,1 2.5,6A1.5,1.5 0 0,1 4,4.5M4,10.5A1.5,1.5 0 0,1 5.5,12A1.5,1.5 0 0,1 4,13.5A1.5,1.5 0 0,1 2.5,12A1.5,1.5 0 0,1 4,10.5M7,19V17H21V19H7M4,16.5A1.5,1.5 0 0,1 5.5,18A1.5,1.5 0 0,1 4,19.5A1.5,1.5 0 0,1 2.5,18A1.5,1.5 0 0,1 4,16.5Z\";\r\nexport var mdiFormatListBulletedSquare = \"M3,4H7V8H3V4M9,5V7H21V5H9M3,10H7V14H3V10M9,11V13H21V11H9M3,16H7V20H3V16M9,17V19H21V17H9\";\r\nexport var mdiFormatListBulletedTriangle = \"M5,15.5L7.5,20H2.5L5,15.5M9,19H21V17H9V19M5,9.5L7.5,14H2.5L5,9.5M9,13H21V11H9V13M5,3.5L7.5,8H2.5L5,3.5M9,7H21V5H9V7Z\";\r\nexport var mdiFormatListBulletedType = \"M5,9.5L7.5,14H2.5L5,9.5M3,4H7V8H3V4M5,20A2,2 0 0,0 7,18A2,2 0 0,0 5,16A2,2 0 0,0 3,18A2,2 0 0,0 5,20M9,5V7H21V5H9M9,19H21V17H9V19M9,13H21V11H9V13Z\";\r\nexport var mdiFormatListCheckbox = \"M21,19V17H8V19H21M21,13V11H8V13H21M8,7H21V5H8V7M4,5V7H6V5H4M3,5A1,1 0 0,1 4,4H6A1,1 0 0,1 7,5V7A1,1 0 0,1 6,8H4A1,1 0 0,1 3,7V5M4,11V13H6V11H4M3,11A1,1 0 0,1 4,10H6A1,1 0 0,1 7,11V13A1,1 0 0,1 6,14H4A1,1 0 0,1 3,13V11M4,17V19H6V17H4M3,17A1,1 0 0,1 4,16H6A1,1 0 0,1 7,17V19A1,1 0 0,1 6,20H4A1,1 0 0,1 3,19V17Z\";\r\nexport var mdiFormatListChecks = \"M3,5H9V11H3V5M5,7V9H7V7H5M11,7H21V9H11V7M11,15H21V17H11V15M5,20L1.5,16.5L2.91,15.09L5,17.17L9.59,12.59L11,14L5,20Z\";\r\nexport var mdiFormatListGroup = \"M5 5V19H7V21H3V3H7V5H5M20 7H7V9H20V7M20 11H7V13H20V11M20 15H7V17H20V15Z\";\r\nexport var mdiFormatListGroupPlus = \"M17 14V17H14V19H17V22H19V19H22V17H19V14M20 11V12.3C19.4 12.1 18.7 12 18 12C16.8 12 15.6 12.4 14.7 13H7V11H20M12.1 17H7V15H12.8C12.5 15.6 12.2 16.3 12.1 17M7 7H20V9H7V7M5 19H7V21H3V3H7V5H5V19Z\";\r\nexport var mdiFormatListNumbered = \"M7,13V11H21V13H7M7,19V17H21V19H7M7,7V5H21V7H7M3,8V5H2V4H4V8H3M2,17V16H5V20H2V19H4V18.5H3V17.5H4V17H2M4.25,10A0.75,0.75 0 0,1 5,10.75C5,10.95 4.92,11.14 4.79,11.27L3.12,13H5V14H2V13.08L4,11H2V10H4.25Z\";\r\nexport var mdiFormatListNumberedRtl = \"M3,13V11H17V13H3M3,19V17H17V19H3M3,7V5H17V7H3M20,8V5H19V4H21V8H20M19,17V16H22V20H19V19H21V18.5H20V17.5H21V17H19M21.25,10C21.67,10 22,10.34 22,10.75C22,10.95 21.92,11.14 21.79,11.27L20.12,13H22V14H19V13.08L21,11H19V10H21.25Z\";\r\nexport var mdiFormatListText = \"M2 14H8V20H2M16 8H10V10H16M2 10H8V4H2M10 4V6H22V4M10 20H16V18H10M10 16H22V14H10\";\r\nexport var mdiFormatOverline = \"M5,5H19V3H5V5M9.62,16L12,9.67L14.37,16M11,7L5.5,21H7.75L8.87,18H15.12L16.25,21H18.5L13,7H11Z\";\r\nexport var mdiFormatPageBreak = \"M18,20H6V18H4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V18H18V20M14,2H6A2,2 0 0,0 4,4V12H6V4H14V8H18V12H20V8L14,2M11,16H8V14H11V16M16,16H13V14H16V16M3,14H6V16H3V14M21,16H18V14H21V16Z\";\r\nexport var mdiFormatPageSplit = \"M11 11V7H13V11H11M13 1V5H11V1H13M11 17V13H13V17H11M9 20H6V4H9V2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H9V20M15 3V8H18V20H15V22H18C19.11 22 20 21.11 20 20V8L15 3M13 19H11V23H13V19Z\";\r\nexport var mdiFormatPaint = \"M18,4V3A1,1 0 0,0 17,2H5A1,1 0 0,0 4,3V7A1,1 0 0,0 5,8H17A1,1 0 0,0 18,7V6H19V10H9V21A1,1 0 0,0 10,22H12A1,1 0 0,0 13,21V12H21V4H18Z\";\r\nexport var mdiFormatParagraph = \"M13,4A4,4 0 0,1 17,8A4,4 0 0,1 13,12H11V18H9V4H13M13,10A2,2 0 0,0 15,8A2,2 0 0,0 13,6H11V10H13Z\";\r\nexport var mdiFormatParagraphSpacing = \"M3 17H21V19H3V17M3 2H21V4H3V2M3 20H21V22H3V20M13 8H15L12 5L9 8H11V13H9L12 16L15 13H13V8Z\";\r\nexport var mdiFormatPilcrow = \"M10,11A4,4 0 0,1 6,7A4,4 0 0,1 10,3H18V5H16V21H14V5H12V21H10V11Z\";\r\nexport var mdiFormatPilcrowArrowLeft = \"M8,17V14L4,18L8,22V19H20V17M10,10V15H12V4H14V15H16V4H18V2H10A4,4 0 0,0 6,6A4,4 0 0,0 10,10Z\";\r\nexport var mdiFormatPilcrowArrowRight = \"M21,18L17,14V17H5V19H17V22M9,10V15H11V4H13V15H15V4H17V2H9A4,4 0 0,0 5,6A4,4 0 0,0 9,10Z\";\r\nexport var mdiFormatQuoteClose = \"M14,17H17L19,13V7H13V13H16M6,17H9L11,13V7H5V13H8L6,17Z\";\r\nexport var mdiFormatQuoteCloseOutline = \"M13 6V14H14.88L12.88 18H18.62L21 13.24V6M15 8H19V12.76L17.38 16H16.12L18.12 12H15M3 6V14H4.88L2.88 18H8.62L11 13.24V6M5 8H9V12.76L7.38 16H6.12L8.12 12H5Z\";\r\nexport var mdiFormatQuoteOpen = \"M10,7L8,11H11V17H5V11L7,7H10M18,7L16,11H19V17H13V11L15,7H18Z\";\r\nexport var mdiFormatQuoteOpenOutline = \"M11 18V10H9.12L11.12 6H5.38L3 10.76V18M9 16H5V11.24L6.62 8H7.88L5.88 12H9M21 18V10H19.12L21.12 6H15.38L13 10.76V18M19 16H15V11.24L16.62 8H17.88L15.88 12H19Z\";\r\nexport var mdiFormatRotate90 = \"M7.34,6.41L0.86,12.9L7.35,19.38L13.84,12.9L7.34,6.41M3.69,12.9L7.35,9.24L11,12.9L7.34,16.56L3.69,12.9M19.36,6.64C17.61,4.88 15.3,4 13,4V0.76L8.76,5L13,9.24V6C14.79,6 16.58,6.68 17.95,8.05C20.68,10.78 20.68,15.22 17.95,17.95C16.58,19.32 14.79,20 13,20C12.03,20 11.06,19.79 10.16,19.39L8.67,20.88C10,21.62 11.5,22 13,22C15.3,22 17.61,21.12 19.36,19.36C22.88,15.85 22.88,10.15 19.36,6.64Z\";\r\nexport var mdiFormatSection = \"M15.67,4.42C14.7,3.84 13.58,3.54 12.45,3.56C10.87,3.56 9.66,4.34 9.66,5.56C9.66,6.96 11,7.47 13,8.14C15.5,8.95 17.4,9.97 17.4,12.38C17.36,13.69 16.69,14.89 15.6,15.61C16.25,16.22 16.61,17.08 16.6,17.97C16.6,20.79 14,21.97 11.5,21.97C10.04,22.03 8.59,21.64 7.35,20.87L8,19.34C9.04,20.05 10.27,20.43 11.53,20.44C13.25,20.44 14.53,19.66 14.53,18.24C14.53,17 13.75,16.31 11.25,15.45C8.5,14.5 6.6,13.5 6.6,11.21C6.67,9.89 7.43,8.69 8.6,8.07C7.97,7.5 7.61,6.67 7.6,5.81C7.6,3.45 9.77,2 12.53,2C13.82,2 15.09,2.29 16.23,2.89L15.67,4.42M11.35,13.42C12.41,13.75 13.44,14.18 14.41,14.71C15.06,14.22 15.43,13.45 15.41,12.64C15.41,11.64 14.77,10.76 13,10.14C11.89,9.77 10.78,9.31 9.72,8.77C8.97,9.22 8.5,10.03 8.5,10.91C8.5,11.88 9.23,12.68 11.35,13.42Z\";\r\nexport var mdiFormatSize = \"M2 4V7H7V19H10V7H15V4H2M21 9H12V12H15V19H18V12H21V9Z\";\r\nexport var mdiFormatStrikethrough = \"M3,14H21V12H3M5,4V7H10V10H14V7H19V4M10,19H14V16H10V19Z\";\r\nexport var mdiFormatStrikethroughVariant = \"M7.2 9.8C6 7.5 7.7 4.8 10.1 4.3C13.2 3.3 17.7 4.7 17.6 8.5H14.6C14.6 8.2 14.5 7.9 14.5 7.7C14.3 7.1 13.9 6.8 13.3 6.6C12.5 6.3 11.2 6.4 10.5 6.9C9 8.2 10.4 9.5 12 10H7.4C7.3 9.9 7.3 9.8 7.2 9.8M21 13V11H3V13H12.6C12.8 13.1 13 13.1 13.2 13.2C13.8 13.5 14.3 13.7 14.5 14.3C14.6 14.7 14.7 15.2 14.5 15.6C14.3 16.1 13.9 16.3 13.4 16.5C11.6 17 9.4 16.3 9.5 14.1H6.5C6.4 16.7 8.6 18.5 11 18.8C14.8 19.6 19.3 17.2 17.3 12.9L21 13Z\";\r\nexport var mdiFormatSubscript = \"M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,21.03H16.97V20.03L17.86,19.23C18.62,18.58 19.18,18.04 19.56,17.6C19.93,17.16 20.12,16.75 20.13,16.36C20.14,16.08 20.05,15.85 19.86,15.66C19.68,15.5 19.39,15.38 19,15.38C18.69,15.38 18.42,15.44 18.16,15.56L17.5,15.94L17.05,14.77C17.32,14.56 17.64,14.38 18.03,14.24C18.42,14.1 18.85,14 19.32,14C20.1,14.04 20.7,14.25 21.1,14.66C21.5,15.07 21.72,15.59 21.72,16.23C21.71,16.79 21.53,17.31 21.18,17.78C20.84,18.25 20.42,18.7 19.91,19.14L19.27,19.66V19.68H21.85V21.03Z\";\r\nexport var mdiFormatSuperscript = \"M16,7.41L11.41,12L16,16.59L14.59,18L10,13.41L5.41,18L4,16.59L8.59,12L4,7.41L5.41,6L10,10.59L14.59,6L16,7.41M21.85,9H16.97V8L17.86,7.18C18.62,6.54 19.18,6 19.56,5.55C19.93,5.11 20.12,4.7 20.13,4.32C20.14,4.04 20.05,3.8 19.86,3.62C19.68,3.43 19.39,3.34 19,3.33C18.69,3.34 18.42,3.4 18.16,3.5L17.5,3.89L17.05,2.72C17.32,2.5 17.64,2.33 18.03,2.19C18.42,2.05 18.85,2 19.32,2C20.1,2 20.7,2.2 21.1,2.61C21.5,3 21.72,3.54 21.72,4.18C21.71,4.74 21.53,5.26 21.18,5.73C20.84,6.21 20.42,6.66 19.91,7.09L19.27,7.61V7.63H21.85V9Z\";\r\nexport var mdiFormatText = \"M18.5,4L19.66,8.35L18.7,8.61C18.25,7.74 17.79,6.87 17.26,6.43C16.73,6 16.11,6 15.5,6H13V16.5C13,17 13,17.5 13.33,17.75C13.67,18 14.33,18 15,18V19H9V18C9.67,18 10.33,18 10.67,17.75C11,17.5 11,17 11,16.5V6H8.5C7.89,6 7.27,6 6.74,6.43C6.21,6.87 5.75,7.74 5.3,8.61L4.34,8.35L5.5,4H18.5Z\";\r\nexport var mdiFormatTextRotationAngleDown = \"M14.25 21H10.03L11.44 19.59L2.58 10.73L4.03 9.33L12.84 18.19L14.25 16.78M12.61 8L15.23 10.64L17.43 5.77M19.41 4.92L14.95 16.03L13.5 14.58L14.39 12.38L10.88 8.81L8.68 9.75L7.22 8.25L18.33 3.84Z\";\r\nexport var mdiFormatTextRotationAngleUp = \"M20.58 9.33V13.55L19.17 12.14L10.31 21L8.91 19.59L17.72 10.73L16.31 9.33M7.59 11L10.22 8.39L5.34 6.14M4.5 4.22L15.61 8.63L14.16 10.13L11.96 9.19L8.39 12.75L9.33 14.91L7.83 16.41L3.42 5.25Z\";\r\nexport var mdiFormatTextRotationDown = \"M6,19.73L3,16.73H5V4.27H7V16.73H9L6,19.73M14,9.38V13.13L19.03,11.25L14,9.38M21,12L10,16.73V14.67L12.19,13.73V8.77L10,7.83V5.77L21,10.5V12Z\";\r\nexport var mdiFormatTextRotationDownVertical = \"M15.25 4H13.75L9 15H11.1L12 12.8H17L17.9 15H20L15.25 4M12.63 11L14.5 6L16.37 11H12.63M5 17.5L8 14.5H6V2H4V14.5H2L5 17.5M22 20L19 17V19H6.5V21H19V23L22 20Z\";\r\nexport var mdiFormatTextRotationNone = \"M20.5,18L17.5,21V19H5V17H17.5V15L20.5,18M10.13,10H13.88L12,4.97L10.13,10M12.75,3L17.5,14H15.42L14.5,11.81H9.5L8.58,14H6.5L11.25,3H12.75Z\";\r\nexport var mdiFormatTextRotationUp = \"M3 12V13.5L14 18.25V16.15L11.8 15.25V10.25L14 9.35V7.25L3 12M10 14.62L5 12.75L10 10.88V14.62M18 4.25L15 7.25H17V19.75H19V7.25H21L18 4.25Z\";\r\nexport var mdiFormatTextRotationVertical = \"M15.75 5H14.25L9.5 16H11.6L12.5 13.8H17.5L18.4 16H20.5L15.75 5M13.13 12L15 7L16.87 12H13.13M6 19.75L9 16.75H7V4.25H5V16.75H3L6 19.75Z\";\r\nexport var mdiFormatTextVariant = \"M9.6,14L12,7.7L14.4,14M11,5L5.5,19H7.7L8.8,16H15L16.1,19H18.3L13,5H11Z\";\r\nexport var mdiFormatTextVariantOutline = \"M11 3C10.18 3 9.44 3.5 9.14 4.27L3.64 18.27C3.12 19.58 4.09 21 5.5 21H7.75C8.59 21 9.33 20.5 9.62 19.7L10.26 18H13.74L14.38 19.7C14.67 20.5 15.42 21 16.25 21H18.5C19.91 21 20.88 19.58 20.36 18.27L14.86 4.27C14.56 3.5 13.82 3 13 3M11 5H13L18.5 19H16.25L15.12 16H8.87L7.75 19H5.5M12 7.67L9.62 14H14.37Z\";\r\nexport var mdiFormatTextWrappingClip = \"M7,21H5V3H7V21M17,3V11H9V13H17V21H19V3H17Z\";\r\nexport var mdiFormatTextWrappingOverflow = \"M7,21H5V3H7V21M14,3H12V9H14V3M14,15H12V21H14V15M19,12L16,9V11H9V13H16V15L19,12Z\";\r\nexport var mdiFormatTextWrappingWrap = \"M7,21H5V3H7V21M19,3H17V21H19V3M13,8H9V10H12.97C13.14,10 14,10.16 14,12C14,13.84 13.14,14 13,14H11V12L8,15L11,18V16H13C14.04,16 16,15.16 16,12C16,8.84 14.04,8 13,8Z\";\r\nexport var mdiFormatTextbox = \"M21,7V3H17V4H7V3H3V7H4V17H3V21H7V20H17V21H21V17H20V7H21M18,4H20V6H18V4M4,4H6V6H4V4M6,20H4V18H6V20M20,20H18V18H20V20M18,17H17V18H7V17H6V7H7V6H17V7H18V17M16,8V10H13V16H11V10H8V8H16Z\";\r\nexport var mdiFormatTitle = \"M5,4V7H10.5V19H13.5V7H19V4H5Z\";\r\nexport var mdiFormatUnderline = \"M5,21H19V19H5V21M12,17A6,6 0 0,0 18,11V3H15.5V11A3.5,3.5 0 0,1 12,14.5A3.5,3.5 0 0,1 8.5,11V3H6V11A6,6 0 0,0 12,17Z\";\r\nexport var mdiFormatUnderlineWavy = \"M12 17C15.31 17 18 14.31 18 11V3H15.5V11C15.5 12.93 13.93 14.5 12 14.5S8.5 12.93 8.5 11V3H6V11C6 14.31 8.69 17 12 17M20 22C18.6 22 17.8 21.3 17.3 20.7C16.8 20.2 16.6 20 16 20S15.2 20.2 14.7 20.7C14.2 21.3 13.4 22 12 22S9.8 21.3 9.3 20.7C8.8 20.2 8.6 20 8 20S7.2 20.2 6.7 20.7C6.2 21.3 5.4 22 4 22V20C4.6 20 4.8 19.8 5.3 19.3C5.8 18.7 6.6 18 8 18S10.2 18.7 10.7 19.3C11.2 19.8 11.4 20 12 20S12.8 19.8 13.3 19.3C13.8 18.7 14.6 18 16 18S18.2 18.7 18.7 19.3C19.2 19.8 19.4 20 20 20V22Z\";\r\nexport var mdiFormatVerticalAlignBottom = \"M16,13H13V3H11V13H8L12,17L16,13M4,19V21H20V19H4Z\";\r\nexport var mdiFormatVerticalAlignCenter = \"M8,19H11V23H13V19H16L12,15L8,19M16,5H13V1H11V5H8L12,9L16,5M4,11V13H20V11H4Z\";\r\nexport var mdiFormatVerticalAlignTop = \"M8,11H11V21H13V11H16L12,7L8,11M4,3V5H20V3H4Z\";\r\nexport var mdiFormatWrapInline = \"M8,7L13,17H3L8,7M3,3H21V5H3V3M21,15V17H14V15H21M3,19H21V21H3V19Z\";\r\nexport var mdiFormatWrapSquare = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,7H6V9H3V7M21,7V9H18V7H21M3,11H6V13H3V11M21,11V13H18V11H21M3,15H6V17H3V15M21,15V17H18V15H21M3,19H21V21H3V19Z\";\r\nexport var mdiFormatWrapTight = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,7H9V9H3V7M21,7V9H15V7H21M3,11H7V13H3V11M21,11V13H17V11H21M3,15H6V17H3V15M21,15V17H18V15H21M3,19H21V21H3V19Z\";\r\nexport var mdiFormatWrapTopBottom = \"M12,7L17,17H7L12,7M3,3H21V5H3V3M3,19H21V21H3V19Z\";\r\nexport var mdiForum = \"M17,12V3A1,1 0 0,0 16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\";\r\nexport var mdiForumMinus = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M22 17V19H14V17H22Z\";\r\nexport var mdiForumMinusOutline = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M15 11H5.2L4 12.2V4H15V11M22 17V19H14V17H22Z\";\r\nexport var mdiForumOutline = \"M15,4V11H5.17L4,12.17V4H15M16,2H3A1,1 0 0,0 2,3V17L6,13H16A1,1 0 0,0 17,12V3A1,1 0 0,0 16,2M21,6H19V15H6V17A1,1 0 0,0 7,18H18L22,22V7A1,1 0 0,0 21,6Z\";\r\nexport var mdiForumPlus = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M17 14H19V17H22V19H19V22H17V19H14V17H17V14Z\";\r\nexport var mdiForumPlusOutline = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M15 11H5.2L4 12.2V4H15V11M17 14H19V17H22V19H19V22H17V19H14V17H17V14Z\";\r\nexport var mdiForumRemove = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46Z\";\r\nexport var mdiForumRemoveOutline = \"M21 6H19V12.1C20.2 12.3 21.2 12.8 22 13.5V7C22 6.5 21.5 6 21 6M6 17C6 17.5 6.5 18 7 18H12C12 16.9 12.3 15.9 12.8 15H6V17M16 2H3C2.5 2 2 2.5 2 3V17L6 13H14.7C15.4 12.5 16.2 12.2 17 12.1V3C17 2.5 16.5 2 16 2M15 11H5.2L4 12.2V4H15V11M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46Z\";\r\nexport var mdiForward = \"M12,8V4L20,12L12,20V16H4V8H12Z\";\r\nexport var mdiForwardburger = \"M19,13H3V11H19L15,7L16.4,5.6L22.8,12L16.4,18.4L15,17L19,13M3,6H13V8H3V6M13,16V18H3V16H13Z\";\r\nexport var mdiFountain = \"M7.5,2C4.47,2 2,4.46 2,7.5V7.5L2,8H4V7.5A3.5,3.5 0 0,1 7.5,4C9,4 10.26,4.93 10.76,6.24C10.37,6.08 9.95,6 9.5,6C8.11,6 6.9,6.82 6.34,8L8.08,9C8.29,8.42 8.85,8 9.5,8A1.5,1.5 0 0,1 11,9.5V11H13V9.5A1.5,1.5 0 0,1 14.5,8C15.16,8 15.71,8.42 15.92,9L17.66,8C17.1,6.82 15.9,6 14.5,6C14.05,6 13.63,6.08 13.24,6.24C13.74,4.93 15,4 16.5,4A3.5,3.5 0 0,1 20,7.5V8H22V7.5H22A5.5,5.5 0 0,0 16.5,2C14.64,2 13,2.93 12,4.34C11,2.93 9.36,2 7.5,2M6,12V14H7.42C7.92,15.15 8.85,16.07 10,16.57C10,17.38 10,18.19 10,19H2C2,19 2.82,20.23 3.41,21.11C3.78,21.67 4.4,22 5.07,22H18.93C19.6,22 20.22,21.67 20.59,21.11L22,19H14C14,18.19 14,17.38 14,16.57C15.15,16.07 16.08,15.15 16.58,14H18V12H6Z\";\r\nexport var mdiFountainPen = \"M6.95,14.93L11.19,9.27L19.68,2.2C20.07,1.81 20.72,1.81 21.09,2.2L21.8,2.91C22.19,3.28 22.19,3.93 21.8,4.32L14.73,12.81L9.07,17.05L6.95,14.93M8.36,17.76L6.24,15.64L3.41,17.05L2,21.29L4.12,19.17C4.32,19 4.63,19 4.83,19.17C5,19.37 5,19.68 4.83,19.88L2.71,22L6.95,20.59L8.36,17.76Z\";\r\nexport var mdiFountainPenTip = \"M15.54,3.5L20.5,8.47L19.07,9.88L14.12,4.93L15.54,3.5M3.5,19.78L10,13.31C9.9,13 9.97,12.61 10.23,12.35C10.62,11.96 11.26,11.96 11.65,12.35C12.04,12.75 12.04,13.38 11.65,13.77C11.39,14.03 11,14.1 10.69,14L4.22,20.5L14.83,16.95L18.36,10.59L13.42,5.64L7.05,9.17L3.5,19.78Z\";\r\nexport var mdiFractionOneHalf = \"M5.79 21.61L4.21 20.39L18.21 2.39L19.79 3.61L5.79 21.61M4 2V4H6V12H8V2H4M15 12V14H19V16H17C15.9 16 15 16.9 15 18V22H21V20H17V18H19C20.11 18 21 17.11 21 16V14C21 12.9 20.11 12 19 12H15Z\";\r\nexport var mdiFreebsd = \"M2.69,2C3.54,1.95 6.08,3.16 6.13,3.19C4.84,4 3.74,5.09 2.91,6.38C2.09,4.81 1.34,2.91 2,2.25C2.17,2.08 2.4,2 2.69,2M20.84,2.13C21.25,2.08 21.58,2.14 21.78,2.34C22.85,3.42 19.88,8.15 19.38,8.66C18.87,9.16 17.57,8.7 16.5,7.63C15.43,6.55 14.97,5.26 15.47,4.75C15.88,4.34 19.09,2.3 20.84,2.13M12,2.56C13.29,2.56 14.53,2.82 15.66,3.28C15.17,3.6 14.81,3.85 14.69,3.97C13.7,4.96 14.14,6.83 15.72,8.41C16.7,9.38 17.84,9.97 18.78,9.97C19.46,9.97 19.92,9.68 20.16,9.44C20.33,9.27 20.6,8.88 20.91,8.41C21.42,9.59 21.69,10.88 21.69,12.25C21.69,17.61 17.36,21.97 12,21.97C6.64,21.97 2.31,17.61 2.31,12.25C2.31,6.89 6.64,2.56 12,2.56Z\";\r\nexport var mdiFrenchFries = \"M18 11V6H15V4H12V2H8V5H6V11H5L7 22H17L19 11H18M15.86 11C15.7 11.61 15.4 12.16 15 12.62V8.62L17 9.62V11H15.86M17 7V8.5L15 7.5V7H17M12 5H14V8.5L12 9.5V5M12 10.62L14 9.62V13.45C13.41 13.8 12.73 14 12 14V10.62M11 13.86C10.21 13.65 9.5 13.22 9 12.62V9.62L11 8.62V13.86M9 3H11V7.5L10 8V5H9V3M7 6H9V8.5L8 9V11H7V6Z\";\r\nexport var mdiFrequentlyAskedQuestions = \"M18,15H6L2,19V3A1,1 0 0,1 3,2H18A1,1 0 0,1 19,3V14A1,1 0 0,1 18,15M23,9V23L19,19H8A1,1 0 0,1 7,18V17H21V8H22A1,1 0 0,1 23,9M8.19,4C7.32,4 6.62,4.2 6.08,4.59C5.56,5 5.3,5.57 5.31,6.36L5.32,6.39H7.25C7.26,6.09 7.35,5.86 7.53,5.7C7.71,5.55 7.93,5.47 8.19,5.47C8.5,5.47 8.76,5.57 8.94,5.75C9.12,5.94 9.2,6.2 9.2,6.5C9.2,6.82 9.13,7.09 8.97,7.32C8.83,7.55 8.62,7.75 8.36,7.91C7.85,8.25 7.5,8.55 7.31,8.82C7.11,9.08 7,9.5 7,10H9C9,9.69 9.04,9.44 9.13,9.26C9.22,9.08 9.39,8.9 9.64,8.74C10.09,8.5 10.46,8.21 10.75,7.81C11.04,7.41 11.19,7 11.19,6.5C11.19,5.74 10.92,5.13 10.38,4.68C9.85,4.23 9.12,4 8.19,4M7,11V13H9V11H7M13,13H15V11H13V13M13,4V10H15V4H13Z\";\r\nexport var mdiFridge = \"M7,2H17A2,2 0 0,1 19,4V9H5V4A2,2 0 0,1 7,2M19,19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V10H19V19M8,5V7H10V5H8M8,12V15H10V12H8Z\";\r\nexport var mdiFridgeAlert = \"M5 2H15C16.11 2 17 2.9 17 4V9H3V4C3 2.9 3.9 2 5 2M17 19C17 20.11 16.11 21 15 21V22H13V21H7V22H5V21C3.9 21 3 20.11 3 19V10H17V19M6 5V7H8V5H6M6 12V15H8V12H6M19 15H21V17H19V15M19 7H21V13H19V7Z\";\r\nexport var mdiFridgeAlertOutline = \"M7 21V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2H15C16.11 2 17 2.9 17 4V19C17 20.11 16.11 21 15 21V22H13V21H7M5 4V9H15V4H5M5 19H15V11H5V19M6 12H8V15H6V12M6 6H8V8H6V6M19 15H21V17H19V15M19 7H21V13H19V7Z\";\r\nexport var mdiFridgeBottom = \"M7,2A2,2 0 0,0 5,4V19A2,2 0 0,0 7,21V22H9V21H15V22H17V21A2,2 0 0,0 19,19V4A2,2 0 0,0 17,2H7M8,6H10V8H8V6M7,11H17V19H7V11M8,12V15H10V12H8Z\";\r\nexport var mdiFridgeIndustrial = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M10 15H8V10H10V15Z\";\r\nexport var mdiFridgeIndustrialAlert = \"M15 2H5C3.9 2 3 2.9 3 4V19C3 20.11 3.9 21 5 21V22H7V21H13V22H15V21C16.11 21 17 20.11 17 19V4C17 2.9 16.11 2 15 2M8 15H6V10H8V15M21 7V13H19V7H21M19 15H21V17H19V15Z\";\r\nexport var mdiFridgeIndustrialAlertOutline = \"M8 15H6V10H8V15M17 4V19C17 20.11 16.11 21 15 21V22H13V21H7V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2H15C16.11 2 17 2.9 17 4M15 4H5V19H15V4M19 17H21V15H19V17M19 7V13H21V7H19Z\";\r\nexport var mdiFridgeIndustrialOff = \"M19 15.8L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M10 11.89L8.11 10H8V15H10V11.89Z\";\r\nexport var mdiFridgeIndustrialOffOutline = \"M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V4H7.2M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M17 18.89L10 11.89V15H8V10H8.11L7 8.89V19H17V18.89Z\";\r\nexport var mdiFridgeIndustrialOutline = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M17 19H7V4H17V19M10 15H8V10H10V15Z\";\r\nexport var mdiFridgeOff = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V9H7.11L8.11 10H5V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46M10 15H8V12H10V15M19 15.8L13.2 10H19V15.8M8.2 5L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V9H12.2L10 6.8V5H8.2Z\";\r\nexport var mdiFridgeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5 6.89V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46M17 19H7V11H9.11L17 18.89V19M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V11H14.2L12.2 9H17V4H7.2M8 12H10V15H8V12Z\";\r\nexport var mdiFridgeOutline = \"M9,21V22H7V21A2,2 0 0,1 5,19V4A2,2 0 0,1 7,2H17A2,2 0 0,1 19,4V19A2,2 0 0,1 17,21V22H15V21H9M7,4V9H17V4H7M7,19H17V11H7V19M8,12H10V15H8V12M8,6H10V8H8V6Z\";\r\nexport var mdiFridgeTop = \"M8,8V6H10V8H8M7,2H17A2,2 0 0,1 19,4V19A2,2 0 0,1 17,21V22H15V21H9V22H7V21A2,2 0 0,1 5,19V4A2,2 0 0,1 7,2M7,4V9H17V4H7M8,12V15H10V12H8Z\";\r\nexport var mdiFridgeVariant = \"M19 4V19C19 20.11 18.11 21 17 21V22H15V21H12.5V2H17C18.11 2 19 2.9 19 4M7 2H11.5V21H9V22H7V21C5.9 21 5 20.11 5 19V4C5 2.9 5.9 2 7 2M10 10H7V14H10V10Z\";\r\nexport var mdiFridgeVariantAlert = \"M17 4V19C17 20.11 16.11 21 15 21V22H13V21H10.5V2H15C16.11 2 17 2.9 17 4M5 2H9.5V21H7V22H5V21C3.9 21 3 20.11 3 19V4C3 2.9 3.9 2 5 2M8 10H5V14H8V10M19 7V13H21V7H19M19 17H21V15H19V17Z\";\r\nexport var mdiFridgeVariantAlertOutline = \"M15 2H5C3.9 2 3 2.9 3 4V19C3 20.11 3.9 21 5 21V22H7V21H13V22H15V21C16.11 21 17 20.11 17 19V4C17 2.9 16.11 2 15 2M9 19H5V14H8V10H5V4H9V19M15 19H11V4H15V19M19 15H21V17H19V15M21 7V13H19V7H21Z\";\r\nexport var mdiFridgeVariantOff = \"M2.39 1.73L1.11 3L5 6.89V19C5 20.11 5.9 21 7 21V22H9V21H11.5V13.39L12.5 14.39V21H15V22H17V21C17.58 21 18.1 20.75 18.46 20.35L20.84 22.73L22.11 21.46L2.39 1.73M10 14H7V10H8.11L10 11.89V14M19 15.8L12.5 9.3V2H17C18.11 2 19 2.9 19 4V15.8M11.5 8.3L5.7 2.5C6.05 2.19 6.5 2 7 2H11.5V8.3Z\";\r\nexport var mdiFridgeVariantOffOutline = \"M7.2 4L5.7 2.5C6.05 2.19 6.5 2 7 2H17C18.11 2 19 2.9 19 4V15.8L17 13.8V4H13V9.8L11 7.8V4H7.2M22.11 21.46L20.84 22.73L18.46 20.35C18.1 20.75 17.58 21 17 21V22H15V21H9V22H7V21C5.9 21 5 20.11 5 19V6.89L1.11 3L2.39 1.73L22.11 21.46M7 10H8.11L7 8.89V10M11 12.89L10 11.89V14H7V19H11V12.89M17 18.89L13 14.89V19H17V18.89Z\";\r\nexport var mdiFridgeVariantOutline = \"M17 2H7C5.9 2 5 2.9 5 4V19C5 20.11 5.9 21 7 21V22H9V21H15V22H17V21C18.11 21 19 20.11 19 19V4C19 2.9 18.11 2 17 2M7 19V14H10V10H7V4H11V19H7M17 19H13V4H17V19Z\";\r\nexport var mdiFruitCherries = \"M16 13H15.5C14.8 11.7 14.3 10 13.8 8.3L14.7 9.2C17.4 11.3 19.8 10.9 19.8 10.9S20.5 7.1 17.8 5.1C15.5 3.3 13.4 3.3 12.8 3.4C12.7 2.8 12.7 2.3 12.6 1.9L11.2 2C11.2 5.2 8.5 11.1 7.6 13C5.6 13.2 4 14.9 4 17C4 19.2 5.8 21 8 21C9.1 21 10 20.6 10.7 19.9C10.3 19 10 18 10 17S10.3 15 10.7 14.1C10.3 13.7 9.7 13.4 9.2 13.2C9.9 11.7 11.1 9 11.9 6.4C12.3 8.7 13.1 11.4 14.1 13.5C12.9 14.2 12 15.5 12 17C12 19.2 13.8 21 16 21S20 19.2 20 17 18.2 13 16 13M8 15.5C7.2 15.5 6.5 16.2 6.5 17H5.5C5.5 15.6 6.6 14.5 8 14.5V15.5M16 15.5C15.2 15.5 14.5 16.2 14.5 17H13.5C13.5 15.6 14.6 14.5 16 14.5V15.5Z\";\r\nexport var mdiFruitCherriesOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.7 10.6C8.3 11.6 7.9 12.5 7.6 13C5.6 13.2 4 14.9 4 17C4 19.2 5.8 21 8 21C9.1 21 10 20.6 10.7 19.9C10.3 19 10 18 10 17S10.3 15 10.7 14.1C10.3 13.7 9.7 13.4 9.2 13.2C9.4 12.8 9.6 12.3 9.9 11.7L12.8 14.6C12.3 15.3 12 16.1 12 17C12 19.2 13.8 21 16 21C16.9 21 17.7 20.7 18.3 20.2L20.8 22.7L22.1 21.5M8 15.5C7.2 15.5 6.5 16.2 6.5 17H5.5C5.5 15.6 6.6 14.5 8 14.5V15.5M14.5 17H13.5C13.5 16.5 13.6 16.1 13.8 15.7L14.6 16.5C14.5 16.7 14.5 16.8 14.5 17M20 16.8L16.2 13C18.2 13.1 19.9 14.8 20 16.8M11.3 8.1L10.1 6.9C10.7 5.1 11.2 3.3 11.2 2L12.6 1.9C12.7 2.3 12.7 2.8 12.8 3.4C13.4 3.3 15.5 3.3 17.8 5.1C20.5 7.1 19.8 10.9 19.8 10.9S17.4 11.3 14.7 9.2L13.8 8.3C14.1 9.5 14.5 10.7 14.9 11.7L12.6 9.4C12.3 8.4 12.1 7.4 11.9 6.4C11.7 7 11.5 7.6 11.3 8.1Z\";\r\nexport var mdiFruitCitrus = \"M9 15.9C6.9 15.7 5.1 14.9 4 13.6C3.2 13.6 2.4 13.1 2.1 12.3C1.8 11.5 2.1 10.7 2.8 10.2C2.9 7.2 5.6 4.1 9.7 2.7C13.8 1.3 18 2.1 20 4.4C20.8 4.4 21.6 4.9 21.9 5.7C22.2 6.5 21.9 7.3 21.2 7.8C21.2 8.6 21 9.4 20.6 10.2C19.4 9.5 18 9 16.5 9C12.6 9 9.3 12 9 15.9M22 16.5C22 19.5 19.5 22 16.5 22S11 19.5 11 16.5 13.5 11 16.5 11 22 13.5 22 16.5M13.3 18L15.6 16.5L13.3 15C13.1 15.5 13 16 13 16.5S13.1 17.5 13.3 18M16 17.4L13.9 18.8C14.4 19.4 15.2 19.8 16 20V17.4M16 13.1C15.2 13.2 14.4 13.6 13.9 14.3L16 15.7V13.1M17 15.6L19.1 14.2C18.6 13.6 17.8 13.2 17 13V15.6M19.1 18.8L17 17.4V19.9C17.8 19.8 18.6 19.4 19.1 18.8M20 16.5C20 16 19.9 15.5 19.7 15L17.4 16.5L19.7 18C19.9 17.5 20 17 20 16.5Z\";\r\nexport var mdiFruitCitrusOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.4 6.3C3.4 7.5 2.9 8.9 2.8 10.2C2.1 10.7 1.8 11.5 2.1 12.3C2.4 13.1 3.2 13.6 4 13.6C5.1 14.9 6.9 15.7 9 15.9C9.1 14.5 9.6 13.3 10.3 12.2L11.8 13.7C11.3 14.5 11 15.5 11 16.5C11 19.5 13.5 22 16.5 22C17.5 22 18.5 21.7 19.3 21.2L20.8 22.7L22.1 21.5M13 16.5C13 16 13.1 15.6 13.3 15.1L15 16.8L13.3 18C13.1 17.5 13 17 13 16.5M13.9 18.8L15.7 17.6L16 17.9V20C15.2 19.8 14.4 19.4 13.9 18.8M17 19.9V18.9L17.8 19.7C17.5 19.8 17.3 19.9 17 19.9M20 16.8V16.5C20 16 19.9 15.5 19.7 15L18.8 15.6L18.1 14.9L19.1 14.2C18.6 13.6 17.8 13.2 17 13V13.8L14.6 11.4C15.2 11.2 15.9 11 16.5 11C19.5 11 22 13.5 22 16.5C22 17.2 21.9 17.8 21.6 18.4L20 16.8M13 9.8L7.1 3.9C7.9 3.4 8.8 3 9.7 2.7C13.8 1.3 18 2.1 20 4.4C20.8 4.4 21.6 4.9 21.9 5.7C22.2 6.5 21.9 7.3 21.2 7.8C21.2 8.6 21 9.4 20.6 10.2C19.4 9.5 18 9 16.5 9C15.3 9 14.1 9.3 13 9.8Z\";\r\nexport var mdiFruitGrapes = \"M14 12C14 13.1 13.1 14 12 14S10 13.1 10 12 10.9 10 12 10 14 10.9 14 12M7 10C5.9 10 5 10.9 5 12S5.9 14 7 14 9 13.1 9 12 8.1 10 7 10M17 10C15.9 10 15 10.9 15 12S15.9 14 17 14 19 13.1 19 12 18.1 10 17 10M14.5 6C13.4 6 12.5 6.9 12.5 8S13.4 10 14.5 10 16.5 9.1 16.5 8 15.6 6 14.5 6M9.5 6C8.4 6 7.5 6.9 7.5 8S8.4 10 9.5 10 11.5 9.1 11.5 8 10.6 6 9.5 6M14.5 14C13.4 14 12.5 14.9 12.5 16S13.4 18 14.5 18 16.5 17.1 16.5 16 15.6 14 14.5 14M9.5 14C8.4 14 7.5 14.9 7.5 16S8.4 18 9.5 18 11.5 17.1 11.5 16 10.6 14 9.5 14M12 18C10.9 18 10 18.9 10 20S10.9 22 12 22 14 21.1 14 20 13.1 18 12 18M14.4 2.2L13.6 1C11.4 2 11.2 5.6 11.2 6H12.7C12.8 5.2 13.1 2.7 14.4 2.2Z\";\r\nexport var mdiFruitGrapesOutline = \"M19 12C19 10.61 18.05 9.47 16.78 9.12C16.92 8.78 17 8.4 17 8C17 6.34 15.66 5 14 5C13.57 5 13.17 5.1 12.81 5.26C13 4.19 13.39 2.59 14.4 2.2L13.6 1C11.9 1.77 11.4 4.09 11.26 5.29C10.87 5.11 10.45 5 10 5C8.34 5 7 6.34 7 8C7 8.4 7.08 8.77 7.22 9.12C5.94 9.46 5 10.62 5 12C5 13.39 5.95 14.54 7.23 14.88C7.09 15.22 7 15.6 7 16C7 17.39 7.94 18.54 9.22 18.88C9.08 19.23 9 19.61 9 20C9 21.66 10.34 23 12 23S15 21.66 15 20C15 19.61 14.92 19.23 14.78 18.88C16.06 18.54 17 17.39 17 16C17 15.6 16.92 15.23 16.77 14.88C18.05 14.54 19 13.39 19 12M16.31 9.88V9.9H16.3L16.31 9.88M14 6.5C14.83 6.5 15.5 7.17 15.5 8S14.83 9.5 14 9.5 12.5 8.83 12.5 8 13.17 6.5 14 6.5M13.5 12C13.5 12.83 12.83 13.5 12 13.5S10.5 12.83 10.5 12 11.17 10.5 12 10.5 13.5 11.17 13.5 12M10 6.5C10.83 6.5 11.5 7.17 11.5 8S10.83 9.5 10 9.5 8.5 8.83 8.5 8 9.17 6.5 10 6.5M6.5 12C6.5 11.17 7.17 10.5 8 10.5S9.5 11.17 9.5 12 8.83 13.5 8 13.5 6.5 12.83 6.5 12M8.5 16C8.5 15.17 9.17 14.5 10 14.5S11.5 15.17 11.5 16 10.83 17.5 10 17.5 8.5 16.83 8.5 16M12 21.5C11.17 21.5 10.5 20.83 10.5 20S11.17 18.5 12 18.5 13.5 19.17 13.5 20 12.83 21.5 12 21.5M14 17.5C13.17 17.5 12.5 16.83 12.5 16S13.17 14.5 14 14.5 15.5 15.17 15.5 16 14.83 17.5 14 17.5M16 13.5C15.17 13.5 14.5 12.83 14.5 12S15.17 10.5 16 10.5 17.5 11.17 17.5 12 16.83 13.5 16 13.5Z\";\r\nexport var mdiFruitPear = \"M18 16C18 19.31 15.31 22 12 22C8.69 22 6 19.31 6 16C6 13 8 13 8 10C8 8.56 8.75 7.22 10 6.5C10.4 6.27 10.82 6.12 11.25 6.04V5C11.25 4.63 11.17 4.42 11.03 4.28C10.9 4.14 10.63 4 10 4V2.5C10.88 2.5 11.6 2.73 12.09 3.22C12.58 3.71 12.75 4.38 12.75 5V6.04C13.18 6.12 13.61 6.27 14 6.5C15.25 7.22 16 8.56 16 10C16 13 18 13 18 16Z\";\r\nexport var mdiFruitPineapple = \"M14.4 7.7C16.4 6.4 19 7 19 7C17.2 4.6 15.1 4.7 13.6 5.2V5C14.7 3.4 16.9 3.5 16.9 3.5C15.3 2.1 13.9 2.5 13 3C12.5 1.8 12 1 12 1C11.6 1.7 11.3 2.4 11 3.1C10.1 2.5 8.6 2.1 7 3.5C7 3.5 9.3 3.5 10.4 5.2C8.9 4.7 6.8 4.6 5 7C5 7 7.6 6.4 9.6 7.7C7.5 8.9 6 11.7 6 15C6 19.4 8.7 23 12 23S18 19.4 18 15C18 11.7 16.5 8.9 14.4 7.7M15.8 16.8C15.7 17.2 15.6 17.6 15.4 18L14 16L12.5 18L14.1 20.1C13.8 20.3 13.6 20.5 13.3 20.7L12 19L10.7 20.7C10.4 20.6 10.1 20.4 9.9 20.1L11.5 18L10 16L8.5 17.9C8.4 17.5 8.2 17.1 8.1 16.7L9.5 15L8.2 13.2C8.3 12.8 8.4 12.4 8.6 12L10 14L11.5 12L9.9 9.9C10.2 9.7 10.4 9.5 10.7 9.3L12 11L13.3 9.3C13.6 9.4 13.9 9.6 14.1 9.9L12.5 12L14 14L15.5 12.1C15.6 12.5 15.8 12.9 15.9 13.3L14.5 15L15.8 16.8M12 13L13.5 15L12 17L10.5 15L12 13Z\";\r\nexport var mdiFruitWatermelon = \"M16.4 16.4C19.8 13 19.8 7.5 16.4 4.2L4.2 16.4C7.5 19.8 13 19.8 16.4 16.4M16 7C16.6 7 17 7.4 17 8C17 8.6 16.6 9 16 9S15 8.6 15 8C15 7.4 15.4 7 16 7M16 11C16.6 11 17 11.4 17 12C17 12.6 16.6 13 16 13S15 12.6 15 12C15 11.4 15.4 11 16 11M12 11C12.6 11 13 11.4 13 12C13 12.6 12.6 13 12 13S11 12.6 11 12C11 11.4 11.4 11 12 11M12 15C12.6 15 13 15.4 13 16C13 16.6 12.6 17 12 17S11 16.6 11 16C11 15.4 11.4 15 12 15M8 17C7.4 17 7 16.6 7 16C7 15.4 7.4 15 8 15S9 15.4 9 16C9 16.6 8.6 17 8 17M18.6 18.6C14 23.2 6.6 23.2 2 18.6L3.4 17.2C7.2 21 13.3 21 17.1 17.2C20.9 13.4 20.9 7.3 17.1 3.5L18.6 2C23.1 6.6 23.1 14 18.6 18.6Z\";\r\nexport var mdiFuel = \"M3,2H6C6.28,2 6.53,2.11 6.71,2.29L8.79,4.38L9.59,3.59C10,3.2 10.5,3 11,3H17C17.5,3 18,3.2 18.41,3.59L19.41,4.59C19.8,5 20,5.5 20,6V19A2,2 0 0,1 18,21H8A2,2 0 0,1 6,19V13L6,12V8C6,7.5 6.2,7 6.59,6.59L7.38,5.79L5.59,4H3V2M11,5V7H17V5H11M11.41,11L9.41,9H8V10.41L10,12.41V15.59L8,17.59V19H9.41L11.41,17H14.59L16.59,19H18V17.59L16,15.59V12.41L18,10.41V9H16.59L14.59,11H11.41M12,13H14V15H12V13Z\";\r\nexport var mdiFuelCell = \"M6 3V5H4C2.9 5 2 5.9 2 7V17C2 18.1 2.9 19 4 19V20C4 21.1 4.9 22 6 22H7C8.1 22 9 21.1 9 20V19H15V20C15 21.1 15.9 22 17 22H18C19.1 22 20 21.1 20 20V19C21.1 19 22 18.1 22 17H11V5H8V3H6M16 3V5H13V7H22C22 5.9 21.1 5 20 5H18V3H16M7 7V11H9L6 17V13H4L7 7M13 9V11H22V9H13M13 13V15H22V13H13Z\";\r\nexport var mdiFullscreen = \"M5,5H10V7H7V10H5V5M14,5H19V10H17V7H14V5M17,14H19V19H14V17H17V14M10,17V19H5V14H7V17H10Z\";\r\nexport var mdiFullscreenExit = \"M14,14H19V16H16V19H14V14M5,14H10V19H8V16H5V14M8,5H10V10H5V8H8V5M19,8V10H14V5H16V8H19Z\";\r\nexport var mdiFunction = \"M15.6,5.29C14.5,5.19 13.53,6 13.43,7.11L13.18,10H16V12H13L12.56,17.07C12.37,19.27 10.43,20.9 8.23,20.7C6.92,20.59 5.82,19.86 5.17,18.83L6.67,17.33C6.91,18.07 7.57,18.64 8.4,18.71C9.5,18.81 10.47,18 10.57,16.89L11,12H8V10H11.17L11.44,6.93C11.63,4.73 13.57,3.1 15.77,3.3C17.08,3.41 18.18,4.14 18.83,5.17L17.33,6.67C17.09,5.93 16.43,5.36 15.6,5.29Z\";\r\nexport var mdiFunctionVariant = \"M12.42,5.29C11.32,5.19 10.35,6 10.25,7.11L10,10H12.82V12H9.82L9.38,17.07C9.18,19.27 7.24,20.9 5.04,20.7C3.79,20.59 2.66,19.9 2,18.83L3.5,17.33C3.83,18.38 4.96,18.97 6,18.63C6.78,18.39 7.33,17.7 7.4,16.89L7.82,12H4.82V10H8L8.27,6.93C8.46,4.73 10.39,3.1 12.6,3.28C13.86,3.39 15,4.09 15.66,5.17L14.16,6.67C13.91,5.9 13.23,5.36 12.42,5.29M22,13.65L20.59,12.24L17.76,15.07L14.93,12.24L13.5,13.65L16.35,16.5L13.5,19.31L14.93,20.72L17.76,17.89L20.59,20.72L22,19.31L19.17,16.5L22,13.65Z\";\r\nexport var mdiFuriganaHorizontal = \"M8.5 2C7.12 2 6 3.12 6 4.5S7.12 7 8.5 7 11 5.88 11 4.5 9.88 2 8.5 2M15.5 2C14.12 2 13 3.12 13 4.5S14.12 7 15.5 7 18 5.88 18 4.5 16.88 2 15.5 2M11 8V10H5V12H14.95C14.53 13.13 13.5 14.5 12.16 15.67C11.12 14.74 10.35 13.82 9.82 13H7.5C8.08 14.25 9.13 15.62 10.62 16.96L6.55 20.22L5.76 20.84L7 22.41L7.8 21.78L12.17 18.28L16.55 21.78L17.33 22.41L18.58 20.84L17.8 20.22L13.73 16.97C15.34 15.5 16.7 13.85 17.07 12H19V10H13V8H11Z\";\r\nexport var mdiFuriganaVertical = \"M8 5V7H2V9H11.95C11.53 10.13 10.5 11.5 9.16 12.67C8.12 11.74 7.35 10.82 6.82 10H4.5C5.08 11.25 6.13 12.62 7.62 13.96L3.55 17.22L2.76 17.84L4 19.41L4.8 18.78L9.17 15.28L13.55 18.78L14.33 19.41L15.58 17.84L14.8 17.22L10.73 13.97C12.34 12.5 13.7 10.85 14.07 9H16V7H10V5H8M19.5 6C18.12 6 17 7.12 17 8.5S18.12 11 19.5 11 22 9.88 22 8.5 20.88 6 19.5 6M19.47 13C18.09 13 16.97 14.12 16.97 15.5S18.09 18 19.47 18 21.97 16.88 21.97 15.5 20.85 13 19.47 13Z\";\r\nexport var mdiFuse = \"M8,7V17H15V7H8M11.16,16V12.87H9.41L11.91,8V11.14H13.59L11.16,16M16,2V6H7V2A1,1 0 0,1 8,1H15A1,1 0 0,1 16,2M16,18V22A1,1 0 0,1 15,23H8A1,1 0 0,1 7,22V18H16Z\";\r\nexport var mdiFuseAlert = \"M6 7V17H13V7H6M9.16 16V12.87H7.41L9.91 8V11.14H11.59L9.16 16M14 2V6H5V2C5 1.45 5.45 1 6 1H13C13.55 1 14 1.45 14 2M14 18V22C14 22.55 13.55 23 13 23H6C5.45 23 5 22.55 5 22V18H14M19 13H17V7H19V13M19 17H17V15H19V17Z\";\r\nexport var mdiFuseBlade = \"M10,21H8L6,19V16H10V21M18,16H14V21H16L18,19V16M3,3V4A1,1 0 0,0 4,5V14A1,1 0 0,0 5,15H19A1,1 0 0,0 20,14V5H20A1,1 0 0,0 21,4V3H3M11.83,13V9.73H10L12.61,4.66V7.93H14.36L11.83,13Z\";\r\nexport var mdiFuseOff = \"M15 11.8L10.2 7H15V11.8M16 6V2C16 1.45 15.55 1 15 1H8C7.45 1 7 1.45 7 2V3.8L9.2 6H16M2.39 1.73L1.11 3L8 9.89V17H15.11L20.84 22.73L22.11 21.46L2.39 1.73M7 22C7 22.55 7.45 23 8 23H15C15.55 23 16 22.55 16 22V18H7V22Z\";\r\nexport var mdiGamepad = \"M16.5,9L13.5,12L16.5,15H22V9M9,16.5V22H15V16.5L12,13.5M7.5,9H2V15H7.5L10.5,12M15,7.5V2H9V7.5L12,10.5L15,7.5Z\";\r\nexport var mdiGamepadCircle = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8Z\";\r\nexport var mdiGamepadCircleDown = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\r\nexport var mdiGamepadCircleLeft = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3Z\";\r\nexport var mdiGamepadCircleOutline = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\r\nexport var mdiGamepadCircleRight = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M12,3A2,2 0 0,0 10,5A2,2 0 0,0 12,7A2,2 0 0,0 14,5A2,2 0 0,0 12,3M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17Z\";\r\nexport var mdiGamepadCircleUp = \"M5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8M12,1A4,4 0 0,1 16,5A4,4 0 0,1 12,9A4,4 0 0,1 8,5A4,4 0 0,1 12,1M12,15A4,4 0 0,1 16,19A4,4 0 0,1 12,23A4,4 0 0,1 8,19A4,4 0 0,1 12,15M19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A4,4 0 0,1 15,12A4,4 0 0,1 19,8M5,10A2,2 0 0,0 3,12A2,2 0 0,0 5,14A2,2 0 0,0 7,12A2,2 0 0,0 5,10M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10M12,17A2,2 0 0,0 10,19A2,2 0 0,0 12,21A2,2 0 0,0 14,19A2,2 0 0,0 12,17Z\";\r\nexport var mdiGamepadDown = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M12,13.5L9,16.5V22H15V16.5L12,13.5M11,18H13V20H11V18Z\";\r\nexport var mdiGamepadLeft = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M4,11H6V13H4V11M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\r\nexport var mdiGamepadOutline = \"M7.5 9H2V15H7.5L10.5 12L7.5 9M6 13H4V11H6V13M15 7.5V2H9V7.5L12 10.5L15 7.5M11 4H13V6H11V4M9 16.5V22H15V16.5L12 13.5L9 16.5M13 20H11V18H13V20M16.5 9L13.5 12L16.5 15H22V9H16.5M20 13H18V11H20V13Z\";\r\nexport var mdiGamepadRight = \"M9,2V7.5L12,10.5L15,7.5V2H9M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M18,11H20V13H18V11M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\r\nexport var mdiGamepadRound = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8Z\";\r\nexport var mdiGamepadRoundDown = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M10,16V20H14V16H10Z\";\r\nexport var mdiGamepadRoundLeft = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M4,10V14H8V10H4Z\";\r\nexport var mdiGamepadRoundOutline = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M4,10V14H10V20H14V14H20V10H14V4H10V10H4Z\";\r\nexport var mdiGamepadRoundRight = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M16,10V14H20V10H16Z\";\r\nexport var mdiGamepadRoundUp = \"M4,8H8V4A2,2 0 0,1 10,2H14A2,2 0 0,1 16,4V8H20A2,2 0 0,1 22,10V14A2,2 0 0,1 20,16H16V20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8M10,4V8H14V4H10Z\";\r\nexport var mdiGamepadSquare = \"M21,6H3A2,2 0 0,0 1,8V16A2,2 0 0,0 3,18H21A2,2 0 0,0 23,16V8A2,2 0 0,0 21,6M11,13H8V16H6V13H3V11H6V8H8V11H11M15.5,15A1.5,1.5 0 0,1 14,13.5A1.5,1.5 0 0,1 15.5,12A1.5,1.5 0 0,1 17,13.5A1.5,1.5 0 0,1 15.5,15M19.5,12A1.5,1.5 0 0,1 18,10.5A1.5,1.5 0 0,1 19.5,9A1.5,1.5 0 0,1 21,10.5A1.5,1.5 0 0,1 19.5,12Z\";\r\nexport var mdiGamepadSquareOutline = \"M21,6H3A2,2 0 0,0 1,8V16A2,2 0 0,0 3,18H21A2,2 0 0,0 23,16V8A2,2 0 0,0 21,6M21,16H3V8H21M6,15H8V13H10V11H8V9H6V11H4V13H6M14.5,12A1.5,1.5 0 0,1 16,13.5A1.5,1.5 0 0,1 14.5,15A1.5,1.5 0 0,1 13,13.5A1.5,1.5 0 0,1 14.5,12M18.5,9A1.5,1.5 0 0,1 20,10.5A1.5,1.5 0 0,1 18.5,12A1.5,1.5 0 0,1 17,10.5A1.5,1.5 0 0,1 18.5,9Z\";\r\nexport var mdiGamepadUp = \"M9,2V7.5L12,10.5L15,7.5V2H9M11,4H13V6H11V4M2,9V15H7.5L10.5,12L7.5,9H2M16.5,9L13.5,12L16.5,15H22V9H16.5M12,13.5L9,16.5V22H15V16.5L12,13.5Z\";\r\nexport var mdiGamepadVariant = \"M7,6H17A6,6 0 0,1 23,12A6,6 0 0,1 17,18C15.22,18 13.63,17.23 12.53,16H11.47C10.37,17.23 8.78,18 7,18A6,6 0 0,1 1,12A6,6 0 0,1 7,6M6,9V11H4V13H6V15H8V13H10V11H8V9H6M15.5,12A1.5,1.5 0 0,0 14,13.5A1.5,1.5 0 0,0 15.5,15A1.5,1.5 0 0,0 17,13.5A1.5,1.5 0 0,0 15.5,12M18.5,9A1.5,1.5 0 0,0 17,10.5A1.5,1.5 0 0,0 18.5,12A1.5,1.5 0 0,0 20,10.5A1.5,1.5 0 0,0 18.5,9Z\";\r\nexport var mdiGamepadVariantOutline = \"M6,9H8V11H10V13H8V15H6V13H4V11H6V9M18.5,9A1.5,1.5 0 0,1 20,10.5A1.5,1.5 0 0,1 18.5,12A1.5,1.5 0 0,1 17,10.5A1.5,1.5 0 0,1 18.5,9M15.5,12A1.5,1.5 0 0,1 17,13.5A1.5,1.5 0 0,1 15.5,15A1.5,1.5 0 0,1 14,13.5A1.5,1.5 0 0,1 15.5,12M17,5A7,7 0 0,1 24,12A7,7 0 0,1 17,19C15.04,19 13.27,18.2 12,16.9C10.73,18.2 8.96,19 7,19A7,7 0 0,1 0,12A7,7 0 0,1 7,5H17M7,7A5,5 0 0,0 2,12A5,5 0 0,0 7,17C8.64,17 10.09,16.21 11,15H13C13.91,16.21 15.36,17 17,17A5,5 0 0,0 22,12A5,5 0 0,0 17,7H7Z\";\r\nexport var mdiGamma = \"M11.76 19C12.92 19 13.58 18 13.58 16.29C13.58 15.2 13.5 13.88 13.3 12.67L18 5H15.28L12.71 9.82L12.55 9.33C11.83 7.19 10.82 5 8.68 5C8 5 7.45 5.18 7 5.54C6 6.39 6 8 6 8.5H6.91C6.97 8.06 7.21 6.83 8.25 6.83C10 6.83 10.8 10 11.4 12.42C10.5 14.58 10 16.14 10 16.97C10 17.95 10.56 19 11.76 19\";\r\nexport var mdiGantryCrane = \"M21,6H22V4H21V3H18V4H6V3H3V4H2V6H3V20H2V22H7V20H6V6H11V7H11.5V10.62C11,10.79 10.69,11.25 10.69,11.76C10.69,12.2 10.92,12.6 11.3,12.82V14H11.92C12.26,14 12.54,14.27 12.55,14.61C12.55,14.96 12.28,15.24 11.93,15.24C11.71,15.24 11.5,15.12 11.39,14.93C11.22,14.64 10.84,14.54 10.55,14.71C10.26,14.87 10.15,15.25 10.32,15.55C10.65,16.12 11.26,16.47 11.92,16.47C12.94,16.46 13.76,15.62 13.75,14.6C13.74,13.83 13.26,13.14 12.53,12.88V12.82C13.12,12.5 13.34,11.78 13.03,11.2C12.92,11 12.74,10.81 12.53,10.7V7H13V6H18V20H17V22H22V20H21V6M5,15.29V16.71L4,17.71V16.29L5,15.29M4,20V19.24L5,18.24V19.66L4.66,20H4M4,7.29L5,6.29V7.71L4,8.71V7.29M4,10.29L5,9.29V10.71L4,11.71V10.29M4,13.29L5,12.29V13.71L4,14.71V13.24L4,13.29M20,15.29V16.71L19,17.71V16.29L20,15.29M19,20V19.24L20,18.24V19.66L19.66,20H19M19,7.29L20,6.29V7.71L19,8.71V7.29M19,10.29L20,9.29V10.71L19,11.71V10.29M19,13.29L20,12.29V13.71L19,14.71V13.24L19,13.29Z\";\r\nexport var mdiGarage = \"M19,20H17V11H7V20H5V9L12,5L19,9V20M8,12H16V14H8V12M8,15H16V17H8V15M16,18V20H8V18H16Z\";\r\nexport var mdiGarageAlert = \"M17,20H15V11H5V20H3V9L10,5L17,9V20M6,12H14V14H6V12M6,15H14V17H6V15M19,15V10H21V15H19M19,19V17H21V19H19Z\";\r\nexport var mdiGarageAlertVariant = \"M20 9V20H18V11H2V20H0V9L10 5L20 9M17 12H3V14H17V12M17 15H3V17H17V15M22 15V10H24V15H22M22 19V17H24V19H22Z\";\r\nexport var mdiGarageLock = \"M20.8 16V14.5C20.8 13.1 19.4 12 18 12S15.2 13.1 15.2 14.5V16C14.6 16 14 16.6 14 17.2V20.7C14 21.4 14.6 22 15.2 22H20.7C21.4 22 22 21.4 22 20.8V17.3C22 16.6 21.4 16 20.8 16M19.5 16H16.5V14.5C16.5 13.7 17.2 13.2 18 13.2S19.5 13.7 19.5 14.5V16M5 12H13V14H5V12M5 15H12.95C12.42 15.54 12.08 16.24 12 17H5V15M12 20H5V18H12V20M14 11H4V20H2V9L9 5L16 9V10.44C15.19 10.8 14.5 11.36 14 12.06V11Z\";\r\nexport var mdiGarageOpen = \"M19,20H17V11H7V20H5V9L12,5L19,9V20M8,12H16V14H8V12Z\";\r\nexport var mdiGarageOpenVariant = \"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12Z\";\r\nexport var mdiGarageVariant = \"M22 9V20H20V11H4V20H2V9L12 5L22 9M19 12H5V14H19V12M19 18H5V20H19V18M19 15H5V17H19V15Z\";\r\nexport var mdiGarageVariantLock = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 12H15.04C14.61 12.59 14.35 13.27 14.26 14H5V12M16.06 11H4V20H2V9L12 5L22 9V11.04C21.17 10.4 20.13 10 19 10C17.9 10 16.88 10.39 16.06 11M13 20H5V18H13V20M5 15H13.95C13.42 15.54 13.08 16.24 13 17H5V15Z\";\r\nexport var mdiGasBurner = \"M16.14 8.79L16.12 8.8C16.35 9.07 16.55 9.39 16.7 9.72L16.79 9.91C17.5 11.6 17 13.55 15.69 14.77C14.5 15.86 12.84 16.15 11.3 15.95C9.84 15.77 8.5 14.85 7.73 13.58C7.5 13.19 7.3 12.75 7.2 12.3C7.07 11.93 7.03 11.57 7 11.2C6.91 9.6 7.55 7.9 8.76 6.9C8.21 8.11 8.34 9.62 9.15 10.67L9.26 10.8C9.4 10.92 9.57 10.96 9.73 10.89C9.88 10.83 10 10.68 10 10.5L9.93 10.28C9.05 7.96 9.79 5.25 11.66 3.72C12.17 3.3 12.8 2.92 13.46 2.75C12.78 4.11 13 5.89 14.09 6.96C14.55 7.43 15.1 7.74 15.58 8.18L16.14 8.79M13.86 13.43L13.85 13.42C14.3 13.03 14.55 12.36 14.53 11.76L14.5 11.44C14.3 10.44 13.43 10.11 12.87 9.38C12.7 9.16 12.55 8.88 12.44 8.6C12.22 9.1 12.2 9.57 12.29 10.11C12.39 10.68 12.62 11.17 12.5 11.76C12.34 12.41 11.83 13.06 10.94 13.27C11.44 13.76 12.25 14.15 13.06 13.87C13.32 13.8 13.65 13.61 13.86 13.43M11 18V19C11 19.55 11.45 20 12 20C12.55 20 13 19.55 13 19V18H15V19C15 19.55 15.45 20 16 20C16.55 20 17 19.55 17 19V18C18.11 18 20 18.9 20 20V22H4V20C4 18.9 5.9 18 7 18V19C7 19.55 7.45 20 8 20C8.55 20 9 19.55 9 19V18H11Z\";\r\nexport var mdiGasCylinder = \"M16,9V14L16,20A2,2 0 0,1 14,22H10A2,2 0 0,1 8,20V14L8,9C8,7.14 9.27,5.57 11,5.13V4H9V2H15V4H13V5.13C14.73,5.57 16,7.14 16,9Z\";\r\nexport var mdiGasStation = \"M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10M12,10H6V5H12M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14C17,12.89 16.1,12 15,12H14V5C14,3.89 13.1,3 12,3H6C4.89,3 4,3.89 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23Z\";\r\nexport var mdiGasStationInUse = \"M17 18.5V8.5C17 7.81 17.28 7.18 17.73 6.73L17.72 6.72L21.44 3L22.5 4.06L20.39 6.17C21.33 6.5 22 7.43 22 8.5C22 8.83 21.94 9.15 21.81 9.46C21.68 9.76 21.5 10.04 21.27 10.27C20.8 10.74 20.16 11 19.5 11C19.14 11 18.81 10.92 18.5 10.79V18.5C18.5 18.83 18.43 19.15 18.31 19.46C18.18 19.76 18 20.04 17.77 20.27C17.54 20.5 17.26 20.69 16.96 20.81C16.65 20.94 16.33 21 16 21C15.34 21 14.7 20.74 14.23 20.27C13.76 19.8 13.5 19.16 13.5 18.5V13.5H12V21H2V5C2 3.89 2.89 3 4 3H10C11.1 3 12 3.89 12 5V12H13C14.1 12 15 12.89 15 14V18.5C15 18.77 15.11 19 15.29 19.21C15.5 19.4 15.74 19.5 16 19.5C16.27 19.5 16.5 19.4 16.71 19.21C16.9 19 17 18.77 17 18.5M10 10V5H4V10H10M19.5 9.5C19.77 9.5 20 9.4 20.21 9.21C20.4 9 20.5 8.77 20.5 8.5C20.5 8.24 20.4 8 20.21 7.79C20 7.61 19.77 7.5 19.5 7.5C19.24 7.5 19 7.61 18.79 7.79C18.61 8 18.5 8.24 18.5 8.5C18.5 8.77 18.61 9 18.79 9.21C19 9.4 19.24 9.5 19.5 9.5Z\";\r\nexport var mdiGasStationInUseOutline = \"M17.73 6.73C17.28 7.17999 17 7.81 17 8.5V18.5C17 18.7652 16.8946 19.0196 16.7071 19.2071C16.5196 19.3946 16.2652 19.5 16 19.5C15.7348 19.5 15.4804 19.3946 15.2929 19.2071C15.1054 19.0196 15 18.7652 15 18.5V14C15 12.89 14.1 12 13 12H12V5C12 3.89 11.1 3 10 3H4C2.89 3 2 3.89 2 5V21H12V13.5H13.5V18.5C13.5 19.163 13.7634 19.7989 14.2322 20.2678C14.7011 20.7366 15.337 21 16 21C16.3283 21 16.6534 20.9353 16.9567 20.8097C17.26 20.6841 17.5356 20.4999 17.7678 20.2678C17.9999 20.0356 18.1841 19.76 18.3097 19.4567C18.4353 19.1534 18.5 18.8283 18.5 18.5V10.79C18.81 10.92 19.14 11 19.5 11C20.163 11 20.7989 10.7366 21.2678 10.2678C21.4999 10.0356 21.6841 9.76003 21.8097 9.45671C21.9353 9.1534 22 8.82831 22 8.5C22 7.42999 21.33 6.5 20.39 6.17L22.5 4.06L21.44 3L17.72 6.72L17.73 6.73ZM4 10V5H10V10H4ZM20.2071 9.20711C20.0196 9.39464 19.7652 9.5 19.5 9.5C19.2348 9.5 18.9804 9.39464 18.7929 9.20711C18.6054 9.01958 18.5 8.76521 18.5 8.5C18.5 8.23479 18.6054 7.98042 18.7929 7.79289C18.9804 7.60536 19.2348 7.5 19.5 7.5C19.7652 7.5 20.0196 7.60536 20.2071 7.79289C20.3946 7.98042 20.5 8.23479 20.5 8.5C20.5 8.76521 20.3946 9.01958 20.2071 9.20711ZM10 12V19H4V12H10Z\";\r\nexport var mdiGasStationOff = \"M1 4.27L2.28 3L21 21.72L19.73 23L17.71 21C16.56 20.85 15.65 19.94 15.5 18.78L14 17.27V21H4V7.27L1 4.27M18 10C18.55 10 19 9.55 19 9C19 8.45 18.55 8 18 8C17.45 8 17 8.45 17 9C17 9.55 17.45 10 18 10M12 10V5H6.82L5.06 3.23C5.34 3.08 5.66 3 6 3H12C13.1 3 14 3.89 14 5V12H15C16.1 12 17 12.89 17 14V15.18L11.82 10H12M6 10H6.73L6 9.27V10M19.77 7.23C20.22 7.68 20.5 8.31 20.5 9L20.5 18.67L19 17.18V11.29C18.69 11.42 18.36 11.5 18 11.5C16.62 11.5 15.5 10.38 15.5 9C15.5 7.93 16.17 7.03 17.11 6.67L15 4.56L16.06 3.5L19.78 7.22L19.77 7.23Z\";\r\nexport var mdiGasStationOffOutline = \"M1 4.27L2.28 3L6 6.72L21 21.72L19.73 23L17.72 21C16.56 20.85 15.65 19.94 15.5 18.78L14 17.27V21H4V7.27L1 4.27M19.77 7.23C20.22 7.68 20.5 8.31 20.5 9L20.5 18.67L19 17.18V11.29C18.69 11.42 18.36 11.5 18 11.5C16.62 11.5 15.5 10.38 15.5 9C15.5 7.93 16.17 7.03 17.11 6.67L15 4.56L16.06 3.5L19.78 7.22L19.77 7.23M11.82 10H12V5H6.82L5.06 3.24C5.34 3.09 5.66 3 6 3H12C13.1 3 14 3.9 14 5V12H15C16.1 12 17 12.9 17 14V15.18L11.82 10M6 10H6.73L6 9.27V10M6 12V19H12V15.27L8.73 12H6M18 10C18.55 10 19 9.55 19 9C19 8.45 18.55 8 18 8C17.45 8 17 8.45 17 9C17 9.55 17.45 10 18 10Z\";\r\nexport var mdiGasStationOutline = \"M19.77,7.23L19.78,7.22L16.06,3.5L15,4.56L17.11,6.67C16.17,7.03 15.5,7.93 15.5,9A2.5,2.5 0 0,0 18,11.5C18.36,11.5 18.69,11.42 19,11.29V18.5A1,1 0 0,1 18,19.5A1,1 0 0,1 17,18.5V14A2,2 0 0,0 15,12H14V5A2,2 0 0,0 12,3H6A2,2 0 0,0 4,5V21H14V13.5H15.5V18.5A2.5,2.5 0 0,0 18,21A2.5,2.5 0 0,0 20.5,18.5V9C20.5,8.31 20.22,7.68 19.77,7.23M12,13.5V19H6V12H12V13.5M12,10H6V5H12V10M18,10A1,1 0 0,1 17,9A1,1 0 0,1 18,8A1,1 0 0,1 19,9A1,1 0 0,1 18,10Z\";\r\nexport var mdiGate = \"M9 6V11H7V7H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V21H19V19H21V21H23V9H21V11H19V7H17V11H15V6H13V11H11V6H9M3 13H5V17H3V13M7 13H9V17H7V13M11 13H13V17H11V13M15 13H17V17H15V13M19 13H21V17H19V13Z\";\r\nexport var mdiGateAlert = \"M21 17H19V19H21V17M21 9H19V15H21V9M17 13V11H15V6H13V11H11V6H9V11H7V7H5V11H3V9H1V21H3V19H5V21H7V19H9V21H11V19H13V21H15V19H17V17H15V13H17M5 17H3V13H5V17M9 17H7V13H9V17M13 17H11V13H13V17Z\";\r\nexport var mdiGateAnd = \"M2,4V20H14A8,8 0 0,0 22,12A8,8 0 0,0 14,4H2M4,6H14A6,6 0 0,1 20,12A6,6 0 0,1 14,18H4V6Z\";\r\nexport var mdiGateArrowLeft = \"M9 6H7V11H5V6H3V11H2V13H3V14.81C3.62 14.45 4.3 14.21 5 14.09V13H7V14.09C7.7 14.21 8.38 14.45 9 14.81V13H11V16.69C11.65 17.67 12 18.82 12 20C12 20.34 11.97 20.67 11.91 21H13V19H15V21H17V9H15V11H13V7H11V11H9V6M15 13V17H13V13H15M2 20L5 23V21H9V19H5V17L2 20Z\";\r\nexport var mdiGateArrowRight = \"M15 6V11H13V7H11V11H9V9H7V21H9V19H11V21H12.09C12.03 20.67 12 20.34 12 20C12 18.82 12.35 17.67 13 16.69V13H15V14.81C15.62 14.45 16.3 14.21 17 14.09V13H19V14.09C19.7 14.21 20.38 14.45 21 14.81V13H22V11H21V6H19V11H17V6H15M9 13H11V17H9V13M19 17V19H15V21H19V23L22 20L19 17Z\";\r\nexport var mdiGateBuffer = \"M6 7.24L15.53 12L6 16.76V7.24M4 4V20L20 12L4 4Z\";\r\nexport var mdiGateNand = \"M2,4V20H10C13.43,20 16.5,17.84 17.6,14.6C18,14.8 18.5,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.5,9 18.03,9.15 17.6,9.4C16.5,6.16 13.43,4 10,4H2M4,6H10A6,6 0 0,1 16,12A6,6 0 0,1 10,18H4V6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateNor = \"M2,4C5,10 5,14 2,20H5C9.4,20 13,17.7 16.6,13.7C17.15,14.5 18.04,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.04,9 17.15,9.5 16.6,10.3C13,6.3 9.4,4 5,4H2M5,6C8.8,6 12,8.1 15.3,12C12,15.9 8.8,18 5,18C6.5,14 6.5,10 5,6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateNot = \"M2,4V20L16.2,13C16.62,14.19 17.74,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C17.74,9 16.62,9.81 16.2,11L2,4M4,7.3L13.7,12L4,16.7V7.3M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateOpen = \"M7 21V7H5V11H3V9H1V21H3V19H5V21H7M3 17V13H5V17H3M21 9V11H19V7H17V21H19V19H21V21H23V9H21M21 17H19V13H21V17Z\";\r\nexport var mdiGateOr = \"M2,4C5,10 5,14 2,20H8C13,20 19,16 22,12C19,8 13,4 8,4H2M5,6H8C11.5,6 16.3,9 19.3,12C16.3,15 11.5,18 8,18H5C6.4,13.9 6.4,10.1 5,6Z\";\r\nexport var mdiGateXnor = \"M2,4C5,10 5,14 2,20H4C7,14 7,10 4.1,4H2M6,4C9,10 9,14 6,20H9C12.2,20 14.8,16.8 16.7,14C17.28,14.65 18.12,15 19,15A3,3 0 0,0 22,12A3,3 0 0,0 19,9C18.12,9 17.28,9.35 16.7,10C14.7,7.2 12.2,4 9,4H6M9,6C12,6 14,10 15.5,12C14,14 12,18 9,18C10.6,14 10.6,10 9,6M19,11C19.5,11 20,11.5 20,12C20,12.5 19.5,13 19,13A1,1 0 0,1 18,12C18,11.5 18.5,11 19,11Z\";\r\nexport var mdiGateXor = \"M2,4C5,10 5,14 2,20H4C7,14 7,10 4.1,4H2M6,4C9,10 9,14 6,20H9C14,20 18,17 22,12C18,7 14,4 9,4H6M9,6C12.8,6 16,8.1 19.3,12C15.9,15.9 12.8,18 9,18C10.5,14 10.5,10 9,6Z\";\r\nexport var mdiGatsby = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C8.27,4 5.14,6.55 4.25,10L14,19.75C17.45,18.86 20,15.73 20,12H14.75V13.5H18.2C17.71,15.54 16.24,17.19 14.31,17.94L6.06,9.69C7,7.31 9.3,5.63 12,5.63C14.13,5.63 16,6.67 17.18,8.28L18.41,7.22C16.95,5.26 14.63,4 12,4M4,12A8,8 0 0,0 12,20C12.04,20 12.09,20 4,12Z\";\r\nexport var mdiGauge = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M14,5.89C13.62,5.9 13.26,6.15 13.1,6.54L11.81,9.77L11.71,10C11,10.13 10.41,10.6 10.14,11.26C9.73,12.29 10.23,13.45 11.26,13.86C12.29,14.27 13.45,13.77 13.86,12.74C14.12,12.08 14,11.32 13.57,10.76L13.67,10.5L14.96,7.29L14.97,7.26C15.17,6.75 14.92,6.17 14.41,5.96C14.28,5.91 14.15,5.89 14,5.89M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9M17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9Z\";\r\nexport var mdiGaugeEmpty = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.4 5,16.5 6.7,18C8.1,16.7 10,16 12,16C14,16 15.8,16.7 17.3,18C19,16.5 20,14.4 20,12A8,8 0 0,0 12,4M14,6A1,1 0 0,1 15,7A1,1 0 0,1 14,8A1,1 0 0,1 13,7A1,1 0 0,1 14,6M10,6A1,1 0 0,1 11,7A1,1 0 0,1 10,8A1,1 0 0,1 9,7A1,1 0 0,1 10,6M6.91,8.94C7.04,8.94 7.16,8.97 7.3,9L10.5,10.32L10.77,10.43C11.33,10 12.09,9.88 12.75,10.15C13.77,10.56 14.27,11.73 13.85,12.75C13.44,13.77 12.27,14.27 11.25,13.85C10.59,13.59 10.12,13 10,12.28L9.77,12.18L6.55,10.88L6.53,10.87C6,10.66 5.77,10.08 5.97,9.56C6.13,9.18 6.5,8.93 6.91,8.94V8.94M17,9A1,1 0 0,1 18,10A1,1 0 0,1 17,11A1,1 0 0,1 16,10A1,1 0 0,1 17,9Z\";\r\nexport var mdiGaugeFull = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12C20,14.4 19,16.5 17.3,18C15.9,16.7 14,16 12,16C10,16 8.2,16.7 6.7,18C5,16.5 4,14.4 4,12A8,8 0 0,1 12,4M10,6A1,1 0 0,0 9,7A1,1 0 0,0 10,8A1,1 0 0,0 11,7A1,1 0 0,0 10,6M14,6A1,1 0 0,0 13,7A1,1 0 0,0 14,8A1,1 0 0,0 15,7A1,1 0 0,0 14,6M17.09,8.94C16.96,8.94 16.84,8.97 16.7,9L13.5,10.32L13.23,10.43C12.67,10 11.91,9.88 11.25,10.15C10.23,10.56 9.73,11.73 10.15,12.75C10.56,13.77 11.73,14.27 12.75,13.85C13.41,13.59 13.88,13 14,12.28L14.23,12.18L17.45,10.88L17.47,10.87C18,10.66 18.23,10.08 18.03,9.56C17.87,9.18 17.5,8.93 17.09,8.94M7,9A1,1 0 0,0 6,10A1,1 0 0,0 7,11A1,1 0 0,0 8,10A1,1 0 0,0 7,9Z\";\r\nexport var mdiGaugeLow = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12C4,14.4 5,16.5 6.7,18C8.1,16.7 10,16 12,16C14,16 15.8,16.7 17.3,18C19,16.5 20,14.4 20,12A8,8 0 0,0 12,4M10,5.89C10.38,5.9 10.74,6.15 10.9,6.54L12.19,9.77L12.29,10C13,10.13 13.59,10.6 13.86,11.26C14.27,12.29 13.77,13.45 12.74,13.86C11.71,14.27 10.55,13.77 10.14,12.74C9.88,12.08 10,11.32 10.43,10.76L10.33,10.5L9.04,7.29L9.03,7.26C8.83,6.75 9.08,6.17 9.59,5.96C9.72,5.91 9.85,5.89 10,5.89V5.89M14,6A1,1 0 0,1 15,7A1,1 0 0,1 14,8A1,1 0 0,1 13,7A1,1 0 0,1 14,6M17,9A1,1 0 0,1 18,10A1,1 0 0,1 17,11A1,1 0 0,1 16,10A1,1 0 0,1 17,9M7,9A1,1 0 0,1 8,10A1,1 0 0,1 7,11A1,1 0 0,1 6,10A1,1 0 0,1 7,9Z\";\r\nexport var mdiGavel = \"M2.3,20.28L11.9,10.68L10.5,9.26L9.78,9.97C9.39,10.36 8.76,10.36 8.37,9.97L7.66,9.26C7.27,8.87 7.27,8.24 7.66,7.85L13.32,2.19C13.71,1.8 14.34,1.8 14.73,2.19L15.44,2.9C15.83,3.29 15.83,3.92 15.44,4.31L14.73,5L16.15,6.43C16.54,6.04 17.17,6.04 17.56,6.43C17.95,6.82 17.95,7.46 17.56,7.85L18.97,9.26L19.68,8.55C20.07,8.16 20.71,8.16 21.1,8.55L21.8,9.26C22.19,9.65 22.19,10.29 21.8,10.68L16.15,16.33C15.76,16.72 15.12,16.72 14.73,16.33L14.03,15.63C13.63,15.24 13.63,14.6 14.03,14.21L14.73,13.5L13.32,12.09L3.71,21.7C3.32,22.09 2.69,22.09 2.3,21.7C1.91,21.31 1.91,20.67 2.3,20.28M20,19A2,2 0 0,1 22,21V22H12V21A2,2 0 0,1 14,19H20Z\";\r\nexport var mdiGenderFemale = \"M12,4A6,6 0 0,1 18,10C18,12.97 15.84,15.44 13,15.92V18H15V20H13V22H11V20H9V18H11V15.92C8.16,15.44 6,12.97 6,10A6,6 0 0,1 12,4M12,6A4,4 0 0,0 8,10A4,4 0 0,0 12,14A4,4 0 0,0 16,10A4,4 0 0,0 12,6Z\";\r\nexport var mdiGenderMale = \"M9,9C10.29,9 11.5,9.41 12.47,10.11L17.58,5H13V3H21V11H19V6.41L13.89,11.5C14.59,12.5 15,13.7 15,15A6,6 0 0,1 9,21A6,6 0 0,1 3,15A6,6 0 0,1 9,9M9,11A4,4 0 0,0 5,15A4,4 0 0,0 9,19A4,4 0 0,0 13,15A4,4 0 0,0 9,11Z\";\r\nexport var mdiGenderMaleFemale = \"M17.58,4H14V2H21V9H19V5.41L15.17,9.24C15.69,10.03 16,11 16,12C16,14.42 14.28,16.44 12,16.9V19H14V21H12V23H10V21H8V19H10V16.9C7.72,16.44 6,14.42 6,12A5,5 0 0,1 11,7C12,7 12.96,7.3 13.75,7.83L17.58,4M11,9A3,3 0 0,0 8,12A3,3 0 0,0 11,15A3,3 0 0,0 14,12A3,3 0 0,0 11,9Z\";\r\nexport var mdiGenderMaleFemaleVariant = \"M7 3A5 5 0 0 0 9 7A5 5 0 0 0 7 11A5 5 0 0 0 11 15.9V18H9V20H11V22H13V20H15V18H13V15.9A5 5 0 0 0 17 11A5 5 0 0 0 15 7A5 5 0 0 0 17 3H15A3 3 0 0 1 12 6A3 3 0 0 1 9 3M12 8A3 3 0 0 1 15 11A3 3 0 0 1 12 14A3 3 0 0 1 9 11A3 3 0 0 1 12 8Z\";\r\nexport var mdiGenderNonBinary = \"M13 3H11V5.27L9.04 4.13L8.04 5.87L10 7L8.04 8.13L9.04 9.87L11 8.73V12.1C8.72 12.56 7 14.58 7 17C7 19.76 9.24 22 12 22S17 19.76 17 17C17 14.58 15.28 12.56 13 12.1V8.73L14.96 9.87L15.96 8.13L14 7L15.96 5.87L14.96 4.13L13 5.27V3M12 20C10.35 20 9 18.65 9 17S10.35 14 12 14 15 15.35 15 17 13.65 20 12 20Z\";\r\nexport var mdiGenderTransgender = \"M19.58,3H15V1H23V9H21V4.41L16.17,9.24C16.69,10.03 17,11 17,12C17,14.42 15.28,16.44 13,16.9V19H15V21H13V23H11V21H9V19H11V16.9C8.72,16.44 7,14.42 7,12C7,11 7.3,10.04 7.82,9.26L6.64,8.07L5.24,9.46L3.83,8.04L5.23,6.65L3,4.42V8H1V1H8V3H4.41L6.64,5.24L8.08,3.81L9.5,5.23L8.06,6.66L9.23,7.84C10,7.31 11,7 12,7C13,7 13.96,7.3 14.75,7.83L19.58,3M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiGeneratorMobile = \"M4 2H2V19C2 20.11 2.9 21 4 21H12.1C12.03 20.68 12 20.34 12 20C12 19.66 12.03 19.32 12.1 19H4V2M13 17C13.91 15.79 15.36 15 17 15C18.64 15 20.09 15.79 21 17H22V6C22 4.89 21.11 4 20 4H8C6.9 4 6 4.89 6 6V17H13M20 6V8H14V6H20M14 10H20V12H14V10M7 11L10 5V9H12L9 15V11H7M14.17 19C14.06 19.31 14 19.65 14 20C14 20.35 14.06 20.69 14.17 21C14.58 22.17 15.7 23 17 23C18.66 23 20 21.66 20 20C20 18.34 18.66 17 17 17C15.69 17 14.58 17.84 14.17 19Z\";\r\nexport var mdiGeneratorPortable = \"M7 2C5.9 2 5 2.9 5 4V6H4C2.9 6 2 6.9 2 8V20H4V21C4 21.55 4.45 22 5 22H6C6.55 22 7 21.55 7 21V20H17V21C17 21.55 17.45 22 18 22H19C19.55 22 20 21.55 20 21V20H22V8C22 6.9 21.11 6 20 6H19V4C19 2.9 18.11 2 17 2H7M14 10V8H20V10H14M14 14V12H20V14H14M7 4H17V6H7V4M7 8V12H9L6 18V14H4L7 8Z\";\r\nexport var mdiGeneratorStationary = \"M6 3C4.89 3 4 3.9 4 5V16H6V17C6 17.55 6.45 18 7 18H8C8.55 18 9 17.55 9 17V16H15V17C15 17.55 15.45 18 16 18H17C17.55 18 18 17.55 18 17V16H20V5C20 3.9 19.11 3 18 3H6M12 7V5H18V7H12M12 9H18V11H12V9M8 5V9H10L7 15V11H5L8 5M22 20V22H2V20H22Z\";\r\nexport var mdiGentoo = \"M10.28,2C9.93,2 9.57,2.03 9.23,2.1C5.61,2.76 3.06,5.89 2.85,7.96C2.74,8.97 3.29,9.73 3.59,10.06C4.4,10.97 6.03,11.66 7.07,12.23C5.56,13.5 4.87,14.14 4.19,14.86C3.17,15.93 2.45,17.1 2.45,17.95C2.45,18.22 2.4,19.09 2.76,19.77C2.89,20.03 3.27,20.89 4.41,21.53C5.14,21.94 6.17,22.09 7.19,21.95C10.33,21.5 14.54,18.83 17.55,16.35C19.46,14.77 20.86,13.23 21.26,12.5C21.59,11.87 21.63,10.78 21.44,10.09C20.9,8.14 16.53,4.15 12.96,2.55C12.14,2.18 11.2,2 10.28,2M11.34,4.91C11.59,4.91 11.81,4.94 12,5C13.15,5.3 15.08,6.68 14.91,7.94C14.68,9.6 13.23,10.27 11.56,10.03C10.58,9.9 8.63,8.8 8.78,6.89C8.89,5.4 10.3,4.9 11.34,4.91M11.32,6.65C11.05,6.65 10.84,6.71 10.74,6.87C10.27,7.59 10.5,8.09 10.92,8.42C11.07,8.04 12.71,8.45 12.75,8.79C14.17,7.72 12.36,6.66 11.32,6.65Z\";\r\nexport var mdiGesture = \"M4.59,6.89C5.29,6.18 6,5.54 6.3,5.67C6.8,5.87 6.3,6.7 6,7.19C5.75,7.61 3.14,11.08 3.14,13.5C3.14,14.78 3.62,15.84 4.5,16.5C5.23,17.04 6.22,17.21 7.12,16.94C8.19,16.63 9.07,15.54 10.18,14.17C11.39,12.68 13,10.73 14.26,10.73C15.89,10.73 15.91,11.74 16,12.5C12.24,13.16 10.64,16.19 10.64,17.89C10.64,19.59 12.08,21 13.85,21C15.5,21 18.14,19.65 18.54,14.88H21V12.38H18.53C18.38,10.73 17.44,8.18 14.5,8.18C12.25,8.18 10.32,10.09 9.56,11C9,11.75 7.5,13.5 7.27,13.74C7,14.04 6.59,14.58 6.16,14.58C5.71,14.58 5.44,13.75 5.8,12.66C6.15,11.57 7.2,9.8 7.65,9.14C8.43,8 8.95,7.22 8.95,5.86C8.95,3.69 7.31,3 6.44,3C5.12,3 3.97,4 3.72,4.25C3.36,4.61 3.06,4.91 2.84,5.18L4.59,6.89M13.88,18.55C13.57,18.55 13.14,18.29 13.14,17.83C13.14,17.23 13.87,15.63 16,15.07C15.71,17.76 14.58,18.55 13.88,18.55Z\";\r\nexport var mdiGestureDoubleTap = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5M11,3A6,6 0 0,1 17,9C17,10.7 16.29,12.23 15.16,13.33L14.16,12.88C15.28,11.96 16,10.56 16,9A5,5 0 0,0 11,4A5,5 0 0,0 6,9C6,11.05 7.23,12.81 9,13.58V14.66C6.67,13.83 5,11.61 5,9A6,6 0 0,1 11,3Z\";\r\nexport var mdiGesturePinch = \"M13,9A1,1 0 0,1 14,8A1,1 0 0,1 15,9V13.47L16.21,13.6L21.15,15.8C21.67,16.04 22,16.56 22,17.14V21.5C21.97,22.32 21.32,22.97 20.5,23H14C13.62,23 13.26,22.85 13,22.57L8.1,18.37L8.84,17.6C9.03,17.39 9.3,17.28 9.58,17.28H9.8L13,19V9M14,5C15.42,5 16.74,5.76 17.45,7C18.56,8.9 17.91,11.35 16,12.46V11.23C16.64,10.67 17,9.85 17,9A3,3 0 0,0 14,6A3,3 0 0,0 11,9C11,9.85 11.36,10.67 12,11.23V12.46C10.77,11.75 10,10.43 10,9A4,4 0 0,1 14,5M4,9L7,12H5V15H3V12H1L4,9M4,7L1,4H3V1H5V4H7L4,7M9,14C9.73,14 10.41,14.19 11,14.54V15.76C10.47,15.29 9.77,15 9,15A3,3 0 0,0 6,18C6,19 6.5,19.87 7.22,20.42L9.31,22H9A4,4 0 0,1 5,18A4,4 0 0,1 9,14Z\";\r\nexport var mdiGestureSpread = \"M4,1L7,4H5V7H3V4H1L4,1M4,15L1,12H3V9H5V12H7L4,15M13,9A1,1 0 0,1 14,8A1,1 0 0,1 15,9V13.47L16.21,13.6L21.15,15.8C21.67,16.04 22,16.56 22,17.14V21.5C21.97,22.32 21.32,22.97 20.5,23H14C13.62,23 13.26,22.85 13,22.57L8.1,18.37L8.84,17.6C9.03,17.39 9.3,17.28 9.58,17.28H9.8L13,19V9M14,5C15.42,5 16.74,5.76 17.45,7C18.56,8.9 17.91,11.35 16,12.46V11.23C16.64,10.67 17,9.85 17,9A3,3 0 0,0 14,6A3,3 0 0,0 11,9C11,9.85 11.36,10.67 12,11.23V12.46C10.77,11.75 10,10.43 10,9A4,4 0 0,1 14,5M9,14C9.73,14 10.41,14.19 11,14.54V15.76C10.47,15.29 9.77,15 9,15A3,3 0 0,0 6,18C6,19 6.5,19.87 7.22,20.42L9.31,22H9A4,4 0 0,1 5,18A4,4 0 0,1 9,14Z\";\r\nexport var mdiGestureSwipe = \"M20.11,3.89L22,2V7H17L19.08,4.92C18.55,4.23 17.64,3.66 16.36,3.19C15.08,2.72 13.63,2.5 12,2.5C10.38,2.5 8.92,2.72 7.64,3.19C6.36,3.66 5.45,4.23 4.92,4.92L7,7H2V2L3.89,3.89C4.64,3 5.74,2.31 7.2,1.78C8.65,1.25 10.25,1 12,1C13.75,1 15.35,1.25 16.8,1.78C18.26,2.31 19.36,3 20.11,3.89M19.73,16.27V16.45L19,21.7C18.92,22.08 18.76,22.39 18.5,22.64C18.23,22.89 17.91,23 17.53,23H10.73C10.36,23 10,22.86 9.7,22.55L4.73,17.63L5.53,16.83C5.75,16.61 6,16.5 6.33,16.5H6.56L10,17.25V6.5C10,6.11 10.13,5.76 10.43,5.46C10.73,5.16 11.08,5 11.5,5C11.89,5 12.24,5.16 12.54,5.46C12.84,5.76 13,6.11 13,6.5V12.5H13.78C13.88,12.5 14.05,12.55 14.3,12.61L18.84,14.86C19.44,15.14 19.73,15.61 19.73,16.27Z\";\r\nexport var mdiGestureSwipeDown = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M1,9L4,12L7,9H5V3H3V9H1Z\";\r\nexport var mdiGestureSwipeHorizontal = \"M6,1L3,4L6,7V5H9V7L12,4L9,1V3H6V1M11,8A1,1 0 0,0 10,9V19L6.8,17.28H6.58C6.3,17.28 6.03,17.39 5.84,17.6L5.1,18.37L10,22.57C10.26,22.85 10.62,23 11,23H17.5A1.5,1.5 0 0,0 19,21.5V17.14C19,16.56 18.68,16.03 18.15,15.79L13.21,13.6L12,13.47V9A1,1 0 0,0 11,8Z\";\r\nexport var mdiGestureSwipeLeft = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M3,4L6,7V5H12V3H6V1L3,4Z\";\r\nexport var mdiGestureSwipeRight = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M12,4L9,1V3H3V5H9V7L12,4Z\";\r\nexport var mdiGestureSwipeUp = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M7,6L4,3L1,6H3V12H5V6H7Z\";\r\nexport var mdiGestureSwipeVertical = \"M4,3L1,6H3V9H1L4,12L7,9H5V6H7L4,3M11,8A1,1 0 0,0 10,9V19L6.8,17.28H6.58C6.3,17.28 6.03,17.39 5.84,17.6L5.1,18.37L10,22.57C10.26,22.85 10.62,23 11,23H17.5A1.5,1.5 0 0,0 19,21.5V17.14C19,16.56 18.68,16.03 18.15,15.79L13.21,13.6L12,13.47V9A1,1 0 0,0 11,8Z\";\r\nexport var mdiGestureTap = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M11,5A4,4 0 0,1 15,9C15,10.5 14.2,11.77 13,12.46V11.24C13.61,10.69 14,9.89 14,9A3,3 0 0,0 11,6A3,3 0 0,0 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9A4,4 0 0,1 11,5Z\";\r\nexport var mdiGestureTapBox = \"M20 2H4C2.89 2 2 2.89 2 4V20C2 21.11 2.89 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.89 21.11 2 20 2M11 4C13.21 4 15 5.79 15 8C15 9.5 14.2 10.77 13 11.46V10.24C13.61 9.69 14 8.89 14 8C14 6.34 12.66 5 11 5S8 6.34 8 8C8 8.89 8.39 9.69 9 10.24V11.46C7.8 10.77 7 9.5 7 8C7 5.79 8.79 4 11 4M18 18.5C17.97 19.32 17.32 19.97 16.5 20H11C10.62 20 10.26 19.85 10 19.57L6 15.37L6.74 14.6C6.93 14.39 7.2 14.28 7.5 14.28H7.7L10 16V8C10 7.45 10.45 7 11 7S12 7.45 12 8V12.47L13.21 12.6L17.15 14.79C17.68 15.03 18 15.56 18 16.14V18.5Z\";\r\nexport var mdiGestureTapButton = \"M13 5C15.21 5 17 6.79 17 9C17 10.5 16.2 11.77 15 12.46V11.24C15.61 10.69 16 9.89 16 9C16 7.34 14.66 6 13 6S10 7.34 10 9C10 9.89 10.39 10.69 11 11.24V12.46C9.8 11.77 9 10.5 9 9C9 6.79 10.79 5 13 5M20 20.5C19.97 21.32 19.32 21.97 18.5 22H13C12.62 22 12.26 21.85 12 21.57L8 17.37L8.74 16.6C8.93 16.39 9.2 16.28 9.5 16.28H9.7L12 18V9C12 8.45 12.45 8 13 8S14 8.45 14 9V13.47L15.21 13.6L19.15 15.79C19.68 16.03 20 16.56 20 17.14V20.5M20 2H4C2.9 2 2 2.9 2 4V12C2 13.11 2.9 14 4 14H8V12L4 12L4 4H20L20 12H18V14H20V13.96L20.04 14C21.13 14 22 13.09 22 12V4C22 2.9 21.11 2 20 2Z\";\r\nexport var mdiGestureTapHold = \"M10,9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V13.47L13.21,13.6L18.15,15.79C18.68,16.03 19,16.56 19,17.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9M9,12.44V9A2,2 0 0,1 11,7A2,2 0 0,1 13,9V12.44C14.19,11.75 15,10.47 15,9A4,4 0 0,0 11,5A4,4 0 0,0 7,9C7,10.47 7.81,11.75 9,12.44Z\";\r\nexport var mdiGestureTwoDoubleTap = \"M19,15.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V7A1,1 0 0,1 13,6A1,1 0 0,1 14,7V12L18.15,13.84C18.66,14.07 19,14.58 19,15.14M13,3A4,4 0 0,1 17,7C17,8.5 16.2,9.77 15,10.46V9.24C15.61,8.69 16,7.89 16,7A3,3 0 0,0 13,4C11.65,4 10.5,4.9 10.13,6.13C8.9,6.5 8,7.65 8,9C8,9.89 8.39,10.69 9,11.24V12.46C7.8,11.77 7,10.5 7,9C7,7.38 7.97,6 9.35,5.35C10,3.97 11.38,3 13,3M13,1A6,6 0 0,1 19,7C19,9.06 17.96,10.88 16.38,11.96L15.26,11.46C16.89,10.64 18,8.95 18,7A5,5 0 0,0 13,2C11.11,2 9.46,3.05 8.61,4.61C7.05,5.46 6,7.11 6,9C6,11.05 7.23,12.81 9,13.58V14.66C6.67,13.83 5,11.61 5,9C5,6.83 6.15,4.93 7.88,3.88C8.93,2.15 10.83,1 13,1Z\";\r\nexport var mdiGestureTwoTap = \"M19,15.14V21.5C18.97,22.32 18.32,22.97 17.5,23H11C10.62,23 10.26,22.85 10,22.57L5.1,18.37L5.84,17.6C6.03,17.39 6.3,17.28 6.58,17.28H6.8L10,19V9A1,1 0 0,1 11,8A1,1 0 0,1 12,9V7A1,1 0 0,1 13,6A1,1 0 0,1 14,7V12L18.15,13.84C18.66,14.07 19,14.58 19,15.14M15,10.45V9.24L15,9.23C15.23,9.03 15.42,8.79 15.57,8.54C15.84,8.09 16,7.56 16,7A3,3 0 0,0 13,4C12.21,4 11.5,4.31 10.95,4.81L10.81,4.95C10.68,5.09 10.56,5.24 10.46,5.4C10.36,5.56 10.27,5.74 10.2,5.92C10.17,6 10.15,6.06 10.13,6.13C8.9,6.5 8,7.65 8,9C8,9.7 8.24,10.34 8.64,10.85C8.74,11 8.87,11.11 9,11.23V11.24L9,12.46V12.46C7.8,11.77 7,10.5 7,9C7,7.38 7.97,6 9.35,5.35C10,3.97 11.38,3 13,3A4,4 0 0,1 17,7C17,8.5 16.2,9.77 15,10.46V10.45Z\";\r\nexport var mdiGhost = \"M12,2A9,9 0 0,0 3,11V22L6,19L9,22L12,19L15,22L18,19L21,22V11A9,9 0 0,0 12,2M9,8A2,2 0 0,1 11,10A2,2 0 0,1 9,12A2,2 0 0,1 7,10A2,2 0 0,1 9,8M15,8A2,2 0 0,1 17,10A2,2 0 0,1 15,12A2,2 0 0,1 13,10A2,2 0 0,1 15,8Z\";\r\nexport var mdiGhostOff = \"M2,3.27L3.28,2L22,20.72L20.73,22L17.87,19.13L15,22L12,19L9,22L6,19L3,22V11C3,9.09 3.59,7.33 4.6,5.87L2,3.27M12,2A9,9 0 0,1 21,11V17.18L15.7,11.88C16.46,11.59 17,10.86 17,10A2,2 0 0,0 15,8C14.14,8 13.41,8.54 13.13,9.3L7.2,3.38C8.59,2.5 10.24,2 12,2M7,10A2,2 0 0,0 9,12C9.5,12 9.93,11.83 10.27,11.54L7.46,8.73C7.17,9.07 7,9.5 7,10Z\";\r\nexport var mdiGhostOffOutline = \"M8.29 5.09L6.84 3.64C8.3 2.61 10.08 2 12 2C16.97 2 21 6.03 21 11V17.8L19 15.8V11C19 7.14 15.86 4 12 4C10.63 4 9.36 4.4 8.29 5.09M22.11 21.46L20.84 22.73L17.56 19.45L15 22L12 19L9 22L6 19L3 22V11C3 9.26 3.5 7.63 4.36 6.25L1.11 3L2.39 1.73L6.89 6.23L8.69 8.03H8.69L10.97 10.31V10.31L17.41 16.76L17.42 16.76L21 20.34V20.35L22.11 21.46M16.14 18.03L9.89 11.78C9.62 11.92 9.32 12 9 12C7.9 12 7 11.11 7 10C7 9.68 7.08 9.38 7.22 9.11L5.82 7.71C5.3 8.69 5 9.81 5 11V17.17L6 16.17L7.41 17.59L9 19.17L10.59 17.59L12 16.17L13.41 17.59L15 19.17L16.14 18.03M15 8C13.96 8 13.11 8.8 13 9.82L15.18 12C16.2 11.89 17 11.04 17 10C17 8.9 16.11 8 15 8Z\";\r\nexport var mdiGhostOutline = \"M12 2C7.03 2 3 6.03 3 11V22L6 19L9 22L12 19L15 22L18 19L21 22V11C21 6.03 16.97 2 12 2M19 17.17L18 16.17L16.59 17.59L15 19.17L13.41 17.59L12 16.17L10.59 17.59L9 19.17L7.41 17.59L6 16.17L5 17.17V11C5 7.14 8.14 4 12 4S19 7.14 19 11V17.17M11 10C11 11.11 10.11 12 9 12S7 11.11 7 10 7.9 8 9 8 11 8.9 11 10M17 10C17 11.11 16.11 12 15 12S13 11.11 13 10 13.9 8 15 8 17 8.9 17 10Z\";\r\nexport var mdiGift = \"M9.06,1.93C7.17,1.92 5.33,3.74 6.17,6H3A2,2 0 0,0 1,8V10A1,1 0 0,0 2,11H11V8H13V11H22A1,1 0 0,0 23,10V8A2,2 0 0,0 21,6H17.83C19,2.73 14.6,0.42 12.57,3.24L12,4L11.43,3.22C10.8,2.33 9.93,1.94 9.06,1.93M9,4C9.89,4 10.34,5.08 9.71,5.71C9.08,6.34 8,5.89 8,5A1,1 0 0,1 9,4M15,4C15.89,4 16.34,5.08 15.71,5.71C15.08,6.34 14,5.89 14,5A1,1 0 0,1 15,4M2,12V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V12H13V20H11V12H2Z\";\r\nexport var mdiGiftOff = \"M1.11 3L4.14 6.04H3C1.9 6.04 1 6.93 1 8.04V10.04C1 10.59 1.45 11.04 2 11.04H9.15L10.15 12.04H2V20.04C2 21.14 2.9 22.04 4 22.04H20C20.05 22.04 20.09 22.03 20.13 22L21.56 23.45L22.83 22.18L2.39 1.73L1.11 3M11 12.89L13 14.89V20.04H11V12.89M22 12.04V18.8L15.24 12.04H22M21 6.04H17.83C19 2.77 14.6 .455 12.57 3.28L12 4.04L11.43 3.26C10.8 2.37 9.93 2 9.06 1.97C8.06 1.96 7.08 2.5 6.5 3.3L8.04 4.84C8.13 4.38 8.5 4.04 9 4.04C9.89 4.04 10.34 5.12 9.71 5.75C9.56 5.89 9.39 6 9.21 6L11.24 8.04H13V9.8L14.24 11.04H22C22.55 11.04 23 10.59 23 10.04V8.04C23 6.93 22.11 6.04 21 6.04M15.71 5.75C15.08 6.38 14 5.93 14 5.04C14 4.5 14.45 4.04 15 4.04C15.89 4.04 16.34 5.12 15.71 5.75Z\";\r\nexport var mdiGiftOffOutline = \"M21 6H17.83C17.94 5.69 18 5.35 18 5C18 3.34 16.66 2 15 2C14 2 13.12 2.5 12.57 3.24V3.23L12 4L11.43 3.23V3.24C10.88 2.5 10 2 9 2C7.97 2 7.06 2.5 6.5 3.32L8.03 4.83C8.12 4.36 8.5 4 9 4C9.55 4 10 4.45 10 5C10 5.5 9.64 5.88 9.17 5.97L13 9.8V8H21V10H13.2L15.2 12H20V16.8L22 18.8V12C22.55 12 23 11.55 23 11V8C23 6.9 22.11 6 21 6M15 6C14.45 6 14 5.55 14 5S14.45 4 15 4 16 4.45 16 5 15.55 6 15 6M1.11 3L4.11 6H3C1.9 6 1 6.9 1 8V11C1 11.55 1.45 12 2 12V20C2 21.11 2.9 22 4 22H20C20.03 22 20.07 22 20.1 22L21.56 23.45L22.83 22.18L2.39 1.73L1.11 3M13 14.89L18.11 20H13V14.89M11 12.89V20H4V12H10.11L11 12.89M8.11 10H3V8H6.11L8.11 10Z\";\r\nexport var mdiGiftOpen = \"M22 10.92L19.26 9.33C21.9 7.08 19.25 2.88 16.08 4.31L15.21 4.68L15.1 3.72C15 2.64 14.44 1.87 13.7 1.42C12.06 .467 9.56 1.12 9.16 3.5L6.41 1.92C5.45 1.36 4.23 1.69 3.68 2.65L2.68 4.38C2.4 4.86 2.57 5.47 3.05 5.75L10.84 10.25L12.34 7.65L14.07 8.65L12.57 11.25L20.36 15.75C20.84 16 21.46 15.86 21.73 15.38L22.73 13.65C23.28 12.69 22.96 11.47 22 10.92M12.37 5C11.5 5.25 10.8 4.32 11.24 3.55C11.5 3.07 12.13 2.91 12.61 3.18C13.38 3.63 13.23 4.79 12.37 5M17.56 8C16.7 8.25 16 7.32 16.44 6.55C16.71 6.07 17.33 5.91 17.8 6.18C18.57 6.63 18.42 7.79 17.56 8M20.87 16.88C21.28 16.88 21.67 16.74 22 16.5V20C22 21.11 21.11 22 20 22H4C2.9 22 2 21.11 2 20V11H10.15L11 11.5V20H13V12.65L19.87 16.61C20.17 16.79 20.5 16.88 20.87 16.88Z\";\r\nexport var mdiGiftOpenOutline = \"M22 10.87L19.26 9.28C19.5 9.07 19.73 8.8 19.9 8.5C20.73 7.07 20.24 5.23 18.8 4.4C17.94 3.9 16.93 3.9 16.08 4.26L16.09 4.25L15.21 4.64L15.1 3.68L15.09 3.69C15 2.78 14.47 1.9 13.61 1.4C12.17 .575 10.34 1.07 9.5 2.5C9.33 2.8 9.22 3.13 9.16 3.45L6.41 1.87C5.45 1.32 4.23 1.64 3.68 2.6L2.18 5.2C1.9 5.68 2.07 6.29 2.55 6.56L4.28 7.56L8.5 10H2V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V14.87L22.73 13.6C23.28 12.64 22.96 11.42 22 10.87M16.44 6.5C16.71 6 17.33 5.86 17.8 6.13C18.28 6.41 18.45 7 18.17 7.5C17.89 8 17.28 8.14 16.8 7.87C16.33 7.59 16.16 7 16.44 6.5M14.07 8.6L21 12.6L20 14.33L13.07 10.33L14.07 8.6M11 20H4V12H11V20M11.34 9.33L4.41 5.33L5.41 3.6L12.34 7.6L11.34 9.33M11.61 4.87C11.13 4.59 10.97 4 11.24 3.5C11.5 3 12.13 2.86 12.61 3.13C13.09 3.41 13.25 4 12.97 4.5C12.7 5 12.09 5.14 11.61 4.87M13 20V12.6L20 16.64V20H13Z\";\r\nexport var mdiGiftOutline = \"M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A1,1 0 0,1 1,11V8A2,2 0 0,1 3,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H21A2,2 0 0,1 23,8V11A1,1 0 0,1 22,12M4,20H11V12H4V20M20,20V12H13V20H20M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M3,8V10H11V8H3M13,8V10H21V8H13Z\";\r\nexport var mdiGit = \"M2.6,10.59L8.38,4.8L10.07,6.5C9.83,7.35 10.22,8.28 11,8.73V14.27C10.4,14.61 10,15.26 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16C14,15.26 13.6,14.61 13,14.27V9.41L15.07,11.5C15,11.65 15,11.82 15,12A2,2 0 0,0 17,14A2,2 0 0,0 19,12A2,2 0 0,0 17,10C16.82,10 16.65,10 16.5,10.07L13.93,7.5C14.19,6.57 13.71,5.55 12.78,5.16C12.35,5 11.9,4.96 11.5,5.07L9.8,3.38L10.59,2.6C11.37,1.81 12.63,1.81 13.41,2.6L21.4,10.59C22.19,11.37 22.19,12.63 21.4,13.41L13.41,21.4C12.63,22.19 11.37,22.19 10.59,21.4L2.6,13.41C1.81,12.63 1.81,11.37 2.6,10.59Z\";\r\nexport var mdiGithub = \"M12,2A10,10 0 0,0 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiGitlab = \"M21.94 13.11L20.89 9.89C20.89 9.86 20.88 9.83 20.87 9.8L18.76 3.32C18.65 3 18.33 2.75 17.96 2.75C17.6 2.75 17.28 3 17.17 3.33L15.17 9.5H8.84L6.83 3.33C6.72 3 6.4 2.75 6.04 2.75H6.04C5.67 2.75 5.35 3 5.24 3.33L3.13 9.82C3.13 9.82 3.13 9.83 3.13 9.83L2.06 13.11C1.9 13.61 2.07 14.15 2.5 14.45L11.72 21.16C11.89 21.28 12.11 21.28 12.28 21.15L21.5 14.45C21.93 14.15 22.1 13.61 21.94 13.11M8.15 10.45L10.72 18.36L4.55 10.45M13.28 18.37L15.75 10.78L15.85 10.45H19.46L13.87 17.61M17.97 3.94L19.78 9.5H16.16M14.86 10.45L13.07 15.96L12 19.24L9.14 10.45M6.03 3.94L7.84 9.5H4.23M3.05 13.69C2.96 13.62 2.92 13.5 2.96 13.4L3.75 10.97L9.57 18.42M20.95 13.69L14.44 18.42L14.46 18.39L20.25 10.97L21.04 13.4C21.08 13.5 21.04 13.62 20.95 13.69\";\r\nexport var mdiGlassCocktail = \"M7.5,7L5.5,5H18.5L16.5,7M11,13V19H6V21H18V19H13V13L21,5V3H3V5L11,13Z\";\r\nexport var mdiGlassCocktailOff = \"M13.33 12.67L7.66 7L6.13 5.47L2.39 1.73L1.11 3L3 4.89V5L11 13V19H6V21H18V19.89L20.84 22.73L22.11 21.46L13.33 12.67M13 19V14.89L17.11 19H13M8.2 5L6.2 3H21V5L14.6 11.4L10.2 7H16.5L18.5 5H8.2Z\";\r\nexport var mdiGlassFlute = \"M8,2H16C15.67,5 15.33,8 14.75,9.83C14.17,11.67 13.33,12.33 12.92,14.08C12.5,15.83 12.5,18.67 13.08,20C13.67,21.33 14.83,21.17 15.42,21.25C16,21.33 16,21.67 16,22H8C8,21.67 8,21.33 8.58,21.25C9.17,21.17 10.33,21.33 10.92,20C11.5,18.67 11.5,15.83 11.08,14.08C10.67,12.33 9.83,11.67 9.25,9.83C8.67,8 8.33,5 8,2M10,4C10.07,5.03 10.15,6.07 10.24,7H13.76C13.85,6.07 13.93,5.03 14,4H10Z\";\r\nexport var mdiGlassFragile = \"M13 20H18V22H6V20H11V13.97C8.19 13.7 6 11.34 6 8.46C6 8.15 6.03 7.85 6.08 7.55L7 2H13.54L12.33 4.41L11.79 5.5H13.79L12.33 8.41L11.79 9.5H14L13 12.75L15.67 9.09L16.46 8H14.21L15.67 5.09L16.21 4H14.21L15.21 2H17L17.93 7.55C18 7.85 18 8.15 18 8.46C18 11.34 15.81 13.7 13 13.97V20Z\";\r\nexport var mdiGlassMug = \"M10,4V7H18V4H10M8,2H20L21,2V3L20,4V20L21,21V22H20L8,22H7V21L8,20V18.6L4.2,16.83C3.5,16.5 3,15.82 3,15V8A2,2 0 0,1 5,6H8V4L7,3V2H8M5,15L8,16.39V8H5V15Z\";\r\nexport var mdiGlassMugOff = \"M20 19.35V19.34L6.66 6L6.07 5.41L2.39 1.73L1.11 3L4.26 6.15C3.5 6.44 3 7.16 3 8V15C3 15.82 3.5 16.5 4.2 16.83L8 18.6V20L7 21V22H20.11L20.84 22.73L22.11 21.46L20 19.35M8 16.39L5 15V8H6.11L8 9.89V16.39M8 4L7 3V2H21V3L20 4V16.8L10.2 7H18V4H10V6.8L8 4.8V4Z\";\r\nexport var mdiGlassMugVariant = \"M9.5 3C7.56 3 5.85 4.24 5.23 6.08C3.36 6.44 2 8.09 2 10C2 12.21 3.79 14 6 14V22H17V20H20C20.55 20 21 19.55 21 19V11C21 10.45 20.55 10 20 10H18V8C18 5.79 16.21 4 14 4H12.32C11.5 3.35 10.53 3 9.5 3M9.5 5C10.29 5 11.03 5.37 11.5 6H14C15.11 6 16 6.9 16 8H12C10 8 9.32 9.13 8.5 10.63C7.68 12.13 6 12 6 12C4.89 12 4 11.11 4 10C4 8.9 4.89 8 6 8H7V7.5C7 6.12 8.12 5 9.5 5M17 12H19V18H17Z\";\r\nexport var mdiGlassMugVariantOff = \"M8.44 5.24L7 3.79C7.71 3.29 8.57 3 9.5 3C10.53 3 11.5 3.35 12.32 4H14C16.21 4 18 5.79 18 8V10H20C20.55 10 21 10.45 21 11V17.8L19 15.8V12H17V13.8L11.26 8.06C11.5 8 11.73 8 12 8H16C16 6.9 15.11 6 14 6H11.5C11.03 5.37 10.29 5 9.5 5C9.12 5 8.76 5.09 8.44 5.24M22.11 21.46L20.84 22.73L18.11 20H17V22H6V14C3.79 14 2 12.21 2 10C2 8.37 3 6.94 4.44 6.33L1.11 3L2.39 1.73L7.19 6.54L9.61 8.96L17 16.34V16.35L18.65 18H18.66L20.5 19.84V19.85L22.11 21.46M8.59 10.5L6.11 8H6C4.89 8 4 8.9 4 10C4 11.11 4.89 12 6 12C6 12 7.68 12.13 8.5 10.63L8.59 10.5Z\";\r\nexport var mdiGlassPintOutline = \"M4 2L6 22H17L19 2H4M6.2 4H16.8L15.2 20H7.8L6.2 4Z\";\r\nexport var mdiGlassStange = \"M8,2H16V22H8V2M10,4V7H14V4H10Z\";\r\nexport var mdiGlassTulip = \"M8,2H16C15.67,2.67 15.33,3.33 15.58,5C15.83,6.67 16.67,9.33 16.25,10.74C15.83,12.14 14.17,12.28 13.33,13.86C12.5,15.44 12.5,18.47 13.08,19.9C13.67,21.33 14.83,21.17 15.42,21.25C16,21.33 16,21.67 16,22H8C8,21.67 8,21.33 8.58,21.25C9.17,21.17 10.33,21.33 10.92,19.9C11.5,18.47 11.5,15.44 10.67,13.86C9.83,12.28 8.17,12.14 7.75,10.74C7.33,9.33 8.17,6.67 8.42,5C8.67,3.33 8.33,2.67 8,2M10,4C10,5.19 9.83,6.17 9.64,7H14.27C14.13,6.17 14,5.19 14,4H10Z\";\r\nexport var mdiGlassWine = \"M15.5,21.27L14.66,21.18C13.9,21.11 13.25,20.6 13,19.87C12.47,17.91 12.47,15.83 13,13.87C15.32,13.4 17,11.37 17,9C17,7 15,2 15,2H9C9,2 7,7 7,9C7,11.38 8.67,13.42 11,13.9C11.53,15.86 11.53,17.94 11,19.9C10.76,20.62 10.12,21.13 9.37,21.21L8.5,21.3C8.5,21.3 8,21.28 8,22H16C16,21.28 15.5,21.27 15.5,21.27M9.44,7L10.44,4H13.56L14.56,7H9.44Z\";\r\nexport var mdiGlasses = \"M3,10C2.76,10 2.55,10.09 2.41,10.25C2.27,10.4 2.21,10.62 2.24,10.86L2.74,13.85C2.82,14.5 3.4,15 4,15H7C7.64,15 8.36,14.44 8.5,13.82L9.56,10.63C9.6,10.5 9.57,10.31 9.5,10.19C9.39,10.07 9.22,10 9,10H3M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17M15,10C14.78,10 14.61,10.07 14.5,10.19C14.42,10.31 14.4,10.5 14.45,10.7L15.46,13.75C15.64,14.44 16.36,15 17,15H20C20.59,15 21.18,14.5 21.25,13.89L21.76,10.82C21.79,10.62 21.73,10.4 21.59,10.25C21.45,10.09 21.24,10 21,10H15Z\";\r\nexport var mdiGlobeLight = \"M7.1 10C8.1 9 9.5 8.3 11 8.1V2H13V8.1C14.5 8.3 15.9 9 16.9 10H7.1M5.3 13C5.1 13.6 5 14.3 5 15C5 18.9 8.1 22 12 22S19 18.9 19 15C19 14.3 18.9 13.6 18.7 13H5.3Z\";\r\nexport var mdiGlobeLightOutline = \"M13 8.08V2H11V8.08C7.61 8.57 5 11.47 5 15C5 18.87 8.13 22 12 22S19 18.87 19 15C19 11.47 16.39 8.57 13 8.08M12 20C9.24 20 7 17.76 7 15C7 13.87 7.39 12.84 8.03 12H15.97C16.61 12.84 17 13.87 17 15C17 17.76 14.76 20 12 20Z\";\r\nexport var mdiGlobeModel = \"M17.36,2.64L15.95,4.06C17.26,5.37 18,7.14 18,9A7,7 0 0,1 11,16C9.15,16 7.37,15.26 6.06,13.95L4.64,15.36C6.08,16.8 7.97,17.71 10,17.93V20H6V22H16V20H12V17.94C16.55,17.43 20,13.58 20,9C20,6.62 19.05,4.33 17.36,2.64M11,3.5A5.5,5.5 0 0,0 5.5,9A5.5,5.5 0 0,0 11,14.5A5.5,5.5 0 0,0 16.5,9A5.5,5.5 0 0,0 11,3.5M11,5.5C12.94,5.5 14.5,7.07 14.5,9A3.5,3.5 0 0,1 11,12.5A3.5,3.5 0 0,1 7.5,9A3.5,3.5 0 0,1 11,5.5Z\";\r\nexport var mdiGmail = \"M20,18H18V9.25L12,13L6,9.25V18H4V6H5.2L12,10.25L18.8,6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiGnome = \"M18.42,2C14.26,2 13.5,7.93 15.82,7.93C18.16,7.93 22.58,2 18.42,2M12,2.73C11.92,2.73 11.85,2.73 11.78,2.74C9.44,3.04 10.26,7.12 11.5,7.19C12.72,7.27 14.04,2.73 12,2.73M7.93,4.34C7.81,4.34 7.67,4.37 7.53,4.43C5.65,5.21 7.24,8.41 8.3,8.2C9.27,8 9.39,4.3 7.93,4.34M4.93,6.85C4.77,6.84 4.59,6.9 4.41,7.03C2.9,8.07 4.91,10.58 5.8,10.19C6.57,9.85 6.08,6.89 4.93,6.85M13.29,8.77C10.1,8.8 6.03,10.42 5.32,13.59C4.53,17.11 8.56,22 12.76,22C14.83,22 17.21,20.13 17.66,17.77C18,15.97 13.65,16.69 13.81,17.88C14,19.31 12.76,20 11.55,19.1C7.69,16.16 17.93,14.7 17.25,10.69C17.03,9.39 15.34,8.76 13.29,8.77Z\";\r\nexport var mdiGoKart = \"M18,10H15.53L14.38,8.28L15.8,7.33L14.7,5.67L10.2,8.67L11.3,10.33L12.73,9.38L13.88,11.12L13,12H10.2L5.83,5.45L4.17,6.55L5.87,9.11C3.04,9.65 1,12.12 1,15V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V15A5,5 0 0,0 18,10M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5Z\";\r\nexport var mdiGoKartTrack = \"M22,5.5A3.5,3.5 0 0,0 18.5,2A3.5,3.5 0 0,0 15,5.5V6A3,3 0 0,1 12,9C10,9 9,6 6,6A4,4 0 0,0 2,10V11H4V10A2,2 0 0,1 6,8C6.86,8 7.42,8.45 8.32,9.24C9.28,10.27 10.6,10.9 12,11A5,5 0 0,0 17,6V5.5A1.5,1.5 0 0,1 18.5,4A1.5,1.5 0 0,1 20,5.5C19.86,6.35 19.58,7.18 19.17,7.94C18.5,9.2 18.11,10.58 18,12C18.09,13.37 18.5,14.71 19.21,15.89C19.6,16.54 19.87,17.25 20,18A2,2 0 0,1 18,20A2,2 0 0,1 16,18A3.75,3.75 0 0,0 12.25,14.25A3.75,3.75 0 0,0 8.5,18V18.5A1.5,1.5 0 0,1 7,20A3,3 0 0,1 4,17V15H6V13H0V15H2V17A5,5 0 0,0 7,22A3.5,3.5 0 0,0 10.5,18.5V18A1.75,1.75 0 0,1 12.25,16.25A1.75,1.75 0 0,1 14,18A4,4 0 0,0 18,22A4,4 0 0,0 22,18C22,16 20,14 20,12C20,10 22,7.5 22,5.5Z\";\r\nexport var mdiGog = \"M4,3H20A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M10.46,5.54C9.95,5.54 9.54,5.95 9.54,6.46V9.54A0.92,0.92 0 0,0 10.46,10.46H13.54A0.92,0.92 0 0,0 14.46,9.54V6.46C14.46,5.95 14.05,5.54 13.54,5.54H10.46M11.08,6.77H12.92A0.31,0.31 0 0,1 13.23,7.08V8.92A0.31,0.31 0 0,1 12.92,9.23H11.08A0.31,0.31 0 0,1 10.77,8.92V7.08A0.31,0.31 0 0,1 11.08,6.77M4.92,5.54A0.92,0.92 0 0,0 4,6.46V9.54C4,10.05 4.41,10.46 4.92,10.46H7.08V9.23H5.54C5.37,9.23 5.23,9.09 5.23,8.92V7.08C5.23,6.91 5.37,6.77 5.54,6.77H7.38A0.31,0.31 0 0,1 7.69,7.08V10.77A0.31,0.31 0 0,1 7.38,11.08H4V12.31H8C8.5,12.31 8.92,11.89 8.92,11.38V6.46A0.92,0.92 0 0,0 8,5.54H4.92M16,5.54C15.5,5.54 15.08,5.95 15.08,6.46V9.54C15.08,10.05 15.5,10.46 16,10.46H18.15V9.23H16.62C16.45,9.23 16.31,9.09 16.31,8.92V7.08C16.31,6.91 16.45,6.77 16.62,6.77H18.46C18.63,6.77 18.77,6.91 18.77,7.08V10.77C18.77,10.94 18.63,11.08 18.46,11.08H15.08V12.31H19.08C19.59,12.31 20,11.89 20,11.38V6.46C20,5.95 19.59,5.54 19.08,5.54H16M9.85,13.54C9.34,13.54 8.92,13.95 8.92,14.46V17.54C8.92,18.05 9.34,18.46 9.85,18.46H12.92C13.43,18.46 13.85,18.05 13.85,17.54V14.46C13.85,13.95 13.43,13.54 12.92,13.54H9.85M10.46,14.77H12.31C12.5,14.77 12.62,14.91 12.62,15.08V16.92A0.31,0.31 0 0,1 12.31,17.23H10.46C10.29,17.23 10.15,17.09 10.15,16.92V15.08A0.31,0.31 0 0,1 10.46,14.77M4.92,13.54C4.41,13.54 4,13.95 4,14.46V17.54C4,18.05 4.41,18.46 4.92,18.46H8.31V17.23H5.54C5.37,17.23 5.23,17.09 5.23,16.92V15.08C5.23,14.91 5.37,14.77 5.54,14.77H8.31V13.54H4.92M15.38,13.54C14.87,13.54 14.46,13.95 14.46,14.46V18.46H15.69V15.08A0.31,0.31 0 0,1 16,14.77H16.62V18.46H17.85V14.77H18.77V18.46H20V13.54H15.38Z\";\r\nexport var mdiGold = \"M1 22L2.5 17H9.5L11 22H1M13 22L14.5 17H21.5L23 22H13M6 15L7.5 10H14.5L16 15H6M23 6.05L19.14 7.14L18.05 11L16.96 7.14L13.1 6.05L16.96 4.96L18.05 1.1L19.14 4.96L23 6.05Z\";\r\nexport var mdiGolf = \"M19.5,18A1.5,1.5 0 0,1 21,19.5A1.5,1.5 0 0,1 19.5,21A1.5,1.5 0 0,1 18,19.5A1.5,1.5 0 0,1 19.5,18M17,5.92L11,9V18.03C13.84,18.19 16,19 16,20C16,21.1 13.31,22 10,22C6.69,22 4,21.1 4,20C4,19.26 5.21,18.62 7,18.27V20H9V2L17,5.92Z\";\r\nexport var mdiGolfCart = \"M19.89 12.37L18.25 5H19V3H3V7H1V9H3V12.54A6 6 0 0 0 1 17V19H3A3 3 0 0 0 9 19H15A3 3 0 0 0 21 19H23V17A5 5 0 0 0 19.89 12.37M6 20.5A1.5 1.5 0 1 1 7.5 19A1.5 1.5 0 0 1 6 20.5M15.53 12L14.38 10.28L15.8 9.33L14.7 7.67L10.2 10.67L11.3 12.33L12.73 11.38L13.88 13.12L13 14H10.2L5 7V5H16.2L17.75 12M18 20.5A1.5 1.5 0 1 1 19.5 19A1.5 1.5 0 0 1 18 20.5Z\";\r\nexport var mdiGolfTee = \"M7 19V17H17V19H15C14.5 19 14 19.2 13.6 19.6S13 20.5 13 21V22H11V21C11 20.5 10.8 20 10.4 19.6S9.5 19 9 19H7M11 6C11 5.7 11.1 5.5 11.3 5.3S11.7 5 12 5 12.5 5.1 12.7 5.3 13 5.7 13 6 12.9 6.5 12.7 6.7 12.3 7 12 7 11.5 6.9 11.3 6.7 11 6.3 11 6M13 8C13 7.7 13.1 7.5 13.3 7.3S13.7 7 14 7 14.5 7.1 14.7 7.3 15 7.7 15 8 14.9 8.5 14.7 8.7 14.3 9 14 9 13.5 8.9 13.3 8.7 13 8.3 13 8M9 8C9 7.7 9.1 7.5 9.3 7.3S9.7 7 10 7 10.5 7.1 10.7 7.3 11 7.7 11 8 10.9 8.5 10.7 8.7 10.3 9 10 9 9.5 8.9 9.3 8.7 9 8.3 9 8M16.9 4.1C15.5 2.7 13.9 2.1 12 2.1S8.4 2.8 7.1 4.1 5 7.1 5 9 5.7 12.6 7 13.9 10 15.9 11.9 15.9 15.5 15.2 16.8 13.9 18.8 10.9 18.8 9 18.3 5.4 16.9 4.1M15.5 12.5C14.5 13.5 13.3 14 12 14S9.4 13.5 8.5 12.5 7 10.4 7 9 7.5 6.4 8.5 5.5 10.6 4 12 4 14.6 4.5 15.5 5.5 17 7.6 17 9 16.5 11.6 15.5 12.5Z\";\r\nexport var mdiGondola = \"M18,10H13V7.59L22.12,6.07L21.88,4.59L16.41,5.5C16.46,5.35 16.5,5.18 16.5,5A1.5,1.5 0 0,0 15,3.5A1.5,1.5 0 0,0 13.5,5C13.5,5.35 13.63,5.68 13.84,5.93L13,6.07V5H11V6.41L10.41,6.5C10.46,6.35 10.5,6.18 10.5,6A1.5,1.5 0 0,0 9,4.5A1.5,1.5 0 0,0 7.5,6C7.5,6.36 7.63,6.68 7.83,6.93L1.88,7.93L2.12,9.41L11,7.93V10H6C4.89,10 4,10.9 4,12V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V12A2,2 0 0,0 18,10M6,12H8.25V16H6V12M9.75,16V12H14.25V16H9.75M18,16H15.75V12H18V16Z\";\r\nexport var mdiGoodreads = \"M17,12.77C15.96,14.42 14.22,15.5 12.25,15.5C9.07,15.5 6.5,12.7 6.5,9.25C6.5,5.8 9.07,3 12.25,3C14.22,3 15.96,4.08 17,5.73V3H18V15.25C18,20.71 14.54,21 11.5,21C9,21 7.55,19.31 7.13,17H8.14C8.5,18.75 9.54,20 11.5,20C13.72,20 17,20.05 17,15.25V15.25L17,12.77M12.25,4C9.63,4 7.5,6.35 7.5,9.25C7.5,12.15 9.63,14.5 12.25,14.5C14.87,14.5 17,12.15 17,9.25C17,6.35 14.87,4 12.25,4Z\";\r\nexport var mdiGoogle = \"M21.35,11.1H12.18V13.83H18.69C18.36,17.64 15.19,19.27 12.19,19.27C8.36,19.27 5,16.25 5,12C5,7.9 8.2,4.73 12.2,4.73C15.29,4.73 17.1,6.7 17.1,6.7L19,4.72C19,4.72 16.56,2 12.1,2C6.42,2 2.03,6.8 2.03,12C2.03,17.05 6.16,22 12.25,22C17.6,22 21.5,18.33 21.5,12.91C21.5,11.76 21.35,11.1 21.35,11.1V11.1Z\";\r\nexport var mdiGoogleAds = \"M12.25 1.47C11.55 1.42 10.82 1.58 10.17 1.96C8.41 2.97 7.81 5.21 8.82 6.96L16.16 19.66C17.17 21.42 19.41 22 21.17 21C22.92 20 23.5 17.75 22.5 16L15.18 3.3C14.54 2.2 13.43 1.56 12.25 1.47M6.82 6.76L1.5 16A3.67 3.67 0 0 0 1 17.83A3.67 3.67 0 0 0 4.67 21.5A3.67 3.67 0 0 0 7.84 19.66V19.67L11 14.19C9.65 11.89 8.27 9.6 7.03 7.23C6.95 7.08 6.88 6.92 6.83 6.76ZL16.4 5Z\";\r\nexport var mdiGoogleAnalytics = \"M15.86 4.39V19.39C15.86 21.06 17 22 18.25 22C19.39 22 20.64 21.21 20.64 19.39V4.5C20.64 2.96 19.5 2 18.25 2S15.86 3.06 15.86 4.39M9.61 12V19.39C9.61 21.07 10.77 22 12 22C13.14 22 14.39 21.21 14.39 19.39V12.11C14.39 10.57 13.25 9.61 12 9.61S9.61 10.67 9.61 12M5.75 17.23C7.07 17.23 8.14 18.3 8.14 19.61C8.14 20.93 7.07 22 5.75 22S3.36 20.93 3.36 19.61C3.36 18.3 4.43 17.23 5.75 17.23Z\";\r\nexport var mdiGoogleAssistant = \"M7,2A6,6 0 0,0 1,8A6,6 0 0,0 7,14A6,6 0 0,0 13,8A6,6 0 0,0 7,2M21.5,6A1.5,1.5 0 0,0 20,7.5A1.5,1.5 0 0,0 21.5,9A1.5,1.5 0 0,0 23,7.5A1.5,1.5 0 0,0 21.5,6M17,8A3,3 0 0,0 14,11A3,3 0 0,0 17,14A3,3 0 0,0 20,11A3,3 0 0,0 17,8M17,15A3.5,3.5 0 0,0 13.5,18.5A3.5,3.5 0 0,0 17,22A3.5,3.5 0 0,0 20.5,18.5A3.5,3.5 0 0,0 17,15Z\";\r\nexport var mdiGoogleCardboard = \"M20.74,6H3.2C2.55,6 2,6.57 2,7.27V17.73C2,18.43 2.55,19 3.23,19H8C8.54,19 9,18.68 9.16,18.21L10.55,14.74C10.79,14.16 11.35,13.75 12,13.75C12.65,13.75 13.21,14.16 13.45,14.74L14.84,18.21C15.03,18.68 15.46,19 15.95,19H20.74C21.45,19 22,18.43 22,17.73V7.27C22,6.57 21.45,6 20.74,6M7.22,14.58C6,14.58 5,13.55 5,12.29C5,11 6,10 7.22,10C8.44,10 9.43,11 9.43,12.29C9.43,13.55 8.44,14.58 7.22,14.58M16.78,14.58C15.56,14.58 14.57,13.55 14.57,12.29C14.57,11.03 15.56,10 16.78,10C18,10 19,11.03 19,12.29C19,13.55 18,14.58 16.78,14.58Z\";\r\nexport var mdiGoogleChrome = \"M12,20L15.46,14H15.45C15.79,13.4 16,12.73 16,12C16,10.8 15.46,9.73 14.62,9H19.41C19.79,9.93 20,10.94 20,12A8,8 0 0,1 12,20M4,12C4,10.54 4.39,9.18 5.07,8L8.54,14H8.55C9.24,15.19 10.5,16 12,16C12.45,16 12.88,15.91 13.29,15.77L10.89,19.91C7,19.37 4,16.04 4,12M15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12M12,4C14.96,4 17.54,5.61 18.92,8H12C10.06,8 8.45,9.38 8.08,11.21L5.7,7.08C7.16,5.21 9.44,4 12,4M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiGoogleCircles = \"M16.66,15H17C18,15 19,14.8 19.87,14.46C19.17,18.73 15.47,22 11,22C6,22 2,17.97 2,13C2,8.53 5.27,4.83 9.54,4.13C9.2,5 9,6 9,7V7.34C6.68,8.16 5,10.38 5,13A6,6 0 0,0 11,19C13.62,19 15.84,17.32 16.66,15M17,10A3,3 0 0,0 20,7A3,3 0 0,0 17,4A3,3 0 0,0 14,7A3,3 0 0,0 17,10M17,1A6,6 0 0,1 23,7A6,6 0 0,1 17,13A6,6 0 0,1 11,7C11,3.68 13.69,1 17,1Z\";\r\nexport var mdiGoogleCirclesCommunities = \"M15,12C13.89,12 13,12.89 13,14A2,2 0 0,0 15,16A2,2 0 0,0 17,14C17,12.89 16.1,12 15,12M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M14,9C14,7.89 13.1,7 12,7C10.89,7 10,7.89 10,9A2,2 0 0,0 12,11A2,2 0 0,0 14,9M9,12A2,2 0 0,0 7,14A2,2 0 0,0 9,16A2,2 0 0,0 11,14C11,12.89 10.1,12 9,12Z\";\r\nexport var mdiGoogleCirclesExtended = \"M18,19C16.89,19 16,18.1 16,17C16,15.89 16.89,15 18,15A2,2 0 0,1 20,17A2,2 0 0,1 18,19M18,13A4,4 0 0,0 14,17A4,4 0 0,0 18,21A4,4 0 0,0 22,17A4,4 0 0,0 18,13M12,11.1A1.9,1.9 0 0,0 10.1,13A1.9,1.9 0 0,0 12,14.9A1.9,1.9 0 0,0 13.9,13A1.9,1.9 0 0,0 12,11.1M6,19C4.89,19 4,18.1 4,17C4,15.89 4.89,15 6,15A2,2 0 0,1 8,17A2,2 0 0,1 6,19M6,13A4,4 0 0,0 2,17A4,4 0 0,0 6,21A4,4 0 0,0 10,17A4,4 0 0,0 6,13M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M12,10A4,4 0 0,0 16,6A4,4 0 0,0 12,2A4,4 0 0,0 8,6A4,4 0 0,0 12,10Z\";\r\nexport var mdiGoogleCirclesGroup = \"M5,10A2,2 0 0,0 3,12C3,13.11 3.9,14 5,14C6.11,14 7,13.11 7,12A2,2 0 0,0 5,10M5,16A4,4 0 0,1 1,12A4,4 0 0,1 5,8A4,4 0 0,1 9,12A4,4 0 0,1 5,16M10.5,11H14V8L18,12L14,16V13H10.5V11M5,6C4.55,6 4.11,6.05 3.69,6.14C5.63,3.05 9.08,1 13,1C19.08,1 24,5.92 24,12C24,18.08 19.08,23 13,23C9.08,23 5.63,20.95 3.69,17.86C4.11,17.95 4.55,18 5,18C5.8,18 6.56,17.84 7.25,17.56C8.71,19.07 10.74,20 13,20A8,8 0 0,0 21,12A8,8 0 0,0 13,4C10.74,4 8.71,4.93 7.25,6.44C6.56,6.16 5.8,6 5,6Z\";\r\nexport var mdiGoogleClassroom = \"M23,2H1A1,1 0 0,0 0,3V21A1,1 0 0,0 1,22H23A1,1 0 0,0 24,21V3A1,1 0 0,0 23,2M22,20H20V19H15V20H2V4H22V20M10.29,9.71A1.71,1.71 0 0,1 12,8C12.95,8 13.71,8.77 13.71,9.71C13.71,10.66 12.95,11.43 12,11.43C11.05,11.43 10.29,10.66 10.29,9.71M5.71,11.29C5.71,10.58 6.29,10 7,10A1.29,1.29 0 0,1 8.29,11.29C8.29,12 7.71,12.57 7,12.57C6.29,12.57 5.71,12 5.71,11.29M15.71,11.29A1.29,1.29 0 0,1 17,10A1.29,1.29 0 0,1 18.29,11.29C18.29,12 17.71,12.57 17,12.57C16.29,12.57 15.71,12 15.71,11.29M20,15.14V16H16L14,16H10L8,16H4V15.14C4,14.2 5.55,13.43 7,13.43C7.55,13.43 8.11,13.54 8.6,13.73C9.35,13.04 10.7,12.57 12,12.57C13.3,12.57 14.65,13.04 15.4,13.73C15.89,13.54 16.45,13.43 17,13.43C18.45,13.43 20,14.2 20,15.14Z\";\r\nexport var mdiGoogleCloud = \"M23 14.75C23 18.2 20.2 21 16.75 21H7.25C3.8 21 1 18.2 1 14.75C1 12.61 2.08 10.72 3.71 9.6C4.58 5.82 7.96 3 12 3C16.04 3 19.42 5.82 20.29 9.6C21.93 10.72 23 12.61 23 14.75M16.63 17C17.94 17 19 15.94 19 14.63C19 13.35 18 12.3 16.72 12.25L16.75 11.75C16.75 9.13 14.62 7 12 7C10.58 7 9.3 7.62 8.43 8.61C9.93 8.9 11.23 9.72 12.14 10.86L9.5 13.5C9.08 12.77 8.29 12.25 7.38 12.25C6.06 12.25 5 13.31 5 14.63C5 15.9 6 16.93 7.25 17V17H16.63Z\";\r\nexport var mdiGoogleDownasaur = \"M13 2V3H12V9H11V10H9V11H8V12H7V13H5V12H4V11H3V9H2V15H3V16H4V17H5V18H6V22H8V21H7V20H8V19H9V18H10V19H11V22H13V21H12V17H13V16H14V15H15V12H16V13H17V11H15V9H20V8H17V7H22V3H21V2M14 3H15V4H14Z\";\r\nexport var mdiGoogleDrive = \"M7.71,3.5L1.15,15L4.58,21L11.13,9.5M9.73,15L6.3,21H19.42L22.85,15M22.28,14L15.42,2H8.58L8.57,2L15.43,14H22.28Z\";\r\nexport var mdiGoogleEarth = \"M12,12.14C11.09,10.77 10.14,9.78 9.14,9.19C8.14,8.59 7.27,8.38 6.5,8.55C5.77,8.73 5.14,9.14 4.64,9.8C4.2,10.39 4,11.06 4,11.81V12C4,12.78 4.11,13.58 4.36,14.39C4.45,14.64 4.5,14.64 4.55,14.39C4.67,13.77 4.96,13.31 5.41,13.03C5.87,12.75 6.47,12.76 7.22,13.05C7.97,13.35 8.7,14 9.42,14.95C10.7,16.67 12.2,17.72 13.92,18.09C16.14,18.41 17.81,17.7 18.94,16C19.25,15.39 19.5,14.86 19.64,14.39C19.73,14.08 19.69,14.05 19.5,14.3C19.03,14.92 18.4,15.33 17.6,15.5C16.8,15.7 15.89,15.5 14.86,15C13.83,14.43 12.88,13.5 12,12.14M16.97,8.16C15.41,5.81 13.72,4.5 11.91,4.17C10.47,3.95 8.91,4.45 7.22,5.67C7,5.83 6.9,5.91 6.91,5.93C6.93,5.95 7.06,5.89 7.31,5.77C9.81,4.55 12.22,5.83 14.53,9.61C15.03,10.45 15.55,11.11 16.1,11.58C16.65,12.05 17.16,12.33 17.65,12.42C18.13,12.5 18.57,12.5 18.96,12.38C19.35,12.25 19.7,12.05 20,11.77C20,11.17 19.91,10.5 19.69,9.8C19.19,9.92 18.74,9.88 18.35,9.68C17.96,9.5 17.5,8.97 16.97,8.16M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiGoogleFit = \"M17,4A5,5 0 0,1 22,9C22,10.38 21.44,11.63 20.54,12.54L12,21.07L3.46,12.54C2.56,11.63 2,10.38 2,9A5,5 0 0,1 7,4C8.38,4 9.63,4.56 10.54,5.46L12,6.93L13.46,5.46C14.37,4.56 15.62,4 17,4M15.59,7.59L9.17,14L12,16.83L18.41,10.41C18.78,10.05 19,9.55 19,9A2,2 0 0,0 17,7C16.45,7 15.95,7.22 15.59,7.59M8.41,7.59C8.05,7.22 7.55,7 7,7A2,2 0 0,0 5,9C5,9.55 5.22,10.05 5.59,10.41L7.05,11.88L9.88,9.05L8.41,7.59Z\";\r\nexport var mdiGoogleGlass = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M16.75 18H15.25V8.9L6.72 18H4.66L15.45 6.5C15.66 6.26 16 6.19 16.27 6.3C16.56 6.42 16.75 6.69 16.75 7V18Z\";\r\nexport var mdiGoogleHangouts = \"M15,11L14,13H12.5L13.5,11H12V8H15M11,11L10,13H8.5L9.5,11H8V8H11M11.5,2A8.5,8.5 0 0,0 3,10.5A8.5,8.5 0 0,0 11.5,19H12V22.5C16.86,20.15 20,15 20,10.5C20,5.8 16.19,2 11.5,2Z\";\r\nexport var mdiGoogleKeep = \"M4 2H20C21.11 2 22 2.9 22 4V17.33L17.33 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M17 17V20.25L20.25 17H17M10 19H14V18H15V13C16.21 12.09 17 10.64 17 9C17 6.24 14.76 4 12 4S7 6.24 7 9C7 10.64 7.79 12.09 9 13V18H10V19M14 17H10V15H14V17M12 5C14.21 5 16 6.79 16 9C16 10.5 15.2 11.77 14 12.46V14H10V12.46C8.8 11.77 8 10.5 8 9C8 6.79 9.79 5 12 5Z\";\r\nexport var mdiGoogleLens = \"M6,2H18A4,4 0 0,1 22,6V12H20V6A2,2 0 0,0 18,4H6A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H12V22H6A4,4 0 0,1 2,18V6A4,4 0 0,1 6,2M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M18,16A2,2 0 0,1 20,18A2,2 0 0,1 18,20A2,2 0 0,1 16,18A2,2 0 0,1 18,16Z\";\r\nexport var mdiGoogleMaps = \"M18.27 6C19.28 8.17 19.05 10.73 17.94 12.81C17 14.5 15.65 15.93 14.5 17.5C14 18.2 13.5 18.95 13.13 19.76C13 20.03 12.91 20.31 12.81 20.59C12.71 20.87 12.62 21.15 12.53 21.43C12.44 21.69 12.33 22 12 22H12C11.61 22 11.5 21.56 11.42 21.26C11.18 20.53 10.94 19.83 10.57 19.16C10.15 18.37 9.62 17.64 9.08 16.93L18.27 6M9.12 8.42L5.82 12.34C6.43 13.63 7.34 14.73 8.21 15.83C8.42 16.08 8.63 16.34 8.83 16.61L13 11.67L12.96 11.68C11.5 12.18 9.88 11.44 9.3 10C9.22 9.83 9.16 9.63 9.12 9.43C9.07 9.06 9.06 8.79 9.12 8.43L9.12 8.42M6.58 4.62L6.57 4.63C4.95 6.68 4.67 9.53 5.64 11.94L9.63 7.2L9.58 7.15L6.58 4.62M14.22 2.36L11 6.17L11.04 6.16C12.38 5.7 13.88 6.28 14.56 7.5C14.71 7.78 14.83 8.08 14.87 8.38C14.93 8.76 14.95 9.03 14.88 9.4L14.88 9.41L18.08 5.61C17.24 4.09 15.87 2.93 14.23 2.37L14.22 2.36M9.89 6.89L13.8 2.24L13.76 2.23C13.18 2.08 12.59 2 12 2C10.03 2 8.17 2.85 6.85 4.31L6.83 4.32L9.89 6.89Z\";\r\nexport var mdiGoogleMyBusiness = \"M22 8.5C22 9.87 20.88 11 19.5 11S17 9.87 17 8.5C17 9.87 15.88 11 14.5 11C13.12 11 12 9.87 12 8.5C12 9.87 10.88 11 9.5 11S7 9.87 7 8.5C7 9.87 5.88 11 4.5 11S2 9.87 2 8.5L3.39 3.08C3.39 3.08 3.68 2 4.7 2H19.3C20.32 2 20.61 3.08 20.61 3.08L22 8.5M21 12.2V20C21 21.1 20.1 22 19 22H5C3.9 22 3 21.1 3 20V12.2C3.46 12.39 3.97 12.5 4.5 12.5C5.45 12.5 6.32 12.17 7 11.62C7.69 12.17 8.56 12.5 9.5 12.5C10.45 12.5 11.32 12.17 12 11.62C12.69 12.17 13.56 12.5 14.5 12.5C15.45 12.5 16.32 12.17 17 11.62C17.68 12.17 18.56 12.5 19.5 12.5C20.03 12.5 20.54 12.39 21 12.2M19 17.33C19 17.13 19 16.92 18.95 16.7L18.92 16.54H15.95V17.71H17.76C17.7 17.93 17.62 18.15 17.45 18.33C17.12 18.66 16.67 18.84 16.19 18.84C15.69 18.84 15.2 18.63 14.84 18.28C14.15 17.57 14.15 16.42 14.86 15.7C15.55 15 16.69 15 17.41 15.67L17.55 15.8L18.39 14.95L18.23 14.81C17.67 14.29 16.93 14 16.15 14H16.14C15.33 14 14.57 14.31 14 14.87C13.41 15.45 13.08 16.21 13.08 17C13.08 17.8 13.39 18.54 13.96 19.09H13.96C14.54 19.66 15.35 20 16.18 20H16.2C17 20 17.71 19.71 18.23 19.2C18.7 18.72 19 18 19 17.33Z\";\r\nexport var mdiGoogleNearby = \"M21.36,10.46L13.54,2.64C12.69,1.79 11.31,1.79 10.46,2.64L2.64,10.46C1.79,11.31 1.79,12.69 2.64,13.54L10.46,21.36C11.31,22.21 12.69,22.21 13.54,21.36L21.36,13.54C22.21,12.69 22.21,11.31 21.36,10.46M12,19L5,12L12,5L19,12L12,19M16.5,12L12,16.5L7.5,12L12,7.5L16.5,12Z\";\r\nexport var mdiGooglePlay = \"M3,20.5V3.5C3,2.91 3.34,2.39 3.84,2.15L13.69,12L3.84,21.85C3.34,21.6 3,21.09 3,20.5M16.81,15.12L6.05,21.34L14.54,12.85L16.81,15.12M20.16,10.81C20.5,11.08 20.75,11.5 20.75,12C20.75,12.5 20.53,12.9 20.18,13.18L17.89,14.5L15.39,12L17.89,9.5L20.16,10.81M6.05,2.66L16.81,8.88L14.54,11.15L6.05,2.66Z\";\r\nexport var mdiGooglePlus = \"M23,11H21V9H19V11H17V13H19V15H21V13H23M8,11V13.4H12C11.8,14.4 10.8,16.4 8,16.4C5.6,16.4 3.7,14.4 3.7,12C3.7,9.6 5.6,7.6 8,7.6C9.4,7.6 10.3,8.2 10.8,8.7L12.7,6.9C11.5,5.7 9.9,5 8,5C4.1,5 1,8.1 1,12C1,15.9 4.1,19 8,19C12,19 14.7,16.2 14.7,12.2C14.7,11.7 14.7,11.4 14.6,11H8Z\";\r\nexport var mdiGooglePodcast = \"M17.68,7.22V8.62C17.68,9.3 17.13,9.86 16.43,9.86C15.74,9.86 15.18,9.3 15.18,8.62V7.22A1.25,1.25 0 0,1 16.43,5.97C17.13,5.97 17.68,6.53 17.68,7.22M13.25,8.36V15.63C13.25,16.32 12.69,16.88 12,16.88C11.31,16.88 10.75,16.32 10.75,15.63V8.36C10.75,7.68 11.31,7.11 12,7.11C12.69,7.11 13.25,7.68 13.25,8.36M22,11.3V12.7C22,13.38 21.44,13.94 20.75,13.94C20.06,13.94 19.5,13.38 19.5,12.7V11.3C19.5,10.61 20.06,10.06 20.75,10.06C21.44,10.06 22,10.61 22,11.3M4.5,11.3V12.7C4.5,13.38 3.94,13.94 3.25,13.94C2.55,13.94 2,13.38 2,12.7V11.3C2,10.61 2.55,10.06 3.25,10.06C3.94,10.06 4.5,10.61 4.5,11.3M8.82,15.38V16.77C8.82,17.45 8.26,18 7.57,18C6.88,18 6.32,17.45 6.32,16.77V15.38C6.32,14.68 6.88,14.13 7.57,14.13A1.25,1.25 0 0,1 8.82,15.38M13.25,19.36V20.75A1.25,1.25 0 0,1 12,22A1.25,1.25 0 0,1 10.75,20.75V19.36A1.25,1.25 0 0,1 12,18.11A1.25,1.25 0 0,1 13.25,19.36M13.25,3.25V4.64A1.25,1.25 0 0,1 12,5.89A1.25,1.25 0 0,1 10.75,4.64V3.25C10.75,2.55 11.31,2 12,2A1.25,1.25 0 0,1 13.25,3.25M17.68,12.34V16.77C17.68,17.46 17.13,18 16.43,18C15.74,18 15.18,17.46 15.18,16.77V12.34C15.18,11.64 15.74,11.09 16.43,11.09C17.13,11.09 17.68,11.64 17.68,12.34M8.82,7.22V11.65C8.82,12.35 8.26,12.9 7.57,12.9A1.25,1.25 0 0,1 6.32,11.65V7.22A1.25,1.25 0 0,1 7.57,5.97A1.25,1.25 0 0,1 8.82,7.22Z\";\r\nexport var mdiGoogleSpreadsheet = \"M19,11V9H11V5H9V9H5V11H9V19H11V11H19M19,3C19.5,3 20,3.2 20.39,3.61C20.8,4 21,4.5 21,5V19C21,19.5 20.8,20 20.39,20.39C20,20.8 19.5,21 19,21H5C4.5,21 4,20.8 3.61,20.39C3.2,20 3,19.5 3,19V5C3,4.5 3.2,4 3.61,3.61C4,3.2 4.5,3 5,3H19Z\";\r\nexport var mdiGoogleStreetView = \"M11.95,9.27C13.96,9.27 15.59,7.64 15.59,5.63C15.59,3.63 13.96,2 11.95,2C9.94,2 8.32,3.63 8.32,5.63C8.32,7.64 9.94,9.27 11.95,9.27M9.36,12.97C9.36,12.97 8.27,15.94 7.96,16.5C7.85,16.71 7.87,16.77 7.6,16.77C7.33,16.77 6.91,16.5 6.91,16.5C6.91,16.5 6.71,16.37 6.79,16.14C7.03,15.4 8.12,11.08 8.35,10.25C8.6,9.36 9.28,9.39 9.28,9.39H9.93L12.03,13.04L14.14,9.39H14.92C14.92,9.39 15.23,9.43 15.46,9.7C15.7,9.97 15.75,10.44 15.75,10.44L17.14,15.84C17.14,15.84 17.24,16.22 17.21,16.33C17.17,16.5 17.08,16.5 17.08,16.5C17.08,16.5 16.69,16.62 16.47,16.69C16.07,16.82 16,16.44 16,16.44L14.7,13.04L14.55,22H12.6L12.27,16.89C12.27,16.89 12.21,16.76 12.03,16.76C11.86,16.76 11.8,16.89 11.8,16.89L11.45,22H9.5L9.37,12.97H9.36Z\";\r\nexport var mdiGoogleTranslate = \"M20,5H10.88L10,2H4A2,2 0 0,0 2,4V17A2,2 0 0,0 4,19H11L12,22H20A2,2 0 0,0 22,20V7A2,2 0 0,0 20,5M7.17,14.59A4.09,4.09 0 0,1 3.08,10.5A4.09,4.09 0 0,1 7.17,6.41C8.21,6.41 9.16,6.78 9.91,7.5L10,7.54L8.75,8.72L8.69,8.67C8.4,8.4 7.91,8.08 7.17,8.08C5.86,8.08 4.79,9.17 4.79,10.5C4.79,11.83 5.86,12.92 7.17,12.92C8.54,12.92 9.13,12.05 9.29,11.46H7.08V9.91H11.03L11.04,10C11.08,10.19 11.09,10.38 11.09,10.59C11.09,12.94 9.5,14.59 7.17,14.59M13.2,12.88C13.53,13.5 13.94,14.06 14.39,14.58L13.85,15.11L13.2,12.88M13.97,12.12H13L12.67,11.08H16.66C16.66,11.08 16.32,12.39 15.1,13.82C14.58,13.2 14.21,12.59 13.97,12.12M21,20A1,1 0 0,1 20,21H13L15,19L14.19,16.23L15.11,15.31L17.79,18L18.5,17.27L15.81,14.59C16.71,13.56 17.41,12.34 17.73,11.08H19V10.04H15.36V9H14.32V10.04H12.36L11.18,6H20A1,1 0 0,1 21,7V20Z\";\r\nexport var mdiGradientHorizontal = \"M9 13V11H11V13M11 15V13H13V15M11 11V9H13V11M9 9V7H11V9M9 17V15H11V17M3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5M18 15V17H16V15M18 11V13H16V11M18 7V9H16V7M11 5V7H13V5H15V7H13V9H15V11H13V13H15V15H13V17H15V19H13V17H11V19H5V5Z\";\r\nexport var mdiGradientVertical = \"M11,9H13V11H11V9M9,11H11V13H9V11M13,11H15V13H13V11M15,9H17V11H15V9M7,9H9V11H7V9M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9,18H7V16H9V18M13,18H11V16H13V18M17,18H15V16H17V18M19,11H17V13H19V15H17V13H15V15H13V13H11V15H9V13H7V15H5V13H7V11H5V5H19V11Z\";\r\nexport var mdiGrain = \"M10,12A2,2 0 0,0 8,14A2,2 0 0,0 10,16A2,2 0 0,0 12,14A2,2 0 0,0 10,12M6,8A2,2 0 0,0 4,10A2,2 0 0,0 6,12A2,2 0 0,0 8,10A2,2 0 0,0 6,8M6,16A2,2 0 0,0 4,18A2,2 0 0,0 6,20A2,2 0 0,0 8,18A2,2 0 0,0 6,16M18,8A2,2 0 0,0 20,6A2,2 0 0,0 18,4A2,2 0 0,0 16,6A2,2 0 0,0 18,8M14,16A2,2 0 0,0 12,18A2,2 0 0,0 14,20A2,2 0 0,0 16,18A2,2 0 0,0 14,16M18,12A2,2 0 0,0 16,14A2,2 0 0,0 18,16A2,2 0 0,0 20,14A2,2 0 0,0 18,12M14,8A2,2 0 0,0 12,10A2,2 0 0,0 14,12A2,2 0 0,0 16,10A2,2 0 0,0 14,8M10,4A2,2 0 0,0 8,6A2,2 0 0,0 10,8A2,2 0 0,0 12,6A2,2 0 0,0 10,4Z\";\r\nexport var mdiGraph = \"M19.5 17C19.37 17 19.24 17 19.11 17.04L17.5 13.79C17.95 13.34 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.62 9.5 15.5 9.5 15.36 9.54L13.73 6.29C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.21 9.79 5.84 10.26 6.29L8.64 9.54C8.5 9.5 8.38 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.05 13.34 6.5 13.79L4.89 17.04C4.76 17 4.63 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.64 14.46L10.27 17.71C9.8 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.79C10.46 13.34 10.75 12.71 10.75 12S10.46 10.66 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7S12.26 7 12.39 6.96L14 10.21C13.55 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.14 14.46L17.77 17.71C17.3 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17Z\";\r\nexport var mdiGraphOutline = \"M19.5 17C19.36 17 19.24 17 19.11 17.04L17.5 13.8C17.95 13.35 18.25 12.71 18.25 12C18.25 10.62 17.13 9.5 15.75 9.5C15.61 9.5 15.5 9.5 15.35 9.54L13.74 6.3C14.21 5.84 14.5 5.21 14.5 4.5C14.5 3.12 13.38 2 12 2S9.5 3.12 9.5 4.5C9.5 5.2 9.79 5.84 10.26 6.29L8.65 9.54C8.5 9.5 8.39 9.5 8.25 9.5C6.87 9.5 5.75 10.62 5.75 12C5.75 12.71 6.04 13.34 6.5 13.79L4.89 17.04C4.76 17 4.64 17 4.5 17C3.12 17 2 18.12 2 19.5C2 20.88 3.12 22 4.5 22S7 20.88 7 19.5C7 18.8 6.71 18.16 6.24 17.71L7.86 14.46C8 14.5 8.12 14.5 8.25 14.5C8.38 14.5 8.5 14.5 8.63 14.46L10.26 17.71C9.79 18.16 9.5 18.8 9.5 19.5C9.5 20.88 10.62 22 12 22S14.5 20.88 14.5 19.5C14.5 18.12 13.38 17 12 17C11.87 17 11.74 17 11.61 17.04L10 13.8C10.45 13.35 10.75 12.71 10.75 12C10.75 11.3 10.46 10.67 10 10.21L11.61 6.96C11.74 7 11.87 7 12 7C12.13 7 12.26 7 12.39 6.96L14 10.21C13.54 10.66 13.25 11.3 13.25 12C13.25 13.38 14.37 14.5 15.75 14.5C15.88 14.5 16 14.5 16.13 14.46L17.76 17.71C17.29 18.16 17 18.8 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.12 20.88 17 19.5 17M4.5 20.5C3.95 20.5 3.5 20.05 3.5 19.5S3.95 18.5 4.5 18.5 5.5 18.95 5.5 19.5 5.05 20.5 4.5 20.5M13 19.5C13 20.05 12.55 20.5 12 20.5S11 20.05 11 19.5 11.45 18.5 12 18.5 13 18.95 13 19.5M7.25 12C7.25 11.45 7.7 11 8.25 11S9.25 11.45 9.25 12 8.8 13 8.25 13 7.25 12.55 7.25 12M11 4.5C11 3.95 11.45 3.5 12 3.5S13 3.95 13 4.5 12.55 5.5 12 5.5 11 5.05 11 4.5M14.75 12C14.75 11.45 15.2 11 15.75 11S16.75 11.45 16.75 12 16.3 13 15.75 13 14.75 12.55 14.75 12M19.5 20.5C18.95 20.5 18.5 20.05 18.5 19.5S18.95 18.5 19.5 18.5 20.5 18.95 20.5 19.5 20.05 20.5 19.5 20.5Z\";\r\nexport var mdiGraphql = \"M12,5.37L11.56,5.31L6,14.9C6.24,15.11 6.4,15.38 6.47,15.68H17.53C17.6,15.38 17.76,15.11 18,14.9L12.44,5.31L12,5.37M6.6,16.53L10.88,19.06C11.17,18.79 11.57,18.63 12,18.63C12.43,18.63 12.83,18.79 13.12,19.06L17.4,16.53H6.6M12,22A1.68,1.68 0 0,1 10.32,20.32L10.41,19.76L6.11,17.21C5.8,17.57 5.35,17.79 4.84,17.79A1.68,1.68 0 0,1 3.16,16.11C3.16,15.32 3.69,14.66 4.42,14.47V9.36C3.59,9.25 2.95,8.54 2.95,7.68A1.68,1.68 0 0,1 4.63,6C5.18,6 5.66,6.26 5.97,6.66L10.38,4.13L10.32,3.68C10.32,2.75 11.07,2 12,2C12.93,2 13.68,2.75 13.68,3.68L13.62,4.13L18.03,6.66C18.34,6.26 18.82,6 19.37,6A1.68,1.68 0 0,1 21.05,7.68C21.05,8.54 20.41,9.25 19.58,9.36V14.47C20.31,14.66 20.84,15.32 20.84,16.11A1.68,1.68 0 0,1 19.16,17.79C18.65,17.79 18.2,17.57 17.89,17.21L13.59,19.76L13.68,20.32A1.68,1.68 0 0,1 12,22M10.8,4.86L6.3,7.44L6.32,7.68C6.32,8.39 5.88,9 5.26,9.25L5.29,14.5L10.8,4.86M13.2,4.86L18.71,14.5L18.74,9.25C18.12,9 17.68,8.39 17.68,7.68L17.7,7.44L13.2,4.86Z\";\r\nexport var mdiGrass = \"M12 20H2V18H7.75C7 15.19 4.81 13 2 12.26C2.64 12.1 3.31 12 4 12C8.42 12 12 15.58 12 20M22 12.26C21.36 12.1 20.69 12 20 12C17.07 12 14.5 13.58 13.12 15.93C13.41 16.59 13.65 17.28 13.79 18C13.92 18.65 14 19.32 14 20H22V18H16.24C17 15.19 19.19 13 22 12.26M15.64 11C16.42 8.93 17.87 7.18 19.73 6C15.44 6.16 12 9.67 12 14V14C12.95 12.75 14.2 11.72 15.64 11M11.42 8.85C10.58 6.66 8.88 4.89 6.7 4C8.14 5.86 9 8.18 9 10.71C9 10.92 8.97 11.12 8.96 11.32C9.39 11.56 9.79 11.84 10.18 12.14C10.39 10.96 10.83 9.85 11.42 8.85Z\";\r\nexport var mdiGraveStone = \"M10,2H14C17.31,2 19,4.69 19,8V18.66C16.88,17.63 15.07,17 12,17C8.93,17 7.12,17.63 5,18.66V8C5,4.69 6.69,2 10,2M8,8V9.5H16V8H8M9,12V13.5H15V12H9M3,22V21.31C5.66,19.62 13.23,15.84 21,21.25V22H3Z\";\r\nexport var mdiGreasePencil = \"M18.62,1.5C18.11,1.5 17.6,1.69 17.21,2.09L10.75,8.55L14.95,12.74L21.41,6.29C22.2,5.5 22.2,4.24 21.41,3.46L20.04,2.09C19.65,1.69 19.14,1.5 18.62,1.5M9.8,9.5L3.23,16.07L3.93,16.77C3.4,17.24 2.89,17.78 2.38,18.29C1.6,19.08 1.6,20.34 2.38,21.12C3.16,21.9 4.42,21.9 5.21,21.12C5.72,20.63 6.25,20.08 6.73,19.58L7.43,20.27L14,13.7\";\r\nexport var mdiGreaterThan = \"M5.5,4.14L4.5,5.86L15,12L4.5,18.14L5.5,19.86L19,12L5.5,4.14Z\";\r\nexport var mdiGreaterThanOrEqual = \"M6.5,2.27L20,10.14L6.5,18L5.5,16.27L16.03,10.14L5.5,4L6.5,2.27M20,20V22H5V20H20Z\";\r\nexport var mdiGreenhouse = \"M12 3L4 9V21H20V9L12 3M10 10H14V19H10V10M16 10H18V13H16V10M15.33 8H8.67L12 5.5L15.33 8M8 10V13H6V10H8M6 15H8V19H6V15M16 19V15H18V19H16Z\";\r\nexport var mdiGrid = \"M10,4V8H14V4H10M16,4V8H20V4H16M16,10V14H20V10H16M16,16V20H20V16H16M14,20V16H10V20H14M8,20V16H4V20H8M8,14V10H4V14H8M8,8V4H4V8H8M10,14H14V10H10V14M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2Z\";\r\nexport var mdiGridLarge = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4C2.92,22 2,21.1 2,20V4A2,2 0 0,1 4,2M4,4V11H11V4H4M4,20H11V13H4V20M20,20V13H13V20H20M20,4H13V11H20V4Z\";\r\nexport var mdiGridOff = \"M0,2.77L1.28,1.5L22.5,22.72L21.23,24L19.23,22H4C2.92,22 2,21.1 2,20V4.77L0,2.77M10,4V7.68L8,5.68V4H6.32L4.32,2H20A2,2 0 0,1 22,4V19.7L20,17.7V16H18.32L16.32,14H20V10H16V13.68L14,11.68V10H12.32L10.32,8H14V4H10M16,4V8H20V4H16M16,20H17.23L16,18.77V20M4,8H5.23L4,6.77V8M10,14H11.23L10,12.77V14M14,20V16.77L13.23,16H10V20H14M8,20V16H4V20H8M8,14V10.77L7.23,10H4V14H8Z\";\r\nexport var mdiGrill = \"M8.06,2C7.88,3.17 8.17,4.16 8.95,4.97C9.45,5.47 9.61,6.14 9.42,7H10.41C10.53,6.45 10.55,6 10.45,5.55C10.36,5.13 10.05,4.63 9.5,4.03C9.05,3.47 8.89,2.8 9.05,2H8.06M10.55,2C10.36,3.17 10.66,4.16 11.44,4.97C11.94,5.47 12.09,6.14 11.91,7H12.89C13,6.45 13.03,6 12.94,5.55C12.84,5.13 12.53,4.63 12,4.03C11.53,3.47 11.38,2.8 11.53,2H10.55M13.08,2C12.89,3.17 13.19,4.16 13.97,4.97C14.47,5.47 14.61,6.14 14.39,7H15.42C15.55,6.45 15.56,6 15.47,5.55C15.38,5.13 15.06,4.63 14.53,4.03C14.06,3.47 13.91,2.8 14.06,2H13.08M5,8C5,9.42 5.39,10.7 6.14,11.84C6.87,12.96 7.91,13.85 9.14,14.39L5.16,20.44C5.06,20.56 5,20.75 5,21C5,21.41 5.16,21.69 5.44,21.84C5.56,21.94 5.75,22 6,22C6.41,22 6.69,21.84 6.84,21.56L7.83,19.97H14.2C14.41,20.55 14.79,21.05 15.28,21.42C15.78,21.8 16.36,22 17,22C17.83,22 18.53,21.69 19.13,21.09C19.72,20.5 20,19.8 20,19C20,18.17 19.72,17.47 19.13,16.88C18.53,16.28 17.83,16 17,16C16.36,16 15.78,16.17 15.28,16.55C14.78,16.92 14.42,17.41 14.2,18H9.14L11.11,14.95C11.27,15 11.56,15 12,15C12.44,15 12.73,15 12.89,14.95L13.88,16.5C14.29,15.96 14.84,15.54 15.47,15.28L14.91,14.39C16.03,13.89 17,13 17.79,11.77C18.59,10.5 19,9.27 19,8H5M17,18C17.3,18 17.53,18.09 17.72,18.28C17.91,18.47 18,18.72 18,19C18,19.27 17.91,19.5 17.72,19.71C17.54,19.91 17.28,20 17,20C16.74,20 16.5,19.91 16.29,19.71C16.09,19.5 16,19.26 16,19C16,18.7 16.09,18.47 16.29,18.28C16.5,18.09 16.73,18 17,18Z\";\r\nexport var mdiGrillOutline = \"M17 22A3 3 0 1 0 14.18 18H9.14L11.13 14.94A6.36 6.36 0 0 0 12.87 14.94L13.89 16.5C14.31 16 14.85 15.56 15.5 15.3L14.89 14.37A7 7 0 0 0 19 8H5A7 7 0 0 0 9.12 14.37L5.17 20.45A1 1 0 0 0 6.84 21.54L7.84 20H14.18A3 3 0 0 0 17 22M17 18A1 1 0 0 1 18 19C18 19.55 17.55 20 17 20S16 19.55 16 19A1 1 0 0 1 17 18M7.42 10H16.58A5 5 0 0 1 7.42 10M9.41 7H10.41C10.56 5.85 10.64 5.36 9.5 4.04C9.1 3.54 8.84 3.27 9.06 2H8.07A3.14 3.14 0 0 0 8.96 4.96C9.18 5.2 9.75 5.63 9.41 7M11.89 7H12.89C13.04 5.85 13.12 5.36 12 4.04C11.58 3.54 11.32 3.26 11.54 2H10.55A3.14 3.14 0 0 0 11.44 4.96C11.67 5.2 12.24 5.63 11.89 7M14.41 7H15.41C15.56 5.85 15.64 5.36 14.5 4.04C14.1 3.54 13.84 3.27 14.06 2H13.07A3.14 3.14 0 0 0 13.96 4.96C14.18 5.2 14.75 5.63 14.41 7Z\";\r\nexport var mdiGroup = \"M1,1V5H2V19H1V23H5V22H19V23H23V19H22V5H23V1H19V2H5V1M5,4H19V5H20V19H19V20H5V19H4V5H5M6,6V14H9V18H18V9H14V6M8,8H12V12H8M14,11H16V16H11V14H14\";\r\nexport var mdiGuitarAcoustic = \"M19.59,3H22V5H20.41L16.17,9.24C15.8,8.68 15.32,8.2 14.76,7.83L19.59,3M12,8A4,4 0 0,1 16,12C16,13.82 14.77,15.42 13,15.87V16A5,5 0 0,1 8,21A5,5 0 0,1 3,16A5,5 0 0,1 8,11H8.13C8.58,9.24 10.17,8 12,8M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5M6.94,14.24L6.23,14.94L9.06,17.77L9.77,17.06L6.94,14.24Z\";\r\nexport var mdiGuitarElectric = \"M19.59,3H22V5H20.41L15.12,10.29L13.71,8.9L19.59,3M12,9C12.26,9 12.5,9.1 12.71,9.3L14.71,11.3C14.89,11.5 15,11.73 15,12L14.9,12.4L10.9,20.4C10.71,20.75 10.36,20.93 10,20.93C9.65,20.93 9.29,20.75 9.11,20.4L7.25,16.7L3.55,14.9C3.18,14.7 3,14.35 3,14C3,13.65 3.18,13.3 3.55,13.1L11.55,9.1C11.69,9 11.84,9 12,9M9.35,11.82L8.65,12.5L11.5,15.35L12.18,14.65L9.35,11.82M7.94,13.23L7.23,13.94L10.06,16.77L10.77,16.06L7.94,13.23Z\";\r\nexport var mdiGuitarPick = \"M19,4.1C18.1,3.3 17,2.8 15.8,2.5C15.5,2.4 13.6,2 12.2,2C12.2,2 12.1,2 12,2C12,2 11.9,2 11.8,2C10.4,2 8.4,2.4 8.1,2.5C7,2.8 5.9,3.3 5,4.1C3,5.9 3,8.7 4,11C5,13.5 6.1,15.7 7.6,17.9C8.8,19.6 10.1,22 12,22C13.9,22 15.2,19.6 16.5,17.9C18,15.8 19.1,13.5 20.1,11C21,8.7 21,5.9 19,4.1Z\";\r\nexport var mdiGuitarPickOutline = \"M19,4.1C18.1,3.3 17,2.8 15.8,2.5C15.5,2.4 13.6,2 12.2,2C12.2,2 12.1,2 12,2C12,2 11.9,2 11.8,2C10.4,2 8.4,2.4 8.1,2.5C7,2.8 5.9,3.3 5,4.1C3,5.9 3,8.7 4,11C5,13.5 6.1,15.7 7.6,17.9C8.8,19.6 10.1,22 12,22C13.9,22 15.2,19.6 16.5,17.9C18,15.8 19.1,13.5 20.1,11C21,8.7 21,5.9 19,4.1M18.2,10.2C17.1,12.9 16.1,14.9 14.8,16.7C14.6,16.9 14.5,17.2 14.3,17.4C13.8,18.2 12.6,20 12,20C12,20 12,20 12,20C11.3,20 10.2,18.3 9.6,17.4C9.4,17.2 9.3,16.9 9.1,16.7C7.9,14.9 6.8,12.9 5.7,10.2C5.5,9.5 4.7,7 6.3,5.5C6.8,5 7.6,4.7 8.6,4.4C9,4.4 10.7,4 11.8,4C11.8,4 12.1,4 12.1,4C13.2,4 14.9,4.3 15.3,4.4C16.3,4.7 17.1,5 17.6,5.5C19.3,7 18.5,9.5 18.2,10.2Z\";\r\nexport var mdiGuyFawkesMask = \"M21,13A9,9 0 0,1 12,22A9,9 0 0,1 3,13L3.03,4.43C5.68,2.88 8.76,2 12.05,2C15.3,2 18.36,2.87 21,4.38V13M13,19.93C16.39,19.44 19,16.5 19,13V5.59C16.9,4.57 14.54,4 12.05,4C9.5,4 7.08,4.6 4.94,5.66L5,13C5,16.5 7.63,19.44 11,19.93V18H13V19.93M11,16H8L6,13L9,14H10L11,13H13L14,14H15L18,13L16,16H13L12,15L11,16M6,9.03C6.64,8.4 7.5,8.05 8.5,8.05C9.45,8.05 10.34,8.4 11,9.03C10.34,9.65 9.45,10 8.5,10C7.5,10 6.64,9.65 6,9.03M13,9.03C13.64,8.4 14.5,8.05 15.5,8.05C16.45,8.05 17.34,8.4 18,9.03C17.34,9.65 16.45,10 15.5,10C14.5,10 13.64,9.65 13,9.03Z\";\r\nexport var mdiGymnastics = \"M4 6C4 4.9 4.9 4 6 4S8 4.9 8 6 7.1 8 6 8 4 7.1 4 6M1 9H7L14 4L15.31 5.5L11.14 8.5H14L21.8 4L23 5.4L14.5 12L14 22H12L11.5 12L8 11H1V9Z\";\r\nexport var mdiHail = \"M4,16H7V22H4V16M19,2.39C18.92,3.86 18.55,5.13 17.86,6.21C17.17,7.29 16.22,8 15,8.39V22H13V16H11V22H9V10.08C8.72,10.17 8.5,10.28 8.39,10.41C7.45,11.16 7,12.19 7,13.5V14H5V13.5C5,11.53 5.72,9.94 7.13,8.72C8.53,7.56 10.16,7 12,7C13.41,7 14.56,6.64 15.47,5.95C16.5,5.11 17,3.95 17,2.5V2H19V2.39M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2Z\";\r\nexport var mdiHairDryer = \"M22 9A4.32 4.32 0 0 1 19.78 8.45A3.4 3.4 0 0 0 18 8V7A4.32 4.32 0 0 1 20.22 7.55A3.4 3.4 0 0 0 22 8M22 6A3.4 3.4 0 0 1 20.22 5.55A4.32 4.32 0 0 0 18 5V6A3.4 3.4 0 0 1 19.78 6.45A4.32 4.32 0 0 0 22 7M22 10A3.4 3.4 0 0 1 20.22 9.55A4.32 4.32 0 0 0 18 9V10A3.4 3.4 0 0 1 19.78 10.45A4.32 4.32 0 0 0 22 11M10 12.73A70.39 70.39 0 0 0 17 11V4S10.5 2 7.5 2A5.5 5.5 0 0 0 6.12 12.82L7 19H8A3 3 0 0 0 9.46 21.33A3.15 3.15 0 0 1 11 24H12A4.12 4.12 0 0 0 10.09 20.55C9.39 20 9 19.63 9 19H10M7.5 10A2.5 2.5 0 1 1 10 7.5A2.5 2.5 0 0 1 7.5 10Z\";\r\nexport var mdiHairDryerOutline = \"M10 12.73A70.39 70.39 0 0 0 17 11V4S10.5 2 7.5 2A5.5 5.5 0 0 0 6.12 12.82L7 19H8A3 3 0 0 0 9.46 21.33A3.15 3.15 0 0 1 11 24H12A4.12 4.12 0 0 0 10.09 20.55C9.39 20 9 19.63 9 19H10M4 7.5A3.5 3.5 0 0 1 7.5 4A37.08 37.08 0 0 1 15 5.5V9.5A37.08 37.08 0 0 1 7.5 11A3.5 3.5 0 0 1 4 7.5M22 9A4.32 4.32 0 0 1 19.78 8.45A3.4 3.4 0 0 0 18 8V7A4.32 4.32 0 0 1 20.22 7.55A3.4 3.4 0 0 0 22 8M22 6A3.4 3.4 0 0 1 20.22 5.55A4.32 4.32 0 0 0 18 5V6A3.4 3.4 0 0 1 19.78 6.45A4.32 4.32 0 0 0 22 7M22 10A3.4 3.4 0 0 1 20.22 9.55A4.32 4.32 0 0 0 18 9V10A3.4 3.4 0 0 1 19.78 10.45A4.32 4.32 0 0 0 22 11M9 7.5A1.5 1.5 0 1 1 7.5 6A1.5 1.5 0 0 1 9 7.5Z\";\r\nexport var mdiHalloween = \"M6.5,6C7.47,6 8.37,6.5 9.11,7.38C9.66,6.79 10.31,6.36 11,6.15V4A2,2 0 0,1 13,2H15V4H13V6.15C13.69,6.36 14.34,6.79 14.89,7.38C15.63,6.5 16.53,6 17.5,6C20,6 22,9.36 22,13.5C22,17.64 20,21 17.5,21C16.53,21 15.63,20.5 14.89,19.62C14.08,20.5 13.08,21 12,21C10.92,21 9.92,20.5 9.11,19.62C8.37,20.5 7.47,21 6.5,21C4,21 2,17.64 2,13.5C2,9.36 4,6 6.5,6M9,10L7.75,12.25H10.25L9,10M15,10L13.75,12.25H16.25L15,10M8,17H10L11,16L12,17H14L15,16L16,17L17.5,14L13.92,14.62L13,16L12,15H10L9,16L8,15L6,14L8,17Z\";\r\nexport var mdiHamburger = \"M22 13C22 14.11 21.11 15 20 15H4C2.9 15 2 14.11 2 13S2.9 11 4 11H13L15.5 13L18 11H20C21.11 11 22 11.9 22 13M12 3C3 3 3 9 3 9H21C21 9 21 3 12 3M3 18C3 19.66 4.34 21 6 21H18C19.66 21 21 19.66 21 18V17H3V18Z\";\r\nexport var mdiHamburgerCheck = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiHamburgerMinus = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M15 18V20H23V18H15Z\";\r\nexport var mdiHamburgerOff = \"M20 11C21.11 11 22 11.9 22 13S21.11 15 20 15H18.2L14.2 11H20M20.42 19.77L20.42 19.76L17.66 17H17.65L15.65 15H15.66L11.66 11H11.66L9.66 9H9.66L2.39 1.73L1.11 3L4.12 6C3 7.5 3 9 3 9H7.11L9.11 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H13.11L15.11 17H3V18C3 19.66 4.34 21 6 21H18C18.33 21 18.65 20.93 18.94 20.83L20.84 22.73L22.11 21.46L20.42 19.77M21 9C21 9 21 3 12 3C9.88 3 8.28 3.34 7.05 3.85L12.2 9H21Z\";\r\nexport var mdiHamburgerPlus = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiHamburgerRemove = \"M21 9H3C3 9 3 3 12 3S21 9 21 9M13.35 17H3V18C3 19.66 4.34 21 6 21H13.35C13.13 20.37 13 19.7 13 19C13 18.3 13.13 17.63 13.35 17M21.86 13.73C21.95 13.5 22 13.26 22 13C22 11.9 21.11 11 20 11H11L8.5 13L6 11H4C2.9 11 2 11.9 2 13S2.9 15 4 15H14.54C15.64 13.78 17.23 13 19 13C20.04 13 21 13.26 21.86 13.73M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiHammer = \"M2 19.63L13.43 8.2L12.72 7.5L14.14 6.07L12 3.89C13.2 2.7 15.09 2.7 16.27 3.89L19.87 7.5L18.45 8.91H21.29L22 9.62L18.45 13.21L17.74 12.5V9.62L16.27 11.04L15.56 10.33L4.13 21.76L2 19.63Z\";\r\nexport var mdiHammerScrewdriver = \"M16.06 13.09L21.69 18.68L18.37 21.96L12.78 16.37V15.45L15.14 13.09H16.06M16.97 10.56L16 9.6L11.21 14.4V16.37L5.58 22L2.3 18.68L7.89 13.09H9.86L10.64 12.31L6.8 8.46H5.5L2.69 5.62L5.31 3L8.11 5.8V7.11L12 10.95L14.66 8.29L13.7 7.28L15 5.97H12.34L11.69 5.32L15 2L15.66 2.66V5.32L16.97 4L20.25 7.28C21.34 8.38 21.34 10.17 20.25 11.26L18.28 9.25L16.97 10.56Z\";\r\nexport var mdiHammerSickle = \"M22 20.59L20.59 22L17.45 18.86C16.89 19.23 16.3 19.56 15.66 19.78C14 20.36 12.2 20.4 10.53 19.88C9.5 19.58 8.56 19.05 7.75 18.37L4.56 21.56C4 22.15 3.03 22.15 2.44 21.56C1.86 21 1.86 20 2.44 19.44L5.82 16.06L8.47 15.54C9.19 16.45 10.19 17.13 11.28 17.5C12.44 17.85 13.72 17.84 14.87 17.46C15.16 17.37 15.44 17.26 15.7 17.12L7.6 9L5.83 10.78L3 7.95L7.95 3L12.19 4.41L9 7.6L17.31 15.89C17.5 15.71 17.65 15.53 17.8 15.33C19.3 13.36 19.42 10.42 18.09 8C16.78 5.57 14.5 3.55 12 2C13.41 2.5 14.76 3.17 16 4.04C17.24 4.91 18.43 5.93 19.33 7.25C20.23 8.54 20.87 10.12 21 11.79C21.1 13.47 20.66 15.23 19.7 16.65C19.5 17 19.24 17.28 19 17.56L22 20.59Z\";\r\nexport var mdiHammerWrench = \"M13.78 15.3L19.78 21.3L21.89 19.14L15.89 13.14L13.78 15.3M17.5 10.1C17.11 10.1 16.69 10.05 16.36 9.91L4.97 21.25L2.86 19.14L10.27 11.74L8.5 9.96L7.78 10.66L6.33 9.25V12.11L5.63 12.81L2.11 9.25L2.81 8.55H5.62L4.22 7.14L7.78 3.58C8.95 2.41 10.83 2.41 12 3.58L9.89 5.74L11.3 7.14L10.59 7.85L12.38 9.63L14.2 7.75C14.06 7.42 14 7 14 6.63C14 4.66 15.56 3.11 17.5 3.11C18.09 3.11 18.61 3.25 19.08 3.53L16.41 6.2L17.91 7.7L20.58 5.03C20.86 5.5 21 6 21 6.63C21 8.55 19.45 10.1 17.5 10.1Z\";\r\nexport var mdiHandBackLeft = \"M3 16V5.75C3 5.06 3.56 4.5 4.25 4.5S5.5 5.06 5.5 5.75V12H6.5V2.75C6.5 2.06 7.06 1.5 7.75 1.5C8.44 1.5 9 2.06 9 2.75V12H10V1.25C10 .56 10.56 0 11.25 0S12.5 .56 12.5 1.25V12H13.5V3.25C13.5 2.56 14.06 2 14.75 2S16 2.56 16 3.25V15H16.75L18.16 11.47C18.38 10.92 18.84 10.5 19.4 10.31L20.19 10.05C21 9.79 21.74 10.58 21.43 11.37L18.4 19C17.19 22 14.26 24 11 24C6.58 24 3 20.42 3 16Z\";\r\nexport var mdiHandBackLeftOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.21 5.1C3.09 5.29 3 5.5 3 5.75V16C3 20.42 6.58 24 11 24C13.93 24 16.58 22.39 17.97 19.86L20.84 22.73L22.11 21.46M5.5 12V7.39L6.5 8.39V12H5.5M10 12H9V10.89L10 11.89V12M16 12.8L13.5 10.3V3.25C13.5 2.56 14.06 2 14.75 2S16 2.56 16 3.25V12.8M19.5 16.28L17.16 13.96L18.16 11.47C18.38 10.92 18.84 10.5 19.4 10.31L20.19 10.05C21 9.79 21.74 10.58 21.43 11.37L19.5 16.28M9 5.8L6.5 3.3V2.75C6.5 2.06 7.06 1.5 7.75 1.5S9 2.06 9 2.75V5.8M12.5 9.3L10 6.8V1.25C10 .56 10.56 0 11.25 0S12.5 .56 12.5 1.25V9.3Z\";\r\nexport var mdiHandBackLeftOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3.56 5.45C3.21 5.87 3 6.41 3 7V16C3 20.42 6.58 24 11 24C13.94 24 16.62 22.45 18.12 20L20.84 22.73L22.11 21.46M11 22C7.69 22 5 19.31 5 16V7C5 6.97 5 6.94 5 6.91L6 7.89V12H8V9.89L9 10.89V12H10.11L16.65 18.54C15.57 20.64 13.41 22 11 22M8 4.8L6.21 3C6.59 2.12 7.47 1.5 8.5 1.5C8.73 1.5 8.96 1.53 9.17 1.59C9.54 .66 10.44 0 11.5 0C12.73 0 13.75 .89 13.96 2.06C14.13 2 14.31 2 14.5 2C15.88 2 17 3.12 17 4.5V10.39C17.34 10.08 17.76 9.85 18.22 9.73L19 9.5C19.82 9.29 20.69 9.61 21.18 10.35C21.56 10.92 21.58 11.66 21.33 12.3L19.67 16.47L18.13 14.93L19.5 11.45L19 11.59C18.5 11.71 18.15 12.05 18 12.5L17.34 14.14L15 11.8V4.5C15 4.22 14.78 4 14.5 4S14 4.22 14 4.5V10.8L12 8.8V2.5C12 2.22 11.78 2 11.5 2S11 2.22 11 2.5V7.8L9 5.8V4C9 3.72 8.78 3.5 8.5 3.5S8 3.72 8 4V4.8Z\";\r\nexport var mdiHandBackLeftOutline = \"M3 16C3 20.42 6.58 24 11 24C14.43 24 17.5 21.91 18.77 18.73L21.33 12.3C21.58 11.66 21.56 10.92 21.18 10.35C20.69 9.61 19.82 9.29 19 9.5L18.22 9.73C17.76 9.85 17.34 10.08 17 10.39V4.5C17 3.12 15.88 2 14.5 2C14.31 2 14.13 2 13.96 2.06C13.75 .89 12.73 0 11.5 0C10.44 0 9.54 .66 9.17 1.59C8.96 1.53 8.73 1.5 8.5 1.5C7.12 1.5 6 2.62 6 4V4.55C5.84 4.5 5.67 4.5 5.5 4.5C4.12 4.5 3 5.62 3 7V16M5 7C5 6.72 5.22 6.5 5.5 6.5S6 6.72 6 7V12H8V4C8 3.72 8.22 3.5 8.5 3.5S9 3.72 9 4V12H11V2.5C11 2.22 11.22 2 11.5 2S12 2.22 12 2.5V12H14V4.5C14 4.22 14.22 4 14.5 4S15 4.22 15 4.5V15H17L18 12.5C18.15 12.05 18.5 11.71 19 11.59L19.5 11.45L16.91 18C15.95 20.41 13.61 22 11 22C7.69 22 5 19.31 5 16V7Z\";\r\nexport var mdiHandBackRight = \"M13 24C9.74 24 6.81 22 5.6 19L2.57 11.37C2.26 10.58 3 9.79 3.81 10.05L4.6 10.31C5.16 10.5 5.62 10.92 5.84 11.47L7.25 15H8V3.25C8 2.56 8.56 2 9.25 2S10.5 2.56 10.5 3.25V12H11.5V1.25C11.5 .56 12.06 0 12.75 0S14 .56 14 1.25V12H15V2.75C15 2.06 15.56 1.5 16.25 1.5C16.94 1.5 17.5 2.06 17.5 2.75V12H18.5V5.75C18.5 5.06 19.06 4.5 19.75 4.5S21 5.06 21 5.75V16C21 20.42 17.42 24 13 24Z\";\r\nexport var mdiHandBackRightOff = \"M20.84 22.73L19.17 21.06C17.7 22.85 15.5 24 13 24C9.74 24 6.81 22 5.6 19L2.57 11.37C2.26 10.58 3 9.79 3.81 10.05L4.6 10.31C5.16 10.5 5.62 10.92 5.84 11.47L7.25 15H8V9.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M14 1.25C14 .56 13.44 0 12.75 0S11.5 .56 11.5 1.25V8.3L14 10.8V1.25M21 16V5.75C21 5.06 20.44 4.5 19.75 4.5S18.5 5.06 18.5 5.75V12H17.5V2.75C17.5 2.06 16.94 1.5 16.25 1.5S15 2.06 15 2.75V11.8L20.83 17.63C20.94 17.11 21 16.56 21 16M10.5 3.25C10.5 2.56 9.94 2 9.25 2S8 2.56 8 3.25V4.8L10.5 7.3V3.25Z\";\r\nexport var mdiHandBackRightOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7 8.89V10.39C6.66 10.08 6.24 9.85 5.78 9.73L5 9.5C4.18 9.29 3.31 9.61 2.82 10.35C2.44 10.92 2.42 11.66 2.67 12.3L5.23 18.73C6.5 21.91 9.57 24 13 24C15.5 24 17.7 22.85 19.17 21.06L20.84 22.73L22.11 21.46M13 22C10.39 22 8.05 20.41 7.09 18L4.5 11.45L5 11.59C5.5 11.71 5.85 12.05 6 12.5L7 15H9V10.89L17.75 19.64C16.66 21.07 14.94 22 13 22M9 5.8L7.09 3.89C7.36 2.8 8.33 2 9.5 2C9.69 2 9.87 2 10.04 2.06C10.25 .89 11.27 0 12.5 0C13.56 0 14.46 .66 14.83 1.59C15.04 1.53 15.27 1.5 15.5 1.5C16.88 1.5 18 2.62 18 4V4.55C18.16 4.5 18.33 4.5 18.5 4.5C19.88 4.5 21 5.62 21 7V16C21 16.56 20.94 17.11 20.83 17.63L19 15.8V7C19 6.72 18.78 6.5 18.5 6.5S18 6.72 18 7V12H16V4C16 3.72 15.78 3.5 15.5 3.5S15 3.72 15 4V11.8L13 9.8V2.5C13 2.22 12.78 2 12.5 2S12 2.22 12 2.5V8.8L10 6.8V4.5C10 4.22 9.78 4 9.5 4S9 4.22 9 4.5V5.8Z\";\r\nexport var mdiHandBackRightOutline = \"M21 7C21 5.62 19.88 4.5 18.5 4.5C18.33 4.5 18.16 4.5 18 4.55V4C18 2.62 16.88 1.5 15.5 1.5C15.27 1.5 15.04 1.53 14.83 1.59C14.46 .66 13.56 0 12.5 0C11.27 0 10.25 .89 10.04 2.06C9.87 2 9.69 2 9.5 2C8.12 2 7 3.12 7 4.5V10.39C6.66 10.08 6.24 9.85 5.78 9.73L5 9.5C4.18 9.29 3.31 9.61 2.82 10.35C2.44 10.92 2.42 11.66 2.67 12.3L5.23 18.73C6.5 21.91 9.57 24 13 24C17.42 24 21 20.42 21 16V7M19 16C19 19.31 16.31 22 13 22C10.39 22 8.05 20.41 7.09 18L4.5 11.45L5 11.59C5.5 11.71 5.85 12.05 6 12.5L7 15H9V4.5C9 4.22 9.22 4 9.5 4S10 4.22 10 4.5V12H12V2.5C12 2.22 12.22 2 12.5 2S13 2.22 13 2.5V12H15V4C15 3.72 15.22 3.5 15.5 3.5S16 3.72 16 4V12H18V7C18 6.72 18.22 6.5 18.5 6.5S19 6.72 19 7V16Z\";\r\nexport var mdiHandClap = \"M7.9 21.47C6 19.81 5.35 17.17 6.18 14.84L8.31 8.91C8.53 8.3 9.36 8.22 9.69 8.78L10 9.33C10.24 9.72 10.29 10.2 10.14 10.63L9.16 13.37L9.59 13.75L15.55 7C15.9 6.6 16.5 6.56 16.91 6.91C17.3 7.26 17.34 7.87 17 8.26L12.55 13.29L13.13 13.8L18.58 7.62C18.93 7.22 19.54 7.18 19.93 7.53C20.33 7.88 20.37 8.5 20 8.89L14.56 15.07L15.14 15.58L19.83 10.26C20.18 9.86 20.79 9.82 21.18 10.17S21.62 11.13 21.27 11.5L16.58 16.84L17.15 17.35L20.32 13.76C20.67 13.36 21.28 13.32 21.68 13.67S22.11 14.63 21.76 15L16.56 20.92C14.32 23.47 10.44 23.71 7.9 21.47M11.59 9.22L14.43 6C14.67 5.73 14.97 5.5 15.3 5.37L15.68 4.59C15.92 4.12 15.72 3.54 15.24 3.31C14.77 3.08 14.19 3.28 13.96 3.75L11.45 8.89C11.5 9 11.56 9.11 11.59 9.22M11 8L11 8.05L13.78 2.38C14 1.9 13.81 1.33 13.33 1.1C12.86 .865 12.28 1.06 12.05 1.54L9.41 6.95C10.06 7.06 10.63 7.43 11 8M4.77 14.33L6.9 8.4C7.17 7.65 7.8 7.14 8.55 6.97L10.69 2.58C10.92 2.1 10.72 1.53 10.25 1.3C9.77 1.07 9.2 1.26 8.97 1.74L5 9.84L4.5 9.59L4.71 6.68C4.75 6.23 4.57 5.78 4.25 5.46L3.79 5C3.32 4.57 2.55 4.86 2.5 5.5L2 11.79C1.87 13.83 2.77 15.78 4.35 17C4.33 16.12 4.46 15.21 4.77 14.33Z\";\r\nexport var mdiHandClapOff = \"M22.11 21.46L2.39 1.73L1.11 3L2.97 4.86C2.72 4.96 2.5 5.19 2.5 5.5L2 11.79C1.87 13.83 2.77 15.78 4.35 17C4.33 16.12 4.46 15.21 4.77 14.33L6.8 8.69L7.97 9.86L6.18 14.84C5.35 17.17 6 19.81 7.9 21.47C10.44 23.71 14.32 23.47 16.56 20.92L17.72 19.61L20.84 22.73L22.11 21.46M5 9.84L4.5 9.59L4.71 6.68C4.71 6.65 4.71 6.63 4.71 6.6L5.97 7.86L5 9.84M9.59 13.75L9.16 13.37L9.77 11.66L10.65 12.54L9.59 13.75M14.94 11.74L18.58 7.62C18.93 7.22 19.54 7.18 19.93 7.53C20.33 7.88 20.37 8.5 20 8.89L16.3 13.1L14.94 11.74M19.83 10.26C20.18 9.86 20.79 9.82 21.18 10.17C21.57 10.5 21.62 11.13 21.27 11.5L18.2 15L16.85 13.65L19.83 10.26M21.68 13.67C22.08 14 22.11 14.63 21.76 15L20.1 16.9L18.74 15.54L20.32 13.76C20.67 13.36 21.28 13.32 21.68 13.67M15.55 7C15.9 6.6 16.5 6.56 16.91 6.91C17.3 7.26 17.34 7.87 17 8.26L14.4 11.2L13.04 9.84L15.55 7M11.66 8.46L13.96 3.75C14.19 3.28 14.77 3.08 15.24 3.31C15.72 3.54 15.92 4.12 15.68 4.59L15.3 5.37C14.97 5.5 14.67 5.73 14.43 6L12 8.78L11.66 8.46M9.08 5.88L7.64 4.44L8.97 1.74C9.2 1.26 9.77 1.07 10.25 1.3C10.72 1.53 10.92 2.1 10.69 2.58L9.08 5.88M9.65 6.45L12.05 1.54C12.28 1.06 12.86 .865 13.33 1.1C13.81 1.33 14 1.9 13.78 2.38L11.08 7.88L9.65 6.45Z\";\r\nexport var mdiHandCoin = \"M16 12C18.76 12 21 9.76 21 7S18.76 2 16 2 11 4.24 11 7 13.24 12 16 12M21.45 17.6C21.06 17.2 20.57 17 20 17H13L10.92 16.27L11.25 15.33L13 16H15.8C16.15 16 16.43 15.86 16.66 15.63S17 15.12 17 14.81C17 14.27 16.74 13.9 16.22 13.69L8.95 11H7V20L14 22L22.03 19C22.04 18.47 21.84 18 21.45 17.6M5 11H.984V22H5V11Z\";\r\nexport var mdiHandCoinOutline = \"M16 2C13.24 2 11 4.24 11 7S13.24 12 16 12 21 9.76 21 7 18.76 2 16 2M16 10C14.34 10 13 8.66 13 7S14.34 4 16 4 19 5.34 19 7 17.66 10 16 10M19 16H17C17 14.8 16.25 13.72 15.13 13.3L8.97 11H1V22H7V20.56L14 22.5L22 20V19C22 17.34 20.66 16 19 16M5 20H3V13H5V20M13.97 20.41L7 18.5V13H8.61L14.43 15.17C14.77 15.3 15 15.63 15 16C15 16 13 15.95 12.7 15.85L10.32 15.06L9.69 16.96L12.07 17.75C12.58 17.92 13.11 18 13.65 18H19C19.39 18 19.74 18.24 19.9 18.57L13.97 20.41Z\";\r\nexport var mdiHandCycle = \"M19.5 13C18.18 13 17.05 13.74 16.45 14.81L13.23 12.18L10.96 13L9.87 11.32L11.21 11.69L13.87 9.5L12.93 8.36L10.9 10.03L7.96 9C7.96 9 7.96 9 7.95 9C7.54 8.85 7.08 8.89 6.69 9.14C6.04 9.56 5.83 10.39 6.16 11.07C5.95 11.03 5.73 11 5.5 11C3 11 1 13 1 15.5S3 20 5.5 20 10 18 10 15.5C10 15.37 9.97 15.25 9.96 15.12L13 14L16 16.5L16 16.5C16 18.43 17.57 20 19.5 20S23 18.43 23 16.5 21.43 13 19.5 13M5.5 18.5C3.85 18.5 2.5 17.15 2.5 15.5S3.85 12.5 5.5 12.5 8.5 13.85 8.5 15.5 7.15 18.5 5.5 18.5M19.5 18.5C18.4 18.5 17.5 17.6 17.5 16.5S18.4 14.5 19.5 14.5 21.5 15.4 21.5 16.5 20.6 18.5 19.5 18.5M6.44 7.57C5.85 7 5.85 6.06 6.44 5.5C7.03 4.89 7.97 4.89 8.56 5.5C9.15 6.06 9.15 7 8.56 7.57C7.97 8.15 7.03 8.15 6.44 7.57\";\r\nexport var mdiHandExtended = \"M20 13C20.6 13 21.1 13.2 21.5 13.6C21.8 14 22 14.5 22 15L14 18L7 16V7H8.9L16.2 9.7C16.7 9.9 17 10.3 17 10.8C17 11.1 16.9 11.4 16.7 11.6S16.1 12 15.8 12H13L11.2 11.3L10.9 12.2L13 13H20M1 7H5V18H1V7Z\";\r\nexport var mdiHandExtendedOutline = \"M22 15V16L14 18.5L7 16.6V18H1V7H9L15.2 9.3C16.2 9.7 17 10.8 17 12H19C20.7 12 22 13.3 22 15M5 16V9H3V16H5M19.9 14.6C19.7 14.2 19.4 14 19 14H13.6C13.1 14 12.5 13.9 12 13.8L9.7 13L10.3 11.1L12.7 11.9C13 11.9 15 12 15 12C15 11.6 14.8 11.3 14.4 11.2L8.6 9H7V14.5L14 16.4L19.9 14.6Z\";\r\nexport var mdiHandFrontLeft = \"M3 9.25V15.75C3 20.31 6.69 24 11.25 24S19.5 20.31 19.5 15.75V5.75C19.5 5.06 18.94 4.5 18.25 4.5S17 5.06 17 5.75V12H16V2.75C16 2.06 15.44 1.5 14.75 1.5S13.5 2.06 13.5 2.75V11H12.5V1.25C12.5 .56 11.94 0 11.25 0S10 .56 10 1.25V11H9V3.25C9 2.56 8.44 2 7.75 2C7.06 2 6.5 2.56 6.5 3.25V14.03C8.47 14.28 10 15.96 10 18H9C9 16.35 7.65 15 6 15H5.5V9.25C5.5 8.56 4.94 8 4.25 8S3 8.56 3 9.25Z\";\r\nexport var mdiHandFrontLeftOutline = \"M3 10.5V15.5C3 20.19 6.81 24 11.5 24S20 20.19 20 15.5V7C20 5.62 18.88 4.5 17.5 4.5C17.33 4.5 17.16 4.5 17 4.55V4C17 2.62 15.88 1.5 14.5 1.5C14.27 1.5 14.04 1.53 13.83 1.59C13.46 .66 12.56 0 11.5 0C10.27 0 9.25 .89 9.04 2.06C8.87 2 8.69 2 8.5 2C7.12 2 6 3.12 6 4.5V8.05C5.84 8 5.67 8 5.5 8C4.12 8 3 9.12 3 10.5M5 10.5C5 10.22 5.22 10 5.5 10S6 10.22 6 10.5V15C7.66 15 9 16.34 9 18H11C11 15.95 9.77 14.19 8 13.42V4.5C8 4.22 8.22 4 8.5 4S9 4.22 9 4.5V11H11V2.5C11 2.22 11.22 2 11.5 2S12 2.22 12 2.5V11H14V4C14 3.72 14.22 3.5 14.5 3.5S15 3.72 15 4V12H17V7C17 6.72 17.22 6.5 17.5 6.5S18 6.72 18 7V15.5C18 19.09 15.09 22 11.5 22S5 19.09 5 15.5V10.5Z\";\r\nexport var mdiHandFrontRight = \"M19.75 8C19.06 8 18.5 8.56 18.5 9.25V15H18C16.35 15 15 16.35 15 18H14C14 15.96 15.53 14.28 17.5 14.03V3.25C17.5 2.56 16.94 2 16.25 2C15.56 2 15 2.56 15 3.25V11H14V1.25C14 .56 13.44 0 12.75 0S11.5 .56 11.5 1.25V11H10.5V2.75C10.5 2.06 9.94 1.5 9.25 1.5S8 2.06 8 2.75V12H7V5.75C7 5.06 6.44 4.5 5.75 4.5S4.5 5.06 4.5 5.75V15.75C4.5 20.31 8.19 24 12.75 24S21 20.31 21 15.75V9.25C21 8.56 20.44 8 19.75 8Z\";\r\nexport var mdiHandFrontRightOutline = \"M18.5 8C18.33 8 18.16 8 18 8.05V4.5C18 3.12 16.88 2 15.5 2C15.31 2 15.13 2 14.96 2.06C14.75 .89 13.73 0 12.5 0C11.44 0 10.54 .66 10.17 1.59C9.96 1.53 9.73 1.5 9.5 1.5C8.12 1.5 7 2.62 7 4V4.55C6.84 4.5 6.67 4.5 6.5 4.5C5.12 4.5 4 5.62 4 7V15.5C4 20.19 7.81 24 12.5 24S21 20.19 21 15.5V10.5C21 9.12 19.88 8 18.5 8M19 15.5C19 19.09 16.09 22 12.5 22S6 19.09 6 15.5V7C6 6.72 6.22 6.5 6.5 6.5S7 6.72 7 7V12H9V4C9 3.72 9.22 3.5 9.5 3.5S10 3.72 10 4V11H12V2.5C12 2.22 12.22 2 12.5 2S13 2.22 13 2.5V11H15V4.5C15 4.22 15.22 4 15.5 4S16 4.22 16 4.5V13.42C14.23 14.19 13 15.95 13 18H15C15 16.34 16.34 15 18 15V10.5C18 10.22 18.22 10 18.5 10S19 10.22 19 10.5V15.5Z\";\r\nexport var mdiHandHeart = \"M20 17Q20.86 17 21.45 17.6T22.03 19L14 22L7 20V11H8.95L16.22 13.69Q17 14 17 14.81 17 15.28 16.66 15.63T15.8 16H13L11.25 15.33L10.92 16.27L13 17H20M16 3.23Q17.06 2 18.7 2 20.06 2 21 3T22 5.3Q22 6.33 21 7.76T19.03 10.15 16 13Q13.92 11.11 12.94 10.15T10.97 7.76 10 5.3Q10 3.94 10.97 3T13.31 2Q14.91 2 16 3.23M.984 11H5V22H.984V11Z\";\r\nexport var mdiHandHeartOutline = \"M16 3.23C16.71 2.41 17.61 2 18.7 2C19.61 2 20.37 2.33 21 3C21.63 3.67 21.96 4.43 22 5.3C22 6 21.67 6.81 21 7.76S19.68 9.5 19.03 10.15C18.38 10.79 17.37 11.74 16 13C14.61 11.74 13.59 10.79 12.94 10.15S11.63 8.71 10.97 7.76C10.31 6.81 10 6 10 5.3C10 4.39 10.32 3.63 10.97 3C11.62 2.37 12.4 2.04 13.31 2C14.38 2 15.27 2.41 16 3.23M22 19V20L14 22.5L7 20.56V22H1V11H8.97L15.13 13.3C16.25 13.72 17 14.8 17 16H19C20.66 16 22 17.34 22 19M5 20V13H3V20H5M19.9 18.57C19.74 18.24 19.39 18 19 18H13.65C13.11 18 12.58 17.92 12.07 17.75L9.69 16.96L10.32 15.06L12.7 15.85C13 15.95 15 16 15 16C15 15.63 14.77 15.3 14.43 15.17L8.61 13H7V18.5L13.97 20.41L19.9 18.57Z\";\r\nexport var mdiHandOkay = \"M13.3,19.26L18.96,13.61L21.08,15.73L15.42,21.38L13.3,19.26M16.5,11.13L13.4,8.05C13.27,7.92 13.13,7.83 13,7.76L11.88,3.47C11.74,2.93 11.2,2.61 10.66,2.75C10.13,2.88 9.81,3.43 9.94,3.96L11,8.03V8.03L8.67,3.19C8.44,2.69 7.84,2.5 7.34,2.71C6.84,2.95 6.63,3.55 6.87,4.05L8.56,7.59L5.19,4.25C4.8,3.86 4.16,3.86 3.77,4.25C3.38,4.65 3.39,5.28 3.78,5.67L7.5,9.37L6.8,9.64L5.72,10.07L3.81,11.39C3.81,11.39 3,12.44 2.93,12.89C2.85,13.34 3.72,15.6 3.72,15.6H3.73C3.89,15.94 4.23,16.18 4.63,16.18A1,1 0 0,0 5.63,15.18C5.63,15.08 5.6,15 5.57,14.91L5.59,14.9L5,13.17L6.23,12.19C6.7,12.21 7.71,12.29 8.2,12.32C10.93,14.77 8.35,15.73 8.35,15.73L4.89,16.79L4.72,16.93C4.5,17.13 4.41,17.4 4.42,17.68L4.44,18.75L10.87,18.25C11.25,18.26 11.61,18.12 11.89,17.85L16.5,13.25C17.03,12.71 17.05,11.7 16.5,11.13Z\";\r\nexport var mdiHandPeace = \"M7,19H15V22H7V19M16.15,12V12L12.97,10.34C12.82,10.34 12.69,10.4 12.6,10.5L12.3,10.81L12.89,13.23L11.91,13.47L10.72,8.5L9.25,9.18L10.29,13.47L9.32,13.7L8.32,9.59L7.85,9.8C7.35,10 7,10.53 7,11.14V15.5C7,16.3 7.73,17 8.5,17H15C15.39,17 15.74,16.84 16,16.57L16.5,16.16C16.5,16.16 17,15.78 17,15.36V13.7C17,13.7 17,12.56 16.15,12M16.94,1C16.4,0.91 15.87,1.25 15.76,1.8L14.69,7.97C14.47,7.94 14.38,7.86 14.08,7.83L13.65,7.88L12.41,1.8C12.3,1.26 11.78,0.91 11.24,1C10.69,1.13 10.34,1.66 10.45,2.2L11.65,8.11V8.11L12,9.67C12.28,9.47 12.61,9.34 12.97,9.34H13.31L16.31,10.95L17.72,2.2C17.83,1.66 17.5,1.13 16.94,1Z\";\r\nexport var mdiHandPeaceVariant = \"M7,19H15V22H7V19M16.94,1C16.4,0.91 15.87,1.25 15.76,1.8L14.75,7.57C14.53,7.54 14.29,7.5 14,7.47L13.57,7.5L12.41,1.8C12.31,1.26 11.78,0.91 11.24,1C10.7,1.13 10.35,1.66 10.45,2.2L11.65,8.11L7.85,9.8C7.35,10 7,10.53 7,11.14V15.5C7,16.3 7.73,17 8.5,17H15C15.39,17 15.74,16.84 16,16.57L16.5,16.16C16.5,16.16 17,15.78 17,15.36V13C17,13 17,11.86 16.13,11.3L17.71,2.2C17.83,1.66 17.5,1.13 16.94,1Z\";\r\nexport var mdiHandPointingDown = \"M9.9,21V11L6.7,12.69L6.5,12.72C6.19,12.72 5.93,12.6 5.74,12.4L5,11.63L9.9,7.43C10.16,7.16 10.5,7 10.9,7H17.4C18.17,7 18.9,7.7 18.9,8.5V12.86C18.9,13.47 18.55,14 18.05,14.2L13.11,16.4L11.9,16.53V21A1,1 0 0,1 10.9,22A1,1 0 0,1 9.9,21M18.9,5H10.9V2H18.9V5Z\";\r\nexport var mdiHandPointingLeft = \"M3,9H13L11.31,5.8L11.28,5.58C11.28,5.29 11.4,5.03 11.6,4.84L12.37,4.1L16.57,9C16.84,9.26 17,9.61 17,10V16.5C17,17.27 16.3,18 15.5,18H11.14C10.53,18 10,17.65 9.8,17.15L7.6,12.21L7.47,11H3A1,1 0 0,1 2,10A1,1 0 0,1 3,9M19,18V10H22V18H19Z\";\r\nexport var mdiHandPointingRight = \"M21,9A1,1 0 0,1 22,10A1,1 0 0,1 21,11H16.53L16.4,12.21L14.2,17.15C14,17.65 13.47,18 12.86,18H8.5C7.7,18 7,17.27 7,16.5V10C7,9.61 7.16,9.26 7.43,9L11.63,4.1L12.4,4.84C12.6,5.03 12.72,5.29 12.72,5.58L12.69,5.8L11,9H21M2,18V10H5V18H2Z\";\r\nexport var mdiHandPointingUp = \"M14,3V13L17.2,11.31L17.42,11.28C17.71,11.28 17.97,11.4 18.16,11.6L18.9,12.37L14,16.57C13.74,16.84 13.39,17 13,17H6.5C5.73,17 5,16.3 5,15.5V11.14C5,10.53 5.35,10 5.85,9.8L10.79,7.6L12,7.47V3A1,1 0 0,1 13,2A1,1 0 0,1 14,3M5,19H13V22H5V19Z\";\r\nexport var mdiHandSaw = \"M9.8,17L5.9,11.6L20,2L22,5V8H19V11H16V14H13V17M9.7,18.7L9.2,21.5L7.6,22.7C6.7,23.3 5.5,23.1 4.8,22.2L1.3,17.3C0.7,16.4 0.9,15.2 1.8,14.5L5.1,12.2L9.7,18.7M4.6,15L3,16.1L6.5,21L8.1,19.8L4.6,15Z\";\r\nexport var mdiHandWash = \"M17 5L17.62 6.37L19 7L17.62 7.63L17 9L16.36 7.63L15 7L16.36 6.37L17 5M11 6.13V4H13C13.57 4 14.1 4.17 14.55 4.45L16 3C15.15 2.39 14.13 2 13 2H7.5V4H9V6.14C7.23 6.5 5.81 7.8 5.26 9.5H9.24L15 11.65V11.03C15 8.61 13.28 6.59 11 6.13M1 22H5V11H1V22M20 17H13L10.91 16.27L11.24 15.33L13 16H15.82C16.47 16 17 15.47 17 14.82C17 14.33 16.69 13.89 16.23 13.71L8.97 11H7V20L14 22L22 19C22 17.9 21.11 17 20 17M20 14C21.1 14 22 13.1 22 12S20 8 20 8 18 10.9 18 12 18.9 14 20 14Z\";\r\nexport var mdiHandWashOutline = \"M17 5L17.62 6.37L19 7L17.62 7.63L17 9L16.36 7.63L15 7L16.36 6.37L17 5M20 14C21.1 14 22 13.1 22 12S20 8 20 8 18 10.9 18 12 18.9 14 20 14M11 6.1V4H13C13.57 4 14.1 4.17 14.55 4.45L16 3C15.15 2.39 14.13 2 13 2H7.5V4H9V6.11C7.22 6.5 5.8 7.79 5.25 9.5H7.41C7.94 8.61 8.89 8 10 8C11.62 8 12.94 9.29 13 10.9L15 11.65V11C15 8.58 13.28 6.56 11 6.1M22 19V20L14 22.5L7 20.56V22H1V11H8.97L15.13 13.3C16.25 13.72 17 14.8 17 16H19C20.66 16 22 17.34 22 19M5 20V13H3V20H5M19.9 18.57C19.74 18.24 19.39 18 19 18H13.65C13.11 18 12.58 17.92 12.07 17.75L9.69 16.96L10.32 15.06L12.7 15.85C13 15.95 15 16 15 16C15 15.63 14.77 15.3 14.43 15.17L8.61 13H7V18.5L13.97 20.41L19.9 18.57Z\";\r\nexport var mdiHandWater = \"M17.42 22.5H5.33C3.5 22.5 2 21 2 19.17V13.08C2 12.18 2.36 11.33 3 10.71L8.63 5.17C8.63 5.17 9.66 6.22 9.67 6.25C9.83 6.43 9.92 6.66 9.92 6.91C9.92 7.09 9.87 7.26 9.78 7.41C9.77 7.44 8 10 8 10H18.67C19.36 10 19.92 10.56 19.92 11.25C19.92 11.94 19.36 12.5 18.67 12.5H12.83V13.33H20.75C21.44 13.33 22 13.89 22 14.58C22 15.28 21.44 15.83 20.75 15.83H12.83V16.67H19.92C20.61 16.67 21.17 17.22 21.17 17.92C21.17 18.61 20.61 19.17 19.92 19.17H12.83V20H17.42C18.11 20 18.67 20.56 18.67 21.25C18.67 21.94 18.11 22.5 17.42 22.5M13.5 4.8C13.5 4.8 12 6.46 12 7.5C12 9.5 15 9.5 15 7.5C15 6.46 13.5 4.8 13.5 4.8M18.5 1C18.5 1 16 3.76 16 5.5C16 8.83 21 8.83 21 5.5C21 3.76 18.5 1 18.5 1Z\";\r\nexport var mdiHandWave = \"M23 17C23 20.31 20.31 23 17 23V21.5C19.5 21.5 21.5 19.5 21.5 17H23M1 7C1 3.69 3.69 1 7 1V2.5C4.5 2.5 2.5 4.5 2.5 7H1M8 4.32L3.41 8.92C.19 12.14 .19 17.37 3.41 20.59S11.86 23.81 15.08 20.59L22.15 13.5C22.64 13.03 22.64 12.24 22.15 11.75C21.66 11.26 20.87 11.26 20.38 11.75L15.96 16.17L15.25 15.46L21.79 8.92C22.28 8.43 22.28 7.64 21.79 7.15S20.5 6.66 20 7.15L14.19 13L13.5 12.27L20.37 5.38C20.86 4.89 20.86 4.1 20.37 3.61S19.09 3.12 18.6 3.61L11.71 10.5L11 9.8L16.5 4.32C17 3.83 17 3.04 16.5 2.55S15.22 2.06 14.73 2.55L7.11 10.17C8.33 11.74 8.22 14 6.78 15.45L6.07 14.74C7.24 13.57 7.24 11.67 6.07 10.5L5.72 10.15L9.79 6.08C10.28 5.59 10.28 4.8 9.79 4.31C9.29 3.83 8.5 3.83 8 4.32Z\";\r\nexport var mdiHandWaveOutline = \"M7.03 4.95L3.5 8.5C.17 11.81 .17 17.19 3.5 20.5S12.19 23.83 15.5 20.5L21.5 14.5C22.5 13.53 22.5 11.94 21.5 10.96C21.4 10.84 21.27 10.73 21.13 10.64L21.5 10.25C22.5 9.28 22.5 7.69 21.5 6.71C21.36 6.55 21.17 6.41 21 6.3C21.38 5.38 21.21 4.28 20.46 3.53C19.59 2.66 18.24 2.57 17.26 3.25C17.16 3.1 17.05 2.96 16.92 2.83C15.95 1.86 14.36 1.86 13.38 2.83L10.87 5.34C10.78 5.2 10.67 5.07 10.55 4.95C9.58 4 8 4 7.03 4.95M8.44 6.37C8.64 6.17 8.95 6.17 9.15 6.37S9.35 6.88 9.15 7.08L5.97 10.26C7.14 11.43 7.14 13.33 5.97 14.5L7.38 15.91C8.83 14.46 9.2 12.34 8.5 10.55L14.8 4.25C15 4.05 15.31 4.05 15.5 4.25S15.71 4.76 15.5 4.96L10.91 9.56L12.32 10.97L18.33 4.96C18.53 4.76 18.84 4.76 19.04 4.96C19.24 5.16 19.24 5.47 19.04 5.67L13.03 11.68L14.44 13.09L19.39 8.14C19.59 7.94 19.9 7.94 20.1 8.14C20.3 8.34 20.3 8.65 20.1 8.85L14.44 14.5L15.85 15.92L19.39 12.38C19.59 12.18 19.9 12.18 20.1 12.38C20.3 12.58 20.3 12.89 20.1 13.09L14.1 19.1C11.56 21.64 7.45 21.64 4.91 19.1S2.37 12.45 4.91 9.91L8.44 6.37M23 17C23 20.31 20.31 23 17 23V21.5C19.5 21.5 21.5 19.5 21.5 17H23M1 7C1 3.69 3.69 1 7 1V2.5C4.5 2.5 2.5 4.5 2.5 7H1Z\";\r\nexport var mdiHandball = \"M15.83 10.43A6.93 6.93 0 0 1 18.39 14.86A6.64 6.64 0 0 1 17.5 19.5L15.78 18.5A5 5 0 0 0 16.44 16A5.22 5.22 0 0 0 15.46 13.06L9.18 23.93L7.44 22.95L10.44 17.75L8.71 16.76L7.21 19.34L5.5 18.36L10.63 9.45A7 7 0 0 1 8.8 5.46A6.91 6.91 0 0 1 9.69 1.1L11.43 2.13A4.84 4.84 0 0 0 10.91 5.9A4.74 4.74 0 0 0 13.21 8.93M16 5A2 2 0 1 0 18 7A2 2 0 0 0 16 5M13.5 1A1.5 1.5 0 1 0 15 2.5A1.5 1.5 0 0 0 13.5 1Z\";\r\nexport var mdiHandcuffs = \"M20.24 6.76C18.4 4.91 15.65 4.53 13.42 5.59L12.46 4.63C12.07 4.24 11.44 4.24 11.05 4.63L10.97 4.72C10.83 3.75 10 3 9 3C7.9 3 7 3.9 7 5C7 5.09 7 5.18 7.03 5.26C6.42 5.61 6 6.25 6 7C6 7.46 6.16 7.87 6.42 8.21C6.17 8.39 6 8.67 6 9V10.35C3.67 11.17 2 13.39 2 16C2 19.31 4.69 22 8 22S14 19.31 14 16C14 13.39 12.33 11.17 10 10.35V9C10 8.67 9.83 8.39 9.58 8.21C9.84 7.87 10 7.46 10 7C10 6.91 10 6.82 9.97 6.74C10.15 6.64 10.3 6.5 10.43 6.38C11.36 6.88 12 7.86 12 9V9.08C12.13 9.15 12.25 9.25 12.38 9.33C12.57 8.91 12.83 8.5 13.17 8.17C14.73 6.61 17.27 6.61 18.83 8.17C20.39 9.73 20.39 12.27 18.83 13.83C18.03 14.63 17 15 15.93 15C16 15.32 16 15.66 16 16C16 16.34 15.97 16.67 15.93 17C17.5 17 19.05 16.43 20.24 15.24C22.59 12.9 22.59 9.1 20.24 6.76M9 4C9.55 4 10 4.45 10 5C10 5.33 9.83 5.61 9.58 5.79C9.22 5.31 8.65 5 8 5C8 4.45 8.45 4 9 4M7.42 6.21C7.78 6.69 8.35 7 9 7C9 7.55 8.55 8 8 8S7 7.55 7 7C7 6.67 7.17 6.39 7.42 6.21M12 16C12 18.21 10.21 20 8 20S4 18.21 4 16C4 13.79 5.79 12 8 12S12 13.79 12 16Z\";\r\nexport var mdiHandsPray = \"M11.43 9.67C11.47 9.78 11.5 9.88 11.5 10V15.22C11.5 15.72 11.31 16.2 10.97 16.57L8.18 19.62L4.78 16.22L6 15L8.8 2.86C8.92 2.36 9.37 2 9.89 2C10.5 2 11 2.5 11 3.11V8.07C10.84 8.03 10.67 8 10.5 8C9.4 8 8.5 8.9 8.5 10V13C8.5 13.28 8.72 13.5 9 13.5S9.5 13.28 9.5 13V10C9.5 9.45 9.95 9 10.5 9C10.69 9 10.85 9.07 11 9.16C11.12 9.23 11.21 9.32 11.3 9.42C11.33 9.46 11.36 9.5 11.38 9.55C11.4 9.59 11.42 9.63 11.43 9.67M2 19L6 22L7.17 20.73L3.72 17.28L2 19M18 15L15.2 2.86C15.08 2.36 14.63 2 14.11 2C13.5 2 13 2.5 13 3.11V8.07C13.16 8.03 13.33 8 13.5 8C14.6 8 15.5 8.9 15.5 10V13C15.5 13.28 15.28 13.5 15 13.5S14.5 13.28 14.5 13V10C14.5 9.45 14.05 9 13.5 9C13.31 9 13.15 9.07 13 9.16C12.88 9.23 12.79 9.32 12.71 9.42C12.68 9.46 12.64 9.5 12.62 9.55C12.6 9.59 12.58 9.63 12.57 9.67C12.53 9.78 12.5 9.88 12.5 10V15.22C12.5 15.72 12.69 16.2 13.03 16.57L15.82 19.62L19.22 16.22L18 15M20.28 17.28L16.83 20.73L18 22L22 19L20.28 17.28Z\";\r\nexport var mdiHandshake = \"M11 6H14L17.29 2.7A1 1 0 0 1 18.71 2.7L21.29 5.29A1 1 0 0 1 21.29 6.7L19 9H11V11A1 1 0 0 1 10 12A1 1 0 0 1 9 11V8A2 2 0 0 1 11 6M5 11V15L2.71 17.29A1 1 0 0 0 2.71 18.7L5.29 21.29A1 1 0 0 0 6.71 21.29L11 17H15A1 1 0 0 0 16 16V15H17A1 1 0 0 0 18 14V13H19A1 1 0 0 0 20 12V11H13V12A2 2 0 0 1 11 14H9A2 2 0 0 1 7 12V9Z\";\r\nexport var mdiHandshakeOutline = \"M21.71 8.71C22.96 7.46 22.39 6 21.71 5.29L18.71 2.29C17.45 1.04 16 1.61 15.29 2.29L13.59 4H11C9.1 4 8 5 7.44 6.15L3 10.59V14.59L2.29 15.29C1.04 16.55 1.61 18 2.29 18.71L5.29 21.71C5.83 22.25 6.41 22.45 6.96 22.45C7.67 22.45 8.32 22.1 8.71 21.71L11.41 19H15C16.7 19 17.56 17.94 17.87 16.9C19 16.6 19.62 15.74 19.87 14.9C21.42 14.5 22 13.03 22 12V9H21.41L21.71 8.71M20 12C20 12.45 19.81 13 19 13L18 13L18 14C18 14.45 17.81 15 17 15L16 15L16 16C16 16.45 15.81 17 15 17H10.59L7.31 20.28C7 20.57 6.82 20.4 6.71 20.29L3.72 17.31C3.43 17 3.6 16.82 3.71 16.71L5 15.41V11.41L7 9.41V11C7 12.21 7.8 14 10 14S13 12.21 13 11H20V12M20.29 7.29L18.59 9H11V11C11 11.45 10.81 12 10 12S9 11.45 9 11V8C9 7.54 9.17 6 11 6H14.41L16.69 3.72C17 3.43 17.18 3.6 17.29 3.71L20.28 6.69C20.57 7 20.4 7.18 20.29 7.29Z\";\r\nexport var mdiHanger = \"M12 4A3.5 3.5 0 0 0 8.5 7.5H10.5A1.5 1.5 0 0 1 12 6A1.5 1.5 0 0 1 13.5 7.5A1.5 1.5 0 0 1 12 9C11.45 9 11 9.45 11 10V11.75L2.4 18.2A1 1 0 0 0 3 20H21A1 1 0 0 0 21.6 18.2L13 11.75V10.85A3.5 3.5 0 0 0 15.5 7.5A3.5 3.5 0 0 0 12 4M12 13.5L18 18H6Z\";\r\nexport var mdiHardHat = \"M9.87,12.15L9,6.46C10.95,5.84 13.05,5.84 15,6.46L14.13,12.15C14.06,12.64 13.63,13 13.13,13H10.86C10.37,13 9.94,12.64 9.87,12.15M22,16V16C22,15.21 21.53,14.5 20.8,14.17C20.32,11.86 18.96,9.83 17,8.5L15.24,13.34C15.1,13.74 14.72,14 14.3,14H9.7C9.28,14 8.9,13.74 8.76,13.34L7,8.5C5.04,9.83 3.68,11.86 3.2,14.16C2.47,14.5 2,15.2 2,16L8.45,17.84C8.81,17.94 9.18,18 9.55,18H14.43C14.8,18 15.17,17.94 15.53,17.84L22,16Z\";\r\nexport var mdiHarddisk = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12,4A6,6 0 0,0 6,10C6,13.31 8.69,16 12.1,16L11.22,13.77C10.95,13.29 11.11,12.68 11.59,12.4L12.45,11.9C12.93,11.63 13.54,11.79 13.82,12.27L15.74,14.69C17.12,13.59 18,11.9 18,10A6,6 0 0,0 12,4M12,9A1,1 0 0,1 13,10A1,1 0 0,1 12,11A1,1 0 0,1 11,10A1,1 0 0,1 12,9M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M12.09,13.27L14.58,19.58L17.17,18.08L12.95,12.77L12.09,13.27Z\";\r\nexport var mdiHarddiskPlus = \"M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M18 2H6A2 2 0 0 0 4 4V13.09A5.47 5.47 0 0 1 5 13A5.71 5.71 0 0 1 7 13.36A6 6 0 1 1 15.71 14.69L13.79 12.27A1 1 0 0 0 12.42 11.9L11.56 12.4A1 1 0 0 0 11.19 13.77L12.1 16A6.12 6.12 0 0 1 10 15.62A6 6 0 0 1 10.19 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14.58 19.58L12.09 13.27L12.95 12.77L17.17 18.08M12 11A1 1 0 1 0 11 10A1 1 0 0 0 12 11M9 20H6V23H4V20H1V18H4V15H6V18H9Z\";\r\nexport var mdiHarddiskRemove = \"M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M12 9A1 1 0 1 0 13 10A1 1 0 0 0 12 9M18 2H6A2 2 0 0 0 4 4V13.09A5.47 5.47 0 0 1 5 13A5.71 5.71 0 0 1 7 13.36A6 6 0 1 1 15.71 14.69L13.79 12.27A1 1 0 0 0 12.42 11.9L11.56 12.4A1 1 0 0 0 11.19 13.77L12.1 16A6.12 6.12 0 0 1 10 15.62A6 6 0 0 1 10.19 22H18A2 2 0 0 0 20 20V4A2 2 0 0 0 18 2M14.58 19.58L12.09 13.27L12.95 12.77L17.17 18.08M12 11A1 1 0 1 0 11 10A1 1 0 0 0 12 11M7.12 22.54L5 20.41L2.88 22.54L1.46 21.12L3.59 19L1.46 16.88L2.88 15.46L5 17.59L7.12 15.46L8.54 16.88L6.41 19L8.54 21.12Z\";\r\nexport var mdiHatFedora = \"M19.11,11.92C19.13,11.71 19.14,11.5 19.14,11.29C19.14,7.86 17.71,4.14 16.28,4.14C14.85,4.14 13.42,5.57 12,5.57C10.57,5.57 9.14,4.14 7.71,4.14C6.28,4.14 4.86,7.79 4.86,11.29C4.86,11.5 4.86,11.71 4.88,11.92C7.22,12.45 9.6,12.72 12,12.71C14.45,12.71 16.83,12.44 19.11,11.92M3.45,18.18C9,19.85 14.96,19.86 20.54,18.18C20.96,18.04 21.33,17.77 21.59,17.41C21.85,17.05 22,16.61 22,16.17C22,15.72 21.86,15.29 21.61,14.92C21.35,14.56 21,14.29 20.56,14.14C17.86,15 15,15.45 12,15.45C9,15.45 6.13,15 3.43,14.14C3,14.29 2.65,14.57 2.39,14.93C2.14,15.29 2,15.72 2,16.17C2,17.11 2.61,17.9 3.45,18.18V18.18Z\";\r\nexport var mdiHazardLights = \"M12,12L14.33,16H9.68L12,12M12,8L6.21,18H17.8L12,8M12,2L1,21H23L12,2M12,6L19.53,19H4.47L12,6Z\";\r\nexport var mdiHdmiPort = \"M21 7H3C1.9 7 1 7.9 1 9V14C1 15.1 1.9 16 3 16H4L5.4 17.4C5.8 17.8 6.3 18 6.8 18H17.1C17.6 18 18.1 17.8 18.5 17.4L20 16H21C22.1 16 23 15.1 23 14V9C23 7.9 22.1 7 21 7M3 14V9H21V14H19.2L17.2 16H6.8L4.8 14H3M19 11H5V13H19V11Z\";\r\nexport var mdiHdr = \"M21,11.5V10.5C21,9.7 20.3,9 19.5,9H16V15H17.5V13H18.6L19.5,15H21L20.1,12.9C20.6,12.6 21,12.1 21,11.5M19.5,11.5H17.5V10.5H19.5V11.5M6.5,11H4.5V9H3V15H4.5V12.5H6.5V15H8V9H6.5V11M13,9H9.5V15H13C13.8,15 14.5,14.3 14.5,13.5V10.5C14.5,9.7 13.8,9 13,9M13,13.5H11V10.5H13V13.5Z\";\r\nexport var mdiHdrOff = \"M17.5,15V13H18.6L19.5,15H21L20.1,12.9C20.6,12.7 21,12.1 21,11.5V10.5C21,9.7 20.3,9 19.5,9H16V13.9L17.1,15H17.5M17.5,10.5H19.5V11.5H17.5V10.5M13,10.5V10.9L14.5,12.4V10.5C14.5,9.7 13.8,9 13,9H11.1L12.6,10.5H13M9.5,9.5L2.5,2.5L1.4,3.5L6.9,9H6.5V11H4.5V9H3V15H4.5V12.5H6.5V15H8V10.1L9.5,11.6V15H12.9L20.5,22.6L21.6,21.5L9.5,9.5Z\";\r\nexport var mdiHead = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3\";\r\nexport var mdiHeadAlert = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M14 15H12V13H14V14M14 11H12V5H14V11Z\";\r\nexport var mdiHeadAlertOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M14 15H12V13H14V15M14 11H12V5H14\";\r\nexport var mdiHeadCheck = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M12.47 13L9 9.5L10.4 8.09L12.47 10.17L16.6 6L18 7.41L12.47 13Z\";\r\nexport var mdiHeadCheckOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.42 1 4.61 4.43 4.06 8.91L2.5 11C1.92 11.72 1.82 12.72 2.24 13.59C2.6 14.31 3.24 14.8 4 14.95V16C4 17.86 5.28 19.43 7 19.87V23H18V17.47C20.5 15.83 22 13.06 22 10C22 5.04 17.96 1 13 1M12.47 13L9 9.5L10.4 8.09L12.47 10.17L16.6 6L18 7.41L12.47 13Z\";\r\nexport var mdiHeadCog = \"M13 8.58C13.78 8.58 14.44 9.19 14.44 10S13.78 11.44 13 11.44 11.58 10.78 11.58 10 12.19 8.58 13 8.58M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M16 10C16 9.84 16 9.75 15.94 9.61L16.83 8.95C16.88 8.91 16.92 8.77 16.88 8.67L16.08 7.31C16.03 7.22 15.89 7.17 15.8 7.22L14.81 7.64C14.63 7.45 14.39 7.31 14.16 7.22L14 6.19C13.97 6.05 13.92 6 13.78 6H12.19C12.09 6 12 6.05 12 6.19L11.86 7.22C11.63 7.31 11.39 7.45 11.2 7.64L10.17 7.22C10.08 7.17 10 7.22 9.94 7.31L9.14 8.67C9.09 8.81 9.09 8.91 9.19 8.95L10.03 9.61C10.03 9.75 10 9.89 10 10C10 10.13 10.03 10.27 10.03 10.41L9.19 11.06C9.09 11.11 9.09 11.2 9.14 11.3L9.94 12.7C10 12.8 10.08 12.8 10.17 12.8L11.16 12.37C11.39 12.56 11.58 12.66 11.86 12.75L12 13.83C12 13.92 12.09 14 12.19 14H13.78C13.92 14 13.97 13.92 14 13.83L14.16 12.75C14.39 12.66 14.63 12.56 14.81 12.38L15.8 12.8C15.89 12.8 16.03 12.8 16.08 12.7L16.88 11.3C16.92 11.2 16.88 11.11 16.83 11.06L16 10.41V10Z\";\r\nexport var mdiHeadCogOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.42 1 4.61 4.43 4.06 8.91L2.5 11C1.92 11.72 1.82 12.72 2.24 13.59C2.6 14.31 3.24 14.8 4 14.95V16C4 17.86 5.28 19.43 7 19.87V23H18V17.47C20.5 15.83 22 13.06 22 10C22 5.04 17.96 1 13 1M16.1 9.42V9C16.1 8.85 16.1 8.76 16.04 8.62L16.93 7.96C17 7.92 17 7.78 17 7.68L16.18 6.32C16.13 6.23 16 6.18 15.9 6.23L14.91 6.65C14.73 6.46 14.5 6.32 14.26 6.23L14.1 5.2C14.07 5.06 14 5 13.88 5H12.29C12.19 5 12.1 5.06 12.1 5.2L11.96 6.23C11.73 6.32 11.5 6.46 11.3 6.65L10.27 6.23C10.18 6.18 10.1 6.23 10.04 6.32L9.24 7.68C9.19 7.82 9.19 7.92 9.29 7.96L10.13 8.62C10.13 8.76 10.1 8.9 10.1 9C10.1 9.14 10.13 9.28 10.13 9.42L9.29 10.07C9.19 10.12 9.19 10.21 9.24 10.31L10.04 11.71C10.1 11.81 10.18 11.81 10.27 11.81L11.26 11.38C11.5 11.57 11.68 11.67 11.96 11.76L12.1 12.84C12.1 12.93 12.19 13 12.29 13H13.88C14 13 14.07 12.93 14.1 12.84L14.26 11.76C14.5 11.67 14.73 11.57 14.91 11.39L15.9 11.81C16 11.81 16.13 11.81 16.18 11.71L17 10.31C17 10.21 17 10.12 16.93 10.07L16.1 9.42M13.1 10.45C12.32 10.45 11.68 9.79 11.68 9S12.29 7.59 13.1 7.59C13.88 7.59 14.54 8.2 14.54 9S13.88 10.45 13.1 10.45Z\";\r\nexport var mdiHeadDotsHorizontal = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M10 11C9.45 11 9 10.55 9 10S9.45 9 10 9 11 9.45 11 10 10.55 11 10 11M13 11C12.45 11 12 10.55 12 10S12.45 9 13 9 14 9.45 14 10 13.55 11 13 11M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9 17 9.45 17 10 16.55 11 16 11Z\";\r\nexport var mdiHeadDotsHorizontalOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M10 10C9.4 10 9 9.6 9 9S9.4 8 10 8 11 8.4 11 9 10.6 10 10 10M13 10C12.4 10 12 9.6 12 9S12.4 8 13 8 14 8.4 14 9 13.6 10 13 10M16 10C15.5 10 15 9.6 15 9S15.5 8 16 8 17 8.4 17 9 16.5 10 16 10Z\";\r\nexport var mdiHeadFlash = \"M13 3C9.2 3 6.2 6 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M15 9L11.9 15L12.5 11H10.5L12.5 6H15L13.5 9H15Z\";\r\nexport var mdiHeadFlashOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M15 9L11.9 15L12.5 11H10.4L12.5 6H15L13.5 9H15Z\";\r\nexport var mdiHeadHeart = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M17 8.83C17 10.37 15.64 11.6 13.58 13.47L13 14L12.42 13.47C10.36 11.6 9 10.37 9 8.83C9 7.63 9.96 6.64 11.16 6.63H11.2C11.89 6.63 12.55 6.94 13 7.46C13.45 6.94 14.11 6.63 14.8 6.63C16 6.62 17 7.59 17 8.79V8.83Z\";\r\nexport var mdiHeadHeartOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M17 8.83C17 10.37 15.64 11.6 13.58 13.47L13 14L12.42 13.47C10.36 11.6 9 10.37 9 8.83C9 7.63 9.96 6.64 11.16 6.63H11.2C11.89 6.63 12.55 6.94 13 7.46C13.45 6.94 14.11 6.63 14.8 6.63C16 6.62 17 7.59 17 8.79V8.83Z\";\r\nexport var mdiHeadLightbulb = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M14 14H12V13H14V14M15.6 9.5C15.34 9.94 14.96 10.32 14.5 10.58V12H11.5V10.58C10.07 9.75 9.57 7.92 10.4 6.5S13.07 4.56 14.5 5.38 16.43 8.05 15.6 9.5Z\";\r\nexport var mdiHeadLightbulbOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M14 14H12V13H14V14M15.6 9.5C15.3 9.9 15 10.3 14.5 10.6V12H11.5V10.6C10.1 9.8 9.6 7.9 10.4 6.5S13.1 4.6 14.5 5.4 16.4 8.1 15.6 9.5Z\";\r\nexport var mdiHeadMinus = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M17 10H9V8H17V10Z\";\r\nexport var mdiHeadMinusOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M17 10H9V8H17V10Z\";\r\nexport var mdiHeadOutline = \"M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C2 11.8 1.9 12.8 2.3 13.6C2.7 14.3 3.3 14.8 4 14.9V16C4 17.8 5.3 19.4 7 19.9V23H18V17.5C20.5 15.8 22 13.1 22 10C22 5 18 1 13 1M16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 6 9.2 3 13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3Z\";\r\nexport var mdiHeadPlus = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M17 10H14V13H12V10H9V8H12V5H14V8H17V10Z\";\r\nexport var mdiHeadPlusOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M17 10H14V13H12V10H9V8H12V5H14V8H17V10Z\";\r\nexport var mdiHeadQuestion = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M14 14H12V12H14V14M15.75 8.81C15.46 9.21 15.09 9.5 14.64 9.74C14.39 9.9 14.22 10.07 14.13 10.26C14.04 10.44 14 10.69 14 11H12C12 10.5 12.11 10.08 12.31 9.82C12.5 9.55 12.85 9.25 13.36 8.91C13.62 8.75 13.83 8.55 13.97 8.32C14.13 8.09 14.2 7.82 14.2 7.5C14.2 7.2 14.12 6.94 13.94 6.75C13.76 6.57 13.5 6.47 13.19 6.47C12.93 6.47 12.71 6.55 12.53 6.7C12.35 6.86 12.26 7.09 12.25 7.39H10.32L10.31 7.36C10.3 6.57 10.56 6 11.08 5.59C11.62 5.2 12.32 5 13.19 5C14.12 5 14.85 5.23 15.38 5.68C15.92 6.13 16.19 6.74 16.19 7.5C16.19 8 16.04 8.41 15.75 8.81Z\";\r\nexport var mdiHeadQuestionOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M10.32 7.39H12.25C12.26 7.09 12.35 6.86 12.53 6.7C12.71 6.55 12.93 6.47 13.19 6.47C13.5 6.47 13.76 6.57 13.94 6.75C14.12 6.94 14.2 7.2 14.2 7.5C14.2 7.82 14.13 8.09 13.97 8.32C13.83 8.55 13.62 8.75 13.36 8.91C12.85 9.25 12.5 9.55 12.31 9.82C12.11 10.08 12 10.5 12 11H14C14 10.69 14.04 10.44 14.13 10.26C14.22 10.07 14.39 9.9 14.64 9.74C15.09 9.5 15.46 9.21 15.75 8.81C16.04 8.41 16.19 8 16.19 7.5C16.19 6.74 15.92 6.13 15.38 5.68C14.85 5.23 14.12 5 13.19 5C12.32 5 11.62 5.2 11.08 5.59C10.56 6 10.3 6.57 10.31 7.36L10.32 7.39M12 14H14V12H12V14M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1Z\";\r\nexport var mdiHeadRemove = \"M13 3C9.2 3 6.2 5.9 6 9.7L4.1 12.2C3.9 12.5 4.1 13 4.5 13H6V16C6 17.1 6.9 18 8 18H9V21H16V16.3C18.4 15.2 20 12.8 20 10C20 6.1 16.9 3 13 3M15.1 12.5L13 10.4L10.9 12.5L9.5 11.1L11.6 9L9.5 6.9L10.9 5.5L13 7.6L15.1 5.5L16.5 6.9L14.4 9L16.5 11.1L15.1 12.5Z\";\r\nexport var mdiHeadRemoveOutline = \"M13 3C16.9 3 20 6.1 20 10C20 12.8 18.4 15.2 16 16.3V21H9V18H8C6.9 18 6 17.1 6 16V13H4.5C4.1 13 3.8 12.5 4.1 12.2L6 9.7C6.2 5.9 9.2 3 13 3M13 1C8.4 1 4.6 4.4 4.1 8.9L2.5 11C1.9 11.7 1.8 12.7 2.2 13.6C2.6 14.3 3.2 14.8 4 15V16C4 17.9 5.3 19.4 7 19.9V23H18V17.5C20.5 15.9 22 13.1 22 10C22 5 18 1 13 1M16.5 6.9L14.4 9L16.5 11.1L15.1 12.5L13 10.4L10.9 12.5L9.5 11.1L11.6 9L9.5 6.9L10.9 5.5L13 7.6L15.1 5.5L16.5 6.9Z\";\r\nexport var mdiHeadSnowflake = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M17.06 9.57L15.1 10.09L16.54 11.54C16.89 11.88 16.89 12.46 16.54 12.81C16.19 13.16 15.61 13.16 15.27 12.81L13.81 11.37L13.3 13.33C13.18 13.82 12.68 14.1 12.21 13.97C11.72 13.84 11.44 13.35 11.57 12.87L12.1 10.9L10.13 11.43C9.65 11.56 9.15 11.28 9.03 10.79C8.9 10.32 9.18 9.82 9.67 9.7L11.63 9.19L10.19 7.73C9.84 7.39 9.84 6.82 10.19 6.46C10.54 6.11 11.12 6.11 11.46 6.46L12.91 7.9L13.43 5.94C13.55 5.46 14.04 5.18 14.5 5.3C15 5.43 15.28 5.92 15.16 6.41L14.63 8.37L16.59 7.84C17.08 7.72 17.57 8 17.7 8.5C17.82 8.96 17.54 9.45 17.06 9.57Z\";\r\nexport var mdiHeadSnowflakeOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M17.33 9.3L15.37 9.81L16.81 11.27C17.16 11.61 17.16 12.19 16.81 12.54S15.88 12.89 15.54 12.54L14.09 11.1L13.57 13.06C13.45 13.55 12.96 13.82 12.5 13.7C12 13.57 11.72 13.08 11.84 12.59L12.37 10.63L10.41 11.16C9.92 11.28 9.43 11 9.3 10.5C9.18 10.05 9.46 9.55 9.94 9.43L11.9 8.91L10.46 7.46C10.11 7.12 10.11 6.55 10.46 6.19C10.81 5.84 11.39 5.84 11.73 6.19L13.19 7.63L13.7 5.67C13.82 5.18 14.32 4.9 14.79 5.03C15.28 5.16 15.56 5.65 15.43 6.13L14.9 8.1L16.87 7.57C17.35 7.44 17.84 7.72 17.97 8.21C18.1 8.68 17.82 9.18 17.33 9.3Z\";\r\nexport var mdiHeadSync = \"M13 3C9.23 3 6.19 5.95 6 9.66L4.08 12.19C3.84 12.5 4.08 13 4.5 13H6V16C6 17.11 6.89 18 8 18H9V21H16V16.31C18.37 15.19 20 12.8 20 10C20 6.14 16.88 3 13 3M13 15V13.5C10.79 13.5 9 11.71 9 9.5C9 8.68 9.25 7.92 9.67 7.29L10.76 8.38C10.59 8.72 10.5 9.1 10.5 9.5C10.5 10.88 11.62 12 13 12V10.5L15.25 12.75L13 15M16.33 11.71L15.24 10.62C15.41 10.28 15.5 9.9 15.5 9.5C15.5 8.12 14.38 7 13 7V8.5L10.75 6.25L13 4V5.5C15.21 5.5 17 7.29 17 9.5C17 10.32 16.75 11.08 16.33 11.71Z\";\r\nexport var mdiHeadSyncOutline = \"M13 3C16.88 3 20 6.14 20 10C20 12.8 18.37 15.19 16 16.31V21H9V18H8C6.89 18 6 17.11 6 16V13H4.5C4.08 13 3.84 12.5 4.08 12.19L6 9.66C6.19 5.95 9.23 3 13 3M13 1C8.41 1 4.61 4.42 4.06 8.9L2.5 11L2.47 11L2.45 11.03C1.9 11.79 1.83 12.79 2.26 13.62C2.62 14.31 3.26 14.79 4 14.94V16C4 17.85 5.28 19.42 7 19.87V23H18V17.5C20.5 15.83 22 13.06 22 10C22 5.03 17.96 1 13 1M14 15V13.5C11.79 13.5 10 11.71 10 9.5C10 8.68 10.25 7.92 10.67 7.29L11.76 8.38C11.59 8.72 11.5 9.1 11.5 9.5C11.5 10.88 12.62 12 14 12V10.5L16.25 12.75L14 15M17.33 11.71L16.24 10.62C16.41 10.28 16.5 9.9 16.5 9.5C16.5 8.12 15.38 7 14 7V8.5L11.75 6.25L14 4V5.5C16.21 5.5 18 7.29 18 9.5C18 10.32 17.75 11.08 17.33 11.71Z\";\r\nexport var mdiHeadphones = \"M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H18A3,3 0 0,0 21,17V10C21,5 16.97,1 12,1Z\";\r\nexport var mdiHeadphonesBluetooth = \"M8,6A6,6 0 0,0 2,12V16.8C2,17.46 2.54,18 3.2,18H6V14H4V12A4,4 0 0,1 8,8A4,4 0 0,1 12,12V14H10V18H12.8A1.2,1.2 0 0,0 14,16.8V12A6,6 0 0,0 8,6M19,7V10.79L16.71,8.5L16,9.21L18.79,12L16,14.79L16.71,15.5L19,13.21V17H19.5L22.35,14.14L20.21,12L22.35,9.85L19.5,7H19M20,8.91L20.94,9.85L20,10.79V8.91M20,13.21L20.94,14.14L20,15.08V13.21Z\";\r\nexport var mdiHeadphonesBox = \"M7.2,18C6.54,18 6,17.46 6,16.8V13.2L6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12V13.2L18,16.8A1.2,1.2 0 0,1 16.8,18H14V14H16V12A4,4 0 0,0 12,8A4,4 0 0,0 8,12V14H10V18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiHeadphonesOff = \"M12,1A9,9 0 0,1 21,10V17C21,17.62 20.81,18.19 20.5,18.67L15,13.18V12H19V10A7,7 0 0,0 12,3C10,3 8.23,3.82 6.96,5.14L5.55,3.72C7.18,2.04 9.47,1 12,1M2.78,3.5L20.5,21.22L19.23,22.5L16.73,20H15V18.27L9,12.27V20H6A3,3 0 0,1 3,17V10C3,8.89 3.2,7.82 3.57,6.84L1.5,4.77L2.78,3.5M5.17,8.44C5.06,8.94 5,9.46 5,10V12H8.73L5.17,8.44Z\";\r\nexport var mdiHeadphonesSettings = \"M12,1A9,9 0 0,1 21,10V17A3,3 0 0,1 18,20H15V12H19V10A7,7 0 0,0 12,3A7,7 0 0,0 5,10V12H9V20H6A3,3 0 0,1 3,17V10A9,9 0 0,1 12,1M15,24V22H17V24H15M11,24V22H13V24H11M7,24V22H9V24H7Z\";\r\nexport var mdiHeadset = \"M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H19V21H12V23H18A3,3 0 0,0 21,20V10C21,5 16.97,1 12,1Z\";\r\nexport var mdiHeadsetDock = \"M2,18H9V6.13C7.27,6.57 6,8.14 6,10V11H8V17H6A2,2 0 0,1 4,15V10A6,6 0 0,1 10,4H11A6,6 0 0,1 17,10V12H18V9H20V12A2,2 0 0,1 18,14H17V15A2,2 0 0,1 15,17H13V11H15V10C15,8.14 13.73,6.57 12,6.13V18H22V20H2V18Z\";\r\nexport var mdiHeadsetOff = \"M1.5,4.77L3.57,6.84C3.2,7.82 3,8.89 3,10V20A3,3 0 0,0 6,23H12V21H5V20H9V12.27L15,18.27V20H16.73L19.23,22.5L20.5,21.22L2.78,3.5L1.5,4.77M12,1C9.47,1 7.18,2.04 5.55,3.72L6.96,5.14C8.23,3.82 10,3 12,3A7,7 0 0,1 19,10V12H15V13.18L20.5,18.67C20.81,18.19 21,17.62 21,17V10A9,9 0 0,0 12,1M5,12V10C5,9.46 5.06,8.94 5.17,8.44L8.73,12H5Z\";\r\nexport var mdiHeart = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35Z\";\r\nexport var mdiHeartBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M12,17L12.72,16.34C15.3,14 17,12.46 17,10.57C17,9.03 15.79,7.82 14.25,7.82C13.38,7.82 12.55,8.23 12,8.87C11.45,8.23 10.62,7.82 9.75,7.82C8.21,7.82 7,9.03 7,10.57C7,12.46 8.7,14 11.28,16.34L12,17Z\";\r\nexport var mdiHeartBoxOutline = \"M12,17L11.28,16.34C8.7,14 7,12.46 7,10.57C7,9.03 8.21,7.82 9.75,7.82C10.62,7.82 11.45,8.23 12,8.87C12.55,8.23 13.38,7.82 14.25,7.82C15.79,7.82 17,9.03 17,10.57C17,12.46 15.3,14 12.72,16.34L12,17M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M5,5V19H19V5H5Z\";\r\nexport var mdiHeartBroken = \"M12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C8.17,3 8.82,3.12 9.44,3.33L13,9.35L9,14.35L12,21.35V21.35M16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35L11,14.35L15.5,9.35L12.85,4.27C13.87,3.47 15.17,3 16.5,3Z\";\r\nexport var mdiHeartBrokenOutline = \"M7.5,5C7.7,5 7.9,5 8.1,5.1L10.5,9.2L6.8,13.8C5.1,11.8 4,10.2 4,8.5C4,6.5 5.5,5 7.5,5M7.5,3C4.4,3 2,5.4 2,8.5C2,12.3 5.4,15.4 10.6,20L12,21.3L9,14.3L13,9.3L9.4,3.3C8.8,3.1 8.2,3 7.5,3M16.5,5C18.5,5 20,6.5 20,8.5C20,11.1 17.4,13.7 13.4,17.3L13.1,15L17.9,9.7L15.6,5.2C15.9,5 16.2,5 16.5,5M16.5,3C15.2,3 13.9,3.5 12.9,4.3L15.5,9.4L11,14.4L12,21.4L13.4,20.1C18.6,15.4 22,12.3 22,8.6C22,5.4 19.6,3 16.5,3Z\";\r\nexport var mdiHeartCircle = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M9.75,7.82C10.62,7.82 11.45,8.23 12,8.87C12.55,8.23 13.38,7.82 14.25,7.82C15.79,7.82 17,9.03 17,10.57C17,12.46 15.3,14 12.72,16.34L12,17L11.28,16.34C8.7,14 7,12.46 7,10.57C7,9.03 8.21,7.82 9.75,7.82Z\";\r\nexport var mdiHeartCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M9.75,7.82C8.21,7.82 7,9.03 7,10.57C7,12.46 8.7,14 11.28,16.34L12,17L12.72,16.34C15.3,14 17,12.46 17,10.57C17,9.03 15.79,7.82 14.25,7.82C13.38,7.82 12.55,8.23 12,8.87C11.45,8.23 10.62,7.82 9.75,7.82Z\";\r\nexport var mdiHeartCog = \"M12 19C12 19.71 12.12 20.4 12.32 21.06L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.8 21.59 11 20.84 12.25C20.25 12.09 19.63 12 19 12C15.14 12 12 15.14 12 19M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiHeartCogOutline = \"M16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12 18.63C12 18.75 12 18.88 12 19C12 19.71 12.12 20.4 12.32 21.06L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.8 21.59 11 20.84 12.25C20.25 12.09 19.63 12 19 12C18.87 12 18.74 12 18.6 12C19.5 10.79 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiHeartFlash = \"M16.5,2.83C14.76,2.83 13.09,3.64 12,4.9C10.91,3.64 9.24,2.83 7.5,2.83C4.42,2.83 2,5.24 2,8.33C2,12.1 5.4,15.19 10.55,19.86L12,21.17L13.45,19.86C18.6,15.19 22,12.1 22,8.33C22,5.24 19.58,2.83 16.5,2.83M12,17.83V13.83H9L12,6.83V10.83H15\";\r\nexport var mdiHeartHalf = \"M13,7.2V17.74L13,20.44L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C10,3 13,5 13,7.2Z\";\r\nexport var mdiHeartHalfFull = \"M16.5,5C15,5 13.58,5.91 13,7.2V17.74C17.25,13.87 20,11.2 20,8.5C20,6.5 18.5,5 16.5,5M16.5,3C19.58,3 22,5.41 22,8.5C22,12.27 18.6,15.36 13.45,20.03L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3Z\";\r\nexport var mdiHeartHalfOutline = \"M4,8.5C4,11.2 6.75,13.87 11,17.74V7.2C10.42,5.91 9,5 7.5,5C5.5,5 4,6.5 4,8.5M13,7.2V17.74L13,20.44L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,5.41 4.42,3 7.5,3C10,3 13,5 13,7.2Z\";\r\nexport var mdiHeartMinus = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M14 17V19H22V17H14Z\";\r\nexport var mdiHeartMinusOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M14 17V19H22V17H14Z\";\r\nexport var mdiHeartMultiple = \"M13.5,20C6.9,13.9 3.5,10.8 3.5,7.1C3.5,4 5.9,1.6 9,1.6C10.7,1.6 12.4,2.4 13.5,3.7C14.6,2.4 16.3,1.6 18,1.6C21.1,1.6 23.5,4 23.5,7.1C23.5,10.9 20.1,14 13.5,20M12,21.1C5.4,15.2 1.5,11.7 1.5,7C1.5,6.8 1.5,6.6 1.5,6.4C0.9,7.3 0.5,8.4 0.5,9.6C0.5,13.4 3.9,16.5 10.5,22.4L12,21.1Z\";\r\nexport var mdiHeartMultipleOutline = \"M12,21.1L10.5,22.4C3.9,16.5 0.5,13.4 0.5,9.6C0.5,8.4 0.9,7.3 1.5,6.4C1.5,6.6 1.5,6.8 1.5,7C1.5,11.7 5.4,15.2 12,21.1M13.6,17C18.3,12.7 21.5,9.9 21.6,7C21.6,5 20.1,3.5 18.1,3.5C16.5,3.5 15,4.5 14.5,5.9H12.6C12,4.5 10.5,3.5 9,3.5C7,3.5 5.5,5 5.5,7C5.5,9.9 8.6,12.7 13.4,17L13.5,17.1M18,1.5C21.1,1.5 23.5,3.9 23.5,7C23.5,10.7 20.1,13.8 13.5,19.8C6.9,13.9 3.5,10.8 3.5,7C3.5,3.9 5.9,1.5 9,1.5C10.7,1.5 12.4,2.3 13.5,3.6C14.6,2.3 16.3,1.5 18,1.5Z\";\r\nexport var mdiHeartOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L15.18,18.44L13.45,20.03L12,21.35L10.55,20.03C5.4,15.36 2,12.27 2,8.5C2,7.55 2.23,6.67 2.63,5.9L1,4.27M7.5,3C9.24,3 10.91,3.81 12,5.08C13.09,3.81 14.76,3 16.5,3C19.58,3 22,5.41 22,8.5C22,11.07 20.42,13.32 17.79,15.97L5.27,3.45C5.95,3.16 6.7,3 7.5,3Z\";\r\nexport var mdiHeartOffOutline = \"M2.39 1.73L1.11 3L3.19 5.08C2.45 6 2 7.19 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C14.32 19.24 15.14 18.5 15.9 17.79L20 22L21.27 20.73M12.1 18.55L12 18.65L11.89 18.55C7.14 14.24 4 11.39 4 8.5C4 7.74 4.22 7.06 4.61 6.5L14.5 16.37C13.74 17.06 12.95 17.78 12.1 18.55M8.3 5.1L6.33 3.13C6.7 3.05 7.1 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 10.84 20.69 12.92 18.47 15.27L17.06 13.86C18.91 11.88 20 10.2 20 8.5C20 6.5 18.5 5 16.5 5C15.1 5 13.74 5.83 13.11 7H10.89C10.38 6.06 9.39 5.34 8.3 5.1Z\";\r\nexport var mdiHeartOutline = \"M12.1,18.55L12,18.65L11.89,18.55C7.14,14.24 4,11.39 4,8.5C4,6.5 5.5,5 7.5,5C9.04,5 10.54,6 11.07,7.36H12.93C13.46,6 14.96,5 16.5,5C18.5,5 20,6.5 20,8.5C20,11.39 16.86,14.24 12.1,18.55M16.5,3C14.76,3 13.09,3.81 12,5.08C10.91,3.81 9.24,3 7.5,3C4.42,3 2,5.41 2,8.5C2,12.27 5.4,15.36 10.55,20.03L12,21.35L13.45,20.03C18.6,15.36 22,12.27 22,8.5C22,5.41 19.58,3 16.5,3Z\";\r\nexport var mdiHeartPlus = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M19 14H17V17H14V19H17V22H19V19H22V17H19V14Z\";\r\nexport var mdiHeartPlusOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiHeartPulse = \"M7.5,4A5.5,5.5 0 0,0 2,9.5C2,10 2.09,10.5 2.22,11H6.3L7.57,7.63C7.87,6.83 9.05,6.75 9.43,7.63L11.5,13L12.09,11.58C12.22,11.25 12.57,11 13,11H21.78C21.91,10.5 22,10 22,9.5A5.5,5.5 0 0,0 16.5,4C14.64,4 13,4.93 12,6.34C11,4.93 9.36,4 7.5,4V4M3,12.5A1,1 0 0,0 2,13.5A1,1 0 0,0 3,14.5H5.44L11,20C12,20.9 12,20.9 13,20L18.56,14.5H21A1,1 0 0,0 22,13.5A1,1 0 0,0 21,12.5H13.4L12.47,14.8C12.07,15.81 10.92,15.67 10.55,14.83L8.5,9.5L7.54,11.83C7.39,12.21 7.05,12.5 6.6,12.5H3Z\";\r\nexport var mdiHeartRemove = \"M12 18C12 19 12.25 19.92 12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C19.83 12.23 18.94 12 18 12C14.69 12 12 14.69 12 18M21.54 15.88L20.12 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88Z\";\r\nexport var mdiHeartRemoveOutline = \"M12.67 20.74L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5C22 9.93 21.5 11.26 20.62 12.61C20 12.31 19.31 12.11 18.59 12.04C19.5 10.8 20 9.65 20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.04 18.61C12.12 19.37 12.34 20.09 12.67 20.74M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88L20.12 14.46Z\";\r\nexport var mdiHeartSearch = \"M19.3 14.9C19.7 14.2 20 13.4 20 12.5C20 10 18 8 15.5 8S11 10 11 12.5 13 17 15.5 17C16.4 17 17.2 16.7 17.9 16.3L20.8 19.2L22.2 17.8L19.3 14.9M15.5 15C14.1 15 13 13.9 13 12.5S14.1 10 15.5 10 18 11.1 18 12.5 16.9 15 15.5 15M14.7 18.9C14.3 19.3 13.9 19.6 13.5 20L12 21.3L10.5 20C5.4 15.4 2 12.3 2 8.5C2 5.4 4.4 3 7.5 3C9.2 3 10.9 3.8 12 5.1C13.1 3.8 14.8 3 16.5 3C19.6 3 22 5.4 22 8.5C22 9.2 21.9 9.8 21.7 10.5C20.8 7.9 18.4 6 15.5 6C11.9 6 9 8.9 9 12.5C9 15.8 11.5 18.5 14.7 18.9Z\";\r\nexport var mdiHeartSettings = \"M15 22H17V24H15V22M11 24H13V22H11V24M7 24H9V22H7V24M16.5 3C14.76 3 13.09 3.81 12 5.08C10.91 3.81 9.24 3 7.5 3C4.42 3 2 5.41 2 8.5C2 12.27 5.4 15.36 10.55 20.03L12 21.35L13.45 20.03C18.6 15.36 22 12.27 22 8.5C22 5.41 19.58 3 16.5 3Z\";\r\nexport var mdiHeartSettingsOutline = \"M7 22H9V24H7V22M11 24H13V22H11V24M15 24H17V22H15V24M22 8.5C22 12.27 18.6 15.36 13.45 20.03L12 21.35L10.55 20.03C5.4 15.36 2 12.27 2 8.5C2 5.41 4.42 3 7.5 3C9.24 3 10.91 3.81 12 5.08C13.09 3.81 14.76 3 16.5 3C19.58 3 22 5.41 22 8.5M20 8.5C20 6.5 18.5 5 16.5 5C14.96 5 13.46 6 12.93 7.36H11.07C10.54 6 9.04 5 7.5 5C5.5 5 4 6.5 4 8.5C4 11.39 7.14 14.24 11.89 18.55L12 18.65L12.1 18.55C16.86 14.24 20 11.39 20 8.5Z\";\r\nexport var mdiHeatPump = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M12.75 7.08C13.57 7.2 14.32 7.5 14.95 8L12.75 10.19V7.08M11.25 7.08V10.19L9.05 8C9.68 7.5 10.43 7.2 11.25 7.08M8 9.05L10.19 11.25H7.08C7.2 10.43 7.5 9.68 8 9.05M7.08 12.75H10.19L8 14.95C7.5 14.32 7.2 13.57 7.08 12.75M11.25 16.92C10.43 16.8 9.68 16.5 9.05 16L11.25 13.81V16.92M12 13C11.45 13 11 12.55 11 12S11.45 11 12 11 13 11.45 13 12 12.55 13 12 13M12.75 16.92V13.81L14.95 16C14.32 16.5 13.57 16.8 12.75 16.92M16 14.95L13.81 12.75H16.92C16.8 13.57 16.5 14.32 16 14.95M13.81 11.25L16 9.05C16.5 9.69 16.8 10.44 16.92 11.25H13.81Z\";\r\nexport var mdiHeatPumpOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M12 18C15.31 18 18 15.31 18 12S15.31 6 12 6 6 8.69 6 12 8.69 18 12 18M11.25 15.92C10.7 15.82 10.2 15.6 9.75 15.3L11.25 13.8V15.92M12.75 15.92V13.81L14.25 15.31C13.8 15.61 13.3 15.82 12.75 15.92M15.31 14.25L13.81 12.75H15.92C15.82 13.3 15.61 13.8 15.31 14.25M15.92 11.25H13.81L15.31 9.75C15.61 10.2 15.82 10.7 15.92 11.25M12.75 8.08C13.3 8.18 13.8 8.4 14.25 8.7L12.75 10.2V8.08M12 11C12.55 11 13 11.45 13 12S12.55 13 12 13 11 12.55 11 12 11.45 11 12 11M11.25 8.08V10.19L9.75 8.69C10.2 8.39 10.7 8.18 11.25 8.08M8.69 9.75L10.19 11.25H8.08C8.18 10.7 8.39 10.2 8.69 9.75M10.19 12.75L8.69 14.25C8.39 13.81 8.18 13.3 8.07 12.75H10.19Z\";\r\nexport var mdiHeatWave = \"M8.5 4.5L5.4 9.5L8.5 14.7L5.2 20.5L3.4 19.6L6.1 14.7L3 9.5L6.7 3.6L8.5 4.5M14.7 4.4L11.6 9.5L14.7 14.5L11.4 20.3L9.6 19.4L12.3 14.5L9.2 9.5L12.9 3.5L14.7 4.4M21 4.4L17.9 9.5L21 14.5L17.7 20.3L15.9 19.4L18.6 14.5L15.5 9.5L19.2 3.5L21 4.4\";\r\nexport var mdiHeatingCoil = \"M19 17C20.21 17 22 16.2 22 14S20.21 11 19 11H17V9H19C21.2 9 22 7.21 22 6C22 3.8 20.21 3 19 3H17V2H16V3H8V2H7V3H2V5H7V7H5C3.79 7 2 7.8 2 10S3.79 13 5 13H7V15H5C3.79 15 2 15.8 2 18S3.79 21 5 21H7V22H8V21H16V22H17V21H22V19H17V17H19M19 13C19.45 13 20 13.19 20 14S19.45 15 19 15H17V13H19M16 11H8V9H16V11M19 5C19.45 5 20 5.2 20 6C20 6.45 19.81 7 19 7H17V5H19M8 5H16V7H8V5M5 11C4.55 11 4 10.81 4 10S4.55 9 5 9H7V11H5M8 13H16V15H8V13M5 19C4.55 19 4 18.81 4 18S4.55 17 5 17H7V19H5M16 19H8V17H16V19Z\";\r\nexport var mdiHelicopter = \"M3,3H17V5H3V3M23,6V10.5L14.75,12.2C14.91,12.6 15,13.04 15,13.5C15,14.9 14.18,16.1 13,16.66V17L13,19H16V21H4A3,3 0 0,1 1,18V17H3V18A1,1 0 0,0 4,19H5V16.74C3.25,16.13 2,14.46 2,12.5C2,10 4,8 6.5,8H9V6H11V8H21V6H23M11,19V17H7V19H11M7.5,10C6.12,10 5,10.9 5,12C5,13.1 6.12,14 7.5,14C8.88,14 10,13.1 10,12C10,10.9 8.88,10 7.5,10Z\";\r\nexport var mdiHelp = \"M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\";\r\nexport var mdiHelpBox = \"M11,18H13V16H11V18M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3Z\";\r\nexport var mdiHelpBoxMultiple = \"M16 20V22H4C2.9 22 2 21.1 2 20V7H4V20H16M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M15 14H13V12H15V14M16.8 8.8C16.5 9.2 16.1 9.5 15.7 9.7C15.5 9.9 15.3 10 15.2 10.2C15 10.4 15 10.7 15 11H13C13 10.5 13.1 10.1 13.3 9.8C13.5 9.5 13.8 9.2 14.3 8.9C14.6 8.7 14.8 8.5 14.9 8.3C15.1 8.1 15.1 7.8 15.1 7.5C15.1 7.2 15 6.9 14.8 6.7C14.6 6.5 14.4 6.4 14 6.4C13.7 6.4 13.5 6.5 13.3 6.6C13.1 6.8 13 7 13 7.3H11.1C11.1 6.5 11.3 5.9 11.9 5.5C12.6 5.2 13.3 5 14.2 5C15.1 5 15.9 5.2 16.4 5.7C16.9 6.2 17.2 6.8 17.2 7.5C17.2 8 17 8.4 16.8 8.8Z\";\r\nexport var mdiHelpBoxMultipleOutline = \"M20 16V4H8V16H20M22 16C22 17.1 21.1 18 20 18H8C6.9 18 6 17.1 6 16V4C6 2.9 6.9 2 8 2H20C21.1 2 22 2.9 22 4V16M16 20V22H4C2.9 22 2 21.1 2 20V7H4V20H16M14.2 5C13.3 5 12.6 5.2 12.1 5.6C11.6 6 11.3 6.6 11.3 7.4H13.2C13.2 7.1 13.3 6.9 13.5 6.7C13.7 6.6 13.9 6.5 14.2 6.5C14.5 6.5 14.8 6.6 15 6.8C15.2 7 15.3 7.2 15.3 7.6C15.3 7.9 15.2 8.2 15.1 8.4C15 8.6 14.7 8.8 14.5 9C14 9.3 13.6 9.6 13.5 9.9C13.1 10.1 13 10.5 13 11H15C15 10.7 15 10.4 15.1 10.3C15.2 10.1 15.4 9.9 15.6 9.8C16 9.6 16.4 9.3 16.7 8.9C17 8.4 17.2 8 17.2 7.5C17.2 6.7 16.9 6.1 16.4 5.7C15.9 5.2 15.1 5 14.2 5M13 12V14H15V12H13Z\";\r\nexport var mdiHelpBoxOutline = \"M11 18H13V16H11V18M12 6C9.8 6 8 7.8 8 10H10C10 8.9 10.9 8 12 8S14 8.9 14 10C14 12 11 11.8 11 15H13C13 12.8 16 12.5 16 10C16 7.8 14.2 6 12 6M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\";\r\nexport var mdiHelpCircle = \"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\r\nexport var mdiHelpCircleOutline = \"M11,18H13V16H11V18M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,6A4,4 0 0,0 8,10H10A2,2 0 0,1 12,8A2,2 0 0,1 14,10C14,12 11,11.75 11,15H13C13,12.75 16,12.5 16,10A4,4 0 0,0 12,6Z\";\r\nexport var mdiHelpNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12.19,5C11.32,5 10.62,5.2 10.08,5.59C9.56,6 9.3,6.57 9.31,7.36L9.32,7.39H11.25C11.26,7.09 11.35,6.86 11.53,6.7C11.71,6.55 11.93,6.47 12.19,6.47C12.5,6.47 12.76,6.57 12.94,6.75C13.12,6.94 13.2,7.2 13.2,7.5C13.2,7.82 13.13,8.09 12.97,8.32C12.83,8.55 12.62,8.75 12.36,8.91C11.85,9.25 11.5,9.55 11.31,9.82C11.11,10.08 11,10.5 11,11H13C13,10.69 13.04,10.44 13.13,10.26C13.22,10.07 13.39,9.9 13.64,9.74C14.09,9.5 14.46,9.21 14.75,8.81C15.04,8.41 15.19,8 15.19,7.5C15.19,6.74 14.92,6.13 14.38,5.68C13.85,5.23 13.12,5 12.19,5M11,12V14H13V12H11Z\";\r\nexport var mdiHelpNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M11.95,6C11.17,6 10.55,6.18 10.07,6.5C9.61,6.89 9.38,7.4 9.39,8.1L9.4,8.13H11.11C11.12,7.86 11.2,7.65 11.36,7.5C11.5,7.38 11.72,7.31 11.95,7.31C12.22,7.31 12.45,7.4 12.61,7.56C12.77,7.73 12.85,7.96 12.85,8.22C12.85,8.5 12.78,8.75 12.64,8.95C12.5,9.16 12.33,9.33 12.1,9.5C11.65,9.78 11.34,10.05 11.17,10.29C11,10.5 10.89,10.89 10.89,11.33H12.67C12.67,11.06 12.7,10.84 12.78,10.68C12.86,10.5 13,10.36 13.24,10.21C13.64,10 13.97,9.74 14.22,9.39C14.5,9.03 14.62,8.67 14.62,8.22C14.62,7.55 14.38,7 13.9,6.61C13.42,6.2 12.77,6 11.95,6M10.89,12.22V14H12.67V12.22H10.89Z\";\r\nexport var mdiHelpRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 6.95C14.7 7.06 15.87 9.78 14.28 11.81C13.86 12.31 13.19 12.64 12.85 13.07C12.5 13.5 12.5 14 12.5 14.5H11C11 13.65 11 12.94 11.35 12.44C11.68 11.94 12.35 11.64 12.77 11.31C14 10.18 13.68 8.59 12 8.46C11.18 8.46 10.5 9.13 10.5 9.97H9C9 8.3 10.35 6.95 12 6.95M11 15.5H12.5V17H11V15.5Z\";\r\nexport var mdiHelpRhombusOutline = \"M11 15.5H12.5V17H11V15.5M12 6.95C14.7 7.06 15.87 9.78 14.28 11.81C13.86 12.31 13.19 12.64 12.85 13.07C12.5 13.5 12.5 14 12.5 14.5H11C11 13.65 11 12.94 11.35 12.44C11.68 11.94 12.35 11.64 12.77 11.31C14 10.18 13.68 8.59 12 8.46C11.18 8.46 10.5 9.13 10.5 9.97H9C9 8.3 10.35 6.95 12 6.95M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\r\nexport var mdiHexadecimal = \"M7 7C5.9 7 5 7.9 5 9V15C5 16.11 5.9 17 7 17H9C10.11 17 11 16.11 11 15V9C11 7.9 10.11 7 9 7H7M7 9H9V15H7V9M17.6 17L15.5 14.9L13.4 17L12 15.6L14.1 13.5L12 11.4L13.4 10L15.5 12.1L17.6 10L19 11.4L16.9 13.5L19 15.6L17.6 17Z\";\r\nexport var mdiHexagon = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5Z\";\r\nexport var mdiHexagonMultiple = \"M10.25,2C10.44,2 10.61,2.11 10.69,2.26L12.91,6.22L13,6.5L12.91,6.78L10.69,10.74C10.61,10.89 10.44,11 10.25,11H5.75C5.56,11 5.39,10.89 5.31,10.74L3.09,6.78L3,6.5L3.09,6.22L5.31,2.26C5.39,2.11 5.56,2 5.75,2H10.25M10.25,13C10.44,13 10.61,13.11 10.69,13.26L12.91,17.22L13,17.5L12.91,17.78L10.69,21.74C10.61,21.89 10.44,22 10.25,22H5.75C5.56,22 5.39,21.89 5.31,21.74L3.09,17.78L3,17.5L3.09,17.22L5.31,13.26C5.39,13.11 5.56,13 5.75,13H10.25M19.5,7.5C19.69,7.5 19.86,7.61 19.94,7.76L22.16,11.72L22.25,12L22.16,12.28L19.94,16.24C19.86,16.39 19.69,16.5 19.5,16.5H15C14.81,16.5 14.64,16.39 14.56,16.24L12.34,12.28L12.25,12L12.34,11.72L14.56,7.76C14.64,7.61 14.81,7.5 15,7.5H19.5Z\";\r\nexport var mdiHexagonMultipleOutline = \"M9.37 4L10.78 6.5L9.37 9H6.63L5.23 6.5L6.63 4H9.37M10.25 2H5.75C5.56 2 5.39 2.11 5.31 2.26L3.09 6.22L3 6.5L3.09 6.78L5.31 10.74C5.39 10.89 5.56 11 5.75 11H10.25C10.44 11 10.61 10.89 10.69 10.74L12.91 6.78L13 6.5L12.91 6.22L10.69 2.26C10.61 2.11 10.44 2 10.25 2M18.62 9.5L20 12L18.62 14.5H15.88L14.5 12L15.88 9.5H18.62M19.5 7.5H15C14.81 7.5 14.64 7.61 14.56 7.76L12.34 11.72L12.25 12L12.34 12.28L14.56 16.24C14.64 16.39 14.81 16.5 15 16.5H19.5C19.69 16.5 19.86 16.39 19.94 16.24L22.16 12.28L22.25 12L22.16 11.72L19.94 7.76C19.86 7.61 19.69 7.5 19.5 7.5M9.37 15L10.78 17.5L9.37 20H6.63L5.23 17.5L6.63 15H9.37M10.25 13H5.75C5.56 13 5.39 13.11 5.31 13.26L3.09 17.22L3 17.5L3.09 17.78L5.31 21.74C5.39 21.89 5.56 22 5.75 22H10.25C10.44 22 10.61 21.89 10.69 21.74L12.91 17.78L13 17.5L12.91 17.22L10.69 13.26C10.61 13.11 10.44 13 10.25 13Z\";\r\nexport var mdiHexagonOutline = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice1 = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15M12,12V5.32L17.94,8.66L12,12Z\";\r\nexport var mdiHexagonSlice2 = \"M18,15.38L12,12V5.32L18,8.69V15.38M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice3 = \"M12,5.32L18,8.69V15.31L12,18.68V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice4 = \"M12,5.32L18,8.69V15.31L12,18.68L6.06,15.34L12,12V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice5 = \"M12,5.32L18,8.69V15.31L12,18.68L6,15.31V8.69L12,12V5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagonSlice6 = \"M12,5.32L18,8.69V15.31L12,18.68L6,15.31V8.69L12,5.32M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L5,8.09V15.91L12,19.85L19,15.91V8.09L12,4.15Z\";\r\nexport var mdiHexagram = \"M14.5,7.66L20.64,6.97L17,12L20.68,16.97L14.5,16.32L12.03,22L9.5,16.34L3.36,17.03L7,12L3.32,7.03L9.5,7.68L11.97,2L14.5,7.66Z\";\r\nexport var mdiHexagramOutline = \"M12,7L13.3,9.8L16.5,9.4L14.5,12L16.4,14.5L13.2,14.1L12,17L10.7,14.2L7.5,14.6L9.5,12L7.6,9.5L10.8,9.9L12,7M12,2L9.5,7.7L3.3,7L7,12L3.4,17L9.6,16.3L12,22L14.5,16.3L20.7,16.9L17,12L20.6,7L14.4,7.7L12,2Z\";\r\nexport var mdiHighDefinition = \"M5,7H7V11H9V7H11V17H9V13H7V17H5V7M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16Z\";\r\nexport var mdiHighDefinitionBox = \"M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,15H9.5V13H7.5V15H6V9H7.5V11.5H9.5V9H11V15M13,9H17A1,1 0 0,1 18,10V14A1,1 0 0,1 17,15H13V9M14.5,13.5H16.5V10.5H14.5V13.5Z\";\r\nexport var mdiHighway = \"M10,2L8,8H11V2H10M13,2V8H16L14,2H13M2,9V10H4V11H6V10H18L18.06,11H20V10H22V9H2M7,11L3.34,22H11V11H7M13,11V22H20.66L17,11H13Z\";\r\nexport var mdiHiking = \"M17.47 8.67H19V23H17.47V12.6C16.67 12.44 15.92 12.14 15.21 11.71S13.9 10.78 13.39 10.2L12.77 13.27L15 15.47V23H13V17L10.76 14.8L8.89 23H6.73C6.73 23 9.86 7.22 9.89 7.09C10 6.61 10.22 6.24 10.59 6C10.96 5.73 11.33 5.6 11.71 5.6C12.1 5.6 12.46 5.69 12.79 5.87C13.13 6.04 13.39 6.29 13.58 6.61L14.64 8.24C14.93 8.78 15.32 9.25 15.81 9.63S16.86 10.3 17.47 10.5V8.67M8.55 5.89L7.4 5.65C6.83 5.5 6.31 5.62 5.84 5.94C5.38 6.26 5.1 6.7 5 7.28L4.19 11.26C4.16 11.55 4.22 11.81 4.38 12.05C4.54 12.29 4.75 12.42 5 12.46L7.21 12.89L8.55 5.89M13 1C11.9 1 11 1.9 11 3S11.9 5 13 5 15 4.11 15 3 14.11 1 13 1Z\";\r\nexport var mdiHistory = \"M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3\";\r\nexport var mdiHockeyPuck = \"M12,5C6.5,5 2,6.57 2,8.5C2,10.43 6.5,12 12,12C17.5,12 22,10.43 22,8.5C22,6.57 17.5,5 12,5M2,11.76V16.5C2,18.43 6.5,20 12,20C17.5,20 22,18.43 22,16.5V11.76C21.33,12.22 20.58,12.57 19.73,12.86C17.62,13.6 14.95,14 12,14C9.05,14 6.38,13.6 4.27,12.86C3.42,12.57 2.67,12.22 2,11.76Z\";\r\nexport var mdiHockeySticks = \"M17.68 4H14.3L12.56 8C12.53 8.04 12.45 8.22 12.31 8.5S12.06 9.04 12 9.19L9.7 4H6.32L10.41 12.84C10.5 13.06 10.73 13.59 11.11 14.43C11.5 15.28 11.78 15.91 12 16.35L13.41 19.44C13.6 19.78 13.89 19.95 14.3 19.95L19 20V16H15L13.6 12.84L17.68 4M20.03 16V20H22V17C22 16.73 21.91 16.5 21.72 16.28C21.53 16.08 21.3 16 21 16H20.03M5 16V20L9.7 19.95C10.11 19.95 10.4 19.78 10.59 19.44L11.44 17.5L9.84 14.06L9 16H5M2 20H3.97V16H3C2.7 16 2.47 16.08 2.28 16.28C2.09 16.5 2 16.73 2 17V20Z\";\r\nexport var mdiHololens = \"M12,8C12,8 22,8 22,11C22,11 22.09,14.36 21.75,14.25C21,11 12,11 12,11C12,11 3,11 2.25,14.25C1.91,14.36 2,11 2,11C2,8 12,8 12,8M12,12C20,12 20.75,14.25 20.75,14.25C19.75,17.25 19,18 15,18C12,18 13,16.5 12,16.5C11,16.5 12,18 9,18C5,18 4.25,17.25 3.25,14.25C3.25,14.25 4,12 12,12Z\";\r\nexport var mdiHome = \"M10,20V14H14V20H19V12H22L12,3L2,12H5V20H10Z\";\r\nexport var mdiHomeAccount = \"M12,3L2,12H5V20H19V12H22L12,3M12,8.75A2.25,2.25 0 0,1 14.25,11A2.25,2.25 0 0,1 12,13.25A2.25,2.25 0 0,1 9.75,11A2.25,2.25 0 0,1 12,8.75M12,15C13.5,15 16.5,15.75 16.5,17.25V18H7.5V17.25C7.5,15.75 10.5,15 12,15Z\";\r\nexport var mdiHomeAlert = \"M12 3L2 12H5V20H19V12H22L12 3M13 18H11V16H13V18M13 14H11V8H13V14Z\";\r\nexport var mdiHomeAlertOutline = \"M12 5.7L17 10.2V18H7V10.2L12 5.7M19 20V12H22L12 3L2 12H5V20M13 8H11V13H13V8M13 15H11V17H13V15\";\r\nexport var mdiHomeAnalytics = \"M12,3L2,12H5V20H19V12H22M9,18H7V12H9M13,18H11V10H13M17,18H15V14H17\";\r\nexport var mdiHomeAssistant = \"M21.8,13H20V21H13V17.67L15.79,14.88L16.5,15C17.66,15 18.6,14.06 18.6,12.9C18.6,11.74 17.66,10.8 16.5,10.8A2.1,2.1 0 0,0 14.4,12.9L14.5,13.61L13,15.13V9.65C13.66,9.29 14.1,8.6 14.1,7.8A2.1,2.1 0 0,0 12,5.7A2.1,2.1 0 0,0 9.9,7.8C9.9,8.6 10.34,9.29 11,9.65V15.13L9.5,13.61L9.6,12.9A2.1,2.1 0 0,0 7.5,10.8A2.1,2.1 0 0,0 5.4,12.9A2.1,2.1 0 0,0 7.5,15L8.21,14.88L11,17.67V21H4V13H2.25C1.83,13 1.42,13 1.42,12.79C1.43,12.57 1.85,12.15 2.28,11.72L11,3C11.33,2.67 11.67,2.33 12,2.33C12.33,2.33 12.67,2.67 13,3L17,7V6H19V9L21.78,11.78C22.18,12.18 22.59,12.59 22.6,12.8C22.6,13 22.2,13 21.8,13M7.5,12A0.9,0.9 0 0,1 8.4,12.9A0.9,0.9 0 0,1 7.5,13.8A0.9,0.9 0 0,1 6.6,12.9A0.9,0.9 0 0,1 7.5,12M16.5,12C17,12 17.4,12.4 17.4,12.9C17.4,13.4 17,13.8 16.5,13.8A0.9,0.9 0 0,1 15.6,12.9A0.9,0.9 0 0,1 16.5,12M12,6.9C12.5,6.9 12.9,7.3 12.9,7.8C12.9,8.3 12.5,8.7 12,8.7C11.5,8.7 11.1,8.3 11.1,7.8C11.1,7.3 11.5,6.9 12,6.9Z\";\r\nexport var mdiHomeAutomation = \"M12,3L2,12H5V20H19V12H22L12,3M12,8.5C14.34,8.5 16.46,9.43 18,10.94L16.8,12.12C15.58,10.91 13.88,10.17 12,10.17C10.12,10.17 8.42,10.91 7.2,12.12L6,10.94C7.54,9.43 9.66,8.5 12,8.5M12,11.83C13.4,11.83 14.67,12.39 15.6,13.3L14.4,14.47C13.79,13.87 12.94,13.5 12,13.5C11.06,13.5 10.21,13.87 9.6,14.47L8.4,13.3C9.33,12.39 10.6,11.83 12,11.83M12,15.17C12.94,15.17 13.7,15.91 13.7,16.83C13.7,17.75 12.94,18.5 12,18.5C11.06,18.5 10.3,17.75 10.3,16.83C10.3,15.91 11.06,15.17 12,15.17Z\";\r\nexport var mdiHomeBattery = \"M12 20L5 20V12H2L12 3L14.78 5.5H14V7.17C12.84 7.58 12 8.7 12 10V20M15 9H16V7.5H20V9H21C21.55 9 22 9.45 22 10V21C22 21.55 21.55 22 21 22H15C14.45 22 14 21.55 14 21V10C14 9.45 14.45 9 15 9M16 11V14H20V11H16Z\";\r\nexport var mdiHomeBatteryOutline = \"M15 9H16V7.5H20V9H21C21.55 9 22 9.45 22 10V21C22 21.55 21.55 22 21 22H15C14.45 22 14 21.55 14 21V10C14 9.45 14.45 9 15 9M16 11V14H20V11H16M12 5.69L7 10.19V18H12V20H5V12H2L12 3L14.78 5.5H14V7.17L13.76 7.27L12 5.69Z\";\r\nexport var mdiHomeCircle = \"M19.07,4.93C17.22,3 14.66,1.96 12,2C9.34,1.96 6.79,3 4.94,4.93C3,6.78 1.96,9.34 2,12C1.96,14.66 3,17.21 4.93,19.06C6.78,21 9.34,22.04 12,22C14.66,22.04 17.21,21 19.06,19.07C21,17.22 22.04,14.66 22,12C22.04,9.34 21,6.78 19.07,4.93M17,12V18H13.5V13H10.5V18H7V12H5L12,5L19.5,12H17Z\";\r\nexport var mdiHomeCircleOutline = \"M12 20C7.6 20 4 16.4 4 12S7.6 4 12 4 20 7.6 20 12 16.4 20 12 20M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M11 14H13V17H16V12H18L12 7L6 12H8V17H11V14\";\r\nexport var mdiHomeCity = \"M0,21V10L7.5,5L15,10V21H10V14H5V21H0M24,2V21H17V8.93L16,8.27V6H14V6.93L10,4.27V2H24M21,14H19V16H21V14M21,10H19V12H21V10M21,6H19V8H21V6Z\";\r\nexport var mdiHomeCityOutline = \"M10,2V4.26L12,5.59V4H22V19H17V21H24V2H10M7.5,5L0,10V21H15V10L7.5,5M14,6V6.93L15.61,8H16V6H14M18,6V8H20V6H18M7.5,7.5L13,11V19H10V13H5V19H2V11L7.5,7.5M18,10V12H20V10H18M18,14V16H20V14H18Z\";\r\nexport var mdiHomeClock = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H4V12H1L11 3L18 9.29C20.89 10.15 23 12.83 23 16M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiHomeClockOutline = \"M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M23 16C23 19.87 19.87 23 16 23C13.62 23 11.53 21.81 10.26 20H4V12H1L11 3L18 9.29C20.89 10.15 23 12.83 23 16M9.29 18C9.11 17.37 9 16.7 9 16C9 12.54 11.5 9.68 14.8 9.11L11 5.69L6 10.19V18H9.29M21 16C21 13.24 18.76 11 16 11S11 13.24 11 16 13.24 21 16 21 21 18.76 21 16Z\";\r\nexport var mdiHomeEdit = \"M12 3L2 12H5V20H10V14H14V15.11L19.43 9.68L12 3M21.04 11.14C20.9 11.14 20.76 11.2 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.91 13.14 22.91 12.79 22.7 12.58L21.42 11.3C21.32 11.2 21.18 11.14 21.04 11.14M19.06 12.88L13 18.94V21H15.06L21.11 14.93L19.06 12.88Z\";\r\nexport var mdiHomeEditOutline = \"M 21.0413,11.14C 21.1827,11.14 21.3173,11.1973 21.4213,11.3027L 22.6973,12.5787C 22.912,12.792 22.912,13.14 22.6973,13.3493L 21.6973,14.3493L 19.6507,12.3027L 20.6507,11.3027C 20.76,11.1973 20.9013,11.14 21.0413,11.14 Z M 19.0627,12.88L 21.1093,14.932L 15.0627,21L 13,21L 13,18.9373L 19.0627,12.88 Z M 12,5.688L 7,10.188L 7,18L 11,18L 11,20L 5,20L 5,12L 2,12L 12,3L 19.4587,9.71285L 17,12.1716L 17,10.188L 12,5.688 Z\";\r\nexport var mdiHomeExportOutline = \"M24 13L20 17V14H11V12H20V9L24 13M4 20V12H1L11 3L18 9.3V10H15.79L11 5.69L6 10.19V18H16V16H18V20H4Z\";\r\nexport var mdiHomeFlood = \"M18.67 19C16.72 19 16.58 20 15.34 20C14.15 20 13.92 19 12 19C10.06 19 9.91 20 8.67 20S7.29 19 5.34 19 3.24 20 2 20V22C3.95 22 4.11 21 5.34 21C6.58 21 6.72 22 8.67 22S10.77 21 12 21C13.23 21 13.41 22 15.34 22S17.44 21 18.67 21C19.89 21 20.07 22 22 22V20C20.76 20 20.62 19 18.67 19M8.68 17.5C10.63 17.5 10.77 16.5 12 16.5C13.2 16.5 13.43 17.5 15.34 17.5C17.29 17.5 17.43 16.5 18.67 16.5C19.86 16.5 20.07 17.5 22 17.5V15.5C21.35 15.5 21 15.22 20.5 14.95L18.5 7.42L20.57 8.27L21.31 6.41L9.78 2L2 11.61L3.57 12.84L4.96 11.06L5.89 14.54C5.71 14.5 5.54 14.5 5.33 14.5C3.38 14.5 3.24 15.5 2 15.5V17.5C3.9 17.5 4.17 16.5 5.35 16.5C6.54 16.5 6.77 17.5 8.68 17.5M14.04 10.18L15.46 15.5C14.12 15.58 14 14.5 12 14.5C11.63 14.5 11.34 14.54 11.08 14.6L10.17 11.21L14.04 10.18Z\";\r\nexport var mdiHomeFloor0 = \"M11,10H13V16H11V10M22,12H19V20H5V12H2L12,3L22,12M15,10A2,2 0 0,0 13,8H11A2,2 0 0,0 9,10V16A2,2 0 0,0 11,18H13A2,2 0 0,0 15,16V10Z\";\r\nexport var mdiHomeFloor1 = \"M12,3L2,12H5V20H19V12H22L12,3M10,8H14V18H12V10H10V8Z\";\r\nexport var mdiHomeFloor2 = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V12A2,2 0 0,1 13,14H11V16H15V18H9V14A2,2 0 0,1 11,12H13V10H9V8Z\";\r\nexport var mdiHomeFloor3 = \"M12,3L22,12H19V20H5V12H2L12,3M15,11.5V10C15,8.89 14.1,8 13,8H9V10H13V12H11V14H13V16H9V18H13A2,2 0 0,0 15,16V14.5A1.5,1.5 0 0,0 13.5,13A1.5,1.5 0 0,0 15,11.5Z\";\r\nexport var mdiHomeFloorA = \"M12,3L2,12H5V20H19V12H22L12,3M11,8H13A2,2 0 0,1 15,10V18H13V15H11V18H9V10C9,8.89 9.9,8 11,8M11,10V13H13V10H11Z\";\r\nexport var mdiHomeFloorB = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H13A2,2 0 0,1 15,10V11.5A1.5,1.5 0 0,1 13.5,13A1.5,1.5 0 0,1 15,14.5V16A2,2 0 0,1 13,18H9V8M11,10V12H13V10H11M11,14V16H13V14H11Z\";\r\nexport var mdiHomeFloorG = \"M12,3L2,12H5V20H19V12H22L12,3M11,8H15V10H11V16H13V12H15V16C15,17.11 14.1,18 13,18H11A2,2 0 0,1 9,16V10C9,8.89 9.9,8 11,8Z\";\r\nexport var mdiHomeFloorL = \"M12,3L2,12H5V20H19V12H22L12,3M9,8H11V16H15V18H9V8Z\";\r\nexport var mdiHomeFloorNegative1 = \"M12,3L2,12H5V20H19V12H22L12,3M11,15H7V13H11V15M15,18H13V10H11V8H15V18Z\";\r\nexport var mdiHomeGroup = \"M17,16H15V22H12V17H8V22H5V16H3L10,10L17,16M6,2L10,6H9V9H7V6H5V9H3V6H2L6,2M18,3L23,8H22V12H19V9H17V12H15.34L14,10.87V8H13L18,3Z\";\r\nexport var mdiHomeGroupMinus = \"M2 6H1L5 2L9 6H8V9H6V6H4V9H2V6M13 10.9L14.3 12H16V9H18V12H21V8H22L17 3L12 8H13V10.9M13.8 22C13.3 21.1 13 20.1 13 19C13 17.4 13.6 15.9 14.7 14.9L9 10L2 16H4V22H7V17H11V22H13.8M15 18V20H23V18H15Z\";\r\nexport var mdiHomeGroupPlus = \"M2 6H1L5 2L9 6H8V9H6V6H4V9H2V6M13 10.9L14.3 12H16V9H18V12H21V8H22L17 3L12 8H13V10.9M13.8 22C13.3 21.1 13 20.1 13 19C13 17.4 13.6 15.9 14.7 14.9L9 10L2 16H4V22H7V17H11V22H13.8M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiHomeGroupRemove = \"M2 6H1L5 2L9 6H8V9H6V6H4V9H2V6M13 10.9L14.3 12H16V9H18V12H21V8H22L17 3L12 8H13V10.9M13.8 22C13.3 21.1 13 20.1 13 19C13 17.4 13.6 15.9 14.7 14.9L9 10L2 16H4V22H7V17H11V22H13.8M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\r\nexport var mdiHomeHeart = \"M2,12L12,3L22,12H19V20H5V12H2M12,18L12.72,17.34C15.3,15 17,13.46 17,11.57C17,10.03 15.79,8.82 14.25,8.82C13.38,8.82 12.55,9.23 12,9.87C11.45,9.23 10.62,8.82 9.75,8.82C8.21,8.82 7,10.03 7,11.57C7,13.46 8.7,15 11.28,17.34L12,18Z\";\r\nexport var mdiHomeImportOutline = \"M15 13L11 17V14H2V12H11V9L15 13M5 20V16H7V18H17V10.19L12 5.69L7.21 10H4.22L12 3L22 12H19V20H5Z\";\r\nexport var mdiHomeLightbulb = \"M12 3L2 12H5V20H19V12H22M13 18H11V17H13M13.5 14.58V16H10.5V14.58A3 3 0 1 1 13.5 14.58Z\";\r\nexport var mdiHomeLightbulbOutline = \"M5 20V12H2L12 3L22 12H19V20H5M12 5.69L7 10.19V18H17V10.19L12 5.69M11 17V16H13V17H11M11 15C10.72 15 10.5 14.78 10.5 14.5V13.6C9.6 13.08 9 12.11 9 11C9 9.34 10.34 8 12 8C13.66 8 15 9.34 15 11C15 12.11 14.4 13.08 13.5 13.6V14.5C13.5 14.78 13.28 15 13 15H11Z\";\r\nexport var mdiHomeLightningBolt = \"M12 3L2 12H5V20H19V12H22L12 3M11.5 18V14H9L12.5 7V11H15L11.5 18Z\";\r\nexport var mdiHomeLightningBoltOutline = \"M5 20V12H2L12 3L22 12H19V20H5M12 5.69L7 10.19V18H17V10.19L12 5.69M11.5 18V14H9L12.5 7V11H15L11.5 18Z\";\r\nexport var mdiHomeLock = \"M12,3L2,12H5V20H19V12H22L12,3M12,9A3,3 0 0,1 15,12V13H16V17H8V13H9V12A3,3 0 0,1 12,9M12,11A1,1 0 0,0 11,12V13H13V12C13,11.5 12.6,11 12,11Z\";\r\nexport var mdiHomeLockOpen = \"M12,3L2,12H5V20H19V12H22L12,3M12,8A3,3 0 0,1 15,11H13A1,1 0 0,0 12,10A1,1 0 0,0 11,11V13H16V17H8V13H9V11A3,3 0 0,1 12,8Z\";\r\nexport var mdiHomeMapMarker = \"M12,3L2,12H5V20H19V12H22L12,3M12,7.7C14.1,7.7 15.8,9.4 15.8,11.5C15.8,14.5 12,18 12,18C12,18 8.2,14.5 8.2,11.5C8.2,9.4 9.9,7.7 12,7.7M12,10A1.5,1.5 0 0,0 10.5,11.5A1.5,1.5 0 0,0 12,13A1.5,1.5 0 0,0 13.5,11.5A1.5,1.5 0 0,0 12,10Z\";\r\nexport var mdiHomeMinus = \"M22 17V19H14V17H22M12 3L22 12H18C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H5V12H2L12 3Z\";\r\nexport var mdiHomeMinusOutline = \"M14 17H22V19H14V17M5 20V12H2L12 3L22 12H17V10.19L12 5.69L7 10.19V18H12C12 18.7 12.12 19.37 12.34 20H5Z\";\r\nexport var mdiHomeModern = \"M6,21V8A2,2 0 0,1 8,6L16,3V6A2,2 0 0,1 18,8V21H12V16H8V21H6M14,19H16V16H14V19M8,13H10V9H8V13M12,13H16V9H12V13Z\";\r\nexport var mdiHomeOff = \"M20.84 22.73L18.11 20H14V15.89L12.11 14H10V20H5V12H2L6.27 8.16L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 12H22L12 3L8.95 5.75L19 15.8V12Z\";\r\nexport var mdiHomeOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.27 8.16L2 12H5V20H11V14H12.11L13 14.89V20H18.11L20.84 22.73L22.11 21.46M9 12V18H7V10.19L7.68 9.57L10.11 12H9M15 18V16.89L16.11 18H15M10.36 7.16L8.95 5.75L12 3L22 12H19V15.8L17 13.8V10.19L12 5.69L10.36 7.16Z\";\r\nexport var mdiHomeOutline = \"M12 5.69L17 10.19V18H15V12H9V18H7V10.19L12 5.69M12 3L2 12H5V20H11V14H13V20H19V12H22\";\r\nexport var mdiHomePercent = \"M19 12V20H5V12H2L12 3L22 12H19M15.53 11.03L14.47 9.97L8.47 15.97L9.53 17.03L15.53 11.03M10.63 10.37C10.4 10.13 10.08 10 9.75 10C9.42 10 9.1 10.13 8.87 10.37C8.63 10.6 8.5 10.92 8.5 11.25C8.5 11.58 8.63 11.9 8.87 12.13C9.1 12.37 9.42 12.5 9.75 12.5C10.08 12.5 10.4 12.37 10.63 12.13C10.87 11.9 11 11.58 11 11.25C11 10.92 10.87 10.6 10.63 10.37M15.13 14.87C14.9 14.63 14.58 14.5 14.25 14.5C13.92 14.5 13.6 14.63 13.37 14.87C13.13 15.1 13 15.42 13 15.75C13 16.08 13.13 16.4 13.37 16.63C13.6 16.87 13.92 17 14.25 17C14.58 17 14.9 16.87 15.13 16.63C15.37 16.4 15.5 16.08 15.5 15.75C15.5 15.42 15.37 15.1 15.13 14.87Z\";\r\nexport var mdiHomePercentOutline = \"M15.53 11.03L14.47 9.97L8.47 15.97L9.53 17.03L15.53 11.03M10.63 10.37C10.4 10.13 10.08 10 9.75 10C9.42 10 9.1 10.13 8.87 10.37C8.63 10.6 8.5 10.92 8.5 11.25C8.5 11.58 8.63 11.9 8.87 12.13C9.1 12.37 9.42 12.5 9.75 12.5C10.08 12.5 10.4 12.37 10.63 12.13C10.87 11.9 11 11.58 11 11.25C11 10.92 10.87 10.6 10.63 10.37M15.13 14.87C14.9 14.63 14.58 14.5 14.25 14.5C13.92 14.5 13.6 14.63 13.37 14.87C13.13 15.1 13 15.42 13 15.75C13 16.08 13.13 16.4 13.37 16.63C13.6 16.87 13.92 17 14.25 17C14.58 17 14.9 16.87 15.13 16.63C15.37 16.4 15.5 16.08 15.5 15.75C15.5 15.42 15.37 15.1 15.13 14.87M19 12V20H5V12H2L12 3L22 12H19M17 10.2L12 5.7L7 10.2V18H17V10.2Z\";\r\nexport var mdiHomePlus = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M12 3L22 12H18C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H5V12H2L12 3Z\";\r\nexport var mdiHomePlusOutline = \"M17 14H19V17H22V19H19V22H17V19H14V17H17V14M5 20V12H2L12 3L22 12H17V10.19L12 5.69L7 10.19V18H12C12 18.7 12.12 19.37 12.34 20H5Z\";\r\nexport var mdiHomeRemove = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M12 3L22 12H18C14.69 12 12 14.69 12 18C12 18.7 12.12 19.37 12.34 20H5V12H2L12 3Z\";\r\nexport var mdiHomeRemoveOutline = \"M14.46 15.88L15.88 14.46L18 16.59L20.12 14.47L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.47 15.88M5 20V12H2L12 3L22 12H17V10.19L12 5.69L7 10.19V18H12C12 18.7 12.12 19.37 12.34 20H5Z\";\r\nexport var mdiHomeRoof = \"M19 16H22L12 7L2 16H5L12 9.69L19 16M7 8.81V7H4V11.5L7 8.81Z\";\r\nexport var mdiHomeSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M5 20V12H2L12 3L22 12H20.18C19 10.77 17.34 10 15.5 10C11.92 10 9 12.92 9 16.5C9 17.79 9.38 19 10.03 20H5Z\";\r\nexport var mdiHomeSearchOutline = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M5 20V12H2L12 3L22 12H20.18C19.33 11.11 18.23 10.47 17 10.18L12 5.69L7 10.19V18H9.18C9.35 18.72 9.64 19.39 10.03 20H5Z\";\r\nexport var mdiHomeSilo = \"M24 7.8C23.6 4.5 20.9 2 17.5 2C15.8 2 14.1 2.7 12.9 3.9C12.2 4.6 11.7 5.3 11.4 6.2L17 9.9V10H20V12H17V14H20V16H17V18H20V20H17V22H24V7.8M13.3 7C13.9 5.2 15.6 4 17.5 4S21.1 5.2 21.7 7H13.3M0 11V22H5V15H10V22H15V11L7.5 6L0 11Z\";\r\nexport var mdiHomeSiloOutline = \"M20 21H17V19H20V21M20 17H17V15H20V17M20 13H17V11H20V13M24 7.8C23.6 4.5 20.8 2 17.5 2C15.8 2 14.1 2.7 12.9 3.9C12.2 4.6 11.7 5.3 11.4 6.2L15.6 9H22V22H24V7.8M13.3 7C13.9 5.2 15.6 4 17.5 4S21.1 5.2 21.7 7H13.3M7.5 6L0 11V22H15V11L7.5 6M13 20H10V14H5V20H2V12L7.5 8.5L13 12V20Z\";\r\nexport var mdiHomeSoundIn = \"M6.58045 2C6.50974 4.6163 4.52984 6.59619 1.98426 6.59619V8.01041C5.44908 8.08112 8.13609 5.39411 7.99467 2H6.58045Z M1.98426 3.62635V5.04056C3.75202 4.96985 5.02482 3.69706 5.02482 2H3.6106C3.46918 2.84853 2.83278 3.48492 1.98426 3.62635Z M22.0157 6.59619C19.4702 6.59619 17.4903 4.6163 17.4196 2H16.0053C15.8639 5.39411 18.5509 8.08112 22.0157 8.01041V6.59619Z M22.0157 5.04056V3.62635C21.1672 3.48492 20.5308 2.84853 20.3894 2H18.9752C18.9752 3.69706 20.248 4.96985 22.0157 5.04056Z M19 20V12H22L12 3L2 12H5V20H19Z\";\r\nexport var mdiHomeSoundInOutline = \"M6.58045 2C6.50974 4.6163 4.52984 6.59619 1.98425 6.59619V8.01041C5.44908 8.08112 8.13608 5.39411 7.99466 2H6.58045Z M1.98425 3.62635V5.04056C3.75202 4.96985 5.02481 3.69706 5.02481 2H3.6106C3.46918 2.84853 2.83278 3.48492 1.98425 3.62635Z M22.0157 6.59619C19.4702 6.59619 17.4903 4.6163 17.4195 2H16.0053C15.8639 5.39411 18.5509 8.08112 22.0157 8.01041V6.59619Z M22.0157 5.04056V3.62635C21.1672 3.48492 20.5308 2.84853 20.3894 2H18.9752C18.9752 3.69706 20.248 4.96985 22.0157 5.04056Z M19 20V12H22L12 3L2 12H5V20H19ZM12 5.7L17 10.2V18H7V10.2L12 5.7Z\";\r\nexport var mdiHomeSoundOut = \"M2.4038 7.01172C2.47451 4.39542 4.45441 2.41552 7 2.41552V1.00131C3.53517 0.9306 0.848167 3.61761 0.989589 7.01172L2.4038 7.01172Z M7 5.38537V3.97116C5.23223 4.04187 3.95944 5.31466 3.95944 7.01172H5.37365C5.51507 6.16319 6.15147 5.52679 7 5.38537Z M17 2.41552C19.5456 2.41552 21.5255 4.39542 21.5962 7.01172L23.0104 7.01172C23.1518 3.61761 20.4648 0.9306 17 1.00131V2.41552Z M17 3.97116V5.38537C17.8485 5.52679 18.4849 6.16319 18.6263 7.01172H20.0406C20.0406 5.31466 18.7678 4.04187 17 3.97116Z M19 20V12H22L12 3L2 12H5V20H19Z\";\r\nexport var mdiHomeSoundOutOutline = \"M2.4038 7.01172C2.47451 4.39542 4.45441 2.41552 7 2.41552V1.00131C3.53517 0.9306 0.848167 3.61761 0.989589 7.01172L2.4038 7.01172Z M7 5.38537V3.97116C5.23223 4.04187 3.95944 5.31466 3.95944 7.01172H5.37365C5.51507 6.16319 6.15147 5.52679 7 5.38537Z M17 2.41552C19.5456 2.41552 21.5255 4.39542 21.5962 7.01172L23.0104 7.01172C23.1518 3.61761 20.4648 0.9306 17 1.00131V2.41552Z M17 3.97116V5.38537C17.8485 5.52679 18.4849 6.16319 18.6263 7.01172H20.0406C20.0406 5.31466 18.7678 4.04187 17 3.97116Z M19 20V12H22L12 3L2 12H5V20H19ZM12 5.7L17 10.2V18H7V10.2L12 5.7Z\";\r\nexport var mdiHomeSwitch = \"M6.5 15V11H9.5V15H13V9H15L8 3L1 9H3V15H6.5M9 16V18H15V16L18 19L15 22V20H9V22L6 19L9 16M23 9H21V15H15V10H19L13.54 5.11L16 3L23 9Z\";\r\nexport var mdiHomeSwitchOutline = \"M8 3L1 9H3V15H7V11H9V15H13V9H15L8 3M11.5 9V13.5H10.5V9.5H5.5V13.5H4.5V8L8 5L11.5 8V9M9 16V18H15V16L18 19L15 22V20H9V22L6 19L9 16M23 9H21V15H15V10H19L13.54 5.11L16 3L23 9Z\";\r\nexport var mdiHomeThermometer = \"M19 8C20.11 8 21 8.9 21 10V16.76C21.61 17.31 22 18.11 22 19C22 20.66 20.66 22 19 22C17.34 22 16 20.66 16 19C16 18.11 16.39 17.31 17 16.76V10C17 8.9 17.9 8 19 8M19 9C18.45 9 18 9.45 18 10V11H20V10C20 9.45 19.55 9 19 9M5 20V12H2L12 3L16.4 6.96C15.54 7.69 15 8.78 15 10V16C14.37 16.83 14 17.87 14 19L14.1 20H5Z\";\r\nexport var mdiHomeThermometerOutline = \"M19 8C20.11 8 21 8.9 21 10V16.76C21.61 17.31 22 18.11 22 19C22 20.66 20.66 22 19 22C17.34 22 16 20.66 16 19C16 18.11 16.39 17.31 17 16.76V10C17 8.9 17.9 8 19 8M19 9C18.45 9 18 9.45 18 10V11H20V10C20 9.45 19.55 9 19 9M12 5.69L7 10.19V18H14.1L14 19L14.1 20H5V12H2L12 3L16.4 6.96C15.89 7.4 15.5 7.97 15.25 8.61L12 5.69Z\";\r\nexport var mdiHomeVariant = \"M12,3L20,9V21H15V14H9V21H4V9L12,3Z\";\r\nexport var mdiHomeVariantOutline = \"M9,13H15V19H18V10L12,5.5L6,10V19H9V13M4,21V9L12,3L20,9V21H4Z\";\r\nexport var mdiHook = \"M18,6C18,7.82 16.76,9.41 15,9.86V17A5,5 0 0,1 10,22A5,5 0 0,1 5,17V12L10,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17V9.86C11.23,9.4 10,7.8 10,5.97C10,3.76 11.8,2 14,2C16.22,2 18,3.79 18,6M14,8A2,2 0 0,0 16,6A2,2 0 0,0 14,4A2,2 0 0,0 12,6A2,2 0 0,0 14,8Z\";\r\nexport var mdiHookOff = \"M13,9.86V11.18L15,13.18V9.86C17.14,9.31 18.43,7.13 17.87,5C17.32,2.85 15.14,1.56 13,2.11C10.86,2.67 9.57,4.85 10.13,7C10.5,8.4 11.59,9.5 13,9.86M14,4A2,2 0 0,1 16,6A2,2 0 0,1 14,8A2,2 0 0,1 12,6A2,2 0 0,1 14,4M18.73,22L14.86,18.13C14.21,20.81 11.5,22.46 8.83,21.82C6.6,21.28 5,19.29 5,17V12L10,17H7A3,3 0 0,0 10,20A3,3 0 0,0 13,17V16.27L2,5.27L3.28,4L13,13.72L15,15.72L20,20.72L18.73,22Z\";\r\nexport var mdiHoopHouse = \"M12 5C6.5 5 2 9.5 2 15V21H22V15C22 9.5 17.5 5 12 5M12 7C14.53 7 16.78 8.17 18.25 10H5.76C7.22 8.17 9.47 7 12 7M8 19H4V15C4 13.94 4.21 12.93 4.58 12H8V19M14 19H10V12H14V19M20 19H16V12H19.42C19.79 12.93 20 13.94 20 15V19Z\";\r\nexport var mdiHops = \"M21,12C21,12 12.5,10 12.5,2C12.5,2 21,2 21,12M3,12C3,2 11.5,2 11.5,2C11.5,10 3,12 3,12M12,6.5C12,6.5 13,8.66 15,10.5C14.76,14.16 12,16 12,16C12,16 9.24,14.16 9,10.5C11,8.66 12,6.5 12,6.5M20.75,13.25C20.75,13.25 20,17 18,19C18,19 15.53,17.36 14.33,14.81C15.05,13.58 15.5,12.12 15.75,11.13C17.13,12.18 18.75,13 20.75,13.25M15.5,18.25C14.5,20.25 12,21.75 12,21.75C12,21.75 9.5,20.25 8.5,18.25C8.5,18.25 9.59,17.34 10.35,15.8C10.82,16.35 11.36,16.79 12,17C12.64,16.79 13.18,16.35 13.65,15.8C14.41,17.34 15.5,18.25 15.5,18.25M3.25,13.25C5.25,13 6.87,12.18 8.25,11.13C8.5,12.12 8.95,13.58 9.67,14.81C8.47,17.36 6,19 6,19C4,17 3.25,13.25 3.25,13.25Z\";\r\nexport var mdiHorizontalRotateClockwise = \"M12 14L8 10L4 14H7.1C7.56 18.56 9.58 22 12 22S16.44 18.56 16.9 14H14.91C14.57 17.45 13.4 20 12 20S9.43 17.45 9.09 14H12M12 4C13.4 4 14.57 6.55 14.91 10H16.9C16.44 5.44 14.42 2 12 2C9.84 2 8 4.74 7.3 8.58L8 7.88L9.21 9.08C9.64 6.11 10.73 4 12 4M22 13V11H11L13 13H22M2 13H3L5 11H2V13Z\";\r\nexport var mdiHorizontalRotateCounterclockwise = \"M12 10H9.09C9.43 6.55 10.6 4 12 4S14.57 6.55 14.91 10H16.9C16.44 5.44 14.42 2 12 2S7.56 5.44 7.1 10H4L8 14L12 10M12 20C10.73 20 9.64 17.89 9.21 14.92L8 16.12L7.3 15.42C8 19.26 9.84 22 12 22C14.42 22 16.44 18.56 16.9 14H14.91C14.57 17.45 13.4 20 12 20M22 11H13L11 13H22V11M2 13H5L3 11H2V13\";\r\nexport var mdiHorse = \"M22 6V9.5L20.5 10L18.96 7.54C18.83 7.33 18.5 7.42 18.5 7.67V11.25C18.5 12.23 18.11 13.11 17.5 13.78V21H15V15C14.92 15 14.84 15 14.75 15C14.54 15 14.33 14.97 14.13 14.94L9.69 14.2L8.57 16.21L9.53 21H7L6 16.25C5.97 15.95 6 15.65 6.16 15.39L7.18 13.58C6.2 13.03 5.53 12 5.5 10.81C5.46 10.96 5.44 11.18 5.47 11.5C5.5 11.94 5.61 12.59 5.54 13.31C5.5 14.03 5.17 14.77 4.75 15.26C4.32 15.75 3.85 16.09 3.35 16.35L2.65 15.65C2.84 15.18 3.03 14.76 3.07 14.37C3.13 14 3.06 13.7 2.95 13.43L2.42 12.3C2.21 11.79 1.95 11.05 2 10.18C2.03 9.33 2.5 8.22 3.39 7.61C4.29 7 5.26 6.92 6.05 7.08C6.55 7.18 7.06 7.42 7.5 7.76C7.87 7.59 8.3 7.5 8.75 7.5H14.5V7C14.5 4.79 16.29 3 18.5 3H22L21.11 4.34C21.65 4.7 22 5.31 22 6Z\";\r\nexport var mdiHorseHuman = \"M10 3.5C10 2.67 10.67 2 11.5 2S13 2.67 13 3.5 12.33 5 11.5 5 10 4.33 10 3.5M22 8V11.5L20.97 11.85C20.8 13.06 19.76 14 18.5 14H18.42C18.28 14.68 17.95 15.29 17.5 15.78V22H15V17C14.92 17 14.84 17 14.75 17C14.54 17 14.33 16.97 14.13 16.94L9.69 16.2L8.57 18.21L9.32 22H6.78L6 18.25C5.97 17.95 6 17.65 6.16 17.39L7.18 15.58C6.2 15.03 5.53 14 5.5 12.81C5.46 12.96 5.44 13.18 5.47 13.5C5.5 13.94 5.61 14.59 5.54 15.31C5.5 16.03 5.17 16.77 4.75 17.26C4.32 17.75 3.85 18.09 3.35 18.35L2.65 17.65C2.84 17.18 3.03 16.76 3.07 16.37C3.13 16 3.06 15.7 2.95 15.43L2.42 14.3C2.21 13.79 1.95 13.05 2 12.18C2.03 11.33 2.5 10.22 3.39 9.61C4.29 9 5.26 8.91 6.05 9.08C6.55 9.18 7.06 9.42 7.5 9.76C7.87 9.59 8.3 9.5 8.75 9.5H9V8.11C9 7.11 9.68 6.19 10.66 6.03C11.92 5.82 13 6.79 13 8V9.5H14.5V9C14.5 6.79 16.29 5 18.5 5H22L21.11 6.34C21.65 6.7 22 7.31 22 8M20 11.2L18.96 9.54C18.83 9.33 18.5 9.42 18.5 9.67V13C19.33 13 20 12.33 20 11.5V11.2Z\";\r\nexport var mdiHorseVariant = \"M20 8V16L17 17L13.91 11.5C13.65 11.04 12.92 11.27 13 11.81L14 21L4 17L5.15 8.94C5.64 5.53 8.56 3 12 3H20L18.42 5.37C19.36 5.88 20 6.86 20 8Z\";\r\nexport var mdiHorseVariantFast = \"M23 8V16L20 17L16.91 11.5C16.65 11.04 15.92 11.27 16 11.81L17 21L7 17L8.15 8.94C8.64 5.53 11.56 3 15 3H23L21.42 5.37C22.36 5.88 23 6.86 23 8M4 5H7.58C8.08 4.24 8.7 3.57 9.41 3H4C3.45 3 3 3.45 3 4S3.45 5 4 5M5.84 11H2C1.45 11 1 11.45 1 12S1.45 13 2 13H5.55L5.84 11M3 9H6.12L6.17 8.66C6.25 8.08 6.39 7.53 6.58 7H3C2.45 7 2 7.45 2 8S2.45 9 3 9Z\";\r\nexport var mdiHorseshoe = \"M19,4H20V1H16V4C16,4 18,8 18,12C18,16 16,19 12,19C8,19 6,16 6,12C6,8 8,4 8,4V1H4V4H5C5,4 2,8 2,14C2,19 7,23 12,23C17,23 22,19 22,14C22,8 19,4 19,4M4,13C3.4,13 3,12.6 3,12C3,11.4 3.4,11 4,11C4.6,11 5,11.4 5,12C5,12.6 4.6,13 4,13M6,19C5.4,19 5,18.6 5,18C5,17.4 5.4,17 6,17C6.6,17 7,17.4 7,18C7,18.6 6.6,19 6,19M12,22C11.4,22 11,21.6 11,21C11,20.4 11.4,20 12,20C12.6,20 13,20.4 13,21C13,21.6 12.6,22 12,22M18,19C17.4,19 17,18.6 17,18C17,17.4 17.4,17 18,17C18.6,17 19,17.4 19,18C19,18.6 18.6,19 18,19M20,13C19.4,13 19,12.6 19,12C19,11.4 19.4,11 20,11C20.6,11 21,11.4 21,12C21,12.6 20.6,13 20,13Z\";\r\nexport var mdiHospital = \"M18 14H14V18H10V14H6V10H10V6H14V10H18\";\r\nexport var mdiHospitalBox = \"M18,14H14V18H10V14H6V10H10V6H14V10H18M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiHospitalBoxOutline = \"M18 14H14V18H10V14H6V10H10V6H14V10H18M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M20 20H4V4H20V20Z\";\r\nexport var mdiHospitalBuilding = \"M2,22V7A1,1 0 0,1 3,6H7V2H17V6H21A1,1 0 0,1 22,7V22H14V17H10V22H2M9,4V10H11V8H13V10H15V4H13V6H11V4H9M4,20H8V17H4V20M4,15H8V12H4V15M16,20H20V17H16V20M16,15H20V12H16V15M10,15H14V12H10V15Z\";\r\nexport var mdiHospitalMarker = \"M12,2C15.86,2 19,5.13 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M9,6V12H11V10H13V12H15V6H13V8H11V6H9Z\";\r\nexport var mdiHotTub = \"M7,4A2,2 0 0,1 9,6A2,2 0 0,1 7,8A2,2 0 0,1 5,6A2,2 0 0,1 7,4M11.15,12H22V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12H5V11.25C5,10 6,9 7.25,9H7.28C7.62,9 7.95,9.09 8.24,9.23C8.5,9.35 8.74,9.5 8.93,9.73L10.33,11.28C10.56,11.54 10.84,11.78 11.15,12M7,20V14H5V20H7M11,20V14H9V20H11M15,20V14H13V20H15M19,20V14H17V20H19M18.65,5.86C19.68,6.86 20.16,8.21 19.95,9.57L19.89,10H18L18.09,9.41C18.24,8.62 18,7.83 17.42,7.21L17.35,7.15C16.32,6.14 15.85,4.79 16.05,3.43L16.11,3H18L17.91,3.59C17.76,4.38 18,5.17 18.58,5.79L18.65,5.86M14.65,5.86C15.68,6.86 16.16,8.21 15.95,9.57L15.89,10H14L14.09,9.41C14.24,8.62 14,7.83 13.42,7.21L13.35,7.15C12.32,6.14 11.85,4.79 12.05,3.43L12.11,3H14L13.91,3.59C13.76,4.38 14,5.17 14.58,5.79L14.65,5.86Z\";\r\nexport var mdiHours12 = \"M13 2V4C17 4.5 20 7.8 20 11.9C20 15.1 18.1 17.9 15.3 19.2L13 17V22H18L16.8 20.8C19.9 19.1 22 15.8 22 12C22 6.8 18 2.5 13 2M11 2C9.1 2.2 7.2 3 5.7 4.2L7.1 5.6C8.2 4.8 9.6 4.2 11 4V2M4.2 5.7C3 7.2 2.2 9.1 2 11H4C4.2 9.6 4.8 8.2 5.6 7.1L4.2 5.7M2 13C2.2 14.9 3 16.8 4.2 18.3L5.6 16.9C4.8 15.8 4.2 14.4 4 13H2M7.1 18.4L5.7 19.8C7.2 21 9.1 21.8 11 22V20C9.6 19.8 8.2 19.2 7.1 18.4M12 8V10H15V11H14C12.9 11 12 11.9 12 13V16H17V14H14V13H15C16.1 13 17 12.1 17 11V10C17 8.9 16.1 8 15 8H12M7 8V10H8V16H10V8H7Z\";\r\nexport var mdiHours24 = \"M13 2.05V4.07C16.95 4.56 20 7.92 20 12C20 15.21 18.08 18 15.28 19.28L13 17V22H18L16.78 20.78C19.91 19.07 22 15.76 22 12C22 6.82 18.05 2.55 13 2.05M11 2C9.05 2.2 7.2 2.96 5.68 4.21L7.1 5.63C8.23 4.75 9.58 4.2 11 4V2M4.2 5.68C2.96 7.2 2.2 9.05 2 11H4C4.19 9.58 4.75 8.23 5.63 7.1L4.2 5.68M6 8V10H9V11H8C6.9 11 6 11.9 6 13V16H11V14H8V13H9C10.11 13 11 12.11 11 11V10C11 8.9 10.11 8 9 8H6M12 8V13H15V16H17V13H18V11H17V8H15V11H14V8H12M2 13C2.2 14.95 2.97 16.8 4.22 18.32L5.64 16.9C4.76 15.77 4.2 14.42 4 13H2M7.11 18.37L5.68 19.79C7.2 21.03 9.05 21.8 11 22V20C9.58 19.81 8.24 19.25 7.11 18.37Z\";\r\nexport var mdiHub = \"M8.4 18.2C8.8 18.7 9 19.3 9 20C9 21.7 7.7 23 6 23S3 21.7 3 20 4.3 17 6 17C6.4 17 6.8 17.1 7.2 17.3L8.6 15.5C7.7 14.5 7.3 13.1 7.5 11.8L5.5 11.1C5 11.9 4.1 12.5 3 12.5C1.3 12.5 0 11.2 0 9.5S1.3 6.5 3 6.5 6 7.8 6 9.5V9.7L8 10.4C8.6 9.2 9.8 8.3 11.2 8.1V5.9C10 5.6 9 4.4 9 3C9 1.3 10.3 0 12 0S15 1.3 15 3C15 4.4 14 5.6 12.8 5.9V8.1C14.2 8.3 15.4 9.2 16 10.4L18 9.7V9.5C18 7.8 19.3 6.5 21 6.5S24 7.8 24 9.5 22.7 12.5 21 12.5C19.9 12.5 19 11.9 18.5 11.1L16.5 11.8C16.7 13.1 16.3 14.5 15.4 15.5L16.8 17.3C17.2 17.1 17.6 17 18 17C19.7 17 21 18.3 21 20S19.7 23 18 23 15 21.7 15 20C15 19.3 15.2 18.7 15.6 18.2L14.2 16.4C12.8 17.2 11.2 17.2 9.8 16.4L8.4 18.2Z\";\r\nexport var mdiHubOutline = \"M21 6.5C19.3 6.5 18 7.8 18 9.5V9.7L16 10.4C15.4 9.2 14.2 8.3 12.8 8.1V5.9C14 5.6 15 4.4 15 3C15 1.3 13.7 0 12 0S9 1.3 9 3C9 4.4 10 5.6 11.2 5.9V8.1C9.9 8.3 8.7 9.2 8 10.4L6 9.7V9.5C6 7.8 4.7 6.5 3 6.5S0 7.8 0 9.5 1.3 12.5 3 12.5C4.1 12.5 5 11.9 5.5 11.1L7.5 11.8C7.3 13.1 7.7 14.5 8.6 15.5L7.2 17.3C6.8 17.1 6.4 17 6 17C4.3 17 3 18.3 3 20S4.3 23 6 23 9 21.7 9 20C9 19.3 8.8 18.7 8.4 18.2L9.8 16.4C11.2 17.2 12.8 17.2 14.2 16.4L15.6 18.2C15.2 18.7 15 19.3 15 20C15 21.7 16.3 23 18 23S21 21.7 21 20 19.7 17 18 17C17.6 17 17.1 17.1 16.8 17.3L15.4 15.5C16.3 14.5 16.7 13.1 16.5 11.8L18.5 11.1C19 11.9 20 12.5 21 12.5C22.7 12.5 24 11.2 24 9.5S22.7 6.5 21 6.5M3 10.5C2.5 10.5 2 10.1 2 9.5S2.5 8.5 3 8.5 4 8.9 4 9.5 3.5 10.5 3 10.5M6 21C5.4 21 5 20.5 5 20S5.4 19 6 19 7 19.5 7 20 6.6 21 6 21M11 3C11 2.5 11.4 2 12 2S13 2.5 13 3 12.6 4 12 4 11 3.5 11 3M12 15C10.6 15 9.5 13.9 9.5 12.5S10.6 10 12 10 14.5 11.1 14.5 12.5 13.4 15 12 15M18 19C18.5 19 19 19.5 19 20S18.5 21 18 21 17 20.5 17 20 17.5 19 18 19M21 10.5C20.5 10.5 20 10.1 20 9.5S20.5 8.5 21 8.5 22 8.9 22 9.5 21.5 10.5 21 10.5Z\";\r\nexport var mdiHubspot = \"M17.1,8.6V6.2C17.7,5.9 18.2,5.3 18.2,4.6V4.5C18.2,3.5 17.4,2.7 16.4,2.7H16.3C15.3,2.7 14.5,3.5 14.5,4.5V4.6C14.5,5.3 14.9,5.9 15.6,6.2V8.6C14.7,8.7 13.8,9.1 13.1,9.7L6.5,4.6C6.8,3.5 6.1,2.3 5,2.1C3.9,1.9 2.8,2.4 2.5,3.5C2.2,4.6 2.9,5.8 4,6.1C4.5,6.2 5.1,6.2 5.6,5.9L12,10.9C10.8,12.7 10.8,15 12.1,16.8L10.1,18.8C9.9,18.8 9.8,18.7 9.6,18.7C8.7,18.7 7.9,19.5 7.9,20.4C7.9,21.3 8.7,22 9.6,22C10.5,22 11.3,21.2 11.3,20.3V20.3C11.3,20.1 11.3,20 11.2,19.8L13.1,17.9C15.4,19.6 18.7,19.2 20.4,16.9C22.1,14.6 21.7,11.3 19.4,9.6C18.8,9.1 18,8.7 17.1,8.6M16.3,16.4C14.8,16.4 13.6,15.2 13.6,13.7C13.6,12.2 14.8,11 16.3,11C17.8,11 19,12.2 19,13.7C19,15.2 17.8,16.4 16.3,16.4\";\r\nexport var mdiHulu = \"M19.5,12.8V22H14.7V13.9C14.7,13.2 14.1,12.6 13.4,12.6H10.5C9.8,12.6 9.2,13.2 9.2,13.9V22H4.5V2H9.3V8.4C9.6,8.3 9.9,8.2 10.2,8.2H15C17.5,8.2 19.5,10.3 19.5,12.8Z\";\r\nexport var mdiHuman = \"M21,9H15V22H13V16H11V22H9V9H3V7H21M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6C10.89,6 10,5.1 10,4C10,2.89 10.89,2 12,2Z\";\r\nexport var mdiHumanBabyChangingTable = \"M6.5 6.08C5.72 6.12 5 6.62 4.72 7.4L3 12.13V22H7V12.84L8.42 8.94L10.7 10H14V8H11.15L7.29 6.2C7.03 6.11 6.76 6.07 6.5 6.08M9 17H21V19H9M10 3.5A2 2 0 0 1 8 5.5A2 2 0 0 1 6 3.5A2 2 0 0 1 8 1.5A2 2 0 0 1 10 3.5M21 14.5A1.5 1.5 0 0 1 19.5 16A1.5 1.5 0 0 1 18 14.5A1.5 1.5 0 0 1 19.5 13A1.5 1.5 0 0 1 21 14.5M9 11V13H11V14C11 15.11 11.89 16 13 16H15C16.11 16 17 15.11 17 14V11H15V13H13V12A1 1 0 0 0 12 11Z\";\r\nexport var mdiHumanCane = \"M18 12.24V22H17.06V12.24C17.06 12.09 17 12 16.93 11.89C16.84 11.8 16.74 11.76 16.62 11.76C16.47 11.76 16.36 11.8 16.27 11.89C16.18 12 16.14 12.1 16.14 12.24V13.16H15.23V12.5C14.53 12.33 13.9 12.04 13.35 11.63C12.8 11.22 12.34 10.74 11.96 10.19L11.61 11.39C11.5 11.81 11.5 12.24 11.5 12.68L11.5 13L11.5 13.33L13.35 15.94V22H11.5V17.34L9.82 15L9.65 18.25L6.86 22L5.38 20.87L7.77 17.64V12.68C7.77 12.15 7.82 11.63 7.91 11.11L8.25 9.54L6.86 10.32V13.63H5V9.23L10 6.4C10.29 6.26 10.59 6.18 10.91 6.18C11.23 6.18 11.54 6.27 11.83 6.44C12.15 6.62 12.39 6.88 12.57 7.23L13.31 8.8C13.6 9.38 14.04 9.87 14.64 10.26C15.23 10.65 15.89 10.85 16.62 10.85C17 10.85 17.32 11 17.6 11.24C17.88 11.5 18 11.83 18 12.24M12 2C13.11 2 14 2.9 14 4C14 5.11 13.11 6 12 6C10.9 6 10 5.11 10 4C10 2.9 10.9 2 12 2Z\";\r\nexport var mdiHumanCapacityDecrease = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20.78 7.58C19.93 7.21 19 7 18 7C17.33 7 16.69 7.1 16.08 7.28C16.66 7.83 17 8.6 17 9.43V10H22V9.43C22 8.62 21.5 7.9 20.78 7.58M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M7.92 7.28C7.31 7.1 6.67 7 6 7C5 7 4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H7V9.43C7 8.6 7.34 7.83 7.92 7.28M10 4C10 2.9 10.9 2 12 2S14 2.9 14 4 13.1 6 12 6 10 5.1 10 4M16 10H8V9.43C8 8.62 8.5 7.9 9.22 7.58C10.07 7.21 11 7 12 7C13 7 13.93 7.21 14.78 7.58C15.5 7.9 16 8.62 16 9.43V10M15 16C15 14.9 15.9 14 17 14S19 14.9 19 16 18.1 18 17 18 15 17.1 15 16M21 22H13V21.43C13 20.62 13.5 19.9 14.22 19.58C15.07 19.21 16 19 17 19C18 19 18.93 19.21 19.78 19.58C20.5 19.9 21 20.62 21 21.43V22M5 16C5 14.9 5.9 14 7 14S9 14.9 9 16 8.1 18 7 18 5 17.1 5 16M11 22H3V21.43C3 20.62 3.5 19.9 4.22 19.58C5.07 19.21 6 19 7 19C8 19 8.93 19.21 9.78 19.58C10.5 19.9 11 20.62 11 21.43V22M12.75 13V11H11.25V13H9L12 16L15 13H12.75Z\";\r\nexport var mdiHumanCapacityIncrease = \"M16 4C16 2.9 16.9 2 18 2C19.1 2 20 2.9 20 4C20 5.1 19.1 6 18 6C16.9 6 16 5.1 16 4M20.78 7.58C19.93 7.21 19 7 18 7C17.33 7 16.69 7.1 16.08 7.28C16.66 7.83 17 8.6 17 9.43V10H22V9.43C22 8.62 21.5 7.9 20.78 7.58M6 6C7.1 6 8 5.1 8 4C8 2.9 7.1 2 6 2C4.9 2 4 2.9 4 4C4 5.1 4.9 6 6 6M7.92 7.28C7.31 7.1 6.67 7 6 7C5 7 4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H7V9.43C7 8.6 7.34 7.83 7.92 7.28M10 4C10 2.9 10.9 2 12 2C13.1 2 14 2.9 14 4C14 5.1 13.1 6 12 6C10.9 6 10 5.1 10 4M16 10H8V9.43C8 8.62 8.5 7.9 9.22 7.58C10.07 7.21 11 7 12 7C13 7 13.93 7.21 14.78 7.58C15.5 7.9 16 8.62 16 9.43M15 16C15 14.9 15.9 14 17 14C18.1 14 19 14.9 19 16C19 17.1 18.1 18 17 18C15.9 18 15 17.1 15 16M21 22H13V21.43C13 20.62 13.5 19.9 14.22 19.58C15.07 19.21 16 19 17 19C18 19 18.93 19.21 19.78 19.58C20.5 19.9 21 20.62 21 21.43M5 16C5 14.9 5.9 14 7 14C8.1 14 9 14.9 9 16C9 17.1 8.1 18 7 18C5.9 18 5 17.1 5 16M11 22H3V21.43C3 20.62 3.5 19.9 4.22 19.58C5.07 19.21 6 19 7 19C8 19 8.93 19.21 9.78 19.58C10.5 19.9 11 20.62 11 21.43M12.75 14V16H11.25V14H9L12 11L15 14Z\";\r\nexport var mdiHumanChild = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M11,22H8V16H6V9H18V16H16V22H13V18H11V22Z\";\r\nexport var mdiHumanDolly = \"M16.78 21.84C15.77 22.27 14.59 21.8 14.16 20.78C13.73 19.77 14.2 18.59 15.22 18.16C16.23 17.73 17.41 18.2 17.84 19.22C18.27 20.23 17.8 21.41 16.78 21.84M7.62 6C8.73 6 9.62 5.11 9.62 4C9.62 2.9 8.73 2 7.62 2C6.5 2 5.62 2.9 5.62 4C5.62 5.11 6.5 6 7.62 6M22.05 16.34L18.2 18C18.42 18.22 18.62 18.5 18.76 18.82C18.9 19.15 18.96 19.5 19 19.82L22.83 18.18L22.05 16.34M10.16 8.78L10.9 10.59C10.66 10.5 10.44 10.38 10.26 10.26C9.66 9.87 9.22 9.38 8.93 8.8L8.19 7.23C8 6.88 7.77 6.62 7.45 6.44C7.16 6.27 6.85 6.18 6.53 6.18C6.21 6.18 5.91 6.26 5.62 6.4C4.22 7.5 3.87 9.54 3.87 9.54L3.53 11.11C3.44 11.63 3.39 12.15 3.39 12.68V17.64L1 20.87L2.5 22L5.27 18.25L5.44 15L7.12 17.34V22H8.97V15.94L7.12 13.33V12.68C7.12 12.24 7.12 11.81 7.23 11.39L7.58 10.19C7.96 10.74 8.42 11.22 8.97 11.63C9.42 11.97 10.68 12.57 11.87 12.86L14 17.8C14.22 17.58 14.5 17.38 14.83 17.24C15.15 17.1 15.5 17.04 15.82 17L12 8L10.16 8.78M15.36 12.12L17.32 16.72L22.95 14.31L21 9.72\";\r\nexport var mdiHumanEdit = \"M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M21 9H15V16L13 18V16H11V22H9V9H3V7H21V9M12 2C13.1 2 14 2.9 14 4C14 5.1 13.1 6 12 6C10.9 6 10 5.1 10 4C10 2.9 10.9 2 12 2Z\";\r\nexport var mdiHumanFemale = \"M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M10.5,22V16H7.5L10.09,8.41C10.34,7.59 11.1,7 12,7C12.9,7 13.66,7.59 13.91,8.41L16.5,16H13.5V22H10.5Z\";\r\nexport var mdiHumanFemaleBoy = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16H9V22H6M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M13.5,15H19.5V19H18V22H15V19H13.5V15Z\";\r\nexport var mdiHumanFemaleDance = \"M17 17H15V23H13V17H10.88L9.34 18.93L11.71 21.29L10.29 22.71L7.93 20.34C7.58 20 7.38 19.53 7.35 19.04C7.32 18.55 7.47 18.06 7.78 17.68L8.32 17H7L9 13V10C8.38 10.47 7.88 11.07 7.53 11.76C7.18 12.46 7 13.22 7 14H5C5 12.14 5.74 10.36 7.05 9.05C8.36 7.74 10.14 7 12 7C13.33 7 14.6 6.47 15.54 5.54C16.47 4.6 17 3.33 17 2H19C19 3.32 18.62 4.62 17.91 5.73C17.2 6.85 16.2 7.74 15 8.31V13L17 17M14 4C14 4.4 13.88 4.78 13.66 5.11C13.44 5.44 13.13 5.7 12.77 5.85C12.4 6 12 6.04 11.61 5.96C11.22 5.88 10.87 5.69 10.59 5.41C10.31 5.13 10.12 4.78 10.04 4.39C9.96 4 10 3.6 10.15 3.24C10.3 2.87 10.56 2.56 10.89 2.34C11.22 2.12 11.6 2 12 2C12.53 2 13.04 2.21 13.41 2.59C13.79 2.96 14 3.47 14 4Z\";\r\nexport var mdiHumanFemaleFemale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16L14.6,8.4C14.9,7.6 15.6,7 16.5,7C17.4,7 18.2,7.6 18.4,8.4L21,16H18V22H15V16H12L9,16V22H6M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2Z\";\r\nexport var mdiHumanFemaleFemaleChild = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20 16H22.5L20 8.4C19.7 7.6 19 7 18.1 7H18C17.1 7 16.4 7.6 16.1 8.4L15.2 11C16.3 11.6 17 12.7 17 14.1V22H20M12.5 11.5C13.3 11.5 14 10.8 14 10S13.3 8.5 12.5 8.5 11 9.2 11 10 11.7 11.5 12.5 11.5M5 6C6.1 6 7 5.1 7 4S6.1 2 5 2 3 2.9 3 4 3.9 6 5 6M14 22V18H15V14C15 13.2 14.3 12.5 13.5 12.5H11.5C10.7 12.5 10 13.2 10 14V18H11V22H14M7 22V16H9.5L7 8.4C6.7 7.6 6 7 5.1 7H5C4.1 7 3.4 7.6 3.1 8.4L1.5 16H4V22H7Z\";\r\nexport var mdiHumanFemaleGirl = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,22V16H3L5.6,8.4C5.9,7.6 6.6,7 7.5,7C8.4,7 9.2,7.6 9.4,8.4L12,16H9V22H6M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M15,15H18L19.5,19H18V22H15V19H13.5L15,15Z\";\r\nexport var mdiHumanGreeting = \"M12 2C13.1 2 14 2.9 14 4S13.1 6 12 6 10 5.1 10 4 10.9 2 12 2M15.9 8.1C15.5 7.7 14.8 7 13.5 7H11C8.2 7 6 4.8 6 2H4C4 5.2 6.1 7.8 9 8.7V22H11V16H13V22H15V10.1L19 14L20.4 12.6L15.9 8.1Z\";\r\nexport var mdiHumanGreetingProximity = \"M11 14H9C9 9.03 13.03 5 18 5V7C14.13 7 11 10.13 11 14M18 11V9C15.24 9 13 11.24 13 14H15C15 12.34 16.34 11 18 11M7 4C7 2.89 6.11 2 5 2S3 2.89 3 4 3.89 6 5 6 7 5.11 7 4M11.45 4.5H9.45C9.21 5.92 8 7 6.5 7H3.5C2.67 7 2 7.67 2 8.5V11H8V8.74C9.86 8.15 11.25 6.5 11.45 4.5M19 17C20.11 17 21 16.11 21 15S20.11 13 19 13 17 13.89 17 15 17.89 17 19 17M20.5 18H17.5C16 18 14.79 16.92 14.55 15.5H12.55C12.75 17.5 14.14 19.15 16 19.74V22H22V19.5C22 18.67 21.33 18 20.5 18Z\";\r\nexport var mdiHumanGreetingVariant = \"M1.5,4V5.5C1.5,9.65 3.71,13.28 7,15.3V20H22V18C22,15.34 16.67,14 14,14C14,14 13.83,14 13.75,14C9,14 5,10 5,5.5V4M14,4A4,4 0 0,0 10,8A4,4 0 0,0 14,12A4,4 0 0,0 18,8A4,4 0 0,0 14,4Z\";\r\nexport var mdiHumanHandsdown = \"M12,1C10.89,1 10,1.9 10,3C10,4.11 10.89,5 12,5C13.11,5 14,4.11 14,3A2,2 0 0,0 12,1M10,6C9.73,6 9.5,6.11 9.31,6.28H9.3L4,11.59L5.42,13L9,9.41V22H11V15H13V22H15V9.41L18.58,13L20,11.59L14.7,6.28C14.5,6.11 14.27,6 14,6\";\r\nexport var mdiHumanHandsup = \"M5,1C5,3.7 6.56,6.16 9,7.32V22H11V15H13V22H15V7.31C17.44,6.16 19,3.7 19,1H17A5,5 0 0,1 12,6A5,5 0 0,1 7,1M12,1C10.89,1 10,1.89 10,3C10,4.11 10.89,5 12,5C13.11,5 14,4.11 14,3C14,1.89 13.11,1 12,1Z\";\r\nexport var mdiHumanMale = \"M12,2A2,2 0 0,1 14,4A2,2 0 0,1 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M10.5,7H13.5A2,2 0 0,1 15.5,9V14.5H14V22H10V14.5H8.5V9A2,2 0 0,1 10.5,7Z\";\r\nexport var mdiHumanMaleBoard = \"M20,17A2,2 0 0,0 22,15V4A2,2 0 0,0 20,2H9.46C9.81,2.61 10,3.3 10,4H20V15H11V17M15,7V9H9V22H7V16H5V22H3V14H1.5V9A2,2 0 0,1 3.5,7H15M8,4A2,2 0 0,1 6,6A2,2 0 0,1 4,4A2,2 0 0,1 6,2A2,2 0 0,1 8,4Z\";\r\nexport var mdiHumanMaleBoardPoll = \"M20 17C21.1 17 22 16.1 22 15V4C22 2.9 21.1 2 20 2H9.5C9.8 2.6 10 3.3 10 4H20V15H11V17M15 7V9H9V22H7V16H5V22H3V14H1.5V9C1.5 7.9 2.4 7 3.5 7H15M8 4C8 5.1 7.1 6 6 6S4 5.1 4 4 4.9 2 6 2 8 2.9 8 4M17 6H19V14H17V6M14 10H16V14H14V10M11 10H13V14H11V10Z\";\r\nexport var mdiHumanMaleBoy = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M13.5,15H19.5V19H18V22H15V19H13.5V15Z\";\r\nexport var mdiHumanMaleChild = \"M7 2C5.9 2 5 2.9 5 4S5.9 6 7 6 9 5.11 9 4 8.11 2 7 2M5 7C3.89 7 3 7.89 3 9V15H5V22H10V11.6L12.53 16H14.97L16 14.66V22H20V17H21V14C21 12.89 20.11 12 19 12H16.5C15.9 12 15.37 12.26 15 12.68C14.67 13.1 14.32 13.56 14 14H13.69L10 7.66C9.84 7.38 9.22 7 8.5 7H5M18 8C17.17 8 16.5 8.67 16.5 9.5S17.17 11 18 11 19.5 10.33 19.5 9.5 18.83 8 18 8Z\";\r\nexport var mdiHumanMaleFemale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2M15,22V16H12L14.59,8.41C14.84,7.59 15.6,7 16.5,7C17.4,7 18.16,7.59 18.41,8.41L21,16H18V22H15Z\";\r\nexport var mdiHumanMaleFemaleChild = \"M16 4C16 2.9 16.9 2 18 2S20 2.9 20 4 19.1 6 18 6 16 5.1 16 4M20 22V16H22.5L20 8.4C19.7 7.6 19 7 18.1 7H18C17.1 7 16.4 7.6 16.1 8.4L15.2 11C16.3 11.6 17 12.7 17 14.1V22H20M12.5 11.5C13.3 11.5 14 10.8 14 10S13.3 8.5 12.5 8.5 11 9.2 11 10 11.7 11.5 12.5 11.5M5.5 6C6.6 6 7.5 5.1 7.5 4S6.6 2 5.5 2 3.5 2.9 3.5 4 4.4 6 5.5 6M7.5 22V15H9V9C9 7.9 8.1 7 7 7H4C2.9 7 2 7.9 2 9V15H3.5V22H7.5M14 22V18H15V14C15 13.2 14.3 12.5 13.5 12.5H11.5C10.7 12.5 10 13.2 10 14V18H11V22H14Z\";\r\nexport var mdiHumanMaleGirl = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M14.5,12A2,2 0 0,1 16.5,10A2,2 0 0,1 18.5,12A2,2 0 0,1 16.5,14A2,2 0 0,1 14.5,12M15,15H18L19.5,19H18V22H15V19H13.5L15,15Z\";\r\nexport var mdiHumanMaleHeight = \"M7,2C8.78,2 9.67,4.16 8.42,5.42C7.16,6.67 5,5.78 5,4A2,2 0 0,1 7,2M5.5,7H8.5A2,2 0 0,1 10.5,9V14.5H9V22H5V14.5H3.5V9A2,2 0 0,1 5.5,7M21,8H15V10H21M21,11H18V13H21M21,2H15V4H21M21,5H18V7H21M21,14H15V16H21M21,20H15V22H21M21,17H18V19H21\";\r\nexport var mdiHumanMaleHeightVariant = \"M7,2C8.78,2 9.67,4.16 8.42,5.42C7.16,6.67 5,5.78 5,4A2,2 0 0,1 7,2M5.5,7H8.5A2,2 0 0,1 10.5,9V14.5H9V22H5V14.5H3.5V9A2,2 0 0,1 5.5,7M19,8H21L18,4L15,8H17V16H15L18,20L21,16H19M22,2H14V4H22M22,20H14V22H22\";\r\nexport var mdiHumanMaleMale = \"M7.5,2A2,2 0 0,1 9.5,4A2,2 0 0,1 7.5,6A2,2 0 0,1 5.5,4A2,2 0 0,1 7.5,2M6,7H9A2,2 0 0,1 11,9V14.5H9.5V22H5.5V14.5H4V9A2,2 0 0,1 6,7M16.5,2A2,2 0 0,1 18.5,4A2,2 0 0,1 16.5,6A2,2 0 0,1 14.5,4A2,2 0 0,1 16.5,2M15,7H18A2,2 0 0,1 20,9V14.5H18.5V22H14.5V14.5H13V9A2,2 0 0,1 15,7Z\";\r\nexport var mdiHumanMaleMaleChild = \"M12.5 11.5C13.3 11.5 14 10.8 14 10S13.3 8.5 12.5 8.5 11 9.2 11 10 11.7 11.5 12.5 11.5M5.5 6C6.6 6 7.5 5.1 7.5 4S6.6 2 5.5 2 3.5 2.9 3.5 4 4.4 6 5.5 6M7.5 22V15H9V9C9 7.9 8.1 7 7 7H4C2.9 7 2 7.9 2 9V15H3.5V22H7.5M14 22V18H15V14C15 13.2 14.3 12.5 13.5 12.5H11.5C10.7 12.5 10 13.2 10 14V18H11V22H14M18.5 6C19.6 6 20.5 5.1 20.5 4S19.6 2 18.5 2 16.5 2.9 16.5 4 17.4 6 18.5 6M22 9V15H20.5V22H17V14C17 12.6 16.2 11.4 15 10.9V9C15 7.9 15.9 7 17 7H20C21.1 7 22 7.9 22 9Z\";\r\nexport var mdiHumanNonBinary = \"M12 2C13.11 2 14 2.9 14 4S13.11 6 12 6 10 5.11 10 4 10.9 2 12 2M13.91 8.41C13.66 7.59 12.9 7 12 7H10.5C9.4 7 8.5 7.9 8.5 9V14.5H10V22H13.5V16H16.5L13.91 8.41Z\";\r\nexport var mdiHumanPregnant = \"M9,4C9,2.89 9.89,2 11,2C12.11,2 13,2.89 13,4C13,5.11 12.11,6 11,6C9.89,6 9,5.11 9,4M16,13C16,11.66 15.17,10.5 14,10A3,3 0 0,0 11,7A3,3 0 0,0 8,10V17H10V22H13V17H16V13Z\";\r\nexport var mdiHumanQueue = \"M5 6C3.9 6 3 6.9 3 8S3.9 10 5 10 7 9.11 7 8 6.11 6 5 6M12 4C10.9 4 10 4.89 10 6S10.9 8 12 8 14 7.11 14 6 13.11 4 12 4M19 2C17.9 2 17 2.9 17 4S17.9 6 19 6 21 5.11 21 4 20.11 2 19 2M3.5 11C2.67 11 2 11.67 2 12.5V17H3V22H7V17H8V12.5C8 11.67 7.33 11 6.5 11H3.5M10.5 9C9.67 9 9 9.67 9 10.5V15H10V20H14V15H15V10.5C15 9.67 14.33 9 13.5 9H10.5M17.5 7C16.67 7 16 7.67 16 8.5V13H17V18H21V13H22V8.5C22 7.67 21.33 7 20.5 7H17.5Z\";\r\nexport var mdiHumanScooter = \"M16.5 2.25C17.33 2.25 18 2.92 18 3.75C18 4.58 17.33 5.25 16.5 5.25C15.67 5.25 15 4.58 15 3.75C15 2.92 15.67 2.25 16.5 2.25M20 18C21.11 18 22 18.9 22 20C22 21.11 21.11 22 20 22C19.26 22 18.61 21.6 18.27 21H8.73C8.39 21.6 7.74 22 7 22C5.9 22 5 21.11 5 20C5 18.9 5.9 18 7 18C7.74 18 8.39 18.4 8.73 19H13V13.5L9.73 11.23L6.77 14C6.36 14.37 5.73 14.34 5.35 13.94L2.28 10.65C1.91 10.24 1.93 9.61 2.33 9.23C2.74 8.86 3.37 8.88 3.74 9.28L6.13 11.84L13.26 5.2L13.3 5.18C13.72 4.82 14.35 4.88 14.71 5.3L16.97 8H20C20.55 8 21 8.45 21 9C21 9.55 20.55 10 20 10H16.5C16.15 10 15.85 9.82 15.67 9.56L14.17 7.77L11.64 10.13L14.57 12.18H14.57C14.83 12.36 15 12.66 15 13V19H15.61C16.04 17.13 17.63 15.7 19.58 15.5L18.81 11H20.31L21.39 17.34C20.97 17.12 20.5 17 20 17C18.69 17 17.58 17.84 17.17 19H18.27C18.61 18.4 19.26 18 20 18Z\";\r\nexport var mdiHumanWalker = \"M12 2C13.1 2 14 2.9 14 4S13.1 6 12 6 10 5.1 10 4 10.9 2 12 2M19.8 17.7L19.2 11.3C19.1 10.5 18.5 10 17.7 10H16C14.5 10 13.1 9.5 12.2 8.6L10.2 6.6C10.1 6.4 9.6 6 8.8 6C8.3 6 7.8 6.2 7.4 6.6L4.1 9.9C3.6 10.6 3.6 11.5 3.9 12L5.3 14.8L2.2 18.8L3.8 20L7.5 15.3L7.2 14L8 14.8V20H10V13.9L7.9 11.8L10.3 9.4C11.2 10.3 12 11.2 13.9 11.7L13 20H14.5L14.9 16.5H18.1L18.2 17.7C17.8 18 17.5 18.4 17.5 19C17.5 19.8 18.2 20.5 19 20.5S20.5 19.8 20.5 19C20.5 18.5 20.2 18 19.8 17.7M15.1 15L15.5 11.5H17.5L17.9 15H15.1Z\";\r\nexport var mdiHumanWheelchair = \"M8.5 4A2 2 0 0 1 6.5 6A2 2 0 0 1 4.5 4A2 2 0 0 1 6.5 2A2 2 0 0 1 8.5 4M5 7C3.89 7 3 7.89 3 9V15H5V22H8.61A7 7 0 0 1 6.5 17A7 7 0 0 1 10 10.95V9C10 7.89 9.11 7 8 7M13 8V16H18.5L21.2 19.6L22.8 18.4L19.5 14H15V8M12 12.23A5 5 0 0 0 8.5 17A5 5 0 0 0 13.5 22A5 5 0 0 0 18.5 17H16.5A3 3 0 0 1 13.5 20A3 3 0 0 1 10.5 17A3 3 0 0 1 12 14.41Z\";\r\nexport var mdiHumanWhiteCane = \"M8 4C8 2.9 8.9 2 10 2C11.11 2 12 2.9 12 4C12 5.11 11.11 6 10 6C8.9 6 8 5.11 8 4M20.65 21.5L14.5 10.85L14.5 10.85V10.85C13.77 10.85 13.23 10.65 12.64 10.26C12.04 9.87 11.6 9.38 11.31 8.8L10.57 7.23C10.39 6.88 10.15 6.62 9.83 6.44C9.54 6.27 9.23 6.18 8.91 6.18C8.59 6.18 8.29 6.26 8 6.4L3 9.23V13.63H4.86V10.32L6.25 9.54L5.91 11.11C5.82 11.63 5.77 12.15 5.77 12.68V17.64L3.38 20.87L4.86 22L7.65 18.25L7.82 15L9.5 17.34V22H11.35V15.94L9.5 13.33V12.68C9.5 12.24 9.5 11.81 9.61 11.39L9.96 10.19C10.34 10.74 10.81 11.2 11.35 11.63C12.2 12.31 13 12.59 14.35 12.58L19.78 22L20.65 21.5Z\";\r\nexport var mdiHumbleBundle = \"M16.91,18.12C14.09,18.12 18.43,2.13 18.43,2.13H15.53C15.53,2.13 14.34,5.89 13.55,10.07H11.05C11.11,9.21 11.15,8.34 11.13,7.5C11,0.59 7,1.87 5.18,3.45C3.47,4.95 2.03,7.8 2,10C2.27,10 3.35,10 3.35,10C3.35,10 4.25,5.88 7.07,5.88C9.89,5.88 5.54,21.87 5.54,21.87H8.45C8.45,21.87 9.95,17.59 10.7,12.81L13.09,12.8C12.95,14.04 12.91,15.4 12.93,16.67C13.04,23.56 17.06,22.08 18.86,20.5C20.67,18.92 22,15.58 22,14H20.61C20.62,14.12 19.73,18.12 16.91,18.12V18.12Z\";\r\nexport var mdiHvac = \"M8.58 14C8.3 13.55 8.11 13.03 8.06 12.5H15.94C15.89 13.03 15.7 13.55 15.47 14H8.58M12 16C10.97 16 10.08 15.61 9.38 15H14.63C13.92 15.61 13.03 16 12 16M12 8C13.03 8 13.92 8.39 14.63 9H9.38C10.08 8.39 10.97 8 12 8M8.58 10H15.42C15.7 10.45 15.89 10.97 15.94 11.5H8.06C8.11 10.97 8.3 10.45 8.58 10M3 3V21H21V3H3M12 18C8.67 18 6 15.33 6 12S8.67 6 12 6 18 8.67 18 12 15.33 18 12 18Z\";\r\nexport var mdiHvacOff = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.89V21H19.11L20.84 22.73L22.11 21.46M12 18C8.67 18 6 15.33 6 12C6 10.82 6.34 9.73 6.92 8.81L8.43 10.32C8.24 10.69 8.1 11.09 8.06 11.5H9.61L10.61 12.5H8.06C8.11 13.03 8.3 13.55 8.58 14H12.11L13.11 15H9.38C10.08 15.61 10.97 16 12 16C12.63 16 13.19 15.84 13.7 15.59L15.19 17.08C14.27 17.66 13.18 18 12 18M12 8C13.03 8 13.92 8.39 14.63 9H12.2L11.27 8.07C11.5 8.03 11.75 8 12 8M9.67 6.47L6.2 3H21V17.8L17.53 14.33C17.83 13.62 18 12.83 18 12C18 8.67 15.33 6 12 6C11.17 6 10.38 6.17 9.67 6.47M15.94 11.5H14.7L13.2 10H15.42C15.7 10.45 15.89 10.97 15.94 11.5Z\";\r\nexport var mdiHydraulicOilLevel = \"M15 18C13.34 18 12 16.66 12 15C12 13 15 9.63 15 9.63S18 13 18 15C18 16.66 16.66 18 15 18M20 4V20H10V4H8V20C8 21.11 8.89 22 10 22H20C21.11 22 22 21.11 22 20V4H20M2 19L7 14L2 9V19M16 6V2H14V6H11V8H19V6H16Z\";\r\nexport var mdiHydraulicOilTemperature = \"M9 18C7.34 18 6 16.66 6 15C6 13 9 9.63 9 9.63S12 13 12 15C12 16.66 10.66 18 9 18M14 4V20H4V4H2V20C2 21.11 2.89 22 4 22H14C15.11 22 16 21.11 16 20V4H14M10 6V2H8V6H5V8H13V6H10M21 17.5V5.5C21 4.67 20.33 4 19.5 4S18 4.67 18 5.5V17.5C17.37 17.97 17 18.71 17 19.5C17 20.88 18.12 22 19.5 22S22 20.88 22 19.5C22 18.71 21.63 18 21 17.5M20 13H19V6H20V13Z\";\r\nexport var mdiHydroPower = \"M17.12 3.55A2 2 0 0 0 15.2 4.95L14.4 7.5A3 3 0 0 0 13.33 7.74L11.5 5.77L10.17 4.29A2 2 0 0 0 10.05 7.12L11.86 9.09A3 3 0 0 0 11.64 9.6A3 3 0 0 0 11.53 10.13L8.92 10.71L6.96 11.15A2 2 0 0 0 9.35 12.67L11.96 12.08A3 3 0 0 0 12.7 12.89L11.9 15.44L11.3 17.35A2 2 0 0 0 13.8 16.04L14.61 13.5A3 3 0 0 0 15.68 13.26L17.5 15.23L18.83 16.7A2 2 0 0 0 18.96 13.88L17.15 11.91A3 3 0 0 0 17.36 11.4A3 3 0 0 0 17.5 10.86L20.09 10.28L22.04 9.85A2 2 0 0 0 19.66 8.33L17.05 8.91A3 3 0 0 0 16.31 8.11L17.11 5.55L17.71 3.65A2 2 0 0 0 17.12 3.55M14.56 9A1.5 1.5 0 0 1 14.95 9.07A1.5 1.5 0 0 1 15.93 10.95A1.5 1.5 0 0 1 14.05 11.93A1.5 1.5 0 0 1 13.07 10.05A1.5 1.5 0 0 1 14.55 9M8 13.67C6.78 14.53 5.39 15 4 15H2V17H4C5.37 17 6.74 16.65 8 16C8.77 16.4 9.58 16.66 10.41 16.81L10.94 15.14L11.03 14.88C9.97 14.73 8.93 14.32 8 13.67M20.45 15C20.5 15.7 20.33 16.41 19.91 17C19.93 17 19.97 17 20 17H22V15H20.45M8 17.67C6.78 18.53 5.39 19 4 19H2V21H4C5.37 21 6.74 20.65 8 20C10.5 21.3 13.5 21.3 16 20C17.26 20.65 18.62 21 20 21H22V19H20C18.61 19 17.22 18.53 16 17.67C13.56 19.38 10.44 19.38 8 17.67Z\";\r\nexport var mdiHydrogenStation = \"M6 3C4.89 3 4 3.9 4 5V21H14V13.5H15.5V18.5C15.5 19.88 16.62 21 18 21S20.5 19.88 20.5 18.5V9C20.5 8.31 20.22 7.68 19.77 7.23L19.78 7.22L16.06 3.5L15 4.56L17.11 6.67C16.17 7.03 15.5 7.93 15.5 9C15.5 10.38 16.62 11.5 18 11.5C18.36 11.5 18.69 11.42 19 11.29V18.5C19 19.05 18.55 19.5 18 19.5S17 19.05 17 18.5V14C17 12.9 16.11 12 15 12H14V5C14 3.9 13.11 3 12 3H6M6 7H8V11H10V7H12V17H10V13H8V17H6V7M18 8C18.55 8 19 8.45 19 9S18.55 10 18 10 17 9.55 17 9 17.45 8 18 8Z\";\r\nexport var mdiIceCream = \"M17.5 6.05C17.25 3.22 14.89 1 12 1S6.75 3.22 6.5 6.05C5.09 6.28 4 7.5 4 9C4 10.66 5.34 12 7 12L12 22L17 12C18.66 12 20 10.66 20 9C20 7.5 18.91 6.28 17.5 6.05M12 17.53L8.89 11.31C8.95 11.26 9 11.21 9.08 11.16C9.93 11.69 10.93 12 12 12S14.07 11.69 14.92 11.16C15 11.21 15.05 11.26 15.11 11.31L12 17.53Z\";\r\nexport var mdiIceCreamOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.95 6.84C4.37 7.38 4 8.14 4 9C4 10.66 5.34 12 7 12L12 22L14.7 16.59L20.84 22.73L22.11 21.46M12 17.53L8.89 11.31C8.95 11.26 9 11.21 9.08 11.16C9.21 11.24 9.35 11.3 9.5 11.37L13.21 15.1L12 17.53M7.15 3.95C8.07 2.2 9.89 1 12 1C14.89 1 17.25 3.22 17.5 6.05C18.91 6.28 20 7.5 20 9C20 10.66 18.66 12 17 12L16.4 13.2L7.15 3.95Z\";\r\nexport var mdiIcePop = \"M18.15 14.96L9.95 18.65L5.85 9.65C7.21 9.13 8.12 7.82 8.15 6.36C8.14 5 7.36 3.76 6.15 3.15C6.54 2.8 7 2.5 7.45 2.25C9.71 1.25 12.37 2.23 13.45 4.46M13.15 18.36L14.75 21.86L17.45 20.65L15.85 17.15\";\r\nexport var mdiIdCard = \"M4 4C2.89 4 2 4.89 2 6V18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4H4M4 6H20V10H4V6M4 12H8V14H4V12M10 12H20V14H10V12M4 16H14V18H4V16M16 16H20V18H16V16Z\";\r\nexport var mdiIdentifier = \"M10 7V9H9V15H10V17H6V15H7V9H6V7H10M16 7C17.11 7 18 7.9 18 9V15C18 16.11 17.11 17 16 17H12V7M16 9H14V15H16V9Z\";\r\nexport var mdiIdeogramCjk = \"M11 4V6H4V10H6V8H18V10H20V6H13V4M8 10V12H13.59L11.59 14H4V16H11V18H10V20H13V16H20V14H14.21L16 12.21V10Z\";\r\nexport var mdiIdeogramCjkVariant = \"M11 4V6H4V8H15.36C15.13 8.87 14.63 9.77 13.88 10.69C13.35 11.35 12.71 12 12 12.67C11.29 12 10.65 11.35 10.12 10.69C9.65 10.12 9.3 9.55 9.03 9H6.85C7.21 10.05 7.82 11.03 8.56 11.95C9.13 12.66 9.79 13.34 10.5 14L5.36 18.23L6.64 19.77L12 15.34L17.36 19.77L18.64 18.23L13.5 14C14.21 13.34 14.87 12.66 15.44 11.95C16.41 10.74 17.16 9.43 17.4 8H20V6H13V4Z\";\r\nexport var mdiImage = \"M8.5,13.5L11,16.5L14.5,12L19,18H5M21,19V5C21,3.89 20.1,3 19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19Z\";\r\nexport var mdiImageAlbum = \"M6,19L9,15.14L11.14,17.72L14.14,13.86L18,19H6M6,4H11V12L8.5,10.5L6,12M18,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\r\nexport var mdiImageArea = \"M20,5A2,2 0 0,1 22,7V17A2,2 0 0,1 20,19H4C2.89,19 2,18.1 2,17V7C2,5.89 2.89,5 4,5H20M5,16H19L14.5,10L11,14.5L8.5,11.5L5,16Z\";\r\nexport var mdiImageAreaClose = \"M12,23L8,19H16L12,23M20,3A2,2 0 0,1 22,5V15A2,2 0 0,1 20,17H4A2,2 0 0,1 2,15V5A2,2 0 0,1 4,3H20M5,14H19L14.5,8L11,12.5L8.5,9.5L5,14Z\";\r\nexport var mdiImageAutoAdjust = \"M19 10V19H5V5H14V3H5C3.92 3 3 3.9 3 5V19C3 20.1 3.92 21 5 21H19C20.12 21 21 20.1 21 19V10H19M17 10L17.94 7.94L20 7L17.94 6.06L17 4L16.06 6.06L14 7L16.06 7.94L17 10M13.25 10.75L12 8L10.75 10.75L8 12L10.75 13.25L12 16L13.25 13.25L16 12L13.25 10.75Z\";\r\nexport var mdiImageBroken = \"M19,3A2,2 0 0,1 21,5V11H19V13H19L17,13V15H15V17H13V19H11V21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H19M21,15V19A2,2 0 0,1 19,21H19L15,21V19H17V17H19V15H21M19,8.5A0.5,0.5 0 0,0 18.5,8H5.5A0.5,0.5 0 0,0 5,8.5V15.5A0.5,0.5 0 0,0 5.5,16H11V15H13V13H15V11H17V9H19V8.5Z\";\r\nexport var mdiImageBrokenVariant = \"M21,5V11.59L18,8.58L14,12.59L10,8.59L6,12.59L3,9.58V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M18,11.42L21,14.43V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V12.42L6,15.41L10,11.41L14,15.41\";\r\nexport var mdiImageCheck = \"M12.5 21C12.18 20.23 12 19.39 12 18.5C12 18.33 12 18.17 12.03 18H5L8.5 13.5L11 16.5L14.5 12L15.19 12.92C16.16 12.34 17.29 12 18.5 12C19.39 12 20.23 12.18 21 12.5V5C21 4.47 20.79 3.96 20.41 3.59C20.04 3.21 19.53 3 19 3H5C3.9 3 3 3.9 3 5V19C3 19.53 3.21 20.04 3.59 20.41C3.96 20.79 4.47 21 5 21H12.5M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22Z\";\r\nexport var mdiImageCheckOutline = \"M12.18 17C12.54 15.5 13.43 14.16 14.68 13.25L13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H12.18M5 5V19H12.03C12.09 19.7 12.24 20.38 12.5 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.9 3.9 3 5 3H19C19.53 3 20.04 3.21 20.41 3.59C20.79 3.96 21 4.47 21 5V12.5C20.38 12.24 19.7 12.09 19 12.03V5H5M17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25L17.75 22Z\";\r\nexport var mdiImageEdit = \"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M21 5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11V19.1L12.1 18H5L8.5 13.5L11 16.5L14.5 12L16.1 14.1L21 9.1V5Z\";\r\nexport var mdiImageEditOutline = \"M22.7 14.3L21.7 15.3L19.7 13.3L20.7 12.3C20.8 12.2 20.9 12.1 21.1 12.1C21.2 12.1 21.4 12.2 21.5 12.3L22.8 13.6C22.9 13.8 22.9 14.1 22.7 14.3M13 19.9V22H15.1L21.2 15.9L19.2 13.9L13 19.9M11.21 15.83L9.25 13.47L6.5 17H13.12L15.66 14.55L13.96 12.29L11.21 15.83M11 19.9V19.05L11.05 19H5V5H19V11.31L21 9.38V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H11V19.9Z\";\r\nexport var mdiImageFilterBlackWhite = \"M19,19L12,11V19H5L12,11V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiImageFilterCenterFocus = \"M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M19,19H15V21H19A2,2 0 0,0 21,19V15H19M19,3H15V5H19V9H21V5A2,2 0 0,0 19,3M5,5H9V3H5A2,2 0 0,0 3,5V9H5M5,15H3V19A2,2 0 0,0 5,21H9V19H5V15Z\";\r\nexport var mdiImageFilterCenterFocusStrong = \"M12 8C8.44 8 6.65 12.31 9.17 14.83C11.69 17.35 16 15.56 16 12C16 9.79 14.21 8 12 8M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19\";\r\nexport var mdiImageFilterCenterFocusStrongOutline = \"M17 12C17 7.55 11.62 5.31 8.46 8.46C5.31 11.61 7.55 17 12 17C14.76 17 17 14.76 17 12M12 15C9.33 15 8 11.77 9.88 9.88C11.77 8 15 9.33 15 12C15 13.66 13.66 15 12 15M5 15H3V19C3 20.1 3.9 21 5 21H9V19H5M5 5H9V3H5C3.9 3 3 3.9 3 5V9H5M19 3H15V5H19V9H21V5C21 3.9 20.1 3 19 3M19 19H15V21H19C20.1 21 21 20.1 21 19V15H19\";\r\nexport var mdiImageFilterCenterFocusWeak = \"M5,15H3V19A2,2 0 0,0 5,21H9V19H5M5,5H9V3H5A2,2 0 0,0 3,5V9H5M19,3H15V5H19V9H21V5A2,2 0 0,0 19,3M19,19H15V21H19A2,2 0 0,0 21,19V15H19M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8M12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14Z\";\r\nexport var mdiImageFilterDrama = \"M6.5 20H18.5Q20.38 20 21.69 18.69 23 17.38 23 15.5 23 13.8 21.79 12.4 20.58 11 19 11 19 8.05 17 6.03 14.95 4 12 4 9.88 4 8.29 5.08 6.7 6.15 6.25 8 8.8 8.45 10.4 10.19 12 11.93 12 14.5H10Q10 12.68 8.66 11.34 7.33 10 5.5 10T2.34 11.34Q1 12.68 1 14.5 1 16.8 2.6 18.4T6.5 20Z\";\r\nexport var mdiImageFilterDramaOutline = \"M6.5 20Q4.2 20 2.6 18.4T1 14.5Q1 12.55 2.21 11.06 3.43 9.57 5.25 9.15 5.88 6.9 7.73 5.45 9.57 4 12 4 15 4 17 6.06 19 8.13 19 11 20.88 11.2 21.94 12.55 23 13.9 23 15.5 23 17.35 21.69 18.68 20.38 20 18.5 20M6.5 18H18.5Q19.55 18 20.27 17.27 21 16.55 21 15.5 21 14.45 20.27 13.73 19.55 13 18.5 13H17V11Q17 8.93 15.54 7.46 14.08 6 12 6 10.43 6 9.2 6.86 8 7.73 7.4 9.07 9.35 9.4 10.68 10.91 12 12.43 12 14.5H10Q10 13.05 9 12.03 7.95 11 6.5 11 5.05 11 4.03 12.03 3 13.05 3 14.5 3 15.95 4.03 17 5.05 18 6.5 18Z\";\r\nexport var mdiImageFilterFrames = \"M18,8H6V18H18M20,20H4V6H8.5L12.04,2.5L15.5,6H20M20,4H16L12,0L8,4H4A2,2 0 0,0 2,6V20A2,2 0 0,0 4,22H20A2,2 0 0,0 22,20V6A2,2 0 0,0 20,4Z\";\r\nexport var mdiImageFilterHdr = \"M14,6L10.25,11L13.1,14.8L11.5,16C9.81,13.75 7,10 7,10L1,18H23L14,6Z\";\r\nexport var mdiImageFilterHdrOutline = \"M23 18H1L8.25 8.33L10.25 11L14 6L23 18M11.5 12.67L14 16L19 16L14 9.33L11.5 12.67M5 16L11.5 16L8.25 11.67L5 16Z\";\r\nexport var mdiImageFilterNone = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiImageFilterTiltShift = \"M5.68,19.74C7.16,20.95 9,21.75 11,21.95V19.93C9.54,19.75 8.21,19.17 7.1,18.31M13,19.93V21.95C15,21.75 16.84,20.95 18.32,19.74L16.89,18.31C15.79,19.17 14.46,19.75 13,19.93M18.31,16.9L19.74,18.33C20.95,16.85 21.75,15 21.95,13H19.93C19.75,14.46 19.17,15.79 18.31,16.9M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12M4.07,13H2.05C2.25,15 3.05,16.84 4.26,18.32L5.69,16.89C4.83,15.79 4.25,14.46 4.07,13M5.69,7.1L4.26,5.68C3.05,7.16 2.25,9 2.05,11H4.07C4.25,9.54 4.83,8.21 5.69,7.1M19.93,11H21.95C21.75,9 20.95,7.16 19.74,5.68L18.31,7.1C19.17,8.21 19.75,9.54 19.93,11M18.32,4.26C16.84,3.05 15,2.25 13,2.05V4.07C14.46,4.25 15.79,4.83 16.9,5.69M11,4.07V2.05C9,2.25 7.16,3.05 5.68,4.26L7.1,5.69C8.21,4.83 9.54,4.25 11,4.07Z\";\r\nexport var mdiImageFilterVintage = \"M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M18.7,12.4C18.42,12.24 18.13,12.11 17.84,12C18.13,11.89 18.42,11.76 18.7,11.6C20.62,10.5 21.69,8.5 21.7,6.41C19.91,5.38 17.63,5.3 15.7,6.41C15.42,6.57 15.16,6.76 14.92,6.95C14.97,6.64 15,6.32 15,6C15,3.78 13.79,1.85 12,0.81C10.21,1.85 9,3.78 9,6C9,6.32 9.03,6.64 9.08,6.95C8.84,6.75 8.58,6.56 8.3,6.4C6.38,5.29 4.1,5.37 2.3,6.4C2.3,8.47 3.37,10.5 5.3,11.59C5.58,11.75 5.87,11.88 6.16,12C5.87,12.1 5.58,12.23 5.3,12.39C3.38,13.5 2.31,15.5 2.3,17.58C4.09,18.61 6.37,18.69 8.3,17.58C8.58,17.42 8.84,17.23 9.08,17.04C9.03,17.36 9,17.68 9,18C9,20.22 10.21,22.15 12,23.19C13.79,22.15 15,20.22 15,18C15,17.68 14.97,17.36 14.92,17.05C15.16,17.25 15.42,17.43 15.7,17.59C17.62,18.7 19.9,18.62 21.7,17.59C21.69,15.5 20.62,13.5 18.7,12.4Z\";\r\nexport var mdiImageFrame = \"M10,14.29L6.5,19H17.46L14.75,15.46L12.78,17.8L10,14.29M5,21V7H18.96V21H5M12,2.4L14.61,5.03H9.37L12,2.4M5,5.03C4.5,5.03 4,5.22 3.61,5.61C3.2,6 3,6.46 3,7V21C3,21.5 3.2,22 3.61,22.39C4,22.8 4.5,23 5,23H18.96C19.5,23 19.96,22.8 20.37,22.39C20.77,22 21,21.5 21,21V7C21,6.46 20.77,6 20.37,5.61C19.96,5.22 19.5,5.03 18.96,5.03H16L12,1L7.96,5.03H5Z\";\r\nexport var mdiImageLock = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 3C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.03C13 20.9 13 20.8 13 20.7V18H5L8.5 13.5L11 16.5L14.5 12L14.77 12.37C15.61 10.89 17.27 10 19 10C19.69 10 20.37 10.16 21 10.42V5C21 3.89 20.1 3 19 3H5Z\";\r\nexport var mdiImageLockOutline = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M5 3C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.03C13 20.9 13 20.8 13 20.7V19H5V5H19V10C19.69 10 20.37 10.16 21 10.42V5C21 3.9 20.11 3 19 3H5M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13C13.08 16.14 13.46 15.46 13.96 14.96C14.03 14.89 14.13 14.85 14.2 14.79V14.5C14.2 13.95 14.3 13.44 14.47 12.97L13.96 12.29Z\";\r\nexport var mdiImageMarker = \"M13.55 18C13.97 19.08 14.59 20.12 15.19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V10.63C20.25 10.23 19.39 10 18.5 10C16.29 10 14.33 11.39 13.47 13.33L11 16.5L8.5 13.5L5 18H13.55M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiImageMarkerOutline = \"M14 19C14.36 19.72 14.78 20.4 15.19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V10.63C20.39 10.3 19.71 10.09 19 10.03V5H5V19H14M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13.22C13.09 16.5 13 16 13 15.5C13 14.35 13.38 13.26 14 12.37L13.96 12.29M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiImageMinus = \"M15 18V20H23V18H15M13.3 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V13.3C20.4 13.1 19.7 13 19 13C17.9 13 16.8 13.3 15.9 13.9L14.5 12L11 16.5L8.5 13.5L5 18H13.1C13 18.3 13 18.7 13 19C13 19.7 13.1 20.4 13.3 21Z\";\r\nexport var mdiImageMinusOutline = \"M15.4 14.21C14.47 14.91 13.75 15.88 13.35 17H6.5L9.25 13.47L11.21 15.83L13.96 12.29L15.4 14.21M5 19V5H19V13C19.7 13 20.37 13.13 21 13.35V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M15 18V20H23V18H15Z\";\r\nexport var mdiImageMove = \"M15,3H19V0L24,5L19,10V7H15V3M21,11.94V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H12.06C12,3.33 12,3.67 12,4A8,8 0 0,0 20,12C20.33,12 20.67,12 21,11.94M19,18L14.5,12L11,16.5L8.5,13.5L5,18H19Z\";\r\nexport var mdiImageMultiple = \"M22,16V4A2,2 0 0,0 20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16M11,12L13.03,14.71L16,11L20,16H8M2,6V20A2,2 0 0,0 4,22H18V20H4V6\";\r\nexport var mdiImageMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3M15.96,10.29L13.21,13.83L11.25,11.47L8.5,15H19.5L15.96,10.29Z\";\r\nexport var mdiImageOff = \"M21 17.2L6.8 3H19C20.1 3 21 3.9 21 5V17.2M20.7 22L19.7 21H5C3.9 21 3 20.1 3 19V4.3L2 3.3L3.3 2L22 20.7L20.7 22M16.8 18L12.9 14.1L11 16.5L8.5 13.5L5 18H16.8Z\";\r\nexport var mdiImageOffOutline = \"M22 20.7L3.3 2L2 3.3L3 4.3V19C3 20.1 3.9 21 5 21H19.7L20.7 22L22 20.7M5 19V6.3L12.6 13.9L11.1 15.8L9 13.1L6 17H15.7L17.7 19H5M8.8 5L6.8 3H19C20.1 3 21 3.9 21 5V17.2L19 15.2V5H8.8\";\r\nexport var mdiImageOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.96,12.29L11.21,15.83L9.25,13.47L6.5,17H17.5L13.96,12.29Z\";\r\nexport var mdiImagePlus = \"M18 15V18H15V20H18V23H20V20H23V18H20V15H18M13.3 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V13.3C20.4 13.1 19.7 13 19 13C17.9 13 16.8 13.3 15.9 13.9L14.5 12L11 16.5L8.5 13.5L5 18H13.1C13 18.3 13 18.7 13 19C13 19.7 13.1 20.4 13.3 21Z\";\r\nexport var mdiImagePlusOutline = \"M13 19C13 19.7 13.13 20.37 13.35 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13M13.96 12.29L11.21 15.83L9.25 13.47L6.5 17H13.35C13.75 15.88 14.47 14.91 15.4 14.21L13.96 12.29M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiImageRefresh = \"M12 18.5C12 19.39 12.18 20.23 12.5 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V12.5C20.23 12.18 19.39 12 18.5 12C17.29 12 16.16 12.34 15.19 12.92L14.5 12L11 16.5L8.5 13.5L5 18H12.03C12 18.17 12 18.33 12 18.5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiImageRefreshOutline = \"M14.68 13.25C13.45 14.15 12.54 15.47 12.18 17H6.5L9.25 13.47L11.21 15.83L13.96 12.29L14.68 13.25M5 19V5H19V12.03C19.7 12.09 20.38 12.24 21 12.5V5C21 3.9 20.11 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H12.5C12.24 20.38 12.09 19.7 12.03 19H5M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiImageRemove = \"M13.3 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5V13.3C20.4 13.1 19.7 13 19 13C17.9 13 16.8 13.3 15.9 13.9L14.5 12L11 16.5L8.5 13.5L5 18H13.1C13 18.3 13 18.7 13 19C13 19.7 13.1 20.4 13.3 21M20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9L20.4 19Z\";\r\nexport var mdiImageRemoveOutline = \"M13 19C13 19.7 13.13 20.37 13.35 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13M11.21 15.83L9.25 13.47L6.5 17H13.35C13.75 15.88 14.47 14.91 15.4 14.21L13.96 12.29L11.21 15.83M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiImageSearch = \"M15.5,2C18,2 20,4 20,6.5C20,7.38 19.75,8.21 19.31,8.9L22.39,12L21,13.39L17.88,10.32C17.19,10.75 16.37,11 15.5,11C13,11 11,9 11,6.5C11,4 13,2 15.5,2M15.5,4A2.5,2.5 0 0,0 13,6.5A2.5,2.5 0 0,0 15.5,9A2.5,2.5 0 0,0 18,6.5A2.5,2.5 0 0,0 15.5,4M7.5,14.5L4,19H18L13.5,13L10,17.5L7.5,14.5M20,20A2,2 0 0,1 18,22H4A2,2 0 0,1 2,20V6A2,2 0 0,1 4,4H9.5C9.18,4.77 9,5.61 9,6.5A6.5,6.5 0 0,0 15.5,13C16.18,13 16.84,12.89 17.46,12.7L20,15.24V20Z\";\r\nexport var mdiImageSearchOutline = \"M15.5,9C16.2,9 16.79,8.76 17.27,8.27C17.76,7.79 18,7.2 18,6.5C18,5.83 17.76,5.23 17.27,4.73C16.79,4.23 16.2,4 15.5,4C14.83,4 14.23,4.23 13.73,4.73C13.23,5.23 13,5.83 13,6.5C13,7.2 13.23,7.79 13.73,8.27C14.23,8.76 14.83,9 15.5,9M19.31,8.91L22.41,12L21,13.41L17.86,10.31C17.08,10.78 16.28,11 15.47,11C14.22,11 13.16,10.58 12.3,9.7C11.45,8.83 11,7.77 11,6.5C11,5.27 11.45,4.2 12.33,3.33C13.2,2.45 14.27,2 15.5,2C16.77,2 17.83,2.45 18.7,3.33C19.58,4.2 20,5.27 20,6.5C20,7.33 19.78,8.13 19.31,8.91M16.5,18H5.5L8.25,14.5L10.22,16.83L12.94,13.31L16.5,18M18,13L20,15V20C20,20.55 19.81,21 19.41,21.4C19,21.79 18.53,22 18,22H4C3.45,22 3,21.79 2.6,21.4C2.21,21 2,20.55 2,20V6C2,5.47 2.21,5 2.6,4.59C3,4.19 3.45,4 4,4H9.5C9.2,4.64 9.03,5.31 9,6H4V20H18V13Z\";\r\nexport var mdiImageSizeSelectActual = \"M21,3H3C2,3 1,4 1,5V19A2,2 0 0,0 3,21H21C22,21 23,20 23,19V5C23,4 22,3 21,3M5,17L8.5,12.5L11,15.5L14.5,11L19,17H5Z\";\r\nexport var mdiImageSizeSelectLarge = \"M21,15H23V17H21V15M21,11H23V13H21V11M23,19H21V21C22,21 23,20 23,19M13,3H15V5H13V3M21,7H23V9H21V7M21,3V5H23C23,4 22,3 21,3M1,7H3V9H1V7M17,3H19V5H17V3M17,19H19V21H17V19M3,3C2,3 1,4 1,5H3V3M9,3H11V5H9V3M5,3H7V5H5V3M1,11V19A2,2 0 0,0 3,21H15V11H1M3,19L5.5,15.79L7.29,17.94L9.79,14.72L13,19H3Z\";\r\nexport var mdiImageSizeSelectSmall = \"M23,15H21V17H23V15M23,11H21V13H23V11M23,19H21V21C22,21 23,20 23,19M15,3H13V5H15V3M23,7H21V9H23V7M21,3V5H23C23,4 22,3 21,3M3,21H11V15H1V19A2,2 0 0,0 3,21M3,7H1V9H3V7M15,19H13V21H15V19M19,3H17V5H19V3M19,19H17V21H19V19M3,3C2,3 1,4 1,5H3V3M3,11H1V13H3V11M11,3H9V5H11V3M7,3H5V5H7V3Z\";\r\nexport var mdiImageSync = \"M8.5 13.5L5 18H13.03C13.11 19.1 13.47 20.12 14.03 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.89 21 5V11.18C20.5 11.07 20 11 19.5 11C17.78 11 16.23 11.67 15.07 12.76L14.5 12L11 16.5L8.5 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiImageSyncOutline = \"M13.18 19C13.35 19.72 13.64 20.39 14.03 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3H19C20.11 3 21 3.9 21 5V11.18C20.5 11.07 20 11 19.5 11C19.33 11 19.17 11 19 11.03V5H5V19H13.18M11.21 15.83L9.25 13.47L6.5 17H13.03C13.14 15.54 13.73 14.22 14.64 13.19L13.96 12.29L11.21 15.83M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiImageText = \"M22 13H14V11H22V13M22 7H14V9H22V7M14 17H22V15H14V17M12 9V15C12 16.1 11.1 17 10 17H4C2.9 17 2 16.1 2 15V9C2 7.9 2.9 7 4 7H10C11.1 7 12 7.9 12 9M10.5 15L8.3 12L6.5 14.3L5.3 12.8L3.5 15H10.5Z\";\r\nexport var mdiImport = \"M14,12L10,8V11H2V13H10V16M20,18V6C20,4.89 19.1,4 18,4H6A2,2 0 0,0 4,6V9H6V6H18V18H6V15H4V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18Z\";\r\nexport var mdiInbox = \"M19,15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5V5H19M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiInboxArrowDown = \"M16,10H14V7H10V10H8L12,14M19,15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5V5H19M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiInboxArrowDownOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19M16 10H14V7H10V10H8L12 14\";\r\nexport var mdiInboxArrowUp = \"M14,14H10V11H8L12,7L16,11H14V14M16,11M5,15V5H19V15H15A3,3 0 0,1 12,18A3,3 0 0,1 9,15H5M19,3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3\";\r\nexport var mdiInboxArrowUpOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19M8 11H10V14H14V11H16L12 7\";\r\nexport var mdiInboxFull = \"M19 15V5H5V15H9C9 16.66 10.34 18 12 18C13.66 18 15 16.66 15 15H19M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.89 21 3 20.1 3 19L3 5C3 3.9 3.89 3 5 3H19M7 13V11H17V13H7M7 9V7H17V9H7Z\";\r\nexport var mdiInboxFullOutline = \"M19 3C20.1 3 21 3.9 21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19M5 19H9.4C8.79 18.47 8.35 17.78 8.13 17H5V19M19 19V17H15.87C15.65 17.78 15.21 18.47 14.6 19H19M19 15V5H5V15H10V16C10 18.67 14 18.67 14 16V15H19M7 7H17V9H7V7M17 11V13H7V11H17Z\";\r\nexport var mdiInboxMultiple = \"M19,8V5H5V8H9A3,3 0 0,0 12,11A3,3 0 0,0 15,8H19M19,3A2,2 0 0,1 21,5V12A2,2 0 0,1 19,14H5A2,2 0 0,1 3,12V5A2,2 0 0,1 5,3H19M3,15H9A3,3 0 0,0 12,18A3,3 0 0,0 15,15H21V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V15Z\";\r\nexport var mdiInboxMultipleOutline = \"M19,3A2,2 0 0,1 21,5V12A2,2 0 0,1 19,14H5A2,2 0 0,1 3,12V5A2,2 0 0,1 5,3H19M5,10V12H9.4C8.8,11.47 8.34,10.78 8.13,10H5M19,12V10H15.87C15.66,10.78 15.2,11.47 14.6,12H19M19,8V5H5V8H10V9C10,10.07 10.93,11 12,11C13.07,11 14,10.07 14,9V8H19M21,19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V15H10V16C10,17.07 10.93,18 12,18C13.07,18 14,17.07 14,16V15H21V19M5,17V19H9.4C8.8,18.47 8.34,17.78 8.13,17H5M19,19V17H15.87C15.66,17.78 15.2,18.47 14.6,19H19Z\";\r\nexport var mdiInboxOutline = \"M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M5 19V17H8.13A4.13 4.13 0 0 0 9.4 19M19 19H14.6A4.13 4.13 0 0 0 15.87 17H19M19 15H14V16A2 2 0 0 1 10 16V15H5V5H19Z\";\r\nexport var mdiInboxRemove = \"M19 15H15C15 16.7 13.7 18 12 18S9 16.7 9 15H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M14.1 6.5L15.5 7.9L13.4 10L15.5 12.1L14.1 13.5L12 11.4L9.9 13.5L8.5 12.1L10.6 10L8.5 7.9L9.9 6.5L12 8.6L14.1 6.5Z\";\r\nexport var mdiInboxRemoveOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M5 19V17H8.1C8.3 17.8 8.8 18.5 9.4 19M19 19H14.6C15.2 18.5 15.7 17.8 15.9 17H19M19 15H14V16C14 17.1 13.1 18 12 18S10 17.1 10 16V15H5V5H19V15M14.1 6.5L15.5 7.9L13.4 10L15.5 12.1L14.1 13.5L12 11.4L9.9 13.5L8.5 12.1L10.6 10L8.5 7.9L9.9 6.5L12 8.6L14.1 6.5Z\";\r\nexport var mdiIncognito = \"M17.06 13C15.2 13 13.64 14.33 13.24 16.1C12.29 15.69 11.42 15.8 10.76 16.09C10.35 14.31 8.79 13 6.94 13C4.77 13 3 14.79 3 17C3 19.21 4.77 21 6.94 21C9 21 10.68 19.38 10.84 17.32C11.18 17.08 12.07 16.63 13.16 17.34C13.34 19.39 15 21 17.06 21C19.23 21 21 19.21 21 17C21 14.79 19.23 13 17.06 13M6.94 19.86C5.38 19.86 4.13 18.58 4.13 17S5.39 14.14 6.94 14.14C8.5 14.14 9.75 15.42 9.75 17S8.5 19.86 6.94 19.86M17.06 19.86C15.5 19.86 14.25 18.58 14.25 17S15.5 14.14 17.06 14.14C18.62 14.14 19.88 15.42 19.88 17S18.61 19.86 17.06 19.86M22 10.5H2V12H22V10.5M15.53 2.63C15.31 2.14 14.75 1.88 14.22 2.05L12 2.79L9.77 2.05L9.72 2.04C9.19 1.89 8.63 2.17 8.43 2.68L6 9H18L15.56 2.68L15.53 2.63Z\";\r\nexport var mdiIncognitoCircle = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M14.92 12.81C13.84 12.81 12.95 13.56 12.71 14.56C12.17 14.33 11.66 14.39 11.29 14.55C11.05 13.55 10.15 12.81 9.08 12.81C7.83 12.81 6.82 13.82 6.82 15.07C6.82 16.32 7.83 17.33 9.08 17.33C10.28 17.33 11.24 16.42 11.33 15.25C11.53 15.12 12.04 14.86 12.67 15.26C12.77 16.42 13.73 17.33 14.92 17.33C16.17 17.33 17.18 16.32 17.18 15.07C17.18 13.82 16.17 12.81 14.92 12.81M9.08 13.45C10 13.45 10.7 14.18 10.7 15.07C10.7 15.96 10 16.69 9.08 16.69C8.19 16.69 7.46 15.96 7.46 15.07C7.46 14.18 8.19 13.45 9.08 13.45M14.92 13.45C15.81 13.45 16.54 14.18 16.54 15.07C16.54 15.96 15.81 16.69 14.92 16.69C14 16.69 13.3 15.96 13.3 15.07C13.3 14.18 14 13.45 14.92 13.45M17.83 11.5H6.17V12.17H17.83V11.5M14.15 6.89C14 6.59 13.67 6.43 13.35 6.53L12 7L10.65 6.53L10.61 6.5C10.29 6.43 9.95 6.61 9.84 6.92L8.36 10.83H15.64L14.16 6.92L14.15 6.89Z\";\r\nexport var mdiIncognitoCircleOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M8.94 10.83H8.36L8.5 10.41L8.94 10.83M6.17 11.5H9.61L10.28 12.17H6.17V11.5M14.92 17.33C13.73 17.33 12.77 16.42 12.67 15.26C12.04 14.86 11.53 15.12 11.33 15.25C11.24 16.42 10.28 17.33 9.08 17.33C7.83 17.33 6.82 16.32 6.82 15.07C6.82 13.82 7.83 12.81 9.08 12.81C10.15 12.81 11.05 13.55 11.29 14.55C11.65 14.4 12.13 14.34 12.65 14.54L13.31 15.2C13.37 16 14 16.61 14.78 16.67L15.38 17.27C15.23 17.3 15.08 17.33 14.92 17.33M9.94 6.74L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L15.37 12.17H17.83V11.5H14.7L14.03 10.83H15.64L14.16 6.92L14.15 6.89C14 6.59 13.67 6.43 13.35 6.53L12 7L10.65 6.53L10.61 6.5C10.36 6.45 10.1 6.55 9.94 6.74M10.7 15.07C10.7 15.96 10 16.69 9.08 16.69C8.19 16.69 7.46 15.96 7.46 15.07S8.19 13.45 9.08 13.45C10 13.45 10.7 14.18 10.7 15.07Z\";\r\nexport var mdiIncognitoOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.31 8.2L6 9H7.11L8.61 10.5H2V12H10.11L13.5 15.37C13.38 15.61 13.3 15.85 13.24 16.1C12.29 15.69 11.41 15.8 10.76 16.09C10.35 14.31 8.79 13 6.94 13C4.77 13 3 14.79 3 17C3 19.21 4.77 21 6.94 21C9 21 10.68 19.38 10.84 17.32C11.18 17.08 12.07 16.63 13.16 17.34C13.34 19.39 15 21 17.06 21C17.66 21 18.22 20.86 18.72 20.61L20.84 22.73L22.11 21.46M6.94 19.86C5.38 19.86 4.13 18.58 4.13 17C4.13 15.42 5.39 14.14 6.94 14.14C8.5 14.14 9.75 15.42 9.75 17C9.75 18.58 8.5 19.86 6.94 19.86M17.06 19.86C15.5 19.86 14.25 18.58 14.25 17C14.25 16.74 14.29 16.5 14.36 16.25L17.84 19.73C17.59 19.81 17.34 19.86 17.06 19.86M22 12H15.2L13.7 10.5H22V12M17.06 13C19.23 13 21 14.79 21 17C21 17.25 20.97 17.5 20.93 17.73L19.84 16.64C19.68 15.34 18.66 14.32 17.38 14.17L16.29 13.09C16.54 13.03 16.8 13 17.06 13M12.2 9L7.72 4.5L8.43 2.68C8.63 2.17 9.19 1.89 9.72 2.04L9.77 2.05L12 2.79L14.22 2.05C14.75 1.88 15.32 2.14 15.54 2.63L15.56 2.68L18 9H12.2Z\";\r\nexport var mdiInduction = \"M23 2C20.75 2 18.75 2.61 17.19 3.33C15.79 2.61 14 2 12 2S8.21 2.61 6.81 3.33C5.25 2.61 3.25 2 1 2V4C2.36 4 3.61 4.27 4.71 4.64C4.03 5.15 3.63 5.54 3.59 5.59C3.21 5.96 3 6.47 3 7V18C3 20.21 4.79 22 7 22S11 20.21 11 18V7C11 6.42 10.75 5.88 10.32 5.5C10.26 5.45 9.8 5.05 9 4.54C9.92 4.22 10.92 4 12 4S14.08 4.22 15 4.54C14.2 5.05 13.74 5.45 13.68 5.5C13.25 5.88 13 6.42 13 7V18C13 20.21 14.79 22 17 22S21 20.21 21 18V7C21 6.47 20.79 5.96 20.41 5.59C20.37 5.54 19.97 5.15 19.29 4.64C20.39 4.27 21.64 4 23 4V2M9 7V18C9 19.11 8.11 20 7 20S5 19.11 5 18V7C5 7 5.7 6.31 6.87 5.58C8.2 6.31 9 7 9 7M19 7V18C19 19.11 18.11 20 17 20S15 19.11 15 18V7C15 7 15.8 6.31 17.13 5.58C18.3 6.31 19 7 19 7Z\";\r\nexport var mdiInfinity = \"M18.6,6.62C21.58,6.62 24,9 24,12C24,14.96 21.58,17.37 18.6,17.37C17.15,17.37 15.8,16.81 14.78,15.8L12,13.34L9.17,15.85C8.2,16.82 6.84,17.38 5.4,17.38C2.42,17.38 0,14.96 0,12C0,9.04 2.42,6.62 5.4,6.62C6.84,6.62 8.2,7.18 9.22,8.2L12,10.66L14.83,8.15C15.8,7.18 17.16,6.62 18.6,6.62M7.8,14.39L10.5,12L7.84,9.65C7.16,8.97 6.31,8.62 5.4,8.62C3.53,8.62 2,10.13 2,12C2,13.87 3.53,15.38 5.4,15.38C6.31,15.38 7.16,15.03 7.8,14.39M16.2,9.61L13.5,12L16.16,14.35C16.84,15.03 17.7,15.38 18.6,15.38C20.47,15.38 22,13.87 22,12C22,10.13 20.47,8.62 18.6,8.62C17.69,8.62 16.84,8.97 16.2,9.61Z\";\r\nexport var mdiInformation = \"M13,9H11V7H13M13,17H11V11H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiInformationBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M13 9V7H11V9H13M13 17V11H11V17H13Z\";\r\nexport var mdiInformationBoxOutline = \"M13 9H11V7H13V9M13 17H11V11H13V17M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19Z\";\r\nexport var mdiInformationOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M13 17H11V12.9L13 14.9V17M11 7.8L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L12.2 9H13V7H11V7.8Z\";\r\nexport var mdiInformationOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M12 20C7.6 20 4 16.4 4 12C4 10.3 4.6 8.7 5.5 7.4L11 12.9V17H13V14.9L16.6 18.5C15.3 19.4 13.7 20 12 20M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L19 15.8C19.6 14.7 20 13.4 20 12C20 7.6 16.4 4 12 4C10.6 4 9.3 4.4 8.2 5M11 7H13V9H11V7Z\";\r\nexport var mdiInformationOutline = \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,17H13V11H11V17Z\";\r\nexport var mdiInformationSlabBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M11 9H13V7H11V9M14 17V15H13V11H10V13H11V15H10V17H14Z\";\r\nexport var mdiInformationSlabBoxOutline = \"M11 9H13V7H11V9M14 17V15H13V11H10V13H11V15H10V17H14M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19Z\";\r\nexport var mdiInformationSlabCircle = \"M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M11 7H13V9H11V7M14 17H10V15H11V13H10V11H13V15H14V17Z\";\r\nexport var mdiInformationSlabCircleOutline = \"M11 7V9H13V7H11M14 17V15H13V11H10V13H11V15H10V17H14M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12Z\";\r\nexport var mdiInformationSlabSymbol = \"M13 9H11V7H13V9M14 15V17H10V15H11V13H10V11H13V15H14Z\";\r\nexport var mdiInformationSymbol = \"M11 9H13V7H11V9M11 17H13V11H11V17Z\";\r\nexport var mdiInformationVariant = \"M13.5,4A1.5,1.5 0 0,0 12,5.5A1.5,1.5 0 0,0 13.5,7A1.5,1.5 0 0,0 15,5.5A1.5,1.5 0 0,0 13.5,4M13.14,8.77C11.95,8.87 8.7,11.46 8.7,11.46C8.5,11.61 8.56,11.6 8.72,11.88C8.88,12.15 8.86,12.17 9.05,12.04C9.25,11.91 9.58,11.7 10.13,11.36C12.25,10 10.47,13.14 9.56,18.43C9.2,21.05 11.56,19.7 12.17,19.3C12.77,18.91 14.38,17.8 14.54,17.69C14.76,17.54 14.6,17.42 14.43,17.17C14.31,17 14.19,17.12 14.19,17.12C13.54,17.55 12.35,18.45 12.19,17.88C12,17.31 13.22,13.4 13.89,10.71C14,10.07 14.3,8.67 13.14,8.77Z\";\r\nexport var mdiInformationVariantBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M12.3 7.29C12.11 7.5 12 7.74 12 8C12 8.27 12.11 8.5 12.3 8.71C12.5 8.9 12.74 9 13 9C13.27 9 13.5 8.9 13.71 8.71C13.9 8.5 14 8.27 14 8C14 7.74 13.9 7.5 13.71 7.29C13.5 7.11 13.27 7 13 7C12.74 7 12.5 7.11 12.3 7.29M9.8 11.97C9.7 12.06 9.7 12.07 9.77 12.17L9.82 12.25L9.85 12.31C9.92 12.44 9.93 12.44 10.04 12.36C10.17 12.27 10.39 12.13 10.76 11.91C11.68 11.32 11.5 12 11.09 13.5C10.87 14.33 10.59 15.39 10.38 16.62C10.14 18.37 11.71 17.47 12.12 17.2C12.5 16.96 13.44 16.3 13.66 16.15L13.7 16.13C13.82 16.04 13.77 16 13.68 15.86L13.62 15.78C13.54 15.67 13.46 15.75 13.46 15.75L13.3 15.86C12.85 16.16 12.23 16.59 12.13 16.25C12.04 16 12.41 14.64 12.79 13.25C12.96 12.64 13.13 12 13.26 11.47L13.28 11.41C13.35 10.97 13.5 10.12 12.77 10.18C11.97 10.25 9.8 11.97 9.8 11.97Z\";\r\nexport var mdiInformationVariantBoxOutline = \"M12.3 7.29C12.5 7.11 12.74 7 13 7C13.27 7 13.5 7.11 13.71 7.29C13.9 7.5 14 7.74 14 8C14 8.27 13.9 8.5 13.71 8.71C13.5 8.9 13.27 9 13 9C12.74 9 12.5 8.9 12.3 8.71C12.11 8.5 12 8.27 12 8C12 7.74 12.11 7.5 12.3 7.29M9.8 11.97C9.8 11.97 11.97 10.25 12.76 10.18C13.5 10.12 13.35 10.97 13.28 11.41L13.27 11.47C13.13 12 12.96 12.64 12.79 13.25C12.41 14.64 12.04 16 12.13 16.25C12.23 16.59 12.85 16.16 13.3 15.86C13.36 15.82 13.41 15.78 13.46 15.75C13.46 15.75 13.54 15.67 13.62 15.78C13.64 15.81 13.66 15.84 13.68 15.86C13.77 16 13.82 16.05 13.7 16.13L13.66 16.15C13.44 16.3 12.5 16.96 12.12 17.2C11.71 17.47 10.14 18.37 10.38 16.62C10.59 15.39 10.87 14.33 11.09 13.5C11.5 12 11.68 11.32 10.76 11.91C10.39 12.13 10.17 12.27 10.04 12.36C9.93 12.44 9.92 12.44 9.85 12.31L9.82 12.25L9.77 12.17C9.7 12.07 9.7 12.06 9.8 11.97M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M19 19V5H5V19H19Z\";\r\nexport var mdiInformationVariantCircle = \"M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M12.3 7.29C12.5 7.11 12.74 7 13 7C13.27 7 13.5 7.11 13.71 7.29C13.9 7.5 14 7.74 14 8C14 8.27 13.9 8.5 13.71 8.71C13.5 8.9 13.27 9 13 9C12.74 9 12.5 8.9 12.3 8.71C12.11 8.5 12 8.27 12 8C12 7.74 12.11 7.5 12.3 7.29M9.8 11.97C9.8 11.97 11.97 10.25 12.76 10.18C13.5 10.12 13.35 10.97 13.28 11.41L13.27 11.47C13.13 12 12.96 12.64 12.79 13.25C12.41 14.64 12.04 16 12.13 16.25C12.23 16.59 12.85 16.16 13.3 15.86C13.36 15.82 13.41 15.78 13.46 15.75C13.46 15.75 13.54 15.67 13.62 15.78C13.64 15.81 13.66 15.84 13.68 15.86C13.77 16 13.82 16.05 13.7 16.13L13.66 16.15C13.44 16.3 12.5 16.96 12.12 17.2C11.71 17.47 10.14 18.37 10.38 16.62C10.59 15.39 10.87 14.33 11.09 13.5C11.5 12 11.68 11.32 10.76 11.91C10.39 12.13 10.17 12.27 10.04 12.36C9.93 12.44 9.92 12.44 9.85 12.31L9.82 12.25L9.77 12.17C9.7 12.07 9.7 12.06 9.8 11.97Z\";\r\nexport var mdiInformationVariantCircleOutline = \"M12.3 7.29C12.5 7.11 12.74 7 13 7C13.27 7 13.5 7.11 13.71 7.29C13.9 7.5 14 7.74 14 8C14 8.27 13.9 8.5 13.71 8.71C13.5 8.9 13.27 9 13 9C12.74 9 12.5 8.9 12.3 8.71C12.11 8.5 12 8.27 12 8C12 7.74 12.11 7.5 12.3 7.29M9.8 11.97C9.8 11.97 11.97 10.25 12.76 10.18C13.5 10.12 13.35 10.97 13.28 11.41L13.27 11.47C13.13 12 12.96 12.64 12.79 13.25C12.41 14.64 12.04 16 12.13 16.25C12.23 16.59 12.85 16.16 13.3 15.86C13.36 15.82 13.41 15.78 13.46 15.75C13.46 15.75 13.54 15.67 13.62 15.78C13.64 15.81 13.66 15.84 13.68 15.86C13.77 16 13.82 16.05 13.7 16.13L13.66 16.15C13.44 16.3 12.5 16.96 12.12 17.2C11.71 17.47 10.14 18.37 10.38 16.62C10.59 15.39 10.87 14.33 11.09 13.5C11.5 12 11.68 11.32 10.76 11.91C10.39 12.13 10.17 12.27 10.04 12.36C9.93 12.44 9.92 12.44 9.85 12.31L9.82 12.25L9.77 12.17C9.7 12.07 9.7 12.06 9.8 11.97M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M20 12C20 7.58 16.42 4 12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12Z\";\r\nexport var mdiInstagram = \"M7.8,2H16.2C19.4,2 22,4.6 22,7.8V16.2A5.8,5.8 0 0,1 16.2,22H7.8C4.6,22 2,19.4 2,16.2V7.8A5.8,5.8 0 0,1 7.8,2M7.6,4A3.6,3.6 0 0,0 4,7.6V16.4C4,18.39 5.61,20 7.6,20H16.4A3.6,3.6 0 0,0 20,16.4V7.6C20,5.61 18.39,4 16.4,4H7.6M17.25,5.5A1.25,1.25 0 0,1 18.5,6.75A1.25,1.25 0 0,1 17.25,8A1.25,1.25 0 0,1 16,6.75A1.25,1.25 0 0,1 17.25,5.5M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiInstrumentTriangle = \"M11.5 2H10.5V6.2C10.4 6.3 10.3 6.3 10.2 6.5L2.1 20.7C1.8 21.3 2.2 22 2.9 22H16V20H4.8L11 9.2L16.7 19.2L18.4 18.2L11.8 6.4L11.5 6.1V2M21 6H20V18L19.5 22H21.5L21 18V6Z\";\r\nexport var mdiIntegratedCircuitChip = \"M10 4H20C21.11 4 22 4.89 22 6V8H18.59L16 10.59V14.59L14 16.59V20H10V16.59L8 14.59V9.41L10 7.41V4M18 11.41V14H22V10H19.41L18 11.41M6.59 8L8 6.59V4H4C2.89 4 2 4.89 2 6V8H6.59M6 14V10H2V14H6M8 17.41L6.59 16H2V18C2 19.11 2.89 20 4 20H8V17.41M17.41 16L16 17.41V20H20C21.11 20 22 19.11 22 18V16H17.41Z\";\r\nexport var mdiInvertColors = \"M12,19.58V19.58C10.4,19.58 8.89,18.96 7.76,17.83C6.62,16.69 6,15.19 6,13.58C6,12 6.62,10.47 7.76,9.34L12,5.1M17.66,7.93L12,2.27V2.27L6.34,7.93C3.22,11.05 3.22,16.12 6.34,19.24C7.9,20.8 9.95,21.58 12,21.58C14.05,21.58 16.1,20.8 17.66,19.24C20.78,16.12 20.78,11.05 17.66,7.93Z\";\r\nexport var mdiInvertColorsOff = \"M20.65,20.87L18.3,18.5L12,12.23L8.44,8.66L7,7.25L4.27,4.5L3,5.77L5.78,8.55C3.23,11.69 3.42,16.31 6.34,19.24C7.9,20.8 9.95,21.58 12,21.58C13.79,21.58 15.57,21 17.03,19.8L19.73,22.5L21,21.23L20.65,20.87M12,19.59C10.4,19.59 8.89,18.97 7.76,17.83C6.62,16.69 6,15.19 6,13.59C6,12.27 6.43,11 7.21,10L12,14.77V19.59M12,5.1V9.68L19.25,16.94C20.62,14 20.09,10.37 17.65,7.93L12,2.27L8.3,5.97L9.71,7.38L12,5.1Z\";\r\nexport var mdiIobroker = \"M12 2C11.5 2 11 2.04 10.5 2.11V4.85C11 4.75 11.5 4.7 12 4.7C12.5 4.7 13 4.75 13.5 4.85V2.12C13 2.04 12.5 2 12 2M9.82 2.25C5.4 3.25 2.11 7.24 2.11 12C2.11 17.5 6.53 22 12 22C17.47 22 21.89 17.5 21.89 12C21.89 7.24 18.6 3.25 14.19 2.25V5.03C17.17 5.96 19.34 8.73 19.34 12C19.34 16 16.05 19.3 12 19.3C7.96 19.3 4.67 16 4.67 12C4.67 8.73 6.84 5.96 9.82 5.03M12 5.45C11.5 5.45 11 5.5 10.5 5.62V18.27C11 18.38 11.5 18.44 12 18.44C12.5 18.44 13 18.39 13.5 18.27V5.62C13 5.5 12.5 5.45 12 5.45Z\";\r\nexport var mdiIp = \"M16,11H14V9H16V11M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M10,7H8V17H10V7M12,17H14V13H16A2,2 0 0,0 18,11V9A2,2 0 0,0 16,7H12V17Z\";\r\nexport var mdiIpNetwork = \"M15,9H13V7H15V9M22,20V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7A2,2 0 0,1 5,15V5A2,2 0 0,1 7,3H17A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22M9,5H7V15H9V5M11,15H13V11H15A2,2 0 0,0 17,9V7A2,2 0 0,0 15,5H11V15Z\";\r\nexport var mdiIpNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M10,6H8V14H10V6M14,6H11V14H13V12H14A2,2 0 0,0 16,10V8A2,2 0 0,0 14,6M14,10H13V8H14V10Z\";\r\nexport var mdiIpOutline = \"M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9 7H7V17H9V7M15 7H11V17H13V13H15C16.1 13 17 12.1 17 11V9C17 7.9 16.1 7 15 7M15 11H13V9H15V11Z\";\r\nexport var mdiIpod = \"M7,2A2,2 0 0,0 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4A2,2 0 0,0 17,2H7M7,4H17V10H7V4M12,12A4,4 0 0,1 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12M12,14A2,2 0 0,0 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16A2,2 0 0,0 12,14Z\";\r\nexport var mdiIron = \"M21 6C19.34 6 18 7.34 18 9V13C18 13.55 17.55 14 17 14V10C17 8.34 15.66 7 14 7H10C8.34 7 7 8.34 7 10H9C9 9.45 9.45 9 10 9H14C14.55 9 15 9.45 15 10V11H6C3.79 11 2 12.79 2 15V18H17V16C18.66 16 20 14.66 20 13V9C20 8.45 20.45 8 21 8H22V6H21Z\";\r\nexport var mdiIronBoard = \"M19 6H16V4.8C16 3.68 16.56 2.63 17.5 2C18.44 2.63 19 3.68 19 4.8V6M15.28 13.63L19.59 19C20.38 19.06 21 19.7 21 20.5C21 21.33 20.33 22 19.5 22S18 21.33 18 20.5C18 20.42 18 20.34 18 20.26L14 15.23L10 20.26C10 20.34 10 20.42 10 20.5C10 21.33 9.33 22 8.5 22S7 21.33 7 20.5C7 19.7 7.63 19.06 8.41 19L12.72 13.63L9 9H3V7H21V9H19L15.28 13.63M14 12L16.42 9H11.58L14 12Z\";\r\nexport var mdiIronOutline = \"M21 6C19.34 6 18 7.34 18 9V13C18 13.55 17.55 14 17 14V10C17 8.34 15.66 7 14 7H10C8.34 7 7 8.34 7 10H9C9 9.45 9.45 9 10 9H14C14.55 9 15 9.45 15 10V11H6C3.79 11 2 12.79 2 15V18H17V16C18.66 16 20 14.66 20 13V9C20 8.45 20.45 8 21 8H22V6H21M15 16H4V15C4 13.9 4.9 13 6 13H15V16Z\";\r\nexport var mdiIsland = \"M20 20C18.61 20 17.22 19.53 16 18.67C13.56 20.38 10.44 20.38 8 18.67C6.78 19.53 5.39 20 4 20H2V22H4C5.37 22 6.74 21.65 8 21C10.5 22.3 13.5 22.3 16 21C17.26 21.65 18.62 22 20 22H22V20H20M20.78 19H20C18.82 19 17.64 18.6 16.58 17.85L16 17.45L15.42 17.85C14.39 18.57 13.21 18.95 12 18.95C10.77 18.95 9.59 18.57 8.56 17.85L8 17.45L7.43 17.85C6.36 18.6 5.18 19 4 19H3.22C3.75 17.54 5.58 15 12 15C14 15 15 15.24 15 15.24C15.68 13.87 16.83 10.77 16 6.82L17.06 7.53C17.39 8.96 18 11.75 16.8 15.65C19.43 16.5 20.42 18 20.78 19M22 7.59C21.21 6.5 20 5.71 18.58 5.53C18.7 5.67 18.81 5.83 18.92 6C20.12 7.91 19.87 10.32 18.47 11.95C19.06 10.5 19 8.79 18.08 7.36C18 7.28 17.96 7.2 17.9 7.11C17.5 6.53 16.96 6.06 16.38 5.72C14.35 6.37 12.88 8.27 12.88 10.5C12.88 11.03 12.96 11.53 13.1 12C12.5 11.17 12.16 10.17 12.16 9.07C12.16 7.41 12.96 5.95 14.2 5.03C13.16 4.95 12.09 5.18 11.14 5.78C10.7 6.05 10.32 6.38 10 6.76C10.39 5.82 11.05 5 12 4.4C13.04 3.74 14.25 3.5 15.39 3.69C15.1 3.29 14.75 2.92 14.33 2.6C13.92 2.29 13.47 2.05 13 1.88C14 1.91 15.04 2.24 15.91 2.89C16.35 3.22 16.7 3.62 17 4.05C17.06 4.05 17.12 4.04 17.19 4.04C19.45 4.04 21.37 5.53 22 7.59Z\";\r\nexport var mdiIslandVariant = \"M15 15.26V13H11L15 9H12L15 6H13L16 3L19 6H17L20 9H17L21 13H17V15.76C19.13 16.47 20.68 17.67 21 19C19.3 18.87 17.62 18.54 16 18C14.79 18.61 13.37 19 12 19C10.71 19 9.17 18.58 8 18C6.37 18.54 4.72 18.87 3 19C3.54 16.77 7.4 15 12 15C13.05 15 14.06 15.09 15 15.26M8 19C8 19 5 20 2 20V22C5 22 8 21 8 21C8 21 10 22 12 22C14 22 16 21 16 21C16 21 19 22 22 22V20C19 20 16 19 16 19C16 19 14 20 12 20C10 20 8 19 8 19Z\";\r\nexport var mdiIvBag = \"M14 1H10C5 1 5 3 5 3V15C5 15 5 17 10 17V19H11V20C11 21.21 11.8 23 14 23H18V21H14C13.19 21 13 20.45 13 20V19H14V17C19 17 19 15 19 15V3C19 3 19 1 14 1M17 12H14V11H17V12M17 5H14V6H17V8H14V9H17V10H7V3.5C7.3 3.32 8.13 3 10 3H14C15.88 3 16.7 3.32 17 3.5V5Z\";\r\nexport var mdiJabber = \"M5.23,5.72C4.61,5.55 5,3.19 5,3.17C5,3.19 12.58,-0.71 16.7,5.73C20.8,12.15 15.86,14.86 13.97,16.06C12.08,17.27 12.73,19.72 12.73,20.13C12.73,20.53 12.16,20.97 12,20.41C11.88,19.84 11.25,16.55 13.33,15.16C17.13,12.61 17.9,10.1 16,6.42C14.2,3 8.28,3.41 7.03,4.08C5.78,4.75 5.86,5.89 5.23,5.72M9.33,12.63L9.11,12.16C9.23,10.28 7.63,10.39 8.08,13.33C8.21,14.16 7.47,13.8 7.45,13.73C6.89,11.44 7.42,10.22 8.55,10.45C9.62,10.68 9.53,11.83 9.53,11.83C9.56,11.78 11,10.17 11.5,10.92C12.58,12.5 10.53,14.47 10.41,14.63C10.28,14.78 10.14,15.05 9.92,14.84C9.7,14.64 9.72,14.5 9.89,14.27C12.77,10 9.59,12.22 9.33,12.63M6.5,15.33V15.31C6.5,15.31 8,18.13 10.61,17.08C11,16.92 11.17,17.14 11.2,17.27C11.27,17.53 11.13,17.64 10.86,17.73C7.86,18.72 5.89,16.63 5.63,16.13C5.39,15.68 5.5,15.38 5.75,15.22C6,15.06 6.5,15.33 6.5,15.33M6,17.5C6,17.5 7.67,19.5 10.8,19C11.09,18.94 11.2,19.13 11.25,19.38C11.3,19.63 11.22,19.84 10.92,19.94C10.63,20.03 7.08,20.5 5.13,17.72C5,17.56 5.3,17.36 5.47,17.36C5.64,17.36 6.03,17.5 6,17.5M5.95,19.39C7.53,21.5 10.33,21.55 11.28,20.88C11.5,20.73 11.7,21.05 11.56,21.19C9.64,23.16 5.67,21 5.27,20.33C5.09,20.05 5.13,19.66 5.31,19.45C5.5,19.25 5.93,19.38 5.95,19.39Z\";\r\nexport var mdiJeepney = \"M19,13V7H20V4H4V7H5V13H2C2,13.93 2.5,14.71 3.5,14.93V20A1,1 0 0,0 4.5,21H5.5A1,1 0 0,0 6.5,20V19H17.5V20A1,1 0 0,0 18.5,21H19.5A1,1 0 0,0 20.5,20V14.93C21.5,14.7 22,13.93 22,13H19M8,15A1.5,1.5 0 0,1 6.5,13.5A1.5,1.5 0 0,1 8,12A1.5,1.5 0 0,1 9.5,13.5A1.5,1.5 0 0,1 8,15M16,15A1.5,1.5 0 0,1 14.5,13.5A1.5,1.5 0 0,1 16,12A1.5,1.5 0 0,1 17.5,13.5A1.5,1.5 0 0,1 16,15M17.5,10.5C15.92,10.18 14.03,10 12,10C9.97,10 8,10.18 6.5,10.5V7H17.5V10.5Z\";\r\nexport var mdiJellyfish = \"M19.5,14.5C18.92,14.43 18.43,14.92 18.5,15.5C18.5,16.17 17.5,16.17 17.5,15.5V13.2L19.2,12.7C19.92,12.36 20.41,11.68 20.5,10.9C20.5,5.5 16.7,2 12,2C7.3,2 3.5,5.5 3.5,10.9C3.56,11.7 4.06,12.4 4.8,12.7L6.5,13.2V15.5A0.5,0.5 0 0,1 6,16A0.5,0.5 0 0,1 5.5,15.5C5.57,14.92 5.08,14.43 4.5,14.5C3.92,14.43 3.43,14.92 3.5,15.5C3.44,16.91 4.59,18.06 6,18C7.41,18.06 8.56,16.91 8.5,15.5V13.7H9.5V19.4C9.5,20.07 8.5,20.07 8.5,19.4C8.57,18.82 8.08,18.33 7.5,18.4C6.92,18.33 6.43,18.82 6.5,19.4C6.38,20.84 7.55,22.07 9,22C10.41,22.06 11.56,20.91 11.5,19.5V14H12.5V19.5C12.44,20.91 13.59,22.06 15,22C16.41,22.06 17.56,20.91 17.5,19.5C17.5,18.17 15.5,18.17 15.5,19.5C15.5,20.17 14.5,20.17 14.5,19.5V13.8H15.5V15.6C15.5,16.96 16.63,18.06 18,18C19.41,18.06 20.56,16.91 20.5,15.5C20.57,14.92 20.08,14.43 19.5,14.5M10.6,4.7C9.09,5.03 7.79,5.97 7,7.3C6.83,7.5 6.5,7.57 6.3,7.4C6.08,7.23 6.04,6.92 6.2,6.7C7.16,5.19 8.67,4.12 10.4,3.7C10.67,3.68 10.91,3.85 11,4.1C11.06,4.37 10.88,4.65 10.6,4.7Z\";\r\nexport var mdiJellyfishOutline = \"M12,4C15.8,4 18.5,6.8 18.5,10.8C14.31,12.39 9.69,12.39 5.5,10.8C5.5,6.8 8.2,4 12,4M12,2C7.3,2 3.5,5.5 3.5,10.9C3.56,11.7 4.06,12.4 4.8,12.7L6.5,13.2V15.5A0.5,0.5 0 0,1 6,16A0.5,0.5 0 0,1 5.5,15.5C5.57,14.92 5.08,14.43 4.5,14.5C3.92,14.43 3.43,14.92 3.5,15.5C3.44,16.86 4.54,18 5.9,18H6C7.41,18.06 8.56,16.91 8.5,15.5V13.7H9.5V19.4C9.5,20.07 8.5,20.07 8.5,19.4C8.57,18.82 8.08,18.33 7.5,18.4C6.92,18.33 6.43,18.82 6.5,19.4C6.39,20.8 7.5,22 8.9,22H9C10.41,22.06 11.56,20.91 11.5,19.5V14H12.5V19.5C12.44,20.91 13.59,22.06 15,22H15.1C16.47,22 17.56,20.86 17.5,19.5C17.5,18.17 15.5,18.17 15.5,19.5C15.5,20.17 14.5,20.17 14.5,19.5V13.8H15.5V15.6C15.5,16.96 16.63,18.06 18,18H18.1C19.47,18 20.56,16.86 20.5,15.5C20.5,14.17 18.5,14.17 18.5,15.5C18.5,16.17 17.5,16.17 17.5,15.5V13.2L19.2,12.7C19.92,12.36 20.41,11.68 20.5,10.9C20.5,5.5 16.7,2 12,2M12,6.2C10.53,6.6 9.24,7.53 8.4,8.8C8,9.33 7.2,8.73 7.6,8.2C8.6,6.73 10.09,5.67 11.8,5.2C12.08,5.14 12.35,5.32 12.4,5.6C12.5,5.9 12.3,6.1 12,6.2Z\";\r\nexport var mdiJira = \"M11.53,2C11.53,4.4 13.5,6.35 15.88,6.35H17.66V8.05C17.66,10.45 19.6,12.39 22,12.4V2.84A0.84,0.84 0 0,0 21.16,2H11.53M6.77,6.8C6.78,9.19 8.72,11.13 11.11,11.14H12.91V12.86C12.92,15.25 14.86,17.19 17.25,17.2V7.63C17.24,7.17 16.88,6.81 16.42,6.8H6.77M2,11.6C2,14 3.95,15.94 6.35,15.94H8.13V17.66C8.14,20.05 10.08,22 12.47,22V12.43A0.84,0.84 0 0,0 11.63,11.59L2,11.6Z\";\r\nexport var mdiJquery = \"M22.88,10.41C20.77,12.18 17.61,11.9 15.84,9.79C14.06,7.67 14.34,4.5 16.45,2.75L16.96,2.37C15.27,4.19 15.16,7.03 16.8,9C18.43,10.94 21.25,11.32 23.34,9.97L22.88,10.41M21.1,14.5C17.93,17.17 13.2,16.76 10.54,13.58C7.87,10.41 8.29,5.68 11.46,3L12.38,2.36C9.96,5.09 9.84,9.26 12.26,12.14C14.68,15 18.8,15.63 21.91,13.72L21.1,14.5M19.97,19.38C15.53,23.11 8.9,22.53 5.17,18.08C1.45,13.64 2.03,7 6.47,3.29L7.58,2.5C4.07,6.3 3.85,12.23 7.28,16.32C10.71,20.4 16.59,21.22 20.96,18.43L19.97,19.38Z\";\r\nexport var mdiJsfiddle = \"M17.34 13.7C17.34 15 16.23 16.04 14.86 16.04C13.65 16.04 12.64 15 11.75 14.04L11.5 13.79C11.5 13.76 11.47 13.73 11.45 13.7C10.74 12.96 9.96 12.22 9.21 12.22C8.32 12.22 7.6 12.88 7.6 13.69C7.6 14.5 8.32 15.17 9.21 15.17C9.97 15.17 10.35 14.75 10.63 14.45L10.7 14.37C10.86 14.2 11.14 14.19 11.31 14.35C11.5 14.5 11.5 14.79 11.33 14.96L11.27 15.03C10.94 15.38 10.35 16.03 9.21 16.03C7.84 16.03 6.73 15 6.73 13.69C6.73 12.4 7.84 11.35 9.21 11.35C10.42 11.35 11.43 12.41 12.32 13.35L12.56 13.6C12.58 13.63 12.6 13.66 12.62 13.69C13.33 14.43 14.11 15.17 14.86 15.17C15.75 15.17 16.47 14.5 16.47 13.69C16.47 12.88 15.75 12.22 14.86 12.22C14.11 12.22 13.72 12.64 13.44 12.94L13.37 13C13.21 13.19 12.94 13.2 12.76 13.04C12.59 12.87 12.58 12.6 12.74 12.42L12.81 12.36C13.13 12 13.73 11.36 14.86 11.36C16.23 11.36 17.34 12.4 17.34 13.7M22 14.85C22 15.96 21.57 17 20.78 17.79C20 18.57 18.95 19 17.84 19H6.28C3.96 18.96 2.07 17.06 2.07 14.75C2.07 13.37 2.76 12.07 3.89 11.28C3.85 11.09 3.83 10.9 3.83 10.7C3.83 9.03 5.2 7.67 6.88 7.67C7.39 7.67 7.88 7.79 8.32 8.03C9.41 6.17 11.43 5 13.6 5C16.97 5 19.7 7.72 19.7 11.07L19.7 11.14C21.11 11.84 22 13.27 22 14.85M21.13 14.85C21.13 13.5 20.33 12.32 19.09 11.81C18.92 11.74 18.81 11.57 18.82 11.38L18.83 11.29C18.83 11.22 18.84 11.14 18.84 11.07C18.84 8.2 16.5 5.87 13.6 5.87C11.6 5.87 9.74 7.03 8.87 8.83C8.82 8.95 8.71 9.04 8.58 9.07C8.46 9.1 8.32 9.07 8.22 9C7.83 8.69 7.37 8.53 6.88 8.53C5.68 8.53 4.7 9.5 4.7 10.7C4.7 10.92 4.73 11.14 4.8 11.34C4.86 11.54 4.78 11.75 4.61 11.85C3.56 12.47 2.94 13.55 2.94 14.75C2.94 16.59 4.44 18.1 6.29 18.13H17.83C18.72 18.13 19.54 17.79 20.16 17.17C20.79 16.55 21.13 15.73 21.13 14.85Z\";\r\nexport var mdiJumpRope = \"M21 4.5V10.5C21 11.2 20.5 11.9 19.8 12V17.3C19.8 18.6 19 21.1 16 21.1H14.5C14.9 20.7 15.3 20.2 15.5 19.6H16C18.1 19.6 18.2 17.7 18.2 17.4V12C17.5 11.9 17 11.3 17 10.5V4.5C17 3.7 17.7 3 18.5 3H19.5C20.3 3 21 3.7 21 4.5M14.8 18.2C14.8 19.7 13.6 21 12 21H8C5 21 4.2 18.5 4.2 17.2V12C3.5 11.9 3 11.2 3 10.5V4.5C3 3.7 3.7 3 4.5 3H5.5C6.3 3 7 3.7 7 4.5V10.5C7 11.2 6.5 11.9 5.8 12V17.3C5.8 17.7 5.9 19.5 8 19.5H9.6C9.4 19.1 9.3 18.7 9.3 18.3V8.3C9.3 6.8 10.5 5.5 12.1 5.5S14.8 6.7 14.8 8.3M13.2 8.2C13.2 7.6 12.7 7 12 7S10.8 7.6 10.8 8.2V18.2C10.8 18.9 11.4 19.4 12 19.4S13.2 18.8 13.2 18.2V8.2Z\";\r\nexport var mdiKabaddi = \"M11.2 10.6C12.2 11.6 13.4 12.1 14.8 12.1L14.9 14.2C13 14.2 11.3 13.5 9.8 12.1L9.1 11.4L6.8 13.8L9 15.9V21.9H7V16.7L5.7 15.5V17.7L1.5 22L.1 20.6L3.7 17L2.5 13.5C2.3 12.9 2.6 12.4 3.1 12L6.4 8.7C6.8 8.2 7.3 8 7.8 8C8.3 8 8.6 8.1 8.9 8.3L11.2 10.6M24 11.9H22V8.5L20.2 7.8L21.1 12.2L22.1 17.4L23 21.8H20.9L19.1 13.8L17 15.8V21.8H15V14.3L17.1 12.3L16.5 9.3C15.9 9.9 15.2 10.5 14.4 10.9C13.5 10.8 12.6 10.4 11.9 9.7C13.5 9.4 14.6 8.6 15.3 7.4L16.3 5.8C16.9 4.8 17.8 4.5 18.9 5L24 7.2V11.9M11.4 4.4C12.5 4.4 13.4 5.3 13.4 6.4C13.4 7.5 12.5 8.4 11.4 8.4C10.3 8.4 9.4 7.5 9.4 6.4C9.4 5.3 10.3 4.4 11.4 4.4M16.5 .3C17.6 .3 18.5 1.2 18.5 2.3C18.5 3.4 17.6 4.3 16.5 4.3C15.4 4.3 14.5 3.4 14.5 2.3C14.5 1.2 15.4 .3 16.5 .3Z\";\r\nexport var mdiKangaroo = \"M19.8 6.59L19 7.97V10.04L17.69 11.61L17.31 13.25L16 14L15.5 13.12L16.44 12.59L16.7 11.45L16.7 11.45L16.77 11.15L16.77 11.15V11.15L17.47 10.31C17.65 10.1 17.62 9.78 17.41 9.61C17.2 9.43 16.88 9.46 16.7 9.67L15.85 10.69L15.56 11.93C15.38 11.96 15.2 12 15 12C14.31 12 13.68 11.76 13.23 11.4C13.15 12.7 12.73 13.81 12.13 14.43L10.5 16.19L9.96 19.79L8.07 21L7.53 20.17L9.04 19.19L9.5 15.92L9.5 15.91L10 14.54C9.47 14.08 9.08 13.28 8.88 12.3L8.71 12.61C8.35 13.25 8 13.9 7.56 14.56C7.11 15.2 6.66 15.9 5.78 16.44C5.34 16.72 4.7 16.84 4.17 16.73C3.61 16.61 3.14 16.26 2.86 15.89C2.31 15.13 2.15 14.35 2 13.62L2.97 13.36C3.2 14 3.5 14.65 3.88 15C4.26 15.33 4.57 15.26 4.84 15C5.16 14.73 5.47 14.15 5.73 13.55C6 12.94 6.22 12.28 6.45 11.6C6.93 10.24 7.39 8.82 8.2 7.36C8.62 6.64 9.13 5.89 9.92 5.22C10.7 4.55 11.73 4 13 4S15.7 5.22 16.58 6.34C17 6.89 17.87 6.82 18.22 6.21L19.14 4.63C19 4.58 18.89 4.5 18.79 4.4C18.4 4 18.4 3.38 18.79 3L19.93 4.13C19.96 4.13 20 4.11 20 4.11C20.41 4.11 20.75 4.35 20.91 4.69L22 7L21 7.5L19.8 6.59Z\";\r\nexport var mdiKarate = \"M19.8 2L11.6 8.7L10.39 7.66L14 5.58L9.41 1L8 2.41L10.74 5.15L5 8.46L3.81 12.75L6.27 17L8 16L5.97 12.5L6.32 11.18L9.5 13L10 22H12L12.5 12L21 3.4L19.8 2M5 3C6.11 3 7 3.9 7 5S6.11 7 5 7 3 6.11 3 5 3.9 3 5 3Z\";\r\nexport var mdiKayaking = \"M22 23V21C20.58 21.05 19.21 20.9 18 20C16.23 21.25 13.77 21.25 12 20C10.23 21.25 7.77 21.25 6 20C4.79 20.9 3.42 21.05 2 21V23C3.38 23.05 4.79 22.94 6 22.25C7.84 23.25 10.16 23.25 12 22.25C13.84 23.25 16.16 23.25 18 22.25C19.21 22.94 20.62 23.05 22 23M23.39 17.21C21.13 16.29 18.3 15.56 15.66 15.22L19.36 6.88L20.67 6.41L22 3.41L18.8 2L17.5 4.95L18 6.27L16.31 9.97L13.5 11.47L11 10.2C10.95 10.14 10.86 10.09 10.74 10.06C9.82 9.73 8.77 10.32 8.5 11.23L7.13 15.41C6.59 15.18 1.25 16.97 .915 17.12L0 17.47C1.33 18.04 2.2 18.39 3.94 18.88C4.75 18.63 5.44 18.09 6 17.47C7.5 19.42 10.5 19.42 12 17.47C13.5 19.42 16.5 19.42 18 17.47C18.56 18.09 19.25 18.63 20.06 18.88L22.95 17.91L24 17.47L23.39 17.21M14.06 15.08C13.07 15 12.06 15 11.06 15L11.77 12.83L13.5 13.77L15 12.92L14.06 15.08M14 7.5C14 8.61 13.11 9.5 12 9.5S10 8.61 10 7.5 10.9 5.5 12 5.5 14 6.4 14 7.5Z\";\r\nexport var mdiKeg = \"M5,22V20H6V16H5V14H6V11H5V7H11V3H10V2H11L13,2H14V3H13V7H19V11H18V14H19V16H18V20H19V22H5M17,9A1,1 0 0,0 16,8H14A1,1 0 0,0 13,9A1,1 0 0,0 14,10H16A1,1 0 0,0 17,9Z\";\r\nexport var mdiKettle = \"M12.5,3C7.81,3 4,5.69 4,9V9C4,10.19 4.5,11.34 5.44,12.33C4.53,13.5 4,14.96 4,16.5C4,17.64 4,18.83 4,20C4,21.11 4.89,22 6,22H19C20.11,22 21,21.11 21,20C21,18.85 21,17.61 21,16.5C21,15.28 20.66,14.07 20,13L22,11L19,8L16.9,10.1C15.58,9.38 14.05,9 12.5,9C10.65,9 8.95,9.53 7.55,10.41C7.19,9.97 7,9.5 7,9C7,7.21 9.46,5.75 12.5,5.75V5.75C13.93,5.75 15.3,6.08 16.33,6.67L18.35,4.65C16.77,3.59 14.68,3 12.5,3M12.5,11C12.84,11 13.17,11.04 13.5,11.09C10.39,11.57 8,14.25 8,17.5V20H6V17.5A6.5,6.5 0 0,1 12.5,11Z\";\r\nexport var mdiKettleAlert = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 1 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.1 22 18 21.1 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C12.6 9.4 11.1 9 9.5 9C7.7 9 5.9 9.5 4.6 10.4C4.2 10 4 9.5 4 9C4 7.2 6.5 5.8 9.5 5.8C10.9 5.8 12.3 6.1 13.3 6.7L15.3 4.7C13.8 3.6 11.7 3 9.5 3M9.5 11C9.8 11 10.2 11 10.5 11.1C7.4 11.6 5 14.2 5 17.5V20H3V17.5C3 13.9 5.9 11 9.5 11M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiKettleAlertOutline = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 1 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.1 22 18 21.1 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C11 8.5 7.4 8.6 4.6 10.4C4.2 10 4 9.5 4 9C4 7.2 6.5 5.7 9.5 5.7C10.9 5.7 12.3 6.1 13.3 6.7L15.3 4.7C13.6 3.5 11.6 3 9.5 3M9.5 11C13 11 16 14 16 16.5V20H3V16.5C3 14 6 11 9.5 11M10 12.5C7 12.5 5 14 5 17V18H7V17C7 16 7 13.5 10 12.5M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiKettleOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.7 6.6C4.3 7.3 4 8.1 4 9C4 10.2 4.5 11.3 5.4 12.3C4.5 13.5 4 15 4 16.5V20C4 21.1 4.9 22 6 22H19C19.3 22 19.6 21.9 19.9 21.8L20.8 22.7L22.1 21.5M8.2 10.1L7.6 10.4C7.2 10 7 9.5 7 9V8.9L8.2 10.1M8 17.5V20H6V17.5C6 14.9 7.5 12.7 9.7 11.6L10.5 12.4C9 13.6 8 15.4 8 17.5M16.9 10.1L19 8L22 11L20 13C20.7 14.1 21 15.3 21 16.5V17.8L12.2 9H12.5C14 9 15.6 9.4 16.9 10.1M9.5 6.3L7.4 4.2C8.8 3.5 10.6 3 12.5 3C14.7 3 16.8 3.6 18.3 4.7L16.3 6.7C15.3 6.1 13.9 5.8 12.5 5.8C11.4 5.8 10.4 5.9 9.5 6.3Z\";\r\nexport var mdiKettleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.7 6.6C4.3 7.3 4 8.1 4 9C4 10.2 4.5 11.3 5.4 12.3C4.5 13.5 4 15 4 16.5V20C4 21.1 4.9 22 6 22H19C19.3 22 19.6 21.9 19.9 21.8L20.8 22.7L22.1 21.5M8.2 10.1L7.6 10.4C7.2 10 7 9.5 7 9V8.9L8.2 10.1M6 20V16.5C6 14.7 7.6 12.6 9.7 11.6L10.9 12.8C9.1 13.4 8 14.8 8 17V18H10V17C10 16.2 10 14.5 11.4 13.3L18.1 20H6M16.9 10.1L19 8L22 11L20 13C20.7 14.1 21 15.3 21 16.5V17.8L18.9 15.7C18.5 13.9 16.8 12.1 14.6 11.4L12.2 9C13.8 8.9 15.4 9.3 16.9 10.1M9.5 6.3L7.4 4.2C8.8 3.5 10.6 3 12.5 3C14.6 3 16.6 3.5 18.3 4.7L16.3 6.7C15.3 6.1 13.9 5.7 12.5 5.7C11.4 5.7 10.3 5.9 9.5 6.3Z\";\r\nexport var mdiKettleOutline = \"M12.5 3C7.8 3 4 5.7 4 9C4 10.2 4.5 11.3 5.4 12.3A6.8 6.8 0 0 0 4 16.5V20C4 21.1 4.9 22 6 22H19A2 2 0 0 0 21 20V16.5C21 15.3 20.7 14.1 20 13L22 11L19 8L16.9 10.1A9.2 9.2 0 0 0 7.6 10.4A2 2 0 0 1 7 9C7 7.2 9.5 5.7 12.5 5.7C13.9 5.7 15.3 6.1 16.3 6.7L18.3 4.7A10 10 0 0 0 12.5 3M12.5 11C16 11 19 14 19 16.5V20H6V16.5C6 14 9 11 12.5 11M13 12.5C10 12.5 8 14 8 17V18H10V17C10 16 10 13.5 13 12.5Z\";\r\nexport var mdiKettlePourOver = \"M10 4C9.4 4 9 4.4 9 5V6H14V5C14 4.4 13.6 4 13 4H10M3 7L4.1 14.1C4.2 14.8 4.5 15.5 5.1 16.1C5.5 16.6 6.2 16.9 7 17C7 17.6 7.4 18 8 18H16C16.6 18 17 17.6 17 17L15 11H17L20.3 16L22 15L18.7 10L20 9.2L19 7.5L16.4 9H15V7H8V11L7.2 16C6.5 15.9 6.1 15.7 5.8 15.4C5.4 15 5.2 14.5 5.1 13.9L4 7H3M4 19V21H20V19H4Z\";\r\nexport var mdiKettleSteam = \"M19 11L16 8L13.9 10.1C12.58 9.38 11.05 9 9.5 9C7.65 9 5.95 9.53 4.55 10.41C4.19 9.97 4 9.5 4 9C4 7.21 6.46 5.75 9.5 5.75C10.93 5.75 12.3 6.08 13.33 6.67L15.35 4.65C13.77 3.59 11.68 3 9.5 3C4.81 3 1 5.69 1 9C1 10.19 1.5 11.34 2.44 12.33C1.53 13.5 1 14.96 1 16.5V20C1 21.11 1.89 22 3 22H16C17.11 22 18 21.11 18 20V16.5C18 15.28 17.66 14.07 17 13L19 11M5 17.5V20H3V17.5C3 13.91 5.91 11 9.5 11C9.84 11 10.17 11.04 10.5 11.09C7.39 11.57 5 14.25 5 17.5M23 7.3C23 8.93 21.91 10.6 20.38 10.97L19.71 10.29L19 9.6H19.75C20.75 9.6 21.5 8.22 21.5 7.2C21.5 6.18 20.65 5.14 19.65 5.14V3.64C21.5 3.64 23 5.45 23 7.3M17.65 6.73C17.03 6.12 16.65 5.28 16.65 4.35C16.65 2.5 18.15 1 20 1V2.5C19 2.5 18.15 3.33 18.15 4.35C18.15 5.37 19 6.2 20 6.2V7.7C19.18 7.7 18.42 7.95 17.79 8.38L16.72 7.31C17 7.09 17.32 6.89 17.65 6.73Z\";\r\nexport var mdiKettleSteamOutline = \"M9.5 3C4.8 3 1 5.7 1 9C1 10.2 1.5 11.3 2.4 12.3C1.5 13.5 .985 15 1 16.5V20C1 21.1 1.9 22 3 22H16C17.11 22 18 21.11 18 20V16.5C18 15.3 17.7 14.1 17 13L19 11L16 8L13.9 10.1C10.97 8.5 7.42 8.63 4.6 10.4C4.22 10.03 4 9.53 4 9C4 7.2 6.5 5.7 9.5 5.7C10.9 5.7 12.3 6.1 13.3 6.7L15.3 4.7C13.59 3.55 11.56 2.96 9.5 3M9.5 11C13 11 16 14 16 16.5V20H3V16.5C3 14 6 11 9.5 11M10 12.5C7 12.5 5 14 5 17V18H7V17C7 16 7 13.5 10 12.5M23 7.3C23 8.93 21.91 10.6 20.38 10.97L19.71 10.29L19 9.6H19.75C20.75 9.6 21.5 8.22 21.5 7.2C21.5 6.18 20.65 5.14 19.65 5.14V3.64C21.5 3.64 23 5.45 23 7.3M17.65 6.73C17.03 6.12 16.65 5.28 16.65 4.35C16.65 2.5 18.15 1 20 1V2.5C19 2.5 18.15 3.33 18.15 4.35C18.15 5.37 19 6.2 20 6.2V7.7C19.18 7.7 18.42 7.95 17.79 8.38L16.72 7.31C17 7.09 17.32 6.89 17.65 6.73Z\";\r\nexport var mdiKettlebell = \"M16.2 10.7L16.8 8.3C16.9 8 17.3 6.6 16.5 5.4C15.9 4.5 14.7 4 13 4H11C9.3 4 8.1 4.5 7.5 5.4C6.7 6.6 7.1 7.9 7.2 8.3L7.8 10.7C6.7 11.8 6 13.3 6 15C6 17.1 7.1 18.9 8.7 20H15.3C16.9 18.9 18 17.1 18 15C18 13.3 17.3 11.8 16.2 10.7M9.6 9.5L9.1 7.8V7.7C9.1 7.7 8.9 7 9.2 6.6C9.4 6.2 10 6 11 6H13C13.9 6 14.6 6.2 14.9 6.5C15.2 6.9 15 7.6 15 7.6L14.5 9.5C13.7 9.2 12.9 9 12 9C11.1 9 10.3 9.2 9.6 9.5Z\";\r\nexport var mdiKey = \"M7 14C5.9 14 5 13.1 5 12S5.9 10 7 10 9 10.9 9 12 8.1 14 7 14M12.6 10C11.8 7.7 9.6 6 7 6C3.7 6 1 8.7 1 12S3.7 18 7 18C9.6 18 11.8 16.3 12.6 14H16V18H20V14H23V10H12.6Z\";\r\nexport var mdiKeyAlert = \"M4 6.5C4 4 6 2 8.5 2S13 4 13 6.5C13 8.46 11.75 10.13 10 10.74V15H13V18H10V22H7V10.74C5.25 10.13 4 8.46 4 6.5M7 6.5C7 7.33 7.67 8 8.5 8S10 7.33 10 6.5 9.33 5 8.5 5 7 5.67 7 6.5M18 7H20V13H18M18 17H20V15H18\";\r\nexport var mdiKeyAlertOutline = \"M16 22H12V24H6V13.32C3.58 12.17 2 9.72 2 7C2 3.14 5.14 0 9 0C12.86 0 16 3.14 16 7C16 9.72 14.42 12.18 12 13.32V16H16V22M14 18H10V11.94L10.67 11.71C12.66 11 14 9.11 14 7C14 4.24 11.76 2 9 2S4 4.24 4 7C4 9.11 5.34 11 7.33 11.71L8 11.94V22H10V20H14V18M12 7C12 8.66 10.66 10 9 10S6 8.66 6 7 7.34 4 9 4 12 5.34 12 7M9 8C9.55 8 10 7.55 10 7S9.55 6 9 6 8 6.45 8 7 8.45 8 9 8M20 7H22V13H20M20 17H22V15H20\";\r\nexport var mdiKeyArrowRight = \"M11.7 6C11.1 4.2 9.4 3 7.5 3C5 3 3 5 3 7.5S5 12 7.5 12C9.5 12 11.1 10.8 11.7 9H15V12H18V9H21V6H11.7M7.5 9C6.7 9 6 8.3 6 7.5S6.7 6 7.5 6 9 6.7 9 7.5 8.3 9 7.5 9M13 21V19H8V17H13V15L16 18L13 21\";\r\nexport var mdiKeyChain = \"M12.67 13.67C12.2 14.13 11.63 14.5 11 14.73V23H8V21H5V18H8V14.72C6.26 14.1 5 12.46 5 10.5C5 8 7 6 9.5 6C9.54 6 9.57 6 9.6 6C9.13 6.95 8.92 8 9.03 9.08C8.44 9.28 8 9.84 8 10.5C8 11.33 8.67 12 9.5 12C9.73 12 9.95 11.94 10.15 11.85C10.79 12.69 11.67 13.32 12.67 13.67M20.73 19.44L17.97 20.6L17.19 18.76L14.43 19.93L13.26 17.16L16.03 16L14.76 13C12.91 13.08 11.11 12.05 10.35 10.25C9.39 7.96 10.47 5.32 12.76 4.35C13 4.25 13.26 4.18 13.5 4.12C12.84 2.87 11.5 2 10 2C7.79 2 6 3.79 6 6C6 6.08 6 6.16 6 6.24C5.7 6.5 5.4 6.82 5.15 7.15C5.06 6.78 5 6.4 5 6C5 3.24 7.24 1 10 1S15 3.24 15 6C15 7.42 14.4 8.67 13.45 9.57C13.87 10 14.5 10.13 15.08 9.88C15.85 9.56 16.2 8.68 15.88 7.92C15.85 7.83 15.8 7.74 15.74 7.66C15.9 7.13 16 6.58 16 6C16 5.37 15.9 4.76 15.72 4.19C17 4.55 18.1 5.44 18.65 6.76C19.41 8.56 18.89 10.57 17.5 11.81L20.73 19.44M13 8.6C13.37 8.19 13.65 7.71 13.82 7.18C13.28 7.45 12.97 8 13 8.6Z\";\r\nexport var mdiKeyChainVariant = \"M12.66 13.67C12.32 14 11.93 14.29 11.5 14.5V21L9.5 23L7.5 21L9.5 19.29L8 18L9.5 16.71L7.5 15V14.5C6 13.77 5 12.26 5 10.5C5 8 7 6 9.5 6C9.54 6 9.58 6 9.61 6C9.59 6.07 9.54 6.12 9.5 6.18C9.23 6.79 9.08 7.43 9.03 8.08C8.43 8.28 8 8.84 8 9.5C8 10.33 8.67 11 9.5 11C9.53 11 9.57 11 9.6 11C10.24 12.25 11.34 13.2 12.66 13.67M16 6C16 5.37 15.9 4.75 15.72 4.18C17.06 4.56 18.21 5.55 18.73 6.96C19.33 8.62 18.89 10.39 17.75 11.59L20 17.68L18.78 20.25L16.22 19.05L17.5 16.76L15.66 16.06L16.63 14.34L14.16 13.41L14 12.95C12.36 12.77 10.88 11.7 10.27 10.04C9.42 7.71 10.63 5.12 12.96 4.27C13.14 4.21 13.33 4.17 13.5 4.13C12.84 2.87 11.53 2 10 2C7.79 2 6 3.79 6 6C6 6.09 6 6.17 6.03 6.26C5.7 6.53 5.4 6.82 5.15 7.15C5.06 6.78 5 6.4 5 6C5 3.24 7.24 1 10 1S15 3.24 15 6C15 7.16 14.6 8.21 13.94 9.06C16.08 8.88 16 6 16 6M12.81 8.1C12.87 8.27 12.96 8.41 13.06 8.54C13.62 7.88 13.97 7.04 14 6.11C13.89 6.13 13.8 6.15 13.7 6.18C12.92 6.47 12.5 7.33 12.81 8.1Z\";\r\nexport var mdiKeyChange = \"M7.5 2C9.5 2 11.1 3.2 11.7 5H21V8H18V11H15V8H11.7C11.1 9.8 9.4 11 7.5 11C5 11 3 9 3 6.5S5 2 7.5 2M7.5 5C6.7 5 6 5.7 6 6.5S6.7 8 7.5 8 9 7.3 9 6.5 8.3 5 7.5 5M7.5 13C9.5 13 11.1 14.2 11.7 16H21V19H20V22H18V19H16V22H13V19H11.7C11.1 20.8 9.4 22 7.5 22C5 22 3 20 3 17.5S5 13 7.5 13M7.5 16C6.7 16 6 16.7 6 17.5S6.7 19 7.5 19 9 18.3 9 17.5 8.3 16 7.5 16Z\";\r\nexport var mdiKeyLink = \"M7.5 3C5 3 3 5 3 7.5S5 12 7.5 12C9.5 12 11.1 10.8 11.7 9H15V12H18V9H21V6H11.7C11.1 4.2 9.5 3 7.5 3M7.5 6C8.3 6 9 6.7 9 7.5S8.3 9 7.5 9 6 8.3 6 7.5 6.7 6 7.5 6M10 14C8.4 14 6 15.1 6 18C6 20.9 8.4 22 10 22H11V20H10C9.7 20 8 19.9 8 18C8 16.2 9.5 16 10 16H11V14M13 14V16H14C14.3 16 16 16.1 16 18C16 19.8 14.5 20 14 20H13V22H14C15.6 22 18 20.9 18 18C18 15.1 15.6 14 14 14M9 17V19H15V17H9Z\";\r\nexport var mdiKeyMinus = \"M7.5 3C9.5 3 11.1 4.2 11.7 6H21V9H18V12H15V9H11.7C11.1 10.8 9.4 12 7.5 12C5 12 3 10 3 7.5S5 3 7.5 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M8 17H16V19H8V17Z\";\r\nexport var mdiKeyOutline = \"M21 18H15V15H13.3C12.2 17.4 9.7 19 7 19C3.1 19 0 15.9 0 12S3.1 5 7 5C9.7 5 12.2 6.6 13.3 9H24V15H21V18M17 16H19V13H22V11H11.9L11.7 10.3C11 8.3 9.1 7 7 7C4.2 7 2 9.2 2 12S4.2 17 7 17C9.1 17 11 15.7 11.7 13.7L11.9 13H17V16M7 15C5.3 15 4 13.7 4 12S5.3 9 7 9 10 10.3 10 12 8.7 15 7 15M7 11C6.4 11 6 11.4 6 12S6.4 13 7 13 8 12.6 8 12 7.6 11 7 11Z\";\r\nexport var mdiKeyPlus = \"M7.5 3C9.5 3 11.1 4.2 11.7 6H21V9H18V12H15V9H11.7C11.1 10.8 9.4 12 7.5 12C5 12 3 10 3 7.5S5 3 7.5 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M8 17H11V14H13V17H16V19H13V22H11V19H8V17Z\";\r\nexport var mdiKeyRemove = \"M7.5 3C9.5 3 11.1 4.2 11.7 6H21V9H18V12H15V9H11.7C11.1 10.8 9.4 12 7.5 12C5 12 3 10 3 7.5S5 3 7.5 3M7.5 6C6.7 6 6 6.7 6 7.5S6.7 9 7.5 9 9 8.3 9 7.5 8.3 6 7.5 6M14.6 14L16 15.4L13.4 18L16 20.6L14.6 22L12 19.4L9.4 22L8 20.6L10.6 18L8 15.4L9.4 14L12 16.6L14.6 14Z\";\r\nexport var mdiKeyStar = \"M7.5 3C5 3 3 5 3 7.5S5 12 7.5 12C9.5 12 11.1 10.8 11.7 9H15V12H18V9H21V6H11.7C11.1 4.2 9.5 3 7.5 3M7.5 6C8.3 6 9 6.7 9 7.5S8.3 9 7.5 9 6 8.3 6 7.5 6.7 6 7.5 6M12 14L10.9 16.6L8 16.9L10.2 18.8L9.5 21.6L12 20.1L14.4 21.6L13.8 18.8L16 16.9L13.1 16.7L12 14Z\";\r\nexport var mdiKeyVariant = \"M22,18V22H18V19H15V16H12L9.74,13.74C9.19,13.91 8.61,14 8,14A6,6 0 0,1 2,8A6,6 0 0,1 8,2A6,6 0 0,1 14,8C14,8.61 13.91,9.19 13.74,9.74L22,18M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z\";\r\nexport var mdiKeyWireless = \"M4.9 5.9L6.3 7.3C9.4 4.2 14.5 4.2 17.6 7.3L19 5.9C15.2 2 8.8 2 4.9 5.9M7.8 8.8L9.2 10.2C10.8 8.6 13.3 8.6 14.9 10.2L16.3 8.8C13.9 6.4 10.1 6.4 7.8 8.8M11.8 15C11 12.7 8.4 11.4 6.1 12.3S2.4 15.7 3.3 18 6.7 21.6 9 20.7C10.3 20.2 11.3 19.2 11.7 18H15V21H18V18H21V15M7.5 18C6.7 18 6 17.3 6 16.5C6 15.7 6.7 15 7.5 15S9 15.7 9 16.5C9 17.3 8.3 18 7.5 18Z\";\r\nexport var mdiKeyboard = \"M19,10H17V8H19M19,13H17V11H19M16,10H14V8H16M16,13H14V11H16M16,17H8V15H16M7,10H5V8H7M7,13H5V11H7M8,11H10V13H8M8,8H10V10H8M11,11H13V13H11M11,8H13V10H11M20,5H4C2.89,5 2,5.89 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7C22,5.89 21.1,5 20,5Z\";\r\nexport var mdiKeyboardBackspace = \"M21,11H6.83L10.41,7.41L9,6L3,12L9,18L10.41,16.58L6.83,13H21V11Z\";\r\nexport var mdiKeyboardCaps = \"M6,18H18V16H6M12,8.41L16.59,13L18,11.58L12,5.58L6,11.58L7.41,13L12,8.41Z\";\r\nexport var mdiKeyboardClose = \"M12,23L16,19H8M19,8H17V6H19M19,11H17V9H19M16,8H14V6H16M16,11H14V9H16M16,15H8V13H16M7,8H5V6H7M7,11H5V9H7M8,9H10V11H8M8,6H10V8H8M11,9H13V11H11M11,6H13V8H11M20,3H4C2.89,3 2,3.89 2,5V15A2,2 0 0,0 4,17H20A2,2 0 0,0 22,15V5C22,3.89 21.1,3 20,3Z\";\r\nexport var mdiKeyboardCloseOutline = \"M12 23L16 19H8M4 3C2.9 3 2 3.9 2 5V15C2 16.1 2.9 17 4 17H20C21.1 17 22 16.1 22 15V5C22 3.9 21.1 3 20 3H4M4 5H20V15H4V5M5 6V8H7V6H5M8 6V8H10V6H8M11 6V8H13V6H11M14 6V8H16V6H14M17 6V8H19V6H17M5 9V11H7V9H5M8 9V11H10V9H8M11 9V11H13V9H11M14 9V11H16V9H14M17 9V11H19V9H17M8 12V14H16V12H8Z\";\r\nexport var mdiKeyboardEsc = \"M1 7H7V9H3V11H7V13H3V15H7V17H1V7M11 7H15V9H11V11H13C14.11 11 15 11.9 15 13V15C15 16.11 14.11 17 13 17H9V15H13V13H11C9.9 13 9 12.11 9 11V9C9 7.9 9.9 7 11 7M19 7H21C22.11 7 23 7.9 23 9V10H21V9H19V15H21V14H23V15C23 16.11 22.11 17 21 17H19C17.9 17 17 16.11 17 15V9C17 7.9 17.9 7 19 7Z\";\r\nexport var mdiKeyboardF1 = \"M6 7H12V9H8V11H11V13H8V17H6V7M14 7H18V17H16V9H14V7Z\";\r\nexport var mdiKeyboardF10 = \"M2 7H8V9H4V11H7V13H4V17H2V7M10 7H14V17H12V9H10V7M18 7H20C21.11 7 22 7.9 22 9V15C22 16.11 21.11 17 20 17H18C16.9 17 16 16.11 16 15V9C16 7.9 16.9 7 18 7M18 9V15H20V9H18Z\";\r\nexport var mdiKeyboardF11 = \"M3 7H9V9H5V11H8V13H5V17H3V7M11 7H15V17H13V9H11V7M17 7H21V17H19V9H17V7Z\";\r\nexport var mdiKeyboardF12 = \"M2 7H8V9H4V11H7V13H4V17H2V7M16 7H20C21.11 7 22 7.9 22 9V11C22 12.11 21.11 13 20 13H18V15H22V17H16V13C16 11.9 16.9 11 18 11H20V9H16V7M10 7H14V17H12V9H10V7Z\";\r\nexport var mdiKeyboardF2 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H17C18.11 7 19 7.9 19 9V11C19 12.11 18.11 13 17 13H15V15H19V17H13V13C13 11.9 13.9 11 15 11H17V9H13V7Z\";\r\nexport var mdiKeyboardF3 = \"M5 7H11V9H7V11H10V13H7V17H5V7M19 15C19 16.11 18.11 17 17 17H13V15H17V13H15V11H17V9H13V7H17C18.1 7 19 7.89 19 9V10.5C19 11.33 18.33 12 17.5 12C18.33 12 19 12.67 19 13.5V15Z\";\r\nexport var mdiKeyboardF4 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H15V11H17V7H19V17H17V13H13V7Z\";\r\nexport var mdiKeyboardF5 = \"M5 7H11V9H7V11H10V13H7V17H5V7M13 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H13V15H17V13H13V7Z\";\r\nexport var mdiKeyboardF6 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H15C13.9 17 13 16.11 13 15V9C13 7.9 13.9 7 15 7M15 13V15H17V13H15Z\";\r\nexport var mdiKeyboardF7 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 17H13L17 9H13V7H19V9L15 17Z\";\r\nexport var mdiKeyboardF8 = \"M5 7H11V9H7V11H10V13H7V17H5V7M15 13V15H17V13H15M15 9V11H17V9H15M15 17C13.9 17 13 16.11 13 15V13.5C13 12.67 13.67 12 14.5 12C13.67 12 13 11.33 13 10.5V9C13 7.9 13.9 7 15 7H17C18.1 7 19 7.89 19 9V10.5C19 11.33 18.33 12 17.5 12C18.33 12 19 12.67 19 13.5V15C19 16.11 18.11 17 17 17H15Z\";\r\nexport var mdiKeyboardF9 = \"M5 7H11V9H7V11H10V13H7V17H5V7M17 17H13V15H17V13H15C13.9 13 13 12.11 13 11V9C13 7.9 13.9 7 15 7H17C18.11 7 19 7.9 19 9V15C19 16.11 18.11 17 17 17M17 11V9H15V11H17Z\";\r\nexport var mdiKeyboardOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L15.73,19H4C2.89,19 2,18.1 2,17V7C2,6.5 2.18,6.07 2.46,5.73L1,4.27M19,10V8H17V10H19M19,13V11H17V13H19M16,10V8H14V10H16M16,13V11H14V12.18L11.82,10H13V8H11V9.18L9.82,8L6.82,5H20A2,2 0 0,1 22,7V17C22,17.86 21.46,18.59 20.7,18.87L14.82,13H16M8,15V17H13.73L11.73,15H8M5,10H6.73L5,8.27V10M7,13V11H5V13H7M8,13H9.73L8,11.27V13Z\";\r\nexport var mdiKeyboardOffOutline = \"M1,4.27L2.47,5.74C2.18,6.08 2,6.5 2,7V17A2,2 0 0,0 4,19H15.73L18.73,22L20,20.72L2.28,3L1,4.27M4,17V7.27L5,8.27V10H6.73L8,11.27V13H9.73L10.73,14H8V16H12.73L13.73,17H4M5,11H7V13H5V11M17,11H19V13H17V11M19,10H17V8H19V10M14,11H16V13H14.83L14,12.17V11M13,10H11.83L11,9.17V8H13V10M22,7V17C22,17.86 21.45,18.58 20.7,18.87L18.83,17H20V7H8.83L6.83,5H20A2,2 0 0,1 22,7M16,10H14V8H16V10Z\";\r\nexport var mdiKeyboardOutline = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H20V17H4V7M5,8V10H7V8H5M8,8V10H10V8H8M11,8V10H13V8H11M14,8V10H16V8H14M17,8V10H19V8H17M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M14,11V13H16V11H14M17,11V13H19V11H17M8,14V16H16V14H8Z\";\r\nexport var mdiKeyboardReturn = \"M19,7V11H5.83L9.41,7.41L8,6L2,12L8,18L9.41,16.58L5.83,13H21V7H19Z\";\r\nexport var mdiKeyboardSettings = \"M19,10H17V8H19M19,13H17V11H19M16,10H14V8H16M16,13H14V11H16M16,17H8V15H16M7,10H5V8H7M7,13H5V11H7M8,11H10V13H8M8,8H10V10H8M11,11H13V13H11M11,8H13V10H11M20,5H4A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiKeyboardSettingsOutline = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H20V17H4V7M5,8V10H7V8H5M8,8V10H10V8H8M11,8V10H13V8H11M14,8V10H16V8H14M17,8V10H19V8H17M5,11V13H7V11H5M8,11V13H10V11H8M11,11V13H13V11H11M14,11V13H16V11H14M17,11V13H19V11H17M8,14V16H16V14H8Z\";\r\nexport var mdiKeyboardSpace = \"M3 15H5V19H19V15H21V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V15Z\";\r\nexport var mdiKeyboardTab = \"M20,18H22V6H20M11.59,7.41L15.17,11H1V13H15.17L11.59,16.58L13,18L19,12L13,6L11.59,7.41Z\";\r\nexport var mdiKeyboardTabReverse = \"M4 6H2V18H4M11 6L5 12L11 18L12.41 16.58L8.83 13H23V11H8.83L12.41 7.41L11 6Z\";\r\nexport var mdiKeyboardVariant = \"M6,16H18V18H6V16M6,13V15H2V13H6M7,15V13H10V15H7M11,15V13H13V15H11M14,15V13H17V15H14M18,15V13H22V15H18M2,10H5V12H2V10M19,12V10H22V12H19M18,12H16V10H18V12M8,12H6V10H8V12M12,12H9V10H12V12M15,12H13V10H15V12M2,9V7H4V9H2M5,9V7H7V9H5M8,9V7H10V9H8M11,9V7H13V9H11M14,9V7H16V9H14M17,9V7H22V9H17Z\";\r\nexport var mdiKhanda = \"M16 20C19.72 18 22 15.27 22 12C22 9.34 20.46 6.9 17.89 5H17.82C19 6.35 19.68 8.09 19.68 10C19.68 13 18 15 15.5 16.83C15.5 16.84 14.38 17.54 13 18.41V17.33L15 16C15 16 14.8 15.4 14.58 14.46C16.6 13.58 18 11.69 18 9.5C18 7.34 16.64 5.47 14.65 4.57C14.84 3.63 15 3 15 3L12 1L9 3C9 3 9.16 3.63 9.35 4.57C7.37 5.47 6 7.34 6 9.5C6 11.69 7.4 13.58 9.42 14.46C9.2 15.4 9 16 9 16L11 17.33V18.41C9.62 17.54 8.5 16.84 8.5 16.83C6 15 4.32 13 4.32 10C4.32 8.09 5 6.35 6.18 5H6.12C3.54 6.9 2 9.34 2 12C2 15.27 4.29 18 8 20L9 18.5L10.92 19.73L7.34 22L8 23L11 21.07V23H13V21.07L16 23L16.66 22L13.08 19.73L15 18.5L16 20M16.75 9.5C16.75 11.09 15.76 12.46 14.31 13.19C14.14 12.23 14 11.12 14 10C14 8.67 14.2 7.15 14.42 5.86C15.81 6.6 16.75 7.95 16.75 9.5M7.25 9.5C7.25 7.95 8.19 6.6 9.59 5.86C9.8 7.15 10 8.67 10 10C10 11.12 9.86 12.23 9.69 13.19C8.24 12.46 7.25 11.09 7.25 9.5Z\";\r\nexport var mdiKickstarter = \"M19.3 10.2L17.5 12L19.3 13.8C21.19 15.67 21.19 18.72 19.3 20.59C17.42 22.46 14.35 22.46 12.47 20.59L11.8 19.93C10.93 21.19 9.5 22 7.83 22C5.16 22 3 19.85 3 17.2V6.8C3 4.15 5.16 2 7.83 2C9.5 2 10.93 2.82 11.8 4.07L12.47 3.41C14.35 1.54 17.42 1.54 19.3 3.41C21.19 5.28 21.19 8.33 19.3 10.2Z\";\r\nexport var mdiKite = \"M13.69 3.46C13.35 3.15 12.96 3 12.5 3C12.05 3 11.66 3.15 11.33 3.46L5.54 9.08C5.23 9.38 5.06 9.75 5 10.2C5 10.64 5.08 11.04 5.33 11.4L11.45 19.83C11.2 20.36 10.75 20.62 10.09 20.62C9.29 20.62 8.79 20.25 8.6 19.5C8.4 18.84 8 18.27 7.38 17.8C6.76 17.34 6.1 17.1 5.41 17.1C4.36 17.1 3.5 17.5 2.85 18.3L4.21 19.42C4.5 19.03 4.92 18.84 5.41 18.84C6.21 18.84 6.71 19.21 6.9 19.95C7.09 20.62 7.5 21.19 8.12 21.67C8.74 22.15 9.4 22.4 10.09 22.4C11.33 22.4 12.28 21.83 12.94 20.7L19.68 11.39C19.93 11.04 20.03 10.64 20 10.2C19.95 9.75 19.77 9.38 19.47 9.08L13.69 3.46Z\";\r\nexport var mdiKiteOutline = \"M12.5 5.1L17.95 10.38L12.5 17.88L7.07 10.38L12.5 5.1M12.5 3C12.05 3 11.66 3.15 11.33 3.46L5.54 9.08C5.23 9.38 5.06 9.75 5 10.2C5 10.64 5.08 11.04 5.33 11.4L11.45 19.83C11.2 20.36 10.75 20.62 10.09 20.62C9.29 20.62 8.79 20.25 8.6 19.5C8.4 18.84 8 18.27 7.38 17.8C6.76 17.34 6.1 17.1 5.41 17.1C4.36 17.1 3.5 17.5 2.85 18.3L4.21 19.42C4.5 19.03 4.92 18.84 5.41 18.84C6.21 18.84 6.71 19.21 6.9 19.95C7.09 20.62 7.5 21.19 8.12 21.67S9.4 22.4 10.09 22.4C11.33 22.4 12.28 21.83 12.94 20.7L19.68 11.4C19.93 11.04 20.03 10.64 20 10.2C19.95 9.76 19.77 9.38 19.47 9.08L13.68 3.46C13.35 3.15 12.96 3 12.5 3Z\";\r\nexport var mdiKitesurfing = \"M16.5 4.5L15.5 3.43L17.92 1H20L16.5 4.5M20.96 23C19.9 23 18.9 22.75 17.96 22.25C16.12 23.25 13.81 23.25 11.97 22.25C10.13 23.25 7.82 23.25 6 22.25C4.77 22.94 3.36 23.05 2 23V21C3.41 21.05 4.77 20.9 6 20C7.74 21.25 10.21 21.25 11.97 20C13.74 21.25 16.2 21.25 17.96 20C19.17 20.9 20.54 21.05 21.94 21V23H20.96M20.35 12.26C18.3 11.5 16.14 12.61 14.08 13.36L12.39 11.5H9.58V8C11.89 8.19 14.29 7.67 15.9 5.96L14.5 4.56C13.6 5.46 12.3 6 11 6H8C6.89 6 5.95 6.92 6 8C6.07 9.35 5.67 12.73 6.45 13.87L8 16.82C7.43 17.23 6.93 17.62 6.5 18C8.09 19.5 10.65 19.17 11.97 17.5C12.91 18.59 14.45 19.3 15.9 18.83C17.45 17.77 22.74 14 20.35 12.26M11.43 14.65C11 14.89 10.16 15.37 9.82 15.61L8.97 13.59L11.46 13.5L12.16 14.25L11.43 14.65M8 1C6.9 1 6 1.9 6 3S6.9 5 8 5 10 4.11 10 3 9.11 1 8 1Z\";\r\nexport var mdiKlingon = \"M4.79 21.5L4.71 21.24C4.53 20.65 4.47 20.08 4.5 19.4C4.6 18.17 5.14 17.31 5.82 16.59C5.64 16 5.53 15.39 5.53 14.74C5.53 13 6.26 11.44 7.45 10.3C8.33 9.46 9.46 8.86 10.71 8.6C11.37 6.23 11.8 3.8 12 1.5C12.24 3.5 12.65 6.12 13.3 8.58C14.6 8.82 15.76 9.43 16.67 10.3C17.85 11.44 18.59 13 18.59 14.74C18.59 15.35 18.5 15.93 18.33 16.5C19.21 16.92 20.2 17.17 21.5 17.29L21.44 17.44C21.32 17.77 21 18 20.71 18.18L20.69 18.19C20.13 18.57 19.18 19 17.85 19C17.7 19 17.56 19 17.41 19C17.23 19 17.06 18.97 16.9 18.95C16.83 19 16.75 19.1 16.67 19.18C15.5 20.31 13.86 21 12.06 21C10.27 21 8.64 20.31 7.46 19.18C7.42 19.14 7.38 19.1 7.34 19.06C6.34 19.59 5.54 20.33 4.94 21.27L4.8 21.5M6.5 15.94C6.65 15.82 8.2 14.5 8.63 13.78L8.73 13.61C9.65 15 10.4 16.28 11.43 18.08L11.22 18.09C10.08 18.16 9.05 18.37 8.15 18.7C9.17 19.62 10.55 20.19 12.06 20.19C13.54 20.19 14.88 19.65 15.89 18.77C15.64 18.72 15.39 18.65 15.15 18.59C14.38 18.41 13.65 18.22 12.81 18.19L12.62 18.18L12.7 18C13.1 17.2 14.8 14.41 15.23 13.63L15.34 13.81C16 14.77 16.73 15.5 17.58 16.07C17.69 15.64 17.75 15.2 17.75 14.75C17.75 13.25 17.11 11.89 16.09 10.9C15.4 10.24 14.53 9.74 13.55 9.5C13.85 10.5 14.2 11.5 14.59 12.35L14.62 12.4L14.59 12.46C14.2 13.22 13.76 13.95 13.33 14.66C12.94 15.3 12.54 15.96 12.18 16.64L12.08 16.83L11.96 16.65C11.39 15.82 9.75 13.06 9.41 12.5C9.81 11.5 10.15 10.5 10.45 9.5C9.5 9.78 8.7 10.26 8.03 10.9C7 11.88 6.37 13.25 6.37 14.74C6.37 15.16 6.42 15.56 6.5 15.95\";\r\nexport var mdiKnife = \"M20.62,2C23.97,7.61 12.47,20.15 12.47,20.15L9.6,17.28L4.91,22L2.77,19.86L20.62,2Z\";\r\nexport var mdiKnifeMilitary = \"M22,2L17.39,3.75L10.46,10.68L14,14.22L20.92,7.29C22.43,5.78 22,2 22,2M8.33,10L6.92,11.39L8.33,12.8L2.68,18.46L6.21,22L11.87,16.34L13.28,17.76L14.7,16.34L8.33,10Z\";\r\nexport var mdiKnob = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M13 10H11V4.1C11.3 4 11.7 4 12 4S12.7 4 13 4.1V10Z\";\r\nexport var mdiKoala = \"M19 3C18.1 3 15.5 3 14.3 6.1C13.9 6 13.4 6 13 6H11C10.6 6 10.1 6 9.7 6.1C8.5 3 5.9 3 5 3C4 3 1 4 1 9C1 12.6 3.5 13.6 5 13.9V15C5 18.3 7.7 21 11 21H13C16.3 21 19 18.3 19 15V13.9C20.5 13.6 23 12.6 23 9C23 4 20 3 19 3M5 12V12.4C2.9 11.8 3.3 9.5 4.3 8.7C4 8.3 3 9 3 8.6C3 8.1 4.8 7.4 5.1 7.3C4.8 6.8 3.6 7 3.6 6.6C3.6 6.3 4.8 5.8 5.8 6C6.3 6.1 6.9 6.3 7.4 6.7C6 8 5 9.8 5 12M8.5 15C6.5 15 6.5 12 8.5 12C10.5 12 10.5 15 8.5 15M12.5 18H11.5C10.8 18 10.3 17.3 10.6 16.7L11.3 13.7C11.4 13.3 11.8 13.1 12.1 13C12.4 13 12.7 13.2 12.9 13.7L13.6 16.7C13.7 17.3 13.2 18 12.5 18M15.5 15C13.5 15 13.5 12 15.5 12C17.5 12 17.5 15 15.5 15M19.7 8.6C20.7 9.4 21.1 11.7 19 12.3C19.1 10.1 18.1 8 16.6 6.7C17.1 6.3 17.7 6.1 18.2 6C19.2 5.8 20.4 6.2 20.4 6.6C20.4 7 19.2 6.8 18.9 7.2C19.2 7.4 21 8.1 21 8.6C21 9 20.1 8.3 19.7 8.6Z\";\r\nexport var mdiKodi = \"M12.03,1C11.82,1 11.6,1.11 11.41,1.31C10.56,2.16 9.72,3 8.88,3.84C8.66,4.06 8.6,4.18 8.38,4.38C8.09,4.62 7.96,4.91 7.97,5.28C8,6.57 8,7.84 8,9.13C8,10.46 8,11.82 8,13.16C8,13.26 8,13.34 8.03,13.44C8.11,13.75 8.31,13.82 8.53,13.59C9.73,12.39 10.8,11.3 12,10.09C13.36,8.73 14.73,7.37 16.09,6C16.5,5.6 16.5,5.15 16.09,4.75C14.94,3.6 13.77,2.47 12.63,1.31C12.43,1.11 12.24,1 12.03,1M18.66,7.66C18.45,7.66 18.25,7.75 18.06,7.94C16.91,9.1 15.75,10.24 14.59,11.41C14.2,11.8 14.2,12.23 14.59,12.63C15.74,13.78 16.88,14.94 18.03,16.09C18.43,16.5 18.85,16.5 19.25,16.09C20.36,15 21.5,13.87 22.59,12.75C22.76,12.58 22.93,12.42 23,12.19V11.88C22.93,11.64 22.76,11.5 22.59,11.31C21.47,10.19 20.37,9.06 19.25,7.94C19.06,7.75 18.86,7.66 18.66,7.66M4.78,8.09C4.65,8.04 4.58,8.14 4.5,8.22C3.35,9.39 2.34,10.43 1.19,11.59C0.93,11.86 0.93,12.24 1.19,12.5C1.81,13.13 2.44,13.75 3.06,14.38C3.6,14.92 4,15.33 4.56,15.88C4.72,16.03 4.86,16 4.94,15.81C5,15.71 5,15.58 5,15.47C5,14.29 5,13.37 5,12.19C5,11 5,9.81 5,8.63C5,8.55 5,8.45 4.97,8.38C4.95,8.25 4.9,8.14 4.78,8.09M12.09,14.25C11.89,14.25 11.66,14.34 11.47,14.53C10.32,15.69 9.18,16.87 8.03,18.03C7.63,18.43 7.63,18.85 8.03,19.25C9.14,20.37 10.26,21.47 11.38,22.59C11.54,22.76 11.71,22.93 11.94,23H12.22C12.44,22.94 12.62,22.79 12.78,22.63C13.9,21.5 15.03,20.38 16.16,19.25C16.55,18.85 16.5,18.4 16.13,18C14.97,16.84 13.84,15.69 12.69,14.53C12.5,14.34 12.3,14.25 12.09,14.25Z\";\r\nexport var mdiKubernetes = \"M13.95 13.5H13.72C13.54 13.61 13.46 13.82 13.54 14L14.4 16.11C15.23 15.58 15.86 14.79 16.19 13.86L13.96 13.5H13.95M10.5 13.79C10.44 13.62 10.29 13.5 10.12 13.5H10.04L7.82 13.87C8.15 14.79 8.78 15.57 9.61 16.1L10.46 14.03V14C10.5 13.95 10.5 13.86 10.5 13.79M12.33 14.6C12.23 14.42 12 14.35 11.82 14.45C11.75 14.5 11.7 14.53 11.67 14.6H11.66L10.57 16.57C11.35 16.83 12.19 16.88 13 16.69C13.14 16.66 13.29 16.62 13.43 16.57L12.34 14.6H12.33M15.78 10.03L14.1 11.5L14.11 11.53C13.95 11.67 13.93 11.91 14.07 12.06C14.12 12.12 14.18 12.16 14.25 12.18L14.26 12.19L16.43 12.81C16.5 11.84 16.29 10.86 15.78 10.03M12.67 10.19C12.68 10.4 12.85 10.56 13.06 10.55C13.14 10.55 13.21 10.53 13.27 10.5H13.28L15.11 9.19C14.41 8.5 13.5 8.07 12.54 7.95L12.67 10.19M10.73 10.5C10.9 10.61 11.13 10.58 11.25 10.41C11.3 10.35 11.32 10.28 11.33 10.2H11.34L11.46 7.95C11.31 7.97 11.16 8 11 8.03C10.2 8.21 9.46 8.61 8.88 9.19L10.72 10.5H10.73M9.74 12.19C9.94 12.14 10.06 11.93 10 11.73C10 11.65 9.95 11.59 9.89 11.54V11.53L8.21 10C7.69 10.86 7.47 11.84 7.58 12.82L9.74 12.2V12.19M11.38 12.85L12 13.15L12.62 12.85L12.77 12.18L12.34 11.65H11.65L11.22 12.18L11.38 12.85M22.27 14.17L20.5 6.5C20.41 6.08 20.13 5.74 19.76 5.56L12.59 2.13C12.22 1.96 11.78 1.96 11.4 2.13L4.24 5.56C3.87 5.74 3.59 6.08 3.5 6.5L1.73 14.17C1.68 14.37 1.68 14.57 1.73 14.76C1.74 14.82 1.76 14.88 1.78 14.94C1.81 15.03 1.86 15.13 1.91 15.21C1.94 15.25 1.96 15.29 2 15.32L6.95 21.5C6.97 21.5 7 21.54 7 21.56C7.1 21.65 7.19 21.72 7.28 21.78C7.4 21.86 7.54 21.92 7.68 21.95C7.79 22 7.91 22 8 22H16.12C16.19 22 16.26 21.97 16.32 21.95C16.37 21.94 16.42 21.92 16.46 21.91C16.5 21.89 16.53 21.88 16.57 21.86C16.62 21.84 16.67 21.81 16.72 21.78C16.84 21.7 16.95 21.6 17.05 21.5L17.2 21.3L22 15.32C22.1 15.2 22.17 15.07 22.22 14.94C22.24 14.88 22.26 14.82 22.27 14.76C22.32 14.57 22.32 14.36 22.27 14.17M14.84 17.16C14.86 17.22 14.88 17.28 14.91 17.33C14.87 17.41 14.85 17.5 14.88 17.59C15 17.83 15.11 18.05 15.26 18.27C15.34 18.38 15.42 18.5 15.5 18.61C15.5 18.64 15.53 18.69 15.54 18.73C15.66 18.93 15.6 19.19 15.39 19.32S14.92 19.37 14.8 19.17C14.79 19.14 14.78 19.12 14.77 19.09C14.75 19.06 14.73 19 14.71 19C14.66 18.85 14.62 18.72 14.59 18.59C14.5 18.34 14.42 18.1 14.29 17.87C14.24 17.8 14.16 17.75 14.08 17.73L14 17.57C12.71 18.05 11.3 18.05 10.03 17.56L9.93 17.74C9.86 17.75 9.79 17.78 9.74 17.83C9.6 18.07 9.5 18.32 9.41 18.6C9.38 18.73 9.34 18.86 9.29 19C9.27 19 9.25 19.07 9.23 19.1C9.15 19.32 8.91 19.44 8.68 19.36C8.46 19.28 8.34 19.04 8.42 18.81C8.43 18.78 8.45 18.76 8.46 18.73C8.5 18.7 8.5 18.65 8.5 18.62C8.59 18.5 8.66 18.39 8.74 18.27C8.9 18.06 9.03 17.82 9.13 17.58C9.14 17.5 9.13 17.41 9.1 17.33L9.17 17.15C8 16.45 7.12 15.36 6.7 14.06L6.5 14.09C6.44 14.04 6.35 14 6.27 14C6 14.05 5.76 14.13 5.5 14.22C5.39 14.28 5.26 14.33 5.13 14.37C5.1 14.38 5.06 14.39 5 14.4C4.78 14.47 4.54 14.35 4.46 14.13C4.39 13.9 4.5 13.66 4.74 13.58C4.76 13.58 4.79 13.57 4.82 13.57V13.56H4.83L4.94 13.54C5.08 13.5 5.22 13.5 5.35 13.5C5.61 13.5 5.87 13.44 6.12 13.38C6.2 13.33 6.26 13.27 6.31 13.19L6.5 13.14C6.29 11.78 6.6 10.41 7.36 9.27L7.22 9.15C7.22 9.06 7.19 8.97 7.14 8.9C6.94 8.73 6.73 8.58 6.5 8.45C6.38 8.39 6.26 8.32 6.14 8.24C6.12 8.22 6.08 8.19 6.06 8.17L6.05 8.16C5.85 8 5.8 7.74 5.94 7.53C6.03 7.43 6.15 7.38 6.29 7.38C6.4 7.39 6.5 7.43 6.59 7.5L6.68 7.57C6.78 7.66 6.87 7.77 6.96 7.87C7.14 8.06 7.33 8.24 7.54 8.39C7.62 8.43 7.71 8.44 7.8 8.42L7.95 8.53C8.7 7.73 9.68 7.17 10.75 6.93C11 6.87 11.27 6.83 11.53 6.81L11.54 6.63C11.61 6.57 11.65 6.5 11.68 6.4C11.69 6.14 11.67 5.88 11.63 5.63C11.6 5.5 11.58 5.36 11.57 5.22V5.1C11.55 4.86 11.72 4.65 11.96 4.62S12.4 4.77 12.43 5V5.22C12.42 5.36 12.4 5.5 12.37 5.63C12.33 5.88 12.31 6.14 12.32 6.4C12.34 6.5 12.39 6.57 12.46 6.62L12.47 6.81C13.83 6.93 15.09 7.54 16.03 8.53L16.19 8.41C16.28 8.43 16.37 8.42 16.45 8.38C16.66 8.23 16.86 8.05 17.03 7.86C17.12 7.76 17.21 7.66 17.31 7.56C17.34 7.54 17.38 7.5 17.41 7.5C17.58 7.32 17.85 7.32 18 7.5C18.19 7.66 18.18 7.93 18 8.1C18 8.12 17.97 8.14 17.94 8.16C17.92 8.18 17.88 8.21 17.85 8.23C17.74 8.31 17.62 8.38 17.5 8.44C17.27 8.57 17.05 8.72 16.86 8.89C16.8 8.96 16.77 9.04 16.78 9.13L16.62 9.27C17.39 10.4 17.7 11.78 17.5 13.13L17.69 13.18C17.73 13.26 17.8 13.32 17.88 13.36C18.13 13.43 18.39 13.47 18.65 13.5H19.06C19.09 13.53 19.14 13.54 19.18 13.55C19.42 13.58 19.58 13.8 19.55 14.04C19.5 14.27 19.31 14.44 19.07 14.41C19.04 14.4 19 14.4 19 14.39V14.38C18.94 14.38 18.9 14.37 18.86 14.36C18.73 14.32 18.61 14.27 18.5 14.21C18.24 14.11 18 14.04 17.73 14C17.64 14 17.56 14 17.5 14.08C17.43 14.07 17.37 14.06 17.31 14.05C16.9 15.36 16 16.46 14.84 17.16Z\";\r\nexport var mdiLabel = \"M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z\";\r\nexport var mdiLabelMultiple = \"M4 19H13L11 21H4C3.5 21 2.97 20.79 2.59 20.41C2.21 20.03 2 19.5 2 19V9H4V19M17.63 5.84C17.27 5.33 16.67 5 16 5H8C6.9 5 6 5.9 6 7V15C6 16.1 6.9 17 8 17H16C16.67 17 17.27 16.66 17.63 16.15L22 11L17.63 5.84Z\";\r\nexport var mdiLabelMultipleOutline = \"M4 18H13L11 20H4C3.5 20 2.97 19.79 2.59 19.41C2.21 19.03 2 18.5 2 18V8H4V18M17.63 4.84C17.27 4.33 16.67 4 16 4H8C6.9 4 6 4.9 6 6V14C6 15.1 6.9 16 8 16H16C16.67 16 17.27 15.66 17.63 15.15L22 10L17.63 4.84M16 14H8V6H16L19.55 10Z\";\r\nexport var mdiLabelOff = \"M2,4.27L3.28,3L20,19.72L18.73,21L16.63,18.9C16.43,18.96 16.22,19 16,19H5A2,2 0 0,1 3,17V7C3,6.5 3.17,6.07 3.46,5.73L2,4.27M17.63,5.84L22,12L19,16.2L7.83,5H16C16.67,5 17.27,5.33 17.63,5.84Z\";\r\nexport var mdiLabelOffOutline = \"M2,4.27L3.28,3L20,19.72L18.73,21L16.63,18.9C16.43,18.96 16.22,19 16,19H5A2,2 0 0,1 3,17V7C3,6.5 3.17,6.07 3.46,5.73L2,4.27M5,17H14.73L5,7.27V17M19.55,12L16,7H9.82L7.83,5H16C16.67,5 17.27,5.33 17.63,5.84L22,12L19,16.2L17.59,14.76L19.55,12Z\";\r\nexport var mdiLabelOutline = \"M16,17H5V7H16L19.55,12M17.63,5.84C17.27,5.33 16.67,5 16,5H5A2,2 0 0,0 3,7V17A2,2 0 0,0 5,19H16C16.67,19 17.27,18.66 17.63,18.15L22,12L17.63,5.84Z\";\r\nexport var mdiLabelPercent = \"M17.63 5.84C17.27 5.33 16.67 5 16 5H5C3.9 5 3 5.9 3 7V17C3 18.11 3.9 19 5 19H16C16.67 19 17.27 18.66 17.63 18.15L22 12L17.63 5.84M8.45 8.03C9.23 8.03 9.87 8.67 9.87 9.45S9.23 10.87 8.45 10.87 7.03 10.23 7.03 9.45 7.67 8.03 8.45 8.03M13.55 15.97C12.77 15.97 12.13 15.33 12.13 14.55S12.77 13.13 13.55 13.13 14.97 13.77 14.97 14.55 14.33 15.97 13.55 15.97M8.2 16L7 14.8L13.8 8L15 9.2L8.2 16Z\";\r\nexport var mdiLabelPercentOutline = \"M16 17H5V7H16L19.55 12M17.63 5.84C17.27 5.33 16.67 5 16 5H5C3.9 5 3 5.9 3 7V17C3 18.11 3.9 19 5 19H16C16.67 19 17.27 18.66 17.63 18.15L22 12L17.63 5.84M13.8 8L15 9.2L8.2 16L7 14.8M8.45 8.03C9.23 8.03 9.87 8.67 9.87 9.45S9.23 10.87 8.45 10.87 7.03 10.23 7.03 9.45 7.67 8.03 8.45 8.03M13.55 13.13C14.33 13.13 14.97 13.77 14.97 14.55C14.97 15.33 14.33 15.97 13.55 15.97C12.77 15.97 12.13 15.33 12.13 14.55C12.13 13.77 12.77 13.13 13.55 13.13Z\";\r\nexport var mdiLabelVariant = \"M3.5,19L8.34,12L3.5,5H14.5C15.17,5 15.72,5.3 16.13,5.86L20.5,12L16.13,18.14C15.72,18.7 15.17,19 14.5,19H3.5Z\";\r\nexport var mdiLabelVariantOutline = \"M6.5,17H15L18.5,12L15,7H6.5L10,12L6.5,17M15,19H3L7.5,12L3,5H15C15.69,5 16.23,5.3 16.64,5.86L21,12L16.64,18.14C16.23,18.7 15.69,19 15,19Z\";\r\nexport var mdiLadder = \"M14 1V3H10V1H8V22H10V20H14V22H16V1H14M14 5V8H10V5H14M14 10V13H10V10H14M10 18V15H14V18H10Z\";\r\nexport var mdiLadybug = \"M12,5C12.74,5 13.47,5.1 14.15,5.29L15.78,2.46C16.06,2 16.67,1.82 17.15,2.1C17.63,2.37 17.79,3 17.5,3.46L16,6.07C17.22,6.78 18.23,7.79 18.93,9H5.07C5.77,7.79 6.78,6.78 8,6.07L6.5,3.46C6.21,3 6.37,2.37 6.85,2.1C7.33,1.82 7.94,2 8.22,2.46L9.85,5.29C10.53,5.1 11.26,5 12,5M20,13C20,17.17 16.82,20.59 12.75,20.97V10.5H19.6C19.86,11.29 20,12.13 20,13M4,13C4,12.13 4.14,11.29 4.4,10.5H11.25V20.97C7.18,20.59 4,17.17 4,13Z\";\r\nexport var mdiLambda = \"M6,20L10.16,7.91L9.34,6H8V4H10C10.42,4 10.78,4.26 10.93,4.63L16.66,18H18V20H16C15.57,20 15.21,19.73 15.07,19.36L11.33,10.65L8.12,20H6Z\";\r\nexport var mdiLamp = \"M8,2H16L20,14H4L8,2M11,15H13V20H18V22H6V20H11V15Z\";\r\nexport var mdiLampOutline = \"M14.56 4L17.23 12H6.78L9.44 4H14.56M16 2H8L4 14H20L16 2M11 15H13V20H18V22H6V20H11V15Z\";\r\nexport var mdiLamps = \"M10 2L12 9H2L4 2M6 10H8V20H11V22H3V20H6V10M20 8L22 15H12L14 8M16 16H18V20H21V22H13V20H16V16Z\";\r\nexport var mdiLampsOutline = \"M8.5 4L9.35 7H4.65L5.5 4H8.5M10 2H4L2 9H12L10 2M6 10H8V20H11V22H3V20H6V10M18.5 10L19.35 13H14.65L15.5 10H18.5M20 8H14L12 15H22L20 8M16 16H18V20H21V22H13V20H16V16Z\";\r\nexport var mdiLan = \"M10,2C8.89,2 8,2.89 8,4V7C8,8.11 8.89,9 10,9H11V11H2V13H6V15H5C3.89,15 3,15.89 3,17V20C3,21.11 3.89,22 5,22H9C10.11,22 11,21.11 11,20V17C11,15.89 10.11,15 9,15H8V13H16V15H15C13.89,15 13,15.89 13,17V20C13,21.11 13.89,22 15,22H19C20.11,22 21,21.11 21,20V17C21,15.89 20.11,15 19,15H18V13H22V11H13V9H14C15.11,9 16,8.11 16,7V4C16,2.89 15.11,2 14,2H10M10,4H14V7H10V4M5,17H9V20H5V17M15,17H19V20H15V17Z\";\r\nexport var mdiLanCheck = \"M4 1C2.89 1 2 1.89 2 3V7C2 8.11 2.89 9 4 9H1V11H13V9H10C11.11 9 12 8.11 12 7V3C12 1.89 11.11 1 10 1H4M4 3H10V7H4V3M14 13C12.89 13 12 13.89 12 15V19C12 20.11 12.89 21 14 21H11V23H23V21H20C21.11 21 22 20.11 22 19V15C22 13.89 21.11 13 20 13H14M14 15H20V19H14V15M5.5 20.5L10.5 15.5L9 14L5.5 17.5L3.5 15.5L2 17L5.5 20.5Z\";\r\nexport var mdiLanConnect = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M3,13V18L3,20H10V18H5V13H3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M14,15H20V19H14V15Z\";\r\nexport var mdiLanDisconnect = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M3.88,13.46L2.46,14.88L4.59,17L2.46,19.12L3.88,20.54L6,18.41L8.12,20.54L9.54,19.12L7.41,17L9.54,14.88L8.12,13.46L6,15.59L3.88,13.46M14,15H20V19H14V15Z\";\r\nexport var mdiLanPending = \"M4,1C2.89,1 2,1.89 2,3V7C2,8.11 2.89,9 4,9H1V11H13V9H10C11.11,9 12,8.11 12,7V3C12,1.89 11.11,1 10,1H4M4,3H10V7H4V3M3,12V14H5V12H3M14,13C12.89,13 12,13.89 12,15V19C12,20.11 12.89,21 14,21H11V23H23V21H20C21.11,21 22,20.11 22,19V15C22,13.89 21.11,13 20,13H14M3,15V17H5V15H3M14,15H20V19H14V15M3,18V20H5V18H3M6,18V20H8V18H6M9,18V20H11V18H9Z\";\r\nexport var mdiLandFields = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M15.3 4C14.5 5.1 14 6.5 14 8H10C10 6.4 10.8 4.9 12 4H15.3M14 14H10C10 12.5 9.5 11.1 8.7 10H12C13.2 10.9 14 12.4 14 14M4 4H9.3C8.5 5.1 8 6.5 8 8H4V4M4 10H6C7.2 10.9 8 12.3 8 14H4V10M4 20V16H9.3C8.5 17.1 8 18.5 8 20H4M10 20C10 18.4 10.8 16.9 12 16H15.3C14.5 17.1 14 18.5 14 20H10M20 20H16C16 18.4 16.8 16.9 18 16H20V20M20 14H16C16 12.5 15.5 11.1 14.7 10H20V14M20 8H16C16 6.4 16.8 4.9 18 4H20V8Z\";\r\nexport var mdiLandPlots = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M4 4H8V14H4V4M4 20V16H8V20H4M20 20H10V10H20V20M20 8H10V4H20V8Z\";\r\nexport var mdiLandPlotsCircle = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M13 7.5C13 5.6 14.6 4 16.5 4C18.4 4 20 5.6 20 7.5C20 9.4 18.4 11 16.5 11C14.6 11 13 9.4 13 7.5M4 4H11V11H4V4M4 20V13H11V20H4M20 20H13V13H20V20Z\";\r\nexport var mdiLandPlotsCircleVariant = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M20 9C20 11.8 17.8 14 15 14C12.2 14 10 11.8 10 9C10 6.2 12.2 4 15 4C17.8 4 20 6.2 20 9M4 4H8V14H4V4M4 20V16H8V20H4M20 20H10V16H20V20Z\";\r\nexport var mdiLandPlotsMarker = \"M4 2H20C21.1 2 22 2.9 22 4V10H10V20H14.55C14.73 20.3 14.91 20.58 15.09 20.84C15.38 21.27 15.66 21.66 15.92 22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2M8 4H4V14H8V4M4 16V20H8V16H4M10 8H20V4H10V8M18.5 22C18.5 22 17.92 21.35 17.23 20.41C17.14 20.28 17.04 20.14 16.94 20C16 18.66 15 16.89 15 15.5C15 13.6 16.6 12 18.5 12C19.03 12 19.54 12.13 20 12.35C21.17 12.92 22 14.13 22 15.5C22 17.04 20.77 19.04 19.77 20.41C19.08 21.35 18.5 22 18.5 22M17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6Z\";\r\nexport var mdiLandRowsHorizontal = \"M22 20V4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20M4 6.5V4H20V6.5H4M4 11V8.5H20V11H4M4 15.5V13H20V15.5H4M4 20V17.5H20V20H4Z\";\r\nexport var mdiLandRowsVertical = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M6.5 20H4V4H6.5V20M11 20H8.5V4H11V20M15.5 20H13V4H15.5V20M20 20H17.5V4H20V20Z\";\r\nexport var mdiLandslide = \"M15.47 13.79L12.89 12.76L6 15.05L2 13.5V15.61L6 16.95L15.47 13.79M10.57 11.42L8 8H2V11.61L6 12.95L10.57 11.42M6 19.05L2 17.72V22H22L17.03 15.38L6 19.05M17 6V1L12 0L9 2V6L12 8L17 6M18.5 7L16 9V12L18.5 14L23 12V8L18.5 7Z\";\r\nexport var mdiLandslideOutline = \"M11 12L8 8H2V22H22L16 14L11 12M12.53 14.77L6 16.95L4 16.28V14.39L6 15.06L9.95 13.74L12.53 14.77M7 10L8.57 12.09L6 12.95L4 12.28V10H7M4 20V18.39L6 19.06L15.03 16.05L18 20H4M17 6V1L12 0L9 2V6L12 8L17 6M11 3.07L12.42 2.12L15 2.64V4.65L12.23 5.76L11 4.93V3.07M18.5 7L16 9V12L18.5 14L23 12V8L18.5 7M21 10.7L18.8 11.68L18 11.04V9.96L19 9.16L21 9.6V10.7Z\";\r\nexport var mdiLanguageC = \"M15.45,15.97L15.87,18.41C15.61,18.55 15.19,18.68 14.63,18.8C14.06,18.93 13.39,19 12.62,19C10.41,18.96 8.75,18.3 7.64,17.04C6.5,15.77 5.96,14.16 5.96,12.21C6,9.9 6.68,8.13 8,6.89C9.28,5.64 10.92,5 12.9,5C13.65,5 14.3,5.07 14.84,5.19C15.38,5.31 15.78,5.44 16.04,5.59L15.44,8.08L14.4,7.74C14,7.64 13.53,7.59 13,7.59C11.85,7.58 10.89,7.95 10.14,8.69C9.38,9.42 9,10.54 8.96,12.03C8.97,13.39 9.33,14.45 10.04,15.23C10.75,16 11.74,16.4 13.03,16.41L14.36,16.29C14.79,16.21 15.15,16.1 15.45,15.97Z\";\r\nexport var mdiLanguageCpp = \"M10.5,15.97L10.91,18.41C10.65,18.55 10.23,18.68 9.67,18.8C9.1,18.93 8.43,19 7.66,19C5.45,18.96 3.79,18.3 2.68,17.04C1.56,15.77 1,14.16 1,12.21C1.05,9.9 1.72,8.13 3,6.89C4.32,5.64 5.96,5 7.94,5C8.69,5 9.34,5.07 9.88,5.19C10.42,5.31 10.82,5.44 11.08,5.59L10.5,8.08L9.44,7.74C9.04,7.64 8.58,7.59 8.05,7.59C6.89,7.58 5.93,7.95 5.18,8.69C4.42,9.42 4.03,10.54 4,12.03C4,13.39 4.37,14.45 5.08,15.23C5.79,16 6.79,16.4 8.07,16.41L9.4,16.29C9.83,16.21 10.19,16.1 10.5,15.97M11,11H13V9H15V11H17V13H15V15H13V13H11V11M18,11H20V9H22V11H24V13H22V15H20V13H18V11Z\";\r\nexport var mdiLanguageCsharp = \"M11.5,15.97L11.91,18.41C11.65,18.55 11.23,18.68 10.67,18.8C10.1,18.93 9.43,19 8.66,19C6.45,18.96 4.79,18.3 3.68,17.04C2.56,15.77 2,14.16 2,12.21C2.05,9.9 2.72,8.13 4,6.89C5.32,5.64 6.96,5 8.94,5C9.69,5 10.34,5.07 10.88,5.19C11.42,5.31 11.82,5.44 12.08,5.59L11.5,8.08L10.44,7.74C10.04,7.64 9.58,7.59 9.05,7.59C7.89,7.58 6.93,7.95 6.18,8.69C5.42,9.42 5.03,10.54 5,12.03C5,13.39 5.37,14.45 6.08,15.23C6.79,16 7.79,16.4 9.07,16.41L10.4,16.29C10.83,16.21 11.19,16.1 11.5,15.97M13.89,19L14.5,15H13L13.34,13H14.84L15.16,11H13.66L14,9H15.5L16.11,5H18.11L17.5,9H18.5L19.11,5H21.11L20.5,9H22L21.66,11H20.16L19.84,13H21.34L21,15H19.5L18.89,19H16.89L17.5,15H16.5L15.89,19H13.89M16.84,13H17.84L18.16,11H17.16L16.84,13Z\";\r\nexport var mdiLanguageCss3 = \"M5,3L4.35,6.34H17.94L17.5,8.5H3.92L3.26,11.83H16.85L16.09,15.64L10.61,17.45L5.86,15.64L6.19,14H2.85L2.06,18L9.91,21L18.96,18L20.16,11.97L20.4,10.76L21.94,3H5Z\";\r\nexport var mdiLanguageFortran = \"M5 4V6H6C6.55 6 7 6.45 7 7V17C7 17.55 6.55 18 6 18H5V20H14V18H12C11.45 18 11 17.55 11 17V13H13C13.55 13 14 13.45 14 14V16H16V8H14V10C14 10.55 13.55 11 13 11H11V6H16C17.11 6 18 7.34 18 9V10H20V4Z\";\r\nexport var mdiLanguageGo = \"M2.64,10.33L2.62,10.27L2.84,10L2.96,9.92H6.8L6.83,10L6.65,10.26L6.54,10.32L2.64,10.33M1.03,11.31L1,11.26L1.22,10.97L1.34,10.91H6.24L6.29,11L6.21,11.24L6.11,11.31H1.03M3.63,12.3L3.59,12.24L3.75,11.96L3.85,11.9H6L6.07,11.97L6.05,12.22L5.97,12.3H3.63M14.78,10.14L13,10.61C12.81,10.65 12.8,10.66 12.66,10.5C12.5,10.32 12.39,10.21 12.16,10.1C11.5,9.76 10.83,9.86 10.22,10.25C9.5,10.73 9.11,11.42 9.12,12.3C9.13,13.16 9.72,13.87 10.57,14C11.3,14.09 11.91,13.83 12.4,13.28L12.69,12.89H10.62C10.4,12.89 10.35,12.75 10.42,12.57L10.97,11.39C11,11.33 11.08,11.22 11.24,11.22H14.68C14.83,10.72 15.09,10.26 15.43,9.81C16.21,8.78 17.16,8.24 18.43,8C19.5,7.82 20.56,7.93 21.5,8.57C22.34,9.15 22.87,9.93 23,10.96C23.19,12.41 22.76,13.59 21.76,14.61C21.05,15.33 20.18,15.78 19.19,16L18.33,16.08C17.35,16.06 16.46,15.78 15.71,15.13C15.19,14.68 14.83,14.14 14.65,13.5C14.5,13.74 14.38,13.97 14.21,14.2C13.44,15.22 12.43,15.85 11.15,16C10.1,16.16 9.12,15.95 8.26,15.31C7.47,14.71 7,13.91 6.9,12.92C6.76,11.75 7.1,10.7 7.81,9.78C8.57,8.78 9.58,8.15 10.82,7.92C11.82,7.74 12.79,7.86 13.66,8.44C14.23,8.82 14.63,9.34 14.9,9.96C14.94,10.05 14.9,10.11 14.78,10.14M20.89,11.74L20.86,11.38C20.67,10.32 19.69,9.72 18.67,9.95C17.66,10.17 17,10.8 16.79,11.81C16.6,12.65 17,13.5 17.77,13.84C18.36,14.1 18.96,14.06 19.53,13.78C20.37,13.35 20.84,12.66 20.89,11.74Z\";\r\nexport var mdiLanguageHaskell = \"M2.08,19L6.75,12L2.08,5H5.58L10.25,12L5.58,19H2.08M6.75,19L11.42,12L6.75,5H10.25L19.59,19H16.09L13.17,14.63L10.25,19H6.75M18.03,14.92L16.5,12.58H21.92V14.92H18.03M15.7,11.42L14.14,9.08H21.92V11.42H15.7Z\";\r\nexport var mdiLanguageHtml5 = \"M12,17.56L16.07,16.43L16.62,10.33H9.38L9.2,8.3H16.8L17,6.31H7L7.56,12.32H14.45L14.22,14.9L12,15.5L9.78,14.9L9.64,13.24H7.64L7.93,16.43L12,17.56M4.07,3H19.93L18.5,19.2L12,21L5.5,19.2L4.07,3Z\";\r\nexport var mdiLanguageJava = \"M16.5,6.08C16.5,6.08 9.66,7.79 12.94,11.56C13.91,12.67 12.69,13.67 12.69,13.67C12.69,13.67 15.14,12.42 14,10.82C12.94,9.35 12.14,8.62 16.5,6.08M12.03,7.28C16.08,4.08 14,2 14,2C14.84,5.3 11.04,6.3 9.67,8.36C8.73,9.76 10.13,11.27 12,13C11.29,11.3 8.78,9.84 12.03,7.28M9.37,17.47C6.29,18.33 11.25,20.1 15.16,18.43C14.78,18.28 14.41,18.1 14.06,17.89C12.7,18.2 11.3,18.26 9.92,18.07C8.61,17.91 9.37,17.47 9.37,17.47M14.69,15.79C12.94,16.17 11.13,16.26 9.35,16.05C8.04,15.92 8.9,15.28 8.9,15.28C5.5,16.41 10.78,17.68 15.5,16.3C15.21,16.19 14.93,16 14.69,15.79M18.11,19.09C18.11,19.09 18.68,19.56 17.5,19.92C15.22,20.6 8.07,20.81 6.09,19.95C5.38,19.64 6.72,19.21 7.14,19.12C7.37,19.06 7.6,19.04 7.83,19.04C7.04,18.5 2.7,20.14 5.64,20.6C13.61,21.9 20.18,20 18.11,19.09M15.37,14.23C15.66,14.04 15.97,13.88 16.29,13.74C16.29,13.74 14.78,14 13.27,14.14C11.67,14.3 10.06,14.32 8.46,14.2C6.11,13.89 9.75,13 9.75,13C8.65,13 7.57,13.26 6.59,13.75C4.54,14.75 11.69,15.2 15.37,14.23M16.27,16.65C16.25,16.69 16.23,16.72 16.19,16.75C21.2,15.44 19.36,12.11 16.96,12.94C16.83,13 16.72,13.08 16.65,13.19C16.79,13.14 16.93,13.1 17.08,13.07C18.28,12.83 20,14.7 16.27,16.65M16.4,21.26C13.39,21.78 10.31,21.82 7.28,21.4C7.28,21.4 7.74,21.78 10.09,21.93C13.69,22.16 19.22,21.8 19.35,20.1C19.38,20.11 19.12,20.75 16.4,21.26Z\";\r\nexport var mdiLanguageJavascript = \"M3,3H21V21H3V3M7.73,18.04C8.13,18.89 8.92,19.59 10.27,19.59C11.77,19.59 12.8,18.79 12.8,17.04V11.26H11.1V17C11.1,17.86 10.75,18.08 10.2,18.08C9.62,18.08 9.38,17.68 9.11,17.21L7.73,18.04M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86Z\";\r\nexport var mdiLanguageKotlin = \"M2 2H22L12 12L22 22H2Z\";\r\nexport var mdiLanguageLua = \"M10.5,5A8.5,8.5 0 0,0 2,13.5A8.5,8.5 0 0,0 10.5,22A8.5,8.5 0 0,0 19,13.5A8.5,8.5 0 0,0 10.5,5M13.5,13A2.5,2.5 0 0,1 11,10.5A2.5,2.5 0 0,1 13.5,8A2.5,2.5 0 0,1 16,10.5A2.5,2.5 0 0,1 13.5,13M19.5,2A2.5,2.5 0 0,0 17,4.5A2.5,2.5 0 0,0 19.5,7A2.5,2.5 0 0,0 22,4.5A2.5,2.5 0 0,0 19.5,2\";\r\nexport var mdiLanguageMarkdown = \"M20.56 18H3.44C2.65 18 2 17.37 2 16.59V7.41C2 6.63 2.65 6 3.44 6H20.56C21.35 6 22 6.63 22 7.41V16.59C22 17.37 21.35 18 20.56 18M6.81 15.19V11.53L8.73 13.88L10.65 11.53V15.19H12.58V8.81H10.65L8.73 11.16L6.81 8.81H4.89V15.19H6.81M19.69 12H17.77V8.81H15.85V12H13.92L16.81 15.28L19.69 12Z\";\r\nexport var mdiLanguageMarkdownOutline = \"M20.56 18H3.44C2.65 18 2 17.37 2 16.59V7.41C2 6.63 2.65 6 3.44 6H20.56C21.35 6 22 6.63 22 7.41V16.59C22 17.37 21.35 18 20.56 18M3.44 6.94C3.18 6.94 2.96 7.15 2.96 7.41V16.6C2.96 16.85 3.18 17.06 3.44 17.06H20.56C20.82 17.06 21.04 16.85 21.04 16.6V7.41C21.04 7.15 20.82 6.94 20.56 6.94H3.44M4.89 15.19V8.81H6.81L8.73 11.16L10.65 8.81H12.58V15.19H10.65V11.53L8.73 13.88L6.81 11.53V15.19H4.89M16.9 15.19L14 12.09H15.94V8.81H17.86V12.09H19.79L16.9 15.19\";\r\nexport var mdiLanguagePhp = \"M12,18.08C5.37,18.08 0,15.36 0,12C0,8.64 5.37,5.92 12,5.92C18.63,5.92 24,8.64 24,12C24,15.36 18.63,18.08 12,18.08M6.81,10.13C7.35,10.13 7.72,10.23 7.9,10.44C8.08,10.64 8.12,11 8.03,11.47C7.93,12 7.74,12.34 7.45,12.56C7.17,12.78 6.74,12.89 6.16,12.89H5.29L5.82,10.13H6.81M3.31,15.68H4.75L5.09,13.93H6.32C6.86,13.93 7.3,13.87 7.65,13.76C8,13.64 8.32,13.45 8.61,13.18C8.85,12.96 9.04,12.72 9.19,12.45C9.34,12.19 9.45,11.89 9.5,11.57C9.66,10.79 9.55,10.18 9.17,9.75C8.78,9.31 8.18,9.1 7.35,9.1H4.59L3.31,15.68M10.56,7.35L9.28,13.93H10.7L11.44,10.16H12.58C12.94,10.16 13.18,10.22 13.29,10.34C13.4,10.46 13.42,10.68 13.36,11L12.79,13.93H14.24L14.83,10.86C14.96,10.24 14.86,9.79 14.56,9.5C14.26,9.23 13.71,9.1 12.91,9.1H11.64L12,7.35H10.56M18,10.13C18.55,10.13 18.91,10.23 19.09,10.44C19.27,10.64 19.31,11 19.22,11.47C19.12,12 18.93,12.34 18.65,12.56C18.36,12.78 17.93,12.89 17.35,12.89H16.5L17,10.13H18M14.5,15.68H15.94L16.28,13.93H17.5C18.05,13.93 18.5,13.87 18.85,13.76C19.2,13.64 19.5,13.45 19.8,13.18C20.04,12.96 20.24,12.72 20.38,12.45C20.53,12.19 20.64,11.89 20.7,11.57C20.85,10.79 20.74,10.18 20.36,9.75C20,9.31 19.37,9.1 18.54,9.1H15.79L14.5,15.68Z\";\r\nexport var mdiLanguagePython = \"M19.14,7.5A2.86,2.86 0 0,1 22,10.36V14.14A2.86,2.86 0 0,1 19.14,17H12C12,17.39 12.32,17.96 12.71,17.96H17V19.64A2.86,2.86 0 0,1 14.14,22.5H9.86A2.86,2.86 0 0,1 7,19.64V15.89C7,14.31 8.28,13.04 9.86,13.04H15.11C16.69,13.04 17.96,11.76 17.96,10.18V7.5H19.14M14.86,19.29C14.46,19.29 14.14,19.59 14.14,20.18C14.14,20.77 14.46,20.89 14.86,20.89A0.71,0.71 0 0,0 15.57,20.18C15.57,19.59 15.25,19.29 14.86,19.29M4.86,17.5C3.28,17.5 2,16.22 2,14.64V10.86C2,9.28 3.28,8 4.86,8H12C12,7.61 11.68,7.04 11.29,7.04H7V5.36C7,3.78 8.28,2.5 9.86,2.5H14.14C15.72,2.5 17,3.78 17,5.36V9.11C17,10.69 15.72,11.96 14.14,11.96H8.89C7.31,11.96 6.04,13.24 6.04,14.82V17.5H4.86M9.14,5.71C9.54,5.71 9.86,5.41 9.86,4.82C9.86,4.23 9.54,4.11 9.14,4.11C8.75,4.11 8.43,4.23 8.43,4.82C8.43,5.41 8.75,5.71 9.14,5.71Z\";\r\nexport var mdiLanguageR = \"M12,4.29C6.5,4.29 2,7.29 2,11C2,14.28 5.56,17 10.24,17.58V19.71H13.65V17.59C14.5,17.5 15.29,17.34 16.04,17.11L17.42,19.71H21.28L18.96,15.8C20.83,14.58 22,12.87 22,11C22,7.29 17.5,4.29 12,4.29V4.29M13.53,6.91C17.73,6.91 20.83,8.31 20.83,11.5C20.83,13.21 19.91,14.41 18.41,15.15C18.32,15.1 18.24,15.05 18.19,15C17.83,14.84 17.23,14.66 17.23,14.66C17.23,14.66 20.21,14.44 20.21,11.47C20.21,8.5 17.09,8.45 17.09,8.45H10.24V15.61C7.69,14.87 5.93,13.3 5.93,11.5C5.93,8.96 9.33,6.91 13.53,6.91M13.68,10.89H15.75C15.75,10.89 16.7,10.84 16.7,11.83C16.7,12.8 15.75,12.8 15.75,12.8H13.68V10.89M13.65,15.3H14.57C14.75,15.3 14.84,15.35 15,15.5C15.13,15.6 15.27,15.79 15.39,15.96C14.84,16.03 14.26,16.06 13.65,16.06V15.3Z\";\r\nexport var mdiLanguageRuby = \"M18.8,2.07C21.32,2.5 22.04,4.23 22,6.04V6L20.86,20.93L6.08,21.94H6.09C4.86,21.89 2.13,21.77 2,17.95L3.37,15.45L6.14,21.91L8.5,14.29L8.45,14.3L8.47,14.28L16.18,16.74L14.19,8.96L21.54,8.5L15.75,3.76L18.8,2.06V2.07M2,17.91V17.93L2,17.91V17.91M6.28,6.23C9.24,3.28 13.07,1.54 14.54,3.03C16,4.5 14.46,8.12 11.5,11.06C8.5,14 4.73,15.84 3.26,14.36C1.79,12.87 3.3,9.17 6.27,6.23H6.28Z\";\r\nexport var mdiLanguageRubyOnRails = \"M19.8,16.7C19.8,16.7 21.6,16.5 21.6,14.3C21.6,12.1 19.5,11.8 19.5,11.8H15.7V19H17.6V17.3L19.3,19H22L19.8,16.7M19,15.3H17.5V13.7H19C19,13.7 19.4,13.9 19.4,14.5C19.5,15.1 19,15.3 19,15.3M21.3,8.2V8.4C13.2,6.1 10,13.2 10.6,18.7C10.6,18.7 4.9,18.7 4.3,18.7C5,13.3 11.8,2.6 21.3,8.2M20.5,6.9C19.8,6.6 19.1,6.3 18.4,6.1L18.5,4.8L20.6,5.6L20.5,6.9M18.5,8.7C19.2,8.7 19.9,8.8 20.6,9L20.5,10.2L18.7,10L18.5,8.7M13.9,5.8L13.5,4.6L15.6,4.4L16,5.7C15.8,5.7 14.1,5.8 13.9,5.8M15.2,9.5C15.6,9.3 16.3,9 17.2,8.8L17.6,10L15.8,10.7L15.2,9.5M11.8,6.5C11.2,6.8 10.6,7.1 10,7.5L9.2,6.2L11,5.2L11.8,6.5M14.3,10.1L15.1,11.3L14,12.6L12.9,11.6C13.2,11 13.7,10.5 14.3,10.1M11.6,15C11.7,14.2 11.9,13.5 12.2,12.7L13.4,13.7L13.1,15.6L11.6,15M7.9,9.3C7.4,9.8 6.9,10.4 6.5,10.9L5.2,9.8L6.7,8.2L7.9,9.3M4.8,13.7C4.4,14.5 4.1,15.3 3.8,16L2,15.3L2.9,13L4.8,13.7M11.5,16.3L13.3,16.9L13.6,18.9L11.6,18.4C11.6,18.2 11.5,17.5 11.5,16.3Z\";\r\nexport var mdiLanguageRust = \"M21.9 11.7L21 11.2V11L21.7 10.3C21.8 10.2 21.8 10 21.7 9.9L21.6 9.8L20.7 9.5C20.7 9.4 20.7 9.3 20.6 9.3L21.2 8.5C21.3 8.4 21.3 8.2 21.1 8.1C21.1 8.1 21 8.1 21 8L20 7.8C20 7.7 19.9 7.7 19.9 7.6L20.3 6.7V6.4C20.2 6.3 20.1 6.3 20 6.3H19C19 6.3 19 6.2 18.9 6.2L19.1 5.2C19.1 5 19 4.9 18.9 4.9H18.8L17.8 5.1C17.8 5 17.7 5 17.6 4.9V3.9C17.6 3.7 17.5 3.6 17.3 3.6H17.2L16.3 4H16.2L16 3C16 2.8 15.8 2.7 15.7 2.8H15.6L14.8 3.4C14.7 3.4 14.6 3.4 14.6 3.3L14.3 2.4C14.2 2.3 14.1 2.2 13.9 2.2C13.9 2.2 13.8 2.2 13.8 2.3L13 3H12.8L12.3 2.2C12.2 2 12 2 11.8 2L11.7 2.1L11.2 3H11L10.3 2.3C10.2 2.2 10 2.2 9.9 2.3L9.8 2.4L9.5 3.3C9.4 3.3 9.3 3.3 9.3 3.4L8.5 2.8C8.3 2.7 8.1 2.7 8 2.9V3L7.8 4C7.8 4 7.7 4 7.6 4.1L6.7 3.7C6.6 3.6 6.4 3.7 6.3 3.8V4.9C6.3 5 6.2 5 6.2 5.1L5.2 4.9C5 4.8 4.9 4.9 4.9 5.1V5.2L5.1 6.2C5 6.2 5 6.3 4.9 6.3H3.9C3.7 6.3 3.6 6.4 3.6 6.6V6.7L4 7.6V7.8L3 8C2.8 8 2.7 8.2 2.7 8.3V8.4L3.3 9.2C3.3 9.3 3.3 9.4 3.2 9.4L2.4 9.8C2.3 9.9 2.2 10 2.2 10.2C2.2 10.2 2.2 10.3 2.3 10.3L3 11V11.2L2.2 11.7C2 11.8 2 12 2 12.1L2.1 12.2L3 12.8V13L2.3 13.7C2.2 13.8 2.2 14 2.3 14.1L2.4 14.2L3.3 14.5C3.3 14.6 3.3 14.7 3.4 14.7L2.8 15.5C2.7 15.6 2.7 15.8 2.9 15.9C2.9 15.9 3 15.9 3 16L4 16.2C4 16.3 4.1 16.3 4.1 16.4L3.7 17.3C3.6 17.4 3.7 17.6 3.8 17.7H4.9C5 17.7 5 17.8 5.1 17.8L4.9 18.8C4.9 19 5 19.1 5.1 19.1H5.2L6.2 18.9C6.2 19 6.3 19 6.4 19.1V20.1C6.4 20.3 6.5 20.4 6.7 20.4H6.8L7.7 20H7.8L8 21C8 21.2 8.2 21.3 8.3 21.2H8.4L9.2 20.6C9.3 20.6 9.4 20.6 9.4 20.7L9.7 21.6C9.8 21.7 9.9 21.8 10.1 21.8C10.1 21.8 10.2 21.8 10.2 21.7L11 21H11.2L11.7 21.8C11.8 21.9 12 22 12.1 21.9L12.2 21.8L12.7 21H12.9L13.6 21.7C13.7 21.8 13.9 21.8 14 21.7L14.1 21.6L14.4 20.7C14.5 20.7 14.6 20.7 14.6 20.6L15.4 21.2C15.5 21.3 15.7 21.3 15.8 21.1C15.8 21.1 15.8 21 15.9 21L16.1 20C16.2 20 16.2 19.9 16.3 19.9L17.2 20.3C17.3 20.4 17.5 20.3 17.6 20.2V19.1L17.8 18.9L18.8 19.1C19 19.1 19.1 19 19.1 18.9V18.8L18.9 17.8L19.1 17.6H20.1C20.3 17.6 20.4 17.5 20.4 17.3V17.2L20 16.3C20 16.2 20.1 16.2 20.1 16.1L21.1 15.9C21.3 15.9 21.4 15.7 21.3 15.6V15.5L20.7 14.7L20.8 14.5L21.7 14.2C21.8 14.1 21.9 14 21.9 13.8C21.9 13.8 21.9 13.7 21.8 13.7L21 13V12.8L21.8 12.3C22 12.2 22 12 21.9 11.7C21.9 11.8 21.9 11.8 21.9 11.7M16.2 18.7C15.9 18.6 15.7 18.3 15.7 18C15.8 17.7 16.1 17.5 16.4 17.5C16.7 17.6 16.9 17.9 16.9 18.2C16.9 18.6 16.6 18.8 16.2 18.7M16 16.8C15.7 16.7 15.4 16.9 15.4 17.2L15 18.6C14.1 19 13.1 19.2 12 19.2C10.9 19.2 9.9 19 8.9 18.5L8.6 17.1C8.5 16.8 8.3 16.6 8 16.7L6.8 17C6.6 16.8 6.4 16.5 6.2 16.3H12.2C12.3 16.3 12.3 16.3 12.3 16.2V14.1C12.3 14 12.3 14 12.2 14H10.5V12.7H12.4C12.6 12.7 13.3 12.7 13.6 13.7C13.7 14 13.8 15 14 15.3C14.1 15.6 14.6 16.3 15.1 16.3H18.2C18 16.6 17.8 16.8 17.5 17.1L16 16.8M7.7 18.7C7.4 18.8 7.1 18.6 7 18.2C6.9 17.9 7.1 17.6 7.5 17.5S8.1 17.6 8.2 18C8.2 18.3 8 18.6 7.7 18.7M5.4 9.5C5.5 9.8 5.4 10.2 5.1 10.3C4.8 10.4 4.4 10.3 4.3 10C4.2 9.7 4.3 9.3 4.6 9.2C5 9.1 5.3 9.2 5.4 9.5M4.7 11.1L6 10.6C6.3 10.5 6.4 10.2 6.3 9.9L6 9.3H7V14H5C4.7 13 4.6 12.1 4.7 11.1M10.3 10.7V9.3H12.8C12.9 9.3 13.7 9.4 13.7 10C13.7 10.5 13.1 10.7 12.6 10.7H10.3M19.3 11.9V12.4H18.5C18.4 12.4 18.4 12.4 18.4 12.5V12.8C18.4 13.6 17.9 13.8 17.5 13.8C17.1 13.8 16.7 13.6 16.6 13.4C16.4 12.1 16 11.9 15.4 11.4C16.1 10.9 16.9 10.2 16.9 9.3C16.9 8.3 16.2 7.7 15.8 7.4C15.1 7 14.4 6.9 14.2 6.9H6.6C7.7 5.7 9.1 4.9 10.7 4.6L11.6 5.6C11.8 5.8 12.1 5.8 12.4 5.6L13.4 4.6C15.5 5 17.3 6.3 18.4 8.2L17.7 9.8C17.6 10.1 17.7 10.4 18 10.5L19.3 11.1V11.9M11.6 3.9C11.8 3.7 12.2 3.7 12.4 3.9C12.6 4.1 12.6 4.5 12.4 4.7C12.1 5 11.8 5 11.5 4.7C11.3 4.5 11.4 4.2 11.6 3.9M18.5 9.5C18.6 9.2 19 9.1 19.3 9.2C19.6 9.3 19.7 9.7 19.6 10C19.5 10.3 19.1 10.4 18.8 10.3C18.5 10.2 18.4 9.8 18.5 9.5Z\";\r\nexport var mdiLanguageSwift = \"M17.09,19.72C14.73,21.08 11.5,21.22 8.23,19.82C5.59,18.7 3.4,16.74 2,14.5C2.67,15.05 3.46,15.5 4.3,15.9C7.67,17.47 11.03,17.36 13.4,15.9C10.03,13.31 7.16,9.94 5.03,7.19C4.58,6.74 4.25,6.18 3.91,5.68C12.19,11.73 11.83,13.27 6.32,4.67C11.21,9.61 15.75,12.41 15.75,12.41C15.91,12.5 16,12.57 16.11,12.63C16.21,12.38 16.3,12.12 16.37,11.85C17.16,9 16.26,5.73 14.29,3.04C18.84,5.79 21.54,10.95 20.41,15.28C20.38,15.39 20.35,15.5 20.36,15.67C22.6,18.5 22,21.45 21.71,20.89C20.5,18.5 18.23,19.24 17.09,19.72V19.72Z\";\r\nexport var mdiLanguageTypescript = \"M3,3H21V21H3V3M13.71,17.86C14.21,18.84 15.22,19.59 16.8,19.59C18.4,19.59 19.6,18.76 19.6,17.23C19.6,15.82 18.79,15.19 17.35,14.57L16.93,14.39C16.2,14.08 15.89,13.87 15.89,13.37C15.89,12.96 16.2,12.64 16.7,12.64C17.18,12.64 17.5,12.85 17.79,13.37L19.1,12.5C18.55,11.54 17.77,11.17 16.7,11.17C15.19,11.17 14.22,12.13 14.22,13.4C14.22,14.78 15.03,15.43 16.25,15.95L16.67,16.13C17.45,16.47 17.91,16.68 17.91,17.26C17.91,17.74 17.46,18.09 16.76,18.09C15.93,18.09 15.45,17.66 15.09,17.06L13.71,17.86M13,11.25H8V12.75H9.5V20H11.25V12.75H13V11.25Z\";\r\nexport var mdiLanguageXaml = \"M16.93 7.9L19.31 12L16.95 16.09L16.33 15L17.8 12.5C17.97 12.19 17.97 11.83 17.8 11.54L16.32 9L16.93 7.9M16.92 6.57C16.89 6.57 16.85 6.59 16.83 6.62L15.56 8.87C15.5 8.94 15.5 9 15.56 9.09L17.18 11.9C17.22 11.97 17.22 12.05 17.18 12.12L15.57 14.91C15.53 14.97 15.53 15.06 15.57 15.13L16.85 17.36C16.87 17.4 16.91 17.42 16.94 17.42C17 17.42 17 17.4 17.04 17.36L20 12.23C20.08 12.09 20.08 11.92 20 11.79L17 6.62C17 6.59 16.96 6.57 16.92 6.57M21.91 11.67L17.23 3.58C17.11 3.38 16.89 3.25 16.66 3.25H7.28C7.05 3.25 6.83 3.38 6.71 3.58L2 11.67C1.91 11.87 1.91 12.13 2 12.33L6.71 20.42C6.83 20.62 7.05 20.75 7.28 20.75H16.66C16.89 20.75 17.11 20.62 17.23 20.42L21.91 12.33C22.03 12.13 22.03 11.88 21.91 11.67M7.3 3.95H16.12L11.76 11.65H6.93L10.87 4.82C10.91 4.75 10.86 4.66 10.78 4.66L8.21 4.65C8.13 4.65 8.06 4.7 8 4.76L4.04 11.65H2.84L7.3 3.95M6.17 12.46L9.74 18.63L8.5 18.63L4.87 12.35L4.67 12L4.87 11.65L8.5 5.37L9.73 5.37L6.17 11.53C6.15 11.57 6.13 11.61 6.11 11.65C6.03 11.88 6.03 12.13 6.12 12.35C6.13 12.39 6.15 12.43 6.17 12.46M7.3 20.05L2.85 12.35H4.05L8.03 19.23C8.07 19.3 8.14 19.34 8.22 19.34L10.79 19.34C10.87 19.34 10.92 19.25 10.88 19.18L6.94 12.35H11.77L16.17 20.05H7.3M16.8 19.75L12.37 12L16.78 4.21L21.29 12L16.8 19.75Z\";\r\nexport var mdiLaptop = \"M4,6H20V16H4M20,18A2,2 0 0,0 22,16V6C22,4.89 21.1,4 20,4H4C2.89,4 2,4.89 2,6V16A2,2 0 0,0 4,18H0V20H24V18H20Z\";\r\nexport var mdiLaptopAccount = \"M20 4C21.1 4 22 4.89 22 6V16C22 17.11 21.11 18 20 18H24V20H0V18H4C2.9 18 2 17.11 2 16V6C2 4.89 2.89 4 4 4H20M20 6H4V16H20V6M12 12C14.21 12 16 12.9 16 14V15H8V14C8 12.9 9.79 12 12 12M12 7C13.11 7 14 7.9 14 9S13.11 11 12 11 10 10.11 10 9 10.9 7 12 7Z\";\r\nexport var mdiLaptopOff = \"M1,4.27L2.28,3L20,20.72L18.73,22L16.73,20H0V18H4C2.89,18 2,17.1 2,16V6C2,5.78 2.04,5.57 2.1,5.37L1,4.27M4,16H12.73L4,7.27V16M20,16V6H7.82L5.82,4H20A2,2 0 0,1 22,6V16A2,2 0 0,1 20,18H24V20H21.82L17.82,16H20Z\";\r\nexport var mdiLaravel = \"M21.7 6.53C21.71 6.55 21.71 6.58 21.71 6.61V10.9C21.71 11 21.65 11.12 21.56 11.17L17.95 13.25V17.36C17.95 17.47 17.9 17.57 17.8 17.63L10.28 21.96C10.26 21.97 10.24 22 10.22 22L10.2 22C10.15 22 10.09 22 10.04 22C10.03 22 10 22 10 22C10 22 10 21.97 9.96 21.96L2.44 17.63C2.35 17.58 2.29 17.47 2.29 17.36V4.5C2.29 4.45 2.29 4.42 2.3 4.4C2.3 4.39 2.31 4.38 2.31 4.37C2.31 4.35 2.32 4.34 2.33 4.32C2.33 4.31 2.34 4.3 2.35 4.29C2.36 4.28 2.37 4.27 2.38 4.26C2.39 4.25 2.4 4.24 2.41 4.23C2.42 4.22 2.43 4.21 2.44 4.21L6.2 2.04C6.3 2 6.42 2 6.5 2.04L10.28 4.21H10.28C10.29 4.22 10.3 4.22 10.31 4.23C10.32 4.24 10.33 4.25 10.34 4.26C10.35 4.27 10.36 4.28 10.37 4.29C10.38 4.3 10.39 4.31 10.39 4.32C10.4 4.34 10.41 4.35 10.41 4.37C10.41 4.38 10.42 4.39 10.42 4.4C10.43 4.43 10.43 4.45 10.43 4.5V12.5L13.57 10.72V6.61C13.57 6.58 13.57 6.55 13.58 6.53L13.59 6.5C13.59 6.5 13.6 6.47 13.61 6.45C13.61 6.44 13.62 6.43 13.63 6.42C13.64 6.41 13.65 6.4 13.66 6.39C13.67 6.38 13.68 6.37 13.69 6.36C13.7 6.35 13.71 6.34 13.72 6.34L17.5 4.17C17.58 4.11 17.7 4.11 17.8 4.17L21.56 6.34C21.57 6.34 21.58 6.35 21.59 6.36L21.62 6.39C21.63 6.4 21.64 6.41 21.65 6.42C21.66 6.43 21.66 6.44 21.67 6.45C21.68 6.47 21.68 6.5 21.69 6.5C21.7 6.5 21.7 6.5 21.7 6.53M21.09 10.72V7.15L17.95 8.95V12.5L21.09 10.72M17.33 17.18V13.6L10.43 17.54V21.15L17.33 17.18M2.91 5V17.18L9.81 21.15V17.54L6.21 15.5L6.2 15.5L6.2 15.5C6.19 15.5 6.18 15.5 6.17 15.47C6.16 15.47 6.15 15.46 6.14 15.45V15.45C6.13 15.44 6.12 15.43 6.11 15.42C6.1 15.41 6.1 15.4 6.09 15.39V15.39C6.08 15.37 6.08 15.36 6.07 15.35C6.07 15.33 6.06 15.32 6.06 15.31C6.05 15.3 6.05 15.28 6.05 15.27C6.05 15.25 6.05 15.24 6.05 15.23V6.82L2.91 5M6.36 2.68L3.23 4.5L6.36 6.28L9.5 4.5L6.36 2.68M9.81 12.88V5L6.67 6.82V14.69L9.81 12.88M17.64 4.8L14.5 6.61L17.64 8.41L20.77 6.61L17.64 4.8M17.33 8.95L14.19 7.15V10.72L17.33 12.5V8.95M10.12 17L17 13.06L13.88 11.26L7 15.23L10.12 17Z\";\r\nexport var mdiLaserPointer = \"M9 13L5 16C4 16.88 3.86 18.12 4 19C4.13 20 4.91 21.22 6 21.68C7.57 22.35 9.09 21.9 10.04 20.92L19 13C20.86 11.62 20 9 18 9H12L19.46 4.61C19.9 4.29 20.08 3.82 20.06 3.37C20 2.67 19.46 2 18.6 2H18.54C18.19 2 17.86 2.11 17.56 2.29L5 9C4.19 9.46 3.94 10.24 4 11C4.05 12.03 4.74 13 6 13M5 18.5C5 17.12 6.12 16 7.5 16S10 17.12 10 18.5 8.88 21 7.5 21 5 19.88 5 18.5Z\";\r\nexport var mdiLasso = \"M12 2C17.5 2 22 5.13 22 9C22 12.26 18.81 15 14.5 15.78L14.5 15.5C14.5 14.91 14.4 14.34 14.21 13.81C17.55 13.21 20 11.28 20 9C20 6.24 16.42 4 12 4C7.58 4 4 6.24 4 9C4 10.19 4.67 11.29 5.79 12.15C5.35 12.64 5 13.21 4.78 13.85C3.06 12.59 2 10.88 2 9C2 5.13 6.5 2 12 2M9.5 12C11.43 12 13 13.57 13 15.5C13 17.4 11.5 18.95 9.6 19C9.39 19.36 9.18 20 9.83 20.68C11 21.88 13.28 19.72 16.39 19.71C18.43 19.7 20.03 19.97 20.03 19.97C20.03 19.97 21.08 20.1 20.97 21.04C20.86 21.97 19.91 21.97 19.91 21.97C19.53 21.93 18.03 21.58 16.22 21.68C14.41 21.77 13.47 22.41 12.56 22.69C11.66 22.97 9.91 23.38 8.3 22.05C6.97 20.96 7.46 19.11 7.67 18.5C6.67 17.87 6 16.76 6 15.5C6 13.57 7.57 12 9.5 12M9.5 14C8.67 14 8 14.67 8 15.5C8 16.33 8.67 17 9.5 17C10.33 17 11 16.33 11 15.5C11 14.67 10.33 14 9.5 14Z\";\r\nexport var mdiLastpass = \"M14,12A2,2 0 0,1 16,10A2,2 0 0,1 18,12A2,2 0 0,1 16,14A2,2 0 0,1 14,12M8,12A2,2 0 0,1 10,10A2,2 0 0,1 12,12A2,2 0 0,1 10,14A2,2 0 0,1 8,12M2,12A2,2 0 0,1 4,10A2,2 0 0,1 6,12A2,2 0 0,1 4,14A2,2 0 0,1 2,12M22,5H20V19H22V5Z\";\r\nexport var mdiLatitude = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 4C15 4 17.5 5.6 18.9 8H5.1C6.5 5.6 9 4 12 4M12 20C9 20 6.5 18.4 5.1 16H18.9C17.5 18.4 15 20 12 20M4.3 14C4.1 13.4 4 12.7 4 12S4.1 10.6 4.3 10H19.8C20 10.6 20.1 11.3 20.1 12S20 13.4 19.8 14H4.3Z\";\r\nexport var mdiLaunch = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\r\nexport var mdiLavaLamp = \"M10,3L8,16H16L14,3H10M11.5,5.75A0.75,0.75 0 0,1 12.25,6.5A0.75,0.75 0 0,1 11.5,7.25A0.75,0.75 0 0,1 10.75,6.5A0.75,0.75 0 0,1 11.5,5.75M12.5,8.5A1,1 0 0,1 13.5,9.5A1,1 0 0,1 12.5,10.5A1,1 0 0,1 11.5,9.5A1,1 0 0,1 12.5,8.5M11.5,12A1.5,1.5 0 0,1 13,13.5A1.5,1.5 0 0,1 11.5,15A1.5,1.5 0 0,1 10,13.5A1.5,1.5 0 0,1 11.5,12M8,17L10,19L8,21H16L14,19L16,17H8Z\";\r\nexport var mdiLayers = \"M12,16L19.36,10.27L21,9L12,2L3,9L4.63,10.27M12,18.54L4.62,12.81L3,14.07L12,21.07L21,14.07L19.37,12.8L12,18.54Z\";\r\nexport var mdiLayersEdit = \"M4.63 10.27L3 9L12 2L19.94 8.17L12.5 15.61L12 16L4.63 10.27M10 18.94V18.11L10.59 17.53L10.63 17.5L4.62 12.81L3 14.07L10 19.5V18.94M21.7 12.58L20.42 11.3C20.21 11.09 19.86 11.09 19.65 11.3L18.65 12.3L20.7 14.35L21.7 13.35C21.91 13.14 21.91 12.79 21.7 12.58M12 21H14.06L20.11 14.93L18.06 12.88L12 18.94V21Z\";\r\nexport var mdiLayersMinus = \"M22,17V19H14V17H22M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\r\nexport var mdiLayersOff = \"M3.27,1L2,2.27L6.22,6.5L3,9L4.63,10.27L12,16L14.1,14.37L15.53,15.8L12,18.54L4.63,12.81L3,14.07L12,21.07L16.95,17.22L20.73,21L22,19.73L3.27,1M19.36,10.27L21,9L12,2L9.09,4.27L16.96,12.15L19.36,10.27M19.81,15L21,14.07L19.57,12.64L18.38,13.56L19.81,15Z\";\r\nexport var mdiLayersOffOutline = \"M12,4.53L10.83,5.44L9.41,4L12,2L21,9L17.28,11.89L15.85,10.47L17.74,9L12,4.53M21,14.07L20.13,14.75L18.7,13.32L19.37,12.8L21,14.07M3.41,0.86L22.14,19.59L20.73,21L16.95,17.22L12,21.07L3,14.07L4.62,12.81L12,18.54L15.5,15.79L14.1,14.37L12,16L3,9L6.22,6.5L2,2.27L3.41,0.86M12,13.47L12.67,12.94L7.65,7.92L6.26,9L12,13.47Z\";\r\nexport var mdiLayersOutline = \"M12,18.54L19.37,12.8L21,14.07L12,21.07L3,14.07L4.62,12.81L12,18.54M12,16L3,9L12,2L21,9L12,16M12,4.53L6.26,9L12,13.47L17.74,9L12,4.53Z\";\r\nexport var mdiLayersPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\r\nexport var mdiLayersRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M11,16L2,9L11,2L20,9L11,16M11,18.54L12,17.75V18C12,18.71 12.12,19.39 12.35,20L11,21.07L2,14.07L3.62,12.81L11,18.54Z\";\r\nexport var mdiLayersSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M9.59 19.2L3 14.07L4.62 12.81L9 16.22C9 16.32 9 16.41 9 16.5C9 17.46 9.22 18.38 9.59 19.2M4.63 10.27L3 9L12 2L21 9L19.36 10.27L18.65 10.82C17.72 10.3 16.64 10 15.5 10C12.79 10 10.46 11.68 9.5 14.05L4.63 10.27Z\";\r\nexport var mdiLayersSearchOutline = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M9.59 19.2L3 14.07L4.62 12.81L9 16.22C9 16.32 9 16.41 9 16.5C9 17.46 9.22 18.38 9.59 19.2M9.5 14.04L3 9L12 2L21 9L18.66 10.82C17.96 10.44 17.19 10.18 16.37 10.07L17.74 9L12 4.53L6.26 9L10.53 12.32C10.1 12.84 9.74 13.42 9.5 14.04Z\";\r\nexport var mdiLayersTriple = \"M12 0L3 7L4.63 8.27L12 14L19.36 8.27L21 7L12 0M19.37 10.73L12 16.47L4.62 10.74L3 12L12 19L21 12L19.37 10.73M19.37 15.73L12 21.47L4.62 15.74L3 17L12 24L21 17L19.37 15.73Z\";\r\nexport var mdiLayersTripleOutline = \"M12 16.54L19.37 10.8L21 12.07L12 19.07L3 12.07L4.62 10.81L12 16.54M12 14L3 7L12 0L21 7L12 14M12 2.53L6.26 7L12 11.47L17.74 7L12 2.53M12 21.47L19.37 15.73L21 17L12 24L3 17L4.62 15.74L12 21.47\";\r\nexport var mdiLeadPencil = \"M16.84,2.73C16.45,2.73 16.07,2.88 15.77,3.17L13.65,5.29L18.95,10.6L21.07,8.5C21.67,7.89 21.67,6.94 21.07,6.36L17.9,3.17C17.6,2.88 17.22,2.73 16.84,2.73M12.94,6L4.84,14.11L7.4,14.39L7.58,16.68L9.86,16.85L10.15,19.41L18.25,11.3M4.25,15.04L2.5,21.73L9.2,19.94L8.96,17.78L6.65,17.61L6.47,15.29\";\r\nexport var mdiLeaf = \"M17,8C8,10 5.9,16.17 3.82,21.34L5.71,22L6.66,19.7C7.14,19.87 7.64,20 8,20C19,20 22,3 22,3C21,5 14,5.25 9,6.25C4,7.25 2,11.5 2,13.5C2,15.5 3.75,17.25 3.75,17.25C7,8 17,8 17,8Z\";\r\nexport var mdiLeafCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M9.6 17.2C9.38 17.2 9.08 17.12 8.8 17L8.23 18.4L7.09 18L7.25 17.61C8.45 14.59 9.83 11.15 15 10C15 10 9 10 7.05 15.55C7.05 15.55 6 14.5 6 13.3S7.2 9.55 10.2 8.95C11.05 8.78 12 8.65 12.94 8.5C15.3 8.18 17.57 7.86 18 7C18 7 16.2 17.2 9.6 17.2Z\";\r\nexport var mdiLeafCircleOutline = \"M8.04 16.34C9.05 13.83 10.19 10.96 14.5 10C14.5 10 9.5 10 7.88 14.63C7.88 14.63 7 13.75 7 12.75S8 9.63 10.5 9.13C11.21 9 12 8.87 12.78 8.76C14.75 8.5 16.64 8.22 17 7.5C17 7.5 15.5 16 10 16C9.82 16 9.57 15.94 9.33 15.85L8.86 17L7.91 16.67L8.04 16.34M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2Z\";\r\nexport var mdiLeafMaple = \"M21.79,13L16,16L17,18L13,17.25V21H11V17.25L7,18L8,16L2.21,13L3.21,11.27L1.61,8L5.21,7.77L6.21,6L9.63,9.9L8,5H10L12,2L14,5H16L14.37,9.9L17.79,6L18.79,7.73L22.39,7.96L20.79,11.19L21.79,13Z\";\r\nexport var mdiLeafMapleOff = \"M18.11 14.91L8.2 5H10L12 2L14 5H16L14.37 9.9L17.79 6L18.79 7.73L22.39 7.96L20.79 11.19L21.79 13L18.11 14.91M2.39 1.73L1.11 3L5.45 7.34L5.21 7.77L1.61 8L3.21 11.27L2.21 13L8 16L7 18L11 17.25V21H13V17.25L15.91 17.8L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiLeafOff = \"M20.84 22.73L15.14 17.03C13.26 18.79 10.92 20 8 20C7.64 20 7.14 19.87 6.66 19.7L5.71 22L3.82 21.34C5.15 18.03 6.5 14.32 9.66 11.55L8.77 10.66C6.76 12.03 4.86 14.1 3.75 17.25C3.75 17.25 2 15.5 2 13.5C2 12 3.12 9.32 5.72 7.61L1.11 3L2.39 1.73C2.39 1.73 16.39 15.74 16.39 15.74L22.11 21.46L20.84 22.73M17 8C15.35 8.37 13.93 8.88 12.7 9.5L17.5 14.29C20.87 9.35 22 3 22 3C21.03 4.95 14.35 5.24 9.38 6.18L12.15 8.95C14.81 8 17 8 17 8Z\";\r\nexport var mdiLeak = \"M6,3H3V6A3,3 0 0,0 6,3M14,3H12A9,9 0 0,1 3,12V14C9.08,14 14,9.07 14,3M10,3H8A5,5 0 0,1 3,8V10A7,7 0 0,0 10,3M10,21H12A9,9 0 0,1 21,12V10A11,11 0 0,0 10,21M18,21H21V18A3,3 0 0,0 18,21M14,21H16A5,5 0 0,1 21,16V14A7,7 0 0,0 14,21Z\";\r\nexport var mdiLeakOff = \"M10,3H8C8,3.37 7.96,3.72 7.88,4.06L9.47,5.65C9.81,4.84 10,3.94 10,3M3,4.27L5.84,7.11C5.03,7.67 4.06,8 3,8V10C4.61,10 6.09,9.45 7.27,8.54L8.7,9.97C7.14,11.24 5.16,12 3,12V14C5.71,14 8.19,13 10.11,11.38L12.61,13.88C11,15.81 10,18.29 10,21H12C12,18.84 12.76,16.86 14.03,15.31L15.46,16.74C14.55,17.91 14,19.39 14,21H16C16,19.94 16.33,18.97 16.89,18.16L19.73,21L21,19.73L4.27,3L3,4.27M14,3H12C12,4.5 11.63,5.91 11,7.16L12.44,8.62C13.42,7 14,5.06 14,3M19.94,16.12C20.28,16.04 20.63,16 21,16V14C20.06,14 19.16,14.19 18.34,14.5L19.94,16.12M15.38,11.56L16.84,13C18.09,12.37 19.5,12 21,12V10C18.94,10 17,10.58 15.38,11.56Z\";\r\nexport var mdiLectern = \"M17 21V22H7V21H9V11H15V21H17M17.5 6C17.5 4.39 16.41 3.05 14.93 2.64C14.78 2.27 14.43 2 14 2C13.45 2 13 2.45 13 3C13 3.55 13.45 4 14 4C14.31 4 14.58 3.85 14.76 3.63C15.77 3.95 16.5 4.89 16.5 6H4L5 10H19L20 6H17.5Z\";\r\nexport var mdiLedOff = \"M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6Z\";\r\nexport var mdiLedOn = \"M11,0V4H13V0H11M18.3,2.29L15.24,5.29L16.64,6.71L19.7,3.71L18.3,2.29M5.71,2.29L4.29,3.71L7.29,6.71L8.71,5.29L5.71,2.29M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6M2,9V11H6V9H2M18,9V11H22V9H18Z\";\r\nexport var mdiLedOutline = \"M12,6A4,4 0 0,0 8,10V16H6V18H9V23H11V18H13V23H15V18H18V16H16V10A4,4 0 0,0 12,6M12,8A2,2 0 0,1 14,10V15H10V10A2,2 0 0,1 12,8Z\";\r\nexport var mdiLedStrip = \"M2.81,8.46L14.83,20.5L15.54,19.78L16.95,21.19L18.36,19.78L16.95,18.36L18.36,16.95L19.78,18.36L21.19,16.95L19.78,15.54L20.5,14.83L8.46,2.81L2.81,8.46M5.64,8.46L8.46,5.64L17.66,14.83L14.83,17.66L5.64,8.46M7.05,8.46L8.46,9.88L9.88,8.46L8.46,7.05L7.05,8.46M9.17,10.59L10.59,12L12,10.59L10.59,9.17L9.17,10.59M11.29,12.71L12.71,14.12L14.12,12.71L12.71,11.29L11.29,12.71M13.41,14.83L14.83,16.24L16.24,14.83L14.83,13.41L13.41,14.83Z\";\r\nexport var mdiLedStripVariant = \"M2.95 3L2 6.91L19.34 11.25L20.29 7.34L2.95 3M6.09 6.89L4.16 6.41L4.64 4.46L6.57 4.94L6.09 6.89M9.94 7.86L8 7.38L8.5 5.42L10.42 5.91L9.94 7.86M13.8 8.82L11.87 8.34L12.35 6.39L14.27 6.87L13.8 8.82M17.65 9.79L15.72 9.31L16.2 7.35L18.13 7.84L17.65 9.79M4.66 12.75L3.71 16.66L21.05 21L22 17.1L4.66 12.75M7.8 16.65L5.88 16.16L6.35 14.21L8.28 14.69L7.8 16.65M11.65 17.61L9.73 17.13L10.2 15.18L12.13 15.66L11.65 17.61M15.5 18.58L13.58 18.09L14.06 16.14L16 16.62L15.5 18.58M19.36 19.54L17.43 19.06L17.91 17.11L19.84 17.59L19.36 19.54M6.25 12.11L11 10.2L17.75 11.89L13 13.8L6.25 12.11Z\";\r\nexport var mdiLedStripVariantOff = \"M22.11 21.46L2.39 1.73L1.11 3L2.59 4.5L2 6.91L6.03 7.92L9.08 10.97L6.25 12.11L11.55 13.44L12.94 14.83L4.66 12.75L3.71 16.66L18.46 20.35L20.84 22.73L22.11 21.46M7.8 16.65L5.88 16.16L6.35 14.21L8.28 14.69L7.8 16.65M11.65 17.61L9.73 17.13L10.2 15.18L12.13 15.66L11.65 17.61M15.5 18.58L13.58 18.09L14.06 16.14L14.31 16.2L15.74 17.63L15.5 18.58M19.73 16.53L22 17.1L21.67 18.47L19.73 16.53M15.85 12.65L14.2 11L17.75 11.89L15.85 12.65M10.42 5.91L10.16 6.96L12.82 9.62L19.34 11.25L20.29 7.34L7.29 4.09L8.66 5.46L10.42 5.91M16.2 7.35L18.13 7.84L17.65 9.79L15.72 9.31L16.2 7.35M12.35 6.39L14.27 6.87L13.8 8.82L11.87 8.34L12.35 6.39Z\";\r\nexport var mdiLedVariantOff = \"M12,3C10.05,3 8.43,4.4 8.08,6.25L16.82,15H18V13H16V7A4,4 0 0,0 12,3M3.28,4L2,5.27L8,11.27V13H6V15H9V21H11V15H11.73L13,16.27V21H15V18.27L18.73,22L20,20.72L15,15.72L8,8.72L3.28,4Z\";\r\nexport var mdiLedVariantOn = \"M12,3A4,4 0 0,0 8,7V13H6V15H9V21H11V15H13V21H15V15H18V13H16V7A4,4 0 0,0 12,3Z\";\r\nexport var mdiLedVariantOutline = \"M12,3A4,4 0 0,0 8,7V13H6V15H9V21H11V15H13V21H15V15H18V13H16V7A4,4 0 0,0 12,3M12,5A2,2 0 0,1 14,7V12H10V7A2,2 0 0,1 12,5Z\";\r\nexport var mdiLeek = \"M10 2V5.55L12 7.55L14 5.55V2H10M6.34 4L3.87 6.5L15 17.62V12.67L6.34 4M17.66 4L13.06 8.61L15.54 11.09L20.13 6.5L17.66 4M9 13.74V20A2 2 0 0 0 11 22H13A2 2 0 0 0 15 20V19.74L13 17.74V20H11V15.74L9 13.74Z\";\r\nexport var mdiLessThan = \"M18.5,4.14L19.5,5.86L8.97,12L19.5,18.14L18.5,19.86L5,12L18.5,4.14Z\";\r\nexport var mdiLessThanOrEqual = \"M18.5,2.27L5,10.14L18.5,18L19.5,16.27L8.97,10.14L19.5,4L18.5,2.27M5,20V22H20V20H5Z\";\r\nexport var mdiLibrary = \"M12,8A3,3 0 0,0 15,5A3,3 0 0,0 12,2A3,3 0 0,0 9,5A3,3 0 0,0 12,8M12,11.54C9.64,9.35 6.5,8 3,8V19C6.5,19 9.64,20.35 12,22.54C14.36,20.35 17.5,19 21,19V8C17.5,8 14.36,9.35 12,11.54Z\";\r\nexport var mdiLibraryOutline = \"M12 14.27L10.64 13C9.09 11.57 7.16 10.57 5 10.18V17.13C7.61 17.47 10 18.47 12 19.95C14 18.47 16.39 17.47 19 17.13V10.18C16.84 10.57 14.91 11.57 13.36 13M19 8.15C19.65 8.05 20.32 8 21 8V19C17.5 19 14.36 20.35 12 22.54C9.64 20.35 6.5 19 3 19V8C3.68 8 4.35 8.05 5 8.15C7.69 8.56 10.1 9.78 12 11.54C13.9 9.78 16.31 8.56 19 8.15M12 6C12.27 6 12.5 5.9 12.71 5.71C12.9 5.5 13 5.27 13 5S12.9 4.5 12.71 4.29C12.5 4.11 12.27 4 12 4S11.5 4.11 11.29 4.29C11.11 4.5 11 4.74 11 5S11.11 5.5 11.29 5.71C11.5 5.9 11.74 6 12 6M14.12 7.12C13.56 7.68 12.8 8 12 8S10.44 7.68 9.88 7.12C9.32 6.56 9 5.8 9 5S9.32 3.44 9.88 2.88C10.44 2.32 11.2 2 12 2S13.56 2.32 14.12 2.88 15 4.2 15 5 14.68 6.56 14.12 7.12Z\";\r\nexport var mdiLibraryShelves = \"M19.5,9V1.5H16.5V9H13.5V1.5H10.5V9H7.5V1.5H4.65V9H3V10.5H21V9H19.5M19.5,13.5H16.5V21H13.5V13.5H10.5V21H7.5V13.5H4.65V21H3V22.5H21V21H19.5V13.5Z\";\r\nexport var mdiLicense = \"M9 10A3.04 3.04 0 0 1 12 7A3.04 3.04 0 0 1 15 10A3.04 3.04 0 0 1 12 13A3.04 3.04 0 0 1 9 10M12 19L16 20V16.92A7.54 7.54 0 0 1 12 18A7.54 7.54 0 0 1 8 16.92V20M12 4A5.78 5.78 0 0 0 7.76 5.74A5.78 5.78 0 0 0 6 10A5.78 5.78 0 0 0 7.76 14.23A5.78 5.78 0 0 0 12 16A5.78 5.78 0 0 0 16.24 14.23A5.78 5.78 0 0 0 18 10A5.78 5.78 0 0 0 16.24 5.74A5.78 5.78 0 0 0 12 4M20 10A8.04 8.04 0 0 1 19.43 12.8A7.84 7.84 0 0 1 18 15.28V23L12 21L6 23V15.28A7.9 7.9 0 0 1 4 10A7.68 7.68 0 0 1 6.33 4.36A7.73 7.73 0 0 1 12 2A7.73 7.73 0 0 1 17.67 4.36A7.68 7.68 0 0 1 20 10Z\";\r\nexport var mdiLifebuoy = \"M19.79,15.41C20.74,13.24 20.74,10.75 19.79,8.59L17.05,9.83C17.65,11.21 17.65,12.78 17.06,14.17L19.79,15.41M15.42,4.21C13.25,3.26 10.76,3.26 8.59,4.21L9.83,6.94C11.22,6.35 12.79,6.35 14.18,6.95L15.42,4.21M4.21,8.58C3.26,10.76 3.26,13.24 4.21,15.42L6.95,14.17C6.35,12.79 6.35,11.21 6.95,9.82L4.21,8.58M8.59,19.79C10.76,20.74 13.25,20.74 15.42,19.78L14.18,17.05C12.8,17.65 11.22,17.65 9.84,17.06L8.59,19.79M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,8A4,4 0 0,0 8,12A4,4 0 0,0 12,16A4,4 0 0,0 16,12A4,4 0 0,0 12,8Z\";\r\nexport var mdiLightFloodDown = \"M8 11H2V9H8C8.55 9 9 9.45 9 10C9 10.55 8.55 11 8 11M14.87 4.35L14.5 5.27L8.18 4.86L6.9 8H8C9.1 8 10 8.9 10 10S9.1 12 8 12H5.27L4.41 14.12L9.21 18.24L8.83 19.16L10.69 19.92L16.72 5.1L14.87 4.35M20.81 6.29L21.57 8.14L19.26 9.1L18.5 7.25L20.81 6.29M18.78 13.57L21.55 14.72L20.79 16.57L18 15.42L18.78 13.57M16.15 21.23L14.3 22L13.34 19.69L15.19 18.93L16.15 21.23Z\";\r\nexport var mdiLightFloodUp = \"M8 15H2V13H8C8.55 13 9 13.45 9 14C9 14.55 8.55 15 8 15M16.72 18.9L10.69 4.08L8.83 4.84L9.21 5.76L4.41 9.88L5.27 12H8C9.1 12 10 12.9 10 14S9.1 16 8 16H6.9L8.18 19.14L14.5 18.73L14.87 19.65L16.72 18.9M20.81 17.71L18.5 16.75L19.26 14.9L21.57 15.86L20.81 17.71M18.78 10.43L18 8.58L20.79 7.43L21.55 9.28L18.78 10.43M15.19 5.07L13.34 4.31L14.3 2L16.15 2.77L15.19 5.07Z\";\r\nexport var mdiLightRecessed = \"M12 7C6.5 7 2 9.46 2 12.5S6.5 18 12 18 22 15.54 22 12.5 17.5 7 12 7M16.5 10C16.5 10.4 14.9 11.54 12 11.54S7.5 10.4 7.5 10C7.5 9.91 7.65 9.74 7.9 9.55C9.06 9.21 10.44 9 12 9S14.94 9.21 16.1 9.55C16.35 9.74 16.5 9.91 16.5 10M12 16C7.12 16 4 13.93 4 12.5C4 11.81 4.73 11 6.03 10.29C6.3 11.83 8.87 13.04 12 13.04C15.13 13.04 17.7 11.83 17.97 10.29C19.27 11 20 11.81 20 12.5C20 13.93 16.88 16 12 16Z\";\r\nexport var mdiLightSwitch = \"M8 6V18H16V6H8M14 10H10V8H14V10M19.4 1.6C19 1.2 18.5 1 18 1H6C5.5 1 5 1.2 4.6 1.6C4.2 2 4 2.5 4 3V21C4 21.5 4.2 22 4.6 22.4C5 22.8 5.5 23 6 23H18C18.5 23 19 22.8 19.4 22.4C19.8 22 20 21.5 20 21V3C20 2.5 19.8 2 19.4 1.6M18 21H6V3H18V21Z\";\r\nexport var mdiLightSwitchOff = \"M19.4 1.6C19 1.2 18.5 1 18 1H6C5.5 1 5 1.2 4.6 1.6C4.2 2 4 2.5 4 3V21C4 21.5 4.2 22 4.6 22.4C5 22.8 5.5 23 6 23H18C18.5 23 19 22.8 19.4 22.4C19.8 22 20 21.5 20 21V3C20 2.5 19.8 2 19.4 1.6M18 21H6V3H18V21M8 6V18H16V6H8M15 17H9V7H15V17M10 14H14V16H10V14Z\";\r\nexport var mdiLightbulb = \"M12,2A7,7 0 0,0 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H15A1,1 0 0,0 16,17V14.74C17.81,13.47 19,11.38 19,9A7,7 0 0,0 12,2M9,21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9V21Z\";\r\nexport var mdiLightbulbAlert = \"M10 2C6.1 2 3 5.1 3 9C3 11.4 4.2 13.5 6 14.7V17C6 17.6 6.4 18 7 18H13C13.6 18 14 17.6 14 17V14.7C15.8 13.4 17 11.3 17 9C17 5.1 13.9 2 10 2M7 21C7 21.6 7.4 22 8 22H12C12.6 22 13 21.6 13 21V20H7V21M19 12V7H21V13H19M19 17V15H21V17H19Z\";\r\nexport var mdiLightbulbAlertOutline = \"M10 2C13.9 2 17 5.1 17 9C17 11.4 15.8 13.5 14 14.7V17C14 17.6 13.6 18 13 18H7C6.4 18 6 17.6 6 17V14.7C4.2 13.5 3 11.4 3 9C3 5.1 6.1 2 10 2M7 21V20H13V21C13 21.6 12.6 22 12 22H8C7.4 22 7 21.6 7 21M10 4C7.2 4 5 6.2 5 9C5 11.1 6.2 12.8 8 13.6V16H12V13.6C13.8 12.8 15 11.1 15 9C15 6.2 12.8 4 10 4M19 12V7H21V13H19M19 17V15H21V17H19Z\";\r\nexport var mdiLightbulbAuto = \"M9 2C5.13 2 2 5.13 2 9C2 11.38 3.19 13.47 5 14.74V17C5 17.55 5.45 18 6 18H12C12.55 18 13 17.55 13 17V14.74C14.81 13.47 16 11.38 16 9C16 5.13 12.87 2 9 2M6 21C6 21.55 6.45 22 7 22H11C11.55 22 12 21.55 12 21V20H6V21M19 13H17L13.8 22H15.7L16.4 20H19.6L20.3 22H22.2L19 13M16.85 18.65L18 15L19.15 18.65H16.85Z\";\r\nexport var mdiLightbulbAutoOutline = \"M9 2C12.87 2 16 5.13 16 9C16 11.38 14.81 13.47 13 14.74V17C13 17.55 12.55 18 12 18H6C5.45 18 5 17.55 5 17V14.74C3.19 13.47 2 11.38 2 9C2 5.13 5.13 2 9 2M6 21V20H12V21C12 21.55 11.55 22 11 22H7C6.45 22 6 21.55 6 21M9 4C6.24 4 4 6.24 4 9C4 11.05 5.23 12.81 7 13.58V16H11V13.58C12.77 12.81 14 11.05 14 9C14 6.24 11.76 4 9 4M19 13H17L13.8 22H15.7L16.4 20H19.6L20.3 22H22.2L19 13M16.85 18.65L18 15L19.15 18.65H16.85Z\";\r\nexport var mdiLightbulbCfl = \"M10.5 2C11.88 2 13 3.12 13 4.5V14H14V4.47C14 3.56 13.63 2.7 13 2.05C13.17 2 13.33 2 13.5 2C14.88 2 16 3.12 16 4.5V14H17V17C17 17.55 16.55 18 16 18H8C7.45 18 7 17.55 7 17V14H8V4.5C8 3.12 9.12 2 10.5 2M10.5 4C10.22 4 10 4.22 10 4.5V14H11V4.5C11 4.22 10.78 4 10.5 4M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20Z\";\r\nexport var mdiLightbulbCflOff = \"M14 4.47C14 3.56 13.63 2.7 13 2.05C13.17 2 13.33 2 13.5 2C14.88 2 16 3.12 16 4.5V14H17V15.18L14 12.18V4.5L14 4.47M10 4.5C10 4.22 10.22 4 10.5 4S11 4.22 11 4.5V9.18L13 11.18V4.5C13 3.12 11.88 2 10.5 2S8 3.12 8 4.5V6.18L10 8.18V4.5M9 21C9 21.55 9.45 22 10 22H14C14.55 22 15 21.55 15 21V20H9V21M20 20.72L18.73 22L14.73 18H8C7.45 18 7 17.55 7 17V14H8V11.27L2 5.27L3.28 4L20 20.72Z\";\r\nexport var mdiLightbulbCflSpiral = \"M11 2C10.84 2 10.69 2.03 10.55 2.1L8.55 3.1C7.56 3.66 8 5 9 5C9.16 5 9.32 4.95 9.45 4.9L11.45 3.9C12.43 3.36 12 2 11 2M15 4C14.83 4 14.69 4.03 14.55 4.1L8.55 7.1C7.56 7.68 8 9 9 9C9.18 9 9.32 8.95 9.45 8.9L15.45 5.9C16.41 5.43 16 4 15 4M15 8C14.84 8 14.69 8.03 14.55 8.1L8.7 11.03C8.2 11.25 8 11.6 8 12V14H7V17C7 17.55 7.44 18 8 18H16C16.55 18 17 17.55 17 17V14H16V13C16 12.44 15.55 12 15 12C14.45 12 14 12.45 14 13V14H10V12.62L15.45 9.9C16.42 9.34 16 8 15 8M9 20V21C9 21.57 9.46 22 10 22H14C14.56 22 15 21.55 15 21V20\";\r\nexport var mdiLightbulbCflSpiralOff = \"M15.45 9.9L13.88 10.68L12.38 9.18L14.55 8.1C14.69 8.03 14.84 8 15 8C16 8 16.42 9.34 15.45 9.9M11.22 8L15.45 5.9C16.41 5.43 16 4 15 4C14.83 4 14.69 4.03 14.55 4.1L9.72 6.5L11.22 8M20.84 22.73L16.09 18H8C7.44 18 7 17.55 7 17V14H8V12C8 11.6 8.2 11.25 8.7 11.03L9 10.88L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M12.11 14L10.5 12.38L10 12.62V14H12.11M9 21C9 21.57 9.46 22 10 22H14C14.56 22 15 21.55 15 21V20H9V21M9 5C9.16 5 9.32 4.95 9.45 4.9L11.45 3.9C12.43 3.36 12 2 11 2C10.84 2 10.69 2.03 10.55 2.1L8.55 3.1C7.56 3.66 8 5 9 5Z\";\r\nexport var mdiLightbulbFluorescentTube = \"M7.05 2.81L6.5 3.34L5.11 1.92L3.87 3.16L5.28 4.58L4.58 5.28L3.16 3.87L1.92 5.11L3.34 6.5L2.81 7.05L16.95 21.19L17.5 20.66L18.89 22.08L20.13 20.84L18.72 19.43L19.42 18.72L20.84 20.13L22.08 18.9L20.66 17.5L21.19 16.95L7.05 2.81Z\";\r\nexport var mdiLightbulbFluorescentTubeOutline = \"M7.05 2.81L6.5 3.34L5.11 1.92L3.87 3.16L5.28 4.58L4.58 5.28L3.16 3.87L1.92 5.11L3.34 6.5L2.81 7.05L4.22 8.46L15.54 19.78L16.95 21.19L17.5 20.66L18.89 22.08L20.13 20.84L18.72 19.43L19.43 18.72L20.84 20.13L22.08 18.89L20.66 17.5L21.19 16.95L19.78 15.54L8.46 4.22M7.05 5.64L18.36 16.95L16.95 18.36L5.64 7.05Z\";\r\nexport var mdiLightbulbGroup = \"M15 14V16A1 1 0 0 1 14 17H10A1 1 0 0 1 9 16V14A5 5 0 1 1 15 14M14 18H10V19A1 1 0 0 0 11 20H13A1 1 0 0 0 14 19M7 19V18H5V19A1 1 0 0 0 6 20H7.17A2.93 2.93 0 0 1 7 19M5 10A6.79 6.79 0 0 1 5.68 7A4 4 0 0 0 4 14.45V16A1 1 0 0 0 5 17H7V14.88A6.92 6.92 0 0 1 5 10M17 18V19A2.93 2.93 0 0 1 16.83 20H18A1 1 0 0 0 19 19V18M18.32 7A6.79 6.79 0 0 1 19 10A6.92 6.92 0 0 1 17 14.88V17H19A1 1 0 0 0 20 16V14.45A4 4 0 0 0 18.32 7Z\";\r\nexport var mdiLightbulbGroupOff = \"M20.84 22.73L18.09 20C18.06 20 18.03 20 18 20H16.83C16.94 19.68 17 19.34 17 19V18.89L14.75 16.64C14.57 16.86 14.31 17 14 17H10C9.45 17 9 16.55 9 16V14C7.4 12.8 6.74 10.84 7.12 9L5.5 7.4C5.18 8.23 5 9.11 5 10C5 11.83 5.72 13.58 7 14.88V17H5C4.45 17 4 16.55 4 16V14.45C2.86 13.79 2.12 12.62 2 11.31C1.85 9.27 3.25 7.5 5.2 7.09L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15 6C13.22 4.67 10.86 4.72 9.13 5.93L16.08 12.88C17.63 10.67 17.17 7.63 15 6M19.79 16.59C19.91 16.42 20 16.22 20 16V14.45C21.91 13.34 22.57 10.9 21.46 9C20.8 7.85 19.63 7.11 18.32 7C18.77 7.94 19 8.96 19 10C19 11.57 18.47 13.09 17.5 14.31L19.79 16.59M10 19C10 19.55 10.45 20 11 20H13C13.55 20 14 19.55 14 19V18H10V19M7 18H5V19C5 19.55 5.45 20 6 20H7.17C7.06 19.68 7 19.34 7 19V18Z\";\r\nexport var mdiLightbulbGroupOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5.2 7.09C3.25 7.5 1.85 9.27 2 11.31C2.12 12.62 2.86 13.79 4 14.45V16C4 16.55 4.45 17 5 17H7V14.88C5.72 13.58 5 11.83 5 10C5 9.11 5.18 8.23 5.5 7.4L7.12 9C6.74 10.84 7.4 12.8 9 14V16C9 16.55 9.45 17 10 17H14C14.31 17 14.57 16.86 14.75 16.64L17 18.89V19C17 19.34 16.94 19.68 16.83 20H18C18.03 20 18.06 20 18.09 20L20.84 22.73L22.11 21.46M9.23 11.12L10.87 12.76C10.11 12.46 9.53 11.86 9.23 11.12M13 15H11V12.89L13 14.89V15M10.57 7.37L9.13 5.93C10.86 4.72 13.22 4.67 15 6C16.26 6.94 17 8.43 17 10C17 11.05 16.67 12.05 16.08 12.88L14.63 11.43C14.86 11 15 10.5 15 10C15 8.34 13.67 7 12 7C11.5 7 11 7.14 10.57 7.37M17.5 14.31C18.47 13.09 19 11.57 19 10C19 8.96 18.77 7.94 18.32 7C19.63 7.11 20.8 7.85 21.46 9C22.57 10.9 21.91 13.34 20 14.45V16C20 16.22 19.91 16.42 19.79 16.59L17.5 14.31M10 18H14V19C14 19.55 13.55 20 13 20H11C10.45 20 10 19.55 10 19V18M7 19C7 19.34 7.06 19.68 7.17 20H6C5.45 20 5 19.55 5 19V18H7V19Z\";\r\nexport var mdiLightbulbGroupOutline = \"M7 19A2.93 2.93 0 0 0 7.17 20H6A1 1 0 0 1 5 19V18H7M10 19A1 1 0 0 0 11 20H13A1 1 0 0 0 14 19V18H10M4 16A1 1 0 0 0 5 17H7V14.88A6.92 6.92 0 0 1 5 10A6.79 6.79 0 0 1 5.68 7A4 4 0 0 0 4 14.45M17 19A2.93 2.93 0 0 1 16.83 20H18A1 1 0 0 0 19 19V18H17M17 10A5 5 0 0 1 15 14V16A1 1 0 0 1 14 17H10A1 1 0 0 1 9 16V14A5 5 0 1 1 17 10M15 10A3 3 0 1 0 11 12.82V15H13V12.82A3 3 0 0 0 15 10M18.32 7A6.79 6.79 0 0 1 19 10A6.92 6.92 0 0 1 17 14.88V17H19A1 1 0 0 0 20 16V14.45A4 4 0 0 0 18.32 7Z\";\r\nexport var mdiLightbulbMultiple = \"M17 16V18C17 18.55 16.53 19 16 19H12C11.42 19 11 18.55 11 18V16C8.77 14.34 8.32 11.21 10 9S14.77 6.34 17 8 19.63 12.79 18 15C17.69 15.38 17.35 15.72 17 16M16 20H12V21C12 21.55 12.42 22 13 22H15C15.53 22 16 21.55 16 21M7.66 15H7V16C7 16.55 7.42 17 8 17H9V16.88C8.44 16.33 8 15.7 7.66 15M13.58 5C12.46 2.47 9.5 1.33 7 2.45S3.31 6.5 4.43 9.04C4.77 9.81 5.3 10.5 6 11V13C6 13.55 6.42 14 7 14H7.28C7.07 13.35 6.97 12.68 7 12C6.97 8.29 9.87 5.21 13.58 5Z\";\r\nexport var mdiLightbulbMultipleOff = \"M20.84 22.73L16.74 18.63C16.55 18.85 16.29 19 16 19H12C11.42 19 11 18.55 11 18V16C9.37 14.8 8.71 12.82 9.1 11L7.5 9.39C7.17 10.2 6.97 11.08 7 12C6.97 12.68 7.07 13.35 7.28 14H7C6.42 14 6 13.55 6 13V11C5.3 10.5 4.77 9.81 4.43 9.04C4 8.05 3.91 7 4.12 6L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M13.58 5C12.46 2.47 9.5 1.33 7 2.45C6.68 2.58 6.39 2.75 6.13 2.93L9.67 6.47C10.76 5.63 12.1 5.08 13.58 5M18.06 14.86C19.6 12.66 19.14 9.62 17 8C15.2 6.67 12.84 6.72 11.12 7.92L18.06 14.86M12 21C12 21.55 12.42 22 13 22H15C15.53 22 16 21.55 16 21V20H12V21M7 15V16C7 16.55 7.42 17 8 17H9V16.88C8.43 16.33 8 15.7 7.66 15H7Z\";\r\nexport var mdiLightbulbMultipleOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.14 6.03C3.93 7 4 8.05 4.45 9.04C4.79 9.81 5.33 10.5 6 11V13C6 13.55 6.45 14 7 14H7.3C7.1 13.35 7 12.68 7 12C7 11.08 7.19 10.21 7.5 9.41L9.11 11C9.05 11.33 9 11.66 9 12C9 13.57 9.74 15.06 11 16V18C11 18.55 11.45 19 12 19H16C16.31 19 16.57 18.86 16.75 18.64L20.84 22.73L22.11 21.46M11.23 13.12L12.87 14.76C12.1 14.44 11.53 13.85 11.23 13.12M15 17H13V14.89L15 16.89V17M9.69 6.5L6.14 2.94C6.41 2.75 6.7 2.58 7 2.44C9.53 1.33 12.5 2.47 13.6 5C12.12 5.09 10.77 5.63 9.69 6.5M11.12 7.92C11.94 7.35 12.93 7 14 7C15.57 7 17.06 7.74 18 9C19.33 10.78 19.28 13.14 18.07 14.87L16.62 13.42C16.7 13.28 16.77 13.14 16.83 13C17.38 11.43 16.56 9.72 15 9.16C14.16 8.87 13.29 8.97 12.57 9.37L11.12 7.92M7.68 15C8 15.7 8.46 16.33 9 16.88V17H8C7.45 17 7 16.55 7 16V15H7.68M12 20H16V21C16 21.55 15.55 22 15 22H13C12.45 22 12 21.55 12 21V20Z\";\r\nexport var mdiLightbulbMultipleOutline = \"M12 21C12 21.55 12.45 22 13 22H15C15.55 22 16 21.55 16 21V20H12M14 7C11.24 7 9 9.24 9 12C9 13.57 9.74 15.06 11 16V18C11 18.55 11.45 19 12 19H16C16.55 19 17 18.55 17 18V16C19.21 14.34 19.66 11.21 18 9C17.06 7.74 15.57 7 14 7M15 14.82V17H13V14.82C11.44 14.27 10.62 12.55 11.17 11C11.72 9.43 13.44 8.61 15 9.16C16.56 9.72 17.38 11.43 16.83 13C16.53 13.85 15.85 14.5 15 14.82M7.68 15H7V16C7 16.55 7.45 17 8 17H9V16.88C8.46 16.33 8 15.7 7.68 15M13.6 5C12.5 2.47 9.53 1.33 7 2.45S3.34 6.5 4.45 9.04C4.79 9.81 5.33 10.5 6 11V13C6 13.55 6.45 14 7 14H7.3C7.1 13.35 7 12.68 7 12C7 8.29 9.89 5.21 13.6 5Z\";\r\nexport var mdiLightbulbNight = \"M6 21C6 21.55 6.45 22 7 22H11C11.55 22 12 21.55 12 21V20H6V21M13 16.32V17C13 17.55 12.55 18 12 18H6C5.45 18 5 17.55 5 17V14.74C3.19 13.47 2 11.38 2 9C2 5.13 5.13 2 9 2C10.65 2 12.16 2.57 13.35 3.5C10.8 4.57 9 7.07 9 10C9 12.79 10.64 15.19 13 16.32M20.92 9.94L19.5 9.03L18.1 10L18.5 8.35L17.17 7.32L18.85 7.21L19.41 5.6L20.04 7.18L21.72 7.22L20.42 8.3L20.92 9.94M19.39 13C17.5 15.27 14.03 15.19 12.22 12.95C10 10.13 11.56 6 15 5.34C15.34 5.29 15.64 5.63 15.5 5.97C15.05 7.25 15.12 8.71 15.85 9.97C16.58 11.24 17.79 12.03 19.12 12.25C19.47 12.3 19.62 12.74 19.39 13Z\";\r\nexport var mdiLightbulbNightOutline = \"M6 20H12V21C12 21.55 11.55 22 11 22H7C6.45 22 6 21.55 6 21V20M11 14.89V16H7V13.58C5.23 12.81 4 11.05 4 9C4 6.24 6.24 4 9 4C9.9 4 10.73 4.26 11.46 4.67C12 4.2 12.66 3.81 13.35 3.5C12.16 2.57 10.65 2 9 2C5.13 2 2 5.13 2 9C2 11.38 3.19 13.47 5 14.74V17C5 17.55 5.45 18 6 18H12C12.55 18 13 17.55 13 17V16.32C12.25 15.96 11.57 15.5 11 14.89M20.92 9.94L20.42 8.3L21.72 7.22L20.04 7.18L19.41 5.6L18.85 7.21L17.17 7.32L18.5 8.35L18.1 10L19.5 9.03L20.92 9.94M19.12 12.25C17.79 12.03 16.58 11.24 15.85 9.97C15.12 8.71 15.05 7.25 15.5 5.97C15.64 5.63 15.34 5.29 15 5.34C11.56 6 10 10.13 12.22 12.95C14.03 15.19 17.5 15.27 19.39 13C19.62 12.74 19.47 12.3 19.12 12.25Z\";\r\nexport var mdiLightbulbOff = \"M12,2C9.76,2 7.78,3.05 6.5,4.68L16.31,14.5C17.94,13.21 19,11.24 19,9A7,7 0 0,0 12,2M3.28,4L2,5.27L5.04,8.3C5,8.53 5,8.76 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H14.73L18.73,22L20,20.72L3.28,4M9,20V21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9Z\";\r\nexport var mdiLightbulbOffOutline = \"M12,2C9.76,2 7.78,3.05 6.5,4.68L7.93,6.11C8.84,4.84 10.32,4 12,4A5,5 0 0,1 17,9C17,10.68 16.16,12.16 14.89,13.06L16.31,14.5C17.94,13.21 19,11.24 19,9A7,7 0 0,0 12,2M3.28,4L2,5.27L5.04,8.3C5,8.53 5,8.76 5,9C5,11.38 6.19,13.47 8,14.74V17A1,1 0 0,0 9,18H14.73L18.73,22L20,20.72L3.28,4M7.23,10.5L12.73,16H10V13.58C8.68,13 7.66,11.88 7.23,10.5M9,20V21A1,1 0 0,0 10,22H14A1,1 0 0,0 15,21V20H9Z\";\r\nexport var mdiLightbulbOn = \"M12,6A6,6 0 0,1 18,12C18,14.22 16.79,16.16 15,17.2V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V17.2C7.21,16.16 6,14.22 6,12A6,6 0 0,1 12,6M14,21V22A1,1 0 0,1 13,23H11A1,1 0 0,1 10,22V21H14M20,11H23V13H20V11M1,11H4V13H1V11M13,1V4H11V1H13M4.92,3.5L7.05,5.64L5.63,7.05L3.5,4.93L4.92,3.5M16.95,5.63L19.07,3.5L20.5,4.93L18.37,7.05L16.95,5.63Z\";\r\nexport var mdiLightbulbOn10 = \"M1 11H4V13H1V11M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M11 1H13V4H11V1M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M12 6C8.7 6 6 8.7 6 12C6 14.2 7.2 16.2 9 17.2V19C9 19.6 9.4 20 10 20H14C14.6 20 15 19.6 15 19V17.2C16.8 16.2 18 14.2 18 12C18 8.7 15.3 6 12 6M13 15.9V17H11V15.9C9.3 15.5 8 13.9 8 12C8 9.8 9.8 8 12 8S16 9.8 16 12C16 13.9 14.7 15.4 13 15.9M20 11H23V13H20V11Z\";\r\nexport var mdiLightbulbOn20 = \"M1 11H4V13H1V11M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M13 1H11V4H13V1M20 11V13H23V11H20M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12 9.79 16 12 16 16 14.21 16 12Z\";\r\nexport var mdiLightbulbOn30 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M1 13H4V11H1V13M13 1H11V4H13V1M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12C8 13.2 8.54 14.27 9.38 15H14.62C15.46 14.27 16 13.2 16 12M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5Z\";\r\nexport var mdiLightbulbOn40 = \"M1 11H4V13H1V11M13 1H11V4H13V1M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M20 11V13H23V11H20M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M16 12C16 9.79 14.21 8 12 8S8 9.79 8 12C8 12.74 8.22 13.41 8.57 14H15.43C15.78 13.41 16 12.74 16 12Z\";\r\nexport var mdiLightbulbOn50 = \"M1 11H4V13H1V11M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M13 1H11V4H13V1M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8 12C8 12.35 8.05 12.68 8.14 13H15.86C15.95 12.68 16 12.35 16 12C16 9.79 14.21 8 12 8S8 9.79 8 12Z\";\r\nexport var mdiLightbulbOn60 = \"M10 21H14V22C14 22.6 13.6 23 13 23H11C10.4 23 10 22.6 10 22V21M1 13H4V11H1V13M4.9 3.5L3.5 4.9L5.6 7L7 5.6L4.9 3.5M13 1H11V4H13V1M20 11V13H23V11H20M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8 12H16C16 9.79 14.21 8 12 8S8 9.79 8 12M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5Z\";\r\nexport var mdiLightbulbOn70 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M13 1H11V4H13V1M1 13H4V11H1V13M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8.14 11H15.86C15.41 9.28 13.86 8 12 8S8.59 9.28 8.14 11M20 11V13H23V11H20Z\";\r\nexport var mdiLightbulbOn80 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M1 13H4V11H1V13M13 1H11V4H13V1M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M8.56 10H15.44C14.75 8.81 13.5 8 12 8S9.25 8.81 8.56 10Z\";\r\nexport var mdiLightbulbOn90 = \"M7 5.6L5.6 7L3.5 4.9L4.9 3.5L7 5.6M10 22C10 22.6 10.4 23 11 23H13C13.6 23 14 22.6 14 22V21H10V22M1 13H4V11H1V13M13 1H11V4H13V1M20 11V13H23V11H20M19.1 3.5L17 5.6L18.4 7L20.5 4.9L19.1 3.5M18 12C18 14.2 16.8 16.2 15 17.2V19C15 19.6 14.6 20 14 20H10C9.4 20 9 19.6 9 19V17.2C7.2 16.2 6 14.2 6 12C6 8.7 8.7 6 12 6S18 8.7 18 12M12 8C11 8 10.09 8.38 9.39 9H14.61C13.91 8.38 13 8 12 8Z\";\r\nexport var mdiLightbulbOnOutline = \"M20,11H23V13H20V11M1,11H4V13H1V11M13,1V4H11V1H13M4.92,3.5L7.05,5.64L5.63,7.05L3.5,4.93L4.92,3.5M16.95,5.63L19.07,3.5L20.5,4.93L18.37,7.05L16.95,5.63M12,6A6,6 0 0,1 18,12C18,14.22 16.79,16.16 15,17.2V19A1,1 0 0,1 14,20H10A1,1 0 0,1 9,19V17.2C7.21,16.16 6,14.22 6,12A6,6 0 0,1 12,6M14,21V22A1,1 0 0,1 13,23H11A1,1 0 0,1 10,22V21H14M11,18H13V15.87C14.73,15.43 16,13.86 16,12A4,4 0 0,0 12,8A4,4 0 0,0 8,12C8,13.86 9.27,15.43 11,15.87V18Z\";\r\nexport var mdiLightbulbOutline = \"M12,2A7,7 0 0,1 19,9C19,11.38 17.81,13.47 16,14.74V17A1,1 0 0,1 15,18H9A1,1 0 0,1 8,17V14.74C6.19,13.47 5,11.38 5,9A7,7 0 0,1 12,2M9,21V20H15V21A1,1 0 0,1 14,22H10A1,1 0 0,1 9,21M12,4A5,5 0 0,0 7,9C7,11.05 8.23,12.81 10,13.58V16H14V13.58C15.77,12.81 17,11.05 17,9A5,5 0 0,0 12,4Z\";\r\nexport var mdiLightbulbQuestion = \"M8 2C4.1 2 1 5.1 1 9C1 11.4 2.2 13.5 4 14.7V17C4 17.6 4.4 18 5 18H11C11.6 18 12 17.6 12 17V14.7C13.8 13.4 15 11.3 15 9C15 5.1 11.9 2 8 2M5 21C5 21.6 5.4 22 6 22H10C10.6 22 11 21.6 11 21V20H5V21M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.3 18.3 6 20 6S23 7.3 23 9C23 10 22.5 10.9 21.7 11.4L21.4 11.6C20.8 12 20.5 12.6 20.5 13.3V13.5H19V13.3C19 12.1 19.6 11 20.6 10.4L20.9 10.2C21.3 9.9 21.5 9.5 21.5 9C21.5 8.2 20.8 7.5 20 7.5S18.5 8.2 18.5 9V9.5Z\";\r\nexport var mdiLightbulbQuestionOutline = \"M8 2C11.9 2 15 5.1 15 9C15 11.4 13.8 13.5 12 14.7V17C12 17.6 11.6 18 11 18H5C4.4 18 4 17.6 4 17V14.7C2.2 13.5 1 11.4 1 9C1 5.1 4.1 2 8 2M5 21V20H11V21C11 21.6 10.6 22 10 22H6C5.4 22 5 21.6 5 21M8 4C5.2 4 3 6.2 3 9C3 11.1 4.2 12.8 6 13.6V16H10V13.6C11.8 12.8 13 11.1 13 9C13 6.2 10.8 4 8 4M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.3 18.3 6 20 6S23 7.3 23 9C23 10 22.5 10.9 21.7 11.4L21.4 11.6C20.8 12 20.5 12.6 20.5 13.3V13.5H19V13.3C19 12.1 19.6 11 20.6 10.4L20.9 10.2C21.3 9.9 21.5 9.5 21.5 9C21.5 8.2 20.8 7.5 20 7.5S18.5 8.2 18.5 9V9.5Z\";\r\nexport var mdiLightbulbSpot = \"M9 19H11V22H9L9 19M13 22H15V19H13V22M2 2V4H22V2H2M9 14L9 17H15V14C17.5 12.57 20 11 20 6H4C4 11 6.5 12.57 9 14Z\";\r\nexport var mdiLightbulbSpotOff = \"M20.84 22.73L15.11 17H9L9 14C6.5 12.57 4 11 4 6V5.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M22 4V2H5.2L7.2 4H22M20 6H9.2L16.37 13.17C18.33 11.87 20 10.07 20 6M13 22H15V19H13V22M9 22H11V19H9L9 22Z\";\r\nexport var mdiLightbulbVariant = \"M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20M19 9C19 11.38 17.81 13.47 16 14.74V17C16 17.55 15.55 18 15 18H9C8.45 18 8 17.55 8 17V14.74C6.19 13.47 5 11.38 5 9C5 5.13 8.13 2 12 2S19 5.13 19 9M14.71 8.29C14.32 7.9 13.68 7.9 13.29 8.29L12 9.59L10.71 8.29C10.32 7.9 9.68 7.9 9.29 8.29C8.9 8.68 8.9 9.32 9.29 9.71L11 11.41V16H13V11.41L14.71 9.71C15.1 9.32 15.1 8.68 14.71 8.29Z\";\r\nexport var mdiLightbulbVariantOutline = \"M12 2C8.13 2 5 5.13 5 9C5 11.38 6.19 13.47 8 14.74V17C8 17.55 8.45 18 9 18H15C15.55 18 16 17.55 16 17V14.74C17.81 13.47 19 11.38 19 9C19 5.13 15.87 2 12 2M14 13.58V16H13V11.41L14.71 9.71C15.1 9.32 15.1 8.68 14.71 8.29C14.32 7.9 13.68 7.9 13.29 8.29L12 9.59L10.71 8.29C10.32 7.9 9.68 7.9 9.29 8.29C8.9 8.68 8.9 9.32 9.29 9.71L11 11.41V16H10V13.58C8.23 12.81 7 11.05 7 9C7 6.24 9.24 4 12 4S17 6.24 17 9C17 11.05 15.77 12.81 14 13.58M9 20H15V21C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21V20Z\";\r\nexport var mdiLighthouse = \"M8,10V8H9V4H8V3L12,1L16,3V4H15V8H16V10H14.74L8.44,13.64L9,10H8M13,8V4H11V8H13M7,23L7.04,22.76L16.15,17.5L16.67,20.88L13,23H7M8.05,16.17L15.31,12L15.83,15.37L7.43,20.22L8.05,16.17Z\";\r\nexport var mdiLighthouseOn = \"M1,10V2L10,5V7L1,10M8,10V8H13V4H8V3L12,1L16,3V4H15V8H16V10H14.74L8.44,13.64L9,10H8M7,23L7.04,22.76L16.15,17.5L16.67,20.88L13,23H7M8.05,16.17L15.31,12L15.83,15.37L7.43,20.22L8.05,16.17Z\";\r\nexport var mdiLightningBolt = \"M11 15H6L13 1V9H18L11 23V15Z\";\r\nexport var mdiLightningBoltCircle = \"M11.5,20L16.36,10.27H13V4L8,13.73H11.5V20M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiLightningBoltOutline = \"M11 9.47V11H14.76L13 14.53V13H9.24L11 9.47M13 1L6 15H11V23L18 9H13V1Z\";\r\nexport var mdiLineScan = \"M17 22V20H20V17H22V20.5C22 20.9 21.8 21.2 21.5 21.5C21.2 21.8 20.8 22 20.5 22H17M7 22H3.5C3.1 22 2.8 21.8 2.5 21.5C2.2 21.2 2 20.8 2 20.5V17H4V20H7V22M17 2H20.5C20.9 2 21.2 2.2 21.5 2.5C21.8 2.8 22 3.1 22 3.5V7H20V4H17V2M7 2V4H4V7H2V3.5C2 3.1 2.2 2.8 2.5 2.5S3.1 2 3.5 2H7M19 11H5V13H19V11Z\";\r\nexport var mdiLingerie = \"M22 7H20V2H18V4.34L12 6.91L6 4.34V2H4V7H2V9H4.05C4.3 11.25 6.19 13 8.5 13C9.92 13 11.18 12.33 12 11.3C12.83 12.33 14.08 13 15.5 13C17.81 13 19.7 11.25 19.95 9H22V7M8.5 11C7.12 11 6 9.88 6 8.5V6.5L11 8.65C10.9 9.96 9.83 11 8.5 11M18 8.5C18 9.88 16.88 11 15.5 11C14.17 11 13.1 9.96 13 8.65L18 6.5V8.5M2 15V17H3C5.97 17 8.43 19.17 8.91 22H15.09C15.57 19.17 18.03 17 21 17H22V15H2M13.59 20H10.41C9.94 18.84 9.21 17.82 8.29 17H15.71C14.79 17.82 14.06 18.84 13.59 20Z\";\r\nexport var mdiLink = \"M3.9,12C3.9,10.29 5.29,8.9 7,8.9H11V7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12M8,13H16V11H8V13M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.71 18.71,15.1 17,15.1H13V17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7Z\";\r\nexport var mdiLinkBox = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,16H10C8.39,16 6,14.94 6,12C6,9.07 8.39,8 10,8H11V10H10C9.54,10 8,10.17 8,12C8,13.9 9.67,14 10,14H11V16M15,11V13H9V11H15M14,16H13V14H14C14.46,14 16,13.83 16,12C16,10.1 14.33,10 14,10H13V8H14C15.61,8 18,9.07 18,12C18,14.94 15.61,16 14,16Z\";\r\nexport var mdiLinkBoxOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M11,16H10C8.39,16 6,14.94 6,12C6,9.07 8.39,8 10,8H11V10H10C9.54,10 8,10.17 8,12C8,13.9 9.67,14 10,14H11V16M14,16H13V14H14C14.46,14 16,13.83 16,12C16,10.1 14.33,10 14,10H13V8H14C15.61,8 18,9.07 18,12C18,14.94 15.61,16 14,16M15,13H9V11H15V13Z\";\r\nexport var mdiLinkBoxVariant = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81M17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36C18,10.26 17.65,11.1 17,11.74Z\";\r\nexport var mdiLinkBoxVariantOutline = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M19,19H5V5H19V19M13.94,10.06C14.57,10.7 14.92,11.54 14.92,12.44C14.92,13.34 14.57,14.18 13.94,14.81L11.73,17C11.08,17.67 10.22,18 9.36,18C8.5,18 7.64,17.67 7,17C5.67,15.71 5.67,13.58 7,12.26L8.35,10.9L8.34,11.5C8.33,12 8.41,12.5 8.57,12.94L8.62,13.09L8.22,13.5C7.91,13.8 7.74,14.21 7.74,14.64C7.74,15.07 7.91,15.47 8.22,15.78C8.83,16.4 9.89,16.4 10.5,15.78L12.7,13.59C13,13.28 13.18,12.87 13.18,12.44C13.18,12 13,11.61 12.7,11.3C12.53,11.14 12.44,10.92 12.44,10.68C12.44,10.45 12.53,10.23 12.7,10.06C13.03,9.73 13.61,9.74 13.94,10.06M18,9.36C18,10.26 17.65,11.1 17,11.74L15.66,13.1V12.5C15.67,12 15.59,11.5 15.43,11.06L15.38,10.92L15.78,10.5C16.09,10.2 16.26,9.79 16.26,9.36C16.26,8.93 16.09,8.53 15.78,8.22C15.17,7.6 14.1,7.61 13.5,8.22L11.3,10.42C11,10.72 10.82,11.13 10.82,11.56C10.82,12 11,12.39 11.3,12.7C11.47,12.86 11.56,13.08 11.56,13.32C11.56,13.56 11.47,13.78 11.3,13.94C11.13,14.11 10.91,14.19 10.68,14.19C10.46,14.19 10.23,14.11 10.06,13.94C8.75,12.63 8.75,10.5 10.06,9.19L12.27,7C13.58,5.67 15.71,5.68 17,7C17.65,7.62 18,8.46 18,9.36Z\";\r\nexport var mdiLinkCircle = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M10 16H11V14H10C9.67 14 8 13.9 8 12C8 10.17 9.54 10 10 10H11V8H10C8.39 8 6 9.07 6 12C6 14.94 8.39 16 10 16M13 16H14C15.61 16 18 14.94 18 12C18 9.07 15.61 8 14 8H13V10H14C14.33 10 16 10.1 16 12C16 13.83 14.46 14 14 14H13V16M9 13H15V11H9V13Z\";\r\nexport var mdiLinkCircleOutline = \"M10 16H11V14H10C9.67 14 8 13.9 8 12C8 10.17 9.54 10 10 10H11V8H10C8.39 8 6 9.07 6 12C6 14.94 8.39 16 10 16M13 16H14C15.61 16 18 14.94 18 12C18 9.07 15.61 8 14 8H13V10H14C14.33 10 16 10.1 16 12C16 13.83 14.46 14 14 14H13V16M9 13H15V11H9V13M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.34 17.66C7.84 19.16 9.88 20 12 20C14.12 20 16.16 19.16 17.66 17.66C19.16 16.16 20 14.12 20 12C20 9.88 19.16 7.84 17.66 6.34C16.16 4.84 14.12 4 12 4C9.88 4 7.84 4.84 6.34 6.34C4.84 7.84 4 9.88 4 12C4 14.12 4.84 16.16 6.34 17.66Z\";\r\nexport var mdiLinkEdit = \"M13 22V19.96L19.13 13.83L21.17 15.88L15.04 22H13M21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15M20.54 8.46C20.73 8.65 20.9 8.86 21.06 9.08L19.68 10.45C19.15 9.5 18.15 8.9 17 8.9H13V7H17C18.33 7 19.6 7.53 20.54 8.46M3.9 12C3.9 10.29 5.29 8.9 7 8.9H11V7H7C5.67 7 4.4 7.53 3.46 8.46C2.53 9.4 2 10.67 2 12C2 13.33 2.53 14.6 3.46 15.54C4.4 16.47 5.67 17 7 17H11V15.1H7C5.29 15.1 3.9 13.71 3.9 12M8 13H16V11H8V13Z\";\r\nexport var mdiLinkLock = \"M23 16V15.5A2.5 2.5 0 0 0 18 15.5V16A1 1 0 0 0 17 17V21A1 1 0 0 0 18 22H23A1 1 0 0 0 24 21V17A1 1 0 0 0 23 16M22 16H19V15.5A1.5 1.5 0 0 1 22 15.5M7 8.9H11V7H7A5 5 0 0 0 7 17H11V15.1H7A3.1 3.1 0 0 1 7 8.9M8 11V13H16V11M13 15.1V17H15V15.1M17 7H13V8.9H17A3.09 3.09 0 0 1 19.94 11A5.12 5.12 0 0 1 20.5 11H21.9A5 5 0 0 0 17 7Z\";\r\nexport var mdiLinkOff = \"M17,7H13V8.9H17C18.71,8.9 20.1,10.29 20.1,12C20.1,13.43 19.12,14.63 17.79,15L19.25,16.44C20.88,15.61 22,13.95 22,12A5,5 0 0,0 17,7M16,11H13.81L15.81,13H16V11M2,4.27L5.11,7.38C3.29,8.12 2,9.91 2,12A5,5 0 0,0 7,17H11V15.1H7C5.29,15.1 3.9,13.71 3.9,12C3.9,10.41 5.11,9.1 6.66,8.93L8.73,11H8V13H10.73L13,15.27V17H14.73L18.74,21L20,19.74L3.27,3L2,4.27Z\";\r\nexport var mdiLinkPlus = \"M7,7H11V9H7A3,3 0 0,0 4,12A3,3 0 0,0 7,15H11V17H7A5,5 0 0,1 2,12A5,5 0 0,1 7,7M17,7A5,5 0 0,1 22,12H20A3,3 0 0,0 17,9H13V7H17M8,11H16V13H8V11M17,12H19V15H22V17H19V20H17V17H14V15H17V12Z\";\r\nexport var mdiLinkVariant = \"M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\";\r\nexport var mdiLinkVariantMinus = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M23 18V20H15V18M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7Z\";\r\nexport var mdiLinkVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L13.9,17.17L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L12.5,15.76L10.88,14.15C10.87,14.39 10.77,14.64 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C8.12,13.77 7.63,12.37 7.72,11L2,5.27M12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.79,8.97L9.38,7.55L12.71,4.22M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.2,10.54 16.61,12.5 16.06,14.23L14.28,12.46C14.23,11.78 13.94,11.11 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z\";\r\nexport var mdiLinkVariantPlus = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M23 18V20H20V23H18V20H15V18H18V15H20V18M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7Z\";\r\nexport var mdiLinkVariantRemove = \"M10.6 13.4A1 1 0 0 1 9.2 14.8A4.8 4.8 0 0 1 9.2 7.8L12.7 4.2A5.1 5.1 0 0 1 19.8 4.2A5.1 5.1 0 0 1 19.8 11.3L18.3 12.8A6.4 6.4 0 0 0 17.9 10.4L18.4 9.9A3.2 3.2 0 0 0 18.4 5.6A3.2 3.2 0 0 0 14.1 5.6L10.6 9.2A2.9 2.9 0 0 0 10.6 13.4M16.2 13.7A4.8 4.8 0 0 0 14.8 9.2A1 1 0 0 0 13.4 10.6A2.9 2.9 0 0 1 13.4 14.8L9.9 18.4A3.2 3.2 0 0 1 5.6 18.4A3.2 3.2 0 0 1 5.6 14.1L6.1 13.7A7.3 7.3 0 0 1 5.7 11.2L4.2 12.7A5.1 5.1 0 0 0 4.2 19.8A5.1 5.1 0 0 0 11.3 19.8L13.1 18A6 6 0 0 1 16.2 13.7M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9Z\";\r\nexport var mdiLinkedin = \"M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z\";\r\nexport var mdiLinux = \"M14.62,8.35C14.2,8.63 12.87,9.39 12.67,9.54C12.28,9.85 11.92,9.83 11.53,9.53C11.33,9.37 10,8.61 9.58,8.34C9.1,8.03 9.13,7.64 9.66,7.42C11.3,6.73 12.94,6.78 14.57,7.45C15.06,7.66 15.08,8.05 14.62,8.35M21.84,15.63C20.91,13.54 19.64,11.64 18,9.97C17.47,9.42 17.14,8.8 16.94,8.09C16.84,7.76 16.77,7.42 16.7,7.08C16.5,6.2 16.41,5.3 16,4.47C15.27,2.89 14,2.07 12.16,2C10.35,2.05 9,2.81 8.21,4.4C8,4.83 7.85,5.28 7.75,5.74C7.58,6.5 7.43,7.29 7.25,8.06C7.1,8.71 6.8,9.27 6.29,9.77C4.68,11.34 3.39,13.14 2.41,15.12C2.27,15.41 2.13,15.7 2.04,16C1.85,16.66 2.33,17.12 3.03,16.96C3.47,16.87 3.91,16.78 4.33,16.65C4.74,16.5 4.9,16.6 5,17C5.65,19.15 7.07,20.66 9.24,21.5C13.36,23.06 18.17,20.84 19.21,16.92C19.28,16.65 19.38,16.55 19.68,16.65C20.14,16.79 20.61,16.89 21.08,17C21.57,17.09 21.93,16.84 22,16.36C22.03,16.1 21.94,15.87 21.84,15.63\";\r\nexport var mdiLinuxMint = \"M2,3.23V6.8H3.5C4.59,6.8 4.78,7.53 4.78,8.55V14.86C4.78,18.12 7.65,20.77 11.18,20.77H19.9C21,20.77 22,20.07 22,19V9.2C22,5.93 19.13,3.28 15.6,3.28H11.93V3.27L2,3.23V3.23M6.62,5.46H8.37V14.45C8.37,15.65 9.19,16.59 10.16,16.59L16.13,16.61C17.38,16.61 18.35,15.75 18.35,14.73L18.34,9.96C18.34,9.65 18.24,9.41 18,9.19C17.79,8.96 17.56,8.86 17.25,8.86C16.94,8.86 16.71,8.96 16.5,9.19C16.27,9.41 16.16,9.65 16.16,9.96V14.05H14.31V9.96C14.31,9.65 14.21,9.41 14,9.19C13.77,8.96 13.54,8.86 13.22,8.86C12.92,8.86 12.68,8.96 12.46,9.19C12.24,9.41 12.14,9.65 12.14,9.96V14.05H10.29V9.96C10.29,9.15 10.58,8.44 11.15,7.86C11.72,7.29 12.43,7 13.22,7C14,7 14.68,7.28 15.24,7.82C15.79,7.28 16.47,7 17.25,7C18.05,7 18.76,7.29 19.32,7.86C19.89,8.44 20.19,9.15 20.19,9.96L20.2,15.06C20.11,15.91 19.75,16.67 19.13,17.31V17.31C18.4,18.04 17.5,18.42 16.5,18.42H9.83C9,18.34 8.29,17.95 7.69,17.36C7,16.65 6.62,15.79 6.62,14.79V5.46H6.62Z\";\r\nexport var mdiLipstick = \"M9 23C8.45 23 8 22.55 8 22V13C8 12.45 8.45 12 9 12H15C15.55 12 16 12.45 16 13V22C16 22.55 15.55 23 15 23H9M10 11C9.45 11 9 10.55 9 10V5.25C9 5.25 11 3 11.75 1C12.83 1.67 13.92 2.33 14.46 3.83C15 5.33 15 7.67 15 10C15 10.55 14.55 11 14 11H10Z\";\r\nexport var mdiLiquidSpot = \"M18.14 16.7C17.23 18.21 16.08 17.73 15 17.09S12.9 15.68 12.25 16.59C11.54 17.37 12.09 18.62 12.37 19.72C12.65 20.83 12.67 21.79 10.9 22C9.5 21.81 9.58 20.65 9.81 19.42C10.04 18.19 10.4 16.89 9.5 16.43C8.78 15.95 8.28 16.78 7.65 17.6C7 18.41 6.26 19.2 5.04 18.62C3.94 17.71 4.36 17.18 4.94 16.5S6.27 14.91 5.84 13.31C5.66 12.66 4.76 12.81 3.87 12.79C3 12.77 2.12 12.59 2.03 11.29C1.96 10.5 2.55 10.18 3.16 9.93C3.78 9.68 4.41 9.5 4.42 8.87C4.45 8.26 4.04 7.83 3.78 7.38S3.41 6.46 4.03 5.76C5.08 4.9 5.92 5.63 6.76 6.42S8.43 8.04 9.46 7.39C10.28 6.85 9.53 5.9 8.95 4.97S7.96 3.15 9.46 2.74C10.76 2.38 11.26 3.27 11.71 4.3C12.17 5.33 12.57 6.5 13.67 6.71C15.24 7 16.38 5.16 17.47 3.7S19.63 1.15 21 2.95C22.5 4.84 21.07 5.72 19.4 6.5C17.73 7.23 15.81 7.87 16.27 9.28C16.54 10.1 17.42 9.65 18.35 9.34C19.27 9.03 20.26 8.86 20.74 10.27C21.25 11.76 20.04 12.1 18.68 12.24C17.32 12.38 15.8 12.32 15.7 13C15.59 13.71 16.5 14 17.29 14.42C18.08 14.85 18.75 15.42 18.14 16.7M20.5 19C19.55 19 19.06 18.26 19.06 17.5C19.06 16.74 19.54 16 20.5 16C21.5 16 22 16.74 22 17.5C22 18.26 21.5 19 20.5 19Z\";\r\nexport var mdiLiquor = \"M3 14C3 15.3 3.8 16.4 5 16.8V20H3V22H9V20H7V16.8C8.2 16.4 9 15.3 9 14V6H3V14M5 8H7V11H5V8M20.6 8.5L19.6 8.2C19.3 8.1 19 7.7 19 7.3V3C19 2.5 18.5 2 18 2H15C14.4 2 14 2.5 14 3V7.3C14 7.7 13.7 8.1 13.3 8.3L12.4 8.6C11.6 8.9 11 9.6 11 10.5V20C11 21.1 11.9 22 13 22H20C21.1 22 22 21.1 22 20V10.4C22 9.6 21.5 8.8 20.6 8.5M16 4H17V5H16V4M13 10.4L13.9 10.1C15.2 9.7 16 8.6 16 7.3V7H17V7.3C17 8.6 17.8 9.7 19 10.1L20 10.4V12H13V10.4M20 20H13V18H20V20Z\";\r\nexport var mdiListBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7 7H9V9H7V7M7 11H9V13H7V11M7 15H9V17H7V15M17 17H11V15H17V17M17 13H11V11H17V13M17 9H11V7H17V9Z\";\r\nexport var mdiListBoxOutline = \"M11 15H17V17H11V15M9 7H7V9H9V7M11 13H17V11H11V13M11 9H17V7H11V9M9 11H7V13H9V11M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H5V19H19V5M9 15H7V17H9V15Z\";\r\nexport var mdiListStatus = \"M16.5 11L13 7.5L14.4 6.1L16.5 8.2L20.7 4L22.1 5.4L16.5 11M11 7H2V9H11V7M21 13.4L19.6 12L17 14.6L14.4 12L13 13.4L15.6 16L13 18.6L14.4 20L17 17.4L19.6 20L21 18.6L18.4 16L21 13.4M11 15H2V17H11V15Z\";\r\nexport var mdiLitecoin = \"M12.55,15.92L13.16,13.78L14.81,13.19L16.25,7.63L14.56,8.31L16.25,2H8L5.38,11.77L3.72,12.34L2.22,17.91L4,17.27L2.66,22H20.16L21.78,15.92H12.55M19.39,21H4L5.46,15.65L3.72,16.3L4.58,13.11L6.24,12.54L8.74,3H15L13.13,10L14.83,9.3L14,12.42L12.33,13L11.22,16.91H20.5L19.39,21Z\";\r\nexport var mdiLoading = \"M12,4V2A10,10 0 0,0 2,12H4A8,8 0 0,1 12,4Z\";\r\nexport var mdiLocationEnter = \"M14 12L10 8V11H2V13H10V16M22 12A10 10 0 0 1 2.46 15H4.59A8 8 0 1 0 4.59 9H2.46A10 10 0 0 1 22 12Z\";\r\nexport var mdiLocationExit = \"M22 12L18 8V11H10V13H18V16M20 18A10 10 0 1 1 20 6H17.27A8 8 0 1 0 17.27 18Z\";\r\nexport var mdiLock = \"M12,17A2,2 0 0,0 14,15C14,13.89 13.1,13 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V10C4,8.89 4.9,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\";\r\nexport var mdiLockAlert = \"M10 17C11.1 17 12 16.1 12 15C12 13.9 11.1 13 10 13C8.9 13 8 13.9 8 15S8.9 17 10 17M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H5V6C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 3C8.3 3 7 4.3 7 6V8H13V6C13 4.3 11.7 3 10 3M22 13H20V7H22V13M22 17H20V15H22V17Z\";\r\nexport var mdiLockAlertOutline = \"M10 17C8.9 17 8 16.1 8 15C8 13.9 8.9 13 10 13C11.1 13 12 13.9 12 15S11.1 17 10 17M16 20V10H4V20H16M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H5V6C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 3C8.3 3 7 4.3 7 6V8H13V6C13 4.3 11.7 3 10 3M22 7H20V13H22V7M22 15H20V17H22V15Z\";\r\nexport var mdiLockCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiLockCheckOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiLockClock = \"M8.5,2C6,2 4,4 4,6.5V7C2.89,7 2,7.89 2,9V18C2,19.11 2.89,20 4,20H8.72C10.18,21.29 12.06,22 14,22A8,8 0 0,0 22,14A8,8 0 0,0 14,6C13.66,6 13.32,6.03 13,6.08C12.76,3.77 10.82,2 8.5,2M8.5,4A2.5,2.5 0 0,1 11,6.5V7H6V6.5A2.5,2.5 0 0,1 8.5,4M14,8A6,6 0 0,1 20,14A6,6 0 0,1 14,20A6,6 0 0,1 8,14A6,6 0 0,1 14,8M13,10V15L16.64,17.19L17.42,15.9L14.5,14.15V10H13Z\";\r\nexport var mdiLockMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M23 18V20H15V18H23Z\";\r\nexport var mdiLockMinusOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M15 18V20H23V18H15Z\";\r\nexport var mdiLockOff = \"M9 5.82L7.36 4.16C8.09 2.31 9.89 1 12 1C14.76 1 17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V16.8L11.2 8H15V6C15 4.34 13.66 3 12 3C10.41 3 9.11 4.25 9 5.82M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20V10C4 8.89 4.9 8 6 8H6.11L1.11 3L2.39 1.73L22.11 21.46M13.85 15.74L11.26 13.15C10.5 13.44 10 14.16 10 15C10 16.11 10.9 17 12 17C12.84 17 13.56 16.5 13.85 15.74Z\";\r\nexport var mdiLockOffOutline = \"M9 5.82L7.36 4.16C8.09 2.31 9.89 1 12 1C14.76 1 17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V16.8L18 14.8V10H13.2L11.2 8H15V6C15 4.34 13.66 3 12 3C10.41 3 9.11 4.25 9 5.82M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H6.11L1.11 3L2.39 1.73L22.11 21.46M18 19.89L13.85 15.74C13.56 16.5 12.84 17 12 17C10.89 17 10 16.1 10 15C10 14.15 10.5 13.44 11.26 13.15L8.11 10H6V20H18V19.89Z\";\r\nexport var mdiLockOpen = \"M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,0 14,15A2,2 0 0,0 12,13A2,2 0 0,0 10,15A2,2 0 0,0 12,17Z\";\r\nexport var mdiLockOpenAlert = \"M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H13V6C13 4.3 11.7 3 10 3S7 4.3 7 6H5C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 17C11.1 17 12 16.1 12 15S11.1 13 10 13 8 13.9 8 15 8.9 17 10 17M22 13H20V7H22V13M22 17H20V15H22V17Z\";\r\nexport var mdiLockOpenAlertOutline = \"M16 20V10H4V20H16M16 8C17.1 8 18 8.9 18 10V20C18 21.1 17.1 22 16 22H4C2.9 22 2 21.1 2 20V10C2 8.9 2.9 8 4 8H13V6C13 4.3 11.7 3 10 3S7 4.3 7 6H5C5 3.2 7.2 1 10 1S15 3.2 15 6V8H16M10 17C8.9 17 8 16.1 8 15S8.9 13 10 13 12 13.9 12 15 11.1 17 10 17M22 7H20V13H22V7M22 15H20V17H22V15Z\";\r\nexport var mdiLockOpenCheck = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiLockOpenCheckOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiLockOpenMinus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M23 18V20H15V18H23Z\";\r\nexport var mdiLockOpenMinusOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M15 18V20H23V18H15Z\";\r\nexport var mdiLockOpenOutline = \"M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10A2,2 0 0,1 6,8H15V6A3,3 0 0,0 12,3A3,3 0 0,0 9,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,17A2,2 0 0,1 10,15A2,2 0 0,1 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17Z\";\r\nexport var mdiLockOpenPlus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiLockOpenPlusOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiLockOpenRemove = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiLockOpenRemoveOutline = \"M14 15C14 16.11 13.11 17 12 17S10 16.11 10 15 10.9 13 12 13 14 13.9 14 15M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6H9C9 4.34 10.34 3 12 3S15 4.34 15 6V8H6C4.89 8 4 8.9 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiLockOpenVariant = \"M18 1C15.24 1 13 3.24 13 6V8H4C2.9 8 2 8.89 2 10V20C2 21.11 2.9 22 4 22H16C17.11 22 18 21.11 18 20V10C18 8.9 17.11 8 16 8H15V6C15 4.34 16.34 3 18 3C19.66 3 21 4.34 21 6V8H23V6C23 3.24 20.76 1 18 1M10 13C11.1 13 12 13.89 12 15C12 16.11 11.11 17 10 17C8.9 17 8 16.11 8 15C8 13.9 8.9 13 10 13Z\";\r\nexport var mdiLockOpenVariantOutline = \"M10 13C11.1 13 12 13.89 12 15C12 16.11 11.11 17 10 17S8 16.11 8 15 8.9 13 10 13M18 1C15.24 1 13 3.24 13 6V8H4C2.9 8 2 8.9 2 10V20C2 21.1 2.9 22 4 22H16C17.1 22 18 21.1 18 20V10C18 8.9 17.1 8 16 8H15V6C15 4.34 16.34 3 18 3S21 4.34 21 6V8H23V6C23 3.24 20.76 1 18 1M16 10V20H4V10H16Z\";\r\nexport var mdiLockOutline = \"M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z\";\r\nexport var mdiLockPattern = \"M7,3A4,4 0 0,1 11,7C11,8.86 9.73,10.43 8,10.87V13.13C8.37,13.22 8.72,13.37 9.04,13.56L13.56,9.04C13.2,8.44 13,7.75 13,7A4,4 0 0,1 17,3A4,4 0 0,1 21,7A4,4 0 0,1 17,11C16.26,11 15.57,10.8 15,10.45L10.45,15C10.8,15.57 11,16.26 11,17A4,4 0 0,1 7,21A4,4 0 0,1 3,17C3,15.14 4.27,13.57 6,13.13V10.87C4.27,10.43 3,8.86 3,7A4,4 0 0,1 7,3M17,13A4,4 0 0,1 21,17A4,4 0 0,1 17,21A4,4 0 0,1 13,17A4,4 0 0,1 17,13M17,15A2,2 0 0,0 15,17A2,2 0 0,0 17,19A2,2 0 0,0 19,17A2,2 0 0,0 17,15Z\";\r\nexport var mdiLockPercent = \"M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M9 6C9 4.3 10.3 3 12 3S15 4.3 15 6V8H9V6M9.5 11C10.3 11 11 11.7 11 12.5S10.3 14 9.5 14 8 13.3 8 12.5 8.7 11 9.5 11M14.5 19C13.7 19 13 18.3 13 17.5S13.7 16 14.5 16 16 16.7 16 17.5 15.3 19 14.5 19M9.2 19.2L7.8 17.8L14.9 10.7L16.3 12.1L9.2 19.2Z\";\r\nexport var mdiLockPercentOpen = \"M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6H9C9 4.3 10.3 3 12 3S15 4.3 15 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M9.5 11C10.3 11 11 11.7 11 12.5S10.3 14 9.5 14 8 13.3 8 12.5 8.7 11 9.5 11M14.5 19C13.7 19 13 18.3 13 17.5S13.7 16 14.5 16 16 16.7 16 17.5 15.3 19 14.5 19M9.2 19.2L7.8 17.8L14.9 10.7L16.3 12.1L9.2 19.2Z\";\r\nexport var mdiLockPercentOpenOutline = \"M9.5 11C10.3 11 11 11.7 11 12.5S10.3 14 9.5 14 8 13.3 8 12.5 8.7 11 9.5 11M14.5 19C13.7 19 13 18.3 13 17.5S13.7 16 14.5 16 16 16.7 16 17.5 15.3 19 14.5 19M9.2 19.2L7.8 17.8L14.9 10.7L16.3 12.1L9.2 19.2M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6H9C9 4.3 10.3 3 12 3S15 4.3 15 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M18 20H6V10H18V20Z\";\r\nexport var mdiLockPercentOpenVariant = \"M18 1C15.2 1 13 3.2 13 6V8H4C2.9 8 2 8.9 2 10V20C2 21.1 2.9 22 4 22H16C17.1 22 18 21.1 18 20V10C18 8.9 17.1 8 16 8H15V6C15 4.3 16.3 3 18 3S21 4.3 21 6V8H23V6C23 3.2 20.8 1 18 1M7.5 11C8.3 11 9 11.7 9 12.5S8.3 14 7.5 14 6 13.3 6 12.5 6.7 11 7.5 11M12.5 19C11.7 19 11 18.3 11 17.5S11.7 16 12.5 16 14 16.7 14 17.5 13.3 19 12.5 19M7.2 19.2L5.8 17.8L12.9 10.7L14.3 12.1L7.2 19.2Z\";\r\nexport var mdiLockPercentOpenVariantOutline = \"M7.5 11C8.3 11 9 11.7 9 12.5S8.3 14 7.5 14 6 13.3 6 12.5 6.7 11 7.5 11M12.5 19C11.7 19 11 18.3 11 17.5S11.7 16 12.5 16 14 16.7 14 17.5 13.3 19 12.5 19M7.2 19.2L5.8 17.8L12.9 10.7L14.3 12.1L7.2 19.2M18 1C15.2 1 13 3.2 13 6V8H4C2.9 8 2 8.9 2 10V20C2 21.1 2.9 22 4 22H16C17.1 22 18 21.1 18 20V10C18 8.9 17.1 8 16 8H15V6C15 4.3 16.3 3 18 3S21 4.3 21 6V8H23V6C23 3.2 20.8 1 18 1M16 10V20H4V10H16Z\";\r\nexport var mdiLockPercentOutline = \"M18 8H17V6C17 3.2 14.8 1 12 1S7 3.2 7 6V8H6C4.9 8 4 8.9 4 10V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V10C20 8.9 19.1 8 18 8M9 6C9 4.3 10.3 3 12 3S15 4.3 15 6V8H9V6M18 20H6V10H18V20M11 12.5C11 13.3 10.3 14 9.5 14S8 13.3 8 12.5 8.7 11 9.5 11 11 11.7 11 12.5M16 17.5C16 18.3 15.3 19 14.5 19S13 18.3 13 17.5 13.7 16 14.5 16 16 16.7 16 17.5M16.2 12.2L9.1 19.3L7.7 17.9L14.8 10.8L16.2 12.2Z\";\r\nexport var mdiLockPlus = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiLockPlusOutline = \"M6 20V10H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.89 8 4 8.89 4 10V20C4 21.1 4.89 22 6 22H13.81C13.46 21.39 13.22 20.72 13.09 20H6M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiLockQuestion = \"M12,1A5,5 0 0,0 7,6V8H6A2,2 0 0,0 4,10V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V10A2,2 0 0,0 18,8H17V6A5,5 0 0,0 12,1M12,2.9C13.71,2.9 15.1,4.29 15.1,6V8H8.9V6C8.9,4.29 10.29,2.9 12,2.9M12.19,10.5C13.13,10.5 13.88,10.71 14.42,11.12C14.96,11.54 15.23,12.1 15.23,12.8C15.23,13.24 15.08,13.63 14.79,14C14.5,14.36 14.12,14.64 13.66,14.85C13.4,15 13.23,15.15 13.14,15.32C13.05,15.5 13,15.72 13,16H11C11,15.5 11.1,15.16 11.29,14.92C11.5,14.68 11.84,14.4 12.36,14.08C12.62,13.94 12.83,13.76 13,13.54C13.14,13.33 13.22,13.08 13.22,12.8C13.22,12.5 13.13,12.28 12.95,12.11C12.77,11.93 12.5,11.85 12.19,11.85C11.92,11.85 11.7,11.92 11.5,12.06C11.34,12.2 11.24,12.41 11.24,12.69H9.27C9.22,12 9.5,11.4 10.05,11.04C10.59,10.68 11.3,10.5 12.19,10.5M11,17H13V19H11V17Z\";\r\nexport var mdiLockRemove = \"M19 13C19.34 13 19.67 13.04 20 13.09V10C20 8.9 19.11 8 18 8H17V6C17 3.24 14.76 1 12 1S7 3.24 7 6V8H6C4.9 8 4 8.89 4 10V20C4 21.11 4.89 22 6 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M9 6C9 4.34 10.34 3 12 3S15 4.34 15 6V8H9V6M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13C13.1 13 14 13.89 14 15C14 16.11 13.11 17 12 17M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiLockRemoveOutline = \"M14 15C14 16.11 13.11 17 12 17C10.89 17 10 16.1 10 15C10 13.89 10.89 13 12 13C13.11 13 14 13.9 14 15M13.09 20C13.21 20.72 13.46 21.39 13.81 22H6C4.89 22 4 21.1 4 20V10C4 8.89 4.89 8 6 8H7V6C7 3.24 9.24 1 12 1S17 3.24 17 6V8H18C19.11 8 20 8.9 20 10V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V10H6V20H13.09M9 8H15V6C15 4.34 13.66 3 12 3S9 4.34 9 6V8M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiLockReset = \"M12.63,2C18.16,2 22.64,6.5 22.64,12C22.64,17.5 18.16,22 12.63,22C9.12,22 6.05,20.18 4.26,17.43L5.84,16.18C7.25,18.47 9.76,20 12.64,20A8,8 0 0,0 20.64,12A8,8 0 0,0 12.64,4C8.56,4 5.2,7.06 4.71,11H7.47L3.73,14.73L0,11H2.69C3.19,5.95 7.45,2 12.63,2M15.59,10.24C16.09,10.25 16.5,10.65 16.5,11.16V15.77C16.5,16.27 16.09,16.69 15.58,16.69H10.05C9.54,16.69 9.13,16.27 9.13,15.77V11.16C9.13,10.65 9.54,10.25 10.04,10.24V9.23C10.04,7.7 11.29,6.46 12.81,6.46C14.34,6.46 15.59,7.7 15.59,9.23V10.24M12.81,7.86C12.06,7.86 11.44,8.47 11.44,9.23V10.24H14.19V9.23C14.19,8.47 13.57,7.86 12.81,7.86Z\";\r\nexport var mdiLockSmart = \"M12,2A6,6 0 0,0 6,8V16A6,6 0 0,0 12,22A6,6 0 0,0 18,16V8A6,6 0 0,0 12,2M8,6H10V8H8V6M11,6H13V8H11V6M14,6H16V8H14V6M8,9H10V11H8V9M11,9H13V11H11V9M14,9H16V11H14V9M8,12H10V14H8V12M11,12H13V14H11V12M14,12H16V14H14V12M12,16A2,2 0 0,1 14,18A2,2 0 0,1 12,20A2,2 0 0,1 10,18A2,2 0 0,1 12,16Z\";\r\nexport var mdiLocker = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,4V20H16V4H8M10,13H12V17H10V13M10,6H14V7.5H10V6M10,9H14V10.5H10V9Z\";\r\nexport var mdiLockerMultiple = \"M3,2H21A2,2 0 0,1 23,4V20A2,2 0 0,1 21,22H3A2,2 0 0,1 1,20V4A2,2 0 0,1 3,2M13,4V20H21V4H13M3,4V20H11V4H3M5,13H7V17H5V13M5,6H9V7.5H5V6M5,9H9V10.5H5V9M15,13H17V17H15V13M15,6H19V7.5H15V6M15,9H19V10.5H15V9Z\";\r\nexport var mdiLogin = \"M11 7L9.6 8.4L12.2 11H2V13H12.2L9.6 15.6L11 17L16 12L11 7M20 19H12V21H20C21.1 21 22 20.1 22 19V5C22 3.9 21.1 3 20 3H12V5H20V19Z\";\r\nexport var mdiLoginVariant = \"M19,3H5C3.89,3 3,3.89 3,5V9H5V5H19V19H5V15H3V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10.08,15.58L11.5,17L16.5,12L11.5,7L10.08,8.41L12.67,11H3V13H12.67L10.08,15.58Z\";\r\nexport var mdiLogout = \"M17 8L15.6 9.4L17.2 11H9V13H17.2L15.6 14.6L17 16L21 12L17 8M5 5H12V3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H12V19H5V5Z\";\r\nexport var mdiLogoutVariant = \"M14.08,15.59L16.67,13H7V11H16.67L14.08,8.41L15.5,7L20.5,12L15.5,17L14.08,15.59M19,3A2,2 0 0,1 21,5V9.67L19,7.67V5H5V19H19V16.33L21,14.33V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19Z\";\r\nexport var mdiLongitude = \"M12 2A10 10 0 1 0 22 12A10.03 10.03 0 0 0 12 2M9.4 19.6A8.05 8.05 0 0 1 9.4 4.4A16.45 16.45 0 0 0 7.5 12A16.45 16.45 0 0 0 9.4 19.6M12 20A13.81 13.81 0 0 1 9.5 12A13.81 13.81 0 0 1 12 4A13.81 13.81 0 0 1 14.5 12A13.81 13.81 0 0 1 12 20M14.6 19.6A16.15 16.15 0 0 0 14.6 4.4A8.03 8.03 0 0 1 20 12A7.9 7.9 0 0 1 14.6 19.6Z\";\r\nexport var mdiLooks = \"M12,6A11,11 0 0,0 1,17H3C3,12.04 7.04,8 12,8C16.96,8 21,12.04 21,17H23A11,11 0 0,0 12,6M12,10C8.14,10 5,13.14 5,17H7A5,5 0 0,1 12,12A5,5 0 0,1 17,17H19C19,13.14 15.86,10 12,10Z\";\r\nexport var mdiLotion = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M16 12V22H4V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12Z\";\r\nexport var mdiLotionOutline = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M16 12V20C16 21.1 15.1 22 14 22H6C4.9 22 4 21.1 4 20V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12M14 12C14 9.79 12.21 8 10 8S6 9.79 6 12V20H14V12Z\";\r\nexport var mdiLotionPlus = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M13 14H11V12H9V14H7V16H9V18H11V16H13V14M16 12V22H4V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12Z\";\r\nexport var mdiLotionPlusOutline = \"M15.5 6.5C15.5 5.66 17 4 17 4S18.5 5.66 18.5 6.5C18.5 7.33 17.83 8 17 8S15.5 7.33 15.5 6.5M19.5 15C20.88 15 22 13.88 22 12.5C22 10.83 19.5 8 19.5 8S17 10.83 17 12.5C17 13.88 18.12 15 19.5 15M13 14H11V12H9V14H7V16H9V18H11V16H13V14M16 12V20C16 21.1 15.1 22 14 22H6C4.9 22 4 21.1 4 20V12C4 9.03 6.16 6.57 9 6.09V4H7V2H13C14.13 2 15.15 2.39 16 3L14.56 4.44C14.1 4.17 13.57 4 13 4H11V6.09C13.84 6.57 16 9.03 16 12M14 12C14 9.79 12.21 8 10 8S6 9.79 6 12V20H14V12Z\";\r\nexport var mdiLoupe = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22H20A2,2 0 0,0 22,20V12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z\";\r\nexport var mdiLumx = \"M12.35,1.75L20.13,9.53L13.77,15.89L12.35,14.47L17.3,9.53L10.94,3.16L12.35,1.75M15.89,9.53L14.47,10.94L10.23,6.7L5.28,11.65L3.87,10.23L10.23,3.87L15.89,9.53M10.23,8.11L11.65,9.53L6.7,14.47L13.06,20.84L11.65,22.25L3.87,14.47L10.23,8.11M8.11,14.47L9.53,13.06L13.77,17.3L18.72,12.35L20.13,13.77L13.77,20.13L8.11,14.47Z\";\r\nexport var mdiLungs = \"M15.47 3.11C15 2.85 14.37 3.05 14.11 3.54C14.04 3.68 14 3.84 14 4V6.59L13.29 5.88C13.1 5.69 13 5.44 13 5.18V1H11V5.17C11 5.44 10.9 5.69 10.71 5.88L10 6.59V4C10 3.44 9.54 3 9 3C8.83 3 8.67 3.04 8.53 3.11C4.72 5 2 9.97 2 15.77C2 17.67 2.33 19.55 3 21.32C3.19 21.85 3.76 22.13 4.29 21.94C4.34 21.92 4.39 21.9 4.44 21.87L9.5 19.07C9.81 18.9 10 18.56 10 18.19V9.41L11.3 8.12C11.69 7.73 12.32 7.73 12.71 8.12L14 9.42V18.2C14 18.56 14.21 18.9 14.5 19.08L19.58 21.88C20.07 22.14 20.68 21.96 20.94 21.46C20.96 21.42 21 21.37 21 21.32C21.67 19.55 22 17.67 22 15.77C22 9.97 19.29 5 15.47 3.11Z\";\r\nexport var mdiMace = \"M19.92 9.27C19.97 9 20 8.76 20 8.5S19.97 8 19.92 7.73L23 8.5L19.92 9.27M14.69 12.92L15.5 16.16L16.31 12.92C16.05 12.97 15.78 13 15.5 13S14.95 12.97 14.69 12.92M11.7 10.89L6.79 15.79L6.09 15.09L1 20.17L3.83 23L8.91 17.91L8.21 17.21L13.11 12.3C12.54 11.94 12.06 11.46 11.7 10.89M16.27 4.08L15.5 1L14.73 4.08C15 4.03 15.24 4 15.5 4S16 4.03 16.27 4.08M8 8.5L11.08 9.27C11.03 9 11 8.76 11 8.5S11.03 8 11.08 7.73L8 8.5M18.63 10.04C18.86 9.58 19 9.06 19 8.5S18.86 7.42 18.63 6.96L21 3L17.04 5.37C16.58 5.14 16.06 5 15.5 5S14.42 5.14 13.96 5.37L10 3L12.37 6.96C12.14 7.42 12 7.94 12 8.5C12 10.43 13.57 12 15.5 12C16.06 12 16.58 11.86 17.04 11.63L21 14L18.63 10.04Z\";\r\nexport var mdiMagazinePistol = \"M14 1L12 3H7L9 21H8V23H18V21L16 1M9 5H12L12.24 7H9.24M9.47 9H12.47L12.71 11H9.71M9.94 13H12.94L13.18 15H10.18M10.41 17H13.41L13.65 19H10.65Z\";\r\nexport var mdiMagazineRifle = \"M7 1V3H8V13L5 19L14 23L18 13V3H19V1M10 3H16V5H11.88V13.45L9.6 18.14L8 17.5L10 13.5Z\";\r\nexport var mdiMagicStaff = \"M17.5 9C16.12 9 15 7.88 15 6.5S16.12 4 17.5 4 20 5.12 20 6.5 18.88 9 17.5 9M14.43 8.15L2 20.59L3.41 22L15.85 9.57C15.25 9.24 14.76 8.75 14.43 8.15M13 5L13.63 3.63L15 3L13.63 2.37L13 1L12.38 2.37L11 3L12.38 3.63L13 5M21 5L21.63 3.63L23 3L21.63 2.37L21 1L20.38 2.37L19 3L20.38 3.63L21 5M21 9L20.38 10.37L19 11L20.38 11.63L21 13L21.63 11.63L23 11L21.63 10.37L21 9Z\";\r\nexport var mdiMagnet = \"M3,7V13A9,9 0 0,0 12,22A9,9 0 0,0 21,13V7H17V13A5,5 0 0,1 12,18A5,5 0 0,1 7,13V7M17,5H21V2H17M3,5H7V2H3\";\r\nexport var mdiMagnetOn = \"M3,7V13A9,9 0 0,0 12,22A9,9 0 0,0 21,13V7H17V13A5,5 0 0,1 12,18A5,5 0 0,1 7,13V7M17,5H21V2H17M3,5H7V2H3M13,1.5L9,9H11V14.5L15,7H13V1.5Z\";\r\nexport var mdiMagnify = \"M9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.44,13.73L14.71,14H15.5L20.5,19L19,20.5L14,15.5V14.71L13.73,14.44C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\";\r\nexport var mdiMagnifyClose = \"M9,2A7,7 0 0,1 16,9C16,10.5 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.5,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M11.12,5.46L9,7.59L6.88,5.46L5.46,6.88L7.59,9L5.46,11.12L6.88,12.54L9,10.41L11.12,12.54L12.54,11.12L10.41,9L12.54,6.88L11.12,5.46Z\";\r\nexport var mdiMagnifyExpand = \"M18 16H17.42L16.61 15.19C17.5 14 18 12.5 18 11C18 7.13 14.87 4 11 4C9.5 4 8 4.5 6.79 5.4C3.7 7.72 3.07 12.11 5.39 15.2C7.71 18.29 12.1 18.92 15.19 16.6L16 17.41V18L21 23L23 21L18 16M11 16C8.24 16 6 13.76 6 11S8.24 6 11 6 16 8.24 16 11 13.76 16 11 16M3 6L1 8V1H8L6 3H3V6M21 1V8L19 6V3H16L14 1H21M6 19L8 21H1V14L3 16V19H6Z\";\r\nexport var mdiMagnifyMinus = \"M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M5,8V10H13V8H5Z\";\r\nexport var mdiMagnifyMinusCursor = \"M11,4A7,7 0 0,1 18,11C18,12.5 17.5,14 16.61,15.19L17.42,16H18L23,21L21,23L16,18V17.41L15.19,16.6C12.1,18.92 7.71,18.29 5.39,15.2C3.07,12.11 3.7,7.72 6.79,5.4C8,4.5 9.5,4 11,4M7,10V12H15V10H7M1,1V8L8,1H1Z\";\r\nexport var mdiMagnifyMinusOutline = \"M15.5,14H14.71L14.43,13.73C15.41,12.59 16,11.11 16,9.5A6.5,6.5 0 0,0 9.5,3A6.5,6.5 0 0,0 3,9.5A6.5,6.5 0 0,0 9.5,16C11.11,16 12.59,15.41 13.73,14.43L14,14.71V15.5L19,20.5L20.5,19L15.5,14M9.5,14C7,14 5,12 5,9.5C5,7 7,5 9.5,5C12,5 14,7 14,9.5C14,12 12,14 9.5,14M7,9H12V10H7V9Z\";\r\nexport var mdiMagnifyPlus = \"M9,2A7,7 0 0,1 16,9C16,10.57 15.5,12 14.61,13.19L15.41,14H16L22,20L20,22L14,16V15.41L13.19,14.61C12,15.5 10.57,16 9,16A7,7 0 0,1 2,9A7,7 0 0,1 9,2M8,5V8H5V10H8V13H10V10H13V8H10V5H8Z\";\r\nexport var mdiMagnifyPlusCursor = \"M11,4A7,7 0 0,1 18,11C18,12.5 17.5,14 16.61,15.19L17.42,16H18L23,21L21,23L16,18V17.41L15.19,16.6C12.1,18.92 7.71,18.29 5.39,15.2C3.07,12.11 3.7,7.72 6.79,5.4C8,4.5 9.5,4 11,4M10,7V10H7V12H10V15H12V12H15V10H12V7H10M1,1V8L8,1H1Z\";\r\nexport var mdiMagnifyPlusOutline = \"M15.5,14L20.5,19L19,20.5L14,15.5V14.71L13.73,14.43C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.43,13.73L14.71,14H15.5M9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14M12,10H10V12H9V10H7V9H9V7H10V9H12V10Z\";\r\nexport var mdiMagnifyRemoveCursor = \"M1 1V8L8 1H1M18 16H17.42L16.61 15.19C17.5 14 18 12.5 18 11C18 7.13 14.87 4 11 4C9.5 4 8 4.5 6.79 5.4C3.7 7.72 3.07 12.11 5.39 15.2C7.71 18.29 12.1 18.92 15.19 16.6L16 17.41V18L21 23L23 21L18 16M14.6 13.16L13.18 14.58L11.06 12.45L8.94 14.58L7.5 13.16L9.65 11.04L7.5 8.92L8.94 7.5L11.06 9.63L13.18 7.5L14.6 8.92L12.47 11.04L14.6 13.16Z\";\r\nexport var mdiMagnifyRemoveOutline = \"M15.5 14H14.71L14.43 13.73C15.41 12.59 16 11.11 16 9.5C16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16C11.11 16 12.59 15.41 13.73 14.43L14 14.71V15.5L19 20.5L20.5 19L15.5 14M9.5 14C7 14 5 12 5 9.5S7 5 9.5 5 14 7 14 9.5 12 14 9.5 14M10.91 11.62L9.5 10.21L8.09 11.62L7.38 10.91L8.79 9.5L7.38 8.09L8.09 7.38L9.5 8.79L10.91 7.38L11.62 8.09L10.21 9.5L11.62 10.91L10.91 11.62Z\";\r\nexport var mdiMagnifyScan = \"M17 22V20H20V17H22V20.5C22 20.89 21.84 21.24 21.54 21.54C21.24 21.84 20.89 22 20.5 22H17M7 22H3.5C3.11 22 2.76 21.84 2.46 21.54C2.16 21.24 2 20.89 2 20.5V17H4V20H7V22M17 2H20.5C20.89 2 21.24 2.16 21.54 2.46C21.84 2.76 22 3.11 22 3.5V7H20V4H17V2M7 2V4H4V7H2V3.5C2 3.11 2.16 2.76 2.46 2.46C2.76 2.16 3.11 2 3.5 2H7M10.5 6C13 6 15 8 15 10.5C15 11.38 14.75 12.2 14.31 12.9L17.57 16.16L16.16 17.57L12.9 14.31C12.2 14.75 11.38 15 10.5 15C8 15 6 13 6 10.5C6 8 8 6 10.5 6M10.5 8C9.12 8 8 9.12 8 10.5C8 11.88 9.12 13 10.5 13C11.88 13 13 11.88 13 10.5C13 9.12 11.88 8 10.5 8Z\";\r\nexport var mdiMail = \"M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M17,17H7V15H17M17,13H7V11H17M20,9H17V6H20\";\r\nexport var mdiMailbox = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M19,15H17V13H13V11H19V15M9,11H5V9H9V11Z\";\r\nexport var mdiMailboxOpen = \"M8,4A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4H8M8,6A3,3 0 0,1 11,9V18H5V9A3,3 0 0,1 8,6M14,11H20V15H18V13H14V11Z\";\r\nexport var mdiMailboxOpenOutline = \"M14,11H20V15H18V13H14V11M18,4H8A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4M11,18H5V9A3,3 0 0,1 8,6A3,3 0 0,1 11,9V18M21,18H13V9C13,7.92 12.65,6.86 12,6H18A3,3 0 0,1 21,9V18Z\";\r\nexport var mdiMailboxOpenUp = \"M8,4A5,5 0 0,0 3,9V18H1V20H21A2,2 0 0,0 23,18V9A5,5 0 0,0 18,4H8M8,6A3,3 0 0,1 11,9V18H5V9A3,3 0 0,1 8,6M13,13V7H17V9H15V13H13Z\";\r\nexport var mdiMailboxOpenUpOutline = \"M14,12.85V6.85H18V8.85H16V12.85H14M18,3.85H8A5,5 0 0,0 3,8.85V17.85H1V19.85H21A2,2 0 0,0 23,17.85V8.85A5,5 0 0,0 18,3.85M11,17.85H5V8.85A3,3 0 0,1 8,5.85A3,3 0 0,1 11,8.85V17.85M21,17.85H13V8.85C13,7.76 12.65,6.71 12,5.85H18A3,3 0 0,1 21,8.85V17.85Z\";\r\nexport var mdiMailboxOutline = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M20,18H12V9C12,7.92 11.65,6.86 11,6H17A3,3 0 0,1 20,9V18M13,11V13H17V15H19V11H13M9,11H5V9H9V11Z\";\r\nexport var mdiMailboxUp = \"M5,9H9V11H5V9M22,9V18A2,2 0 0,1 20,20H2V9A5,5 0 0,1 7,4H17A5,5 0 0,1 22,9M10,9A3,3 0 0,0 7,6A3,3 0 0,0 4,9V18H10V9M16,7H12V13H14V9H16V7Z\";\r\nexport var mdiMailboxUpOutline = \"M17,4H7A5,5 0 0,0 2,9V20H20A2,2 0 0,0 22,18V9A5,5 0 0,0 17,4M10,18H4V9A3,3 0 0,1 7,6A3,3 0 0,1 10,9V18M20,18H12V9C12,7.92 11.65,6.86 11,6H17A3,3 0 0,1 20,9V18M13,13H15V9H17V7H13V13M9,11H5V9H9V11Z\";\r\nexport var mdiManjaro = \"M2 2V22H7.6V7.6H14.8V2H2M9.2 9.2V22H14.8V9.2H9.2M16.4 2V22H22V2H16.4Z\";\r\nexport var mdiMap = \"M15,19L9,16.89V5L15,7.11M20.5,3C20.44,3 20.39,3 20.34,3L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21C3.55,21 3.61,21 3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3Z\";\r\nexport var mdiMapCheck = \"M18.25,22L15.5,19L16.66,17.82L18.25,19.41L21.84,15.82L23,17.23M20.5,3A0.5,0.5 0 0,1 21,3.5V13.36C20.36,13.13 19.69,13 19,13C17.46,13 16.06,13.6 15,14.56V7.1L9,5V16.9L13.04,18.3C13,18.54 13,18.77 13,19C13,19.46 13.06,19.92 13.16,20.36L9,18.9L3.66,20.97C3.59,21 3.55,21 3.5,21A0.5,0.5 0 0,1 3,20.5V5.38C3,5.15 3.16,4.97 3.35,4.9L9,3L15,5.1L20.33,3\";\r\nexport var mdiMapCheckOutline = \"M18.25,22L15.5,19L16.66,17.82L18.25,19.41L21.84,15.82L23,17.23L18.25,22M20.5,3A0.5,0.5 0 0,1 21,3.5V13.34C20.37,13.12 19.7,13 19,13V5.7L16,6.86V13.8C15.2,14.27 14.5,14.91 14,15.68V6.87L10,5.47V17.13L13.05,18.2L13,19C13,19.46 13.05,19.92 13.15,20.35L9,18.9L3.66,20.97L3.5,21A0.5,0.5 0 0,1 3,20.5V5.38C3,5.15 3.15,4.97 3.36,4.9L9,3L15,5.1L20.34,3.03L20.5,3M5,6.46V18.31L8,17.15V5.45L5,6.46Z\";\r\nexport var mdiMapClock = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M23,16A7,7 0 0,1 16,23C13,23 10.4,21.08 9.42,18.4L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2H19.5A0.5,0.5 0 0,1 20,2.5V10.25C21.81,11.5 23,13.62 23,16M9,16C9,12.83 11.11,10.15 14,9.29V6.11L8,4V15.89L9,16.24C9,16.16 9,16.08 9,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11Z\";\r\nexport var mdiMapClockOutline = \"M15,12H16.5V16.25L19.36,17.94L18.61,19.16L15,17V12M16,9C16.69,9 17.37,9.1 18,9.29V4.7L15,5.86V9.07C15.33,9 15.66,9 16,9M23,16A7,7 0 0,1 16,23C13,23 10.4,21.08 9.42,18.4L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2.03L19.5,2A0.5,0.5 0 0,1 20,2.5V10.25C21.81,11.5 23,13.62 23,16M9,16C9,13.21 10.63,10.8 13,9.67V5.87L9,4.47V16.13H9C9,16.09 9,16.04 9,16M16,11A5,5 0 0,0 11,16A5,5 0 0,0 16,21A5,5 0 0,0 21,16A5,5 0 0,0 16,11M4,5.46V17.31L7,16.15V4.45L4,5.46Z\";\r\nexport var mdiMapLegend = \"M9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3L20.34,3.03L15,5.1L9,3M8,5.45V17.15L5,18.31V6.46L8,5.45M10,5.47L14,6.87V18.53L10,17.13V5.47M19,5.7V17.54L16,18.55V6.86L19,5.7M7.46,6.3L5.57,6.97V9.12L7.46,8.45V6.3M7.46,9.05L5.57,9.72V11.87L7.46,11.2V9.05M7.46,11.8L5.57,12.47V14.62L7.46,13.95V11.8M7.46,14.55L5.57,15.22V17.37L7.46,16.7V14.55Z\";\r\nexport var mdiMapMarker = \"M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z\";\r\nexport var mdiMapMarkerAccount = \"M12 2C8.14 2 5 5.14 5 9C5 14.25 12 22 12 22S19 14.25 19 9C19 5.14 15.86 2 12 2M12 4C13.1 4 14 4.9 14 6C14 7.11 13.1 8 12 8S10 7.11 10 6C10 4.9 10.9 4 12 4M12 14C10.33 14 8.86 13.15 8 11.85C8 10.53 10.67 9.8 12 9.8S16 10.53 16 11.85C15.14 13.15 13.67 14 12 14Z\";\r\nexport var mdiMapMarkerAccountOutline = \"M12 4C14.8 4 17 6.2 17 9C17 11.9 14.1 16.2 12 18.9C9.9 16.2 7 11.9 7 9C7 6.2 9.2 4 12 4M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M12 10C13.33 10 16 10.67 16 12V12.16C15.03 13.28 13.6 14 12 14S8.97 13.28 8 12.16V12C8 10.67 10.67 10 12 10M12 9C10.9 9 10 8.1 10 7S10.9 5 12 5 14 5.9 14 7 13.1 9 12 9Z\";\r\nexport var mdiMapMarkerAlert = \"M12 2C15.9 2 19 5.1 19 9C19 14.2 12 22 12 22S5 14.2 5 9C5 5.1 8.1 2 12 2M11 6V12H13V6H11M11 14V16H13V14H11Z\";\r\nexport var mdiMapMarkerAlertOutline = \"M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4M11,6H13V11H11V6M11,13H13V15H11V13Z\";\r\nexport var mdiMapMarkerCheck = \"M12,2C15.86,2 19,5.14 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9C5,5.14 8.14,2 12,2M10.47,14L17,7.41L15.6,6L10.47,11.18L8.4,9.09L7,10.5L10.47,14Z\";\r\nexport var mdiMapMarkerCheckOutline = \"M12 4C14.8 4 17 6.2 17 9C17 11.9 14.1 16.2 12 18.9C9.9 16.2 7 11.9 7 9C7 6.2 9.2 4 12 4M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M11.3 14L16.2 9L14.8 7.6L11.3 11.2L9.7 9.6L8.3 11L11.3 14Z\";\r\nexport var mdiMapMarkerCircle = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,12.5A1.5,1.5 0 0,1 10.5,11A1.5,1.5 0 0,1 12,9.5A1.5,1.5 0 0,1 13.5,11A1.5,1.5 0 0,1 12,12.5M12,7.2C9.9,7.2 8.2,8.9 8.2,11C8.2,14 12,17.5 12,17.5C12,17.5 15.8,14 15.8,11C15.8,8.9 14.1,7.2 12,7.2Z\";\r\nexport var mdiMapMarkerDistance = \"M6.5,8.11C5.61,8.11 4.89,7.39 4.89,6.5A1.61,1.61 0 0,1 6.5,4.89C7.39,4.89 8.11,5.61 8.11,6.5V6.5A1.61,1.61 0 0,1 6.5,8.11M6.5,2C4,2 2,4 2,6.5C2,9.87 6.5,14.86 6.5,14.86C6.5,14.86 11,9.87 11,6.5C11,4 9,2 6.5,2M17.5,8.11A1.61,1.61 0 0,1 15.89,6.5C15.89,5.61 16.61,4.89 17.5,4.89C18.39,4.89 19.11,5.61 19.11,6.5A1.61,1.61 0 0,1 17.5,8.11M17.5,2C15,2 13,4 13,6.5C13,9.87 17.5,14.86 17.5,14.86C17.5,14.86 22,9.87 22,6.5C22,4 20,2 17.5,2M17.5,16C16.23,16 15.1,16.8 14.68,18H9.32C8.77,16.44 7.05,15.62 5.5,16.17C3.93,16.72 3.11,18.44 3.66,20C4.22,21.56 5.93,22.38 7.5,21.83C8.35,21.53 9,20.85 9.32,20H14.69C15.24,21.56 16.96,22.38 18.5,21.83C20.08,21.28 20.9,19.56 20.35,18C19.92,16.8 18.78,16 17.5,16V16M17.5,20.5A1.5,1.5 0 0,1 16,19A1.5,1.5 0 0,1 17.5,17.5A1.5,1.5 0 0,1 19,19A1.5,1.5 0 0,1 17.5,20.5Z\";\r\nexport var mdiMapMarkerDown = \"M12 2A7 7 0 0 0 5 9C5 14.25 12 22 12 22S19 14.25 19 9A7 7 0 0 0 12 2M7.5 10H10V5H14V10H16.5L12 14.5Z\";\r\nexport var mdiMapMarkerLeft = \"M15 11.5C13.62 11.5 12.5 10.38 12.5 9S13.62 6.5 15 6.5 17.5 7.62 17.5 9 16.38 11.5 15 11.5M8 9C8 14.25 15 22 15 22S22 14.25 22 9C22 5.13 18.87 2 15 2S8 5.13 8 9M6 7L1 12L6 17V7Z\";\r\nexport var mdiMapMarkerLeftOutline = \"M15 6.5C16.38 6.5 17.5 7.62 17.5 9S16.38 11.5 15 11.5 12.5 10.38 12.5 9 13.62 6.5 15 6.5M15 2C18.87 2 22 5.13 22 9C22 14.25 15 22 15 22S8 14.25 8 9C8 5.13 11.13 2 15 2M10 9C10 10 10 12 15 18.71C20 12 20 10 20 9C20 6.24 17.76 4 15 4S10 6.24 10 9M6 7L1 12L6 17V7Z\";\r\nexport var mdiMapMarkerMinus = \"M9,11.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 9,6.5A2.5,2.5 0 0,0 6.5,9A2.5,2.5 0 0,0 9,11.5M9,2C12.86,2 16,5.13 16,9C16,14.25 9,22 9,22C9,22 2,14.25 2,9A7,7 0 0,1 9,2M15,17H23V19H15V17Z\";\r\nexport var mdiMapMarkerMinusOutline = \"M15 17H23V19H15V17M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\r\nexport var mdiMapMarkerMultiple = \"M14,11.5A2.5,2.5 0 0,0 16.5,9A2.5,2.5 0 0,0 14,6.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 14,11.5M14,2C17.86,2 21,5.13 21,9C21,14.25 14,22 14,22C14,22 7,14.25 7,9A7,7 0 0,1 14,2M5,9C5,13.5 10.08,19.66 11,20.81L10,22C10,22 3,14.25 3,9C3,5.83 5.11,3.15 8,2.29C6.16,3.94 5,6.33 5,9Z\";\r\nexport var mdiMapMarkerMultipleOutline = \"M11.5 9C11.5 7.62 12.62 6.5 14 6.5C15.1 6.5 16.03 7.21 16.37 8.19C16.45 8.45 16.5 8.72 16.5 9C16.5 10.38 15.38 11.5 14 11.5C12.91 11.5 12 10.81 11.64 9.84C11.55 9.58 11.5 9.29 11.5 9M5 9C5 13.5 10.08 19.66 11 20.81L10 22C10 22 3 14.25 3 9C3 5.83 5.11 3.15 8 2.29C6.16 3.94 5 6.33 5 9M14 2C17.86 2 21 5.13 21 9C21 14.25 14 22 14 22C14 22 7 14.25 7 9C7 5.13 10.14 2 14 2M14 4C11.24 4 9 6.24 9 9C9 10 9 12 14 18.71C19 12 19 10 19 9C19 6.24 16.76 4 14 4Z\";\r\nexport var mdiMapMarkerOff = \"M16.37,16.1L11.75,11.47L11.64,11.36L3.27,3L2,4.27L5.18,7.45C5.06,7.95 5,8.46 5,9C5,14.25 12,22 12,22C12,22 13.67,20.15 15.37,17.65L18.73,21L20,19.72M12,6.5A2.5,2.5 0 0,1 14.5,9C14.5,9.73 14.17,10.39 13.67,10.85L17.3,14.5C18.28,12.62 19,10.68 19,9A7,7 0 0,0 12,2C10,2 8.24,2.82 6.96,4.14L10.15,7.33C10.61,6.82 11.26,6.5 12,6.5Z\";\r\nexport var mdiMapMarkerOffOutline = \"M20 19.7L3.3 3L2 4.3L5.2 7.5C5.1 8 5 8.5 5 9C5 14.2 12 22 12 22S13.7 20.1 15.4 17.6L18.8 21L20 19.7M12 18.7C7.4 12.5 7 10.4 7 9.3L13.8 16.1C13.3 16.9 12.7 17.7 12 18.7M8.4 5.6L7 4.2C8.2 2.8 10 2 12 2C15.9 2 19 5.1 19 9C19 10.7 18.3 12.6 17.3 14.5L15.8 13C17 10.6 17 9.6 17 9C17 6.2 14.8 4 12 4C10.6 4 9.3 4.6 8.4 5.6M12 6.5C13.4 6.5 14.5 7.6 14.5 9C14.5 9.7 14.2 10.4 13.7 10.9L10.2 7.4C10.6 6.8 11.3 6.5 12 6.5Z\";\r\nexport var mdiMapMarkerOutline = \"M12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5M12,2A7,7 0 0,1 19,9C19,14.25 12,22 12,22C12,22 5,14.25 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9C7,10 7,12 12,18.71C17,12 17,10 17,9A5,5 0 0,0 12,4Z\";\r\nexport var mdiMapMarkerPath = \"M18,15A3,3 0 0,1 21,18A3,3 0 0,1 18,21C16.69,21 15.58,20.17 15.17,19H14V17H15.17C15.58,15.83 16.69,15 18,15M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17M18,8A1.43,1.43 0 0,0 19.43,6.57C19.43,5.78 18.79,5.14 18,5.14C17.21,5.14 16.57,5.78 16.57,6.57A1.43,1.43 0 0,0 18,8M18,2.57A4,4 0 0,1 22,6.57C22,9.56 18,14 18,14C18,14 14,9.56 14,6.57A4,4 0 0,1 18,2.57M8.83,17H10V19H8.83C8.42,20.17 7.31,21 6,21A3,3 0 0,1 3,18C3,16.69 3.83,15.58 5,15.17V14H7V15.17C7.85,15.47 8.53,16.15 8.83,17M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M6,3A3,3 0 0,1 9,6C9,7.31 8.17,8.42 7,8.83V10H5V8.83C3.83,8.42 3,7.31 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M11,19V17H13V19H11M7,13H5V11H7V13Z\";\r\nexport var mdiMapMarkerPlus = \"M9,11.5A2.5,2.5 0 0,0 11.5,9A2.5,2.5 0 0,0 9,6.5A2.5,2.5 0 0,0 6.5,9A2.5,2.5 0 0,0 9,11.5M9,2C12.86,2 16,5.13 16,9C16,14.25 9,22 9,22C9,22 2,14.25 2,9A7,7 0 0,1 9,2M15,17H18V14H20V17H23V19H20V22H18V19H15V17Z\";\r\nexport var mdiMapMarkerPlusOutline = \"M15 17H18V14H20V17H23V19H20V22H18V19H15V17M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\r\nexport var mdiMapMarkerQuestion = \"M12,2C8.14,2 5,5.14 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9C19,5.14 15.86,2 12,2M12.88,15.75H11.13V14H12.88M12.88,12.88H11.13C11.13,10.04 13.75,10.26 13.75,8.5A1.75,1.75 0 0,0 12,6.75A1.75,1.75 0 0,0 10.25,8.5H8.5A3.5,3.5 0 0,1 12,5A3.5,3.5 0 0,1 15.5,8.5C15.5,10.69 12.88,10.91 12.88,12.88Z\";\r\nexport var mdiMapMarkerQuestionOutline = \"M12,1C7.59,1 4,4.59 4,9C4,14.57 10.96,22.34 11.26,22.67L12,23.5L12.74,22.67C13.04,22.34 20,14.57 20,9C20,4.59 16.41,1 12,1M12,20.47C9.82,17.86 6,12.54 6,9A6,6 0 0,1 12,3A6,6 0 0,1 18,9C18,12.83 13.75,18.36 12,20.47M11.13,14H12.88V15.75H11.13M12,5A3.5,3.5 0 0,0 8.5,8.5H10.25A1.75,1.75 0 0,1 12,6.75A1.75,1.75 0 0,1 13.75,8.5C13.75,10.26 11.13,10.04 11.13,12.88H12.88C12.88,10.91 15.5,10.69 15.5,8.5A3.5,3.5 0 0,0 12,5Z\";\r\nexport var mdiMapMarkerRadius = \"M12,2C15.31,2 18,4.66 18,7.95C18,12.41 12,19 12,19C12,19 6,12.41 6,7.95C6,4.66 8.69,2 12,2M12,6A2,2 0 0,0 10,8A2,2 0 0,0 12,10A2,2 0 0,0 14,8A2,2 0 0,0 12,6M20,19C20,21.21 16.42,23 12,23C7.58,23 4,21.21 4,19C4,17.71 5.22,16.56 7.11,15.83L7.75,16.74C6.67,17.19 6,17.81 6,18.5C6,19.88 8.69,21 12,21C15.31,21 18,19.88 18,18.5C18,17.81 17.33,17.19 16.25,16.74L16.89,15.83C18.78,16.56 20,17.71 20,19Z\";\r\nexport var mdiMapMarkerRadiusOutline = \"M12 4C14.2 4 16 5.8 16 8C16 10.1 13.9 13.5 12 15.9C10.1 13.4 8 10.1 8 8C8 5.8 9.8 4 12 4M12 2C8.7 2 6 4.7 6 8C6 12.5 12 19 12 19S18 12.4 18 8C18 4.7 15.3 2 12 2M12 6C10.9 6 10 6.9 10 8S10.9 10 12 10 14 9.1 14 8 13.1 6 12 6M20 19C20 21.2 16.4 23 12 23S4 21.2 4 19C4 17.7 5.2 16.6 7.1 15.8L7.7 16.7C6.7 17.2 6 17.8 6 18.5C6 19.9 8.7 21 12 21S18 19.9 18 18.5C18 17.8 17.3 17.2 16.2 16.7L16.8 15.8C18.8 16.6 20 17.7 20 19Z\";\r\nexport var mdiMapMarkerRemove = \"M9,2C5.14,2 2,5.14 2,9C2,14.25 9,22 9,22C9,22 16,14.25 16,9A7,7 0 0,0 9,2M9,6.5A2.5,2.5 0 0,1 11.5,9A2.5,2.5 0 0,1 9,11.5A2.5,2.5 0 0,1 6.5,9A2.5,2.5 0 0,1 9,6.5M16.58,14.16L15.17,15.58L17.58,18L15.17,20.41L16.58,21.82L19,19.41L21.41,21.82L22.83,20.41L20.41,18L22.83,15.58L21.41,14.16L19,16.58\";\r\nexport var mdiMapMarkerRemoveOutline = \"M16.6 14.2L15.2 15.6L17.6 18L15.2 20.4L16.6 21.8L19 19.4L21.4 21.8L22.8 20.4L20.4 18L22.8 15.6L21.4 14.2L19 16.6M9 6.5C10.4 6.5 11.5 7.6 11.5 9S10.4 11.5 9 11.5 6.5 10.4 6.5 9 7.6 6.5 9 6.5M9 2C12.9 2 16 5.1 16 9C16 14.2 9 22 9 22S2 14.2 2 9C2 5.1 5.1 2 9 2M9 4C6.2 4 4 6.2 4 9C4 10 4 12 9 18.7C14 12 14 10 14 9C14 6.2 11.8 4 9 4Z\";\r\nexport var mdiMapMarkerRemoveVariant = \"M12,2C8.14,2 5,5.14 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9C19,5.14 15.86,2 12,2M9.59,5.17L12,7.58L14.41,5.17L15.83,6.58L13.41,9L15.83,11.41L14.41,12.83L12,10.41L9.59,12.83L8.17,11.41L10.59,9L8.17,6.58\";\r\nexport var mdiMapMarkerRight = \"M9 11.5C7.62 11.5 6.5 10.38 6.5 9S7.62 6.5 9 6.5 11.5 7.62 11.5 9 10.38 11.5 9 11.5M9 2C5.13 2 2 5.13 2 9C2 14.25 9 22 9 22S16 14.25 16 9C16 5.13 12.87 2 9 2M18 17L23 12L18 7V17Z\";\r\nexport var mdiMapMarkerRightOutline = \"M9 6.5C10.38 6.5 11.5 7.62 11.5 9S10.38 11.5 9 11.5 6.5 10.38 6.5 9 7.62 6.5 9 6.5M9 2C12.87 2 16 5.13 16 9C16 14.25 9 22 9 22S2 14.25 2 9C2 5.13 5.13 2 9 2M9 4C6.24 4 4 6.24 4 9C4 10 4 12 9 18.71C14 12 14 10 14 9C14 6.24 11.76 4 9 4M18 17L23 12L18 7V17Z\";\r\nexport var mdiMapMarkerStar = \"M12 2C8.1 2 5 5.1 5 9C5 14.2 12 22 12 22S19 14.2 19 9C19 5.1 15.9 2 12 2M14.5 13L12 11.5L9.5 13L10.2 10.2L8 8.3L10.9 8.1L12 5.4L13.1 8L16 8.3L13.8 10.2L14.5 13Z\";\r\nexport var mdiMapMarkerStarOutline = \"M12 2C15.9 2 19 5.1 19 9C19 14.2 12 22 12 22S5 14.2 5 9C5 5.1 8.1 2 12 2M12 4C9.2 4 7 6.2 7 9C7 10 7 12 12 18.7C17 12 17 10 17 9C17 6.2 14.8 4 12 4M12 11.5L14.4 13L13.8 10.2L16 8.3L13.1 8.1L12 5.4L10.9 8L8 8.3L10.2 10.2L9.5 13L12 11.5Z\";\r\nexport var mdiMapMarkerUp = \"M12 2A7 7 0 0 0 5 9C5 14.25 12 22 12 22S19 14.25 19 9A7 7 0 0 0 12 2M16.5 9H14V14H10V9H7.5L12 4.5Z\";\r\nexport var mdiMapMinus = \"M15 18V20H23V18H15M13.16 20.36L9 18.9L3.66 20.97C3.6 21 3.55 21 3.5 21C3.22 21 3 20.78 3 20.5V5.38C3 5.15 3.16 4.97 3.36 4.9L9 3L15 5.1L20.34 3H20.5C20.78 3 21 3.22 21 3.5V13.35C20.37 13.13 19.7 13 19 13C17.46 13 16.06 13.58 15 14.54V7.1L9 5V16.9L13.04 18.32C13 18.54 13 18.77 13 19C13 19.47 13.06 19.92 13.16 20.36Z\";\r\nexport var mdiMapOutline = \"M20.5,3L20.34,3.03L15,5.1L9,3L3.36,4.9C3.15,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21L3.66,20.97L9,18.9L15,21L20.64,19.1C20.85,19.03 21,18.85 21,18.62V3.5A0.5,0.5 0 0,0 20.5,3M10,5.47L14,6.87V18.53L10,17.13V5.47M5,6.46L8,5.45V17.15L5,18.31V6.46M19,17.54L16,18.55V6.86L19,5.7V17.54Z\";\r\nexport var mdiMapPlus = \"M9,3L3.36,4.9C3.16,4.97 3,5.15 3,5.38V20.5A0.5,0.5 0 0,0 3.5,21C3.55,21 3.6,21 3.66,20.97L9,18.9L13.16,20.36C13.06,19.92 13,19.46 13,19C13,18.77 13,18.54 13.04,18.3L9,16.9V5L15,7.1V14.56C16.07,13.6 17.47,13 19,13C19.7,13 20.37,13.13 21,13.36V3.5A0.5,0.5 0 0,0 20.5,3H20.34L15,5.1L9,3M18,15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiMapSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M14,6.11L8,4V15.89L9,16.24V16.5C9,17.14 9.09,17.76 9.26,18.34L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2H19.5A0.5,0.5 0 0,1 20,2.5V11.81C18.83,10.69 17.25,10 15.5,10C15,10 14.5,10.06 14,10.17V6.11Z\";\r\nexport var mdiMapSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.2 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M19.5,2A0.5,0.5 0 0,1 20,2.5V11.81C19.42,11.26 18.75,10.81 18,10.5V4.7L15,5.86V10C14.3,10.07 13.62,10.24 13,10.5V5.87L9,4.47V16.13H9V16.5C9,17.14 9.09,17.76 9.26,18.34L8,17.9L2.66,19.97L2.5,20A0.5,0.5 0 0,1 2,19.5V4.38C2,4.15 2.15,3.97 2.36,3.9L8,2L14,4.1L19.34,2.03L19.5,2M4,5.46V17.31L7,16.15V4.45L4,5.46Z\";\r\nexport var mdiMapbox = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M16.75,14.45C18.65,12.55 18.58,9.39 16.59,7.41C14.6,5.43 11.45,5.35 9.55,7.25C6.12,10.68 7.22,16.78 7.22,16.78C7.22,16.78 13.33,17.87 16.75,14.45M13.15,7.86L14.13,9.87L16.14,10.85L14.13,11.83L13.15,13.84L12.17,11.83L10.16,10.85L12.17,9.87L13.15,7.86Z\";\r\nexport var mdiMargin = \"M20,4V9L18.5,7.5L5.5,20.5L3.5,18.5L16.5,5.5L15,4H20M17,20A3,3 0 0,1 14,17V15A3,3 0 0,1 17,12A3,3 0 0,1 20,15V17A3,3 0 0,1 17,20M17,14A1,1 0 0,0 16,15V17A1,1 0 0,0 17,18A1,1 0 0,0 18,17V15A1,1 0 0,0 17,14M7,12A3,3 0 0,1 4,9V7A3,3 0 0,1 7,4A3,3 0 0,1 10,7V9A3,3 0 0,1 7,12M7,6A1,1 0 0,0 6,7V9A1,1 0 0,0 7,10A1,1 0 0,0 8,9V7A1,1 0 0,0 7,6Z\";\r\nexport var mdiMarker = \"M18.5,1.15C17.97,1.15 17.46,1.34 17.07,1.73L11.26,7.55L16.91,13.2L22.73,7.39C23.5,6.61 23.5,5.35 22.73,4.56L19.89,1.73C19.5,1.34 19,1.15 18.5,1.15M10.3,8.5L4.34,14.46C3.56,15.24 3.56,16.5 4.36,17.31C3.14,18.54 1.9,19.77 0.67,21H6.33L7.19,20.14C7.97,20.9 9.22,20.89 10,20.12L15.95,14.16\";\r\nexport var mdiMarkerCancel = \"M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,14.5C16.94,14.5 16.42,14.65 16,14.92L20.08,19C20.35,18.58 20.5,18.06 20.5,17.5A3,3 0 0,0 17.5,14.5M14.5,17.5A3,3 0 0,0 17.5,20.5C18.06,20.5 18.58,20.35 19,20.08L14.92,16C14.65,16.42 14.5,16.94 14.5,17.5M18.5,1.15C19,1.15 19.5,1.34 19.89,1.73L22.73,4.56C23.5,5.35 23.5,6.61 22.73,7.39L18.95,11.16C18.5,11.06 18,11 17.5,11C16.67,11 15.88,11.16 15.15,11.44L11.26,7.55L17.07,1.73C17.46,1.34 17.97,1.15 18.5,1.15M10.3,8.5L13.89,12.1C12.15,13.26 11,15.25 11,17.5C11,18 11.06,18.5 11.16,18.95L10,20.12C9.22,20.89 7.97,20.9 7.19,20.14L6.33,21H0.67L4.36,17.31C3.56,16.5 3.56,15.24 4.34,14.46L10.3,8.5Z\";\r\nexport var mdiMarkerCheck = \"M10,16L5,11L6.41,9.58L10,13.17L17.59,5.58L19,7M19,1H5C3.89,1 3,1.89 3,3V15.93C3,16.62 3.35,17.23 3.88,17.59L12,23L20.11,17.59C20.64,17.23 21,16.62 21,15.93V3C21,1.89 20.1,1 19,1Z\";\r\nexport var mdiMastodon = \"M20.94,14C20.66,15.41 18.5,16.96 15.97,17.26C14.66,17.41 13.37,17.56 12,17.5C9.75,17.39 8,16.96 8,16.96V17.58C8.32,19.8 10.22,19.93 12.03,20C13.85,20.05 15.47,19.54 15.47,19.54L15.55,21.19C15.55,21.19 14.27,21.87 12,22C10.75,22.07 9.19,21.97 7.38,21.5C3.46,20.45 2.78,16.26 2.68,12L2.67,8.57C2.67,4.23 5.5,2.96 5.5,2.96C6.95,2.3 9.41,2 11.97,2H12.03C14.59,2 17.05,2.3 18.5,2.96C18.5,2.96 21.33,4.23 21.33,8.57C21.33,8.57 21.37,11.78 20.94,14M18,8.91C18,7.83 17.7,7 17.15,6.35C16.59,5.72 15.85,5.39 14.92,5.39C13.86,5.39 13.05,5.8 12.5,6.62L12,7.5L11.5,6.62C10.94,5.8 10.14,5.39 9.07,5.39C8.15,5.39 7.41,5.72 6.84,6.35C6.29,7 6,7.83 6,8.91V14.17H8.1V9.06C8.1,8 8.55,7.44 9.46,7.44C10.46,7.44 10.96,8.09 10.96,9.37V12.16H13.03V9.37C13.03,8.09 13.53,7.44 14.54,7.44C15.44,7.44 15.89,8 15.89,9.06V14.17H18V8.91Z\";\r\nexport var mdiMaterialDesign = \"M21,12C21,9.97 20.33,8.09 19,6.38V17.63C20.33,15.97 21,14.09 21,12M17.63,19H6.38C7.06,19.55 7.95,20 9.05,20.41C10.14,20.8 11.13,21 12,21C12.88,21 13.86,20.8 14.95,20.41C16.05,20 16.94,19.55 17.63,19M11,17L7,9V17H11M17,9L13,17H17V9M12,14.53L15.75,7H8.25L12,14.53M17.63,5C15.97,3.67 14.09,3 12,3C9.91,3 8.03,3.67 6.38,5H17.63M5,17.63V6.38C3.67,8.09 3,9.97 3,12C3,14.09 3.67,15.97 5,17.63M23,12C23,15.03 21.94,17.63 19.78,19.78C17.63,21.94 15.03,23 12,23C8.97,23 6.38,21.94 4.22,19.78C2.06,17.63 1,15.03 1,12C1,8.97 2.06,6.38 4.22,4.22C6.38,2.06 8.97,1 12,1C15.03,1 17.63,2.06 19.78,4.22C21.94,6.38 23,8.97 23,12Z\";\r\nexport var mdiMaterialUi = \"M8,16.61V15.37L14,11.91V7.23L9,10.12L4,7.23V13L3,13.58L2,13V5L3.07,4.38L9,7.81L12.93,5.54L14.93,4.38L16,5V13.06L10.92,16L14.97,18.33L20,15.43V11L21,10.42L22,11V16.58L14.97,20.64L8,16.61M22,9.75L21,10.33L20,9.75V8.58L21,8L22,8.58V9.75Z\";\r\nexport var mdiMathCompass = \"M20,19.88V22L18.2,20.83L13.41,11.83C14.07,11.62 14.67,11.28 15.19,10.83L20,19.88M15,7A3,3 0 0,1 12,10C11.85,10 11.71,10 11.56,10L5.8,20.83L4,22V19.88L9.79,9C8.69,7.77 8.79,5.87 10.03,4.76C10.57,4.28 11.27,4 12,4V2A1,1 0 0,1 13,3V4.18C14.2,4.6 15,5.73 15,7M13,7A1,1 0 0,0 12,6A1,1 0 0,0 11,7A1,1 0 0,0 12,8A1,1 0 0,0 13,7Z\";\r\nexport var mdiMathCos = \"M4,7A2,2 0 0,0 2,9V15A2,2 0 0,0 4,17H6A2,2 0 0,0 8,15V14H6V15H4V9H6V10H8V9A2,2 0 0,0 6,7H4M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M18,7A2,2 0 0,0 16,9V11A2,2 0 0,0 18,13H20V15H16V17H20A2,2 0 0,0 22,15V13A2,2 0 0,0 20,11H18V9H22V7H18Z\";\r\nexport var mdiMathIntegral = \"M11.5 19.1C11.3 20.2 10.9 21 10.2 21.5C9.5 22 8.6 22.1 7.5 21.9C7.1 21.8 6.3 21.7 6 21.5L6.5 20C6.8 20.1 7.4 20.3 7.7 20.3C8.8 20.5 9.4 20 9.6 18.8L12 5.2C12.2 4 12.7 3.2 13.4 2.6C14.1 2.1 15.1 1.9 16.2 2.1C16.6 2.2 17.4 2.3 18 2.6L17.5 4C17.3 3.9 16.6 3.8 16.3 3.7C15 3.5 14.3 4.1 14 5.6L11.5 19.1Z\";\r\nexport var mdiMathIntegralBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M15.9 6.9C15.9 6.9 15.2 6.6 14.9 6.6C14.3 6.5 13.9 6.7 13.7 7.7L12 16.8C11.8 17.6 11.5 18.2 11 18.6C10.6 18.9 10.2 19 9.7 19C8.9 19 7.7 18.5 7.7 18.5L8.2 17.1C8.2 17.1 9 17.4 9.2 17.4C9.5 17.5 9.7 17.4 9.9 17.3C10.1 17.2 10.2 16.9 10.3 16.6L11.9 7.4C12 6.6 12.4 6 12.9 5.5C13.5 5.1 14.2 5 15 5.1C15.7 5.2 16.5 5.6 16.5 5.6L15.9 6.9Z\";\r\nexport var mdiMathLog = \"M18 7C16.9 7 16 7.9 16 9V15C16 16.1 16.9 17 18 17H20C21.1 17 22 16.1 22 15V11H20V15H18V9H22V7H18M2 7V17H8V15H4V7H2M11 7C9.9 7 9 7.9 9 9V15C9 16.1 9.9 17 11 17H13C14.1 17 15 16.1 15 15V9C15 7.9 14.1 7 13 7H11M11 9H13V15H11V9Z\";\r\nexport var mdiMathNorm = \"M14 21V3H16V21H14M8 21V3H10V21H8Z\";\r\nexport var mdiMathNormBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M10 18H8V6H10V18M16 18H14V6H16V18Z\";\r\nexport var mdiMathSin = \"M4,7A2,2 0 0,0 2,9V11A2,2 0 0,0 4,13H6V15H2V17H6A2,2 0 0,0 8,15V13A2,2 0 0,0 6,11H4V9H8V7H4M14,7V9H13V15H14V17H10V15H11V9H10V7H14M16,7V17H18V12L20,17H22V7H20V12L18,7H16Z\";\r\nexport var mdiMathTan = \"M2,7V9H4V17H6V9H8V7H2M11,7A2,2 0 0,0 9,9V17H11V13H13V17H15V9A2,2 0 0,0 13,7H11M11,9H13V11H11V9M16,7V17H18V12L20,17H22V7H20V12L18,7H16Z\";\r\nexport var mdiMatrix = \"M2,2H6V4H4V20H6V22H2V2M20,4H18V2H22V22H18V20H20V4M9,5H10V10H11V11H8V10H9V6L8,6.5V5.5L9,5M15,13H16V18H17V19H14V18H15V14L14,14.5V13.5L15,13M9,13C10.1,13 11,14.34 11,16C11,17.66 10.1,19 9,19C7.9,19 7,17.66 7,16C7,14.34 7.9,13 9,13M9,14C8.45,14 8,14.9 8,16C8,17.1 8.45,18 9,18C9.55,18 10,17.1 10,16C10,14.9 9.55,14 9,14M15,5C16.1,5 17,6.34 17,8C17,9.66 16.1,11 15,11C13.9,11 13,9.66 13,8C13,6.34 13.9,5 15,5M15,6C14.45,6 14,6.9 14,8C14,9.1 14.45,10 15,10C15.55,10 16,9.1 16,8C16,6.9 15.55,6 15,6Z\";\r\nexport var mdiMedal = \"M20,2H4V4L9.81,8.36C6.14,9.57 4.14,13.53 5.35,17.2C6.56,20.87 10.5,22.87 14.19,21.66C17.86,20.45 19.86,16.5 18.65,12.82C17.95,10.71 16.3,9.05 14.19,8.36L20,4V2M14.94,19.5L12,17.78L9.06,19.5L9.84,16.17L7.25,13.93L10.66,13.64L12,10.5L13.34,13.64L16.75,13.93L14.16,16.17L14.94,19.5Z\";\r\nexport var mdiMedalOutline = \"M14.94 19.5L12 17.77L9.06 19.5L9.84 16.16L7.25 13.92L10.66 13.63L12 10.5L13.34 13.63L16.75 13.92L14.16 16.16M20 2H4V4L8.86 7.64A8 8 0 1 0 15.14 7.64L20 4M18 15A6 6 0 1 1 10.82 9.12A5.86 5.86 0 0 1 13.18 9.12A6 6 0 0 1 18 15M12.63 7H11.37L7.37 4H16.71Z\";\r\nexport var mdiMedicalBag = \"M10,3L8,5V7H5C3.85,7 3.12,8 3,9L2,19C1.88,20 2.54,21 4,21H20C21.46,21 22.12,20 22,19L21,9C20.88,8 20.06,7 19,7H16V5L14,3H10M10,5H14V7H10V5M11,10H13V13H16V15H13V18H11V15H8V13H11V10Z\";\r\nexport var mdiMedicalCottonSwab = \"M3 3H15V5H3V3M2 21H16V6H2V21M5 12H7.5V9.5H10.5V12H13V15H10.5V17.5H7.5V15H5V12M20 6C18.3 6 17 7.8 17 10C17 11.8 17.8 13.2 19 13.8V21H21V13.8C22.2 13.3 23 11.8 23 10C23 7.8 21.7 6 20 6Z\";\r\nexport var mdiMedication = \"M6 3H18V5H6V3M17 6H7C5.9 6 5 6.9 5 8V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V8C19 6.9 18.1 6 17 6M16 15H13.5V17.5H10.5V15H8V12H10.5V9.5H13.5V12H16V15Z\";\r\nexport var mdiMedicationOutline = \"M10.5 15H8V12H10.5V9.5H13.5V12H16V15H13.5V17.5H10.5V15M19 8V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V8C5 6.9 5.9 6 7 6H17C18.1 6 19 6.9 19 8M17 8H7V19H17V8M18 3H6V5H18V3\";\r\nexport var mdiMeditation = \"M12 4C13.11 4 14 4.89 14 6S13.11 8 12 8 10 7.11 10 6 10.9 4 12 4M21 16V14C18.76 14 16.84 13.04 15.4 11.32L14.06 9.72C13.68 9.26 13.12 9 12.53 9H11.5C10.89 9 10.33 9.26 9.95 9.72L8.61 11.32C7.16 13.04 5.24 14 3 14V16C5.77 16 8.19 14.83 10 12.75V15L6.12 16.55C5.45 16.82 5 17.5 5 18.21C5 19.2 5.8 20 6.79 20H9V19.5C9 18.12 10.12 17 11.5 17H14.5C14.78 17 15 17.22 15 17.5S14.78 18 14.5 18H11.5C10.67 18 10 18.67 10 19.5V20H17.21C18.2 20 19 19.2 19 18.21C19 17.5 18.55 16.82 17.88 16.55L14 15V12.75C15.81 14.83 18.23 16 21 16Z\";\r\nexport var mdiMemory = \"M17,17H7V7H17M21,11V9H19V7C19,5.89 18.1,5 17,5H15V3H13V5H11V3H9V5H7C5.89,5 5,5.89 5,7V9H3V11H5V13H3V15H5V17A2,2 0 0,0 7,19H9V21H11V19H13V21H15V19H17A2,2 0 0,0 19,17V15H21V13H19V11M13,13H11V11H13M15,9H9V15H15V9Z\";\r\nexport var mdiMemoryArrowDown = \"M19 19V15H17V19H15L18 22L21 19H19M12.1 19H11V21H9V19H7C5.9 19 5 18.1 5 17V15H3V13H5V11H3V9H5V7C5 5.9 5.9 5 7 5H9V3H11V5H13V3H15V5H17C18.1 5 19 5.9 19 7V9H21V11H19V12.1C18.7 12 18.3 12 18 12S17.3 12 17 12.1V7H7V17H12.1C12 17.3 12 17.7 12 18S12 18.7 12.1 19M9 15H12.8C13.3 14.1 14.1 13.3 15 12.8V9H9V15M11 11H13V13H11V11Z\";\r\nexport var mdiMenorah = \"M21 11V6L19 5V11H17V6L15 5V11H13V3L11 2V11H9V6L7 5V11H5V6L3 5V11C2.45 11 2 11.45 2 12S2.45 13 3 13H4.25C4.95 14.92 6.94 17.58 11 17.95V20H10C8.9 20 8 20.9 8 22H16C16 20.9 15.11 20 14 20H13V17.95C17.06 17.57 19.05 14.92 19.75 13H21C21.55 13 22 12.55 22 12S21.55 11 21 11M11 15.94C8.34 15.63 7.05 14.11 6.45 13H11V15.94M13 15.94V13H17.55C16.95 14.11 15.66 15.63 13 15.94Z\";\r\nexport var mdiMenorahFire = \"M21.5 11.15V10C21.5 9.45 21.05 9 20.5 9H19.5C18.95 9 18.5 9.45 18.5 10V11H17.5V10C17.5 9.45 17.05 9 16.5 9H15.5C14.95 9 14.5 9.45 14.5 10V11H13.5V8C13.5 7.45 13.05 7 12.5 7H11.5C10.95 7 10.5 7.45 10.5 8V11H9.5V10C9.5 9.45 9.05 9 8.5 9H7.5C6.95 9 6.5 9.45 6.5 10V11H5.5V10C5.5 9.45 5.05 9 4.5 9H3.5C2.95 9 2.5 9.45 2.5 10V11.15C2.21 11.33 2 11.63 2 12C2 12.55 2.45 13 3 13H4.25C4.95 14.92 6.94 17.58 11 17.95V20H10C8.9 20 8 20.9 8 22H16C16 20.9 15.11 20 14 20H13V17.95C17.06 17.57 19.05 14.92 19.75 13H21C21.55 13 22 12.55 22 12C22 11.63 21.79 11.33 21.5 11.15M6.45 13H11V15.94C8.34 15.63 7.05 14.11 6.45 13M13 15.94V13H17.55C16.95 14.11 15.66 15.63 13 15.94M12 6C12.83 6 13.5 5.33 13.5 4.5C13.5 3.67 12.83 2 12 2S10.5 3.67 10.5 4.5C10.5 5.33 11.17 6 12 6M12 4.25C12.28 4.25 12.5 4.47 12.5 4.75S12.28 5.25 12 5.25 11.5 5.03 11.5 4.75 11.72 4.25 12 4.25M16 8C16.83 8 17.5 7.33 17.5 6.5C17.5 5.67 16.83 4 16 4S14.5 5.67 14.5 6.5C14.5 7.33 15.17 8 16 8M16 6.25C16.28 6.25 16.5 6.47 16.5 6.75S16.28 7.25 16 7.25 15.5 7.03 15.5 6.75 15.72 6.25 16 6.25M20 8C20.83 8 21.5 7.33 21.5 6.5C21.5 5.67 20.83 4 20 4S18.5 5.67 18.5 6.5C18.5 7.33 19.17 8 20 8M20 6.25C20.28 6.25 20.5 6.47 20.5 6.75S20.28 7.25 20 7.25 19.5 7.03 19.5 6.75 19.72 6.25 20 6.25M4 8C4.83 8 5.5 7.33 5.5 6.5C5.5 5.67 4.83 4 4 4S2.5 5.67 2.5 6.5C2.5 7.33 3.17 8 4 8M4 6.25C4.28 6.25 4.5 6.47 4.5 6.75S4.28 7.25 4 7.25 3.5 7.03 3.5 6.75 3.72 6.25 4 6.25M8 8C8.83 8 9.5 7.33 9.5 6.5C9.5 5.67 8.83 4 8 4S6.5 5.67 6.5 6.5C6.5 7.33 7.17 8 8 8M8 6.25C8.28 6.25 8.5 6.47 8.5 6.75S8.28 7.25 8 7.25 7.5 7.03 7.5 6.75 7.72 6.25 8 6.25Z\";\r\nexport var mdiMenu = \"M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z\";\r\nexport var mdiMenuClose = \"M3 6H13V8H3V6M3 16H13V18H3V16M3 11H15V13H3V11M16 7L14.58 8.39L18.14 12L14.58 15.61L16 17L21 12L16 7Z\";\r\nexport var mdiMenuDown = \"M7,10L12,15L17,10H7Z\";\r\nexport var mdiMenuDownOutline = \"M18,9V10.5L12,16.5L6,10.5V9H18M12,13.67L14.67,11H9.33L12,13.67Z\";\r\nexport var mdiMenuLeft = \"M14,7L9,12L14,17V7Z\";\r\nexport var mdiMenuLeftOutline = \"M15,18H13.5L7.5,12L13.5,6H15V18M10.33,12L13,14.67V9.33L10.33,12Z\";\r\nexport var mdiMenuOpen = \"M21,15.61L19.59,17L14.58,12L19.59,7L21,8.39L17.44,12L21,15.61M3,6H16V8H3V6M3,13V11H13V13H3M3,18V16H16V18H3Z\";\r\nexport var mdiMenuRight = \"M10,17L15,12L10,7V17Z\";\r\nexport var mdiMenuRightOutline = \"M9,6H10.5L16.5,12L10.5,18H9V6M13.67,12L11,9.33V14.67L13.67,12Z\";\r\nexport var mdiMenuSwap = \"M12,6L7,11H17L12,6M7,13L12,18L17,13H7Z\";\r\nexport var mdiMenuSwapOutline = \"M12,3.5L6,9.5V11H18V9.5L12,3.5M12,6.33L14.67,9H9.33L12,6.33M6,13V14.5L12,20.5L18,14.5V13H6M9.33,15H14.67L12,17.67L9.33,15Z\";\r\nexport var mdiMenuUp = \"M7,15L12,10L17,15H7Z\";\r\nexport var mdiMenuUpOutline = \"M18,16V14.5L12,8.5L6,14.5V16H18M12,11.33L14.67,14H9.33L12,11.33Z\";\r\nexport var mdiMerge = \"M8 17L12 13H15.2C15.6 14.2 16.7 15 18 15C19.7 15 21 13.7 21 12S19.7 9 18 9C16.7 9 15.6 9.8 15.2 11H12L8 7V3H3V8H6L10.2 12L6 16H3V21H8V17Z\";\r\nexport var mdiMessage = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageAlert = \"M13 11H11V5H13M13 15H11V13H13M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2Z\";\r\nexport var mdiMessageAlertOutline = \"M13,10H11V6H13V10M13,12H11V14H13V12M22,4V16A2,2 0 0,1 20,18H6L2,22V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4M20,4H4V17.2L5.2,16H20V4Z\";\r\nexport var mdiMessageArrowLeft = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M16 11H11.5L13.3 12.8L12 14L8 10L12 6L13.2 7.2L11.5 9H16V11Z\";\r\nexport var mdiMessageArrowLeftOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16 11V9H11.5L13.3 7.2L12 6L8 10L12 14L13.2 12.8L11.5 11H16Z\";\r\nexport var mdiMessageArrowRight = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14L10.8 12.8L12.6 11H8V9H12.5L10.7 7.2L12 6L16 10L12 14Z\";\r\nexport var mdiMessageArrowRightOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M8 9V11H12.5L10.7 12.8L12 14L16 10L12 6L10.8 7.2L12.5 9H8Z\";\r\nexport var mdiMessageBadge = \"M22 7V16C22 17.1 21.1 18 20 18H6L2 22V4C2 2.9 2.9 2 4 2H14.1C14 2.3 14 2.7 14 3C14 5.8 16.2 8 19 8C20.1 8 21.2 7.6 22 7M16 3C16 4.7 17.3 6 19 6S22 4.7 22 3 20.7 0 19 0 16 1.3 16 3Z\";\r\nexport var mdiMessageBadgeOutline = \"M22 7V16C22 17.1 21.1 18 20 18H6L2 22V4C2 2.9 2.9 2 4 2H14.1C14 2.3 14 2.7 14 3S14 3.7 14.1 4H4V16H20V7.9C20.7 7.8 21.4 7.4 22 7M16 3C16 4.7 17.3 6 19 6S22 4.7 22 3 20.7 0 19 0 16 1.3 16 3Z\";\r\nexport var mdiMessageBookmark = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M19 13L16.5 11.5L14 13V5H19V13Z\";\r\nexport var mdiMessageBookmarkOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M18 14V6H13V14L15.5 12.5L18 14\";\r\nexport var mdiMessageBulleted = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M8,14H6V12H8V14M8,11H6V9H8V11M8,8H6V6H8V8M15,14H10V12H15V14M18,11H10V9H18V11M18,8H10V6H18V8Z\";\r\nexport var mdiMessageBulletedOff = \"M1.27,1.73L0,3L2,5V22L6,18H15L20.73,23.73L22,22.46L1.27,1.73M8,14H6V12H8V14M6,11V9L8,11H6M20,2H4.08L10,7.92V6H18V8H10.08L11.08,9H18V11H13.08L20.07,18C21.14,17.95 22,17.08 22,16V4A2,2 0 0,0 20,2Z\";\r\nexport var mdiMessageCheck = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.11 18 22 17.11 22 16V4C22 2.89 21.1 2 20 2M10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6L17 7.41L10.47 14Z\";\r\nexport var mdiMessageCheckOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M10.47 14L7 10.5L8.4 9.09L10.47 11.17L15.6 6L17 7.41L10.47 14Z\";\r\nexport var mdiMessageCog = \"M13.5,10A1.5,1.5 0 0,1 12,11.5C11.16,11.5 10.5,10.83 10.5,10A1.5,1.5 0 0,1 12,8.5A1.5,1.5 0 0,1 13.5,10M22,4V16A2,2 0 0,1 20,18H6L2,22V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4M16.77,11.32L15.7,10.5C15.71,10.33 15.71,10.16 15.7,10C15.72,9.84 15.72,9.67 15.7,9.5L16.76,8.68C16.85,8.6 16.88,8.47 16.82,8.36L15.82,6.63C15.76,6.5 15.63,6.47 15.5,6.5L14.27,7C14,6.8 13.73,6.63 13.42,6.5L13.23,5.19C13.21,5.08 13.11,5 13,5H11C10.88,5 10.77,5.09 10.75,5.21L10.56,6.53C10.26,6.65 9.97,6.81 9.7,7L8.46,6.5C8.34,6.46 8.21,6.5 8.15,6.61L7.15,8.34C7.09,8.45 7.11,8.58 7.21,8.66L8.27,9.5C8.23,9.82 8.23,10.16 8.27,10.5L7.21,11.32C7.12,11.4 7.09,11.53 7.15,11.64L8.15,13.37C8.21,13.5 8.34,13.53 8.46,13.5L9.7,13C9.96,13.2 10.24,13.37 10.55,13.5L10.74,14.81C10.77,14.93 10.88,15 11,15H13C13.12,15 13.23,14.91 13.25,14.79L13.44,13.47C13.74,13.34 14,13.18 14.28,13L15.53,13.5C15.65,13.5 15.78,13.5 15.84,13.37L16.84,11.64C16.9,11.53 16.87,11.4 16.77,11.32Z\";\r\nexport var mdiMessageCogOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16.8 11.3L15.7 10.5V10 9.5L16.8 8.7C16.9 8.6 16.9 8.5 16.9 8.4L15.9 6.7C15.8 6.6 15.7 6.5 15.6 6.6L14.3 7C14 6.8 13.8 6.6 13.4 6.5L13.2 5.2C13.2 5.1 13.1 5 13 5H11C10.9 5 10.8 5.1 10.8 5.2L10.6 6.5C10.3 6.7 10 6.8 9.7 7L8.5 6.5C8.4 6.5 8.3 6.5 8.2 6.6L7.2 8.3C7.1 8.4 7.2 8.5 7.3 8.6L8.4 9.4V10.4L7.3 11.2C7.2 11.3 7.2 11.4 7.2 11.5L8.2 13.2C8.3 13.3 8.4 13.4 8.5 13.3L9.7 13C10 13.2 10.2 13.4 10.5 13.5L10.7 14.8C10.7 14.9 10.8 15 11 15H13C13.1 15 13.2 14.9 13.2 14.8L13.4 13.5C13.7 13.4 14 13.2 14.2 13L15.4 13.5C15.5 13.5 15.6 13.5 15.7 13.4L16.7 11.7C16.9 11.5 16.9 11.4 16.8 11.3M12 11.5C11.2 11.5 10.5 10.8 10.5 10S11.2 8.5 12 8.5 13.5 9.2 13.5 10 12.8 11.5 12 11.5Z\";\r\nexport var mdiMessageDraw = \"M18,14H10.5L12.5,12H18M6,14V11.5L12.88,4.64C13.07,4.45 13.39,4.45 13.59,4.64L15.35,6.41C15.55,6.61 15.55,6.92 15.35,7.12L8.47,14M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageFast = \"M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1M20 5H9C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5Z\";\r\nexport var mdiMessageFastOutline = \"M20 5H9C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5M20 15H10.2L9 16.2V7H20V15M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\r\nexport var mdiMessageFlash = \"M22 4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H15V10H22V4M22.5 16H20.3L22 12H17V18H19V23L22.5 16Z\";\r\nexport var mdiMessageFlashOutline = \"M4 17.2V4H20V10H22V4C22 2.9 21.1 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H15V16H5.2L4 17.2M22.5 16H20.3L22 12H17V18H19V23L22.5 16Z\";\r\nexport var mdiMessageImage = \"M5,14L8.5,9.5L11,12.5L14.5,8L19,14M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageImageOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M5 14L8.5 9.5L11 12.5L14.5 8L19 14\";\r\nexport var mdiMessageLock = \"M20.5 0A2.5 2.5 0 0 0 18 2.5V3A1 1 0 0 0 17 4V8A1 1 0 0 0 18 9H23A1 1 0 0 0 24 8V4A1 1 0 0 0 23 3V2.5A2.5 2.5 0 0 0 20.5 0M20.5 1A1.5 1.5 0 0 1 22 2.5V3H19V2.5A1.5 1.5 0 0 1 20.5 1M4 2A2 2 0 0 0 2 4V22L6 18H20A2 2 0 0 0 22 16V11H17C15.89 11 15 10.11 15 9V2H4Z\";\r\nexport var mdiMessageLockOutline = \"M23 3V2.5C23 1.1 21.9 0 20.5 0S18 1.1 18 2.5V3C17.5 3 17 3.5 17 4V8C17 8.5 17.5 9 18 9H23C23.5 9 24 8.5 24 8V4C24 3.5 23.5 3 23 3M22 3H19V2.5C19 1.7 19.7 1 20.5 1S22 1.7 22 2.5V3M22 11V16C22 17.1 21.1 18 20 18H6L2 22V4C2 2.9 2.9 2 4 2H15V4H4V17.2L5.2 16H20V11H22Z\";\r\nexport var mdiMessageMinus = \"M20 2C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H6L2 22V4C2 2.89 2.9 2 4 2H20M8 9V11H16V9H8Z\";\r\nexport var mdiMessageMinusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M8 9V11H16V9H8Z\";\r\nexport var mdiMessageOff = \"M20.95 17.75L5.2 2H20C21.1 2 22 2.89 22 4V16C22 16.76 21.57 17.41 20.95 17.75M2.39 1.73L1.11 3L2 3.9C2 3.93 2 3.97 2 4V22L6 18H16.11L20.84 22.73L22.11 21.46L2.39 1.73Z\";\r\nexport var mdiMessageOffOutline = \"M7.2 4L5.2 2H20C21.11 2 22 2.9 22 4V16C22 16.76 21.57 17.41 20.95 17.75L19.2 16H20V4H7.2M22.11 21.46L20.84 22.73L16.11 18H6L2 22V4C2 3.97 2 3.93 2 3.9L1.11 3L2.39 1.73L6.1 5.44L16.65 16H16.66L18.66 18H18.65L22.11 21.46M14.11 16L4 5.89V18L6 16H14.11Z\";\r\nexport var mdiMessageOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16Z\";\r\nexport var mdiMessagePlus = \"M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\r\nexport var mdiMessagePlusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M16 9V11H13V14H11V11H8V9H11V6H13V9H16Z\";\r\nexport var mdiMessageProcessing = \"M17,11H15V9H17M13,11H11V9H13M9,11H7V9H9M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMessageProcessingOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M17 11H15V9H17M13 11H11V9H13M9 11H7V9H9\";\r\nexport var mdiMessageQuestion = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M13 14H11V12H13V14M14.8 9C14.5 9.4 14.1 9.6 13.7 9.8C13.4 10 13.3 10.1 13.2 10.3C13 10.5 13 10.7 13 11H11C11 10.5 11.1 10.2 11.3 9.9C11.5 9.7 11.9 9.4 12.4 9.1C12.7 9 12.9 8.8 13 8.6C13.1 8.4 13.2 8.1 13.2 7.9C13.2 7.6 13.1 7.4 12.9 7.2C12.7 7 12.4 6.9 12.1 6.9C11.8 6.9 11.6 7 11.4 7.1C11.2 7.2 11.1 7.4 11.1 7.7H9.1C9.2 7 9.5 6.4 10 6C10.5 5.6 11.2 5.5 12.1 5.5C13 5.5 13.8 5.7 14.3 6.1C14.8 6.5 15.1 7.1 15.1 7.8C15.2 8.2 15.1 8.6 14.8 9Z\";\r\nexport var mdiMessageQuestionOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M12.2 5.5C11.3 5.5 10.6 5.7 10.1 6C9.5 6.4 9.2 7 9.3 7.7H11.3C11.3 7.4 11.4 7.2 11.6 7.1C11.8 7 12 6.9 12.3 6.9C12.6 6.9 12.9 7 13.1 7.2C13.3 7.4 13.4 7.6 13.4 7.9C13.4 8.2 13.3 8.4 13.2 8.6C13 8.8 12.8 9 12.6 9.1C12.1 9.4 11.7 9.7 11.5 9.9C11.1 10.2 11 10.5 11 11H13C13 10.7 13.1 10.5 13.1 10.3C13.2 10.1 13.4 10 13.6 9.8C14.1 9.6 14.4 9.3 14.7 8.9C15 8.5 15.1 8.1 15.1 7.7C15.1 7 14.8 6.4 14.3 6C13.9 5.7 13.1 5.5 12.2 5.5M11 12V14H13V12H11Z\";\r\nexport var mdiMessageReply = \"M22,4C22,2.89 21.1,2 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\";\r\nexport var mdiMessageReplyOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.1 2.9 18 4 18H18L22 22V4C22 2.9 21.1 2 20 2M20 17.2L18.8 16H4V4H20V17.2Z\";\r\nexport var mdiMessageReplyText = \"M18,8H6V6H18V8M18,11H6V9H18V11M18,14H6V12H18V14M22,4A2,2 0 0,0 20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H18L22,22V4Z\";\r\nexport var mdiMessageReplyTextOutline = \"M9 11H18V13H9V11M18 7H6V9H18V7M22 4V22L18 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.89 22 4M20 4H4V16H18.83L20 17.17V4Z\";\r\nexport var mdiMessageSettings = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M11,24H13V22H11V24M7,24H9V22H7V24M15,24H17V22H15V24Z\";\r\nexport var mdiMessageSettingsOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M11 24H13V22H11V24M7 24H9V22H7V24M15 24H17V22H15V24\";\r\nexport var mdiMessageStar = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M14.6 14L12 12.4L9.4 14L10.1 11L7.8 9L10.8 8.7L12 6L13.2 8.8L16.2 9.1L13.9 11.1L14.6 14Z\";\r\nexport var mdiMessageStarOutline = \"M20 2H4C2.9 2 2 2.9 2 4V22L6 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M20 16H5.2L4 17.2V4H20V16M12 12.4L14.6 14L13.9 11L16.2 9L13.2 8.7L12 6L10.8 8.8L7.8 9L10.1 11L9.4 14L12 12.4Z\";\r\nexport var mdiMessageText = \"M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M6,9H18V11H6M14,14H6V12H14M18,8H6V6H18\";\r\nexport var mdiMessageTextClock = \"M22 12.41V4C22 2.9 21.11 2 20 2H4C2.9 2 2 2.9 2 4V22L6 18H9.29C10.15 20.89 12.83 23 16 23C19.86 23 23 19.87 23 16C23 14.69 22.63 13.46 22 12.41M6 6H18V8H6V6M16 9C14.1 9 12.37 9.77 11.11 11H6V9H16M6 12H10.26C9.84 12.6 9.5 13.28 9.3 14H6V12M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16S18.67 20.85 16 20.85M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82Z\";\r\nexport var mdiMessageTextClockOutline = \"M22 12.41V4C22 2.9 21.11 2 20 2H4C2.9 2 2 2.89 2 4V22L6 18H9.29C10.15 20.89 12.83 23 16 23C19.86 23 23 19.87 23 16C23 14.69 22.63 13.46 22 12.41M5.17 16L4 17.17V4H20V10.26C18.86 9.47 17.5 9 16 9C14.1 9 12.37 9.77 11.11 11H6V13H9.69C9.25 13.91 9 14.93 9 16H5.17M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16S18.67 20.85 16 20.85M18 9H6V7H18V9M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82Z\";\r\nexport var mdiMessageTextFast = \"M9 5C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5H9M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M11 8H19V10H11V8M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M11 12H16V14H11V12M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\r\nexport var mdiMessageTextFastOutline = \"M10 11.5H17V13H10V11.5M10 8.5H19V10H10V8.5M20 5H9C7.9 5 7 5.9 7 7V21L11 17H20C21.1 17 22 16.1 22 15V7C22 5.9 21.1 5 20 5M20 15H10.2L9 16.2V7H20V15M3 7C2.4 7 2 7.4 2 8S2.4 9 3 9H5V7H3M2 11C1.4 11 1 11.4 1 12S1.4 13 2 13H5V11H2M1 15C.4 15 0 15.4 0 16C0 16.6 .4 17 1 17H5V15H1Z\";\r\nexport var mdiMessageTextLock = \"M20.5 0A2.5 2.5 0 0 0 18 2.5V3A1 1 0 0 0 17 4V8A1 1 0 0 0 18 9H23A1 1 0 0 0 24 8V4A1 1 0 0 0 23 3V2.5A2.5 2.5 0 0 0 20.5 0M20.5 1A1.5 1.5 0 0 1 22 2.5V3H19V2.5A1.5 1.5 0 0 1 20.5 1M4 2A2 2 0 0 0 2 4V22L6 18H20A2 2 0 0 0 22 16V11H17C15.89 11 15 10.11 15 9V2H4M6 6H13V8H6V6M6 9H13V11H6V9M6 12H14V14H6V12Z\";\r\nexport var mdiMessageTextLockOutline = \"M23 3V2.5C23 1.12 21.88 0 20.5 0S18 1.12 18 2.5V3C17.45 3 17 3.45 17 4V8C17 8.55 17.45 9 18 9H23C23.55 9 24 8.55 24 8V4C24 3.45 23.55 3 23 3M22 3H19V2.5C19 1.67 19.67 1 20.5 1S22 1.67 22 2.5V3M6 11H15V13H6V11M6 7H15V9H6V7M22 11V16C22 17.11 21.11 18 20 18H6L2 22V4C2 2.89 2.9 2 4 2H15V4H4V17.17L5.17 16H20V11H22Z\";\r\nexport var mdiMessageTextOutline = \"M20,2A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H6L2,22V4C2,2.89 2.9,2 4,2H20M4,4V17.17L5.17,16H20V4H4M6,7H18V9H6V7M6,11H15V13H6V11Z\";\r\nexport var mdiMessageVideo = \"M18,14L14,10.8V14H6V6H14V9.2L18,6M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMeteor = \"M2.8,3L19.67,18.82C19.67,18.82 20,19.27 19.58,19.71C19.17,20.15 18.63,19.77 18.63,19.77L2.8,3M7.81,4.59L20.91,16.64C20.91,16.64 21.23,17.08 20.82,17.5C20.4,17.97 19.86,17.59 19.86,17.59L7.81,4.59M4.29,8L17.39,20.03C17.39,20.03 17.71,20.47 17.3,20.91C16.88,21.36 16.34,21 16.34,21L4.29,8M12.05,5.96L21.2,14.37C21.2,14.37 21.42,14.68 21.13,15C20.85,15.3 20.47,15.03 20.47,15.03L12.05,5.96M5.45,11.91L14.6,20.33C14.6,20.33 14.82,20.64 14.54,20.95C14.25,21.26 13.87,21 13.87,21L5.45,11.91M16.38,7.92L20.55,11.74C20.55,11.74 20.66,11.88 20.5,12.03C20.38,12.17 20.19,12.05 20.19,12.05L16.38,7.92M7.56,16.1L11.74,19.91C11.74,19.91 11.85,20.06 11.7,20.2C11.56,20.35 11.37,20.22 11.37,20.22L7.56,16.1Z\";\r\nexport var mdiMeterElectric = \"M12 2C7.04 2 3 6.04 3 11C3 14.91 5.5 18.24 9 19.47V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.47C18.5 18.23 21 14.9 21 11C21 6.04 16.96 2 12 2M14.25 14L11.25 17L9.75 15.5L11 14.25L9.75 13L12.75 10L14.25 11.5L13 12.75L14.25 14M16 9H8V7H16V9Z\";\r\nexport var mdiMeterElectricOutline = \"M21 11C21 6.03 16.97 2 12 2S3 6.03 3 11C3 14.92 5.5 18.24 9 19.5V22H11V19.94C11.33 20 11.66 20 12 20S12.67 20 13 19.94V22H15V19.5C18.5 18.24 21 14.92 21 11M12 18C8.14 18 5 14.86 5 11S8.14 4 12 4 19 7.14 19 11 15.86 18 12 18M8 7H16V9H8V7M12.75 10L9.75 13L11 14.25L9.75 15.5L11.25 17L14.25 14L13 12.75L14.25 11.5L12.75 10Z\";\r\nexport var mdiMeterGas = \"M16 4H15V2H13V4H11V2H9V4H8C5.79 4 4 5.79 4 8V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V8C20 5.79 18.21 4 16 4M12 18C10.62 18 9.5 16.9 9.5 15.54C9.5 14.45 9.93 14.15 12 11.75C14.05 14.13 14.5 14.45 14.5 15.54C14.5 16.9 13.38 18 12 18M16 10H8V8H16V10Z\";\r\nexport var mdiMeterGasOutline = \"M16 4H15V2H13V4H11V2H9V4H8C5.79 4 4 5.79 4 8V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V8C20 5.79 18.21 4 16 4M18 18C18 19.1 17.1 20 16 20H8C6.9 20 6 19.1 6 18V8C6 6.9 6.9 6 8 6H16C17.1 6 18 6.9 18 8V18M9.5 15.54C9.5 16.9 10.62 18 12 18S14.5 16.9 14.5 15.54C14.5 14.45 14.05 14.13 12 11.75C9.93 14.15 9.5 14.46 9.5 15.54M8 8H16V10H8V8Z\";\r\nexport var mdiMetronome = \"M12,1.75L8.57,2.67L4.06,19.53C4.03,19.68 4,19.84 4,20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20C20,19.84 19.97,19.68 19.94,19.53L18.58,14.42L17,16L17.2,17H13.41L16.25,14.16L14.84,12.75L10.59,17H6.8L10.29,4H13.71L15.17,9.43L16.8,7.79L15.43,2.67L12,1.75M11.25,5V14.75L12.75,13.25V5H11.25M19.79,7.8L16.96,10.63L16.25,9.92L14.84,11.34L17.66,14.16L19.08,12.75L18.37,12.04L21.2,9.21L19.79,7.8Z\";\r\nexport var mdiMetronomeTick = \"M12,1.75L8.57,2.67L4.07,19.5C4.06,19.5 4,19.84 4,20C4,21.11 4.89,22 6,22H18C19.11,22 20,21.11 20,20C20,19.84 19.94,19.5 19.93,19.5L15.43,2.67L12,1.75M10.29,4H13.71L17.2,17H13V12H11V17H6.8L10.29,4M11,5V9H10V11H14V9H13V5H11Z\";\r\nexport var mdiMicroSd = \"M8,2A2,2 0 0,0 6,4V11L4,13V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2H8M9,4H11V8H9V4M12,4H14V8H12V4M15,4H17V8H15V4Z\";\r\nexport var mdiMicrophone = \"M12,2A3,3 0 0,1 15,5V11A3,3 0 0,1 12,14A3,3 0 0,1 9,11V5A3,3 0 0,1 12,2M19,11C19,14.53 16.39,17.44 13,17.93V21H11V17.93C7.61,17.44 5,14.53 5,11H7A5,5 0 0,0 12,16A5,5 0 0,0 17,11H19Z\";\r\nexport var mdiMicrophoneMessage = \"M8,7A2,2 0 0,1 10,9V14A2,2 0 0,1 8,16A2,2 0 0,1 6,14V9A2,2 0 0,1 8,7M14,14C14,16.97 11.84,19.44 9,19.92V22H7V19.92C4.16,19.44 2,16.97 2,14H4A4,4 0 0,0 8,18A4,4 0 0,0 12,14H14M21.41,9.41L17.17,13.66L18.18,10H14A2,2 0 0,1 12,8V4A2,2 0 0,1 14,2H20A2,2 0 0,1 22,4V8C22,8.55 21.78,9.05 21.41,9.41Z\";\r\nexport var mdiMicrophoneMessageOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L13.38,16.65C12.55,18.35 10.93,19.59 9,19.92V22H7V19.92C4.16,19.44 2,16.97 2,14H4A4,4 0 0,0 8,18C9.82,18 11.36,16.78 11.84,15.11L10,13.27V14A2,2 0 0,1 8,16A2,2 0 0,1 6,14V9.27L2,5.27M21.41,9.41L17.17,13.66L18.18,10H14A2,2 0 0,1 12,8V4A2,2 0 0,1 14,2H20A2,2 0 0,1 22,4V8C22,8.55 21.78,9.05 21.41,9.41Z\";\r\nexport var mdiMicrophoneMinus = \"M9,2A3,3 0 0,1 12,5V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V5A3,3 0 0,1 9,2M16,11C16,14.5 13.44,17.43 10,17.93V21H8V17.93C4.56,17.43 2,14.5 2,11H4A5,5 0 0,0 9,16A5,5 0 0,0 14,11H16M15,5H23V7H15V5Z\";\r\nexport var mdiMicrophoneOff = \"M19,11C19,12.19 18.66,13.3 18.1,14.28L16.87,13.05C17.14,12.43 17.3,11.74 17.3,11H19M15,11.16L9,5.18V5A3,3 0 0,1 12,2A3,3 0 0,1 15,5V11L15,11.16M4.27,3L21,19.73L19.73,21L15.54,16.81C14.77,17.27 13.91,17.58 13,17.72V21H11V17.72C7.72,17.23 5,14.41 5,11H6.7C6.7,14 9.24,16.1 12,16.1C12.81,16.1 13.6,15.91 14.31,15.58L12.65,13.92L12,14A3,3 0 0,1 9,11V10.28L3,4.27L4.27,3Z\";\r\nexport var mdiMicrophoneOutline = \"M17.3,11C17.3,14 14.76,16.1 12,16.1C9.24,16.1 6.7,14 6.7,11H5C5,14.41 7.72,17.23 11,17.72V21H13V17.72C16.28,17.23 19,14.41 19,11M10.8,4.9C10.8,4.24 11.34,3.7 12,3.7C12.66,3.7 13.2,4.24 13.2,4.9L13.19,11.1C13.19,11.76 12.66,12.3 12,12.3C11.34,12.3 10.8,11.76 10.8,11.1M12,14A3,3 0 0,0 15,11V5A3,3 0 0,0 12,2A3,3 0 0,0 9,5V11A3,3 0 0,0 12,14Z\";\r\nexport var mdiMicrophonePlus = \"M9,2A3,3 0 0,1 12,5V11A3,3 0 0,1 9,14A3,3 0 0,1 6,11V5A3,3 0 0,1 9,2M16,11C16,14.5 13.44,17.43 10,17.93V21H8V17.93C4.56,17.43 2,14.5 2,11H4A5,5 0 0,0 9,16A5,5 0 0,0 14,11H16M15,5H18V2H20V5H23V7H20V10H18V7H15V5Z\";\r\nexport var mdiMicrophoneQuestion = \"M9 2C10.66 2 12 3.34 12 5V11C12 12.66 10.66 14 9 14S6 12.66 6 11V5C6 3.34 7.34 2 9 2M16 11C16 14.53 13.39 17.44 10 17.93V21H8V17.93C4.61 17.44 2 14.53 2 11H4C4 13.76 6.24 16 9 16S14 13.76 14 11H16M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.34 18.34 6 20 6S23 7.34 23 9C23 9.97 22.5 10.88 21.71 11.41L21.41 11.6C20.84 12 20.5 12.61 20.5 13.3V13.5H19V13.3C19 12.11 19.6 11 20.59 10.35L20.88 10.16C21.27 9.9 21.5 9.47 21.5 9C21.5 8.17 20.83 7.5 20 7.5S18.5 8.17 18.5 9V9.5Z\";\r\nexport var mdiMicrophoneQuestionOutline = \"M14.3 11C14.3 14 11.76 16.1 9 16.1S3.7 14 3.7 11H2C2 14.41 4.72 17.23 8 17.72V21H10V17.72C13.28 17.23 16 14.41 16 11M7.8 4.9C7.8 4.24 8.34 3.7 9 3.7S10.2 4.24 10.2 4.9L10.19 11.1C10.19 11.76 9.66 12.3 9 12.3S7.8 11.76 7.8 11.1M9 14C10.66 14 12 12.66 12 11V5C12 3.34 10.66 2 9 2S6 3.34 6 5V11C6 12.66 7.34 14 9 14M20.5 14.5V16H19V14.5H20.5M18.5 9.5H17V9C17 7.34 18.34 6 20 6S23 7.34 23 9C23 9.97 22.5 10.88 21.71 11.41L21.41 11.6C20.84 12 20.5 12.61 20.5 13.3V13.5H19V13.3C19 12.11 19.6 11 20.59 10.35L20.88 10.16C21.27 9.9 21.5 9.47 21.5 9C21.5 8.17 20.83 7.5 20 7.5S18.5 8.17 18.5 9V9.5Z\";\r\nexport var mdiMicrophoneSettings = \"M19,10H17.3C17.3,13 14.76,15.1 12,15.1C9.24,15.1 6.7,13 6.7,10H5C5,13.41 7.72,16.23 11,16.72V20H13V16.72C16.28,16.23 19,13.41 19,10M15,24H17V22H15M11,24H13V22H11M12,13A3,3 0 0,0 15,10V4A3,3 0 0,0 12,1A3,3 0 0,0 9,4V10A3,3 0 0,0 12,13M7,24H9V22H7V24Z\";\r\nexport var mdiMicrophoneVariant = \"M9,3A4,4 0 0,1 13,7H5A4,4 0 0,1 9,3M11.84,9.82L11,18H10V19A2,2 0 0,0 12,21A2,2 0 0,0 14,19V14A4,4 0 0,1 18,10H20L19,11L20,12H18A2,2 0 0,0 16,14V19A4,4 0 0,1 12,23A4,4 0 0,1 8,19V18H7L6.16,9.82C5.67,9.32 5.31,8.7 5.13,8H12.87C12.69,8.7 12.33,9.32 11.84,9.82M9,11A1,1 0 0,0 8,12A1,1 0 0,0 9,13A1,1 0 0,0 10,12A1,1 0 0,0 9,11Z\";\r\nexport var mdiMicrophoneVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L16,19.26C15.86,21.35 14.12,23 12,23A4,4 0 0,1 8,19V18H7L6.16,9.82C5.82,9.47 5.53,9.06 5.33,8.6L2,5.27M9,3A4,4 0 0,1 13,7H8.82L6.08,4.26C6.81,3.5 7.85,3 9,3M11.84,9.82L11.82,10L9.82,8H12.87C12.69,8.7 12.33,9.32 11.84,9.82M11,18H10V19A2,2 0 0,0 12,21A2,2 0 0,0 14,19V17.27L11.35,14.62L11,18M18,10H20L19,11L20,12H18A2,2 0 0,0 16,14V14.18L14.3,12.5C14.9,11 16.33,10 18,10M8,12A1,1 0 0,0 9,13C9.21,13 9.4,12.94 9.56,12.83L8.17,11.44C8.06,11.6 8,11.79 8,12Z\";\r\nexport var mdiMicroscope = \"M9.46,6.28L11.05,9C8.47,9.26 6.5,11.41 6.5,14A5,5 0 0,0 11.5,19C13.55,19 15.31,17.77 16.08,16H13.5V14H21.5V16H19.25C18.84,17.57 17.97,18.96 16.79,20H19.5V22H3.5V20H6.21C4.55,18.53 3.5,16.39 3.5,14C3.5,10.37 5.96,7.2 9.46,6.28M12.74,2.07L13.5,3.37L14.36,2.87L17.86,8.93L14.39,10.93L10.89,4.87L11.76,4.37L11,3.07L12.74,2.07Z\";\r\nexport var mdiMicrosoft = \"M2,3H11V12H2V3M11,22H2V13H11V22M21,3V12H12V3H21M21,22H12V13H21V22Z\";\r\nexport var mdiMicrosoftAccess = \"M14.5 2.63Q15.84 2.63 17.18 2.77L17.85 2.86Q18.3 2.93 18.84 3.04 19.37 3.15 19.93 3.31 20.5 3.47 20.96 3.69 21.42 3.91 21.71 4.19 22 4.47 22 4.81V19.19Q22 19.53 21.71 19.81 21.41 20.09 20.96 20.31 20.5 20.53 19.93 20.69 19.37 20.85 18.83 20.96 18.3 21.07 17.86 21.14 17.41 21.21 17.17 21.23 15.84 21.38 14.5 21.38 13.15 21.38 11.82 21.23 11.59 21.21 11.15 21.14 10.7 21.07 10.16 20.96 9.63 20.85 9.07 20.69 8.5 20.53 8.05 20.31 7.59 20.09 7.29 19.81 7 19.53 7 19.19V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.81Q7 4.47 7.29 4.19 7.59 3.91 8.05 3.69 8.5 3.47 9.07 3.31 9.63 3.15 10.17 3.04 10.7 2.93 11.14 2.86 11.59 2.8 11.83 2.77 13.15 2.63 14.5 2.63M14.5 3.88Q13.87 3.88 13.08 3.92 12.3 3.96 11.5 4.07 10.69 4.18 9.93 4.36 9.17 4.54 8.58 4.81 9.19 5.1 9.95 5.28 10.7 5.46 11.5 5.56 12.29 5.66 13.07 5.71 13.85 5.75 14.5 5.75 15.16 5.75 15.93 5.71 16.71 5.66 17.5 5.56 18.3 5.46 19.06 5.28 19.81 5.1 20.42 4.81 19.83 4.54 19.07 4.36 18.31 4.18 17.5 4.07 16.7 3.96 15.92 3.92 15.14 3.88 14.5 3.88M5.94 13.79H8.06L8.55 15.28H10.22L7.83 8.72H6.2L3.78 15.28H5.44M20.75 19V16Q20.11 16.31 19.31 16.5 18.5 16.68 17.67 16.79 16.83 16.9 16 16.95 15.19 17 14.5 17 13.79 17 13.08 16.96 12.37 16.91 11.67 16.83 11.44 17 11.17 17H8.25V19Q8.53 19.21 9 19.38 9.5 19.56 10.07 19.68 10.65 19.81 11.29 19.9 11.92 20 12.5 20.03 13.12 20.09 13.64 20.11 14.16 20.13 14.5 20.13 14.84 20.12 15.36 20.1 15.88 20.09 16.5 20.03 17.08 20 17.71 19.9 18.35 19.81 18.93 19.68 19.5 19.56 20 19.38 20.47 19.21 20.75 19M20.75 14.63V11Q20.11 11.31 19.31 11.5 18.5 11.68 17.67 11.79 16.83 11.9 16 11.95 15.19 12 14.5 12 13.88 12 13.25 11.97 12.63 11.93 12 11.87V15.62Q12.63 15.69 13.25 15.72 13.88 15.75 14.5 15.75 14.86 15.75 15.38 15.73 15.9 15.71 16.5 15.66 17.08 15.6 17.7 15.5 18.33 15.44 18.9 15.31 19.5 15.18 19.96 15 20.45 14.85 20.75 14.63M20.75 9.63V6Q20.11 6.31 19.31 6.5 18.5 6.68 17.67 6.79 16.83 6.9 16 6.95 15.19 7 14.5 7 13.81 7 13 6.95 12.17 6.9 11.33 6.79 10.5 6.68 9.69 6.5 8.89 6.31 8.25 6V7H11.17Q11.5 7 11.76 7.24 12 7.5 12 7.83V10.62Q12.63 10.69 13.25 10.72 13.88 10.75 14.5 10.75 14.86 10.75 15.38 10.73 15.9 10.71 16.5 10.66 17.08 10.6 17.7 10.5 18.33 10.44 18.9 10.31 19.5 10.18 19.96 10 20.44 9.85 20.75 9.63M6.32 12.5L7 10.5L7.65 12.5Z\";\r\nexport var mdiMicrosoftAzure = \"M13.05,4.24L6.56,18.05L2,18L7.09,9.24L13.05,4.24M13.75,5.33L22,19.76H6.74L16.04,18.1L11.17,12.31L13.75,5.33Z\";\r\nexport var mdiMicrosoftAzureDevops = \"M22 18L17 22L9 19V22L4.81 16.25L17.72 17.3V6.34L22 5.65V18M4.81 16.25V8.96L17.72 6.34L10.6 2V4.84L3.97 6.76L2 9.38V15.07L4.81 16.25Z\";\r\nexport var mdiMicrosoftBing = \"M5,3V19L8.72,21L18,15.82V11.73H18L9.77,8.95L11.38,12.84L13.94,14L8.7,16.92V4.27L5,3\";\r\nexport var mdiMicrosoftDynamics365 = \"M6,2L17.25,8.5L13.5,11.5L6,8V2M6,9L9.5,11.25L6,22L18,9V15L6,22V9Z\";\r\nexport var mdiMicrosoftEdge = \"M10.86 15.37C10.17 14.6 9.7 13.68 9.55 12.65C9.25 13.11 9 13.61 8.82 14.15C7.9 16.9 9.5 20.33 12.22 21.33C14.56 22.11 17.19 20.72 18.92 19.2C19.18 18.85 21.23 17.04 20.21 16.84C17.19 18.39 13.19 17.95 10.86 15.37M11.46 9.56C12.5 9.55 11.5 9.13 11.07 8.81C10.03 8.24 8.81 7.96 7.63 7.96C3.78 8 .995 10.41 2.3 14.4C3.24 18.28 6.61 21.4 10.59 21.9C8.54 20.61 7.3 18.19 7.3 15.78C7.38 13.25 8.94 10.28 11.46 9.56M2.78 8.24C5.82 6 10.66 6.18 13.28 9C14.3 10.11 15 12 14.07 13.37C12.33 15.25 17.15 15.5 18.18 15.22C21.92 14.5 22.91 10.15 21.13 7.15C19.43 3.75 15.66 1.97 11.96 2C7.9 1.93 4.25 4.5 2.78 8.24Z\";\r\nexport var mdiMicrosoftExcel = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M7 13.06L8.18 15.28H9.97L8 12.06L9.93 8.89H8.22L7.13 10.9L7.09 10.96L7.06 11.03Q6.8 10.5 6.5 9.96 6.25 9.43 5.97 8.89H4.16L6.05 12.08L4 15.28H5.78M13.88 19.5V17H8.25V19.5M13.88 15.75V12.63H12V15.75M13.88 11.38V8.25H12V11.38M13.88 7V4.5H8.25V7M20.75 19.5V17H15.13V19.5M20.75 15.75V12.63H15.13V15.75M20.75 11.38V8.25H15.13V11.38M20.75 7V4.5H15.13V7Z\";\r\nexport var mdiMicrosoftInternetExplorer = \"M13,3L14,3.06C16.8,1.79 19.23,1.64 20.5,2.92C21.5,3.93 21.58,5.67 20.92,7.72C21.61,9 22,10.45 22,12L21.95,13H9.08C9.45,15.28 11.06,17 13,17C14.31,17 15.47,16.21 16.2,15H21.5C20.25,18.5 16.92,21 13,21C11.72,21 10.5,20.73 9.41,20.25C6.5,21.68 3.89,21.9 2.57,20.56C1,18.96 1.68,15.57 4,12C4.93,10.54 6.14,9.06 7.57,7.65L8.38,6.88C7.21,7.57 5.71,8.62 4.19,10.17C5.03,6.08 8.66,3 13,3M13,7C11.21,7 9.69,8.47 9.18,10.5H16.82C16.31,8.47 14.79,7 13,7M20.06,4.06C19.4,3.39 18.22,3.35 16.74,3.81C18.22,4.5 19.5,5.56 20.41,6.89C20.73,5.65 20.64,4.65 20.06,4.06M3.89,20C4.72,20.84 6.4,20.69 8.44,19.76C6.59,18.67 5.17,16.94 4.47,14.88C3.27,17.15 3,19.07 3.89,20Z\";\r\nexport var mdiMicrosoftOffice = \"M19.94 5.59V18.39Q19.94 19.06 19.55 19.59 19.16 20.11 18.5 20.29L12.77 21.94Q12.65 21.97 12.5 22H12.28Q11.95 22 11.68 21.91 11.41 21.82 11.13 21.67L7.38 19.55Q7.17 19.43 7.05 19.24 6.93 19.05 6.93 18.81 6.93 18.45 7.19 18.2 7.44 17.95 7.8 17.95H12.66V6.14L9 7.44Q8.57 7.6 8.3 8 8.03 8.38 8.03 8.85V15.58Q8.03 16 7.82 16.34 7.62 16.68 7.25 16.88L5.53 17.82Q5.29 17.95 5.05 17.95 4.64 17.95 4.35 17.66 4.06 17.37 4.06 16.95V7.47Q4.06 6.95 4.33 6.5 4.61 6 5.06 5.74L11.22 2.24Q11.43 2.12 11.67 2.06 11.91 2 12.15 2 12.32 2 12.46 2.03 12.6 2.05 12.77 2.1L18.5 3.69Q18.83 3.78 19.09 3.96 19.35 4.14 19.54 4.39 19.74 4.65 19.84 4.95 19.94 5.26 19.94 5.59M18.62 18.39V5.59Q18.62 5.36 18.5 5.19 18.35 5 18.13 4.96L15.31 4.18Q15 4.09 14.65 4 14.32 3.89 14 3.81V20.21L18.13 19Q18.35 18.96 18.5 18.79 18.62 18.62 18.62 18.39Z\";\r\nexport var mdiMicrosoftOnedrive = \"M18.21 10.29Q19 10.34 19.7 10.68 20.39 11 20.9 11.57 21.41 12.12 21.71 12.83 22 13.54 22 14.34 22 15.18 21.68 15.92 21.36 16.66 20.8 17.21 20.25 17.76 19.5 18.08 18.78 18.41 17.94 18.41H7Q5.97 18.41 5.06 18 4.15 17.61 3.47 16.94 2.79 16.26 2.4 15.35 2 14.44 2 13.41 2 12.59 2.26 11.83 2.5 11.08 3 10.45 3.44 9.82 4.08 9.35 4.72 8.88 5.5 8.63 5.87 8.5 6.21 8.5 6.56 8.43 6.93 8.41H6.94Q7.37 7.75 7.95 7.23 8.5 6.71 9.2 6.34 9.87 6 10.62 5.78 11.37 5.59 12.16 5.59 13.22 5.59 14.2 5.94 15.18 6.29 16 6.91 16.8 7.53 17.37 8.39 17.95 9.26 18.21 10.29M12.16 6.84Q11.05 6.84 10.06 7.3 9.06 7.75 8.36 8.6 8.73 8.7 9.07 8.85 9.4 9 9.73 9.2L13.71 11.58L16 10.62Q16.21 10.53 16.44 10.45 16.67 10.38 16.92 10.33 16.68 9.55 16.21 8.91 15.74 8.27 15.11 7.81 14.5 7.35 13.73 7.1 13 6.84 12.16 6.84M4 15.66L12.27 12.18L9.08 10.26Q8.59 9.97 8.06 9.81 7.5 9.66 6.95 9.66 6.19 9.66 5.5 9.96 4.84 10.26 4.34 10.77 3.84 11.29 3.54 11.97 3.25 12.65 3.25 13.41 3.25 14 3.45 14.59 3.64 15.19 4 15.66M17.94 17.16Q18.41 17.16 18.84 17 19.27 16.86 19.64 16.58L13.61 13L5.03 16.59Q5.47 16.86 5.97 17 6.47 17.16 7 17.16M20.45 15.61Q20.75 15 20.75 14.34 20.75 13.7 20.5 13.17 20.26 12.65 19.85 12.28 19.43 11.91 18.88 11.71 18.32 11.5 17.7 11.5 17.35 11.5 17 11.6 16.66 11.68 16.33 11.81 16 11.93 15.67 12.08 15.35 12.23 15.04 12.37Z\";\r\nexport var mdiMicrosoftOnenote = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M5.8 11.17L8.16 15.27H9.65V8.73H8.2V12.92L5.93 8.73H4.35V15.27H5.8M20.75 19.5V17H18.25V19.5M20.75 15.75V13.25H18.25V15.75M20.75 12V9.5H18.25V12M20.75 8.25V4.5H8.25V7H11.17Q11.5 7 11.76 7.24 12 7.5 12 7.83V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.25V19.5H17V8.25Z\";\r\nexport var mdiMicrosoftOutlook = \"M8.56 12.03Q8.56 12.41 8.5 12.76 8.39 13.1 8.2 13.38 8 13.65 7.71 13.81 7.41 13.97 7 13.97 6.58 13.97 6.29 13.8 6 13.63 5.81 13.35 5.62 13.07 5.54 12.72 5.45 12.37 5.45 12 5.45 11.64 5.54 11.28 5.62 10.93 5.81 10.65 6 10.37 6.31 10.2 6.61 10.03 7.03 10.03 7.46 10.03 7.75 10.2 8.05 10.38 8.23 10.66 8.41 10.95 8.5 11.3 8.56 11.66 8.56 12.03M22 12V19.81Q22 20.2 21.73 20.5 21.45 20.75 21.06 20.75H7.94Q7.55 20.75 7.27 20.5 7 20.2 7 19.81V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H8.25V4.13Q8.25 3.76 8.5 3.5 8.76 3.25 9.13 3.25H19.87Q20.24 3.25 20.5 3.5 20.75 3.76 20.75 4.13V11.04L21.79 11.64H21.8Q21.88 11.7 21.94 11.8 22 11.89 22 12M17 5.13V7.63H19.5V5.13M17 8.88V11.38H19.5V8.88M17 12.63V14.15L19.54 12.63M12.63 5.13V7.63H15.75V5.13M12.63 8.88V11.38H15.75V8.88M12.63 12.63V14.32L14.64 15.56L15.75 14.9V12.63M9.5 5.13V7H11.27Q11.33 7 11.38 7.04V5.12M7 15.32Q7.73 15.32 8.32 15.06 8.9 14.8 9.31 14.35 9.71 13.9 9.91 13.28 10.12 12.66 10.13 11.94 10.13 11.25 9.92 10.65 9.72 10.06 9.32 9.62 8.93 9.18 8.37 8.93 7.8 8.68 7.08 8.68 6.31 8.68 5.71 8.93 5.12 9.18 4.71 9.63 4.3 10.09 4.09 10.71 3.88 11.34 3.88 12.08 3.88 12.78 4.09 13.38 4.31 13.97 4.71 14.4 5.11 14.83 5.68 15.08 6.26 15.32 7 15.32M8.25 19.5H18.57L12 15.4V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.25M20.75 19.39V13.36L15.83 16.31Z\";\r\nexport var mdiMicrosoftPowerpoint = \"M13.25 3.25Q14.46 3.25 15.58 3.56 16.7 3.88 17.67 4.45 18.64 5 19.44 5.81 20.23 6.61 20.8 7.58 21.38 8.55 21.69 9.67 22 10.79 22 12 22 13.21 21.69 14.33 21.38 15.45 20.8 16.42 20.23 17.39 19.44 18.19 18.64 19 17.67 19.55 16.7 20.13 15.58 20.44 14.46 20.75 13.25 20.75 12.18 20.75 11.15 20.5 10.12 20.24 9.2 19.76 8.28 19.27 7.5 18.58 6.69 17.88 6.07 17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.25 2.5 7 2.83 7H6.07Q6.69 6.12 7.5 5.42 8.28 4.72 9.2 4.24 10.13 3.76 11.15 3.5 12.18 3.25 13.25 3.25M13.88 4.53V11.37H20.72Q20.6 10 20.03 8.81 19.46 7.62 18.55 6.7 17.64 5.79 16.43 5.22 15.23 4.65 13.88 4.53M9.5 10.84Q9.5 10.27 9.3 9.87 9.11 9.46 8.78 9.21 8.45 8.95 8 8.84 7.55 8.72 7 8.72H4.37V15.27H5.91V13H6.94Q7.42 13 7.87 12.84 8.33 12.7 8.69 12.43 9.05 12.17 9.27 11.76 9.5 11.36 9.5 10.84M13.25 19.5Q14.23 19.5 15.14 19.26 16.04 19 16.85 18.58 17.66 18.13 18.33 17.5 19 16.89 19.5 16.13 20 15.36 20.33 14.47 20.64 13.58 20.72 12.62H12.64V4.53Q11.19 4.65 9.91 5.29 8.63 5.93 7.67 7H11.17Q11.5 7 11.76 7.25 12 7.5 12 7.83V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H7.67Q8.2 17.6 8.84 18.06 9.5 18.5 10.19 18.84 10.91 19.17 11.68 19.33 12.45 19.5 13.25 19.5M6.85 10Q7.32 10 7.61 10.19 7.89 10.38 7.89 10.89 7.89 11.11 7.79 11.25 7.69 11.39 7.53 11.5 7.37 11.57 7.18 11.6 7 11.64 6.8 11.64H5.91V10H6.85Z\";\r\nexport var mdiMicrosoftSharepoint = \"M22 13.25Q22 14.29 21.6 15.2 21.21 16.1 20.53 16.78 19.85 17.46 18.94 17.86 18.03 18.25 17 18.25 16.36 18.25 15.73 18.09 15.64 18.92 15.27 19.63 14.89 20.35 14.3 20.88 13.72 21.41 12.97 21.7 12.21 22 11.38 22 10.47 22 9.67 21.65 8.88 21.31 8.28 20.72 7.69 20.13 7.35 19.33 7 18.53 7 17.63V17.31Q7.03 17.16 7.05 17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H5.78Q5.9 5.94 6.39 5 6.87 4.11 7.63 3.44 8.38 2.76 9.34 2.38 10.3 2 11.38 2 12.54 2 13.56 2.44 14.59 2.89 15.35 3.65 16.11 4.41 16.56 5.44 17 6.46 17 7.63V7.94Q17 8.09 16.96 8.25 18 8.25 18.91 8.64 19.83 9.03 20.5 9.71 21.21 10.38 21.6 11.29 22 12.21 22 13.25M11.37 3.25Q10.56 3.25 9.83 3.54 9.09 3.82 8.5 4.32 7.94 4.82 7.55 5.5 7.17 6.2 7.05 7H11.17Q11.5 7 11.76 7.25 12 7.5 12 7.83V11.95L12.18 11.92Q12.35 11.3 12.68 10.74 13 10.17 13.47 9.72 13.92 9.27 14.5 8.93 15.04 8.6 15.67 8.43 15.75 8 15.75 7.63 15.75 6.72 15.4 5.92 15.06 5.13 14.46 4.54 13.87 3.95 13.08 3.6 12.28 3.25 11.37 3.25M7.1 15.25Q7.55 15.25 8 15.16 8.42 15.07 8.76 14.85 9.1 14.64 9.31 14.29 9.5 13.93 9.5 13.41 9.5 12.88 9.3 12.53 9.08 12.18 8.75 11.94 8.42 11.71 8.04 11.56L7.32 11.27Q7 11.14 6.77 11 6.55 10.85 6.55 10.62 6.55 10.46 6.67 10.35 6.79 10.25 6.95 10.2 7.11 10.13 7.28 10.11 7.46 10.1 7.58 10.1 8.07 10.1 8.46 10.22 8.84 10.35 9.25 10.6V9.12Q9 9.05 8.81 9 8.61 8.95 8.42 8.92 8.22 8.89 8 8.87 7.8 8.86 7.55 8.86 7.12 8.86 6.67 8.95 6.22 9.05 5.85 9.27 5.5 9.5 5.26 9.83 5.03 10.18 5.03 10.69 5.03 11.19 5.25 11.5 5.47 11.85 5.8 12.09 6.13 12.32 6.5 12.5L7.22 12.79Q7.56 12.93 7.78 13.08 8 13.24 8 13.46 8 13.65 7.89 13.76 7.79 13.87 7.63 13.92 7.5 14 7.31 14H7Q6.41 14 5.96 13.82 5.5 13.62 5.04 13.3V14.86Q6.03 15.25 7.1 15.25M11.37 20.75Q12 20.75 12.58 20.5 13.15 20.26 13.58 19.84 14 19.41 14.25 18.84 14.5 18.27 14.5 17.63 14.5 17.07 14.31 16.56 14.13 16.05 13.8 15.65 13.46 15.24 13 14.96 12.55 14.68 12 14.56V16.17Q12 16.5 11.76 16.76 11.5 17 11.17 17H8.31Q8.25 17.31 8.25 17.63 8.25 18.27 8.5 18.84 8.74 19.41 9.16 19.84 9.59 20.26 10.16 20.5 10.73 20.75 11.37 20.75M17 17Q17.77 17 18.45 16.71 19.14 16.42 19.65 15.9 20.16 15.39 20.46 14.71 20.75 14.03 20.75 13.25 20.75 12.5 20.46 11.8 20.16 11.11 19.65 10.6 19.14 10.09 18.45 9.79 17.77 9.5 17 9.5 16.23 9.5 15.55 9.8 14.87 10.1 14.36 10.61 13.85 11.12 13.55 11.8 13.25 12.5 13.25 13.25V13.46L13.27 13.68Q13.73 13.9 14.12 14.22 14.5 14.54 14.82 14.93 15.12 15.33 15.34 15.79 15.55 16.25 15.66 16.74 16.32 17 17 17Z\";\r\nexport var mdiMicrosoftTeams = \"M19.19 8.77Q18.73 8.77 18.33 8.6 17.94 8.43 17.64 8.13 17.34 7.83 17.17 7.44 17 7.04 17 6.58 17 6.13 17.17 5.73 17.34 5.33 17.64 5.04 17.94 4.74 18.33 4.57 18.73 4.39 19.19 4.4 19.64 4.39 20.04 4.57 20.44 4.74 20.74 5.04 21.03 5.33 21.21 5.73 21.38 6.13 21.38 6.58 21.38 7.04 21.21 7.44 21.04 7.83 20.74 8.13 20.44 8.43 20.04 8.6 19.64 8.77 19.19 8.77M19.19 5.65Q18.8 5.65 18.5 5.92 18.25 6.19 18.25 6.58 18.25 6.97 18.5 7.25 18.8 7.5 19.19 7.5 19.58 7.5 19.85 7.25 20.13 7 20.13 6.58 20.13 6.19 19.85 5.92 19.58 5.65 19.19 5.65M22 10.33V15Q22 15.63 21.76 16.2 21.5 16.77 21.09 17.19 20.66 17.62 20.09 17.86 19.5 18.11 18.88 18.11 18.5 18.11 18.12 18 17.73 17.93 17.41 17.75 17.17 18.54 16.7 19.19 16.23 19.84 15.6 20.3 14.97 20.76 14.21 21 13.45 21.27 12.63 21.27 11.67 21.27 10.82 20.94 10 20.61 9.32 20 8.66 19.43 8.23 18.64 7.79 17.84 7.66 16.9H2.83Q2.5 16.9 2.24 16.65 2 16.41 2 16.07V7.73Q2 7.39 2.24 7.14 2.5 6.9 2.83 6.9H10Q9.71 6.3 9.71 5.65 9.71 5.04 9.94 4.5 10.16 4 10.56 3.58 10.96 3.19 11.5 2.96 12 2.73 12.62 2.73 13.23 2.73 13.76 2.96 14.29 3.19 14.69 3.58 15.09 4 15.31 4.5 15.54 5.04 15.54 5.65 15.54 6.25 15.31 6.79 15.09 7.32 14.69 7.71 14.29 8.11 13.76 8.34 13.23 8.57 12.62 8.57 12.47 8.57 12.31 8.55 12.16 8.53 12 8.5V9.4H21.06Q21.45 9.4 21.73 9.67 22 9.94 22 10.33M12.63 4Q12.28 4 12 4.11 11.67 4.24 11.44 4.47 11.22 4.7 11.09 5 10.96 5.31 10.96 5.65 10.96 6 11.09 6.3 11.22 6.6 11.44 6.83 11.67 7.05 12 7.19 12.28 7.32 12.63 7.32 12.97 7.32 13.27 7.19 13.57 7.05 13.8 6.83 14.03 6.6 14.16 6.3 14.3 6 14.3 5.65 14.3 5.31 14.16 5 14.03 4.7 13.8 4.47 13.57 4.24 13.27 4.11 12.97 4 12.63 4M7.78 10.18H9.66V8.62H4.34V10.18H6.22V15.18H7.78M16.38 16.27V10.65H12V16.07Q12 16.41 11.76 16.65 11.5 16.9 11.17 16.9H8.92Q9.05 17.57 9.39 18.15 9.73 18.72 10.21 19.14 10.69 19.55 11.31 19.79 11.92 20 12.63 20 13.4 20 14.08 19.73 14.76 19.43 15.28 18.92 15.79 18.41 16.08 17.73 16.38 17.05 16.38 16.27M20.75 15V10.65H17.63V16.36Q17.88 16.61 18.2 16.74 18.5 16.86 18.88 16.86 19.27 16.86 19.61 16.71 19.95 16.56 20.2 16.31 20.46 16.06 20.6 15.71 20.75 15.37 20.75 15Z\";\r\nexport var mdiMicrosoftVisualStudio = \"M17,8.5L12.25,12.32L17,16V8.5M4.7,18.4L2,16.7V7.7L5,6.7L9.3,10.03L18,2L22,4.5V20L17,22L9.34,14.66L4.7,18.4M5,14L6.86,12.28L5,10.5V14Z\";\r\nexport var mdiMicrosoftVisualStudioCode = \"M17,16.47V7.39L11,11.93M2.22,9.19C1.92,8.87 1.91,8.37 2.2,8.04L3.4,6.93C3.6,6.75 4.09,6.67 4.45,6.93L7.87,9.54L15.8,2.29C16.12,1.97 16.67,1.84 17.3,2.17L21.3,4.08C21.66,4.29 22,4.62 22,5.23V18.73C22,19.13 21.71,19.56 21.4,19.73L17,21.83C16.68,21.96 16.08,21.84 15.87,21.63L7.85,14.33L4.45,16.93C4.07,17.19 3.6,17.12 3.4,16.93L2.2,15.83C1.88,15.5 1.92,14.96 2.25,14.63L5.25,11.93\";\r\nexport var mdiMicrosoftWindows = \"M3,12V6.75L9,5.43V11.91L3,12M20,3V11.75L10,11.9V5.21L20,3M3,13L9,13.09V19.9L3,18.75V13M20,13.25V22L10,20.09V13.1L20,13.25Z\";\r\nexport var mdiMicrosoftWindowsClassic = \"M2.67,5.3V5.91L1.96,6.21V5.6L2.67,5.3M2.67,11.24V11.86L1.96,12.15V11.56L2.67,11.24M2.67,17.27V17.89L1.96,18.18V17.59L2.67,17.27M2.6,7.29V7.84L2.03,8.1V7.56L2.6,7.29M2.6,9.28V9.82L2.03,10.08V9.54L2.6,9.28M2.6,13.31V13.84L2.03,14.1V13.56L2.6,13.31M2.6,15.33V15.87L2.03,16.13V15.6L2.6,15.33M4.5,5.64V6.36L3.5,6.73V6L4.5,5.64M4.5,11.66V12.37L3.5,12.74V12.03L4.5,11.66M4.5,17.7V18.41L3.5,18.81V18.1L4.5,17.7M4.43,7.72V8.38L3.64,8.68V8L4.43,7.72M4.43,9.73V10.37L3.65,10.67V10L4.43,9.73M4.43,13.74V14.38L3.65,14.69V14.03L4.43,13.74M4.43,15.76V16.41L3.65,16.72V16.06L4.43,15.76M6.31,6.09V6.94L5.05,7.43V6.59L6.31,6.09M6.31,12.11V12.96L5.05,13.45V12.61L6.31,12.11M6.31,18.08V18.93L5.05,19.43V18.58L6.31,18.08M6.25,8.18V8.94L5.19,9.34V8.61L6.25,8.18M6.25,10.18V10.93L5.19,11.35V10.6L6.25,10.18M6.25,14.19V14.94L5.19,15.37V14.62L6.25,14.19M6.25,16.14V16.9L5.19,17.32V16.57L6.25,16.14M8.29,6.04V7.16L6.72,7.78V6.67L8.29,6.04M8.29,12.06V13.19L6.72,13.8V12.68L8.29,12.06M8.29,18.03V19.15L6.72,19.77V18.66L8.29,18.03M8.2,8.13V9.16L6.89,9.69V8.66L8.2,8.13M8.2,10.13V11.15L6.89,11.68V10.65L8.2,10.13M8.2,14.15V15.18L6.89,15.7V14.67L8.2,14.15M8.2,16.1V17.12L6.89,17.64V16.63L8.2,16.1M10.34,5.85V7.32L8.61,8V6.56L10.34,5.85M10.34,11.87V13.33L8.61,14.03V12.56L10.34,11.87M10.34,17.84V19.3L8.61,20V18.54L10.34,17.84M10.26,8.05V9.28L8.78,9.87V8.64L10.26,8.05M10.26,9.97V11.2L8.78,11.78V10.56L10.26,9.97M10.26,14.06V15.31L8.78,15.88V14.65L10.26,14.06M10.26,16V17.25L8.78,17.84V16.6L10.26,16M12.45,5.12V7.12L10.59,7.89V6C11.23,5.65 11.85,5.35 12.45,5.12M12.45,7.33V9.06L10.59,9.84V8.1L12.45,7.33M12.45,9.28V11.04L10.59,11.82V10.06L12.45,9.28M12.45,11.25V13L10.59,13.77V12L12.45,11.25M12.45,13.21V15L10.59,15.78V14L12.45,13.21M12.45,15.21V16.96L10.59,17.76V16L12.45,15.21M12.45,17.17V19.04C11.72,19.32 11.1,19.59 10.59,19.84V17.96L12.45,17.17M22.04,5.18V19.23C20.85,18.44 19.37,18.05 17.59,18.05C16.12,18.05 14.47,18.35 12.65,18.96V17.06C13.62,16.69 14.68,16.42 15.84,16.26V11.69C14.86,11.81 13.8,12.15 12.65,12.71V11.4C13.64,10.94 14.71,10.63 15.84,10.46V6C14.82,6.18 13.76,6.53 12.65,7V5.03C14.27,4.34 15.86,4 17.41,4C19.09,4 20.63,4.39 22.04,5.18M20.15,6.41C19.39,6 18.5,5.82 17.42,5.82C17.29,5.82 17.17,5.83 17.05,5.84V10.38L17.46,10.37C18.37,10.37 19.27,10.5 20.15,10.8V6.41M20.15,12.1C19.34,11.74 18.43,11.56 17.44,11.56C17.31,11.56 17.18,11.57 17.05,11.58V16.16H17.46C18.45,16.16 19.35,16.28 20.15,16.53V12.1H20.15Z\";\r\nexport var mdiMicrosoftWord = \"M21.17 3.25Q21.5 3.25 21.76 3.5 22 3.74 22 4.08V19.92Q22 20.26 21.76 20.5 21.5 20.75 21.17 20.75H7.83Q7.5 20.75 7.24 20.5 7 20.26 7 19.92V17H2.83Q2.5 17 2.24 16.76 2 16.5 2 16.17V7.83Q2 7.5 2.24 7.24 2.5 7 2.83 7H7V4.08Q7 3.74 7.24 3.5 7.5 3.25 7.83 3.25M7.03 11.34L8.23 15.28H9.6L10.91 8.72H9.53L8.75 12.6L7.64 8.85H6.5L5.31 12.62L4.53 8.72H3.09L4.4 15.28H5.77M20.75 19.5V17H8.25V19.5M20.75 15.75V12.63H12V15.75M20.75 11.38V8.25H12V11.38M20.75 7V4.5H8.25V7Z\";\r\nexport var mdiMicrosoftXbox = \"M6.43,3.72C6.5,3.66 6.57,3.6 6.62,3.56C8.18,2.55 10,2 12,2C13.88,2 15.64,2.5 17.14,3.42C17.25,3.5 17.54,3.69 17.7,3.88C16.25,2.28 12,5.7 12,5.7C10.5,4.57 9.17,3.8 8.16,3.5C7.31,3.29 6.73,3.5 6.46,3.7M19.34,5.21C19.29,5.16 19.24,5.11 19.2,5.06C18.84,4.66 18.38,4.56 18,4.59C17.61,4.71 15.9,5.32 13.8,7.31C13.8,7.31 16.17,9.61 17.62,11.96C19.07,14.31 19.93,16.16 19.4,18.73C21,16.95 22,14.59 22,12C22,9.38 21,7 19.34,5.21M15.73,12.96C15.08,12.24 14.13,11.21 12.86,9.95C12.59,9.68 12.3,9.4 12,9.1C12,9.1 11.53,9.56 10.93,10.17C10.16,10.94 9.17,11.95 8.61,12.54C7.63,13.59 4.81,16.89 4.65,18.74C4.65,18.74 4,17.28 5.4,13.89C6.3,11.68 9,8.36 10.15,7.28C10.15,7.28 9.12,6.14 7.82,5.35L7.77,5.32C7.14,4.95 6.46,4.66 5.8,4.62C5.13,4.67 4.71,5.16 4.71,5.16C3.03,6.95 2,9.35 2,12A10,10 0 0,0 12,22C14.93,22 17.57,20.74 19.4,18.73C19.4,18.73 19.19,17.4 17.84,15.5C17.53,15.07 16.37,13.69 15.73,12.96Z\";\r\nexport var mdiMicrosoftXboxController = \"M8.75,15.75C6.75,15.75 6,18 4,19C2,19 0.5,16 4.5,7.5H4.75L5.19,6.67C5.19,6.67 8,5 9.33,6.23H14.67C16,5 18.81,6.67 18.81,6.67L19.25,7.5H19.5C23.5,16 22,19 20,19C18,18 17.25,15.75 15.25,15.75H8.75M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryAlert = \"M21,19V7H15V19H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8M17,9H19V14H17V9M17,15H19V17H17V15Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryCharging = \"M20,5H21.67C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5M21,7H15V19H21V7M15.5,14L18.5,7.5V12H20.5L17.5,18.5V14H15.5M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryEmpty = \"M21,19V7H15V19H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryFull = \"M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryLow = \"M21,16V7H15V16H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryMedium = \"M21,12V7H15V12H21M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8Z\";\r\nexport var mdiMicrosoftXboxControllerBatteryUnknown = \"M21.67,5C22.4,5 23,5.6 23,6.33V19.67A1.33,1.33 0 0,1 21.67,21H14.33C13.6,21 13,20.4 13,19.67V16.75H7.75C5.75,16.75 5,19 3,20C1,20 -0.5,17 3.5,8.5H3.75L4.19,7.67C4.19,7.67 7,6 8.33,7.23H13V6.33A1.33,1.33 0 0,1 14.33,5H16V3H20V5H21.67M11,8A1,1 0 0,0 10,9A1,1 0 0,0 11,10A1,1 0 0,0 12,9A1,1 0 0,0 11,8M18.19,8C17.32,8 16.62,8.2 16.08,8.59C15.56,9 15.3,9.57 15.31,10.36L15.32,10.39H17.25C17.26,10.09 17.35,9.86 17.53,9.7C17.71,9.55 17.93,9.47 18.19,9.47C18.5,9.47 18.76,9.57 18.94,9.75C19.12,9.94 19.2,10.2 19.2,10.5C19.2,10.82 19.13,11.09 18.97,11.32C18.83,11.55 18.62,11.75 18.36,11.91C17.85,12.25 17.5,12.55 17.31,12.82C17.11,13.08 17,13.5 17,14H19C19,13.69 19.04,13.44 19.13,13.26C19.22,13.08 19.39,12.9 19.64,12.74C20.09,12.5 20.46,12.21 20.75,11.81C21.04,11.41 21.19,11 21.19,10.5C21.19,9.74 20.92,9.13 20.38,8.68C19.85,8.23 19.12,8 18.19,8M17,15V17H19V15H17Z\";\r\nexport var mdiMicrosoftXboxControllerMenu = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M6,7H18V9H6V7M6,11H18V13H6V11M6,15H18V17H6V15Z\";\r\nexport var mdiMicrosoftXboxControllerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.5,15.75H8.75C6.75,15.75 6,18 4,19C2,19 0.5,16.04 4.42,7.69L2,5.27M9.33,6.23H14.67C16,5 18.81,6.67 18.81,6.67L19.25,7.5H19.5C23,15 22.28,18.2 20.69,18.87L7.62,5.8C8.25,5.73 8.87,5.81 9.33,6.23M12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7Z\";\r\nexport var mdiMicrosoftXboxControllerView = \"M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M6,7H15V9H8V14H6V7M9,10H18V17H9V10M11,12V15H16V12H11Z\";\r\nexport var mdiMicrowave = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M13,9V15H15V9H13M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z\";\r\nexport var mdiMicrowaveOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.26 5.15C2.5 5.44 2 6.16 2 7V17C2 18.11 2.9 19 4 19H17.11L20.84 22.73L22.11 21.46M4 17V7H5.11L15.11 17H4M16 7V12.8L21.5 18.31C21.81 17.95 22 17.5 22 17V7C22 5.9 21.11 5 20 5H8.2L10.2 7H16M19 7C19.55 7 20 7.45 20 8S19.55 9 19 9 18 8.55 18 8 18.45 7 19 7M19 11C19.55 11 20 11.45 20 12S19.55 13 19 13 18 12.55 18 12 18.45 11 19 11M13 9.8V9H15V11.8L13 9.8Z\";\r\nexport var mdiMiddleware = \"M23 12L19 8V11H14.82C14.4 9.84 13.3 9 12 9S9.6 9.84 9.18 11H5L2 8V16L5 13H9.18C9.6 14.16 10.7 15 12 15S14.4 14.16 14.82 13H19V16L23 12Z\";\r\nexport var mdiMiddlewareOutline = \"M23 12L19 8V11H15.86C15.41 9.28 13.86 8 12 8S8.59 9.28 8.14 11H5L2 8V16L5 13H8.14C8.59 14.72 10.14 16 12 16S15.41 14.72 15.86 13H19V16L23 12M12 14C10.9 14 10 13.1 10 12C10 10.9 10.9 10 12 10S14 10.9 14 12C14 13.1 13.1 14 12 14Z\";\r\nexport var mdiMidi = \"M20.15 8.26H22V15.74H20.15M13 8.26H18.43C19 8.26 19.3 8.74 19.3 9.3V14.81C19.3 15.5 19 15.74 18.38 15.74H13V11H14.87V13.91H17.5V9.95H13M10.32 8.26H12.14V15.74H10.32M2 8.26H8.55C9.1 8.26 9.41 8.74 9.41 9.3V15.74H7.59V10.15H6.5V15.74H4.87V10.15H3.83V15.74H2Z\";\r\nexport var mdiMidiPort = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M20.18,12C20.18,8.18 17.55,4.96 14,4.07V6H10V4.07C6.45,4.96 3.82,8.18 3.82,12A8.18,8.18 0 0,0 12,20.18A8.18,8.18 0 0,0 20.18,12M7,10.64A1.36,1.36 0 0,1 8.36,12A1.36,1.36 0 0,1 7,13.36C6.25,13.36 5.64,12.75 5.64,12C5.64,11.25 6.25,10.64 7,10.64M17,10.64A1.36,1.36 0 0,1 18.36,12A1.36,1.36 0 0,1 17,13.36A1.36,1.36 0 0,1 15.64,12A1.36,1.36 0 0,1 17,10.64M8.36,14.27A1.37,1.37 0 0,1 9.73,15.64C9.73,16.39 9.12,17 8.36,17A1.36,1.36 0 0,1 7,15.64C7,14.88 7.61,14.27 8.36,14.27M15.64,14.27C16.39,14.27 17,14.88 17,15.64A1.36,1.36 0 0,1 15.64,17C14.88,17 14.27,16.39 14.27,15.64A1.37,1.37 0 0,1 15.64,14.27M12,15.64A1.36,1.36 0 0,1 13.36,17A1.36,1.36 0 0,1 12,18.36A1.36,1.36 0 0,1 10.64,17A1.36,1.36 0 0,1 12,15.64Z\";\r\nexport var mdiMine = \"M23,13V11H19.93C19.75,9.58 19.19,8.23 18.31,7.1L20.5,4.93L19.07,3.5L16.9,5.69C15.77,4.81 14.42,4.25 13,4.07V1H11V4.07C9.58,4.25 8.23,4.81 7.1,5.69L4.93,3.5L3.5,4.93L5.69,7.1C4.81,8.23 4.25,9.58 4.07,11H1V13H4.07C4.25,14.42 4.81,15.77 5.69,16.9L3.5,19.07L4.93,20.5L7.1,18.31C8.23,19.19 9.58,19.75 11,19.93V23H13V19.93C14.42,19.75 15.77,19.19 16.9,18.31L19.07,20.5L20.5,19.07L18.31,16.9C19.19,15.77 19.75,14.42 19.93,13H23M12,8A4,4 0 0,0 8,12H6A6,6 0 0,1 12,6V8Z\";\r\nexport var mdiMinecraft = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M6,6V10H10V12H8V18H10V16H14V18H16V12H14V10H18V6H14V10H10V6H6Z\";\r\nexport var mdiMiniSd = \"M6,4A2,2 0 0,0 4,6V18A2,2 0 0,0 6,20H18A2,2 0 0,0 20,18V12L18,10V6A2,2 0 0,0 16,4H6M7,6H9V10H7V6M10,6H12V10H10V6M13,6H15V10H13V6Z\";\r\nexport var mdiMinidisc = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C15.09,5 17.82,7.04 18.7,10H16A1,1 0 0,0 15,11V13A1,1 0 0,0 16,14H18.71C17.82,16.97 15.09,19 12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiMinus = \"M19,13H5V11H19V13Z\";\r\nexport var mdiMinusBox = \"M17,13H7V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiMinusBoxMultiple = \"M19 11H9V9H19M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiMinusBoxMultipleOutline = \"M18 11H10V9H18M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiMinusBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M17,11V13H7V11H17Z\";\r\nexport var mdiMinusCircle = \"M17,13H7V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiMinusCircleMultiple = \"M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M20 13H10V11H20V13Z\";\r\nexport var mdiMinusCircleMultipleOutline = \"M11 11V13H19V11H11M2 12C2 9.21 3.64 6.8 6 5.68V3.5C2.5 4.76 0 8.09 0 12S2.5 19.24 6 20.5V18.32C3.64 17.2 2 14.79 2 12M15 3C10.04 3 6 7.04 6 12S10.04 21 15 21 24 16.96 24 12 19.96 3 15 3M15 19C11.14 19 8 15.86 8 12S11.14 5 15 5 22 8.14 22 12 18.86 19 15 19Z\";\r\nexport var mdiMinusCircleOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M7 13V11H9.1L11.1 13H7M14.2 11L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L16.2 13H17V11H14.2Z\";\r\nexport var mdiMinusCircleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 17.5 6.5 22 12 22C14.3 22 16.4 21.2 18 19.9L20.8 22.7L22.1 21.5M12 20C7.6 20 4 16.4 4 12C4 10.3 4.6 8.7 5.5 7.4L9.1 11H7V13H11.1L16.6 18.5C15.3 19.4 13.7 20 12 20M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.9 21.4 15.7 20.5 17.3L19 15.8C19.6 14.7 20 13.4 20 12C20 7.6 16.4 4 12 4C10.6 4 9.3 4.4 8.2 5M16.2 13L14.2 11H17V13H16.2Z\";\r\nexport var mdiMinusCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,13H17V11H7\";\r\nexport var mdiMinusNetwork = \"M16,11V9H8V11H16M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiMinusNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15,11V9H9V11H15\";\r\nexport var mdiMinusThick = \"M20 14H4V10H20\";\r\nexport var mdiMirror = \"M12 1C16.69 1 20.5 5.93 20.5 12C20.5 18.08 16.69 23 12 23C7.31 23 3.5 18.08 3.5 12C3.5 5.93 7.31 1 12 1M12 3C8.41 3 5.5 7.03 5.5 12C5.5 16.97 8.41 21 12 21C15.59 21 18.5 16.97 18.5 12C18.5 7.03 15.59 3 12 3M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61Z\";\r\nexport var mdiMirrorRectangle = \"M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61M18 3V21H6V3H18M20 1H4V23H20V1Z\";\r\nexport var mdiMirrorVariant = \"M8.29 10.28L11.53 7.03L12.59 8.09L9.35 11.34L8.29 10.28M8.7 14.61L14.36 8.95L15.42 10L9.76 15.67L8.7 14.61M14.17 3L18 6.83V17.17L14.17 21H9.83L6 17.17V6.83L9.83 3H14.17M15 1H9L4 6V18L9 23H15L20 18V6L15 1Z\";\r\nexport var mdiMixedMartialArts = \"M15,10V7H7V10H15M18,7C18.28,7 18.5,7.09 18.7,7.29C18.89,7.5 19,7.73 19,8V10.78C19,10.97 18.97,11.11 18.94,11.2L18.14,15.19C18,15.72 17.7,16 17.2,16H6.8C6.27,16 5.95,15.72 5.86,15.19L5.06,11.2C5.03,11.11 5,10.97 5,10.78V5C5,4.5 5.21,4 5.6,3.61C6,3.2 6.45,3 7,3H15C15.53,3 16,3.2 16.41,3.61C16.81,4 17,4.5 17,5V8C17,7.73 17.11,7.5 17.3,7.29C17.5,7.09 17.72,7 18,7M7,20V17H17V20C17,20.3 16.91,20.53 16.71,20.72C16.5,20.91 16.27,21 16,21H8C7.73,21 7.5,20.91 7.29,20.72C7.09,20.53 7,20.3 7,20Z\";\r\nexport var mdiMixedReality = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3M8.25,15H9.75L10.75,11.57V15H12.25V9H10L9,12.43L8,9H5.75V15H7.25V11.57L8.25,15M13.5,9V15H15V13H16.15L17,15H18.5L17.6,12.9C18.1,12.65 18.5,12.1 18.5,11.5V10.5C18.5,9.65 17.85,9 17,9H13.5M15,10.5H17V11.5H15V10.5Z\";\r\nexport var mdiMolecule = \"M7.27,10L9,7H14.42L15.58,5L15.5,4.5A1.5,1.5 0 0,1 17,3A1.5,1.5 0 0,1 18.5,4.5C18.5,5.21 18,5.81 17.33,5.96L16.37,7.63L17.73,10L18.59,8.5L18.5,8A1.5,1.5 0 0,1 20,6.5A1.5,1.5 0 0,1 21.5,8C21.5,8.71 21,9.3 20.35,9.46L18.89,12L20.62,15C21.39,15.07 22,15.71 22,16.5A1.5,1.5 0 0,1 20.5,18A1.5,1.5 0 0,1 19,16.5V16.24L17.73,14L16.37,16.37L17.33,18.04C18,18.19 18.5,18.79 18.5,19.5A1.5,1.5 0 0,1 17,21A1.5,1.5 0 0,1 15.5,19.5L15.58,19L14.42,17H10.58L9.42,19L9.5,19.5A1.5,1.5 0 0,1 8,21A1.5,1.5 0 0,1 6.5,19.5C6.5,18.79 7,18.19 7.67,18.04L8.63,16.37L4.38,9C3.61,8.93 3,8.29 3,7.5A1.5,1.5 0 0,1 4.5,6A1.5,1.5 0 0,1 6,7.5C6,7.59 6,7.68 6,7.76L7.27,10M10.15,9L8.42,12L10.15,15H14.85L16.58,12L14.85,9H10.15Z\";\r\nexport var mdiMoleculeCo = \"M8 7C6.9 7 6 7.9 6 9V15C6 16.11 6.9 17 8 17H11V15H8V9H11V7H8M14 7C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7H14M14 9H16V15H14V9\";\r\nexport var mdiMoleculeCo2 = \"M5,7A2,2 0 0,0 3,9V15A2,2 0 0,0 5,17H8V15H5V9H8V7H5M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M16,10.5V12H19V13.5H17.5A1.5,1.5 0 0,0 16,15V18H20.5V16.5H17.5V15H19A1.5,1.5 0 0,0 20.5,13.5V12A1.5,1.5 0 0,0 19,10.5H16Z\";\r\nexport var mdiMonitor = \"M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2Z\";\r\nexport var mdiMonitorAccount = \"M21 2C22.05 2 22.92 2.81 23 3.85L23 4V16C23 17.05 22.18 17.92 21.15 18L21 18H14V20H16V22H8V20H10V18H3C1.95 18 1.08 17.18 1 16.15L1 16V4C1 2.94 1.81 2.08 2.85 2L3 2H21M21 4H3V16H21V4M12 11C14.21 11 16 11.9 16 13V14H8V13C8 11.9 9.79 11 12 11M12 6C13.11 6 14 6.9 14 8S13.11 10 12 10 10 9.11 10 8 10.9 6 12 6Z\";\r\nexport var mdiMonitorArrowDown = \"M21 16H3V4H21M21 2H3C1.9 2 1 2.9 1 4V16C1 17.1 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.1 18 23 17.1 23 16V4C23 2.9 22.1 2 21 2M16 10H13V6H11V10H8L12 14L16 10\";\r\nexport var mdiMonitorArrowDownVariant = \"M17 14L22 9L20.6 7.6L18 10.2V3H16V10.2L13.4 7.6L12 9L17 14M23 14V16C23 17.1 22.1 18 21 18H14V20H16V22H8V20H10V18H3C1.9 18 1 17.1 1 16V4C1 2.9 1.9 2 3 2H12V4H3V16H21V14H23Z\";\r\nexport var mdiMonitorCellphone = \"M23,11H18A1,1 0 0,0 17,12V21A1,1 0 0,0 18,22H23A1,1 0 0,0 24,21V12A1,1 0 0,0 23,11M23,20H18V13H23V20M20,2H2C0.89,2 0,2.89 0,4V16A2,2 0 0,0 2,18H9V20H7V22H15V20H13V18H15V16H2V4H20V9H22V4C22,2.89 21.1,2 20,2Z\";\r\nexport var mdiMonitorCellphoneStar = \"M23,11H18A1,1 0 0,0 17,12V21A1,1 0 0,0 18,22H23A1,1 0 0,0 24,21V12A1,1 0 0,0 23,11M23,20H18V13H23V20M20,2H2C0.89,2 0,2.89 0,4V16A2,2 0 0,0 2,18H9V20H7V22H15V20H13V18H15V16H2V4H20V9H22V4C22,2.89 21.1,2 20,2M11.97,9L11,6L10.03,9H7L9.47,10.76L8.53,13.67L11,11.87L13.47,13.67L12.53,10.76L15,9H11.97Z\";\r\nexport var mdiMonitorDashboard = \"M21,16V4H3V16H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14V20H16V22H8V20H10V18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M5,6H14V11H5V6M15,6H19V8H15V6M19,9V14H15V9H19M5,12H9V14H5V12M10,12H14V14H10V12Z\";\r\nexport var mdiMonitorEdit = \"M21 2H3C1.9 2 1 2.9 1 4V16C1 17.11 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.11 18 23 17.11 23 16V4C23 2.9 22.11 2 21 2M21 16H3V4H21V16M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\r\nexport var mdiMonitorEye = \"M3 4V16H21V4H3M3 2H21C22.1 2 23 2.89 23 4V16C23 16.53 22.79 17.04 22.41 17.41C22.04 17.79 21.53 18 21 18H14V20H16V22H8V20H10V18H3C2.47 18 1.96 17.79 1.59 17.41C1.21 17.04 1 16.53 1 16V4C1 2.89 1.89 2 3 2M10.84 8.93C11.15 8.63 11.57 8.45 12 8.45C12.43 8.46 12.85 8.63 13.16 8.94C13.46 9.24 13.64 9.66 13.64 10.09C13.64 10.53 13.46 10.94 13.16 11.25C12.85 11.56 12.43 11.73 12 11.73C11.57 11.73 11.15 11.55 10.84 11.25C10.54 10.94 10.36 10.53 10.36 10.09C10.36 9.66 10.54 9.24 10.84 8.93M10.07 12C10.58 12.53 11.28 12.82 12 12.82C12.72 12.82 13.42 12.53 13.93 12C14.44 11.5 14.73 10.81 14.73 10.09C14.73 9.37 14.44 8.67 13.93 8.16C13.42 7.65 12.72 7.36 12 7.36C11.28 7.36 10.58 7.65 10.07 8.16C9.56 8.67 9.27 9.37 9.27 10.09C9.27 10.81 9.56 11.5 10.07 12M6 10.09C6.94 7.7 9.27 6 12 6C14.73 6 17.06 7.7 18 10.09C17.06 12.5 14.73 14.18 12 14.18C9.27 14.18 6.94 12.5 6 10.09Z\";\r\nexport var mdiMonitorLock = \"M20.5,13A2.5,2.5 0 0,1 23,15.5V16A1,1 0 0,1 24,17V21A1,1 0 0,1 23,22H18A1,1 0 0,1 17,21V17A1,1 0 0,1 18,16V15.5A2.5,2.5 0 0,1 20.5,13M20.5,14A1.5,1.5 0 0,0 19,15.5V16H22V15.5A1.5,1.5 0 0,0 20.5,14M20,4H2V16H15V18H13V20H15V22H7V20H9V18H2C0.89,18 0,17.1 0,16V4C0,2.89 0.89,2 2,2H20A2,2 0 0,1 22,4V11.53C21.41,11.19 20.73,11 20,11V4Z\";\r\nexport var mdiMonitorMultiple = \"M22,17V7H6V17H22M22,5A2,2 0 0,1 24,7V17C24,18.11 23.1,19 22,19H16V21H18V23H10V21H12V19H6C4.89,19 4,18.11 4,17V7A2,2 0 0,1 6,5H22M2,3V15H0V3A2,2 0 0,1 2,1H20V3H2Z\";\r\nexport var mdiMonitorOff = \"M14,18V20H16V22H8V20H10V18H3A2,2 0 0,1 1,16V4L0,3L1.41,1.58L22.16,22.34L20.75,23.75L15,18H14M3,16H13L3,6V16M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H20.66L18.66,16H21V4H6.66L4.66,2H21Z\";\r\nexport var mdiMonitorScreenshot = \"M9,6H5V10H7V8H9M19,10H17V12H15V14H19M21,16H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2\";\r\nexport var mdiMonitorShare = \"M23 4V16C23 17.11 22.11 18 21 18H15V16H21V4H3V16H9V18H3C1.9 18 1 17.11 1 16V4C1 2.89 1.89 2 3 2H21C22.1 2 23 2.89 23 4M13 13H16L12 9L8 13H11V20H8V22H16V20H13V13Z\";\r\nexport var mdiMonitorShimmer = \"M21 16H3V4H21M21 2H3C1.89 2 1 2.89 1 4V16C1 17.11 1.9 18 3 18H10V20H8V22H16V20H14V18H21C22.11 18 23 17.11 23 16V4C23 2.89 22.1 2 21 2M15 5.5L14.38 6.87L13 7.5L14.38 8.13L15 9.5L15.63 8.13L17 7.5L15.63 6.87L15 5.5M10.5 7.5L9.41 9.91L7 11L9.41 12.09L10.5 14.5L11.6 12.09L14 11L11.6 9.91L10.5 7.5\";\r\nexport var mdiMonitorSmall = \"M19 2H5C3.89 2 3 2.89 3 4V16C3 17.11 3.9 18 5 18H10V20H8V22H16V20H14V18H19C20.11 18 21 17.11 21 16V4C21 2.89 20.1 2 19 2M19 16H5V4H19V16Z\";\r\nexport var mdiMonitorSpeaker = \"M3 2C1.9 2 1 2.9 1 4V16C1 17.1 1.9 18 3 18H10V20H8V22H12V16H3V4H21V7H23V4C23 2.9 22.1 2 21 2H3M21 9H16C14.9 9 14 9.9 14 11V20C14 21.1 14.9 22 16 22H21C22.1 22 23 21.1 23 20V11C23 9.9 22.1 9 21 9M18.5 10.5C19.3 10.5 20 11.2 20 12S19.3 13.5 18.5 13.5 17 12.8 17 12 17.7 10.5 18.5 10.5M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5C15.5 15.9 16.8 14.5 18.4 14.5H18.5C20.2 14.5 21.5 15.8 21.5 17.5S20.2 20.5 18.5 20.5M18.5 16C17.7 16 17 16.7 17 17.5S17.7 19 18.5 19 20 18.3 20 17.5 19.3 16 18.5 16Z\";\r\nexport var mdiMonitorSpeakerOff = \"M2.4 1.7L1.1 3L1.2 3.1C1.1 3.4 1 3.7 1 4V16C1 17.1 1.9 18 3 18H10V20H8V22H12V16H3V4.9L14 15.9V20C14 21.1 14.9 22 16 22H20.1L20.8 22.7C20.8 22.7 22 21.7 22.2 21.5L2.4 1.7M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5V17.4L18.6 20.5H18.5M23 4V7H21V4H7.2L5.2 2H21C22.1 2 23 2.9 23 4M21 9H16C15 9 14.1 9.8 14 10.8L17.8 14.6C18 14.5 18.2 14.5 18.5 14.5H18.6C20.3 14.5 21.6 15.8 21.6 17.5C21.6 17.7 21.6 18 21.5 18.2L23.1 19.8V11C23 9.9 22.1 9 21 9M18.5 13.5C17.7 13.5 17 12.8 17 12S17.7 10.5 18.5 10.5 20 11.2 20 12 19.3 13.5 18.5 13.5Z\";\r\nexport var mdiMonitorStar = \"M21,16V4H3V16H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14V20H16V22H8V20H10V18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M12.97,9H16L13.53,10.76L14.47,13.67L12,11.87L9.53,13.67L10.47,10.76L8,9H11.03L12,6L12.97,9Z\";\r\nexport var mdiMonitorVertical = \"M16 2H8C6.89 2 6 2.89 6 4V16C6 17.11 6.9 18 8 18H10V20H8V22H16V20H14V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.1 2 16 2M16 16H8V4H16V16Z\";\r\nexport var mdiMoonFirstQuarter = \"M12 2V22A10 10 0 0 0 12 2Z\";\r\nexport var mdiMoonFull = \"M12 2A10 10 0 1 1 2 12A10 10 0 0 1 12 2Z\";\r\nexport var mdiMoonLastQuarter = \"M12 2A10 10 0 0 0 12 22Z\";\r\nexport var mdiMoonNew = \"M12 20A8 8 0 1 1 20 12A8 8 0 0 1 12 20M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2Z\";\r\nexport var mdiMoonWaningCrescent = \"M2 12A10 10 0 0 0 15 21.54A10 10 0 0 1 15 2.46A10 10 0 0 0 2 12Z\";\r\nexport var mdiMoonWaningGibbous = \"M18 12C18 7.5 16.08 3.26 12 2A10 10 0 0 0 12 22C16.08 20.74 18 16.5 18 12Z\";\r\nexport var mdiMoonWaxingCrescent = \"M12 2A9.91 9.91 0 0 0 9 2.46A10 10 0 0 1 9 21.54A10 10 0 1 0 12 2Z\";\r\nexport var mdiMoonWaxingGibbous = \"M6 12C6 7.5 7.93 3.26 12 2A10 10 0 0 1 12 22C7.93 20.74 6 16.5 6 12Z\";\r\nexport var mdiMoped = \"M19 15C19.55 15 20 15.45 20 16C20 16.55 19.55 17 19 17S18 16.55 18 16C18 15.45 18.45 15 19 15M19 13C17.34 13 16 14.34 16 16S17.34 19 19 19 22 17.66 22 16 20.66 13 19 13M10 6H5V8H10V6M17 5H14V7H17V9.65L13.5 14H10V9H6C3.79 9 2 10.79 2 13V16H4C4 17.66 5.34 19 7 19S10 17.66 10 16H14.5L19 10.35V7C19 5.9 18.11 5 17 5M7 17C6.45 17 6 16.55 6 16H8C8 16.55 7.55 17 7 17Z\";\r\nexport var mdiMopedElectric = \"M19 5C19 3.9 18.1 3 17 3H14V5H17V7.65L13.5 12H10V7H6C3.79 7 2 8.79 2 11V14H4C4 15.66 5.34 17 7 17S10 15.66 10 14H14.5L19 8.35V5M7 15C6.45 15 6 14.55 6 14H8C8 14.55 7.55 15 7 15M5 4H10V6H5V4M19 11C17.34 11 16 12.34 16 14S17.34 17 19 17 22 15.66 22 14 20.66 11 19 11M19 15C18.45 15 18 14.55 18 14S18.45 13 19 13 20 13.45 20 14 19.55 15 19 15M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiMopedElectricOutline = \"M19 5C19 3.9 18.1 3 17 3H14V5H17V7.65L13.5 12H10V7H6C3.79 7 2 8.79 2 11V14H4C4 15.66 5.34 17 7 17S10 15.66 10 14H14.5L19 8.35V5M4 12V11C4 9.9 4.9 9 6 9H8V12H4M7 15C6.45 15 6 14.55 6 14H8C8 14.55 7.55 15 7 15M5 4H10V6H5V4M19 11C17.34 11 16 12.34 16 14S17.34 17 19 17 22 15.66 22 14 20.66 11 19 11M19 15C18.45 15 18 14.55 18 14S18.45 13 19 13 20 13.45 20 14 19.55 15 19 15M7 20H11V18L17 21H13V23L7 20Z\";\r\nexport var mdiMopedOutline = \"M19 7C19 5.9 18.11 5 17 5H14V7H17V9.65L13.5 14H10V9H6C3.79 9 2 10.79 2 13V16H4C4 17.66 5.34 19 7 19S10 17.66 10 16H14.5L19 10.35V7M7 17C6.45 17 6 16.55 6 16H8C8 16.55 7.55 17 7 17M8 14H4V13C4 11.9 4.9 11 6 11H8V14M19 13C17.34 13 16 14.34 16 16S17.34 19 19 19 22 17.66 22 16 20.66 13 19 13M19 17C18.45 17 18 16.55 18 16S18.45 15 19 15 20 15.45 20 16 19.55 17 19 17M10 8H5V6H10V8Z\";\r\nexport var mdiMore = \"M19,13.5A1.5,1.5 0 0,1 17.5,12A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 20.5,12A1.5,1.5 0 0,1 19,13.5M14,13.5A1.5,1.5 0 0,1 12.5,12A1.5,1.5 0 0,1 14,10.5A1.5,1.5 0 0,1 15.5,12A1.5,1.5 0 0,1 14,13.5M9,13.5A1.5,1.5 0 0,1 7.5,12A1.5,1.5 0 0,1 9,10.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 9,13.5M22,3H7C6.31,3 5.77,3.35 5.41,3.88L0,12L5.41,20.11C5.77,20.64 6.37,21 7.06,21H22A2,2 0 0,0 24,19V5C24,3.89 23.1,3 22,3Z\";\r\nexport var mdiMortarPestle = \"M21 7L19 13L21 19V21H3V19L5 13L3 7V5H15.7L17.2 1L19.5 1.8L18.3 5H21V7Z\";\r\nexport var mdiMortarPestlePlus = \"M16,14H13V17H11V14H8V12H11V9H13V12H16M21,5H18.35L19.5,1.85L17.15,1L15.69,5H3V7L5,13L3,19V21H21V19L19,13L21,7V5Z\";\r\nexport var mdiMosque = \"M7 8H17C17.3 8 17.6 8.1 17.8 8.1C17.9 7.8 18 7.4 18 7.1C18 5.8 17.4 4.6 16.3 3.9L12 1L7.7 3.8C6.7 4.6 6 5.8 6 7.1C6 7.5 6.1 7.8 6.2 8.1C6.4 8.1 6.7 8 7 8M24 7C24 5.9 22 4 22 4S20 5.9 20 7C20 7.7 20.4 8.4 21 8.7V13H19V11C19 9.9 18.1 9 17 9H7C5.9 9 5 9.9 5 11V13H3V8.7C3.6 8.4 4 7.7 4 7C4 5.9 2 4 2 4S0 5.9 0 7C0 7.7 .4 8.4 1 8.7V21H10V17C10 15.9 10.9 15 12 15S14 15.9 14 17V21H23V8.7C23.6 8.4 24 7.7 24 7Z\";\r\nexport var mdiMosqueOutline = \"M24 7C24 5.9 22 4 22 4S20 5.9 20 7C20 7.7 20.4 8.4 21 8.7V13H19V11C19 10.1 18.3 9.3 17.5 9.1C17.8 8.5 18 7.9 18 7.1C18 5.8 17.4 4.6 16.3 3.9L12 1L7.7 3.8C6.7 4.6 6 5.8 6 7.1C6 7.8 6.2 8.5 6.6 9.1C5.7 9.3 5 10.1 5 11V13H3V8.7C3.6 8.4 4 7.7 4 7C4 5.9 2 4 2 4S0 5.9 0 7C0 7.7 .4 8.4 1 8.7V21H11V17C11 16.5 11.4 16 12 16S13 16.5 13 17V21H23V8.7C23.6 8.4 24 7.7 24 7M8.9 5.5L12 3.4L15.1 5.5C15.7 5.9 16 6.4 16 7.1C16 8.1 15.1 9 14.1 9H9.9C8.9 9 8 8.1 8 7.1C8 6.4 8.3 5.9 8.9 5.5M21 19H15V17C15 15.4 13.6 14 12 14S9 15.4 9 17V19H3V15H7V11H17V15H21V19Z\";\r\nexport var mdiMotherHeart = \"M12 2C13.66 2 15 3.34 15 5S13.66 8 12 8 9 6.66 9 5 10.34 2 12 2M20 18L18 12.56C17.65 11.57 17.34 10.71 16 10C14.63 9.3 13.63 9 12 9C10.39 9 9.39 9.3 8 10C6.68 10.71 6.37 11.57 6 12.56L4 18C3.77 19.13 6.38 20.44 8.13 21.19C9.34 21.72 10.64 22 12 22C13.38 22 14.67 21.72 15.89 21.19C17.64 20.44 20.25 19.13 20 18M15.42 17.5L12 21L8.58 17.5C8.22 17.12 8 16.61 8 16.05C8 14.92 8.9 14 10 14C10.55 14 11.06 14.23 11.42 14.61L12 15.2L12.58 14.6C12.94 14.23 13.45 14 14 14C15.11 14 16 14.92 16 16.05C16 16.61 15.78 17.13 15.42 17.5Z\";\r\nexport var mdiMotherNurse = \"M12,2A3,3 0 0,1 15,5A3,3 0 0,1 12,8A3,3 0 0,1 9,5A3,3 0 0,1 12,2M20,18L18,12.56C17.65,11.57 17.34,10.71 16,10C14.62,9.3 13.62,9 12,9C10.37,9 9.38,9.3 8,10C6.66,10.71 6.35,11.57 6,12.56L4,18C3.68,19.35 6.36,20.44 8.11,21.19V19C8.11,18.05 8.97,17.38 10.69,16.97C10.85,16.93 11,16.91 11.12,16.89C10.58,16.07 10.36,15.34 10.34,15.28L12.11,14.68C12.12,14.7 12.63,16.27 13.84,17.06C14.05,17.13 14.26,17.21 14.46,17.3C15.23,17.64 15.69,18.08 15.84,18.61C14.5,19.14 13.22,19.41 12,19.41L11,19.31V21.94L12,22C13.37,22 14.67,21.72 15.89,21.19C17.64,20.44 20.25,19.13 20,18M15.5,17A1.5,1.5 0 0,1 14,15.5A1.5,1.5 0 0,1 15.5,14A1.5,1.5 0 0,1 17,15.5A1.5,1.5 0 0,1 15.5,17Z\";\r\nexport var mdiMotion = \"M7 13H3C2.45 13 2 12.55 2 12S2.45 11 3 11H7C7.55 11 8 11.45 8 12S7.55 13 7 13M6 8C6 7.45 5.55 7 5 7H4C3.45 7 3 7.45 3 8S3.45 9 4 9H5C5.55 9 6 8.55 6 8M22 12C22 14.76 19.76 17 17 17H4C3.45 17 3 16.55 3 16S3.45 15 4 15H13C12.58 14.42 12.25 13.74 12.1 13H10C9.45 13 9 12.55 9 12S9.45 11 10 11H12.1C12.25 10.26 12.58 9.58 13 9H8C7.45 9 7 8.55 7 8S7.45 7 8 7H17C19.76 7 22 9.24 22 12Z\";\r\nexport var mdiMotionOutline = \"M7 13H3C2.45 13 2 12.55 2 12S2.45 11 3 11H7C7.55 11 8 11.45 8 12S7.55 13 7 13M6 8C6 7.45 5.55 7 5 7H4C3.45 7 3 7.45 3 8S3.45 9 4 9H5C5.55 9 6 8.55 6 8M22 12C22 14.76 19.76 17 17 17H4C3.45 17 3 16.55 3 16S3.45 15 4 15H13C12.58 14.42 12.25 13.74 12.1 13H10C9.45 13 9 12.55 9 12S9.45 11 10 11H12.1C12.25 10.26 12.58 9.58 13 9H8C7.45 9 7 8.55 7 8S7.45 7 8 7H17C19.76 7 22 9.24 22 12M20 12C20 10.35 18.65 9 17 9S14 10.35 14 12C14 13.65 15.35 15 17 15S20 13.65 20 12Z\";\r\nexport var mdiMotionPause = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97M18 12C18 8.67 15.33 6 12 6C8.67 6 6 8.67 6 12C6 15.33 8.67 18 12 18C15.33 18 18 15.33 18 12M11 9V15H9V9M15 9V15H13V9\";\r\nexport var mdiMotionPauseOutline = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7M9 9H11V15H9M13 9H15V15H13\";\r\nexport var mdiMotionPlay = \"M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97M18 12C18 8.67 15.33 6 12 6C8.67 6 6 8.67 6 12C6 15.33 8.67 18 12 18C15.33 18 18 15.33 18 12M15 12L10 15V9\";\r\nexport var mdiMotionPlayOutline = \"M10 16.5L16 12L10 7.5M22 12C22 6.46 17.54 2 12 2C10.83 2 9.7 2.19 8.62 2.56L9.32 4.5C10.17 4.16 11.06 3.97 12 3.97C16.41 3.97 20.03 7.59 20.03 12C20.03 16.41 16.41 20.03 12 20.03C7.59 20.03 3.97 16.41 3.97 12C3.97 11.06 4.16 10.12 4.5 9.28L2.56 8.62C2.19 9.7 2 10.83 2 12C2 17.54 6.46 22 12 22C17.54 22 22 17.54 22 12M5.47 3.97C6.32 3.97 7 4.68 7 5.47C7 6.32 6.32 7 5.47 7C4.68 7 3.97 6.32 3.97 5.47C3.97 4.68 4.68 3.97 5.47 3.97Z\";\r\nexport var mdiMotionSensor = \"M10,0.2C9,0.2 8.2,1 8.2,2C8.2,3 9,3.8 10,3.8C11,3.8 11.8,3 11.8,2C11.8,1 11,0.2 10,0.2M15.67,1A7.33,7.33 0 0,0 23,8.33V7A6,6 0 0,1 17,1H15.67M18.33,1C18.33,3.58 20.42,5.67 23,5.67V4.33C21.16,4.33 19.67,2.84 19.67,1H18.33M21,1A2,2 0 0,0 23,3V1H21M7.92,4.03C7.75,4.03 7.58,4.06 7.42,4.11L2,5.8V11H3.8V7.33L5.91,6.67L2,22H3.8L6.67,13.89L9,17V22H10.8V15.59L8.31,11.05L9.04,8.18L10.12,10H15V8.2H11.38L9.38,4.87C9.08,4.37 8.54,4.03 7.92,4.03Z\";\r\nexport var mdiMotionSensorOff = \"M11.4 8.2H15V10H13.2L11.4 8.2M19.67 1H18.33C18.33 3.58 20.42 5.67 23 5.67V4.33C21.16 4.33 19.67 2.84 19.67 1M21 1C21 2.11 21.9 3 23 3V1H21M17 1H15.67C15.67 5.05 18.95 8.33 23 8.33V7C19.69 7 17 4.31 17 1M10 3.8C11 3.8 11.8 3 11.8 2S11 .2 10 .2 8.2 1 8.2 2 9 3.8 10 3.8M2.39 1.73L1.11 3L3.46 5.35L2 5.8V11H3.8V7.33L5.05 6.94L5.68 7.57L2 22H3.8L6.67 13.89L9 17V22H10.8V15.59L8.31 11.05L8.5 10.37L20.84 22.73L22.11 21.46L2.39 1.73M9.38 4.87C9.08 4.37 8.54 4.03 7.92 4.03C7.75 4.03 7.58 4.06 7.42 4.11L7.34 4.14L11.35 8.15L9.38 4.87Z\";\r\nexport var mdiMotorbike = \"M17.42,10L13.41,6H9V8H12.59L14.59,10H6.5C4,10 2,12 2,14.5C2,17 4,19 6.5,19C8.72,19 10.56,17.38 10.92,15.27L13.04,14C13,14.17 13,14.33 13,14.5C13,17 15,19 17.5,19C20,19 22,17 22,14.5C22,12 20,10 17.5,10M8.84,15.26C8.5,16.27 7.58,17 6.47,17C5.09,17 3.97,15.88 3.97,14.5C3.97,13.12 5.09,12 6.47,12C7.59,12 8.5,12.74 8.84,13.75H6V15.25L8.84,15.26M17.47,17C16.09,17 14.97,15.88 14.97,14.5C14.97,13.12 16.09,12 17.47,12A2.5,2.5 0 0,1 19.97,14.5A2.5,2.5 0 0,1 17.47,17Z\";\r\nexport var mdiMotorbikeElectric = \"M17.42 8L13.41 4H9V6H12.59L14.59 8H6.5C4 8 2 10 2 12.5S4 17 6.5 17C8.72 17 10.56 15.38 10.92 13.27L13.04 12C13 12.17 13 12.33 13 12.5C13 15 15 17 17.5 17S22 15 22 12.5 20 8 17.5 8M8.84 13.26C8.5 14.27 7.58 15 6.47 15C5.09 15 3.97 13.88 3.97 12.5S5.09 10 6.47 10C7.59 10 8.5 10.74 8.84 11.75H6V13.25L8.84 13.26M17.47 15C16.09 15 14.97 13.88 14.97 12.5S16.09 10 17.47 10C18.85 10 19.97 11.12 19.97 12.5S18.85 15 17.47 15M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiMotorbikeOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.1 10H6.5C4 10 2 12 2 14.5S4 19 6.5 19C8.7 19 10.6 17.4 10.9 15.3L12.4 14.4L13 15C13.2 17.1 14.9 18.8 17 19L20.8 22.8L22.1 21.5M8.8 15.3C8.5 16.3 7.5 17 6.4 17C5.1 17 4 15.9 4 14.5S5.1 12 6.5 12C7.6 12 8.5 12.7 8.9 13.8H6V15.3H8.8M11.2 8L9.2 6H13.4L17.4 10H17.5C20 10 22 12 22 14.5C22 15.7 21.5 16.8 20.8 17.6L19.4 16.2C19.8 15.8 20 15.2 20 14.6C20 13.2 18.9 12.1 17.5 12.1C16.9 12.1 16.3 12.3 15.9 12.7L13.2 10H14.6L12.6 8H11.2Z\";\r\nexport var mdiMouse = \"M11,1.07C7.05,1.56 4,4.92 4,9H11M4,15A8,8 0 0,0 12,23A8,8 0 0,0 20,15V11H4M13,1.07V9H20C20,4.92 16.94,1.56 13,1.07Z\";\r\nexport var mdiMouseBluetooth = \"M20,7H20.5L23.35,9.85L21.21,12L23.35,14.14L20.5,17H20V13.21L17.71,15.5L17,14.79L19.79,12L17,9.21L17.71,8.5L20,10.79V7M21,8.91V10.79L21.94,9.85L21,8.91M21,13.21V15.08L21.94,14.14L21,13.21M15,9V10H9V2.07C12.39,2.56 15,5.47 15,9M1,10V9C1,5.47 3.61,2.56 7,2.07V10H1M15,15A7,7 0 0,1 8,22A7,7 0 0,1 1,15V12H15V15Z\";\r\nexport var mdiMouseMoveDown = \"M7 9H2C2 6.04 4.17 3.57 7 3.09V9M20 7H18V13H15L19 17L23 13H20V7M9 3.09V9H14C14 6.04 11.83 3.57 9 3.09M2 15C2 18.3 4.7 21 8 21S14 18.3 14 15V11H2V15Z\";\r\nexport var mdiMouseMoveUp = \"M7 9H2C2 6.04 4.17 3.57 7 3.09V9M18 17H20V11H23L19 7L15 11H18V17M9 3.09V9H14C14 6.04 11.83 3.57 9 3.09M2 15C2 18.3 4.7 21 8 21S14 18.3 14 15V11H2V15Z\";\r\nexport var mdiMouseMoveVertical = \"M20 6H23L19 2L15 6H18V18H15L19 22L23 18H20V6M9 3.09C11.83 3.57 14 6.04 14 9H9V3.09M14 11V15C14 18.3 11.3 21 8 21S2 18.3 2 15V11H14M7 9H2C2 6.04 4.17 3.57 7 3.09V9Z\";\r\nexport var mdiMouseOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.5,20.79C16.08,22.16 14.14,23 12,23A8,8 0 0,1 4,15V11H7.73L5.73,9H4C4,8.46 4.05,7.93 4.15,7.42L2,5.27M11,1.07V9H10.82L5.79,3.96C7.05,2.4 8.9,1.33 11,1.07M20,11V15C20,15.95 19.83,16.86 19.53,17.71L12.82,11H20M13,1.07C16.94,1.56 20,4.92 20,9H13V1.07Z\";\r\nexport var mdiMouseVariant = \"M14,7H10V2.1C12.28,2.56 14,4.58 14,7M4,7C4,4.58 5.72,2.56 8,2.1V7H4M14,12C14,14.42 12.28,16.44 10,16.9V18A3,3 0 0,0 13,21A3,3 0 0,0 16,18V13A4,4 0 0,1 20,9H22L21,10L22,11H20A2,2 0 0,0 18,13H18V18A5,5 0 0,1 13,23A5,5 0 0,1 8,18V16.9C5.72,16.44 4,14.42 4,12V9H14V12Z\";\r\nexport var mdiMouseVariantOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.29,20.56C16.42,22 14.82,23 13,23A5,5 0 0,1 8,18V16.9C5.72,16.44 4,14.42 4,12V9H5.73L2,5.27M14,7H10V2.1C12.28,2.56 14,4.58 14,7M8,2.1V6.18L5.38,3.55C6.07,2.83 7,2.31 8,2.1M14,12V12.17L10.82,9H14V12M10,16.9V18A3,3 0 0,0 13,21C14.28,21 15.37,20.2 15.8,19.07L12.4,15.67C11.74,16.28 10.92,16.71 10,16.9M16,13A4,4 0 0,1 20,9H22L21,10L22,11H20A2,2 0 0,0 18,13V16.18L16,14.18V13Z\";\r\nexport var mdiMoveResize = \"M9,1V2H10V5H9V6H12V5H11V2H12V1M9,7C7.89,7 7,7.89 7,9V21C7,22.11 7.89,23 9,23H21C22.11,23 23,22.11 23,21V9C23,7.89 22.11,7 21,7M1,9V12H2V11H5V12H6V9H5V10H2V9M9,9H21V21H9M14,10V11H15V16H11V15H10V18H11V17H15V19H14V20H17V19H16V17H19V18H20V15H19V16H16V11H17V10\";\r\nexport var mdiMoveResizeVariant = \"M1.88,0.46L0.46,1.88L5.59,7H2V9H9V2H7V5.59M11,7V9H21V15H23V9A2,2 0 0,0 21,7M7,11V21A2,2 0 0,0 9,23H15V21H9V11M15.88,14.46L14.46,15.88L19.6,21H17V23H23V17H21V19.59\";\r\nexport var mdiMovie = \"M18,4L20,8H17L15,4H13L15,8H12L10,4H8L10,8H7L5,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V4H18Z\";\r\nexport var mdiMovieCheck = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieCheckOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieCog = \"M12 19C12 19.34 12.03 19.67 12.08 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V12.68C21.09 12.25 20.08 12 19 12C15.13 12 12 15.13 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieCogOutline = \"M12 19C12 19.34 12.03 19.67 12.08 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V12.68C21.38 12.39 20.71 12.18 20 12.08V10H5.76L4 6.47V18H12.08C12.03 18.33 12 18.66 12 19M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieEdit = \"M21.04 11.13C20.9 11.13 20.76 11.19 20.65 11.3L19.65 12.3L21.7 14.35L22.7 13.35C22.92 13.14 22.92 12.79 22.7 12.58L21.42 11.3C21.31 11.19 21.18 11.13 21.04 11.13M19.07 12.88L13 18.94V21H15.06L21.12 14.93L19.07 12.88M11 20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4H4L6 8H9L7 4H9L11 8H14L12 4H14L16 8H19L17 4H21V8.12L11 18.11V20Z\";\r\nexport var mdiMovieEditOutline = \"M21 4V8.12L19.12 10H4.76L3 6.47V18H11V20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4H4L6 8H9L7 4H9L11 8H14L12 4H14L16 8H19L17 4H21M21.42 12.3L22.7 13.58C22.92 13.79 22.92 14.14 22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.76 12.19 20.9 12.13 21.04 12.13C21.18 12.13 21.31 12.19 21.42 12.3M21.12 15.93L15.06 22H13V19.94L19.07 13.88L21.12 15.93Z\";\r\nexport var mdiMovieFilter = \"M18 4L20 7H17L15 4H13L15 7H12L10 4H8L10 7H7L5 4H4C2.9 4 2 4.9 2 6L2 18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V4H18M11.25 15.25L10 18L8.75 15.25L6 14L8.75 12.75L10 10L11.25 12.75L14 14L11.25 15.25M16.94 11.94L16 14L15.06 11.94L13 11L15.06 10.06L16 8L16.94 10.06L19 11L16.94 11.94Z\";\r\nexport var mdiMovieFilterOutline = \"M10 11L9.06 13.06L7 14L9.06 14.94L10 17L10.94 14.94L13 14L10.94 13.06M18 4L20 8H17L15 4H13L15 8H12L10 4H8L10 8H7L5 4H4C2.91 4 2 4.9 2 6L2 18C2 19.1 2.91 20 4 20H20C21.11 20 22 19.1 22 18V4H18M20 18H4V6.47L5.77 10H16L15.37 11.37L14 12L15.37 12.63L16 14L16.63 12.63L18 12L16.63 11.37L16 10H20V18Z\";\r\nexport var mdiMovieMinus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiMovieMinusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiMovieOff = \"M22.11 21.46L20.84 22.73L18.11 20H4C2.9 20 2 19.11 2 18V6C2 5.42 2.25 4.9 2.65 4.54L1.11 3L2.39 1.73L22.11 21.46M21.88 18.68C21.96 18.47 22 18.24 22 18V4H18L20 8H17L15 4H13L15 8H12L10 4H8L8.8 5.6L21.88 18.68Z\";\r\nexport var mdiMovieOffOutline = \"M2.39 1.73L1.11 3L2.65 4.54C2.25 4.9 2 5.42 2 6V18C2 19.11 2.9 20 4 20H18.11L20.84 22.73L22.11 21.46L2.39 1.73M4 18V6.47L5.76 10H8.11L16.11 18H4M8.8 5.6L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V18C22 18.24 21.96 18.47 21.88 18.68L20 16.8V10H13.2L8.8 5.6Z\";\r\nexport var mdiMovieOpen = \"M20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1L20.84 2.18M13.97 3.54L12 3.93L14.75 7.46L16.71 7.07L13.97 3.54M9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05L9.07 4.5M4.16 5.5L3.18 5.69A2 2 0 0 0 1.61 8.04L2 10L6.9 9.03L4.16 5.5M2 10V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V10H2Z\";\r\nexport var mdiMovieOpenCheck = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieOpenCheckOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiMovieOpenCog = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M19 12C20.08 12 21.09 12.25 22 12.68V10H2V20C2 21.11 2.9 22 4 22H12.68C12.25 21.09 12 20.08 12 19C12 15.13 15.13 12 19 12M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieOpenCogOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M4 20V12H20V12.08C20.71 12.18 21.38 12.39 22 12.69V10H2V20C2 21.11 2.9 22 4 22H12.68C12.39 21.38 12.18 20.71 12.08 20H4M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiMovieOpenEdit = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M2 10V20C2 21.11 2.9 22 4 22H11V19.13L20.13 10H2M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiMovieOpenEditOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4 12H18.13L20.13 10H2V20C2 21.11 2.9 22 4 22H11V20H4V12M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiMovieOpenMinus = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M15 18V20H23V18H15Z\";\r\nexport var mdiMovieOpenMinusOutline = \"M13.09 20C13.21 20.72 13.46 21.39 13.81 22H4C2.9 22 2 21.11 2 20V10H22V13.81C21.39 13.46 20.72 13.22 20 13.09V12H4V20H13.09M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M15 18V20H23V18H15Z\";\r\nexport var mdiMovieOpenOff = \"M13.2 10H22V18.8L13.2 10M21.6 6.1L20.8 2.2L16.9 3L19.6 6.5L21.6 6.1M11.8 8L9.1 4.5L7.9 4.7L11.3 8.1L11.8 8M2.4 1.7L1.1 3L3.7 5.6L3.2 5.7C2.1 5.9 1.4 7 1.6 8L2 10L7.1 9L8.1 10H2V20C2 21.1 2.9 22 4 22H20.1L20.8 22.7L22.1 21.4L2.4 1.7M16.7 7.1L14 3.5L12 3.9L14.8 7.4L16.7 7.1Z\";\r\nexport var mdiMovieOpenOffOutline = \"M19.7 6.5L16.9 3L20.8 2.2L21.6 6.1L19.7 6.5M22.1 21.5L20.8 22.8L20.1 22H4C2.9 22 2 21.1 2 20V10H8.1L7.1 9L2 10L1.6 8C1.4 7 2.1 5.9 3.2 5.7L3.7 5.6L1.1 3L2.4 1.7L22.1 21.5M18.1 20L10.1 12H4V20H18.1M22 18.8V10H13.2L15.2 12H20V16.8L22 18.8M16.7 7.1L14 3.5L12 3.9L14.8 7.4L16.7 7.1M11.8 8L9.1 4.5L7.9 4.7L11.3 8.1L11.8 8Z\";\r\nexport var mdiMovieOpenOutline = \"M20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1L20.84 2.18M13.97 3.54L12 3.93L14.75 7.46L16.71 7.07L13.97 3.54M9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05L9.07 4.5M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 12V20H4V12H20M22 10H2V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V10Z\";\r\nexport var mdiMovieOpenPlay = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M2 10V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13C20.1 13 21.12 13.3 22 13.81V10H2M17 22L22 19L17 16V22Z\";\r\nexport var mdiMovieOpenPlayOutline = \"M22 10V13.81C21.39 13.46 20.72 13.22 20 13.09V12H4V20H13.09C13.21 20.72 13.46 21.39 13.81 22H4C2.9 22 2 21.11 2 20V10H22M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M17 22L22 19L17 16V22Z\";\r\nexport var mdiMovieOpenPlus = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMovieOpenPlusOutline = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMovieOpenRemove = \"M14.75 7.46L12 3.93L13.97 3.54L16.71 7.07L14.75 7.46M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M21.62 6.1L20.84 2.18L16.91 2.96L19.65 6.5L21.62 6.1M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieOpenRemoveOutline = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieOpenSettings = \"M14.75 5.46L12 1.93L13.97 1.54L16.71 5.07L14.75 5.46M21.62 4.1L20.84 .18L16.91 .96L19.65 4.5L21.62 4.1M11.81 6.05L9.07 2.5L7.1 2.91L9.85 6.44L11.81 6.05M2 8V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V8H2M4.16 3.5L3.18 3.69C2.1 3.91 1.4 4.96 1.61 6.04L2 8L6.9 7.03L4.16 3.5M11 24H13V22H11V24M7 24H9V22H7V24M15 24H17V22H15V24Z\";\r\nexport var mdiMovieOpenSettingsOutline = \"M19.65 4.5L16.91 .96L20.84 .18L21.62 4.1L19.65 4.5M16.71 5.07L13.97 1.54L12 1.93L14.75 5.46L16.71 5.07M11.81 6.05L9.07 2.5L7.1 2.91L9.85 6.44L11.81 6.05M4.16 3.5L3.18 3.69C2.1 3.9 1.39 4.96 1.61 6.04L2 8L6.9 7.03L4.16 3.5M22 8V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V8H22M20 10H4V18H20V10M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiMovieOpenStar = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M19 13C20.1 13 21.12 13.3 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.3 21.12 13 20.1 13 19C13 15.69 15.69 13 19 13M4.16 5.5L3.18 5.69C2.1 5.91 1.4 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMovieOpenStarOutline = \"M19.65 6.5L16.91 2.96L20.84 2.18L21.62 6.1L19.65 6.5M16.71 7.07L13.97 3.54L12 3.93L14.75 7.46L16.71 7.07M4.16 5.5L3.18 5.69C2.1 5.9 1.39 6.96 1.61 8.04L2 10L6.9 9.03L4.16 5.5M11.81 8.05L9.07 4.5L7.1 4.91L9.85 8.44L11.81 8.05M4 20V12H20V13.09C20.72 13.21 21.39 13.46 22 13.81V10H2V20C2 21.11 2.9 22 4 22H13.81C13.46 21.39 13.22 20.72 13.09 20H4M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMovieOutline = \"M5.76,10H20V18H4V6.47M22,4H18L20,8H17L15,4H13L15,8H12L10,4H8L10,8H7L5,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V4Z\";\r\nexport var mdiMoviePlay = \"M22 4V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M17 22L22 19L17 16V22Z\";\r\nexport var mdiMoviePlayOutline = \"M22 4V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M17 22L22 19L17 16V22Z\";\r\nexport var mdiMoviePlus = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMoviePlusOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiMovieRemove = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieRemoveOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiMovieRoll = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A2.5,2.5 0 0,0 9.5,6.5A2.5,2.5 0 0,0 12,9A2.5,2.5 0 0,0 14.5,6.5A2.5,2.5 0 0,0 12,4M4.4,9.53C3.97,10.84 4.69,12.25 6,12.68C7.32,13.1 8.73,12.39 9.15,11.07C9.58,9.76 8.86,8.35 7.55,7.92C6.24,7.5 4.82,8.21 4.4,9.53M19.61,9.5C19.18,8.21 17.77,7.5 16.46,7.92C15.14,8.34 14.42,9.75 14.85,11.07C15.28,12.38 16.69,13.1 18,12.67C19.31,12.25 20.03,10.83 19.61,9.5M7.31,18.46C8.42,19.28 10,19.03 10.8,17.91C11.61,16.79 11.36,15.23 10.24,14.42C9.13,13.61 7.56,13.86 6.75,14.97C5.94,16.09 6.19,17.65 7.31,18.46M16.7,18.46C17.82,17.65 18.07,16.09 17.26,14.97C16.45,13.85 14.88,13.6 13.77,14.42C12.65,15.23 12.4,16.79 13.21,17.91C14,19.03 15.59,19.27 16.7,18.46M12,10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 12,13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 12,10.5Z\";\r\nexport var mdiMovieSearch = \"M11.03 20H4C2.9 20 2 19.1 2 18L2 6C2 4.9 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.05C20.85 11.22 18.82 10 16.5 10C12.92 10 10 12.92 10 16.5C10 17.79 10.38 19 11.03 20M23.39 22L22 23.39L18.88 20.32C18.19 20.75 17.37 21 16.5 21C14 21 12 19 12 16.5S14 12 16.5 12 21 14 21 16.5C21 17.38 20.75 18.21 20.31 18.9L23.39 22M19 16.5C19 15.12 17.88 14 16.5 14S14 15.12 14 16.5 15.12 19 16.5 19 19 17.88 19 16.5Z\";\r\nexport var mdiMovieSearchOutline = \"M11 20H4C2.9 20 2 19.1 2 18V6C2 4.9 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13C21.5 12.2 20.8 11.5 20 11V10H5.8L4 6.5V18H10.2C10.4 18.7 10.6 19.4 11 20M20.3 18.9C20.7 18.2 21 17.4 21 16.5C21 14 19 12 16.5 12S12 14 12 16.5 14 21 16.5 21C17.4 21 18.2 20.8 18.9 20.3L22 23.4L23.4 22L20.3 18.9M16.5 19C15.1 19 14 17.9 14 16.5S15.1 14 16.5 14 19 15.1 19 16.5 17.9 19 16.5 19Z\";\r\nexport var mdiMovieSettings = \"M22 4V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\r\nexport var mdiMovieSettingsOutline = \"M18 4L20 8H17L15 4H13L15 8H12L10 4H8L10 8H7L5 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H20C21.11 20 22 19.11 22 18V4H18M20 18H4V6.47L5.76 10H20V18M11 22H13V24H11V22M7 22H9V24H7V22M15 22H17V24H15V22Z\";\r\nexport var mdiMovieStar = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.12 13.3 20.1 13 19 13C15.69 13 13 15.69 13 19M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMovieStarOutline = \"M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.9 4 4 4H5L7 8H10L8 4H10L12 8H15L13 4H15L17 8H20L18 4H22V13.81C21.39 13.46 20.72 13.22 20 13.09V10H5.76L4 6.47V18H13.09C13.04 18.33 13 18.66 13 19M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiMower = \"M18.5 14C17.55 14 16.69 14.38 16.06 15H9.39L5.74 3H2V5H4.26L7 14.05C6.85 14.03 6.68 14 6.5 14C4.57 14 3 15.57 3 17.5S4.57 21 6.5 21C7.89 21 9.09 20.18 9.65 19H15.35C15.91 20.18 17.11 21 18.5 21C20.43 21 22 19.43 22 17.5S20.43 14 18.5 14M6.5 19C5.67 19 5 18.33 5 17.5S5.67 16 6.5 16 8 16.67 8 17.5 7.33 19 6.5 19M18.5 19C17.67 19 17 18.33 17 17.5S17.67 16 18.5 16 20 16.67 20 17.5 19.33 19 18.5 19M10.13 14L9.53 12H12.76C13.5 12 14.21 12.43 14.55 13.11L15 14H10.13Z\";\r\nexport var mdiMowerBag = \"M11.95 14L10.82 12H14.76C15.5 12 16.21 12.43 16.55 13.11L17 14H11.95M23 18C23 19.66 21.66 21 20 21C18.7 21 17.6 20.16 17.18 19H11.65C11.09 20.18 9.89 21 8.5 21S5.91 20.18 5.35 19H2C1.45 19 1 18.55 1 18V11C1 10.67 1.17 10.36 1.44 10.17C1.71 10 2.06 9.95 2.37 10.07L7.43 12.09L3.42 5H1V3H4.58L11.37 15H20C21.66 15 23 16.34 23 18M7.34 14.21L3 12.5V17H5.05C5.24 15.7 6.13 14.64 7.34 14.21M10 17.5C10 16.67 9.33 16 8.5 16S7 16.67 7 17.5 7.67 19 8.5 19 10 18.33 10 17.5M21 18C21 17.45 20.55 17 20 17S19 17.45 19 18 19.45 19 20 19 21 18.55 21 18Z\";\r\nexport var mdiMowerBagOn = \"M12 2H14V7H12V2M22 6.3L20.6 4.9L17 8.4L18.4 9.8C18.4 9.8 21.9 6.3 22 6.3M10.8 12L11.9 14H17L16.5 13.1C16.2 12.4 15.5 12 14.7 12H10.8M20 15H11.4L4.6 3H1V5H3.4L7.4 12.1L2.3 10.1C2.1 10 1.7 10 1.4 10.2C1.2 10.4 1 10.7 1 11V18C1 18.5 1.5 19 2 19H5.3C5.9 20.2 7.1 21 8.5 21S11.1 20.2 11.7 19H17.2C17.6 20.2 18.7 21 20 21C21.7 21 23 19.7 23 18S21.7 15 20 15M5 17H3V12.5L7.3 14.2C6.1 14.6 5.2 15.7 5 17M8.5 19C7.7 19 7 18.3 7 17.5S7.7 16 8.5 16 10 16.7 10 17.5 9.3 19 8.5 19M20 19C19.5 19 19 18.5 19 18S19.5 17 20 17 21 17.5 21 18 20.5 19 20 19Z\";\r\nexport var mdiMowerOn = \"M12 2H14V7H12V2M22 6.3L20.6 4.9L17 8.4L18.4 9.8C18.4 9.8 21.9 6.3 22 6.3M18.5 14C17.5 14 16.7 14.4 16.1 15H9.4L5.7 3H2V5H4.3L7 14H6.5C4.6 14 3 15.6 3 17.5S4.6 21 6.5 21C7.9 21 9.1 20.2 9.7 19H15.4C16 20.2 17.2 21 18.6 21C20.5 21 22.1 19.4 22.1 17.5S20.4 14 18.5 14M6.5 19C5.7 19 5 18.3 5 17.5S5.7 16 6.5 16 8 16.7 8 17.5 7.3 19 6.5 19M18.5 19C17.7 19 17 18.3 17 17.5S17.7 16 18.5 16 20 16.7 20 17.5 19.3 19 18.5 19M9.5 12L10.1 14H15L14.6 13.1C14.3 12.4 13.5 12 12.8 12H9.5Z\";\r\nexport var mdiMuffin = \"M16,5C16,5 15,2 12,2C9,2 8,5 8,5C6,5 4,7 4,9C1.3,9 1.3,13 4,13H20C22.7,13 22.7,9 20,9C20,7 18,5 16,5M5,15L7,22H9L8,15H5M10,15L11,22H13L14,15H10M16,15L15,22H17L19,15H16Z\";\r\nexport var mdiMulticast = \"M17 2V4H12C10.9 4 10 4.89 10 6V9H12V6H17V8L20 5L17 2M17 9V11H6.73C6.37 10.38 5.71 10 5 10C3.9 10 3 10.9 3 12S3.9 14 5 14C5.71 14 6.37 13.62 6.73 13H17V15L20 12L17 9M10 15V18C10 19.11 10.9 20 12 20H17V22L20 19L17 16V18H12V15H10Z\";\r\nexport var mdiMultimedia = \"M9 13V5C9 3.9 9.9 3 11 3H20C21.1 3 22 3.9 22 5V11H18.57L17.29 9.26C17.23 9.17 17.11 9.17 17.05 9.26L15.06 12C15 12.06 14.88 12.07 14.82 12L13.39 10.25C13.33 10.18 13.22 10.18 13.16 10.25L11.05 12.91C10.97 13 11.04 13.15 11.16 13.15H17.5V15H11C9.89 15 9 14.11 9 13M6 22V21H4V22H2V2H4V3H6V2H8.39C7.54 2.74 7 3.8 7 5V13C7 15.21 8.79 17 11 17H15.7C14.67 17.83 14 19.08 14 20.5C14 21.03 14.11 21.53 14.28 22H6M4 7H6V5H4V7M4 11H6V9H4V11M4 15H6V13H4V15M6 19V17H4V19H6M23 13V15H21V20.5C21 21.88 19.88 23 18.5 23S16 21.88 16 20.5 17.12 18 18.5 18C18.86 18 19.19 18.07 19.5 18.21V13H23Z\";\r\nexport var mdiMultiplication = \"M11,3H13V10.27L19.29,6.64L20.29,8.37L14,12L20.3,15.64L19.3,17.37L13,13.72V21H11V13.73L4.69,17.36L3.69,15.63L10,12L3.72,8.36L4.72,6.63L11,10.26V3Z\";\r\nexport var mdiMultiplicationBox = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M11,17H13V13.73L15.83,15.36L16.83,13.63L14,12L16.83,10.36L15.83,8.63L13,10.27V7H11V10.27L8.17,8.63L7.17,10.36L10,12L7.17,13.63L8.17,15.36L11,13.73V17Z\";\r\nexport var mdiMushroom = \"M12,2A10,10 0 0,1 22,12A2,2 0 0,1 20,14H4A2,2 0 0,1 2,12A10,10 0 0,1 12,2M12,8A2,2 0 0,0 14,6A2,2 0 0,0 12,4A2,2 0 0,0 10,6A2,2 0 0,0 12,8M17,12A2,2 0 0,0 19,10A2,2 0 0,0 17,8A2,2 0 0,0 15,10A2,2 0 0,0 17,12M7,12A2,2 0 0,0 9,10A2,2 0 0,0 7,8A2,2 0 0,0 5,10A2,2 0 0,0 7,12M15,15L16.27,19.45L16.35,20C16.35,21.1 15.45,22 14.35,22H9.65A2,2 0 0,1 7.65,20L7.73,19.45L9,15H15Z\";\r\nexport var mdiMushroomOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 13.1 2.9 14 4 14H12.1L13.1 15H9L7.7 19.5V20C7.7 21.1 8.6 22 9.7 22H14.4C15.5 22 16.4 21.1 16.4 20L16.3 19.5L15.8 17.7L20.9 22.8L22.1 21.5M7 12C5.9 12 5 11.1 5 10C5 9.2 5.5 8.4 6.3 8.1L8.9 10.7C8.6 11.5 7.8 12 7 12M10 6C10 4.9 10.9 4 12 4S14 4.9 14 6 13.1 8 12 8C11.5 8 11.1 7.8 10.7 7.5L17.2 14H20C21.1 14 22 13.1 22 12C22 6.5 17.5 2 12 2C10.1 2 8.3 2.6 6.7 3.5L10.4 7.2C10.2 6.9 10 6.5 10 6M17 8C18.1 8 19 8.9 19 10S18.1 12 17 12 15 11.1 15 10 15.9 8 17 8Z\";\r\nexport var mdiMushroomOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L4.1 6C2.8 7.6 2 9.7 2 12C2 13.1 2.9 14 4 14H12.1L13.1 15H9L8 18.5L7.7 19.5C7.4 20.6 8.1 21.7 9.1 21.9L9.7 22H14.4C15.5 22 16.4 21.1 16.4 20L16.3 19.5L16 18.5L15.8 17.6L20.9 22.7L22.1 21.5M4 12C4 10.3 4.6 8.7 5.5 7.4L6.2 8.1C6.1 8.4 6 8.7 6 9C6 10.1 6.9 11 8 11C8.3 11 8.6 10.9 8.9 10.8L10.1 12H4M9.7 20L10 19L10.6 17H13.6L14.2 19L14.5 20H9.7M16 11C14.9 11 14 10.1 14 9S14.9 7 16 7 18 7.9 18 9 17.1 11 16 11M8.2 5L6.7 3.5C8.3 2.6 10.1 2 12 2C17.5 2 22 6.5 22 12C22 13.1 21.1 14 20 14H17.2L15.2 12H20C20 8.3 17.4 5.1 14 4.2C13.9 5.2 13 6 12 6S10.1 5.2 10 4.2C9.4 4.4 8.7 4.7 8.2 5Z\";\r\nexport var mdiMushroomOutline = \"M4,12H20C20,8.27 17.44,5.13 14,4.25C13.86,5.24 13,6 12,6C11,6 10.14,5.24 10,4.25C6.56,5.13 4,8.27 4,12M12,2A10,10 0 0,1 22,12A2,2 0 0,1 20,14H4A2,2 0 0,1 2,12A10,10 0 0,1 12,2M13.5,17H10.5L9.92,19L9.65,20H14.35L14.08,19L13.5,17M15,15L16,18.5L16.27,19.45L16.35,20C16.35,21.1 15.45,22 14.35,22H9.65L9.17,21.94C8.1,21.66 7.45,20.57 7.73,19.5L8,18.5L9,15H15M16,7A2,2 0 0,1 18,9A2,2 0 0,1 16,11A2,2 0 0,1 14,9A2,2 0 0,1 16,7M8,7A2,2 0 0,1 10,9A2,2 0 0,1 8,11A2,2 0 0,1 6,9A2,2 0 0,1 8,7Z\";\r\nexport var mdiMusic = \"M21,3V15.5A3.5,3.5 0 0,1 17.5,19A3.5,3.5 0 0,1 14,15.5A3.5,3.5 0 0,1 17.5,12C18.04,12 18.55,12.12 19,12.34V6.47L9,8.6V17.5A3.5,3.5 0 0,1 5.5,21A3.5,3.5 0 0,1 2,17.5A3.5,3.5 0 0,1 5.5,14C6.04,14 6.55,14.12 7,14.34V6L21,3Z\";\r\nexport var mdiMusicAccidentalDoubleFlat = \"M15.5 9C14.8 9 14.11 9.28 13.5 9.67V5H11.5V9.62C11.04 9.24 10.39 9 9.5 9C8.8 9 8.11 9.28 7.5 9.67V5H5.5V19C8.5 17.32 10.43 15.79 11.5 14.41V19C16.36 16.26 18.5 13.91 18.5 12C18.5 10.59 17.79 9 15.5 9M7.5 15.38V12.26C8.12 11.59 8.95 11 9.5 11C10.09 11 10.5 11.07 10.5 12C10.5 12.15 10.4 13.3 7.5 15.38M13.5 15.38V12.26C14.12 11.59 14.95 11 15.5 11C16.09 11 16.5 11.07 16.5 12C16.5 12.15 16.4 13.3 13.5 15.38Z\";\r\nexport var mdiMusicAccidentalDoubleSharp = \"M15.41 10H17V7H14V8.59L12 10.59L10 8.59V7H7V10H8.59L10.59 12L8.59 14H7V17H10V15.41L12 13.41L14 15.41V17H17V14H15.41L13.41 12L15.41 10Z\";\r\nexport var mdiMusicAccidentalFlat = \"M8.5 19C13.36 16.26 15.5 13.91 15.5 12C15.5 10.59 14.79 9 12.5 9C11.8 9 11.11 9.28 10.5 9.67V5H8.5M10.5 15.38V12.26C11.12 11.59 11.95 11 12.5 11C13.09 11 13.5 11.07 13.5 12C13.5 12.15 13.4 13.3 10.5 15.38Z\";\r\nexport var mdiMusicAccidentalNatural = \"M10 8.75V3.5H8V17.5L14 15.25V20.5H16V6.5L10 8.75M14 13.25L10 14.75V10.75L14 9.25V13.25Z\";\r\nexport var mdiMusicAccidentalSharp = \"M17 9.5V7.5L15 8.1V5.5H13V8.7L11 9.3V6.5H9V9.9L7 10.5V12.5L9 11.9V13.9L7 14.5V16.5L9 15.9V18.5H11V15.3L13 14.7V17.5H15V14.1L17 13.5V11.5L15 12.1V10.1L17 9.5M13 12.7L11 13.3V11.3L13 10.7V12.7Z\";\r\nexport var mdiMusicBox = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiMusicBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4M18,7H15V12.5A2.5,2.5 0 0,1 12.5,15A2.5,2.5 0 0,1 10,12.5A2.5,2.5 0 0,1 12.5,10C13.07,10 13.58,10.19 14,10.5V5H18M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2Z\";\r\nexport var mdiMusicBoxMultipleOutline = \"M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H8V4H20M12.5,15A2.5,2.5 0 0,0 15,12.5V7H18V5H14V10.5C13.58,10.19 13.07,10 12.5,10A2.5,2.5 0 0,0 10,12.5A2.5,2.5 0 0,0 12.5,15M4,6H2V20A2,2 0 0,0 4,22H18V20H4\";\r\nexport var mdiMusicBoxOutline = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16V9M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M5,5V19H19V5H5Z\";\r\nexport var mdiMusicCircle = \"M16,9V7H12V12.5C11.58,12.19 11.07,12 10.5,12A2.5,2.5 0 0,0 8,14.5A2.5,2.5 0 0,0 10.5,17A2.5,2.5 0 0,0 13,14.5V9H16M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiMusicCircleOutline = \"M16,9H13V14.5A2.5,2.5 0 0,1 10.5,17A2.5,2.5 0 0,1 8,14.5A2.5,2.5 0 0,1 10.5,12C11.07,12 11.58,12.19 12,12.5V7H16V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiMusicClefAlto = \"M5 4H7V20H5M15.46 13H14.83L13.83 12L14.83 11H15.46A3.5 3.5 0 1 0 11.96 7.5H13.96A1.5 1.5 0 1 1 15.46 9H14L12 11H11V4H9V20H11V13H12L14 15H15.46A1.5 1.5 0 1 1 13.96 16.5H11.96A3.5 3.5 0 1 0 15.46 13Z\";\r\nexport var mdiMusicClefBass = \"M18.5 5A1.5 1.5 0 1 1 17 6.5A1.5 1.5 0 0 1 18.5 5M18.5 11A1.5 1.5 0 1 1 17 12.5A1.5 1.5 0 0 1 18.5 11M10 4A5 5 0 0 0 5 9V10A2 2 0 1 0 7.18 8A3 3 0 0 1 10 6A4 4 0 0 1 14 10C14 13.59 11.77 16.19 7 18.2L7.76 20.04C13.31 17.72 16 14.43 16 10A6 6 0 0 0 10 4Z\";\r\nexport var mdiMusicClefTreble = \"M13 11V7.5L15.2 5.29C16 4.5 16.15 3.24 15.59 2.26C15.14 1.47 14.32 1 13.45 1C13.24 1 13 1.03 12.81 1.09C11.73 1.38 11 2.38 11 3.5V6.74L7.86 9.91C6.2 11.6 5.7 14.13 6.61 16.34C7.38 18.24 9.06 19.55 11 19.89V20.5C11 20.76 10.77 21 10.5 21H9V23H10.5C11.85 23 13 21.89 13 20.5V20C15.03 20 17.16 18.08 17.16 15.25C17.16 12.95 15.24 11 13 11M13 3.5C13 3.27 13.11 3.09 13.32 3.03C13.54 2.97 13.77 3.06 13.88 3.26C14 3.46 13.96 3.71 13.8 3.87L13 4.73V3.5M11 11.5C10.03 12.14 9.3 13.24 9.04 14.26L11 14.78V17.83C9.87 17.53 8.9 16.71 8.43 15.57C7.84 14.11 8.16 12.45 9.26 11.33L11 9.5V11.5M13 18V12.94C14.17 12.94 15.18 14.04 15.18 15.25C15.18 17 13.91 18 13 18Z\";\r\nexport var mdiMusicNote = \"M12 3V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V7H18V3H12Z\";\r\nexport var mdiMusicNoteBluetooth = \"M22 9.85L19.14 7H18.64V10.79L16.35 8.5L15.64 9.21L18.43 12L15.64 14.79L16.35 15.5L18.64 13.21V17H19.14L22 14.15L19.85 12L22 9.85M19.64 8.91L20.58 9.85L19.64 10.79V8.91M20.58 14.15L19.64 15.09V13.21L20.58 14.15M9.64 3V13.55C9.05 13.21 8.37 13 7.64 13C5.43 13 3.64 14.79 3.64 17S5.43 21 7.64 21 11.64 19.21 11.64 17V7H15.64V3H9.64Z\";\r\nexport var mdiMusicNoteBluetoothOff = \"M22 9.85L19.14 7H18.64V10.79L16.35 8.5L15.64 9.21L18.43 12L15.64 14.79L16.35 15.5L18.64 13.21V17H19.14L22 14.15L19.85 12L22 9.85M19.64 8.91L20.58 9.85L19.64 10.79V8.91M20.58 14.15L19.64 15.09V13.21L20.58 14.15M1.96 3L.687 4.27L9.69 13.27V13.55C9.1 13.21 8.42 13 7.69 13C5.5 13 3.69 14.79 3.69 17S5.5 21 7.69 21 11.69 19.21 11.69 17V15.27L17.42 21L18.69 19.73L1.96 3M11.69 7H15.69V3H9.69V8.18L11.69 10.18V7Z\";\r\nexport var mdiMusicNoteEighth = \"M12 3V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V7H18V3H12Z\";\r\nexport var mdiMusicNoteEighthDotted = \"M12 3V13.55A4 4 0 1 0 14 17V7H18V3M16.5 20A1.5 1.5 0 1 1 18 18.5A1.5 1.5 0 0 1 16.5 20Z\";\r\nexport var mdiMusicNoteHalf = \"M16 3H14V13.56A3.96 3.96 0 0 0 12 13A4 4 0 1 0 16 17V3M12 19A2 2 0 1 1 14 17A2 2 0 0 1 12 19Z\";\r\nexport var mdiMusicNoteHalfDotted = \"M14 3H12V13.56A3.96 3.96 0 0 0 10 13A4 4 0 1 0 14 17V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19M16.5 20A1.5 1.5 0 1 1 18 18.5A1.5 1.5 0 0 1 16.5 20Z\";\r\nexport var mdiMusicNoteMinus = \"M14 12V14H22V12H14M9 3V13.55C8.41 13.21 7.73 13 7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17V7H15V3H9Z\";\r\nexport var mdiMusicNoteOff = \"M4.27 3L3 4.27L12 13.27V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V15.27L19.73 21L21 19.73L4.27 3M14 7H18V3H12V8.18L14 10.18Z\";\r\nexport var mdiMusicNoteOffOutline = \"M14 7H18V3H12V7.61L14 9.61M12 10.44L4.41 2.86L3 4.27L12 13.27V13.55A3.94 3.94 0 0 0 8.67 13.23A4 4 0 0 0 10.65 20.95A4.1 4.1 0 0 0 14 16.85V15.27L19.73 21L21.14 19.59M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z\";\r\nexport var mdiMusicNoteOutline = \"M12 3V13.55A4 4 0 1 0 14 17V7H18V3M10 19A2 2 0 1 1 12 17A2 2 0 0 1 10 19Z\";\r\nexport var mdiMusicNotePlus = \"M17 9V12H14V14H17V17H19V14H22V12H19V9H17M9 3V13.55C8.41 13.21 7.73 13 7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17V7H15V3H9Z\";\r\nexport var mdiMusicNoteQuarter = \"M14 3V13.56C13.41 13.21 12.73 13 12 13C9.79 13 8 14.79 8 17S9.79 21 12 21 16 19.21 16 17V3H14Z\";\r\nexport var mdiMusicNoteQuarterDotted = \"M12 13V13.56A3.96 3.96 0 0 0 10 13A4 4 0 1 0 14 17V3H12M16.5 17A1.5 1.5 0 1 1 15 18.5A1.5 1.5 0 0 1 16.5 17Z\";\r\nexport var mdiMusicNoteSixteenth = \"M18 7V3H12V13.55C11.41 13.21 10.73 13 10 13C7.79 13 6 14.79 6 17S7.79 21 10 21 14 19.21 14 17V11H18V8H14V7H18Z\";\r\nexport var mdiMusicNoteSixteenthDotted = \"M18 18.5A1.5 1.5 0 1 1 16.5 17A1.5 1.5 0 0 1 18 18.5M18 7V3H12V13.55A4 4 0 1 0 14 17V11H18V8H14V7Z\";\r\nexport var mdiMusicNoteWhole = \"M12 15A2 2 0 1 1 10 17A2 2 0 0 1 12 15M12 13A4 4 0 1 0 16 17A4 4 0 0 0 12 13Z\";\r\nexport var mdiMusicNoteWholeDotted = \"M10 15A2 2 0 1 1 8 17A2 2 0 0 1 10 15M10 13A4 4 0 1 0 14 17A4 4 0 0 0 10 13M16.5 17A1.5 1.5 0 1 1 15 18.5A1.5 1.5 0 0 1 16.5 17Z\";\r\nexport var mdiMusicOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L9,12.27V17.5A3.5,3.5 0 0,1 5.5,21A3.5,3.5 0 0,1 2,17.5A3.5,3.5 0 0,1 5.5,14C6.04,14 6.55,14.12 7,14.34V10.27L2,5.27M21,3V15.5C21,16.5 20.57,17.42 19.88,18.06L14.94,13.12C15.58,12.43 16.5,12 17.5,12C18.04,12 18.55,12.12 19,12.34V6.47L10.17,8.35L7.66,5.84L21,3Z\";\r\nexport var mdiMusicRestEighth = \"M14 6A5.56 5.56 0 0 1 10.95 7.86A1.5 1.5 0 1 0 9.5 9H9.74A6.32 6.32 0 0 0 13.25 7.93L10 18H12L16 6Z\";\r\nexport var mdiMusicRestHalf = \"M6 14H8V10H16V14H18V15H6V14Z\";\r\nexport var mdiMusicRestQuarter = \"M11.71 16.81C10.91 17.6 10.88 18.84 11.64 19.58L10.19 21C8.66 19.5 8.72 17.03 10.32 15.46C10.85 14.94 11.5 14.61 12.16 14.42L9 11.34L10.45 9.92L10.82 9.57C11.82 8.59 11.85 7.04 10.9 6.11L9.16 4.42L10.62 3L14.78 7.06C15.54 7.81 15.5 9.05 14.71 9.83L12.53 11.95L16 15.33L15.61 15.72C15.11 16.21 14.38 16.46 13.72 16.28C13.04 16.1 12.26 16.28 11.71 16.81Z\";\r\nexport var mdiMusicRestSixteenth = \"M15 3A5.56 5.56 0 0 1 11.95 4.86A1.5 1.5 0 1 0 10.5 6H10.74A6.32 6.32 0 0 0 14.25 4.93L12.9 9.1A5.56 5.56 0 0 1 9.95 10.86A1.5 1.5 0 1 0 8.5 12H8.74A6.32 6.32 0 0 0 12.25 10.93L9 21H11L17 3Z\";\r\nexport var mdiMusicRestWhole = \"M18 10H16V14H8V10H6V9H18V10Z\";\r\nexport var mdiMustache = \"M21 12C19 12 18 9 15 9S12 11 12 11 12 9 9 9 5 12 3 12C2 12 1 11 1 11S2 16 6 16C11 16 12 13 12 13S13 16 18 16C22 16 23 11 23 11S22 12 21 12Z\";\r\nexport var mdiNail = \"M13.5,5V16L12,22L10.5,16V5H13.5M17,2H7V4H17V2Z\";\r\nexport var mdiNas = \"M4,5C2.89,5 2,5.89 2,7V17C2,18.11 2.89,19 4,19H20C21.11,19 22,18.11 22,17V7C22,5.89 21.11,5 20,5H4M4.5,7A1,1 0 0,1 5.5,8A1,1 0 0,1 4.5,9A1,1 0 0,1 3.5,8A1,1 0 0,1 4.5,7M7,7H20V17H7V7M8,8V16H11V8H8M12,8V16H15V8H12M16,8V16H19V8H16M9,9H10V10H9V9M13,9H14V10H13V9M17,9H18V10H17V9Z\";\r\nexport var mdiNativescript = \"M7.5,3H16.5C19,3 21,5 21,7.5V16.5C21,19 19,21 16.5,21H7.5C5,21 3,19 3,16.5V7.5C3,5 5,3 7.5,3M6,13.5V16.5A1.5,1.5 0 0,0 7.5,18H9V10.5L15,18H16.5A1.5,1.5 0 0,0 18,16.5V13.5A1.5,1.5 0 0,1 19.5,12A1.5,1.5 0 0,1 18,10.5V7.5A1.5,1.5 0 0,0 16.5,6H15V13.5L9,6H7.5A1.5,1.5 0 0,0 6,7.5V10.5A1.5,1.5 0 0,1 4.5,12A1.5,1.5 0 0,1 6,13.5Z\";\r\nexport var mdiNature = \"M13,16.12C16.47,15.71 19.17,12.76 19.17,9.17C19.17,5.3 16.04,2.17 12.17,2.17A7,7 0 0,0 5.17,9.17C5.17,12.64 7.69,15.5 11,16.06V20H5V22H19V20H13V16.12Z\";\r\nexport var mdiNatureOutline = \"M12.08 14.22L12.77 14.13C15.24 13.84 17.17 11.73 17.17 9.17C17.17 6.41 14.94 4.17 12.17 4.17C10.84 4.17 9.57 4.7 8.63 5.63C7.7 6.57 7.17 7.84 7.17 9.17C7.17 11.64 8.96 13.69 11.33 14.09L12.08 14.22M13 16.12V20H19V22H5V20H11V16.06C7.69 15.5 5.17 12.64 5.17 9.17C5.17 7.31 5.91 5.53 7.22 4.22C8.53 2.91 10.31 2.17 12.17 2.17C16.04 2.17 19.17 5.3 19.17 9.17C19.17 12.76 16.47 15.71 13 16.12Z\";\r\nexport var mdiNaturePeople = \"M4.5,11A1.5,1.5 0 0,0 6,9.5A1.5,1.5 0 0,0 4.5,8A1.5,1.5 0 0,0 3,9.5A1.5,1.5 0 0,0 4.5,11M22.17,9.17C22.17,5.3 19.04,2.17 15.17,2.17A7,7 0 0,0 8.17,9.17C8.17,12.64 10.69,15.5 14,16.06V20H6V17H7V13A1,1 0 0,0 6,12H3A1,1 0 0,0 2,13V17H3V22H19V20H16V16.12C19.47,15.71 22.17,12.76 22.17,9.17Z\";\r\nexport var mdiNaturePeopleOutline = \"M16 20V16.12C19.47 15.71 22.17 12.76 22.17 9.17C22.17 5.3 19.04 2.17 15.17 2.17C13.31 2.17 11.53 2.91 10.22 4.22C8.91 5.53 8.17 7.31 8.17 9.17C8.17 9.95 8.3 10.69 8.53 11.38C8.64 11.71 8.77 12.03 8.93 12.33C9.91 14.27 11.78 15.68 14 16.06V20H6V17H7V12.95C7 12.72 6.89 12.5 6.74 12.33L6.71 12.29L6.66 12.25C6.5 12.09 6.25 12 6 12H3C2.76 12 2.5 12.09 2.34 12.25L2.29 12.29C2.11 12.5 2 12.74 2 13V17H3V22H19V20H16M15.08 14.22L14.33 14.09C11.96 13.69 10.17 11.64 10.17 9.17C10.17 7.84 10.7 6.57 11.63 5.63C12.57 4.7 13.85 4.17 15.17 4.17C17.93 4.17 20.17 6.41 20.17 9.17C20.17 11.73 18.24 13.84 15.77 14.13L15.08 14.21M4.5 11C5.33 11 6 10.33 6 9.5C6 8.67 5.33 8 4.5 8C3.67 8 3 8.67 3 9.5C3 10.33 3.67 11 4.5 11Z\";\r\nexport var mdiNavigation = \"M12,2L4.5,20.29L5.21,21L12,18L18.79,21L19.5,20.29L12,2Z\";\r\nexport var mdiNavigationOutline = \"M12 7.3L16.3 17.7L12.8 16.2L12 15.8L11.2 16.2L7.7 17.7L12 7.3M12 2L4.5 20.3L5.2 21L12 18L18.8 21L19.5 20.3L12 2Z\";\r\nexport var mdiNavigationVariant = \"M21 3L3 10.53V11.5L9.84 14.16L12.5 21H13.46L21 3Z\";\r\nexport var mdiNavigationVariantOutline = \"M17.27 6.73L13.03 16.86L11.71 13.44L11.39 12.61L10.57 12.29L7.14 10.96L17.27 6.73M21 3L3 10.53V11.5L9.84 14.16L12.5 21H13.46L21 3Z\";\r\nexport var mdiNearMe = \"M21,3L3,10.53V11.5L9.84,14.16L12.5,21H13.46L21,3Z\";\r\nexport var mdiNecklace = \"M21.5 5H19.5C19.5 9.14 16.14 12.5 12 12.5C7.86 12.5 4.5 9.14 4.5 5H2.5C2.55 10.11 6.59 14.29 11.7 14.5C11.1 15.4 10 17.2 10 18C10 20.67 14 20.67 14 18C14 17.2 12.9 15.4 12.3 14.5C17.41 14.29 21.45 10.11 21.5 5Z\";\r\nexport var mdiNeedle = \"M11.15,15.18L9.73,13.77L11.15,12.35L12.56,13.77L13.97,12.35L12.56,10.94L13.97,9.53L15.39,10.94L16.8,9.53L13.97,6.7L6.9,13.77L9.73,16.6L11.15,15.18M3.08,19L6.2,15.89L4.08,13.77L13.97,3.87L16.1,6L17.5,4.58L16.1,3.16L17.5,1.75L21.75,6L20.34,7.4L18.92,6L17.5,7.4L19.63,9.53L9.73,19.42L7.61,17.3L3.08,21.84V19Z\";\r\nexport var mdiNeedleOff = \"M22.1 21.5L2.4 1.7L1.1 3L8 9.9L4.1 13.8L6.2 15.9L3.1 19V21.8L7.6 17.3L9.7 19.4L13.6 15.5L20.8 22.7L22.1 21.5M11.2 15.2L9.8 16.6L7 13.8L9.5 11.3L10.9 12.7L9.8 13.8L11.2 15.2M11.9 8.7L10.5 7.3L14 3.9L16.1 6L17.5 4.6L16.1 3.2L17.5 1.8L21.8 6L20.4 7.4L18.9 6L17.5 7.4L19.6 9.5L16.2 13L13.4 10.2L14 9.5L15.4 10.9L16.8 9.5L14 6.7L11.9 8.7Z\";\r\nexport var mdiNetflix = \"M6.5,2H10.5L13.44,10.83L13.5,2H17.5V22C16.25,21.78 14.87,21.64 13.41,21.58L10.5,13L10.43,21.59C9.03,21.65 7.7,21.79 6.5,22V2Z\";\r\nexport var mdiNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiNetworkOff = \"M1,5.27L5,9.27V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H17.73L19.73,24L21,22.72L2.28,4L1,5.27M15,20A1,1 0 0,0 14,19H13V17.27L15.73,20H15M17.69,16.87L5.13,4.31C5.41,3.55 6.14,3 7,3H17A2,2 0 0,1 19,5V15C19,15.86 18.45,16.59 17.69,16.87M22,20V21.18L20.82,20H22Z\";\r\nexport var mdiNetworkOffOutline = \"M1.04,5.27L5,9.23V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H17.77L19.77,24L21.04,22.72L2.32,4L1.04,5.27M7,11.23L10.77,15H7V11.23M15,20A1,1 0 0,0 14,19H13V17.23L15.77,20H15M22,20V21.14L20.86,20H22M7,6.14L5.14,4.28C5.43,3.53 6.16,3 7,3H17A2,2 0 0,1 19,5V15C19,15.85 18.47,16.57 17.72,16.86L15.86,15H17V5H7V6.14Z\";\r\nexport var mdiNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7Z\";\r\nexport var mdiNetworkPos = \"M17 9H8V7H17V9M7 7H5V9H7V7M7 4H5V6H7V4M10 4H8V6H10V4M13 17V19H14C14.55 19 15 19.45 15 20H22V22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H4C2.89 17 2 16.11 2 15L2 3C2 1.89 2.9 1 4 1H20C21.11 1 22 1.89 22 3L22 15C22 16.11 21.11 17 20 17H13M20 15V3H4V15L20 15M11 6H19V4H11V6M5 12H11V10H5V12M13 14H19V12H13V14Z\";\r\nexport var mdiNetworkStrength1 = \"M1,21H21V1M19,5.83V19H11V13.83\";\r\nexport var mdiNetworkStrength1Alert = \"M21 1L1 21H17V19H11V13.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\r\nexport var mdiNetworkStrength2 = \"M1,21H21V1M19,5.83V19H13V11.83\";\r\nexport var mdiNetworkStrength2Alert = \"M21 1L1 21H17V19H13V11.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\r\nexport var mdiNetworkStrength3 = \"M1,21H21V1M19,5.83V19H16V8.83\";\r\nexport var mdiNetworkStrength3Alert = \"M21 1L1 21H17V19H16V8.8L19 5.8V9H21M19 11V17H21V11M19 19V21H21V19\";\r\nexport var mdiNetworkStrength4 = \"M1,21H21V1\";\r\nexport var mdiNetworkStrength4Alert = \"M19 17H21V11H19M19 21H21V19H19M1 21H17V9H21V1\";\r\nexport var mdiNetworkStrength4Cog = \"M17 13C16.9 13 16.8 13.1 16.7 13.2L16.5 14.5C16.2 14.6 15.9 14.8 15.7 15L14.5 14.5C14.4 14.5 14.3 14.5 14.2 14.6L13.2 16.3C13.1 16.4 13.2 16.5 13.3 16.6L14.4 17.4V18.4L13.3 19.2C13.2 19.3 13.2 19.4 13.2 19.5L14.2 21.2C14.3 21.3 14.4 21.3 14.5 21.3L15.7 20.8C16 21 16.2 21.2 16.5 21.3L16.7 22.6C16.7 22.7 16.8 22.8 17 22.8H19C19.1 22.8 19.2 22.7 19.2 22.6L19.4 21.3C19.7 21.2 20 21 20.2 20.8L21.4 21.3C21.5 21.3 21.7 21.3 21.7 21.2L22.7 19.5C22.8 19.4 22.7 19.3 22.6 19.2L21.5 18.4V17.9 17.4L22.6 16.6C22.7 16.5 22.7 16.4 22.7 16.3L21.7 14.6C21.6 14.5 21.5 14.5 21.4 14.5L20.3 15C20 14.8 19.8 14.6 19.4 14.5L19.2 13.2C19.2 13.1 19.1 13 19 13H17M18 16.5C18.8 16.5 19.5 17.2 19.5 18S18.8 19.5 18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5M11.7 21H1L21 1V11.7C20.1 11.3 19.1 11 18 11C14.1 11 11 14.1 11 18C11 19.1 11.2 20.1 11.7 21Z\";\r\nexport var mdiNetworkStrengthOff = \"M21,1L12.4,9.6L21,18.19M4.77,4.5L3.5,5.77L9.86,12.13L1,21H18.73L20.73,23L22,21.73\";\r\nexport var mdiNetworkStrengthOffOutline = \"M21,1L12.4,9.6L13.85,11.05L19,5.83V16.19L21,18.19M4.77,4.5L3.5,5.77L9.86,12.13L1,21H18.73L20.73,23L22,21.73M11.33,13.6L16.73,19H6\";\r\nexport var mdiNetworkStrengthOutline = \"M1,21H21V1M19,5.83V19H6\";\r\nexport var mdiNewBox = \"M20,4C21.11,4 22,4.89 22,6V18C22,19.11 21.11,20 20,20H4C2.89,20 2,19.11 2,18V6C2,4.89 2.89,4 4,4H20M8.5,15V9H7.25V12.5L4.75,9H3.5V15H4.75V11.5L7.3,15H8.5M13.5,10.26V9H9.5V15H13.5V13.75H11V12.64H13.5V11.38H11V10.26H13.5M20.5,14V9H19.25V13.5H18.13V10H16.88V13.5H15.75V9H14.5V14A1,1 0 0,0 15.5,15H19.5A1,1 0 0,0 20.5,14Z\";\r\nexport var mdiNewspaper = \"M20,11H4V8H20M20,15H13V13H20M20,19H13V17H20M11,19H4V13H11M20.33,4.67L18.67,3L17,4.67L15.33,3L13.67,4.67L12,3L10.33,4.67L8.67,3L7,4.67L5.33,3L3.67,4.67L2,3V19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19V3L20.33,4.67Z\";\r\nexport var mdiNewspaperCheck = \"M20.33 4.67L18.67 3L17 4.67L15.33 3L13.67 4.67L12 3L10.33 4.67L8.67 3L7 4.67L5.33 3L3.67 4.67L2 3V19C2 20.11 2.9 21 4 21H12.8C12.29 20.12 12 19.09 12 18C12 16.77 12.37 15.63 13 14.68V13H14.68C15.63 12.37 16.77 12 18 12C19.53 12 20.93 12.58 22 13.5V3L20.33 4.67M11 19H4V13H11V19M20 11H4V8H20V11M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16\";\r\nexport var mdiNewspaperMinus = \"M22,17V19H14V17H22M20,11V8H4V11H20M13,13V14.68C12.37,15.63 12,16.77 12,18C12,19.09 12.29,20.12 12.8,21H4A2,2 0 0,1 2,19V3L3.67,4.67L5.33,3L7,4.67L8.67,3L10.33,4.67L12,3L13.67,4.67L15.33,3L17,4.67L18.67,3L20.33,4.67L22,3V13.5C20.93,12.58 19.53,12 18,12C16.77,12 15.63,12.37 14.68,13H13M11,19V13H4V19H11Z\";\r\nexport var mdiNewspaperPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M20,11V8H4V11H20M13,13V14.68C12.37,15.63 12,16.77 12,18C12,19.09 12.29,20.12 12.8,21H4A2,2 0 0,1 2,19V3L3.67,4.67L5.33,3L7,4.67L8.67,3L10.33,4.67L12,3L13.67,4.67L15.33,3L17,4.67L18.67,3L20.33,4.67L22,3V13.5C20.93,12.58 19.53,12 18,12C16.77,12 15.63,12.37 14.68,13H13M11,19V13H4V19H11Z\";\r\nexport var mdiNewspaperRemove = \"M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46M20.33 4.67L18.67 3L17 4.67L15.33 3L13.67 4.67L12 3L10.33 4.67L8.67 3L7 4.67L5.33 3L3.67 4.67L2 3V19C2 20.11 2.9 21 4 21H12.8C12.29 20.12 12 19.09 12 18C12 16.77 12.37 15.63 13 14.68V13H14.68C15.63 12.37 16.77 12 18 12C19.53 12 20.93 12.58 22 13.5V3L20.33 4.67M11 19H4V13H11V19M20 11H4V8H20V11Z\";\r\nexport var mdiNewspaperVariant = \"M20 3H4C2.89 3 2 3.89 2 5V19C2 20.11 2.89 21 4 21H20C21.11 21 22 20.11 22 19V5C22 3.89 21.11 3 20 3M5 7H10V13H5V7M19 17H5V15H19V17M19 13H12V11H19V13M19 9H12V7H19V9Z\";\r\nexport var mdiNewspaperVariantMultiple = \"M4 7V19H19V21H4C2 21 2 19 2 19V7H4M21.3 3H7.7C6.76 3 6 3.7 6 4.55V15.45C6 16.31 6.76 17 7.7 17H21.3C22.24 17 23 16.31 23 15.45V4.55C23 3.7 22.24 3 21.3 3M8 5H13V11H8V5M21 15H8V13H21V15M21 11H15V9H21V11M21 7H15V5H21V7Z\";\r\nexport var mdiNewspaperVariantMultipleOutline = \"M4 7V19H19V21H4C2 21 2 19 2 19V7H4M21 5V15H8V5H21M21.3 3H7.7C6.76 3 6 3.7 6 4.55V15.45C6 16.31 6.76 17 7.7 17H21.3C22.24 17 23 16.31 23 15.45V4.55C23 3.7 22.24 3 21.3 3M9 6H12V11H9V6M20 14H9V12H20V14M20 8H14V6H20V8M20 11H14V9H20V11Z\";\r\nexport var mdiNewspaperVariantOutline = \"M20 5L20 19L4 19L4 5H20M20 3H4C2.89 3 2 3.89 2 5V19C2 20.11 2.89 21 4 21H20C21.11 21 22 20.11 22 19V5C22 3.89 21.11 3 20 3M18 15H6V17H18V15M10 7H6V13H10V7M12 9H18V7H12V9M18 11H12V13H18V11Z\";\r\nexport var mdiNfc = \"M7.24 2C5.6 2 3.96 2 3.55 2.04C2.67 2.09 2.08 2.73 2.04 3.56C2 4.37 2 19.59 2.04 20.41C2.09 21.23 2.71 21.86 3.55 21.91C4.46 21.96 7.44 21.97 8.29 21.97C6.76 20.91 6.55 18.92 6.41 15.23C6.33 13.04 6.4 5.36 6.41 5.04L6.45 2.94L14.5 11V13.5L8.09 7.11C8.08 8.38 8.06 10.03 8.06 11.54C8.06 13 8.08 14.34 8.12 15.05C8.36 19.07 8.74 20.96 10.83 21.7C11.5 21.93 12.07 22 13.07 22C13.89 22 19.63 22 20.45 21.96C21.33 21.91 21.93 21.27 21.97 20.44C22 19.63 22 4.45 21.97 3.62C21.91 2.8 21.29 2.18 20.45 2.13C19.54 2.08 16.57 2.03 15.71 2.03C17.24 3.09 17.44 5.08 17.59 8.78C17.67 10.97 17.6 18.64 17.59 18.97L17.55 21.06L9.53 13V10.5L15.91 16.89C15.92 15.62 15.94 13.97 15.94 12.46C15.94 11 15.92 9.66 15.88 8.96C15.64 4.93 15.26 3.04 13.17 2.3C12.53 2.07 11.93 2 10.93 2H7.24Z\";\r\nexport var mdiNfcSearchVariant = \"M16.5,12C19,12 21,14 21,16.5C21,17.38 20.76,18.21 20.32,18.9L23.4,22L22,23.39L18.89,20.32C18.2,20.75 17.38,21 16.5,21C14,21 12,19 12,16.5C12,14 14,12 16.5,12M16.5,14A2.5,2.5 0 0,0 14,16.5A2.5,2.5 0 0,0 16.5,19C17.89,19 19,17.88 19,16.5A2.5,2.5 0 0,0 16.5,14M18,6V10.18C17.33,10 16.66,9.97 16,10V8H13V10.28L13.53,10.72C12.34,11.33 11.35,12.3 10.72,13.53C10.28,13.17 10,12.62 10,12C10,11.26 10.41,10.62 11,10.28V8A2,2 0 0,1 13,6H18M6,18V6H8L10,6V8H8V16H10C9.96,16.68 10,17.35 10.17,18H6M20,4H4V20H11C11.53,20.8 12.21,21.5 13.03,22H4C2.89,22 2,21.1 2,20V4A2,2 0 0,1 4,2H20A2,2 0 0,1 22,4V13.04C21.5,12.24 20.82,11.54 20,11V4Z\";\r\nexport var mdiNfcTap = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M4,4H11A2,2 0 0,1 13,6V9H11V6H4V11H6V9L9,12L6,15V13H4A2,2 0 0,1 2,11V6A2,2 0 0,1 4,4M20,20H13A2,2 0 0,1 11,18V15H13V18H20V13H18V15L15,12L18,9V11H20A2,2 0 0,1 22,13V18A2,2 0 0,1 20,20Z\";\r\nexport var mdiNfcVariant = \"M18,6H13A2,2 0 0,0 11,8V10.28C10.41,10.62 10,11.26 10,12A2,2 0 0,0 12,14C13.11,14 14,13.1 14,12C14,11.26 13.6,10.62 13,10.28V8H16V16H8V8H10V6H8L6,6V18H18M20,20H4V4H20M20,2H4A2,2 0 0,0 2,4V20A2,2 0 0,0 4,22H20C21.11,22 22,21.1 22,20V4C22,2.89 21.11,2 20,2Z\";\r\nexport var mdiNfcVariantOff = \"M1.25,2.05L21.95,22.75L20.7,24L18.7,22H4A2,2 0 0,1 2,20V5.3L0,3.3L1.25,2.05M3.81,2C3.87,2 3.94,2 4,2H20C21.11,2 22,2.89 22,4V20C22,20.06 22,20.13 22,20.19L20,18.2V4H5.8L3.81,2M6,9.3L4,7.3V20H16.7L14.7,18H6V9.3M18,16.2L16,14.2V8H13V10.28C13.6,10.62 14,11.26 14,12C14,12.06 14,12.13 14,12.19L11,9.2V8A2,2 0 0,1 13,6H18V16.2M8,16H12.7L8,11.3V16M10,8H9.8L7.8,6H10V8Z\";\r\nexport var mdiNinja = \"M7.75,13C7.74,12.65 7.9,12.31 8.17,12.08C8.92,12.24 9.62,12.55 10.25,13C10.25,13.68 9.69,14.24 9,14.24C8.31,14.24 7.76,13.69 7.75,13M13.75,13C14.38,12.56 15.08,12.25 15.83,12.09C16.1,12.32 16.26,12.66 16.25,13C16.25,13.7 15.69,14.26 15,14.26C14.31,14.26 13.75,13.7 13.75,13V13M12,9C9.23,8.96 6.5,9.65 4.07,11L4,12C4,13.23 4.29,14.44 4.84,15.54C7.21,15.18 9.6,15 12,15C14.4,15 16.79,15.18 19.16,15.54C19.71,14.44 20,13.23 20,12L19.93,11C17.5,9.65 14.77,8.96 12,9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNintendoGameBoy = \"M7 1C5.9 1 5 1.9 5 3V21C5 22.11 5.9 23 7 23H14C16.76 23 19 20.76 19 18V3C19 1.9 18.11 1 17 1H7M8 4H16V11H8V4M9 14H10V16H12V17H10V19H9V17H7V16H9V14M16 15C16.55 15 17 15.45 17 16C17 16.55 16.55 17 16 17C15.45 17 15 16.55 15 16C15 15.45 15.45 15 16 15M14 17C14.55 17 15 17.45 15 18C15 18.55 14.55 19 14 19C13.45 19 13 18.55 13 18C13 17.45 13.45 17 14 17Z\";\r\nexport var mdiNintendoSwitch = \"M10.04,20.4H7.12C6.19,20.4 5.3,20 4.64,19.36C4,18.7 3.6,17.81 3.6,16.88V7.12C3.6,6.19 4,5.3 4.64,4.64C5.3,4 6.19,3.62 7.12,3.62H10.04V20.4M7.12,2A5.12,5.12 0 0,0 2,7.12V16.88C2,19.71 4.29,22 7.12,22H11.65V2H7.12M5.11,8C5.11,9.04 5.95,9.88 7,9.88C8.03,9.88 8.87,9.04 8.87,8C8.87,6.96 8.03,6.12 7,6.12C5.95,6.12 5.11,6.96 5.11,8M17.61,11C18.72,11 19.62,11.89 19.62,13C19.62,14.12 18.72,15 17.61,15C16.5,15 15.58,14.12 15.58,13C15.58,11.89 16.5,11 17.61,11M16.88,22A5.12,5.12 0 0,0 22,16.88V7.12C22,4.29 19.71,2 16.88,2H13.65V22H16.88Z\";\r\nexport var mdiNintendoWii = \"M17.84,16.94H15.97V10.79H17.84V16.94M18,8.58C18,9.19 17.5,9.69 16.9,9.69A1.11,1.11 0 0,1 15.79,8.58C15.79,7.96 16.29,7.46 16.9,7.46C17.5,7.46 18,7.96 18,8.58M21.82,16.94H19.94V10.79H21.82V16.94M22,8.58C22,9.19 21.5,9.69 20.88,9.69A1.11,1.11 0 0,1 19.77,8.58C19.77,7.96 20.27,7.46 20.88,7.46C21.5,7.46 22,7.96 22,8.58M12.9,8.05H14.9L12.78,15.5C12.78,15.5 12.5,17.04 11.28,17.04C10.07,17.04 9.79,15.5 9.79,15.5L8.45,10.64L7.11,15.5C7.11,15.5 6.82,17.04 5.61,17.04C4.4,17.04 4.12,15.5 4.12,15.5L2,8.05H4L5.72,14.67L7.11,9.3C7.43,7.95 8.45,7.97 8.45,7.97C8.45,7.97 9.47,7.95 9.79,9.3L11.17,14.67L12.9,8.05Z\";\r\nexport var mdiNintendoWiiu = \"M2,15.96C2,18.19 3.54,19.5 5.79,19.5H18.57C20.47,19.5 22,18.2 22,16.32V6.97C22,5.83 21.15,4.6 20.11,4.6H17.15V12.3C17.15,18.14 6.97,18.09 6.97,12.41V4.5H4.72C3.26,4.5 2,5.41 2,6.85V15.96M9.34,11.23C9.34,15.74 14.66,15.09 14.66,11.94V4.5H9.34V11.23Z\";\r\nexport var mdiNix = \"M9.9 8.7L5 17.2L3.9 15.3L5.2 13H2.6L2 12L2.6 11H6.3L7.6 8.7H9.9M10.2 15.5H19.9L18.8 17.4H16.2L17.5 19.7L16.9 20.7H15.8L14 17.4H11.3L10.2 15.5M15.9 11.8L11 3.3H13.2L14.5 5.6L15.8 3.3H16.9L17.5 4.3L15.6 7.5L17 9.8L15.9 11.8M13.8 8.5H4L5.1 6.6H7.7L6.4 4.3L7 3.3H8.1L10 6.5H12.7L13.8 8.5M14.1 15.3L19 6.8L20.1 8.7L18.8 11H21.4L22 12L21.4 13H17.7L16.4 15.3H14.1M8.1 12.2L13 20.6H10.8L9.5 18.3L8.4 20.6H7.1L6.5 19.6L8.4 16.4L7 14.2L8.1 12.2Z\";\r\nexport var mdiNodejs = \"M12,1.85C11.73,1.85 11.45,1.92 11.22,2.05L3.78,6.35C3.3,6.63 3,7.15 3,7.71V16.29C3,16.85 3.3,17.37 3.78,17.65L5.73,18.77C6.68,19.23 7,19.24 7.44,19.24C8.84,19.24 9.65,18.39 9.65,16.91V8.44C9.65,8.32 9.55,8.22 9.43,8.22H8.5C8.37,8.22 8.27,8.32 8.27,8.44V16.91C8.27,17.57 7.59,18.22 6.5,17.67L4.45,16.5C4.38,16.45 4.34,16.37 4.34,16.29V7.71C4.34,7.62 4.38,7.54 4.45,7.5L11.89,3.21C11.95,3.17 12.05,3.17 12.11,3.21L19.55,7.5C19.62,7.54 19.66,7.62 19.66,7.71V16.29C19.66,16.37 19.62,16.45 19.55,16.5L12.11,20.79C12.05,20.83 11.95,20.83 11.88,20.79L10,19.65C9.92,19.62 9.84,19.61 9.79,19.64C9.26,19.94 9.16,20 8.67,20.15C8.55,20.19 8.36,20.26 8.74,20.47L11.22,21.94C11.46,22.08 11.72,22.15 12,22.15C12.28,22.15 12.54,22.08 12.78,21.94L20.22,17.65C20.7,17.37 21,16.85 21,16.29V7.71C21,7.15 20.7,6.63 20.22,6.35L12.78,2.05C12.55,1.92 12.28,1.85 12,1.85M14,8C11.88,8 10.61,8.89 10.61,10.39C10.61,12 11.87,12.47 13.91,12.67C16.34,12.91 16.53,13.27 16.53,13.75C16.53,14.58 15.86,14.93 14.3,14.93C12.32,14.93 11.9,14.44 11.75,13.46C11.73,13.36 11.64,13.28 11.53,13.28H10.57C10.45,13.28 10.36,13.37 10.36,13.5C10.36,14.74 11.04,16.24 14.3,16.24C16.65,16.24 18,15.31 18,13.69C18,12.08 16.92,11.66 14.63,11.35C12.32,11.05 12.09,10.89 12.09,10.35C12.09,9.9 12.29,9.3 14,9.3C15.5,9.3 16.09,9.63 16.32,10.66C16.34,10.76 16.43,10.83 16.53,10.83H17.5C17.55,10.83 17.61,10.81 17.65,10.76C17.69,10.72 17.72,10.66 17.7,10.6C17.56,8.82 16.38,8 14,8Z\";\r\nexport var mdiNoodles = \"M22 3L10 4.41V6H22V7H10V12H22C22 13.81 21.43 15.46 20.32 16.95S17.77 19.53 16 20.25V22H8V20.25C6.24 19.53 4.79 18.43 3.68 16.95S2 13.81 2 12H5V4L22 2V3M6 4.88V6H7V4.78L6 4.88M6 7V12H7V7H6M9 12V7H8V12H9M9 6V4.55L8 4.64V6H9Z\";\r\nexport var mdiNotEqual = \"M21,10H9V8H21V10M21,16H9V14H21V16M4,5H6V16H4V5M6,18V20H4V18H6Z\";\r\nexport var mdiNotEqualVariant = \"M14.08,4.61L15.92,5.4L14.8,8H19V10H13.95L12.23,14H19V16H11.38L9.92,19.4L8.08,18.61L9.2,16H5V14H10.06L11.77,10H5V8H12.63L14.08,4.61Z\";\r\nexport var mdiNote = \"M14,10V4.5L19.5,10M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V9L15,3H5Z\";\r\nexport var mdiNoteAlert = \"M3 3C1.89 3 1 3.89 1 5V19C1 20.11 1.9 21 3 21H17C18.11 21 19 20.11 19 19V9L13 3H3M12 10V4.5L17.5 10H12M23 7V13H21V7H23M21 15H23V17H21V15Z\";\r\nexport var mdiNoteAlertOutline = \"M3 3C1.89 3 1 3.89 1 5V19C1 20.1 1.89 21 3 21H17C18.11 21 19 20.11 19 19V9L13 3H3M17 19H3V5H10V12H17V19M12 10V4.5L17.5 10H12M23 7V13H21V7H23M21 15H23V17H21V15Z\";\r\nexport var mdiNoteCheck = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiNoteCheckOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiNoteEdit = \"M21 10V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H11V19.13L19.39 10.74C19.83 10.3 20.39 10.06 21 10M14 4.5L19.5 10H14V4.5M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\r\nexport var mdiNoteEditOutline = \"M18.13 12L19.39 10.74C19.83 10.3 20.39 10.06 21 10V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H11V19.13L11.13 19H5V5H12V12H18.13M14 4.5L19.5 10H14V4.5M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19Z\";\r\nexport var mdiNoteMinus = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M23 18V20H15V18H23Z\";\r\nexport var mdiNoteMinusOutline = \"M23 18V20H15V18H23M13 19C13 19.7 13.13 20.37 13.35 21H5C3.89 21 3 20.1 3 19V5C3 3.89 3.89 3 5 3H15L21 9V13.35C20.37 13.13 19.7 13 19 13V12H12V5H5V19H13M14 10H19.5L14 4.5V10Z\";\r\nexport var mdiNoteMultiple = \"M16,9H21.5L16,3.5V9M7,2H17L23,8V18A2,2 0 0,1 21,20H7C5.89,20 5,19.1 5,18V4A2,2 0 0,1 7,2M3,6V22H21V24H3A2,2 0 0,1 1,22V6H3Z\";\r\nexport var mdiNoteMultipleOutline = \"M3,6V22H21V24H3A2,2 0 0,1 1,22V6H3M16,9H21.5L16,3.5V9M7,2H17L23,8V18A2,2 0 0,1 21,20H7C5.89,20 5,19.1 5,18V4A2,2 0 0,1 7,2M7,4V18H21V11H14V4H7Z\";\r\nexport var mdiNoteOff = \"M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.9 21 3 20.11 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L20.7 20.04L20.7 20.05L22.11 21.46M21 17.8L6.2 3H15L21 9V17.8M19.5 10L14 4.5V10H19.5Z\";\r\nexport var mdiNoteOffOutline = \"M12 5V8.8L15.2 12H19V15.8L21 17.8V9L15 3H6.2L8.2 5H12M14 4.5L19.5 10H14V4.5M20.7 20.05L20.7 20.04L19 18.34V18.35L12.66 12H12.66L12 11.34V11.35L6.14 5.5L2.39 1.73L1.11 3L3 4.9C3 4.93 3 4.97 3 5V19C3 20.1 3.89 21 5 21H19C19.03 21 19.07 21 19.1 21L20.84 22.73L22.11 21.46L20.7 20.05M5 19V6.89L17.11 19H5Z\";\r\nexport var mdiNoteOutline = \"M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,5V19H19V12H12V5H5Z\";\r\nexport var mdiNotePlus = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiNotePlusOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiNoteRemove = \"M19 13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H13.35C13.13 20.37 13 19.7 13 19C13 15.69 15.69 13 19 13M14 4.5L19.5 10H14V4.5M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiNoteRemoveOutline = \"M5 19V5H12V12H19V13C19.7 13 20.37 13.13 21 13.35V9L15 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H13.35C13.13 20.37 13 19.7 13 19H5M14 4.5L19.5 10H14V4.5M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiNoteSearch = \"M15 3H5C3.89 3 3 3.89 3 5V10.82C5.55 8.37 9.59 8.4 12.1 10.9C14.63 13.44 14.63 17.56 12.1 20.1C11.74 20.45 11.35 20.74 10.94 21H19C20.11 21 21 20.11 21 19V9L15 3M14 10V4.5L19.5 10H14M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18Z\";\r\nexport var mdiNoteSearchOutline = \"M15 3H5C3.89 3 3 3.89 3 5V10.82C3.6 10.24 4.28 9.8 5 9.5V5H12V10.82C12.03 10.85 12.07 10.87 12.1 10.9C12.44 11.24 12.73 11.61 12.97 12H19V19H12.97C12.73 19.39 12.44 19.76 12.1 20.1C11.74 20.45 11.35 20.74 10.94 21H19C20.11 21 21 20.11 21 19V9L15 3M14 10V4.5L19.5 10H14M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18Z\";\r\nexport var mdiNoteText = \"M14,10H19.5L14,4.5V10M5,3H15L21,9V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3M5,12V14H19V12H5M5,16V18H14V16H5Z\";\r\nexport var mdiNoteTextOutline = \"M15 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V9L15 3M19 19H5V5H14V10H19M17 14H7V12H17M14 17H7V15H14\";\r\nexport var mdiNotebook = \"M3,7V5H5V4C5,2.89 5.9,2 7,2H13V9L15.5,7.5L18,9V2H19C20.05,2 21,2.95 21,4V20C21,21.05 20.05,22 19,22H7C5.95,22 5,21.05 5,20V19H3V17H5V13H3V11H5V7H3M7,11H5V13H7V11M7,7V5H5V7H7M7,19V17H5V19H7Z\";\r\nexport var mdiNotebookCheck = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V13.8C20.12 13.29 19.09 13 18 13C14.69 13 12 15.69 12 19C12 20.09 12.29 21.12 12.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13Z\";\r\nexport var mdiNotebookCheckOutline = \"M16.75 22.16L14 19.16L15.16 18L16.75 19.59L20.34 16L21.5 17.41L16.75 22.16M17 4V10L15 8L13 10V4H9V20H12.08C12.2 20.72 12.45 21.39 12.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V13.8C20.39 13.45 19.72 13.2 19 13.08V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7Z\";\r\nexport var mdiNotebookEdit = \"M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V10L11 20V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 7H7V5H5V7M5 11V13H7V11H5M5 17V19H7V17H5Z\";\r\nexport var mdiNotebookEditOutline = \"M19.07 14.88L21.12 16.93L15.06 23H13V20.94L19.07 14.88M21.04 13.13C21.18 13.13 21.31 13.19 21.42 13.3L22.7 14.58C22.92 14.79 22.92 15.14 22.7 15.35L21.7 16.35L19.65 14.3L20.65 13.3C20.76 13.19 20.9 13.13 21.04 13.13M17 4V10L15 8L13 10V4H9V20H11V22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V10L19 12V4H17M5 5V7H7V5H5M5 11V13H7V11H5M5 17V19H7V17H5Z\";\r\nexport var mdiNotebookHeart = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M3 7V5H5V4C5 2.89 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20.05 2 21 2.95 21 4V13.34C20.37 13.12 19.7 13 19 13C15.69 13 13 15.69 13 19C13 20.09 13.29 21.12 13.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13Z\";\r\nexport var mdiNotebookHeartOutline = \"M19 23.3L18.4 22.8C16.4 20.9 15 19.7 15 18.2C15 17 16 16 17.2 16C17.9 16 18.6 16.3 19 16.8C19.4 16.3 20.1 16 20.8 16C22 16 23 16.9 23 18.2C23 19.7 21.6 20.9 19.6 22.8L19 23.3M17 4V10L15 8L13 10V4H9V20H13.08C13.2 20.72 13.45 21.39 13.8 22H7C5.95 22 5 21.05 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.89 5.9 2 7 2H19C20.05 2 21 2.95 21 4V13.34C20.37 13.12 19.7 13 19 13V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7Z\";\r\nexport var mdiNotebookMinus = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M14 18V20H22V18H14Z\";\r\nexport var mdiNotebookMinusOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M14 18V20H22V18H14Z\";\r\nexport var mdiNotebookMultiple = \"M9.05,9H7.06V6H9.05V4.03H7.06V3.03C7.06,1.92 7.95,1.04 9.05,1.04H15.03V8L17.5,6.5L20,8V1.04H21C22.05,1.04 23,2 23,3.03V17C23,18.03 22.05,19 21,19H9.05C8,19 7.06,18.05 7.06,17V16H9.05V14H7.06V11H9.05V9M1,18H3V15H1V13H3V10H1V8H3V5H5V8H3V10H5V13H3V15H5V18H3V20H5V21H21V23H5A2,2 0 0,1 3,21V20H1V18Z\";\r\nexport var mdiNotebookOutline = \"M17,4V10L15,8L13,10V4H9V20H19V4H17M3,7V5H5V4C5,2.89 5.9,2 7,2H19C20.05,2 21,2.95 21,4V20C21,21.05 20.05,22 19,22H7C5.95,22 5,21.05 5,20V19H3V17H5V13H3V11H5V7H3M5,5V7H7V5H5M5,19H7V17H5V19M5,13H7V11H5V13Z\";\r\nexport var mdiNotebookPlus = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M17 15V18H14V20H17V23H19V20H22V18H19V15H17Z\";\r\nexport var mdiNotebookPlusOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M17 15V18H14V20H17V23H19V20H22V18H19V15H17Z\";\r\nexport var mdiNotebookRemove = \"M3 7V5H5V4C5 2.9 5.9 2 7 2H13V9L15.5 7.5L18 9V2H19C20 2 21 3 21 4V13.8C20.1 13.3 19.1 13 18 13C14.7 13 12 15.7 12 19C12 20.1 12.3 21.1 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3M5 5V7H7V5H5M5 19H7V17H5V19M5 13H7V11H5V13M20.1 15.5L18 17.6L15.9 15.5L14.5 16.9L16.6 19L14.5 21.1L15.9 22.5L18 20.4L20.1 22.5L21.5 21.1L19.4 19L21.5 16.9L20.1 15.5Z\";\r\nexport var mdiNotebookRemoveOutline = \"M17 4V10L15 8L13 10V4H9V20H12.1C12.2 20.7 12.5 21.4 12.8 22H7C5.9 22 5 21 5 20V19H3V17H5V13H3V11H5V7H3V5H5V4C5 2.9 5.9 2 7 2H19C20 2 21 3 21 4V13.8C20.4 13.4 19.7 13.2 19 13.1V4H17M5 19H7V17H5V19M5 13H7V11H5V13M5 7H7V5H5V7M20.1 15.5L18 17.6L15.9 15.5L14.5 16.9L16.6 19L14.5 21.1L15.9 22.5L18 20.4L20.1 22.5L21.5 21.1L19.4 19L21.5 16.9L20.1 15.5Z\";\r\nexport var mdiNotificationClearAll = \"M5,13H19V11H5M3,17H17V15H3M7,7V9H21V7\";\r\nexport var mdiNpm = \"M4,10V14H6V11H7V14H8V10H4M9,10V15H11V14H13V10H9M12,11V13H11V11H12M14,10V14H16V11H17V14H18V11H19V14H20V10H14M3,9H21V15H12V16H8V15H3V9Z\";\r\nexport var mdiNuke = \"M14.04,12H10V11H5.5A3.5,3.5 0 0,1 2,7.5A3.5,3.5 0 0,1 5.5,4C6.53,4 7.45,4.44 8.09,5.15C8.5,3.35 10.08,2 12,2C13.92,2 15.5,3.35 15.91,5.15C16.55,4.44 17.47,4 18.5,4A3.5,3.5 0 0,1 22,7.5A3.5,3.5 0 0,1 18.5,11H14.04V12M10,16.9V15.76H5V13.76H19V15.76H14.04V16.92L20,19.08C20.58,19.29 21,19.84 21,20.5A1.5,1.5 0 0,1 19.5,22H4.5A1.5,1.5 0 0,1 3,20.5C3,19.84 3.42,19.29 4,19.08L10,16.9Z\";\r\nexport var mdiNull = \"M12,2C13.85,2 15.55,2.78 16.9,4.1L18.6,1.93L20.18,3.16L18.2,5.68C19.33,7.41 20,9.6 20,12C20,17.5 16.42,22 12,22C10.15,22 8.45,21.22 7.1,19.9L5.4,22.07L3.82,20.84L5.8,18.32C4.67,16.59 4,14.4 4,12C4,6.5 7.58,2 12,2M12,4C8.69,4 6,7.58 6,12C6,13.73 6.41,15.33 7.11,16.64L15.67,5.67C14.66,4.62 13.38,4 12,4M12,20C15.31,20 18,16.42 18,12C18,10.27 17.59,8.67 16.89,7.36L8.33,18.33C9.34,19.38 10.62,20 12,20Z\";\r\nexport var mdiNumeric = \"M4,17V9H2V7H6V17H4M22,15C22,16.11 21.1,17 20,17H16V15H20V13H18V11H20V9H16V7H20A2,2 0 0,1 22,9V10.5A1.5,1.5 0 0,1 20.5,12A1.5,1.5 0 0,1 22,13.5V15M14,15V17H8V13C8,11.89 8.9,11 10,11H12V9H8V7H12A2,2 0 0,1 14,9V11C14,12.11 13.1,13 12,13H10V15H14Z\";\r\nexport var mdiNumeric0 = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiNumeric0Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9Z\";\r\nexport var mdiNumeric0BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M13,5A2,2 0 0,0 11,7V13A2,2 0 0,0 13,15H15A2,2 0 0,0 17,13V7A2,2 0 0,0 15,5H13M13,7H15V13H13V7Z\";\r\nexport var mdiNumeric0BoxMultipleOutline = \"M21,17V3H7V17H21M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,5H15A2,2 0 0,1 17,7V13A2,2 0 0,1 15,15H13A2,2 0 0,1 11,13V7A2,2 0 0,1 13,5M13,7V13H15V7H13Z\";\r\nexport var mdiNumeric0BoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11Z\";\r\nexport var mdiNumeric0Circle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11M11,9H13V15H11V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric0CircleOutline = \"M11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,9V15H13V9H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric1 = \"M10,7V9H12V17H14V7H10Z\";\r\nexport var mdiNumeric1Box = \"M14,17H12V9H10V7H14M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric1BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M14,15H16V5H12V7H14V15Z\";\r\nexport var mdiNumeric1BoxMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M14,15H16V5H12V7H14M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric1BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,17H14V7H10V9H12\";\r\nexport var mdiNumeric1Circle = \"M10,7V9H12V17H14V7H10M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric1CircleOutline = \"M10,7H14V17H12V9H10V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric10 = \"M10 7H6V9H8V17H10V7M16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7M16 15H14V9H16V15Z\";\r\nexport var mdiNumeric10Box = \"M14,9H16V15H14V9M21,5V19C21,20.11 20.11,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19C20.11,3 21,3.9 21,5M10,7H6V9H8V17H10V7M18,9A2,2 0 0,0 16,7H14A2,2 0 0,0 12,9V15C12,16.11 12.9,17 14,17H16C17.11,17 18,16.11 18,15V9Z\";\r\nexport var mdiNumeric10BoxMultiple = \"M3 5V21H19V23H3C1.9 23 1 22.11 1 21V5H3M16 13H18V7H16V13M21 1H7C5.9 1 5 1.9 5 3V17C5 18.11 5.9 19 7 19H21C22.11 19 23 18.11 23 17V3C23 1.9 22.11 1 21 1M12 15H10V7H8V5H12V15M20 13C20 14.11 19.11 15 18 15H16C14.9 15 14 14.11 14 13V7C14 5.9 14.9 5 16 5H18C19.11 5 20 5.9 20 7V13Z\";\r\nexport var mdiNumeric10BoxMultipleOutline = \"M21 17V3H7V17H21M21 1C22.11 1 23 1.9 23 3V17C23 18.11 22.11 19 21 19H7C5.9 19 5 18.11 5 17V3C5 1.9 5.9 1 7 1H21M3 5V21H19V23H3C1.9 23 1 22.11 1 21V5H3M12 5H8V7H10V15H12V5M18 5H16C14.9 5 14 5.9 14 7V13C14 14.11 14.9 15 16 15H18C19.11 15 20 14.11 20 13V7C20 5.9 19.11 5 18 5M18 13H16V7H18V13Z\";\r\nexport var mdiNumeric10BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19C3,20.11 3.9,21 5,21H19C20.11,21 21,20.11 21,19V5A2,2 0 0,0 19,3M8,17H10V7H6V9H8M14,7H16C17.11,7 18,7.9 18,9V15C18,16.11 17.11,17 16,17H14A2,2 0 0,1 12,15V9A2,2 0 0,1 14,7M14,9V15H16V9H14Z\";\r\nexport var mdiNumeric10Circle = \"M14 9H16V15H14V9M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M10 7H6V9H8V17H10V7M18 9C18 7.9 17.11 7 16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9Z\";\r\nexport var mdiNumeric10CircleOutline = \"M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C7.58 4 4 7.58 4 12S7.58 20 12 20 20 16.42 20 12 16.42 4 12 4M10 7H6V9H8V17H10V7M16 7H14C12.9 7 12 7.9 12 9V15C12 16.11 12.9 17 14 17H16C17.11 17 18 16.11 18 15V9C18 7.9 17.11 7 16 7M16 15H14V9H16V15Z\";\r\nexport var mdiNumeric2 = \"M9,7V9H13V11H11A2,2 0 0,0 9,13V17H11L15,17V15H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9Z\";\r\nexport var mdiNumeric2Box = \"M15,11C15,12.11 14.1,13 13,13H11V15H15V17H9V13C9,11.89 9.9,11 11,11H13V9H9V7H13A2,2 0 0,1 15,9M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric2BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M17,13H13V11H15A2,2 0 0,0 17,9V7C17,5.89 16.1,5 15,5H11V7H15V9H13A2,2 0 0,0 11,11V15H17V13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric2BoxMultipleOutline = \"M17,13H13V11H15A2,2 0 0,0 17,9V7C17,5.89 16.1,5 15,5H11V7H15V9H13A2,2 0 0,0 11,11V15H17M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric2BoxOutline = \"M15,15H11V13H13A2,2 0 0,0 15,11V9C15,7.89 14.1,7 13,7H9V9H13V11H11A2,2 0 0,0 9,13V17H15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric2Circle = \"M9,7V9H13V11H11A2,2 0 0,0 9,13V17H11L15,17V15H11V13H13A2,2 0 0,0 15,11V9A2,2 0 0,0 13,7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric2CircleOutline = \"M9,7H13A2,2 0 0,1 15,9V11A2,2 0 0,1 13,13H11V15H15V17H11L9,17V13A2,2 0 0,1 11,11H13V9H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric3 = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15\";\r\nexport var mdiNumeric3Box = \"M15,10.5A1.5,1.5 0 0,1 13.5,12C14.34,12 15,12.67 15,13.5V15C15,16.11 14.11,17 13,17H9V15H13V13H11V11H13V9H9V7H13C14.11,7 15,7.89 15,9M19,3H5C3.91,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19C20.11,21 21,20.1 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric3BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H11V7H15V9H13V11H15V13H11V15H15A2,2 0 0,0 17,13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric3BoxMultipleOutline = \"M17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H11V7H15V9H13V11H15V13H11V15H15A2,2 0 0,0 17,13M3,5H1V21A2,2 0 0,0 3,23H19V21H3M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1Z\";\r\nexport var mdiNumeric3BoxOutline = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric3Circle = \"M15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H9V9H13V11H11V13H13V15H9V17H13A2,2 0 0,0 15,15M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric3CircleOutline = \"M15,15A2,2 0 0,1 13,17H9V15H13V13H11V11H13V9H9V7H13A2,2 0 0,1 15,9V10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 15,13.5V15M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric4 = \"M9,7V13H13V17H15V7H13V11H11V7H9Z\";\r\nexport var mdiNumeric4Box = \"M15,17H13V13H9V7H11V11H13V7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric4BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M15,15H17V5H15V9H13V5H11V11H15V15Z\";\r\nexport var mdiNumeric4BoxMultipleOutline = \"M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M15,15H17V5H15V9H13V5H11V11H15M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric4BoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M13,17H15V7H13V11H11V7H9V13H13\";\r\nexport var mdiNumeric4Circle = \"M9,7V13H13V17H15V7H13V11H11V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric4CircleOutline = \"M9,7H11V11H13V7H15V17H13V13H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric5 = \"M9,7V13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H9Z\";\r\nexport var mdiNumeric5Box = \"M15,9H11V11H13A2,2 0 0,1 15,13V15C15,16.11 14.1,17 13,17H9V15H13V13H9V7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric5BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H11V11H15V13H11V15H15A2,2 0 0,0 17,13Z\";\r\nexport var mdiNumeric5BoxMultipleOutline = \"M17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H11V11H15V13H11V15H15A2,2 0 0,0 17,13M3,5H1V21A2,2 0 0,0 3,23H19V21H3M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1Z\";\r\nexport var mdiNumeric5BoxOutline = \"M15,15V13C15,11.89 14.1,11 13,11H11V9H15V7H9V13H13V15H9V17H13A2,2 0 0,0 15,15M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric5Circle = \"M9,7V13H13V15H9V17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric5CircleOutline = \"M9,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H9V15H13V13H9V7M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric6 = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M11,13H13V15H11V13Z\";\r\nexport var mdiNumeric6Box = \"M15,9H11V11H13A2,2 0 0,1 15,13V15C15,16.11 14.1,17 13,17H11A2,2 0 0,1 9,15V9C9,7.89 9.9,7 11,7H15M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M11,15H13V13H11V15Z\";\r\nexport var mdiNumeric6BoxMultiple = \"M13,11H15V13H13V11M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M13,15H15A2,2 0 0,0 17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H13A2,2 0 0,0 11,7V13C11,14.11 11.9,15 13,15Z\";\r\nexport var mdiNumeric6BoxMultipleOutline = \"M13,11H15V13H13M13,15H15A2,2 0 0,0 17,13V11C17,9.89 16.1,9 15,9H13V7H17V5H13A2,2 0 0,0 11,7V13C11,14.11 11.9,15 13,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric6BoxOutline = \"M11,13H13V15H11M11,17H13A2,2 0 0,0 15,15V13C15,11.89 14.1,11 13,11H11V9H15V7H11A2,2 0 0,0 9,9V15C9,16.11 9.9,17 11,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric6Circle = \"M11,7A2,2 0 0,0 9,9V15A2,2 0 0,0 11,17H13A2,2 0 0,0 15,15V13A2,2 0 0,0 13,11H11V9H15V7H11M11,13H13V15H11V13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric6CircleOutline = \"M11,7H15V9H11V11H13A2,2 0 0,1 15,13V15A2,2 0 0,1 13,17H11A2,2 0 0,1 9,15V9A2,2 0 0,1 11,7M11,13V15H13V13H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric7 = \"M11,17L15,9V7H9V9H13L9,17\";\r\nexport var mdiNumeric7Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,17L15,9V7H9V9H13L9,17H11Z\";\r\nexport var mdiNumeric7BoxMultiple = \"M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,15L17,7V5H11V7H15L11,15H13M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric7BoxMultipleOutline = \"M13,15L17,7V5H11V7H15L11,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric7BoxOutline = \"M11,17L15,9V7H9V9H13L9,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric7Circle = \"M11,17L15,9V7H9V9H13L9,17H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric7CircleOutline = \"M11,17H9L13,9H9V7H15V9L11,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric8 = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17\";\r\nexport var mdiNumeric8Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M11,13H13V15H11V13M11,9H13V11H11V9Z\";\r\nexport var mdiNumeric8BoxMultiple = \"M13,11H15V13H13V11M13,7H15V9H13V7M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M13,15H15A2,2 0 0,0 17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H13A2,2 0 0,0 11,7V8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 11,11.5V13C11,14.11 11.9,15 13,15M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric8BoxMultipleOutline = \"M13,11H15V13H13M13,7H15V9H13M13,15H15A2,2 0 0,0 17,13V11.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5V7C17,5.89 16.1,5 15,5H13A2,2 0 0,0 11,7V8.5A1.5,1.5 0 0,0 12.5,10A1.5,1.5 0 0,0 11,11.5V13C11,14.11 11.9,15 13,15M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric8BoxOutline = \"M11,13H13V15H11M11,9H13V11H11M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric8Circle = \"M11,13H13V15H11V13M11,9H13V11H11V9M11,17H13A2,2 0 0,0 15,15V13.5A1.5,1.5 0 0,0 13.5,12A1.5,1.5 0 0,0 15,10.5V9C15,7.89 14.1,7 13,7H11A2,2 0 0,0 9,9V10.5A1.5,1.5 0 0,0 10.5,12A1.5,1.5 0 0,0 9,13.5V15C9,16.11 9.9,17 11,17M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric8CircleOutline = \"M11,13V15H13V13H11M11,9V11H13V9H11M11,17A2,2 0 0,1 9,15V13.5A1.5,1.5 0 0,1 10.5,12A1.5,1.5 0 0,1 9,10.5V9A2,2 0 0,1 11,7H13A2,2 0 0,1 15,9V10.5A1.5,1.5 0 0,1 13.5,12A1.5,1.5 0 0,1 15,13.5V15A2,2 0 0,1 13,17H11M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric9 = \"M13,17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13M13,11H11V9H13V11Z\";\r\nexport var mdiNumeric9Box = \"M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M13,11H11V9H13V11M13,7H11A2,2 0 0,0 9,9V11C9,12.11 9.9,13 11,13H13V15H9V17H13A2,2 0 0,0 15,15V9C15,7.89 14.1,7 13,7Z\";\r\nexport var mdiNumeric9BoxMultiple = \"M15,9H13V7H15V9M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M15,5H13A2,2 0 0,0 11,7V9C11,10.11 11.9,11 13,11H15V13H11V15H15A2,2 0 0,0 17,13V7C17,5.89 16.1,5 15,5M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21Z\";\r\nexport var mdiNumeric9BoxMultipleOutline = \"M15,9H13V7H15M15,5H13A2,2 0 0,0 11,7V9C11,10.11 11.9,11 13,11H15V13H11V15H15A2,2 0 0,0 17,13V7C17,5.89 16.1,5 15,5M21,17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric9BoxOutline = \"M13,11H11V9H13M13,7H11A2,2 0 0,0 9,9V11C9,12.11 9.9,13 11,13H13V15H9V17H13A2,2 0 0,0 15,15V9C15,7.89 14.1,7 13,7M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3Z\";\r\nexport var mdiNumeric9Circle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13,17A2,2 0 0,0 15,15V9A2,2 0 0,0 13,7H11A2,2 0 0,0 9,9V11A2,2 0 0,0 11,13H13V15H9V17H13M13,11H11V9H13V11Z\";\r\nexport var mdiNumeric9CircleOutline = \"M13,17H9V15H13V13H11A2,2 0 0,1 9,11V9A2,2 0 0,1 11,7H13A2,2 0 0,1 15,9V15A2,2 0 0,1 13,17M13,11V9H11V11H13M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumeric9Plus = \"M19 11H17V9H15V11H13V13H15V15H17V13H19V11M10 7H8C6.9 7 6 7.9 6 9V11C6 12.11 6.9 13 8 13H10V15H6V17H10C11.11 17 12 16.11 12 15V9C12 7.89 11.1 7 10 7M10 11H8V9H10V11Z\";\r\nexport var mdiNumeric9PlusBox = \"M21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5M19,11H17V9H15V11H13V13H15V15H17V13H19V11M10,7H8A2,2 0 0,0 6,9V11C6,12.11 6.9,13 8,13H10V15H6V17H10A2,2 0 0,0 12,15V9C12,7.89 11.1,7 10,7M8,9H10V11H8V9Z\";\r\nexport var mdiNumeric9PlusBoxMultiple = \"M11,9V8H12V9H11M21,1A2,2 0 0,1 23,3V17A2,2 0 0,1 21,19H7A2,2 0 0,1 5,17V3A2,2 0 0,1 7,1H21M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M15,9V11H17V13H19V11H21V9H19V7H17V9H15M14,12V8C14,6.89 13.1,6 12,6H11A2,2 0 0,0 9,8V9C9,10.11 9.9,11 11,11H12V12H9V14H12A2,2 0 0,0 14,12Z\";\r\nexport var mdiNumeric9PlusBoxMultipleOutline = \"M21,9H19V7H17V9H15V11H17V13H19V11H21V17H7V3H21M21,1H7A2,2 0 0,0 5,3V17A2,2 0 0,0 7,19H21A2,2 0 0,0 23,17V3A2,2 0 0,0 21,1M11,9V8H12V9M14,12V8C14,6.89 13.1,6 12,6H11A2,2 0 0,0 9,8V9C9,10.11 9.9,11 11,11H12V12H9V14H12A2,2 0 0,0 14,12M3,5H1V21A2,2 0 0,0 3,23H19V21H3V5Z\";\r\nexport var mdiNumeric9PlusBoxOutline = \"M19,11H17V9H15V11H13V13H15V15H17V13H19V19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M9,11V10H10V11M12,14V10C12,8.89 11.1,8 10,8H9A2,2 0 0,0 7,10V11C7,12.11 7.9,13 9,13H10V14H7V16H10A2,2 0 0,0 12,14Z\";\r\nexport var mdiNumeric9PlusCircle = \"M19,11H17V9H15V11H13V13H15V15H17V13H19V11M10,7H8A2,2 0 0,0 6,9V11C6,12.11 6.9,13 8,13H10V15H6V17H10A2,2 0 0,0 12,15V9C12,7.89 11.1,7 10,7M8,9H10V11H8V9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2Z\";\r\nexport var mdiNumeric9PlusCircleOutline = \"M19,11V13H17V15H15V13H13V11H15V9H17V11H19M10,7A2,2 0 0,1 12,9V15C12,16.11 11.1,17 10,17H6V15H10V13H8A2,2 0 0,1 6,11V9C6,7.89 6.9,7 8,7H10M8,9V11H10V9H8M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiNumericNegative1 = \"M13 7V9H15V17H17V7H13M11 13H5V11H11V13Z\";\r\nexport var mdiNumericOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H2V9H4V17H6V7.9L9.3 11.2C8.5 11.4 8 12.2 8 13V17H14V15.9L20.8 22.7L22.1 21.5M10 15V13H11.1L13.1 15H10M14 10.8L10.2 7H12C13.1 7 14 7.9 14 9V10.8M20 9H16V7H20C21.1 7 22 7.9 22 9V10.5C22 11.3 21.3 12 20.5 12C21.3 12 22 12.7 22 13.5V15C22 16 21.2 16.9 20.2 17L18.2 15H20V13H18V11H20V9Z\";\r\nexport var mdiNumericPositive1 = \"M13 7V9H15V17H17V7H13M11 13H9V15H7V13H5V11H7V9H9V11H11V13Z\";\r\nexport var mdiNut = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\r\nexport var mdiNutrition = \"M22,18A4,4 0 0,1 18,22H14A4,4 0 0,1 10,18V16H22V18M4,3H14A2,2 0 0,1 16,5V14H8V19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,6V8H6V6H4M14,8V6H8V8H14M4,10V12H6V10H4M8,10V12H14V10H8M4,14V16H6V14H4Z\";\r\nexport var mdiNuxt = \"M21.8 18.36L16.03 8.08C15.93 8 15.63 7.43 15.03 7.43C14.78 7.43 14.43 7.53 14.07 8.08L13.33 9.26L11.31 5.65C11.26 5.55 10.91 5 10.31 5C10.06 5 9.66 5.1 9.36 5.65L2.18 18.31C2.13 18.41 1.83 19 2.13 19.5C2.23 19.75 2.53 20 3.19 20H20.85C20.95 20 21.6 20 21.9 19.5C22 19.26 22.1 18.86 21.8 18.36M8.1 18.31L7.95 18.86H3.24L10.36 6.34L12.66 10.47L8.1 18.31M9.21 18.86L13.32 11.66L17.5 18.86H9.21M18.74 18.86L18.54 18.31L14 10.46L15.03 8.73L20.75 18.86H18.74Z\";\r\nexport var mdiOar = \"M20.23,15.21C18.77,13.75 14.97,10.2 12.77,11.27L4.5,3L3,4.5L11.28,12.79C10.3,15 13.88,18.62 15.35,20.08C17.11,21.84 18.26,20.92 19.61,19.57C21.1,18.08 21.61,16.61 20.23,15.21Z\";\r\nexport var mdiOcarina = \"M20,12C16.8,10.4 13.4,9.7 10.8,9.3L9.7,5.9C9.3,4.8 7.7,4.8 7.3,5.9L6.3,9C3.9,9.4 2,11.5 2,14C2,16.8 4.2,19 7,19C7,19 14,19 20,16C20,16 22,15 22,14C22,13 20,12 20,12M5,14C4.4,14 4,13.6 4,13C4,12.4 4.4,12 5,12C5.6,12 6,12.4 6,13C6,13.5 5.6,14 5,14M7,17C6.4,17 6,16.6 6,16C6,15.4 6.4,15 7,15C7.6,15 8,15.4 8,16C8,16.5 7.6,17 7,17M9,14C8.4,14 8,13.6 8,13C8,12.4 8.4,12 9,12C9.6,12 10,12.4 10,13C10,13.5 9.6,14 9,14M11,17C10.4,17 10,16.6 10,16C10,15.4 10.4,15 11,15C11.6,15 12,15.4 12,16C12,16.5 11.6,17 11,17M16,14C15.4,14 15,13.6 15,13C15,12.4 15.4,12 16,12C16.6,12 17,12.4 17,13C17,13.5 16.6,14 16,14M19,15C18.4,15 18,14.6 18,14C18,13.4 18.4,13 19,13C19.6,13 20,13.4 20,14C20,14.5 19.6,15 19,15Z\";\r\nexport var mdiOci = \"M2 2V22H22V2M19.12 19.03H4.87V5H19.13V19.03M14.83 10.71H17.69V17.59H14.83M14.83 6.41H17.69V9.27H14.83M6.3 6.41V17.59H13.4V14.72H9.17V9.28H13.4V6.41Z\";\r\nexport var mdiOcr = \"M2 5V19H14V17H12C10.89 17 10 16.11 10 15V9C10 7.89 10.89 7 12 7H14V5M14 7V9H16V7M14 9H12V15H14M14 15V17H16V15M5 7H7C8.11 7 9 7.89 9 9V15C9 16.11 8.11 17 7 17H5C3.89 17 3 16.11 3 15V9C3 7.89 3.89 7 5 7M17 7V17H19V13H20V14H21V17H23V14H22V12H23V8H22V7M5 9V15H7V9M19 9H21V11H19Z\";\r\nexport var mdiOctagon = \"M15.73,3H8.27L3,8.27V15.73L8.27,21H15.73L21,15.73V8.27\";\r\nexport var mdiOctagonOutline = \"M8.27,3L3,8.27V15.73L8.27,21H15.73C17.5,19.24 21,15.73 21,15.73V8.27L15.73,3M9.1,5H14.9L19,9.1V14.9L14.9,19H9.1L5,14.9V9.1\";\r\nexport var mdiOctagram = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06Z\";\r\nexport var mdiOctagramEdit = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.94 10C20.38 10.06 19.82 10.3 19.38 10.75L11 19.13V20.53L7.94 21.8L6.26 17.74L2.2 16.06M19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13M21.17 15.88L15.04 22H13V19.96L19.13 13.83L21.17 15.88L21.17 15.88Z\";\r\nexport var mdiOctagramEditOutline = \"M3.88 12L2.2 16.06L6.26 17.74L7.94 21.8L11 20.53V18.36L9 19.19L7.79 16.21L4.81 15L6.05 12L4.81 9L7.79 7.79L9 4.81L12 6.05L15 4.81L16.21 7.79L19.19 9L17.95 12L18 12.13L19.38 10.75C19.82 10.3 20.38 10.06 20.94 10L21.8 7.94L17.74 6.26L16.06 2.2L12 3.88L7.94 2.2L6.26 6.26L2.2 7.94L3.88 12M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiOctagramMinus = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C15.69 13 13 15.69 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M15 20V18H23V20H15Z\";\r\nexport var mdiOctagramMinusOutline = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C18.79 13 18.58 13 18.38 13.03L17.95 12L19.19 9L16.21 7.79L15 4.81L12 6.05L9 4.81L7.79 7.79L4.81 9L6.05 12L4.81 15L7.79 16.21L9 19.19L12 17.95L13.03 18.38C13 18.58 13 18.79 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M15 18V20H23V18H15Z\";\r\nexport var mdiOctagramOutline = \"M2.2,16.06L3.88,12L2.2,7.94L6.26,6.26L7.94,2.2L12,3.88L16.06,2.2L17.74,6.26L21.8,7.94L20.12,12L21.8,16.06L17.74,17.74L16.06,21.8L12,20.12L7.94,21.8L6.26,17.74L2.2,16.06M4.81,9L6.05,12L4.81,15L7.79,16.21L9,19.19L12,17.95L15,19.19L16.21,16.21L19.19,15L17.95,12L19.19,9L16.21,7.79L15,4.81L12,6.05L9,4.81L7.79,7.79L4.81,9Z\";\r\nexport var mdiOctagramPlus = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C15.69 13 13 15.69 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M20 20H23V18H20V15H18V18H15V20H18V23H20V20Z\";\r\nexport var mdiOctagramPlusOutline = \"M2.2 16.06L3.88 12L2.2 7.94L6.26 6.26L7.94 2.2L12 3.88L16.06 2.2L17.74 6.26L21.8 7.94L20.12 12L20.63 13.22C20.11 13.08 19.56 13 19 13C18.79 13 18.58 13 18.38 13.03L17.95 12L19.19 9L16.21 7.79L15 4.81L12 6.05L9 4.81L7.79 7.79L4.81 9L6.05 12L4.81 15L7.79 16.21L9 19.19L12 17.95L13.03 18.38C13 18.58 13 18.79 13 19C13 19.56 13.08 20.11 13.22 20.63L12 20.12L7.94 21.8L6.26 17.74L2.2 16.06M20 20H23V18H20V15H18V18H15V20H18V23H20V20Z\";\r\nexport var mdiOctahedron = \"M21.7 11.29H21.71L12.71 2.29C12.5 2.1 12.26 2 12 2C11.74 2 11.5 2.1 11.29 2.29L2.29 11.29H2.3C1.91 11.68 1.91 12.32 2.3 12.71H2.29L11.29 21.71C11.5 21.9 11.74 22 12 22C12.26 22 12.5 21.9 12.71 21.71L21.71 12.71H21.7C22.09 12.32 22.09 11.68 21.7 11.29M13 8.28V5.41L17.3 9.71L13 8.28M11 8.28L6.7 9.71L11 5.41V8.28M12 10.05L17.84 12L12 13.95L6.16 12L12 10.05M11 15.72V18.59L6.7 14.29L11 15.72M13 15.72L17.3 14.29L13 18.59V15.72Z\";\r\nexport var mdiOctahedronOff = \"M11 5.41V7.8L13.88 10.68L17.84 12L15.86 12.66L18.81 15.61L21.71 12.71H21.7C22.09 12.32 22.09 11.68 21.7 11.29H21.71L12.71 2.29C12.5 2.1 12.26 2 12 2S11.5 2.1 11.29 2.29L8.39 5.19L9.81 6.61L11 5.41M13 5.41L17.3 9.71L13 8.28V5.41M2.39 1.73L1.11 3L5.85 7.74L2.29 11.29H2.3C1.91 11.68 1.91 12.32 2.3 12.71H2.29L11.29 21.71C11.5 21.9 11.74 22 12 22S12.5 21.9 12.71 21.71L16.26 18.15L20.84 22.73L22.11 21.46L2.39 1.73M7.26 9.15L7.54 9.43L6.7 9.71L7.26 9.15M11 18.59L6.7 14.29L11 15.72V18.59M12 13.95L6.16 12L9.12 11L12.04 13.93L12 13.95M13 18.59V15.72L13.62 15.5L14.85 16.74L13 18.59Z\";\r\nexport var mdiOdnoklassniki = \"M17.83,12.74C17.55,12.17 16.76,11.69 15.71,12.5C14.28,13.64 12,13.64 12,13.64C12,13.64 9.72,13.64 8.29,12.5C7.24,11.69 6.45,12.17 6.17,12.74C5.67,13.74 6.23,14.23 7.5,15.04C8.59,15.74 10.08,16 11.04,16.1L10.24,16.9C9.1,18.03 8,19.12 7.25,19.88C6.8,20.34 6.8,21.07 7.25,21.5L7.39,21.66C7.84,22.11 8.58,22.11 9.03,21.66L12,18.68C13.15,19.81 14.24,20.9 15,21.66C15.45,22.11 16.18,22.11 16.64,21.66L16.77,21.5C17.23,21.07 17.23,20.34 16.77,19.88L13.79,16.9L13,16.09C13.95,16 15.42,15.73 16.5,15.04C17.77,14.23 18.33,13.74 17.83,12.74M12,4.57C13.38,4.57 14.5,5.69 14.5,7.06C14.5,8.44 13.38,9.55 12,9.55C10.62,9.55 9.5,8.44 9.5,7.06C9.5,5.69 10.62,4.57 12,4.57M12,12.12C14.8,12.12 17.06,9.86 17.06,7.06C17.06,4.27 14.8,2 12,2C9.2,2 6.94,4.27 6.94,7.06C6.94,9.86 9.2,12.12 12,12.12Z\";\r\nexport var mdiOffer = \"M21 13C21.6 13 22.1 13.2 22.4 13.6C22.8 14 23 14.5 23 15L15 18L8 16V7H9.9L17.2 9.7C17.7 9.9 18 10.3 18 10.8C18 11.1 17.9 11.4 17.7 11.6C17.5 11.8 17.2 12 16.8 12H14L12.3 11.3L12 12.2L14 13H21M2 7H6V18H2V7Z\";\r\nexport var mdiOfficeBuilding = \"M5,3V21H11V17.5H13V21H19V3H5M7,5H9V7H7V5M11,5H13V7H11V5M15,5H17V7H15V5M7,9H9V11H7V9M11,9H13V11H11V9M15,9H17V11H15V9M7,13H9V15H7V13M11,13H13V15H11V13M15,13H17V15H15V13M7,17H9V19H7V17M15,17H17V19H15V17Z\";\r\nexport var mdiOfficeBuildingCog = \"M16 13C15.87 13 15.76 13.09 15.74 13.21L15.55 14.53C15.25 14.66 14.96 14.82 14.7 15L13.46 14.5C13.35 14.5 13.22 14.5 13.15 14.63L12.15 16.36C12.09 16.47 12.11 16.6 12.21 16.68L13.27 17.5C13.25 17.67 13.24 17.83 13.24 18S13.25 18.33 13.27 18.5L12.21 19.32C12.12 19.4 12.09 19.53 12.15 19.64L13.15 21.37C13.21 21.5 13.34 21.5 13.46 21.5L14.7 21C14.96 21.18 15.24 21.35 15.55 21.47L15.74 22.79C15.76 22.91 15.86 23 16 23H18C18.11 23 18.22 22.91 18.24 22.79L18.43 21.47C18.73 21.34 19 21.18 19.27 21L20.5 21.5C20.63 21.5 20.76 21.5 20.83 21.37L21.83 19.64C21.89 19.53 21.86 19.4 21.77 19.32L20.7 18.5C20.72 18.33 20.74 18.17 20.74 18S20.73 17.67 20.7 17.5L21.76 16.68C21.85 16.6 21.88 16.47 21.82 16.36L20.82 14.63C20.76 14.5 20.63 14.5 20.5 14.5L19.27 15C19 14.82 18.73 14.65 18.42 14.53L18.23 13.21C18.22 13.09 18.11 13 18 13H16M17 16.5C17.83 16.5 18.5 17.17 18.5 18S17.83 19.5 17 19.5C16.16 19.5 15.5 18.83 15.5 18S16.17 16.5 17 16.5M16 11.08V3H2V21H8V17.5H10.03C10.26 14.2 12.77 11.54 16 11.08M6 19H4V17H6V19M6 15H4V13H6V15M6 11H4V9H6V11M6 7H4V5H6V7M12 5H14V7H12V5M12 9H14V11H12V9M10 15H8V13H10V15M10 11H8V9H10V11M8 7V5H10V7H8Z\";\r\nexport var mdiOfficeBuildingCogOutline = \"M17 13C16.87 13 16.76 13.09 16.74 13.21L16.55 14.53C16.25 14.66 15.96 14.82 15.7 15L14.46 14.5C14.35 14.5 14.22 14.5 14.15 14.63L13.15 16.36C13.09 16.47 13.11 16.6 13.21 16.68L14.27 17.5C14.25 17.67 14.24 17.83 14.24 18S14.25 18.33 14.27 18.5L13.21 19.32C13.12 19.4 13.09 19.53 13.15 19.64L14.15 21.37C14.21 21.5 14.34 21.5 14.46 21.5L15.7 21C15.96 21.18 16.24 21.35 16.55 21.47L16.74 22.79C16.76 22.91 16.86 23 17 23H19C19.11 23 19.22 22.91 19.24 22.79L19.43 21.47C19.73 21.34 20 21.18 20.27 21L21.5 21.5C21.63 21.5 21.76 21.5 21.83 21.37L22.83 19.64C22.89 19.53 22.86 19.4 22.77 19.32L21.7 18.5C21.72 18.33 21.74 18.17 21.74 18S21.73 17.67 21.7 17.5L22.76 16.68C22.85 16.6 22.88 16.47 22.82 16.36L21.82 14.63C21.76 14.5 21.63 14.5 21.5 14.5L20.27 15C20 14.82 19.73 14.65 19.42 14.53L19.23 13.21C19.22 13.09 19.11 13 19 13H17M18 16.5C18.83 16.5 19.5 17.17 19.5 18S18.83 19.5 18 19.5C17.16 19.5 16.5 18.83 16.5 18S17.17 16.5 18 16.5M10 5H12V7H10V5M16 7H14V5H16V7M14 9H16V11H14V9M10 9H12V11H10V9M13.11 23H2V1H20V11.29C19.37 11.11 18.7 11 18 11V3H4V21H10V17.5H11.03C11 17.67 11 17.83 11 18C11 19.96 11.81 21.73 13.11 23M8 15H6V13H8V15M8 11H6V9H8V11M8 7H6V5H8V7M6 17H8V19H6V17M10 13H12V14.41C11.89 14.6 11.78 14.8 11.68 15H10V13Z\";\r\nexport var mdiOfficeBuildingMarker = \"M15.19 21C14.12 19.43 13 17.36 13 15.5C13 13.67 13.96 12 15.4 11H15V9H17V10.23C17.5 10.09 18 10 18.5 10C18.67 10 18.84 10 19 10.03V3H5V21H11V17.5H13V21H15.19M15 5H17V7H15V5M9 19H7V17H9V19M9 15H7V13H9V15M9 11H7V9H9V11M9 7H7V5H9V7M11 5H13V7H11V5M11 9H13V11H11V9M11 15V13H13V15H11M18.5 12C16.6 12 15 13.61 15 15.5C15 18.11 18.5 22 18.5 22S22 18.11 22 15.5C22 13.61 20.4 12 18.5 12M18.5 16.81C17.8 16.81 17.3 16.21 17.3 15.61C17.3 14.91 17.9 14.41 18.5 14.41S19.7 15 19.7 15.61C19.8 16.21 19.2 16.81 18.5 16.81Z\";\r\nexport var mdiOfficeBuildingMarkerOutline = \"M15 9H17V11H15V9M17 5H15V7H17V5M11 15H13V13H11V15M13 5H11V7H13V5M11 11H13V9H11V11M9 5H7V7H9V5M9 9H7V11H9V9M14.55 21H13V17.5H11V21H5V3H19V11.03C19.71 11.09 20.39 11.31 21 11.63V1H3V23H15.91C15.5 22.44 15 21.76 14.55 21M7 19H9V17H7V19M9 13H7V15H9V13M22 16.5C22 19.1 18.5 23 18.5 23S15 19.1 15 16.5C15 14.6 16.6 13 18.5 13S22 14.6 22 16.5M19.7 16.6C19.7 16 19.1 15.4 18.5 15.4S17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8S19.8 17.2 19.7 16.6Z\";\r\nexport var mdiOfficeBuildingMinus = \"M13.4 21C13.2 20.4 13 19.7 13 19C13 17.5 13.6 16.1 14.5 15H13V13H15V14.5C15.6 14 16.3 13.6 17 13.3V3H3V21H9V17.5H11V21H13.4M13 5H15V7H13V5M13 9H15V11H13V9M7 19H5V17H7V19M7 15H5V13H7V15M7 11H5V9H7V11M7 7H5V5H7V7M9 5H11V7H9V5M9 9H11V11H9V9M9 15V13H11V15H9M23 18V20H15V18H23Z\";\r\nexport var mdiOfficeBuildingMinusOutline = \"M12 11H10V9H12V11M14 11H16V9H14V11M13.4 21H12V17.5H10V21H4V3H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V1H2V23H14.5C14 22.4 13.6 21.7 13.4 21M14 7H16V5H14V7M16 13.8V13H14V15H14.5C15 14.5 15.5 14.1 16 13.8M8 5H6V7H8V5M8 9H6V11H8V9M6 19H8V17H6V19M12 5H10V7H12V5M10 15H12V13H10V15M8 13H6V15H8V13M15 18V20H23V18H15Z\";\r\nexport var mdiOfficeBuildingOutline = \"M19 3V21H13V17.5H11V21H5V3H19M15 7H17V5H15V7M11 7H13V5H11V7M7 7H9V5H7V7M15 11H17V9H15V11M11 11H13V9H11V11M7 11H9V9H7V11M15 15H17V13H15V15M11 15H13V13H11V15M7 15H9V13H7V15M15 19H17V17H15V19M7 19H9V17H7V19M21 1H3V23H21V1Z\";\r\nexport var mdiOfficeBuildingPlus = \"M13.4 21C13.2 20.4 13 19.7 13 19C13 17.5 13.6 16.1 14.5 15H13V13H15V14.5C15.6 14 16.3 13.6 17 13.3V3H3V21H9V17.5H11V21H13.4M13 5H15V7H13V5M13 9H15V11H13V9M7 19H5V17H7V19M7 15H5V13H7V15M7 11H5V9H7V11M7 7H5V5H7V7M9 5H11V7H9V5M9 9H11V11H9V9M9 15V13H11V15H9M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiOfficeBuildingPlusOutline = \"M12 11H10V9H12V11M14 11H16V9H14V11M13.4 21H12V17.5H10V21H4V3H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V1H2V23H14.5C14 22.4 13.6 21.7 13.4 21M14 7H16V5H14V7M16 13.8V13H14V15H14.5C15 14.5 15.5 14.1 16 13.8M8 5H6V7H8V5M8 9H6V11H8V9M6 19H8V17H6V19M12 5H10V7H12V5M10 15H12V13H10V15M8 13H6V15H8V13M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiOfficeBuildingRemove = \"M13.4 21C13.2 20.4 13 19.7 13 19C13 17.5 13.6 16.1 14.5 15H13V13H15V14.5C15.6 14 16.3 13.6 17 13.3V3H3V21H9V17.5H11V21H13.4M13 5H15V7H13V5M13 9H15V11H13V9M7 19H5V17H7V19M7 15H5V13H7V15M7 11H5V9H7V11M7 7H5V5H7V7M9 5H11V7H9V5M9 9H11V11H9V9M9 15V13H11V15H9M22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9Z\";\r\nexport var mdiOfficeBuildingRemoveOutline = \"M12 11H10V9H12V11M14 11H16V9H14V11M13.4 21H12V17.5H10V21H4V3H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V1H2V23H14.5C14 22.4 13.6 21.7 13.4 21M14 7H16V5H14V7M16 13.8V13H14V15H14.5C15 14.5 15.5 14.1 16 13.8M8 5H6V7H8V5M8 9H6V11H8V9M6 19H8V17H6V19M12 5H10V7H12V5M10 15H12V13H10V15M8 13H6V15H8V13M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5Z\";\r\nexport var mdiOil = \"M22,12.5C22,12.5 24,14.67 24,16A2,2 0 0,1 22,18A2,2 0 0,1 20,16C20,14.67 22,12.5 22,12.5M6,6H10A1,1 0 0,1 11,7A1,1 0 0,1 10,8H9V10H11C11.74,10 12.39,10.4 12.73,11L19.24,7.24L22.5,9.13C23,9.4 23.14,10 22.87,10.5C22.59,10.97 22,11.14 21.5,10.86L19.4,9.65L15.75,15.97C15.41,16.58 14.75,17 14,17H5A2,2 0 0,1 3,15V12A2,2 0 0,1 5,10H7V8H6A1,1 0 0,1 5,7A1,1 0 0,1 6,6M5,12V15H14L16.06,11.43L12.6,13.43L11.69,12H5M0.38,9.21L2.09,7.5C2.5,7.11 3.11,7.11 3.5,7.5C3.89,7.89 3.89,8.5 3.5,8.91L1.79,10.62C1.4,11 0.77,11 0.38,10.62C0,10.23 0,9.6 0.38,9.21Z\";\r\nexport var mdiOilLamp = \"M5,20H16V22H5M11,5H10A2,2 0 0,0 8,7H13A2,2 0 0,0 11,5M16,8H22A2,2 0 0,1 20,10H19A4,4 0 0,0 15,14V15A4,4 0 0,1 11,19H10A4,4 0 0,1 6,15H4A2,2 0 0,1 2,13V10A2,2 0 0,1 4,8M6,10H4V13H6M19,5A2,2 0 0,1 21,7H22A2.9,2.9 0 0,0 19,4A2,2 0 0,1 17,2H16A2.9,2.9 0 0,0 19,5\";\r\nexport var mdiOilLevel = \"M8 18C6.67 18 5.79 18.79 5.29 19.29S4.67 20 4 20 3.21 19.79 2.71 19.29C2.35 18.93 1.79 18.42 1 18.16V20.41C1.09 20.5 1.18 20.59 1.29 20.71C1.79 21.21 2.67 22 4 22S6.21 21.21 6.71 20.71 7.33 20 8 20 8.79 20.21 9.29 20.71C9.73 21.14 10.44 21.8 11.5 21.96C11.66 22 11.83 22 12 22C13.33 22 14.21 21.21 14.71 20.71S15.33 20 16 20 16.79 20.21 17.29 20.71 18.67 22 20 22 22.21 21.21 22.71 20.71C22.82 20.59 22.91 20.5 23 20.41V18.16C22.21 18.42 21.65 18.93 21.29 19.29C20.79 19.79 20.67 20 20 20S19.21 19.79 18.71 19.29 17.33 18 16 18 13.79 18.79 13.29 19.29 12.67 20 12 20C11.78 20 11.63 19.97 11.5 19.92C11.22 19.82 11.05 19.63 10.71 19.29C10.21 18.79 9.33 18 8 18M22 10.5C22 10.5 24 12.67 24 14C24 15.1 23.1 16 22 16S20 15.1 20 14C20 12.67 22 10.5 22 10.5M22.5 7.13L19.24 5.24L12.73 9C12.39 8.4 11.74 8 11 8H9V6H10C10.55 6 11 5.55 11 5S10.55 4 10 4H6C5.45 4 5 4.45 5 5S5.45 6 6 6H7V8H5C3.9 8 3 8.9 3 10V13C3 14.1 3.9 15 5 15H14C14.75 15 15.41 14.58 15.75 13.97L19.4 7.65L21.5 8.86C22 9.14 22.59 8.97 22.87 8.5C23.14 8 23 7.4 22.5 7.13M14 13H5V10H11.69L12.6 11.43L16.06 9.43L14 13M3.5 6.92L1.79 8.62A1 1 0 0 1 .38 7.21L2.09 5.5A1 1 0 0 1 3.5 5.5C3.89 5.89 3.89 6.5 3.5 6.92Z\";\r\nexport var mdiOilTemperature = \"M10 5H13V3H10V2C10 1.4 9.6 1 9 1S8 1.4 8 2V15.3C7.4 15.6 7 16.3 7 17C7 18.1 7.9 19 9 19S11 18.1 11 17C11 16.3 10.6 15.6 10 15.3V13H13V11H10V9H13V7H10V5M22 17.5C22 17.5 24 19.7 24 21C24 22.1 23.1 23 22 23S20 22.1 20 21C20 19.7 22 17.5 22 17.5M22.9 15.5C22.6 16 22 16.1 21.5 15.9L19.4 14.7L15.8 21C15.5 21.6 14.8 22 14 22H5C3.9 22 3 21.1 3 20V17C3 15.9 3.9 15 5 15V20H14L16.1 16.4L13 18.2V15.8L19.2 12.2L22.5 14.1C23 14.4 23.1 15 22.9 15.5M3.5 13.9L1.8 15.6C1.4 16 .8 16 .4 15.6S0 14.6.4 14.2L2.1 12.5C2.5 12.1 3.1 12.1 3.5 12.5S3.9 13.5 3.5 13.9Z\";\r\nexport var mdiOm = \"M15,2L13.5,3.5L15,5L16.5,3.5L15,2M11,3C10,9 17,10 20,6L18,4.5C17,6 13,8 11,3M9,7C7,7 4.5,8.5 4.5,8.5L6,11C7,10 9,9.5 10,10C12,11 9,13 7,12V15.5C10,14 12,16 11,17.5C8,22 3,16 3,13C1,19 6,22 9,22C12,22 14,20 12.5,15H14C12.5,19.5 18,24 21,18C22,16 22,9.5 17,9.5C13,9.5 14,15 10.5,13.5C14,10 12,7 9,7M19,12C22,15 15,21 15,15C15,13 17,10.5 19,12Z\";\r\nexport var mdiOmega = \"M19.15,19H13.39V16.87C15.5,15.25 16.59,13.24 16.59,10.84C16.59,9.34 16.16,8.16 15.32,7.29C14.47,6.42 13.37,6 12.03,6C10.68,6 9.57,6.42 8.71,7.3C7.84,8.17 7.41,9.37 7.41,10.88C7.41,13.26 8.5,15.26 10.61,16.87V19H4.85V16.87H8.41C6.04,15.32 4.85,13.23 4.85,10.6C4.85,8.5 5.5,6.86 6.81,5.66C8.12,4.45 9.84,3.85 11.97,3.85C14.15,3.85 15.89,4.45 17.19,5.64C18.5,6.83 19.15,8.5 19.15,10.58C19.15,13.21 17.95,15.31 15.55,16.87H19.15V19Z\";\r\nexport var mdiOneUp = \"M10,19V19C9.4,19 9,18.6 9,18V17C9,16.5 9.4,16 10,16V16C10.5,16 11,16.4 11,17V18C11,18.6 10.6,19 10,19M15,18V17C15,16.5 14.6,16 14,16V16C13.5,16 13,16.4 13,17V18C13,18.5 13.4,19 14,19V19C14.6,19 15,18.6 15,18M22,12C22,14.6 20.4,16.9 18,18.4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V18.4C3.6,16.9 2,14.6 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M7,10C7,8.9 6.4,7.9 5.5,7.4C4.5,8.7 4,10.3 4,12C4,12.3 4,12.7 4.1,13C5.7,12.9 7,11.6 7,10M9,9C9,10.7 10.3,12 12,12C13.7,12 15,10.7 15,9C15,7.3 13.7,6 12,6C10.3,6 9,7.3 9,9M16,20V15.5C14.8,15.2 13.4,15 12,15C10.6,15 9.2,15.2 8,15.5V20H16M19.9,13C20,12.7 20,12.3 20,12C20,10.3 19.5,8.7 18.5,7.4C17.6,7.9 17,8.9 17,10C17,11.6 18.3,12.9 19.9,13Z\";\r\nexport var mdiOnepassword = \"M12,1C5.92,1 1,5.92 1,12C1,18.08 5.92,23 12,23C18.08,23 23,18.08 23,12C23,5.92 18.08,1 12,1M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M13,13.5C13,14.13 13.4,14.7 14,14.91V18H10V11.91C10.78,11.64 11.19,10.8 10.93,10C10.78,9.58 10.44,9.24 10,9.09V6H14V12.09C13.4,12.3 13,12.87 13,13.5Z\";\r\nexport var mdiOpacity = \"M17.66,8L12,2.35L6.34,8C4.78,9.56 4,11.64 4,13.64C4,15.64 4.78,17.75 6.34,19.31C7.9,20.87 9.95,21.66 12,21.66C14.05,21.66 16.1,20.87 17.66,19.31C19.22,17.75 20,15.64 20,13.64C20,11.64 19.22,9.56 17.66,8M6,14C6,12 6.62,10.73 7.76,9.6L12,5.27L16.24,9.65C17.38,10.77 18,12 18,14H6Z\";\r\nexport var mdiOpenInApp = \"M12,10L8,14H11V20H13V14H16M19,4H5C3.89,4 3,4.9 3,6V18A2,2 0 0,0 5,20H9V18H5V8H19V18H15V20H19A2,2 0 0,0 21,18V6A2,2 0 0,0 19,4Z\";\r\nexport var mdiOpenInNew = \"M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z\";\r\nexport var mdiOpenSourceInitiative = \"M15.41,22C15.35,22 15.28,22 15.22,22C15.1,21.95 15,21.85 14.96,21.73L12.74,15.93C12.65,15.69 12.77,15.42 13,15.32C13.71,15.06 14.28,14.5 14.58,13.83C15.22,12.4 14.58,10.73 13.15,10.09C11.72,9.45 10.05,10.09 9.41,11.5C9.11,12.21 9.09,13 9.36,13.69C9.66,14.43 10.25,15 11,15.28C11.24,15.37 11.37,15.64 11.28,15.89L9,21.69C8.96,21.81 8.87,21.91 8.75,21.96C8.63,22 8.5,22 8.39,21.96C3.24,19.97 0.67,14.18 2.66,9.03C4.65,3.88 10.44,1.31 15.59,3.3C18.06,4.26 20.05,6.15 21.13,8.57C22.22,11 22.29,13.75 21.33,16.22C20.32,18.88 18.23,21 15.58,22C15.5,22 15.47,22 15.41,22M12,3.59C7.03,3.46 2.9,7.39 2.77,12.36C2.68,16.08 4.88,19.47 8.32,20.9L10.21,16C8.38,15 7.69,12.72 8.68,10.89C9.67,9.06 11.96,8.38 13.79,9.36C15.62,10.35 16.31,12.64 15.32,14.47C14.97,15.12 14.44,15.65 13.79,16L15.68,20.93C17.86,19.95 19.57,18.16 20.44,15.93C22.28,11.31 20.04,6.08 15.42,4.23C14.33,3.8 13.17,3.58 12,3.59Z\";\r\nexport var mdiOpenid = \"M14,2L11,3.5V19.94C7,19.5 4,17.46 4,15C4,12.75 6.5,10.85 10,10.22V8.19C4.86,8.88 1,11.66 1,15C1,18.56 5.36,21.5 11,21.94C11.03,21.94 11.06,21.94 11.09,21.94L14,20.5V2M15,8.19V10.22C16.15,10.43 17.18,10.77 18.06,11.22L16.5,12L23,13.5L22.5,9L20.5,10C19,9.12 17.12,8.47 15,8.19Z\";\r\nexport var mdiOpera = \"M9.04,17.07C8.04,15.9 7.4,14.16 7.35,12.21V11.79C7.4,9.84 8.04,8.1 9.04,6.93C9.86,5.95 10.93,5.37 12.1,5.37C14.72,5.37 16.84,8.34 16.84,12C16.84,15.66 14.72,18.63 12.1,18.63C10.93,18.63 10.33,18.5 9.04,17.07M12.03,3H12A9,9 0 0,0 3,12C3,16.83 6.8,20.77 11.57,21H12C14.3,21 16.4,20.13 18,18.71C19.84,17.06 21,14.67 21,12C21,9.33 19.84,6.94 18,5.29C16.41,3.87 14.32,3 12.03,3Z\";\r\nexport var mdiOrbit = \"M8.11,1.75C9.3,1.25 10.62,1 12,1C18.08,1 23,5.92 23,12C23,18.08 18.08,23 12,23C5.92,23 1,18.08 1,12C1,10.62 1.25,9.3 1.72,8.08C2.24,8.61 2.83,8.96 3.45,9.18C3.16,10.07 3,11 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3C11,3 10.07,3.16 9.18,3.45C8.96,2.83 8.61,2.24 8.11,1.75M4.93,2.93C6.03,2.93 6.93,3.82 6.93,4.93A2,2 0 0,1 4.93,6.93C3.82,6.93 2.93,6.03 2.93,4.93C2.93,3.82 3.82,2.93 4.93,2.93M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7Z\";\r\nexport var mdiOrbitVariant = \"M19 8L15 12H18C18 15.31 15.31 18 12 18C11 18 10.03 17.75 9.2 17.3L7.74 18.76C8.97 19.54 10.43 20 12 20C16.42 20 20 16.42 20 12H23M6 12C6 8.69 8.69 6 12 6C13 6 13.97 6.25 14.8 6.7L16.26 5.24C15.03 4.46 13.57 4 12 4C7.58 4 4 7.58 4 12H1L5 16L9 12M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\r\nexport var mdiOrderAlphabeticalAscending = \"M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12M9 13V15L5.67 19H9V21H3V19L6.33 15H3V13M7 3H5C3.9 3 3 3.9 3 5V11H5V9H7V11H9V5C9 3.9 8.11 3 7 3M7 7H5V5H7Z\";\r\nexport var mdiOrderAlphabeticalDescending = \"M7 13H5C3.9 13 3 13.9 3 15V21H5V19H7V21H9V15C9 13.9 8.11 13 7 13M7 17H5V15H7M9 3V5L5.67 9H9V11H3V9L6.33 5H3V3M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderBoolAscending = \"M6 3C3.79 3 2 4.79 2 7S3.79 11 6 11 10 9.21 10 7 8.21 3 6 3M6 9C4.9 9 4 8.1 4 7S4.9 5 6 5 8 5.9 8 7 7.1 9 6 9M6 13C3.79 13 2 14.79 2 17S3.79 21 6 21 10 19.21 10 17 8.21 13 6 13M12 5H22V7H12V5M12 19V17H22V19H12M12 11H22V13H12V11Z\";\r\nexport var mdiOrderBoolAscendingVariant = \"M4 13C2.89 13 2 13.89 2 15V19C2 20.11 2.89 21 4 21H8C9.11 21 10 20.11 10 19V15C10 13.89 9.11 13 8 13M8.2 14.5L9.26 15.55L5.27 19.5L2.74 16.95L3.81 15.9L5.28 17.39M4 3C2.89 3 2 3.89 2 5V9C2 10.11 2.89 11 4 11H8C9.11 11 10 10.11 10 9V5C10 3.89 9.11 3 8 3M4 5H8V9H4M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderBoolDescending = \"M6 13C3.79 13 2 14.79 2 17S3.79 21 6 21 10 19.21 10 17 8.21 13 6 13M6 19C4.9 19 4 18.1 4 17S4.9 15 6 15 8 15.9 8 17 7.1 19 6 19M6 3C3.79 3 2 4.79 2 7S3.79 11 6 11 10 9.21 10 7 8.21 3 6 3M12 5H22V7H12V5M12 19V17H22V19H12M12 11H22V13H12V11Z\";\r\nexport var mdiOrderBoolDescendingVariant = \"M4 3C2.89 3 2 3.89 2 5V9C2 10.11 2.89 11 4 11H8C9.11 11 10 10.11 10 9V5C10 3.89 9.11 3 8 3M8.2 4.5L9.26 5.55L5.27 9.5L2.74 6.95L3.81 5.9L5.28 7.39M4 13C2.89 13 2 13.89 2 15V19C2 20.11 2.89 21 4 21H8C9.11 21 10 20.11 10 19V15C10 13.89 9.11 13 8 13M4 15H8V19H4M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderNumericAscending = \"M7 21H3V19H7V18H5C3.9 18 3 17.11 3 16V15C3 13.9 3.9 13 5 13H7C8.11 13 9 13.9 9 15V19C9 20.11 8.11 21 7 21M7 15H5V16H7M5 3H7C8.11 3 9 3.9 9 5V9C9 10.11 8.11 11 7 11H5C3.9 11 3 10.11 3 9V5C3 3.9 3.9 3 5 3M5 9H7V5H5M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrderNumericDescending = \"M7 11H3V9H7V8H5C3.9 8 3 7.11 3 6V5C3 3.9 3.9 3 5 3H7C8.11 3 9 3.9 9 5V9C9 10.11 8.11 11 7 11M7 5H5V6H7M5 13H7C8.11 13 9 13.9 9 15V19C9 20.11 8.11 21 7 21H5C3.9 21 3 20.11 3 19V15C3 13.9 3.9 13 5 13M5 19H7V15H5M12 5H22V7H12M12 19V17H22V19M12 11H22V13H12Z\";\r\nexport var mdiOrigin = \"M12,2.13C12,2.23 11.95,2.33 11.89,2.41C11.5,3 11.16,3.64 11.04,4.33L11,4.56L12,4.5A7.5,7.5 0 0,1 19.5,12C19.5,13.62 19,15.11 18.12,16.34C16.73,18.68 14.72,20.65 12.34,21.97C12.25,22 12.12,22 12.06,21.93C12,21.83 12,21.7 12.09,21.61C12.47,21.09 12.73,20.5 12.87,19.85L12.93,19.44L12,19.5A7.5,7.5 0 0,1 4.5,12C4.5,10.39 5,8.89 5.88,7.67C7.26,5.32 9.28,3.34 11.67,2C11.78,1.95 11.94,2 12,2.13M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiOrnament = \"M12,1A3,3 0 0,1 15,4V5A1,1 0 0,1 16,6V7.07C18.39,8.45 20,11.04 20,14A8,8 0 0,1 12,22A8,8 0 0,1 4,14C4,11.04 5.61,8.45 8,7.07V6A1,1 0 0,1 9,5V4A3,3 0 0,1 12,1M12,3A1,1 0 0,0 11,4V5H13V4A1,1 0 0,0 12,3M12,8C10.22,8 8.63,8.77 7.53,10H16.47C15.37,8.77 13.78,8 12,8M6.34,16H7.59L6,14.43C6.05,15 6.17,15.5 6.34,16M12.59,16L8.59,12H6.41L10.41,16H12.59M17.66,12H16.41L18,13.57C17.95,13 17.83,12.5 17.66,12M11.41,12L15.41,16H17.59L13.59,12H11.41M12,20C13.78,20 15.37,19.23 16.47,18H7.53C8.63,19.23 10.22,20 12,20Z\";\r\nexport var mdiOrnamentVariant = \"M12,1A3,3 0 0,1 15,4V5A1,1 0 0,1 16,6V7.07C18.39,8.45 20,11.04 20,14A8,8 0 0,1 12,22A8,8 0 0,1 4,14C4,11.04 5.61,8.45 8,7.07V6A1,1 0 0,1 9,5V4A3,3 0 0,1 12,1M12,3A1,1 0 0,0 11,4V5H13V4A1,1 0 0,0 12,3M12,8C10.22,8 8.63,8.77 7.53,10H16.47C15.37,8.77 13.78,8 12,8M12,20C13.78,20 15.37,19.23 16.47,18H7.53C8.63,19.23 10.22,20 12,20M12,12A2,2 0 0,0 10,14A2,2 0 0,0 12,16A2,2 0 0,0 14,14A2,2 0 0,0 12,12M18,14C18,13.31 17.88,12.65 17.67,12C16.72,12.19 16,13 16,14C16,15 16.72,15.81 17.67,15.97C17.88,15.35 18,14.69 18,14M6,14C6,14.69 6.12,15.35 6.33,15.97C7.28,15.81 8,15 8,14C8,13 7.28,12.19 6.33,12C6.12,12.65 6,13.31 6,14Z\";\r\nexport var mdiOutdoorLamp = \"M15 22H13C11.9 22 11 21.1 11 20V15H17V20C17 21.1 16.1 22 15 22M7 14H21L15 9.71V6C15 4.39 13.94 2 11 2S7 4.39 7 6C7 6.45 6.81 7 6 7H5V3H3V12H5V9H6C8.2 9 9 7.21 9 6C9 5.67 9.1 4 11 4C12.83 4 13 5.54 13 6V9.71L7 14Z\";\r\nexport var mdiOverscan = \"M12 5.5L10 8H14L12 5.5M18 10V14L20.5 12L18 10M6 10L3.5 12L6 14V10M14 16H10L12 18.5L14 16M21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3M21 19H3V5H21V19Z\";\r\nexport var mdiOwl = \"M12,16C12.56,16.84 13.31,17.53 14.2,18L12,20.2L9.8,18C10.69,17.53 11.45,16.84 12,16M17,11.2A2,2 0 0,0 15,13.2A2,2 0 0,0 17,15.2A2,2 0 0,0 19,13.2C19,12.09 18.1,11.2 17,11.2M7,11.2A2,2 0 0,0 5,13.2A2,2 0 0,0 7,15.2A2,2 0 0,0 9,13.2C9,12.09 8.1,11.2 7,11.2M17,8.7A4,4 0 0,1 21,12.7A4,4 0 0,1 17,16.7A4,4 0 0,1 13,12.7A4,4 0 0,1 17,8.7M7,8.7A4,4 0 0,1 11,12.7A4,4 0 0,1 7,16.7A4,4 0 0,1 3,12.7A4,4 0 0,1 7,8.7M2.24,1C4,4.7 2.73,7.46 1.55,10.2C1.19,11 1,11.83 1,12.7A6,6 0 0,0 7,18.7C7.21,18.69 7.42,18.68 7.63,18.65L10.59,21.61L12,23L13.41,21.61L16.37,18.65C16.58,18.68 16.79,18.69 17,18.7A6,6 0 0,0 23,12.7C23,11.83 22.81,11 22.45,10.2C21.27,7.46 20,4.7 21.76,1C19.12,3.06 15.36,4.69 12,4.7C8.64,4.69 4.88,3.06 2.24,1Z\";\r\nexport var mdiPacMan = \"M12,12L19.07,19.07C15.17,23 8.83,23 4.93,19.07C1,15.17 1,8.84 4.93,4.93C8.83,1 15.16,1 19.07,4.93L12,12M19,10A2,2 0 0,0 17,12A2,2 0 0,0 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10Z\";\r\nexport var mdiPackage = \"M5.12,5H18.87L17.93,4H5.93L5.12,5M20.54,5.23C20.83,5.57 21,6 21,6.5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V6.5C3,6 3.17,5.57 3.46,5.23L4.84,3.55C5.12,3.21 5.53,3 6,3H18C18.47,3 18.88,3.21 19.15,3.55L20.54,5.23M6,18H12V15H6V18Z\";\r\nexport var mdiPackageCheck = \"M6 3C5.5 3 5.1 3.2 4.8 3.6L3.5 5.2C3.2 5.6 3 6 3 6.5V19C3 20.1 3.9 21 5 21H13.3C13.1 20.4 13 19.7 13 19C13 15.7 15.7 13 19 13C19.7 13 20.4 13.1 21 13.3V6.5C21 6 20.8 5.6 20.5 5.2L19.1 3.5C18.9 3.2 18.5 3 18 3H6M5.9 4H17.9L18.8 5H5.1L5.9 4M6 15H12V18H6V15M21.3 15.8L17.7 19.4L16.1 17.8L15 19L17.8 22L22.6 17.2L21.3 15.8Z\";\r\nexport var mdiPackageDown = \"M5.12,5L5.93,4H17.93L18.87,5M12,17.5L6.5,12H10V10H14V12H17.5L12,17.5M20.54,5.23L19.15,3.55C18.88,3.21 18.47,3 18,3H6C5.53,3 5.12,3.21 4.84,3.55L3.46,5.23C3.17,5.57 3,6 3,6.5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V6.5C21,6 20.83,5.57 20.54,5.23Z\";\r\nexport var mdiPackageUp = \"M20.54,5.23C20.83,5.57 21,6 21,6.5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V6.5C3,6 3.17,5.57 3.46,5.23L4.84,3.55C5.12,3.21 5.53,3 6,3H18C18.47,3 18.88,3.21 19.15,3.55L20.54,5.23M5.12,5H18.87L17.93,4H5.93L5.12,5M12,9.5L6.5,15H10V17H14V15H17.5L12,9.5Z\";\r\nexport var mdiPackageVariant = \"M2,10.96C1.5,10.68 1.35,10.07 1.63,9.59L3.13,7C3.24,6.8 3.41,6.66 3.6,6.58L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.66,6.72 20.82,6.88 20.91,7.08L22.36,9.6C22.64,10.08 22.47,10.69 22,10.96L21,11.54V16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V10.96C2.7,11.13 2.32,11.14 2,10.96M12,4.15V4.15L12,10.85V10.85L17.96,7.5L12,4.15M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V12.69L14,15.59C13.67,15.77 13.3,15.76 13,15.6V19.29L19,15.91M13.85,13.36L20.13,9.73L19.55,8.72L13.27,12.35L13.85,13.36Z\";\r\nexport var mdiPackageVariantClosed = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M12,4.15L10.11,5.22L16,8.61L17.96,7.5L12,4.15M6.04,7.5L12,10.85L13.96,9.75L8.08,6.35L6.04,7.5M5,15.91L11,19.29V12.58L5,9.21V15.91M19,15.91V9.21L13,12.58V19.29L19,15.91Z\";\r\nexport var mdiPackageVariantClosedCheck = \"M12 2C11.8 2 11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3V12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.3V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M8.1 6.3L14 9.8L12 10.9L6 7.5L8.1 6.3M5 9.2L11 12.6V19.3L5 15.9V9.2M21.3 15.8L17.7 19.4L16.1 17.8L15 19L17.8 22L22.6 17.2L21.3 15.8Z\";\r\nexport var mdiPackageVariantClosedMinus = \"M13 12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.4V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M11 19.3L5 15.9V9.2L11 12.6V19.3M12 10.8L6 7.5L8 6.3L14 9.8L12 10.8M23 18V20H15V18H23Z\";\r\nexport var mdiPackageVariantClosedPlus = \"M13 19.3V12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.4V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M11 19.3L5 15.9V9.2L11 12.6V19.3M12 10.8L6 7.5L8 6.3L14 9.8L12 10.8M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiPackageVariantClosedRemove = \"M13 12.6L19 9.2V13C19.7 13 20.4 13.1 21 13.4V7.5C21 7.1 20.8 6.8 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.5 6.6C3.2 6.8 3 7.1 3 7.5V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M12 4.2L18 7.5L16 8.6L10.1 5.2L12 4.2M11 19.3L5 15.9V9.2L11 12.6V19.3M12 10.8L6 7.5L8 6.3L14 9.8L12 10.8M16.9 15.5L19 17.6L21.1 15.5L22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5Z\";\r\nexport var mdiPackageVariantMinus = \"M13 15.6C13.3 15.8 13.7 15.8 14 15.6L19 12.7V13C19.7 13 20.4 13.1 21 13.4V11.6L22 11C22.5 10.7 22.6 10.1 22.4 9.6L20.9 7.1C20.8 6.9 20.7 6.7 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.6 6.6C3.4 6.7 3.2 6.8 3.1 7L1.6 9.6C1.3 10.1 1.5 10.7 2 11C2.3 11.2 2.7 11.2 3 11V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M11 19.3L5 15.9V9.2L11 12.6V19.3M20.1 9.7L13.8 13.3L13.2 12.3L19.5 8.7L20.1 9.7M12 10.8V4.2L18 7.5L12 10.8M23 20H15V18H23V20Z\";\r\nexport var mdiPackageVariantPlus = \"M13 15.6C13.3 15.8 13.7 15.8 14 15.6L19 12.7V13C19.7 13 20.4 13.1 21 13.4V11.6L22 11C22.5 10.7 22.6 10.1 22.4 9.6L20.9 7.1C20.8 6.9 20.7 6.7 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.6 6.6C3.4 6.7 3.2 6.8 3.1 7L1.6 9.6C1.3 10.1 1.5 10.7 2 11C2.3 11.2 2.7 11.2 3 11V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M11 19.3L5 15.9V9.2L11 12.6V19.3M20.1 9.7L13.8 13.3L13.2 12.3L19.5 8.7L20.1 9.7M12 10.8V4.2L18 7.5L12 10.8M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiPackageVariantRemove = \"M13 15.6C13.3 15.8 13.7 15.8 14 15.6L19 12.7V13C19.7 13 20.4 13.1 21 13.4V11.6L22 11C22.5 10.7 22.6 10.1 22.4 9.6L20.9 7.1C20.8 6.9 20.7 6.7 20.5 6.6L12.6 2.2C12.4 2.1 12.2 2 12 2S11.6 2.1 11.4 2.2L3.6 6.6C3.4 6.7 3.2 6.8 3.1 7L1.6 9.6C1.3 10.1 1.5 10.7 2 11C2.3 11.2 2.7 11.2 3 11V16.5C3 16.9 3.2 17.2 3.5 17.4L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L13.5 21.3C13.2 20.7 13.1 20 13 19.3M11 19.3L5 15.9V9.2L11 12.6V19.3M20.1 9.7L13.8 13.3L13.2 12.3L19.5 8.7L20.1 9.7M12 10.8V4.2L18 7.5L12 10.8M22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9Z\";\r\nexport var mdiPageFirst = \"M18.41,16.59L13.82,12L18.41,7.41L17,6L11,12L17,18L18.41,16.59M6,6H8V18H6V6Z\";\r\nexport var mdiPageLast = \"M5.59,7.41L10.18,12L5.59,16.59L7,18L13,12L7,6L5.59,7.41M16,6H18V18H16V6Z\";\r\nexport var mdiPageLayoutBody = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,8V16H18V8H6Z\";\r\nexport var mdiPageLayoutFooter = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,16V20H18V16H6Z\";\r\nexport var mdiPageLayoutHeader = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,4V8H18V4H6Z\";\r\nexport var mdiPageLayoutHeaderFooter = \"M18 2H6C4.89 2 4 2.9 4 4V20C4 21.11 4.89 22 6 22H18C19.11 22 20 21.11 20 20V4C20 2.9 19.11 2 18 2M18 20H6V16H18V20M18 8H6V4H18V8Z\";\r\nexport var mdiPageLayoutSidebarLeft = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M6,8V16H10V8H6Z\";\r\nexport var mdiPageLayoutSidebarRight = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M14,8V16H18V8H14Z\";\r\nexport var mdiPageNext = \"M20,3H5A2,2 0 0,0 3,5V11H7V9L11,12L7,15V13H3V19A2,2 0 0,0 5,21H20A2,2 0 0,0 22,19V5A2,2 0 0,0 20,3M17,17H13V15H17V17M20,13H13V11H20V13M20,9H13V7H20V9M3,13H0V11H3V13Z\";\r\nexport var mdiPageNextOutline = \"M22,3H5A2,2 0 0,0 3,5V9H5V5H22V19H5V15H3V19A2,2 0 0,0 5,21H22A2,2 0 0,0 24,19V5A2,2 0 0,0 22,3M7,15V13H0V11H7V9L11,12L7,15M20,13H13V11H20V13M20,9H13V7H20V9M17,17H13V15H17V17Z\";\r\nexport var mdiPagePrevious = \"M4,21H19A2,2 0 0,0 21,19V13H17V15L13,12L17,9V11H21V5A2,2 0 0,0 19,3H4A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21M4,15H8V17H4V15M4,11H11V13H4V11M4,7H11V9H4V7M21,11H24V13H21V11Z\";\r\nexport var mdiPagePreviousOutline = \"M2,3H19A2,2 0 0,1 21,5V9H19V5H2V19H19V15H21V19A2,2 0 0,1 19,21H2A2,2 0 0,1 0,19V5A2,2 0 0,1 2,3M17,15V13H24V11H17V9L13,12L17,15M4,13H11V11H4V13M4,9H11V7H4V9M4,17H8V15H4V17Z\";\r\nexport var mdiPail = \"M11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63M7 21L5.79 14.97L13.21 10.69C14 10.26 14.5 9.44 14.5 8.5C14.5 7.12 13.38 6 12 6C11.53 6 11.09 6.13 10.71 6.36L4.76 9.79L4 6H3V4H21V6H20L17 21H7Z\";\r\nexport var mdiPailMinus = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiPailMinusOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M15 18V20H23V18H15Z\";\r\nexport var mdiPailOff = \"M20.84 22.73L17.35 19.24L17 21H7L5.79 14.97L10.41 12.3L9.31 11.2L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L7.85 9.74L6.75 8.64L4.76 9.79L4 6H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.27 14.16 9.94 13.6 10.4L18.2 15L20 6H21V4H7.2L10 6.78L10.71 6.36M11.5 7.63L11.08 7.88L12.53 9.33C12.97 9.05 13.13 8.46 12.86 8C12.58 7.5 11.97 7.35 11.5 7.63Z\";\r\nexport var mdiPailOffOutline = \"M20.84 22.73L17.35 19.24L17 21H7L5.9 15.5L7.73 14.43L8.64 19H15.36L15.65 17.54L9.31 11.2L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L7.85 9.74L6.38 8.27L4.65 9.27L4 6H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M17.96 6L16.5 13.3L18.2 15L20 6H21V4H7.2L9.2 6H17.96M11.5 7.63L11.08 7.88L12.53 9.33C12.97 9.05 13.13 8.46 12.86 8C12.58 7.5 11.97 7.35 11.5 7.63Z\";\r\nexport var mdiPailOutline = \"M11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75S2.79 12.66 3.27 12.38L11.5 7.63M3 4V6H4L4.65 9.27L6.5 8.22L6.04 6H17.96L15.36 19H8.64L7.73 14.43L5.9 15.5L7 21H17L20 6H21V4H3Z\";\r\nexport var mdiPailPlus = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPailPlusOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPailRemove = \"M12.5 9.36L4.27 14.11C3.79 14.39 3.18 14.23 2.9 13.75C2.62 13.27 2.79 12.66 3.27 12.38L11.5 7.63C11.97 7.35 12.58 7.5 12.86 8C13.14 8.47 12.97 9.09 12.5 9.36M13 19C13 15.82 15.47 13.23 18.6 13L20 6H21V4H3V6H4L4.76 9.79L10.71 6.36C11.09 6.13 11.53 6 12 6C13.38 6 14.5 7.12 14.5 8.5C14.5 9.44 14 10.26 13.21 10.69L5.79 14.97L7 21H13.35C13.13 20.37 13 19.7 13 19M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiPailRemoveOutline = \"M4 6H3V4H21V6H20L18.6 13C17.83 13.07 17.11 13.26 16.45 13.58L17.96 6H6.04L6.5 8.22L4.65 9.27L4 6M12.86 8C12.58 7.5 11.97 7.35 11.5 7.63L3.27 12.38C2.79 12.66 2.62 13.27 2.9 13.75C3.18 14.23 3.79 14.39 4.27 14.11L12.5 9.36C12.97 9.09 13.14 8.47 12.86 8M13 19H8.64L7.73 14.43L5.9 15.5L7 21H13.35C13.13 20.37 13 19.7 13 19M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.58 19L15.46 21.12L16.87 22.54L19 20.41L21.12 22.54L22.53 21.12L20.41 19L22.53 16.88L21.12 15.46Z\";\r\nexport var mdiPalette = \"M17.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,9A1.5,1.5 0 0,1 19,10.5A1.5,1.5 0 0,1 17.5,12M14.5,8A1.5,1.5 0 0,1 13,6.5A1.5,1.5 0 0,1 14.5,5A1.5,1.5 0 0,1 16,6.5A1.5,1.5 0 0,1 14.5,8M9.5,8A1.5,1.5 0 0,1 8,6.5A1.5,1.5 0 0,1 9.5,5A1.5,1.5 0 0,1 11,6.5A1.5,1.5 0 0,1 9.5,8M6.5,12A1.5,1.5 0 0,1 5,10.5A1.5,1.5 0 0,1 6.5,9A1.5,1.5 0 0,1 8,10.5A1.5,1.5 0 0,1 6.5,12M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A1.5,1.5 0 0,0 13.5,19.5C13.5,19.11 13.35,18.76 13.11,18.5C12.88,18.23 12.73,17.88 12.73,17.5A1.5,1.5 0 0,1 14.23,16H16A5,5 0 0,0 21,11C21,6.58 16.97,3 12,3Z\";\r\nexport var mdiPaletteAdvanced = \"M22,22H10V20H22V22M2,22V20H9V22H2M18,18V10H22V18H18M18,3H22V9H18V3M2,18V3H16V18H2M9,14.56A3,3 0 0,0 12,11.56C12,9.56 9,6.19 9,6.19C9,6.19 6,9.56 6,11.56A3,3 0 0,0 9,14.56Z\";\r\nexport var mdiPaletteOutline = \"M12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2C17.5,2 22,6 22,11A6,6 0 0,1 16,17H14.2C13.9,17 13.7,17.2 13.7,17.5C13.7,17.6 13.8,17.7 13.8,17.8C14.2,18.3 14.4,18.9 14.4,19.5C14.5,20.9 13.4,22 12,22M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C12.3,20 12.5,19.8 12.5,19.5C12.5,19.3 12.4,19.2 12.4,19.1C12,18.6 11.8,18.1 11.8,17.5C11.8,16.1 12.9,15 14.3,15H16A4,4 0 0,0 20,11C20,7.1 16.4,4 12,4M6.5,10C7.3,10 8,10.7 8,11.5C8,12.3 7.3,13 6.5,13C5.7,13 5,12.3 5,11.5C5,10.7 5.7,10 6.5,10M9.5,6C10.3,6 11,6.7 11,7.5C11,8.3 10.3,9 9.5,9C8.7,9 8,8.3 8,7.5C8,6.7 8.7,6 9.5,6M14.5,6C15.3,6 16,6.7 16,7.5C16,8.3 15.3,9 14.5,9C13.7,9 13,8.3 13,7.5C13,6.7 13.7,6 14.5,6M17.5,10C18.3,10 19,10.7 19,11.5C19,12.3 18.3,13 17.5,13C16.7,13 16,12.3 16,11.5C16,10.7 16.7,10 17.5,10Z\";\r\nexport var mdiPaletteSwatch = \"M2.53,19.65L3.87,20.21V11.18L1.44,17.04C1.03,18.06 1.5,19.23 2.53,19.65M22.03,15.95L17.07,4C16.76,3.23 16.03,2.77 15.26,2.75C15,2.75 14.73,2.79 14.47,2.9L7.1,5.95C6.35,6.26 5.89,7 5.87,7.75C5.86,8 5.91,8.29 6,8.55L11,20.5C11.29,21.28 12.03,21.74 12.81,21.75C13.07,21.75 13.33,21.7 13.58,21.6L20.94,18.55C21.96,18.13 22.45,16.96 22.03,15.95M7.88,8.75A1,1 0 0,1 6.88,7.75A1,1 0 0,1 7.88,6.75C8.43,6.75 8.88,7.2 8.88,7.75C8.88,8.3 8.43,8.75 7.88,8.75M5.88,19.75A2,2 0 0,0 7.88,21.75H9.33L5.88,13.41V19.75Z\";\r\nexport var mdiPaletteSwatchOutline = \"M2.5 19.6L3.8 20.2V11.2L1.4 17C1 18.1 1.5 19.2 2.5 19.6M15.2 4.8L20.2 16.8L12.9 19.8L7.9 7.9V7.8L15.2 4.8M15.3 2.8C15 2.8 14.8 2.8 14.5 2.9L7.1 6C6.4 6.3 5.9 7 5.9 7.8C5.9 8 5.9 8.3 6 8.6L11 20.5C11.3 21.3 12 21.7 12.8 21.7C13.1 21.7 13.3 21.7 13.6 21.6L21 18.5C22 18.1 22.5 16.9 22.1 15.9L17.1 4C16.8 3.2 16 2.8 15.3 2.8M10.5 9.9C9.9 9.9 9.5 9.5 9.5 8.9S9.9 7.9 10.5 7.9C11.1 7.9 11.5 8.4 11.5 8.9S11.1 9.9 10.5 9.9M5.9 19.8C5.9 20.9 6.8 21.8 7.9 21.8H9.3L5.9 13.5V19.8Z\";\r\nexport var mdiPaletteSwatchVariant = \"M20 14H6C3.8 14 2 15.8 2 18S3.8 22 6 22H20C21.1 22 22 21.1 22 20V16C22 14.9 21.1 14 20 14M6 20C4.9 20 4 19.1 4 18S4.9 16 6 16 8 16.9 8 18 7.1 20 6 20M6.3 12L13 5.3C13.8 4.5 15 4.5 15.8 5.3L18.6 8.1C19.4 8.9 19.4 10.1 18.6 10.9L17.7 12H6.3M2 13.5V4C2 2.9 2.9 2 4 2H8C9.1 2 10 2.9 10 4V5.5L2 13.5Z\";\r\nexport var mdiPalmTree = \"M12 9C13.59 16.61 10 22 10 22H13C14.88 16.2 14 12.09 13.5 10M15.66 7.16C15.83 7.37 16 7.59 16.13 7.82C17.84 10.53 17.5 13.95 15.5 16.26C16.34 14.21 16.22 11.79 14.95 9.77C14.87 9.64 14.78 9.53 14.7 9.41C14.11 8.58 13.36 7.92 12.54 7.43C9.66 8.35 7.58 11.04 7.58 14.22C7.58 14.96 7.69 15.67 7.89 16.33C7.05 15.16 6.56 13.73 6.56 12.19C6.56 9.84 7.7 7.76 9.45 6.46C8 6.35 6.46 6.67 5.12 7.5C4.5 7.91 3.96 8.38 3.5 8.91C4.05 7.58 5 6.39 6.3 5.57C7.8 4.63 9.5 4.32 11.14 4.56C10.73 4 10.23 3.47 9.63 3C9.05 2.58 8.42 2.24 7.76 2C9.2 2.04 10.64 2.5 11.87 3.43C12.5 3.9 13 4.47 13.4 5.07C13.5 5.07 13.59 5.06 13.69 5.06C16.89 5.06 19.6 7.17 20.5 10.08C19.38 8.5 17.65 7.43 15.66 7.16Z\";\r\nexport var mdiPan = \"M12,2.5L8,7H16L12,2.5M7,8L2.5,12L7,16V8M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\r\nexport var mdiPanBottomLeft = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M5.35,13L11,18.65L5,19L5.35,13Z\";\r\nexport var mdiPanBottomRight = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M13,18.65L18.65,13L19,19L13,18.65Z\";\r\nexport var mdiPanDown = \"M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\r\nexport var mdiPanHorizontal = \"M7,8L2.5,12L7,16V8M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanLeft = \"M7,8L2.5,12L7,16V8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanRight = \"M17,8V16L21.5,12L17,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanTopLeft = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M11,5.35L5.35,11L5,5L11,5.35Z\";\r\nexport var mdiPanTopRight = \"M12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10M18.65,11L13,5.35L19,5L18.65,11Z\";\r\nexport var mdiPanUp = \"M12,2.5L8,7H16L12,2.5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPanVertical = \"M12,2.5L8,7H16L12,2.5M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M8,17L12,21.5L16,17H8Z\";\r\nexport var mdiPanda = \"M12,3C13.74,3 15.36,3.5 16.74,4.35C17.38,3.53 18.38,3 19.5,3A3.5,3.5 0 0,1 23,6.5C23,8 22.05,9.28 20.72,9.78C20.9,10.5 21,11.23 21,12A9,9 0 0,1 12,21A9,9 0 0,1 3,12C3,11.23 3.1,10.5 3.28,9.78C1.95,9.28 1,8 1,6.5A3.5,3.5 0 0,1 4.5,3C5.62,3 6.62,3.53 7.26,4.35C8.64,3.5 10.26,3 12,3M12,5A7,7 0 0,0 5,12A7,7 0 0,0 12,19A7,7 0 0,0 19,12A7,7 0 0,0 12,5M16.19,10.3C16.55,11.63 16.08,12.91 15.15,13.16C14.21,13.42 13.17,12.54 12.81,11.2C12.45,9.87 12.92,8.59 13.85,8.34C14.79,8.09 15.83,8.96 16.19,10.3M7.81,10.3C8.17,8.96 9.21,8.09 10.15,8.34C11.08,8.59 11.55,9.87 11.19,11.2C10.83,12.54 9.79,13.42 8.85,13.16C7.92,12.91 7.45,11.63 7.81,10.3M12,14C12.6,14 13.13,14.19 13.5,14.5L12.5,15.5C12.5,15.92 12.84,16.25 13.25,16.25A0.75,0.75 0 0,0 14,15.5A0.5,0.5 0 0,1 14.5,15A0.5,0.5 0 0,1 15,15.5A1.75,1.75 0 0,1 13.25,17.25C12.76,17.25 12.32,17.05 12,16.72C11.68,17.05 11.24,17.25 10.75,17.25A1.75,1.75 0 0,1 9,15.5A0.5,0.5 0 0,1 9.5,15A0.5,0.5 0 0,1 10,15.5A0.75,0.75 0 0,0 10.75,16.25A0.75,0.75 0 0,0 11.5,15.5L10.5,14.5C10.87,14.19 11.4,14 12,14Z\";\r\nexport var mdiPandora = \"M10,20A1,1 0 0,1 9,21H4V3H13.71A6.75,6.75 0 0,1 20.46,9.75C20.46,13.5 17.44,16.5 13.71,16.5H10V20Z\";\r\nexport var mdiPanorama = \"M8.5,12.5L11,15.5L14.5,11L19,17H5M23,18V6A2,2 0 0,0 21,4H3A2,2 0 0,0 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18Z\";\r\nexport var mdiPanoramaFisheye = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2Z\";\r\nexport var mdiPanoramaHorizontal = \"M12 5.5C8.1 5.5 5.1 4.7 3.3 4.1C2.7 3.8 2 4.3 2 5V19C2 19.7 2.7 20.2 3.3 20C5.4 19.3 8.1 18.5 12 18.5C15.9 18.5 18.7 19.3 20.7 20C21.4 20.2 22 19.7 22 19V5C22 4.3 21.3 3.8 20.7 4.1C18.7 4.7 15.9 5.5 12 5.5Z\";\r\nexport var mdiPanoramaHorizontalOutline = \"M21.43,4C21.33,4 21.23,4 21.12,4.06C18.18,5.16 15.09,5.7 12,5.7C8.91,5.7 5.82,5.15 2.88,4.06C2.77,4 2.66,4 2.57,4C2.23,4 2,4.23 2,4.63V19.38C2,19.77 2.23,20 2.57,20C2.67,20 2.77,20 2.88,19.94C5.82,18.84 8.91,18.3 12,18.3C15.09,18.3 18.18,18.85 21.12,19.94C21.23,20 21.33,20 21.43,20C21.76,20 22,19.77 22,19.37V4.63C22,4.23 21.76,4 21.43,4M20,6.54V17.45C17.4,16.68 14.72,16.29 12,16.29C9.28,16.29 6.6,16.68 4,17.45V6.54C6.6,7.31 9.28,7.7 12,7.7C14.72,7.71 17.4,7.32 20,6.54Z\";\r\nexport var mdiPanoramaOutline = \"M21 4H3C1.9 4 1 4.9 1 6V18C1 19.1 1.9 20 3 20H21C22.1 20 23 19.1 23 18V6C23 4.9 22.1 4 21 4M21 18H3V6H21V18M14.5 11L11 15.5L8.5 12.5L5 17H19L14.5 11Z\";\r\nexport var mdiPanoramaSphere = \"M22 8.1C21.7 8 21.3 7.8 21 7.7C19.4 4.3 16 2 12 2S4.6 4.3 3 7.7C2.7 7.8 2.3 8 2.1 8.1C1.4 8.5 1 9.2 1 9.9V14.1C1 14.8 1.4 15.5 2 15.9C2.3 16 2.7 16.2 3 16.3C4.6 19.7 8 22 12 22S19.4 19.7 21 16.3C21.3 16.2 21.6 16 21.9 15.8C22.5 15.4 23 14.8 23 14V9.9C23 9.2 22.6 8.5 22 8.1M12 4C14.4 4 16.5 5 18 6.7C16.2 6.2 14.1 6 12 6S7.8 6.2 6.1 6.7C7.5 5 9.6 4 12 4M12 20C9.6 20 7.5 19 6.1 17.3C7.8 17.8 9.9 18 12 18S16.2 17.8 18 17.3C16.5 19 14.4 20 12 20Z\";\r\nexport var mdiPanoramaSphereOutline = \"M22 8.1C21.7 8 21.3 7.8 21 7.7C19.4 4.3 16 2 12 2S4.6 4.3 3 7.7C2.7 7.8 2.3 8 2.1 8.1C1.4 8.5 1 9.2 1 9.9V14.1C1 14.8 1.4 15.5 2 15.9C2.3 16 2.7 16.2 3 16.3C4.6 19.7 8 22 12 22S19.4 19.7 21 16.3C21.3 16.2 21.6 16 21.9 15.8C22.5 15.4 23 14.8 23 14V9.9C23 9.2 22.6 8.5 22 8.1M21 9.9V14.1C18.8 15.3 15.5 16 12 16S5.2 15.3 3 14.1V9.9C5.2 8.7 8.5 8 12 8S18.8 8.7 21 9.9M12 4C14.4 4 16.5 5 18 6.7C16.2 6.2 14.1 6 12 6S7.8 6.2 6.1 6.7C7.5 5 9.6 4 12 4M12 20C9.6 20 7.5 19 6.1 17.3C7.8 17.8 9.9 18 12 18S16.2 17.8 18 17.3C16.5 19 14.4 20 12 20Z\";\r\nexport var mdiPanoramaVariant = \"M20.7 4.1C18.7 4.8 15.9 5.5 12 5.5C8.1 5.5 5.1 4.7 3.3 4.1C2.7 3.8 2 4.3 2 5V19C2 19.7 2.7 20.2 3.3 20C5.4 19.3 8.1 18.5 12 18.5C15.9 18.5 18.7 19.3 20.7 20C21.4 20.2 22 19.7 22 19V5C22 4.3 21.3 3.8 20.7 4.1M12 15C9.7 15 7.5 15.1 5.5 15.4L9.2 11L11.2 13.4L14 10L18.5 15.4C16.5 15.1 14.3 15 12 15Z\";\r\nexport var mdiPanoramaVariantOutline = \"M21 4C20.4 4 17.4 5.5 12 5.5C6.7 5.5 3.5 4 3 4C2.5 4 2 4.4 2 5V19C2 19.6 2.5 20 3 20C3.6 20 6.5 18.5 12 18.5C17.4 18.5 20.4 20 21 20C21.5 20 22 19.6 22 19V5C22 4.4 21.5 4 21 4M20 17.6C18 17 15.4 16.5 12 16.5C8.6 16.5 6 17 4 17.6V6.4C6.6 7.1 9.3 7.5 12 7.5C15.4 7.5 18 7 20 6.4V17.6M9.2 11L5.5 15.4C7.5 15.1 9.7 15 12 15C14.3 15 16.5 15.1 18.5 15.4L14 10L11.2 13.4L9.2 11Z\";\r\nexport var mdiPanoramaVertical = \"M18.5 12C18.5 8.1 19.3 5.1 19.9 3.3C20.1 2.7 19.7 2 19 2H5C4.3 2 3.8 2.7 4.1 3.3C4.7 5.4 5.5 8.1 5.5 12C5.5 15.9 4.7 18.7 4.1 20.7C3.8 21.3 4.3 22 5 22H19C19.7 22 20.2 21.3 20 20.7C19.3 18.7 18.5 15.9 18.5 12Z\";\r\nexport var mdiPanoramaVerticalOutline = \"M6.54,20C7.31,17.4 7.7,14.72 7.7,12C7.7,9.28 7.31,6.6 6.54,4H17.45C16.68,6.6 16.29,9.28 16.29,12C16.29,14.72 16.68,17.4 17.45,20M19.94,21.12C18.84,18.18 18.3,15.09 18.3,12C18.3,8.91 18.85,5.82 19.94,2.88C20,2.77 20,2.66 20,2.57C20,2.23 19.77,2 19.37,2H4.63C4.23,2 4,2.23 4,2.57C4,2.67 4,2.77 4.06,2.88C5.16,5.82 5.71,8.91 5.71,12C5.71,15.09 5.16,18.18 4.07,21.12C4,21.23 4,21.34 4,21.43C4,21.76 4.23,22 4.63,22H19.38C19.77,22 20,21.76 20,21.43C20,21.33 20,21.23 19.94,21.12Z\";\r\nexport var mdiPanoramaWideAngle = \"M12 4C8 4 5.2 4.6 3 5C2.5 7 2 8.9 2 12C2 15 2.5 17 3 19C5.2 19.4 8 20 12 20C16 20 18.9 19.4 21 19C21.6 17 22 15 22 12C22 9 21.5 6.9 21 5C18.9 4.6 16 4 12 4Z\";\r\nexport var mdiPanoramaWideAngleOutline = \"M12,4C9.27,4 6.78,4.24 4.05,4.72L3.12,4.88L2.87,5.78C2.29,7.85 2,9.93 2,12C2,14.07 2.29,16.15 2.87,18.22L3.12,19.11L4.05,19.27C6.78,19.76 9.27,20 12,20C14.73,20 17.22,19.76 19.95,19.28L20.88,19.12L21.13,18.23C21.71,16.15 22,14.07 22,12C22,9.93 21.71,7.85 21.13,5.78L20.88,4.89L19.95,4.73C17.22,4.24 14.73,4 12,4M12,6C14.45,6 16.71,6.2 19.29,6.64C19.76,8.42 20,10.22 20,12C20,13.78 19.76,15.58 19.29,17.36C16.71,17.8 14.45,18 12,18C9.55,18 7.29,17.8 4.71,17.36C4.24,15.58 4,13.78 4,12C4,10.22 4.24,8.42 4.71,6.64C7.29,6.2 9.55,6 12,6Z\";\r\nexport var mdiPaperCutVertical = \"M11.43,3.23L12,4L12.57,3.23V3.24C13.12,2.5 14,2 15,2A3,3 0 0,1 18,5C18,5.35 17.94,5.69 17.83,6H20A2,2 0 0,1 22,8V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8A2,2 0 0,1 4,6H6.17C6.06,5.69 6,5.35 6,5A3,3 0 0,1 9,2C10,2 10.88,2.5 11.43,3.24V3.23M4,8V20H11A1,1 0 0,1 12,19A1,1 0 0,1 13,20H20V8H15L14.9,8L17,10.92L15.4,12.1L12.42,8H11.58L8.6,12.1L7,10.92L9.1,8H9L4,8M9,4A1,1 0 0,0 8,5A1,1 0 0,0 9,6A1,1 0 0,0 10,5A1,1 0 0,0 9,4M15,4A1,1 0 0,0 14,5A1,1 0 0,0 15,6A1,1 0 0,0 16,5A1,1 0 0,0 15,4M12,16A1,1 0 0,1 13,17A1,1 0 0,1 12,18A1,1 0 0,1 11,17A1,1 0 0,1 12,16M12,13A1,1 0 0,1 13,14A1,1 0 0,1 12,15A1,1 0 0,1 11,14A1,1 0 0,1 12,13M12,10A1,1 0 0,1 13,11A1,1 0 0,1 12,12A1,1 0 0,1 11,11A1,1 0 0,1 12,10Z\";\r\nexport var mdiPaperRoll = \"M9 3C5.69 3 3.14 5.69 3 9V21H12V13.46C13.1 14.45 14.5 15 16 15C19.31 15 22 12.31 22 9C22 5.69 19.31 3 16 3H9M16 5C18.21 5 20 6.79 20 9C20 11.21 18.21 13 16 13C13.79 13 12 11.21 12 9C12 6.79 13.79 5 16 5M16 7.25C15.03 7.25 14.25 8.03 14.25 9C14.25 9.97 15.03 10.75 16 10.75C16.97 10.75 17.75 9.97 17.75 9C17.75 8.03 16.97 7.25 16 7.25M4 12H5V13H4V12M6 12H7V13H6V12M8 12H9V13H8V12M10 12H11V13H10V12Z\";\r\nexport var mdiPaperRollOutline = \"M9 3C5.69 3 3.14 5.69 3 9V21H12V13.46C13.1 14.45 14.5 15 16 15C19.31 15 22 12.31 22 9C22 5.69 19.31 3 16 3H9M9 5H11.54C10.55 6.1 10 7.5 10 9V12H9V13H10V19H5V13H6V12H5V9C5 6.79 6.79 5 9 5M16 5C18.21 5 20 6.79 20 9C20 11.21 18.21 13 16 13C13.79 13 12 11.21 12 9C12 6.79 13.79 5 16 5M16 7.25C15.03 7.25 14.25 8.03 14.25 9C14.25 9.97 15.03 10.75 16 10.75C16.97 10.75 17.75 9.97 17.75 9C17.75 8.03 16.97 7.25 16 7.25M7 12V13H8V12H7Z\";\r\nexport var mdiPaperclip = \"M16.5,6V17.5A4,4 0 0,1 12.5,21.5A4,4 0 0,1 8.5,17.5V5A2.5,2.5 0 0,1 11,2.5A2.5,2.5 0 0,1 13.5,5V15.5A1,1 0 0,1 12.5,16.5A1,1 0 0,1 11.5,15.5V6H10V15.5A2.5,2.5 0 0,0 12.5,18A2.5,2.5 0 0,0 15,15.5V5A4,4 0 0,0 11,1A4,4 0 0,0 7,5V17.5A5.5,5.5 0 0,0 12.5,23A5.5,5.5 0 0,0 18,17.5V6H16.5Z\";\r\nexport var mdiPaperclipCheck = \"M13.5 21.36C13.7 21.84 13.97 22.29 14.29 22.7C13.73 22.89 13.13 23 12.5 23C9.46 23 7 20.54 7 17.5V5C7 2.79 8.79 1 11 1S15 2.79 15 5V14.54C14.03 15.41 13.35 16.58 13.1 17.92C12.91 17.97 12.71 18 12.5 18C11.12 18 10 16.88 10 15.5V6H11.5V15.5C11.5 16.05 11.95 16.5 12.5 16.5S13.5 16.05 13.5 15.5V5C13.5 3.62 12.38 2.5 11 2.5S8.5 3.62 8.5 5V17.5C8.5 19.71 10.29 21.5 12.5 21.5C12.84 21.5 13.17 21.44 13.5 21.36M18 6H16.5V13.55C16.97 13.34 17.47 13.18 18 13.09V6M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiPaperclipLock = \"M18 13C16.6 13 15.2 14.1 15.2 15.5V17C14.6 17 14 17.6 14 18.2V21.7C14 22.4 14.6 23 15.2 23H20.7C21.4 23 22 22.4 22 21.8V18.3C22 17.6 21.4 17 20.8 17V15.5C20.8 14.1 19.4 13 18 13M18 14.2C18.8 14.2 19.5 14.7 19.5 15.5V17H16.5V15.5C16.5 14.7 17.2 14.2 18 14.2M8.9 2C6.8 2 5 3.8 5 6V16.5C5 19.5 7.5 22 10.5 22C11 22 11.5 21.9 12 21.8V20.2C11.5 20.4 11 20.5 10.5 20.5C8.3 20.5 6.5 18.7 6.5 16.5V6C6.5 4.6 7.6 3.5 9 3.5S11.5 4.6 11.5 6V14.5C11.5 15.1 11.1 15.5 10.5 15.5S9.5 15.1 9.5 14.5V7H8V14.5C8 15.9 9.1 17 10.5 17S13 15.9 13 14.5V6C13 3.8 11.2 2 8.9 2C9 2 9 2 8.9 2M14.5 7V12.4C14.9 12 15.4 11.6 16 11.4V7H14.5Z\";\r\nexport var mdiPaperclipMinus = \"M18 13.09C17.47 13.18 16.97 13.34 16.5 13.55V6H18V13.09M12.5 21.5C10.29 21.5 8.5 19.71 8.5 17.5V5C8.5 3.62 9.62 2.5 11 2.5S13.5 3.62 13.5 5V15.5C13.5 16.05 13.05 16.5 12.5 16.5S11.5 16.05 11.5 15.5V6H10V15.5C10 16.88 11.12 18 12.5 18C12.71 18 12.91 17.97 13.1 17.92C13.35 16.58 14.03 15.41 15 14.54V5C15 2.79 13.21 1 11 1S7 2.79 7 5V17.5C7 20.54 9.46 23 12.5 23C13.13 23 13.73 22.89 14.29 22.7C13.97 22.29 13.7 21.84 13.5 21.36C13.17 21.44 12.84 21.5 12.5 21.5M15 18V20H23V18H15Z\";\r\nexport var mdiPaperclipOff = \"M8.5 5.3L7.16 3.96C7.62 2.26 9.15 1 11 1C13.21 1 15 2.79 15 5V11.8L13.5 10.3V5C13.5 3.62 12.38 2.5 11 2.5S8.5 3.62 8.5 5V5.3M18 6H16.5V13.3L18 14.8V6M22.11 21.46L20.84 22.73L17.62 19.5C16.81 21.55 14.83 23 12.5 23C9.46 23 7 20.54 7 17.5V8.89L1.11 3L2.39 1.73L22.11 21.46M11.5 15.5C11.5 16.05 11.95 16.5 12.5 16.5S13.5 16.05 13.5 15.5V15.39L11.5 13.39V15.5M16.42 18.31L14.73 16.62C14.32 17.43 13.5 18 12.5 18C11.12 18 10 16.88 10 15.5V11.89L8.5 10.39V17.5C8.5 19.71 10.29 21.5 12.5 21.5C14.43 21.5 16.04 20.13 16.42 18.31M10 6.8L11.5 8.3V6H10V6.8Z\";\r\nexport var mdiPaperclipPlus = \"M18 13.09C17.47 13.18 16.97 13.34 16.5 13.55V6H18V13.09M12.5 21.5C10.29 21.5 8.5 19.71 8.5 17.5V5C8.5 3.62 9.62 2.5 11 2.5S13.5 3.62 13.5 5V15.5C13.5 16.05 13.05 16.5 12.5 16.5S11.5 16.05 11.5 15.5V6H10V15.5C10 16.88 11.12 18 12.5 18C12.71 18 12.91 17.97 13.1 17.92C13.35 16.58 14.03 15.41 15 14.54V5C15 2.79 13.21 1 11 1S7 2.79 7 5V17.5C7 20.54 9.46 23 12.5 23C13.13 23 13.73 22.89 14.29 22.7C13.97 22.29 13.7 21.84 13.5 21.36C13.17 21.44 12.84 21.5 12.5 21.5M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiPaperclipRemove = \"M18 13.09C17.47 13.18 16.97 13.34 16.5 13.55V6H18V13.09M11 1C8.79 1 7 2.79 7 5V17.5C7 20.54 9.46 23 12.5 23C13.13 23 13.73 22.89 14.29 22.7C13.97 22.29 13.7 21.84 13.5 21.36C13.17 21.44 12.84 21.5 12.5 21.5C10.29 21.5 8.5 19.71 8.5 17.5V5C8.5 3.62 9.62 2.5 11 2.5S13.5 3.62 13.5 5V15.5C13.5 16.05 13.05 16.5 12.5 16.5S11.5 16.05 11.5 15.5V6H10V15.5C10 16.88 11.12 18 12.5 18C12.71 18 12.91 17.97 13.1 17.92C13.35 16.58 14.03 15.41 15 14.54V5C15 2.79 13.21 1 11 1M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiParachute = \"M21.2,10.95L12,23L2.78,10.96L2.87,10.88C3.08,10.67 3.33,10.5 3.58,10.36L10.73,19.69L8.58,13L9.24,11.81L12,20.38L14.73,11.8L15.4,13L13.27,19.69L20.41,10.35C20.66,10.5 20.9,10.64 21.1,10.85L21.2,10.95M5,9C6.5,9 7.81,9.86 8.5,11.1C9.17,9.86 10.47,9 12,9C13.5,9 14.8,9.85 15.5,11.09C16.16,9.84 17.47,9 19,9C20.09,9 21.09,9.42 21.81,10.14C20.94,5.5 16.88,2 12,2C7.09,2 3.03,5.5 2.16,10.17C2.89,9.45 3.89,9 5,9Z\";\r\nexport var mdiParachuteOutline = \"M21.2,10.95L12,23L2.78,10.96L2.87,10.88C3.08,10.67 3.33,10.5 3.58,10.36L10.73,19.69L8.58,13L9.24,11.81L12,20.38L14.73,11.8L15.4,13L13.27,19.69L20.41,10.35C20.66,10.5 20.9,10.64 21.1,10.85L21.2,10.95M12,4C14.5,4 16.77,5.17 18.25,7.03C17.24,7.15 16.28,7.54 15.47,8.13C14.47,7.41 13.26,7 12,7C10.71,7 9.5,7.41 8.5,8.14C7.68,7.55 6.72,7.17 5.71,7.04C7.19,5.17 9.47,4 12,4M12,2C7.09,2 3.03,5.5 2.16,10.17C2.89,9.45 3.89,9 5,9C6.5,9 7.81,9.86 8.5,11.1C9.17,9.86 10.47,9 12,9C13.5,9 14.8,9.85 15.5,11.09C16.16,9.84 17.47,9 19,9C20.09,9 21.09,9.42 21.81,10.14C20.94,5.5 16.88,2 12,2Z\";\r\nexport var mdiParagliding = \"M12 17C10.9 17 10 16.11 10 15S10.9 13 12 13 14 13.9 14 15 13.11 17 12 17M19 14H17C17 16.76 14.76 19 12 19S7 16.76 7 14H5C5 16.79 6.64 19.19 9 20.32V23H15V20.32C17.36 19.19 19 16.79 19 14M23 7.76C23.04 8.56 22.05 9.06 21.41 8.6C21.27 8.46 21.16 8.44 21 8.32L18.97 13H17L15.5 6.73C13.21 6.5 10.79 6.5 8.5 6.73L7 13H5.03L3 8.32C2.84 8.44 2.73 8.46 2.59 8.6C1.95 9.06 .959 8.56 1 7.76V4C1 4 1 1 12 1S23 4 23 4M6.9 7C6 7.2 5.15 7.43 4.37 7.71L5.87 11.27L6.9 7M19.63 7.71C18.85 7.43 18 7.2 17.1 7L18.13 11.27L19.63 7.71Z\";\r\nexport var mdiParking = \"M13.2,11H10V7H13.2A2,2 0 0,1 15.2,9A2,2 0 0,1 13.2,11M13,3H6V21H10V15H13A6,6 0 0,0 19,9C19,5.68 16.31,3 13,3Z\";\r\nexport var mdiPartyPopper = \"M14.53 1.45L13.45 2.53L15.05 4.13C15.27 4.38 15.38 4.67 15.38 5S15.27 5.64 15.05 5.86L11.5 9.47L12.5 10.55L16.13 6.94C16.66 6.35 16.92 5.7 16.92 5C16.92 4.3 16.66 3.64 16.13 3.05L14.53 1.45M10.55 3.47L9.47 4.55L10.08 5.11C10.3 5.33 10.41 5.63 10.41 6S10.3 6.67 10.08 6.89L9.47 7.45L10.55 8.53L11.11 7.92C11.64 7.33 11.91 6.69 11.91 6C11.91 5.28 11.64 4.63 11.11 4.03L10.55 3.47M21 5.06C20.31 5.06 19.67 5.33 19.08 5.86L13.45 11.5L14.53 12.5L20.11 6.94C20.36 6.69 20.66 6.56 21 6.56S21.64 6.69 21.89 6.94L22.5 7.55L23.53 6.47L22.97 5.86C22.38 5.33 21.72 5.06 21 5.06M7 8L2 22L16 17L7 8M19 11.06C18.3 11.06 17.66 11.33 17.06 11.86L15.47 13.45L16.55 14.53L18.14 12.94C18.39 12.69 18.67 12.56 19 12.56C19.33 12.56 19.63 12.69 19.88 12.94L21.5 14.53L22.55 13.5L20.95 11.86C20.36 11.33 19.7 11.06 19 11.06Z\";\r\nexport var mdiPassport = \"M6,2A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2H6M12,5A5,5 0 0,1 17,10A5,5 0 0,1 12,15A5,5 0 0,1 7,10A5,5 0 0,1 12,5M12,6C11.59,6.62 11.25,7.29 11.04,8H12.96C12.75,7.29 12.42,6.62 12,6M10.7,6.22C9.78,6.53 9,7.17 8.54,8H10C10.18,7.38 10.4,6.78 10.7,6.22M13.29,6.22C13.59,6.78 13.82,7.38 14,8H15.46C15,7.17 14.21,6.54 13.29,6.22M8.13,9C8.05,9.32 8,9.65 8,10C8,10.35 8.05,10.68 8.13,11H9.82C9.78,10.67 9.75,10.34 9.75,10C9.75,9.66 9.78,9.33 9.82,9H8.13M10.83,9C10.78,9.32 10.75,9.66 10.75,10C10.75,10.34 10.78,10.67 10.83,11H13.17C13.21,10.67 13.25,10.34 13.25,10C13.25,9.66 13.21,9.32 13.17,9H10.83M14.18,9C14.22,9.33 14.25,9.66 14.25,10C14.25,10.34 14.22,10.67 14.18,11H15.87C15.95,10.68 16,10.35 16,10C16,9.65 15.95,9.32 15.87,9H14.18M8.54,12C9,12.83 9.78,13.46 10.7,13.78C10.4,13.22 10.18,12.63 10,12H8.54M11.04,12C11.25,12.72 11.59,13.38 12,14C12.42,13.38 12.75,12.72 12.96,12H11.04M14,12C13.82,12.63 13.59,13.22 13.29,13.78C14.21,13.46 15,12.83 15.46,12H14M7,17H17V19H7V17Z\";\r\nexport var mdiPassportAlert = \"M10 6C9.59 6.62 9.25 7.29 9.04 8H10.96C10.75 7.29 10.42 6.62 10 6M8.7 6.22C7.78 6.53 7 7.17 6.54 8H8C8.18 7.38 8.4 6.78 8.7 6.22M11.29 6.22C11.59 6.78 11.82 7.38 12 8H13.46C13 7.17 12.21 6.54 11.29 6.22M6.13 9C6.05 9.32 6 9.65 6 10C6 10.35 6.05 10.68 6.13 11H7.82C7.78 10.67 7.75 10.34 7.75 10C7.75 9.66 7.78 9.33 7.82 9H6.13M8.83 9C8.78 9.32 8.75 9.66 8.75 10C8.75 10.34 8.78 10.67 8.83 11H11.17C11.21 10.67 11.25 10.34 11.25 10C11.25 9.66 11.21 9.32 11.17 9H8.83M12.18 9C12.22 9.33 12.25 9.66 12.25 10C12.25 10.34 12.22 10.67 12.18 11H13.87C13.95 10.68 14 10.35 14 10C14 9.65 13.95 9.32 13.87 9H12.18M6.54 12C7 12.83 7.78 13.46 8.7 13.78C8.4 13.22 8.18 12.63 8 12H6.54M9.04 12C9.25 12.72 9.59 13.38 10 14C10.42 13.38 10.75 12.72 10.96 12H9.04M12 12C11.82 12.63 11.59 13.22 11.29 13.78C12.21 13.46 13 12.83 13.46 12H12M4 2C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V20C2 20.53 2.21 21.04 2.59 21.41C2.96 21.79 3.47 22 4 22H16C16.53 22 17.04 21.79 17.41 21.41C17.79 21.04 18 20.53 18 20V4C18 3.47 17.79 2.96 17.41 2.59C17.04 2.21 16.53 2 16 2H4M10 5C11.33 5 12.6 5.53 13.54 6.46C14.47 7.4 15 8.67 15 10C15 11.33 14.47 12.6 13.54 13.54C12.6 14.47 11.33 15 10 15C8.67 15 7.4 14.47 6.46 13.54C5.53 12.6 5 11.33 5 10C5 8.67 5.53 7.4 6.46 6.46C7.4 5.53 8.67 5 10 5M15 17V19H5V17H15M20 7H22V13H20V7M22 15H20V17H22V15Z\";\r\nexport var mdiPassportBiometric = \"M4,4A2,2 0 0,0 2,6V11H8.13C8.59,9.24 10.18,8 12,8C13.82,8 15.41,9.24 15.87,11H22V6A2,2 0 0,0 20,4H4M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M2,13V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V13H15.87C15.41,14.76 13.82,16 12,16C10.18,16 8.59,14.76 8.13,13H2Z\";\r\nexport var mdiPassportCancel = \"M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13C12.46 21.12 12.1 20.1 12 19H7V17H12.17C12.36 16.23 12.67 15.5 13.1 14.88C12.74 14.96 12.37 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 10.82 16.8 11.63 16.42 12.34C17.07 12.12 17.77 12 18.5 12C19 12 19.5 12.06 20 12.17V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M18.5 23C21 23 23 21 23 18.5C23 16 21 14 18.5 14C16 14 14 16 14 18.5C14 21 16 23 18.5 23M15.92 17L20 21.09C19.58 21.35 19.06 21.5 18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17M21.5 18.5C21.5 19.06 21.35 19.58 21.09 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5Z\";\r\nexport var mdiPassportCheck = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H14.8C14.29 21.12 14 20.09 14 19H7V17H14.34C15.17 14.67 17.39 13 20 13V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 11.33 16.47 12.6 15.54 13.54C14.6 14.47 13.33 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5M18.75 22.16L16 19.16L17.16 18L18.75 19.59L22.34 16L23.5 17.41L18.75 22.16Z\";\r\nexport var mdiPassportMinus = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6Z M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22Z M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22Z M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13Z M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83Z M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18Z M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54Z M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04Z M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14Z M6 2C5.46957 2 4.96086 2.21071 4.58579 2.58579C4.21071 2.96086 4 3.46957 4 4V20C4 20.5304 4.21071 21.0391 4.58579 21.4142C4.96086 21.7893 5.46957 22 6 22H13.8027C13.2922 21.1175 13 20.0929 13 19H7V17H13.3414C14.1651 14.6696 16.3876 13 19 13C19.3407 13 19.6748 13.0284 20 13.083V4C20 3.46957 19.7893 2.96086 19.4142 2.58579C19.0391 2.21071 18.5304 2 18 2H6ZM12 5C13.3261 5 14.5979 5.52678 15.5355 6.46447C16.4732 7.40215 17 8.67392 17 10C17 11.3261 16.4732 12.5979 15.5355 13.5355C14.5979 14.4732 13.3261 15 12 15C10.6739 15 9.40215 14.4732 8.46447 13.5355C7.52678 12.5979 7 11.3261 7 10C7 8.67392 7.52678 7.40215 8.46447 6.46447C9.40215 5.52678 10.6739 5 12 5Z M23 20V18H15V20H23Z\";\r\nexport var mdiPassportPlus = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13.8C13.29 21.12 13 20.09 13 19H7V17H13.34C14.17 14.67 16.39 13 19 13C19.34 13 19.68 13.03 20 13.08V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 11.33 16.47 12.6 15.54 13.54C14.6 14.47 13.33 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5M18 18V15H20V18H23V20H20V23H18V20H15V18H18Z\";\r\nexport var mdiPassportRemove = \"M12 6C11.59 6.62 11.25 7.29 11.04 8H12.96C12.75 7.29 12.42 6.62 12 6M10.7 6.22C9.78 6.53 9 7.17 8.54 8H10C10.18 7.38 10.4 6.78 10.7 6.22M13.29 6.22C13.59 6.78 13.82 7.38 14 8H15.46C15 7.17 14.21 6.54 13.29 6.22M8.13 9C8.05 9.32 8 9.65 8 10C8 10.35 8.05 10.68 8.13 11H9.82C9.78 10.67 9.75 10.34 9.75 10C9.75 9.66 9.78 9.33 9.82 9H8.13M10.83 9C10.78 9.32 10.75 9.66 10.75 10C10.75 10.34 10.78 10.67 10.83 11H13.17C13.21 10.67 13.25 10.34 13.25 10C13.25 9.66 13.21 9.32 13.17 9H10.83M14.18 9C14.22 9.33 14.25 9.66 14.25 10C14.25 10.34 14.22 10.67 14.18 11H15.87C15.95 10.68 16 10.35 16 10C16 9.65 15.95 9.32 15.87 9H14.18M8.54 12C9 12.83 9.78 13.46 10.7 13.78C10.4 13.22 10.18 12.63 10 12H8.54M11.04 12C11.25 12.72 11.59 13.38 12 14C12.42 13.38 12.75 12.72 12.96 12H11.04M14 12C13.82 12.63 13.59 13.22 13.29 13.78C14.21 13.46 15 12.83 15.46 12H14M6 2C5.47 2 4.96 2.21 4.59 2.59C4.21 2.96 4 3.47 4 4V20C4 20.53 4.21 21.04 4.59 21.41C4.96 21.79 5.47 22 6 22H13.8C13.29 21.12 13 20.09 13 19H7V17H13.34C14.17 14.67 16.39 13 19 13C19.34 13 19.68 13.03 20 13.08V4C20 3.47 19.79 2.96 19.41 2.59C19.04 2.21 18.53 2 18 2H6M12 5C13.33 5 14.6 5.53 15.54 6.46C16.47 7.4 17 8.67 17 10C17 11.33 16.47 12.6 15.54 13.54C14.6 14.47 13.33 15 12 15C10.67 15 9.4 14.47 8.46 13.54C7.53 12.6 7 11.33 7 10C7 8.67 7.53 7.4 8.46 6.46C9.4 5.53 10.67 5 12 5M15.46 16.88L16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88Z\";\r\nexport var mdiPasta = \"M4 16.5V8H3V7H4V6H3V5H4V4H3V3H9C9.5 3.03 9.95 3.24 10.34 3.63S10.95 4.5 11 5H21V6H11C10.95 6.53 10.73 7 10.34 7.43S9.5 8.05 9 8H7V15.05C7.05 15.05 7.13 15.04 7.24 15S7.44 15 7.5 15C8.06 15 8.7 15.14 9.42 15.42C9.83 14.5 10.53 13.68 11.53 13S13.53 12 14.53 12C16.06 12 17.36 12.53 18.42 13.59S20 15.95 20 17.5C20 17.55 20 17.64 20 17.77S19.97 17.97 19.97 18H3.14C3.27 17.5 3.55 17 4 16.5M6 15.23V8H5V15.7C5.5 15.45 5.81 15.3 6 15.23M9 7V6H7V7H9M9 4H7V5H9V4M5 4V5H6V4H5M5 6V7H6V6H5M2 19H22L20 21H4L2 19Z\";\r\nexport var mdiPatioHeater = \"M15 22H9V21H15V22M19 4L15 2H9L5 4H19M8 5L8.4 6H15.6L16 5H8M10 10H11V15C10.4 15 10 15.4 10 16V20H14V16C14 15.4 13.6 15 13 15V10H14L14.4 9H9.6L10 10M9.2 8H14.8L15.2 7H8.8L9.2 8Z\";\r\nexport var mdiPatreon = \"M14.82 2.41C18.78 2.41 22 5.65 22 9.62C22 13.58 18.78 16.8 14.82 16.8C10.85 16.8 7.61 13.58 7.61 9.62C7.61 5.65 10.85 2.41 14.82 2.41M2 21.6H5.5V2.41H2V21.6Z\";\r\nexport var mdiPause = \"M14,19H18V5H14M6,19H10V5H6V19Z\";\r\nexport var mdiPauseBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M11 16H9V8H11V16M15 16H13V8H15V16Z\";\r\nexport var mdiPauseBoxOutline = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M19 19H5V5H19V19M13 16V8H15V16H13M9 16V8H11V16H9\";\r\nexport var mdiPauseCircle = \"M15,16H13V8H15M11,16H9V8H11M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiPauseCircleOutline = \"M13,16V8H15V16H13M9,16V8H11V16H9M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiPauseOctagon = \"M15.73,3L21,8.27V15.73L15.73,21H8.27L3,15.73V8.27L8.27,3H15.73M15,16V8H13V16H15M11,16V8H9V16H11Z\";\r\nexport var mdiPauseOctagonOutline = \"M15,16H13V8H15V16M11,16H9V8H11V16M15.73,3L21,8.27V15.73L15.73,21H8.27L3,15.73V8.27L8.27,3H15.73M14.9,5H9.1L5,9.1V14.9L9.1,19H14.9L19,14.9V9.1L14.9,5Z\";\r\nexport var mdiPaw = \"M8.35,3C9.53,2.83 10.78,4.12 11.14,5.9C11.5,7.67 10.85,9.25 9.67,9.43C8.5,9.61 7.24,8.32 6.87,6.54C6.5,4.77 7.17,3.19 8.35,3M15.5,3C16.69,3.19 17.35,4.77 17,6.54C16.62,8.32 15.37,9.61 14.19,9.43C13,9.25 12.35,7.67 12.72,5.9C13.08,4.12 14.33,2.83 15.5,3M3,7.6C4.14,7.11 5.69,8 6.5,9.55C7.26,11.13 7,12.79 5.87,13.28C4.74,13.77 3.2,12.89 2.41,11.32C1.62,9.75 1.9,8.08 3,7.6M21,7.6C22.1,8.08 22.38,9.75 21.59,11.32C20.8,12.89 19.26,13.77 18.13,13.28C17,12.79 16.74,11.13 17.5,9.55C18.31,8 19.86,7.11 21,7.6M19.33,18.38C19.37,19.32 18.65,20.36 17.79,20.75C16,21.57 13.88,19.87 11.89,19.87C9.9,19.87 7.76,21.64 6,20.75C5,20.26 4.31,18.96 4.44,17.88C4.62,16.39 6.41,15.59 7.47,14.5C8.88,13.09 9.88,10.44 11.89,10.44C13.89,10.44 14.95,13.05 16.3,14.5C17.41,15.72 19.26,16.75 19.33,18.38Z\";\r\nexport var mdiPawOff = \"M2,4.27L3.28,3L21.5,21.22L20.23,22.5L18.23,20.5C18.09,20.6 17.94,20.68 17.79,20.75C16,21.57 13.88,19.87 11.89,19.87C9.9,19.87 7.76,21.64 6,20.75C5,20.26 4.31,18.96 4.44,17.88C4.62,16.39 6.41,15.59 7.47,14.5C8.21,13.77 8.84,12.69 9.55,11.82L2,4.27M8.35,3C9.53,2.83 10.78,4.12 11.14,5.9C11.32,6.75 11.26,7.56 11,8.19L7.03,4.2C7.29,3.55 7.75,3.1 8.35,3M15.5,3C16.69,3.19 17.35,4.77 17,6.54C16.62,8.32 15.37,9.61 14.19,9.43C13,9.25 12.35,7.67 12.72,5.9C13.08,4.12 14.33,2.83 15.5,3M3,7.6C4.14,7.11 5.69,8 6.5,9.55C7.26,11.13 7,12.79 5.87,13.28C4.74,13.77 3.2,12.89 2.41,11.32C1.62,9.75 1.9,8.08 3,7.6M21,7.6C22.1,8.08 22.38,9.75 21.59,11.32C20.8,12.89 19.26,13.77 18.13,13.28C17,12.79 16.74,11.13 17.5,9.55C18.31,8 19.86,7.11 21,7.6Z\";\r\nexport var mdiPawOffOutline = \"M22.83 8.25C22.56 7.5 22.05 6.96 21.39 6.68C20.22 6.18 18.8 6.6 17.7 7.66C17.81 7.37 17.91 7.06 18 6.73C18.25 5.38 18 4.03 17.38 3.12C16.95 2.5 16.33 2.11 15.64 2C14.1 1.78 12.57 3.08 11.93 5C11.28 3.05 9.74 1.76 8.19 2C7.5 2.12 6.88 2.53 6.45 3.16C6.44 3.18 6.43 3.2 6.42 3.22L7.91 4.71C7.96 4.54 8 4.4 8.1 4.29C8.22 4.12 8.36 4 8.5 4C9 3.91 9.88 4.69 10.16 6.1C10.23 6.44 10.24 6.75 10.22 7L11.88 8.68C11.89 8.65 11.91 8.62 11.93 8.58C11.97 8.69 12.04 8.78 12.09 8.89L13.43 10.23C13.63 10.32 13.83 10.39 14.04 10.42C14.16 10.44 14.29 10.45 14.41 10.45C15.13 10.45 15.83 10.12 16.43 9.57C16 10.64 15.96 11.73 16.29 12.63C16.56 13.35 17.07 13.91 17.73 14.2C18.07 14.34 18.43 14.41 18.8 14.41C20.18 14.41 21.66 13.4 22.5 11.77C23.08 10.58 23.21 9.3 22.83 8.25M16 6.33C15.72 7.73 14.83 8.5 14.34 8.44C14.28 8.43 14.12 8.41 13.94 8.15C13.69 7.79 13.5 7.07 13.7 6.1C13.97 4.76 14.8 4 15.29 4C15.31 4 15.34 4 15.36 4C15.5 4 15.63 4.11 15.75 4.27C16.07 4.73 16.18 5.54 16 6.33M20.7 10.87C20.12 12 19.08 12.6 18.53 12.36C18.47 12.34 18.28 12.26 18.16 11.93C18 11.43 18.07 10.68 18.39 10C18.9 9.04 19.74 8.47 20.33 8.47C20.43 8.47 20.5 8.5 20.6 8.5H20.6C20.75 8.58 20.87 8.72 20.95 8.94C21.09 9.34 21.1 10.06 20.7 10.87M1.11 3L4.8 6.69C4.06 6.41 3.29 6.39 2.6 6.68C1.94 6.97 1.43 7.53 1.17 8.27C.793 9.31 .919 10.58 1.5 11.77C2.34 13.4 3.82 14.41 5.21 14.41C5.57 14.41 5.93 14.34 6.27 14.2C6.93 13.91 7.44 13.35 7.71 12.63C8 11.79 8 10.77 7.64 9.76C7.83 9.91 8.04 10.03 8.24 10.13L9.73 11.62C8.94 12.5 8.27 13.7 7.47 14.5C6.41 15.59 4.62 16.39 4.44 17.88C4.31 18.96 5 20.26 6 20.75C6.35 20.93 6.72 21 7.1 21C8.61 21 10.3 19.87 11.89 19.87C13.5 19.87 15.18 20.97 16.71 20.97C17.08 20.97 17.44 20.91 17.79 20.75C18 20.65 18.23 20.5 18.43 20.32L20.84 22.73L22.11 21.46L2.39 1.73L1.11 3M11.15 13.04L17 18.9C17 18.91 16.97 18.92 16.96 18.93C16.92 18.95 16.85 18.97 16.71 18.97C16.28 18.97 15.63 18.75 15 18.54C14.08 18.23 13.03 17.87 11.89 17.87C10.75 17.87 9.7 18.24 8.78 18.56C8.15 18.77 7.5 19 7.1 19C6.97 19 6.92 19 6.88 18.95C6.66 18.84 6.4 18.37 6.43 18.12C6.5 17.89 7.23 17.31 7.59 17C8.03 16.68 8.5 16.33 8.89 15.91C9.44 15.36 9.89 14.73 10.33 14.12C10.55 13.8 10.86 13.38 11.15 13.04M5.6 10C5.93 10.68 6 11.43 5.84 11.93C5.71 12.26 5.53 12.34 5.47 12.36C4.92 12.6 3.88 12 3.3 10.87C2.9 10.06 2.91 9.35 3.05 8.94C3.13 8.73 3.25 8.58 3.4 8.5C3.5 8.5 3.57 8.46 3.68 8.46C4.26 8.46 5.1 9.03 5.6 10Z\";\r\nexport var mdiPawOutline = \"M22.83 8.25C22.56 7.5 22.05 6.96 21.4 6.68C20.23 6.18 18.81 6.6 17.7 7.66C17.81 7.37 17.91 7.06 18 6.73C18.25 5.38 18.03 4.03 17.38 3.12C16.95 2.5 16.33 2.11 15.64 2C14.1 1.78 12.57 3.08 11.93 5C11.29 3.05 9.74 1.76 8.19 2C7.5 2.12 6.88 2.53 6.45 3.16C5.81 4.09 5.61 5.39 5.89 6.74C5.94 7 6 7.24 6.09 7.47C5 6.56 3.7 6.2 2.6 6.68C1.94 6.97 1.44 7.53 1.17 8.27C.794 9.31 .92 10.58 1.5 11.77C2.34 13.4 3.82 14.41 5.21 14.41C5.57 14.41 5.93 14.34 6.27 14.2C6.93 13.91 7.44 13.35 7.71 12.63C8.03 11.79 8 10.77 7.64 9.76C8.19 10.19 8.81 10.45 9.45 10.45C9.57 10.45 9.7 10.44 9.82 10.42C10.5 10.32 11.12 9.92 11.55 9.3C11.7 9.08 11.83 8.84 11.93 8.58C12.03 8.84 12.15 9.08 12.3 9.29C12.73 9.91 13.35 10.31 14.04 10.42C14.16 10.44 14.29 10.45 14.41 10.45C15.13 10.45 15.83 10.12 16.43 9.57C16 10.64 15.96 11.73 16.29 12.63C16.56 13.36 17.07 13.91 17.73 14.2C18.07 14.34 18.43 14.41 18.8 14.41C20.18 14.41 21.66 13.4 22.5 11.77C23.08 10.58 23.21 9.3 22.83 8.25M5.84 11.93C5.72 12.26 5.53 12.34 5.47 12.36C4.92 12.6 3.88 12 3.3 10.87C2.9 10.06 2.91 9.35 3.05 8.94C3.13 8.73 3.25 8.58 3.4 8.5C3.5 8.5 3.58 8.46 3.68 8.46C4.26 8.46 5.1 9.03 5.6 10C5.93 10.68 6.03 11.43 5.84 11.93M9.91 8.16C9.79 8.32 9.66 8.42 9.5 8.44C9 8.5 8.14 7.73 7.85 6.34C7.65 5.38 7.85 4.66 8.1 4.29C8.22 4.12 8.36 4 8.5 4C9 3.91 9.88 4.69 10.16 6.1C10.36 7.07 10.16 7.8 9.91 8.16M16 6.33C15.72 7.73 14.83 8.5 14.34 8.44C14.28 8.43 14.12 8.41 13.94 8.15C13.69 7.79 13.5 7.07 13.7 6.1C13.97 4.76 14.8 4 15.29 4C15.32 4 15.34 4 15.36 4C15.5 4 15.63 4.11 15.75 4.27C16.07 4.73 16.18 5.54 16 6.33M20.7 10.87C20.12 12 19.08 12.6 18.53 12.36C18.47 12.34 18.28 12.26 18.16 11.93C18 11.43 18.07 10.68 18.39 10C18.9 9.04 19.75 8.47 20.33 8.47C20.43 8.47 20.5 8.5 20.6 8.5H20.61C20.76 8.58 20.87 8.72 20.95 8.94C21.1 9.34 21.11 10.06 20.7 10.87M16.3 14.5C14.95 13.05 13.89 10.44 11.89 10.44C9.88 10.44 8.88 13.09 7.47 14.5C6.41 15.59 4.62 16.39 4.44 17.88C4.31 18.96 5 20.26 6 20.75C6.35 20.93 6.72 21 7.1 21C8.61 21 10.3 19.87 11.89 19.87C13.5 19.87 15.18 20.97 16.71 20.97C17.08 20.97 17.44 20.91 17.79 20.75C18.65 20.36 19.37 19.32 19.33 18.38C19.26 16.75 17.41 15.72 16.3 14.5M16.96 18.93C16.92 18.95 16.85 18.97 16.71 18.97C16.29 18.97 15.63 18.75 15 18.54C14.08 18.23 13.03 17.87 11.89 17.87C10.75 17.87 9.7 18.24 8.78 18.56C8.15 18.77 7.5 19 7.1 19C6.97 19 6.92 19 6.88 18.95C6.66 18.84 6.4 18.37 6.43 18.12C6.5 17.89 7.23 17.31 7.59 17C8.03 16.68 8.5 16.33 8.89 15.91C9.44 15.36 9.89 14.73 10.33 14.12C10.78 13.5 11.53 12.44 11.89 12.44C12.29 12.44 13.08 13.56 13.56 14.22C13.95 14.78 14.36 15.35 14.82 15.85C15.21 16.27 15.62 16.64 16 17C16.54 17.45 17.32 18.14 17.33 18.44C17.32 18.58 17.12 18.86 16.96 18.93Z\";\r\nexport var mdiPeace = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M11,14.41V19.93C9.58,19.75 8.23,19.19 7.1,18.31L11,14.41M13,14.41L16.9,18.31C15.77,19.19 14.42,19.75 13,19.93V14.41M4,12C4,7.97 7,4.57 11,4.07V11.59L5.69,16.9C4.59,15.5 4,13.78 4,12M18.31,16.9L13,11.59V4.07C17,4.57 20,7.97 20,12C20,13.78 19.41,15.5 18.31,16.9Z\";\r\nexport var mdiPeanut = \"M16 12.77A2 2 0 0 1 15.86 10.12A5 5 0 0 0 13.04 2.12A5.74 5.74 0 0 0 12 2A5 5 0 0 0 7 7A5 5 0 0 0 8.11 10.12A2 2 0 0 1 8 12.72A5.5 5.5 0 0 0 10.81 21.87A5.42 5.42 0 0 0 12 22A5.5 5.5 0 0 0 16 12.77M13 5A1 1 0 1 1 12 6A1 1 0 0 1 13 5M11 18A1 1 0 1 1 12 17A1 1 0 0 1 11 18M12 15A1 1 0 1 1 13 16A1 1 0 0 1 12 15M14 19A1 1 0 1 1 15 18A1 1 0 0 1 14 19Z\";\r\nexport var mdiPeanutOff = \"M15.9 10.12A5 5 0 0 0 13.08 2.12A5.74 5.74 0 0 0 12 2A5 5 0 0 0 7.68 4.5L16.38 13.18A4.35 4.35 0 0 0 16.04 12.77A2 2 0 0 1 15.9 10.12M13 7A1 1 0 1 1 14 6A1 1 0 0 1 13 7M7 6.39L2.39 1.73L1.11 3L7.8 9.69C7.9 9.84 8 10 8.11 10.12A2 2 0 0 1 8 12.72A5.5 5.5 0 0 0 10.81 21.87A5.42 5.42 0 0 0 12 22A5.5 5.5 0 0 0 17 18.86L20.87 22.73L22.14 21.46M11 18A1 1 0 1 1 12 17A1 1 0 0 1 11 18M14 19A1 1 0 1 1 15 18A1 1 0 0 1 14 19M13 16A1 1 0 0 1 12 15A1 1 0 0 1 12.35 14.24L13.76 15.65A1 1 0 0 1 13 16Z\";\r\nexport var mdiPeanutOffOutline = \"M22.11 21.46L20.84 22.73L17.69 19.58C17.36 20.21 16.93 20.77 16.41 21.25C14.86 22.71 12.69 23.31 10.61 22.85C7.1 22.1 4.87 18.64 5.62 15.13C5.87 13.95 6.45 12.87 7.28 12C7.62 11.64 7.62 11.08 7.28 10.72C6.63 9.91 6.21 8.95 6.04 7.93L1.11 3L2.39 1.73L22.11 21.46M15.3 19.56C15.69 19.13 16 18.63 16.19 18.08L13.75 15.64C13.57 15.87 13.29 16 13 16C12.45 16 12 15.55 12 15C12 14.71 12.13 14.43 12.36 14.25L9.55 11.44C9.53 12.18 9.24 12.88 8.73 13.41C7.03 15.22 7.13 18.07 8.94 19.77L8.95 19.78C10.76 21.47 13.61 21.37 15.3 19.56M14 17C12.71 17 12.72 19 14 19C15.28 19 15.29 17 14 17M6.9 3.7L8.43 5.23C8.68 4.71 9.05 4.25 9.5 3.89C10.2 3.31 11.09 3 12 3H12.88C13.47 3.14 14 3.41 14.5 3.79C16.22 5.17 16.5 7.69 15.12 9.41C14.7 9.93 14.46 10.58 14.45 11.25L18.32 15.12C18.07 13.97 17.5 12.92 16.72 12.06C16.37 11.7 16.33 11.13 16.62 10.72C16.62 10.72 18 9 18 7S15.97.997 12 .997 6.9 3.7 6.9 3.7M12 17C12 15.71 10 15.72 10 17C10 18.28 12 18.29 12 17M13 5C11.71 5 11.72 7 13 7C14.28 7 14.29 5 13 5Z\";\r\nexport var mdiPeanutOutline = \"M12 23C11.53 23 11.07 22.95 10.61 22.85C7.1 22.1 4.87 18.64 5.62 15.13C5.87 13.95 6.45 12.87 7.28 12C7.62 11.64 7.62 11.08 7.28 10.72C5.2 8.14 5.6 4.36 8.18 2.28S14.54.607 16.62 3.19C18.39 5.38 18.39 8.5 16.62 10.72C16.33 11.13 16.37 11.7 16.72 12.06C19.17 14.68 19.04 18.8 16.41 21.25C15.22 22.37 13.64 23 12 23M12 3C11.09 3 10.2 3.31 9.5 3.89C8.55 4.65 8 5.79 8 7C8 7.91 8.31 8.79 8.88 9.5C9.84 10.64 9.77 12.33 8.73 13.41C7.03 15.22 7.13 18.07 8.94 19.77S13.6 21.38 15.3 19.56C16.92 17.83 16.92 15.14 15.3 13.41C14.23 12.32 14.15 10.6 15.12 9.41C16.5 7.69 16.22 5.17 14.5 3.79C14 3.41 13.47 3.14 12.88 3C12.59 3 12.29 3 12 3M12 6C12 6.55 12.45 7 13 7S14 6.55 14 6 13.55 5 13 5 12 5.45 12 6M14 19C14.55 19 15 18.55 15 18S14.55 17 14 17 13 17.45 13 18 13.45 19 14 19M13 16C13.55 16 14 15.55 14 15S13.55 14 13 14 12 14.45 12 15 12.45 16 13 16M11 18C11.55 18 12 17.55 12 17S11.55 16 11 16 10 16.45 10 17 10.45 18 11 18Z\";\r\nexport var mdiPen = \"M20.71,7.04C20.37,7.38 20.04,7.71 20.03,8.04C20,8.36 20.34,8.69 20.66,9C21.14,9.5 21.61,9.95 21.59,10.44C21.57,10.93 21.06,11.44 20.55,11.94L16.42,16.08L15,14.66L19.25,10.42L18.29,9.46L16.87,10.87L13.12,7.12L16.96,3.29C17.35,2.9 18,2.9 18.37,3.29L20.71,5.63C21.1,6 21.1,6.65 20.71,7.04M3,17.25L12.56,7.68L16.31,11.43L6.75,21H3V17.25Z\";\r\nexport var mdiPenLock = \"M21.7,7C21.4,7.4 21,7.7 21,8C21,8.3 21.3,8.6 21.6,9C22.1,9.5 22.6,9.9 22.5,10.4C22.5,10.9 22,11.4 21.5,11.9L17.4,16L16,14.7L20.2,10.5L19.2,9.5L17.8,10.9L14,7.1L18,3.3C18.4,2.9 19,2.9 19.4,3.3L21.7,5.6C22.1,6 22.1,6.7 21.7,7M4,17.2L13.6,7.6L17.3,11.4L7.8,21H4V17.2M8,5V4.5C8,3.1 6.9,2 5.5,2C4.1,2 3,3.1 3,4.5V5C2.4,5 2,5.4 2,6V10C2,10.6 2.4,11 3,11H8C8.6,11 9,10.6 9,10V6C9,5.4 8.6,5 8,5M7,5H4V4.5C4,3.7 4.7,3 5.5,3C6.3,3 7,3.7 7,4.5V5Z\";\r\nexport var mdiPenMinus = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M10,5V7H2V5H10Z\";\r\nexport var mdiPenOff = \"M2.3,5L1,6.3L7.5,12.8L3,17.2V21H6.8L11.3,16.5L17.8,23L19.1,21.7L2.3,5M16.9,10.9L13.1,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.6 20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.7 20.6,9C21.1,9.5 21.6,10 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.9,10.9M10,10.2L12.5,7.7L16.3,11.5L13.8,14L10,10.2Z\";\r\nexport var mdiPenPlus = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\r\nexport var mdiPenRemove = \"M20.7,7C20.4,7.4 20,7.7 20,8C20,8.3 20.3,8.6 20.6,9C21.1,9.5 21.6,9.9 21.5,10.4C21.5,10.9 21,11.4 20.5,11.9L16.4,16L15,14.7L19.2,10.5L18.2,9.5L16.8,10.9L13,7.1L17,3.3C17.4,2.9 18,2.9 18.4,3.3L20.7,5.6C21.1,6 21.1,6.7 20.7,7M3,17.2L12.6,7.6L16.3,11.4L6.8,21H3V17.2M3.88,2.46L6,4.59L8.12,2.46L9.54,3.88L7.41,6L9.54,8.12L8.12,9.54L6,7.41L3.88,9.54L2.46,8.12L4.59,6L2.46,3.88L3.88,2.46Z\";\r\nexport var mdiPencil = \"M20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18,2.9 17.35,2.9 16.96,3.29L15.12,5.12L18.87,8.87M3,17.25V21H6.75L17.81,9.93L14.06,6.18L3,17.25Z\";\r\nexport var mdiPencilBox = \"M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M16.7,9.35C16.92,9.14 16.92,8.79 16.7,8.58L15.42,7.3C15.21,7.08 14.86,7.08 14.65,7.3L13.65,8.3L15.7,10.35L16.7,9.35M7,14.94V17H9.06L15.12,10.94L13.06,8.88L7,14.94Z\";\r\nexport var mdiPencilBoxMultiple = \"M20.22 2H7.78C6.8 2 6 2.8 6 3.78V16.22C6 17.2 6.8 18 7.78 18H20.22C21.2 18 22 17.21 22 16.22V3.78C22 2.8 21.2 2 20.22 2M11.06 15H9V12.94L15.06 6.88L17.12 8.94L11.06 15M18.7 7.35L17.7 8.35L15.65 6.3L16.65 5.3C16.86 5.08 17.21 5.08 17.42 5.3L18.7 6.58C18.92 6.79 18.92 7.14 18.7 7.35M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiPencilBoxMultipleOutline = \"M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6M18.7 7.35L17.7 8.35L15.65 6.3L16.65 5.3C16.86 5.08 17.21 5.08 17.42 5.3L18.7 6.58C18.92 6.79 18.92 7.14 18.7 7.35M9 12.94L15.06 6.88L17.12 8.94L11.06 15H9V12.94M20 4L20 4L20 16L8 16L8 4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2Z\";\r\nexport var mdiPencilBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M16.7,9.35L15.7,10.35L13.65,8.3L14.65,7.3C14.86,7.08 15.21,7.08 15.42,7.3L16.7,8.58C16.92,8.79 16.92,9.14 16.7,9.35M7,14.94L13.06,8.88L15.12,10.94L9.06,17H7V14.94Z\";\r\nexport var mdiPencilCircle = \"M12,2C6.47,2 2,6.47 2,12C2,17.53 6.47,22 12,22C17.53,22 22,17.53 22,12C22,6.47 17.53,2 12,2M15.1,7.07C15.24,7.07 15.38,7.12 15.5,7.23L16.77,8.5C17,8.72 17,9.07 16.77,9.28L15.77,10.28L13.72,8.23L14.72,7.23C14.82,7.12 14.96,7.07 15.1,7.07M13.13,8.81L15.19,10.87L9.13,16.93H7.07V14.87L13.13,8.81Z\";\r\nexport var mdiPencilCircleOutline = \"M7,14.94L13.06,8.88L15.12,10.94L9.06,17H7V14.94M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M16.7,9.35L15.7,10.35L13.65,8.3L14.65,7.3C14.86,7.08 15.21,7.08 15.42,7.3L16.7,8.58C16.92,8.79 16.92,9.14 16.7,9.35M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2\";\r\nexport var mdiPencilLock = \"M5.5,2A2.5,2.5 0 0,0 3,4.5V5A1,1 0 0,0 2,6V10A1,1 0 0,0 3,11H8A1,1 0 0,0 9,10V6A1,1 0 0,0 8,5V4.5A2.5,2.5 0 0,0 5.5,2M5.5,3A1.5,1.5 0 0,1 7,4.5V5H4V4.5A1.5,1.5 0 0,1 5.5,3M19.66,3C19.4,3 19.16,3.09 18.97,3.28L17.13,5.13L20.88,8.88L22.72,7.03C23.11,6.64 23.11,6 22.72,5.63L20.38,3.28C20.18,3.09 19.91,3 19.66,3M16.06,6.19L5,17.25V21H8.75L19.81,9.94L16.06,6.19Z\";\r\nexport var mdiPencilLockOutline = \"M16.1,9L17,9.9L7.9,19H7V18.1L16.1,9M19.7,3C19.5,3 19.2,3.1 19,3.3L17.2,5.1L20.9,8.9L22.7,7C23.1,6.6 23.1,6 22.7,5.6L20.4,3.3C20.2,3.1 19.9,3 19.7,3M16.1,6.2L5,17.2V21H8.8L19.8,9.9L16.1,6.2M8,5V4.5C8,3.1 6.9,2 5.5,2C4.1,2 3,3.1 3,4.5V5C2.4,5 2,5.4 2,6V10C2,10.6 2.4,11 3,11H8C8.6,11 9,10.6 9,10V6C9,5.4 8.6,5 8,5M7,5H4V4.5C4,3.7 4.7,3 5.5,3C6.3,3 7,3.7 7,4.5V5Z\";\r\nexport var mdiPencilMinus = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M10,5V7H2V5H10Z\";\r\nexport var mdiPencilMinusOutline = \"M14.1,9L15,9.9L5.9,19H5V18.1L14.1,9M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M10,5V7H2V5H10Z\";\r\nexport var mdiPencilOff = \"M18.66,2C18.4,2 18.16,2.09 17.97,2.28L16.13,4.13L19.88,7.88L21.72,6.03C22.11,5.64 22.11,5 21.72,4.63L19.38,2.28C19.18,2.09 18.91,2 18.66,2M3.28,4L2,5.28L8.5,11.75L4,16.25V20H7.75L12.25,15.5L18.72,22L20,20.72L13.5,14.25L9.75,10.5L3.28,4M15.06,5.19L11.03,9.22L14.78,12.97L18.81,8.94L15.06,5.19Z\";\r\nexport var mdiPencilOffOutline = \"M10,10.2L14,6.2L17.8,10L13.8,14L12.4,12.6L15,9.9L14.1,9L11.5,11.6L10,10.2M20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L19,8.9L20.7,7C21.1,6.7 21.1,6 20.7,5.6M19,21.7L17.7,23L11.2,16.5L6.8,21H3V17.2L7.5,12.7L1,6.3L2.3,5L19,21.7M9.8,15.1L8.9,14.2L5,18.1V19H5.9L9.8,15.1Z\";\r\nexport var mdiPencilOutline = \"M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z\";\r\nexport var mdiPencilPlus = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\r\nexport var mdiPencilPlusOutline = \"M14.1,9L15,9.9L5.9,19H5V18.1L14.1,9M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M7,2V5H10V7H7V10H5V7H2V5H5V2H7Z\";\r\nexport var mdiPencilRemove = \"M20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18,2.9 17.4,2.9 17,3.3L15.2,5.1L19,8.9M3,17.2V21H6.8L17.8,9.9L14.1,6.1L3,17.2M3.9,2.4L6,4.5L8.1,2.4L9.5,3.8L7.4,5.9L9.5,8L8.1,9.5L6,7.4L3.9,9.5L2.5,8.1L4.6,6L2.5,3.8L3.9,2.4Z\";\r\nexport var mdiPencilRemoveOutline = \"M17.7,3C17.5,3 17.2,3.1 17,3.3L15.2,5.1L18.9,8.9L20.7,7C21.1,6.6 21.1,6 20.7,5.6L18.4,3.3C18.2,3.1 17.9,3 17.7,3M14.1,6.2L3,17.2V21H6.8L17.8,9.9L14.1,6.2M5.9,19H5V18.1L14.1,9L15,9.9L5.9,19M3.9,2.5L6,4.6L8.1,2.5L9.5,3.9L7.4,6L9.5,8.1L8.1,9.5L6,7.4L3.9,9.5L2.5,8.1L4.6,6L2.5,3.9L3.9,2.5Z\";\r\nexport var mdiPencilRuler = \"M3 17.25V21H6.75L17.81 9.93L14.06 6.18L3 17.25M22.61 18.36L18.36 22.61L13.16 17.41L14.93 15.64L15.93 16.64L18.4 14.16L19.82 15.58L18.36 17L19.42 18L20.84 16.6L22.61 18.36M6.61 10.83L1.39 5.64L5.64 1.39L7.4 3.16L4.93 5.64L6 6.7L8.46 4.22L9.88 5.64L8.46 7.05L9.46 8.05L6.61 10.83M20.71 7C21.1 6.61 21.1 6 20.71 5.59L18.37 3.29C18 2.9 17.35 2.9 16.96 3.29L15.12 5.12L18.87 8.87L20.71 7Z\";\r\nexport var mdiPencilRulerOutline = \"M22.61 18.36L18.36 22.61L13.16 17.41L14.93 15.64L15.93 16.64L18.4 14.16L19.82 15.58L18.36 17L19.42 18L20.84 16.6L22.61 18.36M6.61 10.83L1.39 5.64L5.64 1.39L7.4 3.16L4.93 5.64L6 6.7L8.46 4.22L9.88 5.64L8.46 7.05L9.46 8.05L6.61 10.83M14.06 9L15 9.93L5.92 19H5V18.08L14.06 9M17.67 3C17.42 3 17.16 3.09 16.96 3.29L15.12 5.12L18.87 8.87L20.71 7C21.1 6.61 21.1 6 20.71 5.59L18.37 3.29C18.18 3.1 17.93 3 17.67 3M14.06 6.18L3 17.25V21H6.75L17.81 9.93L14.06 6.18Z\";\r\nexport var mdiPenguin = \"M19,16C19,17.72 18.37,19.3 17.34,20.5C17.75,20.89 18,21.41 18,22H6C6,21.41 6.25,20.89 6.66,20.5C5.63,19.3 5,17.72 5,16H3C3,14.75 3.57,13.64 4.46,12.91L4.47,12.89C6,11.81 7,10 7,8V7A5,5 0 0,1 12,2A5,5 0 0,1 17,7V8C17,10 18,11.81 19.53,12.89L19.54,12.91C20.43,13.64 21,14.75 21,16H19M16,16A4,4 0 0,0 12,12A4,4 0 0,0 8,16A4,4 0 0,0 12,20A4,4 0 0,0 16,16M10,9L12,10.5L14,9L12,7.5L10,9M10,5A1,1 0 0,0 9,6A1,1 0 0,0 10,7A1,1 0 0,0 11,6A1,1 0 0,0 10,5M14,5A1,1 0 0,0 13,6A1,1 0 0,0 14,7A1,1 0 0,0 15,6A1,1 0 0,0 14,5Z\";\r\nexport var mdiPentagon = \"M12,2.5L2,9.8L5.8,21.5H18.2L22,9.8L12,2.5Z\";\r\nexport var mdiPentagonOutline = \"M12,5L19.6,10.5L16.7,19.4H7.3L4.4,10.5L12,5M12,2.5L2,9.8L5.8,21.5H18.1L22,9.8L12,2.5Z\";\r\nexport var mdiPentagram = \"M16.15 14.4L18.71 22.26L12 17.4L5.28 22.3L7.85 14.37L1.15 9.5H9.44L12 1.61L14.56 9.5H22.89L16.15 14.4M13.3 16.47L15.86 18.33L14.88 15.32L13.3 16.47M11 9.5H13L12 6.47L11 9.5M10.74 16.47L9.13 15.3L8.13 18.37L10.74 16.47M18.28 11H15.05L15.67 12.9L18.28 11M10.53 11L9.62 13.8L12 15.54L14.39 13.82L13.47 11H10.53M5.76 11L8.34 12.87L8.95 11H5.76Z\";\r\nexport var mdiPercent = \"M18.5,3.5L3.5,18.5L5.5,20.5L20.5,5.5M7,4A3,3 0 0,0 4,7A3,3 0 0,0 7,10A3,3 0 0,0 10,7A3,3 0 0,0 7,4M17,14A3,3 0 0,0 14,17A3,3 0 0,0 17,20A3,3 0 0,0 20,17A3,3 0 0,0 17,14Z\";\r\nexport var mdiPercentBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05M15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22C17 16.2 16.2 17 15.22 17M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03Z\";\r\nexport var mdiPercentBoxOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.1 3 19 3M19 19H5V5H19V19M17 15.22C17 16.2 16.2 17 15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03M7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83Z\";\r\nexport var mdiPercentCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M8.83 7.05C9.81 7.05 10.6 7.84 10.6 8.83C10.6 9.81 9.81 10.6 8.83 10.6C7.84 10.6 7.05 9.81 7.05 8.83C7.05 7.84 7.84 7.05 8.83 7.05M15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22C17 16.2 16.2 17 15.22 17M8.5 17.03L7 15.53L15.53 7L17.03 8.5L8.5 17.03Z\";\r\nexport var mdiPercentCircleOutline = \"M17 15.22C17 16.2 16.2 17 15.22 17C14.24 17 13.45 16.2 13.45 15.22C13.45 14.24 14.24 13.45 15.22 13.45C16.2 13.45 17 14.24 17 15.22M8.83 10.6C9.81 10.6 10.6 9.81 10.6 8.83C10.6 7.84 9.81 7.05 8.83 7.05C7.84 7.05 7.05 7.84 7.05 8.83C7.05 9.81 7.84 10.6 8.83 10.6M7 15.53L8.5 17.03L17.03 8.5L15.53 7L7 15.53M22 12C22 17.5 17.5 22 12 22C6.5 22 2 17.5 2 12C2 6.5 6.5 2 12 2C17.5 2 22 6.5 22 12M20 12C20 7.59 16.41 4 12 4C7.59 4 4 7.59 4 12C4 16.41 7.59 20 12 20C16.41 20 20 16.41 20 12Z\";\r\nexport var mdiPercentOutline = \"M18.5 3.5L20.5 5.5L5.5 20.5L3.5 18.5L18.5 3.5M7 4C8.66 4 10 5.34 10 7C10 8.66 8.66 10 7 10C5.34 10 4 8.66 4 7C4 5.34 5.34 4 7 4M17 14C18.66 14 20 15.34 20 17C20 18.66 18.66 20 17 20C15.34 20 14 18.66 14 17C14 15.34 15.34 14 17 14M7 6C6.45 6 6 6.45 6 7C6 7.55 6.45 8 7 8C7.55 8 8 7.55 8 7C8 6.45 7.55 6 7 6M17 16C16.45 16 16 16.45 16 17C16 17.55 16.45 18 17 18C17.55 18 18 17.55 18 17C18 16.45 17.55 16 17 16Z\";\r\nexport var mdiPeriodicTable = \"M2,4V6H4V4H2M20,4V6H22V4H20M2,7V9H4V7H2M5,7V9H7V7H5M14,7V9H16V7H14M17,7V9H19V7H17M20,7V9H22V7H20M2,10V12H4V10H2M5,10V12H7V10H5M8,10V12H10V10H8M11,10V12H13V10H11M14,10V12H16V10H14M17,10V12H19V10H17M20,10V12H22V10H20M2,13V15H4V13H2M5,13V15H7V13H5M8,13V15H10V13H8M11,13V15H13V13H11M14,13V15H16V13H14M17,13V15H19V13H17M20,13V15H22V13H20M5,17V19H7V17H5M8,17V19H10V17H8M11,17V19H13V17H11M14,17V19H16V17H14M17,17V19H19V17H17Z\";\r\nexport var mdiPerspectiveLess = \"M16.56,12L19.23,20H4.78L7.44,12H16.56M7,1L3,5L7,9V6H11V4H7V1M17,1V4H13V6H17V9L21,5L17,1M18,10H6L2,22H22L18,10Z\";\r\nexport var mdiPerspectiveMore = \"M16.56,12L19.23,20H4.78L7.44,12H16.56M17,1L13,5L17,9V6H21V4H17V1M7,1V4H3V6H7V9L11,5L7,1M18,10H6L2,22H22L18,10Z\";\r\nexport var mdiPh = \"M13 7V17H15V13H17V17H19V7H17V11H15V7H13M11 15V13C11 11.9 10.11 11 9 11H5V21H7V17H9C10.11 17 11 16.11 11 15M9 15H7V13H9V15Z\";\r\nexport var mdiPhone = \"M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.25 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.59L6.62,10.79Z\";\r\nexport var mdiPhoneAlert = \"M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4C3,3.44 3.45,3 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.24 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.58L6.62,10.79M17,12V10H19V12H17M17,8V2H19V8H17Z\";\r\nexport var mdiPhoneAlertOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 12V10H19V12H17M17 8V2H19V8H17Z\";\r\nexport var mdiPhoneBluetooth = \"M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M18,7.21L18.94,8.14L18,9.08M18,2.91L18.94,3.85L18,4.79M14.71,9.5L17,7.21V11H17.5L20.35,8.14L18.21,6L20.35,3.85L17.5,1H17V4.79L14.71,2.5L14,3.21L16.79,6L14,8.79L14.71,9.5Z\";\r\nexport var mdiPhoneBluetoothOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M18 7.21L18.94 8.14L18 9.08M18 2.91L18.94 3.85L18 4.79M14.71 9.5L17 7.21V11H17.5L20.35 8.14L18.21 6L20.35 3.85L17.5 1H17V4.79L14.71 2.5L14 3.21L16.79 6L14 8.79L14.71 9.5Z\";\r\nexport var mdiPhoneCancel = \"M6.62 10.79C8.06 13.62 10.38 15.94 13.21 17.38L15.41 15.18C15.69 14.9 16.08 14.82 16.43 14.93C17.55 15.3 18.75 15.5 20 15.5C20.55 15.5 21 15.95 21 16.5V20C21 20.55 20.55 21 20 21C10.61 21 3 13.39 3 4C3 3.45 3.45 3 4 3H7.5C8.05 3 8.5 3.45 8.5 4C8.5 5.25 8.7 6.45 9.07 7.57C9.18 7.92 9.1 8.31 8.82 8.59L6.62 10.79M16.5 2C14 2 12 4 12 6.5S14 11 16.5 11 21 9 21 6.5 19 2 16.5 2M16.5 9.5C14.84 9.5 13.5 8.16 13.5 6.5C13.5 5.94 13.65 5.42 13.92 5L18 9.08C17.58 9.35 17.06 9.5 16.5 9.5M19.08 8L15 3.92C15.42 3.65 15.94 3.5 16.5 3.5C18.16 3.5 19.5 4.84 19.5 6.5C19.5 7.06 19.35 7.58 19.08 8Z\";\r\nexport var mdiPhoneCancelOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M16.5 2C14 2 12 4 12 6.5S14 11 16.5 11 21 9 21 6.5 19 2 16.5 2M16.5 9.5C14.84 9.5 13.5 8.16 13.5 6.5C13.5 5.94 13.65 5.42 13.92 5L18 9.08C17.58 9.35 17.06 9.5 16.5 9.5M19.08 8L15 3.92C15.42 3.65 15.94 3.5 16.5 3.5C18.16 3.5 19.5 4.84 19.5 6.5C19.5 7.06 19.35 7.58 19.08 8Z\";\r\nexport var mdiPhoneCheck = \"M6.62 10.79A15.1 15.1 0 0 0 13.21 17.38L15.41 15.18A1 1 0 0 1 16.41 14.93A11.36 11.36 0 0 0 20 15.5A1 1 0 0 1 21 16.5V20A1 1 0 0 1 20 21A17 17 0 0 1 3 4A1 1 0 0 1 4 3H7.5A1 1 0 0 1 8.5 4A11.36 11.36 0 0 0 9.07 7.57A1 1 0 0 1 8.82 8.57M21.71 4.71L20.29 3.29L15 8.59L12.71 6.29L11.29 7.71L15 11.41Z\";\r\nexport var mdiPhoneCheckOutline = \"M20 15.5A11.36 11.36 0 0 1 16.43 14.93A1 1 0 0 0 15.43 15.18L13.23 17.38A15.1 15.1 0 0 1 6.64 10.79L8.84 8.59A1 1 0 0 0 9.09 7.59A11.36 11.36 0 0 1 8.5 4A1 1 0 0 0 7.5 3H4A1 1 0 0 0 3 4A17 17 0 0 0 20 21A1 1 0 0 0 21 20V16.5A1 1 0 0 0 20 15.5M5 5H6.54A12.54 12.54 0 0 0 7 7.59L5.79 8.8A15 15 0 0 1 5 5M19 19A15 15 0 0 1 15.2 18.24L16.41 17A12.31 12.31 0 0 0 19 17.45M15 11.44L11.29 7.74L12.71 6.32L15 8.59L20.29 3.29L21.71 4.71Z\";\r\nexport var mdiPhoneClassic = \"M12,3C7.46,3 3.34,4.78 0.29,7.67C0.11,7.85 0,8.1 0,8.38C0,8.66 0.11,8.91 0.29,9.09L2.77,11.57C2.95,11.75 3.2,11.86 3.5,11.86C3.75,11.86 4,11.75 4.18,11.58C4.97,10.84 5.87,10.22 6.84,9.73C7.17,9.57 7.4,9.23 7.4,8.83V5.73C8.85,5.25 10.39,5 12,5C13.59,5 15.14,5.25 16.59,5.72V8.82C16.59,9.21 16.82,9.56 17.15,9.72C18.13,10.21 19,10.84 19.82,11.57C20,11.75 20.25,11.85 20.5,11.85C20.8,11.85 21.05,11.74 21.23,11.56L23.71,9.08C23.89,8.9 24,8.65 24,8.37C24,8.09 23.88,7.85 23.7,7.67C20.65,4.78 16.53,3 12,3M9,7V10C9,10 3,15 3,18V22H21V18C21,15 15,10 15,10V7H13V9H11V7H9M12,12A4,4 0 0,1 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12M12,13.5A2.5,2.5 0 0,0 9.5,16A2.5,2.5 0 0,0 12,18.5A2.5,2.5 0 0,0 14.5,16A2.5,2.5 0 0,0 12,13.5Z\";\r\nexport var mdiPhoneClassicOff = \"M12 3C16.53 3 20.65 4.78 23.7 7.67C23.88 7.85 24 8.09 24 8.37C24 8.65 23.89 8.9 23.71 9.08L21.23 11.56C21.05 11.74 20.8 11.85 20.5 11.85C20.25 11.85 20 11.75 19.82 11.57C19 10.84 18.13 10.21 17.15 9.72C16.82 9.56 16.59 9.21 16.59 8.82V5.72C15.14 5.25 13.59 5 12 5C10.44 5 8.93 5.24 7.5 5.69L5.94 4.11C7.82 3.4 9.86 3 12 3M9 7H11V9H13V7H15V10C15 10 21 15 21 18V19.18L9 7.18V7M1 4.27L2.28 3L21.5 22.22L20.23 23.5L18.73 22H3V18C3 15.86 6.05 12.71 7.8 11.07L6.59 9.86C5.71 10.33 4.9 10.9 4.18 11.58C4 11.75 3.75 11.86 3.5 11.86C3.2 11.86 2.95 11.75 2.77 11.57L.29 9.09C.11 8.91 0 8.66 0 8.38C0 8.1 .11 7.85 .29 7.67C.996 7 2.58 5.85 2.58 5.85L1 4.27M8 16C8 18.21 9.79 20 12 20C13.29 20 14.44 19.39 15.17 18.44L14.1 17.36C13.65 18.05 12.88 18.5 12 18.5C10.62 18.5 9.5 17.38 9.5 16C9.5 15.12 9.95 14.35 10.64 13.91L9.56 12.83C8.61 13.56 8 14.71 8 16Z\";\r\nexport var mdiPhoneClock = \"M15.9 1C12.1 1.1 9 4.2 9 8C9 11.9 12.1 15 16 15S23 11.9 23 8 19.9 1 15.9 1C16 1 15.9 1 15.9 1M16 3C18.8 3 21 5.2 21 8S18.8 13 16 13 11 10.8 11 8 13.2 3 16 3M15 4V9L18.6 11.2L19.4 10L16.5 8.3V4H15M4.6 12.8C6 15.6 8.4 18 11.2 19.4L13.4 17.2C13.7 16.9 14.1 16.8 14.4 17C15.5 17.4 16.7 17.6 18 17.6C18.5 17.6 19 18.1 19 18.6V22C19 22.5 18.5 23 18 23C8.6 23 1 15.4 1 6C1 5.4 1.5 5 2 5H5.5C6.1 5 6.5 5.4 6.5 6C6.5 7.2 6.7 8.4 7.1 9.6C7.2 10 7.1 10.3 6.9 10.6L4.6 12.8\";\r\nexport var mdiPhoneDial = \"M6.6 10.8C8 13.6 10.4 15.9 13.2 17.4L15.4 15.2C15.7 14.9 16.1 14.8 16.4 15C17.5 15.4 18.7 15.6 20 15.6C20.6 15.6 21 16 21 16.6V20C21 20.6 20.6 21 20 21C10.6 21 3 13.4 3 4C3 3.4 3.5 3 4 3H7.5C8.1 3 8.5 3.4 8.5 4C8.5 5.2 8.7 6.4 9.1 7.6C9.2 7.9 9.1 8.3 8.9 8.6L6.6 10.8M14 3C13.4 3 13 3.4 13 4S13.4 5 14 5 15 4.6 15 4 14.6 3 14 3M17 3C16.4 3 16 3.4 16 4S16.4 5 17 5 18 4.6 18 4 17.6 3 17 3M20 3C19.4 3 19 3.4 19 4S19.4 5 20 5 21 4.6 21 4 20.6 3 20 3M14 6C13.4 6 13 6.4 13 7S13.4 8 14 8 15 7.6 15 7 14.6 6 14 6M17 6C16.4 6 16 6.4 16 7S16.4 8 17 8 18 7.6 18 7 17.6 6 17 6M20 6C19.4 6 19 6.4 19 7S19.4 8 20 8 21 7.6 21 7 20.6 6 20 6M14 9C13.4 9 13 9.4 13 10S13.4 11 14 11 15 10.6 15 10 14.6 9 14 9M17 9C16.4 9 16 9.4 16 10S16.4 11 17 11 18 10.6 18 10 17.6 9 17 9M20 9C19.4 9 19 9.4 19 10S19.4 11 20 11 21 10.6 21 10 20.6 9 20 9Z\";\r\nexport var mdiPhoneDialOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 4C15 4.6 14.6 5 14 5S13 4.6 13 4 13.4 3 14 3 15 3.4 15 4M18 4C18 4.6 17.6 5 17 5S16 4.6 16 4 16.4 3 17 3 18 3.4 18 4M21 4C21 4.6 20.6 5 20 5S19 4.6 19 4 19.4 3 20 3 21 3.4 21 4M15 7C15 7.6 14.6 8 14 8S13 7.6 13 7 13.4 6 14 6 15 6.4 15 7M18 7C18 7.6 17.6 8 17 8S16 7.6 16 7 16.4 6 17 6 18 6.4 18 7M21 7C21 7.6 20.6 8 20 8S19 7.6 19 7 19.4 6 20 6 21 6.4 21 7M15 10C15 10.6 14.6 11 14 11S13 10.6 13 10 13.4 9 14 9 15 9.4 15 10M18 10C18 10.6 17.6 11 17 11S16 10.6 16 10 16.4 9 17 9 18 9.4 18 10M21 10C21 10.6 20.6 11 20 11S19 10.6 19 10 19.4 9 20 9 21 9.4 21 10Z\";\r\nexport var mdiPhoneForward = \"M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M18,11L23,6L18,1V4H14V8H18V11Z\";\r\nexport var mdiPhoneForwardOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M18 11L23 6L18 1V4H14V8H18V11Z\";\r\nexport var mdiPhoneHangup = \"M12,9C10.4,9 8.85,9.25 7.4,9.72V12.82C7.4,13.22 7.17,13.56 6.84,13.72C5.86,14.21 4.97,14.84 4.17,15.57C4,15.75 3.75,15.86 3.5,15.86C3.2,15.86 2.95,15.74 2.77,15.56L0.29,13.08C0.11,12.9 0,12.65 0,12.38C0,12.1 0.11,11.85 0.29,11.67C3.34,8.77 7.46,7 12,7C16.54,7 20.66,8.77 23.71,11.67C23.89,11.85 24,12.1 24,12.38C24,12.65 23.89,12.9 23.71,13.08L21.23,15.56C21.05,15.74 20.8,15.86 20.5,15.86C20.25,15.86 20,15.75 19.82,15.57C19.03,14.84 18.14,14.21 17.16,13.72C16.83,13.56 16.6,13.22 16.6,12.82V9.72C15.15,9.25 13.6,9 12,9Z\";\r\nexport var mdiPhoneHangupOutline = \"M23.71 11.67A17 17 0 0 0 .29 11.67A1 1 0 0 0 0 12.38A1 1 0 0 0 .29 13.08L2.77 15.56A1 1 0 0 0 3.5 15.85A1 1 0 0 0 4.18 15.57A11.5 11.5 0 0 1 6.84 13.72A1 1 0 0 0 7.4 12.82V9.72A14.91 14.91 0 0 1 12 9A14.5 14.5 0 0 1 16.59 9.73V12.83A1 1 0 0 0 17.15 13.73A11.27 11.27 0 0 1 19.82 15.58A1 1 0 0 0 20.5 15.86A1 1 0 0 0 21.23 15.57L23.71 13.09A1 1 0 0 0 23.71 11.67M5.4 12.22A13.68 13.68 0 0 0 3.53 13.5L2.46 12.42A15.54 15.54 0 0 1 5.4 10.5M20.5 13.5A13.75 13.75 0 0 0 18.6 12.23V10.53A14.26 14.26 0 0 1 21.55 12.43Z\";\r\nexport var mdiPhoneInTalk = \"M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z\";\r\nexport var mdiPhoneInTalkOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 12H17A5 5 0 0 0 12 7V9A3 3 0 0 1 15 12M19 12H21C21 7 16.97 3 12 3V5C15.86 5 19 8.13 19 12Z\";\r\nexport var mdiPhoneIncoming = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.17L13.21,17.37C10.38,15.93 8.06,13.62 6.62,10.78L8.82,8.57C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4M19,11V9.5H15.5L21,4L20,3L14.5,8.5V5H13V11H19Z\";\r\nexport var mdiPhoneIncomingOutgoing = \"M20 17.5V21C20 21.55 19.55 22 19 22C9.61 22 2 14.39 2 5C2 4.45 2.45 4 3 4H6.5C7.05 4 7.5 4.45 7.5 5C7.5 6.25 7.7 7.45 8.07 8.57C8.18 8.92 8.1 9.31 7.82 9.57L5.62 11.78C7.06 14.62 9.38 16.93 12.21 18.37L14.41 16.17C14.69 15.9 15.08 15.82 15.43 15.93C16.55 16.3 17.75 16.5 19 16.5C19.55 16.5 20 16.95 20 17.5M16 7.5H12.5L18 2L17 1L11.5 6.5V3H10V9H16V7.5M17 6V7.5H20.5L15 13L16 14L21.5 8.5V12H23V6H17Z\";\r\nexport var mdiPhoneIncomingOutgoingOutline = \"M19 16.5C17.8 16.5 16.5 16.3 15.4 15.9H15.1C14.8 15.9 14.6 16 14.4 16.2L12.2 18.4C9.4 16.9 7 14.6 5.6 11.8L7.8 9.6C8.1 9.3 8.2 8.9 8 8.6C7.7 7.5 7.5 6.2 7.5 5C7.5 4.5 7 4 6.5 4H3C2.5 4 2 4.5 2 5C2 14.4 9.6 22 19 22C19.5 22 20 21.5 20 21V17.5C20 17 19.5 16.5 19 16.5M4 6H5.5C5.6 6.9 5.8 7.8 6 8.6L4.8 9.8C4.4 8.6 4.1 7.3 4 6M18 20C16.7 19.9 15.4 19.6 14.2 19.2L15.4 18C16.2 18.2 17.1 18.4 18 18.4V20M16 9V7.5H12.5L18 2L17 1L11.5 6.5V3H10V9H16M17 6V7.5H20.5L15 13L16 14L21.5 8.5V12H23V6H17Z\";\r\nexport var mdiPhoneIncomingOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19 11V9.5H15.5L21 4L20 3L14.5 8.5V5H13V11H19Z\";\r\nexport var mdiPhoneLock = \"M19.2,4H15.8V3.5C15.8,2.56 16.56,1.8 17.5,1.8C18.44,1.8 19.2,2.56 19.2,3.5M20,4V3.5A2.5,2.5 0 0,0 17.5,1A2.5,2.5 0 0,0 15,3.5V4A1,1 0 0,0 14,5V9A1,1 0 0,0 15,10H20A1,1 0 0,0 21,9V5A1,1 0 0,0 20,4M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z\";\r\nexport var mdiPhoneLockOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19.2 4H15.8V3.5C15.8 2.56 16.56 1.8 17.5 1.8C18.44 1.8 19.2 2.56 19.2 3.5M20 4V3.5A2.5 2.5 0 0 0 17.5 1A2.5 2.5 0 0 0 15 3.5V4A1 1 0 0 0 14 5V9A1 1 0 0 0 15 10H20A1 1 0 0 0 21 9V5A1 1 0 0 0 20 4Z\";\r\nexport var mdiPhoneLog = \"M20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.24 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.58L6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5M12,3H14V5H12M15,3H21V5H15M12,6H14V8H12M15,6H21V8H15M12,9H14V11H12M15,9H21V11H15\";\r\nexport var mdiPhoneLogOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M12 3H14V5H12M15 3H21V5H15M12 6H14V8H12M15 6H21V8H15M12 9H14V11H12M15 9H21V11H15Z\";\r\nexport var mdiPhoneMessage = \"M20 15.5C18.75 15.5 17.55 15.3 16.43 14.93C16.08 14.82 15.69 14.9 15.41 15.17L13.21 17.37C10.38 15.93 8.06 13.62 6.62 10.79L8.82 8.58C9.1 8.31 9.18 7.92 9.07 7.57C8.7 6.45 8.5 5.25 8.5 4C8.5 3.45 8.05 3 7.5 3H4C3.45 3 3 3.45 3 4C3 13.39 10.61 21 20 21C20.55 21 21 20.55 21 20V16.5C21 15.95 20.55 15.5 20 15.5M12 3V13L15 10H21V3H12Z\";\r\nexport var mdiPhoneMessageOutline = \"M20 15.5C18.75 15.5 17.55 15.3 16.43 14.93C16.33 14.9 16.22 14.88 16.12 14.88C15.86 14.88 15.61 15 15.41 15.17L13.21 17.37C10.38 15.93 8.06 13.62 6.62 10.79L8.82 8.58C9.1 8.31 9.18 7.92 9.07 7.57C8.7 6.45 8.5 5.25 8.5 4C8.5 3.45 8.05 3 7.5 3H4C3.45 3 3 3.45 3 4C3 13.39 10.61 21 20 21C20.55 21 21 20.55 21 20V16.5C21 15.95 20.55 15.5 20 15.5M5.03 5H6.53C6.6 5.88 6.75 6.75 7 7.59L5.79 8.8C5.38 7.59 5.12 6.32 5.03 5M19 18.97C17.68 18.88 16.4 18.62 15.2 18.21L16.4 17C17.25 17.25 18.12 17.4 19 17.46V18.97M12 3V13L15 10H21V3H12M19 8H14V5H19V8Z\";\r\nexport var mdiPhoneMinus = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.76,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.07,13.62 6.62,10.79L8.82,8.58C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.24 8.5,4A1,1 0 0,0 7.5,3M13,6V8H21V6\";\r\nexport var mdiPhoneMinusOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M13 6V8H21V6Z\";\r\nexport var mdiPhoneMissed = \"M23.71,16.67C20.66,13.77 16.54,12 12,12C7.46,12 3.34,13.77 0.29,16.67C0.11,16.85 0,17.1 0,17.38C0,17.65 0.11,17.9 0.29,18.08L2.77,20.56C2.95,20.74 3.2,20.86 3.5,20.86C3.75,20.86 4,20.75 4.18,20.57C4.97,19.83 5.86,19.21 6.84,18.72C7.17,18.56 7.4,18.22 7.4,17.82V14.72C8.85,14.25 10.39,14 12,14C13.6,14 15.15,14.25 16.6,14.72V17.82C16.6,18.22 16.83,18.56 17.16,18.72C18.14,19.21 19.03,19.83 19.82,20.57C20,20.75 20.25,20.86 20.5,20.86C20.8,20.86 21.05,20.74 21.23,20.56L23.71,18.08C23.89,17.9 24,17.65 24,17.38C24,17.1 23.89,16.85 23.71,16.67M6.5,5.5L12,11L19,4L18,3L12,9L7.5,4.5H11V3H5V9H6.5V5.5Z\";\r\nexport var mdiPhoneMissedOutline = \"M18.6 15.5v1.8c.7.4 1.3.8 1.9 1.3l1.1-1.1c-.9-.9-1.9-1.5-3-2m-13.2 0c-1 .5-2 1.1-2.9 1.9l1.1 1.1c.6-.5 1.2-.9 1.9-1.3v-1.7M12 12c4.5 0 8.7 1.7 11.7 4.7.2.2.3.4.3.7 0 .3-.1.5-.3.7l-2.5 2.5c-.2.2-.4.3-.7.3-.2 0-.5-.1-.7-.3-.8-.7-1.7-1.4-2.7-1.8-.3-.2-.6-.5-.6-.9v-3.1c-1.5-.5-3-.7-4.6-.7-1.6 0-3.1.2-4.6.7v3.1c0 .4-.2.7-.6.9-1 .5-1.9 1.1-2.7 1.8-.2.2-.4.3-.7.3-.3 0-.5-.1-.7-.3L.1 18.1c0-.2-.1-.5-.1-.7 0-.3.1-.5.3-.7C3.3 13.8 7.5 12 12 12zM6.5 5.5V9H5V3h6v1.5H7.5L12 9l6-6 1 1-7 7-5.5-5.5z\";\r\nexport var mdiPhoneOff = \"M20.22,2.5L2.5,20.22L3.77,21.5L8.65,16.62C11.76,19.43 15.81,21 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C12.06,16.8 11,16.06 10.06,15.21L21.5,3.77L20.22,2.5M4,3A1,1 0 0,0 3,4C3,7.57 4.14,11.05 6.24,13.94L7.66,12.5C7.28,11.97 6.93,11.39 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4Z\";\r\nexport var mdiPhoneOffOutline = \"M16.4 17C17.2 17.2 18.1 17.4 19 17.5V19C17.7 18.9 16.4 18.7 15.2 18.2L16.4 17M20.2 2.5L2.5 20.2L3.8 21.5L8.7 16.6C11.8 19.4 15.8 21 20 21C20.6 21 21 20.6 21 20V16.5C21 15.9 20.6 15.5 20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C12.1 16.8 11 16.1 10.1 15.2L21.5 3.8L20.2 2.5M6.5 5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5H6.5M7.5 3H4C3.4 3 3 3.4 3 4C3 7.6 4.1 11 6.2 13.9L7.6 12.5C7.2 12 6.9 11.4 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.4 8.5 5.2 8.5 4C8.5 3.4 8.1 3 7.5 3Z\";\r\nexport var mdiPhoneOutgoing = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.17L13.21,17.37C10.38,15.93 8.06,13.62 6.62,10.78L8.82,8.57C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4M15,3V4.5H18.5L13,10L14,11L19.5,5.5V9H21V3H15Z\";\r\nexport var mdiPhoneOutgoingOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M15 3V4.5H18.5L13 10L14 11L19.5 5.5V9H21V3H15Z\";\r\nexport var mdiPhoneOutline = \"M20,15.5C18.8,15.5 17.5,15.3 16.4,14.9C16.3,14.9 16.2,14.9 16.1,14.9C15.8,14.9 15.6,15 15.4,15.2L13.2,17.4C10.4,15.9 8,13.6 6.6,10.8L8.8,8.6C9.1,8.3 9.2,7.9 9,7.6C8.7,6.5 8.5,5.2 8.5,4C8.5,3.5 8,3 7.5,3H4C3.5,3 3,3.5 3,4C3,13.4 10.6,21 20,21C20.5,21 21,20.5 21,20V16.5C21,16 20.5,15.5 20,15.5M5,5H6.5C6.6,5.9 6.8,6.8 7,7.6L5.8,8.8C5.4,7.6 5.1,6.3 5,5M19,19C17.7,18.9 16.4,18.6 15.2,18.2L16.4,17C17.2,17.2 18.1,17.4 19,17.4V19Z\";\r\nexport var mdiPhonePaused = \"M19,10H21V3H19M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M17,3H15V10H17V3Z\";\r\nexport var mdiPhonePausedOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19 10H21V3H19M17 3H15V10H17V3Z\";\r\nexport var mdiPhonePlus = \"M4,3A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.76,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.07,13.62 6.62,10.79L8.82,8.58C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.24 8.5,4A1,1 0 0,0 7.5,3M16,3V6H13V8H16V11H18V8H21V6H18V3\";\r\nexport var mdiPhonePlusOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M16 3V6H13V8H16V11H18V8H21V6H18V3Z\";\r\nexport var mdiPhoneRefresh = \"M6.62 10.79C8.06 13.62 10.38 15.94 13.21 17.38L15.41 15.18C15.69 14.9 16.08 14.82 16.43 14.93C17.55 15.3 18.75 15.5 20 15.5C20.55 15.5 21 15.95 21 16.5V20C21 20.55 20.55 21 20 21C10.61 21 3 13.39 3 4C3 3.45 3.45 3 4 3H7.5C8.05 3 8.5 3.45 8.5 4C8.5 5.25 8.7 6.45 9.07 7.57C9.18 7.92 9.1 8.31 8.82 8.59L6.62 10.79M17 7L18.77 5.23C18.32 4.78 17.69 4.5 17 4.5C15.62 4.5 14.5 5.62 14.5 7S15.62 9.5 17 9.5C17.82 9.5 18.54 9.11 19 8.5H20.71C20.12 9.97 18.68 11 17 11C14.79 11 13 9.21 13 7S14.79 3 17 3C18.11 3 19.11 3.45 19.83 4.17L21 3V7H17Z\";\r\nexport var mdiPhoneRefreshOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 7L18.77 5.23C18.32 4.78 17.69 4.5 17 4.5C15.62 4.5 14.5 5.62 14.5 7S15.62 9.5 17 9.5C17.82 9.5 18.54 9.11 19 8.5H20.71C20.12 9.97 18.68 11 17 11C14.79 11 13 9.21 13 7S14.79 3 17 3C18.11 3 19.11 3.45 19.83 4.17L21 3V7H17Z\";\r\nexport var mdiPhoneRemove = \"M4 3C3.4 3 3 3.4 3 4C3 13.4 10.6 21 20 21C20.6 21 21 20.6 21 20V16.5C21 15.9 20.6 15.5 20 15.5C18.8 15.5 17.5 15.3 16.4 14.9C16 14.8 15.7 14.9 15.4 15.1L13.2 17.3C10.4 15.9 8.1 13.5 6.6 10.7L8.8 8.5C9.1 8.2 9.2 7.8 9 7.5C8.7 6.4 8.5 5.2 8.5 4C8.5 3.4 8.1 3 7.5 3M19.1 3.5L17 5.6L14.9 3.5L13.5 4.9L15.6 7L13.5 9.1L14.9 10.5L17 8.4L19.1 10.5L20.5 9.1L18.4 7L20.5 4.9\";\r\nexport var mdiPhoneRemoveOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M19.1 3.5L17 5.6L14.9 3.5L13.5 4.9L15.6 7L13.5 9.1L14.9 10.5L17 8.4L19.1 10.5L20.5 9.1L18.4 7L20.5 4.9L19.1 3.5Z\";\r\nexport var mdiPhoneReturn = \"M21,6V11H19.5V7.5H13.87L16.3,9.93L15.24,11L11,6.75L15.24,2.5L16.3,3.57L13.87,6H21M8.82,8.58C9.08,8.32 9.17,7.93 9.06,7.58C8.69,6.42 8.5,5.22 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5C18.79,15.5 17.58,15.31 16.43,14.93C16.08,14.82 15.69,14.91 15.43,15.17L13.23,17.37C10.39,15.92 8.09,13.62 6.64,10.78L8.82,8.58Z\";\r\nexport var mdiPhoneReturnOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M21 6V11H19.5V7.5H13.87L16.3 9.93L15.24 11L11 6.75L15.24 2.5L16.3 3.57L13.87 6H21Z\";\r\nexport var mdiPhoneRing = \"M23.71 16.67C20.66 13.78 16.54 12 12 12S3.34 13.78.29 16.67c-.18.18-.29.43-.29.71 0 .28.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73s3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.66 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71a.99.99 0 0 0-.29-.7zM21.16 6.26l-1.41-1.41-3.56 3.55 1.41 1.41s3.45-3.52 3.56-3.55zM13 2h-2v5h2V2zM6.4 9.81L7.81 8.4 4.26 4.84 2.84 6.26c.11.03 3.56 3.55 3.56 3.55z\";\r\nexport var mdiPhoneRingOutline = \"M23.71 16.67C20.66 13.78 16.54 12 12 12S3.34 13.78.29 16.67c-.18.18-.29.43-.29.71 0 .28.11.53.29.71l2.48 2.48c.18.18.43.29.71.29.27 0 .52-.11.7-.28.79-.74 1.69-1.36 2.66-1.85.33-.16.56-.5.56-.9v-3.1c1.45-.48 3-.73 4.6-.73s3.15.25 4.6.72v3.1c0 .39.23.74.56.9.98.49 1.87 1.12 2.66 1.85.18.18.43.28.7.28.28 0 .53-.11.71-.29l2.48-2.48c.18-.18.29-.43.29-.71a.99.99 0 0 0-.29-.7zm-18.31.56c-.66.37-1.29.8-1.87 1.27l-1.07-1.07c.91-.75 1.9-1.39 2.95-1.9v1.7H5.4zm15.07 1.26c-.59-.48-1.21-.9-1.87-1.27v-1.7c1.04.51 2.03 1.15 2.94 1.9l-1.07 1.07zm.69-12.23l-1.41-1.41-3.56 3.55 1.41 1.41s3.45-3.52 3.56-3.55zM11 2h2v5h-2V2zM6.4 9.81L7.81 8.4 4.26 4.84 2.84 6.26c.11.03 3.56 3.55 3.56 3.55z\";\r\nexport var mdiPhoneRotateLandscape = \"M9,1H3A2,2 0 0,0 1,3V16A2,2 0 0,0 3,18H9A2,2 0 0,0 11,16V3A2,2 0 0,0 9,1M9,15H3V3H9V15M21,13H13V15H21V21H9V20H6V21A2,2 0 0,0 8,23H21A2,2 0 0,0 23,21V15A2,2 0 0,0 21,13M23,10L19,8L20.91,7.09C19.74,4.31 17,2.5 14,2.5V1A9,9 0 0,1 23,10Z\";\r\nexport var mdiPhoneRotatePortrait = \"M9,1H3A2,2 0 0,0 1,3V16A2,2 0 0,0 3,18H4V15H3V3H9V11H11V3A2,2 0 0,0 9,1M23,21V15A2,2 0 0,0 21,13H8A2,2 0 0,0 6,15V21A2,2 0 0,0 8,23H21A2,2 0 0,0 23,21M9,21V15H21V21H9M23,10H21.5C21.5,7 19.69,4.27 16.92,3.09L16,5L14,1A9,9 0 0,1 23,10Z\";\r\nexport var mdiPhoneSettings = \"M19,11H21V9H19M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5M17,9H15V11H17M13,9H11V11H13V9Z\";\r\nexport var mdiPhoneSettingsOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 9H15V11H17M13 9H11V11H13V9M19 11H21V9H19Z\";\r\nexport var mdiPhoneSync = \"M6.62 10.79C8.06 13.62 10.38 15.94 13.21 17.38L15.41 15.18C15.69 14.9 16.08 14.82 16.43 14.93C17.55 15.3 18.75 15.5 20 15.5C20.55 15.5 21 15.95 21 16.5V20C21 20.55 20.55 21 20 21C10.61 21 3 13.39 3 4C3 3.45 3.45 3 4 3H7.5C8.05 3 8.5 3.45 8.5 4C8.5 5.25 8.7 6.45 9.07 7.57C9.18 7.92 9.1 8.31 8.82 8.59L6.62 10.79M17 3V1.5L14.75 3.75L17 6V4.5C18.38 4.5 19.5 5.62 19.5 7C19.5 7.4 19.41 7.78 19.24 8.12L20.33 9.21C20.75 8.58 21 7.82 21 7C21 4.79 19.21 3 17 3M17 9.5C15.62 9.5 14.5 8.38 14.5 7C14.5 6.6 14.59 6.22 14.76 5.88L13.67 4.79C13.25 5.42 13 6.18 13 7C13 9.21 14.79 11 17 11V12.5L19.25 10.25L17 8V9.5Z\";\r\nexport var mdiPhoneSyncOutline = \"M20 15.5C18.8 15.5 17.5 15.3 16.4 14.9H16.1C15.8 14.9 15.6 15 15.4 15.2L13.2 17.4C10.4 15.9 8 13.6 6.6 10.8L8.8 8.6C9.1 8.3 9.2 7.9 9 7.6C8.7 6.5 8.5 5.2 8.5 4C8.5 3.5 8 3 7.5 3H4C3.5 3 3 3.5 3 4C3 13.4 10.6 21 20 21C20.5 21 21 20.5 21 20V16.5C21 16 20.5 15.5 20 15.5M5 5H6.5C6.6 5.9 6.8 6.8 7 7.6L5.8 8.8C5.4 7.6 5.1 6.3 5 5M19 19C17.7 18.9 16.4 18.6 15.2 18.2L16.4 17C17.2 17.2 18.1 17.4 19 17.4V19M17 3V1.5L14.75 3.75L17 6V4.5C18.38 4.5 19.5 5.62 19.5 7C19.5 7.4 19.41 7.78 19.24 8.12L20.33 9.21C20.75 8.58 21 7.82 21 7C21 4.79 19.21 3 17 3M17 9.5C15.62 9.5 14.5 8.38 14.5 7C14.5 6.6 14.59 6.22 14.76 5.88L13.67 4.79C13.25 5.42 13 6.18 13 7C13 9.21 14.79 11 17 11V12.5L19.25 10.25L17 8V9.5Z\";\r\nexport var mdiPhoneVoip = \"M13,17V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H13M23.7,7.67C23.88,7.85 24,8.09 24,8.37C24,8.65 23.89,8.9 23.71,9.08L21.23,11.56C21.05,11.74 20.8,11.85 20.5,11.85C20.25,11.85 20,11.75 19.82,11.57C19,10.84 18.13,10.21 17.15,9.72C16.82,9.56 16.59,9.21 16.59,8.82V5.72C15.14,5.25 13.59,5 12,5C10.4,5 8.85,5.25 7.4,5.73V8.83C7.4,9.23 7.17,9.57 6.84,9.73C5.87,10.22 4.97,10.84 4.18,11.58C4,11.75 3.75,11.86 3.5,11.86C3.2,11.86 2.95,11.75 2.77,11.57L0.29,9.09C0.11,8.91 0,8.66 0,8.38C0,8.1 0.11,7.85 0.29,7.67C3.34,4.78 7.46,3 12,3C16.53,3 20.65,4.78 23.7,7.67M11,10V15H10V10H11M12,10H15V13H13V15H12V10M14,12V11H13V12H14Z\";\r\nexport var mdiPi = \"M4,5V7H6V19H8V7H14V16A3,3 0 0,0 17,19A3,3 0 0,0 20,16H18A1,1 0 0,1 17,17A1,1 0 0,1 16,16V7H18V5\";\r\nexport var mdiPiBox = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M6,7H17V9H15V14A1,1 0 0,0 16,15A1,1 0 0,0 17,14H19A3,3 0 0,1 16,17A3,3 0 0,1 13,14V9H10V17H8V9H6\";\r\nexport var mdiPiHole = \"M5.62,2C9.5,2 11.57,4.29 11.77,7.93C12.5,3.57 15.93,4.08 15.93,4.08C16.1,6.55 14.07,8.05 11.77,8.17C11.12,6.81 7.25,3.47 7.25,3.47C7.23,3.5 10.97,6.74 10.83,8.15C8.33,7.88 5.82,6 5.62,2M6.06,13.11L9.92,9.25C11.09,8.08 13,8.08 14.16,9.25L18,13.11C19.19,14.28 19.19,16.18 18,17.35L14.16,21.21C13,22.38 11.09,22.38 9.92,21.21L6.06,17.35C4.89,16.18 4.89,14.28 6.06,13.11M9.39,19.59C9.39,18.36 10.15,16.85 12.09,16.85C13.4,16.85 14.87,18.1 16.31,17.96C14.87,17.92 13.59,16.85 13.59,15.19C13.59,13.86 14.69,12.9 14.69,11.34C14.63,12.33 13.82,13.77 12,13.77C10.59,13.77 9.55,12.63 7.87,12.63C8.58,12.67 10.5,13.3 10.5,15.35C10.5,17 9.39,17.5 9.39,19.59Z\";\r\nexport var mdiPiano = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M14.74 14H15V20H9V14H9.31C9.86 14 10.3 13.56 10.3 13V4H13.75V13C13.75 13.56 14.19 14 14.74 14M4 4H6.8V13C6.8 13.56 7.24 14 7.79 14H8V20H4V4M20 20H16V14H16.26C16.81 14 17.25 13.56 17.25 13V4H20V20Z\";\r\nexport var mdiPianoOff = \"M22.11 21.46L2.39 1.73L1.11 3L2 3.89V20C2 21.11 2.9 22 4 22H20.11L20.84 22.73L22.11 21.46M8 20H4V5.89L6.8 8.69V13C6.8 13.56 7.24 14 7.79 14H8V20M15 20H9V14H9.31C9.86 14 10.3 13.56 10.3 13V12.19L15 16.89V20M16 20V17.89L18.11 20H16M10.3 7.1L5.2 2H20C21.11 2 22 2.9 22 4V18.8L20 16.8V4H17.25V13C17.25 13.3 17.13 13.55 16.93 13.73L13.75 10.55V4H10.3V7.1Z\";\r\nexport var mdiPickaxe = \"M14.79,10.62L3.5,21.9L2.1,20.5L13.38,9.21L14.79,10.62M19.27,7.73L19.86,7.14L19.07,6.35L19.71,5.71L18.29,4.29L17.65,4.93L16.86,4.14L16.27,4.73C14.53,3.31 12.57,2.17 10.47,1.37L9.64,3.16C11.39,4.08 13,5.19 14.5,6.5L14,7L17,10L17.5,9.5C18.81,11 19.92,12.61 20.84,14.36L22.63,13.53C21.83,11.43 20.69,9.47 19.27,7.73Z\";\r\nexport var mdiPictureInPictureBottomRight = \"M19,11H11V17H19V11M23,19V5C23,3.88 22.1,3 21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19M21,19H3V4.97H21V19Z\";\r\nexport var mdiPictureInPictureBottomRightOutline = \"M19,11H11V17H19V11M17,15H13V13H17V15M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5C23,3.88 22.1,3 21,3M21,19H3V4.97H21V19Z\";\r\nexport var mdiPictureInPictureTopRight = \"M19,7H11V13H19V7M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H21V19Z\";\r\nexport var mdiPictureInPictureTopRightOutline = \"M19,7H11V13H19V7M17,11H13V9H17V11M21,3H3A2,2 0 0,0 1,5V19C1,20.11 1.9,21 3,21H21A2,2 0 0,0 23,19V5C23,3.91 22.1,3 21,3M21,19H3V5H21V19Z\";\r\nexport var mdiPier = \"M20,18C18.6,18 17.2,17.5 16,16.7C13.6,18.4 10.4,18.4 8,16.7C6.8,17.5 5.4,18 4,18H2V20H4C5.4,20 6.7,19.6 8,19C10.5,20.3 13.5,20.3 16,19C17.3,19.6 18.6,20 20,20H22V18H20M20,13H19V16.9C18.3,16.8 17.6,16.6 17,16.2V13H12V17C11.3,17 10.7,16.9 10,16.7V13H5V16.9C4.7,17 4.3,17 4,17H3V13H2V11H3V9H5V11H10V9H12V11H17V9H19V11H20V13Z\";\r\nexport var mdiPierCrane = \"M20,20C18.61,20 17.22,19.53 16,18.67C13.56,20.38 10.44,20.38 8,18.67C6.78,19.53 5.39,20 4,20H2V22H4C5.37,22 6.74,21.65 8,21C10.5,22.3 13.5,22.3 16,21C17.26,21.65 18.62,22 20,22H22V20H20M20,4V3A1,1 0 0,0 19,2H9V1H6V2H5V4H6V13H5V11H3V13H2V15H3V19H4C4.33,19 4.67,18.97 5,18.92V15H10V18.65C10.65,18.85 11.33,18.95 12,18.95V18.92L12,15H13V13H12V11H10V13H9V4H17V8.62C16.53,8.79 16.19,9.23 16.19,9.76C16.19,10.2 16.43,10.6 16.8,10.82V12H17.42C17.76,12 18.03,12.28 18.03,12.62C18.03,12.96 17.76,13.24 17.42,13.24C17.2,13.24 17,13.12 16.88,12.93C16.71,12.64 16.34,12.54 16.05,12.71C15.75,12.87 15.65,13.25 15.82,13.55C16.15,14.11 16.76,14.47 17.42,14.47C18.43,14.47 19.26,13.64 19.26,12.62C19.26,11.84 18.76,11.14 18.03,10.88V10.82C18.41,10.6 18.65,10.2 18.65,9.76C18.65,9.3 18.38,8.91 18,8.7V4H20M8,11.66L7,12.66V11.24L8,10.24V11.66M8,8.71L7,9.71V8.29L8,7.29V8.71M7,6.71V5.29L8,4.29V5.71L7,6.71Z\";\r\nexport var mdiPig = \"M9.5,9A1.5,1.5 0 0,0 8,10.5A1.5,1.5 0 0,0 9.5,12A1.5,1.5 0 0,0 11,10.5A1.5,1.5 0 0,0 9.5,9M14.5,9A1.5,1.5 0 0,0 13,10.5A1.5,1.5 0 0,0 14.5,12A1.5,1.5 0 0,0 16,10.5A1.5,1.5 0 0,0 14.5,9M12,4L12.68,4.03C13.62,3.24 14.82,2.59 15.72,2.35C17.59,1.85 20.88,2.23 21.31,3.83C21.62,5 20.6,6.45 19.03,7.38C20.26,8.92 21,10.87 21,13A9,9 0 0,1 12,22A9,9 0 0,1 3,13C3,10.87 3.74,8.92 4.97,7.38C3.4,6.45 2.38,5 2.69,3.83C3.12,2.23 6.41,1.85 8.28,2.35C9.18,2.59 10.38,3.24 11.32,4.03L12,4M10,16A1,1 0 0,1 11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17A1,1 0 0,1 10,16M14,16A1,1 0 0,1 15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17A1,1 0 0,1 14,16M12,13C9.24,13 7,15.34 7,17C7,18.66 9.24,20 12,20C14.76,20 17,18.66 17,17C17,15.34 14.76,13 12,13M7.76,4.28C7.31,4.16 4.59,4.35 4.59,4.35C4.59,4.35 6.8,6.1 7.24,6.22C7.69,6.34 9.77,6.43 9.91,5.9C10.06,5.36 8.2,4.4 7.76,4.28M16.24,4.28C15.8,4.4 13.94,5.36 14.09,5.9C14.23,6.43 16.31,6.34 16.76,6.22C17.2,6.1 19.41,4.35 19.41,4.35C19.41,4.35 16.69,4.16 16.24,4.28Z\";\r\nexport var mdiPigVariant = \"M19.83 7.5L17.56 5.23C17.63 4.81 17.74 4.42 17.88 4.08C17.96 3.9 18 3.71 18 3.5C18 2.67 17.33 2 16.5 2C14.86 2 13.41 2.79 12.5 4H7.5C4.46 4 2 6.46 2 9.5S4.5 21 4.5 21H10V19H12V21H17.5L19.18 15.41L22 14.47V7.5H19.83M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11Z\";\r\nexport var mdiPigVariantOutline = \"M15 10C15 9.45 15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11 15 10.55 15 10M22 7.5V14.47L19.18 15.41L17.5 21H12V19H10V21H4.5C4.5 21 2 12.54 2 9.5S4.46 4 7.5 4H12.5C13.41 2.79 14.86 2 16.5 2C17.33 2 18 2.67 18 3.5C18 3.71 17.96 3.9 17.88 4.08C17.74 4.42 17.62 4.81 17.56 5.23L19.83 7.5H22M20 9.5H19L15.5 6C15.5 5.35 15.59 4.71 15.76 4.09C14.79 4.34 14 5.06 13.67 6H7.5C5.57 6 4 7.57 4 9.5C4 11.38 5.22 16.15 6 19H8V17H14V19H16L17.56 13.85L20 13.03V9.5Z\";\r\nexport var mdiPiggyBank = \"M19.83 7.5L17.56 5.23C17.63 4.81 17.74 4.42 17.88 4.08C17.96 3.9 18 3.71 18 3.5C18 2.67 17.33 2 16.5 2C14.86 2 13.41 2.79 12.5 4H7.5C4.46 4 2 6.46 2 9.5S4.5 21 4.5 21H10V19H12V21H17.5L19.18 15.41L22 14.47V7.5H19.83M13 9H8V7H13V9M16 11C15.45 11 15 10.55 15 10S15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11Z\";\r\nexport var mdiPiggyBankOutline = \"M15 10C15 9.45 15.45 9 16 9C16.55 9 17 9.45 17 10S16.55 11 16 11 15 10.55 15 10M8 9H13V7H8V9M22 7.5V14.47L19.18 15.41L17.5 21H12V19H10V21H4.5C4.5 21 2 12.54 2 9.5S4.46 4 7.5 4H12.5C13.41 2.79 14.86 2 16.5 2C17.33 2 18 2.67 18 3.5C18 3.71 17.96 3.9 17.88 4.08C17.74 4.42 17.62 4.81 17.56 5.23L19.83 7.5H22M20 9.5H19L15.5 6C15.5 5.35 15.59 4.71 15.76 4.09C14.79 4.34 14 5.06 13.67 6H7.5C5.57 6 4 7.57 4 9.5C4 11.38 5.22 16.15 6 19H8V17H14V19H16L17.56 13.85L20 13.03V9.5Z\";\r\nexport var mdiPill = \"M4.22,11.29L11.29,4.22C13.64,1.88 17.43,1.88 19.78,4.22C22.12,6.56 22.12,10.36 19.78,12.71L12.71,19.78C10.36,22.12 6.56,22.12 4.22,19.78C1.88,17.43 1.88,13.64 4.22,11.29M5.64,12.71C4.59,13.75 4.24,15.24 4.6,16.57L10.59,10.59L14.83,14.83L18.36,11.29C19.93,9.73 19.93,7.2 18.36,5.64C16.8,4.07 14.27,4.07 12.71,5.64L5.64,12.71Z\";\r\nexport var mdiPillMultiple = \"M16.2 3.5C15.2 2.5 13.9 2 12.7 2S10.1 2.5 9.2 3.5L3.4 9.1C1.4 11.1 1.4 14.2 3.4 16.2S8.5 18.2 10.5 16.2L16.2 10.5C18.1 8.6 18.1 5.4 16.2 3.5M14.8 9.1L12 11.9L8.4 8.4L4 12.8C4 12 4.2 11.1 4.9 10.5L10.6 4.8C11.1 4.3 11.9 4 12.6 4S14.1 4.3 14.7 4.8C15.9 6.1 15.9 7.9 14.8 9.1M19.6 7.1C19.6 7.9 19.4 8.6 19.2 9.4C20.2 10.6 20.2 12.4 19.1 13.5L16.3 16.3L14.8 14.8L12 17.6C10.7 18.9 8.9 19.6 7.2 19.6C7.4 19.9 7.6 20.2 7.9 20.5C9.9 22.5 13 22.5 15 20.5L20.7 14.8C22.7 12.8 22.7 9.7 20.7 7.7C20.2 7.5 19.9 7.3 19.6 7.1Z\";\r\nexport var mdiPillOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.81 8.7L4.22 11.29C1.88 13.64 1.88 17.43 4.22 19.78C6.56 22.12 10.36 22.12 12.71 19.78L15.3 17.19L20.84 22.73L22.11 21.46M4.6 16.57C4.24 15.24 4.59 13.75 5.64 12.71L8.23 10.12L9.64 11.53L4.6 16.57M10.78 7.58L9.36 6.16L11.29 4.22C13.64 1.88 17.43 1.88 19.78 4.22C22.12 6.56 22.12 10.36 19.78 12.71L17.85 14.65L16.43 13.23L18.36 11.29C19.93 9.73 19.93 7.2 18.36 5.64C16.8 4.07 14.27 4.07 12.71 5.64L10.78 7.58Z\";\r\nexport var mdiPillar = \"M6,5H18A1,1 0 0,1 19,6A1,1 0 0,1 18,7H6A1,1 0 0,1 5,6A1,1 0 0,1 6,5M21,2V4H3V2H21M15,8H17V22H15V8M7,8H9V22H7V8M11,8H13V22H11V8Z\";\r\nexport var mdiPin = \"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12Z\";\r\nexport var mdiPinOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.8,16.07V22H11.2V16H6V14L8,12V11.27L2,5.27M16,12L18,14V16H17.82L8,6.18V4H7V2H17V4H16V12Z\";\r\nexport var mdiPinOffOutline = \"M8,6.2V4H7V2H17V4H16V12L18,14V16H17.8L14,12.2V4H10V8.2L8,6.2M20,20.7L18.7,22L12.8,16.1V22H11.2V16H6V14L8,12V11.3L2,5.3L3.3,4L20,20.7M8.8,14H10.6L9.7,13.1L8.8,14Z\";\r\nexport var mdiPinOutline = \"M16,12V4H17V2H7V4H8V12L6,14V16H11.2V22H12.8V16H18V14L16,12M8.8,14L10,12.8V4H14V12.8L15.2,14H8.8Z\";\r\nexport var mdiPineTree = \"M10,21V18H3L8,13H5L10,8H7L12,3L17,8H14L19,13H16L21,18H14V21H10Z\";\r\nexport var mdiPineTreeBox = \"M4,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M11,19H13V17H18L14,13H17L13,9H16L12,5L8,9H11L7,13H10L6,17H11V19Z\";\r\nexport var mdiPineTreeFire = \"M22.14 14.84L22.12 14.85C22.35 15.13 22.55 15.44 22.7 15.77L22.79 15.96C23.5 17.65 23 19.6 21.69 20.82C20.5 21.91 18.84 22.2 17.3 22C15.84 21.82 14.5 20.9 13.73 19.63C13.5 19.24 13.3 18.8 13.2 18.35C13.07 18 13.03 17.62 13 17.25C12.91 15.65 13.55 13.95 14.76 12.95C14.21 14.16 14.34 15.67 15.15 16.72L15.26 16.85C15.4 16.97 15.57 17 15.73 16.94C15.88 16.88 16 16.73 16 16.57L15.93 16.33C15.05 14 15.79 11.3 17.66 9.77C18.17 9.35 18.8 8.97 19.46 8.8C18.78 10.16 19 11.94 20.09 13C20.55 13.5 21.11 13.79 21.58 14.23L22.14 14.84M19.86 19.5L19.85 19.47C20.3 19.08 20.55 18.41 20.53 17.81L20.5 17.5C20.3 16.5 19.43 16.16 18.87 15.43C18.7 15.21 18.55 14.93 18.44 14.65C18.22 15.15 18.2 15.62 18.29 16.16C18.39 16.73 18.61 17.22 18.5 17.81C18.34 18.46 17.83 19.11 16.94 19.32C17.44 19.81 18.25 20.2 19.06 19.92C19.32 19.85 19.65 19.66 19.86 19.5M9 21V18H2L7 13H4L9 8H6L11 3L16 8H13L14.82 9.82C12.55 11.06 11 13.59 11 16.5C11 18.19 11.5 19.75 12.4 21H9Z\";\r\nexport var mdiPineTreeVariant = \"M19 12L12 2L5 12H6.86L3 18H10V22H14V18H21L17.14 12H19Z\";\r\nexport var mdiPineTreeVariantOutline = \"M19 12L12 2L5 12H6.86L3 18H10V22H14V18H21L17.14 12H19M15.16 10H13.5L17.34 16H6.67L10.53 10H8.84L12 5.5L15.16 10Z\";\r\nexport var mdiPinterest = \"M9.04,21.54C10,21.83 10.97,22 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12C2,16.25 4.67,19.9 8.44,21.34C8.35,20.56 8.26,19.27 8.44,18.38L9.59,13.44C9.59,13.44 9.3,12.86 9.3,11.94C9.3,10.56 10.16,9.53 11.14,9.53C12,9.53 12.4,10.16 12.4,10.97C12.4,11.83 11.83,13.06 11.54,14.24C11.37,15.22 12.06,16.08 13.06,16.08C14.84,16.08 16.22,14.18 16.22,11.5C16.22,9.1 14.5,7.46 12.03,7.46C9.21,7.46 7.55,9.56 7.55,11.77C7.55,12.63 7.83,13.5 8.29,14.07C8.38,14.13 8.38,14.21 8.35,14.36L8.06,15.45C8.06,15.62 7.95,15.68 7.78,15.56C6.5,15 5.76,13.18 5.76,11.71C5.76,8.55 8,5.68 12.32,5.68C15.76,5.68 18.44,8.15 18.44,11.43C18.44,14.87 16.31,17.63 13.26,17.63C12.29,17.63 11.34,17.11 11,16.5L10.33,18.87C10.1,19.73 9.47,20.88 9.04,21.57V21.54Z\";\r\nexport var mdiPinwheel = \"M12,12C12,9 14.5,6.5 17.5,6.5C20.5,6.5 23,9 23,12H12M12,12C12,15 9.5,17.5 6.5,17.5C3.5,17.5 1,15 1,12H12M12,12C9,12 6.5,9.5 6.5,6.5C6.5,3.5 9,1 12,1V12M12,12C15,12 17.5,14.5 17.5,17.5C17.5,20.5 15,23 12,23V12Z\";\r\nexport var mdiPinwheelOutline = \"M12,23H11V16.43C9.93,17.4 8.5,18 7,18C3.75,18 1,15.25 1,12V11H7.57C6.6,9.93 6,8.5 6,7C6,3.75 8.75,1 12,1H13V7.57C14.07,6.6 15.5,6 17,6C20.25,6 23,8.75 23,12V13H16.43C17.4,14.07 18,15.5 18,17C18,20.25 15.25,23 12,23M13,13.13V20.87C14.7,20.41 16,18.83 16,17C16,15.17 14.7,13.59 13,13.13M3.13,13C3.59,14.7 5.17,16 7,16C8.83,16 10.41,14.7 10.87,13H3.13M13.13,11H20.87C20.41,9.3 18.82,8 17,8C15.18,8 13.59,9.3 13.13,11M11,3.13C9.3,3.59 8,5.18 8,7C8,8.82 9.3,10.41 11,10.87V3.13Z\";\r\nexport var mdiPipe = \"M22,14H20V16H14V13H16V11H14V6A2,2 0 0,0 12,4H4V2H2V10H4V8H10V11H8V13H10V18A2,2 0 0,0 12,20H20V22H22\";\r\nexport var mdiPipeDisconnected = \"M16,9V11H8V9H10V8H4V10H2V2H4V4H12A2,2 0 0,1 14,6V9H16M10,15V18A2,2 0 0,0 12,20H20V22H22V14H20V16H14V15H16V13H8V15H10Z\";\r\nexport var mdiPipeLeak = \"M2,5V13H4V11H10L12,9L10,7H4V5H2M20,5V7H12L14,9L12,11H20V13H22V5H20M12,13C12,13 10,15.17 10,16.5A2,2 0 0,0 12,18.5A2,2 0 0,0 14,16.5C14,15.17 12,13 12,13Z\";\r\nexport var mdiPipeValve = \"M22 13V21H20V19H16.58C15.81 20.76 14.05 22 12 22S8.19 20.76 7.42 19H4V21H2V13H4V15H7.43C7.93 13.85 8.85 12.93 10 12.42V11H8V9H16V11H14V12.42C15.15 12.93 16.07 13.85 16.57 15H20V13H22M17 2H7C6.45 2 6 2.45 6 3S6.45 4 7 4H10V5H11V8H13V5H14V4H17C17.55 4 18 3.55 18 3S17.55 2 17 2Z\";\r\nexport var mdiPipeWrench = \"M16.17 5.63L14.06 7.78L11.91 5.63L16.17 1.41L19.69 4.92C20.86 6.09 20.86 8 19.69 9.19L16.17 5.63M4.83 12.7L7 14.81L10.5 11.3L8.39 9.19L4.83 12.7M15.47 7.78L19 11.3L17.58 12.7L16.88 12L6.23 22.59L3.42 19.78L11.91 11.3L7.69 7.03L9.8 4.92L14.06 9.19L15.47 7.78Z\";\r\nexport var mdiPirate = \"M8.2,12.1C7.9,12.3 7.7,12.7 7.8,13C7.8,13.7 8.5,14.2 9.1,14.2C9.7,14.2 10.3,13.7 10.3,13C9.7,12.6 9,12.3 8.2,12.1M22,11L23,7C23,7 21,7 18,5C15,3 15,1 12,1C9,1 9,3 6,5C3,7 1,7 1,7L2,11H2.1C2,11.3 2,11.7 2,12C2,15.5 3.8,18.6 6.5,20.4L6,21.3C12.4,25.4 18,21.3 18,21.3L17.5,20.4C20.2,18.6 22,15.5 22,12C22,11.7 22,11.3 22,11M11.3,4.5L9.9,3.1L10.6,2.4L12,3.8L13.4,2.4L14.1,3.1L12.7,4.5L14.1,5.9L13.4,6.6L12,5.2L10.6,6.6L9.9,5.9L11.3,4.5M9.3,8.5C10.3,8.2 11.3,8 12,8C14.2,8 17.9,9.6 19.8,10.4C19.9,10.7 19.9,11 19.9,11.3L9.3,8.5M13.6,19.1C12.9,19.5 12.2,19.8 11.4,19.9C10.9,19.5 10.9,18.7 11.4,18.3C11.8,17.9 12.7,17.7 13.2,18.2C13.5,18.3 13.6,18.8 13.6,19.1M20,13.4C19.5,15.5 18.2,17.4 16.5,18.6L15,16H9L7.5,18.6C5.4,17.2 4,14.8 4,12C4,11.5 4.1,11 4.2,10.5C4.7,10.3 5.3,10 6,9.7L13.1,11.6V14C13.1,14.5 13.5,15 14.1,15H16.1C16.6,15 17.1,14.6 17.1,14V12.6L20,13.4Z\";\r\nexport var mdiPistol = \"M7,5H23V9H22V10H16A1,1 0 0,0 15,11V12A2,2 0 0,1 13,14H9.62C9.24,14 8.89,14.22 8.72,14.56L6.27,19.45C6.1,19.79 5.76,20 5.38,20H2C2,20 -1,20 3,14C3,14 6,10 2,10V5H3L3.5,4H6.5L7,5M14,12V11A1,1 0 0,0 13,10H12C12,10 11,11 12,12A2,2 0 0,1 10,10A1,1 0 0,0 9,11V12A1,1 0 0,0 10,13H13A1,1 0 0,0 14,12Z\";\r\nexport var mdiPiston = \"M13,16.18C13.5,16.35 13.9,16.63 14.23,17H15V21H14.21C13.89,21.35 13.5,21.63 13,21.8C11.85,22.22 10.58,21.87 9.78,21H9V17H9.77C10.1,16.63 10.5,16.35 11,16.18V12H13V16.18M12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20M17,4H15V5H17V11H7V5H9V4H7V2H17V4M12,9A1,1 0 0,0 13,8A1,1 0 0,0 12,7A1,1 0 0,0 11,8A1,1 0 0,0 12,9Z\";\r\nexport var mdiPitchfork = \"M15.9 .9L13.1 3.7C12.3 4.5 12.3 5.7 13.1 6.5L14.5 8L9.2 13.4L7.8 12C7 11.2 5.8 11.2 5 12L1 16L2.4 17.4L6.4 13.4L7.8 14.8L3.8 18.8L5.2 20.2L9.2 16.2L10.6 17.6L9.9 18.4L6.7 21.6L8 23L12 19C12.8 18.2 12.8 17 12 16.2L10.6 14.8L15.9 9.4L17.3 10.8C18.1 11.6 19.3 11.6 20.1 10.8L23 8L15.9 .9M18.7 9.4L14.5 5.2L15.9 3.8L20.1 8L18.7 9.4Z\";\r\nexport var mdiPizza = \"M12,15A2,2 0 0,1 10,13C10,11.89 10.9,11 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M7,7C7,5.89 7.89,5 9,5A2,2 0 0,1 11,7A2,2 0 0,1 9,9C7.89,9 7,8.1 7,7M12,2C8.43,2 5.23,3.54 3,6L12,22L21,6C18.78,3.54 15.57,2 12,2Z\";\r\nexport var mdiPlaneCar = \"M21.57 12.66C21.43 12.26 21.05 12 20.6 12H13.41C12.95 12 12.58 12.26 12.43 12.66L11 16.77V22.28C11 22.66 11.32 23 11.7 23H12.32C12.7 23 13 22.62 13 22.24V21H21V22.24C21 22.62 21.31 23 21.69 23H22.3C22.68 23 23 22.66 23 22.28V16.77L21.57 12.66M13.41 13H20.6L21.63 16H12.38L13.41 13M13 19C12.45 19 12 18.55 12 18S12.45 17 13 17 14 17.45 14 18 13.55 19 13 19M21 19C20.45 19 20 18.55 20 18S20.45 17 21 17 22 17.45 22 18 21.55 19 21 19M6.66 14.53L7 17L5.95 18.06L4.19 14.88L1 13.11L2.06 12.03L4.56 12.4L8.43 8.53L1 4.62L2.42 3.21L11.61 5.33L15.5 1.44C16.06 .855 17.06 .855 17.62 1.44C18.21 2.03 18.21 3 17.62 3.56L13.73 7.45L14.55 11H13.41C12.54 11 11.79 11.5 11.5 12.31L11.47 12.37L10.56 10.63L6.66 14.53Z\";\r\nexport var mdiPlaneTrain = \"M20 8H14C12.34 8 11 9.34 11 11V18C11 19.66 12.34 21 14 21L13 22V23H14L16 20.97H18L20 23H21V22L20 21C21.66 21 23 19.66 23 18V11C23 9.34 21.66 8 20 8M14 19C13.45 19 13 18.55 13 18S13.45 17 14 17 15 17.45 15 18 14.55 19 14 19M20 19C19.45 19 19 18.55 19 18S19.45 17 20 17 21 17.45 21 18 20.55 19 20 19M21 16H13V10H21V16M6.66 14.53L7 17L5.95 18.06L4.19 14.88L1 13.11L2.06 12.03L4.56 12.4L8.43 8.53L1 4.62L2.42 3.21L11.61 5.33L15.5 1.44C16.06 .855 17.06 .855 17.62 1.44C18.21 2.03 18.21 3 17.62 3.56L14.18 7H14C11.79 7 10 8.79 10 11V11.19L6.66 14.53Z\";\r\nexport var mdiPlay = \"M8,5.14V19.14L19,12.14L8,5.14Z\";\r\nexport var mdiPlayBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.89 20.1 3 19 3M10 16V8L15 12\";\r\nexport var mdiPlayBoxEditOutline = \"M13 18.9L19.1 12.8L21.2 14.9L15.1 21H13V18.9M21.4 11.3L22.7 12.6C22.9 12.8 22.9 13.1 22.7 13.3L21.7 14.3L19.6 12.3L20.6 11.3C20.7 11.2 20.8 11.1 21 11.1S21.3 11.1 21.4 11.3M11 21H5C4.5 21 4 20.8 3.6 20.4C3.2 20 3 19.5 3 19V5C3 4.5 3.2 4 3.6 3.6C4 3.2 4.5 3 5 3H19C20.1 3 21 3.9 21 5V9H19V5H5V19H11V21M15 12L10 8V16L15 12Z\";\r\nexport var mdiPlayBoxLock = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12C20.4 12 21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M13 19V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V10.1L19 10L18 10.1C15.79 10.55 14.12 12.45 14 14.76C13.39 15.31 13 16.11 13 17V19M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2C18.2 13.2 17.5 13.7 17.5 14.5V16H20.5V14.5M9 8V16L14 12L9 8Z\";\r\nexport var mdiPlayBoxLockOpen = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M9 8V16L14 12L9 8M13 19V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V9.1L19 9C16.24 9 14 11.24 14 14V14.76C13.39 15.31 13 16.11 13 17V19Z\";\r\nexport var mdiPlayBoxLockOpenOutline = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11C20.4 11 21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2C18.2 12.2 17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M18 5H4V19H13V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V9.1L19 9L18 9.1V5M9 8L14 12L9 16V8Z\";\r\nexport var mdiPlayBoxLockOutline = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12C20.4 12 21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2C18.2 13.2 17.5 13.7 17.5 14.5V16H20.5V14.5M18 5H4V19H13V21H4C2.89 21 2 20.1 2 19V5C2 3.89 2.89 3 4 3H18C19.1 3 20 3.89 20 5V10.1L19 10L18 10.1V5M9 8L14 12L9 16V8Z\";\r\nexport var mdiPlayBoxMultiple = \"M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,14.5V5.5L18,10L12,14.5Z\";\r\nexport var mdiPlayBoxMultipleOutline = \"M4 6H2V20C2 21.1 2.9 22 4 22H18V20H4V6M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.1 6.9 18 8 18H20C21.1 18 22 17.1 22 16V4C22 2.9 21.1 2 20 2M12 14.5V5.5L18 10L12 14.5Z\";\r\nexport var mdiPlayBoxOutline = \"M19,19H5V5H19M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3M10,8V16L15,12L10,8Z\";\r\nexport var mdiPlayCircle = \"M10,16.5V7.5L16,12M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiPlayCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M10,16.5L16,12L10,7.5V16.5Z\";\r\nexport var mdiPlayNetwork = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M10,14V6L15,10L10,14Z\";\r\nexport var mdiPlayNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M10,14V6L15,10L10,14Z\";\r\nexport var mdiPlayOutline = \"M8.5,8.64L13.77,12L8.5,15.36V8.64M6.5,5V19L17.5,12\";\r\nexport var mdiPlayPause = \"M3,5V19L11,12M13,19H16V5H13M18,5V19H21V5\";\r\nexport var mdiPlayProtectedContent = \"M2,5V18H11V16H4V7H17V11H19V5H2M9,9V14L12.5,11.5L9,9M21.04,11.67L16.09,16.62L13.96,14.5L12.55,15.91L16.09,19.45L22.45,13.09L21.04,11.67Z\";\r\nexport var mdiPlaySpeed = \"M13,2.05V4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03V2.05M5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37L5.67,19.74M7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74M5.69,7.1L4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1M4.06,13H2.06C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13M10,16.5L16,12L10,7.5V16.5Z\";\r\nexport var mdiPlaylistCheck = \"M14 10H3V12H14V10M14 6H3V8H14V6M3 16H10V14H3V16M21.5 11.5L23 13L16 20L11.5 15.5L13 14L16 17L21.5 11.5Z\";\r\nexport var mdiPlaylistEdit = \"M3 6V8H14V6H3M3 10V12H14V10H3M20 10.1C19.9 10.1 19.7 10.2 19.6 10.3L18.6 11.3L20.7 13.4L21.7 12.4C21.9 12.2 21.9 11.8 21.7 11.6L20.4 10.3C20.3 10.2 20.2 10.1 20 10.1M18.1 11.9L12 17.9V20H14.1L20.2 13.9L18.1 11.9M3 14V16H10V14H3Z\";\r\nexport var mdiPlaylistMinus = \"M3 16H10V14H3M12 14V16H22V14M14 6H3V8H14M14 10H3V12H14V10Z\";\r\nexport var mdiPlaylistMusic = \"M15,6H3V8H15V6M15,10H3V12H15V10M3,16H11V14H3V16M17,6V14.18C16.69,14.07 16.35,14 16,14A3,3 0 0,0 13,17A3,3 0 0,0 16,20A3,3 0 0,0 19,17V8H22V6H17Z\";\r\nexport var mdiPlaylistMusicOutline = \"M15,6V8H3V6H15M15,10V12H3V10H15M3,16V14H11V16H3M17,6H22V8H19V17A3,3 0 0,1 16,20A3,3 0 0,1 13,17A3,3 0 0,1 16,14C16.35,14 16.69,14.07 17,14.18V6M16,16A1,1 0 0,0 15,17A1,1 0 0,0 16,18A1,1 0 0,0 17,17A1,1 0 0,0 16,16Z\";\r\nexport var mdiPlaylistPlay = \"M3 10H14V12H3V10M3 6H14V8H3V6M3 14H10V16H3V14M16 13V21L22 17L16 13Z\";\r\nexport var mdiPlaylistPlus = \"M3 16H10V14H3M18 14V10H16V14H12V16H16V20H18V16H22V14M14 6H3V8H14M14 10H3V12H14V10Z\";\r\nexport var mdiPlaylistRemove = \"M14 10H3V12H14V10M14 6H3V8H14V6M3 16H10V14H3V16M14.4 22L17 19.4L19.6 22L21 20.6L18.4 18L21 15.4L19.6 14L17 16.6L14.4 14L13 15.4L15.6 18L13 20.6L14.4 22Z\";\r\nexport var mdiPlaylistStar = \"M17 19.1L19.5 20.6L18.8 17.8L21 15.9L18.1 15.7L17 13L15.9 15.6L13 15.9L15.2 17.8L14.5 20.6L17 19.1M3 14H11V16H3V14M3 6H15V8H3V6M3 10H15V12H3V10Z\";\r\nexport var mdiPlex = \"M4,2C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2H4M8.56,6H12.06L15.5,12L12.06,18H8.56L12,12L8.56,6Z\";\r\nexport var mdiPliers = \"M9.4 12.2C9.4 12.2 11.7 15.3 13.8 17.4C14.7 18.3 15.6 18.9 16.3 19.4C17.1 19.9 17.3 21 16.6 21.7C16.2 22.1 15.5 22.3 15 22C14.2 21.6 13 20.8 11.7 19.6C9.6 17.5 7.3 14.4 7.3 14.4L9.4 12.2M12.2 9.4C12.2 9.4 15.3 11.7 17.4 13.8C18.3 14.7 18.9 15.6 19.4 16.3C19.9 17.1 21 17.3 21.7 16.6C22.1 16.2 22.3 15.5 22 15C21.6 14.2 20.8 13 19.6 11.7C17.5 9.6 14.4 7.3 14.4 7.3L12.2 9.4M10.4 5.5L7.6 2.7L4.1 2L3.6 2.5L5.9 4.8C6.4 4.7 6.9 4.8 7.3 5.2C7.9 5.8 7.9 6.7 7.3 7.3S5.8 7.9 5.2 7.3C4.8 6.9 4.7 6.3 4.8 5.8L2.5 3.6L2 4.1L2.7 7.6L5.5 10.4L6.9 13.2L8.8 11.3L7.8 9.5L9.4 7.9L11.3 8.8L13.2 6.9L10.4 5.5Z\";\r\nexport var mdiPlus = \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\";\r\nexport var mdiPlusBox = \"M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiPlusBoxMultiple = \"M19,11H15V15H13V11H9V9H13V5H15V9H19M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6Z\";\r\nexport var mdiPlusBoxMultipleOutline = \"M18 11H15V14H13V11H10V9H13V6H15V9H18M20 4V16H8V4H20M20 2H8C6.9 2 6 2.9 6 4V16C6 17.11 6.9 18 8 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M4 6H2V20C2 21.11 2.9 22 4 22H18V20H4V6Z\";\r\nexport var mdiPlusBoxOutline = \"M19,19V5H5V19H19M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5C3,3.89 3.9,3 5,3H19M11,7H13V11H17V13H13V17H11V13H7V11H11V7Z\";\r\nexport var mdiPlusCircle = \"M17,13H13V17H11V13H7V11H11V7H13V11H17M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiPlusCircleMultiple = \"M2 12C2 9.2 3.6 6.8 6 5.7V3.5C2.5 4.8 0 8.1 0 12S2.5 19.2 6 20.5V18.3C3.6 17.2 2 14.8 2 12M15 3C10 3 6 7 6 12S10 21 15 21 24 17 24 12 20 3 15 3M20 13H16V17H14V13H10V11H14V7H16V11H20V13Z\";\r\nexport var mdiPlusCircleMultipleOutline = \"M16,8H14V11H11V13H14V16H16V13H19V11H16M2,12C2,9.21 3.64,6.8 6,5.68V3.5C2.5,4.76 0,8.09 0,12C0,15.91 2.5,19.24 6,20.5V18.32C3.64,17.2 2,14.79 2,12M15,3C10.04,3 6,7.04 6,12C6,16.96 10.04,21 15,21C19.96,21 24,16.96 24,12C24,7.04 19.96,3 15,3M15,19C11.14,19 8,15.86 8,12C8,8.14 11.14,5 15,5C18.86,5 22,8.14 22,12C22,15.86 18.86,19 15,19Z\";\r\nexport var mdiPlusCircleOutline = \"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z\";\r\nexport var mdiPlusLock = \"M21.14 17.67V17.22C21.14 16 20.2 15 19 15S16.86 16 16.86 17.22V17.67C16.34 17.67 16 18 16 18.56V22.11C16 22.65 16.34 23 16.86 23H21.14C21.66 23 22 22.65 22 22.11V18.55C22 18 21.66 17.67 21.14 17.67M20.29 17.67H17.72V17.22C17.72 16.5 18.31 15.89 19 15.89C19.69 15.89 20.29 16.5 20.29 17.22V17.67M11 5V11H5V13H11V19H13V13H19V11H13V5H11Z\";\r\nexport var mdiPlusLockOpen = \"M11 5V11H5V13H11V19H13V13H19V11H13V5H11M19 15C17.95 15 16.9 15.8 16.9 16.82V18.64C16.45 18.64 16 19.07 16 19.5V22.05C16 22.56 16.45 23 16.9 23H21.03C21.55 23 22 22.56 22 22.13V19.58C22 19.07 21.55 18.64 21.1 18.64H17.88V16.82C17.88 16.24 18.4 15.87 19 15.87S20.13 16.24 20.13 16.82V17.18H21.1V16.82C21.1 15.8 20.05 15 19 15Z\";\r\nexport var mdiPlusMinus = \"M11,4V9H6V11H11V16H13V11H18V9H13V4H11M6,18V20H18V18H6Z\";\r\nexport var mdiPlusMinusBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M11,6H13V9H16V11H13V14H11V11H8V9H11V6M8,16H16V18H8V16Z\";\r\nexport var mdiPlusMinusVariant = \"M3 7H6V4H8V7H11V9H8V12H6V9H3V7M13 15H21V17H13V15M16.04 3H18.35L7.96 21H5.65L16.04 3Z\";\r\nexport var mdiPlusNetwork = \"M16,11V9H13V6H11V9H8V11H11V14H13V11H16M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17Z\";\r\nexport var mdiPlusNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M15,11H13V13H11V11H9V9H11V7H13V9H15V11Z\";\r\nexport var mdiPlusOutline = \"M4,9H9V4H15V9H20V15H15V20H9V15H4V9M11,13V18H13V13H18V11H13V6H11V11H6V13H11Z\";\r\nexport var mdiPlusThick = \"M20 14H14V20H10V14H4V10H10V4H14V10H20V14Z\";\r\nexport var mdiPocket = \"M4 3H20V17.63L12 22.25L4 17.63V3M18 9H6V16.5L12 19.94L18 16.5V9M18 5H6V7H18V5Z\";\r\nexport var mdiPodcast = \"M17,18.25V21.5H7V18.25C7,16.87 9.24,15.75 12,15.75C14.76,15.75 17,16.87 17,18.25M12,5.5A6.5,6.5 0 0,1 18.5,12C18.5,13.25 18.15,14.42 17.54,15.41L16,14.04C16.32,13.43 16.5,12.73 16.5,12C16.5,9.5 14.5,7.5 12,7.5C9.5,7.5 7.5,9.5 7.5,12C7.5,12.73 7.68,13.43 8,14.04L6.46,15.41C5.85,14.42 5.5,13.25 5.5,12A6.5,6.5 0 0,1 12,5.5M12,1.5A10.5,10.5 0 0,1 22.5,12C22.5,14.28 21.77,16.39 20.54,18.11L19.04,16.76C19.96,15.4 20.5,13.76 20.5,12A8.5,8.5 0 0,0 12,3.5A8.5,8.5 0 0,0 3.5,12C3.5,13.76 4.04,15.4 4.96,16.76L3.46,18.11C2.23,16.39 1.5,14.28 1.5,12A10.5,10.5 0 0,1 12,1.5M12,9.5A2.5,2.5 0 0,1 14.5,12A2.5,2.5 0 0,1 12,14.5A2.5,2.5 0 0,1 9.5,12A2.5,2.5 0 0,1 12,9.5Z\";\r\nexport var mdiPodium = \"M12,7.09L14.45,8.58L13.8,5.77L16,3.89L13.11,3.64L12,1L10.87,3.64L8,3.89L10.18,5.77L9.5,8.58L12,7.09M4,13.09L6.45,14.58L5.8,11.77L8,9.89L5.11,9.64L4,7L2.87,9.64L0,9.89L2.18,11.77L1.5,14.58L4,13.09M20,10.09L22.45,11.58L21.8,8.77L24,6.89L21.11,6.64L20,4L18.87,6.64L16,6.89L18.18,8.77L17.5,11.58L20,10.09M15,23H9V10H15V23M7,23H1V17H7V23M23,23H17V13H23V23Z\";\r\nexport var mdiPodiumBronze = \"M4,13.09L6.45,14.58L5.8,11.77L8,9.89L5.11,9.64L4,7L2.87,9.64L0,9.89L2.18,11.77L1.5,14.58L4,13.09M7,23H1V17H7V23M9,10V23H15V10H9M13,21H11V12H13V21M17,13V23H23V13H17M21,21H19V15H21V21Z\";\r\nexport var mdiPodiumGold = \"M12,7.09L14.45,8.58L13.8,5.77L16,3.89L13.11,3.64L12,1L10.87,3.64L8,3.89L10.18,5.77L9.5,8.58L12,7.09M15,23H9V10H15V23M1,17V23H7V17H1M5,21H3V19H5V21M17,13V23H23V13H17M21,21H19V15H21V21Z\";\r\nexport var mdiPodiumSilver = \"M20,10.09L22.45,11.58L21.8,8.77L24,6.89L21.11,6.64L20,4L18.87,6.64L16,6.89L18.18,8.77L17.5,11.58L20,10.09M23,23H17V13H23V23M1,17V23H7V17H1M5,21H3V19H5V21M9,10V23H15V10H9M13,21H11V12H13V21Z\";\r\nexport var mdiPointOfSale = \"M20,5C19.4,5 19,5.5 19,6.1V16C19,16.6 19.4,17 20,17.1C20.6,17.1 21,16.6 21,16V6.1C21,5.5 20.6,5 20,5M16.4,2H4.6C3.7,2 3,2.7 3,3.6V17.4C3,18.3 3.7,19 4.6,19H6V21C6,21.6 6.4,22 7,22H13C13.6,22 14,21.6 14,21V19H16.4C17.3,19 18,18.3 18,17.4V3.6C18,2.7 17.3,2 16.4,2M5,8H8V10H5V8M12,11V13H9V11H12M9,10V8H12V10H9M12,14V16H9V14H12M5,11H8V13H5V11M5,16V14H8V16H5M8,21H7V19H8V21M13,21H10V19H13V21M16,16H13V14H16V16M16,13H13V11H16V13M16,10H13V8H16V10M16,6H5V4H16V6Z\";\r\nexport var mdiPokeball = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C7.92,4 4.55,7.05 4.06,11H8.13C8.57,9.27 10.14,8 12,8C13.86,8 15.43,9.27 15.87,11H19.94C19.45,7.05 16.08,4 12,4M12,20C16.08,20 19.45,16.95 19.94,13H15.87C15.43,14.73 13.86,16 12,16C10.14,16 8.57,14.73 8.13,13H4.06C4.55,16.95 7.92,20 12,20M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiPokemonGo = \"M12,2A7,7 0 0,1 19,9C19,10.4 18.59,11.71 17.88,12.8L12,22.21L6.12,12.8C5.41,11.71 5,10.4 5,9A7,7 0 0,1 12,2M12,3.5C9.3,3.5 7.06,5.44 6.59,8H9.17C9.58,6.83 10.69,6 12,6C13.31,6 14.42,6.83 14.83,8H17.41C16.94,5.44 14.7,3.5 12,3.5M12,12C10.69,12 9.58,11.17 9.17,10H6.59C6.72,10.69 6.97,11.34 7.34,11.91V11.91L7.38,12C8.36,13.5 10.06,14.5 12,14.5C13.94,14.5 15.64,13.5 16.62,12L16.66,11.91V11.91C17.03,11.34 17.28,10.69 17.41,10H14.83C14.42,11.17 13.31,12 12,12M12,7.5A1.5,1.5 0 0,0 10.5,9A1.5,1.5 0 0,0 12,10.5A1.5,1.5 0 0,0 13.5,9A1.5,1.5 0 0,0 12,7.5Z\";\r\nexport var mdiPokerChip = \"M23,12C23,18.08 18.08,23 12,23C5.92,23 1,18.08 1,12C1,5.92 5.92,1 12,1C18.08,1 23,5.92 23,12M13,4.06C15.13,4.33 17.07,5.45 18.37,7.16L20.11,6.16C18.45,3.82 15.86,2.3 13,2V4.06M3.89,6.16L5.63,7.16C6.93,5.45 8.87,4.33 11,4.06V2C8.14,2.3 5.55,3.82 3.89,6.16M2.89,16.1L4.62,15.1C3.79,13.12 3.79,10.88 4.62,8.9L2.89,7.9C1.7,10.5 1.7,13.5 2.89,16.1M11,19.94C8.87,19.67 6.93,18.55 5.63,16.84L3.89,17.84C5.55,20.18 8.14,21.7 11,22V19.94M20.11,17.84L18.37,16.84C17.07,18.55 15.13,19.67 13,19.94V21.94C15.85,21.65 18.44,20.16 20.11,17.84M21.11,16.1C22.3,13.5 22.3,10.5 21.11,7.9L19.38,8.9C20.21,10.88 20.21,13.12 19.38,15.1L21.11,16.1M15,12L12,7L9,12L12,17L15,12Z\";\r\nexport var mdiPolaroid = \"M6,3H18A2,2 0 0,1 20,5V19A2,2 0 0,1 18,21H6A2,2 0 0,1 4,19V5A2,2 0 0,1 6,3M6,5V17H18V5H6Z\";\r\nexport var mdiPoliceBadge = \"M22 4L20 2C18.85 2.64 17.4 3 16 3C14.6 3 13.14 2.63 12 2C10.86 2.63 9.4 3 8 3C6.6 3 5.15 2.64 4 2L2 4C2 4 4 6 4 8S2 14 2 16C2 20 12 22 12 22S22 20 22 16C22 14 20 10 20 8S22 4 22 4M15.05 16.45L11.97 14.59L8.9 16.45L9.72 12.95L7 10.61L10.58 10.3L11.97 7L13.37 10.29L16.95 10.6L14.23 12.94L15.05 16.45Z\";\r\nexport var mdiPoliceBadgeOutline = \"M12 4.21C13.24 4.72 14.65 5 16 5C17.05 5 18.1 4.84 19.08 4.54C18.5 5.5 18 6.71 18 8C18 9.32 18.54 10.93 19.1 12.63C19.5 13.83 20 15.33 20 16C20 17.03 16.47 19 12 19.96C7.54 19 4 17.03 4 16C4 15.33 4.5 13.83 4.9 12.63C5.46 10.93 6 9.32 6 8C6 6.71 5.5 5.5 4.92 4.54C5.9 4.84 6.96 5 8 5C9.35 5 10.76 4.72 12 4.21M20 2C18.85 2.64 17.4 3 16 3C14.6 3 13.14 2.63 12 2C10.86 2.63 9.4 3 8 3C6.6 3 5.15 2.64 4 2L2 4C2 4 4 6 4 8S2 14 2 16C2 20 12 22 12 22S22 20 22 16C22 14 20 10 20 8S22 4 22 4L20 2M15.05 16.45L11.97 14.59L8.9 16.45L9.72 12.95L7 10.61L10.58 10.3L11.97 7L13.37 10.29L16.95 10.6L14.23 12.94L15.05 16.45\";\r\nexport var mdiPoliceStation = \"M12 10C12 10 16 9.2 16 7.6C16 6.8 15.2 5.2 15.2 4.4C15.2 3.6 16 2.8 16 2.8L15.2 2C14.74 2.26 14.16 2.4 13.6 2.4S12.46 2.25 12 2C11.54 2.25 10.96 2.4 10.4 2.4C9.84 2.4 9.26 2.26 8.8 2L8 2.8C8 2.8 8.8 3.6 8.8 4.4C8.8 5.2 8 6.8 8 7.6C8 9.2 12 10 12 10M11.43 5.32L12 4L12.55 5.32L14 5.44L12.89 6.38L13.22 7.78L12 7.04L10.76 7.78L11.09 6.38L10 5.44L11.43 5.32M21 6H16.65C16.84 6.58 17 7.12 17 7.6C17 9.85 13.32 10.76 12.2 11L12 11L11.8 11C10.68 10.76 7 9.85 7 7.6C7 7.12 7.16 6.58 7.35 6H3C2.45 6 2 6.45 2 7V22H10V17H14V22H22V7C22 6.45 21.55 6 21 6M8 20H4V17H8V20M8 15H4V12H8V15M14 15H10V12H14V15M20 20H16V17H20V20M20 15H16V12H20V15Z\";\r\nexport var mdiPoll = \"M3,22V8H7V22H3M10,22V2H14V22H10M17,22V14H21V22H17Z\";\r\nexport var mdiPolo = \"M22 9.5C22 10.88 20.88 12 19.5 12S17 10.88 17 9.5 18.12 7 19.5 7 22 8.12 22 9.5M11 17V3H8V17H2L6 21H13V17H11M16 17H14V21H16V17Z\";\r\nexport var mdiPolymer = \"M19,4H15L7.1,16.63L4.5,12L9,4H5L0.5,12L5,20H9L16.89,7.37L19.5,12L15,20H19L23.5,12L19,4Z\";\r\nexport var mdiPool = \"M2,15C3.67,14.25 5.33,13.5 7,13.17V5A3,3 0 0,1 10,2C11.31,2 12.42,2.83 12.83,4H10A1,1 0 0,0 9,5V6H14V5A3,3 0 0,1 17,2C18.31,2 19.42,2.83 19.83,4H17A1,1 0 0,0 16,5V14.94C18,14.62 20,13 22,13V15C19.78,15 17.56,17 15.33,17C13.11,17 10.89,15 8.67,15C6.44,15 4.22,16 2,17V15M14,8H9V10H14V8M14,12H9V13C10.67,13.16 12.33,14.31 14,14.79V12M2,19C4.22,18 6.44,17 8.67,17C10.89,17 13.11,19 15.33,19C17.56,19 19.78,17 22,17V19C19.78,19 17.56,21 15.33,21C13.11,21 10.89,19 8.67,19C6.44,19 4.22,20 2,21V19Z\";\r\nexport var mdiPoolThermometer = \"M19 6C17.9 6 17 6.9 17 8V14.8C16.4 15.4 16 16.2 16 17C16 18.7 17.3 20 19 20S22 18.7 22 17C22 16.1 21.6 15.3 21 14.8V8C21 6.9 20.1 6 19 6M19 7C19.5 7 20 7.4 20 8V9H18V8C18 7.4 18.5 7 19 7M15 20.3C14.1 20.7 13.2 21 12.3 21C10.1 21 7.9 19 5.6 19C4.4 19 3.2 19.3 1.9 19.7V17.7C3.2 17.3 4.4 17 5.7 17C7.9 17 10.1 19 12.4 19C13.3 19 14.2 18.7 15.1 18.3V20.3M12.3 17C13.2 17 14.1 16.7 15 16.3V14.3C14.3 14.6 13.7 14.8 13 15V5C13 4.4 13.4 4 14 4H16.8C16.4 2.8 15.3 2 14 2C12.3 2 11 3.3 11 5V6H6V5C6 4.4 6.4 4 7 4H9.8C9.4 2.8 8.3 2 7 2C5.3 2 4 3.3 4 5V13.2C3.3 13.3 2.7 13.5 2 13.8V15.8C3.2 15.3 4.4 15 5.7 15C7.9 15 10.1 17 12.3 17M6 8H11V10H6V8M6 12H11V14.8C9.3 14.3 7.7 13.2 6 13V12Z\";\r\nexport var mdiPopcorn = \"M7,22H4.75C4.75,22 4,22 3.81,20.65L2.04,3.81L2,3.5C2,2.67 2.9,2 4,2C5.1,2 6,2.67 6,3.5C6,2.67 6.9,2 8,2C9.1,2 10,2.67 10,3.5C10,2.67 10.9,2 12,2C13.09,2 14,2.66 14,3.5V3.5C14,2.67 14.9,2 16,2C17.1,2 18,2.67 18,3.5C18,2.67 18.9,2 20,2C21.1,2 22,2.67 22,3.5L21.96,3.81L20.19,20.65C20,22 19.25,22 19.25,22H17L16.5,22H13.75L10.25,22H7.5L7,22M17.85,4.93C17.55,4.39 16.84,4 16,4C15.19,4 14.36,4.36 14,4.87L13.78,20H16.66L17.85,4.93M10,4.87C9.64,4.36 8.81,4 8,4C7.16,4 6.45,4.39 6.15,4.93L7.34,20H10.22L10,4.87Z\";\r\nexport var mdiPost = \"M3 3V21H21V3H3M18 18H6V17H18V18M18 16H6V15H18V16M18 12H6V6H18V12Z\";\r\nexport var mdiPostLamp = \"M14 3L13 1H11L10 3L5 6H7L8 14L10 16L10.5 17H9V23H15V17H13.5L14 16L16 14L17 6H19L14 3M14.16 13H9.84L9 6H15L14.16 13Z\";\r\nexport var mdiPostOutline = \"M19 5V19H5V5H19M21 3H3V21H21V3M17 17H7V16H17V17M17 15H7V14H17V15M17 12H7V7H17V12Z\";\r\nexport var mdiPostageStamp = \"M2,2V5.5C3.1,5.5 4,6.62 4,8C4,9.38 3.1,10.5 2,10.5V13.5C3.1,13.5 4,14.62 4,16C4,17.38 3.1,18.5 2,18.5V22H5.5C5.5,20.9 6.62,20 8,20C9.38,20 10.5,20.9 10.5,22H13.5C13.5,20.9 14.62,20 16,20C17.38,20 18.5,20.9 18.5,22H22V18.5C20.9,18.5 20,17.38 20,16V16C20,14.62 20.9,13.5 22,13.5V10.5C20.9,10.5 20,9.38 20,8V8C20,6.62 20.9,5.5 22,5.5V2H18.5C18.5,3.1 17.38,4 16,4C14.62,4 13.5,3.1 13.5,2H10.5C10.5,3.1 9.38,4 8,4C6.62,4 5.5,3.1 5.5,2H2M6,6H18V18H6V6M9,7A2,2 0 0,0 7,9A2,2 0 0,0 9,11A2,2 0 0,0 11,9A2,2 0 0,0 9,7M17,10L14,13L12,12L7,17H17V10Z\";\r\nexport var mdiPot = \"M19 19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V12H3V10H21V12H19V19Z\";\r\nexport var mdiPotMix = \"M14.6 9L18 3.1L19.7 4.1L16.9 9H14.6M14 10H3V12H5V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V12H21V10H14Z\";\r\nexport var mdiPotMixOutline = \"M14.6 9L18 3.1L19.7 4.1L16.9 9H14.6M16.3 10H21V12H19V19C19 20.1 18.1 21 17 21H7C5.9 21 5 20.1 5 19V12H3V10H16.3M17 12H7V19H17V12Z\";\r\nexport var mdiPotOutline = \"M3 10V12H5V19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19V12H21V10H3M7 12H17V19H7V12Z\";\r\nexport var mdiPotSteam = \"M19 19C19 20.11 18.11 21 17 21H7C5.9 21 5 20.11 5 19V12H3V10H21V12H19M8 1.5C6.15 1.5 4.65 3 4.65 4.85C4.65 6.7 6.15 8.2 8 8.2H9.53C9.92 8.2 10.29 8.3 10.61 8.5H12.63C12.05 7.45 10.86 6.75 9.53 6.75H8C7 6.75 6.15 5.77 6.15 4.75C6.15 3.73 7 3 8 3M12.85 2C12.85 3 12 3.85 11 3.85V5.35C12.92 5.35 14.5 6.7 14.89 8.5H16.42C16.12 6.67 14.96 5.15 13.35 4.38C13.97 3.77 14.35 2.93 14.35 2Z\";\r\nexport var mdiPotSteamOutline = \"M8 1.5C6.15 1.5 4.65 3 4.65 4.85C4.65 6.7 6.15 8.2 8 8.2H9.53C9.92 8.2 10.29 8.3 10.61 8.5H12.63C12.05 7.45 10.86 6.75 9.53 6.75H8C7 6.75 6.15 5.77 6.15 4.75C6.15 3.73 7 3 8 3V1.5M12.85 2C12.85 3 12 3.85 11 3.85V5.35C12.92 5.35 14.5 6.7 14.89 8.5H16.42C16.12 6.67 14.96 5.15 13.35 4.38C13.97 3.77 14.35 2.93 14.35 2H12.85M3 10V12H5V19C5 20.11 5.9 21 7 21H17C18.11 21 19 20.11 19 19V12H21V10H3M7 12H17V19H7V12Z\";\r\nexport var mdiPound = \"M5.41,21L6.12,17H2.12L2.47,15H6.47L7.53,9H3.53L3.88,7H7.88L8.59,3H10.59L9.88,7H15.88L16.59,3H18.59L17.88,7H21.88L21.53,9H17.53L16.47,15H20.47L20.12,17H16.12L15.41,21H13.41L14.12,17H8.12L7.41,21H5.41M9.53,9L8.47,15H14.47L15.53,9H9.53Z\";\r\nexport var mdiPoundBox = \"M3,5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5M7,18H9L9.35,16H13.35L13,18H15L15.35,16H17.35L17.71,14H15.71L16.41,10H18.41L18.76,8H16.76L17.12,6H15.12L14.76,8H10.76L11.12,6H9.12L8.76,8H6.76L6.41,10H8.41L7.71,14H5.71L5.35,16H7.35L7,18M10.41,10H14.41L13.71,14H9.71L10.41,10Z\";\r\nexport var mdiPoundBoxOutline = \"M19 19H5V5H19M19 3H5A2 2 0 0 0 3 5V19A2 2 0 0 0 5 21H19A2 2 0 0 0 21 19V5A2 2 0 0 0 19 3M7 9H9.31L9.63 6H11.63L11.31 9H13.31L13.63 6H15.63L15.31 9H17V11H15.1L14.9 13H17V15H14.69L14.37 18H12.37L12.69 15H10.69L10.37 18H8.37L8.69 15H7V13H8.9L9.1 11H7V9M11.1 11L10.9 13H12.9L13.1 11Z\";\r\nexport var mdiPower = \"M16.56,5.44L15.11,6.89C16.84,7.94 18,9.83 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12C6,9.83 7.16,7.94 8.88,6.88L7.44,5.44C5.36,6.88 4,9.28 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,9.28 18.64,6.88 16.56,5.44M13,3H11V13H13\";\r\nexport var mdiPowerCycle = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19M13,17H11V7H13V17Z\";\r\nexport var mdiPowerOff = \"M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12A9,9 0 0,0 12,3M12,19A7,7 0 0,1 5,12A7,7 0 0,1 12,5A7,7 0 0,1 19,12A7,7 0 0,1 12,19Z\";\r\nexport var mdiPowerOn = \"M11,3H13V21H11V3Z\";\r\nexport var mdiPowerPlug = \"M16,7V3H14V7H10V3H8V7H8C7,7 6,8 6,9V14.5L9.5,18V21H14.5V18L18,14.5V9C18,8 17,7 16,7Z\";\r\nexport var mdiPowerPlugBattery = \"M12 10C12 9.35 11.57 8.7 11 8.32C10.7 8.12 10.35 8 10 8V4H8V8H4V4H2V8C1 8 0 9 0 10V15.5L3.5 19V22H8.5V19L12 15.5V10M12.33 4C12.22 4 12.11 4 12 4.04V6.59C12.3 6.77 12.56 7 12.79 7.21C13.44 7.87 14 8.85 14 10V16.33L11 19.33V20.67C11 21.4 11.6 22 12.33 22H21.67C22 22 22.36 21.86 22.61 21.61C22.86 21.36 23 21 23 20.67V5.33C23 4.6 22.4 4 21.67 4H20V2H14V4H12.33Z\";\r\nexport var mdiPowerPlugBatteryOutline = \"M11 8.32C11.57 8.7 12 9.35 12 10V15.5L8.5 19V22H3.5V19L0 15.5V10C0 9 1 8 2 8V4H4V8H8V4H10V8C10.35 8 10.7 8.12 11 8.32M7.09 17.59L10 14.67V10.09C10 10.06 9.95 10 9.92 10H2.09C2.06 10 2 10.06 2 10.09V14.67L5.33 18H6.67L7.09 17.59M12 4.04C12.11 4 12.22 4 12.33 4H14V2H20V4H21.67C22.4 4 23 4.6 23 5.33V20.67C23 21 22.86 21.36 22.61 21.61C22.36 21.86 22 22 21.67 22H12.33C11.6 22 11 21.4 11 20.67V19.33L13 17.33V20H21V6H12V4.04Z\";\r\nexport var mdiPowerPlugOff = \"M20.84 22.73L15.31 17.2L14.5 18V21H9.5V18L6 14.5V9C6 8.7 6.1 8.41 6.25 8.14L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18 14.5V9C18 8 17 7 16 7V3H14V7H10.2L17.85 14.65L18 14.5M10 3H8V4.8L10 6.8V3Z\";\r\nexport var mdiPowerPlugOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.25 8.14C6.1 8.41 6 8.7 6 9V14.5L9.5 18V21H14.5V18L15.31 17.2L20.84 22.73L22.11 21.46M13.09 16.59L12.67 17H11.33L10.92 16.59L8 13.67V9.89L13.89 15.78L13.09 16.59M12.2 9L10.2 7H14V3H16V7C17 7 18 8 18 9V14.5L17.85 14.65L16 12.8V9.09C16 9.06 15.95 9 15.92 9H12.2M10 6.8L8 4.8V3H10V6.8Z\";\r\nexport var mdiPowerPlugOutline = \"M16 7V3H14V7H10V3H8V7C7 7 6 8 6 9V14.5L9.5 18V21H14.5V18L18 14.5V9C18 8 17 7 16 7M16 13.67L13.09 16.59L12.67 17H11.33L10.92 16.59L8 13.67V9.09C8 9.06 8.06 9 8.09 9H15.92C15.95 9 16 9.06 16 9.09V13.67Z\";\r\nexport var mdiPowerSettings = \"M15,24H17V22H15M16.56,4.44L15.11,5.89C16.84,6.94 18,8.83 18,11A6,6 0 0,1 12,17A6,6 0 0,1 6,11C6,8.83 7.16,6.94 8.88,5.88L7.44,4.44C5.36,5.88 4,8.28 4,11A8,8 0 0,0 12,19A8,8 0 0,0 20,11C20,8.28 18.64,5.88 16.56,4.44M13,2H11V12H13M11,24H13V22H11M7,24H9V22H7V24Z\";\r\nexport var mdiPowerSleep = \"M18.73,18C15.4,21.69 9.71,22 6,18.64C2.33,15.31 2.04,9.62 5.37,5.93C6.9,4.25 9,3.2 11.27,3C7.96,6.7 8.27,12.39 12,15.71C13.63,17.19 15.78,18 18,18C18.25,18 18.5,18 18.73,18Z\";\r\nexport var mdiPowerSocket = \"M15,15H17V11H15M7,15H9V11H7M11,13H13V9H11M8.83,7H15.2L19,10.8V17H5V10.8M8,5L3,10V19H21V10L16,5H8Z\";\r\nexport var mdiPowerSocketAu = \"M4.22,2A2.22,2.22 0 0,0 2,4.22V19.78C2,21 3,22 4.22,22H19.78A2.22,2.22 0 0,0 22,19.78V4.22C22,3 21,2 19.78,2H4.22M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M8.27,7.54L6.27,11L8,12L10,8.54L8.27,7.54M15.73,7.54L14,8.54L16,12L17.73,11L15.73,7.54M11,14V18H13V14H11Z\";\r\nexport var mdiPowerSocketCh = \"M19.78 2H4.22C3 2 2 3 2 4.22V19.78C2 21 3 22 4.22 22H19.78C21 22 22 21 22 19.78V4.22C22 3 21 2 19.78 2M20 13L16.55 16.45C16.19 16.81 15.75 17 15.3 17H8.7C8.25 17 7.81 16.81 7.45 16.45L4 13C3.5 12.5 3.5 11.5 4 11L7.45 7.55C7.81 7.19 8.25 7 8.7 7H15.3C15.75 7 16.19 7.19 16.55 7.55L20 11C20.5 11.5 20.5 12.5 20 13M10.5 14C10.5 13.17 11.17 12.5 12 12.5S13.5 13.17 13.5 14 12.83 15.5 12 15.5 10.5 14.83 10.5 14M15.5 12C15.5 11.17 16.17 10.5 17 10.5S18.5 11.17 18.5 12 17.83 13.5 17 13.5 15.5 12.83 15.5 12M5.5 12C5.5 11.17 6.17 10.5 7 10.5S8.5 11.17 8.5 12 7.83 13.5 7 13.5 5.5 12.83 5.5 12Z\";\r\nexport var mdiPowerSocketDe = \"M4.22 2A2.22 2.22 0 0 0 2 4.22V19.78C2 21 3 22 4.22 22H19.78A2.22 2.22 0 0 0 22 19.78V4.22C22 3 21 2 19.78 2H4.22M11 4.07V6H13V4.07A8 8 0 0 1 20 12A8 8 0 0 1 13 19.93V18H11V19.93A8 8 0 0 1 4 12A8 8 0 0 1 11 4.07M7.5 10.5A1.5 1.5 0 0 0 6 12C6 12.83 6.66 13.5 7.5 13.5A1.5 1.5 0 0 0 9 12A1.5 1.5 0 0 0 7.5 10.5M16.5 10.5A1.5 1.5 0 0 0 15 12A1.5 1.5 0 0 0 16.5 13.5A1.5 1.5 0 0 0 18 12A1.5 1.5 0 0 0 16.5 10.5Z\";\r\nexport var mdiPowerSocketEu = \"M7.5,10.5A1.5,1.5 0 0,1 9,12A1.5,1.5 0 0,1 7.5,13.5C6.66,13.5 6,12.83 6,12A1.5,1.5 0 0,1 7.5,10.5M16.5,10.5A1.5,1.5 0 0,1 18,12A1.5,1.5 0 0,1 16.5,13.5A1.5,1.5 0 0,1 15,12A1.5,1.5 0 0,1 16.5,10.5M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiPowerSocketFr = \"M4.22 2A2.22 2.22 0 0 0 2 4.22V19.78C2 21 3 22 4.22 22H19.78A2.22 2.22 0 0 0 22 19.78V4.22C22 3 21 2 19.78 2H4.22M12 4A8 8 0 0 1 20 12A8 8 0 0 1 12 20A8 8 0 0 1 4 12A8 8 0 0 1 12 4M12 6A1.5 1.5 0 0 0 10.5 7.5A1.5 1.5 0 0 0 12 9A1.5 1.5 0 0 0 13.5 7.5A1.5 1.5 0 0 0 12 6M7.5 10.5A1.5 1.5 0 0 0 6 12C6 12.83 6.66 13.5 7.5 13.5A1.5 1.5 0 0 0 9 12A1.5 1.5 0 0 0 7.5 10.5M16.5 10.5A1.5 1.5 0 0 0 15 12A1.5 1.5 0 0 0 16.5 13.5A1.5 1.5 0 0 0 18 12A1.5 1.5 0 0 0 16.5 10.5Z\";\r\nexport var mdiPowerSocketIt = \"M10.5 16.5C10.5 15.68 11.17 15 12 15C12.83 15 13.5 15.68 13.5 16.5C13.5 17.34 12.83 18 12 18C11.17 18 10.5 17.34 10.5 16.5M10.5 7.5C10.5 6.67 11.17 6 12 6C12.83 6 13.5 6.67 13.5 7.5C13.5 8.33 12.83 9 12 9C11.17 9 10.5 8.33 10.5 7.5M4.22 2H19.78C21 2 22 3 22 4.22V19.78C22 21 21 22 19.78 22H4.22C3 22 2 21 2 19.78V4.22C2 3 3 2 4.22 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M10.5 12C10.5 11.17 11.17 10.5 12 10.5C12.83 10.5 13.5 11.17 13.5 12C13.5 12.83 12.83 13.5 12 13.5C11.17 13.5 10.5 12.83 10.5 12Z\";\r\nexport var mdiPowerSocketJp = \"M10 9.5V14.5H8V9.5M19.78 2C21 2 22 3 22 4.22V19.78C22 21 21 22 19.78 22H4.22C3 22 2 21 2 19.78V4.22C2 3 3 2 4.22 2M12 4C7.58 4 4 7.58 4 12C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4M16 9.5V14.5H14V9.5Z\";\r\nexport var mdiPowerSocketUk = \"M4 2A2 2 0 0 0 2 4V20A2 2 0 0 0 4 22H20A2 2 0 0 0 22 20V4A2 2 0 0 0 20 2H4M4 4H20V20H4V4M11 7V11H13V7H11M6 14.75V17H9.5V14.75H6M14.5 14.75V17H18V14.75H14.5Z\";\r\nexport var mdiPowerSocketUs = \"M8,7H10V12H8V7M4.22,2H19.78C21,2 22,3 22,4.22V19.78A2.22,2.22 0 0,1 19.78,22H4.22C3,22 2,21 2,19.78V4.22A2.22,2.22 0 0,1 4.22,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4M14,7.5H16V11.5H14V7.5M10.5,16.25A1.5,1.5 0 0,1 12,14.75A1.5,1.5 0 0,1 13.5,16.25V17H10.5V16.25Z\";\r\nexport var mdiPowerStandby = \"M13,3H11V13H13V3M17.83,5.17L16.41,6.59C18.05,7.91 19,9.9 19,12A7,7 0 0,1 12,19C8.14,19 5,15.88 5,12C5,9.91 5.95,7.91 7.58,6.58L6.17,5.17C2.38,8.39 1.92,14.07 5.14,17.86C8.36,21.64 14.04,22.1 17.83,18.88C19.85,17.17 21,14.65 21,12C21,9.37 19.84,6.87 17.83,5.17Z\";\r\nexport var mdiPowershell = \"M21.83,4C22.32,4 22.63,4.4 22.5,4.89L19.34,19.11C19.23,19.6 18.75,20 18.26,20H2.17C1.68,20 1.37,19.6 1.5,19.11L4.66,4.89C4.77,4.4 5.25,4 5.74,4H21.83M15.83,16H11.83C11.37,16 11,16.38 11,16.84C11,17.31 11.37,17.69 11.83,17.69H15.83C16.3,17.69 16.68,17.31 16.68,16.84C16.68,16.38 16.3,16 15.83,16M5.78,16.28C5.38,16.56 5.29,17.11 5.57,17.5C5.85,17.92 6.41,18 6.81,17.73C14.16,12.56 14.21,12.5 14.26,12.47C14.44,12.31 14.53,12.09 14.54,11.87C14.55,11.67 14.5,11.5 14.38,11.31L9.46,6.03C9.13,5.67 8.57,5.65 8.21,6C7.85,6.32 7.83,6.88 8.16,7.24L12.31,11.68L5.78,16.28Z\";\r\nexport var mdiPrescription = \"M4,4V10L4,14H6V10H8L13.41,15.41L9.83,19L11.24,20.41L14.83,16.83L18.41,20.41L19.82,19L16.24,15.41L19.82,11.83L18.41,10.41L14.83,14L10.83,10H11A3,3 0 0,0 14,7A3,3 0 0,0 11,4H4M6,6H11A1,1 0 0,1 12,7A1,1 0 0,1 11,8H6V6Z\";\r\nexport var mdiPresentation = \"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5Z\";\r\nexport var mdiPresentationPlay = \"M2,3H10A2,2 0 0,1 12,1A2,2 0 0,1 14,3H22V5H21V16H15.25L17,22H15L13.25,16H10.75L9,22H7L8.75,16H3V5H2V3M5,5V14H19V5H5M11.85,11.85C11.76,11.94 11.64,12 11.5,12A0.5,0.5 0 0,1 11,11.5V7.5A0.5,0.5 0 0,1 11.5,7C11.64,7 11.76,7.06 11.85,7.15L13.25,8.54C13.57,8.86 13.89,9.18 13.89,9.5C13.89,9.82 13.57,10.14 13.25,10.46L11.85,11.85Z\";\r\nexport var mdiPretzel = \"M5.15 15.84C3.81 14.27 3 12.23 3 10V9.97C3 7.22 5.25 5 8 5C9.64 5 11.09 5.79 12 7C12.91 5.79 14.37 5 16 5C18.76 5 21 7.24 21 10C21 12.23 20.19 14.27 18.85 15.84L20.21 17.2L18.79 18.61L17.39 17.21C15.89 18.33 14 19 12 19C10 19 8.11 18.33 6.61 17.21L5.21 18.61L3.79 17.2L5.15 15.84M15.96 15.77L12 11.82L8.04 15.77C9.17 16.55 10.53 17 12 17C13.47 17 14.83 16.55 15.96 15.77M11 10C11 8.34 9.65 7 8 7C6.34 7 5 8.34 5 10C5 11.68 5.59 13.21 6.57 14.42L11 10M17.43 14.42C18.41 13.21 19 11.68 19 10V10C19 8.33 17.65 7 16 7C14.35 7 13 8.34 13 10L17.43 14.42Z\";\r\nexport var mdiPrinter = \"M18,3H6V7H18M19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12M16,19H8V14H16M19,8H5A3,3 0 0,0 2,11V17H6V21H18V17H22V11A3,3 0 0,0 19,8Z\";\r\nexport var mdiPrinter3d = \"M19,6A1,1 0 0,0 20,5A1,1 0 0,0 19,4A1,1 0 0,0 18,5A1,1 0 0,0 19,6M19,2A3,3 0 0,1 22,5V11H18V7H6V11H2V5A3,3 0 0,1 5,2H19M18,18.25C18,18.63 17.79,18.96 17.47,19.13L12.57,21.82C12.4,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L6.53,19.13C6.21,18.96 6,18.63 6,18.25V13C6,12.62 6.21,12.29 6.53,12.12L11.43,9.68C11.59,9.56 11.79,9.5 12,9.5C12.21,9.5 12.4,9.56 12.57,9.68L17.47,12.12C17.79,12.29 18,12.62 18,13V18.25M12,11.65L9.04,13L12,14.6L14.96,13L12,11.65M8,17.66L11,19.29V16.33L8,14.71V17.66M16,17.66V14.71L13,16.33V19.29L16,17.66Z\";\r\nexport var mdiPrinter3dNozzle = \"M7,2H17V8H19V13H16.5L13,17H11L7.5,13H5V8H7V2M10,22H2V20H10A1,1 0 0,0 11,19V18H13V19A3,3 0 0,1 10,22Z\";\r\nexport var mdiPrinter3dNozzleAlert = \"M7 2H17V8H19V13H16.5L13 17H11L7.5 13H5V8H7V2M10 22H2V20H10C10.6 20 11 19.5 11 19V18H13V19C13 20.7 11.7 22 10 22M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiPrinter3dNozzleAlertOutline = \"M7 2H17V7H19V13H16.5L13 17H11L7.5 13H5V7H7V2M10 22H2V20H10C10.6 20 11 19.5 11 19V18H13V19C13 20.7 11.7 22 10 22M7 9V11H8.5L12 15L15.5 11H17V9H15V4H9V9H7M21 13V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiPrinter3dNozzleHeat = \"M4 2H14V7H16V13H13.5L10 17H8L4.5 13H2V7H4V2M23 14.5L21.6 16.7L23 18.9L21 22L19.2 21.1L20.7 18.9L19.2 16.7L21.2 13.6L23 14.5M18.7 14.5L17.2 16.7L18.7 18.9L16.7 22L14.9 21.1L16.3 18.9L14.9 16.7L16.9 13.6L18.7 14.5\";\r\nexport var mdiPrinter3dNozzleHeatOutline = \"M23 14.5L21.6 16.7L23 18.9L21 22L19.2 21.1L20.7 18.9L19.2 16.7L21.2 13.6L23 14.5M18.7 14.5L17.2 16.7L18.7 18.9L16.7 22L14.9 21.1L16.3 18.9L14.9 16.7L16.9 13.6L18.7 14.5M4 2H14V7H16V13H13.5L10 17H8L4.5 13H2V7H4V2M4 9V11H5.5L9 15L12.5 11H14V9H12V4H6V9H4Z\";\r\nexport var mdiPrinter3dNozzleOff = \"M20.8 22.7L14 15.9L13 17H11L7.5 13H5V8H6.1L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M11 19C11 19.6 10.6 20 10 20H2V22H10C11.7 22 13 20.7 13 19V18H11V19M19 13V8H17V2H7V3.8L16.2 13H19Z\";\r\nexport var mdiPrinter3dNozzleOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L5.1 7H5V13H7.5L11 17H13L14 15.9L20.9 22.8L22.1 21.5M12 15L8.5 11H7V9H7.1L12.5 14.4L12 15M11 18H13V19C13 20.7 11.7 22 10 22H2V20H10C10.6 20 11 19.6 11 19V18M9 5.8L7 3.8V2H17V7H19V13H16.2L14.9 11.7L15.5 11H17V9H15V4H9V5.8Z\";\r\nexport var mdiPrinter3dNozzleOutline = \"M7,2H17V7H19V13H16.5L13,17H11L7.5,13H5V7H7V2M10,22H2V20H10A1,1 0 0,0 11,19V18H13V19A3,3 0 0,1 10,22M7,9V11H8.5L12,15L15.5,11H17V9H15V4H9V9H7Z\";\r\nexport var mdiPrinter3dOff = \"M2.3 2L1 3.3L2.1 4.4C2 4.6 2 4.8 2 5V11H6V8.3L8.7 11L6.5 12.1C6.2 12.3 6 12.6 6 13V18.2C6 18.6 6.2 18.9 6.5 19.1L11.4 21.8C11.6 21.9 11.8 22 12 22S12.4 21.9 12.6 21.8L17.1 19.3L20.8 23L22.1 21.7L2.3 2M4.9 2H4.8L9.8 7H18V11H22V5C22 3.3 20.7 2 19 2H4.9C5 2 5 2 4.9 2M19 4C19.6 4 20 4.4 20 5S19.6 6 19 6 18 5.6 18 5 18.4 4 19 4M12.4 9.6L18 15.2V13C18 12.6 17.8 12.3 17.5 12.1L12.6 9.7C12.5 9.7 12.5 9.6 12.4 9.6M10.2 12.5L12.2 14.5L12 14.6L9 13L10.2 12.5M8 14.7L11 16.3V19.3L8 17.7V14.7M13.7 16L15.6 17.9L13 19.3V16.3L13.7 16Z\";\r\nexport var mdiPrinterAlert = \"M16 3H4V7H16M17 12C16.4 12 16 11.6 16 11S16.4 10 17 10 18 10.4 18 11 17.6 12 17 12M14 19H6V14H14M17 8H3C1.3 8 0 9.3 0 11V17H4V21H16V17H20V11C20 9.3 18.7 8 17 8M24 13H22V7H24V13M24 17H22V15H24V17Z\";\r\nexport var mdiPrinterCheck = \"M18 7H6V3H18V7M6 21V17H2V11C2 9.34 3.34 8 5 8H19C20.66 8 22 9.34 22 11V13.81C21.12 13.3 20.1 13 19 13C17.77 13 16.64 13.37 15.69 14H8V19H13C13 19.7 13.13 20.37 13.35 21H6M18 11C18 11.55 18.45 12 19 12S20 11.55 20 11 19.55 10 19 10 18 10.45 18 11M23.5 17L22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17\";\r\nexport var mdiPrinterEye = \"M9.8 21C9.6 20.6 9.3 20.2 9.2 19.7L8.8 19H8V14H13C14.2 13.4 15.6 13 17 13C18.9 13 20.6 13.6 22 14.6V11C22 9.3 20.7 8 19 8H5C3.3 8 2 9.3 2 11V17H6V21H9.8M19 10C19.6 10 20 10.4 20 11S19.6 12 19 12 18 11.6 18 11 18.4 10 19 10M18 7H6V3H18V7M17 18C17.6 18 18 18.4 18 19S17.6 20 17 20 16 19.6 16 19 16.4 18 17 18M17 15C14.3 15 11.9 16.7 11 19C11.9 21.3 14.3 23 17 23S22.1 21.3 23 19C22.1 16.7 19.7 15 17 15M17 21.5C15.6 21.5 14.5 20.4 14.5 19S15.6 16.5 17 16.5 19.5 17.6 19.5 19 18.4 21.5 17 21.5Z\";\r\nexport var mdiPrinterOff = \"M6,3V4.18L8.82,7H18V3H6M2.28,3L1,4.27L4.75,8C3.19,8.15 2,9.44 2,11V17H6V21H17.73L19.73,23L21,21.72L2.28,3M9.82,8L18.82,17H22V11A3,3 0 0,0 19,8H9.82M19,10A1,1 0 0,1 20,11A1,1 0 0,1 19,12A1,1 0 0,1 18,11A1,1 0 0,1 19,10M8,14H10.73L15.73,19H8V14Z\";\r\nexport var mdiPrinterOffOutline = \"M1.41 1.6L22.36 22.55L20.95 23.96L18 21H6V17H2V11C2 9.34 3.34 8 5 8L0 3L1.41 1.6M6 15V13H10L7 10H5C4.45 10 4 10.45 4 11V15H6M8 19H16L12 15H8V19M8 5V5.36L6 3.36V3H18V8H19C20.66 8 22 9.34 22 11V17H19.66L15.66 13H18V15L20 15V11C20 10.45 19.55 10 19 10H12.66L10.66 8H16V5H8M19 11.5C19 12.06 18.55 12.5 18 12.5C17.45 12.5 17 12.06 17 11.5C17 10.96 17.45 10.5 18 10.5C18.55 10.5 19 10.96 19 11.5Z\";\r\nexport var mdiPrinterOutline = \"M19 8C20.66 8 22 9.34 22 11V17H18V21H6V17H2V11C2 9.34 3.34 8 5 8H6V3H18V8H19M8 5V8H16V5H8M16 19V15H8V19H16M18 15H20V11C20 10.45 19.55 10 19 10H5C4.45 10 4 10.45 4 11V15H6V13H18V15M19 11.5C19 12.05 18.55 12.5 18 12.5C17.45 12.5 17 12.05 17 11.5C17 10.95 17.45 10.5 18 10.5C18.55 10.5 19 10.95 19 11.5Z\";\r\nexport var mdiPrinterPos = \"M18 10H6A2 2 0 0 0 4 12V19H20V12A2 2 0 0 0 18 10M18 14H14V12H18M17 9H7V4H17Z\";\r\nexport var mdiPrinterPosAlert = \"M16 10H4C2.9 10 2 10.9 2 12V19H18V12C18 10.9 17.11 10 16 10M16 14H12V12H16V14M15 9H5V4H15V9M22 7V13H20V7H22M20 15H22V17H20V15Z\";\r\nexport var mdiPrinterPosAlertOutline = \"M15 15H11V13H15V15M18 12V19H2V12C2 10.9 2.9 10 4 10H5V4H15V10H16C17.11 10 18 10.9 18 12M7 10H13V6H7V10M16 12H4V17H16V12M20 17H22V15H20V17M20 7V13H22V7H20Z\";\r\nexport var mdiPrinterPosCancel = \"M17 9H7V4H17V9M12 18.5C12 18.67 12 18.83 12.03 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M10 12H6V14H10V12M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiPrinterPosCancelOutline = \"M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20M7 15V13H11V15H7M6 17V12H20C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H12.03C12 18.83 12 18.67 12 18.5C12 18 12.07 17.5 12.18 17H6M9 6H15V10H9V6Z\";\r\nexport var mdiPrinterPosCheck = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiPrinterPosCheckOutline = \"M7 15V13H11V15H7M6 17H13.35C13.13 17.63 13 18.3 13 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V12H6V17M9 10H15V6H9V10M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiPrinterPosCog = \"M17 9H7V4H17V9M19 12C15.13 12 12 15.13 12 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V12.08C19.67 12.03 19.34 12 19 12M10 12H6V14H10V12M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiPrinterPosCogOutline = \"M22.7 19.6V18.6L23.8 17.8C23.9 17.7 24 17.6 23.9 17.5L22.9 15.8C22.9 15.7 22.7 15.7 22.6 15.7L21.4 16.2C21.1 16 20.8 15.8 20.5 15.7L20.3 14.4C20.3 14.3 20.2 14.2 20.1 14.2H18.1C17.9 14.2 17.8 14.3 17.8 14.4L17.6 15.7C17.3 15.9 17.1 16 16.8 16.2L15.6 15.7C15.5 15.7 15.4 15.7 15.3 15.8L14.3 17.5C14.3 17.6 14.3 17.7 14.4 17.8L15.5 18.6V19.6L14.4 20.4C14.3 20.5 14.2 20.6 14.3 20.7L15.3 22.4C15.4 22.5 15.5 22.5 15.6 22.5L16.8 22C17 22.2 17.3 22.4 17.6 22.5L17.8 23.8C17.9 23.9 18 24 18.1 24H20.1C20.2 24 20.3 23.9 20.3 23.8L20.5 22.5C20.8 22.3 21 22.2 21.3 22L22.5 22.4C22.6 22.4 22.7 22.4 22.8 22.3L23.8 20.6C23.9 20.5 23.9 20.4 23.8 20.4L22.7 19.6M19 20.5C18.2 20.5 17.5 19.8 17.5 19S18.2 17.5 19 17.5 20.5 18.2 20.5 19 19.8 20.5 19 20.5M7 15V13H11V15H7M6 12H20C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H12C12 18.31 12.11 17.63 12.29 17H6V12M9 6H15V10H9V6Z\";\r\nexport var mdiPrinterPosEdit = \"M17 9H7V4H17V9M19.39 10.74L11.13 19H4V12C4 10.9 4.89 10 6 10H18C18.59 10 19.11 10.26 19.5 10.67C19.45 10.69 19.42 10.71 19.39 10.74M10 12H6V14H10V12M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiPrinterPosEditOutline = \"M6 17V12H18.13L19.39 10.74C19.42 10.71 19.45 10.69 19.5 10.67C19.11 10.26 18.59 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H11.13L13.13 17H6M9 6H15V10H9V6M7 15V13H11V15H7M22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15C21 11.95 21.33 11.95 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19M19.13 13.83L21.17 15.87L15.04 22H13V19.96L19.13 13.83Z\";\r\nexport var mdiPrinterPosMinus = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M15 18V20H23V18H15Z\";\r\nexport var mdiPrinterPosMinusOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M23 18V20H15V18H23Z\";\r\nexport var mdiPrinterPosNetwork = \"M17 7H7V2H17V7M22 20V22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H4V10C4 8.9 4.89 8 6 8H18C19.11 8 20 8.9 20 10V17H13V19H14C14.55 19 15 19.45 15 20H22M18 10H14V12H18V10Z\";\r\nexport var mdiPrinterPosNetworkOutline = \"M13 11H17V13H13V11M22 20V22H15C15 22.55 14.55 23 14 23H10C9.45 23 9 22.55 9 22H2V20H9C9 19.45 9.45 19 10 19H11V17H4V10C4 8.9 4.89 8 6 8H7V2H17V8H18C19.11 8 20 8.9 20 10V17H13V19H14C14.55 19 15 19.45 15 20H22M9 8H15V4H9V8M18 15V10H6V15H18Z\";\r\nexport var mdiPrinterPosOff = \"M12.2 9L7.2 4H17V9H12.2M20 16.8V12C20 10.9 19.11 10 18 10H13.2L20 16.8M22.11 21.46L20.84 22.73L17.11 19H4V12C4 10.9 4.89 10 6 10H8.11L1.11 3L2.39 1.73L22.11 21.46M10 12H6V14H10V12Z\";\r\nexport var mdiPrinterPosOffOutline = \"M2.39 1.73L1.11 3L7 8.89V10H6C4.89 10 4 10.9 4 12V19H17.11L20.84 22.73L22.11 21.46L2.39 1.73M6 17V12H10.11L15.11 17H6M9.2 6L7.2 4H17V10H18C19.11 10 20 10.9 20 12V16.8L18 14.8V12H15.2L13.2 10H15V6H9.2M7 13H11V15H7V13Z\";\r\nexport var mdiPrinterPosOutline = \"M18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H20V12C20 10.9 19.11 10 18 10M9 6H15V10H9V6M18 17H6V12H18V17M17 15H13V13H17V15Z\";\r\nexport var mdiPrinterPosPause = \"M17 9H7V4H17V9M20 13.09C19.67 13.04 19.34 13 19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09M10 12H6V14H10V12M16 22H18V16H16V22M20 16V22H22V16H20Z\";\r\nexport var mdiPrinterPosPauseOutline = \"M20 12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12M15 10H9V6H15V10M7 15V13H11V15H7M16 16H18V22H16V16M22 16V22H20V16H22Z\";\r\nexport var mdiPrinterPosPlay = \"M20 13.09V12C20 10.9 19.11 10 18 10H6C4.89 10 4 10.9 4 12V19H13C13 15.69 15.69 13 19 13C19.34 13 19.67 13.04 20 13.09M10 14H6V12H10V14M17 9H7V4H17V9M22 19L17 22V16L22 19Z\";\r\nexport var mdiPrinterPosPlayOutline = \"M7 15V13H11V15H7M6 17H13.35C13.13 17.63 13 18.3 13 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V12H6V17M9 10H15V6H9V10M17 16V22L22 19L17 16Z\";\r\nexport var mdiPrinterPosPlus = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiPrinterPosPlusOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiPrinterPosRefresh = \"M17 9H7V4H17V9M12 18.5C12 18.67 12 18.83 12.03 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V12.18C19.5 12.07 19 12 18.5 12C14.91 12 12 14.91 12 18.5M10 12H6V14H10V12M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiPrinterPosRefreshOutline = \"M7 15V13H11V15H7M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22M12.18 17C12.07 17.5 12 18 12 18.5C12 18.67 12 18.83 12.03 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12H6V17H12.18M9 10H15V6H9V10Z\";\r\nexport var mdiPrinterPosRemove = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiPrinterPosRemoveOutline = \"M7 15V13H11V15H7M6 17H13.35C13.13 17.63 13 18.3 13 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13C18.66 13 18.33 13.04 18 13.09V12H6V17M9 10H15V6H9V10M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiPrinterPosStar = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiPrinterPosStarOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M20.8 19.77L21.45 22.58L19 21.09L16.5 22.58L17.18 19.77L15 17.89L17.87 17.64L19 15L20.11 17.64L23 17.89L20.8 19.77Z\";\r\nexport var mdiPrinterPosStop = \"M17 9H7V4H17V9M19 13C15.69 13 13 15.69 13 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.09C19.67 13.04 19.34 13 19 13M10 12H6V14H10V12M16 16V22H22V16H16Z\";\r\nexport var mdiPrinterPosStopOutline = \"M6 12H18V13.09C18.33 13.04 18.66 13 19 13C19.34 13 19.67 13.04 20 13.09V12C20 10.9 19.11 10 18 10H17V4H7V10H6C4.89 10 4 10.9 4 12V19H13C13 18.3 13.13 17.63 13.35 17H6V12M9 6H15V10H9V6M7 15V13H11V15H7M22 16V22H16V16H22Z\";\r\nexport var mdiPrinterPosSync = \"M17 9H7V4H17V9M13 17.5C13 18 13.07 18.5 13.18 19H4V12C4 10.9 4.89 10 6 10H18C18.74 10 19.38 10.41 19.73 11C19.65 11 19.58 11 19.5 11C15.91 11 13 13.91 13 17.5M10 12H6V14H10V12M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiPrinterPosSyncOutline = \"M7 15V13H11V15H7M13 17.5C13 18 13.07 18.5 13.18 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C18.74 10 19.38 10.41 19.73 11C19.65 11 19.58 11 19.5 11C18.23 11 17.05 11.37 16.05 12H6V17H13.03C13 17.17 13 17.33 13 17.5M9 10H15V6H9V10M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiPrinterPosWrench = \"M17 9H7V4H17V9M11 16C11 17.13 11.39 18.16 12 19H4V12C4 10.9 4.89 10 6 10H18C19.11 10 20 10.9 20 12V13.03C19.09 11.8 17.64 11 16 11C13.24 11 11 13.24 11 16M10 12H6V14H10V12M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\r\nexport var mdiPrinterPosWrenchOutline = \"M7 15V13H11V15H7M13.03 12H6V17H11.1C11.25 17.74 11.58 18.42 12 19H4V12C4 10.9 4.89 10 6 10H7V4H17V10H18C19.11 10 20 10.9 20 12V13.03C19.09 11.8 17.64 11 16 11C14.88 11 13.86 11.38 13.03 12M9 10H15V6H9V10M22.87 21.19L18.76 17.08C19.17 16.04 18.94 14.82 18.08 13.97C17.18 13.06 15.83 12.88 14.74 13.38L16.68 15.32L15.33 16.68L13.34 14.73C12.8 15.82 13.05 17.17 13.93 18.08C14.79 18.94 16 19.16 17.05 18.76L21.16 22.86C21.34 23.05 21.61 23.05 21.79 22.86L22.83 21.83C23.05 21.65 23.05 21.33 22.87 21.19Z\";\r\nexport var mdiPrinterSearch = \"M20.3 18.9C20.7 18.2 21 17.4 21 16.5C21 14 19 12 16.5 12S12 14 12 16.5 14 21 16.5 21C17.4 21 18.2 20.8 18.9 20.3L22 23.4L23.4 22L20.3 18.9M16.5 19C15.1 19 14 17.9 14 16.5S15.1 14 16.5 14 19 15.1 19 16.5 17.9 19 16.5 19M18 7H6V3H18V7M6 21V17H2V11C2 9.3 3.3 8 5 8H19C20.7 8 22 9.3 22 11V13C20.8 11.2 18.8 10 16.5 10C13.8 10 11.5 11.7 10.5 14H8V19H10.5C10.8 19.7 11.3 20.4 11.8 21H6Z\";\r\nexport var mdiPrinterSettings = \"M18,2V6H6V2H18M19,11A1,1 0 0,0 20,10A1,1 0 0,0 19,9A1,1 0 0,0 18,10A1,1 0 0,0 19,11M16,18V13H8V18H16M19,7A3,3 0 0,1 22,10V16H18V20H6V16H2V10A3,3 0 0,1 5,7H19M15,24V22H17V24H15M11,24V22H13V24H11M7,24V22H9V24H7Z\";\r\nexport var mdiPrinterWireless = \"M4.93,3.92L6.34,5.33C9.46,2.2 14.53,2.2 17.66,5.33L19.07,3.92C15.17,0 8.84,0 4.93,3.92M7.76,6.75L9.17,8.16C10.73,6.6 13.26,6.6 14.83,8.16L16.24,6.75C13.9,4.41 10.1,4.41 7.76,6.75M19,14A1,1 0 0,1 18,13A1,1 0 0,1 19,12A1,1 0 0,1 20,13A1,1 0 0,1 19,14M16,20H8V15H16V20M19,10H5A3,3 0 0,0 2,13V18H6V22H18V18H22V13A3,3 0 0,0 19,10Z\";\r\nexport var mdiPriorityHigh = \"M14,19H22V17H14V19M14,13.5H22V11.5H14V13.5M14,8H22V6H14V8M2,12.5C2,8.92 4.92,6 8.5,6H9V4L12,7L9,10V8H8.5C6,8 4,10 4,12.5C4,15 6,17 8.5,17H12V19H8.5C4.92,19 2,16.08 2,12.5Z\";\r\nexport var mdiPriorityLow = \"M14,5H22V7H14V5M14,10.5H22V12.5H14V10.5M14,16H22V18H14V16M2,11.5C2,15.08 4.92,18 8.5,18H9V20L12,17L9,14V16H8.5C6,16 4,14 4,11.5C4,9 6,7 8.5,7H12V5H8.5C4.92,5 2,7.92 2,11.5Z\";\r\nexport var mdiProfessionalHexagon = \"M21,16.5C21,16.88 20.79,17.21 20.47,17.38L12.57,21.82C12.41,21.94 12.21,22 12,22C11.79,22 11.59,21.94 11.43,21.82L3.53,17.38C3.21,17.21 3,16.88 3,16.5V7.5C3,7.12 3.21,6.79 3.53,6.62L11.43,2.18C11.59,2.06 11.79,2 12,2C12.21,2 12.41,2.06 12.57,2.18L20.47,6.62C20.79,6.79 21,7.12 21,7.5V16.5M5,9V15H6.25V13H7A2,2 0 0,0 9,11A2,2 0 0,0 7,9H5M6.25,12V10H6.75A1,1 0 0,1 7.75,11A1,1 0 0,1 6.75,12H6.25M9.75,9V15H11V13H11.75L12.41,15H13.73L12.94,12.61C13.43,12.25 13.75,11.66 13.75,11A2,2 0 0,0 11.75,9H9.75M11,12V10H11.5A1,1 0 0,1 12.5,11A1,1 0 0,1 11.5,12H11M17,9C15.62,9 14.5,10.34 14.5,12C14.5,13.66 15.62,15 17,15C18.38,15 19.5,13.66 19.5,12C19.5,10.34 18.38,9 17,9M17,10.25C17.76,10.25 18.38,11.03 18.38,12C18.38,12.97 17.76,13.75 17,13.75C16.24,13.75 15.63,12.97 15.63,12C15.63,11.03 16.24,10.25 17,10.25Z\";\r\nexport var mdiProgressAlert = \"M13,2V4C17.39,4.54 20.5,8.53 19.96,12.92C19.5,16.56 16.64,19.43 13,19.88V21.88C18.5,21.28 22.45,16.34 21.85,10.85C21.33,6.19 17.66,2.5 13,2M11,2C9.04,2.18 7.19,2.95 5.67,4.2L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.24,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.06,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37H7.06M13,13V7H11V13H13M13,17V15H11V17H13Z\";\r\nexport var mdiProgressCheck = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M15.5,8.5L10.62,13.38L8.5,11.26L7.44,12.32L10.62,15.5L16.56,9.56L15.5,8.5M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37Z\";\r\nexport var mdiProgressClock = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z\";\r\nexport var mdiProgressClose = \"M13 2.03V4.05C17.39 4.59 20.5 8.58 19.96 12.97C19.5 16.61 16.64 19.5 13 19.93V21.93C18.5 21.38 22.5 16.5 21.95 11C21.5 6.25 17.73 2.5 13 2.03M11 2.06C9.05 2.25 7.19 3 5.67 4.26L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.25 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.1 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8Z\";\r\nexport var mdiProgressDownload = \"M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,16.5L7.5,12H11V8H13V12H16.5L12,16.5Z\";\r\nexport var mdiProgressHelper = \"M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06Z\";\r\nexport var mdiProgressPencil = \"M15.84 10.2L14.83 11.21L12.76 9.18L13.77 8.16C13.97 7.95 14.31 7.94 14.55 8.16L15.84 9.41C16.05 9.62 16.06 9.96 15.84 10.2M8 13.91L12.17 9.72L14.24 11.8L10.08 16H8V13.91M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06Z\";\r\nexport var mdiProgressQuestion = \"M13 18H11V16H13V18M13 15H11C11 11.75 14 12 14 10C14 8.9 13.1 8 12 8C10.9 8 10 8.9 10 10H8C8 7.79 9.79 6 12 6C14.21 6 16 7.79 16 10C16 12.5 13 12.75 13 15M22 12C22 17.18 18.05 21.45 13 21.95V19.94C16.95 19.45 20 16.08 20 12C20 7.92 16.95 4.55 13 4.06V2.05C18.05 2.55 22 6.82 22 12M11 2.05V4.06C9.54 4.24 8.2 4.82 7.09 5.68L5.67 4.26C7.15 3.05 9 2.25 11 2.05M4.06 11H2.05C2.25 9 3.05 7.15 4.26 5.67L5.68 7.1C4.82 8.2 4.24 9.54 4.06 11M11 19.94V21.95C9 21.75 7.15 20.96 5.67 19.74L7.09 18.32C8.2 19.18 9.54 19.76 11 19.94M2.05 13H4.06C4.24 14.46 4.82 15.8 5.68 16.91L4.26 18.33C3.05 16.85 2.25 15 2.05 13Z\";\r\nexport var mdiProgressStar = \"M13 2V4C17.39 4.54 20.5 8.53 19.96 12.92C19.5 16.56 16.64 19.43 13 19.88V21.88C18.5 21.28 22.45 16.34 21.85 10.85C21.33 6.19 17.66 2.5 13 2M11 2C9.04 2.18 7.19 2.95 5.67 4.2L7.1 5.74C8.22 4.84 9.57 4.26 11 4.06V2.06M4.26 5.67C3 7.19 2.24 9.04 2.05 11H4.05C4.24 9.58 4.8 8.23 5.69 7.1L4.26 5.67M2.06 13C2.26 14.96 3.03 16.81 4.27 18.33L5.69 16.9C4.81 15.77 4.24 14.42 4.06 13H2.06M7.06 18.37L5.67 19.74C7.18 21 9.04 21.79 11 22V20C9.58 19.82 8.23 19.25 7.1 18.37H7.06M8.58 16.8L9.5 12.91L6.5 10.33L10.45 9.96L12 6.35L13.55 10L17.5 10.33L14.5 12.91L15.42 16.8L12 14.74L8.58 16.8\";\r\nexport var mdiProgressStarFourPoints = \"M13 4V2C17.66 2.5 21.33 6.19 21.85 10.85C22.45 16.34 18.5 21.28 13 21.88V19.88C16.64 19.43 19.5 16.56 19.96 12.92C20.5 8.53 17.39 4.54 13 4M5.67 4.2C7.19 2.95 9.04 2.18 11 2V4.06C9.57 4.26 8.22 4.84 7.1 5.74L5.67 4.2M2.05 11C2.24 9.04 3 7.19 4.26 5.67L5.69 7.1C4.8 8.23 4.24 9.58 4.05 11H2.05M4.27 18.33C3.03 16.81 2.26 14.96 2.06 13H4.06C4.24 14.42 4.81 15.77 5.69 16.9L4.27 18.33M5.67 19.74L7.06 18.37H7.1C8.23 19.25 9.58 19.82 11 20V22C9.04 21.79 7.18 21 5.67 19.74M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\r\nexport var mdiProgressUpload = \"M13,2.03C17.73,2.5 21.5,6.25 21.95,11C22.5,16.5 18.5,21.38 13,21.93V19.93C16.64,19.5 19.5,16.61 19.96,12.97C20.5,8.58 17.39,4.59 13,4.05V2.05L13,2.03M11,2.06V4.06C9.57,4.26 8.22,4.84 7.1,5.74L5.67,4.26C7.19,3 9.05,2.25 11,2.06M4.26,5.67L5.69,7.1C4.8,8.23 4.24,9.58 4.05,11H2.05C2.25,9.04 3,7.19 4.26,5.67M2.06,13H4.06C4.24,14.42 4.81,15.77 5.69,16.9L4.27,18.33C3.03,16.81 2.26,14.96 2.06,13M7.1,18.37C8.23,19.25 9.58,19.82 11,20V22C9.04,21.79 7.18,21 5.67,19.74L7.1,18.37M12,7.5L7.5,12H11V16H13V12H16.5L12,7.5Z\";\r\nexport var mdiProgressWrench = \"M13,2.03V2.05L13,4.05C17.39,4.59 20.5,8.58 19.96,12.97C19.5,16.61 16.64,19.5 13,19.93V21.93C18.5,21.38 22.5,16.5 21.95,11C21.5,6.25 17.73,2.5 13,2.03M11,2.06C9.05,2.25 7.19,3 5.67,4.26L7.1,5.74C8.22,4.84 9.57,4.26 11,4.06V2.06M4.26,5.67C3,7.19 2.25,9.04 2.05,11H4.05C4.24,9.58 4.8,8.23 5.69,7.1L4.26,5.67M2.06,13C2.26,14.96 3.03,16.81 4.27,18.33L5.69,16.9C4.81,15.77 4.24,14.42 4.06,13H2.06M7.1,18.37L5.67,19.74C7.18,21 9.04,21.79 11,22V20C9.58,19.82 8.23,19.25 7.1,18.37M16.82,15.19L12.71,11.08C13.12,10.04 12.89,8.82 12.03,7.97C11.13,7.06 9.78,6.88 8.69,7.38L10.63,9.32L9.28,10.68L7.29,8.73C6.75,9.82 7,11.17 7.88,12.08C8.74,12.94 9.96,13.16 11,12.76L15.11,16.86C15.29,17.05 15.56,17.05 15.74,16.86L16.78,15.83C17,15.65 17,15.33 16.82,15.19Z\";\r\nexport var mdiProjector = \"M16,6C14.87,6 13.77,6.35 12.84,7H4C2.89,7 2,7.89 2,9V15C2,16.11 2.89,17 4,17H5V18A1,1 0 0,0 6,19H8A1,1 0 0,0 9,18V17H15V18A1,1 0 0,0 16,19H18A1,1 0 0,0 19,18V17H20C21.11,17 22,16.11 22,15V9C22,7.89 21.11,7 20,7H19.15C18.23,6.35 17.13,6 16,6M16,7.5A3.5,3.5 0 0,1 19.5,11A3.5,3.5 0 0,1 16,14.5A3.5,3.5 0 0,1 12.5,11A3.5,3.5 0 0,1 16,7.5M4,9H8V10H4V9M16,9A2,2 0 0,0 14,11A2,2 0 0,0 16,13A2,2 0 0,0 18,11A2,2 0 0,0 16,9M4,11H8V12H4V11M4,13H8V14H4V13Z\";\r\nexport var mdiProjectorOff = \"M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M15 14.35H15L18.95 18.31V18.3M7.64 7L12.65 12V12L7.65 7M20 7H19.15C17.26 5.67 14.73 5.67 12.84 7H10.19L12.8 9.61C13.78 7.34 16.73 6.78 18.5 8.53C20.22 10.27 19.66 13.22 17.39 14.2L20.18 17C21.21 16.9 22 16.04 22 15V9C22 7.9 21.1 7 20 7M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M16 9C14.97 9 14.1 9.79 14 10.82L16.18 13C18.72 12.76 18.55 9 16 9M22.25 21.61L2.53 1.89L1.26 3.16L5.1 7H4C2.9 7 2 7.9 2 9V15C2 16.11 2.9 17 4 17H5V18C5 18.55 5.45 19 6 19H8C8.55 19 9 18.55 9 18V17H15V18C15 18.55 15.45 19 16 19H17.1L21 22.89L22.26 21.61M8 14H4V13H8M8 12H4V11H8M8 10H4V9H7.1L8 9.9M2.54 1.89L7.64 7L2.53 1.89M7.65 7L12.65 12V12L7.64 7M18.95 18.3V18.31L15 14.35H15M7.64 7L2.53 1.89H2.54M12.65 12V12L7.64 7H7.65M18.95 18.3V18.31L15 14.35H15\";\r\nexport var mdiProjectorScreen = \"M4,2A1,1 0 0,0 3,3V4A1,1 0 0,0 4,5H5V14H11V16.59L6.79,20.79L8.21,22.21L11,19.41V22H13V19.41L15.79,22.21L17.21,20.79L13,16.59V14H19V5H20A1,1 0 0,0 21,4V3A1,1 0 0,0 20,2H4Z\";\r\nexport var mdiProjectorScreenOff = \"M13 14.89V16.59L17.21 20.79L15.79 22.21L13 19.41V22H11V19.41L8.21 22.21L6.79 20.79L11 16.59V14H5V6.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L13 14.89M19 14V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2H5.2L17.2 14H19Z\";\r\nexport var mdiProjectorScreenOffOutline = \"M20.84 22.73L22.11 21.46L2.39 1.73L1.11 3L5 6.89V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14.89L20.84 22.73M7 12V8.89L10.11 12H7M8.2 5L5.2 2H20C20.55 2 21 2.45 21 3V4C21 4.55 20.55 5 20 5H19V14H17.2L15.2 12H17V5H8.2Z\";\r\nexport var mdiProjectorScreenOutline = \"M20 2H4C3.45 2 3 2.45 3 3V4C3 4.55 3.45 5 4 5H5V14H11V16.59L6.79 20.79L8.21 22.21L11 19.41V22H13V19.41L15.79 22.21L17.21 20.79L13 16.59V14H19V5H20C20.55 5 21 4.55 21 4V3C21 2.45 20.55 2 20 2M17 12H7V5H17V12Z\";\r\nexport var mdiProjectorScreenVariant = \"M19 18V9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H19Z\";\r\nexport var mdiProjectorScreenVariantOff = \"M20.84 22.73L16.11 18H5V9H4C3.45 9 3 8.55 3 8V7C3 6.45 3.45 6 4 6H4.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19 9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6H9.2L19 15.8V9Z\";\r\nexport var mdiProjectorScreenVariantOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L4.11 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H16.11L20.84 22.73L22.11 21.46M7 16V9H7.11L14.11 16H7M12.2 9L9.2 6H20C20.55 6 21 6.45 21 7V8C21 8.55 20.55 9 20 9H19V15.8L17 13.8V9H12.2Z\";\r\nexport var mdiProjectorScreenVariantOutline = \"M20 6H4C3.45 6 3 6.45 3 7V8C3 8.55 3.45 9 4 9H5V18H19V9H20C20.55 9 21 8.55 21 8V7C21 6.45 20.55 6 20 6M17 16H7V9H17V16Z\";\r\nexport var mdiPropaneTank = \"M4 15V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V15H4M20 13V10C20 8.14 18.72 6.59 17 6.14V4C17 2.9 16.1 2 15 2H9C7.9 2 7 2.9 7 4V6.14C5.28 6.59 4 8.14 4 10V13H20M9 4H15V6H13C13 5.45 12.55 5 12 5S11 5.45 11 6H9V4Z\";\r\nexport var mdiPropaneTankOutline = \"M17 6.14V4C17 2.9 16.1 2 15 2H9C7.9 2 7 2.9 7 4V6.14C5.28 6.59 4 8.14 4 10V18C4 20.21 5.79 22 8 22H16C18.21 22 20 20.21 20 18V10C20 8.14 18.72 6.59 17 6.14M9 4H15V6H13C13 5.45 12.55 5 12 5S11 5.45 11 6H9V4M8 8H16C17.1 8 18 8.9 18 10V13H6V10C6 8.9 6.9 8 8 8M16 20H8C6.9 20 6 19.1 6 18V15H18V18C18 19.1 17.1 20 16 20Z\";\r\nexport var mdiProtocol = \"M18 20H14L18 4H22M16 4H12L8 20H12M2 16.5A2.5 2.5 0 0 0 4.5 19A2.5 2.5 0 0 0 7 16.5A2.5 2.5 0 0 0 4.5 14A2.5 2.5 0 0 0 2 16.5M2 9.5A2.5 2.5 0 0 0 4.5 12A2.5 2.5 0 0 0 7 9.5A2.5 2.5 0 0 0 4.5 7A2.5 2.5 0 0 0 2 9.5Z\";\r\nexport var mdiPublish = \"M5,4V6H19V4H5M5,14H9V20H15V14H19L12,7L5,14Z\";\r\nexport var mdiPublishOff = \"M20.8 22.7L15 16.9V20H9V14H5L8.6 10.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M19 6V4H7.2L9.2 6H19M17.2 14H19L12 7L11.1 7.9L17.2 14Z\";\r\nexport var mdiPulse = \"M3,13H5.79L10.1,4.79L11.28,13.75L14.5,9.66L17.83,13H21V15H17L14.67,12.67L9.92,18.73L8.94,11.31L7,15H3V13Z\";\r\nexport var mdiPump = \"M2 21V15H3.5C3.18 14.06 3 13.05 3 12C3 7.03 7.03 3 12 3H22V9H20.5C20.82 9.94 21 10.95 21 12C21 16.97 16.97 21 12 21H2M5 12C5 13.28 5.34 14.47 5.94 15.5L9.4 13.5C9.15 13.06 9 12.55 9 12C9 11.35 9.21 10.75 9.56 10.26L6.3 7.93C5.5 9.08 5 10.5 5 12M12 19C14.59 19 16.85 17.59 18.06 15.5L14.6 13.5C14.08 14.4 13.11 15 12 15L11.71 15L11.33 18.97L12 19M12 9C13.21 9 14.26 9.72 14.73 10.76L18.37 9.1C17.27 6.68 14.83 5 12 5V9M12 11C11.45 11 11 11.45 11 12C11 12.55 11.45 13 12 13C12.55 13 13 12.55 13 12C13 11.45 12.55 11 12 11Z\";\r\nexport var mdiPumpOff = \"M22.1 21.5L2.4 1.7L1.1 3L4.8 6.7C3.7 8.2 3 10 3 12C3 13 3.2 14.1 3.5 15H2V21H12C14 21 15.8 20.3 17.3 19.2L20.8 22.7L22.1 21.5M5.9 15.5C5.3 14.5 5 13.3 5 12C5 10.6 5.5 9.2 6.2 8.1L9.2 11.1C9.1 11.3 9 11.7 9 12C9 12.5 9.2 13.1 9.4 13.5L5.9 15.5M12 19H11.3L11.7 15H12C12.3 15 12.6 14.9 12.9 14.8L15.9 17.8C14.8 18.5 13.4 19 12 19M12 8.8L7.4 4.2C8.8 3.5 10.3 3 12 3H22V9H20.5C20.8 9.9 21 11 21 12C21 13.7 20.5 15.2 19.8 16.6L12.2 9C13.3 9.1 14.3 9.8 14.7 10.7L18.3 9C17.3 6.7 14.8 5 12 5V8.8Z\";\r\nexport var mdiPumpkin = \"M6.5,6C7.47,6 8.37,6.5 9.11,7.38C9.66,6.79 10.31,6.36 11,6.15V4A2,2 0 0,1 13,2H15V4H13V6.15C13.69,6.36 14.34,6.79 14.89,7.38C15.63,6.5 16.53,6 17.5,6C20,6 22,9.36 22,13.5C22,17.64 20,21 17.5,21C16.53,21 15.63,20.5 14.89,19.62C14.08,20.5 13.08,21 12,21C10.92,21 9.92,20.5 9.11,19.62C8.37,20.5 7.47,21 6.5,21C4,21 2,17.64 2,13.5C2,9.36 4,6 6.5,6Z\";\r\nexport var mdiPurse = \"M22,19.1L21,10.5A1.65,1.65 0 0,0 19.3,9H16V5L14,3H10L8,5V9H4.7A1.65,1.65 0 0,0 3,10.5L2,19.1A1.74,1.74 0 0,0 3.7,21H20.3A1.74,1.74 0 0,0 22,19.1M10,5H14V9H10\";\r\nexport var mdiPurseOutline = \"M19,11L20,19H4L5,11H19M14,3H10L8,5V9H4.7A1.65,1.65 0 0,0 3,10.5L2,19.1A1.74,1.74 0 0,0 3.7,21H20.3A1.74,1.74 0 0,0 22,19.1L21,10.5A1.65,1.65 0 0,0 19.3,9H16V5L14,3M10,9V5H14V9\";\r\nexport var mdiPuzzle = \"M20.5,11H19V7C19,5.89 18.1,5 17,5H13V3.5A2.5,2.5 0 0,0 10.5,1A2.5,2.5 0 0,0 8,3.5V5H4A2,2 0 0,0 2,7V10.8H3.5C5,10.8 6.2,12 6.2,13.5C6.2,15 5,16.2 3.5,16.2H2V20A2,2 0 0,0 4,22H7.8V20.5C7.8,19 9,17.8 10.5,17.8C12,17.8 13.2,19 13.2,20.5V22H17A2,2 0 0,0 19,20V16H20.5A2.5,2.5 0 0,0 23,13.5A2.5,2.5 0 0,0 20.5,11Z\";\r\nexport var mdiPuzzleCheck = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M20.5 11C21.88 11 23 12.12 23 13.5C23 13.81 22.94 14.11 22.84 14.39C21.8 13.5 20.46 13 19 13C15.69 13 13 15.69 13 19V19.54C12.64 18.5 11.65 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.1 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.89 2.9 5 4 5H8V3.5C8 2.12 9.12 .998 10.5 .998S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5\";\r\nexport var mdiPuzzleCheckOutline = \"M23.5 17L18.5 22L15 18.5L16.5 17L18.5 19L22 15.5L23.5 17M22 13.5L22 13.8C21.37 13.44 20.67 13.19 19.94 13.07C19.75 12.45 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4C9.67 4 9 4.67 9 5.5V7H4L4 9.12C5.76 9.8 7 11.5 7 13.5C7 15.5 5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.8L13 19C13 20.09 13.29 21.12 13.8 22H13.2V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.1 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5C5 12 3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2C12.26 2 13.72 3.3 13.96 5H17C18.1 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5Z\";\r\nexport var mdiPuzzleEdit = \"M21.04 12.13C20.9 12.13 20.76 12.19 20.65 12.3L19.65 13.3L21.7 15.35L22.7 14.35C22.92 14.14 22.92 13.79 22.7 13.58L21.42 12.3C21.31 12.19 21.18 12.13 21.04 12.13M19.07 13.88L13 19.94V22H15.06L21.12 15.93L19.07 13.88M19 11.12L11.91 18.2C11.5 17.95 11 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11.12Z\";\r\nexport var mdiPuzzleEditOutline = \"M21.04 12.13C20.9 12.13 20.76 12.19 20.65 12.3L19.65 13.3L21.7 15.35L22.7 14.35C22.92 14.14 22.92 13.79 22.7 13.58L21.42 12.3C21.31 12.19 21.18 12.13 21.04 12.13M19.07 13.88L13 19.94V22H15.06L21.12 15.93L19.07 13.88M11.05 19.06C10.87 19 10.69 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C19.36 10.09 19.69 10.21 20 10.36C19.73 10.5 19.46 10.66 19.24 10.89L18.12 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.26 17 12 17.18 12.61 17.5L11.05 19.06Z\";\r\nexport var mdiPuzzleHeart = \"M19 22.3L18.4 21.8C16.4 19.9 15 18.7 15 17.2C15 16 16 15 17.2 15C17.9 15 18.6 15.3 19 15.8C19.4 15.3 20.1 15 20.8 15C22 15 23 15.9 23 17.2C23 18.7 21.6 19.9 19.6 21.8L19 22.3M20.5 11H19V7C19 5.89 18.1 5 17 5H13V3.5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4C2.9 5 2 5.9 2 7V10.8H3.5C5 10.8 6.2 12 6.2 13.5S5 16.2 3.5 16.2H2V20C2 21.11 2.9 22 4 22H7.8V20.5C7.8 19 9 17.8 10.5 17.8C11.44 17.8 12.27 18.27 12.75 19H13.09C13.04 18.67 13 18.34 13 18C13 14.69 15.69 12 19 12C20.54 12 21.94 12.58 23 13.53C23 13.5 23 13.5 23 13.5C23 12.12 21.88 11 20.5 11Z\";\r\nexport var mdiPuzzleHeartOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.45 10.25 21.61 11.34 21.91 12.76C21.05 12.28 20.06 12 19 12C18.89 12 18.78 12 18.67 12C18.61 12 18.56 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.43 17 12.29 17.28 13 17.74C13 17.83 13 17.91 13 18C13 19.54 13.58 20.94 14.54 22H13.2M19 22.3L19.6 21.8C21.6 19.9 23 18.7 23 17.2C23 15.9 22 15 20.8 15C20.1 15 19.4 15.3 19 15.8C18.6 15.3 17.9 15 17.2 15C16 15 15 16 15 17.2C15 18.7 16.4 19.9 18.4 21.8L19 22.3\";\r\nexport var mdiPuzzleMinus = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M15 18V20H23V18H15Z\";\r\nexport var mdiPuzzleMinusOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M15 18V20H23V18H15Z\";\r\nexport var mdiPuzzleOutline = \"M22,13.5C22,15.26 20.7,16.72 19,16.96V20A2,2 0 0,1 17,22H13.2V21.7A2.7,2.7 0 0,0 10.5,19C9,19 7.8,20.21 7.8,21.7V22H4A2,2 0 0,1 2,20V16.2H2.3C3.79,16.2 5,15 5,13.5C5,12 3.79,10.8 2.3,10.8H2V7A2,2 0 0,1 4,5H7.04C7.28,3.3 8.74,2 10.5,2C12.26,2 13.72,3.3 13.96,5H17A2,2 0 0,1 19,7V10.04C20.7,10.28 22,11.74 22,13.5M17,15H18.5A1.5,1.5 0 0,0 20,13.5A1.5,1.5 0 0,0 18.5,12H17V7H12V5.5A1.5,1.5 0 0,0 10.5,4A1.5,1.5 0 0,0 9,5.5V7H4V9.12C5.76,9.8 7,11.5 7,13.5C7,15.5 5.75,17.2 4,17.88V20H6.12C6.8,18.25 8.5,17 10.5,17C12.5,17 14.2,18.25 14.88,20H17V15Z\";\r\nexport var mdiPuzzlePlus = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPuzzlePlusOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiPuzzleRemove = \"M13.04 19.61C12.67 18.55 11.68 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5C23 13.82 22.94 14.12 22.83 14.39C21.79 13.53 20.46 13 19 13C15.69 13 13 15.69 13 19C13 19.2 13 19.41 13.04 19.61M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiPuzzleRemoveOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.7 10.28 22 11.74 22 13.5C22 13.6 22 13.7 21.97 13.79C21.35 13.44 20.67 13.2 19.93 13.08C19.75 12.46 19.18 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.47 17 12.37 17.3 13.12 17.81C13.04 18.19 13 18.59 13 19C13 20.1 13.3 21.12 13.81 22H13.2M21.12 15.46L19 17.59L16.88 15.46L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiPuzzleStar = \"M19 20.09L21.45 21.58L20.8 18.77L23 16.89L20.11 16.64L19 14L17.87 16.64L15 16.89L17.18 18.77L16.5 21.58L19 20.09M23 13.5C23 13.5 23 13.5 23 13.53C21.94 12.58 20.54 12 19 12C15.69 12 13 14.69 13 18C13 18.34 13.04 18.67 13.09 19H12.75C12.27 18.27 11.44 17.8 10.5 17.8C9 17.8 7.8 19 7.8 20.5V22H4C2.9 22 2 21.11 2 20V16.2H3.5C5 16.2 6.2 15 6.2 13.5S5 10.8 3.5 10.8H2V7C2 5.9 2.9 5 4 5H8V3.5C8 2.12 9.12 1 10.5 1S13 2.12 13 3.5V5H17C18.1 5 19 5.89 19 7V11H20.5C21.88 11 23 12.12 23 13.5Z\";\r\nexport var mdiPuzzleStarOutline = \"M13.2 22V21.7C13.2 20.21 12 19 10.5 19C9 19 7.8 20.21 7.8 21.7V22H4C2.9 22 2 21.11 2 20V16.2H2.3C3.79 16.2 5 15 5 13.5S3.79 10.8 2.3 10.8H2V7C2 5.9 2.9 5 4 5H7.04C7.28 3.3 8.74 2 10.5 2S13.72 3.3 13.96 5H17C18.11 5 19 5.9 19 7V10.04C20.45 10.25 21.61 11.34 21.91 12.76C21.05 12.28 20.06 12 19 12C18.89 12 18.78 12 18.67 12C18.61 12 18.56 12 18.5 12H17V7H12V5.5C12 4.67 11.33 4 10.5 4S9 4.67 9 5.5V7H4V9.12C5.76 9.8 7 11.5 7 13.5S5.75 17.2 4 17.88V20H6.12C6.8 18.25 8.5 17 10.5 17C11.43 17 12.29 17.28 13 17.74C13 17.83 13 17.91 13 18C13 19.54 13.58 20.94 14.54 22H13.2M19 20.09L16.5 21.58L17.18 18.77L15 16.89L17.87 16.64L19 14L20.11 16.64L23 16.89L20.8 18.77L21.45 21.58L19 20.09\";\r\nexport var mdiPyramid = \"M21.85 16.96H21.85L12.85 2.47C12.65 2.16 12.33 2 12 2S11.35 2.16 11.15 2.47L2.15 16.96H2.15C1.84 17.45 2 18.18 2.64 18.43L11.64 21.93C11.75 22 11.88 22 12 22S12.25 22 12.36 21.93L21.36 18.43C22 18.18 22.16 17.45 21.85 16.96M11 6.5V13.32L5.42 15.5L11 6.5M12 19.93L5.76 17.5L12 15.07L18.24 17.5L12 19.93M13 13.32V6.5L18.58 15.5L13 13.32Z\";\r\nexport var mdiPyramidOff = \"M10.5 7.3L9.05 5.85L11.15 2.47C11.35 2.16 11.67 2 12 2C12.33 2 12.65 2.16 12.85 2.47L21.85 16.96H21.85C22.13 17.4 22 18 21.5 18.32L18.41 15.21L13 6.5V9.8L11 7.8V6.5L10.5 7.3M22.11 21.46L20.84 22.73L17.89 19.78L12.36 21.93C12.25 22 12.12 22 12 22S11.75 22 11.64 21.93L2.64 18.43C2 18.18 1.84 17.45 2.15 16.96H2.15L7.1 9L1.11 3L2.39 1.73L22.11 21.46M5.42 15.5L11 13.32V12.89L8.55 10.44L5.42 15.5M16.35 18.24L13.94 15.83L12 15.07L5.76 17.5L12 19.93L16.35 18.24Z\";\r\nexport var mdiQi = \"M12.09,6.56V14.64C12.09,14.72 12,14.79 11.94,14.79C9.62,14.79 7.75,12.91 7.75,10.6C7.75,8.28 9.62,6.4 11.94,6.4C12,6.4 12.09,6.47 12.09,6.56M12.09,17.86V20.29C12.06,21.69 13.12,22.87 14.5,23C14.66,23 14.78,22.89 14.79,22.73V4.47C14.78,4.3 14.68,4.15 14.5,4.09C10.92,2.67 6.86,4.44 5.44,8.03C4,11.63 5.79,15.69 9.38,17.11C10.16,17.42 11,17.58 11.81,17.6C11.95,17.59 12.07,17.71 12.08,17.87M16.19,5.5V15.72C16.19,16 16.19,16.2 16.46,16V16C19.42,13.5 19.81,9.09 17.33,6.13C17.07,5.81 16.77,5.5 16.46,5.26C16.19,5.05 16.19,5.26 16.19,5.53M14.79,2.43C14.79,1.66 15.42,1.03 16.19,1.03C16.96,1.03 17.59,1.66 17.59,2.43C17.59,3.2 16.96,3.83 16.19,3.83V3.83C15.42,3.83 14.79,3.2 14.79,2.43\";\r\nexport var mdiQqchat = \"M3.18,13.54C3.76,12.16 4.57,11.14 5.17,10.92C5.16,10.12 5.31,9.62 5.56,9.22C5.56,9.19 5.5,8.86 5.72,8.45C5.87,4.85 8.21,2 12,2C15.79,2 18.13,4.85 18.28,8.45C18.5,8.86 18.44,9.19 18.44,9.22C18.69,9.62 18.84,10.12 18.83,10.92C19.43,11.14 20.24,12.16 20.82,13.55C21.57,15.31 21.69,17 21.09,17.3C20.68,17.5 20.03,17 19.42,16.12C19.18,17.1 18.58,18 17.73,18.71C18.63,19.04 19.21,19.58 19.21,20.19C19.21,21.19 17.63,22 15.69,22C13.93,22 12.5,21.34 12.21,20.5H11.79C11.5,21.34 10.07,22 8.31,22C6.37,22 4.79,21.19 4.79,20.19C4.79,19.58 5.37,19.04 6.27,18.71C5.42,18 4.82,17.1 4.58,16.12C3.97,17 3.32,17.5 2.91,17.3C2.31,17 2.43,15.31 3.18,13.54Z\";\r\nexport var mdiQrcode = \"M3,11H5V13H3V11M11,5H13V9H11V5M9,11H13V15H11V13H9V11M15,11H17V13H19V11H21V13H19V15H21V19H19V21H17V19H13V21H11V17H15V15H17V13H15V11M19,19V15H17V19H19M15,3H21V9H15V3M17,5V7H19V5H17M3,3H9V9H3V3M5,5V7H7V5H5M3,15H9V21H3V15M5,17V19H7V17H5Z\";\r\nexport var mdiQrcodeEdit = \"M5,5H7V7H5V5M1,1H11V11H1V1M3,3V9H9V3H3M5,17H7V19H5V17M1,13H11V23H1V13M3,15V21H9V15H3M13,13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21,21V19H19V21H21M19,17H17V15H15V19H19V17M22.7,3.35L21.7,4.35L19.65,2.35L20.65,1.35C20.85,1.14 21.19,1.13 21.42,1.35L22.7,2.58C22.91,2.78 22.92,3.12 22.7,3.35M13,8.94L19.07,2.88L21.12,4.93L15.06,11H13V8.94Z\";\r\nexport var mdiQrcodeMinus = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M14 5V7H22V5Z\";\r\nexport var mdiQrcodePlus = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M17 2V5H14V7H17V10H19V7H22V5H19V2Z\";\r\nexport var mdiQrcodeRemove = \"M5 5H7V7H5V5M1 1H11V11H1V1M3 3V9H9V3H3M5 17H7V19H5V17M1 13H11V23H1V13M3 15V21H9V15H3M13 13H17V15H19V13H23V15H19V17H23V23H19V21H15V23H13V21H15V19H13V13M21 21V19H19V21H21M19 17H17V15H15V19H19V17M15.17 1.76L13.76 3.17L16.59 6L13.76 8.83L15.17 10.24L18 7.41L20.83 10.24L22.24 8.83L19.41 6L22.24 3.17L20.83 1.76L18 4.59L15.17 1.76Z\";\r\nexport var mdiQrcodeScan = \"M4,4H10V10H4V4M20,4V10H14V4H20M14,15H16V13H14V11H16V13H18V11H20V13H18V15H20V18H18V20H16V18H13V20H11V16H14V15M16,15V18H18V15H16M4,20V14H10V20H4M6,6V8H8V6H6M16,6V8H18V6H16M6,16V18H8V16H6M4,11H6V13H4V11M9,11H13V15H11V13H9V11M11,6H13V10H11V6M2,2V6H0V2A2,2 0 0,1 2,0H6V2H2M22,0A2,2 0 0,1 24,2V6H22V2H18V0H22M2,18V22H6V24H2A2,2 0 0,1 0,22V18H2M22,22V18H24V22A2,2 0 0,1 22,24H18V22H22Z\";\r\nexport var mdiQuadcopter = \"M5.5,1C8,1 10,3 10,5.5C10,6.38 9.75,7.2 9.31,7.9L9.41,8H14.59L14.69,7.9C14.25,7.2 14,6.38 14,5.5C14,3 16,1 18.5,1C21,1 23,3 23,5.5C23,8 21,10 18.5,10C17.62,10 16.8,9.75 16.1,9.31L15,10.41V13.59L16.1,14.69C16.8,14.25 17.62,14 18.5,14C21,14 23,16 23,18.5C23,21 21,23 18.5,23C16,23 14,21 14,18.5C14,17.62 14.25,16.8 14.69,16.1L14.59,16H9.41L9.31,16.1C9.75,16.8 10,17.62 10,18.5C10,21 8,23 5.5,23C3,23 1,21 1,18.5C1,16 3,14 5.5,14C6.38,14 7.2,14.25 7.9,14.69L9,13.59V10.41L7.9,9.31C7.2,9.75 6.38,10 5.5,10C3,10 1,8 1,5.5C1,3 3,1 5.5,1M5.5,3A2.5,2.5 0 0,0 3,5.5A2.5,2.5 0 0,0 5.5,8A2.5,2.5 0 0,0 8,5.5A2.5,2.5 0 0,0 5.5,3M5.5,16A2.5,2.5 0 0,0 3,18.5A2.5,2.5 0 0,0 5.5,21A2.5,2.5 0 0,0 8,18.5A2.5,2.5 0 0,0 5.5,16M18.5,3A2.5,2.5 0 0,0 16,5.5A2.5,2.5 0 0,0 18.5,8A2.5,2.5 0 0,0 21,5.5A2.5,2.5 0 0,0 18.5,3M18.5,16A2.5,2.5 0 0,0 16,18.5A2.5,2.5 0 0,0 18.5,21A2.5,2.5 0 0,0 21,18.5A2.5,2.5 0 0,0 18.5,16M3.91,17.25L5.04,17.91C5.17,17.81 5.33,17.75 5.5,17.75A0.75,0.75 0 0,1 6.25,18.5L6.24,18.6L7.37,19.25L7.09,19.75L5.96,19.09C5.83,19.19 5.67,19.25 5.5,19.25A0.75,0.75 0 0,1 4.75,18.5L4.76,18.4L3.63,17.75L3.91,17.25M3.63,6.25L4.76,5.6L4.75,5.5A0.75,0.75 0 0,1 5.5,4.75C5.67,4.75 5.83,4.81 5.96,4.91L7.09,4.25L7.37,4.75L6.24,5.4L6.25,5.5A0.75,0.75 0 0,1 5.5,6.25C5.33,6.25 5.17,6.19 5.04,6.09L3.91,6.75L3.63,6.25M16.91,4.25L18.04,4.91C18.17,4.81 18.33,4.75 18.5,4.75A0.75,0.75 0 0,1 19.25,5.5L19.24,5.6L20.37,6.25L20.09,6.75L18.96,6.09C18.83,6.19 18.67,6.25 18.5,6.25A0.75,0.75 0 0,1 17.75,5.5L17.76,5.4L16.63,4.75L16.91,4.25M16.63,19.25L17.75,18.5A0.75,0.75 0 0,1 18.5,17.75C18.67,17.75 18.83,17.81 18.96,17.91L20.09,17.25L20.37,17.75L19.25,18.5A0.75,0.75 0 0,1 18.5,19.25C18.33,19.25 18.17,19.19 18.04,19.09L16.91,19.75L16.63,19.25Z\";\r\nexport var mdiQualityHigh = \"M14.5,13.5H16.5V10.5H14.5M18,14A1,1 0 0,1 17,15H16.25V16.5H14.75V15H14A1,1 0 0,1 13,14V10A1,1 0 0,1 14,9H17A1,1 0 0,1 18,10M11,15H9.5V13H7.5V15H6V9H7.5V11.5H9.5V9H11M19,4H5C3.89,4 3,4.89 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6C21,4.89 20.1,4 19,4Z\";\r\nexport var mdiQualityLow = \"M14.5,13.5H16.5V10.5H14.5M18,14C18,14.6 17.6,15 17,15H16.25V16.5H14.75V15H14C13.4,15 13,14.6 13,14V10C13,9.4 13.4,9 14,9H17C17.6,9 18,9.4 18,10M19,4H5A2,2 0 0,0 3,6V18A2,2 0 0,0 5,20H19A2,2 0 0,0 21,18V6A2,2 0 0,0 19,4M11,13.5V15H6V9H7.5V13.5H11Z\";\r\nexport var mdiQualityMedium = \"M21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4H19A2,2 0 0,1 21,6M12,10C12,9.5 11.5,9 11,9H6.5C6,9 5.5,9.5 5.5,10V15H7V10.5H8V14H9.5V10.5H10.5V15H12V10M14.5,9A1,1 0 0,0 13.5,10V14A1,1 0 0,0 14.5,15H15.5V16.5H16.75V15H17.5A1,1 0 0,0 18.5,14V10A1,1 0 0,0 17.5,9H14.5M15,10.5H17V13.5H15V10.5Z\";\r\nexport var mdiQueueFirstInLastOut = \"M6 6H18V8H6V6M6 10.5H18V12.5H6V10.5M6 15H18V17H6V15M9 19H15L12 22L9 19M9 2H15L12 5L9 2Z\";\r\nexport var mdiQuora = \"M19.7,18.8C20.2,18.2 20.1,17.7 20.1,17.7H21.6C21.6,17.7 21.6,18.1 21.5,18.6C21.4,19 21.3,19.3 21.2,19.6C21,20.3 20,21.1 20,21.1C18.9,22 17.7,21.9 17.7,21.9C17.7,21.9 16.3,22.1 15.2,21.4C14.1,20.7 13.2,19.2 13.2,19.2C13.2,19.2 8.8,20.4 5.4,17.5C2,14.6 2.2,11.1 2.2,10.8C2.2,10.1 2.6,2.3 10.8,2C15.6,1.8 18.2,4.8 19.2,7.2C19.9,8.9 19.9,10.2 19.9,10.4C19.9,10.6 19.9,11.5 19.7,12.4C19.6,13.3 19.2,14.3 18.9,14.8C18.6,15.3 18.2,16 17.7,16.5C17.2,17.1 16.6,17.6 16.5,17.7C16.5,17.7 17.5,18.9 18.1,19.1C18.3,19.1 19.2,19.4 19.7,18.8M12.7,17.3C12.8,17.2 12.4,16.7 12.2,16.4C12,16.1 12.3,16.5 11.5,15.4C11.2,14.9 10.8,14.7 10.2,14.6C10,14.6 9.7,14.6 9.5,14.6C9,14.6 8.7,14.7 8.6,14.7C8.6,14.6 8.4,14.4 8.3,14.2C8.2,14 8.2,13.7 8.2,13.7C8.2,13.5 9.7,12.8 11.4,12.8C12.8,12.8 13.8,13.6 14.2,14C14.6,14.3 14.7,14.7 15.1,15C15.1,15 15.2,15 15.2,15.1C15.6,15.4 16.1,12.1 16,9.9C15.9,7.7 15.8,6.6 15,5.5C14.3,4.5 12.8,3.7 11.4,3.7C10.7,3.7 8.4,3.8 7.4,5.5C6.2,7.5 6.4,11.1 6.4,11.1C6.4,11.1 6.1,14.3 7.8,16C9.5,17.7 11.2,17.4 12,17.4L12.7,17.3Z\";\r\nexport var mdiRabbit = \"M18.05,21L15.32,16.26C15.32,14.53 14.25,13.42 12.95,13.42C12.05,13.42 11.27,13.92 10.87,14.66C11.2,14.47 11.59,14.37 12,14.37C13.3,14.37 14.36,15.43 14.36,16.73C14.36,18.04 13.31,19.11 12,19.11H15.3V21H6.79C6.55,21 6.3,20.91 6.12,20.72C5.75,20.35 5.75,19.75 6.12,19.38V19.38L6.62,18.88C6.28,18.73 6,18.5 5.72,18.26C5.5,18.76 5,19.11 4.42,19.11C3.64,19.11 3,18.47 3,17.68C3,16.9 3.64,16.26 4.42,16.26L4.89,16.34V14.37C4.89,11.75 7,9.63 9.63,9.63H9.65C11.77,9.64 13.42,10.47 13.42,9.16C13.42,8.23 13.62,7.86 13.96,7.34C13.23,7 12.4,6.79 11.53,6.79C11,6.79 10.58,6.37 10.58,5.84C10.58,5.41 10.86,5.05 11.25,4.93L10.58,4.89C10.06,4.89 9.63,4.47 9.63,3.95C9.63,3.42 10.06,3 10.58,3H11.53C13.63,3 15.47,4.15 16.46,5.85L16.74,5.84C17.45,5.84 18.11,6.07 18.65,6.45L19.1,6.83C21.27,8.78 21,10.1 21,10.11C21,11.39 19.94,12.44 18.65,12.44L18.16,12.39V12.47C18.16,13.58 17.68,14.57 16.93,15.27L20.24,21H18.05M18.16,7.74C17.63,7.74 17.21,8.16 17.21,8.68C17.21,9.21 17.63,9.63 18.16,9.63C18.68,9.63 19.11,9.21 19.11,8.68C19.11,8.16 18.68,7.74 18.16,7.74Z\";\r\nexport var mdiRabbitVariant = \"M16.84 14.5C16.58 14.33 16.22 13.89 16.05 13.68C17.24 12 19 8.87 19 5C19 3.05 18.26 2 17 2C15.46 2 13.04 4.06 12 7.97C10.96 4.06 8.54 2 7 2C5.74 2 5 3.05 5 5C5 8.87 6.76 12 7.95 13.68C7.78 13.89 7.42 14.33 7.16 14.5C6.66 14.93 5.5 15.89 5.5 17.5C5.5 19.71 7.29 21.5 9.5 21.5C11.05 21.5 12 20.94 12 20.94S12.95 21.5 14.5 21.5C16.71 21.5 18.5 19.71 18.5 17.5C18.5 15.89 17.34 14.93 16.84 14.5M9.35 12.2C8.34 10.7 7 8.12 7 5C7 4.5 7.06 4.2 7.12 4.03C8.06 4.34 10.36 6.74 10.5 11.67C10.03 11.79 9.66 11.97 9.35 12.2M10.5 16.75C10.22 16.75 10 16.41 10 16S10.22 15.25 10.5 15.25 11 15.59 11 16 10.78 16.75 10.5 16.75M12 19.5C11.45 19.5 11 18.78 11 18.5S11.45 18 12 18 13 18.22 13 18.5 12.55 19.5 12 19.5M13.5 16.75C13.22 16.75 13 16.41 13 16S13.22 15.25 13.5 15.25 14 15.59 14 16 13.78 16.75 13.5 16.75M13.5 11.67C13.64 6.74 15.94 4.34 16.88 4.03C16.94 4.2 17 4.5 17 5C17 8.12 15.66 10.7 14.65 12.2C14.34 11.97 13.97 11.79 13.5 11.67Z\";\r\nexport var mdiRabbitVariantOutline = \"M17 14C16.76 13.76 16.56 13.5 16.35 13.25C17.5 11.5 19 8.56 19 5C19 3.05 18.26 2 17 2C15.46 2 13.04 4.06 12 7.97C10.96 4.06 8.54 2 7 2C5.74 2 5 3.05 5 5C5 8.56 6.5 11.5 7.65 13.25C7.44 13.5 7.24 13.76 7 14C6.75 14.25 5 15.39 5 17.5C5 20 7 22 9.5 22C11 22 12 21.5 12 21.5S13 22 14.5 22C17 22 19 20 19 17.5C19 15.39 17.25 14.25 17 14M16.88 4.03C16.94 4.2 17 4.5 17 5C17 7.84 15.89 10.24 14.93 11.78C14.55 11.5 14.1 11.3 13.53 11.16C13.77 6.64 15.97 4.33 16.88 4.03M7 5C7 4.5 7.06 4.2 7.12 4.03C8.03 4.33 10.23 6.64 10.5 11.16C9.9 11.3 9.45 11.5 9.08 11.78C8.11 10.24 7 7.84 7 5M14.5 20C13.5 20 12.7 19.67 12.28 19.44C12.7 19.26 13 18.73 13 18.5C13 18.22 12.55 18 12 18S11 18.22 11 18.5C11 18.73 11.3 19.26 11.72 19.44C11.3 19.67 10.5 20 9.5 20C8.12 20 7 18.88 7 17.5C7 16.8 7.43 16.26 8 15.77C8.44 15.41 8.61 15.25 9.3 14.4C10.06 13.45 10.39 13 12 13S13.94 13.45 14.7 14.4C15.39 15.25 15.56 15.41 16 15.77C16.57 16.26 17 16.8 17 17.5C17 18.88 15.88 20 14.5 20M14 16C14 16.41 13.78 16.75 13.5 16.75S13 16.41 13 16 13.22 15.25 13.5 15.25 14 15.59 14 16M11 16C11 16.41 10.78 16.75 10.5 16.75S10 16.41 10 16 10.22 15.25 10.5 15.25 11 15.59 11 16Z\";\r\nexport var mdiRacingHelmet = \"M2.2,11.2C2,13.6 2.7,15.6 4.2,17.4C5.7,19.2 7.7,20 10.1,20H20.1C20.6,20 21.1,19.8 21.5,19.4C21.9,19 22.1,18.5 22.1,18V17.2C22.1,16.6 22,15.9 21.9,15H13.7C12.7,15 11.9,14.6 11.2,13.9C10.5,13.2 10.1,12.3 10.1,11.4C10.1,9.8 10.8,8.7 12.3,8.1L17.1,6C15.4,4.8 13.4,4.1 11.1,4C8.9,3.8 6.9,4.5 5.1,5.9C3.3,7.3 2.4,9 2.2,11.2M12.1,11.4C12.1,11.8 12.3,12.2 12.6,12.5C12.9,12.8 13.3,13 13.7,13H21.5C20.9,10.8 20,9 18.7,7.6L13.1,9.9C12.4,10.1 12.1,10.6 12.1,11.4Z\";\r\nexport var mdiRacquetball = \"M18.5,16C19.9,16 21,17.1 21,18.5C21,19.9 19.9,21 18.5,21C17.1,21 16,19.9 16,18.5C16,17.1 17.1,16 18.5,16M10.5,1C3,1 3,3.7 3,9.8C3,13.2 6.4,16.9 9,18.1V23H12V18.1C14.6,16.9 18,13.2 18,9.8C18,3.6 18,1 10.5,1M15.4,4.2C15.7,4.6 15.8,5.2 15.9,6H15V3.8C15.2,3.9 15.3,4.1 15.4,4.2M16,9.8C16,9.9 16,10 16,10H15V7H16C16,7.8 16,8.7 16,9.8M14,14H11V11H14V14M7,14V11H10V14H7M5,9.8C5,8.8 5,7.9 5,7H6V10H5C5,9.9 5,9.8 5,9.8M7,7H10V10H7V7M11,3C12.4,3 13.4,3.2 14,3.3V6H11V3M10,6H7V3.4C7.6,3.2 8.6,3 10,3V6M11,10V7H14V10H11M6,3.8V6H5.1C5.2,5.2 5.3,4.6 5.6,4.2C5.7,4.1 5.8,4 6,3.8M5.2,11H6V12.7C5.7,12.1 5.4,11.6 5.2,11M8,15H10V16.3L9.8,16.2C9.2,16 8.6,15.5 8,15M11.2,16.3H11V15H13C12.4,15.5 11.8,16 11.2,16.3M15,12.7V11H15.8C15.6,11.5 15.3,12.1 15,12.7Z\";\r\nexport var mdiRadar = \"M19.07,4.93L17.66,6.34C19.1,7.79 20,9.79 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12C4,7.92 7.05,4.56 11,4.07V6.09C8.16,6.57 6,9.03 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12C18,10.34 17.33,8.84 16.24,7.76L14.83,9.17C15.55,9.9 16,10.9 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12C8,10.14 9.28,8.59 11,8.14V10.28C10.4,10.63 10,11.26 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,11.26 13.6,10.62 13,10.28V2H12A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,9.24 20.88,6.74 19.07,4.93Z\";\r\nexport var mdiRadiator = \"M7.95,3L6.53,5.19L7.95,7.4H7.94L5.95,10.5L4.22,9.6L5.64,7.39L4.22,5.19L6.22,2.09L7.95,3M13.95,2.89L12.53,5.1L13.95,7.3L13.94,7.31L11.95,10.4L10.22,9.5L11.64,7.3L10.22,5.1L12.22,2L13.95,2.89M20,2.89L18.56,5.1L20,7.3V7.31L18,10.4L16.25,9.5L17.67,7.3L16.25,5.1L18.25,2L20,2.89M2,22V14A2,2 0 0,1 4,12H20A2,2 0 0,1 22,14V22H20V20H4V22H2M6,14A1,1 0 0,0 5,15V17A1,1 0 0,0 6,18A1,1 0 0,0 7,17V15A1,1 0 0,0 6,14M10,14A1,1 0 0,0 9,15V17A1,1 0 0,0 10,18A1,1 0 0,0 11,17V15A1,1 0 0,0 10,14M14,14A1,1 0 0,0 13,15V17A1,1 0 0,0 14,18A1,1 0 0,0 15,17V15A1,1 0 0,0 14,14M18,14A1,1 0 0,0 17,15V17A1,1 0 0,0 18,18A1,1 0 0,0 19,17V15A1,1 0 0,0 18,14Z\";\r\nexport var mdiRadiatorDisabled = \"M20,12H4A2,2 0 0,0 2,14V22H4V20H20V22H22V14A2,2 0 0,0 20,12M7,17A1,1 0 0,1 6,18A1,1 0 0,1 5,17V15A1,1 0 0,1 6,14A1,1 0 0,1 7,15V17M11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17V15A1,1 0 0,1 10,14A1,1 0 0,1 11,15V17M15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17V15A1,1 0 0,1 14,14A1,1 0 0,1 15,15V17M19,17A1,1 0 0,1 18,18A1,1 0 0,1 17,17V15A1,1 0 0,1 18,14A1,1 0 0,1 19,15V17Z\";\r\nexport var mdiRadiatorOff = \"M3.28,2L2,3.27L4.77,6.04L5.64,7.39L4.22,9.6L5.95,10.5L7.23,8.5L10.73,12H4A2,2 0 0,0 2,14V22H4V20H18.73L20,21.27V22H22V20.73L22,20.72V20.72L3.28,2M7,17A1,1 0 0,1 6,18A1,1 0 0,1 5,17V15A1,1 0 0,1 6,14A1,1 0 0,1 7,15V17M11,17A1,1 0 0,1 10,18A1,1 0 0,1 9,17V15A1,1 0 0,1 10,14A1,1 0 0,1 11,15V17M15,17A1,1 0 0,1 14,18A1,1 0 0,1 13,17V15C13,14.79 13.08,14.61 13.18,14.45L15,16.27V17M16.25,9.5L17.67,7.3L16.25,5.1L18.25,2L20,2.89L18.56,5.1L20,7.3V7.31L18,10.4L16.25,9.5M22,14V18.18L19,15.18V15A1,1 0 0,0 18,14C17.95,14 17.9,14 17.85,14.03L15.82,12H20C21.11,12 22,12.9 22,14M11.64,7.3L10.22,5.1L12.22,2L13.95,2.89L12.53,5.1L13.95,7.3L13.94,7.31L12.84,9L11.44,7.62L11.64,7.3M7.5,3.69L6.1,2.28L6.22,2.09L7.95,3L7.5,3.69Z\";\r\nexport var mdiRadio = \"M20,6A2,2 0 0,1 22,8V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V8C2,7.15 2.53,6.42 3.28,6.13L15.71,1L16.47,2.83L8.83,6H20M20,8H4V12H16V10H18V12H20V8M7,14A3,3 0 0,0 4,17A3,3 0 0,0 7,20A3,3 0 0,0 10,17A3,3 0 0,0 7,14Z\";\r\nexport var mdiRadioAm = \"M5,7A2,2 0 0,0 3,9V17H5V13H7V17H9V9A2,2 0 0,0 7,7H5M5,9H7V11H5V9M13,7A2,2 0 0,0 11,9V17H13V9H15V16H17V9H19V17H21V9A2,2 0 0,0 19,7H13Z\";\r\nexport var mdiRadioFm = \"M3,7V17H5V13H8V11H5V9H9V7H3M13,7A2,2 0 0,0 11,9V17H13V9H15V16H17V9H19V17H21V9A2,2 0 0,0 19,7H13Z\";\r\nexport var mdiRadioHandheld = \"M9,2A1,1 0 0,0 8,3C8,8.67 8,14.33 8,20C8,21.11 8.89,22 10,22H15C16.11,22 17,21.11 17,20V9C17,7.89 16.11,7 15,7H10V3A1,1 0 0,0 9,2M10,9H15V13H10V9Z\";\r\nexport var mdiRadioOff = \"M1 4.27L3 6.27C2.4 6.61 2 7.26 2 8V20C2 21.11 2.9 22 4 22H18.73L20.73 24L22 22.72L2.28 3L1 4.27M20 6H8.83L16.47 2.83L15.71 1L6.59 4.76L9.82 8H20V12H18V10H16V12H13.82L22 20.18V8C22 6.9 21.11 6 20 6M4 8H4.73L8.73 12H4V8M7 14C8.66 14 10 15.34 10 17C10 18.66 8.66 20 7 20C5.34 20 4 18.66 4 17C4 15.34 5.34 14 7 14Z\";\r\nexport var mdiRadioTower = \"M12,10A2,2 0 0,1 14,12C14,12.5 13.82,12.94 13.53,13.29L16.7,22H14.57L12,14.93L9.43,22H7.3L10.47,13.29C10.18,12.94 10,12.5 10,12A2,2 0 0,1 12,10M12,8A4,4 0 0,0 8,12C8,12.5 8.1,13 8.28,13.46L7.4,15.86C6.53,14.81 6,13.47 6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12C18,13.47 17.47,14.81 16.6,15.86L15.72,13.46C15.9,13 16,12.5 16,12A4,4 0 0,0 12,8M12,4A8,8 0 0,0 4,12C4,14.36 5,16.5 6.64,17.94L5.92,19.94C3.54,18.11 2,15.23 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12C22,15.23 20.46,18.11 18.08,19.94L17.36,17.94C19,16.5 20,14.36 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiRadioactive = \"M14 11C14 12.1 13.1 13 12 13S10 12.1 10 11 10.9 9 12 9 14 9.9 14 11M16 11H22C22 7.3 20 4.1 17 2.3L14 7.5C15.2 8.2 16 9.5 16 11M12 15C11.3 15 10.6 14.8 10 14.4C8.8 16.5 7.4 18.8 7 19.6C8.5 20.5 10.2 20.9 12 20.9S15.5 20.4 17 19.6L14 14.4C13.4 14.8 12.7 15 12 15M10 7.6C8.8 5.5 7.4 3.1 7 2.3C4 4 2 7.3 2 11H8C8 9.5 8.8 8.2 10 7.6Z\";\r\nexport var mdiRadioactiveCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M20 12H16C16 10.5 15.2 9.2 14 8.6L16 5.1C18.4 6.5 20 9 20 12M12 10C13.1 10 14 10.9 14 12S13.1 14 12 14 10 13.1 10 12 10.9 10 12 10M8 5.1C8.6 6.1 9.3 7.4 10 8.6C8.8 9.3 8 10.6 8 12H4C4 9 5.6 6.5 8 5.1M8 18.9C8.6 17.9 9.3 16.6 10 15.4C10.6 15.7 11.3 16 12 16S13.4 15.8 14 15.4L16 18.9C14.8 19.6 13.5 20 12 20C10.5 20 9.2 19.6 8 18.9Z\";\r\nexport var mdiRadioactiveCircleOutline = \"M12 4C16.4 4 20 7.6 20 12S16.4 20 12 20 4 16.4 4 12 7.6 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M15 17.2L13.2 14.2C12.8 14.4 12.4 14.5 12 14.5S11.1 14.4 10.8 14.2C10.3 15.1 9.6 16.2 9 17.2C9.9 17.7 10.9 18 12 18S14.1 17.7 15 17.2M15 6.8L13.2 9.8C13.9 10.2 14.5 11 14.5 12H18C18 9.8 16.8 7.8 15 6.8M12 13C12.6 13 13 12.6 13 12S12.6 11 12 11 11 11.4 11 12 11.4 13 12 13M6 12H9.5C9.5 11.1 10 10.3 10.8 9.8C10.3 8.9 9.6 7.8 9 6.8C7.2 7.8 6 9.8 6 12Z\";\r\nexport var mdiRadioactiveOff = \"M20.8 22.7L15.9 17.8L16.9 19.6C15.4 20.5 13.7 20.9 11.9 20.9S8.4 20.4 6.9 19.6C7.3 18.8 8.7 16.5 9.9 14.4C10.5 14.7 11.2 15 11.9 15C12.2 15 12.6 15 12.9 14.9L8.1 10C8.1 10.3 8 10.7 8 11H2C2 9 2.6 7.1 3.6 5.5L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M16 11H22C22 7.3 20 4.1 17 2.3L14 7.5C15.2 8.2 16 9.5 16 11M12.2 9L14 10.8C13.9 9.9 13.1 9.1 12.2 9M7 2.3L6.1 2.9L9 5.8C8.1 4.3 7.3 2.9 7 2.3Z\";\r\nexport var mdiRadioboxBlank = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiRadioboxIndeterminateVariant = \"M8.46 8.46C9.4 7.53 10.67 7 12 7C13.33 7 14.6 7.53 15.54 8.46L8.46 15.54C7.53 14.6 7 13.33 7 12C7 10.67 7.53 9.4 8.46 8.46M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.34 17.66C7.84 19.16 9.88 20 12 20C14.12 20 16.16 19.16 17.66 17.66C19.16 16.16 20 14.12 20 12C20 9.88 19.16 7.84 17.66 6.34C16.16 4.84 14.12 4 12 4C9.88 4 7.84 4.84 6.34 6.34C4.84 7.84 4 9.88 4 12C4 14.12 4.84 16.16 6.34 17.66Z\";\r\nexport var mdiRadioboxMarked = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\";\r\nexport var mdiRadiologyBox = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M17.1 13H13V14H17C17 14 16.94 17 15.5 17C14.15 17 14.5 15.47 13 15V17C13 17.55 12.55 18 12 18S11 17.55 11 17V15C9.5 15.47 9.85 17 8.5 17C7.06 17 7 14 7 14H11V13H6.9C6.85 12.69 6.84 12.35 6.8 12H11V11H6.81C6.83 10.67 6.91 10.33 7 10H11V9H7.34C7.5 8.65 7.65 8.31 7.83 8H11V7C11 6.45 11.45 6 12 6S13 6.45 13 7V8H16.17C16.35 8.31 16.5 8.65 16.66 9H13V10H17C17.1 10.33 17.17 10.67 17.19 11H13V12H17.2C17.16 12.35 17.15 12.69 17.1 13Z\";\r\nexport var mdiRadiologyBoxOutline = \"M19 5V19H5V5H19M19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3M12 6C12.55 6 13 6.45 13 7V8H16.17C16.35 8.31 16.5 8.65 16.66 9H13V10H17C17.1 10.33 17.17 10.67 17.19 11H13V12H17.2C17.16 12.35 17.15 12.69 17.1 13H13V14H17C17 14 16.94 17 15.5 17C14.15 17 14.5 15.47 13 15V17C13 17.55 12.55 18 12 18S11 17.55 11 17V15C9.5 15.47 9.85 17 8.5 17C7.06 17 7 14 7 14H11V13H6.9C6.85 12.69 6.84 12.35 6.8 12H11V11H6.81C6.83 10.67 6.91 10.33 7 10H11V9H7.34C7.5 8.65 7.65 8.31 7.83 8H11V7C11 6.45 11.45 6 12 6Z\";\r\nexport var mdiRadius = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M17,15V13H13.72C13.36,13.62 12.71,14 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10C12.71,10 13.36,10.38 13.72,11H17V9L20,12L17,15Z\";\r\nexport var mdiRadiusOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M16,15V13H13.72C13.36,13.62 12.71,14 12,14A2,2 0 0,1 10,12A2,2 0 0,1 12,10C12.71,10 13.36,10.38 13.72,11H16V9L19,12L16,15Z\";\r\nexport var mdiRailroadLight = \"M17.67,10.5C16.4,10.5 15.27,11.3 14.85,12.5H13.17V7.77L16.66,9.86L17.66,8.14L14.11,6L17.68,3.86L16.68,2.14L13.17,4.23V2H11.17V4.23L7.68,2.14L6.68,3.86L10.23,6L6.66,8.14L7.66,9.86L11.17,7.77V12.5H9.5C8.36,9.32 3.66,10.13 3.66,13.5C3.66,16.87 8.36,17.68 9.5,14.5H11.17V20A2,2 0 0,0 9.17,22H15.17A2,2 0 0,0 13.17,20V14.5H14.85C15.66,16.8 18.73,17.22 20.13,15.23C21.53,13.24 20.1,10.5 17.67,10.5M6.67,14.5C5.78,14.5 5.33,13.42 5.96,12.79C6.59,12.16 7.67,12.61 7.67,13.5A1,1 0 0,1 6.67,14.5M17.67,14.5C16.78,14.5 16.33,13.42 16.96,12.79C17.59,12.16 18.67,12.61 18.67,13.5A1,1 0 0,1 17.67,14.5Z\";\r\nexport var mdiRake = \"M10.5 17.05L9.43 16L22.07 3.35L20.66 1.93L8 14.58L6.95 13.5C6.17 12.73 4.9 12.73 4.12 13.5L2 15.64L2.71 16.34L4.83 14.22L5.54 14.93L3.41 17.05L4.12 17.76L6.24 15.64L6.95 16.34L4.83 18.46L5.54 19.17L7.66 17.05L8.36 17.76L6.24 19.88L6.95 20.59L9.07 18.46L9.78 19.17L7.66 21.29L8.36 22L10.5 19.88C11.27 19.1 11.27 17.83 10.5 17.05Z\";\r\nexport var mdiRaspberryPi = \"M20,8H22V10H20V8M4,5H20A2,2 0 0,1 22,7H19V9H5V13H8V16H19V17H22A2,2 0 0,1 20,19H16V20H14V19H11V20H7V19H4A2,2 0 0,1 2,17V7A2,2 0 0,1 4,5M19,15H9V10H19V11H22V13H19V15M13,12V14H15V12H13M5,6V8H6V6H5M7,6V8H8V6H7M9,6V8H10V6H9M11,6V8H12V6H11M13,6V8H14V6H13M15,6V8H16V6H15M20,14H22V16H20V14Z\";\r\nexport var mdiRaw = \"M6.5 9C7.3 9 8 9.7 8 10.5V11.5C8 12.1 7.6 12.6 7.1 12.9L8 15H6.5L5.6 13H4.5V15H3V9H6.5M6.5 11.5V10.5H4.5V11.5H6.5M10.25 9H12.75L14.25 15H12.75L12.38 13.5H10.63L10.25 15H8.75L10.25 9M11 12H12L11.75 11H11.25L11 12M20 9H21.5L20 15H18.5L17.74 11.96L17 15H15.5L14 9H15.5L16.24 12L17 9H18.5L19.24 12L20 9Z\";\r\nexport var mdiRawOff = \"M17.15 14.32L14.72 11.9L14 9H15.5L16.24 12L17 9H18.5L19.24 12L20 9H21.5L20 15H18.5L17.74 11.96L17.15 14.32M1.39 4.22L2.81 2.81L21.19 21.2L19.78 22.61L10.67 13.5H10.63L10.25 15H8.75L9.43 12.26L8 10.83V11.5C8 12.1 7.6 12.6 7.1 12.9L8 15H6.5L5.6 13H4.5V15H3V9H6.17L1.39 4.22M6.5 11.5V10.5H4.5V11.5H6.5Z\";\r\nexport var mdiRayEnd = \"M20,9C18.69,9 17.58,9.83 17.17,11H2V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9Z\";\r\nexport var mdiRayEndArrow = \"M1,12L5,16V13H17.17C17.58,14.17 18.69,15 20,15A3,3 0 0,0 23,12A3,3 0 0,0 20,9C18.69,9 17.58,9.83 17.17,11H5V8L1,12Z\";\r\nexport var mdiRayStart = \"M4,9C5.31,9 6.42,9.83 6.83,11H22V13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9Z\";\r\nexport var mdiRayStartArrow = \"M23,12L19,16V13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9C5.31,9 6.42,9.83 6.83,11H19V8L23,12Z\";\r\nexport var mdiRayStartEnd = \"M4,9C5.31,9 6.42,9.83 6.83,11H17.17C17.58,9.83 18.69,9 20,9A3,3 0 0,1 23,12A3,3 0 0,1 20,15C18.69,15 17.58,14.17 17.17,13H6.83C6.42,14.17 5.31,15 4,15A3,3 0 0,1 1,12A3,3 0 0,1 4,9Z\";\r\nexport var mdiRayStartVertexEnd = \"M20 9C18.69 9 17.58 9.83 17.17 11H14.82C14.4 9.84 13.3 9 12 9S9.6 9.84 9.18 11H6.83C6.42 9.83 5.31 9 4 9C2.34 9 1 10.34 1 12S2.34 15 4 15C5.31 15 6.42 14.17 6.83 13H9.18C9.6 14.16 10.7 15 12 15S14.4 14.16 14.82 13H17.17C17.58 14.17 18.69 15 20 15C21.66 15 23 13.66 23 12S21.66 9 20 9\";\r\nexport var mdiRayVertex = \"M2,11H9.17C9.58,9.83 10.69,9 12,9C13.31,9 14.42,9.83 14.83,11H22V13H14.83C14.42,14.17 13.31,15 12,15C10.69,15 9.58,14.17 9.17,13H2V11Z\";\r\nexport var mdiRazorDoubleEdge = \"M20 8C19.45 8 19 7.55 19 7C19 6.45 19.45 6 20 6V5H4V6C4.55 6 5 6.45 5 7C5 7.55 4.55 8 4 8H2V15H4C4.55 15 5 15.45 5 16C5 16.55 4.55 17 4 17V18H20V17C19.45 17 19 16.55 19 16C19 15.45 19.45 15 20 15H22V8H20M20 12H19V13H17V12H13.41C13.2 12.58 12.65 13 12 13S10.8 12.58 10.59 12H7V13H5V12H4V11H5V10H7V11H10.59C10.8 10.42 11.35 10 12 10S13.2 10.42 13.41 11H17V10H19V11H20V12Z\";\r\nexport var mdiRazorSingleEdge = \"M22 5V8H2V5H22M22 13V18H2V13H3.5C4.33 13 5 12.33 5 11.5S4.33 10 3.5 10L2 10V9H22V10H20.5C19.67 10 19 10.67 19 11.5S19.67 13 20.5 13H22M13 11C13 10.45 12.55 10 12 10S11 10.45 11 11V13C11 13.55 11.45 14 12 14S13 13.55 13 13V11Z\";\r\nexport var mdiReact = \"M12,10.11C13.03,10.11 13.87,10.95 13.87,12C13.87,13 13.03,13.85 12,13.85C10.97,13.85 10.13,13 10.13,12C10.13,10.95 10.97,10.11 12,10.11M7.37,20C8,20.38 9.38,19.8 10.97,18.3C10.45,17.71 9.94,17.07 9.46,16.4C8.64,16.32 7.83,16.2 7.06,16.04C6.55,18.18 6.74,19.65 7.37,20M8.08,14.26L7.79,13.75C7.68,14.04 7.57,14.33 7.5,14.61C7.77,14.67 8.07,14.72 8.38,14.77C8.28,14.6 8.18,14.43 8.08,14.26M14.62,13.5L15.43,12L14.62,10.5C14.32,9.97 14,9.5 13.71,9.03C13.17,9 12.6,9 12,9C11.4,9 10.83,9 10.29,9.03C10,9.5 9.68,9.97 9.38,10.5L8.57,12L9.38,13.5C9.68,14.03 10,14.5 10.29,14.97C10.83,15 11.4,15 12,15C12.6,15 13.17,15 13.71,14.97C14,14.5 14.32,14.03 14.62,13.5M12,6.78C11.81,7 11.61,7.23 11.41,7.5C11.61,7.5 11.8,7.5 12,7.5C12.2,7.5 12.39,7.5 12.59,7.5C12.39,7.23 12.19,7 12,6.78M12,17.22C12.19,17 12.39,16.77 12.59,16.5C12.39,16.5 12.2,16.5 12,16.5C11.8,16.5 11.61,16.5 11.41,16.5C11.61,16.77 11.81,17 12,17.22M16.62,4C16,3.62 14.62,4.2 13.03,5.7C13.55,6.29 14.06,6.93 14.54,7.6C15.36,7.68 16.17,7.8 16.94,7.96C17.45,5.82 17.26,4.35 16.62,4M15.92,9.74L16.21,10.25C16.32,9.96 16.43,9.67 16.5,9.39C16.23,9.33 15.93,9.28 15.62,9.23C15.72,9.4 15.82,9.57 15.92,9.74M17.37,2.69C18.84,3.53 19,5.74 18.38,8.32C20.92,9.07 22.75,10.31 22.75,12C22.75,13.69 20.92,14.93 18.38,15.68C19,18.26 18.84,20.47 17.37,21.31C15.91,22.15 13.92,21.19 12,19.36C10.08,21.19 8.09,22.15 6.62,21.31C5.16,20.47 5,18.26 5.62,15.68C3.08,14.93 1.25,13.69 1.25,12C1.25,10.31 3.08,9.07 5.62,8.32C5,5.74 5.16,3.53 6.62,2.69C8.09,1.85 10.08,2.81 12,4.64C13.92,2.81 15.91,1.85 17.37,2.69M17.08,12C17.42,12.75 17.72,13.5 17.97,14.26C20.07,13.63 21.25,12.73 21.25,12C21.25,11.27 20.07,10.37 17.97,9.74C17.72,10.5 17.42,11.25 17.08,12M6.92,12C6.58,11.25 6.28,10.5 6.03,9.74C3.93,10.37 2.75,11.27 2.75,12C2.75,12.73 3.93,13.63 6.03,14.26C6.28,13.5 6.58,12.75 6.92,12M15.92,14.26C15.82,14.43 15.72,14.6 15.62,14.77C15.93,14.72 16.23,14.67 16.5,14.61C16.43,14.33 16.32,14.04 16.21,13.75L15.92,14.26M13.03,18.3C14.62,19.8 16,20.38 16.62,20C17.26,19.65 17.45,18.18 16.94,16.04C16.17,16.2 15.36,16.32 14.54,16.4C14.06,17.07 13.55,17.71 13.03,18.3M8.08,9.74C8.18,9.57 8.28,9.4 8.38,9.23C8.07,9.28 7.77,9.33 7.5,9.39C7.57,9.67 7.68,9.96 7.79,10.25L8.08,9.74M10.97,5.7C9.38,4.2 8,3.62 7.37,4C6.74,4.35 6.55,5.82 7.06,7.96C7.83,7.8 8.64,7.68 9.46,7.6C9.94,6.93 10.45,6.29 10.97,5.7Z\";\r\nexport var mdiRead = \"M21.59,11.59L23,13L13.5,22.5L8.42,17.41L9.83,16L13.5,19.68L21.59,11.59M4,16V3H6L9,3A4,4 0 0,1 13,7C13,8.54 12.13,9.88 10.85,10.55L14,16H12L9.11,11H6V16H4M6,9H9A2,2 0 0,0 11,7A2,2 0 0,0 9,5H6V9Z\";\r\nexport var mdiReceipt = \"M3 22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.5 20.5L15 22L16.5 20.5L18 22L19.5 20.5L21 22V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2\";\r\nexport var mdiReceiptClock = \"M3 22L4.5 20.5L6 22L7.5 20.5L9 22L10.58 20.42C10.72 20.61 10.88 20.78 11.05 20.95C12.36 22.26 14.14 23 16 23C19.86 23 23 19.87 23 16C23 14.17 22.28 12.41 21 11.1V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22M20.85 16C20.85 16.64 20.73 17.27 20.5 17.86C20.24 18.44 19.88 19 19.43 19.43C19 19.88 18.44 20.24 17.86 20.5C17.27 20.73 16.64 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 14.71 11.66 13.5 12.57 12.57C13.5 11.66 14.71 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69Z\";\r\nexport var mdiReceiptClockOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.58 20.42C10.72 20.61 10.88 20.78 11.05 20.95C12.36 22.26 14.14 23 16 23C19.86 23 23 19.87 23 16C23 14.17 22.28 12.41 21 11.1V2L19.5 3.5M19 9.68C18.07 9.24 17.05 9 16 9C12.14 9 9 12.13 9 16C9 17.05 9.24 18.07 9.68 19H5V5H19V9.68M20.85 16C20.85 16.64 20.73 17.27 20.5 17.86C20.24 18.44 19.88 19 19.43 19.43C19 19.88 18.44 20.24 17.86 20.5C17.27 20.73 16.64 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 14.71 11.66 13.5 12.57 12.57C13.5 11.66 14.71 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69Z\";\r\nexport var mdiReceiptOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.5 20.5L15 22L16.5 20.5L18 22L19.5 20.5L21 22V2L19.5 3.5M19 19H5V5H19V19Z\";\r\nexport var mdiReceiptSend = \"M4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V14.26L12 9.76V22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5M14 19L18 18L14 17V13L24 18L14 23V19Z\";\r\nexport var mdiReceiptSendOutline = \"M18 2L19.5 3.5L21 2V14.26L19 13.26V5H5V19H12V22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2M14 19L18 18L14 17V13L24 18L14 23V19Z\";\r\nexport var mdiReceiptText = \"M3,22L4.5,20.5L6,22L7.5,20.5L9,22L10.5,20.5L12,22L13.5,20.5L15,22L16.5,20.5L18,22L19.5,20.5L21,22V2L19.5,3.5L18,2L16.5,3.5L15,2L13.5,3.5L12,2L10.5,3.5L9,2L7.5,3.5L6,2L4.5,3.5L3,2M18,9H6V7H18M18,13H6V11H18M18,17H6V15H18V17Z\";\r\nexport var mdiReceiptTextArrowLeft = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9M18 18V16L15 19L18 22V20H22V18H18Z\";\r\nexport var mdiReceiptTextArrowLeftOutline = \"M12 22L13.26 20.74C13.1 20.22 13 19.66 13 19.09H5V4.91H19V13C19.7 13 20.37 13.13 21 13.35V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22M13.35 17C13.61 16.25 14 15.58 14.54 15H6V17H13.35M18 11H6V13H18V11M18 7H6V9H18V7M18 20V22L15 19L18 16V18H22V20H18Z\";\r\nexport var mdiReceiptTextArrowRight = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9M19 22V20H15V18H19V16L22 19L19 22Z\";\r\nexport var mdiReceiptTextArrowRightOutline = \"M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V4.91H5V19.09H13C13 19.66 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7M19 22V20H15V18H19V16L22 19L19 22Z\";\r\nexport var mdiReceiptTextCheck = \"M18.25 22L15.5 19L16.66 17.82L18.25 19.41L21.84 15.82L23 17.23M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\r\nexport var mdiReceiptTextCheckOutline = \"M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M6 15V17H13.35C13.61 16.25 14 15.58 14.54 15H6M6 13H18V11H6V13M6 9H18V7H6V9M23 17.23L21.84 15.82L18.25 19.41L16.66 17.82L15.5 19L18.25 22\";\r\nexport var mdiReceiptTextClock = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.58 20.42C10.72 20.61 10.88 20.78 11.05 20.95C12.36 22.26 14.14 23 16 23C19.86 23 23 19.87 23 16C23 14.17 22.28 12.41 21 11.1V2L19.5 3.5M11.1 11C10.5 11.57 10.03 12.25 9.67 13H6V11H11.1M9.07 15C9 15.33 9 15.66 9 16C9 16.34 9 16.67 9.07 17H6V15H9.07M18 9H6V7H18V9M20.85 16C20.85 16.64 20.73 17.27 20.5 17.86C20.24 18.44 19.88 19 19.43 19.43C19 19.88 18.44 20.24 17.86 20.5C17.27 20.73 16.64 20.85 16 20.85C13.32 20.85 11.15 18.68 11.15 16C11.15 14.71 11.66 13.5 12.57 12.57C13.5 11.66 14.71 11.15 16 11.15C18.67 11.15 20.85 13.32 20.85 16Z\";\r\nexport var mdiReceiptTextClockOutline = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M10.58 20.42L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V11.1C22.28 12.41 23 14.17 23 16C23 19.87 19.86 23 16 23C14.14 23 12.36 22.26 11.05 20.95C10.88 20.78 10.72 20.61 10.58 20.42M9.72 19.09C9.4 18.43 9.18 17.73 9.07 17H6V15H9.07C9.17 14.29 9.38 13.62 9.68 13H6V11H11.1C12.37 9.76 14.1 9 16 9H6V7H18V9H16C17.05 9 18.07 9.24 19 9.68V4.91H5V19.09H9.72M20.85 16C20.85 13.32 18.67 11.15 16 11.15C14.71 11.15 13.5 11.66 12.57 12.57C11.66 13.5 11.15 14.71 11.15 16C11.15 18.68 13.32 20.85 16 20.85C16.64 20.85 17.27 20.73 17.86 20.5C18.44 20.24 19 19.88 19.43 19.43C19.88 19 20.24 18.44 20.5 17.86C20.73 17.27 20.85 16.64 20.85 16Z\";\r\nexport var mdiReceiptTextEdit = \"M3 22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5V19.63L13.13 17H6V15H15.13L17.13 13H6V11H18V12.13L21 9.13V2L19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22M6 9V7H18V9H6M13 22V19.96L19.13 13.83L21.17 15.87L15.04 22H13M21 12.03C21.18 11.97 21.39 12 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13L20.81 12.15L20.83 12.13C20.88 12.09 20.94 12.05 21 12.03Z\";\r\nexport var mdiReceiptTextEditOutline = \"M18 2L19.5 3.5L21 2V9.13L19 11.13V4.91H5V19.09H10.5V20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2M13 19.96L19.13 13.83L21.17 15.87L15.04 22H13V19.96M19.83 13.13L20.81 12.15L20.83 12.13C20.88 12.09 20.94 12.05 21 12.03C21.18 11.97 21.39 12 21.53 12.15L22.85 13.47C23.05 13.67 23.05 14 22.85 14.19L21.87 15.17L19.83 13.13M18 12.13L17.13 13H6V11H18V12.13M15.13 15L13.13 17H6V15H15.13M18 9V7H6V9H18Z\";\r\nexport var mdiReceiptTextMinus = \"M15 18V20H23V18H15M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\r\nexport var mdiReceiptTextMinusOutline = \"M15 18V20H23V18H15M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7Z\";\r\nexport var mdiReceiptTextOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.5 20.5L15 22L16.5 20.5L18 22L19.5 20.5L21 22V2L19.5 3.5M19 19H5V5H19V19M6 15H18V17H6M6 11H18V13H6M6 7H18V9H6V7Z\";\r\nexport var mdiReceiptTextPlus = \"M18 15V18H15V20H18V23H20V20H23V18H20V15H18M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\r\nexport var mdiReceiptTextPlusOutline = \"M18 15V18H15V20H18V23H20V20H23V18H20V15H18M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7Z\";\r\nexport var mdiReceiptTextRemove = \"M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22L13.26 20.74C13.09 20.18 13 19.59 13 19C13 18.32 13.12 17.64 13.34 17H6V15H14.53C15.67 13.73 17.29 13 19 13C19.68 13 20.36 13.12 21 13.34V2L19.5 3.5M18 13H6V11H18V13M18 9H6V7H18V9Z\";\r\nexport var mdiReceiptTextRemoveOutline = \"M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46M13.26 20.74L12 22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V13.35C20.37 13.13 19.7 13 19 13V5H5V19H13C13 19.57 13.1 20.22 13.26 20.74M14.54 15C14 15.58 13.61 16.25 13.35 17H6V15H14.54M6 11H18V13H6V11M6 7H18V9H6V7Z\";\r\nexport var mdiReceiptTextSend = \"M4.5 20.5L3 22V2L4.5 3.5L6 2L7.5 3.5L9 2L10.5 3.5L12 2L13.5 3.5L15 2L16.5 3.5L18 2L19.5 3.5L21 2V14.26L18 12.76V11H6V13H12V15H6V17H12V22L10.5 20.5L9 22L7.5 20.5L6 22L4.5 20.5M6 7V9H18V7H6M14 13L24 18L14 23V19L18 18L14 17V13Z\";\r\nexport var mdiReceiptTextSendOutline = \"M19.5 3.5L18 2L16.5 3.5L15 2L13.5 3.5L12 2L10.5 3.5L9 2L7.5 3.5L6 2L4.5 3.5L3 2V22L4.5 20.5L6 22L7.5 20.5L9 22L10.5 20.5L12 22V19.09H5V4.91H19V13.26L21 14.26V2L19.5 3.5M14 23V19L18 18L14 17V13L24 18L14 23M12 11V13H6V11H12M6 17V15H12V17H6M18 7V9H6V7H18Z\";\r\nexport var mdiRecord = \"M19,12C19,15.86 15.86,19 12,19C8.14,19 5,15.86 5,12C5,8.14 8.14,5 12,5C15.86,5 19,8.14 19,12Z\";\r\nexport var mdiRecordCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9Z\";\r\nexport var mdiRecordCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiRecordPlayer = \"M5,17.5A0.5,0.5 0 0,1 4.5,18H3.5A0.5,0.5 0 0,1 3,17.5V17H2A1,1 0 0,1 1,16V13A1,1 0 0,1 2,12H19V10H7L6,11V9A1,1 0 0,1 7,8H19V7H21V8A1,1 0 0,1 22,9V10H21V12H22A1,1 0 0,1 23,13V16A1,1 0 0,1 22,17H21V17.5A0.5,0.5 0 0,1 20.5,18H19.5A0.5,0.5 0 0,1 19,17.5V17H5V17.5M3,14V15H5V14H3M6,14V15H8V14H6M20.5,13.5A1,1 0 0,0 19.5,14.5A1,1 0 0,0 20.5,15.5A1,1 0 0,0 21.5,14.5A1,1 0 0,0 20.5,13.5Z\";\r\nexport var mdiRecordRec = \"M12.5,5A7.5,7.5 0 0,0 5,12.5A7.5,7.5 0 0,0 12.5,20A7.5,7.5 0 0,0 20,12.5A7.5,7.5 0 0,0 12.5,5M7,10H9A1,1 0 0,1 10,11V12C10,12.5 9.62,12.9 9.14,12.97L10.31,15H9.15L8,13V15H7M12,10H14V11H12V12H14V13H12V14H14V15H12A1,1 0 0,1 11,14V11A1,1 0 0,1 12,10M16,10H18V11H16V14H18V15H16A1,1 0 0,1 15,14V11A1,1 0 0,1 16,10M8,11V12H9V11\";\r\nexport var mdiRectangle = \"M4,6V19H20V6H4Z\";\r\nexport var mdiRectangleOutline = \"M4,6V19H20V6H4M18,17H6V8H18V17Z\";\r\nexport var mdiRecycle = \"M21.82,15.42L19.32,19.75C18.83,20.61 17.92,21.06 17,21H15V23L12.5,18.5L15,14V16H17.82L15.6,12.15L19.93,9.65L21.73,12.77C22.25,13.54 22.32,14.57 21.82,15.42M9.21,3.06H14.21C15.19,3.06 16.04,3.63 16.45,4.45L17.45,6.19L19.18,5.19L16.54,9.6L11.39,9.69L13.12,8.69L11.71,6.24L9.5,10.09L5.16,7.59L6.96,4.47C7.37,3.64 8.22,3.06 9.21,3.06M5.05,19.76L2.55,15.43C2.06,14.58 2.13,13.56 2.64,12.79L3.64,11.06L1.91,10.06L7.05,10.14L9.7,14.56L7.97,13.56L6.56,16H11V21H7.4C6.47,21.07 5.55,20.61 5.05,19.76Z\";\r\nexport var mdiRecycleVariant = \"M7.17 7.91L8.9 8.91L12.08 3.42L14.33 7.31L11.73 8.81L17.19 10.27L18.66 4.81L16.06 6.31L13.81 2.41C13.26 1.45 12.03 1.12 11.08 1.68C10.81 1.83 10.58 2.05 10.41 2.31M10 20V18L3.66 18L5.9 14.1L8.5 15.6L7.04 10.14L1.57 11.6L4.17 13.1L1.92 17C1.37 17.96 1.7 19.18 2.65 19.73C2.92 19.89 3.22 19.97 3.54 20M19.06 11.5L17.32 12.5L20.5 18H16V15L12 19L16 23V20H20.5C21.61 20 22.5 19.11 22.5 18C22.5 17.69 22.42 17.38 22.28 17.11Z\";\r\nexport var mdiReddit = \"M14.5 15.41C14.58 15.5 14.58 15.69 14.5 15.8C13.77 16.5 12.41 16.56 12 16.56C11.61 16.56 10.25 16.5 9.54 15.8C9.44 15.69 9.44 15.5 9.54 15.41C9.65 15.31 9.82 15.31 9.92 15.41C10.38 15.87 11.33 16 12 16C12.69 16 13.66 15.87 14.1 15.41C14.21 15.31 14.38 15.31 14.5 15.41M10.75 13.04C10.75 12.47 10.28 12 9.71 12C9.14 12 8.67 12.47 8.67 13.04C8.67 13.61 9.14 14.09 9.71 14.08C10.28 14.08 10.75 13.61 10.75 13.04M14.29 12C13.72 12 13.25 12.5 13.25 13.05S13.72 14.09 14.29 14.09C14.86 14.09 15.33 13.61 15.33 13.05C15.33 12.5 14.86 12 14.29 12M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12C2 6.5 6.5 2 12 2S22 6.5 22 12M18.67 12C18.67 11.19 18 10.54 17.22 10.54C16.82 10.54 16.46 10.7 16.2 10.95C15.2 10.23 13.83 9.77 12.3 9.71L12.97 6.58L15.14 7.05C15.16 7.6 15.62 8.04 16.18 8.04C16.75 8.04 17.22 7.57 17.22 7C17.22 6.43 16.75 5.96 16.18 5.96C15.77 5.96 15.41 6.2 15.25 6.55L12.82 6.03C12.75 6 12.68 6.03 12.63 6.07C12.57 6.11 12.54 6.17 12.53 6.24L11.79 9.72C10.24 9.77 8.84 10.23 7.82 10.96C7.56 10.71 7.2 10.56 6.81 10.56C6 10.56 5.35 11.21 5.35 12C5.35 12.61 5.71 13.11 6.21 13.34C6.19 13.5 6.18 13.62 6.18 13.78C6.18 16 8.79 17.85 12 17.85C15.23 17.85 17.85 16.03 17.85 13.78C17.85 13.64 17.84 13.5 17.81 13.34C18.31 13.11 18.67 12.6 18.67 12Z\";\r\nexport var mdiRedhat = \"M15.34 13.16C16.66 13.16 18.56 12.89 18.56 11.32C18.57 11.2 18.56 11.08 18.53 10.96L17.75 7.56C17.57 6.81 17.41 6.47 16.09 5.81C15.07 5.29 12.85 4.43 12.19 4.43C11.58 4.43 11.4 5.22 10.67 5.22C9.97 5.22 9.45 4.63 8.79 4.63C8.16 4.63 7.75 5.06 7.43 5.94C7.43 5.94 6.55 8.44 6.43 8.8C6.42 8.87 6.41 8.93 6.41 9C6.41 9.97 10.23 13.15 15.34 13.15M18.77 11.96C18.95 12.82 18.95 12.91 18.95 13C18.95 14.5 17.29 15.31 15.12 15.31C10.2 15.31 5.89 12.43 5.89 10.53C5.89 10.26 5.95 10 6.05 9.76C4.28 9.84 2 10.16 2 12.18C2 15.5 9.84 19.57 16.05 19.57C20.81 19.57 22 17.42 22 15.72C22 14.38 20.85 12.86 18.77 11.96\";\r\nexport var mdiRedo = \"M18.4,10.6C16.55,9 14.15,8 11.5,8C6.85,8 2.92,11.03 1.54,15.22L3.9,16C4.95,12.81 7.95,10.5 11.5,10.5C13.45,10.5 15.23,11.22 16.62,12.38L13,16H22V7L18.4,10.6Z\";\r\nexport var mdiRedoVariant = \"M10.5,7A6.5,6.5 0 0,0 4,13.5A6.5,6.5 0 0,0 10.5,20H14V18H10.5C8,18 6,16 6,13.5C6,11 8,9 10.5,9H16.17L13.09,12.09L14.5,13.5L20,8L14.5,2.5L13.08,3.91L16.17,7H10.5M18,18H16V20H18V18Z\";\r\nexport var mdiReflectHorizontal = \"M22,20H14A1,1 0 0,1 13,19V4.97C13,4.5 13.31,4.12 13.74,4C14.19,3.88 14.65,4.08 14.87,4.47L22.89,18.5C23.07,18.81 23.07,19.19 22.89,19.5C22.71,19.81 22.38,20 22,20M2,20C1.62,20 1.29,19.81 1.11,19.5C0.93,19.19 0.93,18.81 1.11,18.5L9.13,4.47C9.35,4.08 9.81,3.88 10.26,4C10.69,4.12 11,4.5 11,4.97V19A1,1 0 0,1 10,20H2M9,18V8.74L3.71,18H9Z\";\r\nexport var mdiReflectVertical = \"M18,23H6C5.61,23 5.26,22.79 5.09,22.45C4.92,22.11 4.96,21.7 5.19,21.4L11.2,13.38C11.58,12.87 12.42,12.87 12.8,13.38L18.81,21.4C19.04,21.7 19.08,22.11 18.91,22.45C18.74,22.79 18.39,23 18,23M18,1C18.39,1 18.74,1.21 18.91,1.55C19.08,1.89 19.04,2.3 18.81,2.6L12.8,10.62C12.42,11.13 11.58,11.13 11.2,10.62L5.19,2.6C4.96,2.3 4.92,1.89 5.09,1.55C5.26,1.21 5.61,1 6,1H18M8,3L12,8.35L16,3H8Z\";\r\nexport var mdiRefresh = \"M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z\";\r\nexport var mdiRefreshAuto = \"M12.68 6H11.32L7 16H9L9.73 14H14.27L15 16H17L12.68 6M10.3 12.5L12 8L13.7 12.5H10.3M17.4 20.4L19 22H14V17L16 19C18.39 17.61 20 14.95 20 12C20 7.59 16.41 4 12 4S4 7.59 4 12C4 14.95 5.61 17.53 8 18.92V21.16C4.47 19.61 2 16.1 2 12C2 6.5 6.5 2 12 2S22 6.5 22 12C22 15.53 20.17 18.62 17.4 20.4Z\";\r\nexport var mdiRefreshCircle = \"M12 2A10 10 0 1 0 22 12A10 10 0 0 0 12 2M18 11H13L14.81 9.19A3.94 3.94 0 0 0 12 8A4 4 0 1 0 15.86 13H17.91A6 6 0 1 1 12 6A5.91 5.91 0 0 1 16.22 7.78L18 6Z\";\r\nexport var mdiRegex = \"M16,16.92C15.67,16.97 15.34,17 15,17C14.66,17 14.33,16.97 14,16.92V13.41L11.5,15.89C11,15.5 10.5,15 10.11,14.5L12.59,12H9.08C9.03,11.67 9,11.34 9,11C9,10.66 9.03,10.33 9.08,10H12.59L10.11,7.5C10.3,7.25 10.5,7 10.76,6.76V6.76C11,6.5 11.25,6.3 11.5,6.11L14,8.59V5.08C14.33,5.03 14.66,5 15,5C15.34,5 15.67,5.03 16,5.08V8.59L18.5,6.11C19,6.5 19.5,7 19.89,7.5L17.41,10H20.92C20.97,10.33 21,10.66 21,11C21,11.34 20.97,11.67 20.92,12H17.41L19.89,14.5C19.7,14.75 19.5,15 19.24,15.24V15.24C19,15.5 18.75,15.7 18.5,15.89L16,13.41V16.92H16V16.92M5,19A2,2 0 0,1 7,17A2,2 0 0,1 9,19A2,2 0 0,1 7,21A2,2 0 0,1 5,19H5Z\";\r\nexport var mdiRegisteredTrademark = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12.25,13.27H10.81V16.5H9V7.71H12.26C13.29,7.71 14.09,7.94 14.66,8.4C15.22,8.87 15.5,9.5 15.5,10.36C15.5,10.96 15.37,11.46 15.11,11.86C14.85,12.26 14.46,12.58 13.93,12.81L15.83,16.4V16.5H13.89L12.25,13.27M10.81,11.81H12.27C12.72,11.81 13.07,11.69 13.32,11.46C13.57,11.23 13.69,10.91 13.69,10.5C13.69,10.09 13.58,9.77 13.34,9.53C13.11,9.29 12.75,9.18 12.26,9.18H10.81V11.81Z\";\r\nexport var mdiReiterate = \"M10.5 4A6.5 6.5 0 0 0 4 10H1L5 14L9 10H6.03A4.5 4.5 0 0 1 10.5 6A4.5 4.5 0 0 1 15 10.5A4.5 4.5 0 0 1 10.5 15H2V17H10.5A6.5 6.5 0 0 0 17 10.5A6.5 6.5 0 0 0 10.5 4M19 12V15H16.5A7.5 7.5 0 0 1 14.24 17H19V20L23 16Z\";\r\nexport var mdiRelationManyToMany = \"M22 13V19H21L19 17H11V9H5L3 11H2V5H3L5 7H13V15H19L21 13Z\";\r\nexport var mdiRelationManyToOne = \"M22 15V17H19V19H17V17H11V9H5L3 11H2V5H3L5 7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationManyToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H5L3 11H2V5H3L5 7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationManyToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H5L3 11H2V5H3L5 7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H5L3 5H2V11H3L5 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H5L3 5H2V11H3L5 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneOrManyToMany = \"M22 13V19H21L19 17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H19L21 13Z\";\r\nexport var mdiRelationOneOrManyToOne = \"M22 15V17H19V19H17V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationOneOrManyToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationOneOrManyToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H7V11H5V9L3 11H2V5H3L5 7V5H7V7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationOneOrManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7L3 5H2V11H3L5 9V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneOrManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7L3 5H2V11H3L5 9V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneToMany = \"M22 13V19H21L19 17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H19L21 13Z\";\r\nexport var mdiRelationOneToOne = \"M22 15V17H19V19H17V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationOneToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationOneToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H7V11H5V9H2V7H5V5H7V7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7H2V9H5V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H7V5H5V7H2V9H5V11H7V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOnlyOneToMany = \"M22 13V19H21L19 17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H19L21 13Z\";\r\nexport var mdiRelationOnlyOneToOne = \"M22 15V17H19V19H17V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H17V13H19V15Z\";\r\nexport var mdiRelationOnlyOneToOneOrMany = \"M22 13V19H21L19 17V19H17V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H17V13H19V15L21 13Z\";\r\nexport var mdiRelationOnlyOneToOnlyOne = \"M22 15V17H21V19H19V17H18V19H16V17H11V9H8V11H6V9H5V11H3V9H2V7H3V5H5V7H6V5H8V7H13V15H16V13H18V15H19V13H21V15Z\";\r\nexport var mdiRelationOnlyOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H8V5H6V7H5V5H3V7H2V9H3V11H5V9H6V11H8V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationOnlyOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H8V5H6V7H5V5H3V7H2V9H3V11H5V9H6V11H8V9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrManyToMany = \"M21 13L19 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToOne = \"M19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToOneOrMany = \"M21 13L19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToOnlyOne = \"M21 15V13H19V15H18V13H16V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H16V19H18V17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrManyToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrManyToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5L3 5H2V11H3L5 9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrOneToMany = \"M21 13L19 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToOne = \"M19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToOneOrMany = \"M21 13L19 15V13H17V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H17V19H19V17L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToOnlyOne = \"M21 15V13H19V15H18V13H16V15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H16V19H18V17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9Z\";\r\nexport var mdiRelationZeroOrOneToZeroOrMany = \"M21 13L19 15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19L21 19H22V13M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelationZeroOrOneToZeroOrOne = \"M21 15V13H19V15H18.79A2.5 2.5 0 0 0 14.21 15H13V7H9.79A2.5 2.5 0 0 0 5.21 7H5V5H3V7H2V9H3V11H5V9H5.21A2.5 2.5 0 0 0 9.79 9H11V17H14.21A2.5 2.5 0 0 0 18.79 17H19V19H21V17H22V15M7.5 9A1 1 0 1 1 8.5 8A1 1 0 0 1 7.5 9M16.5 17A1 1 0 1 1 17.5 16A1 1 0 0 1 16.5 17Z\";\r\nexport var mdiRelativeScale = \"M20,18H4V6H20M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4M12,10H10V12H12M8,10H6V12H8M16,14H14V16H16M16,10H14V12H16V10Z\";\r\nexport var mdiReload = \"M2 12C2 16.97 6.03 21 11 21C13.39 21 15.68 20.06 17.4 18.4L15.9 16.9C14.63 18.25 12.86 19 11 19C4.76 19 1.64 11.46 6.05 7.05C10.46 2.64 18 5.77 18 12H15L19 16H19.1L23 12H20C20 7.03 15.97 3 11 3C6.03 3 2 7.03 2 12Z\";\r\nexport var mdiReloadAlert = \"M2 12C2 17 6 21 11 21C13.4 21 15.7 20.1 17.4 18.4L15.9 16.9C14.6 18.3 12.9 19 11 19C4.8 19 1.6 11.5 6.1 7.1S18 5.8 18 12H15L19 16H19.1L23 12H20C20 7 16 3 11 3S2 7 2 12M10 15H12V17H10V15M10 7H12V13H10V7\";\r\nexport var mdiReminder = \"M7.25,3C7.9,3 8.5,3.21 9,3.56V3A2,2 0 0,1 11,1A2,2 0 0,1 13,3V3.57C13.5,3.22 14.1,3 14.75,3A3,3 0 0,1 17.75,6C17.75,7.58 16.54,8.87 15,9H13V10H14.24L14.72,10.13L19.31,12.42C20.13,12.73 20.53,13.34 20.53,14.25L20.5,14.39V14.53L19.5,21.28C19.44,21.75 19.22,22.16 18.84,22.5C18.47,22.84 18.05,23 17.58,23H10C9.45,23 9,22.81 8.58,22.41L2,15.84L3.05,14.77C3.33,14.5 3.69,14.34 4.13,14.34H4.45L9,15.33V10L9,9H7V9C5.46,8.86 4.25,7.57 4.25,6A3,3 0 0,1 7.25,3M9,6A1.75,1.75 0 0,0 7.25,4.25A1.75,1.75 0 0,0 5.5,6C5.5,6.88 6.15,7.61 7,7.73V7.75H9V6M15,7.75V7.74C15.85,7.62 16.5,6.89 16.5,6C16.5,5.04 15.72,4.26 14.75,4.26C13.78,4.26 13,5.04 13,6V7.75H15Z\";\r\nexport var mdiRemote = \"M12,0C8.96,0 6.21,1.23 4.22,3.22L5.63,4.63C7.26,3 9.5,2 12,2C14.5,2 16.74,3 18.36,4.64L19.77,3.23C17.79,1.23 15.04,0 12,0M7.05,6.05L8.46,7.46C9.37,6.56 10.62,6 12,6C13.38,6 14.63,6.56 15.54,7.46L16.95,6.05C15.68,4.78 13.93,4 12,4C10.07,4 8.32,4.78 7.05,6.05M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15M15,9H9A1,1 0 0,0 8,10V22A1,1 0 0,0 9,23H15A1,1 0 0,0 16,22V10A1,1 0 0,0 15,9Z\";\r\nexport var mdiRemoteDesktop = \"M3,2A2,2 0 0,0 1,4V16C1,17.11 1.9,18 3,18H10V20H8V22H16V20H14V18H21A2,2 0 0,0 23,16V4A2,2 0 0,0 21,2M3,4H21V16H3M15,5L11.5,8.5L15,12L16.4,10.6L14.3,8.5L16.4,6.4M9,8L7.6,9.4L9.7,11.5L7.6,13.6L9,15L12.5,11.5\";\r\nexport var mdiRemoteOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L16,19.27V22A1,1 0 0,1 15,23H9C8.46,23 8,22.55 8,22V11.27L2,5.27M12,0C15.05,0 17.8,1.23 19.77,3.23L18.36,4.64C16.75,3 14.5,2 12,2C9.72,2 7.64,2.85 6.06,4.24L4.64,2.82C6.59,1.07 9.17,0 12,0M12,4C13.94,4 15.69,4.78 16.95,6.05L15.55,7.46C14.64,6.56 13.39,6 12,6C10.83,6 9.76,6.4 8.9,7.08L7.5,5.66C8.7,4.62 10.28,4 12,4M15,9C15.56,9 16,9.45 16,10V14.18L13.5,11.69L13.31,11.5L10.82,9H15M10.03,13.3C10.16,14.16 10.84,14.85 11.71,15L10.03,13.3Z\";\r\nexport var mdiRemoteTv = \"M9,2C7.89,2 7,2.89 7,4V20C7,21.11 7.89,22 9,22H15C16.11,22 17,21.11 17,20V4C17,2.89 16.11,2 15,2H13V4H11V2H9M11,6H13V8H15V10H13V12H11V10H9V8H11V6M9,14H11V16H9V14M13,14H15V16H13V14M9,18H11V20H9V18M13,18H15V20H13V18Z\";\r\nexport var mdiRemoteTvOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17,20.25C16.86,21.24 16,22 15,22H9A2,2 0 0,1 7,20V10.27L2,5.27M9,2H11V4H13V2H15A2,2 0 0,1 17,4V15.18L13,11.18V10H15V8H13V6H11V8H9.82L7,5.18V4A2,2 0 0,1 9,2M9,20H11V18H9V20M13,20H15V18.27L14.73,18H13V20M9,14V16H11V14.27L10.73,14H9Z\";\r\nexport var mdiRename = \"M15 16L11 20H21V16H15M12.06 7.19L3 16.25V20H6.75L15.81 10.94L12.06 7.19M18.71 8.04C19.1 7.65 19.1 7 18.71 6.63L16.37 4.29C16.17 4.09 15.92 4 15.66 4C15.41 4 15.15 4.1 14.96 4.29L13.13 6.12L16.88 9.87L18.71 8.04Z\";\r\nexport var mdiRenameBox = \"M18,17H10.5L12.5,15H18M6,17V14.5L13.88,6.65C14.07,6.45 14.39,6.45 14.59,6.65L16.35,8.41C16.55,8.61 16.55,8.92 16.35,9.12L8.47,17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiRenameBoxOutline = \"M17 17H11.5L13.5 15H17M7 17V14.5L14.9 6.7C15.1 6.5 15.4 6.5 15.6 6.7L17.4 8.5C17.6 8.7 17.6 9 17.4 9.2L9.5 17M19 5V19H5V5H19M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3Z\";\r\nexport var mdiRenameOutline = \"M15 16L11 20H21V16H15M12.06 7.19L3 16.25V20H6.75L15.81 10.94L12.06 7.19M5.92 18H5V17.08L12.06 10L13 10.94L5.92 18M18.71 8.04C19.1 7.65 19.1 7 18.71 6.63L16.37 4.29C16.17 4.09 15.92 4 15.66 4C15.41 4 15.15 4.1 14.96 4.29L13.13 6.12L16.88 9.87L18.71 8.04Z\";\r\nexport var mdiReorderHorizontal = \"M3,15H21V13H3V15M3,19H21V17H3V19M3,11H21V9H3V11M3,5V7H21V5H3Z\";\r\nexport var mdiReorderVertical = \"M9,3V21H11V3H9M5,3V21H7V3H5M13,3V21H15V3H13M19,3H17V21H19V3Z\";\r\nexport var mdiRepeat = \"M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z\";\r\nexport var mdiRepeatOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.73,19H7V22L3,18L7,14V17H13.73L7,10.27V11H5V8.27L2,5.27M17,13H19V17.18L17,15.18V13M17,5V2L21,6L17,10V7H8.82L6.82,5H17Z\";\r\nexport var mdiRepeatOnce = \"M13,15V9H12L10,10V11H11.5V15M17,17H7V14L3,18L7,22V19H19V13H17M7,7H17V10L21,6L17,2V5H5V11H7V7Z\";\r\nexport var mdiRepeatVariant = \"M6,5.75L10.25,10H7V16H13.5L15.5,18H7A2,2 0 0,1 5,16V10H1.75L6,5.75M18,18.25L13.75,14H17V8H10.5L8.5,6H17A2,2 0 0,1 19,8V14H22.25L18,18.25Z\";\r\nexport var mdiReplay = \"M12,5V1L7,6L12,11V7A6,6 0 0,1 18,13A6,6 0 0,1 12,19A6,6 0 0,1 6,13H4A8,8 0 0,0 12,21A8,8 0 0,0 20,13A8,8 0 0,0 12,5Z\";\r\nexport var mdiReply = \"M10,9V5L3,12L10,19V14.9C15,14.9 18.5,16.5 21,20C20,15 17,10 10,9Z\";\r\nexport var mdiReplyAll = \"M13,9V5L6,12L13,19V14.9C18,14.9 21.5,16.5 24,20C23,15 20,10 13,9M7,8V5L0,12L7,19V16L3,12L7,8Z\";\r\nexport var mdiReplyAllOutline = \"M11,9.8V10.7L12.7,10.9C15.3,11.3 17.2,12.3 18.6,13.6C16.9,13.1 15.1,12.8 13,12.8H11V14.1L8.8,12L11,9.8M13,5L6,12L13,19V14.9C18,14.9 21.5,16.5 24,20C23,15 20,10 13,9M7,8V5L0,12L7,19V16L3,12\";\r\nexport var mdiReplyCircle = \"M2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2 2 6.5 2 12M5 11L10 6V9C15.06 9.73 17.28 13.33 18 17C16.19 14.43 13.61 13 10 13V16L5 11Z\";\r\nexport var mdiReplyOutline = \"M8,9.8V10.7L9.7,11C12.3,11.4 14.2,12.4 15.6,13.7C13.9,13.2 12.1,12.9 10,12.9H8V14.2L5.8,12L8,9.8M10,5L3,12L10,19V14.9C15,14.9 18.5,16.5 21,20C20,15 17,10 10,9\";\r\nexport var mdiReproduction = \"M12.72,13.15L13.62,12.26C13.6,11 14.31,9.44 15.62,8.14C17.57,6.18 20.11,5.55 21.28,6.72C22.45,7.89 21.82,10.43 19.86,12.38C18.56,13.69 17,14.4 15.74,14.38L14.85,15.28C14.5,15.61 14,15.66 13.6,15.41C12.76,15.71 12,16.08 11.56,16.8C11.03,17.68 11.03,19.1 10.47,19.95C9.91,20.81 8.79,21.1 7.61,21.1C6.43,21.1 5,21 3.95,19.5L6.43,19.92C7,20 8.5,19.39 9.05,18.54C9.61,17.68 9.61,16.27 10.14,15.38C10.61,14.6 11.5,14.23 12.43,13.91C12.42,13.64 12.5,13.36 12.72,13.15M7,2A5,5 0 0,1 12,7A5,5 0 0,1 7,12A5,5 0 0,1 2,7A5,5 0 0,1 7,2M7,4A3,3 0 0,0 4,7A3,3 0 0,0 7,10A3,3 0 0,0 10,7A3,3 0 0,0 7,4Z\";\r\nexport var mdiResistor = \"M2,11H7L10.07,15.35L13.11,4L18,11H22V13H17L13.93,8.65L10.89,20L6,13H2V11Z\";\r\nexport var mdiResistorNodes = \"M2,11H3.67C4.08,9.83 5.19,9 6.5,9A3,3 0 0,1 9.5,12C9.5,12.65 9.29,13.25 8.94,13.74L10.07,15.35L13.11,4L14.61,6.13L16.7,9.11L17.5,9C18.81,9 19.92,9.83 20.33,11H22V13H20.33C19.92,14.17 18.81,15 17.5,15A3,3 0 0,1 14.5,12C14.5,11.35 14.71,10.75 15.06,10.26L13.93,8.65L10.89,20L7.3,14.89C7.05,14.96 6.78,15 6.5,15C5.19,15 4.08,14.17 3.67,13H2V11M17.5,10.5A1.5,1.5 0 0,0 16,12A1.5,1.5 0 0,0 17.5,13.5A1.5,1.5 0 0,0 19,12A1.5,1.5 0 0,0 17.5,10.5M6.5,10.5A1.5,1.5 0 0,0 5,12A1.5,1.5 0 0,0 6.5,13.5A1.5,1.5 0 0,0 8,12A1.5,1.5 0 0,0 6.5,10.5Z\";\r\nexport var mdiResize = \"M10.59,12L14.59,8H11V6H18V13H16V9.41L12,13.41V16H20V4H8V12H10.59M22,2V18H12V22H2V12H6V2H22M10,14H4V20H10V14Z\";\r\nexport var mdiResizeBottomRight = \"M22,22H20V20H22V22M22,18H20V16H22V18M18,22H16V20H18V22M18,18H16V16H18V18M14,22H12V20H14V22M22,14H20V12H22V14Z\";\r\nexport var mdiResponsive = \"M4,6V16H9V12A2,2 0 0,1 11,10H16A2,2 0 0,1 18,12V16H20V6H4M0,20V18H4A2,2 0 0,1 2,16V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V16A2,2 0 0,1 20,18H24V20H18V20C18,21.11 17.1,22 16,22H11A2,2 0 0,1 9,20H9L0,20M11.5,20A0.5,0.5 0 0,0 11,20.5A0.5,0.5 0 0,0 11.5,21A0.5,0.5 0 0,0 12,20.5A0.5,0.5 0 0,0 11.5,20M15.5,20A0.5,0.5 0 0,0 15,20.5A0.5,0.5 0 0,0 15.5,21A0.5,0.5 0 0,0 16,20.5A0.5,0.5 0 0,0 15.5,20M13,20V21H14V20H13M11,12V19H16V12H11Z\";\r\nexport var mdiRestart = \"M12,4C14.1,4 16.1,4.8 17.6,6.3C20.7,9.4 20.7,14.5 17.6,17.6C15.8,19.5 13.3,20.2 10.9,19.9L11.4,17.9C13.1,18.1 14.9,17.5 16.2,16.2C18.5,13.9 18.5,10.1 16.2,7.7C15.1,6.6 13.5,6 12,6V10.6L7,5.6L12,0.6V4M6.3,17.6C3.7,15 3.3,11 5.1,7.9L6.6,9.4C5.5,11.6 5.9,14.4 7.8,16.2C8.3,16.7 8.9,17.1 9.6,17.4L9,19.4C8,19 7.1,18.4 6.3,17.6Z\";\r\nexport var mdiRestartAlert = \"M10 4.03V.633L5 5.63L10 10.63V6.03C11.5 6.03 13.11 6.63 14.21 7.73C16.5 10.13 16.5 13.93 14.21 16.23C12.91 17.53 11.11 18.13 9.4 17.93L8.9 19.93C11.31 20.23 13.81 19.53 15.61 17.63C18.7 14.53 18.7 9.43 15.61 6.33C14.11 4.83 12.11 4.03 10 4.03M4.31 17.63C5.11 18.43 6 19.03 7 19.43L7.61 17.43C6.91 17.13 6.31 16.73 5.81 16.23C3.91 14.43 3.5 11.63 4.61 9.43L3.11 7.93C1.31 11.03 1.71 15.03 4.31 17.63M20 13H22V7H20V13M20 17H22V15H20V17Z\";\r\nexport var mdiRestartOff = \"M20.8,22.7L16.6,18.5C14.9,19.7 12.9,20.2 10.9,19.9L11.4,17.9C12.7,18 14,17.7 15.1,17L1.1,3L2.4,1.7L16.5,15.8L17.9,17.2L22.1,21.4L20.8,22.7M12,6C13.5,6 15.1,6.6 16.2,7.8C18,9.6 18.4,12.2 17.5,14.4L19,15.9C20.7,12.9 20.2,9 17.6,6.4C16.1,4.8 14,4 12,4V0.7L7.9,4.7L12,8.8V6M6.6,9.4L5.1,7.9C3.3,11 3.7,15 6.3,17.7C7.1,18.4 8,19 9,19.4L9.5,17.4C8.9,17.1 8.3,16.7 7.7,16.2C5.9,14.4 5.5,11.6 6.6,9.4Z\";\r\nexport var mdiRestore = \"M13,3A9,9 0 0,0 4,12H1L4.89,15.89L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3Z\";\r\nexport var mdiRestoreAlert = \"M13 3C8 3 4 7 4 12H1L4.9 15.9L5 16L9 12H6C6 8.1 9.1 5 13 5S20 8.1 20 12 16.9 19 13 19C11.1 19 9.3 18.2 8.1 16.9L6.7 18.3C8.3 20 10.5 21 13 21C18 21 22 17 22 12S18 3 13 3M12 15H14V17H12V15M12 7H14V13H12V7\";\r\nexport var mdiRewind = \"M11.5,12L20,18V6M11,18V6L2.5,12L11,18Z\";\r\nexport var mdiRewind10 = \"M12.5,3C17.15,3 21.08,6.03 22.47,10.22L20.1,11C19.05,7.81 16.04,5.5 12.5,5.5C10.54,5.5 8.77,6.22 7.38,7.38L10,10H3V3L5.6,5.6C7.45,4 9.85,3 12.5,3M10,12V22H8V14H6V12H10M18,14V20C18,21.11 17.11,22 16,22H14A2,2 0 0,1 12,20V14A2,2 0 0,1 14,12H16C17.11,12 18,12.9 18,14M14,14V20H16V14H14Z\";\r\nexport var mdiRewind15 = \"M12.5 3C17.15 3 21.08 6.03 22.47 10.22L20.1 11C19.05 7.81 16.04 5.5 12.5 5.5C10.54 5.5 8.77 6.22 7.38 7.38L10 10H3V3L5.6 5.6C7.45 4 9.85 3 12.5 3M10 12V22H8V14H6V12H10M12 12H18V14H14V16H16C17.11 16 18 16.9 18 18V20C18 21.11 17.11 22 16 22H12V20H16V18H12V12Z\";\r\nexport var mdiRewind30 = \"M19,14V20C19,21.11 18.11,22 17,22H15A2,2 0 0,1 13,20V14A2,2 0 0,1 15,12H17C18.11,12 19,12.9 19,14M15,14V20H17V14H15M11,20C11,21.11 10.1,22 9,22H5V20H9V18H7V16H9V14H5V12H9A2,2 0 0,1 11,14V15.5A1.5,1.5 0 0,1 9.5,17A1.5,1.5 0 0,1 11,18.5V20M12.5,3C17.15,3 21.08,6.03 22.47,10.22L20.1,11C19.05,7.81 16.04,5.5 12.5,5.5C10.54,5.5 8.77,6.22 7.38,7.38L10,10H3V3L5.6,5.6C7.45,4 9.85,3 12.5,3Z\";\r\nexport var mdiRewind45 = \"M12.5 3C17.1 3 21.1 6 22.5 10.2L20.1 11C19 7.8 16 5.5 12.5 5.5C10.5 5.5 8.8 6.2 7.4 7.4L10 10H3V3L5.6 5.6C7.4 4 9.9 3 12.5 3M13 12H19V14H15V16H17C18.1 16 19 16.9 19 18V20C19 21.1 18.1 22 17 22H13V20H17V18H13V12M5 12V18H9V22H11V12H9V16H7V12H5Z\";\r\nexport var mdiRewind5 = \"M12.5 3C17.15 3 21.08 6.03 22.47 10.22L20.1 11C19.05 7.81 16.04 5.5 12.5 5.5C10.54 5.5 8.77 6.22 7.38 7.38L10 10H3V3L5.6 5.6C7.45 4 9.85 3 12.5 3M9 12H15V14H11V16H13C14.11 16 15 16.9 15 18V20C15 21.11 14.11 22 13 22H9V20H13V18H9V12Z\";\r\nexport var mdiRewind60 = \"M19 14V20C19 21.1 18.1 22 17 22H15C13.9 22 13 21.1 13 20V14C13 12.9 13.9 12 15 12H17C18.1 12 19 12.9 19 14M15 14V20H17V14H15M12.5 3C17.1 3 21.1 6 22.5 10.2L20.1 11C19 7.8 16 5.5 12.5 5.5C10.5 5.5 8.8 6.2 7.4 7.4L10 10H3V3L5.6 5.6C7.4 4 9.9 3 12.5 3M7 12C5.9 12 5 12.9 5 14V20C5 21.1 5.9 22 7 22H9C10.1 22 11 21.1 11 20V18C11 16.9 10.1 16 9 16H7V14H11V12H7M7 18H9V20H7V18Z\";\r\nexport var mdiRewindOutline = \"M10,9.9L7,12L10,14.1V9.9M19,9.9L16,12L19,14.1V9.9M12,6V18L3.5,12L12,6M21,6V18L12.5,12L21,6Z\";\r\nexport var mdiRhombus = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2Z\";\r\nexport var mdiRhombusMedium = \"M12 6.46C11.72 6.46 11.44 6.56 11.22 6.78L6.78 11.22C6.35 11.65 6.35 12.35 6.78 12.78L11.22 17.22C11.65 17.65 12.35 17.65 12.78 17.22L17.22 12.78C17.65 12.35 17.65 11.65 17.22 11.22L12.78 6.78C12.56 6.56 12.28 6.46 12 6.46Z\";\r\nexport var mdiRhombusMediumOutline = \"M12 6.46C11.72 6.46 11.44 6.56 11.22 6.78L6.78 11.22C6.35 11.65 6.35 12.35 6.78 12.78L11.22 17.22C11.65 17.65 12.35 17.65 12.78 17.22L17.22 12.78C17.65 12.35 17.65 11.65 17.22 11.22L12.78 6.78C12.56 6.56 12.28 6.46 12 6.46M12 8.83L15.17 12L12 15.17L8.83 12L12 8.83Z\";\r\nexport var mdiRhombusOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L20 12L12 20L4 12Z\";\r\nexport var mdiRhombusSplit = \"M12 2C11.5 2 11 2.19 10.59 2.59L7.29 5.88L12 10.58L16.71 5.88L13.41 2.59C13 2.19 12.5 2 12 2M5.88 7.29L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L5.88 16.71L10.58 12L5.88 7.29M18.12 7.29L13.42 12L18.12 16.71L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L18.12 7.29M12 13.42L7.29 18.12L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L16.71 18.12L12 13.42Z\";\r\nexport var mdiRhombusSplitOutline = \"M12 2C11.5 2 11 2.19 10.59 2.59L2.59 10.59C1.8 11.37 1.8 12.63 2.59 13.41L10.59 21.41C11.37 22.2 12.63 22.2 13.41 21.41L21.41 13.41C22.2 12.63 22.2 11.37 21.41 10.59L13.41 2.59C13 2.19 12.5 2 12 2M12 4L15.29 7.29L12 10.59L8.71 7.29L12 4M7.29 8.71L10.59 12L7.29 15.29L4 12L7.29 8.71M16.71 8.71L20 12L16.71 15.29L13.41 12L16.71 8.71M12 13.41L15.29 16.71L12 20L8.71 16.71L12 13.41Z\";\r\nexport var mdiRibbon = \"M13.41,19.31L16.59,22.5L18,21.07L14.83,17.9M15.54,11.53H15.53L12,15.07L8.47,11.53H8.46V11.53C7.56,10.63 7,9.38 7,8A5,5 0 0,1 12,3A5,5 0 0,1 17,8C17,9.38 16.44,10.63 15.54,11.53M16.9,13C18.2,11.73 19,9.96 19,8A7,7 0 0,0 12,1A7,7 0 0,0 5,8C5,9.96 5.81,11.73 7.1,13V13L10.59,16.5L6,21.07L7.41,22.5L16.9,13Z\";\r\nexport var mdiRice = \"M22,11H19.7C19.4,9.9 18.9,8.8 18.2,8L21.6,2.6L19.9,1.5L16.7,6.6C16.3,6.3 16,6.1 15.5,5.9L16.4,2.3L14.5,1.8L13.7,5.2C13.1,5.1 12.6,5 12,5C8.3,5 5.2,7.6 4.3,11H2C2,15.1 4.5,18.6 8,20.2V22H16V20.2C19.5,18.6 22,15.1 22,11M12,7C14.6,7 16.8,8.7 17.6,11H6.4C7.2,8.7 9.4,7 12,7Z\";\r\nexport var mdiRickshaw = \"M20 14.05V12.73C20 12.26 19.84 11.8 19.54 11.44L15.6 6.72C15.22 6.26 14.66 6 14.06 6H4C2.9 6 2 6.9 2 8V15C2 16.1 2.9 17 4 17H4.05C4.28 18.14 5.29 19 6.5 19S8.72 18.14 8.95 17H17.05C17.28 18.14 18.29 19 19.5 19C20.88 19 22 17.88 22 16.5C22 15.29 21.14 14.28 20 14.05M3.5 8C3.5 7.73 3.73 7.5 4 7.5H7V12H3.5V8M6.5 17.5C5.95 17.5 5.5 17.05 5.5 16.5S5.95 15.5 6.5 15.5 7.5 15.95 7.5 16.5 7.05 17.5 6.5 17.5M13 15.5H9V14H11V12H9V7.5H13V15.5M15 8.34L18.05 12H15V8.34M19.5 17.5C18.95 17.5 18.5 17.05 18.5 16.5S18.95 15.5 19.5 15.5 20.5 15.95 20.5 16.5 20.05 17.5 19.5 17.5Z\";\r\nexport var mdiRickshawElectric = \"M20 12.05V10.73C20 10.26 19.84 9.8 19.54 9.44L15.6 4.72C15.22 4.26 14.66 4 14.06 4H4C2.9 4 2 4.9 2 6V13C2 14.1 2.9 15 4 15H4.05C4.28 16.14 5.29 17 6.5 17S8.72 16.14 8.95 15H17.05C17.28 16.14 18.29 17 19.5 17C20.88 17 22 15.88 22 14.5C22 13.29 21.14 12.28 20 12.05M3.5 6C3.5 5.73 3.73 5.5 4 5.5H7V10H3.5V6M6.5 15.5C5.95 15.5 5.5 15.05 5.5 14.5S5.95 13.5 6.5 13.5 7.5 13.95 7.5 14.5 7.05 15.5 6.5 15.5M13 13.5H9V12H11V10H9V5.5H13V13.5M15 6.34L18.05 10H15V6.34M19.5 15.5C18.95 15.5 18.5 15.05 18.5 14.5S18.95 13.5 19.5 13.5 20.5 13.95 20.5 14.5 20.05 15.5 19.5 15.5M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiRing = \"M12,10L8,4.4L9.6,2H14.4L16,4.4L12,10M15.5,6.8L14.3,8.5C16.5,9.4 18,11.5 18,14A6,6 0 0,1 12,20A6,6 0 0,1 6,14C6,11.5 7.5,9.4 9.7,8.5L8.5,6.8C5.8,8.1 4,10.8 4,14A8,8 0 0,0 12,22A8,8 0 0,0 20,14C20,10.8 18.2,8.1 15.5,6.8Z\";\r\nexport var mdiRivet = \"M11.43,2C10.61,2 9.94,2.65 9.94,3.5C9.94,4.64 9.94,5.8 9.94,6.96H7.95V7.95H15.91V6.96H13.92C13.92,5.8 13.92,4.64 13.92,3.5C13.92,2.65 13.25,2 12.43,2H11.43M10.94,8.95V21.87L11.93,22.87L12.92,21.87V8.95H10.94Z\";\r\nexport var mdiRoad = \"M11,16H13V20H11M11,10H13V14H11M11,4H13V8H11M4,22H20V2H4V22Z\";\r\nexport var mdiRoadVariant = \"M18.1,4.8C18,4.3 17.6,4 17.1,4H13L13.2,7H10.8L11,4H6.8C6.3,4 5.9,4.4 5.8,4.8L3.1,18.8C3,19.4 3.5,20 4.1,20H10L10.3,15H13.7L14,20H19.8C20.4,20 20.9,19.4 20.8,18.8L18.1,4.8M10.4,13L10.6,9H13.2L13.4,13H10.4Z\";\r\nexport var mdiRobber = \"M10.7 12.5C10.7 12.8 9.4 13.2 8.4 13.2S6.3 12.5 6.3 12.3C6.3 12 7 11.1 8.6 11C9.5 10.9 10.5 11.5 10.7 12.5M15.4 11C14.4 10.9 13.5 11.5 13.3 12.5C13.3 12.8 14.5 13.2 15.6 13.2C16.7 13.2 17.7 12.5 17.7 12.3S17 11.1 15.4 11M22 12C22 17.5 17.5 22 12 22S2 17.5 2 12 6.5 2 12 2 22 6.5 22 12M20 11.2C20 9.2 19.3 8.5 16.7 8.5C14.1 8.5 13.3 9.6 12 9.6S10 8.5 7.3 8.5 4 9.1 4 11.2C4 14.6 5.5 16.5 7.6 16.5C9.2 16.5 10.4 14.5 12 14.5S14.7 16.5 16.4 16.5C18.5 16.5 20 14.6 20 11.2Z\";\r\nexport var mdiRobot = \"M12,2A2,2 0 0,1 14,4C14,4.74 13.6,5.39 13,5.73V7H14A7,7 0 0,1 21,14H22A1,1 0 0,1 23,15V18A1,1 0 0,1 22,19H21V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V19H2A1,1 0 0,1 1,18V15A1,1 0 0,1 2,14H3A7,7 0 0,1 10,7H11V5.73C10.4,5.39 10,4.74 10,4A2,2 0 0,1 12,2M7.5,13A2.5,2.5 0 0,0 5,15.5A2.5,2.5 0 0,0 7.5,18A2.5,2.5 0 0,0 10,15.5A2.5,2.5 0 0,0 7.5,13M16.5,13A2.5,2.5 0 0,0 14,15.5A2.5,2.5 0 0,0 16.5,18A2.5,2.5 0 0,0 19,15.5A2.5,2.5 0 0,0 16.5,13Z\";\r\nexport var mdiRobotAngry = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M7.5 18C6.12 18 5 16.88 5 15.5C5 14.68 5.4 13.96 6 13.5L9.83 16.38C9.5 17.32 8.57 18 7.5 18M16.5 18C15.43 18 14.5 17.32 14.17 16.38L18 13.5C18.6 13.96 19 14.68 19 15.5C19 16.88 17.88 18 16.5 18Z\";\r\nexport var mdiRobotAngryOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M17.5 15.5C17.5 16.61 16.61 17.5 15.5 17.5C14.53 17.5 13.73 16.81 13.54 15.9L16.5 13.78C17.1 14.13 17.5 14.76 17.5 15.5M7.5 13.78L10.46 15.9C10.28 16.81 9.47 17.5 8.5 17.5C7.4 17.5 6.5 16.61 6.5 15.5C6.5 14.76 6.9 14.13 7.5 13.78Z\";\r\nexport var mdiRobotConfused = \"M20 4H18V3H20.5C20.78 3 21 3.22 21 3.5V5.5C21 5.78 20.78 6 20.5 6H20V7H19V5H20V4M19 9H20V8H19V9M17 3H16V7H17V3M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C14.34 7 14.67 7.03 15 7.08V10H19.74C20.53 11.13 21 12.5 21 14H22C22.55 14 23 14.45 23 15M10 15.5C10 14.12 8.88 13 7.5 13S5 14.12 5 15.5 6.12 18 7.5 18 10 16.88 10 15.5M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5M17 8H16V9H17V8Z\";\r\nexport var mdiRobotConfusedOutline = \"M19 8H20V9H19V8M20 5H19V7H20V6H20.5C20.78 6 21 5.78 21 5.5V3.5C21 3.22 20.78 3 20.5 3H18V4H20V5M17 3H16V7H17V3M13.5 15.5C13.5 16.61 14.4 17.5 15.5 17.5S17.5 16.61 17.5 15.5 16.61 13.5 15.5 13.5 13.5 14.4 13.5 15.5M17 8H16V9H17V8M22 14H21C21 12.5 20.53 11.13 19.74 10H16.97C18.19 10.91 19 12.36 19 14V16H21V17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C14.34 9 14.68 9.04 15 9.1V7.08C14.67 7.03 14.34 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5Z\";\r\nexport var mdiRobotDead = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.86 16.68L8.68 17.86L7.5 16.68L6.32 17.86L5.14 16.68L6.32 15.5L5.14 14.32L6.32 13.14L7.5 14.32L8.68 13.14L9.86 14.32L8.68 15.5L9.86 16.68M18.86 16.68L17.68 17.86L16.5 16.68L15.32 17.86L14.14 16.68L15.32 15.5L14.14 14.32L15.32 13.14L16.5 14.32L17.68 13.14L18.86 14.32L17.68 15.5L18.86 16.68Z\";\r\nexport var mdiRobotDeadOutline = \"M10.62 14.44L9.56 15.5L10.62 16.56L9.56 17.62L8.5 16.56L7.44 17.62L6.38 16.56L7.44 15.5L6.38 14.44L7.44 13.38L8.5 14.44L9.56 13.38L10.62 14.44M16.56 13.38L15.5 14.44L14.44 13.38L13.38 14.44L14.44 15.5L13.38 16.56L14.44 17.62L15.5 16.56L16.56 17.62L17.62 16.56L16.56 15.5L17.62 14.44L16.56 13.38M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16Z\";\r\nexport var mdiRobotExcited = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M8.68 17.04L7.5 15.86L6.32 17.04L5.14 15.86L7.5 13.5L9.86 15.86L8.68 17.04M17.68 17.04L16.5 15.86L15.32 17.04L14.14 15.86L16.5 13.5L18.86 15.86L17.68 17.04Z\";\r\nexport var mdiRobotExcitedOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M8.5 13.5L10.86 15.86L9.68 17.04L8.5 15.86L7.32 17.04L6.14 15.86L8.5 13.5M15.5 13.5L17.86 15.86L16.68 17.04L15.5 15.86L14.32 17.04L13.14 15.86L15.5 13.5Z\";\r\nexport var mdiRobotHappy = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.79 16.5C9.4 15.62 8.53 15 7.5 15S5.6 15.62 5.21 16.5C5.08 16.19 5 15.86 5 15.5C5 14.12 6.12 13 7.5 13S10 14.12 10 15.5C10 15.86 9.92 16.19 9.79 16.5M18.79 16.5C18.4 15.62 17.5 15 16.5 15S14.6 15.62 14.21 16.5C14.08 16.19 14 15.86 14 15.5C14 14.12 15.12 13 16.5 13S19 14.12 19 15.5C19 15.86 18.92 16.19 18.79 16.5Z\";\r\nexport var mdiRobotHappyOutline = \"M10.5 15.5C10.5 15.87 10.4 16.2 10.22 16.5C9.88 15.91 9.24 15.5 8.5 15.5S7.12 15.91 6.78 16.5C6.61 16.2 6.5 15.87 6.5 15.5C6.5 14.4 7.4 13.5 8.5 13.5S10.5 14.4 10.5 15.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16M15.5 13.5C14.4 13.5 13.5 14.4 13.5 15.5C13.5 15.87 13.61 16.2 13.78 16.5C14.12 15.91 14.76 15.5 15.5 15.5S16.88 15.91 17.22 16.5C17.4 16.2 17.5 15.87 17.5 15.5C17.5 14.4 16.61 13.5 15.5 13.5Z\";\r\nexport var mdiRobotIndustrial = \"M18.41,4L16,6.41V6.59L18.41,9H22V11H17.59L16,9.41V12H15A2,2 0 0,1 13,10V7.5H9.86C9.77,7.87 9.62,8.22 9.42,8.55L15.18,19H20A2,2 0 0,1 22,21V22H2V21A2,2 0 0,1 4,19H10.61L5.92,10.5C4.12,10.47 2.56,9.24 2.11,7.5C1.56,5.36 2.85,3.18 5,2.63C7.13,2.08 9.31,3.36 9.86,5.5H13V3A2,2 0 0,1 15,1H16V3.59L17.59,2H22V4H18.41M6,4.5A2,2 0 0,0 4,6.5A2,2 0 0,0 6,8.5A2,2 0 0,0 8,6.5A2,2 0 0,0 6,4.5Z\";\r\nexport var mdiRobotIndustrialOutline = \"M4 19H8.6L2.62 8.64C2.23 8 2 7.29 2 6.5C2 4.29 3.79 2.5 6 2.5C7.86 2.5 9.43 3.78 9.87 5.5H14V3C14 1.9 14.9 1 16 1V3.59L17.59 2H22V4H18.41L16 6.41V6.59L18.41 9H22V11H17.59L16 9.41V12C14.9 12 14 11.11 14 10V7.5H9.87C9.77 7.89 9.61 8.26 9.41 8.6L15.41 19H20C21.11 19 22 19.9 22 21V22H2V21C2 19.9 2.9 19 4 19M7.91 10C7.35 10.32 6.7 10.5 6 10.5L10.91 19H13.1L7.91 10M6 4.5C4.89 4.5 4 5.4 4 6.5C4 7.61 4.89 8.5 6 8.5C7.11 8.5 8 7.61 8 6.5C8 5.4 7.11 4.5 6 4.5Z\";\r\nexport var mdiRobotLove = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M9.7 15.45L8.97 16.18L7.5 17.65L5.3 15.45C4.9 15.05 4.9 14.39 5.3 14C5.71 13.58 6.36 13.58 6.77 14L7.5 14.72L8.23 14C8.64 13.58 9.29 13.58 9.7 14C10.1 14.39 10.1 15.05 9.7 15.45M18.7 15.45L17.97 16.18L16.5 17.65L14.3 15.45C13.9 15.05 13.9 14.39 14.3 14C14.71 13.58 15.36 13.58 15.77 14L16.5 14.72L17.23 14C17.64 13.58 18.29 13.58 18.7 14C19.1 14.39 19.1 15.05 18.7 15.45Z\";\r\nexport var mdiRobotLoveOutline = \"M22 14H21C21 10.13 17.87 7 14 7H13V5.73C13.6 5.39 14 4.74 14 4C14 2.9 13.11 2 12 2S10 2.9 10 4C10 4.74 10.4 5.39 11 5.73V7H10C6.13 7 3 10.13 3 14H2C1.45 14 1 14.45 1 15V18C1 18.55 1.45 19 2 19H3V20C3 21.11 3.9 22 5 22H19C20.11 22 21 21.11 21 20V19H22C22.55 19 23 18.55 23 18V15C23 14.45 22.55 14 22 14M21 17H19V20H5V17H3V16H5V14C5 11.24 7.24 9 10 9H14C16.76 9 19 11.24 19 14V16H21V17M10.7 14C11.1 14.39 11.1 15.05 10.7 15.45L9.97 16.18L8.5 17.65L6.3 15.45C5.9 15.05 5.9 14.39 6.3 14C6.71 13.58 7.36 13.58 7.77 14L8.5 14.72L9.23 14C9.64 13.58 10.29 13.58 10.7 14M17.7 14C18.1 14.39 18.1 15.05 17.7 15.45L16.97 16.18L15.5 17.65L13.3 15.45C12.9 15.05 12.9 14.39 13.3 14C13.71 13.58 14.36 13.58 14.77 14L15.5 14.72L16.23 14C16.64 13.58 17.29 13.58 17.7 14Z\";\r\nexport var mdiRobotMower = \"M1 14V5H13C18.5 5 23 9.5 23 15V17H20.83C20.42 18.17 19.31 19 18 19C16.69 19 15.58 18.17 15.17 17H10C9.09 18.21 7.64 19 6 19C3.24 19 1 16.76 1 14M6 11C4.34 11 3 12.34 3 14C3 15.66 4.34 17 6 17C7.66 17 9 15.66 9 14C9 12.34 7.66 11 6 11M15 10V12H20.25C19.92 11.27 19.5 10.6 19 10H15Z\";\r\nexport var mdiRobotMowerOutline = \"M1 14C1 16.76 3.24 19 6 19C7.64 19 9.09 18.21 10 17H15.17C15.58 18.17 16.7 19 18 19C19.31 19 20.42 18.17 20.83 17H23V15C23 9.5 18.5 5 13 5H1V14M21 15H10.9C10.97 14.68 11 14.34 11 14C11 11.24 8.76 9 6 9C4.87 9 3.84 9.37 3 10V7H12.5C15.1 7 17.42 8.16 19 10H15V12H20.25C20.67 12.92 20.92 13.94 21 15M6 11C7.66 11 9 12.34 9 14C9 15.66 7.66 17 6 17C4.34 17 3 15.66 3 14C3 12.34 4.34 11 6 11Z\";\r\nexport var mdiRobotOff = \"M23 15V18C23 18.5 22.64 18.88 22.17 18.97L18.97 15.77C19 15.68 19 15.59 19 15.5C19 14.12 17.88 13 16.5 13C16.41 13 16.32 13 16.23 13.03L10.2 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M22.11 21.46L20.84 22.73L19.89 21.78C19.62 21.92 19.32 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 11.53 4.29 9.36 6.22 8.11L1.11 3L2.39 1.73L22.11 21.46M10 15.5C10 14.12 8.88 13 7.5 13S5 14.12 5 15.5 6.12 18 7.5 18 10 16.88 10 15.5M16.07 17.96L14.04 15.93C14.23 16.97 15.04 17.77 16.07 17.96Z\";\r\nexport var mdiRobotOffOutline = \"M23 15V18C23 18.5 22.64 18.88 22.17 18.97L20.2 17H21V16H19.2L19 15.8V14C19 11.24 16.76 9 14 9H12.2L10.2 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5M22.11 21.46L20.84 22.73L19.89 21.78C19.62 21.92 19.32 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 11.53 4.29 9.36 6.22 8.11L1.11 3L2.39 1.73L22.11 21.46M18.11 20L15.6 17.5C15.57 17.5 15.53 17.5 15.5 17.5C14.4 17.5 13.5 16.61 13.5 15.5C13.5 15.47 13.5 15.43 13.5 15.4L7.7 9.59C6.1 10.42 5 12.08 5 14V16H3V17H5V20H18.11Z\";\r\nexport var mdiRobotOutline = \"M17.5 15.5C17.5 16.61 16.61 17.5 15.5 17.5S13.5 16.61 13.5 15.5 14.4 13.5 15.5 13.5 17.5 14.4 17.5 15.5M8.5 13.5C7.4 13.5 6.5 14.4 6.5 15.5S7.4 17.5 8.5 17.5 10.5 16.61 10.5 15.5 9.61 13.5 8.5 13.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16Z\";\r\nexport var mdiRobotVacuum = \"M12,2C14.65,2 17.19,3.06 19.07,4.93L17.65,6.35C16.15,4.85 14.12,4 12,4C9.88,4 7.84,4.84 6.35,6.35L4.93,4.93C6.81,3.06 9.35,2 12,2M3.66,6.5L5.11,7.94C4.39,9.17 4,10.57 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12C20,10.57 19.61,9.17 18.88,7.94L20.34,6.5C21.42,8.12 22,10.04 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12C2,10.04 2.58,8.12 3.66,6.5M12,6A6,6 0 0,1 18,12C18,13.59 17.37,15.12 16.24,16.24L14.83,14.83C14.08,15.58 13.06,16 12,16C10.94,16 9.92,15.58 9.17,14.83L7.76,16.24C6.63,15.12 6,13.59 6,12A6,6 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z\";\r\nexport var mdiRobotVacuumAlert = \"M10 2C12.6 2 15.2 3.1 17.1 4.9L15.7 6.3C14.1 4.8 12.1 4 10 4S5.8 4.8 4.3 6.3L2.9 4.9C4.8 3.1 7.4 2 10 2M1.7 6.5L3.2 7.9C2.4 9.2 2 10.6 2 12C2 16.4 5.6 20 10 20S18 16.4 18 12C18 10.6 17.6 9.2 16.9 7.9L18.4 6.5C19.4 8.1 20 10 20 12C20 17.5 15.5 22 10 22S0 17.5 0 12C0 10 .6 8.1 1.7 6.5M10 6C13.3 6 16 8.7 16 12C16 13.6 15.4 15.1 14.2 16.2L12.8 14.8C12.1 15.6 11.1 16 10 16S7.9 15.6 7.2 14.8L5.8 16.2C4.6 15.1 4 13.6 4 12C4 8.7 6.7 6 10 6M10 8C9.4 8 9 8.4 9 9S9.4 10 10 10 11 9.6 11 9 10.6 8 10 8M22 12V7H24V13H22M22 17V15H24V17H22Z\";\r\nexport var mdiRobotVacuumOff = \"M20.8 22.7L18 19.9C16.3 21.2 14.2 22 12 22C6.5 22 2 17.5 2 12C2 10 2.6 8.1 3.7 6.5L5.2 7.9C4.4 9.2 4 10.6 4 12C4 16.4 7.6 20 12 20C13.7 20 15.3 19.4 16.6 18.5L13.7 15.6C13.2 15.9 12.6 16 12 16C10.9 16 9.9 15.6 9.2 14.8L7.8 16.2C6.6 15.1 6 13.6 6 12C6 10.8 6.3 9.7 6.9 8.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M20 12C20 13.4 19.6 14.7 19 15.8L20.5 17.3C21.5 15.8 22 14 22 12C22 10 21.4 8.1 20.3 6.5L18.8 7.9C19.6 9.2 20 10.6 20 12M12 4C14.1 4 16.2 4.8 17.7 6.3L19.1 4.9C17.2 3.1 14.7 2 12 2C10.1 2 8.3 2.5 6.7 3.5L8.2 5C9.3 4.3 10.7 4 12 4M17.5 14.3C17.8 13.6 18 12.8 18 12C18 8.7 15.3 6 12 6C11.2 6 10.4 6.2 9.7 6.5L11.4 8.2C11.6 8.1 11.8 8 12 8C12.6 8 13 8.4 13 9C13 9.2 12.9 9.4 12.8 9.6L17.5 14.3Z\";\r\nexport var mdiRobotVacuumVariant = \"M5,3A2,2 0 0,0 3,5V7H5V5H19V7H21V5A2,2 0 0,0 19,3H5M8,7V9H16V7H8M3,9V12A9,9 0 0,0 12,21A9,9 0 0,0 21,12V9H19V12A7,7 0 0,1 12,19A7,7 0 0,1 5,12V9H3M12,12A2.5,2.5 0 0,0 9.5,14.5A2.5,2.5 0 0,0 12,17A2.5,2.5 0 0,0 14.5,14.5A2.5,2.5 0 0,0 12,12Z\";\r\nexport var mdiRobotVacuumVariantAlert = \"M3 3C1.9 3 1 3.9 1 5V7H3V5H17V7H19V5C19 3.9 18.1 3 17 3H3M6 7V9H14V7H6M1 9V12C1 17 5 21 10 21S19 17 19 12V9H17V12C17 15.9 13.9 19 10 19S3 15.9 3 12V9H1M10 12C8.6 12 7.5 13.1 7.5 14.5S8.6 17 10 17 12.5 15.9 12.5 14.5 11.4 12 10 12M21 12V7H23V13H21M21 17V15H23V17H21Z\";\r\nexport var mdiRobotVacuumVariantOff = \"M20.8 22.7L17.3 19.2C15.8 20.3 14 21 12 21C7 21 3 17 3 12V9H5V12C5 15.9 8.1 19 12 19C13.4 19 14.8 18.5 15.9 17.8L14 15.9C13.5 16.5 12.8 17 12 17C10.6 17 9.5 15.9 9.5 14.5C9.5 13.7 9.9 12.9 10.6 12.5L5 6.9V7H3V4.9L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M19 5V7H21V5C21 3.9 20.1 3 19 3H6.2L8.2 5H19M19 12C19 13.1 18.7 14.1 18.3 15.1L19.8 16.6C20.6 15.3 21 13.7 21 12V9H19V12M16 9V7H10.2L12.2 9H16Z\";\r\nexport var mdiRocket = \"M20 22L16.14 20.45C16.84 18.92 17.34 17.34 17.65 15.73L20 22M7.86 20.45L4 22L6.35 15.73C6.66 17.34 7.16 18.92 7.86 20.45M12 2C12 2 17 4 17 12C17 15.1 16.25 17.75 15.33 19.83C15 20.55 14.29 21 13.5 21H10.5C9.71 21 9 20.55 8.67 19.83C7.76 17.75 7 15.1 7 12C7 4 12 2 12 2M12 12C13.1 12 14 11.1 14 10C14 8.9 13.1 8 12 8C10.9 8 10 8.9 10 10C10 11.1 10.9 12 12 12Z\";\r\nexport var mdiRocketLaunch = \"M13.13 22.19L11.5 18.36C13.07 17.78 14.54 17 15.9 16.09L13.13 22.19M5.64 12.5L1.81 10.87L7.91 8.1C7 9.46 6.22 10.93 5.64 12.5M21.61 2.39C21.61 2.39 16.66 .269 11 5.93C8.81 8.12 7.5 10.53 6.65 12.64C6.37 13.39 6.56 14.21 7.11 14.77L9.24 16.89C9.79 17.45 10.61 17.63 11.36 17.35C13.5 16.53 15.88 15.19 18.07 13C23.73 7.34 21.61 2.39 21.61 2.39M14.54 9.46C13.76 8.68 13.76 7.41 14.54 6.63S16.59 5.85 17.37 6.63C18.14 7.41 18.15 8.68 17.37 9.46C16.59 10.24 15.32 10.24 14.54 9.46M8.88 16.53L7.47 15.12L8.88 16.53M6.24 22L9.88 18.36C9.54 18.27 9.21 18.12 8.91 17.91L4.83 22H6.24M2 22H3.41L8.18 17.24L6.76 15.83L2 20.59V22M2 19.17L6.09 15.09C5.88 14.79 5.73 14.47 5.64 14.12L2 17.76V19.17Z\";\r\nexport var mdiRocketLaunchOutline = \"M13.13 22.19L11.5 18.36C13.07 17.78 14.54 17 15.9 16.09L13.13 22.19M5.64 12.5L1.81 10.87L7.91 8.1C7 9.46 6.22 10.93 5.64 12.5M19.22 4C19.5 4 19.75 4 19.96 4.05C20.13 5.44 19.94 8.3 16.66 11.58C14.96 13.29 12.93 14.6 10.65 15.47L8.5 13.37C9.42 11.06 10.73 9.03 12.42 7.34C15.18 4.58 17.64 4 19.22 4M19.22 2C17.24 2 14.24 2.69 11 5.93C8.81 8.12 7.5 10.53 6.65 12.64C6.37 13.39 6.56 14.21 7.11 14.77L9.24 16.89C9.62 17.27 10.13 17.5 10.66 17.5C10.89 17.5 11.13 17.44 11.36 17.35C13.5 16.53 15.88 15.19 18.07 13C23.73 7.34 21.61 2.39 21.61 2.39S20.7 2 19.22 2M14.54 9.46C13.76 8.68 13.76 7.41 14.54 6.63S16.59 5.85 17.37 6.63C18.14 7.41 18.15 8.68 17.37 9.46C16.59 10.24 15.32 10.24 14.54 9.46M8.88 16.53L7.47 15.12L8.88 16.53M6.24 22L9.88 18.36C9.54 18.27 9.21 18.12 8.91 17.91L4.83 22H6.24M2 22H3.41L8.18 17.24L6.76 15.83L2 20.59V22M2 19.17L6.09 15.09C5.88 14.79 5.73 14.47 5.64 14.12L2 17.76V19.17Z\";\r\nexport var mdiRocketOutline = \"M12 2C12 2 7 4 7 12C7 15.1 7.76 17.75 8.67 19.83C9 20.55 9.71 21 10.5 21H13.5C14.29 21 15 20.55 15.33 19.83C16.25 17.75 17 15.1 17 12C17 4 12 2 12 2M13.5 19H10.5C9.5 16.76 9 14.41 9 12C9 7.36 10.9 5.2 12 4.33C13.1 5.2 15 7.36 15 12C15 14.41 14.5 16.76 13.5 19M20 22L16.14 20.45C16.84 18.92 17.34 17.34 17.65 15.73M7.86 20.45L4 22L6.35 15.73C6.66 17.34 7.16 18.92 7.86 20.45M12 12C10.9 12 10 11.1 10 10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 11.1 13.1 12 12 12Z\";\r\nexport var mdiRodent = \"M21.33 17.39C22.73 18.66 21.8 21 19.92 21H11.06C8.25 21 6 18.75 6 15.94V15.89C3.7 15.42 2 13.41 2 11C2 8.25 4.22 6 7 6H9.5C9.8 6 10 5.77 10 5.5S9.8 5 9.5 5H7V3H9.5C10.88 3 12 4.13 12 5.5C12 6.89 10.88 8 9.5 8H7C5.34 8 4 9.33 4 11C4 12.37 4.92 13.5 6.14 13.87C6.7 11.67 8.67 10 11.06 10C11.86 10 12.66 10.22 13.36 10.55C11.95 11.34 11 12.8 11 14.5C11 15.75 11.5 16.87 12.33 17.67L13.03 16.97C12.38 16.36 12 15.47 12 14.5C12 11.91 14.34 11 15.5 11C17.58 11 19.45 12.89 18.94 15.23L21.33 17.39M18 19C18.56 19 19 18.56 19 18S18.56 17 18 17 17 17.44 17 18 17.44 19 18 19Z\";\r\nexport var mdiRollerShade = \"M20 19V3H4V19H2V21H22V19H20M6 19V13H11V14.8C10.6 15.1 10.2 15.6 10.2 16.2C10.2 17.2 11 18 12 18S13.8 17.2 13.8 16.2C13.8 15.6 13.5 15.1 13 14.8V13H18V19H6Z\";\r\nexport var mdiRollerShadeClosed = \"M20 19V3H4V19H2V21H10.25C10.25 21.97 11.03 22.75 12 22.75S13.75 21.97 13.75 21H22V19H20M6 19V17H11V19H6M13 19V17H18V19H13Z\";\r\nexport var mdiRollerSkate = \"M6.5 18C5.1 18 4 19.12 4 20.5S5.1 23 6.5 23 9 21.88 9 20.5 7.86 18 6.5 18M16.5 18C15.1 18 14 19.12 14 20.5S15.1 23 16.5 23 19 21.88 19 20.5 17.86 18 16.5 18M20 17C20 15.63 20.09 13.81 19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13 10 12 9 11.82 8H9C8.71 8 8.5 7.78 8.5 7.5C8.5 7.22 8.71 7 9 7H11.5V6H9C8.71 6 8.5 5.78 8.5 5.5C8.5 5.22 8.71 5 9 5H11.5V2H3V17H20Z\";\r\nexport var mdiRollerSkateOff = \"M20.84 22.73L18.95 20.84C18.78 22.06 17.75 23 16.5 23C15.1 23 14 21.88 14 20.5C14 19.24 14.93 18.2 16.14 18.03L15.11 17H3V4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M9 5H11.5V2H5.2L8.5 5.32C8.59 5.13 8.77 5 9 5M12.56 9.36C12.18 9 11.9 8.5 11.82 8H11.2L12.56 9.36M19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13.45 10.03 13 9.77 12.6 9.4L20 16.79C20 15.45 20.06 13.76 19.5 12.95M9.2 6L10.2 7H11.5V6H9.2M6.5 18C5.1 18 4 19.12 4 20.5C4 21.88 5.1 23 6.5 23S9 21.88 9 20.5C9 19.12 7.86 18 6.5 18Z\";\r\nexport var mdiRollerblade = \"M4.5 18C3.12 18 2 19.12 2 20.5S3.12 23 4.5 23 7 21.88 7 20.5 5.88 18 4.5 18M18.5 18C17.12 18 16 19.12 16 20.5S17.12 23 18.5 23 21 21.88 21 20.5 19.88 18 18.5 18M20 17C20 15.63 20.09 13.81 19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13 10 12 9 11.82 8H9C8.71 8 8.5 7.78 8.5 7.5C8.5 7.22 8.71 7 9 7H11.5V6H9C8.71 6 8.5 5.78 8.5 5.5C8.5 5.22 8.71 5 9 5H11.5V2H3V17H20M11.5 18C10.12 18 9 19.12 9 20.5S10.12 23 11.5 23 14 21.88 14 20.5 12.88 18 11.5 18Z\";\r\nexport var mdiRollerbladeOff = \"M20.84 22.73L20.32 22.21C19.86 22.69 19.22 23 18.5 23C17.12 23 16 21.88 16 20.5C16 19.78 16.31 19.14 16.79 18.68L15.11 17H3V4.9L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M19.5 12.95C18.55 10.9 15.82 10.56 13.91 10.05C13.45 10.03 13 9.77 12.6 9.4L20 16.79C20 15.45 20.06 13.76 19.5 12.95M9.2 6L10.2 7H11.5V6H9.2M12.56 9.36C12.18 9 11.9 8.5 11.82 8H11.2L12.56 9.36M11.5 18C10.12 18 9 19.12 9 20.5C9 21.88 10.12 23 11.5 23S14 21.88 14 20.5C14 19.12 12.88 18 11.5 18M9 5H11.5V2H5.2L8.5 5.32C8.59 5.13 8.77 5 9 5M4.5 18C3.12 18 2 19.12 2 20.5C2 21.88 3.12 23 4.5 23S7 21.88 7 20.5C7 19.12 5.88 18 4.5 18Z\";\r\nexport var mdiRollupjs = \"M19.46,8.64C19.46,11.11 18.11,13.26 16.12,14.4C16,14.5 15.93,14.66 16,14.81L19.41,21.55C19.5,21.76 19.36,22 19.13,22H6.1L6.17,21.96C6.66,21.68 10.06,14.97 13.38,11.79C16.7,8.61 17.12,9.67 15.29,6.21C15.29,6.21 16.7,8.96 15.5,9.17C14.56,9.34 12.4,7.25 13.2,5.37C14,3.53 17.15,3.88 18.6,5.38C19.15,6.34 19.46,7.45 19.46,8.64M7.16,13.13C5.84,15.56 5,17.33 4.54,18.57V2.31C4.54,2.14 4.68,2 4.85,2H12.92C15.26,2.04 17.31,3.28 18.46,5.15C17.62,4.1 16.3,3.5 15,3.5C12.53,3.5 11.91,4.4 7.16,13.13Z\";\r\nexport var mdiRolodex = \"M19.89 5H18.5V7C18.5 8.38 17.38 9.5 16 9.5S13.5 8.38 13.5 7V5.25C13.5 5.11 13.39 5 13.25 5H10.75C10.61 5 10.5 5.11 10.5 5.25V7C10.5 8.38 9.38 9.5 8 9.5S5.5 8.38 5.5 7V5H4.11C3 4.97 2.03 5.87 2 7V19C2.03 20.13 3 21.03 4.11 21H19.89C21 21.03 21.97 20.13 22 19V7C21.97 5.87 21 4.97 19.89 5M7 18H5V16H7V18M7 14H5V12H7V14M11 18H9V16H11V18M11 14H9V12H11V14M15 18H13V16H15V18M15 14H13V12H15V14M19 18H17V16H19V18M19 14H17V12H19V14M16 8C15.45 8 15 7.55 15 7V4C15 3.45 15.45 3 16 3C16.55 3 17 3.45 17 4V7C17 7.55 16.55 8 16 8M8 8C7.45 8 7 7.55 7 7V4C7 3.45 7.45 3 8 3C8.55 3 9 3.45 9 4V7C9 7.55 8.55 8 8 8Z\";\r\nexport var mdiRolodexOutline = \"M7 18H5V16H7V18M7 14H5V12H7V14M11 18H9V16H11V18M11 14H9V12H11V14M15 18H13V16H15V18M15 14H13V12H15V14M19 18H17V16H19V18M19 14H17V12H19V14M16 8C15.45 8 15 7.55 15 7V4C15 3.45 15.45 3 16 3C16.55 3 17 3.45 17 4V7C17 7.55 16.55 8 16 8M8 8C7.45 8 7 7.55 7 7V4C7 3.45 7.45 3 8 3C8.55 3 9 3.45 9 4V7C9 7.55 8.55 8 8 8M19.89 5H18.5V7C18.5 8.38 17.38 9.5 16 9.5S13.5 8.38 13.5 7V5.25C13.5 5.11 13.39 5 13.25 5H10.75C10.61 5 10.5 5.11 10.5 5.25V7C10.5 8.38 9.38 9.5 8 9.5S5.5 8.38 5.5 7V5H4.11C3 4.97 2.03 5.87 2 7V19C2.03 20.13 3 21.03 4.11 21H19.89C21 21.03 21.97 20.13 22 19V7C21.97 5.87 21 4.97 19.89 5M20 19H4V11H20V19Z\";\r\nexport var mdiRomanNumeral1 = \"M14 7V9H13V15H14V17H10V15H11V9H10V7H14Z\";\r\nexport var mdiRomanNumeral10 = \"M9 7L11 12L9 17H11L12 14.5L13 17H15L13 12L15 7H13L12 9.5L11 7H9Z\";\r\nexport var mdiRomanNumeral2 = \"M11 7V9H10V15H11V17H7V15H8V9H7V7H11M17 7V9H16V15H17V17H13V15H14V9H13V7H17Z\";\r\nexport var mdiRomanNumeral3 = \"M9 7V9H8V15H9V17H5V15H6V9H5V7H9M14 7V9H13V15H14V17H10V15H11V9H10V7H14M19 7V9H18V15H19V17H15V15H16V9H15V7H19Z\";\r\nexport var mdiRomanNumeral4 = \"M12 7L14 17H16L18 7H16L15 12L14 7H12M11 7V9H10V15H11V17H7V15H8V9H7V7H11Z\";\r\nexport var mdiRomanNumeral5 = \"M9 7L11 17H13L15 7H13L12 12L11 7H9Z\";\r\nexport var mdiRomanNumeral6 = \"M6 7L8 17H10L12 7H10L9 12L8 7H6M17 7V9H16V15H17V17H13V15H14V9H13V7H17Z\";\r\nexport var mdiRomanNumeral7 = \"M4 7L6 17H8L10 7H8L7 12L6 7H4M15 7V9H14V15H15V17H11V15H12V9H11V7H15M20 7V9H19V15H20V17H16V15H17V9H16V7H20Z\";\r\nexport var mdiRomanNumeral8 = \"M1 7L3 17H5L7 7H5L4 12L3 7H1M12 7V9H11V15H12V17H8V15H9V9H8V7H12M17 7V9H16V15H17V17H13V15H14V9H13V7H17M22 7V9H21V15H22V17H18V15H19V9H18V7H22Z\";\r\nexport var mdiRomanNumeral9 = \"M11 7V9H10V15H11V17H7V15H8V9H7V7H11M12 7L14 12L12 17H14L15 14.5L16 17H18L16 12L18 7H16L15 9.5L14 7H12Z\";\r\nexport var mdiRoomService = \"M12,5A2,2 0 0,1 14,7C14,7.24 13.96,7.47 13.88,7.69C17.95,8.5 21,11.91 21,16H3C3,11.91 6.05,8.5 10.12,7.69C10.04,7.47 10,7.24 10,7A2,2 0 0,1 12,5M22,19H2V17H22V19Z\";\r\nexport var mdiRoomServiceOutline = \"M12,5A2,2 0 0,1 14,7C14,7.24 13.96,7.47 13.88,7.69C17.95,8.5 21,11.91 21,16H3C3,11.91 6.05,8.5 10.12,7.69C10.04,7.47 10,7.24 10,7A2,2 0 0,1 12,5M22,19H2V17H22V19M12,9.5C8.89,9.5 6.25,11.39 5.34,14H18.66C17.75,11.39 15.11,9.5 12,9.5Z\";\r\nexport var mdiRotate360 = \"M12 7C6.5 7 2 9.2 2 12C2 14.2 4.9 16.1 9 16.8V20L13 16L9 12V14.7C5.8 14.1 4 12.8 4 12C4 10.9 7 9 12 9S20 10.9 20 12C20 12.7 18.5 13.9 16 14.5V16.6C19.5 15.8 22 14.1 22 12C22 9.2 17.5 7 12 7Z\";\r\nexport var mdiRotate3d = \"M7.47,21.5C4.2,19.94 1.86,16.76 1.5,13H0C0.5,19.16 5.66,24 11.95,24L12.61,23.97L8.8,20.16L7.47,21.5M8.36,14.96C8.17,14.96 8,14.93 7.84,14.88C7.68,14.82 7.55,14.75 7.44,14.64C7.33,14.54 7.24,14.42 7.18,14.27C7.12,14.13 7.09,13.97 7.09,13.8H5.79C5.79,14.16 5.86,14.5 6,14.75C6.14,15 6.33,15.25 6.56,15.44C6.8,15.62 7.07,15.76 7.38,15.85C7.68,15.95 8,16 8.34,16C8.71,16 9.06,15.95 9.37,15.85C9.69,15.75 9.97,15.6 10.2,15.41C10.43,15.22 10.62,15 10.75,14.69C10.88,14.4 10.95,14.08 10.95,13.72C10.95,13.53 10.93,13.34 10.88,13.16C10.83,13 10.76,12.81 10.65,12.65C10.55,12.5 10.41,12.35 10.25,12.22C10.08,12.09 9.88,12 9.64,11.91C9.84,11.82 10,11.71 10.16,11.58C10.31,11.45 10.43,11.31 10.53,11.16C10.63,11 10.7,10.86 10.75,10.7C10.8,10.54 10.82,10.38 10.82,10.22C10.82,9.86 10.76,9.54 10.64,9.26C10.5,9 10.35,8.75 10.13,8.57C9.93,8.38 9.66,8.24 9.36,8.14C9.05,8.05 8.71,8 8.34,8C8,8 7.65,8.05 7.34,8.16C7.04,8.27 6.77,8.42 6.55,8.61C6.34,8.8 6.17,9 6.04,9.28C5.92,9.54 5.86,9.82 5.86,10.13H7.16C7.16,9.96 7.19,9.81 7.25,9.68C7.31,9.55 7.39,9.43 7.5,9.34C7.61,9.25 7.73,9.17 7.88,9.12C8.03,9.07 8.18,9.04 8.36,9.04C8.76,9.04 9.06,9.14 9.25,9.35C9.44,9.55 9.54,9.84 9.54,10.21C9.54,10.39 9.5,10.55 9.46,10.7C9.41,10.85 9.32,10.97 9.21,11.07C9.1,11.17 8.96,11.25 8.8,11.31C8.64,11.37 8.44,11.4 8.22,11.4H7.45V12.43H8.22C8.44,12.43 8.64,12.45 8.82,12.5C9,12.55 9.15,12.63 9.27,12.73C9.39,12.84 9.5,12.97 9.56,13.13C9.63,13.29 9.66,13.5 9.66,13.7C9.66,14.11 9.54,14.42 9.31,14.63C9.08,14.86 8.76,14.96 8.36,14.96M16.91,9.04C16.59,8.71 16.21,8.45 15.77,8.27C15.34,8.09 14.85,8 14.31,8H11.95V16H14.25C14.8,16 15.31,15.91 15.76,15.73C16.21,15.55 16.6,15.3 16.92,14.97C17.24,14.64 17.5,14.24 17.66,13.78C17.83,13.31 17.92,12.79 17.92,12.21V11.81C17.92,11.23 17.83,10.71 17.66,10.24C17.5,9.77 17.23,9.37 16.91,9.04M16.5,12.2C16.5,12.62 16.47,13 16.38,13.33C16.28,13.66 16.14,13.95 15.95,14.18C15.76,14.41 15.5,14.59 15.24,14.71C14.95,14.83 14.62,14.89 14.25,14.89H13.34V9.12H14.31C15.03,9.12 15.58,9.35 15.95,9.81C16.33,10.27 16.5,10.93 16.5,11.8M11.95,0L11.29,0.03L15.1,3.84L16.43,2.5C19.7,4.06 22.04,7.23 22.39,11H23.89C23.39,4.84 18.24,0 11.95,0Z\";\r\nexport var mdiRotate3dVariant = \"M12,5C16.97,5 21,7.69 21,11C21,12.68 19.96,14.2 18.29,15.29C19.36,14.42 20,13.32 20,12.13C20,9.29 16.42,7 12,7V10L8,6L12,2V5M12,19C7.03,19 3,16.31 3,13C3,11.32 4.04,9.8 5.71,8.71C4.64,9.58 4,10.68 4,11.88C4,14.71 7.58,17 12,17V14L16,18L12,22V19Z\";\r\nexport var mdiRotateLeft = \"M13,4.07V1L8.45,5.55L13,10V6.09C15.84,6.57 18,9.03 18,12C18,14.97 15.84,17.43 13,17.91V19.93C16.95,19.44 20,16.08 20,12C20,7.92 16.95,4.56 13,4.07M7.1,18.32C8.26,19.22 9.61,19.76 11,19.93V17.9C10.13,17.75 9.29,17.41 8.54,16.87L7.1,18.32M6.09,13H4.07C4.24,14.39 4.79,15.73 5.69,16.89L7.1,15.47C6.58,14.72 6.23,13.88 6.09,13M7.11,8.53L5.7,7.11C4.8,8.27 4.24,9.61 4.07,11H6.09C6.23,10.13 6.58,9.28 7.11,8.53Z\";\r\nexport var mdiRotateLeftVariant = \"M4,2H7A2,2 0 0,1 9,4V20A2,2 0 0,1 7,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M20,15A2,2 0 0,1 22,17V20A2,2 0 0,1 20,22H11V15H20M14,4A8,8 0 0,1 22,12L21.94,13H19.92L20,12A6,6 0 0,0 14,6V9L10,5L14,1V4Z\";\r\nexport var mdiRotateOrbit = \"M8,14.25L4.75,11H7C7.25,5.39 9.39,1 12,1C14,1 15.77,3.64 16.55,7.45C20.36,8.23 23,10 23,12C23,13.83 20.83,15.43 17.6,16.3L17.89,14.27C19.8,13.72 21,12.91 21,12C21,10.94 19.35,10 16.87,9.5C16.95,10.29 17,11.13 17,12C17,18.08 14.76,23 12,23C10.17,23 8.57,20.83 7.7,17.6L9.73,17.89C10.28,19.8 11.09,21 12,21C13.66,21 15,16.97 15,12C15,11 14.95,10.05 14.85,9.15C13.95,9.05 13,9 12,9L10.14,9.06L10.43,7.05L12,7C12.87,7 13.71,7.05 14.5,7.13C14,4.65 13.06,3 12,3C10.46,3 9.18,6.5 9,11H11.25L8,14.25M14.25,16L11,19.25V17C5.39,16.75 1,14.61 1,12C1,10.17 3.17,8.57 6.4,7.7L6.11,9.73C4.2,10.28 3,11.09 3,12C3,13.54 6.5,14.82 11,15V12.75L14.25,16Z\";\r\nexport var mdiRotateRight = \"M16.89,15.5L18.31,16.89C19.21,15.73 19.76,14.39 19.93,13H17.91C17.77,13.87 17.43,14.72 16.89,15.5M13,17.9V19.92C14.39,19.75 15.74,19.21 16.9,18.31L15.46,16.87C14.71,17.41 13.87,17.76 13,17.9M19.93,11C19.76,9.61 19.21,8.27 18.31,7.11L16.89,8.53C17.43,9.28 17.77,10.13 17.91,11M15.55,5.55L11,1V4.07C7.06,4.56 4,7.92 4,12C4,16.08 7.05,19.44 11,19.93V17.91C8.16,17.43 6,14.97 6,12C6,9.03 8.16,6.57 11,6.09V10L15.55,5.55Z\";\r\nexport var mdiRotateRightVariant = \"M10,4V1L14,5L10,9V6A6,6 0 0,0 4,12L4.08,13H2.06L2,12A8,8 0 0,1 10,4M17,2H20A2,2 0 0,1 22,4V20A2,2 0 0,1 20,22H17A2,2 0 0,1 15,20V4A2,2 0 0,1 17,2M4,15H13V22H4A2,2 0 0,1 2,20V17A2,2 0 0,1 4,15Z\";\r\nexport var mdiRoundedCorner = \"M19,19H21V21H19V19M19,17H21V15H19V17M3,13H5V11H3V13M3,17H5V15H3V17M3,9H5V7H3V9M3,5H5V3H3V5M7,5H9V3H7V5M15,21H17V19H15V21M11,21H13V19H11V21M15,21H17V19H15V21M7,21H9V19H7V21M3,21H5V19H3V21M21,8A5,5 0 0,0 16,3H11V5H16A3,3 0 0,1 19,8V13H21V8Z\";\r\nexport var mdiRouter = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20M13 13V16H15L12 19L9 16H11V13M5 13H8V15L11 12L8 9V11H5M11 11V8H9L12 5L15 8H13V11M19 11H16V9L13 12L16 15V13H19\";\r\nexport var mdiRouterNetwork = \"M5 9C3.9 9 3 9.9 3 11V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V11C21 9.9 20.11 9 19 9H5M6 12H8V14H6V12M9.5 12H11.5V14H9.5V12M13 12H15V14H13V12Z\";\r\nexport var mdiRouterNetworkWireless = \"M21 3.1L20.2 3.9C19 2.8 17.5 2.2 16 2.2C14.5 2.2 13 2.8 11.8 3.9L11 3.1C12.4 1.7 14.2 1 16 1C17.8 1 19.6 1.7 21 3.1M16 3.3C17.2 3.3 18.4 3.8 19.3 4.7L18.5 5.5C17.8 4.8 16.9 4.5 16 4.5C15.1 4.5 14.2 4.8 13.5 5.5L12.7 4.7C13.6 3.8 14.8 3.3 16 3.3M17 10H19C19.53 10 20.04 10.21 20.41 10.59C20.79 10.96 21 11.47 21 12V14C21 14.53 20.79 15.04 20.41 15.41C20.04 15.79 19.53 16 19 16H13V18H14C14.55 18 15 18.45 15 19H22V21H15C15 21.55 14.55 22 14 22H10C9.45 22 9 21.55 9 21H2V19H9C9 18.45 9.45 18 10 18H11V16H5C4.47 16 3.96 15.79 3.59 15.41C3.21 15.04 3 14.53 3 14V12C3 11.47 3.21 10.96 3.59 10.59C3.96 10.21 4.47 10 5 10H15V6H17V10M5 14H7V12H5V14M8.5 14H10.5V12H8.5V14M12 14H14V12H12V14Z\";\r\nexport var mdiRouterWireless = \"M20.2,5.9L21,5.1C19.6,3.7 17.8,3 16,3C14.2,3 12.4,3.7 11,5.1L11.8,5.9C13,4.8 14.5,4.2 16,4.2C17.5,4.2 19,4.8 20.2,5.9M19.3,6.7C18.4,5.8 17.2,5.3 16,5.3C14.8,5.3 13.6,5.8 12.7,6.7L13.5,7.5C14.2,6.8 15.1,6.5 16,6.5C16.9,6.5 17.8,6.8 18.5,7.5L19.3,6.7M19,13H17V9H15V13H5A2,2 0 0,0 3,15V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V15A2,2 0 0,0 19,13M8,18H6V16H8V18M11.5,18H9.5V16H11.5V18M15,18H13V16H15V18Z\";\r\nexport var mdiRouterWirelessOff = \"M11.8 5.9L11 5.1C12.4 3.7 14.2 3 16 3S19.6 3.7 21 5.1L20.2 5.9C19 4.8 17.5 4.2 16 4.2S13 4.8 11.8 5.9M21 15C21 13.9 20.1 13 19 13H17V9H15V11.8L21 17.8V15M18.5 7.5L19.3 6.7C18.4 5.8 17.2 5.3 16 5.3S13.6 5.8 12.7 6.7L13.5 7.5C14.2 6.8 15.1 6.5 16 6.5C16.9 6.5 17.8 6.8 18.5 7.5M22.1 21.5L20.8 22.8L19.1 21H5C3.9 21 3 20.1 3 19V15C3 13.9 3.9 13 5 13H11.1L1.1 3L2.4 1.7L22.1 21.5M8 16H6V18H8V16M11.5 16H9.5V18H11.5V16M15 16.9L14.1 16H13V18H15V16.9Z\";\r\nexport var mdiRouterWirelessSettings = \"M20.2,4.9C19,3.8 17.5,3.2 16,3.2C14.5,3.2 13,3.8 11.8,4.9L11,4.1C12.4,2.7 14.2,2 16,2C17.8,2 19.6,2.7 21,4.1L20.2,4.9M19.3,5.7L18.5,6.5C17.8,5.8 16.9,5.5 16,5.5C15.1,5.5 14.2,5.8 13.5,6.5L12.7,5.7C13.6,4.8 14.8,4.3 16,4.3C17.2,4.3 18.4,4.8 19.3,5.7M19,12A2,2 0 0,1 21,14V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V14A2,2 0 0,1 5,12H15V8H17V12H19M8,17V15H6V17H8M11.5,17V15H9.5V17H11.5M15,17V15H13V17H15M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiRoutes = \"M11,10H5L3,8L5,6H11V3L12,2L13,3V4H19L21,6L19,8H13V10H19L21,12L19,14H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V10Z\";\r\nexport var mdiRoutesClock = \"M16.5 13H15V16.69L18.19 18.53L18.94 17.23L16.5 15.82V13M16 9C14.04 9 12.27 9.82 11 11.12V7H17L19 5L17 3H11V2L10 1L9 2V6H3L1 8L3 10H9V20C7.9 20 7 20.9 7 22H12.41C13.46 22.63 14.69 23 16 23C19.87 23 23 19.87 23 16S19.87 9 16 9M16 20.85C13.32 20.85 11.15 18.68 11.15 16S13.32 11.15 16 11.15 20.85 13.32 20.85 16 18.68 20.85 16 20.85Z\";\r\nexport var mdiRowing = \"M8.5,14.5L4,19L5.5,20.5L9,17H11L8.5,14.5M15,1A2,2 0 0,0 13,3A2,2 0 0,0 15,5A2,2 0 0,0 17,3A2,2 0 0,0 15,1M21,21L18,24L15,21V19.5L7.91,12.41C7.6,12.46 7.3,12.5 7,12.5V10.32C8.66,10.35 10.61,9.45 11.67,8.28L13.07,6.73C13.26,6.5 13.5,6.35 13.76,6.23C14.05,6.09 14.38,6 14.72,6H14.75C16,6 17,7 17,8.26V14C17,14.85 16.65,15.62 16.08,16.17L12.5,12.59V10.32C11.87,10.84 11.07,11.34 10.21,11.71L16.5,18H18L21,21Z\";\r\nexport var mdiRss = \"M6.18,15.64A2.18,2.18 0 0,1 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82A2.18,2.18 0 0,1 6.18,15.64M4,4.44A15.56,15.56 0 0,1 19.56,20H16.73A12.73,12.73 0 0,0 4,7.27V4.44M4,10.1A9.9,9.9 0 0,1 13.9,20H11.07A7.07,7.07 0 0,0 4,12.93V10.1Z\";\r\nexport var mdiRssBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M7.5,15A1.5,1.5 0 0,0 6,16.5A1.5,1.5 0 0,0 7.5,18A1.5,1.5 0 0,0 9,16.5A1.5,1.5 0 0,0 7.5,15M6,10V12A6,6 0 0,1 12,18H14A8,8 0 0,0 6,10M6,6V8A10,10 0 0,1 16,18H18A12,12 0 0,0 6,6Z\";\r\nexport var mdiRssOff = \"M2.5,3.77L3.78,2.5L21.5,20.22L20.23,21.5L18.73,20H16.73C16.73,19.25 16.67,18.5 16.54,17.81L6.19,7.46C5.5,7.33 4.75,7.27 4,7.27V5.27L2.5,3.77M6.18,15.64A2.18,2.18 0 0,1 8.36,17.82C8.36,19 7.38,20 6.18,20C5,20 4,19 4,17.82A2.18,2.18 0 0,1 6.18,15.64M4,10.1A9.9,9.9 0 0,1 13.9,20H11.07A7.07,7.07 0 0,0 4,12.93V10.1M9.13,5.31C13.59,6.87 17.13,10.41 18.69,14.87L9.13,5.31Z\";\r\nexport var mdiRug = \"M12 14C10.9 14 10 13.11 10 12S10.9 10 12 10 14 10.9 14 12 13.11 14 12 14M23 19H1V17H4V15H1V13H4V11H1V9H4V7H1V5H23V7H20V9H23V11H20V13H23V15H20V17H23V19M12 15.92C12.62 16.62 13.66 16.81 14.5 16.33C15.34 15.85 15.69 14.84 15.4 13.96C16.31 13.78 17 12.97 17 12S16.31 10.22 15.4 10.04C15.69 9.16 15.34 8.15 14.5 7.67C13.66 7.19 12.62 7.38 12 8.08C11.38 7.38 10.34 7.19 9.5 7.67C8.66 8.15 8.31 9.16 8.61 10.04C7.69 10.22 7 11.03 7 12S7.69 13.78 8.61 13.96C8.31 14.84 8.66 15.85 9.5 16.33C10.34 16.82 11.38 16.62 12 15.92Z\";\r\nexport var mdiRugby = \"M16.22,16.22C18.25,14.19 19.33,11.5 19.45,8.2C18.36,10.61 16.81,12.81 14.81,14.81C12.81,16.81 10.61,18.36 8.2,19.45C11.5,19.36 14.16,18.28 16.22,16.22M7.78,7.78C5.75,9.81 4.67,12.5 4.55,15.8C5,14.8 5.7,13.65 6.61,12.35C7.5,11.05 8.38,10 9.19,9.19C11.19,7.19 13.39,5.64 15.8,4.55C12.5,4.64 9.84,5.72 7.78,7.78M20.5,3.5C21,4.05 21.34,5.11 21.47,6.7C21.59,8.3 21.35,10.16 20.74,12.3C20.13,14.45 19.11,16.23 17.67,17.67C16.36,19 14.8,19.95 13,20.55C11.21,21.16 9.44,21.47 7.69,21.47C5.56,21.47 4.17,21.14 3.5,20.5C3,19.95 2.66,18.89 2.53,17.3C2.41,15.7 2.65,13.84 3.26,11.7C3.87,9.55 4.89,7.77 6.33,6.33C7.64,5 9.2,4.05 11,3.45C12.79,2.84 14.56,2.53 16.31,2.53C18.44,2.53 19.83,2.86 20.5,3.5Z\";\r\nexport var mdiRuler = \"M1.39,18.36L3.16,16.6L4.58,18L5.64,16.95L4.22,15.54L5.64,14.12L8.11,16.6L9.17,15.54L6.7,13.06L8.11,11.65L9.53,13.06L10.59,12L9.17,10.59L10.59,9.17L13.06,11.65L14.12,10.59L11.65,8.11L13.06,6.7L14.47,8.11L15.54,7.05L14.12,5.64L15.54,4.22L18,6.7L19.07,5.64L16.6,3.16L18.36,1.39L22.61,5.64L5.64,22.61L1.39,18.36Z\";\r\nexport var mdiRulerSquare = \"M3,5V21H9V19.5H7V18H9V16.5H5V15H9V13.5H7V12H9V10.5H5V9H9V5H10.5V9H12V7H13.5V9H15V5H16.5V9H18V7H19.5V9H21V3H5A2,2 0 0,0 3,5M6,7A1,1 0 0,1 5,6A1,1 0 0,1 6,5A1,1 0 0,1 7,6A1,1 0 0,1 6,7Z\";\r\nexport var mdiRulerSquareCompass = \"M20 19.88V22L18.2 20.83L13.41 11.83A4.94 4.94 0 0 0 15.19 10.83M15 7A3 3 0 0 1 12 10A3.27 3.27 0 0 1 11.56 10L5.8 20.83L4 22V19.88L9.79 9A3 3 0 0 1 12 4V2A1 1 0 0 1 13 3V4.18A3 3 0 0 1 15 7M13 7A1 1 0 1 0 12 8A1 1 0 0 0 13 7M4.22 10L6 11.8L4.56 14.56L2.1 12.1M12 17.76L10.5 16.25L9 19L12 22L15 19L13.53 16.23M19.78 10L18 11.8L19.5 14.56L21.9 12.1Z\";\r\nexport var mdiRun = \"M13.5,5.5C14.59,5.5 15.5,4.58 15.5,3.5C15.5,2.38 14.59,1.5 13.5,1.5C12.39,1.5 11.5,2.38 11.5,3.5C11.5,4.58 12.39,5.5 13.5,5.5M9.89,19.38L10.89,15L13,17V23H15V15.5L12.89,13.5L13.5,10.5C14.79,12 16.79,13 19,13V11C17.09,11 15.5,10 14.69,8.58L13.69,7C13.29,6.38 12.69,6 12,6C11.69,6 11.5,6.08 11.19,6.08L6,8.28V13H8V9.58L9.79,8.88L8.19,17L3.29,16L2.89,18L9.89,19.38Z\";\r\nexport var mdiRunFast = \"M16.5,5.5A2,2 0 0,0 18.5,3.5A2,2 0 0,0 16.5,1.5A2,2 0 0,0 14.5,3.5A2,2 0 0,0 16.5,5.5M12.9,19.4L13.9,15L16,17V23H18V15.5L15.9,13.5L16.5,10.5C17.89,12.09 19.89,13 22,13V11C20.24,11.03 18.6,10.11 17.7,8.6L16.7,7C16.34,6.4 15.7,6 15,6C14.7,6 14.5,6.1 14.2,6.1L9,8.3V13H11V9.6L12.8,8.9L11.2,17L6.3,16L5.9,18L12.9,19.4M4,9A1,1 0 0,1 3,8A1,1 0 0,1 4,7H7V9H4M5,5A1,1 0 0,1 4,4A1,1 0 0,1 5,3H10V5H5M3,13A1,1 0 0,1 2,12A1,1 0 0,1 3,11H7V13H3Z\";\r\nexport var mdiRvTruck = \"M20 8H22V6L20 4H3A2 2 0 0 0 1 6V15A2 2 0 0 0 3 17H4A3 3 0 0 0 7 20A3 3 0 0 0 10 17H15A3 3 0 0 0 21 17H23V12M7 18.5A1.5 1.5 0 0 1 7 15.5A1.5 1.5 0 0 1 7 18.5M9 12H3V9H9M14 15H11V9H14M18 18.5A1.5 1.5 0 1 1 19.5 17A1.54 1.54 0 0 1 18 18.5M17 12V9.5H19.5L21.5 12Z\";\r\nexport var mdiSack = \"M16,9C20,11 21,18 21,18C21,18 22,22 16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9M14,4L12,2L10,4L6,2L8,7H16L18,2L14,4Z\";\r\nexport var mdiSackOutline = \"M19 18.28V18.05C18.95 17.88 18.9 17.63 18.83 17.32C18.69 16.69 18.46 15.85 18.13 14.95C17.5 13.23 16.58 11.74 15.47 11H8.53C7.42 11.74 6.5 13.23 5.87 14.95C5.54 15.85 5.31 16.69 5.17 17.32C5.1 17.63 5.05 17.88 5 18.05V18.29L4.97 18.39L4.95 18.45C4.94 18.5 4.94 18.55 4.94 18.63C4.94 18.79 4.97 18.96 5.04 19.11C5.09 19.21 5.5 20 8 20H16C18.5 20 18.91 19.21 18.96 19.11C19.03 18.96 19.06 18.79 19.06 18.63C19.06 18.55 19.06 18.5 19.05 18.45L19.03 18.39L19 18.29V18.28M3 18C3 18 4 11 8 9H16C20 11 21 18 21 18C21 18 22 22 16 22H8C2 22 3 18 3 18M10 4L12 2L14 4L18 2L16 7H8L6 2L10 4Z\";\r\nexport var mdiSackPercent = \"M8,7L6,2L10,4L12,2L14,4L18,2L16,7H8M16,22C10,22 8,22 8,22C2,22 3,18 3,18C3,18 4,11 8,9H16C20,11 21,18 21,18C21,18 22,22 16,22M7.5,12.5A1.5,1.5 0 0,0 9,14A1.5,1.5 0 0,0 10.5,12.5A1.5,1.5 0 0,0 9,11A1.5,1.5 0 0,0 7.5,12.5M16.5,18.5A1.5,1.5 0 0,0 15,17A1.5,1.5 0 0,0 13.5,18.5A1.5,1.5 0 0,0 15,20A1.5,1.5 0 0,0 16.5,18.5M16.5,12.35L15.15,11L7.5,18.65L8.87,20L16.5,12.35Z\";\r\nexport var mdiSafe = \"M4,4A2,2 0 0,0 2,6V17A2,2 0 0,0 4,19V20H6V19H17V20H19V19A2,2 0 0,0 21,17V16H22V14H21V9H22V7H21V6A2,2 0 0,0 19,4H4M4,6H19V17H4V6M13.5,7.5A4,4 0 0,0 9.5,11.5A4,4 0 0,0 13.5,15.5A4,4 0 0,0 17.5,11.5A4,4 0 0,0 13.5,7.5M5,9V14H7V9H5M13.5,9.5A2,2 0 0,1 15.5,11.5A2,2 0 0,1 13.5,13.5A2,2 0 0,1 11.5,11.5A2,2 0 0,1 13.5,9.5Z\";\r\nexport var mdiSafeSquare = \"M20 2C21.1 2 22 2.9 22 4V20C22 21.1 21.1 22 20 22H19V23H15V22H9V23H5V22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20M17 12C17 11 16.7 10 16.2 9.2L17.7 7.7L16.3 6.3L14.8 7.8C14 7.3 13 7 12 7C11 7 10 7.3 9.2 7.8L7.8 6.3L6.3 7.8L7.8 9.3C7.3 10 7 11 7 12C7 13 7.3 14 7.8 14.8L6.3 16.3L7.8 17.7L9.3 16.2C10 16.7 11 17 12 17C13 17 14 16.7 14.8 16.2L16.3 17.7L17.7 16.3L16.2 14.8C16.7 14 17 13 17 12M12 9C13.7 9 15 10.3 15 12C15 13.7 13.7 15 12 15C10.3 15 9 13.7 9 12C9 10.3 10.3 9 12 9M12 14C13.1 14 14 13.1 14 12C14 10.9 13.1 10 12 10C10.9 10 10 10.9 10 12C10 13.1 10.9 14 12 14Z\";\r\nexport var mdiSafeSquareOutline = \"M10 12C10 10.9 10.9 10 12 10C13.1 10 14 10.9 14 12C14 13.1 13.1 14 12 14C10.9 14 10 13.1 10 12M7.8 17.7L6.3 16.3L7.8 14.8C7.3 14 7 13 7 12C7 11 7.3 10 7.8 9.3L6.3 7.8L7.8 6.3L9.2 7.8C10 7.3 11 7 12 7C13 7 14 7.3 14.8 7.8L16.3 6.3L17.7 7.7L16.2 9.2C16.7 10 17 11 17 12C17 13 16.7 14 16.2 14.8L17.7 16.3L16.3 17.7L14.8 16.2C14 16.7 13 17 12 17C11 17 10 16.7 9.3 16.2L7.8 17.7M12 9C10.3 9 9 10.3 9 12C9 13.7 10.3 15 12 15C13.7 15 15 13.7 15 12C15 10.3 13.7 9 12 9M20 2C21.1 2 22 2.9 22 4V20C22 21.1 21.1 22 20 22H19V23H15V22H9V23H5V22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20M20 20V4H4V20H20Z\";\r\nexport var mdiSafetyGoggles = \"M18,9C19.11,9 20,9.89 20,11V14C20,15.11 19.11,16 18,16H15.77L14.53,14.77C13.78,14 12.77,13.6 11.7,13.6C10.63,13.6 9.63,14 8.87,14.77L7.64,16H6C4.89,16 4,15.11 4,14V11C4,9.89 4.89,9 6,9H18M18,7H6A4,4 0 0,0 2,11H2L1,11V14H2V14A4,4 0 0,0 6,18H8.5C8.54,17.94 8.59,17.88 10.29,16.18C10.68,15.79 11.19,15.6 11.7,15.6C12.22,15.6 12.73,15.79 13.12,16.18L14.91,18H18A4,4 0 0,0 22,14H22L23,14V11H22V11A4,4 0 0,0 18,7Z\";\r\nexport var mdiSailBoat = \"M3 13.5L11 2.03V13.5H3M12.5 13.5C13.85 9.75 13.67 4.71 12.5 1C17.26 2.54 20.9 8.4 20.96 13.5H12.5M21.1 17.08C20.69 17.72 20.21 18.27 19.65 18.74C19 18.45 18.42 18 17.96 17.5C16.47 19.43 13.46 19.43 11.97 17.5C10.5 19.43 7.47 19.43 6 17.5C5.5 18 4.95 18.45 4.3 18.74C3.16 17.8 2.3 16.46 2 15H21.94C21.78 15.75 21.5 16.44 21.1 17.08M20.96 23C19.9 23 18.9 22.75 17.96 22.25C16.12 23.25 13.81 23.25 11.97 22.25C10.13 23.25 7.82 23.25 6 22.25C4.77 22.94 3.36 23.05 2 23V21C3.41 21.05 4.77 20.9 6 20C7.74 21.25 10.21 21.25 11.97 20C13.74 21.25 16.2 21.25 17.96 20C19.17 20.9 20.54 21.05 21.94 21V23H20.96Z\";\r\nexport var mdiSailBoatSink = \"M20.96 21C19.9 21 18.9 20.74 17.96 20.24C16.12 21.24 13.81 21.24 11.97 20.24C10.13 21.24 7.82 21.24 6 20.24C4.77 20.93 3.36 21.04 2 21V19C3.41 19.04 4.77 18.89 6 18C7.74 19.24 10.21 19.24 11.97 18C13.74 19.24 16.2 19.24 17.96 18C19.17 18.89 20.54 19.04 21.94 19V21H20.96M22 3.5L7.11 5.96L13.11 12.17L22 3.5M10.81 16.36L11.97 15.54L13.12 16.36C13.65 16.72 14.3 16.93 14.97 16.93C15.12 16.93 15.28 16.91 15.43 16.89L5.2 6.31C4.29 7.65 3.9 9.32 4 10.92L9.74 16.83C10.13 16.74 10.5 16.58 10.81 16.36Z\";\r\nexport var mdiSale = \"M18.65,2.85L19.26,6.71L22.77,8.5L21,12L22.78,15.5L19.24,17.29L18.63,21.15L14.74,20.54L11.97,23.3L9.19,20.5L5.33,21.14L4.71,17.25L1.22,15.47L3,11.97L1.23,8.5L4.74,6.69L5.35,2.86L9.22,3.5L12,0.69L14.77,3.46L18.65,2.85M9.5,7A1.5,1.5 0 0,0 8,8.5A1.5,1.5 0 0,0 9.5,10A1.5,1.5 0 0,0 11,8.5A1.5,1.5 0 0,0 9.5,7M14.5,14A1.5,1.5 0 0,0 13,15.5A1.5,1.5 0 0,0 14.5,17A1.5,1.5 0 0,0 16,15.5A1.5,1.5 0 0,0 14.5,14M8.41,17L17,8.41L15.59,7L7,15.59L8.41,17Z\";\r\nexport var mdiSaleOutline = \"M9.5 7C10.33 7 11 7.67 11 8.5C11 9.33 10.33 10 9.5 10C8.67 10 8 9.33 8 8.5C8 7.67 8.67 7 9.5 7M14.5 14C15.33 14 16 14.67 16 15.5C16 16.33 15.33 17 14.5 17C13.67 17 13 16.33 13 15.5C13 14.67 13.67 14 14.5 14M8.41 17L7 15.59L15.59 7L17 8.41L8.41 17M18.65 2.85L19.26 6.71L22.77 8.5L21 12L22.78 15.5L19.24 17.29L18.63 21.15L14.74 20.54L11.97 23.31L9.19 20.5L5.33 21.14L4.71 17.25L1.22 15.47L3 11.97L1.23 8.5L4.74 6.69L5.35 2.87L9.22 3.5L12 .695L14.76 3.46L18.65 2.85M20.1 9.37L17.5 8L17 5.11L14.1 5.53L12 3.5L9.9 5.53L7 5.11L6.5 8L3.9 9.37L5.2 12L3.9 14.63L6.5 16L7 18.89L9.9 18.47L12 20.5L14.1 18.47L17 18.89L17.5 16L20.1 14.63L18.8 12L20.1 9.37Z\";\r\nexport var mdiSalesforce = \"M18.38,6.37C17.68,6.37 17.07,6.58 16.47,6.78C15.77,5.57 14.46,4.77 13.05,4.77C11.95,4.77 10.95,5.27 10.24,5.97C9.44,4.97 8.23,4.26 6.83,4.26C4.5,4.26 2.5,6.17 2.5,8.5C2.5,9.09 2.71,9.69 2.91,10.29C1.8,10.9 1,12.1 1,13.5C1,15.5 2.61,17.22 4.62,17.22C4.92,17.22 5.22,17.22 5.42,17.12C5.82,18.63 7.33,19.74 9.14,19.74C10.84,19.74 12.25,18.73 12.75,17.32C13.26,17.53 13.76,17.73 14.26,17.73C15.57,17.73 16.77,17 17.37,15.92C17.68,16 18,16 18.28,16C20.89,16 23,13.91 23,11.2C23.1,8.5 21,6.37 18.38,6.37Z\";\r\nexport var mdiSass = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M10,15.33C10.16,15.87 10.14,16.37 10,16.83C10,16.88 9.96,16.93 9.94,17C9.92,17 9.9,17.07 9.87,17.12C9.76,17.36 9.6,17.59 9.41,17.79C8.83,18.43 8,18.67 7.67,18.47C7.29,18.25 7.5,17.35 8.16,16.64C8.88,15.88 9.92,15.38 9.92,15.38V15.38L10,15.33M18.27,6.28C17.82,4.5 14.87,3.92 12.09,4.91C10.43,5.5 8.63,6.42 7.34,7.63C5.81,9.07 5.56,10.32 5.66,10.84C6,12.68 8.54,13.89 9.58,14.78V14.79C9.28,14.94 7.04,16.07 6.5,17.23C5.96,18.45 6.6,19.33 7,19.45C8.34,19.81 9.69,19.16 10.41,18.07C11.11,17.03 11.06,15.68 10.75,15C11.17,14.9 11.66,14.85 12.28,14.92C14.04,15.13 14.38,16.22 14.31,16.68C14.25,17.14 13.88,17.39 13.76,17.47C13.64,17.54 13.6,17.57 13.61,17.63C13.62,17.71 13.68,17.71 13.78,17.69C13.93,17.66 14.71,17.32 14.74,16.47C14.78,15.39 13.75,14.19 11.93,14.22C11.18,14.24 10.71,14.31 10.37,14.44L10.29,14.35C9.16,13.15 7.08,12.3 7.17,10.68C7.2,10.09 7.4,8.55 11.17,6.67C14.25,5.13 16.72,5.55 17.15,6.5C17.76,7.83 15.83,10.32 12.63,10.68C11.41,10.82 10.76,10.34 10.6,10.17C10.43,10 10.41,9.97 10.35,10C10.24,10.07 10.31,10.23 10.35,10.33C10.44,10.58 10.84,11 11.5,11.24C12.09,11.43 13.53,11.54 15.26,10.87C17.2,10.12 18.72,8.03 18.27,6.28Z\";\r\nexport var mdiSatellite = \"M5,18L8.5,13.5L11,16.5L14.5,12L19,18M5,12V10A5,5 0 0,0 10,5H12A7,7 0 0,1 5,12M5,5H8A3,3 0 0,1 5,8M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiSatelliteUplink = \"M11.86,2L11.34,3.93C15.75,4.78 19.2,8.23 20.05,12.65L22,12.13C20.95,7.03 16.96,3.04 11.86,2M10.82,5.86L10.3,7.81C13.34,8.27 15.72,10.65 16.18,13.68L18.12,13.16C17.46,9.44 14.55,6.5 10.82,5.86M3.72,9.69C3.25,10.73 3,11.86 3,13C3,14.95 3.71,16.82 5,18.28V22H8V20.41C8.95,20.8 9.97,21 11,21C12.14,21 13.27,20.75 14.3,20.28L3.72,9.69M9.79,9.76L9.26,11.72A3,3 0 0,1 12.26,14.72L14.23,14.2C14,11.86 12.13,10 9.79,9.76Z\";\r\nexport var mdiSatelliteVariant = \"M11.62,1L17.28,6.67L15.16,8.79L13.04,6.67L11.62,8.09L13.95,10.41L12.79,11.58L13.24,12.04C14.17,11.61 15.31,11.77 16.07,12.54L12.54,16.07C11.77,15.31 11.61,14.17 12.04,13.24L11.58,12.79L10.41,13.95L8.09,11.62L6.67,13.04L8.79,15.16L6.67,17.28L1,11.62L3.14,9.5L5.26,11.62L6.67,10.21L3.84,7.38C3.06,6.6 3.06,5.33 3.84,4.55L4.55,3.84C5.33,3.06 6.6,3.06 7.38,3.84L10.21,6.67L11.62,5.26L9.5,3.14L11.62,1M18,14A4,4 0 0,1 14,18V16A2,2 0 0,0 16,14H18M22,14A8,8 0 0,1 14,22V20A6,6 0 0,0 20,14H22Z\";\r\nexport var mdiSausage = \"M19 5.3C20.2 5.8 21 7.1 21 8.5C21 15.4 15.4 21 8.5 21C7.1 21 5.9 20.2 5.3 19L3 20.5V14.5L5.3 16C5.9 14.8 7.1 14 8.5 14C11.5 14 14 11.5 14 8.5C14 7.1 14.8 5.9 16 5.3L14.5 3H20.5L19 5.3Z\";\r\nexport var mdiSausageOff = \"M20.8 22.7L16.3 18.2C14.2 19.9 11.4 21 8.5 21C7.1 21 5.9 20.2 5.3 19L3 20.5V14.5L5.3 16C5.8 14.8 7.1 14 8.5 14C9.5 14 10.5 13.7 11.3 13.2L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M21 8.5C21 7.1 20.2 5.9 19 5.3L20.5 3H14.5L16 5.3C14.8 5.8 14 7.1 14 8.5C14 9.2 13.9 9.8 13.6 10.4L18.7 15.6C20.2 13.6 21 11.1 21 8.5Z\";\r\nexport var mdiSawBlade = \"M20,15C20,15 18.6,16.3 21.1,17L18.3,19.8H15.5C15.5,19.8 13.6,19.7 15,22H11L9,20C9,20 7.7,18.6 7,21.1L4.2,18.3V15.5C4.2,15.5 4.3,13.6 2,15V11L4,9C4,9 5.4,7.7 2.8,7.1L5.6,4.2H8.5C8.5,4.2 10.4,4.3 9,2H13L15,4C15,4 16.3,5.4 17,2.8L19.8,5.6V8.5C19.8,8.5 19.7,10.4 22,9V13L20,15M14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12Z\";\r\nexport var mdiSawtoothWave = \"M11 22V6.83L2 16V13.17L13 2V17.17L22 8V10.83L11 22Z\";\r\nexport var mdiSaxophone = \"M4,2A1,1 0 0,0 3,3A1,1 0 0,0 4,4A3,3 0 0,1 7,7V8.66L7,15.5C7,19.1 9.9,22 13.5,22C17.1,22 20,19.1 20,15.5V13A1,1 0 0,0 21,12A1,1 0 0,0 20,11H14A1,1 0 0,0 13,12A1,1 0 0,0 14,13V15A1,1 0 0,1 13,16A1,1 0 0,1 12,15V11A1,1 0 0,0 13,10A1,1 0 0,0 12,9V8A1,1 0 0,0 13,7A1,1 0 0,0 12,6V5.5A3.5,3.5 0 0,0 8.5,2H4Z\";\r\nexport var mdiScale = \"M8.46,15.06L7.05,16.47L5.68,15.1C4.82,16.21 4.24,17.54 4.06,19H6V21H2V20C2,15.16 5.44,11.13 10,10.2V8.2L2,5V3H22V5L14,8.2V10.2C18.56,11.13 22,15.16 22,20V21H18V19H19.94C19.76,17.54 19.18,16.21 18.32,15.1L16.95,16.47L15.54,15.06L16.91,13.68C15.8,12.82 14.46,12.24 13,12.06V14H11V12.06C9.54,12.24 8.2,12.82 7.09,13.68L8.46,15.06M12,18A2,2 0 0,1 14,20A2,2 0 0,1 12,22C11.68,22 11.38,21.93 11.12,21.79L7.27,20L11.12,18.21C11.38,18.07 11.68,18 12,18Z\";\r\nexport var mdiScaleBalance = \"M12,3C10.73,3 9.6,3.8 9.18,5H3V7H4.95L2,14C1.53,16 3,17 5.5,17C8,17 9.56,16 9,14L6.05,7H9.17C9.5,7.85 10.15,8.5 11,8.83V20H2V22H22V20H13V8.82C13.85,8.5 14.5,7.85 14.82,7H17.95L15,14C14.53,16 16,17 18.5,17C21,17 22.56,16 22,14L19.05,7H21V5H14.83C14.4,3.8 13.27,3 12,3M12,5A1,1 0 0,1 13,6A1,1 0 0,1 12,7A1,1 0 0,1 11,6A1,1 0 0,1 12,5M5.5,10.25L7,14H4L5.5,10.25M18.5,10.25L20,14H17L18.5,10.25Z\";\r\nexport var mdiScaleBathroom = \"M5,2H19A2,2 0 0,1 21,4V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V4A2,2 0 0,1 5,2M12,4A4,4 0 0,0 8,8H11.26L10.85,5.23L12.9,8H16A4,4 0 0,0 12,4M5,10V20H19V10H5Z\";\r\nexport var mdiScaleOff = \"M22.11 21.46L20.84 22.73L19.11 21H18V19.89L12.11 14H11V12.89L10.31 12.2A7.92 7.92 0 0 0 7.09 13.68L8.46 15.06L7.05 16.47L5.68 15.1A7.94 7.94 0 0 0 4.06 19H6V21H2V20A10 10 0 0 1 8.68 10.57L3.85 5.74L2 5V3.89L1.11 3L2.39 1.73M21.91 18.71A10 10 0 0 0 14 10.2V8.2L22 5V3H6.2M12 18A1.84 1.84 0 0 0 11.12 18.21L7.27 20L11.12 21.79A1.84 1.84 0 0 0 12 22A2 2 0 0 0 12 18Z\";\r\nexport var mdiScaleUnbalanced = \"M13 20V8.8C13.5 8.6 14 8.3 14.3 7.9L17.8 9.2L14.9 16C14.4 18 15.9 19 18.4 19S22.5 18 21.9 16L19.3 9.7L20.2 10L20.9 8.1L15 6C15 4.8 14.3 3.6 13 3.1C11.8 2.6 10.5 3.1 9.7 4L3.9 2L3.2 3.8L4.8 4.4L2.1 11C1.6 13 3.1 14 5.6 14S9.7 13 9.1 11L6.6 5.1L9 6C9 7.2 9.7 8.4 11 8.9V20H2V22H22V20H13M19.9 16H16.9L18.4 12.2L19.9 16M7.1 11H4.1L5.6 7.2L7.1 11M11.1 5.7C11.3 5.2 11.9 4.9 12.4 5.1S13.2 5.9 13 6.4 12.2 7.2 11.7 7 10.9 6.2 11.1 5.7Z\";\r\nexport var mdiScanHelper = \"M0 2A2 2 0 0 1 2 0H6V2H2V6H0V2M24 22A2 2 0 0 1 22 24H18V22H22V18H24V22M2 24A2 2 0 0 1 0 22V18H2V22H6V24H2M22 0A2 2 0 0 1 24 2V6H22V2H18V0H22Z\";\r\nexport var mdiScanner = \"M4.2,10.7L19.8,5L20.5,6.9L6.4,12H19A2,2 0 0,1 21,14V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V12.5C3,11.7 3.5,10.9 4.2,10.7M17,17H19V15H17V17M5,17H15V15H5V17Z\";\r\nexport var mdiScannerOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L16.73,20H5A2,2 0 0,1 3,18V12.5C3,11.7 3.5,10.9 4.2,10.7L6.57,9.84L2,5.27M6.4,12H8.73L8.11,11.38L6.4,12M5,15V17H13.73L11.73,15H5M19.8,5L20.5,6.9L11.85,10.03L10.3,8.47L19.8,5M19,12A2,2 0 0,1 21,14V18C21,18.34 20.91,18.66 20.76,18.94L19,17.18V15H16.82L13.82,12H19Z\";\r\nexport var mdiScatterPlot = \"M7,11A3,3 0 0,1 10,14A3,3 0 0,1 7,17A3,3 0 0,1 4,14A3,3 0 0,1 7,11M11,3A3,3 0 0,1 14,6A3,3 0 0,1 11,9A3,3 0 0,1 8,6A3,3 0 0,1 11,3M16.6,14.6C18.25,14.6 19.6,15.94 19.6,17.6A3,3 0 0,1 16.6,20.6C14.94,20.6 13.6,19.25 13.6,17.6A3,3 0 0,1 16.6,14.6Z\";\r\nexport var mdiScatterPlotOutline = \"M7,18A4,4 0 0,1 3,14A4,4 0 0,1 7,10A4,4 0 0,1 11,14A4,4 0 0,1 7,18M7,12A2,2 0 0,0 5,14A2,2 0 0,0 7,16A2,2 0 0,0 9,14A2,2 0 0,0 7,12M11,10A4,4 0 0,1 7,6A4,4 0 0,1 11,2A4,4 0 0,1 15,6A4,4 0 0,1 11,10M11,4A2,2 0 0,0 9,6A2,2 0 0,0 11,8A2,2 0 0,0 13,6A2,2 0 0,0 11,4M16.6,21.6C14.39,21.6 12.6,19.81 12.6,17.6A4,4 0 0,1 16.6,13.6C18.81,13.6 20.6,15.39 20.6,17.6A4,4 0 0,1 16.6,21.6M16.6,15.6A2,2 0 0,0 14.6,17.6C14.6,18.7 15.5,19.6 16.6,19.6A2,2 0 0,0 18.6,17.6C18.6,16.5 17.7,15.6 16.6,15.6Z\";\r\nexport var mdiScent = \"M17.5 5.1C18.5 6.4 19 7.6 19 9C19 10.7 18.3 12.3 16.6 14.1C14.7 16.1 13 18.3 13 20.5C13 20.9 13.1 21.3 13.2 21.8C13.2 21.9 13.2 22 13.1 22.1C13 22.2 12.9 22.1 12.9 22C11.9 20.7 11.4 19.5 11.4 18.1C11.4 16.4 12.1 14.8 13.8 13C15.7 11 17.4 8.8 17.4 6.6C17.4 6.2 17.3 5.8 17.2 5.3C17.2 5.2 17.2 5.1 17.3 5C17.4 5 17.4 5 17.5 5.1M9.7 2.1C10.4 3 10.7 4 10.7 4.9C10.7 6.2 10.1 7.4 8.9 8.7C7.5 10.2 6.2 11.9 6.2 13.5C6.2 13.8 6.3 14.2 6.4 14.4C6.4 14.5 6.4 14.5 6.3 14.6C6.2 14.7 6.1 14.6 6.1 14.6C5.3 13.6 5 12.6 5 11.7C5 10.4 5.6 9.2 6.8 7.9C8.2 6.4 9.5 4.7 9.5 3.1C9.5 2.8 9.4 2.4 9.3 2.2V2C9.5 2 9.6 2 9.7 2.1M10.1 9.9C12 7.9 13.7 5.7 13.7 3.5C13.7 3.1 13.6 2.7 13.5 2.2C13.5 2.1 13.5 2 13.6 1.9C13.7 1.8 13.8 1.9 13.8 2C14.8 3.3 15.3 4.5 15.3 5.9C15.3 7.6 14.6 9.2 12.9 11C11 13 9.3 15.2 9.3 17.4C9.3 17.8 9.4 18.2 9.5 18.7C9.5 18.8 9.5 18.9 9.4 19C9.3 19.1 9.2 19 9.2 18.9C8.2 17.6 7.7 16.4 7.7 15C7.7 13.3 8.4 11.7 10.1 9.9Z\";\r\nexport var mdiScentOff = \"M14.6 16.5C13.7 17.8 13 19.2 13 20.5C13 20.9 13.1 21.3 13.2 21.8C13.2 21.9 13.2 22 13.1 22.1C13 22.2 12.9 22.1 12.9 22C11.9 20.7 11.4 19.5 11.4 18.1C11.4 16.9 11.8 15.7 12.6 14.5L11.2 13.1C10.1 14.5 9.4 16 9.4 17.5C9.4 17.9 9.5 18.3 9.6 18.8C9.6 18.9 9.6 19 9.5 19.1C9.4 19.2 9.3 19.1 9.3 19C8.3 17.7 7.8 16.5 7.8 15.1C7.8 13.8 8.3 12.5 9.3 11.1L7.9 9.8C6.9 11 6.2 12.2 6.2 13.4C6.2 13.7 6.3 14.1 6.4 14.3C6.4 14.4 6.4 14.4 6.3 14.5C6.2 14.6 6.1 14.5 6.1 14.5C5.3 13.6 5 12.6 5 11.7C5 10.6 5.5 9.5 6.4 8.4L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7L14.6 16.5M10.2 7C10.6 6.3 10.8 5.6 10.8 4.9C10.8 4 10.5 3 9.7 2.1C9.6 2 9.5 2 9.4 2C9.3 2 9.4 2.1 9.4 2.2C9.5 2.5 9.6 2.8 9.6 3.1C9.6 3.9 9.3 4.7 8.8 5.5L10.2 7M17.3 6.5C17.3 8.2 16.2 10 14.8 11.6L16.8 13.6C18.3 12.1 19 10.6 19 9C19 7.7 18.5 6.4 17.5 5.1C17.4 5 17.4 5 17.3 5C17.2 5.1 17.2 5.2 17.2 5.3C17.2 5.7 17.3 6.1 17.3 6.5M13.5 10.3C14.7 8.8 15.3 7.4 15.3 5.9C15.3 4.6 14.8 3.3 13.8 2H13.6C13.5 2.1 13.5 2.2 13.5 2.3C13.6 2.7 13.7 3.1 13.7 3.6C13.7 5.2 12.8 6.8 11.5 8.4L13.5 10.3Z\";\r\nexport var mdiSchool = \"M12,3L1,9L12,15L21,10.09V17H23V9M5,13.18V17.18L12,21L19,17.18V13.18L12,17L5,13.18Z\";\r\nexport var mdiSchoolOutline = \"M12 3L1 9L5 11.18V17.18L12 21L19 17.18V11.18L21 10.09V17H23V9L12 3M18.82 9L12 12.72L5.18 9L12 5.28L18.82 9M17 16L12 18.72L7 16V12.27L12 15L17 12.27V16Z\";\r\nexport var mdiScissorsCutting = \"M11,21H7V19H11V21M15.5,19H17V21H13V19H13.2L11.8,12.9L9.3,13.5C9.2,14 9,14.4 8.8,14.8C7.9,16.3 6,16.7 4.5,15.8C3,14.9 2.6,13 3.5,11.5C4.4,10 6.3,9.6 7.8,10.5C8.2,10.7 8.5,11.1 8.7,11.4L11.2,10.8L10.6,8.3C10.2,8.2 9.8,8 9.4,7.8C8,6.9 7.5,5 8.4,3.5C9.3,2 11.2,1.6 12.7,2.5C14.2,3.4 14.6,5.3 13.7,6.8C13.5,7.2 13.1,7.5 12.8,7.7L15.5,19M7,11.8C6.3,11.3 5.3,11.6 4.8,12.3C4.3,13 4.6,14 5.3,14.4C6,14.9 7,14.7 7.5,13.9C7.9,13.2 7.7,12.2 7,11.8M12.4,6C12.9,5.3 12.6,4.3 11.9,3.8C11.2,3.3 10.2,3.6 9.7,4.3C9.3,5 9.5,6 10.3,6.5C11,6.9 12,6.7 12.4,6M12.8,11.3C12.6,11.2 12.4,11.2 12.3,11.4C12.2,11.6 12.2,11.8 12.4,11.9C12.6,12 12.8,12 12.9,11.8C13.1,11.6 13,11.4 12.8,11.3M21,8.5L14.5,10L15,12.2L22.5,10.4L23,9.7L21,8.5M23,19H19V21H23V19M5,19H1V21H5V19Z\";\r\nexport var mdiScooter = \"M7.82 19H15V18C15 15.79 16.79 14 19 14H19.74L17.84 5.56C17.63 4.65 16.82 4 15.89 4H12V6H15.89L17.29 12.25H17.28C15.12 12.9 13.47 14.73 13.09 17H7.82C7.34 15.66 5.96 14.76 4.4 15.06C3.22 15.29 2.27 16.26 2.05 17.44C1.7 19.34 3.16 21 5 21C6.3 21 7.4 20.16 7.82 19M5 19C4.45 19 4 18.55 4 18S4.45 17 5 17 6 17.45 6 18 5.55 19 5 19M19 15C17.34 15 16 16.34 16 18S17.34 21 19 21 22 19.66 22 18 20.66 15 19 15M19 19C18.45 19 18 18.55 18 18S18.45 17 19 17 20 17.45 20 18 19.55 19 19 19Z\";\r\nexport var mdiScooterElectric = \"M7.82 16H15V15C15 12.79 16.79 11 19 11H19.74L17.84 2.56C17.63 1.65 16.82 1 15.89 1H12V3H15.89L17.29 9.25H17.28C15.12 9.9 13.47 11.73 13.09 14H7.82C7.34 12.66 5.96 11.76 4.4 12.06C3.22 12.29 2.27 13.26 2.05 14.44C1.7 16.34 3.16 18 5 18C6.3 18 7.4 17.16 7.82 16M5 16C4.45 16 4 15.55 4 15S4.45 14 5 14 6 14.45 6 15 5.55 16 5 16M19 12C17.34 12 16 13.34 16 15S17.34 18 19 18 22 16.66 22 15 20.66 12 19 12M19 16C18.45 16 18 15.55 18 15S18.45 14 19 14 20 14.45 20 15 19.55 16 19 16M11 20H7L13 23V21H17L11 18V20Z\";\r\nexport var mdiScoreboard = \"M6 9H8V15H6V9M16 9H18V15H16V9M21 3C22.1 3 23 3.9 23 5V19C23 20.1 22.1 21 21 21H3C1.9 21 1 20.1 1 19V5C1 3.9 1.9 3 3 3H21M5 7C4.4 7 4 7.4 4 8V16C4 16.6 4.4 17 5 17H9C9.6 17 10 16.6 10 16V8C10 7.4 9.6 7 9 7H5M15 7C14.4 7 14 7.4 14 8V16C14 16.6 14.4 17 15 17H19C19.6 17 20 16.6 20 16V8C20 7.4 19.6 7 19 7H15M12 11C12.6 11 13 10.6 13 10C13 9.4 12.6 9 12 9C11.4 9 11 9.4 11 10C11 10.6 11.4 11 12 11M12 15C12.6 15 13 14.6 13 14C13 13.4 12.6 13 12 13C11.4 13 11 13.4 11 14C11 14.6 11.4 15 12 15Z\";\r\nexport var mdiScoreboardOutline = \"M21 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H21C22.1 21 23 20.1 23 19V5C23 3.9 22.1 3 21 3M21 19H3V5H21M5 7H9C9.6 7 10 7.4 10 8V16C10 16.6 9.6 17 9 17H5C4.4 17 4 16.6 4 16V8C4 7.4 4.4 7 5 7M6 9V15H8V9M15 7H19C19.6 7 20 7.4 20 8V16C20 16.6 19.6 17 19 17H15C14.4 17 14 16.6 14 16V8C14 7.4 14.4 7 15 7M16 9V15H18V9M12 11C12.6 11 13 10.6 13 10C13 9.4 12.6 9 12 9C11.4 9 11 9.4 11 10C11 10.6 11.4 11 12 11M12 15C12.6 15 13 14.6 13 14C13 13.4 12.6 13 12 13C11.4 13 11 13.4 11 14C11 14.6 11.4 15 12 15Z\";\r\nexport var mdiScreenRotation = \"M7.5,21.5C4.25,19.94 1.91,16.76 1.55,13H0.05C0.56,19.16 5.71,24 12,24L12.66,23.97L8.85,20.16M14.83,21.19L2.81,9.17L9.17,2.81L21.19,14.83M10.23,1.75C9.64,1.16 8.69,1.16 8.11,1.75L1.75,8.11C1.16,8.7 1.16,9.65 1.75,10.23L13.77,22.25C14.36,22.84 15.31,22.84 15.89,22.25L22.25,15.89C22.84,15.3 22.84,14.35 22.25,13.77L10.23,1.75M16.5,2.5C19.75,4.07 22.09,7.24 22.45,11H23.95C23.44,4.84 18.29,0 12,0L11.34,0.03L15.15,3.84L16.5,2.5Z\";\r\nexport var mdiScreenRotationLock = \"M16.8,2.5C16.8,1.56 17.56,0.8 18.5,0.8C19.44,0.8 20.2,1.56 20.2,2.5V3H16.8V2.5M16,9H21A1,1 0 0,0 22,8V4A1,1 0 0,0 21,3V2.5A2.5,2.5 0 0,0 18.5,0A2.5,2.5 0 0,0 16,2.5V3A1,1 0 0,0 15,4V8A1,1 0 0,0 16,9M8.47,20.5C5.2,18.94 2.86,15.76 2.5,12H1C1.5,18.16 6.66,23 12.95,23L13.61,22.97L9.8,19.15L8.47,20.5M23.25,12.77L20.68,10.2L19.27,11.61L21.5,13.83L15.83,19.5L4.5,8.17L10.17,2.5L12.27,4.61L13.68,3.2L11.23,0.75C10.64,0.16 9.69,0.16 9.11,0.75L2.75,7.11C2.16,7.7 2.16,8.65 2.75,9.23L14.77,21.25C15.36,21.84 16.31,21.84 16.89,21.25L23.25,14.89C23.84,14.3 23.84,13.35 23.25,12.77Z\";\r\nexport var mdiScrewFlatTop = \"M13.5,17V19L12,22L10.5,19L13.5,17M14.5,6.3L13.5,7V6H10.5V9L9.5,9.7V10.7L14.5,7.4V6.3M14.5,10.3L13.5,11V9L10.5,11V13L9.5,13.7V14.7L14.5,11.4V10.3M14.5,14.3L13.5,15V13L10.5,15V17L9.5,17.7V18.7L14.5,15.4V14.3M8,2C8,2 7,2 7,3L10,5H14L17,3C17,3 17,2 16,2C15,2 8,2 8,2Z\";\r\nexport var mdiScrewLag = \"M10,19.3L14,16.6V20L12,22L10,20V19.3M14,12.7L10,15.4V17.4L9,18V19L15,15.1V14L14,14.7V12.7M7,2V5H17V2H7M9,6V9L10,9.7V13.4L9,14V15L15,11.1V10L14,10.7C14,10.7 14,10.3 14,9.7L15,9V6H9Z\";\r\nexport var mdiScrewMachineFlatTop = \"M14.5,7.3L13.5,8V7H10.5V10L9.5,10.7V11.7L14.5,8.4V7.3M14.5,11.3L13.5,12V10L10.5,12V14L9.5,14.7V15.7L14.5,12.4V11.3M14.5,15.3L13.5,16V14L10.5,16V18L9.5,18.7V19.7L14.5,16.4V15.3M8,3C8,3 7,3 7,4L10,6H14L17,4C17,4 17,3 16,3C15,3 8,3 8,3M13.5,18V21H10.5V20L13.5,18Z\";\r\nexport var mdiScrewMachineRoundTop = \"M14.5,7.3L13.5,8V7H10.5V10L9.5,10.7V11.7L14.5,8.4V7.3M14.5,11.3L13.5,12V10L10.5,12V14L9.5,14.7V15.7L14.5,12.4V11.3M14.5,15.3L13.5,16V14L10.5,16V18L9.5,18.7V19.7L14.5,16.4V15.3M7,6H17C17,6 16,3 12,3C8,3 7,6 7,6M13.5,18V21H10.5V20L13.5,18Z\";\r\nexport var mdiScrewRoundTop = \"M13.5,17V19L12,22L10.5,19L13.5,17M14.5,6.3L13.5,7V6H10.5V9L9.5,9.7V10.7L14.5,7.4V6.3M14.5,10.3L13.5,11V9L10.5,11V13L9.5,13.7V14.7L14.5,11.4V10.3M14.5,14.3L13.5,15V13L10.5,15V17L9.5,17.7V18.7L14.5,15.4V14.3M7,5H17C17,5 16,2 12,2C8,2 7,5 7,5Z\";\r\nexport var mdiScrewdriver = \"M18,1.83C17.5,1.83 17,2 16.59,2.41C13.72,5.28 8,11 8,11L9.5,12.5L6,16H4L2,20L4,22L8,20V18L11.5,14.5L13,16C13,16 18.72,10.28 21.59,7.41C22.21,6.5 22.37,5.37 21.59,4.59L19.41,2.41C19,2 18.5,1.83 18,1.83M18,4L20,6L13,13L11,11L18,4Z\";\r\nexport var mdiScript = \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2H8C6.3,2 5,3.3 5,5V16H16V17C16,17.6 16.4,18 17,18H18V5C18,4.4 18.4,4 19,4C19.6,4 20,4.4 20,5V6H22V5C22,3.3 20.7,2 19,2Z\";\r\nexport var mdiScriptOutline = \"M15,20A1,1 0 0,0 16,19V4H8A1,1 0 0,0 7,5V16H5V5A3,3 0 0,1 8,2H19A3,3 0 0,1 22,5V6H20V5A1,1 0 0,0 19,4A1,1 0 0,0 18,5V9L18,19A3,3 0 0,1 15,22H5A3,3 0 0,1 2,19V18H13A2,2 0 0,0 15,20Z\";\r\nexport var mdiScriptText = \"M17.8,20C17.4,21.2 16.3,22 15,22H5C3.3,22 2,20.7 2,19V18H5L14.2,18C14.6,19.2 15.7,20 17,20H17.8M19,2C20.7,2 22,3.3 22,5V6H20V5C20,4.4 19.6,4 19,4C18.4,4 18,4.4 18,5V18H17C16.4,18 16,17.6 16,17V16H5V5C5,3.3 6.3,2 8,2H19M8,6V8H15V6H8M8,10V12H14V10H8Z\";\r\nexport var mdiScriptTextKey = \"M17.8 19C17.4 17.8 16.3 17 15 17C13.3 17 12 18.3 12 20S13.3 23 15 23C16.3 23 17.4 22.2 17.8 21H19V23H21V21H23V19H17.8M15 21.3C14.3 21.3 13.7 20.7 13.7 20S14.3 18.7 15 18.7 16.3 19.3 16.3 20 15.7 21.3 15 21.3M15 15C16.1 15 17.2 15.4 18 16V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2H8C6.3 2 5 3.3 5 5V16H12C12.8 15.4 13.9 15 15 15M8 6H15V8H8V6M8 10H14V12H8V10M10.4 22H5C3.3 22 2 20.7 2 19V18H10.4C10.1 18.6 10 19.3 10 20S10.1 21.4 10.4 22\";\r\nexport var mdiScriptTextKeyOutline = \"M17.8 19C17.4 17.8 16.3 17 15 17C13.3 17 12 18.3 12 20S13.3 23 15 23C16.3 23 17.4 22.2 17.8 21H19V23H21V21H23V19H17.8M15 21.3C14.3 21.3 13.7 20.7 13.7 20S14.3 18.7 15 18.7 16.3 19.3 16.3 20 15.7 21.3 15 21.3M9 10H14V12H9V10M9 6H14V8H9V6M7 5C7 4.4 7.4 4 8 4H16V15.1C16.7 15.3 17.4 15.6 18 16V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2H8C6.3 2 5 3.3 5 5V16H7V5M10 20C10 19.3 10.1 18.6 10.4 18H2V19C2 20.7 3.3 22 5 22H10.4C10.1 21.4 10 20.7 10 20M9 16H12C12.6 15.6 13.3 15.2 14 15.1V14H9V16Z\";\r\nexport var mdiScriptTextOutline = \"M15,20A1,1 0 0,0 16,19V4H8A1,1 0 0,0 7,5V16H5V5A3,3 0 0,1 8,2H19A3,3 0 0,1 22,5V6H20V5A1,1 0 0,0 19,4A1,1 0 0,0 18,5V9L18,19A3,3 0 0,1 15,22H5A3,3 0 0,1 2,19V18H13A2,2 0 0,0 15,20M9,6H14V8H9V6M9,10H14V12H9V10M9,14H14V16H9V14Z\";\r\nexport var mdiScriptTextPlay = \"M13.8 22H5C3.3 22 2 20.7 2 19V18H13.1C13 18.3 13 18.7 13 19C13 20.1 13.3 21.1 13.8 22M13.8 16H5V5C5 3.3 6.3 2 8 2H19C20.7 2 22 3.3 22 5V6H20V5C20 4.4 19.6 4 19 4S18 4.4 18 5V13.1C16.2 13.4 14.7 14.5 13.8 16M8 8H15V6H8V8M8 12H14V10H8V12M17 16V22L22 19L17 16Z\";\r\nexport var mdiScriptTextPlayOutline = \"M9 14H14V15.7C13.9 15.8 13.9 15.9 13.8 16H9V14M9 12H14V10H9V12M9 8H14V6H9V8M7 5C7 4.4 7.4 4 8 4H16V13.8C16.6 13.4 17.3 13.2 18 13.1V5C18 4.4 18.4 4 19 4S20 4.4 20 5V6H22V5C22 3.3 20.7 2 19 2H8C6.3 2 5 3.3 5 5V16H7V5M13 19V18.4 18H2V19C2 20.7 3.3 22 5 22H13.8C13.3 21.1 13 20.1 13 19M17 16V22L22 19L17 16Z\";\r\nexport var mdiSd = \"M18,8H16V4H18M15,8H13V4H15M12,8H10V4H12M18,2H10L4,8V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V4A2,2 0 0,0 18,2Z\";\r\nexport var mdiSeal = \"M20.39,19.37L16.38,18L15,22L11.92,16L9,22L7.62,18L3.61,19.37L6.53,13.37C5.57,12.17 5,10.65 5,9A7,7 0 0,1 12,2A7,7 0 0,1 19,9C19,10.65 18.43,12.17 17.47,13.37L20.39,19.37M7,9L9.69,10.34L9.5,13.34L12,11.68L14.5,13.33L14.33,10.34L17,9L14.32,7.65L14.5,4.67L12,6.31L9.5,4.65L9.67,7.66L7,9Z\";\r\nexport var mdiSealVariant = \"M17.71 6.15C17.46 5.38 16.79 5.21 16.45 4.77C16.14 4.31 16.18 3.62 15.53 3.15S14.23 2.92 13.7 2.77 12.81 2 12 2 10.82 2.58 10.3 2.77 9.13 2.67 8.47 3.15 7.86 4.31 7.55 4.77C7.21 5.21 6.55 5.38 6.29 6.15S6.5 7.45 6.5 8 6 9.08 6.29 9.85 7.21 10.79 7.55 11.23C7.86 11.69 7.82 12.38 8.47 12.85S9.77 13.08 10.3 13.23 11.19 14 12 14 13.18 13.42 13.7 13.23 14.87 13.33 15.53 12.85 16.14 11.69 16.45 11.23C16.79 10.79 17.45 10.62 17.71 9.85S17.5 8.55 17.5 8 18 6.92 17.71 6.15M12 12A4 4 0 1 1 16 8A4 4 0 0 1 12 12M14 8A2 2 0 1 1 12 6A2 2 0 0 1 14 8M13.71 15.56L13.08 19.16L12.35 23.29L9.74 20.8L6.44 22.25L7.77 14.75A4 4 0 0 0 9.66 15.17A4.15 4.15 0 0 0 11 15.85A3.32 3.32 0 0 0 12 16A3.5 3.5 0 0 0 13.71 15.56M17.92 18.78L15.34 17.86L15.85 14.92A3.2 3.2 0 0 0 16.7 14.47L16.82 14.37Z\";\r\nexport var mdiSearchWeb = \"M15.5,14L20.5,19L19,20.5L14,15.5V14.71L13.73,14.43C12.59,15.41 11.11,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,11.11 15.41,12.59 14.43,13.73L14.71,14H15.5M9.5,4.5L8.95,4.53C8.71,5.05 8.34,5.93 8.07,7H10.93C10.66,5.93 10.29,5.05 10.05,4.53C9.87,4.5 9.69,4.5 9.5,4.5M13.83,7C13.24,5.97 12.29,5.17 11.15,4.78C11.39,5.31 11.7,6.08 11.93,7H13.83M5.17,7H7.07C7.3,6.08 7.61,5.31 7.85,4.78C6.71,5.17 5.76,5.97 5.17,7M4.5,9.5C4.5,10 4.58,10.53 4.73,11H6.87L6.75,9.5L6.87,8H4.73C4.58,8.47 4.5,9 4.5,9.5M14.27,11C14.42,10.53 14.5,10 14.5,9.5C14.5,9 14.42,8.47 14.27,8H12.13C12.21,8.5 12.25,9 12.25,9.5C12.25,10 12.21,10.5 12.13,11H14.27M7.87,8L7.75,9.5L7.87,11H11.13C11.21,10.5 11.25,10 11.25,9.5C11.25,9 11.21,8.5 11.13,8H7.87M9.5,14.5C9.68,14.5 9.86,14.5 10.03,14.47C10.28,13.95 10.66,13.07 10.93,12H8.07C8.34,13.07 8.72,13.95 8.97,14.47L9.5,14.5M13.83,12H11.93C11.7,12.92 11.39,13.69 11.15,14.22C12.29,13.83 13.24,13.03 13.83,12M5.17,12C5.76,13.03 6.71,13.83 7.85,14.22C7.61,13.69 7.3,12.92 7.07,12H5.17Z\";\r\nexport var mdiSeat = \"M4,18V21H7V18H17V21H20V15H4V18M19,10H22V13H19V10M2,10H5V13H2V10M17,13H7V5A2,2 0 0,1 9,3H15A2,2 0 0,1 17,5V13Z\";\r\nexport var mdiSeatFlat = \"M22,11V13H9V7H18A4,4 0 0,1 22,11M2,14V16H8V18H16V16H22V14M7.14,12.1C8.3,10.91 8.28,9 7.1,7.86C5.91,6.7 4,6.72 2.86,7.9C1.7,9.09 1.72,11 2.9,12.14C4.09,13.3 6,13.28 7.14,12.1Z\";\r\nexport var mdiSeatFlatAngled = \"M22.25,14.29L21.56,16.18L9.2,11.71L11.28,6.05L19.84,9.14C21.94,9.9 23,12.2 22.25,14.29M1.5,12.14L8,14.5V19H16V17.37L20.5,19L21.21,17.11L2.19,10.25M7.3,10.2C8.79,9.5 9.42,7.69 8.71,6.2C8,4.71 6.2,4.08 4.7,4.8C3.21,5.5 2.58,7.3 3.3,8.8C4,10.29 5.8,10.92 7.3,10.2Z\";\r\nexport var mdiSeatIndividualSuite = \"M7,13A3,3 0 0,0 10,10A3,3 0 0,0 7,7A3,3 0 0,0 4,10A3,3 0 0,0 7,13M19,7H11V14H3V7H1V17H23V11A4,4 0 0,0 19,7Z\";\r\nexport var mdiSeatLegroomExtra = \"M4,12V3H2V12A5,5 0 0,0 7,17H13V15H7A3,3 0 0,1 4,12M22.83,17.24C22.45,16.5 21.54,16.27 20.8,16.61L19.71,17.11L16.3,10.13C15.96,9.45 15.27,9 14.5,9H11V3H5V11A3,3 0 0,0 8,14H15L18.41,21L22.13,19.3C22.9,18.94 23.23,18 22.83,17.24Z\";\r\nexport var mdiSeatLegroomNormal = \"M5,12V3H3V12A5,5 0 0,0 8,17H14V15H8A3,3 0 0,1 5,12M20.5,18H19V11A2,2 0 0,0 17,9H12V3H6V11A3,3 0 0,0 9,14H16V21H20.5A1.5,1.5 0 0,0 22,19.5A1.5,1.5 0 0,0 20.5,18Z\";\r\nexport var mdiSeatLegroomReduced = \"M19.97,19.2C20.15,20.16 19.42,21 18.5,21H14V18L15,14H9A3,3 0 0,1 6,11V3H12V9H17A2,2 0 0,1 19,11L17,18H18.44C19.17,18 19.83,18.5 19.97,19.2M5,12V3H3V12A5,5 0 0,0 8,17H12V15H8A3,3 0 0,1 5,12Z\";\r\nexport var mdiSeatOutline = \"M15,5V12H9V5H15M15,3H9A2,2 0 0,0 7,5V14H17V5A2,2 0 0,0 15,3M22,10H19V13H22V10M5,10H2V13H5V10M20,15H4V21H6V17H18V21H20V15Z\";\r\nexport var mdiSeatPassenger = \"M9 19H15V21H9C6.24 21 4 18.76 4 16V7H6V16C6 17.66 7.34 19 9 19M10.42 5.41C11.2 4.63 11.2 3.36 10.42 2.58C9.64 1.8 8.37 1.8 7.59 2.58C6.81 3.36 6.81 4.63 7.59 5.41C8.37 6.2 9.63 6.2 10.42 5.41M11.5 9C11.5 7.9 10.6 7 9.5 7H9C7.9 7 7 7.9 7 9V15C7 16.66 8.34 18 10 18H15.07L18.57 21.5L20 20.07L14.93 15H11.5L11.5 9Z\";\r\nexport var mdiSeatReclineExtra = \"M5.35,5.64C4.45,5 4.23,3.76 4.86,2.85C5.5,1.95 6.74,1.73 7.65,2.36C8.55,3 8.77,4.24 8.14,5.15C7.5,6.05 6.26,6.27 5.35,5.64M16,19H8.93C7.45,19 6.19,17.92 5.97,16.46L4,7H2L4,16.76C4.37,19.2 6.47,21 8.94,21H16M16.23,15H11.35L10.32,10.9C11.9,11.79 13.6,12.44 15.47,12.12V10C13.84,10.3 12.03,9.72 10.78,8.74L9.14,7.47C8.91,7.29 8.65,7.17 8.38,7.09C8.06,7 7.72,6.97 7.39,7.03H7.37C6.14,7.25 5.32,8.42 5.53,9.64L6.88,15.56C7.16,17 8.39,18 9.83,18H16.68L20.5,21L22,19.5\";\r\nexport var mdiSeatReclineNormal = \"M7.59,5.41C6.81,4.63 6.81,3.36 7.59,2.58C8.37,1.8 9.64,1.8 10.42,2.58C11.2,3.36 11.2,4.63 10.42,5.41C9.63,6.2 8.37,6.2 7.59,5.41M6,16V7H4V16A5,5 0 0,0 9,21H15V19H9A3,3 0 0,1 6,16M20,20.07L14.93,15H11.5V11.32C12.9,12.47 15.1,13.5 17,13.5V11.32C15.34,11.34 13.39,10.45 12.33,9.28L10.93,7.73C10.74,7.5 10.5,7.35 10.24,7.23C9.95,7.09 9.62,7 9.28,7H9.25C8,7 7,8 7,9.25V15A3,3 0 0,0 10,18H15.07L18.57,21.5\";\r\nexport var mdiSeatbelt = \"M12,2C13.11,2 14,2.9 14,4C14,5.11 13.11,6 12,6A2,2 0 0,1 10,4A2,2 0 0,1 12,2M12.39,14.79C14.03,14.79 15.46,14.89 16.64,15.04C16.7,12.32 16.46,9.92 16,9C15.87,8.73 15.69,8.5 15.5,8.3L7.43,15.22C8.79,15 10.5,14.79 12.39,14.79M7.46,17C7.59,18.74 7.85,20.5 8.27,22H10.34C10.05,21.12 9.84,20.09 9.68,19C9.68,19 12,18.56 14.32,19C14.16,20.09 13.95,21.12 13.66,22H15.73C16.17,20.45 16.43,18.61 16.56,16.79C15.41,16.65 14,16.54 12.39,16.54C10.46,16.54 8.78,16.75 7.46,17M12,7C12,7 9,7 8,9C7.66,9.68 7.44,11.15 7.37,12.96L13.92,7.34C12.93,7 12,7 12,7M18.57,5.67L17.43,4.34L13.92,7.35C14.47,7.54 15.05,7.84 15.5,8.3L18.57,5.67M20.67,15.83C20.58,15.8 19.14,15.33 16.64,15.04C16.63,15.61 16.6,16.2 16.56,16.79C18.81,17.07 20.1,17.5 20.12,17.5L20.67,15.83M7.37,12.96L3.43,16.34L4.32,17.82C4.34,17.81 5.5,17.36 7.46,17C7.35,15.59 7.32,14.2 7.37,12.96Z\";\r\nexport var mdiSecurity = \"M12,12H19C18.47,16.11 15.72,19.78 12,20.92V12H5V6.3L12,3.19M12,1L3,5V11C3,16.55 6.84,21.73 12,23C17.16,21.73 21,16.55 21,11V5L12,1Z\";\r\nexport var mdiSecurityNetwork = \"M13,19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17.34C8.07,16.13 6,13 6,9.67V5.67L12,3L18,5.67V9.67C18,13 15.93,16.13 13,17.34V19M12,5L8,6.69V10H12V5M12,10V16C13.91,15.53 16,13.06 16,11V10H12Z\";\r\nexport var mdiSeed = \"M20.7,3.3C20.7,3.3 19.3,3 17.2,3C11.7,3 1.6,5.1 3.2,20.8C4.3,20.9 5.4,21 6.4,21C24.3,21 20.7,3.3 20.7,3.3M7,17C7,17 7,7 17,7C17,7 11,9 7,17Z\";\r\nexport var mdiSeedOff = \"M22.1 21.5L2.4 1.7L1.1 3L5.9 7.8C3.8 10.5 2.6 14.6 3.2 20.8C4.3 20.9 5.4 21 6.4 21C10.9 21 14.1 19.9 16.3 18.2L20.9 22.8L22.1 21.5M7 17C7 17 7 13.7 8.9 10.8L10.2 12.1C9.1 13.4 8 15 7 17M11.6 8.4L8.5 5.3C11.3 3.4 14.7 3 17.2 3C19.3 3 20.7 3.3 20.7 3.3S22.1 10.3 18.7 15.5L12.8 9.6C15.1 7.6 17 7 17 7C14.7 7 12.9 7.5 11.6 8.4Z\";\r\nexport var mdiSeedOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L5.9 7.8C3.8 10.5 2.6 14.6 3.2 20.8C4.3 20.9 5.4 21 6.4 21C10.9 21 14.1 19.9 16.3 18.2L20.9 22.8L22.1 21.5M6.4 19H5.1C4.9 14.8 5.6 11.5 7.3 9.2L8.9 10.8C7 13.7 7 17 7 17C8 15 9.1 13.4 10.2 12.1L14.8 16.7C12.8 18.2 10 19 6.4 19M10 6.8L8.5 5.3C11.3 3.4 14.7 3 17.2 3C19.3 3 20.7 3.3 20.7 3.3S22.1 10.3 18.7 15.5L17.2 14C19.1 10.9 19 7.1 18.9 5.1C18.4 5 17.8 5 17.2 5C15.1 5 12.3 5.3 10 6.8M12.8 9.6L11.6 8.4C12.9 7.5 14.7 7 17 7C17 7 15.1 7.6 12.8 9.6Z\";\r\nexport var mdiSeedOutline = \"M17.2,5V5C17.8,5 18.4,5 18.9,5.1C19.1,7.4 19.1,12 16.4,15.2C14.4,17.7 11,19 6.4,19C6,19 5.5,19 5.1,19C4.9,14.4 5.8,10.8 7.9,8.5C10.4,5.6 14.4,5 17.2,5M17.2,3C11.7,3 1.6,5.1 3.2,20.8C4.3,20.9 5.4,21 6.4,21C24.3,21 20.7,3.3 20.7,3.3C20.7,3.3 19.3,3 17.2,3M17,7C7,7 7,17 7,17C11,9 17,7 17,7Z\";\r\nexport var mdiSeedPlus = \"M17 17H14V19H17V22H19V19H22V17H19V14H17V17M12 18C12 14.69 14.69 12 18 12C18.77 12 19.5 12.15 20.17 12.41C21.63 7.9 20.7 3.3 20.7 3.3S19.3 3 17.2 3C11.7 3 1.6 5.1 3.2 20.8C4.3 20.9 5.4 21 6.4 21C8.76 21 10.74 20.69 12.41 20.15C12.15 19.5 12 18.76 12 18M7 17C7 17 7 7 17 7C17 7 11 9 7 17Z\";\r\nexport var mdiSeedPlusOutline = \"M17.2 5C17.8 5 18.4 5 18.9 5.1C19.04 6.7 19.08 9.42 18.18 12C18.89 12 19.56 12.17 20.18 12.41C21.64 7.9 20.7 3.3 20.7 3.3S19.3 3 17.2 3C11.7 3 1.6 5.1 3.2 20.8C4.3 20.9 5.4 21 6.4 21C8.75 21 10.74 20.69 12.4 20.16C12.16 19.54 12 18.87 12 18.17C10.41 18.72 8.53 19 6.4 19H5.1C4.9 14.4 5.8 10.8 7.9 8.5C10.4 5.6 14.4 5 17.2 5M17 7C7 7 7 17 7 17C11 9 17 7 17 7M17 17H14V19H17V22H19V19H22V17H19V14H17V17Z\";\r\nexport var mdiSeesaw = \"M21.68 13.26L22.04 15.23L2.35 18.77L2 16.8L4.95 16.27L4.6 14.3C4.5 13.76 4.86 13.24 5.41 13.14C5.95 13.04 6.47 13.4 6.57 13.95L6.92 15.91L16.76 14.15L16.41 12.18C16.31 11.63 16.67 11.11 17.22 11C17.76 10.92 18.28 11.28 18.38 11.82L18.73 13.79L21.68 13.26M10.06 18.4L8 22H16L13.58 17.77L10.06 18.4Z\";\r\nexport var mdiSegment = \"M21,8H3V6H21M9,13H21V11H9M9,18H21V16H9\";\r\nexport var mdiSelect = \"M4,3H5V5H3V4A1,1 0 0,1 4,3M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M21,20A1,1 0 0,1 20,21H19V19H21V20M15,21V19H17V21H15M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M3,7H5V9H3V7M21,7V9H19V7H21Z\";\r\nexport var mdiSelectAll = \"M9,9H15V15H9M7,17H17V7H7M15,5H17V3H15M15,21H17V19H15M19,17H21V15H19M19,9H21V7H19M19,21A2,2 0 0,0 21,19H19M19,13H21V11H19M11,21H13V19H11M9,3H7V5H9M3,17H5V15H3M5,21V19H3A2,2 0 0,0 5,21M19,3V5H21A2,2 0 0,0 19,3M13,3H11V5H13M3,9H5V7H3M7,21H9V19H7M3,13H5V11H3M3,5H5V3A2,2 0 0,0 3,5Z\";\r\nexport var mdiSelectArrowDown = \"M4 3H5V5H3V4C3 3.4 3.4 3 4 3M20 3C20.6 3 21 3.4 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.4 21 3 20.6 3 20V19H5V21H4M3 15H5V17H3V15M3 11H5V13H3V11M21 11V13H19V11H21M3 7H5V9H3V7M21 7V9H19V7H21M19 22L22 19H20V15H18V19H16L19 22Z\";\r\nexport var mdiSelectArrowUp = \"M4 3H5V5H3V4C3 3.4 3.4 3 4 3M20 3C20.6 3 21 3.4 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.4 21 3 20.6 3 20V19H5V21H4M3 15H5V17H3V15M3 11H5V13H3V11M21 11V13H19V11H21M3 7H5V9H3V7M21 7V9H19V7H21M19 15L16 18H18V22H20V18H22L19 15Z\";\r\nexport var mdiSelectColor = \"M3.88,3C3.38,3.06 3,3.5 3,4V4L3,5H4L5,5V4L5,3H4L3.88,3M7,3V5H9V3H7M11,3V5H13V3H11M15,3V5H17V3H15M19,3V4L19,5H20L21,5V4L21,3.88C20.94,3.38 20.5,3 20,3H19M3,7V9H5V7H3M19,7V9H21V7H19M3,11V13H5V11H3M19.31,12C19.18,12 19.05,12.05 18.95,12.14L17.39,13.71L16.43,12.75L15.72,13.46L16.43,14.17L11.97,18.63V21H14.35L18.8,16.54L19.5,17.25L20.22,16.54L19.26,15.58L20.82,14.03C21,13.83 21,13.5 20.82,13.31L19.65,12.14C19.56,12.05 19.44,12 19.31,12M3,15V17H5V15H3M17,15L17.97,15.97L13.93,20L12.97,19.04L17,15M3,19V20L3,20.12C3.06,20.62 3.5,21 4,21V21H5V20L5,19H4L3,19M7,19V21H9V19H7Z\";\r\nexport var mdiSelectCompare = \"M13,23H11V1H13V23M9,19H5V5H9V3H5C3.89,3 3,3.89 3,5V19C3,20.11 3.9,21 5,21H9V19M19,7V9H21V7H19M19,5H21C21,3.89 20.1,3 19,3V5M21,15H19V17H21V15M19,11V13H21V11H19M17,3H15V5H17V3M19,21C20.11,21 21,20.11 21,19H19V21M17,19H15V21H17V19Z\";\r\nexport var mdiSelectDrag = \"M13,17H17V13H19V17H23V19H19V23H17V19H13V17M11,17V19H9V17H11M7,17V19H5V17H7M19,9V11H17V9H19M19,5V7H17V5H19M15,5V7H13V5H15M11,5V7H9V5H11M7,5V7H5V5H7M7,13V15H5V13H7M7,9V11H5V9H7Z\";\r\nexport var mdiSelectGroup = \"M5 3A2 2 0 0 0 3 5H5M7 3V5H9V3M11 3V5H13V3M15 3V5H17V3M19 3V5H21A2 2 0 0 0 19 3M3 7V9H5V7M7 7V11H11V7M13 7V11H17V7M19 7V9H21V7M3 11V13H5V11M19 11V13H21V11M7 13V17H11V13M13 13V17H17V13M3 15V17H5V15M19 15V17H21V15M3 19A2 2 0 0 0 5 21V19M7 19V21H9V19M11 19V21H13V19M15 19V21H17V19M19 19V21A2 2 0 0 0 21 19Z\";\r\nexport var mdiSelectInverse = \"M5,3H7V5H9V3H11V5H13V3H15V5H17V3H19V5H21V7H19V9H21V11H19V13H21V15H19V17H21V19H19V21H17V19H15V21H13V19H11V21H9V19H7V21H5V19H3V17H5V15H3V13H5V11H3V9H5V7H3V5H5V3Z\";\r\nexport var mdiSelectMarker = \"M4 3H5V5H3V4C3 3.45 3.45 3 4 3M20 3C20.55 3 21 3.45 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.45 21 3 20.55 3 20V19H5V21H4M3 15H5V17H3V15M3 11H5V13H3V11M3 7H5V9H3V7M21 7V9H19V7H21M19.5 13C21.4 13 23 14.6 23 16.5C23 19.1 19.5 23 19.5 23C19.5 23 16 19.1 16 16.5C16 14.6 17.6 13 19.5 13M19.5 17.8C20.2 17.8 20.8 17.2 20.7 16.6C20.7 16 20.1 15.4 19.5 15.4C18.9 15.4 18.3 15.9 18.3 16.6C18.3 17.2 18.8 17.8 19.5 17.8Z\";\r\nexport var mdiSelectMultiple = \"M18 12H20V14H18V12M14 16H16V18H14V16M20 17C20 17.55 19.55 18 19 18H18V16H20V17M7 4H8V6H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V6H18V4H19M14 6V4H16V6H14M10 6V4H12V6H10M10 18V16H12V18H10M7 18C6.45 18 6 17.55 6 17V16H8V18H7M6 12H8V14H6V12M6 8H8V10H6V8M20 8V10H18V8H20M3 8H4V20H16V21C16 21.54 15.57 22 15.03 22H15L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8Z\";\r\nexport var mdiSelectMultipleMarker = \"M7 4H8V6H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V6H18V4H19M14 6V4H16V6H14M10 6V4H12V6H10M10 18V16H12V18H10M7 18C6.45 18 6 17.55 6 17V16H8V18H7M6 12H8V14H6V12M6 8H8V10H6V8M20 8V10H18V8H20M3 8H4V20H14.58L16.03 22L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8Z\";\r\nexport var mdiSelectOff = \"M1,4.27L2.28,3L21,21.72L19.73,23L17,20.27V21H15V19H15.73L5,8.27V9H3V7H3.73L1,4.27M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M21,7V9H19V7H21Z\";\r\nexport var mdiSelectPlace = \"M4 3H5V5H3V4C3 3.5 3.5 3 4 3M20 3C20.5 3 21 3.5 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7M21 12C21 12.5 20.5 13 20 13H19V11H21V12M15 13V11H17V13H15M11 13V11H13V13H11M7 13V11H9V13H7M4 13C3.5 13 3 12.5 3 12V11H5V13H4M3 7H5V9H3V7M21 7V9H19V7H21M7 16L12 21L17 16H7Z\";\r\nexport var mdiSelectRemove = \"M21 20C21 20.55 20.55 21 20 21H19V19H21V20M15 21V19H17V21H15M11 21V19H13V21H11M7 21V19H9V21H7M4 21C3.45 21 3 20.55 3 20V19H5V21H4M3 15H5V17H3V15M21 15V17H19V15H21M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M3 11H5V13H3V11M21 11V13H19V11H21M3 7H5V9H3V7M21 7V9H19V7H21M4 3H5V5H3V4C3 3.45 3.45 3 4 3M20 3C20.55 3 21 3.45 21 4V5H19V3H20M15 5V3H17V5H15M11 5V3H13V5H11M7 5V3H9V5H7Z\";\r\nexport var mdiSelectSearch = \"M19.31 18.9C19.75 18.21 20 17.38 20 16.5C20 14 18 12 15.5 12S11 14 11 16.5 13 21 15.5 21C16.37 21 17.19 20.75 17.88 20.32L21 23.39L22.39 22L19.31 18.9M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M21 9H19V7H21V9M21 5H19V3H20C20.55 3 21 3.45 21 4V5M19 11.03V11H21V13H20.97C20.46 12.21 19.79 11.54 19 11.03M17 5H15V3H17V5M13 5H11V3H13V5M3 7H5V9H3V7M7 19H9V21H7V19M3 11H5V13H3V11M4 3H5V5H3V4C3 3.45 3.45 3 4 3M9 5H7V3H9V5M3 19H5V21H4C3.45 21 3 20.55 3 20V19M3 15H5V17H3V15Z\";\r\nexport var mdiSelection = \"M2,4C2,2.89 2.9,2 4,2H7V4H4V7H2V4M22,4V7H20V4H17V2H20A2,2 0 0,1 22,4M20,20V17H22V20C22,21.11 21.1,22 20,22H17V20H20M2,20V17H4V20H7V22H4A2,2 0 0,1 2,20M10,2H14V4H10V2M10,20H14V22H10V20M20,10H22V14H20V10M2,10H4V14H2V10Z\";\r\nexport var mdiSelectionDrag = \"M14,17H17V14H19V17H22V19H19V22H17V19H14V17M12,17V19H9V17H12M7,17V19H3V15H5V17H7M3,13V10H5V13H3M3,8V4H7V6H5V8H3M9,4H12V6H9V4M15,4H19V8H17V6H15V4M19,10V12H17V10H19Z\";\r\nexport var mdiSelectionEllipse = \"M6.35,20.25L7.56,18.66C8.42,19.23 9.39,19.64 10.43,19.85L10.16,21.83C8.77,21.57 7.5,21 6.35,20.25M16.43,18.66L17.64,20.26C16.5,21.03 15.23,21.57 13.84,21.83L13.57,19.85C14.61,19.64 15.57,19.23 16.43,18.66M19.84,13.59L21.83,13.86C21.57,15.25 21,16.54 20.24,17.66L18.65,16.45C19.22,15.6 19.63,14.63 19.84,13.59M2.17,13.84L4.15,13.57C4.36,14.61 4.77,15.58 5.34,16.44L3.75,17.65C3,16.5 2.43,15.23 2.17,13.84M18.66,7.56L20.25,6.35C21.03,7.5 21.58,8.78 21.83,10.18L19.85,10.45C19.64,9.4 19.23,8.42 18.66,7.56M13.57,4.15L13.84,2.17C15.23,2.43 16.5,3 17.65,3.75L16.44,5.34C15.58,4.77 14.61,4.36 13.57,4.15M7.56,5.34L6.35,3.75C7.5,3 8.77,2.43 10.16,2.17L10.43,4.15C9.39,4.36 8.42,4.77 7.56,5.34M4.15,10.43L2.17,10.16C2.43,8.77 3,7.5 3.75,6.35L5.34,7.56C4.77,8.42 4.36,9.39 4.15,10.43Z\";\r\nexport var mdiSelectionEllipseArrowInside = \"M11.2 4C9.94 4.12 8.72 4.53 7.64 5.2L6.64 3.47C7.95 2.64 9.45 2.13 11 2M17.53 6.25C16.62 5.39 15.53 4.73 14.34 4.33L15 2.39C16.5 2.84 17.89 3.66 19 4.78M5.34 7.41C4.64 8.44 4.19 9.6 4 10.83L2 10.55C2.2 9 2.79 7.5 3.7 6.23M22 12V12.66L20 12.5V12C20 10.92 19.81 9.86 19.39 8.86L21.22 8.06C21.75 9.31 22 10.65 22 12M6 17.3L4.5 18.61C3.47 17.43 2.72 16.04 2.3 14.53L4.17 14C4.53 15.22 5.16 16.35 6 17.3M12.14 22H12C10.5 22 9 21.68 7.64 21.07L8.53 19.24C9.62 19.75 10.8 20 12 20H12.19M17 21H15V15H21V17H18.42L21.14 19.76L19.73 21.17L17 18.5\";\r\nexport var mdiSelectionEllipseRemove = \"M6.35 20.25L7.56 18.66C8.42 19.23 9.39 19.64 10.43 19.85L10.16 21.83C8.77 21.57 7.5 21 6.35 20.25M16.43 18.66L17.64 20.26C16.5 21.03 15.23 21.57 13.84 21.83L13.57 19.85C14.61 19.64 15.57 19.23 16.43 18.66M19.84 13.59L21.83 13.86C21.57 15.25 21 16.54 20.24 17.66L18.65 16.45C19.22 15.6 19.63 14.63 19.84 13.59M2.17 13.84L4.15 13.57C4.36 14.61 4.77 15.58 5.34 16.44L3.75 17.65C3 16.5 2.43 15.23 2.17 13.84M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M18.66 7.56L20.25 6.35C21.03 7.5 21.58 8.78 21.83 10.18L19.85 10.45C19.64 9.4 19.23 8.42 18.66 7.56M4.15 10.43L2.17 10.16C2.43 8.77 3 7.5 3.75 6.35L5.34 7.56C4.77 8.42 4.36 9.39 4.15 10.43M13.57 4.15L13.84 2.17C15.23 2.43 16.5 3 17.65 3.75L16.44 5.34C15.58 4.77 14.61 4.36 13.57 4.15M7.56 5.34L6.35 3.75C7.5 3 8.77 2.43 10.16 2.17L10.43 4.15C9.39 4.36 8.42 4.77 7.56 5.34Z\";\r\nexport var mdiSelectionMarker = \"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\";\r\nexport var mdiSelectionMultiple = \"M11 6V4H15V6H11M6 9H8V13H6V9M6 6C6 4.89 6.9 4 8 4H9V6H8V7H6V6M8 18C6.89 18 6 17.1 6 16V15H8V16H9V18H8M18 4C19.11 4 20 4.9 20 6V7H18V6H17V4H18M15 16V18H11V16H15M20 13H18V9H20V13M20 16C20 17.11 19.1 18 18 18H17V16H18V15H20V16M3 8H4V20H16V21C16 21.54 15.57 22 15.03 22H15L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8Z\";\r\nexport var mdiSelectionMultipleMarker = \"M7 4H9V6H8V7H6V5C6 4.45 6.45 4 7 4M19 4C19.55 4 20 4.45 20 5V7H18V6H17V4H19M11 6V4H15V6H11M7 18C6.45 18 6 17.55 6 17V15H8V16H9V18H7M6 9H8V13H6V9M3 8H4V20H14.58L16.03 22L3 22C2.45 22 2 21.55 2 21V9C2 8.45 2.45 8 3 8M18.5 12C20.4 12 22 13.6 22 15.5C22 18.1 18.5 22 18.5 22C18.5 22 15 18.1 15 15.5C15 13.6 16.6 12 18.5 12M18.5 16.8C19.2 16.8 19.8 16.2 19.7 15.6C19.7 15 19.1 14.4 18.5 14.4C17.9 14.4 17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8M11 18V16H13C13.09 16.66 13.27 17.33 13.5 18H11M20 9V10.23C19.5 10.08 19 10 18.5 10L18 10.03V9H20Z\";\r\nexport var mdiSelectionOff = \"M0.5,3.77L1.78,2.5L21.5,22.22L20.23,23.5L18.73,22H17V20.27L3.73,7H2V5.27L0.5,3.77M4,2H7V4H5.82L3.83,2H4M22,4V7H20V4H17V2H20A2,2 0 0,1 22,4M20,17H22V20L22,20.17L20,18.18V17M2,20V17H4V20H7V22H4A2,2 0 0,1 2,20M10,2H14V4H10V2M10,20H14V22H10V20M20,10H22V14H20V10M2,10H4V14H2V10Z\";\r\nexport var mdiSelectionRemove = \"M20 20V17H22V20C22 21.11 21.1 22 20 22H17V20H20M2 20V17H4V20H7V22H4C2.9 22 2 21.1 2 20M10 20H14V22H10V20M14.59 8L12 10.59L9.41 8L8 9.41L10.59 12L8 14.59L9.41 16L12 13.41L14.59 16L16 14.59L13.41 12L16 9.41L14.59 8M20 10H22V14H20V10M2 10H4V14H2V10M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.9 22 4M10 2H14V4H10V2Z\";\r\nexport var mdiSelectionSearch = \"M19.27 18.9C19.7 18.21 19.95 17.38 19.95 16.5C19.95 14 17.95 12 15.46 12S10.96 14 10.96 16.5 12.96 21 15.46 21C16.33 21 17.15 20.75 17.84 20.32L20.96 23.39L22.35 22L19.27 18.9M15.46 19C14.07 19 12.96 17.88 12.96 16.5S14.07 14 15.46 14 17.95 15.12 17.95 16.5 16.84 19 15.46 19M22 14H21.45C21.12 13.19 20.62 12.47 20 11.86V10H22V14M20 4H17V2H20C21.11 2 22 2.9 22 4V7H20V4M14 4H10V2H14V4M4 2H7V4H4V7H2V4C2 2.89 2.9 2 4 2M12 22H10V20C10.5 20.82 11.2 21.5 12 22M4 20H7V22H4C2.9 22 2 21.11 2 20V17H4V20M4 14H2V10H4V14Z\";\r\nexport var mdiSemanticWeb = \"M12.9 4.22C18.73 6.84 20 2 20 2S18.89 8.07 13.79 10.55C12.75 11.06 12.1 11.33 12.1 11.33L3.73 7.25L12.1 3.82C12.1 3.82 11.9 3.76 12.9 4.22M11.12 22L3.33 17.78V9.07L11.12 13.04V22M12.88 22L20.68 17.78V9.07L12.88 13.04V22Z\";\r\nexport var mdiSend = \"M2,21L23,12L2,3V10L17,12L2,14V21Z\";\r\nexport var mdiSendCheck = \"M2 3V10L17 12L2 14V21L23 12M22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17Z\";\r\nexport var mdiSendCheckOutline = \"M2 3V10L17 12L2 14V21L23 12M4 6.03L11.53 9.25L4 8.25M11.53 14.75L4 17.97V15.75M22 15.5L18.5 19L16.5 17L15 18.5L18.5 22L23.5 17Z\";\r\nexport var mdiSendCircle = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M8,7.71V11.05L15.14,12L8,12.95V16.29L18,12L8,7.71Z\";\r\nexport var mdiSendCircleOutline = \"M8,7.71L18,12L8,16.29V12.95L15.14,12L8,11.05V7.71M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiSendClock = \"M2 3V10L11 12L2 14V21L9.27 17.89A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 16 9L2 3M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15Z\";\r\nexport var mdiSendClockOutline = \"M2 3V10L11 12L2 14V21L9.27 17.89A7 7 0 0 0 16 23A7 7 0 0 0 23 16A7 7 0 0 0 16 9L2 3M4 6.03L12.78 9.8A7 7 0 0 0 12.1 10.2L4 8.4V6.03M16 11A5 5 0 0 1 21 16A5 5 0 0 1 16 21A5 5 0 0 1 11 16A5 5 0 0 1 16 11M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15M9.18 14.45A7 7 0 0 0 9 15.82L4 17.97V15.6L9.18 14.45Z\";\r\nexport var mdiSendLock = \"M23,18V17.5A2.5,2.5 0 0,0 20.5,15A2.5,2.5 0 0,0 18,17.5V18A1,1 0 0,0 17,19V23A1,1 0 0,0 18,24H23A1,1 0 0,0 24,23V19A1,1 0 0,0 23,18M22,18H19V17.5A1.5,1.5 0 0,1 20.5,16A1.5,1.5 0 0,1 22,17.5V18M23,12L2,21V14L17,12L2,10V3L23,12Z\";\r\nexport var mdiSendLockOutline = \"M23 18V17.5C23 16.12 21.88 15 20.5 15S18 16.12 18 17.5V18C17.45 18 17 18.45 17 19V23C17 23.55 17.45 24 18 24H23C23.55 24 24 23.55 24 23V19C24 18.45 23.55 18 23 18M22 18H19V17.5C19 16.67 19.67 16 20.5 16S22 16.67 22 17.5V18M4 6.03L11.5 9.25L4 8.25L4 6.03M11.5 14.75L4 17.97V15.75L11.5 14.75M2 3L2 10L17 12L2 14L2 21L23 12L2 3Z\";\r\nexport var mdiSendOutline = \"M4 6.03L11.5 9.25L4 8.25L4 6.03M11.5 14.75L4 17.97V15.75L11.5 14.75M2 3L2 10L17 12L2 14L2 21L23 12L2 3Z\";\r\nexport var mdiSendVariant = \"M3 20V14L11 12L3 10V4L22 12Z\";\r\nexport var mdiSendVariantClock = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M3 20V14L10.11 12.22C10.19 12.09 10.28 11.97 10.37 11.84L3 10V4L15.03 9.07C15.35 9 15.67 9 16 9C17.86 9 19.64 9.74 20.95 11.05C21.2 11.3 21.43 11.57 21.63 11.85L22 12L21.8 12.08C22.58 13.23 23 14.59 23 16C23 19.87 19.86 23 16 23C14.14 23 12.36 22.26 11.05 20.95C10.08 20 9.42 18.74 9.14 17.41L3 20M20.85 16C20.85 13.32 18.67 11.15 16 11.15C14.71 11.15 13.5 11.66 12.57 12.57C11.66 13.5 11.15 14.71 11.15 16C11.15 18.68 13.32 20.85 16 20.85C16.64 20.85 17.27 20.73 17.86 20.5C18.44 20.24 19 19.88 19.43 19.43C19.88 19 20.24 18.44 20.5 17.86C20.73 17.27 20.85 16.64 20.85 16Z\";\r\nexport var mdiSendVariantClockOutline = \"M15 16.69V13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69M21.63 11.85L22 12L21.8 12.08C22.58 13.23 23 14.59 23 16C23 19.87 19.86 23 16 23C14.14 23 12.36 22.26 11.05 20.95C10.08 20 9.42 18.74 9.14 17.41L3 20V4L15.03 9.07C15.35 9 15.67 9 16 9C17.86 9 19.64 9.74 20.95 11.05C21.2 11.3 21.43 11.57 21.63 11.85M12.28 10.07L5 7V10.5L10.37 11.84C10.89 11.14 11.54 10.54 12.28 10.07M10.11 12.22L5 13.5V17L9.04 15.3C9.15 14.17 9.53 13.13 10.11 12.22M20.85 16C20.85 13.32 18.67 11.15 16 11.15C14.71 11.15 13.5 11.66 12.57 12.57C11.66 13.5 11.15 14.71 11.15 16C11.15 18.68 13.32 20.85 16 20.85C16.64 20.85 17.27 20.73 17.86 20.5C18.44 20.24 19 19.88 19.43 19.43C19.88 19 20.24 18.44 20.5 17.86C20.73 17.27 20.85 16.64 20.85 16Z\";\r\nexport var mdiSendVariantOutline = \"M3 20V4L22 12M5 17L16.85 12L5 7V10.5L11 12L5 13.5M5 17V7 13.5Z\";\r\nexport var mdiSerialPort = \"M7,3H17V5H19V8H16V14H8V8H5V5H7V3M17,9H19V14H17V9M11,15H13V22H11V15M5,9H7V14H5V9Z\";\r\nexport var mdiServer = \"M4,1H20A1,1 0 0,1 21,2V6A1,1 0 0,1 20,7H4A1,1 0 0,1 3,6V2A1,1 0 0,1 4,1M4,9H20A1,1 0 0,1 21,10V14A1,1 0 0,1 20,15H4A1,1 0 0,1 3,14V10A1,1 0 0,1 4,9M4,17H20A1,1 0 0,1 21,18V22A1,1 0 0,1 20,23H4A1,1 0 0,1 3,22V18A1,1 0 0,1 4,17M9,5H10V3H9V5M9,13H10V11H9V13M9,21H10V19H9V21M5,3V5H7V3H5M5,11V13H7V11H5M5,19V21H7V19H5Z\";\r\nexport var mdiServerMinus = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M8,16H16V18H8V16Z\";\r\nexport var mdiServerMinusOutline = \"M8 17H16V19H8V17M2 5.6V10.4C2 11.3 2.5 12 3.2 12H20.9C21.5 12 22.1 11.3 22.1 10.4V5.6C22 4.7 21.5 4 20.8 4H3.2C2.5 4 2 4.7 2 5.6M10 9V7H9V9H10M5 9H7V7H5V9M20 10H4V6H20V10Z\";\r\nexport var mdiServerNetwork = \"M13,19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H4A1,1 0 0,1 3,16V12A1,1 0 0,1 4,11H20A1,1 0 0,1 21,12V16A1,1 0 0,1 20,17H13V19M4,3H20A1,1 0 0,1 21,4V8A1,1 0 0,1 20,9H4A1,1 0 0,1 3,8V4A1,1 0 0,1 4,3M9,7H10V5H9V7M9,15H10V13H9V15M5,5V7H7V5H5M5,13V15H7V13H5Z\";\r\nexport var mdiServerNetworkOff = \"M13,19H14A1,1 0 0,1 15,20H15.73L13,17.27V19M22,20V21.18L20.82,20H22M21,22.72L19.73,24L17.73,22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H4A1,1 0 0,1 3,16V12A1,1 0 0,1 4,11H6.73L4.73,9H4A1,1 0 0,1 3,8V7.27L1,5.27L2.28,4L21,22.72M4,3H20A1,1 0 0,1 21,4V8A1,1 0 0,1 20,9H9.82L7,6.18V5H5.82L3.84,3C3.89,3 3.94,3 4,3M20,11A1,1 0 0,1 21,12V16A1,1 0 0,1 20,17H17.82L11.82,11H20M9,7H10V5H9V7M9,15H10V14.27L9,13.27V15M5,13V15H7V13H5Z\";\r\nexport var mdiServerNetworkOutline = \"M13 13V15H14C14.6 15 15 15.4 15 16H22V18H15C15 18.6 14.6 19 14 19H10C9.4 19 9 18.6 9 18H2V16H9C9 15.4 9.4 15 10 15H11V13H3.2C2.5 13 2 12.3 2 11.4V6.6C2 5.7 2.5 5 3.2 5H20.8C21.5 5 22 5.7 22 6.6V11.4C22 12.3 21.5 13 20.8 13H13M9 10V8H10V10H9M5 8H7V10H5V8M20 7H4V11H20V7Z\";\r\nexport var mdiServerOff = \"M4,1H20A1,1 0 0,1 21,2V6A1,1 0 0,1 20,7H8.82L6.82,5H7V3H5V3.18L3.21,1.39C3.39,1.15 3.68,1 4,1M22,22.72L20.73,24L19.73,23H4A1,1 0 0,1 3,22V18A1,1 0 0,1 4,17H13.73L11.73,15H4A1,1 0 0,1 3,14V10A1,1 0 0,1 4,9H5.73L3.68,6.95C3.38,6.85 3.15,6.62 3.05,6.32L1,4.27L2.28,3L22,22.72M20,9A1,1 0 0,1 21,10V14A1,1 0 0,1 20,15H16.82L10.82,9H20M20,17A1,1 0 0,1 21,18V19.18L18.82,17H20M9,5H10V3H9V5M9,13H9.73L9,12.27V13M9,21H10V19H9V21M5,11V13H7V11H5M5,19V21H7V19H5Z\";\r\nexport var mdiServerOutline = \"M2 4.6V9.4C2 10.3 2.5 11 3.2 11H20.9C21.5 11 22.1 10.3 22.1 9.4V4.6C22 3.7 21.5 3 20.8 3H3.2C2.5 3 2 3.7 2 4.6M10 8V6H9V8H10M5 8H7V6H5V8M20 9H4V5H20V9M2 14.6V19.4C2 20.3 2.5 21 3.2 21H20.9C21.5 21 22.1 20.3 22.1 19.4V14.6C22.1 13.7 21.6 13 20.9 13H3.2C2.5 13 2 13.7 2 14.6M10 18V16H9V18H10M5 18H7V16H5V18M20 19H4V15H20V19Z\";\r\nexport var mdiServerPlus = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M8,16H11V13H13V16H16V18H13V21H11V18H8V16Z\";\r\nexport var mdiServerPlusOutline = \"M2 4.6V9.4C2 10.3 2.5 11 3.2 11H20.9C21.5 11 22.1 10.3 22.1 9.4V4.6C22 3.7 21.5 3 20.8 3H3.2C2.5 3 2 3.7 2 4.6M10 8V6H9V8H10M5 8H7V6H5V8M20 9H4V5H20V9M8 16H11V13H13V16H16V18H13V21H11V18H8V16Z\";\r\nexport var mdiServerRemove = \"M4,4H20A1,1 0 0,1 21,5V9A1,1 0 0,1 20,10H4A1,1 0 0,1 3,9V5A1,1 0 0,1 4,4M9,8H10V6H9V8M5,6V8H7V6H5M10.59,17L8,14.41L9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17Z\";\r\nexport var mdiServerSecurity = \"M3,1H19A1,1 0 0,1 20,2V6A1,1 0 0,1 19,7H3A1,1 0 0,1 2,6V2A1,1 0 0,1 3,1M3,9H19A1,1 0 0,1 20,10V10.67L17.5,9.56L11,12.44V15H3A1,1 0 0,1 2,14V10A1,1 0 0,1 3,9M3,17H11C11.06,19.25 12,21.4 13.46,23H3A1,1 0 0,1 2,22V18A1,1 0 0,1 3,17M8,5H9V3H8V5M8,13H9V11H8V13M8,21H9V19H8V21M4,3V5H6V3H4M4,11V13H6V11H4M4,19V21H6V19H4M17.5,12L22,14V17C22,19.78 20.08,22.37 17.5,23C14.92,22.37 13,19.78 13,17V14L17.5,12M17.5,13.94L15,15.06V17.72C15,19.26 16.07,20.7 17.5,21.06V13.94Z\";\r\nexport var mdiSetAll = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M8.5,12C8.5,13.87 9.29,15.56 10.56,16.75L11.56,16.29C10.31,15.29 9.5,13.74 9.5,12C9.5,10.26 10.31,8.71 11.56,7.71L10.56,7.25C9.29,8.44 8.5,10.13 8.5,12M15.5,12C15.5,10.13 14.71,8.44 13.44,7.25L12.44,7.71C13.69,8.71 14.5,10.26 14.5,12C14.5,13.74 13.69,15.29 12.44,16.29L13.44,16.75C14.71,15.56 15.5,13.87 15.5,12Z\";\r\nexport var mdiSetCenter = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M9,7C9.34,7 9.67,7.03 10,7.1C8.72,8.41 8,10.17 8,12C8,13.83 8.72,15.59 10,16.89C9.67,16.96 9.34,17 9,17A5,5 0 0,1 4,12A5,5 0 0,1 9,7M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7Z\";\r\nexport var mdiSetCenterRight = \"M15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19M9,17L10,16.89C8.72,15.59 8,13.83 8,12C8,10.17 8.72,8.41 10,7.1L9,7A5,5 0 0,0 4,12A5,5 0 0,0 9,17M15.5,12C15.5,10.13 14.71,8.44 13.44,7.25L12.44,7.71C13.69,8.71 14.5,10.26 14.5,12C14.5,13.74 13.69,15.29 12.44,16.29L13.44,16.75C14.71,15.56 15.5,13.87 15.5,12Z\";\r\nexport var mdiSetLeft = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7M12,8C13.26,8.95 14,10.43 14,12C14,13.57 13.26,15.05 12,16C10.74,15.05 10,13.57 10,12C10,10.43 10.74,8.95 12,8Z\";\r\nexport var mdiSetLeftCenter = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M15,7L14,7.11C15.28,8.41 16,10.17 16,12C16,13.83 15.28,15.59 14,16.9L15,17A5,5 0 0,0 20,12A5,5 0 0,0 15,7M8.5,12C8.5,13.87 9.29,15.56 10.56,16.75L11.56,16.29C10.31,15.29 9.5,13.74 9.5,12C9.5,10.26 10.31,8.71 11.56,7.71L10.56,7.25C9.29,8.44 8.5,10.13 8.5,12Z\";\r\nexport var mdiSetLeftRight = \"M9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5M9,12C9,14.22 10.21,16.16 12,17.2C13.79,16.16 15,14.22 15,12C15,9.78 13.79,7.84 12,6.8C10.21,7.84 9,9.78 9,12Z\";\r\nexport var mdiSetMerge = \"M2 7V9H7V7H2M12 9V11H9V13H12V15L15 12L12 9M17 9V15H22V9H17M2 11V13H7V11H2M2 15V17H7V15H2Z\";\r\nexport var mdiSetNone = \"M9,5A7,7 0 0,0 2,12A7,7 0 0,0 9,19C10.04,19 11.06,18.76 12,18.32C12.94,18.76 13.96,19 15,19A7,7 0 0,0 22,12A7,7 0 0,0 15,5C13.96,5 12.94,5.24 12,5.68C11.06,5.24 10.04,5 9,5M9,7C9.34,7 9.67,7.03 10,7.1C8.72,8.41 8,10.17 8,12C8,13.83 8.72,15.59 10,16.89C9.67,16.96 9.34,17 9,17A5,5 0 0,1 4,12A5,5 0 0,1 9,7M15,7A5,5 0 0,1 20,12A5,5 0 0,1 15,17C14.66,17 14.33,16.97 14,16.9C15.28,15.59 16,13.83 16,12C16,10.17 15.28,8.41 14,7.11C14.33,7.04 14.66,7 15,7M12,8C13.26,8.95 14,10.43 14,12C14,13.57 13.26,15.05 12,16C10.74,15.05 10,13.57 10,12C10,10.43 10.74,8.95 12,8Z\";\r\nexport var mdiSetRight = \"M15,19C13.96,19 12.94,18.76 12,18.32C11.06,18.76 10.04,19 9,19A7,7 0 0,1 2,12A7,7 0 0,1 9,5C10.04,5 11.06,5.24 12,5.68C12.94,5.24 13.96,5 15,5A7,7 0 0,1 22,12A7,7 0 0,1 15,19M9,17L10,16.89C8.72,15.59 8,13.83 8,12C8,10.17 8.72,8.41 10,7.1L9,7A5,5 0 0,0 4,12A5,5 0 0,0 9,17M12,16C13.26,15.05 14,13.57 14,12C14,10.43 13.26,8.95 12,8C10.74,8.95 10,10.43 10,12C10,13.57 10.74,15.05 12,16Z\";\r\nexport var mdiSetSplit = \"M17 7V9H22V7H17M2 9V15H7V9H2M12 9V11H9V13H12V15L15 12L12 9M17 11V13H22V11H17M17 15V17H22V15H17Z\";\r\nexport var mdiSetSquare = \"M17.7 17.7L16.6 18.8L15.9 18L17 17L15 15L14 16.1L13.3 15.4L14.4 14.3L12.5 12.4L11.4 13.5L10.7 12.8L11.8 11.7L9.8 9.8L8.7 10.9L8 10.2L9 9L7.1 7.1L6 8.1L5.3 7.4L6.4 6.3L4 4V20H20L17.7 17.7M7 17V11.2L12.8 17H7Z\";\r\nexport var mdiSetTopBox = \"M5,15.5A0.5,0.5 0 0,1 4.5,16H3.5A0.5,0.5 0 0,1 3,15.5V15H2A1,1 0 0,1 1,14V11A1,1 0 0,1 2,10H22A1,1 0 0,1 23,11V14A1,1 0 0,1 22,15H21V15.5A0.5,0.5 0 0,1 20.5,16H19.5A0.5,0.5 0 0,1 19,15.5V15H5V15.5M3,12V13H5V12H3M6,12V13H8V12H6M20.5,11.5A1,1 0 0,0 19.5,12.5A1,1 0 0,0 20.5,13.5A1,1 0 0,0 21.5,12.5A1,1 0 0,0 20.5,11.5Z\";\r\nexport var mdiSettingsHelper = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22Z\";\r\nexport var mdiShaker = \"M7 16C7 16.55 6.55 17 6 17S5 16.55 5 16C5 15.45 5.45 15 6 15S7 15.45 7 16M9 16C8.45 16 8 16.45 8 17S8.45 18 9 18 10 17.55 10 17 9.55 16 9 16M4 18C3.45 18 3 18.45 3 19S3.45 20 4 20 5 19.55 5 19 4.55 18 4 18M7 19C6.45 19 6 19.45 6 20S6.45 21 7 21 8 20.55 8 20 7.55 19 7 19M15.33 2.72L9.8 9.65L13.34 13.19L20.28 7.67C21.18 6.91 21.25 5.54 20.41 4.7L18.3 2.59C17.46 1.75 16.09 1.82 15.33 2.72M8.39 12.5L10.5 14.6C10.9 15 11.54 15 11.93 14.6L12.63 13.9L9.1 10.36L8.39 11.07C8 11.46 8 12.09 8.39 12.5Z\";\r\nexport var mdiShakerOutline = \"M16.88 4L16.88 4L19.03 6.1L13.5 10.5L12.5 9.5L16.87 4L16.88 4M16.88 2C16.3 2 15.73 2.24 15.33 2.72L9.8 9.65L13.34 13.19L20.28 7.67C21.18 6.91 21.25 5.54 20.41 4.7L18.3 2.59C17.9 2.19 17.39 2 16.88 2M9.1 10.36L8.39 11.07C8 11.46 8 12.09 8.39 12.5L10.5 14.6C10.71 14.8 10.96 14.89 11.22 14.89S11.73 14.8 11.93 14.6L12.63 13.9L9.1 10.36M6 15C5.45 15 5 15.45 5 16C5 16.55 5.45 17 6 17C6.55 17 7 16.55 7 16C7 15.45 6.55 15 6 15M9 16C8.45 16 8 16.45 8 17S8.45 18 9 18C9.55 18 10 17.55 10 17S9.55 16 9 16M4 18C3.45 18 3 18.45 3 19S3.45 20 4 20C4.55 20 5 19.55 5 19S4.55 18 4 18M7 19C6.45 19 6 19.45 6 20S6.45 21 7 21C7.55 21 8 20.55 8 20S7.55 19 7 19Z\";\r\nexport var mdiShape = \"M11,13.5V21.5H3V13.5H11M12,2L17.5,11H6.5L12,2M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13Z\";\r\nexport var mdiShapeCirclePlus = \"M11,19A6,6 0 0,0 17,13H19A8,8 0 0,1 11,21A8,8 0 0,1 3,13A8,8 0 0,1 11,5V7A6,6 0 0,0 5,13A6,6 0 0,0 11,19M19,5H22V7H19V10H17V7H14V5H17V2H19V5Z\";\r\nexport var mdiShapeOutline = \"M11,13.5V21.5H3V13.5H11M9,15.5H5V19.5H9V15.5M12,2L17.5,11H6.5L12,2M12,5.86L10.08,9H13.92L12,5.86M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,15A2.5,2.5 0 0,0 15,17.5A2.5,2.5 0 0,0 17.5,20A2.5,2.5 0 0,0 20,17.5A2.5,2.5 0 0,0 17.5,15Z\";\r\nexport var mdiShapeOvalPlus = \"M19 5H22V7H19V10H17V7H14V5H17V2H19V5M11 4L12 4.09V6.14C11.68 6.05 11.34 6 11 6C8.24 6 6 9.13 6 13C6 16.87 8.24 20 11 20C13.76 20 16 16.87 16 13L15.95 12H17.96L18 13C18 17.97 14.87 22 11 22C7.13 22 4 17.97 4 13C4 8.03 7.13 4 11 4Z\";\r\nexport var mdiShapePlus = \"M2,2H11V11H2V2M17.5,2C20,2 22,4 22,6.5C22,9 20,11 17.5,11C15,11 13,9 13,6.5C13,4 15,2 17.5,2M6.5,14L11,22H2L6.5,14M19,17H22V19H19V22H17V19H14V17H17V14H19V17Z\";\r\nexport var mdiShapePlusOutline = \"M11 11V2H2V11M4 9V4H9V9M20 6.5C20 7.9 18.9 9 17.5 9S15 7.9 15 6.5 16.11 4 17.5 4 20 5.11 20 6.5M6.5 14L2 22H11M7.58 20H5.42L6.5 18.08M22 6.5C22 4 20 2 17.5 2S13 4 13 6.5 15 11 17.5 11 22 9 22 6.5M19 17V14H17V17H14V19H17V22H19V19H22V17Z\";\r\nexport var mdiShapePolygonPlus = \"M17,15.7V13H19V17L10,21L3,14L7,5H11V7H8.3L5.4,13.6L10.4,18.6L17,15.7M22,5V7H19V10H17V7H14V5H17V2H19V5H22Z\";\r\nexport var mdiShapeRectanglePlus = \"M19,6H22V8H19V11H17V8H14V6H17V3H19V6M17,17V14H19V19H3V6H11V8H5V17H17Z\";\r\nexport var mdiShapeSquarePlus = \"M19,5H22V7H19V10H17V7H14V5H17V2H19V5M17,19V13H19V21H3V5H11V7H5V19H17Z\";\r\nexport var mdiShapeSquareRoundedPlus = \"M17 2H19V5H22V7H19V10H17V7H14V5H17V2M7 5H11V7H7C5.9 7 5 7.9 5 9V17C5 18.11 5.9 19 7 19H15C16.11 19 17 18.11 17 17V13H19V17C19 19.21 17.21 21 15 21H7C4.79 21 3 19.21 3 17V9C3 6.79 4.79 5 7 5Z\";\r\nexport var mdiShare = \"M21,12L14,5V9C7,10 4,15 3,20C5.5,16.5 9,14.9 14,14.9V19L21,12Z\";\r\nexport var mdiShareAll = \"M11 9V5L18 12L11 19V14.9C6 14.9 2.5 16.5 0 20C1 15 4 10 11 9M17 8V5L24 12L17 19V16L21 12L17 8Z\";\r\nexport var mdiShareAllOutline = \"M13 9.8V10.7L11.3 10.9C8.7 11.3 6.8 12.3 5.4 13.6C7.1 13.1 8.9 12.8 11 12.8H13V14.1L15.2 12L13 9.8M11 5L18 12L11 19V14.9C6 14.9 2.5 16.5 0 20C1 15 4 10 11 9M17 8V5L24 12L17 19V16L21 12\";\r\nexport var mdiShareCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M14 16V13C10.39 13 7.81 14.43 6 17C6.72 13.33 8.94 9.73 14 9V6L19 11L14 16Z\";\r\nexport var mdiShareOff = \"M20.8 22.7L15.6 17.5L14 19V15.9L13.1 14.9C8.6 15.2 5.4 16.8 3 20.1C3.58 16.31 5.72 12.94 8.9 10.8L1.1 3L2.4 1.7L22.1 21.5M18.1 14.9L21 12L14 5V9L12.5 9.3\";\r\nexport var mdiShareOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L8.9 10.8C5.4 12.9 3.7 16.4 3 20C5.3 16.7 8.6 15.1 13 14.9L14 15.9V19L15.6 17.4L20.8 22.7M8.3 13.8C8.94 13.22 9.65 12.71 10.4 12.3L11.3 13.1M14.2 11L12.5 9.3L14 9V5L21 12L18.1 14.9L16.7 13.5L18.2 12L16 9.8V10.7\";\r\nexport var mdiShareOutline = \"M14,5V9C7,10 4,15 3,20C5.5,16.5 9,14.9 14,14.9V19L21,12L14,5M16,9.83L18.17,12L16,14.17V12.9H14C11.93,12.9 10.07,13.28 8.34,13.85C9.74,12.46 11.54,11.37 14.28,11L16,10.73V9.83Z\";\r\nexport var mdiShareVariant = \"M18,16.08C17.24,16.08 16.56,16.38 16.04,16.85L8.91,12.7C8.96,12.47 9,12.24 9,12C9,11.76 8.96,11.53 8.91,11.3L15.96,7.19C16.5,7.69 17.21,8 18,8A3,3 0 0,0 21,5A3,3 0 0,0 18,2A3,3 0 0,0 15,5C15,5.24 15.04,5.47 15.09,5.7L8.04,9.81C7.5,9.31 6.79,9 6,9A3,3 0 0,0 3,12A3,3 0 0,0 6,15C6.79,15 7.5,14.69 8.04,14.19L15.16,18.34C15.11,18.55 15.08,18.77 15.08,19C15.08,20.61 16.39,21.91 18,21.91C19.61,21.91 20.92,20.61 20.92,19A2.92,2.92 0 0,0 18,16.08Z\";\r\nexport var mdiShareVariantOutline = \"M18 16.08C17.24 16.08 16.56 16.38 16.04 16.85L8.91 12.7C8.96 12.47 9 12.24 9 12S8.96 11.53 8.91 11.3L15.96 7.19C16.5 7.69 17.21 8 18 8C19.66 8 21 6.66 21 5S19.66 2 18 2 15 3.34 15 5C15 5.24 15.04 5.47 15.09 5.7L8.04 9.81C7.5 9.31 6.79 9 6 9C4.34 9 3 10.34 3 12S4.34 15 6 15C6.79 15 7.5 14.69 8.04 14.19L15.16 18.34C15.11 18.55 15.08 18.77 15.08 19C15.08 20.61 16.39 21.91 18 21.91S20.92 20.61 20.92 19C20.92 17.39 19.61 16.08 18 16.08M18 4C18.55 4 19 4.45 19 5S18.55 6 18 6 17 5.55 17 5 17.45 4 18 4M6 13C5.45 13 5 12.55 5 12S5.45 11 6 11 7 11.45 7 12 6.55 13 6 13M18 20C17.45 20 17 19.55 17 19S17.45 18 18 18 19 18.45 19 19 18.55 20 18 20Z\";\r\nexport var mdiShark = \"M15.56 9.09C14.66 7.18 12.54 6 11 6C11.47 7.4 11.28 8.57 10.95 9.43C8.45 10 6 11 6 11S3 7 1 7L3 13L2 17C4 17 6 14 6 14S11 16 14 16V18C14.65 18 15.91 17.17 16.73 15.77C17.97 15.56 19 15.21 19.87 14.81C19.72 14.63 19.53 14.44 19.28 14.3C18.63 13.91 17.82 13.67 17 13.5C17.82 13.34 18.67 13.22 19.59 13.35C20.05 13.41 20.54 13.54 21 13.86C21.1 13.92 21.17 14 21.24 14.05C22.4 13.26 23 12.44 23 12C23 11.13 19.19 9.5 15.56 9.09M18 12C17.45 12 17 11.55 17 11C17 10.76 17.1 10.55 17.23 10.38C17.84 10.5 18.43 10.67 18.97 10.84C19 10.89 19 10.94 19 11C19 11.55 18.55 12 18 12Z\";\r\nexport var mdiSharkFin = \"M22 16V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16H22M5.28 13.79C5.82 13.63 6.37 13.38 6.89 13.04L8.03 12.27L9.16 13.07C10 13.66 11 14 12 14C13 14 14 13.66 14.84 13.07L15.97 12.27L17.11 13.04C17.93 13.59 18.83 13.9 19.67 13.97C18.24 7.4 12.37 2 6 2C5.65 2 5.33 2.18 5.15 2.47C4.97 2.77 4.95 3.14 5.11 3.45C7.28 7.79 6.61 11.29 5.28 13.79M16 18.7C13.6 20.4 10.4 20.4 8 18.7C6.8 19.5 5.4 20 4 20H2V22H4C5.4 22 6.8 21.6 8 21C10.5 22.3 13.5 22.3 16 21C17.2 21.6 18.6 22 20 22H22V20H20C18.6 20 17.2 19.5 16 18.7Z\";\r\nexport var mdiSharkFinOutline = \"M22 16V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16H22M5.28 13.79C5.82 13.63 6.37 13.38 6.89 13.04L8 12.28C8.69 10 8.78 7.27 7.59 4.14C11.95 4.89 15.89 8.65 17.37 13.19C18.12 13.64 18.91 13.91 19.66 13.97C18.24 7.4 12.37 2 6 2C5.65 2 5.33 2.18 5.15 2.47C4.97 2.77 4.95 3.14 5.11 3.45C7.28 7.79 6.61 11.29 5.28 13.79M16 18.7C13.6 20.4 10.4 20.4 8 18.7C6.8 19.5 5.4 20 4 20H2V22H4C5.4 22 6.8 21.6 8 21C10.5 22.3 13.5 22.3 16 21C17.2 21.6 18.6 22 20 22H22V20H20C18.6 20 17.2 19.5 16 18.7Z\";\r\nexport var mdiSharkOff = \"M11.26 8.06L18.53 15.33C19 15.17 19.46 15 19.87 14.81C19.72 14.63 19.53 14.44 19.28 14.3C18.63 13.91 17.82 13.67 17 13.5C17.82 13.34 18.67 13.22 19.59 13.35C20.05 13.41 20.54 13.54 21 13.86C21.1 13.92 21.17 14 21.24 14.05C22.4 13.26 23 12.44 23 12C23 11.13 19.19 9.5 15.56 9.09C14.66 7.18 12.54 6 11 6C11.25 6.76 11.31 7.45 11.26 8.06M17.23 10.38C17.84 10.5 18.43 10.67 18.97 10.84C19 10.89 19 10.94 19 11C19 11.55 18.55 12 18 12S17 11.55 17 11C17 10.76 17.1 10.55 17.23 10.38M22.11 21.46L20.84 22.73L15.42 17.31C14.88 17.75 14.35 18 14 18V16C11 16 6 14 6 14S4 17 2 17L3 13L1 7C3 7 6 11 6 11S6.96 10.62 8.3 10.19L1.11 3L2.39 1.73L22.11 21.46Z\";\r\nexport var mdiSheep = \"M20,8.5A2.5,2.5 0 0,1 17.5,11C16.42,11 15.5,10.31 15.16,9.36C14.72,9.75 14.14,10 13.5,10C12.94,10 12.42,9.81 12,9.5C11.58,9.81 11.07,10 10.5,10C9.86,10 9.28,9.75 8.84,9.36C8.5,10.31 7.58,11 6.5,11A2.5,2.5 0 0,1 4,8.5C4,7.26 4.91,6.23 6.1,6.04C6.04,5.87 6,5.69 6,5.5A1.5,1.5 0 0,1 7.5,4C7.7,4 7.89,4.04 8.06,4.11C8.23,3.47 8.81,3 9.5,3C9.75,3 10,3.07 10.18,3.17C10.5,2.5 11.19,2 12,2C12.81,2 13.5,2.5 13.82,3.17C14,3.07 14.25,3 14.5,3C15.19,3 15.77,3.47 15.94,4.11C16.11,4.04 16.3,4 16.5,4A1.5,1.5 0 0,1 18,5.5C18,5.69 17.96,5.87 17.9,6.04C19.09,6.23 20,7.26 20,8.5M10,12A1,1 0 0,0 9,13A1,1 0 0,0 10,14A1,1 0 0,0 11,13A1,1 0 0,0 10,12M14,12A1,1 0 0,0 13,13A1,1 0 0,0 14,14A1,1 0 0,0 15,13A1,1 0 0,0 14,12M20.23,10.66C19.59,11.47 18.61,12 17.5,12C17.05,12 16.62,11.9 16.21,11.73C16.2,14.28 15.83,17.36 14.45,18.95C13.93,19.54 13.3,19.86 12.5,19.96V18H11.5V19.96C10.7,19.86 10.07,19.55 9.55,18.95C8.16,17.35 7.79,14.29 7.78,11.74C7.38,11.9 6.95,12 6.5,12C5.39,12 4.41,11.47 3.77,10.66C2.88,11.55 2,12 2,12C2,12 3,14 5,14C5.36,14 5.64,13.96 5.88,13.91C6.22,17.73 7.58,22 12,22C16.42,22 17.78,17.73 18.12,13.91C18.36,13.96 18.64,14 19,14C21,14 22,12 22,12C22,12 21.12,11.55 20.23,10.66Z\";\r\nexport var mdiShield = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1Z\";\r\nexport var mdiShieldAccount = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5A3,3 0 0,1 15,8A3,3 0 0,1 12,11A3,3 0 0,1 9,8A3,3 0 0,1 12,5M17.13,17C15.92,18.85 14.11,20.24 12,20.92C9.89,20.24 8.08,18.85 6.87,17C6.53,16.5 6.24,16 6,15.47C6,13.82 8.71,12.47 12,12.47C15.29,12.47 18,13.79 18,15.47C17.76,16 17.47,16.5 17.13,17Z\";\r\nexport var mdiShieldAccountOutline = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,3.18L19,6.3V11.22C19,12.92 18.5,14.65 17.65,16.17C16,14.94 13.26,14.5 12,14.5C10.74,14.5 8,14.94 6.35,16.17C5.5,14.65 5,12.92 5,11.22V6.3L12,3.18M12,6A3.5,3.5 0 0,0 8.5,9.5A3.5,3.5 0 0,0 12,13A3.5,3.5 0 0,0 15.5,9.5A3.5,3.5 0 0,0 12,6M12,8A1.5,1.5 0 0,1 13.5,9.5A1.5,1.5 0 0,1 12,11A1.5,1.5 0 0,1 10.5,9.5A1.5,1.5 0 0,1 12,8M12,16.5C13.57,16.5 15.64,17.11 16.53,17.84C15.29,19.38 13.7,20.55 12,21C10.3,20.55 8.71,19.38 7.47,17.84C8.37,17.11 10.43,16.5 12,16.5Z\";\r\nexport var mdiShieldAccountVariant = \"M17 11C17.3 11 17.7 11 18 11.1V6.3L10.5 3L3 6.3V11.2C3 15.7 6.2 20 10.5 21C11.1 20.9 11.6 20.7 12.1 20.5C11.4 19.5 11 18.3 11 17C11 13.7 13.7 11 17 11M17 13C14.8 13 13 14.8 13 17S14.8 21 17 21 21 19.2 21 17 19.2 13 17 13M17 14.4C17.6 14.4 18.1 14.9 18.1 15.5C18.1 16.1 17.6 16.6 17 16.6S15.9 16.1 15.9 15.5 16.4 14.4 17 14.4M17 19.8C16.1 19.8 15.3 19.3 14.8 18.6C14.9 17.9 16.3 17.5 17 17.5S19.2 17.9 19.2 18.6C18.7 19.3 17.9 19.8 17 19.8Z\";\r\nexport var mdiShieldAccountVariantOutline = \"M17 14.4C17.6 14.4 18.1 14.9 18.1 15.5S17.6 16.6 17 16.6 15.9 16.1 15.9 15.5 16.4 14.4 17 14.4M17 17.5C16.3 17.5 14.8 17.9 14.8 18.6C15.3 19.3 16.1 19.8 17 19.8S18.7 19.3 19.2 18.6C19.2 17.9 17.7 17.5 17 17.5M18 11.1V6.3L10.5 3L3 6.3V11.2C3 15.7 6.2 20 10.5 21C11.1 20.9 11.6 20.7 12.1 20.5C13.2 22 15 23 17 23C20.3 23 23 20.3 23 17C23 14 20.8 11.6 18 11.1M11 17C11 17.6 11.1 18.1 11.2 18.6C11 18.7 10.7 18.8 10.5 18.9C7.3 17.9 5 14.7 5 11.2V7.6L10.5 5.2L16 7.6V11.1C13.2 11.6 11 14 11 17M17 21C14.8 21 13 19.2 13 17S14.8 13 17 13 21 14.8 21 17 19.2 21 17 21Z\";\r\nexport var mdiShieldAirplane = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,5.68C12.5,5.68 12.95,6.11 12.95,6.63V10.11L18,13.26V14.53L12.95,12.95V16.42L14.21,17.37V18.32L12,17.68L9.79,18.32V17.37L11.05,16.42V12.95L6,14.53V13.26L11.05,10.11V6.63C11.05,6.11 11.5,5.68 12,5.68Z\";\r\nexport var mdiShieldAirplaneOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M12,5.68C12.5,5.68 12.95,6.11 12.95,6.63V10.11L18,13.26V14.53L12.95,12.95V16.42L14.21,17.37V18.32L12,17.68L9.79,18.32V17.37L11.05,16.42V12.95L6,14.53V13.26L11.05,10.11V6.63C11.05,6.11 11.5,5.68 12,5.68Z\";\r\nexport var mdiShieldAlert = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5M11,7H13V13H11M11,15H13V17H11\";\r\nexport var mdiShieldAlertOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M11,7H13V13H11V7M11,15H13V17H11V15Z\";\r\nexport var mdiShieldBug = \"M11 13H13V14H11V13M21 5V11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5M17 10H14.8C14.6 9.4 14.2 8.9 13.7 8.5L14.9 7.3L14.2 6.6L12.8 8H12C11.8 8 11.5 8 11.3 8.1L9.9 6.6L9.1 7.4L10.3 8.6C9.8 8.9 9.4 9.4 9.2 10H7V11H9V12H7V13H9V14H7V15H9.2C9.6 16.2 10.7 17 12 17S14.4 16.2 14.8 15H17V14H15V13H17V12H15V11H17V10M11 12H13V11H11V12Z\";\r\nexport var mdiShieldBugOutline = \"M9.9 6.6L9.1 7.4L10.3 8.6C9.8 8.9 9.4 9.4 9.2 10H7V11H9V12H7V13H9V14H7V15H9.2C9.6 16.2 10.7 17 12 17S14.4 16.2 14.8 15H17V14H15V13H17V12H15V11H17V10H14.8C14.6 9.4 14.2 8.9 13.7 8.5L14.9 7.3L14.2 6.6L12.8 8H12C11.8 8 11.5 8 11.3 8.1L9.9 6.6M11 11H13V12H11V11M11 13H13V14H11V13M21 11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5V11M12 21C15.8 20 19 15.5 19 11.2V6.3L12 3.2L5 6.3V11.2C5 15.5 8.2 20 12 21Z\";\r\nexport var mdiShieldCar = \"M14.42 7.5L16 11H8L9.42 7.5H14.42M9 12C8.45 12 8 12.45 8 13S8.45 14 9 14 10 13.55 10 13 9.55 12 9 12M15 12C14.45 12 14 12.45 14 13S14.45 14 15 14 16 13.55 16 13 15.55 12 15 12M21 5V11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5M18 12L15.84 7C15.64 6.42 15.08 6 14.42 6H9.42C8.76 6 8.2 6.42 8 7L6 12V16C6 16.55 6.45 17 7 17H8C8.55 17 9 16.55 9 16V15H15V16C15 16.55 15.45 17 16 17H17C17.55 17 18 16.55 18 16V12Z\";\r\nexport var mdiShieldCheck = \"M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1Z\";\r\nexport var mdiShieldCheckOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M10,17L6,13L7.41,11.59L10,14.17L16.59,7.58L18,9\";\r\nexport var mdiShieldCross = \"M12,1L3,5V11C3,16.5 6.8,21.7 12,23C17.2,21.7 21,16.5 21,11V5L12,1M16,10H13V18H11V10H8V8H11V5H13V8H16V10Z\";\r\nexport var mdiShieldCrossOutline = \"M21,11C21,16.5 17.2,21.7 12,23C6.8,21.7 3,16.5 3,11V5L12,1L21,5V11M12,21C15.8,20 19,15.5 19,11.2V6.3L12,3.2L5,6.3V11.2C5,15.5 8.3,20 12,21M16,9H13V6H11V9H8V11H11V19H13V11H16V9Z\";\r\nexport var mdiShieldCrown = \"M12 1L21 5V11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1M16 14H8V15.5C8 15.77 8.19 15.96 8.47 16L8.57 16H15.43C15.74 16 15.95 15.84 16 15.59L16 15.5V14M17 8L17 8L14.33 10.67L12 8.34L9.67 10.67L7 8L7 8L8 13H16L17 8Z\";\r\nexport var mdiShieldCrownOutline = \"M12 1L21 5V11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1M12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18M16 14V15.5L16 15.59C15.96 15.81 15.78 15.96 15.53 16L15.43 16H8.57L8.47 16C8.22 15.96 8.04 15.81 8 15.59L8 15.5V14H16M17 8L16 13H8L7 8L7 8L9.67 10.67L12 8.34L14.33 10.67L17 8L17 8Z\";\r\nexport var mdiShieldEdit = \"M21.7 14.4L20.7 15.4L18.6 13.3L19.6 12.3C19.8 12.1 20.2 12.1 20.4 12.3L21.7 13.6C21.9 13.8 21.9 14.1 21.7 14.4M12 19.9L18.1 13.8L20.2 15.9L14.1 22H12V19.9M10 19.1L21 8.1V5L12 1L3 5V11C3 15.8 5.9 20.3 10 22.3V19.1Z\";\r\nexport var mdiShieldEditOutline = \"M21.7 13.6L20.4 12.3C20.3 12.2 20.2 12.1 20 12.1C19.9 12.1 19.7 12.2 19.6 12.3L18.6 13.3L20.6 15.3L21.6 14.3C21.9 14.1 21.9 13.8 21.7 13.6M12 19.9V22H14.1L20.2 15.9L18.2 13.8L12 19.9M10 22.3C5.9 20.3 3 15.8 3 11V5L12 1L21 5V8.1L19 10.1V6.3L12 3.2L5 6.3V11.2C5 14.7 7.2 18.3 10 20.1V22.3Z\";\r\nexport var mdiShieldHalf = \"M12 1L3 5V11C3 16.5 6.8 21.7 12 23V1Z\";\r\nexport var mdiShieldHalfFull = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18V21Z\";\r\nexport var mdiShieldHome = \"M11,13H13V16H16V11H18L12,6L6,11H8V16H11V13M12,1L21,5V11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\r\nexport var mdiShieldHomeOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M11,14H13V17H16V12H18L12,7L6,12H8V17H11V14\";\r\nexport var mdiShieldKey = \"M12,8A1,1 0 0,1 13,9A1,1 0 0,1 12,10A1,1 0 0,1 11,9A1,1 0 0,1 12,8M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,6A3,3 0 0,0 9,9C9,10.31 9.83,11.42 11,11.83V18H13V16H15V14H13V11.83C14.17,11.42 15,10.31 15,9A3,3 0 0,0 12,6Z\";\r\nexport var mdiShieldKeyOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M12,6A3,3 0 0,1 15,9C15,10.31 14.17,11.42 13,11.83V14H15V16H13V18H11V11.83C9.83,11.42 9,10.31 9,9A3,3 0 0,1 12,6M12,8A1,1 0 0,0 11,9A1,1 0 0,0 12,10A1,1 0 0,0 13,9A1,1 0 0,0 12,8Z\";\r\nexport var mdiShieldLinkVariant = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M14.28,14.08L12.26,16.1C11.66,16.7 10.87,17 10.08,17C9.29,17 8.5,16.7 7.9,16.1C6.7,14.9 6.7,12.95 7.9,11.74L9.15,10.5L9.14,11.06C9.14,11.5 9.21,11.95 9.36,12.37L9.41,12.5L9.04,12.87C8.76,13.15 8.6,13.53 8.6,13.92C8.6,14.32 8.76,14.69 9.04,14.97C9.6,15.53 10.57,15.53 11.13,14.97L13.14,12.96C13.43,12.67 13.58,12.3 13.58,11.91C13.58,11.5 13.43,11.14 13.15,10.86C13,10.71 12.9,10.5 12.9,10.29C12.9,10.08 13,9.88 13.15,9.73C13.45,9.42 14,9.43 14.28,9.73C14.86,10.31 15.18,11.08 15.18,11.9C15.18,12.73 14.86,13.5 14.28,14.08M17.1,11.26L15.85,12.5L15.86,11.94C15.86,11.5 15.79,11.06 15.64,10.64L15.6,10.5L15.96,10.13C16.25,9.85 16.4,9.5 16.4,9.08C16.4,8.69 16.25,8.32 15.97,8.04C15.4,7.47 14.43,7.47 13.87,8.04L11.86,10.05C11.58,10.33 11.42,10.7 11.42,11.1C11.42,11.5 11.57,11.86 11.86,12.14C12,12.29 12.1,12.5 12.1,12.71C12.1,12.93 12,13.13 11.85,13.28C11.7,13.44 11.5,13.5 11.29,13.5C11.09,13.5 10.88,13.43 10.72,13.28C9.5,12.08 9.5,10.12 10.72,8.92L12.74,6.9C13.95,5.7 15.9,5.7 17.1,6.9C17.68,7.5 18,8.26 18,9.08C18,9.9 17.68,10.68 17.1,11.26Z\";\r\nexport var mdiShieldLinkVariantOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M14.28,9.73C14.86,10.31 15.18,11.08 15.18,11.9C15.18,12.73 14.86,13.5 14.28,14.08L12.26,16.1C11.66,16.7 10.87,17 10.08,17C9.29,17 8.5,16.7 7.9,16.1C6.7,14.9 6.7,12.95 7.9,11.74L9.15,10.5L9.14,11.06C9.14,11.5 9.21,11.95 9.36,12.36L9.4,12.5L9.04,12.87C8.75,13.15 8.6,13.5 8.6,13.92C8.6,14.31 8.75,14.68 9.03,14.96C9.6,15.53 10.57,15.53 11.13,14.97L13.14,12.95C13.43,12.67 13.58,12.3 13.58,11.91C13.58,11.5 13.43,11.14 13.14,10.86C13,10.71 12.9,10.5 12.9,10.29C12.9,10.08 13,9.87 13.14,9.72C13.45,9.42 14,9.42 14.28,9.73M18,9.08C18,9.9 17.68,10.68 17.1,11.26L15.85,12.5L15.86,11.94C15.86,11.5 15.79,11.06 15.64,10.64L15.59,10.5L15.96,10.13C16.25,9.85 16.4,9.5 16.4,9.08C16.4,8.69 16.25,8.32 15.96,8.04C15.4,7.47 14.43,7.47 13.87,8.03L11.86,10.05C11.57,10.33 11.42,10.7 11.42,11.1C11.42,11.5 11.57,11.86 11.85,12.14C12,12.29 12.1,12.5 12.1,12.71C12.1,12.93 12,13.13 11.85,13.28C11.7,13.43 11.5,13.5 11.29,13.5C11.09,13.5 10.88,13.43 10.72,13.28C9.5,12.07 9.5,10.12 10.72,8.92L12.74,6.9C13.95,5.7 15.9,5.7 17.1,6.9C17.68,7.5 18,8.26 18,9.08Z\";\r\nexport var mdiShieldLock = \"M12,1L3,5V11C3,16.55 6.84,21.74 12,23C17.16,21.74 21,16.55 21,11V5L12,1M12,7C13.4,7 14.8,8.1 14.8,9.5V11C15.4,11 16,11.6 16,12.3V15.8C16,16.4 15.4,17 14.7,17H9.2C8.6,17 8,16.4 8,15.7V12.2C8,11.6 8.6,11 9.2,11V9.5C9.2,8.1 10.6,7 12,7M12,8.2C11.2,8.2 10.5,8.7 10.5,9.5V11H13.5V9.5C13.5,8.7 12.8,8.2 12,8.2Z\";\r\nexport var mdiShieldLockOpen = \"M12 1L3 5V11C3 16.5 6.8 21.7 12 23C17.2 21.7 21 16.5 21 11V5L12 1M16 15.8C16 16.4 15.4 17 14.7 17H9.2C8.6 17 8 16.4 8 15.7V12.2C8 11.6 8.6 11 9.2 11V8.5C9.2 7.1 10.6 6 12 6S14.8 7.1 14.8 8.5V9H13.5V8.5C13.5 7.7 12.8 7.2 12 7.2S10.5 7.7 10.5 8.5V11H14.8C15.4 11 16 11.6 16 12.3V15.8Z\";\r\nexport var mdiShieldLockOpenOutline = \"M21 11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1L21 5V11M12 21C15.8 20 19 15.5 19 11.2V6.3L12 3.2L5 6.3V11.2C5 15.5 8.2 20 12 21M14.8 11H10.5V8.5C10.5 7.7 11.2 7.2 12 7.2S13.5 7.7 13.5 8.5V9H14.8V8.5C14.8 7.1 13.4 6 12 6S9.2 7.1 9.2 8.5V11C8.6 11 8 11.6 8 12.2V15.7C8 16.4 8.6 17 9.2 17H14.7C15.4 17 16 16.4 16 15.8V12.3C16 11.6 15.4 11 14.8 11Z\";\r\nexport var mdiShieldLockOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21M14.8,11V9.5C14.8,8.1 13.4,7 12,7C10.6,7 9.2,8.1 9.2,9.5V11C8.6,11 8,11.6 8,12.2V15.7C8,16.4 8.6,17 9.2,17H14.7C15.4,17 16,16.4 16,15.8V12.3C16,11.6 15.4,11 14.8,11M13.5,11H10.5V9.5C10.5,8.7 11.2,8.2 12,8.2C12.8,8.2 13.5,8.7 13.5,9.5V11Z\";\r\nexport var mdiShieldMoon = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M15.97 14.41C14.13 16.58 10.76 16.5 9 14.34C6.82 11.62 8.36 7.62 11.7 7C12.04 6.95 12.33 7.28 12.21 7.61C11.75 8.84 11.82 10.25 12.53 11.47C13.24 12.69 14.42 13.46 15.71 13.67C16.05 13.72 16.2 14.14 15.97 14.41Z\";\r\nexport var mdiShieldMoonOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M9 14.33C10.76 16.5 14.13 16.57 15.97 14.4C16.2 14.13 16.05 13.72 15.71 13.66C14.42 13.45 13.23 12.68 12.53 11.46C11.82 10.24 11.75 8.83 12.21 7.6C12.33 7.27 12.05 6.94 11.7 7C8.36 7.62 6.81 11.61 9 14.33\";\r\nexport var mdiShieldOff = \"M1,4.27L2.28,3L20.5,21.22L19.23,22.5L17,20.25C15.57,21.57 13.87,22.54 12,23C6.84,21.74 3,16.55 3,11V6.27L1,4.27M12,1L21,5V11C21,13.28 20.35,15.5 19.23,17.41L5.65,3.82L12,1Z\";\r\nexport var mdiShieldOffOutline = \"M1,4.27L3,6.27V11C3,16.55 6.84,21.74 12,23C13.87,22.54 15.57,21.56 16.97,20.24L19.23,22.5L20.5,21.22L2.28,3L1,4.27M12,21C8.25,20 5,15.54 5,11.22V8.27L15.59,18.86C14.53,19.89 13.3,20.65 12,21M21,5V11C21,13.28 20.35,15.5 19.23,17.4L17.77,15.95C18.54,14.5 19,12.84 19,11.22V6.3L12,3.18L7.16,5.34L5.65,3.82L12,1L21,5Z\";\r\nexport var mdiShieldOutline = \"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21Z\";\r\nexport var mdiShieldPlus = \"M19,20V22.97H17V20H14V18H17V15H19V18H22V20H19M12,1L21,5V11C21,11.9 20.9,12.78 20.71,13.65C19.9,13.23 19,13 18,13A6,6 0 0,0 12,19C12,20.36 12.45,21.62 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\r\nexport var mdiShieldPlusOutline = \"M19,20V22.97H17V20H14V18H17V15H19V18H22V20H19M21,11C21,11.9 20.9,12.78 20.71,13.65C20.13,13.35 19.5,13.15 18.81,13.05C18.93,12.45 19,11.83 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21L12.31,20.91C12.5,21.53 12.83,22.11 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11Z\";\r\nexport var mdiShieldRefresh = \"M18 12C19 12 20 12.2 20.9 12.7C21 12.1 21 11.6 21 11V5L12 1L3 5V11C3 16.5 6.8 21.7 12 23C12.4 22.9 12.7 22.8 13 22.7C12 21.5 11.5 20 11.5 18.5C11.5 14.9 14.4 12 18 12M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5Z\";\r\nexport var mdiShieldRefreshOutline = \"M12 21C8.2 20 5 15.5 5 11.2V6.3L12 3.2L19 6.3V12.1C19.7 12.2 20.3 12.4 20.9 12.7C21 12.1 21 11.6 21 11V5L12 1L3 5V11C3 16.5 6.8 21.7 12 23C12.4 22.9 12.7 22.8 13 22.7C12.6 22.2 12.2 21.6 12 21M18 14.5C19.1 14.5 20.1 14.9 20.8 15.7L22 14.5V18.5H18L19.8 16.7C19.3 16.3 18.7 16 18 16C16.6 16 15.5 17.1 15.5 18.5S16.6 21 18 21C18.8 21 19.5 20.6 20 20H21.7C21.1 21.5 19.7 22.5 18 22.5C15.8 22.5 14 20.7 14 18.5S15.8 14.5 18 14.5Z\";\r\nexport var mdiShieldRemove = \"M19.43,19L21.5,21.11L20.12,22.5L18.03,20.41L15.91,22.53L14.5,21.11L16.61,19L14.5,16.86L15.88,15.47L18,17.59L20.12,15.47L21.55,16.9L19.43,19M12,1L21,5V11C21,11.9 20.9,12.78 20.71,13.65C19.9,13.23 19,13 18,13A6,6 0 0,0 12,19C12,20.36 12.45,21.62 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1Z\";\r\nexport var mdiShieldRemoveOutline = \"M19.43,19L21.5,21.11L20.12,22.5L18.03,20.41L15.91,22.53L14.5,21.11L16.61,19L14.5,16.86L15.88,15.47L18,17.59L20.12,15.47L21.55,16.9L19.43,19M21,11C21,11.9 20.9,12.78 20.71,13.65C20.13,13.35 19.5,13.15 18.81,13.05C18.93,12.45 19,11.83 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21L12.31,20.91C12.5,21.53 12.83,22.11 13.22,22.62L12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11Z\";\r\nexport var mdiShieldSearch = \"M12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9M17.86,19.31C16.23,21.22 14.28,22.45 12,23C9.44,22.39 7.3,20.93 5.58,18.63C3.86,16.34 3,13.8 3,11V5L12,1L21,5V11C21,13.39 20.36,15.61 19.08,17.67L16.17,14.76C16.69,13.97 17,13 17,12A5,5 0 0,0 12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17C13,17 13.97,16.69 14.76,16.17L17.86,19.31Z\";\r\nexport var mdiShieldStar = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M15.08 16L12 14.15L8.93 16L9.74 12.5L7.03 10.16L10.61 9.85L12 6.55L13.39 9.84L16.97 10.15L14.26 12.5L15.08 16Z\";\r\nexport var mdiShieldStarOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M15.05 16L11.97 14.15L8.9 16L9.71 12.5L7 10.16L10.58 9.85L11.97 6.55L13.37 9.84L16.95 10.15L14.23 12.5L15.05 16\";\r\nexport var mdiShieldSun = \"M12 1L3 5V11C3 16.55 6.84 21.74 12 23C17.16 21.74 21 16.55 21 11V5L12 1M12 8.89C13.6 8.89 14.89 10.18 14.89 11.78S13.6 14.67 12 14.67 9.11 13.37 9.11 11.78 10.41 8.89 12 8.89M12 6L13.38 8C12.96 7.82 12.5 7.73 12 7.73S11.05 7.82 10.62 8L12 6M7 8.89L9.4 8.69C9.06 9 8.74 9.34 8.5 9.76C8.25 10.18 8.1 10.62 8 11.08L7 8.89M7 14.67L8.03 12.5C8.11 12.93 8.27 13.38 8.5 13.8C8.75 14.23 9.06 14.59 9.4 14.88L7 14.67M17 8.89L16 11.08C15.9 10.62 15.74 10.18 15.5 9.76C15.26 9.34 14.95 9 14.6 8.68L17 8.89M17 14.67L14.6 14.87C14.94 14.58 15.25 14.22 15.5 13.8C15.74 13.38 15.89 12.93 15.97 12.5L17 14.67M12 17.55L10.61 15.57C11.04 15.72 11.5 15.82 12 15.82C12.5 15.82 12.95 15.72 13.37 15.57L12 17.55Z\";\r\nexport var mdiShieldSunOutline = \"M21 11C21 16.55 17.16 21.74 12 23C6.84 21.74 3 16.55 3 11V5L12 1L21 5V11M12 21C15.75 20 19 15.54 19 11.22V6.3L12 3.18L5 6.3V11.22C5 15.54 8.25 20 12 21M12 8.89C13.6 8.89 14.89 10.18 14.89 11.78S13.6 14.67 12 14.67 9.11 13.37 9.11 11.78 10.41 8.89 12 8.89M12 6L13.38 8C12.96 7.82 12.5 7.73 12 7.73S11.05 7.82 10.62 8L12 6M7 8.89L9.4 8.69C9.06 9 8.74 9.34 8.5 9.76C8.25 10.18 8.1 10.62 8 11.08L7 8.89M7 14.67L8.03 12.5C8.11 12.93 8.27 13.38 8.5 13.8C8.75 14.23 9.06 14.59 9.4 14.88L7 14.67M17 8.89L16 11.08C15.9 10.62 15.74 10.18 15.5 9.76C15.26 9.34 14.95 9 14.6 8.68L17 8.89M17 14.67L14.6 14.87C14.94 14.58 15.25 14.22 15.5 13.8C15.74 13.38 15.89 12.93 15.97 12.5L17 14.67M12 17.55L10.61 15.57C11.04 15.72 11.5 15.82 12 15.82C12.5 15.82 12.95 15.72 13.37 15.57L12 17.55Z\";\r\nexport var mdiShieldSword = \"M12 1L3 5V11C3 16.5 6.8 21.7 12 23C17.2 21.7 21 16.5 21 11V5L12 1M15 15H13V18H11V15H9V13H11L10 7.1L12 5.5L14 7.1L13 13H15V15Z\";\r\nexport var mdiShieldSwordOutline = \"M12 1L21 5V11C21 16.5 17.2 21.7 12 23C6.8 21.7 3 16.5 3 11V5L12 1M12 3.2L5 6.3V11.2C5 15.5 8.2 20 12 21C15.8 20 19 15.5 19 11.2V6.3L12 3.2M12 5.5L14 7.1L13 13H15V15H13V18H11V15H9V13H11L10 7.1L12 5.5Z\";\r\nexport var mdiShieldSync = \"M18 12A6.41 6.41 0 0 1 20.87 12.67A11.63 11.63 0 0 0 21 11V5L12 1L3 5V11C3 16.55 6.84 21.74 12 23C12.35 22.91 12.7 22.8 13 22.68A6.42 6.42 0 0 1 11.5 18.5A6.5 6.5 0 0 1 18 12M18 14.5V13L15.75 15.25L18 17.5V16A2.5 2.5 0 0 1 20.24 19.62L21.33 20.71A4 4 0 0 0 18 14.5M18 21A2.5 2.5 0 0 1 15.76 17.38L14.67 16.29A4 4 0 0 0 18 22.5V24L20.25 21.75L18 19.5Z\";\r\nexport var mdiShieldSyncOutline = \"M12 21C8.25 20 5 15.54 5 11.22V6.3L12 3.18L19 6.3V12.07A6.45 6.45 0 0 1 20.91 12.67A11.63 11.63 0 0 0 21 11V5L12 1L3 5V11C3 16.55 6.84 21.74 12 23C12.35 22.91 12.7 22.8 13 22.68A6.3 6.3 0 0 1 12 21M18 14.5V13L15.75 15.25L18 17.5V16A2.5 2.5 0 0 1 20.24 19.62L21.33 20.71A4 4 0 0 0 18 14.5M18 21A2.5 2.5 0 0 1 15.76 17.38L14.67 16.29A4 4 0 0 0 18 22.5V24L20.25 21.75L18 19.5Z\";\r\nexport var mdiShimmer = \"M10.6 9.6L9 15L7.4 9.6L2 8L7.4 6.4L9 1L10.6 6.4L16 8L10.6 9.6M17 14.2L21 12L18.8 16L21 20L17 17.8L13 20L15.2 16L13 12L17 14.2M10 16L8.3 19L10 22L7 20.3L4 22L5.7 19L4 16L7 17.7L10 16\";\r\nexport var mdiShipWheel = \"M2,11L4.05,11.1C4.3,8.83 5.5,6.85 7.25,5.56L6.13,3.84C5.86,3.36 6,2.75 6.5,2.47C7,2.2 7.59,2.36 7.87,2.84L8.8,4.66C9.78,4.24 10.86,4 12,4C13.14,4 14.22,4.24 15.2,4.66L16.13,2.84C16.41,2.36 17,2.2 17.5,2.47C18,2.75 18.14,3.36 17.87,3.84L16.75,5.56C18.5,6.85 19.7,8.83 19.95,11.1L22,11A1,1 0 0,1 23,12A1,1 0 0,1 22,13L19.95,12.9C19.7,15.17 18.5,17.15 16.75,18.44L17.87,20.16C18.14,20.64 18,21.25 17.5,21.53C17,21.8 16.41,21.64 16.13,21.16L15.2,19.34C14.22,19.76 13.14,20 12,20C10.86,20 9.78,19.76 8.8,19.34L7.87,21.16C7.59,21.64 7,21.8 6.5,21.53C6,21.25 5.86,20.64 6.13,20.16L7.25,18.44C5.5,17.15 4.3,15.17 4.05,12.9L2,13A1,1 0 0,1 1,12A1,1 0 0,1 2,11M9.07,11.35C9.2,10.74 9.53,10.2 10,9.79L8.34,7.25C7.11,8.19 6.27,9.6 6.05,11.2L9.07,11.35M12,9C12.32,9 12.62,9.05 12.9,9.14L14.28,6.45C13.58,6.16 12.81,6 12,6C11.19,6 10.42,6.16 9.72,6.45L11.1,9.14C11.38,9.05 11.68,9 12,9M14.93,11.35L17.95,11.2C17.73,9.6 16.89,8.19 15.66,7.25L14,9.79C14.47,10.2 14.8,10.74 14.93,11.35M14.93,12.65C14.8,13.26 14.47,13.8 14,14.21L15.66,16.75C16.89,15.81 17.73,14.4 17.95,12.8L14.93,12.65M12,15C11.68,15 11.38,14.95 11.09,14.86L9.72,17.55C10.42,17.84 11.19,18 12,18C12.81,18 13.58,17.84 14.28,17.55L12.91,14.86C12.62,14.95 12.32,15 12,15M9.07,12.65L6.05,12.8C6.27,14.4 7.11,15.81 8.34,16.75L10,14.21C9.53,13.8 9.2,13.26 9.07,12.65Z\";\r\nexport var mdiShippingPallet = \"M3 20H5V18H11V20H13V18H19V20H21V15H19V16H17V15H15V16H13V15H11V16H9V15H7V16H5V15H3M5 13H19V4H5Z\";\r\nexport var mdiShoeBallet = \"M12.78 11.97C12.27 8.54 10.86 2 7.53 2S2.8 8.54 2.28 11.97C2.07 13.42 2 14.89 2.16 16.35C2.5 19.39 3.55 20.84 4.27 21.5C4.64 21.83 5.11 22 5.6 22H9.47C9.96 22 10.43 21.83 10.8 21.5C11.5 20.84 12.55 19.39 12.91 16.35C13.08 14.89 13 13.42 12.78 11.97M7.53 4C7.89 3.87 8.59 4.73 9.27 6.31L4.58 10.33C5.41 6.26 6.94 3.79 7.53 4M9.75 13H5.31C5.1 13 4.92 12.92 4.76 12.81L10 8.33C10.29 9.35 10.56 10.5 10.75 11.83C10.84 12.44 10.37 13 9.75 13M21.78 11.97C21.27 8.54 19.86 2 16.53 2C15.04 2 13.94 3.32 13.13 5.08C13.5 6.04 13.84 7.14 14.13 8.37L19.31 12.81C19.15 12.92 18.97 13 18.75 13H14.92C15.04 14.27 15.03 15.45 14.89 16.59C14.62 18.87 14 20.45 13.32 21.53C13.68 21.84 14.13 22 14.6 22H18.47C18.96 22 19.43 21.83 19.8 21.5C20.5 20.84 21.55 19.39 21.91 16.35C22.08 14.89 22 13.42 21.78 11.97M14.8 6.31C15.5 4.73 16.18 3.87 16.53 4C17.13 3.79 18.65 6.26 19.5 10.33L14.8 6.31Z\";\r\nexport var mdiShoeCleat = \"M21 8C20.76 8 20.53 8 20.3 8L20.25 7.97C18.14 7.84 16.38 7.17 15.53 6.23L14 7C13.95 7.1 13.89 7.19 13.84 7.28C14.55 7.89 15 8.65 15 9.5C15 9.83 14.91 10.14 14.79 10.45L12.92 8.58C12.7 8.83 12.47 9.07 12.22 9.29L14.25 11.32C14.04 11.57 13.8 11.79 13.5 12L11.43 9.91C11.14 10.11 10.85 10.28 10.55 10.45L12.58 12.5C12.25 12.63 11.89 12.74 11.5 12.82L9.59 10.91C9.25 11.05 8.91 11.18 8.56 11.29L10.26 13C10.17 13 10.09 13 10 13C8.5 13 7.2 12.54 6.28 11.82C5.46 11.95 4.68 12 4 12C2 12 2 15 2 15V15C2 16.11 2.89 17 4 17H4V18C4 18.55 4.45 19 5 19S6 18.55 6 18V17H7V18C7 18.55 7.45 19 8 19S9 18.55 9 18V17H10V18C10 18.55 10.45 19 11 19S12 18.55 12 18V17H15V18C15 18.55 15.45 19 16 19S17 18.55 17 18V17H18V18C18 18.55 18.45 19 19 19S20 18.55 20 18V17H21C21 17 22 17 22 12.5C22 9 21 8 21 8Z\";\r\nexport var mdiShoeFormal = \"M21.5,9V8H20.5L19.5,9H15L14,8H13L7,12H4A2,2 0 0,0 2,14V16H10L13,15H15V16H21.5V14C21.5,14 22,13 22,11.5C22,10 21.5,9 21.5,9Z\";\r\nexport var mdiShoeHeel = \"M3,18H11.7L17,14H18V18H20V14C20,14 21,12 21,10C21,8 20.5,6 20.5,6H18.5L18,7L10,14H8L3,16V18Z\";\r\nexport var mdiShoePrint = \"M10.74,11.72C11.21,12.95 11.16,14.23 9.75,14.74C6.85,15.81 6.2,13 6.16,12.86L10.74,11.72M5.71,10.91L10.03,9.84C9.84,8.79 10.13,7.74 10.13,6.5C10.13,4.82 8.8,1.53 6.68,2.06C4.26,2.66 3.91,5.35 4,6.65C4.12,7.95 5.64,10.73 5.71,10.91M17.85,19.85C17.82,20 17.16,22.8 14.26,21.74C12.86,21.22 12.8,19.94 13.27,18.71L17.85,19.85M20,13.65C20.1,12.35 19.76,9.65 17.33,9.05C15.22,8.5 13.89,11.81 13.89,13.5C13.89,14.73 14.17,15.78 14,16.83L18.3,17.9C18.38,17.72 19.89,14.94 20,13.65Z\";\r\nexport var mdiShoeSneaker = \"M2 15C2 15 2 12 4 12C4.68 12 5.46 11.95 6.28 11.82C7.2 12.54 8.5 13 10 13H10.25L8.56 11.29C8.91 11.18 9.25 11.05 9.59 10.91L11.5 12.82C11.89 12.74 12.25 12.63 12.58 12.5L10.55 10.45C10.85 10.28 11.14 10.11 11.43 9.91L13.5 12C13.8 11.79 14.04 11.56 14.25 11.32L12.22 9.29C12.46 9.07 12.7 8.83 12.92 8.58L14.79 10.45C14.91 10.14 15 9.83 15 9.5C15 8.65 14.55 7.89 13.84 7.28C13.89 7.19 13.95 7.1 14 7L15.53 6.23C16.38 7.17 18.14 7.84 20.25 7.97L20.3 8H21C21 8 22 9 22 12.5C22 13.07 22 13.57 21.96 14H19C17.9 14 16.58 14.26 15.3 14.5C14.12 14.76 12.9 15 12 15H2M21 17C21 17 21.58 17 21.86 15H19C17 15 14 16 12 16H2.28C2.62 16.6 3.26 17 4 17H21Z\";\r\nexport var mdiShopping = \"M12,13A5,5 0 0,1 7,8H9A3,3 0 0,0 12,11A3,3 0 0,0 15,8H17A5,5 0 0,1 12,13M12,3A3,3 0 0,1 15,6H9A3,3 0 0,1 12,3M19,6H17A5,5 0 0,0 12,1A5,5 0 0,0 7,6H5C3.89,6 3,6.89 3,8V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V8C21,6.89 20.1,6 19,6Z\";\r\nexport var mdiShoppingMusic = \"M12,3A3,3 0 0,0 9,6H15A3,3 0 0,0 12,3M19,6A2,2 0 0,1 21,8V20A2,2 0 0,1 19,22H5C3.89,22 3,21.1 3,20V8C3,6.89 3.89,6 5,6H7A5,5 0 0,1 12,1A5,5 0 0,1 17,6H19M9,19L16.5,14L9,10V19Z\";\r\nexport var mdiShoppingOutline = \"M19 6H17C17 3.2 14.8 1 12 1S7 3.2 7 6H5C3.9 6 3 6.9 3 8V20C3 21.1 3.9 22 5 22H19C20.1 22 21 21.1 21 20V8C21 6.9 20.1 6 19 6M12 3C13.7 3 15 4.3 15 6H9C9 4.3 10.3 3 12 3M19 20H5V8H19V20M12 12C10.3 12 9 10.7 9 9H7C7 11.8 9.2 14 12 14S17 11.8 17 9H15C15 10.7 13.7 12 12 12Z\";\r\nexport var mdiShoppingSearch = \"M19 6H17A5 5 0 0 0 7 6H5A2 2 0 0 0 3 8V20A2 2 0 0 0 5 22H12.05A6.5 6.5 0 0 1 9 16.5A6.4 6.4 0 0 1 10.25 12.68A5 5 0 0 1 7 8H9A3 3 0 0 0 12 11H12.06A6.22 6.22 0 0 1 14.06 10.16A3 3 0 0 0 15 8H17A4.88 4.88 0 0 1 16.54 10.09A6.5 6.5 0 0 1 21 13.09V8A2 2 0 0 0 19 6M9 6A3 3 0 0 1 15 6M19.31 18.9A4.5 4.5 0 1 0 17.88 20.32L21 23.39L22.39 22M15.5 19A2.5 2.5 0 1 1 18 16.5A2.5 2.5 0 0 1 15.5 19Z\";\r\nexport var mdiShoppingSearchOutline = \"M19.31 18.9C20.64 16.8 20 14 17.91 12.69S13.03 12 11.7 14.1 11 19 13.1 20.3C14.56 21.22 16.42 21.23 17.88 20.32L21 23.39L22.39 22M15.5 19C14.12 19 13 17.88 13 16.5S14.12 14 15.5 14 18 15.12 18 16.5 16.88 19 15.5 19M10.03 20H5V8H19V11.03C19.81 11.55 20.5 12.24 21 13.05V8C21 6.9 20.1 6 19 6H17C17 3.2 14.8 1 12 1S7 3.2 7 6H5C3.9 6 3 6.9 3 8V20C3 21.1 3.9 22 5 22H12.05C11.24 21.5 10.55 20.81 10.03 20M12 3C13.7 3 15 4.3 15 6H9C9 4.3 10.3 3 12 3M15 9H17C17 9.4 16.95 9.78 16.86 10.15C16.42 10.05 15.97 10 15.5 10C15.27 10 15.04 10 14.82 10.04C14.93 9.71 15 9.37 15 9M9.76 13.46C8.12 12.65 7 11 7 9H9C9 10.34 9.82 11.42 11 11.82C10.5 12.3 10.08 12.85 9.76 13.46Z\";\r\nexport var mdiShore = \"M20 12H22V14H20C18.6 14 17.3 13.6 16 13C13.5 14.3 10.5 14.3 8 13C6.7 13.6 5.4 14 4 14H2V12H4C5.4 12 6.8 11.5 8 10.7C10.4 12.4 13.6 12.4 16 10.7C17.2 11.5 18.6 12 20 12M20 6H22V8H20C18.6 8 17.3 7.7 16 7C13.5 8.3 10.5 8.3 8 7C6.7 7.7 5.4 8 4 8H2V6H4C5.4 6 6.8 5.5 8 4.7C10.4 6.4 13.6 6.4 16 4.7C17.2 5.5 18.6 6 20 6M22 20H2V18H22\";\r\nexport var mdiShovel = \"M15.1,1.81L12.27,4.64C11.5,5.42 11.5,6.69 12.27,7.47L13.68,8.88L9.13,13.43L6.31,10.6L4.89,12C-0.06,17 3.5,20.5 3.5,20.5C3.5,20.5 7,24 12,19.09L13.41,17.68L10.61,14.88L15.15,10.34L16.54,11.73C17.32,12.5 18.59,12.5 19.37,11.73L22.2,8.9L15.1,1.81M17.93,10.28L16.55,8.9L15.11,7.46L13.71,6.06L15.12,4.65L19.35,8.88L17.93,10.28Z\";\r\nexport var mdiShovelOff = \"M15.1,1.81L12.27,4.65C11.5,5.43 11.5,6.69 12.27,7.47L13.68,8.89L13,9.62L14.44,11.06L15.17,10.33L16.56,11.72C17.34,12.5 18.61,12.5 19.39,11.72L22.22,8.88L15.1,1.81M17.93,10.28L13.7,6.06L15.11,4.65L19.34,8.88L17.93,10.28M20.7,20.24L19.29,21.65L11.5,13.88L10.5,14.88L13.33,17.69L12,19.09C7,24 3.5,20.5 3.5,20.5C3.5,20.5 -0.06,17 4.89,12L6.31,10.6L9.13,13.43L10.13,12.43L2.35,4.68L3.77,3.26L20.7,20.24Z\";\r\nexport var mdiShower = \"M21,14V15C21,16.91 19.93,18.57 18.35,19.41L19,22H17L16.5,20C16.33,20 16.17,20 16,20H8C7.83,20 7.67,20 7.5,20L7,22H5L5.65,19.41C4.07,18.57 3,16.91 3,15V14H2V12H20V5A1,1 0 0,0 19,4C18.5,4 18.12,4.34 18,4.79C18.63,5.33 19,6.13 19,7H13A3,3 0 0,1 16,4C16.06,4 16.11,4 16.17,4C16.58,2.84 17.69,2 19,2A3,3 0 0,1 22,5V14H21V14M19,14H5V15A3,3 0 0,0 8,18H16A3,3 0 0,0 19,15V14Z\";\r\nexport var mdiShowerHead = \"M20,20A1,1 0 0,1 21,21A1,1 0 0,1 20,22A1,1 0 0,1 19,21A1,1 0 0,1 20,20M16,20A1,1 0 0,1 17,21A1,1 0 0,1 16,22A1,1 0 0,1 15,21A1,1 0 0,1 16,20M12,20A1,1 0 0,1 13,21A1,1 0 0,1 12,22A1,1 0 0,1 11,21A1,1 0 0,1 12,20M8,20A1,1 0 0,1 9,21A1,1 0 0,1 8,22A1,1 0 0,1 7,21A1,1 0 0,1 8,20M4,20A1,1 0 0,1 5,21A1,1 0 0,1 4,22A1,1 0 0,1 3,21A1,1 0 0,1 4,20M6,17A1,1 0 0,1 7,18A1,1 0 0,1 6,19H6A1,1 0 0,1 5,18A1,1 0 0,1 6,17H6M10,17A1,1 0 0,1 11,18A1,1 0 0,1 10,19A1,1 0 0,1 9,18A1,1 0 0,1 10,17M14,17A1,1 0 0,1 15,18A1,1 0 0,1 14,19A1,1 0 0,1 13,18A1,1 0 0,1 14,17M18,17A1,1 0 0,1 19,18A1,1 0 0,1 18,19A1,1 0 0,1 17,18A1,1 0 0,1 18,17M8,14A1,1 0 0,1 9,15A1,1 0 0,1 8,16A1,1 0 0,1 7,15A1,1 0 0,1 8,14M12,14A1,1 0 0,1 13,15A1,1 0 0,1 12,16A1,1 0 0,1 11,15A1,1 0 0,1 12,14M16,14A1,1 0 0,1 17,15A1,1 0 0,1 16,16A1,1 0 0,1 15,15A1,1 0 0,1 16,14M19,12H5V10H19V12M17.92,9H6.08C6.5,6.5 8.5,4.5 11,4.08V2H13V4.08C15.5,4.5 17.5,6.5 17.92,9Z\";\r\nexport var mdiShredder = \"M6,3V7H8V5H16V7H18V3H6M5,8A3,3 0 0,0 2,11V17H5V14H19V17H22V11A3,3 0 0,0 19,8H5M18,10A1,1 0 0,1 19,11A1,1 0 0,1 18,12A1,1 0 0,1 17,11A1,1 0 0,1 18,10M7,16V21H9V16H7M11,16V20H13V16H11M15,16V21H17V16H15Z\";\r\nexport var mdiShuffle = \"M14.83,13.41L13.42,14.82L16.55,17.95L14.5,20H20V14.5L17.96,16.54L14.83,13.41M14.5,4L16.54,6.04L4,18.59L5.41,20L17.96,7.46L20,9.5V4M10.59,9.17L5.41,4L4,5.41L9.17,10.58L10.59,9.17Z\";\r\nexport var mdiShuffleDisabled = \"M16,4.5V7H5V9H16V11.5L19.5,8M16,12.5V15H5V17H16V19.5L19.5,16\";\r\nexport var mdiShuffleVariant = \"M17,3L22.25,7.5L17,12L22.25,16.5L17,21V18H14.26L11.44,15.18L13.56,13.06L15.5,15H17V12L17,9H15.5L6.5,18H2V15H5.26L14.26,6H17V3M2,6H6.5L9.32,8.82L7.2,10.94L5.26,9H2V6Z\";\r\nexport var mdiShuriken = \"M14.5 9.5L12 2L9.5 9.5L2 12L9.5 14.5L12 22L14.5 14.5L22 12L14.5 9.5M12 13.7C11.1 13.7 10.3 13 10.3 12C10.3 11.1 11 10.3 12 10.3C12.9 10.3 13.7 11 13.7 12C13.7 12.9 12.9 13.7 12 13.7Z\";\r\nexport var mdiSickle = \"M19.3 7.2C17.5 4.7 14.9 3 12 2C26.2 10.5 15.4 22.9 8.5 15.5L5.9 16L2.5 19.4C1.9 20 1.9 21 2.5 21.5C3.1 22.1 4.1 22.1 4.6 21.5L7.8 18.3C15.3 24.3 25 15 19.3 7.2Z\";\r\nexport var mdiSigma = \"M18,6H8.83L14.83,12L8.83,18H18V20H6V18L12,12L6,6V4H18V6Z\";\r\nexport var mdiSigmaLower = \"M19,12C19,16.42 15.64,20 11.5,20C7.36,20 4,16.42 4,12C4,7.58 7.36,4 11.5,4H20V6H16.46C18,7.47 19,9.61 19,12M11.5,6C8.46,6 6,8.69 6,12C6,15.31 8.46,18 11.5,18C14.54,18 17,15.31 17,12C17,8.69 14.54,6 11.5,6Z\";\r\nexport var mdiSignCaution = \"M2,3H22V13H18V21H16V13H8V21H6V13H2V3M18.97,11L20,9.97V7.15L16.15,11H18.97M13.32,11L19.32,5H16.5L10.5,11H13.32M7.66,11L13.66,5H10.83L4.83,11H7.66M5.18,5L4,6.18V9L8,5H5.18Z\";\r\nexport var mdiSignDirection = \"M11,12H3.5L6,9.5L3.5,7H11V3L12,2L13,3V7H18L20.5,9.5L18,12H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V12Z\";\r\nexport var mdiSignDirectionMinus = \"M20.5 9.5L18 12H13V22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18M23 18H15V20H23Z\";\r\nexport var mdiSignDirectionPlus = \"M13 20H13.09A5.5 5.5 0 0 0 13.81 22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18L20.5 9.5L18 12H13M18 15V18H15V20H18V23H20V20H23V18H20V15Z\";\r\nexport var mdiSignDirectionRemove = \"M13 20H13.09A5.5 5.5 0 0 0 13.81 22H9A2 2 0 0 1 11 20V12H3.5L6 9.5L3.5 7H11V3L12 2L13 3V7H18L20.5 9.5L18 12H13M21.12 15.46L19 17.59L16.88 15.46L15.46 16.88L17.59 19L15.46 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiSignLanguage = \"M7.5 4C7.9 3.6 8.5 3.6 8.9 4L11.8 7C11 7.4 10.6 7.6 10.2 8.2L7.5 5.5C7.1 5.1 7.1 4.4 7.5 4M6.3 7.2C6.7 6.8 7.3 6.8 7.7 7.2L9.6 9.2C9.4 9.8 9.3 10.5 9.4 11H8.6L6.3 8.6C5.9 8.2 5.9 7.6 6.3 7.2M19 21.5C19 22.9 17.9 24 16.5 24H5.5C5 24 4.5 23.5 4.5 23S5 22 5.5 22H10V21H4C3.5 21 3 20.5 3 20S3.5 19 4 19H10V18H3C2.5 18 2 17.5 2 17S2.5 16 3 16H10V15H4.5C4 15 3.5 14.5 3.5 14S4 13 4.5 13H12.5L11.6 11.1C11.2 10.4 11.5 9.5 12.3 9.1L12.5 9L18.2 14.5C18.7 15 19 15.6 19 16.3V21.5M22 11.3C22 12 21.7 12.6 21.2 13.1L20.3 13.9C20.1 13.6 19.9 13.3 19.6 13L19 12.4L15.4 9L12.7 6.6L8.9 2.6C8.5 2.2 8.5 1.6 8.9 1.2C9.3 .8 9.9 .8 10.3 1.2L15.1 6.3L15.8 5.6L12 1.6C11.6 1.2 11.6 .6 12 .2S13-.2 13.4 .2L18.9 6L19.6 4C20.1 3.4 21 3 21.7 3.2L22 3.3V11.3Z\";\r\nexport var mdiSignLanguageOutline = \"M7.5 4C7.9 3.6 8.5 3.6 8.9 4L11.8 7C11 7.4 10.6 7.6 10.2 8.2L7.5 5.5C7.1 5.1 7.1 4.4 7.5 4M6.3 7.2C6.7 6.8 7.3 6.8 7.7 7.2L9.6 9.2C9.4 9.8 9.3 10.5 9.4 11H8.6L6.3 8.6C5.9 8.2 5.9 7.6 6.3 7.2M18.2 14.5L12.5 9L12.2 9.1C11.5 9.5 11.2 10.4 11.5 11.1L12.4 13H4.4C3.9 13 3.4 13.5 3.4 14S3.9 15 4.4 15H10V16H3C2.5 16 2 16.5 2 17S2.5 18 3 18H10V19H4C3.5 19 3 19.5 3 20S3.5 21 4 21H10V22H5.5C5 22 4.5 22.5 4.5 23S5 24 5.5 24H16.5C17.9 24 19 22.9 19 21.5V16.3C19 15.6 18.7 14.9 18.2 14.5M17 21C17 21.5 16.5 22 16 22H12V15H14V13.2L16.7 15.7C16.9 15.9 17 16.2 17 16.4V21M22 11.3C22 12 21.7 12.6 21.2 13.1L20.3 13.9C20.1 13.6 19.9 13.3 19.6 13L19 12.4L19.7 11.7C19.9 11.5 20 11.2 20 11V7.3L18.7 8.5L17.3 7L15.4 9L12.7 6.6L8.9 2.6C8.5 2.2 8.5 1.6 8.9 1.2C9.3 .8 9.9 .8 10.3 1.2L15.1 6.3L15.8 5.6L12 1.6C11.6 1.2 11.6 .6 12 .2S13-.2 13.4 .2L18.9 6L19.6 4C20.1 3.4 21 3 21.7 3.2L22 3.3V11.3Z\";\r\nexport var mdiSignPole = \"M11 3L12 2L13 3V20C14.11 20 15 20.9 15 22H9C9 20.9 9.9 20 11 20V3Z\";\r\nexport var mdiSignRealEstate = \"M18 8H8C6.9 8 6 8.9 6 10V16C6 17.11 6.9 18 8 18H18C19.11 18 20 17.11 20 16V10C20 8.9 19.11 8 18 8M14 16H8V14H14V16M18 12H8V10H18V12M22 6H4V22H2V2H4V4H22V6Z\";\r\nexport var mdiSignText = \"M11,3L12,2L13,3V5H20A1,1 0 0,1 21,6V16A1,1 0 0,1 20,17H13V20A2,2 0 0,1 15,22H9A2,2 0 0,1 11,20V17H4A1,1 0 0,1 3,16V6A1,1 0 0,1 4,5H11V3M6,8V10H18V8H6M6,12V14H13V12H6Z\";\r\nexport var mdiSignYield = \"M20.5 3H3.5C2.4 3 1.6 4.3 2.2 5.3L10.7 20.2C11 20.7 11.5 21 12 21S13 20.7 13.3 20.2L21.8 5.3C22.4 4.3 21.6 3 20.5 3M12 18.5L4.3 5H19.6L12 18.5M6.9 6.5H17.1L12 15.5L6.9 6.5Z\";\r\nexport var mdiSignal = \"M3,21H6V18H3M8,21H11V14H8M13,21H16V9H13M18,21H21V3H18V21Z\";\r\nexport var mdiSignal2g = \"M11,19.5H2V13.5A3,3 0 0,1 5,10.5H8V7.5H2V4.5H8A3,3 0 0,1 11,7.5V10.5A3,3 0 0,1 8,13.5H5V16.5H11M22,10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5\";\r\nexport var mdiSignal3g = \"M11,16.5V14.25C11,13 10,12 8.75,12C10,12 11,11 11,9.75V7.5A3,3 0 0,0 8,4.5H2V7.5H8V10.5H5V13.5H8V16.5H2V19.5H8A3,3 0 0,0 11,16.5M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5Z\";\r\nexport var mdiSignal4g = \"M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5M8,19.5H11V4.5H8V10.5H5V4.5H2V13.5H8V19.5Z\";\r\nexport var mdiSignal5g = \"M22,16.5V10.5H17.5V13.5H19V16.5H16V7.5H22V4.5H16A3,3 0 0,0 13,7.5V16.5A3,3 0 0,0 16,19.5H19A3,3 0 0,0 22,16.5M10,4.5H3V12L3,13.5H7V16.5H3V19.5H8.5A1.5,1.5 0 0,0 10,18V12A1.5,1.5 0 0,0 8.5,10.5H6V7.5H10V4.5Z\";\r\nexport var mdiSignalCellular1 = \"M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalCellular2 = \"M19.5,5.5V18.5H17.5V5.5H19.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalCellular3 = \"M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalCellularOutline = \"M19.5,5.5V18.5H17.5V5.5H19.5M12.5,10.5V18.5H10.5V10.5H12.5M5.5,15.5V18.5H3.5V15.5H5.5M21,4H16V20H21V4M14,9H9V20H14V9M7,14H2V20H7V14Z\";\r\nexport var mdiSignalDistanceVariant = \"M4,6V4A12,12 0 0,1 16,16H14A10,10 0 0,0 4,6M4,10V8A8,8 0 0,1 12,16H10A6,6 0 0,0 4,10M4,12A4,4 0 0,1 8,16H4V12M3,18H19V16L22,19L19,22V20H3V18Z\";\r\nexport var mdiSignalHspa = \"M10.5,10.5H13.5V4.5H16.5V19.5H13.5V13.5H10.5V19.5H7.5V4.5H10.5V10.5Z\";\r\nexport var mdiSignalHspaPlus = \"M19,8V11H22V14H19V17H16V14H13V11H16V8H19M5,10.5H8V4.5H11V19.5H8V13.5H5V19.5H2V4.5H5V10.5Z\";\r\nexport var mdiSignalOff = \"M18,3V16.18L21,19.18V3H18M4.28,5L3,6.27L10.73,14H8V21H11V14.27L13,16.27V21H16V19.27L19.73,23L21,21.72L4.28,5M13,9V11.18L16,14.18V9H13M3,18V21H6V18H3Z\";\r\nexport var mdiSignalVariant = \"M4,6V4H4.1C12.9,4 20,11.1 20,19.9V20H18V19.9C18,12.2 11.8,6 4,6M4,10V8A12,12 0 0,1 16,20H14A10,10 0 0,0 4,10M4,14V12A8,8 0 0,1 12,20H10A6,6 0 0,0 4,14M4,16A4,4 0 0,1 8,20H4V16Z\";\r\nexport var mdiSignature = \"M22,22H2V20H22V22M2.26,16.83L5.09,14L2.26,11.17L3.67,9.76L6.5,12.59L9.33,9.76L10.74,11.17L7.91,14L10.74,16.83L9.33,18.24L6.5,15.41L3.67,18.24L2.26,16.83Z\";\r\nexport var mdiSignatureFreehand = \"M22,22H2V20H22V22M6.2,17.3L5.5,18L4.1,16.6L2.7,18L2,17.3L3.4,15.9L2,14.5L2.7,13.8L4.1,15.2L5.5,13.8L6.2,14.5L4.8,15.9L6.2,17.3M16.22,14.43C16.22,13.85 15.5,13.2 14.06,12.46C12.23,11.54 11,10.79 10.36,10.24C9.71,9.68 9.39,9.06 9.39,8.37C9.39,6.59 10.3,5.12 12.12,3.95C13.94,2.78 15.43,2.19 16.57,2.19C17.31,2.19 17.85,2.32 18.18,2.58C18.5,2.83 18.68,3.27 18.68,3.9C18.68,4.18 18.56,4.42 18.31,4.63C18.07,4.83 17.87,4.93 17.74,4.93C17.63,4.93 17.43,4.83 17.13,4.64L16.55,4.38C16.08,4.38 15.14,4.71 13.71,5.38C12.29,6.04 11.58,6.79 11.58,7.63C11.58,8.14 11.82,8.6 12.32,9C12.82,9.42 13.71,9.93 15,10.53C16.03,11 16.86,11.5 17.5,12.07C18.1,12.61 18.41,13.25 18.41,14C18.41,15.34 17.47,16.41 15.58,17.17C13.7,17.94 11.9,18.32 10.19,18.32C8.75,18.32 8,17.83 8,16.86C8,16.5 8.19,16.27 8.5,16.11C8.83,15.95 9.16,15.87 9.5,15.87L10.25,16L10.97,16.13C11.95,16.13 13,15.97 14.13,15.64C15.26,15.32 15.96,14.91 16.22,14.43Z\";\r\nexport var mdiSignatureImage = \"M22,22H2V20H22V22M6.2,17.3L4.8,15.9L6.2,14.5L5.5,13.8L4.1,15.2L2.7,13.8L2,14.5L3.4,15.9L2,17.3L2.7,18L4.1,16.6L5.5,18L6.2,17.3M20,5H10A2,2 0 0,0 8,7V16A2,2 0 0,0 10,18H20A2,2 0 0,0 22,16V7A2,2 0 0,0 20,5M10,16L12.6,12.7L14.4,14.9L16.8,11.6L20,16H10Z\";\r\nexport var mdiSignatureText = \"M22,22H2V20H22V22M6.2,17.3L4.8,15.9L6.2,14.5L5.5,13.8L4.1,15.2L2.7,13.8L2,14.5L3.4,15.9L2,17.3L2.7,18L4.1,16.6L5.5,18L6.2,17.3M20.5,3L21.7,7.4L20.7,7.7C20.2,6.8 19.8,6 19.3,5.5C18.7,5 18.1,5 17.5,5H15V15.5C15,16 15,16.5 15.3,16.7C15.6,16.9 16.3,16.9 17,16.9V17.9H11V16.9C11.7,16.9 12.3,16.9 12.7,16.7C13,16.5 13,16 13,15.5V5H10.5C9.9,5 9.3,5 8.7,5.4C8.2,5.8 7.7,6.7 7.3,7.6L6.3,7.3L7.5,3H20.5Z\";\r\nexport var mdiSilo = \"M15 7.8C14.6 4.5 11.8 2 8.5 2C6.8 2 5.1 2.7 3.9 3.9S2 6.8 2 8.5V22H15V9.8L18 11.6V22H20V12.8L22 14V12L15 7.8M11 20H6V18H11V20M11 16H6V14H11V16M11 12H6V10H11V12M4.3 7C4.9 5.2 6.6 4 8.5 4S12.1 5.2 12.7 7H4.3Z\";\r\nexport var mdiSiloOutline = \"M8.5,2C11.85,2 14.6,4.53 14.96,7.78L22,12V14L20,12.8V22H18V11.6L15,9.8V22H13V9H4V22H2V8.5A6.5,6.5 0 0,1 8.5,2M8.5,4C6.54,4 4.87,5.25 4.26,7H12.74C12.13,5.25 10.46,4 8.5,4M6,11H11V13H6V11M6,15H11V17H6V15M6,19H11V21H6V19Z\";\r\nexport var mdiSilverware = \"M8.1,13.34L3.91,9.16C2.35,7.59 2.35,5.06 3.91,3.5L10.93,10.5L8.1,13.34M14.88,11.53L13.41,13L20.29,19.88L18.88,21.29L12,14.41L5.12,21.29L3.71,19.88L13.47,10.12C12.76,8.59 13.26,6.44 14.85,4.85C16.76,2.93 19.5,2.57 20.96,4.03C22.43,5.5 22.07,8.24 20.15,10.15C18.56,11.74 16.41,12.24 14.88,11.53Z\";\r\nexport var mdiSilverwareClean = \"M15 0L14.38 1.37L13 2L14.38 2.63L15 4L15.63 2.63L17 2L15.63 1.37L15 0M10.5 2L9.41 4.41L7 5.5L9.41 6.59L10.5 9L11.6 6.59L14 5.5L11.6 4.41L10.5 2M18.89 5.14C17.56 5.06 16.04 5.65 14.84 6.84C13.25 8.43 12.75 10.58 13.46 12.11L3.7 21.87L5.11 23.28L12 16.41L18.88 23.29L20.29 21.88L13.41 15L14.88 13.53C16.41 14.24 18.56 13.74 20.15 12.15C22.06 10.24 22.43 7.5 20.96 6.03C20.41 5.5 19.68 5.19 18.89 5.14M3.91 5.5C2.35 7.06 2.35 9.59 3.91 11.16L8.1 15.34L10.93 12.5L3.91 5.5Z\";\r\nexport var mdiSilverwareFork = \"M5.12,21.29L3.71,19.88L13.36,10.22L13.16,10C12.38,9.23 12.38,7.97 13.16,7.19L17.5,2.82L18.43,3.74L15.19,7L16.15,7.94L19.39,4.69L20.31,5.61L17.06,8.85L18,9.81L21.26,6.56L22.18,7.5L17.81,11.84C17.03,12.62 15.77,12.62 15,11.84L14.78,11.64L5.12,21.29Z\";\r\nexport var mdiSilverwareForkKnife = \"M11,9H9V2H7V9H5V2H3V9C3,11.12 4.66,12.84 6.75,12.97V22H9.25V12.97C11.34,12.84 13,11.12 13,9V2H11V9M16,6V14H18.5V22H21V2C18.24,2 16,4.24 16,6Z\";\r\nexport var mdiSilverwareSpoon = \"M14.88,11.53L5.12,21.29L3.71,19.88L13.47,10.12C12.76,8.59 13.26,6.44 14.85,4.85C16.76,2.93 19.5,2.57 20.96,4.03C22.43,5.5 22.07,8.24 20.15,10.15C18.56,11.74 16.41,12.24 14.88,11.53Z\";\r\nexport var mdiSilverwareVariant = \"M8.1,13.34L3.91,9.16C2.35,7.59 2.35,5.06 3.91,3.5L10.93,10.5L8.1,13.34M13.41,13L20.29,19.88L18.88,21.29L12,14.41L5.12,21.29L3.71,19.88L13.36,10.22L13.16,10C12.38,9.23 12.38,7.97 13.16,7.19L17.5,2.82L18.43,3.74L15.19,7L16.15,7.94L19.39,4.69L20.31,5.61L17.06,8.85L18,9.81L21.26,6.56L22.18,7.5L17.81,11.84C17.03,12.62 15.77,12.62 15,11.84L14.78,11.64L13.41,13Z\";\r\nexport var mdiSim = \"M20,4A2,2 0 0,0 18,2H10L4,8V20A2,2 0 0,0 6,22H18C19.11,22 20,21.1 20,20V4M9,19H7V17H9V19M17,19H15V17H17V19M9,15H7V11H9V15M13,19H11V15H13V19M13,13H11V11H13V13M17,15H15V11H17V15Z\";\r\nexport var mdiSimAlert = \"M13 13H11V7H13M13 17H11V15H13M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2Z\";\r\nexport var mdiSimAlertOutline = \"M13 13H11V7H13M13 17H11V15H13M18 4V20H6V8.8L10.8 4H18M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2Z\";\r\nexport var mdiSimOff = \"M20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20V8L5.06 6.95L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M20 4C20 2.9 19.11 2 18 2H10L7.6 4.4L20 16.8V4Z\";\r\nexport var mdiSimOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L5.06 6.95L4 8V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M18 20H6V8.83L6.47 8.36L18 19.89V20M10.83 4H18V14.8L20 16.8V4C20 2.9 19.11 2 18 2H10L7.6 4.4L9 5.81L10.83 4Z\";\r\nexport var mdiSimOutline = \"M18 4V20H6V8.8L10.8 4H18M18 2H10L4 8V20C4 21.1 4.9 22 6 22H18C19.1 22 20 21.1 20 20V4C20 2.9 19.1 2 18 2M9.5 19H7.5V17H9.5V19M16.5 19H14.5V17H16.5V19M9.5 15H7.5V11H9.5V15M13 19H11V15H13V19M13 13H11V11H13V13M16.5 15H14.5V11H16.5V15Z\";\r\nexport var mdiSimpleIcons = \"M18.25 17C18.25 17.88 18.07 18.74 17.71 19.53H16.31C17.71 17.15 16.91 14.09 14.53 12.69C13.76 12.24 12.89 12 12 12C9.24 12 7 9.76 7 7C7 4.24 9.24 2 12 2C14.76 2 17 4.24 17 7H15.75C15.75 4.93 14.07 3.25 12 3.25C9.93 3.25 8.25 4.93 8.25 7C8.25 9.07 9.93 10.75 12 10.75C15.45 10.75 18.25 13.56 18.25 17M6.29 19.53C5.93 18.74 5.75 17.87 5.75 17H7C7 17.93 7.25 18.79 7.69 19.53H6.29M18.25 20.75V22H5.75V20.75H9.5V15.75H8.25V14.5H15.75V15.75H14.5V20.75H18.25M13.25 15.75H10.75V20.75H13.25V15.75M14.44 7.07C14.4 8.4 13.33 9.47 12 9.5C10.62 9.46 9.53 8.32 9.57 6.94C9.6 5.61 10.67 4.53 12 4.5C13.38 4.54 14.47 5.68 14.44 7.07M13.25 7C13.25 6.31 12.69 5.75 12 5.75C11.31 5.75 10.75 6.31 10.75 7C10.75 7.69 11.31 8.25 12 8.25C12.69 8.25 13.25 7.69 13.25 7Z\";\r\nexport var mdiSinaWeibo = \"M9.82,13.87C10.89,13.87 11.77,14.74 11.77,15.82A1.95,1.95 0 0,1 9.82,17.77C8.74,17.77 7.87,16.89 7.87,15.82C7.87,14.74 8.74,13.87 9.82,13.87M14.5,3.34L15.18,3.31C18.94,3.31 22,6.37 22,10.13L21.95,10.95L20.76,10.58L20.78,10.13C20.78,7.04 18.27,4.53 15.18,4.53L14.83,4.54L14.5,3.34M15.32,6.23C17.38,6.3 19.05,8 19.08,10.06L17.84,9.68C17.65,8.56 16.78,7.68 15.67,7.5L15.32,6.23M2,15.41C1.97,14.8 2.07,12.64 4.95,9.97C8.35,6.81 9.82,7.05 9.82,7.05C9.82,7.05 13,6.75 11.06,10.46H11.13C11.6,9.96 12.62,9.21 14.69,9C16.77,8.79 16.77,10.5 16.5,11.7C18.38,12.64 19.56,14.03 19.56,15.58C19.56,18.4 15.63,20.69 10.78,20.69H10.65L10.5,20.69C7,20.69 4,19.42 2.71,17.59C2.25,16.97 2,16.29 2,15.58V15.41M9.82,11.92C6.59,11.92 3.97,13.67 3.97,15.82C3.97,17.97 6.59,19.72 9.82,19.72C13.05,19.72 15.67,17.97 15.67,15.82C15.67,13.67 13.05,11.92 9.82,11.92Z\";\r\nexport var mdiSineWave = \"M16.5,21C13.5,21 12.31,16.76 11.05,12.28C10.14,9.04 9,5 7.5,5C4.11,5 4,11.93 4,12H2C2,11.63 2.06,3 7.5,3C10.5,3 11.71,7.25 12.97,11.74C13.83,14.8 15,19 16.5,19C19.94,19 20.03,12.07 20.03,12H22.03C22.03,12.37 21.97,21 16.5,21Z\";\r\nexport var mdiSitemap = \"M9,2V8H11V11H5C3.89,11 3,11.89 3,13V16H1V22H7V16H5V13H11V16H9V22H15V16H13V13H19V16H17V22H23V16H21V13C21,11.89 20.11,11 19,11H13V8H15V2H9Z\";\r\nexport var mdiSitemapOutline = \"M21 16V13C21 11.89 20.11 11 19 11H13V8H15V2H9V8H11V11H5C3.89 11 3 11.89 3 13V16H1V22H7V16H5V13H11V16H9V22H15V16H13V13H19V16H17V22H23V16H21M11 4H13V6H11V4M5 20H3V18H5V20M13 20H11V18H13V20M21 20H19V18H21V20Z\";\r\nexport var mdiSizeL = \"M9 7V17H15V15H11V7H9Z\";\r\nexport var mdiSizeM = \"M9 7C7.9 7 7 7.9 7 9V17H9V9H11V16H13V9H15V17H17V9C17 7.9 16.11 7 15 7H9Z\";\r\nexport var mdiSizeS = \"M11 7C9.9 7 9 7.9 9 9V11C9 12.11 9.9 13 11 13H13V15H9V17H13C14.11 17 15 16.11 15 15V13C15 11.9 14.11 11 13 11H11V9H15V7H11Z\";\r\nexport var mdiSizeXl = \"M6 7H8L9 9.5L10 7H12L10 12L12 17H10L9 14.5L8 17H6L8 12L6 7M13 7H15V15H19V17H13V7Z\";\r\nexport var mdiSizeXs = \"M6 7H8L9 9.5L10 7H12L10 12L12 17H10L9 14.5L8 17H6L8 12L6 7M15 7H19V9H15V11H17C18.11 11 19 11.9 19 13V15C19 16.11 18.11 17 17 17H13V15H17V13H15C13.9 13 13 12.11 13 11V9C13 7.9 13.9 7 15 7Z\";\r\nexport var mdiSizeXxl = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M16 7H18V15H22V17H16V7M2 7H4L5 9.5L6 7H8L6 12L8 17H6L5 14.5L4 17H2L4 12L2 7Z\";\r\nexport var mdiSizeXxs = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M18 7H22V9H18V11H20C21.11 11 22 11.9 22 13V15C22 16.11 21.11 17 20 17H16V15H20V13H18C16.9 13 16 12.11 16 11V9C16 7.9 16.9 7 18 7M2 7H4L5 9.5L6 7H8L6 12L8 17H6L5 14.5L4 17H2L4 12L2 7Z\";\r\nexport var mdiSizeXxxl = \"M9 7H11L12 9.5L13 7H15L13 12L15 17H13L12 14.5L11 17H9L11 12L9 7M16 7H18V15H22V17H16V7M8 15C8 16.11 7.11 17 6 17H2V15H6V13H4V11H6V9H2V7H6C7.1 7 8 7.89 8 9V10.5C8 11.33 7.33 12 6.5 12C7.33 12 8 12.67 8 13.5V15Z\";\r\nexport var mdiSkate = \"M20.95 17C20.7 18.69 19.26 20 17.5 20H16V18H19C18.93 16.72 19.26 14.04 18.53 12.95C17.56 10.9 14.83 10.56 12.93 10.05C12 10 11 9 10.84 8H8C7.72 8 7.5 7.78 7.5 7.5C7.5 7.22 7.72 7 8 7H10.5V6H8C7.72 6 7.5 5.78 7.5 5.5C7.5 5.22 7.72 5 8 5H10.5V2H2.03V18H5V20H1V22H17.5C20.36 22 22.72 19.8 23 17H20.95M14 20H7V18H14V20Z\";\r\nexport var mdiSkateOff = \"M19 15.81L13.36 10.16C15.22 10.62 17.63 11.05 18.53 12.95C18.95 13.57 19 14.71 19 15.81M20.95 17C20.92 17.21 20.87 17.41 20.8 17.6L22.32 19.12C22.68 18.5 22.92 17.77 23 17H20.95M10.5 7V6H9.2L10.2 7H10.5M22.11 21.46L20.84 22.73L19.66 21.55C19 21.83 18.27 22 17.5 22H1V20H5V18H2.03V3.92L1.11 3L2.03 2.09V2H2.12L2.39 1.73L22.11 21.46M14 18H7V20H14V18M18.06 19.95L16.11 18H16V20H17.5C17.69 20 17.88 20 18.06 19.95M10.5 5V2H5.2L8.2 5H10.5Z\";\r\nexport var mdiSkateboard = \"M9 14.5C9 15.33 8.33 16 7.5 16S6 15.33 6 14.5 6.67 13 7.5 13 9 13.67 9 14.5M16.5 13C15.67 13 15 13.67 15 14.5S15.67 16 16.5 16C17.33 16 18 15.33 18 14.5S17.33 13 16.5 13M21.59 9.19C21.14 8.87 20.5 8.97 20.19 9.41L20.06 9.59C19.88 9.85 19.57 10 19.26 10L4.74 10C4.43 10 4.13 9.85 3.94 9.59L3.81 9.41C3.5 8.97 2.86 8.87 2.41 9.19C1.96 9.5 1.87 10.15 2.19 10.59L2.32 10.77C2.88 11.54 3.79 12 4.74 12H19.26C20.21 12 21.12 11.54 21.68 10.77L21.81 10.59C22.13 10.15 22.04 9.5 21.59 9.19Z\";\r\nexport var mdiSkateboarding = \"M19.78 18.39C19.93 18.54 20 18.7 20 18.88C20 19 19.94 19.17 19.82 19.32C19.44 19.85 18.96 20.26 18.37 20.56C17.78 20.85 17.15 21 16.47 21H7.53C6.82 21 6.17 20.85 5.59 20.56C5 20.26 4.5 19.85 4.13 19.32C4.04 19.17 4 19.03 4 18.88C4 18.7 4.07 18.54 4.2 18.39S4.5 18.17 4.71 18.17C4.94 18.17 5.13 18.27 5.28 18.5C5.69 19 6.22 19.36 6.87 19.54L9.82 15.96L8.54 12.07C8.36 11.5 8.44 11 8.76 10.5L11 6.86H8.8L7 9.77L5.41 8.76L7.75 5H13.12C13.54 5 13.87 5.12 14.14 5.35C14.4 5.59 14.58 5.8 14.67 5.97L15.15 7.12C15.5 7.89 16 8.5 16.7 9C17.4 9.45 18.18 9.69 19.03 9.69V11.59C17.94 11.59 16.95 11.32 16.03 10.79C15.12 10.26 14.4 9.57 13.87 8.71L12.16 11.41L16.21 13.93V19.59H16.47C16.92 19.59 17.33 19.5 17.73 19.28S18.46 18.81 18.72 18.5C18.87 18.27 19.05 18.17 19.25 18.17S19.63 18.25 19.78 18.39M14.36 15.25L11.05 13.18L12 16.32L9.24 19.59H14.36V15.25M15 1C13.9 1 13 1.9 13 3S13.9 5 15 5 17 4.11 17 3 16.11 1 15 1M8 21.5C7.59 21.5 7.25 21.84 7.25 22.25S7.59 23 8 23C8.41 23 8.75 22.66 8.75 22.25S8.41 21.5 8 21.5M16 21.5C15.59 21.5 15.25 21.84 15.25 22.25S15.59 23 16 23 16.75 22.66 16.75 22.25 16.41 21.5 16 21.5Z\";\r\nexport var mdiSkewLess = \"M17.5,11L15.41,20H10.5L12.59,11H17.5M20,9H11L8,22H17L20,9M4,6L8,2V5H16V7H8V10L4,6Z\";\r\nexport var mdiSkewMore = \"M12.5,11L10.41,20H5.5L7.59,11H12.5M15,9H6L3,22H12L15,9M21,6L17,2V5H9V7H17V10L21,6Z\";\r\nexport var mdiSki = \"M17.92 13.32C17.67 13.28 16.71 13 16.46 12.89L14.39 19.37L11.3 18.24L13.5 12.47L10.45 9L13 7.54C13.45 8.67 14.17 9.62 15.12 10.4S17.16 11.67 18.38 11.86L19.5 8.43L18.06 7.96L17.54 9.56C16.88 9.28 16.3 8.86 15.8 8.32C15.3 7.77 14.94 7.13 14.72 6.41L14.39 5.33C14.27 4.93 14.04 4.61 13.71 4.37C13.38 4.14 13 4 12.63 3.97C12.24 3.94 11.86 4 11.5 4.21L8 6.23C7.63 6.44 7.36 6.74 7.19 7.12C7 7.5 6.96 7.88 7 8.29S7.26 9.06 7.54 9.37L11.11 13.08L9.42 17.54L2.47 15.05L2 16.46L16.04 21.58C16.82 21.86 17.65 22 18.53 22C19.15 22 19.76 21.92 20.36 21.77C20.95 21.61 21.5 21.39 22 21.11L20.87 20C20.12 20.33 19.34 20.5 18.53 20.5C17.87 20.5 17.21 20.39 16.55 20.17L15.8 19.89L17.92 13.32M19 3C19 4.11 18.11 5 17 5S15 4.11 15 3 15.9 1 17 1 19 1.9 19 3Z\";\r\nexport var mdiSkiCrossCountry = \"M19 14H17.6V22H19V14M6.44 22H5L7 14H8.44L6.44 22M8.76 9.54V13H7V8.32L11.61 6.31C12.04 6.14 12.5 6.13 12.96 6.27S13.79 6.69 14.06 7.1L15 8.58C15.37 9.25 15.9 9.95 16.62 10.37C17.33 10.79 18.13 11 19 11V12.83C18 12.83 17 12.62 16.13 12.2S14.5 11.06 13.88 10.37L13.31 13.16L15.28 15V22H13.4V16.5L11.5 14.55L9.77 22H7.8L10.43 8.89L8.76 9.54M16 4C16 5.11 15.11 6 14 6S12 5.11 12 4 12.9 2 14 2 16 2.9 16 4Z\";\r\nexport var mdiSkiWater = \"M4.2 3.5C4.2 2.7 4.9 1.9 5.8 1.9C6.7 1.9 7.4 2.6 7.4 3.5S6.6 5 5.8 5 4.2 4.3 4.2 3.5M22 3.9L21.5 3L13.5 7.1L14 8L22 3.9M20.8 20.3L21.7 21.2C21.1 21.8 20.5 22.2 19.8 22.5S18.3 23 17.5 23H2V21.7H4.7L6.8 18.2L4.5 15L3.7 7.2C3.7 6.3 4.5 5.5 5.4 5.5C5.7 5.5 6 5.6 6.2 5.7L9.7 8.3L12 7.5L12.8 9.1L9.3 10.6C9.2 10.5 7.7 9.4 6.6 8.5L7 12L12.3 16.5L14 21.7H17.5C18.1 21.7 18.7 21.6 19.3 21.3C19.9 21.1 20.4 20.7 20.8 20.3M7 21.7H12L10.4 17.8L8.1 15.9L9.3 18.4L7 21.7Z\";\r\nexport var mdiSkipBackward = \"M20,5V19L13,12M6,5V19H4V5M13,5V19L6,12\";\r\nexport var mdiSkipBackwardOutline = \"M18,14.17L15.83,12L18,9.83V14.17M20,19V5L13,12M4,19H6V5H4M11,14.17L8.83,12L11,9.83V14.17M13,19V5L6,12\";\r\nexport var mdiSkipForward = \"M4,5V19L11,12M18,5V19H20V5M11,5V19L18,12\";\r\nexport var mdiSkipForwardOutline = \"M6,9.83L8.17,12L6,14.17V9.83M4,5V19L11,12M20,5H18V19H20M13,9.83L15.17,12L13,14.17V9.83M11,5V19L18,12\";\r\nexport var mdiSkipNext = \"M16,18H18V6H16M6,18L14.5,12L6,6V18Z\";\r\nexport var mdiSkipNextCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M8,8L13,12L8,16M14,8H16V16H14\";\r\nexport var mdiSkipNextCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4M8,8V16L13,12M14,8V16H16V8\";\r\nexport var mdiSkipNextOutline = \"M6,18L14.5,12L6,6M8,9.86L11.03,12L8,14.14M16,6H18V18H16\";\r\nexport var mdiSkipPrevious = \"M6,18V6H8V18H6M9.5,12L18,6V18L9.5,12Z\";\r\nexport var mdiSkipPreviousCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M8,8H10V16H8M16,8V16L11,12\";\r\nexport var mdiSkipPreviousCircleOutline = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4C7.59,4 4,7.59 4,12C4,16.41 7.59,20 12,20C16.41,20 20,16.41 20,12C20,7.59 16.41,4 12,4M16,8V16L11,12M10,8V16H8V8\";\r\nexport var mdiSkipPreviousOutline = \"M6,6H8V18H6M9.5,12L18,18V6M16,14.14L12.97,12L16,9.86V14.14Z\";\r\nexport var mdiSkull = \"M12,2A9,9 0 0,0 3,11C3,14.03 4.53,16.82 7,18.47V22H9V19H11V22H13V19H15V22H17V18.46C19.47,16.81 21,14 21,11A9,9 0 0,0 12,2M8,11A2,2 0 0,1 10,13A2,2 0 0,1 8,15A2,2 0 0,1 6,13A2,2 0 0,1 8,11M16,11A2,2 0 0,1 18,13A2,2 0 0,1 16,15A2,2 0 0,1 14,13A2,2 0 0,1 16,11M12,14L13.5,17H10.5L12,14Z\";\r\nexport var mdiSkullCrossbones = \"M15.8,18.5L21.8,20.1L21.4,22L12,19.5L2.6,22L2.1,20.1L8.1,18.5L2,16.9L2.5,15L11.9,17.5L21.3,15L21.8,16.9L15.8,18.5M18,8C18,9.8 17.2,11.3 16,12.4V15H14V13.7L14,13H13V15H11V13H10V13.7L10,15H8V12.4C6.8,11.3 6,9.8 6,8A6,6 0 0,1 12,2A6,6 0 0,1 18,8M11,7.5C11,6.7 10.3,6 9.5,6C8.7,6 8,6.7 8,7.5C8,8.3 8.7,9 9.5,9C10.3,9 11,8.3 11,7.5M13,11L12,9L11,11H13M16,7.5C16,6.7 15.3,6 14.5,6C13.7,6 13,6.7 13,7.5C13,8.3 13.7,9 14.5,9C15.3,9 16,8.3 16,7.5Z\";\r\nexport var mdiSkullCrossbonesOutline = \"M15.8,18.5L21.8,20.1L21.4,22L12,19.5L2.6,22L2.1,20.1L8.1,18.5L2,16.9L2.5,15L11.9,17.5L21.3,15L21.8,16.9L15.8,18.5M9.5,6C8.7,6 8,6.7 8,7.5C8,8.3 8.7,9 9.5,9C10.3,9 11,8.3 11,7.5C11,6.7 10.3,6 9.5,6M14.5,6C13.7,6 13,6.7 13,7.5C13,8.3 13.7,9 14.5,9C15.3,9 16,8.3 16,7.5C16,6.7 15.3,6 14.5,6M13,11L12,9L11,11H13M12,1C8.1,1 5,4.1 5,8C5,9.9 5.8,11.6 7,12.9V16H17V12.9C18.2,11.6 19,9.9 19,8C19,4.1 15.9,1 12,1M15,12V14H14V12H13V14H11V12H10V14H9V12H9C7.8,11.1 7,9.7 7,8C7,5.2 9.2,3 12,3C14.8,3 17,5.2 17,8C17,9.6 16.2,11.1 15,12Z\";\r\nexport var mdiSkullOutline = \"M8,15A2,2 0 0,1 6,13A2,2 0 0,1 8,11A2,2 0 0,1 10,13A2,2 0 0,1 8,15M10.5,17L12,14L13.5,17H10.5M16,15A2,2 0 0,1 14,13A2,2 0 0,1 16,11A2,2 0 0,1 18,13A2,2 0 0,1 16,15M22,11A10,10 0 0,0 12,1A10,10 0 0,0 2,11C2,13.8 3.2,16.3 5,18.1V22H19V18.1C20.8,16.3 22,13.8 22,11M17,20H15V18H13V20H11V18H9V20H7V17.2C5.2,15.7 4,13.5 4,11A8,8 0 0,1 12,3A8,8 0 0,1 20,11C20,13.5 18.8,15.8 17,17.2V20Z\";\r\nexport var mdiSkullScan = \"M2 0C.9 0 0 .9 0 2V6H2V2H6V0H2M18 0V2H22V6H24V2C24 .9 23.1 0 22 0H18M12 3C7.6 3 4 6.6 4 11C4 13.5 5.2 15.8 7 17.2V21H9V18H11V21H13V18H15V21H17V17.2C18.8 15.7 20 13.5 20 11C20 6.6 16.4 3 12 3M8 14C6.9 14 6 13.1 6 12S6.9 10 8 10 10 10.9 10 12 9.1 14 8 14M10.5 16L12 13L13.5 16H10.5M16 14C14.9 14 14 13.1 14 12S14.9 10 16 10 18 10.9 18 12 17.1 14 16 14M0 18V22C0 23.1 .9 24 2 24H6V22H2V18H0M22 18V22H18V24H22C23.1 24 24 23.1 24 22V18H22Z\";\r\nexport var mdiSkullScanOutline = \"M2 0C.9 0 0 .9 0 2V6H2V2H6V0H2M18 0V2H22V6H24V2C24 .9 23.1 0 22 0H18M9.5 13C8.7 13 8 12.3 8 11.5S8.7 10 9.5 10 11 10.7 11 11.5 10.3 13 9.5 13M11 15L12 13L13 15H11M14.5 13C13.7 13 13 12.3 13 11.5S13.7 10 14.5 10 16 10.7 16 11.5 15.3 13 14.5 13M0 18V22C0 23.1 .9 24 2 24H6V22H2V18H0M22 18V22H18V24H22C23.1 24 24 23.1 24 22V18H22M12 3C7.6 3 4 6.6 4 11C4 13 4.8 14.9 6 16.3V21H18V16.3C19.2 14.9 20 13.1 20 11C20 6.6 16.4 3 12 3M16 15.4V19H14V17H13V19H11V17H10V19H8V15.4C6.8 14.3 6 12.7 6 11C6 7.7 8.7 5 12 5S18 7.7 18 11C18 12.8 17.2 14.3 16 15.4Z\";\r\nexport var mdiSkype = \"M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M12.04,17.16C14.91,17.16 16.34,15.78 16.34,13.92C16.34,12.73 15.78,11.46 13.61,10.97L11.62,10.53C10.86,10.36 10,10.13 10,9.42C10,8.7 10.6,8.2 11.7,8.2C13.93,8.2 13.72,9.73 14.83,9.73C15.41,9.73 15.91,9.39 15.91,8.8C15.91,7.43 13.72,6.4 11.86,6.4C9.85,6.4 7.7,7.26 7.7,9.54C7.7,10.64 8.09,11.81 10.25,12.35L12.94,13.03C13.75,13.23 13.95,13.68 13.95,14.1C13.95,14.78 13.27,15.45 12.04,15.45C9.63,15.45 9.96,13.6 8.67,13.6C8.09,13.6 7.67,14 7.67,14.57C7.67,15.68 9,17.16 12.04,17.16Z\";\r\nexport var mdiSkypeBusiness = \"M12.03,16.53C9.37,16.53 8.18,15.22 8.18,14.24C8.18,13.74 8.55,13.38 9.06,13.38C10.2,13.38 9.91,15 12.03,15C13.12,15 13.73,14.43 13.73,13.82C13.73,13.46 13.55,13.06 12.83,12.88L10.46,12.29C8.55,11.81 8.2,10.78 8.2,9.81C8.2,7.79 10.1,7.03 11.88,7.03C13.5,7.03 15.46,7.94 15.46,9.15C15.46,9.67 15,9.97 14.5,9.97C13.5,9.97 13.7,8.62 11.74,8.62C10.77,8.62 10.23,9.06 10.23,9.69C10.23,10.32 11,10.5 11.66,10.68L13.42,11.07C15.34,11.5 15.83,12.62 15.83,13.67C15.83,15.31 14.57,16.53 12.03,16.53M18,6C20.07,8.04 20.85,10.89 20.36,13.55C20.77,14.27 21,15.11 21,16A5,5 0 0,1 16,21C15.11,21 14.27,20.77 13.55,20.36C10.89,20.85 8.04,20.07 6,18C3.93,15.96 3.15,13.11 3.64,10.45C3.23,9.73 3,8.89 3,8A5,5 0 0,1 8,3C8.89,3 9.73,3.23 10.45,3.64C13.11,3.15 15.96,3.93 18,6M8,5A3,3 0 0,0 5,8C5,8.79 5.3,9.5 5.8,10.04C5.1,12.28 5.63,14.82 7.4,16.6C9.18,18.37 11.72,18.9 13.96,18.2C14.5,18.7 15.21,19 16,19A3,3 0 0,0 19,16C19,15.21 18.7,14.5 18.2,13.96C18.9,11.72 18.37,9.18 16.6,7.4C14.82,5.63 12.28,5.1 10.04,5.8C9.5,5.3 8.79,5 8,5Z\";\r\nexport var mdiSlack = \"M6,15A2,2 0 0,1 4,17A2,2 0 0,1 2,15A2,2 0 0,1 4,13H6V15M7,15A2,2 0 0,1 9,13A2,2 0 0,1 11,15V20A2,2 0 0,1 9,22A2,2 0 0,1 7,20V15M9,7A2,2 0 0,1 7,5A2,2 0 0,1 9,3A2,2 0 0,1 11,5V7H9M9,8A2,2 0 0,1 11,10A2,2 0 0,1 9,12H4A2,2 0 0,1 2,10A2,2 0 0,1 4,8H9M17,10A2,2 0 0,1 19,8A2,2 0 0,1 21,10A2,2 0 0,1 19,12H17V10M16,10A2,2 0 0,1 14,12A2,2 0 0,1 12,10V5A2,2 0 0,1 14,3A2,2 0 0,1 16,5V10M14,18A2,2 0 0,1 16,20A2,2 0 0,1 14,22A2,2 0 0,1 12,20V18H14M14,17A2,2 0 0,1 12,15A2,2 0 0,1 14,13H19A2,2 0 0,1 21,15A2,2 0 0,1 19,17H14Z\";\r\nexport var mdiSlashForward = \"M7 21L14.9 3H17L9.1 21H7Z\";\r\nexport var mdiSlashForwardBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M9.3 19H7L14.7 5H17L9.3 19Z\";\r\nexport var mdiSledding = \"M22.91 16.64C22.75 15.95 22.44 15.34 21.97 14.81C21.5 14.28 20.91 13.91 20.2 13.69L19.77 15.14C20.43 15.33 20.91 15.73 21.23 16.36C21.54 17 21.58 17.62 21.37 18.27C21.15 18.93 20.73 19.41 20.12 19.73S18.88 20.08 18.23 19.86L14.9 18.79L15.37 17.38L18.7 18.46L19.16 17L17.2 16.4L15.14 11.91C14.95 11.5 14.66 11.19 14.27 10.97C13.88 10.75 13.45 10.67 13 10.74L10.88 11.11L11.91 7.84C12.06 7.37 12.03 6.91 11.81 6.5C11.6 6.04 11.24 5.74 10.74 5.59C10.33 5.46 9.91 5.5 9.47 5.68L4 8V12.1L2.4 11.58L1.94 13L5.87 14.3L5.4 15.7L1.47 14.44L1 15.84L17.76 21.32C18.45 21.54 19.13 21.57 19.82 21.41C20.5 21.26 21.12 20.94 21.65 20.5C22.18 20 22.55 19.43 22.77 18.74C23 18 23.07 17.32 22.91 16.64M6 9.33L7.93 8.5L6.9 11.67C6.74 12.14 6.79 12.61 7.04 13.08L6 12.75V9.33M13.5 18.32L6.81 16.17L7.27 14.76L13.92 16.92L13.5 18.32M9.47 13.87L13.45 13L14.62 15.56L9.47 13.87M14 3C14 4.11 13.11 5 12 5S10 4.11 10 3 10.9 1 12 1 14 1.9 14 3Z\";\r\nexport var mdiSleep = \"M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M15,16H9V14L12.39,10H9V8H15V10L11.62,14H15V16M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z\";\r\nexport var mdiSleepOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L12.73,16H9V14L9.79,13.06L2,5.27M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M9.82,8H15V10L13.54,11.72L9.82,8M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z\";\r\nexport var mdiSlide = \"M14.83 15.45C14.47 14.9 14.18 14.39 13.91 13.92C12.74 11.91 11.79 10.55 9 10.13V5.5C9 3.57 7.43 2 5.5 2S2 3.57 2 5.5V22H4V20H7V22H9V12.16C10.76 12.5 11.29 13.39 12.17 14.92C12.46 15.43 12.78 15.97 13.17 16.56C15.41 19.92 17.67 22 22 22V20C18.53 20 16.8 18.4 14.83 15.45M5.5 4C6.33 4 7 4.67 7 5.5V10H4V5.5C4 4.67 4.67 4 5.5 4M4 18V16H7V18H4M7 14H4V12H7V14Z\";\r\nexport var mdiSlopeDownhill = \"M22,19V22H2V13L22,19M19.09,7.5L18.25,10.26L8.13,7.26C8.06,5.66 6.7,4.42 5.1,4.5C3.5,4.57 2.26,5.93 2.34,7.53C2.41,9.13 3.77,10.36 5.37,10.29C6.24,10.25 7.05,9.82 7.57,9.11L17.69,12.11L16.85,14.89L21.67,12.29L19.09,7.5Z\";\r\nexport var mdiSlopeUphill = \"M22,13V22H2V19L22,13M21.68,7.06L16.86,4.46L17.7,7.24L7.58,10.24C6.63,8.95 4.82,8.67 3.53,9.62C2.24,10.57 1.96,12.38 2.91,13.67C3.85,14.97 5.67,15.24 6.96,14.29C7.67,13.78 8.1,12.97 8.14,12.09L18.26,9.09L19.1,11.87L21.68,7.06Z\";\r\nexport var mdiSlotMachine = \"M5 12L7 8V7H4V8H6L4 12M9 12L11 8V7H8V8H10L8 12M13 12L15 8V7H12V8H14L12 12M21 2C19.9 2 19 2.9 19 4C19 4.7 19.4 5.4 20 5.7V17H17V15C17.6 15 18 14.6 18 14V5C18 4.4 17.6 4 17 4H13.2C12.4 2.8 11 2 9.5 2S6.6 2.8 5.8 4H2C1.4 4 1 4.4 1 5V14C1 14.6 1.4 15 2 15V22H17V19H20C21.1 19 22 18.1 22 17V5.7C22.6 5.4 23 4.7 23 4C23 2.9 22.1 2 21 2M13 19H6V17H13V19M16 13H3V6H16V13Z\";\r\nexport var mdiSlotMachineOutline = \"M5 12L7 8V7H4V8H6L4 12M9 12L11 8V7H8V8H10L8 12M13 12L15 8V7H12V8H14L12 12M21 2C19.9 2 19 2.9 19 4C19 4.7 19.4 5.4 20 5.7V17H17V15C17.6 15 18 14.6 18 14V5C18 4.4 17.6 4 17 4H13.2C12.4 2.8 11 2 9.5 2S6.6 2.8 5.8 4H2C1.4 4 1 4.4 1 5V14C1 14.6 1.4 15 2 15V22H17V19H20C21.1 19 22 18.1 22 17V5.7C22.6 5.4 23 4.7 23 4C23 2.9 22.1 2 21 2M3 6H16V13H3V6M15 20H4V15H15V20M13 19H6V17H13V19Z\";\r\nexport var mdiSmartCard = \"M2 3H22A2.07 2.07 0 0 1 24 5V19A2.07 2.07 0 0 1 22 21H2A2.07 2.07 0 0 1 0 19V5A2.07 2.07 0 0 1 2 3M8 13.91C6 13.91 2 15 2 17V18H14V17C14 15 10 13.91 8 13.91M8 6A3 3 0 1 0 11 9A3 3 0 0 0 8 6M17 10V13H21V10H17\";\r\nexport var mdiSmartCardOff = \"M2.39 1.73L1.11 3L1.27 3.16C.545 3.47 .028 4.17 0 5V19C.036 20.09 .911 20.96 2 21H19.11L20.84 22.73L22.11 21.46L2.39 1.73M14 18H2V17C2 15 6 13.91 8 13.91S14 15 14 17V18M8 12C6.34 12 5 10.66 5 9C5 8.4 5.18 7.84 5.5 7.38L9.62 11.5C9.16 11.82 8.6 12 8 12M22 3H6.2L9.88 6.68C10.04 6.81 10.19 6.96 10.32 7.12L23.5 20.29C23.79 19.94 24 19.5 24 19V5C23.96 3.91 23.09 3.04 22 3M21 13H17V10H21V13Z\";\r\nexport var mdiSmartCardOffOutline = \"M19 13H16.2L15 11.8V10H19V13M22 3H6.2L8.2 5H22V18.8L23.5 20.29C23.79 19.94 24 19.5 24 19V5C23.96 3.91 23.09 3.04 22 3M22.11 21.46L20.84 22.73L19.11 21H2C.911 20.96 .036 20.09 0 19V5C.028 4.17 .545 3.47 1.27 3.16L1.11 3L2.39 1.73L22.11 21.46M17.11 19L14 15.89V17H4V15.75C4 14.09 7.34 13.25 9 13.25C9.78 13.25 10.91 13.44 11.91 13.8L9.91 11.8C9.63 11.92 9.33 12 9 12C7.62 12 6.5 10.88 6.5 9.5C6.5 9.17 6.58 8.87 6.7 8.59L3.11 5H2V19H17.11Z\";\r\nexport var mdiSmartCardOutline = \"M22 3H2A2.07 2.07 0 0 0 0 5V19A2.07 2.07 0 0 0 2 21H22A2.07 2.07 0 0 0 24 19V5A2.07 2.07 0 0 0 22 3M22 19H2V5H22M14 17V15.75C14 14.09 10.66 13.25 9 13.25S4 14.09 4 15.75V17H14M9 7A2.5 2.5 0 1 0 11.5 9.5A2.5 2.5 0 0 0 9 7M15 10V13H19V10H15\";\r\nexport var mdiSmartCardReader = \"M21 4A2.07 2.07 0 0 0 19 2H5A2.07 2.07 0 0 0 3 4V18H21M8.25 16H7V6H8.25C9.91 6 10.75 9.34 10.75 11S9.91 16 8.25 16M14.5 13.5A2.5 2.5 0 1 1 17 11A2.5 2.5 0 0 1 14.5 13.5M23 21V22H1V21A2 2 0 0 1 3 19H21A2 2 0 0 1 23 21Z\";\r\nexport var mdiSmartCardReaderOutline = \"M14.5 8.5A2.5 2.5 0 1 0 17 11A2.5 2.5 0 0 0 14.5 8.5M8.25 6H7V16H8.25C9.91 16 10.75 12.66 10.75 11S9.91 6 8.25 6M19 2H5A2.07 2.07 0 0 0 3 4V18H5V4H19V18H21V4A2.07 2.07 0 0 0 19 2M23 22H1V21A2 2 0 0 1 3 19H21A2 2 0 0 1 23 21Z\";\r\nexport var mdiSmog = \"M12,2C10.08,2 8.5,3.35 8.09,5.15C7.45,4.44 6.53,4 5.5,4A3.5,3.5 0 0,0 2,7.5H2A3.5,3.5 0 0,0 5.5,11H6.68V12H10.72V11H13.28V12H17.32V11H18.5A3.5,3.5 0 0,0 22,7.5H22A3.5,3.5 0 0,0 18.5,4H18.5C17.47,4 16.55,4.44 15.91,5.15C15.5,3.35 13.92,2 12,2M7.2,14L6.4,22H11L10.2,14H7.2M13.8,14L13,22H17.6L16.8,14H13.8Z\";\r\nexport var mdiSmoke = \"M17 19V22H15V19C15 17.9 14.1 17 13 17H10C7.2 17 5 14.8 5 12C5 10.8 5.4 9.8 6.1 8.9C3.8 8.5 2 6.4 2 4C2 3.3 2.2 2.6 2.4 2H4.8C4.3 2.5 4 3.2 4 4C4 5.7 5.3 7 7 7H10V9C8.3 9 7 10.3 7 12S8.3 15 10 15H13C15.2 15 17 16.8 17 19M17.9 8.9C20.2 8.5 22 6.4 22 4C22 3.3 21.8 2.6 21.6 2H19.2C19.7 2.5 20 3.2 20 4C20 5.7 18.7 7 17 7H15.8C15.9 7.3 16 7.6 16 8C16 9.7 14.7 11 13 11V13C15.8 13 18 15.2 18 18V22H20V18C20 15.3 18.5 13 16.2 11.8C17.1 11.1 17.7 10.1 17.9 8.9Z\";\r\nexport var mdiSmokeDetector = \"M12,18A6,6 0 0,0 18,12C18,8.68 15.31,6 12,6C8.68,6 6,8.68 6,12A6,6 0 0,0 12,18M19,3A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19M8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12Z\";\r\nexport var mdiSmokeDetectorAlert = \"M10 18C13.3 18 16 15.3 16 12C16 8.7 13.3 6 10 6C6.7 6 4 8.7 4 12C4 15.3 6.7 18 10 18M17 3C18.1 3 19 3.9 19 5V19C19 20.1 18.1 21 17 21H3C1.9 21 1 20.1 1 19V5C1 3.9 1.9 3 3 3H17M6 12C6 9.8 7.8 8 10 8S14 9.8 14 12 12.2 16 10 16 6 14.2 6 12M23 7H21V13H23V8M23 15H21V17H23V15Z\";\r\nexport var mdiSmokeDetectorAlertOutline = \"M17 3H3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H17C18.1 21 19 20.1 19 19V5C19 3.9 18.1 3 17 3M17 19H3V5H17V19M10 18C13.3 18 16 15.3 16 12C16 8.7 13.3 6 10 6C6.7 6 4 8.7 4 12C4 15.3 6.7 18 10 18M10 8C12.2 8 14 9.8 14 12S12.2 16 10 16 6 14.2 6 12 7.8 8 10 8M23 7H21V13H23V8M23 15H21V17H23V15Z\";\r\nexport var mdiSmokeDetectorOff = \"M12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L11.27 8.07C11.5 8.03 11.75 8 12 8M12 6C15.31 6 18 8.68 18 12C18 12.83 17.82 13.6 17.5 14.32L21 17.8V5C21 3.9 20.11 3 19 3H6.2L9.68 6.5C10.4 6.18 11.17 6 12 6M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M15.19 17.08L13.71 15.6C13.19 15.85 12.62 16 12 16C9.79 16 8 14.21 8 12C8 11.39 8.15 10.81 8.4 10.29L6.92 8.81C6.34 9.74 6 10.83 6 12C6 15.31 8.69 18 12 18C13.17 18 14.26 17.66 15.19 17.08Z\";\r\nexport var mdiSmokeDetectorOffOutline = \"M8.2 5L6.2 3H19C20.11 3 21 3.9 21 5V17.8L19 15.8V5H8.2M17.5 14.32C17.82 13.6 18 12.83 18 12C18 8.68 15.31 6 12 6C11.17 6 10.4 6.18 9.68 6.5L11.27 8.07C11.5 8.03 11.75 8 12 8C14.21 8 16 9.79 16 12C16 12.25 15.97 12.5 15.93 12.73L17.5 14.32M22.11 21.46L20.84 22.73L19.1 21C19.07 21 19.03 21 19 21H5C3.89 21 3 20.1 3 19V5C3 4.97 3 4.93 3 4.9L1.11 3L2.39 1.73L22.11 21.46M8 12C8 14.21 9.79 16 12 16C12.62 16 13.19 15.85 13.71 15.6L8.4 10.29C8.15 10.81 8 11.39 8 12M17.11 19L15.19 17.08C14.26 17.66 13.17 18 12 18C8.69 18 6 15.31 6 12C6 10.83 6.34 9.74 6.92 8.81L5 6.89V19H17.11Z\";\r\nexport var mdiSmokeDetectorOutline = \"M19 3H5C3.89 3 3 3.89 3 5V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.9 20.11 3 19 3M19 19H5V5H19V19M12 18C15.31 18 18 15.31 18 12C18 8.68 15.31 6 12 6C8.68 6 6 8.68 6 12C6 15.31 8.69 18 12 18M12 8C14.21 8 16 9.79 16 12S14.21 16 12 16 8 14.21 8 12 9.79 8 12 8Z\";\r\nexport var mdiSmokeDetectorVariant = \"M12 4C16.41 4 20 7.59 20 12S16.41 20 12 20 4 16.41 4 12 7.59 4 12 4M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 11C11.45 11 11 11.45 11 12S11.45 13 12 13 13 12.55 13 12 12.55 11 12 11M10.72 9.3C11.11 9.11 11.54 9 12 9S12.89 9.11 13.29 9.3L14 8.57C13.43 8.22 12.74 8 12 8S10.58 8.22 10 8.57L10.72 9.3M15 12C15 12.46 14.89 12.89 14.7 13.29L15.43 14C15.79 13.43 16 12.74 16 12S15.79 10.58 15.43 10L14.7 10.72C14.89 11.11 15 11.54 15 12M9 12C9 11.54 9.11 11.11 9.3 10.72L8.57 10C8.22 10.58 8 11.26 8 12S8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12M13.29 14.7C12.89 14.89 12.46 15 12 15S11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16S13.43 15.79 14 15.43L13.29 14.7M16.89 8.53L16.17 9.25C16.69 10.04 17 11 17 12S16.69 13.96 16.17 14.75L16.89 15.47C17.59 14.5 18 13.3 18 12S17.59 9.5 16.89 8.53M9.25 7.83C10.04 7.31 11 7 12 7S13.96 7.31 14.75 7.83L15.47 7.11C14.5 6.42 13.3 6 12 6S9.5 6.42 8.53 7.11L9.25 7.83M14.75 16.17C13.96 16.69 13 17 12 17S10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18S14.5 17.59 15.47 16.89L14.75 16.17M7.83 14.75C7.31 13.96 7 13 7 12S7.31 10.04 7.83 9.25L7.11 8.53C6.42 9.5 6 10.7 6 12S6.42 14.5 7.11 15.47L7.83 14.75Z\";\r\nexport var mdiSmokeDetectorVariantAlert = \"M10 4C14.4 4 18 7.6 18 12S14.4 20 10 20 2 16.4 2 12 5.6 4 10 4M10 2C4.5 2 0 6.5 0 12S4.5 22 10 22 20 17.5 20 12 15.5 2 10 2M10 11C9.4 11 9 11.4 9 12S9.4 13 10 13 11 12.6 11 12 10.6 11 10 11M8.7 9.3C9.1 9.1 9.5 9 10 9S10.9 9.1 11.3 9.3L12 8.6C11.4 8.2 10.7 8 10 8S8.6 8.2 8 8.6L8.7 9.3M13 12C13 12.5 12.9 12.9 12.7 13.3L13.4 14C13.8 13.4 14 12.7 14 12S13.8 10.6 13.4 10L12.7 10.7C12.9 11.1 13 11.5 13 12M7 12C7 11.5 7.1 11.1 7.3 10.7L6.6 10C6.2 10.6 6 11.3 6 12S6.2 13.4 6.6 14L7.3 13.3C7.1 12.9 7 12.5 7 12M11.3 14.7C10.9 14.9 10.5 15 10 15S9.1 14.9 8.7 14.7L8 15.4C8.6 15.8 9.3 16 10 16S11.4 15.8 12 15.4L11.3 14.7M14.9 8.5L14.2 9.2C14.7 10 15 11 15 12S14.7 14 14.2 14.8L14.9 15.5C15.6 14.5 16 13.3 16 12S15.6 9.5 14.9 8.5M7.2 7.8C8 7.3 9 7 10 7S12 7.3 12.8 7.8L13.5 7.1C12.5 6.4 11.3 6 10 6S7.5 6.4 6.5 7.1L7.2 7.8M12.8 16.2C12 16.7 11 17 10 17S8 16.7 7.2 16.2L6.5 16.9C7.5 17.6 8.7 18 10 18S12.5 17.6 13.5 16.9L12.8 16.2M5.8 14.8C5.3 14 5 13 5 12S5.3 10 5.8 9.2L5.1 8.5C4.4 9.5 4 10.7 4 12S4.4 14.5 5.1 15.5L5.8 14.8M24 7H22V13H24V8M24 15H22V17H24V15Z\";\r\nexport var mdiSmokeDetectorVariantOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46M12 20C7.59 20 4 16.41 4 12C4 10.28 4.56 8.69 5.5 7.38L6.93 8.82C6.35 9.75 6 10.83 6 12C6 13.3 6.42 14.5 7.11 15.47L7.83 14.75C7.31 13.96 7 13 7 12C7 11.11 7.25 10.28 7.66 9.55L8.4 10.3C8.15 10.81 8 11.39 8 12C8 12.74 8.22 13.43 8.57 14L9.3 13.29C9.11 12.89 9 12.46 9 12C9 11.67 9.07 11.36 9.18 11.07L12.93 14.82C12.64 14.93 12.33 15 12 15C11.54 15 11.11 14.89 10.72 14.7L10 15.43C10.58 15.79 11.26 16 12 16C12.61 16 13.19 15.85 13.71 15.6L14.45 16.34C13.72 16.75 12.89 17 12 17C11 17 10.04 16.69 9.25 16.17L8.53 16.89C9.5 17.59 10.7 18 12 18C13.17 18 14.25 17.65 15.18 17.07L16.62 18.5C15.32 19.44 13.72 20 12 20M12 8C12.74 8 13.43 8.22 14 8.57L13.29 9.3C12.96 9.15 12.6 9.06 12.23 9.03L11.28 8.08C11.5 8.03 11.75 8 12 8M14.97 11.77C14.94 11.4 14.86 11.04 14.7 10.72L15.43 10C15.79 10.58 16 11.26 16 12C16 12.25 15.97 12.5 15.92 12.72L14.97 11.77M14.75 7.83C13.96 7.31 13 7 12 7C11.46 7 10.94 7.09 10.45 7.25L9.69 6.5C10.4 6.18 11.18 6 12 6C13.3 6 14.5 6.42 15.47 7.11L14.75 7.83M8.18 5L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19 15.83C19.65 14.69 20 13.38 20 12C20 7.59 16.41 4 12 4C10.62 4 9.31 4.35 8.18 5M16.75 13.55C16.91 13.06 17 12.54 17 12C17 11 16.69 10.04 16.17 9.25L16.89 8.53C17.59 9.5 18 10.7 18 12C18 12.83 17.82 13.6 17.5 14.32L16.75 13.55Z\";\r\nexport var mdiSmoking = \"M2,16H17V19H2V16M20.5,16H22V19H20.5V16M18,16H19.5V19H18V16M18.85,7.73C19.47,7.12 19.85,6.28 19.85,5.35C19.85,3.5 18.35,2 16.5,2V3.5C17.5,3.5 18.35,4.33 18.35,5.35C18.35,6.37 17.5,7.2 16.5,7.2V8.7C18.74,8.7 20.5,10.53 20.5,12.77V15H22V12.76C22,10.54 20.72,8.62 18.85,7.73M16.03,10.2H14.5C13.5,10.2 12.65,9.22 12.65,8.2C12.65,7.18 13.5,6.45 14.5,6.45V4.95C12.65,4.95 11.15,6.45 11.15,8.3A3.35,3.35 0 0,0 14.5,11.65H16.03C17.08,11.65 18,12.39 18,13.7V15H19.5V13.36C19.5,11.55 17.9,10.2 16.03,10.2Z\";\r\nexport var mdiSmokingOff = \"M2,6L9,13H2V16H12L19,23L20.25,21.75L3.25,4.75L2,6M20.5,13H22V16H20.5V13M18,13H19.5V16H18V13M18.85,4.88C19.47,4.27 19.85,3.43 19.85,2.5H18.35C18.35,3.5 17.5,4.35 16.5,4.35V5.85C18.74,5.85 20.5,7.68 20.5,9.92V12H22V9.92C22,7.69 20.72,5.77 18.85,4.88M14.5,8.7H16.03C17.08,8.7 18,9.44 18,10.75V12H19.5V10.41C19.5,8.61 17.9,7.25 16.03,7.25H14.5C13.5,7.25 12.65,6.27 12.65,5.25C12.65,4.23 13.5,3.5 14.5,3.5V2A3.35,3.35 0 0,0 11.15,5.35A3.35,3.35 0 0,0 14.5,8.7M17,15.93V13H14.07L17,15.93Z\";\r\nexport var mdiSmokingPipe = \"M16 13C14.89 13 14 13.89 14 15V18H13C12 18 11 17.92 10.3 17.23L6.53 13.47C5.6 12.53 4.33 12 3 12H2V14H3C3.8 14 4.56 14.32 5.12 14.88L8.89 18.65C11.72 21.5 13 22 16 22H18C20.21 22 22 20.21 22 18V15C22 13.89 21.11 13 20 13H16M14 7.2H12.5C11.45 7.12 10.65 6.25 10.65 5.2C10.67 4.22 11.5 3.43 12.46 3.45L12.5 3.45V2C10.65 2 9.15 3.5 9.15 5.35S10.65 8.7 12.5 8.7H14C15.07 8.66 15.96 9.5 16 10.56C16 10.61 16 10.65 16 10.7V12H17.5V10.36C17.42 8.53 15.88 7.12 14.05 7.2L14 7.2M20 9.76V12H18.5V9.77L18.5 9.7C18.5 7.5 16.71 5.7 14.5 5.7V4.2H14.5C15.5 4.2 16.35 3.37 16.35 2.35C16.35 2.23 16.34 2.11 16.32 2H17.79C17.89 3 17.58 4 16.82 4.73H16.85C18.78 5.66 20 7.62 20 9.76Z\";\r\nexport var mdiSmokingPipeOff = \"M20.84 22.73L19.71 21.6C19.19 21.85 18.62 22 18 22H16C13 22 11.72 21.5 8.89 18.65L5.12 14.88C4.56 14.32 3.8 14 3 14H2V12H3C4.33 12 5.6 12.53 6.53 13.47L10.3 17.23C11 17.92 12 18 13 18H14V15.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21.93 18.73C21.97 18.5 22 18.25 22 18V15C22 13.89 21.11 13 20 13H16.2L21.93 18.73M18.5 9.7L18.5 9.77V12H20V9.76C20 7.62 18.78 5.66 16.85 4.73H16.82C17.58 4 17.9 3 17.8 2H16.32C16.34 2.11 16.35 2.23 16.35 2.35C16.35 3.37 15.5 4.2 14.5 4.2H14.5V5.7C16.71 5.7 18.5 7.5 18.5 9.7M11.83 8.63C12.05 8.68 12.27 8.7 12.5 8.7H14C15.07 8.66 15.96 9.5 16 10.56C16 10.61 16 10.65 16 10.7V12H17.5V10.36C17.42 8.53 15.88 7.12 14.05 7.2L14 7.2H12.5C11.45 7.12 10.65 6.25 10.65 5.2C10.67 4.22 11.5 3.43 12.46 3.45L12.5 3.45V2C10.65 2 9.15 3.5 9.15 5.35C9.15 5.58 9.17 5.8 9.22 6L11.83 8.63Z\";\r\nexport var mdiSnail = \"M20.31 8.03L21.24 4.95C21.67 4.85 22 4.47 22 4C22 3.45 21.55 3 21 3S20 3.45 20 4C20 4.26 20.11 4.5 20.27 4.68L19.5 7.26L18.73 4.68C18.89 4.5 19 4.26 19 4C19 3.45 18.55 3 18 3S17 3.45 17 4C17 4.47 17.33 4.85 17.76 4.95L18.69 8.03C17.73 8.18 17 9 17 10V12.25C15.65 9.16 12.63 7 9.11 7C5.19 7 2 10.26 2 14.26C2 16.1 2.82 17.75 4.1 18.85L2.88 19C2.38 19.06 2 19.5 2 20C2 20.55 2.45 21 3 21L19.12 21C20.16 21 21 20.16 21 19.12V11.72C21.6 11.38 22 10.74 22 10C22 9 21.27 8.18 20.31 8.03M15.6 17.41L12.07 17.86C12.5 17.1 12.8 16.21 12.8 15.26C12.8 12.94 10.95 11.06 8.67 11.06C8.14 11.06 7.62 11.18 7.14 11.41C6.65 11.66 6.44 12.26 6.69 12.75C6.93 13.25 7.53 13.45 8.03 13.21C8.23 13.11 8.45 13.06 8.67 13.06C9.85 13.06 10.8 14.04 10.8 15.26C10.8 16.92 9.5 18.27 7.89 18.27C5.75 18.27 4 16.47 4 14.26C4 11.36 6.29 9 9.11 9C12.77 9 15.75 12.06 15.75 15.82C15.75 16.36 15.69 16.89 15.6 17.41Z\";\r\nexport var mdiSnake = \"M19.5 17H18C19.1 17 20 16.1 20 15S19.1 13 18 13V9C18 8 18 7 16.92 6.14C16.97 5.93 17 5.72 17 5.5C17 3.57 15 2 12.5 2C10.24 2 8.38 3.31 8.07 5H6L3.71 2.79L3 3.5L5 5.5L3 7.5L3.71 8.21L6 6H8.07C8.38 7.69 10.24 9 12.5 9C13 9 13.5 8.92 13.93 8.8C13.97 8.87 14 8.94 14 9V13H8C6.9 13 6 13.9 6 15S6.9 17 8 17H6.5C5.12 17 4 18.12 4 19.5C4 19.67 4 19.84 4.05 20H4C2.9 20 2 20.9 2 22H19.5C20.88 22 22 20.88 22 19.5S20.88 17 19.5 17M12 5C11.45 5 11 4.55 11 4S11.45 3 12 3 13 3.45 13 4 12.55 5 12 5Z\";\r\nexport var mdiSnapchat = \"M21.93 16.56C21.79 16.18 21.5 16 21.22 15.81C21.17 15.78 21.11 15.75 21.07 15.73C21 15.68 20.89 15.64 20.8 15.59C19.86 15.09 19.12 14.46 18.61 13.72C18.47 13.5 18.35 13.29 18.24 13.06C18.2 12.93 18.2 12.86 18.23 12.8C18.26 12.75 18.3 12.7 18.35 12.67C18.5 12.56 18.68 12.46 18.79 12.38C19 12.25 19.15 12.15 19.25 12.08C19.64 11.81 19.91 11.5 20.08 11.2C20.32 10.75 20.35 10.22 20.16 9.75C19.91 9.08 19.27 8.66 18.5 8.66C18.34 8.66 18.18 8.68 18 8.71C18 8.72 17.94 8.73 17.9 8.74C17.9 8.28 17.89 7.8 17.85 7.32C17.71 5.64 17.12 4.76 16.5 4.06C16.11 3.62 15.65 3.24 15.14 2.95C14.21 2.42 13.15 2.15 12 2.15S9.8 2.42 8.87 2.95C8.35 3.24 7.89 3.62 7.5 4.06C6.88 4.76 6.3 5.64 6.15 7.32C6.11 7.8 6.1 8.28 6.11 8.74C6.06 8.73 6 8.72 6 8.71C5.82 8.68 5.66 8.66 5.5 8.66C4.73 8.66 4.09 9.08 3.84 9.75C3.65 10.22 3.68 10.75 3.92 11.2C4.09 11.5 4.36 11.81 4.75 12.08C4.85 12.15 5 12.25 5.21 12.39L5.63 12.66C5.69 12.7 5.73 12.75 5.77 12.8C5.8 12.87 5.8 12.94 5.75 13.07C5.65 13.3 5.53 13.5 5.39 13.72C4.89 14.45 4.18 15.07 3.27 15.56C2.78 15.82 2.28 16 2.07 16.56C1.91 17 2 17.5 2.42 17.91C2.57 18.06 2.74 18.19 2.93 18.29C3.33 18.5 3.75 18.68 4.18 18.79C4.27 18.82 4.36 18.85 4.43 18.91C4.58 19.03 4.56 19.23 4.76 19.5C4.86 19.66 5 19.79 5.13 19.89C5.54 20.18 6 20.19 6.5 20.21C6.94 20.23 7.44 20.25 8 20.44C8.26 20.5 8.5 20.67 8.79 20.85C9.5 21.27 10.42 21.85 12 21.85C13.57 21.85 14.5 21.27 15.22 20.84C15.5 20.67 15.75 20.5 16 20.44C16.55 20.25 17.06 20.23 17.5 20.21C18 20.2 18.46 20.18 18.87 19.89C19.04 19.77 19.18 19.61 19.29 19.43C19.43 19.19 19.43 19 19.56 18.91C19.63 18.86 19.71 18.82 19.8 18.8C20.24 18.68 20.66 18.5 21.06 18.29C21.27 18.18 21.45 18.04 21.6 17.87L21.61 17.87C22 17.46 22.08 17 21.93 16.56M20.53 17.31C19.67 17.78 19.1 17.73 18.66 18C18.5 18.12 18.45 18.28 18.42 18.44C18.41 18.5 18.4 18.58 18.39 18.64C18.37 18.78 18.34 18.9 18.24 18.97C17.9 19.2 16.91 18.95 15.63 19.37C14.57 19.72 13.9 20.73 12 20.73C10.1 20.73 9.45 19.73 8.37 19.37C7.1 18.95 6.1 19.2 5.77 18.97C5.5 18.78 5.72 18.26 5.34 18C4.9 17.73 4.33 17.78 3.5 17.31C3.19 17.15 3.14 17 3.18 16.93C3.22 16.84 3.34 16.77 3.42 16.73C5.07 15.94 6 14.91 6.47 14.1C6.91 13.38 7 12.83 7.03 12.75C7.06 12.54 7.09 12.38 6.86 12.17C6.64 11.96 5.66 11.36 5.39 11.17C4.93 10.85 4.74 10.54 4.88 10.15L4.88 10.15V10.15C5 9.88 5.23 9.78 5.5 9.78C5.58 9.78 5.66 9.79 5.74 9.81C6.24 9.91 6.72 10.16 7 10.23C7.03 10.24 7.06 10.24 7.1 10.24C7.19 10.24 7.24 10.21 7.27 10.15C7.28 10.11 7.29 10.06 7.29 10C7.25 9.46 7.18 8.41 7.26 7.42C7.3 7 7.37 6.64 7.46 6.33C7.66 5.65 8 5.2 8.34 4.79C8.59 4.5 9.75 3.27 12 3.27C13.85 3.27 14.96 4.11 15.44 4.56C15.54 4.66 15.62 4.74 15.66 4.79C16.04 5.23 16.38 5.71 16.58 6.47C16.65 6.74 16.71 7.06 16.74 7.42C16.82 8.4 16.75 9.46 16.71 10C16.71 10.04 16.71 10.08 16.72 10.11C16.73 10.2 16.79 10.24 16.9 10.24C16.94 10.24 16.97 10.24 17 10.23C17.28 10.16 17.76 9.91 18.26 9.8C18.34 9.79 18.42 9.78 18.5 9.78C18.75 9.78 19 9.87 19.1 10.1L19.11 10.14L19.12 10.14L19.12 10.15C19.27 10.53 19.07 10.85 18.62 11.16C18.35 11.35 17.36 11.96 17.14 12.16C16.91 12.38 16.94 12.54 16.97 12.75C17 12.85 17.18 13.8 18.08 14.86C18.63 15.5 19.42 16.17 20.58 16.73C20.65 16.76 20.74 16.81 20.79 16.87C20.82 16.92 20.84 16.96 20.83 17C20.82 17.1 20.73 17.2 20.53 17.31Z\";\r\nexport var mdiSnowboard = \"M21.87 20.37C21.76 20.2 21.62 20.09 21.43 20.06C21.18 20 20.96 20.05 20.78 20.2C20.43 20.5 20.04 20.73 19.58 20.86C19.13 21 18.66 21 18.16 20.9L17.04 20.62L16 14.46L12.74 11.79L14.5 8.94C15.08 9.85 15.85 10.58 16.83 11.14C17.81 11.7 18.88 12 20.03 12V9.97C19.09 9.97 18.26 9.72 17.53 9.22S16.26 8.07 15.92 7.26L15.36 6.05C15.26 5.86 15.08 5.64 14.82 5.39C14.55 5.14 14.19 5 13.72 5H8.07L5.54 9L7.27 10.06L9.14 7H11.5L9 10.95C8.69 11.42 8.6 11.93 8.72 12.5L9.56 15.95L6.06 18.29L5.59 18.19C5.13 18.1 4.7 17.91 4.33 17.61C3.96 17.31 3.68 16.96 3.5 16.56C3.4 16.31 3.23 16.17 3 16.14C2.76 16.08 2.56 16.11 2.39 16.23S2.12 16.5 2.09 16.7C2.06 16.85 2.07 17 2.13 17.17C2.42 17.79 2.83 18.33 3.37 18.78C3.92 19.23 4.55 19.5 5.27 19.64L17.88 22.35C18.6 22.5 19.29 22.5 19.96 22.3C20.63 22.12 21.23 21.79 21.76 21.32C21.88 21.23 21.96 21.11 22 20.95C22 20.73 22 20.54 21.87 20.37M8.77 18.89L11.81 16.89L11.34 13.57L14.19 15.58L14.94 20.2L8.77 18.89M18 3C18 4.11 17.11 5 16 5S14 4.11 14 3 14.9 1 16 1 18 1.9 18 3Z\";\r\nexport var mdiSnowflake = \"M20.79,13.95L18.46,14.57L16.46,13.44V10.56L18.46,9.43L20.79,10.05L21.31,8.12L19.54,7.65L20,5.88L18.07,5.36L17.45,7.69L15.45,8.82L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L15.5,15.17L17.5,16.3L18.12,18.63L20,18.12L19.53,16.35L21.3,15.88L20.79,13.95M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44V10.56Z\";\r\nexport var mdiSnowflakeAlert = \"M16.46,9.41L13,7.38V5.12L14.71,3.41L13.29,2L12,3.29L10.71,2L9.29,3.41L11,5.12V7.38L8.5,8.82L6.5,7.69L5.92,5.36L4,5.88L4.47,7.65L2.7,8.12L3.22,10.05L5.55,9.43L7.55,10.56V13.45L5.55,14.58L3.22,13.96L2.7,15.89L4.47,16.36L4,18.12L5.93,18.64L6.55,16.31L8.55,15.18L11,16.62V18.88L9.29,20.59L10.71,22L12,20.71L13.29,22L14.7,20.59L13,18.88V16.62L16.46,14.61M9.5,10.56L12,9.11L14.5,10.56V13.44L12,14.89L9.5,13.44M19,13V7H21V13H19M19,17V15H21V17H19Z\";\r\nexport var mdiSnowflakeCheck = \"M17.75 21.16L15 18.16L16.16 17L17.75 18.59L21.34 15L22.5 16.41L17.75 21.16M12 18C12 16.46 12.59 15.06 13.54 14L12 14.89L9.5 13.44V10.56L12 9.11L14.5 10.56V13.13C15.08 12.71 15.75 12.4 16.46 12.21V10.56L18.46 9.43L20.79 10.05L21.31 8.12L19.54 7.65L20 5.88L18.07 5.36L17.45 7.69L15.45 8.82L13 7.38V5.12L14.71 3.41L13.29 2L12 3.29L10.71 2L9.29 3.41L11 5.12V7.38L8.5 8.82L6.5 7.69L5.92 5.36L4 5.88L4.47 7.65L2.7 8.12L3.22 10.05L5.55 9.43L7.55 10.56V13.45L5.55 14.58L3.22 13.96L2.7 15.89L4.47 16.36L4 18.12L5.93 18.64L6.55 16.31L8.55 15.18L11 16.62V18.88L9.29 20.59L10.71 22L12 20.71L13.29 22L13.42 21.87C12.54 20.83 12 19.5 12 18Z\";\r\nexport var mdiSnowflakeMelt = \"M8 17.85C8 19.04 7.11 20 6 20S4 19.04 4 17.85C4 16.42 6 14 6 14S8 16.42 8 17.85M16.46 12V10.56L18.46 9.43L20.79 10.05L21.31 8.12L19.54 7.65L20 5.88L18.07 5.36L17.45 7.69L15.45 8.82L13 7.38V5.12L14.71 3.41L13.29 2L12 3.29L10.71 2L9.29 3.41L11 5.12V7.38L8.5 8.82L6.5 7.69L5.92 5.36L4 5.88L4.47 7.65L2.7 8.12L3.22 10.05L5.55 9.43L7.55 10.56V12H2V13H22V12H16.46M9.5 12V10.56L12 9.11L14.5 10.56V12H9.5M20 17.85C20 19.04 19.11 20 18 20S16 19.04 16 17.85C16 16.42 18 14 18 14S20 16.42 20 17.85M14 20.85C14 22.04 13.11 23 12 23S10 22.04 10 20.85C10 19.42 12 17 12 17S14 19.42 14 20.85Z\";\r\nexport var mdiSnowflakeOff = \"M11 5.12L9.29 3.41L10.71 2L12 3.29L13.29 2L14.71 3.41L13 5.12V7.38L15.45 8.82L17.45 7.69L18.07 5.36L20 5.88L19.54 7.65L21.31 8.12L20.79 10.05L18.46 9.43L16.46 10.56V13.26L14.5 11.3V10.56L12.74 9.54L10.73 7.53L11 7.38V5.12M18.46 14.57L16.87 13.67L19.55 16.35L21.3 15.88L20.79 13.95L18.46 14.57M13 16.62V18.88L14.7 20.59L13.29 22L12 20.71L10.71 22L9.29 20.59L11 18.88V16.62L8.55 15.18L6.55 16.31L5.93 18.64L4 18.12L4.47 16.36L2.7 15.89L3.22 13.96L5.55 14.58L7.55 13.45V10.56L5.55 9.43L3.22 10.05L2.7 8.12L4.47 7.65L4 5.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L14.1 16L13 16.62M12 14.89L12.63 14.5L9.5 11.39V13.44L12 14.89Z\";\r\nexport var mdiSnowflakeThermometer = \"M14.46 9.41L11 7.38V5.12L12.71 3.41L11.29 2L10 3.29L8.71 2L7.29 3.41L9 5.12V7.38L6.5 8.82L4.5 7.69L3.92 5.36L2 5.88L2.47 7.65L.7 8.12L1.22 10.05L3.55 9.43L5.55 10.56V13.45L3.55 14.58L1.22 13.96L.7 15.89L2.47 16.36L2 18.12L3.93 18.64L4.55 16.31L6.55 15.18L9 16.62V18.88L7.29 20.59L8.71 22L10 20.71L11.29 22L12.7 20.59L11 18.88V16.62L14.46 14.61M7.5 10.56L10 9.11L12.5 10.56V13.44L10 14.89L7.5 13.44M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19S22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6\";\r\nexport var mdiSnowflakeVariant = \"M14.25,12L16.27,11H23L22,9H18.03L20.42,5.83L19.43,3.83L15.37,9.2L13.35,10.21L13.75,8L17.83,2.62L15.64,2.22L12,7L8.4,2.2L6.2,2.6L10.26,8L10.66,10.21L8.82,9.29L8.66,9.21L4.6,3.8L3.6,5.8L6,9H2L1,11H7.77L9.75,12L7.73,13H1L2,15H5.97L3.58,18.17L4.57,20.17L8.63,14.8L10.65,13.79L10.25,16L6.17,21.38L8.36,21.79L12,17L15.6,21.8L17.8,21.4L13.74,16L13.34,13.79L15.34,14.79L19.4,20.2L20.4,18.2L18,15H22L23,13H16.23\";\r\nexport var mdiSnowman = \"M17,17A5,5 0 0,1 12,22A5,5 0 0,1 7,17C7,15.5 7.65,14.17 8.69,13.25C8.26,12.61 8,11.83 8,11C8,10.86 8,10.73 8,10.59L5.04,8.87L4.83,8.71L2.29,9.39L2.03,8.43L4.24,7.84L2.26,6.69L2.76,5.82L4.74,6.97L4.15,4.75L5.11,4.5L5.8,7.04L6.04,7.14L8.73,8.69C9.11,8.15 9.62,7.71 10.22,7.42C9.5,6.87 9,6 9,5A3,3 0 0,1 12,2A3,3 0 0,1 15,5C15,6 14.5,6.87 13.78,7.42C14.38,7.71 14.89,8.15 15.27,8.69L17.96,7.14L18.2,7.04L18.89,4.5L19.85,4.75L19.26,6.97L21.24,5.82L21.74,6.69L19.76,7.84L21.97,8.43L21.71,9.39L19.17,8.71L18.96,8.87L16,10.59V11C16,11.83 15.74,12.61 15.31,13.25C16.35,14.17 17,15.5 17,17Z\";\r\nexport var mdiSnowmobile = \"M20.34 17.93L18.4 16C19.5 15.91 22.66 15.53 22.97 13.36C23 13.12 22.92 12.89 22.78 12.7C22.12 11.82 19.88 9.07 15 5H12V7H14L16 9L12 11L3 10L1 13L5.58 14.38L2.58 16.09C2.22 16.26 1 16.89 1 18.05C1 18.4 1 18.89 1.33 19.32C1.83 20 2.71 20 3 20H9C10.26 20 12.53 19.13 12.93 16H15.59L17.59 18H15V20H20C21.65 20 23 18.65 23 17H21C21 17.43 20.73 17.79 20.34 17.93M9 18H3.25C3.33 17.95 3.41 17.91 3.5 17.87L8.22 15.17L10.92 16C10.58 17.84 9.28 18 9 18Z\";\r\nexport var mdiSnowshoeing = \"M12.5 3.5C12.5 2.4 13.4 1.5 14.5 1.5S16.5 2.4 16.5 3.5 15.6 5.5 14.5 5.5 12.5 4.6 12.5 3.5M6.32 19.03L5.18 17.56L4 18.5L6.38 21.54C6.89 22.19 7.54 22.69 8.26 22.95C8.54 23.05 8.79 23 9 22.84C9.28 22.61 9.4 22.14 9.1 21.77C9 21.67 8.9 21.6 8.79 21.55C8.36 21.37 7.97 21.1 7.65 20.72L7.57 20.62L11 18.2L11.89 15L14 17V21.5H12V23H15.87C16.69 23 17.5 22.79 18.13 22.39C18.39 22.23 18.5 22 18.5 21.75C18.5 21.37 18.2 21 17.73 21C17.6 21 17.47 21.04 17.36 21.1C16.96 21.33 16.5 21.47 16 21.5V15.5L13.89 13.5L14.5 10.5C15.79 12 17.8 13 20 13V11C18.1 11 16.5 10 15.69 8.58L14.69 7C14.29 6.4 13.69 6 13 6C12.24 6 11.58 6.34 7 8.28V13H9V9.58L10.79 8.88L9.2 17L6.32 19.03Z\";\r\nexport var mdiSoccer = \"M16.93 17.12L16.13 15.76L17.59 11.39L19 10.92L20 11.67C20 11.7 20 11.75 20 11.81C20 11.88 20.03 11.94 20.03 12C20.03 13.97 19.37 15.71 18.06 17.21L16.93 17.12M9.75 15L8.38 10.97L12 8.43L15.62 10.97L14.25 15H9.75M12 20.03C11.12 20.03 10.29 19.89 9.5 19.61L8.81 18.1L9.47 17H14.58L15.19 18.1L14.5 19.61C13.71 19.89 12.88 20.03 12 20.03M5.94 17.21C5.41 16.59 4.95 15.76 4.56 14.75C4.17 13.73 3.97 12.81 3.97 12C3.97 11.94 4 11.88 4 11.81C4 11.75 4 11.7 4 11.67L5 10.92L6.41 11.39L7.87 15.76L7.07 17.12L5.94 17.21M11 5.29V6.69L7 9.46L5.66 9.04L5.24 7.68C5.68 7 6.33 6.32 7.19 5.66S8.87 4.57 9.65 4.35L11 5.29M14.35 4.35C15.13 4.57 15.95 5 16.81 5.66C17.67 6.32 18.32 7 18.76 7.68L18.34 9.04L17 9.47L13 6.7V5.29L14.35 4.35M4.93 4.93C3 6.89 2 9.25 2 12S3 17.11 4.93 19.07 9.25 22 12 22 17.11 21 19.07 19.07 22 14.75 22 12 21 6.89 19.07 4.93 14.75 2 12 2 6.89 3 4.93 4.93Z\";\r\nexport var mdiSoccerField = \"M4,4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4H4M4,6H11V8.13C9.24,8.59 8,10.18 8,12C8,13.82 9.24,15.41 11,15.87V18H4V16H7V8H4V6M13,6H20V8H17V16H20V18H13V15.87C14.76,15.41 16,13.82 16,12C16,10.18 14.76,8.59 13,8.13V6M4,10H5V14H4V10M19,10H20V14H19V10M13,10.27C13.62,10.63 14,11.29 14,12C14,12.71 13.62,13.37 13,13.73V10.27M11,10.27V13.73C10.38,13.37 10,12.71 10,12C10,11.29 10.38,10.63 11,10.27Z\";\r\nexport var mdiSocialDistance2Meters = \"M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M10 9.43C10 8.62 9.5 7.9 8.78 7.58C7.93 7.21 7 7 6 7S4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H10V9.43M18 6C19.1 6 20 5.1 20 4S19.1 2 18 2 16 2.9 16 4 16.9 6 18 6M22 9.43C22 8.62 21.5 7.9 20.78 7.58C19.93 7.21 19 7 18 7S16.07 7.21 15.22 7.58C14.5 7.9 14 8.62 14 9.43V10H22V9.43M19 17V15L5 15V17L2 14L5 11V13L19 13V11L22 14L19 17M9 20.5V21H11V22H8V20.5C8 19.95 8.45 19.5 9 19.5H10V19H8V18H10C10.55 18 11 18.45 11 19V19.5C11 20.05 10.55 20.5 10 20.5H9M16 19V22H15V19H14.5V21H13.5V19H13V22H12V19C12 18.45 12.45 18 13 18H15C15.55 18 16 18.45 16 19Z\";\r\nexport var mdiSocialDistance6Feet = \"M6 6C7.1 6 8 5.1 8 4S7.1 2 6 2 4 2.9 4 4 4.9 6 6 6M10 9.43C10 8.62 9.5 7.9 8.78 7.58C7.93 7.21 7 7 6 7S4.07 7.21 3.22 7.58C2.5 7.9 2 8.62 2 9.43V10H10V9.43M18 6C19.1 6 20 5.1 20 4S19.1 2 18 2 16 2.9 16 4 16.9 6 18 6M22 9.43C22 8.62 21.5 7.9 20.78 7.58C19.93 7.21 19 7 18 7S16.07 7.21 15.22 7.58C14.5 7.9 14 8.62 14 9.43V10H22V9.43M19 17V15H5V17L2 14L5 11V13H19V11L22 14L19 17M10 19V18H7.5C7.22 18 7 18.22 7 18.5V21.5C7 21.78 7.22 22 7.5 22H9.5C9.78 22 10 21.78 10 21.5V20C10 19.72 9.78 19.5 9.5 19.5H8V19H10M9 20.5V21H8V20.5H9M17.5 19H16.5V22H15.5V19H14.5V18H17.5V19M12.5 19V19.5H13.5V20.5H12.5V22H11.5V18H14V19H12.5Z\";\r\nexport var mdiSofa = \"M12.5 7C12.5 5.89 13.39 5 14.5 5H18C19.1 5 20 5.9 20 7V9.16C18.84 9.57 18 10.67 18 11.97V14H12.5V7M6 11.96V14H11.5V7C11.5 5.89 10.61 5 9.5 5H6C4.9 5 4 5.9 4 7V9.15C5.16 9.56 6 10.67 6 11.96M20.66 10.03C19.68 10.19 19 11.12 19 12.12V15H5V12C5 10.9 4.11 10 3 10S1 10.9 1 12V17C1 18.1 1.9 19 3 19V21H5V19H19V21H21V19C22.1 19 23 18.1 23 17V12C23 10.79 21.91 9.82 20.66 10.03Z\";\r\nexport var mdiSofaOutline = \"M21 9V7C21 5.35 19.65 4 18 4H14C13.23 4 12.53 4.3 12 4.78C11.47 4.3 10.77 4 10 4H6C4.35 4 3 5.35 3 7V9C1.35 9 0 10.35 0 12V17C0 18.65 1.35 20 3 20V22H5V20H19V22H21V20C22.65 20 24 18.65 24 17V12C24 10.35 22.65 9 21 9M14 6H18C18.55 6 19 6.45 19 7V9.78C18.39 10.33 18 11.12 18 12V14H13V7C13 6.45 13.45 6 14 6M5 7C5 6.45 5.45 6 6 6H10C10.55 6 11 6.45 11 7V14H6V12C6 11.12 5.61 10.33 5 9.78V7M22 17C22 17.55 21.55 18 21 18H3C2.45 18 2 17.55 2 17V12C2 11.45 2.45 11 3 11S4 11.45 4 12V16H20V12C20 11.45 20.45 11 21 11S22 11.45 22 12V17Z\";\r\nexport var mdiSofaSingle = \"M5 9.15V7C5 5.9 5.9 5 7 5H17C18.1 5 19 5.9 19 7V9.16C17.84 9.57 17 10.67 17 11.97V14H7V11.96C7 10.67 6.16 9.56 5 9.15M20 10C18.9 10 18 10.9 18 12V15H6V12C6 10.9 5.11 10 4 10S2 10.9 2 12V17C2 18.1 2.9 19 4 19V21H6V19H18V21H20V19C21.1 19 22 18.1 22 17V12C22 10.9 21.1 10 20 10Z\";\r\nexport var mdiSofaSingleOutline = \"M19 9V7C19 5.35 17.65 4 16 4H8C6.35 4 5 5.35 5 7V9C3.35 9 2 10.35 2 12V17C2 18.65 3.35 20 5 20V22H7V20H17V22H19V20C20.65 20 22 18.65 22 17V12C22 10.35 20.65 9 19 9M7 7C7 6.45 7.45 6 8 6H16C16.55 6 17 6.45 17 7V9.78C16.39 10.33 16 11.12 16 12V14H8V12C8 11.12 7.61 10.33 7 9.78V7M20 17C20 17.55 19.55 18 19 18H5C4.45 18 4 17.55 4 17V12C4 11.45 4.45 11 5 11S6 11.45 6 12V16H18V12C18 11.45 18.45 11 19 11S20 11.45 20 12V17Z\";\r\nexport var mdiSolarPanel = \"M4,2H20A2,2 0 0,1 22,4V14A2,2 0 0,1 20,16H15V20H18V22H13V16H11V22H6V20H9V16H4A2,2 0 0,1 2,14V4A2,2 0 0,1 4,2M4,4V8H11V4H4M4,14H11V10H4V14M20,14V10H13V14H20M20,4H13V8H20V4Z\";\r\nexport var mdiSolarPanelLarge = \"M3,6H6V3H3V6M8,3V6H11V3H8M13,3V6H16V3H13M18,3V6H21V3H18M21,8H18V11H21V8M21,13H18V16H21V13M16,16V13H13V16H16M11,16V13H8V16H11M6,16V13H3V16H6M3,11H6V8H3V11M13,8V11H16V8H13M8,8V11H11V8H8M3,1H21A2,2 0 0,1 23,3V16A2,2 0 0,1 21,18H15V21H18V23H13V18H11V23H6V21H9V18H3A2,2 0 0,1 1,16V3A2,2 0 0,1 3,1Z\";\r\nexport var mdiSolarPower = \"M11.45,2V5.55L15,3.77L11.45,2M10.45,8L8,10.46L11.75,11.71L10.45,8M2,11.45L3.77,15L5.55,11.45H2M10,2H2V10C2.57,10.17 3.17,10.25 3.77,10.25C7.35,10.26 10.26,7.35 10.27,3.75C10.26,3.16 10.17,2.57 10,2M17,22V16H14L19,7V13H22L17,22Z\";\r\nexport var mdiSolarPowerVariant = \"M3.33 16H11V13H4L3.33 16M13 16H20.67L20 13H13V16M21.11 18H13V22H22L21.11 18M2 22H11V18H2.89L2 22M11 8H13V11H11V8M15.76 7.21L17.18 5.79L19.3 7.91L17.89 9.33L15.76 7.21M4.71 7.91L6.83 5.79L8.24 7.21L6.12 9.33L4.71 7.91M3 2H6V4H3V2M18 2H21V4H18V2M12 7C14.76 7 17 4.76 17 2H7C7 4.76 9.24 7 12 7Z\";\r\nexport var mdiSolarPowerVariantOutline = \"M20 12H4L2 22H22L20 12M18.36 14L18.76 16H13V14H18.36M11 14V16H5.24L5.64 14H11M4.84 18H11V20H4.44L4.84 18M13 20V18H19.16L19.56 20H13M11 8H13V11H11V8M15.76 7.21L17.18 5.79L19.3 7.91L17.89 9.33L15.76 7.21M4.71 7.91L6.83 5.79L8.24 7.21L6.12 9.33L4.71 7.91M3 2H6V4H3V2M18 2H21V4H18V2M12 7C14.76 7 17 4.76 17 2H15C15 3.65 13.65 5 12 5S9 3.65 9 2H7C7 4.76 9.24 7 12 7Z\";\r\nexport var mdiSolderingIron = \"M4.86 4.03L2.03 6.86L5.21 10.04V12.87L6.63 14.28L12.28 8.63L10.87 7.21H8.04L4.86 4.03M17 6V7.5C18 7.5 18.85 8.33 18.85 9.35C18.85 10.37 18 11.2 17 11.2V12.7C19.24 12.7 21 14.53 21 16.77V21H22.5V16.76C22.5 14.54 21.22 12.62 19.35 11.73C19.97 11.12 20.35 10.28 20.35 9.35C20.35 7.5 18.85 6 17 6M11.93 11.1L9.1 13.93L14.05 18.88L14.76 18.17L16.88 20.29L19 21L18.29 18.88L16.17 16.76L16.88 16.05L11.93 11.1Z\";\r\nexport var mdiSolid = \"M0,0H24V24H0\";\r\nexport var mdiSonyPlaystation = \"M9.5,4.27C10.88,4.53 12.9,5.14 14,5.5C16.75,6.45 17.69,7.63 17.69,10.29C17.69,12.89 16.09,13.87 14.05,12.89V8.05C14.05,7.5 13.95,6.97 13.41,6.82C13,6.69 12.76,7.07 12.76,7.63V19.73L9.5,18.69V4.27M13.37,17.62L18.62,15.75C19.22,15.54 19.31,15.24 18.83,15.08C18.34,14.92 17.47,14.97 16.87,15.18L13.37,16.41V14.45L13.58,14.38C13.58,14.38 14.59,14 16,13.87C17.43,13.71 19.17,13.89 20.53,14.4C22.07,14.89 22.25,15.61 21.86,16.1C21.46,16.6 20.5,16.95 20.5,16.95L13.37,19.5V17.62M3.5,17.42C1.93,17 1.66,16.05 2.38,15.5C3.05,15 4.18,14.65 4.18,14.65L8.86,13V14.88L5.5,16.09C4.9,16.3 4.81,16.6 5.29,16.76C5.77,16.92 6.65,16.88 7.24,16.66L8.86,16.08V17.77L8.54,17.83C6.92,18.09 5.2,18 3.5,17.42Z\";\r\nexport var mdiSort = \"M18 21L14 17H17V7H14L18 3L22 7H19V17H22M2 19V17H12V19M2 13V11H9V13M2 7V5H6V7H2Z\";\r\nexport var mdiSortAlphabeticalAscending = \"M19 17H22L18 21L14 17H17V3H19M11 13V15L7.67 19H11V21H5V19L8.33 15H5V13M9 3H7C5.9 3 5 3.9 5 5V11H7V9H9V11H11V5C11 3.9 10.11 3 9 3M9 7H7V5H9Z\";\r\nexport var mdiSortAlphabeticalAscendingVariant = \"M9.25 5L12.5 1.75L15.75 5H9.25M8.89 14.3H6L5.28 17H2.91L6 7H9L12.13 17H9.67L8.89 14.3M6.33 12.68H8.56L7.93 10.56L7.67 9.59L7.42 8.63H7.39L7.17 9.6L6.93 10.58L6.33 12.68M13.05 17V15.74L17.8 8.97V8.91H13.5V7H20.73V8.34L16.09 15V15.08H20.8V17H13.05Z\";\r\nexport var mdiSortAlphabeticalDescending = \"M19 7H22L18 3L14 7H17V21H19M11 13V15L7.67 19H11V21H5V19L8.33 15H5V13M9 3H7C5.9 3 5 3.9 5 5V11H7V9H9V11H11V5C11 3.9 10.11 3 9 3M9 7H7V5H9Z\";\r\nexport var mdiSortAlphabeticalDescendingVariant = \"M15.75 19L12.5 22.25L9.25 19H15.75M8.89 14.3H6L5.28 17H2.91L6 7H9L12.13 17H9.67L8.89 14.3M6.33 12.68H8.56L7.93 10.56L7.67 9.59L7.42 8.63H7.39L7.17 9.6L6.93 10.58L6.33 12.68M13.05 17V15.74L17.8 8.97V8.91H13.5V7H20.73V8.34L16.09 15V15.08H20.8V17H13.05Z\";\r\nexport var mdiSortAlphabeticalVariant = \"M9.25,5L12.5,1.75L15.75,5H9.25M15.75,19L12.5,22.25L9.25,19H15.75M8.89,14.3H6L5.28,17H2.91L6,7H9L12.13,17H9.67L8.89,14.3M6.33,12.68H8.56L7.93,10.56L7.67,9.59L7.42,8.63H7.39L7.17,9.6L6.93,10.58L6.33,12.68M13.05,17V15.74L17.8,8.97V8.91H13.5V7H20.73V8.34L16.09,15V15.08H20.8V17H13.05Z\";\r\nexport var mdiSortAscending = \"M19 17H22L18 21L14 17H17V3H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z\";\r\nexport var mdiSortBoolAscending = \"M19 17H22L18 21L14 17H17V3H19V17M7 3C4.79 3 3 4.79 3 7S4.79 11 7 11 11 9.21 11 7 9.21 3 7 3M7 9C5.9 9 5 8.1 5 7S5.9 5 7 5 9 5.9 9 7 8.1 9 7 9M7 13C4.79 13 3 14.79 3 17S4.79 21 7 21 11 19.21 11 17 9.21 13 7 13Z\";\r\nexport var mdiSortBoolAscendingVariant = \"M19 17H22L18 21L14 17H17V3H19V17M9 13H5C3.89 13 3 13.89 3 15V19C3 20.11 3.89 21 5 21H9C10.11 21 11 20.11 11 19V15C11 13.89 10.11 13 9 13M6.27 19.5L3.74 16.95L4.81 15.9L6.28 17.39L9.2 14.5L10.26 15.55L6.27 19.5M9 3H5C3.89 3 3 3.89 3 5V9C3 10.11 3.89 11 5 11H9C10.11 11 11 10.11 11 9V5C11 3.89 10.11 3 9 3M9 9H5V5H9V9Z\";\r\nexport var mdiSortBoolDescending = \"M19 7H22L18 3L14 7H17V21H19M5 7C5 8.1 5.9 9 7 9C8.1 9 9 8.1 9 7C9 5.9 8.1 5 7 5C5.9 5 5 5.9 5 7M7 3C9.21 3 11 4.79 11 7C11 9.21 9.21 11 7 11C4.79 11 3 9.21 3 7C3 4.79 4.79 3 7 3M7 13C4.79 13 3 14.79 3 17C3 19.21 4.79 21 7 21C9.21 21 11 19.21 11 17C11 14.79 9.21 13 7 13Z\";\r\nexport var mdiSortBoolDescendingVariant = \"M19 7H22L18 3L14 7H17V21H19M5 13C3.89 13 3 13.89 3 15V19C3 20.11 3.89 21 5 21H9C10.11 21 11 20.11 11 19V15C11 13.89 10.11 13 9 13M9.2 14.5L10.26 15.55L6.27 19.5L3.74 16.95L4.81 15.9L6.28 17.39M5 3C3.89 3 3 3.89 3 5V9C3 10.11 3.89 11 5 11H9C10.11 11 11 10.11 11 9V5C11 3.89 10.11 3 9 3M5 5H9V9H5Z\";\r\nexport var mdiSortCalendarAscending = \"M21 17H24L20 21L16 17H19V3H21V17M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z\";\r\nexport var mdiSortCalendarDescending = \"M19 7H16L20 3L24 7H21V21H19V7M8 16H11V13H8V16M13 5H12V3H10V5H6V3H4V5H3C1.89 5 1 5.89 1 7V18C1 19.11 1.89 20 3 20H13C14.11 20 15 19.11 15 18V7C15 5.89 14.11 5 13 5M3 18L3 11H13L13 18L3 18Z\";\r\nexport var mdiSortClockAscending = \"M20 17H23L19 21L15 17H18V3H20V17M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M10.19 14.53L7 12.69V9H8.5V11.82L10.94 13.23L10.19 14.53Z\";\r\nexport var mdiSortClockAscendingOutline = \"M20 17H23L19 21L15 17H18V3H20V17M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M8 7.15C10.67 7.15 12.85 9.32 12.85 12C12.85 14.68 10.68 16.85 8 16.85C5.32 16.85 3.15 14.68 3.15 12C3.15 9.32 5.32 7.15 8 7.15M7 9V12.69L10.19 14.53L10.94 13.23L8.5 11.82V9\";\r\nexport var mdiSortClockDescending = \"M18 7H15L19 3L23 7H20V21H18V7M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M10.19 14.53L7 12.69V9H8.5V11.82L10.94 13.23L10.19 14.53Z\";\r\nexport var mdiSortClockDescendingOutline = \"M18 7H15L19 3L23 7H20V21H18V7M8 5C4.14 5 1 8.13 1 12C1 15.87 4.13 19 8 19C11.86 19 15 15.87 15 12C15 8.13 11.87 5 8 5M8 7.15C10.67 7.15 12.85 9.32 12.85 12C12.85 14.68 10.68 16.85 8 16.85C5.32 16.85 3.15 14.68 3.15 12C3.15 9.32 5.32 7.15 8 7.15M7 9V12.69L10.19 14.53L10.94 13.23L8.5 11.82V9\";\r\nexport var mdiSortDescending = \"M19 7H22L18 3L14 7H17V21H19M2 17H12V19H2M6 5V7H2V5M2 11H9V13H2V11Z\";\r\nexport var mdiSortNumericAscending = \"M19 17H22L18 21L14 17H17V3H19V17M9 13H7C5.9 13 5 13.9 5 15V16C5 17.11 5.9 18 7 18H9V19H5V21H9C10.11 21 11 20.11 11 19V15C11 13.9 10.11 13 9 13M9 16H7V15H9V16M9 3H7C5.9 3 5 3.9 5 5V9C5 10.11 5.9 11 7 11H9C10.11 11 11 10.11 11 9V5C11 3.9 10.11 3 9 3M9 9H7V5H9V9Z\";\r\nexport var mdiSortNumericAscendingVariant = \"M7.78 7C9.08 7.04 10 7.53 10.57 8.46C11.13 9.4 11.41 10.56 11.39 11.95C11.4 13.5 11.09 14.73 10.5 15.62C9.88 16.5 8.95 16.97 7.71 17C6.45 16.96 5.54 16.5 4.96 15.56C4.38 14.63 4.09 13.45 4.09 12S4.39 9.36 5 8.44C5.59 7.5 6.5 7.04 7.78 7M7.75 8.63C7.31 8.63 6.96 8.9 6.7 9.46C6.44 10 6.32 10.87 6.32 12C6.31 13.15 6.44 14 6.69 14.54C6.95 15.1 7.31 15.37 7.77 15.37C8.69 15.37 9.16 14.24 9.17 12C9.17 9.77 8.7 8.65 7.75 8.63M13.33 17V15.22L13.76 15.24L14.3 15.22L15.34 15.03C15.68 14.92 16 14.78 16.26 14.58C16.59 14.35 16.86 14.08 17.07 13.76C17.29 13.45 17.44 13.12 17.53 12.78L17.5 12.77C17.05 13.19 16.38 13.4 15.47 13.41C14.62 13.4 13.91 13.15 13.34 12.65S12.5 11.43 12.46 10.5C12.47 9.5 12.81 8.69 13.47 8.03C14.14 7.37 15 7.03 16.12 7C17.37 7.04 18.29 7.45 18.88 8.24C19.47 9 19.76 10 19.76 11.19C19.75 12.15 19.61 13 19.32 13.76C19.03 14.5 18.64 15.13 18.12 15.64C17.66 16.06 17.11 16.38 16.47 16.61C15.83 16.83 15.12 16.96 14.34 17H13.33M16.06 8.63C15.65 8.64 15.32 8.8 15.06 9.11C14.81 9.42 14.68 9.84 14.68 10.36C14.68 10.8 14.8 11.16 15.03 11.46C15.27 11.77 15.63 11.92 16.11 11.93C16.43 11.93 16.7 11.86 16.92 11.74C17.14 11.61 17.3 11.46 17.41 11.28C17.5 11.17 17.53 10.97 17.53 10.71C17.54 10.16 17.43 9.69 17.2 9.28C16.97 8.87 16.59 8.65 16.06 8.63M9.25 5L12.5 1.75L15.75 5H9.25\";\r\nexport var mdiSortNumericDescending = \"M19 7H22L18 3L14 7H17V21H19M9 21H5V19H9V18H7C5.9 18 5 17.11 5 16V15C5 13.9 5.9 13 7 13H9C10.11 13 11 13.9 11 15V19C11 20.11 10.11 21 9 21M9 15H7V16H9M7 3H9C10.11 3 11 3.9 11 5V9C11 10.11 10.11 11 9 11H7C5.9 11 5 10.11 5 9V5C5 3.9 5.9 3 7 3M7 9H9V5H7Z\";\r\nexport var mdiSortNumericDescendingVariant = \"M7.78 7C9.08 7.04 10 7.53 10.57 8.46C11.13 9.4 11.41 10.56 11.39 11.95C11.4 13.5 11.09 14.73 10.5 15.62C9.88 16.5 8.95 16.97 7.71 17C6.45 16.96 5.54 16.5 4.96 15.56C4.38 14.63 4.09 13.45 4.09 12S4.39 9.36 5 8.44C5.59 7.5 6.5 7.04 7.78 7M7.75 8.63C7.31 8.63 6.96 8.9 6.7 9.46C6.44 10 6.32 10.87 6.32 12C6.31 13.15 6.44 14 6.69 14.54C6.95 15.1 7.31 15.37 7.77 15.37C8.69 15.37 9.16 14.24 9.17 12C9.17 9.77 8.7 8.65 7.75 8.63M13.33 17V15.22L13.76 15.24L14.3 15.22L15.34 15.03C15.68 14.92 16 14.78 16.26 14.58C16.59 14.35 16.86 14.08 17.07 13.76C17.29 13.45 17.44 13.12 17.53 12.78L17.5 12.77C17.05 13.19 16.38 13.4 15.47 13.41C14.62 13.4 13.91 13.15 13.34 12.65S12.5 11.43 12.46 10.5C12.47 9.5 12.81 8.69 13.47 8.03C14.14 7.37 15 7.03 16.12 7C17.37 7.04 18.29 7.45 18.88 8.24C19.47 9 19.76 10 19.76 11.19C19.75 12.15 19.61 13 19.32 13.76C19.03 14.5 18.64 15.13 18.12 15.64C17.66 16.06 17.11 16.38 16.47 16.61C15.83 16.83 15.12 16.96 14.34 17H13.33M16.06 8.63C15.65 8.64 15.32 8.8 15.06 9.11C14.81 9.42 14.68 9.84 14.68 10.36C14.68 10.8 14.8 11.16 15.03 11.46C15.27 11.77 15.63 11.92 16.11 11.93C16.43 11.93 16.7 11.86 16.92 11.74C17.14 11.61 17.3 11.46 17.41 11.28C17.5 11.17 17.53 10.97 17.53 10.71C17.54 10.16 17.43 9.69 17.2 9.28C16.97 8.87 16.59 8.65 16.06 8.63M15.75 19L12.5 22.25L9.25 19H15.75Z\";\r\nexport var mdiSortNumericVariant = \"M7.78,7C9.08,7.04 10,7.53 10.57,8.46C11.13,9.4 11.41,10.56 11.39,11.95C11.4,13.5 11.09,14.73 10.5,15.62C9.88,16.5 8.95,16.97 7.71,17C6.45,16.96 5.54,16.5 4.96,15.56C4.38,14.63 4.09,13.45 4.09,12C4.09,10.55 4.39,9.36 5,8.44C5.59,7.5 6.5,7.04 7.78,7M7.75,8.63C7.31,8.63 6.96,8.9 6.7,9.46C6.44,10 6.32,10.87 6.32,12C6.31,13.15 6.44,14 6.69,14.54C6.95,15.1 7.31,15.37 7.77,15.37C8.69,15.37 9.16,14.24 9.17,12C9.17,9.77 8.7,8.65 7.75,8.63M13.33,17V15.22L13.76,15.24L14.3,15.22L15.34,15.03C15.68,14.92 16,14.78 16.26,14.58C16.59,14.35 16.86,14.08 17.07,13.76C17.29,13.45 17.44,13.12 17.53,12.78L17.5,12.77C17.05,13.19 16.38,13.4 15.47,13.41C14.62,13.4 13.91,13.15 13.34,12.65C12.77,12.15 12.5,11.43 12.46,10.5C12.47,9.5 12.81,8.69 13.47,8.03C14.14,7.37 15,7.03 16.12,7C17.37,7.04 18.29,7.45 18.88,8.24C19.47,9 19.76,10 19.76,11.19C19.75,12.15 19.61,13 19.32,13.76C19.03,14.5 18.64,15.13 18.12,15.64C17.66,16.06 17.11,16.38 16.47,16.61C15.83,16.83 15.12,16.96 14.34,17H13.33M16.06,8.63C15.65,8.64 15.32,8.8 15.06,9.11C14.81,9.42 14.68,9.84 14.68,10.36C14.68,10.8 14.8,11.16 15.03,11.46C15.27,11.77 15.63,11.92 16.11,11.93C16.43,11.93 16.7,11.86 16.92,11.74C17.14,11.61 17.3,11.46 17.41,11.28C17.5,11.17 17.53,10.97 17.53,10.71C17.54,10.16 17.43,9.69 17.2,9.28C16.97,8.87 16.59,8.65 16.06,8.63M9.25,5L12.5,1.75L15.75,5H9.25M15.75,19L12.5,22.25L9.25,19H15.75Z\";\r\nexport var mdiSortReverseVariant = \"M3 11H15V13H3M3 18V16H21V18M3 6H9V8H3Z\";\r\nexport var mdiSortVariant = \"M3,13H15V11H3M3,6V8H21V6M3,18H9V16H3V18Z\";\r\nexport var mdiSortVariantLock = \"M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16M3 13V11H15V13H3M3 6H21V8H3V6M3 18V16H9V18H3\";\r\nexport var mdiSortVariantLockOpen = \"M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V13.5C16.2 12.1 17.6 11 19 11S21.8 12.1 21.8 13.5V14H20.5V13.5C20.5 12.7 19.8 12.2 19 12.2S17.5 12.7 17.5 13.5V16H21.8C22.4 16 23 16.6 23 17.3M3 13V11H15V13H3M3 6H21V8H3V6M3 18V16H9V18H3\";\r\nexport var mdiSortVariantOff = \"M20.84 22.73L11.11 13H3V11H9.11L6.11 8H3V6H4.11L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M15 11H14.2L15 11.8V11M21 8V6H9.2L11.2 8H21M3 18H9V16H3V18Z\";\r\nexport var mdiSortVariantRemove = \"M3 13H15V11H3M3 6V8H21V6M3 18H9V16H3V18M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.46L22.54 16.88\";\r\nexport var mdiSoundbar = \"M4 8C2.9 8 2 8.9 2 10V14C2 15.11 2.9 16 4 16H20C21.11 16 22 15.11 22 14V10C22 8.9 21.11 8 20 8M9 10C10.11 10 11 10.9 11 12C11 13.11 10.11 14 9 14C7.9 14 7 13.11 7 12C7 10.9 7.9 10 9 10M15 10C16.11 10 17 10.9 17 12C17 13.11 16.11 14 15 14C13.9 14 13 13.11 13 12C13 10.9 13.9 10 15 10M5 11C5.55 11 6 11.45 6 12C6 12.55 5.55 13 5 13C4.45 13 4 12.55 4 12C4 11.45 4.45 11 5 11M9 11C8.45 11 8 11.45 8 12C8 12.55 8.45 13 9 13C9.55 13 10 12.55 10 12C10 11.45 9.55 11 9 11M15 11C14.45 11 14 11.45 14 12C14 12.55 14.45 13 15 13C15.55 13 16 12.55 16 12C16 11.45 15.55 11 15 11M19 11C19.55 11 20 11.45 20 12C20 12.55 19.55 13 19 13C18.45 13 18 12.55 18 12C18 11.45 18.45 11 19 11Z\";\r\nexport var mdiSoundcloud = \"M11.56,8.87V17H20.32V17C22.17,16.87 23,15.73 23,14.33C23,12.85 21.88,11.66 20.38,11.66C20,11.66 19.68,11.74 19.35,11.88C19.11,9.54 17.12,7.71 14.67,7.71C13.5,7.71 12.39,8.15 11.56,8.87M10.68,9.89C10.38,9.71 10.06,9.57 9.71,9.5V17H11.1V9.34C10.95,9.5 10.81,9.7 10.68,9.89M8.33,9.35V17H9.25V9.38C9.06,9.35 8.87,9.34 8.67,9.34C8.55,9.34 8.44,9.34 8.33,9.35M6.5,10V17H7.41V9.54C7.08,9.65 6.77,9.81 6.5,10M4.83,12.5C4.77,12.5 4.71,12.44 4.64,12.41V17H5.56V10.86C5.19,11.34 4.94,11.91 4.83,12.5M2.79,12.22V16.91C3,16.97 3.24,17 3.5,17H3.72V12.14C3.64,12.13 3.56,12.12 3.5,12.12C3.24,12.12 3,12.16 2.79,12.22M1,14.56C1,15.31 1.34,15.97 1.87,16.42V12.71C1.34,13.15 1,13.82 1,14.56Z\";\r\nexport var mdiSourceBranch = \"M13,14C9.64,14 8.54,15.35 8.18,16.24C9.25,16.7 10,17.76 10,19A3,3 0 0,1 7,22A3,3 0 0,1 4,19C4,17.69 4.83,16.58 6,16.17V7.83C4.83,7.42 4,6.31 4,5A3,3 0 0,1 7,2A3,3 0 0,1 10,5C10,6.31 9.17,7.42 8,7.83V13.12C8.88,12.47 10.16,12 12,12C14.67,12 15.56,10.66 15.85,9.77C14.77,9.32 14,8.25 14,7A3,3 0 0,1 17,4A3,3 0 0,1 20,7C20,8.34 19.12,9.5 17.91,9.86C17.65,11.29 16.68,14 13,14M7,18A1,1 0 0,0 6,19A1,1 0 0,0 7,20A1,1 0 0,0 8,19A1,1 0 0,0 7,18M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M17,6A1,1 0 0,0 16,7A1,1 0 0,0 17,8A1,1 0 0,0 18,7A1,1 0 0,0 17,6Z\";\r\nexport var mdiSourceBranchCheck = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16\";\r\nexport var mdiSourceBranchMinus = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M14 17V19H22V17H14Z\";\r\nexport var mdiSourceBranchPlus = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiSourceBranchRefresh = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M18 14C19.1 14 20.1 14.4 20.8 15.2L22 14V18H18L19.8 16.2C19.3 15.8 18.7 15.5 18 15.5C16.6 15.5 15.5 16.6 15.5 18S16.6 20.5 18 20.5C18.8 20.5 19.5 20.1 20 19.5H21.7C21.1 21 19.7 22 18 22C15.8 22 14 20.2 14 18S15.8 14 18 14Z\";\r\nexport var mdiSourceBranchRemove = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M20.12 14.46L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88L20.12 14.46Z\";\r\nexport var mdiSourceBranchSync = \"M13 14C9.64 14 8.54 15.35 8.18 16.24C9.25 16.7 10 17.76 10 19C10 20.66 8.66 22 7 22S4 20.66 4 19C4 17.69 4.83 16.58 6 16.17V7.83C4.83 7.42 4 6.31 4 5C4 3.34 5.34 2 7 2S10 3.34 10 5C10 6.31 9.17 7.42 8 7.83V13.12C8.88 12.47 10.16 12 12 12C14.67 12 15.56 10.66 15.85 9.77C14.77 9.32 14 8.25 14 7C14 5.34 15.34 4 17 4S20 5.34 20 7C20 8.34 19.12 9.5 17.91 9.86C17.65 11.29 16.68 14 13 14M7 18C6.45 18 6 18.45 6 19S6.45 20 7 20 8 19.55 8 19 7.55 18 7 18M7 4C6.45 4 6 4.45 6 5S6.45 6 7 6 8 5.55 8 5 7.55 4 7 4M17 6C16.45 6 16 6.45 16 7S16.45 8 17 8 18 7.55 18 7 17.55 6 17 6M18 13V14.5C20.21 14.5 22 16.29 22 18.5C22 19.32 21.75 20.08 21.33 20.71L20.24 19.62C20.41 19.28 20.5 18.9 20.5 18.5C20.5 17.12 19.38 16 18 16V17.5L15.75 15.25L15.72 15.22C15.78 15.17 15.85 15.13 18 13M18 24V22.5C15.79 22.5 14 20.71 14 18.5C14 17.68 14.25 16.92 14.67 16.29L15.76 17.38C15.59 17.72 15.5 18.1 15.5 18.5C15.5 19.88 16.62 21 18 21V19.5L20.25 21.75L20.28 21.78C20.22 21.83 20.15 21.87 18 24\";\r\nexport var mdiSourceCommit = \"M17,12C17,14.42 15.28,16.44 13,16.9V21H11V16.9C8.72,16.44 7,14.42 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiSourceCommitEnd = \"M17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiSourceCommitEndLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,5V3H13V5H11Z\";\r\nexport var mdiSourceCommitLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,5V3H13V5H11M11,21V19H13V21H11Z\";\r\nexport var mdiSourceCommitNextLocal = \"M17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12C7,9.58 8.72,7.56 11,7.1V3H13V7.1C15.28,7.56 17,9.58 17,12M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,21V19H13V21H11Z\";\r\nexport var mdiSourceCommitStart = \"M12,7A5,5 0 0,1 17,12C17,14.42 15.28,16.44 13,16.9V21H11V16.9C8.72,16.44 7,14.42 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9Z\";\r\nexport var mdiSourceCommitStartNextLocal = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M11,21V19H13V21H11Z\";\r\nexport var mdiSourceFork = \"M6,2A3,3 0 0,1 9,5C9,6.28 8.19,7.38 7.06,7.81C7.15,8.27 7.39,8.83 8,9.63C9,10.92 11,12.83 12,14.17C13,12.83 15,10.92 16,9.63C16.61,8.83 16.85,8.27 16.94,7.81C15.81,7.38 15,6.28 15,5A3,3 0 0,1 18,2A3,3 0 0,1 21,5C21,6.32 20.14,7.45 18.95,7.85C18.87,8.37 18.64,9 18,9.83C17,11.17 15,13.08 14,14.38C13.39,15.17 13.15,15.73 13.06,16.19C14.19,16.62 15,17.72 15,19A3,3 0 0,1 12,22A3,3 0 0,1 9,19C9,17.72 9.81,16.62 10.94,16.19C10.85,15.73 10.61,15.17 10,14.38C9,13.08 7,11.17 6,9.83C5.36,9 5.13,8.37 5.05,7.85C3.86,7.45 3,6.32 3,5A3,3 0 0,1 6,2M6,4A1,1 0 0,0 5,5A1,1 0 0,0 6,6A1,1 0 0,0 7,5A1,1 0 0,0 6,4M18,4A1,1 0 0,0 17,5A1,1 0 0,0 18,6A1,1 0 0,0 19,5A1,1 0 0,0 18,4M12,18A1,1 0 0,0 11,19A1,1 0 0,0 12,20A1,1 0 0,0 13,19A1,1 0 0,0 12,18Z\";\r\nexport var mdiSourceMerge = \"M7,3A3,3 0 0,1 10,6C10,7.29 9.19,8.39 8.04,8.81C8.58,13.81 13.08,14.77 15.19,14.96C15.61,13.81 16.71,13 18,13A3,3 0 0,1 21,16A3,3 0 0,1 18,19C16.69,19 15.57,18.16 15.16,17C10.91,16.8 9.44,15.19 8,13.39V15.17C9.17,15.58 10,16.69 10,18A3,3 0 0,1 7,21A3,3 0 0,1 4,18C4,16.69 4.83,15.58 6,15.17V8.83C4.83,8.42 4,7.31 4,6A3,3 0 0,1 7,3M7,5A1,1 0 0,0 6,6A1,1 0 0,0 7,7A1,1 0 0,0 8,6A1,1 0 0,0 7,5M7,17A1,1 0 0,0 6,18A1,1 0 0,0 7,19A1,1 0 0,0 8,18A1,1 0 0,0 7,17M18,15A1,1 0 0,0 17,16A1,1 0 0,0 18,17A1,1 0 0,0 19,16A1,1 0 0,0 18,15Z\";\r\nexport var mdiSourcePull = \"M6,3A3,3 0 0,1 9,6C9,7.31 8.17,8.42 7,8.83V15.17C8.17,15.58 9,16.69 9,18A3,3 0 0,1 6,21A3,3 0 0,1 3,18C3,16.69 3.83,15.58 5,15.17V8.83C3.83,8.42 3,7.31 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5M6,17A1,1 0 0,0 5,18A1,1 0 0,0 6,19A1,1 0 0,0 7,18A1,1 0 0,0 6,17M21,18A3,3 0 0,1 18,21A3,3 0 0,1 15,18C15,16.69 15.83,15.58 17,15.17V7H15V10.25L10.75,6L15,1.75V5H17A2,2 0 0,1 19,7V15.17C20.17,15.58 21,16.69 21,18M18,17A1,1 0 0,0 17,18A1,1 0 0,0 18,19A1,1 0 0,0 19,18A1,1 0 0,0 18,17Z\";\r\nexport var mdiSourceRepository = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M12.75,13.5C15.5,13.5 16.24,11.47 16.43,10.4C17.34,10.11 18,9.26 18,8.25C18,7 17,6 15.75,6C14.5,6 13.5,7 13.5,8.25C13.5,9.19 14.07,10 14.89,10.33C14.67,11 14,12 12,12C10.62,12 9.66,12.35 9,12.84V8.87C9.87,8.56 10.5,7.73 10.5,6.75C10.5,5.5 9.5,4.5 8.25,4.5C7,4.5 6,5.5 6,6.75C6,7.73 6.63,8.56 7.5,8.87V15.13C6.63,15.44 6,16.27 6,17.25C6,18.5 7,19.5 8.25,19.5C9.5,19.5 10.5,18.5 10.5,17.25C10.5,16.32 9.94,15.5 9.13,15.18C9.41,14.5 10.23,13.5 12.75,13.5M8.25,16.5A0.75,0.75 0 0,1 9,17.25A0.75,0.75 0 0,1 8.25,18A0.75,0.75 0 0,1 7.5,17.25A0.75,0.75 0 0,1 8.25,16.5M8.25,6A0.75,0.75 0 0,1 9,6.75A0.75,0.75 0 0,1 8.25,7.5A0.75,0.75 0 0,1 7.5,6.75A0.75,0.75 0 0,1 8.25,6M15.75,7.5A0.75,0.75 0 0,1 16.5,8.25A0.75,0.75 0 0,1 15.75,9A0.75,0.75 0 0,1 15,8.25A0.75,0.75 0 0,1 15.75,7.5Z\";\r\nexport var mdiSourceRepositoryMultiple = \"M8,0H20A2,2 0 0,1 22,2V18A2,2 0 0,1 20,20H8A2,2 0 0,1 6,18V2A2,2 0 0,1 8,0M14.75,11.5C17.5,11.5 18.24,9.47 18.43,8.4C19.34,8.11 20,7.26 20,6.25C20,5 19,4 17.75,4C16.5,4 15.5,5 15.5,6.25C15.5,7.19 16.07,8 16.89,8.33C16.67,9 16,10 14,10C12.62,10 11.66,10.35 11,10.84V6.87C11.87,6.56 12.5,5.73 12.5,4.75C12.5,3.5 11.5,2.5 10.25,2.5C9,2.5 8,3.5 8,4.75C8,5.73 8.63,6.56 9.5,6.87V13.13C8.63,13.44 8,14.27 8,15.25C8,16.5 9,17.5 10.25,17.5C11.5,17.5 12.5,16.5 12.5,15.25C12.5,14.32 11.94,13.5 11.13,13.18C11.41,12.5 12.23,11.5 14.75,11.5M10.25,14.5A0.75,0.75 0 0,1 11,15.25A0.75,0.75 0 0,1 10.25,16A0.75,0.75 0 0,1 9.5,15.25A0.75,0.75 0 0,1 10.25,14.5M10.25,4A0.75,0.75 0 0,1 11,4.75A0.75,0.75 0 0,1 10.25,5.5A0.75,0.75 0 0,1 9.5,4.75A0.75,0.75 0 0,1 10.25,4M17.75,5.5A0.75,0.75 0 0,1 18.5,6.25A0.75,0.75 0 0,1 17.75,7A0.75,0.75 0 0,1 17,6.25A0.75,0.75 0 0,1 17.75,5.5M16,22V24H4A2,2 0 0,1 2,22V6H4V22H16Z\";\r\nexport var mdiSoySauce = \"M13.9,7.5C13.9,6.8 14.1,6.3 14.2,6H14.8L15.7,3.5H16.5V2H7.5V3.5H8.3L9.2,6H9.8C10,6.3 10.1,6.8 10.1,7.5C10.1,8.8 6,13.7 6,17.6V19.6C6,21 8.7,21.9 12,21.9C15.3,21.9 18,21 18,19.6V17.6C18,13.7 13.9,8.8 13.9,7.5M12,15A2,2 0 0,1 10,13A2,2 0 0,1 12,11A2,2 0 0,1 14,13A2,2 0 0,1 12,15Z\";\r\nexport var mdiSoySauceOff = \"M22.1 21.5L2.4 1.7L1.1 3L8.6 10.5C7.5 12.6 6 15.3 6 17.6V19.6C6 21 8.7 21.9 12 21.9C15.1 21.9 17.7 21.1 18 19.9L20.9 22.8L22.1 21.5M12 15C10.9 15 10 14.1 10 13C10 12.7 10.1 12.4 10.2 12.1L12.9 14.8C12.6 14.9 12.3 15 12 15M8.3 3.5H7.5V2H16.5V3.5H15.7L14.8 6H14.2C14.1 6.3 13.9 6.8 13.9 7.5C13.9 8.4 15.9 11 17.1 13.9L10.1 6.9C10 6.5 9.9 6.2 9.8 6H9.2L8.3 3.5Z\";\r\nexport var mdiSpa = \"M15.5,9.63C15.31,6.84 14.18,4.12 12.06,2C9.92,4.14 8.74,6.86 8.5,9.63C9.79,10.31 10.97,11.19 12,12.26C13.03,11.2 14.21,10.32 15.5,9.63M12,15.45C9.85,12.17 6.18,10 2,10C2,20 11.32,21.89 12,22C12.68,21.88 22,20 22,10C17.82,10 14.15,12.17 12,15.45Z\";\r\nexport var mdiSpaOutline = \"M15.5,9.63C14.21,10.32 13.03,11.2 12,12.26C10.97,11.19 9.79,10.31 8.5,9.63C8.74,6.86 9.92,4.14 12.06,2C14.18,4.12 15.31,6.84 15.5,9.63M12,15.45C14.15,12.17 17.82,10 22,10C22,20 12.68,21.88 12,22C11.32,21.89 2,20 2,10C6.18,10 9.85,12.17 12,15.45M12.05,5.19C11.39,6.23 10.93,7.38 10.68,8.58L12,9.55L13.35,8.57C13.12,7.37 12.68,6.22 12.05,5.19M12,19.97C12,19.97 18,19 19.74,12.25C14,14 12,19.1 12,19.1C12,19.1 9,13 4.26,12.26C6,19 12,19.97 12,19.97Z\";\r\nexport var mdiSpaceInvaders = \"M7,6H5V4H7V6M17,6H19V4H17V6M23,12V18H21V14H19V18H17V16H7V18H5V14H3V18H1V12H3V10H5V8H7V6H9V8H15V6H17V8H19V10H21V12H23M15,10V12H17V10H15M7,12H9V10H7V12M11,18H7V20H11V18M17,18H13V20H17V18Z\";\r\nexport var mdiSpaceStation = \"M15.5 19V21H13.73C13.39 21.6 12.74 22 12 22C11.26 22 10.61 21.6 10.27 21H8.5V19H10.27C10.44 18.7 10.7 18.44 11 18.27V17H10C9.45 17 9 16.55 9 16V13H6V17C6 17.55 5.55 18 5 18H3C2.45 18 2 17.55 2 17V8C2 7.45 2.45 7 3 7H5C5.55 7 6 7.45 6 8V11H9V8C9 7.45 9.45 7 10 7H11V6H10C9.45 6 9 5.55 9 5V4C9 3.45 9.45 3 10 3H14C14.55 3 15 3.45 15 4V5C15 5.55 14.55 6 14 6H13V7H14C14.55 7 15 7.45 15 8V11H18V8C18 7.45 18.45 7 19 7H21C21.55 7 22 7.45 22 8V17C22 17.55 21.55 18 21 18H19C18.45 18 18 17.55 18 17V13H15V16C15 16.55 14.55 17 14 17H13V18.27C13.3 18.44 13.56 18.7 13.73 19H15.5M3 16V17H5V16H3M3 14V15H5V14H3M3 12V13H5V12H3M3 10V11H5V10H3M3 8V9H5V8H3M19 16V17H21V16H19M19 14V15H21V14H19M19 12V13H21V12H19M19 10V11H21V10H19M19 8V9H21V8H19Z\";\r\nexport var mdiSpade = \"M15.71,1.22L12.88,4.05C12.1,4.83 12.1,6.09 12.88,6.87L14.3,8.29L10.06,12.53L7.58,10.06L1.22,16.42L7.58,22.78L13.94,16.42L11.47,13.94L15.71,9.7L17.13,11.12C17.91,11.9 19.17,11.9 19.95,11.12L22.78,8.29L15.71,1.22M15.71,4.05L19.95,8.29L18.54,9.7L14.3,5.46L15.71,4.05Z\";\r\nexport var mdiSpeaker = \"M12,12A3,3 0 0,0 9,15A3,3 0 0,0 12,18A3,3 0 0,0 15,15A3,3 0 0,0 12,12M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20M12,4A2,2 0 0,1 14,6A2,2 0 0,1 12,8C10.89,8 10,7.1 10,6C10,4.89 10.89,4 12,4M17,2H7C5.89,2 5,2.89 5,4V20A2,2 0 0,0 7,22H17A2,2 0 0,0 19,20V4C19,2.89 18.1,2 17,2Z\";\r\nexport var mdiSpeakerBluetooth = \"M4,3A2,2 0 0,0 2,5V19A2,2 0 0,0 4,21H12A2,2 0 0,0 14,19V5A2,2 0 0,0 12,3H4M8,5A2,2 0 0,1 10,7A2,2 0 0,1 8,9A2,2 0 0,1 6,7A2,2 0 0,1 8,5M19,7V10.79L16.71,8.5L16,9.21L18.79,12L16,14.79L16.71,15.5L19,13.21V17H19.5L22.35,14.14L20.21,12L22.35,9.85L19.5,7H19M20,8.91L20.94,9.85L20,10.79V8.91M8,11A4,4 0 0,1 12,15A4,4 0 0,1 8,19A4,4 0 0,1 4,15A4,4 0 0,1 8,11M8,13A2,2 0 0,0 6,15A2,2 0 0,0 8,17A2,2 0 0,0 10,15A2,2 0 0,0 8,13M20,13.21L20.94,14.14L20,15.08V13.21Z\";\r\nexport var mdiSpeakerMessage = \"M16.5 3H21.5C22.3 3 23 3.7 23 4.5V7.5C23 8.3 22.3 9 21.5 9H18L15 12V4.5C15 3.7 15.7 3 16.5 3M3 3C1.9 3 1 3.9 1 5V19C1 20.1 1.9 21 3 21H11C12.1 21 13 20.1 13 19V5C13 3.9 12.1 3 11 3H3M7 5C8.1 5 9 5.9 9 7S8.1 9 7 9 5 8.1 5 7 5.9 5 7 5M7 11C9.2 11 11 12.8 11 15S9.2 19 7 19 3 17.2 3 15 4.8 11 7 11M7 13C5.9 13 5 13.9 5 15S5.9 17 7 17 9 16.1 9 15 8.1 13 7 13\";\r\nexport var mdiSpeakerMultiple = \"M14,10A3,3 0 0,0 11,13A3,3 0 0,0 14,16A3,3 0 0,0 17,13A3,3 0 0,0 14,10M14,18A5,5 0 0,1 9,13A5,5 0 0,1 14,8A5,5 0 0,1 19,13A5,5 0 0,1 14,18M14,2A2,2 0 0,1 16,4A2,2 0 0,1 14,6A2,2 0 0,1 12,4A2,2 0 0,1 14,2M19,0H9A2,2 0 0,0 7,2V18A2,2 0 0,0 9,20H19A2,2 0 0,0 21,18V2A2,2 0 0,0 19,0M5,22H17V24H5A2,2 0 0,1 3,22V4H5\";\r\nexport var mdiSpeakerOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L18.27,21.54C17.93,21.83 17.5,22 17,22H7C5.89,22 5,21.1 5,20V8.27L2,5.27M12,18A3,3 0 0,1 9,15C9,14.24 9.28,13.54 9.75,13L8.33,11.6C7.5,12.5 7,13.69 7,15A5,5 0 0,0 12,20C13.31,20 14.5,19.5 15.4,18.67L14,17.25C13.45,17.72 12.76,18 12,18M17,15A5,5 0 0,0 12,10H11.82L5.12,3.3C5.41,2.54 6.14,2 7,2H17A2,2 0 0,1 19,4V17.18L17,15.17V15M12,4C10.89,4 10,4.89 10,6A2,2 0 0,0 12,8A2,2 0 0,0 14,6C14,4.89 13.1,4 12,4Z\";\r\nexport var mdiSpeakerPause = \"M12.28 19.81C11.87 19.92 11.45 20 11 20C8.24 20 6 17.76 6 15S8.24 10 11 10C12.89 10 14.5 11.06 15.37 12.61C16.16 12.23 17.06 12 18 12V4C18 2.89 17.1 2 16 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.54C13 21.37 12.54 20.63 12.28 19.81M11 4C12.11 4 13 4.89 13 6S12.11 8 11 8C9.89 8 9 7.1 9 6C9 4.89 9.89 4 11 4M13.74 13.78C12.7 14.82 12.06 16.24 12 17.81C11.69 17.93 11.36 18 11 18C9.34 18 8 16.66 8 15S9.34 12 11 12C12.22 12 13.27 12.73 13.74 13.78M19 15H21V21H19M15 15H17V21H15V15Z\";\r\nexport var mdiSpeakerPlay = \"M16 15V21L21 18L16 15M12.28 19.81C11.87 19.92 11.45 20 11 20C8.24 20 6 17.76 6 15S8.24 10 11 10C12.89 10 14.5 11.06 15.37 12.61C16.16 12.23 17.06 12 18 12V4C18 2.89 17.1 2 16 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.54C13 21.37 12.54 20.63 12.28 19.81M11 4C12.11 4 13 4.89 13 6S12.11 8 11 8C9.89 8 9 7.1 9 6C9 4.89 9.89 4 11 4M13.74 13.78C12.7 14.82 12.06 16.24 12 17.81C11.69 17.93 11.36 18 11 18C9.34 18 8 16.66 8 15S9.34 12 11 12C12.22 12 13.27 12.73 13.74 13.78Z\";\r\nexport var mdiSpeakerStop = \"M12.28 19.81C11.87 19.92 11.45 20 11 20C8.24 20 6 17.76 6 15S8.24 10 11 10C12.89 10 14.5 11.06 15.37 12.61C16.16 12.23 17.06 12 18 12V4C18 2.89 17.1 2 16 2H6C4.89 2 4 2.89 4 4V20C4 21.11 4.89 22 6 22H13.54C13 21.37 12.54 20.63 12.28 19.81M11 4C12.11 4 13 4.89 13 6S12.11 8 11 8C9.89 8 9 7.1 9 6C9 4.89 9.89 4 11 4M13.74 13.78C12.7 14.82 12.06 16.24 12 17.81C11.69 17.93 11.36 18 11 18C9.34 18 8 16.66 8 15S9.34 12 11 12C12.22 12 13.27 12.73 13.74 13.78M21 15H15V21H21V15Z\";\r\nexport var mdiSpeakerWireless = \"M20.07,19.07L18.66,17.66C20.11,16.22 21,14.21 21,12C21,9.78 20.11,7.78 18.66,6.34L20.07,4.93C21.88,6.74 23,9.24 23,12C23,14.76 21.88,17.26 20.07,19.07M17.24,16.24L15.83,14.83C16.55,14.11 17,13.11 17,12C17,10.89 16.55,9.89 15.83,9.17L17.24,7.76C18.33,8.85 19,10.35 19,12C19,13.65 18.33,15.15 17.24,16.24M4,3H12A2,2 0 0,1 14,5V19A2,2 0 0,1 12,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M8,5A2,2 0 0,0 6,7A2,2 0 0,0 8,9A2,2 0 0,0 10,7A2,2 0 0,0 8,5M8,11A4,4 0 0,0 4,15A4,4 0 0,0 8,19A4,4 0 0,0 12,15A4,4 0 0,0 8,11M8,13A2,2 0 0,1 10,15A2,2 0 0,1 8,17A2,2 0 0,1 6,15A2,2 0 0,1 8,13Z\";\r\nexport var mdiSpear = \"M16 9H16.41L3.41 22L2 20.59L15 7.59V9H16M16 4V8H20L22 2L16 4Z\";\r\nexport var mdiSpeedometer = \"M12,16A3,3 0 0,1 9,13C9,11.88 9.61,10.9 10.5,10.39L20.21,4.77L14.68,14.35C14.18,15.33 13.17,16 12,16M12,3C13.81,3 15.5,3.5 16.97,4.32L14.87,5.53C14,5.19 13,5 12,5A8,8 0 0,0 4,13C4,15.21 4.89,17.21 6.34,18.65H6.35C6.74,19.04 6.74,19.67 6.35,20.06C5.96,20.45 5.32,20.45 4.93,20.07V20.07C3.12,18.26 2,15.76 2,13A10,10 0 0,1 12,3M22,13C22,15.76 20.88,18.26 19.07,20.07V20.07C18.68,20.45 18.05,20.45 17.66,20.06C17.27,19.67 17.27,19.04 17.66,18.65V18.65C19.11,17.2 20,15.21 20,13C20,12 19.81,11 19.46,10.1L20.67,8C21.5,9.5 22,11.18 22,13Z\";\r\nexport var mdiSpeedometerMedium = \"M12 1.38L9.14 12.06C8.8 13.1 9.04 14.29 9.86 15.12C11.04 16.29 12.94 16.29 14.11 15.12C14.9 14.33 15.16 13.2 14.89 12.21M14.6 3.35L15.22 5.68C18.04 6.92 20 9.73 20 13C20 15.21 19.11 17.21 17.66 18.65H17.65C17.26 19.04 17.26 19.67 17.65 20.06C18.04 20.45 18.68 20.45 19.07 20.07C20.88 18.26 22 15.76 22 13C22 8.38 18.86 4.5 14.6 3.35M9.4 3.36C5.15 4.5 2 8.4 2 13C2 15.76 3.12 18.26 4.93 20.07C5.32 20.45 5.95 20.45 6.34 20.06C6.73 19.67 6.73 19.04 6.34 18.65C4.89 17.2 4 15.21 4 13C4 9.65 5.94 6.86 8.79 5.65\";\r\nexport var mdiSpeedometerSlow = \"M12 16C13.66 16 15 14.66 15 13C15 11.88 14.39 10.9 13.5 10.39L3.79 4.77L9.32 14.35C9.82 15.33 10.83 16 12 16M12 3C10.19 3 8.5 3.5 7.03 4.32L9.13 5.53C10 5.19 11 5 12 5C16.42 5 20 8.58 20 13C20 15.21 19.11 17.21 17.66 18.65H17.65C17.26 19.04 17.26 19.67 17.65 20.06C18.04 20.45 18.68 20.45 19.07 20.07C20.88 18.26 22 15.76 22 13C22 7.5 17.5 3 12 3M2 13C2 15.76 3.12 18.26 4.93 20.07C5.32 20.45 5.95 20.45 6.34 20.06C6.73 19.67 6.73 19.04 6.34 18.65C4.89 17.2 4 15.21 4 13C4 12 4.19 11 4.54 10.1L3.33 8C2.5 9.5 2 11.18 2 13Z\";\r\nexport var mdiSpellcheck = \"M21.59,11.59L13.5,19.68L9.83,16L8.42,17.41L13.5,22.5L23,13M6.43,11L8.5,5.5L10.57,11M12.45,16H14.54L9.43,3H7.57L2.46,16H4.55L5.67,13H11.31L12.45,16Z\";\r\nexport var mdiSphere = \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2M12 14C7.58 14 4 13.11 4 12C4 10.9 7.58 10 12 10S20 10.9 20 12C20 13.11 16.42 14 12 14M12 4C15.37 4 18.25 6.09 19.43 9.05C17.93 8.43 15.61 8 12 8C9.8 8 6.73 8.19 4.57 9.05C5.75 6.09 8.63 4 12 4M12 20C8.63 20 5.75 17.91 4.57 14.95C6.07 15.57 8.39 16 12 16C14.2 16 17.27 15.81 19.43 14.95C18.25 17.91 15.37 20 12 20Z\";\r\nexport var mdiSphereOff = \"M2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.72 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.05 19.94L20.84 22.73L22.11 21.46L2.39 1.73M5.5 7.39L6.58 8.47C5.87 8.62 5.18 8.8 4.57 9.05C4.81 8.45 5.13 7.9 5.5 7.39M4 12C4 11.23 5.76 10.56 8.33 10.22L12.11 14L12 14C7.58 14 4 13.11 4 12M12 20C8.63 20 5.75 17.91 4.57 14.95C6.07 15.57 8.39 16 12 16C12.63 16 13.33 16 14.05 15.94L16.63 18.5C15.32 19.45 13.73 20 12 20M8.19 5L6.72 3.5C8.25 2.56 10.06 2 12 2C17.5 2 22 6.5 22 12C22 13.94 21.44 15.75 20.5 17.28L19 15.81C19.17 15.54 19.31 15.25 19.43 14.96C19.13 15.08 18.81 15.18 18.47 15.27L16.8 13.6C18.74 13.23 20 12.65 20 12C20 11 17.06 10.17 13.23 10.03L11.21 8C11.5 8 11.75 8 12 8C15.61 8 17.93 8.43 19.43 9.05C18.25 6.09 15.37 4 12 4C10.61 4 9.32 4.36 8.19 5Z\";\r\nexport var mdiSpider = \"M21.29 16.71L22.71 15.29L19.5 12.11L16.5 11.26L18.41 11L22.6 7.8L21.4 6.2L17.59 9.05L14.91 9.5L18.11 6.31L17 1.76L15 2.24L15.86 5.69L14.76 6.83A3 3 0 0 0 9.24 6.83L8.11 5.69L9 2.24L7 1.76L5.89 6.31L9.09 9.5L6.4 9.05L2.6 6.2L1.4 7.8L5.6 11L7.46 11.31L4.46 12.16L1.29 15.29L2.71 16.71L5.5 13.89L7.87 13.22L4 16.54V22H6V17.46L7.56 16.12A4.5 4.5 0 0 0 16.44 16.12L18 17.46V22H20V16.54L16.13 13.22L18.5 13.89Z\";\r\nexport var mdiSpiderOutline = \"M20 22H18V17.46L16.44 16.12C16.32 16.83 16.04 17.5 15.62 18.06C15.42 18.34 15.18 18.59 14.91 18.82C14.1 19.5 13.07 19.89 12 19.89C10.93 19.89 9.9 19.5 9.09 18.82C8.82 18.59 8.58 18.34 8.38 18.06C7.96 17.5 7.68 16.83 7.56 16.12L6 17.46V22H4V16.54L7.87 13.22L5.5 13.89L2.71 16.71L1.29 15.29L4.46 12.16L7.46 11.31L5.6 11L1.4 7.8L2.6 6.2L6.4 9.05L9.09 9.5L5.89 6.31L7 1.76L9 2.24L8.11 5.69L9.24 6.83L9.24 6.83C9.36 6.56 9.5 6.32 9.69 6.1C9.84 5.92 10 5.75 10.2 5.61C10.25 5.57 10.3 5.54 10.35 5.5C10.43 5.45 10.5 5.4 10.59 5.36C11.03 5.13 11.5 5 12 5C12.5 5 12.97 5.13 13.4 5.36C13.5 5.4 13.57 5.45 13.65 5.5C13.69 5.53 13.73 5.56 13.77 5.59C13.97 5.73 14.15 5.9 14.3 6.08C14.5 6.3 14.64 6.56 14.76 6.83L14.76 6.83L15.86 5.69L15 2.24L17 1.76L18.11 6.31L14.91 9.5L17.59 9.05L21.4 6.2L22.6 7.8L22.6 7.8L18.41 11L16.5 11.26L19.5 12.11L22.71 15.29L21.29 16.71L18.5 13.89L16.13 13.22L20 16.54V22M14.47 15.79L15 12.5L12 12L9 12.5L9.53 15.79C9.63 16.38 9.93 16.91 10.38 17.29C10.83 17.68 11.41 17.89 12 17.89C12.59 17.89 13.17 17.68 13.62 17.29C14.07 16.91 14.37 16.38 14.47 15.79M12 9.58L13.23 8.35L12.92 7.61C12.84 7.43 12.72 7.28 12.55 7.17C12.39 7.06 12.2 7 12 7C11.8 7 11.61 7.06 11.45 7.17C11.29 7.28 11.16 7.43 11.08 7.61L10.77 8.35L12 9.58Z\";\r\nexport var mdiSpiderThread = \"M13 2V7.08A5.47 5.47 0 0 0 12 7A5.47 5.47 0 0 0 11 7.08V2M16.9 15A5 5 0 0 1 16.73 15.55L20 17.42V22H18V18.58L15.74 17.29A4.94 4.94 0 0 1 8.26 17.29L6 18.58V22H4V17.42L7.27 15.55A5 5 0 0 1 7.1 15H5.3L2.55 16.83L1.45 15.17L4.7 13H7.1A5 5 0 0 1 7.37 12.12L5.81 11.12L2.24 12L1.76 10L6.19 8.92L8.5 10.45A5 5 0 0 1 15.5 10.45L17.77 8.92L22.24 10L21.76 12L18.19 11.11L16.63 12.11A5 5 0 0 1 16.9 13H19.3L22.55 15.16L21.45 16.82L18.7 15M11 14A1 1 0 1 0 10 15A1 1 0 0 0 11 14M15 14A1 1 0 1 0 14 15A1 1 0 0 0 15 14Z\";\r\nexport var mdiSpiderWeb = \"M13.62,13.28L15.26,15.54C15.29,15 15.38,14.47 15.56,13.93C15.74,13.37 16,12.86 16.3,12.41L13.62,13.28M17.77,19C17.75,17.68 17.95,16.27 18.41,14.85C18.88,13.42 19.56,12.14 20.36,11.09L18.32,11.75C17.54,12.26 16.87,13.14 16.5,14.23C16.17,15.29 16.18,16.36 16.5,17.22L17.77,19M19.25,21C18.75,21.46 18.21,21.86 17.63,22.2L17.31,21.76C15.9,21 14.04,20.5 12,20.5C9.96,20.5 8.1,21 6.69,21.76L6.37,22.2C5.79,21.86 5.25,21.46 4.75,21L5,20.69C5.33,19.08 5.22,17.12 4.58,15.14C3.94,13.19 2.9,11.56 1.71,10.46L1.27,10.32C1.42,9.66 1.63,9 1.89,8.41L2.29,8.54C3.92,8.37 5.74,7.65 7.43,6.43C9.09,5.22 10.32,3.73 11,2.26V1.79L12,1.75L13,1.79V2.21C13.67,3.71 14.91,5.23 16.6,6.45C18.26,7.66 20.06,8.37 21.67,8.56L22.11,8.41C22.37,9 22.58,9.66 22.73,10.32L22.23,10.5C21.04,11.58 20,13.21 19.37,15.16C18.74,17.09 18.62,19 18.92,20.57L19.25,21M11,11.37V8.5C10.66,8.92 10.26,9.32 9.78,9.67C9.29,10 8.77,10.29 8.25,10.5L11,11.37M11,4.22C10.25,5.31 9.24,6.35 8,7.24C6.78,8.14 5.46,8.78 4.18,9.16L6.15,9.8C7.11,9.88 8.22,9.56 9.19,8.86C10.13,8.18 10.76,7.27 11,6.36V4.22M13,11.37L15.74,10.5C15.23,10.3 14.72,10.03 14.25,9.69C13.76,9.33 13.34,8.92 13,8.5V11.37M19.8,9.16C18.53,8.78 17.23,8.15 16,7.26C14.77,6.36 13.76,5.31 13,4.2V6.27C13.22,7.21 13.86,8.17 14.84,8.88C15.77,9.56 16.83,9.87 17.77,9.82L19.8,9.16M10.38,13.28L7.64,12.39C7.95,12.84 8.2,13.35 8.38,13.91C8.57,14.5 8.66,15.06 8.68,15.62L10.38,13.28M3.58,11.07C4.38,12.12 5.06,13.4 5.53,14.83C6,16.29 6.2,17.74 6.17,19.08L7.38,17.41C7.76,16.5 7.8,15.36 7.43,14.22C7.07,13.12 6.4,12.24 5.61,11.73L3.58,11.07M12,14.45L10.35,16.72C10.87,16.58 11.42,16.5 12,16.5C12.58,16.5 13.13,16.58 13.65,16.72L12,14.45M7.84,20.18C9.08,19.75 10.5,19.5 12,19.5C13.5,19.5 14.92,19.75 16.16,20.18L14.88,18.42C14.16,17.85 13.13,17.5 12,17.5C10.87,17.5 9.84,17.85 9.12,18.42L7.84,20.18Z\";\r\nexport var mdiSpiritLevel = \"M22 8H2V16H22V8M18 14V10H20V14H18M11 12H13C14.1 12 15 11.11 15 10H17V14H7V10H9C9 11.11 9.9 12 11 12M4 14V10H6V14H4Z\";\r\nexport var mdiSpoonSugar = \"M6 13H3V10H6V13M10 10H7V13H10V10M8 6H5V9H8V6M18 12C14.25 12 12.28 13.25 11 14H2C2 16.21 3.79 18 6 18H7C8 18 8.92 17.63 9.62 17C11.06 15.78 12.68 14.74 14.55 14.36C15.61 14.15 16.78 14 18 14H22V12H18Z\";\r\nexport var mdiSpotify = \"M17.9,10.9C14.7,9 9.35,8.8 6.3,9.75C5.8,9.9 5.3,9.6 5.15,9.15C5,8.65 5.3,8.15 5.75,8C9.3,6.95 15.15,7.15 18.85,9.35C19.3,9.6 19.45,10.2 19.2,10.65C18.95,11 18.35,11.15 17.9,10.9M17.8,13.7C17.55,14.05 17.1,14.2 16.75,13.95C14.05,12.3 9.95,11.8 6.8,12.8C6.4,12.9 5.95,12.7 5.85,12.3C5.75,11.9 5.95,11.45 6.35,11.35C10,10.25 14.5,10.8 17.6,12.7C17.9,12.85 18.05,13.35 17.8,13.7M16.6,16.45C16.4,16.75 16.05,16.85 15.75,16.65C13.4,15.2 10.45,14.9 6.95,15.7C6.6,15.8 6.3,15.55 6.2,15.25C6.1,14.9 6.35,14.6 6.65,14.5C10.45,13.65 13.75,14 16.35,15.6C16.7,15.75 16.75,16.15 16.6,16.45M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiSpotlight = \"M2,6L7.09,8.55C6.4,9.5 6,10.71 6,12C6,13.29 6.4,14.5 7.09,15.45L2,18V6M6,3H18L15.45,7.09C14.5,6.4 13.29,6 12,6C10.71,6 9.5,6.4 8.55,7.09L6,3M22,6V18L16.91,15.45C17.6,14.5 18,13.29 18,12C18,10.71 17.6,9.5 16.91,8.55L22,6M18,21H6L8.55,16.91C9.5,17.6 10.71,18 12,18C13.29,18 14.5,17.6 15.45,16.91L18,21M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiSpotlightBeam = \"M9,16.5L9.91,15.59L15.13,20.8L14.21,21.71L9,16.5M15.5,10L16.41,9.09L21.63,14.3L20.71,15.21L15.5,10M6.72,2.72L10.15,6.15L6.15,10.15L2.72,6.72C1.94,5.94 1.94,4.67 2.72,3.89L3.89,2.72C4.67,1.94 5.94,1.94 6.72,2.72M14.57,7.5L15.28,8.21L8.21,15.28L7.5,14.57L6.64,11.07L11.07,6.64L14.57,7.5Z\";\r\nexport var mdiSpray = \"M10,4H12V6H10V4M7,3H9V5H7V3M7,6H9V8H7V6M6,8V10H4V8H6M6,5V7H4V5H6M6,2V4H4V2H6M13,22A2,2 0 0,1 11,20V10A2,2 0 0,1 13,8V7H14V4H17V7H18V8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H13M13,10V20H18V10H13Z\";\r\nexport var mdiSprayBottle = \"M16.72 10.43C14.68 8.39 14.5 4.66 14.5 4H13V6H9V4H7C7 2.9 7.9 2 9 2H16V3C16 3.08 16.04 7.63 17.78 9.37L16.72 10.43M17 2V4H18V2H17M15 12C13 10 13 7 13 7H9V9C9 10 9 10 8 11S7 13 7 13V20C7 21.1 7.9 22 9 22H13C14.1 22 15 21.1 15 20V12Z\";\r\nexport var mdiSprinkler = \"M11 7H13V9H11V7M5 22H9V10H5V22M14 11H16V9H14V11M17 10H19V8H17V10M17 5V7H19V5H17M14 8H16V6H14V8M17 13H19V11H17V13M5 7H5.33L6 9H8L8.67 7H9V6H5V7Z\";\r\nexport var mdiSprinklerFire = \"M5 21V23H7V21H5M11 21H9V23H11V21M7 18V20H9V18H7M11 15V17H9V15H11M15 21H13V23H15V21M11 18V20H13V18H11M15 15V17H13V15H15M19 21H17V23H19V21M15 18V20H17V18H15M16 11V13H8V11H11V5H13V11H16M21 1V3H18V6L14 10V7.2L16 5.2V3H8V5.2L10 7.2V10L6 6V3H3V1H21Z\";\r\nexport var mdiSprinklerVariant = \"M10 10H14V22H10V10M7 9H9V7H7V9M4 8H6V6H4V8M4 11H6V9H4V11M1 13H3V11H1V13M1 7H3V5H1V7M1 10H3V8H1V10M18 11H20V9H18V11M21 10H23V8H21V10M21 5V7H23V5H21M21 13H23V11H21V13M15 9H17V7H15V9M18 8H20V6H18V8M10 7H10.33L11 9H13L13.67 7H14V6H10V7Z\";\r\nexport var mdiSprout = \"M2,22V20C2,20 7,18 12,18C17,18 22,20 22,20V22H2M11.3,9.1C10.1,5.2 4,6.1 4,6.1C4,6.1 4.2,13.9 9.9,12.7C9.5,9.8 8,9 8,9C10.8,9 11,12.4 11,12.4V17C11.3,17 11.7,17 12,17C12.3,17 12.7,17 13,17V12.8C13,12.8 13,8.9 16,7.9C16,7.9 14,10.9 14,12.9C21,13.6 21,4 21,4C21,4 12.1,3 11.3,9.1Z\";\r\nexport var mdiSproutOutline = \"M23,4.1V2.3L21.2,2.1C21.1,2.1 20.5,2 19.5,2C15.4,2 12.4,3.2 10.7,5.3C9.4,4.5 7.6,4 5.5,4C4.5,4 3.8,4.1 3.8,4.1L1.9,4.4L2,6.1C2.1,9.1 3.6,14.8 8.8,14.8C8.9,14.8 8.9,14.8 9,14.8V18.2C5.2,18.7 2,20 2,20V22H22V20C22,20 18.8,18.7 15,18.2V15C21.3,14.9 23,7.8 23,4.1M12,18C11.7,18 11.3,18 11,18V12.4C11,12.4 10.8,9 8,9C8,9 9.5,9.8 9.9,12.7C9.5,12.8 9.1,12.8 8.8,12.8C4.2,12.8 4,6.1 4,6.1C4,6.1 4.6,6 5.5,6C7.4,6 10.5,6.4 11.4,9.1C11.9,4.6 17,4 19.5,4C20.4,4 21,4.1 21,4.1C21,4.1 21,13.1 14.7,13.1C14.5,13.1 14.2,13.1 14,13.1C14,11.1 16,8.1 16,8.1C13,9.1 13,13 13,13V18C12.7,18 12.3,18 12,18Z\";\r\nexport var mdiSquare = \"M3,3V21H21V3\";\r\nexport var mdiSquareCircle = \"M20 4V20H4V4H20M22 2H2V22H22V2M12 6C8.69 6 6 8.69 6 12S8.69 18 12 18 18 15.31 18 12 15.31 6 12 6Z\";\r\nexport var mdiSquareCircleOutline = \"M18 12C18 8.69 15.31 6 12 6C8.69 6 6 8.69 6 12C6 15.31 8.69 18 12 18C15.31 18 18 15.31 18 12M12 8C14.21 8 16 9.8 16 12C16 14.21 14.21 16 12 16C9.8 16 8 14.21 8 12C8 9.8 9.8 8 12 8M20 4H4V20H20V4M22 2V22H2V2H22Z\";\r\nexport var mdiSquareEditOutline = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19H5V5H12V3H5M17.78,4C17.61,4 17.43,4.07 17.3,4.2L16.08,5.41L18.58,7.91L19.8,6.7C20.06,6.44 20.06,6 19.8,5.75L18.25,4.2C18.12,4.07 17.95,4 17.78,4M15.37,6.12L8,13.5V16H10.5L17.87,8.62L15.37,6.12Z\";\r\nexport var mdiSquareMedium = \"M16,8H8V16H16V8Z\";\r\nexport var mdiSquareMediumOutline = \"M14,10V14H10V10H14M16,8H8V16H16V8Z\";\r\nexport var mdiSquareOff = \"M20.84 22.73L19.11 21H3V4.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M21 3H6.2L21 17.8V3Z\";\r\nexport var mdiSquareOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L3 4.89V21H19.11L20.84 22.73L22.11 21.46M5 19V6.89L17.11 19H5M8.2 5L6.2 3H21V17.8L19 15.8V5H8.2Z\";\r\nexport var mdiSquareOpacity = \"M19 13V11H21V13H19M21 9V7H19V9H21M21 3H19V5H21V3M17 15H19V13H17V15M21 17V15H19V17H21M13 17V15H15V13H13V11H15V9H13V7H15V5H13V3H3V21H13V19H15V17H13M15 21H17V19H15V21M17 3H15V5H17V3M17 11H19V9H17V11M15 17H17V15H15V17M17 19H19V17H17V19M21 21V19H19V21H21M15 9H17V7H15V9M15 13H17V11H15V13M17 5V7H19V5H17Z\";\r\nexport var mdiSquareOutline = \"M3,3H21V21H3V3M5,5V19H19V5H5Z\";\r\nexport var mdiSquareRoot = \"M11.76,16.83L14.59,14L11.76,11.17L13.17,9.76L16,12.59L18.83,9.76L20.24,11.17L17.41,14L20.24,16.83L18.83,18.24L16,15.41L13.17,18.24L11.76,16.83M2,11H5V11H5L7.29,16.4L10,6H22V8H11.55L8.68,19H6.22L3.68,13H2V11Z\";\r\nexport var mdiSquareRootBox = \"M5,3C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M11.24,6H19V8H12.76L10,18H8L6.25,12H5V10H7.75L9,14.28L11.24,6V6M14,10.59L15.79,12.38L17.59,10.59L19,12L17.21,13.79L19,15.59L17.59,17L15.79,15.21L14,17L12.59,15.59L14.38,13.79L12.59,12L14,10.59Z\";\r\nexport var mdiSquareRounded = \"M8 3H16C18.76 3 21 5.24 21 8V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3Z\";\r\nexport var mdiSquareRoundedBadge = \"M19.5 8C21.43 8 23 6.43 23 4.5C23 2.57 21.43 1 19.5 1C17.57 1 16 2.57 16 4.5C16 6.43 17.57 8 19.5 8M19.5 10C20 10 20.5 9.93 21 9.79V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3H14.21C14.07 3.5 14 4 14 4.5C14 7.54 16.46 10 19.5 10Z\";\r\nexport var mdiSquareRoundedBadgeOutline = \"M19.5 8C21.43 8 23 6.43 23 4.5C23 2.57 21.43 1 19.5 1C17.57 1 16 2.57 16 4.5C16 6.43 17.57 8 19.5 8M21 16V9.79C20.5 9.93 20 10 19.5 10C19.33 10 19.17 10 19 10V16C19 17.66 17.66 19 16 19H8C6.34 19 5 17.66 5 16V8C5 6.34 6.34 5 8 5H14C14 4.84 14 4.67 14 4.5C14 4 14.07 3.5 14.21 3H8C5.24 3 3 5.24 3 8V16C3 18.76 5.24 21 8 21H16C18.76 21 21 18.76 21 16Z\";\r\nexport var mdiSquareRoundedOutline = \"M8 3H16C18.76 3 21 5.24 21 8V16C21 18.76 18.76 21 16 21H8C5.24 21 3 18.76 3 16V8C3 5.24 5.24 3 8 3M8 5C6.34 5 5 6.34 5 8V16C5 17.66 6.34 19 8 19H16C17.66 19 19 17.66 19 16V8C19 6.34 17.66 5 16 5H8Z\";\r\nexport var mdiSquareSmall = \"M10,14V10H14V14H10Z\";\r\nexport var mdiSquareWave = \"M2 2V12H4V4H11V22H22V12H20V20H13V2H2Z\";\r\nexport var mdiSqueegee = \"M22,2V5H2V2H22M2,8H7L9,10H10V20A2,2 0 0,0 12,22A2,2 0 0,0 14,20V10H15L17,8H22V6H2V8Z\";\r\nexport var mdiSsh = \"M4.5,9C3.9,9 3.5,9.5 3.5,10V11.75C3.5,12.25 3.9,12.75 4.5,12.75H7V13.5H3.5V15H7.5C8.1,15 8.5,14.5 8.5,14V12.25C8.5,11.75 8.1,11.25 7.5,11.25H5V10.5H8.5V9H4.5M10.5,9C9.9,9 9.5,9.5 9.5,10V11.75C9.5,12.25 9.9,12.75 10.5,12.75H13V13.5H9.5V15H13.5C14.1,15 14.5,14.5 14.5,14V12.25C14.5,11.75 14.1,11.25 13.5,11.25H11V10.5H14.5V9H10.5M15.5,9V15H17V12.5H19V15H20.5V9H19V11H17V9H15.5Z\";\r\nexport var mdiStackExchange = \"M3.9 10.72H20V14.03H3.9V10.72M3.9 6.44H20V9.75H3.9V6.44M17.5 2H6.5C5.06 2 3.9 3.18 3.9 4.65V5.5H20V4.65C20 3.18 18.88 2 17.5 2M3.9 15V15.84C3.9 17.31 5.06 18.5 6.5 18.5H13.37V22L16.77 18.5H17.5C18.94 18.5 20.11 17.31 20.11 15.84V15H3.9Z\";\r\nexport var mdiStackOverflow = \"M17.36,20.2V14.82H19.15V22H3V14.82H4.8V20.2H17.36M6.77,14.32L7.14,12.56L15.93,14.41L15.56,16.17L6.77,14.32M7.93,10.11L8.69,8.5L16.83,12.28L16.07,13.9L7.93,10.11M10.19,6.12L11.34,4.74L18.24,10.5L17.09,11.87L10.19,6.12M14.64,1.87L20,9.08L18.56,10.15L13.2,2.94L14.64,1.87M6.59,18.41V16.61H15.57V18.41H6.59Z\";\r\nexport var mdiStackpath = \"M4.91 8C4.04 8 3.32 8.2 2.76 8.61C2.19 9 1.91 9.53 1.91 10.19C1.91 10.85 2.15 11.37 2.62 11.72C3.1 12.07 3.82 12.41 4.8 12.72C5.27 12.88 5.6 13.04 5.78 13.19C5.96 13.34 6.05 13.55 6.05 13.83C6.05 14.07 5.96 14.26 5.78 14.41C5.6 14.56 5.32 14.63 4.94 14.63C4.45 14.63 4.09 14.54 3.85 14.35C3.6 14.16 3.5 13.84 3.5 13.39H1.72L1.71 13.42C1.7 14.25 2 14.89 2.66 15.33C3.3 15.78 4.06 16 4.94 16C5.82 16 6.5 15.8 7.06 15.42C7.59 15.03 7.86 14.5 7.86 13.81C7.86 13.14 7.63 12.61 7.19 12.23C6.74 11.84 6.08 11.5 5.2 11.26C4.62 11.05 4.23 10.88 4 10.74C3.81 10.6 3.71 10.42 3.71 10.2C3.71 9.96 3.81 9.76 4 9.6C4.22 9.44 4.5 9.36 4.87 9.36C5.24 9.36 5.53 9.46 5.74 9.65C5.96 9.84 6.07 10.12 6.06 10.41H7.8L7.82 10.37C7.84 9.68 7.57 9.11 7 8.66C6.47 8.22 5.77 8 4.91 8M9 8.05V15.93H10.84V13.23H11.96C12.89 13.23 13.63 13 14.18 12.5C14.73 12.05 15 11.42 15 10.64C15 9.87 14.73 9.25 14.18 8.77C13.63 8.29 12.89 8.05 11.96 8.05H9M17.24 8.05L14.5 15.93H16.22L19 8.05M20.5 8.05L17.79 15.93H19.5L22.29 8.05M10.84 9.46H11.96C12.35 9.46 12.66 9.57 12.86 9.8C13.07 10 13.17 10.31 13.17 10.65C13.17 11 13.07 11.28 12.86 11.5C12.66 11.71 12.35 11.82 11.96 11.82H10.84\";\r\nexport var mdiStadium = \"M7 5L3 7V3L7 5M18 3V7L22 5L18 3M11 2V6L15 4L11 2M5 10C6.4 10.5 8.8 11 12 11S17.6 10.5 19 10C19 9.8 16.2 9 12 9S5 9.9 5 10M15 17H9V21.9C4.9 21.5 2 20.4 2 19V10C2 8.3 6.5 7 12 7S22 8.3 22 10V19C22 20.3 19.1 21.5 15 21.9V17Z\";\r\nexport var mdiStadiumOutline = \"M7 5L3 7V3L7 5M18 3V7L22 5L18 3M11 2V6L15 4L11 2M13 18H11V22C5.9 21.9 2 20.6 2 19V10C2 8.3 6.5 7 12 7S22 8.3 22 10V19C22 20.6 18 21.9 13 22V18M5 10C6.4 10.5 8.8 11 12 11S17.6 10.5 19 10C19 9.8 16.2 9 12 9S5 9.9 5 10M20 11.8C18.2 12.5 15.3 13 12 13S5.8 12.5 4 11.8V18.6C4.6 19 6.4 19.6 9 19.9V16H15V19.9C17.6 19.6 19.4 19 20 18.6V11.8Z\";\r\nexport var mdiStadiumVariant = \"M5,3H7L10,5L7,7V8.33C8.47,8.12 10.18,8 12,8C13.82,8 15.53,8.12 17,8.33V3H19L22,5L19,7V8.71C20.85,9.17 22,9.8 22,10.5C22,11.88 17.5,13 12,13C6.5,13 2,11.88 2,10.5C2,9.8 3.15,9.17 5,8.71V3M12,9.5C8.69,9.5 7,9.67 7,10.5C7,11.33 8.69,11.5 12,11.5C15.31,11.5 17,11.33 17,10.5C17,9.67 15.31,9.5 12,9.5M12,14.75C15.81,14.75 19.2,14.08 21.4,13.05L20,21H15V19A2,2 0 0,0 13,17H11A2,2 0 0,0 9,19V21H4L2.6,13.05C4.8,14.08 8.19,14.75 12,14.75Z\";\r\nexport var mdiStairs = \"M15,5V9H11V13H7V17H3V20H10V16H14V12H18V8H22V5H15Z\";\r\nexport var mdiStairsBox = \"M5 3C3.89 3 3 3.89 3 5V19C3 20.11 3.89 21 5 21H19C20.11 21 21 20.11 21 19V5C21 3.89 20.11 3 19 3H5M14 7H19V9H16V12H13V15H10V18H5V16H8V13H11V10H14V7Z\";\r\nexport var mdiStairsDown = \"M15 6H22V9H18V13H14V17H10V21H3V18H7V14H11V10H15V6M4.83 8.34L10.34 2.83L12.17 4.66L6.66 10.17L8.5 12H3V6.5L4.83 8.34Z\";\r\nexport var mdiStairsUp = \"M15 6H22V9H18V13H14V17H10V21H3V18H7V14H11V10H15V6M10.17 6.66L4.66 12.17L2.83 10.34L8.34 4.83L6.5 3H12V8.5L10.17 6.66Z\";\r\nexport var mdiStamper = \"M12,3A3,3 0 0,0 9,6C9,9 14,13 6,13A2,2 0 0,0 4,15V17H20V15A2,2 0 0,0 18,13C10,13 15,9 15,6C15,4 13.66,3 12,3M6,19V21H18V19H6Z\";\r\nexport var mdiStandardDefinition = \"M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16M7,7H11V9H7V11H9A2,2 0 0,1 11,13V15A2,2 0 0,1 9,17H5V15H9V13H7A2,2 0 0,1 5,11V9A2,2 0 0,1 7,7Z\";\r\nexport var mdiStar = \"M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z\";\r\nexport var mdiStarBox = \"M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M15.58,17L14.63,12.92L17.79,10.19L13.62,9.83L12,6L10.38,9.84L6.21,10.2L9.37,12.93L8.42,17L12,14.84L15.58,17Z\";\r\nexport var mdiStarBoxMultiple = \"M4 6V20H18V22H3C2.4 22 2 21.6 2 21V6H4M8 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H8C6.9 18 6 17.11 6 16V4C6 2.9 6.9 2 8 2M16.3 13.3L15.9 10.7L17.8 8.8L15.2 8.4L14 6L12.8 8.4L10.2 8.8L12.1 10.6L11.6 13.2L14 12L16.3 13.3Z\";\r\nexport var mdiStarBoxMultipleOutline = \"M4 6V20H18V22H3C2.4 22 2 21.6 2 21V6H4M12.1 10.6L10.2 8.8L12.8 8.4L14 6L15.2 8.4L17.8 8.8L15.9 10.7L16.3 13.3L14 12L11.6 13.2L12.1 10.6M8 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H8C6.9 18 6 17.11 6 16V4C6 2.9 6.9 2 8 2M8 4V16H20V4H8Z\";\r\nexport var mdiStarBoxOutline = \"M15.58,17L12,14.84L8.42,17L9.37,12.93L6.21,10.2L10.38,9.84L12,6L13.62,9.83L17.79,10.19L14.63,12.92L15.58,17M19,3A2,2 0 0,1 21,5V19C21,20.11 20.1,21 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3H19M5,5V19H19V5H5Z\";\r\nexport var mdiStarCheck = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M17.8 21.2L22.6 16.4L21.3 15L17.7 18.6L16.2 17L15 18.2L17.8 21.2\";\r\nexport var mdiStarCheckOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M17.8 21.2L15 18.2L16.2 17L17.8 18.6L21.4 15L22.6 16.4L17.8 21.2\";\r\nexport var mdiStarCircle = \"M16.23,18L12,15.45L7.77,18L8.89,13.19L5.16,9.96L10.08,9.54L12,5L13.92,9.53L18.84,9.95L15.11,13.18L16.23,18M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiStarCircleOutline = \"M8.58,17.25L9.5,13.36L6.5,10.78L10.45,10.41L12,6.8L13.55,10.45L17.5,10.78L14.5,13.36L15.42,17.25L12,15.19L8.58,17.25M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiStarCog = \"M18.8 12C15.59 12.1 12.91 14.37 12.19 17.39L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.62L12 2L14.81 8.62L22 9.24L18.8 12M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiStarCogOutline = \"M10.29 10.13L5.91 10.5L9.23 13.38L8.24 17.66L12 15.39L12.76 15.85C12.5 16.33 12.32 16.85 12.19 17.39L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.63L12 2L14.81 8.63L22 9.24L18.8 12C17.29 12.05 15.91 12.57 14.78 13.43L14.77 13.38L18.09 10.5L13.71 10.13L12 6.09L10.29 10.13M23.83 20.64L22.83 22.37C22.76 22.5 22.63 22.5 22.5 22.5L21.27 22C21 22.18 20.73 22.34 20.43 22.47L20.24 23.79C20.22 23.91 20.11 24 20 24H18C17.86 24 17.76 23.91 17.74 23.79L17.55 22.47C17.24 22.35 16.96 22.18 16.7 22L15.46 22.5C15.34 22.5 15.21 22.5 15.15 22.37L14.15 20.64C14.09 20.53 14.12 20.4 14.21 20.32L15.27 19.5C15.25 19.33 15.24 19.17 15.24 19S15.25 18.67 15.27 18.5L14.21 17.68C14.11 17.6 14.09 17.47 14.15 17.36L15.15 15.63C15.22 15.5 15.35 15.5 15.46 15.5L16.7 16C16.96 15.82 17.25 15.66 17.55 15.53L17.74 14.21C17.76 14.09 17.87 14 18 14H20C20.11 14 20.22 14.09 20.23 14.21L20.42 15.53C20.73 15.65 21 15.82 21.27 16L22.5 15.5C22.63 15.5 22.76 15.5 22.82 15.63L23.82 17.36C23.88 17.47 23.85 17.6 23.76 17.68L22.7 18.5C22.73 18.67 22.74 18.83 22.74 19S22.72 19.33 22.7 19.5L23.77 20.32C23.86 20.4 23.89 20.53 23.83 20.64M20.5 19C20.5 18.17 19.83 17.5 19 17.5S17.5 18.17 17.5 19 18.16 20.5 19 20.5C19.83 20.5 20.5 19.83 20.5 19Z\";\r\nexport var mdiStarCrescent = \"M12.3,2C12.2,2 12.1,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22C15,22 16.7,21 18.5,19.5C13,21 8,17 8,12C8,7 13,3 18.5,4.5C16.86,2.86 14.62,1.96 12.3,2M16.8,6.2L15.3,9.7L11.6,10L14.5,12.5L13.6,16L16.8,14L20,16L19,12.5L22,10L18.3,9.7L16.8,6.2Z\";\r\nexport var mdiStarDavid = \"M12,2L9.1,7H3.3L6.3,12L3.3,17H9.1L12,22L14.9,17H20.7L17.7,12L20.7,7H14.9L12,2M12,5L13.2,7H10.8L12,5M8.2,8.5L7.1,10.5L5.9,8.5H8.2M10,8.5H14L16,12L14,15.5H10L8,12L10,8.5M18,8.5L16.8,10.5L15.7,8.5H18M7.1,13.5L8.2,15.5H6L7.1,13.5M16.9,13.5L18.1,15.5H15.8L16.9,13.5M13.3,17L12,19L10.8,17H13.3Z\";\r\nexport var mdiStarFace = \"M12,2.5L8.42,8.06L2,9.74L6.2,14.88L5.82,21.5L12,19.09L18.18,21.5L17.8,14.88L22,9.74L15.58,8.06L12,2.5M9.38,10.5C10,10.5 10.5,11 10.5,11.63A1.12,1.12 0 0,1 9.38,12.75C8.75,12.75 8.25,12.25 8.25,11.63C8.25,11 8.75,10.5 9.38,10.5M14.63,10.5C15.25,10.5 15.75,11 15.75,11.63A1.12,1.12 0 0,1 14.63,12.75C14,12.75 13.5,12.25 13.5,11.63C13.5,11 14,10.5 14.63,10.5M9,15H15C14.5,16.21 13.31,17 12,17C10.69,17 9.5,16.21 9,15Z\";\r\nexport var mdiStarFourPoints = \"M12,1L9,9L1,12L9,15L12,23L15,15L23,12L15,9L12,1Z\";\r\nexport var mdiStarFourPointsBox = \"M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\r\nexport var mdiStarFourPointsBoxOutline = \"M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17M5 3H19C20.1 3 21 3.89 21 5V19C21 19.53 20.79 20.04 20.41 20.41C20.04 20.79 19.53 21 19 21H5C4.47 21 3.96 20.79 3.59 20.41C3.21 20.04 3 19.53 3 19V5C3 3.89 3.89 3 5 3M5 19H19V5H5V19Z\";\r\nexport var mdiStarFourPointsCircle = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17Z\";\r\nexport var mdiStarFourPointsCircleOutline = \"M12 17L13.56 13.58L17 12L13.56 10.44L12 7L10.43 10.44L7 12L10.43 13.58L12 17M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.34 17.66C7.84 19.16 9.88 20 12 20C14.12 20 16.16 19.16 17.66 17.66C19.16 16.16 20 14.12 20 12C20 9.88 19.16 7.84 17.66 6.34C16.16 4.84 14.12 4 12 4C9.88 4 7.84 4.84 6.34 6.34C4.84 7.84 4 9.88 4 12C4 14.12 4.84 16.16 6.34 17.66Z\";\r\nexport var mdiStarFourPointsOutline = \"M12,6.7L13.45,10.55L17.3,12L13.45,13.45L12,17.3L10.55,13.45L6.7,12L10.55,10.55L12,6.7M12,1L9,9L1,12L9,15L12,23L15,15L23,12L15,9L12,1Z\";\r\nexport var mdiStarFourPointsSmall = \"M10.74 10.75L12 8L13.25 10.75L16 12L13.25 13.26L12 16L10.74 13.26L8 12L10.74 10.75Z\";\r\nexport var mdiStarHalf = \"M12 2L9.19 8.62L2 9.24L7.45 13.97L5.82 21L12 17.27V2Z\";\r\nexport var mdiStarHalfFull = \"M12,15.4V6.1L13.71,10.13L18.09,10.5L14.77,13.39L15.76,17.67M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\";\r\nexport var mdiStarMinus = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M14 17V19H22V17H14Z\";\r\nexport var mdiStarMinusOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M14 17V19H22V17H14Z\";\r\nexport var mdiStarOff = \"M20.8 22.7L17.9 19.8L18.2 21L12 17.3L5.8 21L7.4 14L2 9.2L6.9 8.8L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M22 9.2L14.8 8.6L12 2L10 6.8L16.9 13.7L22 9.2Z\";\r\nexport var mdiStarOffOutline = \"M22.1 21.5L2.4 1.7L1.1 3L6.9 8.8L2 9.2L7.5 14L5.9 21L12.1 17.3L18.3 21L18 19.8L20.9 22.7L22.1 21.5M15.8 17.7L12 15.4L8.2 17.7L9.2 13.4L5.9 10.5L8.4 10.3L15.8 17.7M11.2 8L10 6.8L12 2L14.8 8.6L22 9.2L16.9 13.6L15.8 12.5L18.2 10.5L13.8 10.1L12.1 6.1L11.2 8Z\";\r\nexport var mdiStarOutline = \"M12,15.39L8.24,17.66L9.23,13.38L5.91,10.5L10.29,10.13L12,6.09L13.71,10.13L18.09,10.5L14.77,13.38L15.76,17.66M22,9.24L14.81,8.63L12,2L9.19,8.63L2,9.24L7.45,13.97L5.82,21L12,17.27L18.18,21L16.54,13.97L22,9.24Z\";\r\nexport var mdiStarPlus = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiStarPlusOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M17 14V17H14V19H17V22H19V19H22V17H19V14H17Z\";\r\nexport var mdiStarRemove = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C14.9 12 12.4 14.3 12 17.3L5.8 21M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\r\nexport var mdiStarRemoveOutline = \"M5.8 21L7.4 14L2 9.2L9.2 8.6L12 2L14.8 8.6L22 9.2L18.8 12H18C17.3 12 16.6 12.1 15.9 12.4L18.1 10.5L13.7 10.1L12 6.1L10.3 10.1L5.9 10.5L9.2 13.4L8.2 17.7L12 15.4L12.5 15.7C12.3 16.2 12.1 16.8 12.1 17.3L5.8 21M20.1 14.5L18 16.6L15.9 14.5L14.5 15.9L16.6 18L14.5 20.1L15.9 21.5L18 19.4L20.1 21.5L21.5 20.1L19.4 18L21.5 15.9L20.1 14.5Z\";\r\nexport var mdiStarSettings = \"M7 22H9V24H7V22M11 24H13V22H11V24M15 24H17V22H15V24M22 9.24L14.81 8.62L12 2L9.19 8.62L2 9.24L7.45 13.97L5.82 21L12 17.27L18.18 21L16.54 13.97L22 9.24Z\";\r\nexport var mdiStarSettingsOutline = \"M11 22H13V24H11V22M7 24H9V22H7V24M15 24H17V22H15V24M16.54 13.97L18.18 21L12 17.27L5.82 21L7.45 13.97L2 9.24L9.19 8.63L12 2L14.81 8.63L22 9.24L16.54 13.97M15.76 17.66L14.77 13.38L18.09 10.5L13.71 10.13L12 6.09L10.29 10.13L5.91 10.5L9.23 13.38L8.24 17.66L12 15.39L15.76 17.66Z\";\r\nexport var mdiStarShooting = \"M18.09 11.77L19.56 18.1L14 14.74L8.44 18.1L9.9 11.77L5 7.5L11.47 6.96L14 1L16.53 6.96L23 7.5L18.09 11.77M2 12.43C2.19 12.43 2.38 12.37 2.55 12.26L5.75 10.15L4.18 8.79L1.45 10.59C.989 10.89 .861 11.5 1.16 12C1.36 12.27 1.68 12.43 2 12.43M1.16 21.55C1.36 21.84 1.68 22 2 22C2.19 22 2.38 21.95 2.55 21.84L6.66 19.13L7 17.76L7.31 16.31L1.45 20.16C.989 20.47 .861 21.09 1.16 21.55M1.45 15.38C.989 15.68 .861 16.3 1.16 16.76C1.36 17.06 1.68 17.21 2 17.21C2.19 17.21 2.38 17.16 2.55 17.05L7.97 13.5L8.24 12.31L7.32 11.5L1.45 15.38Z\";\r\nexport var mdiStarShootingOutline = \"M23 7.5L16.53 6.96L14 1L11.47 6.96L5 7.5L9.9 11.77L8.44 18.1L14 14.74L19.56 18.1L18.09 11.77L23 7.5M16.14 12.23L16.54 13.94L15.03 13.03L14 12.41L12.97 13.03L11.46 13.94L11.85 12.23L12.13 11.05L11.22 10.26L9.88 9.1L11.64 8.95L12.84 8.85L13.31 7.74L14 6.12L14.69 7.74L15.16 8.85L16.36 8.95L18.11 9.1L16.78 10.26L15.86 11.05L16.14 12.23M1.16 12C.861 11.5 .989 10.89 1.45 10.59L4.18 8.79L5.75 10.15L2.55 12.26C2.38 12.37 2.19 12.43 2 12.43C1.68 12.43 1.36 12.27 1.16 12M1.45 20.16L7.31 16.31L7 17.76L6.66 19.13L2.55 21.84C2.38 21.95 2.19 22 2 22C1.68 22 1.36 21.84 1.16 21.55C.861 21.09 .989 20.47 1.45 20.16M7.32 11.5L8.24 12.31L7.97 13.5L2.55 17.05C2.38 17.16 2.19 17.21 2 17.21C1.68 17.21 1.36 17.06 1.16 16.76C.861 16.3 .989 15.68 1.45 15.38L7.32 11.5Z\";\r\nexport var mdiStarThreePoints = \"M12,2.6L9,12.4L2,19.9L12,17.6L22,20L15,12.5L12,2.6Z\";\r\nexport var mdiStarThreePointsOutline = \"M12,9.5L13.2,13.5L16,16.5L12,15.6L7.9,16.5L10.7,13.5L12,9.5M12,2.6L9,12.4L2,19.9L12,17.6L22,20L15,12.5L12,2.6Z\";\r\nexport var mdiStateMachine = \"M6.27 17.05C6.72 17.58 7 18.25 7 19C7 20.66 5.66 22 4 22S1 20.66 1 19 2.34 16 4 16C4.18 16 4.36 16 4.53 16.05L7.6 10.69L5.86 9.7L9.95 8.58L11.07 12.67L9.33 11.68L6.27 17.05M20 16C18.7 16 17.6 16.84 17.18 18H11V16L8 19L11 22V20H17.18C17.6 21.16 18.7 22 20 22C21.66 22 23 20.66 23 19S21.66 16 20 16M12 8C12.18 8 12.36 8 12.53 7.95L15.6 13.31L13.86 14.3L17.95 15.42L19.07 11.33L17.33 12.32L14.27 6.95C14.72 6.42 15 5.75 15 5C15 3.34 13.66 2 12 2S9 3.34 9 5 10.34 8 12 8Z\";\r\nexport var mdiSteam = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C7.4,22 3.55,18.92 2.36,14.73L6.19,16.31C6.45,17.6 7.6,18.58 8.97,18.58C10.53,18.58 11.8,17.31 11.8,15.75V15.62L15.2,13.19H15.28C17.36,13.19 19.05,11.5 19.05,9.42C19.05,7.34 17.36,5.65 15.28,5.65C13.2,5.65 11.5,7.34 11.5,9.42V9.47L9.13,12.93L8.97,12.92C8.38,12.92 7.83,13.1 7.38,13.41L2,11.2C2.43,6.05 6.73,2 12,2M8.28,17.17C9.08,17.5 10,17.13 10.33,16.33C10.66,15.53 10.28,14.62 9.5,14.29L8.22,13.76C8.71,13.58 9.26,13.57 9.78,13.79C10.31,14 10.72,14.41 10.93,14.94C11.15,15.46 11.15,16.04 10.93,16.56C10.5,17.64 9.23,18.16 8.15,17.71C7.65,17.5 7.27,17.12 7.06,16.67L8.28,17.17M17.8,9.42C17.8,10.81 16.67,11.94 15.28,11.94C13.9,11.94 12.77,10.81 12.77,9.42A2.5,2.5 0 0,1 15.28,6.91C16.67,6.91 17.8,8.04 17.8,9.42M13.4,9.42C13.4,10.46 14.24,11.31 15.29,11.31C16.33,11.31 17.17,10.46 17.17,9.42C17.17,8.38 16.33,7.53 15.29,7.53C14.24,7.53 13.4,8.38 13.4,9.42Z\";\r\nexport var mdiSteering = \"M13,19.92C14.8,19.7 16.35,18.95 17.65,17.65C18.95,16.35 19.7,14.8 19.92,13H16.92C16.7,14 16.24,14.84 15.54,15.54C14.84,16.24 14,16.7 13,16.92V19.92M10,8H14L17,11H19.92C19.67,9.05 18.79,7.38 17.27,6C15.76,4.66 14,4 12,4C10,4 8.24,4.66 6.73,6C5.21,7.38 4.33,9.05 4.08,11H7L10,8M11,19.92V16.92C10,16.7 9.16,16.24 8.46,15.54C7.76,14.84 7.3,14 7.08,13H4.08C4.3,14.77 5.05,16.3 6.35,17.6C7.65,18.9 9.2,19.67 11,19.92M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.75 21,17.1 19.05,19.05C17.1,21 14.75,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z\";\r\nexport var mdiSteeringOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L17.25,20.5C15.7,21.5 13.95,22 12,22C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,10.05 2.5,8.3 3.5,6.75L2,5.27M13,19.92C14,19.8 14.93,19.5 15.78,19.05L13.5,16.78C13.34,16.84 13.16,16.88 13,16.92V19.92M4.08,11H7L7.37,10.63L4.96,8.23C4.5,9.08 4.21,10 4.08,11M19.92,13H16.92C16.8,13.54 16.6,14.05 16.33,14.5L9.91,8.09L10,8H14L17,11H19.92C19.67,9.05 18.79,7.38 17.27,6C15.76,4.66 14,4 12,4C10.26,4 8.71,4.5 7.34,5.5L5.91,4.09C7.66,2.71 9.69,2 12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12C22,14.31 21.29,16.34 19.91,18.09L18.5,16.67C19.28,15.59 19.76,14.36 19.92,13M11,19.92V16.92C10,16.7 9.16,16.24 8.46,15.54C7.76,14.84 7.3,14 7.08,13H4.08C4.3,14.77 5.05,16.3 6.35,17.6C7.65,18.9 9.2,19.67 11,19.92Z\";\r\nexport var mdiStepBackward = \"M19,5V19H16V5M14,5V19L3,12\";\r\nexport var mdiStepBackward2 = \"M17,5H14V19H17V5M12,5L1,12L12,19V5M22,5H19V19H22V5Z\";\r\nexport var mdiStepForward = \"M5,5V19H8V5M10,5V19L21,12\";\r\nexport var mdiStepForward2 = \"M7,5H10V19H7V5M12,5L23,12L12,19V5M2,5H5V19H2V5Z\";\r\nexport var mdiStethoscope = \"M19,8C19.56,8 20,8.43 20,9A1,1 0 0,1 19,10C18.43,10 18,9.55 18,9C18,8.43 18.43,8 19,8M2,2V11C2,13.96 4.19,16.5 7.14,16.91C7.76,19.92 10.42,22 13.5,22A6.5,6.5 0 0,0 20,15.5V11.81C21.16,11.39 22,10.29 22,9A3,3 0 0,0 19,6A3,3 0 0,0 16,9C16,10.29 16.84,11.4 18,11.81V15.41C18,17.91 16,19.91 13.5,19.91C11.5,19.91 9.82,18.7 9.22,16.9C12,16.3 14,13.8 14,11V2H10V5H12V11A4,4 0 0,1 8,15A4,4 0 0,1 4,11V5H6V2H2Z\";\r\nexport var mdiSticker = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerAlert = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M13 17H11V15H13V16M13 13H11V7H13V12M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerAlertOutline = \"M11 15H13V17H11V15M11 13H13V7H11V13M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerCheck = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M7 12.5L8.3 11.1L10.4 13.2L15.6 8L17 9.4L10.5 16L7 12.5M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerCheckOutline = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M20 15H18.5C16.6 15 15 16.6 15 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15M15.2 8.2L16.7 9.7L10.7 15.7L7.2 12.2L8.7 10.7L10.7 12.7L15.2 8.2Z\";\r\nexport var mdiStickerCircleOutline = \"M12.12,18.46L18.3,12.28C16.94,12.59 15.31,13.2 14.07,14.46C13.04,15.5 12.39,16.83 12.12,18.46M20.75,10H21.05C21.44,10 21.79,10.27 21.93,10.64C22.07,11 22,11.43 21.7,11.71L11.7,21.71C11.5,21.9 11.26,22 11,22L10.64,21.93C10.27,21.79 10,21.44 10,21.05C9.84,17.66 10.73,14.96 12.66,13.03C15.5,10.2 19.62,10 20.75,10M12,2C16.5,2 20.34,5 21.58,9.11L20,9H19.42C18.24,6.07 15.36,4 12,4A8,8 0 0,0 4,12C4,15.36 6.07,18.24 9,19.42C8.97,20.13 9,20.85 9.11,21.57C5,20.33 2,16.5 2,12C2,6.47 6.5,2 12,2Z\";\r\nexport var mdiStickerEmoji = \"M5.5,2C3.56,2 2,3.56 2,5.5V18.5C2,20.44 3.56,22 5.5,22H16L22,16V5.5C22,3.56 20.44,2 18.5,2H5.5M5.75,4H18.25A1.75,1.75 0 0,1 20,5.75V15H18.5C16.56,15 15,16.56 15,18.5V20H5.75A1.75,1.75 0 0,1 4,18.25V5.75A1.75,1.75 0 0,1 5.75,4M14.44,6.77C14.28,6.77 14.12,6.79 13.97,6.83C13.03,7.09 12.5,8.05 12.74,9C12.79,9.15 12.86,9.3 12.95,9.44L16.18,8.56C16.18,8.39 16.16,8.22 16.12,8.05C15.91,7.3 15.22,6.77 14.44,6.77M8.17,8.5C8,8.5 7.85,8.5 7.7,8.55C6.77,8.81 6.22,9.77 6.47,10.7C6.5,10.86 6.59,11 6.68,11.16L9.91,10.28C9.91,10.11 9.89,9.94 9.85,9.78C9.64,9 8.95,8.5 8.17,8.5M16.72,11.26L7.59,13.77C8.91,15.3 11,15.94 12.95,15.41C14.9,14.87 16.36,13.25 16.72,11.26Z\";\r\nexport var mdiStickerMinus = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M8 11H16V13H8V11M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerMinusOutline = \"M8 11H16V13H8V11M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerOutline = \"M5.5 2C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2H5.5M5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15H18.6C16.7 15 15.1 16.6 15.1 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4\";\r\nexport var mdiStickerPlus = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M13 16H11V13H8V11H11V8H13V11H16V13H13V16M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerPlusOutline = \"M13 11H16V13H13V16H11V13H8V11H11V8H13V11M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerRemove = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M12 13.4L9.9 15.5L8.5 14.1L10.6 12L8.5 9.9L9.9 8.5L12 10.6L14.1 8.5L15.5 9.9L13.4 12L15.5 14.1L14.1 15.5L12 13.4M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerRemoveOutline = \"M16 9.4L13.4 12L16 14.6L14.6 16L12 13.4L9.4 16L8 14.6L10.6 12L8 9.4L9.4 8L12 10.6L14.6 8L16 9.4M22 5.5V16L16 22H5.5C3.6 22 2 20.4 2 18.5V5.5C2 3.6 3.6 2 5.5 2H18.5C20.4 2 22 3.6 22 5.5M20 5.8C20 4.8 19.2 4 18.2 4H5.8C4.8 4 4 4.8 4 5.8V18.3C4 19.3 4.8 20.1 5.8 20.1H15V18.6C15 16.7 16.6 15.1 18.5 15.1H20V5.8Z\";\r\nexport var mdiStickerText = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M6 7H18V9H6V7M6 11H18V13H6V11M13 17H6V15H13V17M15 20V18.5C15 16.6 16.6 15 18.5 15H20L15 20Z\";\r\nexport var mdiStickerTextOutline = \"M18.5 2H5.5C3.6 2 2 3.6 2 5.5V18.5C2 20.4 3.6 22 5.5 22H16L22 16V5.5C22 3.6 20.4 2 18.5 2M20.1 15H18.6C16.7 15 15.1 16.6 15.1 18.5V20H5.8C4.8 20 4 19.2 4 18.2V5.8C4 4.8 4.8 4 5.8 4H18.3C19.3 4 20.1 4.8 20.1 5.8V15M7 7H17V9H7V7M7 11H17V13H7V11M7 15H13V17H7V15Z\";\r\nexport var mdiStocking = \"M17,2A2,2 0 0,1 19,4V7A2,2 0 0,1 17,9V17C17,17.85 16.5,18.57 15.74,18.86L9.5,21.77C8.5,22.24 7.29,21.81 6.83,20.81L6,19C5.5,18 5.95,16.8 6.95,16.34L10,14.91V9A2,2 0 0,1 8,7V4A2,2 0 0,1 10,2H17M10,4V7H17V4H10Z\";\r\nexport var mdiStomach = \"M4 18C4.67 19.85 6.07 22 12 22C14.36 22 17.07 21.93 19 20C20 19 22 17 22 11S20 4 18 4C16.62 4 15 4 14 6V6.03A1.82 1.82 0 0 1 12.13 6.95C11 6.81 11 6.37 11 6V2H9V6A2.92 2.92 0 0 0 12 9C13 9 13 10.78 13 12C13 13.89 12.5 15.26 11 16C8.69 17.15 6.39 17 5.61 15.47A1.5 1.5 0 0 0 3.14 14.87A3.67 3.67 0 0 0 2 18V22H4Z\";\r\nexport var mdiStool = \"M20 6C20 3.79 18.21 2 16 2H8C5.78 2 4 3.79 4 6V8H7L4 22H6L7.5 15H11V22H13V15H16.5L18 22H20L17 8H20V6M7.93 13L9 8H11V13H7.93M16.07 13H13V8H15L16.07 13Z\";\r\nexport var mdiStoolOutline = \"M20 6C20 3.79 18.21 2 16 2H8C5.78 2 4 3.79 4 6V8H7L4 22H6L7.5 15H11V22H13V15H16.5L18 22H20L17 8H20V6M7.93 13L9 8H11V13H7.93M16.07 13H13V8H15L16.07 13M6 6C6 4.9 6.89 4 8 4H16C17.1 4 18 4.9 18 6H6Z\";\r\nexport var mdiStop = \"M18,18H6V6H18V18Z\";\r\nexport var mdiStopCircle = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M9,9H15V15H9\";\r\nexport var mdiStopCircleOutline = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4M9,9V15H15V9\";\r\nexport var mdiStorageTank = \"M17 6H16V5C16 3.9 15.1 3 14 3H10C8.9 3 8 3.9 8 5V6H7C3.69 6 1 8.69 1 12S3.69 18 7 18V21H9V18H15V21H17V18C20.31 18 23 15.31 23 12S20.31 6 17 6M10 5H14V6H10V5Z\";\r\nexport var mdiStorageTankOutline = \"M17 6H16V5C16 3.9 15.1 3 14 3H10C8.9 3 8 3.9 8 5V6H7C3.69 6 1 8.69 1 12S3.69 18 7 18V21H9V18H15V21H17V18C20.31 18 23 15.31 23 12S20.31 6 17 6M10 5H14V6H10V5M17 16H7C4.79 16 3 14.21 3 12S4.79 8 7 8H17C19.21 8 21 9.79 21 12S19.21 16 17 16Z\";\r\nexport var mdiStore = \"M12,18H6V14H12M21,14V12L20,7H4L3,12V14H4V20H14V14H18V20H20V14M20,4H4V6H20V4Z\";\r\nexport var mdiStore24Hour = \"M16,12H15V10H13V7H14V9H15V7H16M11,10H9V11H11V12H8V9H10V8H8V7H11M19,7V4H5V7H2V20H10V16H14V20H22V7H19Z\";\r\nexport var mdiStoreAlert = \"M2 7L1 12V14H2V20H12V14H16V20H18V14H19V12L18 7H2M10 18H4V14H10V18M18 6H2V4H18V6M23 7V13H21V7H23M21 15H23V17H21V15Z\";\r\nexport var mdiStoreAlertOutline = \"M2 7L1 12V14H2V20H12V14H16V20H18V14H19V12L18 7H2M10 18H4V14H10V18M3.04 12L3.64 9H16.36L16.96 12H3.04M18 6H2V4H18V6M23 7V13H21V7H23M21 15H23V17H21V15Z\";\r\nexport var mdiStoreCheck = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiStoreCheckOutline = \"M19 13C19.7 13 20.37 13.13 21 13.35V12L20 7H4L3 12V14H4V20H13.09C13.04 19.67 13 19.34 13 19C13 17.77 13.37 16.64 14 15.69V14H15.69C16.64 13.37 17.77 13 19 13M12 18H6V14H12V18M5.04 12L5.64 9H18.36L18.96 12H5.04M20 6H4V4H20V6M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25\";\r\nexport var mdiStoreClock = \"M18 4H2V2H18V4M17.5 13H16V18L19.61 20.16L20.36 18.94L17.5 17.25V13M24 17C24 20.87 20.87 24 17 24C13.47 24 10.57 21.39 10.08 18H2V12H1V10L2 5H18L19 10V10.29C21.89 11.16 24 13.83 24 17M4 16H10V12H4V16M22 17C22 14.24 19.76 12 17 12S12 14.24 12 17 14.24 22 17 22 22 19.76 22 17Z\";\r\nexport var mdiStoreClockOutline = \"M18 4H2V2H18V4M17.5 13H16V18L19.61 20.16L20.36 18.94L17.5 17.25V13M24 17C24 20.87 20.87 24 17 24C13.47 24 10.57 21.39 10.08 18H2V12H1V10L2 5H18L19 10V10.29C21.89 11.16 24 13.83 24 17M3.04 10H16.96L16.36 7H3.64L3.04 10M4 16H10V12H4V16M22 17C22 14.24 19.76 12 17 12S12 14.24 12 17 14.24 22 17 22 22 19.76 22 17Z\";\r\nexport var mdiStoreCog = \"M20 6H4V4H20V6M19 12C17.09 12 15.37 12.76 14.11 14H14V14.11C12.76 15.37 12 17.09 12 19C12 19.34 12.03 19.67 12.08 20H4V14H3V12L4 7H20L21 12V12.3C20.37 12.11 19.7 12 19 12M12 14H6V18H12V14M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiStoreCogOutline = \"M20 6H4V4H20V6M19 12C17.09 12 15.37 12.76 14.11 14H14V14.11C12.76 15.37 12 17.09 12 19C12 19.34 12.03 19.67 12.08 20H4V14H3V12L4 7H20L21 12V12.3C20.37 12.11 19.7 12 19 12M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiStoreEdit = \"M20 6H4V4H20V6M14 16.13L11 19.13V20H4V14H3V12L4 7H20L20.61 10.07C20.16 10.17 19.73 10.4 19.39 10.74L16.13 14H14V16.13M12 14H6V18H12V14M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiStoreEditOutline = \"M20 6H4V4H20V6M14 16.13L11 19.13V20H4V14H3V12L4 7H20L20.61 10.07C20.16 10.17 19.73 10.4 19.39 10.74L18.82 11.31L18.36 9H5.64L5.04 12H18.13L16.13 14H14V16.13M12 14H6V18H12V14M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96Z\";\r\nexport var mdiStoreMarker = \"M20 6H4V4H20V6M13 15.5C13 16.64 13.43 17.86 14 19V20H4V14H3V12L4 7H20L20.7 10.5C20 10.18 19.28 10 18.5 10C15.5 10 13 12.5 13 15.5M12 14H6V18H12V14M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiStoreMarkerOutline = \"M20 6H4V4H20V6M14.3 12C13.5 12.96 13 14.18 13 15.5C13 16.64 13.43 17.86 14 19V20H4V14H3V12L4 7H20L20.7 10.5C20.04 10.18 19.32 10 18.56 10L18.36 9H5.64L5.04 12H14.3M12 14H6V18H12V14M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiStoreMinus = \"M4 4V6H20V4M4 7L3 12V14H4V20H13C12.95 19.66 12.92 19.31 12.92 18.95C12.92 17.73 13.3 16.53 14 15.53V14H15.54C16.54 13.33 17.71 12.96 18.91 12.96C19.62 12.96 20.33 13.09 21 13.34V12L20 7M6 14H12V18H6M15 18V20H23V18\";\r\nexport var mdiStoreMinusOutline = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M15 18V20H23V18H15Z\";\r\nexport var mdiStoreOff = \"M9.2 6L7.2 4H20V6H9.2M20 16.8V14H21V12L20 7H10.2L17.2 14H18V14.8L20 16.8M22.11 21.46L20.84 22.73L14 15.89V20H4V14H3V12L4 7H5.11L1.11 3L2.39 1.73L22.11 21.46M12 14H6V18H12V14Z\";\r\nexport var mdiStoreOffOutline = \"M2.39 1.73L1.11 3L5.11 7H4L3 12V14H4V20H14V15.89L20.84 22.73L22.11 21.46L2.39 1.73M5.64 9H7.11L10.11 12H5.04L5.64 9M12 18H6V14H12V18M18 14.8V14H17.2L15.2 12H18.96L18.36 9H12.2L10.2 7H20L21 12V14H20V16.8L18 14.8M9.2 6L7.2 4H20V6H9.2Z\";\r\nexport var mdiStoreOutline = \"M18.36 9L18.96 12H5.04L5.64 9H18.36M20 4H4V6H20V4M20 7H4L3 12V14H4V20H14V14H18V20H20V14H21V12L20 7M6 18V14H12V18H6Z\";\r\nexport var mdiStorePlus = \"M4 4V6H20V4M4 7L3 12V14H4V20H13C12.95 19.66 12.92 19.31 12.92 18.95C12.92 17.73 13.3 16.53 14 15.53V14H15.54C16.54 13.33 17.71 12.96 18.91 12.96C19.62 12.96 20.33 13.09 21 13.34V12L20 7M6 14H12V18H6M18 15V18H15V20H18V23H20V20H23V18H20V15\";\r\nexport var mdiStorePlusOutline = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiStoreRemove = \"M4 4H20V6H4V4M15.46 16.88L16.88 15.46L19 17.59L21.12 15.47L22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.47 16.88M4 7H20L21 12V13.34C20.33 13.09 19.62 12.96 18.91 12.96C17.71 12.96 16.54 13.33 15.54 14H14V15.53C13.3 16.53 12.92 17.73 12.92 18.95L13 20H4V14H3V12L4 7M6 14V18H12V14H6Z\";\r\nexport var mdiStoreRemoveOutline = \"M20 6H4V4H20V6M15.69 14H14V15.69C13.37 16.64 13 17.77 13 19C13 19.34 13.04 19.67 13.09 20H4V14H3V12L4 7H20L21 12V13.35C20.37 13.13 19.7 13 19 13C17.77 13 16.64 13.37 15.69 14M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiStoreSearch = \"M11.9 10.9C10.64 12.17 10 13.84 10 15.5V12H4V16H10V15.5C10 16.35 10.17 17.2 10.5 18H2V12H1V10L2 5H18L18.89 9.46C16.56 8.53 13.79 9 11.9 10.9M18 2H2V4H18V2M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiStoreSearchOutline = \"M18 4H2V2H18V4M13.04 10H3.04L3.64 7H16.36L16.76 9C17.5 9.04 18.21 9.19 18.89 9.46L18 5H2L1 10V12H2V18H10.5C10.17 17.2 10 16.35 10 15.5V16H4V12H10V15.5C10 13.84 10.64 12.17 11.9 10.9C12.26 10.55 12.64 10.25 13.04 10M23.39 21L22 22.39L18.88 19.32C18.19 19.75 17.37 20 16.5 20C14 20 12 18 12 15.5S14 11 16.5 11 21 13 21 15.5C21 16.38 20.75 17.21 20.31 17.9L23.39 21M19 15.5C19 14.12 17.88 13 16.5 13S14 14.12 14 15.5 15.12 18 16.5 18 19 16.88 19 15.5Z\";\r\nexport var mdiStoreSettings = \"M20 6H4V4H20V6M21 12V14H20V20H18V14H14V20H4V14H3V12L4 7H20L21 12M12 14H6V18H12V14M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\r\nexport var mdiStoreSettingsOutline = \"M20 6H4V4H20V6M21 12V14H20V20H18V14H14V20H4V14H3V12L4 7H20L21 12M12 14H6V18H12V14M18.96 12L18.36 9H5.64L5.04 12H18.96M7 24H9V22H7V24M11 24H13V22H11V24M15 24H17V22H15V24Z\";\r\nexport var mdiStorefront = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42C3.46 3.7 3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.92 2.69 11.73C2.81 11.85 2.93 11.97 3.04 12.07C3.63 12.64 4.28 13 5.22 13C6.16 13 6.91 12.59 7.47 12.05C8.1 12.67 8.86 13 9.8 13C10.64 13 11.44 12.63 12 12.07C12.68 12.7 13.45 13 14.3 13C15.17 13 15.91 12.67 16.54 12.05C17.11 12.62 17.86 13 18.81 13C19.76 13 20.43 12.65 21 12.06C21.09 11.97 21.18 11.87 21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59C8.61 10.3 8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M3 14.03V19C3 20.11 3.89 21 5 21C9.67 21 14.33 21 19 21C20.1 21 21 20.11 21 19V14.05C20.45 14.63 19.75 14.96 19 15C18 15.03 17.25 14.74 16.54 14.05C15.94 14.65 15.14 15 14.3 15C13.4 15 12.6 14.64 12 14.07C11.43 14.64 10.65 15 9.78 15C8.87 15 8.07 14.65 7.47 14.05C6.89 14.64 6.1 15 5.23 15C4.33 15 3.66 14.65 3 14.03Z\";\r\nexport var mdiStorefrontCheck = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.92 2.69 11.73C2.81 11.85 2.93 11.97 3.04 12.07C3.63 12.64 4.28 13 5.22 13S6.91 12.59 7.47 12.05C8.1 12.67 8.86 13 9.8 13C10.64 13 11.44 12.63 12 12.07C12.68 12.7 13.45 13 14.3 13C15.17 13 15.91 12.67 16.54 12.05C17.11 12.62 17.86 13 18.81 13S20.43 12.65 21 12.06L21.13 11.92C21.18 11.87 21.23 11.82 21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M12.97 14.72C12.61 14.56 12.28 14.34 12 14.07C11.43 14.64 10.65 15 9.78 15C8.87 15 8.07 14.65 7.47 14.05C6.89 14.64 6.1 15 5.23 15C4.33 15 3.66 14.65 3 14.03V19C3 20.11 3.89 21 5 21H12.8C12.29 20.12 12 19.09 12 18C12 16.79 12.36 15.66 12.97 14.72M17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25Z\";\r\nexport var mdiStorefrontCheckOutline = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.92 2.69 11.73C2.8 11.84 2.9 11.94 3 12.03V19C3 19.5 3.2 20 3.61 20.39S4.5 21 5 21H12.8C12.45 20.39 12.2 19.72 12.08 19H5V13C5.07 13 5.15 13 5.22 13C6.16 13 6.91 12.59 7.47 12.05C8.1 12.67 8.86 13 9.8 13C10.64 13 11.44 12.63 12 12.07C12.68 12.7 13.45 13 14.3 13C15.17 13 15.91 12.67 16.54 12.05C17.11 12.62 17.86 13 18.81 13S20.43 12.65 21 12.06L21.13 11.92C21.18 11.87 21.23 11.82 21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25Z\";\r\nexport var mdiStorefrontEdit = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22 9.41 22 9.87 21.95 10.31C21.23 10.03 20.4 10.1 19.73 10.5C20 10.17 20.06 9.79 19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C18.91 11 19.06 10.97 19.2 10.92L19.07 11.06L19.06 11.05L17.42 12.69C17.09 12.53 16.8 12.31 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5M21.11 15.93L19.06 13.88L13 19.94V22H15.06M14.3 15C14.63 15 14.96 14.95 15.27 14.84L11 19.11V21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07C12.6 14.64 13.4 15 14.3 15M22.7 14.35L21.7 15.35L19.65 13.3L20.65 12.3C20.72 12.23 20.81 12.18 20.9 12.16C21.08 12.11 21.28 12.16 21.42 12.3L22.7 13.58C22.91 13.79 22.91 14.14 22.7 14.35Z\";\r\nexport var mdiStorefrontEditOutline = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.95 2.72 11.77L3 12.05V19C3 19.5 3.2 20 3.61 20.39S4.5 21 5 21H11V19.11L11.11 19H5V13H5.25C6.16 13 6.89 12.67 7.45 12.05C8.08 12.67 8.86 13 9.8 13C10.64 13 11.38 12.67 12 12.05C12.69 12.67 13.45 13 14.3 13C15.17 13 15.92 12.67 16.55 12.05C16.8 12.33 17.09 12.54 17.41 12.7L19.06 11.05L19.07 11.06L19.2 10.92C19.06 10.97 18.91 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5L18.89 4.97L19.97 9.38C20.06 9.79 20 10.16 19.73 10.5C20.4 10.1 21.23 10.03 21.95 10.31C22 9.87 22 9.41 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7M15.06 22H13V19.94L19.06 13.88L21.11 15.93M20.65 12.3C20.75 12.2 20.87 12.15 21 12.14C21.15 12.14 21.31 12.19 21.42 12.3L22.7 13.58C22.91 13.79 22.91 14.14 22.7 14.35L21.7 15.35L19.65 13.3Z\";\r\nexport var mdiStorefrontMinus = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M22 17V19H14V17H22M12 14.07C12.28 14.34 12.61 14.56 12.97 14.72C12.36 15.66 12 16.79 12 18C12 19.09 12.29 20.12 12.8 21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07Z\";\r\nexport var mdiStorefrontMinusOutline = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13C5.15 13 5.07 13 5 13V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C4.5 21 4 20.78 3.61 20.39S3 19.5 3 19V12.03C2.9 11.94 2.8 11.84 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M14 17V19H22V17H14Z\";\r\nexport var mdiStorefrontOutline = \"M5.06 3C4.63 3 4.22 3.14 3.84 3.42S3.24 4.06 3.14 4.5L2.11 8.91C1.86 10 2.06 10.95 2.72 11.77L3 12.05V19C3 19.5 3.2 20 3.61 20.39S4.5 21 5 21H19C19.5 21 20 20.8 20.39 20.39S21 19.5 21 19V12.05L21.28 11.77C21.94 10.95 22.14 10 21.89 8.91L20.86 4.5C20.73 4.06 20.5 3.7 20.13 3.42C19.77 3.14 19.38 3 18.94 3H5.06M18.89 4.97L19.97 9.38C20.06 9.81 19.97 10.2 19.69 10.55C19.44 10.86 19.13 11 18.75 11C18.44 11 18.17 10.9 17.95 10.66C17.73 10.43 17.61 10.16 17.58 9.84L16.97 5L18.89 4.97M5.06 5H7.03L6.42 9.84C6.3 10.63 5.91 11 5.25 11C4.84 11 4.53 10.86 4.31 10.55C4.03 10.2 3.94 9.81 4.03 9.38L5.06 5M9.05 5H11V9.7C11 10.05 10.89 10.35 10.64 10.62C10.39 10.88 10.08 11 9.7 11C9.36 11 9.07 10.88 8.84 10.59S8.5 10 8.5 9.66V9.5L9.05 5M13 5H14.95L15.5 9.5C15.58 9.92 15.5 10.27 15.21 10.57C14.95 10.87 14.61 11 14.2 11C13.89 11 13.61 10.88 13.36 10.62C13.11 10.35 13 10.05 13 9.7V5M7.45 12.05C8.08 12.67 8.86 13 9.8 13C10.64 13 11.38 12.67 12 12.05C12.69 12.67 13.45 13 14.3 13C15.17 13 15.92 12.67 16.55 12.05C17.11 12.67 17.86 13 18.8 13H19.03V19H5V13H5.25C6.16 13 6.89 12.67 7.45 12.05Z\";\r\nexport var mdiStorefrontPlus = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5M17 14H19V17H22V19H19V22H17V19H14V17H17M12 14.07C12.28 14.34 12.61 14.56 12.97 14.72C12.36 15.66 12 16.79 12 18C12 19.09 12.29 20.12 12.8 21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07Z\";\r\nexport var mdiStorefrontPlusOutline = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13C5.15 13 5.07 13 5 13V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C4.5 21 4 20.78 3.61 20.39S3 19.5 3 19V12.03C2.9 11.94 2.8 11.84 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5M19 14H17V17H14V19H17V22H19V19H22V17H19Z\";\r\nexport var mdiStorefrontRemove = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13S3.63 12.64 3.04 12.07C2.93 11.97 2.81 11.85 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.47 20.12L16.59 18L14.47 15.88L15.88 14.47L18 16.59L20.12 14.46M12 14.07C12.28 14.34 12.61 14.56 12.97 14.72C12.36 15.66 12 16.79 12 18C12 19.09 12.29 20.12 12.8 21H5C3.89 21 3 20.11 3 19V14.03C3.66 14.65 4.33 15 5.23 15C6.1 15 6.89 14.64 7.47 14.05C8.07 14.65 8.87 15 9.78 15C10.65 15 11.43 14.64 12 14.07Z\";\r\nexport var mdiStorefrontRemoveOutline = \"M3.84 3.42C4.22 3.14 4.63 3 5.06 3H18.94C19.38 3 19.77 3.14 20.13 3.42C20.5 3.7 20.73 4.06 20.86 4.5L21.89 8.91C22.14 10 21.94 10.95 21.28 11.77C21.23 11.82 21.18 11.87 21.13 11.92L21 12.06C20.43 12.65 19.76 13 18.81 13S17.11 12.62 16.54 12.05C15.91 12.67 15.17 13 14.3 13C13.45 13 12.68 12.7 12 12.07C11.44 12.63 10.64 13 9.8 13C8.86 13 8.1 12.67 7.47 12.05C6.91 12.59 6.16 13 5.22 13C5.15 13 5.07 13 5 13V19H12.08C12.2 19.72 12.45 20.39 12.8 21H5C4.5 21 4 20.78 3.61 20.39S3 19.5 3 19V12.03C2.9 11.94 2.8 11.84 2.69 11.73C2.06 10.92 1.86 10 2.11 8.91L3.14 4.5C3.24 4.06 3.46 3.7 3.84 3.42M19.97 9.38L18.89 4.97L16.97 5L17.58 9.84C17.61 10.16 17.73 10.43 17.95 10.66C18.17 10.9 18.44 11 18.75 11C19.13 11 19.44 10.86 19.69 10.55C19.97 10.2 20.06 9.81 19.97 9.38M7.03 5H5.06L4.03 9.38C3.94 9.81 4.03 10.2 4.31 10.55C4.53 10.86 4.84 11 5.25 11C5.91 11 6.3 10.63 6.42 9.84L7.03 5M11 5H9.05L8.5 9.5V9.66C8.5 10 8.61 10.3 8.84 10.59S9.36 11 9.7 11C10.08 11 10.39 10.88 10.64 10.62C10.89 10.35 11 10.05 11 9.7V5M14.95 5H13V9.7C13 10.05 13.11 10.35 13.36 10.62C13.61 10.88 13.89 11 14.2 11C14.61 11 14.95 10.87 15.21 10.57C15.5 10.27 15.58 9.92 15.5 9.5L14.95 5M21.54 15.88L20.12 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.54L18 19.41L20.12 21.54L21.54 20.12L19.41 18L21.54 15.88Z\";\r\nexport var mdiStove = \"M6,14H8L11,17H9L6,14M4,4H5V3A1,1 0 0,1 6,2H10A1,1 0 0,1 11,3V4H13V3A1,1 0 0,1 14,2H18A1,1 0 0,1 19,3V4H20A2,2 0 0,1 22,6V19A2,2 0 0,1 20,21V22H17V21H7V22H4V21A2,2 0 0,1 2,19V6A2,2 0 0,1 4,4M18,7A1,1 0 0,1 19,8A1,1 0 0,1 18,9A1,1 0 0,1 17,8A1,1 0 0,1 18,7M14,7A1,1 0 0,1 15,8A1,1 0 0,1 14,9A1,1 0 0,1 13,8A1,1 0 0,1 14,7M20,6H4V10H20V6M4,19H20V12H4V19M6,7A1,1 0 0,1 7,8A1,1 0 0,1 6,9A1,1 0 0,1 5,8A1,1 0 0,1 6,7M13,14H15L18,17H16L13,14Z\";\r\nexport var mdiStrategy = \"M6.91 5.5L9.21 7.79L7.79 9.21L5.5 6.91L3.21 9.21L1.79 7.79L4.09 5.5L1.79 3.21L3.21 1.79L5.5 4.09L7.79 1.79L9.21 3.21M22.21 16.21L20.79 14.79L18.5 17.09L16.21 14.79L14.79 16.21L17.09 18.5L14.79 20.79L16.21 22.21L18.5 19.91L20.79 22.21L22.21 20.79L19.91 18.5M20.4 6.83L17.18 11L15.6 9.73L16.77 8.23A9.08 9.08 0 0 0 10.11 13.85A4.5 4.5 0 1 1 7.5 13A4 4 0 0 1 8.28 13.08A11.27 11.27 0 0 1 16.43 6.26L15 5.18L16.27 3.6M10 17.5A2.5 2.5 0 1 0 7.5 20A2.5 2.5 0 0 0 10 17.5Z\";\r\nexport var mdiStretchToPage = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M9,19H5V15L6.29,16.29L7.83,14.75L9.25,16.17L7.71,17.71M7.83,9.25L6.29,7.71L5,9V5H9L7.71,6.29L9.25,7.83M19,19H15L16.29,17.71L14.75,16.17L16.17,14.75L17.71,16.29L19,15M19,9L17.71,7.71L16.17,9.25L14.75,7.83L16.29,6.29L15,5H19\";\r\nexport var mdiStretchToPageOutline = \"M20,2H4C2.89,2 2,2.89 2,4V20C2,21.11 2.89,22 4,22H20C21.11,22 22,21.11 22,20V4C22,2.89 21.11,2 20,2M20,20H4V4H20M8.83,10.25L7.29,8.71L6,10V6H10L8.71,7.29L10.25,8.83M13.75,8.83L15.29,7.29L14,6H18V10L16.71,8.71L15.17,10.25M15.17,13.75L16.71,15.29L18,14V18H14L15.29,16.71L13.75,15.17M10.25,15.17L8.71,16.71L10,18H6V14L7.29,15.29L8.83,13.75\";\r\nexport var mdiStringLights = \"M22.56 11.39C22.36 10.59 21.82 9.85 21.05 9.44L20.63 7.74C21.11 7.58 21.57 7.41 22 7.23V5C20 6.07 16.53 7.03 12 7.03S4 6.07 2 5V7.23C2.43 7.41 2.89 7.58 3.37 7.74L2.95 9.44C2.18 9.85 1.64 10.59 1.44 11.39C.905 13.57 .385 17.31 2.92 17.93C4 18.2 6 17.89 7.27 12.82C7.46 12 7.33 11.12 6.84 10.39L7.26 8.67C8.14 8.81 9.05 8.9 10 8.96V10.74C9.35 11.33 9 12.17 9 13C9 15.24 9.39 19 12 19C13.12 19 15 18.22 15 13C15 12.17 14.65 11.33 14 10.74V8.96C14.95 8.9 15.86 8.81 16.74 8.67L17.16 10.39C16.67 11.12 16.54 12 16.73 12.82C18 17.89 20 18.2 21.08 17.93C23.61 17.31 23.09 13.57 22.56 11.39M5.81 12.47C5.81 12.47 4.74 16.84 3.28 16.5C1.82 16.12 2.9 11.75 2.9 11.75S3.26 10.29 4.71 10.65 5.81 12.47 5.81 12.47M12 17.5C10.5 17.5 10.5 13 10.5 13S10.5 11.5 12 11.5 13.5 13 13.5 13 13.5 17.5 12 17.5M20.72 16.5C19.27 16.84 18.19 12.47 18.19 12.47S17.83 11 19.29 10.65 21.1 11.75 21.1 11.75 22.18 16.12 20.72 16.5Z\";\r\nexport var mdiStringLightsOff = \"M14 10.74V8.96C14.95 8.9 15.86 8.81 16.74 8.67L17.16 10.39C16.67 11.12 16.54 12 16.73 12.82C16.82 13.17 16.91 13.5 17 13.8L21.12 17.92C23.61 17.26 23.09 13.55 22.56 11.39C22.36 10.59 21.82 9.85 21.05 9.44L20.63 7.74C21.11 7.58 21.57 7.41 22 7.23V5C20 6.07 16.53 7.03 12 7.03C11.37 7.03 10.76 7 10.17 6.97M20.72 16.5C19.27 16.84 18.19 12.47 18.19 12.47S17.83 11 19.29 10.65 21.1 11.75 21.1 11.75 22.18 16.12 20.72 16.5M14.95 14.29L13.5 12.83V12.83L12.18 11.5H12.18L10 9.34V9.34L9.58 8.93H9.59L7.32 6.66H7.32L2.39 1.73L1.11 3L3.91 5.8C3.19 5.55 2.53 5.28 2 5V7.23C2.43 7.41 2.89 7.58 3.37 7.74L2.95 9.44C2.18 9.85 1.64 10.59 1.44 11.39C.905 13.57 .385 17.31 2.92 17.93C4 18.2 6 17.89 7.27 12.82C7.46 12 7.33 11.12 6.84 10.39L7.17 9.06L9.5 11.38C9.18 11.87 9 12.44 9 13C9 15.24 9.39 19 12 19C12.8 19 13.97 18.59 14.59 16.5L20.84 22.73L22.11 21.46L14.95 14.3L14.95 14.29M5.81 12.47C5.81 12.47 4.74 16.84 3.28 16.5C1.82 16.12 2.9 11.75 2.9 11.75S3.26 10.29 4.71 10.65 5.81 12.47 5.81 12.47M12 17.5C10.5 17.5 10.5 13 10.5 13S10.5 12.77 10.6 12.5L13.32 15.21C13.13 16.35 12.76 17.5 12 17.5Z\";\r\nexport var mdiSubdirectoryArrowLeft = \"M11,9L12.42,10.42L8.83,14H18V4H20V16H8.83L12.42,19.58L11,21L5,15L11,9Z\";\r\nexport var mdiSubdirectoryArrowRight = \"M19,15L13,21L11.58,19.58L15.17,16H4V4H6V14H15.17L11.58,10.42L13,9L19,15Z\";\r\nexport var mdiSubmarine = \"M8 3.67C6.78 4.53 5.39 4.93 4 5H2V7H4C5.37 7 6.74 6.65 8 6C10.5 7.3 13.5 7.3 16 6C17.26 6.65 18.62 6.94 20 7H22V5H20C18.61 5 17.22 4.53 16 3.67C13.56 5.38 10.44 5.38 8 3.67M16 8.67L15 10V12H14L12 14H9L6 16L5 14H4V16L2 17L4 18V20H5.14L6 18L9 20H20A2 2 0 0 0 22 18V16A2 2 0 0 0 20 14H18L17 13V12H16V10H17V8.67Z\";\r\nexport var mdiSubtitles = \"M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M4,12H8V14H4V12M14,18H4V16H14V18M20,18H16V16H20V18M20,14H10V12H20V14Z\";\r\nexport var mdiSubtitlesOutline = \"M20,4A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20M20,18V6H4V18H20M6,10H8V12H6V10M6,14H14V16H6V14M16,14H18V16H16V14M10,10H18V12H10V10Z\";\r\nexport var mdiSubway = \"M8.5,15A1,1 0 0,1 9.5,16A1,1 0 0,1 8.5,17A1,1 0 0,1 7.5,16A1,1 0 0,1 8.5,15M7,9H17V14H7V9M15.5,15A1,1 0 0,1 16.5,16A1,1 0 0,1 15.5,17A1,1 0 0,1 14.5,16A1,1 0 0,1 15.5,15M18,15.88V9C18,6.38 15.32,6 12,6C9,6 6,6.37 6,9V15.88A2.62,2.62 0 0,0 8.62,18.5L7.5,19.62V20H9.17L10.67,18.5H13.5L15,20H16.5V19.62L15.37,18.5C16.82,18.5 18,17.33 18,15.88M17.8,2.8C20.47,3.84 22,6.05 22,8.86V22H2V8.86C2,6.05 3.53,3.84 6.2,2.8C8,2.09 10.14,2 12,2C13.86,2 16,2.09 17.8,2.8Z\";\r\nexport var mdiSubwayAlertVariant = \"M16 11V6H11V11H16M14.5 17C15.3 17 16 16.3 16 15.5C16 14.7 15.3 14 14.5 14S13 14.7 13 15.5C13 16.3 13.7 17 14.5 17M9 11V6H4V11H9M5.5 17C6.3 17 7 16.3 7 15.5C7 14.7 6.3 14 5.5 14S4 14.7 4 15.5C4 16.3 4.7 17 5.5 17M10 2C14.4 2 18 2.5 18 6V15.5C18 17.4 16.4 19 14.5 19L16 20.5V21H4V20.5L5.5 19C3.6 19 2 17.4 2 15.5V6C2 2.5 5.6 2 10 2M20 13V7H22V13H20M20 17V15H22V17H20Z\";\r\nexport var mdiSubwayVariant = \"M18,11H13V6H18M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17M11,11H6V6H11M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M12,2C7.58,2 4,2.5 4,6V15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V6C20,2.5 16.42,2 12,2Z\";\r\nexport var mdiSummit = \"M15,3H17L22,5L17,7V10.17L22,21H2L8,13L11.5,17.7L15,10.17V3Z\";\r\nexport var mdiSunAngle = \"M13.8 5.2C13 5 12.2 5 11.4 5L14.6 2.3L16 6.3C15.3 5.8 14.6 5.5 13.8 5.2M7 7.1C7.6 6.5 8.3 6 9 5.7L4.9 4.9L5.6 9C6 8.3 6.4 7.6 7 7.1M5.2 13.8C5 13 5 12.2 5 11.4L2.3 14.6L6.3 16C5.8 15.4 5.4 14.6 5.2 13.8M22 19V21H3L8.4 15.5C6.5 13.5 6.5 10.4 8.4 8.4C10.3 6.5 13.5 6.5 15.4 8.4L18.4 5.4L19.8 6.8L7.7 19H22Z\";\r\nexport var mdiSunAngleOutline = \"M13.8 5.2C13 5 12.2 5 11.4 5L14.6 2.3L16 6.3C15.3 5.8 14.6 5.5 13.8 5.2M7 7.1C7.6 6.5 8.3 6 9 5.7L4.9 4.9L5.6 9C6 8.3 6.4 7.6 7 7.1M5.2 13.8C5 13 5 12.2 5 11.4L2.3 14.6L6.3 16C5.8 15.4 5.4 14.6 5.2 13.8M22 19V21H3L8.4 15.5C6.5 13.5 6.5 10.4 8.4 8.4C10.3 6.5 13.5 6.5 15.4 8.4L18.4 5.4L19.8 6.8L7.7 19H22M9.8 14.1L14 9.8C12.8 8.7 11 8.7 9.8 9.8C8.7 11 8.7 12.9 9.8 14.1Z\";\r\nexport var mdiSunClock = \"M18.1 9.3L19.6 6L15.5 5.6C16.1 6.1 16.6 6.7 17 7.5C17.3 8.1 17.5 8.6 17.7 9.2C17.2 9.1 16.6 9 16 9H15.6C14.8 7.2 13.1 6 11 6C8.2 6 6 8.2 6 11C6 13.1 7.2 14.8 9 15.6V16C9 19.9 12.1 23 16 23S23 19.9 23 16C23 12.9 20.9 10.2 18.1 9.3M16 21C13.2 21 11 18.8 11 16S13.2 11 16 11 21 13.2 21 16 18.8 21 16 21M16.5 16.2L19.4 17.9L18.6 19.1L15 17V12H16.5V16.2M11 4C10.2 4 9.4 4.2 8.6 4.4L11 1L13.4 4.4C12.6 4.2 11.8 4 11 4M4.9 14.5C5.3 15.2 5.9 15.9 6.5 16.4L2.4 16L4.2 12.2C4.3 13 4.5 13.8 4.9 14.5M4.1 9.8L2.3 6L6.5 5.7C5.9 6.2 5.4 6.8 4.9 7.5C4.5 8.2 4.2 9 4.1 9.8Z\";\r\nexport var mdiSunClockOutline = \"M18.1 9.32L19.65 6L15.5 5.64C16.1 6.15 16.63 6.78 17.05 7.5C17.37 8.05 17.58 8.63 17.73 9.22C17.18 9.08 16.6 9 16 9C15.86 9 15.72 9 15.58 9C14.81 7.25 13.06 6 11 6C8.24 6 6 8.24 6 11C6 13.06 7.25 14.81 9 15.58C9 15.72 9 15.86 9 16C9 19.87 12.13 23 16 23S23 19.87 23 16C23 12.87 20.94 10.21 18.1 9.32M8 11C8 9.35 9.35 8 11 8C12.08 8 13.03 8.58 13.56 9.45C11.66 10.15 10.15 11.66 9.45 13.56C8.58 13.03 8 12.08 8 11M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21M16.5 16.25L19.36 17.94L18.61 19.16L15 17V12H16.5V16.25M11 4C10.16 4 9.35 4.15 8.61 4.42L11 1L13.39 4.42C12.65 4.15 11.84 4 11 4M4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5M4.11 9.79L2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79Z\";\r\nexport var mdiSunCompass = \"M9.7 4.3L12 1L14.3 4.3C13.6 4.1 12.8 4 12 4S10.4 4.1 9.7 4.3M17.5 6.2C18.6 7.3 19.5 8.7 19.8 10.3L21.5 6.6L17.5 6.2M5 8.1C5.1 8 5.1 8 5 8.1C5.1 8 5.1 8 5.1 7.9C5.5 7.3 6 6.7 6.5 6.2L2.5 6.5L4.2 10.2C4.4 9.5 4.7 8.7 5 8.1M19.2 15.4C19.2 15.4 19.2 15.5 19.2 15.4C19.1 15.6 19 15.8 18.9 15.9V16.1C18.5 16.8 18 17.3 17.5 17.9L21.6 17.6L19.9 13.9C19.7 14.4 19.5 14.9 19.2 15.4M5.2 16.2C5.2 16.1 5.1 16.1 5.1 16C5 15.9 5 15.9 5 15.8C4.9 15.6 4.8 15.5 4.8 15.3C4.6 14.8 4.4 14.3 4.3 13.8L2.6 17.5L6.7 17.8C6 17.3 5.6 16.8 5.2 16.2M12.6 20H11.4C10.8 20 10.2 19.8 9.7 19.7L12 23L14.3 19.7C13.8 19.8 13.2 19.9 12.6 20M16.2 7.8C13.9 5.5 10.1 5.5 7.7 7.8S5.4 13.9 7.7 16.3 13.8 18.6 16.2 16.3 18.6 10.1 16.2 7.8M8.5 15.5L10.6 10.6L15.6 8.4L13.5 13.3L8.5 15.5M12.7 12.7C12.3 13.1 11.7 13.1 11.3 12.7C10.9 12.3 10.9 11.7 11.3 11.3C11.7 10.9 12.3 10.9 12.7 11.3C13.1 11.7 13.1 12.3 12.7 12.7Z\";\r\nexport var mdiSunSnowflake = \"M12 .69L8.69 4H4V8.69L.69 12L4 15.31V20H8.69L12 23.31L13 22.31V17.83L16.24 21.07L17.66 19.66L13 15V13H15L19.66 17.66L21.07 16.24L17.83 13H22V11H17.83L21.07 7.76L19.66 6.34L15 11H13V9L17.66 4.34L16.24 2.93L13 6.17V1.69M11 6.09V8.13C9.24 8.59 8 10.18 8 12C8 13.82 9.24 15.41 11 15.87V17.91C8.12 17.42 6 14.93 6 12C6 9.07 8.11 6.57 11 6.09Z\";\r\nexport var mdiSunSnowflakeVariant = \"M12.92 1.58L11.18 2.58L12.39 4.67L11.8 6.85L9 7.6L7.38 6L7.42 3.59L5.43 3.59L5.43 5.42L3.59 5.42L3.6 7.42L6 7.42L7.65 9.03L6.9 11.82L4.68 12.4L2.59 11.2L1.59 12.93L3.17 13.84L2.26 15.42L4 16.42L5.19 14.33L7.42 13.75L7.92 14.26L9.32 12.86L8.78 12.32L9.53 9.54L12.32 8.78L12.85 9.32L14.26 7.91L13.73 7.37L14.32 5.19L16.41 4L15.41 2.25L13.83 3.16L12.92 1.58M20.72 4L4 20.72L5.27 22L10.16 17.11C10.63 17.43 11.15 17.68 11.71 17.83C14.38 18.55 17.12 16.96 17.83 14.29C18.22 12.86 17.93 11.36 17.11 10.16L22 5.27L20.72 4M18.74 9C19.18 9.63 19.53 10.38 19.75 11.19C19.97 12 20.03 12.81 19.96 13.61L22.65 10.41L18.74 9M19.32 15.95C19 16.67 18.5 17.35 17.93 17.94C17.34 18.53 16.66 19 15.96 19.34L20.05 20.06L19.32 15.95M9 18.71L10.41 22.66L13.59 19.95C12.81 20 12 19.97 11.19 19.76C10.36 19.54 9.62 19.17 9 18.71Z\";\r\nexport var mdiSunThermometer = \"M10 2L7.6 5.4C8.4 5.2 9.2 5 10 5C10.8 5 11.6 5.2 12.4 5.4M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19C20.66 19 22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6M5.5 6.7L1.3 7L3.1 10.8C3.2 10 3.5 9.2 3.9 8.5C4.4 7.8 4.9 7.2 5.5 6.7M10 7C7.2 7 5 9.2 5 12C5 14.8 7.2 17 10 17C12.8 17 15 14.8 15 12C15 9.2 12.8 7 10 7M3.2 13.2L1.4 17L5.5 17.4C5 16.9 4.4 16.2 4 15.5C3.5 14.8 3.3 14 3.2 13.2M7.6 18.6L10 22L12.4 18.6C11.6 18.8 10.8 19 10 19C9.1 19 8.3 18.8 7.6 18.6Z\";\r\nexport var mdiSunThermometerOutline = \"M10 2L7.6 5.4C8.4 5.2 9.2 5 10 5S11.6 5.2 12.4 5.4L10 2M21 13.8V7C21 5.9 20.1 5 19 5S17 5.9 17 7V13.8C16.4 14.4 16 15.2 16 16C16 17.7 17.3 19 19 19S22 17.7 22 16C22 15.1 21.6 14.3 21 13.8M20 8H18V7C18 6.4 18.4 6 19 6S20 6.4 20 7V8M5.5 6.7L1.3 7L3.1 10.8C3.2 10 3.5 9.2 3.9 8.5C4.4 7.8 4.9 7.2 5.5 6.7M10 7C7.2 7 5 9.2 5 12S7.2 17 10 17 15 14.8 15 12 12.8 7 10 7M10 15C8.3 15 7 13.7 7 12S8.3 9 10 9 13 10.3 13 12 11.7 15 10 15M3.2 13.2L1.4 17L5.5 17.4C5 16.9 4.4 16.2 4 15.5C3.5 14.8 3.3 14 3.2 13.2M7.6 18.6L10 22L12.4 18.6C11.6 18.8 10.8 19 10 19C9.1 19 8.3 18.8 7.6 18.6Z\";\r\nexport var mdiSunWireless = \"M11 6C13.76 6 16 8.24 16 11S13.76 16 11 16 6 13.76 6 11 8.24 6 11 6M11 1L13.39 4.42C12.65 4.15 11.84 4 11 4S9.35 4.15 8.61 4.42L11 1M2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79L2.34 6M2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16M19.65 6L17.88 9.79C17.74 9 17.47 8.23 17.05 7.5C16.63 6.78 16.1 6.15 15.5 5.64L19.65 6M23 13H21C21 15.05 20.22 17.1 18.66 18.66C17.09 20.23 15.05 21 13 21V23C15.56 23 18.12 22 20.07 20.07S23 15.56 23 13M19 13H17C17 14 16.61 15.05 15.83 15.83C15.05 16.61 14 17 13 17V19C14.54 19 16.08 18.41 17.25 17.24C18.41 16.08 19 14.54 19 13\";\r\nexport var mdiSunWirelessOutline = \"M11 1L13.39 4.42C12.65 4.15 11.84 4 11 4S9.35 4.15 8.61 4.42L11 1M2.34 6L6.5 5.65C5.9 6.16 5.36 6.78 4.94 7.5C4.5 8.24 4.25 9 4.11 9.79L2.34 6M2.36 16L4.12 12.23C4.26 13 4.53 13.78 4.95 14.5C5.37 15.24 5.91 15.86 6.5 16.37L2.36 16M19.65 6L17.88 9.79C17.74 9 17.47 8.23 17.05 7.5C16.63 6.78 16.1 6.15 15.5 5.64L19.65 6M23 13H21C21 15.05 20.22 17.1 18.66 18.66C17.09 20.23 15.05 21 13 21V23C15.56 23 18.12 22 20.07 20.07S23 15.56 23 13M19 13H17C17 14 16.61 15.05 15.83 15.83C15.05 16.61 14 17 13 17V19C14.54 19 16.08 18.41 17.25 17.24C18.41 16.08 19 14.54 19 13M11 8C12.65 8 14 9.35 14 11S12.65 14 11 14 8 12.65 8 11 9.35 8 11 8M11 6C8.24 6 6 8.24 6 11S8.24 16 11 16 16 13.76 16 11 13.76 6 11 6Z\";\r\nexport var mdiSunglasses = \"M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17Z\";\r\nexport var mdiSurfing = \"M22 23V21C20.59 21.05 19.22 20.9 18 20C16.24 21.25 13.77 21.25 12 20C10.23 21.25 7.76 21.25 6 20C4.78 20.9 3.41 21.05 2 21V23C3.37 23.05 4.78 22.94 6 22.25C7.84 23.25 10.15 23.25 12 22.25C13.85 23.25 16.16 23.25 18 22.25C19.22 22.94 20.63 23.05 22 23M20.5 11.97V9.95C18.74 9.96 17 9 16.18 7.41L15.29 5.86C15 5.4 14.55 5.11 14.07 4.97L8.5 3.94L5 6.38L6.13 8L8.95 6.1L10.97 6.43L8.81 7.88C8.21 8.29 7.88 9 8 9.71L8.53 12.81C7.12 12.26 3.21 11 3 13.23C3.36 15.67 6.07 17.32 8.06 18.82C9.5 19.29 11.06 18.58 12 17.46C13.32 19.16 15.89 19.46 17.5 18C17.03 17.58 16.5 17.15 16 16.8V12.95L12.19 9.95L14.44 8.44C15.62 10.59 18 12 20.5 11.97M14 14V15.47C14 15.43 11.66 14.16 11.81 14.24L10.73 13.7L10.31 11.08L14 14M19 3.5C19 4.61 18.11 5.5 17 5.5S15 4.61 15 3.5 15.9 1.5 17 1.5 19 2.4 19 3.5Z\";\r\nexport var mdiSurroundSound = \"M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6A2,2 0 0,0 20,4M7.76,16.24L6.35,17.65C4.78,16.1 4,14.05 4,12C4,9.95 4.78,7.9 6.34,6.34L7.75,7.75C6.59,8.93 6,10.46 6,12C6,13.54 6.59,15.07 7.76,16.24M12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16M17.66,17.66L16.25,16.25C17.41,15.07 18,13.54 18,12C18,10.46 17.41,8.93 16.24,7.76L17.65,6.35C19.22,7.9 20,9.95 20,12C20,14.05 19.22,16.1 17.66,17.66M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10Z\";\r\nexport var mdiSurroundSound20 = \"M3 7V9H7V11H5C3.9 11 3 11.9 3 13V17H9V15H5V13H7C8.1 13 9 12.1 9 11V9C9 7.9 8.1 7 7 7H3M13 17H11V15H13V17M17 7C15.9 7 15 7.9 15 9V15C15 16.1 15.9 17 17 17H19C20.1 17 21 16.1 21 15V9C21 7.9 20.1 7 19 7H17M17 9H19V15H17V9Z\";\r\nexport var mdiSurroundSound21 = \"M4 7V9H8V11H6C4.9 11 4 11.9 4 13V17H10V15H6V13H8C9.1 13 10 12.1 10 11V9C10 7.9 9.1 7 8 7H4M14 17H12V15H14V17M16 7V9H18V17H20V7H16Z\";\r\nexport var mdiSurroundSound31 = \"M14 17H12V15H14V17M20 7V17H18V9H16V7H20M10 15C10 16.1 9.1 17 8 17H4V15H8V13H6V11H8V9H4V7H8C9.1 7 10 7.9 10 9V10.5C10 11.3 9.3 12 8.5 12C9.3 12 10 12.7 10 13.5V15\";\r\nexport var mdiSurroundSound51 = \"M14 17H12V15H14V17M20 7V17H18V9H16V7H20M10 7V9H6V11H8C9.1 11 10 11.9 10 13V15C10 16.1 9.1 17 8 17H4V15H8V13H4V7H10Z\";\r\nexport var mdiSurroundSound512 = \"M18 7V9H22V11H20C18.9 11 18 11.9 18 13V17H24V15H20V13H22C23.1 13 24 12.1 24 11V9C24 7.9 23.1 7 22 7H18M9 17H7V15H9V17M9 7V9H11V17H13V7H9M0 7V13H4V15H0V17H4C5.1 17 6 16.1 6 15V13C6 11.9 5.1 11 4 11H2V9H6V7H0M17 17H15V15H17V17\";\r\nexport var mdiSurroundSound71 = \"M14 17H12V15H14V17M20 7V17H18V9H16V7H20M4 17L8 9H4V7H10V9L6 17\";\r\nexport var mdiSvg = \"M5.13,10.71H8.87L6.22,8.06C5.21,8.06 4.39,7.24 4.39,6.22A1.83,1.83 0 0,1 6.22,4.39C7.24,4.39 8.06,5.21 8.06,6.22L10.71,8.87V5.13C10,4.41 10,3.25 10.71,2.54C11.42,1.82 12.58,1.82 13.29,2.54C14,3.25 14,4.41 13.29,5.13V8.87L15.95,6.22C15.95,5.21 16.76,4.39 17.78,4.39C18.79,4.39 19.61,5.21 19.61,6.22C19.61,7.24 18.79,8.06 17.78,8.06L15.13,10.71H18.87C19.59,10 20.75,10 21.46,10.71C22.18,11.42 22.18,12.58 21.46,13.29C20.75,14 19.59,14 18.87,13.29H15.13L17.78,15.95C18.79,15.95 19.61,16.76 19.61,17.78A1.83,1.83 0 0,1 17.78,19.61C16.76,19.61 15.95,18.79 15.95,17.78L13.29,15.13V18.87C14,19.59 14,20.75 13.29,21.46C12.58,22.18 11.42,22.18 10.71,21.46C10,20.75 10,19.59 10.71,18.87V15.13L8.06,17.78C8.06,18.79 7.24,19.61 6.22,19.61C5.21,19.61 4.39,18.79 4.39,17.78C4.39,16.76 5.21,15.95 6.22,15.95L8.87,13.29H5.13C4.41,14 3.25,14 2.54,13.29C1.82,12.58 1.82,11.42 2.54,10.71C3.25,10 4.41,10 5.13,10.71Z\";\r\nexport var mdiSwapHorizontal = \"M21,9L17,5V8H10V10H17V13M7,11L3,15L7,19V16H14V14H7V11Z\";\r\nexport var mdiSwapHorizontalBold = \"M8,10V13H14V18H8V21L2,15.5L8,10M22,8.5L16,3V6H10V11H16V14L22,8.5Z\";\r\nexport var mdiSwapHorizontalCircle = \"M22 12C22 6.5 17.5 2 12 2S2 6.5 2 12 6.5 22 12 22 22 17.5 22 12M15 6.5L18.5 10L15 13.5V11H11V9H15V6.5M9 17.5L5.5 14L9 10.5V13H13V15H9V17.5Z\";\r\nexport var mdiSwapHorizontalCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M15 6.5V9H11V11H15V13.5L18.5 10L15 6.5M9 10.5L5.5 14L9 17.5V15H13V13H9V10.5Z\";\r\nexport var mdiSwapHorizontalVariant = \"M4,6L8,10V7H16A2,2 0 0,1 18,9A2,2 0 0,1 16,11H8A4,4 0 0,0 4,15A4,4 0 0,0 8,19H16V22L20,18L16,14V17H8A2,2 0 0,1 6,15A2,2 0 0,1 8,13H16A4,4 0 0,0 20,9A4,4 0 0,0 16,5H8V2L4,6Z\";\r\nexport var mdiSwapVertical = \"M9,3L5,7H8V14H10V7H13M16,17V10H14V17H11L15,21L19,17H16Z\";\r\nexport var mdiSwapVerticalBold = \"M14,8H11V14H6V8H3L8.5,2L14,8M15.5,22L21,16H18V10H13V16H10L15.5,22Z\";\r\nexport var mdiSwapVerticalCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M6.5 9L10 5.5L13.5 9H11V13H9V9H6.5M17.5 15L14 18.5L10.5 15H13V11H15V15H17.5Z\";\r\nexport var mdiSwapVerticalCircleOutline = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 20C7.59 20 4 16.41 4 12S7.59 4 12 4 20 7.59 20 12 16.41 20 12 20M6.5 9L10 5.5L13.5 9H11V13H9V9H6.5M17.5 15L14 18.5L10.5 15H13V11H15V15H17.5Z\";\r\nexport var mdiSwapVerticalVariant = \"M18,4L14,8H17V16A2,2 0 0,1 15,18A2,2 0 0,1 13,16V8A4,4 0 0,0 9,4A4,4 0 0,0 5,8V16H2L6,20L10,16H7V8A2,2 0 0,1 9,6A2,2 0 0,1 11,8V16A4,4 0 0,0 15,20A4,4 0 0,0 19,16V8H22L18,4Z\";\r\nexport var mdiSwim = \"M2,18C4.22,17 6.44,16 8.67,16C10.89,16 13.11,18 15.33,18C17.56,18 19.78,16 22,16V19C19.78,19 17.56,21 15.33,21C13.11,21 10.89,19 8.67,19C6.44,19 4.22,20 2,21V18M8.67,13C7.89,13 7.12,13.12 6.35,13.32L11.27,9.88L10.23,8.64C10.09,8.47 10,8.24 10,8C10,7.66 10.17,7.35 10.44,7.17L16.16,3.17L17.31,4.8L12.47,8.19L17.7,14.42C16.91,14.75 16.12,15 15.33,15C13.11,15 10.89,13 8.67,13M18,7A2,2 0 0,1 20,9A2,2 0 0,1 18,11A2,2 0 0,1 16,9A2,2 0 0,1 18,7Z\";\r\nexport var mdiSwitch = \"M13,18H14A1,1 0 0,1 15,19H22V21H15A1,1 0 0,1 14,22H10A1,1 0 0,1 9,21H2V19H9A1,1 0 0,1 10,18H11V16H8A1,1 0 0,1 7,15V3A1,1 0 0,1 8,2H16A1,1 0 0,1 17,3V15A1,1 0 0,1 16,16H13V18M13,6H14V4H13V6M9,4V6H11V4H9M9,8V10H11V8H9M9,12V14H11V12H9Z\";\r\nexport var mdiSword = \"M6.92,5H5L14,14L15,13.06M19.96,19.12L19.12,19.96C18.73,20.35 18.1,20.35 17.71,19.96L14.59,16.84L11.91,19.5L10.5,18.09L11.92,16.67L3,7.75V3H7.75L16.67,11.92L18.09,10.5L19.5,11.91L16.83,14.58L19.95,17.7C20.35,18.1 20.35,18.73 19.96,19.12Z\";\r\nexport var mdiSwordCross = \"M6.2,2.44L18.1,14.34L20.22,12.22L21.63,13.63L19.16,16.1L22.34,19.28C22.73,19.67 22.73,20.3 22.34,20.69L21.63,21.4C21.24,21.79 20.61,21.79 20.22,21.4L17,18.23L14.56,20.7L13.15,19.29L15.27,17.17L3.37,5.27V2.44H6.2M15.89,10L20.63,5.26V2.44H17.8L13.06,7.18L15.89,10M10.94,15L8.11,12.13L5.9,14.34L3.78,12.22L2.37,13.63L4.84,16.1L1.66,19.29C1.27,19.68 1.27,20.31 1.66,20.7L2.37,21.41C2.76,21.8 3.39,21.8 3.78,21.41L7,18.23L9.44,20.7L10.85,19.29L8.73,17.17L10.94,15Z\";\r\nexport var mdiSyllabaryHangul = \"M8 4V6H4V8H6.39C5.55 8.74 5 9.8 5 11C5 13.2 6.8 15 9 15C11.2 15 13 13.2 13 11C13 9.8 12.45 8.74 11.61 8H14V6H10V4M15 4V16H17V11H20V9H17V4M9 9C10.12 9 11 9.88 11 11C11 12.12 10.12 13 9 13C7.88 13 7 12.12 7 11C7 9.88 7.88 9 9 9M7 16V20H17V18H9V16Z\";\r\nexport var mdiSyllabaryHiragana = \"M9 4V6H6V8H9V10C6.25 10 4 12.27 4 15.03C4 17.8 6.26 20.06 9.03 20.06C9.89 20.06 10.72 19.77 11.4 19.26C11.63 19.54 11.88 19.82 12.15 20.09L13.56 18.67C13.3 18.42 13.07 18.15 12.86 17.89L13.86 16.89C14.93 15.82 15.78 14.23 16.42 12.59C17.31 13.11 18 13.9 18 15C18 16.32 17.47 17.6 16.54 18.54L17.95 19.95C19.26 18.64 20 16.86 20 15C20 13.04 18.82 11.36 17.15 10.55L17.5 9.29L15.55 8.78L15.21 10.05C15.13 10.05 15.06 10 14.97 10H11V8H16V6H11V4M11 12H14.5C13.94 13.37 13.19 14.72 12.44 15.47L11.79 16.13C11.25 14.93 11 13.59 11 12M9 12C9 14.07 9.41 15.94 10.3 17.59C9.94 17.89 9.5 18.06 9.03 18.06C7.33 18.06 6 16.73 6 15.03C6 13.34 7.32 12 9 12Z\";\r\nexport var mdiSyllabaryKatakana = \"M4 4V6H18V6.09L14.29 9.79L15.71 11.21L20 6.91V4M11 9V13C11 15.78 10.25 16.89 8.36 18.46L9.64 20C11.75 18.24 13 16.22 13 13V9Z\";\r\nexport var mdiSyllabaryKatakanaHalfwidth = \"M8 4V6H14L13 10.81L15 11.2L16 6.1V4M10 9V12C10 14.86 9.34 17.29 8.08 18.61L9.5 20C11.35 18.08 12 15.15 12 12V9Z\";\r\nexport var mdiSymbol = \"M2 7V14H4V7H2M6 7V9H10V11H8V14H10V13C11.11 13 12 12.11 12 11V9C12 7.89 11.11 7 10 7H6M15.8 7L15.6 9H14V11H15.4L15.2 13H14V15H15L14.8 17H16.8L17 15H18.4L18.2 17H20.2L20.4 15H22V13H20.6L20.8 11H22V9H21L21.2 7H19.2L19 9H17.6L17.8 7H15.8M17.4 11H18.8L18.6 13H17.2L17.4 11M2 15V17H4V15H2M8 15V17H10V15H8Z\";\r\nexport var mdiSymfony = \"M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.37,5.7V5.7C17.39,5.67 18.15,6.13 18.21,6.84C18.22,7.15 18.04,7.75 17.42,7.77C16.95,7.79 16.63,7.5 16.62,7.09C16.61,6.93 16.88,6.42 16.88,6.33C16.87,6.06 16.47,6.05 16.36,6.06C14.86,6.11 14.46,8.13 14.14,9.78L14,10.65C14.84,10.78 15.46,10.62 15.8,10.4C16.28,10.09 15.66,9.77 15.74,9.41C15.82,9.04 16.15,8.87 16.41,8.86C16.78,8.85 17.04,9.23 17.03,9.62C17,10.26 16.17,11.14 14.5,11.1C14.28,11.1 14.09,11.08 13.91,11.06C13.3,14.16 12.92,16 11.56,17.58C10.39,18.97 9.2,19.18 8.67,19.2C7.67,19.24 7,18.71 7,18C6.97,17.32 7.57,16.94 7.97,16.93C8.5,16.91 8.87,17.3 8.88,17.74C8.9,18.11 8.7,18.23 8.57,18.3C8.5,18.37 8.35,18.45 8.36,18.6C8.36,18.67 8.43,18.82 8.65,18.81C9.07,18.8 9.34,18.59 9.54,18.45C10.5,17.65 10.88,16.24 11.37,13.68C11.63,12.23 11.82,11.3 12.1,10.38C11.42,9.87 11,9.23 10.09,9C9.46,8.81 9.08,8.96 8.81,9.3C8.5,9.71 8.6,10.23 8.9,10.54C10.05,11.82 10.39,12.38 10.26,13.14C10.06,14.35 8.62,15.27 6.92,14.75C5.47,14.3 5.2,13.28 5.37,12.71C5.53,12.22 5.92,12.12 6.31,12.24C6.73,12.37 6.89,12.87 6.77,13.26C6.75,13.3 6.55,13.67 6.5,13.79C6.41,14.1 6.83,14.31 7.12,14.4C7.77,14.6 8.4,14.26 8.55,13.73C8.7,13.25 8.4,12.91 8.27,12.78C7.38,11.8 6.76,10.93 7.06,9.95C7.18,9.58 7.42,9.18 7.78,8.91C8.53,8.36 9.35,8.26 10.12,8.5C11.13,8.77 11.61,9.44 12.24,9.95C12.59,8.93 13.08,7.92 13.81,7.07C14.47,6.3 15.35,5.74 16.37,5.7Z\";\r\nexport var mdiSynagogue = \"M6 8V21H10V16C10 14.9 10.9 14 12 14S14 14.9 14 16V21H18V8L12 3L6 8M13.5 10C13.5 10.8 12.8 11.5 12 11.5S10.5 10.8 10.5 10 11.2 8.5 12 8.5 13.5 9.2 13.5 10M3 5C1.9 5 1 5.9 1 7V8H5V7C5 5.9 4.1 5 3 5M1 9H5V21H1V9M21 5C19.9 5 19 5.9 19 7V8H23V7C23 5.9 22.1 5 21 5M19 9H23V21H19V9Z\";\r\nexport var mdiSynagogueOutline = \"M20 4C18.3 4 17 5.3 17 7V7.3L12 3L7 7.3V7C7 5.3 5.7 4 4 4S1 5.3 1 7V21H11V16C11 15.4 11.4 15 12 15S13 15.4 13 16V21H23V7C23 5.3 21.7 4 20 4M20 6C20.5 6 21 6.4 21 7V8H19V7C19 6.4 19.5 6 20 6M4 6C4.6 6 5 6.4 5 7V8H3V7C3 6.4 3.5 6 4 6M3 19V10H5V19H3M17 19H15V16C15 14.4 13.6 13 12 13S9 14.4 9 16V19H7V9.9L12 5.6L17 9.9V19M19 19V10H21V19H19M12 8.5C12.8 8.5 13.5 9.2 13.5 10S12.8 11.5 12 11.5 10.5 10.8 10.5 10 11.2 8.5 12 8.5Z\";\r\nexport var mdiSync = \"M12,18A6,6 0 0,1 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12A8,8 0 0,0 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6A6,6 0 0,1 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12A8,8 0 0,0 12,4Z\";\r\nexport var mdiSyncAlert = \"M11,13H13V7H11M21,4H15V10L17.24,7.76C18.32,8.85 19,10.34 19,12C19,14.61 17.33,16.83 15,17.65V19.74C18.45,18.85 21,15.73 21,12C21,9.79 20.09,7.8 18.64,6.36M11,17H13V15H11M3,12C3,14.21 3.91,16.2 5.36,17.64L3,20H9V14L6.76,16.24C5.68,15.15 5,13.66 5,12C5,9.39 6.67,7.17 9,6.35V4.26C5.55,5.15 3,8.27 3,12Z\";\r\nexport var mdiSyncCircle = \"M2 12A10 10 0 1 0 12 2A10 10 0 0 0 2 12M15.6 13.72A4 4 0 0 0 16 12A4 4 0 0 0 12 8V10L8.88 7L12 4V6A6 6 0 0 1 18 12A5.9 5.9 0 0 1 17.07 15.19M6 12A5.9 5.9 0 0 1 6.93 8.81L8.4 10.28A4 4 0 0 0 8 12A4 4 0 0 0 12 16V14L15 17L12 20V18A6 6 0 0 1 6 12Z\";\r\nexport var mdiSyncOff = \"M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\";\r\nexport var mdiTab = \"M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H3V5H13V9H21V19Z\";\r\nexport var mdiTabMinus = \"M3,3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3H3M3,5H13V9H21V19H3V5M7,13V15H15V13H7Z\";\r\nexport var mdiTabPlus = \"M3,3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3H3M3,5H13V9H21V19H3V5M10,10V13H7V15H10V18H12V15H15V13H12V10H10Z\";\r\nexport var mdiTabRemove = \"M7.46,11.88L8.88,10.46L11,12.59L13.12,10.46L14.54,11.88L12.41,14L14.54,16.12L13.12,17.54L11,15.41L8.88,17.54L7.46,16.12L9.59,14L7.46,11.88M3,3H21A2,2 0 0,1 23,5V19A2,2 0 0,1 21,21H3A2,2 0 0,1 1,19V5A2,2 0 0,1 3,3M3,5V19H21V9H13V5H3Z\";\r\nexport var mdiTabSearch = \"M7.5 11C5 11 3 13 3 15.5C3 16.38 3.25 17.21 3.69 17.9L.61 21L2 22.39L5.12 19.32C5.81 19.75 6.63 20 7.5 20C10 20 12 18 12 15.5S10 11 7.5 11M7.5 18C6.12 18 5 16.88 5 15.5S6.12 13 7.5 13 10 14.12 10 15.5 8.88 18 7.5 18M23 5V19C23 20.11 22.11 21 21 21H10.95C11.76 20.5 12.45 19.81 12.97 19H21V9H13V5H3V10.82C1.77 12 1 13.66 1 15.5V5C1 3.9 1.9 3 3 3H21C22.11 3 23 3.9 23 5Z\";\r\nexport var mdiTabUnselected = \"M1,9H3V7H1V9M1,13H3V11H1V13M1,5H3V3A2,2 0 0,0 1,5M9,21H11V19H9V21M1,17H3V15H1V17M3,21V19H1A2,2 0 0,0 3,21M21,3H13V9H23V5A2,2 0 0,0 21,3M21,17H23V15H21V17M9,5H11V3H9V5M5,21H7V19H5V21M5,5H7V3H5V5M21,21A2,2 0 0,0 23,19H21V21M21,13H23V11H21V13M13,21H15V19H13V21M17,21H19V19H17V21Z\";\r\nexport var mdiTable = \"M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z\";\r\nexport var mdiTableAccount = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M23 22V21C23 19.67 20.33 19 19 19S15 19.67 15 21V22H23M19 14C17.9 14 17 14.9 17 16S17.9 18 19 18 21 17.11 21 16 20.11 14 19 14Z\";\r\nexport var mdiTableAlert = \"M3 4H17C18.11 4 19 4.89 19 6V18C19 19.11 18.11 20 17 20H3C1.9 20 1 19.11 1 18V6C1 4.89 1.9 4 3 4M3 8V12H9V8H3M11 8V12H17V8H11M3 14V18H9V14H3M11 14V18H17V14H11M23 7H21V13H23V7M23 15H21V17H23V15Z\";\r\nexport var mdiTableArrowDown = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M15.94 18.5H17.94V14.5H19.94V18.5H21.94L18.94 21.5L15.94 18.5\";\r\nexport var mdiTableArrowLeft = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M18.44 15V17H22.44V19H18.44V21L15.44 18L18.44 15\";\r\nexport var mdiTableArrowRight = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M19.44 21V19H15.44V17H19.44V15L22.44 18L19.44 21\";\r\nexport var mdiTableArrowUp = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M21.94 17.5H19.94V21.5H17.94V17.5H15.94L18.94 14.5L21.94 17.5\";\r\nexport var mdiTableBorder = \"M21,19A1,1 0 0,1 20,20H19V18H21V19M15,20V18H17V20H15M11,20V18H13V20H11M7,20V18H9V20H7M4,20A1,1 0 0,1 3,19V18H5V20H4M19,4H5A2,2 0 0,0 3,6V8H5L11,8H13L19,8H21V6C21,4.89 20.11,4 19,4M5,14H3V16H5V14M5,10H3V12H5V10M21,10H19V12H21V10M21,14H19V16H21V14M11,16V14H13V16H11M11,12V10H13V12H11\";\r\nexport var mdiTableCancel = \"M3 3H17C18.11 3 19 3.9 19 5V12.08C17.45 11.82 15.92 12.18 14.68 13H11V17H12.08C11.97 17.68 11.97 18.35 12.08 19H3C1.9 19 1 18.11 1 17V5C1 3.9 1.9 3 3 3M3 7V11H9V7H3M11 7V11H17V7H11M3 13V17H9V13H3M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\r\nexport var mdiTableChair = \"M12 22H6A2 2 0 0 1 8 20V8H2V5H16V8H10V20A2 2 0 0 1 12 22M22 2V22H20V15H15V22H13V14A2 2 0 0 1 15 12H20V2Z\";\r\nexport var mdiTableCheck = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M17.75 21L15 18L16.16 16.84L17.75 18.43L21.34 14.84L22.5 16.25L17.75 21\";\r\nexport var mdiTableClock = \"M16.5 15.82L18.94 17.23L18.19 18.53L15 16.69V13H16.5V15.82M20 10.26V5C20 3.9 19.11 3 18 3H4C2.9 3 2 3.9 2 5V17C2 18.11 2.9 19 4 19H9.68C10.81 21.36 13.21 23 16 23C19.87 23 23 19.87 23 16C23 13.62 21.81 11.53 20 10.26M18 7V9.29C17.37 9.11 16.7 9 16 9C14.5 9 13.13 9.47 12 10.26V7H18M4 7H10V11H4V7M4 17V13H9.68C9.25 13.91 9 14.93 9 16C9 16.34 9.03 16.67 9.08 17H4M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\r\nexport var mdiTableCog = \"M3 3H17C18.11 3 19 3.9 19 5V12.08C17.45 11.82 15.92 12.18 14.68 13H11V17H12.08C11.97 17.68 11.97 18.35 12.08 19H3C1.9 19 1 18.11 1 17V5C1 3.9 1.9 3 3 3M3 7V11H9V7H3M11 7V11H17V7H11M3 13V17H9V13H3M22.78 19.32L21.71 18.5C21.73 18.33 21.75 18.17 21.75 18S21.74 17.67 21.71 17.5L22.77 16.68C22.86 16.6 22.89 16.47 22.83 16.36L21.83 14.63C21.77 14.5 21.64 14.5 21.5 14.5L20.28 15C20 14.82 19.74 14.65 19.43 14.53L19.24 13.21C19.23 13.09 19.12 13 19 13H17C16.88 13 16.77 13.09 16.75 13.21L16.56 14.53C16.26 14.66 15.97 14.82 15.71 15L14.47 14.5C14.36 14.5 14.23 14.5 14.16 14.63L13.16 16.36C13.1 16.47 13.12 16.6 13.22 16.68L14.28 17.5C14.26 17.67 14.25 17.83 14.25 18S14.26 18.33 14.28 18.5L13.22 19.32C13.13 19.4 13.1 19.53 13.16 19.64L14.16 21.37C14.22 21.5 14.35 21.5 14.47 21.5L15.71 21C15.97 21.18 16.25 21.35 16.56 21.47L16.75 22.79C16.77 22.91 16.87 23 17 23H19C19.12 23 19.23 22.91 19.25 22.79L19.44 21.47C19.74 21.34 20 21.18 20.28 21L21.5 21.5C21.64 21.5 21.77 21.5 21.84 21.37L22.84 19.64C22.9 19.53 22.87 19.4 22.78 19.32M18 19.5C17.17 19.5 16.5 18.83 16.5 18S17.18 16.5 18 16.5 19.5 17.17 19.5 18 18.84 19.5 18 19.5Z\";\r\nexport var mdiTableColumn = \"M8,2H16A2,2 0 0,1 18,4V20A2,2 0 0,1 16,22H8A2,2 0 0,1 6,20V4A2,2 0 0,1 8,2M8,10V14H16V10H8M8,16V20H16V16H8M8,4V8H16V4H8Z\";\r\nexport var mdiTableColumnPlusAfter = \"M11,2A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H2V2H11M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M15,11H18V8H20V11H23V13H20V16H18V13H15V11Z\";\r\nexport var mdiTableColumnPlusBefore = \"M13,2A2,2 0 0,0 11,4V20A2,2 0 0,0 13,22H22V2H13M20,10V14H13V10H20M20,16V20H13V16H20M20,4V8H13V4H20M9,11H6V8H4V11H1V13H4V16H6V13H9V11Z\";\r\nexport var mdiTableColumnRemove = \"M4,2H11A2,2 0 0,1 13,4V20A2,2 0 0,1 11,22H4A2,2 0 0,1 2,20V4A2,2 0 0,1 4,2M4,10V14H11V10H4M4,16V20H11V16H4M4,4V8H11V4H4M17.59,12L15,9.41L16.41,8L19,10.59L21.59,8L23,9.41L20.41,12L23,14.59L21.59,16L19,13.41L16.41,16L15,14.59L17.59,12Z\";\r\nexport var mdiTableColumnWidth = \"M5,8H19A2,2 0 0,1 21,10V20A2,2 0 0,1 19,22H5A2,2 0 0,1 3,20V10A2,2 0 0,1 5,8M5,12V15H11V12H5M13,12V15H19V12H13M5,17V20H11V17H5M13,17V20H19V17H13M11,2H21V6H19V4H13V6H11V2Z\";\r\nexport var mdiTableEdit = \"M21.7,13.35L20.7,14.35L18.65,12.3L19.65,11.3C19.86,11.08 20.21,11.08 20.42,11.3L21.7,12.58C21.92,12.79 21.92,13.14 21.7,13.35M12,18.94L18.07,12.88L20.12,14.93L14.06,21H12V18.94M4,2H18A2,2 0 0,1 20,4V8.17L16.17,12H12V16.17L10.17,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,6V10H10V6H4M12,6V10H18V6H12M4,12V16H10V12H4Z\";\r\nexport var mdiTableEye = \"M17 16.88C17.56 16.88 18 17.32 18 17.88S17.56 18.88 17 18.88 16 18.43 16 17.88 16.44 16.88 17 16.88M17 13.88C19.73 13.88 22.06 15.54 23 17.88C22.06 20.22 19.73 21.88 17 21.88S11.94 20.22 11 17.88C11.94 15.54 14.27 13.88 17 13.88M17 15.38C15.62 15.38 14.5 16.5 14.5 17.88S15.62 20.38 17 20.38 19.5 19.26 19.5 17.88 18.38 15.38 17 15.38M18 3H4C2.9 3 2 3.9 2 5V17C2 18.1 2.9 19 4 19H9.42C9.26 18.68 9.12 18.34 9 18C9.12 17.66 9.26 17.32 9.42 17H4V13H10V15.97C10.55 15.11 11.23 14.37 12 13.76V13H13.15C14.31 12.36 15.62 12 17 12C18.06 12 19.07 12.21 20 12.59V5C20 3.9 19.1 3 18 3M10 11H4V7H10V11M18 11H12V7H18V11Z\";\r\nexport var mdiTableEyeOff = \"M12 8.8L6.2 3H18C19.1 3 20 3.9 20 5V12.59C19.07 12.21 18.06 12 17 12C16.45 12 15.91 12.07 15.38 12.18L14.2 11H18V7H12V8.8M17.09 13.89L22.31 19.11C22.58 18.73 22.82 18.32 23 17.88C22.07 15.57 19.78 13.92 17.09 13.89M22.11 21.46L20.84 22.73L19.5 21.37C18.71 21.69 17.88 21.88 17 21.88C14.27 21.88 11.94 20.22 11 17.88C11.45 16.76 12.23 15.8 13.21 15.1L11.93 13.82C11.19 14.42 10.53 15.14 10 15.97V13H4V17H9.42C9.26 17.32 9.12 17.66 9 18C9.12 18.34 9.26 18.68 9.42 19H4C2.9 19 2 18.1 2 17V5C2 4.68 2.08 4.38 2.22 4.11L1.11 3L2.39 1.73L22.11 21.46M9.11 11L5.11 7H4V11H9.11M18.18 20.07L14.81 16.7C14.61 17.05 14.5 17.45 14.5 17.88C14.5 19.26 15.62 20.38 17 20.38C17.43 20.38 17.83 20.27 18.18 20.07Z\";\r\nexport var mdiTableFilter = \"M17 21L18.8 22.77C19.3 23.27 20 22.87 20 22.28V18L22.8 14.6C23.3 13.9 22.8 13 22 13H15C14.2 13 13.7 14 14.2 14.6L17 18V21M12 11H20V3C20 1.9 19.11 1 18 1H4C2.9 1 2 1.9 2 3V15C2 16.11 2.9 17 4 17H13.42L12 15V11M12 5H18V9H12V5M10 15H4V11H10V15M10 9H4V5H10V9Z\";\r\nexport var mdiTableFurniture = \"M2 7H22V10H20L21 19H18.5L17.94 14H6.06L5.5 19H3L4 10H2V7M17.5 10H6.5L6.29 12H17.71L17.5 10Z\";\r\nexport var mdiTableHeadersEye = \"M1 6V19A2 2 0 0 0 3 21H9V11H21V6A2 2 0 0 0 19 4H3A2 2 0 0 0 1 6M3 6H7V9H3M7 19H3V16H7M7 14H3V11H7M9 9V6H13V9M19 9H15V6H19M17 16A1 1 0 1 1 16 17A1 1 0 0 1 17 16M17 13A6.45 6.45 0 0 1 23 17A6.5 6.5 0 0 1 11 17A6.45 6.45 0 0 1 17 13M17 14.5A2.5 2.5 0 1 0 19.5 17A2.5 2.5 0 0 0 17 14.5\";\r\nexport var mdiTableHeadersEyeOff = \"M2.38 1.73L1.11 3L2.26 4.15A2 2 0 0 0 1 6V19A2 2 0 0 0 3 21H9V11H9.11L12.72 14.61A6.21 6.21 0 0 0 11 17A6.45 6.45 0 0 0 17 21A6.55 6.55 0 0 0 18.84 20.73L20.84 22.73L22.11 21.46L20.58 19.93M7 19H3V16H7M7 14H3V11H7M7 9H3V6H4.11L7 8.89M17 19.5A2.5 2.5 0 0 1 14.56 16.45L17.56 19.45A2.5 2.5 0 0 1 17 19.5M16.24 13L17.85 14.61A2.5 2.5 0 0 1 19.35 16.11L21.94 18.7A6.44 6.44 0 0 0 23 17A6.45 6.45 0 0 0 17 13H16.24M13 6V9H12.2L14.2 11H21V6A2 2 0 0 0 19 4H7.2L9.2 6M15 6H19V9H15Z\";\r\nexport var mdiTableHeart = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M19 22.3L18.4 21.8C16.4 19.9 15 18.7 15 17.2C15 16 16 15 17.2 15C17.9 15 18.6 15.3 19 15.8C19.4 15.3 20.1 15 20.8 15C22 15 23 15.9 23 17.2C23 18.7 21.6 19.9 19.6 21.8L19 22.3\";\r\nexport var mdiTableKey = \"M16.8 17C16.4 15.8 15.3 15 14 15C12.3 15 11 16.3 11 18S12.3 21 14 21C15.3 21 16.4 20.2 16.8 19H19V21H21V19H23V17H16.8M14 19C13.4 19 13 18.5 13 18S13.4 17 14 17 15 17.5 15 18 14.6 19 14 19M9 18H4V14H10V15C10.9 13.8 12.4 13 14 13C15.1 13 16.1 13.4 17 14H18V15H20V6C20 4.9 19.1 4 18 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H9.4C9.1 19.4 9 18.7 9 18M12 8H18V12H12V8M4 8H10V12H4V8Z\";\r\nexport var mdiTableLarge = \"M4,3H20A2,2 0 0,1 22,5V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V5A2,2 0 0,1 4,3M4,7V10H8V7H4M10,7V10H14V7H10M20,10V7H16V10H20M4,12V15H8V12H4M4,20H8V17H4V20M10,12V15H14V12H10M10,20H14V17H10V20M20,20V17H16V20H20M20,12H16V15H20V12Z\";\r\nexport var mdiTableLargePlus = \"M12.35 20H10V17H12.09C12.21 16.28 12.46 15.61 12.81 15H10V12H14V13.54C14.58 13 15.25 12.61 16 12.35V12H20V12.35C20.75 12.61 21.42 13 22 13.54V5C22 3.9 21.1 3 20 3H4C2.9 3 2 3.9 2 5V20C2 21.1 2.9 22 4 22H13.54C13 21.42 12.61 20.75 12.35 20M16 7H20V10H16V7M10 7H14V10H10V7M8 20H4V17H8V20M8 15H4V12H8V15M8 10H4V7H8V10M17 14H19V17H22V19H19V22H17V19H14V17H17V14\";\r\nexport var mdiTableLargeRemove = \"M12.35 20H10V17H12.09C12.21 16.28 12.46 15.61 12.81 15H10V12H14V13.54C14.58 13 15.25 12.61 16 12.35V12H20V12.35C20.75 12.61 21.42 13 22 13.54V5C22 3.9 21.1 3 20 3H4C2.9 3 2 3.9 2 5V20C2 21.1 2.9 22 4 22H13.54C13 21.42 12.61 20.75 12.35 20M16 7H20V10H16V7M10 7H14V10H10V7M8 20H4V17H8V20M8 15H4V12H8V15M8 10H4V7H8V10M14.46 15.88L15.88 14.46L18 16.59L20.12 14.46L21.54 15.88L19.41 18L21.54 20.12L20.12 21.54L18 19.41L15.88 21.54L14.46 20.12L16.59 18L14.46 15.88\";\r\nexport var mdiTableLock = \"M21 16V15.5C21 14.12 19.88 13 18.5 13S16 14.12 16 15.5V16C15.45 16 15 16.45 15 17V21C15 21.55 15.45 22 16 22H21C21.55 22 22 21.55 22 21V17C22 16.45 21.55 16 21 16M20 16H17V15.5C17 14.67 17.67 14 18.5 14S20 14.67 20 15.5V16M13 18H12V14H14.26C14.54 13.21 15.04 12.5 15.69 12H12V8H18V11.05C18.17 11.03 18.33 11 18.5 11C19.03 11 19.53 11.1 20 11.26V6C20 4.89 19.11 4 18 4H4C2.9 4 2 4.89 2 6V18C2 19.11 2.9 20 4 20H13V18M10 18H4V14H10V18M10 12H4V8H10V12Z\";\r\nexport var mdiTableMergeCells = \"M5,10H3V4H11V6H5V10M19,18H13V20H21V14H19V18M5,18V14H3V20H11V18H5M21,4H13V6H19V10H21V4M8,13V15L11,12L8,9V11H3V13H8M16,11V9L13,12L16,15V13H21V11H16Z\";\r\nexport var mdiTableMinus = \"M15 19V17H23V19H15M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\r\nexport var mdiTableMultiple = \"M7 2H21C22.11 2 23 2.9 23 4V16C23 17.11 22.11 18 21 18H7C5.9 18 5 17.11 5 16V4C5 2.9 5.9 2 7 2M7 6V10H13V6H7M15 6V10H21V6H15M7 12V16H13V12H7M15 12V16H21V12H15M3 20V6H1V20C1 21.11 1.89 22 3 22H19V20H3Z\";\r\nexport var mdiTableNetwork = \"M15 20C15 19.45 14.55 19 14 19H13V17H19C20.11 17 21 16.11 21 15V3C21 1.9 20.11 1 19 1H5C3.9 1 3 1.9 3 3V15C3 16.11 3.9 17 5 17H11V19H10C9.45 19 9 19.45 9 20H2V22H9C9 22.55 9.45 23 10 23H14C14.55 23 15 22.55 15 22H22V20H15M13 5H19V9H13V5M13 11H19V15H13V11M5 5H11V9H5V5M5 15V11H11V15H5Z\";\r\nexport var mdiTableOfContents = \"M3,9H17V7H3V9M3,13H17V11H3V13M3,17H17V15H3V17M19,17H21V15H19V17M19,7V9H21V7H19M19,13H21V11H19V13Z\";\r\nexport var mdiTableOff = \"M22.11 21.46L2.39 1.73L1.11 3L3.22 5.11C3.08 5.38 3 5.68 3 6V18C3 19.11 3.9 20 5 20H18.11L20.84 22.73L22.11 21.46M10.11 12H5V8H6.11L10.11 12M11 18H5V14H11V18M13 18V14.89L16.11 18H13M13 9.8L7.2 4H19C20.11 4 21 4.89 21 6V17.8L19 15.8V14H17.2L15.2 12H19V8H13V9.8Z\";\r\nexport var mdiTablePicnic = \"M4 6H20V9H18L18.22 11H23V13H18.44L19 18H16.5L15.94 13H8.06L7.5 18H5L5.56 13H1V11H5.78L6 9H4M15.5 9H8.5L8.29 11H15.71Z\";\r\nexport var mdiTablePivot = \"M22 15H20V18C20 19.11 19.11 20 18 20H15V22L12 19L15 16V18H18V15H16L19 12L22 15M22 4V8C22 9.1 21.1 10 20 10H10V20C10 21.1 9.1 22 8 22H4C2.9 22 2 21.1 2 20V4C2 2.9 2.9 2 4 2H20C21.1 2 22 2.9 22 4M4 8H8V4H4V8M4 10V14H8V10H4M8 20V16H4V20L8 20M14 8V4H10V8H14M20 4L20 4H16V8H20L20 4Z\";\r\nexport var mdiTablePlus = \"M18,14H20V17H23V19H20V22H18V19H15V17H18V14M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\";\r\nexport var mdiTableQuestion = \"M19.5 20.5V22H18V20.5H19.5M17.5 15.5H16V15C16 13.34 17.34 12 19 12S22 13.34 22 15C22 15.97 21.5 16.88 20.71 17.41L20.41 17.6C19.84 18 19.5 18.61 19.5 19.3V19.5H18V19.3C18 18.11 18.6 17 19.59 16.35L19.88 16.16C20.27 15.9 20.5 15.47 20.5 15C20.5 14.17 19.83 13.5 19 13.5S17.5 14.17 17.5 15V15.5M18 3H4C2.9 3 2 3.9 2 5V17C2 18.1 2.9 19 4 19H14V17H12V13H14.42C14.78 12.2 15.34 11.5 16.03 11H12V7H18V10.1C18.32 10.04 18.66 10 19 10S19.68 10.04 20 10.1V5C20 3.9 19.11 3 18 3M10 17H4V13H10V17M10 11H4V7H10V11Z\";\r\nexport var mdiTableRefresh = \"M18 14.5C19.11 14.5 20.11 14.95 20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5C15.5 19.88 16.62 21 18 21C18.82 21 19.55 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5C14 16.29 15.79 14.5 18 14.5M4 3H18C19.11 3 20 3.9 20 5V12.17C19.5 12.06 19 12 18.5 12C17.23 12 16.04 12.37 15.04 13H12V17H12.18C12.06 17.5 12 18 12 18.5L12 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\r\nexport var mdiTableRemove = \"M15.46,15.88L16.88,14.46L19,16.59L21.12,14.46L22.54,15.88L20.41,18L22.54,20.12L21.12,21.54L19,19.41L16.88,21.54L15.46,20.12L17.59,18L15.46,15.88M4,3H18A2,2 0 0,1 20,5V12.08C18.45,11.82 16.92,12.18 15.68,13H12V17H13.08C12.97,17.68 12.97,18.35 13.08,19H4A2,2 0 0,1 2,17V5A2,2 0 0,1 4,3M4,7V11H10V7H4M12,7V11H18V7H12M4,13V17H10V13H4Z\";\r\nexport var mdiTableRow = \"M22,14A2,2 0 0,1 20,16H4A2,2 0 0,1 2,14V10A2,2 0 0,1 4,8H20A2,2 0 0,1 22,10V14M4,14H8V10H4V14M10,14H14V10H10V14M16,14H20V10H16V14Z\";\r\nexport var mdiTableRowHeight = \"M3,5H15A2,2 0 0,1 17,7V17A2,2 0 0,1 15,19H3A2,2 0 0,1 1,17V7A2,2 0 0,1 3,5M3,9V12H8V9H3M10,9V12H15V9H10M3,14V17H8V14H3M10,14V17H15V14H10M23,14V7H19V9H21V12H19V14H23Z\";\r\nexport var mdiTableRowPlusAfter = \"M22,10A2,2 0 0,1 20,12H4A2,2 0 0,1 2,10V3H4V5H8V3H10V5H14V3H16V5H20V3H22V10M4,10H8V7H4V10M10,10H14V7H10V10M20,10V7H16V10H20M11,14H13V17H16V19H13V22H11V19H8V17H11V14Z\";\r\nexport var mdiTableRowPlusBefore = \"M22,14A2,2 0 0,0 20,12H4A2,2 0 0,0 2,14V21H4V19H8V21H10V19H14V21H16V19H20V21H22V14M4,14H8V17H4V14M10,14H14V17H10V14M20,14V17H16V14H20M11,10H13V7H16V5H13V2H11V5H8V7H11V10Z\";\r\nexport var mdiTableRowRemove = \"M9.41,13L12,15.59L14.59,13L16,14.41L13.41,17L16,19.59L14.59,21L12,18.41L9.41,21L8,19.59L10.59,17L8,14.41L9.41,13M22,9A2,2 0 0,1 20,11H4A2,2 0 0,1 2,9V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V9M4,9H8V6H4V9M10,9H14V6H10V9M16,9H20V6H16V9Z\";\r\nexport var mdiTableSearch = \"M19.3,17.89C20.62,15.79 20,13 17.89,11.68C15.79,10.36 13,11 11.68,13.09C10.36,15.2 11,18 13.09,19.3C14.56,20.22 16.42,20.22 17.89,19.3L21,22.39L22.39,21L19.3,17.89M17.3,17.27C16.32,18.25 14.74,18.24 13.76,17.27C12.79,16.29 12.79,14.71 13.77,13.73C14.74,12.76 16.32,12.76 17.3,13.73C18.26,14.72 18.25,16.3 17.27,17.27H17.3M19,4H5A2,2 0 0,0 3,6V18A2,2 0 0,0 5,20H10.81C10.25,19.42 9.8,18.74 9.5,18H5V14H9.18C9.34,13.29 9.61,12.61 10,12H5V8H11V10.81C11.58,10.25 12.26,9.8 13,9.5V8H19V10C19.4,10.25 19.77,10.55 20.1,10.88C20.44,11.22 20.74,11.59 21,12V6A2,2 0 0,0 19,4Z\";\r\nexport var mdiTableSettings = \"M7,22H9V24H7V22M11,22H13V24H11V22M15,22H17V24H15V22M5,4H19A2,2 0 0,1 21,6V18A2,2 0 0,1 19,20H5A2,2 0 0,1 3,18V6A2,2 0 0,1 5,4M5,8V12H11V8H5M13,8V12H19V8H13M5,14V18H11V14H5M13,14V18H19V14H13Z\";\r\nexport var mdiTableSplitCell = \"M19 14H21V20H3V14H5V18H19V14M3 4V10H5V6H19V10H21V4H3M11 11V13H8V15L5 12L8 9V11H11M16 11V9L19 12L16 15V13H13V11H16Z\";\r\nexport var mdiTableStar = \"M4 3H18C19.11 3 20 3.9 20 5V12.08C18.45 11.82 16.92 12.18 15.68 13H12V17H13.08C12.97 17.68 12.97 18.35 13.08 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4M16.5 21.6L17.2 18.8L15 16.9L17.9 16.7L19 14L20.1 16.6L23 16.8L20.8 18.7L21.5 21.5L19 20.1L16.5 21.6Z\";\r\nexport var mdiTableSync = \"M19 12V13.5C21.21 13.5 23 15.29 23 17.5C23 18.32 22.76 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12M19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5L21.25 20.75L19 23M4 3H18C19.11 3 20 3.9 20 5V11L19.5 11C17.66 11 16 11.77 14.81 13H12V17H13L13 17.5C13 18 13.06 18.5 13.17 19H4C2.9 19 2 18.11 2 17V5C2 3.9 2.9 3 4 3M4 7V11H10V7H4M12 7V11H18V7H12M4 13V17H10V13H4Z\";\r\nexport var mdiTableTennis = \"M18.5,14C19.9,14 21,15.1 21,16.5C21,17.9 19.9,19 18.5,19C17.1,19 16,17.9 16,16.5C16,15.1 17.1,14 18.5,14M7,15C7,15 8,16 8,17V20.5C8,21.3 8.7,22 9.5,22C10.3,22 11,21.3 11,20.5V17C11,16 12,15 12,15H7M8,14H11C11,14 16,14 16,9C16,4 12,2 9.5,2C7,2 3,4 3,9C3,14 8,14 8,14Z\";\r\nexport var mdiTablet = \"M19,18H5V6H19M21,4H3C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18V6C23,4.89 22.1,4 21,4Z\";\r\nexport var mdiTabletCellphone = \"M3,4H20A2,2 0 0,1 22,6V8H18V6H5V18H14V20H3A2,2 0 0,1 1,18V6A2,2 0 0,1 3,4M17,10H23A1,1 0 0,1 24,11V21A1,1 0 0,1 23,22H17A1,1 0 0,1 16,21V11A1,1 0 0,1 17,10M18,12V19H22V12H18Z\";\r\nexport var mdiTabletDashboard = \"M19,18H5V6H19M21,4H3C1.89,4 1,4.89 1,6V18A2,2 0 0,0 3,20H21A2,2 0 0,0 23,18V6C23,4.89 22.1,4 21,4M7,8H13V13H7V8M14,8H17V10H14V8M17,11V16H14V11H17M7,14H13V16H7V14Z\";\r\nexport var mdiTaco = \"M19,18H5A4,4 0 0,1 1,14A8,8 0 0,1 9,6C10.06,6 11.07,6.21 12,6.58C12.93,6.21 13.94,6 15,6A8,8 0 0,1 23,14A4,4 0 0,1 19,18M3,14A2,2 0 0,0 5,16A2,2 0 0,0 7,14C7,11.63 8.03,9.5 9.67,8.04L9,8A6,6 0 0,0 3,14M19,16A2,2 0 0,0 21,14A6,6 0 0,0 15,8A6,6 0 0,0 9,14C9,14.73 8.81,15.41 8.46,16H19Z\";\r\nexport var mdiTag = \"M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4C2.89,2 2,2.89 2,4V11C2,11.55 2.22,12.05 2.59,12.41L11.58,21.41C11.95,21.77 12.45,22 13,22C13.55,22 14.05,21.77 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.44 21.77,11.94 21.41,11.58Z\";\r\nexport var mdiTagArrowDown = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M7 19V15H5V19H3L6 22L9 19H7Z\";\r\nexport var mdiTagArrowDownOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M8 18V14H6V18H4L7 21L10 18H8Z\";\r\nexport var mdiTagArrowLeft = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M5 19H9V17H5V15L2 18L5 21V19Z\";\r\nexport var mdiTagArrowLeftOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M5 19H9V17H5V15L2 18L5 21V19Z\";\r\nexport var mdiTagArrowRight = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M6 17H2V19H6V21L9 18L6 15V17Z\";\r\nexport var mdiTagArrowRightOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6 17H2V19H6V21L9 18L6 15V17Z\";\r\nexport var mdiTagArrowUp = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M5 17V21H7V17H9L6 14L3 17H5Z\";\r\nexport var mdiTagArrowUpOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6 17V21H8V17H10L7 14L4 17H6Z\";\r\nexport var mdiTagCheck = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.41L3 12.81C3.9 12.27 4.94 12 6 12C9.31 12 12 14.69 12 18C12 19.06 11.72 20.09 11.18 21L11.58 21.4C11.95 21.78 12.47 22 13 22S14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13S21.79 11.96 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M8.63 14.27L4.76 18.17L3.41 16.8L2 18.22L4.75 21L10.03 15.68L8.63 14.27\";\r\nexport var mdiTagCheckOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M8.63 14.27L4.76 18.17L3.41 16.8L2 18.22L4.75 21L10.03 15.68L8.63 14.27\";\r\nexport var mdiTagEdit = \"M12.41 2.58L21.41 11.58C21.77 11.94 22 12.44 22 13C22 13.55 21.78 14.05 21.41 14.41L14.41 21.41C14.05 21.77 13.55 22 13 22C12.45 22 11.95 21.77 11.58 21.41L9.45 19.28L10.7 18.03L10.7 18.04L13.11 15.62C14.11 14.63 14.11 13 13.11 12L11.83 10.74C10.84 9.75 9.23 9.75 8.24 10.74L8.07 10.91L8.06 10.91L4.57 14.4L2.59 12.41C2.22 12.05 2 11.55 2 11V4C2 2.89 2.89 2 4 2H11C11.55 2 12.05 2.22 12.41 2.58M4.44 6.56C4.72 6.84 5.1 7 5.5 7C5.9 7 6.28 6.84 6.56 6.56C6.84 6.28 7 5.9 7 5.5C7 5.1 6.84 4.72 6.56 4.44C6.28 4.16 5.9 4 5.5 4C5.1 4 4.72 4.16 4.44 4.44C4.16 4.72 4 5.1 4 5.5C4 5.9 4.16 6.28 4.44 6.56M10.7 15.35L11.7 14.35C11.91 14.14 11.91 13.79 11.7 13.58L10.42 12.3C10.21 12.09 9.86 12.09 9.65 12.3L8.65 13.3L10.7 15.35M8.06 13.88L2 19.94V22H4.06L10.11 15.93L8.06 13.88Z\";\r\nexport var mdiTagEditOutline = \"M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V11C2 11.26 2.05 11.53 2.15 11.77C2.25 12 2.4 12.23 2.59 12.42L4.57 14.4L6 13L4 11V4H11L20 13L13 20L10.87 17.87L10.7 18.04L10.7 18.03L9.45 19.28L11.59 21.42C11.97 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.74 21.95 12.5 21.85 12.23C21.75 12 21.6 11.77 21.41 11.58M6.5 5C6.8 5 7.09 5.09 7.33 5.25C7.58 5.42 7.77 5.65 7.89 5.93C8 6.2 8.03 6.5 7.97 6.79C7.91 7.08 7.77 7.35 7.56 7.56C7.35 7.77 7.08 7.91 6.79 7.97C6.5 8.03 6.2 8 5.93 7.89C5.65 7.77 5.42 7.58 5.25 7.33C5.09 7.09 5 6.8 5 6.5C5 6.1 5.16 5.72 5.44 5.44C5.72 5.16 6.1 5 6.5 5M10.7 15.35L11.7 14.35C11.91 14.14 11.91 13.79 11.7 13.58L10.42 12.3C10.21 12.09 9.86 12.09 9.65 12.3L8.65 13.3L10.7 15.35M8.06 13.88L2 19.94V22H4.06L10.11 15.93L8.06 13.88Z\";\r\nexport var mdiTagFaces = \"M15,18C11.68,18 9,15.31 9,12C9,8.68 11.68,6 15,6A6,6 0 0,1 21,12A6,6 0 0,1 15,18M4,13A1,1 0 0,1 3,12A1,1 0 0,1 4,11A1,1 0 0,1 5,12A1,1 0 0,1 4,13M22,3H7.63C6.97,3 6.38,3.32 6,3.81L0,12L6,20.18C6.38,20.68 6.97,21 7.63,21H22A2,2 0 0,0 24,19V5C24,3.89 23.1,3 22,3M13,11A1,1 0 0,0 14,10A1,1 0 0,0 13,9A1,1 0 0,0 12,10A1,1 0 0,0 13,11M15,16C16.86,16 18.35,14.72 18.8,13H11.2C11.65,14.72 13.14,16 15,16M17,11A1,1 0 0,0 18,10A1,1 0 0,0 17,9A1,1 0 0,0 16,10A1,1 0 0,0 17,11Z\";\r\nexport var mdiTagHeart = \"M21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4A2,2 0 0,0 2,4V11C2,11.55 2.22,12.05 2.59,12.42L11.59,21.42C11.95,21.78 12.45,22 13,22C13.55,22 14.05,21.78 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.45 21.77,11.94 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M17.27,15.27L13,19.54L8.73,15.27C8.28,14.81 8,14.19 8,13.5A2.5,2.5 0 0,1 10.5,11C11.19,11 11.82,11.28 12.27,11.74L13,12.46L13.73,11.73C14.18,11.28 14.81,11 15.5,11A2.5,2.5 0 0,1 18,13.5C18,14.19 17.72,14.82 17.27,15.27Z\";\r\nexport var mdiTagHeartOutline = \"M4,2A2,2 0 0,0 2,4V11C2,11.55 2.22,12.05 2.59,12.42L11.59,21.42C11.95,21.78 12.45,22 13,22C13.55,22 14.05,21.78 14.41,21.41L21.41,14.41C21.78,14.05 22,13.55 22,13C22,12.45 21.77,11.94 21.41,11.58L12.41,2.58C12.05,2.22 11.55,2 11,2H4V2M11,4L20,13L13,20L4,11V4H11V4H11M6.5,5A1.5,1.5 0 0,0 5,6.5A1.5,1.5 0 0,0 6.5,8A1.5,1.5 0 0,0 8,6.5A1.5,1.5 0 0,0 6.5,5M10.95,10.5C9.82,10.5 8.9,11.42 8.9,12.55C8.9,13.12 9.13,13.62 9.5,14L13,17.5L16.5,14C16.87,13.63 17.1,13.11 17.1,12.55A2.05,2.05 0 0,0 15.05,10.5C14.5,10.5 13.97,10.73 13.6,11.1L13,11.7L12.4,11.11C12.03,10.73 11.5,10.5 10.95,10.5Z\";\r\nexport var mdiTagHidden = \"M13.64 3.81L12.41 2.58C12.04 2.21 11.53 2 11 2H10V4H11L12.23 5.23L13.64 3.81M12.93 5.93L14.35 4.5L16.47 6.64L15.05 8.05L12.93 5.93M4 11L5.23 12.23L3.81 13.64L2.59 12.42C2.4 12.23 2.25 12 2.15 11.77C2.05 11.53 2 11.26 2 11V10H4V11M4.5 14.35L5.93 12.93L8.05 15.05L6.64 16.47L4.5 14.35M9.47 19.3L7.35 17.18L8.76 15.76L10.88 17.88L9.47 19.3M15.76 8.76L17.88 10.88L19.3 9.47L17.18 7.35L15.76 8.76M18.59 11.59L20 10.17L21.41 11.58C21.6 11.77 21.75 12 21.85 12.23C21.95 12.5 22 12.74 22 13C22 13.53 21.79 14.04 21.41 14.41L18.59 11.59M20.7 15.12L19.29 13.71L16.85 16.15L18.26 17.56L20.7 15.12M16.15 16.85L17.56 18.26L15.12 20.7L13.71 19.29L16.15 16.85M14.41 21.41L11.59 18.59L10.17 20L11.59 21.42C11.97 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41M4 9H2V6H4V9M2 5H4V4H5V2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V5M6 4V2H9V4H6M6.5 8C7.33 8 8 7.33 8 6.5C8 5.67 7.33 5 6.5 5C5.67 5 5 5.67 5 6.5C5 7.33 5.67 8 6.5 8Z\";\r\nexport var mdiTagMinus = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M10,19H2V17H10V19Z\";\r\nexport var mdiTagMinusOutline = \"M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M21.41 11.58L12.41 2.58C12.04 2.21 11.53 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.53 2.21 12.04 2.59 12.42L3 12.82C3.64 12.44 4.35 12.19 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92C11.82 19.66 11.56 20.36 11.18 21L11.59 21.41C11.96 21.79 12.47 22 13 22C13.53 22 14.04 21.79 14.41 21.41L21.41 14.41C21.79 14.04 22 13.53 22 13C22 12.47 21.79 11.96 21.41 11.58M6.5 5C5.67 5 5 5.67 5 6.5S5.67 8 6.5 8 8 7.33 8 6.5 7.33 5 6.5 5M10 19H2V17H10V19Z\";\r\nexport var mdiTagMultiple = \"M5.5,9A1.5,1.5 0 0,0 7,7.5A1.5,1.5 0 0,0 5.5,6A1.5,1.5 0 0,0 4,7.5A1.5,1.5 0 0,0 5.5,9M17.41,11.58C17.77,11.94 18,12.44 18,13C18,13.55 17.78,14.05 17.41,14.41L12.41,19.41C12.05,19.77 11.55,20 11,20C10.45,20 9.95,19.78 9.58,19.41L2.59,12.42C2.22,12.05 2,11.55 2,11V6C2,4.89 2.89,4 4,4H9C9.55,4 10.05,4.22 10.41,4.58L17.41,11.58M13.54,5.71L14.54,4.71L21.41,11.58C21.78,11.94 22,12.45 22,13C22,13.55 21.78,14.05 21.42,14.41L16.04,19.79L15.04,18.79L20.75,13L13.54,5.71Z\";\r\nexport var mdiTagMultipleOutline = \"M6.5 10C7.3 10 8 9.3 8 8.5S7.3 7 6.5 7 5 7.7 5 8.5 5.7 10 6.5 10M9 6L16 13L11 18L4 11V6H9M9 4H4C2.9 4 2 4.9 2 6V11C2 11.6 2.2 12.1 2.6 12.4L9.6 19.4C9.9 19.8 10.4 20 11 20S12.1 19.8 12.4 19.4L17.4 14.4C17.8 14 18 13.5 18 13C18 12.4 17.8 11.9 17.4 11.6L10.4 4.6C10.1 4.2 9.6 4 9 4M13.5 5.7L14.5 4.7L21.4 11.6C21.8 12 22 12.5 22 13S21.8 14.1 21.4 14.4L16 19.8L15 18.8L20.7 13L13.5 5.7Z\";\r\nexport var mdiTagOff = \"M18.33 8.5L22.92 3.92L21.5 2.5L2.5 21.5L3.92 22.92L8.5 18.33L11.58 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M5.61 15.43L15.47 5.65L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.41M5.5 4A1.5 1.5 0 1 1 4 5.5A1.5 1.5 0 0 1 5.5 4Z\";\r\nexport var mdiTagOffOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M18.33 8.5L22.92 3.92L21.5 2.5L2.5 21.5L3.92 22.92L8.5 18.33L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L9.92 16.92L16.92 9.92L20 13M5.61 15.43L7 14L4 11V4H11L14.06 7.06L15.47 5.66L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42M5 6.5A1.5 1.5 0 1 0 6.5 5A1.5 1.5 0 0 0 5 6.5Z\";\r\nexport var mdiTagOutline = \"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L11.59 21.42A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M13 20L4 11V4H11L20 13M6.5 5A1.5 1.5 0 1 1 5 6.5A1.5 1.5 0 0 1 6.5 5Z\";\r\nexport var mdiTagPlus = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M10,19H7V22H5V19H2V17H5V14H7V17H10V19Z\";\r\nexport var mdiTagPlusOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L3 12.82A5.62 5.62 0 0 1 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92A5.57 5.57 0 0 1 11.18 21L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M10 19H7V22H5V19H2V17H5V14H7V17H10Z\";\r\nexport var mdiTagRemove = \"M21.41,11.58L12.41,2.58C12.04,2.21 11.53,2 11,2H4A2,2 0 0,0 2,4V11C2,11.53 2.21,12.04 2.59,12.41L3,12.81C3.9,12.27 4.94,12 6,12A6,6 0 0,1 12,18C12,19.06 11.72,20.09 11.18,21L11.58,21.4C11.95,21.78 12.47,22 13,22C13.53,22 14.04,21.79 14.41,21.41L21.41,14.41C21.79,14.04 22,13.53 22,13C22,12.47 21.79,11.96 21.41,11.58M5.5,7A1.5,1.5 0 0,1 4,5.5A1.5,1.5 0 0,1 5.5,4A1.5,1.5 0 0,1 7,5.5A1.5,1.5 0 0,1 5.5,7M8.12,21.54L6,19.41L3.88,21.54L2.46,20.12L4.59,18L2.46,15.88L3.87,14.47L6,16.59L8.12,14.47L9.53,15.88L7.41,18L9.53,20.12L8.12,21.54Z\";\r\nexport var mdiTagRemoveOutline = \"M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.42L3 12.82A5.62 5.62 0 0 1 5.08 12.08L4 11V4H11L20 13L13 20L11.92 18.92A5.57 5.57 0 0 1 11.18 21L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 5A1.5 1.5 0 1 0 8 6.5A1.5 1.5 0 0 0 6.5 5M8.12 21.54L6 19.41L3.88 21.54L2.46 20.12L4.59 18L2.46 15.88L3.88 14.46L6 16.59L8.12 14.46L9.54 15.88L7.41 18L9.54 20.12Z\";\r\nexport var mdiTagSearch = \"M21.41 11.58L12.41 2.58C12.05 2.22 11.55 2 11 2H4C2.89 2 2 2.89 2 4V11C2 11.55 2.22 12.05 2.59 12.41L11.58 21.41C11.95 21.77 12.45 22 13 22S14.05 21.77 14.41 21.41L14.83 21C11.6 20.9 9 18.26 9 15C9 11.69 11.69 9 15 9C18.26 9 20.9 11.6 21 14.83L21.41 14.41C21.78 14.05 22 13.55 22 13C22 12.44 21.77 11.94 21.41 11.58M5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7M15.11 10.61C17.61 10.61 19.61 12.61 19.61 15.11C19.61 16 19.36 16.82 18.92 17.5L22 20.61L20.61 22L17.5 18.93C16.8 19.36 16 19.61 15.11 19.61C12.61 19.61 10.61 17.61 10.61 15.11S12.61 10.61 15.11 10.61M15.11 12.61C13.73 12.61 12.61 13.73 12.61 15.11S13.73 17.61 15.11 17.61 17.61 16.5 17.61 15.11 16.5 12.61 15.11 12.61\";\r\nexport var mdiTagSearchOutline = \"M22 13C22 13.53 21.79 14.04 21.41 14.41L21 14.83C20.91 11.97 18.84 9.62 16.11 9.11L11 4H4V11L9.11 16.11C9.62 18.84 11.97 20.91 14.83 21L14.41 21.41C14.04 21.79 13.53 22 13 22C12.47 22 11.97 21.79 11.59 21.42L2.59 12.42C2.21 12.04 2 11.53 2 11V4C2 2.9 2.9 2 4 2H11C11.53 2 12.04 2.21 12.41 2.58L21.41 11.58C21.79 11.96 22 12.47 22 13M5 6.5C5 7.33 5.67 8 6.5 8S8 7.33 8 6.5 7.33 5 6.5 5 5 5.67 5 6.5M15.11 10.61C12.61 10.61 10.61 12.61 10.61 15.11S12.61 19.61 15.11 19.61C16 19.61 16.8 19.36 17.5 18.93L20.61 22L22 20.61L18.92 17.5C19.36 16.82 19.61 16 19.61 15.11C19.61 12.61 17.61 10.61 15.11 10.61M15.11 12.61C16.5 12.61 17.61 13.73 17.61 15.11S16.5 17.61 15.11 17.61 12.61 16.5 12.61 15.11 13.73 12.61 15.11 12.61\";\r\nexport var mdiTagText = \"M21.41 11.58L12.41 2.58A2 2 0 0 0 11 2H4A2 2 0 0 0 2 4V11A2 2 0 0 0 2.59 12.41L11.59 21.41A2 2 0 0 0 13 22A2 2 0 0 0 14.41 21.41L21.41 14.41A2 2 0 0 0 22 13A2 2 0 0 0 21.41 11.58M6.5 8A1.5 1.5 0 1 1 8 6.5A1.5 1.5 0 0 1 6.5 8M11.59 15.41L7.59 11.41L9 10L13 14M15.59 14.41L10.09 8.91L11.5 7.5L17 13Z\";\r\nexport var mdiTagTextOutline = \"M21.4 11.6L12.4 2.6C12 2.2 11.5 2 11 2H4C2.9 2 2 2.9 2 4V11C2 11.5 2.2 12 2.6 12.4L11.6 21.4C12 21.8 12.5 22 13 22C13.5 22 14 21.8 14.4 21.4L21.4 14.4C21.8 14 22 13.5 22 13C22 12.5 21.8 12 21.4 11.6M13 20L4 11V4H11L20 13M6.5 5C7.3 5 8 5.7 8 6.5S7.3 8 6.5 8 5 7.3 5 6.5 5.7 5 6.5 5M10.1 8.9L11.5 7.5L17 13L15.6 14.4L10.1 8.9M7.6 11.4L9 10L13 14L11.6 15.4L7.6 11.4Z\";\r\nexport var mdiTailwind = \"M12 6C9.33 6 7.67 7.33 7 10C8 8.67 9.17 8.17 10.5 8.5C11.26 8.69 11.81 9.24 12.41 9.85C13.39 10.85 14.5 12 17 12C19.67 12 21.33 10.67 22 8C21 9.33 19.83 9.83 18.5 9.5C17.74 9.31 17.2 8.76 16.59 8.15C15.61 7.15 14.5 6 12 6M7 12C4.33 12 2.67 13.33 2 16C3 14.67 4.17 14.17 5.5 14.5C6.26 14.69 6.8 15.24 7.41 15.85C8.39 16.85 9.5 18 12 18C14.67 18 16.33 16.67 17 14C16 15.33 14.83 15.83 13.5 15.5C12.74 15.31 12.2 14.76 11.59 14.15C10.61 13.15 9.5 12 7 12Z\";\r\nexport var mdiTallyMark1 = \"M13 19H11V5H13V19Z\";\r\nexport var mdiTallyMark2 = \"M11 19H9V5H11V19M15 5H13V19H15V5Z\";\r\nexport var mdiTallyMark3 = \"M9 19H7V5H9V19M13 5H11V19H13V5M17 5H15V19H17V5Z\";\r\nexport var mdiTallyMark4 = \"M7 19H5V5H7V19M11 5H9V19H11V5M15 5H13V19H15V5M19 5H17V19H19V5Z\";\r\nexport var mdiTallyMark5 = \"M19 10.73V19H17V11.36L15 12V19H13V12.62L11 13.26V19H9V13.89L7 14.5V19H5V15.15L2.57 15.92L2 14L5 13.05V5H7V12.42L9 11.79V5H11V11.16L13 10.53V5H15V9.9L17 9.26V5H19V8.63L21 8L21.57 9.92L19 10.73Z\";\r\nexport var mdiTangram = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V4C22 2.9 21.1 2 20 2M18.59 4L12 10.59L5.41 4H18.59M13.41 12L16.5 8.91L19.59 12L16.5 15.09L13.41 12M14.59 16H9.41L12 13.41L14.59 16M4 5.41L10.59 12L4 18.59V5.41M11.59 20H5.41L7.41 18H13.59L11.59 20M20 20H14.41L20 14.41V20M20 9.59L17.91 7.5L20 5.41V9.59Z\";\r\nexport var mdiTank = \"M20,12H4V11H6L7,6H12L13,11H20V12M13.22,7L13.62,9H22V7H13.22M22,16A3,3 0 0,1 19,19H5A3,3 0 0,1 2,16A3,3 0 0,1 5,13H19A3,3 0 0,1 22,16M6,16A1,1 0 0,0 5,15A1,1 0 0,0 4,16A1,1 0 0,0 5,17A1,1 0 0,0 6,16M13,16A1,1 0 0,0 12,15A1,1 0 0,0 11,16A1,1 0 0,0 12,17A1,1 0 0,0 13,16M20,16A1,1 0 0,0 19,15A1,1 0 0,0 18,16A1,1 0 0,0 19,17A1,1 0 0,0 20,16Z\";\r\nexport var mdiTankerTruck = \"M20 8H15V14H2V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8M6 18.5C5.2 18.5 4.5 17.8 4.5 17S5.2 15.5 6 15.5 7.5 16.2 7.5 17 6.8 18.5 6 18.5M18 18.5C17.2 18.5 16.5 17.8 16.5 17S17.2 15.5 18 15.5 19.5 16.2 19.5 17 18.8 18.5 18 18.5M17 12V9.5H19.5L21.5 12H17M14 9.5C14 11.4 12.4 13 10.5 13H4.5C2.6 13 1 11.4 1 9.5S2.6 6 4.5 6H5V5H4V4H8V5H7V6H10.5C12.4 6 14 7.6 14 9.5Z\";\r\nexport var mdiTapeDrive = \"M12 10C13.11 10 14 10.9 14 12C14 13.11 13.11 14 12 14C10.9 14 10 13.11 10 12C10 10.9 10.9 10 12 10M5 3H19C20.11 3 21 3.9 21 5V17H16.9C18.2 15.73 19 13.96 19 12C19 8.13 15.87 5 12 5C8.13 5 5 8.13 5 12C5 15.87 8.13 19 12 19H21C21 20.11 20.11 21 19 21H5C3.9 21 3 20.11 3 19V5C3 3.9 3.9 3 5 3Z\";\r\nexport var mdiTapeMeasure = \"M9,5A7,7 0 0,1 16,12H17V15H16V19H9A7,7 0 0,1 2,12A7,7 0 0,1 9,5M9,8A4,4 0 0,0 5,12A4,4 0 0,0 9,16A4,4 0 0,0 13,12A4,4 0 0,0 9,8M17,17H22V19L22,21H20V19H17V17Z\";\r\nexport var mdiTarget = \"M11,2V4.07C7.38,4.53 4.53,7.38 4.07,11H2V13H4.07C4.53,16.62 7.38,19.47 11,19.93V22H13V19.93C16.62,19.47 19.47,16.62 19.93,13H22V11H19.93C19.47,7.38 16.62,4.53 13,4.07V2M11,6.08V8H13V6.09C15.5,6.5 17.5,8.5 17.92,11H16V13H17.91C17.5,15.5 15.5,17.5 13,17.92V16H11V17.91C8.5,17.5 6.5,15.5 6.08,13H8V11H6.09C6.5,8.5 8.5,6.5 11,6.08M12,11A1,1 0 0,0 11,12A1,1 0 0,0 12,13A1,1 0 0,0 13,12A1,1 0 0,0 12,11Z\";\r\nexport var mdiTargetAccount = \"M20.95,11H22.5V13H20.95C20.5,17.17 17.17,20.5 13,20.95V22.5H11V20.95C6.83,20.5 3.5,17.17 3.05,13H1.5V11H3.05C3.5,6.83 6.83,3.5 11,3.05V1.5H13V3.05C17.17,3.5 20.5,6.83 20.95,11M5.07,11H6.5V13H5.07C5.5,16.07 7.93,18.5 11,18.93V17.5H13V18.93C16.07,18.5 18.5,16.07 18.93,13H17.5V11H18.93C18.5,7.93 16.07,5.5 13,5.07V6.5H11V5.07C7.93,5.5 5.5,7.93 5.07,11M16,16H8V15C8,13.67 10.67,13 12,13C13.33,13 16,13.67 16,15V16M12,8A2,2 0 0,1 14,10A2,2 0 0,1 12,12A2,2 0 0,1 10,10A2,2 0 0,1 12,8Z\";\r\nexport var mdiTargetVariant = \"M22.08,11.04H20.08V4H13.05V2H11.04V4H4V11.04H2V13.05H4V20.08H11.04V22.08H13.05V20.08H20.08V13.05H22.08V11.04M18.07,18.07H13.05V16.06H11.04V18.07H6V13.05H8.03V11.04H6V6H11.04V8.03H13.05V6H18.07V11.04H16.06V13.05H18.07V18.07M13.05,12.05A1,1 0 0,1 12.05,13.05C11.5,13.05 11.04,12.6 11.04,12.05C11.04,11.5 11.5,11.04 12.05,11.04C12.6,11.04 13.05,11.5 13.05,12.05Z\";\r\nexport var mdiTaxi = \"M5,11L6.5,6.5H17.5L19,11M17.5,16A1.5,1.5 0 0,1 16,14.5A1.5,1.5 0 0,1 17.5,13A1.5,1.5 0 0,1 19,14.5A1.5,1.5 0 0,1 17.5,16M6.5,16A1.5,1.5 0 0,1 5,14.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 8,14.5A1.5,1.5 0 0,1 6.5,16M18.92,6C18.72,5.42 18.16,5 17.5,5H15V3H9V5H6.5C5.84,5 5.28,5.42 5.08,6L3,12V20A1,1 0 0,0 4,21H5A1,1 0 0,0 6,20V19H18V20A1,1 0 0,0 19,21H20A1,1 0 0,0 21,20V12L18.92,6Z\";\r\nexport var mdiTea = \"M4,19H20V21H4V19M20,8V5H18V8H20M20,3C20.6,3 21,3.2 21.4,3.6C21.8,4 22,4.5 22,5V8C22,8.6 21.8,9 21.4,9.4C21,9.8 20.6,10 20,10H18V13C18,14.1 17.6,15 16.8,15.8C16,16.6 15.1,17 14,17H8C6.9,17 6,16.6 5.2,15.8C4.4,15 4,14.1 4,13V3H9V5.4L7.2,6.8C7.1,6.9 7,7.1 7,7.2V11.5C7,11.8 7.2,12 7.5,12H11.5C11.8,12 12,11.8 12,11.5V7.2C12,7 11.9,6.9 11.8,6.8L10,5.4V3H20Z\";\r\nexport var mdiTeaOutline = \"M4,19H20V21H4V19M21.4,3.6C21,3.2 20.6,3 20,3H4V13C4,14.1 4.4,15 5.2,15.8C6,16.6 6.9,17 8,17H14C15.1,17 16,16.6 16.8,15.8C17.6,15 18,14.1 18,13V10H20C20.6,10 21,9.8 21.4,9.4C21.8,9 22,8.6 22,8V5C22,4.5 21.8,4 21.4,3.6M16,5V8L16,10V13C16,13.6 15.8,14 15.4,14.4C15,14.8 14.6,15 14,15H8C7.4,15 7,14.8 6.6,14.4C6.2,14 6,13.5 6,13V5H10V6.4L8.2,7.8C8,7.9 8,8.1 8,8.2V12.5C8,12.8 8.2,13 8.5,13H12.5C12.8,13 13,12.8 13,12.5V8.2C13,8 12.9,7.9 12.8,7.8L11,6.4V5H16M20,8H18V5H20V8Z\";\r\nexport var mdiTeamviewer = \"M10.04 9.2L9.3 11H14.75L14 9.2L19.55 12L14 14.8L14.75 13H9.3L10.04 14.8L4.5 12L10.04 9.2M20.83 22H3.17C2.53 22 2 21.5 2 20.83V3.17C2 2.53 2.53 2 3.17 2H20.83C21.5 2 22 2.53 22 3.17V20.83C22 21.47 21.5 22 20.83 22M11.93 3.76C7.41 3.82 3.78 7.5 3.76 12C3.72 16.5 7.35 20.2 11.86 20.24H12C16.53 20.18 20.18 16.53 20.24 12C20.31 7.5 16.74 3.83 12.26 3.76C12.15 3.75 12.04 3.76 11.93 3.76Z\";\r\nexport var mdiTeddyBear = \"M15.75 19.13C14.92 19.13 14.25 18.29 14.25 17.25C14.25 16.22 14.92 15.38 15.75 15.38C16.58 15.38 17.25 16.22 17.25 17.25C17.25 18.29 16.58 19.13 15.75 19.13M12 11.25C10.76 11.25 9.75 10.41 9.75 9.38C9.75 8.34 10.76 7.5 12 7.5C13.24 7.5 14.25 8.34 14.25 9.38C14.25 10.41 13.24 11.25 12 11.25M8.25 19.13C7.42 19.13 6.75 18.29 6.75 17.25C6.75 16.22 7.42 15.38 8.25 15.38C9.08 15.38 9.75 16.22 9.75 17.25C9.75 18.29 9.08 19.13 8.25 19.13M12 8.25C12.41 8.25 12.75 8.59 12.75 9C12.75 9.41 12.41 9.75 12 9.75C11.59 9.75 11.25 9.41 11.25 9C11.25 8.59 11.59 8.25 12 8.25M18.75 12C18.43 12 18.12 12.07 17.84 12.2C17.36 11.59 16.71 11.07 15.93 10.67C16.5 9.87 16.84 8.9 16.84 7.85C16.84 7.83 16.84 7.81 16.84 7.79C17.93 7.56 18.75 6.59 18.75 5.42C18.75 4.09 17.66 3 16.33 3C15.64 3 15 3.29 14.58 3.75C13.83 3.28 12.95 3 12 3C11.05 3 10.16 3.28 9.42 3.75C9 3.29 8.36 3 7.67 3C6.34 3 5.25 4.09 5.25 5.42C5.25 6.58 6.07 7.55 7.15 7.79C7.15 7.81 7.15 7.83 7.15 7.85C7.15 8.9 7.5 9.88 8.06 10.67C7.29 11.07 6.64 11.59 6.16 12.2C5.88 12.07 5.57 12 5.25 12C4 12 3 13 3 14.25C3 15.5 4 16.5 5.25 16.5C5.27 16.5 5.29 16.5 5.31 16.5C5.27 16.74 5.25 17 5.25 17.25C5.25 19.32 6.59 21 8.25 21C9.26 21 10.15 20.37 10.7 19.41C11.12 19.47 11.55 19.5 12 19.5C12.45 19.5 12.88 19.47 13.3 19.41C13.85 20.37 14.74 21 15.75 21C17.41 21 18.75 19.32 18.75 17.25C18.75 17 18.73 16.74 18.69 16.5C18.71 16.5 18.73 16.5 18.75 16.5C20 16.5 21 15.5 21 14.25C21 13 20 12 18.75 12\";\r\nexport var mdiTelescope = \"M21.9,8.9L20.2,9.9L16.2,3L17.9,2L21.9,8.9M9.8,7.9L12.8,13.1L18.9,9.6L15.9,4.4L9.8,7.9M11.4,12.7L9.4,9.2L5.1,11.7L7.1,15.2L11.4,12.7M2.1,14.6L3.1,16.3L5.7,14.8L4.7,13.1L2.1,14.6M12.1,14L11.8,13.6L7.5,16.1L7.8,16.5C8,16.8 8.3,17.1 8.6,17.3L7,22H9L10.4,17.7H10.5L12,22H14L12.1,16.4C12.6,15.7 12.6,14.8 12.1,14Z\";\r\nexport var mdiTelevision = \"M21,17H3V5H21M21,3H3A2,2 0 0,0 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5A2,2 0 0,0 21,3Z\";\r\nexport var mdiTelevisionAmbientLight = \"M3 11H0V9H3V11M3 14H0V16H3V14M5 5.12L2.88 3L1.46 4.41L3.59 6.54L5 5.12M10 5V2H8V5H10M24 9H21V11H24V9M16 5V2H14V5H16M20.41 6.54L22.54 4.42L21.12 3L19 5.12L20.41 6.54M24 14H21V16H24V14M19 9V16C19 17.1 18.1 18 17 18H15V20H9V18H7C5.9 18 5 17.1 5 16V9C5 7.9 5.9 7 7 7H17C18.1 7 19 7.9 19 9M17 9H7V16H17V9M19 19.88L21.12 22L22.54 20.59L20.41 18.47L19 19.88M3.59 18.46L1.47 20.59L2.88 22L5 19.88L3.59 18.46Z\";\r\nexport var mdiTelevisionBox = \"M5,3H19A2,2 0 0,1 21,5V19A2,2 0 0,1 19,21H5A2,2 0 0,1 3,19V5A2,2 0 0,1 5,3M16,16L19,8H16.5L15,12.5L13.5,8H5V10H8V16H10V10H11.77L14,16H16Z\";\r\nexport var mdiTelevisionClassic = \"M8.16,3L6.75,4.41L9.34,7H4C2.89,7 2,7.89 2,9V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V9C22,7.89 21.11,7 20,7H14.66L17.25,4.41L15.84,3L12,6.84L8.16,3M4,9H17V19H4V9M19.5,9A1,1 0 0,1 20.5,10A1,1 0 0,1 19.5,11A1,1 0 0,1 18.5,10A1,1 0 0,1 19.5,9M19.5,12A1,1 0 0,1 20.5,13A1,1 0 0,1 19.5,14A1,1 0 0,1 18.5,13A1,1 0 0,1 19.5,12Z\";\r\nexport var mdiTelevisionClassicOff = \"M2,5.27L3.28,4L21,21.72L19.73,23L17.73,21H4C2.89,21 2,20.11 2,19V9C2,8 2.76,7.14 3.75,7L2,5.27M8.16,3L12,6.84L15.84,3L17.25,4.41L14.66,7H20C21.11,7 22,7.89 22,9V19C22,19.34 21.92,19.66 21.77,19.94L17,15.18V9H10.82L8.82,7H9.34L6.75,4.41L8.16,3M4,9V19H15.73L5.73,9H4M19.5,9A1,1 0 0,0 18.5,10A1,1 0 0,0 19.5,11A1,1 0 0,0 20.5,10A1,1 0 0,0 19.5,9M19.5,12A1,1 0 0,0 18.5,13A1,1 0 0,0 19.5,14A1,1 0 0,0 20.5,13A1,1 0 0,0 19.5,12Z\";\r\nexport var mdiTelevisionGuide = \"M21,17V5H3V17H21M21,3A2,2 0 0,1 23,5V17A2,2 0 0,1 21,19H16V21H8V19H3A2,2 0 0,1 1,17V5A2,2 0 0,1 3,3H21M5,7H11V11H5V7M5,13H11V15H5V13M13,7H19V9H13V7M13,11H19V15H13V11Z\";\r\nexport var mdiTelevisionOff = \"M0.5,2.77L1.78,1.5L21,20.72L19.73,22L16.73,19H16V21H8V19H3A2,2 0 0,1 1,17V5C1,4.5 1.17,4.07 1.46,3.73L0.5,2.77M21,17V5H7.82L5.82,3H21A2,2 0 0,1 23,5V17C23,17.85 22.45,18.59 21.7,18.87L19.82,17H21M3,17H14.73L3,5.27V17Z\";\r\nexport var mdiTelevisionPause = \"M3 3C1.89 3 1 3.89 1 5V17C1 18.1 1.9 19 3 19H8V21H16V19H21C22.1 19 23 18.1 23 17V5C23 3.89 22.1 3 21 3M3 5H21V17H3M9 8V14H11V8M13 8V14H15V8\";\r\nexport var mdiTelevisionPlay = \"M21,3H3C1.89,3 1,3.89 1,5V17A2,2 0 0,0 3,19H8V21H16V19H21A2,2 0 0,0 23,17V5C23,3.89 22.1,3 21,3M21,17H3V5H21M16,11L9,15V7\";\r\nexport var mdiTelevisionShimmer = \"M21 17H3V5H21M21 3H3C1.9 3 1 3.9 1 5V17C1 18.11 1.9 19 3 19H8V21H16V19H21C22.11 19 23 18.11 23 17V5C23 3.9 22.11 3 21 3M15 6.5L14.38 7.87L13 8.5L14.38 9.13L15 10.5L15.63 9.13L17 8.5L15.63 7.87L15 6.5M10.5 8.5L9.41 10.91L7 12L9.41 13.09L10.5 15.5L11.6 13.09L14 12L11.6 10.91L10.5 8.5\";\r\nexport var mdiTelevisionSpeaker = \"M3 3C1.9 3 1 3.9 1 5V17C1 18.1 1.9 19 3 19H8V21H12V17H3V5H21V7H23V5C23 3.9 22.1 3 21 3H3M21 9H16C14.9 9 14 9.9 14 11V20C14 21.1 14.9 22 16 22H21C22.1 22 23 21.1 23 20V11C23 9.9 22.1 9 21 9M18.5 10.5C19.3 10.5 20 11.2 20 12S19.3 13.5 18.5 13.5 17 12.8 17 12 17.7 10.5 18.5 10.5M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5C15.5 15.9 16.8 14.5 18.4 14.5H18.5C20.2 14.5 21.5 15.8 21.5 17.5S20.2 20.5 18.5 20.5M18.5 16C17.7 16 17 16.7 17 17.5S17.7 19 18.5 19 20 18.3 20 17.5 19.3 16 18.5 16Z\";\r\nexport var mdiTelevisionSpeakerOff = \"M21 9H16C15 9 14.1 9.8 14 10.8L17.8 14.6C18 14.5 18.2 14.5 18.5 14.5H18.6C20.3 14.5 21.6 15.8 21.6 17.5C21.6 17.7 21.6 18 21.5 18.2L23.1 19.8V11C23 9.9 22.1 9 21 9M18.5 13.5C17.7 13.5 17 12.8 17 12S17.7 10.5 18.5 10.5 20 11.2 20 12 19.3 13.5 18.5 13.5M23 5V7H21V5H8.2L6.2 3H21C22.1 3 23 3.9 23 5M2.4 1.7L1.1 3L1.6 3.5C1.3 3.9 1 4.4 1 5V17C1 18.1 1.9 19 3 19H8V21H12V17H3V5H3.1L14 15.9V20C14 21.1 14.9 22 16 22H20.1L20.8 22.7L22.2 21.5L2.4 1.7M18.5 20.5C16.8 20.5 15.5 19.2 15.5 17.5V17.4L18.6 20.5H18.5Z\";\r\nexport var mdiTelevisionStop = \"M3 3H21C22.1 3 23 3.89 23 5V17C23 18.1 22.1 19 21 19H16V21H8V19H3C1.9 19 1 18.1 1 17V5C1 3.89 1.89 3 3 3M3 5V17H21V5H3M9 8H15V14H9V8Z\";\r\nexport var mdiTemperatureCelsius = \"M16.5,5C18.05,5 19.5,5.47 20.69,6.28L19.53,9.17C18.73,8.44 17.67,8 16.5,8C14,8 12,10 12,12.5C12,15 14,17 16.5,17C17.53,17 18.47,16.66 19.23,16.08L20.37,18.93C19.24,19.61 17.92,20 16.5,20A7.5,7.5 0 0,1 9,12.5A7.5,7.5 0 0,1 16.5,5M6,3A3,3 0 0,1 9,6A3,3 0 0,1 6,9A3,3 0 0,1 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5Z\";\r\nexport var mdiTemperatureFahrenheit = \"M11,20V5H20V8H14V11H19V14H14V20H11M6,3A3,3 0 0,1 9,6A3,3 0 0,1 6,9A3,3 0 0,1 3,6A3,3 0 0,1 6,3M6,5A1,1 0 0,0 5,6A1,1 0 0,0 6,7A1,1 0 0,0 7,6A1,1 0 0,0 6,5Z\";\r\nexport var mdiTemperatureKelvin = \"M7,5H10V11L15,5H19L13.88,10.78L19,20H15.38L11.76,13.17L10,15.15V20H7V5Z\";\r\nexport var mdiTempleBuddhist = \"M21 9C21 10.1 20.1 11 19 11H5C3.9 11 3 10.1 3 9H1C1 10.9 2.3 12.4 4 12.8V22H10V19C10 17.9 10.9 17 12 17S14 17.9 14 19V22H20V12.9C20.5 12.8 23 11.9 23 9H21M6 8.9V10H18V8.9C18.5 8.8 21 7.9 21 5H19C19 6.1 18.1 7 17 7H7C5.9 7 5 6.1 5 5H3C3 6.9 4.3 8.4 6 8.9M12 1L8.2 6H15.7L12 1Z\";\r\nexport var mdiTempleBuddhistOutline = \"M21 9C21 10.1 20.1 11 19 11H18V8.9C19.7 8.5 21 6.9 21 5.1H19C19 6.2 18.1 7.1 17 7.1H16.5L12 1L7.5 7H7C5.9 7 5 6.1 5 5H3C3 6.9 4.3 8.4 6 8.8V11H5C3.9 11 3 10.1 3 9H1C1 10.9 2.3 12.4 4 12.8V22H11V18C11 17.5 11.4 17 12 17S13 17.5 13 18V22H20V12.9C21.7 12.5 23 10.9 23 9.1L21 9M12 4.3L14 7H10L12 4.3M8 9H16V11H8V9M18 20H15V18C15 16.4 13.6 15 12 15S9 16.4 9 18V20H6V13H18V20Z\";\r\nexport var mdiTempleHindu = \"M6.6 11H17.4L16.5 8H7.5L6.6 11M20 11V13H4V11H2V22H10V17H14V22H22V11H20M15.9 6L15 3V1H13V3H11V1H9V3.1L8.1 6H15.9Z\";\r\nexport var mdiTempleHinduOutline = \"M20 11V13H18L15 3V1H13V3H11V1H9V3.1L6 13H4V11H2V22H11V17H13V22H22V11H20M15.3 11H8.7L9.3 9H14.7L15.3 11M14.1 7H9.9L10.5 5H13.5L14.1 7M20 20H15V15H9V20H4V15H7.5L8.1 13H15.9L16.5 15H20V20Z\";\r\nexport var mdiTennis = \"M18,15A4,4 0 0,1 22,19A4,4 0 0,1 18,23A4,4 0 0,1 14,19A4,4 0 0,1 18,15M18,17A2,2 0 0,0 16,19A2,2 0 0,0 18,21A2,2 0 0,0 20,19A2,2 0 0,0 18,17M6.05,14.54C6.05,14.54 7.46,13.12 7.47,10.3C7.11,8.11 7.97,5.54 9.94,3.58C12.87,0.65 17.14,0.17 19.5,2.5C21.83,4.86 21.35,9.13 18.42,12.06C16.46,14.03 13.89,14.89 11.7,14.53C8.88,14.54 7.46,15.95 7.46,15.95L3.22,20.19L1.81,18.78L6.05,14.54M18.07,3.93C16.5,2.37 13.5,2.84 11.35,5C9.21,7.14 8.73,10.15 10.29,11.71C11.86,13.27 14.86,12.79 17,10.65C19.16,8.5 19.63,5.5 18.07,3.93Z\";\r\nexport var mdiTennisBall = \"M12,2C14.5,2 16.75,2.9 18.5,4.4C16.36,6.23 15,8.96 15,12C15,15.04 16.36,17.77 18.5,19.6C16.75,21.1 14.5,22 12,22C9.5,22 7.25,21.1 5.5,19.6C7.64,17.77 9,15.04 9,12C9,8.96 7.64,6.23 5.5,4.4C7.25,2.9 9.5,2 12,2M22,12C22,14.32 21.21,16.45 19.88,18.15C18.12,16.68 17,14.47 17,12C17,9.53 18.12,7.32 19.88,5.85C21.21,7.55 22,9.68 22,12M2,12C2,9.68 2.79,7.55 4.12,5.85C5.88,7.32 7,9.53 7,12C7,14.47 5.88,16.68 4.12,18.15C2.79,16.45 2,14.32 2,12Z\";\r\nexport var mdiTennisBallOutline = \"M8.17 2.76C9.39 2.26 10.69 2 12 2C13.31 2 14.61 2.26 15.83 2.76C17.04 3.26 18.14 4 19.07 4.93C20 5.86 20.74 6.96 21.24 8.17C21.74 9.39 22 10.69 22 12C22 14.65 20.95 17.2 19.07 19.07C17.2 20.95 14.65 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76M6.89 18.15C8.32 19.34 10.12 20 12 20C13.88 20 15.68 19.34 17.11 18.15C15.79 16.46 15 14.32 15 12C15 9.68 15.79 7.55 17.11 5.85C15.69 4.66 13.88 4 12 4C10.12 4 8.32 4.66 6.89 5.85C8.21 7.55 9 9.68 9 12C9 14.32 8.21 16.46 6.89 18.15M5.5 16.67C6.44 15.35 7 13.74 7 12C7 10.26 6.44 8.65 5.5 7.34C4.53 8.69 4 10.32 4 12C4 13.68 4.53 15.31 5.5 16.67M18.5 7.34C17.56 8.65 17 10.26 17 12C17 13.74 17.56 15.35 18.5 16.67C19.47 15.31 20 13.69 20 12C20 10.32 19.47 8.69 18.5 7.34Z\";\r\nexport var mdiTent = \"M4,6C4,7.19 4.39,8.27 5,9A3,3 0 0,1 2,6A3,3 0 0,1 5,3C4.39,3.73 4,4.81 4,6M2,21V19H4.76L12,4.78L19.24,19H22V21H2M12,9.19L7,19H17L12,9.19Z\";\r\nexport var mdiTerraform = \"M21 5.4V11.8L15.4 15V8.7L21 5.4M14.8 8.7V15L9.2 11.8V5.4L14.8 8.7M14.8 15.7V22.1L9.2 18.9V12.5L14.8 15.7M8.6 5.1V11.5L3 8.3V1.9L8.6 5.1Z\";\r\nexport var mdiTerrain = \"M14,6L10.25,11L13.1,14.8L11.5,16C9.81,13.75 7,10 7,10L1,18H23L14,6Z\";\r\nexport var mdiTestTube = \"M7,2V4H8V18A4,4 0 0,0 12,22A4,4 0 0,0 16,18V4H17V2H7M11,16C10.4,16 10,15.6 10,15C10,14.4 10.4,14 11,14C11.6,14 12,14.4 12,15C12,15.6 11.6,16 11,16M13,12C12.4,12 12,11.6 12,11C12,10.4 12.4,10 13,10C13.6,10 14,10.4 14,11C14,11.6 13.6,12 13,12M14,7H10V4H14V7Z\";\r\nexport var mdiTestTubeEmpty = \"M7,2H17V4H16V18A4,4 0 0,1 12,22A4,4 0 0,1 8,18V4H7V2M14,4H10V18A2,2 0 0,0 12,20A2,2 0 0,0 14,18V4Z\";\r\nexport var mdiTestTubeOff = \"M2,5.27L3.28,4L20,20.72L18.73,22L15.84,19.11C15.36,20.77 13.82,22 12,22A4,4 0 0,1 8,18V11.27L2,5.27M7,2H17V4H16V14.18L13.63,11.81C13.86,11.63 14,11.35 14,11C14,10.4 13.6,10 13,10C12.65,10 12.37,10.14 12.19,10.37L8,6.18V4H7V2M11,16C11.5,16 11.88,15.71 12,15.24L10.76,14C10.29,14.12 10,14.5 10,15C10,15.6 10.4,16 11,16M14,7V4H10V7H14Z\";\r\nexport var mdiText = \"M21,6V8H3V6H21M3,18H12V16H3V18M3,13H21V11H3V13Z\";\r\nexport var mdiTextAccount = \"M21 5V7H3V5H21M3 17H12V15H3V17M3 12H21V10H3V12M18 14C19.11 14 20 14.9 20 16S19.11 18 18 18 16 17.11 16 16 16.9 14 18 14M14 22V21C14 19.9 15.79 19 18 19S22 19.9 22 21V22H14Z\";\r\nexport var mdiTextBox = \"M14,17H7V15H14M17,13H7V11H17M17,9H7V7H17M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiTextBoxCheck = \"M17,21L14.25,18L15.41,16.84L17,18.43L20.59,14.84L21.75,16.25M12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21M12,15H7V17H12M17,7H7V9H17\";\r\nexport var mdiTextBoxCheckOutline = \"M17,21L14.25,18L15.41,16.84L17,18.43L20.59,14.84L21.75,16.25M12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21M12,17H7V15H12M14.68,13H7V11H17V12.08C16.15,12.22 15.37,12.54 14.68,13M17,9H7V7H17\";\r\nexport var mdiTextBoxEdit = \"M10 19.11L12.11 17H7V15H14V15.12L16.12 13H7V11H17V12.12L18.24 10.89C18.72 10.41 19.35 10.14 20.04 10.14C20.37 10.14 20.7 10.21 21 10.33V5C21 3.89 20.1 3 19 3H5C3.89 3 3 3.89 3 5V19C3 20.11 3.9 21 5 21H10V19.11M7 7H17V9H7V7M21.7 14.35L20.7 15.35L18.65 13.3L19.65 12.3C19.86 12.09 20.21 12.09 20.42 12.3L21.7 13.58C21.91 13.79 21.91 14.14 21.7 14.35M12 19.94L18.06 13.88L20.11 15.93L14.06 22H12V19.94Z\";\r\nexport var mdiTextBoxEditOutline = \"M10 21H5C3.89 21 3 20.11 3 19V5C3 3.89 3.89 3 5 3H19C20.11 3 21 3.89 21 5V10.33C20.7 10.21 20.37 10.14 20.04 10.14C19.67 10.14 19.32 10.22 19 10.37V5H5V19H10.11L10 19.11V21M7 9H17V7H7V9M7 17H12.11L14 15.12V15H7V17M7 13H16.12L17 12.12V11H7V13M21.7 13.58L20.42 12.3C20.21 12.09 19.86 12.09 19.65 12.3L18.65 13.3L20.7 15.35L21.7 14.35C21.91 14.14 21.91 13.79 21.7 13.58M12 22H14.06L20.11 15.93L18.06 13.88L12 19.94V22Z\";\r\nexport var mdiTextBoxMinus = \"M22,17V19H14V17H22M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxMinusOutline = \"M22,17V19H14V17H22M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\r\nexport var mdiTextBoxMultiple = \"M16,15H9V13H16M19,11H9V9H19M19,7H9V5H19M21,1H7C5.89,1 5,1.89 5,3V17C5,18.11 5.9,19 7,19H21C22.11,19 23,18.11 23,17V3C23,1.89 22.1,1 21,1M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3Z\";\r\nexport var mdiTextBoxMultipleOutline = \"M16,15H9V13H16V15M19,11H9V9H19V11M19,7H9V5H19V7M3,5V21H19V23H3A2,2 0 0,1 1,21V5H3M21,1A2,2 0 0,1 23,3V17C23,18.11 22.11,19 21,19H7A2,2 0 0,1 5,17V3C5,1.89 5.89,1 7,1H21M7,3V17H21V3H7Z\";\r\nexport var mdiTextBoxOutline = \"M5,3C3.89,3 3,3.89 3,5V19C3,20.11 3.89,21 5,21H19C20.11,21 21,20.11 21,19V5C21,3.89 20.11,3 19,3H5M5,5H19V19H5V5M7,7V9H17V7H7M7,11V13H17V11H7M7,15V17H14V15H7Z\";\r\nexport var mdiTextBoxPlus = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxPlusOutline = \"M17,14H19V17H22V19H19V22H17V19H14V17H17V14M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\r\nexport var mdiTextBoxRemove = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxRemoveOutline = \"M14.46,15.88L15.88,14.46L18,16.59L20.12,14.46L21.54,15.88L19.41,18L21.54,20.12L20.12,21.54L18,19.41L15.88,21.54L14.46,20.12L16.59,18L14.46,15.88M5,3H19C20.11,3 21,3.89 21,5V12.8C20.39,12.45 19.72,12.2 19,12.08V5H5V19H12.08C12.2,19.72 12.45,20.39 12.8,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H17V12.08C16.15,12.22 15.37,12.54 14.68,13H7V11M7,15H12V17H7V15Z\";\r\nexport var mdiTextBoxSearch = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M7,15V17H9C9.14,18.55 9.8,19.94 10.81,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V13.03C19.85,11.21 17.82,10 15.5,10C14.23,10 13.04,10.37 12.04,11H7V13H10C9.64,13.6 9.34,14.28 9.17,15H7M17,9V7H7V9H17Z\";\r\nexport var mdiTextBoxSearchOutline = \"M15.5,12C18,12 20,14 20,16.5C20,17.38 19.75,18.21 19.31,18.9L22.39,22L21,23.39L17.88,20.32C17.19,20.75 16.37,21 15.5,21C13,21 11,19 11,16.5C11,14 13,12 15.5,12M15.5,14A2.5,2.5 0 0,0 13,16.5A2.5,2.5 0 0,0 15.5,19A2.5,2.5 0 0,0 18,16.5A2.5,2.5 0 0,0 15.5,14M5,3H19C20.11,3 21,3.89 21,5V13.03C20.5,12.23 19.81,11.54 19,11V5H5V19H9.5C9.81,19.75 10.26,20.42 10.81,21H5C3.89,21 3,20.11 3,19V5C3,3.89 3.89,3 5,3M7,7H17V9H7V7M7,11H12.03C11.23,11.5 10.54,12.19 10,13H7V11M7,15H9.17C9.06,15.5 9,16 9,16.5V17H7V15Z\";\r\nexport var mdiTextLong = \"M4,5H20V7H4V5M4,9H20V11H4V9M4,13H20V15H4V13M4,17H14V19H4V17Z\";\r\nexport var mdiTextRecognition = \"M2 4C2 2.9 2.9 2 4 2H8V4H4V8H2V4M22 20C22 21.11 21.11 22 20 22H16V20H20V16H22V20M4 22C2.9 22 2 21.11 2 20V16H4V20H8V22H4M20 2C21.11 2 22 2.9 22 4V8H20V4H16V2H20M9 7V9H11V17H13V9H15V7H9Z\";\r\nexport var mdiTextSearch = \"M19.31 18.9L22.39 22L21 23.39L17.88 20.32C17.19 20.75 16.37 21 15.5 21C13 21 11 19 11 16.5C11 14 13 12 15.5 12C18 12 20 14 20 16.5C20 17.38 19.75 18.21 19.31 18.9M15.5 19C16.88 19 18 17.88 18 16.5C18 15.12 16.88 14 15.5 14C14.12 14 13 15.12 13 16.5C13 17.88 14.12 19 15.5 19M21 4V6H3V4H21M3 16V14H9V16H3M3 11V9H21V11H18.97C17.96 10.37 16.77 10 15.5 10C14.23 10 13.04 10.37 12.03 11H3Z\";\r\nexport var mdiTextSearchVariant = \"M9 6V8H2V6H9M9 11V13H2V11H9M18 16V18H2V16H18M19.31 11.5C19.75 10.82 20 10 20 9.11C20 6.61 18 4.61 15.5 4.61S11 6.61 11 9.11 13 13.61 15.5 13.61C16.37 13.61 17.19 13.36 17.88 12.93L21 16L22.39 14.61L19.31 11.5M15.5 11.61C14.12 11.61 13 10.5 13 9.11S14.12 6.61 15.5 6.61 18 7.73 18 9.11 16.88 11.61 15.5 11.61Z\";\r\nexport var mdiTextShadow = \"M3,3H16V6H11V18H8V6H3V3M12,7H14V9H12V7M15,7H17V9H15V7M18,7H20V9H18V7M12,10H14V12H12V10M12,13H14V15H12V13M12,16H14V18H12V16M12,19H14V21H12V19Z\";\r\nexport var mdiTextShort = \"M4,9H20V11H4V9M4,13H14V15H4V13Z\";\r\nexport var mdiTexture = \"M9.29,21H12.12L21,12.12V9.29M19,21C19.55,21 20.05,20.78 20.41,20.41C20.78,20.05 21,19.55 21,19V17L17,21M5,3A2,2 0 0,0 3,5V7L7,3M11.88,3L3,11.88V14.71L14.71,3M19.5,3.08L3.08,19.5C3.17,19.85 3.35,20.16 3.59,20.41C3.84,20.65 4.15,20.83 4.5,20.92L20.93,4.5C20.74,3.8 20.2,3.26 19.5,3.08Z\";\r\nexport var mdiTextureBox = \"M20 2H4C2.9 2 2 2.9 2 4V20C2 21.11 2.9 22 4 22H20C21.11 22 22 21.11 22 20V4C22 2.9 21.11 2 20 2M4 6L6 4H10.9L4 10.9V6M4 13.7L13.7 4H18.6L4 18.6V13.7M20 18L18 20H13.1L20 13.1V18M20 10.3L10.3 20H5.4L20 5.4V10.3Z\";\r\nexport var mdiTheater = \"M4,15H6A2,2 0 0,1 8,17V19H9V17A2,2 0 0,1 11,15H13A2,2 0 0,1 15,17V19H16V17A2,2 0 0,1 18,15H20A2,2 0 0,1 22,17V19H23V22H1V19H2V17A2,2 0 0,1 4,15M11,7L15,10L11,13V7M4,2H20A2,2 0 0,1 22,4V13.54C21.41,13.19 20.73,13 20,13V4H4V13C3.27,13 2.59,13.19 2,13.54V4A2,2 0 0,1 4,2Z\";\r\nexport var mdiThemeLightDark = \"M7.5,2C5.71,3.15 4.5,5.18 4.5,7.5C4.5,9.82 5.71,11.85 7.53,13C4.46,13 2,10.54 2,7.5A5.5,5.5 0 0,1 7.5,2M19.07,3.5L20.5,4.93L4.93,20.5L3.5,19.07L19.07,3.5M12.89,5.93L11.41,5L9.97,6L10.39,4.3L9,3.24L10.75,3.12L11.33,1.47L12,3.1L13.73,3.13L12.38,4.26L12.89,5.93M9.59,9.54L8.43,8.81L7.31,9.59L7.65,8.27L6.56,7.44L7.92,7.35L8.37,6.06L8.88,7.33L10.24,7.36L9.19,8.23L9.59,9.54M19,13.5A5.5,5.5 0 0,1 13.5,19C12.28,19 11.15,18.6 10.24,17.93L17.93,10.24C18.6,11.15 19,12.28 19,13.5M14.6,20.08L17.37,18.93L17.13,22.28L14.6,20.08M18.93,17.38L20.08,14.61L22.28,17.15L18.93,17.38M20.08,12.42L18.94,9.64L22.28,9.88L20.08,12.42M9.63,18.93L12.4,20.08L9.87,22.27L9.63,18.93Z\";\r\nexport var mdiThermometer = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V8H11V5A1 1 0 0 1 12 4Z\";\r\nexport var mdiThermometerAlert = \"M17 13V7H19V13H17M17 17V15H19V17H17M13 13V5C13 3.3 11.7 2 10 2S7 3.3 7 5V13C4.8 14.7 4.3 17.8 6 20S10.8 22.7 13 21 15.7 16.2 14 14C13.7 13.6 13.4 13.3 13 13M10 4C10.6 4 11 4.4 11 5V8H9V5C9 4.4 9.4 4 10 4Z\";\r\nexport var mdiThermometerAuto = \"M12 14C11.7 13.6 11.4 13.3 11 13V5C11 3.3 9.7 2 8 2S5 3.3 5 5V13C2.8 14.7 2.3 17.8 4 20S8.8 22.7 11 21 13.7 16.2 12 14M9 8H7V5C7 4.5 7.5 4 8 4S9 4.5 9 5V8M18 3H16L12.8 12H14.7L15.4 10H18.6L19.3 12H21.2L18 3M15.8 8.7L17 5L18.2 8.7H15.8Z\";\r\nexport var mdiThermometerBluetooth = \"M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4M18 8V11.79L15.71 9.5L15 10.21L17.79 13L15 15.79L15.71 16.5L18 14.21V18H18.5L21.35 15.14L19.21 13L21.35 10.85L18.5 8H18M19 9.91L19.94 10.85L19 11.79V9.91M19 14.21L19.94 15.14L19 16.08V14.21Z\";\r\nexport var mdiThermometerCheck = \"M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4M16.25 15.16L13.5 12.16L14.66 11L16.25 12.59L19.84 9L21 10.41L16.25 15.16\";\r\nexport var mdiThermometerChevronDown = \"M17.41 12.17L14.24 9L12.83 10.41L17.41 15L22 10.41L20.58 9M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4Z\";\r\nexport var mdiThermometerChevronUp = \"M17.41 11.83L20.58 15L22 13.59L17.41 9L12.82 13.59L14.24 15L17.41 11.83M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4Z\";\r\nexport var mdiThermometerHigh = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5H11A1 1 0 0 1 12 4Z\";\r\nexport var mdiThermometerLines = \"M17 3H21V5H17V3M17 7H21V9H17V7M17 11H21V13H17.75L17 12.1V11M21 15V17H19C19 16.31 18.9 15.63 18.71 15H21M7 3V5H3V3H7M7 7V9H3V7H7M7 11V12.1L6.25 13H3V11H7M3 15H5.29C5.1 15.63 5 16.31 5 17H3V15M15 13V5C15 3.34 13.66 2 12 2S9 3.34 9 5V13C6.79 14.66 6.34 17.79 8 20S12.79 22.66 15 21 17.66 16.21 16 14C15.72 13.62 15.38 13.28 15 13M12 4C12.55 4 13 4.45 13 5V8H11V5C11 4.45 11.45 4 12 4Z\";\r\nexport var mdiThermometerLow = \"M15 13V5A3 3 0 0 0 9 5V13A5 5 0 1 0 15 13M12 4A1 1 0 0 1 13 5V12H11V5A1 1 0 0 1 12 4Z\";\r\nexport var mdiThermometerMinus = \"M22 11H14V13H22V11M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4Z\";\r\nexport var mdiThermometerOff = \"M11 7.8L9 5.8V5C9 3.34 10.34 2 12 2S15 3.34 15 5V11.8L11.2 8H13V5C13 4.45 12.55 4 12 4S11 4.45 11 5V7.8M22.11 21.46L2.39 1.73L1.11 3L9 10.89V13C6.79 14.66 6.34 17.79 8 20C9.66 22.21 12.79 22.66 15 21C15.84 20.37 16.4 19.5 16.71 18.6L20.84 22.73L22.11 21.46Z\";\r\nexport var mdiThermometerPlus = \"M19 11V8H17V11H14V13H17V16H19V13H22V11M11 13V5C11 3.34 9.66 2 8 2S5 3.34 5 5V13C2.79 14.66 2.34 17.79 4 20S8.79 22.66 11 21 13.66 16.21 12 14C11.72 13.62 11.38 13.28 11 13M8 4C8.55 4 9 4.45 9 5V8H7V5C7 4.45 7.45 4 8 4Z\";\r\nexport var mdiThermometerProbe = \"M19.47 3.47L13.47 9.47L10.53 10C10.22 10.03 9.94 10.18 9.72 10.4L2.81 17.31C1.74 18.38 1.74 20.12 2.81 21.2C3.88 22.27 5.62 22.27 6.7 21.2L13.61 14.29C13.83 14.07 14 13.79 14.03 13.5L14.54 10.54L20.54 4.54L22 2L19.47 3.47M11 14.38C10.24 14.38 9.62 13.76 9.62 13S10.24 11.62 11 11.62 12.38 12.24 12.38 13C12.37 13.76 11.76 14.38 11 14.38Z\";\r\nexport var mdiThermometerProbeOff = \"M2 3.64L9.24 10.88L2.81 17.31C1.74 18.38 1.74 20.12 2.81 21.2C3.88 22.27 5.62 22.27 6.7 21.2L13.13 14.77L20.73 22.37L22 21.1L3.27 2.37L2 3.64M10.23 11.86L12.14 13.77C11.89 14.14 11.47 14.38 11 14.38C10.24 14.38 9.62 13.76 9.62 13C9.62 12.53 9.86 12.11 10.23 11.86M14.46 11L13 9.55L13.47 9.47L19.47 3.47L22 2L20.54 4.54L14.54 10.54L14.46 11Z\";\r\nexport var mdiThermometerWater = \"M10 13V5C10 3.34 8.66 2 7 2S4 3.34 4 5V13C1.79 14.66 1.34 17.79 3 20S7.79 22.66 10 21 12.66 16.21 11 14C10.72 13.62 10.38 13.28 10 13M7 4C7.55 4 8 4.45 8 5V8H6V5C6 4.45 6.45 4 7 4M18 7C18 7 14 11.34 14 14.07C14 19.31 22 19.31 22 14.07C22 11.34 18 7 18 7Z\";\r\nexport var mdiThermostat = \"M16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\";\r\nexport var mdiThermostatAuto = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22C12.4 22 12.7 22 13.1 21.9L15.4 15.3L14.8 14.7C15.5 14 16 13 16 11.9C16 11.2 15.8 10.5 15.4 9.9L17.6 7.7C18.5 9 19 10.4 19 12H20C20.3 12 20.6 12.1 20.8 12.2C20.8 12.2 20.9 12.2 20.9 12.3C21.3 12.5 21.7 12.9 21.9 13.4C22 12.9 22 12.5 22 12C22 6.5 17.5 2 12 2M14 8.6C13.4 8.2 12.7 8 12 8C9.8 8 8 9.8 8 12C8 13.1 8.4 14.1 9.2 14.8L7.1 16.9C5.8 15.7 5 13.9 5 12C5 8.1 8.1 5 12 5C13.6 5 15 5.5 16.2 6.4L14 8.6M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8Z\";\r\nexport var mdiThermostatBox = \"M5,3A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H5M12,5C13.57,5 15,5.5 16.19,6.4L14,8.56C13.43,8.21 12.74,8 12,8A4,4 0 0,0 8,12C8,13.1 8.45,14.1 9.17,14.83L7.05,16.95C5.78,15.68 5,13.93 5,12A7,7 0 0,1 12,5M17.6,7.81C18.5,9 19,10.43 19,12C19,13.93 18.22,15.68 16.95,16.95L14.83,14.83C15.55,14.1 16,13.1 16,12C16,11.26 15.79,10.57 15.43,10L17.6,7.81Z\";\r\nexport var mdiThermostatBoxAuto = \"M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8M15.4 15.4L14.8 14.8C15.5 14.1 16 13.1 16 12C16 11.3 15.8 10.6 15.4 10L17.6 7.8C18.5 9 19 10.4 19 12H21V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H13.4L15.4 15.4M9.2 14.8L7 17C5.7 15.7 5 14 5 12C5 8.1 8.1 5 12 5C13.6 5 15 5.5 16.2 6.4L14 8.6C13.4 8.2 12.7 8 12 8C9.8 8 8 9.8 8 12C8 13.1 8.5 14.1 9.2 14.8Z\";\r\nexport var mdiThermostatCog = \"M22 12.66C21.07 12.24 20.07 12 19 12C19 10.43 18.5 9 17.6 7.81L15.43 10C15.79 10.57 16 11.26 16 12C16 12.24 16 12.5 15.94 12.7C13.61 13.84 12 16.23 12 19C12 20.07 12.24 21.07 12.66 22C12.44 22 12.22 22 12 22C10.69 22 9.39 21.74 8.17 21.24C6.96 20.74 5.86 20 4.93 19.07C3.05 17.2 2 14.65 2 12C2 9.35 3.05 6.8 4.93 4.93C5.86 4 6.96 3.26 8.17 2.76C9.39 2.26 10.69 2 12 2C17.5 2 22 6.47 22 12C22 12.22 22 12.44 22 12.66M12 5C10.14 5 8.36 5.74 7.05 7.05C5.74 8.36 5 10.14 5 12C5 13.93 5.78 15.68 7.05 16.95L9.17 14.83C8.45 14.1 8 13.1 8 12C8 10.94 8.42 9.92 9.17 9.17C9.92 8.42 10.94 8 12 8C12.74 8 13.43 8.21 14 8.56L16.19 6.4C15 5.5 13.57 5 12 5M23.83 20.64C23.89 20.53 23.87 20.39 23.77 20.32L22.72 19.5C22.74 19.33 22.75 19.16 22.75 19C22.75 18.84 22.74 18.67 22.72 18.5L23.77 17.68C23.87 17.61 23.89 17.5 23.83 17.36L22.83 15.64C22.77 15.53 22.64 15.5 22.53 15.53L21.28 16L21.14 15.91C20.91 15.77 20.7 15.64 20.44 15.54L20.25 14.21C20.23 14.09 20.13 14 20 14H18C17.88 14 17.77 14.09 17.75 14.21L17.57 15.54C17.3 15.64 17.09 15.78 16.86 15.92L16.72 16L15.5 15.53C15.37 15.5 15.23 15.53 15.17 15.64L14.17 17.36C14.11 17.5 14.14 17.61 14.23 17.68L15.29 18.5L15.29 18.53C15.27 18.69 15.25 18.84 15.25 19C15.25 19.16 15.27 19.31 15.29 19.47C15.29 19.5 15.29 19.5 15.29 19.5L14.23 20.32C14.14 20.39 14.11 20.53 14.17 20.64L15.17 22.37C15.23 22.5 15.37 22.5 15.5 22.5L16.72 21.97C17 22.17 17.25 22.34 17.57 22.47L17.75 23.79C17.77 23.91 17.88 24 18 24H20C20.13 24 20.23 23.91 20.25 23.79L20.44 22.47C20.75 22.34 21 22.17 21.28 21.97L22.53 22.5C22.64 22.5 22.77 22.5 22.83 22.37L23.83 20.64M19 17.25C19.97 17.25 20.75 18.03 20.75 19C20.75 19.97 19.96 20.75 19 20.75C18.04 20.75 17.25 19.97 17.25 19C17.25 18.03 18.03 17.25 19 17.25Z\";\r\nexport var mdiThoughtBubble = \"M3.5,19A1.5,1.5 0 0,1 5,20.5A1.5,1.5 0 0,1 3.5,22A1.5,1.5 0 0,1 2,20.5A1.5,1.5 0 0,1 3.5,19M8.5,16A2.5,2.5 0 0,1 11,18.5A2.5,2.5 0 0,1 8.5,21A2.5,2.5 0 0,1 6,18.5A2.5,2.5 0 0,1 8.5,16M14.5,15C13.31,15 12.23,14.5 11.5,13.65C10.77,14.5 9.69,15 8.5,15C6.54,15 4.91,13.59 4.57,11.74C3.07,11.16 2,9.7 2,8A4,4 0 0,1 6,4C6.26,4 6.5,4.03 6.77,4.07C7.5,3.41 8.45,3 9.5,3C10.69,3 11.77,3.5 12.5,4.35C13.23,3.5 14.31,3 15.5,3C17.46,3 19.09,4.41 19.43,6.26C20.93,6.84 22,8.3 22,10A4,4 0 0,1 18,14L17.23,13.93C16.5,14.59 15.55,15 14.5,15Z\";\r\nexport var mdiThoughtBubbleOutline = \"M3.5,19A1.5,1.5 0 0,1 5,20.5A1.5,1.5 0 0,1 3.5,22A1.5,1.5 0 0,1 2,20.5A1.5,1.5 0 0,1 3.5,19M8.5,16A2.5,2.5 0 0,1 11,18.5A2.5,2.5 0 0,1 8.5,21A2.5,2.5 0 0,1 6,18.5A2.5,2.5 0 0,1 8.5,16M14.5,15C13.31,15 12.23,14.5 11.5,13.65C10.77,14.5 9.69,15 8.5,15C6.54,15 4.91,13.59 4.57,11.74C3.07,11.16 2,9.7 2,8A4,4 0 0,1 6,4L6.77,4.07C7.5,3.41 8.45,3 9.5,3C10.69,3 11.77,3.5 12.5,4.35C13.23,3.5 14.31,3 15.5,3C17.46,3 19.09,4.41 19.43,6.26C20.93,6.84 22,8.3 22,10A4,4 0 0,1 18,14L17.23,13.93C16.5,14.59 15.55,15 14.5,15M6,6A2,2 0 0,0 4,8A2,2 0 0,0 6,10C6.33,10 6.64,9.92 6.92,9.78C6.66,10.12 6.5,10.54 6.5,11A2,2 0 0,0 8.5,13C9.1,13 9.64,12.73 10,12.31V12.31L11.47,10.63L13,12.34V12.34C13.38,12.74 13.91,13 14.5,13C15.5,13 16.33,12.26 16.5,11.3C16.84,11.73 17.39,12 18,12A2,2 0 0,0 20,10A2,2 0 0,0 18,8C17.67,8 17.36,8.08 17.08,8.22C17.34,7.88 17.5,7.46 17.5,7A2,2 0 0,0 15.5,5C14.91,5 14.38,5.26 14,5.66L12.47,7.37L11,5.69V5.69C10.64,5.27 10.1,5 9.5,5C8.5,5 7.67,5.74 7.5,6.7C7.16,6.27 6.61,6 6,6M8.5,17.5A1,1 0 0,0 7.5,18.5A1,1 0 0,0 8.5,19.5A1,1 0 0,0 9.5,18.5A1,1 0 0,0 8.5,17.5Z\";\r\nexport var mdiThumbDown = \"M19,15H23V3H19M15,3H6C5.17,3 4.46,3.5 4.16,4.22L1.14,11.27C1.05,11.5 1,11.74 1,12V14A2,2 0 0,0 3,16H9.31L8.36,20.57C8.34,20.67 8.33,20.77 8.33,20.88C8.33,21.3 8.5,21.67 8.77,21.94L9.83,23L16.41,16.41C16.78,16.05 17,15.55 17,15V5C17,3.89 16.1,3 15,3Z\";\r\nexport var mdiThumbDownOutline = \"M19,15V3H23V15H19M15,3A2,2 0 0,1 17,5V15C17,15.55 16.78,16.05 16.41,16.41L9.83,23L8.77,21.94C8.5,21.67 8.33,21.3 8.33,20.88L8.36,20.57L9.31,16H3C1.89,16 1,15.1 1,14V12C1,11.74 1.05,11.5 1.14,11.27L4.16,4.22C4.46,3.5 5.17,3 6,3H15M15,5H5.97L3,12V14H11.78L10.65,19.32L15,14.97V5Z\";\r\nexport var mdiThumbUp = \"M23,10C23,8.89 22.1,8 21,8H14.68L15.64,3.43C15.66,3.33 15.67,3.22 15.67,3.11C15.67,2.7 15.5,2.32 15.23,2.05L14.17,1L7.59,7.58C7.22,7.95 7,8.45 7,9V19A2,2 0 0,0 9,21H18C18.83,21 19.54,20.5 19.84,19.78L22.86,12.73C22.95,12.5 23,12.26 23,12V10M1,21H5V9H1V21Z\";\r\nexport var mdiThumbUpOutline = \"M5,9V21H1V9H5M9,21A2,2 0 0,1 7,19V9C7,8.45 7.22,7.95 7.59,7.59L14.17,1L15.23,2.06C15.5,2.33 15.67,2.7 15.67,3.11L15.64,3.43L14.69,8H21C22.11,8 23,8.9 23,10V12C23,12.26 22.95,12.5 22.86,12.73L19.84,19.78C19.54,20.5 18.83,21 18,21H9M9,19H18.03L21,12V10H12.21L13.34,4.68L9,9.03V19Z\";\r\nexport var mdiThumbsUpDown = \"M22.5,10H15.75C15.13,10 14.6,10.38 14.37,10.91L12.11,16.2C12.04,16.37 12,16.56 12,16.75V18A1,1 0 0,0 13,19H18.18L17.5,22.18V22.42C17.5,22.73 17.63,23 17.83,23.22L18.62,24L23.56,19.06C23.83,18.79 24,18.41 24,18V11.5A1.5,1.5 0 0,0 22.5,10M12,6A1,1 0 0,0 11,5H5.82L6.5,1.82V1.59C6.5,1.28 6.37,1 6.17,0.79L5.38,0L0.44,4.94C0.17,5.21 0,5.59 0,6V12.5A1.5,1.5 0 0,0 1.5,14H8.25C8.87,14 9.4,13.62 9.63,13.09L11.89,7.8C11.96,7.63 12,7.44 12,7.25V6Z\";\r\nexport var mdiThumbsUpDownOutline = \"M12 6C12 5.45 11.55 5 11 5H5.82L6.5 1.82L6.5 1.59C6.5 1.28 6.37 1 6.17 .79L5.38 0L.44 4.94C.17 5.21 0 5.59 0 6V12.5C0 13.33 .67 14 1.5 14H8.25C8.87 14 9.4 13.62 9.63 13.09L11.89 7.8C11.96 7.63 12 7.44 12 7.25V6M10 7.13L7.92 12H2V6.21L3.93 4.28L3.36 7H10V7.13M22.5 10H15.75C15.13 10 14.6 10.38 14.37 10.91L12.11 16.2C12.04 16.37 12 16.56 12 16.75V18C12 18.55 12.45 19 13 19H18.18L17.5 22.18L17.5 22.42C17.5 22.73 17.63 23 17.83 23.22L18.62 24L23.56 19.06C23.83 18.79 24 18.41 24 18V11.5C24 10.67 23.33 10 22.5 10M22 17.79L20.07 19.72L20.64 17H14V16.87L16.08 12H22V17.79Z\";\r\nexport var mdiTicket = \"M15.58,16.8L12,14.5L8.42,16.8L9.5,12.68L6.21,10L10.46,9.74L12,5.8L13.54,9.74L17.79,10L14.5,12.68M20,12C20,10.89 20.9,10 22,10V6C22,4.89 21.1,4 20,4H4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12Z\";\r\nexport var mdiTicketAccount = \"M20,12A2,2 0 0,0 22,14V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V14C3.11,14 4,13.1 4,12A2,2 0 0,0 2,10V6C2,4.89 2.9,4 4,4H20A2,2 0 0,1 22,6V10A2,2 0 0,0 20,12M16.5,16.25C16.5,14.75 13.5,14 12,14C10.5,14 7.5,14.75 7.5,16.25V17H16.5V16.25M12,12.25A2.25,2.25 0 0,0 14.25,10A2.25,2.25 0 0,0 12,7.75A2.25,2.25 0 0,0 9.75,10A2.25,2.25 0 0,0 12,12.25Z\";\r\nexport var mdiTicketConfirmation = \"M13,8.5H11V6.5H13V8.5M13,13H11V11H13V13M13,17.5H11V15.5H13V17.5M22,10V6C22,4.89 21.1,4 20,4H4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12A2,2 0 0,1 22,10Z\";\r\nexport var mdiTicketConfirmationOutline = \"M22 10V6C22 4.89 21.1 4 20 4H4C2.9 4 2 4.89 2 6V10C3.11 10 4 10.9 4 12S3.11 14 2 14V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V14C20.9 14 20 13.1 20 12S20.9 10 22 10M20 8.54C18.81 9.23 18 10.53 18 12S18.81 14.77 20 15.46V18H4V15.46C5.19 14.77 6 13.47 6 12C6 10.5 5.2 9.23 4 8.54L4 6H20V8.54M11 15H13V17H11M11 11H13V13H11M11 7H13V9H11Z\";\r\nexport var mdiTicketOutline = \"M4,4A2,2 0 0,0 2,6V10A2,2 0 0,1 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12A2,2 0 0,1 22,10V6A2,2 0 0,0 20,4H4M4,6H20V8.54C18.76,9.25 18,10.57 18,12C18,13.43 18.76,14.75 20,15.46V18H4V15.46C5.24,14.75 6,13.43 6,12C6,10.57 5.24,9.25 4,8.54V6Z\";\r\nexport var mdiTicketPercent = \"M4,4A2,2 0 0,0 2,6V10C3.11,10 4,10.9 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12C20,10.89 20.9,10 22,10V6C22,4.89 21.1,4 20,4H4M15.5,7L17,8.5L8.5,17L7,15.5L15.5,7M8.81,7.04C9.79,7.04 10.58,7.83 10.58,8.81A1.77,1.77 0 0,1 8.81,10.58C7.83,10.58 7.04,9.79 7.04,8.81A1.77,1.77 0 0,1 8.81,7.04M15.19,13.42C16.17,13.42 16.96,14.21 16.96,15.19A1.77,1.77 0 0,1 15.19,16.96C14.21,16.96 13.42,16.17 13.42,15.19A1.77,1.77 0 0,1 15.19,13.42Z\";\r\nexport var mdiTicketPercentOutline = \"M14.8 8L16 9.2L9.2 16L8 14.8L14.8 8M4 4H20C21.11 4 22 4.89 22 6V10C20.9 10 20 10.9 20 12C20 13.11 20.9 14 22 14V18C22 19.11 21.11 20 20 20H4C2.9 20 2 19.11 2 18V14C3.11 14 4 13.11 4 12C4 10.9 3.11 10 2 10V6C2 4.89 2.9 4 4 4M4 6V8.54C5.24 9.26 6 10.57 6 12C6 13.43 5.24 14.75 4 15.46V18H20V15.46C18.76 14.75 18 13.43 18 12C18 10.57 18.76 9.26 20 8.54V6H4M9.5 8C10.33 8 11 8.67 11 9.5C11 10.33 10.33 11 9.5 11C8.67 11 8 10.33 8 9.5C8 8.67 8.67 8 9.5 8M14.5 13C15.33 13 16 13.67 16 14.5C16 15.33 15.33 16 14.5 16C13.67 16 13 15.33 13 14.5C13 13.67 13.67 13 14.5 13Z\";\r\nexport var mdiTie = \"M6,2L10,6L7,17L12,22L17,17L14,6L18,2Z\";\r\nexport var mdiTilde = \"M2,15C2,15 2,9 8,9C12,9 12.5,12.5 15.5,12.5C19.5,12.5 19.5,9 19.5,9H22C22,9 22,15 16,15C12,15 10.5,11.5 8.5,11.5C4.5,11.5 4.5,15 4.5,15H2\";\r\nexport var mdiTildeOff = \"M20.84 22.73L10.78 12.67C10 12.03 9.27 11.5 8.5 11.5C4.5 11.5 4.5 15 4.5 15H2C2 15 2 9.59 7.16 9.05L1.11 3L2.39 1.73L10.03 9.37L10.03 9.37L15.64 15L15.63 15L22.11 21.46L20.84 22.73M22 9H19.5C19.5 9 19.5 12.38 15.69 12.5L17.95 14.75C22 13.62 22 9 22 9Z\";\r\nexport var mdiTimelapse = \"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M16.24,7.76C15.07,6.58 13.53,6 12,6V12L7.76,16.24C10.1,18.58 13.9,18.58 16.24,16.24C18.59,13.9 18.59,10.1 16.24,7.76Z\";\r\nexport var mdiTimeline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6Z\";\r\nexport var mdiTimelineAlert = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M15 7V13H17V7H15M15 15V17H17V15H15Z\";\r\nexport var mdiTimelineAlertOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10M15 7H17V13H15V7M15 15H17V17H15V15Z\";\r\nexport var mdiTimelineCheck = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M19.75 10.33L18.59 8.92L15 12.5L13.41 10.92L12.25 12.08L15 15.08L19.75 10.33Z\";\r\nexport var mdiTimelineCheckOutline = \"M22 4H10C8.9 4 8 4.89 8 6V10L6 12L8 14V18C8 19.11 8.9 20 10 20H22C23.11 20 24 19.11 24 18V6C24 4.89 23.11 4 22 4M22 18H10V6H22V18M4 8H2V2H4V8M2 16H4V22H2V16M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M15 15.08L12.25 12.08L13.41 10.92L15 12.5L18.59 8.92L19.75 10.33L15 15.08Z\";\r\nexport var mdiTimelineClock = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M16 4C20.42 4 24 7.58 24 12C24 16.42 20.42 20 16 20C12.4 20 9.36 17.62 8.35 14.35L6 12L8.35 9.65C9.36 6.38 12.4 4 16 4M15 13L19.53 15.79L20.33 14.5L16.5 12.2V7H15V13Z\";\r\nexport var mdiTimelineClockOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M16 4C20.42 4 24 7.58 24 12C24 16.42 20.42 20 16 20C12.4 20 9.36 17.62 8.35 14.35L6 12L8.35 9.65C9.36 6.38 12.4 4 16 4M16 6C12.69 6 10 8.69 10 12C10 15.31 12.69 18 16 18C19.31 18 22 15.31 22 12C22 8.69 19.31 6 16 6M15 13V8H16.5V12.2L19.5 14L18.68 15.26L15 13Z\";\r\nexport var mdiTimelineMinus = \"M4 8H2V2H4V8M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M20 11H12V13H20V11M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10Z\";\r\nexport var mdiTimelineMinusOutline = \"M2 16H4V22H2V16M4 2H2V8H4V2M20 11H12V13H20V11M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V18H22V6Z\";\r\nexport var mdiTimelineOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10Z\";\r\nexport var mdiTimelinePlus = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M20 11H17V8H15V11H12V13H15V16H17V13H20V11Z\";\r\nexport var mdiTimelinePlusOutline = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M20 11V13H17V16H15V13H12V11H15V8H17V11H20M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M10 6V18H22V6H10Z\";\r\nexport var mdiTimelineQuestion = \"M4 2V8H2V2H4M2 22V16H4V22H2M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M16.5 15.5H15V17H16.5V15.5M14.5 10.5V10C14.5 9.17 15.17 8.5 16 8.5C16.83 8.5 17.5 9.18 17.5 10C17.5 10.47 17.27 10.9 16.88 11.16L16.59 11.35C15.6 12 15 13.11 15 14.3V14.5H16.5V14.3C16.5 13.62 16.84 13 17.41 12.6L17.71 12.41C18.5 11.88 19 10.97 19 10C19 8.34 17.66 7 16 7C14.34 7 13 8.34 13 10V10.5H14.5Z\";\r\nexport var mdiTimelineQuestionOutline = \"M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M4 2V8H2V2H4M2 22V16H4V22H2M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V10.83L8.83 12L10 13.17V18H22V6M16.5 15.5V17H15V15.5H16.5M14.5 10.5H13V10C13 8.34 14.34 7 16 7C17.66 7 19 8.34 19 10C19 10.97 18.5 11.88 17.71 12.41L17.41 12.6C16.84 13 16.5 13.62 16.5 14.3V14.5H15V14.3C15 13.11 15.6 12 16.59 11.35L16.88 11.16C17.27 10.9 17.5 10.47 17.5 10C17.5 9.18 16.83 8.5 16 8.5C15.17 8.5 14.5 9.17 14.5 10V10.5Z\";\r\nexport var mdiTimelineRemove = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M17.41 12L19.53 9.88L18.12 8.47L16 10.59L13.88 8.47L12.47 9.88L14.59 12L12.47 14.12L13.88 15.53L16 13.41L18.12 15.53L19.53 14.12L17.41 12Z\";\r\nexport var mdiTimelineRemoveOutline = \"M4 8H2V2H4V8M2 22H4V16H2V22M3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12C5 10.9 4.11 10 3 10M13.88 15.54L16 13.41L18.12 15.53L19.53 14.12L17.41 12L19.53 9.88L18.12 8.47L16 10.59L13.88 8.47L12.47 9.88L14.59 12L12.47 14.12L13.88 15.54M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V18H22V6Z\";\r\nexport var mdiTimelineText = \"M4 2V8H2V2H4M2 22H4V16H2V22M5 12C5 10.9 4.11 10 3 10C1.9 10 1 10.9 1 12C1 13.11 1.9 14 3 14C4.11 14 5 13.11 5 12M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M19 13H11V15H19V13M21 9H11V11H21V9Z\";\r\nexport var mdiTimelineTextOutline = \"M5 12C5 13.11 4.11 14 3 14C1.9 14 1 13.11 1 12C1 10.9 1.9 10 3 10C4.11 10 5 10.9 5 12M4 2V8H2V2H4M2 22V16H4V22H2M24 6V18C24 19.11 23.11 20 22 20H10C8.9 20 8 19.11 8 18V14L6 12L8 10V6C8 4.89 8.9 4 10 4H22C23.11 4 24 4.89 24 6M22 6H10V10.83L8.83 12L10 13.17V18H22V6M12 9H20V11H12V9M12 13H18V15H12V13Z\";\r\nexport var mdiTimer = \"M19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C17 22 21 17.97 21 13C21 10.88 20.26 8.93 19.03 7.39M13 14H11V7H13V14M15 1H9V3H15V1Z\";\r\nexport var mdiTimer10 = \"M12.9,13.22C12.9,13.82 12.86,14.33 12.78,14.75C12.7,15.17 12.58,15.5 12.42,15.77C12.26,16.03 12.06,16.22 11.83,16.34C11.6,16.46 11.32,16.5 11,16.5C10.71,16.5 10.43,16.46 10.19,16.34C9.95,16.22 9.75,16.03 9.59,15.77C9.43,15.5 9.3,15.17 9.21,14.75C9.12,14.33 9.08,13.82 9.08,13.22V10.72C9.08,10.12 9.12,9.61 9.21,9.2C9.3,8.79 9.42,8.46 9.59,8.2C9.75,7.95 9.95,7.77 10.19,7.65C10.43,7.54 10.7,7.5 11,7.5C11.31,7.5 11.58,7.54 11.81,7.65C12.05,7.76 12.25,7.94 12.41,8.2C12.57,8.45 12.7,8.78 12.78,9.19C12.86,9.6 12.91,10.11 12.91,10.71V13.22M13.82,7.05C13.5,6.65 13.07,6.35 12.59,6.17C12.12,6 11.58,5.9 11,5.9C10.42,5.9 9.89,6 9.41,6.17C8.93,6.35 8.5,6.64 8.18,7.05C7.84,7.46 7.58,8 7.39,8.64C7.21,9.29 7.11,10.09 7.11,11.03V12.95C7.11,13.89 7.2,14.69 7.39,15.34C7.58,16 7.84,16.53 8.19,16.94C8.53,17.35 8.94,17.65 9.42,17.83C9.9,18 10.43,18.11 11,18.11C11.6,18.11 12.13,18 12.6,17.83C13.08,17.65 13.5,17.35 13.82,16.94C14.16,16.53 14.42,16 14.6,15.34C14.78,14.69 14.88,13.89 14.88,12.95V11.03C14.88,10.09 14.79,9.29 14.6,8.64C14.42,8 14.16,7.45 13.82,7.05M23.78,14.37C23.64,14.09 23.43,13.84 23.15,13.63C22.87,13.42 22.54,13.24 22.14,13.1C21.74,12.96 21.29,12.83 20.79,12.72C20.44,12.65 20.15,12.57 19.92,12.5C19.69,12.41 19.5,12.33 19.37,12.24C19.23,12.15 19.14,12.05 19.09,11.94C19.04,11.83 19,11.7 19,11.55C19,11.41 19.04,11.27 19.1,11.14C19.16,11 19.25,10.89 19.37,10.8C19.5,10.7 19.64,10.62 19.82,10.56C20,10.5 20.22,10.47 20.46,10.47C20.71,10.47 20.93,10.5 21.12,10.58C21.31,10.65 21.47,10.75 21.6,10.87C21.73,11 21.82,11.13 21.89,11.29C21.95,11.45 22,11.61 22,11.78H23.94C23.94,11.39 23.86,11.03 23.7,10.69C23.54,10.35 23.31,10.06 23,9.81C22.71,9.56 22.35,9.37 21.92,9.22C21.5,9.07 21,9 20.46,9C19.95,9 19.5,9.07 19.07,9.21C18.66,9.35 18.3,9.54 18,9.78C17.72,10 17.5,10.3 17.34,10.62C17.18,10.94 17.11,11.27 17.11,11.63C17.11,12 17.19,12.32 17.34,12.59C17.5,12.87 17.7,13.11 18,13.32C18.25,13.53 18.58,13.7 18.96,13.85C19.34,14 19.77,14.11 20.23,14.21C20.62,14.29 20.94,14.38 21.18,14.47C21.42,14.56 21.61,14.66 21.75,14.76C21.88,14.86 21.97,15 22,15.1C22.07,15.22 22.09,15.35 22.09,15.5C22.09,15.81 21.96,16.06 21.69,16.26C21.42,16.46 21.03,16.55 20.5,16.55C20.3,16.55 20.09,16.53 19.88,16.47C19.67,16.42 19.5,16.34 19.32,16.23C19.15,16.12 19,15.97 18.91,15.79C18.8,15.61 18.74,15.38 18.73,15.12H16.84C16.84,15.5 16.92,15.83 17.08,16.17C17.24,16.5 17.47,16.82 17.78,17.1C18.09,17.37 18.47,17.59 18.93,17.76C19.39,17.93 19.91,18 20.5,18C21.04,18 21.5,17.95 21.95,17.82C22.38,17.69 22.75,17.5 23.06,17.28C23.37,17.05 23.6,16.77 23.77,16.45C23.94,16.13 24,15.78 24,15.39C24,15 23.93,14.65 23.78,14.37M0,7.72V9.4L3,8.4V18H5V6H4.75L0,7.72Z\";\r\nexport var mdiTimer3 = \"M20.87,14.37C20.73,14.09 20.5,13.84 20.24,13.63C19.96,13.42 19.63,13.24 19.23,13.1C18.83,12.96 18.38,12.83 17.88,12.72C17.53,12.65 17.24,12.57 17,12.5C16.78,12.41 16.6,12.33 16.46,12.24C16.32,12.15 16.23,12.05 16.18,11.94C16.13,11.83 16.1,11.7 16.1,11.55C16.1,11.4 16.13,11.27 16.19,11.14C16.25,11 16.34,10.89 16.46,10.8C16.58,10.7 16.73,10.62 16.91,10.56C17.09,10.5 17.31,10.47 17.55,10.47C17.8,10.47 18,10.5 18.21,10.58C18.4,10.65 18.56,10.75 18.69,10.87C18.82,11 18.91,11.13 19,11.29C19.04,11.45 19.08,11.61 19.08,11.78H21.03C21.03,11.39 20.95,11.03 20.79,10.69C20.63,10.35 20.4,10.06 20.1,9.81C19.8,9.56 19.44,9.37 19,9.22C18.58,9.07 18.09,9 17.55,9C17.04,9 16.57,9.07 16.16,9.21C15.75,9.35 15.39,9.54 15.1,9.78C14.81,10 14.59,10.3 14.43,10.62C14.27,10.94 14.2,11.27 14.2,11.63C14.2,12 14.28,12.31 14.43,12.59C14.58,12.87 14.8,13.11 15.07,13.32C15.34,13.53 15.67,13.7 16.05,13.85C16.43,14 16.86,14.11 17.32,14.21C17.71,14.29 18.03,14.38 18.27,14.47C18.5,14.56 18.7,14.66 18.84,14.76C18.97,14.86 19.06,15 19.11,15.1C19.16,15.22 19.18,15.35 19.18,15.5C19.18,15.81 19.05,16.06 18.78,16.26C18.5,16.46 18.12,16.55 17.61,16.55C17.39,16.55 17.18,16.53 16.97,16.47C16.76,16.42 16.57,16.34 16.41,16.23C16.24,16.12 16.11,15.97 16,15.79C15.89,15.61 15.83,15.38 15.82,15.12H13.93C13.93,15.5 14,15.83 14.17,16.17C14.33,16.5 14.56,16.82 14.87,17.1C15.18,17.37 15.56,17.59 16,17.76C16.5,17.93 17,18 17.6,18C18.13,18 18.61,17.95 19.04,17.82C19.47,17.69 19.84,17.5 20.15,17.28C20.46,17.05 20.69,16.77 20.86,16.45C21.03,16.13 21.11,15.78 21.11,15.39C21.09,15 21,14.65 20.87,14.37M11.61,12.97C11.45,12.73 11.25,12.5 11,12.32C10.74,12.13 10.43,11.97 10.06,11.84C10.36,11.7 10.63,11.54 10.86,11.34C11.09,11.14 11.28,10.93 11.43,10.7C11.58,10.47 11.7,10.24 11.77,10C11.85,9.75 11.88,9.5 11.88,9.26C11.88,8.71 11.79,8.22 11.6,7.8C11.42,7.38 11.16,7.03 10.82,6.74C10.5,6.46 10.09,6.24 9.62,6.1C9.17,5.97 8.65,5.9 8.09,5.9C7.54,5.9 7.03,6 6.57,6.14C6.1,6.31 5.7,6.54 5.37,6.83C5.04,7.12 4.77,7.46 4.59,7.86C4.39,8.25 4.3,8.69 4.3,9.15H6.28C6.28,8.89 6.33,8.66 6.42,8.46C6.5,8.26 6.64,8.08 6.8,7.94C6.97,7.8 7.16,7.69 7.38,7.61C7.6,7.53 7.84,7.5 8.11,7.5C8.72,7.5 9.17,7.65 9.47,7.96C9.77,8.27 9.91,8.71 9.91,9.28C9.91,9.55 9.87,9.8 9.79,10C9.71,10.24 9.58,10.43 9.41,10.59C9.24,10.75 9.03,10.87 8.78,10.96C8.53,11.05 8.23,11.09 7.89,11.09H6.72V12.66H7.9C8.24,12.66 8.54,12.7 8.81,12.77C9.08,12.85 9.31,12.96 9.5,13.12C9.69,13.28 9.84,13.5 9.94,13.73C10.04,13.97 10.1,14.27 10.1,14.6C10.1,15.22 9.92,15.69 9.57,16C9.22,16.35 8.73,16.5 8.12,16.5C7.83,16.5 7.56,16.47 7.32,16.38C7.08,16.3 6.88,16.18 6.71,16C6.54,15.86 6.41,15.68 6.32,15.46C6.23,15.24 6.18,15 6.18,14.74H4.19C4.19,15.29 4.3,15.77 4.5,16.19C4.72,16.61 5,16.96 5.37,17.24C5.73,17.5 6.14,17.73 6.61,17.87C7.08,18 7.57,18.08 8.09,18.08C8.66,18.08 9.18,18 9.67,17.85C10.16,17.7 10.58,17.47 10.93,17.17C11.29,16.87 11.57,16.5 11.77,16.07C11.97,15.64 12.07,15.14 12.07,14.59C12.07,14.3 12.03,14 11.96,13.73C11.88,13.5 11.77,13.22 11.61,12.97Z\";\r\nexport var mdiTimerAlert = \"M18.45 5.97C18 5.46 17.55 5 17.04 4.56L15.62 6C14.07 4.74 12.12 4 10 4C5.03 4 1 8.03 1 13S5.03 22 10 22C15 22 19 17.97 19 13C19 10.88 18.26 8.93 17.03 7.39L18.45 5.97M11 14H9V7H11V14M13 3H7V1H13V3M23 7V13H21V7H23M21 15H23V17H21V15Z\";\r\nexport var mdiTimerAlertOutline = \"M9 8H11V14H9V8M13 1H7V3H13V1M17.03 7.39C18.26 8.93 19 10.88 19 13C19 17.97 15 22 10 22C5.03 22 1 17.97 1 13S5.03 4 10 4C12.12 4 14.07 4.74 15.62 6L17.04 4.56C17.55 5 18 5.46 18.45 5.97L17.03 7.39M17 13C17 9.13 13.87 6 10 6S3 9.13 3 13 6.13 20 10 20 17 16.87 17 13M21 7V13H23V7H21M21 17H23V15H21V17Z\";\r\nexport var mdiTimerCancel = \"M15 3H9V1H15V3M12 18.5C12 19.77 12.37 20.94 13 21.94C12.67 22 12.34 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.16 8.81 20.87 10.57 21 12.5C20.22 12.18 19.38 12 18.5 12C14.91 12 12 14.91 12 18.5M13 7H11V14H13V7M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiTimerCancelOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.54 6 18.45 8.62 18.93 12.03C19.65 12.08 20.34 12.23 21 12.5C20.87 10.57 20.16 8.81 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.34 22 12.67 22 13 21.94C12.63 21.35 12.35 20.69 12.18 20C12.12 20 12.06 20 12 20M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiTimerCheck = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiTimerCheckOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M21.34 15.84L17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84Z\";\r\nexport var mdiTimerCog = \"M22.8 19.4C22.9 19.4 22.9 19.5 22.8 19.6L21.8 21.3C21.7 21.4 21.6 21.4 21.5 21.4L20.3 21C20 21.2 19.8 21.3 19.5 21.5L19.3 22.8C19.3 22.9 19.2 23 19.1 23H17.1C17 23 16.9 22.9 16.8 22.8L16.6 21.5C16.3 21.4 16 21.2 15.8 21L14.6 21.5C14.5 21.5 14.4 21.5 14.3 21.4L13.3 19.7C13.2 19.6 13.3 19.5 13.4 19.4L14.5 18.6V17.6L13.4 16.8C13.3 16.7 13.3 16.6 13.3 16.5L14.3 14.8C14.4 14.7 14.5 14.7 14.6 14.7L15.8 15.2C16.1 15 16.3 14.9 16.6 14.7L16.8 13.4C16.8 13.3 16.9 13.2 17.1 13.2H19.1C19.2 13.2 19.3 13.3 19.3 13.4L19.5 14.7C19.8 14.8 20.1 15 20.4 15.2L21.6 14.7C21.7 14.7 21.9 14.7 21.9 14.8L22.9 16.5C23 16.6 22.9 16.7 22.8 16.8L21.7 17.6V18.6L22.8 19.4M19.5 18C19.5 17.2 18.8 16.5 18 16.5S16.5 17.2 16.5 18 17.2 19.5 18 19.5 19.5 18.8 19.5 18M11 18C11 16.5 11.5 15.1 12.3 14H11V7H13V13.1C14.3 11.8 16 11 18 11C19 11 20 11.2 20.9 11.6C20.6 10 20 8.6 19 7.4L20.5 6C20 5.5 19.5 5 19 4.6L17.6 6C16.1 4.7 14.1 4 12 4C7 4 3 8 3 13S7 22 12 22H12.3C11.5 20.9 11 19.5 11 18M15 1H9V3H15V1Z\";\r\nexport var mdiTimerCogOutline = \"M22.8 19.4C22.9 19.4 22.9 19.5 22.8 19.6L21.8 21.3C21.7 21.4 21.6 21.4 21.5 21.4L20.3 21C20 21.2 19.8 21.3 19.5 21.5L19.3 22.8C19.3 22.9 19.2 23 19.1 23H17.1C17 23 16.9 22.9 16.8 22.8L16.6 21.5C16.3 21.4 16 21.2 15.8 21L14.6 21.5C14.5 21.5 14.4 21.5 14.3 21.4L13.3 19.7C13.2 19.6 13.3 19.5 13.4 19.4L14.5 18.6V17.6L13.4 16.8C13.3 16.7 13.3 16.6 13.3 16.5L14.3 14.8C14.4 14.7 14.5 14.7 14.6 14.7L15.8 15.2C16.1 15 16.3 14.9 16.6 14.7L16.8 13.4C16.8 13.3 16.9 13.2 17.1 13.2H19.1C19.2 13.2 19.3 13.3 19.3 13.4L19.5 14.7C19.8 14.8 20.1 15 20.4 15.2L21.6 14.7C21.7 14.7 21.9 14.7 21.9 14.8L22.9 16.5C23 16.6 22.9 16.7 22.8 16.8L21.7 17.6V18.6L22.8 19.4M19.5 18C19.5 17.2 18.8 16.5 18 16.5S16.5 17.2 16.5 18 17.2 19.5 18 19.5 19.5 18.8 19.5 18M13 14V8H11V14M15 1H9V3H15V1M11.3 20C7.8 19.6 5 16.6 5 13C5 9.1 8.1 6 12 6C15.2 6 17.9 8.1 18.7 11C19.5 11.1 20.2 11.3 20.9 11.6C20.6 10 20 8.6 19 7.4L20.5 6C20 5.5 19.5 5 19 4.6L17.6 6C16.1 4.7 14.1 4 12 4C7 4 3 8 3 13S7 22 12 22H12.3C11.8 21.4 11.5 20.7 11.3 20Z\";\r\nexport var mdiTimerEdit = \"M15 3H9V1H15V3M19.39 10.74L11 19.13V21.94C6.5 21.44 3 17.63 3 13C3 8.03 7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.67 8.19 20.17 9.11 20.5 10.1C20.1 10.21 19.71 10.42 19.39 10.74M13 7H11V14H13V7M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiTimerEditOutline = \"M13 14H11V8H13V14M15 1H9V3H15V1M5 13C5 9.13 8.13 6 12 6C15.29 6 18.05 8.28 18.79 11.34L19.39 10.74C19.71 10.42 20.1 10.21 20.5 10.1C20.18 9.11 19.67 8.19 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13C3 17.63 6.5 21.44 11 21.94V19.92C7.61 19.43 5 16.53 5 13M13 19.96V22H15.04L21.17 15.88L19.13 13.83L13 19.96M22.85 13.47L21.53 12.15C21.33 11.95 21 11.95 20.81 12.15L19.83 13.13L21.87 15.17L22.85 14.19C23.05 14 23.05 13.67 22.85 13.47Z\";\r\nexport var mdiTimerLock = \"M15 3H9V1H15V3M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.12 13.09 21.53 13.24 21.91C12.83 21.96 12.42 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.71 8.24 20.23 9.22 20.57 10.28C20.07 10.11 19.55 10 19 10C16.4 10 14.2 12.06 14.2 14.5M13 7H11V14H13V7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiTimerLockOpen = \"M15 3H9V1H15V3M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.7C13 21.12 13.09 21.53 13.24 21.91C12.83 21.96 12.42 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.46 7.93 19.82 8.5 20.12 9.14C19.76 9.06 19.39 9 19 9C16.4 9 14.2 11.06 14.2 13.5M13 7H11V14H13V7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiTimerLockOpenOutline = \"M11 8H13V14H11V8M13 19.92C12.67 19.97 12.34 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C14.44 6 16.59 7.26 17.85 9.15C18.22 9.06 18.6 9 19 9C19.39 9 19.76 9.06 20.12 9.14C19.82 8.5 19.46 7.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.53 13 21.12 13 20.7V19.92M15 1H9V3H15V1M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiTimerLockOutline = \"M11 8H13V14H11V8M13 19.92C12.67 19.97 12.34 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C14.82 6 17.24 7.67 18.35 10.06C18.56 10.04 18.78 10 19 10C19.55 10 20.07 10.11 20.57 10.28C20.23 9.22 19.71 8.24 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.53 13 21.12 13 20.7V19.92M15 1H9V3H15V1M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiTimerMarker = \"M15 3H9V1H15V3M13 15.5C13 17.5 14.28 19.73 15.42 21.33C14.37 21.76 13.21 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.74 8.28 20.29 9.32 20.62 10.44C19.97 10.16 19.25 10 18.5 10C15.5 10 13 12.5 13 15.5M13 14V7H11V14H13M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiTimerMarkerOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C14.79 6 17.2 7.64 18.32 10C18.38 10 18.44 10 18.5 10C19.25 10 19.97 10.16 20.62 10.44C20.29 9.32 19.74 8.28 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C13.21 22 14.37 21.76 15.42 21.33C15.05 20.81 14.67 20.22 14.32 19.6C13.59 19.85 12.81 20 12 20M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiTimerMinus = \"M19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.26 21 13 20.03 13 19C13 15.69 15.69 13 19 13M13 14H11V7H13V14M15 3H9V1H15V3M23 18V20H15V18H23Z\";\r\nexport var mdiTimerMinusOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M15 18V20H23V18H15Z\";\r\nexport var mdiTimerMusic = \"M16.5 16.11V11H20.77C20.46 9.66 19.86 8.43 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.46 13 21 13 20.5C13 18.36 14.5 16.57 16.5 16.11M13 14H11V7H13V14M15 3H9V1H15V3M22 13V15H20V20.5C20 21.88 18.88 23 17.5 23S15 21.88 15 20.5 16.12 18 17.5 18C17.86 18 18.19 18.07 18.5 18.21V13H22Z\";\r\nexport var mdiTimerMusicOutline = \"M15 3H9V1H15V3M11 14H13V8H11V14M13.05 19.91C12.71 19.97 12.36 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.17 6 17.85 8.11 18.71 11H20.77C20.46 9.66 19.86 8.43 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.42 22 12.83 21.96 13.24 21.91C13.09 21.46 13 21 13 20.5C13 20.3 13.03 20.11 13.05 19.91M18.5 13V18.21C18.19 18.07 17.86 18 17.5 18C16.12 18 15 19.12 15 20.5S16.12 23 17.5 23 20 21.88 20 20.5V15H22V13H18.5Z\";\r\nexport var mdiTimerOff = \"M3 4L1.75 5.27L4.5 8.03C3.55 9.45 3 11.16 3 13C3 17.97 7.03 22 12 22C13.84 22 15.55 21.45 17 20.5L19.5 23L20.75 21.73L13.04 14L3 4M15 1H9V3H15M21 13C21 14.83 20.45 16.53 19.5 17.94L13 11.45V7H11V9.45L7.05 5.5C8.47 4.55 10.17 4 12 4C14.12 4 16.07 4.74 17.62 5.97L19.04 4.55L20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13Z\";\r\nexport var mdiTimerOffOutline = \"M12,20A7,7 0 0,1 5,13C5,11.72 5.35,10.5 5.95,9.5L15.5,19.04C14.5,19.65 13.28,20 12,20M3,4L1.75,5.27L4.5,8.03C3.55,9.45 3,11.16 3,13A9,9 0 0,0 12,22C13.84,22 15.55,21.45 17,20.5L19.5,23L20.75,21.73L13.04,14L3,4M11,9.44L13,11.44V8H11M15,1H9V3H15M19.04,4.55L17.62,5.97C16.07,4.74 14.12,4 12,4C10.17,4 8.47,4.55 7.05,5.5L8.5,6.94C9.53,6.35 10.73,6 12,6A7,7 0 0,1 19,13C19,14.27 18.65,15.47 18.06,16.5L19.5,17.94C20.45,16.53 21,14.83 21,13C21,10.88 20.26,8.93 19.03,7.39L20.45,5.97L19.04,4.55Z\";\r\nexport var mdiTimerOutline = \"M12,20A7,7 0 0,1 5,13A7,7 0 0,1 12,6A7,7 0 0,1 19,13A7,7 0 0,1 12,20M19.03,7.39L20.45,5.97C20,5.46 19.55,5 19.04,4.56L17.62,6C16.07,4.74 14.12,4 12,4A9,9 0 0,0 3,13A9,9 0 0,0 12,22C17,22 21,17.97 21,13C21,10.88 20.26,8.93 19.03,7.39M11,14H13V8H11M15,1H9V3H15V1Z\";\r\nexport var mdiTimerPause = \"M16.5 16.5H18.38V21.5H16.5V16.5M19.63 16.5V21.5H21.5V16.5H19.63M15 1H9V3H15V1M21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35M13 7H11V14H13V7Z\";\r\nexport var mdiTimerPauseOutline = \"M21 13.35C20.36 13.13 19.7 13 19 13C19 9.13 15.87 6 12 6S5 9.13 5 13 8.13 20 12 20C12.37 20 12.72 19.96 13.08 19.91C13.18 20.6 13.4 21.25 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35M11 14H13V8H11V14M15 1H9V3H15V1M19.63 16.5V21.5H21.5V16.5H19.63M16.5 21.5H18.38V16.5H16.5V21.5Z\";\r\nexport var mdiTimerPlay = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M17 16V22L22 19L17 16Z\";\r\nexport var mdiTimerPlayOutline = \"M15 3H9V1H15V3M11 14H13V8H11V14M19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13M17 16V22L22 19L17 16Z\";\r\nexport var mdiTimerPlus = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiTimerPlusOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiTimerRefresh = \"M15 3H9V1H15V3M12 18.5C12 19.77 12.37 20.94 13 21.94C12.67 22 12.34 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.16 8.81 20.87 10.57 21 12.5C20.22 12.18 19.38 12 18.5 12C14.91 12 12 14.91 12 18.5M13 7H11V14H13V7M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiTimerRefreshOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.54 6 18.45 8.62 18.93 12.03C19.65 12.08 20.34 12.23 21 12.5C20.87 10.57 20.16 8.81 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.34 22 12.67 22 13 21.94C12.63 21.35 12.35 20.69 12.18 20C12.12 20 12.06 20 12 20M22 18.5V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22Z\";\r\nexport var mdiTimerRemove = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiTimerRemoveOutline = \"M13.08 19.91C13.18 20.6 13.4 21.25 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C19 9.13 15.87 6 12 6S5 9.13 5 13 8.13 20 12 20C12.37 20 12.72 19.96 13.08 19.91M11 14H13V8H11V14M15 1H9V3H15V1M22.54 16.88L21.12 15.47L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88Z\";\r\nexport var mdiTimerSand = \"M6,2H18V8H18V8L14,12L18,16V16H18V22H6V16H6V16L10,12L6,8V8H6V2M16,16.5L12,12.5L8,16.5V20H16V16.5M12,11.5L16,7.5V4H8V7.5L12,11.5M10,6H14V6.75L12,8.75L10,6.75V6Z\";\r\nexport var mdiTimerSandComplete = \"M18 22H6V16L10 12L6 8V2H18V8L14 12L18 16M8 7.5L12 11.5L16 7.5V4H8M12 12.5L8 16.5V20H16V16.5M14 18H10V17.2L12 15.2L14 17.2Z\";\r\nexport var mdiTimerSandEmpty = \"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6M16,16.5V20H8V16.5L12,12.5L16,16.5M12,11.5L8,7.5V4H16V7.5L12,11.5Z\";\r\nexport var mdiTimerSandFull = \"M6,2V8H6V8L10,12L6,16V16H6V22H18V16H18V16L14,12L18,8V8H18V2H6Z\";\r\nexport var mdiTimerSandPaused = \"M22 6V18H16L12 14L8 18H2V6H8L12 10L16 6M7.5 16L11.5 12L7.5 8H4V16M12.5 12L16.5 16H20V8H16.5M18 12V14H17.2L15.2 12M8.8 12L6.8 14H6V12Z\";\r\nexport var mdiTimerSettings = \"M19 6.4L20.5 5C20 4.5 19.5 4 19 3.6L17.6 5C16 3.7 14.1 3 12 3C7 3 3 7 3 12S7 21 12 21C17 21 21 17 21 12C21 9.9 20.3 7.9 19 6.4M13 13H11V6H13V13M15 0H9V2H15V0M13 24H11V22H13V24M17 24H15V22H17V24M9 24H7V22H9V24Z\";\r\nexport var mdiTimerSettingsOutline = \"M12 19C8.1 19 5 15.9 5 12S8.1 5 12 5 19 8.1 19 12 15.9 19 12 19M19 6.4L20.5 5C20 4.5 19.5 4 19 3.6L17.6 5C16 3.7 14.1 3 12 3C7 3 3 7 3 12S7 21 12 21C17 21 21 17 21 12C21 9.9 20.3 7.9 19 6.4M11 13H13V7H11M15 0H9V2H15V0M13 22H11V24H13V22M17 22H15V24H17V22M9 22H7V24H9V22Z\";\r\nexport var mdiTimerStar = \"M15 3H9V1H15V3M13 19C13 20.03 13.26 21 13.71 21.83C13.16 21.94 12.59 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C20.26 8.93 21 10.88 21 13C21 13.12 21 13.23 21 13.35C20.36 13.13 19.7 13 19 13C15.69 13 13 15.69 13 19M13 7H11V14H13V7M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiTimerStarOutline = \"M11 8H13V14H11V8M15 1H9V3H15V1M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M23 17.89L20.11 17.64L19 15L17.87 17.64L15 17.89L17.18 19.77L16.5 22.58L19 21.09L21.45 22.58L20.8 19.77L23 17.89Z\";\r\nexport var mdiTimerStop = \"M19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.26 21 13 20.03 13 19C13 15.69 15.69 13 19 13M13 14H11V7H13V14M15 3H9V1H15V3M21.5 16.5V21.5H16.5V16.5H21.5Z\";\r\nexport var mdiTimerStopOutline = \"M11 8H13V14H11V8M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6 19 9.13 19 13C19.7 13 20.36 13.13 21 13.35C21 13.23 21 13.12 21 13C21 10.88 20.26 8.93 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.59 22 13.16 21.94 13.71 21.83C13.4 21.25 13.18 20.6 13.08 19.91C12.72 19.96 12.37 20 12 20M15 1H9V3H15V1M16.5 16.5V21.5H21.5V16.5H16.5Z\";\r\nexport var mdiTimerSync = \"M15 3H9V1H15V3M13 17.5C13 19.08 13.56 20.5 14.5 21.65C13.7 21.87 12.87 22 12 22C7.03 22 3 17.97 3 13S7.03 4 12 4C14.12 4 16.07 4.74 17.62 6L19.04 4.56C19.55 5 20 5.46 20.45 5.97L19.03 7.39C19.89 8.46 20.5 9.74 20.8 11.13C20.38 11.05 19.94 11 19.5 11C15.91 11 13 13.91 13 17.5M13 7H11V14H13V7M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiTimerSyncOutline = \"M11 8H13V14H11V8M12 20C8.13 20 5 16.87 5 13S8.13 6 12 6C15.19 6 17.88 8.14 18.72 11.05C19 11 19.24 11 19.5 11C19.94 11 20.38 11.05 20.8 11.13C20.5 9.74 19.89 8.46 19.03 7.39L20.45 5.97C20 5.46 19.55 5 19.04 4.56L17.62 6C16.07 4.74 14.12 4 12 4C7.03 4 3 8.03 3 13S7.03 22 12 22C12.87 22 13.7 21.87 14.5 21.65C14.05 21.11 13.7 20.5 13.45 19.85C13 19.95 12.5 20 12 20M15 1H9V3H15V1M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20Z\";\r\nexport var mdiTimetable = \"M14,12H15.5V14.82L17.94,16.23L17.19,17.53L14,15.69V12M4,2H18A2,2 0 0,1 20,4V10.1C21.24,11.36 22,13.09 22,15A7,7 0 0,1 15,22C13.09,22 11.36,21.24 10.1,20H4A2,2 0 0,1 2,18V4A2,2 0 0,1 4,2M4,15V18H8.67C8.24,17.09 8,16.07 8,15H4M4,8H10V5H4V8M18,8V5H12V8H18M4,13H8.29C8.63,11.85 9.26,10.82 10.1,10H4V13M15,10.15A4.85,4.85 0 0,0 10.15,15C10.15,17.68 12.32,19.85 15,19.85A4.85,4.85 0 0,0 19.85,15C19.85,12.32 17.68,10.15 15,10.15Z\";\r\nexport var mdiTire = \"M19.66 9.64L19.3 8.7L21.16 8C20.24 5.88 18.6 4.18 16.54 3.14L15.74 4.92L14.82 4.5L15.62 2.7C14.5 2.26 13.28 2 12 2C10.94 2 9.92 2.22 8.96 2.5L9.64 4.34L8.7 4.7L8 2.84C5.88 3.76 4.18 5.4 3.14 7.46L4.92 8.26L4.5 9.18L2.7 8.38C2.26 9.5 2 10.72 2 12C2 13.06 2.22 14.08 2.5 15.04L4.34 14.36L4.7 15.3L2.84 16C3.76 18.12 5.4 19.82 7.46 20.86L8.26 19.08L9.18 19.5L8.38 21.3C9.5 21.74 10.72 22 12 22C13.06 22 14.08 21.78 15.04 21.5L14.36 19.66L15.3 19.3L16 21.16C18.12 20.24 19.82 18.6 20.86 16.54L19.08 15.74L19.5 14.82L21.3 15.62C21.74 14.5 22 13.28 22 12C22 10.94 21.78 9.92 21.5 8.96L19.66 9.64M14.3 17.54C11.24 18.8 7.72 17.36 6.46 14.3S6.64 7.72 9.7 6.46 16.28 6.64 17.54 9.7C18.82 12.76 17.36 16.28 14.3 17.54Z\";\r\nexport var mdiToaster = \"M21 11A2 2 0 0 0 19 9H5A2 2 0 0 0 3 11H2V13H3V20H21V13H22V11M17 15A2 2 0 1 1 19 13A2 2 0 0 1 17 15M18 8H6C6.33 5.75 8.88 4 12 4S17.63 5.75 18 8Z\";\r\nexport var mdiToasterOff = \"M20.8 22.7L18.1 20H3V13H2V11H3C3 9.9 3.9 9 5 9H7.1L1.1 3L2.4 1.7L22.1 21.4L20.8 22.7M15.3 12.1C15.6 11.5 16.3 11 17 11C18.1 11 19 11.9 19 13C19 13.8 18.6 14.4 17.9 14.7L21 17.8V13H22V11H21C21 9.9 20.1 9 19 9H12.2L15.3 12.1M18 8C17.6 5.8 15.1 4 12 4C10.6 4 9.2 4.4 8.2 5L11.2 8H18Z\";\r\nexport var mdiToasterOven = \"M4,5A2,2 0 0,0 2,7V17A2,2 0 0,0 4,19H20A2,2 0 0,0 22,17V7A2,2 0 0,0 20,5H4M4,7H16V17H4V7M19,7A1,1 0 0,1 20,8A1,1 0 0,1 19,9A1,1 0 0,1 18,8A1,1 0 0,1 19,7M6,9V11H14V9H6M19,11A1,1 0 0,1 20,12A1,1 0 0,1 19,13A1,1 0 0,1 18,12A1,1 0 0,1 19,11Z\";\r\nexport var mdiToggleSwitch = \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\";\r\nexport var mdiToggleSwitchOff = \"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\";\r\nexport var mdiToggleSwitchOffOutline = \"M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6zm0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4zM7 9c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\";\r\nexport var mdiToggleSwitchOutline = \"M17 6H7C3.69 6 1 8.69 1 12S3.69 18 7 18H17C20.31 18 23 15.31 23 12S20.31 6 17 6M17 16H7C4.79 16 3 14.21 3 12S4.79 8 7 8H17C19.21 8 21 9.79 21 12S19.21 16 17 16M17 9C15.34 9 14 10.34 14 12S15.34 15 17 15 20 13.66 20 12 18.66 9 17 9Z\";\r\nexport var mdiToggleSwitchVariant = \"M18.4 1.6C18 1.2 17.5 1 17 1H7C6.5 1 6 1.2 5.6 1.6C5.2 2 5 2.5 5 3V21C5 21.5 5.2 22 5.6 22.4C6 22.8 6.5 23 7 23H17C17.5 23 18 22.8 18.4 22.4C18.8 22 19 21.5 19 21V3C19 2.5 18.8 2 18.4 1.6M16 7C16 7.6 15.6 8 15 8H9C8.4 8 8 7.6 8 7V5C8 4.4 8.4 4 9 4H15C15.6 4 16 4.4 16 5V7Z\";\r\nexport var mdiToggleSwitchVariantOff = \"M5.6 1.6C6 1.2 6.5 1 7 1H17C17.5 1 18 1.2 18.4 1.6C18.8 2 19 2.5 19 3V21C19 21.5 18.8 22 18.4 22.4C18 22.8 17.5 23 17 23H7C6.5 23 6 22.8 5.6 22.4C5.2 22 5 21.5 5 21V3C5 2.5 5.2 2 5.6 1.6M8 3C7.4 3 7 3.4 7 4V20C7 20.6 7.4 21 8 21H16C16.6 21 17 20.6 17 20V4C17 3.4 16.6 3 16 3H8M8 17C8 16.4 8.4 16 9 16H15C15.6 16 16 16.4 16 17V19C16 19.6 15.6 20 15 20H9C8.4 20 8 19.6 8 19V17Z\";\r\nexport var mdiToilet = \"M9,22H17V19.5C19.41,17.87 21,15.12 21,12V4A2,2 0 0,0 19,2H15C13.89,2 13,2.9 13,4V12H3C3,15.09 5,18 9,19.5V22M5.29,14H18.71C18.14,15.91 16.77,17.5 15,18.33V20H11V18.33C9,18 5.86,15.91 5.29,14M15,4H19V12H15V4M16,5V8H18V5H16Z\";\r\nexport var mdiToolbox = \"M18 16H16V15H8V16H6V15H2V20H22V15H18V16M20 8H17V6C17 4.9 16.1 4 15 4H9C7.9 4 7 4.9 7 6V8H4C2.9 8 2 8.9 2 10V14H6V12H8V14H16V12H18V14H22V10C22 8.9 21.1 8 20 8M15 8H9V6H15V8Z\";\r\nexport var mdiToolboxOutline = \"M20 8H17V6C17 4.9 16.1 4 15 4H9C7.9 4 7 4.9 7 6V8H4C2.9 8 2 8.9 2 10V20H22V10C22 8.9 21.1 8 20 8M9 6H15V8H9V6M20 18H4V15H6V16H8V15H16V16H18V15H20V18M18 13V12H16V13H8V12H6V13H4V10H20V13H18Z\";\r\nexport var mdiTools = \"M21.71 20.29L20.29 21.71A1 1 0 0 1 18.88 21.71L7 9.85A3.81 3.81 0 0 1 6 10A4 4 0 0 1 2.22 4.7L4.76 7.24L5.29 6.71L6.71 5.29L7.24 4.76L4.7 2.22A4 4 0 0 1 10 6A3.81 3.81 0 0 1 9.85 7L21.71 18.88A1 1 0 0 1 21.71 20.29M2.29 18.88A1 1 0 0 0 2.29 20.29L3.71 21.71A1 1 0 0 0 5.12 21.71L10.59 16.25L7.76 13.42M20 2L16 4V6L13.83 8.17L15.83 10.17L18 8H20L22 4Z\";\r\nexport var mdiTooltip = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2Z\";\r\nexport var mdiTooltipAccount = \"M20,2H4A2,2 0 0,0 2,4V16A2,2 0 0,0 4,18H8L12,22L16,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M12,4.3C13.5,4.3 14.7,5.5 14.7,7C14.7,8.5 13.5,9.7 12,9.7C10.5,9.7 9.3,8.5 9.3,7C9.3,5.5 10.5,4.3 12,4.3M18,15H6V14.1C6,12.1 10,11 12,11C14,11 18,12.1 18,14.1V15Z\";\r\nexport var mdiTooltipCellphone = \"M9 6H15V14H9V6M22 4V16C22 17.11 21.11 18 20 18H16L12 22L8 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2H20C21.11 2 22 2.9 22 4M16 5.09C16 4.5 15.5 4 14.86 4H9.14C8.5 4 8 4.5 8 5.09V14.91C8 15.5 8.5 16 9.14 16H14.86C15.5 16 16 15.5 16 14.91V5.09Z\";\r\nexport var mdiTooltipCheck = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M10.46 14L6.96 10.5L8.37 9.08L10.46 11.17L15.64 6L17.05 7.41L10.46 14Z\";\r\nexport var mdiTooltipCheckOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M10.75 13.71L7.25 10.21L8.66 8.79L10.75 10.88L15.34 6.3L16.75 7.71L10.75 13.71Z\";\r\nexport var mdiTooltipEdit = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M9.08 15H7V12.91L13.17 6.72L15.24 8.8L9.08 15M16.84 7.2L15.83 8.21L13.76 6.18L14.77 5.16C14.97 4.95 15.31 4.94 15.55 5.16L16.84 6.41C17.05 6.62 17.06 6.96 16.84 7.2Z\";\r\nexport var mdiTooltipEditOutline = \"M4 2H20C21.11 2 22 2.9 22 4V16C22 17.11 21.11 18 20 18H16L12 22L8 18H4C2.9 18 2 17.11 2 16V4C2 2.9 2.9 2 4 2M4 4V16H8.83L12 19.17L15.17 16H20V4H4M15.84 8.2L14.83 9.21L12.76 7.18L13.77 6.16C13.97 5.95 14.31 5.94 14.55 6.16L15.84 7.41C16.05 7.62 16.06 7.96 15.84 8.2M8 11.91L12.17 7.72L14.24 9.8L10.08 14H8V11.91Z\";\r\nexport var mdiTooltipImage = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M19,15V7L15,11L13,9L7,15H19M7,5A2,2 0 0,0 5,7A2,2 0 0,0 7,9A2,2 0 0,0 9,7A2,2 0 0,0 7,5Z\";\r\nexport var mdiTooltipImageOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M7.5,6A1.5,1.5 0 0,1 9,7.5A1.5,1.5 0 0,1 7.5,9A1.5,1.5 0 0,1 6,7.5A1.5,1.5 0 0,1 7.5,6M6,14L11,9L13,11L18,6V14H6Z\";\r\nexport var mdiTooltipMinus = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M16 11H8V9H16V11Z\";\r\nexport var mdiTooltipMinusOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M16 11H8V9H16V11Z\";\r\nexport var mdiTooltipOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4Z\";\r\nexport var mdiTooltipPlus = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M11,6V9H8V11H11V14H13V11H16V9H13V6H11Z\";\r\nexport var mdiTooltipPlusOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M11,6H13V9H16V11H13V14H11V11H8V9H11V6Z\";\r\nexport var mdiTooltipQuestion = \"M20 2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V16C2 16.53 2.21 17.04 2.59 17.41C2.96 17.79 3.47 18 4 18H8L12 22L16 18H20C20.53 18 21.04 17.79 21.41 17.41S22 16.53 22 16V4C22 3.47 21.79 2.96 21.41 2.59C21.04 2.21 20.53 2 20 2M10.05 6.04C10.59 5.68 11.3 5.5 12.19 5.5C13.13 5.5 13.88 5.71 14.42 6.12C14.96 6.54 15.23 7.1 15.23 7.8C15.23 8.24 15.08 8.63 14.79 9C14.5 9.36 14.12 9.64 13.66 9.85C13.4 10 13.23 10.15 13.14 10.32C13.05 10.5 13 10.72 13 11H11C11 10.5 11.1 10.16 11.29 9.92C11.5 9.68 11.84 9.4 12.36 9.08C12.62 8.94 12.83 8.76 13 8.54C13.14 8.33 13.22 8.08 13.22 7.8C13.22 7.5 13.13 7.28 12.95 7.11C12.77 6.93 12.5 6.85 12.19 6.85C11.92 6.85 11.7 6.92 11.5 7.06C11.34 7.2 11.24 7.41 11.24 7.69H9.27C9.22 7 9.5 6.4 10.05 6.04M11 14V12H13V14Z\";\r\nexport var mdiTooltipQuestionOutline = \"M20 2H4C3.47 2 2.96 2.21 2.59 2.59C2.21 2.96 2 3.47 2 4V16C2 16.53 2.21 17.04 2.59 17.41C2.96 17.79 3.47 18 4 18H8L12 22L16 18H20C20.53 18 21.04 17.79 21.41 17.41S22 16.53 22 16V4C22 3.47 21.79 2.96 21.41 2.59C21.04 2.21 20.53 2 20 2M4 16V4H20V16H15.17L12 19.17L8.83 16M10.05 6.04C10.59 5.68 11.3 5.5 12.19 5.5C13.13 5.5 13.88 5.71 14.42 6.12C14.96 6.54 15.23 7.1 15.23 7.8C15.23 8.24 15.08 8.63 14.79 9C14.5 9.36 14.12 9.64 13.66 9.85C13.4 10 13.23 10.15 13.14 10.32C13.05 10.5 13 10.72 13 11H11C11 10.5 11.1 10.16 11.29 9.92C11.5 9.68 11.84 9.4 12.36 9.08C12.62 8.94 12.83 8.76 13 8.54C13.14 8.33 13.22 8.08 13.22 7.8C13.22 7.5 13.13 7.28 12.95 7.11C12.77 6.93 12.5 6.85 12.19 6.85C11.92 6.85 11.7 6.92 11.5 7.06C11.34 7.2 11.24 7.41 11.24 7.69H9.27C9.22 7 9.5 6.4 10.05 6.04M11 14V12H13V14Z\";\r\nexport var mdiTooltipRemove = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M15.54 12.12L14.12 13.54L12 11.41L9.88 13.54L8.47 12.12L10.59 10L8.46 7.88L9.88 6.47L12 8.59L14.12 6.47L15.54 7.88L13.41 10L15.54 12.12Z\";\r\nexport var mdiTooltipRemoveOutline = \"M20 2H4C2.9 2 2 2.9 2 4V16C2 17.11 2.9 18 4 18H8L12 22L16 18H20C21.11 18 22 17.11 22 16V4C22 2.9 21.11 2 20 2M20 16H15.17L12 19.17L8.83 16H4V4H20V16M8.46 12.12L10.59 10L8.46 7.88L9.88 6.47L12 8.59L14.12 6.47L15.54 7.88L13.41 10L15.54 12.12L14.12 13.54L12 11.41L9.88 13.54L8.46 12.12Z\";\r\nexport var mdiTooltipText = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M5,5V7H19V5H5M5,9V11H15V9H5M5,13V15H17V13H5Z\";\r\nexport var mdiTooltipTextOutline = \"M4,2H20A2,2 0 0,1 22,4V16A2,2 0 0,1 20,18H16L12,22L8,18H4A2,2 0 0,1 2,16V4A2,2 0 0,1 4,2M4,4V16H8.83L12,19.17L15.17,16H20V4H4M6,7H18V9H6V7M6,11H16V13H6V11Z\";\r\nexport var mdiTooth = \"M7,2C4,2 2,5 2,8C2,10.11 3,13 4,14C5,15 6,22 8,22C12.54,22 10,15 12,15C14,15 11.46,22 16,22C18,22 19,15 20,14C21,13 22,10.11 22,8C22,5 20,2 17,2C14,2 14,3 12,3C10,3 10,2 7,2Z\";\r\nexport var mdiToothOutline = \"M7,2C4,2 2,5 2,8C2,10.11 3,13 4,14C5,15 6,22 8,22C12.54,22 10,15 12,15C14,15 11.46,22 16,22C18,22 19,15 20,14C21,13 22,10.11 22,8C22,5 20,2 17,2C14,2 14,3 12,3C10,3 10,2 7,2M7,4C9,4 10,5 12,5C14,5 15,4 17,4C18.67,4 20,6 20,8C20,9.75 19.14,12.11 18.19,13.06C17.33,13.92 16.06,19.94 15.5,19.94C15.29,19.94 15,18.88 15,17.59C15,15.55 14.43,13 12,13C9.57,13 9,15.55 9,17.59C9,18.88 8.71,19.94 8.5,19.94C7.94,19.94 6.67,13.92 5.81,13.06C4.86,12.11 4,9.75 4,8C4,6 5.33,4 7,4Z\";\r\nexport var mdiToothbrush = \"M12.91 6.43L15.03 8.55L16.09 7.5L15.03 6.43L17.86 3.6L18.92 4.66L20 3.6L17.86 1.5M3 20.57L4.43 22L14.5 11.9L16.63 11.19L21.4 6.43C22.18 5.65 22.18 4.38 21.4 3.6L15.55 9.44L13.43 10.15Z\";\r\nexport var mdiToothbrushElectric = \"M12 1.5V14C10.34 14 9 15.34 9 17V22H17V17C17 15.34 15.66 14 14 14V3.5C14 2.4 13.11 1.5 12 1.5M7.5 2V9H11V7.5H9V3.5H11V2H7.5M13 17.5C13.83 17.5 14.5 18.17 14.5 19C14.5 19.83 13.83 20.5 13 20.5C12.17 20.5 11.5 19.83 11.5 19C11.5 18.17 12.17 17.5 13 17.5Z\";\r\nexport var mdiToothbrushPaste = \"M17.86 1.5L12.91 6.43L15.03 8.55L16.09 7.5L15.03 6.43L17.86 3.6L18.92 4.66L20 3.6M21.4 3.6L15.56 9.44L13.43 10.15L3 20.57L4.43 22L10.08 16.33L14.33 20.57L18.57 16.33L14.33 12.09L14.5 11.9L16.63 11.19L21.4 6.43C22.18 5.65 22.18 4.38 21.4 3.6M6.55 4.31L2.31 8.55L7.26 13.5L11.5 9.26M18.22 18.1L16.09 20.22L17.5 21.63L19.63 19.5Z\";\r\nexport var mdiTorch = \"M8.6 9.6C9 10.2 9.5 10.7 10.2 11H14.2C14.5 10.9 14.7 10.7 14.9 10.5C15.9 9.5 16.3 8 15.8 6.7L15.7 6.5C15.6 6.2 15.4 6 15.2 5.8C15.1 5.6 14.9 5.5 14.8 5.3C14.4 5 14 4.7 13.6 4.3C12.7 3.4 12.6 2 13.1 1C12.6 1.1 12.1 1.4 11.7 1.8C10.2 3 9.6 5.1 10.3 7V7.2C10.3 7.3 10.2 7.4 10.1 7.5C10 7.6 9.8 7.5 9.7 7.4L9.6 7.3C9 6.5 8.9 5.3 9.3 4.3C8.4 5.1 7.9 6.4 8 7.7C8 8 8.1 8.3 8.2 8.6C8.2 8.9 8.4 9.3 8.6 9.6M12.3 8.1C12.4 7.6 12.2 7.2 12.1 6.8C12 6.4 12 6 12.2 5.6L12.5 6.2C12.9 6.8 13.6 7 13.8 7.8V8.1C13.8 8.6 13.6 9.1 13.3 9.4C13.1 9.5 12.9 9.7 12.7 9.7C12.1 9.9 11.4 9.6 11 9.2C11.8 9.2 12.2 8.6 12.3 8.1M15 12V14H14L13 22H11L10 14H9V12H15Z\";\r\nexport var mdiTortoise = \"M19.31,5.6C18.09,5.56 16.88,6.5 16.5,8C16,10 16,10 15,11C13,13 10,14 4,15C3,15.16 2.5,15.5 2,16C4,16 6,16 4.5,17.5L3,19H6L8,17C10,18 11.33,18 13.33,17L14,19H17L16,16C16,16 17,12 18,11C19,10 19,11 20,11C21,11 22,10 22,8.5C22,8 22,7 20.5,6C20.15,5.76 19.74,5.62 19.31,5.6M9,6A6,6 0 0,0 3,12C3,12.6 3.13,13.08 3.23,13.6C9.15,12.62 12.29,11.59 13.93,9.94L14.43,9.44C13.44,7.34 11.32,6 9,6Z\";\r\nexport var mdiToslink = \"M20 10V7L17 4H7L4 7V10C2.9 10 2 10.9 2 12S2.9 14 4 14V18C4 19.1 4.9 20 6 20H18C19.1 20 20 19.1 20 18V14C21.11 14 22 13.11 22 12S21.11 10 20 10M12 16C9.79 16 8 14.21 8 12S9.79 8 12 8 16 9.79 16 12 14.21 16 12 16M14 12C14 13.11 13.11 14 12 14S10 13.11 10 12 10.9 10 12 10 14 10.9 14 12Z\";\r\nexport var mdiTouchTextOutline = \"M7 7H17V9H7V7M12.69 15.81H13.2V15H7V17H10.38L10.71 16.65C11.18 16.13 11.92 15.81 12.69 15.81M9 19H5V5H19V13.56L21 14.45V5C21 3.9 20.1 3 19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H11.33L9 19M7 13H13.2V11.73C13.2 11.5 13.25 11.24 13.31 11H7V13M15.2 19.07L12.85 17.81H12.69C12.5 17.81 12.29 17.89 12.15 18.04L11.61 18.61L15.2 21.69C15.39 21.89 15.66 22 15.93 22H20.7C21.3 22 21.78 21.5 21.8 20.9V17.7C21.8 17.28 21.57 16.89 21.18 16.71L17.55 15.11L16.67 15V11.73C16.67 11.33 16.34 11 15.93 11C15.53 11 15.2 11.33 15.2 11.73V19.07Z\";\r\nexport var mdiTournament = \"M2,2V4H7V8H2V10H7C8.11,10 9,9.11 9,8V7H14V17H9V16C9,14.89 8.11,14 7,14H2V16H7V20H2V22H7C8.11,22 9,21.11 9,20V19H14C15.11,19 16,18.11 16,17V13H22V11H16V7C16,5.89 15.11,5 14,5H9V4C9,2.89 8.11,2 7,2H2Z\";\r\nexport var mdiTowTruck = \"M15,10H20.39L17.06,6H15V10M17.5,18.5C17.89,18.5 18.24,18.37 18.54,18.07C18.84,17.77 19,17.42 19,17C19,16.61 18.84,16.26 18.54,15.96C18.24,15.66 17.89,15.5 17.5,15.5C17.08,15.5 16.73,15.66 16.43,15.96C16.13,16.26 16,16.61 16,17C16,17.42 16.13,17.77 16.43,18.07C16.73,18.37 17.08,18.5 17.5,18.5M6,18.5C6.44,18.5 6.8,18.37 7.08,18.07C7.36,17.77 7.5,17.42 7.5,17C7.5,16.61 7.36,16.26 7.08,15.96C6.8,15.66 6.44,15.5 6,15.5C5.56,15.5 5.2,15.66 4.92,15.96C4.64,16.26 4.5,16.61 4.5,17C4.5,17.42 4.64,17.77 4.92,18.07C5.2,18.37 5.56,18.5 6,18.5M18,4L23,10V17H20.5C20.5,17.83 20.19,18.53 19.59,19.13C19,19.72 18.3,20 17.5,20C16.67,20 15.97,19.72 15.38,19.13C14.78,18.53 14.5,17.83 14.5,17H9C9,17.83 8.7,18.53 8.11,19.13C7.5,19.72 6.81,20 6,20C5.19,20 4.5,19.72 3.89,19.13C3.3,18.53 3,17.83 3,17H1V13H9.19L3,8.11V11H1V5H2L13,11.06V4H18Z\";\r\nexport var mdiTowerBeach = \"M17,4V8H18V10H17.64L21,23H18.93L18.37,20.83L12,17.15L5.63,20.83L5.07,23H3L6.36,10H6V8H7V4H6V3L18,1V4H17M7.28,14.43L6.33,18.12L10,16L7.28,14.43M15.57,10H8.43L7.8,12.42L12,14.85L16.2,12.42L15.57,10M17.67,18.12L16.72,14.43L14,16L17.67,18.12Z\";\r\nexport var mdiTowerFire = \"M17,4V8H18V10H17.64L21,23H18.93L18.37,20.83L12,17.15L5.63,20.83L5.07,23H3L6.36,10H6V8H7V4H6V3L12,1L18,3V4H17M7.28,14.43L6.33,18.12L10,16L7.28,14.43M15.57,10H8.43L7.8,12.42L12,14.85L16.2,12.42L15.57,10M17.67,18.12L16.72,14.43L14,16L17.67,18.12Z\";\r\nexport var mdiTownHall = \"M21 10H17V8L12.5 6.2V4H15V2H11.5V6.2L7 8V10H3C2.45 10 2 10.45 2 11V22H10V17H14V22H22V11C22 10.45 21.55 10 21 10M8 20H4V17H8V20M8 15H4V12H8V15M12 8C12.55 8 13 8.45 13 9S12.55 10 12 10 11 9.55 11 9 11.45 8 12 8M14 15H10V12H14V15M20 20H16V17H20V20M20 15H16V12H20V15Z\";\r\nexport var mdiToyBrick = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H21V6Z\";\r\nexport var mdiToyBrickMarker = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14.54A9.55 9.55 0 0 1 13 15.5A5.58 5.58 0 0 1 18.5 10A5.3 5.3 0 0 1 21 10.63V6M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8Z\";\r\nexport var mdiToyBrickMarkerOutline = \"M18.5 12A3.54 3.54 0 0 0 15 15.5C15 18.1 18.5 22 18.5 22S22 18.1 22 15.5A3.54 3.54 0 0 0 18.5 12M18.5 16.8A1.2 1.2 0 1 1 18.5 14.4A1.29 1.29 0 0 1 19.7 15.6A1.15 1.15 0 0 1 18.5 16.8M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14.54A15.55 15.55 0 0 1 13.54 18H5V8H19V10A5.11 5.11 0 0 1 21 10.6V6Z\";\r\nexport var mdiToyBrickMinus = \"M23 20H15V18H23V20M13 19C13 15.69 15.69 13 19 13C19.7 13 20.37 13.13 21 13.35V6H19V5C19 3.9 18.11 3 17 3H15C13.9 3 13 3.9 13 5V6H11V5C11 3.9 10.11 3 9 3H7C5.9 3 5 3.9 5 5V6H3V20H13.09C13.04 19.67 13 19.34 13 19Z\";\r\nexport var mdiToyBrickMinusOutline = \"M13.09 20H3V6H5V5C5 3.9 5.9 3 7 3H9C10.11 3 11 3.9 11 5V6H13V5C13 3.9 13.9 3 15 3H17C18.11 3 19 3.9 19 5V6H21V13.35C20.37 13.13 19.7 13 19 13V8H5V18H13.09C13.04 18.33 13 18.66 13 19S13.04 19.67 13.09 20M23 18H15V20H23V18Z\";\r\nexport var mdiToyBrickOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H21V6M19 18H5V8H19Z\";\r\nexport var mdiToyBrickPlus = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 21 13.34V6M20 15V18H23V20H20V23H18V20H15V18H18V15Z\";\r\nexport var mdiToyBrickPlusOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H14V18H5V8H19V13H21V6M21 15V18H24V20H21V23H19V20H16V18H19V15Z\";\r\nexport var mdiToyBrickRemove = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H13.09A5.47 5.47 0 0 1 13 19A6 6 0 0 1 21 13.34V6M22.54 16.88L20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.46 21.12L17.59 19L15.46 16.88L16.88 15.46L19 17.59L21.12 15.46Z\";\r\nexport var mdiToyBrickRemoveOutline = \"M19 6V5C19 3.9 18.1 3 17 3H15C13.9 3 13 3.9 13 5V6H11V5C11 3.9 10.1 3 9 3H7C5.9 3 5 3.9 5 5V6H3V20H14V18H5V8H19V13H21V6M17.88 15.46L20 17.59L22.12 15.47L23.54 16.88L21.41 19L23.54 21.12L22.12 22.54L20 20.41L17.88 22.54L16.46 21.12L18.59 19L16.47 16.88\";\r\nexport var mdiToyBrickSearch = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H11.81A6.5 6.5 0 0 1 21 10.81V6M20.31 17.9A4.5 4.5 0 1 0 18.88 19.32L22 22.39L23.39 21M16.5 18A2.5 2.5 0 1 1 19 15.5A2.5 2.5 0 0 1 16.5 18Z\";\r\nexport var mdiToyBrickSearchOutline = \"M19 6V5A2 2 0 0 0 17 3H15A2 2 0 0 0 13 5V6H11V5A2 2 0 0 0 9 3H7A2 2 0 0 0 5 5V6H3V20H11.81A6.59 6.59 0 0 1 10.5 18H5V8H19V9.5A6.59 6.59 0 0 1 21 10.81V6M20.31 17.9A4.5 4.5 0 1 0 18.88 19.32L22 22.39L23.39 21M16.5 18A2.5 2.5 0 1 1 19 15.5A2.5 2.5 0 0 1 16.5 18Z\";\r\nexport var mdiTrackLight = \"M6,1V3H9V6.4L4.11,4.38L1.43,10.84L6.97,13.14L11.94,16.82L13.79,17.59L17.62,8.35L15.77,7.58L11,6.87V3H14V1H6M21.81,6.29L19.5,7.25L20.26,9.1L22.57,8.14L21.81,6.29M19.78,13.57L19,15.42L21.79,16.57L22.55,14.72L19.78,13.57M16.19,18.93L14.34,19.69L15.3,22L17.15,21.23L16.19,18.93Z\";\r\nexport var mdiTrackLightOff = \"M19.78 13.57L22.55 14.72L21.79 16.57L19 15.42L19.78 13.57M22.57 8.14L21.81 6.29L19.5 7.25L20.26 9.1L22.57 8.14M14.34 19.69L15.3 22L17.15 21.23L16.19 18.93L14.34 19.69M2.39 1.73L1.11 3L3.64 5.53L1.43 10.84L6.97 13.14L11.94 16.82L13.79 17.59L14.35 16.24L20.84 22.73L22.11 21.46L2.39 1.73M6.2 3L6 2.8V1H14V3H11V6.87L15.77 7.58L17.62 8.35L15.84 12.64L9 5.8V3H6.2Z\";\r\nexport var mdiTrackpad = \"M4,3H20A2,2 0 0,1 22,5V19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19V5A2,2 0 0,1 4,3M4,5V13H20V5H4M4,19H11V15H4V19M20,19V15H13V19H20Z\";\r\nexport var mdiTrackpadLock = \"M3,1C1.89,1 1,1.89 1,3V17C1,18.11 1.89,19 3,19H14V17H12V13H16.68C17.5,12.35 18.47,12 19.5,12C20,12 20.5,12.09 21,12.26V3C21,1.89 20.11,1 19,1H3M3,3H19V11H3V3M3,13H10V17H3V13M19.5,14A2.5,2.5 0 0,0 17,16.5V17A1,1 0 0,0 16,18V22A1,1 0 0,0 17,23H22A1,1 0 0,0 23,22V18A1,1 0 0,0 22,17V16.5A2.5,2.5 0 0,0 19.5,14M19.5,15A1.5,1.5 0 0,1 21,16.5V17H18V16.5A1.5,1.5 0 0,1 19.5,15Z\";\r\nexport var mdiTractor = \"M5,4V11.26C3.2,11.9 2,13.6 2,15.5C2,18 4,20 6.5,20C8.79,20 10.71,18.28 10.97,16H15.17C15.06,16.32 15,16.66 15,17A3,3 0 0,0 18,20A3,3 0 0,0 21,17C21,16.66 20.94,16.32 20.82,16H22V13C22,11.89 21.11,11 20,11H15.04L13.65,4H5M7,6H12L13,11V14H10.74C10.16,12.38 8.71,11.23 7,11.03V6M6.5,13.25A2.25,2.25 0 0,1 8.75,15.5A2.25,2.25 0 0,1 6.5,17.75A2.25,2.25 0 0,1 4.25,15.5A2.25,2.25 0 0,1 6.5,13.25M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiTractorVariant = \"M13.3 2.79L9.8 6.29L10.5 7L11.9 5.61L13 6.71V9C13 10.11 12.11 11 11 11H10.46A6 6 0 0 1 12 15A6 6 0 0 1 11.91 16H15.03A4.5 4.5 0 0 1 19.5 12A4.5 4.5 0 0 1 22 12.76V8C22 6.89 21.11 6 20 6H13.71L12.61 4.9L14 3.5L13.3 2.79M4 7C3.45 7 3 7.45 3 8C3 8.55 3.45 9 4 9H9C9 7.9 8.11 7 7 7H4M6 10A5 5 0 0 0 4.44 10.25L4.8 11.18L4.33 11.36L4 10.43A5 5 0 0 0 1.54 12.74L2.45 13.15L2.24 13.6L1.34 13.2A5 5 0 0 0 1 15A5 5 0 0 0 1.25 16.56L2.18 16.2L2.36 16.67L1.43 17A5 5 0 0 0 3.74 19.46L4.14 18.55L4.6 18.76L4.2 19.66A5 5 0 0 0 6 20A5 5 0 0 0 7.56 19.75L7.2 18.82L7.67 18.64L8 19.57A5 5 0 0 0 10.46 17.26L9.55 16.86L9.76 16.4L10.66 16.8A5 5 0 0 0 11 15A5 5 0 0 0 10.75 13.44L9.82 13.8L9.64 13.33L10.57 13A5 5 0 0 0 8.26 10.54L7.86 11.45L7.4 11.24L7.8 10.34A5 5 0 0 0 6 10M6 12A3 3 0 0 1 9 15A3 3 0 0 1 6 18A3 3 0 0 1 3 15A3 3 0 0 1 6 12M19.5 13A3.5 3.5 0 0 0 16 16.5A3.5 3.5 0 0 0 19.5 20A3.5 3.5 0 0 0 23 16.5A3.5 3.5 0 0 0 19.5 13M19.5 15A1.5 1.5 0 0 1 21 16.5A1.5 1.5 0 0 1 19.5 18A1.5 1.5 0 0 1 18 16.5A1.5 1.5 0 0 1 19.5 15Z\";\r\nexport var mdiTrademark = \"M9.8,8.44H6.87V16H4.89V8.44H2V7H9.8V8.44M13.5,7L15.96,13.5L18.41,7H21V16H19V13.5L19.22,9.24L16.63,16H15.28L12.7,9.25L12.9,13.5V16H10.93V7H13.5Z\";\r\nexport var mdiTrafficCone = \"M17 15L18 19H21V22H3V19H6L7 15H17M15 8L16 12H8L9 8H15M13 1L14 5H10L11 1H13Z\";\r\nexport var mdiTrafficLight = \"M12,9A2,2 0 0,1 10,7C10,5.89 10.9,5 12,5C13.11,5 14,5.89 14,7A2,2 0 0,1 12,9M12,14A2,2 0 0,1 10,12C10,10.89 10.9,10 12,10C13.11,10 14,10.89 14,12A2,2 0 0,1 12,14M12,19A2,2 0 0,1 10,17C10,15.89 10.9,15 12,15C13.11,15 14,15.89 14,17A2,2 0 0,1 12,19M20,10H17V8.86C18.72,8.41 20,6.86 20,5H17V4A1,1 0 0,0 16,3H8A1,1 0 0,0 7,4V5H4C4,6.86 5.28,8.41 7,8.86V10H4C4,11.86 5.28,13.41 7,13.86V15H4C4,16.86 5.28,18.41 7,18.86V20A1,1 0 0,0 8,21H16A1,1 0 0,0 17,20V18.86C18.72,18.41 20,16.86 20,15H17V13.86C18.72,13.41 20,11.86 20,10Z\";\r\nexport var mdiTrafficLightOutline = \"M20 10H17V8.86C18.72 8.41 20 6.86 20 5H17V4C17 3.45 16.55 3 16 3H8C7.45 3 7 3.45 7 4V5H4C4 6.86 5.28 8.41 7 8.86V10H4C4 11.86 5.28 13.41 7 13.86V15H4C4 16.86 5.28 18.41 7 18.86V20C7 20.55 7.45 21 8 21H16C16.55 21 17 20.55 17 20V18.86C18.72 18.41 20 16.86 20 15H17V13.86C18.72 13.41 20 11.86 20 10M15 19H9V5H15V19M12 18C12.83 18 13.5 17.33 13.5 16.5S12.83 15 12 15 10.5 15.67 10.5 16.5 11.17 18 12 18M12 13.5C12.83 13.5 13.5 12.83 13.5 12S12.83 10.5 12 10.5 10.5 11.17 10.5 12 11.17 13.5 12 13.5M12 9C12.83 9 13.5 8.33 13.5 7.5S12.83 6 12 6 10.5 6.67 10.5 7.5 11.17 9 12 9Z\";\r\nexport var mdiTrain = \"M12,2C8,2 4,2.5 4,6V15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H8.23L10.23,19H14L16,21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V6C20,2.5 16.42,2 12,2M7.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,14A1.5,1.5 0 0,1 9,15.5A1.5,1.5 0 0,1 7.5,17M11,10H6V6H11V10M13,10V6H18V10H13M16.5,17A1.5,1.5 0 0,1 15,15.5A1.5,1.5 0 0,1 16.5,14A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 16.5,17Z\";\r\nexport var mdiTrainBus = \"M5 2H12C12.8 2 13.56 2.32 14.12 2.88C14.68 3.44 15 4.2 15 5V6H13V4H4V11H9V16H8L5 19H4V17L5 16C4.2 16 3.44 15.68 2.88 15.12C2.32 14.56 2 13.8 2 13V5C2 4.2 2.32 3.44 2.88 2.88C3.44 2.32 4.2 2 5 2M5.71 12.29C5.5 12.11 5.27 12 5 12C4.74 12 4.5 12.11 4.29 12.29C4.11 12.5 4 12.74 4 13C4 13.27 4.11 13.5 4.29 13.71C4.5 13.9 4.74 14 5 14C5.27 14 5.5 13.9 5.71 13.71C5.9 13.5 6 13.27 6 13C6 12.74 5.9 12.5 5.71 12.29M11 11C11 9.34 12 8 15 8H18C21 8 22 9.34 22 11V18C22 18.74 21.6 19.39 21 19.73V21C21 21.55 20.55 22 20 22C19.45 22 19 21.55 19 21V20H14V21C14 21.55 13.55 22 13 22C12.45 22 12 21.55 12 21V19.73C11.4 19.39 11 18.74 11 18V11M13 10V14H20V10H13M14 18C14.55 18 15 17.55 15 17C15 16.45 14.55 16 14 16C13.45 16 13 16.45 13 17C13 17.55 13.45 18 14 18M20 17C20 16.45 19.55 16 19 16C18.45 16 18 16.45 18 17C18 17.55 18.45 18 19 18C19.55 18 20 17.55 20 17Z\";\r\nexport var mdiTrainCar = \"M12,4H5A3,3 0 0,0 2,7V15A3,3 0 0,0 5,18L4,19V20H5L7,17.97L9,18V13H4V6H13V8H15V7A3,3 0 0,0 12,4M5,14A1,1 0 0,1 6,15A1,1 0 0,1 5,16A1,1 0 0,1 4,15A1,1 0 0,1 5,14M20.57,9.66C20.43,9.26 20.05,9 19.6,9H12.41C11.95,9 11.58,9.26 11.43,9.66L10,13.77V19.28C10,19.66 10.32,20 10.7,20H11.32C11.7,20 12,19.62 12,19.24V18H20V19.24C20,19.62 20.31,20 20.69,20H21.3C21.68,20 22,19.66 22,19.28V17.91L22,13.77L20.57,9.66M12.41,10H19.6L20.63,13H11.38L12.41,10M12,16A1,1 0 0,1 11,15A1,1 0 0,1 12,14A1,1 0 0,1 13,15A1,1 0 0,1 12,16M20,16A1,1 0 0,1 19,15A1,1 0 0,1 20,14A1,1 0 0,1 21,15A1,1 0 0,1 20,16Z\";\r\nexport var mdiTrainCarAutorack = \"M21 6H3C1.9 6 1 6.9 1 8V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V8C23 6.9 22.11 6 21 6M7.58 12.18C8.19 12.18 8.68 12.68 8.68 13.29S8.19 14.39 7.58 14.39C6.97 14.39 6.47 13.9 6.47 13.29S6.97 12.18 7.58 12.18M7.03 11.08L8.68 9.61H11.63L14.58 11.08H7.03M9.66 14.03H14.34C14.5 14.42 14.74 14.75 15.05 15H8.95C9.26 14.75 9.5 14.42 9.66 14.03M15.32 13.29C15.32 12.68 15.81 12.18 16.42 12.18C17.03 12.18 17.53 12.68 17.53 13.29S17.03 14.39 16.42 14.39C15.81 14.4 15.32 13.9 15.32 13.29M17.79 15C18.11 14.75 18.36 14.42 18.5 14.03H20.11V13.29C20.11 12.47 19.35 12.21 18.63 11.82L12 8.5H8.32L6.11 10.34H5.37C4.55 10.34 3.89 11 3.89 11.82V14.03H5.5C5.64 14.42 5.89 14.75 6.21 15H3V8H21V15H17.79Z\";\r\nexport var mdiTrainCarBox = \"M1 7V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V7H1Z\";\r\nexport var mdiTrainCarBoxFull = \"M1 7V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V7H1M16 16H14V11H10V16H8V9H16V16Z\";\r\nexport var mdiTrainCarBoxOpen = \"M1 7V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V7H1M16 16H8V9H16V16Z\";\r\nexport var mdiTrainCarCaboose = \"M23 9V7H15V6H16V4H8V6H9V7H1V9H2V15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H22V9H23M4 15H3V9H4V15M11 12H6V9H11V12M18 12H13V9H18V12M21 15H20V9H21V15Z\";\r\nexport var mdiTrainCarCenterbeam = \"M23 6V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V6H3V15H21V6H23Z\";\r\nexport var mdiTrainCarCenterbeamFull = \"M23 6V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V6H3V15H21V6H23M8 12H4V14H8V12M15 12H9V14H15V12M20 12H16V14H20V12M8 9H4V11H8V9M15 9H9V11H15V9M20 9H16V11H20V9M8 6H4V8H8V6M15 6H9V8H15V6M20 6H16V8H20V6Z\";\r\nexport var mdiTrainCarContainer = \"M1 6V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V6H1M21 15H19V9H17V15H15V9H13V15H11V9H9V15H7V9H5V15H3V8H21V15Z\";\r\nexport var mdiTrainCarFlatbed = \"M23 15V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V15H23Z\";\r\nexport var mdiTrainCarFlatbedCar = \"M23 13V10C23 8.89 22.11 8 21 8H19L16 4H6L3 8C1.89 8 1 8.89 1 10V13H3C3 13.77 3.3 14.47 3.78 15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H20.22C20.7 14.47 21 13.77 21 13H23M19.5 13C19.5 13.83 18.83 14.5 18 14.5S16.5 13.83 16.5 13 17.17 11.5 18 11.5 19.5 12.17 19.5 13M12 5.5H15.25L17.14 8H12V5.5M15.78 15H8.22C8.7 14.47 9 13.77 9 13H15C15 13.77 15.3 14.47 15.78 15M6.75 5.5H10.5V8H4.86L6.75 5.5M6 11.5C6.83 11.5 7.5 12.17 7.5 13S6.83 14.5 6 14.5 4.5 13.83 4.5 13 5.17 11.5 6 11.5Z\";\r\nexport var mdiTrainCarFlatbedTank = \"M21.22 15C21.7 14.47 22 13.77 22 13C22 11.34 20.66 10 19 10H5C3.34 10 2 11.34 2 13C2 13.77 2.3 14.47 2.78 15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H21.22M19 12C19.55 12 20 12.45 20 13S19.55 14 19 14 18 13.55 18 13 18.45 12 19 12M12 12C12.55 12 13 12.45 13 13S12.55 14 12 14 11 13.55 11 13 11.45 12 12 12M5 12C5.55 12 6 12.45 6 13S5.55 14 5 14 4 13.55 4 13 4.45 12 5 12M13.62 6L13.22 4H22V6H13.62M20 9H4V8H6L7 3H12L13 8H20V9Z\";\r\nexport var mdiTrainCarGondola = \"M1 10V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V10H1M21 15H19V13H17V15H15V13H13V15H11V13H9V15H7V13H5V15H3V12H21V15Z\";\r\nexport var mdiTrainCarGondolaFull = \"M21 10C19.04 8.19 15.74 7 12 7S4.96 8.19 3 10H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V10H21M21 15H19V13H17V15H15V13H13V15H11V13H9V15H7V13H5V15H3V12H21V15Z\";\r\nexport var mdiTrainCarHopper = \"M1 8V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V8H1M13 15V11H11V15H8V11H6V15H3V10H21V15H18V11H16V15H13Z\";\r\nexport var mdiTrainCarHopperCovered = \"M23 9V7H1V9L2 10.33V15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H10L11 18H13L14 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H22V10.33L23 9M4 15V13L5.5 15H4M5 10V9H19V10H5M20 15H18.5L20 13V15Z\";\r\nexport var mdiTrainCarHopperFull = \"M21 8C19.04 6.19 15.74 5 12 5S4.96 6.19 3 8H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V8H21M13 15V11H11V15H8V11H6V15H3V10H21V15H18V11H16V15H13Z\";\r\nexport var mdiTrainCarIntermodal = \"M21 15V11H3V15H1V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V15H21M16 14H8V13H16V14M21 5H3V10H21V5M16 8H8V7H16V8Z\";\r\nexport var mdiTrainCarPassenger = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M7 12H3V9H7V12M15 12H9V9H15V12M21 12H17V9H21V12Z\";\r\nexport var mdiTrainCarPassengerDoor = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M7 12H3V9H7V12M11 16H9V9H11V16M15 16H13V9H15V16M21 12H17V9H21V12Z\";\r\nexport var mdiTrainCarPassengerDoorOpen = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M8 12H3V9H8V12M14 16H10V9H14V16M21 12H16V9H21V12Z\";\r\nexport var mdiTrainCarPassengerVariant = \"M21 7H3C1.9 7 1 7.9 1 9V17H2C2 18.11 2.9 19 4 19S6 18.11 6 17H18C18 18.11 18.9 19 20 19S22 18.11 22 17H23V9C23 7.9 22.11 7 21 7M11 12H3V9H11V12M21 12H13V9H21V12Z\";\r\nexport var mdiTrainCarTank = \"M23 15V17H22C22 18.11 21.11 19 20 19S18 18.11 18 17H6C6 18.11 5.11 19 4 19S2 18.11 2 17H1V15H23M21 8H15V7H9V8H3C1.9 8 1 8.9 1 10V12C1 13.11 1.9 14 3 14H21C22.11 14 23 13.11 23 12V10C23 8.9 22.11 8 21 8Z\";\r\nexport var mdiTrainVariant = \"M18,10H6V5H18M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M4,15.5A3.5,3.5 0 0,0 7.5,19L6,20.5V21H18V20.5L16.5,19A3.5,3.5 0 0,0 20,15.5V5C20,1.5 16.42,1 12,1C7.58,1 4,1.5 4,5V15.5Z\";\r\nexport var mdiTram = \"M19,16.94V8.5C19,5.71 16.39,5.1 13,5L13.75,3.5H17V2H7V3.5H11.75L11,5C7.86,5.11 5,5.73 5,8.5V16.94C5,18.39 6.19,19.6 7.59,19.91L6,21.5V22H8.23L10.23,20H14L16,22H18V21.5L16.5,20H16.42C18.11,20 19,18.63 19,16.94M12,18.5A1.5,1.5 0 0,1 10.5,17A1.5,1.5 0 0,1 12,15.5A1.5,1.5 0 0,1 13.5,17A1.5,1.5 0 0,1 12,18.5M17,14H7V9H17V14Z\";\r\nexport var mdiTramSide = \"M9 1L5 4L7.5 6H5C5 6 2 6 2 9V19H7C7 19 7 17 9 17H22V14H18V8H22V6H10.5L13 4L9 1M4 8H9V14H4V8M11 8H16V14H11V8M4 16H5V18H4V16M9 19V19.5C9 20.88 10.12 22 11.5 22C12.5 22 13.39 21.41 13.79 20.5H15.21C15.61 21.41 16.5 22 17.5 22C18.88 22 20 20.88 20 19.5V19H9Z\";\r\nexport var mdiTranscribe = \"M20,5A2,2 0 0,1 22,7V17A2,2 0 0,1 20,19H4C2.89,19 2,18.1 2,17V7C2,5.89 2.89,5 4,5H20M18,17V15H12.5L10.5,17H18M6,17H8.5L15.35,10.12C15.55,9.93 15.55,9.61 15.35,9.41L13.59,7.65C13.39,7.45 13.07,7.45 12.88,7.65L6,14.53V17Z\";\r\nexport var mdiTranscribeClose = \"M12,23L8,19H16L12,23M20,3A2,2 0 0,1 22,5V15A2,2 0 0,1 20,17H4A2,2 0 0,1 2,15V5A2,2 0 0,1 4,3H20M18,15V13H12.5L10.5,15H18M6,15H8.5L15.35,8.12C15.55,7.93 15.55,7.61 15.35,7.42L13.59,5.65C13.39,5.45 13.07,5.45 12.88,5.65L6,12.53V15Z\";\r\nexport var mdiTransfer = \"M8 4A2 2 0 0 0 6 6V10H8V6H16V9H13.5L17 12.5L20.5 9H18V6A2 2 0 0 0 16 4H8M3 12V14H11V12H3M3 15V17H11V15H3M13 15V17H21V15H13M3 18V20H11V18H3M13 18V20H21V18H13Z\";\r\nexport var mdiTransferDown = \"M16,3V5H8V3H16M16,7V9H8V7H16M16,11V13H8V11H16M5,15H19L12,22L5,15Z\";\r\nexport var mdiTransferLeft = \"M21,16H19V8H21V16M17,16H15V8H17V16M13,16H11V8H13V16M9,5V19L2,12L9,5Z\";\r\nexport var mdiTransferRight = \"M3,8H5V16H3V8M7,8H9V16H7V8M11,8H13V16H11V8M15,19.25V4.75L22.25,12L15,19.25Z\";\r\nexport var mdiTransferUp = \"M8,21V19H16V21H8M8,17V15H16V17H8M8,13V11H16V13H8M19,9H5L12,2L19,9Z\";\r\nexport var mdiTransitConnection = \"M15,12C15,10.7 14.16,9.6 13,9.18V6.82C14.16,6.4 15,5.3 15,4A3,3 0 0,0 12,1A3,3 0 0,0 9,4C9,5.3 9.84,6.4 11,6.82V9.19C9.84,9.6 9,10.7 9,12C9,13.3 9.84,14.4 11,14.82V17.18C9.84,17.6 9,18.7 9,20A3,3 0 0,0 12,23A3,3 0 0,0 15,20C15,18.7 14.16,17.6 13,17.18V14.82C14.16,14.4 15,13.3 15,12M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M12,21A1,1 0 0,1 11,20A1,1 0 0,1 12,19A1,1 0 0,1 13,20A1,1 0 0,1 12,21Z\";\r\nexport var mdiTransitConnectionHorizontal = \"M12 9C10.7 9 9.6 9.8 9.2 11H6.8C6.4 9.8 5.3 9 4 9C2.3 9 1 10.3 1 12S2.3 15 4 15C5.3 15 6.4 14.2 6.8 13H9.2C9.6 14.2 10.7 15 12 15S14.4 14.2 14.8 13H17.2C17.6 14.2 18.7 15 20 15C21.7 15 23 13.7 23 12S21.7 9 20 9C18.7 9 17.6 9.8 17.2 11H14.8C14.4 9.8 13.3 9 12 9M3 12C3 11.4 3.4 11 4 11S5 11.4 5 12 4.6 13 4 13 3 12.6 3 12M21 12C21 12.6 20.6 13 20 13S19 12.6 19 12 19.4 11 20 11 21 11.4 21 12Z\";\r\nexport var mdiTransitConnectionVariant = \"M18,11H14.82C14.4,9.84 13.3,9 12,9C10.7,9 9.6,9.84 9.18,11H6C5.67,11 4,10.9 4,9V8C4,6.17 5.54,6 6,6H16.18C16.6,7.16 17.7,8 19,8A3,3 0 0,0 22,5A3,3 0 0,0 19,2C17.7,2 16.6,2.84 16.18,4H6C4.39,4 2,5.06 2,8V9C2,11.94 4.39,13 6,13H9.18C9.6,14.16 10.7,15 12,15C13.3,15 14.4,14.16 14.82,13H18C18.33,13 20,13.1 20,15V16C20,17.83 18.46,18 18,18H7.82C7.4,16.84 6.3,16 5,16A3,3 0 0,0 2,19A3,3 0 0,0 5,22C6.3,22 7.4,21.16 7.82,20H18C19.61,20 22,18.93 22,16V15C22,12.07 19.61,11 18,11M19,4A1,1 0 0,1 20,5A1,1 0 0,1 19,6A1,1 0 0,1 18,5A1,1 0 0,1 19,4M5,20A1,1 0 0,1 4,19A1,1 0 0,1 5,18A1,1 0 0,1 6,19A1,1 0 0,1 5,20Z\";\r\nexport var mdiTransitDetour = \"M19 3A3 3 0 0 0 16.61 4.21A11.5 11.5 0 0 0 13.75 4L13.88 6A9.47 9.47 0 0 1 16 6.13A3 3 0 1 0 19 3M19 7A1 1 0 1 1 20 6A1 1 0 0 1 19 7M8.86 7.86L7.67 6.25A11.5 11.5 0 0 1 11.6 4.37L12.1 6.31A9.5 9.5 0 0 0 8.86 7.86M21 18A3 3 0 1 1 15.69 16.11A9.47 9.47 0 0 0 8.59 13.46C8.37 13.47 8.16 13.5 7.94 13.54A3 3 0 1 1 4.39 10.06A11.54 11.54 0 0 1 6.04 7.7L7.5 9.06A9.34 9.34 0 0 0 6.5 10.41A3.04 3.04 0 0 1 7.62 11.56C7.91 11.5 8.19 11.5 8.5 11.46A11.47 11.47 0 0 1 17.46 15.05A2.96 2.96 0 0 1 18 15A3 3 0 0 1 21 18Z\";\r\nexport var mdiTransitSkip = \"M21 12C21 8 18.5 4.7 15 3.5C14.7 2.1 13.5 1 12 1C10.3 1 9 2.3 9 4S10.3 7 12 7C13.1 7 14.1 6.4 14.6 5.5C17.2 6.5 19 9 19 12C19 14.9 17.2 17.5 14.6 18.5C14.1 17.6 13.1 17 12 17C10.3 17 9 18.3 9 20S10.3 23 12 23C13.5 23 14.7 21.9 15 20.5C18.5 19.3 21 15.9 21 12M12 5C11.4 5 11 4.6 11 4S11.4 3 12 3 13 3.4 13 4 12.6 5 12 5M12 21C11.4 21 11 20.6 11 20S11.4 19 12 19 13 19.4 13 20 12.6 21 12 21M12 9C13.7 9 15 10.3 15 12S13.7 15 12 15 9 13.7 9 12 10.3 9 12 9Z\";\r\nexport var mdiTransitTransfer = \"M16.5,15.5H22V17H16.5V18.75L14,16.25L16.5,13.75V15.5M19.5,19.75V18L22,20.5L19.5,23V21.25H14V19.75H19.5M9.5,5.5A2,2 0 0,1 7.5,3.5A2,2 0 0,1 9.5,1.5A2,2 0 0,1 11.5,3.5A2,2 0 0,1 9.5,5.5M5.75,8.9L4,9.65V13H2V8.3L7.25,6.15C7.5,6.05 7.75,6 8,6C8.7,6 9.35,6.35 9.7,6.95L10.65,8.55C11.55,10 13.15,11 15,11V13C12.8,13 10.85,12 9.55,10.4L8.95,13.4L11,15.45V23H9V17L6.85,15L5.1,23H3L5.75,8.9Z\";\r\nexport var mdiTransition = \"M15,2A7,7 0 0,1 22,9C22,11.71 20.46,14.05 18.22,15.22C17.55,16.5 16.5,17.55 15.22,18.22C14.05,20.46 11.71,22 9,22A7,7 0 0,1 2,15C2,12.29 3.54,9.95 5.78,8.78C6.45,7.5 7.5,6.45 8.78,5.78C9.95,3.54 12.29,2 15,2M12,19A7,7 0 0,1 5,12C4.37,12.84 4,13.87 4,15A5,5 0 0,0 9,20C10.13,20 11.16,19.63 12,19M15,16A7,7 0 0,1 8,9H8C7.37,9.84 7,10.87 7,12A5,5 0 0,0 12,17C13.13,17 14.16,16.63 15,16V16M15,4C13.87,4 12.84,4.37 12,5V5A7,7 0 0,1 19,12H19C19.63,11.16 20,10.13 20,9A5,5 0 0,0 15,4M10,9A5,5 0 0,0 15,14C15.6,14 16.17,13.9 16.7,13.7C16.9,13.17 17,12.6 17,12A5,5 0 0,0 12,7C11.4,7 10.83,7.1 10.3,7.3C10.1,7.83 10,8.4 10,9Z\";\r\nexport var mdiTransitionMasked = \"M15,2C16.94,2 18.59,2.7 19.95,4.05C21.3,5.41 22,7.06 22,9C22,10.56 21.5,11.96 20.58,13.2C19.64,14.43 18.44,15.27 16.97,15.7L17,15.38V15C17,12.81 16.23,10.93 14.65,9.35C13.07,7.77 11.19,7 9,7H8.63L8.3,7.03C8.73,5.56 9.57,4.36 10.8,3.42C12.04,2.5 13.44,2 15,2M9,8A7,7 0 0,1 16,15A7,7 0 0,1 9,22A7,7 0 0,1 2,15A7,7 0 0,1 9,8M9,10A5,5 0 0,0 4,15A5,5 0 0,0 9,20A5,5 0 0,0 14,15A5,5 0 0,0 9,10Z\";\r\nexport var mdiTranslate = \"M12.87,15.07L10.33,12.56L10.36,12.53C12.1,10.59 13.34,8.36 14.07,6H17V4H10V2H8V4H1V6H12.17C11.5,7.92 10.44,9.75 9,11.35C8.07,10.32 7.3,9.19 6.69,8H4.69C5.42,9.63 6.42,11.17 7.67,12.56L2.58,17.58L4,19L9,14L12.11,17.11L12.87,15.07M18.5,10H16.5L12,22H14L15.12,19H19.87L21,22H23L18.5,10M15.88,17L17.5,12.67L19.12,17H15.88Z\";\r\nexport var mdiTranslateOff = \"M12.17,5.81C11.87,6.69 11.47,7.55 11,8.39L12.35,9.74C13.11,8.5 13.71,7.18 14.13,5.81H17.16V3.75H9.94V1.69H7.87V3.75H6.37L8.43,5.81H12.17M15.53,12.91L17.03,14.41L17.67,12.69L19.08,16.47L22.39,19.77L18.7,9.94H16.64L15.53,12.91M1.31,1.31L0,2.62L1.13,3.75H0.65V5.81H3.19L5.26,7.88H4.46C5.21,9.56 6.24,11.15 7.53,12.58L2.28,17.76L3.75,19.22L8.91,14.07L12.11,17.27L12.8,15.43L14.1,16.72L12,22.31H14.06L15.22,19.22H16.6L21.38,24L22.69,22.69L1.31,1.31Z\";\r\nexport var mdiTranslateVariant = \"M11 1H3C1.9 1 1 1.9 1 3V15L4 12H9V11C9 8.8 10.79 7 13 7V3C13 1.9 12.1 1 11 1M11 4L9.5 4C9.16 5.19 8.54 6.3 7.68 7.26L7.66 7.28L8.92 8.53L8.55 9.54L7 8L4.5 10.5L3.81 9.77L6.34 7.28C5.72 6.59 5.22 5.82 4.86 5H5.85C6.16 5.6 6.54 6.17 7 6.68C7.72 5.88 8.24 4.97 8.57 4L3 4V3H6.5V2H7.5V3H11V4M21 9H13C11.9 9 11 9.9 11 11V18C11 19.1 11.9 20 13 20H20L23 23V11C23 9.9 22.1 9 21 9M19.63 19L18.78 16.75H15.22L14.38 19H12.88L16.25 10H17.75L21.13 19H19.63M17 12L18.22 15.25H15.79L17 12Z\";\r\nexport var mdiTransmissionTower = \"M8.28,5.45L6.5,4.55L7.76,2H16.23L17.5,4.55L15.72,5.44L15,4H9L8.28,5.45M18.62,8H14.09L13.3,5H10.7L9.91,8H5.38L4.1,10.55L5.89,11.44L6.62,10H17.38L18.1,11.45L19.89,10.56L18.62,8M17.77,22H15.7L15.46,21.1L12,15.9L8.53,21.1L8.3,22H6.23L9.12,11H11.19L10.83,12.35L12,14.1L13.16,12.35L12.81,11H14.88L17.77,22M11.4,15L10.5,13.65L9.32,18.13L11.4,15M14.68,18.12L13.5,13.64L12.6,15L14.68,18.12Z\";\r\nexport var mdiTransmissionTowerExport = \"M5.18 5.45L3.4 4.55L4.66 2H13.13L14.4 4.55L12.62 5.44L11.9 4H5.9L5.18 5.45M15.5 8H11L10.2 5H7.6L6.81 8H2.28L1 10.55L2.79 11.44L3.5 10H14.28L15 11.45L16.79 10.56L15.5 8M14.67 22H12.6L12.36 21.1L8.9 15.9L5.43 21.1L5.2 22H3.13L6 11H8.09L7.73 12.35L8.9 14.1L10.06 12.35L9.71 11H11.78L14.67 22M8.3 15L7.4 13.65L6.22 18.13L8.3 15M11.58 18.12L10.4 13.64L9.5 15L11.58 18.12M23 16L19 12V15H15V17H19V20L23 16Z\";\r\nexport var mdiTransmissionTowerImport = \"M11.39 5.45L9.61 4.55L10.87 2H19.34L20.61 4.55L18.83 5.44L18.11 4H12.11L11.39 5.45M21.73 8H17.2L16.41 5H13.81L13 8H8.5L7.21 10.55L9 11.44L9.73 10H20.5L21.21 11.45L23 10.56L21.73 8M20.88 22H18.81L18.57 21.1L15.11 15.9L11.64 21.1L11.41 22H9.34L12.23 11H14.3L13.94 12.35L15.11 14.1L16.27 12.35L15.92 11H18L20.88 22M14.5 15L13.61 13.65L12.43 18.13L14.5 15M17.79 18.12L16.61 13.64L15.71 15L17.79 18.12M9 16L5 12V15H1V17H5V20L9 16Z\";\r\nexport var mdiTransmissionTowerOff = \"M22.1 21.5L2.4 1.7L1.1 3L6.1 8H5.4L4.1 10.5L5.9 11.4L6.6 10H8.1L9.1 11L6.2 22H8.3L8.5 21.1L12 15.9L15.5 21.1L15.7 22H17.8L17 18.8L20.9 22.7L22.1 21.5M9.3 18.1L10.5 13.6L11.4 14.9L9.3 18.1M14.7 18.1L12.6 15L12.8 14.7L14.1 16L14.7 18.1M14.2 11H14.9L15.1 11.9L14.2 11M14.1 8H18.6L19.9 10.6L18.1 11.5L17.4 10H13.2L10.2 7L10.7 5H13.3L14.1 8M8.4 5.2L6.9 3.7L7.8 2H16.3L17.6 4.5L15.8 5.4L15 4H9L8.4 5.2Z\";\r\nexport var mdiTrashCan = \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M9,8H11V17H9V8M13,8H15V17H13V8Z\";\r\nexport var mdiTrashCanOutline = \"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\";\r\nexport var mdiTray = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17Z\";\r\nexport var mdiTrayAlert = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M13 12H11V14H13M13 4H11V10H13Z\";\r\nexport var mdiTrayArrowDown = \"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 15L17.55 9.54L16.13 8.13L13 11.25V2H11V11.25L7.88 8.13L6.46 9.55L12 15Z\";\r\nexport var mdiTrayArrowUp = \"M2 12H4V17H20V12H22V17C22 18.11 21.11 19 20 19H4C2.9 19 2 18.11 2 17V12M12 2L6.46 7.46L7.88 8.88L11 5.75V15H13V5.75L16.13 8.88L17.55 7.45L12 2Z\";\r\nexport var mdiTrayFull = \"M18 5H6V7H18M6 9H18V11H6M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M18 13H6V15H18Z\";\r\nexport var mdiTrayMinus = \"M16 10H8V8H16M2 17A2 2 0 0 0 4 19H20A2 2 0 0 0 22 17V12H20V17H4V12H2Z\";\r\nexport var mdiTrayPlus = \"M2 12H4V17H20V12H22V17A2 2 0 0 1 20 19H4A2 2 0 0 1 2 17M11 5H13V8H16V10H13V13H11V10H8V8H11Z\";\r\nexport var mdiTrayRemove = \"M2 17A2 2 0 0 0 4 19H20A2 2 0 0 0 22 17V12H20V17H4V12H2M14.12 5.46L15.54 6.88L13.41 9L15.54 11.12L14.12 12.54L12 10.41L9.88 12.54L8.46 11.12L10.59 9L8.46 6.88L9.88 5.46L12 7.59Z\";\r\nexport var mdiTreasureChest = \"M5,4H19A3,3 0 0,1 22,7V11H15V10H9V11H2V7A3,3 0 0,1 5,4M11,11H13V13H11V11M2,12H9V13L11,15H13L15,13V12H22V20H2V12Z\";\r\nexport var mdiTreasureChestOutline = \"M2 20H22V7C22 6.2 21.68 5.44 21.12 4.88C20.56 4.32 19.8 4 19 4H5C4.2 4 3.44 4.32 2.88 4.88C2.32 5.44 2 6.2 2 7V20M20 11H15V9H9V11H4V7C4 6.74 4.11 6.5 4.29 6.29C4.5 6.11 4.74 6 5 6H19C19.27 6 19.5 6.11 19.71 6.29C19.9 6.5 20 6.74 20 7V11M15 13H20V18H4V13H9L11 15H13L15 13M11 11H13V13H11V11Z\";\r\nexport var mdiTree = \"M11,21V16.74C10.53,16.91 10.03,17 9.5,17C7,17 5,15 5,12.5C5,11.23 5.5,10.09 6.36,9.27C6.13,8.73 6,8.13 6,7.5C6,5 8,3 10.5,3C12.06,3 13.44,3.8 14.25,5C14.33,5 14.41,5 14.5,5A5.5,5.5 0 0,1 20,10.5A5.5,5.5 0 0,1 14.5,16C14,16 13.5,15.93 13,15.79V21H11Z\";\r\nexport var mdiTreeOutline = \"M10.5,3C8,3 6,5 6,7.5C6,8.11 6.13,8.71 6.37,9.27C5.5,10.12 5,11.28 5,12.5C5,15 7,17 9.5,17C10,17 10.5,16.89 11,16.72V21H13V15.77C13.5,15.91 14,16 14.5,16A5.5,5.5 0 0,0 20,10.5A5.5,5.5 0 0,0 14.5,5C14.41,5 14.33,5 14.24,5C13.41,3.76 12,3 10.5,3M10.5,5C11.82,5 12.91,6.03 13,7.35C13.46,7.12 14,7 14.5,7A3.5,3.5 0 0,1 18,10.5A3.5,3.5 0 0,1 14.5,14C13.54,14 12.63,13.61 11.96,12.91C11.76,14.12 10.72,15 9.5,15A2.5,2.5 0 0,1 7,12.5C7,11.12 7.8,10.54 9,9.79C8.2,8.76 8,8.16 8,7.5A2.5,2.5 0 0,1 10.5,5Z\";\r\nexport var mdiTrello = \"M19.5,2H4.5A2.5,2.5 0 0,0 2,4.5V19.5A2.5,2.5 0 0,0 4.5,22H19.5A2.5,2.5 0 0,0 22,19.5V4.5A2.5,2.5 0 0,0 19.5,2M10.7,17.2A1.2,1.2 0 0,1 9.5,18.4H5.8C5.14,18.4 4.6,17.86 4.6,17.2V5.8A1.2,1.2 0 0,1 5.8,4.6H9.5C10.16,4.6 10.7,5.14 10.7,5.8V17.2M19.4,12.2C19.4,12.86 18.86,13.4 18.2,13.4H14.5C13.84,13.4 13.3,12.86 13.3,12.2V5.8C13.3,5.14 13.84,4.6 14.5,4.6H18.2C18.86,4.6 19.4,5.14 19.4,5.8V12.2Z\";\r\nexport var mdiTrendingDown = \"M16,18L18.29,15.71L13.41,10.83L9.41,14.83L2,7.41L3.41,6L9.41,12L13.41,8L19.71,14.29L22,12V18H16Z\";\r\nexport var mdiTrendingNeutral = \"M22,12L18,8V11H3V13H18V16L22,12Z\";\r\nexport var mdiTrendingUp = \"M16,6L18.29,8.29L13.41,13.17L9.41,9.17L2,16.59L3.41,18L9.41,12L13.41,16L19.71,9.71L22,12V6H16Z\";\r\nexport var mdiTriangle = \"M1,21H23L12,2\";\r\nexport var mdiTriangleDown = \"M1 3H23L12 22\";\r\nexport var mdiTriangleDownOutline = \"M12 22L1 3H23M12 18L19.53 5H4.47\";\r\nexport var mdiTriangleOutline = \"M12,2L1,21H23M12,6L19.53,19H4.47\";\r\nexport var mdiTriangleSmallDown = \"M8 9H16L12 16\";\r\nexport var mdiTriangleSmallUp = \"M8 15H16L12 8\";\r\nexport var mdiTriangleWave = \"M22 12L17 22L7.1 6.04L4.24 12H2L7 2L16.9 17.96L19.76 12H22Z\";\r\nexport var mdiTriforce = \"M1.5,21L12,3.5L22.5,21H1.5M12,21L17,12H7L12,21Z\";\r\nexport var mdiTrophy = \"M18 2C17.1 2 16 3 16 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2C6.6 15 7.9 16.7 11 17V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V17C16.1 16.7 17.4 15 17.8 13H20C21 13 22 12 22 11V2H18M6 11H4V4H6V11M20 11H18V4H20V11Z\";\r\nexport var mdiTrophyAward = \"M15.2 10.7L16.6 16L12 12.2L7.4 16L8.8 10.8L4.6 7.3L10 7L12 2L14 7L19.4 7.3L15.2 10.7M14 19H13V16L12 15L11 16V19H10C8.9 19 8 19.9 8 21V22H16V21C16 19.9 15.11 19 14 19Z\";\r\nexport var mdiTrophyBroken = \"M6.2 13C6.6 14.8 7.6 16.3 10 16.8V19.34C8 20.12 8 22 8 22H13.2L10.2 15L14.2 10L10.7 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2M6 11H4V4H6V11M17.8 13H20C21 13 22 12 22 11V2H18C17.1 2 16 3 16 4H13.9L16.7 10L12.2 15L13.2 22H16C16 22 16 20.12 14 19.34L14 16.85C16.39 16.35 17.5 14.7 17.8 13M20 11H18V4H20V11Z\";\r\nexport var mdiTrophyOutline = \"M18 2C17.1 2 16 3 16 4H8C8 3 6.9 2 6 2H2V11C2 12 3 13 4 13H6.2C6.6 15 7.9 16.7 11 17V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V17C16.1 16.7 17.4 15 17.8 13H20C21 13 22 12 22 11V2H18M6 11H4V4H6V11M16 11.5C16 13.43 15.42 15 12 15C8.59 15 8 13.43 8 11.5V6H16V11.5M20 11H18V4H20V11Z\";\r\nexport var mdiTrophyVariant = \"M17 4V2H7V4H2V11C2 12.1 2.9 13 4 13H7.1C7.5 14.96 9.04 16.5 11 16.9V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V16.9C14.96 16.5 16.5 14.96 16.9 13H20C21.1 13 22 12.1 22 11V4H17M4 11V6H7V11L4 11M20 11L17 11V6H20L20 11Z\";\r\nexport var mdiTrophyVariantOutline = \"M17 4V2H7V4H2V11C2 12.1 2.9 13 4 13H7.1C7.5 14.96 9.04 16.5 11 16.9V19.08C8 19.54 8 22 8 22H16C16 22 16 19.54 13 19.08V16.9C14.96 16.5 16.5 14.96 16.9 13H20C21.1 13 22 12.1 22 11V4H17M4 11V6H7V11L4 11M15 12C15 13.65 13.65 15 12 15S9 13.65 9 12V4H15V12M20 11L17 11V6H20L20 11Z\";\r\nexport var mdiTruck = \"M18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5M19.5,9.5L21.46,12H17V9.5M6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5M20,8H17V4H3C1.89,4 1,4.89 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8Z\";\r\nexport var mdiTruckAlert = \"M3 4C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8H17V4H3M8 6H10V10H8V6M17 9.5H19.5L21.5 12H17V9.5M8 12H10V14H8V12M6 15.5C6.8 15.5 7.5 16.2 7.5 17S6.8 18.5 6 18.5 4.5 17.8 4.5 17 5.2 15.5 6 15.5M18 15.5C18.8 15.5 19.5 16.2 19.5 17S18.8 18.5 18 18.5 16.5 17.8 16.5 17 17.2 15.5 18 15.5Z\";\r\nexport var mdiTruckAlertOutline = \"M8 12H10V14H8V12M8 7H10V11H8V7M18 18.5C18.8 18.5 19.5 17.8 19.5 17S18.8 15.5 18 15.5 16.5 16.2 16.5 17 17.2 18.5 18 18.5M19.5 9.5H17V12H21.5L19.5 9.5M6 18.5C6.8 18.5 7.5 17.8 7.5 17S6.8 15.5 6 15.5 4.5 16.2 4.5 17 5.2 18.5 6 18.5M20 8L23 12V17H21C21 18.7 19.7 20 18 20S15 18.7 15 17H9C9 18.7 7.7 20 6 20S3 18.7 3 17H1V6C1 4.9 1.9 4 3 4H17V8H20M3 6V15H3.8C4.3 14.4 5.2 14 6 14S7.7 14.4 8.2 15H15V6H3Z\";\r\nexport var mdiTruckCargoContainer = \"M20 8H17V4H1V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M15 7H13V14H11V7H9V14H7V7H5V14H3V6H15V7M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17Z\";\r\nexport var mdiTruckCheck = \"M3,4H17V8H20L23,12V17H21A3,3 0 0,1 18,20A3,3 0 0,1 15,17H9A3,3 0 0,1 6,20A3,3 0 0,1 3,17H1V6C1,4.89 1.9,4 3,4M17,9.5V12H21.47L19.5,9.5H17M6,15.5A1.5,1.5 0 0,0 4.5,17A1.5,1.5 0 0,0 6,18.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 6,15.5M18,15.5A1.5,1.5 0 0,0 16.5,17A1.5,1.5 0 0,0 18,18.5A1.5,1.5 0 0,0 19.5,17A1.5,1.5 0 0,0 18,15.5M8,14L14,8L12.59,6.58L8,11.17L5.91,9.08L4.5,10.5L8,14Z\";\r\nexport var mdiTruckCheckOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3M5 10.5L6.5 9L8 10.5L11.5 7L13 8.5L8 13.5L5 10.5Z\";\r\nexport var mdiTruckDelivery = \"M3,4A2,2 0 0,0 1,6V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V12L20,8H17V4M10,6L14,10L10,14V11H4V9H10M17,9.5H19.5L21.47,12H17M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiTruckDeliveryOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3M10 7L13.5 10.5L10 14V11.5H5V9.5H10V7Z\";\r\nexport var mdiTruckFast = \"M3,13.5L2.25,12H7.5L6.9,10.5H2L1.25,9H9.05L8.45,7.5H1.11L0.25,6H4A2,2 0 0,1 6,4H18V8H21L24,12V17H22A3,3 0 0,1 19,20A3,3 0 0,1 16,17H12A3,3 0 0,1 9,20A3,3 0 0,1 6,17H4V13.5H3M19,18.5A1.5,1.5 0 0,0 20.5,17A1.5,1.5 0 0,0 19,15.5A1.5,1.5 0 0,0 17.5,17A1.5,1.5 0 0,0 19,18.5M20.5,9.5H18V12H22.46L20.5,9.5M9,18.5A1.5,1.5 0 0,0 10.5,17A1.5,1.5 0 0,0 9,15.5A1.5,1.5 0 0,0 7.5,17A1.5,1.5 0 0,0 9,18.5Z\";\r\nexport var mdiTruckFastOutline = \"M.75 7.5H10.5L11.25 9H1.5L.75 7.5M1.75 10.5H11.5L12.25 12H2.5L1.75 10.5M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M8 18.5C8.83 18.5 9.5 17.83 9.5 17C9.5 16.17 8.83 15.5 8 15.5C7.17 15.5 6.5 16.17 6.5 17C6.5 17.83 7.17 18.5 8 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H11C11 18.66 9.65 20 8 20C6.34 20 5 18.66 5 17H3V13.5 13.5H5V15H5.76C6.31 14.39 7.11 14 8 14C8.89 14 9.69 14.39 10.24 15H15V6H3V6C3 4.89 3.89 4 5 4H17V8H20Z\";\r\nexport var mdiTruckFlatbed = \"M18 4H13V13H1V17H3C3 17.83 3.3 18.53 3.89 19.13C4.5 19.72 5.19 20 6 20S7.5 19.72 8.11 19.13C8.7 18.53 9 17.83 9 17H14.5C14.5 17.83 14.78 18.53 15.38 19.13C15.97 19.72 16.67 20 17.5 20C18.3 20 19 19.72 19.59 19.13C20.19 18.53 20.5 17.83 20.5 17H23V10L18 4M7.08 18.07C6.8 18.37 6.44 18.5 6 18.5S5.2 18.37 4.92 18.07C4.64 17.77 4.5 17.42 4.5 17C4.5 16.61 4.64 16.26 4.92 15.96C5.2 15.66 5.56 15.5 6 15.5S6.8 15.66 7.08 15.96C7.36 16.26 7.5 16.61 7.5 17C7.5 17.42 7.36 17.77 7.08 18.07M18.54 18.07C18.24 18.37 17.89 18.5 17.5 18.5C17.08 18.5 16.73 18.37 16.43 18.07S16 17.42 16 17C16 16.61 16.13 16.26 16.43 15.96C16.73 15.66 17.08 15.5 17.5 15.5C17.89 15.5 18.24 15.66 18.54 15.96C18.84 16.26 19 16.61 19 17C19 17.42 18.84 17.77 18.54 18.07M15 10V6H17.06L20.39 10H15Z\";\r\nexport var mdiTruckMinus = \"M20 8H17V4H3C1.89 4 1 4.89 1 6V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M13 11H5V9H13V11M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17\";\r\nexport var mdiTruckMinusOutline = \"M20 8H17V4H3C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8M6 18.5C5.2 18.5 4.5 17.8 4.5 17S5.2 15.5 6 15.5 7.5 16.2 7.5 17 6.8 18.5 6 18.5M15 15H8.2C7.7 14.4 6.9 14 6 14S4.3 14.4 3.8 15H3V6H15V15M18 18.5C17.2 18.5 16.5 17.8 16.5 17S17.2 15.5 18 15.5 19.5 16.2 19.5 17 18.8 18.5 18 18.5M17 12V9.5H19.5L21.5 12H17M6 11V9H12V11H6Z\";\r\nexport var mdiTruckOffRoad = \"M14.81 3.4L9.39 4.36L10.09 8.3L.733 9.95L1.6 14.87L3.57 14.53C3.71 15.31 4.15 16 4.81 16.46C5.46 16.92 6.26 17.1 7.05 16.96C7.83 16.82 8.53 16.38 9 15.73C9.44 15.07 9.62 14.27 9.5 13.5L15.39 12.44C15.53 13.23 15.97 13.92 16.62 14.38C17.27 14.83 18.08 15 18.86 14.88C19.65 14.74 20.34 14.29 20.8 13.64C21.26 13 21.44 12.18 21.3 11.4L23.27 11.05L22.75 8.1C22.55 7 21.5 6.28 20.43 6.5L18.46 6.82L14.81 3.4M11.13 5.58L14.58 4.97L16.94 7.09L11.57 8.04L11.13 5.58M6.27 12.53C6.66 12.46 7.06 12.55 7.39 12.78C7.71 13 7.93 13.35 8 13.74C8.07 14.14 8 14.54 7.75 14.86C7.53 15.19 7.18 15.41 6.79 15.5C6.39 15.55 6 15.46 5.67 15.23C5.34 15 5.12 14.66 5.05 14.26C5 13.87 5.07 13.47 5.3 13.14C5.53 12.82 5.87 12.6 6.27 12.53M18.08 10.44C18.47 10.37 18.88 10.46 19.2 10.69C19.53 10.92 19.75 11.27 19.82 11.66C19.89 12.05 19.8 12.46 19.57 12.78C19.34 13.11 19 13.33 18.6 13.4C18.21 13.47 17.81 13.38 17.5 13.15C17.16 12.92 16.93 12.57 16.87 12.18C16.8 11.79 16.89 11.39 17.11 11.06C17.34 10.73 17.69 10.5 18.08 10.44M2.83 19.17L2 20V22H22V16H16.62C15.55 16 14.5 16.17 13.46 16.5L12.08 16.97C10.04 17.65 7.9 18 5.75 18H5.66C4.6 18 3.58 18.42 2.83 19.17Z\";\r\nexport var mdiTruckOffRoadOff = \"M2.39 1.73L1.11 3L6.96 8.85L.733 9.95L1.6 14.87L3.57 14.53C3.71 15.31 4.15 16 4.81 16.46C5.46 16.92 6.26 17.1 7.05 16.96C7.83 16.82 8.53 16.38 9 15.73C9.44 15.07 9.62 14.27 9.5 13.5L11.28 13.17L14.37 16.26C14.06 16.33 13.76 16.41 13.46 16.5L12.08 16.97C10.04 17.65 7.9 18 5.75 18H5.66C4.6 18 3.58 18.42 2.83 19.17L2 20V22H20.11L20.84 22.73L21.57 22H22V21.57L22.11 21.46L22 21.35V21.35L2.39 1.73M7.39 12.78C7.71 13 7.93 13.35 8 13.74C8.07 14.14 8 14.54 7.75 14.86C7.53 15.19 7.18 15.41 6.79 15.5C6.39 15.55 6 15.46 5.67 15.23C5.34 15 5.12 14.66 5.05 14.26C5 13.87 5.07 13.47 5.3 13.14C5.53 12.82 5.87 12.6 6.27 12.53C6.66 12.46 7.06 12.55 7.39 12.78M22 18.5L19.5 16H22V18.5M18.4 14.92C18.56 14.92 18.71 14.9 18.86 14.88C19.65 14.74 20.34 14.29 20.8 13.64C21.26 13 21.44 12.18 21.3 11.4L23.27 11.05L22.75 8.1C22.55 7 21.5 6.28 20.43 6.5L18.46 6.82L14.81 3.4L9.39 4.36L9.73 6.24L18.4 14.92M11.13 5.58L14.58 4.97L16.94 7.09L11.57 8.04L11.13 5.58M18.08 10.44C18.47 10.37 18.88 10.46 19.2 10.69C19.53 10.92 19.75 11.27 19.82 11.66C19.89 12.05 19.8 12.46 19.57 12.78C19.34 13.11 19 13.33 18.6 13.4C18.21 13.47 17.81 13.38 17.5 13.15C17.16 12.92 16.93 12.57 16.87 12.18C16.8 11.79 16.89 11.39 17.11 11.06C17.34 10.73 17.69 10.5 18.08 10.44Z\";\r\nexport var mdiTruckOutline = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17C19.5 16.17 18.83 15.5 18 15.5C17.17 15.5 16.5 16.17 16.5 17C16.5 17.83 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17C7.5 16.17 6.83 15.5 6 15.5C5.17 15.5 4.5 16.17 4.5 17C4.5 17.83 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20C16.34 20 15 18.66 15 17H9C9 18.66 7.66 20 6 20C4.34 20 3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M3 6V15H3.76C4.31 14.39 5.11 14 6 14C6.89 14 7.69 14.39 8.24 15H15V6H3Z\";\r\nexport var mdiTruckPlus = \"M18 18.5C18.83 18.5 19.5 17.83 19.5 17S18.83 15.5 18 15.5 16.5 16.17 16.5 17 17.17 18.5 18 18.5M19.5 9.5H17V12H21.46L19.5 9.5M6 18.5C6.83 18.5 7.5 17.83 7.5 17S6.83 15.5 6 15.5 4.5 16.17 4.5 17 5.17 18.5 6 18.5M20 8L23 12V17H21C21 18.66 19.66 20 18 20S15 18.66 15 17H9C9 18.66 7.66 20 6 20S3 18.66 3 17H1V6C1 4.89 1.89 4 3 4H17V8H20M8 6V9H5V11H8V14H10V11H13V9H10V6H8Z\";\r\nexport var mdiTruckPlusOutline = \"M20 8H17V4H3C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8M6 18.5C5.2 18.5 4.5 17.8 4.5 17S5.2 15.5 6 15.5 7.5 16.2 7.5 17 6.8 18.5 6 18.5M15 15H8.2C7.7 14.4 6.9 14 6 14S4.3 14.4 3.8 15H3V6H15V15M18 18.5C17.2 18.5 16.5 17.8 16.5 17S17.2 15.5 18 15.5 19.5 16.2 19.5 17 18.8 18.5 18 18.5M17 12V9.5H19.5L21.5 12H17M8 11H6V9H8V7H10V9H12V11H10V13H8V11Z\";\r\nexport var mdiTruckRemove = \"M20 8H17V4H3C1.89 4 1 4.89 1 6V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M12.54 12.12L11.12 13.54L9 11.41L6.88 13.54L5.47 12.12L7.59 10L5.46 7.88L6.88 6.47L9 8.59L11.12 6.47L12.54 7.88L10.41 10L12.54 12.12M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17Z\";\r\nexport var mdiTruckRemoveOutline = \"M20 8H17V4H3C1.89 4 1 4.89 1 6V17H3C3 18.66 4.34 20 6 20S9 18.66 9 17H15C15 18.66 16.34 20 18 20S21 18.66 21 17H23V12L20 8M6 18.5C5.17 18.5 4.5 17.83 4.5 17S5.17 15.5 6 15.5 7.5 16.17 7.5 17 6.83 18.5 6 18.5M15 15H8.24C7.69 14.39 6.89 14 6 14S4.31 14.39 3.76 15H3V6H15V15M18 18.5C17.17 18.5 16.5 17.83 16.5 17S17.17 15.5 18 15.5 19.5 16.17 19.5 17 18.83 18.5 18 18.5M17 12V9.5H19.5L21.46 12H17M5.82 11.77L7.59 10L5.82 8.23L7.23 6.82L9 8.59L10.77 6.82L12.18 8.23L10.41 10L12.18 11.77L10.77 13.18L9 11.41L7.23 13.18L5.82 11.77Z\";\r\nexport var mdiTruckSnowflake = \"M17 4H3C1.9 4 1 4.9 1 6V17H3C3 18.7 4.3 20 6 20S9 18.7 9 17H15C15 18.7 16.3 20 18 20S21 18.7 21 17H23V12L20 8H17V4M10.2 5.3H10.5C11 5.4 11.3 5.9 11.2 6.4L10.7 8.4L12.7 7.9C13.2 7.8 13.7 8.1 13.8 8.6C13.9 9.1 13.6 9.6 13.2 9.7L11.2 10.2L12.6 11.6C13 11.9 13 12.5 12.6 12.9C12.3 13.3 11.7 13.3 11.3 12.9L9.8 11.5L9.3 13.5C9.2 14 8.7 14.3 8.2 14.1C7.7 14 7.4 13.5 7.6 13L8.1 11L6.1 11.5C5.6 11.6 5.1 11.3 5 10.9C4.9 10.4 5.2 9.9 5.6 9.8L7.6 9.3L6.2 7.7C5.9 7.4 5.9 6.8 6.2 6.4C6.5 6.1 7.1 6.1 7.5 6.4L8.9 7.8L9.4 5.8C9.5 5.6 9.8 5.3 10.2 5.3M17 9.5H19.5L21.5 12H17V9.5M6 15.5C6.8 15.5 7.5 16.2 7.5 17S6.8 18.5 6 18.5 4.5 17.8 4.5 17 5.2 15.5 6 15.5M18 15.5C18.8 15.5 19.5 16.2 19.5 17S18.8 18.5 18 18.5 16.5 17.8 16.5 17 17.2 15.5 18 15.5Z\";\r\nexport var mdiTruckTrailer = \"M22,15V17H10A3,3 0 0,1 7,20A3,3 0 0,1 4,17H2V6A2,2 0 0,1 4,4H17A2,2 0 0,1 19,6V15H22M7,16A1,1 0 0,0 6,17A1,1 0 0,0 7,18A1,1 0 0,0 8,17A1,1 0 0,0 7,16Z\";\r\nexport var mdiTrumpet = \"M22 6C21 11 15 11 15 11H4C3 11 2 10 2 10H1V14H2C2 14 3 13 4 13H4.3C4.1 13.3 4 13.6 4 14V16C4 17.1 4.9 18 6 18H7V19H9V18H10V19H12V18H13V19H15V18H16C17.1 18 18 17.1 18 16V14C18 13.9 18 13.7 17.9 13.6C19.6 14.2 21.4 15.4 22 18H23V6H22M6 16.5C5.7 16.5 5.5 16.3 5.5 16V14C5.5 13.7 5.7 13.5 6 13.5H7V16.5H6M9 16.5V13.5H10V16.5H9M12 16.5V13.5H13V16.5H12M16.5 16C16.5 16.3 16.3 16.5 16 16.5H15V13.5H16C16.3 13.5 16.5 13.7 16.5 14V16M9 10H7V9H9V10M12 10H10V9H12V10M15 10H13V9H15V10Z\";\r\nexport var mdiTshirtCrew = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.07C5.31,13.46 4.68,13.46 4.29,13.07L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10.34,5 12,5C13.66,5 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.12V20A1,1 0 0,1 16,21\";\r\nexport var mdiTshirtCrewOutline = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.12C5.31,13.5 4.68,13.5 4.29,13.12L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10.34,5 12,5C13.66,5 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.07V20A1,1 0 0,1 16,21M20.42,9.58L16.11,5.28C15.8,5.63 15.43,5.94 15,6.2C14.16,6.7 13.13,7 12,7C10.3,7 8.79,6.32 7.89,5.28L3.58,9.58L5,11L8,9H9V19H15V9H16L19,11L20.42,9.58Z\";\r\nexport var mdiTshirtV = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.07C5.31,13.46 4.68,13.46 4.29,13.07L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9.29,4.8 10.4,6.37 12,7.25C13.6,6.37 14.71,4.8 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.12V20A1,1 0 0,1 16,21\";\r\nexport var mdiTshirtVOutline = \"M16,21H8A1,1 0 0,1 7,20V12.07L5.7,13.12C5.31,13.5 4.68,13.5 4.29,13.12L1.46,10.29C1.07,9.9 1.07,9.27 1.46,8.88L7.34,3H9C9,4.1 10,6 12,7.25C14,6 15,4.1 15,3H16.66L22.54,8.88C22.93,9.27 22.93,9.9 22.54,10.29L19.71,13.12C19.32,13.5 18.69,13.5 18.3,13.12L17,12.07V20A1,1 0 0,1 16,21M20.42,9.58L16.11,5.28C15,7 14,8.25 12,9.25C10,8.25 9,7 7.89,5.28L3.58,9.58L5,11L8,9H9V19H15V9H16L19,11L20.42,9.58Z\";\r\nexport var mdiTsunami = \"M18.67 17.63C14.87 20.43 12.55 18.03 12 17.63C11.34 18.12 9.08 20.39 5.33 17.63C3.43 19.03 2.65 19 2 19V21C3.16 21 4.3 20.68 5.33 20.07C7.39 21.29 9.94 21.29 12 20.07C14.06 21.29 16.61 21.29 18.67 20.07C19.7 20.68 20.84 21 22 21V19C21.34 19 20.5 19 18.67 17.63M19.33 12H22V10H19.33C17.5 10 16 8.5 16 6.67C16 5.65 16.38 4.93 17.09 3.33C15.72 3.12 15.09 3 14 3C7.36 3 2.15 8.03 2 14.5L2 16.5C3.16 16.5 4.3 16.18 5.33 15.57C7.39 16.79 9.94 16.79 12 15.57C14.06 16.79 16.61 16.79 18.67 15.57C19.7 16.18 20.84 16.5 22 16.5V14.5C21.34 14.5 20.5 14.5 18.67 13.13C14.87 15.93 12.55 13.53 12 13.13C11.1 13.8 11.46 13.54 11.09 13.76C10.39 12.82 10 11.7 10 10.5C10 7.92 11.77 5.76 14.21 5.17C14.08 5.68 14 6.19 14 6.67C14 9.61 16.39 12 19.33 12Z\";\r\nexport var mdiTumbleDryer = \"M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8M8.11,10.5H10C9.76,11.88 10,12.67 10.58,13.29C11.68,14.36 12.16,15.71 11.89,17.5H10C10.24,16.12 10,15.33 9.42,14.71C8.32,13.64 7.85,12.29 8.11,10.5M12.11,10.5H14C13.76,11.88 14,12.67 14.58,13.29C15.68,14.36 16.16,15.71 15.89,17.5H14C14.24,16.12 14,15.33 13.42,14.71C12.32,13.64 11.85,12.29 12.11,10.5Z\";\r\nexport var mdiTumbleDryerAlert = \"M4 2H16C17.11 2 18 2.9 18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M5 4C4.45 4 4 4.45 4 5S4.45 6 5 6 6 5.55 6 5 5.55 4 5 4M8 4C7.45 4 7 4.45 7 5S7.45 6 8 6 9 5.55 9 5 8.55 4 8 4M10 8C6.69 8 4 10.69 4 14S6.69 20 10 20 16 17.31 16 14 13.31 8 10 8M6.11 10.5H8C7.76 11.88 8 12.67 8.58 13.29C9.68 14.36 10.16 15.71 9.89 17.5H8C8.24 16.12 8 15.33 7.42 14.71C6.32 13.64 5.85 12.29 6.11 10.5M10.11 10.5H12C11.76 11.88 12 12.67 12.58 13.29C13.68 14.36 14.16 15.71 13.89 17.5H12C12.24 16.12 12 15.33 11.42 14.71C10.32 13.64 9.85 12.29 10.11 10.5M20 15H22V17H20V15M20 7H22V13H20V7Z\";\r\nexport var mdiTumbleDryerOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M12 20C8.69 20 6 17.31 6 14C6 12.32 6.7 10.8 7.82 9.71L8.61 10.5H8.11C7.85 12.29 8.32 13.64 9.42 14.71C10 15.33 10.24 16.12 10 17.5H11.89C12.16 15.71 11.68 14.36 10.58 13.29C10.22 12.91 10 12.44 9.95 11.84L14.03 15.92C14.11 16.35 14.11 16.86 14 17.5H15.61L16.29 18.18C15.2 19.3 13.69 20 12 20M11.25 8.05C11.5 8 11.75 8 12 8C15.31 8 18 10.69 18 14C18 14.25 18 14.5 17.95 14.75L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.25 8.05M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\r\nexport var mdiTune = \"M3,17V19H9V17H3M3,5V7H13V5H3M13,21V19H21V17H13V15H11V21H13M7,9V11H3V13H7V15H9V9H7M21,13V11H11V13H21M15,9H17V7H21V5H17V3H15V9Z\";\r\nexport var mdiTuneVariant = \"M8 13C6.14 13 4.59 14.28 4.14 16H2V18H4.14C4.59 19.72 6.14 21 8 21S11.41 19.72 11.86 18H22V16H11.86C11.41 14.28 9.86 13 8 13M8 19C6.9 19 6 18.1 6 17C6 15.9 6.9 15 8 15S10 15.9 10 17C10 18.1 9.1 19 8 19M19.86 6C19.41 4.28 17.86 3 16 3S12.59 4.28 12.14 6H2V8H12.14C12.59 9.72 14.14 11 16 11S19.41 9.72 19.86 8H22V6H19.86M16 9C14.9 9 14 8.1 14 7C14 5.9 14.9 5 16 5S18 5.9 18 7C18 8.1 17.1 9 16 9Z\";\r\nexport var mdiTuneVertical = \"M7 3H5V9H7V3M19 3H17V13H19V3M3 13H5V21H7V13H9V11H3V13M15 7H13V3H11V7H9V9H15V7M11 21H13V11H11V21M15 15V17H17V21H19V17H21V15H15Z\";\r\nexport var mdiTuneVerticalVariant = \"M8 12.14V2H6V12.14C4.28 12.59 3 14.14 3 16S4.28 19.41 6 19.86V22H8V19.86C9.72 19.41 11 17.86 11 16S9.72 12.59 8 12.14M7 14C8.1 14 9 14.9 9 16S8.1 18 7 18C5.9 18 5 17.1 5 16S5.9 14 7 14M18 2H16V4.14C14.28 4.59 13 6.14 13 8S14.28 11.41 16 11.86V22H18V11.86C19.72 11.41 21 9.86 21 8S19.72 4.59 18 4.14V2M17 6C18.1 6 19 6.9 19 8S18.1 10 17 10C15.9 10 15 9.1 15 8S15.9 6 17 6Z\";\r\nexport var mdiTunnel = \"M12 2C6.5 2 2 6.5 2 12V22H22V12C22 6.5 17.5 2 12 2M7.1 5.69C8.21 4.83 9.54 4.25 11 4.07V6.09C10.09 6.24 9.25 6.6 8.53 7.11L7.1 5.69M15.47 7.11C14.75 6.6 13.91 6.24 13 6.09V4.07C14.46 4.25 15.79 4.83 16.9 5.69L15.47 7.11M5.69 7.1L7.11 8.53C6.6 9.25 6.24 10.09 6.09 11H4.07C4.25 9.54 4.83 8.21 5.69 7.1M6 13V15.5H4V13H6M4 20V17.5H6V20H4M16.89 8.53L18.31 7.1C19.17 8.21 19.75 9.54 19.93 11H17.91C17.76 10.09 17.4 9.25 16.89 8.53M18 13H20V15.5H18V13M18 20V17.5H20V20H18Z\";\r\nexport var mdiTunnelOutline = \"M12 2C6.5 2 2 6.5 2 12V22H22V12C22 6.5 17.5 2 12 2M15.47 7.11C14.75 6.6 13.91 6.24 13 6.09V4.07C14.46 4.25 15.79 4.83 16.9 5.69L15.47 7.11M8.53 7.11L7.1 5.69C8.21 4.83 9.54 4.25 11 4.07V6.09C10.09 6.24 9.25 6.6 8.53 7.11M5.69 7.1L7.11 8.53C6.6 9.25 6.24 10.09 6.09 11H4.07C4.25 9.54 4.83 8.21 5.69 7.1M6 13V15.5H4V13H6M4 20V17.5H6V20H4M16 20H8V12C8 9.79 9.79 8 12 8C14.21 8 16 9.79 16 12V20M16.89 8.53L18.31 7.1C19.17 8.21 19.75 9.54 19.93 11H17.91C17.76 10.09 17.4 9.25 16.89 8.53M18 13H20V15.5H18V13M18 20V17.5H20V20H18Z\";\r\nexport var mdiTurbine = \"M2 12C2 17.5 6.5 22 12 22S22 17.5 22 12 17.5 2 12 2 2 6.5 2 12M20 12C20 16.4 16.4 20 12 20S4 16.4 4 12 7.6 4 12 4 20 7.6 20 12M12.5 7L12.2 8.3L11.3 5C10.3 5.3 9.7 6.3 9.9 7.4L10.2 8.7L7.9 6.3C7.2 7 7.2 8.3 7.9 9L8.9 10L5.6 9.1C5.3 10.1 5.9 11.2 7 11.5L8.3 11.8L5 12.7C5.3 13.7 6.3 14.3 7.4 14.1L8.7 13.8L6.3 16.2C7.1 16.9 8.3 16.9 9 16.2L9.9 15.3L9 18.6C10 18.9 11.1 18.3 11.4 17.2L11.7 15.9L12.6 19.2C13.6 18.9 14.2 17.9 14 16.8L13.7 15.5L16.1 17.9C16.8 17.1 16.8 15.9 16.1 15.2L15.1 14L18.4 14.9C18.7 13.9 18.1 12.8 17 12.5L15.7 12.2L19 11.3C18.7 10.3 17.7 9.7 16.6 9.9L15.3 10.2L17.7 7.8C16.9 7.1 15.7 7.1 15 7.8L14.1 8.8L15 5.5C13.9 5.3 12.8 5.9 12.5 7M13.5 12C13.5 12.8 12.8 13.5 12 13.5S10.5 12.8 10.5 12 11.2 10.5 12 10.5 13.5 11.2 13.5 12Z\";\r\nexport var mdiTurkey = \"M10.5 19.44C9.75 19.8 8.9 20 8 20C4.69 20 2 17.31 2 14V9C2 5.69 4.69 3 8 3L10.5 7.58C8.1 8.81 6.5 11 6.5 13.5C6.5 16 8.11 18.2 10.5 19.44M16 18.94V20H17C17.55 20 18 20.45 18 21S17.55 22 17 22H14C13.45 22 13 21.55 13 21S13.45 20 14 20V18.94C10.61 18.56 8 16.27 8 13.5C8 10.46 11.13 8 15 8C15.19 8 15.37 8 15.56 8C14.84 6.63 14 5.23 14 4C14 2.9 14.9 2 16 2C18.21 2 20 3.79 20 6H18C18 6 22 9 22 13.5C22 16.27 19.39 18.56 16 18.94M16 4C16 4.55 16.45 5 17 5S18 4.55 18 4 17.55 3 17 3 16 3.45 16 4M17 12C17 10.9 16.11 10 15 10C12.79 10 11 11.79 11 14H15C16.11 14 17 13.11 17 12Z\";\r\nexport var mdiTurnstile = \"M22,22H16V11L10,5V2H22V22M9.17,6.17C8.42,6.92 8,7.94 8,9H2V11H8.55C8.9,11.6 9.4,12.1 10,12.45V19H12V13C13.06,13 14.08,12.58 14.83,11.83L9.17,6.17Z\";\r\nexport var mdiTurnstileOutline = \"M13.41,10.41C13.04,10.79 12.53,11 12,11A2,2 0 0,1 10,9C10,8.47 10.21,7.96 10.59,7.59L9.17,6.17C8.42,6.92 8,7.94 8,9H2V11H8.55C8.9,11.6 9.4,12.1 10,12.45V19H12V13C13.06,13 14.08,12.58 14.83,11.83L13.41,10.41M10,2V5L16,11V22H22V2H10M20,20H18V10.17L12,4.17V4H20V20Z\";\r\nexport var mdiTurtle = \"M8.47,5.95C8.95,5.67 9.47,5.44 10,5.28V4C10,2.9 10.87,2 11.97,1.97C13.13,2 14,2.9 14,4V5.28C14.53,5.45 15.05,5.67 15.53,5.95L13.93,8.07H10.07L8.47,5.95M19,12C19,12.5 18.95,12.95 18.86,13.4L16.33,12.62L15.14,8.96L16.74,6.85C17.17,7.25 17.55,7.7 17.88,8.2C18.67,8.13 19.43,8.25 20.11,8.59C21.14,9.12 21.84,10.13 22,11.28L19,11.64C19,11.76 19,11.88 19,12M5,12C5,11.88 5,11.76 5,11.65L2,11.28C2.16,10.13 2.86,9.12 3.89,8.59C4.57,8.25 5.34,8.13 6.08,8.26C6.41,7.75 6.79,7.28 7.24,6.87L8.86,8.95L7.67,12.62L5.14,13.4C5.05,12.95 5,12.5 5,12M10.24,9.57H13.76L14.85,12.93L12,15L9.15,12.93L10.24,9.57M8.13,14.05L11.25,16.31V18.96C10.68,18.9 10.13,18.77 9.62,18.58L8.39,21.34C7.33,20.87 6.57,19.9 6.37,18.76C6.23,18 6.35,17.24 6.69,16.56C6.24,16.04 5.87,15.46 5.59,14.82L8.13,14.05M15.87,14.05L18.41,14.82C18.13,15.46 17.76,16.04 17.31,16.56C17.65,17.24 17.77,18 17.64,18.76C17.43,19.9 16.67,20.87 15.61,21.34L14.39,18.58C13.86,18.77 13.33,18.94 12.75,19V16.31L15.87,14.05Z\";\r\nexport var mdiTwitch = \"M11.64 5.93H13.07V10.21H11.64M15.57 5.93H17V10.21H15.57M7 2L3.43 5.57V18.43H7.71V22L11.29 18.43H14.14L20.57 12V2M19.14 11.29L16.29 14.14H13.43L10.93 16.64V14.14H7.71V3.43H19.14Z\";\r\nexport var mdiTwitter = \"M22.46,6C21.69,6.35 20.86,6.58 20,6.69C20.88,6.16 21.56,5.32 21.88,4.31C21.05,4.81 20.13,5.16 19.16,5.36C18.37,4.5 17.26,4 16,4C13.65,4 11.73,5.92 11.73,8.29C11.73,8.63 11.77,8.96 11.84,9.27C8.28,9.09 5.11,7.38 3,4.79C2.63,5.42 2.42,6.16 2.42,6.94C2.42,8.43 3.17,9.75 4.33,10.5C3.62,10.5 2.96,10.3 2.38,10C2.38,10 2.38,10 2.38,10.03C2.38,12.11 3.86,13.85 5.82,14.24C5.46,14.34 5.08,14.39 4.69,14.39C4.42,14.39 4.15,14.36 3.89,14.31C4.43,16 6,17.26 7.89,17.29C6.43,18.45 4.58,19.13 2.56,19.13C2.22,19.13 1.88,19.11 1.54,19.07C3.44,20.29 5.7,21 8.12,21C16,21 20.33,14.46 20.33,8.79C20.33,8.6 20.33,8.42 20.32,8.23C21.16,7.63 21.88,6.87 22.46,6Z\";\r\nexport var mdiTwoFactorAuthentication = \"M2,7V9H6V11H4A2,2 0 0,0 2,13V17H8V15H4V13H6A2,2 0 0,0 8,11V9C8,7.89 7.1,7 6,7H2M9,7V17H11V13H14V11H11V9H15V7H9M18,7A2,2 0 0,0 16,9V17H18V14H20V17H22V9A2,2 0 0,0 20,7H18M18,9H20V12H18V9Z\";\r\nexport var mdiTypewriter = \"M20 13H16C16 14.1 15.1 15 14 15H10C8.9 15 8 14.1 8 13H4L2 18V20C2 21.1 2.9 22 4 22H20C21.1 22 22 21.1 22 20V18M6 20C5.11 20 4.66 18.92 5.29 18.29C5.92 17.66 7 18.11 7 19C7 19.55 6.55 20 6 20M10 20C9.11 20 8.66 18.92 9.29 18.29C9.92 17.66 11 18.11 11 19C11 19.55 10.55 20 10 20M14 20C13.11 20 12.66 18.92 13.29 18.29C13.92 17.66 15 18.11 15 19C15 19.55 14.55 20 14 20M18 20C17.11 20 16.66 18.92 17.29 18.29C17.92 17.66 19 18.11 19 19C19 19.55 18.55 20 18 20M18 10V3H6V10H3V12H21V10M8 5H16V6H8M8 7H14V8H8\";\r\nexport var mdiUbisoft = \"M11.41,2C5.21,2 2.53,7.53 2.53,7.53L3.32,8.09C3.32,8.09 2.33,10 2.35,12.4C2.35,17.34 6.29,22 12.07,22C17.33,22 21.67,17.71 21.67,12.41C21.67,5.5 16.31,2 11.41,2M11.47,3.69C16.31,3.69 20.07,7.6 20.07,12.14C20.07,16.95 16.45,20.3 12.23,20.3C9.13,20.3 6.33,17.94 6.33,14.7C6.33,12.82 7.32,11.5 8.44,10.82L8.6,11C8.3,11.24 7.43,12.64 7.43,14C7.43,16.56 9.43,18.33 11.95,18.33C15.16,18.33 17.3,15.59 17.3,12.41C17.3,8.71 14.03,5.57 10.1,5.57C7.93,5.57 6.09,6.5 5.03,7.33L4.86,7.18C6.25,5.04 8.65,3.69 11.47,3.69M10,7.23C12.53,7.23 14.97,8.89 15.59,11.25L15.36,11.33C14.27,9.88 12.47,8.68 10.35,8.68C6.44,8.68 4.39,12.23 4.69,15.19L4.46,15.28C4.46,15.28 4.03,14.33 4.03,13.2C4.03,9.93 6.71,7.23 10,7.23M11.68,11.33C12.86,11.33 13.81,12.3 13.81,13.44C13.81,14.38 13.21,14.94 13.21,14.94L13.92,15.45C13.92,15.45 13.21,16.57 11.76,16.57C10.37,16.57 9.13,15.44 9.13,13.93C9.13,12.38 10.47,11.33 11.68,11.33Z\";\r\nexport var mdiUbuntu = \"M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M14.34,7.74C14.92,8.07 15.65,7.87 16,7.3C16.31,6.73 16.12,6 15.54,5.66C14.97,5.33 14.23,5.5 13.9,6.1C13.57,6.67 13.77,7.41 14.34,7.74M11.88,15.5C11.35,15.5 10.85,15.39 10.41,15.18L9.57,16.68C10.27,17 11.05,17.22 11.88,17.22C12.37,17.22 12.83,17.15 13.28,17.03C13.36,16.54 13.64,16.1 14.1,15.84C14.56,15.57 15.08,15.55 15.54,15.72C16.43,14.85 17,13.66 17.09,12.33L15.38,12.31C15.22,14.1 13.72,15.5 11.88,15.5M11.88,8.5C13.72,8.5 15.22,9.89 15.38,11.69L17.09,11.66C17,10.34 16.43,9.15 15.54,8.28C15.08,8.45 14.55,8.42 14.1,8.16C13.64,7.9 13.36,7.45 13.28,6.97C12.83,6.85 12.37,6.78 11.88,6.78C11.05,6.78 10.27,6.97 9.57,7.32L10.41,8.82C10.85,8.61 11.35,8.5 11.88,8.5M8.37,12C8.37,10.81 8.96,9.76 9.86,9.13L9,7.65C7.94,8.36 7.15,9.43 6.83,10.69C7.21,11 7.45,11.47 7.45,12C7.45,12.53 7.21,13 6.83,13.31C7.15,14.56 7.94,15.64 9,16.34L9.86,14.87C8.96,14.24 8.37,13.19 8.37,12M14.34,16.26C13.77,16.59 13.57,17.32 13.9,17.9C14.23,18.47 14.97,18.67 15.54,18.34C16.12,18 16.31,17.27 16,16.7C15.65,16.12 14.92,15.93 14.34,16.26M5.76,10.8C5.1,10.8 4.56,11.34 4.56,12C4.56,12.66 5.1,13.2 5.76,13.2C6.43,13.2 6.96,12.66 6.96,12C6.96,11.34 6.43,10.8 5.76,10.8Z\";\r\nexport var mdiUfo = \"M15.94 10.28C15.66 7.87 14 6 12 6S8.34 7.87 8.06 10.28C4.5 10.82 2 12.06 2 13.5C2 15.43 6.5 17 12 17S22 15.43 22 13.5C22 12.06 19.5 10.82 15.94 10.28Z\";\r\nexport var mdiUfoOutline = \"M17 10.54C16.78 7.44 14.63 5 12 5S7.22 7.44 7 10.54C4 11.23 2 12.5 2 14C2 16.21 6.5 18 12 18S22 16.21 22 14C22 12.5 20 11.23 17 10.54M14.93 11.84C13.03 12.05 10.97 12.05 9.07 11.84C9.03 11.56 9 11.28 9 11C9 8.8 10.35 7 12 7S15 8.8 15 11C15 11.28 15 11.56 14.93 11.84Z\";\r\nexport var mdiUltraHighDefinition = \"M9,7H11V11H13V7H15V17H13V13H11V17H9V7M17,7H20A3,3 0 0,1 23,10V14A3,3 0 0,1 20,17H17V7M20,15A1,1 0 0,0 21,14V10A1,1 0 0,0 20,9H19V15H20M7,14A3,3 0 0,1 4,17A3,3 0 0,1 1,14V7H3V14A1,1 0 0,0 4,15A1,1 0 0,0 5,14V7H7V14Z\";\r\nexport var mdiUmbraco = \"M8.6,8.6L7.17,8.38C6.5,11.67 6.46,14.24 7.61,15.5C8.6,16.61 11.89,16.61 11.89,16.61C11.89,16.61 15.29,16.61 16.28,15.5C17.43,14.24 17.38,11.67 16.72,8.38L15.29,8.6C15.29,8.6 16.54,13.88 14.69,14.69C13.81,15.07 11.89,15.07 11.89,15.07C11.89,15.07 10.08,15.07 9.2,14.69C7.35,13.88 8.6,8.6 8.6,8.6M12,3A9,9 0 0,1 21,12A9,9 0 0,1 12,21A9,9 0 0,1 3,12A9,9 0 0,1 12,3Z\";\r\nexport var mdiUmbrella = \"M12,2A9,9 0 0,1 21,11H13V19A3,3 0 0,1 10,22A3,3 0 0,1 7,19V18H9V19A1,1 0 0,0 10,20A1,1 0 0,0 11,19V11H3A9,9 0 0,1 12,2Z\";\r\nexport var mdiUmbrellaBeach = \"M13.13 14.56L14.56 13.13L21 19.57L19.57 21L13.13 14.56M17.42 8.83L20.28 5.97C16.33 2 9.93 2 6 5.95C9.91 4.65 14.29 5.7 17.42 8.83M5.95 6C2 9.93 2 16.33 5.97 20.28L8.83 17.42C5.7 14.29 4.65 9.91 5.95 6M5.97 5.96L5.96 5.97C5.58 9 7.13 12.85 10.26 16L16 10.26C12.86 7.13 9 5.58 5.97 5.96Z\";\r\nexport var mdiUmbrellaBeachOutline = \"M21 19.57L19.57 21L13.13 14.56L14.56 13.13L21 19.57M13.12 3C10.54 3 7.96 4 6 5.95L5.97 5.96C2 9.91 2 16.32 5.97 20.27L20.27 5.96C18.3 4 15.71 3 13.12 3M6.14 17.27C5.4 16.03 5 14.61 5 13.12C5 12.19 5.16 11.3 5.46 10.45C5.65 12.36 6.35 14.24 7.53 15.89L6.14 17.27M9 14.43C7.63 12.38 7.12 9.93 7.6 7.6C8.18 7.5 8.76 7.42 9.35 7.42C11.15 7.42 12.9 7.97 14.43 9L9 14.43M10.45 5.46C11.3 5.16 12.19 5 13.12 5C14.61 5 16.03 5.4 17.27 6.14L15.88 7.53C14.23 6.35 12.36 5.65 10.45 5.46Z\";\r\nexport var mdiUmbrellaClosed = \"M12 2C11.6 2 11.3 2.2 11.1 2.6L6.5 15H11V19C11 19.6 10.6 20 10 20C9.4 20 9 19.6 9 19V18H7V19C7 20.7 8.3 22 10 22S13 20.7 13 19V15H17.5L12.9 2.6C12.7 2.2 12.4 2 12 2Z\";\r\nexport var mdiUmbrellaClosedOutline = \"M12 2C12.4 2 12.8 2.2 12.9 2.6L17.5 15H13V19C13 20.7 11.7 22 10 22S7 20.7 7 19V18H9V19C9 19.6 9.4 20 10 20C10.6 20 11 19.6 11 19V15H6.5L11.1 2.6C11.2 2.2 11.6 2 12 2M12 5.9L9.4 13H14.7L12 5.9Z\";\r\nexport var mdiUmbrellaClosedVariant = \"M15 7L13 6V3.5C13 3.2 13.2 3 13.5 3S14 3.2 14 3.5V4H16V3.5C16 2.1 14.9 1 13.5 1S11 2.1 11 3.5V6L9 7L6 6L11.1 21.3C11.4 22.2 12.7 22.2 13 21.3C14.6 16.2 18 6 18 6L15 7M11 15L9 8.9L9.7 9.1L11 8.1V15M13 8.1L14.3 9.1L15 8.9L13 15V8.1Z\";\r\nexport var mdiUmbrellaOutline = \"M12,4C8.9,4 6.18,6.03 5.3,9H18.7C17.82,6.04 15.09,4 12,4M12,2A9,9 0 0,1 21,11H13V19A3,3 0 0,1 10,22A3,3 0 0,1 7,19V18H9V19A1,1 0 0,0 10,20A1,1 0 0,0 11,19V11H3A9,9 0 0,1 12,2Z\";\r\nexport var mdiUndo = \"M12.5,8C9.85,8 7.45,9 5.6,10.6L2,7V16H11L7.38,12.38C8.77,11.22 10.54,10.5 12.5,10.5C16.04,10.5 19.05,12.81 20.1,16L22.47,15.22C21.08,11.03 17.15,8 12.5,8Z\";\r\nexport var mdiUndoVariant = \"M13.5,7A6.5,6.5 0 0,1 20,13.5A6.5,6.5 0 0,1 13.5,20H10V18H13.5C16,18 18,16 18,13.5C18,11 16,9 13.5,9H7.83L10.91,12.09L9.5,13.5L4,8L9.5,2.5L10.92,3.91L7.83,7H13.5M6,18H8V20H6V18Z\";\r\nexport var mdiUnfoldLessHorizontal = \"M16.59,5.41L15.17,4L12,7.17L8.83,4L7.41,5.41L12,10M7.41,18.59L8.83,20L12,16.83L15.17,20L16.58,18.59L12,14L7.41,18.59Z\";\r\nexport var mdiUnfoldLessVertical = \"M5.41,7.41L10,12L5.41,16.59L4,15.17L7.17,12L4,8.83L5.41,7.41M18.59,16.59L14,12L18.59,7.42L20,8.83L16.83,12L20,15.17L18.59,16.59Z\";\r\nexport var mdiUnfoldMoreHorizontal = \"M12,18.17L8.83,15L7.42,16.41L12,21L16.59,16.41L15.17,15M12,5.83L15.17,9L16.58,7.59L12,3L7.41,7.59L8.83,9L12,5.83Z\";\r\nexport var mdiUnfoldMoreVertical = \"M18.17,12L15,8.83L16.41,7.41L21,12L16.41,16.58L15,15.17L18.17,12M5.83,12L9,15.17L7.59,16.59L3,12L7.59,7.42L9,8.83L5.83,12Z\";\r\nexport var mdiUngroup = \"M2,2H6V3H13V2H17V6H16V9H18V8H22V12H21V18H22V22H18V21H12V22H8V18H9V16H6V17H2V13H3V6H2V2M18,12V11H16V13H17V17H13V16H11V18H12V19H18V18H19V12H18M13,6V5H6V6H5V13H6V14H9V12H8V8H12V9H14V6H13M12,12H11V14H13V13H14V11H12V12Z\";\r\nexport var mdiUnicode = \"M22 6A1.46 1.46 0 0 1 20.54 7.44A1.46 1.46 0 0 1 19.09 6A1.46 1.46 0 0 1 20.54 4.5A1.46 1.46 0 0 1 22 6M21.56 8.86H19.53C19.4 8.85 19.34 8.91 19.34 9V12.59C19.34 13.08 19.34 13.5 19.35 13.86L19.37 14.76C19.38 15 19.39 15.21 19.39 15.39C19.4 15.56 19.4 15.72 19.4 15.86H19.38C19.26 15.6 19.07 15.22 18.82 14.74C18.58 14.27 18.29 13.72 17.97 13.11C17.64 12.5 17.29 11.84 16.92 11.15C16.55 10.47 16.18 9.78 15.81 9.11C15.45 8.43 15.09 7.78 14.75 7.16C14.4 6.54 14.1 6 13.85 5.54C13.82 5.5 13.79 5.44 13.77 5.42C13.74 5.4 13.68 5.39 13.6 5.39H10.62C10.5 5.39 10.47 5.44 10.47 5.54H10.5C10.47 5.56 10.47 5.57 10.47 5.58V13.84C10.47 14.5 10.4 15 10.25 15.45C10.1 15.88 9.9 16.23 9.64 16.5C9.38 16.75 9.07 16.93 8.72 17.05C8.36 17.16 8 17.22 7.56 17.22C6.54 17.22 5.79 16.91 5.3 16.31C4.8 15.7 4.56 14.89 4.56 13.88V5.56C4.56 5.45 4.5 5.39 4.39 5.39H2.17C2.06 5.39 2 5.45 2 5.58V14.07C2 15 2.13 15.78 2.38 16.46C2.63 17.13 3 17.69 3.5 18.14C3.96 18.58 4.53 18.92 5.21 19.14C5.89 19.36 6.64 19.5 7.47 19.5C8.24 19.5 8.97 19.38 9.65 19.17C10.34 18.97 10.93 18.64 11.42 18.2C11.91 17.75 12.3 17.18 12.59 16.5C12.88 15.79 13.03 14.95 13.03 13.96V8.62C13.14 8.86 13.28 9.15 13.44 9.47C13.73 10.05 14.05 10.68 14.42 11.38C14.79 12.08 15.17 12.8 15.58 13.56C16 14.32 16.39 15.06 16.77 15.76C17.16 16.46 17.5 17.11 17.83 17.7C18.15 18.29 18.4 18.76 18.58 19.12C18.63 19.22 18.73 19.27 18.85 19.27H21.54C21.68 19.27 21.75 19.2 21.75 19.08V9.05C21.75 8.92 21.68 8.85 21.56 8.85Z\";\r\nexport var mdiUnicorn = \"M22 5L21.11 6.34C21.65 6.7 22 7.31 22 8V11.5L20.5 12L18.96 9.54C18.83 9.33 18.5 9.42 18.5 9.67V13.25C18.5 14.23 18.11 15.11 17.5 15.78V22H15V17C14.92 17 14.84 17 14.75 17C14.54 17 14.33 16.97 14.13 16.94L9.45 16.16L8.57 18.12L9.54 22H6.96L6.04 18.3C5.97 18.03 6 17.74 6.11 17.5L7 15.5C6.12 14.92 5.53 13.94 5.5 12.81C5.46 12.96 5.44 13.18 5.47 13.5C5.5 13.94 5.61 14.59 5.54 15.31C5.5 16.03 5.18 16.77 4.76 17.26C4.32 17.75 3.85 18.09 3.35 18.35L2.65 17.65C2.84 17.18 3.03 16.76 3.07 16.37C3.13 16 3.06 15.7 2.95 15.43L2.42 14.3C2.21 13.79 1.95 13.05 2 12.18C2.03 11.33 2.5 10.22 3.39 9.61C4.29 9 5.26 8.91 6.05 9.08C6.55 9.18 7.06 9.42 7.5 9.76C7.87 9.59 8.3 9.5 8.75 9.5H14.5V9C14.5 6.79 16.29 5 18.5 5L22 2L21 5H22Z\";\r\nexport var mdiUnicornVariant = \"M20 12V19L17 20L14 15.33C13.71 14.89 13 15.14 13.08 15.67L14 23L4 18L4.96 12.75C5.56 9.42 8.46 7 11.84 7H13L19 1L17 7H20L18.42 9.37C19.36 9.88 20 10.86 20 12Z\";\r\nexport var mdiUnicycle = \"M13 9.09V5H14C14.55 5 15 4.55 15 4S14.55 3 14 3H10C9.45 3 9 3.45 9 4S9.45 5 10 5H11V9.09C8.16 9.57 6 12.03 6 15C6 18.31 8.69 21 12 21S18 18.31 18 15C18 12.03 15.84 9.57 13 9.09M12 19C9.79 19 8 17.21 8 15C8 13.14 9.28 11.59 11 11.14V16H13V11.14C14.72 11.59 16 13.14 16 15C16 17.21 14.21 19 12 19Z\";\r\nexport var mdiUnity = \"M10.11,17H7.5L2.59,12L7.5,7H10.11L11.42,4.74L18.21,3L20.08,9.74L18.77,12L20.08,14.26L18.21,21L11.42,19.26L10.11,17M10.25,16.75L15.38,18.13L12.42,13H6.5L10.25,16.75M17.12,17.13L18.5,12L17.12,6.87L14.15,12L17.12,17.13M10.25,7.25L6.5,11H12.42L15.38,5.87L10.25,7.25Z\";\r\nexport var mdiUnreal = \"M2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2A10,10 0 0,0 2,12M5.24,18.76C3.43,16.95 2.44,14.55 2.44,12C2.44,9.45 3.43,7.05 5.24,5.24C7.05,3.43 9.45,2.44 12,2.44C14.55,2.44 16.95,3.43 18.76,5.24C20.57,7.05 21.56,9.45 21.56,12C21.56,14.55 20.57,16.95 18.76,18.76C16.95,20.57 14.55,21.56 12,21.56C9.45,21.56 7.05,20.57 5.24,18.76M6.35,9.5C4.34,11.79 4.73,13.68 4.73,13.68C4.73,13.68 5.28,12.38 6.61,11C7.25,10.37 7.72,10.15 8.04,10.15C8.4,10.15 8.57,10.41 8.57,10.65V15.29C8.57,15.75 8.27,15.85 8,15.84C7.77,15.84 7.55,15.76 7.55,15.76C8.92,17.73 12.19,18 12.19,18L13.63,16.5H13.67L15,17.63C17.39,16.21 18.55,13.58 18.55,13.58C17.5,14.7 16.79,14.97 16.39,14.96C16.03,14.96 15.88,14.75 15.88,14.75C15.87,14.65 15.82,8.9 15.89,8.9C16.31,8.13 17.63,6.56 17.63,6.56C15.16,7.05 13.81,8.66 13.81,8.66C13.41,8.35 12.59,8.4 12.59,8.4C12.97,8.61 13.35,9.21 13.35,9.72V14.65C13.35,14.65 12.5,15.38 11.88,15.38C11.5,15.38 11.27,15.17 11.14,15C11.05,14.88 11,14.79 11,14.79V8.69C10.93,8.75 10.82,8.8 10.71,8.8C10.57,8.79 10.43,8.73 10.34,8.53C10.26,8.38 10.22,8.15 10.22,7.83C10.22,6.7 11.5,5.96 11.5,5.96C9.87,6.39 8.36,7.22 6.35,9.5\";\r\nexport var mdiUpdate = \"M21,10.12H14.22L16.96,7.3C14.23,4.6 9.81,4.5 7.08,7.2C4.35,9.91 4.35,14.28 7.08,17C9.81,19.7 14.23,19.7 16.96,17C18.32,15.65 19,14.08 19,12.1H21C21,14.08 20.12,16.65 18.36,18.39C14.85,21.87 9.15,21.87 5.64,18.39C2.14,14.92 2.11,9.28 5.62,5.81C9.13,2.34 14.76,2.34 18.27,5.81L21,3V10.12M12.5,8V12.25L16,14.33L15.28,15.54L11,13V8H12.5Z\";\r\nexport var mdiUpload = \"M9,16V10H5L12,3L19,10H15V16H9M5,20V18H19V20H5Z\";\r\nexport var mdiUploadLock = \"M22 22H17C16.5 22 16 21.5 16 21V17C16 16.5 16.5 16 17 16V14.5C17 13.1 18.1 12 19.5 12C20.9 12 22 13.1 22 14.5V16C22.5 16 23 16.5 23 17V21C23 21.5 22.5 22 22 22M14 20H5V18H14V20M21 16V14.5C21 13.7 20.3 13 19.5 13C18.7 13 18 13.7 18 14.5V16H21M15 16H9V10H5L12 3L19 10H15V16Z\";\r\nexport var mdiUploadLockOutline = \"M22 22H17C16.5 22 16 21.5 16 21V17C16 16.5 16.5 16 17 16V14.5C17 13.1 18.1 12 19.5 12C20.9 12 22 13.1 22 14.5V16C22.5 16 23 16.5 23 17V21C23 21.5 22.5 22 22 22M5 18H14V20H5V18M21 16V14.5C21 13.7 20.3 13 19.5 13C18.7 13 18 13.7 18 14.5V16H21M9 16V10H5L12 3L19 10H15V16H9M9.83 8H11V14H13V8H14.17L12 5.83L9.83 8Z\";\r\nexport var mdiUploadMultiple = \"M9,14V8H5L12,1L19,8H15V14H9M5,18V16H19V18H5M19,20H5V22H19V20Z\";\r\nexport var mdiUploadNetwork = \"M17,3A2,2 0 0,1 19,5V15A2,2 0 0,1 17,17H13V19H14A1,1 0 0,1 15,20H22V22H15A1,1 0 0,1 14,23H10A1,1 0 0,1 9,22H2V20H9A1,1 0 0,1 10,19H11V17H7C5.89,17 5,16.1 5,15V5A2,2 0 0,1 7,3H17M12,5.5L7.5,10H11V14H13V10H16.5L12,5.5Z\";\r\nexport var mdiUploadNetworkOutline = \"M15,20A1,1 0 0,0 14,19H13V17H17A2,2 0 0,0 19,15V5A2,2 0 0,0 17,3H7A2,2 0 0,0 5,5V15A2,2 0 0,0 7,17H11V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15M7,15V5H17V15H7M12,6L8,10H11V14H13V10H16L12,6Z\";\r\nexport var mdiUploadOff = \"M22.11 21.46L2.39 1.73L1.11 3L6.56 8.45L5 10H8.11L9 10.89V16H14.11L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M15 10H19L12 3L9.1 5.9L15 11.8V10Z\";\r\nexport var mdiUploadOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L6.56 8.45L5 10H8.11L9 10.89V16H14.11L16.11 18H5V20H18.11L20.84 22.73L22.11 21.46M11 14V12.89L12.11 14H11M12 5.8L14.2 8H13V9.8L15 11.8V10H19L12 3L9.1 5.9L10.5 7.3L12 5.8Z\";\r\nexport var mdiUploadOutline = \"M9,10V16H15V10H19L12,3L5,10H9M12,5.8L14.2,8H13V14H11V8H9.8L12,5.8M19,18H5V20H19V18Z\";\r\nexport var mdiUsb = \"M15,7V11H16V13H13V5H15L12,1L9,5H11V13H8V10.93C8.7,10.56 9.2,9.85 9.2,9C9.2,7.78 8.21,6.8 7,6.8C5.78,6.8 4.8,7.78 4.8,9C4.8,9.85 5.3,10.56 6,10.93V13A2,2 0 0,0 8,15H11V18.05C10.29,18.41 9.8,19.15 9.8,20A2.2,2.2 0 0,0 12,22.2A2.2,2.2 0 0,0 14.2,20C14.2,19.15 13.71,18.41 13,18.05V15H16A2,2 0 0,0 18,13V11H19V7H15Z\";\r\nexport var mdiUsbCPort = \"M6 12H18C18.55 12 19 12.45 19 13C19 13.55 18.55 14 18 14H6C5.45 14 5 13.55 5 13C5 12.45 5.45 12 6 12M6 10C4.34 10 3 11.34 3 13C3 14.66 4.34 16 6 16H18C19.66 16 21 14.66 21 13C21 11.34 19.66 10 18 10H6M6 8H18C20.76 8 23 10.24 23 13C23 15.76 20.76 18 18 18H6C3.24 18 1 15.76 1 13C1 10.24 3.24 8 6 8Z\";\r\nexport var mdiUsbFlashDrive = \"M8 15C8.55 15 9 15.45 9 16C9 16.55 8.55 17 8 17C7.45 17 7 16.55 7 16C7 15.45 7.45 15 8 15M15.07 4.69L16.5 6.1L15.07 7.5L13.66 6.1L15.07 4.69M17.9 7.5L19.31 8.93L17.9 10.34L16.5 8.93L17.9 7.5M8 13C6.34 13 5 14.34 5 16C5 17.66 6.34 19 8 19C9.66 19 11 17.66 11 16C11 14.34 9.66 13 8 13M9.77 4.33L10.5 5.08L14.29 1.29C14.47 1.11 14.72 1 15 1C15.28 1 15.53 1.11 15.71 1.29L22.78 8.36L22.78 8.37C22.92 8.54 23 8.76 23 9C23 9.3 22.87 9.57 22.66 9.76L22.66 9.76L18.93 13.5L19.67 14.23L12.95 20.95C11.68 22.22 9.93 23 8 23C4.13 23 1 19.87 1 16C1 14.07 1.78 12.32 3.05 11.05L9.77 4.33M20.59 9L15 3.41L11.93 6.5L17.5 12.08L20.59 9Z\";\r\nexport var mdiUsbFlashDriveOutline = \"M8 13C9.66 13 11 14.34 11 16C11 17.66 9.66 19 8 19C6.34 19 5 17.66 5 16C5 14.34 6.34 13 8 13M8 15C7.45 15 7 15.45 7 16C7 16.55 7.45 17 8 17C8.55 17 9 16.55 9 16C9 15.45 8.55 15 8 15M9.77 4.33L10.5 5.08L14.29 1.29C14.47 1.11 14.72 1 15 1C15.28 1 15.53 1.11 15.71 1.29L22.78 8.36L22.78 8.37C22.92 8.54 23 8.76 23 9C23 9.3 22.87 9.57 22.66 9.76L22.66 9.76L18.93 13.5L19.67 14.23L12.95 20.95C11.68 22.22 9.93 23 8 23C4.13 23 1 19.87 1 16C1 14.07 1.78 12.32 3.05 11.05L9.77 4.33M11.54 19.54L16.84 14.23L9.77 7.16L4.46 12.46C3.56 13.37 3 14.62 3 16C3 18.76 5.24 21 8 21C9.38 21 10.63 20.44 11.54 19.54M15.07 4.69L16.5 6.1L15.07 7.5L13.66 6.1L15.07 4.69M17.9 7.5L19.31 8.93L17.9 10.34L16.5 8.93L17.9 7.5M20.59 9L15 3.41L11.93 6.5L17.5 12.08L20.59 9Z\";\r\nexport var mdiUsbPort = \"M8 2C6.9 2 6 2.9 6 4V12H5V16L9 20V22H15V20L19 16V12H18V4C18 2.9 17.11 2 16 2M8 4H16V12H8M9 7V9H11V7M13 7V9H15V7Z\";\r\nexport var mdiVacuum = \"M23 20V22H16L16 20H18.46L12 4.61C11.81 4.14 11.5 3.76 11.06 3.46S10.14 3 9.61 3C8.9 3 8.28 3.27 7.76 3.79S7 4.92 7 5.64L7 9H8C10.21 9 12 10.79 12 13V22H8C8.61 21.16 9 20.13 9 19C9 16.24 6.76 14 4 14C3.29 14 2.61 14.15 2 14.42V9H5V5.64C5 4.8 5.23 4 5.63 3.32C6.04 2.62 6.59 2.06 7.3 1.63C8 1.21 8.77 1 9.61 1C10.55 1 11.4 1.26 12.16 1.77S13.5 2.97 13.87 3.81L20.66 20H23M7 19C7 20.66 5.66 22 4 22S1 20.66 1 19 2.34 16 4 16 7 17.34 7 19M5 19C5 18.45 4.55 18 4 18S3 18.45 3 19 3.45 20 4 20 5 19.55 5 19Z\";\r\nexport var mdiVacuumOutline = \"M20.66 20L13.87 3.81C13.5 2.97 12.93 2.29 12.16 1.77C11.4 1.26 10.55 1 9.61 1C8.77 1 8 1.21 7.3 1.63S6.04 2.62 5.63 3.32 5 4.8 5 5.64L5.03 9H2.03V14.45C2.65 14.17 3.31 14.03 4 14.03V11.03H9C9.57 11.03 10.04 11.23 10.43 11.62C10.82 12 11 12.47 11 13V20.03H8.91C8.76 20.75 8.44 21.41 7.97 22H13V13C13 12.28 12.8 11.62 12.45 11S11.61 9.91 11 9.56C10.42 9.2 9.75 9 9 9H7V5.64C7 4.92 7.25 4.31 7.76 3.79S8.89 3 9.61 3C10.14 3 10.63 3.16 11.06 3.46S11.81 4.14 12 4.61L18.46 20L16 20.03V22H23V20.03L20.66 20M4 18C4.55 18 5 18.45 5 19S4.55 20 4 20 3 19.55 3 19 3.45 18 4 18M4 16C2.34 16 1 17.34 1 19S2.34 22 4 22 7 20.66 7 19 5.66 16 4 16Z\";\r\nexport var mdiValve = \"M4 22H2V2H4M22 2H20V22H22M17.24 5.34L13.24 9.34A3 3 0 0 0 9.24 13.34L5.24 17.34L6.66 18.76L10.66 14.76A3 3 0 0 0 14.66 10.76L18.66 6.76Z\";\r\nexport var mdiValveClosed = \"M22 2V22H20V13H14.82A3 3 0 0 1 9.18 13H4V22H2V2H4V11H9.18A3 3 0 0 1 14.82 11H20V2Z\";\r\nexport var mdiValveOpen = \"M4 22H2V2H4M22 2H20V22H22M11 4V9.18A3 3 0 0 0 11 14.82V20H13V14.82A3 3 0 0 0 13 9.18V4Z\";\r\nexport var mdiVanPassenger = \"M3,7C1.89,7 1,7.89 1,9V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V13C23,11.89 22.11,11 21,11L18,7H3M3,8.5H7V11H3V8.5M9,8.5H13V11H9V8.5M15,8.5H17.5L19.46,11H15V8.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiVanUtility = \"M3,7C1.89,7 1,7.89 1,9V17H3A3,3 0 0,0 6,20A3,3 0 0,0 9,17H15A3,3 0 0,0 18,20A3,3 0 0,0 21,17H23V13C23,11.89 22.11,11 21,11L18,7H3M15,8.5H17.5L19.46,11H15V8.5M6,15.5A1.5,1.5 0 0,1 7.5,17A1.5,1.5 0 0,1 6,18.5A1.5,1.5 0 0,1 4.5,17A1.5,1.5 0 0,1 6,15.5M18,15.5A1.5,1.5 0 0,1 19.5,17A1.5,1.5 0 0,1 18,18.5A1.5,1.5 0 0,1 16.5,17A1.5,1.5 0 0,1 18,15.5Z\";\r\nexport var mdiVanish = \"M16,13V11H21V13H16M14.83,7.76L17.66,4.93L19.07,6.34L16.24,9.17L14.83,7.76M11,16H13V21H11V16M11,3H13V8H11V3M4.93,17.66L7.76,14.83L9.17,16.24L6.34,19.07L4.93,17.66M4.93,6.34L6.34,4.93L9.17,7.76L7.76,9.17L4.93,6.34M8,13H3V11H8V13M19.07,17.66L17.66,19.07L14.83,16.24L16.24,14.83L19.07,17.66Z\";\r\nexport var mdiVanishQuarter = \"M11 3H13V8H11V3M4.9 6.3L6.3 4.9L9.1 7.7L7.8 9.2L4.9 6.3M8 13H3V11H8V13\";\r\nexport var mdiVanityLight = \"M22 20H16C16 18.34 17.34 13 19 13S22 18.34 22 20M12 13C10.34 13 9 18.34 9 20H15C15 18.34 13.66 13 12 13M5 13C3.34 13 2 18.34 2 20H8C8 18.34 6.66 13 5 13M14.82 6C14.26 4.44 12.53 3.64 11 4.2C10.14 4.5 9.5 5.17 9.18 6H2V8H4V12H6V8H9.18C9.5 8.85 10.15 9.5 11 9.82V12H13V9.82C13.85 9.5 14.5 8.85 14.82 8H18V12H20V8H22V6H14.82Z\";\r\nexport var mdiVariable = \"M20.41,3C21.8,5.71 22.35,8.84 22,12C21.8,15.16 20.7,18.29 18.83,21L17.3,20C18.91,17.57 19.85,14.8 20,12C20.34,9.2 19.89,6.43 18.7,4L20.41,3M5.17,3L6.7,4C5.09,6.43 4.15,9.2 4,12C3.66,14.8 4.12,17.57 5.3,20L3.61,21C2.21,18.29 1.65,15.17 2,12C2.2,8.84 3.3,5.71 5.17,3M12.08,10.68L14.4,7.45H16.93L13.15,12.45L15.35,17.37H13.09L11.71,14L9.28,17.33H6.76L10.66,12.21L8.53,7.45H10.8L12.08,10.68Z\";\r\nexport var mdiVariableBox = \"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3M7.4 18C5.9 16.5 5 14.3 5 12S5.9 7.5 7.4 6L9 6.7C7.7 7.9 7 9.9 7 12S7.7 16.1 9 17.3L7.4 18M12.7 15L11.9 13L10.5 15H9L11.3 11.9L10 9H11.3L12.1 11L13.5 9H15L12.8 12L14.1 15H12.7M16.6 18L15 17.3C16.3 16 17 14.1 17 12S16.3 7.9 15 6.7L16.6 6C18.1 7.5 19 9.7 19 12S18.1 16.5 16.6 18Z\";\r\nexport var mdiVectorArrangeAbove = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C6.67,16 10.33,16 14,16C15.11,16 16,15.11 16,14C16,10.33 16,6.67 16,3C16,1.89 15.11,1 14,1H3M3,3H14V14H3V3M18,7V9H20V20H9V18H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H18Z\";\r\nexport var mdiVectorArrangeBelow = \"M20,22C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C16.33,7 12.67,7 9,7C7.89,7 7,7.89 7,9C7,12.67 7,16.33 7,20C7,21.11 7.89,22 9,22H20M20,20H9V9H20V20M5,16V14H3V3H14V5H16V3C16,1.89 15.11,1 14,1H3C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H5Z\";\r\nexport var mdiVectorBezier = \"M7.5,4A1.5,1.5 0 0,0 6,5.5A1.5,1.5 0 0,0 7.5,7C8.13,7 8.7,6.6 8.91,6H13C13.67,5.33 14.33,5 15,5H8.91C8.7,4.4 8.13,4 7.5,4M19,5C8,5 14,17 5,17V19C16,19 10,7 19,7V5M16.5,17C15.87,17 15.3,17.4 15.09,18H11C10.33,18.67 9.67,19 9,19H15.09C15.3,19.6 15.87,20 16.5,20A1.5,1.5 0 0,0 18,18.5A1.5,1.5 0 0,0 16.5,17Z\";\r\nexport var mdiVectorCircle = \"M9,2V4.06C6.72,4.92 4.92,6.72 4.05,9H2V15H4.06C4.92,17.28 6.72,19.09 9,19.95V22H15V19.94C17.28,19.08 19.09,17.28 19.95,15H22V9H19.94C19.08,6.72 17.28,4.92 15,4.05V2M11,4H13V6H11M9,6.25V8H15V6.25C16.18,6.86 17.14,7.82 17.75,9H16V15H17.75C17.14,16.18 16.18,17.14 15,17.75V16H9V17.75C7.82,17.14 6.86,16.18 6.25,15H8V9H6.25C6.86,7.82 7.82,6.86 9,6.25M4,11H6V13H4M18,11H20V13H18M11,18H13V20H11\";\r\nexport var mdiVectorCircleVariant = \"M22,9H19.97C18.7,5.41 15.31,3 11.5,3A9,9 0 0,0 2.5,12C2.5,17 6.53,21 11.5,21C15.31,21 18.7,18.6 20,15H22M20,11V13H18V11M17.82,15C16.66,17.44 14.2,19 11.5,19C7.64,19 4.5,15.87 4.5,12C4.5,8.14 7.64,5 11.5,5C14.2,5 16.66,6.57 17.81,9H16V15\";\r\nexport var mdiVectorCombine = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C4.33,16 7,16 7,16C7,16 7,18.67 7,20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C18.67,7 16,7 16,7C16,7 16,4.33 16,3C16,1.89 15.11,1 14,1H3M3,3H14C14,4.33 14,7 14,7H9C7.89,7 7,7.89 7,9V14C7,14 4.33,14 3,14V3M9,9H14V14H9V9M16,9C16,9 18.67,9 20,9V20H9C9,18.67 9,16 9,16H14C15.11,16 16,15.11 16,14V9Z\";\r\nexport var mdiVectorCurve = \"M18.5,2A1.5,1.5 0 0,1 20,3.5A1.5,1.5 0 0,1 18.5,5C18.27,5 18.05,4.95 17.85,4.85L14.16,8.55L14.5,9C16.69,7.74 19.26,7 22,7L23,7.03V9.04L22,9C19.42,9 17,9.75 15,11.04A3.96,3.96 0 0,1 11.04,15C9.75,17 9,19.42 9,22L9.04,23H7.03L7,22C7,19.26 7.74,16.69 9,14.5L8.55,14.16L4.85,17.85C4.95,18.05 5,18.27 5,18.5A1.5,1.5 0 0,1 3.5,20A1.5,1.5 0 0,1 2,18.5A1.5,1.5 0 0,1 3.5,17C3.73,17 3.95,17.05 4.15,17.15L7.84,13.45C7.31,12.78 7,11.92 7,11A4,4 0 0,1 11,7C11.92,7 12.78,7.31 13.45,7.84L17.15,4.15C17.05,3.95 17,3.73 17,3.5A1.5,1.5 0 0,1 18.5,2M11,9A2,2 0 0,0 9,11A2,2 0 0,0 11,13A2,2 0 0,0 13,11A2,2 0 0,0 11,9Z\";\r\nexport var mdiVectorDifference = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H5V14H3V3H14V5H16V3C16,1.89 15.11,1 14,1H3M9,7C7.89,7 7,7.89 7,9V11H9V9H11V7H9M13,7V9H14V10H16V7H13M18,7V9H20V20H9V18H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H18M14,12V14H12V16H14C15.11,16 16,15.11 16,14V12H14M7,13V16H10V14H9V13H7Z\";\r\nexport var mdiVectorDifferenceAb = \"M3,1C1.89,1 1,1.89 1,3V5H3V3H5V1H3M7,1V3H10V1H7M12,1V3H14V5H16V3C16,1.89 15.11,1 14,1H12M1,7V10H3V7H1M14,7C14,7 14,11.67 14,14C11.67,14 7,14 7,14C7,14 7,18 7,20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7C18,7 14,7 14,7M16,9H20V20H9V16H14C15.11,16 16,15.11 16,14V9M1,12V14C1,15.11 1.89,16 3,16H5V14H3V12H1Z\";\r\nexport var mdiVectorDifferenceBa = \"M20,22C21.11,22 22,21.11 22,20V18H20V20H18V22H20M16,22V20H13V22H16M11,22V20H9V18H7V20C7,21.11 7.89,22 9,22H11M22,16V13H20V16H22M9,16C9,16 9,11.33 9,9C11.33,9 16,9 16,9C16,9 16,5 16,3C16,1.89 15.11,1 14,1H3C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16C5,16 9,16 9,16M7,14H3V3H14V7H9C7.89,7 7,7.89 7,9V14M22,11V9C22,7.89 21.11,7 20,7H18V9H20V11H22Z\";\r\nexport var mdiVectorEllipse = \"M23,9V15H20.35C19.38,17.12 17.43,18.78 15,19.54V22H9V19.54C5.5,18.45 3,15.5 3,12C3,7.58 7.03,4 12,4C15.78,4 19,6.07 20.35,9H23M17,15V9H18.06C16.85,7.21 14.59,6 12,6C8.13,6 5,8.69 5,12C5,14.39 6.64,16.46 9,17.42V16H15V17.42C16.29,16.9 17.35,16.05 18.06,15H17M19,13H21V11H19V13M11,20H13V18H11V20Z\";\r\nexport var mdiVectorIntersection = \"M3.14,1A2.14,2.14 0 0,0 1,3.14V5H3V3H5V1H3.14M7,1V3H10V1H7M12,1V3H14V5H16V3.14C16,1.96 15.04,1 13.86,1H12M1,7V10H3V7H1M9,7C7.89,7 7,7.89 7,9C7,11.33 7,16 7,16C7,16 11.57,16 13.86,16A2.14,2.14 0 0,0 16,13.86C16,11.57 16,7 16,7C16,7 11.33,7 9,7M18,7V9H20V11H22V9C22,7.89 21.11,7 20,7H18M9,9H14V14H9V9M1,12V13.86C1,15.04 1.96,16 3.14,16H5V14H3V12H1M20,13V16H22V13H20M7,18V20C7,21.11 7.89,22 9,22H11V20H9V18H7M20,18V20H18V22H20C21.11,22 22,21.11 22,20V18H20M13,20V22H16V20H13Z\";\r\nexport var mdiVectorLine = \"M15,3V7.59L7.59,15H3V21H9V16.42L16.42,9H21V3M17,5H19V7H17M5,17H7V19H5\";\r\nexport var mdiVectorLink = \"M3 1C1.89 1 1 1.89 1 3V14C1 15.11 1.89 16 3 16H14C15.11 16 16 15.11 16 14V11H14V14H3V3H14V5H16V3C16 1.89 15.11 1 14 1M9 7C7.89 7 7 7.89 7 9V12H9V9H20V20H9V18H7V20C7 21.11 7.89 22 9 22H20C21.11 22 22 21.11 22 20V9C22 7.89 21.11 7 20 7H9\";\r\nexport var mdiVectorPoint = \"M9 9V15H15V9H9M11 11H13V13H11V11Z\";\r\nexport var mdiVectorPointEdit = \"M9 9V15H15V9H9M11 11H13V13H11V11M21.2 13C21.1 13 20.9 13.1 20.8 13.2L19.8 14.2L21.9 16.3L22.9 15.3C23.1 15.1 23.1 14.7 22.9 14.5L21.6 13.2C21.4 13.1 21.3 13 21.2 13M19.1 14.8L13 20.9V23H15.1L21.2 16.8L19.1 14.8Z\";\r\nexport var mdiVectorPointMinus = \"M9 9V15H15V9H9M11 11H13V13H11V11M15 18V20H23V18H15Z\";\r\nexport var mdiVectorPointPlus = \"M9 9V15H15V9H9M11 11H13V13H11V11M18 15V18H15V20H18V23H20V20H23V18H20V15H18Z\";\r\nexport var mdiVectorPointSelect = \"M12,20L7,22L12,11L17,22L12,20M8,2H16V5H22V7H16V10H8V7H2V5H8V2M10,4V8H14V4H10Z\";\r\nexport var mdiVectorPolygon = \"M2,2V8H4.28L5.57,16H4V22H10V20.06L15,20.05V22H21V16H19.17L20,9H22V3H16V6.53L14.8,8H9.59L8,5.82V2M4,4H6V6H4M18,5H20V7H18M6.31,8H7.11L9,10.59V14H15V10.91L16.57,9H18L17.16,16H15V18.06H10V16H7.6M11,10H13V12H11M6,18H8V20H6M17,18H19V20H17\";\r\nexport var mdiVectorPolygonVariant = \"M22 8V2H16V5.8L14.4 8H9.6L8 5.8V2H2V8H4V16H2V22H8V20H16V22H22V16H20V8H22M11 10H13V12H11V10M4 4H6V6H4V4M6 20H4V18H6V20M16 18H8V16H6V8H7.1L9 10.6V14H15V10.6L16.9 8H18V16H16V18M20 20H18V18H20V20M18 6V4H20V6H18Z\";\r\nexport var mdiVectorPolyline = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3M4 5H6V7H4M18 7H20V9H18M8 17H10V19H8Z\";\r\nexport var mdiVectorPolylineEdit = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M21.15 13C21 13 20.87 13.05 20.76 13.16L19.75 14.18L21.82 16.25L22.84 15.24C23.05 15.03 23.05 14.67 22.84 14.46L21.54 13.16C21.43 13.05 21.29 13 21.15 13M19.15 14.76L13 20.91V23H15.09L21.23 16.84L19.15 14.76M8 17H10V19H8V17Z\";\r\nexport var mdiVectorPolylineMinus = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M8 17H10V19H8V17M15 18V20H23V18H15Z\";\r\nexport var mdiVectorPolylinePlus = \"M2 3V9H4.95L6.95 15H6V21H12V16.41L17.41 11H22V5H16V9.57L10.59 15H9.06L7.06 9H8V3H2M4 5H6V7H4V5M18 7H20V9H18V7M18 15V18H15V20H18V23H20V20H23V18H20V15H18M8 17H10V19H8V17Z\";\r\nexport var mdiVectorPolylineRemove = \"M21.1 15.5L19 17.6L16.9 15.5L15.5 16.9L17.6 19L15.5 21.1L16.9 22.5L19 20.4L21.1 22.5L22.5 21.1L20.4 19L22.5 16.9L21.1 15.5M16 5V9.6L10.6 15H9.1L7.1 9H8V3H2V9H5L7 15H6V21H12V16.4L17.4 11H22V5H16M6 7H4V5H6V7M10 19H8V17H10V19M20 9H18V7H20V9\";\r\nexport var mdiVectorRadius = \"M2,4H4V2H10V4A10,10 0 0,1 20,14H22V20H20V22H18V20H16V14H18A8,8 0 0,0 10,6V8H4V6H2V4M18,16V18H20V16H18M6,4V6H8V4H6Z\";\r\nexport var mdiVectorRectangle = \"M2,4H8V6H16V4H22V10H20V14H22V20H16V18H8V20H2V14H4V10H2V4M16,10V8H8V10H6V14H8V16H16V14H18V10H16M4,6V8H6V6H4M18,6V8H20V6H18M4,16V18H6V16H4M18,16V18H20V16H18Z\";\r\nexport var mdiVectorSelection = \"M3,1H5V3H3V5H1V3A2,2 0 0,1 3,1M14,1A2,2 0 0,1 16,3V5H14V3H12V1H14M20,7A2,2 0 0,1 22,9V11H20V9H18V7H20M22,20A2,2 0 0,1 20,22H18V20H20V18H22V20M20,13H22V16H20V13M13,9V7H16V10H14V9H13M13,22V20H16V22H13M9,22A2,2 0 0,1 7,20V18H9V20H11V22H9M7,16V13H9V14H10V16H7M7,3V1H10V3H7M3,16A2,2 0 0,1 1,14V12H3V14H5V16H3M1,7H3V10H1V7M9,7H11V9H9V11H7V9A2,2 0 0,1 9,7M16,14A2,2 0 0,1 14,16H12V14H14V12H16V14Z\";\r\nexport var mdiVectorSquare = \"M2,2H8V4H16V2H22V8H20V16H22V22H16V20H8V22H2V16H4V8H2V2M16,8V6H8V8H6V16H8V18H16V16H18V8H16M4,4V6H6V4H4M18,4V6H20V4H18M4,18V20H6V18H4M18,18V20H20V18H18Z\";\r\nexport var mdiVectorSquareClose = \"M4 4H6V6H4V4M6 20H4V18H6V20M18 8V16H16V18H8V16H6V8H8V2H2V8H4V16H2V22H8V20H16V22H22V16H20V8H22V2H16V8H18M20 20H18V18H20V20M18 6V4H20V6H18M14 6H10V4H14V6Z\";\r\nexport var mdiVectorSquareEdit = \"M22.7 14.4L21.7 15.4L19.6 13.3L20.6 12.3C20.8 12.1 21.2 12.1 21.4 12.3L22.7 13.6C22.9 13.8 22.9 14.1 22.7 14.4M13 19.9L19.1 13.8L21.2 15.9L15.1 22H13V19.9M11 19.9V19.1L11.6 18.5L12.1 18H8V16H6V8H8V6H16V8H18V12.1L19.1 11L19.3 10.8C19.5 10.6 19.8 10.4 20.1 10.3V8H22.1V2H16.1V4H8V2H2V8H4V16H2V22H8V20L11 19.9M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20Z\";\r\nexport var mdiVectorSquareMinus = \"M13 19C13 18.7 13 18.3 13.1 18H8V16H6V8H8V6H16V8H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8H22V2H16V4H8V2H2V8H4V16H2V22H8V20H13.1C13 19.7 13 19.3 13 19M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20M23 18V20H15V18H23Z\";\r\nexport var mdiVectorSquareOpen = \"M4 4H6V6H4V4M6 20H4V18H6V20M18 8V16H16V18H8V16H6V8H8V2H2V8H4V16H2V22H8V20H16V22H22V16H20V8H22V2H16V8H18M20 20H18V18H20V20M18 6V4H20V6H18Z\";\r\nexport var mdiVectorSquarePlus = \"M13 19C13 18.7 13 18.3 13.1 18H8V16H6V8H8V6H16V8H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8H22V2H16V4H8V2H2V8H4V16H2V22H8V20H13.1C13 19.7 13 19.3 13 19M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20M20 15V18H23V20H20V23H18V20H15V18H18V15H20Z\";\r\nexport var mdiVectorSquareRemove = \"M13 19C13 18.7 13 18.3 13.1 18H8V16H6V8H8V6H16V8H18V13.1C18.3 13 18.7 13 19 13C19.3 13 19.7 13 20 13.1V8H22V2H16V4H8V2H2V8H4V16H2V22H8V20H13.1C13 19.7 13 19.3 13 19M18 4H20V6H18V4M4 4H6V6H4V4M6 20H4V18H6V20M22.5 16.9L20.4 19L22.5 21.1L21.1 22.5L19 20.4L16.9 22.5L15.5 21.1L17.6 19L15.5 16.9L16.9 15.5L19 17.6L21.1 15.5L22.5 16.9Z\";\r\nexport var mdiVectorTriangle = \"M9,3V9H9.73L5.79,16H2V22H8V20H16V22H22V16H18.21L14.27,9H15V3M11,5H13V7H11M12,9.04L16,16.15V18H8V16.15M4,18H6V20H4M18,18H20V20H18\";\r\nexport var mdiVectorUnion = \"M3,1C1.89,1 1,1.89 1,3V14C1,15.11 1.89,16 3,16H7V20C7,21.11 7.89,22 9,22H20C21.11,22 22,21.11 22,20V9C22,7.89 21.11,7 20,7H16V3C16,1.89 15.11,1 14,1H3M3,3H14V9H20V20H9V14H3V3Z\";\r\nexport var mdiVhs = \"M4,6A2,2 0 0,0 2,8V16A2,2 0 0,0 4,18H20A2,2 0 0,0 22,16V8A2,2 0 0,0 20,6H4M4.54,10H7V14H4.54C4.19,13.39 4,12.7 4,12C4,11.3 4.19,10.61 4.54,10M9,10H15V14H9V10M17,10H19.46C19.81,10.61 20,11.3 20,12C20,12.7 19.81,13.39 19.46,14H17V10Z\";\r\nexport var mdiVibrate = \"M16,19H8V5H16M16.5,3H7.5A1.5,1.5 0 0,0 6,4.5V19.5A1.5,1.5 0 0,0 7.5,21H16.5A1.5,1.5 0 0,0 18,19.5V4.5A1.5,1.5 0 0,0 16.5,3M19,17H21V7H19M22,9V15H24V9M3,17H5V7H3M0,15H2V9H0V15Z\";\r\nexport var mdiVibrateOff = \"M8.2,5L6.55,3.35C6.81,3.12 7.15,3 7.5,3H16.5A1.5,1.5 0 0,1 18,4.5V14.8L16,12.8V5H8.2M0,15H2V9H0V15M21,17V7H19V15.8L20.2,17H21M3,17H5V7H3V17M18,17.35L22.11,21.46L20.84,22.73L18,19.85C17.83,20.54 17.21,21 16.5,21H7.5A1.5,1.5 0 0,1 6,19.5V7.89L1.11,3L2.39,1.73L6.09,5.44L8,7.34L16,15.34L18,17.34V17.35M16,17.89L8,9.89V19H16V17.89M22,9V15H24V9H22Z\";\r\nexport var mdiVideo = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z\";\r\nexport var mdiVideo2d = \"M13 7H16C17.66 7 19 8.34 19 10V14C19 15.66 17.66 17 16 17H13V7M16 15C16.55 15 17 14.55 17 14V10C17 9.45 16.55 9 16 9H15V15H16M5 7H9C10.11 7 11 7.9 11 9V11C11 12.11 10.11 13 9 13H7V15H11V17H5V13C5 11.9 5.9 11 7 11H9V9H5V7Z\";\r\nexport var mdiVideo3d = \"M5,7H9A2,2 0 0,1 11,9V15A2,2 0 0,1 9,17H5V15H9V13H6V11H9V9H5V7M13,7H16A3,3 0 0,1 19,10V14A3,3 0 0,1 16,17H13V7M16,15A1,1 0 0,0 17,14V10A1,1 0 0,0 16,9H15V15H16Z\";\r\nexport var mdiVideo3dOff = \"M2.61 2L21.35 20.74L19.94 22.15L14.8 17H13V15.2L11 13.23V15.21C10.93 15.68 10.74 16.08 10.41 16.41C10.08 16.73 9.68 16.93 9.21 17H5V15H9V13H6V11H8.8L6.79 9H5V7.23L1.2 3.41L2.61 2M16 7H16.22C17 7.07 17.63 7.36 18.14 7.88C18.65 8.39 18.93 9 19 9.76V14.24C18.95 14.63 18.87 15 18.72 15.3L17 13.6V9.85C16.95 9.63 16.84 9.44 16.69 9.28C16.53 9.13 16.34 9.03 16.12 9H15V11.59L13 9.57V7H16Z\";\r\nexport var mdiVideo3dVariant = \"M14,10V14A0.5,0.5 0 0,1 13.5,14.5H12.5V9.5H13.5A0.5,0.5 0 0,1 14,10M21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M9.5,9.5A1.5,1.5 0 0,0 8,8H4.5V9.5H8V11.25H5.5V12.75H8V14.5H4.5V16H8A1.5,1.5 0 0,0 9.5,14.5M15.5,9.5A1.5,1.5 0 0,0 14,8H11V16H14A1.5,1.5 0 0,0 15.5,14.5\";\r\nexport var mdiVideo4kBox = \"M19,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,13.5H11V15H9.5V13.5H6.5V9H8V12H9.5V9H11V12H12V13.5M18,15H16.2L14.4,12.8V15H13V9H14.5V11.2L16.2,9H18L15.8,12L18,15Z\";\r\nexport var mdiVideoAccount = \"M17,10.5L21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M14,16V15C14,13.67 11.33,13 10,13C8.67,13 6,13.67 6,15V16H14M10,8A2,2 0 0,0 8,10A2,2 0 0,0 10,12A2,2 0 0,0 12,10A2,2 0 0,0 10,8Z\";\r\nexport var mdiVideoBox = \"M18,16L14,12.8V16H6V8H14V11.2L18,8M20,4H4A2,2 0 0,0 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z\";\r\nexport var mdiVideoBoxOff = \"M6,8H6.73L14,15.27V16H6M2.27,1L1,2.27L3,4.28C2.41,4.62 2,5.26 2,6V18A2,2 0 0,0 4,20H18.73L20.73,22L22,20.73M20,4H7.82L11.82,8H14V10.18L14.57,10.75L18,8V14.18L22,18.17C22,18.11 22,18.06 22,18V6A2,2 0 0,0 20,4Z\";\r\nexport var mdiVideoCheck = \"M17 10.5V7C17 6.45 16.55 6 16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5M8.93 15L6 11.8L7.24 10.56L8.93 12.26L12.76 8.43L14 9.93L8.93 15Z\";\r\nexport var mdiVideoCheckOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M6.35 12.08L7.5 10.95L9 12.5L12.5 9L13.65 10.37L9 15L6.35 12.08Z\";\r\nexport var mdiVideoHighDefinition = \"M14 10V14C14 14.3 13.8 14.5 13.5 14.5H12.5V9.5H13.5C13.8 9.5 14 9.7 14 10M17 10.5V7C17 6.4 16.6 6 16 6H4C3.4 6 3 6.4 3 7V17C3 17.6 3.4 18 4 18H16C16.6 18 17 17.6 17 17V13.5L21 17.5V6.5L17 10.5M9.5 16H8V12.8H6V16H4.5V8H6V11.2H8V8H9.5V16M15.5 14.5C15.5 15.3 14.8 16 14 16H11V8H14C14.8 8 15.5 8.7 15.5 9.5V14.5Z\";\r\nexport var mdiVideoImage = \"M17,10.5L21,6.5V17.5L17,13.5V17A1,1 0 0,1 16,18H4A1,1 0 0,1 3,17V7A1,1 0 0,1 4,6H16A1,1 0 0,1 17,7V10.5M10.91,9.55L9.2,11.82L10.5,13.55L9.77,14.09L7.73,11.36L5,15H15L10.91,9.55Z\";\r\nexport var mdiVideoInputAntenna = \"M12,5A7,7 0 0,0 5,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H19A7,7 0 0,0 12,5M13,14.29C13.88,13.9 14.5,13.03 14.5,12A2.5,2.5 0 0,0 12,9.5A2.5,2.5 0 0,0 9.5,12C9.5,13 10.12,13.9 11,14.29V17.59L7.59,21L9,22.41L12,19.41L15,22.41L16.41,21L13,17.59V14.29M12,1A11,11 0 0,0 1,12H3A9,9 0 0,1 12,3A9,9 0 0,1 21,12H23A11,11 0 0,0 12,1Z\";\r\nexport var mdiVideoInputComponent = \"M5,2A1,1 0 0,0 4,1A1,1 0 0,0 3,2V6H1V12H7V6H5V2M9,16C9,17.3 9.84,18.4 11,18.82V23H13V18.82C14.16,18.41 15,17.31 15,16V14H9V16M1,16C1,17.3 1.84,18.4 3,18.82V23H5V18.82C6.16,18.4 7,17.3 7,16V14H1V16M21,6V2A1,1 0 0,0 20,1A1,1 0 0,0 19,2V6H17V12H23V6H21M13,2A1,1 0 0,0 12,1A1,1 0 0,0 11,2V6H9V12H15V6H13V2M17,16C17,17.3 17.84,18.4 19,18.82V23H21V18.82C22.16,18.41 23,17.31 23,16V14H17V16Z\";\r\nexport var mdiVideoInputHdmi = \"M18,7V4A2,2 0 0,0 16,2H8A2,2 0 0,0 6,4V7H5V13L8,19V22H16V19L19,13V7H18M8,4H16V7H14V5H13V7H11V5H10V7H8V4Z\";\r\nexport var mdiVideoInputScart = \"M20.6 2.2L17.3 2.4L13.8 4.4L13.3 3.5L2 10V17H3V19C3 20.1 3.9 21 5 21H15C16.1 21 17 20.1 17 19V17H18V10H17L16.8 9.6L20.3 7.6L22.1 4.8L20.6 2.2M15 17V19H5V17H15Z\";\r\nexport var mdiVideoInputSvideo = \"M8,11.5A1.5,1.5 0 0,0 6.5,10A1.5,1.5 0 0,0 5,11.5A1.5,1.5 0 0,0 6.5,13A1.5,1.5 0 0,0 8,11.5M15,6.5A1.5,1.5 0 0,0 13.5,5H10.5A1.5,1.5 0 0,0 9,6.5A1.5,1.5 0 0,0 10.5,8H13.5A1.5,1.5 0 0,0 15,6.5M8.5,15A1.5,1.5 0 0,0 7,16.5A1.5,1.5 0 0,0 8.5,18A1.5,1.5 0 0,0 10,16.5A1.5,1.5 0 0,0 8.5,15M12,1A11,11 0 0,0 1,12A11,11 0 0,0 12,23A11,11 0 0,0 23,12A11,11 0 0,0 12,1M12,21C7.04,21 3,16.96 3,12C3,7.04 7.04,3 12,3C16.96,3 21,7.04 21,12C21,16.96 16.96,21 12,21M17.5,10A1.5,1.5 0 0,0 16,11.5A1.5,1.5 0 0,0 17.5,13A1.5,1.5 0 0,0 19,11.5A1.5,1.5 0 0,0 17.5,10M15.5,15A1.5,1.5 0 0,0 14,16.5A1.5,1.5 0 0,0 15.5,18A1.5,1.5 0 0,0 17,16.5A1.5,1.5 0 0,0 15.5,15Z\";\r\nexport var mdiVideoMarker = \"M5.5 16.8C4.8 16.8 4.3 16.2 4.3 15.6C4.3 14.9 4.9 14.4 5.5 14.4S6.7 15 6.7 15.6C6.8 16.2 6.2 16.8 5.5 16.8M5.5 12C3.6 12 2 13.6 2 15.5C2 18.1 5.5 22 5.5 22S9 18.1 9 15.5C9 13.6 7.4 12 5.5 12M4 6C3.4 6 3 6.4 3 7V10.6C3.8 10.2 4.6 10 5.5 10C8.5 10 11 12.5 11 15.5C11 16.4 10.8 17.2 10.5 18H16C16.6 18 17 17.6 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.4 16.6 6 16 6H4Z\";\r\nexport var mdiVideoMarkerOutline = \"M5.5 16.8C4.8 16.8 4.3 16.2 4.3 15.6C4.3 14.9 4.9 14.4 5.5 14.4S6.7 15 6.7 15.6C6.8 16.2 6.2 16.8 5.5 16.8M5.5 12C3.6 12 2 13.6 2 15.5C2 18.1 5.5 22 5.5 22S9 18.1 9 15.5C9 13.6 7.4 12 5.5 12M4 6C3.4 6 3 6.4 3 7V10.6C3.6 10.3 4.3 10.1 5 10V8H15V16H11C10.9 16.7 10.8 17.4 10.5 18H16C16.6 18 17 17.6 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.4 16.6 6 16 6H4Z\";\r\nexport var mdiVideoMinus = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5M14,13H6V11H14V13Z\";\r\nexport var mdiVideoMinusOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M13 13H7V11H13V13Z\";\r\nexport var mdiVideoOff = \"M3.27,2L2,3.27L4.73,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16C16.2,18 16.39,17.92 16.54,17.82L19.73,21L21,19.73M21,6.5L17,10.5V7A1,1 0 0,0 16,6H9.82L21,17.18V6.5Z\";\r\nexport var mdiVideoOffOutline = \"M3.41,1.86L2,3.27L4.73,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16C16.21,18 16.39,17.92 16.55,17.82L19.73,21L21.14,19.59L12.28,10.73L3.41,1.86M5,16V8H6.73L14.73,16H5M15,8V10.61L21,16.61V6.5L17,10.5V7A1,1 0 0,0 16,6H10.39L12.39,8H15Z\";\r\nexport var mdiVideoOutline = \"M15,8V16H5V8H15M16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5V7A1,1 0 0,0 16,6Z\";\r\nexport var mdiVideoPlus = \"M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5M14,13H11V16H9V13H6V11H9V8H11V11H14V13Z\";\r\nexport var mdiVideoPlusOutline = \"M15 8V16H5V8H15M16 6H4C3.45 6 3 6.45 3 7V17C3 17.55 3.45 18 4 18H16C16.55 18 17 17.55 17 17V13.5L21 17.5V6.5L17 10.5V7C17 6.45 16.55 6 16 6M13 13H11V15H9V13H7V11H9V9H11V11H13V13Z\";\r\nexport var mdiVideoStabilization = \"M4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4M4,6V18H20V6H4M7.24,6.58L18.83,9.69L16.76,17.42L5.17,14.31L7.24,6.58Z\";\r\nexport var mdiVideoStandardDefinition = \"M14 14V10C14 9.7 13.8 9.5 13.5 9.5H12.5V14.5H13.5C13.8 14.5 14 14.3 14 14M17 7V10.5L21 6.5V17.5L17 13.5V17C17 17.6 16.6 18 16 18H4C3.4 18 3 17.6 3 17V7C3 6.4 3.4 6 4 6H16C16.6 6 17 6.4 17 7M14 16C14.8 16 15.5 15.3 15.5 14.5V9.5C15.5 8.7 14.8 8 14 8H11V16H14M9 8H5.5C4.67 8 4 8.67 4 9.5V11C4 11.83 4.67 12.5 5.5 12.5H7.5V14.5H4V16H7.5C8.33 16 9 15.33 9 14.5V12.5C9 11.67 8.33 11 7.5 11H5.5V9.5H9V8Z\";\r\nexport var mdiVideoSwitch = \"M13,15.5V13H7V15.5L3.5,12L7,8.5V11H13V8.5L16.5,12M18,9.5V6A1,1 0 0,0 17,5H3A1,1 0 0,0 2,6V18A1,1 0 0,0 3,19H17A1,1 0 0,0 18,18V14.5L22,18.5V5.5L18,9.5Z\";\r\nexport var mdiVideoSwitchOutline = \"M8 13H12V15L15 12L12 9V11H8V9L5 12L8 15V13M18 9.5V6C18 5.4 17.5 5 17 5H3C2.5 5 2 5.4 2 6V18C2 18.5 2.5 19 3 19H17C17.5 19 18 18.5 18 18V14.5L22 18.5V5.5L18 9.5M16 17H4V7H16V17Z\";\r\nexport var mdiVideoVintage = \"M18,14.5V11A1,1 0 0,0 17,10H16C18.24,8.39 18.76,5.27 17.15,3C15.54,0.78 12.42,0.26 10.17,1.87C9.5,2.35 8.96,3 8.6,3.73C6.25,2.28 3.17,3 1.72,5.37C0.28,7.72 1,10.8 3.36,12.25C3.57,12.37 3.78,12.5 4,12.58V21A1,1 0 0,0 5,22H17A1,1 0 0,0 18,21V17.5L22,21.5V10.5L18,14.5M13,4A2,2 0 0,1 15,6A2,2 0 0,1 13,8A2,2 0 0,1 11,6A2,2 0 0,1 13,4M6,6A2,2 0 0,1 8,8A2,2 0 0,1 6,10A2,2 0 0,1 4,8A2,2 0 0,1 6,6Z\";\r\nexport var mdiVideoWireless = \"M17,14.5V11A1,1 0 0,0 16,10H4A1,1 0 0,0 3,11V21A1,1 0 0,0 4,22H16A1,1 0 0,0 17,21V17.5L21,21.5V10.5M3,3.86L4.4,5.24C7.5,2.19 12.5,2.19 15.6,5.24L17,3.86C13.14,0.05 6.87,0.05 3,3.86M5.8,6.62L7.2,8C8.75,6.5 11.25,6.5 12.8,8L14.2,6.62C11.88,4.34 8.12,4.34 5.8,6.62Z\";\r\nexport var mdiVideoWirelessOutline = \"M15,12V20H5V12H15M16,10H4A1,1 0 0,0 3,11V21A1,1 0 0,0 4,22H16A1,1 0 0,0 17,21V17.5L21,21.5V10.5L17,14.5V11A1,1 0 0,0 16,10M3,3.86L4.4,5.24C7.5,2.19 12.5,2.19 15.6,5.24L17,3.86C13.14,0.05 6.87,0.05 3,3.86M5.8,6.63L7.2,8C8.75,6.5 11.25,6.5 12.8,8L14.2,6.63C11.88,4.34 8.12,4.34 5.8,6.63Z\";\r\nexport var mdiViewAgenda = \"M21 3H3C2.4 3 2 3.4 2 4V10C2 10.6 2.4 11 3 11H21C21.6 11 22 10.6 22 10V4C22 3.4 21.6 3 21 3M21 13H3C2.4 13 2 13.4 2 14V20C2 20.6 2.4 21 3 21H21C21.6 21 22 20.6 22 20V14C22 13.4 21.6 13 21 13Z\";\r\nexport var mdiViewAgendaOutline = \"M21 13H3A1 1 0 0 0 2 14V20A1 1 0 0 0 3 21H21A1 1 0 0 0 22 20V14A1 1 0 0 0 21 13M20 19H4V15H20M21 3H3A1 1 0 0 0 2 4V10A1 1 0 0 0 3 11H21A1 1 0 0 0 22 10V4A1 1 0 0 0 21 3M20 9H4V5H20Z\";\r\nexport var mdiViewArray = \"M8,18H17V5H8M18,5V18H21V5M4,18H7V5H4V18Z\";\r\nexport var mdiViewArrayOutline = \"M15 7V16H10V7H15M21 5H18V18H21V5M17 5H8V18H17V5M7 5H4V18H7V5Z\";\r\nexport var mdiViewCarousel = \"M18,6V17H22V6M2,17H6V6H2M7,19H17V4H7V19Z\";\r\nexport var mdiViewCarouselOutline = \"M2 6H6V17H2V6M7 19H17V4H7V19M9 6H15V17H9V6M18 6H22V17H18V6Z\";\r\nexport var mdiViewColumn = \"M16,5V18H21V5M4,18H9V5H4M10,18H15V5H10V18Z\";\r\nexport var mdiViewColumnOutline = \"M4 5V18H21V5H4M14 7V16H11V7H14M6 7H9V16H6V7M19 16H16V7H19V16Z\";\r\nexport var mdiViewComfy = \"M3,9H7V5H3V9M3,14H7V10H3V14M8,14H12V10H8V14M13,14H17V10H13V14M8,9H12V5H8V9M13,5V9H17V5H13M18,14H22V10H18V14M3,19H7V15H3V19M8,19H12V15H8V19M13,19H17V15H13V19M18,19H22V15H18V19M18,5V9H22V5H18Z\";\r\nexport var mdiViewComfyOutline = \"M3 5V19H22V5H3M20 9H17.75V7H20V9M9.25 11H11.5V13H9.25V11M7.25 13H5V11H7.25V13M11.5 9H9.25V7H11.5V9M13.5 7H15.75V9H13.5V7M11.5 15V17H9.25V15H11.5M13.5 15H15.75V17H13.5V15M13.5 13V11H15.75V13H13.5M17.75 11H20V13H17.75V11M7.25 7V9H5V7H7.25M5 15H7.25V17H5V15M17.75 17V15H20V17H17.75Z\";\r\nexport var mdiViewCompact = \"M3,19H9V12H3V19M10,19H22V12H10V19M3,5V11H22V5H3Z\";\r\nexport var mdiViewCompactOutline = \"M3,5V19H22V5H3M5,7H20V11H5V7M5,17V13H9V17H5M11,17V13H20V17H11Z\";\r\nexport var mdiViewDashboard = \"M13,3V9H21V3M13,21H21V11H13M3,21H11V15H3M3,13H11V3H3V13Z\";\r\nexport var mdiViewDashboardEdit = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M21 9H13V3H21V9M13 18.06V11H21V11.1C20.24 11.1 19.57 11.5 19.19 11.89L13 18.06M11 13H3V3H11V13M11 21H3V15H11V21Z\";\r\nexport var mdiViewDashboardEditOutline = \"M21 13.1C20.9 13.1 20.7 13.2 20.6 13.3L19.6 14.3L21.7 16.4L22.7 15.4C22.9 15.2 22.9 14.8 22.7 14.6L21.4 13.3C21.3 13.2 21.2 13.1 21 13.1M19.1 14.9L13 20.9V23H15.1L21.2 16.9L19.1 14.9M21 3H13V9H21V3M19 7H15V5H19V7M13 18.06V11H21V11.1C20.24 11.1 19.57 11.5 19.19 11.89L18.07 13H15V16.07L13 18.06M11 3H3V13H11V3M9 11H5V5H9V11M11 20.06V15H3V21H11V20.06M9 19H5V17H9V19Z\";\r\nexport var mdiViewDashboardOutline = \"M19,5V7H15V5H19M9,5V11H5V5H9M19,13V19H15V13H19M9,17V19H5V17H9M21,3H13V9H21V3M11,3H3V13H11V3M21,11H13V21H21V11M11,15H3V21H11V15Z\";\r\nexport var mdiViewDashboardVariant = \"M2,5V19H8V5H2M9,5V10H15V5H9M16,5V14H22V5H16M9,11V19H15V11H9M16,15V19H22V15H16Z\";\r\nexport var mdiViewDashboardVariantOutline = \"M2 5V19H22V5H2M20 12H16V7H20V12M14 10H10V7H14V10M10 12H14V17H10V12M4 7H8V17H4V7M16 17V14H20V17H16Z\";\r\nexport var mdiViewDay = \"M2,3V6H21V3M20,8H3A1,1 0 0,0 2,9V15A1,1 0 0,0 3,16H20A1,1 0 0,0 21,15V9A1,1 0 0,0 20,8M2,21H21V18H2V21Z\";\r\nexport var mdiViewDayOutline = \"M21 18H2V20H21V18M19 10V14H4V10H19M20 8H3C2.45 8 2 8.45 2 9V15C2 15.55 2.45 16 3 16H20C20.55 16 21 15.55 21 15V9C21 8.45 20.55 8 20 8M21 4H2V6H21V4Z\";\r\nexport var mdiViewGallery = \"M21 3H2V16H21V3M2 17H6V21H2V17M7 17H11V21H7V17M12 17H16V21H12V17M17 17H21V21H17V17Z\";\r\nexport var mdiViewGalleryOutline = \"M1 3V21H23V3H1M21 5V14H3V5H21M11 16V19H8V16H11M3 16H6V19H3V16M13 19V16H16V19H13M18 19V16H21V19H18Z\";\r\nexport var mdiViewGrid = \"M3,11H11V3H3M3,21H11V13H3M13,21H21V13H13M13,3V11H21V3\";\r\nexport var mdiViewGridCompact = \"M2 5H4V7H2V5M5 5H7V7H5V5M8 5H10V7H8V5M11 5H13V7H11V5M14 5H16V7H14V5M17 5H19V7H17V5M20 5H22V7H20V5M2 8H4V10H2V8M5 8H7V10H5V8M8 8H10V10H8V8M11 8H13V10H11V8M14 8H16V10H14V8M17 8H19V10H17V8M20 8H22V10H20V8M2 11H4V13H2V11M5 11H7V13H5V11M8 11H10V13H8V11M11 11H13V13H11V11M14 11H16V13H14V11M17 11H19V13H17V11M20 11H22V13H20V11M2 14H4V16H2V14M5 14H7V16H5V14M8 14H10V16H8V14M11 14H13V16H11V14M14 14H16V16H14V14M17 14H19V16H17V14M20 14H22V16H20V14M2 17H4V19H2V17M5 17H7V19H5V17M8 17H10V19H8V17M11 17H13V19H11V17M14 17H16V19H14V17M17 17H19V19H17V17M20 17H22V19H20V17\";\r\nexport var mdiViewGridOutline = \"M3 11H11V3H3M5 5H9V9H5M13 21H21V13H13M15 15H19V19H15M3 21H11V13H3M5 15H9V19H5M13 3V11H21V3M19 9H15V5H19Z\";\r\nexport var mdiViewGridPlus = \"M13 3V11H21V3H13M3 21H11V13H3V21M3 3V11H11V3H3M13 16H16V13H18V16H21V18H18V21H16V18H13V16Z\";\r\nexport var mdiViewGridPlusOutline = \"M3 21H11V13H3M5 15H9V19H5M3 11H11V3H3M5 5H9V9H5M13 3V11H21V3M19 9H15V5H19M18 16H21V18H18V21H16V18H13V16H16V13H18Z\";\r\nexport var mdiViewHeadline = \"M4,5V7H21V5M4,11H21V9H4M4,19H21V17H4M4,15H21V13H4V15Z\";\r\nexport var mdiViewList = \"M9,5V9H21V5M9,19H21V15H9M9,14H21V10H9M4,9H8V5H4M4,19H8V15H4M4,14H8V10H4V14Z\";\r\nexport var mdiViewListOutline = \"M3 5V19H20V5H3M7 7V9H5V7H7M5 13V11H7V13H5M5 15H7V17H5V15M18 17H9V15H18V17M18 13H9V11H18V13M18 9H9V7H18V9Z\";\r\nexport var mdiViewModule = \"M16,5V11H21V5M10,11H15V5H10M16,18H21V12H16M10,18H15V12H10M4,18H9V12H4M4,11H9V5H4V11Z\";\r\nexport var mdiViewModuleOutline = \"M4 5V18H21V5H4M14 7V10.5H11V7H14M6 7H9V10.5H6V7M6 16V12.5H9V16H6M11 16V12.5H14V16H11M19 16H16V12.5H19V16M16 10.5V7H19V10.5H16Z\";\r\nexport var mdiViewParallel = \"M19 3V21H15V3H19M14 3V21H10V3H14M9 3V21H5V3H9Z\";\r\nexport var mdiViewParallelOutline = \"M19 3H5V21H19V3M17 19H15V5H17V19M13 19H11V5H13V19M7 5H9V19H7V5Z\";\r\nexport var mdiViewQuilt = \"M10,5V11H21V5M16,18H21V12H16M4,18H9V5H4M10,18H15V12H10V18Z\";\r\nexport var mdiViewQuiltOutline = \"M4 5V18H21V5H4M6 16V7H9V16H6M11 16V12.5H14V16H11M19 16H16V12.5H19V16M11 10.5V7H19V10.5H11Z\";\r\nexport var mdiViewSequential = \"M3 5H21V9H3V5M3 10H21V14H3V10M3 15H21V19H3V15Z\";\r\nexport var mdiViewSequentialOutline = \"M3 5V19H21V5H3M19 7V9H5V7H19M19 11V13H5V11H19M5 17V15H19V17H5Z\";\r\nexport var mdiViewSplitHorizontal = \"M3,5H21V7H3V5M3,11V9H21V11H3M3,19V13H21V19H3Z\";\r\nexport var mdiViewSplitVertical = \"M13,5H21V19H13V5M3,5H11V7H3V5M3,11V9H11V11H3M3,19V17H11V19H3M3,15V13H11V15H3Z\";\r\nexport var mdiViewStream = \"M4,5V11H21V5M4,18H21V12H4V18Z\";\r\nexport var mdiViewStreamOutline = \"M4 6V18H21V6H4M19 16H6V13H19V16M6 11V8H19V11H6Z\";\r\nexport var mdiViewWeek = \"M13,5H10A1,1 0 0,0 9,6V18A1,1 0 0,0 10,19H13A1,1 0 0,0 14,18V6A1,1 0 0,0 13,5M20,5H17A1,1 0 0,0 16,6V18A1,1 0 0,0 17,19H20A1,1 0 0,0 21,18V6A1,1 0 0,0 20,5M6,5H3A1,1 0 0,0 2,6V18A1,1 0 0,0 3,19H6A1,1 0 0,0 7,18V6A1,1 0 0,0 6,5Z\";\r\nexport var mdiViewWeekOutline = \"M21 4H3C2.45 4 2 4.45 2 5V19C2 19.55 2.45 20 3 20H21C21.55 20 22 19.55 22 19V5C22 4.45 21.55 4 21 4M8 18H4V6H8V18M14 18H10V6H14V18M20 18H16V6H20V18Z\";\r\nexport var mdiVimeo = \"M22,7.42C21.91,9.37 20.55,12.04 17.92,15.44C15.2,19 12.9,20.75 11,20.75C9.85,20.75 8.86,19.67 8.05,17.5C7.5,15.54 7,13.56 6.44,11.58C5.84,9.42 5.2,8.34 4.5,8.34C4.36,8.34 3.84,8.66 2.94,9.29L2,8.07C3,7.2 3.96,6.33 4.92,5.46C6.24,4.32 7.23,3.72 7.88,3.66C9.44,3.5 10.4,4.58 10.76,6.86C11.15,9.33 11.42,10.86 11.57,11.46C12,13.5 12.5,14.5 13.05,14.5C13.47,14.5 14.1,13.86 14.94,12.53C15.78,11.21 16.23,10.2 16.29,9.5C16.41,8.36 15.96,7.79 14.94,7.79C14.46,7.79 13.97,7.9 13.46,8.12C14.44,4.89 16.32,3.32 19.09,3.41C21.15,3.47 22.12,4.81 22,7.42Z\";\r\nexport var mdiViolin = \"M11,2A1,1 0 0,0 10,3V5L10,9A0.5,0.5 0 0,0 10.5,9.5H12A0.5,0.5 0 0,1 12.5,10A0.5,0.5 0 0,1 12,10.5H10.5C9.73,10.5 9,9.77 9,9V5.16C7.27,5.6 6,7.13 6,9V10.5A2.5,2.5 0 0,1 8.5,13A2.5,2.5 0 0,1 6,15.5V17C6,19.77 8.23,22 11,22H13C15.77,22 18,19.77 18,17V15.5A2.5,2.5 0 0,1 15.5,13A2.5,2.5 0 0,1 18,10.5V9C18,6.78 16.22,5 14,5V3A1,1 0 0,0 13,2H11M10.75,16.5H13.25L12.75,20H11.25L10.75,16.5Z\";\r\nexport var mdiVirtualReality = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3H5M6,9H7.5L8.5,12.43L9.5,9H11L9.25,15H7.75L6,9M13,9H16.5C17.35,9 18,9.65 18,10.5V11.5C18,12.1 17.6,12.65 17.1,12.9L18,15H16.5L15.65,13H14.5V15H13V9M14.5,10.5V11.5H16.5V10.5H14.5Z\";\r\nexport var mdiVirus = \"M19.82 14C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.5 6.57 20.07 6.41 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C19.81 2.83 18.7 2.83 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5S10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.1 5.21 9.26 5.5 8.5 5.94L7.39 4.35C7.58 3.83 7.53 3.23 7.19 2.75C6.63 1.96 5.54 1.76 4.75 2.32C3.96 2.87 3.76 3.96 4.32 4.75C4.66 5.24 5.2 5.5 5.75 5.5L6.93 7.18C6.5 7.61 6.16 8.09 5.87 8.62C5.25 8.38 4.5 8.5 4 9C3.33 9.7 3.33 10.8 4 11.5C4.29 11.77 4.64 11.93 5 12L5 12C5 12.54 5.07 13.06 5.18 13.56L3.87 13.91C3.45 13.56 2.87 13.41 2.29 13.56C1.36 13.81 .808 14.77 1.06 15.71C1.31 16.64 2.28 17.19 3.21 16.94C3.78 16.78 4.21 16.36 4.39 15.84L5.9 15.43C6.35 16.22 6.95 16.92 7.65 17.5L6.55 19.5C6 19.58 5.5 19.89 5.21 20.42C4.75 21.27 5.07 22.33 5.92 22.79C6.77 23.25 7.83 22.93 8.29 22.08C8.57 21.56 8.56 20.96 8.31 20.47L9.38 18.5C10.19 18.82 11.07 19 12 19C12.06 19 12.12 19 12.18 19C12.05 19.26 12 19.56 12 19.88C12.08 20.85 12.92 21.57 13.88 21.5S15.57 20.58 15.5 19.62C15.46 19.12 15.21 18.68 14.85 18.39C15.32 18.18 15.77 17.91 16.19 17.6L18.53 19.94C18.43 20.5 18.59 21.07 19 21.5C19.7 22.17 20.8 22.17 21.5 21.5S22.17 19.7 21.5 19C21.07 18.59 20.5 18.43 19.94 18.53L17.6 16.19C18.09 15.54 18.47 14.8 18.71 14H19.82M10.5 12C9.67 12 9 11.33 9 10.5S9.67 9 10.5 9 12 9.67 12 10.5 11.33 12 10.5 12M14 15C13.45 15 13 14.55 13 14C13 13.45 13.45 13 14 13S15 13.45 15 14C15 14.55 14.55 15 14 15Z\";\r\nexport var mdiVirusOff = \"M7.42 4.22L5.28 2.08C5.97 1.88 6.75 2.12 7.19 2.75C7.5 3.19 7.56 3.73 7.42 4.22M21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.5 6.57 20.07 6.41 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C19.81 2.83 18.7 2.83 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5S10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.26 5.19 9.57 5.41 8.92 5.72L18.28 15.08C18.45 14.73 18.6 14.38 18.71 14H19.82C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25M22.11 21.46L20.84 22.73L20.1 22C19.7 21.96 19.31 21.8 19 21.5C18.7 21.19 18.54 20.8 18.5 20.4L15.9 17.79C15.57 18 15.22 18.23 14.85 18.39C15.21 18.68 15.46 19.12 15.5 19.62C15.57 20.58 14.84 21.43 13.88 21.5S12.08 20.85 12 19.88C12 19.56 12.05 19.26 12.18 19H12C11.07 19 10.19 18.82 9.38 18.5L8.31 20.47C8.56 20.96 8.57 21.56 8.29 22.08C7.83 22.93 6.77 23.25 5.92 22.79C5.07 22.33 4.75 21.27 5.21 20.42C5.5 19.89 6 19.58 6.55 19.5L7.65 17.5C6.95 16.92 6.35 16.22 5.9 15.43L4.39 15.84C4.21 16.36 3.78 16.78 3.21 16.94C2.28 17.19 1.31 16.64 1.06 15.71C.808 14.77 1.36 13.81 2.29 13.56C2.87 13.41 3.45 13.56 3.87 13.91L5.18 13.56C5.07 13.06 5 12.54 5 12C4.64 11.93 4.29 11.77 4 11.5C3.33 10.8 3.33 9.7 4 9C4.5 8.5 5.25 8.38 5.87 8.62C5.97 8.44 6.09 8.27 6.2 8.09L1.11 3L2.39 1.73L22.11 21.46Z\";\r\nexport var mdiVirusOffOutline = \"M23 13C23 13.97 22.22 14.75 21.25 14.75C20.66 14.75 20.13 14.45 19.82 14H18.71C18.6 14.38 18.45 14.73 18.28 15.08L16.73 13.53C16.89 13.05 17 12.54 17 12C17 9.24 14.76 7 12 7C11.46 7 10.95 7.11 10.47 7.27L8.92 5.72C9.57 5.41 10.26 5.19 11 5.08V3.68C10.55 3.37 10.25 2.84 10.25 2.25C10.25 1.28 11.03 .5 12 .5S13.75 1.28 13.75 2.25C13.75 2.84 13.45 3.37 13 3.68V5.08C14.19 5.25 15.27 5.71 16.19 6.4L17.53 5.06C17.43 4.5 17.59 3.93 18 3.5C18.35 3.17 18.8 3 19.25 3S20.15 3.17 20.5 3.5C21.17 4.2 21.17 5.31 20.5 6C20.15 6.33 19.7 6.5 19.25 6.5C19.15 6.5 19.05 6.5 18.94 6.47L17.6 7.81C18.5 9 19 10.43 19 12H19.82C20.13 11.55 20.66 11.25 21.25 11.25C22.22 11.25 23 12.03 23 13M22.11 21.46L20.84 22.73L20.1 22C19.7 21.95 19.31 21.79 19 21.5C18.7 21.19 18.54 20.8 18.5 20.4L15.9 17.79C15.57 18 15.22 18.23 14.85 18.39C15.21 18.68 15.46 19.12 15.5 19.62C15.57 20.58 14.85 21.42 13.88 21.5H13.75C12.84 21.5 12.08 20.8 12 19.88C12 19.56 12.05 19.26 12.18 19H12C11.07 19 10.19 18.82 9.38 18.5L8.31 20.47C8.56 20.96 8.57 21.56 8.29 22.08C7.97 22.67 7.37 23 6.75 23C6.47 23 6.18 22.93 5.92 22.79C5.07 22.33 4.75 21.27 5.21 20.42C5.5 19.89 6 19.58 6.55 19.5L7.65 17.5C6.95 16.92 6.35 16.22 5.9 15.43L4.39 15.84C4.21 16.36 3.78 16.78 3.21 16.94C3.05 17 2.9 17 2.75 17C2 17 1.27 16.5 1.06 15.71C.809 14.77 1.36 13.81 2.29 13.56C2.44 13.5 2.6 13.5 2.75 13.5C3.16 13.5 3.56 13.65 3.87 13.91L5.18 13.56C5.07 13.06 5 12.54 5 12C4.64 11.92 4.29 11.77 4 11.5C3.33 10.8 3.33 9.7 4 9C4.35 8.67 4.8 8.5 5.25 8.5C5.46 8.5 5.67 8.54 5.87 8.62C5.97 8.44 6.09 8.27 6.2 8.09L1.11 3L2.39 1.73L22.11 21.46M14.45 16.34L7.66 9.55C7.25 10.28 7 11.11 7 12C7 14.76 9.24 17 12 17C12.9 17 13.73 16.75 14.45 16.34M7.19 2.75C6.84 2.26 6.3 2 5.75 2C5.59 2 5.43 2.03 5.27 2.07L7.42 4.22C7.56 3.73 7.5 3.19 7.19 2.75Z\";\r\nexport var mdiVirusOutline = \"M12 .5C11.03 .5 10.25 1.28 10.25 2.25C10.25 2.84 10.55 3.37 11 3.68V5.08C10.1 5.21 9.26 5.5 8.5 5.94L7.39 4.35C7.58 3.83 7.53 3.23 7.19 2.75C6.84 2.26 6.3 2 5.75 2C5.4 2 5.05 2.1 4.75 2.32C3.96 2.87 3.76 3.96 4.32 4.75C4.66 5.24 5.2 5.5 5.75 5.5L6.93 7.18C6.5 7.61 6.16 8.09 5.87 8.62C5.67 8.54 5.46 8.5 5.25 8.5C4.8 8.5 4.35 8.67 4 9C3.33 9.7 3.33 10.8 4 11.5C4.29 11.77 4.64 11.92 5 12L5 12C5 12.54 5.07 13.06 5.18 13.56L3.87 13.91C3.56 13.65 3.16 13.5 2.75 13.5C2.6 13.5 2.44 13.5 2.29 13.56C1.36 13.81 .809 14.77 1.06 15.71C1.27 16.5 2 17 2.75 17C2.9 17 3.05 17 3.21 16.94C3.78 16.78 4.21 16.36 4.39 15.84L5.9 15.43C6.35 16.22 6.95 16.92 7.65 17.5L6.55 19.5C6 19.58 5.5 19.89 5.21 20.42C4.75 21.27 5.07 22.33 5.92 22.79C6.18 22.93 6.47 23 6.75 23C7.37 23 7.97 22.67 8.29 22.08C8.57 21.56 8.56 20.96 8.31 20.47L9.38 18.5C10.19 18.82 11.07 19 12 19C12.06 19 12.12 19 12.18 19C12.05 19.26 12 19.56 12 19.88C12.08 20.8 12.84 21.5 13.75 21.5C13.79 21.5 13.84 21.5 13.88 21.5C14.85 21.42 15.57 20.58 15.5 19.62C15.46 19.12 15.21 18.68 14.85 18.39C15.32 18.18 15.77 17.91 16.19 17.6L18.53 19.94C18.43 20.5 18.59 21.07 19 21.5C19.35 21.83 19.8 22 20.25 22S21.15 21.83 21.5 21.5C22.17 20.8 22.17 19.7 21.5 19C21.15 18.67 20.7 18.5 20.25 18.5C20.15 18.5 20.05 18.5 19.94 18.53L17.6 16.19C18.09 15.54 18.47 14.8 18.71 14H19.82C20.13 14.45 20.66 14.75 21.25 14.75C22.22 14.75 23 13.97 23 13S22.22 11.25 21.25 11.25C20.66 11.25 20.13 11.55 19.82 12H19C19 10.43 18.5 9 17.6 7.81L18.94 6.47C19.05 6.5 19.15 6.5 19.25 6.5C19.7 6.5 20.15 6.33 20.5 6C21.17 5.31 21.17 4.2 20.5 3.5C20.15 3.17 19.7 3 19.25 3S18.35 3.17 18 3.5C17.59 3.93 17.43 4.5 17.53 5.06L16.19 6.4C15.27 5.71 14.19 5.25 13 5.08V3.68C13.45 3.37 13.75 2.84 13.75 2.25C13.75 1.28 12.97 .5 12 .5M12 17C9.24 17 7 14.76 7 12S9.24 7 12 7 17 9.24 17 12 14.76 17 12 17M10.5 9C9.67 9 9 9.67 9 10.5S9.67 12 10.5 12 12 11.33 12 10.5 11.33 9 10.5 9M14 13C13.45 13 13 13.45 13 14C13 14.55 13.45 15 14 15C14.55 15 15 14.55 15 14C15 13.45 14.55 13 14 13Z\";\r\nexport var mdiVlc = \"M12,1C11.58,1 11.19,1.23 11,1.75L9.88,4.88C10.36,5.4 11.28,5.5 12,5.5C12.72,5.5 13.64,5.4 14.13,4.88L13,1.75C12.82,1.25 12.42,1 12,1M8.44,8.91L7,12.91C8.07,14.27 10.26,14.5 12,14.5C13.74,14.5 15.93,14.27 17,12.91L15.56,8.91C14.76,9.83 13.24,10 12,10C10.76,10 9.24,9.83 8.44,8.91M5.44,15C4.62,15 3.76,15.65 3.53,16.44L2.06,21.56C1.84,22.35 2.3,23 3.13,23H20.88C21.7,23 22.16,22.35 21.94,21.56L20.47,16.44C20.24,15.65 19.38,15 18.56,15H17.75L18.09,15.97C18.21,16.29 18.29,16.69 18.09,16.97C16.84,18.7 14.14,19 12,19C9.86,19 7.16,18.7 5.91,16.97C5.71,16.69 5.79,16.29 5.91,15.97L6.25,15H5.44Z\";\r\nexport var mdiVoicemail = \"M18.5,15A3.5,3.5 0 0,1 15,11.5A3.5,3.5 0 0,1 18.5,8A3.5,3.5 0 0,1 22,11.5A3.5,3.5 0 0,1 18.5,15M5.5,15A3.5,3.5 0 0,1 2,11.5A3.5,3.5 0 0,1 5.5,8A3.5,3.5 0 0,1 9,11.5A3.5,3.5 0 0,1 5.5,15M18.5,6A5.5,5.5 0 0,0 13,11.5C13,12.83 13.47,14.05 14.26,15H9.74C10.53,14.05 11,12.83 11,11.5A5.5,5.5 0 0,0 5.5,6A5.5,5.5 0 0,0 0,11.5A5.5,5.5 0 0,0 5.5,17H18.5A5.5,5.5 0 0,0 24,11.5A5.5,5.5 0 0,0 18.5,6Z\";\r\nexport var mdiVolcano = \"M18 8H11L9 13H6L2 22H22L18 8M13 1H15V5H13V1M16.12 5.47L18.95 2.64L20.36 4.05L17.54 6.88L16.12 5.47M7.64 4.05L9.05 2.64L11.88 5.46L10.47 6.88L7.64 4.05Z\";\r\nexport var mdiVolcanoOutline = \"M18 8H11L9 13H6L2 22H22L18 8M7.3 15H10.35L10.85 13.74L12.35 10H16.5L19.35 20H5.08L7.3 15M13 1H15V5H13V1M16.12 5.47L18.95 2.64L20.36 4.05L17.54 6.88L16.12 5.47M7.64 4.05L9.05 2.64L11.88 5.46L10.47 6.88L7.64 4.05Z\";\r\nexport var mdiVolleyball = \"M19.04 4.85C17.34 3.2 15.33 2.25 13 2V5.62L22 10.8C21.72 8.5 20.73 6.5 19.04 4.85M12 22C15.44 22 18.16 20.62 20.17 17.86L17.06 16L8.07 21.2C9.32 21.73 10.64 22 12 22M13 11.41L21.15 16.07C21.59 15.13 21.88 14.14 22 13.11L13 7.93V11.41M3.88 17.81C4.54 18.72 5.26 19.46 6.05 20L15.04 14.9L12 13.15L3.88 17.81M11.04 2C10 2.09 9 2.36 8 2.8V13.15L11.04 11.41V2M2 12C2 13.39 2.3 14.77 2.89 16.12L6 14.28V4C3.33 6 2 8.65 2 12Z\";\r\nexport var mdiVolumeEqual = \"M3 9H7L12 4V20L7 15H3V9M14 13H22V15H14M14 9H22V11H14Z\";\r\nexport var mdiVolumeHigh = \"M14,3.23V5.29C16.89,6.15 19,8.83 19,12C19,15.17 16.89,17.84 14,18.7V20.77C18,19.86 21,16.28 21,12C21,7.72 18,4.14 14,3.23M16.5,12C16.5,10.23 15.5,8.71 14,7.97V16C15.5,15.29 16.5,13.76 16.5,12M3,9V15H7L12,20V4L7,9H3Z\";\r\nexport var mdiVolumeLow = \"M7,9V15H11L16,20V4L11,9H7Z\";\r\nexport var mdiVolumeMedium = \"M5,9V15H9L14,20V4L9,9M18.5,12C18.5,10.23 17.5,8.71 16,7.97V16C17.5,15.29 18.5,13.76 18.5,12Z\";\r\nexport var mdiVolumeMinus = \"M3,9H7L12,4V20L7,15H3V9M14,11H22V13H14V11Z\";\r\nexport var mdiVolumeMute = \"M3,9H7L12,4V20L7,15H3V9M16.59,12L14,9.41L15.41,8L18,10.59L20.59,8L22,9.41L19.41,12L22,14.59L20.59,16L18,13.41L15.41,16L14,14.59L16.59,12Z\";\r\nexport var mdiVolumeOff = \"M12,4L9.91,6.09L12,8.18M4.27,3L3,4.27L7.73,9H3V15H7L12,20V13.27L16.25,17.53C15.58,18.04 14.83,18.46 14,18.7V20.77C15.38,20.45 16.63,19.82 17.68,18.96L19.73,21L21,19.73L12,10.73M19,12C19,12.94 18.8,13.82 18.46,14.64L19.97,16.15C20.62,14.91 21,13.5 21,12C21,7.72 18,4.14 14,3.23V5.29C16.89,6.15 19,8.83 19,12M16.5,12C16.5,10.23 15.5,8.71 14,7.97V10.18L16.45,12.63C16.5,12.43 16.5,12.21 16.5,12Z\";\r\nexport var mdiVolumePlus = \"M3,9H7L12,4V20L7,15H3V9M14,11H17V8H19V11H22V13H19V16H17V13H14V11Z\";\r\nexport var mdiVolumeSource = \"M3 9V15H7L12 20V4L7 9H3M16 15H14V9H16V15M20 19H18V5H20V19Z\";\r\nexport var mdiVolumeVariantOff = \"M5.64,3.64L21.36,19.36L19.95,20.78L16,16.83V20L11,15H7V9H8.17L4.22,5.05L5.64,3.64M16,4V11.17L12.41,7.58L16,4Z\";\r\nexport var mdiVolumeVibrate = \"M4 9V15H8L13 20V4L8 9H4M16.55 2.47L15.5 3.53L17.93 6L15 9L17.93 12L15 15L17.93 18L15.5 20.47L16.55 21.53L20 18L17.07 15L20 12L17.07 9L20 6L16.55 2.47Z\";\r\nexport var mdiVote = \"M18,13H17.32L15.32,15H17.23L19,17H5L6.78,15H8.83L6.83,13H6L3,16V20A2,2 0 0,0 5,22H19A2,2 0 0,0 21,20V16L18,13M17,7.95L12.05,12.9L8.5,9.36L13.46,4.41L17,7.95M12.76,2.29L6.39,8.66C6,9.05 6,9.68 6.39,10.07L11.34,15C11.73,15.41 12.36,15.41 12.75,15L19.11,8.66C19.5,8.27 19.5,7.64 19.11,7.25L14.16,2.3C13.78,1.9 13.15,1.9 12.76,2.29Z\";\r\nexport var mdiVoteOutline = \"M18,13L21,16V20C21,21.11 20.1,22 19,22H5C3.89,22 3,21.1 3,20V16L6,13H6.83L8.83,15H6.78L5,17H19L17.23,15H15.32L17.32,13H18M19,20V19H5V20H19M11.34,15L6.39,10.07C6,9.68 6,9.05 6.39,8.66L12.76,2.29C13.15,1.9 13.78,1.9 14.16,2.3L19.11,7.25C19.5,7.64 19.5,8.27 19.11,8.66L12.75,15C12.36,15.41 11.73,15.41 11.34,15M13.46,4.41L8.5,9.36L12.05,12.9L17,7.95L13.46,4.41Z\";\r\nexport var mdiVpn = \"M9,5H15L12,8L9,5M10.5,14.66C10.2,15 10,15.5 10,16A2,2 0 0,0 12,18A2,2 0 0,0 14,16C14,15.45 13.78,14.95 13.41,14.59L14.83,13.17C15.55,13.9 16,14.9 16,16A4,4 0 0,1 12,20A4,4 0 0,1 8,16C8,14.93 8.42,13.96 9.1,13.25L9.09,13.24L16.17,6.17V6.17C16.89,5.45 17.89,5 19,5A4,4 0 0,1 23,9A4,4 0 0,1 19,13C17.9,13 16.9,12.55 16.17,11.83L17.59,10.41C17.95,10.78 18.45,11 19,11A2,2 0 0,0 21,9A2,2 0 0,0 19,7C18.45,7 17.95,7.22 17.59,7.59L10.5,14.66M6.41,7.59C6.05,7.22 5.55,7 5,7A2,2 0 0,0 3,9A2,2 0 0,0 5,11C5.55,11 6.05,10.78 6.41,10.41L7.83,11.83C7.1,12.55 6.1,13 5,13A4,4 0 0,1 1,9A4,4 0 0,1 5,5C6.11,5 7.11,5.45 7.83,6.17V6.17L10.59,8.93L9.17,10.35L6.41,7.59Z\";\r\nexport var mdiVuejs = \"M2,3H5.5L12,15L18.5,3H22L12,21L2,3M6.5,3H9.5L12,7.58L14.5,3H17.5L12,13.08L6.5,3Z\";\r\nexport var mdiVuetify = \"M12,11.64L7.92,2H16.08L12,11.64M12,21.95L3.27,4.91H7.84L12,14.47L16.16,4.91H20.73L12,21.95Z\";\r\nexport var mdiWalk = \"M14.12,10H19V8.2H15.38L13.38,4.87C13.08,4.37 12.54,4.03 11.92,4.03C11.74,4.03 11.58,4.06 11.42,4.11L6,5.8V11H7.8V7.33L9.91,6.67L6,22H7.8L10.67,13.89L13,17V22H14.8V15.59L12.31,11.05L13.04,8.18M14,3.8C15,3.8 15.8,3 15.8,2C15.8,1 15,0.2 14,0.2C13,0.2 12.2,1 12.2,2C12.2,3 13,3.8 14,3.8Z\";\r\nexport var mdiWall = \"M3,16H12V21H3V16M2,10H8V15H2V10M9,10H15V15H9V10M16,10H22V15H16V10M13,16H21V21H13V16M3,4H11V9H3V4M12,4H21V9H12V4Z\";\r\nexport var mdiWallFire = \"M22.14 15.34L22.12 15.35C22.35 15.63 22.55 15.94 22.7 16.27L22.79 16.46C23.5 18.15 23 20.1 21.69 21.32C20.5 22.41 18.84 22.7 17.3 22.5C15.84 22.32 14.5 21.4 13.73 20.13C13.5 19.74 13.3 19.3 13.2 18.85C13.07 18.5 13.03 18.12 13 17.75C12.91 16.15 13.55 14.45 14.76 13.45C14.21 14.66 14.34 16.17 15.15 17.22L15.26 17.35C15.4 17.47 15.57 17.5 15.73 17.44C15.88 17.38 16 17.23 16 17.07L15.93 16.83C15.05 14.5 15.79 11.8 17.66 10.27C18.17 9.85 18.8 9.47 19.46 9.3C18.78 10.66 19 12.44 20.09 13.5C20.55 14 21.11 14.29 21.58 14.73L22.14 15.34M19.86 20L19.85 19.97C20.3 19.58 20.55 18.91 20.53 18.31L20.5 18C20.3 17 19.43 16.66 18.87 15.93L18.44 15.15C18.22 15.65 18.2 16.12 18.29 16.66C18.39 17.23 18.61 17.72 18.5 18.31C18.34 18.96 17.83 19.61 16.94 19.82C17.44 20.31 18.25 20.7 19.06 20.42C19.32 20.35 19.65 20.16 19.86 20M3 16H11.06L11 17C11 18.41 11.36 19.73 12 20.88V21H3V16M2 10H8V15H2V10M9 10H15V10.07C13.17 11.13 11.79 12.9 11.25 15H9V10M3 4H11V9H3V4M12 4H21V9H12V4Z\";\r\nexport var mdiWallSconce = \"M11,4L7,13H19L15,4H11M4,14V22H6V19H14V14H12V17H6V14H4Z\";\r\nexport var mdiWallSconceFlat = \"M5,5V11H19V5H5M5.27,13.32L3.5,15.09L4.91,16.5L6.68,14.73L5.27,13.32M18.73,13.32L17.32,14.73L19.09,16.5L20.5,15.09L18.73,13.32M11,16V19H13V16H11Z\";\r\nexport var mdiWallSconceFlatOutline = \"M5 5V11H19V5H5M17 9H7V7H17V9M5.27 13.32L3.5 15.09L4.91 16.5L6.68 14.73L5.27 13.32M18.73 13.32L17.32 14.73L19.09 16.5L20.5 15.09L18.73 13.32M11 16V19H13V16H11Z\";\r\nexport var mdiWallSconceFlatVariant = \"M19 19V13H5V19H19M18.73 10.68L20.5 8.91L19.09 7.5L17.32 9.27L18.73 10.68M5.27 10.68L6.68 9.27L4.91 7.5L3.5 8.91L5.27 10.68M13 8V5H11V8H13Z\";\r\nexport var mdiWallSconceFlatVariantOutline = \"M5 13V19H19V13H5M17 17H7V15H17V17M18.73 10.68L20.5 8.91L19.09 7.5L17.32 9.27L18.73 10.68M5.27 10.68L6.68 9.27L4.91 7.5L3.5 8.91L5.27 10.68M13 8V5H11V8H13Z\";\r\nexport var mdiWallSconceOutline = \"M13.7 6L15.92 11H10.08L12.3 6H13.7M15 4H11L7 13H19L15 4M4 14V22H6V19H14V14H12V17H6V14H4Z\";\r\nexport var mdiWallSconceRound = \"M13 19V16H11V19H13M19.09 16.5L20.5 15.09L18.73 13.32L17.32 14.73L19.09 16.5M4.91 16.5L6.68 14.73L5.27 13.32L3.5 15.09L4.91 16.5M20 12C20 9.14 18.5 6.5 16 5.07S10.5 3.64 8 5.07 4 9.14 4 12H20Z\";\r\nexport var mdiWallSconceRoundOutline = \"M13 19V16H11V19H13M19.09 16.5L20.5 15.09L18.73 13.32L17.32 14.73L19.09 16.5M4.91 16.5L6.68 14.73L5.27 13.32L3.5 15.09L4.91 16.5M12 6C13.04 6 14.08 6.28 15 6.81C16.26 7.5 17.19 8.67 17.66 10H6.34C6.81 8.67 7.74 7.5 9 6.81C9.92 6.28 10.96 6 12 6M12 4C10.63 4 9.25 4.36 8 5.07C5.5 6.5 4 9.14 4 12H20C20 9.14 18.5 6.5 16 5.07C14.75 4.36 13.38 4 12 4Z\";\r\nexport var mdiWallSconceRoundVariant = \"M11 5V8H13V5H11M4.91 7.5L3.5 8.91L5.27 10.68L6.68 9.27L4.91 7.5M19.09 7.5L17.32 9.27L18.73 10.68L20.5 8.91L19.09 7.5M4 12C4 14.86 5.5 17.5 8 18.93S13.5 20.36 16 18.93 20 14.86 20 12H4Z\";\r\nexport var mdiWallSconceRoundVariantOutline = \"M11 5V8H13V5H11M4.91 7.5L3.5 8.91L5.27 10.68L6.68 9.27L4.91 7.5M19.09 7.5L17.32 9.27L18.73 10.68L20.5 8.91L19.09 7.5M17.66 14C17.19 15.33 16.26 16.5 15 17.19C14.08 17.72 13.04 18 12 18S9.92 17.72 9 17.19C7.74 16.5 6.81 15.33 6.34 14H17.66M20 12H4C4 14.86 5.5 17.5 8 18.93C9.25 19.65 10.63 20 12 20S14.75 19.65 16 18.93C18.5 17.5 20 14.86 20 12Z\";\r\nexport var mdiWallet = \"M21,18V19A2,2 0 0,1 19,21H5C3.89,21 3,20.1 3,19V5A2,2 0 0,1 5,3H19A2,2 0 0,1 21,5V6H12C10.89,6 10,6.9 10,8V16A2,2 0 0,0 12,18M12,16H22V8H12M16,13.5A1.5,1.5 0 0,1 14.5,12A1.5,1.5 0 0,1 16,10.5A1.5,1.5 0 0,1 17.5,12A1.5,1.5 0 0,1 16,13.5Z\";\r\nexport var mdiWalletBifold = \"M17 3H7C4.79 3 3 4.79 3 7V17C3 19.21 4.79 21 7 21H19C20.11 21 21 20.11 21 19V9C21 7.9 20.11 7 19 7V5C19 3.9 18.11 3 17 3M17 5V7H7C6.27 7 5.59 7.2 5 7.54V7C5 5.9 5.9 5 7 5M15.5 15.5C14.67 15.5 14 14.83 14 14S14.67 12.5 15.5 12.5 17 13.17 17 14 16.33 15.5 15.5 15.5Z\";\r\nexport var mdiWalletBifoldOutline = \"M15.5 15.5C16.33 15.5 17 14.83 17 14C17 13.17 16.33 12.5 15.5 12.5C14.67 12.5 14 13.17 14 14C14 14.83 14.67 15.5 15.5 15.5M7 3H17C18.11 3 19 3.9 19 5V7C20.11 7 21 7.9 21 9V19C21 20.11 20.11 21 19 21H7C4.79 21 3 19.21 3 17V7C3 4.79 4.79 3 7 3M17 7V5H7C5.9 5 5 5.9 5 7V7.54C5.59 7.2 6.27 7 7 7H17M5 17C5 18.11 5.9 19 7 19H19V9H7C5.9 9 5 9.9 5 11V17Z\";\r\nexport var mdiWalletGiftcard = \"M20,14H4V8H9.08L7,10.83L8.62,12L11,8.76L12,7.4L13,8.76L15.38,12L17,10.83L14.92,8H20M20,19H4V17H20M9,4A1,1 0 0,1 10,5A1,1 0 0,1 9,6A1,1 0 0,1 8,5A1,1 0 0,1 9,4M15,4A1,1 0 0,1 16,5A1,1 0 0,1 15,6A1,1 0 0,1 14,5A1,1 0 0,1 15,4M20,6H17.82C17.93,5.69 18,5.35 18,5A3,3 0 0,0 15,2C13.95,2 13.04,2.54 12.5,3.35L12,4L11.5,3.34C10.96,2.54 10.05,2 9,2A3,3 0 0,0 6,5C6,5.35 6.07,5.69 6.18,6H4C2.89,6 2,6.89 2,8V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V8C22,6.89 21.11,6 20,6Z\";\r\nexport var mdiWalletMembership = \"M20,10H4V4H20M20,15H4V13H20M20,2H4C2.89,2 2,2.89 2,4V15C2,16.11 2.89,17 4,17H8V22L12,20L16,22V17H20C21.11,17 22,16.11 22,15V4C22,2.89 21.11,2 20,2Z\";\r\nexport var mdiWalletOutline = \"M5,3C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V16.72C21.59,16.37 22,15.74 22,15V9C22,8.26 21.59,7.63 21,7.28V5A2,2 0 0,0 19,3H5M5,5H19V7H13A2,2 0 0,0 11,9V15A2,2 0 0,0 13,17H19V19H5V5M13,9H20V15H13V9M16,10.5A1.5,1.5 0 0,0 14.5,12A1.5,1.5 0 0,0 16,13.5A1.5,1.5 0 0,0 17.5,12A1.5,1.5 0 0,0 16,10.5Z\";\r\nexport var mdiWalletPlus = \"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M9 3V6H6V9H3V19C3 20.1 3.89 21 5 21H19C20.11 21 21 20.11 21 19V18H12C10.9 18 10 17.11 10 16V8C10 6.9 10.89 6 12 6H21V5C21 3.9 20.11 3 19 3H9M12 8V16H22V8H12M16 10.5C16.83 10.5 17.5 11.17 17.5 12C17.5 12.83 16.83 13.5 16 13.5C15.17 13.5 14.5 12.83 14.5 12C14.5 11.17 15.17 10.5 16 10.5Z\";\r\nexport var mdiWalletPlusOutline = \"M3 0V3H0V5H3V8H5V5H8V3H5V0H3M10 3V5H19V7H13C11.9 7 11 7.9 11 9V15C11 16.1 11.9 17 13 17H19V19H5V10H3V19C3 20.1 3.89 21 5 21H19C20.1 21 21 20.1 21 19V16.72C21.59 16.37 22 15.74 22 15V9C22 8.26 21.59 7.63 21 7.28V5C21 3.9 20.1 3 19 3H10M13 9H20V15H13V9M16 10.5A1.5 1.5 0 0 0 14.5 12A1.5 1.5 0 0 0 16 13.5A1.5 1.5 0 0 0 17.5 12A1.5 1.5 0 0 0 16 10.5Z\";\r\nexport var mdiWalletTravel = \"M20,14H4V8H7V10H9V8H15V10H17V8H20M20,19H4V17H20M9,4H15V6H9M20,6H17V4C17,2.89 16.11,2 15,2H9C7.89,2 7,2.89 7,4V6H4C2.89,6 2,6.89 2,8V19C2,20.11 2.89,21 4,21H20C21.11,21 22,20.11 22,19V8C22,6.89 21.11,6 20,6Z\";\r\nexport var mdiWallpaper = \"M4,4H11V2H4A2,2 0 0,0 2,4V11H4V4M10,13L6,18H18L15,14L12.97,16.71L10,13M17,8.5A1.5,1.5 0 0,0 15.5,7A1.5,1.5 0 0,0 14,8.5A1.5,1.5 0 0,0 15.5,10A1.5,1.5 0 0,0 17,8.5M20,2H13V4H20V11H22V4A2,2 0 0,0 20,2M20,20H13V22H20A2,2 0 0,0 22,20V13H20V20M4,13H2V20A2,2 0 0,0 4,22H11V20H4V13Z\";\r\nexport var mdiWan = \"M12,2A8,8 0 0,0 4,10C4,14.03 7,17.42 11,17.93V19H10A1,1 0 0,0 9,20H2V22H9A1,1 0 0,0 10,23H14A1,1 0 0,0 15,22H22V20H15A1,1 0 0,0 14,19H13V17.93C17,17.43 20,14.03 20,10A8,8 0 0,0 12,2M12,4C12,4 12.74,5.28 13.26,7H10.74C11.26,5.28 12,4 12,4M9.77,4.43C9.5,4.93 9.09,5.84 8.74,7H6.81C7.5,5.84 8.5,4.93 9.77,4.43M14.23,4.44C15.5,4.94 16.5,5.84 17.19,7H15.26C14.91,5.84 14.5,4.93 14.23,4.44M6.09,9H8.32C8.28,9.33 8.25,9.66 8.25,10C8.25,10.34 8.28,10.67 8.32,11H6.09C6.03,10.67 6,10.34 6,10C6,9.66 6.03,9.33 6.09,9M10.32,9H13.68C13.72,9.33 13.75,9.66 13.75,10C13.75,10.34 13.72,10.67 13.68,11H10.32C10.28,10.67 10.25,10.34 10.25,10C10.25,9.66 10.28,9.33 10.32,9M15.68,9H17.91C17.97,9.33 18,9.66 18,10C18,10.34 17.97,10.67 17.91,11H15.68C15.72,10.67 15.75,10.34 15.75,10C15.75,9.66 15.72,9.33 15.68,9M6.81,13H8.74C9.09,14.16 9.5,15.07 9.77,15.56C8.5,15.06 7.5,14.16 6.81,13M10.74,13H13.26C12.74,14.72 12,16 12,16C12,16 11.26,14.72 10.74,13M15.26,13H17.19C16.5,14.16 15.5,15.07 14.23,15.57C14.5,15.07 14.91,14.16 15.26,13Z\";\r\nexport var mdiWardrobe = \"M4 4V19C4 20.1 4.9 21 6 21V22H8V21H11.5V2H6C4.9 2 4 2.9 4 4M8 10H10V13H8V10M18 2H12.5V21H16V22H18V21C19.1 21 20 20.1 20 19V4C20 2.9 19.1 2 18 2M16 13H14V10H16V13Z\";\r\nexport var mdiWardrobeOutline = \"M6 2C4.89 2 4 2.9 4 4V19C4 20.11 4.89 21 6 21V22H8V21H16V22H18V21C19.11 21 20 20.11 20 19V4C20 2.9 19.11 2 18 2H6M6 4H11V19H6V4M13 4H18V19H13V4M8 10V13H10V10H8M14 10V13H16V10H14Z\";\r\nexport var mdiWarehouse = \"M6 19H8V21H6V19M12 3L2 8V21H4V13H20V21H22V8L12 3M8 11H4V9H8V11M14 11H10V9H14V11M20 11H16V9H20V11M6 15H8V17H6V15M10 15H12V17H10V15M10 19H12V21H10V19M14 19H16V21H14V19Z\";\r\nexport var mdiWashingMachine = \"M14.83,11.17C16.39,12.73 16.39,15.27 14.83,16.83C13.27,18.39 10.73,18.39 9.17,16.83L14.83,11.17M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2M7,4A1,1 0 0,0 6,5A1,1 0 0,0 7,6A1,1 0 0,0 8,5A1,1 0 0,0 7,4M10,4A1,1 0 0,0 9,5A1,1 0 0,0 10,6A1,1 0 0,0 11,5A1,1 0 0,0 10,4M12,8A6,6 0 0,0 6,14A6,6 0 0,0 12,20A6,6 0 0,0 18,14A6,6 0 0,0 12,8Z\";\r\nexport var mdiWashingMachineAlert = \"M12.83 11.17C14.39 12.73 14.39 15.27 12.83 16.83S8.73 18.39 7.17 16.83L12.83 11.17M4 2H16C17.11 2 18 2.9 18 4V20C18 21.11 17.11 22 16 22H4C2.9 22 2 21.11 2 20V4C2 2.9 2.9 2 4 2M5 4C4.45 4 4 4.45 4 5S4.45 6 5 6 6 5.55 6 5 5.55 4 5 4M8 4C7.45 4 7 4.45 7 5S7.45 6 8 6 9 5.55 9 5 8.55 4 8 4M10 8C6.69 8 4 10.69 4 14S6.69 20 10 20 16 17.31 16 14 13.31 8 10 8M20 15H22V17H20V15M20 7H22V13H20V7Z\";\r\nexport var mdiWashingMachineOff = \"M22.11 21.46L2.39 1.73L1.11 3L4 5.89V20C4 21.11 4.89 22 6 22H18C18.58 22 19.1 21.75 19.46 21.35L20.84 22.73L22.11 21.46M12 20C8.69 20 6 17.31 6 14C6 12.32 6.7 10.8 7.82 9.71L12.06 13.95L9.17 16.83C10.73 18.39 13.27 18.39 14.83 16.83C14.85 16.81 14.86 16.79 14.88 16.77L16.29 18.18C15.2 19.3 13.69 20 12 20M11.25 8.05C11.5 8 11.75 8 12 8C15.31 8 18 10.69 18 14C18 14.25 18 14.5 17.95 14.75L20 16.8V4C20 2.9 19.11 2 18 2H6C5.76 2 5.54 2.05 5.33 2.13L11.25 8.05M10 4C10.55 4 11 4.45 11 5S10.55 6 10 6 9 5.55 9 5 9.45 4 10 4Z\";\r\nexport var mdiWatch = \"M6,12A6,6 0 0,1 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18A6,6 0 0,1 6,12M20,12C20,9.45 18.81,7.19 16.95,5.73L16,0H8L7.05,5.73C5.19,7.19 4,9.45 4,12C4,14.54 5.19,16.81 7.05,18.27L8,24H16L16.95,18.27C18.81,16.81 20,14.54 20,12Z\";\r\nexport var mdiWatchExport = \"M14,11H19L16.5,8.5L17.92,7.08L22.84,12L17.92,16.92L16.5,15.5L19,13H14V11M12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.4,6 14.69,6.5 15.71,7.29L17.13,5.87L16.95,5.73L16,0H8L7.05,5.73C5.19,7.19 4,9.46 4,12C4,14.55 5.19,16.81 7.05,18.27L8,24H16L16.95,18.27L17.13,18.13L15.71,16.71C14.69,17.5 13.4,18 12,18Z\";\r\nexport var mdiWatchExportVariant = \"M14,11H19L16.5,8.5L17.92,7.08L22.84,12L17.92,16.92L16.5,15.5L19,13H14V11M8,0H16L16.83,5H17C17.28,5 17.54,5.06 17.78,5.16L15.94,7H7V17H15.94L17.78,18.84C17.54,18.94 17.28,19 17,19H16.83L16,24H8L7.17,19H7A2,2 0 0,1 5,17V7C5,5.89 5.9,5 7,5H7.17L8,0Z\";\r\nexport var mdiWatchImport = \"M2,11H7L4.5,8.5L5.92,7.08L10.84,12L5.92,16.92L4.5,15.5L7,13H2V11M12,18A6,6 0 0,0 18,12A6,6 0 0,0 12,6C10.6,6 9.31,6.5 8.29,7.29L6.87,5.87L7.05,5.73L8,0H16L16.95,5.73C18.81,7.19 20,9.45 20,12C20,14.54 18.81,16.81 16.95,18.27L16,24H8L7.05,18.27L6.87,18.13L8.29,16.71C9.31,17.5 10.6,18 12,18Z\";\r\nexport var mdiWatchImportVariant = \"M1,11H6L3.5,8.5L4.92,7.08L9.84,12L4.92,16.92L3.5,15.5L6,13H1V11M8,0H16L16.83,5H17A2,2 0 0,1 19,7V17C19,18.11 18.1,19 17,19H16.83L16,24H8L7.17,19H7C6.46,19 6,18.79 5.62,18.44L7.06,17H17V7H7.06L5.62,5.56C6,5.21 6.46,5 7,5H7.17L8,0Z\";\r\nexport var mdiWatchVariant = \"M8,0L7.17,5H7A2,2 0 0,0 5,7V17C5,18.11 5.9,19 7,19H7.17L8,24H16L16.83,19H17A2,2 0 0,0 19,17V7C19,5.89 18.1,5 17,5H16.83L16,0H8M7,7H17V17H7V7Z\";\r\nexport var mdiWatchVibrate = \"M3,17V7H5V17H3M19,17V7H21V17H19M22,9H24V15H22V9M0,15V9H2V15H0M17.96,11.97C17.96,13.87 17.07,15.57 15.68,16.67L14.97,20.95H9L8.27,16.67C6.88,15.57 6,13.87 6,11.97C6,10.07 6.88,8.37 8.27,7.28L9,3H14.97L15.68,7.28C17.07,8.37 17.96,10.07 17.96,11.97M7.5,11.97C7.5,14.45 9.5,16.46 11.97,16.46A4.5,4.5 0 0,0 16.46,11.97C16.46,9.5 14.45,7.5 11.97,7.5A4.47,4.47 0 0,0 7.5,11.97Z\";\r\nexport var mdiWatchVibrateOff = \"M0,9H2V15H0V9M12,7.5C14.47,7.5 16.47,9.53 16.46,12C16.45,12.38 16.4,12.76 16.3,13.13L17.5,14.31C17.81,13.58 18,12.8 18,12C18,10.17 17.16,8.44 15.72,7.31L15,3H9L8.59,5.39L10.86,7.66C11.23,7.55 11.61,7.5 12,7.5M21,17V7H19V15.8L20.2,17H21M16.5,15.86L22.11,21.46L20.84,22.73L15.55,17.44L15,21H9L8.27,16.72C5.85,14.82 5.27,11.4 6.91,8.8L1.11,3L2.39,1.73L8.09,7.44L9.17,8.5L15.44,14.79L16.5,15.86M14.05,15.94L8.05,9.94C7.7,10.57 7.5,11.28 7.5,12C7.5,14.47 9.53,16.47 12,16.46C12.72,16.46 13.42,16.28 14.05,15.94M22,9V15H24V9H22M3,17H5V7H3V17Z\";\r\nexport var mdiWater = \"M12,20A6,6 0 0,1 6,14C6,10 12,3.25 12,3.25C12,3.25 18,10 18,14A6,6 0 0,1 12,20Z\";\r\nexport var mdiWaterAlert = \"M10 3.25C10 3.25 16 10 16 14C16 17.31 13.31 20 10 20S4 17.31 4 14C4 10 10 3.25 10 3.25M20 7V13H18V7H20M18 17H20V15H18V17Z\";\r\nexport var mdiWaterAlertOutline = \"M10 3.25C10 3.25 4 10 4 14C4 17.31 6.69 20 10 20S16 17.31 16 14C16 10 10 3.25 10 3.25M10 18C7.79 18 6 16.21 6 14C6 12.23 8 8.96 10 6.39C12 8.95 14 12.23 14 14C14 16.21 12.21 18 10 18M20 7V13H18V7H20M18 17H20V15H18V17Z\";\r\nexport var mdiWaterBoiler = \"M8 2C6.89 2 6 2.89 6 4V16C6 17.11 6.89 18 8 18H9V20H6V22H9C10.11 22 11 21.11 11 20V18H13V20C13 21.11 13.89 22 15 22H18V20H15V18H16C17.11 18 18 17.11 18 16V4C18 2.89 17.11 2 16 2H8M12 4.97A2 2 0 0 1 14 6.97A2 2 0 0 1 12 8.97A2 2 0 0 1 10 6.97A2 2 0 0 1 12 4.97M10 14.5H14V16H10V14.5Z\";\r\nexport var mdiWaterBoilerAlert = \"M6 2C4.89 2 4 2.89 4 4V16C4 17.11 4.89 18 6 18H7V20H4V22H7C8.11 22 9 21.11 9 20V18H11V20C11 21.11 11.89 22 13 22H16V20H13V18H14C15.11 18 16 17.11 16 16V4C16 2.89 15.11 2 14 2H6M10 4.97C11.11 4.97 12 5.87 12 6.97S11.11 8.97 10 8.97C8.9 8.97 8 8.07 8 6.97C8 5.87 8.9 4.97 10 4.97M8 14.5H12V16H8V14.5M18 15H20V17H18V15M18 7H20V13H18V7Z\";\r\nexport var mdiWaterBoilerAuto = \"M4 2C2.89 2 2 2.89 2 4V16C2 17.11 2.89 18 4 18H5V20H2V22H5C6.11 22 7 21.11 7 20V18H9V20C9 21.11 9.89 22 11 22H13L13.75 20H11V18H12C13.11 18 14 17.11 14 16V4C14 2.89 13.11 2 12 2H4M8 4.97C9.11 4.97 10 5.87 10 6.97S9.11 8.97 8 8.97C6.9 8.97 6 8.07 6 6.97C6 5.87 6.9 4.97 8 4.97M6 14.5H10V16H6V14.5M19.8 13H17.8L14.6 22H16.5L17.2 20H20.4L21.1 22H23L19.8 13M17.6 18.7L18.8 15L20 18.7H17.6Z\";\r\nexport var mdiWaterBoilerOff = \"M10 6.82L6.25 3.05C6.59 2.42 7.24 2 8 2H16C17.11 2 18 2.89 18 4V14.8L12.16 8.96C13.19 8.87 14 8 14 6.97C14 5.87 13.11 4.97 12 4.97C10.95 4.97 10.1 5.78 10 6.82M15 18V20H18V22H15C13.89 22 13 21.11 13 20V18H11V20C11 21.11 10.11 22 9 22H6V20H9V18H8C6.89 18 6 17.11 6 16V7.89L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73L16.1 18C16.06 18 16.03 18 16 18H15M14 16V15.89L12.61 14.5H10V16H14Z\";\r\nexport var mdiWaterCheck = \"M21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25M17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20H12.34C12.12 19.36 12 18.7 12 18C12 14.82 14.5 12.22 17.62 12Z\";\r\nexport var mdiWaterCheckOutline = \"M21.75 16.25L17 21L14.25 18L15.41 16.84L17 18.43L20.59 14.84L21.75 16.25M8 14C8 12.23 10 8.96 12 6.39C13.5 8.33 15 10.67 15.67 12.47C16.27 12.21 16.93 12.06 17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C9.79 18 8 16.21 8 14Z\";\r\nexport var mdiWaterCircle = \"M12 2C6.5 2 2 6.5 2 12S6.5 22 12 22 22 17.5 22 12 17.5 2 12 2M12 19C9.24 19 7 16.76 7 14C7 10.67 12 5.04 12 5.04S17 10.67 17 14C17 16.76 14.76 19 12 19Z\";\r\nexport var mdiWaterMinus = \"M22 17V19H14V17H22M17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C12 14.82 14.5 12.22 17.62 12Z\";\r\nexport var mdiWaterMinusOutline = \"M22 17V19H14V17H22M8 14C8 12.23 10 8.96 12 6.39C13.5 8.33 15 10.67 15.67 12.47C16.27 12.21 16.93 12.06 17.62 12C16.31 8.1 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20C12.12 20 12.23 20 12.34 20C12.12 19.36 12 18.7 12 18C9.79 18 8 16.21 8 14Z\";\r\nexport var mdiWaterOff = \"M20.84 22.73L16.29 18.18C15.2 19.3 13.69 20 12 20C8.69 20 6 17.31 6 14C6 12.67 6.67 11.03 7.55 9.44L1.11 3L2.39 1.73L22.11 21.46L20.84 22.73M18 14C18 10 12 3.25 12 3.25S10.84 4.55 9.55 6.35L17.95 14.75C18 14.5 18 14.25 18 14Z\";\r\nexport var mdiWaterOffOutline = \"M22.11 21.46L2.39 1.73L1.11 3L7.65 9.54C6.74 11.03 6 12.65 6 14.23C6 17.54 8.69 20.23 12 20.23C13.74 20.23 15.3 19.5 16.4 18.29L20.84 22.73L22.11 21.46M12 18.23C9.78 18.23 8 16.45 8 14.23C8 13.5 8.5 12.27 9.14 11.03L15 16.88C14.26 17.71 13.2 18.23 12 18.23M11.14 7.94L9.71 6.5C10.57 5.38 11.25 4.61 11.25 4.61L12 3.77L12.75 4.61C12.75 4.61 14.03 6.06 15.32 7.94S18 12.07 18 14.23C18 14.41 18 14.59 17.97 14.77L15.46 12.26C15 11.23 14.37 10.07 13.68 9.07C12.84 7.85 12.44 7.42 12 6.9C11.73 7.21 11.5 7.5 11.14 7.94Z\";\r\nexport var mdiWaterOpacity = \"M16 14V12H17.61C17.85 12.71 18 13.39 18 14H16M15.58 8C15.12 7.29 14.65 6.61 14.2 6H14V8H15.58M16 12V10H14V12H16M16 8.68V10H16.74C16.5 9.56 16.26 9.11 16 8.68M12 16V14H14V12H12V10H14V8H12V6H14V5.73C12.9 4.26 12 3.25 12 3.25S6 10 6 14C6 17.31 8.69 20 12 20V18H14V16H12M14 19.65C14.75 19.39 15.42 19 16 18.46V18H14V19.65M14 16H16V14H14V16M16 18H16.46C17 17.42 17.39 16.75 17.65 16H16V18Z\";\r\nexport var mdiWaterOutline = \"M12,3.77L11.25,4.61C11.25,4.61 9.97,6.06 8.68,7.94C7.39,9.82 6,12.07 6,14.23A6,6 0 0,0 12,20.23A6,6 0 0,0 18,14.23C18,12.07 16.61,9.82 15.32,7.94C14.03,6.06 12.75,4.61 12.75,4.61L12,3.77M12,6.9C12.44,7.42 12.84,7.85 13.68,9.07C14.89,10.83 16,13.07 16,14.23C16,16.45 14.22,18.23 12,18.23C9.78,18.23 8,16.45 8,14.23C8,13.07 9.11,10.83 10.32,9.07C11.16,7.85 11.56,7.42 12,6.9Z\";\r\nexport var mdiWaterPercent = \"M12,3.25C12,3.25 6,10 6,14C6,17.32 8.69,20 12,20A6,6 0 0,0 18,14C18,10 12,3.25 12,3.25M14.47,9.97L15.53,11.03L9.53,17.03L8.47,15.97M9.75,10A1.25,1.25 0 0,1 11,11.25A1.25,1.25 0 0,1 9.75,12.5A1.25,1.25 0 0,1 8.5,11.25A1.25,1.25 0 0,1 9.75,10M14.25,14.5A1.25,1.25 0 0,1 15.5,15.75A1.25,1.25 0 0,1 14.25,17A1.25,1.25 0 0,1 13,15.75A1.25,1.25 0 0,1 14.25,14.5Z\";\r\nexport var mdiWaterPercentAlert = \"M20 7V13H18V7H20M18 17H20V15H18V17M10 3.25C10 3.25 4 10 4 14C4 17.32 6.69 20 10 20S16 17.31 16 14C16 10 10 3.25 10 3.25M7.75 10C8.44 10 9 10.56 9 11.25S8.44 12.5 7.75 12.5 6.5 11.94 6.5 11.25 7.06 10 7.75 10M12.25 17C11.56 17 11 16.44 11 15.75S11.56 14.5 12.25 14.5 13.5 15.06 13.5 15.75 12.94 17 12.25 17M7.53 17.03L6.47 15.97L12.47 9.97L13.53 11.03L7.53 17.03Z\";\r\nexport var mdiWaterPlus = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C14.5 12.22 12 14.82 12 18M19 17V14H17V17H14V19H17V22H19V19H22V17H19Z\";\r\nexport var mdiWaterPlusOutline = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C16.93 12.06 16.28 12.22 15.67 12.47C15 10.68 13.5 8.33 12 6.39C10 8.96 8 12.23 8 14C8 16.21 9.79 18 12 18M19 17V14H17V17H14V19H17V22H19V19H22V17H19Z\";\r\nexport var mdiWaterPolo = \"M20 16H22V18H20C18.6 18 17.2 17.6 16 17C13.5 18.3 10.5 18.3 8 17C6.8 17.6 5.4 18 4 18H2V16H4C5.4 16 6.8 15.5 8 14.7C10.4 16.4 13.6 16.4 16 14.7C17.2 15.5 18.6 16 20 16M13 10.6C13.6 10.3 14.3 10 15 9.9V10.2C15.3 11.2 15.3 12.1 15.2 13.1C14.3 13.6 13.2 13.9 12.2 13.9C12.7 12.9 13 11.7 13 10.6M12.9 3.6C11.5 4 10.3 4.7 9.3 5.7C8.9 4.7 8.7 3.7 8.7 2.7C10.9 1.7 13.4 1.8 15.6 2.9C15.9 3 16.2 3.1 16.4 3.3C15.2 3.2 14 3.3 12.9 3.6M6.8 13.3C6.2 13.6 5.6 13.8 5 13.9C4.3 12.6 4 11.2 4 9.8C4.5 10.8 5.2 11.8 6 12.6C6.3 12.8 6.5 13.1 6.8 13.3M19 13.9C18.4 13.8 17.8 13.6 17.3 13.4C17.5 12.2 17.4 11 17.1 9.8C18.2 9.9 19.2 10.2 20.1 10.8C20 11.8 19.7 12.7 19.2 13.6L19 13.9M7.4 11.2C6.2 10.1 5.5 8.5 5.2 6.9L5.1 6C5.6 5.2 6.1 4.6 6.8 4C6.9 5.4 7.4 6.7 8.2 7.8C8.9 8.9 9.9 9.9 11 10.5C11 11.3 10.8 12.1 10.5 12.9C9.3 12.6 8.3 12 7.4 11.2M13.5 5.5C15 5.1 16.7 5.2 18.2 5.7L19 6.1C19.4 6.8 19.6 7.6 19.8 8.4C17.3 7.3 14.4 7.5 12 8.8C11.3 8.5 10.8 8 10.3 7.4L10.4 7.3C11.3 6.5 12.3 5.8 13.5 5.5M16 18.7C17.2 19.5 18.6 20 20 20H22V22H20C18.6 22 17.2 21.6 16 21C13.5 22.3 10.5 22.3 8 21C6.8 21.6 5.4 22 4 22H2V20H4C5.4 20 6.8 19.5 8 18.7C10.4 20.4 13.6 20.4 16 18.7Z\";\r\nexport var mdiWaterPump = \"M19,14.5C19,14.5 21,16.67 21,18A2,2 0 0,1 19,20A2,2 0 0,1 17,18C17,16.67 19,14.5 19,14.5M5,18V9A2,2 0 0,1 3,7A2,2 0 0,1 5,5V4A2,2 0 0,1 7,2H9A2,2 0 0,1 11,4V5H19A2,2 0 0,1 21,7V9L21,11A1,1 0 0,1 22,12A1,1 0 0,1 21,13H17A1,1 0 0,1 16,12A1,1 0 0,1 17,11V9H11V18H12A2,2 0 0,1 14,20V22H2V20A2,2 0 0,1 4,18H5Z\";\r\nexport var mdiWaterPumpOff = \"M5.7 2.5A2 2 0 0 1 7 2H9A2 2 0 0 1 11 4V5H19A2 2 0 0 1 21 7V11A1 1 0 0 1 21 13H17A1 1 0 0 1 17 11V9H12.2M20.84 22.73L22.11 21.46L11 10.34L2.39 1.73L1.11 3L3.65 5.54A2 2 0 0 0 5 9V18H4A2 2 0 0 0 2 20V22H14V20A2 2 0 0 0 12 18H11V12.89Z\";\r\nexport var mdiWaterRemove = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C14.5 12.22 12 14.82 12 18M21.54 15.88L20.13 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.54 15.88Z\";\r\nexport var mdiWaterRemoveOutline = \"M12 18C12 18.7 12.12 19.36 12.34 20C12.23 20 12.12 20 12 20C8.69 20 6 17.31 6 14C6 10 12 3.25 12 3.25S16.31 8.1 17.62 12C16.93 12.06 16.28 12.22 15.67 12.47C15 10.68 13.5 8.33 12 6.39C10 8.96 8 12.23 8 14C8 16.21 9.79 18 12 18M21.54 15.88L20.13 14.47L18 16.59L15.88 14.47L14.47 15.88L16.59 18L14.47 20.12L15.88 21.53L18 19.41L20.12 21.53L21.53 20.12L19.41 18L21.54 15.88Z\";\r\nexport var mdiWaterSync = \"M12 3.2C12 3.2 6 10 6 14C6 17.3 8.7 20 12 20S18 17.3 18 14C18 10 12 3.2 12 3.2M12 8.5V10C14.2 10 16 11.8 16 14C16 14.8 15.8 15.6 15.3 16.2L14.2 15.1C14.4 14.8 14.5 14.4 14.5 14C14.5 12.6 13.4 11.5 12 11.5V13L9.8 10.8L12 8.5M8.7 11.8L9.8 12.9C9.6 13.2 9.5 13.6 9.5 14C9.5 15.4 10.6 16.5 12 16.5V15L14.2 17.2L12 19.5V18C9.8 18 8 16.2 8 14C8 13.2 8.2 12.4 8.7 11.8Z\";\r\nexport var mdiWaterThermometer = \"M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19S22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6M8 20C4.69 20 2 17.31 2 14C2 10 8 3.25 8 3.25S14 10 14 14C14 17.31 11.31 20 8 20Z\";\r\nexport var mdiWaterThermometerOutline = \"M19 5C17.89 5 17 5.89 17 7V13.76C16.36 14.33 16 15.15 16 16C16 17.66 17.34 19 19 19S22 17.66 22 16C22 15.15 21.64 14.33 21 13.77V7C21 5.89 20.11 5 19 5M19 6C19.55 6 20 6.45 20 7V8H18V7C18 6.45 18.45 6 19 6M8 3.54L7.25 4.38C7.25 4.38 5.97 5.83 4.68 7.71S2 11.84 2 14C2 17.31 4.69 20 8 20S14 17.31 14 14C14 11.84 12.61 9.59 11.32 7.71S8.75 4.38 8.75 4.38L8 3.54M8 6.67C8.44 7.19 8.84 7.62 9.68 8.84C10.89 10.6 12 12.84 12 14C12 16.22 10.22 18 8 18S4 16.22 4 14C4 12.84 5.11 10.6 6.32 8.84C7.16 7.62 7.56 7.19 8 6.67Z\";\r\nexport var mdiWaterWell = \"M22 16H2V18H4V22H20V18H22V16M10.44 15C10.19 15 10 14.81 9.95 14.56L9.57 11.56C9.57 11.54 9.57 11.5 9.57 11.5C9.57 11.22 9.79 11 10.07 11H13.93C13.95 11 13.97 11 14 11C14.27 11.04 14.46 11.29 14.43 11.56L14.05 14.56C14 14.81 13.81 15 13.56 15H10.44M19 2L21.56 6.68C21.6 6.78 21.61 6.89 21.61 7C21.61 7.56 21.16 8 20.61 8H19V15H17V8H13V10H11V8H7V15H5V8H3.62C3.46 8 3.31 7.96 3.16 7.89C2.67 7.64 2.47 7.04 2.72 6.55L5 2H19Z\";\r\nexport var mdiWaterWellOutline = \"M3.62 8H5V15H7V8H11V10H13V8H17V15H19V8H20.61C21.16 8 21.61 7.56 21.61 7C21.61 6.89 21.6 6.78 21.56 6.68L19 2H5L2.72 6.55C2.47 7.04 2.67 7.64 3.16 7.89C3.31 7.96 3.46 8 3.62 8M6.24 4H17.76L18.76 6H5.24L6.24 4M2 16V18H4V22H20V18H22V16H2M18 20H6V18H18V20M13.93 11C14.21 11 14.43 11.22 14.43 11.5C14.43 11.5 14.43 11.54 14.43 11.56L14.05 14.56C14 14.81 13.81 15 13.56 15H10.44C10.19 15 10 14.81 9.95 14.56L9.57 11.56C9.54 11.29 9.73 11.04 10 11C10.03 11 10.05 11 10.07 11H13.93Z\";\r\nexport var mdiWaterfall = \"M20 20C18.61 20 17.22 19.53 16 18.67C13.56 20.38 10.44 20.38 8 18.67C6.78 19.53 5.39 20 4 20H2V22H4C5.37 22 6.74 21.65 8 21C10.5 22.3 13.5 22.3 16 21C17.26 21.65 18.62 22 20 22H22V20M20 16C18.61 16 17.22 15.53 16 14.67C13.56 16.38 10.44 16.38 8 14.67C6.78 15.53 5.39 16 4 16H2V18H4C5.37 18 6.74 17.65 8 17C10.5 18.3 13.5 18.3 16 17C17.26 17.65 18.62 18 20 18H22V16M22 2H2V4H6V16H18V4H22M9 4H11V10H9M13 8H15V14H13Z\";\r\nexport var mdiWateringCan = \"M18.5 7.47C17.76 8.2 17.57 9.25 17.92 10.15L15 13.07V11C15 10.45 14.55 10 14 10H12.97C13 9.83 13 9.67 13 9.5C13 6.46 10.54 4 7.5 4S2 6.46 2 9.5C2 11.21 2.78 12.73 4 13.74V20C4 20.55 4.45 21 5 21H14C14.55 21 15 20.55 15 20V15.89L19.33 11.56C20.23 11.91 21.28 11.73 22 11L18.5 7.47M4.05 10C4.03 9.83 4 9.67 4 9.5C4 7.57 5.57 6 7.5 6S11 7.57 11 9.5C11 9.67 10.97 9.83 10.95 10H4.05Z\";\r\nexport var mdiWateringCanOutline = \"M18.5 7.47C17.76 8.2 17.57 9.25 17.92 10.15L15 13.07V11C15 10.45 14.55 10 14 10H12.97C13 9.83 13 9.67 13 9.5C13 6.46 10.54 4 7.5 4S2 6.46 2 9.5C2 11.21 2.78 12.73 4 13.74V20C4 20.55 4.45 21 5 21H14C14.55 21 15 20.55 15 20V15.89L19.33 11.56C20.23 11.91 21.28 11.73 22 11L18.5 7.47M4.05 10C4.03 9.83 4 9.67 4 9.5C4 7.57 5.57 6 7.5 6S11 7.57 11 9.5C11 9.67 10.97 9.83 10.95 10M13 19H6V12H13V19Z\";\r\nexport var mdiWatermark = \"M21,3H3A2,2 0 0,0 1,5V19A2,2 0 0,0 3,21H21A2,2 0 0,0 23,19V5A2,2 0 0,0 21,3M21,19H12V13H21V19Z\";\r\nexport var mdiWave = \"M20,12C18.61,12 17.22,11.53 16,10.67C13.56,12.38 10.44,12.38 8,10.67C6.78,11.53 5.39,12 4,12H2V14H4C5.37,14 6.74,13.65 8,13C10.5,14.3 13.5,14.3 16,13C17.26,13.65 18.62,14 20,14H22V12\";\r\nexport var mdiWaveArrowDown = \"M20 7H22V9H20C18.62 9 17.26 8.65 16 8C13.5 9.3 10.5 9.3 8 8C6.74 8.65 5.37 9 4 9H2V7H4C5.39 7 6.78 6.53 8 5.67C10.44 7.38 13.56 7.38 16 5.67C17.22 6.53 18.61 7 20 7M12 22L8 18H11V11H13V18H16L12 22Z\";\r\nexport var mdiWaveArrowUp = \"M20 7H22V9H20C18.62 9 17.26 8.65 16 8C13.5 9.3 10.5 9.3 8 8C6.74 8.65 5.37 9 4 9H2V7H4C5.39 7 6.78 6.53 8 5.67C10.44 7.38 13.56 7.38 16 5.67C17.22 6.53 18.61 7 20 7M12 11L16 15H13V22H11V15H8L12 11Z\";\r\nexport var mdiWaveUndercurrent = \"M20 7H22V9H20C18.62 9 17.26 8.65 16 8C13.5 9.3 10.5 9.3 8 8C6.74 8.65 5.37 9 4 9H2V7H4C5.39 7 6.78 6.53 8 5.67C10.44 7.38 13.56 7.38 16 5.67C17.22 6.53 18.61 7 20 7M12 12.5C14.21 12.5 16 14.29 16 16.5C16 17.32 15.75 18.08 15.33 18.71L14.24 17.62C14.41 17.28 14.5 16.9 14.5 16.5C14.5 15.12 13.38 14 12 14V15.5L9.75 13.25L12 11V12.5M12 19V17.5L14.25 19.75L12 22V20.5C9.79 20.5 8 18.71 8 16.5C8 15.68 8.25 14.92 8.67 14.29L9.76 15.38C9.59 15.72 9.5 16.1 9.5 16.5C9.5 17.88 10.62 19 12 19Z\";\r\nexport var mdiWaveform = \"M22 12L20 13L19 14L18 13L17 16L16 13L15 21L14 13L13 15L12 13L11 17L10 13L9 22L8 13L7 19L6 13L5 14L4 13L2 12L4 11L5 10L6 11L7 5L8 11L9 2L10 11L11 7L12 11L13 9L14 11L15 3L16 11L17 8L18 11L19 10L20 11L22 12Z\";\r\nexport var mdiWaves = \"M20,12H22V14H20C18.62,14 17.26,13.65 16,13C13.5,14.3 10.5,14.3 8,13C6.74,13.65 5.37,14 4,14H2V12H4C5.39,12 6.78,11.53 8,10.67C10.44,12.38 13.56,12.38 16,10.67C17.22,11.53 18.61,12 20,12M20,6H22V8H20C18.62,8 17.26,7.65 16,7C13.5,8.3 10.5,8.3 8,7C6.74,7.65 5.37,8 4,8H2V6H4C5.39,6 6.78,5.53 8,4.67C10.44,6.38 13.56,6.38 16,4.67C17.22,5.53 18.61,6 20,6M20,18H22V20H20C18.62,20 17.26,19.65 16,19C13.5,20.3 10.5,20.3 8,19C6.74,19.65 5.37,20 4,20H2V18H4C5.39,18 6.78,17.53 8,16.67C10.44,18.38 13.56,18.38 16,16.67C17.22,17.53 18.61,18 20,18Z\";\r\nexport var mdiWavesArrowLeft = \"M4 14C5.39 14 6.78 13.53 8 12.67C10.44 14.38 13.56 14.38 16 12.67C17.22 13.53 18.61 14 20 14H22V16H20C18.63 16 17.26 15.65 16 15C13.5 16.3 10.5 16.3 8 15C6.74 15.65 5.38 16 4 16H2V14H4M8 18.67C10.44 20.38 13.56 20.38 16 18.67C17.22 19.53 18.61 20 20 20H22V22H20C18.63 22 17.26 21.65 16 21C13.5 22.3 10.5 22.3 8 21C6.74 21.65 5.38 22 4 22H2V20H4C5.39 20 6.78 19.53 8 18.67M6 10V7H11V5H6V2L2 6\";\r\nexport var mdiWavesArrowRight = \"M20 14H22V16H20C18.62 16 17.26 15.65 16 15C13.5 16.3 10.5 16.3 8 15C6.74 15.65 5.37 16 4 16H2V14H4C5.39 14 6.78 13.53 8 12.67C10.44 14.38 13.56 14.38 16 12.67C17.22 13.53 18.61 14 20 14M20 20H22V22H20C18.62 22 17.26 21.65 16 21C13.5 22.3 10.5 22.3 8 21C6.74 21.65 5.37 22 4 22H2V20H4C5.39 20 6.78 19.53 8 18.67C10.44 20.38 13.56 20.38 16 18.67C17.22 19.53 18.61 20 20 20M22 6L18 2V5H13V7H18V10\";\r\nexport var mdiWavesArrowUp = \"M20 14H22V16H20C18.62 16 17.26 15.65 16 15C13.5 16.3 10.5 16.3 8 15C6.74 15.65 5.37 16 4 16H2V14H4C5.39 14 6.78 13.53 8 12.67C10.44 14.38 13.56 14.38 16 12.67C17.22 13.53 18.61 14 20 14M20 20H22V22H20C18.62 22 17.26 21.65 16 21C13.5 22.3 10.5 22.3 8 21C6.74 21.65 5.37 22 4 22H2V20H4C5.39 20 6.78 19.53 8 18.67C10.44 20.38 13.56 20.38 16 18.67C17.22 19.53 18.61 20 20 20M7 2L3 6H6V11H8V6H11M17 2L13 6H16V11H18V6H21\";\r\nexport var mdiWaze = \"M20.54,6.63C21.23,7.57 21.69,8.67 21.89,9.82C22.1,11.07 22,12.34 21.58,13.54C21.18,14.71 20.5,15.76 19.58,16.6C18.91,17.24 18.15,17.77 17.32,18.18C17.73,19.25 17.19,20.45 16.12,20.86C15.88,20.95 15.63,21 15.38,21C14.27,21 13.35,20.11 13.31,19C13.05,19 10.73,19 10.24,19C10.13,20.14 9.11,21 7.97,20.87C6.91,20.77 6.11,19.89 6.09,18.83C6.1,18.64 6.13,18.44 6.19,18.26C4.6,17.73 3.21,16.74 2.19,15.41C1.86,14.97 1.96,14.34 2.42,14C2.6,13.86 2.82,13.78 3.05,13.78C3.77,13.78 4.05,13.53 4.22,13.15C4.46,12.43 4.6,11.68 4.61,10.92C4.64,10.39 4.7,9.87 4.78,9.35C5.13,7.62 6.1,6.07 7.5,5C9.16,3.7 11.19,3 13.29,3C14.72,3 16.13,3.35 17.4,4C18.64,4.62 19.71,5.5 20.54,6.63M16.72,17.31C18.5,16.5 19.9,15.04 20.59,13.21C22.21,8.27 18,4.05 13.29,4.05C12.94,4.05 12.58,4.07 12.23,4.12C9.36,4.5 6.4,6.5 5.81,9.5C5.43,11.5 6,14.79 3.05,14.79C4,16 5.32,16.93 6.81,17.37C7.66,16.61 8.97,16.69 9.74,17.55C9.85,17.67 9.94,17.8 10,17.94C10.59,17.94 13.2,17.94 13.55,17.94C14.07,16.92 15.33,16.5 16.35,17.04C16.5,17.12 16.6,17.21 16.72,17.31M10.97,10.31C10.39,10.34 9.88,9.9 9.85,9.31C9.82,8.73 10.27,8.23 10.85,8.19C11.43,8.16 11.94,8.61 11.97,9.25C12,9.8 11.56,10.27 11,10.29L10.97,10.31M15.66,10.31C15.08,10.34 14.57,9.9 14.54,9.31C14.5,8.73 14.96,8.23 15.54,8.19C16.12,8.16 16.63,8.61 16.66,9.25C16.68,9.8 16.25,10.27 15.66,10.29V10.31M9.71,12.07C9.65,11.79 9.84,11.5 10.12,11.45C10.4,11.4 10.68,11.58 10.74,11.86V11.86C11.09,12.97 12.16,13.69 13.32,13.6C14.46,13.66 15.5,12.96 15.89,11.88C16.03,11.62 16.35,11.5 16.6,11.65C16.78,11.75 16.89,11.92 16.89,12.12C16.7,12.83 16.26,13.45 15.66,13.88C14.97,14.36 14.16,14.63 13.32,14.64H13.21C11.58,14.71 10.11,13.64 9.68,12.06L9.71,12.07Z\";\r\nexport var mdiWeatherCloudy = \"M6,19A5,5 0 0,1 1,14A5,5 0 0,1 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11A4,4 0 0,1 23,15A4,4 0 0,1 19,19H6M19,13H17V12A5,5 0 0,0 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11A3,3 0 0,0 3,14A3,3 0 0,0 6,17H19A2,2 0 0,0 21,15A2,2 0 0,0 19,13Z\";\r\nexport var mdiWeatherCloudyAlert = \"M6,19A5,5 0 0,1 1,14A5,5 0 0,1 6,9C7,6.65 9.3,5 12,5C15.43,5 18.24,7.66 18.5,11.03L19,11A4,4 0 0,1 23,15A4,4 0 0,1 19,19H6M19,13H17V12A5,5 0 0,0 12,7C9.5,7 7.45,8.82 7.06,11.19C6.73,11.07 6.37,11 6,11A3,3 0 0,0 3,14A3,3 0 0,0 6,17H19A2,2 0 0,0 21,15A2,2 0 0,0 19,13M13,12H11V8H13V12M13,16H11V14H13\";\r\nexport var mdiWeatherCloudyArrowRight = \"M6,7L6.69,7.06C7.32,4.72 9.46,3 12,3A5.5,5.5 0 0,1 17.5,8.5L17.42,9.45C17.88,9.16 18.42,9 19,9A3,3 0 0,1 22,12A3,3 0 0,1 19,15H6A4,4 0 0,1 2,11A4,4 0 0,1 6,7M6,9A2,2 0 0,0 4,11A2,2 0 0,0 6,13H19A1,1 0 0,0 20,12A1,1 0 0,0 19,11H15.5V8.5A3.5,3.5 0 0,0 12,5A3.5,3.5 0 0,0 8.5,8.5V9H6M22,19L19,22V20H2V18H19V16L22,19\";\r\nexport var mdiWeatherCloudyClock = \"M15 13H16.5V15.82L18.94 17.23L18.19 18.53L15 16.69V13M18.13 9.33C17.23 6.81 14.83 5 12 5C9.3 5 7 6.65 6 9C3.24 9 1 11.24 1 14S3.24 19 6 19H9.68C10.81 21.36 13.21 23 16 23C19.87 23 23 19.87 23 16C23 12.88 20.96 10.24 18.13 9.33M6 17C4.34 17 3 15.66 3 14S4.34 11 6 11C6.37 11 6.73 11.07 7.06 11.19C7.45 8.82 9.5 7 12 7C13.63 7 15.07 7.79 16 9C12.12 9 9 12.14 9 16C9 16.34 9.03 16.67 9.08 17H6M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\r\nexport var mdiWeatherDust = \"M3 5C3 4.4 3.4 4 4 4H5C5.6 4 6 4.4 6 5S5.6 6 5 6H4C3.4 6 3 5.6 3 5M4 13C4 12.4 4.4 12 5 12H6C6.6 12 7 12.4 7 13S6.6 14 6 14H5C4.4 14 4 13.6 4 13M4 16C3.4 16 3 16.4 3 17S3.4 18 4 18H9C9.6 18 10 17.6 10 17S9.6 16 9 16H4M18 5C18 4.4 18.4 4 19 4H21C21.6 4 22 4.4 22 5S21.6 6 21 6H19C18.4 6 18 5.6 18 5M7 20C6.4 20 6 20.4 6 21S6.4 22 7 22H11C11.6 22 12 21.6 12 21S11.6 20 11 20H7M3 10C2.4 10 2 9.6 2 9S2.4 8 3 8H12C13.1 8 14 7.1 14 6S13.1 4 12 4C11.4 4 10.9 4.2 10.6 4.6C10.2 5 9.6 5 9.2 4.6C8.8 4.2 8.8 3.6 9.2 3.2C9.9 2.5 10.9 2 12 2C14.2 2 16 3.8 16 6S14.2 10 12 10H3M19 12C19.6 12 20 11.6 20 11S19.6 10 19 10C18.7 10 18.5 10.1 18.3 10.3C17.9 10.7 17.3 10.7 16.9 10.3C16.5 9.9 16.5 9.3 16.9 8.9C17.4 8.3 18.2 8 19 8C20.7 8 22 9.3 22 11S20.7 14 19 14H10C9.4 14 9 13.6 9 13S9.4 12 10 12H19M18 18H13C12.4 18 12 17.6 12 17S12.4 16 13 16H18C19.7 16 21 17.3 21 19S19.7 22 18 22C17.2 22 16.4 21.7 15.9 21.1C15.5 20.7 15.5 20.1 15.9 19.7C16.3 19.3 16.9 19.3 17.3 19.7C17.5 19.9 17.7 20 18 20C18.6 20 19 19.6 19 19S18.6 18 18 18Z\";\r\nexport var mdiWeatherFog = \"M3,15H13A1,1 0 0,1 14,16A1,1 0 0,1 13,17H3A1,1 0 0,1 2,16A1,1 0 0,1 3,15M16,15H21A1,1 0 0,1 22,16A1,1 0 0,1 21,17H16A1,1 0 0,1 15,16A1,1 0 0,1 16,15M1,12A5,5 0 0,1 6,7C7,4.65 9.3,3 12,3C15.43,3 18.24,5.66 18.5,9.03L19,9C21.19,9 22.97,10.76 23,13H21A2,2 0 0,0 19,11H17V10A5,5 0 0,0 12,5C9.5,5 7.45,6.82 7.06,9.19C6.73,9.07 6.37,9 6,9A3,3 0 0,0 3,12C3,12.35 3.06,12.69 3.17,13H1.1L1,12M3,19H5A1,1 0 0,1 6,20A1,1 0 0,1 5,21H3A1,1 0 0,1 2,20A1,1 0 0,1 3,19M8,19H21A1,1 0 0,1 22,20A1,1 0 0,1 21,21H8A1,1 0 0,1 7,20A1,1 0 0,1 8,19Z\";\r\nexport var mdiWeatherHail = \"M6,14A1,1 0 0,1 7,15A1,1 0 0,1 6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14M10,18A2,2 0 0,1 12,20A2,2 0 0,1 10,22A2,2 0 0,1 8,20A2,2 0 0,1 10,18M14.5,16A1.5,1.5 0 0,1 16,17.5A1.5,1.5 0 0,1 14.5,19A1.5,1.5 0 0,1 13,17.5A1.5,1.5 0 0,1 14.5,16M10.5,12A1.5,1.5 0 0,1 12,13.5A1.5,1.5 0 0,1 10.5,15A1.5,1.5 0 0,1 9,13.5A1.5,1.5 0 0,1 10.5,12Z\";\r\nexport var mdiWeatherHazy = \"M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64M14,15A1,1 0 0,0 13,14H3A1,1 0 0,0 2,15A1,1 0 0,0 3,16H13A1,1 0 0,0 14,15M22,15A1,1 0 0,0 21,14H17A1,1 0 0,0 16,15A1,1 0 0,0 17,16H21A1,1 0 0,0 22,15M10,19A1,1 0 0,0 11,20H20A1,1 0 0,0 21,19A1,1 0 0,0 20,18H11A1,1 0 0,0 10,19M3,19A1,1 0 0,0 4,20H7A1,1 0 0,0 8,19A1,1 0 0,0 7,18H4A1,1 0 0,0 3,19M12,9A3,3 0 0,1 15,12H17A5,5 0 0,0 12,7A5,5 0 0,0 7,12H9A3,3 0 0,1 12,9Z\";\r\nexport var mdiWeatherHurricane = \"M15,6.79C16.86,7.86 18,9.85 18,12C18,22 6,22 6,22C7.25,21.06 8.38,19.95 9.34,18.71C9.38,18.66 9.41,18.61 9.44,18.55C9.69,18.06 9.5,17.46 9,17.21C7.14,16.14 6,14.15 6,12C6,2 18,2 18,2C16.75,2.94 15.62,4.05 14.66,5.29C14.62,5.34 14.59,5.39 14.56,5.45C14.31,5.94 14.5,6.54 15,6.79M12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14Z\";\r\nexport var mdiWeatherHurricaneOutline = \"M12 14C13.11 14 14 13.11 14 12C14 10.9 13.11 10 12 10C10.9 10 10 10.9 10 12C10 13.11 10.9 14 12 14M18 2C17.1 2.68 16.26 3.45 15.5 4.29C15.21 4.61 14.93 4.95 14.66 5.29C14.62 5.34 14.59 5.39 14.56 5.45C14.31 5.94 14.5 6.54 15 6.79C16.86 7.86 18 9.85 18 12C18 18.41 13.08 20.71 9.54 21.54C7.55 22 6 22 6 22C6.9 21.32 7.74 20.55 8.5 19.71C8.79 19.39 9.07 19.05 9.34 18.71C9.38 18.66 9.41 18.61 9.44 18.55C9.69 18.06 9.5 17.46 9 17.21C7.14 16.14 6 14.15 6 12C6 5.59 10.93 3.29 14.47 2.46C16.45 2 18 2 18 2M9.44 7.47C8.61 8.5 8 9.93 8 12C8 13.43 8.75 14.74 9.96 15.46C11.2 16.12 11.78 17.5 11.47 18.8C12.67 18.27 13.76 17.54 14.56 16.53C15.39 15.5 16 14.07 16 12C16 10.57 15.25 9.26 14.04 8.54C12.8 7.88 12.22 6.5 12.54 5.2C11.33 5.73 10.24 6.47 9.44 7.47Z\";\r\nexport var mdiWeatherLightning = \"M6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14H7A1,1 0 0,1 8,15A1,1 0 0,1 7,16H6M12,11H15L13,15H15L11.25,22L12,17H9.5L12,11Z\";\r\nexport var mdiWeatherLightningRainy = \"M4.5,13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.44 4,15.6 3.5,15.33V15.33C2,14.47 1,12.85 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A1,1 0 0,1 18,15A1,1 0 0,1 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59M9.5,11H12.5L10.5,15H12.5L8.75,22L9.5,17H7L9.5,11M17.5,18.67C17.5,19.96 16.5,21 15.25,21C14,21 13,19.96 13,18.67C13,17.12 15.25,14.5 15.25,14.5C15.25,14.5 17.5,17.12 17.5,18.67Z\";\r\nexport var mdiWeatherNight = \"M17.75,4.09L15.22,6.03L16.13,9.09L13.5,7.28L10.87,9.09L11.78,6.03L9.25,4.09L12.44,4L13.5,1L14.56,4L17.75,4.09M21.25,11L19.61,12.25L20.2,14.23L18.5,13.06L16.8,14.23L17.39,12.25L15.75,11L17.81,10.95L18.5,9L19.19,10.95L21.25,11M18.97,15.95C19.8,15.87 20.69,17.05 20.16,17.8C19.84,18.25 19.5,18.67 19.08,19.07C15.17,23 8.84,23 4.94,19.07C1.03,15.17 1.03,8.83 4.94,4.93C5.34,4.53 5.76,4.17 6.21,3.85C6.96,3.32 8.14,4.21 8.06,5.04C7.79,7.9 8.75,10.87 10.95,13.06C13.14,15.26 16.1,16.22 18.97,15.95M17.33,17.97C14.5,17.81 11.7,16.64 9.53,14.5C7.36,12.31 6.2,9.5 6.04,6.68C3.23,9.82 3.34,14.64 6.35,17.66C9.37,20.67 14.19,20.78 17.33,17.97Z\";\r\nexport var mdiWeatherNightPartlyCloudy = \"M22,10.28C21.74,10.3 21.5,10.31 21.26,10.31C19.32,10.31 17.39,9.57 15.91,8.09C14.25,6.44 13.5,4.19 13.72,2C13.77,1.53 13.22,1 12.71,1C12.57,1 12.44,1.04 12.32,1.12C12,1.36 11.66,1.64 11.36,1.94C9.05,4.24 8.55,7.66 9.84,10.46C8.31,11.11 7.13,12.43 6.69,14.06L6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22H19A3,3 0 0,0 22,19A3,3 0 0,0 19,16C18.42,16 17.88,16.16 17.42,16.45L17.5,15.5C17.5,15.28 17.5,15.05 17.46,14.83C19.14,14.67 20.77,13.94 22.06,12.64C22.38,12.34 22.64,12 22.88,11.68C23.27,11.13 22.65,10.28 22.04,10.28M19,18A1,1 0 0,1 20,19A1,1 0 0,1 19,20H6A2,2 0 0,1 4,18A2,2 0 0,1 6,16H8.5V15.5C8.5,13.94 9.53,12.64 10.94,12.18C11.1,12.13 11.26,12.09 11.43,12.06C11.61,12.03 11.8,12 12,12C12.23,12 12.45,12.03 12.66,12.07C12.73,12.08 12.8,12.1 12.87,12.13C13,12.16 13.15,12.2 13.28,12.25C13.36,12.28 13.44,12.32 13.5,12.36C13.63,12.41 13.74,12.47 13.84,12.54C13.92,12.59 14,12.64 14.07,12.7C14.17,12.77 14.25,12.84 14.34,12.92C14.41,13 14.5,13.05 14.55,13.12C14.63,13.2 14.69,13.29 14.76,13.37C14.82,13.45 14.89,13.53 14.94,13.62C15,13.71 15.04,13.8 15.09,13.9C15.14,14 15.2,14.08 15.24,14.18C15.41,14.59 15.5,15.03 15.5,15.5V18M16.83,12.86C15.9,11.16 14.08,10 12,10H11.87C11.41,9.19 11.14,8.26 11.14,7.29C11.14,6.31 11.39,5.37 11.86,4.55C12.21,6.41 13.12,8.14 14.5,9.5C15.86,10.88 17.58,11.79 19.45,12.14C18.66,12.6 17.76,12.84 16.83,12.86Z\";\r\nexport var mdiWeatherPartlyCloudy = \"M12.74,5.47C15.1,6.5 16.35,9.03 15.92,11.46C17.19,12.56 18,14.19 18,16V16.17C18.31,16.06 18.65,16 19,16A3,3 0 0,1 22,19A3,3 0 0,1 19,22H6A4,4 0 0,1 2,18A4,4 0 0,1 6,14H6.27C5,12.45 4.6,10.24 5.5,8.26C6.72,5.5 9.97,4.24 12.74,5.47M11.93,7.3C10.16,6.5 8.09,7.31 7.31,9.07C6.85,10.09 6.93,11.22 7.41,12.13C8.5,10.83 10.16,10 12,10C12.7,10 13.38,10.12 14,10.34C13.94,9.06 13.18,7.86 11.93,7.3M13.55,3.64C13,3.4 12.45,3.23 11.88,3.12L14.37,1.82L15.27,4.71C14.76,4.29 14.19,3.93 13.55,3.64M6.09,4.44C5.6,4.79 5.17,5.19 4.8,5.63L4.91,2.82L7.87,3.5C7.25,3.71 6.65,4.03 6.09,4.44M18,9.71C17.91,9.12 17.78,8.55 17.59,8L19.97,9.5L17.92,11.73C18.03,11.08 18.05,10.4 18,9.71M3.04,11.3C3.11,11.9 3.24,12.47 3.43,13L1.06,11.5L3.1,9.28C3,9.93 2.97,10.61 3.04,11.3M19,18H16V16A4,4 0 0,0 12,12A4,4 0 0,0 8,16H6A2,2 0 0,0 4,18A2,2 0 0,0 6,20H19A1,1 0 0,0 20,19A1,1 0 0,0 19,18Z\";\r\nexport var mdiWeatherPartlyLightning = \"M19,15C18.65,15 18.31,15.06 18,15.17V15C18,13.19 17.19,11.56 15.92,10.46C16.35,8.03 15.1,5.5 12.75,4.47C9.97,3.24 6.72,4.5 5.5,7.25C4.6,9.24 5,11.45 6.27,13H6A4,4 0 0,0 2,17A4,4 0 0,0 6,21H7C7,21 8,21 8,20C8,19 7,19 7,19H6A2,2 0 0,1 4,17A2,2 0 0,1 6,15H8A4,4 0 0,1 12,11A4,4 0 0,1 16,15V17H19A1,1 0 0,1 20,18A1,1 0 0,1 19,19H17C17,19 16,19 16,20C16,21 17,21 17,21H19A3,3 0 0,0 22,18A3,3 0 0,0 19,15M12,9C10.16,9 8.5,9.83 7.41,11.13C6.93,10.22 6.85,9.09 7.31,8.07C8.09,6.31 10.16,5.5 11.93,6.3C13.18,6.86 13.94,8.06 14,9.34C13.38,9.12 12.7,9 12,9M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M11.8,15H14.25L12.61,18.27H14.25L11.18,24L11.8,19.91H9.75\";\r\nexport var mdiWeatherPartlyRainy = \"M12.75,4.47C15.1,5.5 16.35,8.03 15.92,10.46C17.19,11.56 18,13.19 18,15V15.17C18.31,15.06 18.65,15 19,15A3,3 0 0,1 22,18A3,3 0 0,1 19,21H17C17,21 16,21 16,20C16,19 17,19 17,19H19A1,1 0 0,0 20,18A1,1 0 0,0 19,17H16V15A4,4 0 0,0 12,11A4,4 0 0,0 8,15H6A2,2 0 0,0 4,17A2,2 0 0,0 6,19H7C7,19 8,19 8,20C8,21 7,21 7,21H6A4,4 0 0,1 2,17A4,4 0 0,1 6,13H6.27C5,11.45 4.6,9.24 5.5,7.25C6.72,4.5 9.97,3.24 12.75,4.47M11.93,6.3C10.16,5.5 8.09,6.31 7.31,8.07C6.85,9.09 6.93,10.22 7.41,11.13C8.5,9.83 10.16,9 12,9C12.7,9 13.38,9.12 14,9.34C13.94,8.06 13.18,6.86 11.93,6.3M13.55,2.63C13,2.4 12.45,2.23 11.88,2.12L14.37,0.82L15.27,3.71C14.76,3.29 14.19,2.93 13.55,2.63M6.09,3.44C5.6,3.79 5.17,4.19 4.8,4.63L4.91,1.82L7.87,2.5C7.25,2.71 6.65,3.03 6.09,3.44M18,8.71C17.91,8.12 17.78,7.55 17.59,7L19.97,8.5L17.92,10.73C18.03,10.08 18.05,9.4 18,8.71M3.04,10.3C3.11,10.9 3.25,11.47 3.43,12L1.06,10.5L3.1,8.28C3,8.93 2.97,9.61 3.04,10.3M12,18.91C12.59,19.82 13,20.63 13,21A1,1 0 0,1 12,22A1,1 0 0,1 11,21C11,20.63 11.41,19.82 12,18.91M12,15.62C12,15.62 9,19 9,21A3,3 0 0,0 12,24A3,3 0 0,0 15,21C15,19 12,15.62 12,15.62Z\";\r\nexport var mdiWeatherPartlySnowy = \"M6,19.03A2,2 0 0,1 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03A4,4 0 0,1 16,15.03V17.03H19A1,1 0 0,1 20,18.03C20,18.57 19.55,19.03 19,19.03H17C17,19.03 16,19.03 16,20.03C16,21.03 17,21.03 17,21.03H19A3,3 0 0,0 22,18.03C22,16.37 20.66,15.03 19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03A4,4 0 0,0 6,21.03C6,21.03 7,21.03 7,20.03C7,19.03 6,19.03 6,19.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M8.03,21.45C8.13,21.84 8.53,22.06 8.91,21.96L10.5,21.54L10.06,23.11C9.96,23.5 10.19,23.9 10.57,24C10.95,24.1 11.35,23.87 11.45,23.5L11.87,21.91L13.03,23.07C13.3,23.35 13.77,23.35 14.05,23.07C14.33,22.79 14.33,22.32 14.05,22.05L12.89,20.88L14.47,20.47C14.85,20.37 15.08,19.97 15,19.59C14.88,19.21 14.5,19 14.09,19.08L12.5,19.5L12.94,17.93C13.04,17.54 12.82,17.15 12.43,17.05C12.05,16.95 11.66,17.17 11.55,17.56L11.14,19.14L10,17.97C9.7,17.69 9.23,17.69 8.95,17.97C8.68,18.27 8.68,18.72 8.95,19L10.11,20.16L8.54,20.57C8.15,20.68 7.93,21.07 8.03,21.45Z\";\r\nexport var mdiWeatherPartlySnowyRainy = \"M13.55,2.66C13,2.42 12.45,2.26 11.88,2.15L14.37,0.84L15.27,3.73C14.76,3.31 14.19,2.95 13.55,2.66M6.09,3.46C5.6,3.81 5.17,4.21 4.8,4.66L4.91,1.84L7.87,2.53C7.25,2.73 6.65,3.05 6.09,3.46M18,8.73C17.91,8.15 17.78,7.57 17.59,7.03L19.97,8.53L17.92,10.76C18.03,10.1 18.05,9.42 18,8.73M3.04,10.32C3.11,10.92 3.25,11.5 3.43,12.03L1.06,10.53L3.1,8.3C3,8.95 2.97,9.64 3.04,10.32M16.68,22.21C16.68,23.2 15.91,24 14.95,24C14,24 13.23,23.2 13.23,22.21C13.23,21.03 14.95,19.03 14.95,19.03C14.95,19.03 16.68,21.03 16.68,22.21M6.03,21.45C5.93,21.07 6.15,20.68 6.54,20.58L8.13,20.15L6.96,19C6.68,18.72 6.68,18.27 6.96,18C7.23,17.7 7.7,17.7 8,18L9.14,19.14L9.55,17.56C9.65,17.17 10.05,16.94 10.43,17.05C10.82,17.15 11.05,17.55 10.93,17.93L10.5,19.5L12.1,19.1C12.5,19 12.88,19.21 13,19.6C13.08,19.97 12.86,20.37 12.47,20.47L10.89,20.89L12.05,22.05C12.33,22.32 12.33,22.79 12.05,23.07C11.77,23.35 11.31,23.35 11.03,23.07L9.87,21.9L9.45,23.5C9.35,23.88 8.95,24.1 8.57,24C8.18,23.9 7.97,23.5 8.06,23.12L8.5,21.55L6.91,21.96C6.5,22.06 6.13,21.84 6.03,21.45M19,15.03C18.65,15.03 18.31,15.08 18,15.19V15.03C18,13.21 17.19,11.58 15.92,10.5C16.35,8.05 15.1,5.53 12.75,4.5C9.97,3.27 6.72,4.53 5.5,7.28C4.6,9.27 5,11.47 6.27,13.03H6C3.79,13.03 2,14.81 2,17.03C2,18.17 2.5,19.2 3.27,19.93V19.93C3.27,19.93 3.97,20.64 4.68,19.93C5.39,19.22 4.68,18.5 4.68,18.5C4.27,18.15 4,17.62 4,17.03C4,15.92 4.9,15.03 6,15.03H8C8,12.81 9.79,11.03 12,11.03A4,4 0 0,1 16,15.03V17.03H19A1,1 0 0,1 20,18.03C20,18.57 19.55,19.03 19,19.03H18C18,19.03 17,19.03 17,20.03C17,21.03 18,21.03 18,21.03H19A3,3 0 0,0 22,18.03C22,16.37 20.66,15.03 19,15.03M12,9.03C10.16,9.03 8.5,9.85 7.41,11.16C6.93,10.25 6.85,9.11 7.31,8.09C8.09,6.33 10.16,5.53 11.93,6.32C13.18,6.89 13.94,8.08 14,9.37C13.38,9.15 12.7,9.03 12,9.03Z\";\r\nexport var mdiWeatherPouring = \"M9,12C9.53,12.14 9.85,12.69 9.71,13.22L8.41,18.05C8.27,18.59 7.72,18.9 7.19,18.76C6.65,18.62 6.34,18.07 6.5,17.54L7.78,12.71C7.92,12.17 8.47,11.86 9,12M13,12C13.53,12.14 13.85,12.69 13.71,13.22L11.64,20.95C11.5,21.5 10.95,21.8 10.41,21.66C9.88,21.5 9.56,20.97 9.7,20.43L11.78,12.71C11.92,12.17 12.47,11.86 13,12M17,12C17.53,12.14 17.85,12.69 17.71,13.22L16.41,18.05C16.27,18.59 15.72,18.9 15.19,18.76C14.65,18.62 14.34,18.07 14.5,17.54L15.78,12.71C15.92,12.17 16.47,11.86 17,12M17,10V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,12.11 3.6,13.08 4.5,13.6V13.59C5,13.87 5.14,14.5 4.87,14.96C4.59,15.43 4,15.6 3.5,15.32V15.33C2,14.47 1,12.85 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12C23,13.5 22.2,14.77 21,15.46V15.46C20.5,15.73 19.91,15.57 19.63,15.09C19.36,14.61 19.5,14 20,13.72V13.73C20.6,13.39 21,12.74 21,12A2,2 0 0,0 19,10H17Z\";\r\nexport var mdiWeatherRainy = \"M6,14.03A1,1 0 0,1 7,15.03C7,15.58 6.55,16.03 6,16.03C3.24,16.03 1,13.79 1,11.03C1,8.27 3.24,6.03 6,6.03C7,3.68 9.3,2.03 12,2.03C15.43,2.03 18.24,4.69 18.5,8.06L19,8.03A4,4 0 0,1 23,12.03C23,14.23 21.21,16.03 19,16.03H18C17.45,16.03 17,15.58 17,15.03C17,14.47 17.45,14.03 18,14.03H19A2,2 0 0,0 21,12.03A2,2 0 0,0 19,10.03H17V9.03C17,6.27 14.76,4.03 12,4.03C9.5,4.03 7.45,5.84 7.06,8.21C6.73,8.09 6.37,8.03 6,8.03A3,3 0 0,0 3,11.03A3,3 0 0,0 6,14.03M12,14.15C12.18,14.39 12.37,14.66 12.56,14.94C13,15.56 14,17.03 14,18C14,19.11 13.1,20 12,20A2,2 0 0,1 10,18C10,17.03 11,15.56 11.44,14.94C11.63,14.66 11.82,14.4 12,14.15M12,11.03L11.5,11.59C11.5,11.59 10.65,12.55 9.79,13.81C8.93,15.06 8,16.56 8,18A4,4 0 0,0 12,22A4,4 0 0,0 16,18C16,16.56 15.07,15.06 14.21,13.81C13.35,12.55 12.5,11.59 12.5,11.59\";\r\nexport var mdiWeatherSnowy = \"M6,14A1,1 0 0,1 7,15A1,1 0 0,1 6,16A5,5 0 0,1 1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16H18A1,1 0 0,1 17,15A1,1 0 0,1 18,14H19A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11A3,3 0 0,0 6,14M7.88,18.07L10.07,17.5L8.46,15.88C8.07,15.5 8.07,14.86 8.46,14.46C8.85,14.07 9.5,14.07 9.88,14.46L11.5,16.07L12.07,13.88C12.21,13.34 12.76,13.03 13.29,13.17C13.83,13.31 14.14,13.86 14,14.4L13.41,16.59L15.6,16C16.14,15.86 16.69,16.17 16.83,16.71C16.97,17.24 16.66,17.79 16.12,17.93L13.93,18.5L15.54,20.12C15.93,20.5 15.93,21.15 15.54,21.54C15.15,21.93 14.5,21.93 14.12,21.54L12.5,19.93L11.93,22.12C11.79,22.66 11.24,22.97 10.71,22.83C10.17,22.69 9.86,22.14 10,21.6L10.59,19.41L8.4,20C7.86,20.14 7.31,19.83 7.17,19.29C7.03,18.76 7.34,18.21 7.88,18.07Z\";\r\nexport var mdiWeatherSnowyHeavy = \"M4,16.36C3.86,15.82 4.18,15.25 4.73,15.11L7,14.5L5.33,12.86C4.93,12.46 4.93,11.81 5.33,11.4C5.73,11 6.4,11 6.79,11.4L8.45,13.05L9.04,10.8C9.18,10.24 9.75,9.92 10.29,10.07C10.85,10.21 11.17,10.78 11,11.33L10.42,13.58L12.67,13C13.22,12.83 13.79,13.15 13.93,13.71C14.08,14.25 13.76,14.82 13.2,14.96L10.95,15.55L12.6,17.21C13,17.6 13,18.27 12.6,18.67C12.2,19.07 11.54,19.07 11.15,18.67L9.5,17L8.89,19.27C8.75,19.83 8.18,20.14 7.64,20C7.08,19.86 6.77,19.29 6.91,18.74L7.5,16.5L5.26,17.09C4.71,17.23 4.14,16.92 4,16.36M1,10A5,5 0 0,1 6,5C7,2.65 9.3,1 12,1C15.43,1 18.24,3.66 18.5,7.03L19,7A4,4 0 0,1 23,11A4,4 0 0,1 19,15A1,1 0 0,1 18,14A1,1 0 0,1 19,13A2,2 0 0,0 21,11A2,2 0 0,0 19,9H17V8A5,5 0 0,0 12,3C9.5,3 7.45,4.82 7.06,7.19C6.73,7.07 6.37,7 6,7A3,3 0 0,0 3,10C3,10.85 3.35,11.61 3.91,12.16C4.27,12.55 4.26,13.16 3.88,13.54C3.5,13.93 2.85,13.93 2.47,13.54C1.56,12.63 1,11.38 1,10M14.03,20.43C14.13,20.82 14.5,21.04 14.91,20.94L16.5,20.5L16.06,22.09C15.96,22.5 16.18,22.87 16.57,22.97C16.95,23.08 17.35,22.85 17.45,22.46L17.86,20.89L19.03,22.05C19.3,22.33 19.77,22.33 20.05,22.05C20.33,21.77 20.33,21.3 20.05,21.03L18.89,19.86L20.46,19.45C20.85,19.35 21.08,18.95 20.97,18.57C20.87,18.18 20.5,17.96 20.09,18.06L18.5,18.5L18.94,16.91C19.04,16.5 18.82,16.13 18.43,16.03C18.05,15.92 17.65,16.15 17.55,16.54L17.14,18.11L15.97,16.95C15.7,16.67 15.23,16.67 14.95,16.95C14.67,17.24 14.67,17.7 14.95,17.97L16.11,19.14L14.54,19.55C14.15,19.65 13.92,20.05 14.03,20.43Z\";\r\nexport var mdiWeatherSnowyRainy = \"M18.5,18.67C18.5,19.96 17.5,21 16.25,21C15,21 14,19.96 14,18.67C14,17.12 16.25,14.5 16.25,14.5C16.25,14.5 18.5,17.12 18.5,18.67M4,17.36C3.86,16.82 4.18,16.25 4.73,16.11L7,15.5L5.33,13.86C4.93,13.46 4.93,12.81 5.33,12.4C5.73,12 6.4,12 6.79,12.4L8.45,14.05L9.04,11.8C9.18,11.24 9.75,10.92 10.29,11.07C10.85,11.21 11.17,11.78 11,12.33L10.42,14.58L12.67,14C13.22,13.83 13.79,14.15 13.93,14.71C14.08,15.25 13.76,15.82 13.2,15.96L10.95,16.55L12.6,18.21C13,18.6 13,19.27 12.6,19.67C12.2,20.07 11.54,20.07 11.15,19.67L9.5,18L8.89,20.27C8.75,20.83 8.18,21.14 7.64,21C7.08,20.86 6.77,20.29 6.91,19.74L7.5,17.5L5.26,18.09C4.71,18.23 4.14,17.92 4,17.36M1,11A5,5 0 0,1 6,6C7,3.65 9.3,2 12,2C15.43,2 18.24,4.66 18.5,8.03L19,8A4,4 0 0,1 23,12A4,4 0 0,1 19,16A1,1 0 0,1 18,15A1,1 0 0,1 19,14A2,2 0 0,0 21,12A2,2 0 0,0 19,10H17V9A5,5 0 0,0 12,4C9.5,4 7.45,5.82 7.06,8.19C6.73,8.07 6.37,8 6,8A3,3 0 0,0 3,11C3,11.85 3.35,12.61 3.91,13.16C4.27,13.55 4.26,14.16 3.88,14.54C3.5,14.93 2.85,14.93 2.47,14.54C1.56,13.63 1,12.38 1,11Z\";\r\nexport var mdiWeatherSunny = \"M12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M20.64,17L16.5,17.36C17.09,16.85 17.62,16.22 18.04,15.5C18.46,14.77 18.73,14 18.87,13.21L20.64,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56L12,22Z\";\r\nexport var mdiWeatherSunnyAlert = \"M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7M12,15A3,3 0 0,1 9,12A3,3 0 0,1 12,9A3,3 0 0,1 15,12A3,3 0 0,1 12,15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M3.36,17L5.12,13.23C5.26,14 5.53,14.78 5.95,15.5C6.37,16.24 6.91,16.86 7.5,17.37L3.36,17M12,22L9.59,18.56C10.33,18.83 11.14,19 12,19C12.82,19 13.63,18.83 14.37,18.56M19,13V7H21V13H19M19,17V15H21V17\";\r\nexport var mdiWeatherSunnyOff = \"M22.11 21.46L2.39 1.73L1.11 3L4.97 6.86L3.34 7L5.11 10.79C5.25 10 5.5 9.24 5.94 8.5C6 8.36 6.13 8.24 6.22 8.11L7.66 9.55C7.25 10.27 7 11.11 7 12C7 14.76 9.24 17 12 17C12.9 17 13.73 16.75 14.45 16.34L20.84 22.73L22.11 21.46M12 15C10.34 15 9 13.66 9 12C9 11.67 9.07 11.36 9.17 11.06L12.94 14.83C12.64 14.93 12.33 15 12 15M18.05 8.5C17.63 7.78 17.1 7.15 16.5 6.64L20.65 7L18.88 10.79C18.74 10 18.47 9.23 18.05 8.5M12 7C14.76 7 17 9.24 17 12C17 12.54 16.89 13.05 16.74 13.54L15 11.78C14.87 10.3 13.7 9.13 12.22 9L10.47 7.27C10.95 7.11 11.46 7 12 7M12 5C11.16 5 10.35 5.15 9.61 5.42L12 2L14.39 5.42C13.65 5.15 12.84 5 12 5M18.87 13.21L20.64 17L20.24 17.04L18.25 15.05C18.54 14.45 18.76 13.84 18.87 13.21M12 19C12.82 19 13.63 18.83 14.37 18.56L12 22L9.59 18.56C10.33 18.83 11.14 19 12 19M5.95 15.5C6.37 16.24 6.91 16.86 7.5 17.37L3.36 17L5.12 13.23C5.26 14 5.53 14.78 5.95 15.5Z\";\r\nexport var mdiWeatherSunset = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M5,16H19A1,1 0 0,1 20,17A1,1 0 0,1 19,18H5A1,1 0 0,1 4,17A1,1 0 0,1 5,16M17,20A1,1 0 0,1 18,21A1,1 0 0,1 17,22H7A1,1 0 0,1 6,21A1,1 0 0,1 7,20H17M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7Z\";\r\nexport var mdiWeatherSunsetDown = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M12.71,20.71L15.82,17.6C16.21,17.21 16.21,16.57 15.82,16.18C15.43,15.79 14.8,15.79 14.41,16.18L12,18.59L9.59,16.18C9.2,15.79 8.57,15.79 8.18,16.18C7.79,16.57 7.79,17.21 8.18,17.6L11.29,20.71C11.5,20.9 11.74,21 12,21C12.26,21 12.5,20.9 12.71,20.71Z\";\r\nexport var mdiWeatherSunsetUp = \"M3,12H7A5,5 0 0,1 12,7A5,5 0 0,1 17,12H21A1,1 0 0,1 22,13A1,1 0 0,1 21,14H3A1,1 0 0,1 2,13A1,1 0 0,1 3,12M15,12A3,3 0 0,0 12,9A3,3 0 0,0 9,12H15M12,2L14.39,5.42C13.65,5.15 12.84,5 12,5C11.16,5 10.35,5.15 9.61,5.42L12,2M3.34,7L7.5,6.65C6.9,7.16 6.36,7.78 5.94,8.5C5.5,9.24 5.25,10 5.11,10.79L3.34,7M20.65,7L18.88,10.79C18.74,10 18.47,9.23 18.05,8.5C17.63,7.78 17.1,7.15 16.5,6.64L20.65,7M12.71,16.3L15.82,19.41C16.21,19.8 16.21,20.43 15.82,20.82C15.43,21.21 14.8,21.21 14.41,20.82L12,18.41L9.59,20.82C9.2,21.21 8.57,21.21 8.18,20.82C7.79,20.43 7.79,19.8 8.18,19.41L11.29,16.3C11.5,16.1 11.74,16 12,16C12.26,16 12.5,16.1 12.71,16.3Z\";\r\nexport var mdiWeatherTornado = \"M21,5H3A1,1 0 0,1 2,4A1,1 0 0,1 3,3H21A1,1 0 0,1 22,4A1,1 0 0,1 21,5M20,8A1,1 0 0,0 19,7H5A1,1 0 0,0 4,8A1,1 0 0,0 5,9H19A1,1 0 0,0 20,8M21,12A1,1 0 0,0 20,11H10A1,1 0 0,0 9,12A1,1 0 0,0 10,13H20A1,1 0 0,0 21,12M16,16A1,1 0 0,0 15,15H9A1,1 0 0,0 8,16A1,1 0 0,0 9,17H15A1,1 0 0,0 16,16M13,20A1,1 0 0,0 12,19H10A1,1 0 0,0 9,20A1,1 0 0,0 10,21H12A1,1 0 0,0 13,20Z\";\r\nexport var mdiWeatherWindy = \"M4,10A1,1 0 0,1 3,9A1,1 0 0,1 4,8H12A2,2 0 0,0 14,6A2,2 0 0,0 12,4C11.45,4 10.95,4.22 10.59,4.59C10.2,5 9.56,5 9.17,4.59C8.78,4.2 8.78,3.56 9.17,3.17C9.9,2.45 10.9,2 12,2A4,4 0 0,1 16,6A4,4 0 0,1 12,10H4M19,12A1,1 0 0,0 20,11A1,1 0 0,0 19,10C18.72,10 18.47,10.11 18.29,10.29C17.9,10.68 17.27,10.68 16.88,10.29C16.5,9.9 16.5,9.27 16.88,8.88C17.42,8.34 18.17,8 19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14H5A1,1 0 0,1 4,13A1,1 0 0,1 5,12H19M18,18H4A1,1 0 0,1 3,17A1,1 0 0,1 4,16H18A3,3 0 0,1 21,19A3,3 0 0,1 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20A1,1 0 0,0 19,19A1,1 0 0,0 18,18Z\";\r\nexport var mdiWeatherWindyVariant = \"M6,6L6.69,6.06C7.32,3.72 9.46,2 12,2A5.5,5.5 0 0,1 17.5,7.5L17.42,8.45C17.88,8.16 18.42,8 19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14H6A4,4 0 0,1 2,10A4,4 0 0,1 6,6M6,8A2,2 0 0,0 4,10A2,2 0 0,0 6,12H19A1,1 0 0,0 20,11A1,1 0 0,0 19,10H15.5V7.5A3.5,3.5 0 0,0 12,4A3.5,3.5 0 0,0 8.5,7.5V8H6M18,18H4A1,1 0 0,1 3,17A1,1 0 0,1 4,16H18A3,3 0 0,1 21,19A3,3 0 0,1 18,22C17.17,22 16.42,21.66 15.88,21.12C15.5,20.73 15.5,20.1 15.88,19.71C16.27,19.32 16.9,19.32 17.29,19.71C17.47,19.89 17.72,20 18,20A1,1 0 0,0 19,19A1,1 0 0,0 18,18Z\";\r\nexport var mdiWeb = \"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\";\r\nexport var mdiWebBox = \"M8.95 13.4H6.58A5.5 5.5 0 0 1 6.58 10.6H8.95A11.56 11.56 0 0 0 8.85 12A11.56 11.56 0 0 0 8.95 13.4M7.16 9.2H9.2A12.06 12.06 0 0 1 10.18 6.71A5.55 5.55 0 0 0 7.16 9.2M16.84 9.2A5.59 5.59 0 0 0 13.81 6.71A10.95 10.95 0 0 1 14.78 9.2M12 17.57A9.5 9.5 0 0 0 13.34 14.8H10.66A9.5 9.5 0 0 0 12 17.57M12 6.42A9.53 9.53 0 0 0 10.66 9.2H13.34A9.53 9.53 0 0 0 12 6.42M7.16 14.8A5.61 5.61 0 0 0 10.18 17.29A12.06 12.06 0 0 1 9.2 14.8M21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19A2 2 0 0 1 21 5M19 12A7 7 0 1 0 12 19A7 7 0 0 0 19 12M15.15 12A11.56 11.56 0 0 1 15.05 13.4H17.42A5.5 5.5 0 0 0 17.42 10.6H15.05A11.56 11.56 0 0 1 15.15 12M13.81 17.29A5.62 5.62 0 0 0 16.84 14.8H14.78A10.95 10.95 0 0 1 13.81 17.29M10.36 10.6A8.81 8.81 0 0 0 10.36 13.4H13.64A10.3 10.3 0 0 0 13.75 12A10.21 10.21 0 0 0 13.64 10.6Z\";\r\nexport var mdiWebCancel = \"M13.82 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.46C15 12.96 15.72 12.57 16.5 12.32C16.5 12.21 16.5 12.11 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.06 20 12.12 20 12.18C20.7 12.35 21.35 12.63 21.95 13C22 12.68 22 12.34 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.34 22 12.68 22 13 21.95C12.59 21.29 12.29 20.55 12.13 19.75C12.09 19.82 12.05 19.89 12 19.96C11.17 18.76 10.5 17.43 10.09 16H12.5C12.81 15.25 13.26 14.58 13.82 14M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M18.5 14C16 14 14 16 14 18.5S16 23 18.5 23 23 21 23 18.5 21 14 18.5 14M18.5 21.5C16.84 21.5 15.5 20.16 15.5 18.5C15.5 17.94 15.65 17.42 15.92 17L20 21.08C19.58 21.35 19.06 21.5 18.5 21.5M21.08 20L17 15.92C17.42 15.65 17.94 15.5 18.5 15.5C20.16 15.5 21.5 16.84 21.5 18.5C21.5 19.06 21.35 19.58 21.08 20Z\";\r\nexport var mdiWebCheck = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M22.5 17.25L17.75 22L15 19L16.16 17.84L17.75 19.43L21.34 15.84L22.5 17.25Z\";\r\nexport var mdiWebClock = \"M15 12.5V16.5L18 18.5L18.75 17.25L16.5 15.75V12.5H15M22 12.39C22 12.26 22 12.13 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.13 22 12.24 22 12.37 21.97C13.43 22.62 14.67 23 16 23C19.86 23 23 19.86 23 16C23 14.68 22.62 13.44 22 12.39M19.76 10.11C19.7 10.07 19.65 10.04 19.59 10H19.74C19.75 10.03 19.75 10.07 19.76 10.11M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M9.66 10H12.41C11.16 10.75 10.15 11.88 9.57 13.24C9.53 12.83 9.5 12.42 9.5 12C9.5 11.32 9.56 10.65 9.66 10M9.4 4.44C8.8 5.55 8.35 6.75 8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M16 21C13.24 21 11 18.76 11 16S13.24 11 16 11 21 13.24 21 16 18.76 21 16 21Z\";\r\nexport var mdiWebMinus = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M23 18V20H15V18H23Z\";\r\nexport var mdiWebOff = \"M9.4 4.44C9.19 4.83 9 5.23 8.84 5.64L10.37 7.17C10.78 6.05 11.33 5 12 4.03C12.83 5.23 13.5 6.57 13.91 8H11.2L13.2 10H14.34C14.4 10.41 14.44 10.84 14.47 11.27L16.44 13.24C16.47 12.83 16.5 12.42 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12S19.9 13.36 19.74 14H17.2L20.5 17.28C21.44 15.75 22 13.94 22 12C22 6.5 17.5 2 12 2C10.06 2 8.25 2.56 6.72 3.5L8.18 5C8.57 4.77 9 4.58 9.4 4.44M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M2.39 1.73L1.11 3L4.06 5.95C2.77 7.63 2 9.73 2 12C2 17.5 6.5 22 12 22C14.28 22 16.37 21.23 18.06 19.95L20.84 22.73L22.11 21.46L2.39 1.73M5.5 7.37L6.11 8H5.08C5.2 7.78 5.34 7.58 5.5 7.37M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M9.5 12C9.5 11.8 9.5 11.61 9.53 11.42L12.11 14H9.66C9.56 13.34 9.5 12.68 9.5 12M12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.91C13.5 17.43 12.83 18.76 12 19.96M14.59 19.56C14.96 18.88 15.26 18.15 15.5 17.41L16.62 18.5C16 18.95 15.32 19.31 14.59 19.56Z\";\r\nexport var mdiWebPlus = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M23 18V20H20V23H18V20H15V18H18V15H20V18H23Z\";\r\nexport var mdiWebRefresh = \"M13.82 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.46C15 12.96 15.72 12.57 16.5 12.32C16.5 12.21 16.5 12.11 16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.06 20 12.12 20 12.18C20.7 12.35 21.35 12.63 21.95 13C22 12.68 22 12.34 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.34 22 12.68 22 13 21.95C12.59 21.29 12.29 20.55 12.13 19.75C12.09 19.82 12.05 19.89 12 19.96C11.17 18.76 10.5 17.43 10.09 16H12.5C12.81 15.25 13.26 14.58 13.82 14M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M20.83 15.67L22 14.5V18.5H18L19.77 16.73C19.32 16.28 18.69 16 18 16C16.62 16 15.5 17.12 15.5 18.5S16.62 21 18 21C18.82 21 19.54 20.61 20 20H21.71C21.12 21.47 19.68 22.5 18 22.5C15.79 22.5 14 20.71 14 18.5S15.79 14.5 18 14.5C19.11 14.5 20.11 14.95 20.83 15.67Z\";\r\nexport var mdiWebRemove = \"M16.5 12C16.5 11.32 16.44 10.66 16.36 10H19.74C19.9 10.64 20 11.31 20 12C20 12.37 19.97 12.73 19.92 13.08C20.61 13.18 21.25 13.4 21.84 13.72C21.94 13.16 22 12.59 22 12C22 6.5 17.5 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.59 22 13.16 21.94 13.72 21.84C13.26 21 13 20.03 13 19C13 18.71 13.03 18.43 13.07 18.15C12.75 18.78 12.4 19.39 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.81C14.41 14.96 15.31 14.12 16.4 13.6C16.46 13.07 16.5 12.54 16.5 12M12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09C10.5 6.57 11.17 5.23 12 4.03M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M14.34 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12S14.43 13.34 14.34 14M14.59 4.44C16.43 5.07 17.96 6.34 18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44M20.41 19L22.54 21.12L21.12 22.54L19 20.41L16.88 22.54L15.47 21.12L17.59 19L15.47 16.88L16.88 15.47L19 17.59L21.12 15.47L22.54 16.88L20.41 19Z\";\r\nexport var mdiWebSync = \"M16.5 11.74C16.5 11.15 16.43 10.58 16.36 10H19.74C19.82 10.33 19.89 10.67 19.93 11C20.65 11.07 21.34 11.23 22 11.5C21.71 6.21 17.35 2 12 2C6.47 2 2 6.5 2 12C2 17.5 6.5 22 12 22C12.87 22 13.71 21.88 14.5 21.67C13.71 20.71 13.18 19.5 13.04 18.2C12.73 18.81 12.39 19.4 12 19.96C11.17 18.76 10.5 17.43 10.09 16H13.18C13.35 15.28 13.64 14.61 14.03 14H9.66C9.56 13.34 9.5 12.68 9.5 12S9.56 10.65 9.66 10H14.34C14.43 10.65 14.5 11.32 14.5 12C14.5 12.5 14.46 13 14.4 13.5C14.97 12.76 15.68 12.17 16.5 11.74M4.26 14C4.1 13.36 4 12.69 4 12S4.1 10.64 4.26 10H7.64C7.56 10.66 7.5 11.32 7.5 12S7.56 13.34 7.64 14H4.26M5.08 16H8C8.35 17.25 8.8 18.45 9.4 19.56C7.57 18.93 6.03 17.65 5.08 16M8 8H5.08C6.03 6.34 7.57 5.06 9.4 4.44C8.8 5.55 8.35 6.75 8 8M10.09 8C10.5 6.57 11.17 5.23 12 4.03C12.83 5.23 13.5 6.57 13.91 8H10.09M18.92 8H15.97C15.65 6.75 15.19 5.55 14.59 4.44C16.43 5.07 17.96 6.34 18.92 8M23 17.5C23 18.32 22.75 19.08 22.33 19.71L21.24 18.62C21.41 18.28 21.5 17.9 21.5 17.5C21.5 16.12 20.38 15 19 15V16.5L16.75 14.25L19 12V13.5C21.21 13.5 23 15.29 23 17.5M19 18.5L21.25 20.75L19 23V21.5C16.79 21.5 15 19.71 15 17.5C15 16.68 15.25 15.92 15.67 15.29L16.76 16.38C16.59 16.72 16.5 17.1 16.5 17.5C16.5 18.88 17.62 20 19 20V18.5Z\";\r\nexport var mdiWebcam = \"M12,2A7,7 0 0,1 19,9A7,7 0 0,1 12,16A7,7 0 0,1 5,9A7,7 0 0,1 12,2M12,4A5,5 0 0,0 7,9A5,5 0 0,0 12,14A5,5 0 0,0 17,9A5,5 0 0,0 12,4M12,6A3,3 0 0,1 15,9A3,3 0 0,1 12,12A3,3 0 0,1 9,9A3,3 0 0,1 12,6M6,22A2,2 0 0,1 4,20C4,19.62 4.1,19.27 4.29,18.97L6.11,15.81C7.69,17.17 9.75,18 12,18C14.25,18 16.31,17.17 17.89,15.81L19.71,18.97C19.9,19.27 20,19.62 20,20A2,2 0 0,1 18,22H6Z\";\r\nexport var mdiWebcamOff = \"M12 6C13.66 6 15 7.34 15 9C15 9.78 14.7 10.5 14.21 11L10 6.79C10.5 6.3 11.22 6 12 6M12 4C14.76 4 17 6.24 17 9C17 10.33 16.47 11.53 15.62 12.42L17.04 13.84C18.25 12.59 19 10.88 19 9C19 5.13 15.87 2 12 2C10.12 2 8.41 2.75 7.16 3.96L8.58 5.38C9.47 4.53 10.67 4 12 4M22.11 21.46L20.84 22.73L19.46 21.35C19.1 21.75 18.58 22 18 22H6C4.89 22 4 21.11 4 20C4 19.62 4.1 19.27 4.29 18.97L6.11 15.81C7.69 17.17 9.75 18 12 18C13.21 18 14.37 17.75 15.43 17.32L13.85 15.74C13.26 15.91 12.64 16 12 16C8.13 16 5 12.87 5 9C5 8.36 5.09 7.74 5.26 7.15L1.11 3L2.39 1.73L22.11 21.46M12.1 14L7 8.9C7 8.93 7 8.97 7 9C7 11.76 9.24 14 12 14C12.03 14 12.07 14 12.1 14Z\";\r\nexport var mdiWebhook = \"M10.46,19C9,21.07 6.15,21.59 4.09,20.15C2.04,18.71 1.56,15.84 3,13.75C3.87,12.5 5.21,11.83 6.58,11.77L6.63,13.2C5.72,13.27 4.84,13.74 4.27,14.56C3.27,16 3.58,17.94 4.95,18.91C6.33,19.87 8.26,19.5 9.26,18.07C9.57,17.62 9.75,17.13 9.82,16.63V15.62L15.4,15.58L15.47,15.47C16,14.55 17.15,14.23 18.05,14.75C18.95,15.27 19.26,16.43 18.73,17.35C18.2,18.26 17.04,18.58 16.14,18.06C15.73,17.83 15.44,17.46 15.31,17.04L11.24,17.06C11.13,17.73 10.87,18.38 10.46,19M17.74,11.86C20.27,12.17 22.07,14.44 21.76,16.93C21.45,19.43 19.15,21.2 16.62,20.89C15.13,20.71 13.9,19.86 13.19,18.68L14.43,17.96C14.92,18.73 15.75,19.28 16.75,19.41C18.5,19.62 20.05,18.43 20.26,16.76C20.47,15.09 19.23,13.56 17.5,13.35C16.96,13.29 16.44,13.36 15.97,13.53L15.12,13.97L12.54,9.2H12.32C11.26,9.16 10.44,8.29 10.47,7.25C10.5,6.21 11.4,5.4 12.45,5.44C13.5,5.5 14.33,6.35 14.3,7.39C14.28,7.83 14.11,8.23 13.84,8.54L15.74,12.05C16.36,11.85 17.04,11.78 17.74,11.86M8.25,9.14C7.25,6.79 8.31,4.1 10.62,3.12C12.94,2.14 15.62,3.25 16.62,5.6C17.21,6.97 17.09,8.47 16.42,9.67L15.18,8.95C15.6,8.14 15.67,7.15 15.27,6.22C14.59,4.62 12.78,3.85 11.23,4.5C9.67,5.16 8.97,7 9.65,8.6C9.93,9.26 10.4,9.77 10.97,10.11L11.36,10.32L8.29,15.31C8.32,15.36 8.36,15.42 8.39,15.5C8.88,16.41 8.54,17.56 7.62,18.05C6.71,18.54 5.56,18.18 5.06,17.24C4.57,16.31 4.91,15.16 5.83,14.67C6.22,14.46 6.65,14.41 7.06,14.5L9.37,10.73C8.9,10.3 8.5,9.76 8.25,9.14Z\";\r\nexport var mdiWebpack = \"M20.45 17.39L12.36 21.97V18.4L17.4 15.63L20.45 17.39M21 16.89V7.31L18.04 9V15.18L21 16.89M3.55 17.39L11.64 21.96V18.4L6.6 15.63L3.55 17.39M3 16.89V7.31L5.96 9V15.18L3 16.89M3.35 6.69L11.64 2V5.45L6.33 8.37L6.28 8.39L3.35 6.69M20.65 6.69L12.36 2V5.45L17.67 8.38L17.71 8.4L20.65 6.69M11.64 17.59L6.67 14.85V9.44L11.64 12.31V17.59M12.36 17.59L17.33 14.86V9.44L12.36 12.31V17.59M7 8.81L12 6.06L17 8.81L12 11.69L7 8.81Z\";\r\nexport var mdiWebrtc = \"M12 2C14.44 2 16.5 3.75 16.91 6.07L17.75 6C20.5 6 22.75 8.24 22.75 11C22.75 12.89 21.7 14.53 20.16 15.38C20.54 16.09 20.75 16.89 20.75 17.75C20.75 20.5 18.5 22.75 15.75 22.75C14.26 22.75 12.92 22.1 12 21.06C11.08 22.1 9.74 22.75 8.25 22.75C5.5 22.75 3.25 20.5 3.25 17.75C3.25 16.89 3.47 16.09 3.84 15.38C2.3 14.53 1.25 12.89 1.25 11C1.25 8.24 3.5 6 6.25 6L7.09 6.07C7.5 3.75 9.56 2 12 2M6.75 20.25L13.66 17H17C17.55 17 18 16.55 18 16V9C18 8.45 17.55 8 17 8H7C6.45 8 6 8.45 6 9V16C6 16.55 6.45 17 7 17H7.77L6.75 20.25Z\";\r\nexport var mdiWechat = \"M9.5,4C5.36,4 2,6.69 2,10C2,11.89 3.08,13.56 4.78,14.66L4,17L6.5,15.5C7.39,15.81 8.37,16 9.41,16C9.15,15.37 9,14.7 9,14C9,10.69 12.13,8 16,8C16.19,8 16.38,8 16.56,8.03C15.54,5.69 12.78,4 9.5,4M6.5,6.5A1,1 0 0,1 7.5,7.5A1,1 0 0,1 6.5,8.5A1,1 0 0,1 5.5,7.5A1,1 0 0,1 6.5,6.5M11.5,6.5A1,1 0 0,1 12.5,7.5A1,1 0 0,1 11.5,8.5A1,1 0 0,1 10.5,7.5A1,1 0 0,1 11.5,6.5M16,9C12.69,9 10,11.24 10,14C10,16.76 12.69,19 16,19C16.67,19 17.31,18.92 17.91,18.75L20,20L19.38,18.13C20.95,17.22 22,15.71 22,14C22,11.24 19.31,9 16,9M14,11.5A1,1 0 0,1 15,12.5A1,1 0 0,1 14,13.5A1,1 0 0,1 13,12.5A1,1 0 0,1 14,11.5M18,11.5A1,1 0 0,1 19,12.5A1,1 0 0,1 18,13.5A1,1 0 0,1 17,12.5A1,1 0 0,1 18,11.5Z\";\r\nexport var mdiWeight = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5Z\";\r\nexport var mdiWeightGram = \"M19.95,10.56C19.75,9.67 18.95,9 18,9H15.46C15.81,8.41 16,7.73 16,7A4,4 0 0,0 12,3A4,4 0 0,0 8,7C8,7.73 8.19,8.41 8.54,9H6C5.05,9 4.25,9.67 4.05,10.56C2.04,18.57 2,18.78 2,19A2,2 0 0,0 4,21H20A2,2 0 0,0 22,19C22,18.78 21.96,18.57 19.95,10.56M12,5A2,2 0 0,1 14,7A2,2 0 0,1 12,9A2,2 0 0,1 10,7A2,2 0 0,1 12,5M15,13H11V17H13V14H15V19H11C9.89,19 9,18.11 9,17V13C9,11.89 9.89,11 11,11H15V13Z\";\r\nexport var mdiWeightKilogram = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M6,11V19H8V16.5L9,17.5V19H11V17L9,15L11,13V11H9V12.5L8,13.5V11H6M15,11C13.89,11 13,11.89 13,13V17C13,18.11 13.89,19 15,19H18V14H16V17H15V13H18V11H15Z\";\r\nexport var mdiWeightLifter = \"M12 5C10.89 5 10 5.89 10 7S10.89 9 12 9 14 8.11 14 7 13.11 5 12 5M22 1V6H20V4H4V6H2V1H4V3H20V1H22M15 11.26V23H13V18H11V23H9V11.26C6.93 10.17 5.5 8 5.5 5.5L5.5 5H7.5L7.5 5.5C7.5 8 9.5 10 12 10S16.5 8 16.5 5.5L16.5 5H18.5L18.5 5.5C18.5 8 17.07 10.17 15 11.26Z\";\r\nexport var mdiWeightPound = \"M12,3A4,4 0 0,1 16,7C16,7.73 15.81,8.41 15.46,9H18C18.95,9 19.75,9.67 19.95,10.56C21.96,18.57 22,18.78 22,19A2,2 0 0,1 20,21H4A2,2 0 0,1 2,19C2,18.78 2.04,18.57 4.05,10.56C4.25,9.67 5.05,9 6,9H8.54C8.19,8.41 8,7.73 8,7A4,4 0 0,1 12,3M12,5A2,2 0 0,0 10,7A2,2 0 0,0 12,9A2,2 0 0,0 14,7A2,2 0 0,0 12,5M6,11V19H11V17H8V11H6M13,11V19H16C17.11,19 18,18.11 18,17V16.5C18,15.93 17.75,15.38 17.32,15C17.75,14.62 18,14.07 18,13.5V13C18,11.89 17.11,11 16,11H13M15,13H16V14H15V13M15,16H16V17H15V16Z\";\r\nexport var mdiWhatsapp = \"M12.04 2C6.58 2 2.13 6.45 2.13 11.91C2.13 13.66 2.59 15.36 3.45 16.86L2.05 22L7.3 20.62C8.75 21.41 10.38 21.83 12.04 21.83C17.5 21.83 21.95 17.38 21.95 11.92C21.95 9.27 20.92 6.78 19.05 4.91C17.18 3.03 14.69 2 12.04 2M12.05 3.67C14.25 3.67 16.31 4.53 17.87 6.09C19.42 7.65 20.28 9.72 20.28 11.92C20.28 16.46 16.58 20.15 12.04 20.15C10.56 20.15 9.11 19.76 7.85 19L7.55 18.83L4.43 19.65L5.26 16.61L5.06 16.29C4.24 15 3.8 13.47 3.8 11.91C3.81 7.37 7.5 3.67 12.05 3.67M8.53 7.33C8.37 7.33 8.1 7.39 7.87 7.64C7.65 7.89 7 8.5 7 9.71C7 10.93 7.89 12.1 8 12.27C8.14 12.44 9.76 14.94 12.25 16C12.84 16.27 13.3 16.42 13.66 16.53C14.25 16.72 14.79 16.69 15.22 16.63C15.7 16.56 16.68 16.03 16.89 15.45C17.1 14.87 17.1 14.38 17.04 14.27C16.97 14.17 16.81 14.11 16.56 14C16.31 13.86 15.09 13.26 14.87 13.18C14.64 13.1 14.5 13.06 14.31 13.3C14.15 13.55 13.67 14.11 13.53 14.27C13.38 14.44 13.24 14.46 13 14.34C12.74 14.21 11.94 13.95 11 13.11C10.26 12.45 9.77 11.64 9.62 11.39C9.5 11.15 9.61 11 9.73 10.89C9.84 10.78 10 10.6 10.1 10.45C10.23 10.31 10.27 10.2 10.35 10.04C10.43 9.87 10.39 9.73 10.33 9.61C10.27 9.5 9.77 8.26 9.56 7.77C9.36 7.29 9.16 7.35 9 7.34C8.86 7.34 8.7 7.33 8.53 7.33Z\";\r\nexport var mdiWheelBarrow = \"M18 15.5C18.83 15.5 19.5 16.17 19.5 17S18.83 18.5 18 18.5 16.5 17.83 16.5 17 17.17 15.5 18 15.5M18 14C16.34 14 15 15.34 15 17S16.34 20 18 20C19.66 20 21 18.66 21 17S19.66 14 18 14M7 8L5 5H2V7H5.13L8 11.3V20H10L12.57 15H14.55C15.25 13.81 16.5 13 18 13C18.88 13 19.69 13.29 20.35 13.78L22 8H7M9.39 19H9V12.8L9.87 14.11C10.23 14.64 10.82 14.96 11.45 15L9.39 19Z\";\r\nexport var mdiWheelchair = \"M14 16L15.32 17.76C14.32 19.68 12.31 21 10 21C6.69 21 4 18.31 4 15C4 12.57 5.46 10.5 7.55 9.55L7.76 11.72C6.71 12.44 6 13.63 6 15C6 17.21 7.79 19 10 19C11.86 19 13.41 17.72 13.86 16H14M19.55 16.11L18.3 16.73L15.5 13H10.91L10.71 11H14V9H10.5L10.2 6C11.21 5.88 12 5.04 12 4C12 2.9 11.11 2 10 2S8 2.9 8 4C8 4.03 8 4.07 8 4.1H8L9.1 15H14.5L17.7 19.27L20.45 17.9L19.55 16.11Z\";\r\nexport var mdiWheelchairAccessibility = \"M18.4,11.2L14.3,11.4L16.6,8.8C16.8,8.5 16.9,8 16.8,7.5C16.7,7.2 16.6,6.9 16.3,6.7L10.9,3.5C10.5,3.2 9.9,3.3 9.5,3.6L6.8,6.1C6.3,6.6 6.2,7.3 6.7,7.8C7.1,8.3 7.9,8.3 8.4,7.9L10.4,6.1L12.3,7.2L8.1,11.5C8,11.6 8,11.7 7.9,11.7C7.4,11.9 6.9,12.1 6.5,12.4L8,13.9C8.5,13.7 9,13.5 9.5,13.5C11.4,13.5 13,15.1 13,17C13,17.6 12.9,18.1 12.6,18.5L14.1,20C14.7,19.1 15,18.1 15,17C15,15.8 14.6,14.6 13.9,13.7L17.2,13.4L17,18.2C16.9,18.9 17.4,19.4 18.1,19.5H18.2C18.8,19.5 19.3,19 19.4,18.4L19.6,12.5C19.6,12.2 19.5,11.8 19.3,11.6C19,11.3 18.7,11.2 18.4,11.2M18,5.5A2,2 0 0,0 20,3.5A2,2 0 0,0 18,1.5A2,2 0 0,0 16,3.5A2,2 0 0,0 18,5.5M12.5,21.6C11.6,22.2 10.6,22.5 9.5,22.5C6.5,22.5 4,20 4,17C4,15.9 4.3,14.9 4.9,14L6.4,15.5C6.2,16 6,16.5 6,17C6,18.9 7.6,20.5 9.5,20.5C10.1,20.5 10.6,20.4 11,20.1L12.5,21.6Z\";\r\nexport var mdiWhistle = \"M8.5,9A6.5,6.5 0 0,0 2,15.5A6.5,6.5 0 0,0 8.5,22A6.5,6.5 0 0,0 15,15.5V13.91L22,12V9H11V11H9V9H8.5M11,2V7H9V2H11M6.35,7.28C5.68,7.44 5.04,7.68 4.43,8L2.14,4.88L3.76,3.7L6.35,7.28M17.86,4.88L16.32,7H13.85L16.24,3.7L17.86,4.88Z\";\r\nexport var mdiWhistleOutline = \"M3.76 3.7L2.14 4.88L4.43 8A8.23 8.23 0 0 1 6.35 7.28M11 9V11H18V11.29L13 12.71V15.5A4.5 4.5 0 1 1 8.5 11H9V9H8.5A6.5 6.5 0 1 0 15 15.5V13.91L22 12V9M16.24 3.7L13.85 7H16.32L17.86 4.88M9 2V7H11V2Z\";\r\nexport var mdiWhiteBalanceAuto = \"M10.3,16L9.6,14H6.4L5.7,16H3.8L7,7H9L12.2,16M22,7L20.8,13.29L19.3,7H17.7L16.21,13.29L15,7H14.24C12.77,5.17 10.5,4 8,4A8,8 0 0,0 0,12A8,8 0 0,0 8,20C11.13,20 13.84,18.19 15.15,15.57L15.25,16H17L18.5,9.9L20,16H21.75L23.8,7M6.85,12.65H9.15L8,9L6.85,12.65Z\";\r\nexport var mdiWhiteBalanceIncandescent = \"M17.24,18.15L19.04,19.95L20.45,18.53L18.66,16.74M20,12.5H23V10.5H20M15,6.31V1.5H9V6.31C7.21,7.35 6,9.28 6,11.5A6,6 0 0,0 12,17.5A6,6 0 0,0 18,11.5C18,9.28 16.79,7.35 15,6.31M4,10.5H1V12.5H4M11,22.45C11.32,22.45 13,22.45 13,22.45V19.5H11M3.55,18.53L4.96,19.95L6.76,18.15L5.34,16.74L3.55,18.53Z\";\r\nexport var mdiWhiteBalanceIridescent = \"M4.96,19.95L6.76,18.15L5.34,16.74L3.55,18.53M3.55,4.46L5.34,6.26L6.76,4.84L4.96,3.05M20.45,18.53L18.66,16.74L17.24,18.15L19.04,19.95M13,22.45V19.5H11V22.45C11.32,22.45 13,22.45 13,22.45M19.04,3.05L17.24,4.84L18.66,6.26L20.45,4.46M11,3.5H13V0.55H11M5,14.5H19V8.5H5V14.5Z\";\r\nexport var mdiWhiteBalanceSunny = \"M3.55 19.09L4.96 20.5L6.76 18.71L5.34 17.29M12 6C8.69 6 6 8.69 6 12S8.69 18 12 18 18 15.31 18 12C18 8.68 15.31 6 12 6M20 13H23V11H20M17.24 18.71L19.04 20.5L20.45 19.09L18.66 17.29M20.45 5L19.04 3.6L17.24 5.39L18.66 6.81M13 1H11V4H13M6.76 5.39L4.96 3.6L3.55 5L5.34 6.81L6.76 5.39M1 13H4V11H1M13 20H11V23H13\";\r\nexport var mdiWidgets = \"M3,3H11V7.34L16.66,1.69L22.31,7.34L16.66,13H21V21H13V13H16.66L11,7.34V11H3V3M3,13H11V21H3V13Z\";\r\nexport var mdiWidgetsOutline = \"M16.7 4.5L19.5 7.3L16.7 10.1L13.9 7.3L16.7 4.5M9 5V9H5V5H9M19 15V19H15V15H19M16.7 1.7L11 7.3L16.7 13H13V21H21V13H16.7L22.3 7.3L16.7 1.7M11 3H3V11H11V3M9 15V19H5V15H9M11 13H3V21H11V13Z\";\r\nexport var mdiWifi = \"M12,21L15.6,16.2C14.6,15.45 13.35,15 12,15C10.65,15 9.4,15.45 8.4,16.2L12,21M12,3C7.95,3 4.21,4.34 1.2,6.6L3,9C5.5,7.12 8.62,6 12,6C15.38,6 18.5,7.12 21,9L22.8,6.6C19.79,4.34 16.05,3 12,3M12,9C9.3,9 6.81,9.89 4.8,11.4L6.6,13.8C8.1,12.67 9.97,12 12,12C14.03,12 15.9,12.67 17.4,13.8L19.2,11.4C17.19,9.89 14.7,9 12,9Z\";\r\nexport var mdiWifiAlert = \"M20.24 5H18V7.25C16.16 6.45 14.13 6 12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3C14.97 3 17.77 3.73 20.24 5M8.4 16.2L12 21L15.6 16.2C14.6 15.45 13.35 15 12 15S9.4 15.45 8.4 16.2M4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12S15.9 12.67 17.4 13.8L18 13V10.62C16.23 9.59 14.19 9 12 9C9.3 9 6.81 9.89 4.8 11.4M20 17H22V15H20V17M20 7V13H22V7H20Z\";\r\nexport var mdiWifiArrowDown = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M20 16H18V20H16L19 23L22 20H20V16Z\";\r\nexport var mdiWifiArrowLeft = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M18 16L15 19L18 22V20H22V18H18V16Z\";\r\nexport var mdiWifiArrowLeftRight = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M18 18.5L15 21L18 23.5V22H22V20H18V18.5M23 17L20 14.5V16H16V18H20V19.5L23 17Z\";\r\nexport var mdiWifiArrowRight = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M23 19L20 16V18H16V20H20V22L23 19Z\";\r\nexport var mdiWifiArrowUp = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16 18H18V22H20V18H22L19 15L16 18Z\";\r\nexport var mdiWifiArrowUpDown = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M17 15L14.5 18H16V22H18V18H19.5L17 15M22 20V16H20V20H18.5L21 23L23.5 20H22Z\";\r\nexport var mdiWifiCancel = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M15.53 12.72C16.42 12.26 17.43 12 18.5 12C18.58 12 18.66 12 18.74 12L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.26 12 14.45 12.26 15.53 12.72M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.34 20.54C12.13 19.9 12 19.22 12 18.5C12 17.24 12.36 16.08 13 15.08C12.66 15.03 12.33 15 12 15M23 18.5C23 21 21 23 18.5 23S14 21 14 18.5 16 14 18.5 14 23 16 23 18.5M20 21.08L15.92 17C15.65 17.42 15.5 17.94 15.5 18.5C15.5 20.16 16.84 21.5 18.5 21.5C19.06 21.5 19.58 21.35 20 21.08M21.5 18.5C21.5 16.84 20.16 15.5 18.5 15.5C17.94 15.5 17.42 15.65 17 15.92L21.08 20C21.35 19.58 21.5 19.06 21.5 18.5Z\";\r\nexport var mdiWifiCheck = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M17.75 19.43L16.16 17.84L15 19L17.75 22L22.5 17.25L21.34 15.84L17.75 19.43Z\";\r\nexport var mdiWifiCog = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L18.74 12C17.66 12.05 16.63 12.33 15.73 12.81C14.6 12.29 13.33 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.22 20.71C12.08 20.16 12 19.59 12 19C12 17.57 12.43 16.24 13.17 15.13C12.79 15.05 12.4 15 12 15M23.8 20.4C23.9 20.4 23.9 20.5 23.8 20.6L22.8 22.3C22.7 22.4 22.6 22.4 22.5 22.4L21.3 22C21 22.2 20.8 22.3 20.5 22.5L20.3 23.8C20.3 23.9 20.2 24 20.1 24H18.1C18 24 17.9 23.9 17.8 23.8L17.6 22.5C17.3 22.4 17 22.2 16.8 22L15.6 22.5C15.5 22.5 15.4 22.5 15.3 22.4L14.3 20.7C14.2 20.6 14.3 20.5 14.4 20.4L15.5 19.6V18.6L14.4 17.8C14.3 17.7 14.3 17.6 14.3 17.5L15.3 15.8C15.4 15.7 15.5 15.7 15.6 15.7L16.8 16.2C17.1 16 17.3 15.9 17.6 15.7L17.8 14.4C17.8 14.3 17.9 14.2 18.1 14.2H20.1C20.2 14.2 20.3 14.3 20.3 14.4L20.5 15.7C20.8 15.8 21.1 16 21.4 16.2L22.6 15.7C22.7 15.7 22.9 15.7 22.9 15.8L23.9 17.5C24 17.6 23.9 17.7 23.8 17.8L22.7 18.6V19.6L23.8 20.4M20.5 19C20.5 18.2 19.8 17.5 19 17.5S17.5 18.2 17.5 19 18.2 20.5 19 20.5 20.5 19.8 20.5 19Z\";\r\nexport var mdiWifiLock = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M17.4 10.29C15.77 9.47 13.94 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.97 12 13.9 12.16 14.78 12.44C15.34 11.45 16.27 10.68 17.4 10.29M8.4 16.2L12 21L13 19.67V17.2C13 16.5 13.27 15.81 13.7 15.26C13.16 15.1 12.59 15 12 15C10.65 15 9.4 15.45 8.4 16.2M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiLockOpen = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M16.31 9.81C14.97 9.29 13.5 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.83 12 13.63 12.12 14.39 12.33C14.7 11.3 15.38 10.41 16.31 9.81M8.4 16.2L12 21L13 19.67V17.2C13 16.5 13.27 15.81 13.7 15.26C13.16 15.1 12.59 15 12 15C10.65 15 9.4 15.45 8.4 16.2M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiMarker = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M13 15.09C12.69 15.03 12.35 15 12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.8 18.6C13.33 17.58 13 16.5 13 15.5C13 15.36 13 15.23 13 15.09M12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C12.73 12 13.43 12.09 14.1 12.25C14.86 11.25 15.93 10.5 17.17 10.18C15.6 9.43 13.85 9 12 9M22 15.5C22 18.1 18.5 22 18.5 22S15 18.1 15 15.5C15 13.6 16.6 12 18.5 12S22 13.6 22 15.5M19.7 15.6C19.7 15 19.1 14.4 18.5 14.4S17.3 14.9 17.3 15.6C17.3 16.2 17.8 16.8 18.5 16.8S19.8 16.2 19.7 15.6Z\";\r\nexport var mdiWifiMinus = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M15 18V20H23V18H15Z\";\r\nexport var mdiWifiOff = \"M2.28,3L1,4.27L2.47,5.74C2.04,6 1.61,6.29 1.2,6.6L3,9C3.53,8.6 4.08,8.25 4.66,7.93L6.89,10.16C6.15,10.5 5.44,10.91 4.8,11.4L6.6,13.8C7.38,13.22 8.26,12.77 9.2,12.47L11.75,15C10.5,15.07 9.34,15.5 8.4,16.2L12,21L14.46,17.73L17.74,21L19,19.72M12,3C9.85,3 7.8,3.38 5.9,4.07L8.29,6.47C9.5,6.16 10.72,6 12,6C15.38,6 18.5,7.11 21,9L22.8,6.6C19.79,4.34 16.06,3 12,3M12,9C11.62,9 11.25,9 10.88,9.05L14.07,12.25C15.29,12.53 16.43,13.07 17.4,13.8L19.2,11.4C17.2,9.89 14.7,9 12,9Z\";\r\nexport var mdiWifiPlus = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M16.84 13.41C17.18 13.27 17.55 13.17 17.92 13.1L19.2 11.4C17.19 9.89 14.7 9 12 9S6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.78 12 15.44 12.5 16.84 13.41M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z\";\r\nexport var mdiWifiRefresh = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L18.74 12C18.66 12 18.58 12 18.5 12C17.43 12 16.42 12.26 15.53 12.72C14.45 12.26 13.26 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L12.34 20.54C12.13 19.9 12 19.22 12 18.5C12 17.24 12.36 16.08 13 15.08C12.66 15.03 12.33 15 12 15M18 14.5C15.79 14.5 14 16.29 14 18.5S15.79 22.5 18 22.5C19.68 22.5 21.12 21.47 21.71 20H20C19.54 20.61 18.82 21 18 21C16.62 21 15.5 19.88 15.5 18.5S16.62 16 18 16C18.69 16 19.32 16.28 19.77 16.73L18 18.5H22V14.5L20.83 15.67C20.11 14.95 19.11 14.5 18 14.5Z\";\r\nexport var mdiWifiRemove = \"M12 12C9.97 12 8.1 12.67 6.6 13.8L4.8 11.4C6.81 9.89 9.3 9 12 9S17.19 9.89 19.2 11.4L17.92 13.1C17.55 13.17 17.18 13.27 16.84 13.41C15.44 12.5 13.78 12 12 12M21 9L22.8 6.6C19.79 4.34 16.05 3 12 3S4.21 4.34 1.2 6.6L3 9C5.5 7.12 8.62 6 12 6S18.5 7.12 21 9M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.04 19.61C13 19.41 13 19.21 13 19C13 17.66 13.44 16.43 14.19 15.43C13.5 15.16 12.77 15 12 15M21.12 15.46L19 17.59L16.88 15.47L15.47 16.88L17.59 19L15.47 21.12L16.88 22.54L19 20.41L21.12 22.54L22.54 21.12L20.41 19L22.54 16.88L21.12 15.46Z\";\r\nexport var mdiWifiSettings = \"M12 20L8.4 15.2C9.4 14.45 10.65 14 12 14S14.6 14.45 15.6 15.2L12 20M4.8 10.4L6.6 12.8C8.1 11.67 9.97 11 12 11S15.9 11.67 17.4 12.8L19.2 10.4C17.19 8.89 14.7 8 12 8S6.81 8.89 4.8 10.4M12 2C7.95 2 4.21 3.34 1.2 5.6L3 8C5.5 6.12 8.62 5 12 5S18.5 6.12 21 8L22.8 5.6C19.79 3.34 16.05 2 12 2M7 24H9V22H7V24M15 24H17V22H15V24M11 24H13V22H11V24Z\";\r\nexport var mdiWifiStar = \"M12,6C8.6,6 5.5,7.1 3,9L1.2,6.6C4.2,4.3 8,3 12,3C16,3 19.8,4.3 22.8,6.6L21,9C18.5,7.1 15.4,6 12,6M13,19C13,17.7 13.4,16.4 14.2,15.4C13.5,15.2 12.8,15 12,15C10.7,15 9.4,15.5 8.4,16.2L12,21L13,19.6C13,19.4 13,19.2 13,19M16.8,13.4C17.1,13.3 17.5,13.2 17.9,13.1L19.2,11.4C17.2,9.9 14.7,9 12,9C9.3,9 6.8,9.9 4.8,11.4L6.6,13.8C8.1,12.7 10,12 12,12C13.8,12 15.4,12.5 16.8,13.4M16.5,22.6L17.2,19.8L15,17.9L17.9,17.7L19,15L20.1,17.6L23,17.8L20.8,19.7L21.5,22.5L19,21.1L16.5,22.6Z\";\r\nexport var mdiWifiStrength1 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L15.61,13.81C14.5,13.28 13.25,13 12,13C10.75,13 9.5,13.28 8.39,13.8L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\r\nexport var mdiWifiStrength1Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L15.6 13.8C14.5 13.3 13.2 13 12 13S9.5 13.3 8.4 13.8L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength1Lock = \"M12 13C12.8 13 13.61 13.13 14.38 13.36C14.28 13.73 14.2 14.11 14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.75 10.03 18.62 10.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L8.38 13.8C9.5 13.28 10.74 13 12 13M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrength1LockOpen = \"M12 13C12.74 13 13.5 13.12 14.22 13.31C14.22 13.38 14.2 13.44 14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.16 9.11 19.42 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L8.38 13.8C9.5 13.28 10.74 13 12 13M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrength2 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L17.5,11.43C16.26,10.74 14.37,10 12,10C9.62,10 7.74,10.75 6.5,11.43L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\r\nexport var mdiWifiStrength2Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L17.5 11.4C16.3 10.7 14.4 10 12 10C9.6 10 7.7 10.8 6.5 11.4L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength2Lock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.74 10.03 18.61 10.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L6.5 11.43C7.73 10.75 9.61 10 12 10C13.68 10 15.12 10.38 16.26 10.84C15.03 11.67 14.2 13 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrength2LockOpen = \"M15.44 10.55C14.68 11.35 14.2 12.38 14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.16 9.1 19.41 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L6.5 11.43C7.73 10.75 9.61 10 12 10C13.29 10 14.45 10.23 15.44 10.55M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrength3 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L18.77,9.88C17.26,9 14.88,8 12,8C9,8 6.68,9 5.21,9.84L3.27,7.44C5.91,5.85 8.93,5 12,5Z\";\r\nexport var mdiWifiStrength3Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V9.6L18.8 9.9C17.3 9 14.9 8 12 8C9 8 6.7 9 5.2 9.8L3.3 7.4C5.9 5.8 8.9 5 12 5S18.1 5.9 20.7 7.4L20.3 8H22.9C23.1 7.7 23.5 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength3Lock = \"M19 10C19.68 10 20.32 10.14 20.91 10.39L23.64 7C20.31 4.41 16.2 3 12 3C7.78 3 3.69 4.41 .365 7C4.39 12.06 7.88 16.37 12 21.5L13 20.24V17.2C13 16.24 13.5 15.34 14.2 14.74V14.5C14.2 12.06 16.4 10 19 10M12 8C9 8 6.67 9 5.2 9.84L3.26 7.44C5.9 5.85 8.91 5 12 5S18.08 5.86 20.7 7.45L18.76 9.88C17.25 9 14.87 8 12 8M21.8 16V14.5C21.8 13.1 20.4 12 19 12S16.2 13.1 16.2 14.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16M20.5 16H17.5V14.5C17.5 13.7 18.2 13.2 19 13.2S20.5 13.7 20.5 14.5V16Z\";\r\nexport var mdiWifiStrength3LockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.86 9.33 20.17 9.11 19.42 9.04L20.7 7.45C18.08 5.86 15.06 5 12 5S5.9 5.85 3.26 7.44L5.2 9.84C6.67 9 9 8 12 8C14.18 8 16.08 8.58 17.53 9.25C15.63 9.85 14.2 11.54 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrength4 = \"M12,3C7.79,3 3.7,4.41 0.38,7C4.41,12.06 7.89,16.37 12,21.5C16.08,16.42 20.24,11.24 23.65,7C20.32,4.41 16.22,3 12,3Z\";\r\nexport var mdiWifiStrength4Alert = \"M12 3C7.8 3 3.7 4.4 .4 7C4.4 12.1 7.9 16.4 12 21.5C14.4 18.5 16.7 15.7 19 12.8V8H22.8C23 7.7 23.4 7.3 23.6 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrength4Lock = \"M14.2 14.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L20.91 10.39C20.32 10.14 19.68 10 19 10C16.4 10 14.2 12.06 14.2 14.5M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrength4LockOpen = \"M14.2 13.5V14.74C13.5 15.34 13 16.24 13 17.2V20.24L12 21.5C7.88 16.37 4.39 12.06 .365 7C3.69 4.41 7.78 3 12 3C16.2 3 20.31 4.41 23.64 7L21.5 9.69C20.75 9.26 19.9 9 19 9C16.4 9 14.2 11.06 14.2 13.5M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrengthAlertOutline = \"M12 3C7.8 3 3.7 4.4 .4 7C4.3 11.8 8.2 16.7 12 21.5C14.3 18.6 16.7 15.7 19 12.8V9.6L12 18.3L3.3 7.4C5.9 5.8 8.9 5 12 5C15.1 5 18.1 5.9 20.7 7.4L20.3 8H22.9C23.2 7.7 23.4 7.3 23.7 7C20.3 4.4 16.2 3 12 3M21 10V16H23V10M21 18V20H23V18\";\r\nexport var mdiWifiStrengthLockOpenOutline = \"M23.65 7H23.64C22.92 7.9 22.2 8.79 21.5 9.69C20.87 9.33 20.17 9.11 19.43 9.04L20.71 7.45C18.09 5.86 15.07 5 12 5C8.91 5 5.9 5.85 3.27 7.44L12 18.3L13 17C13 17.08 13 17.14 13 17.2V20.25L12 21.5C8.13 16.66 4.24 11.83 .355 7H.375C3.7 4.41 7.79 3 12 3C16.22 3 20.32 4.41 23.65 7M21.8 16H17.5V13.5C17.5 12.7 18.2 12.2 19 12.2S20.5 12.7 20.5 13.5V14H21.8V13.5C21.8 12.1 20.4 11 19 11S16.2 12.1 16.2 13.5V16C15.6 16 15 16.6 15 17.2V20.7C15 21.4 15.6 22 16.2 22H21.7C22.4 22 23 21.4 23 20.8V17.3C23 16.6 22.4 16 21.8 16Z\";\r\nexport var mdiWifiStrengthLockOutline = \"M23.65 7H23.64L20.91 10.39C20.32 10.14 19.68 10 19 10C18.87 10 18.75 10.03 18.63 10.04L20.71 7.45C18.09 5.86 15.07 5 12 5C8.91 5 5.9 5.85 3.27 7.44L12 18.3L13 17C13 17.08 13 17.14 13 17.2V20.25L12 21.5C8.13 16.66 4.24 11.83 .355 7H.375C3.7 4.41 7.79 3 12 3C16.22 3 20.32 4.41 23.65 7M23 17.3V20.8C23 21.4 22.4 22 21.7 22H16.2C15.6 22 15 21.4 15 20.7V17.2C15 16.6 15.6 16 16.2 16V14.5C16.2 13.1 17.6 12 19 12S21.8 13.1 21.8 14.5V16C22.4 16 23 16.6 23 17.3M20.5 14.5C20.5 13.7 19.8 13.2 19 13.2S17.5 13.7 17.5 14.5V16H20.5V14.5Z\";\r\nexport var mdiWifiStrengthOff = \"M3.27,1.44L2,2.72L4.05,4.77C2.75,5.37 1.5,6.11 0.38,7C4.41,12.06 12,21.5 12,21.5L15.91,16.63L19.23,19.95L20.5,18.68M12,3C10.6,3 9.21,3.17 7.86,3.5L18.18,13.81C20,11.5 22.05,9 23.65,7C20.32,4.41 16.22,3 12,3Z\";\r\nexport var mdiWifiStrengthOffOutline = \"M3.27,1.44L2,2.72L4.05,4.77C2.75,5.37 1.5,6.11 0.38,7C4.2,11.8 8.14,16.67 12,21.5L15.91,16.63L19.23,19.95L20.5,18.68C14.87,13.04 3.27,1.44 3.27,1.44M12,3C10.6,3 9.21,3.17 7.86,3.5L9.56,5.19C10.37,5.07 11.18,5 12,5C15.07,5 18.09,5.86 20.71,7.45L16.76,12.38L18.18,13.8C20.08,11.43 22,9 23.65,7C20.32,4.41 16.22,3 12,3M5.57,6.29L14.5,15.21L12,18.3L3.27,7.44C4,7 4.78,6.61 5.57,6.29Z\";\r\nexport var mdiWifiStrengthOutline = \"M12,3C7.79,3 3.7,4.41 0.38,7H0.36C4.24,11.83 8.13,16.66 12,21.5C15.89,16.66 19.77,11.83 23.64,7H23.65C20.32,4.41 16.22,3 12,3M12,5C15.07,5 18.09,5.86 20.71,7.45L12,18.3L3.27,7.44C5.9,5.85 8.92,5 12,5Z\";\r\nexport var mdiWifiSync = \"M12 6C8.62 6 5.5 7.12 3 9L1.2 6.6C4.21 4.34 7.95 3 12 3S19.79 4.34 22.8 6.6L21 9C18.5 7.12 15.38 6 12 6M12 15C10.65 15 9.4 15.45 8.4 16.2L12 21L13.26 19.32C13.1 18.74 13 18.13 13 17.5C13 16.69 13.16 15.91 13.43 15.19C12.97 15.08 12.5 15 12 15M15.23 12.61C16.19 11.77 17.38 11.22 18.7 11.05C16.78 9.76 14.5 9 12 9C9.3 9 6.81 9.89 4.8 11.4L6.6 13.8C8.1 12.67 9.97 12 12 12C13.14 12 14.23 12.22 15.23 12.61M19 20C17.62 20 16.5 18.88 16.5 17.5C16.5 17.1 16.59 16.72 16.76 16.38L15.67 15.29C15.25 15.92 15 16.68 15 17.5C15 19.71 16.79 21.5 19 21.5V23L21.25 20.75L19 18.5V20M19 13.5V12L16.75 14.25L19 16.5V15C20.38 15 21.5 16.12 21.5 17.5C21.5 17.9 21.41 18.28 21.24 18.62L22.33 19.71C22.75 19.08 23 18.32 23 17.5C23 15.29 21.21 13.5 19 13.5Z\";\r\nexport var mdiWikipedia = \"M14.97,18.95L12.41,12.92C11.39,14.91 10.27,17 9.31,18.95C9.3,18.96 8.84,18.95 8.84,18.95C7.37,15.5 5.85,12.1 4.37,8.68C4.03,7.84 2.83,6.5 2,6.5C2,6.4 2,6.18 2,6.05H7.06V6.5C6.46,6.5 5.44,6.9 5.7,7.55C6.42,9.09 8.94,15.06 9.63,16.58C10.1,15.64 11.43,13.16 12,12.11C11.55,11.23 10.13,7.93 9.71,7.11C9.39,6.57 8.58,6.5 7.96,6.5C7.96,6.35 7.97,6.25 7.96,6.06L12.42,6.07V6.47C11.81,6.5 11.24,6.71 11.5,7.29C12.1,8.53 12.45,9.42 13,10.57C13.17,10.23 14.07,8.38 14.5,7.41C14.76,6.76 14.37,6.5 13.29,6.5C13.3,6.38 13.3,6.17 13.3,6.07C14.69,6.06 16.78,6.06 17.15,6.05V6.47C16.44,6.5 15.71,6.88 15.33,7.46L13.5,11.3C13.68,11.81 15.46,15.76 15.65,16.2L19.5,7.37C19.2,6.65 18.34,6.5 18,6.5C18,6.37 18,6.2 18,6.05L22,6.08V6.1L22,6.5C21.12,6.5 20.57,7 20.25,7.75C19.45,9.54 17,15.24 15.4,18.95C15.4,18.95 14.97,18.95 14.97,18.95Z\";\r\nexport var mdiWindPower = \"M4 3H10V5H4V3M1 7H6V9H1V7M3 19H8V21H3V19M13.73 10.61C14.5 10.84 15.03 11.39 15.3 12.07L19.57 4.96C20.22 3.88 19.87 2.5 18.79 1.83C17.92 1.31 16.8 1.42 16.06 2.12L12.63 5.33C12.23 5.7 12 6.23 12 6.78V10.71C12.36 10.56 13 10.38 13.73 10.61M10.61 12.27C10.77 11.75 11.09 11.31 11.5 11H3.28C2 11 1 12 1 13.28C1 14.3 1.67 15.19 2.65 15.47L7.16 16.76C7.69 16.91 8.26 16.84 8.74 16.55L11.43 14.94C10.66 14.32 10.3 13.27 10.61 12.27M22.21 18.61L19.93 14.5C19.66 14.03 19.2 13.68 18.67 13.54L15.5 12.74C15.5 13.06 15.5 13.4 15.39 13.73C15.07 14.79 14.11 15.5 13 15.5C12.39 15.5 12 15.28 12 15.28V21C10.9 21 10 21.9 10 23H16C16 21.9 15.1 21 14 21V16.72L18.61 21.33C19.5 22.22 20.94 22.22 21.83 21.33C22.55 20.61 22.71 19.5 22.21 18.61M12.56 14.43C13.35 14.67 14.19 14.23 14.43 13.43C14.67 12.64 14.23 11.8 13.43 11.56C12.64 11.32 11.8 11.76 11.56 12.56C11.32 13.35 11.77 14.19 12.56 14.43Z\";\r\nexport var mdiWindPowerOutline = \"M4 3H10V5H4V3M1 7H6V9H1V7M3 19H8V21H3V19M22.21 18.61L19.93 14.5C19.66 14.03 19.2 13.68 18.67 13.54L16 12.87C15.96 12.4 15.84 11.95 15.61 11.54L19.57 4.95C20.22 3.87 19.87 2.47 18.79 1.82C18.43 1.6 18 1.5 17.62 1.5C17.06 1.5 16.5 1.71 16.06 2.12L12.63 5.33C12.23 5.7 12 6.23 12 6.78V10.18C11.53 10.35 11.11 10.63 10.77 11H3.28C2 11 1 12 1 13.28C1 14.3 1.67 15.19 2.65 15.47L7.16 16.76C7.34 16.81 7.53 16.84 7.71 16.84C8.07 16.84 8.43 16.74 8.74 16.55L11 15.21C11.27 15.47 11.61 15.68 12 15.82V21C10.9 21 10 21.9 10 23H16C16 21.9 15.1 21 14 21V16.72L18.61 21.33C19.06 21.78 19.64 22 20.22 22S21.39 21.78 21.83 21.33C22.55 20.61 22.71 19.5 22.21 18.61M7.72 14.84L3.2 13.55C3.08 13.5 3 13.4 3 13.28C3 13.13 3.13 13 3.28 13H10C10 13.15 10 13.3 10.04 13.44L7.72 14.84M13 14C12.45 14 12 13.55 12 13S12.45 12 13 12 14 12.45 14 13 13.55 14 13 14M14 10.14V6.78L17.43 3.57C17.5 3.5 17.62 3.45 17.77 3.53C17.9 3.61 17.95 3.78 17.87 3.91L14.13 10.15L14 10.14M20.42 19.92C20.37 19.97 20.18 20.08 20 19.92L15.17 15.07C15.25 15 15.33 14.89 15.41 14.79L18.19 15.5L20.47 19.58C20.53 19.69 20.5 19.83 20.42 19.92Z\";\r\nexport var mdiWindTurbine = \"M13.33,11.67L16.21,14.58C17.62,13.16 16.21,11.75 16.21,11.75L14.72,10.24C14.9,9.86 15,9.44 15,9C15,7.95 14.46,7.03 13.64,6.5L15,2.11C13.09,1.53 12.5,3.44 12.5,3.44L11.69,6.03C10.46,6.16 9.46,7 9.13,8.18L4.67,9.63C5.31,11.53 7.2,10.9 7.2,10.9L9.27,10.23C9.61,10.97 10.23,11.54 11,11.82V19C11,19 9,19 9,21C9,21.5 9,21.81 9,22H15V21C15,21 15,19 13,19V11.82C13.12,11.78 13.23,11.72 13.33,11.67M10.5,9A1.5,1.5 0 0,1 12,7.5A1.5,1.5 0 0,1 13.5,9A1.5,1.5 0 0,1 12,10.5A1.5,1.5 0 0,1 10.5,9Z\";\r\nexport var mdiWindTurbineAlert = \"M12.33 11.67L15.21 14.58C16.62 13.16 15.21 11.75 15.21 11.75L13.72 10.24C13.9 9.86 14 9.44 14 9C14 7.95 13.46 7.03 12.64 6.5L14 2.11C12.09 1.53 11.5 3.44 11.5 3.44L10.69 6.03C9.46 6.16 8.46 7 8.13 8.18L3.67 9.63C4.31 11.53 6.2 10.9 6.2 10.9L8.27 10.23C8.61 10.97 9.23 11.54 10 11.82V19C10 19 8 19 8 21V22H14V21C14 21 14 19 12 19V11.82C12.12 11.78 12.23 11.72 12.33 11.67M9.5 9C9.5 8.17 10.17 7.5 11 7.5S12.5 8.17 12.5 9 11.83 10.5 11 10.5 9.5 9.83 9.5 9M18 12V7H20V13H18M18 17V15H20V17H18Z\";\r\nexport var mdiWindTurbineCheck = \"M11.33 11.67L14.21 14.58C15.62 13.16 14.21 11.75 14.21 11.75L12.72 10.24C12.9 9.86 13 9.44 13 9C13 7.95 12.46 7.03 11.64 6.5L13 2.11C11.09 1.53 10.5 3.44 10.5 3.44L9.69 6.03C8.46 6.16 7.46 7 7.13 8.18L2.67 9.63C3.31 11.53 5.2 10.9 5.2 10.9L7.27 10.23C7.61 10.97 8.23 11.54 9 11.82V19C9 19 7 19 7 21V22H13V21C13 21 13 19 11 19V11.82C11.12 11.78 11.23 11.72 11.33 11.67M8.5 9C8.5 8.17 9.17 7.5 10 7.5S11.5 8.17 11.5 9 10.83 10.5 10 10.5 8.5 9.83 8.5 9M16.75 21.16L14 18.16L15.16 17L16.75 18.59L20.34 15L21.5 16.41L16.75 21.16\";\r\nexport var mdiWindowClose = \"M13.46,12L19,17.54V19H17.54L12,13.46L6.46,19H5V17.54L10.54,12L5,6.46V5H6.46L12,10.54L17.54,5H19V6.46L13.46,12Z\";\r\nexport var mdiWindowClosed = \"M6,11H10V9H14V11H18V4H6V11M18,13H6V20H18V13M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2Z\";\r\nexport var mdiWindowClosedVariant = \"M21 20V2H3V20H1V23H23V20M19 4V11H13V4M5 4H11V11H5M5 20V13H11V20M13 20V13H19V20Z\";\r\nexport var mdiWindowMaximize = \"M4,4H20V20H4V4M6,8V18H18V8H6Z\";\r\nexport var mdiWindowMinimize = \"M20,14H4V10H20\";\r\nexport var mdiWindowOpen = \"M6,8H10V6H14V8H18V4H6V8M18,10H6V15H18V10M6,20H18V17H6V20M6,2H18A2,2 0 0,1 20,4V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2Z\";\r\nexport var mdiWindowOpenVariant = \"M21 20V2H3V20H1V23H23V20M19 4V11H17V4M5 4H7V11H5M5 20V13H7V20M9 20V4H15V20M17 20V13H19V20Z\";\r\nexport var mdiWindowRestore = \"M4,8H8V4H20V16H16V20H4V8M16,8V14H18V6H10V8H16M6,12V18H14V12H6Z\";\r\nexport var mdiWindowShutter = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9M8 12H16V14H8V12M8 15H16V17H8V15M8 18H16V20H8V18Z\";\r\nexport var mdiWindowShutterAlert = \"M2 4H20V8H18V20H16V8H6V20H4V8H2V4M7 9H15V11H7V9M7 12H15V14H7V12M20 19V17H22V19H20M20 15V10H22V15H20Z\";\r\nexport var mdiWindowShutterAuto = \"M20 14H18L14.8 23H16.7L17.4 21H20.6L21.3 23H23.2L20 14M17.8 19.7L19 16L20.2 19.7H17.8M7 9H15V11H7V9M7 12H15V14H7V12M7 15H15V16.5L14.8 17H7V15M13.7 20H7V18H14.5L13.7 20M16 8H6V20H4V8H2V4H20V8H18V12H16.6L16.1 13.3L16 13.7V8Z\";\r\nexport var mdiWindowShutterCog = \"M21.7 18.6V17.6L22.8 16.8C22.9 16.7 23 16.6 22.9 16.5L21.9 14.8C21.9 14.7 21.7 14.7 21.6 14.7L20.4 15.2C20.1 15 19.8 14.8 19.5 14.7L19.3 13.4C19.3 13.3 19.2 13.2 19.1 13.2H17.1C16.9 13.2 16.8 13.3 16.8 13.4L16.6 14.7C16.3 14.9 16.1 15 15.8 15.2L14.6 14.7C14.5 14.7 14.4 14.7 14.3 14.8L13.3 16.5C13.3 16.6 13.3 16.7 13.4 16.8L14.5 17.6V18.6L13.4 19.4C13.3 19.5 13.2 19.6 13.3 19.7L14.3 21.4C14.4 21.5 14.5 21.5 14.6 21.5L15.8 21C16 21.2 16.3 21.4 16.6 21.5L16.8 22.8C16.9 22.9 17 23 17.1 23H19.1C19.2 23 19.3 22.9 19.3 22.8L19.5 21.5C19.8 21.3 20 21.2 20.3 21L21.5 21.4C21.6 21.4 21.7 21.4 21.8 21.3L22.8 19.6C22.9 19.5 22.9 19.4 22.8 19.4L21.7 18.6M18 19.5C17.2 19.5 16.5 18.8 16.5 18S17.2 16.5 18 16.5 19.5 17.2 19.5 18 18.8 19.5 18 19.5M8 9H16V11H8V9M17 8H7V20H5V8H3V4H21V8H19V11.1C18.7 11.1 18.3 11 18 11S17.3 11 17 11.1V8M11.3 20H8V18H11C11 18.7 11.1 19.4 11.3 20M8 12H14.4C13.6 12.5 12.8 13.2 12.3 14H8V12M8 15H11.7C11.4 15.6 11.2 16.3 11.1 17H8V15Z\";\r\nexport var mdiWindowShutterOpen = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9Z\";\r\nexport var mdiWindowShutterSettings = \"M3 4H21V8H19V20H17V8H7V20H5V8H3V4M8 9H16V11H8V9M8 12H16V14H8V12M8 15H16V17H8V15M8 18H16V20H8V18M13 22H11V24H13V22M17 22H15V24H17V22M9 22H7V24H9V22Z\";\r\nexport var mdiWindsock = \"M7 5V13L22 11V7L7 5M10 6.91L13 7.31V10.69L10 11.09V6.91M16 7.71L19 8.11V9.89L16 10.29V7.71M5 10V11H6V12H5V21H3V4C3 3.45 3.45 3 4 3S5 3.45 5 4V6H6V7H5V10Z\";\r\nexport var mdiWiper = \"M12,4C5,4 2,9 2,9L9,16C9,16 9.5,15.1 10.4,14.5L10.7,16.5C10.3,16.8 10,17.4 10,18A2,2 0 0,0 12,20A2,2 0 0,0 14,18C14,17.1 13.5,16.4 12.7,16.1L12.3,14C14.1,14.2 15,16 15,16L22,9C22,9 19,4 12,4M15.1,13.1C14.3,12.5 13.3,12 12,12L11,6.1C11.3,6 11.7,6 12,6C15.7,6 18.1,7.7 19.3,8.9L15.1,13.1M8.9,13.1L4.7,8.9C5.5,8 7,7 9,6.4L10,12.4C9.6,12.6 9.2,12.8 8.9,13.1Z\";\r\nexport var mdiWiperWash = \"M13,6C13,5.7 13.1,4.6 13.8,3.8L12,2.4L10.2,3.9C10.9,4.6 11,5.7 11,6C4.7,6.4 2,11 2,11L9,18C9,18 9.7,16.7 11,16.2V18.3C10.4,18.6 10,19.3 10,20A2,2 0 0,0 12,22A2,2 0 0,0 14,20C14,19.3 13.6,18.6 13,18.3V16.2C14.3,16.7 15,18 15,18L22,11C22,11 19.3,6.5 13,6M11,14.1C10.2,14.3 9.5,14.6 8.9,15.1L4.7,10.9C5.8,9.8 7.8,8.3 11,8.1V14.1M15.1,15.1C14.5,14.7 13.8,14.3 13,14.1V8.1C16.2,8.4 18.2,9.8 19.3,10.9L15.1,15.1M18,1.3L17.3,3.2C16.6,2.9 15.5,2.9 14.7,3.2L14,1.3C15.2,0.9 16.8,0.9 18,1.3M21,6H19C19,6 19,4.7 18.2,3.9L19.7,2.6C21,4 21,5.9 21,6M4.2,2.6L5.7,3.9C5,4.7 5,6 5,6H3C3,5.9 3,4 4.2,2.6M10,1.3L9.3,3.2C8.6,2.9 7.5,2.9 6.7,3.2L6,1.3C7.2,0.9 8.8,0.9 10,1.3Z\";\r\nexport var mdiWiperWashAlert = \"M11 6C11 5.7 11.1 4.6 11.8 3.8L10 2.4L8.2 3.9C8.9 4.6 9 5.7 9 6C2.7 6.4 0 11 0 11L7 18C7 18 7.7 16.7 9 16.2V18.3C8.4 18.6 8 19.3 8 20C8 21.11 8.9 22 10 22S12 21.11 12 20C12 19.3 11.6 18.6 11 18.3V16.2C12.3 16.7 13 18 13 18L20 11C20 11 17.3 6.5 11 6M9 14.1C8.2 14.3 7.5 14.6 6.9 15.1L2.7 10.9C3.8 9.8 5.8 8.3 9 8.1V14.1M13.1 15.1C12.5 14.7 11.8 14.3 11 14.1V8.1C14.2 8.4 16.2 9.8 17.3 10.9L13.1 15.1M16 1.3L15.3 3.2C14.6 2.9 13.5 2.9 12.7 3.2L12 1.3C13.2 .9 14.8 .9 16 1.3M19 6H17C17 6 17 4.7 16.2 3.9L17.7 2.6C19 4 19 5.9 19 6M2.2 2.6L3.7 3.9C3 4.7 3 6 3 6H1C1 5.9 1 4 2.2 2.6M8 1.3L7.3 3.2C6.6 2.9 5.5 2.9 4.7 3.2L4 1.3C5.2 .9 6.8 .9 8 1.3M22 12V7H24V13H22M22 17H24V15H22\";\r\nexport var mdiWizardHat = \"M21 22H3V20H21V22M19 19H5L11.1 2.6C11.3 2.2 11.6 2 12 2L18 5H13.9L19 19M10 7.5L11.04 7.97L11.5 9L11.97 7.97L13 7.5L11.97 7.03L11.5 6L11.04 7.03L10 7.5M13 15L10.94 14.07L10 12L9.07 14.07L7 15L9.07 15.93L10 18L10.94 15.93L13 15M13.97 11.97L15 11.5L13.97 11.03L13.5 10L13.04 11.03L12 11.5L13.04 11.97L13.5 13L13.97 11.97M15.97 15.97L17 15.5L15.97 15.03L15.5 14L15.04 15.03L14 15.5L15.04 15.97L15.5 17L15.97 15.97Z\";\r\nexport var mdiWordpress = \"M3.42,12C3.42,10.76 3.69,9.58 4.16,8.5L8.26,19.72C5.39,18.33 3.42,15.4 3.42,12M17.79,11.57C17.79,12.3 17.5,13.15 17.14,14.34L16.28,17.2L13.18,8L14.16,7.9C14.63,7.84 14.57,7.16 14.11,7.19C14.11,7.19 12.72,7.3 11.82,7.3L9.56,7.19C9.1,7.16 9.05,7.87 9.5,7.9L10.41,8L11.75,11.64L9.87,17.27L6.74,8L7.73,7.9C8.19,7.84 8.13,7.16 7.67,7.19C7.67,7.19 6.28,7.3 5.38,7.3L4.83,7.29C6.37,4.96 9,3.42 12,3.42C14.23,3.42 16.27,4.28 17.79,5.67H17.68C16.84,5.67 16.24,6.4 16.24,7.19C16.24,7.9 16.65,8.5 17.08,9.2C17.41,9.77 17.79,10.5 17.79,11.57M12.15,12.75L14.79,19.97L14.85,20.09C13.96,20.41 13,20.58 12,20.58C11.16,20.58 10.35,20.46 9.58,20.23L12.15,12.75M19.53,7.88C20.2,9.11 20.58,10.5 20.58,12C20.58,15.16 18.86,17.93 16.31,19.41L18.93,11.84C19.42,10.62 19.59,9.64 19.59,8.77L19.53,7.88M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,21.54C17.26,21.54 21.54,17.26 21.54,12C21.54,6.74 17.26,2.46 12,2.46C6.74,2.46 2.46,6.74 2.46,12C2.46,17.26 6.74,21.54 12,21.54Z\";\r\nexport var mdiWrap = \"M21,5H3V7H21V5M3,19H10V17H3V19M3,13H18C19,13 20,13.43 20,15C20,16.57 19,17 18,17H16V15L12,18L16,21V19H18C20.95,19 22,17.73 22,15C22,12.28 21,11 18,11H3V13Z\";\r\nexport var mdiWrapDisabled = \"M16,7H3V5H16V7M3,19H16V17H3V19M22,12L18,9V11H3V13H18V15L22,12Z\";\r\nexport var mdiWrench = \"M22.7,19L13.6,9.9C14.5,7.6 14,4.9 12.1,3C10.1,1 7.1,0.6 4.7,1.7L9,6L6,9L1.6,4.7C0.4,7.1 0.9,10.1 2.9,12.1C4.8,14 7.5,14.5 9.8,13.6L18.9,22.7C19.3,23.1 19.9,23.1 20.3,22.7L22.6,20.4C23.1,20 23.1,19.3 22.7,19Z\";\r\nexport var mdiWrenchCheck = \"M9 2C10.8 2.6 12 4.3 12 6.2C12 8.2 10.8 9.9 9 10.5V21.5C9 21.8 8.8 22 8.5 22H6.5C6.2 22 6 21.8 6 21.4V10.4C4.2 9.8 3 8.1 3 6.2S4.2 2.6 6 2V5.7H9V2M20.6 13L22 14.41L15.47 21L12 17.5L13.4 16.09L15.47 18.17L20.6 13\";\r\nexport var mdiWrenchCheckOutline = \"M9 1.09V6H7V1.09C4.16 1.57 2 4.03 2 7C2 9.22 3.21 11.15 5 12.19V21C5 21.55 5.45 22 6 22H10C10.55 22 11 21.55 11 21V12.19C12.79 11.15 14 9.22 14 7C14 4.03 11.84 1.57 9 1.09M10 10.46L9 11.04V20H7V11.04L6 10.46C4.77 9.74 4 8.42 4 7C4 6 4.37 5.06 5 4.35V8H11V4.35C11.63 5.06 12 6 12 7C12 8.42 11.23 9.74 10 10.46M21.6 13L23 14.41L16.47 21L13 17.5L14.4 16.09L16.47 18.17L21.6 13\";\r\nexport var mdiWrenchClock = \"M10 6.2C10 4.3 8.8 2.6 7 2V5.7H4V2C2.2 2.6 1 4.3 1 6.2C1 8.1 2.2 9.8 4 10.4V21.4C4 21.8 4.2 22 4.5 22H6.5C6.8 22 7 21.8 7 21.5V10.5C8.8 9.9 10 8.2 10 6.2M16 8C16 8 15.9 8 16 8C12.1 8.1 9 11.2 9 15C9 18.9 12.1 22 16 22S23 18.9 23 15 19.9 8 16 8M16 20C13.2 20 11 17.8 11 15S13.2 10 16 10 21 12.2 21 15 18.8 20 16 20M15 11V16L18.6 18.2L19.4 17L16.5 15.3V11H15Z\";\r\nexport var mdiWrenchClockOutline = \"M16 8C14.8 8.03 13.67 8.35 12.68 8.89C12.88 8.29 13 7.66 13 7C13 4.03 10.84 1.57 8 1.09V6H6V1.09C3.16 1.57 1 4.03 1 7C1 9.22 2.21 11.15 4 12.19V21C4 21.55 4.45 22 5 22H9C9.55 22 10 21.55 10 21V18.62C11.22 20.65 13.43 22 16 22C19.9 22 23 18.9 23 15S19.9 8 16 8M8 11.04V20H6V11.04L5 10.46C3.77 9.74 3 8.42 3 7C3 6 3.37 5.06 4 4.35V8H10V4.35C10.63 5.06 11 6 11 7C11 8.42 10.23 9.74 9 10.46L8 11.04M16 20C13.2 20 11 17.8 11 15S13.2 10 16 10 21 12.2 21 15 18.8 20 16 20M16.5 15.3L19.4 17L18.6 18.2L15 16V11H16.5V15.3Z\";\r\nexport var mdiWrenchCog = \"M19.94 17.94C19.96 17.79 19.97 17.65 19.97 17.5S19.96 17.2 19.94 17.05L20.91 16.32C21 16.25 21.03 16.13 20.97 16.03L20.05 14.47C20 14.37 19.86 14.33 19.76 14.37L18.61 14.82C18.37 14.65 18.12 14.5 17.83 14.38L17.66 13.19C17.64 13.08 17.54 13 17.43 13H15.58C15.46 13 15.36 13.08 15.34 13.19L15.17 14.38C14.88 14.5 14.63 14.65 14.39 14.82L13.24 14.37C13.14 14.33 13 14.37 12.96 14.47L12.03 16.03C11.97 16.13 12 16.25 12.09 16.32L13.06 17.05C13.05 17.2 13.03 17.35 13.03 17.5S13.05 17.79 13.06 17.94L12.09 18.68C12 18.75 11.97 18.87 12.03 18.97L12.96 20.53C13 20.63 13.14 20.66 13.24 20.63L14.39 20.17C14.63 20.35 14.88 20.5 15.17 20.62L15.34 21.81C15.36 21.92 15.46 22 15.58 22H17.43C17.54 22 17.64 21.92 17.66 21.81L17.83 20.62C18.12 20.5 18.37 20.35 18.61 20.17L19.76 20.63C19.86 20.66 20 20.63 20.05 20.53L20.97 18.97C21.03 18.87 21 18.75 20.91 18.68L19.94 17.94M16.5 19C15.67 19 15 18.33 15 17.5S15.67 16 16.5 16 18 16.67 18 17.5 17.33 19 16.5 19M9 2C10.8 2.6 12 4.3 12 6.2C12 8.2 10.8 9.9 9 10.5V21.5C9 21.8 8.8 22 8.5 22H6.5C6.2 22 6 21.8 6 21.4V10.4C4.2 9.8 3 8.1 3 6.2S4.2 2.6 6 2V5.7H9V2Z\";\r\nexport var mdiWrenchCogOutline = \"M9 1.09V6H7V1.09C4.16 1.57 2 4.03 2 7C2 9.22 3.21 11.15 5 12.19V21C5 21.55 5.45 22 6 22H10C10.55 22 11 21.55 11 21V12.19C12.79 11.15 14 9.22 14 7C14 4.03 11.84 1.57 9 1.09M10 10.46L9 11.04V20H7V11.04L6 10.46C4.77 9.74 4 8.42 4 7C4 6 4.37 5.06 5 4.35V8H11V4.35C11.63 5.06 12 6 12 7C12 8.42 11.23 9.74 10 10.46M20.94 17.94C20.96 17.79 20.97 17.65 20.97 17.5S20.96 17.2 20.94 17.05L21.91 16.32C22 16.25 22.03 16.13 21.97 16.03L21.05 14.47C21 14.37 20.87 14.33 20.76 14.37L19.61 14.82C19.37 14.65 19.12 14.5 18.83 14.38L18.66 13.19C18.64 13.08 18.54 13 18.43 13H16.58C16.46 13 16.36 13.08 16.34 13.19L16.17 14.38C15.88 14.5 15.63 14.65 15.39 14.82L14.24 14.37C14.14 14.33 14 14.37 13.96 14.47L13.03 16.03C12.97 16.13 13 16.25 13.09 16.32L14.06 17.05C14.05 17.2 14.03 17.35 14.03 17.5S14.05 17.79 14.06 17.94L13.09 18.68C13 18.75 12.97 18.87 13.03 18.97L13.96 20.53C14 20.63 14.14 20.66 14.24 20.63L15.39 20.17C15.63 20.35 15.88 20.5 16.17 20.62L16.34 21.81C16.36 21.92 16.46 22 16.58 22H18.43C18.54 22 18.64 21.92 18.66 21.81L18.83 20.62C19.12 20.5 19.37 20.35 19.61 20.17L20.76 20.63C20.87 20.66 21 20.63 21.05 20.53L21.97 18.97C22.03 18.87 22 18.75 21.91 18.68L20.94 17.94M17.5 19C16.67 19 16 18.33 16 17.5S16.67 16 17.5 16 19 16.67 19 17.5 18.33 19 17.5 19Z\";\r\nexport var mdiWrenchOutline = \"M22.61,19L13.53,9.91C14.46,7.57 14,4.81 12.09,2.91C9.79,0.61 6.21,0.4 3.66,2.26L7.5,6.11L6.08,7.5L2.25,3.69C0.39,6.23 0.6,9.82 2.9,12.11C4.76,13.97 7.47,14.46 9.79,13.59L18.9,22.7C19.29,23.09 19.92,23.09 20.31,22.7L22.61,20.4C23,20 23,19.39 22.61,19M19.61,20.59L10.15,11.13C9.54,11.58 8.86,11.85 8.15,11.95C6.79,12.15 5.36,11.74 4.32,10.7C3.37,9.76 2.93,8.5 3,7.26L6.09,10.35L10.33,6.11L7.24,3C8.5,2.95 9.73,3.39 10.68,4.33C11.76,5.41 12.17,6.9 11.92,8.29C11.8,9 11.5,9.66 11.04,10.25L20.5,19.7L19.61,20.59Z\";\r\nexport var mdiXamarin = \"M22.75,11.07C22.91,11.35 23,11.67 23,12C23,12.33 22.91,12.65 22.75,12.93L18.08,21C17.72,21.62 17.06,22 16.35,22H7.65C6.94,22 6.28,21.62 5.92,21L1.25,12.93C1.09,12.65 1,12.33 1,12C1,11.67 1.09,11.35 1.25,11.07L5.92,3C6.28,2.38 6.94,2 7.65,2H16.35C17.06,2 17.72,2.38 18.08,3L22.75,11.07M12,12V11.9L9.42,7.1L9.25,7H7.66L7.5,7.1V7.3L10,12L7.5,16.7V16.9L7.66,17H9.25L9.42,16.9L12,12.1V12L12.03,12.1L14.58,16.9L14.75,17H16.34L16.5,16.9V16.7L14,12L16.5,7.3V7.1L16.34,7H14.75L14.58,7.1L12.03,11.9L12,12Z\";\r\nexport var mdiXml = \"M12.89,3L14.85,3.4L11.11,21L9.15,20.6L12.89,3M19.59,12L16,8.41V5.58L22.42,12L16,18.41V15.58L19.59,12M1.58,12L8,5.58V8.41L4.41,12L8,15.58V18.41L1.58,12Z\";\r\nexport var mdiXmpp = \"M12,15.4C9.75,13.09 8,9.54 8,6C2,4 8,6 2,4C2,9.65 6.33,14.11 10.55,16.66C9.38,17.5 8.15,18 7,18C7,19 7,18 7,19C8.2,19 10.03,18.46 12,17.46C13.97,18.46 15.8,19 17,19C17,18 17,19 17,18C15.85,18 14.62,17.5 13.45,16.66C17.66,14.11 22,9.65 22,4C16,6 22,4 16,6C16,9.54 14.25,13.09 12,15.4Z\";\r\nexport var mdiYahoo = \"M10.5 7.59L8.16 13.2L5.85 7.59H2L6.29 17.23L4.75 20.7H8.5L14.24 7.59H10.5M15 12.73C13.63 12.73 12.59 13.77 12.59 15C12.59 16.17 13.59 17.16 14.93 17.16C16.32 17.16 17.36 16.13 17.36 14.9C17.36 13.69 16.36 12.73 15 12.73M17.72 3.3L13.89 11.89H18.17L22 3.3H17.72Z\";\r\nexport var mdiYeast = \"M18,14A4,4 0 0,1 22,18A4,4 0 0,1 18,22A4,4 0 0,1 14,18L14.09,17.15C14.05,16.45 13.92,15.84 13.55,15.5C13.35,15.3 13.07,15.19 12.75,15.13C11.79,15.68 10.68,16 9.5,16A6.5,6.5 0 0,1 3,9.5A6.5,6.5 0 0,1 9.5,3A6.5,6.5 0 0,1 16,9.5C16,10.68 15.68,11.79 15.13,12.75C15.19,13.07 15.3,13.35 15.5,13.55C15.84,13.92 16.45,14.05 17.15,14.09L18,14M7.5,10A1.5,1.5 0 0,1 9,11.5A1.5,1.5 0 0,1 7.5,13A1.5,1.5 0 0,1 6,11.5A1.5,1.5 0 0,1 7.5,10M9.5,5C7,5 5,7 5,9.5C5,12 7,14 9.5,14C12,14 14,12 14,9.5C14,7 12,5 9.5,5Z\";\r\nexport var mdiYinYang = \"M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20A4,4 0 0,1 8,16A4,4 0 0,1 12,12A4,4 0 0,0 16,8A4,4 0 0,0 12,4M12,6.5A1.5,1.5 0 0,1 13.5,8A1.5,1.5 0 0,1 12,9.5A1.5,1.5 0 0,1 10.5,8A1.5,1.5 0 0,1 12,6.5M12,14.5A1.5,1.5 0 0,0 10.5,16A1.5,1.5 0 0,0 12,17.5A1.5,1.5 0 0,0 13.5,16A1.5,1.5 0 0,0 12,14.5Z\";\r\nexport var mdiYoga = \"M13 2C11.9 2 11 2.9 11 4C11 5.11 11.9 6 13 6C14.11 6 15 5.11 15 4C15 2.9 14.11 2 13 2M4 7V9H10V15L4.93 20.07L6.34 21.5L13.06 14.77L17 17.13V21H19V16.57C19 16.21 18.82 15.89 18.5 15.71L15 13.6V9H21V7H4Z\";\r\nexport var mdiYoutube = \"M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\";\r\nexport var mdiYoutubeGaming = \"M22 13V8L17 5L12 8L7 5L2 8V13L12 19L22 13M9 11H7V13H6V11H4V10H6V8H7V10H9V11M15 13C14.45 13 14 12.55 14 12S14.45 11 15 11 16 11.45 16 12 15.55 13 15 13M18 11C17.45 11 17 10.55 17 10S17.45 9 18 9 19 9.45 19 10 18.55 11 18 11Z\";\r\nexport var mdiYoutubeStudio = \"M10,15L15,12L10,9V15M19.45,13L21.56,14.63C21.78,14.78 21.81,15 21.66,15.28L19.64,18.75C19.5,18.97 19.31,19.03 19.03,18.94L16.55,17.95C15.89,18.42 15.33,18.75 14.86,18.94L14.5,21.56C14.42,21.84 14.27,22 14,22H10C9.73,22 9.58,21.84 9.5,21.56L9.14,18.94C8.55,18.69 8,18.36 7.45,17.95L4.97,18.94C4.69,19.03 4.5,18.97 4.36,18.75L2.34,15.28C2.19,15 2.22,14.78 2.44,14.63L4.55,13C4.5,12.77 4.5,12.44 4.5,12C4.5,11.56 4.5,11.23 4.55,11L2.44,9.38C2.22,9.22 2.19,9 2.34,8.72L4.36,5.25C4.5,5.03 4.69,4.97 4.97,5.06L7.45,6.05C8.11,5.58 8.67,5.25 9.14,5.06L9.5,2.44C9.58,2.16 9.73,2 10,2H14C14.27,2 14.42,2.16 14.5,2.44L14.86,5.06C15.45,5.31 16,5.64 16.55,6.05L19.03,5.06C19.31,4.97 19.5,5.03 19.64,5.25L21.66,8.72C21.81,9 21.78,9.22 21.56,9.38L19.45,11C19.5,11.23 19.5,11.56 19.5,12C19.5,12.44 19.5,12.77 19.45,13Z\";\r\nexport var mdiYoutubeSubscription = \"M20,8H4V6H20V8M18,2H6V4H18V2M22,12V20A2,2 0 0,1 20,22H4A2,2 0 0,1 2,20V12A2,2 0 0,1 4,10H20A2,2 0 0,1 22,12M16,16L10,12.73V19.26L16,16Z\";\r\nexport var mdiYoutubeTv = \"M2.5,4.5H21.5C22.34,4.5 23,5.15 23,6V17.5C23,18.35 22.34,19 21.5,19H2.5C1.65,19 1,18.35 1,17.5V6C1,5.15 1.65,4.5 2.5,4.5M9.71,8.5V15L15.42,11.7L9.71,8.5M17.25,21H6.65C6.35,21 6.15,20.8 6.15,20.5C6.15,20.2 6.35,20 6.65,20H17.35C17.65,20 17.85,20.2 17.85,20.5C17.85,20.8 17.55,21 17.25,21Z\";\r\nexport var mdiYurt = \"M22 14.87V22H14V16H10V22H2V14.87C2 14.33 2.29 13.83 2.76 13.57L8.66 10.2C8.88 10.07 9.14 10 9.4 10H12.5V9H14V10H14.59C14.85 10 15.11 10.07 15.33 10.2L21.23 13.57C21.71 13.84 22 14.33 22 14.87M7.86 6.25H9.4C10.73 6.25 11.92 6.95 12.5 8H14C13.6 6.2 12 4.85 10.1 4.85V3.35C11.1 3.35 11.95 2.5 11.95 1.5V1H7.86V2.5C6.86 2.5 6 3.23 6 4.25S6.86 6.25 7.86 6.25Z\";\r\nexport var mdiZWave = \"M16.3,10.58C13.14,10.58 10.6,13.13 10.6,16.28C10.6,19.43 13.15,22 16.3,22C19.45,22 22,19.43 22,16.28C22,13.13 19.45,10.58 16.3,10.58M18,19.08H13.19L15.81,15H13.31L14.4,13.23H19.18L16.63,17.28H19.18L18,19.08M16.3,3.93V2C8.41,2 2,8.42 2,16.31H3.92C3.94,9.46 9.5,3.93 16.3,3.93M16.3,7.74V5.82C10.5,5.82 5.81,10.53 5.81,16.31H7.73C7.75,11.58 11.59,7.74 16.3,7.74\";\r\nexport var mdiZend = \"M11.28,9.81C11.28,9.81 11.28,7 14.09,7H22.5C22.5,7 22.5,9.81 19.71,9.81H11.28M11.28,13.41C11.28,13.41 11.28,10.6 14.09,10.6H18.31C18.31,10.6 18.31,13.41 15.5,13.41H11.28M11.28,17C11.28,17 11.28,14.19 14.09,14.19H15.5C15.5,14.19 15.5,17 12.68,17H11.28M10.46,14.8V17H1.58L7.3,9.21H2.4V7H11.66L5.96,14.8H10.46Z\";\r\nexport var mdiZigbee = \"M4.06,6.15C3.97,6.17 3.88,6.22 3.8,6.28C2.66,7.9 2,9.87 2,12A10,10 0 0,0 12,22C15,22 17.68,20.68 19.5,18.6L17,18.85C14.25,19.15 11.45,19.19 8.66,18.96C7.95,18.94 7.24,18.76 6.59,18.45C5.73,18.06 5.15,17.23 5.07,16.29C5.06,16.13 5.12,16 5.23,15.87L7.42,13.6L15.03,5.7V5.6H10.84C8.57,5.64 6.31,5.82 4.06,6.15M20.17,17.5C20.26,17.47 20.35,17.44 20.43,17.39C21.42,15.83 22,14 22,12A10,10 0 0,0 12,2C9.22,2 6.7,3.13 4.89,4.97H5.17C8.28,4.57 11.43,4.47 14.56,4.65C15.5,4.64 16.45,4.82 17.33,5.17C18.25,5.53 18.89,6.38 19,7.37C19,7.53 18.93,7.7 18.82,7.82L9.71,17.19L9,17.95V18.06H13.14C15.5,18 17.84,17.81 20.17,17.5Z\";\r\nexport var mdiZipBox = \"M14,17H12V15H10V13H12V15H14M14,9H12V11H14V13H12V11H10V9H12V7H10V5H12V7H14M19,3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3Z\";\r\nexport var mdiZipBoxOutline = \"M12 17V15H14V17H12M14 13V11H12V13H14M14 9V7H12V9H14M10 11H12V9H10V11M10 15H12V13H10V15M21 5V19C21 20.1 20.1 21 19 21H5C3.9 21 3 20.1 3 19V5C3 3.9 3.9 3 5 3H19C20.1 3 21 3.9 21 5M19 5H12V7H10V5H5V19H19V5Z\";\r\nexport var mdiZipDisk = \"M7,3L3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5L17,3V5A1,1 0 0,1 16,6H10A1,1 0 0,1 9,5V3H7M8,10H16A1,1 0 0,1 17,11V19H7V11A1,1 0 0,1 8,10Z\";\r\nexport var mdiZodiacAquarius = \"M15,12.41L12,9.41L9,12.41L6,9.41L3.71,11.71L2.29,10.29L6,6.59L9,9.59L12,6.59L15,9.59L18,6.59L21.71,10.29L20.29,11.71L18,9.41L15,12.41M18,15.41L20.29,17.71L21.71,16.29L18,12.59L15,15.59L12,12.59L9,15.59L6,12.59L2.29,16.29L3.71,17.71L6,15.41L9,18.41L12,15.41L15,18.41L18,15.41Z\";\r\nexport var mdiZodiacAries = \"M16,2C14.95,2 13.91,2.27 13,2.81C12.64,3 12.3,3.26 12,3.54C11.7,3.26 11.36,3 11,2.81C10.09,2.27 9.05,2 8,2A6,6 0 0,0 2,8A6,6 0 0,0 8,14V12A4,4 0 0,1 4,8A4,4 0 0,1 8,4C9,4 10,4.39 10.75,5.1C10.84,5.18 10.92,5.27 11,5.36V22H13V5.36C13.08,5.27 13.16,5.18 13.25,5.1C14.85,3.58 17.38,3.64 18.91,5.25C20.43,6.85 20.36,9.38 18.76,10.9C18,11.61 17.03,12 16,12V14A6,6 0 0,0 22,8A6,6 0 0,0 16,2Z\";\r\nexport var mdiZodiacCancer = \"M12,4C6.5,4 2,7.58 2,12C2,14.12 3.65,15.87 5.76,16H6A4,4 0 0,0 10,12A4,4 0 0,0 6,8H5.76C7.44,6.41 9.69,5.55 12,5.6C13.77,5.58 15.5,6.07 17,7L18.25,5.75C16.38,4.58 14.21,3.97 12,4M6,10A2,2 0 0,1 8,12C8,13.11 7.08,14 6,14C4.96,14 4.1,13.22 4,12.2C4,12.07 4,11.93 4,11.8C4.1,10.77 4.97,10 6,10M18.24,8H18A4,4 0 0,0 14,12A4,4 0 0,0 18,16H18.24C16.56,17.59 14.31,18.45 12,18.4C10.23,18.42 8.5,17.93 7,17L5.76,18.24C7.63,19.41 9.79,20 12,20C17.5,20 22,16.42 22,12C22,9.88 20.35,8.13 18.24,8M18,14A2,2 0 0,1 16,12C16,10.89 16.92,10 18,10C19.04,10 19.9,10.78 20,11.8C20,11.93 20,12.07 20,12.2C19.9,13.23 19.03,14 18,14Z\";\r\nexport var mdiZodiacCapricorn = \"M15,13C14.3,13 13.61,13.19 13,13.55V6A3,3 0 0,0 10,3C9.25,3 8.55,3.29 8,3.78C7.45,3.28 6.74,3 6,3V5A1,1 0 0,1 7,6V16H9V6A1,1 0 0,1 10,5A1,1 0 0,1 11,6V17A2,2 0 0,1 9,19V21C10.15,21 11.25,20.5 12,19.62C13.45,21.29 15.97,21.47 17.64,20C19.31,18.58 19.5,16.05 18.04,14.38C17.28,13.5 16.17,13 15,13M15,19A2,2 0 0,1 13,17A2,2 0 0,1 15,15A2,2 0 0,1 17,17A2,2 0 0,1 15,19Z\";\r\nexport var mdiZodiacGemini = \"M18,5.3C19.35,4.97 20.66,4.54 21.94,4L21.18,2.14C18.27,3.36 15.15,4 12,4C8.85,4 5.73,3.38 2.82,2.17L2.06,4C3.34,4.54 4.65,4.97 6,5.3V18.7C4.65,19.03 3.34,19.46 2.06,20L2.82,21.86C8.7,19.42 15.3,19.42 21.18,21.86L21.94,20C20.66,19.46 19.35,19.03 18,18.7V5.3M8,18.3V5.69C9.32,5.89 10.66,6 12,6C13.34,6 14.68,5.89 16,5.69V18.31C13.35,17.9 10.65,17.9 8,18.31V18.3Z\";\r\nexport var mdiZodiacLeo = \"M20,17A3,3 0 0,1 17,20C15.38,19.92 14.08,18.62 14,17C14.16,15.39 14.5,13.8 15,12.26C15.54,10.55 15.87,8.79 16,7C15.93,4.27 13.73,2.07 11,2C8.27,2.07 6.07,4.27 6,7C6.15,8.53 6.5,10.03 7,11.5L7.21,12.2C5.1,11.53 2.86,12.7 2.19,14.8C1.5,16.91 2.68,19.16 4.79,19.83C6.9,20.5 9.14,19.33 9.81,17.22C9.94,16.83 10,16.41 10,16C9.84,14.27 9.5,12.56 8.91,10.92C8.47,9.65 8.16,8.34 8,7C8.08,5.38 9.38,4.08 11,4C12.62,4.08 13.92,5.38 14,7C13.84,8.61 13.5,10.2 13,11.74C12.46,13.45 12.13,15.21 12,17C12.07,19.73 14.27,21.93 17,22A5,5 0 0,0 22,17H20M6,18A2,2 0 0,1 4,16A2,2 0 0,1 6,14A2,2 0 0,1 8,16A2,2 0 0,1 6,18Z\";\r\nexport var mdiZodiacLibra = \"M20,16V18H13V15.91C16,15.36 17.96,12.5 17.41,9.5C16.86,6.5 14,4.54 11,5.09C8,5.65 6.04,8.5 6.59,11.5C7,13.74 8.76,15.5 11,15.91V18H4V16H6.92C5.37,14.59 4.5,12.59 4.5,10.5A7.5,7.5 0 0,1 12,3A7.5,7.5 0 0,1 19.5,10.5C19.5,12.59 18.63,14.59 17.08,16H20M20,19H4V21H20V19Z\";\r\nexport var mdiZodiacPisces = \"M20,11H18C18.11,8.19 18.73,5.42 19.81,2.82L18,2.06C16.81,4.9 16.13,7.92 16,11H8C7.87,7.92 7.19,4.9 6,2.06L4.14,2.82C5.24,5.41 5.87,8.18 6,11H4V13H6C5.89,15.81 5.27,18.58 4.19,21.18L6,21.94C7.19,19.1 7.87,16.08 8,13H16C16.13,16.08 16.81,19.1 18,21.94L19.86,21.18C18.76,18.59 18.13,15.82 18,13H20V11Z\";\r\nexport var mdiZodiacSagittarius = \"M22,2V12H20V5.41L10.41,15L12.71,17.29L11.29,18.71L9,16.41L3.71,21.71L2.29,20.29L7.59,15L5.29,12.71L6.71,11.29L9,13.59L18.59,4H12V2H22Z\";\r\nexport var mdiZodiacScorpio = \"M17.71,15.29L16.29,16.71L17.59,18H16A2,2 0 0,1 14,16V6A3,3 0 0,0 11,3C10.25,3 9.55,3.29 9,3.78C7.86,2.76 6.14,2.76 5,3.78C4.45,3.28 3.74,3 3,3V5A1,1 0 0,1 4,6V16H6V6A1,1 0 0,1 7,5A1,1 0 0,1 8,6V16H10V6A1,1 0 0,1 11,5A1,1 0 0,1 12,6V16A4,4 0 0,0 16,20H17.59L16.29,21.29L17.71,22.71L21.41,19L17.71,15.29Z\";\r\nexport var mdiZodiacTaurus = \"M15.59,9C17.7,7.74 19,5.46 19,3H17A5,5 0 0,1 12,8A5,5 0 0,1 7,3H5C5,5.46 6.3,7.74 8.41,9C5.09,11 4,15.28 6,18.6C7.97,21.92 12.27,23 15.59,21C18.91,19.04 20,14.74 18,11.42C17.42,10.43 16.58,9.59 15.59,9M12,20A5,5 0 0,1 7,15A5,5 0 0,1 12,10A5,5 0 0,1 17,15A5,5 0 0,1 12,20Z\";\r\nexport var mdiZodiacVirgo = \"M18.5,19.13C20,17.77 20,15.18 20,14A4,4 0 0,0 16,10C15.3,10 14.6,10.2 14,10.56V6A3,3 0 0,0 11,3C10.25,3 9.55,3.29 9,3.78C7.86,2.76 6.14,2.76 5,3.78C4.45,3.28 3.74,3 3,3V5A1,1 0 0,1 4,6V16H6V6A1,1 0 0,1 7,5A1,1 0 0,1 8,6V16H10V6A1,1 0 0,1 11,5A1,1 0 0,1 12,6V14C12,15.18 12,17.77 13.5,19.13C12.72,19.54 11.88,19.84 11,20V22C12.29,22 14.84,20.74 16,20.13C17.16,20.74 19.71,22 21,22V20C20.12,19.84 19.28,19.54 18.5,19.13M16,12A2,2 0 0,1 18,14C18,16.92 17.46,18 16,18C14.54,18 14,16.92 14,14A2,2 0 0,1 16,12Z\";\r\n","export function useCypressAutomation() {\n const generateAutomationTag = (sectionTag: string, componentTag: string, htmlTag?: string): string => {\n return htmlTag ? `${sectionTag}-${componentTag}-${htmlTag}` : `${sectionTag}-${componentTag}`\n }\n\n return { generateAutomationTag }\n}\n","\n\n\n\n\n","\n\n\n\n\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","var Browser = (function () {\n function Browser() {\n this.firefox = false;\n this.ie = false;\n this.edge = false;\n this.newEdge = false;\n this.weChat = false;\n }\n return Browser;\n}());\nvar Env = (function () {\n function Env() {\n this.browser = new Browser();\n this.node = false;\n this.wxa = false;\n this.worker = false;\n this.svgSupported = false;\n this.touchEventsSupported = false;\n this.pointerEventsSupported = false;\n this.domSupported = false;\n this.transformSupported = false;\n this.transform3dSupported = false;\n this.hasGlobalWindow = typeof window !== 'undefined';\n }\n return Env;\n}());\nvar env = new Env();\nif (typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function') {\n env.wxa = true;\n env.touchEventsSupported = true;\n}\nelse if (typeof document === 'undefined' && typeof self !== 'undefined') {\n env.worker = true;\n}\nelse if (typeof navigator === 'undefined') {\n env.node = true;\n env.svgSupported = true;\n}\nelse {\n detect(navigator.userAgent, env);\n}\nfunction detect(ua, env) {\n var browser = env.browser;\n var firefox = ua.match(/Firefox\\/([\\d.]+)/);\n var ie = ua.match(/MSIE\\s([\\d.]+)/)\n || ua.match(/Trident\\/.+?rv:(([\\d.]+))/);\n var edge = ua.match(/Edge?\\/([\\d.]+)/);\n var weChat = (/micromessenger/i).test(ua);\n if (firefox) {\n browser.firefox = true;\n browser.version = firefox[1];\n }\n if (ie) {\n browser.ie = true;\n browser.version = ie[1];\n }\n if (edge) {\n browser.edge = true;\n browser.version = edge[1];\n browser.newEdge = +edge[1].split('.')[0] > 18;\n }\n if (weChat) {\n browser.weChat = true;\n }\n env.svgSupported = typeof SVGRect !== 'undefined';\n env.touchEventsSupported = 'ontouchstart' in window && !browser.ie && !browser.edge;\n env.pointerEventsSupported = 'onpointerdown' in window\n && (browser.edge || (browser.ie && +browser.version >= 11));\n env.domSupported = typeof document !== 'undefined';\n var style = document.documentElement.style;\n env.transform3dSupported = ((browser.ie && 'transition' in style)\n || browser.edge\n || (('WebKitCSSMatrix' in window) && ('m11' in new WebKitCSSMatrix()))\n || 'MozPerspective' in style)\n && !('OTransition' in style);\n env.transformSupported = env.transform3dSupported\n || (browser.ie && +browser.version >= 9);\n}\nexport default env;\n","export var DEFAULT_FONT_SIZE = 12;\nexport var DEFAULT_FONT_FAMILY = 'sans-serif';\nexport var DEFAULT_FONT = DEFAULT_FONT_SIZE + \"px \" + DEFAULT_FONT_FAMILY;\nvar OFFSET = 20;\nvar SCALE = 100;\nvar defaultWidthMapStr = \"007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\\\\\WQb\\\\0FWLg\\\\bWb\\\\WQ\\\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\\\FFF5.5N\";\nfunction getTextWidthMap(mapStr) {\n var map = {};\n if (typeof JSON === 'undefined') {\n return map;\n }\n for (var i = 0; i < mapStr.length; i++) {\n var char = String.fromCharCode(i + 32);\n var size = (mapStr.charCodeAt(i) - OFFSET) / SCALE;\n map[char] = size;\n }\n return map;\n}\nexport var DEFAULT_TEXT_WIDTH_MAP = getTextWidthMap(defaultWidthMapStr);\nexport var platformApi = {\n createCanvas: function () {\n return typeof document !== 'undefined'\n && document.createElement('canvas');\n },\n measureText: (function () {\n var _ctx;\n var _cachedFont;\n return function (text, font) {\n if (!_ctx) {\n var canvas = platformApi.createCanvas();\n _ctx = canvas && canvas.getContext('2d');\n }\n if (_ctx) {\n if (_cachedFont !== font) {\n _cachedFont = _ctx.font = font || DEFAULT_FONT;\n }\n return _ctx.measureText(text);\n }\n else {\n text = text || '';\n font = font || DEFAULT_FONT;\n var res = /(\\d+)px/.exec(font);\n var fontSize = res && +res[1] || DEFAULT_FONT_SIZE;\n var width = 0;\n if (font.indexOf('mono') >= 0) {\n width = fontSize * text.length;\n }\n else {\n for (var i = 0; i < text.length; i++) {\n var preCalcWidth = DEFAULT_TEXT_WIDTH_MAP[text[i]];\n width += preCalcWidth == null ? fontSize : (preCalcWidth * fontSize);\n }\n }\n return { width: width };\n }\n };\n })(),\n loadImage: function (src, onload, onerror) {\n var image = new Image();\n image.onload = onload;\n image.onerror = onerror;\n image.src = src;\n return image;\n }\n};\nexport function setPlatformAPI(newPlatformApis) {\n for (var key in platformApi) {\n if (newPlatformApis[key]) {\n platformApi[key] = newPlatformApis[key];\n }\n }\n}\n","import { platformApi } from './platform.js';\nvar BUILTIN_OBJECT = reduce([\n 'Function',\n 'RegExp',\n 'Date',\n 'Error',\n 'CanvasGradient',\n 'CanvasPattern',\n 'Image',\n 'Canvas'\n], function (obj, val) {\n obj['[object ' + val + ']'] = true;\n return obj;\n}, {});\nvar TYPED_ARRAY = reduce([\n 'Int8',\n 'Uint8',\n 'Uint8Clamped',\n 'Int16',\n 'Uint16',\n 'Int32',\n 'Uint32',\n 'Float32',\n 'Float64'\n], function (obj, val) {\n obj['[object ' + val + 'Array]'] = true;\n return obj;\n}, {});\nvar objToString = Object.prototype.toString;\nvar arrayProto = Array.prototype;\nvar nativeForEach = arrayProto.forEach;\nvar nativeFilter = arrayProto.filter;\nvar nativeSlice = arrayProto.slice;\nvar nativeMap = arrayProto.map;\nvar ctorFunction = function () { }.constructor;\nvar protoFunction = ctorFunction ? ctorFunction.prototype : null;\nvar protoKey = '__proto__';\nvar idStart = 0x0907;\nexport function guid() {\n return idStart++;\n}\nexport function logError() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (typeof console !== 'undefined') {\n console.error.apply(console, args);\n }\n}\nexport function clone(source) {\n if (source == null || typeof source !== 'object') {\n return source;\n }\n var result = source;\n var typeStr = objToString.call(source);\n if (typeStr === '[object Array]') {\n if (!isPrimitive(source)) {\n result = [];\n for (var i = 0, len = source.length; i < len; i++) {\n result[i] = clone(source[i]);\n }\n }\n }\n else if (TYPED_ARRAY[typeStr]) {\n if (!isPrimitive(source)) {\n var Ctor = source.constructor;\n if (Ctor.from) {\n result = Ctor.from(source);\n }\n else {\n result = new Ctor(source.length);\n for (var i = 0, len = source.length; i < len; i++) {\n result[i] = source[i];\n }\n }\n }\n }\n else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && !isDom(source)) {\n result = {};\n for (var key in source) {\n if (source.hasOwnProperty(key) && key !== protoKey) {\n result[key] = clone(source[key]);\n }\n }\n }\n return result;\n}\nexport function merge(target, source, overwrite) {\n if (!isObject(source) || !isObject(target)) {\n return overwrite ? clone(source) : target;\n }\n for (var key in source) {\n if (source.hasOwnProperty(key) && key !== protoKey) {\n var targetProp = target[key];\n var sourceProp = source[key];\n if (isObject(sourceProp)\n && isObject(targetProp)\n && !isArray(sourceProp)\n && !isArray(targetProp)\n && !isDom(sourceProp)\n && !isDom(targetProp)\n && !isBuiltInObject(sourceProp)\n && !isBuiltInObject(targetProp)\n && !isPrimitive(sourceProp)\n && !isPrimitive(targetProp)) {\n merge(targetProp, sourceProp, overwrite);\n }\n else if (overwrite || !(key in target)) {\n target[key] = clone(source[key]);\n }\n }\n }\n return target;\n}\nexport function mergeAll(targetAndSources, overwrite) {\n var result = targetAndSources[0];\n for (var i = 1, len = targetAndSources.length; i < len; i++) {\n result = merge(result, targetAndSources[i], overwrite);\n }\n return result;\n}\nexport function extend(target, source) {\n if (Object.assign) {\n Object.assign(target, source);\n }\n else {\n for (var key in source) {\n if (source.hasOwnProperty(key) && key !== protoKey) {\n target[key] = source[key];\n }\n }\n }\n return target;\n}\nexport function defaults(target, source, overlay) {\n var keysArr = keys(source);\n for (var i = 0; i < keysArr.length; i++) {\n var key = keysArr[i];\n if ((overlay ? source[key] != null : target[key] == null)) {\n target[key] = source[key];\n }\n }\n return target;\n}\nexport var createCanvas = platformApi.createCanvas;\nexport function indexOf(array, value) {\n if (array) {\n if (array.indexOf) {\n return array.indexOf(value);\n }\n for (var i = 0, len = array.length; i < len; i++) {\n if (array[i] === value) {\n return i;\n }\n }\n }\n return -1;\n}\nexport function inherits(clazz, baseClazz) {\n var clazzPrototype = clazz.prototype;\n function F() { }\n F.prototype = baseClazz.prototype;\n clazz.prototype = new F();\n for (var prop in clazzPrototype) {\n if (clazzPrototype.hasOwnProperty(prop)) {\n clazz.prototype[prop] = clazzPrototype[prop];\n }\n }\n clazz.prototype.constructor = clazz;\n clazz.superClass = baseClazz;\n}\nexport function mixin(target, source, override) {\n target = 'prototype' in target ? target.prototype : target;\n source = 'prototype' in source ? source.prototype : source;\n if (Object.getOwnPropertyNames) {\n var keyList = Object.getOwnPropertyNames(source);\n for (var i = 0; i < keyList.length; i++) {\n var key = keyList[i];\n if (key !== 'constructor') {\n if ((override ? source[key] != null : target[key] == null)) {\n target[key] = source[key];\n }\n }\n }\n }\n else {\n defaults(target, source, override);\n }\n}\nexport function isArrayLike(data) {\n if (!data) {\n return false;\n }\n if (typeof data === 'string') {\n return false;\n }\n return typeof data.length === 'number';\n}\nexport function each(arr, cb, context) {\n if (!(arr && cb)) {\n return;\n }\n if (arr.forEach && arr.forEach === nativeForEach) {\n arr.forEach(cb, context);\n }\n else if (arr.length === +arr.length) {\n for (var i = 0, len = arr.length; i < len; i++) {\n cb.call(context, arr[i], i, arr);\n }\n }\n else {\n for (var key in arr) {\n if (arr.hasOwnProperty(key)) {\n cb.call(context, arr[key], key, arr);\n }\n }\n }\n}\nexport function map(arr, cb, context) {\n if (!arr) {\n return [];\n }\n if (!cb) {\n return slice(arr);\n }\n if (arr.map && arr.map === nativeMap) {\n return arr.map(cb, context);\n }\n else {\n var result = [];\n for (var i = 0, len = arr.length; i < len; i++) {\n result.push(cb.call(context, arr[i], i, arr));\n }\n return result;\n }\n}\nexport function reduce(arr, cb, memo, context) {\n if (!(arr && cb)) {\n return;\n }\n for (var i = 0, len = arr.length; i < len; i++) {\n memo = cb.call(context, memo, arr[i], i, arr);\n }\n return memo;\n}\nexport function filter(arr, cb, context) {\n if (!arr) {\n return [];\n }\n if (!cb) {\n return slice(arr);\n }\n if (arr.filter && arr.filter === nativeFilter) {\n return arr.filter(cb, context);\n }\n else {\n var result = [];\n for (var i = 0, len = arr.length; i < len; i++) {\n if (cb.call(context, arr[i], i, arr)) {\n result.push(arr[i]);\n }\n }\n return result;\n }\n}\nexport function find(arr, cb, context) {\n if (!(arr && cb)) {\n return;\n }\n for (var i = 0, len = arr.length; i < len; i++) {\n if (cb.call(context, arr[i], i, arr)) {\n return arr[i];\n }\n }\n}\nexport function keys(obj) {\n if (!obj) {\n return [];\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n var keyList = [];\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n keyList.push(key);\n }\n }\n return keyList;\n}\nfunction bindPolyfill(func, context) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n return function () {\n return func.apply(context, args.concat(nativeSlice.call(arguments)));\n };\n}\nexport var bind = (protoFunction && isFunction(protoFunction.bind))\n ? protoFunction.call.bind(protoFunction.bind)\n : bindPolyfill;\nfunction curry(func) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return function () {\n return func.apply(this, args.concat(nativeSlice.call(arguments)));\n };\n}\nexport { curry };\nexport function isArray(value) {\n if (Array.isArray) {\n return Array.isArray(value);\n }\n return objToString.call(value) === '[object Array]';\n}\nexport function isFunction(value) {\n return typeof value === 'function';\n}\nexport function isString(value) {\n return typeof value === 'string';\n}\nexport function isStringSafe(value) {\n return objToString.call(value) === '[object String]';\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\nexport function isObject(value) {\n var type = typeof value;\n return type === 'function' || (!!value && type === 'object');\n}\nexport function isBuiltInObject(value) {\n return !!BUILTIN_OBJECT[objToString.call(value)];\n}\nexport function isTypedArray(value) {\n return !!TYPED_ARRAY[objToString.call(value)];\n}\nexport function isDom(value) {\n return typeof value === 'object'\n && typeof value.nodeType === 'number'\n && typeof value.ownerDocument === 'object';\n}\nexport function isGradientObject(value) {\n return value.colorStops != null;\n}\nexport function isImagePatternObject(value) {\n return value.image != null;\n}\nexport function isRegExp(value) {\n return objToString.call(value) === '[object RegExp]';\n}\nexport function eqNaN(value) {\n return value !== value;\n}\nexport function retrieve() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n for (var i = 0, len = args.length; i < len; i++) {\n if (args[i] != null) {\n return args[i];\n }\n }\n}\nexport function retrieve2(value0, value1) {\n return value0 != null\n ? value0\n : value1;\n}\nexport function retrieve3(value0, value1, value2) {\n return value0 != null\n ? value0\n : value1 != null\n ? value1\n : value2;\n}\nexport function slice(arr) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return nativeSlice.apply(arr, args);\n}\nexport function normalizeCssArray(val) {\n if (typeof (val) === 'number') {\n return [val, val, val, val];\n }\n var len = val.length;\n if (len === 2) {\n return [val[0], val[1], val[0], val[1]];\n }\n else if (len === 3) {\n return [val[0], val[1], val[2], val[1]];\n }\n return val;\n}\nexport function assert(condition, message) {\n if (!condition) {\n throw new Error(message);\n }\n}\nexport function trim(str) {\n if (str == null) {\n return null;\n }\n else if (typeof str.trim === 'function') {\n return str.trim();\n }\n else {\n return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n }\n}\nvar primitiveKey = '__ec_primitive__';\nexport function setAsPrimitive(obj) {\n obj[primitiveKey] = true;\n}\nexport function isPrimitive(obj) {\n return obj[primitiveKey];\n}\nvar MapPolyfill = (function () {\n function MapPolyfill() {\n this.data = {};\n }\n MapPolyfill.prototype[\"delete\"] = function (key) {\n var existed = this.has(key);\n if (existed) {\n delete this.data[key];\n }\n return existed;\n };\n MapPolyfill.prototype.has = function (key) {\n return this.data.hasOwnProperty(key);\n };\n MapPolyfill.prototype.get = function (key) {\n return this.data[key];\n };\n MapPolyfill.prototype.set = function (key, value) {\n this.data[key] = value;\n return this;\n };\n MapPolyfill.prototype.keys = function () {\n return keys(this.data);\n };\n MapPolyfill.prototype.forEach = function (callback) {\n var data = this.data;\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n callback(data[key], key);\n }\n }\n };\n return MapPolyfill;\n}());\nvar isNativeMapSupported = typeof Map === 'function';\nfunction maybeNativeMap() {\n return (isNativeMapSupported ? new Map() : new MapPolyfill());\n}\nvar HashMap = (function () {\n function HashMap(obj) {\n var isArr = isArray(obj);\n this.data = maybeNativeMap();\n var thisMap = this;\n (obj instanceof HashMap)\n ? obj.each(visit)\n : (obj && each(obj, visit));\n function visit(value, key) {\n isArr ? thisMap.set(value, key) : thisMap.set(key, value);\n }\n }\n HashMap.prototype.hasKey = function (key) {\n return this.data.has(key);\n };\n HashMap.prototype.get = function (key) {\n return this.data.get(key);\n };\n HashMap.prototype.set = function (key, value) {\n this.data.set(key, value);\n return value;\n };\n HashMap.prototype.each = function (cb, context) {\n this.data.forEach(function (value, key) {\n cb.call(context, value, key);\n });\n };\n HashMap.prototype.keys = function () {\n var keys = this.data.keys();\n return isNativeMapSupported\n ? Array.from(keys)\n : keys;\n };\n HashMap.prototype.removeKey = function (key) {\n this.data[\"delete\"](key);\n };\n return HashMap;\n}());\nexport { HashMap };\nexport function createHashMap(obj) {\n return new HashMap(obj);\n}\nexport function concatArray(a, b) {\n var newArray = new a.constructor(a.length + b.length);\n for (var i = 0; i < a.length; i++) {\n newArray[i] = a[i];\n }\n var offset = a.length;\n for (var i = 0; i < b.length; i++) {\n newArray[i + offset] = b[i];\n }\n return newArray;\n}\nexport function createObject(proto, properties) {\n var obj;\n if (Object.create) {\n obj = Object.create(proto);\n }\n else {\n var StyleCtor = function () { };\n StyleCtor.prototype = proto;\n obj = new StyleCtor();\n }\n if (properties) {\n extend(obj, properties);\n }\n return obj;\n}\nexport function disableUserSelect(dom) {\n var domStyle = dom.style;\n domStyle.webkitUserSelect = 'none';\n domStyle.userSelect = 'none';\n domStyle.webkitTapHighlightColor = 'rgba(0,0,0,0)';\n domStyle['-webkit-touch-callout'] = 'none';\n}\nexport function hasOwn(own, prop) {\n return own.hasOwnProperty(prop);\n}\nexport function noop() { }\nexport var RADIAN_TO_DEGREE = 180 / Math.PI;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export function create(x, y) {\n if (x == null) {\n x = 0;\n }\n if (y == null) {\n y = 0;\n }\n return [x, y];\n}\nexport function copy(out, v) {\n out[0] = v[0];\n out[1] = v[1];\n return out;\n}\nexport function clone(v) {\n return [v[0], v[1]];\n}\nexport function set(out, a, b) {\n out[0] = a;\n out[1] = b;\n return out;\n}\nexport function add(out, v1, v2) {\n out[0] = v1[0] + v2[0];\n out[1] = v1[1] + v2[1];\n return out;\n}\nexport function scaleAndAdd(out, v1, v2, a) {\n out[0] = v1[0] + v2[0] * a;\n out[1] = v1[1] + v2[1] * a;\n return out;\n}\nexport function sub(out, v1, v2) {\n out[0] = v1[0] - v2[0];\n out[1] = v1[1] - v2[1];\n return out;\n}\nexport function len(v) {\n return Math.sqrt(lenSquare(v));\n}\nexport var length = len;\nexport function lenSquare(v) {\n return v[0] * v[0] + v[1] * v[1];\n}\nexport var lengthSquare = lenSquare;\nexport function mul(out, v1, v2) {\n out[0] = v1[0] * v2[0];\n out[1] = v1[1] * v2[1];\n return out;\n}\nexport function div(out, v1, v2) {\n out[0] = v1[0] / v2[0];\n out[1] = v1[1] / v2[1];\n return out;\n}\nexport function dot(v1, v2) {\n return v1[0] * v2[0] + v1[1] * v2[1];\n}\nexport function scale(out, v, s) {\n out[0] = v[0] * s;\n out[1] = v[1] * s;\n return out;\n}\nexport function normalize(out, v) {\n var d = len(v);\n if (d === 0) {\n out[0] = 0;\n out[1] = 0;\n }\n else {\n out[0] = v[0] / d;\n out[1] = v[1] / d;\n }\n return out;\n}\nexport function distance(v1, v2) {\n return Math.sqrt((v1[0] - v2[0]) * (v1[0] - v2[0])\n + (v1[1] - v2[1]) * (v1[1] - v2[1]));\n}\nexport var dist = distance;\nexport function distanceSquare(v1, v2) {\n return (v1[0] - v2[0]) * (v1[0] - v2[0])\n + (v1[1] - v2[1]) * (v1[1] - v2[1]);\n}\nexport var distSquare = distanceSquare;\nexport function negate(out, v) {\n out[0] = -v[0];\n out[1] = -v[1];\n return out;\n}\nexport function lerp(out, v1, v2, t) {\n out[0] = v1[0] + t * (v2[0] - v1[0]);\n out[1] = v1[1] + t * (v2[1] - v1[1]);\n return out;\n}\nexport function applyTransform(out, v, m) {\n var x = v[0];\n var y = v[1];\n out[0] = m[0] * x + m[2] * y + m[4];\n out[1] = m[1] * x + m[3] * y + m[5];\n return out;\n}\nexport function min(out, v1, v2) {\n out[0] = Math.min(v1[0], v2[0]);\n out[1] = Math.min(v1[1], v2[1]);\n return out;\n}\nexport function max(out, v1, v2) {\n out[0] = Math.max(v1[0], v2[0]);\n out[1] = Math.max(v1[1], v2[1]);\n return out;\n}\n","var Param = (function () {\n function Param(target, e) {\n this.target = target;\n this.topTarget = e && e.topTarget;\n }\n return Param;\n}());\nvar Draggable = (function () {\n function Draggable(handler) {\n this.handler = handler;\n handler.on('mousedown', this._dragStart, this);\n handler.on('mousemove', this._drag, this);\n handler.on('mouseup', this._dragEnd, this);\n }\n Draggable.prototype._dragStart = function (e) {\n var draggingTarget = e.target;\n while (draggingTarget && !draggingTarget.draggable) {\n draggingTarget = draggingTarget.parent || draggingTarget.__hostTarget;\n }\n if (draggingTarget) {\n this._draggingTarget = draggingTarget;\n draggingTarget.dragging = true;\n this._x = e.offsetX;\n this._y = e.offsetY;\n this.handler.dispatchToElement(new Param(draggingTarget, e), 'dragstart', e.event);\n }\n };\n Draggable.prototype._drag = function (e) {\n var draggingTarget = this._draggingTarget;\n if (draggingTarget) {\n var x = e.offsetX;\n var y = e.offsetY;\n var dx = x - this._x;\n var dy = y - this._y;\n this._x = x;\n this._y = y;\n draggingTarget.drift(dx, dy, e);\n this.handler.dispatchToElement(new Param(draggingTarget, e), 'drag', e.event);\n var dropTarget = this.handler.findHover(x, y, draggingTarget).target;\n var lastDropTarget = this._dropTarget;\n this._dropTarget = dropTarget;\n if (draggingTarget !== dropTarget) {\n if (lastDropTarget && dropTarget !== lastDropTarget) {\n this.handler.dispatchToElement(new Param(lastDropTarget, e), 'dragleave', e.event);\n }\n if (dropTarget && dropTarget !== lastDropTarget) {\n this.handler.dispatchToElement(new Param(dropTarget, e), 'dragenter', e.event);\n }\n }\n }\n };\n Draggable.prototype._dragEnd = function (e) {\n var draggingTarget = this._draggingTarget;\n if (draggingTarget) {\n draggingTarget.dragging = false;\n }\n this.handler.dispatchToElement(new Param(draggingTarget, e), 'dragend', e.event);\n if (this._dropTarget) {\n this.handler.dispatchToElement(new Param(this._dropTarget, e), 'drop', e.event);\n }\n this._draggingTarget = null;\n this._dropTarget = null;\n };\n return Draggable;\n}());\nexport default Draggable;\n","var Eventful = (function () {\n function Eventful(eventProcessors) {\n if (eventProcessors) {\n this._$eventProcessor = eventProcessors;\n }\n }\n Eventful.prototype.on = function (event, query, handler, context) {\n if (!this._$handlers) {\n this._$handlers = {};\n }\n var _h = this._$handlers;\n if (typeof query === 'function') {\n context = handler;\n handler = query;\n query = null;\n }\n if (!handler || !event) {\n return this;\n }\n var eventProcessor = this._$eventProcessor;\n if (query != null && eventProcessor && eventProcessor.normalizeQuery) {\n query = eventProcessor.normalizeQuery(query);\n }\n if (!_h[event]) {\n _h[event] = [];\n }\n for (var i = 0; i < _h[event].length; i++) {\n if (_h[event][i].h === handler) {\n return this;\n }\n }\n var wrap = {\n h: handler,\n query: query,\n ctx: (context || this),\n callAtLast: handler.zrEventfulCallAtLast\n };\n var lastIndex = _h[event].length - 1;\n var lastWrap = _h[event][lastIndex];\n (lastWrap && lastWrap.callAtLast)\n ? _h[event].splice(lastIndex, 0, wrap)\n : _h[event].push(wrap);\n return this;\n };\n Eventful.prototype.isSilent = function (eventName) {\n var _h = this._$handlers;\n return !_h || !_h[eventName] || !_h[eventName].length;\n };\n Eventful.prototype.off = function (eventType, handler) {\n var _h = this._$handlers;\n if (!_h) {\n return this;\n }\n if (!eventType) {\n this._$handlers = {};\n return this;\n }\n if (handler) {\n if (_h[eventType]) {\n var newList = [];\n for (var i = 0, l = _h[eventType].length; i < l; i++) {\n if (_h[eventType][i].h !== handler) {\n newList.push(_h[eventType][i]);\n }\n }\n _h[eventType] = newList;\n }\n if (_h[eventType] && _h[eventType].length === 0) {\n delete _h[eventType];\n }\n }\n else {\n delete _h[eventType];\n }\n return this;\n };\n Eventful.prototype.trigger = function (eventType) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._$handlers) {\n return this;\n }\n var _h = this._$handlers[eventType];\n var eventProcessor = this._$eventProcessor;\n if (_h) {\n var argLen = args.length;\n var len = _h.length;\n for (var i = 0; i < len; i++) {\n var hItem = _h[i];\n if (eventProcessor\n && eventProcessor.filter\n && hItem.query != null\n && !eventProcessor.filter(eventType, hItem.query)) {\n continue;\n }\n switch (argLen) {\n case 0:\n hItem.h.call(hItem.ctx);\n break;\n case 1:\n hItem.h.call(hItem.ctx, args[0]);\n break;\n case 2:\n hItem.h.call(hItem.ctx, args[0], args[1]);\n break;\n default:\n hItem.h.apply(hItem.ctx, args);\n break;\n }\n }\n }\n eventProcessor && eventProcessor.afterTrigger\n && eventProcessor.afterTrigger(eventType);\n return this;\n };\n Eventful.prototype.triggerWithContext = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!this._$handlers) {\n return this;\n }\n var _h = this._$handlers[type];\n var eventProcessor = this._$eventProcessor;\n if (_h) {\n var argLen = args.length;\n var ctx = args[argLen - 1];\n var len = _h.length;\n for (var i = 0; i < len; i++) {\n var hItem = _h[i];\n if (eventProcessor\n && eventProcessor.filter\n && hItem.query != null\n && !eventProcessor.filter(type, hItem.query)) {\n continue;\n }\n switch (argLen) {\n case 0:\n hItem.h.call(ctx);\n break;\n case 1:\n hItem.h.call(ctx, args[0]);\n break;\n case 2:\n hItem.h.call(ctx, args[0], args[1]);\n break;\n default:\n hItem.h.apply(ctx, args.slice(1, argLen - 1));\n break;\n }\n }\n }\n eventProcessor && eventProcessor.afterTrigger\n && eventProcessor.afterTrigger(type);\n return this;\n };\n return Eventful;\n}());\nexport default Eventful;\n","var LN2 = Math.log(2);\nfunction determinant(rows, rank, rowStart, rowMask, colMask, detCache) {\n var cacheKey = rowMask + '-' + colMask;\n var fullRank = rows.length;\n if (detCache.hasOwnProperty(cacheKey)) {\n return detCache[cacheKey];\n }\n if (rank === 1) {\n var colStart = Math.round(Math.log(((1 << fullRank) - 1) & ~colMask) / LN2);\n return rows[rowStart][colStart];\n }\n var subRowMask = rowMask | (1 << rowStart);\n var subRowStart = rowStart + 1;\n while (rowMask & (1 << subRowStart)) {\n subRowStart++;\n }\n var sum = 0;\n for (var j = 0, colLocalIdx = 0; j < fullRank; j++) {\n var colTag = 1 << j;\n if (!(colTag & colMask)) {\n sum += (colLocalIdx % 2 ? -1 : 1) * rows[rowStart][j]\n * determinant(rows, rank - 1, subRowStart, subRowMask, colMask | colTag, detCache);\n colLocalIdx++;\n }\n }\n detCache[cacheKey] = sum;\n return sum;\n}\nexport function buildTransformer(src, dest) {\n var mA = [\n [src[0], src[1], 1, 0, 0, 0, -dest[0] * src[0], -dest[0] * src[1]],\n [0, 0, 0, src[0], src[1], 1, -dest[1] * src[0], -dest[1] * src[1]],\n [src[2], src[3], 1, 0, 0, 0, -dest[2] * src[2], -dest[2] * src[3]],\n [0, 0, 0, src[2], src[3], 1, -dest[3] * src[2], -dest[3] * src[3]],\n [src[4], src[5], 1, 0, 0, 0, -dest[4] * src[4], -dest[4] * src[5]],\n [0, 0, 0, src[4], src[5], 1, -dest[5] * src[4], -dest[5] * src[5]],\n [src[6], src[7], 1, 0, 0, 0, -dest[6] * src[6], -dest[6] * src[7]],\n [0, 0, 0, src[6], src[7], 1, -dest[7] * src[6], -dest[7] * src[7]]\n ];\n var detCache = {};\n var det = determinant(mA, 8, 0, 0, 0, detCache);\n if (det === 0) {\n return;\n }\n var vh = [];\n for (var i = 0; i < 8; i++) {\n for (var j = 0; j < 8; j++) {\n vh[j] == null && (vh[j] = 0);\n vh[j] += ((i + j) % 2 ? -1 : 1)\n * determinant(mA, 7, i === 0 ? 1 : 0, 1 << i, 1 << j, detCache)\n / det * dest[i];\n }\n }\n return function (out, srcPointX, srcPointY) {\n var pk = srcPointX * vh[6] + srcPointY * vh[7] + 1;\n out[0] = (srcPointX * vh[0] + srcPointY * vh[1] + vh[2]) / pk;\n out[1] = (srcPointX * vh[3] + srcPointY * vh[4] + vh[5]) / pk;\n };\n}\n","import env from './env.js';\nimport { buildTransformer } from './fourPointsTransform.js';\nvar EVENT_SAVED_PROP = '___zrEVENTSAVED';\nvar _calcOut = [];\nexport function transformLocalCoord(out, elFrom, elTarget, inX, inY) {\n return transformCoordWithViewport(_calcOut, elFrom, inX, inY, true)\n && transformCoordWithViewport(out, elTarget, _calcOut[0], _calcOut[1]);\n}\nexport function transformCoordWithViewport(out, el, inX, inY, inverse) {\n if (el.getBoundingClientRect && env.domSupported && !isCanvasEl(el)) {\n var saved = el[EVENT_SAVED_PROP] || (el[EVENT_SAVED_PROP] = {});\n var markers = prepareCoordMarkers(el, saved);\n var transformer = preparePointerTransformer(markers, saved, inverse);\n if (transformer) {\n transformer(out, inX, inY);\n return true;\n }\n }\n return false;\n}\nfunction prepareCoordMarkers(el, saved) {\n var markers = saved.markers;\n if (markers) {\n return markers;\n }\n markers = saved.markers = [];\n var propLR = ['left', 'right'];\n var propTB = ['top', 'bottom'];\n for (var i = 0; i < 4; i++) {\n var marker = document.createElement('div');\n var stl = marker.style;\n var idxLR = i % 2;\n var idxTB = (i >> 1) % 2;\n stl.cssText = [\n 'position: absolute',\n 'visibility: hidden',\n 'padding: 0',\n 'margin: 0',\n 'border-width: 0',\n 'user-select: none',\n 'width:0',\n 'height:0',\n propLR[idxLR] + ':0',\n propTB[idxTB] + ':0',\n propLR[1 - idxLR] + ':auto',\n propTB[1 - idxTB] + ':auto',\n ''\n ].join('!important;');\n el.appendChild(marker);\n markers.push(marker);\n }\n return markers;\n}\nfunction preparePointerTransformer(markers, saved, inverse) {\n var transformerName = inverse ? 'invTrans' : 'trans';\n var transformer = saved[transformerName];\n var oldSrcCoords = saved.srcCoords;\n var srcCoords = [];\n var destCoords = [];\n var oldCoordTheSame = true;\n for (var i = 0; i < 4; i++) {\n var rect = markers[i].getBoundingClientRect();\n var ii = 2 * i;\n var x = rect.left;\n var y = rect.top;\n srcCoords.push(x, y);\n oldCoordTheSame = oldCoordTheSame && oldSrcCoords && x === oldSrcCoords[ii] && y === oldSrcCoords[ii + 1];\n destCoords.push(markers[i].offsetLeft, markers[i].offsetTop);\n }\n return (oldCoordTheSame && transformer)\n ? transformer\n : (saved.srcCoords = srcCoords,\n saved[transformerName] = inverse\n ? buildTransformer(destCoords, srcCoords)\n : buildTransformer(srcCoords, destCoords));\n}\nexport function isCanvasEl(el) {\n return el.nodeName.toUpperCase() === 'CANVAS';\n}\nvar replaceReg = /([&<>\"'])/g;\nvar replaceMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\nexport function encodeHTML(source) {\n return source == null\n ? ''\n : (source + '').replace(replaceReg, function (str, c) {\n return replaceMap[c];\n });\n}\n","import Eventful from './Eventful.js';\nimport env from './env.js';\nimport { isCanvasEl, transformCoordWithViewport } from './dom.js';\nvar MOUSE_EVENT_REG = /^(?:mouse|pointer|contextmenu|drag|drop)|click/;\nvar _calcOut = [];\nvar firefoxNotSupportOffsetXY = env.browser.firefox\n && +env.browser.version.split('.')[0] < 39;\nexport function clientToLocal(el, e, out, calculate) {\n out = out || {};\n if (calculate) {\n calculateZrXY(el, e, out);\n }\n else if (firefoxNotSupportOffsetXY\n && e.layerX != null\n && e.layerX !== e.offsetX) {\n out.zrX = e.layerX;\n out.zrY = e.layerY;\n }\n else if (e.offsetX != null) {\n out.zrX = e.offsetX;\n out.zrY = e.offsetY;\n }\n else {\n calculateZrXY(el, e, out);\n }\n return out;\n}\nfunction calculateZrXY(el, e, out) {\n if (env.domSupported && el.getBoundingClientRect) {\n var ex = e.clientX;\n var ey = e.clientY;\n if (isCanvasEl(el)) {\n var box = el.getBoundingClientRect();\n out.zrX = ex - box.left;\n out.zrY = ey - box.top;\n return;\n }\n else {\n if (transformCoordWithViewport(_calcOut, el, ex, ey)) {\n out.zrX = _calcOut[0];\n out.zrY = _calcOut[1];\n return;\n }\n }\n }\n out.zrX = out.zrY = 0;\n}\nexport function getNativeEvent(e) {\n return e\n || window.event;\n}\nexport function normalizeEvent(el, e, calculate) {\n e = getNativeEvent(e);\n if (e.zrX != null) {\n return e;\n }\n var eventType = e.type;\n var isTouch = eventType && eventType.indexOf('touch') >= 0;\n if (!isTouch) {\n clientToLocal(el, e, e, calculate);\n var wheelDelta = getWheelDeltaMayPolyfill(e);\n e.zrDelta = wheelDelta ? wheelDelta / 120 : -(e.detail || 0) / 3;\n }\n else {\n var touch = eventType !== 'touchend'\n ? e.targetTouches[0]\n : e.changedTouches[0];\n touch && clientToLocal(el, touch, e, calculate);\n }\n var button = e.button;\n if (e.which == null && button !== undefined && MOUSE_EVENT_REG.test(e.type)) {\n e.which = (button & 1 ? 1 : (button & 2 ? 3 : (button & 4 ? 2 : 0)));\n }\n return e;\n}\nfunction getWheelDeltaMayPolyfill(e) {\n var rawWheelDelta = e.wheelDelta;\n if (rawWheelDelta) {\n return rawWheelDelta;\n }\n var deltaX = e.deltaX;\n var deltaY = e.deltaY;\n if (deltaX == null || deltaY == null) {\n return rawWheelDelta;\n }\n var delta = deltaY !== 0 ? Math.abs(deltaY) : Math.abs(deltaX);\n var sign = deltaY > 0 ? -1\n : deltaY < 0 ? 1\n : deltaX > 0 ? -1\n : 1;\n return 3 * delta * sign;\n}\nexport function addEventListener(el, name, handler, opt) {\n el.addEventListener(name, handler, opt);\n}\nexport function removeEventListener(el, name, handler, opt) {\n el.removeEventListener(name, handler, opt);\n}\nexport var stop = function (e) {\n e.preventDefault();\n e.stopPropagation();\n e.cancelBubble = true;\n};\nexport function isMiddleOrRightButtonOnMouseUpDown(e) {\n return e.which === 2 || e.which === 3;\n}\nexport { Eventful as Dispatcher };\n","import * as eventUtil from './event.js';\nvar GestureMgr = (function () {\n function GestureMgr() {\n this._track = [];\n }\n GestureMgr.prototype.recognize = function (event, target, root) {\n this._doTrack(event, target, root);\n return this._recognize(event);\n };\n GestureMgr.prototype.clear = function () {\n this._track.length = 0;\n return this;\n };\n GestureMgr.prototype._doTrack = function (event, target, root) {\n var touches = event.touches;\n if (!touches) {\n return;\n }\n var trackItem = {\n points: [],\n touches: [],\n target: target,\n event: event\n };\n for (var i = 0, len = touches.length; i < len; i++) {\n var touch = touches[i];\n var pos = eventUtil.clientToLocal(root, touch, {});\n trackItem.points.push([pos.zrX, pos.zrY]);\n trackItem.touches.push(touch);\n }\n this._track.push(trackItem);\n };\n GestureMgr.prototype._recognize = function (event) {\n for (var eventName in recognizers) {\n if (recognizers.hasOwnProperty(eventName)) {\n var gestureInfo = recognizers[eventName](this._track, event);\n if (gestureInfo) {\n return gestureInfo;\n }\n }\n }\n };\n return GestureMgr;\n}());\nexport { GestureMgr };\nfunction dist(pointPair) {\n var dx = pointPair[1][0] - pointPair[0][0];\n var dy = pointPair[1][1] - pointPair[0][1];\n return Math.sqrt(dx * dx + dy * dy);\n}\nfunction center(pointPair) {\n return [\n (pointPair[0][0] + pointPair[1][0]) / 2,\n (pointPair[0][1] + pointPair[1][1]) / 2\n ];\n}\nvar recognizers = {\n pinch: function (tracks, event) {\n var trackLen = tracks.length;\n if (!trackLen) {\n return;\n }\n var pinchEnd = (tracks[trackLen - 1] || {}).points;\n var pinchPre = (tracks[trackLen - 2] || {}).points || pinchEnd;\n if (pinchPre\n && pinchPre.length > 1\n && pinchEnd\n && pinchEnd.length > 1) {\n var pinchScale = dist(pinchEnd) / dist(pinchPre);\n !isFinite(pinchScale) && (pinchScale = 1);\n event.pinchScale = pinchScale;\n var pinchCenter = center(pinchEnd);\n event.pinchX = pinchCenter[0];\n event.pinchY = pinchCenter[1];\n return {\n type: 'pinch',\n target: tracks[0].target,\n event: event\n };\n }\n }\n};\n","export function create() {\n return [1, 0, 0, 1, 0, 0];\n}\nexport function identity(out) {\n out[0] = 1;\n out[1] = 0;\n out[2] = 0;\n out[3] = 1;\n out[4] = 0;\n out[5] = 0;\n return out;\n}\nexport function copy(out, m) {\n out[0] = m[0];\n out[1] = m[1];\n out[2] = m[2];\n out[3] = m[3];\n out[4] = m[4];\n out[5] = m[5];\n return out;\n}\nexport function mul(out, m1, m2) {\n var out0 = m1[0] * m2[0] + m1[2] * m2[1];\n var out1 = m1[1] * m2[0] + m1[3] * m2[1];\n var out2 = m1[0] * m2[2] + m1[2] * m2[3];\n var out3 = m1[1] * m2[2] + m1[3] * m2[3];\n var out4 = m1[0] * m2[4] + m1[2] * m2[5] + m1[4];\n var out5 = m1[1] * m2[4] + m1[3] * m2[5] + m1[5];\n out[0] = out0;\n out[1] = out1;\n out[2] = out2;\n out[3] = out3;\n out[4] = out4;\n out[5] = out5;\n return out;\n}\nexport function translate(out, a, v) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n out[4] = a[4] + v[0];\n out[5] = a[5] + v[1];\n return out;\n}\nexport function rotate(out, a, rad) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var st = Math.sin(rad);\n var ct = Math.cos(rad);\n out[0] = aa * ct + ab * st;\n out[1] = -aa * st + ab * ct;\n out[2] = ac * ct + ad * st;\n out[3] = -ac * st + ct * ad;\n out[4] = ct * atx + st * aty;\n out[5] = ct * aty - st * atx;\n return out;\n}\nexport function scale(out, a, v) {\n var vx = v[0];\n var vy = v[1];\n out[0] = a[0] * vx;\n out[1] = a[1] * vy;\n out[2] = a[2] * vx;\n out[3] = a[3] * vy;\n out[4] = a[4] * vx;\n out[5] = a[5] * vy;\n return out;\n}\nexport function invert(out, a) {\n var aa = a[0];\n var ac = a[2];\n var atx = a[4];\n var ab = a[1];\n var ad = a[3];\n var aty = a[5];\n var det = aa * ad - ab * ac;\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n out[0] = ad * det;\n out[1] = -ab * det;\n out[2] = -ac * det;\n out[3] = aa * det;\n out[4] = (ac * aty - ad * atx) * det;\n out[5] = (ab * atx - aa * aty) * det;\n return out;\n}\nexport function clone(a) {\n var b = create();\n copy(b, a);\n return b;\n}\n","var Point = (function () {\n function Point(x, y) {\n this.x = x || 0;\n this.y = y || 0;\n }\n Point.prototype.copy = function (other) {\n this.x = other.x;\n this.y = other.y;\n return this;\n };\n Point.prototype.clone = function () {\n return new Point(this.x, this.y);\n };\n Point.prototype.set = function (x, y) {\n this.x = x;\n this.y = y;\n return this;\n };\n Point.prototype.equal = function (other) {\n return other.x === this.x && other.y === this.y;\n };\n Point.prototype.add = function (other) {\n this.x += other.x;\n this.y += other.y;\n return this;\n };\n Point.prototype.scale = function (scalar) {\n this.x *= scalar;\n this.y *= scalar;\n };\n Point.prototype.scaleAndAdd = function (other, scalar) {\n this.x += other.x * scalar;\n this.y += other.y * scalar;\n };\n Point.prototype.sub = function (other) {\n this.x -= other.x;\n this.y -= other.y;\n return this;\n };\n Point.prototype.dot = function (other) {\n return this.x * other.x + this.y * other.y;\n };\n Point.prototype.len = function () {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n };\n Point.prototype.lenSquare = function () {\n return this.x * this.x + this.y * this.y;\n };\n Point.prototype.normalize = function () {\n var len = this.len();\n this.x /= len;\n this.y /= len;\n return this;\n };\n Point.prototype.distance = function (other) {\n var dx = this.x - other.x;\n var dy = this.y - other.y;\n return Math.sqrt(dx * dx + dy * dy);\n };\n Point.prototype.distanceSquare = function (other) {\n var dx = this.x - other.x;\n var dy = this.y - other.y;\n return dx * dx + dy * dy;\n };\n Point.prototype.negate = function () {\n this.x = -this.x;\n this.y = -this.y;\n return this;\n };\n Point.prototype.transform = function (m) {\n if (!m) {\n return;\n }\n var x = this.x;\n var y = this.y;\n this.x = m[0] * x + m[2] * y + m[4];\n this.y = m[1] * x + m[3] * y + m[5];\n return this;\n };\n Point.prototype.toArray = function (out) {\n out[0] = this.x;\n out[1] = this.y;\n return out;\n };\n Point.prototype.fromArray = function (input) {\n this.x = input[0];\n this.y = input[1];\n };\n Point.set = function (p, x, y) {\n p.x = x;\n p.y = y;\n };\n Point.copy = function (p, p2) {\n p.x = p2.x;\n p.y = p2.y;\n };\n Point.len = function (p) {\n return Math.sqrt(p.x * p.x + p.y * p.y);\n };\n Point.lenSquare = function (p) {\n return p.x * p.x + p.y * p.y;\n };\n Point.dot = function (p0, p1) {\n return p0.x * p1.x + p0.y * p1.y;\n };\n Point.add = function (out, p0, p1) {\n out.x = p0.x + p1.x;\n out.y = p0.y + p1.y;\n };\n Point.sub = function (out, p0, p1) {\n out.x = p0.x - p1.x;\n out.y = p0.y - p1.y;\n };\n Point.scale = function (out, p0, scalar) {\n out.x = p0.x * scalar;\n out.y = p0.y * scalar;\n };\n Point.scaleAndAdd = function (out, p0, p1, scalar) {\n out.x = p0.x + p1.x * scalar;\n out.y = p0.y + p1.y * scalar;\n };\n Point.lerp = function (out, p0, p1, t) {\n var onet = 1 - t;\n out.x = onet * p0.x + t * p1.x;\n out.y = onet * p0.y + t * p1.y;\n };\n return Point;\n}());\nexport default Point;\n","import * as matrix from './matrix.js';\nimport Point from './Point.js';\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar lt = new Point();\nvar rb = new Point();\nvar lb = new Point();\nvar rt = new Point();\nvar minTv = new Point();\nvar maxTv = new Point();\nvar BoundingRect = (function () {\n function BoundingRect(x, y, width, height) {\n if (width < 0) {\n x = x + width;\n width = -width;\n }\n if (height < 0) {\n y = y + height;\n height = -height;\n }\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n BoundingRect.prototype.union = function (other) {\n var x = mathMin(other.x, this.x);\n var y = mathMin(other.y, this.y);\n if (isFinite(this.x) && isFinite(this.width)) {\n this.width = mathMax(other.x + other.width, this.x + this.width) - x;\n }\n else {\n this.width = other.width;\n }\n if (isFinite(this.y) && isFinite(this.height)) {\n this.height = mathMax(other.y + other.height, this.y + this.height) - y;\n }\n else {\n this.height = other.height;\n }\n this.x = x;\n this.y = y;\n };\n BoundingRect.prototype.applyTransform = function (m) {\n BoundingRect.applyTransform(this, this, m);\n };\n BoundingRect.prototype.calculateTransform = function (b) {\n var a = this;\n var sx = b.width / a.width;\n var sy = b.height / a.height;\n var m = matrix.create();\n matrix.translate(m, m, [-a.x, -a.y]);\n matrix.scale(m, m, [sx, sy]);\n matrix.translate(m, m, [b.x, b.y]);\n return m;\n };\n BoundingRect.prototype.intersect = function (b, mtv) {\n if (!b) {\n return false;\n }\n if (!(b instanceof BoundingRect)) {\n b = BoundingRect.create(b);\n }\n var a = this;\n var ax0 = a.x;\n var ax1 = a.x + a.width;\n var ay0 = a.y;\n var ay1 = a.y + a.height;\n var bx0 = b.x;\n var bx1 = b.x + b.width;\n var by0 = b.y;\n var by1 = b.y + b.height;\n var overlap = !(ax1 < bx0 || bx1 < ax0 || ay1 < by0 || by1 < ay0);\n if (mtv) {\n var dMin = Infinity;\n var dMax = 0;\n var d0 = Math.abs(ax1 - bx0);\n var d1 = Math.abs(bx1 - ax0);\n var d2 = Math.abs(ay1 - by0);\n var d3 = Math.abs(by1 - ay0);\n var dx = Math.min(d0, d1);\n var dy = Math.min(d2, d3);\n if (ax1 < bx0 || bx1 < ax0) {\n if (dx > dMax) {\n dMax = dx;\n if (d0 < d1) {\n Point.set(maxTv, -d0, 0);\n }\n else {\n Point.set(maxTv, d1, 0);\n }\n }\n }\n else {\n if (dx < dMin) {\n dMin = dx;\n if (d0 < d1) {\n Point.set(minTv, d0, 0);\n }\n else {\n Point.set(minTv, -d1, 0);\n }\n }\n }\n if (ay1 < by0 || by1 < ay0) {\n if (dy > dMax) {\n dMax = dy;\n if (d2 < d3) {\n Point.set(maxTv, 0, -d2);\n }\n else {\n Point.set(maxTv, 0, d3);\n }\n }\n }\n else {\n if (dx < dMin) {\n dMin = dx;\n if (d2 < d3) {\n Point.set(minTv, 0, d2);\n }\n else {\n Point.set(minTv, 0, -d3);\n }\n }\n }\n }\n if (mtv) {\n Point.copy(mtv, overlap ? minTv : maxTv);\n }\n return overlap;\n };\n BoundingRect.prototype.contain = function (x, y) {\n var rect = this;\n return x >= rect.x\n && x <= (rect.x + rect.width)\n && y >= rect.y\n && y <= (rect.y + rect.height);\n };\n BoundingRect.prototype.clone = function () {\n return new BoundingRect(this.x, this.y, this.width, this.height);\n };\n BoundingRect.prototype.copy = function (other) {\n BoundingRect.copy(this, other);\n };\n BoundingRect.prototype.plain = function () {\n return {\n x: this.x,\n y: this.y,\n width: this.width,\n height: this.height\n };\n };\n BoundingRect.prototype.isFinite = function () {\n return isFinite(this.x)\n && isFinite(this.y)\n && isFinite(this.width)\n && isFinite(this.height);\n };\n BoundingRect.prototype.isZero = function () {\n return this.width === 0 || this.height === 0;\n };\n BoundingRect.create = function (rect) {\n return new BoundingRect(rect.x, rect.y, rect.width, rect.height);\n };\n BoundingRect.copy = function (target, source) {\n target.x = source.x;\n target.y = source.y;\n target.width = source.width;\n target.height = source.height;\n };\n BoundingRect.applyTransform = function (target, source, m) {\n if (!m) {\n if (target !== source) {\n BoundingRect.copy(target, source);\n }\n return;\n }\n if (m[1] < 1e-5 && m[1] > -1e-5 && m[2] < 1e-5 && m[2] > -1e-5) {\n var sx = m[0];\n var sy = m[3];\n var tx = m[4];\n var ty = m[5];\n target.x = source.x * sx + tx;\n target.y = source.y * sy + ty;\n target.width = source.width * sx;\n target.height = source.height * sy;\n if (target.width < 0) {\n target.x += target.width;\n target.width = -target.width;\n }\n if (target.height < 0) {\n target.y += target.height;\n target.height = -target.height;\n }\n return;\n }\n lt.x = lb.x = source.x;\n lt.y = rt.y = source.y;\n rb.x = rt.x = source.x + source.width;\n rb.y = lb.y = source.y + source.height;\n lt.transform(m);\n rt.transform(m);\n rb.transform(m);\n lb.transform(m);\n target.x = mathMin(lt.x, rb.x, lb.x, rt.x);\n target.y = mathMin(lt.y, rb.y, lb.y, rt.y);\n var maxX = mathMax(lt.x, rb.x, lb.x, rt.x);\n var maxY = mathMax(lt.y, rb.y, lb.y, rt.y);\n target.width = maxX - target.x;\n target.height = maxY - target.y;\n };\n return BoundingRect;\n}());\nexport default BoundingRect;\n","import { __extends } from \"tslib\";\nimport * as util from './core/util.js';\nimport * as vec2 from './core/vector.js';\nimport Draggable from './mixin/Draggable.js';\nimport Eventful from './core/Eventful.js';\nimport * as eventTool from './core/event.js';\nimport { GestureMgr } from './core/GestureMgr.js';\nimport BoundingRect from './core/BoundingRect.js';\nvar SILENT = 'silent';\nfunction makeEventPacket(eveType, targetInfo, event) {\n return {\n type: eveType,\n event: event,\n target: targetInfo.target,\n topTarget: targetInfo.topTarget,\n cancelBubble: false,\n offsetX: event.zrX,\n offsetY: event.zrY,\n gestureEvent: event.gestureEvent,\n pinchX: event.pinchX,\n pinchY: event.pinchY,\n pinchScale: event.pinchScale,\n wheelDelta: event.zrDelta,\n zrByTouch: event.zrByTouch,\n which: event.which,\n stop: stopEvent\n };\n}\nfunction stopEvent() {\n eventTool.stop(this.event);\n}\nvar EmptyProxy = (function (_super) {\n __extends(EmptyProxy, _super);\n function EmptyProxy() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.handler = null;\n return _this;\n }\n EmptyProxy.prototype.dispose = function () { };\n EmptyProxy.prototype.setCursor = function () { };\n return EmptyProxy;\n}(Eventful));\nvar HoveredResult = (function () {\n function HoveredResult(x, y) {\n this.x = x;\n this.y = y;\n }\n return HoveredResult;\n}());\nvar handlerNames = [\n 'click', 'dblclick', 'mousewheel', 'mouseout',\n 'mouseup', 'mousedown', 'mousemove', 'contextmenu'\n];\nvar tmpRect = new BoundingRect(0, 0, 0, 0);\nvar Handler = (function (_super) {\n __extends(Handler, _super);\n function Handler(storage, painter, proxy, painterRoot, pointerSize) {\n var _this = _super.call(this) || this;\n _this._hovered = new HoveredResult(0, 0);\n _this.storage = storage;\n _this.painter = painter;\n _this.painterRoot = painterRoot;\n _this._pointerSize = pointerSize;\n proxy = proxy || new EmptyProxy();\n _this.proxy = null;\n _this.setHandlerProxy(proxy);\n _this._draggingMgr = new Draggable(_this);\n return _this;\n }\n Handler.prototype.setHandlerProxy = function (proxy) {\n if (this.proxy) {\n this.proxy.dispose();\n }\n if (proxy) {\n util.each(handlerNames, function (name) {\n proxy.on && proxy.on(name, this[name], this);\n }, this);\n proxy.handler = this;\n }\n this.proxy = proxy;\n };\n Handler.prototype.mousemove = function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var lastHovered = this._hovered;\n var lastHoveredTarget = lastHovered.target;\n if (lastHoveredTarget && !lastHoveredTarget.__zr) {\n lastHovered = this.findHover(lastHovered.x, lastHovered.y);\n lastHoveredTarget = lastHovered.target;\n }\n var hovered = this._hovered = isOutside ? new HoveredResult(x, y) : this.findHover(x, y);\n var hoveredTarget = hovered.target;\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(hoveredTarget ? hoveredTarget.cursor : 'default');\n if (lastHoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(lastHovered, 'mouseout', event);\n }\n this.dispatchToElement(hovered, 'mousemove', event);\n if (hoveredTarget && hoveredTarget !== lastHoveredTarget) {\n this.dispatchToElement(hovered, 'mouseover', event);\n }\n };\n Handler.prototype.mouseout = function (event) {\n var eventControl = event.zrEventControl;\n if (eventControl !== 'only_globalout') {\n this.dispatchToElement(this._hovered, 'mouseout', event);\n }\n if (eventControl !== 'no_globalout') {\n this.trigger('globalout', { type: 'globalout', event: event });\n }\n };\n Handler.prototype.resize = function () {\n this._hovered = new HoveredResult(0, 0);\n };\n Handler.prototype.dispatch = function (eventName, eventArgs) {\n var handler = this[eventName];\n handler && handler.call(this, eventArgs);\n };\n Handler.prototype.dispose = function () {\n this.proxy.dispose();\n this.storage = null;\n this.proxy = null;\n this.painter = null;\n };\n Handler.prototype.setCursorStyle = function (cursorStyle) {\n var proxy = this.proxy;\n proxy.setCursor && proxy.setCursor(cursorStyle);\n };\n Handler.prototype.dispatchToElement = function (targetInfo, eventName, event) {\n targetInfo = targetInfo || {};\n var el = targetInfo.target;\n if (el && el.silent) {\n return;\n }\n var eventKey = ('on' + eventName);\n var eventPacket = makeEventPacket(eventName, targetInfo, event);\n while (el) {\n el[eventKey]\n && (eventPacket.cancelBubble = !!el[eventKey].call(el, eventPacket));\n el.trigger(eventName, eventPacket);\n el = el.__hostTarget ? el.__hostTarget : el.parent;\n if (eventPacket.cancelBubble) {\n break;\n }\n }\n if (!eventPacket.cancelBubble) {\n this.trigger(eventName, eventPacket);\n if (this.painter && this.painter.eachOtherLayer) {\n this.painter.eachOtherLayer(function (layer) {\n if (typeof (layer[eventKey]) === 'function') {\n layer[eventKey].call(layer, eventPacket);\n }\n if (layer.trigger) {\n layer.trigger(eventName, eventPacket);\n }\n });\n }\n }\n };\n Handler.prototype.findHover = function (x, y, exclude) {\n var list = this.storage.getDisplayList();\n var out = new HoveredResult(x, y);\n setHoverTarget(list, out, x, y, exclude);\n if (this._pointerSize && !out.target) {\n var candidates = [];\n var pointerSize = this._pointerSize;\n var targetSizeHalf = pointerSize / 2;\n var pointerRect = new BoundingRect(x - targetSizeHalf, y - targetSizeHalf, pointerSize, pointerSize);\n for (var i = list.length - 1; i >= 0; i--) {\n var el = list[i];\n if (el !== exclude\n && !el.ignore\n && !el.ignoreCoarsePointer\n && (!el.parent || !el.parent.ignoreCoarsePointer)) {\n tmpRect.copy(el.getBoundingRect());\n if (el.transform) {\n tmpRect.applyTransform(el.transform);\n }\n if (tmpRect.intersect(pointerRect)) {\n candidates.push(el);\n }\n }\n }\n if (candidates.length) {\n var rStep = 4;\n var thetaStep = Math.PI / 12;\n var PI2 = Math.PI * 2;\n for (var r = 0; r < targetSizeHalf; r += rStep) {\n for (var theta = 0; theta < PI2; theta += thetaStep) {\n var x1 = x + r * Math.cos(theta);\n var y1 = y + r * Math.sin(theta);\n setHoverTarget(candidates, out, x1, y1, exclude);\n if (out.target) {\n return out;\n }\n }\n }\n }\n }\n return out;\n };\n Handler.prototype.processGesture = function (event, stage) {\n if (!this._gestureMgr) {\n this._gestureMgr = new GestureMgr();\n }\n var gestureMgr = this._gestureMgr;\n stage === 'start' && gestureMgr.clear();\n var gestureInfo = gestureMgr.recognize(event, this.findHover(event.zrX, event.zrY, null).target, this.proxy.dom);\n stage === 'end' && gestureMgr.clear();\n if (gestureInfo) {\n var type = gestureInfo.type;\n event.gestureEvent = type;\n var res = new HoveredResult();\n res.target = gestureInfo.target;\n this.dispatchToElement(res, type, gestureInfo.event);\n }\n };\n return Handler;\n}(Eventful));\nutil.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (name) {\n Handler.prototype[name] = function (event) {\n var x = event.zrX;\n var y = event.zrY;\n var isOutside = isOutsideBoundary(this, x, y);\n var hovered;\n var hoveredTarget;\n if (name !== 'mouseup' || !isOutside) {\n hovered = this.findHover(x, y);\n hoveredTarget = hovered.target;\n }\n if (name === 'mousedown') {\n this._downEl = hoveredTarget;\n this._downPoint = [event.zrX, event.zrY];\n this._upEl = hoveredTarget;\n }\n else if (name === 'mouseup') {\n this._upEl = hoveredTarget;\n }\n else if (name === 'click') {\n if (this._downEl !== this._upEl\n || !this._downPoint\n || vec2.dist(this._downPoint, [event.zrX, event.zrY]) > 4) {\n return;\n }\n this._downPoint = null;\n }\n this.dispatchToElement(hovered, name, event);\n };\n});\nfunction isHover(displayable, x, y) {\n if (displayable[displayable.rectHover ? 'rectContain' : 'contain'](x, y)) {\n var el = displayable;\n var isSilent = void 0;\n var ignoreClip = false;\n while (el) {\n if (el.ignoreClip) {\n ignoreClip = true;\n }\n if (!ignoreClip) {\n var clipPath = el.getClipPath();\n if (clipPath && !clipPath.contain(x, y)) {\n return false;\n }\n if (el.silent) {\n isSilent = true;\n }\n }\n var hostEl = el.__hostTarget;\n el = hostEl ? hostEl : el.parent;\n }\n return isSilent ? SILENT : true;\n }\n return false;\n}\nfunction setHoverTarget(list, out, x, y, exclude) {\n for (var i = list.length - 1; i >= 0; i--) {\n var el = list[i];\n var hoverCheckResult = void 0;\n if (el !== exclude\n && !el.ignore\n && (hoverCheckResult = isHover(el, x, y))) {\n !out.topTarget && (out.topTarget = el);\n if (hoverCheckResult !== SILENT) {\n out.target = el;\n break;\n }\n }\n }\n}\nfunction isOutsideBoundary(handlerInstance, x, y) {\n var painter = handlerInstance.painter;\n return x < 0 || x > painter.getWidth() || y < 0 || y > painter.getHeight();\n}\nexport default Handler;\n","var DEFAULT_MIN_MERGE = 32;\nvar DEFAULT_MIN_GALLOPING = 7;\nvar DEFAULT_TMP_STORAGE_LENGTH = 256;\nfunction minRunLength(n) {\n var r = 0;\n while (n >= DEFAULT_MIN_MERGE) {\n r |= n & 1;\n n >>= 1;\n }\n return n + r;\n}\nfunction makeAscendingRun(array, lo, hi, compare) {\n var runHi = lo + 1;\n if (runHi === hi) {\n return 1;\n }\n if (compare(array[runHi++], array[lo]) < 0) {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) < 0) {\n runHi++;\n }\n reverseRun(array, lo, runHi);\n }\n else {\n while (runHi < hi && compare(array[runHi], array[runHi - 1]) >= 0) {\n runHi++;\n }\n }\n return runHi - lo;\n}\nfunction reverseRun(array, lo, hi) {\n hi--;\n while (lo < hi) {\n var t = array[lo];\n array[lo++] = array[hi];\n array[hi--] = t;\n }\n}\nfunction binaryInsertionSort(array, lo, hi, start, compare) {\n if (start === lo) {\n start++;\n }\n for (; start < hi; start++) {\n var pivot = array[start];\n var left = lo;\n var right = start;\n var mid;\n while (left < right) {\n mid = left + right >>> 1;\n if (compare(pivot, array[mid]) < 0) {\n right = mid;\n }\n else {\n left = mid + 1;\n }\n }\n var n = start - left;\n switch (n) {\n case 3:\n array[left + 3] = array[left + 2];\n case 2:\n array[left + 2] = array[left + 1];\n case 1:\n array[left + 1] = array[left];\n break;\n default:\n while (n > 0) {\n array[left + n] = array[left + n - 1];\n n--;\n }\n }\n array[left] = pivot;\n }\n}\nfunction gallopLeft(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n if (compare(value, array[start + hint]) > 0) {\n maxOffset = length - hint;\n while (offset < maxOffset && compare(value, array[start + hint + offset]) > 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n lastOffset += hint;\n offset += hint;\n }\n else {\n maxOffset = hint + 1;\n while (offset < maxOffset && compare(value, array[start + hint - offset]) <= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n lastOffset++;\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n if (compare(value, array[start + m]) > 0) {\n lastOffset = m + 1;\n }\n else {\n offset = m;\n }\n }\n return offset;\n}\nfunction gallopRight(value, array, start, length, hint, compare) {\n var lastOffset = 0;\n var maxOffset = 0;\n var offset = 1;\n if (compare(value, array[start + hint]) < 0) {\n maxOffset = hint + 1;\n while (offset < maxOffset && compare(value, array[start + hint - offset]) < 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n var tmp = lastOffset;\n lastOffset = hint - offset;\n offset = hint - tmp;\n }\n else {\n maxOffset = length - hint;\n while (offset < maxOffset && compare(value, array[start + hint + offset]) >= 0) {\n lastOffset = offset;\n offset = (offset << 1) + 1;\n if (offset <= 0) {\n offset = maxOffset;\n }\n }\n if (offset > maxOffset) {\n offset = maxOffset;\n }\n lastOffset += hint;\n offset += hint;\n }\n lastOffset++;\n while (lastOffset < offset) {\n var m = lastOffset + (offset - lastOffset >>> 1);\n if (compare(value, array[start + m]) < 0) {\n offset = m;\n }\n else {\n lastOffset = m + 1;\n }\n }\n return offset;\n}\nfunction TimSort(array, compare) {\n var minGallop = DEFAULT_MIN_GALLOPING;\n var length = 0;\n var tmpStorageLength = DEFAULT_TMP_STORAGE_LENGTH;\n var stackLength = 0;\n var runStart;\n var runLength;\n var stackSize = 0;\n length = array.length;\n if (length < 2 * DEFAULT_TMP_STORAGE_LENGTH) {\n tmpStorageLength = length >>> 1;\n }\n var tmp = [];\n stackLength = length < 120 ? 5 : length < 1542 ? 10 : length < 119151 ? 19 : 40;\n runStart = [];\n runLength = [];\n function pushRun(_runStart, _runLength) {\n runStart[stackSize] = _runStart;\n runLength[stackSize] = _runLength;\n stackSize += 1;\n }\n function mergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n if ((n >= 1 && runLength[n - 1] <= runLength[n] + runLength[n + 1])\n || (n >= 2 && runLength[n - 2] <= runLength[n] + runLength[n - 1])) {\n if (runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n }\n else if (runLength[n] > runLength[n + 1]) {\n break;\n }\n mergeAt(n);\n }\n }\n function forceMergeRuns() {\n while (stackSize > 1) {\n var n = stackSize - 2;\n if (n > 0 && runLength[n - 1] < runLength[n + 1]) {\n n--;\n }\n mergeAt(n);\n }\n }\n function mergeAt(i) {\n var start1 = runStart[i];\n var length1 = runLength[i];\n var start2 = runStart[i + 1];\n var length2 = runLength[i + 1];\n runLength[i] = length1 + length2;\n if (i === stackSize - 3) {\n runStart[i + 1] = runStart[i + 2];\n runLength[i + 1] = runLength[i + 2];\n }\n stackSize--;\n var k = gallopRight(array[start2], array, start1, length1, 0, compare);\n start1 += k;\n length1 -= k;\n if (length1 === 0) {\n return;\n }\n length2 = gallopLeft(array[start1 + length1 - 1], array, start2, length2, length2 - 1, compare);\n if (length2 === 0) {\n return;\n }\n if (length1 <= length2) {\n mergeLow(start1, length1, start2, length2);\n }\n else {\n mergeHigh(start1, length1, start2, length2);\n }\n }\n function mergeLow(start1, length1, start2, length2) {\n var i = 0;\n for (i = 0; i < length1; i++) {\n tmp[i] = array[start1 + i];\n }\n var cursor1 = 0;\n var cursor2 = start2;\n var dest = start1;\n array[dest++] = array[cursor2++];\n if (--length2 === 0) {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n return;\n }\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n array[dest + length2] = tmp[cursor1];\n return;\n }\n var _minGallop = minGallop;\n var count1;\n var count2;\n var exit;\n while (1) {\n count1 = 0;\n count2 = 0;\n exit = false;\n do {\n if (compare(array[cursor2], tmp[cursor1]) < 0) {\n array[dest++] = array[cursor2++];\n count2++;\n count1 = 0;\n if (--length2 === 0) {\n exit = true;\n break;\n }\n }\n else {\n array[dest++] = tmp[cursor1++];\n count1++;\n count2 = 0;\n if (--length1 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n if (exit) {\n break;\n }\n do {\n count1 = gallopRight(array[cursor2], tmp, cursor1, length1, 0, compare);\n if (count1 !== 0) {\n for (i = 0; i < count1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n dest += count1;\n cursor1 += count1;\n length1 -= count1;\n if (length1 <= 1) {\n exit = true;\n break;\n }\n }\n array[dest++] = array[cursor2++];\n if (--length2 === 0) {\n exit = true;\n break;\n }\n count2 = gallopLeft(tmp[cursor1], array, cursor2, length2, 0, compare);\n if (count2 !== 0) {\n for (i = 0; i < count2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n dest += count2;\n cursor2 += count2;\n length2 -= count2;\n if (length2 === 0) {\n exit = true;\n break;\n }\n }\n array[dest++] = tmp[cursor1++];\n if (--length1 === 1) {\n exit = true;\n break;\n }\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n if (exit) {\n break;\n }\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n _minGallop += 2;\n }\n minGallop = _minGallop;\n minGallop < 1 && (minGallop = 1);\n if (length1 === 1) {\n for (i = 0; i < length2; i++) {\n array[dest + i] = array[cursor2 + i];\n }\n array[dest + length2] = tmp[cursor1];\n }\n else if (length1 === 0) {\n throw new Error();\n }\n else {\n for (i = 0; i < length1; i++) {\n array[dest + i] = tmp[cursor1 + i];\n }\n }\n }\n function mergeHigh(start1, length1, start2, length2) {\n var i = 0;\n for (i = 0; i < length2; i++) {\n tmp[i] = array[start2 + i];\n }\n var cursor1 = start1 + length1 - 1;\n var cursor2 = length2 - 1;\n var dest = start2 + length2 - 1;\n var customCursor = 0;\n var customDest = 0;\n array[dest--] = array[cursor1--];\n if (--length1 === 0) {\n customCursor = dest - (length2 - 1);\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n return;\n }\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n array[dest] = tmp[cursor2];\n return;\n }\n var _minGallop = minGallop;\n while (true) {\n var count1 = 0;\n var count2 = 0;\n var exit = false;\n do {\n if (compare(tmp[cursor2], array[cursor1]) < 0) {\n array[dest--] = array[cursor1--];\n count1++;\n count2 = 0;\n if (--length1 === 0) {\n exit = true;\n break;\n }\n }\n else {\n array[dest--] = tmp[cursor2--];\n count2++;\n count1 = 0;\n if (--length2 === 1) {\n exit = true;\n break;\n }\n }\n } while ((count1 | count2) < _minGallop);\n if (exit) {\n break;\n }\n do {\n count1 = length1 - gallopRight(tmp[cursor2], array, start1, length1, length1 - 1, compare);\n if (count1 !== 0) {\n dest -= count1;\n cursor1 -= count1;\n length1 -= count1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n for (i = count1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n if (length1 === 0) {\n exit = true;\n break;\n }\n }\n array[dest--] = tmp[cursor2--];\n if (--length2 === 1) {\n exit = true;\n break;\n }\n count2 = length2 - gallopLeft(array[cursor1], tmp, 0, length2, length2 - 1, compare);\n if (count2 !== 0) {\n dest -= count2;\n cursor2 -= count2;\n length2 -= count2;\n customDest = dest + 1;\n customCursor = cursor2 + 1;\n for (i = 0; i < count2; i++) {\n array[customDest + i] = tmp[customCursor + i];\n }\n if (length2 <= 1) {\n exit = true;\n break;\n }\n }\n array[dest--] = array[cursor1--];\n if (--length1 === 0) {\n exit = true;\n break;\n }\n _minGallop--;\n } while (count1 >= DEFAULT_MIN_GALLOPING || count2 >= DEFAULT_MIN_GALLOPING);\n if (exit) {\n break;\n }\n if (_minGallop < 0) {\n _minGallop = 0;\n }\n _minGallop += 2;\n }\n minGallop = _minGallop;\n if (minGallop < 1) {\n minGallop = 1;\n }\n if (length2 === 1) {\n dest -= length1;\n cursor1 -= length1;\n customDest = dest + 1;\n customCursor = cursor1 + 1;\n for (i = length1 - 1; i >= 0; i--) {\n array[customDest + i] = array[customCursor + i];\n }\n array[dest] = tmp[cursor2];\n }\n else if (length2 === 0) {\n throw new Error();\n }\n else {\n customCursor = dest - (length2 - 1);\n for (i = 0; i < length2; i++) {\n array[customCursor + i] = tmp[i];\n }\n }\n }\n return {\n mergeRuns: mergeRuns,\n forceMergeRuns: forceMergeRuns,\n pushRun: pushRun\n };\n}\nexport default function sort(array, compare, lo, hi) {\n if (!lo) {\n lo = 0;\n }\n if (!hi) {\n hi = array.length;\n }\n var remaining = hi - lo;\n if (remaining < 2) {\n return;\n }\n var runLength = 0;\n if (remaining < DEFAULT_MIN_MERGE) {\n runLength = makeAscendingRun(array, lo, hi, compare);\n binaryInsertionSort(array, lo, hi, lo + runLength, compare);\n return;\n }\n var ts = TimSort(array, compare);\n var minRun = minRunLength(remaining);\n do {\n runLength = makeAscendingRun(array, lo, hi, compare);\n if (runLength < minRun) {\n var force = remaining;\n if (force > minRun) {\n force = minRun;\n }\n binaryInsertionSort(array, lo, lo + force, lo + runLength, compare);\n runLength = force;\n }\n ts.pushRun(lo, runLength);\n ts.mergeRuns();\n remaining -= runLength;\n lo += runLength;\n } while (remaining !== 0);\n ts.forceMergeRuns();\n}\n","export var REDRAW_BIT = 1;\nexport var STYLE_CHANGED_BIT = 2;\nexport var SHAPE_CHANGED_BIT = 4;\n","import * as util from './core/util.js';\nimport timsort from './core/timsort.js';\nimport { REDRAW_BIT } from './graphic/constants.js';\nvar invalidZErrorLogged = false;\nfunction logInvalidZError() {\n if (invalidZErrorLogged) {\n return;\n }\n invalidZErrorLogged = true;\n console.warn('z / z2 / zlevel of displayable is invalid, which may cause unexpected errors');\n}\nfunction shapeCompareFunc(a, b) {\n if (a.zlevel === b.zlevel) {\n if (a.z === b.z) {\n return a.z2 - b.z2;\n }\n return a.z - b.z;\n }\n return a.zlevel - b.zlevel;\n}\nvar Storage = (function () {\n function Storage() {\n this._roots = [];\n this._displayList = [];\n this._displayListLen = 0;\n this.displayableSortFunc = shapeCompareFunc;\n }\n Storage.prototype.traverse = function (cb, context) {\n for (var i = 0; i < this._roots.length; i++) {\n this._roots[i].traverse(cb, context);\n }\n };\n Storage.prototype.getDisplayList = function (update, includeIgnore) {\n includeIgnore = includeIgnore || false;\n var displayList = this._displayList;\n if (update || !displayList.length) {\n this.updateDisplayList(includeIgnore);\n }\n return displayList;\n };\n Storage.prototype.updateDisplayList = function (includeIgnore) {\n this._displayListLen = 0;\n var roots = this._roots;\n var displayList = this._displayList;\n for (var i = 0, len = roots.length; i < len; i++) {\n this._updateAndAddDisplayable(roots[i], null, includeIgnore);\n }\n displayList.length = this._displayListLen;\n timsort(displayList, shapeCompareFunc);\n };\n Storage.prototype._updateAndAddDisplayable = function (el, clipPaths, includeIgnore) {\n if (el.ignore && !includeIgnore) {\n return;\n }\n el.beforeUpdate();\n el.update();\n el.afterUpdate();\n var userSetClipPath = el.getClipPath();\n if (el.ignoreClip) {\n clipPaths = null;\n }\n else if (userSetClipPath) {\n if (clipPaths) {\n clipPaths = clipPaths.slice();\n }\n else {\n clipPaths = [];\n }\n var currentClipPath = userSetClipPath;\n var parentClipPath = el;\n while (currentClipPath) {\n currentClipPath.parent = parentClipPath;\n currentClipPath.updateTransform();\n clipPaths.push(currentClipPath);\n parentClipPath = currentClipPath;\n currentClipPath = currentClipPath.getClipPath();\n }\n }\n if (el.childrenRef) {\n var children = el.childrenRef();\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (el.__dirty) {\n child.__dirty |= REDRAW_BIT;\n }\n this._updateAndAddDisplayable(child, clipPaths, includeIgnore);\n }\n el.__dirty = 0;\n }\n else {\n var disp = el;\n if (clipPaths && clipPaths.length) {\n disp.__clipPaths = clipPaths;\n }\n else if (disp.__clipPaths && disp.__clipPaths.length > 0) {\n disp.__clipPaths = [];\n }\n if (isNaN(disp.z)) {\n logInvalidZError();\n disp.z = 0;\n }\n if (isNaN(disp.z2)) {\n logInvalidZError();\n disp.z2 = 0;\n }\n if (isNaN(disp.zlevel)) {\n logInvalidZError();\n disp.zlevel = 0;\n }\n this._displayList[this._displayListLen++] = disp;\n }\n var decalEl = el.getDecalElement && el.getDecalElement();\n if (decalEl) {\n this._updateAndAddDisplayable(decalEl, clipPaths, includeIgnore);\n }\n var textGuide = el.getTextGuideLine();\n if (textGuide) {\n this._updateAndAddDisplayable(textGuide, clipPaths, includeIgnore);\n }\n var textEl = el.getTextContent();\n if (textEl) {\n this._updateAndAddDisplayable(textEl, clipPaths, includeIgnore);\n }\n };\n Storage.prototype.addRoot = function (el) {\n if (el.__zr && el.__zr.storage === this) {\n return;\n }\n this._roots.push(el);\n };\n Storage.prototype.delRoot = function (el) {\n if (el instanceof Array) {\n for (var i = 0, l = el.length; i < l; i++) {\n this.delRoot(el[i]);\n }\n return;\n }\n var idx = util.indexOf(this._roots, el);\n if (idx >= 0) {\n this._roots.splice(idx, 1);\n }\n };\n Storage.prototype.delAllRoots = function () {\n this._roots = [];\n this._displayList = [];\n this._displayListLen = 0;\n return;\n };\n Storage.prototype.getRoots = function () {\n return this._roots;\n };\n Storage.prototype.dispose = function () {\n this._displayList = null;\n this._roots = null;\n };\n return Storage;\n}());\nexport default Storage;\n","import env from '../core/env.js';\nvar requestAnimationFrame;\nrequestAnimationFrame = (env.hasGlobalWindow\n && ((window.requestAnimationFrame && window.requestAnimationFrame.bind(window))\n || (window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window))\n || window.mozRequestAnimationFrame\n || window.webkitRequestAnimationFrame)) || function (func) {\n return setTimeout(func, 16);\n};\nexport default requestAnimationFrame;\n","var easingFuncs = {\n linear: function (k) {\n return k;\n },\n quadraticIn: function (k) {\n return k * k;\n },\n quadraticOut: function (k) {\n return k * (2 - k);\n },\n quadraticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k;\n }\n return -0.5 * (--k * (k - 2) - 1);\n },\n cubicIn: function (k) {\n return k * k * k;\n },\n cubicOut: function (k) {\n return --k * k * k + 1;\n },\n cubicInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k;\n }\n return 0.5 * ((k -= 2) * k * k + 2);\n },\n quarticIn: function (k) {\n return k * k * k * k;\n },\n quarticOut: function (k) {\n return 1 - (--k * k * k * k);\n },\n quarticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k;\n }\n return -0.5 * ((k -= 2) * k * k * k - 2);\n },\n quinticIn: function (k) {\n return k * k * k * k * k;\n },\n quinticOut: function (k) {\n return --k * k * k * k * k + 1;\n },\n quinticInOut: function (k) {\n if ((k *= 2) < 1) {\n return 0.5 * k * k * k * k * k;\n }\n return 0.5 * ((k -= 2) * k * k * k * k + 2);\n },\n sinusoidalIn: function (k) {\n return 1 - Math.cos(k * Math.PI / 2);\n },\n sinusoidalOut: function (k) {\n return Math.sin(k * Math.PI / 2);\n },\n sinusoidalInOut: function (k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n },\n exponentialIn: function (k) {\n return k === 0 ? 0 : Math.pow(1024, k - 1);\n },\n exponentialOut: function (k) {\n return k === 1 ? 1 : 1 - Math.pow(2, -10 * k);\n },\n exponentialInOut: function (k) {\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if ((k *= 2) < 1) {\n return 0.5 * Math.pow(1024, k - 1);\n }\n return 0.5 * (-Math.pow(2, -10 * (k - 1)) + 2);\n },\n circularIn: function (k) {\n return 1 - Math.sqrt(1 - k * k);\n },\n circularOut: function (k) {\n return Math.sqrt(1 - (--k * k));\n },\n circularInOut: function (k) {\n if ((k *= 2) < 1) {\n return -0.5 * (Math.sqrt(1 - k * k) - 1);\n }\n return 0.5 * (Math.sqrt(1 - (k -= 2) * k) + 1);\n },\n elasticIn: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n }\n else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n return -(a * Math.pow(2, 10 * (k -= 1))\n * Math.sin((k - s) * (2 * Math.PI) / p));\n },\n elasticOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n }\n else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n return (a * Math.pow(2, -10 * k)\n * Math.sin((k - s) * (2 * Math.PI) / p) + 1);\n },\n elasticInOut: function (k) {\n var s;\n var a = 0.1;\n var p = 0.4;\n if (k === 0) {\n return 0;\n }\n if (k === 1) {\n return 1;\n }\n if (!a || a < 1) {\n a = 1;\n s = p / 4;\n }\n else {\n s = p * Math.asin(1 / a) / (2 * Math.PI);\n }\n if ((k *= 2) < 1) {\n return -0.5 * (a * Math.pow(2, 10 * (k -= 1))\n * Math.sin((k - s) * (2 * Math.PI) / p));\n }\n return a * Math.pow(2, -10 * (k -= 1))\n * Math.sin((k - s) * (2 * Math.PI) / p) * 0.5 + 1;\n },\n backIn: function (k) {\n var s = 1.70158;\n return k * k * ((s + 1) * k - s);\n },\n backOut: function (k) {\n var s = 1.70158;\n return --k * k * ((s + 1) * k + s) + 1;\n },\n backInOut: function (k) {\n var s = 1.70158 * 1.525;\n if ((k *= 2) < 1) {\n return 0.5 * (k * k * ((s + 1) * k - s));\n }\n return 0.5 * ((k -= 2) * k * ((s + 1) * k + s) + 2);\n },\n bounceIn: function (k) {\n return 1 - easingFuncs.bounceOut(1 - k);\n },\n bounceOut: function (k) {\n if (k < (1 / 2.75)) {\n return 7.5625 * k * k;\n }\n else if (k < (2 / 2.75)) {\n return 7.5625 * (k -= (1.5 / 2.75)) * k + 0.75;\n }\n else if (k < (2.5 / 2.75)) {\n return 7.5625 * (k -= (2.25 / 2.75)) * k + 0.9375;\n }\n else {\n return 7.5625 * (k -= (2.625 / 2.75)) * k + 0.984375;\n }\n },\n bounceInOut: function (k) {\n if (k < 0.5) {\n return easingFuncs.bounceIn(k * 2) * 0.5;\n }\n return easingFuncs.bounceOut(k * 2 - 1) * 0.5 + 0.5;\n }\n};\nexport default easingFuncs;\n","import { create as v2Create, distSquare as v2DistSquare } from './vector.js';\nvar mathPow = Math.pow;\nvar mathSqrt = Math.sqrt;\nvar EPSILON = 1e-8;\nvar EPSILON_NUMERIC = 1e-4;\nvar THREE_SQRT = mathSqrt(3);\nvar ONE_THIRD = 1 / 3;\nvar _v0 = v2Create();\nvar _v1 = v2Create();\nvar _v2 = v2Create();\nfunction isAroundZero(val) {\n return val > -EPSILON && val < EPSILON;\n}\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\nexport function cubicAt(p0, p1, p2, p3, t) {\n var onet = 1 - t;\n return onet * onet * (onet * p0 + 3 * t * p1)\n + t * t * (t * p3 + 3 * onet * p2);\n}\nexport function cubicDerivativeAt(p0, p1, p2, p3, t) {\n var onet = 1 - t;\n return 3 * (((p1 - p0) * onet + 2 * (p2 - p1) * t) * onet\n + (p3 - p2) * t * t);\n}\nexport function cubicRootAt(p0, p1, p2, p3, val, roots) {\n var a = p3 + 3 * (p1 - p2) - p0;\n var b = 3 * (p2 - p1 * 2 + p0);\n var c = 3 * (p1 - p0);\n var d = p0 - val;\n var A = b * b - 3 * a * c;\n var B = b * c - 9 * a * d;\n var C = c * c - 3 * b * d;\n var n = 0;\n if (isAroundZero(A) && isAroundZero(B)) {\n if (isAroundZero(b)) {\n roots[0] = 0;\n }\n else {\n var t1 = -c / b;\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n }\n else {\n var disc = B * B - 4 * A * C;\n if (isAroundZero(disc)) {\n var K = B / A;\n var t1 = -b / a + K;\n var t2 = -K / 2;\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n }\n else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var Y1 = A * b + 1.5 * a * (-B + discSqrt);\n var Y2 = A * b + 1.5 * a * (-B - discSqrt);\n if (Y1 < 0) {\n Y1 = -mathPow(-Y1, ONE_THIRD);\n }\n else {\n Y1 = mathPow(Y1, ONE_THIRD);\n }\n if (Y2 < 0) {\n Y2 = -mathPow(-Y2, ONE_THIRD);\n }\n else {\n Y2 = mathPow(Y2, ONE_THIRD);\n }\n var t1 = (-b - (Y1 + Y2)) / (3 * a);\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n else {\n var T = (2 * A * b - 3 * a * B) / (2 * mathSqrt(A * A * A));\n var theta = Math.acos(T) / 3;\n var ASqrt = mathSqrt(A);\n var tmp = Math.cos(theta);\n var t1 = (-b - 2 * ASqrt * tmp) / (3 * a);\n var t2 = (-b + ASqrt * (tmp + THREE_SQRT * Math.sin(theta))) / (3 * a);\n var t3 = (-b + ASqrt * (tmp - THREE_SQRT * Math.sin(theta))) / (3 * a);\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n if (t3 >= 0 && t3 <= 1) {\n roots[n++] = t3;\n }\n }\n }\n return n;\n}\nexport function cubicExtrema(p0, p1, p2, p3, extrema) {\n var b = 6 * p2 - 12 * p1 + 6 * p0;\n var a = 9 * p1 + 3 * p3 - 3 * p0 - 9 * p2;\n var c = 3 * p1 - 3 * p0;\n var n = 0;\n if (isAroundZero(a)) {\n if (isNotAroundZero(b)) {\n var t1 = -c / b;\n if (t1 >= 0 && t1 <= 1) {\n extrema[n++] = t1;\n }\n }\n }\n else {\n var disc = b * b - 4 * a * c;\n if (isAroundZero(disc)) {\n extrema[0] = -b / (2 * a);\n }\n else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var t1 = (-b + discSqrt) / (2 * a);\n var t2 = (-b - discSqrt) / (2 * a);\n if (t1 >= 0 && t1 <= 1) {\n extrema[n++] = t1;\n }\n if (t2 >= 0 && t2 <= 1) {\n extrema[n++] = t2;\n }\n }\n }\n return n;\n}\nexport function cubicSubdivide(p0, p1, p2, p3, t, out) {\n var p01 = (p1 - p0) * t + p0;\n var p12 = (p2 - p1) * t + p1;\n var p23 = (p3 - p2) * t + p2;\n var p012 = (p12 - p01) * t + p01;\n var p123 = (p23 - p12) * t + p12;\n var p0123 = (p123 - p012) * t + p012;\n out[0] = p0;\n out[1] = p01;\n out[2] = p012;\n out[3] = p0123;\n out[4] = p0123;\n out[5] = p123;\n out[6] = p23;\n out[7] = p3;\n}\nexport function cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, out) {\n var t;\n var interval = 0.005;\n var d = Infinity;\n var prev;\n var next;\n var d1;\n var d2;\n _v0[0] = x;\n _v0[1] = y;\n for (var _t = 0; _t < 1; _t += 0.05) {\n _v1[0] = cubicAt(x0, x1, x2, x3, _t);\n _v1[1] = cubicAt(y0, y1, y2, y3, _t);\n d1 = v2DistSquare(_v0, _v1);\n if (d1 < d) {\n t = _t;\n d = d1;\n }\n }\n d = Infinity;\n for (var i = 0; i < 32; i++) {\n if (interval < EPSILON_NUMERIC) {\n break;\n }\n prev = t - interval;\n next = t + interval;\n _v1[0] = cubicAt(x0, x1, x2, x3, prev);\n _v1[1] = cubicAt(y0, y1, y2, y3, prev);\n d1 = v2DistSquare(_v1, _v0);\n if (prev >= 0 && d1 < d) {\n t = prev;\n d = d1;\n }\n else {\n _v2[0] = cubicAt(x0, x1, x2, x3, next);\n _v2[1] = cubicAt(y0, y1, y2, y3, next);\n d2 = v2DistSquare(_v2, _v0);\n if (next <= 1 && d2 < d) {\n t = next;\n d = d2;\n }\n else {\n interval *= 0.5;\n }\n }\n }\n if (out) {\n out[0] = cubicAt(x0, x1, x2, x3, t);\n out[1] = cubicAt(y0, y1, y2, y3, t);\n }\n return mathSqrt(d);\n}\nexport function cubicLength(x0, y0, x1, y1, x2, y2, x3, y3, iteration) {\n var px = x0;\n var py = y0;\n var d = 0;\n var step = 1 / iteration;\n for (var i = 1; i <= iteration; i++) {\n var t = i * step;\n var x = cubicAt(x0, x1, x2, x3, t);\n var y = cubicAt(y0, y1, y2, y3, t);\n var dx = x - px;\n var dy = y - py;\n d += Math.sqrt(dx * dx + dy * dy);\n px = x;\n py = y;\n }\n return d;\n}\nexport function quadraticAt(p0, p1, p2, t) {\n var onet = 1 - t;\n return onet * (onet * p0 + 2 * t * p1) + t * t * p2;\n}\nexport function quadraticDerivativeAt(p0, p1, p2, t) {\n return 2 * ((1 - t) * (p1 - p0) + t * (p2 - p1));\n}\nexport function quadraticRootAt(p0, p1, p2, val, roots) {\n var a = p0 - 2 * p1 + p2;\n var b = 2 * (p1 - p0);\n var c = p0 - val;\n var n = 0;\n if (isAroundZero(a)) {\n if (isNotAroundZero(b)) {\n var t1 = -c / b;\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n }\n else {\n var disc = b * b - 4 * a * c;\n if (isAroundZero(disc)) {\n var t1 = -b / (2 * a);\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n }\n else if (disc > 0) {\n var discSqrt = mathSqrt(disc);\n var t1 = (-b + discSqrt) / (2 * a);\n var t2 = (-b - discSqrt) / (2 * a);\n if (t1 >= 0 && t1 <= 1) {\n roots[n++] = t1;\n }\n if (t2 >= 0 && t2 <= 1) {\n roots[n++] = t2;\n }\n }\n }\n return n;\n}\nexport function quadraticExtremum(p0, p1, p2) {\n var divider = p0 + p2 - 2 * p1;\n if (divider === 0) {\n return 0.5;\n }\n else {\n return (p0 - p1) / divider;\n }\n}\nexport function quadraticSubdivide(p0, p1, p2, t, out) {\n var p01 = (p1 - p0) * t + p0;\n var p12 = (p2 - p1) * t + p1;\n var p012 = (p12 - p01) * t + p01;\n out[0] = p0;\n out[1] = p01;\n out[2] = p012;\n out[3] = p012;\n out[4] = p12;\n out[5] = p2;\n}\nexport function quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x, y, out) {\n var t;\n var interval = 0.005;\n var d = Infinity;\n _v0[0] = x;\n _v0[1] = y;\n for (var _t = 0; _t < 1; _t += 0.05) {\n _v1[0] = quadraticAt(x0, x1, x2, _t);\n _v1[1] = quadraticAt(y0, y1, y2, _t);\n var d1 = v2DistSquare(_v0, _v1);\n if (d1 < d) {\n t = _t;\n d = d1;\n }\n }\n d = Infinity;\n for (var i = 0; i < 32; i++) {\n if (interval < EPSILON_NUMERIC) {\n break;\n }\n var prev = t - interval;\n var next = t + interval;\n _v1[0] = quadraticAt(x0, x1, x2, prev);\n _v1[1] = quadraticAt(y0, y1, y2, prev);\n var d1 = v2DistSquare(_v1, _v0);\n if (prev >= 0 && d1 < d) {\n t = prev;\n d = d1;\n }\n else {\n _v2[0] = quadraticAt(x0, x1, x2, next);\n _v2[1] = quadraticAt(y0, y1, y2, next);\n var d2 = v2DistSquare(_v2, _v0);\n if (next <= 1 && d2 < d) {\n t = next;\n d = d2;\n }\n else {\n interval *= 0.5;\n }\n }\n }\n if (out) {\n out[0] = quadraticAt(x0, x1, x2, t);\n out[1] = quadraticAt(y0, y1, y2, t);\n }\n return mathSqrt(d);\n}\nexport function quadraticLength(x0, y0, x1, y1, x2, y2, iteration) {\n var px = x0;\n var py = y0;\n var d = 0;\n var step = 1 / iteration;\n for (var i = 1; i <= iteration; i++) {\n var t = i * step;\n var x = quadraticAt(x0, x1, x2, t);\n var y = quadraticAt(y0, y1, y2, t);\n var dx = x - px;\n var dy = y - py;\n d += Math.sqrt(dx * dx + dy * dy);\n px = x;\n py = y;\n }\n return d;\n}\n","import { cubicAt, cubicRootAt } from '../core/curve.js';\nimport { trim } from '../core/util.js';\nvar regexp = /cubic-bezier\\(([0-9,\\.e ]+)\\)/;\nexport function createCubicEasingFunc(cubicEasingStr) {\n var cubic = cubicEasingStr && regexp.exec(cubicEasingStr);\n if (cubic) {\n var points = cubic[1].split(',');\n var a_1 = +trim(points[0]);\n var b_1 = +trim(points[1]);\n var c_1 = +trim(points[2]);\n var d_1 = +trim(points[3]);\n if (isNaN(a_1 + b_1 + c_1 + d_1)) {\n return;\n }\n var roots_1 = [];\n return function (p) {\n return p <= 0\n ? 0 : p >= 1\n ? 1\n : cubicRootAt(0, a_1, c_1, 1, p, roots_1) && cubicAt(0, b_1, d_1, 1, roots_1[0]);\n };\n }\n}\n","import easingFuncs from './easing.js';\nimport { isFunction, noop } from '../core/util.js';\nimport { createCubicEasingFunc } from './cubicEasing.js';\nvar Clip = (function () {\n function Clip(opts) {\n this._inited = false;\n this._startTime = 0;\n this._pausedTime = 0;\n this._paused = false;\n this._life = opts.life || 1000;\n this._delay = opts.delay || 0;\n this.loop = opts.loop || false;\n this.onframe = opts.onframe || noop;\n this.ondestroy = opts.ondestroy || noop;\n this.onrestart = opts.onrestart || noop;\n opts.easing && this.setEasing(opts.easing);\n }\n Clip.prototype.step = function (globalTime, deltaTime) {\n if (!this._inited) {\n this._startTime = globalTime + this._delay;\n this._inited = true;\n }\n if (this._paused) {\n this._pausedTime += deltaTime;\n return;\n }\n var life = this._life;\n var elapsedTime = globalTime - this._startTime - this._pausedTime;\n var percent = elapsedTime / life;\n if (percent < 0) {\n percent = 0;\n }\n percent = Math.min(percent, 1);\n var easingFunc = this.easingFunc;\n var schedule = easingFunc ? easingFunc(percent) : percent;\n this.onframe(schedule);\n if (percent === 1) {\n if (this.loop) {\n var remainder = elapsedTime % life;\n this._startTime = globalTime - remainder;\n this._pausedTime = 0;\n this.onrestart();\n }\n else {\n return true;\n }\n }\n return false;\n };\n Clip.prototype.pause = function () {\n this._paused = true;\n };\n Clip.prototype.resume = function () {\n this._paused = false;\n };\n Clip.prototype.setEasing = function (easing) {\n this.easing = easing;\n this.easingFunc = isFunction(easing)\n ? easing\n : easingFuncs[easing] || createCubicEasingFunc(easing);\n };\n return Clip;\n}());\nexport default Clip;\n","var Entry = (function () {\n function Entry(val) {\n this.value = val;\n }\n return Entry;\n}());\nexport { Entry };\nvar LinkedList = (function () {\n function LinkedList() {\n this._len = 0;\n }\n LinkedList.prototype.insert = function (val) {\n var entry = new Entry(val);\n this.insertEntry(entry);\n return entry;\n };\n LinkedList.prototype.insertEntry = function (entry) {\n if (!this.head) {\n this.head = this.tail = entry;\n }\n else {\n this.tail.next = entry;\n entry.prev = this.tail;\n entry.next = null;\n this.tail = entry;\n }\n this._len++;\n };\n LinkedList.prototype.remove = function (entry) {\n var prev = entry.prev;\n var next = entry.next;\n if (prev) {\n prev.next = next;\n }\n else {\n this.head = next;\n }\n if (next) {\n next.prev = prev;\n }\n else {\n this.tail = prev;\n }\n entry.next = entry.prev = null;\n this._len--;\n };\n LinkedList.prototype.len = function () {\n return this._len;\n };\n LinkedList.prototype.clear = function () {\n this.head = this.tail = null;\n this._len = 0;\n };\n return LinkedList;\n}());\nexport { LinkedList };\nvar LRU = (function () {\n function LRU(maxSize) {\n this._list = new LinkedList();\n this._maxSize = 10;\n this._map = {};\n this._maxSize = maxSize;\n }\n LRU.prototype.put = function (key, value) {\n var list = this._list;\n var map = this._map;\n var removed = null;\n if (map[key] == null) {\n var len = list.len();\n var entry = this._lastRemovedEntry;\n if (len >= this._maxSize && len > 0) {\n var leastUsedEntry = list.head;\n list.remove(leastUsedEntry);\n delete map[leastUsedEntry.key];\n removed = leastUsedEntry.value;\n this._lastRemovedEntry = leastUsedEntry;\n }\n if (entry) {\n entry.value = value;\n }\n else {\n entry = new Entry(value);\n }\n entry.key = key;\n list.insertEntry(entry);\n map[key] = entry;\n }\n return removed;\n };\n LRU.prototype.get = function (key) {\n var entry = this._map[key];\n var list = this._list;\n if (entry != null) {\n if (entry !== list.tail) {\n list.remove(entry);\n list.insertEntry(entry);\n }\n return entry.value;\n }\n };\n LRU.prototype.clear = function () {\n this._list.clear();\n this._map = {};\n };\n LRU.prototype.len = function () {\n return this._list.len();\n };\n return LRU;\n}());\nexport default LRU;\n","import LRU from '../core/LRU.js';\nvar kCSSColorTable = {\n 'transparent': [0, 0, 0, 0], 'aliceblue': [240, 248, 255, 1],\n 'antiquewhite': [250, 235, 215, 1], 'aqua': [0, 255, 255, 1],\n 'aquamarine': [127, 255, 212, 1], 'azure': [240, 255, 255, 1],\n 'beige': [245, 245, 220, 1], 'bisque': [255, 228, 196, 1],\n 'black': [0, 0, 0, 1], 'blanchedalmond': [255, 235, 205, 1],\n 'blue': [0, 0, 255, 1], 'blueviolet': [138, 43, 226, 1],\n 'brown': [165, 42, 42, 1], 'burlywood': [222, 184, 135, 1],\n 'cadetblue': [95, 158, 160, 1], 'chartreuse': [127, 255, 0, 1],\n 'chocolate': [210, 105, 30, 1], 'coral': [255, 127, 80, 1],\n 'cornflowerblue': [100, 149, 237, 1], 'cornsilk': [255, 248, 220, 1],\n 'crimson': [220, 20, 60, 1], 'cyan': [0, 255, 255, 1],\n 'darkblue': [0, 0, 139, 1], 'darkcyan': [0, 139, 139, 1],\n 'darkgoldenrod': [184, 134, 11, 1], 'darkgray': [169, 169, 169, 1],\n 'darkgreen': [0, 100, 0, 1], 'darkgrey': [169, 169, 169, 1],\n 'darkkhaki': [189, 183, 107, 1], 'darkmagenta': [139, 0, 139, 1],\n 'darkolivegreen': [85, 107, 47, 1], 'darkorange': [255, 140, 0, 1],\n 'darkorchid': [153, 50, 204, 1], 'darkred': [139, 0, 0, 1],\n 'darksalmon': [233, 150, 122, 1], 'darkseagreen': [143, 188, 143, 1],\n 'darkslateblue': [72, 61, 139, 1], 'darkslategray': [47, 79, 79, 1],\n 'darkslategrey': [47, 79, 79, 1], 'darkturquoise': [0, 206, 209, 1],\n 'darkviolet': [148, 0, 211, 1], 'deeppink': [255, 20, 147, 1],\n 'deepskyblue': [0, 191, 255, 1], 'dimgray': [105, 105, 105, 1],\n 'dimgrey': [105, 105, 105, 1], 'dodgerblue': [30, 144, 255, 1],\n 'firebrick': [178, 34, 34, 1], 'floralwhite': [255, 250, 240, 1],\n 'forestgreen': [34, 139, 34, 1], 'fuchsia': [255, 0, 255, 1],\n 'gainsboro': [220, 220, 220, 1], 'ghostwhite': [248, 248, 255, 1],\n 'gold': [255, 215, 0, 1], 'goldenrod': [218, 165, 32, 1],\n 'gray': [128, 128, 128, 1], 'green': [0, 128, 0, 1],\n 'greenyellow': [173, 255, 47, 1], 'grey': [128, 128, 128, 1],\n 'honeydew': [240, 255, 240, 1], 'hotpink': [255, 105, 180, 1],\n 'indianred': [205, 92, 92, 1], 'indigo': [75, 0, 130, 1],\n 'ivory': [255, 255, 240, 1], 'khaki': [240, 230, 140, 1],\n 'lavender': [230, 230, 250, 1], 'lavenderblush': [255, 240, 245, 1],\n 'lawngreen': [124, 252, 0, 1], 'lemonchiffon': [255, 250, 205, 1],\n 'lightblue': [173, 216, 230, 1], 'lightcoral': [240, 128, 128, 1],\n 'lightcyan': [224, 255, 255, 1], 'lightgoldenrodyellow': [250, 250, 210, 1],\n 'lightgray': [211, 211, 211, 1], 'lightgreen': [144, 238, 144, 1],\n 'lightgrey': [211, 211, 211, 1], 'lightpink': [255, 182, 193, 1],\n 'lightsalmon': [255, 160, 122, 1], 'lightseagreen': [32, 178, 170, 1],\n 'lightskyblue': [135, 206, 250, 1], 'lightslategray': [119, 136, 153, 1],\n 'lightslategrey': [119, 136, 153, 1], 'lightsteelblue': [176, 196, 222, 1],\n 'lightyellow': [255, 255, 224, 1], 'lime': [0, 255, 0, 1],\n 'limegreen': [50, 205, 50, 1], 'linen': [250, 240, 230, 1],\n 'magenta': [255, 0, 255, 1], 'maroon': [128, 0, 0, 1],\n 'mediumaquamarine': [102, 205, 170, 1], 'mediumblue': [0, 0, 205, 1],\n 'mediumorchid': [186, 85, 211, 1], 'mediumpurple': [147, 112, 219, 1],\n 'mediumseagreen': [60, 179, 113, 1], 'mediumslateblue': [123, 104, 238, 1],\n 'mediumspringgreen': [0, 250, 154, 1], 'mediumturquoise': [72, 209, 204, 1],\n 'mediumvioletred': [199, 21, 133, 1], 'midnightblue': [25, 25, 112, 1],\n 'mintcream': [245, 255, 250, 1], 'mistyrose': [255, 228, 225, 1],\n 'moccasin': [255, 228, 181, 1], 'navajowhite': [255, 222, 173, 1],\n 'navy': [0, 0, 128, 1], 'oldlace': [253, 245, 230, 1],\n 'olive': [128, 128, 0, 1], 'olivedrab': [107, 142, 35, 1],\n 'orange': [255, 165, 0, 1], 'orangered': [255, 69, 0, 1],\n 'orchid': [218, 112, 214, 1], 'palegoldenrod': [238, 232, 170, 1],\n 'palegreen': [152, 251, 152, 1], 'paleturquoise': [175, 238, 238, 1],\n 'palevioletred': [219, 112, 147, 1], 'papayawhip': [255, 239, 213, 1],\n 'peachpuff': [255, 218, 185, 1], 'peru': [205, 133, 63, 1],\n 'pink': [255, 192, 203, 1], 'plum': [221, 160, 221, 1],\n 'powderblue': [176, 224, 230, 1], 'purple': [128, 0, 128, 1],\n 'red': [255, 0, 0, 1], 'rosybrown': [188, 143, 143, 1],\n 'royalblue': [65, 105, 225, 1], 'saddlebrown': [139, 69, 19, 1],\n 'salmon': [250, 128, 114, 1], 'sandybrown': [244, 164, 96, 1],\n 'seagreen': [46, 139, 87, 1], 'seashell': [255, 245, 238, 1],\n 'sienna': [160, 82, 45, 1], 'silver': [192, 192, 192, 1],\n 'skyblue': [135, 206, 235, 1], 'slateblue': [106, 90, 205, 1],\n 'slategray': [112, 128, 144, 1], 'slategrey': [112, 128, 144, 1],\n 'snow': [255, 250, 250, 1], 'springgreen': [0, 255, 127, 1],\n 'steelblue': [70, 130, 180, 1], 'tan': [210, 180, 140, 1],\n 'teal': [0, 128, 128, 1], 'thistle': [216, 191, 216, 1],\n 'tomato': [255, 99, 71, 1], 'turquoise': [64, 224, 208, 1],\n 'violet': [238, 130, 238, 1], 'wheat': [245, 222, 179, 1],\n 'white': [255, 255, 255, 1], 'whitesmoke': [245, 245, 245, 1],\n 'yellow': [255, 255, 0, 1], 'yellowgreen': [154, 205, 50, 1]\n};\nfunction clampCssByte(i) {\n i = Math.round(i);\n return i < 0 ? 0 : i > 255 ? 255 : i;\n}\nfunction clampCssAngle(i) {\n i = Math.round(i);\n return i < 0 ? 0 : i > 360 ? 360 : i;\n}\nfunction clampCssFloat(f) {\n return f < 0 ? 0 : f > 1 ? 1 : f;\n}\nfunction parseCssInt(val) {\n var str = val;\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssByte(parseFloat(str) / 100 * 255);\n }\n return clampCssByte(parseInt(str, 10));\n}\nfunction parseCssFloat(val) {\n var str = val;\n if (str.length && str.charAt(str.length - 1) === '%') {\n return clampCssFloat(parseFloat(str) / 100);\n }\n return clampCssFloat(parseFloat(str));\n}\nfunction cssHueToRgb(m1, m2, h) {\n if (h < 0) {\n h += 1;\n }\n else if (h > 1) {\n h -= 1;\n }\n if (h * 6 < 1) {\n return m1 + (m2 - m1) * h * 6;\n }\n if (h * 2 < 1) {\n return m2;\n }\n if (h * 3 < 2) {\n return m1 + (m2 - m1) * (2 / 3 - h) * 6;\n }\n return m1;\n}\nfunction lerpNumber(a, b, p) {\n return a + (b - a) * p;\n}\nfunction setRgba(out, r, g, b, a) {\n out[0] = r;\n out[1] = g;\n out[2] = b;\n out[3] = a;\n return out;\n}\nfunction copyRgba(out, a) {\n out[0] = a[0];\n out[1] = a[1];\n out[2] = a[2];\n out[3] = a[3];\n return out;\n}\nvar colorCache = new LRU(20);\nvar lastRemovedArr = null;\nfunction putToCache(colorStr, rgbaArr) {\n if (lastRemovedArr) {\n copyRgba(lastRemovedArr, rgbaArr);\n }\n lastRemovedArr = colorCache.put(colorStr, lastRemovedArr || (rgbaArr.slice()));\n}\nexport function parse(colorStr, rgbaArr) {\n if (!colorStr) {\n return;\n }\n rgbaArr = rgbaArr || [];\n var cached = colorCache.get(colorStr);\n if (cached) {\n return copyRgba(rgbaArr, cached);\n }\n colorStr = colorStr + '';\n var str = colorStr.replace(/ /g, '').toLowerCase();\n if (str in kCSSColorTable) {\n copyRgba(rgbaArr, kCSSColorTable[str]);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n var strLen = str.length;\n if (str.charAt(0) === '#') {\n if (strLen === 4 || strLen === 5) {\n var iv = parseInt(str.slice(1, 4), 16);\n if (!(iv >= 0 && iv <= 0xfff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n setRgba(rgbaArr, ((iv & 0xf00) >> 4) | ((iv & 0xf00) >> 8), (iv & 0xf0) | ((iv & 0xf0) >> 4), (iv & 0xf) | ((iv & 0xf) << 4), strLen === 5 ? parseInt(str.slice(4), 16) / 0xf : 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n else if (strLen === 7 || strLen === 9) {\n var iv = parseInt(str.slice(1, 7), 16);\n if (!(iv >= 0 && iv <= 0xffffff)) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n setRgba(rgbaArr, (iv & 0xff0000) >> 16, (iv & 0xff00) >> 8, iv & 0xff, strLen === 9 ? parseInt(str.slice(7), 16) / 0xff : 1);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n return;\n }\n var op = str.indexOf('(');\n var ep = str.indexOf(')');\n if (op !== -1 && ep + 1 === strLen) {\n var fname = str.substr(0, op);\n var params = str.substr(op + 1, ep - (op + 1)).split(',');\n var alpha = 1;\n switch (fname) {\n case 'rgba':\n if (params.length !== 4) {\n return params.length === 3\n ? setRgba(rgbaArr, +params[0], +params[1], +params[2], 1)\n : setRgba(rgbaArr, 0, 0, 0, 1);\n }\n alpha = parseCssFloat(params.pop());\n case 'rgb':\n if (params.length >= 3) {\n setRgba(rgbaArr, parseCssInt(params[0]), parseCssInt(params[1]), parseCssInt(params[2]), params.length === 3 ? alpha : parseCssFloat(params[3]));\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n }\n else {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n case 'hsla':\n if (params.length !== 4) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n params[3] = parseCssFloat(params[3]);\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n case 'hsl':\n if (params.length !== 3) {\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n }\n hsla2rgba(params, rgbaArr);\n putToCache(colorStr, rgbaArr);\n return rgbaArr;\n default:\n return;\n }\n }\n setRgba(rgbaArr, 0, 0, 0, 1);\n return;\n}\nfunction hsla2rgba(hsla, rgba) {\n var h = (((parseFloat(hsla[0]) % 360) + 360) % 360) / 360;\n var s = parseCssFloat(hsla[1]);\n var l = parseCssFloat(hsla[2]);\n var m2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var m1 = l * 2 - m2;\n rgba = rgba || [];\n setRgba(rgba, clampCssByte(cssHueToRgb(m1, m2, h + 1 / 3) * 255), clampCssByte(cssHueToRgb(m1, m2, h) * 255), clampCssByte(cssHueToRgb(m1, m2, h - 1 / 3) * 255), 1);\n if (hsla.length === 4) {\n rgba[3] = hsla[3];\n }\n return rgba;\n}\nfunction rgba2hsla(rgba) {\n if (!rgba) {\n return;\n }\n var R = rgba[0] / 255;\n var G = rgba[1] / 255;\n var B = rgba[2] / 255;\n var vMin = Math.min(R, G, B);\n var vMax = Math.max(R, G, B);\n var delta = vMax - vMin;\n var L = (vMax + vMin) / 2;\n var H;\n var S;\n if (delta === 0) {\n H = 0;\n S = 0;\n }\n else {\n if (L < 0.5) {\n S = delta / (vMax + vMin);\n }\n else {\n S = delta / (2 - vMax - vMin);\n }\n var deltaR = (((vMax - R) / 6) + (delta / 2)) / delta;\n var deltaG = (((vMax - G) / 6) + (delta / 2)) / delta;\n var deltaB = (((vMax - B) / 6) + (delta / 2)) / delta;\n if (R === vMax) {\n H = deltaB - deltaG;\n }\n else if (G === vMax) {\n H = (1 / 3) + deltaR - deltaB;\n }\n else if (B === vMax) {\n H = (2 / 3) + deltaG - deltaR;\n }\n if (H < 0) {\n H += 1;\n }\n if (H > 1) {\n H -= 1;\n }\n }\n var hsla = [H * 360, S, L];\n if (rgba[3] != null) {\n hsla.push(rgba[3]);\n }\n return hsla;\n}\nexport function lift(color, level) {\n var colorArr = parse(color);\n if (colorArr) {\n for (var i = 0; i < 3; i++) {\n if (level < 0) {\n colorArr[i] = colorArr[i] * (1 - level) | 0;\n }\n else {\n colorArr[i] = ((255 - colorArr[i]) * level + colorArr[i]) | 0;\n }\n if (colorArr[i] > 255) {\n colorArr[i] = 255;\n }\n else if (colorArr[i] < 0) {\n colorArr[i] = 0;\n }\n }\n return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');\n }\n}\nexport function toHex(color) {\n var colorArr = parse(color);\n if (colorArr) {\n return ((1 << 24) + (colorArr[0] << 16) + (colorArr[1] << 8) + (+colorArr[2])).toString(16).slice(1);\n }\n}\nexport function fastLerp(normalizedValue, colors, out) {\n if (!(colors && colors.length)\n || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n out = out || [];\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = colors[leftIndex];\n var rightColor = colors[rightIndex];\n var dv = value - leftIndex;\n out[0] = clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv));\n out[1] = clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv));\n out[2] = clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv));\n out[3] = clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv));\n return out;\n}\nexport var fastMapToColor = fastLerp;\nexport function lerp(normalizedValue, colors, fullOutput) {\n if (!(colors && colors.length)\n || !(normalizedValue >= 0 && normalizedValue <= 1)) {\n return;\n }\n var value = normalizedValue * (colors.length - 1);\n var leftIndex = Math.floor(value);\n var rightIndex = Math.ceil(value);\n var leftColor = parse(colors[leftIndex]);\n var rightColor = parse(colors[rightIndex]);\n var dv = value - leftIndex;\n var color = stringify([\n clampCssByte(lerpNumber(leftColor[0], rightColor[0], dv)),\n clampCssByte(lerpNumber(leftColor[1], rightColor[1], dv)),\n clampCssByte(lerpNumber(leftColor[2], rightColor[2], dv)),\n clampCssFloat(lerpNumber(leftColor[3], rightColor[3], dv))\n ], 'rgba');\n return fullOutput\n ? {\n color: color,\n leftIndex: leftIndex,\n rightIndex: rightIndex,\n value: value\n }\n : color;\n}\nexport var mapToColor = lerp;\nexport function modifyHSL(color, h, s, l) {\n var colorArr = parse(color);\n if (color) {\n colorArr = rgba2hsla(colorArr);\n h != null && (colorArr[0] = clampCssAngle(h));\n s != null && (colorArr[1] = parseCssFloat(s));\n l != null && (colorArr[2] = parseCssFloat(l));\n return stringify(hsla2rgba(colorArr), 'rgba');\n }\n}\nexport function modifyAlpha(color, alpha) {\n var colorArr = parse(color);\n if (colorArr && alpha != null) {\n colorArr[3] = clampCssFloat(alpha);\n return stringify(colorArr, 'rgba');\n }\n}\nexport function stringify(arrColor, type) {\n if (!arrColor || !arrColor.length) {\n return;\n }\n var colorStr = arrColor[0] + ',' + arrColor[1] + ',' + arrColor[2];\n if (type === 'rgba' || type === 'hsva' || type === 'hsla') {\n colorStr += ',' + arrColor[3];\n }\n return type + '(' + colorStr + ')';\n}\nexport function lum(color, backgroundLum) {\n var arr = parse(color);\n return arr\n ? (0.299 * arr[0] + 0.587 * arr[1] + 0.114 * arr[2]) * arr[3] / 255\n + (1 - arr[3]) * backgroundLum\n : 0;\n}\nexport function random() {\n return stringify([\n Math.round(Math.random() * 255),\n Math.round(Math.random() * 255),\n Math.round(Math.random() * 255)\n ], 'rgb');\n}\n","import { RADIAN_TO_DEGREE, retrieve2, logError, isFunction } from '../core/util.js';\nimport { parse } from '../tool/color.js';\nimport env from '../core/env.js';\nvar mathRound = Math.round;\nexport function normalizeColor(color) {\n var opacity;\n if (!color || color === 'transparent') {\n color = 'none';\n }\n else if (typeof color === 'string' && color.indexOf('rgba') > -1) {\n var arr = parse(color);\n if (arr) {\n color = 'rgb(' + arr[0] + ',' + arr[1] + ',' + arr[2] + ')';\n opacity = arr[3];\n }\n }\n return {\n color: color,\n opacity: opacity == null ? 1 : opacity\n };\n}\nvar EPSILON = 1e-4;\nexport function isAroundZero(transform) {\n return transform < EPSILON && transform > -EPSILON;\n}\nexport function round3(transform) {\n return mathRound(transform * 1e3) / 1e3;\n}\nexport function round4(transform) {\n return mathRound(transform * 1e4) / 1e4;\n}\nexport function round1(transform) {\n return mathRound(transform * 10) / 10;\n}\nexport function getMatrixStr(m) {\n return 'matrix('\n + round3(m[0]) + ','\n + round3(m[1]) + ','\n + round3(m[2]) + ','\n + round3(m[3]) + ','\n + round4(m[4]) + ','\n + round4(m[5])\n + ')';\n}\nexport var TEXT_ALIGN_TO_ANCHOR = {\n left: 'start',\n right: 'end',\n center: 'middle',\n middle: 'middle'\n};\nexport function adjustTextY(y, lineHeight, textBaseline) {\n if (textBaseline === 'top') {\n y += lineHeight / 2;\n }\n else if (textBaseline === 'bottom') {\n y -= lineHeight / 2;\n }\n return y;\n}\nexport function hasShadow(style) {\n return style\n && (style.shadowBlur || style.shadowOffsetX || style.shadowOffsetY);\n}\nexport function getShadowKey(displayable) {\n var style = displayable.style;\n var globalScale = displayable.getGlobalScale();\n return [\n style.shadowColor,\n (style.shadowBlur || 0).toFixed(2),\n (style.shadowOffsetX || 0).toFixed(2),\n (style.shadowOffsetY || 0).toFixed(2),\n globalScale[0],\n globalScale[1]\n ].join(',');\n}\nexport function getClipPathsKey(clipPaths) {\n var key = [];\n if (clipPaths) {\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n key.push(clipPath.id);\n }\n }\n return key.join(',');\n}\nexport function isImagePattern(val) {\n return val && (!!val.image);\n}\nexport function isSVGPattern(val) {\n return val && (!!val.svgElement);\n}\nexport function isPattern(val) {\n return isImagePattern(val) || isSVGPattern(val);\n}\nexport function isLinearGradient(val) {\n return val.type === 'linear';\n}\nexport function isRadialGradient(val) {\n return val.type === 'radial';\n}\nexport function isGradient(val) {\n return val && (val.type === 'linear'\n || val.type === 'radial');\n}\nexport function getIdURL(id) {\n return \"url(#\" + id + \")\";\n}\nexport function getPathPrecision(el) {\n var scale = el.getGlobalScale();\n var size = Math.max(scale[0], scale[1]);\n return Math.max(Math.ceil(Math.log(size) / Math.log(10)), 1);\n}\nexport function getSRTTransformString(transform) {\n var x = transform.x || 0;\n var y = transform.y || 0;\n var rotation = (transform.rotation || 0) * RADIAN_TO_DEGREE;\n var scaleX = retrieve2(transform.scaleX, 1);\n var scaleY = retrieve2(transform.scaleY, 1);\n var skewX = transform.skewX || 0;\n var skewY = transform.skewY || 0;\n var res = [];\n if (x || y) {\n res.push(\"translate(\" + x + \"px,\" + y + \"px)\");\n }\n if (rotation) {\n res.push(\"rotate(\" + rotation + \")\");\n }\n if (scaleX !== 1 || scaleY !== 1) {\n res.push(\"scale(\" + scaleX + \",\" + scaleY + \")\");\n }\n if (skewX || skewY) {\n res.push(\"skew(\" + mathRound(skewX * RADIAN_TO_DEGREE) + \"deg, \" + mathRound(skewY * RADIAN_TO_DEGREE) + \"deg)\");\n }\n return res.join(' ');\n}\nexport var encodeBase64 = (function () {\n if (env.hasGlobalWindow && isFunction(window.btoa)) {\n return function (str) {\n return window.btoa(unescape(encodeURIComponent(str)));\n };\n }\n if (typeof Buffer !== 'undefined') {\n return function (str) {\n return Buffer.from(str).toString('base64');\n };\n }\n return function (str) {\n if (process.env.NODE_ENV !== 'production') {\n logError('Base64 isn\\'t natively supported in the current environment.');\n }\n return null;\n };\n})();\n","import Clip from './Clip.js';\nimport * as color from '../tool/color.js';\nimport { eqNaN, extend, isArrayLike, isFunction, isGradientObject, isNumber, isString, keys, logError, map } from '../core/util.js';\nimport easingFuncs from './easing.js';\nimport { createCubicEasingFunc } from './cubicEasing.js';\nimport { isLinearGradient, isRadialGradient } from '../svg/helper.js';\n;\nvar arraySlice = Array.prototype.slice;\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\nfunction interpolate1DArray(out, p0, p1, percent) {\n var len = p0.length;\n for (var i = 0; i < len; i++) {\n out[i] = interpolateNumber(p0[i], p1[i], percent);\n }\n return out;\n}\nfunction interpolate2DArray(out, p0, p1, percent) {\n var len = p0.length;\n var len2 = len && p0[0].length;\n for (var i = 0; i < len; i++) {\n if (!out[i]) {\n out[i] = [];\n }\n for (var j = 0; j < len2; j++) {\n out[i][j] = interpolateNumber(p0[i][j], p1[i][j], percent);\n }\n }\n return out;\n}\nfunction add1DArray(out, p0, p1, sign) {\n var len = p0.length;\n for (var i = 0; i < len; i++) {\n out[i] = p0[i] + p1[i] * sign;\n }\n return out;\n}\nfunction add2DArray(out, p0, p1, sign) {\n var len = p0.length;\n var len2 = len && p0[0].length;\n for (var i = 0; i < len; i++) {\n if (!out[i]) {\n out[i] = [];\n }\n for (var j = 0; j < len2; j++) {\n out[i][j] = p0[i][j] + p1[i][j] * sign;\n }\n }\n return out;\n}\nfunction fillColorStops(val0, val1) {\n var len0 = val0.length;\n var len1 = val1.length;\n var shorterArr = len0 > len1 ? val1 : val0;\n var shorterLen = Math.min(len0, len1);\n var last = shorterArr[shorterLen - 1] || { color: [0, 0, 0, 0], offset: 0 };\n for (var i = shorterLen; i < Math.max(len0, len1); i++) {\n shorterArr.push({\n offset: last.offset,\n color: last.color.slice()\n });\n }\n}\nfunction fillArray(val0, val1, arrDim) {\n var arr0 = val0;\n var arr1 = val1;\n if (!arr0.push || !arr1.push) {\n return;\n }\n var arr0Len = arr0.length;\n var arr1Len = arr1.length;\n if (arr0Len !== arr1Len) {\n var isPreviousLarger = arr0Len > arr1Len;\n if (isPreviousLarger) {\n arr0.length = arr1Len;\n }\n else {\n for (var i = arr0Len; i < arr1Len; i++) {\n arr0.push(arrDim === 1 ? arr1[i] : arraySlice.call(arr1[i]));\n }\n }\n }\n var len2 = arr0[0] && arr0[0].length;\n for (var i = 0; i < arr0.length; i++) {\n if (arrDim === 1) {\n if (isNaN(arr0[i])) {\n arr0[i] = arr1[i];\n }\n }\n else {\n for (var j = 0; j < len2; j++) {\n if (isNaN(arr0[i][j])) {\n arr0[i][j] = arr1[i][j];\n }\n }\n }\n }\n}\nexport function cloneValue(value) {\n if (isArrayLike(value)) {\n var len = value.length;\n if (isArrayLike(value[0])) {\n var ret = [];\n for (var i = 0; i < len; i++) {\n ret.push(arraySlice.call(value[i]));\n }\n return ret;\n }\n return arraySlice.call(value);\n }\n return value;\n}\nfunction rgba2String(rgba) {\n rgba[0] = Math.floor(rgba[0]) || 0;\n rgba[1] = Math.floor(rgba[1]) || 0;\n rgba[2] = Math.floor(rgba[2]) || 0;\n rgba[3] = rgba[3] == null ? 1 : rgba[3];\n return 'rgba(' + rgba.join(',') + ')';\n}\nfunction guessArrayDim(value) {\n return isArrayLike(value && value[0]) ? 2 : 1;\n}\nvar VALUE_TYPE_NUMBER = 0;\nvar VALUE_TYPE_1D_ARRAY = 1;\nvar VALUE_TYPE_2D_ARRAY = 2;\nvar VALUE_TYPE_COLOR = 3;\nvar VALUE_TYPE_LINEAR_GRADIENT = 4;\nvar VALUE_TYPE_RADIAL_GRADIENT = 5;\nvar VALUE_TYPE_UNKOWN = 6;\nfunction isGradientValueType(valType) {\n return valType === VALUE_TYPE_LINEAR_GRADIENT || valType === VALUE_TYPE_RADIAL_GRADIENT;\n}\nfunction isArrayValueType(valType) {\n return valType === VALUE_TYPE_1D_ARRAY || valType === VALUE_TYPE_2D_ARRAY;\n}\nvar tmpRgba = [0, 0, 0, 0];\nvar Track = (function () {\n function Track(propName) {\n this.keyframes = [];\n this.discrete = false;\n this._invalid = false;\n this._needsSort = false;\n this._lastFr = 0;\n this._lastFrP = 0;\n this.propName = propName;\n }\n Track.prototype.isFinished = function () {\n return this._finished;\n };\n Track.prototype.setFinished = function () {\n this._finished = true;\n if (this._additiveTrack) {\n this._additiveTrack.setFinished();\n }\n };\n Track.prototype.needsAnimate = function () {\n return this.keyframes.length >= 1;\n };\n Track.prototype.getAdditiveTrack = function () {\n return this._additiveTrack;\n };\n Track.prototype.addKeyframe = function (time, rawValue, easing) {\n this._needsSort = true;\n var keyframes = this.keyframes;\n var len = keyframes.length;\n var discrete = false;\n var valType = VALUE_TYPE_UNKOWN;\n var value = rawValue;\n if (isArrayLike(rawValue)) {\n var arrayDim = guessArrayDim(rawValue);\n valType = arrayDim;\n if (arrayDim === 1 && !isNumber(rawValue[0])\n || arrayDim === 2 && !isNumber(rawValue[0][0])) {\n discrete = true;\n }\n }\n else {\n if (isNumber(rawValue) && !eqNaN(rawValue)) {\n valType = VALUE_TYPE_NUMBER;\n }\n else if (isString(rawValue)) {\n if (!isNaN(+rawValue)) {\n valType = VALUE_TYPE_NUMBER;\n }\n else {\n var colorArray = color.parse(rawValue);\n if (colorArray) {\n value = colorArray;\n valType = VALUE_TYPE_COLOR;\n }\n }\n }\n else if (isGradientObject(rawValue)) {\n var parsedGradient = extend({}, value);\n parsedGradient.colorStops = map(rawValue.colorStops, function (colorStop) { return ({\n offset: colorStop.offset,\n color: color.parse(colorStop.color)\n }); });\n if (isLinearGradient(rawValue)) {\n valType = VALUE_TYPE_LINEAR_GRADIENT;\n }\n else if (isRadialGradient(rawValue)) {\n valType = VALUE_TYPE_RADIAL_GRADIENT;\n }\n value = parsedGradient;\n }\n }\n if (len === 0) {\n this.valType = valType;\n }\n else if (valType !== this.valType || valType === VALUE_TYPE_UNKOWN) {\n discrete = true;\n }\n this.discrete = this.discrete || discrete;\n var kf = {\n time: time,\n value: value,\n rawValue: rawValue,\n percent: 0\n };\n if (easing) {\n kf.easing = easing;\n kf.easingFunc = isFunction(easing)\n ? easing\n : easingFuncs[easing] || createCubicEasingFunc(easing);\n }\n keyframes.push(kf);\n return kf;\n };\n Track.prototype.prepare = function (maxTime, additiveTrack) {\n var kfs = this.keyframes;\n if (this._needsSort) {\n kfs.sort(function (a, b) {\n return a.time - b.time;\n });\n }\n var valType = this.valType;\n var kfsLen = kfs.length;\n var lastKf = kfs[kfsLen - 1];\n var isDiscrete = this.discrete;\n var isArr = isArrayValueType(valType);\n var isGradient = isGradientValueType(valType);\n for (var i = 0; i < kfsLen; i++) {\n var kf = kfs[i];\n var value = kf.value;\n var lastValue = lastKf.value;\n kf.percent = kf.time / maxTime;\n if (!isDiscrete) {\n if (isArr && i !== kfsLen - 1) {\n fillArray(value, lastValue, valType);\n }\n else if (isGradient) {\n fillColorStops(value.colorStops, lastValue.colorStops);\n }\n }\n }\n if (!isDiscrete\n && valType !== VALUE_TYPE_RADIAL_GRADIENT\n && additiveTrack\n && this.needsAnimate()\n && additiveTrack.needsAnimate()\n && valType === additiveTrack.valType\n && !additiveTrack._finished) {\n this._additiveTrack = additiveTrack;\n var startValue = kfs[0].value;\n for (var i = 0; i < kfsLen; i++) {\n if (valType === VALUE_TYPE_NUMBER) {\n kfs[i].additiveValue = kfs[i].value - startValue;\n }\n else if (valType === VALUE_TYPE_COLOR) {\n kfs[i].additiveValue =\n add1DArray([], kfs[i].value, startValue, -1);\n }\n else if (isArrayValueType(valType)) {\n kfs[i].additiveValue = valType === VALUE_TYPE_1D_ARRAY\n ? add1DArray([], kfs[i].value, startValue, -1)\n : add2DArray([], kfs[i].value, startValue, -1);\n }\n }\n }\n };\n Track.prototype.step = function (target, percent) {\n if (this._finished) {\n return;\n }\n if (this._additiveTrack && this._additiveTrack._finished) {\n this._additiveTrack = null;\n }\n var isAdditive = this._additiveTrack != null;\n var valueKey = isAdditive ? 'additiveValue' : 'value';\n var valType = this.valType;\n var keyframes = this.keyframes;\n var kfsNum = keyframes.length;\n var propName = this.propName;\n var isValueColor = valType === VALUE_TYPE_COLOR;\n var frameIdx;\n var lastFrame = this._lastFr;\n var mathMin = Math.min;\n var frame;\n var nextFrame;\n if (kfsNum === 1) {\n frame = nextFrame = keyframes[0];\n }\n else {\n if (percent < 0) {\n frameIdx = 0;\n }\n else if (percent < this._lastFrP) {\n var start = mathMin(lastFrame + 1, kfsNum - 1);\n for (frameIdx = start; frameIdx >= 0; frameIdx--) {\n if (keyframes[frameIdx].percent <= percent) {\n break;\n }\n }\n frameIdx = mathMin(frameIdx, kfsNum - 2);\n }\n else {\n for (frameIdx = lastFrame; frameIdx < kfsNum; frameIdx++) {\n if (keyframes[frameIdx].percent > percent) {\n break;\n }\n }\n frameIdx = mathMin(frameIdx - 1, kfsNum - 2);\n }\n nextFrame = keyframes[frameIdx + 1];\n frame = keyframes[frameIdx];\n }\n if (!(frame && nextFrame)) {\n return;\n }\n this._lastFr = frameIdx;\n this._lastFrP = percent;\n var interval = (nextFrame.percent - frame.percent);\n var w = interval === 0 ? 1 : mathMin((percent - frame.percent) / interval, 1);\n if (nextFrame.easingFunc) {\n w = nextFrame.easingFunc(w);\n }\n var targetArr = isAdditive ? this._additiveValue\n : (isValueColor ? tmpRgba : target[propName]);\n if ((isArrayValueType(valType) || isValueColor) && !targetArr) {\n targetArr = this._additiveValue = [];\n }\n if (this.discrete) {\n target[propName] = w < 1 ? frame.rawValue : nextFrame.rawValue;\n }\n else if (isArrayValueType(valType)) {\n valType === VALUE_TYPE_1D_ARRAY\n ? interpolate1DArray(targetArr, frame[valueKey], nextFrame[valueKey], w)\n : interpolate2DArray(targetArr, frame[valueKey], nextFrame[valueKey], w);\n }\n else if (isGradientValueType(valType)) {\n var val = frame[valueKey];\n var nextVal_1 = nextFrame[valueKey];\n var isLinearGradient_1 = valType === VALUE_TYPE_LINEAR_GRADIENT;\n target[propName] = {\n type: isLinearGradient_1 ? 'linear' : 'radial',\n x: interpolateNumber(val.x, nextVal_1.x, w),\n y: interpolateNumber(val.y, nextVal_1.y, w),\n colorStops: map(val.colorStops, function (colorStop, idx) {\n var nextColorStop = nextVal_1.colorStops[idx];\n return {\n offset: interpolateNumber(colorStop.offset, nextColorStop.offset, w),\n color: rgba2String(interpolate1DArray([], colorStop.color, nextColorStop.color, w))\n };\n }),\n global: nextVal_1.global\n };\n if (isLinearGradient_1) {\n target[propName].x2 = interpolateNumber(val.x2, nextVal_1.x2, w);\n target[propName].y2 = interpolateNumber(val.y2, nextVal_1.y2, w);\n }\n else {\n target[propName].r = interpolateNumber(val.r, nextVal_1.r, w);\n }\n }\n else if (isValueColor) {\n interpolate1DArray(targetArr, frame[valueKey], nextFrame[valueKey], w);\n if (!isAdditive) {\n target[propName] = rgba2String(targetArr);\n }\n }\n else {\n var value = interpolateNumber(frame[valueKey], nextFrame[valueKey], w);\n if (isAdditive) {\n this._additiveValue = value;\n }\n else {\n target[propName] = value;\n }\n }\n if (isAdditive) {\n this._addToTarget(target);\n }\n };\n Track.prototype._addToTarget = function (target) {\n var valType = this.valType;\n var propName = this.propName;\n var additiveValue = this._additiveValue;\n if (valType === VALUE_TYPE_NUMBER) {\n target[propName] = target[propName] + additiveValue;\n }\n else if (valType === VALUE_TYPE_COLOR) {\n color.parse(target[propName], tmpRgba);\n add1DArray(tmpRgba, tmpRgba, additiveValue, 1);\n target[propName] = rgba2String(tmpRgba);\n }\n else if (valType === VALUE_TYPE_1D_ARRAY) {\n add1DArray(target[propName], target[propName], additiveValue, 1);\n }\n else if (valType === VALUE_TYPE_2D_ARRAY) {\n add2DArray(target[propName], target[propName], additiveValue, 1);\n }\n };\n return Track;\n}());\nvar Animator = (function () {\n function Animator(target, loop, allowDiscreteAnimation, additiveTo) {\n this._tracks = {};\n this._trackKeys = [];\n this._maxTime = 0;\n this._started = 0;\n this._clip = null;\n this._target = target;\n this._loop = loop;\n if (loop && additiveTo) {\n logError('Can\\' use additive animation on looped animation.');\n return;\n }\n this._additiveAnimators = additiveTo;\n this._allowDiscrete = allowDiscreteAnimation;\n }\n Animator.prototype.getMaxTime = function () {\n return this._maxTime;\n };\n Animator.prototype.getDelay = function () {\n return this._delay;\n };\n Animator.prototype.getLoop = function () {\n return this._loop;\n };\n Animator.prototype.getTarget = function () {\n return this._target;\n };\n Animator.prototype.changeTarget = function (target) {\n this._target = target;\n };\n Animator.prototype.when = function (time, props, easing) {\n return this.whenWithKeys(time, props, keys(props), easing);\n };\n Animator.prototype.whenWithKeys = function (time, props, propNames, easing) {\n var tracks = this._tracks;\n for (var i = 0; i < propNames.length; i++) {\n var propName = propNames[i];\n var track = tracks[propName];\n if (!track) {\n track = tracks[propName] = new Track(propName);\n var initialValue = void 0;\n var additiveTrack = this._getAdditiveTrack(propName);\n if (additiveTrack) {\n var addtiveTrackKfs = additiveTrack.keyframes;\n var lastFinalKf = addtiveTrackKfs[addtiveTrackKfs.length - 1];\n initialValue = lastFinalKf && lastFinalKf.value;\n if (additiveTrack.valType === VALUE_TYPE_COLOR && initialValue) {\n initialValue = rgba2String(initialValue);\n }\n }\n else {\n initialValue = this._target[propName];\n }\n if (initialValue == null) {\n continue;\n }\n if (time > 0) {\n track.addKeyframe(0, cloneValue(initialValue), easing);\n }\n this._trackKeys.push(propName);\n }\n track.addKeyframe(time, cloneValue(props[propName]), easing);\n }\n this._maxTime = Math.max(this._maxTime, time);\n return this;\n };\n Animator.prototype.pause = function () {\n this._clip.pause();\n this._paused = true;\n };\n Animator.prototype.resume = function () {\n this._clip.resume();\n this._paused = false;\n };\n Animator.prototype.isPaused = function () {\n return !!this._paused;\n };\n Animator.prototype.duration = function (duration) {\n this._maxTime = duration;\n this._force = true;\n return this;\n };\n Animator.prototype._doneCallback = function () {\n this._setTracksFinished();\n this._clip = null;\n var doneList = this._doneCbs;\n if (doneList) {\n var len = doneList.length;\n for (var i = 0; i < len; i++) {\n doneList[i].call(this);\n }\n }\n };\n Animator.prototype._abortedCallback = function () {\n this._setTracksFinished();\n var animation = this.animation;\n var abortedList = this._abortedCbs;\n if (animation) {\n animation.removeClip(this._clip);\n }\n this._clip = null;\n if (abortedList) {\n for (var i = 0; i < abortedList.length; i++) {\n abortedList[i].call(this);\n }\n }\n };\n Animator.prototype._setTracksFinished = function () {\n var tracks = this._tracks;\n var tracksKeys = this._trackKeys;\n for (var i = 0; i < tracksKeys.length; i++) {\n tracks[tracksKeys[i]].setFinished();\n }\n };\n Animator.prototype._getAdditiveTrack = function (trackName) {\n var additiveTrack;\n var additiveAnimators = this._additiveAnimators;\n if (additiveAnimators) {\n for (var i = 0; i < additiveAnimators.length; i++) {\n var track = additiveAnimators[i].getTrack(trackName);\n if (track) {\n additiveTrack = track;\n }\n }\n }\n return additiveTrack;\n };\n Animator.prototype.start = function (easing) {\n if (this._started > 0) {\n return;\n }\n this._started = 1;\n var self = this;\n var tracks = [];\n var maxTime = this._maxTime || 0;\n for (var i = 0; i < this._trackKeys.length; i++) {\n var propName = this._trackKeys[i];\n var track = this._tracks[propName];\n var additiveTrack = this._getAdditiveTrack(propName);\n var kfs = track.keyframes;\n var kfsNum = kfs.length;\n track.prepare(maxTime, additiveTrack);\n if (track.needsAnimate()) {\n if (!this._allowDiscrete && track.discrete) {\n var lastKf = kfs[kfsNum - 1];\n if (lastKf) {\n self._target[track.propName] = lastKf.rawValue;\n }\n track.setFinished();\n }\n else {\n tracks.push(track);\n }\n }\n }\n if (tracks.length || this._force) {\n var clip = new Clip({\n life: maxTime,\n loop: this._loop,\n delay: this._delay || 0,\n onframe: function (percent) {\n self._started = 2;\n var additiveAnimators = self._additiveAnimators;\n if (additiveAnimators) {\n var stillHasAdditiveAnimator = false;\n for (var i = 0; i < additiveAnimators.length; i++) {\n if (additiveAnimators[i]._clip) {\n stillHasAdditiveAnimator = true;\n break;\n }\n }\n if (!stillHasAdditiveAnimator) {\n self._additiveAnimators = null;\n }\n }\n for (var i = 0; i < tracks.length; i++) {\n tracks[i].step(self._target, percent);\n }\n var onframeList = self._onframeCbs;\n if (onframeList) {\n for (var i = 0; i < onframeList.length; i++) {\n onframeList[i](self._target, percent);\n }\n }\n },\n ondestroy: function () {\n self._doneCallback();\n }\n });\n this._clip = clip;\n if (this.animation) {\n this.animation.addClip(clip);\n }\n if (easing) {\n clip.setEasing(easing);\n }\n }\n else {\n this._doneCallback();\n }\n return this;\n };\n Animator.prototype.stop = function (forwardToLast) {\n if (!this._clip) {\n return;\n }\n var clip = this._clip;\n if (forwardToLast) {\n clip.onframe(1);\n }\n this._abortedCallback();\n };\n Animator.prototype.delay = function (time) {\n this._delay = time;\n return this;\n };\n Animator.prototype.during = function (cb) {\n if (cb) {\n if (!this._onframeCbs) {\n this._onframeCbs = [];\n }\n this._onframeCbs.push(cb);\n }\n return this;\n };\n Animator.prototype.done = function (cb) {\n if (cb) {\n if (!this._doneCbs) {\n this._doneCbs = [];\n }\n this._doneCbs.push(cb);\n }\n return this;\n };\n Animator.prototype.aborted = function (cb) {\n if (cb) {\n if (!this._abortedCbs) {\n this._abortedCbs = [];\n }\n this._abortedCbs.push(cb);\n }\n return this;\n };\n Animator.prototype.getClip = function () {\n return this._clip;\n };\n Animator.prototype.getTrack = function (propName) {\n return this._tracks[propName];\n };\n Animator.prototype.getTracks = function () {\n var _this = this;\n return map(this._trackKeys, function (key) { return _this._tracks[key]; });\n };\n Animator.prototype.stopTracks = function (propNames, forwardToLast) {\n if (!propNames.length || !this._clip) {\n return true;\n }\n var tracks = this._tracks;\n var tracksKeys = this._trackKeys;\n for (var i = 0; i < propNames.length; i++) {\n var track = tracks[propNames[i]];\n if (track && !track.isFinished()) {\n if (forwardToLast) {\n track.step(this._target, 1);\n }\n else if (this._started === 1) {\n track.step(this._target, 0);\n }\n track.setFinished();\n }\n }\n var allAborted = true;\n for (var i = 0; i < tracksKeys.length; i++) {\n if (!tracks[tracksKeys[i]].isFinished()) {\n allAborted = false;\n break;\n }\n }\n if (allAborted) {\n this._abortedCallback();\n }\n return allAborted;\n };\n Animator.prototype.saveTo = function (target, trackKeys, firstOrLast) {\n if (!target) {\n return;\n }\n trackKeys = trackKeys || this._trackKeys;\n for (var i = 0; i < trackKeys.length; i++) {\n var propName = trackKeys[i];\n var track = this._tracks[propName];\n if (!track || track.isFinished()) {\n continue;\n }\n var kfs = track.keyframes;\n var kf = kfs[firstOrLast ? 0 : kfs.length - 1];\n if (kf) {\n target[propName] = cloneValue(kf.rawValue);\n }\n }\n };\n Animator.prototype.__changeFinalValue = function (finalProps, trackKeys) {\n trackKeys = trackKeys || keys(finalProps);\n for (var i = 0; i < trackKeys.length; i++) {\n var propName = trackKeys[i];\n var track = this._tracks[propName];\n if (!track) {\n continue;\n }\n var kfs = track.keyframes;\n if (kfs.length > 1) {\n var lastKf = kfs.pop();\n track.addKeyframe(lastKf.time, finalProps[propName]);\n track.prepare(this._maxTime, track.getAdditiveTrack());\n }\n }\n };\n return Animator;\n}());\nexport default Animator;\n","import { __extends } from \"tslib\";\nimport Eventful from '../core/Eventful.js';\nimport requestAnimationFrame from './requestAnimationFrame.js';\nimport Animator from './Animator.js';\nexport function getTime() {\n return new Date().getTime();\n}\nvar Animation = (function (_super) {\n __extends(Animation, _super);\n function Animation(opts) {\n var _this = _super.call(this) || this;\n _this._running = false;\n _this._time = 0;\n _this._pausedTime = 0;\n _this._pauseStart = 0;\n _this._paused = false;\n opts = opts || {};\n _this.stage = opts.stage || {};\n return _this;\n }\n Animation.prototype.addClip = function (clip) {\n if (clip.animation) {\n this.removeClip(clip);\n }\n if (!this._head) {\n this._head = this._tail = clip;\n }\n else {\n this._tail.next = clip;\n clip.prev = this._tail;\n clip.next = null;\n this._tail = clip;\n }\n clip.animation = this;\n };\n Animation.prototype.addAnimator = function (animator) {\n animator.animation = this;\n var clip = animator.getClip();\n if (clip) {\n this.addClip(clip);\n }\n };\n Animation.prototype.removeClip = function (clip) {\n if (!clip.animation) {\n return;\n }\n var prev = clip.prev;\n var next = clip.next;\n if (prev) {\n prev.next = next;\n }\n else {\n this._head = next;\n }\n if (next) {\n next.prev = prev;\n }\n else {\n this._tail = prev;\n }\n clip.next = clip.prev = clip.animation = null;\n };\n Animation.prototype.removeAnimator = function (animator) {\n var clip = animator.getClip();\n if (clip) {\n this.removeClip(clip);\n }\n animator.animation = null;\n };\n Animation.prototype.update = function (notTriggerFrameAndStageUpdate) {\n var time = getTime() - this._pausedTime;\n var delta = time - this._time;\n var clip = this._head;\n while (clip) {\n var nextClip = clip.next;\n var finished = clip.step(time, delta);\n if (finished) {\n clip.ondestroy();\n this.removeClip(clip);\n clip = nextClip;\n }\n else {\n clip = nextClip;\n }\n }\n this._time = time;\n if (!notTriggerFrameAndStageUpdate) {\n this.trigger('frame', delta);\n this.stage.update && this.stage.update();\n }\n };\n Animation.prototype._startLoop = function () {\n var self = this;\n this._running = true;\n function step() {\n if (self._running) {\n requestAnimationFrame(step);\n !self._paused && self.update();\n }\n }\n requestAnimationFrame(step);\n };\n Animation.prototype.start = function () {\n if (this._running) {\n return;\n }\n this._time = getTime();\n this._pausedTime = 0;\n this._startLoop();\n };\n Animation.prototype.stop = function () {\n this._running = false;\n };\n Animation.prototype.pause = function () {\n if (!this._paused) {\n this._pauseStart = getTime();\n this._paused = true;\n }\n };\n Animation.prototype.resume = function () {\n if (this._paused) {\n this._pausedTime += getTime() - this._pauseStart;\n this._paused = false;\n }\n };\n Animation.prototype.clear = function () {\n var clip = this._head;\n while (clip) {\n var nextClip = clip.next;\n clip.prev = clip.next = clip.animation = null;\n clip = nextClip;\n }\n this._head = this._tail = null;\n };\n Animation.prototype.isFinished = function () {\n return this._head == null;\n };\n Animation.prototype.animate = function (target, options) {\n options = options || {};\n this.start();\n var animator = new Animator(target, options.loop);\n this.addAnimator(animator);\n return animator;\n };\n return Animation;\n}(Eventful));\nexport default Animation;\n","import { __extends } from \"tslib\";\nimport { addEventListener, removeEventListener, normalizeEvent, getNativeEvent } from '../core/event.js';\nimport * as zrUtil from '../core/util.js';\nimport Eventful from '../core/Eventful.js';\nimport env from '../core/env.js';\nvar TOUCH_CLICK_DELAY = 300;\nvar globalEventSupported = env.domSupported;\nvar localNativeListenerNames = (function () {\n var mouseHandlerNames = [\n 'click', 'dblclick', 'mousewheel', 'wheel', 'mouseout',\n 'mouseup', 'mousedown', 'mousemove', 'contextmenu'\n ];\n var touchHandlerNames = [\n 'touchstart', 'touchend', 'touchmove'\n ];\n var pointerEventNameMap = {\n pointerdown: 1, pointerup: 1, pointermove: 1, pointerout: 1\n };\n var pointerHandlerNames = zrUtil.map(mouseHandlerNames, function (name) {\n var nm = name.replace('mouse', 'pointer');\n return pointerEventNameMap.hasOwnProperty(nm) ? nm : name;\n });\n return {\n mouse: mouseHandlerNames,\n touch: touchHandlerNames,\n pointer: pointerHandlerNames\n };\n})();\nvar globalNativeListenerNames = {\n mouse: ['mousemove', 'mouseup'],\n pointer: ['pointermove', 'pointerup']\n};\nvar wheelEventSupported = false;\nfunction isPointerFromTouch(event) {\n var pointerType = event.pointerType;\n return pointerType === 'pen' || pointerType === 'touch';\n}\nfunction setTouchTimer(scope) {\n scope.touching = true;\n if (scope.touchTimer != null) {\n clearTimeout(scope.touchTimer);\n scope.touchTimer = null;\n }\n scope.touchTimer = setTimeout(function () {\n scope.touching = false;\n scope.touchTimer = null;\n }, 700);\n}\nfunction markTouch(event) {\n event && (event.zrByTouch = true);\n}\nfunction normalizeGlobalEvent(instance, event) {\n return normalizeEvent(instance.dom, new FakeGlobalEvent(instance, event), true);\n}\nfunction isLocalEl(instance, el) {\n var elTmp = el;\n var isLocal = false;\n while (elTmp && elTmp.nodeType !== 9\n && !(isLocal = elTmp.domBelongToZr\n || (elTmp !== el && elTmp === instance.painterRoot))) {\n elTmp = elTmp.parentNode;\n }\n return isLocal;\n}\nvar FakeGlobalEvent = (function () {\n function FakeGlobalEvent(instance, event) {\n this.stopPropagation = zrUtil.noop;\n this.stopImmediatePropagation = zrUtil.noop;\n this.preventDefault = zrUtil.noop;\n this.type = event.type;\n this.target = this.currentTarget = instance.dom;\n this.pointerType = event.pointerType;\n this.clientX = event.clientX;\n this.clientY = event.clientY;\n }\n return FakeGlobalEvent;\n}());\nvar localDOMHandlers = {\n mousedown: function (event) {\n event = normalizeEvent(this.dom, event);\n this.__mayPointerCapture = [event.zrX, event.zrY];\n this.trigger('mousedown', event);\n },\n mousemove: function (event) {\n event = normalizeEvent(this.dom, event);\n var downPoint = this.__mayPointerCapture;\n if (downPoint && (event.zrX !== downPoint[0] || event.zrY !== downPoint[1])) {\n this.__togglePointerCapture(true);\n }\n this.trigger('mousemove', event);\n },\n mouseup: function (event) {\n event = normalizeEvent(this.dom, event);\n this.__togglePointerCapture(false);\n this.trigger('mouseup', event);\n },\n mouseout: function (event) {\n event = normalizeEvent(this.dom, event);\n var element = event.toElement || event.relatedTarget;\n if (!isLocalEl(this, element)) {\n if (this.__pointerCapturing) {\n event.zrEventControl = 'no_globalout';\n }\n this.trigger('mouseout', event);\n }\n },\n wheel: function (event) {\n wheelEventSupported = true;\n event = normalizeEvent(this.dom, event);\n this.trigger('mousewheel', event);\n },\n mousewheel: function (event) {\n if (wheelEventSupported) {\n return;\n }\n event = normalizeEvent(this.dom, event);\n this.trigger('mousewheel', event);\n },\n touchstart: function (event) {\n event = normalizeEvent(this.dom, event);\n markTouch(event);\n this.__lastTouchMoment = new Date();\n this.handler.processGesture(event, 'start');\n localDOMHandlers.mousemove.call(this, event);\n localDOMHandlers.mousedown.call(this, event);\n },\n touchmove: function (event) {\n event = normalizeEvent(this.dom, event);\n markTouch(event);\n this.handler.processGesture(event, 'change');\n localDOMHandlers.mousemove.call(this, event);\n },\n touchend: function (event) {\n event = normalizeEvent(this.dom, event);\n markTouch(event);\n this.handler.processGesture(event, 'end');\n localDOMHandlers.mouseup.call(this, event);\n if (+new Date() - (+this.__lastTouchMoment) < TOUCH_CLICK_DELAY) {\n localDOMHandlers.click.call(this, event);\n }\n },\n pointerdown: function (event) {\n localDOMHandlers.mousedown.call(this, event);\n },\n pointermove: function (event) {\n if (!isPointerFromTouch(event)) {\n localDOMHandlers.mousemove.call(this, event);\n }\n },\n pointerup: function (event) {\n localDOMHandlers.mouseup.call(this, event);\n },\n pointerout: function (event) {\n if (!isPointerFromTouch(event)) {\n localDOMHandlers.mouseout.call(this, event);\n }\n }\n};\nzrUtil.each(['click', 'dblclick', 'contextmenu'], function (name) {\n localDOMHandlers[name] = function (event) {\n event = normalizeEvent(this.dom, event);\n this.trigger(name, event);\n };\n});\nvar globalDOMHandlers = {\n pointermove: function (event) {\n if (!isPointerFromTouch(event)) {\n globalDOMHandlers.mousemove.call(this, event);\n }\n },\n pointerup: function (event) {\n globalDOMHandlers.mouseup.call(this, event);\n },\n mousemove: function (event) {\n this.trigger('mousemove', event);\n },\n mouseup: function (event) {\n var pointerCaptureReleasing = this.__pointerCapturing;\n this.__togglePointerCapture(false);\n this.trigger('mouseup', event);\n if (pointerCaptureReleasing) {\n event.zrEventControl = 'only_globalout';\n this.trigger('mouseout', event);\n }\n }\n};\nfunction mountLocalDOMEventListeners(instance, scope) {\n var domHandlers = scope.domHandlers;\n if (env.pointerEventsSupported) {\n zrUtil.each(localNativeListenerNames.pointer, function (nativeEventName) {\n mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n domHandlers[nativeEventName].call(instance, event);\n });\n });\n }\n else {\n if (env.touchEventsSupported) {\n zrUtil.each(localNativeListenerNames.touch, function (nativeEventName) {\n mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n domHandlers[nativeEventName].call(instance, event);\n setTouchTimer(scope);\n });\n });\n }\n zrUtil.each(localNativeListenerNames.mouse, function (nativeEventName) {\n mountSingleDOMEventListener(scope, nativeEventName, function (event) {\n event = getNativeEvent(event);\n if (!scope.touching) {\n domHandlers[nativeEventName].call(instance, event);\n }\n });\n });\n }\n}\nfunction mountGlobalDOMEventListeners(instance, scope) {\n if (env.pointerEventsSupported) {\n zrUtil.each(globalNativeListenerNames.pointer, mount);\n }\n else if (!env.touchEventsSupported) {\n zrUtil.each(globalNativeListenerNames.mouse, mount);\n }\n function mount(nativeEventName) {\n function nativeEventListener(event) {\n event = getNativeEvent(event);\n if (!isLocalEl(instance, event.target)) {\n event = normalizeGlobalEvent(instance, event);\n scope.domHandlers[nativeEventName].call(instance, event);\n }\n }\n mountSingleDOMEventListener(scope, nativeEventName, nativeEventListener, { capture: true });\n }\n}\nfunction mountSingleDOMEventListener(scope, nativeEventName, listener, opt) {\n scope.mounted[nativeEventName] = listener;\n scope.listenerOpts[nativeEventName] = opt;\n addEventListener(scope.domTarget, nativeEventName, listener, opt);\n}\nfunction unmountDOMEventListeners(scope) {\n var mounted = scope.mounted;\n for (var nativeEventName in mounted) {\n if (mounted.hasOwnProperty(nativeEventName)) {\n removeEventListener(scope.domTarget, nativeEventName, mounted[nativeEventName], scope.listenerOpts[nativeEventName]);\n }\n }\n scope.mounted = {};\n}\nvar DOMHandlerScope = (function () {\n function DOMHandlerScope(domTarget, domHandlers) {\n this.mounted = {};\n this.listenerOpts = {};\n this.touching = false;\n this.domTarget = domTarget;\n this.domHandlers = domHandlers;\n }\n return DOMHandlerScope;\n}());\nvar HandlerDomProxy = (function (_super) {\n __extends(HandlerDomProxy, _super);\n function HandlerDomProxy(dom, painterRoot) {\n var _this = _super.call(this) || this;\n _this.__pointerCapturing = false;\n _this.dom = dom;\n _this.painterRoot = painterRoot;\n _this._localHandlerScope = new DOMHandlerScope(dom, localDOMHandlers);\n if (globalEventSupported) {\n _this._globalHandlerScope = new DOMHandlerScope(document, globalDOMHandlers);\n }\n mountLocalDOMEventListeners(_this, _this._localHandlerScope);\n return _this;\n }\n HandlerDomProxy.prototype.dispose = function () {\n unmountDOMEventListeners(this._localHandlerScope);\n if (globalEventSupported) {\n unmountDOMEventListeners(this._globalHandlerScope);\n }\n };\n HandlerDomProxy.prototype.setCursor = function (cursorStyle) {\n this.dom.style && (this.dom.style.cursor = cursorStyle || 'default');\n };\n HandlerDomProxy.prototype.__togglePointerCapture = function (isPointerCapturing) {\n this.__mayPointerCapture = null;\n if (globalEventSupported\n && ((+this.__pointerCapturing) ^ (+isPointerCapturing))) {\n this.__pointerCapturing = isPointerCapturing;\n var globalHandlerScope = this._globalHandlerScope;\n isPointerCapturing\n ? mountGlobalDOMEventListeners(this, globalHandlerScope)\n : unmountDOMEventListeners(globalHandlerScope);\n }\n };\n return HandlerDomProxy;\n}(Eventful));\nexport default HandlerDomProxy;\n","import env from './core/env.js';\nvar dpr = 1;\nif (env.hasGlobalWindow) {\n dpr = Math.max(window.devicePixelRatio\n || (window.screen && window.screen.deviceXDPI / window.screen.logicalXDPI)\n || 1, 1);\n}\nexport var debugMode = 0;\nexport var devicePixelRatio = dpr;\nexport var DARK_MODE_THRESHOLD = 0.4;\nexport var DARK_LABEL_COLOR = '#333';\nexport var LIGHT_LABEL_COLOR = '#ccc';\nexport var LIGHTER_LABEL_COLOR = '#eee';\n","import * as matrix from './matrix.js';\nimport * as vector from './vector.js';\nvar mIdentity = matrix.identity;\nvar EPSILON = 5e-5;\nfunction isNotAroundZero(val) {\n return val > EPSILON || val < -EPSILON;\n}\nvar scaleTmp = [];\nvar tmpTransform = [];\nvar originTransform = matrix.create();\nvar abs = Math.abs;\nvar Transformable = (function () {\n function Transformable() {\n }\n Transformable.prototype.getLocalTransform = function (m) {\n return Transformable.getLocalTransform(this, m);\n };\n Transformable.prototype.setPosition = function (arr) {\n this.x = arr[0];\n this.y = arr[1];\n };\n Transformable.prototype.setScale = function (arr) {\n this.scaleX = arr[0];\n this.scaleY = arr[1];\n };\n Transformable.prototype.setSkew = function (arr) {\n this.skewX = arr[0];\n this.skewY = arr[1];\n };\n Transformable.prototype.setOrigin = function (arr) {\n this.originX = arr[0];\n this.originY = arr[1];\n };\n Transformable.prototype.needLocalTransform = function () {\n return isNotAroundZero(this.rotation)\n || isNotAroundZero(this.x)\n || isNotAroundZero(this.y)\n || isNotAroundZero(this.scaleX - 1)\n || isNotAroundZero(this.scaleY - 1)\n || isNotAroundZero(this.skewX)\n || isNotAroundZero(this.skewY);\n };\n Transformable.prototype.updateTransform = function () {\n var parentTransform = this.parent && this.parent.transform;\n var needLocalTransform = this.needLocalTransform();\n var m = this.transform;\n if (!(needLocalTransform || parentTransform)) {\n if (m) {\n mIdentity(m);\n this.invTransform = null;\n }\n return;\n }\n m = m || matrix.create();\n if (needLocalTransform) {\n this.getLocalTransform(m);\n }\n else {\n mIdentity(m);\n }\n if (parentTransform) {\n if (needLocalTransform) {\n matrix.mul(m, parentTransform, m);\n }\n else {\n matrix.copy(m, parentTransform);\n }\n }\n this.transform = m;\n this._resolveGlobalScaleRatio(m);\n };\n Transformable.prototype._resolveGlobalScaleRatio = function (m) {\n var globalScaleRatio = this.globalScaleRatio;\n if (globalScaleRatio != null && globalScaleRatio !== 1) {\n this.getGlobalScale(scaleTmp);\n var relX = scaleTmp[0] < 0 ? -1 : 1;\n var relY = scaleTmp[1] < 0 ? -1 : 1;\n var sx = ((scaleTmp[0] - relX) * globalScaleRatio + relX) / scaleTmp[0] || 0;\n var sy = ((scaleTmp[1] - relY) * globalScaleRatio + relY) / scaleTmp[1] || 0;\n m[0] *= sx;\n m[1] *= sx;\n m[2] *= sy;\n m[3] *= sy;\n }\n this.invTransform = this.invTransform || matrix.create();\n matrix.invert(this.invTransform, m);\n };\n Transformable.prototype.getComputedTransform = function () {\n var transformNode = this;\n var ancestors = [];\n while (transformNode) {\n ancestors.push(transformNode);\n transformNode = transformNode.parent;\n }\n while (transformNode = ancestors.pop()) {\n transformNode.updateTransform();\n }\n return this.transform;\n };\n Transformable.prototype.setLocalTransform = function (m) {\n if (!m) {\n return;\n }\n var sx = m[0] * m[0] + m[1] * m[1];\n var sy = m[2] * m[2] + m[3] * m[3];\n var rotation = Math.atan2(m[1], m[0]);\n var shearX = Math.PI / 2 + rotation - Math.atan2(m[3], m[2]);\n sy = Math.sqrt(sy) * Math.cos(shearX);\n sx = Math.sqrt(sx);\n this.skewX = shearX;\n this.skewY = 0;\n this.rotation = -rotation;\n this.x = +m[4];\n this.y = +m[5];\n this.scaleX = sx;\n this.scaleY = sy;\n this.originX = 0;\n this.originY = 0;\n };\n Transformable.prototype.decomposeTransform = function () {\n if (!this.transform) {\n return;\n }\n var parent = this.parent;\n var m = this.transform;\n if (parent && parent.transform) {\n matrix.mul(tmpTransform, parent.invTransform, m);\n m = tmpTransform;\n }\n var ox = this.originX;\n var oy = this.originY;\n if (ox || oy) {\n originTransform[4] = ox;\n originTransform[5] = oy;\n matrix.mul(tmpTransform, m, originTransform);\n tmpTransform[4] -= ox;\n tmpTransform[5] -= oy;\n m = tmpTransform;\n }\n this.setLocalTransform(m);\n };\n Transformable.prototype.getGlobalScale = function (out) {\n var m = this.transform;\n out = out || [];\n if (!m) {\n out[0] = 1;\n out[1] = 1;\n return out;\n }\n out[0] = Math.sqrt(m[0] * m[0] + m[1] * m[1]);\n out[1] = Math.sqrt(m[2] * m[2] + m[3] * m[3]);\n if (m[0] < 0) {\n out[0] = -out[0];\n }\n if (m[3] < 0) {\n out[1] = -out[1];\n }\n return out;\n };\n Transformable.prototype.transformCoordToLocal = function (x, y) {\n var v2 = [x, y];\n var invTransform = this.invTransform;\n if (invTransform) {\n vector.applyTransform(v2, v2, invTransform);\n }\n return v2;\n };\n Transformable.prototype.transformCoordToGlobal = function (x, y) {\n var v2 = [x, y];\n var transform = this.transform;\n if (transform) {\n vector.applyTransform(v2, v2, transform);\n }\n return v2;\n };\n Transformable.prototype.getLineScale = function () {\n var m = this.transform;\n return m && abs(m[0] - 1) > 1e-10 && abs(m[3] - 1) > 1e-10\n ? Math.sqrt(abs(m[0] * m[3] - m[2] * m[1]))\n : 1;\n };\n Transformable.prototype.copyTransform = function (source) {\n copyTransform(this, source);\n };\n Transformable.getLocalTransform = function (target, m) {\n m = m || [];\n var ox = target.originX || 0;\n var oy = target.originY || 0;\n var sx = target.scaleX;\n var sy = target.scaleY;\n var ax = target.anchorX;\n var ay = target.anchorY;\n var rotation = target.rotation || 0;\n var x = target.x;\n var y = target.y;\n var skewX = target.skewX ? Math.tan(target.skewX) : 0;\n var skewY = target.skewY ? Math.tan(-target.skewY) : 0;\n if (ox || oy || ax || ay) {\n var dx = ox + ax;\n var dy = oy + ay;\n m[4] = -dx * sx - skewX * dy * sy;\n m[5] = -dy * sy - skewY * dx * sx;\n }\n else {\n m[4] = m[5] = 0;\n }\n m[0] = sx;\n m[3] = sy;\n m[1] = skewY * sx;\n m[2] = skewX * sy;\n rotation && matrix.rotate(m, m, rotation);\n m[4] += ox + x;\n m[5] += oy + y;\n return m;\n };\n Transformable.initDefaultProps = (function () {\n var proto = Transformable.prototype;\n proto.scaleX =\n proto.scaleY =\n proto.globalScaleRatio = 1;\n proto.x =\n proto.y =\n proto.originX =\n proto.originY =\n proto.skewX =\n proto.skewY =\n proto.rotation =\n proto.anchorX =\n proto.anchorY = 0;\n })();\n return Transformable;\n}());\n;\nexport var TRANSFORMABLE_PROPS = [\n 'x', 'y', 'originX', 'originY', 'anchorX', 'anchorY', 'rotation', 'scaleX', 'scaleY', 'skewX', 'skewY'\n];\nexport function copyTransform(target, source) {\n for (var i = 0; i < TRANSFORMABLE_PROPS.length; i++) {\n var propName = TRANSFORMABLE_PROPS[i];\n target[propName] = source[propName];\n }\n}\nexport default Transformable;\n","import BoundingRect from '../core/BoundingRect.js';\nimport LRU from '../core/LRU.js';\nimport { DEFAULT_FONT, platformApi } from '../core/platform.js';\nvar textWidthCache = {};\nexport function getWidth(text, font) {\n font = font || DEFAULT_FONT;\n var cacheOfFont = textWidthCache[font];\n if (!cacheOfFont) {\n cacheOfFont = textWidthCache[font] = new LRU(500);\n }\n var width = cacheOfFont.get(text);\n if (width == null) {\n width = platformApi.measureText(text, font).width;\n cacheOfFont.put(text, width);\n }\n return width;\n}\nexport function innerGetBoundingRect(text, font, textAlign, textBaseline) {\n var width = getWidth(text, font);\n var height = getLineHeight(font);\n var x = adjustTextX(0, width, textAlign);\n var y = adjustTextY(0, height, textBaseline);\n var rect = new BoundingRect(x, y, width, height);\n return rect;\n}\nexport function getBoundingRect(text, font, textAlign, textBaseline) {\n var textLines = ((text || '') + '').split('\\n');\n var len = textLines.length;\n if (len === 1) {\n return innerGetBoundingRect(textLines[0], font, textAlign, textBaseline);\n }\n else {\n var uniondRect = new BoundingRect(0, 0, 0, 0);\n for (var i = 0; i < textLines.length; i++) {\n var rect = innerGetBoundingRect(textLines[i], font, textAlign, textBaseline);\n i === 0 ? uniondRect.copy(rect) : uniondRect.union(rect);\n }\n return uniondRect;\n }\n}\nexport function adjustTextX(x, width, textAlign) {\n if (textAlign === 'right') {\n x -= width;\n }\n else if (textAlign === 'center') {\n x -= width / 2;\n }\n return x;\n}\nexport function adjustTextY(y, height, verticalAlign) {\n if (verticalAlign === 'middle') {\n y -= height / 2;\n }\n else if (verticalAlign === 'bottom') {\n y -= height;\n }\n return y;\n}\nexport function getLineHeight(font) {\n return getWidth('国', font);\n}\nexport function measureText(text, font) {\n return platformApi.measureText(text, font);\n}\nexport function parsePercent(value, maxValue) {\n if (typeof value === 'string') {\n if (value.lastIndexOf('%') >= 0) {\n return parseFloat(value) / 100 * maxValue;\n }\n return parseFloat(value);\n }\n return value;\n}\nexport function calculateTextPosition(out, opts, rect) {\n var textPosition = opts.position || 'inside';\n var distance = opts.distance != null ? opts.distance : 5;\n var height = rect.height;\n var width = rect.width;\n var halfHeight = height / 2;\n var x = rect.x;\n var y = rect.y;\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n if (textPosition instanceof Array) {\n x += parsePercent(textPosition[0], rect.width);\n y += parsePercent(textPosition[1], rect.height);\n textAlign = null;\n textVerticalAlign = null;\n }\n else {\n switch (textPosition) {\n case 'left':\n x -= distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n case 'right':\n x += distance + width;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n case 'top':\n x += width / 2;\n y -= distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n case 'bottom':\n x += width / 2;\n y += height + distance;\n textAlign = 'center';\n break;\n case 'inside':\n x += width / 2;\n y += halfHeight;\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n case 'insideLeft':\n x += distance;\n y += halfHeight;\n textVerticalAlign = 'middle';\n break;\n case 'insideRight':\n x += width - distance;\n y += halfHeight;\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n case 'insideTop':\n x += width / 2;\n y += distance;\n textAlign = 'center';\n break;\n case 'insideBottom':\n x += width / 2;\n y += height - distance;\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n case 'insideTopLeft':\n x += distance;\n y += distance;\n break;\n case 'insideTopRight':\n x += width - distance;\n y += distance;\n textAlign = 'right';\n break;\n case 'insideBottomLeft':\n x += distance;\n y += height - distance;\n textVerticalAlign = 'bottom';\n break;\n case 'insideBottomRight':\n x += width - distance;\n y += height - distance;\n textAlign = 'right';\n textVerticalAlign = 'bottom';\n break;\n }\n }\n out = out || {};\n out.x = x;\n out.y = y;\n out.align = textAlign;\n out.verticalAlign = textVerticalAlign;\n return out;\n}\n","import Transformable, { TRANSFORMABLE_PROPS } from './core/Transformable.js';\nimport Animator, { cloneValue } from './animation/Animator.js';\nimport BoundingRect from './core/BoundingRect.js';\nimport Eventful from './core/Eventful.js';\nimport { calculateTextPosition, parsePercent } from './contain/text.js';\nimport { guid, isObject, keys, extend, indexOf, logError, mixin, isArrayLike, isTypedArray, isGradientObject, filter, reduce } from './core/util.js';\nimport { LIGHT_LABEL_COLOR, DARK_LABEL_COLOR } from './config.js';\nimport { parse, stringify } from './tool/color.js';\nimport { REDRAW_BIT } from './graphic/constants.js';\nexport var PRESERVED_NORMAL_STATE = '__zr_normal__';\nvar PRIMARY_STATES_KEYS = TRANSFORMABLE_PROPS.concat(['ignore']);\nvar DEFAULT_ANIMATABLE_MAP = reduce(TRANSFORMABLE_PROPS, function (obj, key) {\n obj[key] = true;\n return obj;\n}, { ignore: false });\nvar tmpTextPosCalcRes = {};\nvar tmpBoundingRect = new BoundingRect(0, 0, 0, 0);\nvar Element = (function () {\n function Element(props) {\n this.id = guid();\n this.animators = [];\n this.currentStates = [];\n this.states = {};\n this._init(props);\n }\n Element.prototype._init = function (props) {\n this.attr(props);\n };\n Element.prototype.drift = function (dx, dy, e) {\n switch (this.draggable) {\n case 'horizontal':\n dy = 0;\n break;\n case 'vertical':\n dx = 0;\n break;\n }\n var m = this.transform;\n if (!m) {\n m = this.transform = [1, 0, 0, 1, 0, 0];\n }\n m[4] += dx;\n m[5] += dy;\n this.decomposeTransform();\n this.markRedraw();\n };\n Element.prototype.beforeUpdate = function () { };\n Element.prototype.afterUpdate = function () { };\n Element.prototype.update = function () {\n this.updateTransform();\n if (this.__dirty) {\n this.updateInnerText();\n }\n };\n Element.prototype.updateInnerText = function (forceUpdate) {\n var textEl = this._textContent;\n if (textEl && (!textEl.ignore || forceUpdate)) {\n if (!this.textConfig) {\n this.textConfig = {};\n }\n var textConfig = this.textConfig;\n var isLocal = textConfig.local;\n var innerTransformable = textEl.innerTransformable;\n var textAlign = void 0;\n var textVerticalAlign = void 0;\n var textStyleChanged = false;\n innerTransformable.parent = isLocal ? this : null;\n var innerOrigin = false;\n innerTransformable.copyTransform(textEl);\n if (textConfig.position != null) {\n var layoutRect = tmpBoundingRect;\n if (textConfig.layoutRect) {\n layoutRect.copy(textConfig.layoutRect);\n }\n else {\n layoutRect.copy(this.getBoundingRect());\n }\n if (!isLocal) {\n layoutRect.applyTransform(this.transform);\n }\n if (this.calculateTextPosition) {\n this.calculateTextPosition(tmpTextPosCalcRes, textConfig, layoutRect);\n }\n else {\n calculateTextPosition(tmpTextPosCalcRes, textConfig, layoutRect);\n }\n innerTransformable.x = tmpTextPosCalcRes.x;\n innerTransformable.y = tmpTextPosCalcRes.y;\n textAlign = tmpTextPosCalcRes.align;\n textVerticalAlign = tmpTextPosCalcRes.verticalAlign;\n var textOrigin = textConfig.origin;\n if (textOrigin && textConfig.rotation != null) {\n var relOriginX = void 0;\n var relOriginY = void 0;\n if (textOrigin === 'center') {\n relOriginX = layoutRect.width * 0.5;\n relOriginY = layoutRect.height * 0.5;\n }\n else {\n relOriginX = parsePercent(textOrigin[0], layoutRect.width);\n relOriginY = parsePercent(textOrigin[1], layoutRect.height);\n }\n innerOrigin = true;\n innerTransformable.originX = -innerTransformable.x + relOriginX + (isLocal ? 0 : layoutRect.x);\n innerTransformable.originY = -innerTransformable.y + relOriginY + (isLocal ? 0 : layoutRect.y);\n }\n }\n if (textConfig.rotation != null) {\n innerTransformable.rotation = textConfig.rotation;\n }\n var textOffset = textConfig.offset;\n if (textOffset) {\n innerTransformable.x += textOffset[0];\n innerTransformable.y += textOffset[1];\n if (!innerOrigin) {\n innerTransformable.originX = -textOffset[0];\n innerTransformable.originY = -textOffset[1];\n }\n }\n var isInside = textConfig.inside == null\n ? (typeof textConfig.position === 'string' && textConfig.position.indexOf('inside') >= 0)\n : textConfig.inside;\n var innerTextDefaultStyle = this._innerTextDefaultStyle || (this._innerTextDefaultStyle = {});\n var textFill = void 0;\n var textStroke = void 0;\n var autoStroke = void 0;\n if (isInside && this.canBeInsideText()) {\n textFill = textConfig.insideFill;\n textStroke = textConfig.insideStroke;\n if (textFill == null || textFill === 'auto') {\n textFill = this.getInsideTextFill();\n }\n if (textStroke == null || textStroke === 'auto') {\n textStroke = this.getInsideTextStroke(textFill);\n autoStroke = true;\n }\n }\n else {\n textFill = textConfig.outsideFill;\n textStroke = textConfig.outsideStroke;\n if (textFill == null || textFill === 'auto') {\n textFill = this.getOutsideFill();\n }\n if (textStroke == null || textStroke === 'auto') {\n textStroke = this.getOutsideStroke(textFill);\n autoStroke = true;\n }\n }\n textFill = textFill || '#000';\n if (textFill !== innerTextDefaultStyle.fill\n || textStroke !== innerTextDefaultStyle.stroke\n || autoStroke !== innerTextDefaultStyle.autoStroke\n || textAlign !== innerTextDefaultStyle.align\n || textVerticalAlign !== innerTextDefaultStyle.verticalAlign) {\n textStyleChanged = true;\n innerTextDefaultStyle.fill = textFill;\n innerTextDefaultStyle.stroke = textStroke;\n innerTextDefaultStyle.autoStroke = autoStroke;\n innerTextDefaultStyle.align = textAlign;\n innerTextDefaultStyle.verticalAlign = textVerticalAlign;\n textEl.setDefaultTextStyle(innerTextDefaultStyle);\n }\n textEl.__dirty |= REDRAW_BIT;\n if (textStyleChanged) {\n textEl.dirtyStyle(true);\n }\n }\n };\n Element.prototype.canBeInsideText = function () {\n return true;\n };\n Element.prototype.getInsideTextFill = function () {\n return '#fff';\n };\n Element.prototype.getInsideTextStroke = function (textFill) {\n return '#000';\n };\n Element.prototype.getOutsideFill = function () {\n return this.__zr && this.__zr.isDarkMode() ? LIGHT_LABEL_COLOR : DARK_LABEL_COLOR;\n };\n Element.prototype.getOutsideStroke = function (textFill) {\n var backgroundColor = this.__zr && this.__zr.getBackgroundColor();\n var colorArr = typeof backgroundColor === 'string' && parse(backgroundColor);\n if (!colorArr) {\n colorArr = [255, 255, 255, 1];\n }\n var alpha = colorArr[3];\n var isDark = this.__zr.isDarkMode();\n for (var i = 0; i < 3; i++) {\n colorArr[i] = colorArr[i] * alpha + (isDark ? 0 : 255) * (1 - alpha);\n }\n colorArr[3] = 1;\n return stringify(colorArr, 'rgba');\n };\n Element.prototype.traverse = function (cb, context) { };\n Element.prototype.attrKV = function (key, value) {\n if (key === 'textConfig') {\n this.setTextConfig(value);\n }\n else if (key === 'textContent') {\n this.setTextContent(value);\n }\n else if (key === 'clipPath') {\n this.setClipPath(value);\n }\n else if (key === 'extra') {\n this.extra = this.extra || {};\n extend(this.extra, value);\n }\n else {\n this[key] = value;\n }\n };\n Element.prototype.hide = function () {\n this.ignore = true;\n this.markRedraw();\n };\n Element.prototype.show = function () {\n this.ignore = false;\n this.markRedraw();\n };\n Element.prototype.attr = function (keyOrObj, value) {\n if (typeof keyOrObj === 'string') {\n this.attrKV(keyOrObj, value);\n }\n else if (isObject(keyOrObj)) {\n var obj = keyOrObj;\n var keysArr = keys(obj);\n for (var i = 0; i < keysArr.length; i++) {\n var key = keysArr[i];\n this.attrKV(key, keyOrObj[key]);\n }\n }\n this.markRedraw();\n return this;\n };\n Element.prototype.saveCurrentToNormalState = function (toState) {\n this._innerSaveToNormal(toState);\n var normalState = this._normalState;\n for (var i = 0; i < this.animators.length; i++) {\n var animator = this.animators[i];\n var fromStateTransition = animator.__fromStateTransition;\n if (animator.getLoop() || fromStateTransition && fromStateTransition !== PRESERVED_NORMAL_STATE) {\n continue;\n }\n var targetName = animator.targetName;\n var target = targetName\n ? normalState[targetName] : normalState;\n animator.saveTo(target);\n }\n };\n Element.prototype._innerSaveToNormal = function (toState) {\n var normalState = this._normalState;\n if (!normalState) {\n normalState = this._normalState = {};\n }\n if (toState.textConfig && !normalState.textConfig) {\n normalState.textConfig = this.textConfig;\n }\n this._savePrimaryToNormal(toState, normalState, PRIMARY_STATES_KEYS);\n };\n Element.prototype._savePrimaryToNormal = function (toState, normalState, primaryKeys) {\n for (var i = 0; i < primaryKeys.length; i++) {\n var key = primaryKeys[i];\n if (toState[key] != null && !(key in normalState)) {\n normalState[key] = this[key];\n }\n }\n };\n Element.prototype.hasState = function () {\n return this.currentStates.length > 0;\n };\n Element.prototype.getState = function (name) {\n return this.states[name];\n };\n Element.prototype.ensureState = function (name) {\n var states = this.states;\n if (!states[name]) {\n states[name] = {};\n }\n return states[name];\n };\n Element.prototype.clearStates = function (noAnimation) {\n this.useState(PRESERVED_NORMAL_STATE, false, noAnimation);\n };\n Element.prototype.useState = function (stateName, keepCurrentStates, noAnimation, forceUseHoverLayer) {\n var toNormalState = stateName === PRESERVED_NORMAL_STATE;\n var hasStates = this.hasState();\n if (!hasStates && toNormalState) {\n return;\n }\n var currentStates = this.currentStates;\n var animationCfg = this.stateTransition;\n if (indexOf(currentStates, stateName) >= 0 && (keepCurrentStates || currentStates.length === 1)) {\n return;\n }\n var state;\n if (this.stateProxy && !toNormalState) {\n state = this.stateProxy(stateName);\n }\n if (!state) {\n state = (this.states && this.states[stateName]);\n }\n if (!state && !toNormalState) {\n logError(\"State \" + stateName + \" not exists.\");\n return;\n }\n if (!toNormalState) {\n this.saveCurrentToNormalState(state);\n }\n var useHoverLayer = !!((state && state.hoverLayer) || forceUseHoverLayer);\n if (useHoverLayer) {\n this._toggleHoverLayerFlag(true);\n }\n this._applyStateObj(stateName, state, this._normalState, keepCurrentStates, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);\n var textContent = this._textContent;\n var textGuide = this._textGuide;\n if (textContent) {\n textContent.useState(stateName, keepCurrentStates, noAnimation, useHoverLayer);\n }\n if (textGuide) {\n textGuide.useState(stateName, keepCurrentStates, noAnimation, useHoverLayer);\n }\n if (toNormalState) {\n this.currentStates = [];\n this._normalState = {};\n }\n else {\n if (!keepCurrentStates) {\n this.currentStates = [stateName];\n }\n else {\n this.currentStates.push(stateName);\n }\n }\n this._updateAnimationTargets();\n this.markRedraw();\n if (!useHoverLayer && this.__inHover) {\n this._toggleHoverLayerFlag(false);\n this.__dirty &= ~REDRAW_BIT;\n }\n return state;\n };\n Element.prototype.useStates = function (states, noAnimation, forceUseHoverLayer) {\n if (!states.length) {\n this.clearStates();\n }\n else {\n var stateObjects = [];\n var currentStates = this.currentStates;\n var len = states.length;\n var notChange = len === currentStates.length;\n if (notChange) {\n for (var i = 0; i < len; i++) {\n if (states[i] !== currentStates[i]) {\n notChange = false;\n break;\n }\n }\n }\n if (notChange) {\n return;\n }\n for (var i = 0; i < len; i++) {\n var stateName = states[i];\n var stateObj = void 0;\n if (this.stateProxy) {\n stateObj = this.stateProxy(stateName, states);\n }\n if (!stateObj) {\n stateObj = this.states[stateName];\n }\n if (stateObj) {\n stateObjects.push(stateObj);\n }\n }\n var lastStateObj = stateObjects[len - 1];\n var useHoverLayer = !!((lastStateObj && lastStateObj.hoverLayer) || forceUseHoverLayer);\n if (useHoverLayer) {\n this._toggleHoverLayerFlag(true);\n }\n var mergedState = this._mergeStates(stateObjects);\n var animationCfg = this.stateTransition;\n this.saveCurrentToNormalState(mergedState);\n this._applyStateObj(states.join(','), mergedState, this._normalState, false, !noAnimation && !this.__inHover && animationCfg && animationCfg.duration > 0, animationCfg);\n var textContent = this._textContent;\n var textGuide = this._textGuide;\n if (textContent) {\n textContent.useStates(states, noAnimation, useHoverLayer);\n }\n if (textGuide) {\n textGuide.useStates(states, noAnimation, useHoverLayer);\n }\n this._updateAnimationTargets();\n this.currentStates = states.slice();\n this.markRedraw();\n if (!useHoverLayer && this.__inHover) {\n this._toggleHoverLayerFlag(false);\n this.__dirty &= ~REDRAW_BIT;\n }\n }\n };\n Element.prototype._updateAnimationTargets = function () {\n for (var i = 0; i < this.animators.length; i++) {\n var animator = this.animators[i];\n if (animator.targetName) {\n animator.changeTarget(this[animator.targetName]);\n }\n }\n };\n Element.prototype.removeState = function (state) {\n var idx = indexOf(this.currentStates, state);\n if (idx >= 0) {\n var currentStates = this.currentStates.slice();\n currentStates.splice(idx, 1);\n this.useStates(currentStates);\n }\n };\n Element.prototype.replaceState = function (oldState, newState, forceAdd) {\n var currentStates = this.currentStates.slice();\n var idx = indexOf(currentStates, oldState);\n var newStateExists = indexOf(currentStates, newState) >= 0;\n if (idx >= 0) {\n if (!newStateExists) {\n currentStates[idx] = newState;\n }\n else {\n currentStates.splice(idx, 1);\n }\n }\n else if (forceAdd && !newStateExists) {\n currentStates.push(newState);\n }\n this.useStates(currentStates);\n };\n Element.prototype.toggleState = function (state, enable) {\n if (enable) {\n this.useState(state, true);\n }\n else {\n this.removeState(state);\n }\n };\n Element.prototype._mergeStates = function (states) {\n var mergedState = {};\n var mergedTextConfig;\n for (var i = 0; i < states.length; i++) {\n var state = states[i];\n extend(mergedState, state);\n if (state.textConfig) {\n mergedTextConfig = mergedTextConfig || {};\n extend(mergedTextConfig, state.textConfig);\n }\n }\n if (mergedTextConfig) {\n mergedState.textConfig = mergedTextConfig;\n }\n return mergedState;\n };\n Element.prototype._applyStateObj = function (stateName, state, normalState, keepCurrentStates, transition, animationCfg) {\n var needsRestoreToNormal = !(state && keepCurrentStates);\n if (state && state.textConfig) {\n this.textConfig = extend({}, keepCurrentStates ? this.textConfig : normalState.textConfig);\n extend(this.textConfig, state.textConfig);\n }\n else if (needsRestoreToNormal) {\n if (normalState.textConfig) {\n this.textConfig = normalState.textConfig;\n }\n }\n var transitionTarget = {};\n var hasTransition = false;\n for (var i = 0; i < PRIMARY_STATES_KEYS.length; i++) {\n var key = PRIMARY_STATES_KEYS[i];\n var propNeedsTransition = transition && DEFAULT_ANIMATABLE_MAP[key];\n if (state && state[key] != null) {\n if (propNeedsTransition) {\n hasTransition = true;\n transitionTarget[key] = state[key];\n }\n else {\n this[key] = state[key];\n }\n }\n else if (needsRestoreToNormal) {\n if (normalState[key] != null) {\n if (propNeedsTransition) {\n hasTransition = true;\n transitionTarget[key] = normalState[key];\n }\n else {\n this[key] = normalState[key];\n }\n }\n }\n }\n if (!transition) {\n for (var i = 0; i < this.animators.length; i++) {\n var animator = this.animators[i];\n var targetName = animator.targetName;\n if (!animator.getLoop()) {\n animator.__changeFinalValue(targetName\n ? (state || normalState)[targetName]\n : (state || normalState));\n }\n }\n }\n if (hasTransition) {\n this._transitionState(stateName, transitionTarget, animationCfg);\n }\n };\n Element.prototype._attachComponent = function (componentEl) {\n if (componentEl.__zr && !componentEl.__hostTarget) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Text element has been added to zrender.');\n }\n return;\n }\n if (componentEl === this) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Recursive component attachment.');\n }\n return;\n }\n var zr = this.__zr;\n if (zr) {\n componentEl.addSelfToZr(zr);\n }\n componentEl.__zr = zr;\n componentEl.__hostTarget = this;\n };\n Element.prototype._detachComponent = function (componentEl) {\n if (componentEl.__zr) {\n componentEl.removeSelfFromZr(componentEl.__zr);\n }\n componentEl.__zr = null;\n componentEl.__hostTarget = null;\n };\n Element.prototype.getClipPath = function () {\n return this._clipPath;\n };\n Element.prototype.setClipPath = function (clipPath) {\n if (this._clipPath && this._clipPath !== clipPath) {\n this.removeClipPath();\n }\n this._attachComponent(clipPath);\n this._clipPath = clipPath;\n this.markRedraw();\n };\n Element.prototype.removeClipPath = function () {\n var clipPath = this._clipPath;\n if (clipPath) {\n this._detachComponent(clipPath);\n this._clipPath = null;\n this.markRedraw();\n }\n };\n Element.prototype.getTextContent = function () {\n return this._textContent;\n };\n Element.prototype.setTextContent = function (textEl) {\n var previousTextContent = this._textContent;\n if (previousTextContent === textEl) {\n return;\n }\n if (previousTextContent && previousTextContent !== textEl) {\n this.removeTextContent();\n }\n if (process.env.NODE_ENV !== 'production') {\n if (textEl.__zr && !textEl.__hostTarget) {\n throw new Error('Text element has been added to zrender.');\n }\n }\n textEl.innerTransformable = new Transformable();\n this._attachComponent(textEl);\n this._textContent = textEl;\n this.markRedraw();\n };\n Element.prototype.setTextConfig = function (cfg) {\n if (!this.textConfig) {\n this.textConfig = {};\n }\n extend(this.textConfig, cfg);\n this.markRedraw();\n };\n Element.prototype.removeTextConfig = function () {\n this.textConfig = null;\n this.markRedraw();\n };\n Element.prototype.removeTextContent = function () {\n var textEl = this._textContent;\n if (textEl) {\n textEl.innerTransformable = null;\n this._detachComponent(textEl);\n this._textContent = null;\n this._innerTextDefaultStyle = null;\n this.markRedraw();\n }\n };\n Element.prototype.getTextGuideLine = function () {\n return this._textGuide;\n };\n Element.prototype.setTextGuideLine = function (guideLine) {\n if (this._textGuide && this._textGuide !== guideLine) {\n this.removeTextGuideLine();\n }\n this._attachComponent(guideLine);\n this._textGuide = guideLine;\n this.markRedraw();\n };\n Element.prototype.removeTextGuideLine = function () {\n var textGuide = this._textGuide;\n if (textGuide) {\n this._detachComponent(textGuide);\n this._textGuide = null;\n this.markRedraw();\n }\n };\n Element.prototype.markRedraw = function () {\n this.__dirty |= REDRAW_BIT;\n var zr = this.__zr;\n if (zr) {\n if (this.__inHover) {\n zr.refreshHover();\n }\n else {\n zr.refresh();\n }\n }\n if (this.__hostTarget) {\n this.__hostTarget.markRedraw();\n }\n };\n Element.prototype.dirty = function () {\n this.markRedraw();\n };\n Element.prototype._toggleHoverLayerFlag = function (inHover) {\n this.__inHover = inHover;\n var textContent = this._textContent;\n var textGuide = this._textGuide;\n if (textContent) {\n textContent.__inHover = inHover;\n }\n if (textGuide) {\n textGuide.__inHover = inHover;\n }\n };\n Element.prototype.addSelfToZr = function (zr) {\n if (this.__zr === zr) {\n return;\n }\n this.__zr = zr;\n var animators = this.animators;\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.addAnimator(animators[i]);\n }\n }\n if (this._clipPath) {\n this._clipPath.addSelfToZr(zr);\n }\n if (this._textContent) {\n this._textContent.addSelfToZr(zr);\n }\n if (this._textGuide) {\n this._textGuide.addSelfToZr(zr);\n }\n };\n Element.prototype.removeSelfFromZr = function (zr) {\n if (!this.__zr) {\n return;\n }\n this.__zr = null;\n var animators = this.animators;\n if (animators) {\n for (var i = 0; i < animators.length; i++) {\n zr.animation.removeAnimator(animators[i]);\n }\n }\n if (this._clipPath) {\n this._clipPath.removeSelfFromZr(zr);\n }\n if (this._textContent) {\n this._textContent.removeSelfFromZr(zr);\n }\n if (this._textGuide) {\n this._textGuide.removeSelfFromZr(zr);\n }\n };\n Element.prototype.animate = function (key, loop, allowDiscreteAnimation) {\n var target = key ? this[key] : this;\n if (process.env.NODE_ENV !== 'production') {\n if (!target) {\n logError('Property \"'\n + key\n + '\" is not existed in element '\n + this.id);\n return;\n }\n }\n var animator = new Animator(target, loop, allowDiscreteAnimation);\n key && (animator.targetName = key);\n this.addAnimator(animator, key);\n return animator;\n };\n Element.prototype.addAnimator = function (animator, key) {\n var zr = this.__zr;\n var el = this;\n animator.during(function () {\n el.updateDuringAnimation(key);\n }).done(function () {\n var animators = el.animators;\n var idx = indexOf(animators, animator);\n if (idx >= 0) {\n animators.splice(idx, 1);\n }\n });\n this.animators.push(animator);\n if (zr) {\n zr.animation.addAnimator(animator);\n }\n zr && zr.wakeUp();\n };\n Element.prototype.updateDuringAnimation = function (key) {\n this.markRedraw();\n };\n Element.prototype.stopAnimation = function (scope, forwardToLast) {\n var animators = this.animators;\n var len = animators.length;\n var leftAnimators = [];\n for (var i = 0; i < len; i++) {\n var animator = animators[i];\n if (!scope || scope === animator.scope) {\n animator.stop(forwardToLast);\n }\n else {\n leftAnimators.push(animator);\n }\n }\n this.animators = leftAnimators;\n return this;\n };\n Element.prototype.animateTo = function (target, cfg, animationProps) {\n animateTo(this, target, cfg, animationProps);\n };\n Element.prototype.animateFrom = function (target, cfg, animationProps) {\n animateTo(this, target, cfg, animationProps, true);\n };\n Element.prototype._transitionState = function (stateName, target, cfg, animationProps) {\n var animators = animateTo(this, target, cfg, animationProps);\n for (var i = 0; i < animators.length; i++) {\n animators[i].__fromStateTransition = stateName;\n }\n };\n Element.prototype.getBoundingRect = function () {\n return null;\n };\n Element.prototype.getPaintRect = function () {\n return null;\n };\n Element.initDefaultProps = (function () {\n var elProto = Element.prototype;\n elProto.type = 'element';\n elProto.name = '';\n elProto.ignore =\n elProto.silent =\n elProto.isGroup =\n elProto.draggable =\n elProto.dragging =\n elProto.ignoreClip =\n elProto.__inHover = false;\n elProto.__dirty = REDRAW_BIT;\n var logs = {};\n function logDeprecatedError(key, xKey, yKey) {\n if (!logs[key + xKey + yKey]) {\n console.warn(\"DEPRECATED: '\" + key + \"' has been deprecated. use '\" + xKey + \"', '\" + yKey + \"' instead\");\n logs[key + xKey + yKey] = true;\n }\n }\n function createLegacyProperty(key, privateKey, xKey, yKey) {\n Object.defineProperty(elProto, key, {\n get: function () {\n if (process.env.NODE_ENV !== 'production') {\n logDeprecatedError(key, xKey, yKey);\n }\n if (!this[privateKey]) {\n var pos = this[privateKey] = [];\n enhanceArray(this, pos);\n }\n return this[privateKey];\n },\n set: function (pos) {\n if (process.env.NODE_ENV !== 'production') {\n logDeprecatedError(key, xKey, yKey);\n }\n this[xKey] = pos[0];\n this[yKey] = pos[1];\n this[privateKey] = pos;\n enhanceArray(this, pos);\n }\n });\n function enhanceArray(self, pos) {\n Object.defineProperty(pos, 0, {\n get: function () {\n return self[xKey];\n },\n set: function (val) {\n self[xKey] = val;\n }\n });\n Object.defineProperty(pos, 1, {\n get: function () {\n return self[yKey];\n },\n set: function (val) {\n self[yKey] = val;\n }\n });\n }\n }\n if (Object.defineProperty) {\n createLegacyProperty('position', '_legacyPos', 'x', 'y');\n createLegacyProperty('scale', '_legacyScale', 'scaleX', 'scaleY');\n createLegacyProperty('origin', '_legacyOrigin', 'originX', 'originY');\n }\n })();\n return Element;\n}());\nmixin(Element, Eventful);\nmixin(Element, Transformable);\nfunction animateTo(animatable, target, cfg, animationProps, reverse) {\n cfg = cfg || {};\n var animators = [];\n animateToShallow(animatable, '', animatable, target, cfg, animationProps, animators, reverse);\n var finishCount = animators.length;\n var doneHappened = false;\n var cfgDone = cfg.done;\n var cfgAborted = cfg.aborted;\n var doneCb = function () {\n doneHappened = true;\n finishCount--;\n if (finishCount <= 0) {\n doneHappened\n ? (cfgDone && cfgDone())\n : (cfgAborted && cfgAborted());\n }\n };\n var abortedCb = function () {\n finishCount--;\n if (finishCount <= 0) {\n doneHappened\n ? (cfgDone && cfgDone())\n : (cfgAborted && cfgAborted());\n }\n };\n if (!finishCount) {\n cfgDone && cfgDone();\n }\n if (animators.length > 0 && cfg.during) {\n animators[0].during(function (target, percent) {\n cfg.during(percent);\n });\n }\n for (var i = 0; i < animators.length; i++) {\n var animator = animators[i];\n if (doneCb) {\n animator.done(doneCb);\n }\n if (abortedCb) {\n animator.aborted(abortedCb);\n }\n if (cfg.force) {\n animator.duration(cfg.duration);\n }\n animator.start(cfg.easing);\n }\n return animators;\n}\nfunction copyArrShallow(source, target, len) {\n for (var i = 0; i < len; i++) {\n source[i] = target[i];\n }\n}\nfunction is2DArray(value) {\n return isArrayLike(value[0]);\n}\nfunction copyValue(target, source, key) {\n if (isArrayLike(source[key])) {\n if (!isArrayLike(target[key])) {\n target[key] = [];\n }\n if (isTypedArray(source[key])) {\n var len = source[key].length;\n if (target[key].length !== len) {\n target[key] = new (source[key].constructor)(len);\n copyArrShallow(target[key], source[key], len);\n }\n }\n else {\n var sourceArr = source[key];\n var targetArr = target[key];\n var len0 = sourceArr.length;\n if (is2DArray(sourceArr)) {\n var len1 = sourceArr[0].length;\n for (var i = 0; i < len0; i++) {\n if (!targetArr[i]) {\n targetArr[i] = Array.prototype.slice.call(sourceArr[i]);\n }\n else {\n copyArrShallow(targetArr[i], sourceArr[i], len1);\n }\n }\n }\n else {\n copyArrShallow(targetArr, sourceArr, len0);\n }\n targetArr.length = sourceArr.length;\n }\n }\n else {\n target[key] = source[key];\n }\n}\nfunction isValueSame(val1, val2) {\n return val1 === val2\n || isArrayLike(val1) && isArrayLike(val2) && is1DArraySame(val1, val2);\n}\nfunction is1DArraySame(arr0, arr1) {\n var len = arr0.length;\n if (len !== arr1.length) {\n return false;\n }\n for (var i = 0; i < len; i++) {\n if (arr0[i] !== arr1[i]) {\n return false;\n }\n }\n return true;\n}\nfunction animateToShallow(animatable, topKey, animateObj, target, cfg, animationProps, animators, reverse) {\n var targetKeys = keys(target);\n var duration = cfg.duration;\n var delay = cfg.delay;\n var additive = cfg.additive;\n var setToFinal = cfg.setToFinal;\n var animateAll = !isObject(animationProps);\n var existsAnimators = animatable.animators;\n var animationKeys = [];\n for (var k = 0; k < targetKeys.length; k++) {\n var innerKey = targetKeys[k];\n var targetVal = target[innerKey];\n if (targetVal != null && animateObj[innerKey] != null\n && (animateAll || animationProps[innerKey])) {\n if (isObject(targetVal)\n && !isArrayLike(targetVal)\n && !isGradientObject(targetVal)) {\n if (topKey) {\n if (!reverse) {\n animateObj[innerKey] = targetVal;\n animatable.updateDuringAnimation(topKey);\n }\n continue;\n }\n animateToShallow(animatable, innerKey, animateObj[innerKey], targetVal, cfg, animationProps && animationProps[innerKey], animators, reverse);\n }\n else {\n animationKeys.push(innerKey);\n }\n }\n else if (!reverse) {\n animateObj[innerKey] = targetVal;\n animatable.updateDuringAnimation(topKey);\n animationKeys.push(innerKey);\n }\n }\n var keyLen = animationKeys.length;\n if (!additive && keyLen) {\n for (var i = 0; i < existsAnimators.length; i++) {\n var animator = existsAnimators[i];\n if (animator.targetName === topKey) {\n var allAborted = animator.stopTracks(animationKeys);\n if (allAborted) {\n var idx = indexOf(existsAnimators, animator);\n existsAnimators.splice(idx, 1);\n }\n }\n }\n }\n if (!cfg.force) {\n animationKeys = filter(animationKeys, function (key) { return !isValueSame(target[key], animateObj[key]); });\n keyLen = animationKeys.length;\n }\n if (keyLen > 0\n || (cfg.force && !animators.length)) {\n var revertedSource = void 0;\n var reversedTarget = void 0;\n var sourceClone = void 0;\n if (reverse) {\n reversedTarget = {};\n if (setToFinal) {\n revertedSource = {};\n }\n for (var i = 0; i < keyLen; i++) {\n var innerKey = animationKeys[i];\n reversedTarget[innerKey] = animateObj[innerKey];\n if (setToFinal) {\n revertedSource[innerKey] = target[innerKey];\n }\n else {\n animateObj[innerKey] = target[innerKey];\n }\n }\n }\n else if (setToFinal) {\n sourceClone = {};\n for (var i = 0; i < keyLen; i++) {\n var innerKey = animationKeys[i];\n sourceClone[innerKey] = cloneValue(animateObj[innerKey]);\n copyValue(animateObj, target, innerKey);\n }\n }\n var animator = new Animator(animateObj, false, false, additive ? filter(existsAnimators, function (animator) { return animator.targetName === topKey; }) : null);\n animator.targetName = topKey;\n if (cfg.scope) {\n animator.scope = cfg.scope;\n }\n if (setToFinal && revertedSource) {\n animator.whenWithKeys(0, revertedSource, animationKeys);\n }\n if (sourceClone) {\n animator.whenWithKeys(0, sourceClone, animationKeys);\n }\n animator.whenWithKeys(duration == null ? 500 : duration, reverse ? reversedTarget : target, animationKeys).delay(delay || 0);\n animatable.addAnimator(animator, topKey);\n animators.push(animator);\n }\n}\nexport default Element;\n","import { __extends } from \"tslib\";\nimport * as zrUtil from '../core/util.js';\nimport Element from '../Element.js';\nimport BoundingRect from '../core/BoundingRect.js';\nvar Group = (function (_super) {\n __extends(Group, _super);\n function Group(opts) {\n var _this = _super.call(this) || this;\n _this.isGroup = true;\n _this._children = [];\n _this.attr(opts);\n return _this;\n }\n Group.prototype.childrenRef = function () {\n return this._children;\n };\n Group.prototype.children = function () {\n return this._children.slice();\n };\n Group.prototype.childAt = function (idx) {\n return this._children[idx];\n };\n Group.prototype.childOfName = function (name) {\n var children = this._children;\n for (var i = 0; i < children.length; i++) {\n if (children[i].name === name) {\n return children[i];\n }\n }\n };\n Group.prototype.childCount = function () {\n return this._children.length;\n };\n Group.prototype.add = function (child) {\n if (child) {\n if (child !== this && child.parent !== this) {\n this._children.push(child);\n this._doAdd(child);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (child.__hostTarget) {\n throw 'This elemenet has been used as an attachment';\n }\n }\n }\n return this;\n };\n Group.prototype.addBefore = function (child, nextSibling) {\n if (child && child !== this && child.parent !== this\n && nextSibling && nextSibling.parent === this) {\n var children = this._children;\n var idx = children.indexOf(nextSibling);\n if (idx >= 0) {\n children.splice(idx, 0, child);\n this._doAdd(child);\n }\n }\n return this;\n };\n Group.prototype.replace = function (oldChild, newChild) {\n var idx = zrUtil.indexOf(this._children, oldChild);\n if (idx >= 0) {\n this.replaceAt(newChild, idx);\n }\n return this;\n };\n Group.prototype.replaceAt = function (child, index) {\n var children = this._children;\n var old = children[index];\n if (child && child !== this && child.parent !== this && child !== old) {\n children[index] = child;\n old.parent = null;\n var zr = this.__zr;\n if (zr) {\n old.removeSelfFromZr(zr);\n }\n this._doAdd(child);\n }\n return this;\n };\n Group.prototype._doAdd = function (child) {\n if (child.parent) {\n child.parent.remove(child);\n }\n child.parent = this;\n var zr = this.__zr;\n if (zr && zr !== child.__zr) {\n child.addSelfToZr(zr);\n }\n zr && zr.refresh();\n };\n Group.prototype.remove = function (child) {\n var zr = this.__zr;\n var children = this._children;\n var idx = zrUtil.indexOf(children, child);\n if (idx < 0) {\n return this;\n }\n children.splice(idx, 1);\n child.parent = null;\n if (zr) {\n child.removeSelfFromZr(zr);\n }\n zr && zr.refresh();\n return this;\n };\n Group.prototype.removeAll = function () {\n var children = this._children;\n var zr = this.__zr;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (zr) {\n child.removeSelfFromZr(zr);\n }\n child.parent = null;\n }\n children.length = 0;\n return this;\n };\n Group.prototype.eachChild = function (cb, context) {\n var children = this._children;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n cb.call(context, child, i);\n }\n return this;\n };\n Group.prototype.traverse = function (cb, context) {\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n var stopped = cb.call(context, child);\n if (child.isGroup && !stopped) {\n child.traverse(cb, context);\n }\n }\n return this;\n };\n Group.prototype.addSelfToZr = function (zr) {\n _super.prototype.addSelfToZr.call(this, zr);\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n child.addSelfToZr(zr);\n }\n };\n Group.prototype.removeSelfFromZr = function (zr) {\n _super.prototype.removeSelfFromZr.call(this, zr);\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n child.removeSelfFromZr(zr);\n }\n };\n Group.prototype.getBoundingRect = function (includeChildren) {\n var tmpRect = new BoundingRect(0, 0, 0, 0);\n var children = includeChildren || this._children;\n var tmpMat = [];\n var rect = null;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n if (child.ignore || child.invisible) {\n continue;\n }\n var childRect = child.getBoundingRect();\n var transform = child.getLocalTransform(tmpMat);\n if (transform) {\n BoundingRect.applyTransform(tmpRect, childRect, transform);\n rect = rect || tmpRect.clone();\n rect.union(tmpRect);\n }\n else {\n rect = rect || childRect.clone();\n rect.union(childRect);\n }\n }\n return rect || tmpRect;\n };\n return Group;\n}(Element));\nGroup.prototype.type = 'group';\nexport default Group;\n","/*!\n* ZRender, a high performance 2d drawing library.\n*\n* Copyright (c) 2013, Baidu Inc.\n* All rights reserved.\n*\n* LICENSE\n* https://github.com/ecomfe/zrender/blob/master/LICENSE.txt\n*/\nimport env from './core/env.js';\nimport * as zrUtil from './core/util.js';\nimport Handler from './Handler.js';\nimport Storage from './Storage.js';\nimport Animation, { getTime } from './animation/Animation.js';\nimport HandlerProxy from './dom/HandlerProxy.js';\nimport { lum } from './tool/color.js';\nimport { DARK_MODE_THRESHOLD } from './config.js';\nimport Group from './graphic/Group.js';\nvar painterCtors = {};\nvar instances = {};\nfunction delInstance(id) {\n delete instances[id];\n}\nfunction isDarkMode(backgroundColor) {\n if (!backgroundColor) {\n return false;\n }\n if (typeof backgroundColor === 'string') {\n return lum(backgroundColor, 1) < DARK_MODE_THRESHOLD;\n }\n else if (backgroundColor.colorStops) {\n var colorStops = backgroundColor.colorStops;\n var totalLum = 0;\n var len = colorStops.length;\n for (var i = 0; i < len; i++) {\n totalLum += lum(colorStops[i].color, 1);\n }\n totalLum /= len;\n return totalLum < DARK_MODE_THRESHOLD;\n }\n return false;\n}\nvar ZRender = (function () {\n function ZRender(id, dom, opts) {\n var _this = this;\n this._sleepAfterStill = 10;\n this._stillFrameAccum = 0;\n this._needsRefresh = true;\n this._needsRefreshHover = true;\n this._darkMode = false;\n opts = opts || {};\n this.dom = dom;\n this.id = id;\n var storage = new Storage();\n var rendererType = opts.renderer || 'canvas';\n if (!painterCtors[rendererType]) {\n rendererType = zrUtil.keys(painterCtors)[0];\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!painterCtors[rendererType]) {\n throw new Error(\"Renderer '\" + rendererType + \"' is not imported. Please import it first.\");\n }\n }\n opts.useDirtyRect = opts.useDirtyRect == null\n ? false\n : opts.useDirtyRect;\n var painter = new painterCtors[rendererType](dom, storage, opts, id);\n var ssrMode = opts.ssr || painter.ssrOnly;\n this.storage = storage;\n this.painter = painter;\n var handerProxy = (!env.node && !env.worker && !ssrMode)\n ? new HandlerProxy(painter.getViewportRoot(), painter.root)\n : null;\n var useCoarsePointer = opts.useCoarsePointer;\n var usePointerSize = (useCoarsePointer == null || useCoarsePointer === 'auto')\n ? env.touchEventsSupported\n : !!useCoarsePointer;\n var defaultPointerSize = 44;\n var pointerSize;\n if (usePointerSize) {\n pointerSize = zrUtil.retrieve2(opts.pointerSize, defaultPointerSize);\n }\n this.handler = new Handler(storage, painter, handerProxy, painter.root, pointerSize);\n this.animation = new Animation({\n stage: {\n update: ssrMode ? null : function () { return _this._flush(true); }\n }\n });\n if (!ssrMode) {\n this.animation.start();\n }\n }\n ZRender.prototype.add = function (el) {\n if (!el) {\n return;\n }\n this.storage.addRoot(el);\n el.addSelfToZr(this);\n this.refresh();\n };\n ZRender.prototype.remove = function (el) {\n if (!el) {\n return;\n }\n this.storage.delRoot(el);\n el.removeSelfFromZr(this);\n this.refresh();\n };\n ZRender.prototype.configLayer = function (zLevel, config) {\n if (this.painter.configLayer) {\n this.painter.configLayer(zLevel, config);\n }\n this.refresh();\n };\n ZRender.prototype.setBackgroundColor = function (backgroundColor) {\n if (this.painter.setBackgroundColor) {\n this.painter.setBackgroundColor(backgroundColor);\n }\n this.refresh();\n this._backgroundColor = backgroundColor;\n this._darkMode = isDarkMode(backgroundColor);\n };\n ZRender.prototype.getBackgroundColor = function () {\n return this._backgroundColor;\n };\n ZRender.prototype.setDarkMode = function (darkMode) {\n this._darkMode = darkMode;\n };\n ZRender.prototype.isDarkMode = function () {\n return this._darkMode;\n };\n ZRender.prototype.refreshImmediately = function (fromInside) {\n if (!fromInside) {\n this.animation.update(true);\n }\n this._needsRefresh = false;\n this.painter.refresh();\n this._needsRefresh = false;\n };\n ZRender.prototype.refresh = function () {\n this._needsRefresh = true;\n this.animation.start();\n };\n ZRender.prototype.flush = function () {\n this._flush(false);\n };\n ZRender.prototype._flush = function (fromInside) {\n var triggerRendered;\n var start = getTime();\n if (this._needsRefresh) {\n triggerRendered = true;\n this.refreshImmediately(fromInside);\n }\n if (this._needsRefreshHover) {\n triggerRendered = true;\n this.refreshHoverImmediately();\n }\n var end = getTime();\n if (triggerRendered) {\n this._stillFrameAccum = 0;\n this.trigger('rendered', {\n elapsedTime: end - start\n });\n }\n else if (this._sleepAfterStill > 0) {\n this._stillFrameAccum++;\n if (this._stillFrameAccum > this._sleepAfterStill) {\n this.animation.stop();\n }\n }\n };\n ZRender.prototype.setSleepAfterStill = function (stillFramesCount) {\n this._sleepAfterStill = stillFramesCount;\n };\n ZRender.prototype.wakeUp = function () {\n this.animation.start();\n this._stillFrameAccum = 0;\n };\n ZRender.prototype.refreshHover = function () {\n this._needsRefreshHover = true;\n };\n ZRender.prototype.refreshHoverImmediately = function () {\n this._needsRefreshHover = false;\n if (this.painter.refreshHover && this.painter.getType() === 'canvas') {\n this.painter.refreshHover();\n }\n };\n ZRender.prototype.resize = function (opts) {\n opts = opts || {};\n this.painter.resize(opts.width, opts.height);\n this.handler.resize();\n };\n ZRender.prototype.clearAnimation = function () {\n this.animation.clear();\n };\n ZRender.prototype.getWidth = function () {\n return this.painter.getWidth();\n };\n ZRender.prototype.getHeight = function () {\n return this.painter.getHeight();\n };\n ZRender.prototype.setCursorStyle = function (cursorStyle) {\n this.handler.setCursorStyle(cursorStyle);\n };\n ZRender.prototype.findHover = function (x, y) {\n return this.handler.findHover(x, y);\n };\n ZRender.prototype.on = function (eventName, eventHandler, context) {\n this.handler.on(eventName, eventHandler, context);\n return this;\n };\n ZRender.prototype.off = function (eventName, eventHandler) {\n this.handler.off(eventName, eventHandler);\n };\n ZRender.prototype.trigger = function (eventName, event) {\n this.handler.trigger(eventName, event);\n };\n ZRender.prototype.clear = function () {\n var roots = this.storage.getRoots();\n for (var i = 0; i < roots.length; i++) {\n if (roots[i] instanceof Group) {\n roots[i].removeSelfFromZr(this);\n }\n }\n this.storage.delAllRoots();\n this.painter.clear();\n };\n ZRender.prototype.dispose = function () {\n this.animation.stop();\n this.clear();\n this.storage.dispose();\n this.painter.dispose();\n this.handler.dispose();\n this.animation =\n this.storage =\n this.painter =\n this.handler = null;\n delInstance(this.id);\n };\n return ZRender;\n}());\nexport function init(dom, opts) {\n var zr = new ZRender(zrUtil.guid(), dom, opts);\n instances[zr.id] = zr;\n return zr;\n}\nexport function dispose(zr) {\n zr.dispose();\n}\nexport function disposeAll() {\n for (var key in instances) {\n if (instances.hasOwnProperty(key)) {\n instances[key].dispose();\n }\n }\n instances = {};\n}\nexport function getInstance(id) {\n return instances[id];\n}\nexport function registerPainter(name, Ctor) {\n painterCtors[name] = Ctor;\n}\nexport var version = '5.4.4';\n;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/*\r\n* A third-party license is embedded for some of the code in this file:\r\n* The method \"quantile\" was copied from \"d3.js\".\r\n* (See more details in the comment of the method below.)\r\n* The use of the source code of this file is also subject to the terms\r\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\r\n* ).\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar RADIAN_EPSILON = 1e-4; // Although chrome already enlarge this number to 100 for `toFixed`, but\n// we sill follow the spec for compatibility.\n\nvar ROUND_SUPPORTED_PRECISION_MAX = 20;\n\nfunction _trim(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n/**\r\n * Linear mapping a value from domain to range\r\n * @param val\r\n * @param domain Domain extent domain[0] can be bigger than domain[1]\r\n * @param range Range extent range[0] can be bigger than range[1]\r\n * @param clamp Default to be false\r\n */\n\n\nexport function linearMap(val, domain, range, clamp) {\n var d0 = domain[0];\n var d1 = domain[1];\n var r0 = range[0];\n var r1 = range[1];\n var subDomain = d1 - d0;\n var subRange = r1 - r0;\n\n if (subDomain === 0) {\n return subRange === 0 ? r0 : (r0 + r1) / 2;\n } // Avoid accuracy problem in edge, such as\n // 146.39 - 62.83 === 83.55999999999999.\n // See echarts/test/ut/spec/util/number.js#linearMap#accuracyError\n // It is a little verbose for efficiency considering this method\n // is a hotspot.\n\n\n if (clamp) {\n if (subDomain > 0) {\n if (val <= d0) {\n return r0;\n } else if (val >= d1) {\n return r1;\n }\n } else {\n if (val >= d0) {\n return r0;\n } else if (val <= d1) {\n return r1;\n }\n }\n } else {\n if (val === d0) {\n return r0;\n }\n\n if (val === d1) {\n return r1;\n }\n }\n\n return (val - d0) / subDomain * subRange + r0;\n}\n/**\r\n * Convert a percent string to absolute number.\r\n * Returns NaN if percent is not a valid string or number\r\n */\n\nexport function parsePercent(percent, all) {\n switch (percent) {\n case 'center':\n case 'middle':\n percent = '50%';\n break;\n\n case 'left':\n case 'top':\n percent = '0%';\n break;\n\n case 'right':\n case 'bottom':\n percent = '100%';\n break;\n }\n\n if (zrUtil.isString(percent)) {\n if (_trim(percent).match(/%$/)) {\n return parseFloat(percent) / 100 * all;\n }\n\n return parseFloat(percent);\n }\n\n return percent == null ? NaN : +percent;\n}\nexport function round(x, precision, returnStr) {\n if (precision == null) {\n precision = 10;\n } // Avoid range error\n\n\n precision = Math.min(Math.max(0, precision), ROUND_SUPPORTED_PRECISION_MAX); // PENDING: 1.005.toFixed(2) is '1.00' rather than '1.01'\n\n x = (+x).toFixed(precision);\n return returnStr ? x : +x;\n}\n/**\r\n * Inplacd asc sort arr.\r\n * The input arr will be modified.\r\n */\n\nexport function asc(arr) {\n arr.sort(function (a, b) {\n return a - b;\n });\n return arr;\n}\n/**\r\n * Get precision.\r\n */\n\nexport function getPrecision(val) {\n val = +val;\n\n if (isNaN(val)) {\n return 0;\n } // It is much faster than methods converting number to string as follows\n // let tmp = val.toString();\n // return tmp.length - 1 - tmp.indexOf('.');\n // especially when precision is low\n // Notice:\n // (1) If the loop count is over about 20, it is slower than `getPrecisionSafe`.\n // (see https://jsbench.me/2vkpcekkvw/1)\n // (2) If the val is less than for example 1e-15, the result may be incorrect.\n // (see test/ut/spec/util/number.test.ts `getPrecision_equal_random`)\n\n\n if (val > 1e-14) {\n var e = 1;\n\n for (var i = 0; i < 15; i++, e *= 10) {\n if (Math.round(val * e) / e === val) {\n return i;\n }\n }\n }\n\n return getPrecisionSafe(val);\n}\n/**\r\n * Get precision with slow but safe method\r\n */\n\nexport function getPrecisionSafe(val) {\n // toLowerCase for: '3.4E-12'\n var str = val.toString().toLowerCase(); // Consider scientific notation: '3.4e-12' '3.4e+12'\n\n var eIndex = str.indexOf('e');\n var exp = eIndex > 0 ? +str.slice(eIndex + 1) : 0;\n var significandPartLen = eIndex > 0 ? eIndex : str.length;\n var dotIndex = str.indexOf('.');\n var decimalPartLen = dotIndex < 0 ? 0 : significandPartLen - 1 - dotIndex;\n return Math.max(0, decimalPartLen - exp);\n}\n/**\r\n * Minimal dicernible data precisioin according to a single pixel.\r\n */\n\nexport function getPixelPrecision(dataExtent, pixelExtent) {\n var log = Math.log;\n var LN10 = Math.LN10;\n var dataQuantity = Math.floor(log(dataExtent[1] - dataExtent[0]) / LN10);\n var sizeQuantity = Math.round(log(Math.abs(pixelExtent[1] - pixelExtent[0])) / LN10); // toFixed() digits argument must be between 0 and 20.\n\n var precision = Math.min(Math.max(-dataQuantity + sizeQuantity, 0), 20);\n return !isFinite(precision) ? 20 : precision;\n}\n/**\r\n * Get a data of given precision, assuring the sum of percentages\r\n * in valueList is 1.\r\n * The largest remainder method is used.\r\n * https://en.wikipedia.org/wiki/Largest_remainder_method\r\n *\r\n * @param valueList a list of all data\r\n * @param idx index of the data to be processed in valueList\r\n * @param precision integer number showing digits of precision\r\n * @return percent ranging from 0 to 100\r\n */\n\nexport function getPercentWithPrecision(valueList, idx, precision) {\n if (!valueList[idx]) {\n return 0;\n }\n\n var seats = getPercentSeats(valueList, precision);\n return seats[idx] || 0;\n}\n/**\r\n * Get a data of given precision, assuring the sum of percentages\r\n * in valueList is 1.\r\n * The largest remainder method is used.\r\n * https://en.wikipedia.org/wiki/Largest_remainder_method\r\n *\r\n * @param valueList a list of all data\r\n * @param precision integer number showing digits of precision\r\n * @return {Array}\r\n */\n\nexport function getPercentSeats(valueList, precision) {\n var sum = zrUtil.reduce(valueList, function (acc, val) {\n return acc + (isNaN(val) ? 0 : val);\n }, 0);\n\n if (sum === 0) {\n return [];\n }\n\n var digits = Math.pow(10, precision);\n var votesPerQuota = zrUtil.map(valueList, function (val) {\n return (isNaN(val) ? 0 : val) / sum * digits * 100;\n });\n var targetSeats = digits * 100;\n var seats = zrUtil.map(votesPerQuota, function (votes) {\n // Assign automatic seats.\n return Math.floor(votes);\n });\n var currentSum = zrUtil.reduce(seats, function (acc, val) {\n return acc + val;\n }, 0);\n var remainder = zrUtil.map(votesPerQuota, function (votes, idx) {\n return votes - seats[idx];\n }); // Has remainding votes.\n\n while (currentSum < targetSeats) {\n // Find next largest remainder.\n var max = Number.NEGATIVE_INFINITY;\n var maxId = null;\n\n for (var i = 0, len = remainder.length; i < len; ++i) {\n if (remainder[i] > max) {\n max = remainder[i];\n maxId = i;\n }\n } // Add a vote to max remainder.\n\n\n ++seats[maxId];\n remainder[maxId] = 0;\n ++currentSum;\n }\n\n return zrUtil.map(seats, function (seat) {\n return seat / digits;\n });\n}\n/**\r\n * Solve the floating point adding problem like 0.1 + 0.2 === 0.30000000000000004\r\n * See \r\n */\n\nexport function addSafe(val0, val1) {\n var maxPrecision = Math.max(getPrecision(val0), getPrecision(val1)); // const multiplier = Math.pow(10, maxPrecision);\n // return (Math.round(val0 * multiplier) + Math.round(val1 * multiplier)) / multiplier;\n\n var sum = val0 + val1; // // PENDING: support more?\n\n return maxPrecision > ROUND_SUPPORTED_PRECISION_MAX ? sum : round(sum, maxPrecision);\n} // Number.MAX_SAFE_INTEGER, ie do not support.\n\nexport var MAX_SAFE_INTEGER = 9007199254740991;\n/**\r\n * To 0 - 2 * PI, considering negative radian.\r\n */\n\nexport function remRadian(radian) {\n var pi2 = Math.PI * 2;\n return (radian % pi2 + pi2) % pi2;\n}\n/**\r\n * @param {type} radian\r\n * @return {boolean}\r\n */\n\nexport function isRadianAroundZero(val) {\n return val > -RADIAN_EPSILON && val < RADIAN_EPSILON;\n} // eslint-disable-next-line\n\nvar TIME_REG = /^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d{1,2})(?::(\\d{1,2})(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/; // jshint ignore:line\n\n/**\r\n * @param value valid type: number | string | Date, otherwise return `new Date(NaN)`\r\n * These values can be accepted:\r\n * + An instance of Date, represent a time in its own time zone.\r\n * + Or string in a subset of ISO 8601, only including:\r\n * + only year, month, date: '2012-03', '2012-03-01', '2012-03-01 05', '2012-03-01 05:06',\r\n * + separated with T or space: '2012-03-01T12:22:33.123', '2012-03-01 12:22:33.123',\r\n * + time zone: '2012-03-01T12:22:33Z', '2012-03-01T12:22:33+8000', '2012-03-01T12:22:33-05:00',\r\n * all of which will be treated as local time if time zone is not specified\r\n * (see ).\r\n * + Or other string format, including (all of which will be treated as local time):\r\n * '2012', '2012-3-1', '2012/3/1', '2012/03/01',\r\n * '2009/6/12 2:00', '2009/6/12 2:05:08', '2009/6/12 2:05:08.123'\r\n * + a timestamp, which represent a time in UTC.\r\n * @return date Never be null/undefined. If invalid, return `new Date(NaN)`.\r\n */\n\nexport function parseDate(value) {\n if (value instanceof Date) {\n return value;\n } else if (zrUtil.isString(value)) {\n // Different browsers parse date in different way, so we parse it manually.\n // Some other issues:\n // new Date('1970-01-01') is UTC,\n // new Date('1970/01/01') and new Date('1970-1-01') is local.\n // See issue #3623\n var match = TIME_REG.exec(value);\n\n if (!match) {\n // return Invalid Date.\n return new Date(NaN);\n } // Use local time when no timezone offset is specified.\n\n\n if (!match[8]) {\n // match[n] can only be string or undefined.\n // But take care of '12' + 1 => '121'.\n return new Date(+match[1], +(match[2] || 1) - 1, +match[3] || 1, +match[4] || 0, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0);\n } // Timezoneoffset of Javascript Date has considered DST (Daylight Saving Time,\n // https://tc39.github.io/ecma262/#sec-daylight-saving-time-adjustment).\n // For example, system timezone is set as \"Time Zone: America/Toronto\",\n // then these code will get different result:\n // `new Date(1478411999999).getTimezoneOffset(); // get 240`\n // `new Date(1478412000000).getTimezoneOffset(); // get 300`\n // So we should not use `new Date`, but use `Date.UTC`.\n else {\n var hour = +match[4] || 0;\n\n if (match[8].toUpperCase() !== 'Z') {\n hour -= +match[8].slice(0, 3);\n }\n\n return new Date(Date.UTC(+match[1], +(match[2] || 1) - 1, +match[3] || 1, hour, +(match[5] || 0), +match[6] || 0, match[7] ? +match[7].substring(0, 3) : 0));\n }\n } else if (value == null) {\n return new Date(NaN);\n }\n\n return new Date(Math.round(value));\n}\n/**\r\n * Quantity of a number. e.g. 0.1, 1, 10, 100\r\n *\r\n * @param val\r\n * @return\r\n */\n\nexport function quantity(val) {\n return Math.pow(10, quantityExponent(val));\n}\n/**\r\n * Exponent of the quantity of a number\r\n * e.g., 1234 equals to 1.234*10^3, so quantityExponent(1234) is 3\r\n *\r\n * @param val non-negative value\r\n * @return\r\n */\n\nexport function quantityExponent(val) {\n if (val === 0) {\n return 0;\n }\n\n var exp = Math.floor(Math.log(val) / Math.LN10);\n /**\r\n * exp is expected to be the rounded-down result of the base-10 log of val.\r\n * But due to the precision loss with Math.log(val), we need to restore it\r\n * using 10^exp to make sure we can get val back from exp. #11249\r\n */\n\n if (val / Math.pow(10, exp) >= 10) {\n exp++;\n }\n\n return exp;\n}\n/**\r\n * find a “nice” number approximately equal to x. Round the number if round = true,\r\n * take ceiling if round = false. The primary observation is that the “nicest”\r\n * numbers in decimal are 1, 2, and 5, and all power-of-ten multiples of these numbers.\r\n *\r\n * See \"Nice Numbers for Graph Labels\" of Graphic Gems.\r\n *\r\n * @param val Non-negative value.\r\n * @param round\r\n * @return Niced number\r\n */\n\nexport function nice(val, round) {\n var exponent = quantityExponent(val);\n var exp10 = Math.pow(10, exponent);\n var f = val / exp10; // 1 <= f < 10\n\n var nf;\n\n if (round) {\n if (f < 1.5) {\n nf = 1;\n } else if (f < 2.5) {\n nf = 2;\n } else if (f < 4) {\n nf = 3;\n } else if (f < 7) {\n nf = 5;\n } else {\n nf = 10;\n }\n } else {\n if (f < 1) {\n nf = 1;\n } else if (f < 2) {\n nf = 2;\n } else if (f < 3) {\n nf = 3;\n } else if (f < 5) {\n nf = 5;\n } else {\n nf = 10;\n }\n }\n\n val = nf * exp10; // Fix 3 * 0.1 === 0.30000000000000004 issue (see IEEE 754).\n // 20 is the uppper bound of toFixed.\n\n return exponent >= -20 ? +val.toFixed(exponent < 0 ? -exponent : 0) : val;\n}\n/**\r\n * This code was copied from \"d3.js\"\r\n * .\r\n * See the license statement at the head of this file.\r\n * @param ascArr\r\n */\n\nexport function quantile(ascArr, p) {\n var H = (ascArr.length - 1) * p + 1;\n var h = Math.floor(H);\n var v = +ascArr[h - 1];\n var e = H - h;\n return e ? v + e * (ascArr[h] - v) : v;\n}\n/**\r\n * Order intervals asc, and split them when overlap.\r\n * expect(numberUtil.reformIntervals([\r\n * {interval: [18, 62], close: [1, 1]},\r\n * {interval: [-Infinity, -70], close: [0, 0]},\r\n * {interval: [-70, -26], close: [1, 1]},\r\n * {interval: [-26, 18], close: [1, 1]},\r\n * {interval: [62, 150], close: [1, 1]},\r\n * {interval: [106, 150], close: [1, 1]},\r\n * {interval: [150, Infinity], close: [0, 0]}\r\n * ])).toEqual([\r\n * {interval: [-Infinity, -70], close: [0, 0]},\r\n * {interval: [-70, -26], close: [1, 1]},\r\n * {interval: [-26, 18], close: [0, 1]},\r\n * {interval: [18, 62], close: [0, 1]},\r\n * {interval: [62, 150], close: [0, 1]},\r\n * {interval: [150, Infinity], close: [0, 0]}\r\n * ]);\r\n * @param list, where `close` mean open or close\r\n * of the interval, and Infinity can be used.\r\n * @return The origin list, which has been reformed.\r\n */\n\nexport function reformIntervals(list) {\n list.sort(function (a, b) {\n return littleThan(a, b, 0) ? -1 : 1;\n });\n var curr = -Infinity;\n var currClose = 1;\n\n for (var i = 0; i < list.length;) {\n var interval = list[i].interval;\n var close_1 = list[i].close;\n\n for (var lg = 0; lg < 2; lg++) {\n if (interval[lg] <= curr) {\n interval[lg] = curr;\n close_1[lg] = !lg ? 1 - currClose : 1;\n }\n\n curr = interval[lg];\n currClose = close_1[lg];\n }\n\n if (interval[0] === interval[1] && close_1[0] * close_1[1] !== 1) {\n list.splice(i, 1);\n } else {\n i++;\n }\n }\n\n return list;\n\n function littleThan(a, b, lg) {\n return a.interval[lg] < b.interval[lg] || a.interval[lg] === b.interval[lg] && (a.close[lg] - b.close[lg] === (!lg ? 1 : -1) || !lg && littleThan(a, b, 1));\n }\n}\n/**\r\n * [Numeric is defined as]:\r\n * `parseFloat(val) == val`\r\n * For example:\r\n * numeric:\r\n * typeof number except NaN, '-123', '123', '2e3', '-2e3', '011', 'Infinity', Infinity,\r\n * and they rounded by white-spaces or line-terminal like ' -123 \\n ' (see es spec)\r\n * not-numeric:\r\n * null, undefined, [], {}, true, false, 'NaN', NaN, '123ab',\r\n * empty string, string with only white-spaces or line-terminal (see es spec),\r\n * 0x12, '0x12', '-0x12', 012, '012', '-012',\r\n * non-string, ...\r\n *\r\n * @test See full test cases in `test/ut/spec/util/number.js`.\r\n * @return Must be a typeof number. If not numeric, return NaN.\r\n */\n\nexport function numericToNumber(val) {\n var valFloat = parseFloat(val);\n return valFloat == val // eslint-disable-line eqeqeq\n && (valFloat !== 0 || !zrUtil.isString(val) || val.indexOf('x') <= 0) // For case ' 0x0 '.\n ? valFloat : NaN;\n}\n/**\r\n * Definition of \"numeric\": see `numericToNumber`.\r\n */\n\nexport function isNumeric(val) {\n return !isNaN(numericToNumber(val));\n}\n/**\r\n * Use random base to prevent users hard code depending on\r\n * this auto generated marker id.\r\n * @return An positive integer.\r\n */\n\nexport function getRandomIdBase() {\n return Math.round(Math.random() * 9);\n}\n/**\r\n * Get the greatest common divisor.\r\n *\r\n * @param {number} a one number\r\n * @param {number} b the other number\r\n */\n\nexport function getGreatestCommonDividor(a, b) {\n if (b === 0) {\n return a;\n }\n\n return getGreatestCommonDividor(b, a % b);\n}\n/**\r\n * Get the least common multiple.\r\n *\r\n * @param {number} a one number\r\n * @param {number} b the other number\r\n */\n\nexport function getLeastCommonMultiple(a, b) {\n if (a == null) {\n return b;\n }\n\n if (b == null) {\n return a;\n }\n\n return a * b / getGreatestCommonDividor(a, b);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { map, isString, isFunction, eqNaN, isRegExp } from 'zrender/lib/core/util.js';\nvar ECHARTS_PREFIX = '[ECharts] ';\nvar storedLogs = {};\nvar hasConsole = typeof console !== 'undefined' // eslint-disable-next-line\n&& console.warn && console.log;\n\nfunction outputLog(type, str, onlyOnce) {\n if (hasConsole) {\n if (onlyOnce) {\n if (storedLogs[str]) {\n return;\n }\n\n storedLogs[str] = true;\n } // eslint-disable-next-line\n\n\n console[type](ECHARTS_PREFIX + str);\n }\n}\n\nexport function log(str, onlyOnce) {\n outputLog('log', str, onlyOnce);\n}\nexport function warn(str, onlyOnce) {\n outputLog('warn', str, onlyOnce);\n}\nexport function error(str, onlyOnce) {\n outputLog('error', str, onlyOnce);\n}\nexport function deprecateLog(str) {\n if (process.env.NODE_ENV !== 'production') {\n // Not display duplicate message.\n outputLog('warn', 'DEPRECATED: ' + str, true);\n }\n}\nexport function deprecateReplaceLog(oldOpt, newOpt, scope) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateLog((scope ? \"[\" + scope + \"]\" : '') + (oldOpt + \" is deprecated, use \" + newOpt + \" instead.\"));\n }\n}\n/**\r\n * If in __DEV__ environment, get console printable message for users hint.\r\n * Parameters are separated by ' '.\r\n * @usage\r\n * makePrintable('This is an error on', someVar, someObj);\r\n *\r\n * @param hintInfo anything about the current execution context to hint users.\r\n * @throws Error\r\n */\n\nexport function makePrintable() {\n var hintInfo = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n hintInfo[_i] = arguments[_i];\n }\n\n var msg = '';\n\n if (process.env.NODE_ENV !== 'production') {\n // Fuzzy stringify for print.\n // This code only exist in dev environment.\n var makePrintableStringIfPossible_1 = function (val) {\n return val === void 0 ? 'undefined' : val === Infinity ? 'Infinity' : val === -Infinity ? '-Infinity' : eqNaN(val) ? 'NaN' : val instanceof Date ? 'Date(' + val.toISOString() + ')' : isFunction(val) ? 'function () { ... }' : isRegExp(val) ? val + '' : null;\n };\n\n msg = map(hintInfo, function (arg) {\n if (isString(arg)) {\n // Print without quotation mark for some statement.\n return arg;\n } else {\n var printableStr = makePrintableStringIfPossible_1(arg);\n\n if (printableStr != null) {\n return printableStr;\n } else if (typeof JSON !== 'undefined' && JSON.stringify) {\n try {\n return JSON.stringify(arg, function (n, val) {\n var printableStr = makePrintableStringIfPossible_1(val);\n return printableStr == null ? val : printableStr;\n }); // In most cases the info object is small, so do not line break.\n } catch (err) {\n return '?';\n }\n } else {\n return '?';\n }\n }\n }).join(' ');\n }\n\n return msg;\n}\n/**\r\n * @throws Error\r\n */\n\nexport function throwError(msg) {\n throw new Error(msg);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, isObject, isArray, createHashMap, map, assert, isString, indexOf, isStringSafe, isNumber } from 'zrender/lib/core/util.js';\nimport env from 'zrender/lib/core/env.js';\nimport { isNumeric, getRandomIdBase, getPrecision, round } from './number.js';\nimport { warn } from './log.js';\n\nfunction interpolateNumber(p0, p1, percent) {\n return (p1 - p0) * percent + p0;\n}\n/**\r\n * Make the name displayable. But we should\r\n * make sure it is not duplicated with user\r\n * specified name, so use '\\0';\r\n */\n\n\nvar DUMMY_COMPONENT_NAME_PREFIX = 'series\\0';\nvar INTERNAL_COMPONENT_ID_PREFIX = '\\0_ec_\\0';\n/**\r\n * If value is not array, then translate it to array.\r\n * @param {*} value\r\n * @return {Array} [value] or value\r\n */\n\nexport function normalizeToArray(value) {\n return value instanceof Array ? value : value == null ? [] : [value];\n}\n/**\r\n * Sync default option between normal and emphasis like `position` and `show`\r\n * In case some one will write code like\r\n * label: {\r\n * show: false,\r\n * position: 'outside',\r\n * fontSize: 18\r\n * },\r\n * emphasis: {\r\n * label: { show: true }\r\n * }\r\n */\n\nexport function defaultEmphasis(opt, key, subOpts) {\n // Caution: performance sensitive.\n if (opt) {\n opt[key] = opt[key] || {};\n opt.emphasis = opt.emphasis || {};\n opt.emphasis[key] = opt.emphasis[key] || {}; // Default emphasis option from normal\n\n for (var i = 0, len = subOpts.length; i < len; i++) {\n var subOptName = subOpts[i];\n\n if (!opt.emphasis[key].hasOwnProperty(subOptName) && opt[key].hasOwnProperty(subOptName)) {\n opt.emphasis[key][subOptName] = opt[key][subOptName];\n }\n }\n }\n}\nexport var TEXT_STYLE_OPTIONS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'rich', 'tag', 'color', 'textBorderColor', 'textBorderWidth', 'width', 'height', 'lineHeight', 'align', 'verticalAlign', 'baseline', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY', 'textShadowColor', 'textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY', 'backgroundColor', 'borderColor', 'borderWidth', 'borderRadius', 'padding']; // modelUtil.LABEL_OPTIONS = modelUtil.TEXT_STYLE_OPTIONS.concat([\n// 'position', 'offset', 'rotate', 'origin', 'show', 'distance', 'formatter',\n// 'fontStyle', 'fontWeight', 'fontSize', 'fontFamily',\n// // FIXME: deprecated, check and remove it.\n// 'textStyle'\n// ]);\n\n/**\r\n * The method does not ensure performance.\r\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\r\n * This helper method retrieves value from data.\r\n */\n\nexport function getDataItemValue(dataItem) {\n return isObject(dataItem) && !isArray(dataItem) && !(dataItem instanceof Date) ? dataItem.value : dataItem;\n}\n/**\r\n * data could be [12, 2323, {value: 223}, [1221, 23], {value: [2, 23]}]\r\n * This helper method determine if dataItem has extra option besides value\r\n */\n\nexport function isDataItemOption(dataItem) {\n return isObject(dataItem) && !(dataItem instanceof Array); // // markLine data can be array\n // && !(dataItem[0] && isObject(dataItem[0]) && !(dataItem[0] instanceof Array));\n}\n;\n/**\r\n * Mapping to existings for merge.\r\n *\r\n * Mode \"normalMege\":\r\n * The mapping result (merge result) will keep the order of the existing\r\n * component, rather than the order of new option. Because we should ensure\r\n * some specified index reference (like xAxisIndex) keep work.\r\n * And in most cases, \"merge option\" is used to update partial option but not\r\n * be expected to change the order.\r\n *\r\n * Mode \"replaceMege\":\r\n * (1) Only the id mapped components will be merged.\r\n * (2) Other existing components (except internal components) will be removed.\r\n * (3) Other new options will be used to create new component.\r\n * (4) The index of the existing components will not be modified.\r\n * That means their might be \"hole\" after the removal.\r\n * The new components are created first at those available index.\r\n *\r\n * Mode \"replaceAll\":\r\n * This mode try to support that reproduce an echarts instance from another\r\n * echarts instance (via `getOption`) in some simple cases.\r\n * In this scenario, the `result` index are exactly the consistent with the `newCmptOptions`,\r\n * which ensures the component index referring (like `xAxisIndex: ?`) corrent. That is,\r\n * the \"hole\" in `newCmptOptions` will also be kept.\r\n * On the contrary, other modes try best to eliminate holes.\r\n * PENDING: This is an experimental mode yet.\r\n *\r\n * @return See the comment of .\r\n */\n\nexport function mappingToExists(existings, newCmptOptions, mode) {\n var isNormalMergeMode = mode === 'normalMerge';\n var isReplaceMergeMode = mode === 'replaceMerge';\n var isReplaceAllMode = mode === 'replaceAll';\n existings = existings || [];\n newCmptOptions = (newCmptOptions || []).slice();\n var existingIdIdxMap = createHashMap(); // Validate id and name on user input option.\n\n each(newCmptOptions, function (cmptOption, index) {\n if (!isObject(cmptOption)) {\n newCmptOptions[index] = null;\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // There is some legacy case that name is set as `false`.\n // But should work normally rather than throw error.\n if (cmptOption.id != null && !isValidIdOrName(cmptOption.id)) {\n warnInvalidateIdOrName(cmptOption.id);\n }\n\n if (cmptOption.name != null && !isValidIdOrName(cmptOption.name)) {\n warnInvalidateIdOrName(cmptOption.name);\n }\n }\n });\n var result = prepareResult(existings, existingIdIdxMap, mode);\n\n if (isNormalMergeMode || isReplaceMergeMode) {\n mappingById(result, existings, existingIdIdxMap, newCmptOptions);\n }\n\n if (isNormalMergeMode) {\n mappingByName(result, newCmptOptions);\n }\n\n if (isNormalMergeMode || isReplaceMergeMode) {\n mappingByIndex(result, newCmptOptions, isReplaceMergeMode);\n } else if (isReplaceAllMode) {\n mappingInReplaceAllMode(result, newCmptOptions);\n }\n\n makeIdAndName(result); // The array `result` MUST NOT contain elided items, otherwise the\n // forEach will omit those items and result in incorrect result.\n\n return result;\n}\n\nfunction prepareResult(existings, existingIdIdxMap, mode) {\n var result = [];\n\n if (mode === 'replaceAll') {\n return result;\n } // Do not use native `map` to in case that the array `existings`\n // contains elided items, which will be omitted.\n\n\n for (var index = 0; index < existings.length; index++) {\n var existing = existings[index]; // Because of replaceMerge, `existing` may be null/undefined.\n\n if (existing && existing.id != null) {\n existingIdIdxMap.set(existing.id, index);\n } // For non-internal-componnets:\n // Mode \"normalMerge\": all existings kept.\n // Mode \"replaceMerge\": all existing removed unless mapped by id.\n // For internal-components:\n // go with \"replaceMerge\" approach in both mode.\n\n\n result.push({\n existing: mode === 'replaceMerge' || isComponentIdInternal(existing) ? null : existing,\n newOption: null,\n keyInfo: null,\n brandNew: null\n });\n }\n\n return result;\n}\n\nfunction mappingById(result, existings, existingIdIdxMap, newCmptOptions) {\n // Mapping by id if specified.\n each(newCmptOptions, function (cmptOption, index) {\n if (!cmptOption || cmptOption.id == null) {\n return;\n }\n\n var optionId = makeComparableKey(cmptOption.id);\n var existingIdx = existingIdIdxMap.get(optionId);\n\n if (existingIdx != null) {\n var resultItem = result[existingIdx];\n assert(!resultItem.newOption, 'Duplicated option on id \"' + optionId + '\".');\n resultItem.newOption = cmptOption; // In both mode, if id matched, new option will be merged to\n // the existings rather than creating new component model.\n\n resultItem.existing = existings[existingIdx];\n newCmptOptions[index] = null;\n }\n });\n}\n\nfunction mappingByName(result, newCmptOptions) {\n // Mapping by name if specified.\n each(newCmptOptions, function (cmptOption, index) {\n if (!cmptOption || cmptOption.name == null) {\n return;\n }\n\n for (var i = 0; i < result.length; i++) {\n var existing = result[i].existing;\n\n if (!result[i].newOption // Consider name: two map to one.\n // Can not match when both ids existing but different.\n && existing && (existing.id == null || cmptOption.id == null) && !isComponentIdInternal(cmptOption) && !isComponentIdInternal(existing) && keyExistAndEqual('name', existing, cmptOption)) {\n result[i].newOption = cmptOption;\n newCmptOptions[index] = null;\n return;\n }\n }\n });\n}\n\nfunction mappingByIndex(result, newCmptOptions, brandNew) {\n each(newCmptOptions, function (cmptOption) {\n if (!cmptOption) {\n return;\n } // Find the first place that not mapped by id and not internal component (consider the \"hole\").\n\n\n var resultItem;\n var nextIdx = 0;\n\n while ( // Be `!resultItem` only when `nextIdx >= result.length`.\n (resultItem = result[nextIdx]) && ( // (1) Existing models that already have id should be able to mapped to. Because\n // after mapping performed, model will always be assigned with an id if user not given.\n // After that all models have id.\n // (2) If new option has id, it can only set to a hole or append to the last. It should\n // not be merged to the existings with different id. Because id should not be overwritten.\n // (3) Name can be overwritten, because axis use name as 'show label text'.\n resultItem.newOption || isComponentIdInternal(resultItem.existing) || // In mode \"replaceMerge\", here no not-mapped-non-internal-existing.\n resultItem.existing && cmptOption.id != null && !keyExistAndEqual('id', cmptOption, resultItem.existing))) {\n nextIdx++;\n }\n\n if (resultItem) {\n resultItem.newOption = cmptOption;\n resultItem.brandNew = brandNew;\n } else {\n result.push({\n newOption: cmptOption,\n brandNew: brandNew,\n existing: null,\n keyInfo: null\n });\n }\n\n nextIdx++;\n });\n}\n\nfunction mappingInReplaceAllMode(result, newCmptOptions) {\n each(newCmptOptions, function (cmptOption) {\n // The feature \"reproduce\" requires \"hole\" will also reproduced\n // in case that component index referring are broken.\n result.push({\n newOption: cmptOption,\n brandNew: true,\n existing: null,\n keyInfo: null\n });\n });\n}\n/**\r\n * Make id and name for mapping result (result of mappingToExists)\r\n * into `keyInfo` field.\r\n */\n\n\nfunction makeIdAndName(mapResult) {\n // We use this id to hash component models and view instances\n // in echarts. id can be specified by user, or auto generated.\n // The id generation rule ensures new view instance are able\n // to mapped to old instance when setOption are called in\n // no-merge mode. So we generate model id by name and plus\n // type in view id.\n // name can be duplicated among components, which is convenient\n // to specify multi components (like series) by one name.\n // Ensure that each id is distinct.\n var idMap = createHashMap();\n each(mapResult, function (item) {\n var existing = item.existing;\n existing && idMap.set(existing.id, item);\n });\n each(mapResult, function (item) {\n var opt = item.newOption; // Force ensure id not duplicated.\n\n assert(!opt || opt.id == null || !idMap.get(opt.id) || idMap.get(opt.id) === item, 'id duplicates: ' + (opt && opt.id));\n opt && opt.id != null && idMap.set(opt.id, item);\n !item.keyInfo && (item.keyInfo = {});\n }); // Make name and id.\n\n each(mapResult, function (item, index) {\n var existing = item.existing;\n var opt = item.newOption;\n var keyInfo = item.keyInfo;\n\n if (!isObject(opt)) {\n return;\n } // Name can be overwritten. Consider case: axis.name = '20km'.\n // But id generated by name will not be changed, which affect\n // only in that case: setOption with 'not merge mode' and view\n // instance will be recreated, which can be accepted.\n\n\n keyInfo.name = opt.name != null ? makeComparableKey(opt.name) : existing ? existing.name // Avoid that different series has the same name,\n // because name may be used like in color pallet.\n : DUMMY_COMPONENT_NAME_PREFIX + index;\n\n if (existing) {\n keyInfo.id = makeComparableKey(existing.id);\n } else if (opt.id != null) {\n keyInfo.id = makeComparableKey(opt.id);\n } else {\n // Consider this situatoin:\n // optionA: [{name: 'a'}, {name: 'a'}, {..}]\n // optionB [{..}, {name: 'a'}, {name: 'a'}]\n // Series with the same name between optionA and optionB\n // should be mapped.\n var idNum = 0;\n\n do {\n keyInfo.id = '\\0' + keyInfo.name + '\\0' + idNum++;\n } while (idMap.get(keyInfo.id));\n }\n\n idMap.set(keyInfo.id, item);\n });\n}\n\nfunction keyExistAndEqual(attr, obj1, obj2) {\n var key1 = convertOptionIdName(obj1[attr], null);\n var key2 = convertOptionIdName(obj2[attr], null); // See `MappingExistingItem`. `id` and `name` trade string equals to number.\n\n return key1 != null && key2 != null && key1 === key2;\n}\n/**\r\n * @return return null if not exist.\r\n */\n\n\nfunction makeComparableKey(val) {\n if (process.env.NODE_ENV !== 'production') {\n if (val == null) {\n throw new Error();\n }\n }\n\n return convertOptionIdName(val, '');\n}\n\nexport function convertOptionIdName(idOrName, defaultValue) {\n if (idOrName == null) {\n return defaultValue;\n }\n\n return isString(idOrName) ? idOrName : isNumber(idOrName) || isStringSafe(idOrName) ? idOrName + '' : defaultValue;\n}\n\nfunction warnInvalidateIdOrName(idOrName) {\n if (process.env.NODE_ENV !== 'production') {\n warn('`' + idOrName + '` is invalid id or name. Must be a string or number.');\n }\n}\n\nfunction isValidIdOrName(idOrName) {\n return isStringSafe(idOrName) || isNumeric(idOrName);\n}\n\nexport function isNameSpecified(componentModel) {\n var name = componentModel.name; // Is specified when `indexOf` get -1 or > 0.\n\n return !!(name && name.indexOf(DUMMY_COMPONENT_NAME_PREFIX));\n}\n/**\r\n * @public\r\n * @param {Object} cmptOption\r\n * @return {boolean}\r\n */\n\nexport function isComponentIdInternal(cmptOption) {\n return cmptOption && cmptOption.id != null && makeComparableKey(cmptOption.id).indexOf(INTERNAL_COMPONENT_ID_PREFIX) === 0;\n}\nexport function makeInternalComponentId(idSuffix) {\n return INTERNAL_COMPONENT_ID_PREFIX + idSuffix;\n}\nexport function setComponentTypeToKeyInfo(mappingResult, mainType, componentModelCtor) {\n // Set mainType and complete subType.\n each(mappingResult, function (item) {\n var newOption = item.newOption;\n\n if (isObject(newOption)) {\n item.keyInfo.mainType = mainType;\n item.keyInfo.subType = determineSubType(mainType, newOption, item.existing, componentModelCtor);\n }\n });\n}\n\nfunction determineSubType(mainType, newCmptOption, existComponent, componentModelCtor) {\n var subType = newCmptOption.type ? newCmptOption.type : existComponent ? existComponent.subType // Use determineSubType only when there is no existComponent.\n : componentModelCtor.determineSubType(mainType, newCmptOption); // tooltip, markline, markpoint may always has no subType\n\n return subType;\n}\n/**\r\n * A helper for removing duplicate items between batchA and batchB,\r\n * and in themselves, and categorize by series.\r\n *\r\n * @param batchA Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\r\n * @param batchB Like: [{seriesId: 2, dataIndex: [32, 4, 5]}, ...]\r\n * @return result: [resultBatchA, resultBatchB]\r\n */\n\n\nexport function compressBatches(batchA, batchB) {\n var mapA = {};\n var mapB = {};\n makeMap(batchA || [], mapA);\n makeMap(batchB || [], mapB, mapA);\n return [mapToArray(mapA), mapToArray(mapB)];\n\n function makeMap(sourceBatch, map, otherMap) {\n for (var i = 0, len = sourceBatch.length; i < len; i++) {\n var seriesId = convertOptionIdName(sourceBatch[i].seriesId, null);\n\n if (seriesId == null) {\n return;\n }\n\n var dataIndices = normalizeToArray(sourceBatch[i].dataIndex);\n var otherDataIndices = otherMap && otherMap[seriesId];\n\n for (var j = 0, lenj = dataIndices.length; j < lenj; j++) {\n var dataIndex = dataIndices[j];\n\n if (otherDataIndices && otherDataIndices[dataIndex]) {\n otherDataIndices[dataIndex] = null;\n } else {\n (map[seriesId] || (map[seriesId] = {}))[dataIndex] = 1;\n }\n }\n }\n }\n\n function mapToArray(map, isData) {\n var result = [];\n\n for (var i in map) {\n if (map.hasOwnProperty(i) && map[i] != null) {\n if (isData) {\n result.push(+i);\n } else {\n var dataIndices = mapToArray(map[i], true);\n dataIndices.length && result.push({\n seriesId: i,\n dataIndex: dataIndices\n });\n }\n }\n }\n\n return result;\n }\n}\n/**\r\n * @param payload Contains dataIndex (means rawIndex) / dataIndexInside / name\r\n * each of which can be Array or primary type.\r\n * @return dataIndex If not found, return undefined/null.\r\n */\n\nexport function queryDataIndex(data, payload) {\n if (payload.dataIndexInside != null) {\n return payload.dataIndexInside;\n } else if (payload.dataIndex != null) {\n return isArray(payload.dataIndex) ? map(payload.dataIndex, function (value) {\n return data.indexOfRawIndex(value);\n }) : data.indexOfRawIndex(payload.dataIndex);\n } else if (payload.name != null) {\n return isArray(payload.name) ? map(payload.name, function (value) {\n return data.indexOfName(value);\n }) : data.indexOfName(payload.name);\n }\n}\n/**\r\n * Enable property storage to any host object.\r\n * Notice: Serialization is not supported.\r\n *\r\n * For example:\r\n * let inner = zrUitl.makeInner();\r\n *\r\n * function some1(hostObj) {\r\n * inner(hostObj).someProperty = 1212;\r\n * ...\r\n * }\r\n * function some2() {\r\n * let fields = inner(this);\r\n * fields.someProperty1 = 1212;\r\n * fields.someProperty2 = 'xx';\r\n * ...\r\n * }\r\n *\r\n * @return {Function}\r\n */\n\nexport function makeInner() {\n var key = '__ec_inner_' + innerUniqueIndex++;\n return function (hostObj) {\n return hostObj[key] || (hostObj[key] = {});\n };\n}\nvar innerUniqueIndex = getRandomIdBase();\n/**\r\n * The same behavior as `component.getReferringComponents`.\r\n */\n\nexport function parseFinder(ecModel, finderInput, opt) {\n var _a = preParseFinder(finderInput, opt),\n mainTypeSpecified = _a.mainTypeSpecified,\n queryOptionMap = _a.queryOptionMap,\n others = _a.others;\n\n var result = others;\n var defaultMainType = opt ? opt.defaultMainType : null;\n\n if (!mainTypeSpecified && defaultMainType) {\n queryOptionMap.set(defaultMainType, {});\n }\n\n queryOptionMap.each(function (queryOption, mainType) {\n var queryResult = queryReferringComponents(ecModel, mainType, queryOption, {\n useDefault: defaultMainType === mainType,\n enableAll: opt && opt.enableAll != null ? opt.enableAll : true,\n enableNone: opt && opt.enableNone != null ? opt.enableNone : true\n });\n result[mainType + 'Models'] = queryResult.models;\n result[mainType + 'Model'] = queryResult.models[0];\n });\n return result;\n}\nexport function preParseFinder(finderInput, opt) {\n var finder;\n\n if (isString(finderInput)) {\n var obj = {};\n obj[finderInput + 'Index'] = 0;\n finder = obj;\n } else {\n finder = finderInput;\n }\n\n var queryOptionMap = createHashMap();\n var others = {};\n var mainTypeSpecified = false;\n each(finder, function (value, key) {\n // Exclude 'dataIndex' and other illgal keys.\n if (key === 'dataIndex' || key === 'dataIndexInside') {\n others[key] = value;\n return;\n }\n\n var parsedKey = key.match(/^(\\w+)(Index|Id|Name)$/) || [];\n var mainType = parsedKey[1];\n var queryType = (parsedKey[2] || '').toLowerCase();\n\n if (!mainType || !queryType || opt && opt.includeMainTypes && indexOf(opt.includeMainTypes, mainType) < 0) {\n return;\n }\n\n mainTypeSpecified = mainTypeSpecified || !!mainType;\n var queryOption = queryOptionMap.get(mainType) || queryOptionMap.set(mainType, {});\n queryOption[queryType] = value;\n });\n return {\n mainTypeSpecified: mainTypeSpecified,\n queryOptionMap: queryOptionMap,\n others: others\n };\n}\nexport var SINGLE_REFERRING = {\n useDefault: true,\n enableAll: false,\n enableNone: false\n};\nexport var MULTIPLE_REFERRING = {\n useDefault: false,\n enableAll: true,\n enableNone: true\n};\nexport function queryReferringComponents(ecModel, mainType, userOption, opt) {\n opt = opt || SINGLE_REFERRING;\n var indexOption = userOption.index;\n var idOption = userOption.id;\n var nameOption = userOption.name;\n var result = {\n models: null,\n specified: indexOption != null || idOption != null || nameOption != null\n };\n\n if (!result.specified) {\n // Use the first as default if `useDefault`.\n var firstCmpt = void 0;\n result.models = opt.useDefault && (firstCmpt = ecModel.getComponent(mainType)) ? [firstCmpt] : [];\n return result;\n }\n\n if (indexOption === 'none' || indexOption === false) {\n assert(opt.enableNone, '`\"none\"` or `false` is not a valid value on index option.');\n result.models = [];\n return result;\n } // `queryComponents` will return all components if\n // both all of index/id/name are null/undefined.\n\n\n if (indexOption === 'all') {\n assert(opt.enableAll, '`\"all\"` is not a valid value on index option.');\n indexOption = idOption = nameOption = null;\n }\n\n result.models = ecModel.queryComponents({\n mainType: mainType,\n index: indexOption,\n id: idOption,\n name: nameOption\n });\n return result;\n}\nexport function setAttribute(dom, key, value) {\n dom.setAttribute ? dom.setAttribute(key, value) : dom[key] = value;\n}\nexport function getAttribute(dom, key) {\n return dom.getAttribute ? dom.getAttribute(key) : dom[key];\n}\nexport function getTooltipRenderMode(renderModeOption) {\n if (renderModeOption === 'auto') {\n // Using html when `document` exists, use richText otherwise\n return env.domSupported ? 'html' : 'richText';\n } else {\n return renderModeOption || 'html';\n }\n}\n/**\r\n * Group a list by key.\r\n */\n\nexport function groupData(array, getKey // return key\n) {\n var buckets = createHashMap();\n var keys = [];\n each(array, function (item) {\n var key = getKey(item);\n (buckets.get(key) || (keys.push(key), buckets.set(key, []))).push(item);\n });\n return {\n keys: keys,\n buckets: buckets\n };\n}\n/**\r\n * Interpolate raw values of a series with percent\r\n *\r\n * @param data data\r\n * @param labelModel label model of the text element\r\n * @param sourceValue start value. May be null/undefined when init.\r\n * @param targetValue end value\r\n * @param percent 0~1 percentage; 0 uses start value while 1 uses end value\r\n * @return interpolated values\r\n * If `sourceValue` and `targetValue` are `number`, return `number`.\r\n * If `sourceValue` and `targetValue` are `string`, return `string`.\r\n * If `sourceValue` and `targetValue` are `(string | number)[]`, return `(string | number)[]`.\r\n * Other cases do not supported.\r\n */\n\nexport function interpolateRawValues(data, precision, sourceValue, targetValue, percent) {\n var isAutoPrecision = precision == null || precision === 'auto';\n\n if (targetValue == null) {\n return targetValue;\n }\n\n if (isNumber(targetValue)) {\n var value = interpolateNumber(sourceValue || 0, targetValue, percent);\n return round(value, isAutoPrecision ? Math.max(getPrecision(sourceValue || 0), getPrecision(targetValue)) : precision);\n } else if (isString(targetValue)) {\n return percent < 1 ? sourceValue : targetValue;\n } else {\n var interpolated = [];\n var leftArr = sourceValue;\n var rightArr = targetValue;\n var length_1 = Math.max(leftArr ? leftArr.length : 0, rightArr.length);\n\n for (var i = 0; i < length_1; ++i) {\n var info = data.getDimensionInfo(i); // Don't interpolate ordinal dims\n\n if (info && info.type === 'ordinal') {\n // In init, there is no `sourceValue`, but should better not to get undefined result.\n interpolated[i] = (percent < 1 && leftArr ? leftArr : rightArr)[i];\n } else {\n var leftVal = leftArr && leftArr[i] ? leftArr[i] : 0;\n var rightVal = rightArr[i];\n var value = interpolateNumber(leftVal, rightVal, percent);\n interpolated[i] = round(value, isAutoPrecision ? Math.max(getPrecision(leftVal), getPrecision(rightVal)) : precision);\n }\n }\n\n return interpolated;\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar TYPE_DELIMITER = '.';\nvar IS_CONTAINER = '___EC__COMPONENT__CONTAINER___';\nvar IS_EXTENDED_CLASS = '___EC__EXTENDED_CLASS___';\n/**\r\n * Notice, parseClassType('') should returns {main: '', sub: ''}\r\n * @public\r\n */\n\nexport function parseClassType(componentType) {\n var ret = {\n main: '',\n sub: ''\n };\n\n if (componentType) {\n var typeArr = componentType.split(TYPE_DELIMITER);\n ret.main = typeArr[0] || '';\n ret.sub = typeArr[1] || '';\n }\n\n return ret;\n}\n/**\r\n * @public\r\n */\n\nfunction checkClassType(componentType) {\n zrUtil.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(componentType), 'componentType \"' + componentType + '\" illegal');\n}\n\nexport function isExtendedClass(clz) {\n return !!(clz && clz[IS_EXTENDED_CLASS]);\n}\n/**\r\n * Implements `ExtendableConstructor` for `rootClz`.\r\n *\r\n * @usage\r\n * ```ts\r\n * class Xxx {}\r\n * type XxxConstructor = typeof Xxx & ExtendableConstructor\r\n * enableClassExtend(Xxx as XxxConstructor);\r\n * ```\r\n */\n\nexport function enableClassExtend(rootClz, mandatoryMethods) {\n rootClz.$constructor = rootClz; // FIXME: not necessary?\n\n rootClz.extend = function (proto) {\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.each(mandatoryMethods, function (method) {\n if (!proto[method]) {\n console.warn('Method `' + method + '` should be implemented' + (proto.type ? ' in ' + proto.type : '') + '.');\n }\n });\n }\n\n var superClass = this;\n var ExtendedClass;\n\n if (isESClass(superClass)) {\n ExtendedClass =\n /** @class */\n function (_super) {\n __extends(class_1, _super);\n\n function class_1() {\n return _super.apply(this, arguments) || this;\n }\n\n return class_1;\n }(superClass);\n } else {\n // For backward compat, we both support ts class inheritance and this\n // \"extend\" approach.\n // The constructor should keep the same behavior as ts class inheritance:\n // If this constructor/$constructor is not declared, auto invoke the super\n // constructor.\n // If this constructor/$constructor is declared, it is responsible for\n // calling the super constructor.\n ExtendedClass = function () {\n (proto.$constructor || superClass).apply(this, arguments);\n };\n\n zrUtil.inherits(ExtendedClass, this);\n }\n\n zrUtil.extend(ExtendedClass.prototype, proto);\n ExtendedClass[IS_EXTENDED_CLASS] = true;\n ExtendedClass.extend = this.extend;\n ExtendedClass.superCall = superCall;\n ExtendedClass.superApply = superApply;\n ExtendedClass.superClass = superClass;\n return ExtendedClass;\n };\n}\n\nfunction isESClass(fn) {\n return zrUtil.isFunction(fn) && /^class\\s/.test(Function.prototype.toString.call(fn));\n}\n/**\r\n * A work around to both support ts extend and this extend mechanism.\r\n * on sub-class.\r\n * @usage\r\n * ```ts\r\n * class Component { ... }\r\n * classUtil.enableClassExtend(Component);\r\n * classUtil.enableClassManagement(Component, {registerWhenExtend: true});\r\n *\r\n * class Series extends Component { ... }\r\n * // Without calling `markExtend`, `registerWhenExtend` will not work.\r\n * Component.markExtend(Series);\r\n * ```\r\n */\n\n\nexport function mountExtend(SubClz, SupperClz) {\n SubClz.extend = SupperClz.extend;\n} // A random offset.\n\nvar classBase = Math.round(Math.random() * 10);\n/**\r\n * Implements `CheckableConstructor` for `target`.\r\n * Can not use instanceof, consider different scope by\r\n * cross domain or es module import in ec extensions.\r\n * Mount a method \"isInstance()\" to Clz.\r\n *\r\n * @usage\r\n * ```ts\r\n * class Xxx {}\r\n * type XxxConstructor = typeof Xxx & CheckableConstructor;\r\n * enableClassCheck(Xxx as XxxConstructor)\r\n * ```\r\n */\n\nexport function enableClassCheck(target) {\n var classAttr = ['__\\0is_clz', classBase++].join('_');\n target.prototype[classAttr] = true;\n\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.assert(!target.isInstance, 'The method \"is\" can not be defined.');\n }\n\n target.isInstance = function (obj) {\n return !!(obj && obj[classAttr]);\n };\n} // superCall should have class info, which can not be fetched from 'this'.\n// Consider this case:\n// class A has method f,\n// class B inherits class A, overrides method f, f call superApply('f'),\n// class C inherits class B, does not override method f,\n// then when method of class C is called, dead loop occurred.\n\nfunction superCall(context, methodName) {\n var args = [];\n\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n\n return this.superClass.prototype[methodName].apply(context, args);\n}\n\nfunction superApply(context, methodName, args) {\n return this.superClass.prototype[methodName].apply(context, args);\n}\n/**\r\n * Implements `ClassManager` for `target`\r\n *\r\n * @usage\r\n * ```ts\r\n * class Xxx {}\r\n * type XxxConstructor = typeof Xxx & ClassManager\r\n * enableClassManagement(Xxx as XxxConstructor);\r\n * ```\r\n */\n\n\nexport function enableClassManagement(target) {\n /**\r\n * Component model classes\r\n * key: componentType,\r\n * value:\r\n * componentClass, when componentType is 'a'\r\n * or Object., when componentType is 'a.b'\r\n */\n var storage = {};\n\n target.registerClass = function (clz) {\n // `type` should not be a \"instance member\".\n // If using TS class, should better declared as `static type = 'series.pie'`.\n // otherwise users have to mount `type` on prototype manually.\n // For backward compat and enable instance visit type via `this.type`,\n // we still support fetch `type` from prototype.\n var componentFullType = clz.type || clz.prototype.type;\n\n if (componentFullType) {\n checkClassType(componentFullType); // If only static type declared, we assign it to prototype mandatorily.\n\n clz.prototype.type = componentFullType;\n var componentTypeInfo = parseClassType(componentFullType);\n\n if (!componentTypeInfo.sub) {\n if (process.env.NODE_ENV !== 'production') {\n if (storage[componentTypeInfo.main]) {\n console.warn(componentTypeInfo.main + ' exists.');\n }\n }\n\n storage[componentTypeInfo.main] = clz;\n } else if (componentTypeInfo.sub !== IS_CONTAINER) {\n var container = makeContainer(componentTypeInfo);\n container[componentTypeInfo.sub] = clz;\n }\n }\n\n return clz;\n };\n\n target.getClass = function (mainType, subType, throwWhenNotFound) {\n var clz = storage[mainType];\n\n if (clz && clz[IS_CONTAINER]) {\n clz = subType ? clz[subType] : null;\n }\n\n if (throwWhenNotFound && !clz) {\n throw new Error(!subType ? mainType + '.' + 'type should be specified.' : 'Component ' + mainType + '.' + (subType || '') + ' is used but not imported.');\n }\n\n return clz;\n };\n\n target.getClassesByMainType = function (componentType) {\n var componentTypeInfo = parseClassType(componentType);\n var result = [];\n var obj = storage[componentTypeInfo.main];\n\n if (obj && obj[IS_CONTAINER]) {\n zrUtil.each(obj, function (o, type) {\n type !== IS_CONTAINER && result.push(o);\n });\n } else {\n result.push(obj);\n }\n\n return result;\n };\n\n target.hasClass = function (componentType) {\n // Just consider componentType.main.\n var componentTypeInfo = parseClassType(componentType);\n return !!storage[componentTypeInfo.main];\n };\n /**\r\n * @return Like ['aa', 'bb'], but can not be ['aa.xx']\r\n */\n\n\n target.getAllClassMainTypes = function () {\n var types = [];\n zrUtil.each(storage, function (obj, type) {\n types.push(type);\n });\n return types;\n };\n /**\r\n * If a main type is container and has sub types\r\n */\n\n\n target.hasSubTypes = function (componentType) {\n var componentTypeInfo = parseClassType(componentType);\n var obj = storage[componentTypeInfo.main];\n return obj && obj[IS_CONTAINER];\n };\n\n function makeContainer(componentTypeInfo) {\n var container = storage[componentTypeInfo.main];\n\n if (!container || !container[IS_CONTAINER]) {\n container = storage[componentTypeInfo.main] = {};\n container[IS_CONTAINER] = true;\n }\n\n return container;\n }\n} // /**\n// * @param {string|Array.} properties\n// */\n// export function setReadOnly(obj, properties) {\n// FIXME It seems broken in IE8 simulation of IE11\n// if (!zrUtil.isArray(properties)) {\n// properties = properties != null ? [properties] : [];\n// }\n// zrUtil.each(properties, function (prop) {\n// let value = obj[prop];\n// Object.defineProperty\n// && Object.defineProperty(obj, prop, {\n// value: value, writable: false\n// });\n// zrUtil.isArray(obj[prop])\n// && Object.freeze\n// && Object.freeze(obj[prop]);\n// });\n// }","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// TODO Parse shadow style\n// TODO Only shallow path support\nimport * as zrUtil from 'zrender/lib/core/util.js';\nexport default function makeStyleMapper(properties, ignoreParent) {\n // Normalize\n for (var i = 0; i < properties.length; i++) {\n if (!properties[i][1]) {\n properties[i][1] = properties[i][0];\n }\n }\n\n ignoreParent = ignoreParent || false;\n return function (model, excludes, includes) {\n var style = {};\n\n for (var i = 0; i < properties.length; i++) {\n var propName = properties[i][1];\n\n if (excludes && zrUtil.indexOf(excludes, propName) >= 0 || includes && zrUtil.indexOf(includes, propName) < 0) {\n continue;\n }\n\n var val = model.getShallow(propName, ignoreParent);\n\n if (val != null) {\n style[properties[i][0]] = val;\n }\n } // TODO Text or image?\n\n\n return style;\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport makeStyleMapper from './makeStyleMapper.js';\nexport var AREA_STYLE_KEY_MAP = [['fill', 'color'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['opacity'], ['shadowColor'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n// So do not transfer decal directly.\n];\nvar getAreaStyle = makeStyleMapper(AREA_STYLE_KEY_MAP);\n\nvar AreaStyleMixin =\n/** @class */\nfunction () {\n function AreaStyleMixin() {}\n\n AreaStyleMixin.prototype.getAreaStyle = function (excludes, includes) {\n return getAreaStyle(this, excludes, includes);\n };\n\n return AreaStyleMixin;\n}();\n\n;\nexport { AreaStyleMixin };","import LRU from '../../core/LRU.js';\nimport { platformApi } from '../../core/platform.js';\nvar globalImageCache = new LRU(50);\nexport function findExistImage(newImageOrSrc) {\n if (typeof newImageOrSrc === 'string') {\n var cachedImgObj = globalImageCache.get(newImageOrSrc);\n return cachedImgObj && cachedImgObj.image;\n }\n else {\n return newImageOrSrc;\n }\n}\nexport function createOrUpdateImage(newImageOrSrc, image, hostEl, onload, cbPayload) {\n if (!newImageOrSrc) {\n return image;\n }\n else if (typeof newImageOrSrc === 'string') {\n if ((image && image.__zrImageSrc === newImageOrSrc) || !hostEl) {\n return image;\n }\n var cachedImgObj = globalImageCache.get(newImageOrSrc);\n var pendingWrap = { hostEl: hostEl, cb: onload, cbPayload: cbPayload };\n if (cachedImgObj) {\n image = cachedImgObj.image;\n !isImageReady(image) && cachedImgObj.pending.push(pendingWrap);\n }\n else {\n image = platformApi.loadImage(newImageOrSrc, imageOnLoad, imageOnLoad);\n image.__zrImageSrc = newImageOrSrc;\n globalImageCache.put(newImageOrSrc, image.__cachedImgObj = {\n image: image,\n pending: [pendingWrap]\n });\n }\n return image;\n }\n else {\n return newImageOrSrc;\n }\n}\nfunction imageOnLoad() {\n var cachedImgObj = this.__cachedImgObj;\n this.onload = this.onerror = this.__cachedImgObj = null;\n for (var i = 0; i < cachedImgObj.pending.length; i++) {\n var pendingWrap = cachedImgObj.pending[i];\n var cb = pendingWrap.cb;\n cb && cb(this, pendingWrap.cbPayload);\n pendingWrap.hostEl.dirty();\n }\n cachedImgObj.pending.length = 0;\n}\nexport function isImageReady(image) {\n return image && image.width && image.height;\n}\n","import * as imageHelper from '../helper/image.js';\nimport { extend, retrieve2, retrieve3, reduce } from '../../core/util.js';\nimport { getLineHeight, getWidth, parsePercent } from '../../contain/text.js';\nvar STYLE_REG = /\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g;\nexport function truncateText(text, containerWidth, font, ellipsis, options) {\n if (!containerWidth) {\n return '';\n }\n var textLines = (text + '').split('\\n');\n options = prepareTruncateOptions(containerWidth, font, ellipsis, options);\n for (var i = 0, len = textLines.length; i < len; i++) {\n textLines[i] = truncateSingleLine(textLines[i], options);\n }\n return textLines.join('\\n');\n}\nfunction prepareTruncateOptions(containerWidth, font, ellipsis, options) {\n options = options || {};\n var preparedOpts = extend({}, options);\n preparedOpts.font = font;\n ellipsis = retrieve2(ellipsis, '...');\n preparedOpts.maxIterations = retrieve2(options.maxIterations, 2);\n var minChar = preparedOpts.minChar = retrieve2(options.minChar, 0);\n preparedOpts.cnCharWidth = getWidth('国', font);\n var ascCharWidth = preparedOpts.ascCharWidth = getWidth('a', font);\n preparedOpts.placeholder = retrieve2(options.placeholder, '');\n var contentWidth = containerWidth = Math.max(0, containerWidth - 1);\n for (var i = 0; i < minChar && contentWidth >= ascCharWidth; i++) {\n contentWidth -= ascCharWidth;\n }\n var ellipsisWidth = getWidth(ellipsis, font);\n if (ellipsisWidth > contentWidth) {\n ellipsis = '';\n ellipsisWidth = 0;\n }\n contentWidth = containerWidth - ellipsisWidth;\n preparedOpts.ellipsis = ellipsis;\n preparedOpts.ellipsisWidth = ellipsisWidth;\n preparedOpts.contentWidth = contentWidth;\n preparedOpts.containerWidth = containerWidth;\n return preparedOpts;\n}\nfunction truncateSingleLine(textLine, options) {\n var containerWidth = options.containerWidth;\n var font = options.font;\n var contentWidth = options.contentWidth;\n if (!containerWidth) {\n return '';\n }\n var lineWidth = getWidth(textLine, font);\n if (lineWidth <= containerWidth) {\n return textLine;\n }\n for (var j = 0;; j++) {\n if (lineWidth <= contentWidth || j >= options.maxIterations) {\n textLine += options.ellipsis;\n break;\n }\n var subLength = j === 0\n ? estimateLength(textLine, contentWidth, options.ascCharWidth, options.cnCharWidth)\n : lineWidth > 0\n ? Math.floor(textLine.length * contentWidth / lineWidth)\n : 0;\n textLine = textLine.substr(0, subLength);\n lineWidth = getWidth(textLine, font);\n }\n if (textLine === '') {\n textLine = options.placeholder;\n }\n return textLine;\n}\nfunction estimateLength(text, contentWidth, ascCharWidth, cnCharWidth) {\n var width = 0;\n var i = 0;\n for (var len = text.length; i < len && width < contentWidth; i++) {\n var charCode = text.charCodeAt(i);\n width += (0 <= charCode && charCode <= 127) ? ascCharWidth : cnCharWidth;\n }\n return i;\n}\nexport function parsePlainText(text, style) {\n text != null && (text += '');\n var overflow = style.overflow;\n var padding = style.padding;\n var font = style.font;\n var truncate = overflow === 'truncate';\n var calculatedLineHeight = getLineHeight(font);\n var lineHeight = retrieve2(style.lineHeight, calculatedLineHeight);\n var bgColorDrawn = !!(style.backgroundColor);\n var truncateLineOverflow = style.lineOverflow === 'truncate';\n var width = style.width;\n var lines;\n if (width != null && (overflow === 'break' || overflow === 'breakAll')) {\n lines = text ? wrapText(text, style.font, width, overflow === 'breakAll', 0).lines : [];\n }\n else {\n lines = text ? text.split('\\n') : [];\n }\n var contentHeight = lines.length * lineHeight;\n var height = retrieve2(style.height, contentHeight);\n if (contentHeight > height && truncateLineOverflow) {\n var lineCount = Math.floor(height / lineHeight);\n lines = lines.slice(0, lineCount);\n }\n if (text && truncate && width != null) {\n var options = prepareTruncateOptions(width, font, style.ellipsis, {\n minChar: style.truncateMinChar,\n placeholder: style.placeholder\n });\n for (var i = 0; i < lines.length; i++) {\n lines[i] = truncateSingleLine(lines[i], options);\n }\n }\n var outerHeight = height;\n var contentWidth = 0;\n for (var i = 0; i < lines.length; i++) {\n contentWidth = Math.max(getWidth(lines[i], font), contentWidth);\n }\n if (width == null) {\n width = contentWidth;\n }\n var outerWidth = contentWidth;\n if (padding) {\n outerHeight += padding[0] + padding[2];\n outerWidth += padding[1] + padding[3];\n width += padding[1] + padding[3];\n }\n if (bgColorDrawn) {\n outerWidth = width;\n }\n return {\n lines: lines,\n height: height,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n lineHeight: lineHeight,\n calculatedLineHeight: calculatedLineHeight,\n contentWidth: contentWidth,\n contentHeight: contentHeight,\n width: width\n };\n}\nvar RichTextToken = (function () {\n function RichTextToken() {\n }\n return RichTextToken;\n}());\nvar RichTextLine = (function () {\n function RichTextLine(tokens) {\n this.tokens = [];\n if (tokens) {\n this.tokens = tokens;\n }\n }\n return RichTextLine;\n}());\nvar RichTextContentBlock = (function () {\n function RichTextContentBlock() {\n this.width = 0;\n this.height = 0;\n this.contentWidth = 0;\n this.contentHeight = 0;\n this.outerWidth = 0;\n this.outerHeight = 0;\n this.lines = [];\n }\n return RichTextContentBlock;\n}());\nexport { RichTextContentBlock };\nexport function parseRichText(text, style) {\n var contentBlock = new RichTextContentBlock();\n text != null && (text += '');\n if (!text) {\n return contentBlock;\n }\n var topWidth = style.width;\n var topHeight = style.height;\n var overflow = style.overflow;\n var wrapInfo = (overflow === 'break' || overflow === 'breakAll') && topWidth != null\n ? { width: topWidth, accumWidth: 0, breakAll: overflow === 'breakAll' }\n : null;\n var lastIndex = STYLE_REG.lastIndex = 0;\n var result;\n while ((result = STYLE_REG.exec(text)) != null) {\n var matchedIndex = result.index;\n if (matchedIndex > lastIndex) {\n pushTokens(contentBlock, text.substring(lastIndex, matchedIndex), style, wrapInfo);\n }\n pushTokens(contentBlock, result[2], style, wrapInfo, result[1]);\n lastIndex = STYLE_REG.lastIndex;\n }\n if (lastIndex < text.length) {\n pushTokens(contentBlock, text.substring(lastIndex, text.length), style, wrapInfo);\n }\n var pendingList = [];\n var calculatedHeight = 0;\n var calculatedWidth = 0;\n var stlPadding = style.padding;\n var truncate = overflow === 'truncate';\n var truncateLine = style.lineOverflow === 'truncate';\n function finishLine(line, lineWidth, lineHeight) {\n line.width = lineWidth;\n line.lineHeight = lineHeight;\n calculatedHeight += lineHeight;\n calculatedWidth = Math.max(calculatedWidth, lineWidth);\n }\n outer: for (var i = 0; i < contentBlock.lines.length; i++) {\n var line = contentBlock.lines[i];\n var lineHeight = 0;\n var lineWidth = 0;\n for (var j = 0; j < line.tokens.length; j++) {\n var token = line.tokens[j];\n var tokenStyle = token.styleName && style.rich[token.styleName] || {};\n var textPadding = token.textPadding = tokenStyle.padding;\n var paddingH = textPadding ? textPadding[1] + textPadding[3] : 0;\n var font = token.font = tokenStyle.font || style.font;\n token.contentHeight = getLineHeight(font);\n var tokenHeight = retrieve2(tokenStyle.height, token.contentHeight);\n token.innerHeight = tokenHeight;\n textPadding && (tokenHeight += textPadding[0] + textPadding[2]);\n token.height = tokenHeight;\n token.lineHeight = retrieve3(tokenStyle.lineHeight, style.lineHeight, tokenHeight);\n token.align = tokenStyle && tokenStyle.align || style.align;\n token.verticalAlign = tokenStyle && tokenStyle.verticalAlign || 'middle';\n if (truncateLine && topHeight != null && calculatedHeight + token.lineHeight > topHeight) {\n if (j > 0) {\n line.tokens = line.tokens.slice(0, j);\n finishLine(line, lineWidth, lineHeight);\n contentBlock.lines = contentBlock.lines.slice(0, i + 1);\n }\n else {\n contentBlock.lines = contentBlock.lines.slice(0, i);\n }\n break outer;\n }\n var styleTokenWidth = tokenStyle.width;\n var tokenWidthNotSpecified = styleTokenWidth == null || styleTokenWidth === 'auto';\n if (typeof styleTokenWidth === 'string' && styleTokenWidth.charAt(styleTokenWidth.length - 1) === '%') {\n token.percentWidth = styleTokenWidth;\n pendingList.push(token);\n token.contentWidth = getWidth(token.text, font);\n }\n else {\n if (tokenWidthNotSpecified) {\n var textBackgroundColor = tokenStyle.backgroundColor;\n var bgImg = textBackgroundColor && textBackgroundColor.image;\n if (bgImg) {\n bgImg = imageHelper.findExistImage(bgImg);\n if (imageHelper.isImageReady(bgImg)) {\n token.width = Math.max(token.width, bgImg.width * tokenHeight / bgImg.height);\n }\n }\n }\n var remainTruncWidth = truncate && topWidth != null\n ? topWidth - lineWidth : null;\n if (remainTruncWidth != null && remainTruncWidth < token.width) {\n if (!tokenWidthNotSpecified || remainTruncWidth < paddingH) {\n token.text = '';\n token.width = token.contentWidth = 0;\n }\n else {\n token.text = truncateText(token.text, remainTruncWidth - paddingH, font, style.ellipsis, { minChar: style.truncateMinChar });\n token.width = token.contentWidth = getWidth(token.text, font);\n }\n }\n else {\n token.contentWidth = getWidth(token.text, font);\n }\n }\n token.width += paddingH;\n lineWidth += token.width;\n tokenStyle && (lineHeight = Math.max(lineHeight, token.lineHeight));\n }\n finishLine(line, lineWidth, lineHeight);\n }\n contentBlock.outerWidth = contentBlock.width = retrieve2(topWidth, calculatedWidth);\n contentBlock.outerHeight = contentBlock.height = retrieve2(topHeight, calculatedHeight);\n contentBlock.contentHeight = calculatedHeight;\n contentBlock.contentWidth = calculatedWidth;\n if (stlPadding) {\n contentBlock.outerWidth += stlPadding[1] + stlPadding[3];\n contentBlock.outerHeight += stlPadding[0] + stlPadding[2];\n }\n for (var i = 0; i < pendingList.length; i++) {\n var token = pendingList[i];\n var percentWidth = token.percentWidth;\n token.width = parseInt(percentWidth, 10) / 100 * contentBlock.width;\n }\n return contentBlock;\n}\nfunction pushTokens(block, str, style, wrapInfo, styleName) {\n var isEmptyStr = str === '';\n var tokenStyle = styleName && style.rich[styleName] || {};\n var lines = block.lines;\n var font = tokenStyle.font || style.font;\n var newLine = false;\n var strLines;\n var linesWidths;\n if (wrapInfo) {\n var tokenPadding = tokenStyle.padding;\n var tokenPaddingH = tokenPadding ? tokenPadding[1] + tokenPadding[3] : 0;\n if (tokenStyle.width != null && tokenStyle.width !== 'auto') {\n var outerWidth_1 = parsePercent(tokenStyle.width, wrapInfo.width) + tokenPaddingH;\n if (lines.length > 0) {\n if (outerWidth_1 + wrapInfo.accumWidth > wrapInfo.width) {\n strLines = str.split('\\n');\n newLine = true;\n }\n }\n wrapInfo.accumWidth = outerWidth_1;\n }\n else {\n var res = wrapText(str, font, wrapInfo.width, wrapInfo.breakAll, wrapInfo.accumWidth);\n wrapInfo.accumWidth = res.accumWidth + tokenPaddingH;\n linesWidths = res.linesWidths;\n strLines = res.lines;\n }\n }\n else {\n strLines = str.split('\\n');\n }\n for (var i = 0; i < strLines.length; i++) {\n var text = strLines[i];\n var token = new RichTextToken();\n token.styleName = styleName;\n token.text = text;\n token.isLineHolder = !text && !isEmptyStr;\n if (typeof tokenStyle.width === 'number') {\n token.width = tokenStyle.width;\n }\n else {\n token.width = linesWidths\n ? linesWidths[i]\n : getWidth(text, font);\n }\n if (!i && !newLine) {\n var tokens = (lines[lines.length - 1] || (lines[0] = new RichTextLine())).tokens;\n var tokensLen = tokens.length;\n (tokensLen === 1 && tokens[0].isLineHolder)\n ? (tokens[0] = token)\n : ((text || !tokensLen || isEmptyStr) && tokens.push(token));\n }\n else {\n lines.push(new RichTextLine([token]));\n }\n }\n}\nfunction isAlphabeticLetter(ch) {\n var code = ch.charCodeAt(0);\n return code >= 0x20 && code <= 0x24F\n || code >= 0x370 && code <= 0x10FF\n || code >= 0x1200 && code <= 0x13FF\n || code >= 0x1E00 && code <= 0x206F;\n}\nvar breakCharMap = reduce(',&?/;] '.split(''), function (obj, ch) {\n obj[ch] = true;\n return obj;\n}, {});\nfunction isWordBreakChar(ch) {\n if (isAlphabeticLetter(ch)) {\n if (breakCharMap[ch]) {\n return true;\n }\n return false;\n }\n return true;\n}\nfunction wrapText(text, font, lineWidth, isBreakAll, lastAccumWidth) {\n var lines = [];\n var linesWidths = [];\n var line = '';\n var currentWord = '';\n var currentWordWidth = 0;\n var accumWidth = 0;\n for (var i = 0; i < text.length; i++) {\n var ch = text.charAt(i);\n if (ch === '\\n') {\n if (currentWord) {\n line += currentWord;\n accumWidth += currentWordWidth;\n }\n lines.push(line);\n linesWidths.push(accumWidth);\n line = '';\n currentWord = '';\n currentWordWidth = 0;\n accumWidth = 0;\n continue;\n }\n var chWidth = getWidth(ch, font);\n var inWord = isBreakAll ? false : !isWordBreakChar(ch);\n if (!lines.length\n ? lastAccumWidth + accumWidth + chWidth > lineWidth\n : accumWidth + chWidth > lineWidth) {\n if (!accumWidth) {\n if (inWord) {\n lines.push(currentWord);\n linesWidths.push(currentWordWidth);\n currentWord = ch;\n currentWordWidth = chWidth;\n }\n else {\n lines.push(ch);\n linesWidths.push(chWidth);\n }\n }\n else if (line || currentWord) {\n if (inWord) {\n if (!line) {\n line = currentWord;\n currentWord = '';\n currentWordWidth = 0;\n accumWidth = currentWordWidth;\n }\n lines.push(line);\n linesWidths.push(accumWidth - currentWordWidth);\n currentWord += ch;\n currentWordWidth += chWidth;\n line = '';\n accumWidth = currentWordWidth;\n }\n else {\n if (currentWord) {\n line += currentWord;\n currentWord = '';\n currentWordWidth = 0;\n }\n lines.push(line);\n linesWidths.push(accumWidth);\n line = ch;\n accumWidth = chWidth;\n }\n }\n continue;\n }\n accumWidth += chWidth;\n if (inWord) {\n currentWord += ch;\n currentWordWidth += chWidth;\n }\n else {\n if (currentWord) {\n line += currentWord;\n currentWord = '';\n currentWordWidth = 0;\n }\n line += ch;\n }\n }\n if (!lines.length && !line) {\n line = text;\n currentWord = '';\n currentWordWidth = 0;\n }\n if (currentWord) {\n line += currentWord;\n }\n if (line) {\n lines.push(line);\n linesWidths.push(accumWidth);\n }\n if (lines.length === 1) {\n accumWidth += lastAccumWidth;\n }\n return {\n accumWidth: accumWidth,\n lines: lines,\n linesWidths: linesWidths\n };\n}\n","import { __extends } from \"tslib\";\nimport Element from '../Element.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport { keys, extend, createObject } from '../core/util.js';\nimport { REDRAW_BIT, STYLE_CHANGED_BIT } from './constants.js';\nvar STYLE_MAGIC_KEY = '__zr_style_' + Math.round((Math.random() * 10));\nexport var DEFAULT_COMMON_STYLE = {\n shadowBlur: 0,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n shadowColor: '#000',\n opacity: 1,\n blend: 'source-over'\n};\nexport var DEFAULT_COMMON_ANIMATION_PROPS = {\n style: {\n shadowBlur: true,\n shadowOffsetX: true,\n shadowOffsetY: true,\n shadowColor: true,\n opacity: true\n }\n};\nDEFAULT_COMMON_STYLE[STYLE_MAGIC_KEY] = true;\nvar PRIMARY_STATES_KEYS = ['z', 'z2', 'invisible'];\nvar PRIMARY_STATES_KEYS_IN_HOVER_LAYER = ['invisible'];\nvar Displayable = (function (_super) {\n __extends(Displayable, _super);\n function Displayable(props) {\n return _super.call(this, props) || this;\n }\n Displayable.prototype._init = function (props) {\n var keysArr = keys(props);\n for (var i = 0; i < keysArr.length; i++) {\n var key = keysArr[i];\n if (key === 'style') {\n this.useStyle(props[key]);\n }\n else {\n _super.prototype.attrKV.call(this, key, props[key]);\n }\n }\n if (!this.style) {\n this.useStyle({});\n }\n };\n Displayable.prototype.beforeBrush = function () { };\n Displayable.prototype.afterBrush = function () { };\n Displayable.prototype.innerBeforeBrush = function () { };\n Displayable.prototype.innerAfterBrush = function () { };\n Displayable.prototype.shouldBePainted = function (viewWidth, viewHeight, considerClipPath, considerAncestors) {\n var m = this.transform;\n if (this.ignore\n || this.invisible\n || this.style.opacity === 0\n || (this.culling\n && isDisplayableCulled(this, viewWidth, viewHeight))\n || (m && !m[0] && !m[3])) {\n return false;\n }\n if (considerClipPath && this.__clipPaths) {\n for (var i = 0; i < this.__clipPaths.length; ++i) {\n if (this.__clipPaths[i].isZeroArea()) {\n return false;\n }\n }\n }\n if (considerAncestors && this.parent) {\n var parent_1 = this.parent;\n while (parent_1) {\n if (parent_1.ignore) {\n return false;\n }\n parent_1 = parent_1.parent;\n }\n }\n return true;\n };\n Displayable.prototype.contain = function (x, y) {\n return this.rectContain(x, y);\n };\n Displayable.prototype.traverse = function (cb, context) {\n cb.call(context, this);\n };\n Displayable.prototype.rectContain = function (x, y) {\n var coord = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n return rect.contain(coord[0], coord[1]);\n };\n Displayable.prototype.getPaintRect = function () {\n var rect = this._paintRect;\n if (!this._paintRect || this.__dirty) {\n var transform = this.transform;\n var elRect = this.getBoundingRect();\n var style = this.style;\n var shadowSize = style.shadowBlur || 0;\n var shadowOffsetX = style.shadowOffsetX || 0;\n var shadowOffsetY = style.shadowOffsetY || 0;\n rect = this._paintRect || (this._paintRect = new BoundingRect(0, 0, 0, 0));\n if (transform) {\n BoundingRect.applyTransform(rect, elRect, transform);\n }\n else {\n rect.copy(elRect);\n }\n if (shadowSize || shadowOffsetX || shadowOffsetY) {\n rect.width += shadowSize * 2 + Math.abs(shadowOffsetX);\n rect.height += shadowSize * 2 + Math.abs(shadowOffsetY);\n rect.x = Math.min(rect.x, rect.x + shadowOffsetX - shadowSize);\n rect.y = Math.min(rect.y, rect.y + shadowOffsetY - shadowSize);\n }\n var tolerance = this.dirtyRectTolerance;\n if (!rect.isZero()) {\n rect.x = Math.floor(rect.x - tolerance);\n rect.y = Math.floor(rect.y - tolerance);\n rect.width = Math.ceil(rect.width + 1 + tolerance * 2);\n rect.height = Math.ceil(rect.height + 1 + tolerance * 2);\n }\n }\n return rect;\n };\n Displayable.prototype.setPrevPaintRect = function (paintRect) {\n if (paintRect) {\n this._prevPaintRect = this._prevPaintRect || new BoundingRect(0, 0, 0, 0);\n this._prevPaintRect.copy(paintRect);\n }\n else {\n this._prevPaintRect = null;\n }\n };\n Displayable.prototype.getPrevPaintRect = function () {\n return this._prevPaintRect;\n };\n Displayable.prototype.animateStyle = function (loop) {\n return this.animate('style', loop);\n };\n Displayable.prototype.updateDuringAnimation = function (targetKey) {\n if (targetKey === 'style') {\n this.dirtyStyle();\n }\n else {\n this.markRedraw();\n }\n };\n Displayable.prototype.attrKV = function (key, value) {\n if (key !== 'style') {\n _super.prototype.attrKV.call(this, key, value);\n }\n else {\n if (!this.style) {\n this.useStyle(value);\n }\n else {\n this.setStyle(value);\n }\n }\n };\n Displayable.prototype.setStyle = function (keyOrObj, value) {\n if (typeof keyOrObj === 'string') {\n this.style[keyOrObj] = value;\n }\n else {\n extend(this.style, keyOrObj);\n }\n this.dirtyStyle();\n return this;\n };\n Displayable.prototype.dirtyStyle = function (notRedraw) {\n if (!notRedraw) {\n this.markRedraw();\n }\n this.__dirty |= STYLE_CHANGED_BIT;\n if (this._rect) {\n this._rect = null;\n }\n };\n Displayable.prototype.dirty = function () {\n this.dirtyStyle();\n };\n Displayable.prototype.styleChanged = function () {\n return !!(this.__dirty & STYLE_CHANGED_BIT);\n };\n Displayable.prototype.styleUpdated = function () {\n this.__dirty &= ~STYLE_CHANGED_BIT;\n };\n Displayable.prototype.createStyle = function (obj) {\n return createObject(DEFAULT_COMMON_STYLE, obj);\n };\n Displayable.prototype.useStyle = function (obj) {\n if (!obj[STYLE_MAGIC_KEY]) {\n obj = this.createStyle(obj);\n }\n if (this.__inHover) {\n this.__hoverStyle = obj;\n }\n else {\n this.style = obj;\n }\n this.dirtyStyle();\n };\n Displayable.prototype.isStyleObject = function (obj) {\n return obj[STYLE_MAGIC_KEY];\n };\n Displayable.prototype._innerSaveToNormal = function (toState) {\n _super.prototype._innerSaveToNormal.call(this, toState);\n var normalState = this._normalState;\n if (toState.style && !normalState.style) {\n normalState.style = this._mergeStyle(this.createStyle(), this.style);\n }\n this._savePrimaryToNormal(toState, normalState, PRIMARY_STATES_KEYS);\n };\n Displayable.prototype._applyStateObj = function (stateName, state, normalState, keepCurrentStates, transition, animationCfg) {\n _super.prototype._applyStateObj.call(this, stateName, state, normalState, keepCurrentStates, transition, animationCfg);\n var needsRestoreToNormal = !(state && keepCurrentStates);\n var targetStyle;\n if (state && state.style) {\n if (transition) {\n if (keepCurrentStates) {\n targetStyle = state.style;\n }\n else {\n targetStyle = this._mergeStyle(this.createStyle(), normalState.style);\n this._mergeStyle(targetStyle, state.style);\n }\n }\n else {\n targetStyle = this._mergeStyle(this.createStyle(), keepCurrentStates ? this.style : normalState.style);\n this._mergeStyle(targetStyle, state.style);\n }\n }\n else if (needsRestoreToNormal) {\n targetStyle = normalState.style;\n }\n if (targetStyle) {\n if (transition) {\n var sourceStyle = this.style;\n this.style = this.createStyle(needsRestoreToNormal ? {} : sourceStyle);\n if (needsRestoreToNormal) {\n var changedKeys = keys(sourceStyle);\n for (var i = 0; i < changedKeys.length; i++) {\n var key = changedKeys[i];\n if (key in targetStyle) {\n targetStyle[key] = targetStyle[key];\n this.style[key] = sourceStyle[key];\n }\n }\n }\n var targetKeys = keys(targetStyle);\n for (var i = 0; i < targetKeys.length; i++) {\n var key = targetKeys[i];\n this.style[key] = this.style[key];\n }\n this._transitionState(stateName, {\n style: targetStyle\n }, animationCfg, this.getAnimationStyleProps());\n }\n else {\n this.useStyle(targetStyle);\n }\n }\n var statesKeys = this.__inHover ? PRIMARY_STATES_KEYS_IN_HOVER_LAYER : PRIMARY_STATES_KEYS;\n for (var i = 0; i < statesKeys.length; i++) {\n var key = statesKeys[i];\n if (state && state[key] != null) {\n this[key] = state[key];\n }\n else if (needsRestoreToNormal) {\n if (normalState[key] != null) {\n this[key] = normalState[key];\n }\n }\n }\n };\n Displayable.prototype._mergeStates = function (states) {\n var mergedState = _super.prototype._mergeStates.call(this, states);\n var mergedStyle;\n for (var i = 0; i < states.length; i++) {\n var state = states[i];\n if (state.style) {\n mergedStyle = mergedStyle || {};\n this._mergeStyle(mergedStyle, state.style);\n }\n }\n if (mergedStyle) {\n mergedState.style = mergedStyle;\n }\n return mergedState;\n };\n Displayable.prototype._mergeStyle = function (targetStyle, sourceStyle) {\n extend(targetStyle, sourceStyle);\n return targetStyle;\n };\n Displayable.prototype.getAnimationStyleProps = function () {\n return DEFAULT_COMMON_ANIMATION_PROPS;\n };\n Displayable.initDefaultProps = (function () {\n var dispProto = Displayable.prototype;\n dispProto.type = 'displayable';\n dispProto.invisible = false;\n dispProto.z = 0;\n dispProto.z2 = 0;\n dispProto.zlevel = 0;\n dispProto.culling = false;\n dispProto.cursor = 'pointer';\n dispProto.rectHover = false;\n dispProto.incremental = false;\n dispProto._rect = null;\n dispProto.dirtyRectTolerance = 0;\n dispProto.__dirty = REDRAW_BIT | STYLE_CHANGED_BIT;\n })();\n return Displayable;\n}(Element));\nvar tmpRect = new BoundingRect(0, 0, 0, 0);\nvar viewRect = new BoundingRect(0, 0, 0, 0);\nfunction isDisplayableCulled(el, width, height) {\n tmpRect.copy(el.getBoundingRect());\n if (el.transform) {\n tmpRect.applyTransform(el.transform);\n }\n viewRect.width = width;\n viewRect.height = height;\n return !tmpRect.intersect(viewRect);\n}\nexport default Displayable;\n","import * as vec2 from './vector.js';\nimport * as curve from './curve.js';\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI2 = Math.PI * 2;\nvar start = vec2.create();\nvar end = vec2.create();\nvar extremity = vec2.create();\nexport function fromPoints(points, min, max) {\n if (points.length === 0) {\n return;\n }\n var p = points[0];\n var left = p[0];\n var right = p[0];\n var top = p[1];\n var bottom = p[1];\n for (var i = 1; i < points.length; i++) {\n p = points[i];\n left = mathMin(left, p[0]);\n right = mathMax(right, p[0]);\n top = mathMin(top, p[1]);\n bottom = mathMax(bottom, p[1]);\n }\n min[0] = left;\n min[1] = top;\n max[0] = right;\n max[1] = bottom;\n}\nexport function fromLine(x0, y0, x1, y1, min, max) {\n min[0] = mathMin(x0, x1);\n min[1] = mathMin(y0, y1);\n max[0] = mathMax(x0, x1);\n max[1] = mathMax(y0, y1);\n}\nvar xDim = [];\nvar yDim = [];\nexport function fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min, max) {\n var cubicExtrema = curve.cubicExtrema;\n var cubicAt = curve.cubicAt;\n var n = cubicExtrema(x0, x1, x2, x3, xDim);\n min[0] = Infinity;\n min[1] = Infinity;\n max[0] = -Infinity;\n max[1] = -Infinity;\n for (var i = 0; i < n; i++) {\n var x = cubicAt(x0, x1, x2, x3, xDim[i]);\n min[0] = mathMin(x, min[0]);\n max[0] = mathMax(x, max[0]);\n }\n n = cubicExtrema(y0, y1, y2, y3, yDim);\n for (var i = 0; i < n; i++) {\n var y = cubicAt(y0, y1, y2, y3, yDim[i]);\n min[1] = mathMin(y, min[1]);\n max[1] = mathMax(y, max[1]);\n }\n min[0] = mathMin(x0, min[0]);\n max[0] = mathMax(x0, max[0]);\n min[0] = mathMin(x3, min[0]);\n max[0] = mathMax(x3, max[0]);\n min[1] = mathMin(y0, min[1]);\n max[1] = mathMax(y0, max[1]);\n min[1] = mathMin(y3, min[1]);\n max[1] = mathMax(y3, max[1]);\n}\nexport function fromQuadratic(x0, y0, x1, y1, x2, y2, min, max) {\n var quadraticExtremum = curve.quadraticExtremum;\n var quadraticAt = curve.quadraticAt;\n var tx = mathMax(mathMin(quadraticExtremum(x0, x1, x2), 1), 0);\n var ty = mathMax(mathMin(quadraticExtremum(y0, y1, y2), 1), 0);\n var x = quadraticAt(x0, x1, x2, tx);\n var y = quadraticAt(y0, y1, y2, ty);\n min[0] = mathMin(x0, x2, x);\n min[1] = mathMin(y0, y2, y);\n max[0] = mathMax(x0, x2, x);\n max[1] = mathMax(y0, y2, y);\n}\nexport function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {\n var vec2Min = vec2.min;\n var vec2Max = vec2.max;\n var diff = Math.abs(startAngle - endAngle);\n if (diff % PI2 < 1e-4 && diff > 1e-4) {\n min[0] = x - rx;\n min[1] = y - ry;\n max[0] = x + rx;\n max[1] = y + ry;\n return;\n }\n start[0] = mathCos(startAngle) * rx + x;\n start[1] = mathSin(startAngle) * ry + y;\n end[0] = mathCos(endAngle) * rx + x;\n end[1] = mathSin(endAngle) * ry + y;\n vec2Min(min, start, end);\n vec2Max(max, start, end);\n startAngle = startAngle % (PI2);\n if (startAngle < 0) {\n startAngle = startAngle + PI2;\n }\n endAngle = endAngle % (PI2);\n if (endAngle < 0) {\n endAngle = endAngle + PI2;\n }\n if (startAngle > endAngle && !anticlockwise) {\n endAngle += PI2;\n }\n else if (startAngle < endAngle && anticlockwise) {\n startAngle += PI2;\n }\n if (anticlockwise) {\n var tmp = endAngle;\n endAngle = startAngle;\n startAngle = tmp;\n }\n for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {\n if (angle > startAngle) {\n extremity[0] = mathCos(angle) * rx + x;\n extremity[1] = mathSin(angle) * ry + y;\n vec2Min(min, extremity, min);\n vec2Max(max, extremity, max);\n }\n }\n}\n","import * as vec2 from './vector.js';\nimport BoundingRect from './BoundingRect.js';\nimport { devicePixelRatio as dpr } from '../config.js';\nimport { fromLine, fromCubic, fromQuadratic, fromArc } from './bbox.js';\nimport { cubicLength, cubicSubdivide, quadraticLength, quadraticSubdivide } from './curve.js';\nvar CMD = {\n M: 1,\n L: 2,\n C: 3,\n Q: 4,\n A: 5,\n Z: 6,\n R: 7\n};\nvar tmpOutX = [];\nvar tmpOutY = [];\nvar min = [];\nvar max = [];\nvar min2 = [];\nvar max2 = [];\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathCos = Math.cos;\nvar mathSin = Math.sin;\nvar mathAbs = Math.abs;\nvar PI = Math.PI;\nvar PI2 = PI * 2;\nvar hasTypedArray = typeof Float32Array !== 'undefined';\nvar tmpAngles = [];\nfunction modPI2(radian) {\n var n = Math.round(radian / PI * 1e8) / 1e8;\n return (n % 2) * PI;\n}\nexport function normalizeArcAngles(angles, anticlockwise) {\n var newStartAngle = modPI2(angles[0]);\n if (newStartAngle < 0) {\n newStartAngle += PI2;\n }\n var delta = newStartAngle - angles[0];\n var newEndAngle = angles[1];\n newEndAngle += delta;\n if (!anticlockwise && newEndAngle - newStartAngle >= PI2) {\n newEndAngle = newStartAngle + PI2;\n }\n else if (anticlockwise && newStartAngle - newEndAngle >= PI2) {\n newEndAngle = newStartAngle - PI2;\n }\n else if (!anticlockwise && newStartAngle > newEndAngle) {\n newEndAngle = newStartAngle + (PI2 - modPI2(newStartAngle - newEndAngle));\n }\n else if (anticlockwise && newStartAngle < newEndAngle) {\n newEndAngle = newStartAngle - (PI2 - modPI2(newEndAngle - newStartAngle));\n }\n angles[0] = newStartAngle;\n angles[1] = newEndAngle;\n}\nvar PathProxy = (function () {\n function PathProxy(notSaveData) {\n this.dpr = 1;\n this._xi = 0;\n this._yi = 0;\n this._x0 = 0;\n this._y0 = 0;\n this._len = 0;\n if (notSaveData) {\n this._saveData = false;\n }\n if (this._saveData) {\n this.data = [];\n }\n }\n PathProxy.prototype.increaseVersion = function () {\n this._version++;\n };\n PathProxy.prototype.getVersion = function () {\n return this._version;\n };\n PathProxy.prototype.setScale = function (sx, sy, segmentIgnoreThreshold) {\n segmentIgnoreThreshold = segmentIgnoreThreshold || 0;\n if (segmentIgnoreThreshold > 0) {\n this._ux = mathAbs(segmentIgnoreThreshold / dpr / sx) || 0;\n this._uy = mathAbs(segmentIgnoreThreshold / dpr / sy) || 0;\n }\n };\n PathProxy.prototype.setDPR = function (dpr) {\n this.dpr = dpr;\n };\n PathProxy.prototype.setContext = function (ctx) {\n this._ctx = ctx;\n };\n PathProxy.prototype.getContext = function () {\n return this._ctx;\n };\n PathProxy.prototype.beginPath = function () {\n this._ctx && this._ctx.beginPath();\n this.reset();\n return this;\n };\n PathProxy.prototype.reset = function () {\n if (this._saveData) {\n this._len = 0;\n }\n if (this._pathSegLen) {\n this._pathSegLen = null;\n this._pathLen = 0;\n }\n this._version++;\n };\n PathProxy.prototype.moveTo = function (x, y) {\n this._drawPendingPt();\n this.addData(CMD.M, x, y);\n this._ctx && this._ctx.moveTo(x, y);\n this._x0 = x;\n this._y0 = y;\n this._xi = x;\n this._yi = y;\n return this;\n };\n PathProxy.prototype.lineTo = function (x, y) {\n var dx = mathAbs(x - this._xi);\n var dy = mathAbs(y - this._yi);\n var exceedUnit = dx > this._ux || dy > this._uy;\n this.addData(CMD.L, x, y);\n if (this._ctx && exceedUnit) {\n this._ctx.lineTo(x, y);\n }\n if (exceedUnit) {\n this._xi = x;\n this._yi = y;\n this._pendingPtDist = 0;\n }\n else {\n var d2 = dx * dx + dy * dy;\n if (d2 > this._pendingPtDist) {\n this._pendingPtX = x;\n this._pendingPtY = y;\n this._pendingPtDist = d2;\n }\n }\n return this;\n };\n PathProxy.prototype.bezierCurveTo = function (x1, y1, x2, y2, x3, y3) {\n this._drawPendingPt();\n this.addData(CMD.C, x1, y1, x2, y2, x3, y3);\n if (this._ctx) {\n this._ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n }\n this._xi = x3;\n this._yi = y3;\n return this;\n };\n PathProxy.prototype.quadraticCurveTo = function (x1, y1, x2, y2) {\n this._drawPendingPt();\n this.addData(CMD.Q, x1, y1, x2, y2);\n if (this._ctx) {\n this._ctx.quadraticCurveTo(x1, y1, x2, y2);\n }\n this._xi = x2;\n this._yi = y2;\n return this;\n };\n PathProxy.prototype.arc = function (cx, cy, r, startAngle, endAngle, anticlockwise) {\n this._drawPendingPt();\n tmpAngles[0] = startAngle;\n tmpAngles[1] = endAngle;\n normalizeArcAngles(tmpAngles, anticlockwise);\n startAngle = tmpAngles[0];\n endAngle = tmpAngles[1];\n var delta = endAngle - startAngle;\n this.addData(CMD.A, cx, cy, r, r, startAngle, delta, 0, anticlockwise ? 0 : 1);\n this._ctx && this._ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);\n this._xi = mathCos(endAngle) * r + cx;\n this._yi = mathSin(endAngle) * r + cy;\n return this;\n };\n PathProxy.prototype.arcTo = function (x1, y1, x2, y2, radius) {\n this._drawPendingPt();\n if (this._ctx) {\n this._ctx.arcTo(x1, y1, x2, y2, radius);\n }\n return this;\n };\n PathProxy.prototype.rect = function (x, y, w, h) {\n this._drawPendingPt();\n this._ctx && this._ctx.rect(x, y, w, h);\n this.addData(CMD.R, x, y, w, h);\n return this;\n };\n PathProxy.prototype.closePath = function () {\n this._drawPendingPt();\n this.addData(CMD.Z);\n var ctx = this._ctx;\n var x0 = this._x0;\n var y0 = this._y0;\n if (ctx) {\n ctx.closePath();\n }\n this._xi = x0;\n this._yi = y0;\n return this;\n };\n PathProxy.prototype.fill = function (ctx) {\n ctx && ctx.fill();\n this.toStatic();\n };\n PathProxy.prototype.stroke = function (ctx) {\n ctx && ctx.stroke();\n this.toStatic();\n };\n PathProxy.prototype.len = function () {\n return this._len;\n };\n PathProxy.prototype.setData = function (data) {\n var len = data.length;\n if (!(this.data && this.data.length === len) && hasTypedArray) {\n this.data = new Float32Array(len);\n }\n for (var i = 0; i < len; i++) {\n this.data[i] = data[i];\n }\n this._len = len;\n };\n PathProxy.prototype.appendPath = function (path) {\n if (!(path instanceof Array)) {\n path = [path];\n }\n var len = path.length;\n var appendSize = 0;\n var offset = this._len;\n for (var i = 0; i < len; i++) {\n appendSize += path[i].len();\n }\n if (hasTypedArray && (this.data instanceof Float32Array)) {\n this.data = new Float32Array(offset + appendSize);\n }\n for (var i = 0; i < len; i++) {\n var appendPathData = path[i].data;\n for (var k = 0; k < appendPathData.length; k++) {\n this.data[offset++] = appendPathData[k];\n }\n }\n this._len = offset;\n };\n PathProxy.prototype.addData = function (cmd, a, b, c, d, e, f, g, h) {\n if (!this._saveData) {\n return;\n }\n var data = this.data;\n if (this._len + arguments.length > data.length) {\n this._expandData();\n data = this.data;\n }\n for (var i = 0; i < arguments.length; i++) {\n data[this._len++] = arguments[i];\n }\n };\n PathProxy.prototype._drawPendingPt = function () {\n if (this._pendingPtDist > 0) {\n this._ctx && this._ctx.lineTo(this._pendingPtX, this._pendingPtY);\n this._pendingPtDist = 0;\n }\n };\n PathProxy.prototype._expandData = function () {\n if (!(this.data instanceof Array)) {\n var newData = [];\n for (var i = 0; i < this._len; i++) {\n newData[i] = this.data[i];\n }\n this.data = newData;\n }\n };\n PathProxy.prototype.toStatic = function () {\n if (!this._saveData) {\n return;\n }\n this._drawPendingPt();\n var data = this.data;\n if (data instanceof Array) {\n data.length = this._len;\n if (hasTypedArray && this._len > 11) {\n this.data = new Float32Array(data);\n }\n }\n };\n PathProxy.prototype.getBoundingRect = function () {\n min[0] = min[1] = min2[0] = min2[1] = Number.MAX_VALUE;\n max[0] = max[1] = max2[0] = max2[1] = -Number.MAX_VALUE;\n var data = this.data;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n var i;\n for (i = 0; i < this._len;) {\n var cmd = data[i++];\n var isFirst = i === 1;\n if (isFirst) {\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n switch (cmd) {\n case CMD.M:\n xi = x0 = data[i++];\n yi = y0 = data[i++];\n min2[0] = x0;\n min2[1] = y0;\n max2[0] = x0;\n max2[1] = y0;\n break;\n case CMD.L:\n fromLine(xi, yi, data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n case CMD.C:\n fromCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n case CMD.Q:\n fromQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], min2, max2);\n xi = data[i++];\n yi = data[i++];\n break;\n case CMD.A:\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++];\n var endAngle = data[i++] + startAngle;\n i += 1;\n var anticlockwise = !data[i++];\n if (isFirst) {\n x0 = mathCos(startAngle) * rx + cx;\n y0 = mathSin(startAngle) * ry + cy;\n }\n fromArc(cx, cy, rx, ry, startAngle, endAngle, anticlockwise, min2, max2);\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++];\n fromLine(x0, y0, x0 + width, y0 + height, min2, max2);\n break;\n case CMD.Z:\n xi = x0;\n yi = y0;\n break;\n }\n vec2.min(min, min, min2);\n vec2.max(max, max, max2);\n }\n if (i === 0) {\n min[0] = min[1] = max[0] = max[1] = 0;\n }\n return new BoundingRect(min[0], min[1], max[0] - min[0], max[1] - min[1]);\n };\n PathProxy.prototype._calculateLength = function () {\n var data = this.data;\n var len = this._len;\n var ux = this._ux;\n var uy = this._uy;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n if (!this._pathSegLen) {\n this._pathSegLen = [];\n }\n var pathSegLen = this._pathSegLen;\n var pathTotalLen = 0;\n var segCount = 0;\n for (var i = 0; i < len;) {\n var cmd = data[i++];\n var isFirst = i === 1;\n if (isFirst) {\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n var l = -1;\n switch (cmd) {\n case CMD.M:\n xi = x0 = data[i++];\n yi = y0 = data[i++];\n break;\n case CMD.L: {\n var x2 = data[i++];\n var y2 = data[i++];\n var dx = x2 - xi;\n var dy = y2 - yi;\n if (mathAbs(dx) > ux || mathAbs(dy) > uy || i === len - 1) {\n l = Math.sqrt(dx * dx + dy * dy);\n xi = x2;\n yi = y2;\n }\n break;\n }\n case CMD.C: {\n var x1 = data[i++];\n var y1 = data[i++];\n var x2 = data[i++];\n var y2 = data[i++];\n var x3 = data[i++];\n var y3 = data[i++];\n l = cubicLength(xi, yi, x1, y1, x2, y2, x3, y3, 10);\n xi = x3;\n yi = y3;\n break;\n }\n case CMD.Q: {\n var x1 = data[i++];\n var y1 = data[i++];\n var x2 = data[i++];\n var y2 = data[i++];\n l = quadraticLength(xi, yi, x1, y1, x2, y2, 10);\n xi = x2;\n yi = y2;\n break;\n }\n case CMD.A:\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var startAngle = data[i++];\n var delta = data[i++];\n var endAngle = delta + startAngle;\n i += 1;\n var anticlockwise = !data[i++];\n if (isFirst) {\n x0 = mathCos(startAngle) * rx + cx;\n y0 = mathSin(startAngle) * ry + cy;\n }\n l = mathMax(rx, ry) * mathMin(PI2, Math.abs(delta));\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n case CMD.R: {\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++];\n l = width * 2 + height * 2;\n break;\n }\n case CMD.Z: {\n var dx = x0 - xi;\n var dy = y0 - yi;\n l = Math.sqrt(dx * dx + dy * dy);\n xi = x0;\n yi = y0;\n break;\n }\n }\n if (l >= 0) {\n pathSegLen[segCount++] = l;\n pathTotalLen += l;\n }\n }\n this._pathLen = pathTotalLen;\n return pathTotalLen;\n };\n PathProxy.prototype.rebuildPath = function (ctx, percent) {\n var d = this.data;\n var ux = this._ux;\n var uy = this._uy;\n var len = this._len;\n var x0;\n var y0;\n var xi;\n var yi;\n var x;\n var y;\n var drawPart = percent < 1;\n var pathSegLen;\n var pathTotalLen;\n var accumLength = 0;\n var segCount = 0;\n var displayedLength;\n var pendingPtDist = 0;\n var pendingPtX;\n var pendingPtY;\n if (drawPart) {\n if (!this._pathSegLen) {\n this._calculateLength();\n }\n pathSegLen = this._pathSegLen;\n pathTotalLen = this._pathLen;\n displayedLength = percent * pathTotalLen;\n if (!displayedLength) {\n return;\n }\n }\n lo: for (var i = 0; i < len;) {\n var cmd = d[i++];\n var isFirst = i === 1;\n if (isFirst) {\n xi = d[i];\n yi = d[i + 1];\n x0 = xi;\n y0 = yi;\n }\n if (cmd !== CMD.L && pendingPtDist > 0) {\n ctx.lineTo(pendingPtX, pendingPtY);\n pendingPtDist = 0;\n }\n switch (cmd) {\n case CMD.M:\n x0 = xi = d[i++];\n y0 = yi = d[i++];\n ctx.moveTo(xi, yi);\n break;\n case CMD.L: {\n x = d[i++];\n y = d[i++];\n var dx = mathAbs(x - xi);\n var dy = mathAbs(y - yi);\n if (dx > ux || dy > uy) {\n if (drawPart) {\n var l = pathSegLen[segCount++];\n if (accumLength + l > displayedLength) {\n var t = (displayedLength - accumLength) / l;\n ctx.lineTo(xi * (1 - t) + x * t, yi * (1 - t) + y * t);\n break lo;\n }\n accumLength += l;\n }\n ctx.lineTo(x, y);\n xi = x;\n yi = y;\n pendingPtDist = 0;\n }\n else {\n var d2 = dx * dx + dy * dy;\n if (d2 > pendingPtDist) {\n pendingPtX = x;\n pendingPtY = y;\n pendingPtDist = d2;\n }\n }\n break;\n }\n case CMD.C: {\n var x1 = d[i++];\n var y1 = d[i++];\n var x2 = d[i++];\n var y2 = d[i++];\n var x3 = d[i++];\n var y3 = d[i++];\n if (drawPart) {\n var l = pathSegLen[segCount++];\n if (accumLength + l > displayedLength) {\n var t = (displayedLength - accumLength) / l;\n cubicSubdivide(xi, x1, x2, x3, t, tmpOutX);\n cubicSubdivide(yi, y1, y2, y3, t, tmpOutY);\n ctx.bezierCurveTo(tmpOutX[1], tmpOutY[1], tmpOutX[2], tmpOutY[2], tmpOutX[3], tmpOutY[3]);\n break lo;\n }\n accumLength += l;\n }\n ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);\n xi = x3;\n yi = y3;\n break;\n }\n case CMD.Q: {\n var x1 = d[i++];\n var y1 = d[i++];\n var x2 = d[i++];\n var y2 = d[i++];\n if (drawPart) {\n var l = pathSegLen[segCount++];\n if (accumLength + l > displayedLength) {\n var t = (displayedLength - accumLength) / l;\n quadraticSubdivide(xi, x1, x2, t, tmpOutX);\n quadraticSubdivide(yi, y1, y2, t, tmpOutY);\n ctx.quadraticCurveTo(tmpOutX[1], tmpOutY[1], tmpOutX[2], tmpOutY[2]);\n break lo;\n }\n accumLength += l;\n }\n ctx.quadraticCurveTo(x1, y1, x2, y2);\n xi = x2;\n yi = y2;\n break;\n }\n case CMD.A:\n var cx = d[i++];\n var cy = d[i++];\n var rx = d[i++];\n var ry = d[i++];\n var startAngle = d[i++];\n var delta = d[i++];\n var psi = d[i++];\n var anticlockwise = !d[i++];\n var r = (rx > ry) ? rx : ry;\n var isEllipse = mathAbs(rx - ry) > 1e-3;\n var endAngle = startAngle + delta;\n var breakBuild = false;\n if (drawPart) {\n var l = pathSegLen[segCount++];\n if (accumLength + l > displayedLength) {\n endAngle = startAngle + delta * (displayedLength - accumLength) / l;\n breakBuild = true;\n }\n accumLength += l;\n }\n if (isEllipse && ctx.ellipse) {\n ctx.ellipse(cx, cy, rx, ry, psi, startAngle, endAngle, anticlockwise);\n }\n else {\n ctx.arc(cx, cy, r, startAngle, endAngle, anticlockwise);\n }\n if (breakBuild) {\n break lo;\n }\n if (isFirst) {\n x0 = mathCos(startAngle) * rx + cx;\n y0 = mathSin(startAngle) * ry + cy;\n }\n xi = mathCos(endAngle) * rx + cx;\n yi = mathSin(endAngle) * ry + cy;\n break;\n case CMD.R:\n x0 = xi = d[i];\n y0 = yi = d[i + 1];\n x = d[i++];\n y = d[i++];\n var width = d[i++];\n var height = d[i++];\n if (drawPart) {\n var l = pathSegLen[segCount++];\n if (accumLength + l > displayedLength) {\n var d_1 = displayedLength - accumLength;\n ctx.moveTo(x, y);\n ctx.lineTo(x + mathMin(d_1, width), y);\n d_1 -= width;\n if (d_1 > 0) {\n ctx.lineTo(x + width, y + mathMin(d_1, height));\n }\n d_1 -= height;\n if (d_1 > 0) {\n ctx.lineTo(x + mathMax(width - d_1, 0), y + height);\n }\n d_1 -= width;\n if (d_1 > 0) {\n ctx.lineTo(x, y + mathMax(height - d_1, 0));\n }\n break lo;\n }\n accumLength += l;\n }\n ctx.rect(x, y, width, height);\n break;\n case CMD.Z:\n if (drawPart) {\n var l = pathSegLen[segCount++];\n if (accumLength + l > displayedLength) {\n var t = (displayedLength - accumLength) / l;\n ctx.lineTo(xi * (1 - t) + x0 * t, yi * (1 - t) + y0 * t);\n break lo;\n }\n accumLength += l;\n }\n ctx.closePath();\n xi = x0;\n yi = y0;\n }\n }\n };\n PathProxy.prototype.clone = function () {\n var newProxy = new PathProxy();\n var data = this.data;\n newProxy.data = data.slice ? data.slice()\n : Array.prototype.slice.call(data);\n newProxy._len = this._len;\n return newProxy;\n };\n PathProxy.CMD = CMD;\n PathProxy.initDefaultProps = (function () {\n var proto = PathProxy.prototype;\n proto._saveData = true;\n proto._ux = 0;\n proto._uy = 0;\n proto._pendingPtDist = 0;\n proto._version = 0;\n })();\n return PathProxy;\n}());\nexport default PathProxy;\n","export function containStroke(x0, y0, x1, y1, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n var _l = lineWidth;\n var _a = 0;\n var _b = x0;\n if ((y > y0 + _l && y > y1 + _l)\n || (y < y0 - _l && y < y1 - _l)\n || (x > x0 + _l && x > x1 + _l)\n || (x < x0 - _l && x < x1 - _l)) {\n return false;\n }\n if (x0 !== x1) {\n _a = (y0 - y1) / (x0 - x1);\n _b = (x0 * y1 - x1 * y0) / (x0 - x1);\n }\n else {\n return Math.abs(x - x0) <= _l / 2;\n }\n var tmp = _a * x - y + _b;\n var _s = tmp * tmp / (_a * _a + 1);\n return _s <= _l / 2 * _l / 2;\n}\n","import * as curve from '../core/curve.js';\nexport function containStroke(x0, y0, x1, y1, x2, y2, x3, y3, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n var _l = lineWidth;\n if ((y > y0 + _l && y > y1 + _l && y > y2 + _l && y > y3 + _l)\n || (y < y0 - _l && y < y1 - _l && y < y2 - _l && y < y3 - _l)\n || (x > x0 + _l && x > x1 + _l && x > x2 + _l && x > x3 + _l)\n || (x < x0 - _l && x < x1 - _l && x < x2 - _l && x < x3 - _l)) {\n return false;\n }\n var d = curve.cubicProjectPoint(x0, y0, x1, y1, x2, y2, x3, y3, x, y, null);\n return d <= _l / 2;\n}\n","import { quadraticProjectPoint } from '../core/curve.js';\nexport function containStroke(x0, y0, x1, y1, x2, y2, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n var _l = lineWidth;\n if ((y > y0 + _l && y > y1 + _l && y > y2 + _l)\n || (y < y0 - _l && y < y1 - _l && y < y2 - _l)\n || (x > x0 + _l && x > x1 + _l && x > x2 + _l)\n || (x < x0 - _l && x < x1 - _l && x < x2 - _l)) {\n return false;\n }\n var d = quadraticProjectPoint(x0, y0, x1, y1, x2, y2, x, y, null);\n return d <= _l / 2;\n}\n","var PI2 = Math.PI * 2;\nexport function normalizeRadian(angle) {\n angle %= PI2;\n if (angle < 0) {\n angle += PI2;\n }\n return angle;\n}\n","import { normalizeRadian } from './util.js';\nvar PI2 = Math.PI * 2;\nexport function containStroke(cx, cy, r, startAngle, endAngle, anticlockwise, lineWidth, x, y) {\n if (lineWidth === 0) {\n return false;\n }\n var _l = lineWidth;\n x -= cx;\n y -= cy;\n var d = Math.sqrt(x * x + y * y);\n if ((d - _l > r) || (d + _l < r)) {\n return false;\n }\n if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {\n return true;\n }\n if (anticlockwise) {\n var tmp = startAngle;\n startAngle = normalizeRadian(endAngle);\n endAngle = normalizeRadian(tmp);\n }\n else {\n startAngle = normalizeRadian(startAngle);\n endAngle = normalizeRadian(endAngle);\n }\n if (startAngle > endAngle) {\n endAngle += PI2;\n }\n var angle = Math.atan2(y, x);\n if (angle < 0) {\n angle += PI2;\n }\n return (angle >= startAngle && angle <= endAngle)\n || (angle + PI2 >= startAngle && angle + PI2 <= endAngle);\n}\n","export default function windingLine(x0, y0, x1, y1, x, y) {\n if ((y > y0 && y > y1) || (y < y0 && y < y1)) {\n return 0;\n }\n if (y1 === y0) {\n return 0;\n }\n var t = (y - y0) / (y1 - y0);\n var dir = y1 < y0 ? 1 : -1;\n if (t === 1 || t === 0) {\n dir = y1 < y0 ? 0.5 : -0.5;\n }\n var x_ = t * (x1 - x0) + x0;\n return x_ === x ? Infinity : x_ > x ? dir : 0;\n}\n","import PathProxy from '../core/PathProxy.js';\nimport * as line from './line.js';\nimport * as cubic from './cubic.js';\nimport * as quadratic from './quadratic.js';\nimport * as arc from './arc.js';\nimport * as curve from '../core/curve.js';\nimport windingLine from './windingLine.js';\nvar CMD = PathProxy.CMD;\nvar PI2 = Math.PI * 2;\nvar EPSILON = 1e-4;\nfunction isAroundEqual(a, b) {\n return Math.abs(a - b) < EPSILON;\n}\nvar roots = [-1, -1, -1];\nvar extrema = [-1, -1];\nfunction swapExtrema() {\n var tmp = extrema[0];\n extrema[0] = extrema[1];\n extrema[1] = tmp;\n}\nfunction windingCubic(x0, y0, x1, y1, x2, y2, x3, y3, x, y) {\n if ((y > y0 && y > y1 && y > y2 && y > y3)\n || (y < y0 && y < y1 && y < y2 && y < y3)) {\n return 0;\n }\n var nRoots = curve.cubicRootAt(y0, y1, y2, y3, y, roots);\n if (nRoots === 0) {\n return 0;\n }\n else {\n var w = 0;\n var nExtrema = -1;\n var y0_ = void 0;\n var y1_ = void 0;\n for (var i = 0; i < nRoots; i++) {\n var t = roots[i];\n var unit = (t === 0 || t === 1) ? 0.5 : 1;\n var x_ = curve.cubicAt(x0, x1, x2, x3, t);\n if (x_ < x) {\n continue;\n }\n if (nExtrema < 0) {\n nExtrema = curve.cubicExtrema(y0, y1, y2, y3, extrema);\n if (extrema[1] < extrema[0] && nExtrema > 1) {\n swapExtrema();\n }\n y0_ = curve.cubicAt(y0, y1, y2, y3, extrema[0]);\n if (nExtrema > 1) {\n y1_ = curve.cubicAt(y0, y1, y2, y3, extrema[1]);\n }\n }\n if (nExtrema === 2) {\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n }\n else if (t < extrema[1]) {\n w += y1_ < y0_ ? unit : -unit;\n }\n else {\n w += y3 < y1_ ? unit : -unit;\n }\n }\n else {\n if (t < extrema[0]) {\n w += y0_ < y0 ? unit : -unit;\n }\n else {\n w += y3 < y0_ ? unit : -unit;\n }\n }\n }\n return w;\n }\n}\nfunction windingQuadratic(x0, y0, x1, y1, x2, y2, x, y) {\n if ((y > y0 && y > y1 && y > y2)\n || (y < y0 && y < y1 && y < y2)) {\n return 0;\n }\n var nRoots = curve.quadraticRootAt(y0, y1, y2, y, roots);\n if (nRoots === 0) {\n return 0;\n }\n else {\n var t = curve.quadraticExtremum(y0, y1, y2);\n if (t >= 0 && t <= 1) {\n var w = 0;\n var y_ = curve.quadraticAt(y0, y1, y2, t);\n for (var i = 0; i < nRoots; i++) {\n var unit = (roots[i] === 0 || roots[i] === 1) ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[i]);\n if (x_ < x) {\n continue;\n }\n if (roots[i] < t) {\n w += y_ < y0 ? unit : -unit;\n }\n else {\n w += y2 < y_ ? unit : -unit;\n }\n }\n return w;\n }\n else {\n var unit = (roots[0] === 0 || roots[0] === 1) ? 0.5 : 1;\n var x_ = curve.quadraticAt(x0, x1, x2, roots[0]);\n if (x_ < x) {\n return 0;\n }\n return y2 < y0 ? unit : -unit;\n }\n }\n}\nfunction windingArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y) {\n y -= cy;\n if (y > r || y < -r) {\n return 0;\n }\n var tmp = Math.sqrt(r * r - y * y);\n roots[0] = -tmp;\n roots[1] = tmp;\n var dTheta = Math.abs(startAngle - endAngle);\n if (dTheta < 1e-4) {\n return 0;\n }\n if (dTheta >= PI2 - 1e-4) {\n startAngle = 0;\n endAngle = PI2;\n var dir = anticlockwise ? 1 : -1;\n if (x >= roots[0] + cx && x <= roots[1] + cx) {\n return dir;\n }\n else {\n return 0;\n }\n }\n if (startAngle > endAngle) {\n var tmp_1 = startAngle;\n startAngle = endAngle;\n endAngle = tmp_1;\n }\n if (startAngle < 0) {\n startAngle += PI2;\n endAngle += PI2;\n }\n var w = 0;\n for (var i = 0; i < 2; i++) {\n var x_ = roots[i];\n if (x_ + cx > x) {\n var angle = Math.atan2(y, x_);\n var dir = anticlockwise ? 1 : -1;\n if (angle < 0) {\n angle = PI2 + angle;\n }\n if ((angle >= startAngle && angle <= endAngle)\n || (angle + PI2 >= startAngle && angle + PI2 <= endAngle)) {\n if (angle > Math.PI / 2 && angle < Math.PI * 1.5) {\n dir = -dir;\n }\n w += dir;\n }\n }\n }\n return w;\n}\nfunction containPath(path, lineWidth, isStroke, x, y) {\n var data = path.data;\n var len = path.len();\n var w = 0;\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n var x1;\n var y1;\n for (var i = 0; i < len;) {\n var cmd = data[i++];\n var isFirst = i === 1;\n if (cmd === CMD.M && i > 1) {\n if (!isStroke) {\n w += windingLine(xi, yi, x0, y0, x, y);\n }\n }\n if (isFirst) {\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n switch (cmd) {\n case CMD.M:\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n break;\n case CMD.L:\n if (isStroke) {\n if (line.containStroke(xi, yi, data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n }\n else {\n w += windingLine(xi, yi, data[i], data[i + 1], x, y) || 0;\n }\n xi = data[i++];\n yi = data[i++];\n break;\n case CMD.C:\n if (isStroke) {\n if (cubic.containStroke(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n }\n else {\n w += windingCubic(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n xi = data[i++];\n yi = data[i++];\n break;\n case CMD.Q:\n if (isStroke) {\n if (quadratic.containStroke(xi, yi, data[i++], data[i++], data[i], data[i + 1], lineWidth, x, y)) {\n return true;\n }\n }\n else {\n w += windingQuadratic(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y) || 0;\n }\n xi = data[i++];\n yi = data[i++];\n break;\n case CMD.A:\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var theta = data[i++];\n var dTheta = data[i++];\n i += 1;\n var anticlockwise = !!(1 - data[i++]);\n x1 = Math.cos(theta) * rx + cx;\n y1 = Math.sin(theta) * ry + cy;\n if (!isFirst) {\n w += windingLine(xi, yi, x1, y1, x, y);\n }\n else {\n x0 = x1;\n y0 = y1;\n }\n var _x = (x - cx) * ry / rx + cx;\n if (isStroke) {\n if (arc.containStroke(cx, cy, ry, theta, theta + dTheta, anticlockwise, lineWidth, _x, y)) {\n return true;\n }\n }\n else {\n w += windingArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y);\n }\n xi = Math.cos(theta + dTheta) * rx + cx;\n yi = Math.sin(theta + dTheta) * ry + cy;\n break;\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++];\n x1 = x0 + width;\n y1 = y0 + height;\n if (isStroke) {\n if (line.containStroke(x0, y0, x1, y0, lineWidth, x, y)\n || line.containStroke(x1, y0, x1, y1, lineWidth, x, y)\n || line.containStroke(x1, y1, x0, y1, lineWidth, x, y)\n || line.containStroke(x0, y1, x0, y0, lineWidth, x, y)) {\n return true;\n }\n }\n else {\n w += windingLine(x1, y0, x1, y1, x, y);\n w += windingLine(x0, y1, x0, y0, x, y);\n }\n break;\n case CMD.Z:\n if (isStroke) {\n if (line.containStroke(xi, yi, x0, y0, lineWidth, x, y)) {\n return true;\n }\n }\n else {\n w += windingLine(xi, yi, x0, y0, x, y);\n }\n xi = x0;\n yi = y0;\n break;\n }\n }\n if (!isStroke && !isAroundEqual(yi, y0)) {\n w += windingLine(xi, yi, x0, y0, x, y) || 0;\n }\n return w !== 0;\n}\nexport function contain(pathProxy, x, y) {\n return containPath(pathProxy, 0, false, x, y);\n}\nexport function containStroke(pathProxy, lineWidth, x, y) {\n return containPath(pathProxy, lineWidth, true, x, y);\n}\n","import { __extends } from \"tslib\";\nimport Displayable, { DEFAULT_COMMON_STYLE, DEFAULT_COMMON_ANIMATION_PROPS } from './Displayable.js';\nimport PathProxy from '../core/PathProxy.js';\nimport * as pathContain from '../contain/path.js';\nimport { defaults, keys, extend, clone, isString, createObject } from '../core/util.js';\nimport { lum } from '../tool/color.js';\nimport { DARK_LABEL_COLOR, LIGHT_LABEL_COLOR, DARK_MODE_THRESHOLD, LIGHTER_LABEL_COLOR } from '../config.js';\nimport { REDRAW_BIT, SHAPE_CHANGED_BIT, STYLE_CHANGED_BIT } from './constants.js';\nimport { TRANSFORMABLE_PROPS } from '../core/Transformable.js';\nexport var DEFAULT_PATH_STYLE = defaults({\n fill: '#000',\n stroke: null,\n strokePercent: 1,\n fillOpacity: 1,\n strokeOpacity: 1,\n lineDashOffset: 0,\n lineWidth: 1,\n lineCap: 'butt',\n miterLimit: 10,\n strokeNoScale: false,\n strokeFirst: false\n}, DEFAULT_COMMON_STYLE);\nexport var DEFAULT_PATH_ANIMATION_PROPS = {\n style: defaults({\n fill: true,\n stroke: true,\n strokePercent: true,\n fillOpacity: true,\n strokeOpacity: true,\n lineDashOffset: true,\n lineWidth: true,\n miterLimit: true\n }, DEFAULT_COMMON_ANIMATION_PROPS.style)\n};\nvar pathCopyParams = TRANSFORMABLE_PROPS.concat(['invisible',\n 'culling', 'z', 'z2', 'zlevel', 'parent'\n]);\nvar Path = (function (_super) {\n __extends(Path, _super);\n function Path(opts) {\n return _super.call(this, opts) || this;\n }\n Path.prototype.update = function () {\n var _this = this;\n _super.prototype.update.call(this);\n var style = this.style;\n if (style.decal) {\n var decalEl = this._decalEl = this._decalEl || new Path();\n if (decalEl.buildPath === Path.prototype.buildPath) {\n decalEl.buildPath = function (ctx) {\n _this.buildPath(ctx, _this.shape);\n };\n }\n decalEl.silent = true;\n var decalElStyle = decalEl.style;\n for (var key in style) {\n if (decalElStyle[key] !== style[key]) {\n decalElStyle[key] = style[key];\n }\n }\n decalElStyle.fill = style.fill ? style.decal : null;\n decalElStyle.decal = null;\n decalElStyle.shadowColor = null;\n style.strokeFirst && (decalElStyle.stroke = null);\n for (var i = 0; i < pathCopyParams.length; ++i) {\n decalEl[pathCopyParams[i]] = this[pathCopyParams[i]];\n }\n decalEl.__dirty |= REDRAW_BIT;\n }\n else if (this._decalEl) {\n this._decalEl = null;\n }\n };\n Path.prototype.getDecalElement = function () {\n return this._decalEl;\n };\n Path.prototype._init = function (props) {\n var keysArr = keys(props);\n this.shape = this.getDefaultShape();\n var defaultStyle = this.getDefaultStyle();\n if (defaultStyle) {\n this.useStyle(defaultStyle);\n }\n for (var i = 0; i < keysArr.length; i++) {\n var key = keysArr[i];\n var value = props[key];\n if (key === 'style') {\n if (!this.style) {\n this.useStyle(value);\n }\n else {\n extend(this.style, value);\n }\n }\n else if (key === 'shape') {\n extend(this.shape, value);\n }\n else {\n _super.prototype.attrKV.call(this, key, value);\n }\n }\n if (!this.style) {\n this.useStyle({});\n }\n };\n Path.prototype.getDefaultStyle = function () {\n return null;\n };\n Path.prototype.getDefaultShape = function () {\n return {};\n };\n Path.prototype.canBeInsideText = function () {\n return this.hasFill();\n };\n Path.prototype.getInsideTextFill = function () {\n var pathFill = this.style.fill;\n if (pathFill !== 'none') {\n if (isString(pathFill)) {\n var fillLum = lum(pathFill, 0);\n if (fillLum > 0.5) {\n return DARK_LABEL_COLOR;\n }\n else if (fillLum > 0.2) {\n return LIGHTER_LABEL_COLOR;\n }\n return LIGHT_LABEL_COLOR;\n }\n else if (pathFill) {\n return LIGHT_LABEL_COLOR;\n }\n }\n return DARK_LABEL_COLOR;\n };\n Path.prototype.getInsideTextStroke = function (textFill) {\n var pathFill = this.style.fill;\n if (isString(pathFill)) {\n var zr = this.__zr;\n var isDarkMode = !!(zr && zr.isDarkMode());\n var isDarkLabel = lum(textFill, 0) < DARK_MODE_THRESHOLD;\n if (isDarkMode === isDarkLabel) {\n return pathFill;\n }\n }\n };\n Path.prototype.buildPath = function (ctx, shapeCfg, inBatch) { };\n Path.prototype.pathUpdated = function () {\n this.__dirty &= ~SHAPE_CHANGED_BIT;\n };\n Path.prototype.getUpdatedPathProxy = function (inBatch) {\n !this.path && this.createPathProxy();\n this.path.beginPath();\n this.buildPath(this.path, this.shape, inBatch);\n return this.path;\n };\n Path.prototype.createPathProxy = function () {\n this.path = new PathProxy(false);\n };\n Path.prototype.hasStroke = function () {\n var style = this.style;\n var stroke = style.stroke;\n return !(stroke == null || stroke === 'none' || !(style.lineWidth > 0));\n };\n Path.prototype.hasFill = function () {\n var style = this.style;\n var fill = style.fill;\n return fill != null && fill !== 'none';\n };\n Path.prototype.getBoundingRect = function () {\n var rect = this._rect;\n var style = this.style;\n var needsUpdateRect = !rect;\n if (needsUpdateRect) {\n var firstInvoke = false;\n if (!this.path) {\n firstInvoke = true;\n this.createPathProxy();\n }\n var path = this.path;\n if (firstInvoke || (this.__dirty & SHAPE_CHANGED_BIT)) {\n path.beginPath();\n this.buildPath(path, this.shape, false);\n this.pathUpdated();\n }\n rect = path.getBoundingRect();\n }\n this._rect = rect;\n if (this.hasStroke() && this.path && this.path.len() > 0) {\n var rectStroke = this._rectStroke || (this._rectStroke = rect.clone());\n if (this.__dirty || needsUpdateRect) {\n rectStroke.copy(rect);\n var lineScale = style.strokeNoScale ? this.getLineScale() : 1;\n var w = style.lineWidth;\n if (!this.hasFill()) {\n var strokeContainThreshold = this.strokeContainThreshold;\n w = Math.max(w, strokeContainThreshold == null ? 4 : strokeContainThreshold);\n }\n if (lineScale > 1e-10) {\n rectStroke.width += w / lineScale;\n rectStroke.height += w / lineScale;\n rectStroke.x -= w / lineScale / 2;\n rectStroke.y -= w / lineScale / 2;\n }\n }\n return rectStroke;\n }\n return rect;\n };\n Path.prototype.contain = function (x, y) {\n var localPos = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n var style = this.style;\n x = localPos[0];\n y = localPos[1];\n if (rect.contain(x, y)) {\n var pathProxy = this.path;\n if (this.hasStroke()) {\n var lineWidth = style.lineWidth;\n var lineScale = style.strokeNoScale ? this.getLineScale() : 1;\n if (lineScale > 1e-10) {\n if (!this.hasFill()) {\n lineWidth = Math.max(lineWidth, this.strokeContainThreshold);\n }\n if (pathContain.containStroke(pathProxy, lineWidth / lineScale, x, y)) {\n return true;\n }\n }\n }\n if (this.hasFill()) {\n return pathContain.contain(pathProxy, x, y);\n }\n }\n return false;\n };\n Path.prototype.dirtyShape = function () {\n this.__dirty |= SHAPE_CHANGED_BIT;\n if (this._rect) {\n this._rect = null;\n }\n if (this._decalEl) {\n this._decalEl.dirtyShape();\n }\n this.markRedraw();\n };\n Path.prototype.dirty = function () {\n this.dirtyStyle();\n this.dirtyShape();\n };\n Path.prototype.animateShape = function (loop) {\n return this.animate('shape', loop);\n };\n Path.prototype.updateDuringAnimation = function (targetKey) {\n if (targetKey === 'style') {\n this.dirtyStyle();\n }\n else if (targetKey === 'shape') {\n this.dirtyShape();\n }\n else {\n this.markRedraw();\n }\n };\n Path.prototype.attrKV = function (key, value) {\n if (key === 'shape') {\n this.setShape(value);\n }\n else {\n _super.prototype.attrKV.call(this, key, value);\n }\n };\n Path.prototype.setShape = function (keyOrObj, value) {\n var shape = this.shape;\n if (!shape) {\n shape = this.shape = {};\n }\n if (typeof keyOrObj === 'string') {\n shape[keyOrObj] = value;\n }\n else {\n extend(shape, keyOrObj);\n }\n this.dirtyShape();\n return this;\n };\n Path.prototype.shapeChanged = function () {\n return !!(this.__dirty & SHAPE_CHANGED_BIT);\n };\n Path.prototype.createStyle = function (obj) {\n return createObject(DEFAULT_PATH_STYLE, obj);\n };\n Path.prototype._innerSaveToNormal = function (toState) {\n _super.prototype._innerSaveToNormal.call(this, toState);\n var normalState = this._normalState;\n if (toState.shape && !normalState.shape) {\n normalState.shape = extend({}, this.shape);\n }\n };\n Path.prototype._applyStateObj = function (stateName, state, normalState, keepCurrentStates, transition, animationCfg) {\n _super.prototype._applyStateObj.call(this, stateName, state, normalState, keepCurrentStates, transition, animationCfg);\n var needsRestoreToNormal = !(state && keepCurrentStates);\n var targetShape;\n if (state && state.shape) {\n if (transition) {\n if (keepCurrentStates) {\n targetShape = state.shape;\n }\n else {\n targetShape = extend({}, normalState.shape);\n extend(targetShape, state.shape);\n }\n }\n else {\n targetShape = extend({}, keepCurrentStates ? this.shape : normalState.shape);\n extend(targetShape, state.shape);\n }\n }\n else if (needsRestoreToNormal) {\n targetShape = normalState.shape;\n }\n if (targetShape) {\n if (transition) {\n this.shape = extend({}, this.shape);\n var targetShapePrimaryProps = {};\n var shapeKeys = keys(targetShape);\n for (var i = 0; i < shapeKeys.length; i++) {\n var key = shapeKeys[i];\n if (typeof targetShape[key] === 'object') {\n this.shape[key] = targetShape[key];\n }\n else {\n targetShapePrimaryProps[key] = targetShape[key];\n }\n }\n this._transitionState(stateName, {\n shape: targetShapePrimaryProps\n }, animationCfg);\n }\n else {\n this.shape = targetShape;\n this.dirtyShape();\n }\n }\n };\n Path.prototype._mergeStates = function (states) {\n var mergedState = _super.prototype._mergeStates.call(this, states);\n var mergedShape;\n for (var i = 0; i < states.length; i++) {\n var state = states[i];\n if (state.shape) {\n mergedShape = mergedShape || {};\n this._mergeStyle(mergedShape, state.shape);\n }\n }\n if (mergedShape) {\n mergedState.shape = mergedShape;\n }\n return mergedState;\n };\n Path.prototype.getAnimationStyleProps = function () {\n return DEFAULT_PATH_ANIMATION_PROPS;\n };\n Path.prototype.isZeroArea = function () {\n return false;\n };\n Path.extend = function (defaultProps) {\n var Sub = (function (_super) {\n __extends(Sub, _super);\n function Sub(opts) {\n var _this = _super.call(this, opts) || this;\n defaultProps.init && defaultProps.init.call(_this, opts);\n return _this;\n }\n Sub.prototype.getDefaultStyle = function () {\n return clone(defaultProps.style);\n };\n Sub.prototype.getDefaultShape = function () {\n return clone(defaultProps.shape);\n };\n return Sub;\n }(Path));\n for (var key in defaultProps) {\n if (typeof defaultProps[key] === 'function') {\n Sub.prototype[key] = defaultProps[key];\n }\n }\n return Sub;\n };\n Path.initDefaultProps = (function () {\n var pathProto = Path.prototype;\n pathProto.type = 'path';\n pathProto.strokeContainThreshold = 5;\n pathProto.segmentIgnoreThreshold = 0;\n pathProto.subPixelOptimize = false;\n pathProto.autoBatch = false;\n pathProto.__dirty = REDRAW_BIT | STYLE_CHANGED_BIT | SHAPE_CHANGED_BIT;\n })();\n return Path;\n}(Displayable));\nexport default Path;\n","import { __extends } from \"tslib\";\nimport Displayable from './Displayable.js';\nimport { getBoundingRect } from '../contain/text.js';\nimport { DEFAULT_PATH_STYLE } from './Path.js';\nimport { createObject, defaults } from '../core/util.js';\nimport { DEFAULT_FONT } from '../core/platform.js';\nexport var DEFAULT_TSPAN_STYLE = defaults({\n strokeFirst: true,\n font: DEFAULT_FONT,\n x: 0,\n y: 0,\n textAlign: 'left',\n textBaseline: 'top',\n miterLimit: 2\n}, DEFAULT_PATH_STYLE);\nvar TSpan = (function (_super) {\n __extends(TSpan, _super);\n function TSpan() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TSpan.prototype.hasStroke = function () {\n var style = this.style;\n var stroke = style.stroke;\n return stroke != null && stroke !== 'none' && style.lineWidth > 0;\n };\n TSpan.prototype.hasFill = function () {\n var style = this.style;\n var fill = style.fill;\n return fill != null && fill !== 'none';\n };\n TSpan.prototype.createStyle = function (obj) {\n return createObject(DEFAULT_TSPAN_STYLE, obj);\n };\n TSpan.prototype.setBoundingRect = function (rect) {\n this._rect = rect;\n };\n TSpan.prototype.getBoundingRect = function () {\n var style = this.style;\n if (!this._rect) {\n var text = style.text;\n text != null ? (text += '') : (text = '');\n var rect = getBoundingRect(text, style.font, style.textAlign, style.textBaseline);\n rect.x += style.x || 0;\n rect.y += style.y || 0;\n if (this.hasStroke()) {\n var w = style.lineWidth;\n rect.x -= w / 2;\n rect.y -= w / 2;\n rect.width += w;\n rect.height += w;\n }\n this._rect = rect;\n }\n return this._rect;\n };\n TSpan.initDefaultProps = (function () {\n var tspanProto = TSpan.prototype;\n tspanProto.dirtyRectTolerance = 10;\n })();\n return TSpan;\n}(Displayable));\nTSpan.prototype.type = 'tspan';\nexport default TSpan;\n","import { __extends } from \"tslib\";\nimport Displayable, { DEFAULT_COMMON_STYLE, DEFAULT_COMMON_ANIMATION_PROPS } from './Displayable.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport { defaults, createObject } from '../core/util.js';\nexport var DEFAULT_IMAGE_STYLE = defaults({\n x: 0,\n y: 0\n}, DEFAULT_COMMON_STYLE);\nexport var DEFAULT_IMAGE_ANIMATION_PROPS = {\n style: defaults({\n x: true,\n y: true,\n width: true,\n height: true,\n sx: true,\n sy: true,\n sWidth: true,\n sHeight: true\n }, DEFAULT_COMMON_ANIMATION_PROPS.style)\n};\nfunction isImageLike(source) {\n return !!(source\n && typeof source !== 'string'\n && source.width && source.height);\n}\nvar ZRImage = (function (_super) {\n __extends(ZRImage, _super);\n function ZRImage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ZRImage.prototype.createStyle = function (obj) {\n return createObject(DEFAULT_IMAGE_STYLE, obj);\n };\n ZRImage.prototype._getSize = function (dim) {\n var style = this.style;\n var size = style[dim];\n if (size != null) {\n return size;\n }\n var imageSource = isImageLike(style.image)\n ? style.image : this.__image;\n if (!imageSource) {\n return 0;\n }\n var otherDim = dim === 'width' ? 'height' : 'width';\n var otherDimSize = style[otherDim];\n if (otherDimSize == null) {\n return imageSource[dim];\n }\n else {\n return imageSource[dim] / imageSource[otherDim] * otherDimSize;\n }\n };\n ZRImage.prototype.getWidth = function () {\n return this._getSize('width');\n };\n ZRImage.prototype.getHeight = function () {\n return this._getSize('height');\n };\n ZRImage.prototype.getAnimationStyleProps = function () {\n return DEFAULT_IMAGE_ANIMATION_PROPS;\n };\n ZRImage.prototype.getBoundingRect = function () {\n var style = this.style;\n if (!this._rect) {\n this._rect = new BoundingRect(style.x || 0, style.y || 0, this.getWidth(), this.getHeight());\n }\n return this._rect;\n };\n return ZRImage;\n}(Displayable));\nZRImage.prototype.type = 'image';\nexport default ZRImage;\n","export function buildPath(ctx, shape) {\n var x = shape.x;\n var y = shape.y;\n var width = shape.width;\n var height = shape.height;\n var r = shape.r;\n var r1;\n var r2;\n var r3;\n var r4;\n if (width < 0) {\n x = x + width;\n width = -width;\n }\n if (height < 0) {\n y = y + height;\n height = -height;\n }\n if (typeof r === 'number') {\n r1 = r2 = r3 = r4 = r;\n }\n else if (r instanceof Array) {\n if (r.length === 1) {\n r1 = r2 = r3 = r4 = r[0];\n }\n else if (r.length === 2) {\n r1 = r3 = r[0];\n r2 = r4 = r[1];\n }\n else if (r.length === 3) {\n r1 = r[0];\n r2 = r4 = r[1];\n r3 = r[2];\n }\n else {\n r1 = r[0];\n r2 = r[1];\n r3 = r[2];\n r4 = r[3];\n }\n }\n else {\n r1 = r2 = r3 = r4 = 0;\n }\n var total;\n if (r1 + r2 > width) {\n total = r1 + r2;\n r1 *= width / total;\n r2 *= width / total;\n }\n if (r3 + r4 > width) {\n total = r3 + r4;\n r3 *= width / total;\n r4 *= width / total;\n }\n if (r2 + r3 > height) {\n total = r2 + r3;\n r2 *= height / total;\n r3 *= height / total;\n }\n if (r1 + r4 > height) {\n total = r1 + r4;\n r1 *= height / total;\n r4 *= height / total;\n }\n ctx.moveTo(x + r1, y);\n ctx.lineTo(x + width - r2, y);\n r2 !== 0 && ctx.arc(x + width - r2, y + r2, r2, -Math.PI / 2, 0);\n ctx.lineTo(x + width, y + height - r3);\n r3 !== 0 && ctx.arc(x + width - r3, y + height - r3, r3, 0, Math.PI / 2);\n ctx.lineTo(x + r4, y + height);\n r4 !== 0 && ctx.arc(x + r4, y + height - r4, r4, Math.PI / 2, Math.PI);\n ctx.lineTo(x, y + r1);\n r1 !== 0 && ctx.arc(x + r1, y + r1, r1, Math.PI, Math.PI * 1.5);\n}\n","var round = Math.round;\nexport function subPixelOptimizeLine(outputShape, inputShape, style) {\n if (!inputShape) {\n return;\n }\n var x1 = inputShape.x1;\n var x2 = inputShape.x2;\n var y1 = inputShape.y1;\n var y2 = inputShape.y2;\n outputShape.x1 = x1;\n outputShape.x2 = x2;\n outputShape.y1 = y1;\n outputShape.y2 = y2;\n var lineWidth = style && style.lineWidth;\n if (!lineWidth) {\n return outputShape;\n }\n if (round(x1 * 2) === round(x2 * 2)) {\n outputShape.x1 = outputShape.x2 = subPixelOptimize(x1, lineWidth, true);\n }\n if (round(y1 * 2) === round(y2 * 2)) {\n outputShape.y1 = outputShape.y2 = subPixelOptimize(y1, lineWidth, true);\n }\n return outputShape;\n}\nexport function subPixelOptimizeRect(outputShape, inputShape, style) {\n if (!inputShape) {\n return;\n }\n var originX = inputShape.x;\n var originY = inputShape.y;\n var originWidth = inputShape.width;\n var originHeight = inputShape.height;\n outputShape.x = originX;\n outputShape.y = originY;\n outputShape.width = originWidth;\n outputShape.height = originHeight;\n var lineWidth = style && style.lineWidth;\n if (!lineWidth) {\n return outputShape;\n }\n outputShape.x = subPixelOptimize(originX, lineWidth, true);\n outputShape.y = subPixelOptimize(originY, lineWidth, true);\n outputShape.width = Math.max(subPixelOptimize(originX + originWidth, lineWidth, false) - outputShape.x, originWidth === 0 ? 0 : 1);\n outputShape.height = Math.max(subPixelOptimize(originY + originHeight, lineWidth, false) - outputShape.y, originHeight === 0 ? 0 : 1);\n return outputShape;\n}\nexport function subPixelOptimize(position, lineWidth, positiveOrNegative) {\n if (!lineWidth) {\n return position;\n }\n var doubledPosition = round(position * 2);\n return (doubledPosition + round(lineWidth)) % 2 === 0\n ? doubledPosition / 2\n : (doubledPosition + (positiveOrNegative ? 1 : -1)) / 2;\n}\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nimport * as roundRectHelper from '../helper/roundRect.js';\nimport { subPixelOptimizeRect } from '../helper/subPixelOptimize.js';\nvar RectShape = (function () {\n function RectShape() {\n this.x = 0;\n this.y = 0;\n this.width = 0;\n this.height = 0;\n }\n return RectShape;\n}());\nexport { RectShape };\nvar subPixelOptimizeOutputShape = {};\nvar Rect = (function (_super) {\n __extends(Rect, _super);\n function Rect(opts) {\n return _super.call(this, opts) || this;\n }\n Rect.prototype.getDefaultShape = function () {\n return new RectShape();\n };\n Rect.prototype.buildPath = function (ctx, shape) {\n var x;\n var y;\n var width;\n var height;\n if (this.subPixelOptimize) {\n var optimizedShape = subPixelOptimizeRect(subPixelOptimizeOutputShape, shape, this.style);\n x = optimizedShape.x;\n y = optimizedShape.y;\n width = optimizedShape.width;\n height = optimizedShape.height;\n optimizedShape.r = shape.r;\n shape = optimizedShape;\n }\n else {\n x = shape.x;\n y = shape.y;\n width = shape.width;\n height = shape.height;\n }\n if (!shape.r) {\n ctx.rect(x, y, width, height);\n }\n else {\n roundRectHelper.buildPath(ctx, shape);\n }\n };\n Rect.prototype.isZeroArea = function () {\n return !this.shape.width || !this.shape.height;\n };\n return Rect;\n}(Path));\nRect.prototype.type = 'rect';\nexport default Rect;\n","import { __extends } from \"tslib\";\nimport { parseRichText, parsePlainText } from './helper/parseText.js';\nimport TSpan from './TSpan.js';\nimport { retrieve2, each, normalizeCssArray, trim, retrieve3, extend, keys, defaults } from '../core/util.js';\nimport { adjustTextX, adjustTextY } from '../contain/text.js';\nimport ZRImage from './Image.js';\nimport Rect from './shape/Rect.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport Displayable, { DEFAULT_COMMON_ANIMATION_PROPS } from './Displayable.js';\nimport { DEFAULT_FONT, DEFAULT_FONT_SIZE } from '../core/platform.js';\nvar DEFAULT_RICH_TEXT_COLOR = {\n fill: '#000'\n};\nvar DEFAULT_STROKE_LINE_WIDTH = 2;\nexport var DEFAULT_TEXT_ANIMATION_PROPS = {\n style: defaults({\n fill: true,\n stroke: true,\n fillOpacity: true,\n strokeOpacity: true,\n lineWidth: true,\n fontSize: true,\n lineHeight: true,\n width: true,\n height: true,\n textShadowColor: true,\n textShadowBlur: true,\n textShadowOffsetX: true,\n textShadowOffsetY: true,\n backgroundColor: true,\n padding: true,\n borderColor: true,\n borderWidth: true,\n borderRadius: true\n }, DEFAULT_COMMON_ANIMATION_PROPS.style)\n};\nvar ZRText = (function (_super) {\n __extends(ZRText, _super);\n function ZRText(opts) {\n var _this = _super.call(this) || this;\n _this.type = 'text';\n _this._children = [];\n _this._defaultStyle = DEFAULT_RICH_TEXT_COLOR;\n _this.attr(opts);\n return _this;\n }\n ZRText.prototype.childrenRef = function () {\n return this._children;\n };\n ZRText.prototype.update = function () {\n _super.prototype.update.call(this);\n if (this.styleChanged()) {\n this._updateSubTexts();\n }\n for (var i = 0; i < this._children.length; i++) {\n var child = this._children[i];\n child.zlevel = this.zlevel;\n child.z = this.z;\n child.z2 = this.z2;\n child.culling = this.culling;\n child.cursor = this.cursor;\n child.invisible = this.invisible;\n }\n };\n ZRText.prototype.updateTransform = function () {\n var innerTransformable = this.innerTransformable;\n if (innerTransformable) {\n innerTransformable.updateTransform();\n if (innerTransformable.transform) {\n this.transform = innerTransformable.transform;\n }\n }\n else {\n _super.prototype.updateTransform.call(this);\n }\n };\n ZRText.prototype.getLocalTransform = function (m) {\n var innerTransformable = this.innerTransformable;\n return innerTransformable\n ? innerTransformable.getLocalTransform(m)\n : _super.prototype.getLocalTransform.call(this, m);\n };\n ZRText.prototype.getComputedTransform = function () {\n if (this.__hostTarget) {\n this.__hostTarget.getComputedTransform();\n this.__hostTarget.updateInnerText(true);\n }\n return _super.prototype.getComputedTransform.call(this);\n };\n ZRText.prototype._updateSubTexts = function () {\n this._childCursor = 0;\n normalizeTextStyle(this.style);\n this.style.rich\n ? this._updateRichTexts()\n : this._updatePlainTexts();\n this._children.length = this._childCursor;\n this.styleUpdated();\n };\n ZRText.prototype.addSelfToZr = function (zr) {\n _super.prototype.addSelfToZr.call(this, zr);\n for (var i = 0; i < this._children.length; i++) {\n this._children[i].__zr = zr;\n }\n };\n ZRText.prototype.removeSelfFromZr = function (zr) {\n _super.prototype.removeSelfFromZr.call(this, zr);\n for (var i = 0; i < this._children.length; i++) {\n this._children[i].__zr = null;\n }\n };\n ZRText.prototype.getBoundingRect = function () {\n if (this.styleChanged()) {\n this._updateSubTexts();\n }\n if (!this._rect) {\n var tmpRect = new BoundingRect(0, 0, 0, 0);\n var children = this._children;\n var tmpMat = [];\n var rect = null;\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n var childRect = child.getBoundingRect();\n var transform = child.getLocalTransform(tmpMat);\n if (transform) {\n tmpRect.copy(childRect);\n tmpRect.applyTransform(transform);\n rect = rect || tmpRect.clone();\n rect.union(tmpRect);\n }\n else {\n rect = rect || childRect.clone();\n rect.union(childRect);\n }\n }\n this._rect = rect || tmpRect;\n }\n return this._rect;\n };\n ZRText.prototype.setDefaultTextStyle = function (defaultTextStyle) {\n this._defaultStyle = defaultTextStyle || DEFAULT_RICH_TEXT_COLOR;\n };\n ZRText.prototype.setTextContent = function (textContent) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('Can\\'t attach text on another text');\n }\n };\n ZRText.prototype._mergeStyle = function (targetStyle, sourceStyle) {\n if (!sourceStyle) {\n return targetStyle;\n }\n var sourceRich = sourceStyle.rich;\n var targetRich = targetStyle.rich || (sourceRich && {});\n extend(targetStyle, sourceStyle);\n if (sourceRich && targetRich) {\n this._mergeRich(targetRich, sourceRich);\n targetStyle.rich = targetRich;\n }\n else if (targetRich) {\n targetStyle.rich = targetRich;\n }\n return targetStyle;\n };\n ZRText.prototype._mergeRich = function (targetRich, sourceRich) {\n var richNames = keys(sourceRich);\n for (var i = 0; i < richNames.length; i++) {\n var richName = richNames[i];\n targetRich[richName] = targetRich[richName] || {};\n extend(targetRich[richName], sourceRich[richName]);\n }\n };\n ZRText.prototype.getAnimationStyleProps = function () {\n return DEFAULT_TEXT_ANIMATION_PROPS;\n };\n ZRText.prototype._getOrCreateChild = function (Ctor) {\n var child = this._children[this._childCursor];\n if (!child || !(child instanceof Ctor)) {\n child = new Ctor();\n }\n this._children[this._childCursor++] = child;\n child.__zr = this.__zr;\n child.parent = this;\n return child;\n };\n ZRText.prototype._updatePlainTexts = function () {\n var style = this.style;\n var textFont = style.font || DEFAULT_FONT;\n var textPadding = style.padding;\n var text = getStyleText(style);\n var contentBlock = parsePlainText(text, style);\n var needDrawBg = needDrawBackground(style);\n var bgColorDrawn = !!(style.backgroundColor);\n var outerHeight = contentBlock.outerHeight;\n var outerWidth = contentBlock.outerWidth;\n var contentWidth = contentBlock.contentWidth;\n var textLines = contentBlock.lines;\n var lineHeight = contentBlock.lineHeight;\n var defaultStyle = this._defaultStyle;\n var baseX = style.x || 0;\n var baseY = style.y || 0;\n var textAlign = style.align || defaultStyle.align || 'left';\n var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign || 'top';\n var textX = baseX;\n var textY = adjustTextY(baseY, contentBlock.contentHeight, verticalAlign);\n if (needDrawBg || textPadding) {\n var boxX = adjustTextX(baseX, outerWidth, textAlign);\n var boxY = adjustTextY(baseY, outerHeight, verticalAlign);\n needDrawBg && this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n }\n textY += lineHeight / 2;\n if (textPadding) {\n textX = getTextXForPadding(baseX, textAlign, textPadding);\n if (verticalAlign === 'top') {\n textY += textPadding[0];\n }\n else if (verticalAlign === 'bottom') {\n textY -= textPadding[2];\n }\n }\n var defaultLineWidth = 0;\n var useDefaultFill = false;\n var textFill = getFill('fill' in style\n ? style.fill\n : (useDefaultFill = true, defaultStyle.fill));\n var textStroke = getStroke('stroke' in style\n ? style.stroke\n : (!bgColorDrawn\n && (!defaultStyle.autoStroke || useDefaultFill))\n ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke)\n : null);\n var hasShadow = style.textShadowBlur > 0;\n var fixedBoundingRect = style.width != null\n && (style.overflow === 'truncate' || style.overflow === 'break' || style.overflow === 'breakAll');\n var calculatedLineHeight = contentBlock.calculatedLineHeight;\n for (var i = 0; i < textLines.length; i++) {\n var el = this._getOrCreateChild(TSpan);\n var subElStyle = el.createStyle();\n el.useStyle(subElStyle);\n subElStyle.text = textLines[i];\n subElStyle.x = textX;\n subElStyle.y = textY;\n if (textAlign) {\n subElStyle.textAlign = textAlign;\n }\n subElStyle.textBaseline = 'middle';\n subElStyle.opacity = style.opacity;\n subElStyle.strokeFirst = true;\n if (hasShadow) {\n subElStyle.shadowBlur = style.textShadowBlur || 0;\n subElStyle.shadowColor = style.textShadowColor || 'transparent';\n subElStyle.shadowOffsetX = style.textShadowOffsetX || 0;\n subElStyle.shadowOffsetY = style.textShadowOffsetY || 0;\n }\n subElStyle.stroke = textStroke;\n subElStyle.fill = textFill;\n if (textStroke) {\n subElStyle.lineWidth = style.lineWidth || defaultLineWidth;\n subElStyle.lineDash = style.lineDash;\n subElStyle.lineDashOffset = style.lineDashOffset || 0;\n }\n subElStyle.font = textFont;\n setSeparateFont(subElStyle, style);\n textY += lineHeight;\n if (fixedBoundingRect) {\n el.setBoundingRect(new BoundingRect(adjustTextX(subElStyle.x, style.width, subElStyle.textAlign), adjustTextY(subElStyle.y, calculatedLineHeight, subElStyle.textBaseline), contentWidth, calculatedLineHeight));\n }\n }\n };\n ZRText.prototype._updateRichTexts = function () {\n var style = this.style;\n var text = getStyleText(style);\n var contentBlock = parseRichText(text, style);\n var contentWidth = contentBlock.width;\n var outerWidth = contentBlock.outerWidth;\n var outerHeight = contentBlock.outerHeight;\n var textPadding = style.padding;\n var baseX = style.x || 0;\n var baseY = style.y || 0;\n var defaultStyle = this._defaultStyle;\n var textAlign = style.align || defaultStyle.align;\n var verticalAlign = style.verticalAlign || defaultStyle.verticalAlign;\n var boxX = adjustTextX(baseX, outerWidth, textAlign);\n var boxY = adjustTextY(baseY, outerHeight, verticalAlign);\n var xLeft = boxX;\n var lineTop = boxY;\n if (textPadding) {\n xLeft += textPadding[3];\n lineTop += textPadding[0];\n }\n var xRight = xLeft + contentWidth;\n if (needDrawBackground(style)) {\n this._renderBackground(style, style, boxX, boxY, outerWidth, outerHeight);\n }\n var bgColorDrawn = !!(style.backgroundColor);\n for (var i = 0; i < contentBlock.lines.length; i++) {\n var line = contentBlock.lines[i];\n var tokens = line.tokens;\n var tokenCount = tokens.length;\n var lineHeight = line.lineHeight;\n var remainedWidth = line.width;\n var leftIndex = 0;\n var lineXLeft = xLeft;\n var lineXRight = xRight;\n var rightIndex = tokenCount - 1;\n var token = void 0;\n while (leftIndex < tokenCount\n && (token = tokens[leftIndex], !token.align || token.align === 'left')) {\n this._placeToken(token, style, lineHeight, lineTop, lineXLeft, 'left', bgColorDrawn);\n remainedWidth -= token.width;\n lineXLeft += token.width;\n leftIndex++;\n }\n while (rightIndex >= 0\n && (token = tokens[rightIndex], token.align === 'right')) {\n this._placeToken(token, style, lineHeight, lineTop, lineXRight, 'right', bgColorDrawn);\n remainedWidth -= token.width;\n lineXRight -= token.width;\n rightIndex--;\n }\n lineXLeft += (contentWidth - (lineXLeft - xLeft) - (xRight - lineXRight) - remainedWidth) / 2;\n while (leftIndex <= rightIndex) {\n token = tokens[leftIndex];\n this._placeToken(token, style, lineHeight, lineTop, lineXLeft + token.width / 2, 'center', bgColorDrawn);\n lineXLeft += token.width;\n leftIndex++;\n }\n lineTop += lineHeight;\n }\n };\n ZRText.prototype._placeToken = function (token, style, lineHeight, lineTop, x, textAlign, parentBgColorDrawn) {\n var tokenStyle = style.rich[token.styleName] || {};\n tokenStyle.text = token.text;\n var verticalAlign = token.verticalAlign;\n var y = lineTop + lineHeight / 2;\n if (verticalAlign === 'top') {\n y = lineTop + token.height / 2;\n }\n else if (verticalAlign === 'bottom') {\n y = lineTop + lineHeight - token.height / 2;\n }\n var needDrawBg = !token.isLineHolder && needDrawBackground(tokenStyle);\n needDrawBg && this._renderBackground(tokenStyle, style, textAlign === 'right'\n ? x - token.width\n : textAlign === 'center'\n ? x - token.width / 2\n : x, y - token.height / 2, token.width, token.height);\n var bgColorDrawn = !!tokenStyle.backgroundColor;\n var textPadding = token.textPadding;\n if (textPadding) {\n x = getTextXForPadding(x, textAlign, textPadding);\n y -= token.height / 2 - textPadding[0] - token.innerHeight / 2;\n }\n var el = this._getOrCreateChild(TSpan);\n var subElStyle = el.createStyle();\n el.useStyle(subElStyle);\n var defaultStyle = this._defaultStyle;\n var useDefaultFill = false;\n var defaultLineWidth = 0;\n var textFill = getFill('fill' in tokenStyle ? tokenStyle.fill\n : 'fill' in style ? style.fill\n : (useDefaultFill = true, defaultStyle.fill));\n var textStroke = getStroke('stroke' in tokenStyle ? tokenStyle.stroke\n : 'stroke' in style ? style.stroke\n : (!bgColorDrawn\n && !parentBgColorDrawn\n && (!defaultStyle.autoStroke || useDefaultFill)) ? (defaultLineWidth = DEFAULT_STROKE_LINE_WIDTH, defaultStyle.stroke)\n : null);\n var hasShadow = tokenStyle.textShadowBlur > 0\n || style.textShadowBlur > 0;\n subElStyle.text = token.text;\n subElStyle.x = x;\n subElStyle.y = y;\n if (hasShadow) {\n subElStyle.shadowBlur = tokenStyle.textShadowBlur || style.textShadowBlur || 0;\n subElStyle.shadowColor = tokenStyle.textShadowColor || style.textShadowColor || 'transparent';\n subElStyle.shadowOffsetX = tokenStyle.textShadowOffsetX || style.textShadowOffsetX || 0;\n subElStyle.shadowOffsetY = tokenStyle.textShadowOffsetY || style.textShadowOffsetY || 0;\n }\n subElStyle.textAlign = textAlign;\n subElStyle.textBaseline = 'middle';\n subElStyle.font = token.font || DEFAULT_FONT;\n subElStyle.opacity = retrieve3(tokenStyle.opacity, style.opacity, 1);\n setSeparateFont(subElStyle, tokenStyle);\n if (textStroke) {\n subElStyle.lineWidth = retrieve3(tokenStyle.lineWidth, style.lineWidth, defaultLineWidth);\n subElStyle.lineDash = retrieve2(tokenStyle.lineDash, style.lineDash);\n subElStyle.lineDashOffset = style.lineDashOffset || 0;\n subElStyle.stroke = textStroke;\n }\n if (textFill) {\n subElStyle.fill = textFill;\n }\n var textWidth = token.contentWidth;\n var textHeight = token.contentHeight;\n el.setBoundingRect(new BoundingRect(adjustTextX(subElStyle.x, textWidth, subElStyle.textAlign), adjustTextY(subElStyle.y, textHeight, subElStyle.textBaseline), textWidth, textHeight));\n };\n ZRText.prototype._renderBackground = function (style, topStyle, x, y, width, height) {\n var textBackgroundColor = style.backgroundColor;\n var textBorderWidth = style.borderWidth;\n var textBorderColor = style.borderColor;\n var isImageBg = textBackgroundColor && textBackgroundColor.image;\n var isPlainOrGradientBg = textBackgroundColor && !isImageBg;\n var textBorderRadius = style.borderRadius;\n var self = this;\n var rectEl;\n var imgEl;\n if (isPlainOrGradientBg || style.lineHeight || (textBorderWidth && textBorderColor)) {\n rectEl = this._getOrCreateChild(Rect);\n rectEl.useStyle(rectEl.createStyle());\n rectEl.style.fill = null;\n var rectShape = rectEl.shape;\n rectShape.x = x;\n rectShape.y = y;\n rectShape.width = width;\n rectShape.height = height;\n rectShape.r = textBorderRadius;\n rectEl.dirtyShape();\n }\n if (isPlainOrGradientBg) {\n var rectStyle = rectEl.style;\n rectStyle.fill = textBackgroundColor || null;\n rectStyle.fillOpacity = retrieve2(style.fillOpacity, 1);\n }\n else if (isImageBg) {\n imgEl = this._getOrCreateChild(ZRImage);\n imgEl.onload = function () {\n self.dirtyStyle();\n };\n var imgStyle = imgEl.style;\n imgStyle.image = textBackgroundColor.image;\n imgStyle.x = x;\n imgStyle.y = y;\n imgStyle.width = width;\n imgStyle.height = height;\n }\n if (textBorderWidth && textBorderColor) {\n var rectStyle = rectEl.style;\n rectStyle.lineWidth = textBorderWidth;\n rectStyle.stroke = textBorderColor;\n rectStyle.strokeOpacity = retrieve2(style.strokeOpacity, 1);\n rectStyle.lineDash = style.borderDash;\n rectStyle.lineDashOffset = style.borderDashOffset || 0;\n rectEl.strokeContainThreshold = 0;\n if (rectEl.hasFill() && rectEl.hasStroke()) {\n rectStyle.strokeFirst = true;\n rectStyle.lineWidth *= 2;\n }\n }\n var commonStyle = (rectEl || imgEl).style;\n commonStyle.shadowBlur = style.shadowBlur || 0;\n commonStyle.shadowColor = style.shadowColor || 'transparent';\n commonStyle.shadowOffsetX = style.shadowOffsetX || 0;\n commonStyle.shadowOffsetY = style.shadowOffsetY || 0;\n commonStyle.opacity = retrieve3(style.opacity, topStyle.opacity, 1);\n };\n ZRText.makeFont = function (style) {\n var font = '';\n if (hasSeparateFont(style)) {\n font = [\n style.fontStyle,\n style.fontWeight,\n parseFontSize(style.fontSize),\n style.fontFamily || 'sans-serif'\n ].join(' ');\n }\n return font && trim(font) || style.textFont || style.font;\n };\n return ZRText;\n}(Displayable));\nvar VALID_TEXT_ALIGN = { left: true, right: 1, center: 1 };\nvar VALID_TEXT_VERTICAL_ALIGN = { top: 1, bottom: 1, middle: 1 };\nvar FONT_PARTS = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily'];\nexport function parseFontSize(fontSize) {\n if (typeof fontSize === 'string'\n && (fontSize.indexOf('px') !== -1\n || fontSize.indexOf('rem') !== -1\n || fontSize.indexOf('em') !== -1)) {\n return fontSize;\n }\n else if (!isNaN(+fontSize)) {\n return fontSize + 'px';\n }\n else {\n return DEFAULT_FONT_SIZE + 'px';\n }\n}\nfunction setSeparateFont(targetStyle, sourceStyle) {\n for (var i = 0; i < FONT_PARTS.length; i++) {\n var fontProp = FONT_PARTS[i];\n var val = sourceStyle[fontProp];\n if (val != null) {\n targetStyle[fontProp] = val;\n }\n }\n}\nexport function hasSeparateFont(style) {\n return style.fontSize != null || style.fontFamily || style.fontWeight;\n}\nexport function normalizeTextStyle(style) {\n normalizeStyle(style);\n each(style.rich, normalizeStyle);\n return style;\n}\nfunction normalizeStyle(style) {\n if (style) {\n style.font = ZRText.makeFont(style);\n var textAlign = style.align;\n textAlign === 'middle' && (textAlign = 'center');\n style.align = (textAlign == null || VALID_TEXT_ALIGN[textAlign]) ? textAlign : 'left';\n var verticalAlign = style.verticalAlign;\n verticalAlign === 'center' && (verticalAlign = 'middle');\n style.verticalAlign = (verticalAlign == null || VALID_TEXT_VERTICAL_ALIGN[verticalAlign]) ? verticalAlign : 'top';\n var textPadding = style.padding;\n if (textPadding) {\n style.padding = normalizeCssArray(style.padding);\n }\n }\n}\nfunction getStroke(stroke, lineWidth) {\n return (stroke == null || lineWidth <= 0 || stroke === 'transparent' || stroke === 'none')\n ? null\n : (stroke.image || stroke.colorStops)\n ? '#000'\n : stroke;\n}\nfunction getFill(fill) {\n return (fill == null || fill === 'none')\n ? null\n : (fill.image || fill.colorStops)\n ? '#000'\n : fill;\n}\nfunction getTextXForPadding(x, textAlign, textPadding) {\n return textAlign === 'right'\n ? (x - textPadding[1])\n : textAlign === 'center'\n ? (x + textPadding[3] / 2 - textPadding[1] / 2)\n : (x + textPadding[3]);\n}\nfunction getStyleText(style) {\n var text = style.text;\n text != null && (text += '');\n return text;\n}\nfunction needDrawBackground(style) {\n return !!(style.backgroundColor\n || style.lineHeight\n || (style.borderWidth && style.borderColor));\n}\nexport default ZRText;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { makeInner } from './model.js';\nexport var getECData = makeInner();\nexport var setCommonECData = function (seriesIndex, dataType, dataIdx, el) {\n if (el) {\n var ecData = getECData(el); // Add data index and series index for indexing the data by element\n // Useful in tooltip\n\n ecData.dataIndex = dataIdx;\n ecData.dataType = dataType;\n ecData.seriesIndex = seriesIndex; // TODO: not store dataIndex on children.\n\n if (el.type === 'group') {\n el.traverse(function (child) {\n var childECData = getECData(child);\n childECData.seriesIndex = seriesIndex;\n childECData.dataIndex = dataIdx;\n childECData.dataType = dataType;\n });\n }\n }\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport LRU from 'zrender/lib/core/LRU.js';\nimport { extend, indexOf, isArrayLike, isObject, keys, isArray, each, isString, isGradientObject, map } from 'zrender/lib/core/util.js';\nimport { getECData } from './innerStore.js';\nimport * as colorTool from 'zrender/lib/tool/color.js';\nimport { queryDataIndex, makeInner } from './model.js';\nimport Path from 'zrender/lib/graphic/Path.js';\nimport { error } from './log.js'; // Reserve 0 as default.\n\nvar _highlightNextDigit = 1;\nvar _highlightKeyMap = {};\nvar getSavedStates = makeInner();\nvar getComponentStates = makeInner();\nexport var HOVER_STATE_NORMAL = 0;\nexport var HOVER_STATE_BLUR = 1;\nexport var HOVER_STATE_EMPHASIS = 2;\nexport var SPECIAL_STATES = ['emphasis', 'blur', 'select'];\nexport var DISPLAY_STATES = ['normal', 'emphasis', 'blur', 'select'];\nexport var Z2_EMPHASIS_LIFT = 10;\nexport var Z2_SELECT_LIFT = 9;\nexport var HIGHLIGHT_ACTION_TYPE = 'highlight';\nexport var DOWNPLAY_ACTION_TYPE = 'downplay';\nexport var SELECT_ACTION_TYPE = 'select';\nexport var UNSELECT_ACTION_TYPE = 'unselect';\nexport var TOGGLE_SELECT_ACTION_TYPE = 'toggleSelect';\n\nfunction hasFillOrStroke(fillOrStroke) {\n return fillOrStroke != null && fillOrStroke !== 'none';\n} // Most lifted color are duplicated.\n\n\nvar liftedColorCache = new LRU(100);\n\nfunction liftColor(color) {\n if (isString(color)) {\n var liftedColor = liftedColorCache.get(color);\n\n if (!liftedColor) {\n liftedColor = colorTool.lift(color, -0.1);\n liftedColorCache.put(color, liftedColor);\n }\n\n return liftedColor;\n } else if (isGradientObject(color)) {\n var ret = extend({}, color);\n ret.colorStops = map(color.colorStops, function (stop) {\n return {\n offset: stop.offset,\n color: colorTool.lift(stop.color, -0.1)\n };\n });\n return ret;\n } // Change nothing.\n\n\n return color;\n}\n\nfunction doChangeHoverState(el, stateName, hoverStateEnum) {\n if (el.onHoverStateChange && (el.hoverState || 0) !== hoverStateEnum) {\n el.onHoverStateChange(stateName);\n }\n\n el.hoverState = hoverStateEnum;\n}\n\nfunction singleEnterEmphasis(el) {\n // Only mark the flag.\n // States will be applied in the echarts.ts in next frame.\n doChangeHoverState(el, 'emphasis', HOVER_STATE_EMPHASIS);\n}\n\nfunction singleLeaveEmphasis(el) {\n // Only mark the flag.\n // States will be applied in the echarts.ts in next frame.\n if (el.hoverState === HOVER_STATE_EMPHASIS) {\n doChangeHoverState(el, 'normal', HOVER_STATE_NORMAL);\n }\n}\n\nfunction singleEnterBlur(el) {\n doChangeHoverState(el, 'blur', HOVER_STATE_BLUR);\n}\n\nfunction singleLeaveBlur(el) {\n if (el.hoverState === HOVER_STATE_BLUR) {\n doChangeHoverState(el, 'normal', HOVER_STATE_NORMAL);\n }\n}\n\nfunction singleEnterSelect(el) {\n el.selected = true;\n}\n\nfunction singleLeaveSelect(el) {\n el.selected = false;\n}\n\nfunction updateElementState(el, updater, commonParam) {\n updater(el, commonParam);\n}\n\nfunction traverseUpdateState(el, updater, commonParam) {\n updateElementState(el, updater, commonParam);\n el.isGroup && el.traverse(function (child) {\n updateElementState(child, updater, commonParam);\n });\n}\n\nexport function setStatesFlag(el, stateName) {\n switch (stateName) {\n case 'emphasis':\n el.hoverState = HOVER_STATE_EMPHASIS;\n break;\n\n case 'normal':\n el.hoverState = HOVER_STATE_NORMAL;\n break;\n\n case 'blur':\n el.hoverState = HOVER_STATE_BLUR;\n break;\n\n case 'select':\n el.selected = true;\n }\n}\n/**\r\n * If we reuse elements when rerender.\r\n * DON'T forget to clearStates before we update the style and shape.\r\n * Or we may update on the wrong state instead of normal state.\r\n */\n\nexport function clearStates(el) {\n if (el.isGroup) {\n el.traverse(function (child) {\n child.clearStates();\n });\n } else {\n el.clearStates();\n }\n}\n\nfunction getFromStateStyle(el, props, toStateName, defaultValue) {\n var style = el.style;\n var fromState = {};\n\n for (var i = 0; i < props.length; i++) {\n var propName = props[i];\n var val = style[propName];\n fromState[propName] = val == null ? defaultValue && defaultValue[propName] : val;\n }\n\n for (var i = 0; i < el.animators.length; i++) {\n var animator = el.animators[i];\n\n if (animator.__fromStateTransition // Don't consider the animation to emphasis state.\n && animator.__fromStateTransition.indexOf(toStateName) < 0 && animator.targetName === 'style') {\n animator.saveTo(fromState, props);\n }\n }\n\n return fromState;\n}\n\nfunction createEmphasisDefaultState(el, stateName, targetStates, state) {\n var hasSelect = targetStates && indexOf(targetStates, 'select') >= 0;\n var cloned = false;\n\n if (el instanceof Path) {\n var store = getSavedStates(el);\n var fromFill = hasSelect ? store.selectFill || store.normalFill : store.normalFill;\n var fromStroke = hasSelect ? store.selectStroke || store.normalStroke : store.normalStroke;\n\n if (hasFillOrStroke(fromFill) || hasFillOrStroke(fromStroke)) {\n state = state || {};\n var emphasisStyle = state.style || {}; // inherit case\n\n if (emphasisStyle.fill === 'inherit') {\n cloned = true;\n state = extend({}, state);\n emphasisStyle = extend({}, emphasisStyle);\n emphasisStyle.fill = fromFill;\n } // Apply default color lift\n else if (!hasFillOrStroke(emphasisStyle.fill) && hasFillOrStroke(fromFill)) {\n cloned = true; // Not modify the original value.\n\n state = extend({}, state);\n emphasisStyle = extend({}, emphasisStyle); // Already being applied 'emphasis'. DON'T lift color multiple times.\n\n emphasisStyle.fill = liftColor(fromFill);\n } // Not highlight stroke if fill has been highlighted.\n else if (!hasFillOrStroke(emphasisStyle.stroke) && hasFillOrStroke(fromStroke)) {\n if (!cloned) {\n state = extend({}, state);\n emphasisStyle = extend({}, emphasisStyle);\n }\n\n emphasisStyle.stroke = liftColor(fromStroke);\n }\n\n state.style = emphasisStyle;\n }\n }\n\n if (state) {\n // TODO Share with textContent?\n if (state.z2 == null) {\n if (!cloned) {\n state = extend({}, state);\n }\n\n var z2EmphasisLift = el.z2EmphasisLift;\n state.z2 = el.z2 + (z2EmphasisLift != null ? z2EmphasisLift : Z2_EMPHASIS_LIFT);\n }\n }\n\n return state;\n}\n\nfunction createSelectDefaultState(el, stateName, state) {\n // const hasSelect = indexOf(el.currentStates, stateName) >= 0;\n if (state) {\n // TODO Share with textContent?\n if (state.z2 == null) {\n state = extend({}, state);\n var z2SelectLift = el.z2SelectLift;\n state.z2 = el.z2 + (z2SelectLift != null ? z2SelectLift : Z2_SELECT_LIFT);\n }\n }\n\n return state;\n}\n\nfunction createBlurDefaultState(el, stateName, state) {\n var hasBlur = indexOf(el.currentStates, stateName) >= 0;\n var currentOpacity = el.style.opacity;\n var fromState = !hasBlur ? getFromStateStyle(el, ['opacity'], stateName, {\n opacity: 1\n }) : null;\n state = state || {};\n var blurStyle = state.style || {};\n\n if (blurStyle.opacity == null) {\n // clone state\n state = extend({}, state);\n blurStyle = extend({\n // Already being applied 'emphasis'. DON'T mul opacity multiple times.\n opacity: hasBlur ? currentOpacity : fromState.opacity * 0.1\n }, blurStyle);\n state.style = blurStyle;\n }\n\n return state;\n}\n\nfunction elementStateProxy(stateName, targetStates) {\n var state = this.states[stateName];\n\n if (this.style) {\n if (stateName === 'emphasis') {\n return createEmphasisDefaultState(this, stateName, targetStates, state);\n } else if (stateName === 'blur') {\n return createBlurDefaultState(this, stateName, state);\n } else if (stateName === 'select') {\n return createSelectDefaultState(this, stateName, state);\n }\n }\n\n return state;\n}\n/**\r\n * Set hover style (namely \"emphasis style\") of element.\r\n * @param el Should not be `zrender/graphic/Group`.\r\n * @param focus 'self' | 'selfInSeries' | 'series'\r\n */\n\n\nexport function setDefaultStateProxy(el) {\n el.stateProxy = elementStateProxy;\n var textContent = el.getTextContent();\n var textGuide = el.getTextGuideLine();\n\n if (textContent) {\n textContent.stateProxy = elementStateProxy;\n }\n\n if (textGuide) {\n textGuide.stateProxy = elementStateProxy;\n }\n}\nexport function enterEmphasisWhenMouseOver(el, e) {\n !shouldSilent(el, e) // \"emphasis\" event highlight has higher priority than mouse highlight.\n && !el.__highByOuter && traverseUpdateState(el, singleEnterEmphasis);\n}\nexport function leaveEmphasisWhenMouseOut(el, e) {\n !shouldSilent(el, e) // \"emphasis\" event highlight has higher priority than mouse highlight.\n && !el.__highByOuter && traverseUpdateState(el, singleLeaveEmphasis);\n}\nexport function enterEmphasis(el, highlightDigit) {\n el.__highByOuter |= 1 << (highlightDigit || 0);\n traverseUpdateState(el, singleEnterEmphasis);\n}\nexport function leaveEmphasis(el, highlightDigit) {\n !(el.__highByOuter &= ~(1 << (highlightDigit || 0))) && traverseUpdateState(el, singleLeaveEmphasis);\n}\nexport function enterBlur(el) {\n traverseUpdateState(el, singleEnterBlur);\n}\nexport function leaveBlur(el) {\n traverseUpdateState(el, singleLeaveBlur);\n}\nexport function enterSelect(el) {\n traverseUpdateState(el, singleEnterSelect);\n}\nexport function leaveSelect(el) {\n traverseUpdateState(el, singleLeaveSelect);\n}\n\nfunction shouldSilent(el, e) {\n return el.__highDownSilentOnTouch && e.zrByTouch;\n}\n\nexport function allLeaveBlur(api) {\n var model = api.getModel();\n var leaveBlurredSeries = [];\n var allComponentViews = [];\n model.eachComponent(function (componentType, componentModel) {\n var componentStates = getComponentStates(componentModel);\n var isSeries = componentType === 'series';\n var view = isSeries ? api.getViewOfSeriesModel(componentModel) : api.getViewOfComponentModel(componentModel);\n !isSeries && allComponentViews.push(view);\n\n if (componentStates.isBlured) {\n // Leave blur anyway\n view.group.traverse(function (child) {\n singleLeaveBlur(child);\n });\n isSeries && leaveBlurredSeries.push(componentModel);\n }\n\n componentStates.isBlured = false;\n });\n each(allComponentViews, function (view) {\n if (view && view.toggleBlurSeries) {\n view.toggleBlurSeries(leaveBlurredSeries, false, model);\n }\n });\n}\nexport function blurSeries(targetSeriesIndex, focus, blurScope, api) {\n var ecModel = api.getModel();\n blurScope = blurScope || 'coordinateSystem';\n\n function leaveBlurOfIndices(data, dataIndices) {\n for (var i = 0; i < dataIndices.length; i++) {\n var itemEl = data.getItemGraphicEl(dataIndices[i]);\n itemEl && leaveBlur(itemEl);\n }\n }\n\n if (targetSeriesIndex == null) {\n return;\n }\n\n if (!focus || focus === 'none') {\n return;\n }\n\n var targetSeriesModel = ecModel.getSeriesByIndex(targetSeriesIndex);\n var targetCoordSys = targetSeriesModel.coordinateSystem;\n\n if (targetCoordSys && targetCoordSys.master) {\n targetCoordSys = targetCoordSys.master;\n }\n\n var blurredSeries = [];\n ecModel.eachSeries(function (seriesModel) {\n var sameSeries = targetSeriesModel === seriesModel;\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys && coordSys.master) {\n coordSys = coordSys.master;\n }\n\n var sameCoordSys = coordSys && targetCoordSys ? coordSys === targetCoordSys : sameSeries; // If there is no coordinate system. use sameSeries instead.\n\n if (!( // Not blur other series if blurScope series\n blurScope === 'series' && !sameSeries // Not blur other coordinate system if blurScope is coordinateSystem\n || blurScope === 'coordinateSystem' && !sameCoordSys // Not blur self series if focus is series.\n || focus === 'series' && sameSeries // TODO blurScope: coordinate system\n )) {\n var view = api.getViewOfSeriesModel(seriesModel);\n view.group.traverse(function (child) {\n // For the elements that have been triggered by other components,\n // and are still required to be highlighted,\n // because the current is directly forced to blur the element,\n // it will cause the focus self to be unable to highlight, so skip the blur of this element.\n if (child.__highByOuter && sameSeries && focus === 'self') {\n return;\n }\n\n singleEnterBlur(child);\n });\n\n if (isArrayLike(focus)) {\n leaveBlurOfIndices(seriesModel.getData(), focus);\n } else if (isObject(focus)) {\n var dataTypes = keys(focus);\n\n for (var d = 0; d < dataTypes.length; d++) {\n leaveBlurOfIndices(seriesModel.getData(dataTypes[d]), focus[dataTypes[d]]);\n }\n }\n\n blurredSeries.push(seriesModel);\n getComponentStates(seriesModel).isBlured = true;\n }\n });\n ecModel.eachComponent(function (componentType, componentModel) {\n if (componentType === 'series') {\n return;\n }\n\n var view = api.getViewOfComponentModel(componentModel);\n\n if (view && view.toggleBlurSeries) {\n view.toggleBlurSeries(blurredSeries, true, ecModel);\n }\n });\n}\nexport function blurComponent(componentMainType, componentIndex, api) {\n if (componentMainType == null || componentIndex == null) {\n return;\n }\n\n var componentModel = api.getModel().getComponent(componentMainType, componentIndex);\n\n if (!componentModel) {\n return;\n }\n\n getComponentStates(componentModel).isBlured = true;\n var view = api.getViewOfComponentModel(componentModel);\n\n if (!view || !view.focusBlurEnabled) {\n return;\n }\n\n view.group.traverse(function (child) {\n singleEnterBlur(child);\n });\n}\nexport function blurSeriesFromHighlightPayload(seriesModel, payload, api) {\n var seriesIndex = seriesModel.seriesIndex;\n var data = seriesModel.getData(payload.dataType);\n\n if (!data) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Unknown dataType \" + payload.dataType);\n }\n\n return;\n }\n\n var dataIndex = queryDataIndex(data, payload); // Pick the first one if there is multiple/none exists.\n\n dataIndex = (isArray(dataIndex) ? dataIndex[0] : dataIndex) || 0;\n var el = data.getItemGraphicEl(dataIndex);\n\n if (!el) {\n var count = data.count();\n var current = 0; // If data on dataIndex is NaN.\n\n while (!el && current < count) {\n el = data.getItemGraphicEl(current++);\n }\n }\n\n if (el) {\n var ecData = getECData(el);\n blurSeries(seriesIndex, ecData.focus, ecData.blurScope, api);\n } else {\n // If there is no element put on the data. Try getting it from raw option\n // TODO Should put it on seriesModel?\n var focus_1 = seriesModel.get(['emphasis', 'focus']);\n var blurScope = seriesModel.get(['emphasis', 'blurScope']);\n\n if (focus_1 != null) {\n blurSeries(seriesIndex, focus_1, blurScope, api);\n }\n }\n}\nexport function findComponentHighDownDispatchers(componentMainType, componentIndex, name, api) {\n var ret = {\n focusSelf: false,\n dispatchers: null\n };\n\n if (componentMainType == null || componentMainType === 'series' || componentIndex == null || name == null) {\n return ret;\n }\n\n var componentModel = api.getModel().getComponent(componentMainType, componentIndex);\n\n if (!componentModel) {\n return ret;\n }\n\n var view = api.getViewOfComponentModel(componentModel);\n\n if (!view || !view.findHighDownDispatchers) {\n return ret;\n }\n\n var dispatchers = view.findHighDownDispatchers(name); // At presnet, the component (like Geo) only blur inside itself.\n // So we do not use `blurScope` in component.\n\n var focusSelf;\n\n for (var i = 0; i < dispatchers.length; i++) {\n if (process.env.NODE_ENV !== 'production' && !isHighDownDispatcher(dispatchers[i])) {\n error('param should be highDownDispatcher');\n }\n\n if (getECData(dispatchers[i]).focus === 'self') {\n focusSelf = true;\n break;\n }\n }\n\n return {\n focusSelf: focusSelf,\n dispatchers: dispatchers\n };\n}\nexport function handleGlobalMouseOverForHighDown(dispatcher, e, api) {\n if (process.env.NODE_ENV !== 'production' && !isHighDownDispatcher(dispatcher)) {\n error('param should be highDownDispatcher');\n }\n\n var ecData = getECData(dispatcher);\n\n var _a = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api),\n dispatchers = _a.dispatchers,\n focusSelf = _a.focusSelf; // If `findHighDownDispatchers` is supported on the component,\n // highlight/downplay elements with the same name.\n\n\n if (dispatchers) {\n if (focusSelf) {\n blurComponent(ecData.componentMainType, ecData.componentIndex, api);\n }\n\n each(dispatchers, function (dispatcher) {\n return enterEmphasisWhenMouseOver(dispatcher, e);\n });\n } else {\n // Try blur all in the related series. Then emphasis the hoverred.\n // TODO. progressive mode.\n blurSeries(ecData.seriesIndex, ecData.focus, ecData.blurScope, api);\n\n if (ecData.focus === 'self') {\n blurComponent(ecData.componentMainType, ecData.componentIndex, api);\n } // Other than series, component that not support `findHighDownDispatcher` will\n // also use it. But in this case, highlight/downplay are only supported in\n // mouse hover but not in dispatchAction.\n\n\n enterEmphasisWhenMouseOver(dispatcher, e);\n }\n}\nexport function handleGlobalMouseOutForHighDown(dispatcher, e, api) {\n if (process.env.NODE_ENV !== 'production' && !isHighDownDispatcher(dispatcher)) {\n error('param should be highDownDispatcher');\n }\n\n allLeaveBlur(api);\n var ecData = getECData(dispatcher);\n var dispatchers = findComponentHighDownDispatchers(ecData.componentMainType, ecData.componentIndex, ecData.componentHighDownName, api).dispatchers;\n\n if (dispatchers) {\n each(dispatchers, function (dispatcher) {\n return leaveEmphasisWhenMouseOut(dispatcher, e);\n });\n } else {\n leaveEmphasisWhenMouseOut(dispatcher, e);\n }\n}\nexport function toggleSelectionFromPayload(seriesModel, payload, api) {\n if (!isSelectChangePayload(payload)) {\n return;\n }\n\n var dataType = payload.dataType;\n var data = seriesModel.getData(dataType);\n var dataIndex = queryDataIndex(data, payload);\n\n if (!isArray(dataIndex)) {\n dataIndex = [dataIndex];\n }\n\n seriesModel[payload.type === TOGGLE_SELECT_ACTION_TYPE ? 'toggleSelect' : payload.type === SELECT_ACTION_TYPE ? 'select' : 'unselect'](dataIndex, dataType);\n}\nexport function updateSeriesElementSelection(seriesModel) {\n var allData = seriesModel.getAllData();\n each(allData, function (_a) {\n var data = _a.data,\n type = _a.type;\n data.eachItemGraphicEl(function (el, idx) {\n seriesModel.isSelected(idx, type) ? enterSelect(el) : leaveSelect(el);\n });\n });\n}\nexport function getAllSelectedIndices(ecModel) {\n var ret = [];\n ecModel.eachSeries(function (seriesModel) {\n var allData = seriesModel.getAllData();\n each(allData, function (_a) {\n var data = _a.data,\n type = _a.type;\n var dataIndices = seriesModel.getSelectedDataIndices();\n\n if (dataIndices.length > 0) {\n var item = {\n dataIndex: dataIndices,\n seriesIndex: seriesModel.seriesIndex\n };\n\n if (type != null) {\n item.dataType = type;\n }\n\n ret.push(item);\n }\n });\n });\n return ret;\n}\n/**\r\n * Enable the function that mouseover will trigger the emphasis state.\r\n *\r\n * NOTE:\r\n * This function should be used on the element with dataIndex, seriesIndex.\r\n *\r\n */\n\nexport function enableHoverEmphasis(el, focus, blurScope) {\n setAsHighDownDispatcher(el, true);\n traverseUpdateState(el, setDefaultStateProxy);\n enableHoverFocus(el, focus, blurScope);\n}\nexport function disableHoverEmphasis(el) {\n setAsHighDownDispatcher(el, false);\n}\nexport function toggleHoverEmphasis(el, focus, blurScope, isDisabled) {\n isDisabled ? disableHoverEmphasis(el) : enableHoverEmphasis(el, focus, blurScope);\n}\nexport function enableHoverFocus(el, focus, blurScope) {\n var ecData = getECData(el);\n\n if (focus != null) {\n // TODO dataIndex may be set after this function. This check is not useful.\n // if (ecData.dataIndex == null) {\n // if (__DEV__) {\n // console.warn('focus can only been set on element with dataIndex');\n // }\n // }\n // else {\n ecData.focus = focus;\n ecData.blurScope = blurScope; // }\n } else if (ecData.focus) {\n ecData.focus = null;\n }\n}\nvar OTHER_STATES = ['emphasis', 'blur', 'select'];\nvar defaultStyleGetterMap = {\n itemStyle: 'getItemStyle',\n lineStyle: 'getLineStyle',\n areaStyle: 'getAreaStyle'\n};\n/**\r\n * Set emphasis/blur/selected states of element.\r\n */\n\nexport function setStatesStylesFromModel(el, itemModel, styleType, // default itemStyle\ngetter) {\n styleType = styleType || 'itemStyle';\n\n for (var i = 0; i < OTHER_STATES.length; i++) {\n var stateName = OTHER_STATES[i];\n var model = itemModel.getModel([stateName, styleType]);\n var state = el.ensureState(stateName); // Let it throw error if getterType is not found.\n\n state.style = getter ? getter(model) : model[defaultStyleGetterMap[styleType]]();\n }\n}\n/**\r\n *\r\n * Set element as highlight / downplay dispatcher.\r\n * It will be checked when element received mouseover event or from highlight action.\r\n * It's in change of all highlight/downplay behavior of it's children.\r\n *\r\n * @param el\r\n * @param el.highDownSilentOnTouch\r\n * In touch device, mouseover event will be trigger on touchstart event\r\n * (see module:zrender/dom/HandlerProxy). By this mechanism, we can\r\n * conveniently use hoverStyle when tap on touch screen without additional\r\n * code for compatibility.\r\n * But if the chart/component has select feature, which usually also use\r\n * hoverStyle, there might be conflict between 'select-highlight' and\r\n * 'hover-highlight' especially when roam is enabled (see geo for example).\r\n * In this case, `highDownSilentOnTouch` should be used to disable\r\n * hover-highlight on touch device.\r\n * @param asDispatcher If `false`, do not set as \"highDownDispatcher\".\r\n */\n\nexport function setAsHighDownDispatcher(el, asDispatcher) {\n var disable = asDispatcher === false;\n var extendedEl = el; // Make `highDownSilentOnTouch` and `onStateChange` only work after\n // `setAsHighDownDispatcher` called. Avoid it is modified by user unexpectedly.\n\n if (el.highDownSilentOnTouch) {\n extendedEl.__highDownSilentOnTouch = el.highDownSilentOnTouch;\n } // Simple optimize, since this method might be\n // called for each elements of a group in some cases.\n\n\n if (!disable || extendedEl.__highDownDispatcher) {\n // Emphasis, normal can be triggered manually by API or other components like hover link.\n // el[method]('emphasis', onElementEmphasisEvent)[method]('normal', onElementNormalEvent);\n // Also keep previous record.\n extendedEl.__highByOuter = extendedEl.__highByOuter || 0;\n extendedEl.__highDownDispatcher = !disable;\n }\n}\nexport function isHighDownDispatcher(el) {\n return !!(el && el.__highDownDispatcher);\n}\n/**\r\n * Enable component highlight/downplay features:\r\n * + hover link (within the same name)\r\n * + focus blur in component\r\n */\n\nexport function enableComponentHighDownFeatures(el, componentModel, componentHighDownName) {\n var ecData = getECData(el);\n ecData.componentMainType = componentModel.mainType;\n ecData.componentIndex = componentModel.componentIndex;\n ecData.componentHighDownName = componentHighDownName;\n}\n/**\r\n * Support highlight/downplay record on each elements.\r\n * For the case: hover highlight/downplay (legend, visualMap, ...) and\r\n * user triggered highlight/downplay should not conflict.\r\n * Only all of the highlightDigit cleared, return to normal.\r\n * @param {string} highlightKey\r\n * @return {number} highlightDigit\r\n */\n\nexport function getHighlightDigit(highlightKey) {\n var highlightDigit = _highlightKeyMap[highlightKey];\n\n if (highlightDigit == null && _highlightNextDigit <= 32) {\n highlightDigit = _highlightKeyMap[highlightKey] = _highlightNextDigit++;\n }\n\n return highlightDigit;\n}\nexport function isSelectChangePayload(payload) {\n var payloadType = payload.type;\n return payloadType === SELECT_ACTION_TYPE || payloadType === UNSELECT_ACTION_TYPE || payloadType === TOGGLE_SELECT_ACTION_TYPE;\n}\nexport function isHighDownPayload(payload) {\n var payloadType = payload.type;\n return payloadType === HIGHLIGHT_ACTION_TYPE || payloadType === DOWNPLAY_ACTION_TYPE;\n}\nexport function savePathStates(el) {\n var store = getSavedStates(el);\n store.normalFill = el.style.fill;\n store.normalStroke = el.style.stroke;\n var selectState = el.states.select || {};\n store.selectFill = selectState.style && selectState.style.fill || null;\n store.selectStroke = selectState.style && selectState.style.stroke || null;\n}","import PathProxy from '../core/PathProxy.js';\nimport { applyTransform as v2ApplyTransform } from '../core/vector.js';\nvar CMD = PathProxy.CMD;\nvar points = [[], [], []];\nvar mathSqrt = Math.sqrt;\nvar mathAtan2 = Math.atan2;\nexport default function transformPath(path, m) {\n if (!m) {\n return;\n }\n var data = path.data;\n var len = path.len();\n var cmd;\n var nPoint;\n var i;\n var j;\n var k;\n var p;\n var M = CMD.M;\n var C = CMD.C;\n var L = CMD.L;\n var R = CMD.R;\n var A = CMD.A;\n var Q = CMD.Q;\n for (i = 0, j = 0; i < len;) {\n cmd = data[i++];\n j = i;\n nPoint = 0;\n switch (cmd) {\n case M:\n nPoint = 1;\n break;\n case L:\n nPoint = 1;\n break;\n case C:\n nPoint = 3;\n break;\n case Q:\n nPoint = 2;\n break;\n case A:\n var x = m[4];\n var y = m[5];\n var sx = mathSqrt(m[0] * m[0] + m[1] * m[1]);\n var sy = mathSqrt(m[2] * m[2] + m[3] * m[3]);\n var angle = mathAtan2(-m[1] / sy, m[0] / sx);\n data[i] *= sx;\n data[i++] += x;\n data[i] *= sy;\n data[i++] += y;\n data[i++] *= sx;\n data[i++] *= sy;\n data[i++] += angle;\n data[i++] += angle;\n i += 2;\n j = i;\n break;\n case R:\n p[0] = data[i++];\n p[1] = data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1];\n p[0] += data[i++];\n p[1] += data[i++];\n v2ApplyTransform(p, p, m);\n data[j++] = p[0];\n data[j++] = p[1];\n }\n for (k = 0; k < nPoint; k++) {\n var p_1 = points[k];\n p_1[0] = data[i++];\n p_1[1] = data[i++];\n v2ApplyTransform(p_1, p_1, m);\n data[j++] = p_1[0];\n data[j++] = p_1[1];\n }\n }\n path.increaseVersion();\n}\n","import { __extends } from \"tslib\";\nimport Path from '../graphic/Path.js';\nimport PathProxy from '../core/PathProxy.js';\nimport transformPath from './transformPath.js';\nimport { extend } from '../core/util.js';\nvar mathSqrt = Math.sqrt;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI = Math.PI;\nfunction vMag(v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n}\n;\nfunction vRatio(u, v) {\n return (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v));\n}\n;\nfunction vAngle(u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1)\n * Math.acos(vRatio(u, v));\n}\n;\nfunction processArc(x1, y1, x2, y2, fa, fs, rx, ry, psiDeg, cmd, path) {\n var psi = psiDeg * (PI / 180.0);\n var xp = mathCos(psi) * (x1 - x2) / 2.0\n + mathSin(psi) * (y1 - y2) / 2.0;\n var yp = -1 * mathSin(psi) * (x1 - x2) / 2.0\n + mathCos(psi) * (y1 - y2) / 2.0;\n var lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= mathSqrt(lambda);\n ry *= mathSqrt(lambda);\n }\n var f = (fa === fs ? -1 : 1)\n * mathSqrt((((rx * rx) * (ry * ry))\n - ((rx * rx) * (yp * yp))\n - ((ry * ry) * (xp * xp))) / ((rx * rx) * (yp * yp)\n + (ry * ry) * (xp * xp))) || 0;\n var cxp = f * rx * yp / ry;\n var cyp = f * -ry * xp / rx;\n var cx = (x1 + x2) / 2.0\n + mathCos(psi) * cxp\n - mathSin(psi) * cyp;\n var cy = (y1 + y2) / 2.0\n + mathSin(psi) * cxp\n + mathCos(psi) * cyp;\n var theta = vAngle([1, 0], [(xp - cxp) / rx, (yp - cyp) / ry]);\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n var dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (dTheta < 0) {\n var n = Math.round(dTheta / PI * 1e6) / 1e6;\n dTheta = PI * 2 + (n % 2) * PI;\n }\n path.addData(cmd, cx, cy, rx, ry, theta, dTheta, psi, fs);\n}\nvar commandReg = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/ig;\nvar numberReg = /-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;\nfunction createPathProxyFromString(data) {\n var path = new PathProxy();\n if (!data) {\n return path;\n }\n var cpx = 0;\n var cpy = 0;\n var subpathX = cpx;\n var subpathY = cpy;\n var prevCmd;\n var CMD = PathProxy.CMD;\n var cmdList = data.match(commandReg);\n if (!cmdList) {\n return path;\n }\n for (var l = 0; l < cmdList.length; l++) {\n var cmdText = cmdList[l];\n var cmdStr = cmdText.charAt(0);\n var cmd = void 0;\n var p = cmdText.match(numberReg) || [];\n var pLen = p.length;\n for (var i = 0; i < pLen; i++) {\n p[i] = parseFloat(p[i]);\n }\n var off = 0;\n while (off < pLen) {\n var ctlPtx = void 0;\n var ctlPty = void 0;\n var rx = void 0;\n var ry = void 0;\n var psi = void 0;\n var fa = void 0;\n var fs = void 0;\n var x1 = cpx;\n var y1 = cpy;\n var len = void 0;\n var pathData = void 0;\n switch (cmdStr) {\n case 'l':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n case 'L':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n case 'm':\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'l';\n break;\n case 'M':\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.M;\n path.addData(cmd, cpx, cpy);\n subpathX = cpx;\n subpathY = cpy;\n cmdStr = 'L';\n break;\n case 'h':\n cpx += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n case 'H':\n cpx = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n case 'v':\n cpy += p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n case 'V':\n cpy = p[off++];\n cmd = CMD.L;\n path.addData(cmd, cpx, cpy);\n break;\n case 'C':\n cmd = CMD.C;\n path.addData(cmd, p[off++], p[off++], p[off++], p[off++], p[off++], p[off++]);\n cpx = p[off - 2];\n cpy = p[off - 1];\n break;\n case 'c':\n cmd = CMD.C;\n path.addData(cmd, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy, p[off++] + cpx, p[off++] + cpy);\n cpx += p[off - 2];\n cpy += p[off - 1];\n break;\n case 'S':\n ctlPtx = cpx;\n ctlPty = cpy;\n len = path.len();\n pathData = path.data;\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n cmd = CMD.C;\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n case 's':\n ctlPtx = cpx;\n ctlPty = cpy;\n len = path.len();\n pathData = path.data;\n if (prevCmd === CMD.C) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n cmd = CMD.C;\n x1 = cpx + p[off++];\n y1 = cpy + p[off++];\n cpx += p[off++];\n cpy += p[off++];\n path.addData(cmd, ctlPtx, ctlPty, x1, y1, cpx, cpy);\n break;\n case 'Q':\n x1 = p[off++];\n y1 = p[off++];\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n case 'q':\n x1 = p[off++] + cpx;\n y1 = p[off++] + cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, x1, y1, cpx, cpy);\n break;\n case 'T':\n ctlPtx = cpx;\n ctlPty = cpy;\n len = path.len();\n pathData = path.data;\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n case 't':\n ctlPtx = cpx;\n ctlPty = cpy;\n len = path.len();\n pathData = path.data;\n if (prevCmd === CMD.Q) {\n ctlPtx += cpx - pathData[len - 4];\n ctlPty += cpy - pathData[len - 3];\n }\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.Q;\n path.addData(cmd, ctlPtx, ctlPty, cpx, cpy);\n break;\n case 'A':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx = p[off++];\n cpy = p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n case 'a':\n rx = p[off++];\n ry = p[off++];\n psi = p[off++];\n fa = p[off++];\n fs = p[off++];\n x1 = cpx, y1 = cpy;\n cpx += p[off++];\n cpy += p[off++];\n cmd = CMD.A;\n processArc(x1, y1, cpx, cpy, fa, fs, rx, ry, psi, cmd, path);\n break;\n }\n }\n if (cmdStr === 'z' || cmdStr === 'Z') {\n cmd = CMD.Z;\n path.addData(cmd);\n cpx = subpathX;\n cpy = subpathY;\n }\n prevCmd = cmd;\n }\n path.toStatic();\n return path;\n}\nvar SVGPath = (function (_super) {\n __extends(SVGPath, _super);\n function SVGPath() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SVGPath.prototype.applyTransform = function (m) { };\n return SVGPath;\n}(Path));\nfunction isPathProxy(path) {\n return path.setData != null;\n}\nfunction createPathOptions(str, opts) {\n var pathProxy = createPathProxyFromString(str);\n var innerOpts = extend({}, opts);\n innerOpts.buildPath = function (path) {\n if (isPathProxy(path)) {\n path.setData(pathProxy.data);\n var ctx = path.getContext();\n if (ctx) {\n path.rebuildPath(ctx, 1);\n }\n }\n else {\n var ctx = path;\n pathProxy.rebuildPath(ctx, 1);\n }\n };\n innerOpts.applyTransform = function (m) {\n transformPath(pathProxy, m);\n this.dirtyShape();\n };\n return innerOpts;\n}\nexport function createFromString(str, opts) {\n return new SVGPath(createPathOptions(str, opts));\n}\nexport function extendFromString(str, defaultOpts) {\n var innerOpts = createPathOptions(str, defaultOpts);\n var Sub = (function (_super) {\n __extends(Sub, _super);\n function Sub(opts) {\n var _this = _super.call(this, opts) || this;\n _this.applyTransform = innerOpts.applyTransform;\n _this.buildPath = innerOpts.buildPath;\n return _this;\n }\n return Sub;\n }(SVGPath));\n return Sub;\n}\nexport function mergePath(pathEls, opts) {\n var pathList = [];\n var len = pathEls.length;\n for (var i = 0; i < len; i++) {\n var pathEl = pathEls[i];\n pathList.push(pathEl.getUpdatedPathProxy(true));\n }\n var pathBundle = new Path(opts);\n pathBundle.createPathProxy();\n pathBundle.buildPath = function (path) {\n if (isPathProxy(path)) {\n path.appendPath(pathList);\n var ctx = path.getContext();\n if (ctx) {\n path.rebuildPath(ctx, 1);\n }\n }\n };\n return pathBundle;\n}\nexport function clonePath(sourcePath, opts) {\n opts = opts || {};\n var path = new Path();\n if (sourcePath.shape) {\n path.setShape(sourcePath.shape);\n }\n path.setStyle(sourcePath.style);\n if (opts.bakeTransform) {\n transformPath(path.path, sourcePath.getComputedTransform());\n }\n else {\n if (opts.toLocal) {\n path.setLocalTransform(sourcePath.getComputedTransform());\n }\n else {\n path.copyTransform(sourcePath);\n }\n }\n path.buildPath = sourcePath.buildPath;\n path.applyTransform = path.applyTransform;\n path.z = sourcePath.z;\n path.z2 = sourcePath.z2;\n path.zlevel = sourcePath.zlevel;\n return path;\n}\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nvar CircleShape = (function () {\n function CircleShape() {\n this.cx = 0;\n this.cy = 0;\n this.r = 0;\n }\n return CircleShape;\n}());\nexport { CircleShape };\nvar Circle = (function (_super) {\n __extends(Circle, _super);\n function Circle(opts) {\n return _super.call(this, opts) || this;\n }\n Circle.prototype.getDefaultShape = function () {\n return new CircleShape();\n };\n Circle.prototype.buildPath = function (ctx, shape) {\n ctx.moveTo(shape.cx + shape.r, shape.cy);\n ctx.arc(shape.cx, shape.cy, shape.r, 0, Math.PI * 2);\n };\n return Circle;\n}(Path));\n;\nCircle.prototype.type = 'circle';\nexport default Circle;\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nvar EllipseShape = (function () {\n function EllipseShape() {\n this.cx = 0;\n this.cy = 0;\n this.rx = 0;\n this.ry = 0;\n }\n return EllipseShape;\n}());\nexport { EllipseShape };\nvar Ellipse = (function (_super) {\n __extends(Ellipse, _super);\n function Ellipse(opts) {\n return _super.call(this, opts) || this;\n }\n Ellipse.prototype.getDefaultShape = function () {\n return new EllipseShape();\n };\n Ellipse.prototype.buildPath = function (ctx, shape) {\n var k = 0.5522848;\n var x = shape.cx;\n var y = shape.cy;\n var a = shape.rx;\n var b = shape.ry;\n var ox = a * k;\n var oy = b * k;\n ctx.moveTo(x - a, y);\n ctx.bezierCurveTo(x - a, y - oy, x - ox, y - b, x, y - b);\n ctx.bezierCurveTo(x + ox, y - b, x + a, y - oy, x + a, y);\n ctx.bezierCurveTo(x + a, y + oy, x + ox, y + b, x, y + b);\n ctx.bezierCurveTo(x - ox, y + b, x - a, y + oy, x - a, y);\n ctx.closePath();\n };\n return Ellipse;\n}(Path));\nEllipse.prototype.type = 'ellipse';\nexport default Ellipse;\n","import { isArray } from '../../core/util.js';\nvar PI = Math.PI;\nvar PI2 = PI * 2;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar mathACos = Math.acos;\nvar mathATan2 = Math.atan2;\nvar mathAbs = Math.abs;\nvar mathSqrt = Math.sqrt;\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar e = 1e-4;\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var dx10 = x1 - x0;\n var dy10 = y1 - y0;\n var dx32 = x3 - x2;\n var dy32 = y3 - y2;\n var t = dy32 * dx10 - dx32 * dy10;\n if (t * t < e) {\n return;\n }\n t = (dx32 * (y0 - y2) - dy32 * (x0 - x2)) / t;\n return [x0 + t * dx10, y0 + t * dy10];\n}\nfunction computeCornerTangents(x0, y0, x1, y1, radius, cr, clockwise) {\n var x01 = x0 - x1;\n var y01 = y0 - y1;\n var lo = (clockwise ? cr : -cr) / mathSqrt(x01 * x01 + y01 * y01);\n var ox = lo * y01;\n var oy = -lo * x01;\n var x11 = x0 + ox;\n var y11 = y0 + oy;\n var x10 = x1 + ox;\n var y10 = y1 + oy;\n var x00 = (x11 + x10) / 2;\n var y00 = (y11 + y10) / 2;\n var dx = x10 - x11;\n var dy = y10 - y11;\n var d2 = dx * dx + dy * dy;\n var r = radius - cr;\n var s = x11 * y10 - x10 * y11;\n var d = (dy < 0 ? -1 : 1) * mathSqrt(mathMax(0, r * r * d2 - s * s));\n var cx0 = (s * dy - dx * d) / d2;\n var cy0 = (-s * dx - dy * d) / d2;\n var cx1 = (s * dy + dx * d) / d2;\n var cy1 = (-s * dx + dy * d) / d2;\n var dx0 = cx0 - x00;\n var dy0 = cy0 - y00;\n var dx1 = cx1 - x00;\n var dy1 = cy1 - y00;\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) {\n cx0 = cx1;\n cy0 = cy1;\n }\n return {\n cx: cx0,\n cy: cy0,\n x0: -ox,\n y0: -oy,\n x1: cx0 * (radius / r - 1),\n y1: cy0 * (radius / r - 1)\n };\n}\nfunction normalizeCornerRadius(cr) {\n var arr;\n if (isArray(cr)) {\n var len = cr.length;\n if (!len) {\n return cr;\n }\n if (len === 1) {\n arr = [cr[0], cr[0], 0, 0];\n }\n else if (len === 2) {\n arr = [cr[0], cr[0], cr[1], cr[1]];\n }\n else if (len === 3) {\n arr = cr.concat(cr[2]);\n }\n else {\n arr = cr;\n }\n }\n else {\n arr = [cr, cr, cr, cr];\n }\n return arr;\n}\nexport function buildPath(ctx, shape) {\n var _a;\n var radius = mathMax(shape.r, 0);\n var innerRadius = mathMax(shape.r0 || 0, 0);\n var hasRadius = radius > 0;\n var hasInnerRadius = innerRadius > 0;\n if (!hasRadius && !hasInnerRadius) {\n return;\n }\n if (!hasRadius) {\n radius = innerRadius;\n innerRadius = 0;\n }\n if (innerRadius > radius) {\n var tmp = radius;\n radius = innerRadius;\n innerRadius = tmp;\n }\n var startAngle = shape.startAngle, endAngle = shape.endAngle;\n if (isNaN(startAngle) || isNaN(endAngle)) {\n return;\n }\n var cx = shape.cx, cy = shape.cy;\n var clockwise = !!shape.clockwise;\n var arc = mathAbs(endAngle - startAngle);\n var mod = arc > PI2 && arc % PI2;\n mod > e && (arc = mod);\n if (!(radius > e)) {\n ctx.moveTo(cx, cy);\n }\n else if (arc > PI2 - e) {\n ctx.moveTo(cx + radius * mathCos(startAngle), cy + radius * mathSin(startAngle));\n ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);\n if (innerRadius > e) {\n ctx.moveTo(cx + innerRadius * mathCos(endAngle), cy + innerRadius * mathSin(endAngle));\n ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);\n }\n }\n else {\n var icrStart = void 0;\n var icrEnd = void 0;\n var ocrStart = void 0;\n var ocrEnd = void 0;\n var ocrs = void 0;\n var ocre = void 0;\n var icrs = void 0;\n var icre = void 0;\n var ocrMax = void 0;\n var icrMax = void 0;\n var limitedOcrMax = void 0;\n var limitedIcrMax = void 0;\n var xre = void 0;\n var yre = void 0;\n var xirs = void 0;\n var yirs = void 0;\n var xrs = radius * mathCos(startAngle);\n var yrs = radius * mathSin(startAngle);\n var xire = innerRadius * mathCos(endAngle);\n var yire = innerRadius * mathSin(endAngle);\n var hasArc = arc > e;\n if (hasArc) {\n var cornerRadius = shape.cornerRadius;\n if (cornerRadius) {\n _a = normalizeCornerRadius(cornerRadius), icrStart = _a[0], icrEnd = _a[1], ocrStart = _a[2], ocrEnd = _a[3];\n }\n var halfRd = mathAbs(radius - innerRadius) / 2;\n ocrs = mathMin(halfRd, ocrStart);\n ocre = mathMin(halfRd, ocrEnd);\n icrs = mathMin(halfRd, icrStart);\n icre = mathMin(halfRd, icrEnd);\n limitedOcrMax = ocrMax = mathMax(ocrs, ocre);\n limitedIcrMax = icrMax = mathMax(icrs, icre);\n if (ocrMax > e || icrMax > e) {\n xre = radius * mathCos(endAngle);\n yre = radius * mathSin(endAngle);\n xirs = innerRadius * mathCos(startAngle);\n yirs = innerRadius * mathSin(startAngle);\n if (arc < PI) {\n var it_1 = intersect(xrs, yrs, xirs, yirs, xre, yre, xire, yire);\n if (it_1) {\n var x0 = xrs - it_1[0];\n var y0 = yrs - it_1[1];\n var x1 = xre - it_1[0];\n var y1 = yre - it_1[1];\n var a = 1 / mathSin(mathACos((x0 * x1 + y0 * y1) / (mathSqrt(x0 * x0 + y0 * y0) * mathSqrt(x1 * x1 + y1 * y1))) / 2);\n var b = mathSqrt(it_1[0] * it_1[0] + it_1[1] * it_1[1]);\n limitedOcrMax = mathMin(ocrMax, (radius - b) / (a + 1));\n limitedIcrMax = mathMin(icrMax, (innerRadius - b) / (a - 1));\n }\n }\n }\n }\n if (!hasArc) {\n ctx.moveTo(cx + xrs, cy + yrs);\n }\n else if (limitedOcrMax > e) {\n var crStart = mathMin(ocrStart, limitedOcrMax);\n var crEnd = mathMin(ocrEnd, limitedOcrMax);\n var ct0 = computeCornerTangents(xirs, yirs, xrs, yrs, radius, crStart, clockwise);\n var ct1 = computeCornerTangents(xre, yre, xire, yire, radius, crEnd, clockwise);\n ctx.moveTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);\n if (limitedOcrMax < ocrMax && crStart === crEnd) {\n ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedOcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);\n }\n else {\n crStart > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crStart, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);\n ctx.arc(cx, cy, radius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), !clockwise);\n crEnd > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crEnd, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);\n }\n }\n else {\n ctx.moveTo(cx + xrs, cy + yrs);\n ctx.arc(cx, cy, radius, startAngle, endAngle, !clockwise);\n }\n if (!(innerRadius > e) || !hasArc) {\n ctx.lineTo(cx + xire, cy + yire);\n }\n else if (limitedIcrMax > e) {\n var crStart = mathMin(icrStart, limitedIcrMax);\n var crEnd = mathMin(icrEnd, limitedIcrMax);\n var ct0 = computeCornerTangents(xire, yire, xre, yre, innerRadius, -crEnd, clockwise);\n var ct1 = computeCornerTangents(xrs, yrs, xirs, yirs, innerRadius, -crStart, clockwise);\n ctx.lineTo(cx + ct0.cx + ct0.x0, cy + ct0.cy + ct0.y0);\n if (limitedIcrMax < icrMax && crStart === crEnd) {\n ctx.arc(cx + ct0.cx, cy + ct0.cy, limitedIcrMax, mathATan2(ct0.y0, ct0.x0), mathATan2(ct1.y0, ct1.x0), !clockwise);\n }\n else {\n crEnd > 0 && ctx.arc(cx + ct0.cx, cy + ct0.cy, crEnd, mathATan2(ct0.y0, ct0.x0), mathATan2(ct0.y1, ct0.x1), !clockwise);\n ctx.arc(cx, cy, innerRadius, mathATan2(ct0.cy + ct0.y1, ct0.cx + ct0.x1), mathATan2(ct1.cy + ct1.y1, ct1.cx + ct1.x1), clockwise);\n crStart > 0 && ctx.arc(cx + ct1.cx, cy + ct1.cy, crStart, mathATan2(ct1.y1, ct1.x1), mathATan2(ct1.y0, ct1.x0), !clockwise);\n }\n }\n else {\n ctx.lineTo(cx + xire, cy + yire);\n ctx.arc(cx, cy, innerRadius, endAngle, startAngle, clockwise);\n }\n }\n ctx.closePath();\n}\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nimport * as roundSectorHelper from '../helper/roundSector.js';\nvar SectorShape = (function () {\n function SectorShape() {\n this.cx = 0;\n this.cy = 0;\n this.r0 = 0;\n this.r = 0;\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.clockwise = true;\n this.cornerRadius = 0;\n }\n return SectorShape;\n}());\nexport { SectorShape };\nvar Sector = (function (_super) {\n __extends(Sector, _super);\n function Sector(opts) {\n return _super.call(this, opts) || this;\n }\n Sector.prototype.getDefaultShape = function () {\n return new SectorShape();\n };\n Sector.prototype.buildPath = function (ctx, shape) {\n roundSectorHelper.buildPath(ctx, shape);\n };\n Sector.prototype.isZeroArea = function () {\n return this.shape.startAngle === this.shape.endAngle\n || this.shape.r === this.shape.r0;\n };\n return Sector;\n}(Path));\nSector.prototype.type = 'sector';\nexport default Sector;\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nvar RingShape = (function () {\n function RingShape() {\n this.cx = 0;\n this.cy = 0;\n this.r = 0;\n this.r0 = 0;\n }\n return RingShape;\n}());\nexport { RingShape };\nvar Ring = (function (_super) {\n __extends(Ring, _super);\n function Ring(opts) {\n return _super.call(this, opts) || this;\n }\n Ring.prototype.getDefaultShape = function () {\n return new RingShape();\n };\n Ring.prototype.buildPath = function (ctx, shape) {\n var x = shape.cx;\n var y = shape.cy;\n var PI2 = Math.PI * 2;\n ctx.moveTo(x + shape.r, y);\n ctx.arc(x, y, shape.r, 0, PI2, false);\n ctx.moveTo(x + shape.r0, y);\n ctx.arc(x, y, shape.r0, 0, PI2, true);\n };\n return Ring;\n}(Path));\nRing.prototype.type = 'ring';\nexport default Ring;\n","import { min as v2Min, max as v2Max, scale as v2Scale, distance as v2Distance, add as v2Add, clone as v2Clone, sub as v2Sub } from '../../core/vector.js';\nexport default function smoothBezier(points, smooth, isLoop, constraint) {\n var cps = [];\n var v = [];\n var v1 = [];\n var v2 = [];\n var prevPoint;\n var nextPoint;\n var min;\n var max;\n if (constraint) {\n min = [Infinity, Infinity];\n max = [-Infinity, -Infinity];\n for (var i = 0, len = points.length; i < len; i++) {\n v2Min(min, min, points[i]);\n v2Max(max, max, points[i]);\n }\n v2Min(min, min, constraint[0]);\n v2Max(max, max, constraint[1]);\n }\n for (var i = 0, len = points.length; i < len; i++) {\n var point = points[i];\n if (isLoop) {\n prevPoint = points[i ? i - 1 : len - 1];\n nextPoint = points[(i + 1) % len];\n }\n else {\n if (i === 0 || i === len - 1) {\n cps.push(v2Clone(points[i]));\n continue;\n }\n else {\n prevPoint = points[i - 1];\n nextPoint = points[i + 1];\n }\n }\n v2Sub(v, nextPoint, prevPoint);\n v2Scale(v, v, smooth);\n var d0 = v2Distance(point, prevPoint);\n var d1 = v2Distance(point, nextPoint);\n var sum = d0 + d1;\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n v2Scale(v1, v, -d0);\n v2Scale(v2, v, d1);\n var cp0 = v2Add([], point, v1);\n var cp1 = v2Add([], point, v2);\n if (constraint) {\n v2Max(cp0, cp0, min);\n v2Min(cp0, cp0, max);\n v2Max(cp1, cp1, min);\n v2Min(cp1, cp1, max);\n }\n cps.push(cp0);\n cps.push(cp1);\n }\n if (isLoop) {\n cps.push(cps.shift());\n }\n return cps;\n}\n","import smoothBezier from './smoothBezier.js';\nexport function buildPath(ctx, shape, closePath) {\n var smooth = shape.smooth;\n var points = shape.points;\n if (points && points.length >= 2) {\n if (smooth) {\n var controlPoints = smoothBezier(points, smooth, closePath, shape.smoothConstraint);\n ctx.moveTo(points[0][0], points[0][1]);\n var len = points.length;\n for (var i = 0; i < (closePath ? len : len - 1); i++) {\n var cp1 = controlPoints[i * 2];\n var cp2 = controlPoints[i * 2 + 1];\n var p = points[(i + 1) % len];\n ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]);\n }\n }\n else {\n ctx.moveTo(points[0][0], points[0][1]);\n for (var i = 1, l = points.length; i < l; i++) {\n ctx.lineTo(points[i][0], points[i][1]);\n }\n }\n closePath && ctx.closePath();\n }\n}\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nimport * as polyHelper from '../helper/poly.js';\nvar PolygonShape = (function () {\n function PolygonShape() {\n this.points = null;\n this.smooth = 0;\n this.smoothConstraint = null;\n }\n return PolygonShape;\n}());\nexport { PolygonShape };\nvar Polygon = (function (_super) {\n __extends(Polygon, _super);\n function Polygon(opts) {\n return _super.call(this, opts) || this;\n }\n Polygon.prototype.getDefaultShape = function () {\n return new PolygonShape();\n };\n Polygon.prototype.buildPath = function (ctx, shape) {\n polyHelper.buildPath(ctx, shape, true);\n };\n return Polygon;\n}(Path));\n;\nPolygon.prototype.type = 'polygon';\nexport default Polygon;\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nimport * as polyHelper from '../helper/poly.js';\nvar PolylineShape = (function () {\n function PolylineShape() {\n this.points = null;\n this.percent = 1;\n this.smooth = 0;\n this.smoothConstraint = null;\n }\n return PolylineShape;\n}());\nexport { PolylineShape };\nvar Polyline = (function (_super) {\n __extends(Polyline, _super);\n function Polyline(opts) {\n return _super.call(this, opts) || this;\n }\n Polyline.prototype.getDefaultStyle = function () {\n return {\n stroke: '#000',\n fill: null\n };\n };\n Polyline.prototype.getDefaultShape = function () {\n return new PolylineShape();\n };\n Polyline.prototype.buildPath = function (ctx, shape) {\n polyHelper.buildPath(ctx, shape, false);\n };\n return Polyline;\n}(Path));\nPolyline.prototype.type = 'polyline';\nexport default Polyline;\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nimport { subPixelOptimizeLine } from '../helper/subPixelOptimize.js';\nvar subPixelOptimizeOutputShape = {};\nvar LineShape = (function () {\n function LineShape() {\n this.x1 = 0;\n this.y1 = 0;\n this.x2 = 0;\n this.y2 = 0;\n this.percent = 1;\n }\n return LineShape;\n}());\nexport { LineShape };\nvar Line = (function (_super) {\n __extends(Line, _super);\n function Line(opts) {\n return _super.call(this, opts) || this;\n }\n Line.prototype.getDefaultStyle = function () {\n return {\n stroke: '#000',\n fill: null\n };\n };\n Line.prototype.getDefaultShape = function () {\n return new LineShape();\n };\n Line.prototype.buildPath = function (ctx, shape) {\n var x1;\n var y1;\n var x2;\n var y2;\n if (this.subPixelOptimize) {\n var optimizedShape = subPixelOptimizeLine(subPixelOptimizeOutputShape, shape, this.style);\n x1 = optimizedShape.x1;\n y1 = optimizedShape.y1;\n x2 = optimizedShape.x2;\n y2 = optimizedShape.y2;\n }\n else {\n x1 = shape.x1;\n y1 = shape.y1;\n x2 = shape.x2;\n y2 = shape.y2;\n }\n var percent = shape.percent;\n if (percent === 0) {\n return;\n }\n ctx.moveTo(x1, y1);\n if (percent < 1) {\n x2 = x1 * (1 - percent) + x2 * percent;\n y2 = y1 * (1 - percent) + y2 * percent;\n }\n ctx.lineTo(x2, y2);\n };\n Line.prototype.pointAt = function (p) {\n var shape = this.shape;\n return [\n shape.x1 * (1 - p) + shape.x2 * p,\n shape.y1 * (1 - p) + shape.y2 * p\n ];\n };\n return Line;\n}(Path));\nLine.prototype.type = 'line';\nexport default Line;\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nimport * as vec2 from '../../core/vector.js';\nimport { quadraticSubdivide, cubicSubdivide, quadraticAt, cubicAt, quadraticDerivativeAt, cubicDerivativeAt } from '../../core/curve.js';\nvar out = [];\nvar BezierCurveShape = (function () {\n function BezierCurveShape() {\n this.x1 = 0;\n this.y1 = 0;\n this.x2 = 0;\n this.y2 = 0;\n this.cpx1 = 0;\n this.cpy1 = 0;\n this.percent = 1;\n }\n return BezierCurveShape;\n}());\nexport { BezierCurveShape };\nfunction someVectorAt(shape, t, isTangent) {\n var cpx2 = shape.cpx2;\n var cpy2 = shape.cpy2;\n if (cpx2 != null || cpy2 != null) {\n return [\n (isTangent ? cubicDerivativeAt : cubicAt)(shape.x1, shape.cpx1, shape.cpx2, shape.x2, t),\n (isTangent ? cubicDerivativeAt : cubicAt)(shape.y1, shape.cpy1, shape.cpy2, shape.y2, t)\n ];\n }\n else {\n return [\n (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.x1, shape.cpx1, shape.x2, t),\n (isTangent ? quadraticDerivativeAt : quadraticAt)(shape.y1, shape.cpy1, shape.y2, t)\n ];\n }\n}\nvar BezierCurve = (function (_super) {\n __extends(BezierCurve, _super);\n function BezierCurve(opts) {\n return _super.call(this, opts) || this;\n }\n BezierCurve.prototype.getDefaultStyle = function () {\n return {\n stroke: '#000',\n fill: null\n };\n };\n BezierCurve.prototype.getDefaultShape = function () {\n return new BezierCurveShape();\n };\n BezierCurve.prototype.buildPath = function (ctx, shape) {\n var x1 = shape.x1;\n var y1 = shape.y1;\n var x2 = shape.x2;\n var y2 = shape.y2;\n var cpx1 = shape.cpx1;\n var cpy1 = shape.cpy1;\n var cpx2 = shape.cpx2;\n var cpy2 = shape.cpy2;\n var percent = shape.percent;\n if (percent === 0) {\n return;\n }\n ctx.moveTo(x1, y1);\n if (cpx2 == null || cpy2 == null) {\n if (percent < 1) {\n quadraticSubdivide(x1, cpx1, x2, percent, out);\n cpx1 = out[1];\n x2 = out[2];\n quadraticSubdivide(y1, cpy1, y2, percent, out);\n cpy1 = out[1];\n y2 = out[2];\n }\n ctx.quadraticCurveTo(cpx1, cpy1, x2, y2);\n }\n else {\n if (percent < 1) {\n cubicSubdivide(x1, cpx1, cpx2, x2, percent, out);\n cpx1 = out[1];\n cpx2 = out[2];\n x2 = out[3];\n cubicSubdivide(y1, cpy1, cpy2, y2, percent, out);\n cpy1 = out[1];\n cpy2 = out[2];\n y2 = out[3];\n }\n ctx.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x2, y2);\n }\n };\n BezierCurve.prototype.pointAt = function (t) {\n return someVectorAt(this.shape, t, false);\n };\n BezierCurve.prototype.tangentAt = function (t) {\n var p = someVectorAt(this.shape, t, true);\n return vec2.normalize(p, p);\n };\n return BezierCurve;\n}(Path));\n;\nBezierCurve.prototype.type = 'bezier-curve';\nexport default BezierCurve;\n","import { __extends } from \"tslib\";\nimport Path from '../Path.js';\nvar ArcShape = (function () {\n function ArcShape() {\n this.cx = 0;\n this.cy = 0;\n this.r = 0;\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.clockwise = true;\n }\n return ArcShape;\n}());\nexport { ArcShape };\nvar Arc = (function (_super) {\n __extends(Arc, _super);\n function Arc(opts) {\n return _super.call(this, opts) || this;\n }\n Arc.prototype.getDefaultStyle = function () {\n return {\n stroke: '#000',\n fill: null\n };\n };\n Arc.prototype.getDefaultShape = function () {\n return new ArcShape();\n };\n Arc.prototype.buildPath = function (ctx, shape) {\n var x = shape.cx;\n var y = shape.cy;\n var r = Math.max(shape.r, 0);\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var unitX = Math.cos(startAngle);\n var unitY = Math.sin(startAngle);\n ctx.moveTo(unitX * r + x, unitY * r + y);\n ctx.arc(x, y, r, startAngle, endAngle, !clockwise);\n };\n return Arc;\n}(Path));\nArc.prototype.type = 'arc';\nexport default Arc;\n","import { __extends } from \"tslib\";\nimport Path from './Path.js';\nvar CompoundPath = (function (_super) {\n __extends(CompoundPath, _super);\n function CompoundPath() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'compound';\n return _this;\n }\n CompoundPath.prototype._updatePathDirty = function () {\n var paths = this.shape.paths;\n var dirtyPath = this.shapeChanged();\n for (var i = 0; i < paths.length; i++) {\n dirtyPath = dirtyPath || paths[i].shapeChanged();\n }\n if (dirtyPath) {\n this.dirtyShape();\n }\n };\n CompoundPath.prototype.beforeBrush = function () {\n this._updatePathDirty();\n var paths = this.shape.paths || [];\n var scale = this.getGlobalScale();\n for (var i = 0; i < paths.length; i++) {\n if (!paths[i].path) {\n paths[i].createPathProxy();\n }\n paths[i].path.setScale(scale[0], scale[1], paths[i].segmentIgnoreThreshold);\n }\n };\n CompoundPath.prototype.buildPath = function (ctx, shape) {\n var paths = shape.paths || [];\n for (var i = 0; i < paths.length; i++) {\n paths[i].buildPath(ctx, paths[i].shape, true);\n }\n };\n CompoundPath.prototype.afterBrush = function () {\n var paths = this.shape.paths || [];\n for (var i = 0; i < paths.length; i++) {\n paths[i].pathUpdated();\n }\n };\n CompoundPath.prototype.getBoundingRect = function () {\n this._updatePathDirty.call(this);\n return Path.prototype.getBoundingRect.call(this);\n };\n return CompoundPath;\n}(Path));\nexport default CompoundPath;\n","var Gradient = (function () {\n function Gradient(colorStops) {\n this.colorStops = colorStops || [];\n }\n Gradient.prototype.addColorStop = function (offset, color) {\n this.colorStops.push({\n offset: offset,\n color: color\n });\n };\n return Gradient;\n}());\nexport default Gradient;\n","import { __extends } from \"tslib\";\nimport Gradient from './Gradient.js';\nvar LinearGradient = (function (_super) {\n __extends(LinearGradient, _super);\n function LinearGradient(x, y, x2, y2, colorStops, globalCoord) {\n var _this = _super.call(this, colorStops) || this;\n _this.x = x == null ? 0 : x;\n _this.y = y == null ? 0 : y;\n _this.x2 = x2 == null ? 1 : x2;\n _this.y2 = y2 == null ? 0 : y2;\n _this.type = 'linear';\n _this.global = globalCoord || false;\n return _this;\n }\n return LinearGradient;\n}(Gradient));\nexport default LinearGradient;\n;\n","import { __extends } from \"tslib\";\nimport Gradient from './Gradient.js';\nvar RadialGradient = (function (_super) {\n __extends(RadialGradient, _super);\n function RadialGradient(x, y, r, colorStops, globalCoord) {\n var _this = _super.call(this, colorStops) || this;\n _this.x = x == null ? 0.5 : x;\n _this.y = y == null ? 0.5 : y;\n _this.r = r == null ? 0.5 : r;\n _this.type = 'radial';\n _this.global = globalCoord || false;\n return _this;\n }\n return RadialGradient;\n}(Gradient));\nexport default RadialGradient;\n","import Point from './Point.js';\nvar extent = [0, 0];\nvar extent2 = [0, 0];\nvar minTv = new Point();\nvar maxTv = new Point();\nvar OrientedBoundingRect = (function () {\n function OrientedBoundingRect(rect, transform) {\n this._corners = [];\n this._axes = [];\n this._origin = [0, 0];\n for (var i = 0; i < 4; i++) {\n this._corners[i] = new Point();\n }\n for (var i = 0; i < 2; i++) {\n this._axes[i] = new Point();\n }\n if (rect) {\n this.fromBoundingRect(rect, transform);\n }\n }\n OrientedBoundingRect.prototype.fromBoundingRect = function (rect, transform) {\n var corners = this._corners;\n var axes = this._axes;\n var x = rect.x;\n var y = rect.y;\n var x2 = x + rect.width;\n var y2 = y + rect.height;\n corners[0].set(x, y);\n corners[1].set(x2, y);\n corners[2].set(x2, y2);\n corners[3].set(x, y2);\n if (transform) {\n for (var i = 0; i < 4; i++) {\n corners[i].transform(transform);\n }\n }\n Point.sub(axes[0], corners[1], corners[0]);\n Point.sub(axes[1], corners[3], corners[0]);\n axes[0].normalize();\n axes[1].normalize();\n for (var i = 0; i < 2; i++) {\n this._origin[i] = axes[i].dot(corners[0]);\n }\n };\n OrientedBoundingRect.prototype.intersect = function (other, mtv) {\n var overlapped = true;\n var noMtv = !mtv;\n minTv.set(Infinity, Infinity);\n maxTv.set(0, 0);\n if (!this._intersectCheckOneSide(this, other, minTv, maxTv, noMtv, 1)) {\n overlapped = false;\n if (noMtv) {\n return overlapped;\n }\n }\n if (!this._intersectCheckOneSide(other, this, minTv, maxTv, noMtv, -1)) {\n overlapped = false;\n if (noMtv) {\n return overlapped;\n }\n }\n if (!noMtv) {\n Point.copy(mtv, overlapped ? minTv : maxTv);\n }\n return overlapped;\n };\n OrientedBoundingRect.prototype._intersectCheckOneSide = function (self, other, minTv, maxTv, noMtv, inverse) {\n var overlapped = true;\n for (var i = 0; i < 2; i++) {\n var axis = this._axes[i];\n this._getProjMinMaxOnAxis(i, self._corners, extent);\n this._getProjMinMaxOnAxis(i, other._corners, extent2);\n if (extent[1] < extent2[0] || extent[0] > extent2[1]) {\n overlapped = false;\n if (noMtv) {\n return overlapped;\n }\n var dist0 = Math.abs(extent2[0] - extent[1]);\n var dist1 = Math.abs(extent[0] - extent2[1]);\n if (Math.min(dist0, dist1) > maxTv.len()) {\n if (dist0 < dist1) {\n Point.scale(maxTv, axis, -dist0 * inverse);\n }\n else {\n Point.scale(maxTv, axis, dist1 * inverse);\n }\n }\n }\n else if (minTv) {\n var dist0 = Math.abs(extent2[0] - extent[1]);\n var dist1 = Math.abs(extent[0] - extent2[1]);\n if (Math.min(dist0, dist1) < minTv.len()) {\n if (dist0 < dist1) {\n Point.scale(minTv, axis, dist0 * inverse);\n }\n else {\n Point.scale(minTv, axis, -dist1 * inverse);\n }\n }\n }\n }\n return overlapped;\n };\n OrientedBoundingRect.prototype._getProjMinMaxOnAxis = function (dim, corners, out) {\n var axis = this._axes[dim];\n var origin = this._origin;\n var proj = corners[0].dot(axis) + origin[dim];\n var min = proj;\n var max = proj;\n for (var i = 1; i < corners.length; i++) {\n var proj_1 = corners[i].dot(axis) + origin[dim];\n min = Math.min(proj_1, min);\n max = Math.max(proj_1, max);\n }\n out[0] = min;\n out[1] = max;\n };\n return OrientedBoundingRect;\n}());\nexport default OrientedBoundingRect;\n","import { __extends } from \"tslib\";\nimport Displayble from './Displayable.js';\nimport BoundingRect from '../core/BoundingRect.js';\nvar m = [];\nvar IncrementalDisplayable = (function (_super) {\n __extends(IncrementalDisplayable, _super);\n function IncrementalDisplayable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.notClear = true;\n _this.incremental = true;\n _this._displayables = [];\n _this._temporaryDisplayables = [];\n _this._cursor = 0;\n return _this;\n }\n IncrementalDisplayable.prototype.traverse = function (cb, context) {\n cb.call(context, this);\n };\n IncrementalDisplayable.prototype.useStyle = function () {\n this.style = {};\n };\n IncrementalDisplayable.prototype.getCursor = function () {\n return this._cursor;\n };\n IncrementalDisplayable.prototype.innerAfterBrush = function () {\n this._cursor = this._displayables.length;\n };\n IncrementalDisplayable.prototype.clearDisplaybles = function () {\n this._displayables = [];\n this._temporaryDisplayables = [];\n this._cursor = 0;\n this.markRedraw();\n this.notClear = false;\n };\n IncrementalDisplayable.prototype.clearTemporalDisplayables = function () {\n this._temporaryDisplayables = [];\n };\n IncrementalDisplayable.prototype.addDisplayable = function (displayable, notPersistent) {\n if (notPersistent) {\n this._temporaryDisplayables.push(displayable);\n }\n else {\n this._displayables.push(displayable);\n }\n this.markRedraw();\n };\n IncrementalDisplayable.prototype.addDisplayables = function (displayables, notPersistent) {\n notPersistent = notPersistent || false;\n for (var i = 0; i < displayables.length; i++) {\n this.addDisplayable(displayables[i], notPersistent);\n }\n };\n IncrementalDisplayable.prototype.getDisplayables = function () {\n return this._displayables;\n };\n IncrementalDisplayable.prototype.getTemporalDisplayables = function () {\n return this._temporaryDisplayables;\n };\n IncrementalDisplayable.prototype.eachPendingDisplayable = function (cb) {\n for (var i = this._cursor; i < this._displayables.length; i++) {\n cb && cb(this._displayables[i]);\n }\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n cb && cb(this._temporaryDisplayables[i]);\n }\n };\n IncrementalDisplayable.prototype.update = function () {\n this.updateTransform();\n for (var i = this._cursor; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n for (var i = 0; i < this._temporaryDisplayables.length; i++) {\n var displayable = this._temporaryDisplayables[i];\n displayable.parent = this;\n displayable.update();\n displayable.parent = null;\n }\n };\n IncrementalDisplayable.prototype.getBoundingRect = function () {\n if (!this._rect) {\n var rect = new BoundingRect(Infinity, Infinity, -Infinity, -Infinity);\n for (var i = 0; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n var childRect = displayable.getBoundingRect().clone();\n if (displayable.needLocalTransform()) {\n childRect.applyTransform(displayable.getLocalTransform(m));\n }\n rect.union(childRect);\n }\n this._rect = rect;\n }\n return this._rect;\n };\n IncrementalDisplayable.prototype.contain = function (x, y) {\n var localPos = this.transformCoordToLocal(x, y);\n var rect = this.getBoundingRect();\n if (rect.contain(localPos[0], localPos[1])) {\n for (var i = 0; i < this._displayables.length; i++) {\n var displayable = this._displayables[i];\n if (displayable.contain(x, y)) {\n return true;\n }\n }\n }\n return false;\n };\n return IncrementalDisplayable;\n}(Displayble));\nexport default IncrementalDisplayable;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isFunction, isObject, retrieve2 } from 'zrender/lib/core/util.js';\nimport { makeInner } from '../util/model.js'; // Stored properties for further transition.\n\nexport var transitionStore = makeInner();\n/**\r\n * Return null if animation is disabled.\r\n */\n\nexport function getAnimationConfig(animationType, animatableModel, dataIndex, // Extra opts can override the option in animatable model.\nextraOpts, // TODO It's only for pictorial bar now.\nextraDelayParams) {\n var animationPayload; // Check if there is global animation configuration from dataZoom/resize can override the config in option.\n // If animation is enabled. Will use this animation config in payload.\n // If animation is disabled. Just ignore it.\n\n if (animatableModel && animatableModel.ecModel) {\n var updatePayload = animatableModel.ecModel.getUpdatePayload();\n animationPayload = updatePayload && updatePayload.animation;\n }\n\n var animationEnabled = animatableModel && animatableModel.isAnimationEnabled();\n var isUpdate = animationType === 'update';\n\n if (animationEnabled) {\n var duration = void 0;\n var easing = void 0;\n var delay = void 0;\n\n if (extraOpts) {\n duration = retrieve2(extraOpts.duration, 200);\n easing = retrieve2(extraOpts.easing, 'cubicOut');\n delay = 0;\n } else {\n duration = animatableModel.getShallow(isUpdate ? 'animationDurationUpdate' : 'animationDuration');\n easing = animatableModel.getShallow(isUpdate ? 'animationEasingUpdate' : 'animationEasing');\n delay = animatableModel.getShallow(isUpdate ? 'animationDelayUpdate' : 'animationDelay');\n } // animation from payload has highest priority.\n\n\n if (animationPayload) {\n animationPayload.duration != null && (duration = animationPayload.duration);\n animationPayload.easing != null && (easing = animationPayload.easing);\n animationPayload.delay != null && (delay = animationPayload.delay);\n }\n\n if (isFunction(delay)) {\n delay = delay(dataIndex, extraDelayParams);\n }\n\n if (isFunction(duration)) {\n duration = duration(dataIndex);\n }\n\n var config = {\n duration: duration || 0,\n delay: delay,\n easing: easing\n };\n return config;\n } else {\n return null;\n }\n}\n\nfunction animateOrSetProps(animationType, el, props, animatableModel, dataIndex, cb, during) {\n var isFrom = false;\n var removeOpt;\n\n if (isFunction(dataIndex)) {\n during = cb;\n cb = dataIndex;\n dataIndex = null;\n } else if (isObject(dataIndex)) {\n cb = dataIndex.cb;\n during = dataIndex.during;\n isFrom = dataIndex.isFrom;\n removeOpt = dataIndex.removeOpt;\n dataIndex = dataIndex.dataIndex;\n }\n\n var isRemove = animationType === 'leave';\n\n if (!isRemove) {\n // Must stop the remove animation.\n el.stopAnimation('leave');\n }\n\n var animationConfig = getAnimationConfig(animationType, animatableModel, dataIndex, isRemove ? removeOpt || {} : null, animatableModel && animatableModel.getAnimationDelayParams ? animatableModel.getAnimationDelayParams(el, dataIndex) : null);\n\n if (animationConfig && animationConfig.duration > 0) {\n var duration = animationConfig.duration;\n var animationDelay = animationConfig.delay;\n var animationEasing = animationConfig.easing;\n var animateConfig = {\n duration: duration,\n delay: animationDelay || 0,\n easing: animationEasing,\n done: cb,\n force: !!cb || !!during,\n // Set to final state in update/init animation.\n // So the post processing based on the path shape can be done correctly.\n setToFinal: !isRemove,\n scope: animationType,\n during: during\n };\n isFrom ? el.animateFrom(props, animateConfig) : el.animateTo(props, animateConfig);\n } else {\n el.stopAnimation(); // If `isFrom`, the props is the \"from\" props.\n\n !isFrom && el.attr(props); // Call during at least once.\n\n during && during(1);\n cb && cb();\n }\n}\n/**\r\n * Update graphic element properties with or without animation according to the\r\n * configuration in series.\r\n *\r\n * Caution: this method will stop previous animation.\r\n * So do not use this method to one element twice before\r\n * animation starts, unless you know what you are doing.\r\n * @example\r\n * graphic.updateProps(el, {\r\n * position: [100, 100]\r\n * }, seriesModel, dataIndex, function () { console.log('Animation done!'); });\r\n * // Or\r\n * graphic.updateProps(el, {\r\n * position: [100, 100]\r\n * }, seriesModel, function () { console.log('Animation done!'); });\r\n */\n\n\nfunction updateProps(el, props, // TODO: TYPE AnimatableModel\nanimatableModel, dataIndex, cb, during) {\n animateOrSetProps('update', el, props, animatableModel, dataIndex, cb, during);\n}\n\nexport { updateProps };\n/**\r\n * Init graphic element properties with or without animation according to the\r\n * configuration in series.\r\n *\r\n * Caution: this method will stop previous animation.\r\n * So do not use this method to one element twice before\r\n * animation starts, unless you know what you are doing.\r\n */\n\nexport function initProps(el, props, animatableModel, dataIndex, cb, during) {\n animateOrSetProps('enter', el, props, animatableModel, dataIndex, cb, during);\n}\n/**\r\n * If element is removed.\r\n * It can determine if element is having remove animation.\r\n */\n\nexport function isElementRemoved(el) {\n if (!el.__zr) {\n return true;\n }\n\n for (var i = 0; i < el.animators.length; i++) {\n var animator = el.animators[i];\n\n if (animator.scope === 'leave') {\n return true;\n }\n }\n\n return false;\n}\n/**\r\n * Remove graphic element\r\n */\n\nexport function removeElement(el, props, animatableModel, dataIndex, cb, during) {\n // Don't do remove animation twice.\n if (isElementRemoved(el)) {\n return;\n }\n\n animateOrSetProps('leave', el, props, animatableModel, dataIndex, cb, during);\n}\n\nfunction fadeOutDisplayable(el, animatableModel, dataIndex, done) {\n el.removeTextContent();\n el.removeTextGuideLine();\n removeElement(el, {\n style: {\n opacity: 0\n }\n }, animatableModel, dataIndex, done);\n}\n\nexport function removeElementWithFadeOut(el, animatableModel, dataIndex) {\n function doRemove() {\n el.parent && el.parent.remove(el);\n } // Hide label and labelLine first\n // TODO Also use fade out animation?\n\n\n if (!el.isGroup) {\n fadeOutDisplayable(el, animatableModel, dataIndex, doRemove);\n } else {\n el.traverse(function (disp) {\n if (!disp.isGroup) {\n // Can invoke doRemove multiple times.\n fadeOutDisplayable(disp, animatableModel, dataIndex, doRemove);\n }\n });\n }\n}\n/**\r\n * Save old style for style transition in universalTransition module.\r\n * It's used when element will be reused in each render.\r\n * For chart like map, heatmap, which will always create new element.\r\n * We don't need to save this because universalTransition can get old style from the old element\r\n */\n\nexport function saveOldStyle(el) {\n transitionStore(el).oldStyle = el.style;\n}\nexport function getOldStyle(el) {\n return transitionStore(el).oldStyle;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as pathTool from 'zrender/lib/tool/path.js';\nimport * as matrix from 'zrender/lib/core/matrix.js';\nimport * as vector from 'zrender/lib/core/vector.js';\nimport Path from 'zrender/lib/graphic/Path.js';\nimport Transformable from 'zrender/lib/core/Transformable.js';\nimport ZRImage from 'zrender/lib/graphic/Image.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport ZRText from 'zrender/lib/graphic/Text.js';\nimport Circle from 'zrender/lib/graphic/shape/Circle.js';\nimport Ellipse from 'zrender/lib/graphic/shape/Ellipse.js';\nimport Sector from 'zrender/lib/graphic/shape/Sector.js';\nimport Ring from 'zrender/lib/graphic/shape/Ring.js';\nimport Polygon from 'zrender/lib/graphic/shape/Polygon.js';\nimport Polyline from 'zrender/lib/graphic/shape/Polyline.js';\nimport Rect from 'zrender/lib/graphic/shape/Rect.js';\nimport Line from 'zrender/lib/graphic/shape/Line.js';\nimport BezierCurve from 'zrender/lib/graphic/shape/BezierCurve.js';\nimport Arc from 'zrender/lib/graphic/shape/Arc.js';\nimport CompoundPath from 'zrender/lib/graphic/CompoundPath.js';\nimport LinearGradient from 'zrender/lib/graphic/LinearGradient.js';\nimport RadialGradient from 'zrender/lib/graphic/RadialGradient.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport OrientedBoundingRect from 'zrender/lib/core/OrientedBoundingRect.js';\nimport Point from 'zrender/lib/core/Point.js';\nimport IncrementalDisplayable from 'zrender/lib/graphic/IncrementalDisplayable.js';\nimport * as subPixelOptimizeUtil from 'zrender/lib/graphic/helper/subPixelOptimize.js';\nimport { extend, isArrayLike, map, defaults, isString, keys, each, hasOwn, isArray } from 'zrender/lib/core/util.js';\nimport { getECData } from './innerStore.js';\nimport { updateProps, initProps, removeElement, removeElementWithFadeOut, isElementRemoved } from '../animation/basicTransition.js';\n/**\r\n * @deprecated export for compatitable reason\r\n */\n\nexport { updateProps, initProps, removeElement, removeElementWithFadeOut, isElementRemoved };\nvar mathMax = Math.max;\nvar mathMin = Math.min;\nvar _customShapeMap = {};\n/**\r\n * Extend shape with parameters\r\n */\n\nexport function extendShape(opts) {\n return Path.extend(opts);\n}\nvar extendPathFromString = pathTool.extendFromString;\n/**\r\n * Extend path\r\n */\n\nexport function extendPath(pathData, opts) {\n return extendPathFromString(pathData, opts);\n}\n/**\r\n * Register a user defined shape.\r\n * The shape class can be fetched by `getShapeClass`\r\n * This method will overwrite the registered shapes, including\r\n * the registered built-in shapes, if using the same `name`.\r\n * The shape can be used in `custom series` and\r\n * `graphic component` by declaring `{type: name}`.\r\n *\r\n * @param name\r\n * @param ShapeClass Can be generated by `extendShape`.\r\n */\n\nexport function registerShape(name, ShapeClass) {\n _customShapeMap[name] = ShapeClass;\n}\n/**\r\n * Find shape class registered by `registerShape`. Usually used in\r\n * fetching user defined shape.\r\n *\r\n * [Caution]:\r\n * (1) This method **MUST NOT be used inside echarts !!!**, unless it is prepared\r\n * to use user registered shapes.\r\n * Because the built-in shape (see `getBuiltInShape`) will be registered by\r\n * `registerShape` by default. That enables users to get both built-in\r\n * shapes as well as the shapes belonging to themsleves. But users can overwrite\r\n * the built-in shapes by using names like 'circle', 'rect' via calling\r\n * `registerShape`. So the echarts inner featrues should not fetch shapes from here\r\n * in case that it is overwritten by users, except that some features, like\r\n * `custom series`, `graphic component`, do it deliberately.\r\n *\r\n * (2) In the features like `custom series`, `graphic component`, the user input\r\n * `{tpye: 'xxx'}` does not only specify shapes but also specify other graphic\r\n * elements like `'group'`, `'text'`, `'image'` or event `'path'`. Those names\r\n * are reserved names, that is, if some user registers a shape named `'image'`,\r\n * the shape will not be used. If we intending to add some more reserved names\r\n * in feature, that might bring break changes (disable some existing user shape\r\n * names). But that case probably rarely happens. So we don't make more mechanism\r\n * to resolve this issue here.\r\n *\r\n * @param name\r\n * @return The shape class. If not found, return nothing.\r\n */\n\nexport function getShapeClass(name) {\n if (_customShapeMap.hasOwnProperty(name)) {\n return _customShapeMap[name];\n }\n}\n/**\r\n * Create a path element from path data string\r\n * @param pathData\r\n * @param opts\r\n * @param rect\r\n * @param layout 'center' or 'cover' default to be cover\r\n */\n\nexport function makePath(pathData, opts, rect, layout) {\n var path = pathTool.createFromString(pathData, opts);\n\n if (rect) {\n if (layout === 'center') {\n rect = centerGraphic(rect, path.getBoundingRect());\n }\n\n resizePath(path, rect);\n }\n\n return path;\n}\n/**\r\n * Create a image element from image url\r\n * @param imageUrl image url\r\n * @param opts options\r\n * @param rect constrain rect\r\n * @param layout 'center' or 'cover'. Default to be 'cover'\r\n */\n\nexport function makeImage(imageUrl, rect, layout) {\n var zrImg = new ZRImage({\n style: {\n image: imageUrl,\n x: rect.x,\n y: rect.y,\n width: rect.width,\n height: rect.height\n },\n onload: function (img) {\n if (layout === 'center') {\n var boundingRect = {\n width: img.width,\n height: img.height\n };\n zrImg.setStyle(centerGraphic(rect, boundingRect));\n }\n }\n });\n return zrImg;\n}\n/**\r\n * Get position of centered element in bounding box.\r\n *\r\n * @param rect element local bounding box\r\n * @param boundingRect constraint bounding box\r\n * @return element position containing x, y, width, and height\r\n */\n\nfunction centerGraphic(rect, boundingRect) {\n // Set rect to center, keep width / height ratio.\n var aspect = boundingRect.width / boundingRect.height;\n var width = rect.height * aspect;\n var height;\n\n if (width <= rect.width) {\n height = rect.height;\n } else {\n width = rect.width;\n height = width / aspect;\n }\n\n var cx = rect.x + rect.width / 2;\n var cy = rect.y + rect.height / 2;\n return {\n x: cx - width / 2,\n y: cy - height / 2,\n width: width,\n height: height\n };\n}\n\nexport var mergePath = pathTool.mergePath;\n/**\r\n * Resize a path to fit the rect\r\n * @param path\r\n * @param rect\r\n */\n\nexport function resizePath(path, rect) {\n if (!path.applyTransform) {\n return;\n }\n\n var pathRect = path.getBoundingRect();\n var m = pathRect.calculateTransform(rect);\n path.applyTransform(m);\n}\n/**\r\n * Sub pixel optimize line for canvas\r\n */\n\nexport function subPixelOptimizeLine(shape, lineWidth) {\n subPixelOptimizeUtil.subPixelOptimizeLine(shape, shape, {\n lineWidth: lineWidth\n });\n return shape;\n}\n/**\r\n * Sub pixel optimize rect for canvas\r\n */\n\nexport function subPixelOptimizeRect(param) {\n subPixelOptimizeUtil.subPixelOptimizeRect(param.shape, param.shape, param.style);\n return param;\n}\n/**\r\n * Sub pixel optimize for canvas\r\n *\r\n * @param position Coordinate, such as x, y\r\n * @param lineWidth Should be nonnegative integer.\r\n * @param positiveOrNegative Default false (negative).\r\n * @return Optimized position.\r\n */\n\nexport var subPixelOptimize = subPixelOptimizeUtil.subPixelOptimize;\n/**\r\n * Get transform matrix of target (param target),\r\n * in coordinate of its ancestor (param ancestor)\r\n *\r\n * @param target\r\n * @param [ancestor]\r\n */\n\nexport function getTransform(target, ancestor) {\n var mat = matrix.identity([]);\n\n while (target && target !== ancestor) {\n matrix.mul(mat, target.getLocalTransform(), mat);\n target = target.parent;\n }\n\n return mat;\n}\n/**\r\n * Apply transform to an vertex.\r\n * @param target [x, y]\r\n * @param transform Can be:\r\n * + Transform matrix: like [1, 0, 0, 1, 0, 0]\r\n * + {position, rotation, scale}, the same as `zrender/Transformable`.\r\n * @param invert Whether use invert matrix.\r\n * @return [x, y]\r\n */\n\nexport function applyTransform(target, transform, invert) {\n if (transform && !isArrayLike(transform)) {\n transform = Transformable.getLocalTransform(transform);\n }\n\n if (invert) {\n transform = matrix.invert([], transform);\n }\n\n return vector.applyTransform([], target, transform);\n}\n/**\r\n * @param direction 'left' 'right' 'top' 'bottom'\r\n * @param transform Transform matrix: like [1, 0, 0, 1, 0, 0]\r\n * @param invert Whether use invert matrix.\r\n * @return Transformed direction. 'left' 'right' 'top' 'bottom'\r\n */\n\nexport function transformDirection(direction, transform, invert) {\n // Pick a base, ensure that transform result will not be (0, 0).\n var hBase = transform[4] === 0 || transform[5] === 0 || transform[0] === 0 ? 1 : Math.abs(2 * transform[4] / transform[0]);\n var vBase = transform[4] === 0 || transform[5] === 0 || transform[2] === 0 ? 1 : Math.abs(2 * transform[4] / transform[2]);\n var vertex = [direction === 'left' ? -hBase : direction === 'right' ? hBase : 0, direction === 'top' ? -vBase : direction === 'bottom' ? vBase : 0];\n vertex = applyTransform(vertex, transform, invert);\n return Math.abs(vertex[0]) > Math.abs(vertex[1]) ? vertex[0] > 0 ? 'right' : 'left' : vertex[1] > 0 ? 'bottom' : 'top';\n}\n\nfunction isNotGroup(el) {\n return !el.isGroup;\n}\n\nfunction isPath(el) {\n return el.shape != null;\n}\n/**\r\n * Apply group transition animation from g1 to g2.\r\n * If no animatableModel, no animation.\r\n */\n\n\nexport function groupTransition(g1, g2, animatableModel) {\n if (!g1 || !g2) {\n return;\n }\n\n function getElMap(g) {\n var elMap = {};\n g.traverse(function (el) {\n if (isNotGroup(el) && el.anid) {\n elMap[el.anid] = el;\n }\n });\n return elMap;\n }\n\n function getAnimatableProps(el) {\n var obj = {\n x: el.x,\n y: el.y,\n rotation: el.rotation\n };\n\n if (isPath(el)) {\n obj.shape = extend({}, el.shape);\n }\n\n return obj;\n }\n\n var elMap1 = getElMap(g1);\n g2.traverse(function (el) {\n if (isNotGroup(el) && el.anid) {\n var oldEl = elMap1[el.anid];\n\n if (oldEl) {\n var newProp = getAnimatableProps(el);\n el.attr(getAnimatableProps(oldEl));\n updateProps(el, newProp, animatableModel, getECData(el).dataIndex);\n }\n }\n });\n}\nexport function clipPointsByRect(points, rect) {\n // FIXME: This way might be incorrect when graphic clipped by a corner\n // and when element has a border.\n return map(points, function (point) {\n var x = point[0];\n x = mathMax(x, rect.x);\n x = mathMin(x, rect.x + rect.width);\n var y = point[1];\n y = mathMax(y, rect.y);\n y = mathMin(y, rect.y + rect.height);\n return [x, y];\n });\n}\n/**\r\n * Return a new clipped rect. If rect size are negative, return undefined.\r\n */\n\nexport function clipRectByRect(targetRect, rect) {\n var x = mathMax(targetRect.x, rect.x);\n var x2 = mathMin(targetRect.x + targetRect.width, rect.x + rect.width);\n var y = mathMax(targetRect.y, rect.y);\n var y2 = mathMin(targetRect.y + targetRect.height, rect.y + rect.height); // If the total rect is cliped, nothing, including the border,\n // should be painted. So return undefined.\n\n if (x2 >= x && y2 >= y) {\n return {\n x: x,\n y: y,\n width: x2 - x,\n height: y2 - y\n };\n }\n}\nexport function createIcon(iconStr, // Support 'image://' or 'path://' or direct svg path.\nopt, rect) {\n var innerOpts = extend({\n rectHover: true\n }, opt);\n var style = innerOpts.style = {\n strokeNoScale: true\n };\n rect = rect || {\n x: -1,\n y: -1,\n width: 2,\n height: 2\n };\n\n if (iconStr) {\n return iconStr.indexOf('image://') === 0 ? (style.image = iconStr.slice(8), defaults(style, rect), new ZRImage(innerOpts)) : makePath(iconStr.replace('path://', ''), innerOpts, rect, 'center');\n }\n}\n/**\r\n * Return `true` if the given line (line `a`) and the given polygon\r\n * are intersect.\r\n * Note that we do not count colinear as intersect here because no\r\n * requirement for that. We could do that if required in future.\r\n */\n\nexport function linePolygonIntersect(a1x, a1y, a2x, a2y, points) {\n for (var i = 0, p2 = points[points.length - 1]; i < points.length; i++) {\n var p = points[i];\n\n if (lineLineIntersect(a1x, a1y, a2x, a2y, p[0], p[1], p2[0], p2[1])) {\n return true;\n }\n\n p2 = p;\n }\n}\n/**\r\n * Return `true` if the given two lines (line `a` and line `b`)\r\n * are intersect.\r\n * Note that we do not count colinear as intersect here because no\r\n * requirement for that. We could do that if required in future.\r\n */\n\nexport function lineLineIntersect(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y) {\n // let `vec_m` to be `vec_a2 - vec_a1` and `vec_n` to be `vec_b2 - vec_b1`.\n var mx = a2x - a1x;\n var my = a2y - a1y;\n var nx = b2x - b1x;\n var ny = b2y - b1y; // `vec_m` and `vec_n` are parallel iff\n // existing `k` such that `vec_m = k · vec_n`, equivalent to `vec_m X vec_n = 0`.\n\n var nmCrossProduct = crossProduct2d(nx, ny, mx, my);\n\n if (nearZero(nmCrossProduct)) {\n return false;\n } // `vec_m` and `vec_n` are intersect iff\n // existing `p` and `q` in [0, 1] such that `vec_a1 + p * vec_m = vec_b1 + q * vec_n`,\n // such that `q = ((vec_a1 - vec_b1) X vec_m) / (vec_n X vec_m)`\n // and `p = ((vec_a1 - vec_b1) X vec_n) / (vec_n X vec_m)`.\n\n\n var b1a1x = a1x - b1x;\n var b1a1y = a1y - b1y;\n var q = crossProduct2d(b1a1x, b1a1y, mx, my) / nmCrossProduct;\n\n if (q < 0 || q > 1) {\n return false;\n }\n\n var p = crossProduct2d(b1a1x, b1a1y, nx, ny) / nmCrossProduct;\n\n if (p < 0 || p > 1) {\n return false;\n }\n\n return true;\n}\n/**\r\n * Cross product of 2-dimension vector.\r\n */\n\nfunction crossProduct2d(x1, y1, x2, y2) {\n return x1 * y2 - x2 * y1;\n}\n\nfunction nearZero(val) {\n return val <= 1e-6 && val >= -1e-6;\n}\n\nexport function setTooltipConfig(opt) {\n var itemTooltipOption = opt.itemTooltipOption;\n var componentModel = opt.componentModel;\n var itemName = opt.itemName;\n var itemTooltipOptionObj = isString(itemTooltipOption) ? {\n formatter: itemTooltipOption\n } : itemTooltipOption;\n var mainType = componentModel.mainType;\n var componentIndex = componentModel.componentIndex;\n var formatterParams = {\n componentType: mainType,\n name: itemName,\n $vars: ['name']\n };\n formatterParams[mainType + 'Index'] = componentIndex;\n var formatterParamsExtra = opt.formatterParamsExtra;\n\n if (formatterParamsExtra) {\n each(keys(formatterParamsExtra), function (key) {\n if (!hasOwn(formatterParams, key)) {\n formatterParams[key] = formatterParamsExtra[key];\n formatterParams.$vars.push(key);\n }\n });\n }\n\n var ecData = getECData(opt.el);\n ecData.componentMainType = mainType;\n ecData.componentIndex = componentIndex;\n ecData.tooltipConfig = {\n name: itemName,\n option: defaults({\n content: itemName,\n formatterParams: formatterParams\n }, itemTooltipOptionObj)\n };\n}\n\nfunction traverseElement(el, cb) {\n var stopped; // TODO\n // Polyfill for fixing zrender group traverse don't visit it's root issue.\n\n if (el.isGroup) {\n stopped = cb(el);\n }\n\n if (!stopped) {\n el.traverse(cb);\n }\n}\n\nexport function traverseElements(els, cb) {\n if (els) {\n if (isArray(els)) {\n for (var i = 0; i < els.length; i++) {\n traverseElement(els[i], cb);\n }\n } else {\n traverseElement(els, cb);\n }\n }\n} // Register built-in shapes. These shapes might be overwritten\n// by users, although we do not recommend that.\n\nregisterShape('circle', Circle);\nregisterShape('ellipse', Ellipse);\nregisterShape('sector', Sector);\nregisterShape('ring', Ring);\nregisterShape('polygon', Polygon);\nregisterShape('polyline', Polyline);\nregisterShape('rect', Rect);\nregisterShape('line', Line);\nregisterShape('bezierCurve', BezierCurve);\nregisterShape('arc', Arc);\nexport { Group, ZRImage as Image, ZRText as Text, Circle, Ellipse, Sector, Ring, Polygon, Polyline, Rect, Line, BezierCurve, Arc, IncrementalDisplayable, CompoundPath, LinearGradient, RadialGradient, BoundingRect, OrientedBoundingRect, Point, Path };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport ZRText from 'zrender/lib/graphic/Text.js';\nimport { isFunction, retrieve2, extend, keys, trim } from 'zrender/lib/core/util.js';\nimport { SPECIAL_STATES, DISPLAY_STATES } from '../util/states.js';\nimport { deprecateReplaceLog } from '../util/log.js';\nimport { makeInner, interpolateRawValues } from '../util/model.js';\nimport { initProps, updateProps } from '../util/graphic.js';\nvar EMPTY_OBJ = {};\nexport function setLabelText(label, labelTexts) {\n for (var i = 0; i < SPECIAL_STATES.length; i++) {\n var stateName = SPECIAL_STATES[i];\n var text = labelTexts[stateName];\n var state = label.ensureState(stateName);\n state.style = state.style || {};\n state.style.text = text;\n }\n\n var oldStates = label.currentStates.slice();\n label.clearStates(true);\n label.setStyle({\n text: labelTexts.normal\n });\n label.useStates(oldStates, true);\n}\n\nfunction getLabelText(opt, stateModels, interpolatedValue) {\n var labelFetcher = opt.labelFetcher;\n var labelDataIndex = opt.labelDataIndex;\n var labelDimIndex = opt.labelDimIndex;\n var normalModel = stateModels.normal;\n var baseText;\n\n if (labelFetcher) {\n baseText = labelFetcher.getFormattedLabel(labelDataIndex, 'normal', null, labelDimIndex, normalModel && normalModel.get('formatter'), interpolatedValue != null ? {\n interpolatedValue: interpolatedValue\n } : null);\n }\n\n if (baseText == null) {\n baseText = isFunction(opt.defaultText) ? opt.defaultText(labelDataIndex, opt, interpolatedValue) : opt.defaultText;\n }\n\n var statesText = {\n normal: baseText\n };\n\n for (var i = 0; i < SPECIAL_STATES.length; i++) {\n var stateName = SPECIAL_STATES[i];\n var stateModel = stateModels[stateName];\n statesText[stateName] = retrieve2(labelFetcher ? labelFetcher.getFormattedLabel(labelDataIndex, stateName, null, labelDimIndex, stateModel && stateModel.get('formatter')) : null, baseText);\n }\n\n return statesText;\n}\n\nfunction setLabelStyle(targetEl, labelStatesModels, opt, stateSpecified // TODO specified position?\n) {\n opt = opt || EMPTY_OBJ;\n var isSetOnText = targetEl instanceof ZRText;\n var needsCreateText = false;\n\n for (var i = 0; i < DISPLAY_STATES.length; i++) {\n var stateModel = labelStatesModels[DISPLAY_STATES[i]];\n\n if (stateModel && stateModel.getShallow('show')) {\n needsCreateText = true;\n break;\n }\n }\n\n var textContent = isSetOnText ? targetEl : targetEl.getTextContent();\n\n if (needsCreateText) {\n if (!isSetOnText) {\n // Reuse the previous\n if (!textContent) {\n textContent = new ZRText();\n targetEl.setTextContent(textContent);\n } // Use same state proxy\n\n\n if (targetEl.stateProxy) {\n textContent.stateProxy = targetEl.stateProxy;\n }\n }\n\n var labelStatesTexts = getLabelText(opt, labelStatesModels);\n var normalModel = labelStatesModels.normal;\n var showNormal = !!normalModel.getShallow('show');\n var normalStyle = createTextStyle(normalModel, stateSpecified && stateSpecified.normal, opt, false, !isSetOnText);\n normalStyle.text = labelStatesTexts.normal;\n\n if (!isSetOnText) {\n // Always create new\n targetEl.setTextConfig(createTextConfig(normalModel, opt, false));\n }\n\n for (var i = 0; i < SPECIAL_STATES.length; i++) {\n var stateName = SPECIAL_STATES[i];\n var stateModel = labelStatesModels[stateName];\n\n if (stateModel) {\n var stateObj = textContent.ensureState(stateName);\n var stateShow = !!retrieve2(stateModel.getShallow('show'), showNormal);\n\n if (stateShow !== showNormal) {\n stateObj.ignore = !stateShow;\n }\n\n stateObj.style = createTextStyle(stateModel, stateSpecified && stateSpecified[stateName], opt, true, !isSetOnText);\n stateObj.style.text = labelStatesTexts[stateName];\n\n if (!isSetOnText) {\n var targetElEmphasisState = targetEl.ensureState(stateName);\n targetElEmphasisState.textConfig = createTextConfig(stateModel, opt, true);\n }\n }\n } // PENDING: if there is many requirements that emphasis position\n // need to be different from normal position, we might consider\n // auto silent is those cases.\n\n\n textContent.silent = !!normalModel.getShallow('silent'); // Keep x and y\n\n if (textContent.style.x != null) {\n normalStyle.x = textContent.style.x;\n }\n\n if (textContent.style.y != null) {\n normalStyle.y = textContent.style.y;\n }\n\n textContent.ignore = !showNormal; // Always create new style.\n\n textContent.useStyle(normalStyle);\n textContent.dirty();\n\n if (opt.enableTextSetter) {\n labelInner(textContent).setLabelText = function (interpolatedValue) {\n var labelStatesTexts = getLabelText(opt, labelStatesModels, interpolatedValue);\n setLabelText(textContent, labelStatesTexts);\n };\n }\n } else if (textContent) {\n // Not display rich text.\n textContent.ignore = true;\n }\n\n targetEl.dirty();\n}\n\nexport { setLabelStyle };\nexport function getLabelStatesModels(itemModel, labelName) {\n labelName = labelName || 'label';\n var statesModels = {\n normal: itemModel.getModel(labelName)\n };\n\n for (var i = 0; i < SPECIAL_STATES.length; i++) {\n var stateName = SPECIAL_STATES[i];\n statesModels[stateName] = itemModel.getModel([stateName, labelName]);\n }\n\n return statesModels;\n}\n/**\r\n * Set basic textStyle properties.\r\n */\n\nexport function createTextStyle(textStyleModel, specifiedTextStyle, // Fixed style in the code. Can't be set by model.\nopt, isNotNormal, isAttached // If text is attached on an element. If so, auto color will handling in zrender.\n) {\n var textStyle = {};\n setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached);\n specifiedTextStyle && extend(textStyle, specifiedTextStyle); // textStyle.host && textStyle.host.dirty && textStyle.host.dirty(false);\n\n return textStyle;\n}\nexport function createTextConfig(textStyleModel, opt, isNotNormal) {\n opt = opt || {};\n var textConfig = {};\n var labelPosition;\n var labelRotate = textStyleModel.getShallow('rotate');\n var labelDistance = retrieve2(textStyleModel.getShallow('distance'), isNotNormal ? null : 5);\n var labelOffset = textStyleModel.getShallow('offset');\n labelPosition = textStyleModel.getShallow('position') || (isNotNormal ? null : 'inside'); // 'outside' is not a valid zr textPostion value, but used\n // in bar series, and magric type should be considered.\n\n labelPosition === 'outside' && (labelPosition = opt.defaultOutsidePosition || 'top');\n\n if (labelPosition != null) {\n textConfig.position = labelPosition;\n }\n\n if (labelOffset != null) {\n textConfig.offset = labelOffset;\n }\n\n if (labelRotate != null) {\n labelRotate *= Math.PI / 180;\n textConfig.rotation = labelRotate;\n }\n\n if (labelDistance != null) {\n textConfig.distance = labelDistance;\n } // fill and auto is determined by the color of path fill if it's not specified by developers.\n\n\n textConfig.outsideFill = textStyleModel.get('color') === 'inherit' ? opt.inheritColor || null : 'auto';\n return textConfig;\n}\n/**\r\n * The uniform entry of set text style, that is, retrieve style definitions\r\n * from `model` and set to `textStyle` object.\r\n *\r\n * Never in merge mode, but in overwrite mode, that is, all of the text style\r\n * properties will be set. (Consider the states of normal and emphasis and\r\n * default value can be adopted, merge would make the logic too complicated\r\n * to manage.)\r\n */\n\nfunction setTextStyleCommon(textStyle, textStyleModel, opt, isNotNormal, isAttached) {\n // Consider there will be abnormal when merge hover style to normal style if given default value.\n opt = opt || EMPTY_OBJ;\n var ecModel = textStyleModel.ecModel;\n var globalTextStyle = ecModel && ecModel.option.textStyle; // Consider case:\n // {\n // data: [{\n // value: 12,\n // label: {\n // rich: {\n // // no 'a' here but using parent 'a'.\n // }\n // }\n // }],\n // rich: {\n // a: { ... }\n // }\n // }\n\n var richItemNames = getRichItemNames(textStyleModel);\n var richResult;\n\n if (richItemNames) {\n richResult = {};\n\n for (var name_1 in richItemNames) {\n if (richItemNames.hasOwnProperty(name_1)) {\n // Cascade is supported in rich.\n var richTextStyle = textStyleModel.getModel(['rich', name_1]); // In rich, never `disableBox`.\n // FIXME: consider `label: {formatter: '{a|xx}', color: 'blue', rich: {a: {}}}`,\n // the default color `'blue'` will not be adopted if no color declared in `rich`.\n // That might confuses users. So probably we should put `textStyleModel` as the\n // root ancestor of the `richTextStyle`. But that would be a break change.\n\n setTokenTextStyle(richResult[name_1] = {}, richTextStyle, globalTextStyle, opt, isNotNormal, isAttached, false, true);\n }\n }\n }\n\n if (richResult) {\n textStyle.rich = richResult;\n }\n\n var overflow = textStyleModel.get('overflow');\n\n if (overflow) {\n textStyle.overflow = overflow;\n }\n\n var margin = textStyleModel.get('minMargin');\n\n if (margin != null) {\n textStyle.margin = margin;\n }\n\n setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, true, false);\n} // Consider case:\n// {\n// data: [{\n// value: 12,\n// label: {\n// rich: {\n// // no 'a' here but using parent 'a'.\n// }\n// }\n// }],\n// rich: {\n// a: { ... }\n// }\n// }\n// TODO TextStyleModel\n\n\nfunction getRichItemNames(textStyleModel) {\n // Use object to remove duplicated names.\n var richItemNameMap;\n\n while (textStyleModel && textStyleModel !== textStyleModel.ecModel) {\n var rich = (textStyleModel.option || EMPTY_OBJ).rich;\n\n if (rich) {\n richItemNameMap = richItemNameMap || {};\n var richKeys = keys(rich);\n\n for (var i = 0; i < richKeys.length; i++) {\n var richKey = richKeys[i];\n richItemNameMap[richKey] = 1;\n }\n }\n\n textStyleModel = textStyleModel.parentModel;\n }\n\n return richItemNameMap;\n}\n\nvar TEXT_PROPS_WITH_GLOBAL = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'textShadowColor', 'textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY'];\nvar TEXT_PROPS_SELF = ['align', 'lineHeight', 'width', 'height', 'tag', 'verticalAlign', 'ellipsis'];\nvar TEXT_PROPS_BOX = ['padding', 'borderWidth', 'borderRadius', 'borderDashOffset', 'backgroundColor', 'borderColor', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\n\nfunction setTokenTextStyle(textStyle, textStyleModel, globalTextStyle, opt, isNotNormal, isAttached, isBlock, inRich) {\n // In merge mode, default value should not be given.\n globalTextStyle = !isNotNormal && globalTextStyle || EMPTY_OBJ;\n var inheritColor = opt && opt.inheritColor;\n var fillColor = textStyleModel.getShallow('color');\n var strokeColor = textStyleModel.getShallow('textBorderColor');\n var opacity = retrieve2(textStyleModel.getShallow('opacity'), globalTextStyle.opacity);\n\n if (fillColor === 'inherit' || fillColor === 'auto') {\n if (process.env.NODE_ENV !== 'production') {\n if (fillColor === 'auto') {\n deprecateReplaceLog('color: \\'auto\\'', 'color: \\'inherit\\'');\n }\n }\n\n if (inheritColor) {\n fillColor = inheritColor;\n } else {\n fillColor = null;\n }\n }\n\n if (strokeColor === 'inherit' || strokeColor === 'auto') {\n if (process.env.NODE_ENV !== 'production') {\n if (strokeColor === 'auto') {\n deprecateReplaceLog('color: \\'auto\\'', 'color: \\'inherit\\'');\n }\n }\n\n if (inheritColor) {\n strokeColor = inheritColor;\n } else {\n strokeColor = null;\n }\n }\n\n if (!isAttached) {\n // Only use default global textStyle.color if text is individual.\n // Otherwise it will use the strategy of attached text color because text may be on a path.\n fillColor = fillColor || globalTextStyle.color;\n strokeColor = strokeColor || globalTextStyle.textBorderColor;\n }\n\n if (fillColor != null) {\n textStyle.fill = fillColor;\n }\n\n if (strokeColor != null) {\n textStyle.stroke = strokeColor;\n }\n\n var textBorderWidth = retrieve2(textStyleModel.getShallow('textBorderWidth'), globalTextStyle.textBorderWidth);\n\n if (textBorderWidth != null) {\n textStyle.lineWidth = textBorderWidth;\n }\n\n var textBorderType = retrieve2(textStyleModel.getShallow('textBorderType'), globalTextStyle.textBorderType);\n\n if (textBorderType != null) {\n textStyle.lineDash = textBorderType;\n }\n\n var textBorderDashOffset = retrieve2(textStyleModel.getShallow('textBorderDashOffset'), globalTextStyle.textBorderDashOffset);\n\n if (textBorderDashOffset != null) {\n textStyle.lineDashOffset = textBorderDashOffset;\n }\n\n if (!isNotNormal && opacity == null && !inRich) {\n opacity = opt && opt.defaultOpacity;\n }\n\n if (opacity != null) {\n textStyle.opacity = opacity;\n } // TODO\n\n\n if (!isNotNormal && !isAttached) {\n // Set default finally.\n if (textStyle.fill == null && opt.inheritColor) {\n textStyle.fill = opt.inheritColor;\n }\n } // Do not use `getFont` here, because merge should be supported, where\n // part of these properties may be changed in emphasis style, and the\n // others should remain their original value got from normal style.\n\n\n for (var i = 0; i < TEXT_PROPS_WITH_GLOBAL.length; i++) {\n var key = TEXT_PROPS_WITH_GLOBAL[i];\n var val = retrieve2(textStyleModel.getShallow(key), globalTextStyle[key]);\n\n if (val != null) {\n textStyle[key] = val;\n }\n }\n\n for (var i = 0; i < TEXT_PROPS_SELF.length; i++) {\n var key = TEXT_PROPS_SELF[i];\n var val = textStyleModel.getShallow(key);\n\n if (val != null) {\n textStyle[key] = val;\n }\n }\n\n if (textStyle.verticalAlign == null) {\n var baseline = textStyleModel.getShallow('baseline');\n\n if (baseline != null) {\n textStyle.verticalAlign = baseline;\n }\n }\n\n if (!isBlock || !opt.disableBox) {\n for (var i = 0; i < TEXT_PROPS_BOX.length; i++) {\n var key = TEXT_PROPS_BOX[i];\n var val = textStyleModel.getShallow(key);\n\n if (val != null) {\n textStyle[key] = val;\n }\n }\n\n var borderType = textStyleModel.getShallow('borderType');\n\n if (borderType != null) {\n textStyle.borderDash = borderType;\n }\n\n if ((textStyle.backgroundColor === 'auto' || textStyle.backgroundColor === 'inherit') && inheritColor) {\n if (process.env.NODE_ENV !== 'production') {\n if (textStyle.backgroundColor === 'auto') {\n deprecateReplaceLog('backgroundColor: \\'auto\\'', 'backgroundColor: \\'inherit\\'');\n }\n }\n\n textStyle.backgroundColor = inheritColor;\n }\n\n if ((textStyle.borderColor === 'auto' || textStyle.borderColor === 'inherit') && inheritColor) {\n if (process.env.NODE_ENV !== 'production') {\n if (textStyle.borderColor === 'auto') {\n deprecateReplaceLog('borderColor: \\'auto\\'', 'borderColor: \\'inherit\\'');\n }\n }\n\n textStyle.borderColor = inheritColor;\n }\n }\n}\n\nexport function getFont(opt, ecModel) {\n var gTextStyleModel = ecModel && ecModel.getModel('textStyle');\n return trim([// FIXME in node-canvas fontWeight is before fontStyle\n opt.fontStyle || gTextStyleModel && gTextStyleModel.getShallow('fontStyle') || '', opt.fontWeight || gTextStyleModel && gTextStyleModel.getShallow('fontWeight') || '', (opt.fontSize || gTextStyleModel && gTextStyleModel.getShallow('fontSize') || 12) + 'px', opt.fontFamily || gTextStyleModel && gTextStyleModel.getShallow('fontFamily') || 'sans-serif'].join(' '));\n}\nexport var labelInner = makeInner();\nexport function setLabelValueAnimation(label, labelStatesModels, value, getDefaultText) {\n if (!label) {\n return;\n }\n\n var obj = labelInner(label);\n obj.prevValue = obj.value;\n obj.value = value;\n var normalLabelModel = labelStatesModels.normal;\n obj.valueAnimation = normalLabelModel.get('valueAnimation');\n\n if (obj.valueAnimation) {\n obj.precision = normalLabelModel.get('precision');\n obj.defaultInterpolatedText = getDefaultText;\n obj.statesModels = labelStatesModels;\n }\n}\nexport function animateLabelValue(textEl, dataIndex, data, animatableModel, labelFetcher) {\n var labelInnerStore = labelInner(textEl);\n\n if (!labelInnerStore.valueAnimation || labelInnerStore.prevValue === labelInnerStore.value) {\n // Value not changed, no new label animation\n return;\n }\n\n var defaultInterpolatedText = labelInnerStore.defaultInterpolatedText; // Consider the case that being animating, do not use the `obj.value`,\n // Otherwise it will jump to the `obj.value` when this new animation started.\n\n var currValue = retrieve2(labelInnerStore.interpolatedValue, labelInnerStore.prevValue);\n var targetValue = labelInnerStore.value;\n\n function during(percent) {\n var interpolated = interpolateRawValues(data, labelInnerStore.precision, currValue, targetValue, percent);\n labelInnerStore.interpolatedValue = percent === 1 ? null : interpolated;\n var labelText = getLabelText({\n labelDataIndex: dataIndex,\n labelFetcher: labelFetcher,\n defaultText: defaultInterpolatedText ? defaultInterpolatedText(interpolated) : interpolated + ''\n }, labelInnerStore.statesModels, interpolated);\n setLabelText(textEl, labelText);\n }\n\n textEl.percent = 0;\n (labelInnerStore.prevValue == null ? initProps : updateProps)(textEl, {\n // percent is used to prevent animation from being aborted #15916\n percent: 1\n }, animatableModel, dataIndex, null, during);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { getFont } from '../../label/labelStyle.js';\nimport ZRText from 'zrender/lib/graphic/Text.js';\nvar PATH_COLOR = ['textStyle', 'color'];\nvar textStyleParams = ['fontStyle', 'fontWeight', 'fontSize', 'fontFamily', 'padding', 'lineHeight', 'rich', 'width', 'height', 'overflow']; // TODO Performance improvement?\n\nvar tmpText = new ZRText();\n\nvar TextStyleMixin =\n/** @class */\nfunction () {\n function TextStyleMixin() {}\n /**\r\n * Get color property or get color from option.textStyle.color\r\n */\n // TODO Callback\n\n\n TextStyleMixin.prototype.getTextColor = function (isEmphasis) {\n var ecModel = this.ecModel;\n return this.getShallow('color') || (!isEmphasis && ecModel ? ecModel.get(PATH_COLOR) : null);\n };\n /**\r\n * Create font string from fontStyle, fontWeight, fontSize, fontFamily\r\n * @return {string}\r\n */\n\n\n TextStyleMixin.prototype.getFont = function () {\n return getFont({\n fontStyle: this.getShallow('fontStyle'),\n fontWeight: this.getShallow('fontWeight'),\n fontSize: this.getShallow('fontSize'),\n fontFamily: this.getShallow('fontFamily')\n }, this.ecModel);\n };\n\n TextStyleMixin.prototype.getTextRect = function (text) {\n var style = {\n text: text,\n verticalAlign: this.getShallow('verticalAlign') || this.getShallow('baseline')\n };\n\n for (var i = 0; i < textStyleParams.length; i++) {\n style[textStyleParams[i]] = this.getShallow(textStyleParams[i]);\n }\n\n tmpText.useStyle(style);\n tmpText.update();\n return tmpText.getBoundingRect();\n };\n\n return TextStyleMixin;\n}();\n\n;\nexport default TextStyleMixin;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport makeStyleMapper from './makeStyleMapper.js';\nexport var LINE_STYLE_KEY_MAP = [['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['lineDash', 'type'], ['lineDashOffset', 'dashOffset'], ['lineCap', 'cap'], ['lineJoin', 'join'], ['miterLimit'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n// So do not transfer decal directly.\n];\nvar getLineStyle = makeStyleMapper(LINE_STYLE_KEY_MAP);\n\nvar LineStyleMixin =\n/** @class */\nfunction () {\n function LineStyleMixin() {}\n\n LineStyleMixin.prototype.getLineStyle = function (excludes) {\n return getLineStyle(this, excludes);\n };\n\n return LineStyleMixin;\n}();\n\n;\nexport { LineStyleMixin };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport makeStyleMapper from './makeStyleMapper.js';\nexport var ITEM_STYLE_KEY_MAP = [['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['lineDash', 'borderType'], ['lineDashOffset', 'borderDashOffset'], ['lineCap', 'borderCap'], ['lineJoin', 'borderJoin'], ['miterLimit', 'borderMiterLimit'] // Option decal is in `DecalObject` but style.decal is in `PatternObject`.\n// So do not transfer decal directly.\n];\nvar getItemStyle = makeStyleMapper(ITEM_STYLE_KEY_MAP);\n\nvar ItemStyleMixin =\n/** @class */\nfunction () {\n function ItemStyleMixin() {}\n\n ItemStyleMixin.prototype.getItemStyle = function (excludes, includes) {\n return getItemStyle(this, excludes, includes);\n };\n\n return ItemStyleMixin;\n}();\n\nexport { ItemStyleMixin };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport env from 'zrender/lib/core/env.js';\nimport { enableClassExtend, enableClassCheck } from '../util/clazz.js';\nimport { AreaStyleMixin } from './mixin/areaStyle.js';\nimport TextStyleMixin from './mixin/textStyle.js';\nimport { LineStyleMixin } from './mixin/lineStyle.js';\nimport { ItemStyleMixin } from './mixin/itemStyle.js';\nimport { mixin, clone, merge } from 'zrender/lib/core/util.js';\n\nvar Model =\n/** @class */\nfunction () {\n function Model(option, parentModel, ecModel) {\n this.parentModel = parentModel;\n this.ecModel = ecModel;\n this.option = option; // Simple optimization\n // if (this.init) {\n // if (arguments.length <= 4) {\n // this.init(option, parentModel, ecModel, extraOpt);\n // }\n // else {\n // this.init.apply(this, arguments);\n // }\n // }\n }\n\n Model.prototype.init = function (option, parentModel, ecModel) {\n var rest = [];\n\n for (var _i = 3; _i < arguments.length; _i++) {\n rest[_i - 3] = arguments[_i];\n }\n };\n /**\r\n * Merge the input option to me.\r\n */\n\n\n Model.prototype.mergeOption = function (option, ecModel) {\n merge(this.option, option, true);\n }; // `path` can be 'a.b.c', so the return value type have to be `ModelOption`\n // TODO: TYPE strict key check?\n // get(path: string | string[], ignoreParent?: boolean): ModelOption;\n\n\n Model.prototype.get = function (path, ignoreParent) {\n if (path == null) {\n return this.option;\n }\n\n return this._doGet(this.parsePath(path), !ignoreParent && this.parentModel);\n };\n\n Model.prototype.getShallow = function (key, ignoreParent) {\n var option = this.option;\n var val = option == null ? option : option[key];\n\n if (val == null && !ignoreParent) {\n var parentModel = this.parentModel;\n\n if (parentModel) {\n // FIXME:TS do not know how to make it works\n val = parentModel.getShallow(key);\n }\n }\n\n return val;\n }; // `path` can be 'a.b.c', so the return value type have to be `Model`\n // getModel(path: string | string[], parentModel?: Model): Model;\n // TODO 'a.b.c' is deprecated\n\n\n Model.prototype.getModel = function (path, parentModel) {\n var hasPath = path != null;\n var pathFinal = hasPath ? this.parsePath(path) : null;\n var obj = hasPath ? this._doGet(pathFinal) : this.option;\n parentModel = parentModel || this.parentModel && this.parentModel.getModel(this.resolveParentPath(pathFinal));\n return new Model(obj, parentModel, this.ecModel);\n };\n /**\r\n * If model has option\r\n */\n\n\n Model.prototype.isEmpty = function () {\n return this.option == null;\n };\n\n Model.prototype.restoreData = function () {}; // Pending\n\n\n Model.prototype.clone = function () {\n var Ctor = this.constructor;\n return new Ctor(clone(this.option));\n }; // setReadOnly(properties): void {\n // clazzUtil.setReadOnly(this, properties);\n // }\n // If path is null/undefined, return null/undefined.\n\n\n Model.prototype.parsePath = function (path) {\n if (typeof path === 'string') {\n return path.split('.');\n }\n\n return path;\n }; // Resolve path for parent. Perhaps useful when parent use a different property.\n // Default to be a identity resolver.\n // Can be modified to a different resolver.\n\n\n Model.prototype.resolveParentPath = function (path) {\n return path;\n }; // FIXME:TS check whether put this method here\n\n\n Model.prototype.isAnimationEnabled = function () {\n if (!env.node && this.option) {\n if (this.option.animation != null) {\n return !!this.option.animation;\n } else if (this.parentModel) {\n return this.parentModel.isAnimationEnabled();\n }\n }\n };\n\n Model.prototype._doGet = function (pathArr, parentModel) {\n var obj = this.option;\n\n if (!pathArr) {\n return obj;\n }\n\n for (var i = 0; i < pathArr.length; i++) {\n // Ignore empty\n if (!pathArr[i]) {\n continue;\n } // obj could be number/string/... (like 0)\n\n\n obj = obj && typeof obj === 'object' ? obj[pathArr[i]] : null;\n\n if (obj == null) {\n break;\n }\n }\n\n if (obj == null && parentModel) {\n obj = parentModel._doGet(this.resolveParentPath(pathArr), parentModel.parentModel);\n }\n\n return obj;\n };\n\n return Model;\n}();\n\n; // Enable Model.extend.\n\nenableClassExtend(Model);\nenableClassCheck(Model);\nmixin(Model, LineStyleMixin);\nmixin(Model, ItemStyleMixin);\nmixin(Model, AreaStyleMixin);\nmixin(Model, TextStyleMixin);\nexport default Model;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { parseClassType } from './clazz.js';\nimport { makePrintable } from './log.js'; // A random offset\n\nvar base = Math.round(Math.random() * 10);\n/**\r\n * @public\r\n * @param {string} type\r\n * @return {string}\r\n */\n\nexport function getUID(type) {\n // Considering the case of crossing js context,\n // use Math.random to make id as unique as possible.\n return [type || '', base++].join('_');\n}\n/**\r\n * Implements `SubTypeDefaulterManager` for `target`.\r\n */\n\nexport function enableSubTypeDefaulter(target) {\n var subTypeDefaulters = {};\n\n target.registerSubTypeDefaulter = function (componentType, defaulter) {\n var componentTypeInfo = parseClassType(componentType);\n subTypeDefaulters[componentTypeInfo.main] = defaulter;\n };\n\n target.determineSubType = function (componentType, option) {\n var type = option.type;\n\n if (!type) {\n var componentTypeMain = parseClassType(componentType).main;\n\n if (target.hasSubTypes(componentType) && subTypeDefaulters[componentTypeMain]) {\n type = subTypeDefaulters[componentTypeMain](option);\n }\n }\n\n return type;\n };\n}\n/**\r\n * Implements `TopologicalTravelable` for `entity`.\r\n *\r\n * Topological travel on Activity Network (Activity On Vertices).\r\n * Dependencies is defined in Model.prototype.dependencies, like ['xAxis', 'yAxis'].\r\n * If 'xAxis' or 'yAxis' is absent in componentTypeList, just ignore it in topology.\r\n * If there is circular dependencey, Error will be thrown.\r\n */\n\nexport function enableTopologicalTravel(entity, dependencyGetter) {\n /**\r\n * @param targetNameList Target Component type list.\r\n * Can be ['aa', 'bb', 'aa.xx']\r\n * @param fullNameList By which we can build dependency graph.\r\n * @param callback Params: componentType, dependencies.\r\n * @param context Scope of callback.\r\n */\n entity.topologicalTravel = function (targetNameList, fullNameList, callback, context) {\n if (!targetNameList.length) {\n return;\n }\n\n var result = makeDepndencyGraph(fullNameList);\n var graph = result.graph;\n var noEntryList = result.noEntryList;\n var targetNameSet = {};\n zrUtil.each(targetNameList, function (name) {\n targetNameSet[name] = true;\n });\n\n while (noEntryList.length) {\n var currComponentType = noEntryList.pop();\n var currVertex = graph[currComponentType];\n var isInTargetNameSet = !!targetNameSet[currComponentType];\n\n if (isInTargetNameSet) {\n callback.call(context, currComponentType, currVertex.originalDeps.slice());\n delete targetNameSet[currComponentType];\n }\n\n zrUtil.each(currVertex.successor, isInTargetNameSet ? removeEdgeAndAdd : removeEdge);\n }\n\n zrUtil.each(targetNameSet, function () {\n var errMsg = '';\n\n if (process.env.NODE_ENV !== 'production') {\n errMsg = makePrintable('Circular dependency may exists: ', targetNameSet, targetNameList, fullNameList);\n }\n\n throw new Error(errMsg);\n });\n\n function removeEdge(succComponentType) {\n graph[succComponentType].entryCount--;\n\n if (graph[succComponentType].entryCount === 0) {\n noEntryList.push(succComponentType);\n }\n } // Consider this case: legend depends on series, and we call\n // chart.setOption({series: [...]}), where only series is in option.\n // If we do not have 'removeEdgeAndAdd', legendModel.mergeOption will\n // not be called, but only sereis.mergeOption is called. Thus legend\n // have no chance to update its local record about series (like which\n // name of series is available in legend).\n\n\n function removeEdgeAndAdd(succComponentType) {\n targetNameSet[succComponentType] = true;\n removeEdge(succComponentType);\n }\n };\n\n function makeDepndencyGraph(fullNameList) {\n var graph = {};\n var noEntryList = [];\n zrUtil.each(fullNameList, function (name) {\n var thisItem = createDependencyGraphItem(graph, name);\n var originalDeps = thisItem.originalDeps = dependencyGetter(name);\n var availableDeps = getAvailableDependencies(originalDeps, fullNameList);\n thisItem.entryCount = availableDeps.length;\n\n if (thisItem.entryCount === 0) {\n noEntryList.push(name);\n }\n\n zrUtil.each(availableDeps, function (dependentName) {\n if (zrUtil.indexOf(thisItem.predecessor, dependentName) < 0) {\n thisItem.predecessor.push(dependentName);\n }\n\n var thatItem = createDependencyGraphItem(graph, dependentName);\n\n if (zrUtil.indexOf(thatItem.successor, dependentName) < 0) {\n thatItem.successor.push(name);\n }\n });\n });\n return {\n graph: graph,\n noEntryList: noEntryList\n };\n }\n\n function createDependencyGraphItem(graph, name) {\n if (!graph[name]) {\n graph[name] = {\n predecessor: [],\n successor: []\n };\n }\n\n return graph[name];\n }\n\n function getAvailableDependencies(originalDeps, fullNameList) {\n var availableDeps = [];\n zrUtil.each(originalDeps, function (dep) {\n zrUtil.indexOf(fullNameList, dep) >= 0 && availableDeps.push(dep);\n });\n return availableDeps;\n }\n}\nexport function inheritDefaultOption(superOption, subOption) {\n // See also `model/Component.ts#getDefaultOption`\n return zrUtil.merge(zrUtil.merge({}, superOption, true), subOption, true);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\n\n/**\r\n * Language: English.\r\n */\nexport default {\n time: {\n month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n monthAbbr: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n dayOfWeek: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],\n dayOfWeekAbbr: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n },\n legend: {\n selector: {\n all: 'All',\n inverse: 'Inv'\n }\n },\n toolbox: {\n brush: {\n title: {\n rect: 'Box Select',\n polygon: 'Lasso Select',\n lineX: 'Horizontally Select',\n lineY: 'Vertically Select',\n keep: 'Keep Selections',\n clear: 'Clear Selections'\n }\n },\n dataView: {\n title: 'Data View',\n lang: ['Data View', 'Close', 'Refresh']\n },\n dataZoom: {\n title: {\n zoom: 'Zoom',\n back: 'Zoom Reset'\n }\n },\n magicType: {\n title: {\n line: 'Switch to Line Chart',\n bar: 'Switch to Bar Chart',\n stack: 'Stack',\n tiled: 'Tile'\n }\n },\n restore: {\n title: 'Restore'\n },\n saveAsImage: {\n title: 'Save as Image',\n lang: ['Right Click to Save Image']\n }\n },\n series: {\n typeNames: {\n pie: 'Pie chart',\n bar: 'Bar chart',\n line: 'Line chart',\n scatter: 'Scatter plot',\n effectScatter: 'Ripple scatter plot',\n radar: 'Radar chart',\n tree: 'Tree',\n treemap: 'Treemap',\n boxplot: 'Boxplot',\n candlestick: 'Candlestick',\n k: 'K line chart',\n heatmap: 'Heat map',\n map: 'Map',\n parallel: 'Parallel coordinate map',\n lines: 'Line graph',\n graph: 'Relationship graph',\n sankey: 'Sankey diagram',\n funnel: 'Funnel chart',\n gauge: 'Gauge',\n pictorialBar: 'Pictorial bar',\n themeRiver: 'Theme River Map',\n sunburst: 'Sunburst'\n }\n },\n aria: {\n general: {\n withTitle: 'This is a chart about \"{title}\"',\n withoutTitle: 'This is a chart'\n },\n series: {\n single: {\n prefix: '',\n withName: ' with type {seriesType} named {seriesName}.',\n withoutName: ' with type {seriesType}.'\n },\n multiple: {\n prefix: '. It consists of {seriesCount} series count.',\n withName: ' The {seriesId} series is a {seriesType} representing {seriesName}.',\n withoutName: ' The {seriesId} series is a {seriesType}.',\n separator: {\n middle: '',\n end: ''\n }\n }\n },\n data: {\n allData: 'The data is as follows: ',\n partialData: 'The first {displayCnt} items are: ',\n withName: 'the data for {name} is {value}',\n withoutName: '{value}',\n separator: {\n middle: ', ',\n end: '. '\n }\n }\n }\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n * Licensed to the Apache Software Foundation (ASF) under one\r\n * or more contributor license agreements. See the NOTICE file\r\n * distributed with this work for additional information\r\n * regarding copyright ownership. The ASF licenses this file\r\n * to you under the Apache License, Version 2.0 (the\r\n * \"License\"); you may not use this file except in compliance\r\n * with the License. You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing,\r\n * software distributed under the License is distributed on an\r\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n * KIND, either express or implied. See the License for the\r\n * specific language governing permissions and limitations\r\n * under the License.\r\n */\nexport default {\n time: {\n month: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],\n monthAbbr: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],\n dayOfWeek: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],\n dayOfWeekAbbr: ['日', '一', '二', '三', '四', '五', '六']\n },\n legend: {\n selector: {\n all: '全选',\n inverse: '反选'\n }\n },\n toolbox: {\n brush: {\n title: {\n rect: '矩形选择',\n polygon: '圈选',\n lineX: '横向选择',\n lineY: '纵向选择',\n keep: '保持选择',\n clear: '清除选择'\n }\n },\n dataView: {\n title: '数据视图',\n lang: ['数据视图', '关闭', '刷新']\n },\n dataZoom: {\n title: {\n zoom: '区域缩放',\n back: '区域缩放还原'\n }\n },\n magicType: {\n title: {\n line: '切换为折线图',\n bar: '切换为柱状图',\n stack: '切换为堆叠',\n tiled: '切换为平铺'\n }\n },\n restore: {\n title: '还原'\n },\n saveAsImage: {\n title: '保存为图片',\n lang: ['右键另存为图片']\n }\n },\n series: {\n typeNames: {\n pie: '饼图',\n bar: '柱状图',\n line: '折线图',\n scatter: '散点图',\n effectScatter: '涟漪散点图',\n radar: '雷达图',\n tree: '树图',\n treemap: '矩形树图',\n boxplot: '箱型图',\n candlestick: 'K线图',\n k: 'K线图',\n heatmap: '热力图',\n map: '地图',\n parallel: '平行坐标图',\n lines: '线图',\n graph: '关系图',\n sankey: '桑基图',\n funnel: '漏斗图',\n gauge: '仪表盘图',\n pictorialBar: '象形柱图',\n themeRiver: '主题河流图',\n sunburst: '旭日图'\n }\n },\n aria: {\n general: {\n withTitle: '这是一个关于“{title}”的图表。',\n withoutTitle: '这是一个图表,'\n },\n series: {\n single: {\n prefix: '',\n withName: '图表类型是{seriesType},表示{seriesName}。',\n withoutName: '图表类型是{seriesType}。'\n },\n multiple: {\n prefix: '它由{seriesCount}个图表系列组成。',\n withName: '第{seriesId}个系列是一个表示{seriesName}的{seriesType},',\n withoutName: '第{seriesId}个系列是一个{seriesType},',\n separator: {\n middle: ';',\n end: '。'\n }\n }\n },\n data: {\n allData: '其数据是——',\n partialData: '其中,前{displayCnt}项是——',\n withName: '{name}的数据是{value}',\n withoutName: '{value}',\n separator: {\n middle: ',',\n end: ''\n }\n }\n }\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport Model from '../model/Model.js';\nimport env from 'zrender/lib/core/env.js'; // default import ZH and EN lang\n\nimport langEN from '../i18n/langEN.js';\nimport langZH from '../i18n/langZH.js';\nimport { isString, clone, merge } from 'zrender/lib/core/util.js';\nvar LOCALE_ZH = 'ZH';\nvar LOCALE_EN = 'EN';\nvar DEFAULT_LOCALE = LOCALE_EN;\nvar localeStorage = {};\nvar localeModels = {};\nexport var SYSTEM_LANG = !env.domSupported ? DEFAULT_LOCALE : function () {\n var langStr = (\n /* eslint-disable-next-line */\n document.documentElement.lang || navigator.language || navigator.browserLanguage).toUpperCase();\n return langStr.indexOf(LOCALE_ZH) > -1 ? LOCALE_ZH : DEFAULT_LOCALE;\n}();\nexport function registerLocale(locale, localeObj) {\n locale = locale.toUpperCase();\n localeModels[locale] = new Model(localeObj);\n localeStorage[locale] = localeObj;\n} // export function getLocale(locale: string) {\n// return localeStorage[locale];\n// }\n\nexport function createLocaleObject(locale) {\n if (isString(locale)) {\n var localeObj = localeStorage[locale.toUpperCase()] || {};\n\n if (locale === LOCALE_ZH || locale === LOCALE_EN) {\n return clone(localeObj);\n } else {\n return merge(clone(localeObj), clone(localeStorage[DEFAULT_LOCALE]), false);\n }\n } else {\n return merge(clone(locale), clone(localeStorage[DEFAULT_LOCALE]), false);\n }\n}\nexport function getLocaleModel(lang) {\n return localeModels[lang];\n}\nexport function getDefaultLocaleModel() {\n return localeModels[DEFAULT_LOCALE];\n} // Default locale\n\nregisterLocale(LOCALE_EN, langEN);\nregisterLocale(LOCALE_ZH, langZH);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as numberUtil from './number.js';\nimport { getDefaultLocaleModel, getLocaleModel, SYSTEM_LANG } from '../core/locale.js';\nimport Model from '../model/Model.js';\nexport var ONE_SECOND = 1000;\nexport var ONE_MINUTE = ONE_SECOND * 60;\nexport var ONE_HOUR = ONE_MINUTE * 60;\nexport var ONE_DAY = ONE_HOUR * 24;\nexport var ONE_YEAR = ONE_DAY * 365;\nexport var defaultLeveledFormatter = {\n year: '{yyyy}',\n month: '{MMM}',\n day: '{d}',\n hour: '{HH}:{mm}',\n minute: '{HH}:{mm}',\n second: '{HH}:{mm}:{ss}',\n millisecond: '{HH}:{mm}:{ss} {SSS}',\n none: '{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}'\n};\nvar fullDayFormatter = '{yyyy}-{MM}-{dd}';\nexport var fullLeveledFormatter = {\n year: '{yyyy}',\n month: '{yyyy}-{MM}',\n day: fullDayFormatter,\n hour: fullDayFormatter + ' ' + defaultLeveledFormatter.hour,\n minute: fullDayFormatter + ' ' + defaultLeveledFormatter.minute,\n second: fullDayFormatter + ' ' + defaultLeveledFormatter.second,\n millisecond: defaultLeveledFormatter.none\n};\nexport var primaryTimeUnits = ['year', 'month', 'day', 'hour', 'minute', 'second', 'millisecond'];\nexport var timeUnits = ['year', 'half-year', 'quarter', 'month', 'week', 'half-week', 'day', 'half-day', 'quarter-day', 'hour', 'minute', 'second', 'millisecond'];\nexport function pad(str, len) {\n str += '';\n return '0000'.substr(0, len - str.length) + str;\n}\nexport function getPrimaryTimeUnit(timeUnit) {\n switch (timeUnit) {\n case 'half-year':\n case 'quarter':\n return 'month';\n\n case 'week':\n case 'half-week':\n return 'day';\n\n case 'half-day':\n case 'quarter-day':\n return 'hour';\n\n default:\n // year, minutes, second, milliseconds\n return timeUnit;\n }\n}\nexport function isPrimaryTimeUnit(timeUnit) {\n return timeUnit === getPrimaryTimeUnit(timeUnit);\n}\nexport function getDefaultFormatPrecisionOfInterval(timeUnit) {\n switch (timeUnit) {\n case 'year':\n case 'month':\n return 'day';\n\n case 'millisecond':\n return 'millisecond';\n\n default:\n // Also for day, hour, minute, second\n return 'second';\n }\n}\nexport function format( // Note: The result based on `isUTC` are totally different, which can not be just simply\n// substituted by the result without `isUTC`. So we make the param `isUTC` mandatory.\ntime, template, isUTC, lang) {\n var date = numberUtil.parseDate(time);\n var y = date[fullYearGetterName(isUTC)]();\n var M = date[monthGetterName(isUTC)]() + 1;\n var q = Math.floor((M - 1) / 3) + 1;\n var d = date[dateGetterName(isUTC)]();\n var e = date['get' + (isUTC ? 'UTC' : '') + 'Day']();\n var H = date[hoursGetterName(isUTC)]();\n var h = (H - 1) % 12 + 1;\n var m = date[minutesGetterName(isUTC)]();\n var s = date[secondsGetterName(isUTC)]();\n var S = date[millisecondsGetterName(isUTC)]();\n var localeModel = lang instanceof Model ? lang : getLocaleModel(lang || SYSTEM_LANG) || getDefaultLocaleModel();\n var timeModel = localeModel.getModel('time');\n var month = timeModel.get('month');\n var monthAbbr = timeModel.get('monthAbbr');\n var dayOfWeek = timeModel.get('dayOfWeek');\n var dayOfWeekAbbr = timeModel.get('dayOfWeekAbbr');\n return (template || '').replace(/{yyyy}/g, y + '').replace(/{yy}/g, pad(y % 100 + '', 2)).replace(/{Q}/g, q + '').replace(/{MMMM}/g, month[M - 1]).replace(/{MMM}/g, monthAbbr[M - 1]).replace(/{MM}/g, pad(M, 2)).replace(/{M}/g, M + '').replace(/{dd}/g, pad(d, 2)).replace(/{d}/g, d + '').replace(/{eeee}/g, dayOfWeek[e]).replace(/{ee}/g, dayOfWeekAbbr[e]).replace(/{e}/g, e + '').replace(/{HH}/g, pad(H, 2)).replace(/{H}/g, H + '').replace(/{hh}/g, pad(h + '', 2)).replace(/{h}/g, h + '').replace(/{mm}/g, pad(m, 2)).replace(/{m}/g, m + '').replace(/{ss}/g, pad(s, 2)).replace(/{s}/g, s + '').replace(/{SSS}/g, pad(S, 3)).replace(/{S}/g, S + '');\n}\nexport function leveledFormat(tick, idx, formatter, lang, isUTC) {\n var template = null;\n\n if (zrUtil.isString(formatter)) {\n // Single formatter for all units at all levels\n template = formatter;\n } else if (zrUtil.isFunction(formatter)) {\n // Callback formatter\n template = formatter(tick.value, idx, {\n level: tick.level\n });\n } else {\n var defaults = zrUtil.extend({}, defaultLeveledFormatter);\n\n if (tick.level > 0) {\n for (var i = 0; i < primaryTimeUnits.length; ++i) {\n defaults[primaryTimeUnits[i]] = \"{primary|\" + defaults[primaryTimeUnits[i]] + \"}\";\n }\n }\n\n var mergedFormatter = formatter ? formatter.inherit === false ? formatter // Use formatter with bigger units\n : zrUtil.defaults(formatter, defaults) : defaults;\n var unit = getUnitFromValue(tick.value, isUTC);\n\n if (mergedFormatter[unit]) {\n template = mergedFormatter[unit];\n } else if (mergedFormatter.inherit) {\n // Unit formatter is not defined and should inherit from bigger units\n var targetId = timeUnits.indexOf(unit);\n\n for (var i = targetId - 1; i >= 0; --i) {\n if (mergedFormatter[unit]) {\n template = mergedFormatter[unit];\n break;\n }\n }\n\n template = template || defaults.none;\n }\n\n if (zrUtil.isArray(template)) {\n var levelId = tick.level == null ? 0 : tick.level >= 0 ? tick.level : template.length + tick.level;\n levelId = Math.min(levelId, template.length - 1);\n template = template[levelId];\n }\n }\n\n return format(new Date(tick.value), template, isUTC, lang);\n}\nexport function getUnitFromValue(value, isUTC) {\n var date = numberUtil.parseDate(value);\n var M = date[monthGetterName(isUTC)]() + 1;\n var d = date[dateGetterName(isUTC)]();\n var h = date[hoursGetterName(isUTC)]();\n var m = date[minutesGetterName(isUTC)]();\n var s = date[secondsGetterName(isUTC)]();\n var S = date[millisecondsGetterName(isUTC)]();\n var isSecond = S === 0;\n var isMinute = isSecond && s === 0;\n var isHour = isMinute && m === 0;\n var isDay = isHour && h === 0;\n var isMonth = isDay && d === 1;\n var isYear = isMonth && M === 1;\n\n if (isYear) {\n return 'year';\n } else if (isMonth) {\n return 'month';\n } else if (isDay) {\n return 'day';\n } else if (isHour) {\n return 'hour';\n } else if (isMinute) {\n return 'minute';\n } else if (isSecond) {\n return 'second';\n } else {\n return 'millisecond';\n }\n}\nexport function getUnitValue(value, unit, isUTC) {\n var date = zrUtil.isNumber(value) ? numberUtil.parseDate(value) : value;\n unit = unit || getUnitFromValue(value, isUTC);\n\n switch (unit) {\n case 'year':\n return date[fullYearGetterName(isUTC)]();\n\n case 'half-year':\n return date[monthGetterName(isUTC)]() >= 6 ? 1 : 0;\n\n case 'quarter':\n return Math.floor((date[monthGetterName(isUTC)]() + 1) / 4);\n\n case 'month':\n return date[monthGetterName(isUTC)]();\n\n case 'day':\n return date[dateGetterName(isUTC)]();\n\n case 'half-day':\n return date[hoursGetterName(isUTC)]() / 24;\n\n case 'hour':\n return date[hoursGetterName(isUTC)]();\n\n case 'minute':\n return date[minutesGetterName(isUTC)]();\n\n case 'second':\n return date[secondsGetterName(isUTC)]();\n\n case 'millisecond':\n return date[millisecondsGetterName(isUTC)]();\n }\n}\nexport function fullYearGetterName(isUTC) {\n return isUTC ? 'getUTCFullYear' : 'getFullYear';\n}\nexport function monthGetterName(isUTC) {\n return isUTC ? 'getUTCMonth' : 'getMonth';\n}\nexport function dateGetterName(isUTC) {\n return isUTC ? 'getUTCDate' : 'getDate';\n}\nexport function hoursGetterName(isUTC) {\n return isUTC ? 'getUTCHours' : 'getHours';\n}\nexport function minutesGetterName(isUTC) {\n return isUTC ? 'getUTCMinutes' : 'getMinutes';\n}\nexport function secondsGetterName(isUTC) {\n return isUTC ? 'getUTCSeconds' : 'getSeconds';\n}\nexport function millisecondsGetterName(isUTC) {\n return isUTC ? 'getUTCMilliseconds' : 'getMilliseconds';\n}\nexport function fullYearSetterName(isUTC) {\n return isUTC ? 'setUTCFullYear' : 'setFullYear';\n}\nexport function monthSetterName(isUTC) {\n return isUTC ? 'setUTCMonth' : 'setMonth';\n}\nexport function dateSetterName(isUTC) {\n return isUTC ? 'setUTCDate' : 'setDate';\n}\nexport function hoursSetterName(isUTC) {\n return isUTC ? 'setUTCHours' : 'setHours';\n}\nexport function minutesSetterName(isUTC) {\n return isUTC ? 'setUTCMinutes' : 'setMinutes';\n}\nexport function secondsSetterName(isUTC) {\n return isUTC ? 'setUTCSeconds' : 'setSeconds';\n}\nexport function millisecondsSetterName(isUTC) {\n return isUTC ? 'setUTCMilliseconds' : 'setMilliseconds';\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { encodeHTML } from 'zrender/lib/core/dom.js';\nimport { parseDate, isNumeric, numericToNumber } from './number.js';\nimport { format as timeFormat, pad } from './time.js';\nimport { deprecateReplaceLog } from './log.js';\n/**\r\n * Add a comma each three digit.\r\n */\n\nexport function addCommas(x) {\n if (!isNumeric(x)) {\n return zrUtil.isString(x) ? x : '-';\n }\n\n var parts = (x + '').split('.');\n return parts[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g, '$1,') + (parts.length > 1 ? '.' + parts[1] : '');\n}\nexport function toCamelCase(str, upperCaseFirst) {\n str = (str || '').toLowerCase().replace(/-(.)/g, function (match, group1) {\n return group1.toUpperCase();\n });\n\n if (upperCaseFirst && str) {\n str = str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n return str;\n}\nexport var normalizeCssArray = zrUtil.normalizeCssArray;\nexport { encodeHTML };\n/**\r\n * Make value user readable for tooltip and label.\r\n * \"User readable\":\r\n * Try to not print programmer-specific text like NaN, Infinity, null, undefined.\r\n * Avoid to display an empty string, which users can not recognize there is\r\n * a value and it might look like a bug.\r\n */\n\nexport function makeValueReadable(value, valueType, useUTC) {\n var USER_READABLE_DEFUALT_TIME_PATTERN = '{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}';\n\n function stringToUserReadable(str) {\n return str && zrUtil.trim(str) ? str : '-';\n }\n\n function isNumberUserReadable(num) {\n return !!(num != null && !isNaN(num) && isFinite(num));\n }\n\n var isTypeTime = valueType === 'time';\n var isValueDate = value instanceof Date;\n\n if (isTypeTime || isValueDate) {\n var date = isTypeTime ? parseDate(value) : value;\n\n if (!isNaN(+date)) {\n return timeFormat(date, USER_READABLE_DEFUALT_TIME_PATTERN, useUTC);\n } else if (isValueDate) {\n return '-';\n } // In other cases, continue to try to display the value in the following code.\n\n }\n\n if (valueType === 'ordinal') {\n return zrUtil.isStringSafe(value) ? stringToUserReadable(value) : zrUtil.isNumber(value) ? isNumberUserReadable(value) ? value + '' : '-' : '-';\n } // By default.\n\n\n var numericResult = numericToNumber(value);\n return isNumberUserReadable(numericResult) ? addCommas(numericResult) : zrUtil.isStringSafe(value) ? stringToUserReadable(value) : typeof value === 'boolean' ? value + '' : '-';\n}\nvar TPL_VAR_ALIAS = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];\n\nvar wrapVar = function (varName, seriesIdx) {\n return '{' + varName + (seriesIdx == null ? '' : seriesIdx) + '}';\n};\n/**\r\n * Template formatter\r\n * @param {Array.|Object} paramsList\r\n */\n\n\nexport function formatTpl(tpl, paramsList, encode) {\n if (!zrUtil.isArray(paramsList)) {\n paramsList = [paramsList];\n }\n\n var seriesLen = paramsList.length;\n\n if (!seriesLen) {\n return '';\n }\n\n var $vars = paramsList[0].$vars || [];\n\n for (var i = 0; i < $vars.length; i++) {\n var alias = TPL_VAR_ALIAS[i];\n tpl = tpl.replace(wrapVar(alias), wrapVar(alias, 0));\n }\n\n for (var seriesIdx = 0; seriesIdx < seriesLen; seriesIdx++) {\n for (var k = 0; k < $vars.length; k++) {\n var val = paramsList[seriesIdx][$vars[k]];\n tpl = tpl.replace(wrapVar(TPL_VAR_ALIAS[k], seriesIdx), encode ? encodeHTML(val) : val);\n }\n }\n\n return tpl;\n}\n/**\r\n * simple Template formatter\r\n */\n\nexport function formatTplSimple(tpl, param, encode) {\n zrUtil.each(param, function (value, key) {\n tpl = tpl.replace('{' + key + '}', encode ? encodeHTML(value) : value);\n });\n return tpl;\n}\nexport function getTooltipMarker(inOpt, extraCssText) {\n var opt = zrUtil.isString(inOpt) ? {\n color: inOpt,\n extraCssText: extraCssText\n } : inOpt || {};\n var color = opt.color;\n var type = opt.type;\n extraCssText = opt.extraCssText;\n var renderMode = opt.renderMode || 'html';\n\n if (!color) {\n return '';\n }\n\n if (renderMode === 'html') {\n return type === 'subItem' ? '' : '';\n } else {\n // Should better not to auto generate style name by auto-increment number here.\n // Because this util is usually called in tooltip formatter, which is probably\n // called repeatedly when mouse move and the auto-increment number increases fast.\n // Users can make their own style name by theirselves, make it unique and readable.\n var markerId = opt.markerId || 'markerX';\n return {\n renderMode: renderMode,\n content: '{' + markerId + '|} ',\n style: type === 'subItem' ? {\n width: 4,\n height: 4,\n borderRadius: 2,\n backgroundColor: color\n } : {\n width: 10,\n height: 10,\n borderRadius: 5,\n backgroundColor: color\n }\n };\n }\n}\n/**\r\n * @deprecated Use `time/format` instead.\r\n * ISO Date format\r\n * @param {string} tpl\r\n * @param {number} value\r\n * @param {boolean} [isUTC=false] Default in local time.\r\n * see `module:echarts/scale/Time`\r\n * and `module:echarts/util/number#parseDate`.\r\n * @inner\r\n */\n\nexport function formatTime(tpl, value, isUTC) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('echarts.format.formatTime', 'echarts.time.format');\n }\n\n if (tpl === 'week' || tpl === 'month' || tpl === 'quarter' || tpl === 'half-year' || tpl === 'year') {\n tpl = 'MM-dd\\nyyyy';\n }\n\n var date = parseDate(value);\n var getUTC = isUTC ? 'getUTC' : 'get';\n var y = date[getUTC + 'FullYear']();\n var M = date[getUTC + 'Month']() + 1;\n var d = date[getUTC + 'Date']();\n var h = date[getUTC + 'Hours']();\n var m = date[getUTC + 'Minutes']();\n var s = date[getUTC + 'Seconds']();\n var S = date[getUTC + 'Milliseconds']();\n tpl = tpl.replace('MM', pad(M, 2)).replace('M', M).replace('yyyy', y).replace('yy', pad(y % 100 + '', 2)).replace('dd', pad(d, 2)).replace('d', d).replace('hh', pad(h, 2)).replace('h', h).replace('mm', pad(m, 2)).replace('m', m).replace('ss', pad(s, 2)).replace('s', s).replace('SSS', pad(S, 3));\n return tpl;\n}\n/**\r\n * Capital first\r\n * @param {string} str\r\n * @return {string}\r\n */\n\nexport function capitalFirst(str) {\n return str ? str.charAt(0).toUpperCase() + str.substr(1) : str;\n}\n/**\r\n * @return Never be null/undefined.\r\n */\n\nexport function convertToColorString(color, defaultColor) {\n defaultColor = defaultColor || 'transparent';\n return zrUtil.isString(color) ? color : zrUtil.isObject(color) ? color.colorStops && (color.colorStops[0] || {}).color || defaultColor : defaultColor;\n}\nexport { truncateText } from 'zrender/lib/graphic/helper/parseText.js';\n/**\r\n * open new tab\r\n * @param link url\r\n * @param target blank or self\r\n */\n\nexport function windowOpen(link, target) {\n /* global window */\n if (target === '_blank' || target === 'blank') {\n var blank = window.open();\n blank.opener = null;\n blank.location.href = link;\n } else {\n window.open(link, target);\n }\n}\nexport { getTextRect } from '../legacy/getTextRect.js';","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// Layout helpers for each component positioning\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport { parsePercent } from './number.js';\nimport * as formatUtil from './format.js';\nvar each = zrUtil.each;\n/**\r\n * @public\r\n */\n\nexport var LOCATION_PARAMS = ['left', 'right', 'top', 'bottom', 'width', 'height'];\n/**\r\n * @public\r\n */\n\nexport var HV_NAMES = [['width', 'left', 'right'], ['height', 'top', 'bottom']];\n\nfunction boxLayout(orient, group, gap, maxWidth, maxHeight) {\n var x = 0;\n var y = 0;\n\n if (maxWidth == null) {\n maxWidth = Infinity;\n }\n\n if (maxHeight == null) {\n maxHeight = Infinity;\n }\n\n var currentLineMaxSize = 0;\n group.eachChild(function (child, idx) {\n var rect = child.getBoundingRect();\n var nextChild = group.childAt(idx + 1);\n var nextChildRect = nextChild && nextChild.getBoundingRect();\n var nextX;\n var nextY;\n\n if (orient === 'horizontal') {\n var moveX = rect.width + (nextChildRect ? -nextChildRect.x + rect.x : 0);\n nextX = x + moveX; // Wrap when width exceeds maxWidth or meet a `newline` group\n // FIXME compare before adding gap?\n\n if (nextX > maxWidth || child.newline) {\n x = 0;\n nextX = moveX;\n y += currentLineMaxSize + gap;\n currentLineMaxSize = rect.height;\n } else {\n // FIXME: consider rect.y is not `0`?\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.height);\n }\n } else {\n var moveY = rect.height + (nextChildRect ? -nextChildRect.y + rect.y : 0);\n nextY = y + moveY; // Wrap when width exceeds maxHeight or meet a `newline` group\n\n if (nextY > maxHeight || child.newline) {\n x += currentLineMaxSize + gap;\n y = 0;\n nextY = moveY;\n currentLineMaxSize = rect.width;\n } else {\n currentLineMaxSize = Math.max(currentLineMaxSize, rect.width);\n }\n }\n\n if (child.newline) {\n return;\n }\n\n child.x = x;\n child.y = y;\n child.markRedraw();\n orient === 'horizontal' ? x = nextX + gap : y = nextY + gap;\n });\n}\n/**\r\n * VBox or HBox layouting\r\n * @param {string} orient\r\n * @param {module:zrender/graphic/Group} group\r\n * @param {number} gap\r\n * @param {number} [width=Infinity]\r\n * @param {number} [height=Infinity]\r\n */\n\n\nexport var box = boxLayout;\n/**\r\n * VBox layouting\r\n * @param {module:zrender/graphic/Group} group\r\n * @param {number} gap\r\n * @param {number} [width=Infinity]\r\n * @param {number} [height=Infinity]\r\n */\n\nexport var vbox = zrUtil.curry(boxLayout, 'vertical');\n/**\r\n * HBox layouting\r\n * @param {module:zrender/graphic/Group} group\r\n * @param {number} gap\r\n * @param {number} [width=Infinity]\r\n * @param {number} [height=Infinity]\r\n */\n\nexport var hbox = zrUtil.curry(boxLayout, 'horizontal');\n/**\r\n * If x or x2 is not specified or 'center' 'left' 'right',\r\n * the width would be as long as possible.\r\n * If y or y2 is not specified or 'middle' 'top' 'bottom',\r\n * the height would be as long as possible.\r\n */\n\nexport function getAvailableSize(positionInfo, containerRect, margin) {\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var x = parsePercent(positionInfo.left, containerWidth);\n var y = parsePercent(positionInfo.top, containerHeight);\n var x2 = parsePercent(positionInfo.right, containerWidth);\n var y2 = parsePercent(positionInfo.bottom, containerHeight);\n (isNaN(x) || isNaN(parseFloat(positionInfo.left))) && (x = 0);\n (isNaN(x2) || isNaN(parseFloat(positionInfo.right))) && (x2 = containerWidth);\n (isNaN(y) || isNaN(parseFloat(positionInfo.top))) && (y = 0);\n (isNaN(y2) || isNaN(parseFloat(positionInfo.bottom))) && (y2 = containerHeight);\n margin = formatUtil.normalizeCssArray(margin || 0);\n return {\n width: Math.max(x2 - x - margin[1] - margin[3], 0),\n height: Math.max(y2 - y - margin[0] - margin[2], 0)\n };\n}\n/**\r\n * Parse position info.\r\n */\n\nexport function getLayoutRect(positionInfo, containerRect, margin) {\n margin = formatUtil.normalizeCssArray(margin || 0);\n var containerWidth = containerRect.width;\n var containerHeight = containerRect.height;\n var left = parsePercent(positionInfo.left, containerWidth);\n var top = parsePercent(positionInfo.top, containerHeight);\n var right = parsePercent(positionInfo.right, containerWidth);\n var bottom = parsePercent(positionInfo.bottom, containerHeight);\n var width = parsePercent(positionInfo.width, containerWidth);\n var height = parsePercent(positionInfo.height, containerHeight);\n var verticalMargin = margin[2] + margin[0];\n var horizontalMargin = margin[1] + margin[3];\n var aspect = positionInfo.aspect; // If width is not specified, calculate width from left and right\n\n if (isNaN(width)) {\n width = containerWidth - right - horizontalMargin - left;\n }\n\n if (isNaN(height)) {\n height = containerHeight - bottom - verticalMargin - top;\n }\n\n if (aspect != null) {\n // If width and height are not given\n // 1. Graph should not exceeds the container\n // 2. Aspect must be keeped\n // 3. Graph should take the space as more as possible\n // FIXME\n // Margin is not considered, because there is no case that both\n // using margin and aspect so far.\n if (isNaN(width) && isNaN(height)) {\n if (aspect > containerWidth / containerHeight) {\n width = containerWidth * 0.8;\n } else {\n height = containerHeight * 0.8;\n }\n } // Calculate width or height with given aspect\n\n\n if (isNaN(width)) {\n width = aspect * height;\n }\n\n if (isNaN(height)) {\n height = width / aspect;\n }\n } // If left is not specified, calculate left from right and width\n\n\n if (isNaN(left)) {\n left = containerWidth - right - width - horizontalMargin;\n }\n\n if (isNaN(top)) {\n top = containerHeight - bottom - height - verticalMargin;\n } // Align left and top\n\n\n switch (positionInfo.left || positionInfo.right) {\n case 'center':\n left = containerWidth / 2 - width / 2 - margin[3];\n break;\n\n case 'right':\n left = containerWidth - width - horizontalMargin;\n break;\n }\n\n switch (positionInfo.top || positionInfo.bottom) {\n case 'middle':\n case 'center':\n top = containerHeight / 2 - height / 2 - margin[0];\n break;\n\n case 'bottom':\n top = containerHeight - height - verticalMargin;\n break;\n } // If something is wrong and left, top, width, height are calculated as NaN\n\n\n left = left || 0;\n top = top || 0;\n\n if (isNaN(width)) {\n // Width may be NaN if only one value is given except width\n width = containerWidth - horizontalMargin - left - (right || 0);\n }\n\n if (isNaN(height)) {\n // Height may be NaN if only one value is given except height\n height = containerHeight - verticalMargin - top - (bottom || 0);\n }\n\n var rect = new BoundingRect(left + margin[3], top + margin[0], width, height);\n rect.margin = margin;\n return rect;\n}\n/**\r\n * Position a zr element in viewport\r\n * Group position is specified by either\r\n * {left, top}, {right, bottom}\r\n * If all properties exists, right and bottom will be igonred.\r\n *\r\n * Logic:\r\n * 1. Scale (against origin point in parent coord)\r\n * 2. Rotate (against origin point in parent coord)\r\n * 3. Translate (with el.position by this method)\r\n * So this method only fixes the last step 'Translate', which does not affect\r\n * scaling and rotating.\r\n *\r\n * If be called repeatedly with the same input el, the same result will be gotten.\r\n *\r\n * Return true if the layout happened.\r\n *\r\n * @param el Should have `getBoundingRect` method.\r\n * @param positionInfo\r\n * @param positionInfo.left\r\n * @param positionInfo.top\r\n * @param positionInfo.right\r\n * @param positionInfo.bottom\r\n * @param positionInfo.width Only for opt.boundingModel: 'raw'\r\n * @param positionInfo.height Only for opt.boundingModel: 'raw'\r\n * @param containerRect\r\n * @param margin\r\n * @param opt\r\n * @param opt.hv Only horizontal or only vertical. Default to be [1, 1]\r\n * @param opt.boundingMode\r\n * Specify how to calculate boundingRect when locating.\r\n * 'all': Position the boundingRect that is transformed and uioned\r\n * both itself and its descendants.\r\n * This mode simplies confine the elements in the bounding\r\n * of their container (e.g., using 'right: 0').\r\n * 'raw': Position the boundingRect that is not transformed and only itself.\r\n * This mode is useful when you want a element can overflow its\r\n * container. (Consider a rotated circle needs to be located in a corner.)\r\n * In this mode positionInfo.width/height can only be number.\r\n */\n\nexport function positionElement(el, positionInfo, containerRect, margin, opt, out) {\n var h = !opt || !opt.hv || opt.hv[0];\n var v = !opt || !opt.hv || opt.hv[1];\n var boundingMode = opt && opt.boundingMode || 'all';\n out = out || el;\n out.x = el.x;\n out.y = el.y;\n\n if (!h && !v) {\n return false;\n }\n\n var rect;\n\n if (boundingMode === 'raw') {\n rect = el.type === 'group' ? new BoundingRect(0, 0, +positionInfo.width || 0, +positionInfo.height || 0) : el.getBoundingRect();\n } else {\n rect = el.getBoundingRect();\n\n if (el.needLocalTransform()) {\n var transform = el.getLocalTransform(); // Notice: raw rect may be inner object of el,\n // which should not be modified.\n\n rect = rect.clone();\n rect.applyTransform(transform);\n }\n } // The real width and height can not be specified but calculated by the given el.\n\n\n var layoutRect = getLayoutRect(zrUtil.defaults({\n width: rect.width,\n height: rect.height\n }, positionInfo), containerRect, margin); // Because 'tranlate' is the last step in transform\n // (see zrender/core/Transformable#getLocalTransform),\n // we can just only modify el.position to get final result.\n\n var dx = h ? layoutRect.x - rect.x : 0;\n var dy = v ? layoutRect.y - rect.y : 0;\n\n if (boundingMode === 'raw') {\n out.x = dx;\n out.y = dy;\n } else {\n out.x += dx;\n out.y += dy;\n }\n\n if (out === el) {\n el.markRedraw();\n }\n\n return true;\n}\n/**\r\n * @param option Contains some of the properties in HV_NAMES.\r\n * @param hvIdx 0: horizontal; 1: vertical.\r\n */\n\nexport function sizeCalculable(option, hvIdx) {\n return option[HV_NAMES[hvIdx][0]] != null || option[HV_NAMES[hvIdx][1]] != null && option[HV_NAMES[hvIdx][2]] != null;\n}\nexport function fetchLayoutMode(ins) {\n var layoutMode = ins.layoutMode || ins.constructor.layoutMode;\n return zrUtil.isObject(layoutMode) ? layoutMode : layoutMode ? {\n type: layoutMode\n } : null;\n}\n/**\r\n * Consider Case:\r\n * When default option has {left: 0, width: 100}, and we set {right: 0}\r\n * through setOption or media query, using normal zrUtil.merge will cause\r\n * {right: 0} does not take effect.\r\n *\r\n * @example\r\n * ComponentModel.extend({\r\n * init: function () {\r\n * ...\r\n * let inputPositionParams = layout.getLayoutParams(option);\r\n * this.mergeOption(inputPositionParams);\r\n * },\r\n * mergeOption: function (newOption) {\r\n * newOption && zrUtil.merge(thisOption, newOption, true);\r\n * layout.mergeLayoutParam(thisOption, newOption);\r\n * }\r\n * });\r\n *\r\n * @param targetOption\r\n * @param newOption\r\n * @param opt\r\n */\n\nexport function mergeLayoutParam(targetOption, newOption, opt) {\n var ignoreSize = opt && opt.ignoreSize;\n !zrUtil.isArray(ignoreSize) && (ignoreSize = [ignoreSize, ignoreSize]);\n var hResult = merge(HV_NAMES[0], 0);\n var vResult = merge(HV_NAMES[1], 1);\n copy(HV_NAMES[0], targetOption, hResult);\n copy(HV_NAMES[1], targetOption, vResult);\n\n function merge(names, hvIdx) {\n var newParams = {};\n var newValueCount = 0;\n var merged = {};\n var mergedValueCount = 0;\n var enoughParamNumber = 2;\n each(names, function (name) {\n merged[name] = targetOption[name];\n });\n each(names, function (name) {\n // Consider case: newOption.width is null, which is\n // set by user for removing width setting.\n hasProp(newOption, name) && (newParams[name] = merged[name] = newOption[name]);\n hasValue(newParams, name) && newValueCount++;\n hasValue(merged, name) && mergedValueCount++;\n });\n\n if (ignoreSize[hvIdx]) {\n // Only one of left/right is premitted to exist.\n if (hasValue(newOption, names[1])) {\n merged[names[2]] = null;\n } else if (hasValue(newOption, names[2])) {\n merged[names[1]] = null;\n }\n\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // or targetOption: {right: ...} and newOption: {width: ...},\n // There is no conflict when merged only has params count\n // little than enoughParamNumber.\n\n\n if (mergedValueCount === enoughParamNumber || !newValueCount) {\n return merged;\n } // Case: newOption: {width: ..., right: ...},\n // Than we can make sure user only want those two, and ignore\n // all origin params in targetOption.\n else if (newValueCount >= enoughParamNumber) {\n return newParams;\n } else {\n // Chose another param from targetOption by priority.\n for (var i = 0; i < names.length; i++) {\n var name_1 = names[i];\n\n if (!hasProp(newParams, name_1) && hasProp(targetOption, name_1)) {\n newParams[name_1] = targetOption[name_1];\n break;\n }\n }\n\n return newParams;\n }\n }\n\n function hasProp(obj, name) {\n return obj.hasOwnProperty(name);\n }\n\n function hasValue(obj, name) {\n return obj[name] != null && obj[name] !== 'auto';\n }\n\n function copy(names, target, source) {\n each(names, function (name) {\n target[name] = source[name];\n });\n }\n}\n/**\r\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\r\n */\n\nexport function getLayoutParams(source) {\n return copyLayoutParams({}, source);\n}\n/**\r\n * Retrieve 'left', 'right', 'top', 'bottom', 'width', 'height' from object.\r\n * @param {Object} source\r\n * @return {Object} Result contains those props.\r\n */\n\nexport function copyLayoutParams(target, source) {\n source && target && each(LOCATION_PARAMS, function (name) {\n source.hasOwnProperty(name) && (target[name] = source[name]);\n });\n return target;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport Model from './Model.js';\nimport * as componentUtil from '../util/component.js';\nimport { enableClassManagement, parseClassType, isExtendedClass, mountExtend } from '../util/clazz.js';\nimport { makeInner, queryReferringComponents } from '../util/model.js';\nimport * as layout from '../util/layout.js';\nvar inner = makeInner();\n\nvar ComponentModel =\n/** @class */\nfunction (_super) {\n __extends(ComponentModel, _super);\n\n function ComponentModel(option, parentModel, ecModel) {\n var _this = _super.call(this, option, parentModel, ecModel) || this;\n\n _this.uid = componentUtil.getUID('ec_cpt_model');\n return _this;\n }\n\n ComponentModel.prototype.init = function (option, parentModel, ecModel) {\n this.mergeDefaultAndTheme(option, ecModel);\n };\n\n ComponentModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n var layoutMode = layout.fetchLayoutMode(this);\n var inputPositionParams = layoutMode ? layout.getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n zrUtil.merge(option, themeModel.get(this.mainType));\n zrUtil.merge(option, this.getDefaultOption());\n\n if (layoutMode) {\n layout.mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n };\n\n ComponentModel.prototype.mergeOption = function (option, ecModel) {\n zrUtil.merge(this.option, option, true);\n var layoutMode = layout.fetchLayoutMode(this);\n\n if (layoutMode) {\n layout.mergeLayoutParam(this.option, option, layoutMode);\n }\n };\n /**\r\n * Called immediately after `init` or `mergeOption` of this instance called.\r\n */\n\n\n ComponentModel.prototype.optionUpdated = function (newCptOption, isInit) {};\n /**\r\n * [How to declare defaultOption]:\r\n *\r\n * (A) If using class declaration in typescript (since echarts 5):\r\n * ```ts\r\n * import {ComponentOption} from '../model/option.js';\r\n * export interface XxxOption extends ComponentOption {\r\n * aaa: number\r\n * }\r\n * export class XxxModel extends Component {\r\n * static type = 'xxx';\r\n * static defaultOption: XxxOption = {\r\n * aaa: 123\r\n * }\r\n * }\r\n * Component.registerClass(XxxModel);\r\n * ```\r\n * ```ts\r\n * import {inheritDefaultOption} from '../util/component.js';\r\n * import {XxxModel, XxxOption} from './XxxModel.js';\r\n * export interface XxxSubOption extends XxxOption {\r\n * bbb: number\r\n * }\r\n * class XxxSubModel extends XxxModel {\r\n * static defaultOption: XxxSubOption = inheritDefaultOption(XxxModel.defaultOption, {\r\n * bbb: 456\r\n * })\r\n * fn() {\r\n * let opt = this.getDefaultOption();\r\n * // opt is {aaa: 123, bbb: 456}\r\n * }\r\n * }\r\n * ```\r\n *\r\n * (B) If using class extend (previous approach in echarts 3 & 4):\r\n * ```js\r\n * let XxxComponent = Component.extend({\r\n * defaultOption: {\r\n * xx: 123\r\n * }\r\n * })\r\n * ```\r\n * ```js\r\n * let XxxSubComponent = XxxComponent.extend({\r\n * defaultOption: {\r\n * yy: 456\r\n * },\r\n * fn: function () {\r\n * let opt = this.getDefaultOption();\r\n * // opt is {xx: 123, yy: 456}\r\n * }\r\n * })\r\n * ```\r\n */\n\n\n ComponentModel.prototype.getDefaultOption = function () {\n var ctor = this.constructor; // If using class declaration, it is different to travel super class\n // in legacy env and auto merge defaultOption. So if using class\n // declaration, defaultOption should be merged manually.\n\n if (!isExtendedClass(ctor)) {\n // When using ts class, defaultOption must be declared as static.\n return ctor.defaultOption;\n } // FIXME: remove this approach?\n\n\n var fields = inner(this);\n\n if (!fields.defaultOption) {\n var optList = [];\n var clz = ctor;\n\n while (clz) {\n var opt = clz.prototype.defaultOption;\n opt && optList.push(opt);\n clz = clz.superClass;\n }\n\n var defaultOption = {};\n\n for (var i = optList.length - 1; i >= 0; i--) {\n defaultOption = zrUtil.merge(defaultOption, optList[i], true);\n }\n\n fields.defaultOption = defaultOption;\n }\n\n return fields.defaultOption;\n };\n /**\r\n * Notice: always force to input param `useDefault` in case that forget to consider it.\r\n * The same behavior as `modelUtil.parseFinder`.\r\n *\r\n * @param useDefault In many cases like series refer axis and axis refer grid,\r\n * If axis index / axis id not specified, use the first target as default.\r\n * In other cases like dataZoom refer axis, if not specified, measn no refer.\r\n */\n\n\n ComponentModel.prototype.getReferringComponents = function (mainType, opt) {\n var indexKey = mainType + 'Index';\n var idKey = mainType + 'Id';\n return queryReferringComponents(this.ecModel, mainType, {\n index: this.get(indexKey, true),\n id: this.get(idKey, true)\n }, opt);\n };\n\n ComponentModel.prototype.getBoxLayoutParams = function () {\n // Consider itself having box layout configs.\n var boxLayoutModel = this;\n return {\n left: boxLayoutModel.get('left'),\n top: boxLayoutModel.get('top'),\n right: boxLayoutModel.get('right'),\n bottom: boxLayoutModel.get('bottom'),\n width: boxLayoutModel.get('width'),\n height: boxLayoutModel.get('height')\n };\n };\n /**\r\n * Get key for zlevel.\r\n * If developers don't configure zlevel. We will assign zlevel to series based on the key.\r\n * For example, lines with trail effect and progressive series will in an individual zlevel.\r\n */\n\n\n ComponentModel.prototype.getZLevelKey = function () {\n return '';\n };\n\n ComponentModel.prototype.setZLevel = function (zlevel) {\n this.option.zlevel = zlevel;\n };\n\n ComponentModel.protoInitialize = function () {\n var proto = ComponentModel.prototype;\n proto.type = 'component';\n proto.id = '';\n proto.name = '';\n proto.mainType = '';\n proto.subType = '';\n proto.componentIndex = 0;\n }();\n\n return ComponentModel;\n}(Model);\n\nmountExtend(ComponentModel, Model);\nenableClassManagement(ComponentModel);\ncomponentUtil.enableSubTypeDefaulter(ComponentModel);\ncomponentUtil.enableTopologicalTravel(ComponentModel, getDependencies);\n\nfunction getDependencies(componentType) {\n var deps = [];\n zrUtil.each(ComponentModel.getClassesByMainType(componentType), function (clz) {\n deps = deps.concat(clz.dependencies || clz.prototype.dependencies || []);\n }); // Ensure main type.\n\n deps = zrUtil.map(deps, function (type) {\n return parseClassType(type).main;\n }); // Hack dataset for convenience.\n\n if (componentType !== 'dataset' && zrUtil.indexOf(deps, 'dataset') <= 0) {\n deps.unshift('dataset');\n }\n\n return deps;\n}\n\nexport default ComponentModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nvar platform = ''; // Navigator not exists in node\n\nif (typeof navigator !== 'undefined') {\n /* global navigator */\n platform = navigator.platform || '';\n}\n\nvar decalColor = 'rgba(0, 0, 0, 0.2)';\nexport default {\n darkMode: 'auto',\n // backgroundColor: 'rgba(0,0,0,0)',\n colorBy: 'series',\n color: ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc'],\n gradientColor: ['#f6efa6', '#d88273', '#bf444c'],\n aria: {\n decal: {\n decals: [{\n color: decalColor,\n dashArrayX: [1, 0],\n dashArrayY: [2, 5],\n symbolSize: 1,\n rotation: Math.PI / 6\n }, {\n color: decalColor,\n symbol: 'circle',\n dashArrayX: [[8, 8], [0, 8, 8, 0]],\n dashArrayY: [6, 0],\n symbolSize: 0.8\n }, {\n color: decalColor,\n dashArrayX: [1, 0],\n dashArrayY: [4, 3],\n rotation: -Math.PI / 4\n }, {\n color: decalColor,\n dashArrayX: [[6, 6], [0, 6, 6, 0]],\n dashArrayY: [6, 0]\n }, {\n color: decalColor,\n dashArrayX: [[1, 0], [1, 6]],\n dashArrayY: [1, 0, 6, 0],\n rotation: Math.PI / 4\n }, {\n color: decalColor,\n symbol: 'triangle',\n dashArrayX: [[9, 9], [0, 9, 9, 0]],\n dashArrayY: [7, 2],\n symbolSize: 0.75\n }]\n }\n },\n // If xAxis and yAxis declared, grid is created by default.\n // grid: {},\n textStyle: {\n // color: '#000',\n // decoration: 'none',\n // PENDING\n fontFamily: platform.match(/^Win/) ? 'Microsoft YaHei' : 'sans-serif',\n // fontFamily: 'Arial, Verdana, sans-serif',\n fontSize: 12,\n fontStyle: 'normal',\n fontWeight: 'normal'\n },\n // http://blogs.adobe.com/webplatform/2014/02/24/using-blend-modes-in-html-canvas/\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation\n // Default is source-over\n blendMode: null,\n stateAnimation: {\n duration: 300,\n easing: 'cubicOut'\n },\n animation: 'auto',\n animationDuration: 1000,\n animationDurationUpdate: 500,\n animationEasing: 'cubicInOut',\n animationEasingUpdate: 'cubicInOut',\n animationThreshold: 2000,\n // Configuration for progressive/incremental rendering\n progressiveThreshold: 3000,\n progressive: 400,\n // Threshold of if use single hover layer to optimize.\n // It is recommended that `hoverLayerThreshold` is equivalent to or less than\n // `progressiveThreshold`, otherwise hover will cause restart of progressive,\n // which is unexpected.\n // see example .\n hoverLayerThreshold: 3000,\n // See: module:echarts/scale/Time\n useUTC: false\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createHashMap } from 'zrender/lib/core/util.js';\n;\n;\n;\nexport var VISUAL_DIMENSIONS = createHashMap(['tooltip', 'label', 'itemName', 'itemId', 'itemGroupId', 'seriesName']);\nexport var SOURCE_FORMAT_ORIGINAL = 'original';\nexport var SOURCE_FORMAT_ARRAY_ROWS = 'arrayRows';\nexport var SOURCE_FORMAT_OBJECT_ROWS = 'objectRows';\nexport var SOURCE_FORMAT_KEYED_COLUMNS = 'keyedColumns';\nexport var SOURCE_FORMAT_TYPED_ARRAY = 'typedArray';\nexport var SOURCE_FORMAT_UNKNOWN = 'unknown';\nexport var SERIES_LAYOUT_BY_COLUMN = 'column';\nexport var SERIES_LAYOUT_BY_ROW = 'row';\n;\n;\n;\n;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { makeInner, getDataItemValue, queryReferringComponents, SINGLE_REFERRING } from '../../util/model.js';\nimport { createHashMap, each, isArray, isString, isObject, isTypedArray } from 'zrender/lib/core/util.js';\nimport { SOURCE_FORMAT_ORIGINAL, SOURCE_FORMAT_ARRAY_ROWS, SOURCE_FORMAT_OBJECT_ROWS, SERIES_LAYOUT_BY_ROW, SOURCE_FORMAT_KEYED_COLUMNS } from '../../util/types.js'; // The result of `guessOrdinal`.\n\nexport var BE_ORDINAL = {\n Must: 1,\n Might: 2,\n Not: 3 // Other cases\n\n};\nvar innerGlobalModel = makeInner();\n/**\r\n * MUST be called before mergeOption of all series.\r\n */\n\nexport function resetSourceDefaulter(ecModel) {\n // `datasetMap` is used to make default encode.\n innerGlobalModel(ecModel).datasetMap = createHashMap();\n}\n/**\r\n * [The strategy of the arrengment of data dimensions for dataset]:\r\n * \"value way\": all axes are non-category axes. So series one by one take\r\n * several (the number is coordSysDims.length) dimensions from dataset.\r\n * The result of data arrengment of data dimensions like:\r\n * | ser0_x | ser0_y | ser1_x | ser1_y | ser2_x | ser2_y |\r\n * \"category way\": at least one axis is category axis. So the the first data\r\n * dimension is always mapped to the first category axis and shared by\r\n * all of the series. The other data dimensions are taken by series like\r\n * \"value way\" does.\r\n * The result of data arrengment of data dimensions like:\r\n * | ser_shared_x | ser0_y | ser1_y | ser2_y |\r\n *\r\n * @return encode Never be `null/undefined`.\r\n */\n\nexport function makeSeriesEncodeForAxisCoordSys(coordDimensions, seriesModel, source) {\n var encode = {};\n var datasetModel = querySeriesUpstreamDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel || !coordDimensions) {\n return encode;\n }\n\n var encodeItemName = [];\n var encodeSeriesName = [];\n var ecModel = seriesModel.ecModel;\n var datasetMap = innerGlobalModel(ecModel).datasetMap;\n var key = datasetModel.uid + '_' + source.seriesLayoutBy;\n var baseCategoryDimIndex;\n var categoryWayValueDimStart;\n coordDimensions = coordDimensions.slice();\n each(coordDimensions, function (coordDimInfoLoose, coordDimIdx) {\n var coordDimInfo = isObject(coordDimInfoLoose) ? coordDimInfoLoose : coordDimensions[coordDimIdx] = {\n name: coordDimInfoLoose\n };\n\n if (coordDimInfo.type === 'ordinal' && baseCategoryDimIndex == null) {\n baseCategoryDimIndex = coordDimIdx;\n categoryWayValueDimStart = getDataDimCountOnCoordDim(coordDimInfo);\n }\n\n encode[coordDimInfo.name] = [];\n });\n var datasetRecord = datasetMap.get(key) || datasetMap.set(key, {\n categoryWayDim: categoryWayValueDimStart,\n valueWayDim: 0\n }); // TODO\n // Auto detect first time axis and do arrangement.\n\n each(coordDimensions, function (coordDimInfo, coordDimIdx) {\n var coordDimName = coordDimInfo.name;\n var count = getDataDimCountOnCoordDim(coordDimInfo); // In value way.\n\n if (baseCategoryDimIndex == null) {\n var start = datasetRecord.valueWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.valueWayDim += count; // ??? TODO give a better default series name rule?\n // especially when encode x y specified.\n // consider: when multiple series share one dimension\n // category axis, series name should better use\n // the other dimension name. On the other hand, use\n // both dimensions name.\n } // In category way, the first category axis.\n else if (baseCategoryDimIndex === coordDimIdx) {\n pushDim(encode[coordDimName], 0, count);\n pushDim(encodeItemName, 0, count);\n } // In category way, the other axis.\n else {\n var start = datasetRecord.categoryWayDim;\n pushDim(encode[coordDimName], start, count);\n pushDim(encodeSeriesName, start, count);\n datasetRecord.categoryWayDim += count;\n }\n });\n\n function pushDim(dimIdxArr, idxFrom, idxCount) {\n for (var i = 0; i < idxCount; i++) {\n dimIdxArr.push(idxFrom + i);\n }\n }\n\n function getDataDimCountOnCoordDim(coordDimInfo) {\n var dimsDef = coordDimInfo.dimsDef;\n return dimsDef ? dimsDef.length : 1;\n }\n\n encodeItemName.length && (encode.itemName = encodeItemName);\n encodeSeriesName.length && (encode.seriesName = encodeSeriesName);\n return encode;\n}\n/**\r\n * Work for data like [{name: ..., value: ...}, ...].\r\n *\r\n * @return encode Never be `null/undefined`.\r\n */\n\nexport function makeSeriesEncodeForNameBased(seriesModel, source, dimCount) {\n var encode = {};\n var datasetModel = querySeriesUpstreamDatasetModel(seriesModel); // Currently only make default when using dataset, util more reqirements occur.\n\n if (!datasetModel) {\n return encode;\n }\n\n var sourceFormat = source.sourceFormat;\n var dimensionsDefine = source.dimensionsDefine;\n var potentialNameDimIndex;\n\n if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n each(dimensionsDefine, function (dim, idx) {\n if ((isObject(dim) ? dim.name : dim) === 'name') {\n potentialNameDimIndex = idx;\n }\n });\n }\n\n var idxResult = function () {\n var idxRes0 = {};\n var idxRes1 = {};\n var guessRecords = []; // 5 is an experience value.\n\n for (var i = 0, len = Math.min(5, dimCount); i < len; i++) {\n var guessResult = doGuessOrdinal(source.data, sourceFormat, source.seriesLayoutBy, dimensionsDefine, source.startIndex, i);\n guessRecords.push(guessResult);\n var isPureNumber = guessResult === BE_ORDINAL.Not; // [Strategy of idxRes0]: find the first BE_ORDINAL.Not as the value dim,\n // and then find a name dim with the priority:\n // \"BE_ORDINAL.Might|BE_ORDINAL.Must\" > \"other dim\" > \"the value dim itself\".\n\n if (isPureNumber && idxRes0.v == null && i !== potentialNameDimIndex) {\n idxRes0.v = i;\n }\n\n if (idxRes0.n == null || idxRes0.n === idxRes0.v || !isPureNumber && guessRecords[idxRes0.n] === BE_ORDINAL.Not) {\n idxRes0.n = i;\n }\n\n if (fulfilled(idxRes0) && guessRecords[idxRes0.n] !== BE_ORDINAL.Not) {\n return idxRes0;\n } // [Strategy of idxRes1]: if idxRes0 not satisfied (that is, no BE_ORDINAL.Not),\n // find the first BE_ORDINAL.Might as the value dim,\n // and then find a name dim with the priority:\n // \"other dim\" > \"the value dim itself\".\n // That is for backward compat: number-like (e.g., `'3'`, `'55'`) can be\n // treated as number.\n\n\n if (!isPureNumber) {\n if (guessResult === BE_ORDINAL.Might && idxRes1.v == null && i !== potentialNameDimIndex) {\n idxRes1.v = i;\n }\n\n if (idxRes1.n == null || idxRes1.n === idxRes1.v) {\n idxRes1.n = i;\n }\n }\n }\n\n function fulfilled(idxResult) {\n return idxResult.v != null && idxResult.n != null;\n }\n\n return fulfilled(idxRes0) ? idxRes0 : fulfilled(idxRes1) ? idxRes1 : null;\n }();\n\n if (idxResult) {\n encode.value = [idxResult.v]; // `potentialNameDimIndex` has highest priority.\n\n var nameDimIndex = potentialNameDimIndex != null ? potentialNameDimIndex : idxResult.n; // By default, label uses itemName in charts.\n // So we don't set encodeLabel here.\n\n encode.itemName = [nameDimIndex];\n encode.seriesName = [nameDimIndex];\n }\n\n return encode;\n}\n/**\r\n * @return If return null/undefined, indicate that should not use datasetModel.\r\n */\n\nexport function querySeriesUpstreamDatasetModel(seriesModel) {\n // Caution: consider the scenario:\n // A dataset is declared and a series is not expected to use the dataset,\n // and at the beginning `setOption({series: { noData })` (just prepare other\n // option but no data), then `setOption({series: {data: [...]}); In this case,\n // the user should set an empty array to avoid that dataset is used by default.\n var thisData = seriesModel.get('data', true);\n\n if (!thisData) {\n return queryReferringComponents(seriesModel.ecModel, 'dataset', {\n index: seriesModel.get('datasetIndex', true),\n id: seriesModel.get('datasetId', true)\n }, SINGLE_REFERRING).models[0];\n }\n}\n/**\r\n * @return Always return an array event empty.\r\n */\n\nexport function queryDatasetUpstreamDatasetModels(datasetModel) {\n // Only these attributes declared, we by defualt reference to `datasetIndex: 0`.\n // Otherwise, no reference.\n if (!datasetModel.get('transform', true) && !datasetModel.get('fromTransformResult', true)) {\n return [];\n }\n\n return queryReferringComponents(datasetModel.ecModel, 'dataset', {\n index: datasetModel.get('fromDatasetIndex', true),\n id: datasetModel.get('fromDatasetId', true)\n }, SINGLE_REFERRING).models;\n}\n/**\r\n * The rule should not be complex, otherwise user might not\r\n * be able to known where the data is wrong.\r\n * The code is ugly, but how to make it neat?\r\n */\n\nexport function guessOrdinal(source, dimIndex) {\n return doGuessOrdinal(source.data, source.sourceFormat, source.seriesLayoutBy, source.dimensionsDefine, source.startIndex, dimIndex);\n} // dimIndex may be overflow source data.\n// return {BE_ORDINAL}\n\nfunction doGuessOrdinal(data, sourceFormat, seriesLayoutBy, dimensionsDefine, startIndex, dimIndex) {\n var result; // Experience value.\n\n var maxLoop = 5;\n\n if (isTypedArray(data)) {\n return BE_ORDINAL.Not;\n } // When sourceType is 'objectRows' or 'keyedColumns', dimensionsDefine\n // always exists in source.\n\n\n var dimName;\n var dimType;\n\n if (dimensionsDefine) {\n var dimDefItem = dimensionsDefine[dimIndex];\n\n if (isObject(dimDefItem)) {\n dimName = dimDefItem.name;\n dimType = dimDefItem.type;\n } else if (isString(dimDefItem)) {\n dimName = dimDefItem;\n }\n }\n\n if (dimType != null) {\n return dimType === 'ordinal' ? BE_ORDINAL.Must : BE_ORDINAL.Not;\n }\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n var dataArrayRows = data;\n\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n var sample = dataArrayRows[dimIndex];\n\n for (var i = 0; i < (sample || []).length && i < maxLoop; i++) {\n if ((result = detectValue(sample[startIndex + i])) != null) {\n return result;\n }\n }\n } else {\n for (var i = 0; i < dataArrayRows.length && i < maxLoop; i++) {\n var row = dataArrayRows[startIndex + i];\n\n if (row && (result = detectValue(row[dimIndex])) != null) {\n return result;\n }\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n var dataObjectRows = data;\n\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < dataObjectRows.length && i < maxLoop; i++) {\n var item = dataObjectRows[i];\n\n if (item && (result = detectValue(item[dimName])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n var dataKeyedColumns = data;\n\n if (!dimName) {\n return BE_ORDINAL.Not;\n }\n\n var sample = dataKeyedColumns[dimName];\n\n if (!sample || isTypedArray(sample)) {\n return BE_ORDINAL.Not;\n }\n\n for (var i = 0; i < sample.length && i < maxLoop; i++) {\n if ((result = detectValue(sample[i])) != null) {\n return result;\n }\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var dataOriginal = data;\n\n for (var i = 0; i < dataOriginal.length && i < maxLoop; i++) {\n var item = dataOriginal[i];\n var val = getDataItemValue(item);\n\n if (!isArray(val)) {\n return BE_ORDINAL.Not;\n }\n\n if ((result = detectValue(val[dimIndex])) != null) {\n return result;\n }\n }\n }\n\n function detectValue(val) {\n var beStr = isString(val); // Consider usage convenience, '1', '2' will be treated as \"number\".\n // `isFinit('')` get `true`.\n\n if (val != null && isFinite(val) && val !== '') {\n return beStr ? BE_ORDINAL.Might : BE_ORDINAL.Not;\n } else if (beStr && val !== '-') {\n return BE_ORDINAL.Must;\n }\n }\n\n return BE_ORDINAL.Not;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createHashMap, assert } from 'zrender/lib/core/util.js';\nimport { isComponentIdInternal } from '../util/model.js';\nvar internalOptionCreatorMap = createHashMap();\nexport function registerInternalOptionCreator(mainType, creator) {\n assert(internalOptionCreatorMap.get(mainType) == null && creator);\n internalOptionCreatorMap.set(mainType, creator);\n}\nexport function concatInternalOptions(ecModel, mainType, newCmptOptionList) {\n var internalOptionCreator = internalOptionCreatorMap.get(mainType);\n\n if (!internalOptionCreator) {\n return newCmptOptionList;\n }\n\n var internalOptions = internalOptionCreator(ecModel);\n\n if (!internalOptions) {\n return newCmptOptionList;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n for (var i = 0; i < internalOptions.length; i++) {\n assert(isComponentIdInternal(internalOptions[i]));\n }\n }\n\n return newCmptOptionList.concat(internalOptions);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { makeInner, normalizeToArray } from '../../util/model.js';\nvar innerColor = makeInner();\nvar innerDecal = makeInner();\n\nvar PaletteMixin =\n/** @class */\nfunction () {\n function PaletteMixin() {}\n\n PaletteMixin.prototype.getColorFromPalette = function (name, scope, requestNum) {\n var defaultPalette = normalizeToArray(this.get('color', true));\n var layeredPalette = this.get('colorLayer', true);\n return getFromPalette(this, innerColor, defaultPalette, layeredPalette, name, scope, requestNum);\n };\n\n PaletteMixin.prototype.clearColorPalette = function () {\n clearPalette(this, innerColor);\n };\n\n return PaletteMixin;\n}();\n\nexport function getDecalFromPalette(ecModel, name, scope, requestNum) {\n var defaultDecals = normalizeToArray(ecModel.get(['aria', 'decal', 'decals']));\n return getFromPalette(ecModel, innerDecal, defaultDecals, null, name, scope, requestNum);\n}\n\nfunction getNearestPalette(palettes, requestColorNum) {\n var paletteNum = palettes.length; // TODO palettes must be in order\n\n for (var i = 0; i < paletteNum; i++) {\n if (palettes[i].length > requestColorNum) {\n return palettes[i];\n }\n }\n\n return palettes[paletteNum - 1];\n}\n/**\r\n * @param name MUST NOT be null/undefined. Otherwise call this function\r\n * twise with the same parameters will get different result.\r\n * @param scope default this.\r\n * @return Can be null/undefined\r\n */\n\n\nfunction getFromPalette(that, inner, defaultPalette, layeredPalette, name, scope, requestNum) {\n scope = scope || that;\n var scopeFields = inner(scope);\n var paletteIdx = scopeFields.paletteIdx || 0;\n var paletteNameMap = scopeFields.paletteNameMap = scopeFields.paletteNameMap || {}; // Use `hasOwnProperty` to avoid conflict with Object.prototype.\n\n if (paletteNameMap.hasOwnProperty(name)) {\n return paletteNameMap[name];\n }\n\n var palette = requestNum == null || !layeredPalette ? defaultPalette : getNearestPalette(layeredPalette, requestNum); // In case can't find in layered color palette.\n\n palette = palette || defaultPalette;\n\n if (!palette || !palette.length) {\n return;\n }\n\n var pickedPaletteItem = palette[paletteIdx];\n\n if (name) {\n paletteNameMap[name] = pickedPaletteItem;\n }\n\n scopeFields.paletteIdx = (paletteIdx + 1) % palette.length;\n return pickedPaletteItem;\n}\n\nfunction clearPalette(that, inner) {\n inner(that).paletteIdx = 0;\n inner(that).paletteNameMap = {};\n}\n\nexport { PaletteMixin };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\n/**\r\n * Caution: If the mechanism should be changed some day, these cases\r\n * should be considered:\r\n *\r\n * (1) In `merge option` mode, if using the same option to call `setOption`\r\n * many times, the result should be the same (try our best to ensure that).\r\n * (2) In `merge option` mode, if a component has no id/name specified, it\r\n * will be merged by index, and the result sequence of the components is\r\n * consistent to the original sequence.\r\n * (3) In `replaceMerge` mode, keep the result sequence of the components is\r\n * consistent to the original sequence, even though there might result in \"hole\".\r\n * (4) `reset` feature (in toolbox). Find detailed info in comments about\r\n * `mergeOption` in module:echarts/model/OptionManager.\r\n */\n\nimport { each, filter, isArray, isObject, isString, createHashMap, assert, clone, merge, extend, mixin, isFunction } from 'zrender/lib/core/util.js';\nimport * as modelUtil from '../util/model.js';\nimport Model from './Model.js';\nimport ComponentModel from './Component.js';\nimport globalDefault from './globalDefault.js';\nimport { resetSourceDefaulter } from '../data/helper/sourceHelper.js';\nimport { concatInternalOptions } from './internalComponentCreator.js';\nimport { PaletteMixin } from './mixin/palette.js';\nimport { error, warn } from '../util/log.js'; // -----------------------\n// Internal method names:\n// -----------------------\n\nvar reCreateSeriesIndices;\nvar assertSeriesInitialized;\nvar initBase;\nvar OPTION_INNER_KEY = '\\0_ec_inner';\nvar OPTION_INNER_VALUE = 1;\nvar BUITIN_COMPONENTS_MAP = {\n grid: 'GridComponent',\n polar: 'PolarComponent',\n geo: 'GeoComponent',\n singleAxis: 'SingleAxisComponent',\n parallel: 'ParallelComponent',\n calendar: 'CalendarComponent',\n graphic: 'GraphicComponent',\n toolbox: 'ToolboxComponent',\n tooltip: 'TooltipComponent',\n axisPointer: 'AxisPointerComponent',\n brush: 'BrushComponent',\n title: 'TitleComponent',\n timeline: 'TimelineComponent',\n markPoint: 'MarkPointComponent',\n markLine: 'MarkLineComponent',\n markArea: 'MarkAreaComponent',\n legend: 'LegendComponent',\n dataZoom: 'DataZoomComponent',\n visualMap: 'VisualMapComponent',\n // aria: 'AriaComponent',\n // dataset: 'DatasetComponent',\n // Dependencies\n xAxis: 'GridComponent',\n yAxis: 'GridComponent',\n angleAxis: 'PolarComponent',\n radiusAxis: 'PolarComponent'\n};\nvar BUILTIN_CHARTS_MAP = {\n line: 'LineChart',\n bar: 'BarChart',\n pie: 'PieChart',\n scatter: 'ScatterChart',\n radar: 'RadarChart',\n map: 'MapChart',\n tree: 'TreeChart',\n treemap: 'TreemapChart',\n graph: 'GraphChart',\n gauge: 'GaugeChart',\n funnel: 'FunnelChart',\n parallel: 'ParallelChart',\n sankey: 'SankeyChart',\n boxplot: 'BoxplotChart',\n candlestick: 'CandlestickChart',\n effectScatter: 'EffectScatterChart',\n lines: 'LinesChart',\n heatmap: 'HeatmapChart',\n pictorialBar: 'PictorialBarChart',\n themeRiver: 'ThemeRiverChart',\n sunburst: 'SunburstChart',\n custom: 'CustomChart'\n};\nvar componetsMissingLogPrinted = {};\n\nfunction checkMissingComponents(option) {\n each(option, function (componentOption, mainType) {\n if (!ComponentModel.hasClass(mainType)) {\n var componentImportName = BUITIN_COMPONENTS_MAP[mainType];\n\n if (componentImportName && !componetsMissingLogPrinted[componentImportName]) {\n error(\"Component \" + mainType + \" is used but not imported.\\nimport { \" + componentImportName + \" } from 'echarts/components';\\necharts.use([\" + componentImportName + \"]);\");\n componetsMissingLogPrinted[componentImportName] = true;\n }\n }\n });\n}\n\nvar GlobalModel =\n/** @class */\nfunction (_super) {\n __extends(GlobalModel, _super);\n\n function GlobalModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n GlobalModel.prototype.init = function (option, parentModel, ecModel, theme, locale, optionManager) {\n theme = theme || {};\n this.option = null; // Mark as not initialized.\n\n this._theme = new Model(theme);\n this._locale = new Model(locale);\n this._optionManager = optionManager;\n };\n\n GlobalModel.prototype.setOption = function (option, opts, optionPreprocessorFuncs) {\n if (process.env.NODE_ENV !== 'production') {\n assert(option != null, 'option is null/undefined');\n assert(option[OPTION_INNER_KEY] !== OPTION_INNER_VALUE, 'please use chart.getOption()');\n }\n\n var innerOpt = normalizeSetOptionInput(opts);\n\n this._optionManager.setOption(option, optionPreprocessorFuncs, innerOpt);\n\n this._resetOption(null, innerOpt);\n };\n /**\r\n * @param type null/undefined: reset all.\r\n * 'recreate': force recreate all.\r\n * 'timeline': only reset timeline option\r\n * 'media': only reset media query option\r\n * @return Whether option changed.\r\n */\n\n\n GlobalModel.prototype.resetOption = function (type, opt) {\n return this._resetOption(type, normalizeSetOptionInput(opt));\n };\n\n GlobalModel.prototype._resetOption = function (type, opt) {\n var optionChanged = false;\n var optionManager = this._optionManager;\n\n if (!type || type === 'recreate') {\n var baseOption = optionManager.mountOption(type === 'recreate');\n\n if (process.env.NODE_ENV !== 'production') {\n checkMissingComponents(baseOption);\n }\n\n if (!this.option || type === 'recreate') {\n initBase(this, baseOption);\n } else {\n this.restoreData();\n\n this._mergeOption(baseOption, opt);\n }\n\n optionChanged = true;\n }\n\n if (type === 'timeline' || type === 'media') {\n this.restoreData();\n } // By design, if `setOption(option2)` at the second time, and `option2` is a `ECUnitOption`,\n // it should better not have the same props with `MediaUnit['option']`.\n // Because either `option2` or `MediaUnit['option']` will be always merged to \"current option\"\n // rather than original \"baseOption\". If they both override a prop, the result might be\n // unexpected when media state changed after `setOption` called.\n // If we really need to modify a props in each `MediaUnit['option']`, use the full version\n // (`{baseOption, media}`) in `setOption`.\n // For `timeline`, the case is the same.\n\n\n if (!type || type === 'recreate' || type === 'timeline') {\n var timelineOption = optionManager.getTimelineOption(this);\n\n if (timelineOption) {\n optionChanged = true;\n\n this._mergeOption(timelineOption, opt);\n }\n }\n\n if (!type || type === 'recreate' || type === 'media') {\n var mediaOptions = optionManager.getMediaOption(this);\n\n if (mediaOptions.length) {\n each(mediaOptions, function (mediaOption) {\n optionChanged = true;\n\n this._mergeOption(mediaOption, opt);\n }, this);\n }\n }\n\n return optionChanged;\n };\n\n GlobalModel.prototype.mergeOption = function (option) {\n this._mergeOption(option, null);\n };\n\n GlobalModel.prototype._mergeOption = function (newOption, opt) {\n var option = this.option;\n var componentsMap = this._componentsMap;\n var componentsCount = this._componentsCount;\n var newCmptTypes = [];\n var newCmptTypeMap = createHashMap();\n var replaceMergeMainTypeMap = opt && opt.replaceMergeMainTypeMap;\n resetSourceDefaulter(this); // If no component class, merge directly.\n // For example: color, animaiton options, etc.\n\n each(newOption, function (componentOption, mainType) {\n if (componentOption == null) {\n return;\n }\n\n if (!ComponentModel.hasClass(mainType)) {\n // globalSettingTask.dirty();\n option[mainType] = option[mainType] == null ? clone(componentOption) : merge(option[mainType], componentOption, true);\n } else if (mainType) {\n newCmptTypes.push(mainType);\n newCmptTypeMap.set(mainType, true);\n }\n });\n\n if (replaceMergeMainTypeMap) {\n // If there is a mainType `xxx` in `replaceMerge` but not declared in option,\n // we trade it as it is declared in option as `{xxx: []}`. Because:\n // (1) for normal merge, `{xxx: null/undefined}` are the same meaning as `{xxx: []}`.\n // (2) some preprocessor may convert some of `{xxx: null/undefined}` to `{xxx: []}`.\n replaceMergeMainTypeMap.each(function (val, mainTypeInReplaceMerge) {\n if (ComponentModel.hasClass(mainTypeInReplaceMerge) && !newCmptTypeMap.get(mainTypeInReplaceMerge)) {\n newCmptTypes.push(mainTypeInReplaceMerge);\n newCmptTypeMap.set(mainTypeInReplaceMerge, true);\n }\n });\n }\n\n ComponentModel.topologicalTravel(newCmptTypes, ComponentModel.getAllClassMainTypes(), visitComponent, this);\n\n function visitComponent(mainType) {\n var newCmptOptionList = concatInternalOptions(this, mainType, modelUtil.normalizeToArray(newOption[mainType]));\n var oldCmptList = componentsMap.get(mainType);\n var mergeMode = // `!oldCmptList` means init. See the comment in `mappingToExists`\n !oldCmptList ? 'replaceAll' : replaceMergeMainTypeMap && replaceMergeMainTypeMap.get(mainType) ? 'replaceMerge' : 'normalMerge';\n var mappingResult = modelUtil.mappingToExists(oldCmptList, newCmptOptionList, mergeMode); // Set mainType and complete subType.\n\n modelUtil.setComponentTypeToKeyInfo(mappingResult, mainType, ComponentModel); // Empty it before the travel, in order to prevent `this._componentsMap`\n // from being used in the `init`/`mergeOption`/`optionUpdated` of some\n // components, which is probably incorrect logic.\n\n option[mainType] = null;\n componentsMap.set(mainType, null);\n componentsCount.set(mainType, 0);\n var optionsByMainType = [];\n var cmptsByMainType = [];\n var cmptsCountByMainType = 0;\n var tooltipExists;\n var tooltipWarningLogged;\n each(mappingResult, function (resultItem, index) {\n var componentModel = resultItem.existing;\n var newCmptOption = resultItem.newOption;\n\n if (!newCmptOption) {\n if (componentModel) {\n // Consider where is no new option and should be merged using {},\n // see removeEdgeAndAdd in topologicalTravel and\n // ComponentModel.getAllClassMainTypes.\n componentModel.mergeOption({}, this);\n componentModel.optionUpdated({}, false);\n } // If no both `resultItem.exist` and `resultItem.option`,\n // either it is in `replaceMerge` and not matched by any id,\n // or it has been removed in previous `replaceMerge` and left a \"hole\" in this component index.\n\n } else {\n var isSeriesType = mainType === 'series';\n var ComponentModelClass = ComponentModel.getClass(mainType, resultItem.keyInfo.subType, !isSeriesType // Give a more detailed warn later if series don't exists\n );\n\n if (!ComponentModelClass) {\n if (process.env.NODE_ENV !== 'production') {\n var subType = resultItem.keyInfo.subType;\n var seriesImportName = BUILTIN_CHARTS_MAP[subType];\n\n if (!componetsMissingLogPrinted[subType]) {\n componetsMissingLogPrinted[subType] = true;\n\n if (seriesImportName) {\n error(\"Series \" + subType + \" is used but not imported.\\nimport { \" + seriesImportName + \" } from 'echarts/charts';\\necharts.use([\" + seriesImportName + \"]);\");\n } else {\n error(\"Unknown series \" + subType);\n }\n }\n }\n\n return;\n } // TODO Before multiple tooltips get supported, we do this check to avoid unexpected exception.\n\n\n if (mainType === 'tooltip') {\n if (tooltipExists) {\n if (process.env.NODE_ENV !== 'production') {\n if (!tooltipWarningLogged) {\n warn('Currently only one tooltip component is allowed.');\n tooltipWarningLogged = true;\n }\n }\n\n return;\n }\n\n tooltipExists = true;\n }\n\n if (componentModel && componentModel.constructor === ComponentModelClass) {\n componentModel.name = resultItem.keyInfo.name; // componentModel.settingTask && componentModel.settingTask.dirty();\n\n componentModel.mergeOption(newCmptOption, this);\n componentModel.optionUpdated(newCmptOption, false);\n } else {\n // PENDING Global as parent ?\n var extraOpt = extend({\n componentIndex: index\n }, resultItem.keyInfo);\n componentModel = new ComponentModelClass(newCmptOption, this, this, extraOpt); // Assign `keyInfo`\n\n extend(componentModel, extraOpt);\n\n if (resultItem.brandNew) {\n componentModel.__requireNewView = true;\n }\n\n componentModel.init(newCmptOption, this, this); // Call optionUpdated after init.\n // newCmptOption has been used as componentModel.option\n // and may be merged with theme and default, so pass null\n // to avoid confusion.\n\n componentModel.optionUpdated(null, true);\n }\n }\n\n if (componentModel) {\n optionsByMainType.push(componentModel.option);\n cmptsByMainType.push(componentModel);\n cmptsCountByMainType++;\n } else {\n // Always do assign to avoid elided item in array.\n optionsByMainType.push(void 0);\n cmptsByMainType.push(void 0);\n }\n }, this);\n option[mainType] = optionsByMainType;\n componentsMap.set(mainType, cmptsByMainType);\n componentsCount.set(mainType, cmptsCountByMainType); // Backup series for filtering.\n\n if (mainType === 'series') {\n reCreateSeriesIndices(this);\n }\n } // If no series declared, ensure `_seriesIndices` initialized.\n\n\n if (!this._seriesIndices) {\n reCreateSeriesIndices(this);\n }\n };\n /**\r\n * Get option for output (cloned option and inner info removed)\r\n */\n\n\n GlobalModel.prototype.getOption = function () {\n var option = clone(this.option);\n each(option, function (optInMainType, mainType) {\n if (ComponentModel.hasClass(mainType)) {\n var opts = modelUtil.normalizeToArray(optInMainType); // Inner cmpts need to be removed.\n // Inner cmpts might not be at last since ec5.0, but still\n // compatible for users: if inner cmpt at last, splice the returned array.\n\n var realLen = opts.length;\n var metNonInner = false;\n\n for (var i = realLen - 1; i >= 0; i--) {\n // Remove options with inner id.\n if (opts[i] && !modelUtil.isComponentIdInternal(opts[i])) {\n metNonInner = true;\n } else {\n opts[i] = null;\n !metNonInner && realLen--;\n }\n }\n\n opts.length = realLen;\n option[mainType] = opts;\n }\n });\n delete option[OPTION_INNER_KEY];\n return option;\n };\n\n GlobalModel.prototype.getTheme = function () {\n return this._theme;\n };\n\n GlobalModel.prototype.getLocaleModel = function () {\n return this._locale;\n };\n\n GlobalModel.prototype.setUpdatePayload = function (payload) {\n this._payload = payload;\n };\n\n GlobalModel.prototype.getUpdatePayload = function () {\n return this._payload;\n };\n /**\r\n * @param idx If not specified, return the first one.\r\n */\n\n\n GlobalModel.prototype.getComponent = function (mainType, idx) {\n var list = this._componentsMap.get(mainType);\n\n if (list) {\n var cmpt = list[idx || 0];\n\n if (cmpt) {\n return cmpt;\n } else if (idx == null) {\n for (var i = 0; i < list.length; i++) {\n if (list[i]) {\n return list[i];\n }\n }\n }\n }\n };\n /**\r\n * @return Never be null/undefined.\r\n */\n\n\n GlobalModel.prototype.queryComponents = function (condition) {\n var mainType = condition.mainType;\n\n if (!mainType) {\n return [];\n }\n\n var index = condition.index;\n var id = condition.id;\n var name = condition.name;\n\n var cmpts = this._componentsMap.get(mainType);\n\n if (!cmpts || !cmpts.length) {\n return [];\n }\n\n var result;\n\n if (index != null) {\n result = [];\n each(modelUtil.normalizeToArray(index), function (idx) {\n cmpts[idx] && result.push(cmpts[idx]);\n });\n } else if (id != null) {\n result = queryByIdOrName('id', id, cmpts);\n } else if (name != null) {\n result = queryByIdOrName('name', name, cmpts);\n } else {\n // Return all non-empty components in that mainType\n result = filter(cmpts, function (cmpt) {\n return !!cmpt;\n });\n }\n\n return filterBySubType(result, condition);\n };\n /**\r\n * The interface is different from queryComponents,\r\n * which is convenient for inner usage.\r\n *\r\n * @usage\r\n * let result = findComponents(\r\n * {mainType: 'dataZoom', query: {dataZoomId: 'abc'}}\r\n * );\r\n * let result = findComponents(\r\n * {mainType: 'series', subType: 'pie', query: {seriesName: 'uio'}}\r\n * );\r\n * let result = findComponents(\r\n * {mainType: 'series',\r\n * filter: function (model, index) {...}}\r\n * );\r\n * // result like [component0, componnet1, ...]\r\n */\n\n\n GlobalModel.prototype.findComponents = function (condition) {\n var query = condition.query;\n var mainType = condition.mainType;\n var queryCond = getQueryCond(query);\n var result = queryCond ? this.queryComponents(queryCond) // Retrieve all non-empty components.\n : filter(this._componentsMap.get(mainType), function (cmpt) {\n return !!cmpt;\n });\n return doFilter(filterBySubType(result, condition));\n\n function getQueryCond(q) {\n var indexAttr = mainType + 'Index';\n var idAttr = mainType + 'Id';\n var nameAttr = mainType + 'Name';\n return q && (q[indexAttr] != null || q[idAttr] != null || q[nameAttr] != null) ? {\n mainType: mainType,\n // subType will be filtered finally.\n index: q[indexAttr],\n id: q[idAttr],\n name: q[nameAttr]\n } : null;\n }\n\n function doFilter(res) {\n return condition.filter ? filter(res, condition.filter) : res;\n }\n };\n\n GlobalModel.prototype.eachComponent = function (mainType, cb, context) {\n var componentsMap = this._componentsMap;\n\n if (isFunction(mainType)) {\n var ctxForAll_1 = cb;\n var cbForAll_1 = mainType;\n componentsMap.each(function (cmpts, componentType) {\n for (var i = 0; cmpts && i < cmpts.length; i++) {\n var cmpt = cmpts[i];\n cmpt && cbForAll_1.call(ctxForAll_1, componentType, cmpt, cmpt.componentIndex);\n }\n });\n } else {\n var cmpts = isString(mainType) ? componentsMap.get(mainType) : isObject(mainType) ? this.findComponents(mainType) : null;\n\n for (var i = 0; cmpts && i < cmpts.length; i++) {\n var cmpt = cmpts[i];\n cmpt && cb.call(context, cmpt, cmpt.componentIndex);\n }\n }\n };\n /**\r\n * Get series list before filtered by name.\r\n */\n\n\n GlobalModel.prototype.getSeriesByName = function (name) {\n var nameStr = modelUtil.convertOptionIdName(name, null);\n return filter(this._componentsMap.get('series'), function (oneSeries) {\n return !!oneSeries && nameStr != null && oneSeries.name === nameStr;\n });\n };\n /**\r\n * Get series list before filtered by index.\r\n */\n\n\n GlobalModel.prototype.getSeriesByIndex = function (seriesIndex) {\n return this._componentsMap.get('series')[seriesIndex];\n };\n /**\r\n * Get series list before filtered by type.\r\n * FIXME: rename to getRawSeriesByType?\r\n */\n\n\n GlobalModel.prototype.getSeriesByType = function (subType) {\n return filter(this._componentsMap.get('series'), function (oneSeries) {\n return !!oneSeries && oneSeries.subType === subType;\n });\n };\n /**\r\n * Get all series before filtered.\r\n */\n\n\n GlobalModel.prototype.getSeries = function () {\n return filter(this._componentsMap.get('series'), function (oneSeries) {\n return !!oneSeries;\n });\n };\n /**\r\n * Count series before filtered.\r\n */\n\n\n GlobalModel.prototype.getSeriesCount = function () {\n return this._componentsCount.get('series');\n };\n /**\r\n * After filtering, series may be different\r\n * from raw series.\r\n */\n\n\n GlobalModel.prototype.eachSeries = function (cb, context) {\n assertSeriesInitialized(this);\n each(this._seriesIndices, function (rawSeriesIndex) {\n var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n cb.call(context, series, rawSeriesIndex);\n }, this);\n };\n /**\r\n * Iterate raw series before filtered.\r\n *\r\n * @param {Function} cb\r\n * @param {*} context\r\n */\n\n\n GlobalModel.prototype.eachRawSeries = function (cb, context) {\n each(this._componentsMap.get('series'), function (series) {\n series && cb.call(context, series, series.componentIndex);\n });\n };\n /**\r\n * After filtering, series may be different.\r\n * from raw series.\r\n */\n\n\n GlobalModel.prototype.eachSeriesByType = function (subType, cb, context) {\n assertSeriesInitialized(this);\n each(this._seriesIndices, function (rawSeriesIndex) {\n var series = this._componentsMap.get('series')[rawSeriesIndex];\n\n if (series.subType === subType) {\n cb.call(context, series, rawSeriesIndex);\n }\n }, this);\n };\n /**\r\n * Iterate raw series before filtered of given type.\r\n */\n\n\n GlobalModel.prototype.eachRawSeriesByType = function (subType, cb, context) {\n return each(this.getSeriesByType(subType), cb, context);\n };\n\n GlobalModel.prototype.isSeriesFiltered = function (seriesModel) {\n assertSeriesInitialized(this);\n return this._seriesIndicesMap.get(seriesModel.componentIndex) == null;\n };\n\n GlobalModel.prototype.getCurrentSeriesIndices = function () {\n return (this._seriesIndices || []).slice();\n };\n\n GlobalModel.prototype.filterSeries = function (cb, context) {\n assertSeriesInitialized(this);\n var newSeriesIndices = [];\n each(this._seriesIndices, function (seriesRawIdx) {\n var series = this._componentsMap.get('series')[seriesRawIdx];\n\n cb.call(context, series, seriesRawIdx) && newSeriesIndices.push(seriesRawIdx);\n }, this);\n this._seriesIndices = newSeriesIndices;\n this._seriesIndicesMap = createHashMap(newSeriesIndices);\n };\n\n GlobalModel.prototype.restoreData = function (payload) {\n reCreateSeriesIndices(this);\n var componentsMap = this._componentsMap;\n var componentTypes = [];\n componentsMap.each(function (components, componentType) {\n if (ComponentModel.hasClass(componentType)) {\n componentTypes.push(componentType);\n }\n });\n ComponentModel.topologicalTravel(componentTypes, ComponentModel.getAllClassMainTypes(), function (componentType) {\n each(componentsMap.get(componentType), function (component) {\n if (component && (componentType !== 'series' || !isNotTargetSeries(component, payload))) {\n component.restoreData();\n }\n });\n });\n };\n\n GlobalModel.internalField = function () {\n reCreateSeriesIndices = function (ecModel) {\n var seriesIndices = ecModel._seriesIndices = [];\n each(ecModel._componentsMap.get('series'), function (series) {\n // series may have been removed by `replaceMerge`.\n series && seriesIndices.push(series.componentIndex);\n });\n ecModel._seriesIndicesMap = createHashMap(seriesIndices);\n };\n\n assertSeriesInitialized = function (ecModel) {\n // Components that use _seriesIndices should depends on series component,\n // which make sure that their initialization is after series.\n if (process.env.NODE_ENV !== 'production') {\n if (!ecModel._seriesIndices) {\n throw new Error('Option should contains series.');\n }\n }\n };\n\n initBase = function (ecModel, baseOption) {\n // Using OPTION_INNER_KEY to mark that this option cannot be used outside,\n // i.e. `chart.setOption(chart.getModel().option);` is forbidden.\n ecModel.option = {};\n ecModel.option[OPTION_INNER_KEY] = OPTION_INNER_VALUE; // Init with series: [], in case of calling findSeries method\n // before series initialized.\n\n ecModel._componentsMap = createHashMap({\n series: []\n });\n ecModel._componentsCount = createHashMap(); // If user spefied `option.aria`, aria will be enable. This detection should be\n // performed before theme and globalDefault merge.\n\n var airaOption = baseOption.aria;\n\n if (isObject(airaOption) && airaOption.enabled == null) {\n airaOption.enabled = true;\n }\n\n mergeTheme(baseOption, ecModel._theme.option); // TODO Needs clone when merging to the unexisted property\n\n merge(baseOption, globalDefault, false);\n\n ecModel._mergeOption(baseOption, null);\n };\n }();\n\n return GlobalModel;\n}(Model);\n\nfunction isNotTargetSeries(seriesModel, payload) {\n if (payload) {\n var index = payload.seriesIndex;\n var id = payload.seriesId;\n var name_1 = payload.seriesName;\n return index != null && seriesModel.componentIndex !== index || id != null && seriesModel.id !== id || name_1 != null && seriesModel.name !== name_1;\n }\n}\n\nfunction mergeTheme(option, theme) {\n // PENDING\n // NOT use `colorLayer` in theme if option has `color`\n var notMergeColorLayer = option.color && !option.colorLayer;\n each(theme, function (themeItem, name) {\n if (name === 'colorLayer' && notMergeColorLayer) {\n return;\n } // If it is component model mainType, the model handles that merge later.\n // otherwise, merge them here.\n\n\n if (!ComponentModel.hasClass(name)) {\n if (typeof themeItem === 'object') {\n option[name] = !option[name] ? clone(themeItem) : merge(option[name], themeItem, false);\n } else {\n if (option[name] == null) {\n option[name] = themeItem;\n }\n }\n }\n });\n}\n\nfunction queryByIdOrName(attr, idOrName, cmpts) {\n // Here is a break from echarts4: string and number are\n // treated as equal.\n if (isArray(idOrName)) {\n var keyMap_1 = createHashMap();\n each(idOrName, function (idOrNameItem) {\n if (idOrNameItem != null) {\n var idName = modelUtil.convertOptionIdName(idOrNameItem, null);\n idName != null && keyMap_1.set(idOrNameItem, true);\n }\n });\n return filter(cmpts, function (cmpt) {\n return cmpt && keyMap_1.get(cmpt[attr]);\n });\n } else {\n var idName_1 = modelUtil.convertOptionIdName(idOrName, null);\n return filter(cmpts, function (cmpt) {\n return cmpt && idName_1 != null && cmpt[attr] === idName_1;\n });\n }\n}\n\nfunction filterBySubType(components, condition) {\n // Using hasOwnProperty for restrict. Consider\n // subType is undefined in user payload.\n return condition.hasOwnProperty('subType') ? filter(components, function (cmpt) {\n return cmpt && cmpt.subType === condition.subType;\n }) : components;\n}\n\nfunction normalizeSetOptionInput(opts) {\n var replaceMergeMainTypeMap = createHashMap();\n opts && each(modelUtil.normalizeToArray(opts.replaceMerge), function (mainType) {\n if (process.env.NODE_ENV !== 'production') {\n assert(ComponentModel.hasClass(mainType), '\"' + mainType + '\" is not valid component main type in \"replaceMerge\"');\n }\n\n replaceMergeMainTypeMap.set(mainType, true);\n });\n return {\n replaceMergeMainTypeMap: replaceMergeMainTypeMap\n };\n}\n\nmixin(GlobalModel, PaletteMixin);\nexport default GlobalModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar availableMethods = ['getDom', 'getZr', 'getWidth', 'getHeight', 'getDevicePixelRatio', 'dispatchAction', 'isSSR', 'isDisposed', 'on', 'off', 'getDataURL', 'getConnectedDataURL', // 'getModel',\n'getOption', // 'getViewOfComponentModel',\n// 'getViewOfSeriesModel',\n'getId', 'updateLabelLayout'];\n\nvar ExtensionAPI =\n/** @class */\nfunction () {\n function ExtensionAPI(ecInstance) {\n zrUtil.each(availableMethods, function (methodName) {\n this[methodName] = zrUtil.bind(ecInstance[methodName], ecInstance);\n }, this);\n }\n\n return ExtensionAPI;\n}();\n\nexport default ExtensionAPI;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar coordinateSystemCreators = {};\n\nvar CoordinateSystemManager =\n/** @class */\nfunction () {\n function CoordinateSystemManager() {\n this._coordinateSystems = [];\n }\n\n CoordinateSystemManager.prototype.create = function (ecModel, api) {\n var coordinateSystems = [];\n zrUtil.each(coordinateSystemCreators, function (creator, type) {\n var list = creator.create(ecModel, api);\n coordinateSystems = coordinateSystems.concat(list || []);\n });\n this._coordinateSystems = coordinateSystems;\n };\n\n CoordinateSystemManager.prototype.update = function (ecModel, api) {\n zrUtil.each(this._coordinateSystems, function (coordSys) {\n coordSys.update && coordSys.update(ecModel, api);\n });\n };\n\n CoordinateSystemManager.prototype.getCoordinateSystems = function () {\n return this._coordinateSystems.slice();\n };\n\n CoordinateSystemManager.register = function (type, creator) {\n coordinateSystemCreators[type] = creator;\n };\n\n CoordinateSystemManager.get = function (type) {\n return coordinateSystemCreators[type];\n };\n\n return CoordinateSystemManager;\n}();\n\nexport default CoordinateSystemManager;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { normalizeToArray // , MappingExistingItem, setComponentTypeToKeyInfo, mappingToExists\n} from '../util/model.js';\nimport { each, clone, map, isTypedArray, setAsPrimitive, isArray, isObject // , HashMap , createHashMap, extend, merge,\n} from 'zrender/lib/core/util.js';\nimport { error } from '../util/log.js';\nvar QUERY_REG = /^(min|max)?(.+)$/; // Key: mainType\n// type FakeComponentsMap = HashMap<(MappingExistingItem & { subType: string })[]>;\n\n/**\r\n * TERM EXPLANATIONS:\r\n * See `ECOption` and `ECUnitOption` in `src/util/types.ts`.\r\n */\n\nvar OptionManager =\n/** @class */\nfunction () {\n // timeline.notMerge is not supported in ec3. Firstly there is rearly\n // case that notMerge is needed. Secondly supporting 'notMerge' requires\n // rawOption cloned and backuped when timeline changed, which does no\n // good to performance. What's more, that both timeline and setOption\n // method supply 'notMerge' brings complex and some problems.\n // Consider this case:\n // (step1) chart.setOption({timeline: {notMerge: false}, ...}, false);\n // (step2) chart.setOption({timeline: {notMerge: true}, ...}, false);\n function OptionManager(api) {\n this._timelineOptions = [];\n this._mediaList = [];\n /**\r\n * -1, means default.\r\n * empty means no media.\r\n */\n\n this._currentMediaIndices = [];\n this._api = api;\n }\n\n OptionManager.prototype.setOption = function (rawOption, optionPreprocessorFuncs, opt) {\n if (rawOption) {\n // That set dat primitive is dangerous if user reuse the data when setOption again.\n each(normalizeToArray(rawOption.series), function (series) {\n series && series.data && isTypedArray(series.data) && setAsPrimitive(series.data);\n });\n each(normalizeToArray(rawOption.dataset), function (dataset) {\n dataset && dataset.source && isTypedArray(dataset.source) && setAsPrimitive(dataset.source);\n });\n } // Caution: some series modify option data, if do not clone,\n // it should ensure that the repeat modify correctly\n // (create a new object when modify itself).\n\n\n rawOption = clone(rawOption); // FIXME\n // If some property is set in timeline options or media option but\n // not set in baseOption, a warning should be given.\n\n var optionBackup = this._optionBackup;\n var newParsedOption = parseRawOption(rawOption, optionPreprocessorFuncs, !optionBackup);\n this._newBaseOption = newParsedOption.baseOption; // For setOption at second time (using merge mode);\n\n if (optionBackup) {\n // FIXME\n // the restore merge solution is essentially incorrect.\n // the mapping can not be 100% consistent with ecModel, which probably brings\n // potential bug!\n // The first merge is delayed, because in most cases, users do not call `setOption` twice.\n // let fakeCmptsMap = this._fakeCmptsMap;\n // if (!fakeCmptsMap) {\n // fakeCmptsMap = this._fakeCmptsMap = createHashMap();\n // mergeToBackupOption(fakeCmptsMap, null, optionBackup.baseOption, null);\n // }\n // mergeToBackupOption(\n // fakeCmptsMap, optionBackup.baseOption, newParsedOption.baseOption, opt\n // );\n // For simplicity, timeline options and media options do not support merge,\n // that is, if you `setOption` twice and both has timeline options, the latter\n // timeline options will not be merged to the former, but just substitute them.\n if (newParsedOption.timelineOptions.length) {\n optionBackup.timelineOptions = newParsedOption.timelineOptions;\n }\n\n if (newParsedOption.mediaList.length) {\n optionBackup.mediaList = newParsedOption.mediaList;\n }\n\n if (newParsedOption.mediaDefault) {\n optionBackup.mediaDefault = newParsedOption.mediaDefault;\n }\n } else {\n this._optionBackup = newParsedOption;\n }\n };\n\n OptionManager.prototype.mountOption = function (isRecreate) {\n var optionBackup = this._optionBackup;\n this._timelineOptions = optionBackup.timelineOptions;\n this._mediaList = optionBackup.mediaList;\n this._mediaDefault = optionBackup.mediaDefault;\n this._currentMediaIndices = [];\n return clone(isRecreate // this._optionBackup.baseOption, which is created at the first `setOption`\n // called, and is merged into every new option by inner method `mergeToBackupOption`\n // each time `setOption` called, can be only used in `isRecreate`, because\n // its reliability is under suspicion. In other cases option merge is\n // performed by `model.mergeOption`.\n ? optionBackup.baseOption : this._newBaseOption);\n };\n\n OptionManager.prototype.getTimelineOption = function (ecModel) {\n var option;\n var timelineOptions = this._timelineOptions;\n\n if (timelineOptions.length) {\n // getTimelineOption can only be called after ecModel inited,\n // so we can get currentIndex from timelineModel.\n var timelineModel = ecModel.getComponent('timeline');\n\n if (timelineModel) {\n option = clone( // FIXME:TS as TimelineModel or quivlant interface\n timelineOptions[timelineModel.getCurrentIndex()]);\n }\n }\n\n return option;\n };\n\n OptionManager.prototype.getMediaOption = function (ecModel) {\n var ecWidth = this._api.getWidth();\n\n var ecHeight = this._api.getHeight();\n\n var mediaList = this._mediaList;\n var mediaDefault = this._mediaDefault;\n var indices = [];\n var result = []; // No media defined.\n\n if (!mediaList.length && !mediaDefault) {\n return result;\n } // Multi media may be applied, the latter defined media has higher priority.\n\n\n for (var i = 0, len = mediaList.length; i < len; i++) {\n if (applyMediaQuery(mediaList[i].query, ecWidth, ecHeight)) {\n indices.push(i);\n }\n } // FIXME\n // Whether mediaDefault should force users to provide? Otherwise\n // the change by media query can not be recorvered.\n\n\n if (!indices.length && mediaDefault) {\n indices = [-1];\n }\n\n if (indices.length && !indicesEquals(indices, this._currentMediaIndices)) {\n result = map(indices, function (index) {\n return clone(index === -1 ? mediaDefault.option : mediaList[index].option);\n });\n } // Otherwise return nothing.\n\n\n this._currentMediaIndices = indices;\n return result;\n };\n\n return OptionManager;\n}();\n/**\r\n * [RAW_OPTION_PATTERNS]\r\n * (Note: \"series: []\" represents all other props in `ECUnitOption`)\r\n *\r\n * (1) No prop \"baseOption\" declared:\r\n * Root option is used as \"baseOption\" (except prop \"options\" and \"media\").\r\n * ```js\r\n * option = {\r\n * series: [],\r\n * timeline: {},\r\n * options: [],\r\n * };\r\n * option = {\r\n * series: [],\r\n * media: {},\r\n * };\r\n * option = {\r\n * series: [],\r\n * timeline: {},\r\n * options: [],\r\n * media: {},\r\n * }\r\n * ```\r\n *\r\n * (2) Prop \"baseOption\" declared:\r\n * If \"baseOption\" declared, `ECUnitOption` props can only be declared\r\n * inside \"baseOption\" except prop \"timeline\" (compat ec2).\r\n * ```js\r\n * option = {\r\n * baseOption: {\r\n * timeline: {},\r\n * series: [],\r\n * },\r\n * options: []\r\n * };\r\n * option = {\r\n * baseOption: {\r\n * series: [],\r\n * },\r\n * media: []\r\n * };\r\n * option = {\r\n * baseOption: {\r\n * timeline: {},\r\n * series: [],\r\n * },\r\n * options: []\r\n * media: []\r\n * };\r\n * option = {\r\n * // ec3 compat ec2: allow (only) `timeline` declared\r\n * // outside baseOption. Keep this setting for compat.\r\n * timeline: {},\r\n * baseOption: {\r\n * series: [],\r\n * },\r\n * options: [],\r\n * media: []\r\n * };\r\n * ```\r\n */\n\n\nfunction parseRawOption( // `rawOption` May be modified\nrawOption, optionPreprocessorFuncs, isNew) {\n var mediaList = [];\n var mediaDefault;\n var baseOption;\n var declaredBaseOption = rawOption.baseOption; // Compatible with ec2, [RAW_OPTION_PATTERNS] above.\n\n var timelineOnRoot = rawOption.timeline;\n var timelineOptionsOnRoot = rawOption.options;\n var mediaOnRoot = rawOption.media;\n var hasMedia = !!rawOption.media;\n var hasTimeline = !!(timelineOptionsOnRoot || timelineOnRoot || declaredBaseOption && declaredBaseOption.timeline);\n\n if (declaredBaseOption) {\n baseOption = declaredBaseOption; // For merge option.\n\n if (!baseOption.timeline) {\n baseOption.timeline = timelineOnRoot;\n }\n } // For convenience, enable to use the root option as the `baseOption`:\n // `{ ...normalOptionProps, media: [{ ... }, { ... }] }`\n else {\n if (hasTimeline || hasMedia) {\n rawOption.options = rawOption.media = null;\n }\n\n baseOption = rawOption;\n }\n\n if (hasMedia) {\n if (isArray(mediaOnRoot)) {\n each(mediaOnRoot, function (singleMedia) {\n if (process.env.NODE_ENV !== 'production') {\n // Real case of wrong config.\n if (singleMedia && !singleMedia.option && isObject(singleMedia.query) && isObject(singleMedia.query.option)) {\n error('Illegal media option. Must be like { media: [ { query: {}, option: {} } ] }');\n }\n }\n\n if (singleMedia && singleMedia.option) {\n if (singleMedia.query) {\n mediaList.push(singleMedia);\n } else if (!mediaDefault) {\n // Use the first media default.\n mediaDefault = singleMedia;\n }\n }\n });\n } else {\n if (process.env.NODE_ENV !== 'production') {\n // Real case of wrong config.\n error('Illegal media option. Must be an array. Like { media: [ {...}, {...} ] }');\n }\n }\n }\n\n doPreprocess(baseOption);\n each(timelineOptionsOnRoot, function (option) {\n return doPreprocess(option);\n });\n each(mediaList, function (media) {\n return doPreprocess(media.option);\n });\n\n function doPreprocess(option) {\n each(optionPreprocessorFuncs, function (preProcess) {\n preProcess(option, isNew);\n });\n }\n\n return {\n baseOption: baseOption,\n timelineOptions: timelineOptionsOnRoot || [],\n mediaDefault: mediaDefault,\n mediaList: mediaList\n };\n}\n/**\r\n * @see \r\n * Support: width, height, aspectRatio\r\n * Can use max or min as prefix.\r\n */\n\n\nfunction applyMediaQuery(query, ecWidth, ecHeight) {\n var realMap = {\n width: ecWidth,\n height: ecHeight,\n aspectratio: ecWidth / ecHeight // lower case for convenience.\n\n };\n var applicable = true;\n each(query, function (value, attr) {\n var matched = attr.match(QUERY_REG);\n\n if (!matched || !matched[1] || !matched[2]) {\n return;\n }\n\n var operator = matched[1];\n var realAttr = matched[2].toLowerCase();\n\n if (!compare(realMap[realAttr], value, operator)) {\n applicable = false;\n }\n });\n return applicable;\n}\n\nfunction compare(real, expect, operator) {\n if (operator === 'min') {\n return real >= expect;\n } else if (operator === 'max') {\n return real <= expect;\n } else {\n // Equals\n return real === expect;\n }\n}\n\nfunction indicesEquals(indices1, indices2) {\n // indices is always order by asc and has only finite number.\n return indices1.join(',') === indices2.join(',');\n}\n/**\r\n * Consider case:\r\n * `chart.setOption(opt1);`\r\n * Then user do some interaction like dataZoom, dataView changing.\r\n * `chart.setOption(opt2);`\r\n * Then user press 'reset button' in toolbox.\r\n *\r\n * After doing that all of the interaction effects should be reset, the\r\n * chart should be the same as the result of invoke\r\n * `chart.setOption(opt1); chart.setOption(opt2);`.\r\n *\r\n * Although it is not able ensure that\r\n * `chart.setOption(opt1); chart.setOption(opt2);` is equivalents to\r\n * `chart.setOption(merge(opt1, opt2));` exactly,\r\n * this might be the only simple way to implement that feature.\r\n *\r\n * MEMO: We've considered some other approaches:\r\n * 1. Each model handles its self restoration but not uniform treatment.\r\n * (Too complex in logic and error-prone)\r\n * 2. Use a shadow ecModel. (Performance expensive)\r\n *\r\n * FIXME: A possible solution:\r\n * Add a extra level of model for each component model. The inheritance chain would be:\r\n * ecModel <- componentModel <- componentActionModel <- dataItemModel\r\n * And all of the actions can only modify the `componentActionModel` rather than\r\n * `componentModel`. `setOption` will only modify the `ecModel` and `componentModel`.\r\n * When \"resotre\" action triggered, model from `componentActionModel` will be discarded\r\n * instead of recreating the \"ecModel\" from the \"_optionBackup\".\r\n */\n// function mergeToBackupOption(\n// fakeCmptsMap: FakeComponentsMap,\n// // `tarOption` Can be null/undefined, means init\n// tarOption: ECUnitOption,\n// newOption: ECUnitOption,\n// // Can be null/undefined\n// opt: InnerSetOptionOpts\n// ): void {\n// newOption = newOption || {} as ECUnitOption;\n// const notInit = !!tarOption;\n// each(newOption, function (newOptsInMainType, mainType) {\n// if (newOptsInMainType == null) {\n// return;\n// }\n// if (!ComponentModel.hasClass(mainType)) {\n// if (tarOption) {\n// tarOption[mainType] = merge(tarOption[mainType], newOptsInMainType, true);\n// }\n// }\n// else {\n// const oldTarOptsInMainType = notInit ? normalizeToArray(tarOption[mainType]) : null;\n// const oldFakeCmptsInMainType = fakeCmptsMap.get(mainType) || [];\n// const resultTarOptsInMainType = notInit ? (tarOption[mainType] = [] as ComponentOption[]) : null;\n// const resultFakeCmptsInMainType = fakeCmptsMap.set(mainType, []);\n// const mappingResult = mappingToExists(\n// oldFakeCmptsInMainType,\n// normalizeToArray(newOptsInMainType),\n// (opt && opt.replaceMergeMainTypeMap.get(mainType)) ? 'replaceMerge' : 'normalMerge'\n// );\n// setComponentTypeToKeyInfo(mappingResult, mainType, ComponentModel as ComponentModelConstructor);\n// each(mappingResult, function (resultItem, index) {\n// // The same logic as `Global.ts#_mergeOption`.\n// let fakeCmpt = resultItem.existing;\n// const newOption = resultItem.newOption;\n// const keyInfo = resultItem.keyInfo;\n// let fakeCmptOpt;\n// if (!newOption) {\n// fakeCmptOpt = oldTarOptsInMainType[index];\n// }\n// else {\n// if (fakeCmpt && fakeCmpt.subType === keyInfo.subType) {\n// fakeCmpt.name = keyInfo.name;\n// if (notInit) {\n// fakeCmptOpt = merge(oldTarOptsInMainType[index], newOption, true);\n// }\n// }\n// else {\n// fakeCmpt = extend({}, keyInfo);\n// if (notInit) {\n// fakeCmptOpt = clone(newOption);\n// }\n// }\n// }\n// if (fakeCmpt) {\n// notInit && resultTarOptsInMainType.push(fakeCmptOpt);\n// resultFakeCmptsInMainType.push(fakeCmpt);\n// }\n// else {\n// notInit && resultTarOptsInMainType.push(void 0);\n// resultFakeCmptsInMainType.push(void 0);\n// }\n// });\n// }\n// });\n// }\n\n\nexport default OptionManager;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as modelUtil from '../../util/model.js';\nimport { deprecateLog, deprecateReplaceLog } from '../../util/log.js';\nvar each = zrUtil.each;\nvar isObject = zrUtil.isObject;\nvar POSSIBLE_STYLES = ['areaStyle', 'lineStyle', 'nodeStyle', 'linkStyle', 'chordStyle', 'label', 'labelLine'];\n\nfunction compatEC2ItemStyle(opt) {\n var itemStyleOpt = opt && opt.itemStyle;\n\n if (!itemStyleOpt) {\n return;\n }\n\n for (var i = 0, len = POSSIBLE_STYLES.length; i < len; i++) {\n var styleName = POSSIBLE_STYLES[i];\n var normalItemStyleOpt = itemStyleOpt.normal;\n var emphasisItemStyleOpt = itemStyleOpt.emphasis;\n\n if (normalItemStyleOpt && normalItemStyleOpt[styleName]) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog(\"itemStyle.normal.\" + styleName, styleName);\n }\n\n opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].normal) {\n opt[styleName].normal = normalItemStyleOpt[styleName];\n } else {\n zrUtil.merge(opt[styleName].normal, normalItemStyleOpt[styleName]);\n }\n\n normalItemStyleOpt[styleName] = null;\n }\n\n if (emphasisItemStyleOpt && emphasisItemStyleOpt[styleName]) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog(\"itemStyle.emphasis.\" + styleName, \"emphasis.\" + styleName);\n }\n\n opt[styleName] = opt[styleName] || {};\n\n if (!opt[styleName].emphasis) {\n opt[styleName].emphasis = emphasisItemStyleOpt[styleName];\n } else {\n zrUtil.merge(opt[styleName].emphasis, emphasisItemStyleOpt[styleName]);\n }\n\n emphasisItemStyleOpt[styleName] = null;\n }\n }\n}\n\nfunction convertNormalEmphasis(opt, optType, useExtend) {\n if (opt && opt[optType] && (opt[optType].normal || opt[optType].emphasis)) {\n var normalOpt = opt[optType].normal;\n var emphasisOpt = opt[optType].emphasis;\n\n if (normalOpt) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line max-len\n deprecateLog(\"'normal' hierarchy in \" + optType + \" has been removed since 4.0. All style properties are configured in \" + optType + \" directly now.\");\n } // Timeline controlStyle has other properties besides normal and emphasis\n\n\n if (useExtend) {\n opt[optType].normal = opt[optType].emphasis = null;\n zrUtil.defaults(opt[optType], normalOpt);\n } else {\n opt[optType] = normalOpt;\n }\n }\n\n if (emphasisOpt) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateLog(optType + \".emphasis has been changed to emphasis.\" + optType + \" since 4.0\");\n }\n\n opt.emphasis = opt.emphasis || {};\n opt.emphasis[optType] = emphasisOpt; // Also compat the case user mix the style and focus together in ec3 style\n // for example: { itemStyle: { normal: {}, emphasis: {focus, shadowBlur} } }\n\n if (emphasisOpt.focus) {\n opt.emphasis.focus = emphasisOpt.focus;\n }\n\n if (emphasisOpt.blurScope) {\n opt.emphasis.blurScope = emphasisOpt.blurScope;\n }\n }\n }\n}\n\nfunction removeEC3NormalStatus(opt) {\n convertNormalEmphasis(opt, 'itemStyle');\n convertNormalEmphasis(opt, 'lineStyle');\n convertNormalEmphasis(opt, 'areaStyle');\n convertNormalEmphasis(opt, 'label');\n convertNormalEmphasis(opt, 'labelLine'); // treemap\n\n convertNormalEmphasis(opt, 'upperLabel'); // graph\n\n convertNormalEmphasis(opt, 'edgeLabel');\n}\n\nfunction compatTextStyle(opt, propName) {\n // Check whether is not object (string\\null\\undefined ...)\n var labelOptSingle = isObject(opt) && opt[propName];\n var textStyle = isObject(labelOptSingle) && labelOptSingle.textStyle;\n\n if (textStyle) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line max-len\n deprecateLog(\"textStyle hierarchy in \" + propName + \" has been removed since 4.0. All textStyle properties are configured in \" + propName + \" directly now.\");\n }\n\n for (var i = 0, len = modelUtil.TEXT_STYLE_OPTIONS.length; i < len; i++) {\n var textPropName = modelUtil.TEXT_STYLE_OPTIONS[i];\n\n if (textStyle.hasOwnProperty(textPropName)) {\n labelOptSingle[textPropName] = textStyle[textPropName];\n }\n }\n }\n}\n\nfunction compatEC3CommonStyles(opt) {\n if (opt) {\n removeEC3NormalStatus(opt);\n compatTextStyle(opt, 'label');\n opt.emphasis && compatTextStyle(opt.emphasis, 'label');\n }\n}\n\nfunction processSeries(seriesOpt) {\n if (!isObject(seriesOpt)) {\n return;\n }\n\n compatEC2ItemStyle(seriesOpt);\n removeEC3NormalStatus(seriesOpt);\n compatTextStyle(seriesOpt, 'label'); // treemap\n\n compatTextStyle(seriesOpt, 'upperLabel'); // graph\n\n compatTextStyle(seriesOpt, 'edgeLabel');\n\n if (seriesOpt.emphasis) {\n compatTextStyle(seriesOpt.emphasis, 'label'); // treemap\n\n compatTextStyle(seriesOpt.emphasis, 'upperLabel'); // graph\n\n compatTextStyle(seriesOpt.emphasis, 'edgeLabel');\n }\n\n var markPoint = seriesOpt.markPoint;\n\n if (markPoint) {\n compatEC2ItemStyle(markPoint);\n compatEC3CommonStyles(markPoint);\n }\n\n var markLine = seriesOpt.markLine;\n\n if (markLine) {\n compatEC2ItemStyle(markLine);\n compatEC3CommonStyles(markLine);\n }\n\n var markArea = seriesOpt.markArea;\n\n if (markArea) {\n compatEC3CommonStyles(markArea);\n }\n\n var data = seriesOpt.data; // Break with ec3: if `setOption` again, there may be no `type` in option,\n // then the backward compat based on option type will not be performed.\n\n if (seriesOpt.type === 'graph') {\n data = data || seriesOpt.nodes;\n var edgeData = seriesOpt.links || seriesOpt.edges;\n\n if (edgeData && !zrUtil.isTypedArray(edgeData)) {\n for (var i = 0; i < edgeData.length; i++) {\n compatEC3CommonStyles(edgeData[i]);\n }\n }\n\n zrUtil.each(seriesOpt.categories, function (opt) {\n removeEC3NormalStatus(opt);\n });\n }\n\n if (data && !zrUtil.isTypedArray(data)) {\n for (var i = 0; i < data.length; i++) {\n compatEC3CommonStyles(data[i]);\n }\n } // mark point data\n\n\n markPoint = seriesOpt.markPoint;\n\n if (markPoint && markPoint.data) {\n var mpData = markPoint.data;\n\n for (var i = 0; i < mpData.length; i++) {\n compatEC3CommonStyles(mpData[i]);\n }\n } // mark line data\n\n\n markLine = seriesOpt.markLine;\n\n if (markLine && markLine.data) {\n var mlData = markLine.data;\n\n for (var i = 0; i < mlData.length; i++) {\n if (zrUtil.isArray(mlData[i])) {\n compatEC3CommonStyles(mlData[i][0]);\n compatEC3CommonStyles(mlData[i][1]);\n } else {\n compatEC3CommonStyles(mlData[i]);\n }\n }\n } // Series\n\n\n if (seriesOpt.type === 'gauge') {\n compatTextStyle(seriesOpt, 'axisLabel');\n compatTextStyle(seriesOpt, 'title');\n compatTextStyle(seriesOpt, 'detail');\n } else if (seriesOpt.type === 'treemap') {\n convertNormalEmphasis(seriesOpt.breadcrumb, 'itemStyle');\n zrUtil.each(seriesOpt.levels, function (opt) {\n removeEC3NormalStatus(opt);\n });\n } else if (seriesOpt.type === 'tree') {\n removeEC3NormalStatus(seriesOpt.leaves);\n } // sunburst starts from ec4, so it does not need to compat levels.\n\n}\n\nfunction toArr(o) {\n return zrUtil.isArray(o) ? o : o ? [o] : [];\n}\n\nfunction toObj(o) {\n return (zrUtil.isArray(o) ? o[0] : o) || {};\n}\n\nexport default function globalCompatStyle(option, isTheme) {\n each(toArr(option.series), function (seriesOpt) {\n isObject(seriesOpt) && processSeries(seriesOpt);\n });\n var axes = ['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'parallelAxis', 'radar'];\n isTheme && axes.push('valueAxis', 'categoryAxis', 'logAxis', 'timeAxis');\n each(axes, function (axisName) {\n each(toArr(option[axisName]), function (axisOpt) {\n if (axisOpt) {\n compatTextStyle(axisOpt, 'axisLabel');\n compatTextStyle(axisOpt.axisPointer, 'label');\n }\n });\n });\n each(toArr(option.parallel), function (parallelOpt) {\n var parallelAxisDefault = parallelOpt && parallelOpt.parallelAxisDefault;\n compatTextStyle(parallelAxisDefault, 'axisLabel');\n compatTextStyle(parallelAxisDefault && parallelAxisDefault.axisPointer, 'label');\n });\n each(toArr(option.calendar), function (calendarOpt) {\n convertNormalEmphasis(calendarOpt, 'itemStyle');\n compatTextStyle(calendarOpt, 'dayLabel');\n compatTextStyle(calendarOpt, 'monthLabel');\n compatTextStyle(calendarOpt, 'yearLabel');\n }); // radar.name.textStyle\n\n each(toArr(option.radar), function (radarOpt) {\n compatTextStyle(radarOpt, 'name'); // Use axisName instead of name because component has name property\n\n if (radarOpt.name && radarOpt.axisName == null) {\n radarOpt.axisName = radarOpt.name;\n delete radarOpt.name;\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateLog('name property in radar component has been changed to axisName');\n }\n }\n\n if (radarOpt.nameGap != null && radarOpt.axisNameGap == null) {\n radarOpt.axisNameGap = radarOpt.nameGap;\n delete radarOpt.nameGap;\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateLog('nameGap property in radar component has been changed to axisNameGap');\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n each(radarOpt.indicator, function (indicatorOpt) {\n if (indicatorOpt.text) {\n deprecateReplaceLog('text', 'name', 'radar.indicator');\n }\n });\n }\n });\n each(toArr(option.geo), function (geoOpt) {\n if (isObject(geoOpt)) {\n compatEC3CommonStyles(geoOpt);\n each(toArr(geoOpt.regions), function (regionObj) {\n compatEC3CommonStyles(regionObj);\n });\n }\n });\n each(toArr(option.timeline), function (timelineOpt) {\n compatEC3CommonStyles(timelineOpt);\n convertNormalEmphasis(timelineOpt, 'label');\n convertNormalEmphasis(timelineOpt, 'itemStyle');\n convertNormalEmphasis(timelineOpt, 'controlStyle', true);\n var data = timelineOpt.data;\n zrUtil.isArray(data) && zrUtil.each(data, function (item) {\n if (zrUtil.isObject(item)) {\n convertNormalEmphasis(item, 'label');\n convertNormalEmphasis(item, 'itemStyle');\n }\n });\n });\n each(toArr(option.toolbox), function (toolboxOpt) {\n convertNormalEmphasis(toolboxOpt, 'iconStyle');\n each(toolboxOpt.feature, function (featureOpt) {\n convertNormalEmphasis(featureOpt, 'iconStyle');\n });\n });\n compatTextStyle(toObj(option.axisPointer), 'label');\n compatTextStyle(toObj(option.tooltip).axisPointer, 'label'); // Clean logs\n // storedLogs = {};\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, isArray, isObject, isTypedArray, defaults } from 'zrender/lib/core/util.js';\nimport compatStyle from './helper/compatStyle.js';\nimport { normalizeToArray } from '../util/model.js';\nimport { deprecateLog, deprecateReplaceLog } from '../util/log.js';\n\nfunction get(opt, path) {\n var pathArr = path.split(',');\n var obj = opt;\n\n for (var i = 0; i < pathArr.length; i++) {\n obj = obj && obj[pathArr[i]];\n\n if (obj == null) {\n break;\n }\n }\n\n return obj;\n}\n\nfunction set(opt, path, val, overwrite) {\n var pathArr = path.split(',');\n var obj = opt;\n var key;\n var i = 0;\n\n for (; i < pathArr.length - 1; i++) {\n key = pathArr[i];\n\n if (obj[key] == null) {\n obj[key] = {};\n }\n\n obj = obj[key];\n }\n\n if (overwrite || obj[pathArr[i]] == null) {\n obj[pathArr[i]] = val;\n }\n}\n\nfunction compatLayoutProperties(option) {\n option && each(LAYOUT_PROPERTIES, function (prop) {\n if (prop[0] in option && !(prop[1] in option)) {\n option[prop[1]] = option[prop[0]];\n }\n });\n}\n\nvar LAYOUT_PROPERTIES = [['x', 'left'], ['y', 'top'], ['x2', 'right'], ['y2', 'bottom']];\nvar COMPATITABLE_COMPONENTS = ['grid', 'geo', 'parallel', 'legend', 'toolbox', 'title', 'visualMap', 'dataZoom', 'timeline'];\nvar BAR_ITEM_STYLE_MAP = [['borderRadius', 'barBorderRadius'], ['borderColor', 'barBorderColor'], ['borderWidth', 'barBorderWidth']];\n\nfunction compatBarItemStyle(option) {\n var itemStyle = option && option.itemStyle;\n\n if (itemStyle) {\n for (var i = 0; i < BAR_ITEM_STYLE_MAP.length; i++) {\n var oldName = BAR_ITEM_STYLE_MAP[i][1];\n var newName = BAR_ITEM_STYLE_MAP[i][0];\n\n if (itemStyle[oldName] != null) {\n itemStyle[newName] = itemStyle[oldName];\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog(oldName, newName);\n }\n }\n }\n }\n}\n\nfunction compatPieLabel(option) {\n if (!option) {\n return;\n }\n\n if (option.alignTo === 'edge' && option.margin != null && option.edgeDistance == null) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('label.margin', 'label.edgeDistance', 'pie');\n }\n\n option.edgeDistance = option.margin;\n }\n}\n\nfunction compatSunburstState(option) {\n if (!option) {\n return;\n }\n\n if (option.downplay && !option.blur) {\n option.blur = option.downplay;\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('downplay', 'blur', 'sunburst');\n }\n }\n}\n\nfunction compatGraphFocus(option) {\n if (!option) {\n return;\n }\n\n if (option.focusNodeAdjacency != null) {\n option.emphasis = option.emphasis || {};\n\n if (option.emphasis.focus == null) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('focusNodeAdjacency', 'emphasis: { focus: \\'adjacency\\'}', 'graph/sankey');\n }\n\n option.emphasis.focus = 'adjacency';\n }\n }\n}\n\nfunction traverseTree(data, cb) {\n if (data) {\n for (var i = 0; i < data.length; i++) {\n cb(data[i]);\n data[i] && traverseTree(data[i].children, cb);\n }\n }\n}\n\nexport default function globalBackwardCompat(option, isTheme) {\n compatStyle(option, isTheme); // Make sure series array for model initialization.\n\n option.series = normalizeToArray(option.series);\n each(option.series, function (seriesOpt) {\n if (!isObject(seriesOpt)) {\n return;\n }\n\n var seriesType = seriesOpt.type;\n\n if (seriesType === 'line') {\n if (seriesOpt.clipOverflow != null) {\n seriesOpt.clip = seriesOpt.clipOverflow;\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('clipOverflow', 'clip', 'line');\n }\n }\n } else if (seriesType === 'pie' || seriesType === 'gauge') {\n if (seriesOpt.clockWise != null) {\n seriesOpt.clockwise = seriesOpt.clockWise;\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('clockWise', 'clockwise');\n }\n }\n\n compatPieLabel(seriesOpt.label);\n var data = seriesOpt.data;\n\n if (data && !isTypedArray(data)) {\n for (var i = 0; i < data.length; i++) {\n compatPieLabel(data[i]);\n }\n }\n\n if (seriesOpt.hoverOffset != null) {\n seriesOpt.emphasis = seriesOpt.emphasis || {};\n\n if (seriesOpt.emphasis.scaleSize = null) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('hoverOffset', 'emphasis.scaleSize');\n }\n\n seriesOpt.emphasis.scaleSize = seriesOpt.hoverOffset;\n }\n }\n } else if (seriesType === 'gauge') {\n var pointerColor = get(seriesOpt, 'pointer.color');\n pointerColor != null && set(seriesOpt, 'itemStyle.color', pointerColor);\n } else if (seriesType === 'bar') {\n compatBarItemStyle(seriesOpt);\n compatBarItemStyle(seriesOpt.backgroundStyle);\n compatBarItemStyle(seriesOpt.emphasis);\n var data = seriesOpt.data;\n\n if (data && !isTypedArray(data)) {\n for (var i = 0; i < data.length; i++) {\n if (typeof data[i] === 'object') {\n compatBarItemStyle(data[i]);\n compatBarItemStyle(data[i] && data[i].emphasis);\n }\n }\n }\n } else if (seriesType === 'sunburst') {\n var highlightPolicy = seriesOpt.highlightPolicy;\n\n if (highlightPolicy) {\n seriesOpt.emphasis = seriesOpt.emphasis || {};\n\n if (!seriesOpt.emphasis.focus) {\n seriesOpt.emphasis.focus = highlightPolicy;\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('highlightPolicy', 'emphasis.focus', 'sunburst');\n }\n }\n }\n\n compatSunburstState(seriesOpt);\n traverseTree(seriesOpt.data, compatSunburstState);\n } else if (seriesType === 'graph' || seriesType === 'sankey') {\n compatGraphFocus(seriesOpt); // TODO nodes, edges?\n } else if (seriesType === 'map') {\n if (seriesOpt.mapType && !seriesOpt.map) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('mapType', 'map', 'map');\n }\n\n seriesOpt.map = seriesOpt.mapType;\n }\n\n if (seriesOpt.mapLocation) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateLog('`mapLocation` is not used anymore.');\n }\n\n defaults(seriesOpt, seriesOpt.mapLocation);\n }\n }\n\n if (seriesOpt.hoverAnimation != null) {\n seriesOpt.emphasis = seriesOpt.emphasis || {};\n\n if (seriesOpt.emphasis && seriesOpt.emphasis.scale == null) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('hoverAnimation', 'emphasis.scale');\n }\n\n seriesOpt.emphasis.scale = seriesOpt.hoverAnimation;\n }\n }\n\n compatLayoutProperties(seriesOpt);\n }); // dataRange has changed to visualMap\n\n if (option.dataRange) {\n option.visualMap = option.dataRange;\n }\n\n each(COMPATITABLE_COMPONENTS, function (componentName) {\n var options = option[componentName];\n\n if (options) {\n if (!isArray(options)) {\n options = [options];\n }\n\n each(options, function (option) {\n compatLayoutProperties(option);\n });\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createHashMap, each } from 'zrender/lib/core/util.js';\nimport { addSafe } from '../util/number.js'; // (1) [Caution]: the logic is correct based on the premises:\n// data processing stage is blocked in stream.\n// See \n// (2) Only register once when import repeatedly.\n// Should be executed after series is filtered and before stack calculation.\n\nexport default function dataStack(ecModel) {\n var stackInfoMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var stack = seriesModel.get('stack'); // Compatible: when `stack` is set as '', do not stack.\n\n if (stack) {\n var stackInfoList = stackInfoMap.get(stack) || stackInfoMap.set(stack, []);\n var data = seriesModel.getData();\n var stackInfo = {\n // Used for calculate axis extent automatically.\n // TODO: Type getCalculationInfo return more specific type?\n stackResultDimension: data.getCalculationInfo('stackResultDimension'),\n stackedOverDimension: data.getCalculationInfo('stackedOverDimension'),\n stackedDimension: data.getCalculationInfo('stackedDimension'),\n stackedByDimension: data.getCalculationInfo('stackedByDimension'),\n isStackedByIndex: data.getCalculationInfo('isStackedByIndex'),\n data: data,\n seriesModel: seriesModel\n }; // If stacked on axis that do not support data stack.\n\n if (!stackInfo.stackedDimension || !(stackInfo.isStackedByIndex || stackInfo.stackedByDimension)) {\n return;\n }\n\n stackInfoList.length && data.setCalculationInfo('stackedOnSeries', stackInfoList[stackInfoList.length - 1].seriesModel);\n stackInfoList.push(stackInfo);\n }\n });\n stackInfoMap.each(calculateStack);\n}\n\nfunction calculateStack(stackInfoList) {\n each(stackInfoList, function (targetStackInfo, idxInStack) {\n var resultVal = [];\n var resultNaN = [NaN, NaN];\n var dims = [targetStackInfo.stackResultDimension, targetStackInfo.stackedOverDimension];\n var targetData = targetStackInfo.data;\n var isStackedByIndex = targetStackInfo.isStackedByIndex;\n var stackStrategy = targetStackInfo.seriesModel.get('stackStrategy') || 'samesign'; // Should not write on raw data, because stack series model list changes\n // depending on legend selection.\n\n targetData.modify(dims, function (v0, v1, dataIndex) {\n var sum = targetData.get(targetStackInfo.stackedDimension, dataIndex); // Consider `connectNulls` of line area, if value is NaN, stackedOver\n // should also be NaN, to draw a appropriate belt area.\n\n if (isNaN(sum)) {\n return resultNaN;\n }\n\n var byValue;\n var stackedDataRawIndex;\n\n if (isStackedByIndex) {\n stackedDataRawIndex = targetData.getRawIndex(dataIndex);\n } else {\n byValue = targetData.get(targetStackInfo.stackedByDimension, dataIndex);\n } // If stackOver is NaN, chart view will render point on value start.\n\n\n var stackedOver = NaN;\n\n for (var j = idxInStack - 1; j >= 0; j--) {\n var stackInfo = stackInfoList[j]; // Has been optimized by inverted indices on `stackedByDimension`.\n\n if (!isStackedByIndex) {\n stackedDataRawIndex = stackInfo.data.rawIndexOf(stackInfo.stackedByDimension, byValue);\n }\n\n if (stackedDataRawIndex >= 0) {\n var val = stackInfo.data.getByRawIndex(stackInfo.stackResultDimension, stackedDataRawIndex); // Considering positive stack, negative stack and empty data\n\n if (stackStrategy === 'all' // single stack group\n || stackStrategy === 'positive' && val > 0 || stackStrategy === 'negative' && val < 0 || stackStrategy === 'samesign' && sum >= 0 && val > 0 // All positive stack\n || stackStrategy === 'samesign' && sum <= 0 && val < 0 // All negative stack\n ) {\n // The sum has to be very small to be affected by the\n // floating arithmetic problem. An incorrect result will probably\n // cause axis min/max to be filtered incorrectly.\n sum = addSafe(sum, val);\n stackedOver = val;\n break;\n }\n }\n }\n\n resultVal[0] = sum;\n resultVal[1] = stackedOver;\n return resultVal;\n });\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isTypedArray, clone, createHashMap, isArray, isObject, isArrayLike, hasOwn, assert, each, map, isNumber, isString, keys } from 'zrender/lib/core/util.js';\nimport { SOURCE_FORMAT_ORIGINAL, SERIES_LAYOUT_BY_COLUMN, SOURCE_FORMAT_UNKNOWN, SOURCE_FORMAT_KEYED_COLUMNS, SOURCE_FORMAT_TYPED_ARRAY, SOURCE_FORMAT_ARRAY_ROWS, SOURCE_FORMAT_OBJECT_ROWS, SERIES_LAYOUT_BY_ROW } from '../util/types.js';\nimport { getDataItemValue } from '../util/model.js';\nimport { BE_ORDINAL, guessOrdinal } from './helper/sourceHelper.js';\n; // @inner\n\nvar SourceImpl =\n/** @class */\nfunction () {\n function SourceImpl(fields) {\n this.data = fields.data || (fields.sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS ? {} : []);\n this.sourceFormat = fields.sourceFormat || SOURCE_FORMAT_UNKNOWN; // Visit config\n\n this.seriesLayoutBy = fields.seriesLayoutBy || SERIES_LAYOUT_BY_COLUMN;\n this.startIndex = fields.startIndex || 0;\n this.dimensionsDetectedCount = fields.dimensionsDetectedCount;\n this.metaRawOption = fields.metaRawOption;\n var dimensionsDefine = this.dimensionsDefine = fields.dimensionsDefine;\n\n if (dimensionsDefine) {\n for (var i = 0; i < dimensionsDefine.length; i++) {\n var dim = dimensionsDefine[i];\n\n if (dim.type == null) {\n if (guessOrdinal(this, i) === BE_ORDINAL.Must) {\n dim.type = 'ordinal';\n }\n }\n }\n }\n }\n\n return SourceImpl;\n}();\n\nexport function isSourceInstance(val) {\n return val instanceof SourceImpl;\n}\n/**\r\n * Create a source from option.\r\n * NOTE: Created source is immutable. Don't change any properties in it.\r\n */\n\nexport function createSource(sourceData, thisMetaRawOption, // can be null. If not provided, auto detect it from `sourceData`.\nsourceFormat) {\n sourceFormat = sourceFormat || detectSourceFormat(sourceData);\n var seriesLayoutBy = thisMetaRawOption.seriesLayoutBy;\n var determined = determineSourceDimensions(sourceData, sourceFormat, seriesLayoutBy, thisMetaRawOption.sourceHeader, thisMetaRawOption.dimensions);\n var source = new SourceImpl({\n data: sourceData,\n sourceFormat: sourceFormat,\n seriesLayoutBy: seriesLayoutBy,\n dimensionsDefine: determined.dimensionsDefine,\n startIndex: determined.startIndex,\n dimensionsDetectedCount: determined.dimensionsDetectedCount,\n metaRawOption: clone(thisMetaRawOption)\n });\n return source;\n}\n/**\r\n * Wrap original series data for some compatibility cases.\r\n */\n\nexport function createSourceFromSeriesDataOption(data) {\n return new SourceImpl({\n data: data,\n sourceFormat: isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL\n });\n}\n/**\r\n * Clone source but excludes source data.\r\n */\n\nexport function cloneSourceShallow(source) {\n return new SourceImpl({\n data: source.data,\n sourceFormat: source.sourceFormat,\n seriesLayoutBy: source.seriesLayoutBy,\n dimensionsDefine: clone(source.dimensionsDefine),\n startIndex: source.startIndex,\n dimensionsDetectedCount: source.dimensionsDetectedCount\n });\n}\n/**\r\n * Note: An empty array will be detected as `SOURCE_FORMAT_ARRAY_ROWS`.\r\n */\n\nexport function detectSourceFormat(data) {\n var sourceFormat = SOURCE_FORMAT_UNKNOWN;\n\n if (isTypedArray(data)) {\n sourceFormat = SOURCE_FORMAT_TYPED_ARRAY;\n } else if (isArray(data)) {\n // FIXME Whether tolerate null in top level array?\n if (data.length === 0) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n }\n\n for (var i = 0, len = data.length; i < len; i++) {\n var item = data[i];\n\n if (item == null) {\n continue;\n } else if (isArray(item)) {\n sourceFormat = SOURCE_FORMAT_ARRAY_ROWS;\n break;\n } else if (isObject(item)) {\n sourceFormat = SOURCE_FORMAT_OBJECT_ROWS;\n break;\n }\n }\n } else if (isObject(data)) {\n for (var key in data) {\n if (hasOwn(data, key) && isArrayLike(data[key])) {\n sourceFormat = SOURCE_FORMAT_KEYED_COLUMNS;\n break;\n }\n }\n }\n\n return sourceFormat;\n}\n/**\r\n * Determine the source definitions from data standalone dimensions definitions\r\n * are not specified.\r\n */\n\nfunction determineSourceDimensions(data, sourceFormat, seriesLayoutBy, sourceHeader, // standalone raw dimensions definition, like:\n// {\n// dimensions: ['aa', 'bb', { name: 'cc', type: 'time' }]\n// }\n// in `dataset` or `series`\ndimensionsDefine) {\n var dimensionsDetectedCount;\n var startIndex; // PENDING: Could data be null/undefined here?\n // currently, if `dataset.source` not specified, error thrown.\n // if `series.data` not specified, nothing rendered without error thrown.\n // Should test these cases.\n\n if (!data) {\n return {\n dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),\n startIndex: startIndex,\n dimensionsDetectedCount: dimensionsDetectedCount\n };\n }\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n var dataArrayRows = data; // Rule: Most of the first line are string: it is header.\n // Caution: consider a line with 5 string and 1 number,\n // it still can not be sure it is a head, because the\n // 5 string may be 5 values of category columns.\n\n if (sourceHeader === 'auto' || sourceHeader == null) {\n arrayRowsTravelFirst(function (val) {\n // '-' is regarded as null/undefined.\n if (val != null && val !== '-') {\n if (isString(val)) {\n startIndex == null && (startIndex = 1);\n } else {\n startIndex = 0;\n }\n } // 10 is an experience number, avoid long loop.\n\n }, seriesLayoutBy, dataArrayRows, 10);\n } else {\n startIndex = isNumber(sourceHeader) ? sourceHeader : sourceHeader ? 1 : 0;\n }\n\n if (!dimensionsDefine && startIndex === 1) {\n dimensionsDefine = [];\n arrayRowsTravelFirst(function (val, index) {\n dimensionsDefine[index] = val != null ? val + '' : '';\n }, seriesLayoutBy, dataArrayRows, Infinity);\n }\n\n dimensionsDetectedCount = dimensionsDefine ? dimensionsDefine.length : seriesLayoutBy === SERIES_LAYOUT_BY_ROW ? dataArrayRows.length : dataArrayRows[0] ? dataArrayRows[0].length : null;\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n if (!dimensionsDefine) {\n dimensionsDefine = objectRowsCollectDimensions(data);\n }\n } else if (sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS) {\n if (!dimensionsDefine) {\n dimensionsDefine = [];\n each(data, function (colArr, key) {\n dimensionsDefine.push(key);\n });\n }\n } else if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var value0 = getDataItemValue(data[0]);\n dimensionsDetectedCount = isArray(value0) && value0.length || 1;\n } else if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {\n if (process.env.NODE_ENV !== 'production') {\n assert(!!dimensionsDefine, 'dimensions must be given if data is TypedArray.');\n }\n }\n\n return {\n startIndex: startIndex,\n dimensionsDefine: normalizeDimensionsOption(dimensionsDefine),\n dimensionsDetectedCount: dimensionsDetectedCount\n };\n}\n\nfunction objectRowsCollectDimensions(data) {\n var firstIndex = 0;\n var obj;\n\n while (firstIndex < data.length && !(obj = data[firstIndex++])) {} // jshint ignore: line\n\n\n if (obj) {\n return keys(obj);\n }\n} // Consider dimensions defined like ['A', 'price', 'B', 'price', 'C', 'price'],\n// which is reasonable. But dimension name is duplicated.\n// Returns undefined or an array contains only object without null/undefined or string.\n\n\nfunction normalizeDimensionsOption(dimensionsDefine) {\n if (!dimensionsDefine) {\n // The meaning of null/undefined is different from empty array.\n return;\n }\n\n var nameMap = createHashMap();\n return map(dimensionsDefine, function (rawItem, index) {\n rawItem = isObject(rawItem) ? rawItem : {\n name: rawItem\n }; // Other fields will be discarded.\n\n var item = {\n name: rawItem.name,\n displayName: rawItem.displayName,\n type: rawItem.type\n }; // User can set null in dimensions.\n // We don't auto specify name, otherwise a given name may\n // cause it to be referred unexpectedly.\n\n if (item.name == null) {\n return item;\n } // Also consider number form like 2012.\n\n\n item.name += ''; // User may also specify displayName.\n // displayName will always exists except user not\n // specified or dim name is not specified or detected.\n // (A auto generated dim name will not be used as\n // displayName).\n\n if (item.displayName == null) {\n item.displayName = item.name;\n }\n\n var exist = nameMap.get(item.name);\n\n if (!exist) {\n nameMap.set(item.name, {\n count: 1\n });\n } else {\n item.name += '-' + exist.count++;\n }\n\n return item;\n });\n}\n\nfunction arrayRowsTravelFirst(cb, seriesLayoutBy, data, maxLoop) {\n if (seriesLayoutBy === SERIES_LAYOUT_BY_ROW) {\n for (var i = 0; i < data.length && i < maxLoop; i++) {\n cb(data[i] ? data[i][0] : null, i);\n }\n } else {\n var value0 = data[0] || [];\n\n for (var i = 0; i < value0.length && i < maxLoop; i++) {\n cb(value0[i], i);\n }\n }\n}\n\nexport function shouldRetrieveDataByName(source) {\n var sourceFormat = source.sourceFormat;\n return sourceFormat === SOURCE_FORMAT_OBJECT_ROWS || sourceFormat === SOURCE_FORMAT_KEYED_COLUMNS;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nvar _a, _b, _c; // TODO\n// ??? refactor? check the outer usage of data provider.\n// merge with defaultDimValueGetter?\n\n\nimport { isTypedArray, extend, assert, each, isObject, bind } from 'zrender/lib/core/util.js';\nimport { getDataItemValue } from '../../util/model.js';\nimport { createSourceFromSeriesDataOption, isSourceInstance } from '../Source.js';\nimport { SOURCE_FORMAT_ORIGINAL, SOURCE_FORMAT_OBJECT_ROWS, SOURCE_FORMAT_KEYED_COLUMNS, SOURCE_FORMAT_TYPED_ARRAY, SOURCE_FORMAT_ARRAY_ROWS, SERIES_LAYOUT_BY_COLUMN, SERIES_LAYOUT_BY_ROW } from '../../util/types.js';\nvar providerMethods;\nvar mountMethods;\n/**\r\n * If normal array used, mutable chunk size is supported.\r\n * If typed array used, chunk size must be fixed.\r\n */\n\nvar DefaultDataProvider =\n/** @class */\nfunction () {\n function DefaultDataProvider(sourceParam, dimSize) {\n // let source: Source;\n var source = !isSourceInstance(sourceParam) ? createSourceFromSeriesDataOption(sourceParam) : sourceParam; // declare source is Source;\n\n this._source = source;\n var data = this._data = source.data; // Typed array. TODO IE10+?\n\n if (source.sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {\n if (process.env.NODE_ENV !== 'production') {\n if (dimSize == null) {\n throw new Error('Typed array data must specify dimension size');\n }\n }\n\n this._offset = 0;\n this._dimSize = dimSize;\n this._data = data;\n }\n\n mountMethods(this, data, source);\n }\n\n DefaultDataProvider.prototype.getSource = function () {\n return this._source;\n };\n\n DefaultDataProvider.prototype.count = function () {\n return 0;\n };\n\n DefaultDataProvider.prototype.getItem = function (idx, out) {\n return;\n };\n\n DefaultDataProvider.prototype.appendData = function (newData) {};\n\n DefaultDataProvider.prototype.clean = function () {};\n\n DefaultDataProvider.protoInitialize = function () {\n // PENDING: To avoid potential incompat (e.g., prototype\n // is visited somewhere), still init them on prototype.\n var proto = DefaultDataProvider.prototype;\n proto.pure = false;\n proto.persistent = true;\n }();\n\n DefaultDataProvider.internalField = function () {\n var _a;\n\n mountMethods = function (provider, data, source) {\n var sourceFormat = source.sourceFormat;\n var seriesLayoutBy = source.seriesLayoutBy;\n var startIndex = source.startIndex;\n var dimsDef = source.dimensionsDefine;\n var methods = providerMethods[getMethodMapKey(sourceFormat, seriesLayoutBy)];\n\n if (process.env.NODE_ENV !== 'production') {\n assert(methods, 'Invalide sourceFormat: ' + sourceFormat);\n }\n\n extend(provider, methods);\n\n if (sourceFormat === SOURCE_FORMAT_TYPED_ARRAY) {\n provider.getItem = getItemForTypedArray;\n provider.count = countForTypedArray;\n provider.fillStorage = fillStorageForTypedArray;\n } else {\n var rawItemGetter = getRawSourceItemGetter(sourceFormat, seriesLayoutBy);\n provider.getItem = bind(rawItemGetter, null, data, startIndex, dimsDef);\n var rawCounter = getRawSourceDataCounter(sourceFormat, seriesLayoutBy);\n provider.count = bind(rawCounter, null, data, startIndex, dimsDef);\n }\n };\n\n var getItemForTypedArray = function (idx, out) {\n idx = idx - this._offset;\n out = out || [];\n var data = this._data;\n var dimSize = this._dimSize;\n var offset = dimSize * idx;\n\n for (var i = 0; i < dimSize; i++) {\n out[i] = data[offset + i];\n }\n\n return out;\n };\n\n var fillStorageForTypedArray = function (start, end, storage, extent) {\n var data = this._data;\n var dimSize = this._dimSize;\n\n for (var dim = 0; dim < dimSize; dim++) {\n var dimExtent = extent[dim];\n var min = dimExtent[0] == null ? Infinity : dimExtent[0];\n var max = dimExtent[1] == null ? -Infinity : dimExtent[1];\n var count = end - start;\n var arr = storage[dim];\n\n for (var i = 0; i < count; i++) {\n // appendData with TypedArray will always do replace in provider.\n var val = data[i * dimSize + dim];\n arr[start + i] = val;\n val < min && (min = val);\n val > max && (max = val);\n }\n\n dimExtent[0] = min;\n dimExtent[1] = max;\n }\n };\n\n var countForTypedArray = function () {\n return this._data ? this._data.length / this._dimSize : 0;\n };\n\n providerMethods = (_a = {}, _a[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_COLUMN] = {\n pure: true,\n appendData: appendDataSimply\n }, _a[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_ROW] = {\n pure: true,\n appendData: function () {\n throw new Error('Do not support appendData when set seriesLayoutBy: \"row\".');\n }\n }, _a[SOURCE_FORMAT_OBJECT_ROWS] = {\n pure: true,\n appendData: appendDataSimply\n }, _a[SOURCE_FORMAT_KEYED_COLUMNS] = {\n pure: true,\n appendData: function (newData) {\n var data = this._data;\n each(newData, function (newCol, key) {\n var oldCol = data[key] || (data[key] = []);\n\n for (var i = 0; i < (newCol || []).length; i++) {\n oldCol.push(newCol[i]);\n }\n });\n }\n }, _a[SOURCE_FORMAT_ORIGINAL] = {\n appendData: appendDataSimply\n }, _a[SOURCE_FORMAT_TYPED_ARRAY] = {\n persistent: false,\n pure: true,\n appendData: function (newData) {\n if (process.env.NODE_ENV !== 'production') {\n assert(isTypedArray(newData), 'Added data must be TypedArray if data in initialization is TypedArray');\n }\n\n this._data = newData;\n },\n // Clean self if data is already used.\n clean: function () {\n // PENDING\n this._offset += this.count();\n this._data = null;\n }\n }, _a);\n\n function appendDataSimply(newData) {\n for (var i = 0; i < newData.length; i++) {\n this._data.push(newData[i]);\n }\n }\n }();\n\n return DefaultDataProvider;\n}();\n\nexport { DefaultDataProvider };\n\nvar getItemSimply = function (rawData, startIndex, dimsDef, idx) {\n return rawData[idx];\n};\n\nvar rawSourceItemGetterMap = (_a = {}, _a[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_COLUMN] = function (rawData, startIndex, dimsDef, idx) {\n return rawData[idx + startIndex];\n}, _a[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_ROW] = function (rawData, startIndex, dimsDef, idx, out) {\n idx += startIndex;\n var item = out || [];\n var data = rawData;\n\n for (var i = 0; i < data.length; i++) {\n var row = data[i];\n item[i] = row ? row[idx] : null;\n }\n\n return item;\n}, _a[SOURCE_FORMAT_OBJECT_ROWS] = getItemSimply, _a[SOURCE_FORMAT_KEYED_COLUMNS] = function (rawData, startIndex, dimsDef, idx, out) {\n var item = out || [];\n\n for (var i = 0; i < dimsDef.length; i++) {\n var dimName = dimsDef[i].name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (dimName == null) {\n throw new Error();\n }\n }\n\n var col = rawData[dimName];\n item[i] = col ? col[idx] : null;\n }\n\n return item;\n}, _a[SOURCE_FORMAT_ORIGINAL] = getItemSimply, _a);\nexport function getRawSourceItemGetter(sourceFormat, seriesLayoutBy) {\n var method = rawSourceItemGetterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];\n\n if (process.env.NODE_ENV !== 'production') {\n assert(method, 'Do not support get item on \"' + sourceFormat + '\", \"' + seriesLayoutBy + '\".');\n }\n\n return method;\n}\n\nvar countSimply = function (rawData, startIndex, dimsDef) {\n return rawData.length;\n};\n\nvar rawSourceDataCounterMap = (_b = {}, _b[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_COLUMN] = function (rawData, startIndex, dimsDef) {\n return Math.max(0, rawData.length - startIndex);\n}, _b[SOURCE_FORMAT_ARRAY_ROWS + '_' + SERIES_LAYOUT_BY_ROW] = function (rawData, startIndex, dimsDef) {\n var row = rawData[0];\n return row ? Math.max(0, row.length - startIndex) : 0;\n}, _b[SOURCE_FORMAT_OBJECT_ROWS] = countSimply, _b[SOURCE_FORMAT_KEYED_COLUMNS] = function (rawData, startIndex, dimsDef) {\n var dimName = dimsDef[0].name;\n\n if (process.env.NODE_ENV !== 'production') {\n if (dimName == null) {\n throw new Error();\n }\n }\n\n var col = rawData[dimName];\n return col ? col.length : 0;\n}, _b[SOURCE_FORMAT_ORIGINAL] = countSimply, _b);\nexport function getRawSourceDataCounter(sourceFormat, seriesLayoutBy) {\n var method = rawSourceDataCounterMap[getMethodMapKey(sourceFormat, seriesLayoutBy)];\n\n if (process.env.NODE_ENV !== 'production') {\n assert(method, 'Do not support count on \"' + sourceFormat + '\", \"' + seriesLayoutBy + '\".');\n }\n\n return method;\n}\n\nvar getRawValueSimply = function (dataItem, dimIndex, property) {\n return dataItem[dimIndex];\n};\n\nvar rawSourceValueGetterMap = (_c = {}, _c[SOURCE_FORMAT_ARRAY_ROWS] = getRawValueSimply, _c[SOURCE_FORMAT_OBJECT_ROWS] = function (dataItem, dimIndex, property) {\n return dataItem[property];\n}, _c[SOURCE_FORMAT_KEYED_COLUMNS] = getRawValueSimply, _c[SOURCE_FORMAT_ORIGINAL] = function (dataItem, dimIndex, property) {\n // FIXME: In some case (markpoint in geo (geo-map.html)),\n // dataItem is {coord: [...]}\n var value = getDataItemValue(dataItem);\n return !(value instanceof Array) ? value : value[dimIndex];\n}, _c[SOURCE_FORMAT_TYPED_ARRAY] = getRawValueSimply, _c);\nexport function getRawSourceValueGetter(sourceFormat) {\n var method = rawSourceValueGetterMap[sourceFormat];\n\n if (process.env.NODE_ENV !== 'production') {\n assert(method, 'Do not support get value on \"' + sourceFormat + '\".');\n }\n\n return method;\n}\n\nfunction getMethodMapKey(sourceFormat, seriesLayoutBy) {\n return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS ? sourceFormat + '_' + seriesLayoutBy : sourceFormat;\n} // ??? FIXME can these logic be more neat: getRawValue, getRawDataItem,\n// Consider persistent.\n// Caution: why use raw value to display on label or tooltip?\n// A reason is to avoid format. For example time value we do not know\n// how to format is expected. More over, if stack is used, calculated\n// value may be 0.91000000001, which have brings trouble to display.\n// TODO: consider how to treat null/undefined/NaN when display?\n\n\nexport function retrieveRawValue(data, dataIndex, // If dimIndex is null/undefined, return OptionDataItem.\n// Otherwise, return OptionDataValue.\ndim) {\n if (!data) {\n return;\n } // Consider data may be not persistent.\n\n\n var dataItem = data.getRawDataItem(dataIndex);\n\n if (dataItem == null) {\n return;\n }\n\n var store = data.getStore();\n var sourceFormat = store.getSource().sourceFormat;\n\n if (dim != null) {\n var dimIndex = data.getDimensionIndex(dim);\n var property = store.getDimensionProperty(dimIndex);\n return getRawSourceValueGetter(sourceFormat)(dataItem, dimIndex, property);\n } else {\n var result = dataItem;\n\n if (sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n result = getDataItemValue(dataItem);\n }\n\n return result;\n }\n}\n/**\r\n * Compatible with some cases (in pie, map) like:\r\n * data: [{name: 'xx', value: 5, selected: true}, ...]\r\n * where only sourceFormat is 'original' and 'objectRows' supported.\r\n *\r\n * // TODO\r\n * Supported detail options in data item when using 'arrayRows'.\r\n *\r\n * @param data\r\n * @param dataIndex\r\n * @param attr like 'selected'\r\n */\n\nexport function retrieveRawAttr(data, dataIndex, attr) {\n if (!data) {\n return;\n }\n\n var sourceFormat = data.getStore().getSource().sourceFormat;\n\n if (sourceFormat !== SOURCE_FORMAT_ORIGINAL && sourceFormat !== SOURCE_FORMAT_OBJECT_ROWS) {\n return;\n }\n\n var dataItem = data.getRawDataItem(dataIndex);\n\n if (sourceFormat === SOURCE_FORMAT_ORIGINAL && !isObject(dataItem)) {\n dataItem = null;\n }\n\n if (dataItem) {\n return dataItem[attr];\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { retrieveRawValue } from '../../data/helper/dataProvider.js';\nimport { formatTpl } from '../../util/format.js';\nimport { error, makePrintable } from '../../util/log.js';\nvar DIMENSION_LABEL_REG = /\\{@(.+?)\\}/g;\n\nvar DataFormatMixin =\n/** @class */\nfunction () {\n function DataFormatMixin() {}\n /**\r\n * Get params for formatter\r\n */\n\n\n DataFormatMixin.prototype.getDataParams = function (dataIndex, dataType) {\n var data = this.getData(dataType);\n var rawValue = this.getRawValue(dataIndex, dataType);\n var rawDataIndex = data.getRawIndex(dataIndex);\n var name = data.getName(dataIndex);\n var itemOpt = data.getRawDataItem(dataIndex);\n var style = data.getItemVisual(dataIndex, 'style');\n var color = style && style[data.getItemVisual(dataIndex, 'drawType') || 'fill'];\n var borderColor = style && style.stroke;\n var mainType = this.mainType;\n var isSeries = mainType === 'series';\n var userOutput = data.userOutput && data.userOutput.get();\n return {\n componentType: mainType,\n componentSubType: this.subType,\n componentIndex: this.componentIndex,\n seriesType: isSeries ? this.subType : null,\n seriesIndex: this.seriesIndex,\n seriesId: isSeries ? this.id : null,\n seriesName: isSeries ? this.name : null,\n name: name,\n dataIndex: rawDataIndex,\n data: itemOpt,\n dataType: dataType,\n value: rawValue,\n color: color,\n borderColor: borderColor,\n dimensionNames: userOutput ? userOutput.fullDimensions : null,\n encode: userOutput ? userOutput.encode : null,\n // Param name list for mapping `a`, `b`, `c`, `d`, `e`\n $vars: ['seriesName', 'name', 'value']\n };\n };\n /**\r\n * Format label\r\n * @param dataIndex\r\n * @param status 'normal' by default\r\n * @param dataType\r\n * @param labelDimIndex Only used in some chart that\r\n * use formatter in different dimensions, like radar.\r\n * @param formatter Formatter given outside.\r\n * @return return null/undefined if no formatter\r\n */\n\n\n DataFormatMixin.prototype.getFormattedLabel = function (dataIndex, status, dataType, labelDimIndex, formatter, extendParams) {\n status = status || 'normal';\n var data = this.getData(dataType);\n var params = this.getDataParams(dataIndex, dataType);\n\n if (extendParams) {\n params.value = extendParams.interpolatedValue;\n }\n\n if (labelDimIndex != null && zrUtil.isArray(params.value)) {\n params.value = params.value[labelDimIndex];\n }\n\n if (!formatter) {\n var itemModel = data.getItemModel(dataIndex); // @ts-ignore\n\n formatter = itemModel.get(status === 'normal' ? ['label', 'formatter'] : [status, 'label', 'formatter']);\n }\n\n if (zrUtil.isFunction(formatter)) {\n params.status = status;\n params.dimensionIndex = labelDimIndex;\n return formatter(params);\n } else if (zrUtil.isString(formatter)) {\n var str = formatTpl(formatter, params); // Support 'aaa{@[3]}bbb{@product}ccc'.\n // Do not support '}' in dim name util have to.\n\n return str.replace(DIMENSION_LABEL_REG, function (origin, dimStr) {\n var len = dimStr.length;\n var dimLoose = dimStr;\n\n if (dimLoose.charAt(0) === '[' && dimLoose.charAt(len - 1) === ']') {\n dimLoose = +dimLoose.slice(1, len - 1); // Also support: '[]' => 0\n\n if (process.env.NODE_ENV !== 'production') {\n if (isNaN(dimLoose)) {\n error(\"Invalide label formatter: @\" + dimStr + \", only support @[0], @[1], @[2], ...\");\n }\n }\n }\n\n var val = retrieveRawValue(data, dataIndex, dimLoose);\n\n if (extendParams && zrUtil.isArray(extendParams.interpolatedValue)) {\n var dimIndex = data.getDimensionIndex(dimLoose);\n\n if (dimIndex >= 0) {\n val = extendParams.interpolatedValue[dimIndex];\n }\n }\n\n return val != null ? val + '' : '';\n });\n }\n };\n /**\r\n * Get raw value in option\r\n */\n\n\n DataFormatMixin.prototype.getRawValue = function (idx, dataType) {\n return retrieveRawValue(this.getData(dataType), idx);\n };\n /**\r\n * Should be implemented.\r\n * @param {number} dataIndex\r\n * @param {boolean} [multipleSeries=false]\r\n * @param {string} [dataType]\r\n */\n\n\n DataFormatMixin.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n // Empty function\n return;\n };\n\n return DataFormatMixin;\n}();\n\nexport { DataFormatMixin };\n; // PENDING: previously we accept this type when calling `formatTooltip`,\n// but guess little chance has been used outside. Do we need to backward\n// compat it?\n// type TooltipFormatResultLegacyObject = {\n// // `html` means the markup language text, either in 'html' or 'richText'.\n// // The name `html` is not appropriate because in 'richText' it is not a HTML\n// // string. But still support it for backward compatibility.\n// html: string;\n// markers: Dictionary;\n// };\n\n/**\r\n * For backward compat, normalize the return from `formatTooltip`.\r\n */\n\nexport function normalizeTooltipFormatResult(result) {\n var markupText; // let markers: Dictionary;\n\n var markupFragment;\n\n if (zrUtil.isObject(result)) {\n if (result.type) {\n markupFragment = result;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('The return type of `formatTooltip` is not supported: ' + makePrintable(result));\n }\n } // else {\n // markupText = (result as TooltipFormatResultLegacyObject).html;\n // markers = (result as TooltipFormatResultLegacyObject).markers;\n // if (markersExisting) {\n // markers = zrUtil.merge(markersExisting, markers);\n // }\n // }\n\n } else {\n markupText = result;\n }\n\n return {\n text: markupText,\n // markers: markers || markersExisting,\n frag: markupFragment\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { assert, isArray } from 'zrender/lib/core/util.js';\n;\n/**\r\n * @param {Object} define\r\n * @return See the return of `createTask`.\r\n */\n\nexport function createTask(define) {\n return new Task(define);\n}\n\nvar Task =\n/** @class */\nfunction () {\n function Task(define) {\n define = define || {};\n this._reset = define.reset;\n this._plan = define.plan;\n this._count = define.count;\n this._onDirty = define.onDirty;\n this._dirty = true;\n }\n /**\r\n * @param step Specified step.\r\n * @param skip Skip customer perform call.\r\n * @param modBy Sampling window size.\r\n * @param modDataCount Sampling count.\r\n * @return whether unfinished.\r\n */\n\n\n Task.prototype.perform = function (performArgs) {\n var upTask = this._upstream;\n var skip = performArgs && performArgs.skip; // TODO some refactor.\n // Pull data. Must pull data each time, because context.data\n // may be updated by Series.setData.\n\n if (this._dirty && upTask) {\n var context = this.context;\n context.data = context.outputData = upTask.context.outputData;\n }\n\n if (this.__pipeline) {\n this.__pipeline.currentTask = this;\n }\n\n var planResult;\n\n if (this._plan && !skip) {\n planResult = this._plan(this.context);\n } // Support sharding by mod, which changes the render sequence and makes the rendered graphic\n // elements uniformed distributed when progress, especially when moving or zooming.\n\n\n var lastModBy = normalizeModBy(this._modBy);\n var lastModDataCount = this._modDataCount || 0;\n var modBy = normalizeModBy(performArgs && performArgs.modBy);\n var modDataCount = performArgs && performArgs.modDataCount || 0;\n\n if (lastModBy !== modBy || lastModDataCount !== modDataCount) {\n planResult = 'reset';\n }\n\n function normalizeModBy(val) {\n !(val >= 1) && (val = 1); // jshint ignore:line\n\n return val;\n }\n\n var forceFirstProgress;\n\n if (this._dirty || planResult === 'reset') {\n this._dirty = false;\n forceFirstProgress = this._doReset(skip);\n }\n\n this._modBy = modBy;\n this._modDataCount = modDataCount;\n var step = performArgs && performArgs.step;\n\n if (upTask) {\n if (process.env.NODE_ENV !== 'production') {\n assert(upTask._outputDueEnd != null);\n }\n\n this._dueEnd = upTask._outputDueEnd;\n } // DataTask or overallTask\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert(!this._progress || this._count);\n }\n\n this._dueEnd = this._count ? this._count(this.context) : Infinity;\n } // Note: Stubs, that its host overall task let it has progress, has progress.\n // If no progress, pass index from upstream to downstream each time plan called.\n\n\n if (this._progress) {\n var start = this._dueIndex;\n var end = Math.min(step != null ? this._dueIndex + step : Infinity, this._dueEnd);\n\n if (!skip && (forceFirstProgress || start < end)) {\n var progress = this._progress;\n\n if (isArray(progress)) {\n for (var i = 0; i < progress.length; i++) {\n this._doProgress(progress[i], start, end, modBy, modDataCount);\n }\n } else {\n this._doProgress(progress, start, end, modBy, modDataCount);\n }\n }\n\n this._dueIndex = end; // If no `outputDueEnd`, assume that output data and\n // input data is the same, so use `dueIndex` as `outputDueEnd`.\n\n var outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : end;\n\n if (process.env.NODE_ENV !== 'production') {\n // ??? Can not rollback.\n assert(outputDueEnd >= this._outputDueEnd);\n }\n\n this._outputDueEnd = outputDueEnd;\n } else {\n // (1) Some overall task has no progress.\n // (2) Stubs, that its host overall task do not let it has progress, has no progress.\n // This should always be performed so it can be passed to downstream.\n this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd;\n }\n\n return this.unfinished();\n };\n\n Task.prototype.dirty = function () {\n this._dirty = true;\n this._onDirty && this._onDirty(this.context);\n };\n\n Task.prototype._doProgress = function (progress, start, end, modBy, modDataCount) {\n iterator.reset(start, end, modBy, modDataCount);\n this._callingProgress = progress;\n\n this._callingProgress({\n start: start,\n end: end,\n count: end - start,\n next: iterator.next\n }, this.context);\n };\n\n Task.prototype._doReset = function (skip) {\n this._dueIndex = this._outputDueEnd = this._dueEnd = 0;\n this._settedOutputEnd = null;\n var progress;\n var forceFirstProgress;\n\n if (!skip && this._reset) {\n progress = this._reset(this.context);\n\n if (progress && progress.progress) {\n forceFirstProgress = progress.forceFirstProgress;\n progress = progress.progress;\n } // To simplify no progress checking, array must has item.\n\n\n if (isArray(progress) && !progress.length) {\n progress = null;\n }\n }\n\n this._progress = progress;\n this._modBy = this._modDataCount = null;\n var downstream = this._downstream;\n downstream && downstream.dirty();\n return forceFirstProgress;\n };\n\n Task.prototype.unfinished = function () {\n return this._progress && this._dueIndex < this._dueEnd;\n };\n /**\r\n * @param downTask The downstream task.\r\n * @return The downstream task.\r\n */\n\n\n Task.prototype.pipe = function (downTask) {\n if (process.env.NODE_ENV !== 'production') {\n assert(downTask && !downTask._disposed && downTask !== this);\n } // If already downstream, do not dirty downTask.\n\n\n if (this._downstream !== downTask || this._dirty) {\n this._downstream = downTask;\n downTask._upstream = this;\n downTask.dirty();\n }\n };\n\n Task.prototype.dispose = function () {\n if (this._disposed) {\n return;\n }\n\n this._upstream && (this._upstream._downstream = null);\n this._downstream && (this._downstream._upstream = null);\n this._dirty = false;\n this._disposed = true;\n };\n\n Task.prototype.getUpstream = function () {\n return this._upstream;\n };\n\n Task.prototype.getDownstream = function () {\n return this._downstream;\n };\n\n Task.prototype.setOutputEnd = function (end) {\n // This only happens in dataTask, dataZoom, map, currently.\n // where dataZoom do not set end each time, but only set\n // when reset. So we should record the set end, in case\n // that the stub of dataZoom perform again and earse the\n // set end by upstream.\n this._outputDueEnd = this._settedOutputEnd = end;\n };\n\n return Task;\n}();\n\nexport { Task };\n\nvar iterator = function () {\n var end;\n var current;\n var modBy;\n var modDataCount;\n var winCount;\n var it = {\n reset: function (s, e, sStep, sCount) {\n current = s;\n end = e;\n modBy = sStep;\n modDataCount = sCount;\n winCount = Math.ceil(modDataCount / modBy);\n it.next = modBy > 1 && modDataCount > 0 ? modNext : sequentialNext;\n }\n };\n return it;\n\n function sequentialNext() {\n return current < end ? current++ : null;\n }\n\n function modNext() {\n var dataIndex = current % winCount * modBy + Math.ceil(current / winCount);\n var result = current >= end ? null : dataIndex < modDataCount ? dataIndex // If modDataCount is smaller than data.count() (consider `appendData` case),\n // Use normal linear rendering mode.\n : current;\n current++;\n return result;\n }\n}(); // -----------------------------------------------------------------------------\n// For stream debug (Should be commented out after used!)\n// @usage: printTask(this, 'begin');\n// @usage: printTask(this, null, {someExtraProp});\n// @usage: Use `__idxInPipeline` as conditional breakpiont.\n//\n// window.printTask = function (task: any, prefix: string, extra: { [key: string]: unknown }): void {\n// window.ecTaskUID == null && (window.ecTaskUID = 0);\n// task.uidDebug == null && (task.uidDebug = `task_${window.ecTaskUID++}`);\n// task.agent && task.agent.uidDebug == null && (task.agent.uidDebug = `task_${window.ecTaskUID++}`);\n// let props = [];\n// if (task.__pipeline) {\n// let val = `${task.__idxInPipeline}/${task.__pipeline.tail.__idxInPipeline} ${task.agent ? '(stub)' : ''}`;\n// props.push({text: '__idxInPipeline/total', value: val});\n// } else {\n// let stubCount = 0;\n// task.agentStubMap.each(() => stubCount++);\n// props.push({text: 'idx', value: `overall (stubs: ${stubCount})`});\n// }\n// props.push({text: 'uid', value: task.uidDebug});\n// if (task.__pipeline) {\n// props.push({text: 'pipelineId', value: task.__pipeline.id});\n// task.agent && props.push(\n// {text: 'stubFor', value: task.agent.uidDebug}\n// );\n// }\n// props.push(\n// {text: 'dirty', value: task._dirty},\n// {text: 'dueIndex', value: task._dueIndex},\n// {text: 'dueEnd', value: task._dueEnd},\n// {text: 'outputDueEnd', value: task._outputDueEnd}\n// );\n// if (extra) {\n// Object.keys(extra).forEach(key => {\n// props.push({text: key, value: extra[key]});\n// });\n// }\n// let args = ['color: blue'];\n// let msg = `%c[${prefix || 'T'}] %c` + props.map(item => (\n// args.push('color: green', 'color: red'),\n// `${item.text}: %c${item.value}`\n// )).join('%c, ');\n// console.log.apply(console, [msg].concat(args));\n// // console.log(this);\n// };\n// window.printPipeline = function (task: any, prefix: string) {\n// const pipeline = task.__pipeline;\n// let currTask = pipeline.head;\n// while (currTask) {\n// window.printTask(currTask, prefix);\n// currTask = currTask._downstream;\n// }\n// };\n// window.showChain = function (chainHeadTask) {\n// var chain = [];\n// var task = chainHeadTask;\n// while (task) {\n// chain.push({\n// task: task,\n// up: task._upstream,\n// down: task._downstream,\n// idxInPipeline: task.__idxInPipeline\n// });\n// task = task._downstream;\n// }\n// return chain;\n// };\n// window.findTaskInChain = function (task, chainHeadTask) {\n// let chain = window.showChain(chainHeadTask);\n// let result = [];\n// for (let i = 0; i < chain.length; i++) {\n// let chainItem = chain[i];\n// if (chainItem.task === task) {\n// result.push(i);\n// }\n// }\n// return result;\n// };\n// window.printChainAEachInChainB = function (chainHeadTaskA, chainHeadTaskB) {\n// let chainA = window.showChain(chainHeadTaskA);\n// for (let i = 0; i < chainA.length; i++) {\n// console.log('chainAIdx:', i, 'inChainB:', window.findTaskInChain(chainA[i].task, chainHeadTaskB));\n// }\n// };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { parseDate, numericToNumber } from '../../util/number.js';\nimport { createHashMap, trim, hasOwn, isString, isNumber } from 'zrender/lib/core/util.js';\nimport { throwError } from '../../util/log.js';\n/**\r\n * Convert raw the value in to inner value in List.\r\n *\r\n * [Performance sensitive]\r\n *\r\n * [Caution]: this is the key logic of user value parser.\r\n * For backward compatibility, do not modify it until you have to!\r\n */\n\nexport function parseDataValue(value, // For high performance, do not omit the second param.\nopt) {\n // Performance sensitive.\n var dimType = opt && opt.type;\n\n if (dimType === 'ordinal') {\n // If given value is a category string\n return value;\n }\n\n if (dimType === 'time' // spead up when using timestamp\n && !isNumber(value) && value != null && value !== '-') {\n value = +parseDate(value);\n } // dimType defaults 'number'.\n // If dimType is not ordinal and value is null or undefined or NaN or '-',\n // parse to NaN.\n // number-like string (like ' 123 ') can be converted to a number.\n // where null/undefined or other string will be converted to NaN.\n\n\n return value == null || value === '' ? NaN // If string (like '-'), using '+' parse to NaN\n // If object, also parse to NaN\n : +value;\n}\n;\nvar valueParserMap = createHashMap({\n 'number': function (val) {\n // Do not use `numericToNumber` here. We have `numericToNumber` by default.\n // Here the number parser can have loose rule:\n // enable to cut suffix: \"120px\" => 120, \"14%\" => 14.\n return parseFloat(val);\n },\n 'time': function (val) {\n // return timestamp.\n return +parseDate(val);\n },\n 'trim': function (val) {\n return isString(val) ? trim(val) : val;\n }\n});\nexport function getRawValueParser(type) {\n return valueParserMap.get(type);\n}\nvar ORDER_COMPARISON_OP_MAP = {\n lt: function (lval, rval) {\n return lval < rval;\n },\n lte: function (lval, rval) {\n return lval <= rval;\n },\n gt: function (lval, rval) {\n return lval > rval;\n },\n gte: function (lval, rval) {\n return lval >= rval;\n }\n};\n\nvar FilterOrderComparator =\n/** @class */\nfunction () {\n function FilterOrderComparator(op, rval) {\n if (!isNumber(rval)) {\n var errMsg = '';\n\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'rvalue of \"<\", \">\", \"<=\", \">=\" can only be number in filter.';\n }\n\n throwError(errMsg);\n }\n\n this._opFn = ORDER_COMPARISON_OP_MAP[op];\n this._rvalFloat = numericToNumber(rval);\n } // Performance sensitive.\n\n\n FilterOrderComparator.prototype.evaluate = function (lval) {\n // Most cases is 'number', and typeof maybe 10 times faseter than parseFloat.\n return isNumber(lval) ? this._opFn(lval, this._rvalFloat) : this._opFn(numericToNumber(lval), this._rvalFloat);\n };\n\n return FilterOrderComparator;\n}();\n\nvar SortOrderComparator =\n/** @class */\nfunction () {\n /**\r\n * @param order by default: 'asc'\r\n * @param incomparable by default: Always on the tail.\r\n * That is, if 'asc' => 'max', if 'desc' => 'min'\r\n * See the definition of \"incomparable\" in [SORT_COMPARISON_RULE].\r\n */\n function SortOrderComparator(order, incomparable) {\n var isDesc = order === 'desc';\n this._resultLT = isDesc ? 1 : -1;\n\n if (incomparable == null) {\n incomparable = isDesc ? 'min' : 'max';\n }\n\n this._incomparable = incomparable === 'min' ? -Infinity : Infinity;\n } // See [SORT_COMPARISON_RULE].\n // Performance sensitive.\n\n\n SortOrderComparator.prototype.evaluate = function (lval, rval) {\n // Most cases is 'number', and typeof maybe 10 times faseter than parseFloat.\n var lvalFloat = isNumber(lval) ? lval : numericToNumber(lval);\n var rvalFloat = isNumber(rval) ? rval : numericToNumber(rval);\n var lvalNotNumeric = isNaN(lvalFloat);\n var rvalNotNumeric = isNaN(rvalFloat);\n\n if (lvalNotNumeric) {\n lvalFloat = this._incomparable;\n }\n\n if (rvalNotNumeric) {\n rvalFloat = this._incomparable;\n }\n\n if (lvalNotNumeric && rvalNotNumeric) {\n var lvalIsStr = isString(lval);\n var rvalIsStr = isString(rval);\n\n if (lvalIsStr) {\n lvalFloat = rvalIsStr ? lval : 0;\n }\n\n if (rvalIsStr) {\n rvalFloat = lvalIsStr ? rval : 0;\n }\n }\n\n return lvalFloat < rvalFloat ? this._resultLT : lvalFloat > rvalFloat ? -this._resultLT : 0;\n };\n\n return SortOrderComparator;\n}();\n\nexport { SortOrderComparator };\n\nvar FilterEqualityComparator =\n/** @class */\nfunction () {\n function FilterEqualityComparator(isEq, rval) {\n this._rval = rval;\n this._isEQ = isEq;\n this._rvalTypeof = typeof rval;\n this._rvalFloat = numericToNumber(rval);\n } // Performance sensitive.\n\n\n FilterEqualityComparator.prototype.evaluate = function (lval) {\n var eqResult = lval === this._rval;\n\n if (!eqResult) {\n var lvalTypeof = typeof lval;\n\n if (lvalTypeof !== this._rvalTypeof && (lvalTypeof === 'number' || this._rvalTypeof === 'number')) {\n eqResult = numericToNumber(lval) === this._rvalFloat;\n }\n }\n\n return this._isEQ ? eqResult : !eqResult;\n };\n\n return FilterEqualityComparator;\n}();\n/**\r\n * [FILTER_COMPARISON_RULE]\r\n * `lt`|`lte`|`gt`|`gte`:\r\n * + rval must be a number. And lval will be converted to number (`numericToNumber`) to compare.\r\n * `eq`:\r\n * + If same type, compare with `===`.\r\n * + If there is one number, convert to number (`numericToNumber`) to compare.\r\n * + Else return `false`.\r\n * `ne`:\r\n * + Not `eq`.\r\n *\r\n *\r\n * [SORT_COMPARISON_RULE]\r\n * All the values are grouped into three categories:\r\n * + \"numeric\" (number and numeric string)\r\n * + \"non-numeric-string\" (string that excluding numeric string)\r\n * + \"others\"\r\n * \"numeric\" vs \"numeric\": values are ordered by number order.\r\n * \"non-numeric-string\" vs \"non-numeric-string\": values are ordered by ES spec (#sec-abstract-relational-comparison).\r\n * \"others\" vs \"others\": do not change order (always return 0).\r\n * \"numeric\" vs \"non-numeric-string\": \"non-numeric-string\" is treated as \"incomparable\".\r\n * \"number\" vs \"others\": \"others\" is treated as \"incomparable\".\r\n * \"non-numeric-string\" vs \"others\": \"others\" is treated as \"incomparable\".\r\n * \"incomparable\" will be seen as -Infinity or Infinity (depends on the settings).\r\n * MEMO:\r\n * Non-numeric string sort makes sense when we need to put the items with the same tag together.\r\n * But if we support string sort, we still need to avoid the misleading like `'2' > '12'`,\r\n * So we treat \"numeric-string\" sorted by number order rather than string comparison.\r\n *\r\n *\r\n * [CHECK_LIST_OF_THE_RULE_DESIGN]\r\n * + Do not support string comparison until required. And also need to\r\n * avoid the misleading of \"2\" > \"12\".\r\n * + Should avoid the misleading case:\r\n * `\" 22 \" gte \"22\"` is `true` but `\" 22 \" eq \"22\"` is `false`.\r\n * + JS bad case should be avoided: null <= 0, [] <= 0, ' ' <= 0, ...\r\n * + Only \"numeric\" can be converted to comparable number, otherwise converted to NaN.\r\n * See `util/number.ts#numericToNumber`.\r\n *\r\n * @return If `op` is not `RelationalOperator`, return null;\r\n */\n\n\nexport function createFilterComparator(op, rval) {\n return op === 'eq' || op === 'ne' ? new FilterEqualityComparator(op === 'eq', rval) : hasOwn(ORDER_COMPARISON_OP_MAP, op) ? new FilterOrderComparator(op, rval) : null;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { SERIES_LAYOUT_BY_COLUMN, SOURCE_FORMAT_OBJECT_ROWS, SOURCE_FORMAT_ARRAY_ROWS } from '../../util/types.js';\nimport { normalizeToArray } from '../../util/model.js';\nimport { createHashMap, bind, each, hasOwn, map, clone, isObject, extend, isNumber } from 'zrender/lib/core/util.js';\nimport { getRawSourceItemGetter, getRawSourceDataCounter, getRawSourceValueGetter } from './dataProvider.js';\nimport { parseDataValue } from './dataValueHelper.js';\nimport { log, makePrintable, throwError } from '../../util/log.js';\nimport { createSource, detectSourceFormat } from '../Source.js';\n/**\r\n * TODO: disable writable.\r\n * This structure will be exposed to users.\r\n */\n\nvar ExternalSource =\n/** @class */\nfunction () {\n function ExternalSource() {}\n\n ExternalSource.prototype.getRawData = function () {\n // Only built-in transform available.\n throw new Error('not supported');\n };\n\n ExternalSource.prototype.getRawDataItem = function (dataIndex) {\n // Only built-in transform available.\n throw new Error('not supported');\n };\n\n ExternalSource.prototype.cloneRawData = function () {\n return;\n };\n /**\r\n * @return If dimension not found, return null/undefined.\r\n */\n\n\n ExternalSource.prototype.getDimensionInfo = function (dim) {\n return;\n };\n /**\r\n * dimensions defined if and only if either:\r\n * (a) dataset.dimensions are declared.\r\n * (b) dataset data include dimensions definitions in data (detected or via specified `sourceHeader`).\r\n * If dimensions are defined, `dimensionInfoAll` is corresponding to\r\n * the defined dimensions.\r\n * Otherwise, `dimensionInfoAll` is determined by data columns.\r\n * @return Always return an array (even empty array).\r\n */\n\n\n ExternalSource.prototype.cloneAllDimensionInfo = function () {\n return;\n };\n\n ExternalSource.prototype.count = function () {\n return;\n };\n /**\r\n * Only support by dimension index.\r\n * No need to support by dimension name in transform function,\r\n * because transform function is not case-specific, no need to use name literally.\r\n */\n\n\n ExternalSource.prototype.retrieveValue = function (dataIndex, dimIndex) {\n return;\n };\n\n ExternalSource.prototype.retrieveValueFromItem = function (dataItem, dimIndex) {\n return;\n };\n\n ExternalSource.prototype.convertValue = function (rawVal, dimInfo) {\n return parseDataValue(rawVal, dimInfo);\n };\n\n return ExternalSource;\n}();\n\nexport { ExternalSource };\n\nfunction createExternalSource(internalSource, externalTransform) {\n var extSource = new ExternalSource();\n var data = internalSource.data;\n var sourceFormat = extSource.sourceFormat = internalSource.sourceFormat;\n var sourceHeaderCount = internalSource.startIndex;\n var errMsg = '';\n\n if (internalSource.seriesLayoutBy !== SERIES_LAYOUT_BY_COLUMN) {\n // For the logic simplicity in transformer, only 'culumn' is\n // supported in data transform. Otherwise, the `dimensionsDefine`\n // might be detected by 'row', which probably confuses users.\n if (process.env.NODE_ENV !== 'production') {\n errMsg = '`seriesLayoutBy` of upstream dataset can only be \"column\" in data transform.';\n }\n\n throwError(errMsg);\n } // [MEMO]\n // Create a new dimensions structure for exposing.\n // Do not expose all dimension info to users directly.\n // Because the dimension is probably auto detected from data and not might reliable.\n // Should not lead the transformers to think that is reliable and return it.\n // See [DIMENSION_INHERIT_RULE] in `sourceManager.ts`.\n\n\n var dimensions = [];\n var dimsByName = {};\n var dimsDef = internalSource.dimensionsDefine;\n\n if (dimsDef) {\n each(dimsDef, function (dimDef, idx) {\n var name = dimDef.name;\n var dimDefExt = {\n index: idx,\n name: name,\n displayName: dimDef.displayName\n };\n dimensions.push(dimDefExt); // Users probably do not specify dimension name. For simplicity, data transform\n // does not generate dimension name.\n\n if (name != null) {\n // Dimension name should not be duplicated.\n // For simplicity, data transform forbids name duplication, do not generate\n // new name like module `completeDimensions.ts` did, but just tell users.\n var errMsg_1 = '';\n\n if (hasOwn(dimsByName, name)) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg_1 = 'dimension name \"' + name + '\" duplicated.';\n }\n\n throwError(errMsg_1);\n }\n\n dimsByName[name] = dimDefExt;\n }\n });\n } // If dimension definitions are not defined and can not be detected.\n // e.g., pure data `[[11, 22], ...]`.\n else {\n for (var i = 0; i < internalSource.dimensionsDetectedCount || 0; i++) {\n // Do not generete name or anything others. The consequence process in\n // `transform` or `series` probably have there own name generation strategry.\n dimensions.push({\n index: i\n });\n }\n } // Implement public methods:\n\n\n var rawItemGetter = getRawSourceItemGetter(sourceFormat, SERIES_LAYOUT_BY_COLUMN);\n\n if (externalTransform.__isBuiltIn) {\n extSource.getRawDataItem = function (dataIndex) {\n return rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex);\n };\n\n extSource.getRawData = bind(getRawData, null, internalSource);\n }\n\n extSource.cloneRawData = bind(cloneRawData, null, internalSource);\n var rawCounter = getRawSourceDataCounter(sourceFormat, SERIES_LAYOUT_BY_COLUMN);\n extSource.count = bind(rawCounter, null, data, sourceHeaderCount, dimensions);\n var rawValueGetter = getRawSourceValueGetter(sourceFormat);\n\n extSource.retrieveValue = function (dataIndex, dimIndex) {\n var rawItem = rawItemGetter(data, sourceHeaderCount, dimensions, dataIndex);\n return retrieveValueFromItem(rawItem, dimIndex);\n };\n\n var retrieveValueFromItem = extSource.retrieveValueFromItem = function (dataItem, dimIndex) {\n if (dataItem == null) {\n return;\n }\n\n var dimDef = dimensions[dimIndex]; // When `dimIndex` is `null`, `rawValueGetter` return the whole item.\n\n if (dimDef) {\n return rawValueGetter(dataItem, dimIndex, dimDef.name);\n }\n };\n\n extSource.getDimensionInfo = bind(getDimensionInfo, null, dimensions, dimsByName);\n extSource.cloneAllDimensionInfo = bind(cloneAllDimensionInfo, null, dimensions);\n return extSource;\n}\n\nfunction getRawData(upstream) {\n var sourceFormat = upstream.sourceFormat;\n\n if (!isSupportedSourceFormat(sourceFormat)) {\n var errMsg = '';\n\n if (process.env.NODE_ENV !== 'production') {\n errMsg = '`getRawData` is not supported in source format ' + sourceFormat;\n }\n\n throwError(errMsg);\n }\n\n return upstream.data;\n}\n\nfunction cloneRawData(upstream) {\n var sourceFormat = upstream.sourceFormat;\n var data = upstream.data;\n\n if (!isSupportedSourceFormat(sourceFormat)) {\n var errMsg = '';\n\n if (process.env.NODE_ENV !== 'production') {\n errMsg = '`cloneRawData` is not supported in source format ' + sourceFormat;\n }\n\n throwError(errMsg);\n }\n\n if (sourceFormat === SOURCE_FORMAT_ARRAY_ROWS) {\n var result = [];\n\n for (var i = 0, len = data.length; i < len; i++) {\n // Not strictly clone for performance\n result.push(data[i].slice());\n }\n\n return result;\n } else if (sourceFormat === SOURCE_FORMAT_OBJECT_ROWS) {\n var result = [];\n\n for (var i = 0, len = data.length; i < len; i++) {\n // Not strictly clone for performance\n result.push(extend({}, data[i]));\n }\n\n return result;\n }\n}\n\nfunction getDimensionInfo(dimensions, dimsByName, dim) {\n if (dim == null) {\n return;\n } // Keep the same logic as `List::getDimension` did.\n\n\n if (isNumber(dim) // If being a number-like string but not being defined a dimension name.\n || !isNaN(dim) && !hasOwn(dimsByName, dim)) {\n return dimensions[dim];\n } else if (hasOwn(dimsByName, dim)) {\n return dimsByName[dim];\n }\n}\n\nfunction cloneAllDimensionInfo(dimensions) {\n return clone(dimensions);\n}\n\nvar externalTransformMap = createHashMap();\nexport function registerExternalTransform(externalTransform) {\n externalTransform = clone(externalTransform);\n var type = externalTransform.type;\n var errMsg = '';\n\n if (!type) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'Must have a `type` when `registerTransform`.';\n }\n\n throwError(errMsg);\n }\n\n var typeParsed = type.split(':');\n\n if (typeParsed.length !== 2) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'Name must include namespace like \"ns:regression\".';\n }\n\n throwError(errMsg);\n } // Namespace 'echarts:xxx' is official namespace, where the transforms should\n // be called directly via 'xxx' rather than 'echarts:xxx'.\n\n\n var isBuiltIn = false;\n\n if (typeParsed[0] === 'echarts') {\n type = typeParsed[1];\n isBuiltIn = true;\n }\n\n externalTransform.__isBuiltIn = isBuiltIn;\n externalTransformMap.set(type, externalTransform);\n}\nexport function applyDataTransform(rawTransOption, sourceList, infoForPrint) {\n var pipedTransOption = normalizeToArray(rawTransOption);\n var pipeLen = pipedTransOption.length;\n var errMsg = '';\n\n if (!pipeLen) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'If `transform` declared, it should at least contain one transform.';\n }\n\n throwError(errMsg);\n }\n\n for (var i = 0, len = pipeLen; i < len; i++) {\n var transOption = pipedTransOption[i];\n sourceList = applySingleDataTransform(transOption, sourceList, infoForPrint, pipeLen === 1 ? null : i); // piped transform only support single input, except the fist one.\n // piped transform only support single output, except the last one.\n\n if (i !== len - 1) {\n sourceList.length = Math.max(sourceList.length, 1);\n }\n }\n\n return sourceList;\n}\n\nfunction applySingleDataTransform(transOption, upSourceList, infoForPrint, // If `pipeIndex` is null/undefined, no piped transform.\npipeIndex) {\n var errMsg = '';\n\n if (!upSourceList.length) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'Must have at least one upstream dataset.';\n }\n\n throwError(errMsg);\n }\n\n if (!isObject(transOption)) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'transform declaration must be an object rather than ' + typeof transOption + '.';\n }\n\n throwError(errMsg);\n }\n\n var transType = transOption.type;\n var externalTransform = externalTransformMap.get(transType);\n\n if (!externalTransform) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'Can not find transform on type \"' + transType + '\".';\n }\n\n throwError(errMsg);\n } // Prepare source\n\n\n var extUpSourceList = map(upSourceList, function (upSource) {\n return createExternalSource(upSource, externalTransform);\n });\n var resultList = normalizeToArray(externalTransform.transform({\n upstream: extUpSourceList[0],\n upstreamList: extUpSourceList,\n config: clone(transOption.config)\n }));\n\n if (process.env.NODE_ENV !== 'production') {\n if (transOption.print) {\n var printStrArr = map(resultList, function (extSource) {\n var pipeIndexStr = pipeIndex != null ? ' === pipe index: ' + pipeIndex : '';\n return ['=== dataset index: ' + infoForPrint.datasetIndex + pipeIndexStr + ' ===', '- transform result data:', makePrintable(extSource.data), '- transform result dimensions:', makePrintable(extSource.dimensions)].join('\\n');\n }).join('\\n');\n log(printStrArr);\n }\n }\n\n return map(resultList, function (result, resultIndex) {\n var errMsg = '';\n\n if (!isObject(result)) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'A transform should not return some empty results.';\n }\n\n throwError(errMsg);\n }\n\n if (!result.data) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'Transform result data should be not be null or undefined';\n }\n\n throwError(errMsg);\n }\n\n var sourceFormat = detectSourceFormat(result.data);\n\n if (!isSupportedSourceFormat(sourceFormat)) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'Transform result data should be array rows or object rows.';\n }\n\n throwError(errMsg);\n }\n\n var resultMetaRawOption;\n var firstUpSource = upSourceList[0];\n /**\r\n * Intuitively, the end users known the content of the original `dataset.source`,\r\n * calucating the transform result in mind.\r\n * Suppose the original `dataset.source` is:\r\n * ```js\r\n * [\r\n * ['product', '2012', '2013', '2014', '2015'],\r\n * ['AAA', 41.1, 30.4, 65.1, 53.3],\r\n * ['BBB', 86.5, 92.1, 85.7, 83.1],\r\n * ['CCC', 24.1, 67.2, 79.5, 86.4]\r\n * ]\r\n * ```\r\n * The dimension info have to be detected from the source data.\r\n * Some of the transformers (like filter, sort) will follow the dimension info\r\n * of upstream, while others use new dimensions (like aggregate).\r\n * Transformer can output a field `dimensions` to define the its own output dimensions.\r\n * We also allow transformers to ignore the output `dimensions` field, and\r\n * inherit the upstream dimensions definition. It can reduce the burden of handling\r\n * dimensions in transformers.\r\n *\r\n * See also [DIMENSION_INHERIT_RULE] in `sourceManager.ts`.\r\n */\n\n if (firstUpSource && resultIndex === 0 // If transformer returns `dimensions`, it means that the transformer has different\n // dimensions definitions. We do not inherit anything from upstream.\n && !result.dimensions) {\n var startIndex = firstUpSource.startIndex; // We copy the header of upstream to the result, because:\n // (1) The returned data always does not contain header line and can not be used\n // as dimension-detection. In this case we can not use \"detected dimensions\" of\n // upstream directly, because it might be detected based on different `seriesLayoutBy`.\n // (2) We should support that the series read the upstream source in `seriesLayoutBy: 'row'`.\n // So the original detected header should be add to the result, otherwise they can not be read.\n\n if (startIndex) {\n result.data = firstUpSource.data.slice(0, startIndex).concat(result.data);\n }\n\n resultMetaRawOption = {\n seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,\n sourceHeader: startIndex,\n dimensions: firstUpSource.metaRawOption.dimensions\n };\n } else {\n resultMetaRawOption = {\n seriesLayoutBy: SERIES_LAYOUT_BY_COLUMN,\n sourceHeader: 0,\n dimensions: result.dimensions\n };\n }\n\n return createSource(result.data, resultMetaRawOption, null);\n });\n}\n\nfunction isSupportedSourceFormat(sourceFormat) {\n return sourceFormat === SOURCE_FORMAT_ARRAY_ROWS || sourceFormat === SOURCE_FORMAT_OBJECT_ROWS;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { assert, clone, createHashMap, isFunction, keys, map, reduce } from 'zrender/lib/core/util.js';\nimport { parseDataValue } from './helper/dataValueHelper.js';\nimport { shouldRetrieveDataByName } from './Source.js';\nvar UNDEFINED = 'undefined';\n/* global Float64Array, Int32Array, Uint32Array, Uint16Array */\n// Caution: MUST not use `new CtorUint32Array(arr, 0, len)`, because the Ctor of array is\n// different from the Ctor of typed array.\n\nexport var CtorUint32Array = typeof Uint32Array === UNDEFINED ? Array : Uint32Array;\nexport var CtorUint16Array = typeof Uint16Array === UNDEFINED ? Array : Uint16Array;\nexport var CtorInt32Array = typeof Int32Array === UNDEFINED ? Array : Int32Array;\nexport var CtorFloat64Array = typeof Float64Array === UNDEFINED ? Array : Float64Array;\n/**\r\n * Multi dimensional data store\r\n */\n\nvar dataCtors = {\n 'float': CtorFloat64Array,\n 'int': CtorInt32Array,\n // Ordinal data type can be string or int\n 'ordinal': Array,\n 'number': Array,\n 'time': CtorFloat64Array\n};\nvar defaultDimValueGetters;\n\nfunction getIndicesCtor(rawCount) {\n // The possible max value in this._indicies is always this._rawCount despite of filtering.\n return rawCount > 65535 ? CtorUint32Array : CtorUint16Array;\n}\n\n;\n\nfunction getInitialExtent() {\n return [Infinity, -Infinity];\n}\n\n;\n\nfunction cloneChunk(originalChunk) {\n var Ctor = originalChunk.constructor; // Only shallow clone is enough when Array.\n\n return Ctor === Array ? originalChunk.slice() : new Ctor(originalChunk);\n}\n\nfunction prepareStore(store, dimIdx, dimType, end, append) {\n var DataCtor = dataCtors[dimType || 'float'];\n\n if (append) {\n var oldStore = store[dimIdx];\n var oldLen = oldStore && oldStore.length;\n\n if (!(oldLen === end)) {\n var newStore = new DataCtor(end); // The cost of the copy is probably inconsiderable\n // within the initial chunkSize.\n\n for (var j = 0; j < oldLen; j++) {\n newStore[j] = oldStore[j];\n }\n\n store[dimIdx] = newStore;\n }\n } else {\n store[dimIdx] = new DataCtor(end);\n }\n}\n\n;\n/**\r\n * Basically, DataStore API keep immutable.\r\n */\n\nvar DataStore =\n/** @class */\nfunction () {\n function DataStore() {\n this._chunks = []; // It will not be calculated until needed.\n\n this._rawExtent = [];\n this._extent = [];\n this._count = 0;\n this._rawCount = 0;\n this._calcDimNameToIdx = createHashMap();\n }\n /**\r\n * Initialize from data\r\n */\n\n\n DataStore.prototype.initData = function (provider, inputDimensions, dimValueGetter) {\n if (process.env.NODE_ENV !== 'production') {\n assert(isFunction(provider.getItem) && isFunction(provider.count), 'Invalid data provider.');\n }\n\n this._provider = provider; // Clear\n\n this._chunks = [];\n this._indices = null;\n this.getRawIndex = this._getRawIdxIdentity;\n var source = provider.getSource();\n var defaultGetter = this.defaultDimValueGetter = defaultDimValueGetters[source.sourceFormat]; // Default dim value getter\n\n this._dimValueGetter = dimValueGetter || defaultGetter; // Reset raw extent.\n\n this._rawExtent = [];\n var willRetrieveDataByName = shouldRetrieveDataByName(source);\n this._dimensions = map(inputDimensions, function (dim) {\n if (process.env.NODE_ENV !== 'production') {\n if (willRetrieveDataByName) {\n assert(dim.property != null);\n }\n }\n\n return {\n // Only pick these two props. Not leak other properties like orderMeta.\n type: dim.type,\n property: dim.property\n };\n });\n\n this._initDataFromProvider(0, provider.count());\n };\n\n DataStore.prototype.getProvider = function () {\n return this._provider;\n };\n /**\r\n * Caution: even when a `source` instance owned by a series, the created data store\r\n * may still be shared by different sereis (the source hash does not use all `source`\r\n * props, see `sourceManager`). In this case, the `source` props that are not used in\r\n * hash (like `source.dimensionDefine`) probably only belongs to a certain series and\r\n * thus should not be fetch here.\r\n */\n\n\n DataStore.prototype.getSource = function () {\n return this._provider.getSource();\n };\n /**\r\n * @caution Only used in dataStack.\r\n */\n\n\n DataStore.prototype.ensureCalculationDimension = function (dimName, type) {\n var calcDimNameToIdx = this._calcDimNameToIdx;\n var dimensions = this._dimensions;\n var calcDimIdx = calcDimNameToIdx.get(dimName);\n\n if (calcDimIdx != null) {\n if (dimensions[calcDimIdx].type === type) {\n return calcDimIdx;\n }\n } else {\n calcDimIdx = dimensions.length;\n }\n\n dimensions[calcDimIdx] = {\n type: type\n };\n calcDimNameToIdx.set(dimName, calcDimIdx);\n this._chunks[calcDimIdx] = new dataCtors[type || 'float'](this._rawCount);\n this._rawExtent[calcDimIdx] = getInitialExtent();\n return calcDimIdx;\n };\n\n DataStore.prototype.collectOrdinalMeta = function (dimIdx, ordinalMeta) {\n var chunk = this._chunks[dimIdx];\n var dim = this._dimensions[dimIdx];\n var rawExtents = this._rawExtent;\n var offset = dim.ordinalOffset || 0;\n var len = chunk.length;\n\n if (offset === 0) {\n // We need to reset the rawExtent if collect is from start.\n // Because this dimension may be guessed as number and calcuating a wrong extent.\n rawExtents[dimIdx] = getInitialExtent();\n }\n\n var dimRawExtent = rawExtents[dimIdx]; // Parse from previous data offset. len may be changed after appendData\n\n for (var i = offset; i < len; i++) {\n var val = chunk[i] = ordinalMeta.parseAndCollect(chunk[i]);\n\n if (!isNaN(val)) {\n dimRawExtent[0] = Math.min(val, dimRawExtent[0]);\n dimRawExtent[1] = Math.max(val, dimRawExtent[1]);\n }\n }\n\n dim.ordinalMeta = ordinalMeta;\n dim.ordinalOffset = len;\n dim.type = 'ordinal'; // Force to be ordinal\n };\n\n DataStore.prototype.getOrdinalMeta = function (dimIdx) {\n var dimInfo = this._dimensions[dimIdx];\n var ordinalMeta = dimInfo.ordinalMeta;\n return ordinalMeta;\n };\n\n DataStore.prototype.getDimensionProperty = function (dimIndex) {\n var item = this._dimensions[dimIndex];\n return item && item.property;\n };\n /**\r\n * Caution: Can be only called on raw data (before `this._indices` created).\r\n */\n\n\n DataStore.prototype.appendData = function (data) {\n if (process.env.NODE_ENV !== 'production') {\n assert(!this._indices, 'appendData can only be called on raw data.');\n }\n\n var provider = this._provider;\n var start = this.count();\n provider.appendData(data);\n var end = provider.count();\n\n if (!provider.persistent) {\n end += start;\n }\n\n if (start < end) {\n this._initDataFromProvider(start, end, true);\n }\n\n return [start, end];\n };\n\n DataStore.prototype.appendValues = function (values, minFillLen) {\n var chunks = this._chunks;\n var dimensions = this._dimensions;\n var dimLen = dimensions.length;\n var rawExtent = this._rawExtent;\n var start = this.count();\n var end = start + Math.max(values.length, minFillLen || 0);\n\n for (var i = 0; i < dimLen; i++) {\n var dim = dimensions[i];\n prepareStore(chunks, i, dim.type, end, true);\n }\n\n var emptyDataItem = [];\n\n for (var idx = start; idx < end; idx++) {\n var sourceIdx = idx - start; // Store the data by dimensions\n\n for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {\n var dim = dimensions[dimIdx];\n var val = defaultDimValueGetters.arrayRows.call(this, values[sourceIdx] || emptyDataItem, dim.property, sourceIdx, dimIdx);\n chunks[dimIdx][idx] = val;\n var dimRawExtent = rawExtent[dimIdx];\n val < dimRawExtent[0] && (dimRawExtent[0] = val);\n val > dimRawExtent[1] && (dimRawExtent[1] = val);\n }\n }\n\n this._rawCount = this._count = end;\n return {\n start: start,\n end: end\n };\n };\n\n DataStore.prototype._initDataFromProvider = function (start, end, append) {\n var provider = this._provider;\n var chunks = this._chunks;\n var dimensions = this._dimensions;\n var dimLen = dimensions.length;\n var rawExtent = this._rawExtent;\n var dimNames = map(dimensions, function (dim) {\n return dim.property;\n });\n\n for (var i = 0; i < dimLen; i++) {\n var dim = dimensions[i];\n\n if (!rawExtent[i]) {\n rawExtent[i] = getInitialExtent();\n }\n\n prepareStore(chunks, i, dim.type, end, append);\n }\n\n if (provider.fillStorage) {\n provider.fillStorage(start, end, chunks, rawExtent);\n } else {\n var dataItem = [];\n\n for (var idx = start; idx < end; idx++) {\n // NOTICE: Try not to write things into dataItem\n dataItem = provider.getItem(idx, dataItem); // Each data item is value\n // [1, 2]\n // 2\n // Bar chart, line chart which uses category axis\n // only gives the 'y' value. 'x' value is the indices of category\n // Use a tempValue to normalize the value to be a (x, y) value\n // Store the data by dimensions\n\n for (var dimIdx = 0; dimIdx < dimLen; dimIdx++) {\n var dimStorage = chunks[dimIdx]; // PENDING NULL is empty or zero\n\n var val = this._dimValueGetter(dataItem, dimNames[dimIdx], idx, dimIdx);\n\n dimStorage[idx] = val;\n var dimRawExtent = rawExtent[dimIdx];\n val < dimRawExtent[0] && (dimRawExtent[0] = val);\n val > dimRawExtent[1] && (dimRawExtent[1] = val);\n }\n }\n }\n\n if (!provider.persistent && provider.clean) {\n // Clean unused data if data source is typed array.\n provider.clean();\n }\n\n this._rawCount = this._count = end; // Reset data extent\n\n this._extent = [];\n };\n\n DataStore.prototype.count = function () {\n return this._count;\n };\n /**\r\n * Get value. Return NaN if idx is out of range.\r\n */\n\n\n DataStore.prototype.get = function (dim, idx) {\n if (!(idx >= 0 && idx < this._count)) {\n return NaN;\n }\n\n var dimStore = this._chunks[dim];\n return dimStore ? dimStore[this.getRawIndex(idx)] : NaN;\n };\n\n DataStore.prototype.getValues = function (dimensions, idx) {\n var values = [];\n var dimArr = [];\n\n if (idx == null) {\n idx = dimensions; // TODO get all from store?\n\n dimensions = []; // All dimensions\n\n for (var i = 0; i < this._dimensions.length; i++) {\n dimArr.push(i);\n }\n } else {\n dimArr = dimensions;\n }\n\n for (var i = 0, len = dimArr.length; i < len; i++) {\n values.push(this.get(dimArr[i], idx));\n }\n\n return values;\n };\n /**\r\n * @param dim concrete dim\r\n */\n\n\n DataStore.prototype.getByRawIndex = function (dim, rawIdx) {\n if (!(rawIdx >= 0 && rawIdx < this._rawCount)) {\n return NaN;\n }\n\n var dimStore = this._chunks[dim];\n return dimStore ? dimStore[rawIdx] : NaN;\n };\n /**\r\n * Get sum of data in one dimension\r\n */\n\n\n DataStore.prototype.getSum = function (dim) {\n var dimData = this._chunks[dim];\n var sum = 0;\n\n if (dimData) {\n for (var i = 0, len = this.count(); i < len; i++) {\n var value = this.get(dim, i);\n\n if (!isNaN(value)) {\n sum += value;\n }\n }\n }\n\n return sum;\n };\n /**\r\n * Get median of data in one dimension\r\n */\n\n\n DataStore.prototype.getMedian = function (dim) {\n var dimDataArray = []; // map all data of one dimension\n\n this.each([dim], function (val) {\n if (!isNaN(val)) {\n dimDataArray.push(val);\n }\n }); // TODO\n // Use quick select?\n\n var sortedDimDataArray = dimDataArray.sort(function (a, b) {\n return a - b;\n });\n var len = this.count(); // calculate median\n\n return len === 0 ? 0 : len % 2 === 1 ? sortedDimDataArray[(len - 1) / 2] : (sortedDimDataArray[len / 2] + sortedDimDataArray[len / 2 - 1]) / 2;\n };\n /**\r\n * Retrieve the index with given raw data index.\r\n */\n\n\n DataStore.prototype.indexOfRawIndex = function (rawIndex) {\n if (rawIndex >= this._rawCount || rawIndex < 0) {\n return -1;\n }\n\n if (!this._indices) {\n return rawIndex;\n } // Indices are ascending\n\n\n var indices = this._indices; // If rawIndex === dataIndex\n\n var rawDataIndex = indices[rawIndex];\n\n if (rawDataIndex != null && rawDataIndex < this._count && rawDataIndex === rawIndex) {\n return rawIndex;\n }\n\n var left = 0;\n var right = this._count - 1;\n\n while (left <= right) {\n var mid = (left + right) / 2 | 0;\n\n if (indices[mid] < rawIndex) {\n left = mid + 1;\n } else if (indices[mid] > rawIndex) {\n right = mid - 1;\n } else {\n return mid;\n }\n }\n\n return -1;\n };\n /**\r\n * Retrieve the index of nearest value.\r\n * @param dim\r\n * @param value\r\n * @param [maxDistance=Infinity]\r\n * @return If and only if multiple indices have\r\n * the same value, they are put to the result.\r\n */\n\n\n DataStore.prototype.indicesOfNearest = function (dim, value, maxDistance) {\n var chunks = this._chunks;\n var dimData = chunks[dim];\n var nearestIndices = [];\n\n if (!dimData) {\n return nearestIndices;\n }\n\n if (maxDistance == null) {\n maxDistance = Infinity;\n }\n\n var minDist = Infinity;\n var minDiff = -1;\n var nearestIndicesLen = 0; // Check the test case of `test/ut/spec/data/SeriesData.js`.\n\n for (var i = 0, len = this.count(); i < len; i++) {\n var dataIndex = this.getRawIndex(i);\n var diff = value - dimData[dataIndex];\n var dist = Math.abs(diff);\n\n if (dist <= maxDistance) {\n // When the `value` is at the middle of `this.get(dim, i)` and `this.get(dim, i+1)`,\n // we'd better not push both of them to `nearestIndices`, otherwise it is easy to\n // get more than one item in `nearestIndices` (more specifically, in `tooltip`).\n // So we choose the one that `diff >= 0` in this case.\n // But if `this.get(dim, i)` and `this.get(dim, j)` get the same value, both of them\n // should be push to `nearestIndices`.\n if (dist < minDist || dist === minDist && diff >= 0 && minDiff < 0) {\n minDist = dist;\n minDiff = diff;\n nearestIndicesLen = 0;\n }\n\n if (diff === minDiff) {\n nearestIndices[nearestIndicesLen++] = i;\n }\n }\n }\n\n nearestIndices.length = nearestIndicesLen;\n return nearestIndices;\n };\n\n DataStore.prototype.getIndices = function () {\n var newIndices;\n var indices = this._indices;\n\n if (indices) {\n var Ctor = indices.constructor;\n var thisCount = this._count; // `new Array(a, b, c)` is different from `new Uint32Array(a, b, c)`.\n\n if (Ctor === Array) {\n newIndices = new Ctor(thisCount);\n\n for (var i = 0; i < thisCount; i++) {\n newIndices[i] = indices[i];\n }\n } else {\n newIndices = new Ctor(indices.buffer, 0, thisCount);\n }\n } else {\n var Ctor = getIndicesCtor(this._rawCount);\n newIndices = new Ctor(this.count());\n\n for (var i = 0; i < newIndices.length; i++) {\n newIndices[i] = i;\n }\n }\n\n return newIndices;\n };\n /**\r\n * Data filter.\r\n */\n\n\n DataStore.prototype.filter = function (dims, cb) {\n if (!this._count) {\n return this;\n }\n\n var newStore = this.clone();\n var count = newStore.count();\n var Ctor = getIndicesCtor(newStore._rawCount);\n var newIndices = new Ctor(count);\n var value = [];\n var dimSize = dims.length;\n var offset = 0;\n var dim0 = dims[0];\n var chunks = newStore._chunks;\n\n for (var i = 0; i < count; i++) {\n var keep = void 0;\n var rawIdx = newStore.getRawIndex(i); // Simple optimization\n\n if (dimSize === 0) {\n keep = cb(i);\n } else if (dimSize === 1) {\n var val = chunks[dim0][rawIdx];\n keep = cb(val, i);\n } else {\n var k = 0;\n\n for (; k < dimSize; k++) {\n value[k] = chunks[dims[k]][rawIdx];\n }\n\n value[k] = i;\n keep = cb.apply(null, value);\n }\n\n if (keep) {\n newIndices[offset++] = rawIdx;\n }\n } // Set indices after filtered.\n\n\n if (offset < count) {\n newStore._indices = newIndices;\n }\n\n newStore._count = offset; // Reset data extent\n\n newStore._extent = [];\n\n newStore._updateGetRawIdx();\n\n return newStore;\n };\n /**\r\n * Select data in range. (For optimization of filter)\r\n * (Manually inline code, support 5 million data filtering in data zoom.)\r\n */\n\n\n DataStore.prototype.selectRange = function (range) {\n var newStore = this.clone();\n var len = newStore._count;\n\n if (!len) {\n return this;\n }\n\n var dims = keys(range);\n var dimSize = dims.length;\n\n if (!dimSize) {\n return this;\n }\n\n var originalCount = newStore.count();\n var Ctor = getIndicesCtor(newStore._rawCount);\n var newIndices = new Ctor(originalCount);\n var offset = 0;\n var dim0 = dims[0];\n var min = range[dim0][0];\n var max = range[dim0][1];\n var storeArr = newStore._chunks;\n var quickFinished = false;\n\n if (!newStore._indices) {\n // Extreme optimization for common case. About 2x faster in chrome.\n var idx = 0;\n\n if (dimSize === 1) {\n var dimStorage = storeArr[dims[0]];\n\n for (var i = 0; i < len; i++) {\n var val = dimStorage[i]; // NaN will not be filtered. Consider the case, in line chart, empty\n // value indicates the line should be broken. But for the case like\n // scatter plot, a data item with empty value will not be rendered,\n // but the axis extent may be effected if some other dim of the data\n // item has value. Fortunately it is not a significant negative effect.\n\n if (val >= min && val <= max || isNaN(val)) {\n newIndices[offset++] = idx;\n }\n\n idx++;\n }\n\n quickFinished = true;\n } else if (dimSize === 2) {\n var dimStorage = storeArr[dims[0]];\n var dimStorage2 = storeArr[dims[1]];\n var min2 = range[dims[1]][0];\n var max2 = range[dims[1]][1];\n\n for (var i = 0; i < len; i++) {\n var val = dimStorage[i];\n var val2 = dimStorage2[i]; // Do not filter NaN, see comment above.\n\n if ((val >= min && val <= max || isNaN(val)) && (val2 >= min2 && val2 <= max2 || isNaN(val2))) {\n newIndices[offset++] = idx;\n }\n\n idx++;\n }\n\n quickFinished = true;\n }\n }\n\n if (!quickFinished) {\n if (dimSize === 1) {\n for (var i = 0; i < originalCount; i++) {\n var rawIndex = newStore.getRawIndex(i);\n var val = storeArr[dims[0]][rawIndex]; // Do not filter NaN, see comment above.\n\n if (val >= min && val <= max || isNaN(val)) {\n newIndices[offset++] = rawIndex;\n }\n }\n } else {\n for (var i = 0; i < originalCount; i++) {\n var keep = true;\n var rawIndex = newStore.getRawIndex(i);\n\n for (var k = 0; k < dimSize; k++) {\n var dimk = dims[k];\n var val = storeArr[dimk][rawIndex]; // Do not filter NaN, see comment above.\n\n if (val < range[dimk][0] || val > range[dimk][1]) {\n keep = false;\n }\n }\n\n if (keep) {\n newIndices[offset++] = newStore.getRawIndex(i);\n }\n }\n }\n } // Set indices after filtered.\n\n\n if (offset < originalCount) {\n newStore._indices = newIndices;\n }\n\n newStore._count = offset; // Reset data extent\n\n newStore._extent = [];\n\n newStore._updateGetRawIdx();\n\n return newStore;\n }; // /**\n // * Data mapping to a plain array\n // */\n // mapArray(dims: DimensionIndex[], cb: MapArrayCb): any[] {\n // const result: any[] = [];\n // this.each(dims, function () {\n // result.push(cb && (cb as MapArrayCb).apply(null, arguments));\n // });\n // return result;\n // }\n\n /**\r\n * Data mapping to a new List with given dimensions\r\n */\n\n\n DataStore.prototype.map = function (dims, cb) {\n // TODO only clone picked chunks.\n var target = this.clone(dims);\n\n this._updateDims(target, dims, cb);\n\n return target;\n };\n /**\r\n * @caution Danger!! Only used in dataStack.\r\n */\n\n\n DataStore.prototype.modify = function (dims, cb) {\n this._updateDims(this, dims, cb);\n };\n\n DataStore.prototype._updateDims = function (target, dims, cb) {\n var targetChunks = target._chunks;\n var tmpRetValue = [];\n var dimSize = dims.length;\n var dataCount = target.count();\n var values = [];\n var rawExtent = target._rawExtent;\n\n for (var i = 0; i < dims.length; i++) {\n rawExtent[dims[i]] = getInitialExtent();\n }\n\n for (var dataIndex = 0; dataIndex < dataCount; dataIndex++) {\n var rawIndex = target.getRawIndex(dataIndex);\n\n for (var k = 0; k < dimSize; k++) {\n values[k] = targetChunks[dims[k]][rawIndex];\n }\n\n values[dimSize] = dataIndex;\n var retValue = cb && cb.apply(null, values);\n\n if (retValue != null) {\n // a number or string (in oridinal dimension)?\n if (typeof retValue !== 'object') {\n tmpRetValue[0] = retValue;\n retValue = tmpRetValue;\n }\n\n for (var i = 0; i < retValue.length; i++) {\n var dim = dims[i];\n var val = retValue[i];\n var rawExtentOnDim = rawExtent[dim];\n var dimStore = targetChunks[dim];\n\n if (dimStore) {\n dimStore[rawIndex] = val;\n }\n\n if (val < rawExtentOnDim[0]) {\n rawExtentOnDim[0] = val;\n }\n\n if (val > rawExtentOnDim[1]) {\n rawExtentOnDim[1] = val;\n }\n }\n }\n }\n };\n /**\r\n * Large data down sampling using largest-triangle-three-buckets\r\n * @param {string} valueDimension\r\n * @param {number} targetCount\r\n */\n\n\n DataStore.prototype.lttbDownSample = function (valueDimension, rate) {\n var target = this.clone([valueDimension], true);\n var targetStorage = target._chunks;\n var dimStore = targetStorage[valueDimension];\n var len = this.count();\n var sampledIndex = 0;\n var frameSize = Math.floor(1 / rate);\n var currentRawIndex = this.getRawIndex(0);\n var maxArea;\n var area;\n var nextRawIndex;\n var newIndices = new (getIndicesCtor(this._rawCount))(Math.min((Math.ceil(len / frameSize) + 2) * 2, len)); // First frame use the first data.\n\n newIndices[sampledIndex++] = currentRawIndex;\n\n for (var i = 1; i < len - 1; i += frameSize) {\n var nextFrameStart = Math.min(i + frameSize, len - 1);\n var nextFrameEnd = Math.min(i + frameSize * 2, len);\n var avgX = (nextFrameEnd + nextFrameStart) / 2;\n var avgY = 0;\n\n for (var idx = nextFrameStart; idx < nextFrameEnd; idx++) {\n var rawIndex = this.getRawIndex(idx);\n var y = dimStore[rawIndex];\n\n if (isNaN(y)) {\n continue;\n }\n\n avgY += y;\n }\n\n avgY /= nextFrameEnd - nextFrameStart;\n var frameStart = i;\n var frameEnd = Math.min(i + frameSize, len);\n var pointAX = i - 1;\n var pointAY = dimStore[currentRawIndex];\n maxArea = -1;\n nextRawIndex = frameStart;\n var firstNaNIndex = -1;\n var countNaN = 0; // Find a point from current frame that construct a triangle with largest area with previous selected point\n // And the average of next frame.\n\n for (var idx = frameStart; idx < frameEnd; idx++) {\n var rawIndex = this.getRawIndex(idx);\n var y = dimStore[rawIndex];\n\n if (isNaN(y)) {\n countNaN++;\n\n if (firstNaNIndex < 0) {\n firstNaNIndex = rawIndex;\n }\n\n continue;\n } // Calculate triangle area over three buckets\n\n\n area = Math.abs((pointAX - avgX) * (y - pointAY) - (pointAX - idx) * (avgY - pointAY));\n\n if (area > maxArea) {\n maxArea = area;\n nextRawIndex = rawIndex; // Next a is this b\n }\n }\n\n if (countNaN > 0 && countNaN < frameEnd - frameStart) {\n // Append first NaN point in every bucket.\n // It is necessary to ensure the correct order of indices.\n newIndices[sampledIndex++] = Math.min(firstNaNIndex, nextRawIndex);\n nextRawIndex = Math.max(firstNaNIndex, nextRawIndex);\n }\n\n newIndices[sampledIndex++] = nextRawIndex;\n currentRawIndex = nextRawIndex; // This a is the next a (chosen b)\n } // First frame use the last data.\n\n\n newIndices[sampledIndex++] = this.getRawIndex(len - 1);\n target._count = sampledIndex;\n target._indices = newIndices;\n target.getRawIndex = this._getRawIdx;\n return target;\n };\n /**\r\n * Large data down sampling on given dimension\r\n * @param sampleIndex Sample index for name and id\r\n */\n\n\n DataStore.prototype.downSample = function (dimension, rate, sampleValue, sampleIndex) {\n var target = this.clone([dimension], true);\n var targetStorage = target._chunks;\n var frameValues = [];\n var frameSize = Math.floor(1 / rate);\n var dimStore = targetStorage[dimension];\n var len = this.count();\n var rawExtentOnDim = target._rawExtent[dimension] = getInitialExtent();\n var newIndices = new (getIndicesCtor(this._rawCount))(Math.ceil(len / frameSize));\n var offset = 0;\n\n for (var i = 0; i < len; i += frameSize) {\n // Last frame\n if (frameSize > len - i) {\n frameSize = len - i;\n frameValues.length = frameSize;\n }\n\n for (var k = 0; k < frameSize; k++) {\n var dataIdx = this.getRawIndex(i + k);\n frameValues[k] = dimStore[dataIdx];\n }\n\n var value = sampleValue(frameValues);\n var sampleFrameIdx = this.getRawIndex(Math.min(i + sampleIndex(frameValues, value) || 0, len - 1)); // Only write value on the filtered data\n\n dimStore[sampleFrameIdx] = value;\n\n if (value < rawExtentOnDim[0]) {\n rawExtentOnDim[0] = value;\n }\n\n if (value > rawExtentOnDim[1]) {\n rawExtentOnDim[1] = value;\n }\n\n newIndices[offset++] = sampleFrameIdx;\n }\n\n target._count = offset;\n target._indices = newIndices;\n\n target._updateGetRawIdx();\n\n return target;\n };\n /**\r\n * Data iteration\r\n * @param ctx default this\r\n * @example\r\n * list.each('x', function (x, idx) {});\r\n * list.each(['x', 'y'], function (x, y, idx) {});\r\n * list.each(function (idx) {})\r\n */\n\n\n DataStore.prototype.each = function (dims, cb) {\n if (!this._count) {\n return;\n }\n\n var dimSize = dims.length;\n var chunks = this._chunks;\n\n for (var i = 0, len = this.count(); i < len; i++) {\n var rawIdx = this.getRawIndex(i); // Simple optimization\n\n switch (dimSize) {\n case 0:\n cb(i);\n break;\n\n case 1:\n cb(chunks[dims[0]][rawIdx], i);\n break;\n\n case 2:\n cb(chunks[dims[0]][rawIdx], chunks[dims[1]][rawIdx], i);\n break;\n\n default:\n var k = 0;\n var value = [];\n\n for (; k < dimSize; k++) {\n value[k] = chunks[dims[k]][rawIdx];\n } // Index\n\n\n value[k] = i;\n cb.apply(null, value);\n }\n }\n };\n /**\r\n * Get extent of data in one dimension\r\n */\n\n\n DataStore.prototype.getDataExtent = function (dim) {\n // Make sure use concrete dim as cache name.\n var dimData = this._chunks[dim];\n var initialExtent = getInitialExtent();\n\n if (!dimData) {\n return initialExtent;\n } // Make more strict checkings to ensure hitting cache.\n\n\n var currEnd = this.count(); // Consider the most cases when using data zoom, `getDataExtent`\n // happened before filtering. We cache raw extent, which is not\n // necessary to be cleared and recalculated when restore data.\n\n var useRaw = !this._indices;\n var dimExtent;\n\n if (useRaw) {\n return this._rawExtent[dim].slice();\n }\n\n dimExtent = this._extent[dim];\n\n if (dimExtent) {\n return dimExtent.slice();\n }\n\n dimExtent = initialExtent;\n var min = dimExtent[0];\n var max = dimExtent[1];\n\n for (var i = 0; i < currEnd; i++) {\n var rawIdx = this.getRawIndex(i);\n var value = dimData[rawIdx];\n value < min && (min = value);\n value > max && (max = value);\n }\n\n dimExtent = [min, max];\n this._extent[dim] = dimExtent;\n return dimExtent;\n };\n /**\r\n * Get raw data item\r\n */\n\n\n DataStore.prototype.getRawDataItem = function (idx) {\n var rawIdx = this.getRawIndex(idx);\n\n if (!this._provider.persistent) {\n var val = [];\n var chunks = this._chunks;\n\n for (var i = 0; i < chunks.length; i++) {\n val.push(chunks[i][rawIdx]);\n }\n\n return val;\n } else {\n return this._provider.getItem(rawIdx);\n }\n };\n /**\r\n * Clone shallow.\r\n *\r\n * @param clonedDims Determine which dims to clone. Will share the data if not specified.\r\n */\n\n\n DataStore.prototype.clone = function (clonedDims, ignoreIndices) {\n var target = new DataStore();\n var chunks = this._chunks;\n var clonedDimsMap = clonedDims && reduce(clonedDims, function (obj, dimIdx) {\n obj[dimIdx] = true;\n return obj;\n }, {});\n\n if (clonedDimsMap) {\n for (var i = 0; i < chunks.length; i++) {\n // Not clone if dim is not picked.\n target._chunks[i] = !clonedDimsMap[i] ? chunks[i] : cloneChunk(chunks[i]);\n }\n } else {\n target._chunks = chunks;\n }\n\n this._copyCommonProps(target);\n\n if (!ignoreIndices) {\n target._indices = this._cloneIndices();\n }\n\n target._updateGetRawIdx();\n\n return target;\n };\n\n DataStore.prototype._copyCommonProps = function (target) {\n target._count = this._count;\n target._rawCount = this._rawCount;\n target._provider = this._provider;\n target._dimensions = this._dimensions;\n target._extent = clone(this._extent);\n target._rawExtent = clone(this._rawExtent);\n };\n\n DataStore.prototype._cloneIndices = function () {\n if (this._indices) {\n var Ctor = this._indices.constructor;\n var indices = void 0;\n\n if (Ctor === Array) {\n var thisCount = this._indices.length;\n indices = new Ctor(thisCount);\n\n for (var i = 0; i < thisCount; i++) {\n indices[i] = this._indices[i];\n }\n } else {\n indices = new Ctor(this._indices);\n }\n\n return indices;\n }\n\n return null;\n };\n\n DataStore.prototype._getRawIdxIdentity = function (idx) {\n return idx;\n };\n\n DataStore.prototype._getRawIdx = function (idx) {\n if (idx < this._count && idx >= 0) {\n return this._indices[idx];\n }\n\n return -1;\n };\n\n DataStore.prototype._updateGetRawIdx = function () {\n this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity;\n };\n\n DataStore.internalField = function () {\n function getDimValueSimply(dataItem, property, dataIndex, dimIndex) {\n return parseDataValue(dataItem[dimIndex], this._dimensions[dimIndex]);\n }\n\n defaultDimValueGetters = {\n arrayRows: getDimValueSimply,\n objectRows: function (dataItem, property, dataIndex, dimIndex) {\n return parseDataValue(dataItem[property], this._dimensions[dimIndex]);\n },\n keyedColumns: getDimValueSimply,\n original: function (dataItem, property, dataIndex, dimIndex) {\n // Performance sensitive, do not use modelUtil.getDataItemValue.\n // If dataItem is an plain object with no value field, the let `value`\n // will be assigned with the object, but it will be tread correctly\n // in the `convertValue`.\n var value = dataItem && (dataItem.value == null ? dataItem : dataItem.value);\n return parseDataValue(value instanceof Array ? value[dimIndex] // If value is a single number or something else not array.\n : value, this._dimensions[dimIndex]);\n },\n typedArray: function (dataItem, property, dataIndex, dimIndex) {\n return dataItem[dimIndex];\n }\n };\n }();\n\n return DataStore;\n}();\n\nexport default DataStore;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { setAsPrimitive, map, isTypedArray, assert, each, retrieve2 } from 'zrender/lib/core/util.js';\nimport { createSource, cloneSourceShallow } from '../Source.js';\nimport { SOURCE_FORMAT_TYPED_ARRAY, SOURCE_FORMAT_ORIGINAL } from '../../util/types.js';\nimport { querySeriesUpstreamDatasetModel, queryDatasetUpstreamDatasetModels } from './sourceHelper.js';\nimport { applyDataTransform } from './transform.js';\nimport DataStore from '../DataStore.js';\nimport { DefaultDataProvider } from './dataProvider.js';\n/**\r\n * [REQUIREMENT_MEMO]:\r\n * (0) `metaRawOption` means `dimensions`/`sourceHeader`/`seriesLayoutBy` in raw option.\r\n * (1) Keep support the feature: `metaRawOption` can be specified both on `series` and\r\n * `root-dataset`. Them on `series` has higher priority.\r\n * (2) Do not support to set `metaRawOption` on a `non-root-dataset`, because it might\r\n * confuse users: whether those props indicate how to visit the upstream source or visit\r\n * the transform result source, and some transforms has nothing to do with these props,\r\n * and some transforms might have multiple upstream.\r\n * (3) Transforms should specify `metaRawOption` in each output, just like they can be\r\n * declared in `root-dataset`.\r\n * (4) At present only support visit source in `SERIES_LAYOUT_BY_COLUMN` in transforms.\r\n * That is for reducing complexity in transforms.\r\n * PENDING: Whether to provide transposition transform?\r\n *\r\n * [IMPLEMENTAION_MEMO]:\r\n * \"sourceVisitConfig\" are calculated from `metaRawOption` and `data`.\r\n * They will not be calculated until `source` is about to be visited (to prevent from\r\n * duplicate calcuation). `source` is visited only in series and input to transforms.\r\n *\r\n * [DIMENSION_INHERIT_RULE]:\r\n * By default the dimensions are inherited from ancestors, unless a transform return\r\n * a new dimensions definition.\r\n * Consider the case:\r\n * ```js\r\n * dataset: [{\r\n * source: [ ['Product', 'Sales', 'Prise'], ['Cookies', 321, 44.21], ...]\r\n * }, {\r\n * transform: { type: 'filter', ... }\r\n * }]\r\n * dataset: [{\r\n * dimension: ['Product', 'Sales', 'Prise'],\r\n * source: [ ['Cookies', 321, 44.21], ...]\r\n * }, {\r\n * transform: { type: 'filter', ... }\r\n * }]\r\n * ```\r\n * The two types of option should have the same behavior after transform.\r\n *\r\n *\r\n * [SCENARIO]:\r\n * (1) Provide source data directly:\r\n * ```js\r\n * series: {\r\n * encode: {...},\r\n * dimensions: [...]\r\n * seriesLayoutBy: 'row',\r\n * data: [[...]]\r\n * }\r\n * ```\r\n * (2) Series refer to dataset.\r\n * ```js\r\n * series: [{\r\n * encode: {...}\r\n * // Ignore datasetIndex means `datasetIndex: 0`\r\n * // and the dimensions defination in dataset is used\r\n * }, {\r\n * encode: {...},\r\n * seriesLayoutBy: 'column',\r\n * datasetIndex: 1\r\n * }]\r\n * ```\r\n * (3) dataset transform\r\n * ```js\r\n * dataset: [{\r\n * source: [...]\r\n * }, {\r\n * source: [...]\r\n * }, {\r\n * // By default from 0.\r\n * transform: { type: 'filter', config: {...} }\r\n * }, {\r\n * // Piped.\r\n * transform: [\r\n * { type: 'filter', config: {...} },\r\n * { type: 'sort', config: {...} }\r\n * ]\r\n * }, {\r\n * id: 'regressionData',\r\n * fromDatasetIndex: 1,\r\n * // Third-party transform\r\n * transform: { type: 'ecStat:regression', config: {...} }\r\n * }, {\r\n * // retrieve the extra result.\r\n * id: 'regressionFormula',\r\n * fromDatasetId: 'regressionData',\r\n * fromTransformResult: 1\r\n * }]\r\n * ```\r\n */\n\nvar SourceManager =\n/** @class */\nfunction () {\n function SourceManager(sourceHost) {\n // Cached source. Do not repeat calculating if not dirty.\n this._sourceList = [];\n this._storeList = []; // version sign of each upstream source manager.\n\n this._upstreamSignList = [];\n this._versionSignBase = 0;\n this._dirty = true;\n this._sourceHost = sourceHost;\n }\n /**\r\n * Mark dirty.\r\n */\n\n\n SourceManager.prototype.dirty = function () {\n this._setLocalSource([], []);\n\n this._storeList = [];\n this._dirty = true;\n };\n\n SourceManager.prototype._setLocalSource = function (sourceList, upstreamSignList) {\n this._sourceList = sourceList;\n this._upstreamSignList = upstreamSignList;\n this._versionSignBase++;\n\n if (this._versionSignBase > 9e10) {\n this._versionSignBase = 0;\n }\n };\n /**\r\n * For detecting whether the upstream source is dirty, so that\r\n * the local cached source (in `_sourceList`) should be discarded.\r\n */\n\n\n SourceManager.prototype._getVersionSign = function () {\n return this._sourceHost.uid + '_' + this._versionSignBase;\n };\n /**\r\n * Always return a source instance. Otherwise throw error.\r\n */\n\n\n SourceManager.prototype.prepareSource = function () {\n // For the case that call `setOption` multiple time but no data changed,\n // cache the result source to prevent from repeating transform.\n if (this._isDirty()) {\n this._createSource();\n\n this._dirty = false;\n }\n };\n\n SourceManager.prototype._createSource = function () {\n this._setLocalSource([], []);\n\n var sourceHost = this._sourceHost;\n\n var upSourceMgrList = this._getUpstreamSourceManagers();\n\n var hasUpstream = !!upSourceMgrList.length;\n var resultSourceList;\n var upstreamSignList;\n\n if (isSeries(sourceHost)) {\n var seriesModel = sourceHost;\n var data = void 0;\n var sourceFormat = void 0;\n var upSource = void 0; // Has upstream dataset\n\n if (hasUpstream) {\n var upSourceMgr = upSourceMgrList[0];\n upSourceMgr.prepareSource();\n upSource = upSourceMgr.getSource();\n data = upSource.data;\n sourceFormat = upSource.sourceFormat;\n upstreamSignList = [upSourceMgr._getVersionSign()];\n } // Series data is from own.\n else {\n data = seriesModel.get('data', true);\n sourceFormat = isTypedArray(data) ? SOURCE_FORMAT_TYPED_ARRAY : SOURCE_FORMAT_ORIGINAL;\n upstreamSignList = [];\n } // See [REQUIREMENT_MEMO], merge settings on series and parent dataset if it is root.\n\n\n var newMetaRawOption = this._getSourceMetaRawOption() || {};\n var upMetaRawOption = upSource && upSource.metaRawOption || {};\n var seriesLayoutBy = retrieve2(newMetaRawOption.seriesLayoutBy, upMetaRawOption.seriesLayoutBy) || null;\n var sourceHeader = retrieve2(newMetaRawOption.sourceHeader, upMetaRawOption.sourceHeader); // Note here we should not use `upSource.dimensionsDefine`. Consider the case:\n // `upSource.dimensionsDefine` is detected by `seriesLayoutBy: 'column'`,\n // but series need `seriesLayoutBy: 'row'`.\n\n var dimensions = retrieve2(newMetaRawOption.dimensions, upMetaRawOption.dimensions); // We share source with dataset as much as possible\n // to avoid extra memory cost of high dimensional data.\n\n var needsCreateSource = seriesLayoutBy !== upMetaRawOption.seriesLayoutBy || !!sourceHeader !== !!upMetaRawOption.sourceHeader || dimensions;\n resultSourceList = needsCreateSource ? [createSource(data, {\n seriesLayoutBy: seriesLayoutBy,\n sourceHeader: sourceHeader,\n dimensions: dimensions\n }, sourceFormat)] : [];\n } else {\n var datasetModel = sourceHost; // Has upstream dataset.\n\n if (hasUpstream) {\n var result = this._applyTransform(upSourceMgrList);\n\n resultSourceList = result.sourceList;\n upstreamSignList = result.upstreamSignList;\n } // Is root dataset.\n else {\n var sourceData = datasetModel.get('source', true);\n resultSourceList = [createSource(sourceData, this._getSourceMetaRawOption(), null)];\n upstreamSignList = [];\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n assert(resultSourceList && upstreamSignList);\n }\n\n this._setLocalSource(resultSourceList, upstreamSignList);\n };\n\n SourceManager.prototype._applyTransform = function (upMgrList) {\n var datasetModel = this._sourceHost;\n var transformOption = datasetModel.get('transform', true);\n var fromTransformResult = datasetModel.get('fromTransformResult', true);\n\n if (process.env.NODE_ENV !== 'production') {\n assert(fromTransformResult != null || transformOption != null);\n }\n\n if (fromTransformResult != null) {\n var errMsg = '';\n\n if (upMgrList.length !== 1) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'When using `fromTransformResult`, there should be only one upstream dataset';\n }\n\n doThrow(errMsg);\n }\n }\n\n var sourceList;\n var upSourceList = [];\n var upstreamSignList = [];\n each(upMgrList, function (upMgr) {\n upMgr.prepareSource();\n var upSource = upMgr.getSource(fromTransformResult || 0);\n var errMsg = '';\n\n if (fromTransformResult != null && !upSource) {\n if (process.env.NODE_ENV !== 'production') {\n errMsg = 'Can not retrieve result by `fromTransformResult`: ' + fromTransformResult;\n }\n\n doThrow(errMsg);\n }\n\n upSourceList.push(upSource);\n upstreamSignList.push(upMgr._getVersionSign());\n });\n\n if (transformOption) {\n sourceList = applyDataTransform(transformOption, upSourceList, {\n datasetIndex: datasetModel.componentIndex\n });\n } else if (fromTransformResult != null) {\n sourceList = [cloneSourceShallow(upSourceList[0])];\n }\n\n return {\n sourceList: sourceList,\n upstreamSignList: upstreamSignList\n };\n };\n\n SourceManager.prototype._isDirty = function () {\n if (this._dirty) {\n return true;\n } // All sourceList is from the some upstream.\n\n\n var upSourceMgrList = this._getUpstreamSourceManagers();\n\n for (var i = 0; i < upSourceMgrList.length; i++) {\n var upSrcMgr = upSourceMgrList[i];\n\n if ( // Consider the case that there is ancestor diry, call it recursively.\n // The performance is probably not an issue because usually the chain is not long.\n upSrcMgr._isDirty() || this._upstreamSignList[i] !== upSrcMgr._getVersionSign()) {\n return true;\n }\n }\n };\n /**\r\n * @param sourceIndex By default 0, means \"main source\".\r\n * In most cases there is only one source.\r\n */\n\n\n SourceManager.prototype.getSource = function (sourceIndex) {\n sourceIndex = sourceIndex || 0;\n var source = this._sourceList[sourceIndex];\n\n if (!source) {\n // Series may share source instance with dataset.\n var upSourceMgrList = this._getUpstreamSourceManagers();\n\n return upSourceMgrList[0] && upSourceMgrList[0].getSource(sourceIndex);\n }\n\n return source;\n };\n /**\r\n *\r\n * Get a data store which can be shared across series.\r\n * Only available for series.\r\n *\r\n * @param seriesDimRequest Dimensions that are generated in series.\r\n * Should have been sorted by `storeDimIndex` asc.\r\n */\n\n\n SourceManager.prototype.getSharedDataStore = function (seriesDimRequest) {\n if (process.env.NODE_ENV !== 'production') {\n assert(isSeries(this._sourceHost), 'Can only call getDataStore on series source manager.');\n }\n\n var schema = seriesDimRequest.makeStoreSchema();\n return this._innerGetDataStore(schema.dimensions, seriesDimRequest.source, schema.hash);\n };\n\n SourceManager.prototype._innerGetDataStore = function (storeDims, seriesSource, sourceReadKey) {\n // TODO Can use other sourceIndex?\n var sourceIndex = 0;\n var storeList = this._storeList;\n var cachedStoreMap = storeList[sourceIndex];\n\n if (!cachedStoreMap) {\n cachedStoreMap = storeList[sourceIndex] = {};\n }\n\n var cachedStore = cachedStoreMap[sourceReadKey];\n\n if (!cachedStore) {\n var upSourceMgr = this._getUpstreamSourceManagers()[0];\n\n if (isSeries(this._sourceHost) && upSourceMgr) {\n cachedStore = upSourceMgr._innerGetDataStore(storeDims, seriesSource, sourceReadKey);\n } else {\n cachedStore = new DataStore(); // Always create store from source of series.\n\n cachedStore.initData(new DefaultDataProvider(seriesSource, storeDims.length), storeDims);\n }\n\n cachedStoreMap[sourceReadKey] = cachedStore;\n }\n\n return cachedStore;\n };\n /**\r\n * PENDING: Is it fast enough?\r\n * If no upstream, return empty array.\r\n */\n\n\n SourceManager.prototype._getUpstreamSourceManagers = function () {\n // Always get the relationship from the raw option.\n // Do not cache the link of the dependency graph, so that\n // there is no need to update them when change happens.\n var sourceHost = this._sourceHost;\n\n if (isSeries(sourceHost)) {\n var datasetModel = querySeriesUpstreamDatasetModel(sourceHost);\n return !datasetModel ? [] : [datasetModel.getSourceManager()];\n } else {\n return map(queryDatasetUpstreamDatasetModels(sourceHost), function (datasetModel) {\n return datasetModel.getSourceManager();\n });\n }\n };\n\n SourceManager.prototype._getSourceMetaRawOption = function () {\n var sourceHost = this._sourceHost;\n var seriesLayoutBy;\n var sourceHeader;\n var dimensions;\n\n if (isSeries(sourceHost)) {\n seriesLayoutBy = sourceHost.get('seriesLayoutBy', true);\n sourceHeader = sourceHost.get('sourceHeader', true);\n dimensions = sourceHost.get('dimensions', true);\n } // See [REQUIREMENT_MEMO], `non-root-dataset` do not support them.\n else if (!this._getUpstreamSourceManagers().length) {\n var model = sourceHost;\n seriesLayoutBy = model.get('seriesLayoutBy', true);\n sourceHeader = model.get('sourceHeader', true);\n dimensions = model.get('dimensions', true);\n }\n\n return {\n seriesLayoutBy: seriesLayoutBy,\n sourceHeader: sourceHeader,\n dimensions: dimensions\n };\n };\n\n return SourceManager;\n}();\n\nexport { SourceManager }; // Call this method after `super.init` and `super.mergeOption` to\n// disable the transform merge, but do not disable transform clone from rawOption.\n\nexport function disableTransformOptionMerge(datasetModel) {\n var transformOption = datasetModel.option.transform;\n transformOption && setAsPrimitive(datasetModel.option.transform);\n}\n\nfunction isSeries(sourceHost) {\n // Avoid circular dependency with Series.ts\n return sourceHost.mainType === 'series';\n}\n\nfunction doThrow(errMsg) {\n throw new Error(errMsg);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { getTooltipMarker, encodeHTML, makeValueReadable, convertToColorString } from '../../util/format.js';\nimport { isString, each, hasOwn, isArray, map, assert, extend } from 'zrender/lib/core/util.js';\nimport { SortOrderComparator } from '../../data/helper/dataValueHelper.js';\nimport { getRandomIdBase } from '../../util/number.js';\nvar TOOLTIP_LINE_HEIGHT_CSS = 'line-height:1'; // TODO: more textStyle option\n\nfunction getTooltipTextStyle(textStyle, renderMode) {\n var nameFontColor = textStyle.color || '#6e7079';\n var nameFontSize = textStyle.fontSize || 12;\n var nameFontWeight = textStyle.fontWeight || '400';\n var valueFontColor = textStyle.color || '#464646';\n var valueFontSize = textStyle.fontSize || 14;\n var valueFontWeight = textStyle.fontWeight || '900';\n\n if (renderMode === 'html') {\n // `textStyle` is probably from user input, should be encoded to reduce security risk.\n return {\n // eslint-disable-next-line max-len\n nameStyle: \"font-size:\" + encodeHTML(nameFontSize + '') + \"px;color:\" + encodeHTML(nameFontColor) + \";font-weight:\" + encodeHTML(nameFontWeight + ''),\n // eslint-disable-next-line max-len\n valueStyle: \"font-size:\" + encodeHTML(valueFontSize + '') + \"px;color:\" + encodeHTML(valueFontColor) + \";font-weight:\" + encodeHTML(valueFontWeight + '')\n };\n } else {\n return {\n nameStyle: {\n fontSize: nameFontSize,\n fill: nameFontColor,\n fontWeight: nameFontWeight\n },\n valueStyle: {\n fontSize: valueFontSize,\n fill: valueFontColor,\n fontWeight: valueFontWeight\n }\n };\n }\n} // See `TooltipMarkupLayoutIntent['innerGapLevel']`.\n// (value from UI design)\n\n\nvar HTML_GAPS = [0, 10, 20, 30];\nvar RICH_TEXT_GAPS = ['', '\\n', '\\n\\n', '\\n\\n\\n']; // eslint-disable-next-line max-len\n\nexport function createTooltipMarkup(type, option) {\n option.type = type;\n return option;\n}\n\nfunction isSectionFragment(frag) {\n return frag.type === 'section';\n}\n\nfunction getBuilder(frag) {\n return isSectionFragment(frag) ? buildSection : buildNameValue;\n}\n\nfunction getBlockGapLevel(frag) {\n if (isSectionFragment(frag)) {\n var gapLevel_1 = 0;\n var subBlockLen = frag.blocks.length;\n var hasInnerGap_1 = subBlockLen > 1 || subBlockLen > 0 && !frag.noHeader;\n each(frag.blocks, function (subBlock) {\n var subGapLevel = getBlockGapLevel(subBlock); // If the some of the sub-blocks have some gaps (like 10px) inside, this block\n // should use a larger gap (like 20px) to distinguish those sub-blocks.\n\n if (subGapLevel >= gapLevel_1) {\n gapLevel_1 = subGapLevel + +(hasInnerGap_1 && ( // 0 always can not be readable gap level.\n !subGapLevel // If no header, always keep the sub gap level. Otherwise\n // look weird in case `multipleSeries`.\n || isSectionFragment(subBlock) && !subBlock.noHeader));\n }\n });\n return gapLevel_1;\n }\n\n return 0;\n}\n\nfunction buildSection(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {\n var noHeader = fragment.noHeader;\n var gaps = getGap(getBlockGapLevel(fragment));\n var subMarkupTextList = [];\n var subBlocks = fragment.blocks || [];\n assert(!subBlocks || isArray(subBlocks));\n subBlocks = subBlocks || [];\n var orderMode = ctx.orderMode;\n\n if (fragment.sortBlocks && orderMode) {\n subBlocks = subBlocks.slice();\n var orderMap = {\n valueAsc: 'asc',\n valueDesc: 'desc'\n };\n\n if (hasOwn(orderMap, orderMode)) {\n var comparator_1 = new SortOrderComparator(orderMap[orderMode], null);\n subBlocks.sort(function (a, b) {\n return comparator_1.evaluate(a.sortParam, b.sortParam);\n });\n } // FIXME 'seriesDesc' necessary?\n else if (orderMode === 'seriesDesc') {\n subBlocks.reverse();\n }\n }\n\n each(subBlocks, function (subBlock, idx) {\n var valueFormatter = fragment.valueFormatter;\n var subMarkupText = getBuilder(subBlock)( // Inherit valueFormatter\n valueFormatter ? extend(extend({}, ctx), {\n valueFormatter: valueFormatter\n }) : ctx, subBlock, idx > 0 ? gaps.html : 0, toolTipTextStyle);\n subMarkupText != null && subMarkupTextList.push(subMarkupText);\n });\n var subMarkupText = ctx.renderMode === 'richText' ? subMarkupTextList.join(gaps.richText) : wrapBlockHTML(subMarkupTextList.join(''), noHeader ? topMarginForOuterGap : gaps.html);\n\n if (noHeader) {\n return subMarkupText;\n }\n\n var displayableHeader = makeValueReadable(fragment.header, 'ordinal', ctx.useUTC);\n var nameStyle = getTooltipTextStyle(toolTipTextStyle, ctx.renderMode).nameStyle;\n\n if (ctx.renderMode === 'richText') {\n return wrapInlineNameRichText(ctx, displayableHeader, nameStyle) + gaps.richText + subMarkupText;\n } else {\n return wrapBlockHTML(\"
\" + encodeHTML(displayableHeader) + '
' + subMarkupText, topMarginForOuterGap);\n }\n}\n\nfunction buildNameValue(ctx, fragment, topMarginForOuterGap, toolTipTextStyle) {\n var renderMode = ctx.renderMode;\n var noName = fragment.noName;\n var noValue = fragment.noValue;\n var noMarker = !fragment.markerType;\n var name = fragment.name;\n var useUTC = ctx.useUTC;\n\n var valueFormatter = fragment.valueFormatter || ctx.valueFormatter || function (value) {\n value = isArray(value) ? value : [value];\n return map(value, function (val, idx) {\n return makeValueReadable(val, isArray(valueTypeOption) ? valueTypeOption[idx] : valueTypeOption, useUTC);\n });\n };\n\n if (noName && noValue) {\n return;\n }\n\n var markerStr = noMarker ? '' : ctx.markupStyleCreator.makeTooltipMarker(fragment.markerType, fragment.markerColor || '#333', renderMode);\n var readableName = noName ? '' : makeValueReadable(name, 'ordinal', useUTC);\n var valueTypeOption = fragment.valueType;\n var readableValueList = noValue ? [] : valueFormatter(fragment.value);\n var valueAlignRight = !noMarker || !noName; // It little weird if only value next to marker but far from marker.\n\n var valueCloseToMarker = !noMarker && noName;\n\n var _a = getTooltipTextStyle(toolTipTextStyle, renderMode),\n nameStyle = _a.nameStyle,\n valueStyle = _a.valueStyle;\n\n return renderMode === 'richText' ? (noMarker ? '' : markerStr) + (noName ? '' : wrapInlineNameRichText(ctx, readableName, nameStyle)) // Value has commas inside, so use ' ' as delimiter for multiple values.\n + (noValue ? '' : wrapInlineValueRichText(ctx, readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)) : wrapBlockHTML((noMarker ? '' : markerStr) + (noName ? '' : wrapInlineNameHTML(readableName, !noMarker, nameStyle)) + (noValue ? '' : wrapInlineValueHTML(readableValueList, valueAlignRight, valueCloseToMarker, valueStyle)), topMarginForOuterGap);\n}\n/**\r\n * @return markupText. null/undefined means no content.\r\n */\n\n\nexport function buildTooltipMarkup(fragment, markupStyleCreator, renderMode, orderMode, useUTC, toolTipTextStyle) {\n if (!fragment) {\n return;\n }\n\n var builder = getBuilder(fragment);\n var ctx = {\n useUTC: useUTC,\n renderMode: renderMode,\n orderMode: orderMode,\n markupStyleCreator: markupStyleCreator,\n valueFormatter: fragment.valueFormatter\n };\n return builder(ctx, fragment, 0, toolTipTextStyle);\n}\n\nfunction getGap(gapLevel) {\n return {\n html: HTML_GAPS[gapLevel],\n richText: RICH_TEXT_GAPS[gapLevel]\n };\n}\n\nfunction wrapBlockHTML(encodedContent, topGap) {\n var clearfix = '
';\n var marginCSS = \"margin: \" + topGap + \"px 0 0\";\n return \"
\" + encodedContent + clearfix + '
';\n}\n\nfunction wrapInlineNameHTML(name, leftHasMarker, style) {\n var marginCss = leftHasMarker ? 'margin-left:2px' : '';\n return \"\" + encodeHTML(name) + '';\n}\n\nfunction wrapInlineValueHTML(valueList, alignRight, valueCloseToMarker, style) {\n // Do not too close to marker, considering there are multiple values separated by spaces.\n var paddingStr = valueCloseToMarker ? '10px' : '20px';\n var alignCSS = alignRight ? \"float:right;margin-left:\" + paddingStr : '';\n valueList = isArray(valueList) ? valueList : [valueList];\n return \"\" // Value has commas inside, so use ' ' as delimiter for multiple values.\n + map(valueList, function (value) {\n return encodeHTML(value);\n }).join('  ') + '';\n}\n\nfunction wrapInlineNameRichText(ctx, name, style) {\n return ctx.markupStyleCreator.wrapRichTextStyle(name, style);\n}\n\nfunction wrapInlineValueRichText(ctx, values, alignRight, valueCloseToMarker, style) {\n var styles = [style];\n var paddingLeft = valueCloseToMarker ? 10 : 20;\n alignRight && styles.push({\n padding: [0, 0, 0, paddingLeft],\n align: 'right'\n }); // Value has commas inside, so use ' ' as delimiter for multiple values.\n\n return ctx.markupStyleCreator.wrapRichTextStyle(isArray(values) ? values.join(' ') : values, styles);\n}\n\nexport function retrieveVisualColorForTooltipMarker(series, dataIndex) {\n var style = series.getData().getItemVisual(dataIndex, 'style');\n var color = style[series.visualDrawType];\n return convertToColorString(color);\n}\nexport function getPaddingFromTooltipModel(model, renderMode) {\n var padding = model.get('padding');\n return padding != null ? padding // We give slightly different to look pretty.\n : renderMode === 'richText' ? [8, 10] : 10;\n}\n/**\r\n * The major feature is generate styles for `renderMode: 'richText'`.\r\n * But it also serves `renderMode: 'html'` to provide\r\n * \"renderMode-independent\" API.\r\n */\n\nvar TooltipMarkupStyleCreator =\n/** @class */\nfunction () {\n function TooltipMarkupStyleCreator() {\n this.richTextStyles = {}; // Notice that \"generate a style name\" usually happens repeatedly when mouse is moving and\n // a tooltip is displayed. So we put the `_nextStyleNameId` as a member of each creator\n // rather than static shared by all creators (which will cause it increase to fast).\n\n this._nextStyleNameId = getRandomIdBase();\n }\n\n TooltipMarkupStyleCreator.prototype._generateStyleName = function () {\n return '__EC_aUTo_' + this._nextStyleNameId++;\n };\n\n TooltipMarkupStyleCreator.prototype.makeTooltipMarker = function (markerType, colorStr, renderMode) {\n var markerId = renderMode === 'richText' ? this._generateStyleName() : null;\n var marker = getTooltipMarker({\n color: colorStr,\n type: markerType,\n renderMode: renderMode,\n markerId: markerId\n });\n\n if (isString(marker)) {\n return marker;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n assert(markerId);\n }\n\n this.richTextStyles[markerId] = marker.style;\n return marker.content;\n }\n };\n /**\r\n * @usage\r\n * ```ts\r\n * const styledText = markupStyleCreator.wrapRichTextStyle([\r\n * // The styles will be auto merged.\r\n * {\r\n * fontSize: 12,\r\n * color: 'blue'\r\n * },\r\n * {\r\n * padding: 20\r\n * }\r\n * ]);\r\n * ```\r\n */\n\n\n TooltipMarkupStyleCreator.prototype.wrapRichTextStyle = function (text, styles) {\n var finalStl = {};\n\n if (isArray(styles)) {\n each(styles, function (stl) {\n return extend(finalStl, stl);\n });\n } else {\n extend(finalStl, styles);\n }\n\n var styleName = this._generateStyleName();\n\n this.richTextStyles[styleName] = finalStl;\n return \"{\" + styleName + \"|\" + text + \"}\";\n };\n\n return TooltipMarkupStyleCreator;\n}();\n\nexport { TooltipMarkupStyleCreator };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { trim, isArray, each, reduce } from 'zrender/lib/core/util.js';\nimport { retrieveVisualColorForTooltipMarker, createTooltipMarkup } from './tooltipMarkup.js';\nimport { retrieveRawValue } from '../../data/helper/dataProvider.js';\nimport { isNameSpecified } from '../../util/model.js';\nexport function defaultSeriesFormatTooltip(opt) {\n var series = opt.series;\n var dataIndex = opt.dataIndex;\n var multipleSeries = opt.multipleSeries;\n var data = series.getData();\n var tooltipDims = data.mapDimensionsAll('defaultedTooltip');\n var tooltipDimLen = tooltipDims.length;\n var value = series.getRawValue(dataIndex);\n var isValueArr = isArray(value);\n var markerColor = retrieveVisualColorForTooltipMarker(series, dataIndex); // Complicated rule for pretty tooltip.\n\n var inlineValue;\n var inlineValueType;\n var subBlocks;\n var sortParam;\n\n if (tooltipDimLen > 1 || isValueArr && !tooltipDimLen) {\n var formatArrResult = formatTooltipArrayValue(value, series, dataIndex, tooltipDims, markerColor);\n inlineValue = formatArrResult.inlineValues;\n inlineValueType = formatArrResult.inlineValueTypes;\n subBlocks = formatArrResult.blocks; // Only support tooltip sort by the first inline value. It's enough in most cases.\n\n sortParam = formatArrResult.inlineValues[0];\n } else if (tooltipDimLen) {\n var dimInfo = data.getDimensionInfo(tooltipDims[0]);\n sortParam = inlineValue = retrieveRawValue(data, dataIndex, tooltipDims[0]);\n inlineValueType = dimInfo.type;\n } else {\n sortParam = inlineValue = isValueArr ? value[0] : value;\n } // Do not show generated series name. It might not be readable.\n\n\n var seriesNameSpecified = isNameSpecified(series);\n var seriesName = seriesNameSpecified && series.name || '';\n var itemName = data.getName(dataIndex);\n var inlineName = multipleSeries ? seriesName : itemName;\n return createTooltipMarkup('section', {\n header: seriesName,\n // When series name is not specified, do not show a header line with only '-'.\n // This case always happens in tooltip.trigger: 'item'.\n noHeader: multipleSeries || !seriesNameSpecified,\n sortParam: sortParam,\n blocks: [createTooltipMarkup('nameValue', {\n markerType: 'item',\n markerColor: markerColor,\n // Do not mix display seriesName and itemName in one tooltip,\n // which might confuses users.\n name: inlineName,\n // name dimension might be auto assigned, where the name might\n // be not readable. So we check trim here.\n noName: !trim(inlineName),\n value: inlineValue,\n valueType: inlineValueType\n })].concat(subBlocks || [])\n });\n}\n\nfunction formatTooltipArrayValue(value, series, dataIndex, tooltipDims, colorStr) {\n // check: category-no-encode-has-axis-data in dataset.html\n var data = series.getData();\n var isValueMultipleLine = reduce(value, function (isValueMultipleLine, val, idx) {\n var dimItem = data.getDimensionInfo(idx);\n return isValueMultipleLine = isValueMultipleLine || dimItem && dimItem.tooltip !== false && dimItem.displayName != null;\n }, false);\n var inlineValues = [];\n var inlineValueTypes = [];\n var blocks = [];\n tooltipDims.length ? each(tooltipDims, function (dim) {\n setEachItem(retrieveRawValue(data, dataIndex, dim), dim);\n }) // By default, all dims is used on tooltip.\n : each(value, setEachItem);\n\n function setEachItem(val, dim) {\n var dimInfo = data.getDimensionInfo(dim); // If `dimInfo.tooltip` is not set, show tooltip.\n\n if (!dimInfo || dimInfo.otherDims.tooltip === false) {\n return;\n }\n\n if (isValueMultipleLine) {\n blocks.push(createTooltipMarkup('nameValue', {\n markerType: 'subItem',\n markerColor: colorStr,\n name: dimInfo.displayName,\n value: val,\n valueType: dimInfo.type\n }));\n } else {\n inlineValues.push(val);\n inlineValueTypes.push(dimInfo.type);\n }\n }\n\n return {\n inlineValues: inlineValues,\n inlineValueTypes: inlineValueTypes,\n blocks: blocks\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport env from 'zrender/lib/core/env.js';\nimport * as modelUtil from '../util/model.js';\nimport ComponentModel from './Component.js';\nimport { PaletteMixin } from './mixin/palette.js';\nimport { DataFormatMixin } from '../model/mixin/dataFormat.js';\nimport { getLayoutParams, mergeLayoutParam, fetchLayoutMode } from '../util/layout.js';\nimport { createTask } from '../core/task.js';\nimport { mountExtend } from '../util/clazz.js';\nimport { SourceManager } from '../data/helper/sourceManager.js';\nimport { defaultSeriesFormatTooltip } from '../component/tooltip/seriesFormatTooltip.js';\nvar inner = modelUtil.makeInner();\n\nfunction getSelectionKey(data, dataIndex) {\n return data.getName(dataIndex) || data.getId(dataIndex);\n}\n\nexport var SERIES_UNIVERSAL_TRANSITION_PROP = '__universalTransitionEnabled';\n\nvar SeriesModel =\n/** @class */\nfunction (_super) {\n __extends(SeriesModel, _super);\n\n function SeriesModel() {\n // [Caution]: Because this class or desecendants can be used as `XXX.extend(subProto)`,\n // the class members must not be initialized in constructor or declaration place.\n // Otherwise there is bad case:\n // class A {xxx = 1;}\n // enableClassExtend(A);\n // class B extends A {}\n // var C = B.extend({xxx: 5});\n // var c = new C();\n // console.log(c.xxx); // expect 5 but always 1.\n var _this = _super !== null && _super.apply(this, arguments) || this; // ---------------------------------------\n // Props about data selection\n // ---------------------------------------\n\n\n _this._selectedDataIndicesMap = {};\n return _this;\n }\n\n SeriesModel.prototype.init = function (option, parentModel, ecModel) {\n this.seriesIndex = this.componentIndex;\n this.dataTask = createTask({\n count: dataTaskCount,\n reset: dataTaskReset\n });\n this.dataTask.context = {\n model: this\n };\n this.mergeDefaultAndTheme(option, ecModel);\n var sourceManager = inner(this).sourceManager = new SourceManager(this);\n sourceManager.prepareSource();\n var data = this.getInitialData(option, ecModel);\n wrapData(data, this);\n this.dataTask.context.data = data;\n\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.assert(data, 'getInitialData returned invalid data.');\n }\n\n inner(this).dataBeforeProcessed = data; // If we reverse the order (make data firstly, and then make\n // dataBeforeProcessed by cloneShallow), cloneShallow will\n // cause data.graph.data !== data when using\n // module:echarts/data/Graph or module:echarts/data/Tree.\n // See module:echarts/data/helper/linkSeriesData\n // Theoretically, it is unreasonable to call `seriesModel.getData()` in the model\n // init or merge stage, because the data can be restored. So we do not `restoreData`\n // and `setData` here, which forbids calling `seriesModel.getData()` in this stage.\n // Call `seriesModel.getRawData()` instead.\n // this.restoreData();\n\n autoSeriesName(this);\n\n this._initSelectedMapFromData(data);\n };\n /**\r\n * Util for merge default and theme to option\r\n */\n\n\n SeriesModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n var layoutMode = fetchLayoutMode(this);\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {}; // Backward compat: using subType on theme.\n // But if name duplicate between series subType\n // (for example: parallel) add component mainType,\n // add suffix 'Series'.\n\n var themeSubType = this.subType;\n\n if (ComponentModel.hasClass(themeSubType)) {\n themeSubType += 'Series';\n }\n\n zrUtil.merge(option, ecModel.getTheme().get(this.subType));\n zrUtil.merge(option, this.getDefaultOption()); // Default label emphasis `show`\n\n modelUtil.defaultEmphasis(option, 'label', ['show']);\n this.fillDataTextStyle(option.data);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n };\n\n SeriesModel.prototype.mergeOption = function (newSeriesOption, ecModel) {\n // this.settingTask.dirty();\n newSeriesOption = zrUtil.merge(this.option, newSeriesOption, true);\n this.fillDataTextStyle(newSeriesOption.data);\n var layoutMode = fetchLayoutMode(this);\n\n if (layoutMode) {\n mergeLayoutParam(this.option, newSeriesOption, layoutMode);\n }\n\n var sourceManager = inner(this).sourceManager;\n sourceManager.dirty();\n sourceManager.prepareSource();\n var data = this.getInitialData(newSeriesOption, ecModel);\n wrapData(data, this);\n this.dataTask.dirty();\n this.dataTask.context.data = data;\n inner(this).dataBeforeProcessed = data;\n autoSeriesName(this);\n\n this._initSelectedMapFromData(data);\n };\n\n SeriesModel.prototype.fillDataTextStyle = function (data) {\n // Default data label emphasis `show`\n // FIXME Tree structure data ?\n // FIXME Performance ?\n if (data && !zrUtil.isTypedArray(data)) {\n var props = ['show'];\n\n for (var i = 0; i < data.length; i++) {\n if (data[i] && data[i].label) {\n modelUtil.defaultEmphasis(data[i], 'label', props);\n }\n }\n }\n };\n /**\r\n * Init a data structure from data related option in series\r\n * Must be overridden.\r\n */\n\n\n SeriesModel.prototype.getInitialData = function (option, ecModel) {\n return;\n };\n /**\r\n * Append data to list\r\n */\n\n\n SeriesModel.prototype.appendData = function (params) {\n // FIXME ???\n // (1) If data from dataset, forbidden append.\n // (2) support append data of dataset.\n var data = this.getRawData();\n data.appendData(params.data);\n };\n /**\r\n * Consider some method like `filter`, `map` need make new data,\r\n * We should make sure that `seriesModel.getData()` get correct\r\n * data in the stream procedure. So we fetch data from upstream\r\n * each time `task.perform` called.\r\n */\n\n\n SeriesModel.prototype.getData = function (dataType) {\n var task = getCurrentTask(this);\n\n if (task) {\n var data = task.context.data;\n return dataType == null ? data : data.getLinkedData(dataType);\n } else {\n // When series is not alive (that may happen when click toolbox\n // restore or setOption with not merge mode), series data may\n // be still need to judge animation or something when graphic\n // elements want to know whether fade out.\n return inner(this).data;\n }\n };\n\n SeriesModel.prototype.getAllData = function () {\n var mainData = this.getData();\n return mainData && mainData.getLinkedDataAll ? mainData.getLinkedDataAll() : [{\n data: mainData\n }];\n };\n\n SeriesModel.prototype.setData = function (data) {\n var task = getCurrentTask(this);\n\n if (task) {\n var context = task.context; // Consider case: filter, data sample.\n // FIXME:TS never used, so comment it\n // if (context.data !== data && task.modifyOutputEnd) {\n // task.setOutputEnd(data.count());\n // }\n\n context.outputData = data; // Caution: setData should update context.data,\n // Because getData may be called multiply in a\n // single stage and expect to get the data just\n // set. (For example, AxisProxy, x y both call\n // getData and setDate sequentially).\n // So the context.data should be fetched from\n // upstream each time when a stage starts to be\n // performed.\n\n if (task !== this.dataTask) {\n context.data = data;\n }\n }\n\n inner(this).data = data;\n };\n\n SeriesModel.prototype.getEncode = function () {\n var encode = this.get('encode', true);\n\n if (encode) {\n return zrUtil.createHashMap(encode);\n }\n };\n\n SeriesModel.prototype.getSourceManager = function () {\n return inner(this).sourceManager;\n };\n\n SeriesModel.prototype.getSource = function () {\n return this.getSourceManager().getSource();\n };\n /**\r\n * Get data before processed\r\n */\n\n\n SeriesModel.prototype.getRawData = function () {\n return inner(this).dataBeforeProcessed;\n };\n\n SeriesModel.prototype.getColorBy = function () {\n var colorBy = this.get('colorBy');\n return colorBy || 'series';\n };\n\n SeriesModel.prototype.isColorBySeries = function () {\n return this.getColorBy() === 'series';\n };\n /**\r\n * Get base axis if has coordinate system and has axis.\r\n * By default use coordSys.getBaseAxis();\r\n * Can be overridden for some chart.\r\n * @return {type} description\r\n */\n\n\n SeriesModel.prototype.getBaseAxis = function () {\n var coordSys = this.coordinateSystem; // @ts-ignore\n\n return coordSys && coordSys.getBaseAxis && coordSys.getBaseAxis();\n };\n /**\r\n * Default tooltip formatter\r\n *\r\n * @param dataIndex\r\n * @param multipleSeries\r\n * @param dataType\r\n * @param renderMode valid values: 'html'(by default) and 'richText'.\r\n * 'html' is used for rendering tooltip in extra DOM form, and the result\r\n * string is used as DOM HTML content.\r\n * 'richText' is used for rendering tooltip in rich text form, for those where\r\n * DOM operation is not supported.\r\n * @return formatted tooltip with `html` and `markers`\r\n * Notice: The override method can also return string\r\n */\n\n\n SeriesModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n return defaultSeriesFormatTooltip({\n series: this,\n dataIndex: dataIndex,\n multipleSeries: multipleSeries\n });\n };\n\n SeriesModel.prototype.isAnimationEnabled = function () {\n var ecModel = this.ecModel; // Disable animation if using echarts in node but not give ssr flag.\n // In ssr mode, renderToString will generate svg with css animation.\n\n if (env.node && !(ecModel && ecModel.ssr)) {\n return false;\n }\n\n var animationEnabled = this.getShallow('animation');\n\n if (animationEnabled) {\n if (this.getData().count() > this.getShallow('animationThreshold')) {\n animationEnabled = false;\n }\n }\n\n return !!animationEnabled;\n };\n\n SeriesModel.prototype.restoreData = function () {\n this.dataTask.dirty();\n };\n\n SeriesModel.prototype.getColorFromPalette = function (name, scope, requestColorNum) {\n var ecModel = this.ecModel; // PENDING\n\n var color = PaletteMixin.prototype.getColorFromPalette.call(this, name, scope, requestColorNum);\n\n if (!color) {\n color = ecModel.getColorFromPalette(name, scope, requestColorNum);\n }\n\n return color;\n };\n /**\r\n * Use `data.mapDimensionsAll(coordDim)` instead.\r\n * @deprecated\r\n */\n\n\n SeriesModel.prototype.coordDimToDataDim = function (coordDim) {\n return this.getRawData().mapDimensionsAll(coordDim);\n };\n /**\r\n * Get progressive rendering count each step\r\n */\n\n\n SeriesModel.prototype.getProgressive = function () {\n return this.get('progressive');\n };\n /**\r\n * Get progressive rendering count each step\r\n */\n\n\n SeriesModel.prototype.getProgressiveThreshold = function () {\n return this.get('progressiveThreshold');\n }; // PENGING If selectedMode is null ?\n\n\n SeriesModel.prototype.select = function (innerDataIndices, dataType) {\n this._innerSelect(this.getData(dataType), innerDataIndices);\n };\n\n SeriesModel.prototype.unselect = function (innerDataIndices, dataType) {\n var selectedMap = this.option.selectedMap;\n\n if (!selectedMap) {\n return;\n }\n\n var selectedMode = this.option.selectedMode;\n var data = this.getData(dataType);\n\n if (selectedMode === 'series' || selectedMap === 'all') {\n this.option.selectedMap = {};\n this._selectedDataIndicesMap = {};\n return;\n }\n\n for (var i = 0; i < innerDataIndices.length; i++) {\n var dataIndex = innerDataIndices[i];\n var nameOrId = getSelectionKey(data, dataIndex);\n selectedMap[nameOrId] = false;\n this._selectedDataIndicesMap[nameOrId] = -1;\n }\n };\n\n SeriesModel.prototype.toggleSelect = function (innerDataIndices, dataType) {\n var tmpArr = [];\n\n for (var i = 0; i < innerDataIndices.length; i++) {\n tmpArr[0] = innerDataIndices[i];\n this.isSelected(innerDataIndices[i], dataType) ? this.unselect(tmpArr, dataType) : this.select(tmpArr, dataType);\n }\n };\n\n SeriesModel.prototype.getSelectedDataIndices = function () {\n if (this.option.selectedMap === 'all') {\n return [].slice.call(this.getData().getIndices());\n }\n\n var selectedDataIndicesMap = this._selectedDataIndicesMap;\n var nameOrIds = zrUtil.keys(selectedDataIndicesMap);\n var dataIndices = [];\n\n for (var i = 0; i < nameOrIds.length; i++) {\n var dataIndex = selectedDataIndicesMap[nameOrIds[i]];\n\n if (dataIndex >= 0) {\n dataIndices.push(dataIndex);\n }\n }\n\n return dataIndices;\n };\n\n SeriesModel.prototype.isSelected = function (dataIndex, dataType) {\n var selectedMap = this.option.selectedMap;\n\n if (!selectedMap) {\n return false;\n }\n\n var data = this.getData(dataType);\n return (selectedMap === 'all' || selectedMap[getSelectionKey(data, dataIndex)]) && !data.getItemModel(dataIndex).get(['select', 'disabled']);\n };\n\n SeriesModel.prototype.isUniversalTransitionEnabled = function () {\n if (this[SERIES_UNIVERSAL_TRANSITION_PROP]) {\n return true;\n }\n\n var universalTransitionOpt = this.option.universalTransition; // Quick reject\n\n if (!universalTransitionOpt) {\n return false;\n }\n\n if (universalTransitionOpt === true) {\n return true;\n } // Can be simply 'universalTransition: true'\n\n\n return universalTransitionOpt && universalTransitionOpt.enabled;\n };\n\n SeriesModel.prototype._innerSelect = function (data, innerDataIndices) {\n var _a, _b;\n\n var option = this.option;\n var selectedMode = option.selectedMode;\n var len = innerDataIndices.length;\n\n if (!selectedMode || !len) {\n return;\n }\n\n if (selectedMode === 'series') {\n option.selectedMap = 'all';\n } else if (selectedMode === 'multiple') {\n if (!zrUtil.isObject(option.selectedMap)) {\n option.selectedMap = {};\n }\n\n var selectedMap = option.selectedMap;\n\n for (var i = 0; i < len; i++) {\n var dataIndex = innerDataIndices[i]; // TODO different types of data share same object.\n\n var nameOrId = getSelectionKey(data, dataIndex);\n selectedMap[nameOrId] = true;\n this._selectedDataIndicesMap[nameOrId] = data.getRawIndex(dataIndex);\n }\n } else if (selectedMode === 'single' || selectedMode === true) {\n var lastDataIndex = innerDataIndices[len - 1];\n var nameOrId = getSelectionKey(data, lastDataIndex);\n option.selectedMap = (_a = {}, _a[nameOrId] = true, _a);\n this._selectedDataIndicesMap = (_b = {}, _b[nameOrId] = data.getRawIndex(lastDataIndex), _b);\n }\n };\n\n SeriesModel.prototype._initSelectedMapFromData = function (data) {\n // Ignore select info in data if selectedMap exists.\n // NOTE It's only for legacy usage. edge data is not supported.\n if (this.option.selectedMap) {\n return;\n }\n\n var dataIndices = [];\n\n if (data.hasItemOption) {\n data.each(function (idx) {\n var rawItem = data.getRawDataItem(idx);\n\n if (rawItem && rawItem.selected) {\n dataIndices.push(idx);\n }\n });\n }\n\n if (dataIndices.length > 0) {\n this._innerSelect(data, dataIndices);\n }\n }; // /**\n // * @see {module:echarts/stream/Scheduler}\n // */\n // abstract pipeTask: null\n\n\n SeriesModel.registerClass = function (clz) {\n return ComponentModel.registerClass(clz);\n };\n\n SeriesModel.protoInitialize = function () {\n var proto = SeriesModel.prototype;\n proto.type = 'series.__base__';\n proto.seriesIndex = 0;\n proto.ignoreStyleOnData = false;\n proto.hasSymbolVisual = false;\n proto.defaultSymbol = 'circle'; // Make sure the values can be accessed!\n\n proto.visualStyleAccessPath = 'itemStyle';\n proto.visualDrawType = 'fill';\n }();\n\n return SeriesModel;\n}(ComponentModel);\n\nzrUtil.mixin(SeriesModel, DataFormatMixin);\nzrUtil.mixin(SeriesModel, PaletteMixin);\nmountExtend(SeriesModel, ComponentModel);\n/**\r\n * MUST be called after `prepareSource` called\r\n * Here we need to make auto series, especially for auto legend. But we\r\n * do not modify series.name in option to avoid side effects.\r\n */\n\nfunction autoSeriesName(seriesModel) {\n // User specified name has higher priority, otherwise it may cause\n // series can not be queried unexpectedly.\n var name = seriesModel.name;\n\n if (!modelUtil.isNameSpecified(seriesModel)) {\n seriesModel.name = getSeriesAutoName(seriesModel) || name;\n }\n}\n\nfunction getSeriesAutoName(seriesModel) {\n var data = seriesModel.getRawData();\n var dataDims = data.mapDimensionsAll('seriesName');\n var nameArr = [];\n zrUtil.each(dataDims, function (dataDim) {\n var dimInfo = data.getDimensionInfo(dataDim);\n dimInfo.displayName && nameArr.push(dimInfo.displayName);\n });\n return nameArr.join(' ');\n}\n\nfunction dataTaskCount(context) {\n return context.model.getRawData().count();\n}\n\nfunction dataTaskReset(context) {\n var seriesModel = context.model;\n seriesModel.setData(seriesModel.getRawData().cloneShallow());\n return dataTaskProgress;\n}\n\nfunction dataTaskProgress(param, context) {\n // Avoid repeat cloneShallow when data just created in reset.\n if (context.outputData && param.end > context.outputData.count()) {\n context.model.getRawData().cloneShallow(context.outputData);\n }\n} // TODO refactor\n\n\nfunction wrapData(data, seriesModel) {\n zrUtil.each(zrUtil.concatArray(data.CHANGABLE_METHODS, data.DOWNSAMPLE_METHODS), function (methodName) {\n data.wrapMethod(methodName, zrUtil.curry(onDataChange, seriesModel));\n });\n}\n\nfunction onDataChange(seriesModel, newList) {\n var task = getCurrentTask(seriesModel);\n\n if (task) {\n // Consider case: filter, selectRange\n task.setOutputEnd((newList || this).count());\n }\n\n return newList;\n}\n\nfunction getCurrentTask(seriesModel) {\n var scheduler = (seriesModel.ecModel || {}).scheduler;\n var pipeline = scheduler && scheduler.getPipeline(seriesModel.uid);\n\n if (pipeline) {\n // When pipline finished, the currrentTask keep the last\n // task (renderTask).\n var task = pipeline.currentTask;\n\n if (task) {\n var agentStubMap = task.agentStubMap;\n\n if (agentStubMap) {\n task = agentStubMap.get(seriesModel.uid);\n }\n }\n\n return task;\n }\n}\n\nexport default SeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport Group from 'zrender/lib/graphic/Group.js';\nimport * as componentUtil from '../util/component.js';\nimport * as clazzUtil from '../util/clazz.js';\n\nvar ComponentView =\n/** @class */\nfunction () {\n function ComponentView() {\n this.group = new Group();\n this.uid = componentUtil.getUID('viewComponent');\n }\n\n ComponentView.prototype.init = function (ecModel, api) {};\n\n ComponentView.prototype.render = function (model, ecModel, api, payload) {};\n\n ComponentView.prototype.dispose = function (ecModel, api) {};\n\n ComponentView.prototype.updateView = function (model, ecModel, api, payload) {// Do nothing;\n };\n\n ComponentView.prototype.updateLayout = function (model, ecModel, api, payload) {// Do nothing;\n };\n\n ComponentView.prototype.updateVisual = function (model, ecModel, api, payload) {// Do nothing;\n };\n /**\r\n * Hook for toggle blur target series.\r\n * Can be used in marker for blur or leave blur the markers\r\n */\n\n\n ComponentView.prototype.toggleBlurSeries = function (seriesModels, isBlur, ecModel) {// Do nothing;\n };\n /**\r\n * Traverse the new rendered elements.\r\n *\r\n * It will traverse the new added element in progressive rendering.\r\n * And traverse all in normal rendering.\r\n */\n\n\n ComponentView.prototype.eachRendered = function (cb) {\n var group = this.group;\n\n if (group) {\n group.traverse(cb);\n }\n };\n\n return ComponentView;\n}();\n\n;\nclazzUtil.enableClassExtend(ComponentView);\nclazzUtil.enableClassManagement(ComponentView);\nexport default ComponentView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { makeInner } from '../../util/model.js';\n/**\r\n * @return {string} If large mode changed, return string 'reset';\r\n */\n\nexport default function createRenderPlanner() {\n var inner = makeInner();\n return function (seriesModel) {\n var fields = inner(seriesModel);\n var pipelineContext = seriesModel.pipelineContext;\n var originalLarge = !!fields.large;\n var originalProgressive = !!fields.progressiveRender; // FIXME: if the planner works on a filtered series, `pipelineContext` does not\n // exists. See #11611 . Probably we need to modify this structure, see the comment\n // on `performRawSeries` in `Schedular.js`.\n\n var large = fields.large = !!(pipelineContext && pipelineContext.large);\n var progressive = fields.progressiveRender = !!(pipelineContext && pipelineContext.progressiveRender);\n return !!(originalLarge !== large || originalProgressive !== progressive) && 'reset';\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each } from 'zrender/lib/core/util.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport * as componentUtil from '../util/component.js';\nimport * as clazzUtil from '../util/clazz.js';\nimport * as modelUtil from '../util/model.js';\nimport { enterEmphasis, leaveEmphasis, getHighlightDigit, isHighDownDispatcher } from '../util/states.js';\nimport { createTask } from '../core/task.js';\nimport createRenderPlanner from '../chart/helper/createRenderPlanner.js';\nimport { traverseElements } from '../util/graphic.js';\nimport { error } from '../util/log.js';\nvar inner = modelUtil.makeInner();\nvar renderPlanner = createRenderPlanner();\n\nvar ChartView =\n/** @class */\nfunction () {\n function ChartView() {\n this.group = new Group();\n this.uid = componentUtil.getUID('viewChart');\n this.renderTask = createTask({\n plan: renderTaskPlan,\n reset: renderTaskReset\n });\n this.renderTask.context = {\n view: this\n };\n }\n\n ChartView.prototype.init = function (ecModel, api) {};\n\n ChartView.prototype.render = function (seriesModel, ecModel, api, payload) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error('render method must been implemented');\n }\n };\n /**\r\n * Highlight series or specified data item.\r\n */\n\n\n ChartView.prototype.highlight = function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData(payload && payload.dataType);\n\n if (!data) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Unknown dataType \" + payload.dataType);\n }\n\n return;\n }\n\n toggleHighlight(data, payload, 'emphasis');\n };\n /**\r\n * Downplay series or specified data item.\r\n */\n\n\n ChartView.prototype.downplay = function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData(payload && payload.dataType);\n\n if (!data) {\n if (process.env.NODE_ENV !== 'production') {\n error(\"Unknown dataType \" + payload.dataType);\n }\n\n return;\n }\n\n toggleHighlight(data, payload, 'normal');\n };\n /**\r\n * Remove self.\r\n */\n\n\n ChartView.prototype.remove = function (ecModel, api) {\n this.group.removeAll();\n };\n /**\r\n * Dispose self.\r\n */\n\n\n ChartView.prototype.dispose = function (ecModel, api) {};\n\n ChartView.prototype.updateView = function (seriesModel, ecModel, api, payload) {\n this.render(seriesModel, ecModel, api, payload);\n }; // FIXME never used?\n\n\n ChartView.prototype.updateLayout = function (seriesModel, ecModel, api, payload) {\n this.render(seriesModel, ecModel, api, payload);\n }; // FIXME never used?\n\n\n ChartView.prototype.updateVisual = function (seriesModel, ecModel, api, payload) {\n this.render(seriesModel, ecModel, api, payload);\n };\n /**\r\n * Traverse the new rendered elements.\r\n *\r\n * It will traverse the new added element in progressive rendering.\r\n * And traverse all in normal rendering.\r\n */\n\n\n ChartView.prototype.eachRendered = function (cb) {\n traverseElements(this.group, cb);\n };\n\n ChartView.markUpdateMethod = function (payload, methodName) {\n inner(payload).updateMethod = methodName;\n };\n\n ChartView.protoInitialize = function () {\n var proto = ChartView.prototype;\n proto.type = 'chart';\n }();\n\n return ChartView;\n}();\n\n;\n/**\r\n * Set state of single element\r\n */\n\nfunction elSetState(el, state, highlightDigit) {\n if (el && isHighDownDispatcher(el)) {\n (state === 'emphasis' ? enterEmphasis : leaveEmphasis)(el, highlightDigit);\n }\n}\n\nfunction toggleHighlight(data, payload, state) {\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n var highlightDigit = payload && payload.highlightKey != null ? getHighlightDigit(payload.highlightKey) : null;\n\n if (dataIndex != null) {\n each(modelUtil.normalizeToArray(dataIndex), function (dataIdx) {\n elSetState(data.getItemGraphicEl(dataIdx), state, highlightDigit);\n });\n } else {\n data.eachItemGraphicEl(function (el) {\n elSetState(el, state, highlightDigit);\n });\n }\n}\n\nclazzUtil.enableClassExtend(ChartView, ['dispose']);\nclazzUtil.enableClassManagement(ChartView);\n\nfunction renderTaskPlan(context) {\n return renderPlanner(context.model);\n}\n\nfunction renderTaskReset(context) {\n var seriesModel = context.model;\n var ecModel = context.ecModel;\n var api = context.api;\n var payload = context.payload; // FIXME: remove updateView updateVisual\n\n var progressiveRender = seriesModel.pipelineContext.progressiveRender;\n var view = context.view;\n var updateMethod = payload && inner(payload).updateMethod;\n var methodName = progressiveRender ? 'incrementalPrepareRender' : updateMethod && view[updateMethod] ? updateMethod // `appendData` is also supported when data amount\n // is less than progressive threshold.\n : 'render';\n\n if (methodName !== 'render') {\n view[methodName](seriesModel, ecModel, api, payload);\n }\n\n return progressMethodMap[methodName];\n}\n\nvar progressMethodMap = {\n incrementalPrepareRender: {\n progress: function (params, context) {\n context.view.incrementalRender(params, context.model, context.ecModel, context.api, context.payload);\n }\n },\n render: {\n // Put view.render in `progress` to support appendData. But in this case\n // view.render should not be called in reset, otherwise it will be called\n // twise. Use `forceFirstProgress` to make sure that view.render is called\n // in any cases.\n forceFirstProgress: true,\n progress: function (params, context) {\n context.view.render(context.model, context.ecModel, context.api, context.payload);\n }\n }\n};\nexport default ChartView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nvar ORIGIN_METHOD = '\\0__throttleOriginMethod';\nvar RATE = '\\0__throttleRate';\nvar THROTTLE_TYPE = '\\0__throttleType';\n;\n/**\r\n * @public\r\n * @param {(Function)} fn\r\n * @param {number} [delay=0] Unit: ms.\r\n * @param {boolean} [debounce=false]\r\n * true: If call interval less than `delay`, only the last call works.\r\n * false: If call interval less than `delay, call works on fixed rate.\r\n * @return {(Function)} throttled fn.\r\n */\n\nexport function throttle(fn, delay, debounce) {\n var currCall;\n var lastCall = 0;\n var lastExec = 0;\n var timer = null;\n var diff;\n var scope;\n var args;\n var debounceNextCall;\n delay = delay || 0;\n\n function exec() {\n lastExec = new Date().getTime();\n timer = null;\n fn.apply(scope, args || []);\n }\n\n var cb = function () {\n var cbArgs = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n cbArgs[_i] = arguments[_i];\n }\n\n currCall = new Date().getTime();\n scope = this;\n args = cbArgs;\n var thisDelay = debounceNextCall || delay;\n var thisDebounce = debounceNextCall || debounce;\n debounceNextCall = null;\n diff = currCall - (thisDebounce ? lastCall : lastExec) - thisDelay;\n clearTimeout(timer); // Here we should make sure that: the `exec` SHOULD NOT be called later\n // than a new call of `cb`, that is, preserving the command order. Consider\n // calculating \"scale rate\" when roaming as an example. When a call of `cb`\n // happens, either the `exec` is called dierectly, or the call is delayed.\n // But the delayed call should never be later than next call of `cb`. Under\n // this assurance, we can simply update view state each time `dispatchAction`\n // triggered by user roaming, but not need to add extra code to avoid the\n // state being \"rolled-back\".\n\n if (thisDebounce) {\n timer = setTimeout(exec, thisDelay);\n } else {\n if (diff >= 0) {\n exec();\n } else {\n timer = setTimeout(exec, -diff);\n }\n }\n\n lastCall = currCall;\n };\n /**\r\n * Clear throttle.\r\n * @public\r\n */\n\n\n cb.clear = function () {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n };\n /**\r\n * Enable debounce once.\r\n */\n\n\n cb.debounceNextCall = function (debounceDelay) {\n debounceNextCall = debounceDelay;\n };\n\n return cb;\n}\n/**\r\n * Create throttle method or update throttle rate.\r\n *\r\n * @example\r\n * ComponentView.prototype.render = function () {\r\n * ...\r\n * throttle.createOrUpdate(\r\n * this,\r\n * '_dispatchAction',\r\n * this.model.get('throttle'),\r\n * 'fixRate'\r\n * );\r\n * };\r\n * ComponentView.prototype.remove = function () {\r\n * throttle.clear(this, '_dispatchAction');\r\n * };\r\n * ComponentView.prototype.dispose = function () {\r\n * throttle.clear(this, '_dispatchAction');\r\n * };\r\n *\r\n */\n\nexport function createOrUpdate(obj, fnAttr, rate, throttleType) {\n var fn = obj[fnAttr];\n\n if (!fn) {\n return;\n }\n\n var originFn = fn[ORIGIN_METHOD] || fn;\n var lastThrottleType = fn[THROTTLE_TYPE];\n var lastRate = fn[RATE];\n\n if (lastRate !== rate || lastThrottleType !== throttleType) {\n if (rate == null || !throttleType) {\n return obj[fnAttr] = originFn;\n }\n\n fn = obj[fnAttr] = throttle(originFn, rate, throttleType === 'debounce');\n fn[ORIGIN_METHOD] = originFn;\n fn[THROTTLE_TYPE] = throttleType;\n fn[RATE] = rate;\n }\n\n return fn;\n}\n/**\r\n * Clear throttle. Example see throttle.createOrUpdate.\r\n */\n\nexport function clear(obj, fnAttr) {\n var fn = obj[fnAttr];\n\n if (fn && fn[ORIGIN_METHOD]) {\n // Clear throttle\n fn.clear && fn.clear();\n obj[fnAttr] = fn[ORIGIN_METHOD];\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isFunction, extend, createHashMap } from 'zrender/lib/core/util.js';\nimport makeStyleMapper from '../model/mixin/makeStyleMapper.js';\nimport { ITEM_STYLE_KEY_MAP } from '../model/mixin/itemStyle.js';\nimport { LINE_STYLE_KEY_MAP } from '../model/mixin/lineStyle.js';\nimport Model from '../model/Model.js';\nimport { makeInner } from '../util/model.js';\nvar inner = makeInner();\nvar defaultStyleMappers = {\n itemStyle: makeStyleMapper(ITEM_STYLE_KEY_MAP, true),\n lineStyle: makeStyleMapper(LINE_STYLE_KEY_MAP, true)\n};\nvar defaultColorKey = {\n lineStyle: 'stroke',\n itemStyle: 'fill'\n};\n\nfunction getStyleMapper(seriesModel, stylePath) {\n var styleMapper = seriesModel.visualStyleMapper || defaultStyleMappers[stylePath];\n\n if (!styleMapper) {\n console.warn(\"Unknown style type '\" + stylePath + \"'.\");\n return defaultStyleMappers.itemStyle;\n }\n\n return styleMapper;\n}\n\nfunction getDefaultColorKey(seriesModel, stylePath) {\n // return defaultColorKey[stylePath] ||\n var colorKey = seriesModel.visualDrawType || defaultColorKey[stylePath];\n\n if (!colorKey) {\n console.warn(\"Unknown style type '\" + stylePath + \"'.\");\n return 'fill';\n }\n\n return colorKey;\n}\n\nvar seriesStyleTask = {\n createOnAllSeries: true,\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n var stylePath = seriesModel.visualStyleAccessPath || 'itemStyle'; // Set in itemStyle\n\n var styleModel = seriesModel.getModel(stylePath);\n var getStyle = getStyleMapper(seriesModel, stylePath);\n var globalStyle = getStyle(styleModel);\n var decalOption = styleModel.getShallow('decal');\n\n if (decalOption) {\n data.setVisual('decal', decalOption);\n decalOption.dirty = true;\n } // TODO\n\n\n var colorKey = getDefaultColorKey(seriesModel, stylePath);\n var color = globalStyle[colorKey]; // TODO style callback\n\n var colorCallback = isFunction(color) ? color : null;\n var hasAutoColor = globalStyle.fill === 'auto' || globalStyle.stroke === 'auto'; // Get from color palette by default.\n\n if (!globalStyle[colorKey] || colorCallback || hasAutoColor) {\n // Note: If some series has color specified (e.g., by itemStyle.color), we DO NOT\n // make it effect palette. Because some scenarios users need to make some series\n // transparent or as background, which should better not effect the palette.\n var colorPalette = seriesModel.getColorFromPalette( // TODO series count changed.\n seriesModel.name, null, ecModel.getSeriesCount());\n\n if (!globalStyle[colorKey]) {\n globalStyle[colorKey] = colorPalette;\n data.setVisual('colorFromPalette', true);\n }\n\n globalStyle.fill = globalStyle.fill === 'auto' || isFunction(globalStyle.fill) ? colorPalette : globalStyle.fill;\n globalStyle.stroke = globalStyle.stroke === 'auto' || isFunction(globalStyle.stroke) ? colorPalette : globalStyle.stroke;\n }\n\n data.setVisual('style', globalStyle);\n data.setVisual('drawType', colorKey); // Only visible series has each data be visual encoded\n\n if (!ecModel.isSeriesFiltered(seriesModel) && colorCallback) {\n data.setVisual('colorFromPalette', false);\n return {\n dataEach: function (data, idx) {\n var dataParams = seriesModel.getDataParams(idx);\n var itemStyle = extend({}, globalStyle);\n itemStyle[colorKey] = colorCallback(dataParams);\n data.setItemVisual(idx, 'style', itemStyle);\n }\n };\n }\n }\n};\nvar sharedModel = new Model();\nvar dataStyleTask = {\n createOnAllSeries: true,\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n if (seriesModel.ignoreStyleOnData || ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n var stylePath = seriesModel.visualStyleAccessPath || 'itemStyle'; // Set in itemStyle\n\n var getStyle = getStyleMapper(seriesModel, stylePath);\n var colorKey = data.getVisual('drawType');\n return {\n dataEach: data.hasItemOption ? function (data, idx) {\n // Not use getItemModel for performance considuration\n var rawItem = data.getRawDataItem(idx);\n\n if (rawItem && rawItem[stylePath]) {\n sharedModel.option = rawItem[stylePath];\n var style = getStyle(sharedModel);\n var existsStyle = data.ensureUniqueItemVisual(idx, 'style');\n extend(existsStyle, style);\n\n if (sharedModel.option.decal) {\n data.setItemVisual(idx, 'decal', sharedModel.option.decal);\n sharedModel.option.decal.dirty = true;\n }\n\n if (colorKey in style) {\n data.setItemVisual(idx, 'colorFromPalette', false);\n }\n }\n } : null\n };\n }\n}; // Pick color from palette for the data which has not been set with color yet.\n// Note: do not support stream rendering. No such cases yet.\n\nvar dataColorPaletteTask = {\n performRawSeries: true,\n overallReset: function (ecModel) {\n // Each type of series uses one scope.\n // Pie and funnel are using different scopes.\n var paletteScopeGroupByType = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var colorBy = seriesModel.getColorBy();\n\n if (seriesModel.isColorBySeries()) {\n return;\n }\n\n var key = seriesModel.type + '-' + colorBy;\n var colorScope = paletteScopeGroupByType.get(key);\n\n if (!colorScope) {\n colorScope = {};\n paletteScopeGroupByType.set(key, colorScope);\n }\n\n inner(seriesModel).scope = colorScope;\n });\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.isColorBySeries() || ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var dataAll = seriesModel.getRawData();\n var idxMap = {};\n var data = seriesModel.getData();\n var colorScope = inner(seriesModel).scope;\n var stylePath = seriesModel.visualStyleAccessPath || 'itemStyle';\n var colorKey = getDefaultColorKey(seriesModel, stylePath);\n data.each(function (idx) {\n var rawIdx = data.getRawIndex(idx);\n idxMap[rawIdx] = idx;\n }); // Iterate on data before filtered. To make sure color from palette can be\n // Consistent when toggling legend.\n\n dataAll.each(function (rawIdx) {\n var idx = idxMap[rawIdx];\n var fromPalette = data.getItemVisual(idx, 'colorFromPalette'); // Get color from palette for each data only when the color is inherited from series color, which is\n // also picked from color palette. So following situation is not in the case:\n // 1. series.itemStyle.color is set\n // 2. color is encoded by visualMap\n\n if (fromPalette) {\n var itemStyle = data.ensureUniqueItemVisual(idx, 'style');\n var name_1 = dataAll.getName(rawIdx) || rawIdx + '';\n var dataCount = dataAll.count();\n itemStyle[colorKey] = seriesModel.getColorFromPalette(name_1, colorScope, dataCount);\n }\n });\n });\n }\n};\nexport { seriesStyleTask, dataStyleTask, dataColorPaletteTask };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../util/graphic.js';\nvar PI = Math.PI;\n/**\r\n * @param {module:echarts/ExtensionAPI} api\r\n * @param {Object} [opts]\r\n * @param {string} [opts.text]\r\n * @param {string} [opts.color]\r\n * @param {string} [opts.textColor]\r\n * @return {module:zrender/Element}\r\n */\n\nexport default function defaultLoading(api, opts) {\n opts = opts || {};\n zrUtil.defaults(opts, {\n text: 'loading',\n textColor: '#000',\n fontSize: 12,\n fontWeight: 'normal',\n fontStyle: 'normal',\n fontFamily: 'sans-serif',\n maskColor: 'rgba(255, 255, 255, 0.8)',\n showSpinner: true,\n color: '#5470c6',\n spinnerRadius: 10,\n lineWidth: 5,\n zlevel: 0\n });\n var group = new graphic.Group();\n var mask = new graphic.Rect({\n style: {\n fill: opts.maskColor\n },\n zlevel: opts.zlevel,\n z: 10000\n });\n group.add(mask);\n var textContent = new graphic.Text({\n style: {\n text: opts.text,\n fill: opts.textColor,\n fontSize: opts.fontSize,\n fontWeight: opts.fontWeight,\n fontStyle: opts.fontStyle,\n fontFamily: opts.fontFamily\n },\n zlevel: opts.zlevel,\n z: 10001\n });\n var labelRect = new graphic.Rect({\n style: {\n fill: 'none'\n },\n textContent: textContent,\n textConfig: {\n position: 'right',\n distance: 10\n },\n zlevel: opts.zlevel,\n z: 10001\n });\n group.add(labelRect);\n var arc;\n\n if (opts.showSpinner) {\n arc = new graphic.Arc({\n shape: {\n startAngle: -PI / 2,\n endAngle: -PI / 2 + 0.1,\n r: opts.spinnerRadius\n },\n style: {\n stroke: opts.color,\n lineCap: 'round',\n lineWidth: opts.lineWidth\n },\n zlevel: opts.zlevel,\n z: 10001\n });\n arc.animateShape(true).when(1000, {\n endAngle: PI * 3 / 2\n }).start('circularInOut');\n arc.animateShape(true).when(1000, {\n startAngle: PI * 3 / 2\n }).delay(300).start('circularInOut');\n group.add(arc);\n } // Inject resize\n\n\n group.resize = function () {\n var textWidth = textContent.getBoundingRect().width;\n var r = opts.showSpinner ? opts.spinnerRadius : 0; // cx = (containerWidth - arcDiameter - textDistance - textWidth) / 2\n // textDistance needs to be calculated when both animation and text exist\n\n var cx = (api.getWidth() - r * 2 - (opts.showSpinner && textWidth ? 10 : 0) - textWidth) / 2 - (opts.showSpinner && textWidth ? 0 : 5 + textWidth / 2) // only show the text\n + (opts.showSpinner ? 0 : textWidth / 2) // only show the spinner\n + (textWidth ? 0 : r);\n var cy = api.getHeight() / 2;\n opts.showSpinner && arc.setShape({\n cx: cx,\n cy: cy\n });\n labelRect.setShape({\n x: cx - r,\n y: cy - r,\n width: r * 2,\n height: r * 2\n });\n mask.setShape({\n x: 0,\n y: 0,\n width: api.getWidth(),\n height: api.getHeight()\n });\n };\n\n group.resize();\n return group;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, map, isFunction, createHashMap, noop, assert } from 'zrender/lib/core/util.js';\nimport { createTask } from './task.js';\nimport { getUID } from '../util/component.js';\nimport GlobalModel from '../model/Global.js';\nimport ExtensionAPI from './ExtensionAPI.js';\nimport { normalizeToArray } from '../util/model.js';\n;\n\nvar Scheduler =\n/** @class */\nfunction () {\n function Scheduler(ecInstance, api, dataProcessorHandlers, visualHandlers) {\n // key: handlerUID\n this._stageTaskMap = createHashMap();\n this.ecInstance = ecInstance;\n this.api = api; // Fix current processors in case that in some rear cases that\n // processors might be registered after echarts instance created.\n // Register processors incrementally for a echarts instance is\n // not supported by this stream architecture.\n\n dataProcessorHandlers = this._dataProcessorHandlers = dataProcessorHandlers.slice();\n visualHandlers = this._visualHandlers = visualHandlers.slice();\n this._allHandlers = dataProcessorHandlers.concat(visualHandlers);\n }\n\n Scheduler.prototype.restoreData = function (ecModel, payload) {\n // TODO: Only restore needed series and components, but not all components.\n // Currently `restoreData` of all of the series and component will be called.\n // But some independent components like `title`, `legend`, `graphic`, `toolbox`,\n // `tooltip`, `axisPointer`, etc, do not need series refresh when `setOption`,\n // and some components like coordinate system, axes, dataZoom, visualMap only\n // need their target series refresh.\n // (1) If we are implementing this feature some day, we should consider these cases:\n // if a data processor depends on a component (e.g., dataZoomProcessor depends\n // on the settings of `dataZoom`), it should be re-performed if the component\n // is modified by `setOption`.\n // (2) If a processor depends on sevral series, speicified by its `getTargetSeries`,\n // it should be re-performed when the result array of `getTargetSeries` changed.\n // We use `dependencies` to cover these issues.\n // (3) How to update target series when coordinate system related components modified.\n // TODO: simply the dirty mechanism? Check whether only the case here can set tasks dirty,\n // and this case all of the tasks will be set as dirty.\n ecModel.restoreData(payload); // Theoretically an overall task not only depends on each of its target series, but also\n // depends on all of the series.\n // The overall task is not in pipeline, and `ecModel.restoreData` only set pipeline tasks\n // dirty. If `getTargetSeries` of an overall task returns nothing, we should also ensure\n // that the overall task is set as dirty and to be performed, otherwise it probably cause\n // state chaos. So we have to set dirty of all of the overall tasks manually, otherwise it\n // probably cause state chaos (consider `dataZoomProcessor`).\n\n this._stageTaskMap.each(function (taskRecord) {\n var overallTask = taskRecord.overallTask;\n overallTask && overallTask.dirty();\n });\n }; // If seriesModel provided, incremental threshold is check by series data.\n\n\n Scheduler.prototype.getPerformArgs = function (task, isBlock) {\n // For overall task\n if (!task.__pipeline) {\n return;\n }\n\n var pipeline = this._pipelineMap.get(task.__pipeline.id);\n\n var pCtx = pipeline.context;\n var incremental = !isBlock && pipeline.progressiveEnabled && (!pCtx || pCtx.progressiveRender) && task.__idxInPipeline > pipeline.blockIndex;\n var step = incremental ? pipeline.step : null;\n var modDataCount = pCtx && pCtx.modDataCount;\n var modBy = modDataCount != null ? Math.ceil(modDataCount / step) : null;\n return {\n step: step,\n modBy: modBy,\n modDataCount: modDataCount\n };\n };\n\n Scheduler.prototype.getPipeline = function (pipelineId) {\n return this._pipelineMap.get(pipelineId);\n };\n /**\r\n * Current, progressive rendering starts from visual and layout.\r\n * Always detect render mode in the same stage, avoiding that incorrect\r\n * detection caused by data filtering.\r\n * Caution:\r\n * `updateStreamModes` use `seriesModel.getData()`.\r\n */\n\n\n Scheduler.prototype.updateStreamModes = function (seriesModel, view) {\n var pipeline = this._pipelineMap.get(seriesModel.uid);\n\n var data = seriesModel.getData();\n var dataLen = data.count(); // `progressiveRender` means that can render progressively in each\n // animation frame. Note that some types of series do not provide\n // `view.incrementalPrepareRender` but support `chart.appendData`. We\n // use the term `incremental` but not `progressive` to describe the\n // case that `chart.appendData`.\n\n var progressiveRender = pipeline.progressiveEnabled && view.incrementalPrepareRender && dataLen >= pipeline.threshold;\n var large = seriesModel.get('large') && dataLen >= seriesModel.get('largeThreshold'); // TODO: modDataCount should not updated if `appendData`, otherwise cause whole repaint.\n // see `test/candlestick-large3.html`\n\n var modDataCount = seriesModel.get('progressiveChunkMode') === 'mod' ? dataLen : null;\n seriesModel.pipelineContext = pipeline.context = {\n progressiveRender: progressiveRender,\n modDataCount: modDataCount,\n large: large\n };\n };\n\n Scheduler.prototype.restorePipelines = function (ecModel) {\n var scheduler = this;\n var pipelineMap = scheduler._pipelineMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var progressive = seriesModel.getProgressive();\n var pipelineId = seriesModel.uid;\n pipelineMap.set(pipelineId, {\n id: pipelineId,\n head: null,\n tail: null,\n threshold: seriesModel.getProgressiveThreshold(),\n progressiveEnabled: progressive && !(seriesModel.preventIncremental && seriesModel.preventIncremental()),\n blockIndex: -1,\n step: Math.round(progressive || 700),\n count: 0\n });\n\n scheduler._pipe(seriesModel, seriesModel.dataTask);\n });\n };\n\n Scheduler.prototype.prepareStageTasks = function () {\n var stageTaskMap = this._stageTaskMap;\n var ecModel = this.api.getModel();\n var api = this.api;\n each(this._allHandlers, function (handler) {\n var record = stageTaskMap.get(handler.uid) || stageTaskMap.set(handler.uid, {});\n var errMsg = '';\n\n if (process.env.NODE_ENV !== 'production') {\n // Currently do not need to support to sepecify them both.\n errMsg = '\"reset\" and \"overallReset\" must not be both specified.';\n }\n\n assert(!(handler.reset && handler.overallReset), errMsg);\n handler.reset && this._createSeriesStageTask(handler, record, ecModel, api);\n handler.overallReset && this._createOverallStageTask(handler, record, ecModel, api);\n }, this);\n };\n\n Scheduler.prototype.prepareView = function (view, model, ecModel, api) {\n var renderTask = view.renderTask;\n var context = renderTask.context;\n context.model = model;\n context.ecModel = ecModel;\n context.api = api;\n renderTask.__block = !view.incrementalPrepareRender;\n\n this._pipe(model, renderTask);\n };\n\n Scheduler.prototype.performDataProcessorTasks = function (ecModel, payload) {\n // If we do not use `block` here, it should be considered when to update modes.\n this._performStageTasks(this._dataProcessorHandlers, ecModel, payload, {\n block: true\n });\n };\n\n Scheduler.prototype.performVisualTasks = function (ecModel, payload, opt) {\n this._performStageTasks(this._visualHandlers, ecModel, payload, opt);\n };\n\n Scheduler.prototype._performStageTasks = function (stageHandlers, ecModel, payload, opt) {\n opt = opt || {};\n var unfinished = false;\n var scheduler = this;\n each(stageHandlers, function (stageHandler, idx) {\n if (opt.visualType && opt.visualType !== stageHandler.visualType) {\n return;\n }\n\n var stageHandlerRecord = scheduler._stageTaskMap.get(stageHandler.uid);\n\n var seriesTaskMap = stageHandlerRecord.seriesTaskMap;\n var overallTask = stageHandlerRecord.overallTask;\n\n if (overallTask) {\n var overallNeedDirty_1;\n var agentStubMap = overallTask.agentStubMap;\n agentStubMap.each(function (stub) {\n if (needSetDirty(opt, stub)) {\n stub.dirty();\n overallNeedDirty_1 = true;\n }\n });\n overallNeedDirty_1 && overallTask.dirty();\n scheduler.updatePayload(overallTask, payload);\n var performArgs_1 = scheduler.getPerformArgs(overallTask, opt.block); // Execute stubs firstly, which may set the overall task dirty,\n // then execute the overall task. And stub will call seriesModel.setData,\n // which ensures that in the overallTask seriesModel.getData() will not\n // return incorrect data.\n\n agentStubMap.each(function (stub) {\n stub.perform(performArgs_1);\n });\n\n if (overallTask.perform(performArgs_1)) {\n unfinished = true;\n }\n } else if (seriesTaskMap) {\n seriesTaskMap.each(function (task, pipelineId) {\n if (needSetDirty(opt, task)) {\n task.dirty();\n }\n\n var performArgs = scheduler.getPerformArgs(task, opt.block); // FIXME\n // if intending to declare `performRawSeries` in handlers, only\n // stream-independent (specifically, data item independent) operations can be\n // performed. Because if a series is filtered, most of the tasks will not\n // be performed. A stream-dependent operation probably cause wrong biz logic.\n // Perhaps we should not provide a separate callback for this case instead\n // of providing the config `performRawSeries`. The stream-dependent operations\n // and stream-independent operations should better not be mixed.\n\n performArgs.skip = !stageHandler.performRawSeries && ecModel.isSeriesFiltered(task.context.model);\n scheduler.updatePayload(task, payload);\n\n if (task.perform(performArgs)) {\n unfinished = true;\n }\n });\n }\n });\n\n function needSetDirty(opt, task) {\n return opt.setDirty && (!opt.dirtyMap || opt.dirtyMap.get(task.__pipeline.id));\n }\n\n this.unfinished = unfinished || this.unfinished;\n };\n\n Scheduler.prototype.performSeriesTasks = function (ecModel) {\n var unfinished;\n ecModel.eachSeries(function (seriesModel) {\n // Progress to the end for dataInit and dataRestore.\n unfinished = seriesModel.dataTask.perform() || unfinished;\n });\n this.unfinished = unfinished || this.unfinished;\n };\n\n Scheduler.prototype.plan = function () {\n // Travel pipelines, check block.\n this._pipelineMap.each(function (pipeline) {\n var task = pipeline.tail;\n\n do {\n if (task.__block) {\n pipeline.blockIndex = task.__idxInPipeline;\n break;\n }\n\n task = task.getUpstream();\n } while (task);\n });\n };\n\n Scheduler.prototype.updatePayload = function (task, payload) {\n payload !== 'remain' && (task.context.payload = payload);\n };\n\n Scheduler.prototype._createSeriesStageTask = function (stageHandler, stageHandlerRecord, ecModel, api) {\n var scheduler = this;\n var oldSeriesTaskMap = stageHandlerRecord.seriesTaskMap; // The count of stages are totally about only several dozen, so\n // do not need to reuse the map.\n\n var newSeriesTaskMap = stageHandlerRecord.seriesTaskMap = createHashMap();\n var seriesType = stageHandler.seriesType;\n var getTargetSeries = stageHandler.getTargetSeries; // If a stageHandler should cover all series, `createOnAllSeries` should be declared mandatorily,\n // to avoid some typo or abuse. Otherwise if an extension do not specify a `seriesType`,\n // it works but it may cause other irrelevant charts blocked.\n\n if (stageHandler.createOnAllSeries) {\n ecModel.eachRawSeries(create);\n } else if (seriesType) {\n ecModel.eachRawSeriesByType(seriesType, create);\n } else if (getTargetSeries) {\n getTargetSeries(ecModel, api).each(create);\n }\n\n function create(seriesModel) {\n var pipelineId = seriesModel.uid; // Init tasks for each seriesModel only once.\n // Reuse original task instance.\n\n var task = newSeriesTaskMap.set(pipelineId, oldSeriesTaskMap && oldSeriesTaskMap.get(pipelineId) || createTask({\n plan: seriesTaskPlan,\n reset: seriesTaskReset,\n count: seriesTaskCount\n }));\n task.context = {\n model: seriesModel,\n ecModel: ecModel,\n api: api,\n // PENDING: `useClearVisual` not used?\n useClearVisual: stageHandler.isVisual && !stageHandler.isLayout,\n plan: stageHandler.plan,\n reset: stageHandler.reset,\n scheduler: scheduler\n };\n\n scheduler._pipe(seriesModel, task);\n }\n };\n\n Scheduler.prototype._createOverallStageTask = function (stageHandler, stageHandlerRecord, ecModel, api) {\n var scheduler = this;\n var overallTask = stageHandlerRecord.overallTask = stageHandlerRecord.overallTask // For overall task, the function only be called on reset stage.\n || createTask({\n reset: overallTaskReset\n });\n overallTask.context = {\n ecModel: ecModel,\n api: api,\n overallReset: stageHandler.overallReset,\n scheduler: scheduler\n };\n var oldAgentStubMap = overallTask.agentStubMap; // The count of stages are totally about only several dozen, so\n // do not need to reuse the map.\n\n var newAgentStubMap = overallTask.agentStubMap = createHashMap();\n var seriesType = stageHandler.seriesType;\n var getTargetSeries = stageHandler.getTargetSeries;\n var overallProgress = true;\n var shouldOverallTaskDirty = false; // FIXME:TS never used, so comment it\n // let modifyOutputEnd = stageHandler.modifyOutputEnd;\n // An overall task with seriesType detected or has `getTargetSeries`, we add\n // stub in each pipelines, it will set the overall task dirty when the pipeline\n // progress. Moreover, to avoid call the overall task each frame (too frequent),\n // we set the pipeline block.\n\n var errMsg = '';\n\n if (process.env.NODE_ENV !== 'production') {\n errMsg = '\"createOnAllSeries\" is not supported for \"overallReset\", ' + 'because it will block all streams.';\n }\n\n assert(!stageHandler.createOnAllSeries, errMsg);\n\n if (seriesType) {\n ecModel.eachRawSeriesByType(seriesType, createStub);\n } else if (getTargetSeries) {\n getTargetSeries(ecModel, api).each(createStub);\n } // Otherwise, (usually it is legacy case), the overall task will only be\n // executed when upstream is dirty. Otherwise the progressive rendering of all\n // pipelines will be disabled unexpectedly. But it still needs stubs to receive\n // dirty info from upstream.\n else {\n overallProgress = false;\n each(ecModel.getSeries(), createStub);\n }\n\n function createStub(seriesModel) {\n var pipelineId = seriesModel.uid;\n var stub = newAgentStubMap.set(pipelineId, oldAgentStubMap && oldAgentStubMap.get(pipelineId) || ( // When the result of `getTargetSeries` changed, the overallTask\n // should be set as dirty and re-performed.\n shouldOverallTaskDirty = true, createTask({\n reset: stubReset,\n onDirty: stubOnDirty\n })));\n stub.context = {\n model: seriesModel,\n overallProgress: overallProgress // FIXME:TS never used, so comment it\n // modifyOutputEnd: modifyOutputEnd\n\n };\n stub.agent = overallTask;\n stub.__block = overallProgress;\n\n scheduler._pipe(seriesModel, stub);\n }\n\n if (shouldOverallTaskDirty) {\n overallTask.dirty();\n }\n };\n\n Scheduler.prototype._pipe = function (seriesModel, task) {\n var pipelineId = seriesModel.uid;\n\n var pipeline = this._pipelineMap.get(pipelineId);\n\n !pipeline.head && (pipeline.head = task);\n pipeline.tail && pipeline.tail.pipe(task);\n pipeline.tail = task;\n task.__idxInPipeline = pipeline.count++;\n task.__pipeline = pipeline;\n };\n\n Scheduler.wrapStageHandler = function (stageHandler, visualType) {\n if (isFunction(stageHandler)) {\n stageHandler = {\n overallReset: stageHandler,\n seriesType: detectSeriseType(stageHandler)\n };\n }\n\n stageHandler.uid = getUID('stageHandler');\n visualType && (stageHandler.visualType = visualType);\n return stageHandler;\n };\n\n ;\n return Scheduler;\n}();\n\nfunction overallTaskReset(context) {\n context.overallReset(context.ecModel, context.api, context.payload);\n}\n\nfunction stubReset(context) {\n return context.overallProgress && stubProgress;\n}\n\nfunction stubProgress() {\n this.agent.dirty();\n this.getDownstream().dirty();\n}\n\nfunction stubOnDirty() {\n this.agent && this.agent.dirty();\n}\n\nfunction seriesTaskPlan(context) {\n return context.plan ? context.plan(context.model, context.ecModel, context.api, context.payload) : null;\n}\n\nfunction seriesTaskReset(context) {\n if (context.useClearVisual) {\n context.data.clearAllVisual();\n }\n\n var resetDefines = context.resetDefines = normalizeToArray(context.reset(context.model, context.ecModel, context.api, context.payload));\n return resetDefines.length > 1 ? map(resetDefines, function (v, idx) {\n return makeSeriesTaskProgress(idx);\n }) : singleSeriesTaskProgress;\n}\n\nvar singleSeriesTaskProgress = makeSeriesTaskProgress(0);\n\nfunction makeSeriesTaskProgress(resetDefineIdx) {\n return function (params, context) {\n var data = context.data;\n var resetDefine = context.resetDefines[resetDefineIdx];\n\n if (resetDefine && resetDefine.dataEach) {\n for (var i = params.start; i < params.end; i++) {\n resetDefine.dataEach(data, i);\n }\n } else if (resetDefine && resetDefine.progress) {\n resetDefine.progress(params, data);\n }\n };\n}\n\nfunction seriesTaskCount(context) {\n return context.data.count();\n}\n/**\r\n * Only some legacy stage handlers (usually in echarts extensions) are pure function.\r\n * To ensure that they can work normally, they should work in block mode, that is,\r\n * they should not be started util the previous tasks finished. So they cause the\r\n * progressive rendering disabled. We try to detect the series type, to narrow down\r\n * the block range to only the series type they concern, but not all series.\r\n */\n\n\nfunction detectSeriseType(legacyFunc) {\n seriesType = null;\n\n try {\n // Assume there is no async when calling `eachSeriesByType`.\n legacyFunc(ecModelMock, apiMock);\n } catch (e) {}\n\n return seriesType;\n}\n\nvar ecModelMock = {};\nvar apiMock = {};\nvar seriesType;\nmockMethods(ecModelMock, GlobalModel);\nmockMethods(apiMock, ExtensionAPI);\n\necModelMock.eachSeriesByType = ecModelMock.eachRawSeriesByType = function (type) {\n seriesType = type;\n};\n\necModelMock.eachComponent = function (cond) {\n if (cond.mainType === 'series' && cond.subType) {\n seriesType = cond.subType;\n }\n};\n\nfunction mockMethods(target, Clz) {\n /* eslint-disable */\n for (var name_1 in Clz.prototype) {\n // Do not use hasOwnProperty\n target[name_1] = noop;\n }\n /* eslint-enable */\n\n}\n\nexport default Scheduler;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nvar colorAll = ['#37A2DA', '#32C5E9', '#67E0E3', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#E062AE', '#E690D1', '#e7bcf3', '#9d96f5', '#8378EA', '#96BFFF'];\nexport default {\n color: colorAll,\n colorLayer: [['#37A2DA', '#ffd85c', '#fd7b5f'], ['#37A2DA', '#67E0E3', '#FFDB5C', '#ff9f7f', '#E062AE', '#9d96f5'], ['#37A2DA', '#32C5E9', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#e7bcf3', '#8378EA', '#96BFFF'], colorAll]\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nvar contrastColor = '#B9B8CE';\nvar backgroundColor = '#100C2A';\n\nvar axisCommon = function () {\n return {\n axisLine: {\n lineStyle: {\n color: contrastColor\n }\n },\n splitLine: {\n lineStyle: {\n color: '#484753'\n }\n },\n splitArea: {\n areaStyle: {\n color: ['rgba(255,255,255,0.02)', 'rgba(255,255,255,0.05)']\n }\n },\n minorSplitLine: {\n lineStyle: {\n color: '#20203B'\n }\n }\n };\n};\n\nvar colorPalette = ['#4992ff', '#7cffb2', '#fddd60', '#ff6e76', '#58d9f9', '#05c091', '#ff8a45', '#8d48e3', '#dd79ff'];\nvar theme = {\n darkMode: true,\n color: colorPalette,\n backgroundColor: backgroundColor,\n axisPointer: {\n lineStyle: {\n color: '#817f91'\n },\n crossStyle: {\n color: '#817f91'\n },\n label: {\n // TODO Contrast of label backgorundColor\n color: '#fff'\n }\n },\n legend: {\n textStyle: {\n color: contrastColor\n }\n },\n textStyle: {\n color: contrastColor\n },\n title: {\n textStyle: {\n color: '#EEF1FA'\n },\n subtextStyle: {\n color: '#B9B8CE'\n }\n },\n toolbox: {\n iconStyle: {\n borderColor: contrastColor\n }\n },\n dataZoom: {\n borderColor: '#71708A',\n textStyle: {\n color: contrastColor\n },\n brushStyle: {\n color: 'rgba(135,163,206,0.3)'\n },\n handleStyle: {\n color: '#353450',\n borderColor: '#C5CBE3'\n },\n moveHandleStyle: {\n color: '#B0B6C3',\n opacity: 0.3\n },\n fillerColor: 'rgba(135,163,206,0.2)',\n emphasis: {\n handleStyle: {\n borderColor: '#91B7F2',\n color: '#4D587D'\n },\n moveHandleStyle: {\n color: '#636D9A',\n opacity: 0.7\n }\n },\n dataBackground: {\n lineStyle: {\n color: '#71708A',\n width: 1\n },\n areaStyle: {\n color: '#71708A'\n }\n },\n selectedDataBackground: {\n lineStyle: {\n color: '#87A3CE'\n },\n areaStyle: {\n color: '#87A3CE'\n }\n }\n },\n visualMap: {\n textStyle: {\n color: contrastColor\n }\n },\n timeline: {\n lineStyle: {\n color: contrastColor\n },\n label: {\n color: contrastColor\n },\n controlStyle: {\n color: contrastColor,\n borderColor: contrastColor\n }\n },\n calendar: {\n itemStyle: {\n color: backgroundColor\n },\n dayLabel: {\n color: contrastColor\n },\n monthLabel: {\n color: contrastColor\n },\n yearLabel: {\n color: contrastColor\n }\n },\n timeAxis: axisCommon(),\n logAxis: axisCommon(),\n valueAxis: axisCommon(),\n categoryAxis: axisCommon(),\n line: {\n symbol: 'circle'\n },\n graph: {\n color: colorPalette\n },\n gauge: {\n title: {\n color: contrastColor\n },\n axisLine: {\n lineStyle: {\n color: [[1, 'rgba(207,212,219,0.2)']]\n }\n },\n axisLabel: {\n color: contrastColor\n },\n detail: {\n color: '#EEF1FA'\n }\n },\n candlestick: {\n itemStyle: {\n color: '#f64e56',\n color0: '#54ea92',\n borderColor: '#f64e56',\n borderColor0: '#54ea92' // borderColor: '#ca2824',\n // borderColor0: '#09a443'\n\n }\n }\n};\ntheme.categoryAxis.splitLine.show = false;\nexport default theme;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { parseClassType } from './clazz.js';\n/**\r\n * Usage of query:\r\n * `chart.on('click', query, handler);`\r\n * The `query` can be:\r\n * + The component type query string, only `mainType` or `mainType.subType`,\r\n * like: 'xAxis', 'series', 'xAxis.category' or 'series.line'.\r\n * + The component query object, like:\r\n * `{seriesIndex: 2}`, `{seriesName: 'xx'}`, `{seriesId: 'some'}`,\r\n * `{xAxisIndex: 2}`, `{xAxisName: 'xx'}`, `{xAxisId: 'some'}`.\r\n * + The data query object, like:\r\n * `{dataIndex: 123}`, `{dataType: 'link'}`, `{name: 'some'}`.\r\n * + The other query object (cmponent customized query), like:\r\n * `{element: 'some'}` (only available in custom series).\r\n *\r\n * Caveat: If a prop in the `query` object is `null/undefined`, it is the\r\n * same as there is no such prop in the `query` object.\r\n */\n\nvar ECEventProcessor =\n/** @class */\nfunction () {\n function ECEventProcessor() {}\n\n ECEventProcessor.prototype.normalizeQuery = function (query) {\n var cptQuery = {};\n var dataQuery = {};\n var otherQuery = {}; // `query` is `mainType` or `mainType.subType` of component.\n\n if (zrUtil.isString(query)) {\n var condCptType = parseClassType(query); // `.main` and `.sub` may be ''.\n\n cptQuery.mainType = condCptType.main || null;\n cptQuery.subType = condCptType.sub || null;\n } // `query` is an object, convert to {mainType, index, name, id}.\n else {\n // `xxxIndex`, `xxxName`, `xxxId`, `name`, `dataIndex`, `dataType` is reserved,\n // can not be used in `compomentModel.filterForExposedEvent`.\n var suffixes_1 = ['Index', 'Name', 'Id'];\n var dataKeys_1 = {\n name: 1,\n dataIndex: 1,\n dataType: 1\n };\n zrUtil.each(query, function (val, key) {\n var reserved = false;\n\n for (var i = 0; i < suffixes_1.length; i++) {\n var propSuffix = suffixes_1[i];\n var suffixPos = key.lastIndexOf(propSuffix);\n\n if (suffixPos > 0 && suffixPos === key.length - propSuffix.length) {\n var mainType = key.slice(0, suffixPos); // Consider `dataIndex`.\n\n if (mainType !== 'data') {\n cptQuery.mainType = mainType;\n cptQuery[propSuffix.toLowerCase()] = val;\n reserved = true;\n }\n }\n }\n\n if (dataKeys_1.hasOwnProperty(key)) {\n dataQuery[key] = val;\n reserved = true;\n }\n\n if (!reserved) {\n otherQuery[key] = val;\n }\n });\n }\n\n return {\n cptQuery: cptQuery,\n dataQuery: dataQuery,\n otherQuery: otherQuery\n };\n };\n\n ECEventProcessor.prototype.filter = function (eventType, query) {\n // They should be assigned before each trigger call.\n var eventInfo = this.eventInfo;\n\n if (!eventInfo) {\n return true;\n }\n\n var targetEl = eventInfo.targetEl;\n var packedEvent = eventInfo.packedEvent;\n var model = eventInfo.model;\n var view = eventInfo.view; // For event like 'globalout'.\n\n if (!model || !view) {\n return true;\n }\n\n var cptQuery = query.cptQuery;\n var dataQuery = query.dataQuery;\n return check(cptQuery, model, 'mainType') && check(cptQuery, model, 'subType') && check(cptQuery, model, 'index', 'componentIndex') && check(cptQuery, model, 'name') && check(cptQuery, model, 'id') && check(dataQuery, packedEvent, 'name') && check(dataQuery, packedEvent, 'dataIndex') && check(dataQuery, packedEvent, 'dataType') && (!view.filterForExposedEvent || view.filterForExposedEvent(eventType, query.otherQuery, targetEl, packedEvent));\n\n function check(query, host, prop, propOnHost) {\n return query[prop] == null || host[propOnHost || prop] === query[prop];\n }\n };\n\n ECEventProcessor.prototype.afterTrigger = function () {\n // Make sure the eventInfo won't be used in next trigger.\n this.eventInfo = null;\n };\n\n return ECEventProcessor;\n}();\n\nexport { ECEventProcessor };\n;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { extend, isFunction, keys } from 'zrender/lib/core/util.js';\nvar SYMBOL_PROPS_WITH_CB = ['symbol', 'symbolSize', 'symbolRotate', 'symbolOffset'];\nvar SYMBOL_PROPS = SYMBOL_PROPS_WITH_CB.concat(['symbolKeepAspect']); // Encoding visual for all series include which is filtered for legend drawing\n\nvar seriesSymbolTask = {\n createOnAllSeries: true,\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n\n if (seriesModel.legendIcon) {\n data.setVisual('legendIcon', seriesModel.legendIcon);\n }\n\n if (!seriesModel.hasSymbolVisual) {\n return;\n }\n\n var symbolOptions = {};\n var symbolOptionsCb = {};\n var hasCallback = false;\n\n for (var i = 0; i < SYMBOL_PROPS_WITH_CB.length; i++) {\n var symbolPropName = SYMBOL_PROPS_WITH_CB[i];\n var val = seriesModel.get(symbolPropName);\n\n if (isFunction(val)) {\n hasCallback = true;\n symbolOptionsCb[symbolPropName] = val;\n } else {\n symbolOptions[symbolPropName] = val;\n }\n }\n\n symbolOptions.symbol = symbolOptions.symbol || seriesModel.defaultSymbol;\n data.setVisual(extend({\n legendIcon: seriesModel.legendIcon || symbolOptions.symbol,\n symbolKeepAspect: seriesModel.get('symbolKeepAspect')\n }, symbolOptions)); // Only visible series has each data be visual encoded\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var symbolPropsCb = keys(symbolOptionsCb);\n\n function dataEach(data, idx) {\n var rawValue = seriesModel.getRawValue(idx);\n var params = seriesModel.getDataParams(idx);\n\n for (var i = 0; i < symbolPropsCb.length; i++) {\n var symbolPropName = symbolPropsCb[i];\n data.setItemVisual(idx, symbolPropName, symbolOptionsCb[symbolPropName](rawValue, params));\n }\n }\n\n return {\n dataEach: hasCallback ? dataEach : null\n };\n }\n};\nvar dataSymbolTask = {\n createOnAllSeries: true,\n // For legend.\n performRawSeries: true,\n reset: function (seriesModel, ecModel) {\n if (!seriesModel.hasSymbolVisual) {\n return;\n } // Only visible series has each data be visual encoded\n\n\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n\n function dataEach(data, idx) {\n var itemModel = data.getItemModel(idx);\n\n for (var i = 0; i < SYMBOL_PROPS.length; i++) {\n var symbolPropName = SYMBOL_PROPS[i];\n var val = itemModel.getShallow(symbolPropName, true);\n\n if (val != null) {\n data.setItemVisual(idx, symbolPropName, val);\n }\n }\n }\n\n return {\n dataEach: data.hasItemOption ? dataEach : null\n };\n }\n};\nexport { seriesSymbolTask, dataSymbolTask };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport function getItemVisualFromData(data, dataIndex, key) {\n switch (key) {\n case 'color':\n var style = data.getItemVisual(dataIndex, 'style');\n return style[data.getVisual('drawType')];\n\n case 'opacity':\n return data.getItemVisual(dataIndex, 'style').opacity;\n\n case 'symbol':\n case 'symbolSize':\n case 'liftZ':\n return data.getItemVisual(dataIndex, key);\n\n default:\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"Unknown visual type \" + key);\n }\n\n }\n}\nexport function getVisualFromData(data, key) {\n switch (key) {\n case 'color':\n var style = data.getVisual('style');\n return style[data.getVisual('drawType')];\n\n case 'opacity':\n return data.getVisual('style').opacity;\n\n case 'symbol':\n case 'symbolSize':\n case 'liftZ':\n return data.getVisual(key);\n\n default:\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"Unknown visual type \" + key);\n }\n\n }\n}\nexport function setItemVisualFromData(data, dataIndex, key, value) {\n switch (key) {\n case 'color':\n // Make sure not sharing style object.\n var style = data.ensureUniqueItemVisual(dataIndex, 'style');\n style[data.getVisual('drawType')] = value; // Mark the color has been changed, not from palette anymore\n\n data.setItemVisual(dataIndex, 'colorFromPalette', false);\n break;\n\n case 'opacity':\n data.ensureUniqueItemVisual(dataIndex, 'style').opacity = value;\n break;\n\n case 'symbol':\n case 'symbolSize':\n case 'liftZ':\n data.setItemVisual(dataIndex, key, value);\n break;\n\n default:\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"Unknown visual type \" + key);\n }\n\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { extend, each, isArray, isString } from 'zrender/lib/core/util.js';\nimport { deprecateReplaceLog, deprecateLog } from '../util/log.js';\nimport { queryDataIndex } from '../util/model.js'; // Legacy data selection action.\n// Includes: pieSelect, pieUnSelect, pieToggleSelect, mapSelect, mapUnSelect, mapToggleSelect\n\nexport function createLegacyDataSelectAction(seriesType, ecRegisterAction) {\n function getSeriesIndices(ecModel, payload) {\n var seriesIndices = [];\n ecModel.eachComponent({\n mainType: 'series',\n subType: seriesType,\n query: payload\n }, function (seriesModel) {\n seriesIndices.push(seriesModel.seriesIndex);\n });\n return seriesIndices;\n }\n\n each([[seriesType + 'ToggleSelect', 'toggleSelect'], [seriesType + 'Select', 'select'], [seriesType + 'UnSelect', 'unselect']], function (eventsMap) {\n ecRegisterAction(eventsMap[0], function (payload, ecModel, api) {\n payload = extend({}, payload);\n\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog(payload.type, eventsMap[1]);\n }\n\n api.dispatchAction(extend(payload, {\n type: eventsMap[1],\n seriesIndex: getSeriesIndices(ecModel, payload)\n }));\n });\n });\n}\n\nfunction handleSeriesLegacySelectEvents(type, eventPostfix, ecIns, ecModel, payload) {\n var legacyEventName = type + eventPostfix;\n\n if (!ecIns.isSilent(legacyEventName)) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateLog(\"event \" + legacyEventName + \" is deprecated.\");\n }\n\n ecModel.eachComponent({\n mainType: 'series',\n subType: 'pie'\n }, function (seriesModel) {\n var seriesIndex = seriesModel.seriesIndex;\n var selectedMap = seriesModel.option.selectedMap;\n var selected = payload.selected;\n\n for (var i = 0; i < selected.length; i++) {\n if (selected[i].seriesIndex === seriesIndex) {\n var data = seriesModel.getData();\n var dataIndex = queryDataIndex(data, payload.fromActionPayload);\n ecIns.trigger(legacyEventName, {\n type: legacyEventName,\n seriesId: seriesModel.id,\n name: isArray(dataIndex) ? data.getName(dataIndex[0]) : data.getName(dataIndex),\n selected: isString(selectedMap) ? selectedMap : extend({}, selectedMap)\n });\n }\n }\n });\n }\n}\n\nexport function handleLegacySelectEvents(messageCenter, ecIns, api) {\n messageCenter.on('selectchanged', function (params) {\n var ecModel = api.getModel();\n\n if (params.isFromClick) {\n handleSeriesLegacySelectEvents('map', 'selectchanged', ecIns, ecModel, params);\n handleSeriesLegacySelectEvents('pie', 'selectchanged', ecIns, ecModel, params);\n } else if (params.fromAction === 'select') {\n handleSeriesLegacySelectEvents('map', 'selected', ecIns, ecModel, params);\n handleSeriesLegacySelectEvents('pie', 'selected', ecIns, ecModel, params);\n } else if (params.fromAction === 'unselect') {\n handleSeriesLegacySelectEvents('map', 'unselected', ecIns, ecModel, params);\n handleSeriesLegacySelectEvents('pie', 'unselected', ecIns, ecModel, params);\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport function findEventDispatcher(target, det, returnFirstMatch) {\n var found;\n\n while (target) {\n if (det(target)) {\n found = target;\n\n if (returnFirstMatch) {\n break;\n }\n }\n\n target = target.__hostTarget || target.parent;\n }\n\n return found;\n}","var wmUniqueIndex = Math.round(Math.random() * 9);\nvar supportDefineProperty = typeof Object.defineProperty === 'function';\nvar WeakMap = (function () {\n function WeakMap() {\n this._id = '__ec_inner_' + wmUniqueIndex++;\n }\n WeakMap.prototype.get = function (key) {\n return this._guard(key)[this._id];\n };\n WeakMap.prototype.set = function (key, value) {\n var target = this._guard(key);\n if (supportDefineProperty) {\n Object.defineProperty(target, this._id, {\n value: value,\n enumerable: false,\n configurable: true\n });\n }\n else {\n target[this._id] = value;\n }\n return this;\n };\n WeakMap.prototype[\"delete\"] = function (key) {\n if (this.has(key)) {\n delete this._guard(key)[this._id];\n return true;\n }\n return false;\n };\n WeakMap.prototype.has = function (key) {\n return !!this._guard(key)[this._id];\n };\n WeakMap.prototype._guard = function (key) {\n if (key !== Object(key)) {\n throw TypeError('Value of WeakMap is not a non-null object.');\n }\n return key;\n };\n return WeakMap;\n}());\nexport default WeakMap;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// Symbol factory\nimport { each, isArray, retrieve2 } from 'zrender/lib/core/util.js';\nimport * as graphic from './graphic.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport { calculateTextPosition } from 'zrender/lib/contain/text.js';\nimport { parsePercent } from './number.js';\n/**\r\n * Triangle shape\r\n * @inner\r\n */\n\nvar Triangle = graphic.Path.extend({\n type: 'triangle',\n shape: {\n cx: 0,\n cy: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var width = shape.width / 2;\n var height = shape.height / 2;\n path.moveTo(cx, cy - height);\n path.lineTo(cx + width, cy + height);\n path.lineTo(cx - width, cy + height);\n path.closePath();\n }\n});\n/**\r\n * Diamond shape\r\n * @inner\r\n */\n\nvar Diamond = graphic.Path.extend({\n type: 'diamond',\n shape: {\n cx: 0,\n cy: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var width = shape.width / 2;\n var height = shape.height / 2;\n path.moveTo(cx, cy - height);\n path.lineTo(cx + width, cy);\n path.lineTo(cx, cy + height);\n path.lineTo(cx - width, cy);\n path.closePath();\n }\n});\n/**\r\n * Pin shape\r\n * @inner\r\n */\n\nvar Pin = graphic.Path.extend({\n type: 'pin',\n shape: {\n // x, y on the cusp\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n buildPath: function (path, shape) {\n var x = shape.x;\n var y = shape.y;\n var w = shape.width / 5 * 3; // Height must be larger than width\n\n var h = Math.max(w, shape.height);\n var r = w / 2; // Dist on y with tangent point and circle center\n\n var dy = r * r / (h - r);\n var cy = y - h + r + dy;\n var angle = Math.asin(dy / r); // Dist on x with tangent point and circle center\n\n var dx = Math.cos(angle) * r;\n var tanX = Math.sin(angle);\n var tanY = Math.cos(angle);\n var cpLen = r * 0.6;\n var cpLen2 = r * 0.7;\n path.moveTo(x - dx, cy + dy);\n path.arc(x, cy, r, Math.PI - angle, Math.PI * 2 + angle);\n path.bezierCurveTo(x + dx - tanX * cpLen, cy + dy + tanY * cpLen, x, y - cpLen2, x, y);\n path.bezierCurveTo(x, y - cpLen2, x - dx + tanX * cpLen, cy + dy + tanY * cpLen, x - dx, cy + dy);\n path.closePath();\n }\n});\n/**\r\n * Arrow shape\r\n * @inner\r\n */\n\nvar Arrow = graphic.Path.extend({\n type: 'arrow',\n shape: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n buildPath: function (ctx, shape) {\n var height = shape.height;\n var width = shape.width;\n var x = shape.x;\n var y = shape.y;\n var dx = width / 3 * 2;\n ctx.moveTo(x, y);\n ctx.lineTo(x + dx, y + height);\n ctx.lineTo(x, y + height / 4 * 3);\n ctx.lineTo(x - dx, y + height);\n ctx.lineTo(x, y);\n ctx.closePath();\n }\n});\n/**\r\n * Map of path constructors\r\n */\n// TODO Use function to build symbol path.\n\nvar symbolCtors = {\n line: graphic.Line,\n rect: graphic.Rect,\n roundRect: graphic.Rect,\n square: graphic.Rect,\n circle: graphic.Circle,\n diamond: Diamond,\n pin: Pin,\n arrow: Arrow,\n triangle: Triangle\n};\nvar symbolShapeMakers = {\n line: function (x, y, w, h, shape) {\n shape.x1 = x;\n shape.y1 = y + h / 2;\n shape.x2 = x + w;\n shape.y2 = y + h / 2;\n },\n rect: function (x, y, w, h, shape) {\n shape.x = x;\n shape.y = y;\n shape.width = w;\n shape.height = h;\n },\n roundRect: function (x, y, w, h, shape) {\n shape.x = x;\n shape.y = y;\n shape.width = w;\n shape.height = h;\n shape.r = Math.min(w, h) / 4;\n },\n square: function (x, y, w, h, shape) {\n var size = Math.min(w, h);\n shape.x = x;\n shape.y = y;\n shape.width = size;\n shape.height = size;\n },\n circle: function (x, y, w, h, shape) {\n // Put circle in the center of square\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.r = Math.min(w, h) / 2;\n },\n diamond: function (x, y, w, h, shape) {\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n pin: function (x, y, w, h, shape) {\n shape.x = x + w / 2;\n shape.y = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n arrow: function (x, y, w, h, shape) {\n shape.x = x + w / 2;\n shape.y = y + h / 2;\n shape.width = w;\n shape.height = h;\n },\n triangle: function (x, y, w, h, shape) {\n shape.cx = x + w / 2;\n shape.cy = y + h / 2;\n shape.width = w;\n shape.height = h;\n }\n};\nexport var symbolBuildProxies = {};\neach(symbolCtors, function (Ctor, name) {\n symbolBuildProxies[name] = new Ctor();\n});\nvar SymbolClz = graphic.Path.extend({\n type: 'symbol',\n shape: {\n symbolType: '',\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n calculateTextPosition: function (out, config, rect) {\n var res = calculateTextPosition(out, config, rect);\n var shape = this.shape;\n\n if (shape && shape.symbolType === 'pin' && config.position === 'inside') {\n res.y = rect.y + rect.height * 0.4;\n }\n\n return res;\n },\n buildPath: function (ctx, shape, inBundle) {\n var symbolType = shape.symbolType;\n\n if (symbolType !== 'none') {\n var proxySymbol = symbolBuildProxies[symbolType];\n\n if (!proxySymbol) {\n // Default rect\n symbolType = 'rect';\n proxySymbol = symbolBuildProxies[symbolType];\n }\n\n symbolShapeMakers[symbolType](shape.x, shape.y, shape.width, shape.height, proxySymbol.shape);\n proxySymbol.buildPath(ctx, proxySymbol.shape, inBundle);\n }\n }\n}); // Provide setColor helper method to avoid determine if set the fill or stroke outside\n\nfunction symbolPathSetColor(color, innerColor) {\n if (this.type !== 'image') {\n var symbolStyle = this.style;\n\n if (this.__isEmptyBrush) {\n symbolStyle.stroke = color;\n symbolStyle.fill = innerColor || '#fff'; // TODO Same width with lineStyle in LineView\n\n symbolStyle.lineWidth = 2;\n } else if (this.shape.symbolType === 'line') {\n symbolStyle.stroke = color;\n } else {\n symbolStyle.fill = color;\n }\n\n this.markRedraw();\n }\n}\n/**\r\n * Create a symbol element with given symbol configuration: shape, x, y, width, height, color\r\n */\n\n\nexport function createSymbol(symbolType, x, y, w, h, color, // whether to keep the ratio of w/h,\nkeepAspect) {\n // TODO Support image object, DynamicImage.\n var isEmpty = symbolType.indexOf('empty') === 0;\n\n if (isEmpty) {\n symbolType = symbolType.substr(5, 1).toLowerCase() + symbolType.substr(6);\n }\n\n var symbolPath;\n\n if (symbolType.indexOf('image://') === 0) {\n symbolPath = graphic.makeImage(symbolType.slice(8), new BoundingRect(x, y, w, h), keepAspect ? 'center' : 'cover');\n } else if (symbolType.indexOf('path://') === 0) {\n symbolPath = graphic.makePath(symbolType.slice(7), {}, new BoundingRect(x, y, w, h), keepAspect ? 'center' : 'cover');\n } else {\n symbolPath = new SymbolClz({\n shape: {\n symbolType: symbolType,\n x: x,\n y: y,\n width: w,\n height: h\n }\n });\n }\n\n symbolPath.__isEmptyBrush = isEmpty; // TODO Should deprecate setColor\n\n symbolPath.setColor = symbolPathSetColor;\n\n if (color) {\n symbolPath.setColor(color);\n }\n\n return symbolPath;\n}\nexport function normalizeSymbolSize(symbolSize) {\n if (!isArray(symbolSize)) {\n symbolSize = [+symbolSize, +symbolSize];\n }\n\n return [symbolSize[0] || 0, symbolSize[1] || 0];\n}\nexport function normalizeSymbolOffset(symbolOffset, symbolSize) {\n if (symbolOffset == null) {\n return;\n }\n\n if (!isArray(symbolOffset)) {\n symbolOffset = [symbolOffset, symbolOffset];\n }\n\n return [parsePercent(symbolOffset[0], symbolSize[0]) || 0, parsePercent(retrieve2(symbolOffset[1], symbolOffset[0]), symbolSize[1]) || 0];\n}","function isSafeNum(num) {\n return isFinite(num);\n}\nexport function createLinearGradient(ctx, obj, rect) {\n var x = obj.x == null ? 0 : obj.x;\n var x2 = obj.x2 == null ? 1 : obj.x2;\n var y = obj.y == null ? 0 : obj.y;\n var y2 = obj.y2 == null ? 0 : obj.y2;\n if (!obj.global) {\n x = x * rect.width + rect.x;\n x2 = x2 * rect.width + rect.x;\n y = y * rect.height + rect.y;\n y2 = y2 * rect.height + rect.y;\n }\n x = isSafeNum(x) ? x : 0;\n x2 = isSafeNum(x2) ? x2 : 1;\n y = isSafeNum(y) ? y : 0;\n y2 = isSafeNum(y2) ? y2 : 0;\n var canvasGradient = ctx.createLinearGradient(x, y, x2, y2);\n return canvasGradient;\n}\nexport function createRadialGradient(ctx, obj, rect) {\n var width = rect.width;\n var height = rect.height;\n var min = Math.min(width, height);\n var x = obj.x == null ? 0.5 : obj.x;\n var y = obj.y == null ? 0.5 : obj.y;\n var r = obj.r == null ? 0.5 : obj.r;\n if (!obj.global) {\n x = x * width + rect.x;\n y = y * height + rect.y;\n r = r * min;\n }\n x = isSafeNum(x) ? x : 0.5;\n y = isSafeNum(y) ? y : 0.5;\n r = r >= 0 && isSafeNum(r) ? r : 0.5;\n var canvasGradient = ctx.createRadialGradient(x, y, 0, x, y, r);\n return canvasGradient;\n}\nexport function getCanvasGradient(ctx, obj, rect) {\n var canvasGradient = obj.type === 'radial'\n ? createRadialGradient(ctx, obj, rect)\n : createLinearGradient(ctx, obj, rect);\n var colorStops = obj.colorStops;\n for (var i = 0; i < colorStops.length; i++) {\n canvasGradient.addColorStop(colorStops[i].offset, colorStops[i].color);\n }\n return canvasGradient;\n}\nexport function isClipPathChanged(clipPaths, prevClipPaths) {\n if (clipPaths === prevClipPaths || (!clipPaths && !prevClipPaths)) {\n return false;\n }\n if (!clipPaths || !prevClipPaths || (clipPaths.length !== prevClipPaths.length)) {\n return true;\n }\n for (var i = 0; i < clipPaths.length; i++) {\n if (clipPaths[i] !== prevClipPaths[i]) {\n return true;\n }\n }\n return false;\n}\nfunction parseInt10(val) {\n return parseInt(val, 10);\n}\nexport function getSize(root, whIdx, opts) {\n var wh = ['width', 'height'][whIdx];\n var cwh = ['clientWidth', 'clientHeight'][whIdx];\n var plt = ['paddingLeft', 'paddingTop'][whIdx];\n var prb = ['paddingRight', 'paddingBottom'][whIdx];\n if (opts[wh] != null && opts[wh] !== 'auto') {\n return parseFloat(opts[wh]);\n }\n var stl = document.defaultView.getComputedStyle(root);\n return ((root[cwh] || parseInt10(stl[wh]) || parseInt10(root.style[wh]))\n - (parseInt10(stl[plt]) || 0)\n - (parseInt10(stl[prb]) || 0)) | 0;\n}\n","import { isArray, isNumber, map } from '../core/util.js';\nexport function normalizeLineDash(lineType, lineWidth) {\n if (!lineType || lineType === 'solid' || !(lineWidth > 0)) {\n return null;\n }\n return lineType === 'dashed'\n ? [4 * lineWidth, 2 * lineWidth]\n : lineType === 'dotted'\n ? [lineWidth]\n : isNumber(lineType)\n ? [lineType] : isArray(lineType) ? lineType : null;\n}\nexport function getLineDash(el) {\n var style = el.style;\n var lineDash = style.lineDash && style.lineWidth > 0 && normalizeLineDash(style.lineDash, style.lineWidth);\n var lineDashOffset = style.lineDashOffset;\n if (lineDash) {\n var lineScale_1 = (style.strokeNoScale && el.getLineScale) ? el.getLineScale() : 1;\n if (lineScale_1 && lineScale_1 !== 1) {\n lineDash = map(lineDash, function (rawVal) {\n return rawVal / lineScale_1;\n });\n lineDashOffset /= lineScale_1;\n }\n }\n return [lineDash, lineDashOffset];\n}\n","import { DEFAULT_COMMON_STYLE } from '../graphic/Displayable.js';\nimport PathProxy from '../core/PathProxy.js';\nimport { createOrUpdateImage, isImageReady } from '../graphic/helper/image.js';\nimport { getCanvasGradient, isClipPathChanged } from './helper.js';\nimport Path from '../graphic/Path.js';\nimport ZRImage from '../graphic/Image.js';\nimport TSpan from '../graphic/TSpan.js';\nimport { RADIAN_TO_DEGREE } from '../core/util.js';\nimport { getLineDash } from './dashStyle.js';\nimport { REDRAW_BIT, SHAPE_CHANGED_BIT } from '../graphic/constants.js';\nimport { DEFAULT_FONT } from '../core/platform.js';\nvar pathProxyForDraw = new PathProxy(true);\nfunction styleHasStroke(style) {\n var stroke = style.stroke;\n return !(stroke == null || stroke === 'none' || !(style.lineWidth > 0));\n}\nfunction isValidStrokeFillStyle(strokeOrFill) {\n return typeof strokeOrFill === 'string' && strokeOrFill !== 'none';\n}\nfunction styleHasFill(style) {\n var fill = style.fill;\n return fill != null && fill !== 'none';\n}\nfunction doFillPath(ctx, style) {\n if (style.fillOpacity != null && style.fillOpacity !== 1) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.fillOpacity * style.opacity;\n ctx.fill();\n ctx.globalAlpha = originalGlobalAlpha;\n }\n else {\n ctx.fill();\n }\n}\nfunction doStrokePath(ctx, style) {\n if (style.strokeOpacity != null && style.strokeOpacity !== 1) {\n var originalGlobalAlpha = ctx.globalAlpha;\n ctx.globalAlpha = style.strokeOpacity * style.opacity;\n ctx.stroke();\n ctx.globalAlpha = originalGlobalAlpha;\n }\n else {\n ctx.stroke();\n }\n}\nexport function createCanvasPattern(ctx, pattern, el) {\n var image = createOrUpdateImage(pattern.image, pattern.__image, el);\n if (isImageReady(image)) {\n var canvasPattern = ctx.createPattern(image, pattern.repeat || 'repeat');\n if (typeof DOMMatrix === 'function'\n && canvasPattern\n && canvasPattern.setTransform) {\n var matrix = new DOMMatrix();\n matrix.translateSelf((pattern.x || 0), (pattern.y || 0));\n matrix.rotateSelf(0, 0, (pattern.rotation || 0) * RADIAN_TO_DEGREE);\n matrix.scaleSelf((pattern.scaleX || 1), (pattern.scaleY || 1));\n canvasPattern.setTransform(matrix);\n }\n return canvasPattern;\n }\n}\nfunction brushPath(ctx, el, style, inBatch) {\n var _a;\n var hasStroke = styleHasStroke(style);\n var hasFill = styleHasFill(style);\n var strokePercent = style.strokePercent;\n var strokePart = strokePercent < 1;\n var firstDraw = !el.path;\n if ((!el.silent || strokePart) && firstDraw) {\n el.createPathProxy();\n }\n var path = el.path || pathProxyForDraw;\n var dirtyFlag = el.__dirty;\n if (!inBatch) {\n var fill = style.fill;\n var stroke = style.stroke;\n var hasFillGradient = hasFill && !!fill.colorStops;\n var hasStrokeGradient = hasStroke && !!stroke.colorStops;\n var hasFillPattern = hasFill && !!fill.image;\n var hasStrokePattern = hasStroke && !!stroke.image;\n var fillGradient = void 0;\n var strokeGradient = void 0;\n var fillPattern = void 0;\n var strokePattern = void 0;\n var rect = void 0;\n if (hasFillGradient || hasStrokeGradient) {\n rect = el.getBoundingRect();\n }\n if (hasFillGradient) {\n fillGradient = dirtyFlag\n ? getCanvasGradient(ctx, fill, rect)\n : el.__canvasFillGradient;\n el.__canvasFillGradient = fillGradient;\n }\n if (hasStrokeGradient) {\n strokeGradient = dirtyFlag\n ? getCanvasGradient(ctx, stroke, rect)\n : el.__canvasStrokeGradient;\n el.__canvasStrokeGradient = strokeGradient;\n }\n if (hasFillPattern) {\n fillPattern = (dirtyFlag || !el.__canvasFillPattern)\n ? createCanvasPattern(ctx, fill, el)\n : el.__canvasFillPattern;\n el.__canvasFillPattern = fillPattern;\n }\n if (hasStrokePattern) {\n strokePattern = (dirtyFlag || !el.__canvasStrokePattern)\n ? createCanvasPattern(ctx, stroke, el)\n : el.__canvasStrokePattern;\n el.__canvasStrokePattern = fillPattern;\n }\n if (hasFillGradient) {\n ctx.fillStyle = fillGradient;\n }\n else if (hasFillPattern) {\n if (fillPattern) {\n ctx.fillStyle = fillPattern;\n }\n else {\n hasFill = false;\n }\n }\n if (hasStrokeGradient) {\n ctx.strokeStyle = strokeGradient;\n }\n else if (hasStrokePattern) {\n if (strokePattern) {\n ctx.strokeStyle = strokePattern;\n }\n else {\n hasStroke = false;\n }\n }\n }\n var scale = el.getGlobalScale();\n path.setScale(scale[0], scale[1], el.segmentIgnoreThreshold);\n var lineDash;\n var lineDashOffset;\n if (ctx.setLineDash && style.lineDash) {\n _a = getLineDash(el), lineDash = _a[0], lineDashOffset = _a[1];\n }\n var needsRebuild = true;\n if (firstDraw || (dirtyFlag & SHAPE_CHANGED_BIT)) {\n path.setDPR(ctx.dpr);\n if (strokePart) {\n path.setContext(null);\n }\n else {\n path.setContext(ctx);\n needsRebuild = false;\n }\n path.reset();\n el.buildPath(path, el.shape, inBatch);\n path.toStatic();\n el.pathUpdated();\n }\n if (needsRebuild) {\n path.rebuildPath(ctx, strokePart ? strokePercent : 1);\n }\n if (lineDash) {\n ctx.setLineDash(lineDash);\n ctx.lineDashOffset = lineDashOffset;\n }\n if (!inBatch) {\n if (style.strokeFirst) {\n if (hasStroke) {\n doStrokePath(ctx, style);\n }\n if (hasFill) {\n doFillPath(ctx, style);\n }\n }\n else {\n if (hasFill) {\n doFillPath(ctx, style);\n }\n if (hasStroke) {\n doStrokePath(ctx, style);\n }\n }\n }\n if (lineDash) {\n ctx.setLineDash([]);\n }\n}\nfunction brushImage(ctx, el, style) {\n var image = el.__image = createOrUpdateImage(style.image, el.__image, el, el.onload);\n if (!image || !isImageReady(image)) {\n return;\n }\n var x = style.x || 0;\n var y = style.y || 0;\n var width = el.getWidth();\n var height = el.getHeight();\n var aspect = image.width / image.height;\n if (width == null && height != null) {\n width = height * aspect;\n }\n else if (height == null && width != null) {\n height = width / aspect;\n }\n else if (width == null && height == null) {\n width = image.width;\n height = image.height;\n }\n if (style.sWidth && style.sHeight) {\n var sx = style.sx || 0;\n var sy = style.sy || 0;\n ctx.drawImage(image, sx, sy, style.sWidth, style.sHeight, x, y, width, height);\n }\n else if (style.sx && style.sy) {\n var sx = style.sx;\n var sy = style.sy;\n var sWidth = width - sx;\n var sHeight = height - sy;\n ctx.drawImage(image, sx, sy, sWidth, sHeight, x, y, width, height);\n }\n else {\n ctx.drawImage(image, x, y, width, height);\n }\n}\nfunction brushText(ctx, el, style) {\n var _a;\n var text = style.text;\n text != null && (text += '');\n if (text) {\n ctx.font = style.font || DEFAULT_FONT;\n ctx.textAlign = style.textAlign;\n ctx.textBaseline = style.textBaseline;\n var lineDash = void 0;\n var lineDashOffset = void 0;\n if (ctx.setLineDash && style.lineDash) {\n _a = getLineDash(el), lineDash = _a[0], lineDashOffset = _a[1];\n }\n if (lineDash) {\n ctx.setLineDash(lineDash);\n ctx.lineDashOffset = lineDashOffset;\n }\n if (style.strokeFirst) {\n if (styleHasStroke(style)) {\n ctx.strokeText(text, style.x, style.y);\n }\n if (styleHasFill(style)) {\n ctx.fillText(text, style.x, style.y);\n }\n }\n else {\n if (styleHasFill(style)) {\n ctx.fillText(text, style.x, style.y);\n }\n if (styleHasStroke(style)) {\n ctx.strokeText(text, style.x, style.y);\n }\n }\n if (lineDash) {\n ctx.setLineDash([]);\n }\n }\n}\nvar SHADOW_NUMBER_PROPS = ['shadowBlur', 'shadowOffsetX', 'shadowOffsetY'];\nvar STROKE_PROPS = [\n ['lineCap', 'butt'], ['lineJoin', 'miter'], ['miterLimit', 10]\n];\nfunction bindCommonProps(ctx, style, prevStyle, forceSetAll, scope) {\n var styleChanged = false;\n if (!forceSetAll) {\n prevStyle = prevStyle || {};\n if (style === prevStyle) {\n return false;\n }\n }\n if (forceSetAll || style.opacity !== prevStyle.opacity) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n var opacity = Math.max(Math.min(style.opacity, 1), 0);\n ctx.globalAlpha = isNaN(opacity) ? DEFAULT_COMMON_STYLE.opacity : opacity;\n }\n if (forceSetAll || style.blend !== prevStyle.blend) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n ctx.globalCompositeOperation = style.blend || DEFAULT_COMMON_STYLE.blend;\n }\n for (var i = 0; i < SHADOW_NUMBER_PROPS.length; i++) {\n var propName = SHADOW_NUMBER_PROPS[i];\n if (forceSetAll || style[propName] !== prevStyle[propName]) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n ctx[propName] = ctx.dpr * (style[propName] || 0);\n }\n }\n if (forceSetAll || style.shadowColor !== prevStyle.shadowColor) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n ctx.shadowColor = style.shadowColor || DEFAULT_COMMON_STYLE.shadowColor;\n }\n return styleChanged;\n}\nfunction bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetAll, scope) {\n var style = getStyle(el, scope.inHover);\n var prevStyle = forceSetAll\n ? null\n : (prevEl && getStyle(prevEl, scope.inHover) || {});\n if (style === prevStyle) {\n return false;\n }\n var styleChanged = bindCommonProps(ctx, style, prevStyle, forceSetAll, scope);\n if (forceSetAll || style.fill !== prevStyle.fill) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n isValidStrokeFillStyle(style.fill) && (ctx.fillStyle = style.fill);\n }\n if (forceSetAll || style.stroke !== prevStyle.stroke) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n isValidStrokeFillStyle(style.stroke) && (ctx.strokeStyle = style.stroke);\n }\n if (forceSetAll || style.opacity !== prevStyle.opacity) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n ctx.globalAlpha = style.opacity == null ? 1 : style.opacity;\n }\n if (el.hasStroke()) {\n var lineWidth = style.lineWidth;\n var newLineWidth = lineWidth / ((style.strokeNoScale && el.getLineScale) ? el.getLineScale() : 1);\n if (ctx.lineWidth !== newLineWidth) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n ctx.lineWidth = newLineWidth;\n }\n }\n for (var i = 0; i < STROKE_PROPS.length; i++) {\n var prop = STROKE_PROPS[i];\n var propName = prop[0];\n if (forceSetAll || style[propName] !== prevStyle[propName]) {\n if (!styleChanged) {\n flushPathDrawn(ctx, scope);\n styleChanged = true;\n }\n ctx[propName] = style[propName] || prop[1];\n }\n }\n return styleChanged;\n}\nfunction bindImageStyle(ctx, el, prevEl, forceSetAll, scope) {\n return bindCommonProps(ctx, getStyle(el, scope.inHover), prevEl && getStyle(prevEl, scope.inHover), forceSetAll, scope);\n}\nfunction setContextTransform(ctx, el) {\n var m = el.transform;\n var dpr = ctx.dpr || 1;\n if (m) {\n ctx.setTransform(dpr * m[0], dpr * m[1], dpr * m[2], dpr * m[3], dpr * m[4], dpr * m[5]);\n }\n else {\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n }\n}\nfunction updateClipStatus(clipPaths, ctx, scope) {\n var allClipped = false;\n for (var i = 0; i < clipPaths.length; i++) {\n var clipPath = clipPaths[i];\n allClipped = allClipped || clipPath.isZeroArea();\n setContextTransform(ctx, clipPath);\n ctx.beginPath();\n clipPath.buildPath(ctx, clipPath.shape);\n ctx.clip();\n }\n scope.allClipped = allClipped;\n}\nfunction isTransformChanged(m0, m1) {\n if (m0 && m1) {\n return m0[0] !== m1[0]\n || m0[1] !== m1[1]\n || m0[2] !== m1[2]\n || m0[3] !== m1[3]\n || m0[4] !== m1[4]\n || m0[5] !== m1[5];\n }\n else if (!m0 && !m1) {\n return false;\n }\n return true;\n}\nvar DRAW_TYPE_PATH = 1;\nvar DRAW_TYPE_IMAGE = 2;\nvar DRAW_TYPE_TEXT = 3;\nvar DRAW_TYPE_INCREMENTAL = 4;\nfunction canPathBatch(style) {\n var hasFill = styleHasFill(style);\n var hasStroke = styleHasStroke(style);\n return !(style.lineDash\n || !(+hasFill ^ +hasStroke)\n || (hasFill && typeof style.fill !== 'string')\n || (hasStroke && typeof style.stroke !== 'string')\n || style.strokePercent < 1\n || style.strokeOpacity < 1\n || style.fillOpacity < 1);\n}\nfunction flushPathDrawn(ctx, scope) {\n scope.batchFill && ctx.fill();\n scope.batchStroke && ctx.stroke();\n scope.batchFill = '';\n scope.batchStroke = '';\n}\nfunction getStyle(el, inHover) {\n return inHover ? (el.__hoverStyle || el.style) : el.style;\n}\nexport function brushSingle(ctx, el) {\n brush(ctx, el, { inHover: false, viewWidth: 0, viewHeight: 0 }, true);\n}\nexport function brush(ctx, el, scope, isLast) {\n var m = el.transform;\n if (!el.shouldBePainted(scope.viewWidth, scope.viewHeight, false, false)) {\n el.__dirty &= ~REDRAW_BIT;\n el.__isRendered = false;\n return;\n }\n var clipPaths = el.__clipPaths;\n var prevElClipPaths = scope.prevElClipPaths;\n var forceSetTransform = false;\n var forceSetStyle = false;\n if (!prevElClipPaths || isClipPathChanged(clipPaths, prevElClipPaths)) {\n if (prevElClipPaths && prevElClipPaths.length) {\n flushPathDrawn(ctx, scope);\n ctx.restore();\n forceSetStyle = forceSetTransform = true;\n scope.prevElClipPaths = null;\n scope.allClipped = false;\n scope.prevEl = null;\n }\n if (clipPaths && clipPaths.length) {\n flushPathDrawn(ctx, scope);\n ctx.save();\n updateClipStatus(clipPaths, ctx, scope);\n forceSetTransform = true;\n }\n scope.prevElClipPaths = clipPaths;\n }\n if (scope.allClipped) {\n el.__isRendered = false;\n return;\n }\n el.beforeBrush && el.beforeBrush();\n el.innerBeforeBrush();\n var prevEl = scope.prevEl;\n if (!prevEl) {\n forceSetStyle = forceSetTransform = true;\n }\n var canBatchPath = el instanceof Path\n && el.autoBatch\n && canPathBatch(el.style);\n if (forceSetTransform || isTransformChanged(m, prevEl.transform)) {\n flushPathDrawn(ctx, scope);\n setContextTransform(ctx, el);\n }\n else if (!canBatchPath) {\n flushPathDrawn(ctx, scope);\n }\n var style = getStyle(el, scope.inHover);\n if (el instanceof Path) {\n if (scope.lastDrawType !== DRAW_TYPE_PATH) {\n forceSetStyle = true;\n scope.lastDrawType = DRAW_TYPE_PATH;\n }\n bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetStyle, scope);\n if (!canBatchPath || (!scope.batchFill && !scope.batchStroke)) {\n ctx.beginPath();\n }\n brushPath(ctx, el, style, canBatchPath);\n if (canBatchPath) {\n scope.batchFill = style.fill || '';\n scope.batchStroke = style.stroke || '';\n }\n }\n else {\n if (el instanceof TSpan) {\n if (scope.lastDrawType !== DRAW_TYPE_TEXT) {\n forceSetStyle = true;\n scope.lastDrawType = DRAW_TYPE_TEXT;\n }\n bindPathAndTextCommonStyle(ctx, el, prevEl, forceSetStyle, scope);\n brushText(ctx, el, style);\n }\n else if (el instanceof ZRImage) {\n if (scope.lastDrawType !== DRAW_TYPE_IMAGE) {\n forceSetStyle = true;\n scope.lastDrawType = DRAW_TYPE_IMAGE;\n }\n bindImageStyle(ctx, el, prevEl, forceSetStyle, scope);\n brushImage(ctx, el, style);\n }\n else if (el.getTemporalDisplayables) {\n if (scope.lastDrawType !== DRAW_TYPE_INCREMENTAL) {\n forceSetStyle = true;\n scope.lastDrawType = DRAW_TYPE_INCREMENTAL;\n }\n brushIncremental(ctx, el, scope);\n }\n }\n if (canBatchPath && isLast) {\n flushPathDrawn(ctx, scope);\n }\n el.innerAfterBrush();\n el.afterBrush && el.afterBrush();\n scope.prevEl = el;\n el.__dirty = 0;\n el.__isRendered = true;\n}\nfunction brushIncremental(ctx, el, scope) {\n var displayables = el.getDisplayables();\n var temporalDisplayables = el.getTemporalDisplayables();\n ctx.save();\n var innerScope = {\n prevElClipPaths: null,\n prevEl: null,\n allClipped: false,\n viewWidth: scope.viewWidth,\n viewHeight: scope.viewHeight,\n inHover: scope.inHover\n };\n var i;\n var len;\n for (i = el.getCursor(), len = displayables.length; i < len; i++) {\n var displayable = displayables[i];\n displayable.beforeBrush && displayable.beforeBrush();\n displayable.innerBeforeBrush();\n brush(ctx, displayable, innerScope, i === len - 1);\n displayable.innerAfterBrush();\n displayable.afterBrush && displayable.afterBrush();\n innerScope.prevEl = displayable;\n }\n for (var i_1 = 0, len_1 = temporalDisplayables.length; i_1 < len_1; i_1++) {\n var displayable = temporalDisplayables[i_1];\n displayable.beforeBrush && displayable.beforeBrush();\n displayable.innerBeforeBrush();\n brush(ctx, displayable, innerScope, i_1 === len_1 - 1);\n displayable.innerAfterBrush();\n displayable.afterBrush && displayable.afterBrush();\n innerScope.prevEl = displayable;\n }\n el.clearTemporalDisplayables();\n el.notClear = true;\n ctx.restore();\n}\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport WeakMap from 'zrender/lib/core/WeakMap.js';\nimport LRU from 'zrender/lib/core/LRU.js';\nimport { defaults, map, isArray, isString, isNumber } from 'zrender/lib/core/util.js';\nimport { getLeastCommonMultiple } from './number.js';\nimport { createSymbol } from './symbol.js';\nimport { brushSingle } from 'zrender/lib/canvas/graphic.js';\nimport { platformApi } from 'zrender/lib/core/platform.js';\nvar decalMap = new WeakMap();\nvar decalCache = new LRU(100);\nvar decalKeys = ['symbol', 'symbolSize', 'symbolKeepAspect', 'color', 'backgroundColor', 'dashArrayX', 'dashArrayY', 'maxTileWidth', 'maxTileHeight'];\n/**\r\n * Create or update pattern image from decal options\r\n *\r\n * @param {InnerDecalObject | 'none'} decalObject decal options, 'none' if no decal\r\n * @return {Pattern} pattern with generated image, null if no decal\r\n */\n\nexport function createOrUpdatePatternFromDecal(decalObject, api) {\n if (decalObject === 'none') {\n return null;\n }\n\n var dpr = api.getDevicePixelRatio();\n var zr = api.getZr();\n var isSVG = zr.painter.type === 'svg';\n\n if (decalObject.dirty) {\n decalMap[\"delete\"](decalObject);\n }\n\n var oldPattern = decalMap.get(decalObject);\n\n if (oldPattern) {\n return oldPattern;\n }\n\n var decalOpt = defaults(decalObject, {\n symbol: 'rect',\n symbolSize: 1,\n symbolKeepAspect: true,\n color: 'rgba(0, 0, 0, 0.2)',\n backgroundColor: null,\n dashArrayX: 5,\n dashArrayY: 5,\n rotation: 0,\n maxTileWidth: 512,\n maxTileHeight: 512\n });\n\n if (decalOpt.backgroundColor === 'none') {\n decalOpt.backgroundColor = null;\n }\n\n var pattern = {\n repeat: 'repeat'\n };\n setPatternnSource(pattern);\n pattern.rotation = decalOpt.rotation;\n pattern.scaleX = pattern.scaleY = isSVG ? 1 : 1 / dpr;\n decalMap.set(decalObject, pattern);\n decalObject.dirty = false;\n return pattern;\n\n function setPatternnSource(pattern) {\n var keys = [dpr];\n var isValidKey = true;\n\n for (var i = 0; i < decalKeys.length; ++i) {\n var value = decalOpt[decalKeys[i]];\n\n if (value != null && !isArray(value) && !isString(value) && !isNumber(value) && typeof value !== 'boolean') {\n isValidKey = false;\n break;\n }\n\n keys.push(value);\n }\n\n var cacheKey;\n\n if (isValidKey) {\n cacheKey = keys.join(',') + (isSVG ? '-svg' : '');\n var cache = decalCache.get(cacheKey);\n\n if (cache) {\n isSVG ? pattern.svgElement = cache : pattern.image = cache;\n }\n }\n\n var dashArrayX = normalizeDashArrayX(decalOpt.dashArrayX);\n var dashArrayY = normalizeDashArrayY(decalOpt.dashArrayY);\n var symbolArray = normalizeSymbolArray(decalOpt.symbol);\n var lineBlockLengthsX = getLineBlockLengthX(dashArrayX);\n var lineBlockLengthY = getLineBlockLengthY(dashArrayY);\n var canvas = !isSVG && platformApi.createCanvas();\n var svgRoot = isSVG && {\n tag: 'g',\n attrs: {},\n key: 'dcl',\n children: []\n };\n var pSize = getPatternSize();\n var ctx;\n\n if (canvas) {\n canvas.width = pSize.width * dpr;\n canvas.height = pSize.height * dpr;\n ctx = canvas.getContext('2d');\n }\n\n brushDecal();\n\n if (isValidKey) {\n decalCache.put(cacheKey, canvas || svgRoot);\n }\n\n pattern.image = canvas;\n pattern.svgElement = svgRoot;\n pattern.svgWidth = pSize.width;\n pattern.svgHeight = pSize.height;\n /**\r\n * Get minimum length that can make a repeatable pattern.\r\n *\r\n * @return {Object} pattern width and height\r\n */\n\n function getPatternSize() {\n /**\r\n * For example, if dash is [[3, 2], [2, 1]] for X, it looks like\r\n * |--- --- --- --- --- ...\r\n * |-- -- -- -- -- -- -- -- ...\r\n * |--- --- --- --- --- ...\r\n * |-- -- -- -- -- -- -- -- ...\r\n * So the minimum length of X is 15,\r\n * which is the least common multiple of `3 + 2` and `2 + 1`\r\n * |--- --- --- |--- --- ...\r\n * |-- -- -- -- -- |-- -- -- ...\r\n */\n var width = 1;\n\n for (var i = 0, xlen = lineBlockLengthsX.length; i < xlen; ++i) {\n width = getLeastCommonMultiple(width, lineBlockLengthsX[i]);\n }\n\n var symbolRepeats = 1;\n\n for (var i = 0, xlen = symbolArray.length; i < xlen; ++i) {\n symbolRepeats = getLeastCommonMultiple(symbolRepeats, symbolArray[i].length);\n }\n\n width *= symbolRepeats;\n var height = lineBlockLengthY * lineBlockLengthsX.length * symbolArray.length;\n\n if (process.env.NODE_ENV !== 'production') {\n var warn = function (attrName) {\n /* eslint-disable-next-line */\n console.warn(\"Calculated decal size is greater than \" + attrName + \" due to decal option settings so \" + attrName + \" is used for the decal size. Please consider changing the decal option to make a smaller decal or set \" + attrName + \" to be larger to avoid incontinuity.\");\n };\n\n if (width > decalOpt.maxTileWidth) {\n warn('maxTileWidth');\n }\n\n if (height > decalOpt.maxTileHeight) {\n warn('maxTileHeight');\n }\n }\n\n return {\n width: Math.max(1, Math.min(width, decalOpt.maxTileWidth)),\n height: Math.max(1, Math.min(height, decalOpt.maxTileHeight))\n };\n }\n\n function brushDecal() {\n if (ctx) {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (decalOpt.backgroundColor) {\n ctx.fillStyle = decalOpt.backgroundColor;\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n }\n }\n\n var ySum = 0;\n\n for (var i = 0; i < dashArrayY.length; ++i) {\n ySum += dashArrayY[i];\n }\n\n if (ySum <= 0) {\n // dashArrayY is 0, draw nothing\n return;\n }\n\n var y = -lineBlockLengthY;\n var yId = 0;\n var yIdTotal = 0;\n var xId0 = 0;\n\n while (y < pSize.height) {\n if (yId % 2 === 0) {\n var symbolYId = yIdTotal / 2 % symbolArray.length;\n var x = 0;\n var xId1 = 0;\n var xId1Total = 0;\n\n while (x < pSize.width * 2) {\n var xSum = 0;\n\n for (var i = 0; i < dashArrayX[xId0].length; ++i) {\n xSum += dashArrayX[xId0][i];\n }\n\n if (xSum <= 0) {\n // Skip empty line\n break;\n } // E.g., [15, 5, 20, 5] draws only for 15 and 20\n\n\n if (xId1 % 2 === 0) {\n var size = (1 - decalOpt.symbolSize) * 0.5;\n var left = x + dashArrayX[xId0][xId1] * size;\n var top_1 = y + dashArrayY[yId] * size;\n var width = dashArrayX[xId0][xId1] * decalOpt.symbolSize;\n var height = dashArrayY[yId] * decalOpt.symbolSize;\n var symbolXId = xId1Total / 2 % symbolArray[symbolYId].length;\n brushSymbol(left, top_1, width, height, symbolArray[symbolYId][symbolXId]);\n }\n\n x += dashArrayX[xId0][xId1];\n ++xId1Total;\n ++xId1;\n\n if (xId1 === dashArrayX[xId0].length) {\n xId1 = 0;\n }\n }\n\n ++xId0;\n\n if (xId0 === dashArrayX.length) {\n xId0 = 0;\n }\n }\n\n y += dashArrayY[yId];\n ++yIdTotal;\n ++yId;\n\n if (yId === dashArrayY.length) {\n yId = 0;\n }\n }\n\n function brushSymbol(x, y, width, height, symbolType) {\n var scale = isSVG ? 1 : dpr;\n var symbol = createSymbol(symbolType, x * scale, y * scale, width * scale, height * scale, decalOpt.color, decalOpt.symbolKeepAspect);\n\n if (isSVG) {\n var symbolVNode = zr.painter.renderOneToVNode(symbol);\n\n if (symbolVNode) {\n svgRoot.children.push(symbolVNode);\n }\n } else {\n // Paint to canvas for all other renderers.\n brushSingle(ctx, symbol);\n }\n }\n }\n }\n}\n/**\r\n * Convert symbol array into normalized array\r\n *\r\n * @param {string | (string | string[])[]} symbol symbol input\r\n * @return {string[][]} normolized symbol array\r\n */\n\nfunction normalizeSymbolArray(symbol) {\n if (!symbol || symbol.length === 0) {\n return [['rect']];\n }\n\n if (isString(symbol)) {\n return [[symbol]];\n }\n\n var isAllString = true;\n\n for (var i = 0; i < symbol.length; ++i) {\n if (!isString(symbol[i])) {\n isAllString = false;\n break;\n }\n }\n\n if (isAllString) {\n return normalizeSymbolArray([symbol]);\n }\n\n var result = [];\n\n for (var i = 0; i < symbol.length; ++i) {\n if (isString(symbol[i])) {\n result.push([symbol[i]]);\n } else {\n result.push(symbol[i]);\n }\n }\n\n return result;\n}\n/**\r\n * Convert dash input into dashArray\r\n *\r\n * @param {DecalDashArrayX} dash dash input\r\n * @return {number[][]} normolized dash array\r\n */\n\n\nfunction normalizeDashArrayX(dash) {\n if (!dash || dash.length === 0) {\n return [[0, 0]];\n }\n\n if (isNumber(dash)) {\n var dashValue = Math.ceil(dash);\n return [[dashValue, dashValue]];\n }\n /**\r\n * [20, 5] should be normalized into [[20, 5]],\r\n * while [20, [5, 10]] should be normalized into [[20, 20], [5, 10]]\r\n */\n\n\n var isAllNumber = true;\n\n for (var i = 0; i < dash.length; ++i) {\n if (!isNumber(dash[i])) {\n isAllNumber = false;\n break;\n }\n }\n\n if (isAllNumber) {\n return normalizeDashArrayX([dash]);\n }\n\n var result = [];\n\n for (var i = 0; i < dash.length; ++i) {\n if (isNumber(dash[i])) {\n var dashValue = Math.ceil(dash[i]);\n result.push([dashValue, dashValue]);\n } else {\n var dashValue = map(dash[i], function (n) {\n return Math.ceil(n);\n });\n\n if (dashValue.length % 2 === 1) {\n // [4, 2, 1] means |---- - -- |---- - -- |\n // so normalize it to be [4, 2, 1, 4, 2, 1]\n result.push(dashValue.concat(dashValue));\n } else {\n result.push(dashValue);\n }\n }\n }\n\n return result;\n}\n/**\r\n * Convert dash input into dashArray\r\n *\r\n * @param {DecalDashArrayY} dash dash input\r\n * @return {number[]} normolized dash array\r\n */\n\n\nfunction normalizeDashArrayY(dash) {\n if (!dash || typeof dash === 'object' && dash.length === 0) {\n return [0, 0];\n }\n\n if (isNumber(dash)) {\n var dashValue_1 = Math.ceil(dash);\n return [dashValue_1, dashValue_1];\n }\n\n var dashValue = map(dash, function (n) {\n return Math.ceil(n);\n });\n return dash.length % 2 ? dashValue.concat(dashValue) : dashValue;\n}\n/**\r\n * Get block length of each line. A block is the length of dash line and space.\r\n * For example, a line with [4, 1] has a dash line of 4 and a space of 1 after\r\n * that, so the block length of this line is 5.\r\n *\r\n * @param {number[][]} dash dash array of X or Y\r\n * @return {number[]} block length of each line\r\n */\n\n\nfunction getLineBlockLengthX(dash) {\n return map(dash, function (line) {\n return getLineBlockLengthY(line);\n });\n}\n\nfunction getLineBlockLengthY(dash) {\n var blockLength = 0;\n\n for (var i = 0; i < dash.length; ++i) {\n blockLength += dash[i];\n }\n\n if (dash.length % 2 === 1) {\n // [4, 2, 1] means |---- - -- |---- - -- |\n // So total length is (4 + 2 + 1) * 2\n return blockLength * 2;\n }\n\n return blockLength;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createOrUpdatePatternFromDecal } from '../util/decal.js';\nexport default function decalVisual(ecModel, api) {\n ecModel.eachRawSeries(function (seriesModel) {\n if (ecModel.isSeriesFiltered(seriesModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n\n if (data.hasItemVisual()) {\n data.each(function (idx) {\n var decal = data.getItemVisual(idx, 'decal');\n\n if (decal) {\n var itemStyle = data.ensureUniqueItemVisual(idx, 'style');\n itemStyle.decal = createOrUpdatePatternFromDecal(decal, api);\n }\n });\n }\n\n var decal = data.getVisual('decal');\n\n if (decal) {\n var style = data.getVisual('style');\n style.decal = createOrUpdatePatternFromDecal(decal, api);\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport Eventful from 'zrender/lib/core/Eventful.js';\n;\nvar lifecycle = new Eventful();\nexport default lifecycle;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { error } from '../util/log.js'; // Implementation of exported APIs. For example registerMap, getMap.\n// The implementations will be registered when installing the component.\n// Avoid these code being bundled to the core module.\n\nvar implsStore = {}; // TODO Type\n\nexport function registerImpl(name, impl) {\n if (process.env.NODE_ENV !== 'production') {\n if (implsStore[name]) {\n error(\"Already has an implementation of \" + name + \".\");\n }\n }\n\n implsStore[name] = impl;\n}\nexport function getImpl(name) {\n if (process.env.NODE_ENV !== 'production') {\n if (!implsStore[name]) {\n error(\"Implementation of \" + name + \" doesn't exists.\");\n }\n }\n\n return implsStore[name];\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\nimport { __extends } from \"tslib\";\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\nimport * as zrender from 'zrender/lib/zrender.js';\nimport { assert, each, isFunction, isObject, indexOf, bind, clone, setAsPrimitive, extend, createHashMap, map, defaults, isDom, isArray, noop, isString, retrieve2 } from 'zrender/lib/core/util.js';\nimport env from 'zrender/lib/core/env.js';\nimport timsort from 'zrender/lib/core/timsort.js';\nimport Eventful from 'zrender/lib/core/Eventful.js';\nimport GlobalModel from '../model/Global.js';\nimport ExtensionAPI from './ExtensionAPI.js';\nimport CoordinateSystemManager from './CoordinateSystem.js';\nimport OptionManager from '../model/OptionManager.js';\nimport backwardCompat from '../preprocessor/backwardCompat.js';\nimport dataStack from '../processor/dataStack.js';\nimport SeriesModel from '../model/Series.js';\nimport ComponentView from '../view/Component.js';\nimport ChartView from '../view/Chart.js';\nimport * as graphic from '../util/graphic.js';\nimport { getECData } from '../util/innerStore.js';\nimport { isHighDownDispatcher, HOVER_STATE_EMPHASIS, HOVER_STATE_BLUR, blurSeriesFromHighlightPayload, toggleSelectionFromPayload, updateSeriesElementSelection, getAllSelectedIndices, isSelectChangePayload, isHighDownPayload, HIGHLIGHT_ACTION_TYPE, DOWNPLAY_ACTION_TYPE, SELECT_ACTION_TYPE, UNSELECT_ACTION_TYPE, TOGGLE_SELECT_ACTION_TYPE, savePathStates, enterEmphasis, leaveEmphasis, leaveBlur, enterSelect, leaveSelect, enterBlur, allLeaveBlur, findComponentHighDownDispatchers, blurComponent, handleGlobalMouseOverForHighDown, handleGlobalMouseOutForHighDown } from '../util/states.js';\nimport * as modelUtil from '../util/model.js';\nimport { throttle } from '../util/throttle.js';\nimport { seriesStyleTask, dataStyleTask, dataColorPaletteTask } from '../visual/style.js';\nimport loadingDefault from '../loading/default.js';\nimport Scheduler from './Scheduler.js';\nimport lightTheme from '../theme/light.js';\nimport darkTheme from '../theme/dark.js';\nimport { parseClassType } from '../util/clazz.js';\nimport { ECEventProcessor } from '../util/ECEventProcessor.js';\nimport { seriesSymbolTask, dataSymbolTask } from '../visual/symbol.js';\nimport { getVisualFromData, getItemVisualFromData } from '../visual/helper.js';\nimport { deprecateLog, deprecateReplaceLog, error, warn } from '../util/log.js';\nimport { handleLegacySelectEvents } from '../legacy/dataSelectAction.js';\nimport { registerExternalTransform } from '../data/helper/transform.js';\nimport { createLocaleObject, SYSTEM_LANG } from './locale.js';\nimport { findEventDispatcher } from '../util/event.js';\nimport decal from '../visual/decal.js';\nimport lifecycle from './lifecycle.js';\nimport { platformApi, setPlatformAPI } from 'zrender/lib/core/platform.js';\nimport { getImpl } from './impl.js';\nexport var version = '5.4.3';\nexport var dependencies = {\n zrender: '5.4.4'\n};\nvar TEST_FRAME_REMAIN_TIME = 1;\nvar PRIORITY_PROCESSOR_SERIES_FILTER = 800; // Some data processors depends on the stack result dimension (to calculate data extent).\n// So data stack stage should be in front of data processing stage.\n\nvar PRIORITY_PROCESSOR_DATASTACK = 900; // \"Data filter\" will block the stream, so it should be\n// put at the beginning of data processing.\n\nvar PRIORITY_PROCESSOR_FILTER = 1000;\nvar PRIORITY_PROCESSOR_DEFAULT = 2000;\nvar PRIORITY_PROCESSOR_STATISTIC = 5000;\nvar PRIORITY_VISUAL_LAYOUT = 1000;\nvar PRIORITY_VISUAL_PROGRESSIVE_LAYOUT = 1100;\nvar PRIORITY_VISUAL_GLOBAL = 2000;\nvar PRIORITY_VISUAL_CHART = 3000;\nvar PRIORITY_VISUAL_COMPONENT = 4000; // Visual property in data. Greater than `PRIORITY_VISUAL_COMPONENT` to enable to\n// overwrite the viusal result of component (like `visualMap`)\n// using data item specific setting (like itemStyle.xxx on data item)\n\nvar PRIORITY_VISUAL_CHART_DATA_CUSTOM = 4500; // Greater than `PRIORITY_VISUAL_CHART_DATA_CUSTOM` to enable to layout based on\n// visual result like `symbolSize`.\n\nvar PRIORITY_VISUAL_POST_CHART_LAYOUT = 4600;\nvar PRIORITY_VISUAL_BRUSH = 5000;\nvar PRIORITY_VISUAL_ARIA = 6000;\nvar PRIORITY_VISUAL_DECAL = 7000;\nexport var PRIORITY = {\n PROCESSOR: {\n FILTER: PRIORITY_PROCESSOR_FILTER,\n SERIES_FILTER: PRIORITY_PROCESSOR_SERIES_FILTER,\n STATISTIC: PRIORITY_PROCESSOR_STATISTIC\n },\n VISUAL: {\n LAYOUT: PRIORITY_VISUAL_LAYOUT,\n PROGRESSIVE_LAYOUT: PRIORITY_VISUAL_PROGRESSIVE_LAYOUT,\n GLOBAL: PRIORITY_VISUAL_GLOBAL,\n CHART: PRIORITY_VISUAL_CHART,\n POST_CHART_LAYOUT: PRIORITY_VISUAL_POST_CHART_LAYOUT,\n COMPONENT: PRIORITY_VISUAL_COMPONENT,\n BRUSH: PRIORITY_VISUAL_BRUSH,\n CHART_ITEM: PRIORITY_VISUAL_CHART_DATA_CUSTOM,\n ARIA: PRIORITY_VISUAL_ARIA,\n DECAL: PRIORITY_VISUAL_DECAL\n }\n}; // Main process have three entries: `setOption`, `dispatchAction` and `resize`,\n// where they must not be invoked nestedly, except the only case: invoke\n// dispatchAction with updateMethod \"none\" in main process.\n// This flag is used to carry out this rule.\n// All events will be triggered out side main process (i.e. when !this[IN_MAIN_PROCESS]).\n\nvar IN_MAIN_PROCESS_KEY = '__flagInMainProcess';\nvar PENDING_UPDATE = '__pendingUpdate';\nvar STATUS_NEEDS_UPDATE_KEY = '__needsUpdateStatus';\nvar ACTION_REG = /^[a-zA-Z0-9_]+$/;\nvar CONNECT_STATUS_KEY = '__connectUpdateStatus';\nvar CONNECT_STATUS_PENDING = 0;\nvar CONNECT_STATUS_UPDATING = 1;\nvar CONNECT_STATUS_UPDATED = 2;\n;\n;\n\nfunction createRegisterEventWithLowercaseECharts(method) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n if (this.isDisposed()) {\n disposedWarning(this.id);\n return;\n }\n\n return toLowercaseNameAndCallEventful(this, method, args);\n };\n}\n\nfunction createRegisterEventWithLowercaseMessageCenter(method) {\n return function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n return toLowercaseNameAndCallEventful(this, method, args);\n };\n}\n\nfunction toLowercaseNameAndCallEventful(host, method, args) {\n // `args[0]` is event name. Event name is all lowercase.\n args[0] = args[0] && args[0].toLowerCase();\n return Eventful.prototype[method].apply(host, args);\n}\n\nvar MessageCenter =\n/** @class */\nfunction (_super) {\n __extends(MessageCenter, _super);\n\n function MessageCenter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n return MessageCenter;\n}(Eventful);\n\nvar messageCenterProto = MessageCenter.prototype;\nmessageCenterProto.on = createRegisterEventWithLowercaseMessageCenter('on');\nmessageCenterProto.off = createRegisterEventWithLowercaseMessageCenter('off'); // ---------------------------------------\n// Internal method names for class ECharts\n// ---------------------------------------\n\nvar prepare;\nvar prepareView;\nvar updateDirectly;\nvar updateMethods;\nvar doConvertPixel;\nvar updateStreamModes;\nvar doDispatchAction;\nvar flushPendingActions;\nvar triggerUpdatedEvent;\nvar bindRenderedEvent;\nvar bindMouseEvent;\nvar render;\nvar renderComponents;\nvar renderSeries;\nvar createExtensionAPI;\nvar enableConnect;\nvar markStatusToUpdate;\nvar applyChangedStates;\n\nvar ECharts =\n/** @class */\nfunction (_super) {\n __extends(ECharts, _super);\n\n function ECharts(dom, // Theme name or themeOption.\n theme, opts) {\n var _this = _super.call(this, new ECEventProcessor()) || this;\n\n _this._chartsViews = [];\n _this._chartsMap = {};\n _this._componentsViews = [];\n _this._componentsMap = {}; // Can't dispatch action during rendering procedure\n\n _this._pendingActions = [];\n opts = opts || {}; // Get theme by name\n\n if (isString(theme)) {\n theme = themeStorage[theme];\n }\n\n _this._dom = dom;\n var defaultRenderer = 'canvas';\n var defaultCoarsePointer = 'auto';\n var defaultUseDirtyRect = false;\n\n if (process.env.NODE_ENV !== 'production') {\n var root =\n /* eslint-disable-next-line */\n env.hasGlobalWindow ? window : global;\n defaultRenderer = root.__ECHARTS__DEFAULT__RENDERER__ || defaultRenderer;\n defaultCoarsePointer = retrieve2(root.__ECHARTS__DEFAULT__COARSE_POINTER, defaultCoarsePointer);\n var devUseDirtyRect = root.__ECHARTS__DEFAULT__USE_DIRTY_RECT__;\n defaultUseDirtyRect = devUseDirtyRect == null ? defaultUseDirtyRect : devUseDirtyRect;\n }\n\n var zr = _this._zr = zrender.init(dom, {\n renderer: opts.renderer || defaultRenderer,\n devicePixelRatio: opts.devicePixelRatio,\n width: opts.width,\n height: opts.height,\n ssr: opts.ssr,\n useDirtyRect: retrieve2(opts.useDirtyRect, defaultUseDirtyRect),\n useCoarsePointer: retrieve2(opts.useCoarsePointer, defaultCoarsePointer),\n pointerSize: opts.pointerSize\n });\n _this._ssr = opts.ssr; // Expect 60 fps.\n\n _this._throttledZrFlush = throttle(bind(zr.flush, zr), 17);\n theme = clone(theme);\n theme && backwardCompat(theme, true);\n _this._theme = theme;\n _this._locale = createLocaleObject(opts.locale || SYSTEM_LANG);\n _this._coordSysMgr = new CoordinateSystemManager();\n var api = _this._api = createExtensionAPI(_this); // Sort on demand\n\n function prioritySortFunc(a, b) {\n return a.__prio - b.__prio;\n }\n\n timsort(visualFuncs, prioritySortFunc);\n timsort(dataProcessorFuncs, prioritySortFunc);\n _this._scheduler = new Scheduler(_this, api, dataProcessorFuncs, visualFuncs);\n _this._messageCenter = new MessageCenter(); // Init mouse events\n\n _this._initEvents(); // In case some people write `window.onresize = chart.resize`\n\n\n _this.resize = bind(_this.resize, _this);\n zr.animation.on('frame', _this._onframe, _this);\n bindRenderedEvent(zr, _this);\n bindMouseEvent(zr, _this); // ECharts instance can be used as value.\n\n setAsPrimitive(_this);\n return _this;\n }\n\n ECharts.prototype._onframe = function () {\n if (this._disposed) {\n return;\n }\n\n applyChangedStates(this);\n var scheduler = this._scheduler; // Lazy update\n\n if (this[PENDING_UPDATE]) {\n var silent = this[PENDING_UPDATE].silent;\n this[IN_MAIN_PROCESS_KEY] = true;\n\n try {\n prepare(this);\n updateMethods.update.call(this, null, this[PENDING_UPDATE].updateParams);\n } catch (e) {\n this[IN_MAIN_PROCESS_KEY] = false;\n this[PENDING_UPDATE] = null;\n throw e;\n } // At present, in each frame, zrender performs:\n // (1) animation step forward.\n // (2) trigger('frame') (where this `_onframe` is called)\n // (3) zrender flush (render).\n // If we do nothing here, since we use `setToFinal: true`, the step (3) above\n // will render the final state of the elements before the real animation started.\n\n\n this._zr.flush();\n\n this[IN_MAIN_PROCESS_KEY] = false;\n this[PENDING_UPDATE] = null;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n } // Avoid do both lazy update and progress in one frame.\n else if (scheduler.unfinished) {\n // Stream progress.\n var remainTime = TEST_FRAME_REMAIN_TIME;\n var ecModel = this._model;\n var api = this._api;\n scheduler.unfinished = false;\n\n do {\n var startTime = +new Date();\n scheduler.performSeriesTasks(ecModel); // Currently dataProcessorFuncs do not check threshold.\n\n scheduler.performDataProcessorTasks(ecModel);\n updateStreamModes(this, ecModel); // Do not update coordinate system here. Because that coord system update in\n // each frame is not a good user experience. So we follow the rule that\n // the extent of the coordinate system is determined in the first frame (the\n // frame is executed immediately after task reset.\n // this._coordSysMgr.update(ecModel, api);\n // console.log('--- ec frame visual ---', remainTime);\n\n scheduler.performVisualTasks(ecModel);\n renderSeries(this, this._model, api, 'remain', {});\n remainTime -= +new Date() - startTime;\n } while (remainTime > 0 && scheduler.unfinished); // Call flush explicitly for trigger finished event.\n\n\n if (!scheduler.unfinished) {\n this._zr.flush();\n } // Else, zr flushing be ensue within the same frame,\n // because zr flushing is after onframe event.\n\n }\n };\n\n ECharts.prototype.getDom = function () {\n return this._dom;\n };\n\n ECharts.prototype.getId = function () {\n return this.id;\n };\n\n ECharts.prototype.getZr = function () {\n return this._zr;\n };\n\n ECharts.prototype.isSSR = function () {\n return this._ssr;\n };\n /* eslint-disable-next-line */\n\n\n ECharts.prototype.setOption = function (option, notMerge, lazyUpdate) {\n if (this[IN_MAIN_PROCESS_KEY]) {\n if (process.env.NODE_ENV !== 'production') {\n error('`setOption` should not be called during main process.');\n }\n\n return;\n }\n\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var silent;\n var replaceMerge;\n var transitionOpt;\n\n if (isObject(notMerge)) {\n lazyUpdate = notMerge.lazyUpdate;\n silent = notMerge.silent;\n replaceMerge = notMerge.replaceMerge;\n transitionOpt = notMerge.transition;\n notMerge = notMerge.notMerge;\n }\n\n this[IN_MAIN_PROCESS_KEY] = true;\n\n if (!this._model || notMerge) {\n var optionManager = new OptionManager(this._api);\n var theme = this._theme;\n var ecModel = this._model = new GlobalModel();\n ecModel.scheduler = this._scheduler;\n ecModel.ssr = this._ssr;\n ecModel.init(null, null, null, theme, this._locale, optionManager);\n }\n\n this._model.setOption(option, {\n replaceMerge: replaceMerge\n }, optionPreprocessorFuncs);\n\n var updateParams = {\n seriesTransition: transitionOpt,\n optionChanged: true\n };\n\n if (lazyUpdate) {\n this[PENDING_UPDATE] = {\n silent: silent,\n updateParams: updateParams\n };\n this[IN_MAIN_PROCESS_KEY] = false; // `setOption(option, {lazyMode: true})` may be called when zrender has been slept.\n // It should wake it up to make sure zrender start to render at the next frame.\n\n this.getZr().wakeUp();\n } else {\n try {\n prepare(this);\n updateMethods.update.call(this, null, updateParams);\n } catch (e) {\n this[PENDING_UPDATE] = null;\n this[IN_MAIN_PROCESS_KEY] = false;\n throw e;\n } // Ensure zr refresh sychronously, and then pixel in canvas can be\n // fetched after `setOption`.\n\n\n if (!this._ssr) {\n // not use flush when using ssr mode.\n this._zr.flush();\n }\n\n this[PENDING_UPDATE] = null;\n this[IN_MAIN_PROCESS_KEY] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n }\n };\n /**\r\n * @deprecated\r\n */\n\n\n ECharts.prototype.setTheme = function () {\n deprecateLog('ECharts#setTheme() is DEPRECATED in ECharts 3.0');\n }; // We don't want developers to use getModel directly.\n\n\n ECharts.prototype.getModel = function () {\n return this._model;\n };\n\n ECharts.prototype.getOption = function () {\n return this._model && this._model.getOption();\n };\n\n ECharts.prototype.getWidth = function () {\n return this._zr.getWidth();\n };\n\n ECharts.prototype.getHeight = function () {\n return this._zr.getHeight();\n };\n\n ECharts.prototype.getDevicePixelRatio = function () {\n return this._zr.painter.dpr\n /* eslint-disable-next-line */\n || env.hasGlobalWindow && window.devicePixelRatio || 1;\n };\n /**\r\n * Get canvas which has all thing rendered\r\n * @deprecated Use renderToCanvas instead.\r\n */\n\n\n ECharts.prototype.getRenderedCanvas = function (opts) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateReplaceLog('getRenderedCanvas', 'renderToCanvas');\n }\n\n return this.renderToCanvas(opts);\n };\n\n ECharts.prototype.renderToCanvas = function (opts) {\n opts = opts || {};\n var painter = this._zr.painter;\n\n if (process.env.NODE_ENV !== 'production') {\n if (painter.type !== 'canvas') {\n throw new Error('renderToCanvas can only be used in the canvas renderer.');\n }\n }\n\n return painter.getRenderedCanvas({\n backgroundColor: opts.backgroundColor || this._model.get('backgroundColor'),\n pixelRatio: opts.pixelRatio || this.getDevicePixelRatio()\n });\n };\n\n ECharts.prototype.renderToSVGString = function (opts) {\n opts = opts || {};\n var painter = this._zr.painter;\n\n if (process.env.NODE_ENV !== 'production') {\n if (painter.type !== 'svg') {\n throw new Error('renderToSVGString can only be used in the svg renderer.');\n }\n }\n\n return painter.renderToString({\n useViewBox: opts.useViewBox\n });\n };\n /**\r\n * Get svg data url\r\n */\n\n\n ECharts.prototype.getSvgDataURL = function () {\n if (!env.svgSupported) {\n return;\n }\n\n var zr = this._zr;\n var list = zr.storage.getDisplayList(); // Stop animations\n\n each(list, function (el) {\n el.stopAnimation(null, true);\n });\n return zr.painter.toDataURL();\n };\n\n ECharts.prototype.getDataURL = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n opts = opts || {};\n var excludeComponents = opts.excludeComponents;\n var ecModel = this._model;\n var excludesComponentViews = [];\n var self = this;\n each(excludeComponents, function (componentType) {\n ecModel.eachComponent({\n mainType: componentType\n }, function (component) {\n var view = self._componentsMap[component.__viewId];\n\n if (!view.group.ignore) {\n excludesComponentViews.push(view);\n view.group.ignore = true;\n }\n });\n });\n var url = this._zr.painter.getType() === 'svg' ? this.getSvgDataURL() : this.renderToCanvas(opts).toDataURL('image/' + (opts && opts.type || 'png'));\n each(excludesComponentViews, function (view) {\n view.group.ignore = false;\n });\n return url;\n };\n\n ECharts.prototype.getConnectedDataURL = function (opts) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var isSvg = opts.type === 'svg';\n var groupId = this.group;\n var mathMin = Math.min;\n var mathMax = Math.max;\n var MAX_NUMBER = Infinity;\n\n if (connectedGroups[groupId]) {\n var left_1 = MAX_NUMBER;\n var top_1 = MAX_NUMBER;\n var right_1 = -MAX_NUMBER;\n var bottom_1 = -MAX_NUMBER;\n var canvasList_1 = [];\n var dpr_1 = opts && opts.pixelRatio || this.getDevicePixelRatio();\n each(instances, function (chart, id) {\n if (chart.group === groupId) {\n var canvas = isSvg ? chart.getZr().painter.getSvgDom().innerHTML : chart.renderToCanvas(clone(opts));\n var boundingRect = chart.getDom().getBoundingClientRect();\n left_1 = mathMin(boundingRect.left, left_1);\n top_1 = mathMin(boundingRect.top, top_1);\n right_1 = mathMax(boundingRect.right, right_1);\n bottom_1 = mathMax(boundingRect.bottom, bottom_1);\n canvasList_1.push({\n dom: canvas,\n left: boundingRect.left,\n top: boundingRect.top\n });\n }\n });\n left_1 *= dpr_1;\n top_1 *= dpr_1;\n right_1 *= dpr_1;\n bottom_1 *= dpr_1;\n var width = right_1 - left_1;\n var height = bottom_1 - top_1;\n var targetCanvas = platformApi.createCanvas();\n var zr_1 = zrender.init(targetCanvas, {\n renderer: isSvg ? 'svg' : 'canvas'\n });\n zr_1.resize({\n width: width,\n height: height\n });\n\n if (isSvg) {\n var content_1 = '';\n each(canvasList_1, function (item) {\n var x = item.left - left_1;\n var y = item.top - top_1;\n content_1 += '' + item.dom + '';\n });\n zr_1.painter.getSvgRoot().innerHTML = content_1;\n\n if (opts.connectedBackgroundColor) {\n zr_1.painter.setBackgroundColor(opts.connectedBackgroundColor);\n }\n\n zr_1.refreshImmediately();\n return zr_1.painter.toDataURL();\n } else {\n // Background between the charts\n if (opts.connectedBackgroundColor) {\n zr_1.add(new graphic.Rect({\n shape: {\n x: 0,\n y: 0,\n width: width,\n height: height\n },\n style: {\n fill: opts.connectedBackgroundColor\n }\n }));\n }\n\n each(canvasList_1, function (item) {\n var img = new graphic.Image({\n style: {\n x: item.left * dpr_1 - left_1,\n y: item.top * dpr_1 - top_1,\n image: item.dom\n }\n });\n zr_1.add(img);\n });\n zr_1.refreshImmediately();\n return targetCanvas.toDataURL('image/' + (opts && opts.type || 'png'));\n }\n } else {\n return this.getDataURL(opts);\n }\n };\n\n ECharts.prototype.convertToPixel = function (finder, value) {\n return doConvertPixel(this, 'convertToPixel', finder, value);\n };\n\n ECharts.prototype.convertFromPixel = function (finder, value) {\n return doConvertPixel(this, 'convertFromPixel', finder, value);\n };\n /**\r\n * Is the specified coordinate systems or components contain the given pixel point.\r\n * @param {Array|number} value\r\n * @return {boolean} result\r\n */\n\n\n ECharts.prototype.containPixel = function (finder, value) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var ecModel = this._model;\n var result;\n var findResult = modelUtil.parseFinder(ecModel, finder);\n each(findResult, function (models, key) {\n key.indexOf('Models') >= 0 && each(models, function (model) {\n var coordSys = model.coordinateSystem;\n\n if (coordSys && coordSys.containPoint) {\n result = result || !!coordSys.containPoint(value);\n } else if (key === 'seriesModels') {\n var view = this._chartsMap[model.__viewId];\n\n if (view && view.containPoint) {\n result = result || view.containPoint(value, model);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(key + ': ' + (view ? 'The found component do not support containPoint.' : 'No view mapping to the found component.'));\n }\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n warn(key + ': containPoint is not supported');\n }\n }\n }, this);\n }, this);\n return !!result;\n };\n /**\r\n * Get visual from series or data.\r\n * @param finder\r\n * If string, e.g., 'series', means {seriesIndex: 0}.\r\n * If Object, could contain some of these properties below:\r\n * {\r\n * seriesIndex / seriesId / seriesName,\r\n * dataIndex / dataIndexInside\r\n * }\r\n * If dataIndex is not specified, series visual will be fetched,\r\n * but not data item visual.\r\n * If all of seriesIndex, seriesId, seriesName are not specified,\r\n * visual will be fetched from first series.\r\n * @param visualType 'color', 'symbol', 'symbolSize'\r\n */\n\n\n ECharts.prototype.getVisual = function (finder, visualType) {\n var ecModel = this._model;\n var parsedFinder = modelUtil.parseFinder(ecModel, finder, {\n defaultMainType: 'series'\n });\n var seriesModel = parsedFinder.seriesModel;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!seriesModel) {\n warn('There is no specified series model');\n }\n }\n\n var data = seriesModel.getData();\n var dataIndexInside = parsedFinder.hasOwnProperty('dataIndexInside') ? parsedFinder.dataIndexInside : parsedFinder.hasOwnProperty('dataIndex') ? data.indexOfRawIndex(parsedFinder.dataIndex) : null;\n return dataIndexInside != null ? getItemVisualFromData(data, dataIndexInside, visualType) : getVisualFromData(data, visualType);\n };\n /**\r\n * Get view of corresponding component model\r\n */\n\n\n ECharts.prototype.getViewOfComponentModel = function (componentModel) {\n return this._componentsMap[componentModel.__viewId];\n };\n /**\r\n * Get view of corresponding series model\r\n */\n\n\n ECharts.prototype.getViewOfSeriesModel = function (seriesModel) {\n return this._chartsMap[seriesModel.__viewId];\n };\n\n ECharts.prototype._initEvents = function () {\n var _this = this;\n\n each(MOUSE_EVENT_NAMES, function (eveName) {\n var handler = function (e) {\n var ecModel = _this.getModel();\n\n var el = e.target;\n var params;\n var isGlobalOut = eveName === 'globalout'; // no e.target when 'globalout'.\n\n if (isGlobalOut) {\n params = {};\n } else {\n el && findEventDispatcher(el, function (parent) {\n var ecData = getECData(parent);\n\n if (ecData && ecData.dataIndex != null) {\n var dataModel = ecData.dataModel || ecModel.getSeriesByIndex(ecData.seriesIndex);\n params = dataModel && dataModel.getDataParams(ecData.dataIndex, ecData.dataType, el) || {};\n return true;\n } // If element has custom eventData of components\n else if (ecData.eventData) {\n params = extend({}, ecData.eventData);\n return true;\n }\n }, true);\n } // Contract: if params prepared in mouse event,\n // these properties must be specified:\n // {\n // componentType: string (component main type)\n // componentIndex: number\n // }\n // Otherwise event query can not work.\n\n\n if (params) {\n var componentType = params.componentType;\n var componentIndex = params.componentIndex; // Special handling for historic reason: when trigger by\n // markLine/markPoint/markArea, the componentType is\n // 'markLine'/'markPoint'/'markArea', but we should better\n // enable them to be queried by seriesIndex, since their\n // option is set in each series.\n\n if (componentType === 'markLine' || componentType === 'markPoint' || componentType === 'markArea') {\n componentType = 'series';\n componentIndex = params.seriesIndex;\n }\n\n var model = componentType && componentIndex != null && ecModel.getComponent(componentType, componentIndex);\n var view = model && _this[model.mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId];\n\n if (process.env.NODE_ENV !== 'production') {\n // `event.componentType` and `event[componentTpype + 'Index']` must not\n // be missed, otherwise there is no way to distinguish source component.\n // See `dataFormat.getDataParams`.\n if (!isGlobalOut && !(model && view)) {\n warn('model or view can not be found by params');\n }\n }\n\n params.event = e;\n params.type = eveName;\n _this._$eventProcessor.eventInfo = {\n targetEl: el,\n packedEvent: params,\n model: model,\n view: view\n };\n\n _this.trigger(eveName, params);\n }\n }; // Consider that some component (like tooltip, brush, ...)\n // register zr event handler, but user event handler might\n // do anything, such as call `setOption` or `dispatchAction`,\n // which probably update any of the content and probably\n // cause problem if it is called previous other inner handlers.\n\n\n handler.zrEventfulCallAtLast = true;\n\n _this._zr.on(eveName, handler, _this);\n });\n each(eventActionMap, function (actionType, eventType) {\n _this._messageCenter.on(eventType, function (event) {\n this.trigger(eventType, event);\n }, _this);\n }); // Extra events\n // TODO register?\n\n each(['selectchanged'], function (eventType) {\n _this._messageCenter.on(eventType, function (event) {\n this.trigger(eventType, event);\n }, _this);\n });\n handleLegacySelectEvents(this._messageCenter, this, this._api);\n };\n\n ECharts.prototype.isDisposed = function () {\n return this._disposed;\n };\n\n ECharts.prototype.clear = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this.setOption({\n series: []\n }, true);\n };\n\n ECharts.prototype.dispose = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._disposed = true;\n var dom = this.getDom();\n\n if (dom) {\n modelUtil.setAttribute(this.getDom(), DOM_ATTRIBUTE_KEY, '');\n }\n\n var chart = this;\n var api = chart._api;\n var ecModel = chart._model;\n each(chart._componentsViews, function (component) {\n component.dispose(ecModel, api);\n });\n each(chart._chartsViews, function (chart) {\n chart.dispose(ecModel, api);\n }); // Dispose after all views disposed\n\n chart._zr.dispose(); // Set properties to null.\n // To reduce the memory cost in case the top code still holds this instance unexpectedly.\n\n\n chart._dom = chart._model = chart._chartsMap = chart._componentsMap = chart._chartsViews = chart._componentsViews = chart._scheduler = chart._api = chart._zr = chart._throttledZrFlush = chart._theme = chart._coordSysMgr = chart._messageCenter = null;\n delete instances[chart.id];\n };\n /**\r\n * Resize the chart\r\n */\n\n\n ECharts.prototype.resize = function (opts) {\n if (this[IN_MAIN_PROCESS_KEY]) {\n if (process.env.NODE_ENV !== 'production') {\n error('`resize` should not be called during main process.');\n }\n\n return;\n }\n\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._zr.resize(opts);\n\n var ecModel = this._model; // Resize loading effect\n\n this._loadingFX && this._loadingFX.resize();\n\n if (!ecModel) {\n return;\n }\n\n var needPrepare = ecModel.resetOption('media');\n var silent = opts && opts.silent; // There is some real cases that:\n // chart.setOption(option, { lazyUpdate: true });\n // chart.resize();\n\n if (this[PENDING_UPDATE]) {\n if (silent == null) {\n silent = this[PENDING_UPDATE].silent;\n }\n\n needPrepare = true;\n this[PENDING_UPDATE] = null;\n }\n\n this[IN_MAIN_PROCESS_KEY] = true;\n\n try {\n needPrepare && prepare(this);\n updateMethods.update.call(this, {\n type: 'resize',\n animation: extend({\n // Disable animation\n duration: 0\n }, opts && opts.animation)\n });\n } catch (e) {\n this[IN_MAIN_PROCESS_KEY] = false;\n throw e;\n }\n\n this[IN_MAIN_PROCESS_KEY] = false;\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n };\n\n ECharts.prototype.showLoading = function (name, cfg) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (isObject(name)) {\n cfg = name;\n name = '';\n }\n\n name = name || 'default';\n this.hideLoading();\n\n if (!loadingEffects[name]) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Loading effects ' + name + ' not exists.');\n }\n\n return;\n }\n\n var el = loadingEffects[name](this._api, cfg);\n var zr = this._zr;\n this._loadingFX = el;\n zr.add(el);\n };\n /**\r\n * Hide loading effect\r\n */\n\n\n ECharts.prototype.hideLoading = function () {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n this._loadingFX && this._zr.remove(this._loadingFX);\n this._loadingFX = null;\n };\n\n ECharts.prototype.makeActionFromEvent = function (eventObj) {\n var payload = extend({}, eventObj);\n payload.type = eventActionMap[eventObj.type];\n return payload;\n };\n /**\r\n * @param opt If pass boolean, means opt.silent\r\n * @param opt.silent Default `false`. Whether trigger events.\r\n * @param opt.flush Default `undefined`.\r\n * true: Flush immediately, and then pixel in canvas can be fetched\r\n * immediately. Caution: it might affect performance.\r\n * false: Not flush.\r\n * undefined: Auto decide whether perform flush.\r\n */\n\n\n ECharts.prototype.dispatchAction = function (payload, opt) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n if (!isObject(opt)) {\n opt = {\n silent: !!opt\n };\n }\n\n if (!actions[payload.type]) {\n return;\n } // Avoid dispatch action before setOption. Especially in `connect`.\n\n\n if (!this._model) {\n return;\n } // May dispatchAction in rendering procedure\n\n\n if (this[IN_MAIN_PROCESS_KEY]) {\n this._pendingActions.push(payload);\n\n return;\n }\n\n var silent = opt.silent;\n doDispatchAction.call(this, payload, silent);\n var flush = opt.flush;\n\n if (flush) {\n this._zr.flush();\n } else if (flush !== false && env.browser.weChat) {\n // In WeChat embedded browser, `requestAnimationFrame` and `setInterval`\n // hang when sliding page (on touch event), which cause that zr does not\n // refresh until user interaction finished, which is not expected.\n // But `dispatchAction` may be called too frequently when pan on touch\n // screen, which impacts performance if do not throttle them.\n this._throttledZrFlush();\n }\n\n flushPendingActions.call(this, silent);\n triggerUpdatedEvent.call(this, silent);\n };\n\n ECharts.prototype.updateLabelLayout = function () {\n lifecycle.trigger('series:layoutlabels', this._model, this._api, {\n // Not adding series labels.\n // TODO\n updatedSeries: []\n });\n };\n\n ECharts.prototype.appendData = function (params) {\n if (this._disposed) {\n disposedWarning(this.id);\n return;\n }\n\n var seriesIndex = params.seriesIndex;\n var ecModel = this.getModel();\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n\n if (process.env.NODE_ENV !== 'production') {\n assert(params.data && seriesModel);\n }\n\n seriesModel.appendData(params); // Note: `appendData` does not support that update extent of coordinate\n // system, util some scenario require that. In the expected usage of\n // `appendData`, the initial extent of coordinate system should better\n // be fixed by axis `min`/`max` setting or initial data, otherwise if\n // the extent changed while `appendData`, the location of the painted\n // graphic elements have to be changed, which make the usage of\n // `appendData` meaningless.\n\n this._scheduler.unfinished = true;\n this.getZr().wakeUp();\n }; // A work around for no `internal` modifier in ts yet but\n // need to strictly hide private methods to JS users.\n\n\n ECharts.internalField = function () {\n prepare = function (ecIns) {\n var scheduler = ecIns._scheduler;\n scheduler.restorePipelines(ecIns._model);\n scheduler.prepareStageTasks();\n prepareView(ecIns, true);\n prepareView(ecIns, false);\n scheduler.plan();\n };\n /**\r\n * Prepare view instances of charts and components\r\n */\n\n\n prepareView = function (ecIns, isComponent) {\n var ecModel = ecIns._model;\n var scheduler = ecIns._scheduler;\n var viewList = isComponent ? ecIns._componentsViews : ecIns._chartsViews;\n var viewMap = isComponent ? ecIns._componentsMap : ecIns._chartsMap;\n var zr = ecIns._zr;\n var api = ecIns._api;\n\n for (var i = 0; i < viewList.length; i++) {\n viewList[i].__alive = false;\n }\n\n isComponent ? ecModel.eachComponent(function (componentType, model) {\n componentType !== 'series' && doPrepare(model);\n }) : ecModel.eachSeries(doPrepare);\n\n function doPrepare(model) {\n // By default view will be reused if possible for the case that `setOption` with \"notMerge\"\n // mode and need to enable transition animation. (Usually, when they have the same id, or\n // especially no id but have the same type & name & index. See the `model.id` generation\n // rule in `makeIdAndName` and `viewId` generation rule here).\n // But in `replaceMerge` mode, this feature should be able to disabled when it is clear that\n // the new model has nothing to do with the old model.\n var requireNewView = model.__requireNewView; // This command should not work twice.\n\n model.__requireNewView = false; // Consider: id same and type changed.\n\n var viewId = '_ec_' + model.id + '_' + model.type;\n var view = !requireNewView && viewMap[viewId];\n\n if (!view) {\n var classType = parseClassType(model.type);\n var Clazz = isComponent ? ComponentView.getClass(classType.main, classType.sub) : // FIXME:TS\n // (ChartView as ChartViewConstructor).getClass('series', classType.sub)\n // For backward compat, still support a chart type declared as only subType\n // like \"liquidfill\", but recommend \"series.liquidfill\"\n // But need a base class to make a type series.\n ChartView.getClass(classType.sub);\n\n if (process.env.NODE_ENV !== 'production') {\n assert(Clazz, classType.sub + ' does not exist.');\n }\n\n view = new Clazz();\n view.init(ecModel, api);\n viewMap[viewId] = view;\n viewList.push(view);\n zr.add(view.group);\n }\n\n model.__viewId = view.__id = viewId;\n view.__alive = true;\n view.__model = model;\n view.group.__ecComponentInfo = {\n mainType: model.mainType,\n index: model.componentIndex\n };\n !isComponent && scheduler.prepareView(view, model, ecModel, api);\n }\n\n for (var i = 0; i < viewList.length;) {\n var view = viewList[i];\n\n if (!view.__alive) {\n !isComponent && view.renderTask.dispose();\n zr.remove(view.group);\n view.dispose(ecModel, api);\n viewList.splice(i, 1);\n\n if (viewMap[view.__id] === view) {\n delete viewMap[view.__id];\n }\n\n view.__id = view.group.__ecComponentInfo = null;\n } else {\n i++;\n }\n }\n };\n\n updateDirectly = function (ecIns, method, payload, mainType, subType) {\n var ecModel = ecIns._model;\n ecModel.setUpdatePayload(payload); // broadcast\n\n if (!mainType) {\n // FIXME\n // Chart will not be update directly here, except set dirty.\n // But there is no such scenario now.\n each([].concat(ecIns._componentsViews).concat(ecIns._chartsViews), callView);\n return;\n }\n\n var query = {};\n query[mainType + 'Id'] = payload[mainType + 'Id'];\n query[mainType + 'Index'] = payload[mainType + 'Index'];\n query[mainType + 'Name'] = payload[mainType + 'Name'];\n var condition = {\n mainType: mainType,\n query: query\n };\n subType && (condition.subType = subType); // subType may be '' by parseClassType;\n\n var excludeSeriesId = payload.excludeSeriesId;\n var excludeSeriesIdMap;\n\n if (excludeSeriesId != null) {\n excludeSeriesIdMap = createHashMap();\n each(modelUtil.normalizeToArray(excludeSeriesId), function (id) {\n var modelId = modelUtil.convertOptionIdName(id, null);\n\n if (modelId != null) {\n excludeSeriesIdMap.set(modelId, true);\n }\n });\n } // If dispatchAction before setOption, do nothing.\n\n\n ecModel && ecModel.eachComponent(condition, function (model) {\n var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model.id) != null;\n\n if (isExcluded) {\n return;\n }\n\n ;\n\n if (isHighDownPayload(payload)) {\n if (model instanceof SeriesModel) {\n if (payload.type === HIGHLIGHT_ACTION_TYPE && !payload.notBlur && !model.get(['emphasis', 'disabled'])) {\n blurSeriesFromHighlightPayload(model, payload, ecIns._api);\n }\n } else {\n var _a = findComponentHighDownDispatchers(model.mainType, model.componentIndex, payload.name, ecIns._api),\n focusSelf = _a.focusSelf,\n dispatchers = _a.dispatchers;\n\n if (payload.type === HIGHLIGHT_ACTION_TYPE && focusSelf && !payload.notBlur) {\n blurComponent(model.mainType, model.componentIndex, ecIns._api);\n } // PENDING:\n // Whether to put this \"enter emphasis\" code in `ComponentView`,\n // which will be the same as `ChartView` but might be not necessary\n // and will be far from this logic.\n\n\n if (dispatchers) {\n each(dispatchers, function (dispatcher) {\n payload.type === HIGHLIGHT_ACTION_TYPE ? enterEmphasis(dispatcher) : leaveEmphasis(dispatcher);\n });\n }\n }\n } else if (isSelectChangePayload(payload)) {\n // TODO geo\n if (model instanceof SeriesModel) {\n toggleSelectionFromPayload(model, payload, ecIns._api);\n updateSeriesElementSelection(model);\n markStatusToUpdate(ecIns);\n }\n }\n }, ecIns);\n ecModel && ecModel.eachComponent(condition, function (model) {\n var isExcluded = excludeSeriesIdMap && excludeSeriesIdMap.get(model.id) != null;\n\n if (isExcluded) {\n return;\n }\n\n ;\n callView(ecIns[mainType === 'series' ? '_chartsMap' : '_componentsMap'][model.__viewId]);\n }, ecIns);\n\n function callView(view) {\n view && view.__alive && view[method] && view[method](view.__model, ecModel, ecIns._api, payload);\n }\n };\n\n updateMethods = {\n prepareAndUpdate: function (payload) {\n prepare(this);\n updateMethods.update.call(this, payload, {\n // Needs to mark option changed if newOption is given.\n // It's from MagicType.\n // TODO If use a separate flag optionChanged in payload?\n optionChanged: payload.newOption != null\n });\n },\n update: function (payload, updateParams) {\n var ecModel = this._model;\n var api = this._api;\n var zr = this._zr;\n var coordSysMgr = this._coordSysMgr;\n var scheduler = this._scheduler; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n ecModel.setUpdatePayload(payload);\n scheduler.restoreData(ecModel, payload);\n scheduler.performSeriesTasks(ecModel); // TODO\n // Save total ecModel here for undo/redo (after restoring data and before processing data).\n // Undo (restoration of total ecModel) can be carried out in 'action' or outside API call.\n // Create new coordinate system each update\n // In LineView may save the old coordinate system and use it to get the original point.\n\n coordSysMgr.create(ecModel, api);\n scheduler.performDataProcessorTasks(ecModel, payload); // Current stream render is not supported in data process. So we can update\n // stream modes after data processing, where the filtered data is used to\n // determine whether to use progressive rendering.\n\n updateStreamModes(this, ecModel); // We update stream modes before coordinate system updated, then the modes info\n // can be fetched when coord sys updating (consider the barGrid extent fix). But\n // the drawback is the full coord info can not be fetched. Fortunately this full\n // coord is not required in stream mode updater currently.\n\n coordSysMgr.update(ecModel, api);\n clearColorPalette(ecModel);\n scheduler.performVisualTasks(ecModel, payload);\n render(this, ecModel, api, payload, updateParams); // Set background\n\n var backgroundColor = ecModel.get('backgroundColor') || 'transparent';\n var darkMode = ecModel.get('darkMode');\n zr.setBackgroundColor(backgroundColor); // Force set dark mode.\n\n if (darkMode != null && darkMode !== 'auto') {\n zr.setDarkMode(darkMode);\n }\n\n lifecycle.trigger('afterupdate', ecModel, api);\n },\n updateTransform: function (payload) {\n var _this = this;\n\n var ecModel = this._model;\n var api = this._api; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n ecModel.setUpdatePayload(payload); // ChartView.markUpdateMethod(payload, 'updateTransform');\n\n var componentDirtyList = [];\n ecModel.eachComponent(function (componentType, componentModel) {\n if (componentType === 'series') {\n return;\n }\n\n var componentView = _this.getViewOfComponentModel(componentModel);\n\n if (componentView && componentView.__alive) {\n if (componentView.updateTransform) {\n var result = componentView.updateTransform(componentModel, ecModel, api, payload);\n result && result.update && componentDirtyList.push(componentView);\n } else {\n componentDirtyList.push(componentView);\n }\n }\n });\n var seriesDirtyMap = createHashMap();\n ecModel.eachSeries(function (seriesModel) {\n var chartView = _this._chartsMap[seriesModel.__viewId];\n\n if (chartView.updateTransform) {\n var result = chartView.updateTransform(seriesModel, ecModel, api, payload);\n result && result.update && seriesDirtyMap.set(seriesModel.uid, 1);\n } else {\n seriesDirtyMap.set(seriesModel.uid, 1);\n }\n });\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n // this._scheduler.performVisualTasks(ecModel, payload, 'layout', true);\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true,\n dirtyMap: seriesDirtyMap\n }); // Currently, not call render of components. Geo render cost a lot.\n // renderComponents(ecIns, ecModel, api, payload, componentDirtyList);\n\n\n renderSeries(this, ecModel, api, payload, {}, seriesDirtyMap);\n lifecycle.trigger('afterupdate', ecModel, api);\n },\n updateView: function (payload) {\n var ecModel = this._model; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n ecModel.setUpdatePayload(payload);\n ChartView.markUpdateMethod(payload, 'updateView');\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n setDirty: true\n });\n\n render(this, ecModel, this._api, payload, {});\n lifecycle.trigger('afterupdate', ecModel, this._api);\n },\n updateVisual: function (payload) {\n // updateMethods.update.call(this, payload);\n var _this = this;\n\n var ecModel = this._model; // update before setOption\n\n if (!ecModel) {\n return;\n }\n\n ecModel.setUpdatePayload(payload); // clear all visual\n\n ecModel.eachSeries(function (seriesModel) {\n seriesModel.getData().clearAllVisual();\n }); // Perform visual\n\n ChartView.markUpdateMethod(payload, 'updateVisual');\n clearColorPalette(ecModel); // Keep pipe to the exist pipeline because it depends on the render task of the full pipeline.\n\n this._scheduler.performVisualTasks(ecModel, payload, {\n visualType: 'visual',\n setDirty: true\n });\n\n ecModel.eachComponent(function (componentType, componentModel) {\n if (componentType !== 'series') {\n var componentView = _this.getViewOfComponentModel(componentModel);\n\n componentView && componentView.__alive && componentView.updateVisual(componentModel, ecModel, _this._api, payload);\n }\n });\n ecModel.eachSeries(function (seriesModel) {\n var chartView = _this._chartsMap[seriesModel.__viewId];\n chartView.updateVisual(seriesModel, ecModel, _this._api, payload);\n });\n lifecycle.trigger('afterupdate', ecModel, this._api);\n },\n updateLayout: function (payload) {\n updateMethods.update.call(this, payload);\n }\n };\n\n doConvertPixel = function (ecIns, methodName, finder, value) {\n if (ecIns._disposed) {\n disposedWarning(ecIns.id);\n return;\n }\n\n var ecModel = ecIns._model;\n\n var coordSysList = ecIns._coordSysMgr.getCoordinateSystems();\n\n var result;\n var parsedFinder = modelUtil.parseFinder(ecModel, finder);\n\n for (var i = 0; i < coordSysList.length; i++) {\n var coordSys = coordSysList[i];\n\n if (coordSys[methodName] && (result = coordSys[methodName](ecModel, parsedFinder, value)) != null) {\n return result;\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n warn('No coordinate system that supports ' + methodName + ' found by the given finder.');\n }\n };\n\n updateStreamModes = function (ecIns, ecModel) {\n var chartsMap = ecIns._chartsMap;\n var scheduler = ecIns._scheduler;\n ecModel.eachSeries(function (seriesModel) {\n scheduler.updateStreamModes(seriesModel, chartsMap[seriesModel.__viewId]);\n });\n };\n\n doDispatchAction = function (payload, silent) {\n var _this = this;\n\n var ecModel = this.getModel();\n var payloadType = payload.type;\n var escapeConnect = payload.escapeConnect;\n var actionWrap = actions[payloadType];\n var actionInfo = actionWrap.actionInfo;\n var cptTypeTmp = (actionInfo.update || 'update').split(':');\n var updateMethod = cptTypeTmp.pop();\n var cptType = cptTypeTmp[0] != null && parseClassType(cptTypeTmp[0]);\n this[IN_MAIN_PROCESS_KEY] = true;\n var payloads = [payload];\n var batched = false; // Batch action\n\n if (payload.batch) {\n batched = true;\n payloads = map(payload.batch, function (item) {\n item = defaults(extend({}, item), payload);\n item.batch = null;\n return item;\n });\n }\n\n var eventObjBatch = [];\n var eventObj;\n var isSelectChange = isSelectChangePayload(payload);\n var isHighDown = isHighDownPayload(payload); // Only leave blur once if there are multiple batches.\n\n if (isHighDown) {\n allLeaveBlur(this._api);\n }\n\n each(payloads, function (batchItem) {\n // Action can specify the event by return it.\n eventObj = actionWrap.action(batchItem, _this._model, _this._api); // Emit event outside\n\n eventObj = eventObj || extend({}, batchItem); // Convert type to eventType\n\n eventObj.type = actionInfo.event || eventObj.type;\n eventObjBatch.push(eventObj); // light update does not perform data process, layout and visual.\n\n if (isHighDown) {\n var _a = modelUtil.preParseFinder(payload),\n queryOptionMap = _a.queryOptionMap,\n mainTypeSpecified = _a.mainTypeSpecified;\n\n var componentMainType = mainTypeSpecified ? queryOptionMap.keys()[0] : 'series';\n updateDirectly(_this, updateMethod, batchItem, componentMainType);\n markStatusToUpdate(_this);\n } else if (isSelectChange) {\n // At present `dispatchAction({ type: 'select', ... })` is not supported on components.\n // geo still use 'geoselect'.\n updateDirectly(_this, updateMethod, batchItem, 'series');\n markStatusToUpdate(_this);\n } else if (cptType) {\n updateDirectly(_this, updateMethod, batchItem, cptType.main, cptType.sub);\n }\n });\n\n if (updateMethod !== 'none' && !isHighDown && !isSelectChange && !cptType) {\n try {\n // Still dirty\n if (this[PENDING_UPDATE]) {\n prepare(this);\n updateMethods.update.call(this, payload);\n this[PENDING_UPDATE] = null;\n } else {\n updateMethods[updateMethod].call(this, payload);\n }\n } catch (e) {\n this[IN_MAIN_PROCESS_KEY] = false;\n throw e;\n }\n } // Follow the rule of action batch\n\n\n if (batched) {\n eventObj = {\n type: actionInfo.event || payloadType,\n escapeConnect: escapeConnect,\n batch: eventObjBatch\n };\n } else {\n eventObj = eventObjBatch[0];\n }\n\n this[IN_MAIN_PROCESS_KEY] = false;\n\n if (!silent) {\n var messageCenter = this._messageCenter;\n messageCenter.trigger(eventObj.type, eventObj); // Extra triggered 'selectchanged' event\n\n if (isSelectChange) {\n var newObj = {\n type: 'selectchanged',\n escapeConnect: escapeConnect,\n selected: getAllSelectedIndices(ecModel),\n isFromClick: payload.isFromClick || false,\n fromAction: payload.type,\n fromActionPayload: payload\n };\n messageCenter.trigger(newObj.type, newObj);\n }\n }\n };\n\n flushPendingActions = function (silent) {\n var pendingActions = this._pendingActions;\n\n while (pendingActions.length) {\n var payload = pendingActions.shift();\n doDispatchAction.call(this, payload, silent);\n }\n };\n\n triggerUpdatedEvent = function (silent) {\n !silent && this.trigger('updated');\n };\n /**\r\n * Event `rendered` is triggered when zr\r\n * rendered. It is useful for realtime\r\n * snapshot (reflect animation).\r\n *\r\n * Event `finished` is triggered when:\r\n * (1) zrender rendering finished.\r\n * (2) initial animation finished.\r\n * (3) progressive rendering finished.\r\n * (4) no pending action.\r\n * (5) no delayed setOption needs to be processed.\r\n */\n\n\n bindRenderedEvent = function (zr, ecIns) {\n zr.on('rendered', function (params) {\n ecIns.trigger('rendered', params); // The `finished` event should not be triggered repeatedly,\n // so it should only be triggered when rendering indeed happens\n // in zrender. (Consider the case that dipatchAction is keep\n // triggering when mouse move).\n\n if ( // Although zr is dirty if initial animation is not finished\n // and this checking is called on frame, we also check\n // animation finished for robustness.\n zr.animation.isFinished() && !ecIns[PENDING_UPDATE] && !ecIns._scheduler.unfinished && !ecIns._pendingActions.length) {\n ecIns.trigger('finished');\n }\n });\n };\n\n bindMouseEvent = function (zr, ecIns) {\n zr.on('mouseover', function (e) {\n var el = e.target;\n var dispatcher = findEventDispatcher(el, isHighDownDispatcher);\n\n if (dispatcher) {\n handleGlobalMouseOverForHighDown(dispatcher, e, ecIns._api);\n markStatusToUpdate(ecIns);\n }\n }).on('mouseout', function (e) {\n var el = e.target;\n var dispatcher = findEventDispatcher(el, isHighDownDispatcher);\n\n if (dispatcher) {\n handleGlobalMouseOutForHighDown(dispatcher, e, ecIns._api);\n markStatusToUpdate(ecIns);\n }\n }).on('click', function (e) {\n var el = e.target;\n var dispatcher = findEventDispatcher(el, function (target) {\n return getECData(target).dataIndex != null;\n }, true);\n\n if (dispatcher) {\n var actionType = dispatcher.selected ? 'unselect' : 'select';\n var ecData = getECData(dispatcher);\n\n ecIns._api.dispatchAction({\n type: actionType,\n dataType: ecData.dataType,\n dataIndexInside: ecData.dataIndex,\n seriesIndex: ecData.seriesIndex,\n isFromClick: true\n });\n }\n });\n };\n\n function clearColorPalette(ecModel) {\n ecModel.clearColorPalette();\n ecModel.eachSeries(function (seriesModel) {\n seriesModel.clearColorPalette();\n });\n }\n\n ; // Allocate zlevels for series and components\n\n function allocateZlevels(ecModel) {\n ;\n var componentZLevels = [];\n var seriesZLevels = [];\n var hasSeperateZLevel = false;\n ecModel.eachComponent(function (componentType, componentModel) {\n var zlevel = componentModel.get('zlevel') || 0;\n var z = componentModel.get('z') || 0;\n var zlevelKey = componentModel.getZLevelKey();\n hasSeperateZLevel = hasSeperateZLevel || !!zlevelKey;\n (componentType === 'series' ? seriesZLevels : componentZLevels).push({\n zlevel: zlevel,\n z: z,\n idx: componentModel.componentIndex,\n type: componentType,\n key: zlevelKey\n });\n });\n\n if (hasSeperateZLevel) {\n // Series after component\n var zLevels = componentZLevels.concat(seriesZLevels);\n var lastSeriesZLevel_1;\n var lastSeriesKey_1;\n timsort(zLevels, function (a, b) {\n if (a.zlevel === b.zlevel) {\n return a.z - b.z;\n }\n\n return a.zlevel - b.zlevel;\n });\n each(zLevels, function (item) {\n var componentModel = ecModel.getComponent(item.type, item.idx);\n var zlevel = item.zlevel;\n var key = item.key;\n\n if (lastSeriesZLevel_1 != null) {\n zlevel = Math.max(lastSeriesZLevel_1, zlevel);\n }\n\n if (key) {\n if (zlevel === lastSeriesZLevel_1 && key !== lastSeriesKey_1) {\n zlevel++;\n }\n\n lastSeriesKey_1 = key;\n } else if (lastSeriesKey_1) {\n if (zlevel === lastSeriesZLevel_1) {\n zlevel++;\n }\n\n lastSeriesKey_1 = '';\n }\n\n lastSeriesZLevel_1 = zlevel;\n componentModel.setZLevel(zlevel);\n });\n }\n }\n\n render = function (ecIns, ecModel, api, payload, updateParams) {\n allocateZlevels(ecModel);\n renderComponents(ecIns, ecModel, api, payload, updateParams);\n each(ecIns._chartsViews, function (chart) {\n chart.__alive = false;\n });\n renderSeries(ecIns, ecModel, api, payload, updateParams); // Remove groups of unrendered charts\n\n each(ecIns._chartsViews, function (chart) {\n if (!chart.__alive) {\n chart.remove(ecModel, api);\n }\n });\n };\n\n renderComponents = function (ecIns, ecModel, api, payload, updateParams, dirtyList) {\n each(dirtyList || ecIns._componentsViews, function (componentView) {\n var componentModel = componentView.__model;\n clearStates(componentModel, componentView);\n componentView.render(componentModel, ecModel, api, payload);\n updateZ(componentModel, componentView);\n updateStates(componentModel, componentView);\n });\n };\n /**\r\n * Render each chart and component\r\n */\n\n\n renderSeries = function (ecIns, ecModel, api, payload, updateParams, dirtyMap) {\n // Render all charts\n var scheduler = ecIns._scheduler;\n updateParams = extend(updateParams || {}, {\n updatedSeries: ecModel.getSeries()\n }); // TODO progressive?\n\n lifecycle.trigger('series:beforeupdate', ecModel, api, updateParams);\n var unfinished = false;\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n chartView.__alive = true;\n var renderTask = chartView.renderTask;\n scheduler.updatePayload(renderTask, payload); // TODO states on marker.\n\n clearStates(seriesModel, chartView);\n\n if (dirtyMap && dirtyMap.get(seriesModel.uid)) {\n renderTask.dirty();\n }\n\n if (renderTask.perform(scheduler.getPerformArgs(renderTask))) {\n unfinished = true;\n }\n\n chartView.group.silent = !!seriesModel.get('silent'); // Should not call markRedraw on group, because it will disable zrender\n // incremental render (always render from the __startIndex each frame)\n // chartView.group.markRedraw();\n\n updateBlend(seriesModel, chartView);\n updateSeriesElementSelection(seriesModel);\n });\n scheduler.unfinished = unfinished || scheduler.unfinished;\n lifecycle.trigger('series:layoutlabels', ecModel, api, updateParams); // transition after label is layouted.\n\n lifecycle.trigger('series:transition', ecModel, api, updateParams);\n ecModel.eachSeries(function (seriesModel) {\n var chartView = ecIns._chartsMap[seriesModel.__viewId]; // Update Z after labels updated. Before applying states.\n\n updateZ(seriesModel, chartView); // NOTE: Update states after label is updated.\n // label should be in normal status when layouting.\n\n updateStates(seriesModel, chartView);\n }); // If use hover layer\n\n updateHoverLayerStatus(ecIns, ecModel);\n lifecycle.trigger('series:afterupdate', ecModel, api, updateParams);\n };\n\n markStatusToUpdate = function (ecIns) {\n ecIns[STATUS_NEEDS_UPDATE_KEY] = true; // Wake up zrender if it's sleep. Let it update states in the next frame.\n\n ecIns.getZr().wakeUp();\n };\n\n applyChangedStates = function (ecIns) {\n if (!ecIns[STATUS_NEEDS_UPDATE_KEY]) {\n return;\n }\n\n ecIns.getZr().storage.traverse(function (el) {\n // Not applied on removed elements, it may still in fading.\n if (graphic.isElementRemoved(el)) {\n return;\n }\n\n applyElementStates(el);\n });\n ecIns[STATUS_NEEDS_UPDATE_KEY] = false;\n };\n\n function applyElementStates(el) {\n var newStates = [];\n var oldStates = el.currentStates; // Keep other states.\n\n for (var i = 0; i < oldStates.length; i++) {\n var stateName = oldStates[i];\n\n if (!(stateName === 'emphasis' || stateName === 'blur' || stateName === 'select')) {\n newStates.push(stateName);\n }\n } // Only use states when it's exists.\n\n\n if (el.selected && el.states.select) {\n newStates.push('select');\n }\n\n if (el.hoverState === HOVER_STATE_EMPHASIS && el.states.emphasis) {\n newStates.push('emphasis');\n } else if (el.hoverState === HOVER_STATE_BLUR && el.states.blur) {\n newStates.push('blur');\n }\n\n el.useStates(newStates);\n }\n\n function updateHoverLayerStatus(ecIns, ecModel) {\n var zr = ecIns._zr;\n var storage = zr.storage;\n var elCount = 0;\n storage.traverse(function (el) {\n if (!el.isGroup) {\n elCount++;\n }\n });\n\n if (elCount > ecModel.get('hoverLayerThreshold') && !env.node && !env.worker) {\n ecModel.eachSeries(function (seriesModel) {\n if (seriesModel.preventUsingHoverLayer) {\n return;\n }\n\n var chartView = ecIns._chartsMap[seriesModel.__viewId];\n\n if (chartView.__alive) {\n chartView.eachRendered(function (el) {\n if (el.states.emphasis) {\n el.states.emphasis.hoverLayer = true;\n }\n });\n }\n });\n }\n }\n\n ;\n /**\r\n * Update chart and blend.\r\n */\n\n function updateBlend(seriesModel, chartView) {\n var blendMode = seriesModel.get('blendMode') || null;\n chartView.eachRendered(function (el) {\n // FIXME marker and other components\n if (!el.isGroup) {\n // DON'T mark the element dirty. In case element is incremental and don't want to rerender.\n el.style.blend = blendMode;\n }\n });\n }\n\n ;\n\n function updateZ(model, view) {\n if (model.preventAutoZ) {\n return;\n }\n\n var z = model.get('z') || 0;\n var zlevel = model.get('zlevel') || 0; // Set z and zlevel\n\n view.eachRendered(function (el) {\n doUpdateZ(el, z, zlevel, -Infinity); // Don't traverse the children because it has been traversed in _updateZ.\n\n return true;\n });\n }\n\n ;\n\n function doUpdateZ(el, z, zlevel, maxZ2) {\n // Group may also have textContent\n var label = el.getTextContent();\n var labelLine = el.getTextGuideLine();\n var isGroup = el.isGroup;\n\n if (isGroup) {\n // set z & zlevel of children elements of Group\n var children = el.childrenRef();\n\n for (var i = 0; i < children.length; i++) {\n maxZ2 = Math.max(doUpdateZ(children[i], z, zlevel, maxZ2), maxZ2);\n }\n } else {\n // not Group\n el.z = z;\n el.zlevel = zlevel;\n maxZ2 = Math.max(el.z2, maxZ2);\n } // always set z and zlevel if label/labelLine exists\n\n\n if (label) {\n label.z = z;\n label.zlevel = zlevel; // lift z2 of text content\n // TODO if el.emphasis.z2 is spcefied, what about textContent.\n\n isFinite(maxZ2) && (label.z2 = maxZ2 + 2);\n }\n\n if (labelLine) {\n var textGuideLineConfig = el.textGuideLineConfig;\n labelLine.z = z;\n labelLine.zlevel = zlevel;\n isFinite(maxZ2) && (labelLine.z2 = maxZ2 + (textGuideLineConfig && textGuideLineConfig.showAbove ? 1 : -1));\n }\n\n return maxZ2;\n } // Clear states without animation.\n // TODO States on component.\n\n\n function clearStates(model, view) {\n view.eachRendered(function (el) {\n // Not applied on removed elements, it may still in fading.\n if (graphic.isElementRemoved(el)) {\n return;\n }\n\n var textContent = el.getTextContent();\n var textGuide = el.getTextGuideLine();\n\n if (el.stateTransition) {\n el.stateTransition = null;\n }\n\n if (textContent && textContent.stateTransition) {\n textContent.stateTransition = null;\n }\n\n if (textGuide && textGuide.stateTransition) {\n textGuide.stateTransition = null;\n } // TODO If el is incremental.\n\n\n if (el.hasState()) {\n el.prevStates = el.currentStates;\n el.clearStates();\n } else if (el.prevStates) {\n el.prevStates = null;\n }\n });\n }\n\n function updateStates(model, view) {\n var stateAnimationModel = model.getModel('stateAnimation');\n var enableAnimation = model.isAnimationEnabled();\n var duration = stateAnimationModel.get('duration');\n var stateTransition = duration > 0 ? {\n duration: duration,\n delay: stateAnimationModel.get('delay'),\n easing: stateAnimationModel.get('easing') // additive: stateAnimationModel.get('additive')\n\n } : null;\n view.eachRendered(function (el) {\n if (el.states && el.states.emphasis) {\n // Not applied on removed elements, it may still in fading.\n if (graphic.isElementRemoved(el)) {\n return;\n }\n\n if (el instanceof graphic.Path) {\n savePathStates(el);\n } // Only updated on changed element. In case element is incremental and don't want to rerender.\n // TODO, a more proper way?\n\n\n if (el.__dirty) {\n var prevStates = el.prevStates; // Restore states without animation\n\n if (prevStates) {\n el.useStates(prevStates);\n }\n } // Update state transition and enable animation again.\n\n\n if (enableAnimation) {\n el.stateTransition = stateTransition;\n var textContent = el.getTextContent();\n var textGuide = el.getTextGuideLine(); // TODO Is it necessary to animate label?\n\n if (textContent) {\n textContent.stateTransition = stateTransition;\n }\n\n if (textGuide) {\n textGuide.stateTransition = stateTransition;\n }\n } // Use highlighted and selected flag to toggle states.\n\n\n if (el.__dirty) {\n applyElementStates(el);\n }\n }\n });\n }\n\n ;\n\n createExtensionAPI = function (ecIns) {\n return new (\n /** @class */\n function (_super) {\n __extends(class_1, _super);\n\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n class_1.prototype.getCoordinateSystems = function () {\n return ecIns._coordSysMgr.getCoordinateSystems();\n };\n\n class_1.prototype.getComponentByElement = function (el) {\n while (el) {\n var modelInfo = el.__ecComponentInfo;\n\n if (modelInfo != null) {\n return ecIns._model.getComponent(modelInfo.mainType, modelInfo.index);\n }\n\n el = el.parent;\n }\n };\n\n class_1.prototype.enterEmphasis = function (el, highlightDigit) {\n enterEmphasis(el, highlightDigit);\n markStatusToUpdate(ecIns);\n };\n\n class_1.prototype.leaveEmphasis = function (el, highlightDigit) {\n leaveEmphasis(el, highlightDigit);\n markStatusToUpdate(ecIns);\n };\n\n class_1.prototype.enterBlur = function (el) {\n enterBlur(el);\n markStatusToUpdate(ecIns);\n };\n\n class_1.prototype.leaveBlur = function (el) {\n leaveBlur(el);\n markStatusToUpdate(ecIns);\n };\n\n class_1.prototype.enterSelect = function (el) {\n enterSelect(el);\n markStatusToUpdate(ecIns);\n };\n\n class_1.prototype.leaveSelect = function (el) {\n leaveSelect(el);\n markStatusToUpdate(ecIns);\n };\n\n class_1.prototype.getModel = function () {\n return ecIns.getModel();\n };\n\n class_1.prototype.getViewOfComponentModel = function (componentModel) {\n return ecIns.getViewOfComponentModel(componentModel);\n };\n\n class_1.prototype.getViewOfSeriesModel = function (seriesModel) {\n return ecIns.getViewOfSeriesModel(seriesModel);\n };\n\n return class_1;\n }(ExtensionAPI))(ecIns);\n };\n\n enableConnect = function (chart) {\n function updateConnectedChartsStatus(charts, status) {\n for (var i = 0; i < charts.length; i++) {\n var otherChart = charts[i];\n otherChart[CONNECT_STATUS_KEY] = status;\n }\n }\n\n each(eventActionMap, function (actionType, eventType) {\n chart._messageCenter.on(eventType, function (event) {\n if (connectedGroups[chart.group] && chart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_PENDING) {\n if (event && event.escapeConnect) {\n return;\n }\n\n var action_1 = chart.makeActionFromEvent(event);\n var otherCharts_1 = [];\n each(instances, function (otherChart) {\n if (otherChart !== chart && otherChart.group === chart.group) {\n otherCharts_1.push(otherChart);\n }\n });\n updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_PENDING);\n each(otherCharts_1, function (otherChart) {\n if (otherChart[CONNECT_STATUS_KEY] !== CONNECT_STATUS_UPDATING) {\n otherChart.dispatchAction(action_1);\n }\n });\n updateConnectedChartsStatus(otherCharts_1, CONNECT_STATUS_UPDATED);\n }\n });\n });\n };\n }();\n\n return ECharts;\n}(Eventful);\n\nvar echartsProto = ECharts.prototype;\nechartsProto.on = createRegisterEventWithLowercaseECharts('on');\nechartsProto.off = createRegisterEventWithLowercaseECharts('off');\n/**\r\n * @deprecated\r\n */\n// @ts-ignore\n\nechartsProto.one = function (eventName, cb, ctx) {\n var self = this;\n deprecateLog('ECharts#one is deprecated.');\n\n function wrapped() {\n var args2 = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args2[_i] = arguments[_i];\n }\n\n cb && cb.apply && cb.apply(this, args2); // @ts-ignore\n\n self.off(eventName, wrapped);\n }\n\n ; // @ts-ignore\n\n this.on.call(this, eventName, wrapped, ctx);\n};\n\nvar MOUSE_EVENT_NAMES = ['click', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'globalout', 'contextmenu'];\n\nfunction disposedWarning(id) {\n if (process.env.NODE_ENV !== 'production') {\n warn('Instance ' + id + ' has been disposed');\n }\n}\n\nvar actions = {};\n/**\r\n * Map eventType to actionType\r\n */\n\nvar eventActionMap = {};\nvar dataProcessorFuncs = [];\nvar optionPreprocessorFuncs = [];\nvar visualFuncs = [];\nvar themeStorage = {};\nvar loadingEffects = {};\nvar instances = {};\nvar connectedGroups = {};\nvar idBase = +new Date() - 0;\nvar groupIdBase = +new Date() - 0;\nvar DOM_ATTRIBUTE_KEY = '_echarts_instance_';\n/**\r\n * @param opts.devicePixelRatio Use window.devicePixelRatio by default\r\n * @param opts.renderer Can choose 'canvas' or 'svg' to render the chart.\r\n * @param opts.width Use clientWidth of the input `dom` by default.\r\n * Can be 'auto' (the same as null/undefined)\r\n * @param opts.height Use clientHeight of the input `dom` by default.\r\n * Can be 'auto' (the same as null/undefined)\r\n * @param opts.locale Specify the locale.\r\n * @param opts.useDirtyRect Enable dirty rectangle rendering or not.\r\n */\n\nexport function init(dom, theme, opts) {\n var isClient = !(opts && opts.ssr);\n\n if (isClient) {\n if (process.env.NODE_ENV !== 'production') {\n if (!dom) {\n throw new Error('Initialize failed: invalid dom.');\n }\n }\n\n var existInstance = getInstanceByDom(dom);\n\n if (existInstance) {\n if (process.env.NODE_ENV !== 'production') {\n warn('There is a chart instance already initialized on the dom.');\n }\n\n return existInstance;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isDom(dom) && dom.nodeName.toUpperCase() !== 'CANVAS' && (!dom.clientWidth && (!opts || opts.width == null) || !dom.clientHeight && (!opts || opts.height == null))) {\n warn('Can\\'t get DOM width or height. Please check ' + 'dom.clientWidth and dom.clientHeight. They should not be 0.' + 'For example, you may need to call this in the callback ' + 'of window.onload.');\n }\n }\n }\n\n var chart = new ECharts(dom, theme, opts);\n chart.id = 'ec_' + idBase++;\n instances[chart.id] = chart;\n isClient && modelUtil.setAttribute(dom, DOM_ATTRIBUTE_KEY, chart.id);\n enableConnect(chart);\n lifecycle.trigger('afterinit', chart);\n return chart;\n}\n/**\r\n * @usage\r\n * (A)\r\n * ```js\r\n * let chart1 = echarts.init(dom1);\r\n * let chart2 = echarts.init(dom2);\r\n * chart1.group = 'xxx';\r\n * chart2.group = 'xxx';\r\n * echarts.connect('xxx');\r\n * ```\r\n * (B)\r\n * ```js\r\n * let chart1 = echarts.init(dom1);\r\n * let chart2 = echarts.init(dom2);\r\n * echarts.connect('xxx', [chart1, chart2]);\r\n * ```\r\n */\n\nexport function connect(groupId) {\n // Is array of charts\n if (isArray(groupId)) {\n var charts = groupId;\n groupId = null; // If any chart has group\n\n each(charts, function (chart) {\n if (chart.group != null) {\n groupId = chart.group;\n }\n });\n groupId = groupId || 'g_' + groupIdBase++;\n each(charts, function (chart) {\n chart.group = groupId;\n });\n }\n\n connectedGroups[groupId] = true;\n return groupId;\n}\nexport function disconnect(groupId) {\n connectedGroups[groupId] = false;\n}\n/**\r\n * Alias and backward compatibility\r\n * @deprecated\r\n */\n\nexport var disConnect = disconnect;\n/**\r\n * Dispose a chart instance\r\n */\n\nexport function dispose(chart) {\n if (isString(chart)) {\n chart = instances[chart];\n } else if (!(chart instanceof ECharts)) {\n // Try to treat as dom\n chart = getInstanceByDom(chart);\n }\n\n if (chart instanceof ECharts && !chart.isDisposed()) {\n chart.dispose();\n }\n}\nexport function getInstanceByDom(dom) {\n return instances[modelUtil.getAttribute(dom, DOM_ATTRIBUTE_KEY)];\n}\nexport function getInstanceById(key) {\n return instances[key];\n}\n/**\r\n * Register theme\r\n */\n\nexport function registerTheme(name, theme) {\n themeStorage[name] = theme;\n}\n/**\r\n * Register option preprocessor\r\n */\n\nexport function registerPreprocessor(preprocessorFunc) {\n if (indexOf(optionPreprocessorFuncs, preprocessorFunc) < 0) {\n optionPreprocessorFuncs.push(preprocessorFunc);\n }\n}\nexport function registerProcessor(priority, processor) {\n normalizeRegister(dataProcessorFuncs, priority, processor, PRIORITY_PROCESSOR_DEFAULT);\n}\n/**\r\n * Register postIniter\r\n * @param {Function} postInitFunc\r\n */\n\nexport function registerPostInit(postInitFunc) {\n registerUpdateLifecycle('afterinit', postInitFunc);\n}\n/**\r\n * Register postUpdater\r\n * @param {Function} postUpdateFunc\r\n */\n\nexport function registerPostUpdate(postUpdateFunc) {\n registerUpdateLifecycle('afterupdate', postUpdateFunc);\n}\nexport function registerUpdateLifecycle(name, cb) {\n lifecycle.on(name, cb);\n}\nexport function registerAction(actionInfo, eventName, action) {\n if (isFunction(eventName)) {\n action = eventName;\n eventName = '';\n }\n\n var actionType = isObject(actionInfo) ? actionInfo.type : [actionInfo, actionInfo = {\n event: eventName\n }][0]; // Event name is all lowercase\n\n actionInfo.event = (actionInfo.event || actionType).toLowerCase();\n eventName = actionInfo.event;\n\n if (eventActionMap[eventName]) {\n // Already registered.\n return;\n } // Validate action type and event name.\n\n\n assert(ACTION_REG.test(actionType) && ACTION_REG.test(eventName));\n\n if (!actions[actionType]) {\n actions[actionType] = {\n action: action,\n actionInfo: actionInfo\n };\n }\n\n eventActionMap[eventName] = actionType;\n}\nexport function registerCoordinateSystem(type, coordSysCreator) {\n CoordinateSystemManager.register(type, coordSysCreator);\n}\n/**\r\n * Get dimensions of specified coordinate system.\r\n * @param {string} type\r\n * @return {Array.}\r\n */\n\nexport function getCoordinateSystemDimensions(type) {\n var coordSysCreator = CoordinateSystemManager.get(type);\n\n if (coordSysCreator) {\n return coordSysCreator.getDimensionsInfo ? coordSysCreator.getDimensionsInfo() : coordSysCreator.dimensions.slice();\n }\n}\nexport { registerLocale } from './locale.js';\n\nfunction registerLayout(priority, layoutTask) {\n normalizeRegister(visualFuncs, priority, layoutTask, PRIORITY_VISUAL_LAYOUT, 'layout');\n}\n\nfunction registerVisual(priority, visualTask) {\n normalizeRegister(visualFuncs, priority, visualTask, PRIORITY_VISUAL_CHART, 'visual');\n}\n\nexport { registerLayout, registerVisual };\nvar registeredTasks = [];\n\nfunction normalizeRegister(targetList, priority, fn, defaultPriority, visualType) {\n if (isFunction(priority) || isObject(priority)) {\n fn = priority;\n priority = defaultPriority;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (isNaN(priority) || priority == null) {\n throw new Error('Illegal priority');\n } // Check duplicate\n\n\n each(targetList, function (wrap) {\n assert(wrap.__raw !== fn);\n });\n } // Already registered\n\n\n if (indexOf(registeredTasks, fn) >= 0) {\n return;\n }\n\n registeredTasks.push(fn);\n var stageHandler = Scheduler.wrapStageHandler(fn, visualType);\n stageHandler.__prio = priority;\n stageHandler.__raw = fn;\n targetList.push(stageHandler);\n}\n\nexport function registerLoading(name, loadingFx) {\n loadingEffects[name] = loadingFx;\n}\n/**\r\n * ZRender need a canvas context to do measureText.\r\n * But in node environment canvas may be created by node-canvas.\r\n * So we need to specify how to create a canvas instead of using document.createElement('canvas')\r\n *\r\n *\r\n * @deprecated use setPlatformAPI({ createCanvas }) instead.\r\n *\r\n * @example\r\n * let Canvas = require('canvas');\r\n * let echarts = require('echarts');\r\n * echarts.setCanvasCreator(function () {\r\n * // Small size is enough.\r\n * return new Canvas(32, 32);\r\n * });\r\n */\n\nexport function setCanvasCreator(creator) {\n if (process.env.NODE_ENV !== 'production') {\n deprecateLog('setCanvasCreator is deprecated. Use setPlatformAPI({ createCanvas }) instead.');\n }\n\n setPlatformAPI({\n createCanvas: creator\n });\n}\n/**\r\n * The parameters and usage: see `geoSourceManager.registerMap`.\r\n * Compatible with previous `echarts.registerMap`.\r\n */\n\nexport function registerMap(mapName, geoJson, specialAreas) {\n var registerMap = getImpl('registerMap');\n registerMap && registerMap(mapName, geoJson, specialAreas);\n}\nexport function getMap(mapName) {\n var getMap = getImpl('getMap');\n return getMap && getMap(mapName);\n}\nexport var registerTransform = registerExternalTransform;\n/**\r\n * Globa dispatchAction to a specified chart instance.\r\n */\n// export function dispatchAction(payload: { chartId: string } & Payload, opt?: Parameters[1]) {\n// if (!payload || !payload.chartId) {\n// // Must have chartId to find chart\n// return;\n// }\n// const chart = instances[payload.chartId];\n// if (chart) {\n// chart.dispatchAction(payload, opt);\n// }\n// }\n// Builtin global visual\n\nregisterVisual(PRIORITY_VISUAL_GLOBAL, seriesStyleTask);\nregisterVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataStyleTask);\nregisterVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataColorPaletteTask);\nregisterVisual(PRIORITY_VISUAL_GLOBAL, seriesSymbolTask);\nregisterVisual(PRIORITY_VISUAL_CHART_DATA_CUSTOM, dataSymbolTask);\nregisterVisual(PRIORITY_VISUAL_DECAL, decal);\nregisterPreprocessor(backwardCompat);\nregisterProcessor(PRIORITY_PROCESSOR_DATASTACK, dataStack);\nregisterLoading('default', loadingDefault); // Default actions\n\nregisterAction({\n type: HIGHLIGHT_ACTION_TYPE,\n event: HIGHLIGHT_ACTION_TYPE,\n update: HIGHLIGHT_ACTION_TYPE\n}, noop);\nregisterAction({\n type: DOWNPLAY_ACTION_TYPE,\n event: DOWNPLAY_ACTION_TYPE,\n update: DOWNPLAY_ACTION_TYPE\n}, noop);\nregisterAction({\n type: SELECT_ACTION_TYPE,\n event: SELECT_ACTION_TYPE,\n update: SELECT_ACTION_TYPE\n}, noop);\nregisterAction({\n type: UNSELECT_ACTION_TYPE,\n event: UNSELECT_ACTION_TYPE,\n update: UNSELECT_ACTION_TYPE\n}, noop);\nregisterAction({\n type: TOGGLE_SELECT_ACTION_TYPE,\n event: TOGGLE_SELECT_ACTION_TYPE,\n update: TOGGLE_SELECT_ACTION_TYPE\n}, noop); // Default theme\n\nregisterTheme('light', lightTheme);\nregisterTheme('dark', darkTheme); // For backward compatibility, where the namespace `dataTool` will\n// be mounted on `echarts` is the extension `dataTool` is imported.\n\nexport var dataTool = {};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nfunction dataIndexMapValueLength(valNumOrArrLengthMoreThan2) {\n return valNumOrArrLengthMoreThan2 == null ? 0 : valNumOrArrLengthMoreThan2.length || 1;\n}\n\nfunction defaultKeyGetter(item) {\n return item;\n}\n\nvar DataDiffer =\n/** @class */\nfunction () {\n /**\r\n * @param context Can be visited by this.context in callback.\r\n */\n function DataDiffer(oldArr, newArr, oldKeyGetter, newKeyGetter, context, // By default: 'oneToOne'.\n diffMode) {\n this._old = oldArr;\n this._new = newArr;\n this._oldKeyGetter = oldKeyGetter || defaultKeyGetter;\n this._newKeyGetter = newKeyGetter || defaultKeyGetter; // Visible in callback via `this.context`;\n\n this.context = context;\n this._diffModeMultiple = diffMode === 'multiple';\n }\n /**\r\n * Callback function when add a data\r\n */\n\n\n DataDiffer.prototype.add = function (func) {\n this._add = func;\n return this;\n };\n /**\r\n * Callback function when update a data\r\n */\n\n\n DataDiffer.prototype.update = function (func) {\n this._update = func;\n return this;\n };\n /**\r\n * Callback function when update a data and only work in `cbMode: 'byKey'`.\r\n */\n\n\n DataDiffer.prototype.updateManyToOne = function (func) {\n this._updateManyToOne = func;\n return this;\n };\n /**\r\n * Callback function when update a data and only work in `cbMode: 'byKey'`.\r\n */\n\n\n DataDiffer.prototype.updateOneToMany = function (func) {\n this._updateOneToMany = func;\n return this;\n };\n /**\r\n * Callback function when update a data and only work in `cbMode: 'byKey'`.\r\n */\n\n\n DataDiffer.prototype.updateManyToMany = function (func) {\n this._updateManyToMany = func;\n return this;\n };\n /**\r\n * Callback function when remove a data\r\n */\n\n\n DataDiffer.prototype.remove = function (func) {\n this._remove = func;\n return this;\n };\n\n DataDiffer.prototype.execute = function () {\n this[this._diffModeMultiple ? '_executeMultiple' : '_executeOneToOne']();\n };\n\n DataDiffer.prototype._executeOneToOne = function () {\n var oldArr = this._old;\n var newArr = this._new;\n var newDataIndexMap = {};\n var oldDataKeyArr = new Array(oldArr.length);\n var newDataKeyArr = new Array(newArr.length);\n\n this._initIndexMap(oldArr, null, oldDataKeyArr, '_oldKeyGetter');\n\n this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, '_newKeyGetter');\n\n for (var i = 0; i < oldArr.length; i++) {\n var oldKey = oldDataKeyArr[i];\n var newIdxMapVal = newDataIndexMap[oldKey];\n var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal); // idx can never be empty array here. see 'set null' logic below.\n\n if (newIdxMapValLen > 1) {\n // Consider there is duplicate key (for example, use dataItem.name as key).\n // We should make sure every item in newArr and oldArr can be visited.\n var newIdx = newIdxMapVal.shift();\n\n if (newIdxMapVal.length === 1) {\n newDataIndexMap[oldKey] = newIdxMapVal[0];\n }\n\n this._update && this._update(newIdx, i);\n } else if (newIdxMapValLen === 1) {\n newDataIndexMap[oldKey] = null;\n this._update && this._update(newIdxMapVal, i);\n } else {\n this._remove && this._remove(i);\n }\n }\n\n this._performRestAdd(newDataKeyArr, newDataIndexMap);\n };\n /**\r\n * For example, consider the case:\r\n * oldData: [o0, o1, o2, o3, o4, o5, o6, o7],\r\n * newData: [n0, n1, n2, n3, n4, n5, n6, n7, n8],\r\n * Where:\r\n * o0, o1, n0 has key 'a' (many to one)\r\n * o5, n4, n5, n6 has key 'b' (one to many)\r\n * o2, n1 has key 'c' (one to one)\r\n * n2, n3 has key 'd' (add)\r\n * o3, o4 has key 'e' (remove)\r\n * o6, o7, n7, n8 has key 'f' (many to many, treated as add and remove)\r\n * Then:\r\n * (The order of the following directives are not ensured.)\r\n * this._updateManyToOne(n0, [o0, o1]);\r\n * this._updateOneToMany([n4, n5, n6], o5);\r\n * this._update(n1, o2);\r\n * this._remove(o3);\r\n * this._remove(o4);\r\n * this._remove(o6);\r\n * this._remove(o7);\r\n * this._add(n2);\r\n * this._add(n3);\r\n * this._add(n7);\r\n * this._add(n8);\r\n */\n\n\n DataDiffer.prototype._executeMultiple = function () {\n var oldArr = this._old;\n var newArr = this._new;\n var oldDataIndexMap = {};\n var newDataIndexMap = {};\n var oldDataKeyArr = [];\n var newDataKeyArr = [];\n\n this._initIndexMap(oldArr, oldDataIndexMap, oldDataKeyArr, '_oldKeyGetter');\n\n this._initIndexMap(newArr, newDataIndexMap, newDataKeyArr, '_newKeyGetter');\n\n for (var i = 0; i < oldDataKeyArr.length; i++) {\n var oldKey = oldDataKeyArr[i];\n var oldIdxMapVal = oldDataIndexMap[oldKey];\n var newIdxMapVal = newDataIndexMap[oldKey];\n var oldIdxMapValLen = dataIndexMapValueLength(oldIdxMapVal);\n var newIdxMapValLen = dataIndexMapValueLength(newIdxMapVal);\n\n if (oldIdxMapValLen > 1 && newIdxMapValLen === 1) {\n this._updateManyToOne && this._updateManyToOne(newIdxMapVal, oldIdxMapVal);\n newDataIndexMap[oldKey] = null;\n } else if (oldIdxMapValLen === 1 && newIdxMapValLen > 1) {\n this._updateOneToMany && this._updateOneToMany(newIdxMapVal, oldIdxMapVal);\n newDataIndexMap[oldKey] = null;\n } else if (oldIdxMapValLen === 1 && newIdxMapValLen === 1) {\n this._update && this._update(newIdxMapVal, oldIdxMapVal);\n newDataIndexMap[oldKey] = null;\n } else if (oldIdxMapValLen > 1 && newIdxMapValLen > 1) {\n this._updateManyToMany && this._updateManyToMany(newIdxMapVal, oldIdxMapVal);\n newDataIndexMap[oldKey] = null;\n } else if (oldIdxMapValLen > 1) {\n for (var i_1 = 0; i_1 < oldIdxMapValLen; i_1++) {\n this._remove && this._remove(oldIdxMapVal[i_1]);\n }\n } else {\n this._remove && this._remove(oldIdxMapVal);\n }\n }\n\n this._performRestAdd(newDataKeyArr, newDataIndexMap);\n };\n\n DataDiffer.prototype._performRestAdd = function (newDataKeyArr, newDataIndexMap) {\n for (var i = 0; i < newDataKeyArr.length; i++) {\n var newKey = newDataKeyArr[i];\n var newIdxMapVal = newDataIndexMap[newKey];\n var idxMapValLen = dataIndexMapValueLength(newIdxMapVal);\n\n if (idxMapValLen > 1) {\n for (var j = 0; j < idxMapValLen; j++) {\n this._add && this._add(newIdxMapVal[j]);\n }\n } else if (idxMapValLen === 1) {\n this._add && this._add(newIdxMapVal);\n } // Support both `newDataKeyArr` are duplication removed or not removed.\n\n\n newDataIndexMap[newKey] = null;\n }\n };\n\n DataDiffer.prototype._initIndexMap = function (arr, // Can be null.\n map, // In 'byKey', the output `keyArr` is duplication removed.\n // In 'byIndex', the output `keyArr` is not duplication removed and\n // its indices are accurately corresponding to `arr`.\n keyArr, keyGetterName) {\n var cbModeMultiple = this._diffModeMultiple;\n\n for (var i = 0; i < arr.length; i++) {\n // Add prefix to avoid conflict with Object.prototype.\n var key = '_ec_' + this[keyGetterName](arr[i], i);\n\n if (!cbModeMultiple) {\n keyArr[i] = key;\n }\n\n if (!map) {\n continue;\n }\n\n var idxMapVal = map[key];\n var idxMapValLen = dataIndexMapValueLength(idxMapVal);\n\n if (idxMapValLen === 0) {\n // Simple optimize: in most cases, one index has one key,\n // do not need array.\n map[key] = i;\n\n if (cbModeMultiple) {\n keyArr.push(key);\n }\n } else if (idxMapValLen === 1) {\n map[key] = [idxMapVal, i];\n } else {\n idxMapVal.push(i);\n }\n }\n };\n\n return DataDiffer;\n}();\n\nexport default DataDiffer;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, createHashMap, assert, map } from 'zrender/lib/core/util.js';\nimport { VISUAL_DIMENSIONS } from '../../util/types.js';\n\nvar DimensionUserOuput =\n/** @class */\nfunction () {\n function DimensionUserOuput(encode, dimRequest) {\n this._encode = encode;\n this._schema = dimRequest;\n }\n\n DimensionUserOuput.prototype.get = function () {\n return {\n // Do not generate full dimension name until fist used.\n fullDimensions: this._getFullDimensionNames(),\n encode: this._encode\n };\n };\n /**\r\n * Get all data store dimension names.\r\n * Theoretically a series data store is defined both by series and used dataset (if any).\r\n * If some dimensions are omitted for performance reason in `this.dimensions`,\r\n * the dimension name may not be auto-generated if user does not specify a dimension name.\r\n * In this case, the dimension name is `null`/`undefined`.\r\n */\n\n\n DimensionUserOuput.prototype._getFullDimensionNames = function () {\n if (!this._cachedDimNames) {\n this._cachedDimNames = this._schema ? this._schema.makeOutputDimensionNames() : [];\n }\n\n return this._cachedDimNames;\n };\n\n return DimensionUserOuput;\n}();\n\n;\nexport function summarizeDimensions(data, schema) {\n var summary = {};\n var encode = summary.encode = {};\n var notExtraCoordDimMap = createHashMap();\n var defaultedLabel = [];\n var defaultedTooltip = [];\n var userOutputEncode = {};\n each(data.dimensions, function (dimName) {\n var dimItem = data.getDimensionInfo(dimName);\n var coordDim = dimItem.coordDim;\n\n if (coordDim) {\n if (process.env.NODE_ENV !== 'production') {\n assert(VISUAL_DIMENSIONS.get(coordDim) == null);\n }\n\n var coordDimIndex = dimItem.coordDimIndex;\n getOrCreateEncodeArr(encode, coordDim)[coordDimIndex] = dimName;\n\n if (!dimItem.isExtraCoord) {\n notExtraCoordDimMap.set(coordDim, 1); // Use the last coord dim (and label friendly) as default label,\n // because when dataset is used, it is hard to guess which dimension\n // can be value dimension. If both show x, y on label is not look good,\n // and conventionally y axis is focused more.\n\n if (mayLabelDimType(dimItem.type)) {\n defaultedLabel[0] = dimName;\n } // User output encode do not contain generated coords.\n // And it only has index. User can use index to retrieve value from the raw item array.\n\n\n getOrCreateEncodeArr(userOutputEncode, coordDim)[coordDimIndex] = data.getDimensionIndex(dimItem.name);\n }\n\n if (dimItem.defaultTooltip) {\n defaultedTooltip.push(dimName);\n }\n }\n\n VISUAL_DIMENSIONS.each(function (v, otherDim) {\n var encodeArr = getOrCreateEncodeArr(encode, otherDim);\n var dimIndex = dimItem.otherDims[otherDim];\n\n if (dimIndex != null && dimIndex !== false) {\n encodeArr[dimIndex] = dimItem.name;\n }\n });\n });\n var dataDimsOnCoord = [];\n var encodeFirstDimNotExtra = {};\n notExtraCoordDimMap.each(function (v, coordDim) {\n var dimArr = encode[coordDim];\n encodeFirstDimNotExtra[coordDim] = dimArr[0]; // Not necessary to remove duplicate, because a data\n // dim canot on more than one coordDim.\n\n dataDimsOnCoord = dataDimsOnCoord.concat(dimArr);\n });\n summary.dataDimsOnCoord = dataDimsOnCoord;\n summary.dataDimIndicesOnCoord = map(dataDimsOnCoord, function (dimName) {\n return data.getDimensionInfo(dimName).storeDimIndex;\n });\n summary.encodeFirstDimNotExtra = encodeFirstDimNotExtra;\n var encodeLabel = encode.label; // FIXME `encode.label` is not recommended, because formatter cannot be set\n // in this way. Use label.formatter instead. Maybe remove this approach someday.\n\n if (encodeLabel && encodeLabel.length) {\n defaultedLabel = encodeLabel.slice();\n }\n\n var encodeTooltip = encode.tooltip;\n\n if (encodeTooltip && encodeTooltip.length) {\n defaultedTooltip = encodeTooltip.slice();\n } else if (!defaultedTooltip.length) {\n defaultedTooltip = defaultedLabel.slice();\n }\n\n encode.defaultedLabel = defaultedLabel;\n encode.defaultedTooltip = defaultedTooltip;\n summary.userOutput = new DimensionUserOuput(userOutputEncode, schema);\n return summary;\n}\n\nfunction getOrCreateEncodeArr(encode, dim) {\n if (!encode.hasOwnProperty(dim)) {\n encode[dim] = [];\n }\n\n return encode[dim];\n} // FIXME:TS should be type `AxisType`\n\n\nexport function getDimensionTypeByAxis(axisType) {\n return axisType === 'category' ? 'ordinal' : axisType === 'time' ? 'time' : 'float';\n}\n\nfunction mayLabelDimType(dimType) {\n // In most cases, ordinal and time do not suitable for label.\n // Ordinal info can be displayed on axis. Time is too long.\n return !(dimType === 'ordinal' || dimType === 'time');\n} // function findTheLastDimMayLabel(data) {\n// // Get last value dim\n// let dimensions = data.dimensions.slice();\n// let valueType;\n// let valueDim;\n// while (dimensions.length && (\n// valueDim = dimensions.pop(),\n// valueType = data.getDimensionInfo(valueDim).type,\n// valueType === 'ordinal' || valueType === 'time'\n// )) {} // jshint ignore:line\n// return valueDim;\n// }","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\n\nvar SeriesDimensionDefine =\n/** @class */\nfunction () {\n /**\r\n * @param opt All of the fields will be shallow copied.\r\n */\n function SeriesDimensionDefine(opt) {\n /**\r\n * The format of `otherDims` is:\r\n * ```js\r\n * {\r\n * tooltip?: number\r\n * label?: number\r\n * itemName?: number\r\n * seriesName?: number\r\n * }\r\n * ```\r\n *\r\n * A `series.encode` can specified these fields:\r\n * ```js\r\n * encode: {\r\n * // \"3, 1, 5\" is the index of data dimension.\r\n * tooltip: [3, 1, 5],\r\n * label: [0, 3],\r\n * ...\r\n * }\r\n * ```\r\n * `otherDims` is the parse result of the `series.encode` above, like:\r\n * ```js\r\n * // Suppose the index of this data dimension is `3`.\r\n * this.otherDims = {\r\n * // `3` is at the index `0` of the `encode.tooltip`\r\n * tooltip: 0,\r\n * // `3` is at the index `1` of the `encode.label`\r\n * label: 1\r\n * };\r\n * ```\r\n *\r\n * This prop should never be `null`/`undefined` after initialized.\r\n */\n this.otherDims = {};\n\n if (opt != null) {\n zrUtil.extend(this, opt);\n }\n }\n\n return SeriesDimensionDefine;\n}();\n\n;\nexport default SeriesDimensionDefine;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createHashMap, isObject, retrieve2 } from 'zrender/lib/core/util.js';\nimport { makeInner } from '../../util/model.js';\nimport { shouldRetrieveDataByName } from '../Source.js';\nvar inner = makeInner();\nvar dimTypeShort = {\n float: 'f',\n int: 'i',\n ordinal: 'o',\n number: 'n',\n time: 't'\n};\n/**\r\n * Represents the dimension requirement of a series.\r\n *\r\n * NOTICE:\r\n * When there are too many dimensions in dataset and many series, only the used dimensions\r\n * (i.e., used by coord sys and declared in `series.encode`) are add to `dimensionDefineList`.\r\n * But users may query data by other unused dimension names.\r\n * In this case, users can only query data if and only if they have defined dimension names\r\n * via ec option, so we provide `getDimensionIndexFromSource`, which only query them from\r\n * `source` dimensions.\r\n */\n\nvar SeriesDataSchema =\n/** @class */\nfunction () {\n function SeriesDataSchema(opt) {\n this.dimensions = opt.dimensions;\n this._dimOmitted = opt.dimensionOmitted;\n this.source = opt.source;\n this._fullDimCount = opt.fullDimensionCount;\n\n this._updateDimOmitted(opt.dimensionOmitted);\n }\n\n SeriesDataSchema.prototype.isDimensionOmitted = function () {\n return this._dimOmitted;\n };\n\n SeriesDataSchema.prototype._updateDimOmitted = function (dimensionOmitted) {\n this._dimOmitted = dimensionOmitted;\n\n if (!dimensionOmitted) {\n return;\n }\n\n if (!this._dimNameMap) {\n this._dimNameMap = ensureSourceDimNameMap(this.source);\n }\n };\n /**\r\n * @caution Can only be used when `dimensionOmitted: true`.\r\n *\r\n * Get index by user defined dimension name (i.e., not internal generate name).\r\n * That is, get index from `dimensionsDefine`.\r\n * If no `dimensionsDefine`, or no name get, return -1.\r\n */\n\n\n SeriesDataSchema.prototype.getSourceDimensionIndex = function (dimName) {\n return retrieve2(this._dimNameMap.get(dimName), -1);\n };\n /**\r\n * @caution Can only be used when `dimensionOmitted: true`.\r\n *\r\n * Notice: may return `null`/`undefined` if user not specify dimension names.\r\n */\n\n\n SeriesDataSchema.prototype.getSourceDimension = function (dimIndex) {\n var dimensionsDefine = this.source.dimensionsDefine;\n\n if (dimensionsDefine) {\n return dimensionsDefine[dimIndex];\n }\n };\n\n SeriesDataSchema.prototype.makeStoreSchema = function () {\n var dimCount = this._fullDimCount;\n var willRetrieveDataByName = shouldRetrieveDataByName(this.source);\n var makeHashStrict = !shouldOmitUnusedDimensions(dimCount); // If source don't have dimensions or series don't omit unsed dimensions.\n // Generate from seriesDimList directly\n\n var dimHash = '';\n var dims = [];\n\n for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < dimCount; fullDimIdx++) {\n var property = void 0;\n var type = void 0;\n var ordinalMeta = void 0;\n var seriesDimDef = this.dimensions[seriesDimIdx]; // The list has been sorted by `storeDimIndex` asc.\n\n if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {\n property = willRetrieveDataByName ? seriesDimDef.name : null;\n type = seriesDimDef.type;\n ordinalMeta = seriesDimDef.ordinalMeta;\n seriesDimIdx++;\n } else {\n var sourceDimDef = this.getSourceDimension(fullDimIdx);\n\n if (sourceDimDef) {\n property = willRetrieveDataByName ? sourceDimDef.name : null;\n type = sourceDimDef.type;\n }\n }\n\n dims.push({\n property: property,\n type: type,\n ordinalMeta: ordinalMeta\n }); // If retrieving data by index,\n // use to determine whether data can be shared.\n // (Because in this case there might be no dimension name defined in dataset, but indices always exists).\n // (Indices are always 0, 1, 2, ..., so we can ignore them to shorten the hash).\n // Otherwise if retrieving data by property name (like `data: [{aa: 123, bb: 765}, ...]`),\n // use in hash.\n\n if (willRetrieveDataByName && property != null // For data stack, we have make sure each series has its own dim on this store.\n // So we do not add property to hash to make sure they can share this store.\n && (!seriesDimDef || !seriesDimDef.isCalculationCoord)) {\n dimHash += makeHashStrict // Use escape character '`' in case that property name contains '$'.\n ? property.replace(/\\`/g, '`1').replace(/\\$/g, '`2') // For better performance, when there are large dimensions, tolerant this defects that hardly meet.\n : property;\n }\n\n dimHash += '$';\n dimHash += dimTypeShort[type] || 'f';\n\n if (ordinalMeta) {\n dimHash += ordinalMeta.uid;\n }\n\n dimHash += '$';\n } // Source from endpoint(usually series) will be read differently\n // when seriesLayoutBy or startIndex(which is affected by sourceHeader) are different.\n // So we use this three props as key.\n\n\n var source = this.source;\n var hash = [source.seriesLayoutBy, source.startIndex, dimHash].join('$$');\n return {\n dimensions: dims,\n hash: hash\n };\n };\n\n SeriesDataSchema.prototype.makeOutputDimensionNames = function () {\n var result = [];\n\n for (var fullDimIdx = 0, seriesDimIdx = 0; fullDimIdx < this._fullDimCount; fullDimIdx++) {\n var name_1 = void 0;\n var seriesDimDef = this.dimensions[seriesDimIdx]; // The list has been sorted by `storeDimIndex` asc.\n\n if (seriesDimDef && seriesDimDef.storeDimIndex === fullDimIdx) {\n if (!seriesDimDef.isCalculationCoord) {\n name_1 = seriesDimDef.name;\n }\n\n seriesDimIdx++;\n } else {\n var sourceDimDef = this.getSourceDimension(fullDimIdx);\n\n if (sourceDimDef) {\n name_1 = sourceDimDef.name;\n }\n }\n\n result.push(name_1);\n }\n\n return result;\n };\n\n SeriesDataSchema.prototype.appendCalculationDimension = function (dimDef) {\n this.dimensions.push(dimDef);\n dimDef.isCalculationCoord = true;\n this._fullDimCount++; // If append dimension on a data store, consider the store\n // might be shared by different series, series dimensions not\n // really map to store dimensions.\n\n this._updateDimOmitted(true);\n };\n\n return SeriesDataSchema;\n}();\n\nexport { SeriesDataSchema };\nexport function isSeriesDataSchema(schema) {\n return schema instanceof SeriesDataSchema;\n}\nexport function createDimNameMap(dimsDef) {\n var dataDimNameMap = createHashMap();\n\n for (var i = 0; i < (dimsDef || []).length; i++) {\n var dimDefItemRaw = dimsDef[i];\n var userDimName = isObject(dimDefItemRaw) ? dimDefItemRaw.name : dimDefItemRaw;\n\n if (userDimName != null && dataDimNameMap.get(userDimName) == null) {\n dataDimNameMap.set(userDimName, i);\n }\n }\n\n return dataDimNameMap;\n}\nexport function ensureSourceDimNameMap(source) {\n var innerSource = inner(source);\n return innerSource.dimNameMap || (innerSource.dimNameMap = createDimNameMap(source.dimensionsDefine));\n}\nexport function shouldOmitUnusedDimensions(dimCount) {\n return dimCount > 30;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/* global Int32Array */\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport Model from '../model/Model.js';\nimport DataDiffer from './DataDiffer.js';\nimport { DefaultDataProvider } from './helper/dataProvider.js';\nimport { summarizeDimensions } from './helper/dimensionHelper.js';\nimport SeriesDimensionDefine from './SeriesDimensionDefine.js';\nimport { SOURCE_FORMAT_TYPED_ARRAY, SOURCE_FORMAT_ORIGINAL } from '../util/types.js';\nimport { convertOptionIdName, isDataItemOption } from '../util/model.js';\nimport { setCommonECData } from '../util/innerStore.js';\nimport { isSourceInstance } from './Source.js';\nimport DataStore from './DataStore.js';\nimport { isSeriesDataSchema } from './helper/SeriesDataSchema.js';\nvar isObject = zrUtil.isObject;\nvar map = zrUtil.map;\nvar CtorInt32Array = typeof Int32Array === 'undefined' ? Array : Int32Array; // Use prefix to avoid index to be the same as otherIdList[idx],\n// which will cause weird update animation.\n\nvar ID_PREFIX = 'e\\0\\0';\nvar INDEX_NOT_FOUND = -1; // type SeriesDimensionIndex = DimensionIndex;\n\nvar TRANSFERABLE_PROPERTIES = ['hasItemOption', '_nameList', '_idList', '_invertedIndicesMap', '_dimSummary', 'userOutput', '_rawData', '_dimValueGetter', '_nameDimIdx', '_idDimIdx', '_nameRepeatCount'];\nvar CLONE_PROPERTIES = ['_approximateExtent']; // -----------------------------\n// Internal method declarations:\n// -----------------------------\n\nvar prepareInvertedIndex;\nvar getId;\nvar getIdNameFromStore;\nvar normalizeDimensions;\nvar transferProperties;\nvar cloneListForMapAndSample;\nvar makeIdFromName;\n\nvar SeriesData =\n/** @class */\nfunction () {\n /**\r\n * @param dimensionsInput.dimensions\r\n * For example, ['someDimName', {name: 'someDimName', type: 'someDimType'}, ...].\r\n * Dimensions should be concrete names like x, y, z, lng, lat, angle, radius\r\n */\n function SeriesData(dimensionsInput, hostModel) {\n this.type = 'list';\n this._dimOmitted = false;\n this._nameList = [];\n this._idList = []; // Models of data option is stored sparse for optimizing memory cost\n // Never used yet (not used yet).\n // private _optionModels: Model[] = [];\n // Global visual properties after visual coding\n\n this._visual = {}; // Global layout properties.\n\n this._layout = {}; // Item visual properties after visual coding\n\n this._itemVisuals = []; // Item layout properties after layout\n\n this._itemLayouts = []; // Graphic elements\n\n this._graphicEls = []; // key: dim, value: extent\n\n this._approximateExtent = {};\n this._calculationInfo = {}; // Having detected that there is data item is non primitive type\n // (in type `OptionDataItemObject`).\n // Like `data: [ { value: xx, itemStyle: {...} }, ...]`\n // At present it only happen in `SOURCE_FORMAT_ORIGINAL`.\n\n this.hasItemOption = false; // Methods that create a new list based on this list should be listed here.\n // Notice that those method should `RETURN` the new list.\n\n this.TRANSFERABLE_METHODS = ['cloneShallow', 'downSample', 'lttbDownSample', 'map']; // Methods that change indices of this list should be listed here.\n\n this.CHANGABLE_METHODS = ['filterSelf', 'selectRange'];\n this.DOWNSAMPLE_METHODS = ['downSample', 'lttbDownSample'];\n var dimensions;\n var assignStoreDimIdx = false;\n\n if (isSeriesDataSchema(dimensionsInput)) {\n dimensions = dimensionsInput.dimensions;\n this._dimOmitted = dimensionsInput.isDimensionOmitted();\n this._schema = dimensionsInput;\n } else {\n assignStoreDimIdx = true;\n dimensions = dimensionsInput;\n }\n\n dimensions = dimensions || ['x', 'y'];\n var dimensionInfos = {};\n var dimensionNames = [];\n var invertedIndicesMap = {};\n var needsHasOwn = false;\n var emptyObj = {};\n\n for (var i = 0; i < dimensions.length; i++) {\n // Use the original dimensions[i], where other flag props may exists.\n var dimInfoInput = dimensions[i];\n var dimensionInfo = zrUtil.isString(dimInfoInput) ? new SeriesDimensionDefine({\n name: dimInfoInput\n }) : !(dimInfoInput instanceof SeriesDimensionDefine) ? new SeriesDimensionDefine(dimInfoInput) : dimInfoInput;\n var dimensionName = dimensionInfo.name;\n dimensionInfo.type = dimensionInfo.type || 'float';\n\n if (!dimensionInfo.coordDim) {\n dimensionInfo.coordDim = dimensionName;\n dimensionInfo.coordDimIndex = 0;\n }\n\n var otherDims = dimensionInfo.otherDims = dimensionInfo.otherDims || {};\n dimensionNames.push(dimensionName);\n dimensionInfos[dimensionName] = dimensionInfo;\n\n if (emptyObj[dimensionName] != null) {\n needsHasOwn = true;\n }\n\n if (dimensionInfo.createInvertedIndices) {\n invertedIndicesMap[dimensionName] = [];\n }\n\n if (otherDims.itemName === 0) {\n this._nameDimIdx = i;\n }\n\n if (otherDims.itemId === 0) {\n this._idDimIdx = i;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.assert(assignStoreDimIdx || dimensionInfo.storeDimIndex >= 0);\n }\n\n if (assignStoreDimIdx) {\n dimensionInfo.storeDimIndex = i;\n }\n }\n\n this.dimensions = dimensionNames;\n this._dimInfos = dimensionInfos;\n\n this._initGetDimensionInfo(needsHasOwn);\n\n this.hostModel = hostModel;\n this._invertedIndicesMap = invertedIndicesMap;\n\n if (this._dimOmitted) {\n var dimIdxToName_1 = this._dimIdxToName = zrUtil.createHashMap();\n zrUtil.each(dimensionNames, function (dimName) {\n dimIdxToName_1.set(dimensionInfos[dimName].storeDimIndex, dimName);\n });\n }\n }\n /**\r\n *\r\n * Get concrete dimension name by dimension name or dimension index.\r\n * If input a dimension name, do not validate whether the dimension name exits.\r\n *\r\n * @caution\r\n * @param dim Must make sure the dimension is `SeriesDimensionLoose`.\r\n * Because only those dimensions will have auto-generated dimension names if not\r\n * have a user-specified name, and other dimensions will get a return of null/undefined.\r\n *\r\n * @notice Because of this reason, should better use `getDimensionIndex` instead, for examples:\r\n * ```js\r\n * const val = data.getStore().get(data.getDimensionIndex(dim), dataIdx);\r\n * ```\r\n *\r\n * @return Concrete dim name.\r\n */\n\n\n SeriesData.prototype.getDimension = function (dim) {\n var dimIdx = this._recognizeDimIndex(dim);\n\n if (dimIdx == null) {\n return dim;\n }\n\n dimIdx = dim;\n\n if (!this._dimOmitted) {\n return this.dimensions[dimIdx];\n } // Retrieve from series dimension definition because it probably contains\n // generated dimension name (like 'x', 'y').\n\n\n var dimName = this._dimIdxToName.get(dimIdx);\n\n if (dimName != null) {\n return dimName;\n }\n\n var sourceDimDef = this._schema.getSourceDimension(dimIdx);\n\n if (sourceDimDef) {\n return sourceDimDef.name;\n }\n };\n /**\r\n * Get dimension index in data store. Return -1 if not found.\r\n * Can be used to index value from getRawValue.\r\n */\n\n\n SeriesData.prototype.getDimensionIndex = function (dim) {\n var dimIdx = this._recognizeDimIndex(dim);\n\n if (dimIdx != null) {\n return dimIdx;\n }\n\n if (dim == null) {\n return -1;\n }\n\n var dimInfo = this._getDimInfo(dim);\n\n return dimInfo ? dimInfo.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(dim) : -1;\n };\n /**\r\n * The meanings of the input parameter `dim`:\r\n *\r\n * + If dim is a number (e.g., `1`), it means the index of the dimension.\r\n * For example, `getDimension(0)` will return 'x' or 'lng' or 'radius'.\r\n * + If dim is a number-like string (e.g., `\"1\"`):\r\n * + If there is the same concrete dim name defined in `series.dimensions` or `dataset.dimensions`,\r\n * it means that concrete name.\r\n * + If not, it will be converted to a number, which means the index of the dimension.\r\n * (why? because of the backward compatibility. We have been tolerating number-like string in\r\n * dimension setting, although now it seems that it is not a good idea.)\r\n * For example, `visualMap[i].dimension: \"1\"` is the same meaning as `visualMap[i].dimension: 1`,\r\n * if no dimension name is defined as `\"1\"`.\r\n * + If dim is a not-number-like string, it means the concrete dim name.\r\n * For example, it can be be default name `\"x\"`, `\"y\"`, `\"z\"`, `\"lng\"`, `\"lat\"`, `\"angle\"`, `\"radius\"`,\r\n * or customized in `dimensions` property of option like `\"age\"`.\r\n *\r\n * @return recognized `DimensionIndex`. Otherwise return null/undefined (means that dim is `DimensionName`).\r\n */\n\n\n SeriesData.prototype._recognizeDimIndex = function (dim) {\n if (zrUtil.isNumber(dim) // If being a number-like string but not being defined as a dimension name.\n || dim != null && !isNaN(dim) && !this._getDimInfo(dim) && (!this._dimOmitted || this._schema.getSourceDimensionIndex(dim) < 0)) {\n return +dim;\n }\n };\n\n SeriesData.prototype._getStoreDimIndex = function (dim) {\n var dimIdx = this.getDimensionIndex(dim);\n\n if (process.env.NODE_ENV !== 'production') {\n if (dimIdx == null) {\n throw new Error('Unknown dimension ' + dim);\n }\n }\n\n return dimIdx;\n };\n /**\r\n * Get type and calculation info of particular dimension\r\n * @param dim\r\n * Dimension can be concrete names like x, y, z, lng, lat, angle, radius\r\n * Or a ordinal number. For example getDimensionInfo(0) will return 'x' or 'lng' or 'radius'\r\n */\n\n\n SeriesData.prototype.getDimensionInfo = function (dim) {\n // Do not clone, because there may be categories in dimInfo.\n return this._getDimInfo(this.getDimension(dim));\n };\n\n SeriesData.prototype._initGetDimensionInfo = function (needsHasOwn) {\n var dimensionInfos = this._dimInfos;\n this._getDimInfo = needsHasOwn ? function (dimName) {\n return dimensionInfos.hasOwnProperty(dimName) ? dimensionInfos[dimName] : undefined;\n } : function (dimName) {\n return dimensionInfos[dimName];\n };\n };\n /**\r\n * concrete dimension name list on coord.\r\n */\n\n\n SeriesData.prototype.getDimensionsOnCoord = function () {\n return this._dimSummary.dataDimsOnCoord.slice();\n };\n\n SeriesData.prototype.mapDimension = function (coordDim, idx) {\n var dimensionsSummary = this._dimSummary;\n\n if (idx == null) {\n return dimensionsSummary.encodeFirstDimNotExtra[coordDim];\n }\n\n var dims = dimensionsSummary.encode[coordDim];\n return dims ? dims[idx] : null;\n };\n\n SeriesData.prototype.mapDimensionsAll = function (coordDim) {\n var dimensionsSummary = this._dimSummary;\n var dims = dimensionsSummary.encode[coordDim];\n return (dims || []).slice();\n };\n\n SeriesData.prototype.getStore = function () {\n return this._store;\n };\n /**\r\n * Initialize from data\r\n * @param data source or data or data store.\r\n * @param nameList The name of a datum is used on data diff and\r\n * default label/tooltip.\r\n * A name can be specified in encode.itemName,\r\n * or dataItem.name (only for series option data),\r\n * or provided in nameList from outside.\r\n */\n\n\n SeriesData.prototype.initData = function (data, nameList, dimValueGetter) {\n var _this = this;\n\n var store;\n\n if (data instanceof DataStore) {\n store = data;\n }\n\n if (!store) {\n var dimensions = this.dimensions;\n var provider = isSourceInstance(data) || zrUtil.isArrayLike(data) ? new DefaultDataProvider(data, dimensions.length) : data;\n store = new DataStore();\n var dimensionInfos = map(dimensions, function (dimName) {\n return {\n type: _this._dimInfos[dimName].type,\n property: dimName\n };\n });\n store.initData(provider, dimensionInfos, dimValueGetter);\n }\n\n this._store = store; // Reset\n\n this._nameList = (nameList || []).slice();\n this._idList = [];\n this._nameRepeatCount = {};\n\n this._doInit(0, store.count()); // Cache summary info for fast visit. See \"dimensionHelper\".\n // Needs to be initialized after store is prepared.\n\n\n this._dimSummary = summarizeDimensions(this, this._schema);\n this.userOutput = this._dimSummary.userOutput;\n };\n /**\r\n * Caution: Can be only called on raw data (before `this._indices` created).\r\n */\n\n\n SeriesData.prototype.appendData = function (data) {\n var range = this._store.appendData(data);\n\n this._doInit(range[0], range[1]);\n };\n /**\r\n * Caution: Can be only called on raw data (before `this._indices` created).\r\n * This method does not modify `rawData` (`dataProvider`), but only\r\n * add values to store.\r\n *\r\n * The final count will be increased by `Math.max(values.length, names.length)`.\r\n *\r\n * @param values That is the SourceType: 'arrayRows', like\r\n * [\r\n * [12, 33, 44],\r\n * [NaN, 43, 1],\r\n * ['-', 'asdf', 0]\r\n * ]\r\n * Each item is exactly corresponding to a dimension.\r\n */\n\n\n SeriesData.prototype.appendValues = function (values, names) {\n var _a = this._store.appendValues(values, names.length),\n start = _a.start,\n end = _a.end;\n\n var shouldMakeIdFromName = this._shouldMakeIdFromName();\n\n this._updateOrdinalMeta();\n\n if (names) {\n for (var idx = start; idx < end; idx++) {\n var sourceIdx = idx - start;\n this._nameList[idx] = names[sourceIdx];\n\n if (shouldMakeIdFromName) {\n makeIdFromName(this, idx);\n }\n }\n }\n };\n\n SeriesData.prototype._updateOrdinalMeta = function () {\n var store = this._store;\n var dimensions = this.dimensions;\n\n for (var i = 0; i < dimensions.length; i++) {\n var dimInfo = this._dimInfos[dimensions[i]];\n\n if (dimInfo.ordinalMeta) {\n store.collectOrdinalMeta(dimInfo.storeDimIndex, dimInfo.ordinalMeta);\n }\n }\n };\n\n SeriesData.prototype._shouldMakeIdFromName = function () {\n var provider = this._store.getProvider();\n\n return this._idDimIdx == null && provider.getSource().sourceFormat !== SOURCE_FORMAT_TYPED_ARRAY && !provider.fillStorage;\n };\n\n SeriesData.prototype._doInit = function (start, end) {\n if (start >= end) {\n return;\n }\n\n var store = this._store;\n var provider = store.getProvider();\n\n this._updateOrdinalMeta();\n\n var nameList = this._nameList;\n var idList = this._idList;\n var sourceFormat = provider.getSource().sourceFormat;\n var isFormatOriginal = sourceFormat === SOURCE_FORMAT_ORIGINAL; // Each data item is value\n // [1, 2]\n // 2\n // Bar chart, line chart which uses category axis\n // only gives the 'y' value. 'x' value is the indices of category\n // Use a tempValue to normalize the value to be a (x, y) value\n // If dataItem is {name: ...} or {id: ...}, it has highest priority.\n // This kind of ids and names are always stored `_nameList` and `_idList`.\n\n if (isFormatOriginal && !provider.pure) {\n var sharedDataItem = [];\n\n for (var idx = start; idx < end; idx++) {\n // NOTICE: Try not to write things into dataItem\n var dataItem = provider.getItem(idx, sharedDataItem);\n\n if (!this.hasItemOption && isDataItemOption(dataItem)) {\n this.hasItemOption = true;\n }\n\n if (dataItem) {\n var itemName = dataItem.name;\n\n if (nameList[idx] == null && itemName != null) {\n nameList[idx] = convertOptionIdName(itemName, null);\n }\n\n var itemId = dataItem.id;\n\n if (idList[idx] == null && itemId != null) {\n idList[idx] = convertOptionIdName(itemId, null);\n }\n }\n }\n }\n\n if (this._shouldMakeIdFromName()) {\n for (var idx = start; idx < end; idx++) {\n makeIdFromName(this, idx);\n }\n }\n\n prepareInvertedIndex(this);\n };\n /**\r\n * PENDING: In fact currently this function is only used to short-circuit\r\n * the calling of `scale.unionExtentFromData` when data have been filtered by modules\r\n * like \"dataZoom\". `scale.unionExtentFromData` is used to calculate data extent for series on\r\n * an axis, but if a \"axis related data filter module\" is used, the extent of the axis have\r\n * been fixed and no need to calling `scale.unionExtentFromData` actually.\r\n * But if we add \"custom data filter\" in future, which is not \"axis related\", this method may\r\n * be still needed.\r\n *\r\n * Optimize for the scenario that data is filtered by a given extent.\r\n * Consider that if data amount is more than hundreds of thousand,\r\n * extent calculation will cost more than 10ms and the cache will\r\n * be erased because of the filtering.\r\n */\n\n\n SeriesData.prototype.getApproximateExtent = function (dim) {\n return this._approximateExtent[dim] || this._store.getDataExtent(this._getStoreDimIndex(dim));\n };\n /**\r\n * Calculate extent on a filtered data might be time consuming.\r\n * Approximate extent is only used for: calculate extent of filtered data outside.\r\n */\n\n\n SeriesData.prototype.setApproximateExtent = function (extent, dim) {\n dim = this.getDimension(dim);\n this._approximateExtent[dim] = extent.slice();\n };\n\n SeriesData.prototype.getCalculationInfo = function (key) {\n return this._calculationInfo[key];\n };\n\n SeriesData.prototype.setCalculationInfo = function (key, value) {\n isObject(key) ? zrUtil.extend(this._calculationInfo, key) : this._calculationInfo[key] = value;\n };\n /**\r\n * @return Never be null/undefined. `number` will be converted to string. Because:\r\n * In most cases, name is used in display, where returning a string is more convenient.\r\n * In other cases, name is used in query (see `indexOfName`), where we can keep the\r\n * rule that name `2` equals to name `'2'`.\r\n */\n\n\n SeriesData.prototype.getName = function (idx) {\n var rawIndex = this.getRawIndex(idx);\n var name = this._nameList[rawIndex];\n\n if (name == null && this._nameDimIdx != null) {\n name = getIdNameFromStore(this, this._nameDimIdx, rawIndex);\n }\n\n if (name == null) {\n name = '';\n }\n\n return name;\n };\n\n SeriesData.prototype._getCategory = function (dimIdx, idx) {\n var ordinal = this._store.get(dimIdx, idx);\n\n var ordinalMeta = this._store.getOrdinalMeta(dimIdx);\n\n if (ordinalMeta) {\n return ordinalMeta.categories[ordinal];\n }\n\n return ordinal;\n };\n /**\r\n * @return Never null/undefined. `number` will be converted to string. Because:\r\n * In all cases having encountered at present, id is used in making diff comparison, which\r\n * are usually based on hash map. We can keep the rule that the internal id are always string\r\n * (treat `2` is the same as `'2'`) to make the related logic simple.\r\n */\n\n\n SeriesData.prototype.getId = function (idx) {\n return getId(this, this.getRawIndex(idx));\n };\n\n SeriesData.prototype.count = function () {\n return this._store.count();\n };\n /**\r\n * Get value. Return NaN if idx is out of range.\r\n *\r\n * @notice Should better to use `data.getStore().get(dimIndex, dataIdx)` instead.\r\n */\n\n\n SeriesData.prototype.get = function (dim, idx) {\n var store = this._store;\n var dimInfo = this._dimInfos[dim];\n\n if (dimInfo) {\n return store.get(dimInfo.storeDimIndex, idx);\n }\n };\n /**\r\n * @notice Should better to use `data.getStore().getByRawIndex(dimIndex, dataIdx)` instead.\r\n */\n\n\n SeriesData.prototype.getByRawIndex = function (dim, rawIdx) {\n var store = this._store;\n var dimInfo = this._dimInfos[dim];\n\n if (dimInfo) {\n return store.getByRawIndex(dimInfo.storeDimIndex, rawIdx);\n }\n };\n\n SeriesData.prototype.getIndices = function () {\n return this._store.getIndices();\n };\n\n SeriesData.prototype.getDataExtent = function (dim) {\n return this._store.getDataExtent(this._getStoreDimIndex(dim));\n };\n\n SeriesData.prototype.getSum = function (dim) {\n return this._store.getSum(this._getStoreDimIndex(dim));\n };\n\n SeriesData.prototype.getMedian = function (dim) {\n return this._store.getMedian(this._getStoreDimIndex(dim));\n };\n\n SeriesData.prototype.getValues = function (dimensions, idx) {\n var _this = this;\n\n var store = this._store;\n return zrUtil.isArray(dimensions) ? store.getValues(map(dimensions, function (dim) {\n return _this._getStoreDimIndex(dim);\n }), idx) : store.getValues(dimensions);\n };\n /**\r\n * If value is NaN. Including '-'\r\n * Only check the coord dimensions.\r\n */\n\n\n SeriesData.prototype.hasValue = function (idx) {\n var dataDimIndicesOnCoord = this._dimSummary.dataDimIndicesOnCoord;\n\n for (var i = 0, len = dataDimIndicesOnCoord.length; i < len; i++) {\n // Ordinal type originally can be string or number.\n // But when an ordinal type is used on coord, it can\n // not be string but only number. So we can also use isNaN.\n if (isNaN(this._store.get(dataDimIndicesOnCoord[i], idx))) {\n return false;\n }\n }\n\n return true;\n };\n /**\r\n * Retrieve the index with given name\r\n */\n\n\n SeriesData.prototype.indexOfName = function (name) {\n for (var i = 0, len = this._store.count(); i < len; i++) {\n if (this.getName(i) === name) {\n return i;\n }\n }\n\n return -1;\n };\n\n SeriesData.prototype.getRawIndex = function (idx) {\n return this._store.getRawIndex(idx);\n };\n\n SeriesData.prototype.indexOfRawIndex = function (rawIndex) {\n return this._store.indexOfRawIndex(rawIndex);\n };\n /**\r\n * Only support the dimension which inverted index created.\r\n * Do not support other cases until required.\r\n * @param dim concrete dim\r\n * @param value ordinal index\r\n * @return rawIndex\r\n */\n\n\n SeriesData.prototype.rawIndexOf = function (dim, value) {\n var invertedIndices = dim && this._invertedIndicesMap[dim];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!invertedIndices) {\n throw new Error('Do not supported yet');\n }\n }\n\n var rawIndex = invertedIndices[value];\n\n if (rawIndex == null || isNaN(rawIndex)) {\n return INDEX_NOT_FOUND;\n }\n\n return rawIndex;\n };\n /**\r\n * Retrieve the index of nearest value\r\n * @param dim\r\n * @param value\r\n * @param [maxDistance=Infinity]\r\n * @return If and only if multiple indices has\r\n * the same value, they are put to the result.\r\n */\n\n\n SeriesData.prototype.indicesOfNearest = function (dim, value, maxDistance) {\n return this._store.indicesOfNearest(this._getStoreDimIndex(dim), value, maxDistance);\n };\n\n SeriesData.prototype.each = function (dims, cb, ctx) {\n 'use strict';\n\n if (zrUtil.isFunction(dims)) {\n ctx = cb;\n cb = dims;\n dims = [];\n } // ctxCompat just for compat echarts3\n\n\n var fCtx = ctx || this;\n var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);\n\n this._store.each(dimIndices, fCtx ? zrUtil.bind(cb, fCtx) : cb);\n };\n\n SeriesData.prototype.filterSelf = function (dims, cb, ctx) {\n 'use strict';\n\n if (zrUtil.isFunction(dims)) {\n ctx = cb;\n cb = dims;\n dims = [];\n } // ctxCompat just for compat echarts3\n\n\n var fCtx = ctx || this;\n var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);\n this._store = this._store.filter(dimIndices, fCtx ? zrUtil.bind(cb, fCtx) : cb);\n return this;\n };\n /**\r\n * Select data in range. (For optimization of filter)\r\n * (Manually inline code, support 5 million data filtering in data zoom.)\r\n */\n\n\n SeriesData.prototype.selectRange = function (range) {\n 'use strict';\n\n var _this = this;\n\n var innerRange = {};\n var dims = zrUtil.keys(range);\n var dimIndices = [];\n zrUtil.each(dims, function (dim) {\n var dimIdx = _this._getStoreDimIndex(dim);\n\n innerRange[dimIdx] = range[dim];\n dimIndices.push(dimIdx);\n });\n this._store = this._store.selectRange(innerRange);\n return this;\n };\n /* eslint-enable max-len */\n\n\n SeriesData.prototype.mapArray = function (dims, cb, ctx) {\n 'use strict';\n\n if (zrUtil.isFunction(dims)) {\n ctx = cb;\n cb = dims;\n dims = [];\n } // ctxCompat just for compat echarts3\n\n\n ctx = ctx || this;\n var result = [];\n this.each(dims, function () {\n result.push(cb && cb.apply(this, arguments));\n }, ctx);\n return result;\n };\n\n SeriesData.prototype.map = function (dims, cb, ctx, ctxCompat) {\n 'use strict'; // ctxCompat just for compat echarts3\n\n var fCtx = ctx || ctxCompat || this;\n var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this);\n var list = cloneListForMapAndSample(this);\n list._store = this._store.map(dimIndices, fCtx ? zrUtil.bind(cb, fCtx) : cb);\n return list;\n };\n\n SeriesData.prototype.modify = function (dims, cb, ctx, ctxCompat) {\n var _this = this; // ctxCompat just for compat echarts3\n\n\n var fCtx = ctx || ctxCompat || this;\n\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.each(normalizeDimensions(dims), function (dim) {\n var dimInfo = _this.getDimensionInfo(dim);\n\n if (!dimInfo.isCalculationCoord) {\n console.error('Danger: only stack dimension can be modified');\n }\n });\n }\n\n var dimIndices = map(normalizeDimensions(dims), this._getStoreDimIndex, this); // If do shallow clone here, if there are too many stacked series,\n // it still cost lots of memory, because `_store.dimensions` are not shared.\n // We should consider there probably be shallow clone happen in each series\n // in consequent filter/map.\n\n this._store.modify(dimIndices, fCtx ? zrUtil.bind(cb, fCtx) : cb);\n };\n /**\r\n * Large data down sampling on given dimension\r\n * @param sampleIndex Sample index for name and id\r\n */\n\n\n SeriesData.prototype.downSample = function (dimension, rate, sampleValue, sampleIndex) {\n var list = cloneListForMapAndSample(this);\n list._store = this._store.downSample(this._getStoreDimIndex(dimension), rate, sampleValue, sampleIndex);\n return list;\n };\n /**\r\n * Large data down sampling using largest-triangle-three-buckets\r\n * @param {string} valueDimension\r\n * @param {number} targetCount\r\n */\n\n\n SeriesData.prototype.lttbDownSample = function (valueDimension, rate) {\n var list = cloneListForMapAndSample(this);\n list._store = this._store.lttbDownSample(this._getStoreDimIndex(valueDimension), rate);\n return list;\n };\n\n SeriesData.prototype.getRawDataItem = function (idx) {\n return this._store.getRawDataItem(idx);\n };\n /**\r\n * Get model of one data item.\r\n */\n // TODO: Type of data item\n\n\n SeriesData.prototype.getItemModel = function (idx) {\n var hostModel = this.hostModel;\n var dataItem = this.getRawDataItem(idx);\n return new Model(dataItem, hostModel, hostModel && hostModel.ecModel);\n };\n /**\r\n * Create a data differ\r\n */\n\n\n SeriesData.prototype.diff = function (otherList) {\n var thisList = this;\n return new DataDiffer(otherList ? otherList.getStore().getIndices() : [], this.getStore().getIndices(), function (idx) {\n return getId(otherList, idx);\n }, function (idx) {\n return getId(thisList, idx);\n });\n };\n /**\r\n * Get visual property.\r\n */\n\n\n SeriesData.prototype.getVisual = function (key) {\n var visual = this._visual;\n return visual && visual[key];\n };\n\n SeriesData.prototype.setVisual = function (kvObj, val) {\n this._visual = this._visual || {};\n\n if (isObject(kvObj)) {\n zrUtil.extend(this._visual, kvObj);\n } else {\n this._visual[kvObj] = val;\n }\n };\n /**\r\n * Get visual property of single data item\r\n */\n // eslint-disable-next-line\n\n\n SeriesData.prototype.getItemVisual = function (idx, key) {\n var itemVisual = this._itemVisuals[idx];\n var val = itemVisual && itemVisual[key];\n\n if (val == null) {\n // Use global visual property\n return this.getVisual(key);\n }\n\n return val;\n };\n /**\r\n * If exists visual property of single data item\r\n */\n\n\n SeriesData.prototype.hasItemVisual = function () {\n return this._itemVisuals.length > 0;\n };\n /**\r\n * Make sure itemVisual property is unique\r\n */\n // TODO: use key to save visual to reduce memory.\n\n\n SeriesData.prototype.ensureUniqueItemVisual = function (idx, key) {\n var itemVisuals = this._itemVisuals;\n var itemVisual = itemVisuals[idx];\n\n if (!itemVisual) {\n itemVisual = itemVisuals[idx] = {};\n }\n\n var val = itemVisual[key];\n\n if (val == null) {\n val = this.getVisual(key); // TODO Performance?\n\n if (zrUtil.isArray(val)) {\n val = val.slice();\n } else if (isObject(val)) {\n val = zrUtil.extend({}, val);\n }\n\n itemVisual[key] = val;\n }\n\n return val;\n }; // eslint-disable-next-line\n\n\n SeriesData.prototype.setItemVisual = function (idx, key, value) {\n var itemVisual = this._itemVisuals[idx] || {};\n this._itemVisuals[idx] = itemVisual;\n\n if (isObject(key)) {\n zrUtil.extend(itemVisual, key);\n } else {\n itemVisual[key] = value;\n }\n };\n /**\r\n * Clear itemVisuals and list visual.\r\n */\n\n\n SeriesData.prototype.clearAllVisual = function () {\n this._visual = {};\n this._itemVisuals = [];\n };\n\n SeriesData.prototype.setLayout = function (key, val) {\n isObject(key) ? zrUtil.extend(this._layout, key) : this._layout[key] = val;\n };\n /**\r\n * Get layout property.\r\n */\n\n\n SeriesData.prototype.getLayout = function (key) {\n return this._layout[key];\n };\n /**\r\n * Get layout of single data item\r\n */\n\n\n SeriesData.prototype.getItemLayout = function (idx) {\n return this._itemLayouts[idx];\n };\n /**\r\n * Set layout of single data item\r\n */\n\n\n SeriesData.prototype.setItemLayout = function (idx, layout, merge) {\n this._itemLayouts[idx] = merge ? zrUtil.extend(this._itemLayouts[idx] || {}, layout) : layout;\n };\n /**\r\n * Clear all layout of single data item\r\n */\n\n\n SeriesData.prototype.clearItemLayouts = function () {\n this._itemLayouts.length = 0;\n };\n /**\r\n * Set graphic element relative to data. It can be set as null\r\n */\n\n\n SeriesData.prototype.setItemGraphicEl = function (idx, el) {\n var seriesIndex = this.hostModel && this.hostModel.seriesIndex;\n setCommonECData(seriesIndex, this.dataType, idx, el);\n this._graphicEls[idx] = el;\n };\n\n SeriesData.prototype.getItemGraphicEl = function (idx) {\n return this._graphicEls[idx];\n };\n\n SeriesData.prototype.eachItemGraphicEl = function (cb, context) {\n zrUtil.each(this._graphicEls, function (el, idx) {\n if (el) {\n cb && cb.call(context, el, idx);\n }\n });\n };\n /**\r\n * Shallow clone a new list except visual and layout properties, and graph elements.\r\n * New list only change the indices.\r\n */\n\n\n SeriesData.prototype.cloneShallow = function (list) {\n if (!list) {\n list = new SeriesData(this._schema ? this._schema : map(this.dimensions, this._getDimInfo, this), this.hostModel);\n }\n\n transferProperties(list, this);\n list._store = this._store;\n return list;\n };\n /**\r\n * Wrap some method to add more feature\r\n */\n\n\n SeriesData.prototype.wrapMethod = function (methodName, injectFunction) {\n var originalMethod = this[methodName];\n\n if (!zrUtil.isFunction(originalMethod)) {\n return;\n }\n\n this.__wrappedMethods = this.__wrappedMethods || [];\n\n this.__wrappedMethods.push(methodName);\n\n this[methodName] = function () {\n var res = originalMethod.apply(this, arguments);\n return injectFunction.apply(this, [res].concat(zrUtil.slice(arguments)));\n };\n }; // ----------------------------------------------------------\n // A work around for internal method visiting private member.\n // ----------------------------------------------------------\n\n\n SeriesData.internalField = function () {\n prepareInvertedIndex = function (data) {\n var invertedIndicesMap = data._invertedIndicesMap;\n zrUtil.each(invertedIndicesMap, function (invertedIndices, dim) {\n var dimInfo = data._dimInfos[dim]; // Currently, only dimensions that has ordinalMeta can create inverted indices.\n\n var ordinalMeta = dimInfo.ordinalMeta;\n var store = data._store;\n\n if (ordinalMeta) {\n invertedIndices = invertedIndicesMap[dim] = new CtorInt32Array(ordinalMeta.categories.length); // The default value of TypedArray is 0. To avoid miss\n // mapping to 0, we should set it as INDEX_NOT_FOUND.\n\n for (var i = 0; i < invertedIndices.length; i++) {\n invertedIndices[i] = INDEX_NOT_FOUND;\n }\n\n for (var i = 0; i < store.count(); i++) {\n // Only support the case that all values are distinct.\n invertedIndices[store.get(dimInfo.storeDimIndex, i)] = i;\n }\n }\n });\n };\n\n getIdNameFromStore = function (data, dimIdx, idx) {\n return convertOptionIdName(data._getCategory(dimIdx, idx), null);\n };\n /**\r\n * @see the comment of `List['getId']`.\r\n */\n\n\n getId = function (data, rawIndex) {\n var id = data._idList[rawIndex];\n\n if (id == null && data._idDimIdx != null) {\n id = getIdNameFromStore(data, data._idDimIdx, rawIndex);\n }\n\n if (id == null) {\n id = ID_PREFIX + rawIndex;\n }\n\n return id;\n };\n\n normalizeDimensions = function (dimensions) {\n if (!zrUtil.isArray(dimensions)) {\n dimensions = dimensions != null ? [dimensions] : [];\n }\n\n return dimensions;\n };\n /**\r\n * Data in excludeDimensions is copied, otherwise transferred.\r\n */\n\n\n cloneListForMapAndSample = function (original) {\n var list = new SeriesData(original._schema ? original._schema : map(original.dimensions, original._getDimInfo, original), original.hostModel); // FIXME If needs stackedOn, value may already been stacked\n\n transferProperties(list, original);\n return list;\n };\n\n transferProperties = function (target, source) {\n zrUtil.each(TRANSFERABLE_PROPERTIES.concat(source.__wrappedMethods || []), function (propName) {\n if (source.hasOwnProperty(propName)) {\n target[propName] = source[propName];\n }\n });\n target.__wrappedMethods = source.__wrappedMethods;\n zrUtil.each(CLONE_PROPERTIES, function (propName) {\n target[propName] = zrUtil.clone(source[propName]);\n });\n target._calculationInfo = zrUtil.extend({}, source._calculationInfo);\n };\n\n makeIdFromName = function (data, idx) {\n var nameList = data._nameList;\n var idList = data._idList;\n var nameDimIdx = data._nameDimIdx;\n var idDimIdx = data._idDimIdx;\n var name = nameList[idx];\n var id = idList[idx];\n\n if (name == null && nameDimIdx != null) {\n nameList[idx] = name = getIdNameFromStore(data, nameDimIdx, idx);\n }\n\n if (id == null && idDimIdx != null) {\n idList[idx] = id = getIdNameFromStore(data, idDimIdx, idx);\n }\n\n if (id == null && name != null) {\n var nameRepeatCount = data._nameRepeatCount;\n var nmCnt = nameRepeatCount[name] = (nameRepeatCount[name] || 0) + 1;\n id = name;\n\n if (nmCnt > 1) {\n id += '__ec__' + nmCnt;\n }\n\n idList[idx] = id;\n }\n };\n }();\n\n return SeriesData;\n}();\n\nexport default SeriesData;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { VISUAL_DIMENSIONS } from '../../util/types.js';\nimport SeriesDimensionDefine from '../SeriesDimensionDefine.js';\nimport { createHashMap, defaults, each, extend, isObject, isString } from 'zrender/lib/core/util.js';\nimport { createSourceFromSeriesDataOption, isSourceInstance } from '../Source.js';\nimport { CtorInt32Array } from '../DataStore.js';\nimport { normalizeToArray } from '../../util/model.js';\nimport { BE_ORDINAL, guessOrdinal } from './sourceHelper.js';\nimport { createDimNameMap, ensureSourceDimNameMap, SeriesDataSchema, shouldOmitUnusedDimensions } from './SeriesDataSchema.js';\n/**\r\n * For outside usage compat (like echarts-gl are using it).\r\n */\n\nexport function createDimensions(source, opt) {\n return prepareSeriesDataSchema(source, opt).dimensions;\n}\n/**\r\n * This method builds the relationship between:\r\n * + \"what the coord sys or series requires (see `coordDimensions`)\",\r\n * + \"what the user defines (in `encode` and `dimensions`, see `opt.dimensionsDefine` and `opt.encodeDefine`)\"\r\n * + \"what the data source provids (see `source`)\".\r\n *\r\n * Some guess strategy will be adapted if user does not define something.\r\n * If no 'value' dimension specified, the first no-named dimension will be\r\n * named as 'value'.\r\n *\r\n * @return The results are always sorted by `storeDimIndex` asc.\r\n */\n\nexport default function prepareSeriesDataSchema( // TODO: TYPE completeDimensions type\nsource, opt) {\n if (!isSourceInstance(source)) {\n source = createSourceFromSeriesDataOption(source);\n }\n\n opt = opt || {};\n var sysDims = opt.coordDimensions || [];\n var dimsDef = opt.dimensionsDefine || source.dimensionsDefine || [];\n var coordDimNameMap = createHashMap();\n var resultList = [];\n var dimCount = getDimCount(source, sysDims, dimsDef, opt.dimensionsCount); // Try to ignore unused dimensions if sharing a high dimension datastore\n // 30 is an experience value.\n\n var omitUnusedDimensions = opt.canOmitUnusedDimensions && shouldOmitUnusedDimensions(dimCount);\n var isUsingSourceDimensionsDef = dimsDef === source.dimensionsDefine;\n var dataDimNameMap = isUsingSourceDimensionsDef ? ensureSourceDimNameMap(source) : createDimNameMap(dimsDef);\n var encodeDef = opt.encodeDefine;\n\n if (!encodeDef && opt.encodeDefaulter) {\n encodeDef = opt.encodeDefaulter(source, dimCount);\n }\n\n var encodeDefMap = createHashMap(encodeDef);\n var indicesMap = new CtorInt32Array(dimCount);\n\n for (var i = 0; i < indicesMap.length; i++) {\n indicesMap[i] = -1;\n }\n\n function getResultItem(dimIdx) {\n var idx = indicesMap[dimIdx];\n\n if (idx < 0) {\n var dimDefItemRaw = dimsDef[dimIdx];\n var dimDefItem = isObject(dimDefItemRaw) ? dimDefItemRaw : {\n name: dimDefItemRaw\n };\n var resultItem = new SeriesDimensionDefine();\n var userDimName = dimDefItem.name;\n\n if (userDimName != null && dataDimNameMap.get(userDimName) != null) {\n // Only if `series.dimensions` is defined in option\n // displayName, will be set, and dimension will be displayed vertically in\n // tooltip by default.\n resultItem.name = resultItem.displayName = userDimName;\n }\n\n dimDefItem.type != null && (resultItem.type = dimDefItem.type);\n dimDefItem.displayName != null && (resultItem.displayName = dimDefItem.displayName);\n var newIdx = resultList.length;\n indicesMap[dimIdx] = newIdx;\n resultItem.storeDimIndex = dimIdx;\n resultList.push(resultItem);\n return resultItem;\n }\n\n return resultList[idx];\n }\n\n if (!omitUnusedDimensions) {\n for (var i = 0; i < dimCount; i++) {\n getResultItem(i);\n }\n } // Set `coordDim` and `coordDimIndex` by `encodeDefMap` and normalize `encodeDefMap`.\n\n\n encodeDefMap.each(function (dataDimsRaw, coordDim) {\n var dataDims = normalizeToArray(dataDimsRaw).slice(); // Note: It is allowed that `dataDims.length` is `0`, e.g., options is\n // `{encode: {x: -1, y: 1}}`. Should not filter anything in\n // this case.\n\n if (dataDims.length === 1 && !isString(dataDims[0]) && dataDims[0] < 0) {\n encodeDefMap.set(coordDim, false);\n return;\n }\n\n var validDataDims = encodeDefMap.set(coordDim, []);\n each(dataDims, function (resultDimIdxOrName, idx) {\n // The input resultDimIdx can be dim name or index.\n var resultDimIdx = isString(resultDimIdxOrName) ? dataDimNameMap.get(resultDimIdxOrName) : resultDimIdxOrName;\n\n if (resultDimIdx != null && resultDimIdx < dimCount) {\n validDataDims[idx] = resultDimIdx;\n applyDim(getResultItem(resultDimIdx), coordDim, idx);\n }\n });\n }); // Apply templates and default order from `sysDims`.\n\n var availDimIdx = 0;\n each(sysDims, function (sysDimItemRaw) {\n var coordDim;\n var sysDimItemDimsDef;\n var sysDimItemOtherDims;\n var sysDimItem;\n\n if (isString(sysDimItemRaw)) {\n coordDim = sysDimItemRaw;\n sysDimItem = {};\n } else {\n sysDimItem = sysDimItemRaw;\n coordDim = sysDimItem.name;\n var ordinalMeta = sysDimItem.ordinalMeta;\n sysDimItem.ordinalMeta = null;\n sysDimItem = extend({}, sysDimItem);\n sysDimItem.ordinalMeta = ordinalMeta; // `coordDimIndex` should not be set directly.\n\n sysDimItemDimsDef = sysDimItem.dimsDef;\n sysDimItemOtherDims = sysDimItem.otherDims;\n sysDimItem.name = sysDimItem.coordDim = sysDimItem.coordDimIndex = sysDimItem.dimsDef = sysDimItem.otherDims = null;\n }\n\n var dataDims = encodeDefMap.get(coordDim); // negative resultDimIdx means no need to mapping.\n\n if (dataDims === false) {\n return;\n }\n\n dataDims = normalizeToArray(dataDims); // dimensions provides default dim sequences.\n\n if (!dataDims.length) {\n for (var i = 0; i < (sysDimItemDimsDef && sysDimItemDimsDef.length || 1); i++) {\n while (availDimIdx < dimCount && getResultItem(availDimIdx).coordDim != null) {\n availDimIdx++;\n }\n\n availDimIdx < dimCount && dataDims.push(availDimIdx++);\n }\n } // Apply templates.\n\n\n each(dataDims, function (resultDimIdx, coordDimIndex) {\n var resultItem = getResultItem(resultDimIdx); // Coordinate system has a higher priority on dim type than source.\n\n if (isUsingSourceDimensionsDef && sysDimItem.type != null) {\n resultItem.type = sysDimItem.type;\n }\n\n applyDim(defaults(resultItem, sysDimItem), coordDim, coordDimIndex);\n\n if (resultItem.name == null && sysDimItemDimsDef) {\n var sysDimItemDimsDefItem = sysDimItemDimsDef[coordDimIndex];\n !isObject(sysDimItemDimsDefItem) && (sysDimItemDimsDefItem = {\n name: sysDimItemDimsDefItem\n });\n resultItem.name = resultItem.displayName = sysDimItemDimsDefItem.name;\n resultItem.defaultTooltip = sysDimItemDimsDefItem.defaultTooltip;\n } // FIXME refactor, currently only used in case: {otherDims: {tooltip: false}}\n\n\n sysDimItemOtherDims && defaults(resultItem.otherDims, sysDimItemOtherDims);\n });\n });\n\n function applyDim(resultItem, coordDim, coordDimIndex) {\n if (VISUAL_DIMENSIONS.get(coordDim) != null) {\n resultItem.otherDims[coordDim] = coordDimIndex;\n } else {\n resultItem.coordDim = coordDim;\n resultItem.coordDimIndex = coordDimIndex;\n coordDimNameMap.set(coordDim, true);\n }\n } // Make sure the first extra dim is 'value'.\n\n\n var generateCoord = opt.generateCoord;\n var generateCoordCount = opt.generateCoordCount;\n var fromZero = generateCoordCount != null;\n generateCoordCount = generateCoord ? generateCoordCount || 1 : 0;\n var extra = generateCoord || 'value';\n\n function ifNoNameFillWithCoordName(resultItem) {\n if (resultItem.name == null) {\n // Duplication will be removed in the next step.\n resultItem.name = resultItem.coordDim;\n }\n } // Set dim `name` and other `coordDim` and other props.\n\n\n if (!omitUnusedDimensions) {\n for (var resultDimIdx = 0; resultDimIdx < dimCount; resultDimIdx++) {\n var resultItem = getResultItem(resultDimIdx);\n var coordDim = resultItem.coordDim;\n\n if (coordDim == null) {\n // TODO no need to generate coordDim for isExtraCoord?\n resultItem.coordDim = genCoordDimName(extra, coordDimNameMap, fromZero);\n resultItem.coordDimIndex = 0; // Series specified generateCoord is using out.\n\n if (!generateCoord || generateCoordCount <= 0) {\n resultItem.isExtraCoord = true;\n }\n\n generateCoordCount--;\n }\n\n ifNoNameFillWithCoordName(resultItem);\n\n if (resultItem.type == null && (guessOrdinal(source, resultDimIdx) === BE_ORDINAL.Must // Consider the case:\n // {\n // dataset: {source: [\n // ['2001', 123],\n // ['2002', 456],\n // ...\n // ['The others', 987],\n // ]},\n // series: {type: 'pie'}\n // }\n // The first column should better be treated as a \"ordinal\" although it\n // might not be detected as an \"ordinal\" by `guessOrdinal`.\n || resultItem.isExtraCoord && (resultItem.otherDims.itemName != null || resultItem.otherDims.seriesName != null))) {\n resultItem.type = 'ordinal';\n }\n }\n } else {\n each(resultList, function (resultItem) {\n // PENDING: guessOrdinal or let user specify type: 'ordinal' manually?\n ifNoNameFillWithCoordName(resultItem);\n }); // Sort dimensions: there are some rule that use the last dim as label,\n // and for some latter travel process easier.\n\n resultList.sort(function (item0, item1) {\n return item0.storeDimIndex - item1.storeDimIndex;\n });\n }\n\n removeDuplication(resultList);\n return new SeriesDataSchema({\n source: source,\n dimensions: resultList,\n fullDimensionCount: dimCount,\n dimensionOmitted: omitUnusedDimensions\n });\n}\n\nfunction removeDuplication(result) {\n var duplicationMap = createHashMap();\n\n for (var i = 0; i < result.length; i++) {\n var dim = result[i];\n var dimOriginalName = dim.name;\n var count = duplicationMap.get(dimOriginalName) || 0;\n\n if (count > 0) {\n // Starts from 0.\n dim.name = dimOriginalName + (count - 1);\n }\n\n count++;\n duplicationMap.set(dimOriginalName, count);\n }\n} // ??? TODO\n// Originally detect dimCount by data[0]. Should we\n// optimize it to only by sysDims and dimensions and encode.\n// So only necessary dims will be initialized.\n// But\n// (1) custom series should be considered. where other dims\n// may be visited.\n// (2) sometimes user need to calculate bubble size or use visualMap\n// on other dimensions besides coordSys needed.\n// So, dims that is not used by system, should be shared in data store?\n\n\nfunction getDimCount(source, sysDims, dimsDef, optDimCount) {\n // Note that the result dimCount should not small than columns count\n // of data, otherwise `dataDimNameMap` checking will be incorrect.\n var dimCount = Math.max(source.dimensionsDetectedCount || 1, sysDims.length, dimsDef.length, optDimCount || 0);\n each(sysDims, function (sysDimItem) {\n var sysDimItemDimsDef;\n\n if (isObject(sysDimItem) && (sysDimItemDimsDef = sysDimItem.dimsDef)) {\n dimCount = Math.max(dimCount, sysDimItemDimsDef.length);\n }\n });\n return dimCount;\n}\n\nfunction genCoordDimName(name, map, fromZero) {\n if (fromZero || map.hasKey(name)) {\n var i = 0;\n\n while (map.hasKey(name + i)) {\n i++;\n }\n\n name += i;\n }\n\n map.set(name, true);\n return name;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/**\r\n * Helper for model references.\r\n * There are many manners to refer axis/coordSys.\r\n */\n// TODO\n// merge relevant logic to this file?\n// check: \"modelHelper\" of tooltip and \"BrushTargetManager\".\nimport { createHashMap, retrieve, each } from 'zrender/lib/core/util.js';\nimport { SINGLE_REFERRING } from '../util/model.js';\n/**\r\n * @class\r\n * For example:\r\n * {\r\n * coordSysName: 'cartesian2d',\r\n * coordSysDims: ['x', 'y', ...],\r\n * axisMap: HashMap({\r\n * x: xAxisModel,\r\n * y: yAxisModel\r\n * }),\r\n * categoryAxisMap: HashMap({\r\n * x: xAxisModel,\r\n * y: undefined\r\n * }),\r\n * // The index of the first category axis in `coordSysDims`.\r\n * // `null/undefined` means no category axis exists.\r\n * firstCategoryDimIndex: 1,\r\n * // To replace user specified encode.\r\n * }\r\n */\n\nvar CoordSysInfo =\n/** @class */\nfunction () {\n function CoordSysInfo(coordSysName) {\n this.coordSysDims = [];\n this.axisMap = createHashMap();\n this.categoryAxisMap = createHashMap();\n this.coordSysName = coordSysName;\n }\n\n return CoordSysInfo;\n}();\n\nexport function getCoordSysInfoBySeries(seriesModel) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var result = new CoordSysInfo(coordSysName);\n var fetch = fetchers[coordSysName];\n\n if (fetch) {\n fetch(seriesModel, result, result.axisMap, result.categoryAxisMap);\n return result;\n }\n}\nvar fetchers = {\n cartesian2d: function (seriesModel, result, axisMap, categoryAxisMap) {\n var xAxisModel = seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!xAxisModel) {\n throw new Error('xAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('xAxisId'), 0) + '\" not found');\n }\n\n if (!yAxisModel) {\n throw new Error('yAxis \"' + retrieve(seriesModel.get('xAxisIndex'), seriesModel.get('yAxisId'), 0) + '\" not found');\n }\n }\n\n result.coordSysDims = ['x', 'y'];\n axisMap.set('x', xAxisModel);\n axisMap.set('y', yAxisModel);\n\n if (isCategory(xAxisModel)) {\n categoryAxisMap.set('x', xAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(yAxisModel)) {\n categoryAxisMap.set('y', yAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n singleAxis: function (seriesModel, result, axisMap, categoryAxisMap) {\n var singleAxisModel = seriesModel.getReferringComponents('singleAxis', SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!singleAxisModel) {\n throw new Error('singleAxis should be specified.');\n }\n }\n\n result.coordSysDims = ['single'];\n axisMap.set('single', singleAxisModel);\n\n if (isCategory(singleAxisModel)) {\n categoryAxisMap.set('single', singleAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n },\n polar: function (seriesModel, result, axisMap, categoryAxisMap) {\n var polarModel = seriesModel.getReferringComponents('polar', SINGLE_REFERRING).models[0];\n var radiusAxisModel = polarModel.findAxisModel('radiusAxis');\n var angleAxisModel = polarModel.findAxisModel('angleAxis');\n\n if (process.env.NODE_ENV !== 'production') {\n if (!angleAxisModel) {\n throw new Error('angleAxis option not found');\n }\n\n if (!radiusAxisModel) {\n throw new Error('radiusAxis option not found');\n }\n }\n\n result.coordSysDims = ['radius', 'angle'];\n axisMap.set('radius', radiusAxisModel);\n axisMap.set('angle', angleAxisModel);\n\n if (isCategory(radiusAxisModel)) {\n categoryAxisMap.set('radius', radiusAxisModel);\n result.firstCategoryDimIndex = 0;\n }\n\n if (isCategory(angleAxisModel)) {\n categoryAxisMap.set('angle', angleAxisModel);\n result.firstCategoryDimIndex == null && (result.firstCategoryDimIndex = 1);\n }\n },\n geo: function (seriesModel, result, axisMap, categoryAxisMap) {\n result.coordSysDims = ['lng', 'lat'];\n },\n parallel: function (seriesModel, result, axisMap, categoryAxisMap) {\n var ecModel = seriesModel.ecModel;\n var parallelModel = ecModel.getComponent('parallel', seriesModel.get('parallelIndex'));\n var coordSysDims = result.coordSysDims = parallelModel.dimensions.slice();\n each(parallelModel.parallelAxisIndex, function (axisIndex, index) {\n var axisModel = ecModel.getComponent('parallelAxis', axisIndex);\n var axisDim = coordSysDims[index];\n axisMap.set(axisDim, axisModel);\n\n if (isCategory(axisModel)) {\n categoryAxisMap.set(axisDim, axisModel);\n\n if (result.firstCategoryDimIndex == null) {\n result.firstCategoryDimIndex = index;\n }\n }\n });\n }\n};\n\nfunction isCategory(axisModel) {\n return axisModel.get('type') === 'category';\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, isString } from 'zrender/lib/core/util.js';\nimport { isSeriesDataSchema } from './SeriesDataSchema.js';\n/**\r\n * Note that it is too complicated to support 3d stack by value\r\n * (have to create two-dimension inverted index), so in 3d case\r\n * we just support that stacked by index.\r\n *\r\n * @param seriesModel\r\n * @param dimensionsInput The same as the input of .\r\n * The input will be modified.\r\n * @param opt\r\n * @param opt.stackedCoordDimension Specify a coord dimension if needed.\r\n * @param opt.byIndex=false\r\n * @return calculationInfo\r\n * {\r\n * stackedDimension: string\r\n * stackedByDimension: string\r\n * isStackedByIndex: boolean\r\n * stackedOverDimension: string\r\n * stackResultDimension: string\r\n * }\r\n */\n\nexport function enableDataStack(seriesModel, dimensionsInput, opt) {\n opt = opt || {};\n var byIndex = opt.byIndex;\n var stackedCoordDimension = opt.stackedCoordDimension;\n var dimensionDefineList;\n var schema;\n var store;\n\n if (isLegacyDimensionsInput(dimensionsInput)) {\n dimensionDefineList = dimensionsInput;\n } else {\n schema = dimensionsInput.schema;\n dimensionDefineList = schema.dimensions;\n store = dimensionsInput.store;\n } // Compatibal: when `stack` is set as '', do not stack.\n\n\n var mayStack = !!(seriesModel && seriesModel.get('stack'));\n var stackedByDimInfo;\n var stackedDimInfo;\n var stackResultDimension;\n var stackedOverDimension;\n each(dimensionDefineList, function (dimensionInfo, index) {\n if (isString(dimensionInfo)) {\n dimensionDefineList[index] = dimensionInfo = {\n name: dimensionInfo\n };\n }\n\n if (mayStack && !dimensionInfo.isExtraCoord) {\n // Find the first ordinal dimension as the stackedByDimInfo.\n if (!byIndex && !stackedByDimInfo && dimensionInfo.ordinalMeta) {\n stackedByDimInfo = dimensionInfo;\n } // Find the first stackable dimension as the stackedDimInfo.\n\n\n if (!stackedDimInfo && dimensionInfo.type !== 'ordinal' && dimensionInfo.type !== 'time' && (!stackedCoordDimension || stackedCoordDimension === dimensionInfo.coordDim)) {\n stackedDimInfo = dimensionInfo;\n }\n }\n });\n\n if (stackedDimInfo && !byIndex && !stackedByDimInfo) {\n // Compatible with previous design, value axis (time axis) only stack by index.\n // It may make sense if the user provides elaborately constructed data.\n byIndex = true;\n } // Add stack dimension, they can be both calculated by coordinate system in `unionExtent`.\n // That put stack logic in List is for using conveniently in echarts extensions, but it\n // might not be a good way.\n\n\n if (stackedDimInfo) {\n // Use a weird name that not duplicated with other names.\n // Also need to use seriesModel.id as postfix because different\n // series may share same data store. The stack dimension needs to be distinguished.\n stackResultDimension = '__\\0ecstackresult_' + seriesModel.id;\n stackedOverDimension = '__\\0ecstackedover_' + seriesModel.id; // Create inverted index to fast query index by value.\n\n if (stackedByDimInfo) {\n stackedByDimInfo.createInvertedIndices = true;\n }\n\n var stackedDimCoordDim_1 = stackedDimInfo.coordDim;\n var stackedDimType = stackedDimInfo.type;\n var stackedDimCoordIndex_1 = 0;\n each(dimensionDefineList, function (dimensionInfo) {\n if (dimensionInfo.coordDim === stackedDimCoordDim_1) {\n stackedDimCoordIndex_1++;\n }\n });\n var stackedOverDimensionDefine = {\n name: stackResultDimension,\n coordDim: stackedDimCoordDim_1,\n coordDimIndex: stackedDimCoordIndex_1,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true,\n storeDimIndex: dimensionDefineList.length\n };\n var stackResultDimensionDefine = {\n name: stackedOverDimension,\n // This dimension contains stack base (generally, 0), so do not set it as\n // `stackedDimCoordDim` to avoid extent calculation, consider log scale.\n coordDim: stackedOverDimension,\n coordDimIndex: stackedDimCoordIndex_1 + 1,\n type: stackedDimType,\n isExtraCoord: true,\n isCalculationCoord: true,\n storeDimIndex: dimensionDefineList.length + 1\n };\n\n if (schema) {\n if (store) {\n stackedOverDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackedOverDimension, stackedDimType);\n stackResultDimensionDefine.storeDimIndex = store.ensureCalculationDimension(stackResultDimension, stackedDimType);\n }\n\n schema.appendCalculationDimension(stackedOverDimensionDefine);\n schema.appendCalculationDimension(stackResultDimensionDefine);\n } else {\n dimensionDefineList.push(stackedOverDimensionDefine);\n dimensionDefineList.push(stackResultDimensionDefine);\n }\n }\n\n return {\n stackedDimension: stackedDimInfo && stackedDimInfo.name,\n stackedByDimension: stackedByDimInfo && stackedByDimInfo.name,\n isStackedByIndex: byIndex,\n stackedOverDimension: stackedOverDimension,\n stackResultDimension: stackResultDimension\n };\n}\n\nfunction isLegacyDimensionsInput(dimensionsInput) {\n return !isSeriesDataSchema(dimensionsInput.schema);\n}\n\nexport function isDimensionStacked(data, stackedDim) {\n // Each single series only maps to one pair of axis. So we do not need to\n // check stackByDim, whatever stacked by a dimension or stacked by index.\n return !!stackedDim && stackedDim === data.getCalculationInfo('stackedDimension');\n}\nexport function getStackedDimension(data, targetDim) {\n return isDimensionStacked(data, targetDim) ? data.getCalculationInfo('stackResultDimension') : targetDim;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport SeriesData from '../../data/SeriesData.js';\nimport prepareSeriesDataSchema from '../../data/helper/createDimensions.js';\nimport { getDimensionTypeByAxis } from '../../data/helper/dimensionHelper.js';\nimport { getDataItemValue } from '../../util/model.js';\nimport CoordinateSystem from '../../core/CoordinateSystem.js';\nimport { getCoordSysInfoBySeries } from '../../model/referHelper.js';\nimport { createSourceFromSeriesDataOption } from '../../data/Source.js';\nimport { enableDataStack } from '../../data/helper/dataStackHelper.js';\nimport { makeSeriesEncodeForAxisCoordSys } from '../../data/helper/sourceHelper.js';\nimport { SOURCE_FORMAT_ORIGINAL } from '../../util/types.js';\n\nfunction getCoordSysDimDefs(seriesModel, coordSysInfo) {\n var coordSysName = seriesModel.get('coordinateSystem');\n var registeredCoordSys = CoordinateSystem.get(coordSysName);\n var coordSysDimDefs;\n\n if (coordSysInfo && coordSysInfo.coordSysDims) {\n coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {\n var dimInfo = {\n name: dim\n };\n var axisModel = coordSysInfo.axisMap.get(dim);\n\n if (axisModel) {\n var axisType = axisModel.get('type');\n dimInfo.type = getDimensionTypeByAxis(axisType);\n }\n\n return dimInfo;\n });\n }\n\n if (!coordSysDimDefs) {\n // Get dimensions from registered coordinate system\n coordSysDimDefs = registeredCoordSys && (registeredCoordSys.getDimensionsInfo ? registeredCoordSys.getDimensionsInfo() : registeredCoordSys.dimensions.slice()) || ['x', 'y'];\n }\n\n return coordSysDimDefs;\n}\n\nfunction injectOrdinalMeta(dimInfoList, createInvertedIndices, coordSysInfo) {\n var firstCategoryDimIndex;\n var hasNameEncode;\n coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {\n var coordDim = dimInfo.coordDim;\n var categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);\n\n if (categoryAxisModel) {\n if (firstCategoryDimIndex == null) {\n firstCategoryDimIndex = dimIndex;\n }\n\n dimInfo.ordinalMeta = categoryAxisModel.getOrdinalMeta();\n\n if (createInvertedIndices) {\n dimInfo.createInvertedIndices = true;\n }\n }\n\n if (dimInfo.otherDims.itemName != null) {\n hasNameEncode = true;\n }\n });\n\n if (!hasNameEncode && firstCategoryDimIndex != null) {\n dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;\n }\n\n return firstCategoryDimIndex;\n}\n/**\r\n * Caution: there are side effects to `sourceManager` in this method.\r\n * Should better only be called in `Series['getInitialData']`.\r\n */\n\n\nfunction createSeriesData(sourceRaw, seriesModel, opt) {\n opt = opt || {};\n var sourceManager = seriesModel.getSourceManager();\n var source;\n var isOriginalSource = false;\n\n if (sourceRaw) {\n isOriginalSource = true;\n source = createSourceFromSeriesDataOption(sourceRaw);\n } else {\n source = sourceManager.getSource(); // Is series.data. not dataset.\n\n isOriginalSource = source.sourceFormat === SOURCE_FORMAT_ORIGINAL;\n }\n\n var coordSysInfo = getCoordSysInfoBySeries(seriesModel);\n var coordSysDimDefs = getCoordSysDimDefs(seriesModel, coordSysInfo);\n var useEncodeDefaulter = opt.useEncodeDefaulter;\n var encodeDefaulter = zrUtil.isFunction(useEncodeDefaulter) ? useEncodeDefaulter : useEncodeDefaulter ? zrUtil.curry(makeSeriesEncodeForAxisCoordSys, coordSysDimDefs, seriesModel) : null;\n var createDimensionOptions = {\n coordDimensions: coordSysDimDefs,\n generateCoord: opt.generateCoord,\n encodeDefine: seriesModel.getEncode(),\n encodeDefaulter: encodeDefaulter,\n canOmitUnusedDimensions: !isOriginalSource\n };\n var schema = prepareSeriesDataSchema(source, createDimensionOptions);\n var firstCategoryDimIndex = injectOrdinalMeta(schema.dimensions, opt.createInvertedIndices, coordSysInfo);\n var store = !isOriginalSource ? sourceManager.getSharedDataStore(schema) : null;\n var stackCalculationInfo = enableDataStack(seriesModel, {\n schema: schema,\n store: store\n });\n var data = new SeriesData(schema, seriesModel);\n data.setCalculationInfo(stackCalculationInfo);\n var dimValueGetter = firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source) ? function (itemOpt, dimName, dataIndex, dimIndex) {\n // Use dataIndex as ordinal value in categoryAxis\n return dimIndex === firstCategoryDimIndex ? dataIndex : this.defaultDimValueGetter(itemOpt, dimName, dataIndex, dimIndex);\n } : null;\n data.hasItemOption = false;\n data.initData( // Try to reuse the data store in sourceManager if using dataset.\n isOriginalSource ? source : store, null, dimValueGetter);\n return data;\n}\n\nfunction isNeedCompleteOrdinalData(source) {\n if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {\n var sampleItem = firstDataNotNull(source.data || []);\n return !zrUtil.isArray(getDataItemValue(sampleItem));\n }\n}\n\nfunction firstDataNotNull(arr) {\n var i = 0;\n\n while (i < arr.length && arr[i] == null) {\n i++;\n }\n\n return arr[i];\n}\n\nexport default createSeriesData;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as clazzUtil from '../util/clazz.js';\n\nvar Scale =\n/** @class */\nfunction () {\n function Scale(setting) {\n this._setting = setting || {};\n this._extent = [Infinity, -Infinity];\n }\n\n Scale.prototype.getSetting = function (name) {\n return this._setting[name];\n };\n /**\r\n * Set extent from data\r\n */\n\n\n Scale.prototype.unionExtent = function (other) {\n var extent = this._extent;\n other[0] < extent[0] && (extent[0] = other[0]);\n other[1] > extent[1] && (extent[1] = other[1]); // not setExtent because in log axis it may transformed to power\n // this.setExtent(extent[0], extent[1]);\n };\n /**\r\n * Set extent from data\r\n */\n\n\n Scale.prototype.unionExtentFromData = function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n };\n /**\r\n * Get extent\r\n *\r\n * Extent is always in increase order.\r\n */\n\n\n Scale.prototype.getExtent = function () {\n return this._extent.slice();\n };\n /**\r\n * Set extent\r\n */\n\n\n Scale.prototype.setExtent = function (start, end) {\n var thisExtent = this._extent;\n\n if (!isNaN(start)) {\n thisExtent[0] = start;\n }\n\n if (!isNaN(end)) {\n thisExtent[1] = end;\n }\n };\n /**\r\n * If value is in extent range\r\n */\n\n\n Scale.prototype.isInExtentRange = function (value) {\n return this._extent[0] <= value && this._extent[1] >= value;\n };\n /**\r\n * When axis extent depends on data and no data exists,\r\n * axis ticks should not be drawn, which is named 'blank'.\r\n */\n\n\n Scale.prototype.isBlank = function () {\n return this._isBlank;\n };\n /**\r\n * When axis extent depends on data and no data exists,\r\n * axis ticks should not be drawn, which is named 'blank'.\r\n */\n\n\n Scale.prototype.setBlank = function (isBlank) {\n this._isBlank = isBlank;\n };\n\n return Scale;\n}();\n\nclazzUtil.enableClassManagement(Scale);\nexport default Scale;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createHashMap, isObject, map, isString } from 'zrender/lib/core/util.js';\nvar uidBase = 0;\n\nvar OrdinalMeta =\n/** @class */\nfunction () {\n function OrdinalMeta(opt) {\n this.categories = opt.categories || [];\n this._needCollect = opt.needCollect;\n this._deduplication = opt.deduplication;\n this.uid = ++uidBase;\n }\n\n OrdinalMeta.createByAxisModel = function (axisModel) {\n var option = axisModel.option;\n var data = option.data;\n var categories = data && map(data, getName);\n return new OrdinalMeta({\n categories: categories,\n needCollect: !categories,\n // deduplication is default in axis.\n deduplication: option.dedplication !== false\n });\n };\n\n ;\n\n OrdinalMeta.prototype.getOrdinal = function (category) {\n // @ts-ignore\n return this._getOrCreateMap().get(category);\n };\n /**\r\n * @return The ordinal. If not found, return NaN.\r\n */\n\n\n OrdinalMeta.prototype.parseAndCollect = function (category) {\n var index;\n var needCollect = this._needCollect; // The value of category dim can be the index of the given category set.\n // This feature is only supported when !needCollect, because we should\n // consider a common case: a value is 2017, which is a number but is\n // expected to be tread as a category. This case usually happen in dataset,\n // where it happent to be no need of the index feature.\n\n if (!isString(category) && !needCollect) {\n return category;\n } // Optimize for the scenario:\n // category is ['2012-01-01', '2012-01-02', ...], where the input\n // data has been ensured not duplicate and is large data.\n // Notice, if a dataset dimension provide categroies, usually echarts\n // should remove duplication except user tell echarts dont do that\n // (set axis.deduplication = false), because echarts do not know whether\n // the values in the category dimension has duplication (consider the\n // parallel-aqi example)\n\n\n if (needCollect && !this._deduplication) {\n index = this.categories.length;\n this.categories[index] = category;\n return index;\n }\n\n var map = this._getOrCreateMap(); // @ts-ignore\n\n\n index = map.get(category);\n\n if (index == null) {\n if (needCollect) {\n index = this.categories.length;\n this.categories[index] = category; // @ts-ignore\n\n map.set(category, index);\n } else {\n index = NaN;\n }\n }\n\n return index;\n }; // Consider big data, do not create map until needed.\n\n\n OrdinalMeta.prototype._getOrCreateMap = function () {\n return this._map || (this._map = createHashMap(this.categories));\n };\n\n return OrdinalMeta;\n}();\n\nfunction getName(obj) {\n if (isObject(obj) && obj.value != null) {\n return obj.value;\n } else {\n return obj + '';\n }\n}\n\nexport default OrdinalMeta;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { getPrecision, round, nice, quantityExponent } from '../util/number.js';\nexport function isValueNice(val) {\n var exp10 = Math.pow(10, quantityExponent(Math.abs(val)));\n var f = Math.abs(val / exp10);\n return f === 0 || f === 1 || f === 2 || f === 3 || f === 5;\n}\nexport function isIntervalOrLogScale(scale) {\n return scale.type === 'interval' || scale.type === 'log';\n}\n/**\r\n * @param extent Both extent[0] and extent[1] should be valid number.\r\n * Should be extent[0] < extent[1].\r\n * @param splitNumber splitNumber should be >= 1.\r\n */\n\nexport function intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInterval) {\n var result = {};\n var span = extent[1] - extent[0];\n var interval = result.interval = nice(span / splitNumber, true);\n\n if (minInterval != null && interval < minInterval) {\n interval = result.interval = minInterval;\n }\n\n if (maxInterval != null && interval > maxInterval) {\n interval = result.interval = maxInterval;\n } // Tow more digital for tick.\n\n\n var precision = result.intervalPrecision = getIntervalPrecision(interval); // Niced extent inside original extent\n\n var niceTickExtent = result.niceTickExtent = [round(Math.ceil(extent[0] / interval) * interval, precision), round(Math.floor(extent[1] / interval) * interval, precision)];\n fixExtent(niceTickExtent, extent);\n return result;\n}\nexport function increaseInterval(interval) {\n var exp10 = Math.pow(10, quantityExponent(interval)); // Increase interval\n\n var f = interval / exp10;\n\n if (!f) {\n f = 1;\n } else if (f === 2) {\n f = 3;\n } else if (f === 3) {\n f = 5;\n } else {\n // f is 1 or 5\n f *= 2;\n }\n\n return round(f * exp10);\n}\n/**\r\n * @return interval precision\r\n */\n\nexport function getIntervalPrecision(interval) {\n // Tow more digital for tick.\n return getPrecision(interval) + 2;\n}\n\nfunction clamp(niceTickExtent, idx, extent) {\n niceTickExtent[idx] = Math.max(Math.min(niceTickExtent[idx], extent[1]), extent[0]);\n} // In some cases (e.g., splitNumber is 1), niceTickExtent may be out of extent.\n\n\nexport function fixExtent(niceTickExtent, extent) {\n !isFinite(niceTickExtent[0]) && (niceTickExtent[0] = extent[0]);\n !isFinite(niceTickExtent[1]) && (niceTickExtent[1] = extent[1]);\n clamp(niceTickExtent, 0, extent);\n clamp(niceTickExtent, 1, extent);\n\n if (niceTickExtent[0] > niceTickExtent[1]) {\n niceTickExtent[0] = niceTickExtent[1];\n }\n}\nexport function contain(val, extent) {\n return val >= extent[0] && val <= extent[1];\n}\nexport function normalize(val, extent) {\n if (extent[1] === extent[0]) {\n return 0.5;\n }\n\n return (val - extent[0]) / (extent[1] - extent[0]);\n}\nexport function scale(val, extent) {\n return val * (extent[1] - extent[0]) + extent[0];\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\n/**\r\n * Linear continuous scale\r\n * http://en.wikipedia.org/wiki/Level_of_measurement\r\n */\n// FIXME only one data\n\nimport Scale from './Scale.js';\nimport OrdinalMeta from '../data/OrdinalMeta.js';\nimport * as scaleHelper from './helper.js';\nimport { isArray, map, isObject, isString } from 'zrender/lib/core/util.js';\n\nvar OrdinalScale =\n/** @class */\nfunction (_super) {\n __extends(OrdinalScale, _super);\n\n function OrdinalScale(setting) {\n var _this = _super.call(this, setting) || this;\n\n _this.type = 'ordinal';\n\n var ordinalMeta = _this.getSetting('ordinalMeta'); // Caution: Should not use instanceof, consider ec-extensions using\n // import approach to get OrdinalMeta class.\n\n\n if (!ordinalMeta) {\n ordinalMeta = new OrdinalMeta({});\n }\n\n if (isArray(ordinalMeta)) {\n ordinalMeta = new OrdinalMeta({\n categories: map(ordinalMeta, function (item) {\n return isObject(item) ? item.value : item;\n })\n });\n }\n\n _this._ordinalMeta = ordinalMeta;\n _this._extent = _this.getSetting('extent') || [0, ordinalMeta.categories.length - 1];\n return _this;\n }\n\n OrdinalScale.prototype.parse = function (val) {\n // Caution: Math.round(null) will return `0` rather than `NaN`\n if (val == null) {\n return NaN;\n }\n\n return isString(val) ? this._ordinalMeta.getOrdinal(val) // val might be float.\n : Math.round(val);\n };\n\n OrdinalScale.prototype.contain = function (rank) {\n rank = this.parse(rank);\n return scaleHelper.contain(rank, this._extent) && this._ordinalMeta.categories[rank] != null;\n };\n /**\r\n * Normalize given rank or name to linear [0, 1]\r\n * @param val raw ordinal number.\r\n * @return normalized value in [0, 1].\r\n */\n\n\n OrdinalScale.prototype.normalize = function (val) {\n val = this._getTickNumber(this.parse(val));\n return scaleHelper.normalize(val, this._extent);\n };\n /**\r\n * @param val normalized value in [0, 1].\r\n * @return raw ordinal number.\r\n */\n\n\n OrdinalScale.prototype.scale = function (val) {\n val = Math.round(scaleHelper.scale(val, this._extent));\n return this.getRawOrdinalNumber(val);\n };\n\n OrdinalScale.prototype.getTicks = function () {\n var ticks = [];\n var extent = this._extent;\n var rank = extent[0];\n\n while (rank <= extent[1]) {\n ticks.push({\n value: rank\n });\n rank++;\n }\n\n return ticks;\n };\n\n OrdinalScale.prototype.getMinorTicks = function (splitNumber) {\n // Not support.\n return;\n };\n /**\r\n * @see `Ordinal['_ordinalNumbersByTick']`\r\n */\n\n\n OrdinalScale.prototype.setSortInfo = function (info) {\n if (info == null) {\n this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null;\n return;\n }\n\n var infoOrdinalNumbers = info.ordinalNumbers;\n var ordinalsByTick = this._ordinalNumbersByTick = [];\n var ticksByOrdinal = this._ticksByOrdinalNumber = []; // Unnecessary support negative tick in `realtimeSort`.\n\n var tickNum = 0;\n var allCategoryLen = this._ordinalMeta.categories.length;\n\n for (var len = Math.min(allCategoryLen, infoOrdinalNumbers.length); tickNum < len; ++tickNum) {\n var ordinalNumber = infoOrdinalNumbers[tickNum];\n ordinalsByTick[tickNum] = ordinalNumber;\n ticksByOrdinal[ordinalNumber] = tickNum;\n } // Handle that `series.data` only covers part of the `axis.category.data`.\n\n\n var unusedOrdinal = 0;\n\n for (; tickNum < allCategoryLen; ++tickNum) {\n while (ticksByOrdinal[unusedOrdinal] != null) {\n unusedOrdinal++;\n }\n\n ;\n ordinalsByTick.push(unusedOrdinal);\n ticksByOrdinal[unusedOrdinal] = tickNum;\n }\n };\n\n OrdinalScale.prototype._getTickNumber = function (ordinal) {\n var ticksByOrdinalNumber = this._ticksByOrdinalNumber; // also support ordinal out of range of `ordinalMeta.categories.length`,\n // where ordinal numbers are used as tick value directly.\n\n return ticksByOrdinalNumber && ordinal >= 0 && ordinal < ticksByOrdinalNumber.length ? ticksByOrdinalNumber[ordinal] : ordinal;\n };\n /**\r\n * @usage\r\n * ```js\r\n * const ordinalNumber = ordinalScale.getRawOrdinalNumber(tickVal);\r\n *\r\n * // case0\r\n * const rawOrdinalValue = axisModel.getCategories()[ordinalNumber];\r\n * // case1\r\n * const rawOrdinalValue = this._ordinalMeta.categories[ordinalNumber];\r\n * // case2\r\n * const coord = axis.dataToCoord(ordinalNumber);\r\n * ```\r\n *\r\n * @param {OrdinalNumber} tickNumber index of display\r\n */\n\n\n OrdinalScale.prototype.getRawOrdinalNumber = function (tickNumber) {\n var ordinalNumbersByTick = this._ordinalNumbersByTick; // tickNumber may be out of range, e.g., when axis max is larger than `ordinalMeta.categories.length`.,\n // where ordinal numbers are used as tick value directly.\n\n return ordinalNumbersByTick && tickNumber >= 0 && tickNumber < ordinalNumbersByTick.length ? ordinalNumbersByTick[tickNumber] : tickNumber;\n };\n /**\r\n * Get item on tick\r\n */\n\n\n OrdinalScale.prototype.getLabel = function (tick) {\n if (!this.isBlank()) {\n var ordinalNumber = this.getRawOrdinalNumber(tick.value);\n var cateogry = this._ordinalMeta.categories[ordinalNumber]; // Note that if no data, ordinalMeta.categories is an empty array.\n // Return empty if it's not exist.\n\n return cateogry == null ? '' : cateogry + '';\n }\n };\n\n OrdinalScale.prototype.count = function () {\n return this._extent[1] - this._extent[0] + 1;\n };\n\n OrdinalScale.prototype.unionExtentFromData = function (data, dim) {\n this.unionExtent(data.getApproximateExtent(dim));\n };\n /**\r\n * @override\r\n * If value is in extent range\r\n */\n\n\n OrdinalScale.prototype.isInExtentRange = function (value) {\n value = this._getTickNumber(value);\n return this._extent[0] <= value && this._extent[1] >= value;\n };\n\n OrdinalScale.prototype.getOrdinalMeta = function () {\n return this._ordinalMeta;\n };\n\n OrdinalScale.prototype.calcNiceTicks = function () {};\n\n OrdinalScale.prototype.calcNiceExtent = function () {};\n\n OrdinalScale.type = 'ordinal';\n return OrdinalScale;\n}(Scale);\n\nScale.registerClass(OrdinalScale);\nexport default OrdinalScale;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as numberUtil from '../util/number.js';\nimport * as formatUtil from '../util/format.js';\nimport Scale from './Scale.js';\nimport * as helper from './helper.js';\nvar roundNumber = numberUtil.round;\n\nvar IntervalScale =\n/** @class */\nfunction (_super) {\n __extends(IntervalScale, _super);\n\n function IntervalScale() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'interval'; // Step is calculated in adjustExtent.\n\n _this._interval = 0;\n _this._intervalPrecision = 2;\n return _this;\n }\n\n IntervalScale.prototype.parse = function (val) {\n return val;\n };\n\n IntervalScale.prototype.contain = function (val) {\n return helper.contain(val, this._extent);\n };\n\n IntervalScale.prototype.normalize = function (val) {\n return helper.normalize(val, this._extent);\n };\n\n IntervalScale.prototype.scale = function (val) {\n return helper.scale(val, this._extent);\n };\n\n IntervalScale.prototype.setExtent = function (start, end) {\n var thisExtent = this._extent; // start,end may be a Number like '25',so...\n\n if (!isNaN(start)) {\n thisExtent[0] = parseFloat(start);\n }\n\n if (!isNaN(end)) {\n thisExtent[1] = parseFloat(end);\n }\n };\n\n IntervalScale.prototype.unionExtent = function (other) {\n var extent = this._extent;\n other[0] < extent[0] && (extent[0] = other[0]);\n other[1] > extent[1] && (extent[1] = other[1]); // unionExtent may called by it's sub classes\n\n this.setExtent(extent[0], extent[1]);\n };\n\n IntervalScale.prototype.getInterval = function () {\n return this._interval;\n };\n\n IntervalScale.prototype.setInterval = function (interval) {\n this._interval = interval; // Dropped auto calculated niceExtent and use user-set extent.\n // We assume user wants to set both interval, min, max to get a better result.\n\n this._niceExtent = this._extent.slice();\n this._intervalPrecision = helper.getIntervalPrecision(interval);\n };\n /**\r\n * @param expandToNicedExtent Whether expand the ticks to niced extent.\r\n */\n\n\n IntervalScale.prototype.getTicks = function (expandToNicedExtent) {\n var interval = this._interval;\n var extent = this._extent;\n var niceTickExtent = this._niceExtent;\n var intervalPrecision = this._intervalPrecision;\n var ticks = []; // If interval is 0, return [];\n\n if (!interval) {\n return ticks;\n } // Consider this case: using dataZoom toolbox, zoom and zoom.\n\n\n var safeLimit = 10000;\n\n if (extent[0] < niceTickExtent[0]) {\n if (expandToNicedExtent) {\n ticks.push({\n value: roundNumber(niceTickExtent[0] - interval, intervalPrecision)\n });\n } else {\n ticks.push({\n value: extent[0]\n });\n }\n }\n\n var tick = niceTickExtent[0];\n\n while (tick <= niceTickExtent[1]) {\n ticks.push({\n value: tick\n }); // Avoid rounding error\n\n tick = roundNumber(tick + interval, intervalPrecision);\n\n if (tick === ticks[ticks.length - 1].value) {\n // Consider out of safe float point, e.g.,\n // -3711126.9907707 + 2e-10 === -3711126.9907707\n break;\n }\n\n if (ticks.length > safeLimit) {\n return [];\n }\n } // Consider this case: the last item of ticks is smaller\n // than niceTickExtent[1] and niceTickExtent[1] === extent[1].\n\n\n var lastNiceTick = ticks.length ? ticks[ticks.length - 1].value : niceTickExtent[1];\n\n if (extent[1] > lastNiceTick) {\n if (expandToNicedExtent) {\n ticks.push({\n value: roundNumber(lastNiceTick + interval, intervalPrecision)\n });\n } else {\n ticks.push({\n value: extent[1]\n });\n }\n }\n\n return ticks;\n };\n\n IntervalScale.prototype.getMinorTicks = function (splitNumber) {\n var ticks = this.getTicks(true);\n var minorTicks = [];\n var extent = this.getExtent();\n\n for (var i = 1; i < ticks.length; i++) {\n var nextTick = ticks[i];\n var prevTick = ticks[i - 1];\n var count = 0;\n var minorTicksGroup = [];\n var interval = nextTick.value - prevTick.value;\n var minorInterval = interval / splitNumber;\n\n while (count < splitNumber - 1) {\n var minorTick = roundNumber(prevTick.value + (count + 1) * minorInterval); // For the first and last interval. The count may be less than splitNumber.\n\n if (minorTick > extent[0] && minorTick < extent[1]) {\n minorTicksGroup.push(minorTick);\n }\n\n count++;\n }\n\n minorTicks.push(minorTicksGroup);\n }\n\n return minorTicks;\n };\n /**\r\n * @param opt.precision If 'auto', use nice presision.\r\n * @param opt.pad returns 1.50 but not 1.5 if precision is 2.\r\n */\n\n\n IntervalScale.prototype.getLabel = function (data, opt) {\n if (data == null) {\n return '';\n }\n\n var precision = opt && opt.precision;\n\n if (precision == null) {\n precision = numberUtil.getPrecision(data.value) || 0;\n } else if (precision === 'auto') {\n // Should be more precise then tick.\n precision = this._intervalPrecision;\n } // (1) If `precision` is set, 12.005 should be display as '12.00500'.\n // (2) Use roundNumber (toFixed) to avoid scientific notation like '3.5e-7'.\n\n\n var dataNum = roundNumber(data.value, precision, true);\n return formatUtil.addCommas(dataNum);\n };\n /**\r\n * @param splitNumber By default `5`.\r\n */\n\n\n IntervalScale.prototype.calcNiceTicks = function (splitNumber, minInterval, maxInterval) {\n splitNumber = splitNumber || 5;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n\n if (!isFinite(span)) {\n return;\n } // User may set axis min 0 and data are all negative\n // FIXME If it needs to reverse ?\n\n\n if (span < 0) {\n span = -span;\n extent.reverse();\n }\n\n var result = helper.intervalScaleNiceTicks(extent, splitNumber, minInterval, maxInterval);\n this._intervalPrecision = result.intervalPrecision;\n this._interval = result.interval;\n this._niceExtent = result.niceTickExtent;\n };\n\n IntervalScale.prototype.calcNiceExtent = function (opt) {\n var extent = this._extent; // If extent start and end are same, expand them\n\n if (extent[0] === extent[1]) {\n if (extent[0] !== 0) {\n // Expand extent\n // Note that extents can be both negative. See #13154\n var expandSize = Math.abs(extent[0]); // In the fowllowing case\n // Axis has been fixed max 100\n // Plus data are all 100 and axis extent are [100, 100].\n // Extend to the both side will cause expanded max is larger than fixed max.\n // So only expand to the smaller side.\n\n if (!opt.fixMax) {\n extent[1] += expandSize / 2;\n extent[0] -= expandSize / 2;\n } else {\n extent[0] -= expandSize / 2;\n }\n } else {\n extent[1] = 1;\n }\n }\n\n var span = extent[1] - extent[0]; // If there are no data and extent are [Infinity, -Infinity]\n\n if (!isFinite(span)) {\n extent[0] = 0;\n extent[1] = 1;\n }\n\n this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval); // let extent = this._extent;\n\n var interval = this._interval;\n\n if (!opt.fixMin) {\n extent[0] = roundNumber(Math.floor(extent[0] / interval) * interval);\n }\n\n if (!opt.fixMax) {\n extent[1] = roundNumber(Math.ceil(extent[1] / interval) * interval);\n }\n };\n\n IntervalScale.prototype.setNiceExtent = function (min, max) {\n this._niceExtent = [min, max];\n };\n\n IntervalScale.type = 'interval';\n return IntervalScale;\n}(Scale);\n\nScale.registerClass(IntervalScale);\nexport default IntervalScale;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isArray } from 'zrender/lib/core/util.js';\n/* global Float32Array */\n\nvar supportFloat32Array = typeof Float32Array !== 'undefined';\nvar Float32ArrayCtor = !supportFloat32Array ? Array : Float32Array;\nexport function createFloat32Array(arg) {\n if (isArray(arg)) {\n // Return self directly if don't support TypedArray.\n return supportFloat32Array ? new Float32Array(arg) : arg;\n } // Else is number\n\n\n return new Float32ArrayCtor(arg);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, defaults, keys } from 'zrender/lib/core/util.js';\nimport { parsePercent } from '../util/number.js';\nimport { isDimensionStacked } from '../data/helper/dataStackHelper.js';\nimport createRenderPlanner from '../chart/helper/createRenderPlanner.js';\nimport { createFloat32Array } from '../util/vendor.js';\nvar STACK_PREFIX = '__ec_stack_';\n\nfunction getSeriesStackId(seriesModel) {\n return seriesModel.get('stack') || STACK_PREFIX + seriesModel.seriesIndex;\n}\n\nfunction getAxisKey(axis) {\n return axis.dim + axis.index;\n}\n/**\r\n * @return {Object} {width, offset, offsetCenter} If axis.type is not 'category', return undefined.\r\n */\n\n\nexport function getLayoutOnAxis(opt) {\n var params = [];\n var baseAxis = opt.axis;\n var axisKey = 'axis0';\n\n if (baseAxis.type !== 'category') {\n return;\n }\n\n var bandWidth = baseAxis.getBandWidth();\n\n for (var i = 0; i < opt.count || 0; i++) {\n params.push(defaults({\n bandWidth: bandWidth,\n axisKey: axisKey,\n stackId: STACK_PREFIX + i\n }, opt));\n }\n\n var widthAndOffsets = doCalBarWidthAndOffset(params);\n var result = [];\n\n for (var i = 0; i < opt.count; i++) {\n var item = widthAndOffsets[axisKey][STACK_PREFIX + i];\n item.offsetCenter = item.offset + item.width / 2;\n result.push(item);\n }\n\n return result;\n}\nexport function prepareLayoutBarSeries(seriesType, ecModel) {\n var seriesModels = [];\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n // Check series coordinate, do layout for cartesian2d only\n if (isOnCartesian(seriesModel)) {\n seriesModels.push(seriesModel);\n }\n });\n return seriesModels;\n}\n/**\r\n * Map from (baseAxis.dim + '_' + baseAxis.index) to min gap of two adjacent\r\n * values.\r\n * This works for time axes, value axes, and log axes.\r\n * For a single time axis, return value is in the form like\r\n * {'x_0': [1000000]}.\r\n * The value of 1000000 is in milliseconds.\r\n */\n\nfunction getValueAxesMinGaps(barSeries) {\n /**\r\n * Map from axis.index to values.\r\n * For a single time axis, axisValues is in the form like\r\n * {'x_0': [1495555200000, 1495641600000, 1495728000000]}.\r\n * Items in axisValues[x], e.g. 1495555200000, are time values of all\r\n * series.\r\n */\n var axisValues = {};\n each(barSeries, function (seriesModel) {\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n\n if (baseAxis.type !== 'time' && baseAxis.type !== 'value') {\n return;\n }\n\n var data = seriesModel.getData();\n var key = baseAxis.dim + '_' + baseAxis.index;\n var dimIdx = data.getDimensionIndex(data.mapDimension(baseAxis.dim));\n var store = data.getStore();\n\n for (var i = 0, cnt = store.count(); i < cnt; ++i) {\n var value = store.get(dimIdx, i);\n\n if (!axisValues[key]) {\n // No previous data for the axis\n axisValues[key] = [value];\n } else {\n // No value in previous series\n axisValues[key].push(value);\n } // Ignore duplicated time values in the same axis\n\n }\n });\n var axisMinGaps = {};\n\n for (var key in axisValues) {\n if (axisValues.hasOwnProperty(key)) {\n var valuesInAxis = axisValues[key];\n\n if (valuesInAxis) {\n // Sort axis values into ascending order to calculate gaps\n valuesInAxis.sort(function (a, b) {\n return a - b;\n });\n var min = null;\n\n for (var j = 1; j < valuesInAxis.length; ++j) {\n var delta = valuesInAxis[j] - valuesInAxis[j - 1];\n\n if (delta > 0) {\n // Ignore 0 delta because they are of the same axis value\n min = min === null ? delta : Math.min(min, delta);\n }\n } // Set to null if only have one data\n\n\n axisMinGaps[key] = min;\n }\n }\n }\n\n return axisMinGaps;\n}\n\nexport function makeColumnLayout(barSeries) {\n var axisMinGaps = getValueAxesMinGaps(barSeries);\n var seriesInfoList = [];\n each(barSeries, function (seriesModel) {\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var axisExtent = baseAxis.getExtent();\n var bandWidth;\n\n if (baseAxis.type === 'category') {\n bandWidth = baseAxis.getBandWidth();\n } else if (baseAxis.type === 'value' || baseAxis.type === 'time') {\n var key = baseAxis.dim + '_' + baseAxis.index;\n var minGap = axisMinGaps[key];\n var extentSpan = Math.abs(axisExtent[1] - axisExtent[0]);\n var scale = baseAxis.scale.getExtent();\n var scaleSpan = Math.abs(scale[1] - scale[0]);\n bandWidth = minGap ? extentSpan / scaleSpan * minGap : extentSpan; // When there is only one data value\n } else {\n var data = seriesModel.getData();\n bandWidth = Math.abs(axisExtent[1] - axisExtent[0]) / data.count();\n }\n\n var barWidth = parsePercent(seriesModel.get('barWidth'), bandWidth);\n var barMaxWidth = parsePercent(seriesModel.get('barMaxWidth'), bandWidth);\n var barMinWidth = parsePercent( // barMinWidth by default is 0.5 / 1 in cartesian. Because in value axis,\n // the auto-calculated bar width might be less than 0.5 / 1.\n seriesModel.get('barMinWidth') || (isInLargeMode(seriesModel) ? 0.5 : 1), bandWidth);\n var barGap = seriesModel.get('barGap');\n var barCategoryGap = seriesModel.get('barCategoryGap');\n seriesInfoList.push({\n bandWidth: bandWidth,\n barWidth: barWidth,\n barMaxWidth: barMaxWidth,\n barMinWidth: barMinWidth,\n barGap: barGap,\n barCategoryGap: barCategoryGap,\n axisKey: getAxisKey(baseAxis),\n stackId: getSeriesStackId(seriesModel)\n });\n });\n return doCalBarWidthAndOffset(seriesInfoList);\n}\n\nfunction doCalBarWidthAndOffset(seriesInfoList) {\n // Columns info on each category axis. Key is cartesian name\n var columnsMap = {};\n each(seriesInfoList, function (seriesInfo, idx) {\n var axisKey = seriesInfo.axisKey;\n var bandWidth = seriesInfo.bandWidth;\n var columnsOnAxis = columnsMap[axisKey] || {\n bandWidth: bandWidth,\n remainedWidth: bandWidth,\n autoWidthCount: 0,\n categoryGap: null,\n gap: '20%',\n stacks: {}\n };\n var stacks = columnsOnAxis.stacks;\n columnsMap[axisKey] = columnsOnAxis;\n var stackId = seriesInfo.stackId;\n\n if (!stacks[stackId]) {\n columnsOnAxis.autoWidthCount++;\n }\n\n stacks[stackId] = stacks[stackId] || {\n width: 0,\n maxWidth: 0\n }; // Caution: In a single coordinate system, these barGrid attributes\n // will be shared by series. Consider that they have default values,\n // only the attributes set on the last series will work.\n // Do not change this fact unless there will be a break change.\n\n var barWidth = seriesInfo.barWidth;\n\n if (barWidth && !stacks[stackId].width) {\n // See #6312, do not restrict width.\n stacks[stackId].width = barWidth;\n barWidth = Math.min(columnsOnAxis.remainedWidth, barWidth);\n columnsOnAxis.remainedWidth -= barWidth;\n }\n\n var barMaxWidth = seriesInfo.barMaxWidth;\n barMaxWidth && (stacks[stackId].maxWidth = barMaxWidth);\n var barMinWidth = seriesInfo.barMinWidth;\n barMinWidth && (stacks[stackId].minWidth = barMinWidth);\n var barGap = seriesInfo.barGap;\n barGap != null && (columnsOnAxis.gap = barGap);\n var barCategoryGap = seriesInfo.barCategoryGap;\n barCategoryGap != null && (columnsOnAxis.categoryGap = barCategoryGap);\n });\n var result = {};\n each(columnsMap, function (columnsOnAxis, coordSysName) {\n result[coordSysName] = {};\n var stacks = columnsOnAxis.stacks;\n var bandWidth = columnsOnAxis.bandWidth;\n var categoryGapPercent = columnsOnAxis.categoryGap;\n\n if (categoryGapPercent == null) {\n var columnCount = keys(stacks).length; // More columns in one group\n // the spaces between group is smaller. Or the column will be too thin.\n\n categoryGapPercent = Math.max(35 - columnCount * 4, 15) + '%';\n }\n\n var categoryGap = parsePercent(categoryGapPercent, bandWidth);\n var barGapPercent = parsePercent(columnsOnAxis.gap, 1);\n var remainedWidth = columnsOnAxis.remainedWidth;\n var autoWidthCount = columnsOnAxis.autoWidthCount;\n var autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0); // Find if any auto calculated bar exceeded maxBarWidth\n\n each(stacks, function (column) {\n var maxWidth = column.maxWidth;\n var minWidth = column.minWidth;\n\n if (!column.width) {\n var finalWidth = autoWidth;\n\n if (maxWidth && maxWidth < finalWidth) {\n finalWidth = Math.min(maxWidth, remainedWidth);\n } // `minWidth` has higher priority. `minWidth` decide that whether the\n // bar is able to be visible. So `minWidth` should not be restricted\n // by `maxWidth` or `remainedWidth` (which is from `bandWidth`). In\n // the extreme cases for `value` axis, bars are allowed to overlap\n // with each other if `minWidth` specified.\n\n\n if (minWidth && minWidth > finalWidth) {\n finalWidth = minWidth;\n }\n\n if (finalWidth !== autoWidth) {\n column.width = finalWidth;\n remainedWidth -= finalWidth + barGapPercent * finalWidth;\n autoWidthCount--;\n }\n } else {\n // `barMinWidth/barMaxWidth` has higher priority than `barWidth`, as\n // CSS does. Because barWidth can be a percent value, where\n // `barMaxWidth` can be used to restrict the final width.\n var finalWidth = column.width;\n\n if (maxWidth) {\n finalWidth = Math.min(finalWidth, maxWidth);\n } // `minWidth` has higher priority, as described above\n\n\n if (minWidth) {\n finalWidth = Math.max(finalWidth, minWidth);\n }\n\n column.width = finalWidth;\n remainedWidth -= finalWidth + barGapPercent * finalWidth;\n autoWidthCount--;\n }\n }); // Recalculate width again\n\n autoWidth = (remainedWidth - categoryGap) / (autoWidthCount + (autoWidthCount - 1) * barGapPercent);\n autoWidth = Math.max(autoWidth, 0);\n var widthSum = 0;\n var lastColumn;\n each(stacks, function (column, idx) {\n if (!column.width) {\n column.width = autoWidth;\n }\n\n lastColumn = column;\n widthSum += column.width * (1 + barGapPercent);\n });\n\n if (lastColumn) {\n widthSum -= lastColumn.width * barGapPercent;\n }\n\n var offset = -widthSum / 2;\n each(stacks, function (column, stackId) {\n result[coordSysName][stackId] = result[coordSysName][stackId] || {\n bandWidth: bandWidth,\n offset: offset,\n width: column.width\n };\n offset += column.width * (1 + barGapPercent);\n });\n });\n return result;\n}\n\nfunction retrieveColumnLayout(barWidthAndOffset, axis, seriesModel) {\n if (barWidthAndOffset && axis) {\n var result = barWidthAndOffset[getAxisKey(axis)];\n\n if (result != null && seriesModel != null) {\n return result[getSeriesStackId(seriesModel)];\n }\n\n return result;\n }\n}\n\nexport { retrieveColumnLayout };\nexport function layout(seriesType, ecModel) {\n var seriesModels = prepareLayoutBarSeries(seriesType, ecModel);\n var barWidthAndOffset = makeColumnLayout(seriesModels);\n each(seriesModels, function (seriesModel) {\n var data = seriesModel.getData();\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var stackId = getSeriesStackId(seriesModel);\n var columnLayoutInfo = barWidthAndOffset[getAxisKey(baseAxis)][stackId];\n var columnOffset = columnLayoutInfo.offset;\n var columnWidth = columnLayoutInfo.width;\n data.setLayout({\n bandWidth: columnLayoutInfo.bandWidth,\n offset: columnOffset,\n size: columnWidth\n });\n });\n} // TODO: Do not support stack in large mode yet.\n\nexport function createProgressiveLayout(seriesType) {\n return {\n seriesType: seriesType,\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n if (!isOnCartesian(seriesModel)) {\n return;\n }\n\n var data = seriesModel.getData();\n var cartesian = seriesModel.coordinateSystem;\n var baseAxis = cartesian.getBaseAxis();\n var valueAxis = cartesian.getOtherAxis(baseAxis);\n var valueDimIdx = data.getDimensionIndex(data.mapDimension(valueAxis.dim));\n var baseDimIdx = data.getDimensionIndex(data.mapDimension(baseAxis.dim));\n var drawBackground = seriesModel.get('showBackground', true);\n var valueDim = data.mapDimension(valueAxis.dim);\n var stackResultDim = data.getCalculationInfo('stackResultDimension');\n var stacked = isDimensionStacked(data, valueDim) && !!data.getCalculationInfo('stackedOnSeries');\n var isValueAxisH = valueAxis.isHorizontal();\n var valueAxisStart = getValueAxisStart(baseAxis, valueAxis);\n var isLarge = isInLargeMode(seriesModel);\n var barMinHeight = seriesModel.get('barMinHeight') || 0;\n var stackedDimIdx = stackResultDim && data.getDimensionIndex(stackResultDim); // Layout info.\n\n var columnWidth = data.getLayout('size');\n var columnOffset = data.getLayout('offset');\n return {\n progress: function (params, data) {\n var count = params.count;\n var largePoints = isLarge && createFloat32Array(count * 3);\n var largeBackgroundPoints = isLarge && drawBackground && createFloat32Array(count * 3);\n var largeDataIndices = isLarge && createFloat32Array(count);\n var coordLayout = cartesian.master.getRect();\n var bgSize = isValueAxisH ? coordLayout.width : coordLayout.height;\n var dataIndex;\n var store = data.getStore();\n var idxOffset = 0;\n\n while ((dataIndex = params.next()) != null) {\n var value = store.get(stacked ? stackedDimIdx : valueDimIdx, dataIndex);\n var baseValue = store.get(baseDimIdx, dataIndex);\n var baseCoord = valueAxisStart;\n var startValue = void 0; // Because of the barMinHeight, we can not use the value in\n // stackResultDimension directly.\n\n if (stacked) {\n startValue = +value - store.get(valueDimIdx, dataIndex);\n }\n\n var x = void 0;\n var y = void 0;\n var width = void 0;\n var height = void 0;\n\n if (isValueAxisH) {\n var coord = cartesian.dataToPoint([value, baseValue]);\n\n if (stacked) {\n var startCoord = cartesian.dataToPoint([startValue, baseValue]);\n baseCoord = startCoord[0];\n }\n\n x = baseCoord;\n y = coord[1] + columnOffset;\n width = coord[0] - baseCoord;\n height = columnWidth;\n\n if (Math.abs(width) < barMinHeight) {\n width = (width < 0 ? -1 : 1) * barMinHeight;\n }\n } else {\n var coord = cartesian.dataToPoint([baseValue, value]);\n\n if (stacked) {\n var startCoord = cartesian.dataToPoint([baseValue, startValue]);\n baseCoord = startCoord[1];\n }\n\n x = coord[0] + columnOffset;\n y = baseCoord;\n width = columnWidth;\n height = coord[1] - baseCoord;\n\n if (Math.abs(height) < barMinHeight) {\n // Include zero to has a positive bar\n height = (height <= 0 ? -1 : 1) * barMinHeight;\n }\n }\n\n if (!isLarge) {\n data.setItemLayout(dataIndex, {\n x: x,\n y: y,\n width: width,\n height: height\n });\n } else {\n largePoints[idxOffset] = x;\n largePoints[idxOffset + 1] = y;\n largePoints[idxOffset + 2] = isValueAxisH ? width : height;\n\n if (largeBackgroundPoints) {\n largeBackgroundPoints[idxOffset] = isValueAxisH ? coordLayout.x : x;\n largeBackgroundPoints[idxOffset + 1] = isValueAxisH ? y : coordLayout.y;\n largeBackgroundPoints[idxOffset + 2] = bgSize;\n }\n\n largeDataIndices[dataIndex] = dataIndex;\n }\n\n idxOffset += 3;\n }\n\n if (isLarge) {\n data.setLayout({\n largePoints: largePoints,\n largeDataIndices: largeDataIndices,\n largeBackgroundPoints: largeBackgroundPoints,\n valueAxisHorizontal: isValueAxisH\n });\n }\n }\n };\n }\n };\n}\n\nfunction isOnCartesian(seriesModel) {\n return seriesModel.coordinateSystem && seriesModel.coordinateSystem.type === 'cartesian2d';\n}\n\nfunction isInLargeMode(seriesModel) {\n return seriesModel.pipelineContext && seriesModel.pipelineContext.large;\n} // See cases in `test/bar-start.html` and `#7412`, `#8747`.\n\n\nfunction getValueAxisStart(baseAxis, valueAxis) {\n return valueAxis.toGlobalCoord(valueAxis.dataToCoord(valueAxis.type === 'log' ? 1 : 0));\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\n/*\r\n* A third-party license is embedded for some of the code in this file:\r\n* The \"scaleLevels\" was originally copied from \"d3.js\" with some\r\n* modifications made for this project.\r\n* (See more details in the comment on the definition of \"scaleLevels\" below.)\r\n* The use of the source code of this file is also subject to the terms\r\n* and consitions of the license of \"d3.js\" (BSD-3Clause, see\r\n* ).\r\n*/\n// [About UTC and local time zone]:\n// In most cases, `number.parseDate` will treat input data string as local time\n// (except time zone is specified in time string). And `format.formateTime` returns\n// local time by default. option.useUTC is false by default. This design has\n// considered these common cases:\n// (1) Time that is persistent in server is in UTC, but it is needed to be displayed\n// in local time by default.\n// (2) By default, the input data string (e.g., '2011-01-02') should be displayed\n// as its original time, without any time difference.\n\nimport * as numberUtil from '../util/number.js';\nimport { ONE_SECOND, ONE_MINUTE, ONE_HOUR, ONE_DAY, ONE_YEAR, format, leveledFormat, getUnitValue, timeUnits, fullLeveledFormatter, getPrimaryTimeUnit, isPrimaryTimeUnit, getDefaultFormatPrecisionOfInterval, fullYearGetterName, monthSetterName, fullYearSetterName, dateSetterName, hoursGetterName, hoursSetterName, minutesSetterName, secondsSetterName, millisecondsSetterName, monthGetterName, dateGetterName, minutesGetterName, secondsGetterName, millisecondsGetterName } from '../util/time.js';\nimport * as scaleHelper from './helper.js';\nimport IntervalScale from './Interval.js';\nimport Scale from './Scale.js';\nimport { warn } from '../util/log.js';\nimport { filter, isNumber, map } from 'zrender/lib/core/util.js'; // FIXME 公用?\n\nvar bisect = function (a, x, lo, hi) {\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n\n if (a[mid][1] < x) {\n lo = mid + 1;\n } else {\n hi = mid;\n }\n }\n\n return lo;\n};\n\nvar TimeScale =\n/** @class */\nfunction (_super) {\n __extends(TimeScale, _super);\n\n function TimeScale(settings) {\n var _this = _super.call(this, settings) || this;\n\n _this.type = 'time';\n return _this;\n }\n /**\r\n * Get label is mainly for other components like dataZoom, tooltip.\r\n */\n\n\n TimeScale.prototype.getLabel = function (tick) {\n var useUTC = this.getSetting('useUTC');\n return format(tick.value, fullLeveledFormatter[getDefaultFormatPrecisionOfInterval(getPrimaryTimeUnit(this._minLevelUnit))] || fullLeveledFormatter.second, useUTC, this.getSetting('locale'));\n };\n\n TimeScale.prototype.getFormattedLabel = function (tick, idx, labelFormatter) {\n var isUTC = this.getSetting('useUTC');\n var lang = this.getSetting('locale');\n return leveledFormat(tick, idx, labelFormatter, lang, isUTC);\n };\n /**\r\n * @override\r\n */\n\n\n TimeScale.prototype.getTicks = function () {\n var interval = this._interval;\n var extent = this._extent;\n var ticks = []; // If interval is 0, return [];\n\n if (!interval) {\n return ticks;\n }\n\n ticks.push({\n value: extent[0],\n level: 0\n });\n var useUTC = this.getSetting('useUTC');\n var innerTicks = getIntervalTicks(this._minLevelUnit, this._approxInterval, useUTC, extent);\n ticks = ticks.concat(innerTicks);\n ticks.push({\n value: extent[1],\n level: 0\n });\n return ticks;\n };\n\n TimeScale.prototype.calcNiceExtent = function (opt) {\n var extent = this._extent; // If extent start and end are same, expand them\n\n if (extent[0] === extent[1]) {\n // Expand extent\n extent[0] -= ONE_DAY;\n extent[1] += ONE_DAY;\n } // If there are no data and extent are [Infinity, -Infinity]\n\n\n if (extent[1] === -Infinity && extent[0] === Infinity) {\n var d = new Date();\n extent[1] = +new Date(d.getFullYear(), d.getMonth(), d.getDate());\n extent[0] = extent[1] - ONE_DAY;\n }\n\n this.calcNiceTicks(opt.splitNumber, opt.minInterval, opt.maxInterval);\n };\n\n TimeScale.prototype.calcNiceTicks = function (approxTickNum, minInterval, maxInterval) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n this._approxInterval = span / approxTickNum;\n\n if (minInterval != null && this._approxInterval < minInterval) {\n this._approxInterval = minInterval;\n }\n\n if (maxInterval != null && this._approxInterval > maxInterval) {\n this._approxInterval = maxInterval;\n }\n\n var scaleIntervalsLen = scaleIntervals.length;\n var idx = Math.min(bisect(scaleIntervals, this._approxInterval, 0, scaleIntervalsLen), scaleIntervalsLen - 1); // Interval that can be used to calculate ticks\n\n this._interval = scaleIntervals[idx][1]; // Min level used when picking ticks from top down.\n // We check one more level to avoid the ticks are to sparse in some case.\n\n this._minLevelUnit = scaleIntervals[Math.max(idx - 1, 0)][0];\n };\n\n TimeScale.prototype.parse = function (val) {\n // val might be float.\n return isNumber(val) ? val : +numberUtil.parseDate(val);\n };\n\n TimeScale.prototype.contain = function (val) {\n return scaleHelper.contain(this.parse(val), this._extent);\n };\n\n TimeScale.prototype.normalize = function (val) {\n return scaleHelper.normalize(this.parse(val), this._extent);\n };\n\n TimeScale.prototype.scale = function (val) {\n return scaleHelper.scale(val, this._extent);\n };\n\n TimeScale.type = 'time';\n return TimeScale;\n}(IntervalScale);\n/**\r\n * This implementation was originally copied from \"d3.js\"\r\n * \r\n * with some modifications made for this program.\r\n * See the license statement at the head of this file.\r\n */\n\n\nvar scaleIntervals = [// Format interval\n['second', ONE_SECOND], ['minute', ONE_MINUTE], ['hour', ONE_HOUR], ['quarter-day', ONE_HOUR * 6], ['half-day', ONE_HOUR * 12], ['day', ONE_DAY * 1.2], ['half-week', ONE_DAY * 3.5], ['week', ONE_DAY * 7], ['month', ONE_DAY * 31], ['quarter', ONE_DAY * 95], ['half-year', ONE_YEAR / 2], ['year', ONE_YEAR] // 1Y\n];\n\nfunction isUnitValueSame(unit, valueA, valueB, isUTC) {\n var dateA = numberUtil.parseDate(valueA);\n var dateB = numberUtil.parseDate(valueB);\n\n var isSame = function (unit) {\n return getUnitValue(dateA, unit, isUTC) === getUnitValue(dateB, unit, isUTC);\n };\n\n var isSameYear = function () {\n return isSame('year');\n }; // const isSameHalfYear = () => isSameYear() && isSame('half-year');\n // const isSameQuater = () => isSameYear() && isSame('quarter');\n\n\n var isSameMonth = function () {\n return isSameYear() && isSame('month');\n };\n\n var isSameDay = function () {\n return isSameMonth() && isSame('day');\n }; // const isSameHalfDay = () => isSameDay() && isSame('half-day');\n\n\n var isSameHour = function () {\n return isSameDay() && isSame('hour');\n };\n\n var isSameMinute = function () {\n return isSameHour() && isSame('minute');\n };\n\n var isSameSecond = function () {\n return isSameMinute() && isSame('second');\n };\n\n var isSameMilliSecond = function () {\n return isSameSecond() && isSame('millisecond');\n };\n\n switch (unit) {\n case 'year':\n return isSameYear();\n\n case 'month':\n return isSameMonth();\n\n case 'day':\n return isSameDay();\n\n case 'hour':\n return isSameHour();\n\n case 'minute':\n return isSameMinute();\n\n case 'second':\n return isSameSecond();\n\n case 'millisecond':\n return isSameMilliSecond();\n }\n} // const primaryUnitGetters = {\n// year: fullYearGetterName(),\n// month: monthGetterName(),\n// day: dateGetterName(),\n// hour: hoursGetterName(),\n// minute: minutesGetterName(),\n// second: secondsGetterName(),\n// millisecond: millisecondsGetterName()\n// };\n// const primaryUnitUTCGetters = {\n// year: fullYearGetterName(true),\n// month: monthGetterName(true),\n// day: dateGetterName(true),\n// hour: hoursGetterName(true),\n// minute: minutesGetterName(true),\n// second: secondsGetterName(true),\n// millisecond: millisecondsGetterName(true)\n// };\n// function moveTick(date: Date, unitName: TimeUnit, step: number, isUTC: boolean) {\n// step = step || 1;\n// switch (getPrimaryTimeUnit(unitName)) {\n// case 'year':\n// date[fullYearSetterName(isUTC)](date[fullYearGetterName(isUTC)]() + step);\n// break;\n// case 'month':\n// date[monthSetterName(isUTC)](date[monthGetterName(isUTC)]() + step);\n// break;\n// case 'day':\n// date[dateSetterName(isUTC)](date[dateGetterName(isUTC)]() + step);\n// break;\n// case 'hour':\n// date[hoursSetterName(isUTC)](date[hoursGetterName(isUTC)]() + step);\n// break;\n// case 'minute':\n// date[minutesSetterName(isUTC)](date[minutesGetterName(isUTC)]() + step);\n// break;\n// case 'second':\n// date[secondsSetterName(isUTC)](date[secondsGetterName(isUTC)]() + step);\n// break;\n// case 'millisecond':\n// date[millisecondsSetterName(isUTC)](date[millisecondsGetterName(isUTC)]() + step);\n// break;\n// }\n// return date.getTime();\n// }\n// const DATE_INTERVALS = [[8, 7.5], [4, 3.5], [2, 1.5]];\n// const MONTH_INTERVALS = [[6, 5.5], [3, 2.5], [2, 1.5]];\n// const MINUTES_SECONDS_INTERVALS = [[30, 30], [20, 20], [15, 15], [10, 10], [5, 5], [2, 2]];\n\n\nfunction getDateInterval(approxInterval, daysInMonth) {\n approxInterval /= ONE_DAY;\n return approxInterval > 16 ? 16 // Math.floor(daysInMonth / 2) + 1 // In this case we only want one tick between two months.\n : approxInterval > 7.5 ? 7 // TODO week 7 or day 8?\n : approxInterval > 3.5 ? 4 : approxInterval > 1.5 ? 2 : 1;\n}\n\nfunction getMonthInterval(approxInterval) {\n var APPROX_ONE_MONTH = 30 * ONE_DAY;\n approxInterval /= APPROX_ONE_MONTH;\n return approxInterval > 6 ? 6 : approxInterval > 3 ? 3 : approxInterval > 2 ? 2 : 1;\n}\n\nfunction getHourInterval(approxInterval) {\n approxInterval /= ONE_HOUR;\n return approxInterval > 12 ? 12 : approxInterval > 6 ? 6 : approxInterval > 3.5 ? 4 : approxInterval > 2 ? 2 : 1;\n}\n\nfunction getMinutesAndSecondsInterval(approxInterval, isMinutes) {\n approxInterval /= isMinutes ? ONE_MINUTE : ONE_SECOND;\n return approxInterval > 30 ? 30 : approxInterval > 20 ? 20 : approxInterval > 15 ? 15 : approxInterval > 10 ? 10 : approxInterval > 5 ? 5 : approxInterval > 2 ? 2 : 1;\n}\n\nfunction getMillisecondsInterval(approxInterval) {\n return numberUtil.nice(approxInterval, true);\n}\n\nfunction getFirstTimestampOfUnit(date, unitName, isUTC) {\n var outDate = new Date(date);\n\n switch (getPrimaryTimeUnit(unitName)) {\n case 'year':\n case 'month':\n outDate[monthSetterName(isUTC)](0);\n\n case 'day':\n outDate[dateSetterName(isUTC)](1);\n\n case 'hour':\n outDate[hoursSetterName(isUTC)](0);\n\n case 'minute':\n outDate[minutesSetterName(isUTC)](0);\n\n case 'second':\n outDate[secondsSetterName(isUTC)](0);\n outDate[millisecondsSetterName(isUTC)](0);\n }\n\n return outDate.getTime();\n}\n\nfunction getIntervalTicks(bottomUnitName, approxInterval, isUTC, extent) {\n var safeLimit = 10000;\n var unitNames = timeUnits;\n var iter = 0;\n\n function addTicksInSpan(interval, minTimestamp, maxTimestamp, getMethodName, setMethodName, isDate, out) {\n var date = new Date(minTimestamp);\n var dateTime = minTimestamp;\n var d = date[getMethodName](); // if (isDate) {\n // d -= 1; // Starts with 0; PENDING\n // }\n\n while (dateTime < maxTimestamp && dateTime <= extent[1]) {\n out.push({\n value: dateTime\n });\n d += interval;\n date[setMethodName](d);\n dateTime = date.getTime();\n } // This extra tick is for calcuating ticks of next level. Will not been added to the final result\n\n\n out.push({\n value: dateTime,\n notAdd: true\n });\n }\n\n function addLevelTicks(unitName, lastLevelTicks, levelTicks) {\n var newAddedTicks = [];\n var isFirstLevel = !lastLevelTicks.length;\n\n if (isUnitValueSame(getPrimaryTimeUnit(unitName), extent[0], extent[1], isUTC)) {\n return;\n }\n\n if (isFirstLevel) {\n lastLevelTicks = [{\n // TODO Optimize. Not include so may ticks.\n value: getFirstTimestampOfUnit(new Date(extent[0]), unitName, isUTC)\n }, {\n value: extent[1]\n }];\n }\n\n for (var i = 0; i < lastLevelTicks.length - 1; i++) {\n var startTick = lastLevelTicks[i].value;\n var endTick = lastLevelTicks[i + 1].value;\n\n if (startTick === endTick) {\n continue;\n }\n\n var interval = void 0;\n var getterName = void 0;\n var setterName = void 0;\n var isDate = false;\n\n switch (unitName) {\n case 'year':\n interval = Math.max(1, Math.round(approxInterval / ONE_DAY / 365));\n getterName = fullYearGetterName(isUTC);\n setterName = fullYearSetterName(isUTC);\n break;\n\n case 'half-year':\n case 'quarter':\n case 'month':\n interval = getMonthInterval(approxInterval);\n getterName = monthGetterName(isUTC);\n setterName = monthSetterName(isUTC);\n break;\n\n case 'week': // PENDING If week is added. Ignore day.\n\n case 'half-week':\n case 'day':\n interval = getDateInterval(approxInterval, 31); // Use 32 days and let interval been 16\n\n getterName = dateGetterName(isUTC);\n setterName = dateSetterName(isUTC);\n isDate = true;\n break;\n\n case 'half-day':\n case 'quarter-day':\n case 'hour':\n interval = getHourInterval(approxInterval);\n getterName = hoursGetterName(isUTC);\n setterName = hoursSetterName(isUTC);\n break;\n\n case 'minute':\n interval = getMinutesAndSecondsInterval(approxInterval, true);\n getterName = minutesGetterName(isUTC);\n setterName = minutesSetterName(isUTC);\n break;\n\n case 'second':\n interval = getMinutesAndSecondsInterval(approxInterval, false);\n getterName = secondsGetterName(isUTC);\n setterName = secondsSetterName(isUTC);\n break;\n\n case 'millisecond':\n interval = getMillisecondsInterval(approxInterval);\n getterName = millisecondsGetterName(isUTC);\n setterName = millisecondsSetterName(isUTC);\n break;\n }\n\n addTicksInSpan(interval, startTick, endTick, getterName, setterName, isDate, newAddedTicks);\n\n if (unitName === 'year' && levelTicks.length > 1 && i === 0) {\n // Add nearest years to the left extent.\n levelTicks.unshift({\n value: levelTicks[0].value - interval\n });\n }\n }\n\n for (var i = 0; i < newAddedTicks.length; i++) {\n levelTicks.push(newAddedTicks[i]);\n } // newAddedTicks.length && console.log(unitName, newAddedTicks);\n\n\n return newAddedTicks;\n }\n\n var levelsTicks = [];\n var currentLevelTicks = [];\n var tickCount = 0;\n var lastLevelTickCount = 0;\n\n for (var i = 0; i < unitNames.length && iter++ < safeLimit; ++i) {\n var primaryTimeUnit = getPrimaryTimeUnit(unitNames[i]);\n\n if (!isPrimaryTimeUnit(unitNames[i])) {\n // TODO\n continue;\n }\n\n addLevelTicks(unitNames[i], levelsTicks[levelsTicks.length - 1] || [], currentLevelTicks);\n var nextPrimaryTimeUnit = unitNames[i + 1] ? getPrimaryTimeUnit(unitNames[i + 1]) : null;\n\n if (primaryTimeUnit !== nextPrimaryTimeUnit) {\n if (currentLevelTicks.length) {\n lastLevelTickCount = tickCount; // Remove the duplicate so the tick count can be precisely.\n\n currentLevelTicks.sort(function (a, b) {\n return a.value - b.value;\n });\n var levelTicksRemoveDuplicated = [];\n\n for (var i_1 = 0; i_1 < currentLevelTicks.length; ++i_1) {\n var tickValue = currentLevelTicks[i_1].value;\n\n if (i_1 === 0 || currentLevelTicks[i_1 - 1].value !== tickValue) {\n levelTicksRemoveDuplicated.push(currentLevelTicks[i_1]);\n\n if (tickValue >= extent[0] && tickValue <= extent[1]) {\n tickCount++;\n }\n }\n }\n\n var targetTickNum = (extent[1] - extent[0]) / approxInterval; // Added too much in this level and not too less in last level\n\n if (tickCount > targetTickNum * 1.5 && lastLevelTickCount > targetTickNum / 1.5) {\n break;\n } // Only treat primary time unit as one level.\n\n\n levelsTicks.push(levelTicksRemoveDuplicated);\n\n if (tickCount > targetTickNum || bottomUnitName === unitNames[i]) {\n break;\n }\n } // Reset if next unitName is primary\n\n\n currentLevelTicks = [];\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (iter >= safeLimit) {\n warn('Exceed safe limit.');\n }\n }\n\n var levelsTicksInExtent = filter(map(levelsTicks, function (levelTicks) {\n return filter(levelTicks, function (tick) {\n return tick.value >= extent[0] && tick.value <= extent[1] && !tick.notAdd;\n });\n }), function (levelTicks) {\n return levelTicks.length > 0;\n });\n var ticks = [];\n var maxLevel = levelsTicksInExtent.length - 1;\n\n for (var i = 0; i < levelsTicksInExtent.length; ++i) {\n var levelTicks = levelsTicksInExtent[i];\n\n for (var k = 0; k < levelTicks.length; ++k) {\n ticks.push({\n value: levelTicks[k].value,\n level: maxLevel - i\n });\n }\n }\n\n ticks.sort(function (a, b) {\n return a.value - b.value;\n }); // Remove duplicates\n\n var result = [];\n\n for (var i = 0; i < ticks.length; ++i) {\n if (i === 0 || ticks[i].value !== ticks[i - 1].value) {\n result.push(ticks[i]);\n }\n }\n\n return result;\n}\n\nScale.registerClass(TimeScale);\nexport default TimeScale;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport Scale from './Scale.js';\nimport * as numberUtil from '../util/number.js';\nimport * as scaleHelper from './helper.js'; // Use some method of IntervalScale\n\nimport IntervalScale from './Interval.js';\nvar scaleProto = Scale.prototype; // FIXME:TS refactor: not good to call it directly with `this`?\n\nvar intervalScaleProto = IntervalScale.prototype;\nvar roundingErrorFix = numberUtil.round;\nvar mathFloor = Math.floor;\nvar mathCeil = Math.ceil;\nvar mathPow = Math.pow;\nvar mathLog = Math.log;\n\nvar LogScale =\n/** @class */\nfunction (_super) {\n __extends(LogScale, _super);\n\n function LogScale() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'log';\n _this.base = 10;\n _this._originalScale = new IntervalScale(); // FIXME:TS actually used by `IntervalScale`\n\n _this._interval = 0;\n return _this;\n }\n /**\r\n * @param Whether expand the ticks to niced extent.\r\n */\n\n\n LogScale.prototype.getTicks = function (expandToNicedExtent) {\n var originalScale = this._originalScale;\n var extent = this._extent;\n var originalExtent = originalScale.getExtent();\n var ticks = intervalScaleProto.getTicks.call(this, expandToNicedExtent);\n return zrUtil.map(ticks, function (tick) {\n var val = tick.value;\n var powVal = numberUtil.round(mathPow(this.base, val)); // Fix #4158\n\n powVal = val === extent[0] && this._fixMin ? fixRoundingError(powVal, originalExtent[0]) : powVal;\n powVal = val === extent[1] && this._fixMax ? fixRoundingError(powVal, originalExtent[1]) : powVal;\n return {\n value: powVal\n };\n }, this);\n };\n\n LogScale.prototype.setExtent = function (start, end) {\n var base = mathLog(this.base); // log(-Infinity) is NaN, so safe guard here\n\n start = mathLog(Math.max(0, start)) / base;\n end = mathLog(Math.max(0, end)) / base;\n intervalScaleProto.setExtent.call(this, start, end);\n };\n /**\r\n * @return {number} end\r\n */\n\n\n LogScale.prototype.getExtent = function () {\n var base = this.base;\n var extent = scaleProto.getExtent.call(this);\n extent[0] = mathPow(base, extent[0]);\n extent[1] = mathPow(base, extent[1]); // Fix #4158\n\n var originalScale = this._originalScale;\n var originalExtent = originalScale.getExtent();\n this._fixMin && (extent[0] = fixRoundingError(extent[0], originalExtent[0]));\n this._fixMax && (extent[1] = fixRoundingError(extent[1], originalExtent[1]));\n return extent;\n };\n\n LogScale.prototype.unionExtent = function (extent) {\n this._originalScale.unionExtent(extent);\n\n var base = this.base;\n extent[0] = mathLog(extent[0]) / mathLog(base);\n extent[1] = mathLog(extent[1]) / mathLog(base);\n scaleProto.unionExtent.call(this, extent);\n };\n\n LogScale.prototype.unionExtentFromData = function (data, dim) {\n // TODO\n // filter value that <= 0\n this.unionExtent(data.getApproximateExtent(dim));\n };\n /**\r\n * Update interval and extent of intervals for nice ticks\r\n * @param approxTickNum default 10 Given approx tick number\r\n */\n\n\n LogScale.prototype.calcNiceTicks = function (approxTickNum) {\n approxTickNum = approxTickNum || 10;\n var extent = this._extent;\n var span = extent[1] - extent[0];\n\n if (span === Infinity || span <= 0) {\n return;\n }\n\n var interval = numberUtil.quantity(span);\n var err = approxTickNum / span * interval; // Filter ticks to get closer to the desired count.\n\n if (err <= 0.5) {\n interval *= 10;\n } // Interval should be integer\n\n\n while (!isNaN(interval) && Math.abs(interval) < 1 && Math.abs(interval) > 0) {\n interval *= 10;\n }\n\n var niceExtent = [numberUtil.round(mathCeil(extent[0] / interval) * interval), numberUtil.round(mathFloor(extent[1] / interval) * interval)];\n this._interval = interval;\n this._niceExtent = niceExtent;\n };\n\n LogScale.prototype.calcNiceExtent = function (opt) {\n intervalScaleProto.calcNiceExtent.call(this, opt);\n this._fixMin = opt.fixMin;\n this._fixMax = opt.fixMax;\n };\n\n LogScale.prototype.parse = function (val) {\n return val;\n };\n\n LogScale.prototype.contain = function (val) {\n val = mathLog(val) / mathLog(this.base);\n return scaleHelper.contain(val, this._extent);\n };\n\n LogScale.prototype.normalize = function (val) {\n val = mathLog(val) / mathLog(this.base);\n return scaleHelper.normalize(val, this._extent);\n };\n\n LogScale.prototype.scale = function (val) {\n val = scaleHelper.scale(val, this._extent);\n return mathPow(this.base, val);\n };\n\n LogScale.type = 'log';\n return LogScale;\n}(Scale);\n\nvar proto = LogScale.prototype;\nproto.getMinorTicks = intervalScaleProto.getMinorTicks;\nproto.getLabel = intervalScaleProto.getLabel;\n\nfunction fixRoundingError(val, originalVal) {\n return roundingErrorFix(val, numberUtil.getPrecision(originalVal));\n}\n\nScale.registerClass(LogScale);\nexport default LogScale;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { assert, isArray, eqNaN, isFunction } from 'zrender/lib/core/util.js';\nimport { parsePercent } from 'zrender/lib/contain/text.js';\n\nvar ScaleRawExtentInfo =\n/** @class */\nfunction () {\n function ScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\n originalExtent) {\n this._prepareParams(scale, model, originalExtent);\n }\n /**\r\n * Parameters depending on outside (like model, user callback)\r\n * are prepared and fixed here.\r\n */\n\n\n ScaleRawExtentInfo.prototype._prepareParams = function (scale, model, // Usually: data extent from all series on this axis.\n dataExtent) {\n if (dataExtent[1] < dataExtent[0]) {\n dataExtent = [NaN, NaN];\n }\n\n this._dataMin = dataExtent[0];\n this._dataMax = dataExtent[1];\n var isOrdinal = this._isOrdinal = scale.type === 'ordinal';\n this._needCrossZero = scale.type === 'interval' && model.getNeedCrossZero && model.getNeedCrossZero();\n var modelMinRaw = this._modelMinRaw = model.get('min', true);\n\n if (isFunction(modelMinRaw)) {\n // This callback always provides users the full data extent (before data is filtered).\n this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw({\n min: dataExtent[0],\n max: dataExtent[1]\n }));\n } else if (modelMinRaw !== 'dataMin') {\n this._modelMinNum = parseAxisModelMinMax(scale, modelMinRaw);\n }\n\n var modelMaxRaw = this._modelMaxRaw = model.get('max', true);\n\n if (isFunction(modelMaxRaw)) {\n // This callback always provides users the full data extent (before data is filtered).\n this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw({\n min: dataExtent[0],\n max: dataExtent[1]\n }));\n } else if (modelMaxRaw !== 'dataMax') {\n this._modelMaxNum = parseAxisModelMinMax(scale, modelMaxRaw);\n }\n\n if (isOrdinal) {\n // FIXME: there is a flaw here: if there is no \"block\" data processor like `dataZoom`,\n // and progressive rendering is using, here the category result might just only contain\n // the processed chunk rather than the entire result.\n this._axisDataLen = model.getCategories().length;\n } else {\n var boundaryGap = model.get('boundaryGap');\n var boundaryGapArr = isArray(boundaryGap) ? boundaryGap : [boundaryGap || 0, boundaryGap || 0];\n\n if (typeof boundaryGapArr[0] === 'boolean' || typeof boundaryGapArr[1] === 'boolean') {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Boolean type for boundaryGap is only ' + 'allowed for ordinal axis. Please use string in ' + 'percentage instead, e.g., \"20%\". Currently, ' + 'boundaryGap is set to be 0.');\n }\n\n this._boundaryGapInner = [0, 0];\n } else {\n this._boundaryGapInner = [parsePercent(boundaryGapArr[0], 1), parsePercent(boundaryGapArr[1], 1)];\n }\n }\n };\n /**\r\n * Calculate extent by prepared parameters.\r\n * This method has no external dependency and can be called duplicatedly,\r\n * getting the same result.\r\n * If parameters changed, should call this method to recalcuate.\r\n */\n\n\n ScaleRawExtentInfo.prototype.calculate = function () {\n // Notice: When min/max is not set (that is, when there are null/undefined,\n // which is the most common case), these cases should be ensured:\n // (1) For 'ordinal', show all axis.data.\n // (2) For others:\n // + `boundaryGap` is applied (if min/max set, boundaryGap is\n // disabled).\n // + If `needCrossZero`, min/max should be zero, otherwise, min/max should\n // be the result that originalExtent enlarged by boundaryGap.\n // (3) If no data, it should be ensured that `scale.setBlank` is set.\n var isOrdinal = this._isOrdinal;\n var dataMin = this._dataMin;\n var dataMax = this._dataMax;\n var axisDataLen = this._axisDataLen;\n var boundaryGapInner = this._boundaryGapInner;\n var span = !isOrdinal ? dataMax - dataMin || Math.abs(dataMin) : null; // Currently if a `'value'` axis model min is specified as 'dataMin'/'dataMax',\n // `boundaryGap` will not be used. It's the different from specifying as `null`/`undefined`.\n\n var min = this._modelMinRaw === 'dataMin' ? dataMin : this._modelMinNum;\n var max = this._modelMaxRaw === 'dataMax' ? dataMax : this._modelMaxNum; // If `_modelMinNum`/`_modelMaxNum` is `null`/`undefined`, should not be fixed.\n\n var minFixed = min != null;\n var maxFixed = max != null;\n\n if (min == null) {\n min = isOrdinal ? axisDataLen ? 0 : NaN : dataMin - boundaryGapInner[0] * span;\n }\n\n if (max == null) {\n max = isOrdinal ? axisDataLen ? axisDataLen - 1 : NaN : dataMax + boundaryGapInner[1] * span;\n }\n\n (min == null || !isFinite(min)) && (min = NaN);\n (max == null || !isFinite(max)) && (max = NaN);\n var isBlank = eqNaN(min) || eqNaN(max) || isOrdinal && !axisDataLen; // If data extent modified, need to recalculated to ensure cross zero.\n\n if (this._needCrossZero) {\n // Axis is over zero and min is not set\n if (min > 0 && max > 0 && !minFixed) {\n min = 0; // minFixed = true;\n } // Axis is under zero and max is not set\n\n\n if (min < 0 && max < 0 && !maxFixed) {\n max = 0; // maxFixed = true;\n } // PENDING:\n // When `needCrossZero` and all data is positive/negative, should it be ensured\n // that the results processed by boundaryGap are positive/negative?\n // If so, here `minFixed`/`maxFixed` need to be set.\n\n }\n\n var determinedMin = this._determinedMin;\n var determinedMax = this._determinedMax;\n\n if (determinedMin != null) {\n min = determinedMin;\n minFixed = true;\n }\n\n if (determinedMax != null) {\n max = determinedMax;\n maxFixed = true;\n } // Ensure min/max be finite number or NaN here. (not to be null/undefined)\n // `NaN` means min/max axis is blank.\n\n\n return {\n min: min,\n max: max,\n minFixed: minFixed,\n maxFixed: maxFixed,\n isBlank: isBlank\n };\n };\n\n ScaleRawExtentInfo.prototype.modifyDataMinMax = function (minMaxName, val) {\n if (process.env.NODE_ENV !== 'production') {\n assert(!this.frozen);\n }\n\n this[DATA_MIN_MAX_ATTR[minMaxName]] = val;\n };\n\n ScaleRawExtentInfo.prototype.setDeterminedMinMax = function (minMaxName, val) {\n var attr = DETERMINED_MIN_MAX_ATTR[minMaxName];\n\n if (process.env.NODE_ENV !== 'production') {\n assert(!this.frozen // Earse them usually means logic flaw.\n && this[attr] == null);\n }\n\n this[attr] = val;\n };\n\n ScaleRawExtentInfo.prototype.freeze = function () {\n // @ts-ignore\n this.frozen = true;\n };\n\n return ScaleRawExtentInfo;\n}();\n\nexport { ScaleRawExtentInfo };\nvar DETERMINED_MIN_MAX_ATTR = {\n min: '_determinedMin',\n max: '_determinedMax'\n};\nvar DATA_MIN_MAX_ATTR = {\n min: '_dataMin',\n max: '_dataMax'\n};\n/**\r\n * Get scale min max and related info only depends on model settings.\r\n * This method can be called after coordinate system created.\r\n * For example, in data processing stage.\r\n *\r\n * Scale extent info probably be required multiple times during a workflow.\r\n * For example:\r\n * (1) `dataZoom` depends it to get the axis extent in \"100%\" state.\r\n * (2) `processor/extentCalculator` depends it to make sure whether axis extent is specified.\r\n * (3) `coordSys.update` use it to finally decide the scale extent.\r\n * But the callback of `min`/`max` should not be called multiple times.\r\n * The code below should not be implemented repeatedly either.\r\n * So we cache the result in the scale instance, which will be recreated at the beginning\r\n * of the workflow (because `scale` instance will be recreated each round of the workflow).\r\n */\n\nexport function ensureScaleRawExtentInfo(scale, model, // Usually: data extent from all series on this axis.\noriginalExtent) {\n // Do not permit to recreate.\n var rawExtentInfo = scale.rawExtentInfo;\n\n if (rawExtentInfo) {\n return rawExtentInfo;\n }\n\n rawExtentInfo = new ScaleRawExtentInfo(scale, model, originalExtent); // @ts-ignore\n\n scale.rawExtentInfo = rawExtentInfo;\n return rawExtentInfo;\n}\nexport function parseAxisModelMinMax(scale, minMax) {\n return minMax == null ? null : eqNaN(minMax) ? NaN : scale.parse(minMax);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport OrdinalScale from '../scale/Ordinal.js';\nimport IntervalScale from '../scale/Interval.js';\nimport Scale from '../scale/Scale.js';\nimport { prepareLayoutBarSeries, makeColumnLayout, retrieveColumnLayout } from '../layout/barGrid.js';\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport TimeScale from '../scale/Time.js';\nimport LogScale from '../scale/Log.js';\nimport { getStackedDimension } from '../data/helper/dataStackHelper.js';\nimport { ensureScaleRawExtentInfo } from './scaleRawExtentInfo.js';\n/**\r\n * Get axis scale extent before niced.\r\n * Item of returned array can only be number (including Infinity and NaN).\r\n *\r\n * Caution:\r\n * Precondition of calling this method:\r\n * The scale extent has been initialized using series data extent via\r\n * `scale.setExtent` or `scale.unionExtentFromData`;\r\n */\n\nexport function getScaleExtent(scale, model) {\n var scaleType = scale.type;\n var rawExtentResult = ensureScaleRawExtentInfo(scale, model, scale.getExtent()).calculate();\n scale.setBlank(rawExtentResult.isBlank);\n var min = rawExtentResult.min;\n var max = rawExtentResult.max; // If bars are placed on a base axis of type time or interval account for axis boundary overflow and current axis\n // is base axis\n // FIXME\n // (1) Consider support value axis, where below zero and axis `onZero` should be handled properly.\n // (2) Refactor the logic with `barGrid`. Is it not need to `makeBarWidthAndOffsetInfo` twice with different extent?\n // Should not depend on series type `bar`?\n // (3) Fix that might overlap when using dataZoom.\n // (4) Consider other chart types using `barGrid`?\n // See #6728, #4862, `test/bar-overflow-time-plot.html`\n\n var ecModel = model.ecModel;\n\n if (ecModel && scaleType === 'time'\n /* || scaleType === 'interval' */\n ) {\n var barSeriesModels = prepareLayoutBarSeries('bar', ecModel);\n var isBaseAxisAndHasBarSeries_1 = false;\n zrUtil.each(barSeriesModels, function (seriesModel) {\n isBaseAxisAndHasBarSeries_1 = isBaseAxisAndHasBarSeries_1 || seriesModel.getBaseAxis() === model.axis;\n });\n\n if (isBaseAxisAndHasBarSeries_1) {\n // Calculate placement of bars on axis. TODO should be decoupled\n // with barLayout\n var barWidthAndOffset = makeColumnLayout(barSeriesModels); // Adjust axis min and max to account for overflow\n\n var adjustedScale = adjustScaleForOverflow(min, max, model, barWidthAndOffset);\n min = adjustedScale.min;\n max = adjustedScale.max;\n }\n }\n\n return {\n extent: [min, max],\n // \"fix\" means \"fixed\", the value should not be\n // changed in the subsequent steps.\n fixMin: rawExtentResult.minFixed,\n fixMax: rawExtentResult.maxFixed\n };\n}\n\nfunction adjustScaleForOverflow(min, max, model, // Only support cartesian coord yet.\nbarWidthAndOffset) {\n // Get Axis Length\n var axisExtent = model.axis.getExtent();\n var axisLength = axisExtent[1] - axisExtent[0]; // Get bars on current base axis and calculate min and max overflow\n\n var barsOnCurrentAxis = retrieveColumnLayout(barWidthAndOffset, model.axis);\n\n if (barsOnCurrentAxis === undefined) {\n return {\n min: min,\n max: max\n };\n }\n\n var minOverflow = Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n minOverflow = Math.min(item.offset, minOverflow);\n });\n var maxOverflow = -Infinity;\n zrUtil.each(barsOnCurrentAxis, function (item) {\n maxOverflow = Math.max(item.offset + item.width, maxOverflow);\n });\n minOverflow = Math.abs(minOverflow);\n maxOverflow = Math.abs(maxOverflow);\n var totalOverFlow = minOverflow + maxOverflow; // Calculate required buffer based on old range and overflow\n\n var oldRange = max - min;\n var oldRangePercentOfNew = 1 - (minOverflow + maxOverflow) / axisLength;\n var overflowBuffer = oldRange / oldRangePercentOfNew - oldRange;\n max += overflowBuffer * (maxOverflow / totalOverFlow);\n min -= overflowBuffer * (minOverflow / totalOverFlow);\n return {\n min: min,\n max: max\n };\n} // Precondition of calling this method:\n// The scale extent has been initialized using series data extent via\n// `scale.setExtent` or `scale.unionExtentFromData`;\n\n\nexport function niceScaleExtent(scale, inModel) {\n var model = inModel;\n var extentInfo = getScaleExtent(scale, model);\n var extent = extentInfo.extent;\n var splitNumber = model.get('splitNumber');\n\n if (scale instanceof LogScale) {\n scale.base = model.get('logBase');\n }\n\n var scaleType = scale.type;\n var interval = model.get('interval');\n var isIntervalOrTime = scaleType === 'interval' || scaleType === 'time';\n scale.setExtent(extent[0], extent[1]);\n scale.calcNiceExtent({\n splitNumber: splitNumber,\n fixMin: extentInfo.fixMin,\n fixMax: extentInfo.fixMax,\n minInterval: isIntervalOrTime ? model.get('minInterval') : null,\n maxInterval: isIntervalOrTime ? model.get('maxInterval') : null\n }); // If some one specified the min, max. And the default calculated interval\n // is not good enough. He can specify the interval. It is often appeared\n // in angle axis with angle 0 - 360. Interval calculated in interval scale is hard\n // to be 60.\n // FIXME\n\n if (interval != null) {\n scale.setInterval && scale.setInterval(interval);\n }\n}\n/**\r\n * @param axisType Default retrieve from model.type\r\n */\n\nexport function createScaleByModel(model, axisType) {\n axisType = axisType || model.get('type');\n\n if (axisType) {\n switch (axisType) {\n // Buildin scale\n case 'category':\n return new OrdinalScale({\n ordinalMeta: model.getOrdinalMeta ? model.getOrdinalMeta() : model.getCategories(),\n extent: [Infinity, -Infinity]\n });\n\n case 'time':\n return new TimeScale({\n locale: model.ecModel.getLocaleModel(),\n useUTC: model.ecModel.get('useUTC')\n });\n\n default:\n // case 'value'/'interval', 'log', or others.\n return new (Scale.getClass(axisType) || IntervalScale)();\n }\n }\n}\n/**\r\n * Check if the axis cross 0\r\n */\n\nexport function ifAxisCrossZero(axis) {\n var dataExtent = axis.scale.getExtent();\n var min = dataExtent[0];\n var max = dataExtent[1];\n return !(min > 0 && max > 0 || min < 0 && max < 0);\n}\n/**\r\n * @param axis\r\n * @return Label formatter function.\r\n * param: {number} tickValue,\r\n * param: {number} idx, the index in all ticks.\r\n * If category axis, this param is not required.\r\n * return: {string} label string.\r\n */\n\nexport function makeLabelFormatter(axis) {\n var labelFormatter = axis.getLabelModel().get('formatter');\n var categoryTickStart = axis.type === 'category' ? axis.scale.getExtent()[0] : null;\n\n if (axis.scale.type === 'time') {\n return function (tpl) {\n return function (tick, idx) {\n return axis.scale.getFormattedLabel(tick, idx, tpl);\n };\n }(labelFormatter);\n } else if (zrUtil.isString(labelFormatter)) {\n return function (tpl) {\n return function (tick) {\n // For category axis, get raw value; for numeric axis,\n // get formatted label like '1,333,444'.\n var label = axis.scale.getLabel(tick);\n var text = tpl.replace('{value}', label != null ? label : '');\n return text;\n };\n }(labelFormatter);\n } else if (zrUtil.isFunction(labelFormatter)) {\n return function (cb) {\n return function (tick, idx) {\n // The original intention of `idx` is \"the index of the tick in all ticks\".\n // But the previous implementation of category axis do not consider the\n // `axisLabel.interval`, which cause that, for example, the `interval` is\n // `1`, then the ticks \"name5\", \"name7\", \"name9\" are displayed, where the\n // corresponding `idx` are `0`, `2`, `4`, but not `0`, `1`, `2`. So we keep\n // the definition here for back compatibility.\n if (categoryTickStart != null) {\n idx = tick.value - categoryTickStart;\n }\n\n return cb(getAxisRawValue(axis, tick), idx, tick.level != null ? {\n level: tick.level\n } : null);\n };\n }(labelFormatter);\n } else {\n return function (tick) {\n return axis.scale.getLabel(tick);\n };\n }\n}\nexport function getAxisRawValue(axis, tick) {\n // In category axis with data zoom, tick is not the original\n // index of axis.data. So tick should not be exposed to user\n // in category axis.\n return axis.type === 'category' ? axis.scale.getLabel(tick) : tick.value;\n}\n/**\r\n * @param axis\r\n * @return Be null/undefined if no labels.\r\n */\n\nexport function estimateLabelUnionRect(axis) {\n var axisModel = axis.model;\n var scale = axis.scale;\n\n if (!axisModel.get(['axisLabel', 'show']) || scale.isBlank()) {\n return;\n }\n\n var realNumberScaleTicks;\n var tickCount;\n var categoryScaleExtent = scale.getExtent(); // Optimize for large category data, avoid call `getTicks()`.\n\n if (scale instanceof OrdinalScale) {\n tickCount = scale.count();\n } else {\n realNumberScaleTicks = scale.getTicks();\n tickCount = realNumberScaleTicks.length;\n }\n\n var axisLabelModel = axis.getLabelModel();\n var labelFormatter = makeLabelFormatter(axis);\n var rect;\n var step = 1; // Simple optimization for large amount of labels\n\n if (tickCount > 40) {\n step = Math.ceil(tickCount / 40);\n }\n\n for (var i = 0; i < tickCount; i += step) {\n var tick = realNumberScaleTicks ? realNumberScaleTicks[i] : {\n value: categoryScaleExtent[0] + i\n };\n var label = labelFormatter(tick, i);\n var unrotatedSingleRect = axisLabelModel.getTextRect(label);\n var singleRect = rotateTextRect(unrotatedSingleRect, axisLabelModel.get('rotate') || 0);\n rect ? rect.union(singleRect) : rect = singleRect;\n }\n\n return rect;\n}\n\nfunction rotateTextRect(textRect, rotate) {\n var rotateRadians = rotate * Math.PI / 180;\n var beforeWidth = textRect.width;\n var beforeHeight = textRect.height;\n var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + Math.abs(beforeHeight * Math.sin(rotateRadians));\n var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + Math.abs(beforeHeight * Math.cos(rotateRadians));\n var rotatedRect = new BoundingRect(textRect.x, textRect.y, afterWidth, afterHeight);\n return rotatedRect;\n}\n/**\r\n * @param model axisLabelModel or axisTickModel\r\n * @return {number|String} Can be null|'auto'|number|function\r\n */\n\n\nexport function getOptionCategoryInterval(model) {\n var interval = model.get('interval');\n return interval == null ? 'auto' : interval;\n}\n/**\r\n * Set `categoryInterval` as 0 implicitly indicates that\r\n * show all labels regardless of overlap.\r\n * @param {Object} axis axisModel.axis\r\n */\n\nexport function shouldShowAllLabels(axis) {\n return axis.type === 'category' && getOptionCategoryInterval(axis.getLabelModel()) === 0;\n}\nexport function getDataDimensionsOnAxis(data, axisDim) {\n // Remove duplicated dat dimensions caused by `getStackedDimension`.\n var dataDimMap = {}; // Currently `mapDimensionsAll` will contain stack result dimension ('__\\0ecstackresult').\n // PENDING: is it reasonable? Do we need to remove the original dim from \"coord dim\" since\n // there has been stacked result dim?\n\n zrUtil.each(data.mapDimensionsAll(axisDim), function (dataDim) {\n // For example, the extent of the original dimension\n // is [0.1, 0.5], the extent of the `stackResultDimension`\n // is [7, 9], the final extent should NOT include [0.1, 0.5],\n // because there is no graphic corresponding to [0.1, 0.5].\n // See the case in `test/area-stack.html` `main1`, where area line\n // stack needs `yAxis` not start from 0.\n dataDimMap[getStackedDimension(data, dataDim)] = true;\n });\n return zrUtil.keys(dataDimMap);\n}\nexport function unionAxisExtentFromData(dataExtent, data, axisDim) {\n if (data) {\n zrUtil.each(getDataDimensionsOnAxis(data, axisDim), function (dim) {\n var seriesExtent = data.getApproximateExtent(dim);\n seriesExtent[0] < dataExtent[0] && (dataExtent[0] = seriesExtent[0]);\n seriesExtent[1] > dataExtent[1] && (dataExtent[1] = seriesExtent[1]);\n });\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar AxisModelCommonMixin =\n/** @class */\nfunction () {\n function AxisModelCommonMixin() {}\n\n AxisModelCommonMixin.prototype.getNeedCrossZero = function () {\n var option = this.option;\n return !option.scale;\n };\n /**\r\n * Should be implemented by each axis model if necessary.\r\n * @return coordinate system model\r\n */\n\n\n AxisModelCommonMixin.prototype.getCoordSysModel = function () {\n return;\n };\n\n return AxisModelCommonMixin;\n}();\n\nexport { AxisModelCommonMixin };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { registerPreprocessor, registerProcessor, registerPostInit, registerPostUpdate, registerAction, registerCoordinateSystem, registerLayout, registerVisual, registerTransform, registerLoading, registerMap, registerUpdateLifecycle, PRIORITY } from './core/echarts.js';\nimport ComponentView from './view/Component.js';\nimport ChartView from './view/Chart.js';\nimport ComponentModel from './model/Component.js';\nimport SeriesModel from './model/Series.js';\nimport { isFunction, indexOf, isArray, each } from 'zrender/lib/core/util.js';\nimport { registerImpl } from './core/impl.js';\nimport { registerPainter } from 'zrender/lib/zrender.js';\nvar extensions = [];\nvar extensionRegisters = {\n registerPreprocessor: registerPreprocessor,\n registerProcessor: registerProcessor,\n registerPostInit: registerPostInit,\n registerPostUpdate: registerPostUpdate,\n registerUpdateLifecycle: registerUpdateLifecycle,\n registerAction: registerAction,\n registerCoordinateSystem: registerCoordinateSystem,\n registerLayout: registerLayout,\n registerVisual: registerVisual,\n registerTransform: registerTransform,\n registerLoading: registerLoading,\n registerMap: registerMap,\n registerImpl: registerImpl,\n PRIORITY: PRIORITY,\n ComponentModel: ComponentModel,\n ComponentView: ComponentView,\n SeriesModel: SeriesModel,\n ChartView: ChartView,\n // TODO Use ComponentModel and SeriesModel instead of Constructor\n registerComponentModel: function (ComponentModelClass) {\n ComponentModel.registerClass(ComponentModelClass);\n },\n registerComponentView: function (ComponentViewClass) {\n ComponentView.registerClass(ComponentViewClass);\n },\n registerSeriesModel: function (SeriesModelClass) {\n SeriesModel.registerClass(SeriesModelClass);\n },\n registerChartView: function (ChartViewClass) {\n ChartView.registerClass(ChartViewClass);\n },\n registerSubTypeDefaulter: function (componentType, defaulter) {\n ComponentModel.registerSubTypeDefaulter(componentType, defaulter);\n },\n registerPainter: function (painterType, PainterCtor) {\n registerPainter(painterType, PainterCtor);\n }\n};\nexport function use(ext) {\n if (isArray(ext)) {\n // use([ChartLine, ChartBar]);\n each(ext, function (singleExt) {\n use(singleExt);\n });\n return;\n }\n\n if (indexOf(extensions, ext) >= 0) {\n return;\n }\n\n extensions.push(ext);\n\n if (isFunction(ext)) {\n ext = {\n install: ext\n };\n }\n\n ext.install(extensionRegisters);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as textContain from 'zrender/lib/contain/text.js';\nimport { makeInner } from '../util/model.js';\nimport { makeLabelFormatter, getOptionCategoryInterval, shouldShowAllLabels } from './axisHelper.js';\nvar inner = makeInner();\nexport function createAxisLabels(axis) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryLabels(axis) : makeRealNumberLabels(axis);\n}\n/**\r\n * @param {module:echats/coord/Axis} axis\r\n * @param {module:echarts/model/Model} tickModel For example, can be axisTick, splitLine, splitArea.\r\n * @return {Object} {\r\n * ticks: Array.\r\n * tickCategoryInterval: number\r\n * }\r\n */\n\nexport function createAxisTicks(axis, tickModel) {\n // Only ordinal scale support tick interval\n return axis.type === 'category' ? makeCategoryTicks(axis, tickModel) : {\n ticks: zrUtil.map(axis.scale.getTicks(), function (tick) {\n return tick.value;\n })\n };\n}\n\nfunction makeCategoryLabels(axis) {\n var labelModel = axis.getLabelModel();\n var result = makeCategoryLabelsActually(axis, labelModel);\n return !labelModel.get('show') || axis.scale.isBlank() ? {\n labels: [],\n labelCategoryInterval: result.labelCategoryInterval\n } : result;\n}\n\nfunction makeCategoryLabelsActually(axis, labelModel) {\n var labelsCache = getListCache(axis, 'labels');\n var optionLabelInterval = getOptionCategoryInterval(labelModel);\n var result = listCacheGet(labelsCache, optionLabelInterval);\n\n if (result) {\n return result;\n }\n\n var labels;\n var numericLabelInterval;\n\n if (zrUtil.isFunction(optionLabelInterval)) {\n labels = makeLabelsByCustomizedCategoryInterval(axis, optionLabelInterval);\n } else {\n numericLabelInterval = optionLabelInterval === 'auto' ? makeAutoCategoryInterval(axis) : optionLabelInterval;\n labels = makeLabelsByNumericCategoryInterval(axis, numericLabelInterval);\n } // Cache to avoid calling interval function repeatedly.\n\n\n return listCacheSet(labelsCache, optionLabelInterval, {\n labels: labels,\n labelCategoryInterval: numericLabelInterval\n });\n}\n\nfunction makeCategoryTicks(axis, tickModel) {\n var ticksCache = getListCache(axis, 'ticks');\n var optionTickInterval = getOptionCategoryInterval(tickModel);\n var result = listCacheGet(ticksCache, optionTickInterval);\n\n if (result) {\n return result;\n }\n\n var ticks;\n var tickCategoryInterval; // Optimize for the case that large category data and no label displayed,\n // we should not return all ticks.\n\n if (!tickModel.get('show') || axis.scale.isBlank()) {\n ticks = [];\n }\n\n if (zrUtil.isFunction(optionTickInterval)) {\n ticks = makeLabelsByCustomizedCategoryInterval(axis, optionTickInterval, true);\n } // Always use label interval by default despite label show. Consider this\n // scenario, Use multiple grid with the xAxis sync, and only one xAxis shows\n // labels. `splitLine` and `axisTick` should be consistent in this case.\n else if (optionTickInterval === 'auto') {\n var labelsResult = makeCategoryLabelsActually(axis, axis.getLabelModel());\n tickCategoryInterval = labelsResult.labelCategoryInterval;\n ticks = zrUtil.map(labelsResult.labels, function (labelItem) {\n return labelItem.tickValue;\n });\n } else {\n tickCategoryInterval = optionTickInterval;\n ticks = makeLabelsByNumericCategoryInterval(axis, tickCategoryInterval, true);\n } // Cache to avoid calling interval function repeatedly.\n\n\n return listCacheSet(ticksCache, optionTickInterval, {\n ticks: ticks,\n tickCategoryInterval: tickCategoryInterval\n });\n}\n\nfunction makeRealNumberLabels(axis) {\n var ticks = axis.scale.getTicks();\n var labelFormatter = makeLabelFormatter(axis);\n return {\n labels: zrUtil.map(ticks, function (tick, idx) {\n return {\n level: tick.level,\n formattedLabel: labelFormatter(tick, idx),\n rawLabel: axis.scale.getLabel(tick),\n tickValue: tick.value\n };\n })\n };\n}\n\nfunction getListCache(axis, prop) {\n // Because key can be a function, and cache size always is small, we use array cache.\n return inner(axis)[prop] || (inner(axis)[prop] = []);\n}\n\nfunction listCacheGet(cache, key) {\n for (var i = 0; i < cache.length; i++) {\n if (cache[i].key === key) {\n return cache[i].value;\n }\n }\n}\n\nfunction listCacheSet(cache, key, value) {\n cache.push({\n key: key,\n value: value\n });\n return value;\n}\n\nfunction makeAutoCategoryInterval(axis) {\n var result = inner(axis).autoInterval;\n return result != null ? result : inner(axis).autoInterval = axis.calculateCategoryInterval();\n}\n/**\r\n * Calculate interval for category axis ticks and labels.\r\n * To get precise result, at least one of `getRotate` and `isHorizontal`\r\n * should be implemented in axis.\r\n */\n\n\nexport function calculateCategoryInterval(axis) {\n var params = fetchAutoCategoryIntervalCalculationParams(axis);\n var labelFormatter = makeLabelFormatter(axis);\n var rotation = (params.axisRotate - params.labelRotate) / 180 * Math.PI;\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent(); // Providing this method is for optimization:\n // avoid generating a long array by `getTicks`\n // in large category data case.\n\n var tickCount = ordinalScale.count();\n\n if (ordinalExtent[1] - ordinalExtent[0] < 1) {\n return 0;\n }\n\n var step = 1; // Simple optimization. Empirical value: tick count should less than 40.\n\n if (tickCount > 40) {\n step = Math.max(1, Math.floor(tickCount / 40));\n }\n\n var tickValue = ordinalExtent[0];\n var unitSpan = axis.dataToCoord(tickValue + 1) - axis.dataToCoord(tickValue);\n var unitW = Math.abs(unitSpan * Math.cos(rotation));\n var unitH = Math.abs(unitSpan * Math.sin(rotation));\n var maxW = 0;\n var maxH = 0; // Caution: Performance sensitive for large category data.\n // Consider dataZoom, we should make appropriate step to avoid O(n) loop.\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n var width = 0;\n var height = 0; // Not precise, do not consider align and vertical align\n // and each distance from axis line yet.\n\n var rect = textContain.getBoundingRect(labelFormatter({\n value: tickValue\n }), params.font, 'center', 'top'); // Magic number\n\n width = rect.width * 1.3;\n height = rect.height * 1.3; // Min size, void long loop.\n\n maxW = Math.max(maxW, width, 7);\n maxH = Math.max(maxH, height, 7);\n }\n\n var dw = maxW / unitW;\n var dh = maxH / unitH; // 0/0 is NaN, 1/0 is Infinity.\n\n isNaN(dw) && (dw = Infinity);\n isNaN(dh) && (dh = Infinity);\n var interval = Math.max(0, Math.floor(Math.min(dw, dh)));\n var cache = inner(axis.model);\n var axisExtent = axis.getExtent();\n var lastAutoInterval = cache.lastAutoInterval;\n var lastTickCount = cache.lastTickCount; // Use cache to keep interval stable while moving zoom window,\n // otherwise the calculated interval might jitter when the zoom\n // window size is close to the interval-changing size.\n // For example, if all of the axis labels are `a, b, c, d, e, f, g`.\n // The jitter will cause that sometimes the displayed labels are\n // `a, d, g` (interval: 2) sometimes `a, c, e`(interval: 1).\n\n if (lastAutoInterval != null && lastTickCount != null && Math.abs(lastAutoInterval - interval) <= 1 && Math.abs(lastTickCount - tickCount) <= 1 // Always choose the bigger one, otherwise the critical\n // point is not the same when zooming in or zooming out.\n && lastAutoInterval > interval // If the axis change is caused by chart resize, the cache should not\n // be used. Otherwise some hidden labels might not be shown again.\n && cache.axisExtent0 === axisExtent[0] && cache.axisExtent1 === axisExtent[1]) {\n interval = lastAutoInterval;\n } // Only update cache if cache not used, otherwise the\n // changing of interval is too insensitive.\n else {\n cache.lastTickCount = tickCount;\n cache.lastAutoInterval = interval;\n cache.axisExtent0 = axisExtent[0];\n cache.axisExtent1 = axisExtent[1];\n }\n\n return interval;\n}\n\nfunction fetchAutoCategoryIntervalCalculationParams(axis) {\n var labelModel = axis.getLabelModel();\n return {\n axisRotate: axis.getRotate ? axis.getRotate() : axis.isHorizontal && !axis.isHorizontal() ? 90 : 0,\n labelRotate: labelModel.get('rotate') || 0,\n font: labelModel.getFont()\n };\n}\n\nfunction makeLabelsByNumericCategoryInterval(axis, categoryInterval, onlyTick) {\n var labelFormatter = makeLabelFormatter(axis);\n var ordinalScale = axis.scale;\n var ordinalExtent = ordinalScale.getExtent();\n var labelModel = axis.getLabelModel();\n var result = []; // TODO: axisType: ordinalTime, pick the tick from each month/day/year/...\n\n var step = Math.max((categoryInterval || 0) + 1, 1);\n var startTick = ordinalExtent[0];\n var tickCount = ordinalScale.count(); // Calculate start tick based on zero if possible to keep label consistent\n // while zooming and moving while interval > 0. Otherwise the selection\n // of displayable ticks and symbols probably keep changing.\n // 3 is empirical value.\n\n if (startTick !== 0 && step > 1 && tickCount / step > 2) {\n startTick = Math.round(Math.ceil(startTick / step) * step);\n } // (1) Only add min max label here but leave overlap checking\n // to render stage, which also ensure the returned list\n // suitable for splitLine and splitArea rendering.\n // (2) Scales except category always contain min max label so\n // do not need to perform this process.\n\n\n var showAllLabel = shouldShowAllLabels(axis);\n var includeMinLabel = labelModel.get('showMinLabel') || showAllLabel;\n var includeMaxLabel = labelModel.get('showMaxLabel') || showAllLabel;\n\n if (includeMinLabel && startTick !== ordinalExtent[0]) {\n addItem(ordinalExtent[0]);\n } // Optimize: avoid generating large array by `ordinalScale.getTicks()`.\n\n\n var tickValue = startTick;\n\n for (; tickValue <= ordinalExtent[1]; tickValue += step) {\n addItem(tickValue);\n }\n\n if (includeMaxLabel && tickValue - step !== ordinalExtent[1]) {\n addItem(ordinalExtent[1]);\n }\n\n function addItem(tickValue) {\n var tickObj = {\n value: tickValue\n };\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tickObj),\n rawLabel: ordinalScale.getLabel(tickObj),\n tickValue: tickValue\n });\n }\n\n return result;\n}\n\nfunction makeLabelsByCustomizedCategoryInterval(axis, categoryInterval, onlyTick) {\n var ordinalScale = axis.scale;\n var labelFormatter = makeLabelFormatter(axis);\n var result = [];\n zrUtil.each(ordinalScale.getTicks(), function (tick) {\n var rawLabel = ordinalScale.getLabel(tick);\n var tickValue = tick.value;\n\n if (categoryInterval(tick.value, rawLabel)) {\n result.push(onlyTick ? tickValue : {\n formattedLabel: labelFormatter(tick),\n rawLabel: rawLabel,\n tickValue: tickValue\n });\n }\n });\n return result;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, map } from 'zrender/lib/core/util.js';\nimport { linearMap, getPixelPrecision, round } from '../util/number.js';\nimport { createAxisTicks, createAxisLabels, calculateCategoryInterval } from './axisTickLabelBuilder.js';\nvar NORMALIZED_EXTENT = [0, 1];\n/**\r\n * Base class of Axis.\r\n */\n\nvar Axis =\n/** @class */\nfunction () {\n function Axis(dim, scale, extent) {\n this.onBand = false;\n this.inverse = false;\n this.dim = dim;\n this.scale = scale;\n this._extent = extent || [0, 0];\n }\n /**\r\n * If axis extent contain given coord\r\n */\n\n\n Axis.prototype.contain = function (coord) {\n var extent = this._extent;\n var min = Math.min(extent[0], extent[1]);\n var max = Math.max(extent[0], extent[1]);\n return coord >= min && coord <= max;\n };\n /**\r\n * If axis extent contain given data\r\n */\n\n\n Axis.prototype.containData = function (data) {\n return this.scale.contain(data);\n };\n /**\r\n * Get coord extent.\r\n */\n\n\n Axis.prototype.getExtent = function () {\n return this._extent.slice();\n };\n /**\r\n * Get precision used for formatting\r\n */\n\n\n Axis.prototype.getPixelPrecision = function (dataExtent) {\n return getPixelPrecision(dataExtent || this.scale.getExtent(), this._extent);\n };\n /**\r\n * Set coord extent\r\n */\n\n\n Axis.prototype.setExtent = function (start, end) {\n var extent = this._extent;\n extent[0] = start;\n extent[1] = end;\n };\n /**\r\n * Convert data to coord. Data is the rank if it has an ordinal scale\r\n */\n\n\n Axis.prototype.dataToCoord = function (data, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n data = scale.normalize(data);\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n return linearMap(data, NORMALIZED_EXTENT, extent, clamp);\n };\n /**\r\n * Convert coord to data. Data is the rank if it has an ordinal scale\r\n */\n\n\n Axis.prototype.coordToData = function (coord, clamp) {\n var extent = this._extent;\n var scale = this.scale;\n\n if (this.onBand && scale.type === 'ordinal') {\n extent = extent.slice();\n fixExtentWithBands(extent, scale.count());\n }\n\n var t = linearMap(coord, extent, NORMALIZED_EXTENT, clamp);\n return this.scale.scale(t);\n };\n /**\r\n * Convert pixel point to data in axis\r\n */\n\n\n Axis.prototype.pointToData = function (point, clamp) {\n // Should be implemented in derived class if necessary.\n return;\n };\n /**\r\n * Different from `zrUtil.map(axis.getTicks(), axis.dataToCoord, axis)`,\r\n * `axis.getTicksCoords` considers `onBand`, which is used by\r\n * `boundaryGap:true` of category axis and splitLine and splitArea.\r\n * @param opt.tickModel default: axis.model.getModel('axisTick')\r\n * @param opt.clamp If `true`, the first and the last\r\n * tick must be at the axis end points. Otherwise, clip ticks\r\n * that outside the axis extent.\r\n */\n\n\n Axis.prototype.getTicksCoords = function (opt) {\n opt = opt || {};\n var tickModel = opt.tickModel || this.getTickModel();\n var result = createAxisTicks(this, tickModel);\n var ticks = result.ticks;\n var ticksCoords = map(ticks, function (tickVal) {\n return {\n coord: this.dataToCoord(this.scale.type === 'ordinal' ? this.scale.getRawOrdinalNumber(tickVal) : tickVal),\n tickValue: tickVal\n };\n }, this);\n var alignWithLabel = tickModel.get('alignWithLabel');\n fixOnBandTicksCoords(this, ticksCoords, alignWithLabel, opt.clamp);\n return ticksCoords;\n };\n\n Axis.prototype.getMinorTicksCoords = function () {\n if (this.scale.type === 'ordinal') {\n // Category axis doesn't support minor ticks\n return [];\n }\n\n var minorTickModel = this.model.getModel('minorTick');\n var splitNumber = minorTickModel.get('splitNumber'); // Protection.\n\n if (!(splitNumber > 0 && splitNumber < 100)) {\n splitNumber = 5;\n }\n\n var minorTicks = this.scale.getMinorTicks(splitNumber);\n var minorTicksCoords = map(minorTicks, function (minorTicksGroup) {\n return map(minorTicksGroup, function (minorTick) {\n return {\n coord: this.dataToCoord(minorTick),\n tickValue: minorTick\n };\n }, this);\n }, this);\n return minorTicksCoords;\n };\n\n Axis.prototype.getViewLabels = function () {\n return createAxisLabels(this).labels;\n };\n\n Axis.prototype.getLabelModel = function () {\n return this.model.getModel('axisLabel');\n };\n /**\r\n * Notice here we only get the default tick model. For splitLine\r\n * or splitArea, we should pass the splitLineModel or splitAreaModel\r\n * manually when calling `getTicksCoords`.\r\n * In GL, this method may be overridden to:\r\n * `axisModel.getModel('axisTick', grid3DModel.getModel('axisTick'));`\r\n */\n\n\n Axis.prototype.getTickModel = function () {\n return this.model.getModel('axisTick');\n };\n /**\r\n * Get width of band\r\n */\n\n\n Axis.prototype.getBandWidth = function () {\n var axisExtent = this._extent;\n var dataExtent = this.scale.getExtent();\n var len = dataExtent[1] - dataExtent[0] + (this.onBand ? 1 : 0); // Fix #2728, avoid NaN when only one data.\n\n len === 0 && (len = 1);\n var size = Math.abs(axisExtent[1] - axisExtent[0]);\n return Math.abs(size) / len;\n };\n /**\r\n * Only be called in category axis.\r\n * Can be overridden, consider other axes like in 3D.\r\n * @return Auto interval for cateogry axis tick and label\r\n */\n\n\n Axis.prototype.calculateCategoryInterval = function () {\n return calculateCategoryInterval(this);\n };\n\n return Axis;\n}();\n\nfunction fixExtentWithBands(extent, nTick) {\n var size = extent[1] - extent[0];\n var len = nTick;\n var margin = size / len / 2;\n extent[0] += margin;\n extent[1] -= margin;\n} // If axis has labels [1, 2, 3, 4]. Bands on the axis are\n// |---1---|---2---|---3---|---4---|.\n// So the displayed ticks and splitLine/splitArea should between\n// each data item, otherwise cause misleading (e.g., split tow bars\n// of a single data item when there are two bar series).\n// Also consider if tickCategoryInterval > 0 and onBand, ticks and\n// splitLine/spliteArea should layout appropriately corresponding\n// to displayed labels. (So we should not use `getBandWidth` in this\n// case).\n\n\nfunction fixOnBandTicksCoords(axis, ticksCoords, alignWithLabel, clamp) {\n var ticksLen = ticksCoords.length;\n\n if (!axis.onBand || alignWithLabel || !ticksLen) {\n return;\n }\n\n var axisExtent = axis.getExtent();\n var last;\n var diffSize;\n\n if (ticksLen === 1) {\n ticksCoords[0].coord = axisExtent[0];\n last = ticksCoords[1] = {\n coord: axisExtent[1]\n };\n } else {\n var crossLen = ticksCoords[ticksLen - 1].tickValue - ticksCoords[0].tickValue;\n var shift_1 = (ticksCoords[ticksLen - 1].coord - ticksCoords[0].coord) / crossLen;\n each(ticksCoords, function (ticksItem) {\n ticksItem.coord -= shift_1 / 2;\n });\n var dataExtent = axis.scale.getExtent();\n diffSize = 1 + dataExtent[1] - ticksCoords[ticksLen - 1].tickValue;\n last = {\n coord: ticksCoords[ticksLen - 1].coord + shift_1 * diffSize\n };\n ticksCoords.push(last);\n }\n\n var inverse = axisExtent[0] > axisExtent[1]; // Handling clamp.\n\n if (littleThan(ticksCoords[0].coord, axisExtent[0])) {\n clamp ? ticksCoords[0].coord = axisExtent[0] : ticksCoords.shift();\n }\n\n if (clamp && littleThan(axisExtent[0], ticksCoords[0].coord)) {\n ticksCoords.unshift({\n coord: axisExtent[0]\n });\n }\n\n if (littleThan(axisExtent[1], last.coord)) {\n clamp ? last.coord = axisExtent[1] : ticksCoords.pop();\n }\n\n if (clamp && littleThan(last.coord, axisExtent[1])) {\n ticksCoords.push({\n coord: axisExtent[1]\n });\n }\n\n function littleThan(a, b) {\n // Avoid rounding error cause calculated tick coord different with extent.\n // It may cause an extra unnecessary tick added.\n a = round(a);\n b = round(b);\n return inverse ? a > b : a < b;\n }\n}\n\nexport default Axis;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { Point, Path, Polyline } from '../util/graphic.js';\nimport PathProxy from 'zrender/lib/core/PathProxy.js';\nimport { normalizeRadian } from 'zrender/lib/contain/util.js';\nimport { cubicProjectPoint, quadraticProjectPoint } from 'zrender/lib/core/curve.js';\nimport { defaults, retrieve2 } from 'zrender/lib/core/util.js';\nimport { invert } from 'zrender/lib/core/matrix.js';\nimport * as vector from 'zrender/lib/core/vector.js';\nimport { DISPLAY_STATES, SPECIAL_STATES } from '../util/states.js';\nvar PI2 = Math.PI * 2;\nvar CMD = PathProxy.CMD;\nvar DEFAULT_SEARCH_SPACE = ['top', 'right', 'bottom', 'left'];\n\nfunction getCandidateAnchor(pos, distance, rect, outPt, outDir) {\n var width = rect.width;\n var height = rect.height;\n\n switch (pos) {\n case 'top':\n outPt.set(rect.x + width / 2, rect.y - distance);\n outDir.set(0, -1);\n break;\n\n case 'bottom':\n outPt.set(rect.x + width / 2, rect.y + height + distance);\n outDir.set(0, 1);\n break;\n\n case 'left':\n outPt.set(rect.x - distance, rect.y + height / 2);\n outDir.set(-1, 0);\n break;\n\n case 'right':\n outPt.set(rect.x + width + distance, rect.y + height / 2);\n outDir.set(1, 0);\n break;\n }\n}\n\nfunction projectPointToArc(cx, cy, r, startAngle, endAngle, anticlockwise, x, y, out) {\n x -= cx;\n y -= cy;\n var d = Math.sqrt(x * x + y * y);\n x /= d;\n y /= d; // Intersect point.\n\n var ox = x * r + cx;\n var oy = y * r + cy;\n\n if (Math.abs(startAngle - endAngle) % PI2 < 1e-4) {\n // Is a circle\n out[0] = ox;\n out[1] = oy;\n return d - r;\n }\n\n if (anticlockwise) {\n var tmp = startAngle;\n startAngle = normalizeRadian(endAngle);\n endAngle = normalizeRadian(tmp);\n } else {\n startAngle = normalizeRadian(startAngle);\n endAngle = normalizeRadian(endAngle);\n }\n\n if (startAngle > endAngle) {\n endAngle += PI2;\n }\n\n var angle = Math.atan2(y, x);\n\n if (angle < 0) {\n angle += PI2;\n }\n\n if (angle >= startAngle && angle <= endAngle || angle + PI2 >= startAngle && angle + PI2 <= endAngle) {\n // Project point is on the arc.\n out[0] = ox;\n out[1] = oy;\n return d - r;\n }\n\n var x1 = r * Math.cos(startAngle) + cx;\n var y1 = r * Math.sin(startAngle) + cy;\n var x2 = r * Math.cos(endAngle) + cx;\n var y2 = r * Math.sin(endAngle) + cy;\n var d1 = (x1 - x) * (x1 - x) + (y1 - y) * (y1 - y);\n var d2 = (x2 - x) * (x2 - x) + (y2 - y) * (y2 - y);\n\n if (d1 < d2) {\n out[0] = x1;\n out[1] = y1;\n return Math.sqrt(d1);\n } else {\n out[0] = x2;\n out[1] = y2;\n return Math.sqrt(d2);\n }\n}\n\nfunction projectPointToLine(x1, y1, x2, y2, x, y, out, limitToEnds) {\n var dx = x - x1;\n var dy = y - y1;\n var dx1 = x2 - x1;\n var dy1 = y2 - y1;\n var lineLen = Math.sqrt(dx1 * dx1 + dy1 * dy1);\n dx1 /= lineLen;\n dy1 /= lineLen; // dot product\n\n var projectedLen = dx * dx1 + dy * dy1;\n var t = projectedLen / lineLen;\n\n if (limitToEnds) {\n t = Math.min(Math.max(t, 0), 1);\n }\n\n t *= lineLen;\n var ox = out[0] = x1 + t * dx1;\n var oy = out[1] = y1 + t * dy1;\n return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));\n}\n\nfunction projectPointToRect(x1, y1, width, height, x, y, out) {\n if (width < 0) {\n x1 = x1 + width;\n width = -width;\n }\n\n if (height < 0) {\n y1 = y1 + height;\n height = -height;\n }\n\n var x2 = x1 + width;\n var y2 = y1 + height;\n var ox = out[0] = Math.min(Math.max(x, x1), x2);\n var oy = out[1] = Math.min(Math.max(y, y1), y2);\n return Math.sqrt((ox - x) * (ox - x) + (oy - y) * (oy - y));\n}\n\nvar tmpPt = [];\n\nfunction nearestPointOnRect(pt, rect, out) {\n var dist = projectPointToRect(rect.x, rect.y, rect.width, rect.height, pt.x, pt.y, tmpPt);\n out.set(tmpPt[0], tmpPt[1]);\n return dist;\n}\n/**\r\n * Calculate min distance corresponding point.\r\n * This method won't evaluate if point is in the path.\r\n */\n\n\nfunction nearestPointOnPath(pt, path, out) {\n var xi = 0;\n var yi = 0;\n var x0 = 0;\n var y0 = 0;\n var x1;\n var y1;\n var minDist = Infinity;\n var data = path.data;\n var x = pt.x;\n var y = pt.y;\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++];\n\n if (i === 1) {\n xi = data[i];\n yi = data[i + 1];\n x0 = xi;\n y0 = yi;\n }\n\n var d = minDist;\n\n switch (cmd) {\n case CMD.M:\n // moveTo 命令重新创建一个新的 subpath, 并且更新新的起点\n // 在 closePath 的时候使用\n x0 = data[i++];\n y0 = data[i++];\n xi = x0;\n yi = y0;\n break;\n\n case CMD.L:\n d = projectPointToLine(xi, yi, data[i], data[i + 1], x, y, tmpPt, true);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.C:\n d = cubicProjectPoint(xi, yi, data[i++], data[i++], data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.Q:\n d = quadraticProjectPoint(xi, yi, data[i++], data[i++], data[i], data[i + 1], x, y, tmpPt);\n xi = data[i++];\n yi = data[i++];\n break;\n\n case CMD.A:\n // TODO Arc 判断的开销比较大\n var cx = data[i++];\n var cy = data[i++];\n var rx = data[i++];\n var ry = data[i++];\n var theta = data[i++];\n var dTheta = data[i++]; // TODO Arc 旋转\n\n i += 1;\n var anticlockwise = !!(1 - data[i++]);\n x1 = Math.cos(theta) * rx + cx;\n y1 = Math.sin(theta) * ry + cy; // 不是直接使用 arc 命令\n\n if (i <= 1) {\n // 第一个命令起点还未定义\n x0 = x1;\n y0 = y1;\n } // zr 使用scale来模拟椭圆, 这里也对x做一定的缩放\n\n\n var _x = (x - cx) * ry / rx + cx;\n\n d = projectPointToArc(cx, cy, ry, theta, theta + dTheta, anticlockwise, _x, y, tmpPt);\n xi = Math.cos(theta + dTheta) * rx + cx;\n yi = Math.sin(theta + dTheta) * ry + cy;\n break;\n\n case CMD.R:\n x0 = xi = data[i++];\n y0 = yi = data[i++];\n var width = data[i++];\n var height = data[i++];\n d = projectPointToRect(x0, y0, width, height, x, y, tmpPt);\n break;\n\n case CMD.Z:\n d = projectPointToLine(xi, yi, x0, y0, x, y, tmpPt, true);\n xi = x0;\n yi = y0;\n break;\n }\n\n if (d < minDist) {\n minDist = d;\n out.set(tmpPt[0], tmpPt[1]);\n }\n }\n\n return minDist;\n} // Temporal variable for intermediate usage.\n\n\nvar pt0 = new Point();\nvar pt1 = new Point();\nvar pt2 = new Point();\nvar dir = new Point();\nvar dir2 = new Point();\n/**\r\n * Calculate a proper guide line based on the label position and graphic element definition\r\n * @param label\r\n * @param labelRect\r\n * @param target\r\n * @param targetRect\r\n */\n\nexport function updateLabelLinePoints(target, labelLineModel) {\n if (!target) {\n return;\n }\n\n var labelLine = target.getTextGuideLine();\n var label = target.getTextContent(); // Needs to create text guide in each charts.\n\n if (!(label && labelLine)) {\n return;\n }\n\n var labelGuideConfig = target.textGuideLineConfig || {};\n var points = [[0, 0], [0, 0], [0, 0]];\n var searchSpace = labelGuideConfig.candidates || DEFAULT_SEARCH_SPACE;\n var labelRect = label.getBoundingRect().clone();\n labelRect.applyTransform(label.getComputedTransform());\n var minDist = Infinity;\n var anchorPoint = labelGuideConfig.anchor;\n var targetTransform = target.getComputedTransform();\n var targetInversedTransform = targetTransform && invert([], targetTransform);\n var len = labelLineModel.get('length2') || 0;\n\n if (anchorPoint) {\n pt2.copy(anchorPoint);\n }\n\n for (var i = 0; i < searchSpace.length; i++) {\n var candidate = searchSpace[i];\n getCandidateAnchor(candidate, 0, labelRect, pt0, dir);\n Point.scaleAndAdd(pt1, pt0, dir, len); // Transform to target coord space.\n\n pt1.transform(targetInversedTransform); // Note: getBoundingRect will ensure the `path` being created.\n\n var boundingRect = target.getBoundingRect();\n var dist = anchorPoint ? anchorPoint.distance(pt1) : target instanceof Path ? nearestPointOnPath(pt1, target.path, pt2) : nearestPointOnRect(pt1, boundingRect, pt2); // TODO pt2 is in the path\n\n if (dist < minDist) {\n minDist = dist; // Transform back to global space.\n\n pt1.transform(targetTransform);\n pt2.transform(targetTransform);\n pt2.toArray(points[0]);\n pt1.toArray(points[1]);\n pt0.toArray(points[2]);\n }\n }\n\n limitTurnAngle(points, labelLineModel.get('minTurnAngle'));\n labelLine.setShape({\n points: points\n });\n} // Temporal variable for the limitTurnAngle function\n\nvar tmpArr = [];\nvar tmpProjPoint = new Point();\n/**\r\n * Reduce the line segment attached to the label to limit the turn angle between two segments.\r\n * @param linePoints\r\n * @param minTurnAngle Radian of minimum turn angle. 0 - 180\r\n */\n\nexport function limitTurnAngle(linePoints, minTurnAngle) {\n if (!(minTurnAngle <= 180 && minTurnAngle > 0)) {\n return;\n }\n\n minTurnAngle = minTurnAngle / 180 * Math.PI; // The line points can be\n // /pt1----pt2 (label)\n // /\n // pt0/\n\n pt0.fromArray(linePoints[0]);\n pt1.fromArray(linePoints[1]);\n pt2.fromArray(linePoints[2]);\n Point.sub(dir, pt0, pt1);\n Point.sub(dir2, pt2, pt1);\n var len1 = dir.len();\n var len2 = dir2.len();\n\n if (len1 < 1e-3 || len2 < 1e-3) {\n return;\n }\n\n dir.scale(1 / len1);\n dir2.scale(1 / len2);\n var angleCos = dir.dot(dir2);\n var minTurnAngleCos = Math.cos(minTurnAngle);\n\n if (minTurnAngleCos < angleCos) {\n // Smaller than minTurnAngle\n // Calculate project point of pt0 on pt1-pt2\n var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);\n tmpProjPoint.fromArray(tmpArr); // Calculate new projected length with limited minTurnAngle and get the new connect point\n\n tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI - minTurnAngle)); // Limit the new calculated connect point between pt1 and pt2.\n\n var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);\n\n if (isNaN(t)) {\n return;\n }\n\n if (t < 0) {\n Point.copy(tmpProjPoint, pt1);\n } else if (t > 1) {\n Point.copy(tmpProjPoint, pt2);\n }\n\n tmpProjPoint.toArray(linePoints[1]);\n }\n}\n/**\r\n * Limit the angle of line and the surface\r\n * @param maxSurfaceAngle Radian of minimum turn angle. 0 - 180. 0 is same direction to normal. 180 is opposite\r\n */\n\nexport function limitSurfaceAngle(linePoints, surfaceNormal, maxSurfaceAngle) {\n if (!(maxSurfaceAngle <= 180 && maxSurfaceAngle > 0)) {\n return;\n }\n\n maxSurfaceAngle = maxSurfaceAngle / 180 * Math.PI;\n pt0.fromArray(linePoints[0]);\n pt1.fromArray(linePoints[1]);\n pt2.fromArray(linePoints[2]);\n Point.sub(dir, pt1, pt0);\n Point.sub(dir2, pt2, pt1);\n var len1 = dir.len();\n var len2 = dir2.len();\n\n if (len1 < 1e-3 || len2 < 1e-3) {\n return;\n }\n\n dir.scale(1 / len1);\n dir2.scale(1 / len2);\n var angleCos = dir.dot(surfaceNormal);\n var maxSurfaceAngleCos = Math.cos(maxSurfaceAngle);\n\n if (angleCos < maxSurfaceAngleCos) {\n // Calculate project point of pt0 on pt1-pt2\n var d = projectPointToLine(pt1.x, pt1.y, pt2.x, pt2.y, pt0.x, pt0.y, tmpArr, false);\n tmpProjPoint.fromArray(tmpArr);\n var HALF_PI = Math.PI / 2;\n var angle2 = Math.acos(dir2.dot(surfaceNormal));\n var newAngle = HALF_PI + angle2 - maxSurfaceAngle;\n\n if (newAngle >= HALF_PI) {\n // parallel\n Point.copy(tmpProjPoint, pt2);\n } else {\n // Calculate new projected length with limited minTurnAngle and get the new connect point\n tmpProjPoint.scaleAndAdd(dir2, d / Math.tan(Math.PI / 2 - newAngle)); // Limit the new calculated connect point between pt1 and pt2.\n\n var t = pt2.x !== pt1.x ? (tmpProjPoint.x - pt1.x) / (pt2.x - pt1.x) : (tmpProjPoint.y - pt1.y) / (pt2.y - pt1.y);\n\n if (isNaN(t)) {\n return;\n }\n\n if (t < 0) {\n Point.copy(tmpProjPoint, pt1);\n } else if (t > 1) {\n Point.copy(tmpProjPoint, pt2);\n }\n }\n\n tmpProjPoint.toArray(linePoints[1]);\n }\n}\n\nfunction setLabelLineState(labelLine, ignore, stateName, stateModel) {\n var isNormal = stateName === 'normal';\n var stateObj = isNormal ? labelLine : labelLine.ensureState(stateName); // Make sure display.\n\n stateObj.ignore = ignore; // Set smooth\n\n var smooth = stateModel.get('smooth');\n\n if (smooth && smooth === true) {\n smooth = 0.3;\n }\n\n stateObj.shape = stateObj.shape || {};\n\n if (smooth > 0) {\n stateObj.shape.smooth = smooth;\n }\n\n var styleObj = stateModel.getModel('lineStyle').getLineStyle();\n isNormal ? labelLine.useStyle(styleObj) : stateObj.style = styleObj;\n}\n\nfunction buildLabelLinePath(path, shape) {\n var smooth = shape.smooth;\n var points = shape.points;\n\n if (!points) {\n return;\n }\n\n path.moveTo(points[0][0], points[0][1]);\n\n if (smooth > 0 && points.length >= 3) {\n var len1 = vector.dist(points[0], points[1]);\n var len2 = vector.dist(points[1], points[2]);\n\n if (!len1 || !len2) {\n path.lineTo(points[1][0], points[1][1]);\n path.lineTo(points[2][0], points[2][1]);\n return;\n }\n\n var moveLen = Math.min(len1, len2) * smooth;\n var midPoint0 = vector.lerp([], points[1], points[0], moveLen / len1);\n var midPoint2 = vector.lerp([], points[1], points[2], moveLen / len2);\n var midPoint1 = vector.lerp([], midPoint0, midPoint2, 0.5);\n path.bezierCurveTo(midPoint0[0], midPoint0[1], midPoint0[0], midPoint0[1], midPoint1[0], midPoint1[1]);\n path.bezierCurveTo(midPoint2[0], midPoint2[1], midPoint2[0], midPoint2[1], points[2][0], points[2][1]);\n } else {\n for (var i = 1; i < points.length; i++) {\n path.lineTo(points[i][0], points[i][1]);\n }\n }\n}\n/**\r\n * Create a label line if necessary and set it's style.\r\n */\n\n\nexport function setLabelLineStyle(targetEl, statesModels, defaultStyle) {\n var labelLine = targetEl.getTextGuideLine();\n var label = targetEl.getTextContent();\n\n if (!label) {\n // Not show label line if there is no label.\n if (labelLine) {\n targetEl.removeTextGuideLine();\n }\n\n return;\n }\n\n var normalModel = statesModels.normal;\n var showNormal = normalModel.get('show');\n var labelIgnoreNormal = label.ignore;\n\n for (var i = 0; i < DISPLAY_STATES.length; i++) {\n var stateName = DISPLAY_STATES[i];\n var stateModel = statesModels[stateName];\n var isNormal = stateName === 'normal';\n\n if (stateModel) {\n var stateShow = stateModel.get('show');\n var isLabelIgnored = isNormal ? labelIgnoreNormal : retrieve2(label.states[stateName] && label.states[stateName].ignore, labelIgnoreNormal);\n\n if (isLabelIgnored // Not show when label is not shown in this state.\n || !retrieve2(stateShow, showNormal) // Use normal state by default if not set.\n ) {\n var stateObj = isNormal ? labelLine : labelLine && labelLine.states[stateName];\n\n if (stateObj) {\n stateObj.ignore = true;\n }\n\n continue;\n } // Create labelLine if not exists\n\n\n if (!labelLine) {\n labelLine = new Polyline();\n targetEl.setTextGuideLine(labelLine); // Reset state of normal because it's new created.\n // NOTE: NORMAL should always been the first!\n\n if (!isNormal && (labelIgnoreNormal || !showNormal)) {\n setLabelLineState(labelLine, true, 'normal', statesModels.normal);\n } // Use same state proxy.\n\n\n if (targetEl.stateProxy) {\n labelLine.stateProxy = targetEl.stateProxy;\n }\n }\n\n setLabelLineState(labelLine, false, stateName, stateModel);\n }\n }\n\n if (labelLine) {\n defaults(labelLine.style, defaultStyle); // Not fill.\n\n labelLine.style.fill = null;\n var showAbove = normalModel.get('showAbove');\n var labelLineConfig = targetEl.textGuideLineConfig = targetEl.textGuideLineConfig || {};\n labelLineConfig.showAbove = showAbove || false; // Custom the buildPath.\n\n labelLine.buildPath = buildLabelLinePath;\n }\n}\nexport function getLabelLineStatesModels(itemModel, labelLineName) {\n labelLineName = labelLineName || 'labelLine';\n var statesModels = {\n normal: itemModel.getModel(labelLineName)\n };\n\n for (var i = 0; i < SPECIAL_STATES.length; i++) {\n var stateName = SPECIAL_STATES[i];\n statesModels[stateName] = itemModel.getModel([stateName, labelLineName]);\n }\n\n return statesModels;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { BoundingRect, OrientedBoundingRect } from '../util/graphic.js';\nexport function prepareLayoutList(input) {\n var list = [];\n\n for (var i = 0; i < input.length; i++) {\n var rawItem = input[i];\n\n if (rawItem.defaultAttr.ignore) {\n continue;\n }\n\n var label = rawItem.label;\n var transform = label.getComputedTransform(); // NOTE: Get bounding rect after getComputedTransform, or label may not been updated by the host el.\n\n var localRect = label.getBoundingRect();\n var isAxisAligned = !transform || transform[1] < 1e-5 && transform[2] < 1e-5;\n var minMargin = label.style.margin || 0;\n var globalRect = localRect.clone();\n globalRect.applyTransform(transform);\n globalRect.x -= minMargin / 2;\n globalRect.y -= minMargin / 2;\n globalRect.width += minMargin;\n globalRect.height += minMargin;\n var obb = isAxisAligned ? new OrientedBoundingRect(localRect, transform) : null;\n list.push({\n label: label,\n labelLine: rawItem.labelLine,\n rect: globalRect,\n localRect: localRect,\n obb: obb,\n priority: rawItem.priority,\n defaultAttr: rawItem.defaultAttr,\n layoutOption: rawItem.computedLayoutOption,\n axisAligned: isAxisAligned,\n transform: transform\n });\n }\n\n return list;\n}\n\nfunction shiftLayout(list, xyDim, sizeDim, minBound, maxBound, balanceShift) {\n var len = list.length;\n\n if (len < 2) {\n return;\n }\n\n list.sort(function (a, b) {\n return a.rect[xyDim] - b.rect[xyDim];\n });\n var lastPos = 0;\n var delta;\n var adjusted = false;\n var shifts = [];\n var totalShifts = 0;\n\n for (var i = 0; i < len; i++) {\n var item = list[i];\n var rect = item.rect;\n delta = rect[xyDim] - lastPos;\n\n if (delta < 0) {\n // shiftForward(i, len, -delta);\n rect[xyDim] -= delta;\n item.label[xyDim] -= delta;\n adjusted = true;\n }\n\n var shift = Math.max(-delta, 0);\n shifts.push(shift);\n totalShifts += shift;\n lastPos = rect[xyDim] + rect[sizeDim];\n }\n\n if (totalShifts > 0 && balanceShift) {\n // Shift back to make the distribution more equally.\n shiftList(-totalShifts / len, 0, len);\n } // TODO bleedMargin?\n\n\n var first = list[0];\n var last = list[len - 1];\n var minGap;\n var maxGap;\n updateMinMaxGap(); // If ends exceed two bounds, squeeze at most 80%, then take the gap of two bounds.\n\n minGap < 0 && squeezeGaps(-minGap, 0.8);\n maxGap < 0 && squeezeGaps(maxGap, 0.8);\n updateMinMaxGap();\n takeBoundsGap(minGap, maxGap, 1);\n takeBoundsGap(maxGap, minGap, -1); // Handle bailout when there is not enough space.\n\n updateMinMaxGap();\n\n if (minGap < 0) {\n squeezeWhenBailout(-minGap);\n }\n\n if (maxGap < 0) {\n squeezeWhenBailout(maxGap);\n }\n\n function updateMinMaxGap() {\n minGap = first.rect[xyDim] - minBound;\n maxGap = maxBound - last.rect[xyDim] - last.rect[sizeDim];\n }\n\n function takeBoundsGap(gapThisBound, gapOtherBound, moveDir) {\n if (gapThisBound < 0) {\n // Move from other gap if can.\n var moveFromMaxGap = Math.min(gapOtherBound, -gapThisBound);\n\n if (moveFromMaxGap > 0) {\n shiftList(moveFromMaxGap * moveDir, 0, len);\n var remained = moveFromMaxGap + gapThisBound;\n\n if (remained < 0) {\n squeezeGaps(-remained * moveDir, 1);\n }\n } else {\n squeezeGaps(-gapThisBound * moveDir, 1);\n }\n }\n }\n\n function shiftList(delta, start, end) {\n if (delta !== 0) {\n adjusted = true;\n }\n\n for (var i = start; i < end; i++) {\n var item = list[i];\n var rect = item.rect;\n rect[xyDim] += delta;\n item.label[xyDim] += delta;\n }\n } // Squeeze gaps if the labels exceed margin.\n\n\n function squeezeGaps(delta, maxSqeezePercent) {\n var gaps = [];\n var totalGaps = 0;\n\n for (var i = 1; i < len; i++) {\n var prevItemRect = list[i - 1].rect;\n var gap = Math.max(list[i].rect[xyDim] - prevItemRect[xyDim] - prevItemRect[sizeDim], 0);\n gaps.push(gap);\n totalGaps += gap;\n }\n\n if (!totalGaps) {\n return;\n }\n\n var squeezePercent = Math.min(Math.abs(delta) / totalGaps, maxSqeezePercent);\n\n if (delta > 0) {\n for (var i = 0; i < len - 1; i++) {\n // Distribute the shift delta to all gaps.\n var movement = gaps[i] * squeezePercent; // Forward\n\n shiftList(movement, 0, i + 1);\n }\n } else {\n // Backward\n for (var i = len - 1; i > 0; i--) {\n // Distribute the shift delta to all gaps.\n var movement = gaps[i - 1] * squeezePercent;\n shiftList(-movement, i, len);\n }\n }\n }\n /**\r\n * Squeeze to allow overlap if there is no more space available.\r\n * Let other overlapping strategy like hideOverlap do the job instead of keep exceeding the bounds.\r\n */\n\n\n function squeezeWhenBailout(delta) {\n var dir = delta < 0 ? -1 : 1;\n delta = Math.abs(delta);\n var moveForEachLabel = Math.ceil(delta / (len - 1));\n\n for (var i = 0; i < len - 1; i++) {\n if (dir > 0) {\n // Forward\n shiftList(moveForEachLabel, 0, i + 1);\n } else {\n // Backward\n shiftList(-moveForEachLabel, len - i - 1, len);\n }\n\n delta -= moveForEachLabel;\n\n if (delta <= 0) {\n return;\n }\n }\n }\n\n return adjusted;\n}\n/**\r\n * Adjust labels on x direction to avoid overlap.\r\n */\n\n\nexport function shiftLayoutOnX(list, leftBound, rightBound, // If average the shifts on all labels and add them to 0\n// TODO: Not sure if should enable it.\n// Pros: The angle of lines will distribute more equally\n// Cons: In some layout. It may not what user wanted. like in pie. the label of last sector is usually changed unexpectedly.\nbalanceShift) {\n return shiftLayout(list, 'x', 'width', leftBound, rightBound, balanceShift);\n}\n/**\r\n * Adjust labels on y direction to avoid overlap.\r\n */\n\nexport function shiftLayoutOnY(list, topBound, bottomBound, // If average the shifts on all labels and add them to 0\nbalanceShift) {\n return shiftLayout(list, 'y', 'height', topBound, bottomBound, balanceShift);\n}\nexport function hideOverlap(labelList) {\n var displayedLabels = []; // TODO, render overflow visible first, put in the displayedLabels.\n\n labelList.sort(function (a, b) {\n return b.priority - a.priority;\n });\n var globalRect = new BoundingRect(0, 0, 0, 0);\n\n function hideEl(el) {\n if (!el.ignore) {\n // Show on emphasis.\n var emphasisState = el.ensureState('emphasis');\n\n if (emphasisState.ignore == null) {\n emphasisState.ignore = false;\n }\n }\n\n el.ignore = true;\n }\n\n for (var i = 0; i < labelList.length; i++) {\n var labelItem = labelList[i];\n var isAxisAligned = labelItem.axisAligned;\n var localRect = labelItem.localRect;\n var transform = labelItem.transform;\n var label = labelItem.label;\n var labelLine = labelItem.labelLine;\n globalRect.copy(labelItem.rect); // Add a threshold because layout may be aligned precisely.\n\n globalRect.width -= 0.1;\n globalRect.height -= 0.1;\n globalRect.x += 0.05;\n globalRect.y += 0.05;\n var obb = labelItem.obb;\n var overlapped = false;\n\n for (var j = 0; j < displayedLabels.length; j++) {\n var existsTextCfg = displayedLabels[j]; // Fast rejection.\n\n if (!globalRect.intersect(existsTextCfg.rect)) {\n continue;\n }\n\n if (isAxisAligned && existsTextCfg.axisAligned) {\n // Is overlapped\n overlapped = true;\n break;\n }\n\n if (!existsTextCfg.obb) {\n // If self is not axis aligned. But other is.\n existsTextCfg.obb = new OrientedBoundingRect(existsTextCfg.localRect, existsTextCfg.transform);\n }\n\n if (!obb) {\n // If self is axis aligned. But other is not.\n obb = new OrientedBoundingRect(localRect, transform);\n }\n\n if (obb.intersect(existsTextCfg.obb)) {\n overlapped = true;\n break;\n }\n } // TODO Callback to determine if this overlap should be handled?\n\n\n if (overlapped) {\n hideEl(label);\n labelLine && hideEl(labelLine);\n } else {\n label.attr('ignore', labelItem.defaultAttr.ignore);\n labelLine && labelLine.attr('ignore', labelItem.defaultAttr.labelGuideIgnore);\n displayedLabels.push(labelItem);\n }\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// TODO: move labels out of viewport.\nimport { BoundingRect, updateProps, initProps, isElementRemoved } from '../util/graphic.js';\nimport { getECData } from '../util/innerStore.js';\nimport { parsePercent } from '../util/number.js';\nimport Transformable from 'zrender/lib/core/Transformable.js';\nimport { updateLabelLinePoints, setLabelLineStyle, getLabelLineStatesModels } from './labelGuideHelper.js';\nimport { makeInner } from '../util/model.js';\nimport { retrieve2, each, keys, isFunction, filter, indexOf } from 'zrender/lib/core/util.js';\nimport { prepareLayoutList, hideOverlap, shiftLayoutOnX, shiftLayoutOnY } from './labelLayoutHelper.js';\nimport { labelInner, animateLabelValue } from './labelStyle.js';\nimport { normalizeRadian } from 'zrender/lib/contain/util.js';\n\nfunction cloneArr(points) {\n if (points) {\n var newPoints = [];\n\n for (var i = 0; i < points.length; i++) {\n newPoints.push(points[i].slice());\n }\n\n return newPoints;\n }\n}\n\nfunction prepareLayoutCallbackParams(labelItem, hostEl) {\n var label = labelItem.label;\n var labelLine = hostEl && hostEl.getTextGuideLine();\n return {\n dataIndex: labelItem.dataIndex,\n dataType: labelItem.dataType,\n seriesIndex: labelItem.seriesModel.seriesIndex,\n text: labelItem.label.style.text,\n rect: labelItem.hostRect,\n labelRect: labelItem.rect,\n // x: labelAttr.x,\n // y: labelAttr.y,\n align: label.style.align,\n verticalAlign: label.style.verticalAlign,\n labelLinePoints: cloneArr(labelLine && labelLine.shape.points)\n };\n}\n\nvar LABEL_OPTION_TO_STYLE_KEYS = ['align', 'verticalAlign', 'width', 'height', 'fontSize'];\nvar dummyTransformable = new Transformable();\nvar labelLayoutInnerStore = makeInner();\nvar labelLineAnimationStore = makeInner();\n\nfunction extendWithKeys(target, source, keys) {\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (source[key] != null) {\n target[key] = source[key];\n }\n }\n}\n\nvar LABEL_LAYOUT_PROPS = ['x', 'y', 'rotation'];\n\nvar LabelManager =\n/** @class */\nfunction () {\n function LabelManager() {\n this._labelList = [];\n this._chartViewList = [];\n }\n\n LabelManager.prototype.clearLabels = function () {\n this._labelList = [];\n this._chartViewList = [];\n };\n /**\r\n * Add label to manager\r\n */\n\n\n LabelManager.prototype._addLabel = function (dataIndex, dataType, seriesModel, label, layoutOption) {\n var labelStyle = label.style;\n var hostEl = label.__hostTarget;\n var textConfig = hostEl.textConfig || {}; // TODO: If label is in other state.\n\n var labelTransform = label.getComputedTransform();\n var labelRect = label.getBoundingRect().plain();\n BoundingRect.applyTransform(labelRect, labelRect, labelTransform);\n\n if (labelTransform) {\n dummyTransformable.setLocalTransform(labelTransform);\n } else {\n // Identity transform.\n dummyTransformable.x = dummyTransformable.y = dummyTransformable.rotation = dummyTransformable.originX = dummyTransformable.originY = 0;\n dummyTransformable.scaleX = dummyTransformable.scaleY = 1;\n }\n\n dummyTransformable.rotation = normalizeRadian(dummyTransformable.rotation);\n var host = label.__hostTarget;\n var hostRect;\n\n if (host) {\n hostRect = host.getBoundingRect().plain();\n var transform = host.getComputedTransform();\n BoundingRect.applyTransform(hostRect, hostRect, transform);\n }\n\n var labelGuide = hostRect && host.getTextGuideLine();\n\n this._labelList.push({\n label: label,\n labelLine: labelGuide,\n seriesModel: seriesModel,\n dataIndex: dataIndex,\n dataType: dataType,\n layoutOption: layoutOption,\n computedLayoutOption: null,\n rect: labelRect,\n hostRect: hostRect,\n // Label with lower priority will be hidden when overlapped\n // Use rect size as default priority\n priority: hostRect ? hostRect.width * hostRect.height : 0,\n // Save default label attributes.\n // For restore if developers want get back to default value in callback.\n defaultAttr: {\n ignore: label.ignore,\n labelGuideIgnore: labelGuide && labelGuide.ignore,\n x: dummyTransformable.x,\n y: dummyTransformable.y,\n scaleX: dummyTransformable.scaleX,\n scaleY: dummyTransformable.scaleY,\n rotation: dummyTransformable.rotation,\n style: {\n x: labelStyle.x,\n y: labelStyle.y,\n align: labelStyle.align,\n verticalAlign: labelStyle.verticalAlign,\n width: labelStyle.width,\n height: labelStyle.height,\n fontSize: labelStyle.fontSize\n },\n cursor: label.cursor,\n attachedPos: textConfig.position,\n attachedRot: textConfig.rotation\n }\n });\n };\n\n LabelManager.prototype.addLabelsOfSeries = function (chartView) {\n var _this = this;\n\n this._chartViewList.push(chartView);\n\n var seriesModel = chartView.__model;\n var layoutOption = seriesModel.get('labelLayout');\n /**\r\n * Ignore layouting if it's not specified anything.\r\n */\n\n if (!(isFunction(layoutOption) || keys(layoutOption).length)) {\n return;\n }\n\n chartView.group.traverse(function (child) {\n if (child.ignore) {\n return true; // Stop traverse descendants.\n } // Only support label being hosted on graphic elements.\n\n\n var textEl = child.getTextContent();\n var ecData = getECData(child); // Can only attach the text on the element with dataIndex\n\n if (textEl && !textEl.disableLabelLayout) {\n _this._addLabel(ecData.dataIndex, ecData.dataType, seriesModel, textEl, layoutOption);\n }\n });\n };\n\n LabelManager.prototype.updateLayoutConfig = function (api) {\n var width = api.getWidth();\n var height = api.getHeight();\n\n function createDragHandler(el, labelLineModel) {\n return function () {\n updateLabelLinePoints(el, labelLineModel);\n };\n }\n\n for (var i = 0; i < this._labelList.length; i++) {\n var labelItem = this._labelList[i];\n var label = labelItem.label;\n var hostEl = label.__hostTarget;\n var defaultLabelAttr = labelItem.defaultAttr;\n var layoutOption = void 0; // TODO A global layout option?\n\n if (isFunction(labelItem.layoutOption)) {\n layoutOption = labelItem.layoutOption(prepareLayoutCallbackParams(labelItem, hostEl));\n } else {\n layoutOption = labelItem.layoutOption;\n }\n\n layoutOption = layoutOption || {};\n labelItem.computedLayoutOption = layoutOption;\n var degreeToRadian = Math.PI / 180; // TODO hostEl should always exists.\n // Or label should not have parent because the x, y is all in global space.\n\n if (hostEl) {\n hostEl.setTextConfig({\n // Force to set local false.\n local: false,\n // Ignore position and rotation config on the host el if x or y is changed.\n position: layoutOption.x != null || layoutOption.y != null ? null : defaultLabelAttr.attachedPos,\n // Ignore rotation config on the host el if rotation is changed.\n rotation: layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.attachedRot,\n offset: [layoutOption.dx || 0, layoutOption.dy || 0]\n });\n }\n\n var needsUpdateLabelLine = false;\n\n if (layoutOption.x != null) {\n // TODO width of chart view.\n label.x = parsePercent(layoutOption.x, width);\n label.setStyle('x', 0); // Ignore movement in style. TODO: origin.\n\n needsUpdateLabelLine = true;\n } else {\n label.x = defaultLabelAttr.x;\n label.setStyle('x', defaultLabelAttr.style.x);\n }\n\n if (layoutOption.y != null) {\n // TODO height of chart view.\n label.y = parsePercent(layoutOption.y, height);\n label.setStyle('y', 0); // Ignore movement in style.\n\n needsUpdateLabelLine = true;\n } else {\n label.y = defaultLabelAttr.y;\n label.setStyle('y', defaultLabelAttr.style.y);\n }\n\n if (layoutOption.labelLinePoints) {\n var guideLine = hostEl.getTextGuideLine();\n\n if (guideLine) {\n guideLine.setShape({\n points: layoutOption.labelLinePoints\n }); // Not update\n\n needsUpdateLabelLine = false;\n }\n }\n\n var labelLayoutStore = labelLayoutInnerStore(label);\n labelLayoutStore.needsUpdateLabelLine = needsUpdateLabelLine;\n label.rotation = layoutOption.rotate != null ? layoutOption.rotate * degreeToRadian : defaultLabelAttr.rotation;\n label.scaleX = defaultLabelAttr.scaleX;\n label.scaleY = defaultLabelAttr.scaleY;\n\n for (var k = 0; k < LABEL_OPTION_TO_STYLE_KEYS.length; k++) {\n var key = LABEL_OPTION_TO_STYLE_KEYS[k];\n label.setStyle(key, layoutOption[key] != null ? layoutOption[key] : defaultLabelAttr.style[key]);\n }\n\n if (layoutOption.draggable) {\n label.draggable = true;\n label.cursor = 'move';\n\n if (hostEl) {\n var hostModel = labelItem.seriesModel;\n\n if (labelItem.dataIndex != null) {\n var data = labelItem.seriesModel.getData(labelItem.dataType);\n hostModel = data.getItemModel(labelItem.dataIndex);\n }\n\n label.on('drag', createDragHandler(hostEl, hostModel.getModel('labelLine')));\n }\n } else {\n // TODO Other drag functions?\n label.off('drag');\n label.cursor = defaultLabelAttr.cursor;\n }\n }\n };\n\n LabelManager.prototype.layout = function (api) {\n var width = api.getWidth();\n var height = api.getHeight();\n var labelList = prepareLayoutList(this._labelList);\n var labelsNeedsAdjustOnX = filter(labelList, function (item) {\n return item.layoutOption.moveOverlap === 'shiftX';\n });\n var labelsNeedsAdjustOnY = filter(labelList, function (item) {\n return item.layoutOption.moveOverlap === 'shiftY';\n });\n shiftLayoutOnX(labelsNeedsAdjustOnX, 0, width);\n shiftLayoutOnY(labelsNeedsAdjustOnY, 0, height);\n var labelsNeedsHideOverlap = filter(labelList, function (item) {\n return item.layoutOption.hideOverlap;\n });\n hideOverlap(labelsNeedsHideOverlap);\n };\n /**\r\n * Process all labels. Not only labels with layoutOption.\r\n */\n\n\n LabelManager.prototype.processLabelsOverall = function () {\n var _this = this;\n\n each(this._chartViewList, function (chartView) {\n var seriesModel = chartView.__model;\n var ignoreLabelLineUpdate = chartView.ignoreLabelLineUpdate;\n var animationEnabled = seriesModel.isAnimationEnabled();\n chartView.group.traverse(function (child) {\n if (child.ignore && !child.forceLabelAnimation) {\n return true; // Stop traverse descendants.\n }\n\n var needsUpdateLabelLine = !ignoreLabelLineUpdate;\n var label = child.getTextContent();\n\n if (!needsUpdateLabelLine && label) {\n needsUpdateLabelLine = labelLayoutInnerStore(label).needsUpdateLabelLine;\n }\n\n if (needsUpdateLabelLine) {\n _this._updateLabelLine(child, seriesModel);\n }\n\n if (animationEnabled) {\n _this._animateLabels(child, seriesModel);\n }\n });\n });\n };\n\n LabelManager.prototype._updateLabelLine = function (el, seriesModel) {\n // Only support label being hosted on graphic elements.\n var textEl = el.getTextContent(); // Update label line style.\n\n var ecData = getECData(el);\n var dataIndex = ecData.dataIndex; // Only support labelLine on the labels represent data.\n\n if (textEl && dataIndex != null) {\n var data = seriesModel.getData(ecData.dataType);\n var itemModel = data.getItemModel(dataIndex);\n var defaultStyle = {};\n var visualStyle = data.getItemVisual(dataIndex, 'style');\n\n if (visualStyle) {\n var visualType = data.getVisual('drawType'); // Default to be same with main color\n\n defaultStyle.stroke = visualStyle[visualType];\n }\n\n var labelLineModel = itemModel.getModel('labelLine');\n setLabelLineStyle(el, getLabelLineStatesModels(itemModel), defaultStyle);\n updateLabelLinePoints(el, labelLineModel);\n }\n };\n\n LabelManager.prototype._animateLabels = function (el, seriesModel) {\n var textEl = el.getTextContent();\n var guideLine = el.getTextGuideLine(); // Animate\n\n if (textEl // `forceLabelAnimation` has the highest priority\n && (el.forceLabelAnimation || !textEl.ignore && !textEl.invisible && !el.disableLabelAnimation && !isElementRemoved(el))) {\n var layoutStore = labelLayoutInnerStore(textEl);\n var oldLayout = layoutStore.oldLayout;\n var ecData = getECData(el);\n var dataIndex = ecData.dataIndex;\n var newProps = {\n x: textEl.x,\n y: textEl.y,\n rotation: textEl.rotation\n };\n var data = seriesModel.getData(ecData.dataType);\n\n if (!oldLayout) {\n textEl.attr(newProps); // Disable fade in animation if value animation is enabled.\n\n if (!labelInner(textEl).valueAnimation) {\n var oldOpacity = retrieve2(textEl.style.opacity, 1); // Fade in animation\n\n textEl.style.opacity = 0;\n initProps(textEl, {\n style: {\n opacity: oldOpacity\n }\n }, seriesModel, dataIndex);\n }\n } else {\n textEl.attr(oldLayout); // Make sure the animation from is in the right status.\n\n var prevStates = el.prevStates;\n\n if (prevStates) {\n if (indexOf(prevStates, 'select') >= 0) {\n textEl.attr(layoutStore.oldLayoutSelect);\n }\n\n if (indexOf(prevStates, 'emphasis') >= 0) {\n textEl.attr(layoutStore.oldLayoutEmphasis);\n }\n }\n\n updateProps(textEl, newProps, seriesModel, dataIndex);\n }\n\n layoutStore.oldLayout = newProps;\n\n if (textEl.states.select) {\n var layoutSelect = layoutStore.oldLayoutSelect = {};\n extendWithKeys(layoutSelect, newProps, LABEL_LAYOUT_PROPS);\n extendWithKeys(layoutSelect, textEl.states.select, LABEL_LAYOUT_PROPS);\n }\n\n if (textEl.states.emphasis) {\n var layoutEmphasis = layoutStore.oldLayoutEmphasis = {};\n extendWithKeys(layoutEmphasis, newProps, LABEL_LAYOUT_PROPS);\n extendWithKeys(layoutEmphasis, textEl.states.emphasis, LABEL_LAYOUT_PROPS);\n }\n\n animateLabelValue(textEl, dataIndex, data, seriesModel, seriesModel);\n }\n\n if (guideLine && !guideLine.ignore && !guideLine.invisible) {\n var layoutStore = labelLineAnimationStore(guideLine);\n var oldLayout = layoutStore.oldLayout;\n var newLayout = {\n points: guideLine.shape.points\n };\n\n if (!oldLayout) {\n guideLine.setShape(newLayout);\n guideLine.style.strokePercent = 0;\n initProps(guideLine, {\n style: {\n strokePercent: 1\n }\n }, seriesModel);\n } else {\n guideLine.attr({\n shape: oldLayout\n });\n updateProps(guideLine, {\n shape: newLayout\n }, seriesModel);\n }\n\n layoutStore.oldLayout = newLayout;\n }\n };\n\n return LabelManager;\n}();\n\nexport default LabelManager;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { makeInner } from '../util/model.js';\nimport LabelManager from './LabelManager.js';\nvar getLabelManager = makeInner();\nexport function installLabelLayout(registers) {\n registers.registerUpdateLifecycle('series:beforeupdate', function (ecModel, api, params) {\n // TODO api provide an namespace that can save stuff per instance\n var labelManager = getLabelManager(api).labelManager;\n\n if (!labelManager) {\n labelManager = getLabelManager(api).labelManager = new LabelManager();\n }\n\n labelManager.clearLabels();\n });\n registers.registerUpdateLifecycle('series:layoutlabels', function (ecModel, api, params) {\n var labelManager = getLabelManager(api).labelManager;\n params.updatedSeries.forEach(function (series) {\n labelManager.addLabelsOfSeries(api.getViewOfSeriesModel(series));\n });\n labelManager.updateLayoutConfig(api);\n labelManager.layout(api);\n labelManager.processLabelsOverall();\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport createSeriesData from '../helper/createSeriesData.js';\nimport SeriesModel from '../../model/Series.js';\nimport { createSymbol } from '../../util/symbol.js';\nimport { Group } from '../../util/graphic.js';\n\nvar LineSeriesModel =\n/** @class */\nfunction (_super) {\n __extends(LineSeriesModel, _super);\n\n function LineSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = LineSeriesModel.type;\n _this.hasSymbolVisual = true;\n return _this;\n }\n\n LineSeriesModel.prototype.getInitialData = function (option) {\n if (process.env.NODE_ENV !== 'production') {\n var coordSys = option.coordinateSystem;\n\n if (coordSys !== 'polar' && coordSys !== 'cartesian2d') {\n throw new Error('Line not support coordinateSystem besides cartesian and polar');\n }\n }\n\n return createSeriesData(null, this, {\n useEncodeDefaulter: true\n });\n };\n\n LineSeriesModel.prototype.getLegendIcon = function (opt) {\n var group = new Group();\n var line = createSymbol('line', 0, opt.itemHeight / 2, opt.itemWidth, 0, opt.lineStyle.stroke, false);\n group.add(line);\n line.setStyle(opt.lineStyle);\n var visualType = this.getData().getVisual('symbol');\n var visualRotate = this.getData().getVisual('symbolRotate');\n var symbolType = visualType === 'none' ? 'circle' : visualType; // Symbol size is 80% when there is a line\n\n var size = opt.itemHeight * 0.8;\n var symbol = createSymbol(symbolType, (opt.itemWidth - size) / 2, (opt.itemHeight - size) / 2, size, size, opt.itemStyle.fill);\n group.add(symbol);\n symbol.setStyle(opt.itemStyle);\n var symbolRotate = opt.iconRotate === 'inherit' ? visualRotate : opt.iconRotate || 0;\n symbol.rotation = symbolRotate * Math.PI / 180;\n symbol.setOrigin([opt.itemWidth / 2, opt.itemHeight / 2]);\n\n if (symbolType.indexOf('empty') > -1) {\n symbol.style.stroke = symbol.style.fill;\n symbol.style.fill = '#fff';\n symbol.style.lineWidth = 2;\n }\n\n return group;\n };\n\n LineSeriesModel.type = 'series.line';\n LineSeriesModel.dependencies = ['grid', 'polar'];\n LineSeriesModel.defaultOption = {\n // zlevel: 0,\n z: 3,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n clip: true,\n label: {\n position: 'top'\n },\n // itemStyle: {\n // },\n endLabel: {\n show: false,\n valueAnimation: true,\n distance: 8\n },\n lineStyle: {\n width: 2,\n type: 'solid'\n },\n emphasis: {\n scale: true\n },\n // areaStyle: {\n // origin of areaStyle. Valid values:\n // `'auto'/null/undefined`: from axisLine to data\n // `'start'`: from min to data\n // `'end'`: from data to max\n // origin: 'auto'\n // },\n // false, 'start', 'end', 'middle'\n step: false,\n // Disabled if step is true\n smooth: false,\n smoothMonotone: null,\n symbol: 'emptyCircle',\n symbolSize: 4,\n symbolRotate: null,\n showSymbol: true,\n // `false`: follow the label interval strategy.\n // `true`: show all symbols.\n // `'auto'`: If possible, show all symbols, otherwise\n // follow the label interval strategy.\n showAllSymbol: 'auto',\n // Whether to connect break point.\n connectNulls: false,\n // Sampling for large data. Can be: 'average', 'max', 'min', 'sum', 'lttb'.\n sampling: 'none',\n animationEasing: 'linear',\n // Disable progressive\n progressive: 0,\n hoverLayerThreshold: Infinity,\n universalTransition: {\n divideShape: 'clone'\n },\n triggerLineEvent: false\n };\n return LineSeriesModel;\n}(SeriesModel);\n\nexport default LineSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { retrieveRawValue } from '../../data/helper/dataProvider.js';\nimport { isArray } from 'zrender/lib/core/util.js';\n/**\r\n * @return label string. Not null/undefined\r\n */\n\nexport function getDefaultLabel(data, dataIndex) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n var len = labelDims.length; // Simple optimization (in lots of cases, label dims length is 1)\n\n if (len === 1) {\n var rawVal = retrieveRawValue(data, dataIndex, labelDims[0]);\n return rawVal != null ? rawVal + '' : null;\n } else if (len) {\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n vals.push(retrieveRawValue(data, dataIndex, labelDims[i]));\n }\n\n return vals.join(' ');\n }\n}\nexport function getDefaultInterpolatedLabel(data, interpolatedValue) {\n var labelDims = data.mapDimensionsAll('defaultedLabel');\n\n if (!isArray(interpolatedValue)) {\n return interpolatedValue + '';\n }\n\n var vals = [];\n\n for (var i = 0; i < labelDims.length; i++) {\n var dimIndex = data.getDimensionIndex(labelDims[i]);\n\n if (dimIndex >= 0) {\n vals.push(interpolatedValue[dimIndex]);\n }\n }\n\n return vals.join(' ');\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport { createSymbol, normalizeSymbolOffset, normalizeSymbolSize } from '../../util/symbol.js';\nimport * as graphic from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { enterEmphasis, leaveEmphasis, toggleHoverEmphasis } from '../../util/states.js';\nimport { getDefaultLabel } from './labelHelper.js';\nimport { extend } from 'zrender/lib/core/util.js';\nimport { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';\nimport ZRImage from 'zrender/lib/graphic/Image.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\n\nvar Symbol =\n/** @class */\nfunction (_super) {\n __extends(Symbol, _super);\n\n function Symbol(data, idx, seriesScope, opts) {\n var _this = _super.call(this) || this;\n\n _this.updateData(data, idx, seriesScope, opts);\n\n return _this;\n }\n\n Symbol.prototype._createSymbol = function (symbolType, data, idx, symbolSize, keepAspect) {\n // Remove paths created before\n this.removeAll(); // let symbolPath = createSymbol(\n // symbolType, -0.5, -0.5, 1, 1, color\n // );\n // If width/height are set too small (e.g., set to 1) on ios10\n // and macOS Sierra, a circle stroke become a rect, no matter what\n // the scale is set. So we set width/height as 2. See #4150.\n\n var symbolPath = createSymbol(symbolType, -1, -1, 2, 2, null, keepAspect);\n symbolPath.attr({\n z2: 100,\n culling: true,\n scaleX: symbolSize[0] / 2,\n scaleY: symbolSize[1] / 2\n }); // Rewrite drift method\n\n symbolPath.drift = driftSymbol;\n this._symbolType = symbolType;\n this.add(symbolPath);\n };\n /**\r\n * Stop animation\r\n * @param {boolean} toLastFrame\r\n */\n\n\n Symbol.prototype.stopSymbolAnimation = function (toLastFrame) {\n this.childAt(0).stopAnimation(null, toLastFrame);\n };\n\n Symbol.prototype.getSymbolType = function () {\n return this._symbolType;\n };\n /**\r\n * FIXME:\r\n * Caution: This method breaks the encapsulation of this module,\r\n * but it indeed brings convenience. So do not use the method\r\n * unless you detailedly know all the implements of `Symbol`,\r\n * especially animation.\r\n *\r\n * Get symbol path element.\r\n */\n\n\n Symbol.prototype.getSymbolPath = function () {\n return this.childAt(0);\n };\n /**\r\n * Highlight symbol\r\n */\n\n\n Symbol.prototype.highlight = function () {\n enterEmphasis(this.childAt(0));\n };\n /**\r\n * Downplay symbol\r\n */\n\n\n Symbol.prototype.downplay = function () {\n leaveEmphasis(this.childAt(0));\n };\n /**\r\n * @param {number} zlevel\r\n * @param {number} z\r\n */\n\n\n Symbol.prototype.setZ = function (zlevel, z) {\n var symbolPath = this.childAt(0);\n symbolPath.zlevel = zlevel;\n symbolPath.z = z;\n };\n\n Symbol.prototype.setDraggable = function (draggable, hasCursorOption) {\n var symbolPath = this.childAt(0);\n symbolPath.draggable = draggable;\n symbolPath.cursor = !hasCursorOption && draggable ? 'move' : symbolPath.cursor;\n };\n /**\r\n * Update symbol properties\r\n */\n\n\n Symbol.prototype.updateData = function (data, idx, seriesScope, opts) {\n this.silent = false;\n var symbolType = data.getItemVisual(idx, 'symbol') || 'circle';\n var seriesModel = data.hostModel;\n var symbolSize = Symbol.getSymbolSize(data, idx);\n var isInit = symbolType !== this._symbolType;\n var disableAnimation = opts && opts.disableAnimation;\n\n if (isInit) {\n var keepAspect = data.getItemVisual(idx, 'symbolKeepAspect');\n\n this._createSymbol(symbolType, data, idx, symbolSize, keepAspect);\n } else {\n var symbolPath = this.childAt(0);\n symbolPath.silent = false;\n var target = {\n scaleX: symbolSize[0] / 2,\n scaleY: symbolSize[1] / 2\n };\n disableAnimation ? symbolPath.attr(target) : graphic.updateProps(symbolPath, target, seriesModel, idx);\n saveOldStyle(symbolPath);\n }\n\n this._updateCommon(data, idx, symbolSize, seriesScope, opts);\n\n if (isInit) {\n var symbolPath = this.childAt(0);\n\n if (!disableAnimation) {\n var target = {\n scaleX: this._sizeX,\n scaleY: this._sizeY,\n style: {\n // Always fadeIn. Because it has fadeOut animation when symbol is removed..\n opacity: symbolPath.style.opacity\n }\n };\n symbolPath.scaleX = symbolPath.scaleY = 0;\n symbolPath.style.opacity = 0;\n graphic.initProps(symbolPath, target, seriesModel, idx);\n }\n }\n\n if (disableAnimation) {\n // Must stop leave transition manually if don't call initProps or updateProps.\n this.childAt(0).stopAnimation('leave');\n }\n };\n\n Symbol.prototype._updateCommon = function (data, idx, symbolSize, seriesScope, opts) {\n var symbolPath = this.childAt(0);\n var seriesModel = data.hostModel;\n var emphasisItemStyle;\n var blurItemStyle;\n var selectItemStyle;\n var focus;\n var blurScope;\n var emphasisDisabled;\n var labelStatesModels;\n var hoverScale;\n var cursorStyle;\n\n if (seriesScope) {\n emphasisItemStyle = seriesScope.emphasisItemStyle;\n blurItemStyle = seriesScope.blurItemStyle;\n selectItemStyle = seriesScope.selectItemStyle;\n focus = seriesScope.focus;\n blurScope = seriesScope.blurScope;\n labelStatesModels = seriesScope.labelStatesModels;\n hoverScale = seriesScope.hoverScale;\n cursorStyle = seriesScope.cursorStyle;\n emphasisDisabled = seriesScope.emphasisDisabled;\n }\n\n if (!seriesScope || data.hasItemOption) {\n var itemModel = seriesScope && seriesScope.itemModel ? seriesScope.itemModel : data.getItemModel(idx);\n var emphasisModel = itemModel.getModel('emphasis');\n emphasisItemStyle = emphasisModel.getModel('itemStyle').getItemStyle();\n selectItemStyle = itemModel.getModel(['select', 'itemStyle']).getItemStyle();\n blurItemStyle = itemModel.getModel(['blur', 'itemStyle']).getItemStyle();\n focus = emphasisModel.get('focus');\n blurScope = emphasisModel.get('blurScope');\n emphasisDisabled = emphasisModel.get('disabled');\n labelStatesModels = getLabelStatesModels(itemModel);\n hoverScale = emphasisModel.getShallow('scale');\n cursorStyle = itemModel.getShallow('cursor');\n }\n\n var symbolRotate = data.getItemVisual(idx, 'symbolRotate');\n symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);\n var symbolOffset = normalizeSymbolOffset(data.getItemVisual(idx, 'symbolOffset'), symbolSize);\n\n if (symbolOffset) {\n symbolPath.x = symbolOffset[0];\n symbolPath.y = symbolOffset[1];\n }\n\n cursorStyle && symbolPath.attr('cursor', cursorStyle);\n var symbolStyle = data.getItemVisual(idx, 'style');\n var visualColor = symbolStyle.fill;\n\n if (symbolPath instanceof ZRImage) {\n var pathStyle = symbolPath.style;\n symbolPath.useStyle(extend({\n // TODO other properties like x, y ?\n image: pathStyle.image,\n x: pathStyle.x,\n y: pathStyle.y,\n width: pathStyle.width,\n height: pathStyle.height\n }, symbolStyle));\n } else {\n if (symbolPath.__isEmptyBrush) {\n // fill and stroke will be swapped if it's empty.\n // So we cloned a new style to avoid it affecting the original style in visual storage.\n // TODO Better implementation. No empty logic!\n symbolPath.useStyle(extend({}, symbolStyle));\n } else {\n symbolPath.useStyle(symbolStyle);\n } // Disable decal because symbol scale will been applied on the decal.\n\n\n symbolPath.style.decal = null;\n symbolPath.setColor(visualColor, opts && opts.symbolInnerColor);\n symbolPath.style.strokeNoScale = true;\n }\n\n var liftZ = data.getItemVisual(idx, 'liftZ');\n var z2Origin = this._z2;\n\n if (liftZ != null) {\n if (z2Origin == null) {\n this._z2 = symbolPath.z2;\n symbolPath.z2 += liftZ;\n }\n } else if (z2Origin != null) {\n symbolPath.z2 = z2Origin;\n this._z2 = null;\n }\n\n var useNameLabel = opts && opts.useNameLabel;\n setLabelStyle(symbolPath, labelStatesModels, {\n labelFetcher: seriesModel,\n labelDataIndex: idx,\n defaultText: getLabelDefaultText,\n inheritColor: visualColor,\n defaultOpacity: symbolStyle.opacity\n }); // Do not execute util needed.\n\n function getLabelDefaultText(idx) {\n return useNameLabel ? data.getName(idx) : getDefaultLabel(data, idx);\n }\n\n this._sizeX = symbolSize[0] / 2;\n this._sizeY = symbolSize[1] / 2;\n var emphasisState = symbolPath.ensureState('emphasis');\n emphasisState.style = emphasisItemStyle;\n symbolPath.ensureState('select').style = selectItemStyle;\n symbolPath.ensureState('blur').style = blurItemStyle; // null / undefined / true means to use default strategy.\n // 0 / false / negative number / NaN / Infinity means no scale.\n\n var scaleRatio = hoverScale == null || hoverScale === true ? Math.max(1.1, 3 / this._sizeY) // PENDING: restrict hoverScale > 1? It seems unreasonable to scale down\n : isFinite(hoverScale) && hoverScale > 0 ? +hoverScale : 1; // always set scale to allow resetting\n\n emphasisState.scaleX = this._sizeX * scaleRatio;\n emphasisState.scaleY = this._sizeY * scaleRatio;\n this.setSymbolScale(1);\n toggleHoverEmphasis(this, focus, blurScope, emphasisDisabled);\n };\n\n Symbol.prototype.setSymbolScale = function (scale) {\n this.scaleX = this.scaleY = scale;\n };\n\n Symbol.prototype.fadeOut = function (cb, seriesModel, opt) {\n var symbolPath = this.childAt(0);\n var dataIndex = getECData(this).dataIndex;\n var animationOpt = opt && opt.animation; // Avoid mistaken hover when fading out\n\n this.silent = symbolPath.silent = true; // Not show text when animating\n\n if (opt && opt.fadeLabel) {\n var textContent = symbolPath.getTextContent();\n\n if (textContent) {\n graphic.removeElement(textContent, {\n style: {\n opacity: 0\n }\n }, seriesModel, {\n dataIndex: dataIndex,\n removeOpt: animationOpt,\n cb: function () {\n symbolPath.removeTextContent();\n }\n });\n }\n } else {\n symbolPath.removeTextContent();\n }\n\n graphic.removeElement(symbolPath, {\n style: {\n opacity: 0\n },\n scaleX: 0,\n scaleY: 0\n }, seriesModel, {\n dataIndex: dataIndex,\n cb: cb,\n removeOpt: animationOpt\n });\n };\n\n Symbol.getSymbolSize = function (data, idx) {\n return normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));\n };\n\n return Symbol;\n}(graphic.Group);\n\nfunction driftSymbol(dx, dy) {\n this.parent.drift(dx, dy);\n}\n\nexport default Symbol;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as graphic from '../../util/graphic.js';\nimport SymbolClz from './Symbol.js';\nimport { isObject } from 'zrender/lib/core/util.js';\nimport { getLabelStatesModels } from '../../label/labelStyle.js';\n\nfunction symbolNeedsDraw(data, point, idx, opt) {\n return point && !isNaN(point[0]) && !isNaN(point[1]) && !(opt.isIgnore && opt.isIgnore(idx)) // We do not set clipShape on group, because it will cut part of\n // the symbol element shape. We use the same clip shape here as\n // the line clip.\n && !(opt.clipShape && !opt.clipShape.contain(point[0], point[1])) && data.getItemVisual(idx, 'symbol') !== 'none';\n}\n\nfunction normalizeUpdateOpt(opt) {\n if (opt != null && !isObject(opt)) {\n opt = {\n isIgnore: opt\n };\n }\n\n return opt || {};\n}\n\nfunction makeSeriesScope(data) {\n var seriesModel = data.hostModel;\n var emphasisModel = seriesModel.getModel('emphasis');\n return {\n emphasisItemStyle: emphasisModel.getModel('itemStyle').getItemStyle(),\n blurItemStyle: seriesModel.getModel(['blur', 'itemStyle']).getItemStyle(),\n selectItemStyle: seriesModel.getModel(['select', 'itemStyle']).getItemStyle(),\n focus: emphasisModel.get('focus'),\n blurScope: emphasisModel.get('blurScope'),\n emphasisDisabled: emphasisModel.get('disabled'),\n hoverScale: emphasisModel.get('scale'),\n labelStatesModels: getLabelStatesModels(seriesModel),\n cursorStyle: seriesModel.get('cursor')\n };\n}\n\nvar SymbolDraw =\n/** @class */\nfunction () {\n function SymbolDraw(SymbolCtor) {\n this.group = new graphic.Group();\n this._SymbolCtor = SymbolCtor || SymbolClz;\n }\n /**\r\n * Update symbols draw by new data\r\n */\n\n\n SymbolDraw.prototype.updateData = function (data, opt) {\n // Remove progressive els.\n this._progressiveEls = null;\n opt = normalizeUpdateOpt(opt);\n var group = this.group;\n var seriesModel = data.hostModel;\n var oldData = this._data;\n var SymbolCtor = this._SymbolCtor;\n var disableAnimation = opt.disableAnimation;\n var seriesScope = makeSeriesScope(data);\n var symbolUpdateOpt = {\n disableAnimation: disableAnimation\n };\n\n var getSymbolPoint = opt.getSymbolPoint || function (idx) {\n return data.getItemLayout(idx);\n }; // There is no oldLineData only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n\n if (!oldData) {\n group.removeAll();\n }\n\n data.diff(oldData).add(function (newIdx) {\n var point = getSymbolPoint(newIdx);\n\n if (symbolNeedsDraw(data, point, newIdx, opt)) {\n var symbolEl = new SymbolCtor(data, newIdx, seriesScope, symbolUpdateOpt);\n symbolEl.setPosition(point);\n data.setItemGraphicEl(newIdx, symbolEl);\n group.add(symbolEl);\n }\n }).update(function (newIdx, oldIdx) {\n var symbolEl = oldData.getItemGraphicEl(oldIdx);\n var point = getSymbolPoint(newIdx);\n\n if (!symbolNeedsDraw(data, point, newIdx, opt)) {\n group.remove(symbolEl);\n return;\n }\n\n var newSymbolType = data.getItemVisual(newIdx, 'symbol') || 'circle';\n var oldSymbolType = symbolEl && symbolEl.getSymbolType && symbolEl.getSymbolType();\n\n if (!symbolEl // Create a new if symbol type changed.\n || oldSymbolType && oldSymbolType !== newSymbolType) {\n group.remove(symbolEl);\n symbolEl = new SymbolCtor(data, newIdx, seriesScope, symbolUpdateOpt);\n symbolEl.setPosition(point);\n } else {\n symbolEl.updateData(data, newIdx, seriesScope, symbolUpdateOpt);\n var target = {\n x: point[0],\n y: point[1]\n };\n disableAnimation ? symbolEl.attr(target) : graphic.updateProps(symbolEl, target, seriesModel);\n } // Add back\n\n\n group.add(symbolEl);\n data.setItemGraphicEl(newIdx, symbolEl);\n }).remove(function (oldIdx) {\n var el = oldData.getItemGraphicEl(oldIdx);\n el && el.fadeOut(function () {\n group.remove(el);\n }, seriesModel);\n }).execute();\n this._getSymbolPoint = getSymbolPoint;\n this._data = data;\n };\n\n ;\n\n SymbolDraw.prototype.updateLayout = function () {\n var _this = this;\n\n var data = this._data;\n\n if (data) {\n // Not use animation\n data.eachItemGraphicEl(function (el, idx) {\n var point = _this._getSymbolPoint(idx);\n\n el.setPosition(point);\n el.markRedraw();\n });\n }\n };\n\n ;\n\n SymbolDraw.prototype.incrementalPrepareUpdate = function (data) {\n this._seriesScope = makeSeriesScope(data);\n this._data = null;\n this.group.removeAll();\n };\n\n ;\n /**\r\n * Update symbols draw by new data\r\n */\n\n SymbolDraw.prototype.incrementalUpdate = function (taskParams, data, opt) {\n // Clear\n this._progressiveEls = [];\n opt = normalizeUpdateOpt(opt);\n\n function updateIncrementalAndHover(el) {\n if (!el.isGroup) {\n el.incremental = true;\n el.ensureState('emphasis').hoverLayer = true;\n }\n }\n\n for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n var point = data.getItemLayout(idx);\n\n if (symbolNeedsDraw(data, point, idx, opt)) {\n var el = new this._SymbolCtor(data, idx, this._seriesScope);\n el.traverse(updateIncrementalAndHover);\n el.setPosition(point);\n this.group.add(el);\n data.setItemGraphicEl(idx, el);\n\n this._progressiveEls.push(el);\n }\n }\n };\n\n ;\n\n SymbolDraw.prototype.eachRendered = function (cb) {\n graphic.traverseElements(this._progressiveEls || this.group, cb);\n };\n\n SymbolDraw.prototype.remove = function (enableAnimation) {\n var group = this.group;\n var data = this._data; // Incremental model do not have this._data.\n\n if (data && enableAnimation) {\n data.eachItemGraphicEl(function (el) {\n el.fadeOut(function () {\n group.remove(el);\n }, data.hostModel);\n });\n } else {\n group.removeAll();\n }\n };\n\n ;\n return SymbolDraw;\n}();\n\nexport default SymbolDraw;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isDimensionStacked } from '../../data/helper/dataStackHelper.js';\nimport { isNumber, map } from 'zrender/lib/core/util.js';\nexport function prepareDataCoordInfo(coordSys, data, valueOrigin) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var valueStart = getValueStart(valueAxis, valueOrigin);\n var baseAxisDim = baseAxis.dim;\n var valueAxisDim = valueAxis.dim;\n var valueDim = data.mapDimension(valueAxisDim);\n var baseDim = data.mapDimension(baseAxisDim);\n var baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;\n var dims = map(coordSys.dimensions, function (coordDim) {\n return data.mapDimension(coordDim);\n });\n var stacked = false;\n var stackResultDim = data.getCalculationInfo('stackResultDimension');\n\n if (isDimensionStacked(data, dims[0]\n /* , dims[1] */\n )) {\n // jshint ignore:line\n stacked = true;\n dims[0] = stackResultDim;\n }\n\n if (isDimensionStacked(data, dims[1]\n /* , dims[0] */\n )) {\n // jshint ignore:line\n stacked = true;\n dims[1] = stackResultDim;\n }\n\n return {\n dataDimsForPoint: dims,\n valueStart: valueStart,\n valueAxisDim: valueAxisDim,\n baseAxisDim: baseAxisDim,\n stacked: !!stacked,\n valueDim: valueDim,\n baseDim: baseDim,\n baseDataOffset: baseDataOffset,\n stackedOverDimension: data.getCalculationInfo('stackedOverDimension')\n };\n}\n\nfunction getValueStart(valueAxis, valueOrigin) {\n var valueStart = 0;\n var extent = valueAxis.scale.getExtent();\n\n if (valueOrigin === 'start') {\n valueStart = extent[0];\n } else if (valueOrigin === 'end') {\n valueStart = extent[1];\n } // If origin is specified as a number, use it as\n // valueStart directly\n else if (isNumber(valueOrigin) && !isNaN(valueOrigin)) {\n valueStart = valueOrigin;\n } // auto\n else {\n // Both positive\n if (extent[0] > 0) {\n valueStart = extent[0];\n } // Both negative\n else if (extent[1] < 0) {\n valueStart = extent[1];\n } // If is one positive, and one negative, onZero shall be true\n\n }\n\n return valueStart;\n}\n\nexport function getStackedOnPoint(dataCoordInfo, coordSys, data, idx) {\n var value = NaN;\n\n if (dataCoordInfo.stacked) {\n value = data.get(data.getCalculationInfo('stackedOverDimension'), idx);\n }\n\n if (isNaN(value)) {\n value = dataCoordInfo.valueStart;\n }\n\n var baseDataOffset = dataCoordInfo.baseDataOffset;\n var stackedData = [];\n stackedData[baseDataOffset] = data.get(dataCoordInfo.baseDim, idx);\n stackedData[1 - baseDataOffset] = value;\n return coordSys.dataToPoint(stackedData);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { prepareDataCoordInfo, getStackedOnPoint } from './helper.js';\nimport { createFloat32Array } from '../../util/vendor.js';\n\nfunction diffData(oldData, newData) {\n var diffResult = [];\n newData.diff(oldData).add(function (idx) {\n diffResult.push({\n cmd: '+',\n idx: idx\n });\n }).update(function (newIdx, oldIdx) {\n diffResult.push({\n cmd: '=',\n idx: oldIdx,\n idx1: newIdx\n });\n }).remove(function (idx) {\n diffResult.push({\n cmd: '-',\n idx: idx\n });\n }).execute();\n return diffResult;\n}\n\nexport default function lineAnimationDiff(oldData, newData, oldStackedOnPoints, newStackedOnPoints, oldCoordSys, newCoordSys, oldValueOrigin, newValueOrigin) {\n var diff = diffData(oldData, newData); // let newIdList = newData.mapArray(newData.getId);\n // let oldIdList = oldData.mapArray(oldData.getId);\n // convertToIntId(newIdList, oldIdList);\n // // FIXME One data ?\n // diff = arrayDiff(oldIdList, newIdList);\n\n var currPoints = [];\n var nextPoints = []; // Points for stacking base line\n\n var currStackedPoints = [];\n var nextStackedPoints = [];\n var status = [];\n var sortedIndices = [];\n var rawIndices = [];\n var newDataOldCoordInfo = prepareDataCoordInfo(oldCoordSys, newData, oldValueOrigin); // const oldDataNewCoordInfo = prepareDataCoordInfo(newCoordSys, oldData, newValueOrigin);\n\n var oldPoints = oldData.getLayout('points') || [];\n var newPoints = newData.getLayout('points') || [];\n\n for (var i = 0; i < diff.length; i++) {\n var diffItem = diff[i];\n var pointAdded = true;\n var oldIdx2 = void 0;\n var newIdx2 = void 0; // FIXME, animation is not so perfect when dataZoom window moves fast\n // Which is in case remvoing or add more than one data in the tail or head\n\n switch (diffItem.cmd) {\n case '=':\n oldIdx2 = diffItem.idx * 2;\n newIdx2 = diffItem.idx1 * 2;\n var currentX = oldPoints[oldIdx2];\n var currentY = oldPoints[oldIdx2 + 1];\n var nextX = newPoints[newIdx2];\n var nextY = newPoints[newIdx2 + 1]; // If previous data is NaN, use next point directly\n\n if (isNaN(currentX) || isNaN(currentY)) {\n currentX = nextX;\n currentY = nextY;\n }\n\n currPoints.push(currentX, currentY);\n nextPoints.push(nextX, nextY);\n currStackedPoints.push(oldStackedOnPoints[oldIdx2], oldStackedOnPoints[oldIdx2 + 1]);\n nextStackedPoints.push(newStackedOnPoints[newIdx2], newStackedOnPoints[newIdx2 + 1]);\n rawIndices.push(newData.getRawIndex(diffItem.idx1));\n break;\n\n case '+':\n var newIdx = diffItem.idx;\n var newDataDimsForPoint = newDataOldCoordInfo.dataDimsForPoint;\n var oldPt = oldCoordSys.dataToPoint([newData.get(newDataDimsForPoint[0], newIdx), newData.get(newDataDimsForPoint[1], newIdx)]);\n newIdx2 = newIdx * 2;\n currPoints.push(oldPt[0], oldPt[1]);\n nextPoints.push(newPoints[newIdx2], newPoints[newIdx2 + 1]);\n var stackedOnPoint = getStackedOnPoint(newDataOldCoordInfo, oldCoordSys, newData, newIdx);\n currStackedPoints.push(stackedOnPoint[0], stackedOnPoint[1]);\n nextStackedPoints.push(newStackedOnPoints[newIdx2], newStackedOnPoints[newIdx2 + 1]);\n rawIndices.push(newData.getRawIndex(newIdx));\n break;\n\n case '-':\n pointAdded = false;\n } // Original indices\n\n\n if (pointAdded) {\n status.push(diffItem);\n sortedIndices.push(sortedIndices.length);\n }\n } // Diff result may be crossed if all items are changed\n // Sort by data index\n\n\n sortedIndices.sort(function (a, b) {\n return rawIndices[a] - rawIndices[b];\n });\n var len = currPoints.length;\n var sortedCurrPoints = createFloat32Array(len);\n var sortedNextPoints = createFloat32Array(len);\n var sortedCurrStackedPoints = createFloat32Array(len);\n var sortedNextStackedPoints = createFloat32Array(len);\n var sortedStatus = [];\n\n for (var i = 0; i < sortedIndices.length; i++) {\n var idx = sortedIndices[i];\n var i2 = i * 2;\n var idx2 = idx * 2;\n sortedCurrPoints[i2] = currPoints[idx2];\n sortedCurrPoints[i2 + 1] = currPoints[idx2 + 1];\n sortedNextPoints[i2] = nextPoints[idx2];\n sortedNextPoints[i2 + 1] = nextPoints[idx2 + 1];\n sortedCurrStackedPoints[i2] = currStackedPoints[idx2];\n sortedCurrStackedPoints[i2 + 1] = currStackedPoints[idx2 + 1];\n sortedNextStackedPoints[i2] = nextStackedPoints[idx2];\n sortedNextStackedPoints[i2 + 1] = nextStackedPoints[idx2 + 1];\n sortedStatus[i] = status[idx];\n }\n\n return {\n current: sortedCurrPoints,\n next: sortedNextPoints,\n stackedOnCurrent: sortedCurrStackedPoints,\n stackedOnNext: sortedNextStackedPoints,\n status: sortedStatus\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\"; // Poly path support NaN point\n\nimport Path from 'zrender/lib/graphic/Path.js';\nimport PathProxy from 'zrender/lib/core/PathProxy.js';\nimport { cubicRootAt, cubicAt } from 'zrender/lib/core/curve.js';\nvar mathMin = Math.min;\nvar mathMax = Math.max;\n\nfunction isPointNull(x, y) {\n return isNaN(x) || isNaN(y);\n}\n/**\r\n * Draw smoothed line in non-monotone, in may cause undesired curve in extreme\r\n * situations. This should be used when points are non-monotone neither in x or\r\n * y dimension.\r\n */\n\n\nfunction drawSegment(ctx, points, start, segLen, allLen, dir, smooth, smoothMonotone, connectNulls) {\n var prevX;\n var prevY;\n var cpx0;\n var cpy0;\n var cpx1;\n var cpy1;\n var idx = start;\n var k = 0;\n\n for (; k < segLen; k++) {\n var x = points[idx * 2];\n var y = points[idx * 2 + 1];\n\n if (idx >= allLen || idx < 0) {\n break;\n }\n\n if (isPointNull(x, y)) {\n if (connectNulls) {\n idx += dir;\n continue;\n }\n\n break;\n }\n\n if (idx === start) {\n ctx[dir > 0 ? 'moveTo' : 'lineTo'](x, y);\n cpx0 = x;\n cpy0 = y;\n } else {\n var dx = x - prevX;\n var dy = y - prevY; // Ignore tiny segment.\n\n if (dx * dx + dy * dy < 0.5) {\n idx += dir;\n continue;\n }\n\n if (smooth > 0) {\n var nextIdx = idx + dir;\n var nextX = points[nextIdx * 2];\n var nextY = points[nextIdx * 2 + 1]; // Ignore duplicate point\n\n while (nextX === x && nextY === y && k < segLen) {\n k++;\n nextIdx += dir;\n idx += dir;\n nextX = points[nextIdx * 2];\n nextY = points[nextIdx * 2 + 1];\n x = points[idx * 2];\n y = points[idx * 2 + 1];\n dx = x - prevX;\n dy = y - prevY;\n }\n\n var tmpK = k + 1;\n\n if (connectNulls) {\n // Find next point not null\n while (isPointNull(nextX, nextY) && tmpK < segLen) {\n tmpK++;\n nextIdx += dir;\n nextX = points[nextIdx * 2];\n nextY = points[nextIdx * 2 + 1];\n }\n }\n\n var ratioNextSeg = 0.5;\n var vx = 0;\n var vy = 0;\n var nextCpx0 = void 0;\n var nextCpy0 = void 0; // Is last point\n\n if (tmpK >= segLen || isPointNull(nextX, nextY)) {\n cpx1 = x;\n cpy1 = y;\n } else {\n vx = nextX - prevX;\n vy = nextY - prevY;\n var dx0 = x - prevX;\n var dx1 = nextX - x;\n var dy0 = y - prevY;\n var dy1 = nextY - y;\n var lenPrevSeg = void 0;\n var lenNextSeg = void 0;\n\n if (smoothMonotone === 'x') {\n lenPrevSeg = Math.abs(dx0);\n lenNextSeg = Math.abs(dx1);\n var dir_1 = vx > 0 ? 1 : -1;\n cpx1 = x - dir_1 * lenPrevSeg * smooth;\n cpy1 = y;\n nextCpx0 = x + dir_1 * lenNextSeg * smooth;\n nextCpy0 = y;\n } else if (smoothMonotone === 'y') {\n lenPrevSeg = Math.abs(dy0);\n lenNextSeg = Math.abs(dy1);\n var dir_2 = vy > 0 ? 1 : -1;\n cpx1 = x;\n cpy1 = y - dir_2 * lenPrevSeg * smooth;\n nextCpx0 = x;\n nextCpy0 = y + dir_2 * lenNextSeg * smooth;\n } else {\n lenPrevSeg = Math.sqrt(dx0 * dx0 + dy0 * dy0);\n lenNextSeg = Math.sqrt(dx1 * dx1 + dy1 * dy1); // Use ratio of seg length\n\n ratioNextSeg = lenNextSeg / (lenNextSeg + lenPrevSeg);\n cpx1 = x - vx * smooth * (1 - ratioNextSeg);\n cpy1 = y - vy * smooth * (1 - ratioNextSeg); // cp0 of next segment\n\n nextCpx0 = x + vx * smooth * ratioNextSeg;\n nextCpy0 = y + vy * smooth * ratioNextSeg; // Smooth constraint between point and next point.\n // Avoid exceeding extreme after smoothing.\n\n nextCpx0 = mathMin(nextCpx0, mathMax(nextX, x));\n nextCpy0 = mathMin(nextCpy0, mathMax(nextY, y));\n nextCpx0 = mathMax(nextCpx0, mathMin(nextX, x));\n nextCpy0 = mathMax(nextCpy0, mathMin(nextY, y)); // Reclaculate cp1 based on the adjusted cp0 of next seg.\n\n vx = nextCpx0 - x;\n vy = nextCpy0 - y;\n cpx1 = x - vx * lenPrevSeg / lenNextSeg;\n cpy1 = y - vy * lenPrevSeg / lenNextSeg; // Smooth constraint between point and prev point.\n // Avoid exceeding extreme after smoothing.\n\n cpx1 = mathMin(cpx1, mathMax(prevX, x));\n cpy1 = mathMin(cpy1, mathMax(prevY, y));\n cpx1 = mathMax(cpx1, mathMin(prevX, x));\n cpy1 = mathMax(cpy1, mathMin(prevY, y)); // Adjust next cp0 again.\n\n vx = x - cpx1;\n vy = y - cpy1;\n nextCpx0 = x + vx * lenNextSeg / lenPrevSeg;\n nextCpy0 = y + vy * lenNextSeg / lenPrevSeg;\n }\n }\n\n ctx.bezierCurveTo(cpx0, cpy0, cpx1, cpy1, x, y);\n cpx0 = nextCpx0;\n cpy0 = nextCpy0;\n } else {\n ctx.lineTo(x, y);\n }\n }\n\n prevX = x;\n prevY = y;\n idx += dir;\n }\n\n return k;\n}\n\nvar ECPolylineShape =\n/** @class */\nfunction () {\n function ECPolylineShape() {\n this.smooth = 0;\n this.smoothConstraint = true;\n }\n\n return ECPolylineShape;\n}();\n\nvar ECPolyline =\n/** @class */\nfunction (_super) {\n __extends(ECPolyline, _super);\n\n function ECPolyline(opts) {\n var _this = _super.call(this, opts) || this;\n\n _this.type = 'ec-polyline';\n return _this;\n }\n\n ECPolyline.prototype.getDefaultStyle = function () {\n return {\n stroke: '#000',\n fill: null\n };\n };\n\n ECPolyline.prototype.getDefaultShape = function () {\n return new ECPolylineShape();\n };\n\n ECPolyline.prototype.buildPath = function (ctx, shape) {\n var points = shape.points;\n var i = 0;\n var len = points.length / 2; // const result = getBoundingBox(points, shape.smoothConstraint);\n\n if (shape.connectNulls) {\n // Must remove first and last null values avoid draw error in polygon\n for (; len > 0; len--) {\n if (!isPointNull(points[len * 2 - 2], points[len * 2 - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i * 2], points[i * 2 + 1])) {\n break;\n }\n }\n }\n\n while (i < len) {\n i += drawSegment(ctx, points, i, len, len, 1, shape.smooth, shape.smoothMonotone, shape.connectNulls) + 1;\n }\n };\n\n ECPolyline.prototype.getPointOn = function (xOrY, dim) {\n if (!this.path) {\n this.createPathProxy();\n this.buildPath(this.path, this.shape);\n }\n\n var path = this.path;\n var data = path.data;\n var CMD = PathProxy.CMD;\n var x0;\n var y0;\n var isDimX = dim === 'x';\n var roots = [];\n\n for (var i = 0; i < data.length;) {\n var cmd = data[i++];\n var x = void 0;\n var y = void 0;\n var x2 = void 0;\n var y2 = void 0;\n var x3 = void 0;\n var y3 = void 0;\n var t = void 0;\n\n switch (cmd) {\n case CMD.M:\n x0 = data[i++];\n y0 = data[i++];\n break;\n\n case CMD.L:\n x = data[i++];\n y = data[i++];\n t = isDimX ? (xOrY - x0) / (x - x0) : (xOrY - y0) / (y - y0);\n\n if (t <= 1 && t >= 0) {\n var val = isDimX ? (y - y0) * t + y0 : (x - x0) * t + x0;\n return isDimX ? [xOrY, val] : [val, xOrY];\n }\n\n x0 = x;\n y0 = y;\n break;\n\n case CMD.C:\n x = data[i++];\n y = data[i++];\n x2 = data[i++];\n y2 = data[i++];\n x3 = data[i++];\n y3 = data[i++];\n var nRoot = isDimX ? cubicRootAt(x0, x, x2, x3, xOrY, roots) : cubicRootAt(y0, y, y2, y3, xOrY, roots);\n\n if (nRoot > 0) {\n for (var i_1 = 0; i_1 < nRoot; i_1++) {\n var t_1 = roots[i_1];\n\n if (t_1 <= 1 && t_1 >= 0) {\n var val = isDimX ? cubicAt(y0, y, y2, y3, t_1) : cubicAt(x0, x, x2, x3, t_1);\n return isDimX ? [xOrY, val] : [val, xOrY];\n }\n }\n }\n\n x0 = x3;\n y0 = y3;\n break;\n }\n }\n };\n\n return ECPolyline;\n}(Path);\n\nexport { ECPolyline };\n\nvar ECPolygonShape =\n/** @class */\nfunction (_super) {\n __extends(ECPolygonShape, _super);\n\n function ECPolygonShape() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n return ECPolygonShape;\n}(ECPolylineShape);\n\nvar ECPolygon =\n/** @class */\nfunction (_super) {\n __extends(ECPolygon, _super);\n\n function ECPolygon(opts) {\n var _this = _super.call(this, opts) || this;\n\n _this.type = 'ec-polygon';\n return _this;\n }\n\n ECPolygon.prototype.getDefaultShape = function () {\n return new ECPolygonShape();\n };\n\n ECPolygon.prototype.buildPath = function (ctx, shape) {\n var points = shape.points;\n var stackedOnPoints = shape.stackedOnPoints;\n var i = 0;\n var len = points.length / 2;\n var smoothMonotone = shape.smoothMonotone;\n\n if (shape.connectNulls) {\n // Must remove first and last null values avoid draw error in polygon\n for (; len > 0; len--) {\n if (!isPointNull(points[len * 2 - 2], points[len * 2 - 1])) {\n break;\n }\n }\n\n for (; i < len; i++) {\n if (!isPointNull(points[i * 2], points[i * 2 + 1])) {\n break;\n }\n }\n }\n\n while (i < len) {\n var k = drawSegment(ctx, points, i, len, len, 1, shape.smooth, smoothMonotone, shape.connectNulls);\n drawSegment(ctx, stackedOnPoints, i + k - 1, k, len, -1, shape.stackedOnSmooth, smoothMonotone, shape.connectNulls);\n i += k + 1;\n ctx.closePath();\n }\n };\n\n return ECPolygon;\n}(Path);\n\nexport { ECPolygon };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as graphic from '../../util/graphic.js';\nimport { round } from '../../util/number.js';\nimport { isFunction } from 'zrender/lib/core/util.js';\n\nfunction createGridClipPath(cartesian, hasAnimation, seriesModel, done, during) {\n var rect = cartesian.getArea();\n var x = rect.x;\n var y = rect.y;\n var width = rect.width;\n var height = rect.height;\n var lineWidth = seriesModel.get(['lineStyle', 'width']) || 2; // Expand the clip path a bit to avoid the border is clipped and looks thinner\n\n x -= lineWidth / 2;\n y -= lineWidth / 2;\n width += lineWidth;\n height += lineWidth; // fix: https://github.com/apache/incubator-echarts/issues/11369\n\n x = Math.floor(x);\n width = Math.round(width);\n var clipPath = new graphic.Rect({\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n }\n });\n\n if (hasAnimation) {\n var baseAxis = cartesian.getBaseAxis();\n var isHorizontal = baseAxis.isHorizontal();\n var isAxisInversed = baseAxis.inverse;\n\n if (isHorizontal) {\n if (isAxisInversed) {\n clipPath.shape.x += width;\n }\n\n clipPath.shape.width = 0;\n } else {\n if (!isAxisInversed) {\n clipPath.shape.y += height;\n }\n\n clipPath.shape.height = 0;\n }\n\n var duringCb = isFunction(during) ? function (percent) {\n during(percent, clipPath);\n } : null;\n graphic.initProps(clipPath, {\n shape: {\n width: width,\n height: height,\n x: x,\n y: y\n }\n }, seriesModel, null, done, duringCb);\n }\n\n return clipPath;\n}\n\nfunction createPolarClipPath(polar, hasAnimation, seriesModel) {\n var sectorArea = polar.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n\n var r0 = round(sectorArea.r0, 1);\n var r = round(sectorArea.r, 1);\n var clipPath = new graphic.Sector({\n shape: {\n cx: round(polar.cx, 1),\n cy: round(polar.cy, 1),\n r0: r0,\n r: r,\n startAngle: sectorArea.startAngle,\n endAngle: sectorArea.endAngle,\n clockwise: sectorArea.clockwise\n }\n });\n\n if (hasAnimation) {\n var isRadial = polar.getBaseAxis().dim === 'angle';\n\n if (isRadial) {\n clipPath.shape.endAngle = sectorArea.startAngle;\n } else {\n clipPath.shape.r = r0;\n }\n\n graphic.initProps(clipPath, {\n shape: {\n endAngle: sectorArea.endAngle,\n r: r\n }\n }, seriesModel);\n }\n\n return clipPath;\n}\n\nfunction createClipPath(coordSys, hasAnimation, seriesModel, done, during) {\n if (!coordSys) {\n return null;\n } else if (coordSys.type === 'polar') {\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n } else if (coordSys.type === 'cartesian2d') {\n return createGridClipPath(coordSys, hasAnimation, seriesModel, done, during);\n }\n\n return null;\n}\n\nexport { createGridClipPath, createPolarClipPath, createClipPath };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport function isCoordinateSystemType(coordSys, type) {\n return coordSys.type === type;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\"; // FIXME step not support polar\n\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport SymbolDraw from '../helper/SymbolDraw.js';\nimport SymbolClz from '../helper/Symbol.js';\nimport lineAnimationDiff from './lineAnimationDiff.js';\nimport * as graphic from '../../util/graphic.js';\nimport * as modelUtil from '../../util/model.js';\nimport { ECPolyline, ECPolygon } from './poly.js';\nimport ChartView from '../../view/Chart.js';\nimport { prepareDataCoordInfo, getStackedOnPoint } from './helper.js';\nimport { createGridClipPath, createPolarClipPath } from '../helper/createClipPathFromCoordSys.js';\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\nimport { setStatesStylesFromModel, setStatesFlag, toggleHoverEmphasis, SPECIAL_STATES } from '../../util/states.js';\nimport { setLabelStyle, getLabelStatesModels, labelInner } from '../../label/labelStyle.js';\nimport { getDefaultLabel, getDefaultInterpolatedLabel } from '../helper/labelHelper.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { createFloat32Array } from '../../util/vendor.js';\nimport { convertToColorString } from '../../util/format.js';\nimport { lerp } from 'zrender/lib/tool/color.js';\n\nfunction isPointsSame(points1, points2) {\n if (points1.length !== points2.length) {\n return;\n }\n\n for (var i = 0; i < points1.length; i++) {\n if (points1[i] !== points2[i]) {\n return;\n }\n }\n\n return true;\n}\n\nfunction bboxFromPoints(points) {\n var minX = Infinity;\n var minY = Infinity;\n var maxX = -Infinity;\n var maxY = -Infinity;\n\n for (var i = 0; i < points.length;) {\n var x = points[i++];\n var y = points[i++];\n\n if (!isNaN(x)) {\n minX = Math.min(x, minX);\n maxX = Math.max(x, maxX);\n }\n\n if (!isNaN(y)) {\n minY = Math.min(y, minY);\n maxY = Math.max(y, maxY);\n }\n }\n\n return [[minX, minY], [maxX, maxY]];\n}\n\nfunction getBoundingDiff(points1, points2) {\n var _a = bboxFromPoints(points1),\n min1 = _a[0],\n max1 = _a[1];\n\n var _b = bboxFromPoints(points2),\n min2 = _b[0],\n max2 = _b[1]; // Get a max value from each corner of two boundings.\n\n\n return Math.max(Math.abs(min1[0] - min2[0]), Math.abs(min1[1] - min2[1]), Math.abs(max1[0] - max2[0]), Math.abs(max1[1] - max2[1]));\n}\n\nfunction getSmooth(smooth) {\n return zrUtil.isNumber(smooth) ? smooth : smooth ? 0.5 : 0;\n}\n\nfunction getStackedOnPoints(coordSys, data, dataCoordInfo) {\n if (!dataCoordInfo.valueDim) {\n return [];\n }\n\n var len = data.count();\n var points = createFloat32Array(len * 2);\n\n for (var idx = 0; idx < len; idx++) {\n var pt = getStackedOnPoint(dataCoordInfo, coordSys, data, idx);\n points[idx * 2] = pt[0];\n points[idx * 2 + 1] = pt[1];\n }\n\n return points;\n}\n\nfunction turnPointsIntoStep(points, coordSys, stepTurnAt, connectNulls) {\n var baseAxis = coordSys.getBaseAxis();\n var baseIndex = baseAxis.dim === 'x' || baseAxis.dim === 'radius' ? 0 : 1;\n var stepPoints = [];\n var i = 0;\n var stepPt = [];\n var pt = [];\n var nextPt = [];\n var filteredPoints = [];\n\n if (connectNulls) {\n for (i = 0; i < points.length; i += 2) {\n if (!isNaN(points[i]) && !isNaN(points[i + 1])) {\n filteredPoints.push(points[i], points[i + 1]);\n }\n }\n\n points = filteredPoints;\n }\n\n for (i = 0; i < points.length - 2; i += 2) {\n nextPt[0] = points[i + 2];\n nextPt[1] = points[i + 3];\n pt[0] = points[i];\n pt[1] = points[i + 1];\n stepPoints.push(pt[0], pt[1]);\n\n switch (stepTurnAt) {\n case 'end':\n stepPt[baseIndex] = nextPt[baseIndex];\n stepPt[1 - baseIndex] = pt[1 - baseIndex];\n stepPoints.push(stepPt[0], stepPt[1]);\n break;\n\n case 'middle':\n var middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;\n var stepPt2 = [];\n stepPt[baseIndex] = stepPt2[baseIndex] = middle;\n stepPt[1 - baseIndex] = pt[1 - baseIndex];\n stepPt2[1 - baseIndex] = nextPt[1 - baseIndex];\n stepPoints.push(stepPt[0], stepPt[1]);\n stepPoints.push(stepPt2[0], stepPt2[1]);\n break;\n\n default:\n // default is start\n stepPt[baseIndex] = pt[baseIndex];\n stepPt[1 - baseIndex] = nextPt[1 - baseIndex];\n stepPoints.push(stepPt[0], stepPt[1]);\n }\n } // Last points\n\n\n stepPoints.push(points[i++], points[i++]);\n return stepPoints;\n}\n/**\r\n * Clip color stops to edge. Avoid creating too large gradients.\r\n * Which may lead to blurry when GPU acceleration is enabled. See #15680\r\n *\r\n * The stops has been sorted from small to large.\r\n */\n\n\nfunction clipColorStops(colorStops, maxSize) {\n var newColorStops = [];\n var len = colorStops.length; // coord will always < 0 in prevOutOfRangeColorStop.\n\n var prevOutOfRangeColorStop;\n var prevInRangeColorStop;\n\n function lerpStop(stop0, stop1, clippedCoord) {\n var coord0 = stop0.coord;\n var p = (clippedCoord - coord0) / (stop1.coord - coord0);\n var color = lerp(p, [stop0.color, stop1.color]);\n return {\n coord: clippedCoord,\n color: color\n };\n }\n\n for (var i = 0; i < len; i++) {\n var stop_1 = colorStops[i];\n var coord = stop_1.coord;\n\n if (coord < 0) {\n prevOutOfRangeColorStop = stop_1;\n } else if (coord > maxSize) {\n if (prevInRangeColorStop) {\n newColorStops.push(lerpStop(prevInRangeColorStop, stop_1, maxSize));\n } else if (prevOutOfRangeColorStop) {\n // If there are two stops and coord range is between these two stops\n newColorStops.push(lerpStop(prevOutOfRangeColorStop, stop_1, 0), lerpStop(prevOutOfRangeColorStop, stop_1, maxSize));\n } // All following stop will be out of range. So just ignore them.\n\n\n break;\n } else {\n if (prevOutOfRangeColorStop) {\n newColorStops.push(lerpStop(prevOutOfRangeColorStop, stop_1, 0)); // Reset\n\n prevOutOfRangeColorStop = null;\n }\n\n newColorStops.push(stop_1);\n prevInRangeColorStop = stop_1;\n }\n }\n\n return newColorStops;\n}\n\nfunction getVisualGradient(data, coordSys, api) {\n var visualMetaList = data.getVisual('visualMeta');\n\n if (!visualMetaList || !visualMetaList.length || !data.count()) {\n // When data.count() is 0, gradient range can not be calculated.\n return;\n }\n\n if (coordSys.type !== 'cartesian2d') {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Visual map on line style is only supported on cartesian2d.');\n }\n\n return;\n }\n\n var coordDim;\n var visualMeta;\n\n for (var i = visualMetaList.length - 1; i >= 0; i--) {\n var dimInfo = data.getDimensionInfo(visualMetaList[i].dimension);\n coordDim = dimInfo && dimInfo.coordDim; // Can only be x or y\n\n if (coordDim === 'x' || coordDim === 'y') {\n visualMeta = visualMetaList[i];\n break;\n }\n }\n\n if (!visualMeta) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn('Visual map on line style only support x or y dimension.');\n }\n\n return;\n } // If the area to be rendered is bigger than area defined by LinearGradient,\n // the canvas spec prescribes that the color of the first stop and the last\n // stop should be used. But if two stops are added at offset 0, in effect\n // browsers use the color of the second stop to render area outside\n // LinearGradient. So we can only infinitesimally extend area defined in\n // LinearGradient to render `outerColors`.\n\n\n var axis = coordSys.getAxis(coordDim); // dataToCoord mapping may not be linear, but must be monotonic.\n\n var colorStops = zrUtil.map(visualMeta.stops, function (stop) {\n // offset will be calculated later.\n return {\n coord: axis.toGlobalCoord(axis.dataToCoord(stop.value)),\n color: stop.color\n };\n });\n var stopLen = colorStops.length;\n var outerColors = visualMeta.outerColors.slice();\n\n if (stopLen && colorStops[0].coord > colorStops[stopLen - 1].coord) {\n colorStops.reverse();\n outerColors.reverse();\n }\n\n var colorStopsInRange = clipColorStops(colorStops, coordDim === 'x' ? api.getWidth() : api.getHeight());\n var inRangeStopLen = colorStopsInRange.length;\n\n if (!inRangeStopLen && stopLen) {\n // All stops are out of range. All will be the same color.\n return colorStops[0].coord < 0 ? outerColors[1] ? outerColors[1] : colorStops[stopLen - 1].color : outerColors[0] ? outerColors[0] : colorStops[0].color;\n }\n\n var tinyExtent = 10; // Arbitrary value: 10px\n\n var minCoord = colorStopsInRange[0].coord - tinyExtent;\n var maxCoord = colorStopsInRange[inRangeStopLen - 1].coord + tinyExtent;\n var coordSpan = maxCoord - minCoord;\n\n if (coordSpan < 1e-3) {\n return 'transparent';\n }\n\n zrUtil.each(colorStopsInRange, function (stop) {\n stop.offset = (stop.coord - minCoord) / coordSpan;\n });\n colorStopsInRange.push({\n // NOTE: inRangeStopLen may still be 0 if stoplen is zero.\n offset: inRangeStopLen ? colorStopsInRange[inRangeStopLen - 1].offset : 0.5,\n color: outerColors[1] || 'transparent'\n });\n colorStopsInRange.unshift({\n offset: inRangeStopLen ? colorStopsInRange[0].offset : 0.5,\n color: outerColors[0] || 'transparent'\n });\n var gradient = new graphic.LinearGradient(0, 0, 0, 0, colorStopsInRange, true);\n gradient[coordDim] = minCoord;\n gradient[coordDim + '2'] = maxCoord;\n return gradient;\n}\n\nfunction getIsIgnoreFunc(seriesModel, data, coordSys) {\n var showAllSymbol = seriesModel.get('showAllSymbol');\n var isAuto = showAllSymbol === 'auto';\n\n if (showAllSymbol && !isAuto) {\n return;\n }\n\n var categoryAxis = coordSys.getAxesByScale('ordinal')[0];\n\n if (!categoryAxis) {\n return;\n } // Note that category label interval strategy might bring some weird effect\n // in some scenario: users may wonder why some of the symbols are not\n // displayed. So we show all symbols as possible as we can.\n\n\n if (isAuto // Simplify the logic, do not determine label overlap here.\n && canShowAllSymbolForCategory(categoryAxis, data)) {\n return;\n } // Otherwise follow the label interval strategy on category axis.\n\n\n var categoryDataDim = data.mapDimension(categoryAxis.dim);\n var labelMap = {};\n zrUtil.each(categoryAxis.getViewLabels(), function (labelItem) {\n var ordinalNumber = categoryAxis.scale.getRawOrdinalNumber(labelItem.tickValue);\n labelMap[ordinalNumber] = 1;\n });\n return function (dataIndex) {\n return !labelMap.hasOwnProperty(data.get(categoryDataDim, dataIndex));\n };\n}\n\nfunction canShowAllSymbolForCategory(categoryAxis, data) {\n // In most cases, line is monotonous on category axis, and the label size\n // is close with each other. So we check the symbol size and some of the\n // label size alone with the category axis to estimate whether all symbol\n // can be shown without overlap.\n var axisExtent = categoryAxis.getExtent();\n var availSize = Math.abs(axisExtent[1] - axisExtent[0]) / categoryAxis.scale.count();\n isNaN(availSize) && (availSize = 0); // 0/0 is NaN.\n // Sampling some points, max 5.\n\n var dataLen = data.count();\n var step = Math.max(1, Math.round(dataLen / 5));\n\n for (var dataIndex = 0; dataIndex < dataLen; dataIndex += step) {\n if (SymbolClz.getSymbolSize(data, dataIndex // Only for cartesian, where `isHorizontal` exists.\n )[categoryAxis.isHorizontal() ? 1 : 0] // Empirical number\n * 1.5 > availSize) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isPointNull(x, y) {\n return isNaN(x) || isNaN(y);\n}\n\nfunction getLastIndexNotNull(points) {\n var len = points.length / 2;\n\n for (; len > 0; len--) {\n if (!isPointNull(points[len * 2 - 2], points[len * 2 - 1])) {\n break;\n }\n }\n\n return len - 1;\n}\n\nfunction getPointAtIndex(points, idx) {\n return [points[idx * 2], points[idx * 2 + 1]];\n}\n\nfunction getIndexRange(points, xOrY, dim) {\n var len = points.length / 2;\n var dimIdx = dim === 'x' ? 0 : 1;\n var a;\n var b;\n var prevIndex = 0;\n var nextIndex = -1;\n\n for (var i = 0; i < len; i++) {\n b = points[i * 2 + dimIdx];\n\n if (isNaN(b) || isNaN(points[i * 2 + 1 - dimIdx])) {\n continue;\n }\n\n if (i === 0) {\n a = b;\n continue;\n }\n\n if (a <= xOrY && b >= xOrY || a >= xOrY && b <= xOrY) {\n nextIndex = i;\n break;\n }\n\n prevIndex = i;\n a = b;\n }\n\n return {\n range: [prevIndex, nextIndex],\n t: (xOrY - a) / (b - a)\n };\n}\n\nfunction anyStateShowEndLabel(seriesModel) {\n if (seriesModel.get(['endLabel', 'show'])) {\n return true;\n }\n\n for (var i = 0; i < SPECIAL_STATES.length; i++) {\n if (seriesModel.get([SPECIAL_STATES[i], 'endLabel', 'show'])) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction createLineClipPath(lineView, coordSys, hasAnimation, seriesModel) {\n if (isCoordinateSystemType(coordSys, 'cartesian2d')) {\n var endLabelModel_1 = seriesModel.getModel('endLabel');\n var valueAnimation_1 = endLabelModel_1.get('valueAnimation');\n var data_1 = seriesModel.getData();\n var labelAnimationRecord_1 = {\n lastFrameIndex: 0\n };\n var during = anyStateShowEndLabel(seriesModel) ? function (percent, clipRect) {\n lineView._endLabelOnDuring(percent, clipRect, data_1, labelAnimationRecord_1, valueAnimation_1, endLabelModel_1, coordSys);\n } : null;\n var isHorizontal = coordSys.getBaseAxis().isHorizontal();\n var clipPath = createGridClipPath(coordSys, hasAnimation, seriesModel, function () {\n var endLabel = lineView._endLabel;\n\n if (endLabel && hasAnimation) {\n if (labelAnimationRecord_1.originalX != null) {\n endLabel.attr({\n x: labelAnimationRecord_1.originalX,\n y: labelAnimationRecord_1.originalY\n });\n }\n }\n }, during); // Expand clip shape to avoid clipping when line value exceeds axis\n\n if (!seriesModel.get('clip', true)) {\n var rectShape = clipPath.shape;\n var expandSize = Math.max(rectShape.width, rectShape.height);\n\n if (isHorizontal) {\n rectShape.y -= expandSize;\n rectShape.height += expandSize * 2;\n } else {\n rectShape.x -= expandSize;\n rectShape.width += expandSize * 2;\n }\n } // Set to the final frame. To make sure label layout is right.\n\n\n if (during) {\n during(1, clipPath);\n }\n\n return clipPath;\n } else {\n if (process.env.NODE_ENV !== 'production') {\n if (seriesModel.get(['endLabel', 'show'])) {\n console.warn('endLabel is not supported for lines in polar systems.');\n }\n }\n\n return createPolarClipPath(coordSys, hasAnimation, seriesModel);\n }\n}\n\nfunction getEndLabelStateSpecified(endLabelModel, coordSys) {\n var baseAxis = coordSys.getBaseAxis();\n var isHorizontal = baseAxis.isHorizontal();\n var isBaseInversed = baseAxis.inverse;\n var align = isHorizontal ? isBaseInversed ? 'right' : 'left' : 'center';\n var verticalAlign = isHorizontal ? 'middle' : isBaseInversed ? 'top' : 'bottom';\n return {\n normal: {\n align: endLabelModel.get('align') || align,\n verticalAlign: endLabelModel.get('verticalAlign') || verticalAlign\n }\n };\n}\n\nvar LineView =\n/** @class */\nfunction (_super) {\n __extends(LineView, _super);\n\n function LineView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n LineView.prototype.init = function () {\n var lineGroup = new graphic.Group();\n var symbolDraw = new SymbolDraw();\n this.group.add(symbolDraw.group);\n this._symbolDraw = symbolDraw;\n this._lineGroup = lineGroup;\n };\n\n LineView.prototype.render = function (seriesModel, ecModel, api) {\n var _this = this;\n\n var coordSys = seriesModel.coordinateSystem;\n var group = this.group;\n var data = seriesModel.getData();\n var lineStyleModel = seriesModel.getModel('lineStyle');\n var areaStyleModel = seriesModel.getModel('areaStyle');\n var points = data.getLayout('points') || [];\n var isCoordSysPolar = coordSys.type === 'polar';\n var prevCoordSys = this._coordSys;\n var symbolDraw = this._symbolDraw;\n var polyline = this._polyline;\n var polygon = this._polygon;\n var lineGroup = this._lineGroup;\n var hasAnimation = !ecModel.ssr && seriesModel.isAnimationEnabled();\n var isAreaChart = !areaStyleModel.isEmpty();\n var valueOrigin = areaStyleModel.get('origin');\n var dataCoordInfo = prepareDataCoordInfo(coordSys, data, valueOrigin);\n var stackedOnPoints = isAreaChart && getStackedOnPoints(coordSys, data, dataCoordInfo);\n var showSymbol = seriesModel.get('showSymbol');\n var connectNulls = seriesModel.get('connectNulls');\n var isIgnoreFunc = showSymbol && !isCoordSysPolar && getIsIgnoreFunc(seriesModel, data, coordSys); // Remove temporary symbols\n\n var oldData = this._data;\n oldData && oldData.eachItemGraphicEl(function (el, idx) {\n if (el.__temp) {\n group.remove(el);\n oldData.setItemGraphicEl(idx, null);\n }\n }); // Remove previous created symbols if showSymbol changed to false\n\n if (!showSymbol) {\n symbolDraw.remove();\n }\n\n group.add(lineGroup); // FIXME step not support polar\n\n var step = !isCoordSysPolar ? seriesModel.get('step') : false;\n var clipShapeForSymbol;\n\n if (coordSys && coordSys.getArea && seriesModel.get('clip', true)) {\n clipShapeForSymbol = coordSys.getArea(); // Avoid float number rounding error for symbol on the edge of axis extent.\n // See #7913 and `test/dataZoom-clip.html`.\n\n if (clipShapeForSymbol.width != null) {\n clipShapeForSymbol.x -= 0.1;\n clipShapeForSymbol.y -= 0.1;\n clipShapeForSymbol.width += 0.2;\n clipShapeForSymbol.height += 0.2;\n } else if (clipShapeForSymbol.r0) {\n clipShapeForSymbol.r0 -= 0.5;\n clipShapeForSymbol.r += 0.5;\n }\n }\n\n this._clipShapeForSymbol = clipShapeForSymbol;\n var visualColor = getVisualGradient(data, coordSys, api) || data.getVisual('style')[data.getVisual('drawType')]; // Initialization animation or coordinate system changed\n\n if (!(polyline && prevCoordSys.type === coordSys.type && step === this._step)) {\n showSymbol && symbolDraw.updateData(data, {\n isIgnore: isIgnoreFunc,\n clipShape: clipShapeForSymbol,\n disableAnimation: true,\n getSymbolPoint: function (idx) {\n return [points[idx * 2], points[idx * 2 + 1]];\n }\n });\n hasAnimation && this._initSymbolLabelAnimation(data, coordSys, clipShapeForSymbol);\n\n if (step) {\n // TODO If stacked series is not step\n points = turnPointsIntoStep(points, coordSys, step, connectNulls);\n\n if (stackedOnPoints) {\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step, connectNulls);\n }\n }\n\n polyline = this._newPolyline(points);\n\n if (isAreaChart) {\n polygon = this._newPolygon(points, stackedOnPoints);\n } // If areaStyle is removed\n else if (polygon) {\n lineGroup.remove(polygon);\n polygon = this._polygon = null;\n } // NOTE: Must update _endLabel before setClipPath.\n\n\n if (!isCoordSysPolar) {\n this._initOrUpdateEndLabel(seriesModel, coordSys, convertToColorString(visualColor));\n }\n\n lineGroup.setClipPath(createLineClipPath(this, coordSys, true, seriesModel));\n } else {\n if (isAreaChart && !polygon) {\n // If areaStyle is added\n polygon = this._newPolygon(points, stackedOnPoints);\n } else if (polygon && !isAreaChart) {\n // If areaStyle is removed\n lineGroup.remove(polygon);\n polygon = this._polygon = null;\n } // NOTE: Must update _endLabel before setClipPath.\n\n\n if (!isCoordSysPolar) {\n this._initOrUpdateEndLabel(seriesModel, coordSys, convertToColorString(visualColor));\n } // Update clipPath\n\n\n var oldClipPath = lineGroup.getClipPath();\n\n if (oldClipPath) {\n var newClipPath = createLineClipPath(this, coordSys, false, seriesModel);\n graphic.initProps(oldClipPath, {\n shape: newClipPath.shape\n }, seriesModel);\n } else {\n lineGroup.setClipPath(createLineClipPath(this, coordSys, true, seriesModel));\n } // Always update, or it is wrong in the case turning on legend\n // because points are not changed.\n\n\n showSymbol && symbolDraw.updateData(data, {\n isIgnore: isIgnoreFunc,\n clipShape: clipShapeForSymbol,\n disableAnimation: true,\n getSymbolPoint: function (idx) {\n return [points[idx * 2], points[idx * 2 + 1]];\n }\n }); // In the case data zoom triggered refreshing frequently\n // Data may not change if line has a category axis. So it should animate nothing.\n\n if (!isPointsSame(this._stackedOnPoints, stackedOnPoints) || !isPointsSame(this._points, points)) {\n if (hasAnimation) {\n this._doUpdateAnimation(data, stackedOnPoints, coordSys, api, step, valueOrigin, connectNulls);\n } else {\n // Not do it in update with animation\n if (step) {\n // TODO If stacked series is not step\n points = turnPointsIntoStep(points, coordSys, step, connectNulls);\n\n if (stackedOnPoints) {\n stackedOnPoints = turnPointsIntoStep(stackedOnPoints, coordSys, step, connectNulls);\n }\n }\n\n polyline.setShape({\n points: points\n });\n polygon && polygon.setShape({\n points: points,\n stackedOnPoints: stackedOnPoints\n });\n }\n }\n }\n\n var emphasisModel = seriesModel.getModel('emphasis');\n var focus = emphasisModel.get('focus');\n var blurScope = emphasisModel.get('blurScope');\n var emphasisDisabled = emphasisModel.get('disabled');\n polyline.useStyle(zrUtil.defaults( // Use color in lineStyle first\n lineStyleModel.getLineStyle(), {\n fill: 'none',\n stroke: visualColor,\n lineJoin: 'bevel'\n }));\n setStatesStylesFromModel(polyline, seriesModel, 'lineStyle');\n\n if (polyline.style.lineWidth > 0 && seriesModel.get(['emphasis', 'lineStyle', 'width']) === 'bolder') {\n var emphasisLineStyle = polyline.getState('emphasis').style;\n emphasisLineStyle.lineWidth = +polyline.style.lineWidth + 1;\n } // Needs seriesIndex for focus\n\n\n getECData(polyline).seriesIndex = seriesModel.seriesIndex;\n toggleHoverEmphasis(polyline, focus, blurScope, emphasisDisabled);\n var smooth = getSmooth(seriesModel.get('smooth'));\n var smoothMonotone = seriesModel.get('smoothMonotone');\n polyline.setShape({\n smooth: smooth,\n smoothMonotone: smoothMonotone,\n connectNulls: connectNulls\n });\n\n if (polygon) {\n var stackedOnSeries = data.getCalculationInfo('stackedOnSeries');\n var stackedOnSmooth = 0;\n polygon.useStyle(zrUtil.defaults(areaStyleModel.getAreaStyle(), {\n fill: visualColor,\n opacity: 0.7,\n lineJoin: 'bevel',\n decal: data.getVisual('style').decal\n }));\n\n if (stackedOnSeries) {\n stackedOnSmooth = getSmooth(stackedOnSeries.get('smooth'));\n }\n\n polygon.setShape({\n smooth: smooth,\n stackedOnSmooth: stackedOnSmooth,\n smoothMonotone: smoothMonotone,\n connectNulls: connectNulls\n });\n setStatesStylesFromModel(polygon, seriesModel, 'areaStyle'); // Needs seriesIndex for focus\n\n getECData(polygon).seriesIndex = seriesModel.seriesIndex;\n toggleHoverEmphasis(polygon, focus, blurScope, emphasisDisabled);\n }\n\n var changePolyState = function (toState) {\n _this._changePolyState(toState);\n };\n\n data.eachItemGraphicEl(function (el) {\n // Switch polyline / polygon state if element changed its state.\n el && (el.onHoverStateChange = changePolyState);\n });\n this._polyline.onHoverStateChange = changePolyState;\n this._data = data; // Save the coordinate system for transition animation when data changed\n\n this._coordSys = coordSys;\n this._stackedOnPoints = stackedOnPoints;\n this._points = points;\n this._step = step;\n this._valueOrigin = valueOrigin;\n\n if (seriesModel.get('triggerLineEvent')) {\n this.packEventData(seriesModel, polyline);\n polygon && this.packEventData(seriesModel, polygon);\n }\n };\n\n LineView.prototype.packEventData = function (seriesModel, el) {\n getECData(el).eventData = {\n componentType: 'series',\n componentSubType: 'line',\n componentIndex: seriesModel.componentIndex,\n seriesIndex: seriesModel.seriesIndex,\n seriesName: seriesModel.name,\n seriesType: 'line'\n };\n };\n\n LineView.prototype.highlight = function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n\n this._changePolyState('emphasis');\n\n if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {\n var points = data.getLayout('points');\n var symbol = data.getItemGraphicEl(dataIndex);\n\n if (!symbol) {\n // Create a temporary symbol if it is not exists\n var x = points[dataIndex * 2];\n var y = points[dataIndex * 2 + 1];\n\n if (isNaN(x) || isNaN(y)) {\n // Null data\n return;\n } // fix #11360: shouldn't draw symbol outside clipShapeForSymbol\n\n\n if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(x, y)) {\n return;\n }\n\n var zlevel = seriesModel.get('zlevel') || 0;\n var z = seriesModel.get('z') || 0;\n symbol = new SymbolClz(data, dataIndex);\n symbol.x = x;\n symbol.y = y;\n symbol.setZ(zlevel, z); // ensure label text of the temporary symbol is in front of line and area polygon\n\n var symbolLabel = symbol.getSymbolPath().getTextContent();\n\n if (symbolLabel) {\n symbolLabel.zlevel = zlevel;\n symbolLabel.z = z;\n symbolLabel.z2 = this._polyline.z2 + 1;\n }\n\n symbol.__temp = true;\n data.setItemGraphicEl(dataIndex, symbol); // Stop scale animation\n\n symbol.stopSymbolAnimation(true);\n this.group.add(symbol);\n }\n\n symbol.highlight();\n } else {\n // Highlight whole series\n ChartView.prototype.highlight.call(this, seriesModel, ecModel, api, payload);\n }\n };\n\n LineView.prototype.downplay = function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, payload);\n\n this._changePolyState('normal');\n\n if (dataIndex != null && dataIndex >= 0) {\n var symbol = data.getItemGraphicEl(dataIndex);\n\n if (symbol) {\n if (symbol.__temp) {\n data.setItemGraphicEl(dataIndex, null);\n this.group.remove(symbol);\n } else {\n symbol.downplay();\n }\n }\n } else {\n // FIXME\n // can not downplay completely.\n // Downplay whole series\n ChartView.prototype.downplay.call(this, seriesModel, ecModel, api, payload);\n }\n };\n\n LineView.prototype._changePolyState = function (toState) {\n var polygon = this._polygon;\n setStatesFlag(this._polyline, toState);\n polygon && setStatesFlag(polygon, toState);\n };\n\n LineView.prototype._newPolyline = function (points) {\n var polyline = this._polyline; // Remove previous created polyline\n\n if (polyline) {\n this._lineGroup.remove(polyline);\n }\n\n polyline = new ECPolyline({\n shape: {\n points: points\n },\n segmentIgnoreThreshold: 2,\n z2: 10\n });\n\n this._lineGroup.add(polyline);\n\n this._polyline = polyline;\n return polyline;\n };\n\n LineView.prototype._newPolygon = function (points, stackedOnPoints) {\n var polygon = this._polygon; // Remove previous created polygon\n\n if (polygon) {\n this._lineGroup.remove(polygon);\n }\n\n polygon = new ECPolygon({\n shape: {\n points: points,\n stackedOnPoints: stackedOnPoints\n },\n segmentIgnoreThreshold: 2\n });\n\n this._lineGroup.add(polygon);\n\n this._polygon = polygon;\n return polygon;\n };\n\n LineView.prototype._initSymbolLabelAnimation = function (data, coordSys, clipShape) {\n var isHorizontalOrRadial;\n var isCoordSysPolar;\n var baseAxis = coordSys.getBaseAxis();\n var isAxisInverse = baseAxis.inverse;\n\n if (coordSys.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n isCoordSysPolar = false;\n } else if (coordSys.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n isCoordSysPolar = true;\n }\n\n var seriesModel = data.hostModel;\n var seriesDuration = seriesModel.get('animationDuration');\n\n if (zrUtil.isFunction(seriesDuration)) {\n seriesDuration = seriesDuration(null);\n }\n\n var seriesDelay = seriesModel.get('animationDelay') || 0;\n var seriesDelayValue = zrUtil.isFunction(seriesDelay) ? seriesDelay(null) : seriesDelay;\n data.eachItemGraphicEl(function (symbol, idx) {\n var el = symbol;\n\n if (el) {\n var point = [symbol.x, symbol.y];\n var start = void 0;\n var end = void 0;\n var current = void 0;\n\n if (clipShape) {\n if (isCoordSysPolar) {\n var polarClip = clipShape;\n var coord = coordSys.pointToCoord(point);\n\n if (isHorizontalOrRadial) {\n start = polarClip.startAngle;\n end = polarClip.endAngle;\n current = -coord[1] / 180 * Math.PI;\n } else {\n start = polarClip.r0;\n end = polarClip.r;\n current = coord[0];\n }\n } else {\n var gridClip = clipShape;\n\n if (isHorizontalOrRadial) {\n start = gridClip.x;\n end = gridClip.x + gridClip.width;\n current = symbol.x;\n } else {\n start = gridClip.y + gridClip.height;\n end = gridClip.y;\n current = symbol.y;\n }\n }\n }\n\n var ratio = end === start ? 0 : (current - start) / (end - start);\n\n if (isAxisInverse) {\n ratio = 1 - ratio;\n }\n\n var delay = zrUtil.isFunction(seriesDelay) ? seriesDelay(idx) : seriesDuration * ratio + seriesDelayValue;\n var symbolPath = el.getSymbolPath();\n var text = symbolPath.getTextContent();\n el.attr({\n scaleX: 0,\n scaleY: 0\n });\n el.animateTo({\n scaleX: 1,\n scaleY: 1\n }, {\n duration: 200,\n setToFinal: true,\n delay: delay\n });\n\n if (text) {\n text.animateFrom({\n style: {\n opacity: 0\n }\n }, {\n duration: 300,\n delay: delay\n });\n }\n\n symbolPath.disableLabelAnimation = true;\n }\n });\n };\n\n LineView.prototype._initOrUpdateEndLabel = function (seriesModel, coordSys, inheritColor) {\n var endLabelModel = seriesModel.getModel('endLabel');\n\n if (anyStateShowEndLabel(seriesModel)) {\n var data_2 = seriesModel.getData();\n var polyline = this._polyline; // series may be filtered.\n\n var points = data_2.getLayout('points');\n\n if (!points) {\n polyline.removeTextContent();\n this._endLabel = null;\n return;\n }\n\n var endLabel = this._endLabel;\n\n if (!endLabel) {\n endLabel = this._endLabel = new graphic.Text({\n z2: 200 // should be higher than item symbol\n\n });\n endLabel.ignoreClip = true;\n polyline.setTextContent(this._endLabel);\n polyline.disableLabelAnimation = true;\n } // Find last non-NaN data to display data\n\n\n var dataIndex = getLastIndexNotNull(points);\n\n if (dataIndex >= 0) {\n setLabelStyle(polyline, getLabelStatesModels(seriesModel, 'endLabel'), {\n inheritColor: inheritColor,\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: function (dataIndex, opt, interpolatedValue) {\n return interpolatedValue != null ? getDefaultInterpolatedLabel(data_2, interpolatedValue) : getDefaultLabel(data_2, dataIndex);\n },\n enableTextSetter: true\n }, getEndLabelStateSpecified(endLabelModel, coordSys));\n polyline.textConfig.position = null;\n }\n } else if (this._endLabel) {\n this._polyline.removeTextContent();\n\n this._endLabel = null;\n }\n };\n\n LineView.prototype._endLabelOnDuring = function (percent, clipRect, data, animationRecord, valueAnimation, endLabelModel, coordSys) {\n var endLabel = this._endLabel;\n var polyline = this._polyline;\n\n if (endLabel) {\n // NOTE: Don't remove percent < 1. percent === 1 means the first frame during render.\n // The label is not prepared at this time.\n if (percent < 1 && animationRecord.originalX == null) {\n animationRecord.originalX = endLabel.x;\n animationRecord.originalY = endLabel.y;\n }\n\n var points = data.getLayout('points');\n var seriesModel = data.hostModel;\n var connectNulls = seriesModel.get('connectNulls');\n var precision = endLabelModel.get('precision');\n var distance = endLabelModel.get('distance') || 0;\n var baseAxis = coordSys.getBaseAxis();\n var isHorizontal = baseAxis.isHorizontal();\n var isBaseInversed = baseAxis.inverse;\n var clipShape = clipRect.shape;\n var xOrY = isBaseInversed ? isHorizontal ? clipShape.x : clipShape.y + clipShape.height : isHorizontal ? clipShape.x + clipShape.width : clipShape.y;\n var distanceX = (isHorizontal ? distance : 0) * (isBaseInversed ? -1 : 1);\n var distanceY = (isHorizontal ? 0 : -distance) * (isBaseInversed ? -1 : 1);\n var dim = isHorizontal ? 'x' : 'y';\n var dataIndexRange = getIndexRange(points, xOrY, dim);\n var indices = dataIndexRange.range;\n var diff = indices[1] - indices[0];\n var value = void 0;\n\n if (diff >= 1) {\n // diff > 1 && connectNulls, which is on the null data.\n if (diff > 1 && !connectNulls) {\n var pt = getPointAtIndex(points, indices[0]);\n endLabel.attr({\n x: pt[0] + distanceX,\n y: pt[1] + distanceY\n });\n valueAnimation && (value = seriesModel.getRawValue(indices[0]));\n } else {\n var pt = polyline.getPointOn(xOrY, dim);\n pt && endLabel.attr({\n x: pt[0] + distanceX,\n y: pt[1] + distanceY\n });\n var startValue = seriesModel.getRawValue(indices[0]);\n var endValue = seriesModel.getRawValue(indices[1]);\n valueAnimation && (value = modelUtil.interpolateRawValues(data, precision, startValue, endValue, dataIndexRange.t));\n }\n\n animationRecord.lastFrameIndex = indices[0];\n } else {\n // If diff <= 0, which is the range is not found(Include NaN)\n // Choose the first point or last point.\n var idx = percent === 1 || animationRecord.lastFrameIndex > 0 ? indices[0] : 0;\n var pt = getPointAtIndex(points, idx);\n valueAnimation && (value = seriesModel.getRawValue(idx));\n endLabel.attr({\n x: pt[0] + distanceX,\n y: pt[1] + distanceY\n });\n }\n\n if (valueAnimation) {\n var inner = labelInner(endLabel);\n\n if (typeof inner.setLabelText === 'function') {\n inner.setLabelText(value);\n }\n }\n }\n };\n /**\r\n * @private\r\n */\n // FIXME Two value axis\n\n\n LineView.prototype._doUpdateAnimation = function (data, stackedOnPoints, coordSys, api, step, valueOrigin, connectNulls) {\n var polyline = this._polyline;\n var polygon = this._polygon;\n var seriesModel = data.hostModel;\n var diff = lineAnimationDiff(this._data, data, this._stackedOnPoints, stackedOnPoints, this._coordSys, coordSys, this._valueOrigin, valueOrigin);\n var current = diff.current;\n var stackedOnCurrent = diff.stackedOnCurrent;\n var next = diff.next;\n var stackedOnNext = diff.stackedOnNext;\n\n if (step) {\n // TODO If stacked series is not step\n current = turnPointsIntoStep(diff.current, coordSys, step, connectNulls);\n stackedOnCurrent = turnPointsIntoStep(diff.stackedOnCurrent, coordSys, step, connectNulls);\n next = turnPointsIntoStep(diff.next, coordSys, step, connectNulls);\n stackedOnNext = turnPointsIntoStep(diff.stackedOnNext, coordSys, step, connectNulls);\n } // Don't apply animation if diff is large.\n // For better result and avoid memory explosion problems like\n // https://github.com/apache/incubator-echarts/issues/12229\n\n\n if (getBoundingDiff(current, next) > 3000 || polygon && getBoundingDiff(stackedOnCurrent, stackedOnNext) > 3000) {\n polyline.stopAnimation();\n polyline.setShape({\n points: next\n });\n\n if (polygon) {\n polygon.stopAnimation();\n polygon.setShape({\n points: next,\n stackedOnPoints: stackedOnNext\n });\n }\n\n return;\n }\n\n polyline.shape.__points = diff.current;\n polyline.shape.points = current;\n var target = {\n shape: {\n points: next\n }\n }; // Also animate the original points.\n // If points reference is changed when turning into step line.\n\n if (diff.current !== current) {\n target.shape.__points = diff.next;\n } // Stop previous animation.\n\n\n polyline.stopAnimation();\n graphic.updateProps(polyline, target, seriesModel);\n\n if (polygon) {\n polygon.setShape({\n // Reuse the points with polyline.\n points: current,\n stackedOnPoints: stackedOnCurrent\n });\n polygon.stopAnimation();\n graphic.updateProps(polygon, {\n shape: {\n stackedOnPoints: stackedOnNext\n }\n }, seriesModel); // If use attr directly in updateProps.\n\n if (polyline.shape.points !== polygon.shape.points) {\n polygon.shape.points = polyline.shape.points;\n }\n }\n\n var updatedDataInfo = [];\n var diffStatus = diff.status;\n\n for (var i = 0; i < diffStatus.length; i++) {\n var cmd = diffStatus[i].cmd;\n\n if (cmd === '=') {\n var el = data.getItemGraphicEl(diffStatus[i].idx1);\n\n if (el) {\n updatedDataInfo.push({\n el: el,\n ptIdx: i // Index of points\n\n });\n }\n }\n }\n\n if (polyline.animators && polyline.animators.length) {\n polyline.animators[0].during(function () {\n polygon && polygon.dirtyShape();\n var points = polyline.shape.__points;\n\n for (var i = 0; i < updatedDataInfo.length; i++) {\n var el = updatedDataInfo[i].el;\n var offset = updatedDataInfo[i].ptIdx * 2;\n el.x = points[offset];\n el.y = points[offset + 1];\n el.markRedraw();\n }\n });\n }\n };\n\n LineView.prototype.remove = function (ecModel) {\n var group = this.group;\n var oldData = this._data;\n\n this._lineGroup.removeAll();\n\n this._symbolDraw.remove(true); // Remove temporary created elements when highlighting\n\n\n oldData && oldData.eachItemGraphicEl(function (el, idx) {\n if (el.__temp) {\n group.remove(el);\n oldData.setItemGraphicEl(idx, null);\n }\n });\n this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._endLabel = this._data = null;\n };\n\n LineView.type = 'line';\n return LineView;\n}(ChartView);\n\nexport default LineView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { map } from 'zrender/lib/core/util.js';\nimport createRenderPlanner from '../chart/helper/createRenderPlanner.js';\nimport { isDimensionStacked } from '../data/helper/dataStackHelper.js';\nimport { createFloat32Array } from '../util/vendor.js';\nexport default function pointsLayout(seriesType, forceStoreInTypedArray) {\n return {\n seriesType: seriesType,\n plan: createRenderPlanner(),\n reset: function (seriesModel) {\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var pipelineContext = seriesModel.pipelineContext;\n var useTypedArray = forceStoreInTypedArray || pipelineContext.large;\n\n if (!coordSys) {\n return;\n }\n\n var dims = map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }).slice(0, 2);\n var dimLen = dims.length;\n var stackResultDim = data.getCalculationInfo('stackResultDimension');\n\n if (isDimensionStacked(data, dims[0])) {\n dims[0] = stackResultDim;\n }\n\n if (isDimensionStacked(data, dims[1])) {\n dims[1] = stackResultDim;\n }\n\n var store = data.getStore();\n var dimIdx0 = data.getDimensionIndex(dims[0]);\n var dimIdx1 = data.getDimensionIndex(dims[1]);\n return dimLen && {\n progress: function (params, data) {\n var segCount = params.end - params.start;\n var points = useTypedArray && createFloat32Array(segCount * dimLen);\n var tmpIn = [];\n var tmpOut = [];\n\n for (var i = params.start, offset = 0; i < params.end; i++) {\n var point = void 0;\n\n if (dimLen === 1) {\n var x = store.get(dimIdx0, i); // NOTE: Make sure the second parameter is null to use default strategy.\n\n point = coordSys.dataToPoint(x, null, tmpOut);\n } else {\n tmpIn[0] = store.get(dimIdx0, i);\n tmpIn[1] = store.get(dimIdx1, i); // Let coordinate system to handle the NaN data.\n\n point = coordSys.dataToPoint(tmpIn, null, tmpOut);\n }\n\n if (useTypedArray) {\n points[offset++] = point[0];\n points[offset++] = point[1];\n } else {\n data.setItemLayout(i, point.slice());\n }\n }\n\n useTypedArray && data.setLayout('points', points);\n }\n };\n }\n };\n}\n;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isFunction, isString } from 'zrender/lib/core/util.js';\nvar samplers = {\n average: function (frame) {\n var sum = 0;\n var count = 0;\n\n for (var i = 0; i < frame.length; i++) {\n if (!isNaN(frame[i])) {\n sum += frame[i];\n count++;\n }\n } // Return NaN if count is 0\n\n\n return count === 0 ? NaN : sum / count;\n },\n sum: function (frame) {\n var sum = 0;\n\n for (var i = 0; i < frame.length; i++) {\n // Ignore NaN\n sum += frame[i] || 0;\n }\n\n return sum;\n },\n max: function (frame) {\n var max = -Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] > max && (max = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(max) ? max : NaN;\n },\n min: function (frame) {\n var min = Infinity;\n\n for (var i = 0; i < frame.length; i++) {\n frame[i] < min && (min = frame[i]);\n } // NaN will cause illegal axis extent.\n\n\n return isFinite(min) ? min : NaN;\n },\n // TODO\n // Median\n nearest: function (frame) {\n return frame[0];\n }\n};\n\nvar indexSampler = function (frame) {\n return Math.round(frame.length / 2);\n};\n\nexport default function dataSample(seriesType) {\n return {\n seriesType: seriesType,\n // FIXME:TS never used, so comment it\n // modifyOutputEnd: true,\n reset: function (seriesModel, ecModel, api) {\n var data = seriesModel.getData();\n var sampling = seriesModel.get('sampling');\n var coordSys = seriesModel.coordinateSystem;\n var count = data.count(); // Only cartesian2d support down sampling. Disable it when there is few data.\n\n if (count > 10 && coordSys.type === 'cartesian2d' && sampling) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var extent = baseAxis.getExtent();\n var dpr = api.getDevicePixelRatio(); // Coordinste system has been resized\n\n var size = Math.abs(extent[1] - extent[0]) * (dpr || 1);\n var rate = Math.round(count / size);\n\n if (isFinite(rate) && rate > 1) {\n if (sampling === 'lttb') {\n seriesModel.setData(data.lttbDownSample(data.mapDimension(valueAxis.dim), 1 / rate));\n }\n\n var sampler = void 0;\n\n if (isString(sampling)) {\n sampler = samplers[sampling];\n } else if (isFunction(sampling)) {\n sampler = sampling;\n }\n\n if (sampler) {\n // Only support sample the first dim mapped from value axis.\n seriesModel.setData(data.downSample(data.mapDimension(valueAxis.dim), 1 / rate, sampler, indexSampler));\n }\n }\n }\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport LineSeries from './LineSeries.js';\nimport LineView from './LineView.js'; // In case developer forget to include grid component\n\nimport layoutPoints from '../../layout/points.js';\nimport dataSample from '../../processor/dataSample.js';\nexport function install(registers) {\n registers.registerChartView(LineView);\n registers.registerSeriesModel(LineSeries);\n registers.registerLayout(layoutPoints('line', true));\n registers.registerVisual({\n seriesType: 'line',\n reset: function (seriesModel) {\n var data = seriesModel.getData(); // Visual coding for legend\n\n var lineStyle = seriesModel.getModel('lineStyle').getLineStyle();\n\n if (lineStyle && !lineStyle.stroke) {\n // Fill in visual should be palette color if\n // has color callback\n lineStyle.stroke = data.getVisual('style').fill;\n }\n\n data.setVisual('legendLineStyle', lineStyle);\n }\n }); // Down sample after filter\n\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample('line'));\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport SeriesModel from '../../model/Series.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { each } from 'zrender/lib/core/util.js';\n\nvar BaseBarSeriesModel =\n/** @class */\nfunction (_super) {\n __extends(BaseBarSeriesModel, _super);\n\n function BaseBarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = BaseBarSeriesModel.type;\n return _this;\n }\n\n BaseBarSeriesModel.prototype.getInitialData = function (option, ecModel) {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true\n });\n };\n\n BaseBarSeriesModel.prototype.getMarkerPosition = function (value, dims, startingAtTick) {\n var coordSys = this.coordinateSystem;\n\n if (coordSys && coordSys.clampData) {\n // PENDING if clamp ?\n var clampData_1 = coordSys.clampData(value);\n var pt_1 = coordSys.dataToPoint(clampData_1);\n\n if (startingAtTick) {\n each(coordSys.getAxes(), function (axis, idx) {\n // If axis type is category, use tick coords instead\n if (axis.type === 'category' && dims != null) {\n var tickCoords = axis.getTicksCoords();\n var targetTickId = clampData_1[idx]; // The index of rightmost tick of markArea is 1 larger than x1/y1 index\n\n var isEnd = dims[idx] === 'x1' || dims[idx] === 'y1';\n\n if (isEnd) {\n targetTickId += 1;\n } // The only contains one tick, tickCoords is\n // like [{coord: 0, tickValue: 0}, {coord: 0}]\n // to the length should always be larger than 1\n\n\n if (tickCoords.length < 2) {\n return;\n } else if (tickCoords.length === 2) {\n // The left value and right value of the axis are\n // the same. coord is 0 in both items. Use the max\n // value of the axis as the coord\n pt_1[idx] = axis.toGlobalCoord(axis.getExtent()[isEnd ? 1 : 0]);\n return;\n }\n\n var leftCoord = void 0;\n var coord = void 0;\n var stepTickValue = 1;\n\n for (var i = 0; i < tickCoords.length; i++) {\n var tickCoord = tickCoords[i].coord; // The last item of tickCoords doesn't contain\n // tickValue\n\n var tickValue = i === tickCoords.length - 1 ? tickCoords[i - 1].tickValue + stepTickValue : tickCoords[i].tickValue;\n\n if (tickValue === targetTickId) {\n coord = tickCoord;\n break;\n } else if (tickValue < targetTickId) {\n leftCoord = tickCoord;\n } else if (leftCoord != null && tickValue > targetTickId) {\n coord = (tickCoord + leftCoord) / 2;\n break;\n }\n\n if (i === 1) {\n // Here we assume the step of category axes is\n // the same\n stepTickValue = tickValue - tickCoords[0].tickValue;\n }\n }\n\n if (coord == null) {\n if (!leftCoord) {\n // targetTickId is smaller than all tick ids in the\n // visible area, use the leftmost tick coord\n coord = tickCoords[0].coord;\n } else if (leftCoord) {\n // targetTickId is larger than all tick ids in the\n // visible area, use the rightmost tick coord\n coord = tickCoords[tickCoords.length - 1].coord;\n }\n }\n\n pt_1[idx] = axis.toGlobalCoord(coord);\n }\n });\n } else {\n var data = this.getData();\n var offset = data.getLayout('offset');\n var size = data.getLayout('size');\n var offsetIndex = coordSys.getBaseAxis().isHorizontal() ? 0 : 1;\n pt_1[offsetIndex] += offset + size / 2;\n }\n\n return pt_1;\n }\n\n return [NaN, NaN];\n };\n\n BaseBarSeriesModel.type = 'series.__base_bar__';\n BaseBarSeriesModel.defaultOption = {\n // zlevel: 0,\n z: 2,\n coordinateSystem: 'cartesian2d',\n legendHoverLink: true,\n // stack: null\n // Cartesian coordinate system\n // xAxisIndex: 0,\n // yAxisIndex: 0,\n barMinHeight: 0,\n barMinAngle: 0,\n // cursor: null,\n large: false,\n largeThreshold: 400,\n progressive: 3e3,\n progressiveChunkMode: 'mod'\n };\n return BaseBarSeriesModel;\n}(SeriesModel);\n\nSeriesModel.registerClass(BaseBarSeriesModel);\nexport default BaseBarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport BaseBarSeriesModel from './BaseBarSeries.js';\nimport createSeriesData from '../helper/createSeriesData.js';\nimport { inheritDefaultOption } from '../../util/component.js';\n\nvar BarSeriesModel =\n/** @class */\nfunction (_super) {\n __extends(BarSeriesModel, _super);\n\n function BarSeriesModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = BarSeriesModel.type;\n return _this;\n }\n\n BarSeriesModel.prototype.getInitialData = function () {\n return createSeriesData(null, this, {\n useEncodeDefaulter: true,\n createInvertedIndices: !!this.get('realtimeSort', true) || null\n });\n };\n /**\r\n * @override\r\n */\n\n\n BarSeriesModel.prototype.getProgressive = function () {\n // Do not support progressive in normal mode.\n return this.get('large') ? this.get('progressive') : false;\n };\n /**\r\n * @override\r\n */\n\n\n BarSeriesModel.prototype.getProgressiveThreshold = function () {\n // Do not support progressive in normal mode.\n var progressiveThreshold = this.get('progressiveThreshold');\n var largeThreshold = this.get('largeThreshold');\n\n if (largeThreshold > progressiveThreshold) {\n progressiveThreshold = largeThreshold;\n }\n\n return progressiveThreshold;\n };\n\n BarSeriesModel.prototype.brushSelector = function (dataIndex, data, selectors) {\n return selectors.rect(data.getItemLayout(dataIndex));\n };\n\n BarSeriesModel.type = 'series.bar';\n BarSeriesModel.dependencies = ['grid', 'polar'];\n BarSeriesModel.defaultOption = inheritDefaultOption(BaseBarSeriesModel.defaultOption, {\n // If clipped\n // Only available on cartesian2d\n clip: true,\n roundCap: false,\n showBackground: false,\n backgroundStyle: {\n color: 'rgba(180, 180, 180, 0.2)',\n borderColor: null,\n borderWidth: 0,\n borderType: 'solid',\n borderRadius: 0,\n shadowBlur: 0,\n shadowColor: null,\n shadowOffsetX: 0,\n shadowOffsetY: 0,\n opacity: 1\n },\n select: {\n itemStyle: {\n borderColor: '#212121'\n }\n },\n realtimeSort: false\n });\n return BarSeriesModel;\n}(BaseBarSeriesModel);\n\nexport default BarSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport { Path } from '../graphic.js';\n/**\r\n * Sausage: similar to sector, but have half circle on both sides\r\n */\n\nvar SausageShape =\n/** @class */\nfunction () {\n function SausageShape() {\n this.cx = 0;\n this.cy = 0;\n this.r0 = 0;\n this.r = 0;\n this.startAngle = 0;\n this.endAngle = Math.PI * 2;\n this.clockwise = true;\n }\n\n return SausageShape;\n}();\n\nvar SausagePath =\n/** @class */\nfunction (_super) {\n __extends(SausagePath, _super);\n\n function SausagePath(opts) {\n var _this = _super.call(this, opts) || this;\n\n _this.type = 'sausage';\n return _this;\n }\n\n SausagePath.prototype.getDefaultShape = function () {\n return new SausageShape();\n };\n\n SausagePath.prototype.buildPath = function (ctx, shape) {\n var cx = shape.cx;\n var cy = shape.cy;\n var r0 = Math.max(shape.r0 || 0, 0);\n var r = Math.max(shape.r, 0);\n var dr = (r - r0) * 0.5;\n var rCenter = r0 + dr;\n var startAngle = shape.startAngle;\n var endAngle = shape.endAngle;\n var clockwise = shape.clockwise;\n var PI2 = Math.PI * 2;\n var lessThanCircle = clockwise ? endAngle - startAngle < PI2 : startAngle - endAngle < PI2;\n\n if (!lessThanCircle) {\n // Normalize angles\n startAngle = endAngle - (clockwise ? PI2 : -PI2);\n }\n\n var unitStartX = Math.cos(startAngle);\n var unitStartY = Math.sin(startAngle);\n var unitEndX = Math.cos(endAngle);\n var unitEndY = Math.sin(endAngle);\n\n if (lessThanCircle) {\n ctx.moveTo(unitStartX * r0 + cx, unitStartY * r0 + cy);\n ctx.arc(unitStartX * rCenter + cx, unitStartY * rCenter + cy, dr, -Math.PI + startAngle, startAngle, !clockwise);\n } else {\n ctx.moveTo(unitStartX * r + cx, unitStartY * r + cy);\n }\n\n ctx.arc(cx, cy, r, startAngle, endAngle, !clockwise);\n ctx.arc(unitEndX * rCenter + cx, unitEndY * rCenter + cy, dr, endAngle - Math.PI * 2, endAngle - Math.PI, !clockwise);\n\n if (r0 !== 0) {\n ctx.arc(cx, cy, r0, endAngle, startAngle, clockwise);\n } // ctx.closePath();\n\n };\n\n return SausagePath;\n}(Path);\n\nexport default SausagePath;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { calculateTextPosition } from 'zrender/lib/contain/text.js';\nimport { isArray, isNumber } from 'zrender/lib/core/util.js';\nexport function createSectorCalculateTextPosition(positionMapping, opts) {\n opts = opts || {};\n var isRoundCap = opts.isRoundCap;\n return function (out, opts, boundingRect) {\n var textPosition = opts.position;\n\n if (!textPosition || textPosition instanceof Array) {\n return calculateTextPosition(out, opts, boundingRect);\n }\n\n var mappedSectorPosition = positionMapping(textPosition);\n var distance = opts.distance != null ? opts.distance : 5;\n var sector = this.shape;\n var cx = sector.cx;\n var cy = sector.cy;\n var r = sector.r;\n var r0 = sector.r0;\n var middleR = (r + r0) / 2;\n var startAngle = sector.startAngle;\n var endAngle = sector.endAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var extraDist = isRoundCap ? Math.abs(r - r0) / 2 : 0;\n var mathCos = Math.cos;\n var mathSin = Math.sin; // base position: top-left\n\n var x = cx + r * mathCos(startAngle);\n var y = cy + r * mathSin(startAngle);\n var textAlign = 'left';\n var textVerticalAlign = 'top';\n\n switch (mappedSectorPosition) {\n case 'startArc':\n x = cx + (r0 - distance) * mathCos(middleAngle);\n y = cy + (r0 - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n\n case 'insideStartArc':\n x = cx + (r0 + distance) * mathCos(middleAngle);\n y = cy + (r0 + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'startAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, distance + extraDist, false);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideStartAngle':\n x = cx + middleR * mathCos(startAngle) + adjustAngleDistanceX(startAngle, -distance + extraDist, false);\n y = cy + middleR * mathSin(startAngle) + adjustAngleDistanceY(startAngle, -distance + extraDist, false);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n\n case 'middle':\n x = cx + middleR * mathCos(middleAngle);\n y = cy + middleR * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'middle';\n break;\n\n case 'endArc':\n x = cx + (r + distance) * mathCos(middleAngle);\n y = cy + (r + distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideEndArc':\n x = cx + (r - distance) * mathCos(middleAngle);\n y = cy + (r - distance) * mathSin(middleAngle);\n textAlign = 'center';\n textVerticalAlign = 'top';\n break;\n\n case 'endAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, distance + extraDist, true);\n textAlign = 'left';\n textVerticalAlign = 'middle';\n break;\n\n case 'insideEndAngle':\n x = cx + middleR * mathCos(endAngle) + adjustAngleDistanceX(endAngle, -distance + extraDist, true);\n y = cy + middleR * mathSin(endAngle) + adjustAngleDistanceY(endAngle, -distance + extraDist, true);\n textAlign = 'right';\n textVerticalAlign = 'middle';\n break;\n\n default:\n return calculateTextPosition(out, opts, boundingRect);\n }\n\n out = out || {};\n out.x = x;\n out.y = y;\n out.align = textAlign;\n out.verticalAlign = textVerticalAlign;\n return out;\n };\n}\nexport function setSectorTextRotation(sector, textPosition, positionMapping, rotateType) {\n if (isNumber(rotateType)) {\n // user-set rotation\n sector.setTextConfig({\n rotation: rotateType\n });\n return;\n } else if (isArray(textPosition)) {\n // user-set position, use 0 as auto rotation\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n\n var shape = sector.shape;\n var startAngle = shape.clockwise ? shape.startAngle : shape.endAngle;\n var endAngle = shape.clockwise ? shape.endAngle : shape.startAngle;\n var middleAngle = (startAngle + endAngle) / 2;\n var anchorAngle;\n var mappedSectorPosition = positionMapping(textPosition);\n\n switch (mappedSectorPosition) {\n case 'startArc':\n case 'insideStartArc':\n case 'middle':\n case 'insideEndArc':\n case 'endArc':\n anchorAngle = middleAngle;\n break;\n\n case 'startAngle':\n case 'insideStartAngle':\n anchorAngle = startAngle;\n break;\n\n case 'endAngle':\n case 'insideEndAngle':\n anchorAngle = endAngle;\n break;\n\n default:\n sector.setTextConfig({\n rotation: 0\n });\n return;\n }\n\n var rotate = Math.PI * 1.5 - anchorAngle;\n /**\r\n * TODO: labels with rotate > Math.PI / 2 should be rotate another\r\n * half round flipped to increase readability. However, only middle\r\n * position supports this for now, because in other positions, the\r\n * anchor point is not at the center of the text, so the positions\r\n * after rotating is not as expected.\r\n */\n\n if (mappedSectorPosition === 'middle' && rotate > Math.PI / 2 && rotate < Math.PI * 1.5) {\n rotate -= Math.PI;\n }\n\n sector.setTextConfig({\n rotation: rotate\n });\n}\n\nfunction adjustAngleDistanceX(angle, distance, isEnd) {\n return distance * Math.sin(angle) * (isEnd ? -1 : 1);\n}\n\nfunction adjustAngleDistanceY(angle, distance, isEnd) {\n return distance * Math.cos(angle) * (isEnd ? 1 : -1);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isArray, map } from 'zrender/lib/core/util.js';\nimport { parsePercent } from 'zrender/lib/contain/text.js';\nexport function getSectorCornerRadius(model, shape, zeroIfNull) {\n var cornerRadius = model.get('borderRadius');\n\n if (cornerRadius == null) {\n return zeroIfNull ? {\n cornerRadius: 0\n } : null;\n }\n\n if (!isArray(cornerRadius)) {\n cornerRadius = [cornerRadius, cornerRadius, cornerRadius, cornerRadius];\n }\n\n var dr = Math.abs(shape.r || 0 - shape.r0 || 0);\n return {\n cornerRadius: map(cornerRadius, function (cr) {\n return parsePercent(cr, dr);\n })\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport Path from 'zrender/lib/graphic/Path.js';\nimport Group from 'zrender/lib/graphic/Group.js';\nimport { extend, each, map } from 'zrender/lib/core/util.js';\nimport { Rect, Sector, updateProps, initProps, removeElementWithFadeOut, traverseElements } from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport { setLabelStyle, getLabelStatesModels, setLabelValueAnimation, labelInner } from '../../label/labelStyle.js';\nimport { throttle } from '../../util/throttle.js';\nimport { createClipPath } from '../helper/createClipPathFromCoordSys.js';\nimport Sausage from '../../util/shape/sausage.js';\nimport ChartView from '../../view/Chart.js';\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\nimport { getDefaultLabel, getDefaultInterpolatedLabel } from '../helper/labelHelper.js';\nimport { warn } from '../../util/log.js';\nimport { createSectorCalculateTextPosition, setSectorTextRotation } from '../../label/sectorLabel.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nvar mathMax = Math.max;\nvar mathMin = Math.min;\n\nfunction getClipArea(coord, data) {\n var coordSysClipArea = coord.getArea && coord.getArea();\n\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var baseAxis = coord.getBaseAxis(); // When boundaryGap is false or using time axis. bar may exceed the grid.\n // We should not clip this part.\n // See test/bar2.html\n\n if (baseAxis.type !== 'category' || !baseAxis.onBand) {\n var expandWidth = data.getLayout('bandWidth');\n\n if (baseAxis.isHorizontal()) {\n coordSysClipArea.x -= expandWidth;\n coordSysClipArea.width += expandWidth * 2;\n } else {\n coordSysClipArea.y -= expandWidth;\n coordSysClipArea.height += expandWidth * 2;\n }\n }\n }\n\n return coordSysClipArea;\n}\n\nvar BarView =\n/** @class */\nfunction (_super) {\n __extends(BarView, _super);\n\n function BarView() {\n var _this = _super.call(this) || this;\n\n _this.type = BarView.type;\n _this._isFirstFrame = true;\n return _this;\n }\n\n BarView.prototype.render = function (seriesModel, ecModel, api, payload) {\n this._model = seriesModel;\n\n this._removeOnRenderedListener(api);\n\n this._updateDrawMode(seriesModel);\n\n var coordinateSystemType = seriesModel.get('coordinateSystem');\n\n if (coordinateSystemType === 'cartesian2d' || coordinateSystemType === 'polar') {\n // Clear previously rendered progressive elements.\n this._progressiveEls = null;\n this._isLargeDraw ? this._renderLarge(seriesModel, ecModel, api) : this._renderNormal(seriesModel, ecModel, api, payload);\n } else if (process.env.NODE_ENV !== 'production') {\n warn('Only cartesian2d and polar supported for bar.');\n }\n };\n\n BarView.prototype.incrementalPrepareRender = function (seriesModel) {\n this._clear();\n\n this._updateDrawMode(seriesModel); // incremental also need to clip, otherwise might be overlow.\n // But must not set clip in each frame, otherwise all of the children will be marked redraw.\n\n\n this._updateLargeClip(seriesModel);\n };\n\n BarView.prototype.incrementalRender = function (params, seriesModel) {\n // Reset\n this._progressiveEls = []; // Do not support progressive in normal mode.\n\n this._incrementalRenderLarge(params, seriesModel);\n };\n\n BarView.prototype.eachRendered = function (cb) {\n traverseElements(this._progressiveEls || this.group, cb);\n };\n\n BarView.prototype._updateDrawMode = function (seriesModel) {\n var isLargeDraw = seriesModel.pipelineContext.large;\n\n if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {\n this._isLargeDraw = isLargeDraw;\n\n this._clear();\n }\n };\n\n BarView.prototype._renderNormal = function (seriesModel, ecModel, api, payload) {\n var group = this.group;\n var data = seriesModel.getData();\n var oldData = this._data;\n var coord = seriesModel.coordinateSystem;\n var baseAxis = coord.getBaseAxis();\n var isHorizontalOrRadial;\n\n if (coord.type === 'cartesian2d') {\n isHorizontalOrRadial = baseAxis.isHorizontal();\n } else if (coord.type === 'polar') {\n isHorizontalOrRadial = baseAxis.dim === 'angle';\n }\n\n var animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;\n var realtimeSortCfg = shouldRealtimeSort(seriesModel, coord);\n\n if (realtimeSortCfg) {\n this._enableRealtimeSort(realtimeSortCfg, data, api);\n }\n\n var needsClip = seriesModel.get('clip', true) || realtimeSortCfg;\n var coordSysClipArea = getClipArea(coord, data); // If there is clipPath created in large mode. Remove it.\n\n group.removeClipPath(); // We don't use clipPath in normal mode because we needs a perfect animation\n // And don't want the label are clipped.\n\n var roundCap = seriesModel.get('roundCap', true);\n var drawBackground = seriesModel.get('showBackground', true);\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var barBorderRadius = backgroundModel.get('borderRadius') || 0;\n var bgEls = [];\n var oldBgEls = this._backgroundEls;\n var isInitSort = payload && payload.isInitSort;\n var isChangeOrder = payload && payload.type === 'changeAxisOrder';\n\n function createBackground(dataIndex) {\n var bgLayout = getLayout[coord.type](data, dataIndex);\n var bgEl = createBackgroundEl(coord, isHorizontalOrRadial, bgLayout);\n bgEl.useStyle(backgroundModel.getItemStyle()); // Only cartesian2d support borderRadius.\n\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n\n bgEls[dataIndex] = bgEl;\n return bgEl;\n }\n\n ;\n data.diff(oldData).add(function (dataIndex) {\n var itemModel = data.getItemModel(dataIndex);\n var layout = getLayout[coord.type](data, dataIndex, itemModel);\n\n if (drawBackground) {\n createBackground(dataIndex);\n } // If dataZoom in filteMode: 'empty', the baseValue can be set as NaN in \"axisProxy\".\n\n\n if (!data.hasValue(dataIndex) || !isValidLayout[coord.type](layout)) {\n return;\n }\n\n var isClipped = false;\n\n if (needsClip) {\n // Clip will modify the layout params.\n // And return a boolean to determine if the shape are fully clipped.\n isClipped = clip[coord.type](coordSysClipArea, layout);\n }\n\n var el = elementCreator[coord.type](seriesModel, data, dataIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, false, roundCap);\n\n if (realtimeSortCfg) {\n /**\r\n * Force label animation because even if the element is\r\n * ignored because it's clipped, it may not be clipped after\r\n * changing order. Then, if not using forceLabelAnimation,\r\n * the label animation was never started, in which case,\r\n * the label will be the final value and doesn't have label\r\n * animation.\r\n */\n el.forceLabelAnimation = true;\n }\n\n updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, dataIndex, isHorizontalOrRadial, false, false);\n } else {\n initProps(el, {\n shape: layout\n }, seriesModel, dataIndex);\n }\n\n data.setItemGraphicEl(dataIndex, el);\n group.add(el);\n el.ignore = isClipped;\n }).update(function (newIndex, oldIndex) {\n var itemModel = data.getItemModel(newIndex);\n var layout = getLayout[coord.type](data, newIndex, itemModel);\n\n if (drawBackground) {\n var bgEl = void 0;\n\n if (oldBgEls.length === 0) {\n bgEl = createBackground(oldIndex);\n } else {\n bgEl = oldBgEls[oldIndex];\n bgEl.useStyle(backgroundModel.getItemStyle()); // Only cartesian2d support borderRadius.\n\n if (coord.type === 'cartesian2d') {\n bgEl.setShape('r', barBorderRadius);\n } else {\n bgEl.setShape('cornerRadius', barBorderRadius);\n }\n\n bgEls[newIndex] = bgEl;\n }\n\n var bgLayout = getLayout[coord.type](data, newIndex);\n var shape = createBackgroundShape(isHorizontalOrRadial, bgLayout, coord);\n updateProps(bgEl, {\n shape: shape\n }, animationModel, newIndex);\n }\n\n var el = oldData.getItemGraphicEl(oldIndex);\n\n if (!data.hasValue(newIndex) || !isValidLayout[coord.type](layout)) {\n group.remove(el);\n return;\n }\n\n var isClipped = false;\n\n if (needsClip) {\n isClipped = clip[coord.type](coordSysClipArea, layout);\n\n if (isClipped) {\n group.remove(el);\n }\n }\n\n if (!el) {\n el = elementCreator[coord.type](seriesModel, data, newIndex, layout, isHorizontalOrRadial, animationModel, baseAxis.model, !!el, roundCap);\n } else {\n saveOldStyle(el);\n }\n\n if (realtimeSortCfg) {\n el.forceLabelAnimation = true;\n }\n\n if (isChangeOrder) {\n var textEl = el.getTextContent();\n\n if (textEl) {\n var labelInnerStore = labelInner(textEl);\n\n if (labelInnerStore.prevValue != null) {\n /**\r\n * Set preValue to be value so that no new label\r\n * should be started, otherwise, it will take a full\r\n * `animationDurationUpdate` time to finish the\r\n * animation, which is not expected.\r\n */\n labelInnerStore.prevValue = labelInnerStore.value;\n }\n }\n } // Not change anything if only order changed.\n // Especially not change label.\n else {\n updateStyle(el, data, newIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, coord.type === 'polar');\n }\n\n if (isInitSort) {\n el.attr({\n shape: layout\n });\n } else if (realtimeSortCfg) {\n updateRealtimeAnimation(realtimeSortCfg, animationModel, el, layout, newIndex, isHorizontalOrRadial, true, isChangeOrder);\n } else {\n updateProps(el, {\n shape: layout\n }, seriesModel, newIndex, null);\n }\n\n data.setItemGraphicEl(newIndex, el);\n el.ignore = isClipped;\n group.add(el);\n }).remove(function (dataIndex) {\n var el = oldData.getItemGraphicEl(dataIndex);\n el && removeElementWithFadeOut(el, seriesModel, dataIndex);\n }).execute();\n var bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());\n bgGroup.removeAll();\n\n for (var i = 0; i < bgEls.length; ++i) {\n bgGroup.add(bgEls[i]);\n }\n\n group.add(bgGroup);\n this._backgroundEls = bgEls;\n this._data = data;\n };\n\n BarView.prototype._renderLarge = function (seriesModel, ecModel, api) {\n this._clear();\n\n createLarge(seriesModel, this.group);\n\n this._updateLargeClip(seriesModel);\n };\n\n BarView.prototype._incrementalRenderLarge = function (params, seriesModel) {\n this._removeBackground();\n\n createLarge(seriesModel, this.group, this._progressiveEls, true);\n };\n\n BarView.prototype._updateLargeClip = function (seriesModel) {\n // Use clipPath in large mode.\n var clipPath = seriesModel.get('clip', true) && createClipPath(seriesModel.coordinateSystem, false, seriesModel);\n var group = this.group;\n\n if (clipPath) {\n group.setClipPath(clipPath);\n } else {\n group.removeClipPath();\n }\n };\n\n BarView.prototype._enableRealtimeSort = function (realtimeSortCfg, data, api) {\n var _this = this; // If no data in the first frame, wait for data to initSort\n\n\n if (!data.count()) {\n return;\n }\n\n var baseAxis = realtimeSortCfg.baseAxis;\n\n if (this._isFirstFrame) {\n this._dispatchInitSort(data, realtimeSortCfg, api);\n\n this._isFirstFrame = false;\n } else {\n var orderMapping_1 = function (idx) {\n var el = data.getItemGraphicEl(idx);\n var shape = el && el.shape;\n return shape && // The result should be consistent with the initial sort by data value.\n // Do not support the case that both positive and negative exist.\n Math.abs(baseAxis.isHorizontal() ? shape.height : shape.width) // If data is NaN, shape.xxx may be NaN, so use || 0 here in case\n || 0;\n };\n\n this._onRendered = function () {\n _this._updateSortWithinSameData(data, orderMapping_1, baseAxis, api);\n };\n\n api.getZr().on('rendered', this._onRendered);\n }\n };\n\n BarView.prototype._dataSort = function (data, baseAxis, orderMapping) {\n var info = [];\n data.each(data.mapDimension(baseAxis.dim), function (ordinalNumber, dataIdx) {\n var mappedValue = orderMapping(dataIdx);\n mappedValue = mappedValue == null ? NaN : mappedValue;\n info.push({\n dataIndex: dataIdx,\n mappedValue: mappedValue,\n ordinalNumber: ordinalNumber\n });\n });\n info.sort(function (a, b) {\n // If NaN, it will be treated as min val.\n return b.mappedValue - a.mappedValue;\n });\n return {\n ordinalNumbers: map(info, function (item) {\n return item.ordinalNumber;\n })\n };\n };\n\n BarView.prototype._isOrderChangedWithinSameData = function (data, orderMapping, baseAxis) {\n var scale = baseAxis.scale;\n var ordinalDataDim = data.mapDimension(baseAxis.dim);\n var lastValue = Number.MAX_VALUE;\n\n for (var tickNum = 0, len = scale.getOrdinalMeta().categories.length; tickNum < len; ++tickNum) {\n var rawIdx = data.rawIndexOf(ordinalDataDim, scale.getRawOrdinalNumber(tickNum));\n var value = rawIdx < 0 // If some tick have no bar, the tick will be treated as min.\n ? Number.MIN_VALUE // PENDING: if dataZoom on baseAxis exits, is it a performance issue?\n : orderMapping(data.indexOfRawIndex(rawIdx));\n\n if (value > lastValue) {\n return true;\n }\n\n lastValue = value;\n }\n\n return false;\n };\n /*\r\n * Consider the case when A and B changed order, whose representing\r\n * bars are both out of sight, we don't wish to trigger reorder action\r\n * as long as the order in the view doesn't change.\r\n */\n\n\n BarView.prototype._isOrderDifferentInView = function (orderInfo, baseAxis) {\n var scale = baseAxis.scale;\n var extent = scale.getExtent();\n var tickNum = Math.max(0, extent[0]);\n var tickMax = Math.min(extent[1], scale.getOrdinalMeta().categories.length - 1);\n\n for (; tickNum <= tickMax; ++tickNum) {\n if (orderInfo.ordinalNumbers[tickNum] !== scale.getRawOrdinalNumber(tickNum)) {\n return true;\n }\n }\n };\n\n BarView.prototype._updateSortWithinSameData = function (data, orderMapping, baseAxis, api) {\n if (!this._isOrderChangedWithinSameData(data, orderMapping, baseAxis)) {\n return;\n }\n\n var sortInfo = this._dataSort(data, baseAxis, orderMapping);\n\n if (this._isOrderDifferentInView(sortInfo, baseAxis)) {\n this._removeOnRenderedListener(api);\n\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n axisId: baseAxis.index,\n sortInfo: sortInfo\n });\n }\n };\n\n BarView.prototype._dispatchInitSort = function (data, realtimeSortCfg, api) {\n var baseAxis = realtimeSortCfg.baseAxis;\n\n var sortResult = this._dataSort(data, baseAxis, function (dataIdx) {\n return data.get(data.mapDimension(realtimeSortCfg.otherAxis.dim), dataIdx);\n });\n\n api.dispatchAction({\n type: 'changeAxisOrder',\n componentType: baseAxis.dim + 'Axis',\n isInitSort: true,\n axisId: baseAxis.index,\n sortInfo: sortResult\n });\n };\n\n BarView.prototype.remove = function (ecModel, api) {\n this._clear(this._model);\n\n this._removeOnRenderedListener(api);\n };\n\n BarView.prototype.dispose = function (ecModel, api) {\n this._removeOnRenderedListener(api);\n };\n\n BarView.prototype._removeOnRenderedListener = function (api) {\n if (this._onRendered) {\n api.getZr().off('rendered', this._onRendered);\n this._onRendered = null;\n }\n };\n\n BarView.prototype._clear = function (model) {\n var group = this.group;\n var data = this._data;\n\n if (model && model.isAnimationEnabled() && data && !this._isLargeDraw) {\n this._removeBackground();\n\n this._backgroundEls = [];\n data.eachItemGraphicEl(function (el) {\n removeElementWithFadeOut(el, model, getECData(el).dataIndex);\n });\n } else {\n group.removeAll();\n }\n\n this._data = null;\n this._isFirstFrame = true;\n };\n\n BarView.prototype._removeBackground = function () {\n this.group.remove(this._backgroundGroup);\n this._backgroundGroup = null;\n };\n\n BarView.type = 'bar';\n return BarView;\n}(ChartView);\n\nvar clip = {\n cartesian2d: function (coordSysBoundingRect, layout) {\n var signWidth = layout.width < 0 ? -1 : 1;\n var signHeight = layout.height < 0 ? -1 : 1; // Needs positive width and height\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n var coordSysX2 = coordSysBoundingRect.x + coordSysBoundingRect.width;\n var coordSysY2 = coordSysBoundingRect.y + coordSysBoundingRect.height;\n var x = mathMax(layout.x, coordSysBoundingRect.x);\n var x2 = mathMin(layout.x + layout.width, coordSysX2);\n var y = mathMax(layout.y, coordSysBoundingRect.y);\n var y2 = mathMin(layout.y + layout.height, coordSysY2);\n var xClipped = x2 < x;\n var yClipped = y2 < y; // When xClipped or yClipped, the element will be marked as `ignore`.\n // But we should also place the element at the edge of the coord sys bounding rect.\n // Because if data changed and the bar shows again, its transition animation\n // will begin at this place.\n\n layout.x = xClipped && x > coordSysX2 ? x2 : x;\n layout.y = yClipped && y > coordSysY2 ? y2 : y;\n layout.width = xClipped ? 0 : x2 - x;\n layout.height = yClipped ? 0 : y2 - y; // Reverse back\n\n if (signWidth < 0) {\n layout.x += layout.width;\n layout.width = -layout.width;\n }\n\n if (signHeight < 0) {\n layout.y += layout.height;\n layout.height = -layout.height;\n }\n\n return xClipped || yClipped;\n },\n polar: function (coordSysClipArea, layout) {\n var signR = layout.r0 <= layout.r ? 1 : -1; // Make sure r is larger than r0\n\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n\n var r = mathMin(layout.r, coordSysClipArea.r);\n var r0 = mathMax(layout.r0, coordSysClipArea.r0);\n layout.r = r;\n layout.r0 = r0;\n var clipped = r - r0 < 0; // Reverse back\n\n if (signR < 0) {\n var tmp = layout.r;\n layout.r = layout.r0;\n layout.r0 = tmp;\n }\n\n return clipped;\n }\n};\nvar elementCreator = {\n cartesian2d: function (seriesModel, data, newIndex, layout, isHorizontal, animationModel, axisModel, isUpdate, roundCap) {\n var rect = new Rect({\n shape: extend({}, layout),\n z2: 1\n });\n rect.__dataIndex = newIndex;\n rect.name = 'item';\n\n if (animationModel) {\n var rectShape = rect.shape;\n var animateProperty = isHorizontal ? 'height' : 'width';\n rectShape[animateProperty] = 0;\n }\n\n return rect;\n },\n polar: function (seriesModel, data, newIndex, layout, isRadial, animationModel, axisModel, isUpdate, roundCap) {\n var ShapeClass = !isRadial && roundCap ? Sausage : Sector;\n var sector = new ShapeClass({\n shape: layout,\n z2: 1\n });\n sector.name = 'item';\n var positionMap = createPolarPositionMapping(isRadial);\n sector.calculateTextPosition = createSectorCalculateTextPosition(positionMap, {\n isRoundCap: ShapeClass === Sausage\n }); // Animation\n\n if (animationModel) {\n var sectorShape = sector.shape;\n var animateProperty = isRadial ? 'r' : 'endAngle';\n var animateTarget = {};\n sectorShape[animateProperty] = isRadial ? layout.r0 : layout.startAngle;\n animateTarget[animateProperty] = layout[animateProperty];\n (isUpdate ? updateProps : initProps)(sector, {\n shape: animateTarget // __value: typeof dataValue === 'string' ? parseInt(dataValue, 10) : dataValue\n\n }, animationModel);\n }\n\n return sector;\n }\n};\n\nfunction shouldRealtimeSort(seriesModel, coordSys) {\n var realtimeSortOption = seriesModel.get('realtimeSort', true);\n var baseAxis = coordSys.getBaseAxis();\n\n if (process.env.NODE_ENV !== 'production') {\n if (realtimeSortOption) {\n if (baseAxis.type !== 'category') {\n warn('`realtimeSort` will not work because this bar series is not based on a category axis.');\n }\n\n if (coordSys.type !== 'cartesian2d') {\n warn('`realtimeSort` will not work because this bar series is not on cartesian2d.');\n }\n }\n }\n\n if (realtimeSortOption && baseAxis.type === 'category' && coordSys.type === 'cartesian2d') {\n return {\n baseAxis: baseAxis,\n otherAxis: coordSys.getOtherAxis(baseAxis)\n };\n }\n}\n\nfunction updateRealtimeAnimation(realtimeSortCfg, seriesAnimationModel, el, layout, newIndex, isHorizontal, isUpdate, isChangeOrder) {\n var seriesTarget;\n var axisTarget;\n\n if (isHorizontal) {\n axisTarget = {\n x: layout.x,\n width: layout.width\n };\n seriesTarget = {\n y: layout.y,\n height: layout.height\n };\n } else {\n axisTarget = {\n y: layout.y,\n height: layout.height\n };\n seriesTarget = {\n x: layout.x,\n width: layout.width\n };\n }\n\n if (!isChangeOrder) {\n // Keep the original growth animation if only axis order changed.\n // Not start a new animation.\n (isUpdate ? updateProps : initProps)(el, {\n shape: seriesTarget\n }, seriesAnimationModel, newIndex, null);\n }\n\n var axisAnimationModel = seriesAnimationModel ? realtimeSortCfg.baseAxis.model : null;\n (isUpdate ? updateProps : initProps)(el, {\n shape: axisTarget\n }, axisAnimationModel, newIndex);\n}\n\nfunction checkPropertiesNotValid(obj, props) {\n for (var i = 0; i < props.length; i++) {\n if (!isFinite(obj[props[i]])) {\n return true;\n }\n }\n\n return false;\n}\n\nvar rectPropties = ['x', 'y', 'width', 'height'];\nvar polarPropties = ['cx', 'cy', 'r', 'startAngle', 'endAngle'];\nvar isValidLayout = {\n cartesian2d: function (layout) {\n return !checkPropertiesNotValid(layout, rectPropties);\n },\n polar: function (layout) {\n return !checkPropertiesNotValid(layout, polarPropties);\n }\n};\nvar getLayout = {\n // itemModel is only used to get borderWidth, which is not needed\n // when calculating bar background layout.\n cartesian2d: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n var fixedLineWidth = itemModel ? getLineWidth(itemModel, layout) : 0; // fix layout with lineWidth\n\n var signX = layout.width > 0 ? 1 : -1;\n var signY = layout.height > 0 ? 1 : -1;\n return {\n x: layout.x + signX * fixedLineWidth / 2,\n y: layout.y + signY * fixedLineWidth / 2,\n width: layout.width - signX * fixedLineWidth,\n height: layout.height - signY * fixedLineWidth\n };\n },\n polar: function (data, dataIndex, itemModel) {\n var layout = data.getItemLayout(dataIndex);\n return {\n cx: layout.cx,\n cy: layout.cy,\n r0: layout.r0,\n r: layout.r,\n startAngle: layout.startAngle,\n endAngle: layout.endAngle,\n clockwise: layout.clockwise\n };\n }\n};\n\nfunction isZeroOnPolar(layout) {\n return layout.startAngle != null && layout.endAngle != null && layout.startAngle === layout.endAngle;\n}\n\nfunction createPolarPositionMapping(isRadial) {\n return function (isRadial) {\n var arcOrAngle = isRadial ? 'Arc' : 'Angle';\n return function (position) {\n switch (position) {\n case 'start':\n case 'insideStart':\n case 'end':\n case 'insideEnd':\n return position + arcOrAngle;\n\n default:\n return position;\n }\n };\n }(isRadial);\n}\n\nfunction updateStyle(el, data, dataIndex, itemModel, layout, seriesModel, isHorizontalOrRadial, isPolar) {\n var style = data.getItemVisual(dataIndex, 'style');\n\n if (!isPolar) {\n var borderRadius = itemModel.get(['itemStyle', 'borderRadius']) || 0;\n el.setShape('r', borderRadius);\n } else if (!seriesModel.get('roundCap')) {\n var sectorShape = el.shape;\n var cornerRadius = getSectorCornerRadius(itemModel.getModel('itemStyle'), sectorShape, true);\n extend(sectorShape, cornerRadius);\n el.setShape(sectorShape);\n }\n\n el.useStyle(style);\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && el.attr('cursor', cursorStyle);\n var labelPositionOutside = isPolar ? isHorizontalOrRadial ? layout.r >= layout.r0 ? 'endArc' : 'startArc' : layout.endAngle >= layout.startAngle ? 'endAngle' : 'startAngle' : isHorizontalOrRadial ? layout.height >= 0 ? 'bottom' : 'top' : layout.width >= 0 ? 'right' : 'left';\n var labelStatesModels = getLabelStatesModels(itemModel);\n setLabelStyle(el, labelStatesModels, {\n labelFetcher: seriesModel,\n labelDataIndex: dataIndex,\n defaultText: getDefaultLabel(seriesModel.getData(), dataIndex),\n inheritColor: style.fill,\n defaultOpacity: style.opacity,\n defaultOutsidePosition: labelPositionOutside\n });\n var label = el.getTextContent();\n\n if (isPolar && label) {\n var position = itemModel.get(['label', 'position']);\n el.textConfig.inside = position === 'middle' ? true : null;\n setSectorTextRotation(el, position === 'outside' ? labelPositionOutside : position, createPolarPositionMapping(isHorizontalOrRadial), itemModel.get(['label', 'rotate']));\n }\n\n setLabelValueAnimation(label, labelStatesModels, seriesModel.getRawValue(dataIndex), function (value) {\n return getDefaultInterpolatedLabel(data, value);\n });\n var emphasisModel = itemModel.getModel(['emphasis']);\n toggleHoverEmphasis(el, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n setStatesStylesFromModel(el, itemModel);\n\n if (isZeroOnPolar(layout)) {\n el.style.fill = 'none';\n el.style.stroke = 'none';\n each(el.states, function (state) {\n if (state.style) {\n state.style.fill = state.style.stroke = 'none';\n }\n });\n }\n} // In case width or height are too small.\n\n\nfunction getLineWidth(itemModel, rawLayout) {\n // Has no border.\n var borderColor = itemModel.get(['itemStyle', 'borderColor']);\n\n if (!borderColor || borderColor === 'none') {\n return 0;\n }\n\n var lineWidth = itemModel.get(['itemStyle', 'borderWidth']) || 0; // width or height may be NaN for empty data\n\n var width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);\n var height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);\n return Math.min(lineWidth, width, height);\n}\n\nvar LagePathShape =\n/** @class */\nfunction () {\n function LagePathShape() {}\n\n return LagePathShape;\n}();\n\nvar LargePath =\n/** @class */\nfunction (_super) {\n __extends(LargePath, _super);\n\n function LargePath(opts) {\n var _this = _super.call(this, opts) || this;\n\n _this.type = 'largeBar';\n return _this;\n }\n\n LargePath.prototype.getDefaultShape = function () {\n return new LagePathShape();\n };\n\n LargePath.prototype.buildPath = function (ctx, shape) {\n // Drawing lines is more efficient than drawing\n // a whole line or drawing rects.\n var points = shape.points;\n var baseDimIdx = this.baseDimIdx;\n var valueDimIdx = 1 - this.baseDimIdx;\n var startPoint = [];\n var size = [];\n var barWidth = this.barWidth;\n\n for (var i = 0; i < points.length; i += 3) {\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[i + 2];\n startPoint[baseDimIdx] = points[i + baseDimIdx];\n startPoint[valueDimIdx] = points[i + valueDimIdx];\n ctx.rect(startPoint[0], startPoint[1], size[0], size[1]);\n }\n };\n\n return LargePath;\n}(Path);\n\nfunction createLarge(seriesModel, group, progressiveEls, incremental) {\n // TODO support polar\n var data = seriesModel.getData();\n var baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;\n var largeDataIndices = data.getLayout('largeDataIndices');\n var barWidth = data.getLayout('size');\n var backgroundModel = seriesModel.getModel('backgroundStyle');\n var bgPoints = data.getLayout('largeBackgroundPoints');\n\n if (bgPoints) {\n var bgEl = new LargePath({\n shape: {\n points: bgPoints\n },\n incremental: !!incremental,\n silent: true,\n z2: 0\n });\n bgEl.baseDimIdx = baseDimIdx;\n bgEl.largeDataIndices = largeDataIndices;\n bgEl.barWidth = barWidth;\n bgEl.useStyle(backgroundModel.getItemStyle());\n group.add(bgEl);\n progressiveEls && progressiveEls.push(bgEl);\n }\n\n var el = new LargePath({\n shape: {\n points: data.getLayout('largePoints')\n },\n incremental: !!incremental,\n ignoreCoarsePointer: true,\n z2: 1\n });\n el.baseDimIdx = baseDimIdx;\n el.largeDataIndices = largeDataIndices;\n el.barWidth = barWidth;\n group.add(el);\n el.useStyle(data.getVisual('style')); // Enable tooltip and user mouse/touch event handlers.\n\n getECData(el).seriesIndex = seriesModel.seriesIndex;\n\n if (!seriesModel.get('silent')) {\n el.on('mousedown', largePathUpdateDataIndex);\n el.on('mousemove', largePathUpdateDataIndex);\n }\n\n progressiveEls && progressiveEls.push(el);\n} // Use throttle to avoid frequently traverse to find dataIndex.\n\n\nvar largePathUpdateDataIndex = throttle(function (event) {\n var largePath = this;\n var dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);\n getECData(largePath).dataIndex = dataIndex >= 0 ? dataIndex : null;\n}, 30, false);\n\nfunction largePathFindDataIndex(largePath, x, y) {\n var baseDimIdx = largePath.baseDimIdx;\n var valueDimIdx = 1 - baseDimIdx;\n var points = largePath.shape.points;\n var largeDataIndices = largePath.largeDataIndices;\n var startPoint = [];\n var size = [];\n var barWidth = largePath.barWidth;\n\n for (var i = 0, len = points.length / 3; i < len; i++) {\n var ii = i * 3;\n size[baseDimIdx] = barWidth;\n size[valueDimIdx] = points[ii + 2];\n startPoint[baseDimIdx] = points[ii + baseDimIdx];\n startPoint[valueDimIdx] = points[ii + valueDimIdx];\n\n if (size[valueDimIdx] < 0) {\n startPoint[valueDimIdx] += size[valueDimIdx];\n size[valueDimIdx] = -size[valueDimIdx];\n }\n\n if (x >= startPoint[0] && x <= startPoint[0] + size[0] && y >= startPoint[1] && y <= startPoint[1] + size[1]) {\n return largeDataIndices[i];\n }\n }\n\n return -1;\n}\n\nfunction createBackgroundShape(isHorizontalOrRadial, layout, coord) {\n if (isCoordinateSystemType(coord, 'cartesian2d')) {\n var rectShape = layout;\n var coordLayout = coord.getArea();\n return {\n x: isHorizontalOrRadial ? rectShape.x : coordLayout.x,\n y: isHorizontalOrRadial ? coordLayout.y : rectShape.y,\n width: isHorizontalOrRadial ? rectShape.width : coordLayout.width,\n height: isHorizontalOrRadial ? coordLayout.height : rectShape.height\n };\n } else {\n var coordLayout = coord.getArea();\n var sectorShape = layout;\n return {\n cx: coordLayout.cx,\n cy: coordLayout.cy,\n r0: isHorizontalOrRadial ? coordLayout.r0 : sectorShape.r0,\n r: isHorizontalOrRadial ? coordLayout.r : sectorShape.r,\n startAngle: isHorizontalOrRadial ? sectorShape.startAngle : 0,\n endAngle: isHorizontalOrRadial ? sectorShape.endAngle : Math.PI * 2\n };\n }\n}\n\nfunction createBackgroundEl(coord, isHorizontalOrRadial, layout) {\n var ElementClz = coord.type === 'polar' ? Sector : Rect;\n return new ElementClz({\n shape: createBackgroundShape(isHorizontalOrRadial, layout, coord),\n silent: true,\n z2: 0\n });\n}\n\nexport default BarView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { layout, createProgressiveLayout } from '../../layout/barGrid.js';\nimport dataSample from '../../processor/dataSample.js';\nimport BarSeries from './BarSeries.js';\nimport BarView from './BarView.js';\nexport function install(registers) {\n registers.registerChartView(BarView);\n registers.registerSeriesModel(BarSeries);\n registers.registerLayout(registers.PRIORITY.VISUAL.LAYOUT, zrUtil.curry(layout, 'bar')); // Do layout after other overall layout, which can prepare some information.\n\n registers.registerLayout(registers.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, createProgressiveLayout('bar')); // Down sample after filter\n\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, dataSample('bar'));\n /**\r\n * @payload\r\n * @property {string} [componentType=series]\r\n * @property {number} [dx]\r\n * @property {number} [dy]\r\n * @property {number} [zoom]\r\n * @property {number} [originX]\r\n * @property {number} [originY]\r\n */\n\n registers.registerAction({\n type: 'changeAxisOrder',\n event: 'changeAxisOrder',\n update: 'update'\n }, function (payload, ecModel) {\n var componentType = payload.componentType || 'series';\n ecModel.eachComponent({\n mainType: componentType,\n query: payload\n }, function (componentModel) {\n if (payload.sortInfo) {\n componentModel.axis.setCategorySortInfo(payload.sortInfo);\n }\n });\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { parsePercent, linearMap } from '../../util/number.js';\nimport * as layout from '../../util/layout.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar PI2 = Math.PI * 2;\nvar RADIAN = Math.PI / 180;\n\nfunction getViewRect(seriesModel, api) {\n return layout.getLayoutRect(seriesModel.getBoxLayoutParams(), {\n width: api.getWidth(),\n height: api.getHeight()\n });\n}\n\nexport function getBasicPieLayout(seriesModel, api) {\n var viewRect = getViewRect(seriesModel, api); // center can be string or number when coordinateSystem is specified\n\n var center = seriesModel.get('center');\n var radius = seriesModel.get('radius');\n\n if (!zrUtil.isArray(radius)) {\n radius = [0, radius];\n }\n\n var width = parsePercent(viewRect.width, api.getWidth());\n var height = parsePercent(viewRect.height, api.getHeight());\n var size = Math.min(width, height);\n var r0 = parsePercent(radius[0], size / 2);\n var r = parsePercent(radius[1], size / 2);\n var cx;\n var cy;\n var coordSys = seriesModel.coordinateSystem;\n\n if (coordSys) {\n // percentage is not allowed when coordinate system is specified\n var point = coordSys.dataToPoint(center);\n cx = point[0] || 0;\n cy = point[1] || 0;\n } else {\n if (!zrUtil.isArray(center)) {\n center = [center, center];\n }\n\n cx = parsePercent(center[0], width) + viewRect.x;\n cy = parsePercent(center[1], height) + viewRect.y;\n }\n\n return {\n cx: cx,\n cy: cy,\n r0: r0,\n r: r\n };\n}\nexport default function pieLayout(seriesType, ecModel, api) {\n ecModel.eachSeriesByType(seriesType, function (seriesModel) {\n var data = seriesModel.getData();\n var valueDim = data.mapDimension('value');\n var viewRect = getViewRect(seriesModel, api);\n\n var _a = getBasicPieLayout(seriesModel, api),\n cx = _a.cx,\n cy = _a.cy,\n r = _a.r,\n r0 = _a.r0;\n\n var startAngle = -seriesModel.get('startAngle') * RADIAN;\n var minAngle = seriesModel.get('minAngle') * RADIAN;\n var validDataCount = 0;\n data.each(valueDim, function (value) {\n !isNaN(value) && validDataCount++;\n });\n var sum = data.getSum(valueDim); // Sum may be 0\n\n var unitRadian = Math.PI / (sum || validDataCount) * 2;\n var clockwise = seriesModel.get('clockwise');\n var roseType = seriesModel.get('roseType');\n var stillShowZeroSum = seriesModel.get('stillShowZeroSum'); // [0...max]\n\n var extent = data.getDataExtent(valueDim);\n extent[0] = 0; // In the case some sector angle is smaller than minAngle\n\n var restAngle = PI2;\n var valueSumLargerThanMinAngle = 0;\n var currentAngle = startAngle;\n var dir = clockwise ? 1 : -1;\n data.setLayout({\n viewRect: viewRect,\n r: r\n });\n data.each(valueDim, function (value, idx) {\n var angle;\n\n if (isNaN(value)) {\n data.setItemLayout(idx, {\n angle: NaN,\n startAngle: NaN,\n endAngle: NaN,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: r0,\n r: roseType ? NaN : r\n });\n return;\n } // FIXME 兼容 2.0 但是 roseType 是 area 的时候才是这样?\n\n\n if (roseType !== 'area') {\n angle = sum === 0 && stillShowZeroSum ? unitRadian : value * unitRadian;\n } else {\n angle = PI2 / validDataCount;\n }\n\n if (angle < minAngle) {\n angle = minAngle;\n restAngle -= minAngle;\n } else {\n valueSumLargerThanMinAngle += value;\n }\n\n var endAngle = currentAngle + dir * angle;\n data.setItemLayout(idx, {\n angle: angle,\n startAngle: currentAngle,\n endAngle: endAngle,\n clockwise: clockwise,\n cx: cx,\n cy: cy,\n r0: r0,\n r: roseType ? linearMap(value, extent, [r0, r]) : r\n });\n currentAngle = endAngle;\n }); // Some sector is constrained by minAngle\n // Rest sectors needs recalculate angle\n\n if (restAngle < PI2 && validDataCount) {\n // Average the angle if rest angle is not enough after all angles is\n // Constrained by minAngle\n if (restAngle <= 1e-3) {\n var angle_1 = PI2 / validDataCount;\n data.each(valueDim, function (value, idx) {\n if (!isNaN(value)) {\n var layout_1 = data.getItemLayout(idx);\n layout_1.angle = angle_1;\n layout_1.startAngle = startAngle + dir * idx * angle_1;\n layout_1.endAngle = startAngle + dir * (idx + 1) * angle_1;\n }\n });\n } else {\n unitRadian = restAngle / valueSumLargerThanMinAngle;\n currentAngle = startAngle;\n data.each(valueDim, function (value, idx) {\n if (!isNaN(value)) {\n var layout_2 = data.getItemLayout(idx);\n var angle = layout_2.angle === minAngle ? minAngle : value * unitRadian;\n layout_2.startAngle = currentAngle;\n layout_2.endAngle = currentAngle + dir * angle;\n currentAngle += dir * angle;\n }\n });\n }\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function dataFilter(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (!legendModels || !legendModels.length) {\n return;\n }\n\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n var name = data.getName(idx); // If in any legend component the status is not selected.\n\n for (var i = 0; i < legendModels.length; i++) {\n // @ts-ignore FIXME: LegendModel\n if (!legendModels[i].isSelected(name)) {\n return false;\n }\n }\n\n return true;\n });\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// FIXME emphasis label position is not same with normal label position\nimport { parsePercent } from '../../util/number.js';\nimport { Point } from '../../util/graphic.js';\nimport { each, isNumber } from 'zrender/lib/core/util.js';\nimport { limitTurnAngle, limitSurfaceAngle } from '../../label/labelGuideHelper.js';\nimport { shiftLayoutOnY } from '../../label/labelLayoutHelper.js';\nvar RADIAN = Math.PI / 180;\n\nfunction adjustSingleSide(list, cx, cy, r, dir, viewWidth, viewHeight, viewLeft, viewTop, farthestX) {\n if (list.length < 2) {\n return;\n }\n\n ;\n\n function recalculateXOnSemiToAlignOnEllipseCurve(semi) {\n var rB = semi.rB;\n var rB2 = rB * rB;\n\n for (var i = 0; i < semi.list.length; i++) {\n var item = semi.list[i];\n var dy = Math.abs(item.label.y - cy); // horizontal r is always same with original r because x is not changed.\n\n var rA = r + item.len;\n var rA2 = rA * rA; // Use ellipse implicit function to calculate x\n\n var dx = Math.sqrt((1 - Math.abs(dy * dy / rB2)) * rA2);\n var newX = cx + (dx + item.len2) * dir;\n var deltaX = newX - item.label.x;\n var newTargetWidth = item.targetTextWidth - deltaX * dir; // text x is changed, so need to recalculate width.\n\n constrainTextWidth(item, newTargetWidth, true);\n item.label.x = newX;\n }\n } // Adjust X based on the shifted y. Make tight labels aligned on an ellipse curve.\n\n\n function recalculateX(items) {\n // Extremes of\n var topSemi = {\n list: [],\n maxY: 0\n };\n var bottomSemi = {\n list: [],\n maxY: 0\n };\n\n for (var i = 0; i < items.length; i++) {\n if (items[i].labelAlignTo !== 'none') {\n continue;\n }\n\n var item = items[i];\n var semi = item.label.y > cy ? bottomSemi : topSemi;\n var dy = Math.abs(item.label.y - cy);\n\n if (dy >= semi.maxY) {\n var dx = item.label.x - cx - item.len2 * dir; // horizontal r is always same with original r because x is not changed.\n\n var rA = r + item.len; // Canculate rB based on the topest / bottemest label.\n\n var rB = Math.abs(dx) < rA ? Math.sqrt(dy * dy / (1 - dx * dx / rA / rA)) : rA;\n semi.rB = rB;\n semi.maxY = dy;\n }\n\n semi.list.push(item);\n }\n\n recalculateXOnSemiToAlignOnEllipseCurve(topSemi);\n recalculateXOnSemiToAlignOnEllipseCurve(bottomSemi);\n }\n\n var len = list.length;\n\n for (var i = 0; i < len; i++) {\n if (list[i].position === 'outer' && list[i].labelAlignTo === 'labelLine') {\n var dx = list[i].label.x - farthestX;\n list[i].linePoints[1][0] += dx;\n list[i].label.x = farthestX;\n }\n }\n\n if (shiftLayoutOnY(list, viewTop, viewTop + viewHeight)) {\n recalculateX(list);\n }\n}\n\nfunction avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop) {\n var leftList = [];\n var rightList = [];\n var leftmostX = Number.MAX_VALUE;\n var rightmostX = -Number.MAX_VALUE;\n\n for (var i = 0; i < labelLayoutList.length; i++) {\n var label = labelLayoutList[i].label;\n\n if (isPositionCenter(labelLayoutList[i])) {\n continue;\n }\n\n if (label.x < cx) {\n leftmostX = Math.min(leftmostX, label.x);\n leftList.push(labelLayoutList[i]);\n } else {\n rightmostX = Math.max(rightmostX, label.x);\n rightList.push(labelLayoutList[i]);\n }\n }\n\n for (var i = 0; i < labelLayoutList.length; i++) {\n var layout = labelLayoutList[i];\n\n if (!isPositionCenter(layout) && layout.linePoints) {\n if (layout.labelStyleWidth != null) {\n continue;\n }\n\n var label = layout.label;\n var linePoints = layout.linePoints;\n var targetTextWidth = void 0;\n\n if (layout.labelAlignTo === 'edge') {\n if (label.x < cx) {\n targetTextWidth = linePoints[2][0] - layout.labelDistance - viewLeft - layout.edgeDistance;\n } else {\n targetTextWidth = viewLeft + viewWidth - layout.edgeDistance - linePoints[2][0] - layout.labelDistance;\n }\n } else if (layout.labelAlignTo === 'labelLine') {\n if (label.x < cx) {\n targetTextWidth = leftmostX - viewLeft - layout.bleedMargin;\n } else {\n targetTextWidth = viewLeft + viewWidth - rightmostX - layout.bleedMargin;\n }\n } else {\n if (label.x < cx) {\n targetTextWidth = label.x - viewLeft - layout.bleedMargin;\n } else {\n targetTextWidth = viewLeft + viewWidth - label.x - layout.bleedMargin;\n }\n }\n\n layout.targetTextWidth = targetTextWidth;\n constrainTextWidth(layout, targetTextWidth);\n }\n }\n\n adjustSingleSide(rightList, cx, cy, r, 1, viewWidth, viewHeight, viewLeft, viewTop, rightmostX);\n adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);\n\n for (var i = 0; i < labelLayoutList.length; i++) {\n var layout = labelLayoutList[i];\n\n if (!isPositionCenter(layout) && layout.linePoints) {\n var label = layout.label;\n var linePoints = layout.linePoints;\n var isAlignToEdge = layout.labelAlignTo === 'edge';\n var padding = label.style.padding;\n var paddingH = padding ? padding[1] + padding[3] : 0; // textRect.width already contains paddingH if bgColor is set\n\n var extraPaddingH = label.style.backgroundColor ? 0 : paddingH;\n var realTextWidth = layout.rect.width + extraPaddingH;\n var dist = linePoints[1][0] - linePoints[2][0];\n\n if (isAlignToEdge) {\n if (label.x < cx) {\n linePoints[2][0] = viewLeft + layout.edgeDistance + realTextWidth + layout.labelDistance;\n } else {\n linePoints[2][0] = viewLeft + viewWidth - layout.edgeDistance - realTextWidth - layout.labelDistance;\n }\n } else {\n if (label.x < cx) {\n linePoints[2][0] = label.x + layout.labelDistance;\n } else {\n linePoints[2][0] = label.x - layout.labelDistance;\n }\n\n linePoints[1][0] = linePoints[2][0] + dist;\n }\n\n linePoints[1][1] = linePoints[2][1] = label.y;\n }\n }\n}\n/**\r\n * Set max width of each label, and then wrap each label to the max width.\r\n *\r\n * @param layout label layout\r\n * @param availableWidth max width for the label to display\r\n * @param forceRecalculate recaculate the text layout even if the current width\r\n * is smaller than `availableWidth`. This is useful when the text was previously\r\n * wrapped by calling `constrainTextWidth` but now `availableWidth` changed, in\r\n * which case, previous wrapping should be redo.\r\n */\n\n\nfunction constrainTextWidth(layout, availableWidth, forceRecalculate) {\n if (forceRecalculate === void 0) {\n forceRecalculate = false;\n }\n\n if (layout.labelStyleWidth != null) {\n // User-defined style.width has the highest priority.\n return;\n }\n\n var label = layout.label;\n var style = label.style;\n var textRect = layout.rect;\n var bgColor = style.backgroundColor;\n var padding = style.padding;\n var paddingH = padding ? padding[1] + padding[3] : 0;\n var overflow = style.overflow; // textRect.width already contains paddingH if bgColor is set\n\n var oldOuterWidth = textRect.width + (bgColor ? 0 : paddingH);\n\n if (availableWidth < oldOuterWidth || forceRecalculate) {\n var oldHeight = textRect.height;\n\n if (overflow && overflow.match('break')) {\n // Temporarily set background to be null to calculate\n // the bounding box without background.\n label.setStyle('backgroundColor', null); // Set constraining width\n\n label.setStyle('width', availableWidth - paddingH); // This is the real bounding box of the text without padding.\n\n var innerRect = label.getBoundingRect();\n label.setStyle('width', Math.ceil(innerRect.width));\n label.setStyle('backgroundColor', bgColor);\n } else {\n var availableInnerWidth = availableWidth - paddingH;\n var newWidth = availableWidth < oldOuterWidth // Current text is too wide, use `availableWidth` as max width.\n ? availableInnerWidth : // Current available width is enough, but the text may have\n // already been wrapped with a smaller available width.\n forceRecalculate ? availableInnerWidth > layout.unconstrainedWidth // Current available is larger than text width,\n // so don't constrain width (otherwise it may have\n // empty space in the background).\n ? null // Current available is smaller than text width, so\n // use the current available width as constraining\n // width.\n : availableInnerWidth : // Current available width is enough, so no need to\n // constrain.\n null;\n label.setStyle('width', newWidth);\n }\n\n var newRect = label.getBoundingRect();\n textRect.width = newRect.width;\n var margin = (label.style.margin || 0) + 2.1;\n textRect.height = newRect.height + margin;\n textRect.y -= (textRect.height - oldHeight) / 2;\n }\n}\n\nfunction isPositionCenter(sectorShape) {\n // Not change x for center label\n return sectorShape.position === 'center';\n}\n\nexport default function pieLabelLayout(seriesModel) {\n var data = seriesModel.getData();\n var labelLayoutList = [];\n var cx;\n var cy;\n var hasLabelRotate = false;\n var minShowLabelRadian = (seriesModel.get('minShowLabelAngle') || 0) * RADIAN;\n var viewRect = data.getLayout('viewRect');\n var r = data.getLayout('r');\n var viewWidth = viewRect.width;\n var viewLeft = viewRect.x;\n var viewTop = viewRect.y;\n var viewHeight = viewRect.height;\n\n function setNotShow(el) {\n el.ignore = true;\n }\n\n function isLabelShown(label) {\n if (!label.ignore) {\n return true;\n }\n\n for (var key in label.states) {\n if (label.states[key].ignore === false) {\n return true;\n }\n }\n\n return false;\n }\n\n data.each(function (idx) {\n var sector = data.getItemGraphicEl(idx);\n var sectorShape = sector.shape;\n var label = sector.getTextContent();\n var labelLine = sector.getTextGuideLine();\n var itemModel = data.getItemModel(idx);\n var labelModel = itemModel.getModel('label'); // Use position in normal or emphasis\n\n var labelPosition = labelModel.get('position') || itemModel.get(['emphasis', 'label', 'position']);\n var labelDistance = labelModel.get('distanceToLabelLine');\n var labelAlignTo = labelModel.get('alignTo');\n var edgeDistance = parsePercent(labelModel.get('edgeDistance'), viewWidth);\n var bleedMargin = labelModel.get('bleedMargin');\n var labelLineModel = itemModel.getModel('labelLine');\n var labelLineLen = labelLineModel.get('length');\n labelLineLen = parsePercent(labelLineLen, viewWidth);\n var labelLineLen2 = labelLineModel.get('length2');\n labelLineLen2 = parsePercent(labelLineLen2, viewWidth);\n\n if (Math.abs(sectorShape.endAngle - sectorShape.startAngle) < minShowLabelRadian) {\n each(label.states, setNotShow);\n label.ignore = true;\n\n if (labelLine) {\n each(labelLine.states, setNotShow);\n labelLine.ignore = true;\n }\n\n return;\n }\n\n if (!isLabelShown(label)) {\n return;\n }\n\n var midAngle = (sectorShape.startAngle + sectorShape.endAngle) / 2;\n var nx = Math.cos(midAngle);\n var ny = Math.sin(midAngle);\n var textX;\n var textY;\n var linePoints;\n var textAlign;\n cx = sectorShape.cx;\n cy = sectorShape.cy;\n var isLabelInside = labelPosition === 'inside' || labelPosition === 'inner';\n\n if (labelPosition === 'center') {\n textX = sectorShape.cx;\n textY = sectorShape.cy;\n textAlign = 'center';\n } else {\n var x1 = (isLabelInside ? (sectorShape.r + sectorShape.r0) / 2 * nx : sectorShape.r * nx) + cx;\n var y1 = (isLabelInside ? (sectorShape.r + sectorShape.r0) / 2 * ny : sectorShape.r * ny) + cy;\n textX = x1 + nx * 3;\n textY = y1 + ny * 3;\n\n if (!isLabelInside) {\n // For roseType\n var x2 = x1 + nx * (labelLineLen + r - sectorShape.r);\n var y2 = y1 + ny * (labelLineLen + r - sectorShape.r);\n var x3 = x2 + (nx < 0 ? -1 : 1) * labelLineLen2;\n var y3 = y2;\n\n if (labelAlignTo === 'edge') {\n // Adjust textX because text align of edge is opposite\n textX = nx < 0 ? viewLeft + edgeDistance : viewLeft + viewWidth - edgeDistance;\n } else {\n textX = x3 + (nx < 0 ? -labelDistance : labelDistance);\n }\n\n textY = y3;\n linePoints = [[x1, y1], [x2, y2], [x3, y3]];\n }\n\n textAlign = isLabelInside ? 'center' : labelAlignTo === 'edge' ? nx > 0 ? 'right' : 'left' : nx > 0 ? 'left' : 'right';\n }\n\n var PI = Math.PI;\n var labelRotate = 0;\n var rotate = labelModel.get('rotate');\n\n if (isNumber(rotate)) {\n labelRotate = rotate * (PI / 180);\n } else if (labelPosition === 'center') {\n labelRotate = 0;\n } else if (rotate === 'radial' || rotate === true) {\n var radialAngle = nx < 0 ? -midAngle + PI : -midAngle;\n labelRotate = radialAngle;\n } else if (rotate === 'tangential' && labelPosition !== 'outside' && labelPosition !== 'outer') {\n var rad = Math.atan2(nx, ny);\n\n if (rad < 0) {\n rad = PI * 2 + rad;\n }\n\n var isDown = ny > 0;\n\n if (isDown) {\n rad = PI + rad;\n }\n\n labelRotate = rad - PI;\n }\n\n hasLabelRotate = !!labelRotate;\n label.x = textX;\n label.y = textY;\n label.rotation = labelRotate;\n label.setStyle({\n verticalAlign: 'middle'\n }); // Not sectorShape the inside label\n\n if (!isLabelInside) {\n var textRect = label.getBoundingRect().clone();\n textRect.applyTransform(label.getComputedTransform()); // Text has a default 1px stroke. Exclude this.\n\n var margin = (label.style.margin || 0) + 2.1;\n textRect.y -= margin / 2;\n textRect.height += margin;\n labelLayoutList.push({\n label: label,\n labelLine: labelLine,\n position: labelPosition,\n len: labelLineLen,\n len2: labelLineLen2,\n minTurnAngle: labelLineModel.get('minTurnAngle'),\n maxSurfaceAngle: labelLineModel.get('maxSurfaceAngle'),\n surfaceNormal: new Point(nx, ny),\n linePoints: linePoints,\n textAlign: textAlign,\n labelDistance: labelDistance,\n labelAlignTo: labelAlignTo,\n edgeDistance: edgeDistance,\n bleedMargin: bleedMargin,\n rect: textRect,\n unconstrainedWidth: textRect.width,\n labelStyleWidth: label.style.width\n });\n } else {\n label.setStyle({\n align: textAlign\n });\n var selectState = label.states.select;\n\n if (selectState) {\n selectState.x += label.x;\n selectState.y += label.y;\n }\n }\n\n sector.setTextConfig({\n inside: isLabelInside\n });\n });\n\n if (!hasLabelRotate && seriesModel.get('avoidLabelOverlap')) {\n avoidOverlap(labelLayoutList, cx, cy, r, viewWidth, viewHeight, viewLeft, viewTop);\n }\n\n for (var i = 0; i < labelLayoutList.length; i++) {\n var layout = labelLayoutList[i];\n var label = layout.label;\n var labelLine = layout.labelLine;\n var notShowLabel = isNaN(label.x) || isNaN(label.y);\n\n if (label) {\n label.setStyle({\n align: layout.textAlign\n });\n\n if (notShowLabel) {\n each(label.states, setNotShow);\n label.ignore = true;\n }\n\n var selectState = label.states.select;\n\n if (selectState) {\n selectState.x += label.x;\n selectState.y += label.y;\n }\n }\n\n if (labelLine) {\n var linePoints = layout.linePoints;\n\n if (notShowLabel || !linePoints) {\n each(labelLine.states, setNotShow);\n labelLine.ignore = true;\n } else {\n limitTurnAngle(linePoints, layout.minTurnAngle);\n limitSurfaceAngle(linePoints, layout.surfaceNormal, layout.maxSurfaceAngle);\n labelLine.setShape({\n points: linePoints\n }); // Set the anchor to the midpoint of sector\n\n label.__hostTarget.textGuideLineConfig = {\n anchor: new Point(linePoints[0][0], linePoints[0][1])\n };\n }\n }\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport { extend, retrieve3 } from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { setStatesStylesFromModel, toggleHoverEmphasis } from '../../util/states.js';\nimport ChartView from '../../view/Chart.js';\nimport labelLayout from './labelLayout.js';\nimport { setLabelLineStyle, getLabelLineStatesModels } from '../../label/labelGuideHelper.js';\nimport { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle.js';\nimport { getSectorCornerRadius } from '../helper/sectorHelper.js';\nimport { saveOldStyle } from '../../animation/basicTransition.js';\nimport { getBasicPieLayout } from './pieLayout.js';\n/**\r\n * Piece of pie including Sector, Label, LabelLine\r\n */\n\nvar PiePiece =\n/** @class */\nfunction (_super) {\n __extends(PiePiece, _super);\n\n function PiePiece(data, idx, startAngle) {\n var _this = _super.call(this) || this;\n\n _this.z2 = 2;\n var text = new graphic.Text();\n\n _this.setTextContent(text);\n\n _this.updateData(data, idx, startAngle, true);\n\n return _this;\n }\n\n PiePiece.prototype.updateData = function (data, idx, startAngle, firstCreate) {\n var sector = this;\n var seriesModel = data.hostModel;\n var itemModel = data.getItemModel(idx);\n var emphasisModel = itemModel.getModel('emphasis');\n var layout = data.getItemLayout(idx); // cornerRadius & innerCornerRadius doesn't exist in the item layout. Use `0` if null value is specified.\n // see `setItemLayout` in `pieLayout.ts`.\n\n var sectorShape = extend(getSectorCornerRadius(itemModel.getModel('itemStyle'), layout, true), layout); // Ignore NaN data.\n\n if (isNaN(sectorShape.startAngle)) {\n // Use NaN shape to avoid drawing shape.\n sector.setShape(sectorShape);\n return;\n }\n\n if (firstCreate) {\n sector.setShape(sectorShape);\n var animationType = seriesModel.getShallow('animationType');\n\n if (seriesModel.ecModel.ssr) {\n // Use scale animation in SSR mode(opacity?)\n // Because CSS SVG animation doesn't support very customized shape animation.\n graphic.initProps(sector, {\n scaleX: 0,\n scaleY: 0\n }, seriesModel, {\n dataIndex: idx,\n isFrom: true\n });\n sector.originX = sectorShape.cx;\n sector.originY = sectorShape.cy;\n } else if (animationType === 'scale') {\n sector.shape.r = layout.r0;\n graphic.initProps(sector, {\n shape: {\n r: layout.r\n }\n }, seriesModel, idx);\n } // Expansion\n else {\n if (startAngle != null) {\n sector.setShape({\n startAngle: startAngle,\n endAngle: startAngle\n });\n graphic.initProps(sector, {\n shape: {\n startAngle: layout.startAngle,\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n } else {\n sector.shape.endAngle = layout.startAngle;\n graphic.updateProps(sector, {\n shape: {\n endAngle: layout.endAngle\n }\n }, seriesModel, idx);\n }\n }\n } else {\n saveOldStyle(sector); // Transition animation from the old shape\n\n graphic.updateProps(sector, {\n shape: sectorShape\n }, seriesModel, idx);\n }\n\n sector.useStyle(data.getItemVisual(idx, 'style'));\n setStatesStylesFromModel(sector, itemModel);\n var midAngle = (layout.startAngle + layout.endAngle) / 2;\n var offset = seriesModel.get('selectedOffset');\n var dx = Math.cos(midAngle) * offset;\n var dy = Math.sin(midAngle) * offset;\n var cursorStyle = itemModel.getShallow('cursor');\n cursorStyle && sector.attr('cursor', cursorStyle);\n\n this._updateLabel(seriesModel, data, idx);\n\n sector.ensureState('emphasis').shape = extend({\n r: layout.r + (emphasisModel.get('scale') ? emphasisModel.get('scaleSize') || 0 : 0)\n }, getSectorCornerRadius(emphasisModel.getModel('itemStyle'), layout));\n extend(sector.ensureState('select'), {\n x: dx,\n y: dy,\n shape: getSectorCornerRadius(itemModel.getModel(['select', 'itemStyle']), layout)\n });\n extend(sector.ensureState('blur'), {\n shape: getSectorCornerRadius(itemModel.getModel(['blur', 'itemStyle']), layout)\n });\n var labelLine = sector.getTextGuideLine();\n var labelText = sector.getTextContent();\n labelLine && extend(labelLine.ensureState('select'), {\n x: dx,\n y: dy\n }); // TODO: needs dx, dy in zrender?\n\n extend(labelText.ensureState('select'), {\n x: dx,\n y: dy\n });\n toggleHoverEmphasis(this, emphasisModel.get('focus'), emphasisModel.get('blurScope'), emphasisModel.get('disabled'));\n };\n\n PiePiece.prototype._updateLabel = function (seriesModel, data, idx) {\n var sector = this;\n var itemModel = data.getItemModel(idx);\n var labelLineModel = itemModel.getModel('labelLine');\n var style = data.getItemVisual(idx, 'style');\n var visualColor = style && style.fill;\n var visualOpacity = style && style.opacity;\n setLabelStyle(sector, getLabelStatesModels(itemModel), {\n labelFetcher: data.hostModel,\n labelDataIndex: idx,\n inheritColor: visualColor,\n defaultOpacity: visualOpacity,\n defaultText: seriesModel.getFormattedLabel(idx, 'normal') || data.getName(idx)\n });\n var labelText = sector.getTextContent(); // Set textConfig on sector.\n\n sector.setTextConfig({\n // reset position, rotation\n position: null,\n rotation: null\n }); // Make sure update style on labelText after setLabelStyle.\n // Because setLabelStyle will replace a new style on it.\n\n labelText.attr({\n z2: 10\n });\n var labelPosition = seriesModel.get(['label', 'position']);\n\n if (labelPosition !== 'outside' && labelPosition !== 'outer') {\n sector.removeTextGuideLine();\n } else {\n var polyline = this.getTextGuideLine();\n\n if (!polyline) {\n polyline = new graphic.Polyline();\n this.setTextGuideLine(polyline);\n } // Default use item visual color\n\n\n setLabelLineStyle(this, getLabelLineStatesModels(itemModel), {\n stroke: visualColor,\n opacity: retrieve3(labelLineModel.get(['lineStyle', 'opacity']), visualOpacity, 1)\n });\n }\n };\n\n return PiePiece;\n}(graphic.Sector); // Pie view\n\n\nvar PieView =\n/** @class */\nfunction (_super) {\n __extends(PieView, _super);\n\n function PieView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.ignoreLabelLineUpdate = true;\n return _this;\n }\n\n PieView.prototype.render = function (seriesModel, ecModel, api, payload) {\n var data = seriesModel.getData();\n var oldData = this._data;\n var group = this.group;\n var startAngle; // First render\n\n if (!oldData && data.count() > 0) {\n var shape = data.getItemLayout(0);\n\n for (var s = 1; isNaN(shape && shape.startAngle) && s < data.count(); ++s) {\n shape = data.getItemLayout(s);\n }\n\n if (shape) {\n startAngle = shape.startAngle;\n }\n } // remove empty-circle if it exists\n\n\n if (this._emptyCircleSector) {\n group.remove(this._emptyCircleSector);\n } // when all data are filtered, show lightgray empty circle\n\n\n if (data.count() === 0 && seriesModel.get('showEmptyCircle')) {\n var sector = new graphic.Sector({\n shape: getBasicPieLayout(seriesModel, api)\n });\n sector.useStyle(seriesModel.getModel('emptyCircleStyle').getItemStyle());\n this._emptyCircleSector = sector;\n group.add(sector);\n }\n\n data.diff(oldData).add(function (idx) {\n var piePiece = new PiePiece(data, idx, startAngle);\n data.setItemGraphicEl(idx, piePiece);\n group.add(piePiece);\n }).update(function (newIdx, oldIdx) {\n var piePiece = oldData.getItemGraphicEl(oldIdx);\n piePiece.updateData(data, newIdx, startAngle);\n piePiece.off('click');\n group.add(piePiece);\n data.setItemGraphicEl(newIdx, piePiece);\n }).remove(function (idx) {\n var piePiece = oldData.getItemGraphicEl(idx);\n graphic.removeElementWithFadeOut(piePiece, seriesModel, idx);\n }).execute();\n labelLayout(seriesModel); // Always use initial animation.\n\n if (seriesModel.get('animationTypeUpdate') !== 'expansion') {\n this._data = data;\n }\n };\n\n PieView.prototype.dispose = function () {};\n\n PieView.prototype.containPoint = function (point, seriesModel) {\n var data = seriesModel.getData();\n var itemLayout = data.getItemLayout(0);\n\n if (itemLayout) {\n var dx = point[0] - itemLayout.cx;\n var dy = point[1] - itemLayout.cy;\n var radius = Math.sqrt(dx * dx + dy * dy);\n return radius <= itemLayout.r && radius >= itemLayout.r0;\n }\n };\n\n PieView.type = 'pie';\n return PieView;\n}(ChartView);\n\nexport default PieView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport prepareSeriesDataSchema from '../../data/helper/createDimensions.js';\nimport SeriesData from '../../data/SeriesData.js';\nimport { extend, isArray } from 'zrender/lib/core/util.js';\n/**\r\n * [Usage]:\r\n * (1)\r\n * createListSimply(seriesModel, ['value']);\r\n * (2)\r\n * createListSimply(seriesModel, {\r\n * coordDimensions: ['value'],\r\n * dimensionsCount: 5\r\n * });\r\n */\n\nexport default function createSeriesDataSimply(seriesModel, opt, nameList) {\n opt = isArray(opt) && {\n coordDimensions: opt\n } || extend({\n encodeDefine: seriesModel.getEncode()\n }, opt);\n var source = seriesModel.getSource();\n var dimensions = prepareSeriesDataSchema(source, opt).dimensions;\n var list = new SeriesData(dimensions, seriesModel);\n list.initData(source, nameList);\n return list;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/**\r\n * LegendVisualProvider is an bridge that pick encoded color from data and\r\n * provide to the legend component.\r\n */\nvar LegendVisualProvider =\n/** @class */\nfunction () {\n function LegendVisualProvider( // Function to get data after filtered. It stores all the encoding info\n getDataWithEncodedVisual, // Function to get raw data before filtered.\n getRawData) {\n this._getDataWithEncodedVisual = getDataWithEncodedVisual;\n this._getRawData = getRawData;\n }\n\n LegendVisualProvider.prototype.getAllNames = function () {\n var rawData = this._getRawData(); // We find the name from the raw data. In case it's filtered by the legend component.\n // Normally, the name can be found in rawData, but can't be found in filtered data will display as gray.\n\n\n return rawData.mapArray(rawData.getName);\n };\n\n LegendVisualProvider.prototype.containName = function (name) {\n var rawData = this._getRawData();\n\n return rawData.indexOfName(name) >= 0;\n };\n\n LegendVisualProvider.prototype.indexOfName = function (name) {\n // Only get data when necessary.\n // Because LegendVisualProvider constructor may be new in the stage that data is not prepared yet.\n // Invoking Series#getData immediately will throw an error.\n var dataWithEncodedVisual = this._getDataWithEncodedVisual();\n\n return dataWithEncodedVisual.indexOfName(name);\n };\n\n LegendVisualProvider.prototype.getItemVisual = function (dataIndex, key) {\n // Get encoded visual properties from final filtered data.\n var dataWithEncodedVisual = this._getDataWithEncodedVisual();\n\n return dataWithEncodedVisual.getItemVisual(dataIndex, key);\n };\n\n return LegendVisualProvider;\n}();\n\nexport default LegendVisualProvider;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport createSeriesDataSimply from '../helper/createSeriesDataSimply.js';\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as modelUtil from '../../util/model.js';\nimport { getPercentSeats } from '../../util/number.js';\nimport { makeSeriesEncodeForNameBased } from '../../data/helper/sourceHelper.js';\nimport LegendVisualProvider from '../../visual/LegendVisualProvider.js';\nimport SeriesModel from '../../model/Series.js';\nvar innerData = modelUtil.makeInner();\n\nvar PieSeriesModel =\n/** @class */\nfunction (_super) {\n __extends(PieSeriesModel, _super);\n\n function PieSeriesModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\r\n * @overwrite\r\n */\n\n\n PieSeriesModel.prototype.init = function (option) {\n _super.prototype.init.apply(this, arguments); // Enable legend selection for each data item\n // Use a function instead of direct access because data reference may changed\n\n\n this.legendVisualProvider = new LegendVisualProvider(zrUtil.bind(this.getData, this), zrUtil.bind(this.getRawData, this));\n\n this._defaultLabelLine(option);\n };\n /**\r\n * @overwrite\r\n */\n\n\n PieSeriesModel.prototype.mergeOption = function () {\n _super.prototype.mergeOption.apply(this, arguments);\n };\n /**\r\n * @overwrite\r\n */\n\n\n PieSeriesModel.prototype.getInitialData = function () {\n return createSeriesDataSimply(this, {\n coordDimensions: ['value'],\n encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)\n });\n };\n /**\r\n * @overwrite\r\n */\n\n\n PieSeriesModel.prototype.getDataParams = function (dataIndex) {\n var data = this.getData(); // update seats when data is changed\n\n var dataInner = innerData(data);\n var seats = dataInner.seats;\n\n if (!seats) {\n var valueList_1 = [];\n data.each(data.mapDimension('value'), function (value) {\n valueList_1.push(value);\n });\n seats = dataInner.seats = getPercentSeats(valueList_1, data.hostModel.get('percentPrecision'));\n }\n\n var params = _super.prototype.getDataParams.call(this, dataIndex); // seats may be empty when sum is 0\n\n\n params.percent = seats[dataIndex] || 0;\n params.$vars.push('percent');\n return params;\n };\n\n PieSeriesModel.prototype._defaultLabelLine = function (option) {\n // Extend labelLine emphasis\n modelUtil.defaultEmphasis(option, 'labelLine', ['show']);\n var labelLineNormalOpt = option.labelLine;\n var labelLineEmphasisOpt = option.emphasis.labelLine; // Not show label line if `label.normal.show = false`\n\n labelLineNormalOpt.show = labelLineNormalOpt.show && option.label.show;\n labelLineEmphasisOpt.show = labelLineEmphasisOpt.show && option.emphasis.label.show;\n };\n\n PieSeriesModel.type = 'series.pie';\n PieSeriesModel.defaultOption = {\n // zlevel: 0,\n z: 2,\n legendHoverLink: true,\n colorBy: 'data',\n // 默认全局居中\n center: ['50%', '50%'],\n radius: [0, '75%'],\n // 默认顺时针\n clockwise: true,\n startAngle: 90,\n // 最小角度改为0\n minAngle: 0,\n // If the angle of a sector less than `minShowLabelAngle`,\n // the label will not be displayed.\n minShowLabelAngle: 0,\n // 选中时扇区偏移量\n selectedOffset: 10,\n // 选择模式,默认关闭,可选single,multiple\n // selectedMode: false,\n // 南丁格尔玫瑰图模式,'radius'(半径) | 'area'(面积)\n // roseType: null,\n percentPrecision: 2,\n // If still show when all data zero.\n stillShowZeroSum: true,\n // cursor: null,\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: null,\n height: null,\n label: {\n // color: 'inherit',\n // If rotate around circle\n rotate: 0,\n show: true,\n overflow: 'truncate',\n // 'outer', 'inside', 'center'\n position: 'outer',\n // 'none', 'labelLine', 'edge'. Works only when position is 'outer'\n alignTo: 'none',\n // Closest distance between label and chart edge.\n // Works only position is 'outer' and alignTo is 'edge'.\n edgeDistance: '25%',\n // Works only position is 'outer' and alignTo is not 'edge'.\n bleedMargin: 10,\n // Distance between text and label line.\n distanceToLabelLine: 5 // formatter: 标签文本格式器,同 tooltip.formatter,不支持异步回调\n // 默认使用全局文本样式,详见 textStyle\n // distance: 当position为inner时有效,为label位置到圆心的距离与圆半径(环状图为内外半径和)的比例系数\n\n },\n // Enabled when label.normal.position is 'outer'\n labelLine: {\n show: true,\n // 引导线两段中的第一段长度\n length: 15,\n // 引导线两段中的第二段长度\n length2: 15,\n smooth: false,\n minTurnAngle: 90,\n maxSurfaceAngle: 90,\n lineStyle: {\n // color: 各异,\n width: 1,\n type: 'solid'\n }\n },\n itemStyle: {\n borderWidth: 1,\n borderJoin: 'round'\n },\n showEmptyCircle: true,\n emptyCircleStyle: {\n color: 'lightgray',\n opacity: 1\n },\n labelLayout: {\n // Hide the overlapped label.\n hideOverlap: true\n },\n emphasis: {\n scale: true,\n scaleSize: 5\n },\n // If use strategy to avoid label overlapping\n avoidLabelOverlap: true,\n // Animation type. Valid values: expansion, scale\n animationType: 'expansion',\n animationDuration: 1000,\n // Animation type when update. Valid values: transition, expansion\n animationTypeUpdate: 'transition',\n animationEasingUpdate: 'cubicInOut',\n animationDurationUpdate: 500,\n animationEasing: 'cubicInOut'\n };\n return PieSeriesModel;\n}(SeriesModel);\n\nexport default PieSeriesModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isNumber } from 'zrender/lib/core/util.js';\nexport default function negativeDataFilter(seriesType) {\n return {\n seriesType: seriesType,\n reset: function (seriesModel, ecModel) {\n var data = seriesModel.getData();\n data.filterSelf(function (idx) {\n // handle negative value condition\n var valueDim = data.mapDimension('value');\n var curValue = data.get(valueDim, idx);\n\n if (isNumber(curValue) && !isNaN(curValue) && curValue < 0) {\n return false;\n }\n\n return true;\n });\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { createLegacyDataSelectAction } from '../../legacy/dataSelectAction.js';\nimport pieLayout from '../pie/pieLayout.js';\nimport dataFilter from '../../processor/dataFilter.js';\nimport { curry } from 'zrender/lib/core/util.js';\nimport PieView from './PieView.js';\nimport PieSeriesModel from './PieSeries.js';\nimport negativeDataFilter from '../../processor/negativeDataFilter.js';\nexport function install(registers) {\n registers.registerChartView(PieView);\n registers.registerSeriesModel(PieSeriesModel);\n createLegacyDataSelectAction('pie', registers.registerAction);\n registers.registerLayout(curry(pieLayout, 'pie'));\n registers.registerProcessor(dataFilter('pie'));\n registers.registerProcessor(negativeDataFilter('pie'));\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport ComponentModel from '../../model/Component.js';\n\nvar GridModel =\n/** @class */\nfunction (_super) {\n __extends(GridModel, _super);\n\n function GridModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n GridModel.type = 'grid';\n GridModel.dependencies = ['xAxis', 'yAxis'];\n GridModel.layoutMode = 'box';\n GridModel.defaultOption = {\n show: false,\n // zlevel: 0,\n z: 0,\n left: '10%',\n top: 60,\n right: '10%',\n bottom: 70,\n // If grid size contain label\n containLabel: false,\n // width: {totalWidth} - left - right,\n // height: {totalHeight} - top - bottom,\n backgroundColor: 'rgba(0,0,0,0)',\n borderWidth: 1,\n borderColor: '#ccc'\n };\n return GridModel;\n}(ComponentModel);\n\nexport default GridModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport ComponentModel from '../../model/Component.js';\nimport { AxisModelCommonMixin } from '../axisModelCommonMixin.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\n\nvar CartesianAxisModel =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisModel, _super);\n\n function CartesianAxisModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n CartesianAxisModel.prototype.getCoordSysModel = function () {\n return this.getReferringComponents('grid', SINGLE_REFERRING).models[0];\n };\n\n CartesianAxisModel.type = 'cartesian2dAxis';\n return CartesianAxisModel;\n}(ComponentModel);\n\nexport { CartesianAxisModel };\nzrUtil.mixin(CartesianAxisModel, AxisModelCommonMixin);\nexport default CartesianAxisModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nvar defaultOption = {\n show: true,\n // zlevel: 0,\n z: 0,\n // Inverse the axis.\n inverse: false,\n // Axis name displayed.\n name: '',\n // 'start' | 'middle' | 'end'\n nameLocation: 'end',\n // By degree. By default auto rotate by nameLocation.\n nameRotate: null,\n nameTruncate: {\n maxWidth: null,\n ellipsis: '...',\n placeholder: '.'\n },\n // Use global text style by default.\n nameTextStyle: {},\n // The gap between axisName and axisLine.\n nameGap: 15,\n // Default `false` to support tooltip.\n silent: false,\n // Default `false` to avoid legacy user event listener fail.\n triggerEvent: false,\n tooltip: {\n show: false\n },\n axisPointer: {},\n axisLine: {\n show: true,\n onZero: true,\n onZeroAxisIndex: null,\n lineStyle: {\n color: '#6E7079',\n width: 1,\n type: 'solid'\n },\n // The arrow at both ends the the axis.\n symbol: ['none', 'none'],\n symbolSize: [10, 15]\n },\n axisTick: {\n show: true,\n // Whether axisTick is inside the grid or outside the grid.\n inside: false,\n // The length of axisTick.\n length: 5,\n lineStyle: {\n width: 1\n }\n },\n axisLabel: {\n show: true,\n // Whether axisLabel is inside the grid or outside the grid.\n inside: false,\n rotate: 0,\n // true | false | null/undefined (auto)\n showMinLabel: null,\n // true | false | null/undefined (auto)\n showMaxLabel: null,\n margin: 8,\n // formatter: null,\n fontSize: 12\n },\n splitLine: {\n show: true,\n lineStyle: {\n color: ['#E0E6F1'],\n width: 1,\n type: 'solid'\n }\n },\n splitArea: {\n show: false,\n areaStyle: {\n color: ['rgba(250,250,250,0.2)', 'rgba(210,219,238,0.2)']\n }\n }\n};\nvar categoryAxis = zrUtil.merge({\n // The gap at both ends of the axis. For categoryAxis, boolean.\n boundaryGap: true,\n // Set false to faster category collection.\n deduplication: null,\n // splitArea: {\n // show: false\n // },\n splitLine: {\n show: false\n },\n axisTick: {\n // If tick is align with label when boundaryGap is true\n alignWithLabel: false,\n interval: 'auto'\n },\n axisLabel: {\n interval: 'auto'\n }\n}, defaultOption);\nvar valueAxis = zrUtil.merge({\n boundaryGap: [0, 0],\n axisLine: {\n // Not shown when other axis is categoryAxis in cartesian\n show: 'auto'\n },\n axisTick: {\n // Not shown when other axis is categoryAxis in cartesian\n show: 'auto'\n },\n // TODO\n // min/max: [30, datamin, 60] or [20, datamin] or [datamin, 60]\n splitNumber: 5,\n minorTick: {\n // Minor tick, not available for cateogry axis.\n show: false,\n // Split number of minor ticks. The value should be in range of (0, 100)\n splitNumber: 5,\n // Length of minor tick\n length: 3,\n // Line style\n lineStyle: {// Default to be same with axisTick\n }\n },\n minorSplitLine: {\n show: false,\n lineStyle: {\n color: '#F4F7FD',\n width: 1\n }\n }\n}, defaultOption);\nvar timeAxis = zrUtil.merge({\n splitNumber: 6,\n axisLabel: {\n // To eliminate labels that are not nice\n showMinLabel: false,\n showMaxLabel: false,\n rich: {\n primary: {\n fontWeight: 'bold'\n }\n }\n },\n splitLine: {\n show: false\n }\n}, valueAxis);\nvar logAxis = zrUtil.defaults({\n logBase: 10\n}, valueAxis);\nexport default {\n category: categoryAxis,\n value: valueAxis,\n time: timeAxis,\n log: logAxis\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport var AXIS_TYPES = {\n value: 1,\n category: 1,\n time: 1,\n log: 1\n};","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport axisDefault from './axisDefault.js';\nimport { getLayoutParams, mergeLayoutParam, fetchLayoutMode } from '../util/layout.js';\nimport OrdinalMeta from '../data/OrdinalMeta.js';\nimport { AXIS_TYPES } from './axisCommonTypes.js';\nimport { each, merge } from 'zrender/lib/core/util.js';\n/**\r\n * Generate sub axis model class\r\n * @param axisName 'x' 'y' 'radius' 'angle' 'parallel' ...\r\n */\n\nexport default function axisModelCreator(registers, axisName, BaseAxisModelClass, extraDefaultOption) {\n each(AXIS_TYPES, function (v, axisType) {\n var defaultOption = merge(merge({}, axisDefault[axisType], true), extraDefaultOption, true);\n\n var AxisModel =\n /** @class */\n function (_super) {\n __extends(AxisModel, _super);\n\n function AxisModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = axisName + 'Axis.' + axisType;\n return _this;\n }\n\n AxisModel.prototype.mergeDefaultAndTheme = function (option, ecModel) {\n var layoutMode = fetchLayoutMode(this);\n var inputPositionParams = layoutMode ? getLayoutParams(option) : {};\n var themeModel = ecModel.getTheme();\n merge(option, themeModel.get(axisType + 'Axis'));\n merge(option, this.getDefaultOption());\n option.type = getAxisType(option);\n\n if (layoutMode) {\n mergeLayoutParam(option, inputPositionParams, layoutMode);\n }\n };\n\n AxisModel.prototype.optionUpdated = function () {\n var thisOption = this.option;\n\n if (thisOption.type === 'category') {\n this.__ordinalMeta = OrdinalMeta.createByAxisModel(this);\n }\n };\n /**\r\n * Should not be called before all of 'getInitailData' finished.\r\n * Because categories are collected during initializing data.\r\n */\n\n\n AxisModel.prototype.getCategories = function (rawData) {\n var option = this.option; // FIXME\n // warning if called before all of 'getInitailData' finished.\n\n if (option.type === 'category') {\n if (rawData) {\n return option.data;\n }\n\n return this.__ordinalMeta.categories;\n }\n };\n\n AxisModel.prototype.getOrdinalMeta = function () {\n return this.__ordinalMeta;\n };\n\n AxisModel.type = axisName + 'Axis.' + axisType;\n AxisModel.defaultOption = defaultOption;\n return AxisModel;\n }(BaseAxisModelClass);\n\n registers.registerComponentModel(AxisModel);\n });\n registers.registerSubTypeDefaulter(axisName + 'Axis', getAxisType);\n}\n\nfunction getAxisType(option) {\n // Default axis with data is category axis\n return option.type || (option.data ? 'category' : 'value');\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\n\nvar Cartesian =\n/** @class */\nfunction () {\n function Cartesian(name) {\n this.type = 'cartesian';\n this._dimList = [];\n this._axes = {};\n this.name = name || '';\n }\n\n Cartesian.prototype.getAxis = function (dim) {\n return this._axes[dim];\n };\n\n Cartesian.prototype.getAxes = function () {\n return zrUtil.map(this._dimList, function (dim) {\n return this._axes[dim];\n }, this);\n };\n\n Cartesian.prototype.getAxesByScale = function (scaleType) {\n scaleType = scaleType.toLowerCase();\n return zrUtil.filter(this.getAxes(), function (axis) {\n return axis.scale.type === scaleType;\n });\n };\n\n Cartesian.prototype.addAxis = function (axis) {\n var dim = axis.dim;\n this._axes[dim] = axis;\n\n this._dimList.push(dim);\n };\n\n return Cartesian;\n}();\n\n;\nexport default Cartesian;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport BoundingRect from 'zrender/lib/core/BoundingRect.js';\nimport Cartesian from './Cartesian.js';\nimport { invert } from 'zrender/lib/core/matrix.js';\nimport { applyTransform } from 'zrender/lib/core/vector.js';\nexport var cartesian2DDimensions = ['x', 'y'];\n\nfunction canCalculateAffineTransform(scale) {\n return scale.type === 'interval' || scale.type === 'time';\n}\n\nvar Cartesian2D =\n/** @class */\nfunction (_super) {\n __extends(Cartesian2D, _super);\n\n function Cartesian2D() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'cartesian2d';\n _this.dimensions = cartesian2DDimensions;\n return _this;\n }\n /**\r\n * Calculate an affine transform matrix if two axes are time or value.\r\n * It's mainly for accelartion on the large time series data.\r\n */\n\n\n Cartesian2D.prototype.calcAffineTransform = function () {\n this._transform = this._invTransform = null;\n var xAxisScale = this.getAxis('x').scale;\n var yAxisScale = this.getAxis('y').scale;\n\n if (!canCalculateAffineTransform(xAxisScale) || !canCalculateAffineTransform(yAxisScale)) {\n return;\n }\n\n var xScaleExtent = xAxisScale.getExtent();\n var yScaleExtent = yAxisScale.getExtent();\n var start = this.dataToPoint([xScaleExtent[0], yScaleExtent[0]]);\n var end = this.dataToPoint([xScaleExtent[1], yScaleExtent[1]]);\n var xScaleSpan = xScaleExtent[1] - xScaleExtent[0];\n var yScaleSpan = yScaleExtent[1] - yScaleExtent[0];\n\n if (!xScaleSpan || !yScaleSpan) {\n return;\n } // Accelerate data to point calculation on the special large time series data.\n\n\n var scaleX = (end[0] - start[0]) / xScaleSpan;\n var scaleY = (end[1] - start[1]) / yScaleSpan;\n var translateX = start[0] - xScaleExtent[0] * scaleX;\n var translateY = start[1] - yScaleExtent[0] * scaleY;\n var m = this._transform = [scaleX, 0, 0, scaleY, translateX, translateY];\n this._invTransform = invert([], m);\n };\n /**\r\n * Base axis will be used on stacking.\r\n */\n\n\n Cartesian2D.prototype.getBaseAxis = function () {\n return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x');\n };\n\n Cartesian2D.prototype.containPoint = function (point) {\n var axisX = this.getAxis('x');\n var axisY = this.getAxis('y');\n return axisX.contain(axisX.toLocalCoord(point[0])) && axisY.contain(axisY.toLocalCoord(point[1]));\n };\n\n Cartesian2D.prototype.containData = function (data) {\n return this.getAxis('x').containData(data[0]) && this.getAxis('y').containData(data[1]);\n };\n\n Cartesian2D.prototype.containZone = function (data1, data2) {\n var zoneDiag1 = this.dataToPoint(data1);\n var zoneDiag2 = this.dataToPoint(data2);\n var area = this.getArea();\n var zone = new BoundingRect(zoneDiag1[0], zoneDiag1[1], zoneDiag2[0] - zoneDiag1[0], zoneDiag2[1] - zoneDiag1[1]);\n return area.intersect(zone);\n };\n\n Cartesian2D.prototype.dataToPoint = function (data, clamp, out) {\n out = out || [];\n var xVal = data[0];\n var yVal = data[1]; // Fast path\n\n if (this._transform // It's supported that if data is like `[Inifity, 123]`, where only Y pixel calculated.\n && xVal != null && isFinite(xVal) && yVal != null && isFinite(yVal)) {\n return applyTransform(out, data, this._transform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.toGlobalCoord(xAxis.dataToCoord(xVal, clamp));\n out[1] = yAxis.toGlobalCoord(yAxis.dataToCoord(yVal, clamp));\n return out;\n };\n\n Cartesian2D.prototype.clampData = function (data, out) {\n var xScale = this.getAxis('x').scale;\n var yScale = this.getAxis('y').scale;\n var xAxisExtent = xScale.getExtent();\n var yAxisExtent = yScale.getExtent();\n var x = xScale.parse(data[0]);\n var y = yScale.parse(data[1]);\n out = out || [];\n out[0] = Math.min(Math.max(Math.min(xAxisExtent[0], xAxisExtent[1]), x), Math.max(xAxisExtent[0], xAxisExtent[1]));\n out[1] = Math.min(Math.max(Math.min(yAxisExtent[0], yAxisExtent[1]), y), Math.max(yAxisExtent[0], yAxisExtent[1]));\n return out;\n };\n\n Cartesian2D.prototype.pointToData = function (point, clamp) {\n var out = [];\n\n if (this._invTransform) {\n return applyTransform(out, point, this._invTransform);\n }\n\n var xAxis = this.getAxis('x');\n var yAxis = this.getAxis('y');\n out[0] = xAxis.coordToData(xAxis.toLocalCoord(point[0]), clamp);\n out[1] = yAxis.coordToData(yAxis.toLocalCoord(point[1]), clamp);\n return out;\n };\n\n Cartesian2D.prototype.getOtherAxis = function (axis) {\n return this.getAxis(axis.dim === 'x' ? 'y' : 'x');\n };\n /**\r\n * Get rect area of cartesian.\r\n * Area will have a contain function to determine if a point is in the coordinate system.\r\n */\n\n\n Cartesian2D.prototype.getArea = function () {\n var xExtent = this.getAxis('x').getGlobalExtent();\n var yExtent = this.getAxis('y').getGlobalExtent();\n var x = Math.min(xExtent[0], xExtent[1]);\n var y = Math.min(yExtent[0], yExtent[1]);\n var width = Math.max(xExtent[0], xExtent[1]) - x;\n var height = Math.max(yExtent[0], yExtent[1]) - y;\n return new BoundingRect(x, y, width, height);\n };\n\n return Cartesian2D;\n}(Cartesian);\n\n;\nexport default Cartesian2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport Axis from '../Axis.js';\n\nvar Axis2D =\n/** @class */\nfunction (_super) {\n __extends(Axis2D, _super);\n\n function Axis2D(dim, scale, coordExtent, axisType, position) {\n var _this = _super.call(this, dim, scale, coordExtent) || this;\n /**\r\n * Index of axis, can be used as key\r\n * Injected outside.\r\n */\n\n\n _this.index = 0;\n _this.type = axisType || 'value';\n _this.position = position || 'bottom';\n return _this;\n }\n\n Axis2D.prototype.isHorizontal = function () {\n var position = this.position;\n return position === 'top' || position === 'bottom';\n };\n /**\r\n * Each item cooresponds to this.getExtent(), which\r\n * means globalExtent[0] may greater than globalExtent[1],\r\n * unless `asc` is input.\r\n *\r\n * @param {boolean} [asc]\r\n * @return {Array.}\r\n */\n\n\n Axis2D.prototype.getGlobalExtent = function (asc) {\n var ret = this.getExtent();\n ret[0] = this.toGlobalCoord(ret[0]);\n ret[1] = this.toGlobalCoord(ret[1]);\n asc && ret[0] > ret[1] && ret.reverse();\n return ret;\n };\n\n Axis2D.prototype.pointToData = function (point, clamp) {\n return this.coordToData(this.toLocalCoord(point[this.dim === 'x' ? 0 : 1]), clamp);\n };\n /**\r\n * Set ordinalSortInfo\r\n * @param info new OrdinalSortInfo\r\n */\n\n\n Axis2D.prototype.setCategorySortInfo = function (info) {\n if (this.type !== 'category') {\n return false;\n }\n\n this.model.option.categorySortInfo = info;\n this.scale.setSortInfo(info);\n };\n\n return Axis2D;\n}(Axis);\n\nexport default Axis2D;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\n/**\r\n * Can only be called after coordinate system creation stage.\r\n * (Can be called before coordinate system update stage).\r\n */\n\nexport function layout(gridModel, axisModel, opt) {\n opt = opt || {};\n var grid = gridModel.coordinateSystem;\n var axis = axisModel.axis;\n var layout = {};\n var otherAxisOnZeroOf = axis.getAxesOnZeroOf()[0];\n var rawAxisPosition = axis.position;\n var axisPosition = otherAxisOnZeroOf ? 'onZero' : rawAxisPosition;\n var axisDim = axis.dim;\n var rect = grid.getRect();\n var rectBound = [rect.x, rect.x + rect.width, rect.y, rect.y + rect.height];\n var idx = {\n left: 0,\n right: 1,\n top: 0,\n bottom: 1,\n onZero: 2\n };\n var axisOffset = axisModel.get('offset') || 0;\n var posBound = axisDim === 'x' ? [rectBound[2] - axisOffset, rectBound[3] + axisOffset] : [rectBound[0] - axisOffset, rectBound[1] + axisOffset];\n\n if (otherAxisOnZeroOf) {\n var onZeroCoord = otherAxisOnZeroOf.toGlobalCoord(otherAxisOnZeroOf.dataToCoord(0));\n posBound[idx.onZero] = Math.max(Math.min(onZeroCoord, posBound[1]), posBound[0]);\n } // Axis position\n\n\n layout.position = [axisDim === 'y' ? posBound[idx[axisPosition]] : rectBound[0], axisDim === 'x' ? posBound[idx[axisPosition]] : rectBound[3]]; // Axis rotation\n\n layout.rotation = Math.PI / 2 * (axisDim === 'x' ? 0 : 1); // Tick and label direction, x y is axisDim\n\n var dirMap = {\n top: -1,\n bottom: 1,\n left: -1,\n right: 1\n };\n layout.labelDirection = layout.tickDirection = layout.nameDirection = dirMap[rawAxisPosition];\n layout.labelOffset = otherAxisOnZeroOf ? posBound[idx[rawAxisPosition]] - posBound[idx.onZero] : 0;\n\n if (axisModel.get(['axisTick', 'inside'])) {\n layout.tickDirection = -layout.tickDirection;\n }\n\n if (zrUtil.retrieve(opt.labelInside, axisModel.get(['axisLabel', 'inside']))) {\n layout.labelDirection = -layout.labelDirection;\n } // Special label rotation\n\n\n var labelRotate = axisModel.get(['axisLabel', 'rotate']);\n layout.labelRotate = axisPosition === 'top' ? -labelRotate : labelRotate; // Over splitLine and splitArea\n\n layout.z2 = 1;\n return layout;\n}\nexport function isCartesian2DSeries(seriesModel) {\n return seriesModel.get('coordinateSystem') === 'cartesian2d';\n}\nexport function findAxisModels(seriesModel) {\n var axisModelMap = {\n xAxisModel: null,\n yAxisModel: null\n };\n zrUtil.each(axisModelMap, function (v, key) {\n var axisType = key.replace(/Model$/, '');\n var axisModel = seriesModel.getReferringComponents(axisType, SINGLE_REFERRING).models[0];\n\n if (process.env.NODE_ENV !== 'production') {\n if (!axisModel) {\n throw new Error(axisType + ' \"' + zrUtil.retrieve3(seriesModel.get(axisType + 'Index'), seriesModel.get(axisType + 'Id'), 0) + '\" not found');\n }\n }\n\n axisModelMap[key] = axisModel;\n });\n return axisModelMap;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { getPrecisionSafe, round } from '../util/number.js';\nimport IntervalScale from '../scale/Interval.js';\nimport { getScaleExtent } from './axisHelper.js';\nimport { warn } from '../util/log.js';\nimport { increaseInterval, isValueNice } from '../scale/helper.js';\nvar mathLog = Math.log;\nexport function alignScaleTicks(scale, axisModel, alignToScale) {\n var intervalScaleProto = IntervalScale.prototype; // NOTE: There is a precondition for log scale here:\n // In log scale we store _interval and _extent of exponent value.\n // So if we use the method of InternalScale to set/get these data.\n // It process the exponent value, which is linear and what we want here.\n\n var alignToTicks = intervalScaleProto.getTicks.call(alignToScale);\n var alignToNicedTicks = intervalScaleProto.getTicks.call(alignToScale, true);\n var alignToSplitNumber = alignToTicks.length - 1;\n var alignToInterval = intervalScaleProto.getInterval.call(alignToScale);\n var scaleExtent = getScaleExtent(scale, axisModel);\n var rawExtent = scaleExtent.extent;\n var isMinFixed = scaleExtent.fixMin;\n var isMaxFixed = scaleExtent.fixMax;\n\n if (scale.type === 'log') {\n var logBase = mathLog(scale.base);\n rawExtent = [mathLog(rawExtent[0]) / logBase, mathLog(rawExtent[1]) / logBase];\n }\n\n scale.setExtent(rawExtent[0], rawExtent[1]);\n scale.calcNiceExtent({\n splitNumber: alignToSplitNumber,\n fixMin: isMinFixed,\n fixMax: isMaxFixed\n });\n var extent = intervalScaleProto.getExtent.call(scale); // Need to update the rawExtent.\n // Because value in rawExtent may be not parsed. e.g. 'dataMin', 'dataMax'\n\n if (isMinFixed) {\n rawExtent[0] = extent[0];\n }\n\n if (isMaxFixed) {\n rawExtent[1] = extent[1];\n }\n\n var interval = intervalScaleProto.getInterval.call(scale);\n var min = rawExtent[0];\n var max = rawExtent[1];\n\n if (isMinFixed && isMaxFixed) {\n // User set min, max, divide to get new interval\n interval = (max - min) / alignToSplitNumber;\n } else if (isMinFixed) {\n max = rawExtent[0] + interval * alignToSplitNumber; // User set min, expand extent on the other side\n\n while (max < rawExtent[1] && isFinite(max) && isFinite(rawExtent[1])) {\n interval = increaseInterval(interval);\n max = rawExtent[0] + interval * alignToSplitNumber;\n }\n } else if (isMaxFixed) {\n // User set max, expand extent on the other side\n min = rawExtent[1] - interval * alignToSplitNumber;\n\n while (min > rawExtent[0] && isFinite(min) && isFinite(rawExtent[0])) {\n interval = increaseInterval(interval);\n min = rawExtent[1] - interval * alignToSplitNumber;\n }\n } else {\n var nicedSplitNumber = scale.getTicks().length - 1;\n\n if (nicedSplitNumber > alignToSplitNumber) {\n interval = increaseInterval(interval);\n }\n\n var range = interval * alignToSplitNumber;\n max = Math.ceil(rawExtent[1] / interval) * interval;\n min = round(max - range); // Not change the result that crossing zero.\n\n if (min < 0 && rawExtent[0] >= 0) {\n min = 0;\n max = round(range);\n } else if (max > 0 && rawExtent[1] <= 0) {\n max = 0;\n min = -round(range);\n }\n } // Adjust min, max based on the extent of alignTo. When min or max is set in alignTo scale\n\n\n var t0 = (alignToTicks[0].value - alignToNicedTicks[0].value) / alignToInterval;\n var t1 = (alignToTicks[alignToSplitNumber].value - alignToNicedTicks[alignToSplitNumber].value) / alignToInterval; // NOTE: Must in setExtent -> setInterval -> setNiceExtent order.\n\n intervalScaleProto.setExtent.call(scale, min + interval * t0, max + interval * t1);\n intervalScaleProto.setInterval.call(scale, interval);\n\n if (t0 || t1) {\n intervalScaleProto.setNiceExtent.call(scale, min + interval, max - interval);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var ticks = intervalScaleProto.getTicks.call(scale);\n\n if (ticks[1] && (!isValueNice(interval) || getPrecisionSafe(ticks[1].value) > getPrecisionSafe(interval))) {\n warn( // eslint-disable-next-line\n \"The ticks may be not readable when set min: \" + axisModel.get('min') + \", max: \" + axisModel.get('max') + \" and alignTicks: true\");\n }\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\n/**\r\n * Grid is a region which contains at most 4 cartesian systems\r\n *\r\n * TODO Default cartesian\r\n */\nimport { isObject, each, indexOf, retrieve3, keys } from 'zrender/lib/core/util.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport { createScaleByModel, ifAxisCrossZero, niceScaleExtent, estimateLabelUnionRect, getDataDimensionsOnAxis } from '../../coord/axisHelper.js';\nimport Cartesian2D, { cartesian2DDimensions } from './Cartesian2D.js';\nimport Axis2D from './Axis2D.js';\nimport { SINGLE_REFERRING } from '../../util/model.js';\nimport { isCartesian2DSeries, findAxisModels } from './cartesianAxisHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nimport { alignScaleTicks } from '../axisAlignTicks.js';\n\nvar Grid =\n/** @class */\nfunction () {\n function Grid(gridModel, ecModel, api) {\n // FIXME:TS where used (different from registered type 'cartesian2d')?\n this.type = 'grid';\n this._coordsMap = {};\n this._coordsList = [];\n this._axesMap = {};\n this._axesList = [];\n this.axisPointerEnabled = true;\n this.dimensions = cartesian2DDimensions;\n\n this._initCartesian(gridModel, ecModel, api);\n\n this.model = gridModel;\n }\n\n Grid.prototype.getRect = function () {\n return this._rect;\n };\n\n Grid.prototype.update = function (ecModel, api) {\n var axesMap = this._axesMap;\n\n this._updateScale(ecModel, this.model);\n\n function updateAxisTicks(axes) {\n var alignTo; // Axis is added in order of axisIndex.\n\n var axesIndices = keys(axes);\n var len = axesIndices.length;\n\n if (!len) {\n return;\n }\n\n var axisNeedsAlign = []; // Process once and calculate the ticks for those don't use alignTicks.\n\n for (var i = len - 1; i >= 0; i--) {\n var idx = +axesIndices[i]; // Convert to number.\n\n var axis = axes[idx];\n var model = axis.model;\n var scale = axis.scale;\n\n if ( // Only value and log axis without interval support alignTicks.\n isIntervalOrLogScale(scale) && model.get('alignTicks') && model.get('interval') == null) {\n axisNeedsAlign.push(axis);\n } else {\n niceScaleExtent(scale, model);\n\n if (isIntervalOrLogScale(scale)) {\n // Can only align to interval or log axis.\n alignTo = axis;\n }\n }\n }\n\n ; // All axes has set alignTicks. Pick the first one.\n // PENDING. Should we find the axis that both set interval, min, max and align to this one?\n\n if (axisNeedsAlign.length) {\n if (!alignTo) {\n alignTo = axisNeedsAlign.pop();\n niceScaleExtent(alignTo.scale, alignTo.model);\n }\n\n each(axisNeedsAlign, function (axis) {\n alignScaleTicks(axis.scale, axis.model, alignTo.scale);\n });\n }\n }\n\n updateAxisTicks(axesMap.x);\n updateAxisTicks(axesMap.y); // Key: axisDim_axisIndex, value: boolean, whether onZero target.\n\n var onZeroRecords = {};\n each(axesMap.x, function (xAxis) {\n fixAxisOnZero(axesMap, 'y', xAxis, onZeroRecords);\n });\n each(axesMap.y, function (yAxis) {\n fixAxisOnZero(axesMap, 'x', yAxis, onZeroRecords);\n }); // Resize again if containLabel is enabled\n // FIXME It may cause getting wrong grid size in data processing stage\n\n this.resize(this.model, api);\n };\n /**\r\n * Resize the grid\r\n */\n\n\n Grid.prototype.resize = function (gridModel, api, ignoreContainLabel) {\n var boxLayoutParams = gridModel.getBoxLayoutParams();\n var isContainLabel = !ignoreContainLabel && gridModel.get('containLabel');\n var gridRect = getLayoutRect(boxLayoutParams, {\n width: api.getWidth(),\n height: api.getHeight()\n });\n this._rect = gridRect;\n var axesList = this._axesList;\n adjustAxes(); // Minus label size\n\n if (isContainLabel) {\n each(axesList, function (axis) {\n if (!axis.model.get(['axisLabel', 'inside'])) {\n var labelUnionRect = estimateLabelUnionRect(axis);\n\n if (labelUnionRect) {\n var dim = axis.isHorizontal() ? 'height' : 'width';\n var margin = axis.model.get(['axisLabel', 'margin']);\n gridRect[dim] -= labelUnionRect[dim] + margin;\n\n if (axis.position === 'top') {\n gridRect.y += labelUnionRect.height + margin;\n } else if (axis.position === 'left') {\n gridRect.x += labelUnionRect.width + margin;\n }\n }\n }\n });\n adjustAxes();\n }\n\n each(this._coordsList, function (coord) {\n // Calculate affine matrix to accelerate the data to point transform.\n // If all the axes scales are time or value.\n coord.calcAffineTransform();\n });\n\n function adjustAxes() {\n each(axesList, function (axis) {\n var isHorizontal = axis.isHorizontal();\n var extent = isHorizontal ? [0, gridRect.width] : [0, gridRect.height];\n var idx = axis.inverse ? 1 : 0;\n axis.setExtent(extent[idx], extent[1 - idx]);\n updateAxisTransform(axis, isHorizontal ? gridRect.x : gridRect.y);\n });\n }\n };\n\n Grid.prototype.getAxis = function (dim, axisIndex) {\n var axesMapOnDim = this._axesMap[dim];\n\n if (axesMapOnDim != null) {\n return axesMapOnDim[axisIndex || 0];\n }\n };\n\n Grid.prototype.getAxes = function () {\n return this._axesList.slice();\n };\n\n Grid.prototype.getCartesian = function (xAxisIndex, yAxisIndex) {\n if (xAxisIndex != null && yAxisIndex != null) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n return this._coordsMap[key];\n }\n\n if (isObject(xAxisIndex)) {\n yAxisIndex = xAxisIndex.yAxisIndex;\n xAxisIndex = xAxisIndex.xAxisIndex;\n }\n\n for (var i = 0, coordList = this._coordsList; i < coordList.length; i++) {\n if (coordList[i].getAxis('x').index === xAxisIndex || coordList[i].getAxis('y').index === yAxisIndex) {\n return coordList[i];\n }\n }\n };\n\n Grid.prototype.getCartesians = function () {\n return this._coordsList.slice();\n };\n /**\r\n * @implements\r\n */\n\n\n Grid.prototype.convertToPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(finder);\n\n return target.cartesian ? target.cartesian.dataToPoint(value) : target.axis ? target.axis.toGlobalCoord(target.axis.dataToCoord(value)) : null;\n };\n /**\r\n * @implements\r\n */\n\n\n Grid.prototype.convertFromPixel = function (ecModel, finder, value) {\n var target = this._findConvertTarget(finder);\n\n return target.cartesian ? target.cartesian.pointToData(value) : target.axis ? target.axis.coordToData(target.axis.toLocalCoord(value)) : null;\n };\n\n Grid.prototype._findConvertTarget = function (finder) {\n var seriesModel = finder.seriesModel;\n var xAxisModel = finder.xAxisModel || seriesModel && seriesModel.getReferringComponents('xAxis', SINGLE_REFERRING).models[0];\n var yAxisModel = finder.yAxisModel || seriesModel && seriesModel.getReferringComponents('yAxis', SINGLE_REFERRING).models[0];\n var gridModel = finder.gridModel;\n var coordsList = this._coordsList;\n var cartesian;\n var axis;\n\n if (seriesModel) {\n cartesian = seriesModel.coordinateSystem;\n indexOf(coordsList, cartesian) < 0 && (cartesian = null);\n } else if (xAxisModel && yAxisModel) {\n cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n } else if (xAxisModel) {\n axis = this.getAxis('x', xAxisModel.componentIndex);\n } else if (yAxisModel) {\n axis = this.getAxis('y', yAxisModel.componentIndex);\n } // Lowest priority.\n else if (gridModel) {\n var grid = gridModel.coordinateSystem;\n\n if (grid === this) {\n cartesian = this._coordsList[0];\n }\n }\n\n return {\n cartesian: cartesian,\n axis: axis\n };\n };\n /**\r\n * @implements\r\n */\n\n\n Grid.prototype.containPoint = function (point) {\n var coord = this._coordsList[0];\n\n if (coord) {\n return coord.containPoint(point);\n }\n };\n /**\r\n * Initialize cartesian coordinate systems\r\n */\n\n\n Grid.prototype._initCartesian = function (gridModel, ecModel, api) {\n var _this = this;\n\n var grid = this;\n var axisPositionUsed = {\n left: false,\n right: false,\n top: false,\n bottom: false\n };\n var axesMap = {\n x: {},\n y: {}\n };\n var axesCount = {\n x: 0,\n y: 0\n }; // Create axis\n\n ecModel.eachComponent('xAxis', createAxisCreator('x'), this);\n ecModel.eachComponent('yAxis', createAxisCreator('y'), this);\n\n if (!axesCount.x || !axesCount.y) {\n // Roll back when there no either x or y axis\n this._axesMap = {};\n this._axesList = [];\n return;\n }\n\n this._axesMap = axesMap; // Create cartesian2d\n\n each(axesMap.x, function (xAxis, xAxisIndex) {\n each(axesMap.y, function (yAxis, yAxisIndex) {\n var key = 'x' + xAxisIndex + 'y' + yAxisIndex;\n var cartesian = new Cartesian2D(key);\n cartesian.master = _this;\n cartesian.model = gridModel;\n _this._coordsMap[key] = cartesian;\n\n _this._coordsList.push(cartesian);\n\n cartesian.addAxis(xAxis);\n cartesian.addAxis(yAxis);\n });\n });\n\n function createAxisCreator(dimName) {\n return function (axisModel, idx) {\n if (!isAxisUsedInTheGrid(axisModel, gridModel)) {\n return;\n }\n\n var axisPosition = axisModel.get('position');\n\n if (dimName === 'x') {\n // Fix position\n if (axisPosition !== 'top' && axisPosition !== 'bottom') {\n // Default bottom of X\n axisPosition = axisPositionUsed.bottom ? 'top' : 'bottom';\n }\n } else {\n // Fix position\n if (axisPosition !== 'left' && axisPosition !== 'right') {\n // Default left of Y\n axisPosition = axisPositionUsed.left ? 'right' : 'left';\n }\n }\n\n axisPositionUsed[axisPosition] = true;\n var axis = new Axis2D(dimName, createScaleByModel(axisModel), [0, 0], axisModel.get('type'), axisPosition);\n var isCategory = axis.type === 'category';\n axis.onBand = isCategory && axisModel.get('boundaryGap');\n axis.inverse = axisModel.get('inverse'); // Inject axis into axisModel\n\n axisModel.axis = axis; // Inject axisModel into axis\n\n axis.model = axisModel; // Inject grid info axis\n\n axis.grid = grid; // Index of axis, can be used as key\n\n axis.index = idx;\n\n grid._axesList.push(axis);\n\n axesMap[dimName][idx] = axis;\n axesCount[dimName]++;\n };\n }\n };\n /**\r\n * Update cartesian properties from series.\r\n */\n\n\n Grid.prototype._updateScale = function (ecModel, gridModel) {\n // Reset scale\n each(this._axesList, function (axis) {\n axis.scale.setExtent(Infinity, -Infinity);\n\n if (axis.type === 'category') {\n var categorySortInfo = axis.model.get('categorySortInfo');\n axis.scale.setSortInfo(categorySortInfo);\n }\n });\n ecModel.eachSeries(function (seriesModel) {\n if (isCartesian2DSeries(seriesModel)) {\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n\n if (!isAxisUsedInTheGrid(xAxisModel, gridModel) || !isAxisUsedInTheGrid(yAxisModel, gridModel)) {\n return;\n }\n\n var cartesian = this.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n var data = seriesModel.getData();\n var xAxis = cartesian.getAxis('x');\n var yAxis = cartesian.getAxis('y');\n unionExtent(data, xAxis);\n unionExtent(data, yAxis);\n }\n }, this);\n\n function unionExtent(data, axis) {\n each(getDataDimensionsOnAxis(data, axis.dim), function (dim) {\n axis.scale.unionExtentFromData(data, dim);\n });\n }\n };\n /**\r\n * @param dim 'x' or 'y' or 'auto' or null/undefined\r\n */\n\n\n Grid.prototype.getTooltipAxes = function (dim) {\n var baseAxes = [];\n var otherAxes = [];\n each(this.getCartesians(), function (cartesian) {\n var baseAxis = dim != null && dim !== 'auto' ? cartesian.getAxis(dim) : cartesian.getBaseAxis();\n var otherAxis = cartesian.getOtherAxis(baseAxis);\n indexOf(baseAxes, baseAxis) < 0 && baseAxes.push(baseAxis);\n indexOf(otherAxes, otherAxis) < 0 && otherAxes.push(otherAxis);\n });\n return {\n baseAxes: baseAxes,\n otherAxes: otherAxes\n };\n };\n\n Grid.create = function (ecModel, api) {\n var grids = [];\n ecModel.eachComponent('grid', function (gridModel, idx) {\n var grid = new Grid(gridModel, ecModel, api);\n grid.name = 'grid_' + idx; // dataSampling requires axis extent, so resize\n // should be performed in create stage.\n\n grid.resize(gridModel, api, true);\n gridModel.coordinateSystem = grid;\n grids.push(grid);\n }); // Inject the coordinateSystems into seriesModel\n\n ecModel.eachSeries(function (seriesModel) {\n if (!isCartesian2DSeries(seriesModel)) {\n return;\n }\n\n var axesModelMap = findAxisModels(seriesModel);\n var xAxisModel = axesModelMap.xAxisModel;\n var yAxisModel = axesModelMap.yAxisModel;\n var gridModel = xAxisModel.getCoordSysModel();\n\n if (process.env.NODE_ENV !== 'production') {\n if (!gridModel) {\n throw new Error('Grid \"' + retrieve3(xAxisModel.get('gridIndex'), xAxisModel.get('gridId'), 0) + '\" not found');\n }\n\n if (xAxisModel.getCoordSysModel() !== yAxisModel.getCoordSysModel()) {\n throw new Error('xAxis and yAxis must use the same grid');\n }\n }\n\n var grid = gridModel.coordinateSystem;\n seriesModel.coordinateSystem = grid.getCartesian(xAxisModel.componentIndex, yAxisModel.componentIndex);\n });\n return grids;\n }; // For deciding which dimensions to use when creating list data\n\n\n Grid.dimensions = cartesian2DDimensions;\n return Grid;\n}();\n/**\r\n * Check if the axis is used in the specified grid.\r\n */\n\n\nfunction isAxisUsedInTheGrid(axisModel, gridModel) {\n return axisModel.getCoordSysModel() === gridModel;\n}\n\nfunction fixAxisOnZero(axesMap, otherAxisDim, axis, // Key: see `getOnZeroRecordKey`\nonZeroRecords) {\n axis.getAxesOnZeroOf = function () {\n // TODO: onZero of multiple axes.\n return otherAxisOnZeroOf ? [otherAxisOnZeroOf] : [];\n }; // onZero can not be enabled in these two situations:\n // 1. When any other axis is a category axis.\n // 2. When no axis is cross 0 point.\n\n\n var otherAxes = axesMap[otherAxisDim];\n var otherAxisOnZeroOf;\n var axisModel = axis.model;\n var onZero = axisModel.get(['axisLine', 'onZero']);\n var onZeroAxisIndex = axisModel.get(['axisLine', 'onZeroAxisIndex']);\n\n if (!onZero) {\n return;\n } // If target axis is specified.\n\n\n if (onZeroAxisIndex != null) {\n if (canOnZeroToAxis(otherAxes[onZeroAxisIndex])) {\n otherAxisOnZeroOf = otherAxes[onZeroAxisIndex];\n }\n } else {\n // Find the first available other axis.\n for (var idx in otherAxes) {\n if (otherAxes.hasOwnProperty(idx) && canOnZeroToAxis(otherAxes[idx]) // Consider that two Y axes on one value axis,\n // if both onZero, the two Y axes overlap.\n && !onZeroRecords[getOnZeroRecordKey(otherAxes[idx])]) {\n otherAxisOnZeroOf = otherAxes[idx];\n break;\n }\n }\n }\n\n if (otherAxisOnZeroOf) {\n onZeroRecords[getOnZeroRecordKey(otherAxisOnZeroOf)] = true;\n }\n\n function getOnZeroRecordKey(axis) {\n return axis.dim + '_' + axis.index;\n }\n}\n\nfunction canOnZeroToAxis(axis) {\n return axis && axis.type !== 'category' && axis.type !== 'time' && ifAxisCrossZero(axis);\n}\n\nfunction updateAxisTransform(axis, coordBase) {\n var axisExtent = axis.getExtent();\n var axisExtentSum = axisExtent[0] + axisExtent[1]; // Fast transform\n\n axis.toGlobalCoord = axis.dim === 'x' ? function (coord) {\n return coord + coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n axis.toLocalCoord = axis.dim === 'x' ? function (coord) {\n return coord - coordBase;\n } : function (coord) {\n return axisExtentSum - coord + coordBase;\n };\n}\n\nexport default Grid;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { retrieve, defaults, extend, each, isObject, map, isString, isNumber, isFunction } from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { createTextStyle } from '../../label/labelStyle.js';\nimport Model from '../../model/Model.js';\nimport { isRadianAroundZero, remRadian } from '../../util/number.js';\nimport { createSymbol, normalizeSymbolOffset } from '../../util/symbol.js';\nimport * as matrixUtil from 'zrender/lib/core/matrix.js';\nimport { applyTransform as v2ApplyTransform } from 'zrender/lib/core/vector.js';\nimport { shouldShowAllLabels } from '../../coord/axisHelper.js';\nimport { prepareLayoutList, hideOverlap } from '../../label/labelLayoutHelper.js';\nvar PI = Math.PI;\n/**\r\n * A final axis is translated and rotated from a \"standard axis\".\r\n * So opt.position and opt.rotation is required.\r\n *\r\n * A standard axis is and axis from [0, 0] to [0, axisExtent[1]],\r\n * for example: (0, 0) ------------> (0, 50)\r\n *\r\n * nameDirection or tickDirection or labelDirection is 1 means tick\r\n * or label is below the standard axis, whereas is -1 means above\r\n * the standard axis. labelOffset means offset between label and axis,\r\n * which is useful when 'onZero', where axisLabel is in the grid and\r\n * label in outside grid.\r\n *\r\n * Tips: like always,\r\n * positive rotation represents anticlockwise, and negative rotation\r\n * represents clockwise.\r\n * The direction of position coordinate is the same as the direction\r\n * of screen coordinate.\r\n *\r\n * Do not need to consider axis 'inverse', which is auto processed by\r\n * axis extent.\r\n */\n\nvar AxisBuilder =\n/** @class */\nfunction () {\n function AxisBuilder(axisModel, opt) {\n this.group = new graphic.Group();\n this.opt = opt;\n this.axisModel = axisModel; // Default value\n\n defaults(opt, {\n labelOffset: 0,\n nameDirection: 1,\n tickDirection: 1,\n labelDirection: 1,\n silent: true,\n handleAutoShown: function () {\n return true;\n }\n }); // FIXME Not use a separate text group?\n\n var transformGroup = new graphic.Group({\n x: opt.position[0],\n y: opt.position[1],\n rotation: opt.rotation\n }); // this.group.add(transformGroup);\n // this._transformGroup = transformGroup;\n\n transformGroup.updateTransform();\n this._transformGroup = transformGroup;\n }\n\n AxisBuilder.prototype.hasBuilder = function (name) {\n return !!builders[name];\n };\n\n AxisBuilder.prototype.add = function (name) {\n builders[name](this.opt, this.axisModel, this.group, this._transformGroup);\n };\n\n AxisBuilder.prototype.getGroup = function () {\n return this.group;\n };\n\n AxisBuilder.innerTextLayout = function (axisRotation, textRotation, direction) {\n var rotationDiff = remRadian(textRotation - axisRotation);\n var textAlign;\n var textVerticalAlign;\n\n if (isRadianAroundZero(rotationDiff)) {\n // Label is parallel with axis line.\n textVerticalAlign = direction > 0 ? 'top' : 'bottom';\n textAlign = 'center';\n } else if (isRadianAroundZero(rotationDiff - PI)) {\n // Label is inverse parallel with axis line.\n textVerticalAlign = direction > 0 ? 'bottom' : 'top';\n textAlign = 'center';\n } else {\n textVerticalAlign = 'middle';\n\n if (rotationDiff > 0 && rotationDiff < PI) {\n textAlign = direction > 0 ? 'right' : 'left';\n } else {\n textAlign = direction > 0 ? 'left' : 'right';\n }\n }\n\n return {\n rotation: rotationDiff,\n textAlign: textAlign,\n textVerticalAlign: textVerticalAlign\n };\n };\n\n AxisBuilder.makeAxisEventDataBase = function (axisModel) {\n var eventData = {\n componentType: axisModel.mainType,\n componentIndex: axisModel.componentIndex\n };\n eventData[axisModel.mainType + 'Index'] = axisModel.componentIndex;\n return eventData;\n };\n\n AxisBuilder.isLabelSilent = function (axisModel) {\n var tooltipOpt = axisModel.get('tooltip');\n return axisModel.get('silent') // Consider mouse cursor, add these restrictions.\n || !(axisModel.get('triggerEvent') || tooltipOpt && tooltipOpt.show);\n };\n\n return AxisBuilder;\n}();\n\n;\nvar builders = {\n axisLine: function (opt, axisModel, group, transformGroup) {\n var shown = axisModel.get(['axisLine', 'show']);\n\n if (shown === 'auto' && opt.handleAutoShown) {\n shown = opt.handleAutoShown('axisLine');\n }\n\n if (!shown) {\n return;\n }\n\n var extent = axisModel.axis.getExtent();\n var matrix = transformGroup.transform;\n var pt1 = [extent[0], 0];\n var pt2 = [extent[1], 0];\n var inverse = pt1[0] > pt2[0];\n\n if (matrix) {\n v2ApplyTransform(pt1, pt1, matrix);\n v2ApplyTransform(pt2, pt2, matrix);\n }\n\n var lineStyle = extend({\n lineCap: 'round'\n }, axisModel.getModel(['axisLine', 'lineStyle']).getLineStyle());\n var line = new graphic.Line({\n shape: {\n x1: pt1[0],\n y1: pt1[1],\n x2: pt2[0],\n y2: pt2[1]\n },\n style: lineStyle,\n strokeContainThreshold: opt.strokeContainThreshold || 5,\n silent: true,\n z2: 1\n });\n graphic.subPixelOptimizeLine(line.shape, line.style.lineWidth);\n line.anid = 'line';\n group.add(line);\n var arrows = axisModel.get(['axisLine', 'symbol']);\n\n if (arrows != null) {\n var arrowSize = axisModel.get(['axisLine', 'symbolSize']);\n\n if (isString(arrows)) {\n // Use the same arrow for start and end point\n arrows = [arrows, arrows];\n }\n\n if (isString(arrowSize) || isNumber(arrowSize)) {\n // Use the same size for width and height\n arrowSize = [arrowSize, arrowSize];\n }\n\n var arrowOffset = normalizeSymbolOffset(axisModel.get(['axisLine', 'symbolOffset']) || 0, arrowSize);\n var symbolWidth_1 = arrowSize[0];\n var symbolHeight_1 = arrowSize[1];\n each([{\n rotate: opt.rotation + Math.PI / 2,\n offset: arrowOffset[0],\n r: 0\n }, {\n rotate: opt.rotation - Math.PI / 2,\n offset: arrowOffset[1],\n r: Math.sqrt((pt1[0] - pt2[0]) * (pt1[0] - pt2[0]) + (pt1[1] - pt2[1]) * (pt1[1] - pt2[1]))\n }], function (point, index) {\n if (arrows[index] !== 'none' && arrows[index] != null) {\n var symbol = createSymbol(arrows[index], -symbolWidth_1 / 2, -symbolHeight_1 / 2, symbolWidth_1, symbolHeight_1, lineStyle.stroke, true); // Calculate arrow position with offset\n\n var r = point.r + point.offset;\n var pt = inverse ? pt2 : pt1;\n symbol.attr({\n rotation: point.rotate,\n x: pt[0] + r * Math.cos(opt.rotation),\n y: pt[1] - r * Math.sin(opt.rotation),\n silent: true,\n z2: 11\n });\n group.add(symbol);\n }\n });\n }\n },\n axisTickLabel: function (opt, axisModel, group, transformGroup) {\n var ticksEls = buildAxisMajorTicks(group, transformGroup, axisModel, opt);\n var labelEls = buildAxisLabel(group, transformGroup, axisModel, opt);\n fixMinMaxLabelShow(axisModel, labelEls, ticksEls);\n buildAxisMinorTicks(group, transformGroup, axisModel, opt.tickDirection); // This bit fixes the label overlap issue for the time chart.\n // See https://github.com/apache/echarts/issues/14266 for more.\n\n if (axisModel.get(['axisLabel', 'hideOverlap'])) {\n var labelList = prepareLayoutList(map(labelEls, function (label) {\n return {\n label: label,\n priority: label.z2,\n defaultAttr: {\n ignore: label.ignore\n }\n };\n }));\n hideOverlap(labelList);\n }\n },\n axisName: function (opt, axisModel, group, transformGroup) {\n var name = retrieve(opt.axisName, axisModel.get('name'));\n\n if (!name) {\n return;\n }\n\n var nameLocation = axisModel.get('nameLocation');\n var nameDirection = opt.nameDirection;\n var textStyleModel = axisModel.getModel('nameTextStyle');\n var gap = axisModel.get('nameGap') || 0;\n var extent = axisModel.axis.getExtent();\n var gapSignal = extent[0] > extent[1] ? -1 : 1;\n var pos = [nameLocation === 'start' ? extent[0] - gapSignal * gap : nameLocation === 'end' ? extent[1] + gapSignal * gap : (extent[0] + extent[1]) / 2, // Reuse labelOffset.\n isNameLocationCenter(nameLocation) ? opt.labelOffset + nameDirection * gap : 0];\n var labelLayout;\n var nameRotation = axisModel.get('nameRotate');\n\n if (nameRotation != null) {\n nameRotation = nameRotation * PI / 180; // To radian.\n }\n\n var axisNameAvailableWidth;\n\n if (isNameLocationCenter(nameLocation)) {\n labelLayout = AxisBuilder.innerTextLayout(opt.rotation, nameRotation != null ? nameRotation : opt.rotation, // Adapt to axis.\n nameDirection);\n } else {\n labelLayout = endTextLayout(opt.rotation, nameLocation, nameRotation || 0, extent);\n axisNameAvailableWidth = opt.axisNameAvailableWidth;\n\n if (axisNameAvailableWidth != null) {\n axisNameAvailableWidth = Math.abs(axisNameAvailableWidth / Math.sin(labelLayout.rotation));\n !isFinite(axisNameAvailableWidth) && (axisNameAvailableWidth = null);\n }\n }\n\n var textFont = textStyleModel.getFont();\n var truncateOpt = axisModel.get('nameTruncate', true) || {};\n var ellipsis = truncateOpt.ellipsis;\n var maxWidth = retrieve(opt.nameTruncateMaxWidth, truncateOpt.maxWidth, axisNameAvailableWidth);\n var textEl = new graphic.Text({\n x: pos[0],\n y: pos[1],\n rotation: labelLayout.rotation,\n silent: AxisBuilder.isLabelSilent(axisModel),\n style: createTextStyle(textStyleModel, {\n text: name,\n font: textFont,\n overflow: 'truncate',\n width: maxWidth,\n ellipsis: ellipsis,\n fill: textStyleModel.getTextColor() || axisModel.get(['axisLine', 'lineStyle', 'color']),\n align: textStyleModel.get('align') || labelLayout.textAlign,\n verticalAlign: textStyleModel.get('verticalAlign') || labelLayout.textVerticalAlign\n }),\n z2: 1\n });\n graphic.setTooltipConfig({\n el: textEl,\n componentModel: axisModel,\n itemName: name\n });\n textEl.__fullText = name; // Id for animation\n\n textEl.anid = 'name';\n\n if (axisModel.get('triggerEvent')) {\n var eventData = AxisBuilder.makeAxisEventDataBase(axisModel);\n eventData.targetType = 'axisName';\n eventData.name = name;\n getECData(textEl).eventData = eventData;\n } // FIXME\n\n\n transformGroup.add(textEl);\n textEl.updateTransform();\n group.add(textEl);\n textEl.decomposeTransform();\n }\n};\n\nfunction endTextLayout(rotation, textPosition, textRotate, extent) {\n var rotationDiff = remRadian(textRotate - rotation);\n var textAlign;\n var textVerticalAlign;\n var inverse = extent[0] > extent[1];\n var onLeft = textPosition === 'start' && !inverse || textPosition !== 'start' && inverse;\n\n if (isRadianAroundZero(rotationDiff - PI / 2)) {\n textVerticalAlign = onLeft ? 'bottom' : 'top';\n textAlign = 'center';\n } else if (isRadianAroundZero(rotationDiff - PI * 1.5)) {\n textVerticalAlign = onLeft ? 'top' : 'bottom';\n textAlign = 'center';\n } else {\n textVerticalAlign = 'middle';\n\n if (rotationDiff < PI * 1.5 && rotationDiff > PI / 2) {\n textAlign = onLeft ? 'left' : 'right';\n } else {\n textAlign = onLeft ? 'right' : 'left';\n }\n }\n\n return {\n rotation: rotationDiff,\n textAlign: textAlign,\n textVerticalAlign: textVerticalAlign\n };\n}\n\nfunction fixMinMaxLabelShow(axisModel, labelEls, tickEls) {\n if (shouldShowAllLabels(axisModel.axis)) {\n return;\n } // If min or max are user set, we need to check\n // If the tick on min(max) are overlap on their neighbour tick\n // If they are overlapped, we need to hide the min(max) tick label\n\n\n var showMinLabel = axisModel.get(['axisLabel', 'showMinLabel']);\n var showMaxLabel = axisModel.get(['axisLabel', 'showMaxLabel']); // FIXME\n // Have not consider onBand yet, where tick els is more than label els.\n\n labelEls = labelEls || [];\n tickEls = tickEls || [];\n var firstLabel = labelEls[0];\n var nextLabel = labelEls[1];\n var lastLabel = labelEls[labelEls.length - 1];\n var prevLabel = labelEls[labelEls.length - 2];\n var firstTick = tickEls[0];\n var nextTick = tickEls[1];\n var lastTick = tickEls[tickEls.length - 1];\n var prevTick = tickEls[tickEls.length - 2];\n\n if (showMinLabel === false) {\n ignoreEl(firstLabel);\n ignoreEl(firstTick);\n } else if (isTwoLabelOverlapped(firstLabel, nextLabel)) {\n if (showMinLabel) {\n ignoreEl(nextLabel);\n ignoreEl(nextTick);\n } else {\n ignoreEl(firstLabel);\n ignoreEl(firstTick);\n }\n }\n\n if (showMaxLabel === false) {\n ignoreEl(lastLabel);\n ignoreEl(lastTick);\n } else if (isTwoLabelOverlapped(prevLabel, lastLabel)) {\n if (showMaxLabel) {\n ignoreEl(prevLabel);\n ignoreEl(prevTick);\n } else {\n ignoreEl(lastLabel);\n ignoreEl(lastTick);\n }\n }\n}\n\nfunction ignoreEl(el) {\n el && (el.ignore = true);\n}\n\nfunction isTwoLabelOverlapped(current, next) {\n // current and next has the same rotation.\n var firstRect = current && current.getBoundingRect().clone();\n var nextRect = next && next.getBoundingRect().clone();\n\n if (!firstRect || !nextRect) {\n return;\n } // When checking intersect of two rotated labels, we use mRotationBack\n // to avoid that boundingRect is enlarge when using `boundingRect.applyTransform`.\n\n\n var mRotationBack = matrixUtil.identity([]);\n matrixUtil.rotate(mRotationBack, mRotationBack, -current.rotation);\n firstRect.applyTransform(matrixUtil.mul([], mRotationBack, current.getLocalTransform()));\n nextRect.applyTransform(matrixUtil.mul([], mRotationBack, next.getLocalTransform()));\n return firstRect.intersect(nextRect);\n}\n\nfunction isNameLocationCenter(nameLocation) {\n return nameLocation === 'middle' || nameLocation === 'center';\n}\n\nfunction createTicks(ticksCoords, tickTransform, tickEndCoord, tickLineStyle, anidPrefix) {\n var tickEls = [];\n var pt1 = [];\n var pt2 = [];\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = ticksCoords[i].coord;\n pt1[0] = tickCoord;\n pt1[1] = 0;\n pt2[0] = tickCoord;\n pt2[1] = tickEndCoord;\n\n if (tickTransform) {\n v2ApplyTransform(pt1, pt1, tickTransform);\n v2ApplyTransform(pt2, pt2, tickTransform);\n } // Tick line, Not use group transform to have better line draw\n\n\n var tickEl = new graphic.Line({\n shape: {\n x1: pt1[0],\n y1: pt1[1],\n x2: pt2[0],\n y2: pt2[1]\n },\n style: tickLineStyle,\n z2: 2,\n autoBatch: true,\n silent: true\n });\n graphic.subPixelOptimizeLine(tickEl.shape, tickEl.style.lineWidth);\n tickEl.anid = anidPrefix + '_' + ticksCoords[i].tickValue;\n tickEls.push(tickEl);\n }\n\n return tickEls;\n}\n\nfunction buildAxisMajorTicks(group, transformGroup, axisModel, opt) {\n var axis = axisModel.axis;\n var tickModel = axisModel.getModel('axisTick');\n var shown = tickModel.get('show');\n\n if (shown === 'auto' && opt.handleAutoShown) {\n shown = opt.handleAutoShown('axisTick');\n }\n\n if (!shown || axis.scale.isBlank()) {\n return;\n }\n\n var lineStyleModel = tickModel.getModel('lineStyle');\n var tickEndCoord = opt.tickDirection * tickModel.get('length');\n var ticksCoords = axis.getTicksCoords();\n var ticksEls = createTicks(ticksCoords, transformGroup.transform, tickEndCoord, defaults(lineStyleModel.getLineStyle(), {\n stroke: axisModel.get(['axisLine', 'lineStyle', 'color'])\n }), 'ticks');\n\n for (var i = 0; i < ticksEls.length; i++) {\n group.add(ticksEls[i]);\n }\n\n return ticksEls;\n}\n\nfunction buildAxisMinorTicks(group, transformGroup, axisModel, tickDirection) {\n var axis = axisModel.axis;\n var minorTickModel = axisModel.getModel('minorTick');\n\n if (!minorTickModel.get('show') || axis.scale.isBlank()) {\n return;\n }\n\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var lineStyleModel = minorTickModel.getModel('lineStyle');\n var tickEndCoord = tickDirection * minorTickModel.get('length');\n var minorTickLineStyle = defaults(lineStyleModel.getLineStyle(), defaults(axisModel.getModel('axisTick').getLineStyle(), {\n stroke: axisModel.get(['axisLine', 'lineStyle', 'color'])\n }));\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n var minorTicksEls = createTicks(minorTicksCoords[i], transformGroup.transform, tickEndCoord, minorTickLineStyle, 'minorticks_' + i);\n\n for (var k = 0; k < minorTicksEls.length; k++) {\n group.add(minorTicksEls[k]);\n }\n }\n}\n\nfunction buildAxisLabel(group, transformGroup, axisModel, opt) {\n var axis = axisModel.axis;\n var show = retrieve(opt.axisLabelShow, axisModel.get(['axisLabel', 'show']));\n\n if (!show || axis.scale.isBlank()) {\n return;\n }\n\n var labelModel = axisModel.getModel('axisLabel');\n var labelMargin = labelModel.get('margin');\n var labels = axis.getViewLabels(); // Special label rotate.\n\n var labelRotation = (retrieve(opt.labelRotate, labelModel.get('rotate')) || 0) * PI / 180;\n var labelLayout = AxisBuilder.innerTextLayout(opt.rotation, labelRotation, opt.labelDirection);\n var rawCategoryData = axisModel.getCategories && axisModel.getCategories(true);\n var labelEls = [];\n var silent = AxisBuilder.isLabelSilent(axisModel);\n var triggerEvent = axisModel.get('triggerEvent');\n each(labels, function (labelItem, index) {\n var tickValue = axis.scale.type === 'ordinal' ? axis.scale.getRawOrdinalNumber(labelItem.tickValue) : labelItem.tickValue;\n var formattedLabel = labelItem.formattedLabel;\n var rawLabel = labelItem.rawLabel;\n var itemLabelModel = labelModel;\n\n if (rawCategoryData && rawCategoryData[tickValue]) {\n var rawCategoryItem = rawCategoryData[tickValue];\n\n if (isObject(rawCategoryItem) && rawCategoryItem.textStyle) {\n itemLabelModel = new Model(rawCategoryItem.textStyle, labelModel, axisModel.ecModel);\n }\n }\n\n var textColor = itemLabelModel.getTextColor() || axisModel.get(['axisLine', 'lineStyle', 'color']);\n var tickCoord = axis.dataToCoord(tickValue);\n var textEl = new graphic.Text({\n x: tickCoord,\n y: opt.labelOffset + opt.labelDirection * labelMargin,\n rotation: labelLayout.rotation,\n silent: silent,\n z2: 10 + (labelItem.level || 0),\n style: createTextStyle(itemLabelModel, {\n text: formattedLabel,\n align: itemLabelModel.getShallow('align', true) || labelLayout.textAlign,\n verticalAlign: itemLabelModel.getShallow('verticalAlign', true) || itemLabelModel.getShallow('baseline', true) || labelLayout.textVerticalAlign,\n fill: isFunction(textColor) ? textColor( // (1) In category axis with data zoom, tick is not the original\n // index of axis.data. So tick should not be exposed to user\n // in category axis.\n // (2) Compatible with previous version, which always use formatted label as\n // input. But in interval scale the formatted label is like '223,445', which\n // maked user replace ','. So we modify it to return original val but remain\n // it as 'string' to avoid error in replacing.\n axis.type === 'category' ? rawLabel : axis.type === 'value' ? tickValue + '' : tickValue, index) : textColor\n })\n });\n textEl.anid = 'label_' + tickValue; // Pack data for mouse event\n\n if (triggerEvent) {\n var eventData = AxisBuilder.makeAxisEventDataBase(axisModel);\n eventData.targetType = 'axisLabel';\n eventData.value = rawLabel;\n eventData.tickIndex = index;\n\n if (axis.type === 'category') {\n eventData.dataIndex = tickValue;\n }\n\n getECData(textEl).eventData = eventData;\n } // FIXME\n\n\n transformGroup.add(textEl);\n textEl.updateTransform();\n labelEls.push(textEl);\n group.add(textEl);\n textEl.decomposeTransform();\n });\n return labelEls;\n}\n\nexport default AxisBuilder;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport Model from '../../model/Model.js';\nimport { each, curry, clone, defaults, isArray, indexOf } from 'zrender/lib/core/util.js'; // Build axisPointerModel, mergin tooltip.axisPointer model for each axis.\n// allAxesInfo should be updated when setOption performed.\n\nexport function collect(ecModel, api) {\n var result = {\n /**\r\n * key: makeKey(axis.model)\r\n * value: {\r\n * axis,\r\n * coordSys,\r\n * axisPointerModel,\r\n * triggerTooltip,\r\n * triggerEmphasis,\r\n * involveSeries,\r\n * snap,\r\n * seriesModels,\r\n * seriesDataCount\r\n * }\r\n */\n axesInfo: {},\n seriesInvolved: false,\n\n /**\r\n * key: makeKey(coordSys.model)\r\n * value: Object: key makeKey(axis.model), value: axisInfo\r\n */\n coordSysAxesInfo: {},\n coordSysMap: {}\n };\n collectAxesInfo(result, ecModel, api); // Check seriesInvolved for performance, in case too many series in some chart.\n\n result.seriesInvolved && collectSeriesInfo(result, ecModel);\n return result;\n}\n\nfunction collectAxesInfo(result, ecModel, api) {\n var globalTooltipModel = ecModel.getComponent('tooltip');\n var globalAxisPointerModel = ecModel.getComponent('axisPointer'); // links can only be set on global.\n\n var linksOption = globalAxisPointerModel.get('link', true) || [];\n var linkGroups = []; // Collect axes info.\n\n each(api.getCoordinateSystems(), function (coordSys) {\n // Some coordinate system do not support axes, like geo.\n if (!coordSys.axisPointerEnabled) {\n return;\n }\n\n var coordSysKey = makeKey(coordSys.model);\n var axesInfoInCoordSys = result.coordSysAxesInfo[coordSysKey] = {};\n result.coordSysMap[coordSysKey] = coordSys; // Set tooltip (like 'cross') is a convenient way to show axisPointer\n // for user. So we enable setting tooltip on coordSys model.\n\n var coordSysModel = coordSys.model;\n var baseTooltipModel = coordSysModel.getModel('tooltip', globalTooltipModel);\n each(coordSys.getAxes(), curry(saveTooltipAxisInfo, false, null)); // If axis tooltip used, choose tooltip axis for each coordSys.\n // Notice this case: coordSys is `grid` but not `cartesian2D` here.\n\n if (coordSys.getTooltipAxes && globalTooltipModel // If tooltip.showContent is set as false, tooltip will not\n // show but axisPointer will show as normal.\n && baseTooltipModel.get('show')) {\n // Compatible with previous logic. But series.tooltip.trigger: 'axis'\n // or series.data[n].tooltip.trigger: 'axis' are not support any more.\n var triggerAxis = baseTooltipModel.get('trigger') === 'axis';\n var cross = baseTooltipModel.get(['axisPointer', 'type']) === 'cross';\n var tooltipAxes = coordSys.getTooltipAxes(baseTooltipModel.get(['axisPointer', 'axis']));\n\n if (triggerAxis || cross) {\n each(tooltipAxes.baseAxes, curry(saveTooltipAxisInfo, cross ? 'cross' : true, triggerAxis));\n }\n\n if (cross) {\n each(tooltipAxes.otherAxes, curry(saveTooltipAxisInfo, 'cross', false));\n }\n } // fromTooltip: true | false | 'cross'\n // triggerTooltip: true | false | null\n\n\n function saveTooltipAxisInfo(fromTooltip, triggerTooltip, axis) {\n var axisPointerModel = axis.model.getModel('axisPointer', globalAxisPointerModel);\n var axisPointerShow = axisPointerModel.get('show');\n\n if (!axisPointerShow || axisPointerShow === 'auto' && !fromTooltip && !isHandleTrigger(axisPointerModel)) {\n return;\n }\n\n if (triggerTooltip == null) {\n triggerTooltip = axisPointerModel.get('triggerTooltip');\n }\n\n axisPointerModel = fromTooltip ? makeAxisPointerModel(axis, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) : axisPointerModel;\n var snap = axisPointerModel.get('snap');\n var triggerEmphasis = axisPointerModel.get('triggerEmphasis');\n var axisKey = makeKey(axis.model);\n var involveSeries = triggerTooltip || snap || axis.type === 'category'; // If result.axesInfo[key] exist, override it (tooltip has higher priority).\n\n var axisInfo = result.axesInfo[axisKey] = {\n key: axisKey,\n axis: axis,\n coordSys: coordSys,\n axisPointerModel: axisPointerModel,\n triggerTooltip: triggerTooltip,\n triggerEmphasis: triggerEmphasis,\n involveSeries: involveSeries,\n snap: snap,\n useHandle: isHandleTrigger(axisPointerModel),\n seriesModels: [],\n linkGroup: null\n };\n axesInfoInCoordSys[axisKey] = axisInfo;\n result.seriesInvolved = result.seriesInvolved || involveSeries;\n var groupIndex = getLinkGroupIndex(linksOption, axis);\n\n if (groupIndex != null) {\n var linkGroup = linkGroups[groupIndex] || (linkGroups[groupIndex] = {\n axesInfo: {}\n });\n linkGroup.axesInfo[axisKey] = axisInfo;\n linkGroup.mapper = linksOption[groupIndex].mapper;\n axisInfo.linkGroup = linkGroup;\n }\n }\n });\n}\n\nfunction makeAxisPointerModel(axis, baseTooltipModel, globalAxisPointerModel, ecModel, fromTooltip, triggerTooltip) {\n var tooltipAxisPointerModel = baseTooltipModel.getModel('axisPointer');\n var fields = ['type', 'snap', 'lineStyle', 'shadowStyle', 'label', 'animation', 'animationDurationUpdate', 'animationEasingUpdate', 'z'];\n var volatileOption = {};\n each(fields, function (field) {\n volatileOption[field] = clone(tooltipAxisPointerModel.get(field));\n }); // category axis do not auto snap, otherwise some tick that do not\n // has value can not be hovered. value/time/log axis default snap if\n // triggered from tooltip and trigger tooltip.\n\n volatileOption.snap = axis.type !== 'category' && !!triggerTooltip; // Compatible with previous behavior, tooltip axis does not show label by default.\n // Only these properties can be overridden from tooltip to axisPointer.\n\n if (tooltipAxisPointerModel.get('type') === 'cross') {\n volatileOption.type = 'line';\n }\n\n var labelOption = volatileOption.label || (volatileOption.label = {}); // Follow the convention, do not show label when triggered by tooltip by default.\n\n labelOption.show == null && (labelOption.show = false);\n\n if (fromTooltip === 'cross') {\n // When 'cross', both axes show labels.\n var tooltipAxisPointerLabelShow = tooltipAxisPointerModel.get(['label', 'show']);\n labelOption.show = tooltipAxisPointerLabelShow != null ? tooltipAxisPointerLabelShow : true; // If triggerTooltip, this is a base axis, which should better not use cross style\n // (cross style is dashed by default)\n\n if (!triggerTooltip) {\n var crossStyle = volatileOption.lineStyle = tooltipAxisPointerModel.get('crossStyle');\n crossStyle && defaults(labelOption, crossStyle.textStyle);\n }\n }\n\n return axis.model.getModel('axisPointer', new Model(volatileOption, globalAxisPointerModel, ecModel));\n}\n\nfunction collectSeriesInfo(result, ecModel) {\n // Prepare data for axis trigger\n ecModel.eachSeries(function (seriesModel) {\n // Notice this case: this coordSys is `cartesian2D` but not `grid`.\n var coordSys = seriesModel.coordinateSystem;\n var seriesTooltipTrigger = seriesModel.get(['tooltip', 'trigger'], true);\n var seriesTooltipShow = seriesModel.get(['tooltip', 'show'], true);\n\n if (!coordSys || seriesTooltipTrigger === 'none' || seriesTooltipTrigger === false || seriesTooltipTrigger === 'item' || seriesTooltipShow === false || seriesModel.get(['axisPointer', 'show'], true) === false) {\n return;\n }\n\n each(result.coordSysAxesInfo[makeKey(coordSys.model)], function (axisInfo) {\n var axis = axisInfo.axis;\n\n if (coordSys.getAxis(axis.dim) === axis) {\n axisInfo.seriesModels.push(seriesModel);\n axisInfo.seriesDataCount == null && (axisInfo.seriesDataCount = 0);\n axisInfo.seriesDataCount += seriesModel.getData().count();\n }\n });\n });\n}\n/**\r\n * For example:\r\n * {\r\n * axisPointer: {\r\n * links: [{\r\n * xAxisIndex: [2, 4],\r\n * yAxisIndex: 'all'\r\n * }, {\r\n * xAxisId: ['a5', 'a7'],\r\n * xAxisName: 'xxx'\r\n * }]\r\n * }\r\n * }\r\n */\n\n\nfunction getLinkGroupIndex(linksOption, axis) {\n var axisModel = axis.model;\n var dim = axis.dim;\n\n for (var i = 0; i < linksOption.length; i++) {\n var linkOption = linksOption[i] || {};\n\n if (checkPropInLink(linkOption[dim + 'AxisId'], axisModel.id) || checkPropInLink(linkOption[dim + 'AxisIndex'], axisModel.componentIndex) || checkPropInLink(linkOption[dim + 'AxisName'], axisModel.name)) {\n return i;\n }\n }\n}\n\nfunction checkPropInLink(linkPropValue, axisPropValue) {\n return linkPropValue === 'all' || isArray(linkPropValue) && indexOf(linkPropValue, axisPropValue) >= 0 || linkPropValue === axisPropValue;\n}\n\nexport function fixValue(axisModel) {\n var axisInfo = getAxisInfo(axisModel);\n\n if (!axisInfo) {\n return;\n }\n\n var axisPointerModel = axisInfo.axisPointerModel;\n var scale = axisInfo.axis.scale;\n var option = axisPointerModel.option;\n var status = axisPointerModel.get('status');\n var value = axisPointerModel.get('value'); // Parse init value for category and time axis.\n\n if (value != null) {\n value = scale.parse(value);\n }\n\n var useHandle = isHandleTrigger(axisPointerModel); // If `handle` used, `axisPointer` will always be displayed, so value\n // and status should be initialized.\n\n if (status == null) {\n option.status = useHandle ? 'show' : 'hide';\n }\n\n var extent = scale.getExtent().slice();\n extent[0] > extent[1] && extent.reverse();\n\n if ( // Pick a value on axis when initializing.\n value == null // If both `handle` and `dataZoom` are used, value may be out of axis extent,\n // where we should re-pick a value to keep `handle` displaying normally.\n || value > extent[1]) {\n // Make handle displayed on the end of the axis when init, which looks better.\n value = extent[1];\n }\n\n if (value < extent[0]) {\n value = extent[0];\n }\n\n option.value = value;\n\n if (useHandle) {\n option.status = axisInfo.axis.scale.isBlank() ? 'hide' : 'show';\n }\n}\nexport function getAxisInfo(axisModel) {\n var coordSysAxesInfo = (axisModel.ecModel.getComponent('axisPointer') || {}).coordSysAxesInfo;\n return coordSysAxesInfo && coordSysAxesInfo.axesInfo[makeKey(axisModel)];\n}\nexport function getAxisPointerModel(axisModel) {\n var axisInfo = getAxisInfo(axisModel);\n return axisInfo && axisInfo.axisPointerModel;\n}\n\nfunction isHandleTrigger(axisPointerModel) {\n return !!axisPointerModel.get(['handle', 'show']);\n}\n/**\r\n * @param {module:echarts/model/Model} model\r\n * @return {string} unique key\r\n */\n\n\nexport function makeKey(model) {\n return model.type + '||' + model.id;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as axisPointerModelHelper from '../axisPointer/modelHelper.js';\nimport ComponentView from '../../view/Component.js';\nvar axisPointerClazz = {};\n/**\r\n * Base class of AxisView.\r\n */\n\nvar AxisView =\n/** @class */\nfunction (_super) {\n __extends(AxisView, _super);\n\n function AxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = AxisView.type;\n return _this;\n }\n /**\r\n * @override\r\n */\n\n\n AxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n // FIXME\n // This process should proformed after coordinate systems updated\n // (axis scale updated), and should be performed each time update.\n // So put it here temporarily, although it is not appropriate to\n // put a model-writing procedure in `view`.\n this.axisPointerClass && axisPointerModelHelper.fixValue(axisModel);\n\n _super.prototype.render.apply(this, arguments);\n\n this._doUpdateAxisPointerClass(axisModel, api, true);\n };\n /**\r\n * Action handler.\r\n */\n\n\n AxisView.prototype.updateAxisPointer = function (axisModel, ecModel, api, payload) {\n this._doUpdateAxisPointerClass(axisModel, api, false);\n };\n /**\r\n * @override\r\n */\n\n\n AxisView.prototype.remove = function (ecModel, api) {\n var axisPointer = this._axisPointer;\n axisPointer && axisPointer.remove(api);\n };\n /**\r\n * @override\r\n */\n\n\n AxisView.prototype.dispose = function (ecModel, api) {\n this._disposeAxisPointer(api);\n\n _super.prototype.dispose.apply(this, arguments);\n };\n\n AxisView.prototype._doUpdateAxisPointerClass = function (axisModel, api, forceRender) {\n var Clazz = AxisView.getAxisPointerClass(this.axisPointerClass);\n\n if (!Clazz) {\n return;\n }\n\n var axisPointerModel = axisPointerModelHelper.getAxisPointerModel(axisModel);\n axisPointerModel ? (this._axisPointer || (this._axisPointer = new Clazz())).render(axisModel, axisPointerModel, api, forceRender) : this._disposeAxisPointer(api);\n };\n\n AxisView.prototype._disposeAxisPointer = function (api) {\n this._axisPointer && this._axisPointer.dispose(api);\n this._axisPointer = null;\n };\n\n AxisView.registerAxisPointerClass = function (type, clazz) {\n if (process.env.NODE_ENV !== 'production') {\n if (axisPointerClazz[type]) {\n throw new Error('axisPointer ' + type + ' exists');\n }\n }\n\n axisPointerClazz[type] = clazz;\n };\n\n ;\n\n AxisView.getAxisPointerClass = function (type) {\n return type && axisPointerClazz[type];\n };\n\n ;\n AxisView.type = 'axis';\n return AxisView;\n}(ComponentView);\n\nexport default AxisView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { makeInner } from '../../util/model.js';\nvar inner = makeInner();\nexport function rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n } // TODO: TYPE\n\n\n var splitAreaModel = axisModel.getModel('splitArea');\n var areaStyleModel = splitAreaModel.getModel('areaStyle');\n var areaColors = areaStyleModel.get('color');\n var gridRect = gridModel.coordinateSystem.getRect();\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitAreaModel,\n clamp: true\n });\n\n if (!ticksCoords.length) {\n return;\n } // For Making appropriate splitArea animation, the color and anid\n // should be corresponding to previous one if possible.\n\n\n var areaColorsLen = areaColors.length;\n var lastSplitAreaColors = inner(axisView).splitAreaColors;\n var newSplitAreaColors = zrUtil.createHashMap();\n var colorIndex = 0;\n\n if (lastSplitAreaColors) {\n for (var i = 0; i < ticksCoords.length; i++) {\n var cIndex = lastSplitAreaColors.get(ticksCoords[i].tickValue);\n\n if (cIndex != null) {\n colorIndex = (cIndex + (areaColorsLen - 1) * i) % areaColorsLen;\n break;\n }\n }\n }\n\n var prev = axis.toGlobalCoord(ticksCoords[0].coord);\n var areaStyle = areaStyleModel.getAreaStyle();\n areaColors = zrUtil.isArray(areaColors) ? areaColors : [areaColors];\n\n for (var i = 1; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n var x = void 0;\n var y = void 0;\n var width = void 0;\n var height = void 0;\n\n if (axis.isHorizontal()) {\n x = prev;\n y = gridRect.y;\n width = tickCoord - x;\n height = gridRect.height;\n prev = x + width;\n } else {\n x = gridRect.x;\n y = prev;\n width = gridRect.width;\n height = tickCoord - y;\n prev = y + height;\n }\n\n var tickValue = ticksCoords[i - 1].tickValue;\n tickValue != null && newSplitAreaColors.set(tickValue, colorIndex);\n axisGroup.add(new graphic.Rect({\n anid: tickValue != null ? 'area_' + tickValue : null,\n shape: {\n x: x,\n y: y,\n width: width,\n height: height\n },\n style: zrUtil.defaults({\n fill: areaColors[colorIndex]\n }, areaStyle),\n autoBatch: true,\n silent: true\n }));\n colorIndex = (colorIndex + 1) % areaColorsLen;\n }\n\n inner(axisView).splitAreaColors = newSplitAreaColors;\n}\nexport function rectCoordAxisHandleRemove(axisView) {\n inner(axisView).splitAreaColors = null;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport AxisBuilder from './AxisBuilder.js';\nimport AxisView from './AxisView.js';\nimport * as cartesianAxisHelper from '../../coord/cartesian/cartesianAxisHelper.js';\nimport { rectCoordAxisBuildSplitArea, rectCoordAxisHandleRemove } from './axisSplitHelper.js';\nimport { isIntervalOrLogScale } from '../../scale/helper.js';\nvar axisBuilderAttrs = ['axisLine', 'axisTickLabel', 'axisName'];\nvar selfBuilderAttrs = ['splitArea', 'splitLine', 'minorSplitLine'];\n\nvar CartesianAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisView, _super);\n\n function CartesianAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianAxisView.type;\n _this.axisPointerClass = 'CartesianAxisPointer';\n return _this;\n }\n /**\r\n * @override\r\n */\n\n\n CartesianAxisView.prototype.render = function (axisModel, ecModel, api, payload) {\n this.group.removeAll();\n var oldAxisGroup = this._axisGroup;\n this._axisGroup = new graphic.Group();\n this.group.add(this._axisGroup);\n\n if (!axisModel.get('show')) {\n return;\n }\n\n var gridModel = axisModel.getCoordSysModel();\n var layout = cartesianAxisHelper.layout(gridModel, axisModel);\n var axisBuilder = new AxisBuilder(axisModel, zrUtil.extend({\n handleAutoShown: function (elementType) {\n var cartesians = gridModel.coordinateSystem.getCartesians();\n\n for (var i = 0; i < cartesians.length; i++) {\n if (isIntervalOrLogScale(cartesians[i].getOtherAxis(axisModel.axis).scale)) {\n // Still show axis tick or axisLine if other axis is value / log\n return true;\n }\n } // Not show axisTick or axisLine if other axis is category / time\n\n\n return false;\n }\n }, layout));\n zrUtil.each(axisBuilderAttrs, axisBuilder.add, axisBuilder);\n\n this._axisGroup.add(axisBuilder.getGroup());\n\n zrUtil.each(selfBuilderAttrs, function (name) {\n if (axisModel.get([name, 'show'])) {\n axisElementBuilders[name](this, this._axisGroup, axisModel, gridModel);\n }\n }, this); // THIS is a special case for bar racing chart.\n // Update the axis label from the natural initial layout to\n // sorted layout should has no animation.\n\n var isInitialSortFromBarRacing = payload && payload.type === 'changeAxisOrder' && payload.isInitSort;\n\n if (!isInitialSortFromBarRacing) {\n graphic.groupTransition(oldAxisGroup, this._axisGroup, axisModel);\n }\n\n _super.prototype.render.call(this, axisModel, ecModel, api, payload);\n };\n\n CartesianAxisView.prototype.remove = function () {\n rectCoordAxisHandleRemove(this);\n };\n\n CartesianAxisView.type = 'cartesianAxis';\n return CartesianAxisView;\n}(AxisView);\n\nvar axisElementBuilders = {\n splitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n\n if (axis.scale.isBlank()) {\n return;\n }\n\n var splitLineModel = axisModel.getModel('splitLine');\n var lineStyleModel = splitLineModel.getModel('lineStyle');\n var lineColors = lineStyleModel.get('color');\n lineColors = zrUtil.isArray(lineColors) ? lineColors : [lineColors];\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var lineCount = 0;\n var ticksCoords = axis.getTicksCoords({\n tickModel: splitLineModel\n });\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < ticksCoords.length; i++) {\n var tickCoord = axis.toGlobalCoord(ticksCoords[i].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var colorIndex = lineCount++ % lineColors.length;\n var tickValue = ticksCoords[i].tickValue;\n var line = new graphic.Line({\n anid: tickValue != null ? 'line_' + ticksCoords[i].tickValue : null,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: zrUtil.defaults({\n stroke: lineColors[colorIndex]\n }, lineStyle),\n silent: true\n });\n graphic.subPixelOptimizeLine(line.shape, lineStyle.lineWidth);\n axisGroup.add(line);\n }\n },\n minorSplitLine: function (axisView, axisGroup, axisModel, gridModel) {\n var axis = axisModel.axis;\n var minorSplitLineModel = axisModel.getModel('minorSplitLine');\n var lineStyleModel = minorSplitLineModel.getModel('lineStyle');\n var gridRect = gridModel.coordinateSystem.getRect();\n var isHorizontal = axis.isHorizontal();\n var minorTicksCoords = axis.getMinorTicksCoords();\n\n if (!minorTicksCoords.length) {\n return;\n }\n\n var p1 = [];\n var p2 = [];\n var lineStyle = lineStyleModel.getLineStyle();\n\n for (var i = 0; i < minorTicksCoords.length; i++) {\n for (var k = 0; k < minorTicksCoords[i].length; k++) {\n var tickCoord = axis.toGlobalCoord(minorTicksCoords[i][k].coord);\n\n if (isHorizontal) {\n p1[0] = tickCoord;\n p1[1] = gridRect.y;\n p2[0] = tickCoord;\n p2[1] = gridRect.y + gridRect.height;\n } else {\n p1[0] = gridRect.x;\n p1[1] = tickCoord;\n p2[0] = gridRect.x + gridRect.width;\n p2[1] = tickCoord;\n }\n\n var line = new graphic.Line({\n anid: 'minor_line_' + minorTicksCoords[i][k].tickValue,\n autoBatch: true,\n shape: {\n x1: p1[0],\n y1: p1[1],\n x2: p2[0],\n y2: p2[1]\n },\n style: lineStyle,\n silent: true\n });\n graphic.subPixelOptimizeLine(line.shape, lineStyle.lineWidth);\n axisGroup.add(line);\n }\n }\n },\n splitArea: function (axisView, axisGroup, axisModel, gridModel) {\n rectCoordAxisBuildSplitArea(axisView, axisGroup, axisModel, gridModel);\n }\n};\n\nvar CartesianXAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianXAxisView, _super);\n\n function CartesianXAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianXAxisView.type = 'xAxis';\n return CartesianXAxisView;\n}(CartesianAxisView);\n\nexport { CartesianXAxisView };\n\nvar CartesianYAxisView =\n/** @class */\nfunction (_super) {\n __extends(CartesianYAxisView, _super);\n\n function CartesianYAxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = CartesianXAxisView.type;\n return _this;\n }\n\n CartesianYAxisView.type = 'yAxis';\n return CartesianYAxisView;\n}(CartesianAxisView);\n\nexport { CartesianYAxisView };\nexport default CartesianAxisView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport ComponentView from '../../view/Component.js';\nimport GridModel from '../../coord/cartesian/GridModel.js';\nimport { Rect } from '../../util/graphic.js';\nimport { defaults } from 'zrender/lib/core/util.js';\nimport { CartesianAxisModel } from '../../coord/cartesian/AxisModel.js';\nimport axisModelCreator from '../../coord/axisModelCreator.js';\nimport Grid from '../../coord/cartesian/Grid.js';\nimport { CartesianXAxisView, CartesianYAxisView } from '../axis/CartesianAxisView.js'; // Grid view\n\nvar GridView =\n/** @class */\nfunction (_super) {\n __extends(GridView, _super);\n\n function GridView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = 'grid';\n return _this;\n }\n\n GridView.prototype.render = function (gridModel, ecModel) {\n this.group.removeAll();\n\n if (gridModel.get('show')) {\n this.group.add(new Rect({\n shape: gridModel.coordinateSystem.getRect(),\n style: defaults({\n fill: gridModel.get('backgroundColor')\n }, gridModel.getItemStyle()),\n silent: true,\n z2: -1\n }));\n }\n };\n\n GridView.type = 'grid';\n return GridView;\n}(ComponentView);\n\nvar extraOption = {\n // gridIndex: 0,\n // gridId: '',\n offset: 0\n};\nexport function install(registers) {\n registers.registerComponentView(GridView);\n registers.registerComponentModel(GridModel);\n registers.registerCoordinateSystem('cartesian2d', Grid);\n axisModelCreator(registers, 'x', CartesianAxisModel, extraOption);\n axisModelCreator(registers, 'y', CartesianAxisModel, extraOption);\n registers.registerComponentView(CartesianXAxisView);\n registers.registerComponentView(CartesianYAxisView);\n registers.registerPreprocessor(function (option) {\n // Only create grid when need\n if (option.xAxis && option.yAxis && !option.grid) {\n option.grid = {};\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\n/**\r\n * Line path for bezier and straight line draw\r\n */\n\nimport * as graphic from '../../util/graphic.js';\nimport * as vec2 from 'zrender/lib/core/vector.js';\nvar straightLineProto = graphic.Line.prototype;\nvar bezierCurveProto = graphic.BezierCurve.prototype;\n\nvar StraightLineShape =\n/** @class */\nfunction () {\n function StraightLineShape() {\n // Start point\n this.x1 = 0;\n this.y1 = 0; // End point\n\n this.x2 = 0;\n this.y2 = 0;\n this.percent = 1;\n }\n\n return StraightLineShape;\n}();\n\nvar CurveShape =\n/** @class */\nfunction (_super) {\n __extends(CurveShape, _super);\n\n function CurveShape() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n\n return CurveShape;\n}(StraightLineShape);\n\nfunction isStraightLine(shape) {\n return isNaN(+shape.cpx1) || isNaN(+shape.cpy1);\n}\n\nvar ECLinePath =\n/** @class */\nfunction (_super) {\n __extends(ECLinePath, _super);\n\n function ECLinePath(opts) {\n var _this = _super.call(this, opts) || this;\n\n _this.type = 'ec-line';\n return _this;\n }\n\n ECLinePath.prototype.getDefaultStyle = function () {\n return {\n stroke: '#000',\n fill: null\n };\n };\n\n ECLinePath.prototype.getDefaultShape = function () {\n return new StraightLineShape();\n };\n\n ECLinePath.prototype.buildPath = function (ctx, shape) {\n if (isStraightLine(shape)) {\n straightLineProto.buildPath.call(this, ctx, shape);\n } else {\n bezierCurveProto.buildPath.call(this, ctx, shape);\n }\n };\n\n ECLinePath.prototype.pointAt = function (t) {\n if (isStraightLine(this.shape)) {\n return straightLineProto.pointAt.call(this, t);\n } else {\n return bezierCurveProto.pointAt.call(this, t);\n }\n };\n\n ECLinePath.prototype.tangentAt = function (t) {\n var shape = this.shape;\n var p = isStraightLine(shape) ? [shape.x2 - shape.x1, shape.y2 - shape.y1] : bezierCurveProto.tangentAt.call(this, t);\n return vec2.normalize(p, p);\n };\n\n return ECLinePath;\n}(graphic.Path);\n\nexport default ECLinePath;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport { isArray, each } from 'zrender/lib/core/util.js';\nimport * as vector from 'zrender/lib/core/vector.js';\nimport * as symbolUtil from '../../util/symbol.js';\nimport ECLinePath from './LinePath.js';\nimport * as graphic from '../../util/graphic.js';\nimport { toggleHoverEmphasis, enterEmphasis, leaveEmphasis, SPECIAL_STATES } from '../../util/states.js';\nimport { getLabelStatesModels, setLabelStyle } from '../../label/labelStyle.js';\nimport { round } from '../../util/number.js';\nvar SYMBOL_CATEGORIES = ['fromSymbol', 'toSymbol'];\n\nfunction makeSymbolTypeKey(symbolCategory) {\n return '_' + symbolCategory + 'Type';\n}\n\nfunction makeSymbolTypeValue(name, lineData, idx) {\n var symbolType = lineData.getItemVisual(idx, name);\n\n if (!symbolType || symbolType === 'none') {\n return symbolType;\n }\n\n var symbolSize = lineData.getItemVisual(idx, name + 'Size');\n var symbolRotate = lineData.getItemVisual(idx, name + 'Rotate');\n var symbolOffset = lineData.getItemVisual(idx, name + 'Offset');\n var symbolKeepAspect = lineData.getItemVisual(idx, name + 'KeepAspect');\n var symbolSizeArr = symbolUtil.normalizeSymbolSize(symbolSize);\n var symbolOffsetArr = symbolUtil.normalizeSymbolOffset(symbolOffset || 0, symbolSizeArr);\n return symbolType + symbolSizeArr + symbolOffsetArr + (symbolRotate || '') + (symbolKeepAspect || '');\n}\n/**\r\n * @inner\r\n */\n\n\nfunction createSymbol(name, lineData, idx) {\n var symbolType = lineData.getItemVisual(idx, name);\n\n if (!symbolType || symbolType === 'none') {\n return;\n }\n\n var symbolSize = lineData.getItemVisual(idx, name + 'Size');\n var symbolRotate = lineData.getItemVisual(idx, name + 'Rotate');\n var symbolOffset = lineData.getItemVisual(idx, name + 'Offset');\n var symbolKeepAspect = lineData.getItemVisual(idx, name + 'KeepAspect');\n var symbolSizeArr = symbolUtil.normalizeSymbolSize(symbolSize);\n var symbolOffsetArr = symbolUtil.normalizeSymbolOffset(symbolOffset || 0, symbolSizeArr);\n var symbolPath = symbolUtil.createSymbol(symbolType, -symbolSizeArr[0] / 2 + symbolOffsetArr[0], -symbolSizeArr[1] / 2 + symbolOffsetArr[1], symbolSizeArr[0], symbolSizeArr[1], null, symbolKeepAspect);\n symbolPath.__specifiedRotation = symbolRotate == null || isNaN(symbolRotate) ? void 0 : +symbolRotate * Math.PI / 180 || 0;\n symbolPath.name = name;\n return symbolPath;\n}\n\nfunction createLine(points) {\n var line = new ECLinePath({\n name: 'line',\n subPixelOptimize: true\n });\n setLinePoints(line.shape, points);\n return line;\n}\n\nfunction setLinePoints(targetShape, points) {\n targetShape.x1 = points[0][0];\n targetShape.y1 = points[0][1];\n targetShape.x2 = points[1][0];\n targetShape.y2 = points[1][1];\n targetShape.percent = 1;\n var cp1 = points[2];\n\n if (cp1) {\n targetShape.cpx1 = cp1[0];\n targetShape.cpy1 = cp1[1];\n } else {\n targetShape.cpx1 = NaN;\n targetShape.cpy1 = NaN;\n }\n}\n\nvar Line =\n/** @class */\nfunction (_super) {\n __extends(Line, _super);\n\n function Line(lineData, idx, seriesScope) {\n var _this = _super.call(this) || this;\n\n _this._createLine(lineData, idx, seriesScope);\n\n return _this;\n }\n\n Line.prototype._createLine = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var linePoints = lineData.getItemLayout(idx);\n var line = createLine(linePoints);\n line.shape.percent = 0;\n graphic.initProps(line, {\n shape: {\n percent: 1\n }\n }, seriesModel, idx);\n this.add(line);\n each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbol = createSymbol(symbolCategory, lineData, idx); // symbols must added after line to make sure\n // it will be updated after line#update.\n // Or symbol position and rotation update in line#beforeUpdate will be one frame slow\n\n this.add(symbol);\n this[makeSymbolTypeKey(symbolCategory)] = makeSymbolTypeValue(symbolCategory, lineData, idx);\n }, this);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n }; // TODO More strict on the List type in parameters?\n\n\n Line.prototype.updateData = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var line = this.childOfName('line');\n var linePoints = lineData.getItemLayout(idx);\n var target = {\n shape: {}\n };\n setLinePoints(target.shape, linePoints);\n graphic.updateProps(line, target, seriesModel, idx);\n each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbolType = makeSymbolTypeValue(symbolCategory, lineData, idx);\n var key = makeSymbolTypeKey(symbolCategory); // Symbol changed\n\n if (this[key] !== symbolType) {\n this.remove(this.childOfName(symbolCategory));\n var symbol = createSymbol(symbolCategory, lineData, idx);\n this.add(symbol);\n }\n\n this[key] = symbolType;\n }, this);\n\n this._updateCommonStl(lineData, idx, seriesScope);\n };\n\n ;\n\n Line.prototype.getLinePath = function () {\n return this.childAt(0);\n };\n\n Line.prototype._updateCommonStl = function (lineData, idx, seriesScope) {\n var seriesModel = lineData.hostModel;\n var line = this.childOfName('line');\n var emphasisLineStyle = seriesScope && seriesScope.emphasisLineStyle;\n var blurLineStyle = seriesScope && seriesScope.blurLineStyle;\n var selectLineStyle = seriesScope && seriesScope.selectLineStyle;\n var labelStatesModels = seriesScope && seriesScope.labelStatesModels;\n var emphasisDisabled = seriesScope && seriesScope.emphasisDisabled;\n var focus = seriesScope && seriesScope.focus;\n var blurScope = seriesScope && seriesScope.blurScope; // Optimization for large dataset\n\n if (!seriesScope || lineData.hasItemOption) {\n var itemModel = lineData.getItemModel(idx);\n var emphasisModel = itemModel.getModel('emphasis');\n emphasisLineStyle = emphasisModel.getModel('lineStyle').getLineStyle();\n blurLineStyle = itemModel.getModel(['blur', 'lineStyle']).getLineStyle();\n selectLineStyle = itemModel.getModel(['select', 'lineStyle']).getLineStyle();\n emphasisDisabled = emphasisModel.get('disabled');\n focus = emphasisModel.get('focus');\n blurScope = emphasisModel.get('blurScope');\n labelStatesModels = getLabelStatesModels(itemModel);\n }\n\n var lineStyle = lineData.getItemVisual(idx, 'style');\n var visualColor = lineStyle.stroke;\n line.useStyle(lineStyle);\n line.style.fill = null;\n line.style.strokeNoScale = true;\n line.ensureState('emphasis').style = emphasisLineStyle;\n line.ensureState('blur').style = blurLineStyle;\n line.ensureState('select').style = selectLineStyle; // Update symbol\n\n each(SYMBOL_CATEGORIES, function (symbolCategory) {\n var symbol = this.childOfName(symbolCategory);\n\n if (symbol) {\n // Share opacity and color with line.\n symbol.setColor(visualColor);\n symbol.style.opacity = lineStyle.opacity;\n\n for (var i = 0; i < SPECIAL_STATES.length; i++) {\n var stateName = SPECIAL_STATES[i];\n var lineState = line.getState(stateName);\n\n if (lineState) {\n var lineStateStyle = lineState.style || {};\n var state = symbol.ensureState(stateName);\n var stateStyle = state.style || (state.style = {});\n\n if (lineStateStyle.stroke != null) {\n stateStyle[symbol.__isEmptyBrush ? 'stroke' : 'fill'] = lineStateStyle.stroke;\n }\n\n if (lineStateStyle.opacity != null) {\n stateStyle.opacity = lineStateStyle.opacity;\n }\n }\n }\n\n symbol.markRedraw();\n }\n }, this);\n var rawVal = seriesModel.getRawValue(idx);\n setLabelStyle(this, labelStatesModels, {\n labelDataIndex: idx,\n labelFetcher: {\n getFormattedLabel: function (dataIndex, stateName) {\n return seriesModel.getFormattedLabel(dataIndex, stateName, lineData.dataType);\n }\n },\n inheritColor: visualColor || '#000',\n defaultOpacity: lineStyle.opacity,\n defaultText: (rawVal == null ? lineData.getName(idx) : isFinite(rawVal) ? round(rawVal) : rawVal) + ''\n });\n var label = this.getTextContent(); // Always set `textStyle` even if `normalStyle.text` is null, because default\n // values have to be set on `normalStyle`.\n\n if (label) {\n var labelNormalModel = labelStatesModels.normal;\n label.__align = label.style.align;\n label.__verticalAlign = label.style.verticalAlign; // 'start', 'middle', 'end'\n\n label.__position = labelNormalModel.get('position') || 'middle';\n var distance = labelNormalModel.get('distance');\n\n if (!isArray(distance)) {\n distance = [distance, distance];\n }\n\n label.__labelDistance = distance;\n }\n\n this.setTextConfig({\n position: null,\n local: true,\n inside: false // Can't be inside for stroke element.\n\n });\n toggleHoverEmphasis(this, focus, blurScope, emphasisDisabled);\n };\n\n Line.prototype.highlight = function () {\n enterEmphasis(this);\n };\n\n Line.prototype.downplay = function () {\n leaveEmphasis(this);\n };\n\n Line.prototype.updateLayout = function (lineData, idx) {\n this.setLinePoints(lineData.getItemLayout(idx));\n };\n\n Line.prototype.setLinePoints = function (points) {\n var linePath = this.childOfName('line');\n setLinePoints(linePath.shape, points);\n linePath.dirty();\n };\n\n Line.prototype.beforeUpdate = function () {\n var lineGroup = this;\n var symbolFrom = lineGroup.childOfName('fromSymbol');\n var symbolTo = lineGroup.childOfName('toSymbol');\n var label = lineGroup.getTextContent(); // Quick reject\n\n if (!symbolFrom && !symbolTo && (!label || label.ignore)) {\n return;\n }\n\n var invScale = 1;\n var parentNode = this.parent;\n\n while (parentNode) {\n if (parentNode.scaleX) {\n invScale /= parentNode.scaleX;\n }\n\n parentNode = parentNode.parent;\n }\n\n var line = lineGroup.childOfName('line'); // If line not changed\n // FIXME Parent scale changed\n\n if (!this.__dirty && !line.__dirty) {\n return;\n }\n\n var percent = line.shape.percent;\n var fromPos = line.pointAt(0);\n var toPos = line.pointAt(percent);\n var d = vector.sub([], toPos, fromPos);\n vector.normalize(d, d);\n\n function setSymbolRotation(symbol, percent) {\n // Fix #12388\n // when symbol is set to be 'arrow' in markLine,\n // symbolRotate value will be ignored, and compulsively use tangent angle.\n // rotate by default if symbol rotation is not specified\n var specifiedRotation = symbol.__specifiedRotation;\n\n if (specifiedRotation == null) {\n var tangent = line.tangentAt(percent);\n symbol.attr('rotation', (percent === 1 ? -1 : 1) * Math.PI / 2 - Math.atan2(tangent[1], tangent[0]));\n } else {\n symbol.attr('rotation', specifiedRotation);\n }\n }\n\n if (symbolFrom) {\n symbolFrom.setPosition(fromPos);\n setSymbolRotation(symbolFrom, 0);\n symbolFrom.scaleX = symbolFrom.scaleY = invScale * percent;\n symbolFrom.markRedraw();\n }\n\n if (symbolTo) {\n symbolTo.setPosition(toPos);\n setSymbolRotation(symbolTo, 1);\n symbolTo.scaleX = symbolTo.scaleY = invScale * percent;\n symbolTo.markRedraw();\n }\n\n if (label && !label.ignore) {\n label.x = label.y = 0;\n label.originX = label.originY = 0;\n var textAlign = void 0;\n var textVerticalAlign = void 0;\n var distance = label.__labelDistance;\n var distanceX = distance[0] * invScale;\n var distanceY = distance[1] * invScale;\n var halfPercent = percent / 2;\n var tangent = line.tangentAt(halfPercent);\n var n = [tangent[1], -tangent[0]];\n var cp = line.pointAt(halfPercent);\n\n if (n[1] > 0) {\n n[0] = -n[0];\n n[1] = -n[1];\n }\n\n var dir = tangent[0] < 0 ? -1 : 1;\n\n if (label.__position !== 'start' && label.__position !== 'end') {\n var rotation = -Math.atan2(tangent[1], tangent[0]);\n\n if (toPos[0] < fromPos[0]) {\n rotation = Math.PI + rotation;\n }\n\n label.rotation = rotation;\n }\n\n var dy = void 0;\n\n switch (label.__position) {\n case 'insideStartTop':\n case 'insideMiddleTop':\n case 'insideEndTop':\n case 'middle':\n dy = -distanceY;\n textVerticalAlign = 'bottom';\n break;\n\n case 'insideStartBottom':\n case 'insideMiddleBottom':\n case 'insideEndBottom':\n dy = distanceY;\n textVerticalAlign = 'top';\n break;\n\n default:\n dy = 0;\n textVerticalAlign = 'middle';\n }\n\n switch (label.__position) {\n case 'end':\n label.x = d[0] * distanceX + toPos[0];\n label.y = d[1] * distanceY + toPos[1];\n textAlign = d[0] > 0.8 ? 'left' : d[0] < -0.8 ? 'right' : 'center';\n textVerticalAlign = d[1] > 0.8 ? 'top' : d[1] < -0.8 ? 'bottom' : 'middle';\n break;\n\n case 'start':\n label.x = -d[0] * distanceX + fromPos[0];\n label.y = -d[1] * distanceY + fromPos[1];\n textAlign = d[0] > 0.8 ? 'right' : d[0] < -0.8 ? 'left' : 'center';\n textVerticalAlign = d[1] > 0.8 ? 'bottom' : d[1] < -0.8 ? 'top' : 'middle';\n break;\n\n case 'insideStartTop':\n case 'insideStart':\n case 'insideStartBottom':\n label.x = distanceX * dir + fromPos[0];\n label.y = fromPos[1] + dy;\n textAlign = tangent[0] < 0 ? 'right' : 'left';\n label.originX = -distanceX * dir;\n label.originY = -dy;\n break;\n\n case 'insideMiddleTop':\n case 'insideMiddle':\n case 'insideMiddleBottom':\n case 'middle':\n label.x = cp[0];\n label.y = cp[1] + dy;\n textAlign = 'center';\n label.originY = -dy;\n break;\n\n case 'insideEndTop':\n case 'insideEnd':\n case 'insideEndBottom':\n label.x = -distanceX * dir + toPos[0];\n label.y = toPos[1] + dy;\n textAlign = tangent[0] >= 0 ? 'right' : 'left';\n label.originX = distanceX * dir;\n label.originY = -dy;\n break;\n }\n\n label.scaleX = label.scaleY = invScale;\n label.setStyle({\n // Use the user specified text align and baseline first\n verticalAlign: label.__verticalAlign || textVerticalAlign,\n align: label.__align || textAlign\n });\n }\n };\n\n return Line;\n}(graphic.Group);\n\nexport default Line;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as graphic from '../../util/graphic.js';\nimport LineGroup from './Line.js';\nimport { getLabelStatesModels } from '../../label/labelStyle.js';\n\nvar LineDraw =\n/** @class */\nfunction () {\n function LineDraw(LineCtor) {\n this.group = new graphic.Group();\n this._LineCtor = LineCtor || LineGroup;\n }\n\n LineDraw.prototype.updateData = function (lineData) {\n var _this = this; // Remove progressive els.\n\n\n this._progressiveEls = null;\n var lineDraw = this;\n var group = lineDraw.group;\n var oldLineData = lineDraw._lineData;\n lineDraw._lineData = lineData; // There is no oldLineData only when first rendering or switching from\n // stream mode to normal mode, where previous elements should be removed.\n\n if (!oldLineData) {\n group.removeAll();\n }\n\n var seriesScope = makeSeriesScope(lineData);\n lineData.diff(oldLineData).add(function (idx) {\n _this._doAdd(lineData, idx, seriesScope);\n }).update(function (newIdx, oldIdx) {\n _this._doUpdate(oldLineData, lineData, oldIdx, newIdx, seriesScope);\n }).remove(function (idx) {\n group.remove(oldLineData.getItemGraphicEl(idx));\n }).execute();\n };\n\n ;\n\n LineDraw.prototype.updateLayout = function () {\n var lineData = this._lineData; // Do not support update layout in incremental mode.\n\n if (!lineData) {\n return;\n }\n\n lineData.eachItemGraphicEl(function (el, idx) {\n el.updateLayout(lineData, idx);\n }, this);\n };\n\n ;\n\n LineDraw.prototype.incrementalPrepareUpdate = function (lineData) {\n this._seriesScope = makeSeriesScope(lineData);\n this._lineData = null;\n this.group.removeAll();\n };\n\n ;\n\n LineDraw.prototype.incrementalUpdate = function (taskParams, lineData) {\n this._progressiveEls = [];\n\n function updateIncrementalAndHover(el) {\n if (!el.isGroup && !isEffectObject(el)) {\n el.incremental = true;\n el.ensureState('emphasis').hoverLayer = true;\n }\n }\n\n for (var idx = taskParams.start; idx < taskParams.end; idx++) {\n var itemLayout = lineData.getItemLayout(idx);\n\n if (lineNeedsDraw(itemLayout)) {\n var el = new this._LineCtor(lineData, idx, this._seriesScope);\n el.traverse(updateIncrementalAndHover);\n this.group.add(el);\n lineData.setItemGraphicEl(idx, el);\n\n this._progressiveEls.push(el);\n }\n }\n };\n\n ;\n\n LineDraw.prototype.remove = function () {\n this.group.removeAll();\n };\n\n ;\n\n LineDraw.prototype.eachRendered = function (cb) {\n graphic.traverseElements(this._progressiveEls || this.group, cb);\n };\n\n LineDraw.prototype._doAdd = function (lineData, idx, seriesScope) {\n var itemLayout = lineData.getItemLayout(idx);\n\n if (!lineNeedsDraw(itemLayout)) {\n return;\n }\n\n var el = new this._LineCtor(lineData, idx, seriesScope);\n lineData.setItemGraphicEl(idx, el);\n this.group.add(el);\n };\n\n LineDraw.prototype._doUpdate = function (oldLineData, newLineData, oldIdx, newIdx, seriesScope) {\n var itemEl = oldLineData.getItemGraphicEl(oldIdx);\n\n if (!lineNeedsDraw(newLineData.getItemLayout(newIdx))) {\n this.group.remove(itemEl);\n return;\n }\n\n if (!itemEl) {\n itemEl = new this._LineCtor(newLineData, newIdx, seriesScope);\n } else {\n itemEl.updateData(newLineData, newIdx, seriesScope);\n }\n\n newLineData.setItemGraphicEl(newIdx, itemEl);\n this.group.add(itemEl);\n };\n\n return LineDraw;\n}();\n\nfunction isEffectObject(el) {\n return el.animators && el.animators.length > 0;\n}\n\nfunction makeSeriesScope(lineData) {\n var hostModel = lineData.hostModel;\n var emphasisModel = hostModel.getModel('emphasis');\n return {\n lineStyle: hostModel.getModel('lineStyle').getLineStyle(),\n emphasisLineStyle: emphasisModel.getModel(['lineStyle']).getLineStyle(),\n blurLineStyle: hostModel.getModel(['blur', 'lineStyle']).getLineStyle(),\n selectLineStyle: hostModel.getModel(['select', 'lineStyle']).getLineStyle(),\n emphasisDisabled: emphasisModel.get('disabled'),\n blurScope: emphasisModel.get('blurScope'),\n focus: emphasisModel.get('focus'),\n labelStatesModels: getLabelStatesModels(hostModel)\n };\n}\n\nfunction isPointNaN(pt) {\n return isNaN(pt[0]) || isNaN(pt[1]);\n}\n\nfunction lineNeedsDraw(pts) {\n return pts && !isPointNaN(pts[0]) && !isPointNaN(pts[1]);\n}\n\nexport default LineDraw;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { each, hasOwn } from 'zrender/lib/core/util.js';\nvar deprecatedLogs = {};\n/**\r\n * Whether need to call `convertEC4CompatibleStyle`.\r\n */\n\nexport function isEC4CompatibleStyle(style, elType, hasOwnTextContentOption, hasOwnTextConfig) {\n // Since echarts5, `RectText` is separated from its host element and style.text\n // does not exist any more. The compat work brings some extra burden on performance.\n // So we provide:\n // `legacy: true` force make compat.\n // `legacy: false`, force do not compat.\n // `legacy` not set: auto detect whether legacy.\n // But in this case we do not compat (difficult to detect and rare case):\n // Becuse custom series and graphic component support \"merge\", users may firstly\n // only set `textStrokeWidth` style or secondly only set `text`.\n return style && (style.legacy || style.legacy !== false && !hasOwnTextContentOption && !hasOwnTextConfig && elType !== 'tspan' // Difficult to detect whether legacy for a \"text\" el.\n && (elType === 'text' || hasOwn(style, 'text')));\n}\n/**\r\n * `EC4CompatibleStyle` is style that might be in echarts4 format or echarts5 format.\r\n * @param hostStyle The properties might be modified.\r\n * @return If be text el, `textContentStyle` and `textConfig` will not be returned.\r\n * Otherwise a `textContentStyle` and `textConfig` will be created, whose props area\r\n * retried from the `hostStyle`.\r\n */\n\nexport function convertFromEC4CompatibleStyle(hostStyle, elType, isNormal) {\n var srcStyle = hostStyle;\n var textConfig;\n var textContent;\n var textContentStyle;\n\n if (elType === 'text') {\n textContentStyle = srcStyle;\n } else {\n textContentStyle = {};\n hasOwn(srcStyle, 'text') && (textContentStyle.text = srcStyle.text);\n hasOwn(srcStyle, 'rich') && (textContentStyle.rich = srcStyle.rich);\n hasOwn(srcStyle, 'textFill') && (textContentStyle.fill = srcStyle.textFill);\n hasOwn(srcStyle, 'textStroke') && (textContentStyle.stroke = srcStyle.textStroke);\n hasOwn(srcStyle, 'fontFamily') && (textContentStyle.fontFamily = srcStyle.fontFamily);\n hasOwn(srcStyle, 'fontSize') && (textContentStyle.fontSize = srcStyle.fontSize);\n hasOwn(srcStyle, 'fontStyle') && (textContentStyle.fontStyle = srcStyle.fontStyle);\n hasOwn(srcStyle, 'fontWeight') && (textContentStyle.fontWeight = srcStyle.fontWeight);\n textContent = {\n type: 'text',\n style: textContentStyle,\n // ec4 does not support rectText trigger.\n // And when text position is different in normal and emphasis\n // => hover text trigger emphasis;\n // => text position changed, leave mouse pointer immediately;\n // That might cause incorrect state.\n silent: true\n };\n textConfig = {};\n var hasOwnPos = hasOwn(srcStyle, 'textPosition');\n\n if (isNormal) {\n textConfig.position = hasOwnPos ? srcStyle.textPosition : 'inside';\n } else {\n hasOwnPos && (textConfig.position = srcStyle.textPosition);\n }\n\n hasOwn(srcStyle, 'textPosition') && (textConfig.position = srcStyle.textPosition);\n hasOwn(srcStyle, 'textOffset') && (textConfig.offset = srcStyle.textOffset);\n hasOwn(srcStyle, 'textRotation') && (textConfig.rotation = srcStyle.textRotation);\n hasOwn(srcStyle, 'textDistance') && (textConfig.distance = srcStyle.textDistance);\n }\n\n convertEC4CompatibleRichItem(textContentStyle, hostStyle);\n each(textContentStyle.rich, function (richItem) {\n convertEC4CompatibleRichItem(richItem, richItem);\n });\n return {\n textConfig: textConfig,\n textContent: textContent\n };\n}\n/**\r\n * The result will be set to `out`.\r\n */\n\nfunction convertEC4CompatibleRichItem(out, richItem) {\n if (!richItem) {\n return;\n } // (1) For simplicity, make textXXX properties (deprecated since ec5) has\n // higher priority. For example, consider in ec4 `borderColor: 5, textBorderColor: 10`\n // on a rect means `borderColor: 4` on the rect and `borderColor: 10` on an attached\n // richText in ec5.\n // (2) `out === richItem` if and only if `out` is text el or rich item.\n // So we can overwrite existing props in `out` since textXXX has higher priority.\n\n\n richItem.font = richItem.textFont || richItem.font;\n hasOwn(richItem, 'textStrokeWidth') && (out.lineWidth = richItem.textStrokeWidth);\n hasOwn(richItem, 'textAlign') && (out.align = richItem.textAlign);\n hasOwn(richItem, 'textVerticalAlign') && (out.verticalAlign = richItem.textVerticalAlign);\n hasOwn(richItem, 'textLineHeight') && (out.lineHeight = richItem.textLineHeight);\n hasOwn(richItem, 'textWidth') && (out.width = richItem.textWidth);\n hasOwn(richItem, 'textHeight') && (out.height = richItem.textHeight);\n hasOwn(richItem, 'textBackgroundColor') && (out.backgroundColor = richItem.textBackgroundColor);\n hasOwn(richItem, 'textPadding') && (out.padding = richItem.textPadding);\n hasOwn(richItem, 'textBorderColor') && (out.borderColor = richItem.textBorderColor);\n hasOwn(richItem, 'textBorderWidth') && (out.borderWidth = richItem.textBorderWidth);\n hasOwn(richItem, 'textBorderRadius') && (out.borderRadius = richItem.textBorderRadius);\n hasOwn(richItem, 'textBoxShadowColor') && (out.shadowColor = richItem.textBoxShadowColor);\n hasOwn(richItem, 'textBoxShadowBlur') && (out.shadowBlur = richItem.textBoxShadowBlur);\n hasOwn(richItem, 'textBoxShadowOffsetX') && (out.shadowOffsetX = richItem.textBoxShadowOffsetX);\n hasOwn(richItem, 'textBoxShadowOffsetY') && (out.shadowOffsetY = richItem.textBoxShadowOffsetY);\n}\n/**\r\n * Convert to pure echarts4 format style.\r\n * `itemStyle` will be modified, added with ec4 style properties from\r\n * `textStyle` and `textConfig`.\r\n *\r\n * [Caveat]: For simplicity, `insideRollback` in ec4 does not compat, where\r\n * `styleEmphasis: {textFill: 'red'}` will remove the normal auto added stroke.\r\n */\n\n\nexport function convertToEC4StyleForCustomSerise(itemStl, txStl, txCfg) {\n var out = itemStl; // See `custom.ts`, a trick to set extra `textPosition` firstly.\n\n out.textPosition = out.textPosition || txCfg.position || 'inside';\n txCfg.offset != null && (out.textOffset = txCfg.offset);\n txCfg.rotation != null && (out.textRotation = txCfg.rotation);\n txCfg.distance != null && (out.textDistance = txCfg.distance);\n var isInside = out.textPosition.indexOf('inside') >= 0;\n var hostFill = itemStl.fill || '#000';\n convertToEC4RichItem(out, txStl);\n var textFillNotSet = out.textFill == null;\n\n if (isInside) {\n if (textFillNotSet) {\n out.textFill = txCfg.insideFill || '#fff';\n !out.textStroke && txCfg.insideStroke && (out.textStroke = txCfg.insideStroke);\n !out.textStroke && (out.textStroke = hostFill);\n out.textStrokeWidth == null && (out.textStrokeWidth = 2);\n }\n } else {\n if (textFillNotSet) {\n out.textFill = itemStl.fill || txCfg.outsideFill || '#000';\n }\n\n !out.textStroke && txCfg.outsideStroke && (out.textStroke = txCfg.outsideStroke);\n }\n\n out.text = txStl.text;\n out.rich = txStl.rich;\n each(txStl.rich, function (richItem) {\n convertToEC4RichItem(richItem, richItem);\n });\n return out;\n}\n\nfunction convertToEC4RichItem(out, richItem) {\n if (!richItem) {\n return;\n }\n\n hasOwn(richItem, 'fill') && (out.textFill = richItem.fill);\n hasOwn(richItem, 'stroke') && (out.textStroke = richItem.fill);\n hasOwn(richItem, 'lineWidth') && (out.textStrokeWidth = richItem.lineWidth);\n hasOwn(richItem, 'font') && (out.font = richItem.font);\n hasOwn(richItem, 'fontStyle') && (out.fontStyle = richItem.fontStyle);\n hasOwn(richItem, 'fontWeight') && (out.fontWeight = richItem.fontWeight);\n hasOwn(richItem, 'fontSize') && (out.fontSize = richItem.fontSize);\n hasOwn(richItem, 'fontFamily') && (out.fontFamily = richItem.fontFamily);\n hasOwn(richItem, 'align') && (out.textAlign = richItem.align);\n hasOwn(richItem, 'verticalAlign') && (out.textVerticalAlign = richItem.verticalAlign);\n hasOwn(richItem, 'lineHeight') && (out.textLineHeight = richItem.lineHeight);\n hasOwn(richItem, 'width') && (out.textWidth = richItem.width);\n hasOwn(richItem, 'height') && (out.textHeight = richItem.height);\n hasOwn(richItem, 'backgroundColor') && (out.textBackgroundColor = richItem.backgroundColor);\n hasOwn(richItem, 'padding') && (out.textPadding = richItem.padding);\n hasOwn(richItem, 'borderColor') && (out.textBorderColor = richItem.borderColor);\n hasOwn(richItem, 'borderWidth') && (out.textBorderWidth = richItem.borderWidth);\n hasOwn(richItem, 'borderRadius') && (out.textBorderRadius = richItem.borderRadius);\n hasOwn(richItem, 'shadowColor') && (out.textBoxShadowColor = richItem.shadowColor);\n hasOwn(richItem, 'shadowBlur') && (out.textBoxShadowBlur = richItem.shadowBlur);\n hasOwn(richItem, 'shadowOffsetX') && (out.textBoxShadowOffsetX = richItem.shadowOffsetX);\n hasOwn(richItem, 'shadowOffsetY') && (out.textBoxShadowOffsetY = richItem.shadowOffsetY);\n hasOwn(richItem, 'textShadowColor') && (out.textShadowColor = richItem.textShadowColor);\n hasOwn(richItem, 'textShadowBlur') && (out.textShadowBlur = richItem.textShadowBlur);\n hasOwn(richItem, 'textShadowOffsetX') && (out.textShadowOffsetX = richItem.textShadowOffsetX);\n hasOwn(richItem, 'textShadowOffsetY') && (out.textShadowOffsetY = richItem.textShadowOffsetY);\n}\n\nexport function warnDeprecated(deprecated, insteadApproach) {\n if (process.env.NODE_ENV !== 'production') {\n var key = deprecated + '^_^' + insteadApproach;\n\n if (!deprecatedLogs[key]) {\n console.warn(\"[ECharts] DEPRECATED: \\\"\" + deprecated + \"\\\" has been deprecated. \" + insteadApproach);\n deprecatedLogs[key] = true;\n }\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { makeInner, normalizeToArray } from '../util/model.js';\nimport { assert, bind, each, eqNaN, extend, hasOwn, indexOf, isArrayLike, keys, reduce } from 'zrender/lib/core/util.js';\nimport { cloneValue } from 'zrender/lib/animation/Animator.js';\nimport Displayable from 'zrender/lib/graphic/Displayable.js';\nimport { getAnimationConfig } from './basicTransition.js';\nimport { Path } from '../util/graphic.js';\nimport { warn } from '../util/log.js';\nimport { TRANSFORMABLE_PROPS } from 'zrender/lib/core/Transformable.js';\nvar LEGACY_TRANSFORM_PROPS_MAP = {\n position: ['x', 'y'],\n scale: ['scaleX', 'scaleY'],\n origin: ['originX', 'originY']\n};\nvar LEGACY_TRANSFORM_PROPS = keys(LEGACY_TRANSFORM_PROPS_MAP);\nvar TRANSFORM_PROPS_MAP = reduce(TRANSFORMABLE_PROPS, function (obj, key) {\n obj[key] = 1;\n return obj;\n}, {});\nvar transformPropNamesStr = TRANSFORMABLE_PROPS.join(', '); // '' means root\n\nexport var ELEMENT_ANIMATABLE_PROPS = ['', 'style', 'shape', 'extra'];\n;\nvar transitionInnerStore = makeInner();\n;\n\nfunction getElementAnimationConfig(animationType, el, elOption, parentModel, dataIndex) {\n var animationProp = animationType + \"Animation\";\n var config = getAnimationConfig(animationType, parentModel, dataIndex) || {};\n var userDuring = transitionInnerStore(el).userDuring; // Only set when duration is > 0 and it's need to be animated.\n\n if (config.duration > 0) {\n // For simplicity, if during not specified, the previous during will not work any more.\n config.during = userDuring ? bind(duringCall, {\n el: el,\n userDuring: userDuring\n }) : null;\n config.setToFinal = true;\n config.scope = animationType;\n }\n\n extend(config, elOption[animationProp]);\n return config;\n}\n\nexport function applyUpdateTransition(el, elOption, animatableModel, opts) {\n opts = opts || {};\n var dataIndex = opts.dataIndex,\n isInit = opts.isInit,\n clearStyle = opts.clearStyle;\n var hasAnimation = animatableModel.isAnimationEnabled(); // Save the meta info for further morphing. Like apply on the sub morphing elements.\n\n var store = transitionInnerStore(el);\n var styleOpt = elOption.style;\n store.userDuring = elOption.during;\n var transFromProps = {};\n var propsToSet = {};\n prepareTransformAllPropsFinal(el, elOption, propsToSet);\n prepareShapeOrExtraAllPropsFinal('shape', elOption, propsToSet);\n prepareShapeOrExtraAllPropsFinal('extra', elOption, propsToSet);\n\n if (!isInit && hasAnimation) {\n prepareTransformTransitionFrom(el, elOption, transFromProps);\n prepareShapeOrExtraTransitionFrom('shape', el, elOption, transFromProps);\n prepareShapeOrExtraTransitionFrom('extra', el, elOption, transFromProps);\n prepareStyleTransitionFrom(el, elOption, styleOpt, transFromProps);\n }\n\n propsToSet.style = styleOpt;\n applyPropsDirectly(el, propsToSet, clearStyle);\n applyMiscProps(el, elOption);\n\n if (hasAnimation) {\n if (isInit) {\n var enterFromProps_1 = {};\n each(ELEMENT_ANIMATABLE_PROPS, function (propName) {\n var prop = propName ? elOption[propName] : elOption;\n\n if (prop && prop.enterFrom) {\n if (propName) {\n enterFromProps_1[propName] = enterFromProps_1[propName] || {};\n }\n\n extend(propName ? enterFromProps_1[propName] : enterFromProps_1, prop.enterFrom);\n }\n });\n var config = getElementAnimationConfig('enter', el, elOption, animatableModel, dataIndex);\n\n if (config.duration > 0) {\n el.animateFrom(enterFromProps_1, config);\n }\n } else {\n applyPropsTransition(el, elOption, dataIndex || 0, animatableModel, transFromProps);\n }\n } // Store leave to be used in leave transition.\n\n\n updateLeaveTo(el, elOption);\n styleOpt ? el.dirty() : el.markRedraw();\n}\nexport function updateLeaveTo(el, elOption) {\n // Try merge to previous set leaveTo\n var leaveToProps = transitionInnerStore(el).leaveToProps;\n\n for (var i = 0; i < ELEMENT_ANIMATABLE_PROPS.length; i++) {\n var propName = ELEMENT_ANIMATABLE_PROPS[i];\n var prop = propName ? elOption[propName] : elOption;\n\n if (prop && prop.leaveTo) {\n if (!leaveToProps) {\n leaveToProps = transitionInnerStore(el).leaveToProps = {};\n }\n\n if (propName) {\n leaveToProps[propName] = leaveToProps[propName] || {};\n }\n\n extend(propName ? leaveToProps[propName] : leaveToProps, prop.leaveTo);\n }\n }\n}\nexport function applyLeaveTransition(el, elOption, animatableModel, onRemove) {\n if (el) {\n var parent_1 = el.parent;\n var leaveToProps = transitionInnerStore(el).leaveToProps;\n\n if (leaveToProps) {\n // TODO TODO use leave after leaveAnimation in series is introduced\n // TODO Data index?\n var config = getElementAnimationConfig('update', el, elOption, animatableModel, 0);\n\n config.done = function () {\n parent_1.remove(el);\n onRemove && onRemove();\n };\n\n el.animateTo(leaveToProps, config);\n } else {\n parent_1.remove(el);\n onRemove && onRemove();\n }\n }\n}\nexport function isTransitionAll(transition) {\n return transition === 'all';\n}\n\nfunction applyPropsDirectly(el, // Can be null/undefined\nallPropsFinal, clearStyle) {\n var styleOpt = allPropsFinal.style;\n\n if (!el.isGroup && styleOpt) {\n if (clearStyle) {\n el.useStyle({}); // When style object changed, how to trade the existing animation?\n // It is probably complicated and not needed to cover all the cases.\n // But still need consider the case:\n // (1) When using init animation on `style.opacity`, and before the animation\n // ended users triggers an update by mousewhel. At that time the init\n // animation should better be continued rather than terminated.\n // So after `useStyle` called, we should change the animation target manually\n // to continue the effect of the init animation.\n // (2) PENDING: If the previous animation targeted at a `val1`, and currently we need\n // to update the value to `val2` and no animation declared, should be terminate\n // the previous animation or just modify the target of the animation?\n // Therotically That will happen not only on `style` but also on `shape` and\n // `transfrom` props. But we haven't handle this case at present yet.\n // (3) PENDING: Is it proper to visit `animators` and `targetName`?\n\n var animators = el.animators;\n\n for (var i = 0; i < animators.length; i++) {\n var animator = animators[i]; // targetName is the \"topKey\".\n\n if (animator.targetName === 'style') {\n animator.changeTarget(el.style);\n }\n }\n }\n\n el.setStyle(styleOpt);\n }\n\n if (allPropsFinal) {\n // Not set style here.\n allPropsFinal.style = null; // Set el to the final state firstly.\n\n allPropsFinal && el.attr(allPropsFinal);\n allPropsFinal.style = styleOpt;\n }\n}\n\nfunction applyPropsTransition(el, elOption, dataIndex, model, // Can be null/undefined\ntransFromProps) {\n if (transFromProps) {\n var config = getElementAnimationConfig('update', el, elOption, model, dataIndex);\n\n if (config.duration > 0) {\n el.animateFrom(transFromProps, config);\n }\n }\n}\n\nfunction applyMiscProps(el, elOption) {\n // Merge by default.\n hasOwn(elOption, 'silent') && (el.silent = elOption.silent);\n hasOwn(elOption, 'ignore') && (el.ignore = elOption.ignore);\n\n if (el instanceof Displayable) {\n hasOwn(elOption, 'invisible') && (el.invisible = elOption.invisible);\n }\n\n if (el instanceof Path) {\n hasOwn(elOption, 'autoBatch') && (el.autoBatch = elOption.autoBatch);\n }\n} // Use it to avoid it be exposed to user.\n\n\nvar tmpDuringScope = {};\nvar transitionDuringAPI = {\n // Usually other props do not need to be changed in animation during.\n setTransform: function (key, val) {\n if (process.env.NODE_ENV !== 'production') {\n assert(hasOwn(TRANSFORM_PROPS_MAP, key), 'Only ' + transformPropNamesStr + ' available in `setTransform`.');\n }\n\n tmpDuringScope.el[key] = val;\n return this;\n },\n getTransform: function (key) {\n if (process.env.NODE_ENV !== 'production') {\n assert(hasOwn(TRANSFORM_PROPS_MAP, key), 'Only ' + transformPropNamesStr + ' available in `getTransform`.');\n }\n\n return tmpDuringScope.el[key];\n },\n setShape: function (key, val) {\n if (process.env.NODE_ENV !== 'production') {\n assertNotReserved(key);\n }\n\n var el = tmpDuringScope.el;\n var shape = el.shape || (el.shape = {});\n shape[key] = val;\n el.dirtyShape && el.dirtyShape();\n return this;\n },\n getShape: function (key) {\n if (process.env.NODE_ENV !== 'production') {\n assertNotReserved(key);\n }\n\n var shape = tmpDuringScope.el.shape;\n\n if (shape) {\n return shape[key];\n }\n },\n setStyle: function (key, val) {\n if (process.env.NODE_ENV !== 'production') {\n assertNotReserved(key);\n }\n\n var el = tmpDuringScope.el;\n var style = el.style;\n\n if (style) {\n if (process.env.NODE_ENV !== 'production') {\n if (eqNaN(val)) {\n warn('style.' + key + ' must not be assigned with NaN.');\n }\n }\n\n style[key] = val;\n el.dirtyStyle && el.dirtyStyle();\n }\n\n return this;\n },\n getStyle: function (key) {\n if (process.env.NODE_ENV !== 'production') {\n assertNotReserved(key);\n }\n\n var style = tmpDuringScope.el.style;\n\n if (style) {\n return style[key];\n }\n },\n setExtra: function (key, val) {\n if (process.env.NODE_ENV !== 'production') {\n assertNotReserved(key);\n }\n\n var extra = tmpDuringScope.el.extra || (tmpDuringScope.el.extra = {});\n extra[key] = val;\n return this;\n },\n getExtra: function (key) {\n if (process.env.NODE_ENV !== 'production') {\n assertNotReserved(key);\n }\n\n var extra = tmpDuringScope.el.extra;\n\n if (extra) {\n return extra[key];\n }\n }\n};\n\nfunction assertNotReserved(key) {\n if (process.env.NODE_ENV !== 'production') {\n if (key === 'transition' || key === 'enterFrom' || key === 'leaveTo') {\n throw new Error('key must not be \"' + key + '\"');\n }\n }\n}\n\nfunction duringCall() {\n // Do not provide \"percent\" until some requirements come.\n // Because consider thies case:\n // enterFrom: {x: 100, y: 30}, transition: 'x'.\n // And enter duration is different from update duration.\n // Thus it might be confused about the meaning of \"percent\" in during callback.\n var scope = this;\n var el = scope.el;\n\n if (!el) {\n return;\n } // If el is remove from zr by reason like legend, during still need to called,\n // because el will be added back to zr and the prop value should not be incorrect.\n\n\n var latestUserDuring = transitionInnerStore(el).userDuring;\n var scopeUserDuring = scope.userDuring; // Ensured a during is only called once in each animation frame.\n // If a during is called multiple times in one frame, maybe some users' calculation logic\n // might be wrong (not sure whether this usage exists).\n // The case of a during might be called twice can be: by default there is a animator for\n // 'x', 'y' when init. Before the init animation finished, call `setOption` to start\n // another animators for 'style'/'shape'/'extra'.\n\n if (latestUserDuring !== scopeUserDuring) {\n // release\n scope.el = scope.userDuring = null;\n return;\n }\n\n tmpDuringScope.el = el; // Give no `this` to user in \"during\" calling.\n\n scopeUserDuring(transitionDuringAPI); // FIXME: if in future meet the case that some prop will be both modified in `during` and `state`,\n // consider the issue that the prop might be incorrect when return to \"normal\" state.\n}\n\nfunction prepareShapeOrExtraTransitionFrom(mainAttr, fromEl, elOption, transFromProps) {\n var attrOpt = elOption[mainAttr];\n\n if (!attrOpt) {\n return;\n }\n\n var elPropsInAttr = fromEl[mainAttr];\n var transFromPropsInAttr;\n\n if (elPropsInAttr) {\n var transition = elOption.transition;\n var attrTransition = attrOpt.transition;\n\n if (attrTransition) {\n !transFromPropsInAttr && (transFromPropsInAttr = transFromProps[mainAttr] = {});\n\n if (isTransitionAll(attrTransition)) {\n extend(transFromPropsInAttr, elPropsInAttr);\n } else {\n var transitionKeys = normalizeToArray(attrTransition);\n\n for (var i = 0; i < transitionKeys.length; i++) {\n var key = transitionKeys[i];\n var elVal = elPropsInAttr[key];\n transFromPropsInAttr[key] = elVal;\n }\n }\n } else if (isTransitionAll(transition) || indexOf(transition, mainAttr) >= 0) {\n !transFromPropsInAttr && (transFromPropsInAttr = transFromProps[mainAttr] = {});\n var elPropsInAttrKeys = keys(elPropsInAttr);\n\n for (var i = 0; i < elPropsInAttrKeys.length; i++) {\n var key = elPropsInAttrKeys[i];\n var elVal = elPropsInAttr[key];\n\n if (isNonStyleTransitionEnabled(attrOpt[key], elVal)) {\n transFromPropsInAttr[key] = elVal;\n }\n }\n }\n }\n}\n\nfunction prepareShapeOrExtraAllPropsFinal(mainAttr, elOption, allProps) {\n var attrOpt = elOption[mainAttr];\n\n if (!attrOpt) {\n return;\n }\n\n var allPropsInAttr = allProps[mainAttr] = {};\n var keysInAttr = keys(attrOpt);\n\n for (var i = 0; i < keysInAttr.length; i++) {\n var key = keysInAttr[i]; // To avoid share one object with different element, and\n // to avoid user modify the object inexpectedly, have to clone.\n\n allPropsInAttr[key] = cloneValue(attrOpt[key]);\n }\n}\n\nfunction prepareTransformTransitionFrom(el, elOption, transFromProps) {\n var transition = elOption.transition;\n var transitionKeys = isTransitionAll(transition) ? TRANSFORMABLE_PROPS : normalizeToArray(transition || []);\n\n for (var i = 0; i < transitionKeys.length; i++) {\n var key = transitionKeys[i];\n\n if (key === 'style' || key === 'shape' || key === 'extra') {\n continue;\n }\n\n var elVal = el[key];\n\n if (process.env.NODE_ENV !== 'production') {\n checkTransformPropRefer(key, 'el.transition');\n } // Do not clone, animator will perform that clone.\n\n\n transFromProps[key] = elVal;\n }\n}\n\nfunction prepareTransformAllPropsFinal(el, elOption, allProps) {\n for (var i = 0; i < LEGACY_TRANSFORM_PROPS.length; i++) {\n var legacyName = LEGACY_TRANSFORM_PROPS[i];\n var xyName = LEGACY_TRANSFORM_PROPS_MAP[legacyName];\n var legacyArr = elOption[legacyName];\n\n if (legacyArr) {\n allProps[xyName[0]] = legacyArr[0];\n allProps[xyName[1]] = legacyArr[1];\n }\n }\n\n for (var i = 0; i < TRANSFORMABLE_PROPS.length; i++) {\n var key = TRANSFORMABLE_PROPS[i];\n\n if (elOption[key] != null) {\n allProps[key] = elOption[key];\n }\n }\n}\n\nfunction prepareStyleTransitionFrom(fromEl, elOption, styleOpt, transFromProps) {\n if (!styleOpt) {\n return;\n }\n\n var fromElStyle = fromEl.style;\n var transFromStyleProps;\n\n if (fromElStyle) {\n var styleTransition = styleOpt.transition;\n var elTransition = elOption.transition;\n\n if (styleTransition && !isTransitionAll(styleTransition)) {\n var transitionKeys = normalizeToArray(styleTransition);\n !transFromStyleProps && (transFromStyleProps = transFromProps.style = {});\n\n for (var i = 0; i < transitionKeys.length; i++) {\n var key = transitionKeys[i];\n var elVal = fromElStyle[key]; // Do not clone, see `checkNonStyleTansitionRefer`.\n\n transFromStyleProps[key] = elVal;\n }\n } else if (fromEl.getAnimationStyleProps && (isTransitionAll(elTransition) || isTransitionAll(styleTransition) || indexOf(elTransition, 'style') >= 0)) {\n var animationProps = fromEl.getAnimationStyleProps();\n var animationStyleProps = animationProps ? animationProps.style : null;\n\n if (animationStyleProps) {\n !transFromStyleProps && (transFromStyleProps = transFromProps.style = {});\n var styleKeys = keys(styleOpt);\n\n for (var i = 0; i < styleKeys.length; i++) {\n var key = styleKeys[i];\n\n if (animationStyleProps[key]) {\n var elVal = fromElStyle[key];\n transFromStyleProps[key] = elVal;\n }\n }\n }\n }\n }\n}\n\nfunction isNonStyleTransitionEnabled(optVal, elVal) {\n // The same as `checkNonStyleTansitionRefer`.\n return !isArrayLike(optVal) ? optVal != null && isFinite(optVal) : optVal !== elVal;\n}\n\nvar checkTransformPropRefer;\n\nif (process.env.NODE_ENV !== 'production') {\n checkTransformPropRefer = function (key, usedIn) {\n if (!hasOwn(TRANSFORM_PROPS_MAP, key)) {\n warn('Prop `' + key + '` is not a permitted in `' + usedIn + '`. ' + 'Only `' + keys(TRANSFORM_PROPS_MAP).join('`, `') + '` are permitted.');\n }\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { keys, filter, each, isArray, indexOf } from 'zrender/lib/core/util.js';\nimport { ELEMENT_ANIMATABLE_PROPS } from './customGraphicTransition.js';\nimport { getAnimationConfig } from './basicTransition.js';\nimport { warn } from '../util/log.js';\nimport { makeInner } from '../util/model.js';\nvar getStateToRestore = makeInner();\nvar KEYFRAME_EXCLUDE_KEYS = ['percent', 'easing', 'shape', 'style', 'extra'];\n/**\r\n * Stop previous keyframe animation and restore the attributes.\r\n * Avoid new keyframe animation starts with wrong internal state when the percent: 0 is not set.\r\n */\n\nexport function stopPreviousKeyframeAnimationAndRestore(el) {\n // Stop previous keyframe animation.\n el.stopAnimation('keyframe'); // Restore\n\n el.attr(getStateToRestore(el));\n}\nexport function applyKeyframeAnimation(el, animationOpts, animatableModel) {\n if (!animatableModel.isAnimationEnabled() || !animationOpts) {\n return;\n }\n\n if (isArray(animationOpts)) {\n each(animationOpts, function (singleAnimationOpts) {\n applyKeyframeAnimation(el, singleAnimationOpts, animatableModel);\n });\n return;\n }\n\n var keyframes = animationOpts.keyframes;\n var duration = animationOpts.duration;\n\n if (animatableModel && duration == null) {\n // Default to use duration of config.\n // NOTE: animation config from payload will be ignored because they are mainly for transitions.\n var config = getAnimationConfig('enter', animatableModel, 0);\n duration = config && config.duration;\n }\n\n if (!keyframes || !duration) {\n return;\n }\n\n var stateToRestore = getStateToRestore(el);\n each(ELEMENT_ANIMATABLE_PROPS, function (targetPropName) {\n if (targetPropName && !el[targetPropName]) {\n return;\n }\n\n var animator;\n var endFrameIsSet = false; // Sort keyframes by percent.\n\n keyframes.sort(function (a, b) {\n return a.percent - b.percent;\n });\n each(keyframes, function (kf) {\n // Stop current animation.\n var animators = el.animators;\n var kfValues = targetPropName ? kf[targetPropName] : kf;\n\n if (process.env.NODE_ENV !== 'production') {\n if (kf.percent >= 1) {\n endFrameIsSet = true;\n }\n }\n\n if (!kfValues) {\n return;\n }\n\n var propKeys = keys(kfValues);\n\n if (!targetPropName) {\n // PENDING performance?\n propKeys = filter(propKeys, function (key) {\n return indexOf(KEYFRAME_EXCLUDE_KEYS, key) < 0;\n });\n }\n\n if (!propKeys.length) {\n return;\n }\n\n if (!animator) {\n animator = el.animate(targetPropName, animationOpts.loop, true);\n animator.scope = 'keyframe';\n }\n\n for (var i = 0; i < animators.length; i++) {\n // Stop all other animation that is not keyframe.\n if (animators[i] !== animator && animators[i].targetName === animator.targetName) {\n animators[i].stopTracks(propKeys);\n }\n }\n\n targetPropName && (stateToRestore[targetPropName] = stateToRestore[targetPropName] || {});\n var savedTarget = targetPropName ? stateToRestore[targetPropName] : stateToRestore;\n each(propKeys, function (key) {\n // Save original value.\n savedTarget[key] = ((targetPropName ? el[targetPropName] : el) || {})[key];\n });\n animator.whenWithKeys(duration * kf.percent, kfValues, propKeys, kf.easing);\n });\n\n if (!animator) {\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!endFrameIsSet) {\n warn('End frame with percent: 1 is missing in the keyframeAnimation.', true);\n }\n }\n\n animator.delay(animationOpts.delay || 0).duration(duration).start(animationOpts.easing);\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport * as axisPointerModelHelper from './modelHelper.js';\nimport * as eventTool from 'zrender/lib/core/event.js';\nimport * as throttleUtil from '../../util/throttle.js';\nimport { makeInner } from '../../util/model.js';\nvar inner = makeInner();\nvar clone = zrUtil.clone;\nvar bind = zrUtil.bind;\n/**\r\n * Base axis pointer class in 2D.\r\n */\n\nvar BaseAxisPointer =\n/** @class */\nfunction () {\n function BaseAxisPointer() {\n this._dragging = false;\n /**\r\n * In px, arbitrary value. Do not set too small,\r\n * no animation is ok for most cases.\r\n */\n\n this.animationThreshold = 15;\n }\n /**\r\n * @implement\r\n */\n\n\n BaseAxisPointer.prototype.render = function (axisModel, axisPointerModel, api, forceRender) {\n var value = axisPointerModel.get('value');\n var status = axisPointerModel.get('status'); // Bind them to `this`, not in closure, otherwise they will not\n // be replaced when user calling setOption in not merge mode.\n\n this._axisModel = axisModel;\n this._axisPointerModel = axisPointerModel;\n this._api = api; // Optimize: `render` will be called repeatedly during mouse move.\n // So it is power consuming if performing `render` each time,\n // especially on mobile device.\n\n if (!forceRender && this._lastValue === value && this._lastStatus === status) {\n return;\n }\n\n this._lastValue = value;\n this._lastStatus = status;\n var group = this._group;\n var handle = this._handle;\n\n if (!status || status === 'hide') {\n // Do not clear here, for animation better.\n group && group.hide();\n handle && handle.hide();\n return;\n }\n\n group && group.show();\n handle && handle.show(); // Otherwise status is 'show'\n\n var elOption = {};\n this.makeElOption(elOption, value, axisModel, axisPointerModel, api); // Enable change axis pointer type.\n\n var graphicKey = elOption.graphicKey;\n\n if (graphicKey !== this._lastGraphicKey) {\n this.clear(api);\n }\n\n this._lastGraphicKey = graphicKey;\n var moveAnimation = this._moveAnimation = this.determineAnimation(axisModel, axisPointerModel);\n\n if (!group) {\n group = this._group = new graphic.Group();\n this.createPointerEl(group, elOption, axisModel, axisPointerModel);\n this.createLabelEl(group, elOption, axisModel, axisPointerModel);\n api.getZr().add(group);\n } else {\n var doUpdateProps = zrUtil.curry(updateProps, axisPointerModel, moveAnimation);\n this.updatePointerEl(group, elOption, doUpdateProps);\n this.updateLabelEl(group, elOption, doUpdateProps, axisPointerModel);\n }\n\n updateMandatoryProps(group, axisPointerModel, true);\n\n this._renderHandle(value);\n };\n /**\r\n * @implement\r\n */\n\n\n BaseAxisPointer.prototype.remove = function (api) {\n this.clear(api);\n };\n /**\r\n * @implement\r\n */\n\n\n BaseAxisPointer.prototype.dispose = function (api) {\n this.clear(api);\n };\n /**\r\n * @protected\r\n */\n\n\n BaseAxisPointer.prototype.determineAnimation = function (axisModel, axisPointerModel) {\n var animation = axisPointerModel.get('animation');\n var axis = axisModel.axis;\n var isCategoryAxis = axis.type === 'category';\n var useSnap = axisPointerModel.get('snap'); // Value axis without snap always do not snap.\n\n if (!useSnap && !isCategoryAxis) {\n return false;\n }\n\n if (animation === 'auto' || animation == null) {\n var animationThreshold = this.animationThreshold;\n\n if (isCategoryAxis && axis.getBandWidth() > animationThreshold) {\n return true;\n } // It is important to auto animation when snap used. Consider if there is\n // a dataZoom, animation will be disabled when too many points exist, while\n // it will be enabled for better visual effect when little points exist.\n\n\n if (useSnap) {\n var seriesDataCount = axisPointerModelHelper.getAxisInfo(axisModel).seriesDataCount;\n var axisExtent = axis.getExtent(); // Approximate band width\n\n return Math.abs(axisExtent[0] - axisExtent[1]) / seriesDataCount > animationThreshold;\n }\n\n return false;\n }\n\n return animation === true;\n };\n /**\r\n * add {pointer, label, graphicKey} to elOption\r\n * @protected\r\n */\n\n\n BaseAxisPointer.prototype.makeElOption = function (elOption, value, axisModel, axisPointerModel, api) {// Should be implemenented by sub-class.\n };\n /**\r\n * @protected\r\n */\n\n\n BaseAxisPointer.prototype.createPointerEl = function (group, elOption, axisModel, axisPointerModel) {\n var pointerOption = elOption.pointer;\n\n if (pointerOption) {\n var pointerEl = inner(group).pointerEl = new graphic[pointerOption.type](clone(elOption.pointer));\n group.add(pointerEl);\n }\n };\n /**\r\n * @protected\r\n */\n\n\n BaseAxisPointer.prototype.createLabelEl = function (group, elOption, axisModel, axisPointerModel) {\n if (elOption.label) {\n var labelEl = inner(group).labelEl = new graphic.Text(clone(elOption.label));\n group.add(labelEl);\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n };\n /**\r\n * @protected\r\n */\n\n\n BaseAxisPointer.prototype.updatePointerEl = function (group, elOption, updateProps) {\n var pointerEl = inner(group).pointerEl;\n\n if (pointerEl && elOption.pointer) {\n pointerEl.setStyle(elOption.pointer.style);\n updateProps(pointerEl, {\n shape: elOption.pointer.shape\n });\n }\n };\n /**\r\n * @protected\r\n */\n\n\n BaseAxisPointer.prototype.updateLabelEl = function (group, elOption, updateProps, axisPointerModel) {\n var labelEl = inner(group).labelEl;\n\n if (labelEl) {\n labelEl.setStyle(elOption.label.style);\n updateProps(labelEl, {\n // Consider text length change in vertical axis, animation should\n // be used on shape, otherwise the effect will be weird.\n // TODOTODO\n // shape: elOption.label.shape,\n x: elOption.label.x,\n y: elOption.label.y\n });\n updateLabelShowHide(labelEl, axisPointerModel);\n }\n };\n /**\r\n * @private\r\n */\n\n\n BaseAxisPointer.prototype._renderHandle = function (value) {\n if (this._dragging || !this.updateHandleTransform) {\n return;\n }\n\n var axisPointerModel = this._axisPointerModel;\n\n var zr = this._api.getZr();\n\n var handle = this._handle;\n var handleModel = axisPointerModel.getModel('handle');\n var status = axisPointerModel.get('status');\n\n if (!handleModel.get('show') || !status || status === 'hide') {\n handle && zr.remove(handle);\n this._handle = null;\n return;\n }\n\n var isInit;\n\n if (!this._handle) {\n isInit = true;\n handle = this._handle = graphic.createIcon(handleModel.get('icon'), {\n cursor: 'move',\n draggable: true,\n onmousemove: function (e) {\n // For mobile device, prevent screen slider on the button.\n eventTool.stop(e.event);\n },\n onmousedown: bind(this._onHandleDragMove, this, 0, 0),\n drift: bind(this._onHandleDragMove, this),\n ondragend: bind(this._onHandleDragEnd, this)\n });\n zr.add(handle);\n }\n\n updateMandatoryProps(handle, axisPointerModel, false); // update style\n\n handle.setStyle(handleModel.getItemStyle(null, ['color', 'borderColor', 'borderWidth', 'opacity', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'])); // update position\n\n var handleSize = handleModel.get('size');\n\n if (!zrUtil.isArray(handleSize)) {\n handleSize = [handleSize, handleSize];\n }\n\n handle.scaleX = handleSize[0] / 2;\n handle.scaleY = handleSize[1] / 2;\n throttleUtil.createOrUpdate(this, '_doDispatchAxisPointer', handleModel.get('throttle') || 0, 'fixRate');\n\n this._moveHandleToValue(value, isInit);\n };\n\n BaseAxisPointer.prototype._moveHandleToValue = function (value, isInit) {\n updateProps(this._axisPointerModel, !isInit && this._moveAnimation, this._handle, getHandleTransProps(this.getHandleTransform(value, this._axisModel, this._axisPointerModel)));\n };\n\n BaseAxisPointer.prototype._onHandleDragMove = function (dx, dy) {\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n this._dragging = true; // Persistent for throttle.\n\n var trans = this.updateHandleTransform(getHandleTransProps(handle), [dx, dy], this._axisModel, this._axisPointerModel);\n this._payloadInfo = trans;\n handle.stopAnimation();\n handle.attr(getHandleTransProps(trans));\n inner(handle).lastProp = null;\n\n this._doDispatchAxisPointer();\n };\n /**\r\n * Throttled method.\r\n */\n\n\n BaseAxisPointer.prototype._doDispatchAxisPointer = function () {\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n var payloadInfo = this._payloadInfo;\n var axisModel = this._axisModel;\n\n this._api.dispatchAction({\n type: 'updateAxisPointer',\n x: payloadInfo.cursorPoint[0],\n y: payloadInfo.cursorPoint[1],\n tooltipOption: payloadInfo.tooltipOption,\n axesInfo: [{\n axisDim: axisModel.axis.dim,\n axisIndex: axisModel.componentIndex\n }]\n });\n };\n\n BaseAxisPointer.prototype._onHandleDragEnd = function () {\n this._dragging = false;\n var handle = this._handle;\n\n if (!handle) {\n return;\n }\n\n var value = this._axisPointerModel.get('value'); // Consider snap or categroy axis, handle may be not consistent with\n // axisPointer. So move handle to align the exact value position when\n // drag ended.\n\n\n this._moveHandleToValue(value); // For the effect: tooltip will be shown when finger holding on handle\n // button, and will be hidden after finger left handle button.\n\n\n this._api.dispatchAction({\n type: 'hideTip'\n });\n };\n /**\r\n * @private\r\n */\n\n\n BaseAxisPointer.prototype.clear = function (api) {\n this._lastValue = null;\n this._lastStatus = null;\n var zr = api.getZr();\n var group = this._group;\n var handle = this._handle;\n\n if (zr && group) {\n this._lastGraphicKey = null;\n group && zr.remove(group);\n handle && zr.remove(handle);\n this._group = null;\n this._handle = null;\n this._payloadInfo = null;\n }\n\n throttleUtil.clear(this, '_doDispatchAxisPointer');\n };\n /**\r\n * @protected\r\n */\n\n\n BaseAxisPointer.prototype.doClear = function () {// Implemented by sub-class if necessary.\n };\n\n BaseAxisPointer.prototype.buildLabel = function (xy, wh, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x: xy[xDimIndex],\n y: xy[1 - xDimIndex],\n width: wh[xDimIndex],\n height: wh[1 - xDimIndex]\n };\n };\n\n return BaseAxisPointer;\n}();\n\nfunction updateProps(animationModel, moveAnimation, el, props) {\n // Animation optimize.\n if (!propsEqual(inner(el).lastProp, props)) {\n inner(el).lastProp = props;\n moveAnimation ? graphic.updateProps(el, props, animationModel) : (el.stopAnimation(), el.attr(props));\n }\n}\n\nfunction propsEqual(lastProps, newProps) {\n if (zrUtil.isObject(lastProps) && zrUtil.isObject(newProps)) {\n var equals_1 = true;\n zrUtil.each(newProps, function (item, key) {\n equals_1 = equals_1 && propsEqual(lastProps[key], item);\n });\n return !!equals_1;\n } else {\n return lastProps === newProps;\n }\n}\n\nfunction updateLabelShowHide(labelEl, axisPointerModel) {\n labelEl[axisPointerModel.get(['label', 'show']) ? 'show' : 'hide']();\n}\n\nfunction getHandleTransProps(trans) {\n return {\n x: trans.x || 0,\n y: trans.y || 0,\n rotation: trans.rotation || 0\n };\n}\n\nfunction updateMandatoryProps(group, axisPointerModel, silent) {\n var z = axisPointerModel.get('z');\n var zlevel = axisPointerModel.get('zlevel');\n group && group.traverse(function (el) {\n if (el.type !== 'group') {\n z != null && (el.z = z);\n zlevel != null && (el.zlevel = zlevel);\n el.silent = silent;\n }\n });\n}\n\nexport default BaseAxisPointer;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport * as textContain from 'zrender/lib/contain/text.js';\nimport * as formatUtil from '../../util/format.js';\nimport * as matrix from 'zrender/lib/core/matrix.js';\nimport * as axisHelper from '../../coord/axisHelper.js';\nimport AxisBuilder from '../axis/AxisBuilder.js';\nimport { createTextStyle } from '../../label/labelStyle.js';\nexport function buildElStyle(axisPointerModel) {\n var axisPointerType = axisPointerModel.get('type');\n var styleModel = axisPointerModel.getModel(axisPointerType + 'Style');\n var style;\n\n if (axisPointerType === 'line') {\n style = styleModel.getLineStyle();\n style.fill = null;\n } else if (axisPointerType === 'shadow') {\n style = styleModel.getAreaStyle();\n style.stroke = null;\n }\n\n return style;\n}\n/**\r\n * @param {Function} labelPos {align, verticalAlign, position}\r\n */\n\nexport function buildLabelElOption(elOption, axisModel, axisPointerModel, api, labelPos) {\n var value = axisPointerModel.get('value');\n var text = getValueLabel(value, axisModel.axis, axisModel.ecModel, axisPointerModel.get('seriesDataIndices'), {\n precision: axisPointerModel.get(['label', 'precision']),\n formatter: axisPointerModel.get(['label', 'formatter'])\n });\n var labelModel = axisPointerModel.getModel('label');\n var paddings = formatUtil.normalizeCssArray(labelModel.get('padding') || 0);\n var font = labelModel.getFont();\n var textRect = textContain.getBoundingRect(text, font);\n var position = labelPos.position;\n var width = textRect.width + paddings[1] + paddings[3];\n var height = textRect.height + paddings[0] + paddings[2]; // Adjust by align.\n\n var align = labelPos.align;\n align === 'right' && (position[0] -= width);\n align === 'center' && (position[0] -= width / 2);\n var verticalAlign = labelPos.verticalAlign;\n verticalAlign === 'bottom' && (position[1] -= height);\n verticalAlign === 'middle' && (position[1] -= height / 2); // Not overflow ec container\n\n confineInContainer(position, width, height, api);\n var bgColor = labelModel.get('backgroundColor');\n\n if (!bgColor || bgColor === 'auto') {\n bgColor = axisModel.get(['axisLine', 'lineStyle', 'color']);\n }\n\n elOption.label = {\n // shape: {x: 0, y: 0, width: width, height: height, r: labelModel.get('borderRadius')},\n x: position[0],\n y: position[1],\n style: createTextStyle(labelModel, {\n text: text,\n font: font,\n fill: labelModel.getTextColor(),\n padding: paddings,\n backgroundColor: bgColor\n }),\n // Label should be over axisPointer.\n z2: 10\n };\n} // Do not overflow ec container\n\nfunction confineInContainer(position, width, height, api) {\n var viewWidth = api.getWidth();\n var viewHeight = api.getHeight();\n position[0] = Math.min(position[0] + width, viewWidth) - width;\n position[1] = Math.min(position[1] + height, viewHeight) - height;\n position[0] = Math.max(position[0], 0);\n position[1] = Math.max(position[1], 0);\n}\n\nexport function getValueLabel(value, axis, ecModel, seriesDataIndices, opt) {\n value = axis.scale.parse(value);\n var text = axis.scale.getLabel({\n value: value\n }, {\n // If `precision` is set, width can be fixed (like '12.00500'), which\n // helps to debounce when when moving label.\n precision: opt.precision\n });\n var formatter = opt.formatter;\n\n if (formatter) {\n var params_1 = {\n value: axisHelper.getAxisRawValue(axis, {\n value: value\n }),\n axisDimension: axis.dim,\n axisIndex: axis.index,\n seriesData: []\n };\n zrUtil.each(seriesDataIndices, function (idxItem) {\n var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n var dataIndex = idxItem.dataIndexInside;\n var dataParams = series && series.getDataParams(dataIndex);\n dataParams && params_1.seriesData.push(dataParams);\n });\n\n if (zrUtil.isString(formatter)) {\n text = formatter.replace('{value}', text);\n } else if (zrUtil.isFunction(formatter)) {\n text = formatter(params_1);\n }\n }\n\n return text;\n}\nexport function getTransformedPosition(axis, value, layoutInfo) {\n var transform = matrix.create();\n matrix.rotate(transform, transform, layoutInfo.rotation);\n matrix.translate(transform, transform, layoutInfo.position);\n return graphic.applyTransform([axis.dataToCoord(value), (layoutInfo.labelOffset || 0) + (layoutInfo.labelDirection || 1) * (layoutInfo.labelMargin || 0)], transform);\n}\nexport function buildCartesianSingleLabelElOption(value, elOption, layoutInfo, axisModel, axisPointerModel, api) {\n // @ts-ignore\n var textLayout = AxisBuilder.innerTextLayout(layoutInfo.rotation, 0, layoutInfo.labelDirection);\n layoutInfo.labelMargin = axisPointerModel.get(['label', 'margin']);\n buildLabelElOption(elOption, axisModel, axisPointerModel, api, {\n position: getTransformedPosition(axisModel.axis, value, layoutInfo),\n align: textLayout.textAlign,\n verticalAlign: textLayout.textVerticalAlign\n });\n}\nexport function makeLineShape(p1, p2, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x1: p1[xDimIndex],\n y1: p1[1 - xDimIndex],\n x2: p2[xDimIndex],\n y2: p2[1 - xDimIndex]\n };\n}\nexport function makeRectShape(xy, wh, xDimIndex) {\n xDimIndex = xDimIndex || 0;\n return {\n x: xy[xDimIndex],\n y: xy[1 - xDimIndex],\n width: wh[xDimIndex],\n height: wh[1 - xDimIndex]\n };\n}\nexport function makeSectorShape(cx, cy, r0, r, startAngle, endAngle) {\n return {\n cx: cx,\n cy: cy,\n r0: r0,\n r: r,\n startAngle: startAngle,\n endAngle: endAngle,\n clockwise: true\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport BaseAxisPointer from './BaseAxisPointer.js';\nimport * as viewHelper from './viewHelper.js';\nimport * as cartesianAxisHelper from '../../coord/cartesian/cartesianAxisHelper.js';\n\nvar CartesianAxisPointer =\n/** @class */\nfunction (_super) {\n __extends(CartesianAxisPointer, _super);\n\n function CartesianAxisPointer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\r\n * @override\r\n */\n\n\n CartesianAxisPointer.prototype.makeElOption = function (elOption, value, axisModel, axisPointerModel, api) {\n var axis = axisModel.axis;\n var grid = axis.grid;\n var axisPointerType = axisPointerModel.get('type');\n var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n var pixelValue = axis.toGlobalCoord(axis.dataToCoord(value, true));\n\n if (axisPointerType && axisPointerType !== 'none') {\n var elStyle = viewHelper.buildElStyle(axisPointerModel);\n var pointerOption = pointerShapeBuilder[axisPointerType](axis, pixelValue, otherExtent);\n pointerOption.style = elStyle;\n elOption.graphicKey = pointerOption.type;\n elOption.pointer = pointerOption;\n }\n\n var layoutInfo = cartesianAxisHelper.layout(grid.model, axisModel);\n viewHelper.buildCartesianSingleLabelElOption( // @ts-ignore\n value, elOption, layoutInfo, axisModel, axisPointerModel, api);\n };\n /**\r\n * @override\r\n */\n\n\n CartesianAxisPointer.prototype.getHandleTransform = function (value, axisModel, axisPointerModel) {\n var layoutInfo = cartesianAxisHelper.layout(axisModel.axis.grid.model, axisModel, {\n labelInside: false\n }); // @ts-ignore\n\n layoutInfo.labelMargin = axisPointerModel.get(['handle', 'margin']);\n var pos = viewHelper.getTransformedPosition(axisModel.axis, value, layoutInfo);\n return {\n x: pos[0],\n y: pos[1],\n rotation: layoutInfo.rotation + (layoutInfo.labelDirection < 0 ? Math.PI : 0)\n };\n };\n /**\r\n * @override\r\n */\n\n\n CartesianAxisPointer.prototype.updateHandleTransform = function (transform, delta, axisModel, axisPointerModel) {\n var axis = axisModel.axis;\n var grid = axis.grid;\n var axisExtent = axis.getGlobalExtent(true);\n var otherExtent = getCartesian(grid, axis).getOtherAxis(axis).getGlobalExtent();\n var dimIndex = axis.dim === 'x' ? 0 : 1;\n var currPosition = [transform.x, transform.y];\n currPosition[dimIndex] += delta[dimIndex];\n currPosition[dimIndex] = Math.min(axisExtent[1], currPosition[dimIndex]);\n currPosition[dimIndex] = Math.max(axisExtent[0], currPosition[dimIndex]);\n var cursorOtherValue = (otherExtent[1] + otherExtent[0]) / 2;\n var cursorPoint = [cursorOtherValue, cursorOtherValue];\n cursorPoint[dimIndex] = currPosition[dimIndex]; // Make tooltip do not overlap axisPointer and in the middle of the grid.\n\n var tooltipOptions = [{\n verticalAlign: 'middle'\n }, {\n align: 'center'\n }];\n return {\n x: currPosition[0],\n y: currPosition[1],\n rotation: transform.rotation,\n cursorPoint: cursorPoint,\n tooltipOption: tooltipOptions[dimIndex]\n };\n };\n\n return CartesianAxisPointer;\n}(BaseAxisPointer);\n\nfunction getCartesian(grid, axis) {\n var opt = {};\n opt[axis.dim + 'AxisIndex'] = axis.index;\n return grid.getCartesian(opt);\n}\n\nvar pointerShapeBuilder = {\n line: function (axis, pixelValue, otherExtent) {\n var targetShape = viewHelper.makeLineShape([pixelValue, otherExtent[0]], [pixelValue, otherExtent[1]], getAxisDimIndex(axis));\n return {\n type: 'Line',\n subPixelOptimize: true,\n shape: targetShape\n };\n },\n shadow: function (axis, pixelValue, otherExtent) {\n var bandWidth = Math.max(1, axis.getBandWidth());\n var span = otherExtent[1] - otherExtent[0];\n return {\n type: 'Rect',\n shape: viewHelper.makeRectShape([pixelValue - bandWidth / 2, otherExtent[0]], [bandWidth, span], getAxisDimIndex(axis))\n };\n }\n};\n\nfunction getAxisDimIndex(axis) {\n return axis.dim === 'x' ? 0 : 1;\n}\n\nexport default CartesianAxisPointer;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport ComponentModel from '../../model/Component.js';\n\nvar AxisPointerModel =\n/** @class */\nfunction (_super) {\n __extends(AxisPointerModel, _super);\n\n function AxisPointerModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = AxisPointerModel.type;\n return _this;\n }\n\n AxisPointerModel.type = 'axisPointer';\n AxisPointerModel.defaultOption = {\n // 'auto' means that show when triggered by tooltip or handle.\n show: 'auto',\n // zlevel: 0,\n z: 50,\n type: 'line',\n // axispointer triggered by tootip determine snap automatically,\n // see `modelHelper`.\n snap: false,\n triggerTooltip: true,\n triggerEmphasis: true,\n value: null,\n status: null,\n link: [],\n // Do not set 'auto' here, otherwise global animation: false\n // will not effect at this axispointer.\n animation: null,\n animationDurationUpdate: 200,\n lineStyle: {\n color: '#B9BEC9',\n width: 1,\n type: 'dashed'\n },\n shadowStyle: {\n color: 'rgba(210,219,238,0.2)'\n },\n label: {\n show: true,\n formatter: null,\n precision: 'auto',\n margin: 3,\n color: '#fff',\n padding: [5, 7, 5, 7],\n backgroundColor: 'auto',\n borderColor: null,\n borderWidth: 0,\n borderRadius: 3\n },\n handle: {\n show: false,\n // eslint-disable-next-line\n icon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z',\n size: 45,\n // handle margin is from symbol center to axis, which is stable when circular move.\n margin: 50,\n // color: '#1b8bbd'\n // color: '#2f4554'\n color: '#333',\n shadowBlur: 3,\n shadowColor: '#aaa',\n shadowOffsetX: 0,\n shadowOffsetY: 2,\n // For mobile performance\n throttle: 40\n }\n };\n return AxisPointerModel;\n}(ComponentModel);\n\nexport default AxisPointerModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport env from 'zrender/lib/core/env.js';\nimport { makeInner } from '../../util/model.js';\nvar inner = makeInner();\nvar each = zrUtil.each;\n/**\r\n * @param {string} key\r\n * @param {module:echarts/ExtensionAPI} api\r\n * @param {Function} handler\r\n * param: {string} currTrigger\r\n * param: {Array.} point\r\n */\n\nexport function register(key, api, handler) {\n if (env.node) {\n return;\n }\n\n var zr = api.getZr();\n inner(zr).records || (inner(zr).records = {});\n initGlobalListeners(zr, api);\n var record = inner(zr).records[key] || (inner(zr).records[key] = {});\n record.handler = handler;\n}\n\nfunction initGlobalListeners(zr, api) {\n if (inner(zr).initialized) {\n return;\n }\n\n inner(zr).initialized = true;\n useHandler('click', zrUtil.curry(doEnter, 'click'));\n useHandler('mousemove', zrUtil.curry(doEnter, 'mousemove')); // useHandler('mouseout', onLeave);\n\n useHandler('globalout', onLeave);\n\n function useHandler(eventType, cb) {\n zr.on(eventType, function (e) {\n var dis = makeDispatchAction(api);\n each(inner(zr).records, function (record) {\n record && cb(record, e, dis.dispatchAction);\n });\n dispatchTooltipFinally(dis.pendings, api);\n });\n }\n}\n\nfunction dispatchTooltipFinally(pendings, api) {\n var showLen = pendings.showTip.length;\n var hideLen = pendings.hideTip.length;\n var actuallyPayload;\n\n if (showLen) {\n actuallyPayload = pendings.showTip[showLen - 1];\n } else if (hideLen) {\n actuallyPayload = pendings.hideTip[hideLen - 1];\n }\n\n if (actuallyPayload) {\n actuallyPayload.dispatchAction = null;\n api.dispatchAction(actuallyPayload);\n }\n}\n\nfunction onLeave(record, e, dispatchAction) {\n record.handler('leave', null, dispatchAction);\n}\n\nfunction doEnter(currTrigger, record, e, dispatchAction) {\n record.handler(currTrigger, e, dispatchAction);\n}\n\nfunction makeDispatchAction(api) {\n var pendings = {\n showTip: [],\n hideTip: []\n }; // FIXME\n // better approach?\n // 'showTip' and 'hideTip' can be triggered by axisPointer and tooltip,\n // which may be conflict, (axisPointer call showTip but tooltip call hideTip);\n // So we have to add \"final stage\" to merge those dispatched actions.\n\n var dispatchAction = function (payload) {\n var pendingList = pendings[payload.type];\n\n if (pendingList) {\n pendingList.push(payload);\n } else {\n payload.dispatchAction = dispatchAction;\n api.dispatchAction(payload);\n }\n };\n\n return {\n dispatchAction: dispatchAction,\n pendings: pendings\n };\n}\n\nexport function unregister(key, api) {\n if (env.node) {\n return;\n }\n\n var zr = api.getZr();\n var record = (inner(zr).records || {})[key];\n\n if (record) {\n inner(zr).records[key] = null;\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as globalListener from './globalListener.js';\nimport ComponentView from '../../view/Component.js';\n\nvar AxisPointerView =\n/** @class */\nfunction (_super) {\n __extends(AxisPointerView, _super);\n\n function AxisPointerView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = AxisPointerView.type;\n return _this;\n }\n\n AxisPointerView.prototype.render = function (globalAxisPointerModel, ecModel, api) {\n var globalTooltipModel = ecModel.getComponent('tooltip');\n var triggerOn = globalAxisPointerModel.get('triggerOn') || globalTooltipModel && globalTooltipModel.get('triggerOn') || 'mousemove|click'; // Register global listener in AxisPointerView to enable\n // AxisPointerView to be independent to Tooltip.\n\n globalListener.register('axisPointer', api, function (currTrigger, e, dispatchAction) {\n // If 'none', it is not controlled by mouse totally.\n if (triggerOn !== 'none' && (currTrigger === 'leave' || triggerOn.indexOf(currTrigger) >= 0)) {\n dispatchAction({\n type: 'updateAxisPointer',\n currTrigger: currTrigger,\n x: e && e.offsetX,\n y: e && e.offsetY\n });\n }\n });\n };\n\n AxisPointerView.prototype.remove = function (ecModel, api) {\n globalListener.unregister('axisPointer', api);\n };\n\n AxisPointerView.prototype.dispose = function (ecModel, api) {\n globalListener.unregister('axisPointer', api);\n };\n\n AxisPointerView.type = 'axisPointer';\n return AxisPointerView;\n}(ComponentView);\n\nexport default AxisPointerView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as modelUtil from '../../util/model.js';\n/**\r\n * @param finder contains {seriesIndex, dataIndex, dataIndexInside}\r\n * @param ecModel\r\n * @return {point: [x, y], el: ...} point Will not be null.\r\n */\n\nexport default function findPointFromSeries(finder, ecModel) {\n var point = [];\n var seriesIndex = finder.seriesIndex;\n var seriesModel;\n\n if (seriesIndex == null || !(seriesModel = ecModel.getSeriesByIndex(seriesIndex))) {\n return {\n point: []\n };\n }\n\n var data = seriesModel.getData();\n var dataIndex = modelUtil.queryDataIndex(data, finder);\n\n if (dataIndex == null || dataIndex < 0 || zrUtil.isArray(dataIndex)) {\n return {\n point: []\n };\n }\n\n var el = data.getItemGraphicEl(dataIndex);\n var coordSys = seriesModel.coordinateSystem;\n\n if (seriesModel.getTooltipPosition) {\n point = seriesModel.getTooltipPosition(dataIndex) || [];\n } else if (coordSys && coordSys.dataToPoint) {\n if (finder.isStacked) {\n var baseAxis = coordSys.getBaseAxis();\n var valueAxis = coordSys.getOtherAxis(baseAxis);\n var valueAxisDim = valueAxis.dim;\n var baseAxisDim = baseAxis.dim;\n var baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;\n var baseDim = data.mapDimension(baseAxisDim);\n var stackedData = [];\n stackedData[baseDataOffset] = data.get(baseDim, dataIndex);\n stackedData[1 - baseDataOffset] = data.get(data.getCalculationInfo('stackResultDimension'), dataIndex);\n point = coordSys.dataToPoint(stackedData) || [];\n } else {\n point = coordSys.dataToPoint(data.getValues(zrUtil.map(coordSys.dimensions, function (dim) {\n return data.mapDimension(dim);\n }), dataIndex)) || [];\n }\n } else if (el) {\n // Use graphic bounding rect\n var rect = el.getBoundingRect().clone();\n rect.applyTransform(el.transform);\n point = [rect.x + rect.width / 2, rect.y + rect.height / 2];\n }\n\n return {\n point: point,\n el: el\n };\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { makeInner } from '../../util/model.js';\nimport * as modelHelper from './modelHelper.js';\nimport findPointFromSeries from './findPointFromSeries.js';\nimport { each, curry, bind, extend } from 'zrender/lib/core/util.js';\nvar inner = makeInner();\n/**\r\n * Basic logic: check all axis, if they do not demand show/highlight,\r\n * then hide/downplay them.\r\n *\r\n * @return content of event obj for echarts.connect.\r\n */\n\nexport default function axisTrigger(payload, ecModel, api) {\n var currTrigger = payload.currTrigger;\n var point = [payload.x, payload.y];\n var finder = payload;\n var dispatchAction = payload.dispatchAction || bind(api.dispatchAction, api);\n var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo; // Pending\n // See #6121. But we are not able to reproduce it yet.\n\n if (!coordSysAxesInfo) {\n return;\n }\n\n if (illegalPoint(point)) {\n // Used in the default behavior of `connection`: use the sample seriesIndex\n // and dataIndex. And also used in the tooltipView trigger.\n point = findPointFromSeries({\n seriesIndex: finder.seriesIndex,\n // Do not use dataIndexInside from other ec instance.\n // FIXME: auto detect it?\n dataIndex: finder.dataIndex\n }, ecModel).point;\n }\n\n var isIllegalPoint = illegalPoint(point); // Axis and value can be specified when calling dispatchAction({type: 'updateAxisPointer'}).\n // Notice: In this case, it is difficult to get the `point` (which is necessary to show\n // tooltip, so if point is not given, we just use the point found by sample seriesIndex\n // and dataIndex.\n\n var inputAxesInfo = finder.axesInfo;\n var axesInfo = coordSysAxesInfo.axesInfo;\n var shouldHide = currTrigger === 'leave' || illegalPoint(point);\n var outputPayload = {};\n var showValueMap = {};\n var dataByCoordSys = {\n list: [],\n map: {}\n };\n var updaters = {\n showPointer: curry(showPointer, showValueMap),\n showTooltip: curry(showTooltip, dataByCoordSys)\n }; // Process for triggered axes.\n\n each(coordSysAxesInfo.coordSysMap, function (coordSys, coordSysKey) {\n // If a point given, it must be contained by the coordinate system.\n var coordSysContainsPoint = isIllegalPoint || coordSys.containPoint(point);\n each(coordSysAxesInfo.coordSysAxesInfo[coordSysKey], function (axisInfo, key) {\n var axis = axisInfo.axis;\n var inputAxisInfo = findInputAxisInfo(inputAxesInfo, axisInfo); // If no inputAxesInfo, no axis is restricted.\n\n if (!shouldHide && coordSysContainsPoint && (!inputAxesInfo || inputAxisInfo)) {\n var val = inputAxisInfo && inputAxisInfo.value;\n\n if (val == null && !isIllegalPoint) {\n val = axis.pointToData(point);\n }\n\n val != null && processOnAxis(axisInfo, val, updaters, false, outputPayload);\n }\n });\n }); // Process for linked axes.\n\n var linkTriggers = {};\n each(axesInfo, function (tarAxisInfo, tarKey) {\n var linkGroup = tarAxisInfo.linkGroup; // If axis has been triggered in the previous stage, it should not be triggered by link.\n\n if (linkGroup && !showValueMap[tarKey]) {\n each(linkGroup.axesInfo, function (srcAxisInfo, srcKey) {\n var srcValItem = showValueMap[srcKey]; // If srcValItem exist, source axis is triggered, so link to target axis.\n\n if (srcAxisInfo !== tarAxisInfo && srcValItem) {\n var val = srcValItem.value;\n linkGroup.mapper && (val = tarAxisInfo.axis.scale.parse(linkGroup.mapper(val, makeMapperParam(srcAxisInfo), makeMapperParam(tarAxisInfo))));\n linkTriggers[tarAxisInfo.key] = val;\n }\n });\n }\n });\n each(linkTriggers, function (val, tarKey) {\n processOnAxis(axesInfo[tarKey], val, updaters, true, outputPayload);\n });\n updateModelActually(showValueMap, axesInfo, outputPayload);\n dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction);\n dispatchHighDownActually(axesInfo, dispatchAction, api);\n return outputPayload;\n}\n\nfunction processOnAxis(axisInfo, newValue, updaters, noSnap, outputFinder) {\n var axis = axisInfo.axis;\n\n if (axis.scale.isBlank() || !axis.containData(newValue)) {\n return;\n }\n\n if (!axisInfo.involveSeries) {\n updaters.showPointer(axisInfo, newValue);\n return;\n } // Heavy calculation. So put it after axis.containData checking.\n\n\n var payloadInfo = buildPayloadsBySeries(newValue, axisInfo);\n var payloadBatch = payloadInfo.payloadBatch;\n var snapToValue = payloadInfo.snapToValue; // Fill content of event obj for echarts.connect.\n // By default use the first involved series data as a sample to connect.\n\n if (payloadBatch[0] && outputFinder.seriesIndex == null) {\n extend(outputFinder, payloadBatch[0]);\n } // If no linkSource input, this process is for collecting link\n // target, where snap should not be accepted.\n\n\n if (!noSnap && axisInfo.snap) {\n if (axis.containData(snapToValue) && snapToValue != null) {\n newValue = snapToValue;\n }\n }\n\n updaters.showPointer(axisInfo, newValue, payloadBatch); // Tooltip should always be snapToValue, otherwise there will be\n // incorrect \"axis value ~ series value\" mapping displayed in tooltip.\n\n updaters.showTooltip(axisInfo, payloadInfo, snapToValue);\n}\n\nfunction buildPayloadsBySeries(value, axisInfo) {\n var axis = axisInfo.axis;\n var dim = axis.dim;\n var snapToValue = value;\n var payloadBatch = [];\n var minDist = Number.MAX_VALUE;\n var minDiff = -1;\n each(axisInfo.seriesModels, function (series, idx) {\n var dataDim = series.getData().mapDimensionsAll(dim);\n var seriesNestestValue;\n var dataIndices;\n\n if (series.getAxisTooltipData) {\n var result = series.getAxisTooltipData(dataDim, value, axis);\n dataIndices = result.dataIndices;\n seriesNestestValue = result.nestestValue;\n } else {\n dataIndices = series.getData().indicesOfNearest(dataDim[0], value, // Add a threshold to avoid find the wrong dataIndex\n // when data length is not same.\n // false,\n axis.type === 'category' ? 0.5 : null);\n\n if (!dataIndices.length) {\n return;\n }\n\n seriesNestestValue = series.getData().get(dataDim[0], dataIndices[0]);\n }\n\n if (seriesNestestValue == null || !isFinite(seriesNestestValue)) {\n return;\n }\n\n var diff = value - seriesNestestValue;\n var dist = Math.abs(diff); // Consider category case\n\n if (dist <= minDist) {\n if (dist < minDist || diff >= 0 && minDiff < 0) {\n minDist = dist;\n minDiff = diff;\n snapToValue = seriesNestestValue;\n payloadBatch.length = 0;\n }\n\n each(dataIndices, function (dataIndex) {\n payloadBatch.push({\n seriesIndex: series.seriesIndex,\n dataIndexInside: dataIndex,\n dataIndex: series.getData().getRawIndex(dataIndex)\n });\n });\n }\n });\n return {\n payloadBatch: payloadBatch,\n snapToValue: snapToValue\n };\n}\n\nfunction showPointer(showValueMap, axisInfo, value, payloadBatch) {\n showValueMap[axisInfo.key] = {\n value: value,\n payloadBatch: payloadBatch\n };\n}\n\nfunction showTooltip(dataByCoordSys, axisInfo, payloadInfo, value) {\n var payloadBatch = payloadInfo.payloadBatch;\n var axis = axisInfo.axis;\n var axisModel = axis.model;\n var axisPointerModel = axisInfo.axisPointerModel; // If no data, do not create anything in dataByCoordSys,\n // whose length will be used to judge whether dispatch action.\n\n if (!axisInfo.triggerTooltip || !payloadBatch.length) {\n return;\n }\n\n var coordSysModel = axisInfo.coordSys.model;\n var coordSysKey = modelHelper.makeKey(coordSysModel);\n var coordSysItem = dataByCoordSys.map[coordSysKey];\n\n if (!coordSysItem) {\n coordSysItem = dataByCoordSys.map[coordSysKey] = {\n coordSysId: coordSysModel.id,\n coordSysIndex: coordSysModel.componentIndex,\n coordSysType: coordSysModel.type,\n coordSysMainType: coordSysModel.mainType,\n dataByAxis: []\n };\n dataByCoordSys.list.push(coordSysItem);\n }\n\n coordSysItem.dataByAxis.push({\n axisDim: axis.dim,\n axisIndex: axisModel.componentIndex,\n axisType: axisModel.type,\n axisId: axisModel.id,\n value: value,\n // Caustion: viewHelper.getValueLabel is actually on \"view stage\", which\n // depends that all models have been updated. So it should not be performed\n // here. Considering axisPointerModel used here is volatile, which is hard\n // to be retrieve in TooltipView, we prepare parameters here.\n valueLabelOpt: {\n precision: axisPointerModel.get(['label', 'precision']),\n formatter: axisPointerModel.get(['label', 'formatter'])\n },\n seriesDataIndices: payloadBatch.slice()\n });\n}\n\nfunction updateModelActually(showValueMap, axesInfo, outputPayload) {\n var outputAxesInfo = outputPayload.axesInfo = []; // Basic logic: If no 'show' required, 'hide' this axisPointer.\n\n each(axesInfo, function (axisInfo, key) {\n var option = axisInfo.axisPointerModel.option;\n var valItem = showValueMap[key];\n\n if (valItem) {\n !axisInfo.useHandle && (option.status = 'show');\n option.value = valItem.value; // For label formatter param and highlight.\n\n option.seriesDataIndices = (valItem.payloadBatch || []).slice();\n } // When always show (e.g., handle used), remain\n // original value and status.\n else {\n // If hide, value still need to be set, consider\n // click legend to toggle axis blank.\n !axisInfo.useHandle && (option.status = 'hide');\n } // If status is 'hide', should be no info in payload.\n\n\n option.status === 'show' && outputAxesInfo.push({\n axisDim: axisInfo.axis.dim,\n axisIndex: axisInfo.axis.model.componentIndex,\n value: option.value\n });\n });\n}\n\nfunction dispatchTooltipActually(dataByCoordSys, point, payload, dispatchAction) {\n // Basic logic: If no showTip required, hideTip will be dispatched.\n if (illegalPoint(point) || !dataByCoordSys.list.length) {\n dispatchAction({\n type: 'hideTip'\n });\n return;\n } // In most case only one axis (or event one series is used). It is\n // convenient to fetch payload.seriesIndex and payload.dataIndex\n // directly. So put the first seriesIndex and dataIndex of the first\n // axis on the payload.\n\n\n var sampleItem = ((dataByCoordSys.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};\n dispatchAction({\n type: 'showTip',\n escapeConnect: true,\n x: point[0],\n y: point[1],\n tooltipOption: payload.tooltipOption,\n position: payload.position,\n dataIndexInside: sampleItem.dataIndexInside,\n dataIndex: sampleItem.dataIndex,\n seriesIndex: sampleItem.seriesIndex,\n dataByCoordSys: dataByCoordSys.list\n });\n}\n\nfunction dispatchHighDownActually(axesInfo, dispatchAction, api) {\n // FIXME\n // highlight status modification should be a stage of main process?\n // (Consider confilct (e.g., legend and axisPointer) and setOption)\n var zr = api.getZr();\n var highDownKey = 'axisPointerLastHighlights';\n var lastHighlights = inner(zr)[highDownKey] || {};\n var newHighlights = inner(zr)[highDownKey] = {}; // Update highlight/downplay status according to axisPointer model.\n // Build hash map and remove duplicate incidentally.\n\n each(axesInfo, function (axisInfo, key) {\n var option = axisInfo.axisPointerModel.option;\n option.status === 'show' && axisInfo.triggerEmphasis && each(option.seriesDataIndices, function (batchItem) {\n var key = batchItem.seriesIndex + ' | ' + batchItem.dataIndex;\n newHighlights[key] = batchItem;\n });\n }); // Diff.\n\n var toHighlight = [];\n var toDownplay = [];\n each(lastHighlights, function (batchItem, key) {\n !newHighlights[key] && toDownplay.push(batchItem);\n });\n each(newHighlights, function (batchItem, key) {\n !lastHighlights[key] && toHighlight.push(batchItem);\n });\n toDownplay.length && api.dispatchAction({\n type: 'downplay',\n escapeConnect: true,\n // Not blur others when highlight in axisPointer.\n notBlur: true,\n batch: toDownplay\n });\n toHighlight.length && api.dispatchAction({\n type: 'highlight',\n escapeConnect: true,\n // Not blur others when highlight in axisPointer.\n notBlur: true,\n batch: toHighlight\n });\n}\n\nfunction findInputAxisInfo(inputAxesInfo, axisInfo) {\n for (var i = 0; i < (inputAxesInfo || []).length; i++) {\n var inputAxisInfo = inputAxesInfo[i];\n\n if (axisInfo.axis.dim === inputAxisInfo.axisDim && axisInfo.axis.model.componentIndex === inputAxisInfo.axisIndex) {\n return inputAxisInfo;\n }\n }\n}\n\nfunction makeMapperParam(axisInfo) {\n var axisModel = axisInfo.axis.model;\n var item = {};\n var dim = item.axisDim = axisInfo.axis.dim;\n item.axisIndex = item[dim + 'AxisIndex'] = axisModel.componentIndex;\n item.axisName = item[dim + 'AxisName'] = axisModel.name;\n item.axisId = item[dim + 'AxisId'] = axisModel.id;\n return item;\n}\n\nfunction illegalPoint(point) {\n return !point || point[0] == null || isNaN(point[0]) || point[1] == null || isNaN(point[1]);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport AxisView from '../axis/AxisView.js';\nimport CartesianAxisPointer from './CartesianAxisPointer.js';\nimport AxisPointerModel from './AxisPointerModel.js';\nimport AxisPointerView from './AxisPointerView.js';\nimport { isArray } from 'zrender/lib/core/util.js';\nimport { collect } from './modelHelper.js';\nimport axisTrigger from './axisTrigger.js';\nexport function install(registers) {\n // CartesianAxisPointer is not supposed to be required here. But consider\n // echarts.simple.js and online build tooltip, which only require gridSimple,\n // CartesianAxisPointer should be able to required somewhere.\n AxisView.registerAxisPointerClass('CartesianAxisPointer', CartesianAxisPointer);\n registers.registerComponentModel(AxisPointerModel);\n registers.registerComponentView(AxisPointerView);\n registers.registerPreprocessor(function (option) {\n // Always has a global axisPointerModel for default setting.\n if (option) {\n (!option.axisPointer || option.axisPointer.length === 0) && (option.axisPointer = {});\n var link = option.axisPointer.link; // Normalize to array to avoid object mergin. But if link\n // is not set, remain null/undefined, otherwise it will\n // override existent link setting.\n\n if (link && !isArray(link)) {\n option.axisPointer.link = [link];\n }\n }\n }); // This process should proformed after coordinate systems created\n // and series data processed. So put it on statistic processing stage.\n\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.STATISTIC, function (ecModel, api) {\n // Build axisPointerModel, mergin tooltip.axisPointer model for each axis.\n // allAxesInfo should be updated when setOption performed.\n ecModel.getComponent('axisPointer').coordSysAxesInfo = collect(ecModel, api);\n }); // Broadcast to all views.\n\n registers.registerAction({\n type: 'updateAxisPointer',\n event: 'updateAxisPointer',\n update: ':updateAxisPointer'\n }, axisTrigger);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { install as installSimple } from './installSimple.js';\nimport { install as installAxisPointer } from '../axisPointer/install.js';\nimport { use } from '../../extension.js';\nexport function install(registers) {\n use(installSimple);\n use(installAxisPointer);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as modelUtil from '../../util/model.js';\nimport ComponentModel from '../../model/Component.js';\nimport { copyLayoutParams, mergeLayoutParam } from '../../util/layout.js';\n;\n;\n;\nexport function setKeyInfoToNewElOption(resultItem, newElOption) {\n var existElOption = resultItem.existing; // Set id and type after id assigned.\n\n newElOption.id = resultItem.keyInfo.id;\n !newElOption.type && existElOption && (newElOption.type = existElOption.type); // Set parent id if not specified\n\n if (newElOption.parentId == null) {\n var newElParentOption = newElOption.parentOption;\n\n if (newElParentOption) {\n newElOption.parentId = newElParentOption.id;\n } else if (existElOption) {\n newElOption.parentId = existElOption.parentId;\n }\n } // Clear\n\n\n newElOption.parentOption = null;\n}\n\nfunction isSetLoc(obj, props) {\n var isSet;\n zrUtil.each(props, function (prop) {\n obj[prop] != null && obj[prop] !== 'auto' && (isSet = true);\n });\n return isSet;\n}\n\nfunction mergeNewElOptionToExist(existList, index, newElOption) {\n // Update existing options, for `getOption` feature.\n var newElOptCopy = zrUtil.extend({}, newElOption);\n var existElOption = existList[index];\n var $action = newElOption.$action || 'merge';\n\n if ($action === 'merge') {\n if (existElOption) {\n if (process.env.NODE_ENV !== 'production') {\n var newType = newElOption.type;\n zrUtil.assert(!newType || existElOption.type === newType, 'Please set $action: \"replace\" to change `type`');\n } // We can ensure that newElOptCopy and existElOption are not\n // the same object, so `merge` will not change newElOptCopy.\n\n\n zrUtil.merge(existElOption, newElOptCopy, true); // Rigid body, use ignoreSize.\n\n mergeLayoutParam(existElOption, newElOptCopy, {\n ignoreSize: true\n }); // Will be used in render.\n\n copyLayoutParams(newElOption, existElOption); // Copy transition info to new option so it can be used in the transition.\n // DO IT AFTER merge\n\n copyTransitionInfo(newElOption, existElOption);\n copyTransitionInfo(newElOption, existElOption, 'shape');\n copyTransitionInfo(newElOption, existElOption, 'style');\n copyTransitionInfo(newElOption, existElOption, 'extra'); // Copy clipPath\n\n newElOption.clipPath = existElOption.clipPath;\n } else {\n existList[index] = newElOptCopy;\n }\n } else if ($action === 'replace') {\n existList[index] = newElOptCopy;\n } else if ($action === 'remove') {\n // null will be cleaned later.\n existElOption && (existList[index] = null);\n }\n}\n\nvar TRANSITION_PROPS_TO_COPY = ['transition', 'enterFrom', 'leaveTo'];\nvar ROOT_TRANSITION_PROPS_TO_COPY = TRANSITION_PROPS_TO_COPY.concat(['enterAnimation', 'updateAnimation', 'leaveAnimation']);\n\nfunction copyTransitionInfo(target, source, targetProp) {\n if (targetProp) {\n if (!target[targetProp] && source[targetProp]) {\n // TODO avoid creating this empty object when there is no transition configuration.\n target[targetProp] = {};\n }\n\n target = target[targetProp];\n source = source[targetProp];\n }\n\n if (!target || !source) {\n return;\n }\n\n var props = targetProp ? TRANSITION_PROPS_TO_COPY : ROOT_TRANSITION_PROPS_TO_COPY;\n\n for (var i = 0; i < props.length; i++) {\n var prop = props[i];\n\n if (target[prop] == null && source[prop] != null) {\n target[prop] = source[prop];\n }\n }\n}\n\nfunction setLayoutInfoToExist(existItem, newElOption) {\n if (!existItem) {\n return;\n }\n\n existItem.hv = newElOption.hv = [// Rigid body, don't care about `width`.\n isSetLoc(newElOption, ['left', 'right']), // Rigid body, don't care about `height`.\n isSetLoc(newElOption, ['top', 'bottom'])]; // Give default group size. Otherwise layout error may occur.\n\n if (existItem.type === 'group') {\n var existingGroupOpt = existItem;\n var newGroupOpt = newElOption;\n existingGroupOpt.width == null && (existingGroupOpt.width = newGroupOpt.width = 0);\n existingGroupOpt.height == null && (existingGroupOpt.height = newGroupOpt.height = 0);\n }\n}\n\nvar GraphicComponentModel =\n/** @class */\nfunction (_super) {\n __extends(GraphicComponentModel, _super);\n\n function GraphicComponentModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = GraphicComponentModel.type;\n _this.preventAutoZ = true;\n return _this;\n }\n\n GraphicComponentModel.prototype.mergeOption = function (option, ecModel) {\n // Prevent default merge to elements\n var elements = this.option.elements;\n this.option.elements = null;\n\n _super.prototype.mergeOption.call(this, option, ecModel);\n\n this.option.elements = elements;\n };\n\n GraphicComponentModel.prototype.optionUpdated = function (newOption, isInit) {\n var thisOption = this.option;\n var newList = (isInit ? thisOption : newOption).elements;\n var existList = thisOption.elements = isInit ? [] : thisOption.elements;\n var flattenedList = [];\n\n this._flatten(newList, flattenedList, null);\n\n var mappingResult = modelUtil.mappingToExists(existList, flattenedList, 'normalMerge'); // Clear elOptionsToUpdate\n\n var elOptionsToUpdate = this._elOptionsToUpdate = [];\n zrUtil.each(mappingResult, function (resultItem, index) {\n var newElOption = resultItem.newOption;\n\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.assert(zrUtil.isObject(newElOption) || resultItem.existing, 'Empty graphic option definition');\n }\n\n if (!newElOption) {\n return;\n }\n\n elOptionsToUpdate.push(newElOption);\n setKeyInfoToNewElOption(resultItem, newElOption);\n mergeNewElOptionToExist(existList, index, newElOption);\n setLayoutInfoToExist(existList[index], newElOption);\n }, this); // Clean\n\n thisOption.elements = zrUtil.filter(existList, function (item) {\n // $action should be volatile, otherwise option gotten from\n // `getOption` will contain unexpected $action.\n item && delete item.$action;\n return item != null;\n });\n };\n /**\r\n * Convert\r\n * [{\r\n * type: 'group',\r\n * id: 'xx',\r\n * children: [{type: 'circle'}, {type: 'polygon'}]\r\n * }]\r\n * to\r\n * [\r\n * {type: 'group', id: 'xx'},\r\n * {type: 'circle', parentId: 'xx'},\r\n * {type: 'polygon', parentId: 'xx'}\r\n * ]\r\n */\n\n\n GraphicComponentModel.prototype._flatten = function (optionList, result, parentOption) {\n zrUtil.each(optionList, function (option) {\n if (!option) {\n return;\n }\n\n if (parentOption) {\n option.parentOption = parentOption;\n }\n\n result.push(option);\n var children = option.children; // here we don't judge if option.type is `group`\n // when new option doesn't provide `type`, it will cause that the children can't be updated.\n\n if (children && children.length) {\n this._flatten(children, result, option);\n } // Deleting for JSON output, and for not affecting group creation.\n\n\n delete option.children;\n }, this);\n }; // FIXME\n // Pass to view using payload? setOption has a payload?\n\n\n GraphicComponentModel.prototype.useElOptionsToUpdate = function () {\n var els = this._elOptionsToUpdate; // Clear to avoid render duplicately when zooming.\n\n this._elOptionsToUpdate = null;\n return els;\n };\n\n GraphicComponentModel.type = 'graphic';\n GraphicComponentModel.defaultOption = {\n elements: [] // parentId: null\n\n };\n return GraphicComponentModel;\n}(ComponentModel);\n\nexport { GraphicComponentModel };","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport Displayable from 'zrender/lib/graphic/Displayable.js';\nimport * as modelUtil from '../../util/model.js';\nimport * as graphicUtil from '../../util/graphic.js';\nimport * as layoutUtil from '../../util/layout.js';\nimport { parsePercent } from '../../util/number.js';\nimport ComponentView from '../../view/Component.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { isEC4CompatibleStyle, convertFromEC4CompatibleStyle } from '../../util/styleCompat.js';\nimport { applyLeaveTransition, applyUpdateTransition, isTransitionAll, updateLeaveTo } from '../../animation/customGraphicTransition.js';\nimport { updateProps } from '../../animation/basicTransition.js';\nimport { applyKeyframeAnimation, stopPreviousKeyframeAnimationAndRestore } from '../../animation/customGraphicKeyframeAnimation.js';\nvar nonShapeGraphicElements = {\n // Reserved but not supported in graphic component.\n path: null,\n compoundPath: null,\n // Supported in graphic component.\n group: graphicUtil.Group,\n image: graphicUtil.Image,\n text: graphicUtil.Text\n};\nexport var inner = modelUtil.makeInner(); // ------------------------\n// View\n// ------------------------\n\nvar GraphicComponentView =\n/** @class */\nfunction (_super) {\n __extends(GraphicComponentView, _super);\n\n function GraphicComponentView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = GraphicComponentView.type;\n return _this;\n }\n\n GraphicComponentView.prototype.init = function () {\n this._elMap = zrUtil.createHashMap();\n };\n\n GraphicComponentView.prototype.render = function (graphicModel, ecModel, api) {\n // Having leveraged between use cases and algorithm complexity, a very\n // simple layout mechanism is used:\n // The size(width/height) can be determined by itself or its parent (not\n // implemented yet), but can not by its children. (Top-down travel)\n // The location(x/y) can be determined by the bounding rect of itself\n // (can including its descendants or not) and the size of its parent.\n // (Bottom-up travel)\n // When `chart.clear()` or `chart.setOption({...}, true)` with the same id,\n // view will be reused.\n if (graphicModel !== this._lastGraphicModel) {\n this._clear();\n }\n\n this._lastGraphicModel = graphicModel;\n\n this._updateElements(graphicModel);\n\n this._relocate(graphicModel, api);\n };\n /**\r\n * Update graphic elements.\r\n */\n\n\n GraphicComponentView.prototype._updateElements = function (graphicModel) {\n var elOptionsToUpdate = graphicModel.useElOptionsToUpdate();\n\n if (!elOptionsToUpdate) {\n return;\n }\n\n var elMap = this._elMap;\n var rootGroup = this.group;\n var globalZ = graphicModel.get('z');\n var globalZLevel = graphicModel.get('zlevel'); // Top-down tranverse to assign graphic settings to each elements.\n\n zrUtil.each(elOptionsToUpdate, function (elOption) {\n var id = modelUtil.convertOptionIdName(elOption.id, null);\n var elExisting = id != null ? elMap.get(id) : null;\n var parentId = modelUtil.convertOptionIdName(elOption.parentId, null);\n var targetElParent = parentId != null ? elMap.get(parentId) : rootGroup;\n var elType = elOption.type;\n var elOptionStyle = elOption.style;\n\n if (elType === 'text' && elOptionStyle) {\n // In top/bottom mode, textVerticalAlign should not be used, which cause\n // inaccurately locating.\n if (elOption.hv && elOption.hv[1]) {\n elOptionStyle.textVerticalAlign = elOptionStyle.textBaseline = elOptionStyle.verticalAlign = elOptionStyle.align = null;\n }\n }\n\n var textContentOption = elOption.textContent;\n var textConfig = elOption.textConfig;\n\n if (elOptionStyle && isEC4CompatibleStyle(elOptionStyle, elType, !!textConfig, !!textContentOption)) {\n var convertResult = convertFromEC4CompatibleStyle(elOptionStyle, elType, true);\n\n if (!textConfig && convertResult.textConfig) {\n textConfig = elOption.textConfig = convertResult.textConfig;\n }\n\n if (!textContentOption && convertResult.textContent) {\n textContentOption = convertResult.textContent;\n }\n } // Remove unnecessary props to avoid potential problems.\n\n\n var elOptionCleaned = getCleanedElOption(elOption); // For simple, do not support parent change, otherwise reorder is needed.\n\n if (process.env.NODE_ENV !== 'production') {\n elExisting && zrUtil.assert(targetElParent === elExisting.parent, 'Changing parent is not supported.');\n }\n\n var $action = elOption.$action || 'merge';\n var isMerge = $action === 'merge';\n var isReplace = $action === 'replace';\n\n if (isMerge) {\n var isInit = !elExisting;\n var el_1 = elExisting;\n\n if (isInit) {\n el_1 = createEl(id, targetElParent, elOption.type, elMap);\n } else {\n el_1 && (inner(el_1).isNew = false); // Stop and restore before update any other attributes.\n\n stopPreviousKeyframeAnimationAndRestore(el_1);\n }\n\n if (el_1) {\n applyUpdateTransition(el_1, elOptionCleaned, graphicModel, {\n isInit: isInit\n });\n updateCommonAttrs(el_1, elOption, globalZ, globalZLevel);\n }\n } else if (isReplace) {\n removeEl(elExisting, elOption, elMap, graphicModel);\n var el_2 = createEl(id, targetElParent, elOption.type, elMap);\n\n if (el_2) {\n applyUpdateTransition(el_2, elOptionCleaned, graphicModel, {\n isInit: true\n });\n updateCommonAttrs(el_2, elOption, globalZ, globalZLevel);\n }\n } else if ($action === 'remove') {\n updateLeaveTo(elExisting, elOption);\n removeEl(elExisting, elOption, elMap, graphicModel);\n }\n\n var el = elMap.get(id);\n\n if (el && textContentOption) {\n if (isMerge) {\n var textContentExisting = el.getTextContent();\n textContentExisting ? textContentExisting.attr(textContentOption) : el.setTextContent(new graphicUtil.Text(textContentOption));\n } else if (isReplace) {\n el.setTextContent(new graphicUtil.Text(textContentOption));\n }\n }\n\n if (el) {\n var clipPathOption = elOption.clipPath;\n\n if (clipPathOption) {\n var clipPathType = clipPathOption.type;\n var clipPath = void 0;\n var isInit = false;\n\n if (isMerge) {\n var oldClipPath = el.getClipPath();\n isInit = !oldClipPath || inner(oldClipPath).type !== clipPathType;\n clipPath = isInit ? newEl(clipPathType) : oldClipPath;\n } else if (isReplace) {\n isInit = true;\n clipPath = newEl(clipPathType);\n }\n\n el.setClipPath(clipPath);\n applyUpdateTransition(clipPath, clipPathOption, graphicModel, {\n isInit: isInit\n });\n applyKeyframeAnimation(clipPath, clipPathOption.keyframeAnimation, graphicModel);\n }\n\n var elInner = inner(el);\n el.setTextConfig(textConfig);\n elInner.option = elOption;\n setEventData(el, graphicModel, elOption);\n graphicUtil.setTooltipConfig({\n el: el,\n componentModel: graphicModel,\n itemName: el.name,\n itemTooltipOption: elOption.tooltip\n });\n applyKeyframeAnimation(el, elOption.keyframeAnimation, graphicModel);\n }\n });\n };\n /**\r\n * Locate graphic elements.\r\n */\n\n\n GraphicComponentView.prototype._relocate = function (graphicModel, api) {\n var elOptions = graphicModel.option.elements;\n var rootGroup = this.group;\n var elMap = this._elMap;\n var apiWidth = api.getWidth();\n var apiHeight = api.getHeight();\n var xy = ['x', 'y']; // Top-down to calculate percentage width/height of group\n\n for (var i = 0; i < elOptions.length; i++) {\n var elOption = elOptions[i];\n var id = modelUtil.convertOptionIdName(elOption.id, null);\n var el = id != null ? elMap.get(id) : null;\n\n if (!el || !el.isGroup) {\n continue;\n }\n\n var parentEl = el.parent;\n var isParentRoot = parentEl === rootGroup; // Like 'position:absolut' in css, default 0.\n\n var elInner = inner(el);\n var parentElInner = inner(parentEl);\n elInner.width = parsePercent(elInner.option.width, isParentRoot ? apiWidth : parentElInner.width) || 0;\n elInner.height = parsePercent(elInner.option.height, isParentRoot ? apiHeight : parentElInner.height) || 0;\n } // Bottom-up tranvese all elements (consider ec resize) to locate elements.\n\n\n for (var i = elOptions.length - 1; i >= 0; i--) {\n var elOption = elOptions[i];\n var id = modelUtil.convertOptionIdName(elOption.id, null);\n var el = id != null ? elMap.get(id) : null;\n\n if (!el) {\n continue;\n }\n\n var parentEl = el.parent;\n var parentElInner = inner(parentEl);\n var containerInfo = parentEl === rootGroup ? {\n width: apiWidth,\n height: apiHeight\n } : {\n width: parentElInner.width,\n height: parentElInner.height\n }; // PENDING\n // Currently, when `bounding: 'all'`, the union bounding rect of the group\n // does not include the rect of [0, 0, group.width, group.height], which\n // is probably weird for users. Should we make a break change for it?\n\n var layoutPos = {};\n var layouted = layoutUtil.positionElement(el, elOption, containerInfo, null, {\n hv: elOption.hv,\n boundingMode: elOption.bounding\n }, layoutPos);\n\n if (!inner(el).isNew && layouted) {\n var transition = elOption.transition;\n var animatePos = {};\n\n for (var k = 0; k < xy.length; k++) {\n var key = xy[k];\n var val = layoutPos[key];\n\n if (transition && (isTransitionAll(transition) || zrUtil.indexOf(transition, key) >= 0)) {\n animatePos[key] = val;\n } else {\n el[key] = val;\n }\n }\n\n updateProps(el, animatePos, graphicModel, 0);\n } else {\n el.attr(layoutPos);\n }\n }\n };\n /**\r\n * Clear all elements.\r\n */\n\n\n GraphicComponentView.prototype._clear = function () {\n var _this = this;\n\n var elMap = this._elMap;\n elMap.each(function (el) {\n removeEl(el, inner(el).option, elMap, _this._lastGraphicModel);\n });\n this._elMap = zrUtil.createHashMap();\n };\n\n GraphicComponentView.prototype.dispose = function () {\n this._clear();\n };\n\n GraphicComponentView.type = 'graphic';\n return GraphicComponentView;\n}(ComponentView);\n\nexport { GraphicComponentView };\n\nfunction newEl(graphicType) {\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.assert(graphicType, 'graphic type MUST be set');\n }\n\n var Clz = zrUtil.hasOwn(nonShapeGraphicElements, graphicType) // Those graphic elements are not shapes. They should not be\n // overwritten by users, so do them first.\n ? nonShapeGraphicElements[graphicType] : graphicUtil.getShapeClass(graphicType);\n\n if (process.env.NODE_ENV !== 'production') {\n zrUtil.assert(Clz, \"graphic type \" + graphicType + \" can not be found\");\n }\n\n var el = new Clz({});\n inner(el).type = graphicType;\n return el;\n}\n\nfunction createEl(id, targetElParent, graphicType, elMap) {\n var el = newEl(graphicType);\n targetElParent.add(el);\n elMap.set(id, el);\n inner(el).id = id;\n inner(el).isNew = true;\n return el;\n}\n\nfunction removeEl(elExisting, elOption, elMap, graphicModel) {\n var existElParent = elExisting && elExisting.parent;\n\n if (existElParent) {\n elExisting.type === 'group' && elExisting.traverse(function (el) {\n removeEl(el, elOption, elMap, graphicModel);\n });\n applyLeaveTransition(elExisting, elOption, graphicModel);\n elMap.removeKey(inner(elExisting).id);\n }\n}\n\nfunction updateCommonAttrs(el, elOption, defaultZ, defaultZlevel) {\n if (!el.isGroup) {\n zrUtil.each([['cursor', Displayable.prototype.cursor], // We should not support configure z and zlevel in the element level.\n // But seems we didn't limit it previously. So here still use it to avoid breaking.\n ['zlevel', defaultZlevel || 0], ['z', defaultZ || 0], // z2 must not be null/undefined, otherwise sort error may occur.\n ['z2', 0]], function (item) {\n var prop = item[0];\n\n if (zrUtil.hasOwn(elOption, prop)) {\n el[prop] = zrUtil.retrieve2(elOption[prop], item[1]);\n } else if (el[prop] == null) {\n el[prop] = item[1];\n }\n });\n }\n\n zrUtil.each(zrUtil.keys(elOption), function (key) {\n // Assign event handlers.\n // PENDING: should enumerate all event names or use pattern matching?\n if (key.indexOf('on') === 0) {\n var val = elOption[key];\n el[key] = zrUtil.isFunction(val) ? val : null;\n }\n });\n\n if (zrUtil.hasOwn(elOption, 'draggable')) {\n el.draggable = elOption.draggable;\n } // Other attributes\n\n\n elOption.name != null && (el.name = elOption.name);\n elOption.id != null && (el.id = elOption.id);\n} // Remove unnecessary props to avoid potential problems.\n\n\nfunction getCleanedElOption(elOption) {\n elOption = zrUtil.extend({}, elOption);\n zrUtil.each(['id', 'parentId', '$action', 'hv', 'bounding', 'textContent', 'clipPath'].concat(layoutUtil.LOCATION_PARAMS), function (name) {\n delete elOption[name];\n });\n return elOption;\n}\n\nfunction setEventData(el, graphicModel, elOption) {\n var eventData = getECData(el).eventData; // Simple optimize for large amount of elements that no need event.\n\n if (!el.silent && !el.ignore && !eventData) {\n eventData = getECData(el).eventData = {\n componentType: 'graphic',\n componentIndex: graphicModel.componentIndex,\n name: el.name\n };\n } // `elOption.info` enables user to mount some info on\n // elements and use them in event handlers.\n\n\n if (eventData) {\n eventData.info = elOption.info;\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isArray } from 'zrender/lib/core/util.js';\nimport { GraphicComponentModel } from './GraphicModel.js';\nimport { GraphicComponentView } from './GraphicView.js';\nexport function install(registers) {\n registers.registerComponentModel(GraphicComponentModel);\n registers.registerComponentView(GraphicComponentView);\n registers.registerPreprocessor(function (option) {\n var graphicOption = option.graphic; // Convert\n // {graphic: [{left: 10, type: 'circle'}, ...]}\n // or\n // {graphic: {left: 10, type: 'circle'}}\n // to\n // {graphic: [{elements: [{left: 10, type: 'circle'}, ...]}]}\n\n if (isArray(graphicOption)) {\n if (!graphicOption[0] || !graphicOption[0].elements) {\n option.graphic = [{\n elements: graphicOption\n }];\n } else {\n // Only one graphic instance can be instantiated. (We don't\n // want that too many views are created in echarts._viewMap.)\n option.graphic = [option.graphic[0]];\n }\n } else if (graphicOption && !graphicOption.elements) {\n option.graphic = [{\n elements: [graphicOption]\n }];\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\nimport { getLayoutRect, box as layoutBox, positionElement } from '../../util/layout.js';\nimport * as formatUtil from '../../util/format.js';\nimport * as graphic from '../../util/graphic.js';\n/**\r\n * Layout list like component.\r\n * It will box layout each items in group of component and then position the whole group in the viewport\r\n * @param {module:zrender/group/Group} group\r\n * @param {module:echarts/model/Component} componentModel\r\n * @param {module:echarts/ExtensionAPI}\r\n */\n\nexport function layout(group, componentModel, api) {\n var boxLayoutParams = componentModel.getBoxLayoutParams();\n var padding = componentModel.get('padding');\n var viewportSize = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var rect = getLayoutRect(boxLayoutParams, viewportSize, padding);\n layoutBox(componentModel.get('orient'), group, componentModel.get('itemGap'), rect.width, rect.height);\n positionElement(group, boxLayoutParams, viewportSize, padding);\n}\nexport function makeBackground(rect, componentModel) {\n var padding = formatUtil.normalizeCssArray(componentModel.get('padding'));\n var style = componentModel.getItemStyle(['color', 'opacity']);\n style.fill = componentModel.get('backgroundColor');\n rect = new graphic.Rect({\n shape: {\n x: rect.x - padding[3],\n y: rect.y - padding[0],\n width: rect.width + padding[1] + padding[3],\n height: rect.height + padding[0] + padding[2],\n r: componentModel.get('borderRadius')\n },\n style: style,\n silent: true,\n z2: -1\n }); // FIXME\n // `subPixelOptimizeRect` may bring some gap between edge of viewpart\n // and background rect when setting like `left: 0`, `top: 0`.\n // graphic.subPixelOptimizeRect(rect);\n\n return rect;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport ComponentModel from '../../model/Component.js';\n\nvar TooltipModel =\n/** @class */\nfunction (_super) {\n __extends(TooltipModel, _super);\n\n function TooltipModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TooltipModel.type;\n return _this;\n }\n\n TooltipModel.type = 'tooltip';\n TooltipModel.dependencies = ['axisPointer'];\n TooltipModel.defaultOption = {\n // zlevel: 0,\n z: 60,\n show: true,\n // tooltip main content\n showContent: true,\n // 'trigger' only works on coordinate system.\n // 'item' | 'axis' | 'none'\n trigger: 'item',\n // 'click' | 'mousemove' | 'none'\n triggerOn: 'mousemove|click',\n alwaysShowContent: false,\n displayMode: 'single',\n renderMode: 'auto',\n // whether restraint content inside viewRect.\n // If renderMode: 'richText', default true.\n // If renderMode: 'html', defaut false (for backward compat).\n confine: null,\n showDelay: 0,\n hideDelay: 100,\n // Animation transition time, unit is second\n transitionDuration: 0.4,\n enterable: false,\n backgroundColor: '#fff',\n // box shadow\n shadowBlur: 10,\n shadowColor: 'rgba(0, 0, 0, .2)',\n shadowOffsetX: 1,\n shadowOffsetY: 2,\n // tooltip border radius, unit is px, default is 4\n borderRadius: 4,\n // tooltip border width, unit is px, default is 0 (no border)\n borderWidth: 1,\n // Tooltip inside padding, default is 5 for all direction\n // Array is allowed to set up, right, bottom, left, same with css\n // The default value: See `tooltip/tooltipMarkup.ts#getPaddingFromTooltipModel`.\n padding: null,\n // Extra css text\n extraCssText: '',\n // axis indicator, trigger by axis\n axisPointer: {\n // default is line\n // legal values: 'line' | 'shadow' | 'cross'\n type: 'line',\n // Valid when type is line, appoint tooltip line locate on which line. Optional\n // legal values: 'x' | 'y' | 'angle' | 'radius' | 'auto'\n // default is 'auto', chose the axis which type is category.\n // for multiply y axis, cartesian coord chose x axis, polar chose angle axis\n axis: 'auto',\n animation: 'auto',\n animationDurationUpdate: 200,\n animationEasingUpdate: 'exponentialOut',\n crossStyle: {\n color: '#999',\n width: 1,\n type: 'dashed',\n // TODO formatter\n textStyle: {}\n } // lineStyle and shadowStyle should not be specified here,\n // otherwise it will always override those styles on option.axisPointer.\n\n },\n textStyle: {\n color: '#666',\n fontSize: 14\n }\n };\n return TooltipModel;\n}(ComponentModel);\n\nexport default TooltipModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { toCamelCase } from '../../util/format.js';\nimport env from 'zrender/lib/core/env.js';\n/* global document */\n\nexport function shouldTooltipConfine(tooltipModel) {\n var confineOption = tooltipModel.get('confine');\n return confineOption != null ? !!confineOption // In richText mode, the outside part can not be visible.\n : tooltipModel.get('renderMode') === 'richText';\n}\n\nfunction testStyle(styleProps) {\n if (!env.domSupported) {\n return;\n }\n\n var style = document.documentElement.style;\n\n for (var i = 0, len = styleProps.length; i < len; i++) {\n if (styleProps[i] in style) {\n return styleProps[i];\n }\n }\n}\n\nexport var TRANSFORM_VENDOR = testStyle(['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform']);\nexport var TRANSITION_VENDOR = testStyle(['webkitTransition', 'transition', 'OTransition', 'MozTransition', 'msTransition']);\nexport function toCSSVendorPrefix(styleVendor, styleProp) {\n if (!styleVendor) {\n return styleProp;\n }\n\n styleProp = toCamelCase(styleProp, true);\n var idx = styleVendor.indexOf(styleProp);\n styleVendor = idx === -1 ? styleProp : \"-\" + styleVendor.slice(0, idx) + \"-\" + styleProp;\n return styleVendor.toLowerCase();\n}\nexport function getComputedStyle(el, style) {\n var stl = el.currentStyle || document.defaultView && document.defaultView.getComputedStyle(el);\n return stl ? style ? stl[style] : stl : null;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isString, indexOf, each, bind, isArray, isDom } from 'zrender/lib/core/util.js';\nimport { normalizeEvent } from 'zrender/lib/core/event.js';\nimport { transformLocalCoord } from 'zrender/lib/core/dom.js';\nimport env from 'zrender/lib/core/env.js';\nimport { convertToColorString, toCamelCase, normalizeCssArray } from '../../util/format.js';\nimport { shouldTooltipConfine, toCSSVendorPrefix, getComputedStyle, TRANSFORM_VENDOR, TRANSITION_VENDOR } from './helper.js';\nimport { getPaddingFromTooltipModel } from './tooltipMarkup.js';\n/* global document, window */\n\nvar CSS_TRANSITION_VENDOR = toCSSVendorPrefix(TRANSITION_VENDOR, 'transition');\nvar CSS_TRANSFORM_VENDOR = toCSSVendorPrefix(TRANSFORM_VENDOR, 'transform'); // eslint-disable-next-line\n\nvar gCssText = \"position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;\" + (env.transform3dSupported ? 'will-change:transform;' : '');\n\nfunction mirrorPos(pos) {\n pos = pos === 'left' ? 'right' : pos === 'right' ? 'left' : pos === 'top' ? 'bottom' : 'top';\n return pos;\n}\n\nfunction assembleArrow(tooltipModel, borderColor, arrowPosition) {\n if (!isString(arrowPosition) || arrowPosition === 'inside') {\n return '';\n }\n\n var backgroundColor = tooltipModel.get('backgroundColor');\n var borderWidth = tooltipModel.get('borderWidth');\n borderColor = convertToColorString(borderColor);\n var arrowPos = mirrorPos(arrowPosition);\n var arrowSize = Math.max(Math.round(borderWidth) * 1.5, 6);\n var positionStyle = '';\n var transformStyle = CSS_TRANSFORM_VENDOR + ':';\n var rotateDeg;\n\n if (indexOf(['left', 'right'], arrowPos) > -1) {\n positionStyle += 'top:50%';\n transformStyle += \"translateY(-50%) rotate(\" + (rotateDeg = arrowPos === 'left' ? -225 : -45) + \"deg)\";\n } else {\n positionStyle += 'left:50%';\n transformStyle += \"translateX(-50%) rotate(\" + (rotateDeg = arrowPos === 'top' ? 225 : 45) + \"deg)\";\n }\n\n var rotateRadian = rotateDeg * Math.PI / 180;\n var arrowWH = arrowSize + borderWidth;\n var rotatedWH = arrowWH * Math.abs(Math.cos(rotateRadian)) + arrowWH * Math.abs(Math.sin(rotateRadian));\n var arrowOffset = Math.round(((rotatedWH - Math.SQRT2 * borderWidth) / 2 + Math.SQRT2 * borderWidth - (rotatedWH - arrowWH) / 2) * 100) / 100;\n positionStyle += \";\" + arrowPos + \":-\" + arrowOffset + \"px\";\n var borderStyle = borderColor + \" solid \" + borderWidth + \"px;\";\n var styleCss = [\"position:absolute;width:\" + arrowSize + \"px;height:\" + arrowSize + \"px;z-index:-1;\", positionStyle + \";\" + transformStyle + \";\", \"border-bottom:\" + borderStyle, \"border-right:\" + borderStyle, \"background-color:\" + backgroundColor + \";\"];\n return \"
\";\n}\n\nfunction assembleTransition(duration, onlyFade) {\n var transitionCurve = 'cubic-bezier(0.23,1,0.32,1)';\n var transitionOption = \" \" + duration / 2 + \"s \" + transitionCurve;\n var transitionText = \"opacity\" + transitionOption + \",visibility\" + transitionOption;\n\n if (!onlyFade) {\n transitionOption = \" \" + duration + \"s \" + transitionCurve;\n transitionText += env.transformSupported ? \",\" + CSS_TRANSFORM_VENDOR + transitionOption : \",left\" + transitionOption + \",top\" + transitionOption;\n }\n\n return CSS_TRANSITION_VENDOR + ':' + transitionText;\n}\n\nfunction assembleTransform(x, y, toString) {\n // If using float on style, the final width of the dom might\n // keep changing slightly while mouse move. So `toFixed(0)` them.\n var x0 = x.toFixed(0) + 'px';\n var y0 = y.toFixed(0) + 'px'; // not support transform, use `left` and `top` instead.\n\n if (!env.transformSupported) {\n return toString ? \"top:\" + y0 + \";left:\" + x0 + \";\" : [['top', y0], ['left', x0]];\n } // support transform\n\n\n var is3d = env.transform3dSupported;\n var translate = \"translate\" + (is3d ? '3d' : '') + \"(\" + x0 + \",\" + y0 + (is3d ? ',0' : '') + \")\";\n return toString ? 'top:0;left:0;' + CSS_TRANSFORM_VENDOR + ':' + translate + ';' : [['top', 0], ['left', 0], [TRANSFORM_VENDOR, translate]];\n}\n/**\r\n * @param {Object} textStyle\r\n * @return {string}\r\n * @inner\r\n */\n\n\nfunction assembleFont(textStyleModel) {\n var cssText = [];\n var fontSize = textStyleModel.get('fontSize');\n var color = textStyleModel.getTextColor();\n color && cssText.push('color:' + color);\n cssText.push('font:' + textStyleModel.getFont());\n fontSize // @ts-ignore, leave it to the tooltip refactor.\n && cssText.push('line-height:' + Math.round(fontSize * 3 / 2) + 'px');\n var shadowColor = textStyleModel.get('textShadowColor');\n var shadowBlur = textStyleModel.get('textShadowBlur') || 0;\n var shadowOffsetX = textStyleModel.get('textShadowOffsetX') || 0;\n var shadowOffsetY = textStyleModel.get('textShadowOffsetY') || 0;\n shadowColor && shadowBlur && cssText.push('text-shadow:' + shadowOffsetX + 'px ' + shadowOffsetY + 'px ' + shadowBlur + 'px ' + shadowColor);\n each(['decoration', 'align'], function (name) {\n var val = textStyleModel.get(name);\n val && cssText.push('text-' + name + ':' + val);\n });\n return cssText.join(';');\n}\n\nfunction assembleCssText(tooltipModel, enableTransition, onlyFade) {\n var cssText = [];\n var transitionDuration = tooltipModel.get('transitionDuration');\n var backgroundColor = tooltipModel.get('backgroundColor');\n var shadowBlur = tooltipModel.get('shadowBlur');\n var shadowColor = tooltipModel.get('shadowColor');\n var shadowOffsetX = tooltipModel.get('shadowOffsetX');\n var shadowOffsetY = tooltipModel.get('shadowOffsetY');\n var textStyleModel = tooltipModel.getModel('textStyle');\n var padding = getPaddingFromTooltipModel(tooltipModel, 'html');\n var boxShadow = shadowOffsetX + \"px \" + shadowOffsetY + \"px \" + shadowBlur + \"px \" + shadowColor;\n cssText.push('box-shadow:' + boxShadow); // Animation transition. Do not animate when transitionDuration is 0.\n\n enableTransition && transitionDuration && cssText.push(assembleTransition(transitionDuration, onlyFade));\n\n if (backgroundColor) {\n cssText.push('background-color:' + backgroundColor);\n } // Border style\n\n\n each(['width', 'color', 'radius'], function (name) {\n var borderName = 'border-' + name;\n var camelCase = toCamelCase(borderName);\n var val = tooltipModel.get(camelCase);\n val != null && cssText.push(borderName + ':' + val + (name === 'color' ? '' : 'px'));\n }); // Text style\n\n cssText.push(assembleFont(textStyleModel)); // Padding\n\n if (padding != null) {\n cssText.push('padding:' + normalizeCssArray(padding).join('px ') + 'px');\n }\n\n return cssText.join(';') + ';';\n} // If not able to make, do not modify the input `out`.\n\n\nfunction makeStyleCoord(out, zr, appendToBody, zrX, zrY) {\n var zrPainter = zr && zr.painter;\n\n if (appendToBody) {\n var zrViewportRoot = zrPainter && zrPainter.getViewportRoot();\n\n if (zrViewportRoot) {\n // Some APPs might use scale on body, so we support CSS transform here.\n transformLocalCoord(out, zrViewportRoot, document.body, zrX, zrY);\n }\n } else {\n out[0] = zrX;\n out[1] = zrY; // xy should be based on canvas root. But tooltipContent is\n // the sibling of canvas root. So padding of ec container\n // should be considered here.\n\n var viewportRootOffset = zrPainter && zrPainter.getViewportRootOffset();\n\n if (viewportRootOffset) {\n out[0] += viewportRootOffset.offsetLeft;\n out[1] += viewportRootOffset.offsetTop;\n }\n }\n\n out[2] = out[0] / zr.getWidth();\n out[3] = out[1] / zr.getHeight();\n}\n\nvar TooltipHTMLContent =\n/** @class */\nfunction () {\n function TooltipHTMLContent(container, api, opt) {\n this._show = false;\n this._styleCoord = [0, 0, 0, 0];\n this._enterable = true;\n this._alwaysShowContent = false;\n this._firstShow = true;\n this._longHide = true;\n\n if (env.wxa) {\n return null;\n }\n\n var el = document.createElement('div'); // TODO: TYPE\n\n el.domBelongToZr = true;\n this.el = el;\n var zr = this._zr = api.getZr();\n var appendToBody = this._appendToBody = opt && opt.appendToBody;\n makeStyleCoord(this._styleCoord, zr, appendToBody, api.getWidth() / 2, api.getHeight() / 2);\n\n if (appendToBody) {\n document.body.appendChild(el);\n } else {\n container.appendChild(el);\n }\n\n this._container = container; // FIXME\n // Is it needed to trigger zr event manually if\n // the browser do not support `pointer-events: none`.\n\n var self = this;\n\n el.onmouseenter = function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n };\n\n el.onmousemove = function (e) {\n e = e || window.event;\n\n if (!self._enterable) {\n // `pointer-events: none` is set to tooltip content div\n // if `enterable` is set as `false`, and `el.onmousemove`\n // can not be triggered. But in browser that do not\n // support `pointer-events`, we need to do this:\n // Try trigger zrender event to avoid mouse\n // in and out shape too frequently\n var handler = zr.handler;\n var zrViewportRoot = zr.painter.getViewportRoot();\n normalizeEvent(zrViewportRoot, e, true);\n handler.dispatch('mousemove', e);\n }\n };\n\n el.onmouseleave = function () {\n // set `_inContent` to `false` before `hideLater`\n self._inContent = false;\n\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n };\n }\n /**\r\n * Update when tooltip is rendered\r\n */\n\n\n TooltipHTMLContent.prototype.update = function (tooltipModel) {\n // FIXME\n // Move this logic to ec main?\n var container = this._container;\n var position = getComputedStyle(container, 'position');\n var domStyle = container.style;\n\n if (domStyle.position !== 'absolute' && position !== 'absolute') {\n domStyle.position = 'relative';\n } // move tooltip if chart resized\n\n\n var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n alwaysShowContent && this._moveIfResized(); // update alwaysShowContent\n\n this._alwaysShowContent = alwaysShowContent; // update className\n\n this.el.className = tooltipModel.get('className') || ''; // Hide the tooltip\n // PENDING\n // this.hide();\n };\n\n TooltipHTMLContent.prototype.show = function (tooltipModel, nearPointColor) {\n clearTimeout(this._hideTimeout);\n clearTimeout(this._longHideTimeout);\n var el = this.el;\n var style = el.style;\n var styleCoord = this._styleCoord;\n\n if (!el.innerHTML) {\n style.display = 'none';\n } else {\n style.cssText = gCssText + assembleCssText(tooltipModel, !this._firstShow, this._longHide) // initial transform\n + assembleTransform(styleCoord[0], styleCoord[1], true) + (\"border-color:\" + convertToColorString(nearPointColor) + \";\") + (tooltipModel.get('extraCssText') || '') // If mouse occasionally move over the tooltip, a mouseout event will be\n // triggered by canvas, and cause some unexpectable result like dragging\n // stop, \"unfocusAdjacency\". Here `pointer-events: none` is used to solve\n // it. Although it is not supported by IE8~IE10, fortunately it is a rare\n // scenario.\n + (\";pointer-events:\" + (this._enterable ? 'auto' : 'none'));\n }\n\n this._show = true;\n this._firstShow = false;\n this._longHide = false;\n };\n\n TooltipHTMLContent.prototype.setContent = function (content, markers, tooltipModel, borderColor, arrowPosition) {\n var el = this.el;\n\n if (content == null) {\n el.innerHTML = '';\n return;\n }\n\n var arrow = '';\n\n if (isString(arrowPosition) && tooltipModel.get('trigger') === 'item' && !shouldTooltipConfine(tooltipModel)) {\n arrow = assembleArrow(tooltipModel, borderColor, arrowPosition);\n }\n\n if (isString(content)) {\n el.innerHTML = content + arrow;\n } else if (content) {\n // Clear previous\n el.innerHTML = '';\n\n if (!isArray(content)) {\n content = [content];\n }\n\n for (var i = 0; i < content.length; i++) {\n if (isDom(content[i]) && content[i].parentNode !== el) {\n el.appendChild(content[i]);\n }\n } // no arrow if empty\n\n\n if (arrow && el.childNodes.length) {\n // no need to create a new parent element, but it's not supported by IE 10 and older.\n // const arrowEl = document.createRange().createContextualFragment(arrow);\n var arrowEl = document.createElement('div');\n arrowEl.innerHTML = arrow;\n el.appendChild(arrowEl);\n }\n }\n };\n\n TooltipHTMLContent.prototype.setEnterable = function (enterable) {\n this._enterable = enterable;\n };\n\n TooltipHTMLContent.prototype.getSize = function () {\n var el = this.el;\n return [el.offsetWidth, el.offsetHeight];\n };\n\n TooltipHTMLContent.prototype.moveTo = function (zrX, zrY) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, this._appendToBody, zrX, zrY);\n\n if (styleCoord[0] != null && styleCoord[1] != null) {\n var style_1 = this.el.style;\n var transforms = assembleTransform(styleCoord[0], styleCoord[1]);\n each(transforms, function (transform) {\n style_1[transform[0]] = transform[1];\n });\n }\n };\n /**\r\n * when `alwaysShowContent` is true,\r\n * move the tooltip after chart resized\r\n */\n\n\n TooltipHTMLContent.prototype._moveIfResized = function () {\n // The ratio of left to width\n var ratioX = this._styleCoord[2]; // The ratio of top to height\n\n var ratioY = this._styleCoord[3];\n this.moveTo(ratioX * this._zr.getWidth(), ratioY * this._zr.getHeight());\n };\n\n TooltipHTMLContent.prototype.hide = function () {\n var _this = this;\n\n var style = this.el.style;\n style.visibility = 'hidden';\n style.opacity = '0';\n env.transform3dSupported && (style.willChange = '');\n this._show = false;\n this._longHideTimeout = setTimeout(function () {\n return _this._longHide = true;\n }, 500);\n };\n\n TooltipHTMLContent.prototype.hideLater = function (time) {\n if (this._show && !(this._inContent && this._enterable) && !this._alwaysShowContent) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n };\n\n TooltipHTMLContent.prototype.isShow = function () {\n return this._show;\n };\n\n TooltipHTMLContent.prototype.dispose = function () {\n this.el.parentNode.removeChild(this.el);\n };\n\n return TooltipHTMLContent;\n}();\n\nexport default TooltipHTMLContent;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport ZRText from 'zrender/lib/graphic/Text.js';\nimport { getPaddingFromTooltipModel } from './tooltipMarkup.js';\nimport { throwError } from '../../util/log.js';\n\nvar TooltipRichContent =\n/** @class */\nfunction () {\n function TooltipRichContent(api) {\n this._show = false;\n this._styleCoord = [0, 0, 0, 0];\n this._alwaysShowContent = false;\n this._enterable = true;\n this._zr = api.getZr();\n makeStyleCoord(this._styleCoord, this._zr, api.getWidth() / 2, api.getHeight() / 2);\n }\n /**\r\n * Update when tooltip is rendered\r\n */\n\n\n TooltipRichContent.prototype.update = function (tooltipModel) {\n var alwaysShowContent = tooltipModel.get('alwaysShowContent');\n alwaysShowContent && this._moveIfResized(); // update alwaysShowContent\n\n this._alwaysShowContent = alwaysShowContent;\n };\n\n TooltipRichContent.prototype.show = function () {\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n }\n\n this.el.show();\n this._show = true;\n };\n /**\r\n * Set tooltip content\r\n */\n\n\n TooltipRichContent.prototype.setContent = function (content, markupStyleCreator, tooltipModel, borderColor, arrowPosition) {\n var _this = this;\n\n if (zrUtil.isObject(content)) {\n throwError(process.env.NODE_ENV !== 'production' ? 'Passing DOM nodes as content is not supported in richText tooltip!' : '');\n }\n\n if (this.el) {\n this._zr.remove(this.el);\n }\n\n var textStyleModel = tooltipModel.getModel('textStyle');\n this.el = new ZRText({\n style: {\n rich: markupStyleCreator.richTextStyles,\n text: content,\n lineHeight: 22,\n borderWidth: 1,\n borderColor: borderColor,\n textShadowColor: textStyleModel.get('textShadowColor'),\n fill: tooltipModel.get(['textStyle', 'color']),\n padding: getPaddingFromTooltipModel(tooltipModel, 'richText'),\n verticalAlign: 'top',\n align: 'left'\n },\n z: tooltipModel.get('z')\n });\n zrUtil.each(['backgroundColor', 'borderRadius', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY'], function (propName) {\n _this.el.style[propName] = tooltipModel.get(propName);\n });\n zrUtil.each(['textShadowBlur', 'textShadowOffsetX', 'textShadowOffsetY'], function (propName) {\n _this.el.style[propName] = textStyleModel.get(propName) || 0;\n });\n\n this._zr.add(this.el);\n\n var self = this;\n this.el.on('mouseover', function () {\n // clear the timeout in hideLater and keep showing tooltip\n if (self._enterable) {\n clearTimeout(self._hideTimeout);\n self._show = true;\n }\n\n self._inContent = true;\n });\n this.el.on('mouseout', function () {\n if (self._enterable) {\n if (self._show) {\n self.hideLater(self._hideDelay);\n }\n }\n\n self._inContent = false;\n });\n };\n\n TooltipRichContent.prototype.setEnterable = function (enterable) {\n this._enterable = enterable;\n };\n\n TooltipRichContent.prototype.getSize = function () {\n var el = this.el;\n var bounding = this.el.getBoundingRect(); // bounding rect does not include shadow. For renderMode richText,\n // if overflow, it will be cut. So calculate them accurately.\n\n var shadowOuterSize = calcShadowOuterSize(el.style);\n return [bounding.width + shadowOuterSize.left + shadowOuterSize.right, bounding.height + shadowOuterSize.top + shadowOuterSize.bottom];\n };\n\n TooltipRichContent.prototype.moveTo = function (x, y) {\n var el = this.el;\n\n if (el) {\n var styleCoord = this._styleCoord;\n makeStyleCoord(styleCoord, this._zr, x, y);\n x = styleCoord[0];\n y = styleCoord[1];\n var style = el.style;\n var borderWidth = mathMaxWith0(style.borderWidth || 0);\n var shadowOuterSize = calcShadowOuterSize(style); // rich text x, y do not include border.\n\n el.x = x + borderWidth + shadowOuterSize.left;\n el.y = y + borderWidth + shadowOuterSize.top;\n el.markRedraw();\n }\n };\n /**\r\n * when `alwaysShowContent` is true,\r\n * move the tooltip after chart resized\r\n */\n\n\n TooltipRichContent.prototype._moveIfResized = function () {\n // The ratio of left to width\n var ratioX = this._styleCoord[2]; // The ratio of top to height\n\n var ratioY = this._styleCoord[3];\n this.moveTo(ratioX * this._zr.getWidth(), ratioY * this._zr.getHeight());\n };\n\n TooltipRichContent.prototype.hide = function () {\n if (this.el) {\n this.el.hide();\n }\n\n this._show = false;\n };\n\n TooltipRichContent.prototype.hideLater = function (time) {\n if (this._show && !(this._inContent && this._enterable) && !this._alwaysShowContent) {\n if (time) {\n this._hideDelay = time; // Set show false to avoid invoke hideLater multiple times\n\n this._show = false;\n this._hideTimeout = setTimeout(zrUtil.bind(this.hide, this), time);\n } else {\n this.hide();\n }\n }\n };\n\n TooltipRichContent.prototype.isShow = function () {\n return this._show;\n };\n\n TooltipRichContent.prototype.dispose = function () {\n this._zr.remove(this.el);\n };\n\n return TooltipRichContent;\n}();\n\nfunction mathMaxWith0(val) {\n return Math.max(0, val);\n}\n\nfunction calcShadowOuterSize(style) {\n var shadowBlur = mathMaxWith0(style.shadowBlur || 0);\n var shadowOffsetX = mathMaxWith0(style.shadowOffsetX || 0);\n var shadowOffsetY = mathMaxWith0(style.shadowOffsetY || 0);\n return {\n left: mathMaxWith0(shadowBlur - shadowOffsetX),\n right: mathMaxWith0(shadowBlur + shadowOffsetX),\n top: mathMaxWith0(shadowBlur - shadowOffsetY),\n bottom: mathMaxWith0(shadowBlur + shadowOffsetY)\n };\n}\n\nfunction makeStyleCoord(out, zr, zrX, zrY) {\n out[0] = zrX;\n out[1] = zrY;\n out[2] = out[0] / zr.getWidth();\n out[3] = out[1] / zr.getHeight();\n}\n\nexport default TooltipRichContent;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\nimport { __extends } from \"tslib\";\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n\nimport { bind, each, clone, trim, isString, isFunction, isArray, isObject, extend } from 'zrender/lib/core/util.js';\nimport env from 'zrender/lib/core/env.js';\nimport TooltipHTMLContent from './TooltipHTMLContent.js';\nimport TooltipRichContent from './TooltipRichContent.js';\nimport { convertToColorString, formatTpl } from '../../util/format.js';\nimport { parsePercent } from '../../util/number.js';\nimport { Rect } from '../../util/graphic.js';\nimport findPointFromSeries from '../axisPointer/findPointFromSeries.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport Model from '../../model/Model.js';\nimport * as globalListener from '../axisPointer/globalListener.js';\nimport * as axisHelper from '../../coord/axisHelper.js';\nimport * as axisPointerViewHelper from '../axisPointer/viewHelper.js';\nimport { getTooltipRenderMode, preParseFinder, queryReferringComponents } from '../../util/model.js';\nimport ComponentView from '../../view/Component.js';\nimport { format as timeFormat } from '../../util/time.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { shouldTooltipConfine } from './helper.js';\nimport { normalizeTooltipFormatResult } from '../../model/mixin/dataFormat.js';\nimport { createTooltipMarkup, buildTooltipMarkup, TooltipMarkupStyleCreator } from './tooltipMarkup.js';\nimport { findEventDispatcher } from '../../util/event.js';\nimport { clear, createOrUpdate } from '../../util/throttle.js';\nvar proxyRect = new Rect({\n shape: {\n x: -1,\n y: -1,\n width: 2,\n height: 2\n }\n});\n\nvar TooltipView =\n/** @class */\nfunction (_super) {\n __extends(TooltipView, _super);\n\n function TooltipView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TooltipView.type;\n return _this;\n }\n\n TooltipView.prototype.init = function (ecModel, api) {\n if (env.node || !api.getDom()) {\n return;\n }\n\n var tooltipModel = ecModel.getComponent('tooltip');\n var renderMode = this._renderMode = getTooltipRenderMode(tooltipModel.get('renderMode'));\n this._tooltipContent = renderMode === 'richText' ? new TooltipRichContent(api) : new TooltipHTMLContent(api.getDom(), api, {\n appendToBody: tooltipModel.get('appendToBody', true)\n });\n };\n\n TooltipView.prototype.render = function (tooltipModel, ecModel, api) {\n if (env.node || !api.getDom()) {\n return;\n } // Reset\n\n\n this.group.removeAll();\n this._tooltipModel = tooltipModel;\n this._ecModel = ecModel;\n this._api = api;\n var tooltipContent = this._tooltipContent;\n tooltipContent.update(tooltipModel);\n tooltipContent.setEnterable(tooltipModel.get('enterable'));\n\n this._initGlobalListener();\n\n this._keepShow(); // PENDING\n // `mousemove` event will be triggered very frequently when the mouse moves fast,\n // which causes that the `updatePosition` function was also called frequently.\n // In Chrome with devtools open and Firefox, tooltip looks laggy and shakes. See #14695 #16101\n // To avoid frequent triggering,\n // consider throttling it in 50ms when transition is enabled\n\n\n if (this._renderMode !== 'richText' && tooltipModel.get('transitionDuration')) {\n createOrUpdate(this, '_updatePosition', 50, 'fixRate');\n } else {\n clear(this, '_updatePosition');\n }\n };\n\n TooltipView.prototype._initGlobalListener = function () {\n var tooltipModel = this._tooltipModel;\n var triggerOn = tooltipModel.get('triggerOn');\n globalListener.register('itemTooltip', this._api, bind(function (currTrigger, e, dispatchAction) {\n // If 'none', it is not controlled by mouse totally.\n if (triggerOn !== 'none') {\n if (triggerOn.indexOf(currTrigger) >= 0) {\n this._tryShow(e, dispatchAction);\n } else if (currTrigger === 'leave') {\n this._hide(dispatchAction);\n }\n }\n }, this));\n };\n\n TooltipView.prototype._keepShow = function () {\n var tooltipModel = this._tooltipModel;\n var ecModel = this._ecModel;\n var api = this._api;\n var triggerOn = tooltipModel.get('triggerOn'); // Try to keep the tooltip show when refreshing\n\n if (this._lastX != null && this._lastY != null // When user is willing to control tooltip totally using API,\n // self.manuallyShowTip({x, y}) might cause tooltip hide,\n // which is not expected.\n && triggerOn !== 'none' && triggerOn !== 'click') {\n var self_1 = this;\n clearTimeout(this._refreshUpdateTimeout);\n this._refreshUpdateTimeout = setTimeout(function () {\n // Show tip next tick after other charts are rendered\n // In case highlight action has wrong result\n // FIXME\n !api.isDisposed() && self_1.manuallyShowTip(tooltipModel, ecModel, api, {\n x: self_1._lastX,\n y: self_1._lastY,\n dataByCoordSys: self_1._lastDataByCoordSys\n });\n });\n }\n };\n /**\r\n * Show tip manually by\r\n * dispatchAction({\r\n * type: 'showTip',\r\n * x: 10,\r\n * y: 10\r\n * });\r\n * Or\r\n * dispatchAction({\r\n * type: 'showTip',\r\n * seriesIndex: 0,\r\n * dataIndex or dataIndexInside or name\r\n * });\r\n *\r\n * TODO Batch\r\n */\n\n\n TooltipView.prototype.manuallyShowTip = function (tooltipModel, ecModel, api, payload) {\n if (payload.from === this.uid || env.node || !api.getDom()) {\n return;\n }\n\n var dispatchAction = makeDispatchAction(payload, api); // Reset ticket\n\n this._ticket = ''; // When triggered from axisPointer.\n\n var dataByCoordSys = payload.dataByCoordSys;\n var cmptRef = findComponentReference(payload, ecModel, api);\n\n if (cmptRef) {\n var rect = cmptRef.el.getBoundingRect().clone();\n rect.applyTransform(cmptRef.el.transform);\n\n this._tryShow({\n offsetX: rect.x + rect.width / 2,\n offsetY: rect.y + rect.height / 2,\n target: cmptRef.el,\n position: payload.position,\n // When manully trigger, the mouse is not on the el, so we'd better to\n // position tooltip on the bottom of the el and display arrow is possible.\n positionDefault: 'bottom'\n }, dispatchAction);\n } else if (payload.tooltip && payload.x != null && payload.y != null) {\n var el = proxyRect;\n el.x = payload.x;\n el.y = payload.y;\n el.update();\n getECData(el).tooltipConfig = {\n name: null,\n option: payload.tooltip\n }; // Manually show tooltip while view is not using zrender elements.\n\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n target: el\n }, dispatchAction);\n } else if (dataByCoordSys) {\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n position: payload.position,\n dataByCoordSys: dataByCoordSys,\n tooltipOption: payload.tooltipOption\n }, dispatchAction);\n } else if (payload.seriesIndex != null) {\n if (this._manuallyAxisShowTip(tooltipModel, ecModel, api, payload)) {\n return;\n }\n\n var pointInfo = findPointFromSeries(payload, ecModel);\n var cx = pointInfo.point[0];\n var cy = pointInfo.point[1];\n\n if (cx != null && cy != null) {\n this._tryShow({\n offsetX: cx,\n offsetY: cy,\n target: pointInfo.el,\n position: payload.position,\n // When manully trigger, the mouse is not on the el, so we'd better to\n // position tooltip on the bottom of the el and display arrow is possible.\n positionDefault: 'bottom'\n }, dispatchAction);\n }\n } else if (payload.x != null && payload.y != null) {\n // FIXME\n // should wrap dispatchAction like `axisPointer/globalListener` ?\n api.dispatchAction({\n type: 'updateAxisPointer',\n x: payload.x,\n y: payload.y\n });\n\n this._tryShow({\n offsetX: payload.x,\n offsetY: payload.y,\n position: payload.position,\n target: api.getZr().findHover(payload.x, payload.y).target\n }, dispatchAction);\n }\n };\n\n TooltipView.prototype.manuallyHideTip = function (tooltipModel, ecModel, api, payload) {\n var tooltipContent = this._tooltipContent;\n\n if (this._tooltipModel) {\n tooltipContent.hideLater(this._tooltipModel.get('hideDelay'));\n }\n\n this._lastX = this._lastY = this._lastDataByCoordSys = null;\n\n if (payload.from !== this.uid) {\n this._hide(makeDispatchAction(payload, api));\n }\n }; // Be compatible with previous design, that is, when tooltip.type is 'axis' and\n // dispatchAction 'showTip' with seriesIndex and dataIndex will trigger axis pointer\n // and tooltip.\n\n\n TooltipView.prototype._manuallyAxisShowTip = function (tooltipModel, ecModel, api, payload) {\n var seriesIndex = payload.seriesIndex;\n var dataIndex = payload.dataIndex; // @ts-ignore\n\n var coordSysAxesInfo = ecModel.getComponent('axisPointer').coordSysAxesInfo;\n\n if (seriesIndex == null || dataIndex == null || coordSysAxesInfo == null) {\n return;\n }\n\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex);\n\n if (!seriesModel) {\n return;\n }\n\n var data = seriesModel.getData();\n var tooltipCascadedModel = buildTooltipModel([data.getItemModel(dataIndex), seriesModel, (seriesModel.coordinateSystem || {}).model], this._tooltipModel);\n\n if (tooltipCascadedModel.get('trigger') !== 'axis') {\n return;\n }\n\n api.dispatchAction({\n type: 'updateAxisPointer',\n seriesIndex: seriesIndex,\n dataIndex: dataIndex,\n position: payload.position\n });\n return true;\n };\n\n TooltipView.prototype._tryShow = function (e, dispatchAction) {\n var el = e.target;\n var tooltipModel = this._tooltipModel;\n\n if (!tooltipModel) {\n return;\n } // Save mouse x, mouse y. So we can try to keep showing the tip if chart is refreshed\n\n\n this._lastX = e.offsetX;\n this._lastY = e.offsetY;\n var dataByCoordSys = e.dataByCoordSys;\n\n if (dataByCoordSys && dataByCoordSys.length) {\n this._showAxisTooltip(dataByCoordSys, e);\n } else if (el) {\n this._lastDataByCoordSys = null;\n var seriesDispatcher_1;\n var cmptDispatcher_1;\n findEventDispatcher(el, function (target) {\n // Always show item tooltip if mouse is on the element with dataIndex\n if (getECData(target).dataIndex != null) {\n seriesDispatcher_1 = target;\n return true;\n } // Tooltip provided directly. Like legend.\n\n\n if (getECData(target).tooltipConfig != null) {\n cmptDispatcher_1 = target;\n return true;\n }\n }, true);\n\n if (seriesDispatcher_1) {\n this._showSeriesItemTooltip(e, seriesDispatcher_1, dispatchAction);\n } else if (cmptDispatcher_1) {\n this._showComponentItemTooltip(e, cmptDispatcher_1, dispatchAction);\n } else {\n this._hide(dispatchAction);\n }\n } else {\n this._lastDataByCoordSys = null;\n\n this._hide(dispatchAction);\n }\n };\n\n TooltipView.prototype._showOrMove = function (tooltipModel, cb) {\n // showDelay is used in this case: tooltip.enterable is set\n // as true. User intent to move mouse into tooltip and click\n // something. `showDelay` makes it easier to enter the content\n // but tooltip do not move immediately.\n var delay = tooltipModel.get('showDelay');\n cb = bind(cb, this);\n clearTimeout(this._showTimout);\n delay > 0 ? this._showTimout = setTimeout(cb, delay) : cb();\n };\n\n TooltipView.prototype._showAxisTooltip = function (dataByCoordSys, e) {\n var ecModel = this._ecModel;\n var globalTooltipModel = this._tooltipModel;\n var point = [e.offsetX, e.offsetY];\n var singleTooltipModel = buildTooltipModel([e.tooltipOption], globalTooltipModel);\n var renderMode = this._renderMode;\n var cbParamsList = [];\n var articleMarkup = createTooltipMarkup('section', {\n blocks: [],\n noHeader: true\n }); // Only for legacy: `Serise['formatTooltip']` returns a string.\n\n var markupTextArrLegacy = [];\n var markupStyleCreator = new TooltipMarkupStyleCreator();\n each(dataByCoordSys, function (itemCoordSys) {\n each(itemCoordSys.dataByAxis, function (axisItem) {\n var axisModel = ecModel.getComponent(axisItem.axisDim + 'Axis', axisItem.axisIndex);\n var axisValue = axisItem.value;\n\n if (!axisModel || axisValue == null) {\n return;\n }\n\n var axisValueLabel = axisPointerViewHelper.getValueLabel(axisValue, axisModel.axis, ecModel, axisItem.seriesDataIndices, axisItem.valueLabelOpt);\n var axisSectionMarkup = createTooltipMarkup('section', {\n header: axisValueLabel,\n noHeader: !trim(axisValueLabel),\n sortBlocks: true,\n blocks: []\n });\n articleMarkup.blocks.push(axisSectionMarkup);\n each(axisItem.seriesDataIndices, function (idxItem) {\n var series = ecModel.getSeriesByIndex(idxItem.seriesIndex);\n var dataIndex = idxItem.dataIndexInside;\n var cbParams = series.getDataParams(dataIndex); // Can't find data.\n\n if (cbParams.dataIndex < 0) {\n return;\n }\n\n cbParams.axisDim = axisItem.axisDim;\n cbParams.axisIndex = axisItem.axisIndex;\n cbParams.axisType = axisItem.axisType;\n cbParams.axisId = axisItem.axisId;\n cbParams.axisValue = axisHelper.getAxisRawValue(axisModel.axis, {\n value: axisValue\n });\n cbParams.axisValueLabel = axisValueLabel; // Pre-create marker style for makers. Users can assemble richText\n // text in `formatter` callback and use those markers style.\n\n cbParams.marker = markupStyleCreator.makeTooltipMarker('item', convertToColorString(cbParams.color), renderMode);\n var seriesTooltipResult = normalizeTooltipFormatResult(series.formatTooltip(dataIndex, true, null));\n var frag = seriesTooltipResult.frag;\n\n if (frag) {\n var valueFormatter = buildTooltipModel([series], globalTooltipModel).get('valueFormatter');\n axisSectionMarkup.blocks.push(valueFormatter ? extend({\n valueFormatter: valueFormatter\n }, frag) : frag);\n }\n\n if (seriesTooltipResult.text) {\n markupTextArrLegacy.push(seriesTooltipResult.text);\n }\n\n cbParamsList.push(cbParams);\n });\n });\n }); // In most cases, the second axis is displays upper on the first one.\n // So we reverse it to look better.\n\n articleMarkup.blocks.reverse();\n markupTextArrLegacy.reverse();\n var positionExpr = e.position;\n var orderMode = singleTooltipModel.get('order');\n var builtMarkupText = buildTooltipMarkup(articleMarkup, markupStyleCreator, renderMode, orderMode, ecModel.get('useUTC'), singleTooltipModel.get('textStyle'));\n builtMarkupText && markupTextArrLegacy.unshift(builtMarkupText);\n var blockBreak = renderMode === 'richText' ? '\\n\\n' : '
';\n var allMarkupText = markupTextArrLegacy.join(blockBreak);\n\n this._showOrMove(singleTooltipModel, function () {\n if (this._updateContentNotChangedOnAxis(dataByCoordSys, cbParamsList)) {\n this._updatePosition(singleTooltipModel, positionExpr, point[0], point[1], this._tooltipContent, cbParamsList);\n } else {\n this._showTooltipContent(singleTooltipModel, allMarkupText, cbParamsList, Math.random() + '', point[0], point[1], positionExpr, null, markupStyleCreator);\n }\n }); // Do not trigger events here, because this branch only be entered\n // from dispatchAction.\n\n };\n\n TooltipView.prototype._showSeriesItemTooltip = function (e, dispatcher, dispatchAction) {\n var ecModel = this._ecModel;\n var ecData = getECData(dispatcher); // Use dataModel in element if possible\n // Used when mouseover on a element like markPoint or edge\n // In which case, the data is not main data in series.\n\n var seriesIndex = ecData.seriesIndex;\n var seriesModel = ecModel.getSeriesByIndex(seriesIndex); // For example, graph link.\n\n var dataModel = ecData.dataModel || seriesModel;\n var dataIndex = ecData.dataIndex;\n var dataType = ecData.dataType;\n var data = dataModel.getData(dataType);\n var renderMode = this._renderMode;\n var positionDefault = e.positionDefault;\n var tooltipModel = buildTooltipModel([data.getItemModel(dataIndex), dataModel, seriesModel && (seriesModel.coordinateSystem || {}).model], this._tooltipModel, positionDefault ? {\n position: positionDefault\n } : null);\n var tooltipTrigger = tooltipModel.get('trigger');\n\n if (tooltipTrigger != null && tooltipTrigger !== 'item') {\n return;\n }\n\n var params = dataModel.getDataParams(dataIndex, dataType);\n var markupStyleCreator = new TooltipMarkupStyleCreator(); // Pre-create marker style for makers. Users can assemble richText\n // text in `formatter` callback and use those markers style.\n\n params.marker = markupStyleCreator.makeTooltipMarker('item', convertToColorString(params.color), renderMode);\n var seriesTooltipResult = normalizeTooltipFormatResult(dataModel.formatTooltip(dataIndex, false, dataType));\n var orderMode = tooltipModel.get('order');\n var valueFormatter = tooltipModel.get('valueFormatter');\n var frag = seriesTooltipResult.frag;\n var markupText = frag ? buildTooltipMarkup(valueFormatter ? extend({\n valueFormatter: valueFormatter\n }, frag) : frag, markupStyleCreator, renderMode, orderMode, ecModel.get('useUTC'), tooltipModel.get('textStyle')) : seriesTooltipResult.text;\n var asyncTicket = 'item_' + dataModel.name + '_' + dataIndex;\n\n this._showOrMove(tooltipModel, function () {\n this._showTooltipContent(tooltipModel, markupText, params, asyncTicket, e.offsetX, e.offsetY, e.position, e.target, markupStyleCreator);\n }); // FIXME\n // duplicated showtip if manuallyShowTip is called from dispatchAction.\n\n\n dispatchAction({\n type: 'showTip',\n dataIndexInside: dataIndex,\n dataIndex: data.getRawIndex(dataIndex),\n seriesIndex: seriesIndex,\n from: this.uid\n });\n };\n\n TooltipView.prototype._showComponentItemTooltip = function (e, el, dispatchAction) {\n var ecData = getECData(el);\n var tooltipConfig = ecData.tooltipConfig;\n var tooltipOpt = tooltipConfig.option || {};\n\n if (isString(tooltipOpt)) {\n var content = tooltipOpt;\n tooltipOpt = {\n content: content,\n // Fixed formatter\n formatter: content\n };\n }\n\n var tooltipModelCascade = [tooltipOpt];\n\n var cmpt = this._ecModel.getComponent(ecData.componentMainType, ecData.componentIndex);\n\n if (cmpt) {\n tooltipModelCascade.push(cmpt);\n } // In most cases, component tooltip formatter has different params with series tooltip formatter,\n // so that they cannot share the same formatter. Since the global tooltip formatter is used for series\n // by convention, we do not use it as the default formatter for component.\n\n\n tooltipModelCascade.push({\n formatter: tooltipOpt.content\n });\n var positionDefault = e.positionDefault;\n var subTooltipModel = buildTooltipModel(tooltipModelCascade, this._tooltipModel, positionDefault ? {\n position: positionDefault\n } : null);\n var defaultHtml = subTooltipModel.get('content');\n var asyncTicket = Math.random() + ''; // PENDING: this case do not support richText style yet.\n\n var markupStyleCreator = new TooltipMarkupStyleCreator(); // Do not check whether `trigger` is 'none' here, because `trigger`\n // only works on coordinate system. In fact, we have not found case\n // that requires setting `trigger` nothing on component yet.\n\n this._showOrMove(subTooltipModel, function () {\n // Use formatterParams from element defined in component\n // Avoid users modify it.\n var formatterParams = clone(subTooltipModel.get('formatterParams') || {});\n\n this._showTooltipContent(subTooltipModel, defaultHtml, formatterParams, asyncTicket, e.offsetX, e.offsetY, e.position, el, markupStyleCreator);\n }); // If not dispatch showTip, tip may be hide triggered by axis.\n\n\n dispatchAction({\n type: 'showTip',\n from: this.uid\n });\n };\n\n TooltipView.prototype._showTooltipContent = function ( // Use Model insteadof TooltipModel because this model may be from series or other options.\n // Instead of top level tooltip.\n tooltipModel, defaultHtml, params, asyncTicket, x, y, positionExpr, el, markupStyleCreator) {\n // Reset ticket\n this._ticket = '';\n\n if (!tooltipModel.get('showContent') || !tooltipModel.get('show')) {\n return;\n }\n\n var tooltipContent = this._tooltipContent;\n tooltipContent.setEnterable(tooltipModel.get('enterable'));\n var formatter = tooltipModel.get('formatter');\n positionExpr = positionExpr || tooltipModel.get('position');\n var html = defaultHtml;\n\n var nearPoint = this._getNearestPoint([x, y], params, tooltipModel.get('trigger'), tooltipModel.get('borderColor'));\n\n var nearPointColor = nearPoint.color;\n\n if (formatter) {\n if (isString(formatter)) {\n var useUTC = tooltipModel.ecModel.get('useUTC');\n var params0 = isArray(params) ? params[0] : params;\n var isTimeAxis = params0 && params0.axisType && params0.axisType.indexOf('time') >= 0;\n html = formatter;\n\n if (isTimeAxis) {\n html = timeFormat(params0.axisValue, html, useUTC);\n }\n\n html = formatTpl(html, params, true);\n } else if (isFunction(formatter)) {\n var callback = bind(function (cbTicket, html) {\n if (cbTicket === this._ticket) {\n tooltipContent.setContent(html, markupStyleCreator, tooltipModel, nearPointColor, positionExpr);\n\n this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n }\n }, this);\n this._ticket = asyncTicket;\n html = formatter(params, asyncTicket, callback);\n } else {\n html = formatter;\n }\n }\n\n tooltipContent.setContent(html, markupStyleCreator, tooltipModel, nearPointColor, positionExpr);\n tooltipContent.show(tooltipModel, nearPointColor);\n\n this._updatePosition(tooltipModel, positionExpr, x, y, tooltipContent, params, el);\n };\n\n TooltipView.prototype._getNearestPoint = function (point, tooltipDataParams, trigger, borderColor) {\n if (trigger === 'axis' || isArray(tooltipDataParams)) {\n return {\n color: borderColor || (this._renderMode === 'html' ? '#fff' : 'none')\n };\n }\n\n if (!isArray(tooltipDataParams)) {\n return {\n color: borderColor || tooltipDataParams.color || tooltipDataParams.borderColor\n };\n }\n };\n\n TooltipView.prototype._updatePosition = function (tooltipModel, positionExpr, x, // Mouse x\n y, // Mouse y\n content, params, el) {\n var viewWidth = this._api.getWidth();\n\n var viewHeight = this._api.getHeight();\n\n positionExpr = positionExpr || tooltipModel.get('position');\n var contentSize = content.getSize();\n var align = tooltipModel.get('align');\n var vAlign = tooltipModel.get('verticalAlign');\n var rect = el && el.getBoundingRect().clone();\n el && rect.applyTransform(el.transform);\n\n if (isFunction(positionExpr)) {\n // Callback of position can be an array or a string specify the position\n positionExpr = positionExpr([x, y], params, content.el, rect, {\n viewSize: [viewWidth, viewHeight],\n contentSize: contentSize.slice()\n });\n }\n\n if (isArray(positionExpr)) {\n x = parsePercent(positionExpr[0], viewWidth);\n y = parsePercent(positionExpr[1], viewHeight);\n } else if (isObject(positionExpr)) {\n var boxLayoutPosition = positionExpr;\n boxLayoutPosition.width = contentSize[0];\n boxLayoutPosition.height = contentSize[1];\n var layoutRect = getLayoutRect(boxLayoutPosition, {\n width: viewWidth,\n height: viewHeight\n });\n x = layoutRect.x;\n y = layoutRect.y;\n align = null; // When positionExpr is left/top/right/bottom,\n // align and verticalAlign will not work.\n\n vAlign = null;\n } // Specify tooltip position by string 'top' 'bottom' 'left' 'right' around graphic element\n else if (isString(positionExpr) && el) {\n var pos = calcTooltipPosition(positionExpr, rect, contentSize, tooltipModel.get('borderWidth'));\n x = pos[0];\n y = pos[1];\n } else {\n var pos = refixTooltipPosition(x, y, content, viewWidth, viewHeight, align ? null : 20, vAlign ? null : 20);\n x = pos[0];\n y = pos[1];\n }\n\n align && (x -= isCenterAlign(align) ? contentSize[0] / 2 : align === 'right' ? contentSize[0] : 0);\n vAlign && (y -= isCenterAlign(vAlign) ? contentSize[1] / 2 : vAlign === 'bottom' ? contentSize[1] : 0);\n\n if (shouldTooltipConfine(tooltipModel)) {\n var pos = confineTooltipPosition(x, y, content, viewWidth, viewHeight);\n x = pos[0];\n y = pos[1];\n }\n\n content.moveTo(x, y);\n }; // FIXME\n // Should we remove this but leave this to user?\n\n\n TooltipView.prototype._updateContentNotChangedOnAxis = function (dataByCoordSys, cbParamsList) {\n var lastCoordSys = this._lastDataByCoordSys;\n var lastCbParamsList = this._cbParamsList;\n var contentNotChanged = !!lastCoordSys && lastCoordSys.length === dataByCoordSys.length;\n contentNotChanged && each(lastCoordSys, function (lastItemCoordSys, indexCoordSys) {\n var lastDataByAxis = lastItemCoordSys.dataByAxis || [];\n var thisItemCoordSys = dataByCoordSys[indexCoordSys] || {};\n var thisDataByAxis = thisItemCoordSys.dataByAxis || [];\n contentNotChanged = contentNotChanged && lastDataByAxis.length === thisDataByAxis.length;\n contentNotChanged && each(lastDataByAxis, function (lastItem, indexAxis) {\n var thisItem = thisDataByAxis[indexAxis] || {};\n var lastIndices = lastItem.seriesDataIndices || [];\n var newIndices = thisItem.seriesDataIndices || [];\n contentNotChanged = contentNotChanged && lastItem.value === thisItem.value && lastItem.axisType === thisItem.axisType && lastItem.axisId === thisItem.axisId && lastIndices.length === newIndices.length;\n contentNotChanged && each(lastIndices, function (lastIdxItem, j) {\n var newIdxItem = newIndices[j];\n contentNotChanged = contentNotChanged && lastIdxItem.seriesIndex === newIdxItem.seriesIndex && lastIdxItem.dataIndex === newIdxItem.dataIndex;\n }); // check is cbParams data value changed\n\n lastCbParamsList && each(lastItem.seriesDataIndices, function (idxItem) {\n var seriesIdx = idxItem.seriesIndex;\n var cbParams = cbParamsList[seriesIdx];\n var lastCbParams = lastCbParamsList[seriesIdx];\n\n if (cbParams && lastCbParams && lastCbParams.data !== cbParams.data) {\n contentNotChanged = false;\n }\n });\n });\n });\n this._lastDataByCoordSys = dataByCoordSys;\n this._cbParamsList = cbParamsList;\n return !!contentNotChanged;\n };\n\n TooltipView.prototype._hide = function (dispatchAction) {\n // Do not directly hideLater here, because this behavior may be prevented\n // in dispatchAction when showTip is dispatched.\n // FIXME\n // duplicated hideTip if manuallyHideTip is called from dispatchAction.\n this._lastDataByCoordSys = null;\n dispatchAction({\n type: 'hideTip',\n from: this.uid\n });\n };\n\n TooltipView.prototype.dispose = function (ecModel, api) {\n if (env.node || !api.getDom()) {\n return;\n }\n\n clear(this, '_updatePosition');\n\n this._tooltipContent.dispose();\n\n globalListener.unregister('itemTooltip', api);\n };\n\n TooltipView.type = 'tooltip';\n return TooltipView;\n}(ComponentView);\n/**\r\n * From top to bottom. (the last one should be globalTooltipModel);\r\n */\n\n\nfunction buildTooltipModel(modelCascade, globalTooltipModel, defaultTooltipOption) {\n // Last is always tooltip model.\n var ecModel = globalTooltipModel.ecModel;\n var resultModel;\n\n if (defaultTooltipOption) {\n resultModel = new Model(defaultTooltipOption, ecModel, ecModel);\n resultModel = new Model(globalTooltipModel.option, resultModel, ecModel);\n } else {\n resultModel = globalTooltipModel;\n }\n\n for (var i = modelCascade.length - 1; i >= 0; i--) {\n var tooltipOpt = modelCascade[i];\n\n if (tooltipOpt) {\n if (tooltipOpt instanceof Model) {\n tooltipOpt = tooltipOpt.get('tooltip', true);\n } // In each data item tooltip can be simply write:\n // {\n // value: 10,\n // tooltip: 'Something you need to know'\n // }\n\n\n if (isString(tooltipOpt)) {\n tooltipOpt = {\n formatter: tooltipOpt\n };\n }\n\n if (tooltipOpt) {\n resultModel = new Model(tooltipOpt, resultModel, ecModel);\n }\n }\n }\n\n return resultModel;\n}\n\nfunction makeDispatchAction(payload, api) {\n return payload.dispatchAction || bind(api.dispatchAction, api);\n}\n\nfunction refixTooltipPosition(x, y, content, viewWidth, viewHeight, gapH, gapV) {\n var size = content.getSize();\n var width = size[0];\n var height = size[1];\n\n if (gapH != null) {\n // Add extra 2 pixels for this case:\n // At present the \"values\" in default tooltip are using CSS `float: right`.\n // When the right edge of the tooltip box is on the right side of the\n // viewport, the `float` layout might push the \"values\" to the second line.\n if (x + width + gapH + 2 > viewWidth) {\n x -= width + gapH;\n } else {\n x += gapH;\n }\n }\n\n if (gapV != null) {\n if (y + height + gapV > viewHeight) {\n y -= height + gapV;\n } else {\n y += gapV;\n }\n }\n\n return [x, y];\n}\n\nfunction confineTooltipPosition(x, y, content, viewWidth, viewHeight) {\n var size = content.getSize();\n var width = size[0];\n var height = size[1];\n x = Math.min(x + width, viewWidth) - width;\n y = Math.min(y + height, viewHeight) - height;\n x = Math.max(x, 0);\n y = Math.max(y, 0);\n return [x, y];\n}\n\nfunction calcTooltipPosition(position, rect, contentSize, borderWidth) {\n var domWidth = contentSize[0];\n var domHeight = contentSize[1];\n var offset = Math.ceil(Math.SQRT2 * borderWidth) + 8;\n var x = 0;\n var y = 0;\n var rectWidth = rect.width;\n var rectHeight = rect.height;\n\n switch (position) {\n case 'inside':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n break;\n\n case 'top':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y - domHeight - offset;\n break;\n\n case 'bottom':\n x = rect.x + rectWidth / 2 - domWidth / 2;\n y = rect.y + rectHeight + offset;\n break;\n\n case 'left':\n x = rect.x - domWidth - offset;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n break;\n\n case 'right':\n x = rect.x + rectWidth + offset;\n y = rect.y + rectHeight / 2 - domHeight / 2;\n }\n\n return [x, y];\n}\n\nfunction isCenterAlign(align) {\n return align === 'center' || align === 'middle';\n}\n/**\r\n * Find target component by payload like:\r\n * ```js\r\n * { legendId: 'some_id', name: 'xxx' }\r\n * { toolboxIndex: 1, name: 'xxx' }\r\n * { geoName: 'some_name', name: 'xxx' }\r\n * ```\r\n * PENDING: at present only\r\n *\r\n * If not found, return null/undefined.\r\n */\n\n\nfunction findComponentReference(payload, ecModel, api) {\n var queryOptionMap = preParseFinder(payload).queryOptionMap;\n var componentMainType = queryOptionMap.keys()[0];\n\n if (!componentMainType || componentMainType === 'series') {\n return;\n }\n\n var queryResult = queryReferringComponents(ecModel, componentMainType, queryOptionMap.get(componentMainType), {\n useDefault: false,\n enableAll: false,\n enableNone: false\n });\n var model = queryResult.models[0];\n\n if (!model) {\n return;\n }\n\n var view = api.getViewOfComponentModel(model);\n var el;\n view.group.traverse(function (subEl) {\n var tooltipConfig = getECData(subEl).tooltipConfig;\n\n if (tooltipConfig && tooltipConfig.name === payload.name) {\n el = subEl;\n return true; // stop\n }\n });\n\n if (el) {\n return {\n componentMainType: componentMainType,\n componentIndex: model.componentIndex,\n el: el\n };\n }\n}\n\nexport default TooltipView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { install as installAxisPointer } from '../axisPointer/install.js';\nimport { use } from '../../extension.js';\nimport TooltipModel from './TooltipModel.js';\nimport TooltipView from './TooltipView.js';\nimport { noop } from 'zrender/lib/core/util.js';\nexport function install(registers) {\n use(installAxisPointer);\n registers.registerComponentModel(TooltipModel);\n registers.registerComponentView(TooltipView);\n /**\r\n * @action\r\n * @property {string} type\r\n * @property {number} seriesIndex\r\n * @property {number} dataIndex\r\n * @property {number} [x]\r\n * @property {number} [y]\r\n */\n\n registers.registerAction({\n type: 'showTip',\n event: 'showTip',\n update: 'tooltip:manuallyShowTip'\n }, noop);\n registers.registerAction({\n type: 'hideTip',\n event: 'hideTip',\n update: 'tooltip:manuallyHideTip'\n }, noop);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport { getECData } from '../../util/innerStore.js';\nimport { createTextStyle } from '../../label/labelStyle.js';\nimport { getLayoutRect } from '../../util/layout.js';\nimport ComponentModel from '../../model/Component.js';\nimport ComponentView from '../../view/Component.js';\nimport { windowOpen } from '../../util/format.js';\n\nvar TitleModel =\n/** @class */\nfunction (_super) {\n __extends(TitleModel, _super);\n\n function TitleModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TitleModel.type;\n _this.layoutMode = {\n type: 'box',\n ignoreSize: true\n };\n return _this;\n }\n\n TitleModel.type = 'title';\n TitleModel.defaultOption = {\n // zlevel: 0,\n z: 6,\n show: true,\n text: '',\n target: 'blank',\n subtext: '',\n subtarget: 'blank',\n left: 0,\n top: 0,\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: '#ccc',\n borderWidth: 0,\n padding: 5,\n itemGap: 10,\n textStyle: {\n fontSize: 18,\n fontWeight: 'bold',\n color: '#464646'\n },\n subtextStyle: {\n fontSize: 12,\n color: '#6E7079'\n }\n };\n return TitleModel;\n}(ComponentModel); // View\n\n\nvar TitleView =\n/** @class */\nfunction (_super) {\n __extends(TitleView, _super);\n\n function TitleView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = TitleView.type;\n return _this;\n }\n\n TitleView.prototype.render = function (titleModel, ecModel, api) {\n this.group.removeAll();\n\n if (!titleModel.get('show')) {\n return;\n }\n\n var group = this.group;\n var textStyleModel = titleModel.getModel('textStyle');\n var subtextStyleModel = titleModel.getModel('subtextStyle');\n var textAlign = titleModel.get('textAlign');\n var textVerticalAlign = zrUtil.retrieve2(titleModel.get('textBaseline'), titleModel.get('textVerticalAlign'));\n var textEl = new graphic.Text({\n style: createTextStyle(textStyleModel, {\n text: titleModel.get('text'),\n fill: textStyleModel.getTextColor()\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var textRect = textEl.getBoundingRect();\n var subText = titleModel.get('subtext');\n var subTextEl = new graphic.Text({\n style: createTextStyle(subtextStyleModel, {\n text: subText,\n fill: subtextStyleModel.getTextColor(),\n y: textRect.height + titleModel.get('itemGap'),\n verticalAlign: 'top'\n }, {\n disableBox: true\n }),\n z2: 10\n });\n var link = titleModel.get('link');\n var sublink = titleModel.get('sublink');\n var triggerEvent = titleModel.get('triggerEvent', true);\n textEl.silent = !link && !triggerEvent;\n subTextEl.silent = !sublink && !triggerEvent;\n\n if (link) {\n textEl.on('click', function () {\n windowOpen(link, '_' + titleModel.get('target'));\n });\n }\n\n if (sublink) {\n subTextEl.on('click', function () {\n windowOpen(sublink, '_' + titleModel.get('subtarget'));\n });\n }\n\n getECData(textEl).eventData = getECData(subTextEl).eventData = triggerEvent ? {\n componentType: 'title',\n componentIndex: titleModel.componentIndex\n } : null;\n group.add(textEl);\n subText && group.add(subTextEl); // If no subText, but add subTextEl, there will be an empty line.\n\n var groupRect = group.getBoundingRect();\n var layoutOption = titleModel.getBoxLayoutParams();\n layoutOption.width = groupRect.width;\n layoutOption.height = groupRect.height;\n var layoutRect = getLayoutRect(layoutOption, {\n width: api.getWidth(),\n height: api.getHeight()\n }, titleModel.get('padding')); // Adjust text align based on position\n\n if (!textAlign) {\n // Align left if title is on the left. center and right is same\n textAlign = titleModel.get('left') || titleModel.get('right'); // @ts-ignore\n\n if (textAlign === 'middle') {\n textAlign = 'center';\n } // Adjust layout by text align\n\n\n if (textAlign === 'right') {\n layoutRect.x += layoutRect.width;\n } else if (textAlign === 'center') {\n layoutRect.x += layoutRect.width / 2;\n }\n }\n\n if (!textVerticalAlign) {\n textVerticalAlign = titleModel.get('top') || titleModel.get('bottom'); // @ts-ignore\n\n if (textVerticalAlign === 'center') {\n textVerticalAlign = 'middle';\n }\n\n if (textVerticalAlign === 'bottom') {\n layoutRect.y += layoutRect.height;\n } else if (textVerticalAlign === 'middle') {\n layoutRect.y += layoutRect.height / 2;\n }\n\n textVerticalAlign = textVerticalAlign || 'top';\n }\n\n group.x = layoutRect.x;\n group.y = layoutRect.y;\n group.markRedraw();\n var alignStyle = {\n align: textAlign,\n verticalAlign: textVerticalAlign\n };\n textEl.setStyle(alignStyle);\n subTextEl.setStyle(alignStyle); // Render background\n // Get groupRect again because textAlign has been changed\n\n groupRect = group.getBoundingRect();\n var padding = layoutRect.margin;\n var style = titleModel.getItemStyle(['color', 'opacity']);\n style.fill = titleModel.get('backgroundColor');\n var rect = new graphic.Rect({\n shape: {\n x: groupRect.x - padding[3],\n y: groupRect.y - padding[0],\n width: groupRect.width + padding[1] + padding[3],\n height: groupRect.height + padding[0] + padding[2],\n r: titleModel.get('borderRadius')\n },\n style: style,\n subPixelOptimize: true,\n silent: true\n });\n group.add(rect);\n };\n\n TitleView.type = 'title';\n return TitleView;\n}(ComponentView);\n\nexport function install(registers) {\n registers.registerComponentModel(TitleModel);\n registers.registerComponentView(TitleView);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { isArray } from 'zrender/lib/core/util.js';\nexport default function checkMarkerInSeries(seriesOpts, markerType) {\n if (!seriesOpts) {\n return false;\n }\n\n var seriesOptArr = isArray(seriesOpts) ? seriesOpts : [seriesOpts];\n\n for (var idx = 0; idx < seriesOptArr.length; idx++) {\n if (seriesOptArr[idx] && seriesOptArr[idx][markerType]) {\n return true;\n }\n }\n\n return false;\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport env from 'zrender/lib/core/env.js';\nimport { DataFormatMixin } from '../../model/mixin/dataFormat.js';\nimport ComponentModel from '../../model/Component.js';\nimport { makeInner, defaultEmphasis } from '../../util/model.js';\nimport { createTooltipMarkup } from '../tooltip/tooltipMarkup.js';\n\nfunction fillLabel(opt) {\n defaultEmphasis(opt, 'label', ['show']);\n} // { [componentType]: MarkerModel }\n\n\nvar inner = makeInner();\n\nvar MarkerModel =\n/** @class */\nfunction (_super) {\n __extends(MarkerModel, _super);\n\n function MarkerModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = MarkerModel.type;\n /**\r\n * If marker model is created by self from series\r\n */\n\n _this.createdBySelf = false;\n return _this;\n }\n /**\r\n * @overrite\r\n */\n\n\n MarkerModel.prototype.init = function (option, parentModel, ecModel) {\n if (process.env.NODE_ENV !== 'production') {\n if (this.type === 'marker') {\n throw new Error('Marker component is abstract component. Use markLine, markPoint, markArea instead.');\n }\n }\n\n this.mergeDefaultAndTheme(option, ecModel);\n\n this._mergeOption(option, ecModel, false, true);\n };\n\n MarkerModel.prototype.isAnimationEnabled = function () {\n if (env.node) {\n return false;\n }\n\n var hostSeries = this.__hostSeries;\n return this.getShallow('animation') && hostSeries && hostSeries.isAnimationEnabled();\n };\n /**\r\n * @overrite\r\n */\n\n\n MarkerModel.prototype.mergeOption = function (newOpt, ecModel) {\n this._mergeOption(newOpt, ecModel, false, false);\n };\n\n MarkerModel.prototype._mergeOption = function (newOpt, ecModel, createdBySelf, isInit) {\n var componentType = this.mainType;\n\n if (!createdBySelf) {\n ecModel.eachSeries(function (seriesModel) {\n // mainType can be markPoint, markLine, markArea\n var markerOpt = seriesModel.get(this.mainType, true);\n var markerModel = inner(seriesModel)[componentType];\n\n if (!markerOpt || !markerOpt.data) {\n inner(seriesModel)[componentType] = null;\n return;\n }\n\n if (!markerModel) {\n if (isInit) {\n // Default label emphasis `position` and `show`\n fillLabel(markerOpt);\n }\n\n zrUtil.each(markerOpt.data, function (item) {\n // FIXME Overwrite fillLabel method ?\n if (item instanceof Array) {\n fillLabel(item[0]);\n fillLabel(item[1]);\n } else {\n fillLabel(item);\n }\n });\n markerModel = this.createMarkerModelFromSeries(markerOpt, this, ecModel); // markerModel = new ImplementedMarkerModel(\n // markerOpt, this, ecModel\n // );\n\n zrUtil.extend(markerModel, {\n mainType: this.mainType,\n // Use the same series index and name\n seriesIndex: seriesModel.seriesIndex,\n name: seriesModel.name,\n createdBySelf: true\n });\n markerModel.__hostSeries = seriesModel;\n } else {\n markerModel._mergeOption(markerOpt, ecModel, true);\n }\n\n inner(seriesModel)[componentType] = markerModel;\n }, this);\n }\n };\n\n MarkerModel.prototype.formatTooltip = function (dataIndex, multipleSeries, dataType) {\n var data = this.getData();\n var value = this.getRawValue(dataIndex);\n var itemName = data.getName(dataIndex);\n return createTooltipMarkup('section', {\n header: this.name,\n blocks: [createTooltipMarkup('nameValue', {\n name: itemName,\n value: value,\n noName: !itemName,\n noValue: value == null\n })]\n });\n };\n\n MarkerModel.prototype.getData = function () {\n return this._data;\n };\n\n MarkerModel.prototype.setData = function (data) {\n this._data = data;\n };\n\n MarkerModel.getMarkerModelFromSeries = function (seriesModel, // Support three types of markers. Strict check.\n componentType) {\n return inner(seriesModel)[componentType];\n };\n\n MarkerModel.type = 'marker';\n MarkerModel.dependencies = ['series', 'grid', 'polar', 'geo'];\n return MarkerModel;\n}(ComponentModel);\n\nzrUtil.mixin(MarkerModel, DataFormatMixin.prototype);\nexport default MarkerModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport * as numberUtil from '../../util/number.js';\nimport { isDimensionStacked } from '../../data/helper/dataStackHelper.js';\nimport { indexOf, curry, clone, isArray } from 'zrender/lib/core/util.js';\nimport { parseDataValue } from '../../data/helper/dataValueHelper.js';\n\nfunction hasXOrY(item) {\n return !(isNaN(parseFloat(item.x)) && isNaN(parseFloat(item.y)));\n}\n\nfunction hasXAndY(item) {\n return !isNaN(parseFloat(item.x)) && !isNaN(parseFloat(item.y));\n}\n\nfunction markerTypeCalculatorWithExtent(markerType, data, otherDataDim, targetDataDim, otherCoordIndex, targetCoordIndex) {\n var coordArr = [];\n var stacked = isDimensionStacked(data, targetDataDim\n /* , otherDataDim */\n );\n var calcDataDim = stacked ? data.getCalculationInfo('stackResultDimension') : targetDataDim;\n var value = numCalculate(data, calcDataDim, markerType);\n var dataIndex = data.indicesOfNearest(calcDataDim, value)[0];\n coordArr[otherCoordIndex] = data.get(otherDataDim, dataIndex);\n coordArr[targetCoordIndex] = data.get(calcDataDim, dataIndex);\n var coordArrValue = data.get(targetDataDim, dataIndex); // Make it simple, do not visit all stacked value to count precision.\n\n var precision = numberUtil.getPrecision(data.get(targetDataDim, dataIndex));\n precision = Math.min(precision, 20);\n\n if (precision >= 0) {\n coordArr[targetCoordIndex] = +coordArr[targetCoordIndex].toFixed(precision);\n }\n\n return [coordArr, coordArrValue];\n} // TODO Specified percent\n\n\nvar markerTypeCalculator = {\n min: curry(markerTypeCalculatorWithExtent, 'min'),\n max: curry(markerTypeCalculatorWithExtent, 'max'),\n average: curry(markerTypeCalculatorWithExtent, 'average'),\n median: curry(markerTypeCalculatorWithExtent, 'median')\n};\n/**\r\n * Transform markPoint data item to format used in List by do the following\r\n * 1. Calculate statistic like `max`, `min`, `average`\r\n * 2. Convert `item.xAxis`, `item.yAxis` to `item.coord` array\r\n */\n\nexport function dataTransform(seriesModel, item) {\n if (!item) {\n return;\n }\n\n var data = seriesModel.getData();\n var coordSys = seriesModel.coordinateSystem;\n var dims = coordSys && coordSys.dimensions; // 1. If not specify the position with pixel directly\n // 2. If `coord` is not a data array. Which uses `xAxis`,\n // `yAxis` to specify the coord on each dimension\n // parseFloat first because item.x and item.y can be percent string like '20%'\n\n if (!hasXAndY(item) && !isArray(item.coord) && isArray(dims)) {\n var axisInfo = getAxisInfo(item, data, coordSys, seriesModel); // Clone the option\n // Transform the properties xAxis, yAxis, radiusAxis, angleAxis, geoCoord to value\n\n item = clone(item);\n\n if (item.type && markerTypeCalculator[item.type] && axisInfo.baseAxis && axisInfo.valueAxis) {\n var otherCoordIndex = indexOf(dims, axisInfo.baseAxis.dim);\n var targetCoordIndex = indexOf(dims, axisInfo.valueAxis.dim);\n var coordInfo = markerTypeCalculator[item.type](data, axisInfo.baseDataDim, axisInfo.valueDataDim, otherCoordIndex, targetCoordIndex);\n item.coord = coordInfo[0]; // Force to use the value of calculated value.\n // let item use the value without stack.\n\n item.value = coordInfo[1];\n } else {\n // FIXME Only has one of xAxis and yAxis.\n item.coord = [item.xAxis != null ? item.xAxis : item.radiusAxis, item.yAxis != null ? item.yAxis : item.angleAxis];\n }\n } // x y is provided\n\n\n if (item.coord == null || !isArray(dims)) {\n item.coord = [];\n } else {\n // Each coord support max, min, average\n var coord = item.coord;\n\n for (var i = 0; i < 2; i++) {\n if (markerTypeCalculator[coord[i]]) {\n coord[i] = numCalculate(data, data.mapDimension(dims[i]), coord[i]);\n }\n }\n }\n\n return item;\n}\nexport function getAxisInfo(item, data, coordSys, seriesModel) {\n var ret = {};\n\n if (item.valueIndex != null || item.valueDim != null) {\n ret.valueDataDim = item.valueIndex != null ? data.getDimension(item.valueIndex) : item.valueDim;\n ret.valueAxis = coordSys.getAxis(dataDimToCoordDim(seriesModel, ret.valueDataDim));\n ret.baseAxis = coordSys.getOtherAxis(ret.valueAxis);\n ret.baseDataDim = data.mapDimension(ret.baseAxis.dim);\n } else {\n ret.baseAxis = seriesModel.getBaseAxis();\n ret.valueAxis = coordSys.getOtherAxis(ret.baseAxis);\n ret.baseDataDim = data.mapDimension(ret.baseAxis.dim);\n ret.valueDataDim = data.mapDimension(ret.valueAxis.dim);\n }\n\n return ret;\n}\n\nfunction dataDimToCoordDim(seriesModel, dataDim) {\n var dimItem = seriesModel.getData().getDimensionInfo(dataDim);\n return dimItem && dimItem.coordDim;\n}\n/**\r\n * Filter data which is out of coordinateSystem range\r\n * [dataFilter description]\r\n */\n\n\nexport function dataFilter( // Currently only polar and cartesian has containData.\ncoordSys, item) {\n // Always return true if there is no coordSys\n return coordSys && coordSys.containData && item.coord && !hasXOrY(item) ? coordSys.containData(item.coord) : true;\n}\nexport function zoneFilter( // Currently only polar and cartesian has containData.\ncoordSys, item1, item2) {\n // Always return true if there is no coordSys\n return coordSys && coordSys.containZone && item1.coord && item2.coord && !hasXOrY(item1) && !hasXOrY(item2) ? coordSys.containZone(item1.coord, item2.coord) : true;\n}\nexport function createMarkerDimValueGetter(inCoordSys, dims) {\n return inCoordSys ? function (item, dimName, dataIndex, dimIndex) {\n var rawVal = dimIndex < 2 // x, y, radius, angle\n ? item.coord && item.coord[dimIndex] : item.value;\n return parseDataValue(rawVal, dims[dimIndex]);\n } : function (item, dimName, dataIndex, dimIndex) {\n return parseDataValue(item.value, dims[dimIndex]);\n };\n}\nexport function numCalculate(data, valueDataDim, type) {\n if (type === 'average') {\n var sum_1 = 0;\n var count_1 = 0;\n data.each(valueDataDim, function (val, idx) {\n if (!isNaN(val)) {\n sum_1 += val;\n count_1++;\n }\n });\n return sum_1 / count_1;\n } else if (type === 'median') {\n return data.getMedian(valueDataDim);\n } else {\n // max & min\n return data.getDataExtent(valueDataDim)[type === 'max' ? 1 : 0];\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport ComponentView from '../../view/Component.js';\nimport { createHashMap, each } from 'zrender/lib/core/util.js';\nimport MarkerModel from './MarkerModel.js';\nimport { makeInner } from '../../util/model.js';\nimport { enterBlur, leaveBlur } from '../../util/states.js';\nvar inner = makeInner();\n\nvar MarkerView =\n/** @class */\nfunction (_super) {\n __extends(MarkerView, _super);\n\n function MarkerView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = MarkerView.type;\n return _this;\n }\n\n MarkerView.prototype.init = function () {\n this.markerGroupMap = createHashMap();\n };\n\n MarkerView.prototype.render = function (markerModel, ecModel, api) {\n var _this = this;\n\n var markerGroupMap = this.markerGroupMap;\n markerGroupMap.each(function (item) {\n inner(item).keep = false;\n });\n ecModel.eachSeries(function (seriesModel) {\n var markerModel = MarkerModel.getMarkerModelFromSeries(seriesModel, _this.type);\n markerModel && _this.renderSeries(seriesModel, markerModel, ecModel, api);\n });\n markerGroupMap.each(function (item) {\n !inner(item).keep && _this.group.remove(item.group);\n });\n };\n\n MarkerView.prototype.markKeep = function (drawGroup) {\n inner(drawGroup).keep = true;\n };\n\n MarkerView.prototype.toggleBlurSeries = function (seriesModelList, isBlur) {\n var _this = this;\n\n each(seriesModelList, function (seriesModel) {\n var markerModel = MarkerModel.getMarkerModelFromSeries(seriesModel, _this.type);\n\n if (markerModel) {\n var data = markerModel.getData();\n data.eachItemGraphicEl(function (el) {\n if (el) {\n isBlur ? enterBlur(el) : leaveBlur(el);\n }\n });\n }\n });\n };\n\n MarkerView.type = 'marker';\n return MarkerView;\n}(ComponentView);\n\nexport default MarkerView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport MarkerModel from './MarkerModel.js';\n\nvar MarkLineModel =\n/** @class */\nfunction (_super) {\n __extends(MarkLineModel, _super);\n\n function MarkLineModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = MarkLineModel.type;\n return _this;\n }\n\n MarkLineModel.prototype.createMarkerModelFromSeries = function (markerOpt, masterMarkerModel, ecModel) {\n return new MarkLineModel(markerOpt, masterMarkerModel, ecModel);\n };\n\n MarkLineModel.type = 'markLine';\n MarkLineModel.defaultOption = {\n // zlevel: 0,\n z: 5,\n symbol: ['circle', 'arrow'],\n symbolSize: [8, 16],\n // symbolRotate: 0,\n symbolOffset: 0,\n precision: 2,\n tooltip: {\n trigger: 'item'\n },\n label: {\n show: true,\n position: 'end',\n distance: 5\n },\n lineStyle: {\n type: 'dashed'\n },\n emphasis: {\n label: {\n show: true\n },\n lineStyle: {\n width: 3\n }\n },\n animationEasing: 'linear'\n };\n return MarkLineModel;\n}(MarkerModel);\n\nexport default MarkLineModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport SeriesData from '../../data/SeriesData.js';\nimport * as numberUtil from '../../util/number.js';\nimport * as markerHelper from './markerHelper.js';\nimport LineDraw from '../../chart/helper/LineDraw.js';\nimport MarkerView from './MarkerView.js';\nimport { getStackedDimension } from '../../data/helper/dataStackHelper.js';\nimport { isCoordinateSystemType } from '../../coord/CoordinateSystem.js';\nimport { getECData } from '../../util/innerStore.js';\nimport MarkerModel from './MarkerModel.js';\nimport { isArray, retrieve, retrieve2, clone, extend, logError, merge, map, curry, filter, isNumber } from 'zrender/lib/core/util.js';\nimport { makeInner } from '../../util/model.js';\nimport { getVisualFromData } from '../../visual/helper.js';\nvar inner = makeInner();\n\nvar markLineTransform = function (seriesModel, coordSys, mlModel, item) {\n var data = seriesModel.getData();\n var itemArray;\n\n if (!isArray(item)) {\n // Special type markLine like 'min', 'max', 'average', 'median'\n var mlType = item.type;\n\n if (mlType === 'min' || mlType === 'max' || mlType === 'average' || mlType === 'median' // In case\n // data: [{\n // yAxis: 10\n // }]\n || item.xAxis != null || item.yAxis != null) {\n var valueAxis = void 0;\n var value = void 0;\n\n if (item.yAxis != null || item.xAxis != null) {\n valueAxis = coordSys.getAxis(item.yAxis != null ? 'y' : 'x');\n value = retrieve(item.yAxis, item.xAxis);\n } else {\n var axisInfo = markerHelper.getAxisInfo(item, data, coordSys, seriesModel);\n valueAxis = axisInfo.valueAxis;\n var valueDataDim = getStackedDimension(data, axisInfo.valueDataDim);\n value = markerHelper.numCalculate(data, valueDataDim, mlType);\n }\n\n var valueIndex = valueAxis.dim === 'x' ? 0 : 1;\n var baseIndex = 1 - valueIndex; // Normized to 2d data with start and end point\n\n var mlFrom = clone(item);\n var mlTo = {\n coord: []\n };\n mlFrom.type = null;\n mlFrom.coord = [];\n mlFrom.coord[baseIndex] = -Infinity;\n mlTo.coord[baseIndex] = Infinity;\n var precision = mlModel.get('precision');\n\n if (precision >= 0 && isNumber(value)) {\n value = +value.toFixed(Math.min(precision, 20));\n }\n\n mlFrom.coord[valueIndex] = mlTo.coord[valueIndex] = value;\n itemArray = [mlFrom, mlTo, {\n type: mlType,\n valueIndex: item.valueIndex,\n // Force to use the value of calculated value.\n value: value\n }];\n } else {\n // Invalid data\n if (process.env.NODE_ENV !== 'production') {\n logError('Invalid markLine data.');\n }\n\n itemArray = [];\n }\n } else {\n itemArray = item;\n }\n\n var normalizedItem = [markerHelper.dataTransform(seriesModel, itemArray[0]), markerHelper.dataTransform(seriesModel, itemArray[1]), extend({}, itemArray[2])]; // Avoid line data type is extended by from(to) data type\n\n normalizedItem[2].type = normalizedItem[2].type || null; // Merge from option and to option into line option\n\n merge(normalizedItem[2], normalizedItem[0]);\n merge(normalizedItem[2], normalizedItem[1]);\n return normalizedItem;\n};\n\nfunction isInfinity(val) {\n return !isNaN(val) && !isFinite(val);\n} // If a markLine has one dim\n\n\nfunction ifMarkLineHasOnlyDim(dimIndex, fromCoord, toCoord, coordSys) {\n var otherDimIndex = 1 - dimIndex;\n var dimName = coordSys.dimensions[dimIndex];\n return isInfinity(fromCoord[otherDimIndex]) && isInfinity(toCoord[otherDimIndex]) && fromCoord[dimIndex] === toCoord[dimIndex] && coordSys.getAxis(dimName).containData(fromCoord[dimIndex]);\n}\n\nfunction markLineFilter(coordSys, item) {\n if (coordSys.type === 'cartesian2d') {\n var fromCoord = item[0].coord;\n var toCoord = item[1].coord; // In case\n // {\n // markLine: {\n // data: [{ yAxis: 2 }]\n // }\n // }\n\n if (fromCoord && toCoord && (ifMarkLineHasOnlyDim(1, fromCoord, toCoord, coordSys) || ifMarkLineHasOnlyDim(0, fromCoord, toCoord, coordSys))) {\n return true;\n }\n }\n\n return markerHelper.dataFilter(coordSys, item[0]) && markerHelper.dataFilter(coordSys, item[1]);\n}\n\nfunction updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var itemModel = data.getItemModel(idx);\n var point;\n var xPx = numberUtil.parsePercent(itemModel.get('x'), api.getWidth());\n var yPx = numberUtil.parsePercent(itemModel.get('y'), api.getHeight());\n\n if (!isNaN(xPx) && !isNaN(yPx)) {\n point = [xPx, yPx];\n } else {\n // Chart like bar may have there own marker positioning logic\n if (seriesModel.getMarkerPosition) {\n // Use the getMarkerPosition\n point = seriesModel.getMarkerPosition(data.getValues(data.dimensions, idx));\n } else {\n var dims = coordSys.dimensions;\n var x = data.get(dims[0], idx);\n var y = data.get(dims[1], idx);\n point = coordSys.dataToPoint([x, y]);\n } // Expand line to the edge of grid if value on one axis is Inifnity\n // In case\n // markLine: {\n // data: [{\n // yAxis: 2\n // // or\n // type: 'average'\n // }]\n // }\n\n\n if (isCoordinateSystemType(coordSys, 'cartesian2d')) {\n // TODO: TYPE ts@4.1 may still infer it as Axis instead of Axis2D. Not sure if it's a bug\n var xAxis = coordSys.getAxis('x');\n var yAxis = coordSys.getAxis('y');\n var dims = coordSys.dimensions;\n\n if (isInfinity(data.get(dims[0], idx))) {\n point[0] = xAxis.toGlobalCoord(xAxis.getExtent()[isFrom ? 0 : 1]);\n } else if (isInfinity(data.get(dims[1], idx))) {\n point[1] = yAxis.toGlobalCoord(yAxis.getExtent()[isFrom ? 0 : 1]);\n }\n } // Use x, y if has any\n\n\n if (!isNaN(xPx)) {\n point[0] = xPx;\n }\n\n if (!isNaN(yPx)) {\n point[1] = yPx;\n }\n }\n\n data.setItemLayout(idx, point);\n}\n\nvar MarkLineView =\n/** @class */\nfunction (_super) {\n __extends(MarkLineView, _super);\n\n function MarkLineView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = MarkLineView.type;\n return _this;\n }\n\n MarkLineView.prototype.updateTransform = function (markLineModel, ecModel, api) {\n ecModel.eachSeries(function (seriesModel) {\n var mlModel = MarkerModel.getMarkerModelFromSeries(seriesModel, 'markLine');\n\n if (mlModel) {\n var mlData_1 = mlModel.getData();\n var fromData_1 = inner(mlModel).from;\n var toData_1 = inner(mlModel).to; // Update visual and layout of from symbol and to symbol\n\n fromData_1.each(function (idx) {\n updateSingleMarkerEndLayout(fromData_1, idx, true, seriesModel, api);\n updateSingleMarkerEndLayout(toData_1, idx, false, seriesModel, api);\n }); // Update layout of line\n\n mlData_1.each(function (idx) {\n mlData_1.setItemLayout(idx, [fromData_1.getItemLayout(idx), toData_1.getItemLayout(idx)]);\n });\n this.markerGroupMap.get(seriesModel.id).updateLayout();\n }\n }, this);\n };\n\n MarkLineView.prototype.renderSeries = function (seriesModel, mlModel, ecModel, api) {\n var coordSys = seriesModel.coordinateSystem;\n var seriesId = seriesModel.id;\n var seriesData = seriesModel.getData();\n var lineDrawMap = this.markerGroupMap;\n var lineDraw = lineDrawMap.get(seriesId) || lineDrawMap.set(seriesId, new LineDraw());\n this.group.add(lineDraw.group);\n var mlData = createList(coordSys, seriesModel, mlModel);\n var fromData = mlData.from;\n var toData = mlData.to;\n var lineData = mlData.line;\n inner(mlModel).from = fromData;\n inner(mlModel).to = toData; // Line data for tooltip and formatter\n\n mlModel.setData(lineData); // TODO\n // Functionally, `symbolSize` & `symbolOffset` can also be 2D array now.\n // But the related logic and type definition are not finished yet.\n // Finish it if required\n\n var symbolType = mlModel.get('symbol');\n var symbolSize = mlModel.get('symbolSize');\n var symbolRotate = mlModel.get('symbolRotate');\n var symbolOffset = mlModel.get('symbolOffset'); // TODO: support callback function like markPoint\n\n if (!isArray(symbolType)) {\n symbolType = [symbolType, symbolType];\n }\n\n if (!isArray(symbolSize)) {\n symbolSize = [symbolSize, symbolSize];\n }\n\n if (!isArray(symbolRotate)) {\n symbolRotate = [symbolRotate, symbolRotate];\n }\n\n if (!isArray(symbolOffset)) {\n symbolOffset = [symbolOffset, symbolOffset];\n } // Update visual and layout of from symbol and to symbol\n\n\n mlData.from.each(function (idx) {\n updateDataVisualAndLayout(fromData, idx, true);\n updateDataVisualAndLayout(toData, idx, false);\n }); // Update visual and layout of line\n\n lineData.each(function (idx) {\n var lineStyle = lineData.getItemModel(idx).getModel('lineStyle').getLineStyle(); // lineData.setItemVisual(idx, {\n // color: lineColor || fromData.getItemVisual(idx, 'color')\n // });\n\n lineData.setItemLayout(idx, [fromData.getItemLayout(idx), toData.getItemLayout(idx)]);\n\n if (lineStyle.stroke == null) {\n lineStyle.stroke = fromData.getItemVisual(idx, 'style').fill;\n }\n\n lineData.setItemVisual(idx, {\n fromSymbolKeepAspect: fromData.getItemVisual(idx, 'symbolKeepAspect'),\n fromSymbolOffset: fromData.getItemVisual(idx, 'symbolOffset'),\n fromSymbolRotate: fromData.getItemVisual(idx, 'symbolRotate'),\n fromSymbolSize: fromData.getItemVisual(idx, 'symbolSize'),\n fromSymbol: fromData.getItemVisual(idx, 'symbol'),\n toSymbolKeepAspect: toData.getItemVisual(idx, 'symbolKeepAspect'),\n toSymbolOffset: toData.getItemVisual(idx, 'symbolOffset'),\n toSymbolRotate: toData.getItemVisual(idx, 'symbolRotate'),\n toSymbolSize: toData.getItemVisual(idx, 'symbolSize'),\n toSymbol: toData.getItemVisual(idx, 'symbol'),\n style: lineStyle\n });\n });\n lineDraw.updateData(lineData); // Set host model for tooltip\n // FIXME\n\n mlData.line.eachItemGraphicEl(function (el) {\n getECData(el).dataModel = mlModel;\n el.traverse(function (child) {\n getECData(child).dataModel = mlModel;\n });\n });\n\n function updateDataVisualAndLayout(data, idx, isFrom) {\n var itemModel = data.getItemModel(idx);\n updateSingleMarkerEndLayout(data, idx, isFrom, seriesModel, api);\n var style = itemModel.getModel('itemStyle').getItemStyle();\n\n if (style.fill == null) {\n style.fill = getVisualFromData(seriesData, 'color');\n }\n\n data.setItemVisual(idx, {\n symbolKeepAspect: itemModel.get('symbolKeepAspect'),\n // `0` should be considered as a valid value, so use `retrieve2` instead of `||`\n symbolOffset: retrieve2(itemModel.get('symbolOffset', true), symbolOffset[isFrom ? 0 : 1]),\n symbolRotate: retrieve2(itemModel.get('symbolRotate', true), symbolRotate[isFrom ? 0 : 1]),\n // TODO: when 2d array is supported, it should ignore parent\n symbolSize: retrieve2(itemModel.get('symbolSize'), symbolSize[isFrom ? 0 : 1]),\n symbol: retrieve2(itemModel.get('symbol', true), symbolType[isFrom ? 0 : 1]),\n style: style\n });\n }\n\n this.markKeep(lineDraw);\n lineDraw.group.silent = mlModel.get('silent') || seriesModel.get('silent');\n };\n\n MarkLineView.type = 'markLine';\n return MarkLineView;\n}(MarkerView);\n\nfunction createList(coordSys, seriesModel, mlModel) {\n var coordDimsInfos;\n\n if (coordSys) {\n coordDimsInfos = map(coordSys && coordSys.dimensions, function (coordDim) {\n var info = seriesModel.getData().getDimensionInfo(seriesModel.getData().mapDimension(coordDim)) || {}; // In map series data don't have lng and lat dimension. Fallback to same with coordSys\n\n return extend(extend({}, info), {\n name: coordDim,\n // DON'T use ordinalMeta to parse and collect ordinal.\n ordinalMeta: null\n });\n });\n } else {\n coordDimsInfos = [{\n name: 'value',\n type: 'float'\n }];\n }\n\n var fromData = new SeriesData(coordDimsInfos, mlModel);\n var toData = new SeriesData(coordDimsInfos, mlModel); // No dimensions\n\n var lineData = new SeriesData([], mlModel);\n var optData = map(mlModel.get('data'), curry(markLineTransform, seriesModel, coordSys, mlModel));\n\n if (coordSys) {\n optData = filter(optData, curry(markLineFilter, coordSys));\n }\n\n var dimValueGetter = markerHelper.createMarkerDimValueGetter(!!coordSys, coordDimsInfos);\n fromData.initData(map(optData, function (item) {\n return item[0];\n }), null, dimValueGetter);\n toData.initData(map(optData, function (item) {\n return item[1];\n }), null, dimValueGetter);\n lineData.initData(map(optData, function (item) {\n return item[2];\n }));\n lineData.hasItemOption = true;\n return {\n from: fromData,\n to: toData,\n line: lineData\n };\n}\n\nexport default MarkLineView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\nimport checkMarkerInSeries from './checkMarkerInSeries.js';\nimport MarkLineModel from './MarkLineModel.js';\nimport MarkLineView from './MarkLineView.js';\nexport function install(registers) {\n registers.registerComponentModel(MarkLineModel);\n registers.registerComponentView(MarkLineView);\n registers.registerPreprocessor(function (opt) {\n if (checkMarkerInSeries(opt.series, 'markLine')) {\n // Make sure markLine component is enabled\n opt.markLine = opt.markLine || {};\n }\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport Model from '../../model/Model.js';\nimport { isNameSpecified } from '../../util/model.js';\nimport ComponentModel from '../../model/Component.js';\n\nvar getDefaultSelectorOptions = function (ecModel, type) {\n if (type === 'all') {\n return {\n type: 'all',\n title: ecModel.getLocaleModel().get(['legend', 'selector', 'all'])\n };\n } else if (type === 'inverse') {\n return {\n type: 'inverse',\n title: ecModel.getLocaleModel().get(['legend', 'selector', 'inverse'])\n };\n }\n};\n\nvar LegendModel =\n/** @class */\nfunction (_super) {\n __extends(LegendModel, _super);\n\n function LegendModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = LegendModel.type;\n _this.layoutMode = {\n type: 'box',\n // legend.width/height are maxWidth/maxHeight actually,\n // whereas real width/height is calculated by its content.\n // (Setting {left: 10, right: 10} does not make sense).\n // So consider the case:\n // `setOption({legend: {left: 10});`\n // then `setOption({legend: {right: 10});`\n // The previous `left` should be cleared by setting `ignoreSize`.\n ignoreSize: true\n };\n return _this;\n }\n\n LegendModel.prototype.init = function (option, parentModel, ecModel) {\n this.mergeDefaultAndTheme(option, ecModel);\n option.selected = option.selected || {};\n\n this._updateSelector(option);\n };\n\n LegendModel.prototype.mergeOption = function (option, ecModel) {\n _super.prototype.mergeOption.call(this, option, ecModel);\n\n this._updateSelector(option);\n };\n\n LegendModel.prototype._updateSelector = function (option) {\n var selector = option.selector;\n var ecModel = this.ecModel;\n\n if (selector === true) {\n selector = option.selector = ['all', 'inverse'];\n }\n\n if (zrUtil.isArray(selector)) {\n zrUtil.each(selector, function (item, index) {\n zrUtil.isString(item) && (item = {\n type: item\n });\n selector[index] = zrUtil.merge(item, getDefaultSelectorOptions(ecModel, item.type));\n });\n }\n };\n\n LegendModel.prototype.optionUpdated = function () {\n this._updateData(this.ecModel);\n\n var legendData = this._data; // If selectedMode is single, try to select one\n\n if (legendData[0] && this.get('selectedMode') === 'single') {\n var hasSelected = false; // If has any selected in option.selected\n\n for (var i = 0; i < legendData.length; i++) {\n var name_1 = legendData[i].get('name');\n\n if (this.isSelected(name_1)) {\n // Force to unselect others\n this.select(name_1);\n hasSelected = true;\n break;\n }\n } // Try select the first if selectedMode is single\n\n\n !hasSelected && this.select(legendData[0].get('name'));\n }\n };\n\n LegendModel.prototype._updateData = function (ecModel) {\n var potentialData = [];\n var availableNames = [];\n ecModel.eachRawSeries(function (seriesModel) {\n var seriesName = seriesModel.name;\n availableNames.push(seriesName);\n var isPotential;\n\n if (seriesModel.legendVisualProvider) {\n var provider = seriesModel.legendVisualProvider;\n var names = provider.getAllNames();\n\n if (!ecModel.isSeriesFiltered(seriesModel)) {\n availableNames = availableNames.concat(names);\n }\n\n if (names.length) {\n potentialData = potentialData.concat(names);\n } else {\n isPotential = true;\n }\n } else {\n isPotential = true;\n }\n\n if (isPotential && isNameSpecified(seriesModel)) {\n potentialData.push(seriesModel.name);\n }\n });\n /**\r\n * @type {Array.}\r\n * @private\r\n */\n\n this._availableNames = availableNames; // If legend.data is not specified in option, use availableNames as data,\n // which is convenient for user preparing option.\n\n var rawData = this.get('data') || potentialData;\n var legendNameMap = zrUtil.createHashMap();\n var legendData = zrUtil.map(rawData, function (dataItem) {\n // Can be string or number\n if (zrUtil.isString(dataItem) || zrUtil.isNumber(dataItem)) {\n dataItem = {\n name: dataItem\n };\n }\n\n if (legendNameMap.get(dataItem.name)) {\n // remove legend name duplicate\n return null;\n }\n\n legendNameMap.set(dataItem.name, true);\n return new Model(dataItem, this, this.ecModel);\n }, this);\n /**\r\n * @type {Array.}\r\n * @private\r\n */\n\n this._data = zrUtil.filter(legendData, function (item) {\n return !!item;\n });\n };\n\n LegendModel.prototype.getData = function () {\n return this._data;\n };\n\n LegendModel.prototype.select = function (name) {\n var selected = this.option.selected;\n var selectedMode = this.get('selectedMode');\n\n if (selectedMode === 'single') {\n var data = this._data;\n zrUtil.each(data, function (dataItem) {\n selected[dataItem.get('name')] = false;\n });\n }\n\n selected[name] = true;\n };\n\n LegendModel.prototype.unSelect = function (name) {\n if (this.get('selectedMode') !== 'single') {\n this.option.selected[name] = false;\n }\n };\n\n LegendModel.prototype.toggleSelected = function (name) {\n var selected = this.option.selected; // Default is true\n\n if (!selected.hasOwnProperty(name)) {\n selected[name] = true;\n }\n\n this[selected[name] ? 'unSelect' : 'select'](name);\n };\n\n LegendModel.prototype.allSelect = function () {\n var data = this._data;\n var selected = this.option.selected;\n zrUtil.each(data, function (dataItem) {\n selected[dataItem.get('name', true)] = true;\n });\n };\n\n LegendModel.prototype.inverseSelect = function () {\n var data = this._data;\n var selected = this.option.selected;\n zrUtil.each(data, function (dataItem) {\n var name = dataItem.get('name', true); // Initially, default value is true\n\n if (!selected.hasOwnProperty(name)) {\n selected[name] = true;\n }\n\n selected[name] = !selected[name];\n });\n };\n\n LegendModel.prototype.isSelected = function (name) {\n var selected = this.option.selected;\n return !(selected.hasOwnProperty(name) && !selected[name]) && zrUtil.indexOf(this._availableNames, name) >= 0;\n };\n\n LegendModel.prototype.getOrient = function () {\n return this.get('orient') === 'vertical' ? {\n index: 1,\n name: 'vertical'\n } : {\n index: 0,\n name: 'horizontal'\n };\n };\n\n LegendModel.type = 'legend.plain';\n LegendModel.dependencies = ['series'];\n LegendModel.defaultOption = {\n // zlevel: 0,\n z: 4,\n show: true,\n orient: 'horizontal',\n left: 'center',\n // right: 'center',\n top: 0,\n // bottom: null,\n align: 'auto',\n backgroundColor: 'rgba(0,0,0,0)',\n borderColor: '#ccc',\n borderRadius: 0,\n borderWidth: 0,\n padding: 5,\n itemGap: 10,\n itemWidth: 25,\n itemHeight: 14,\n symbolRotate: 'inherit',\n symbolKeepAspect: true,\n inactiveColor: '#ccc',\n inactiveBorderColor: '#ccc',\n inactiveBorderWidth: 'auto',\n itemStyle: {\n color: 'inherit',\n opacity: 'inherit',\n borderColor: 'inherit',\n borderWidth: 'auto',\n borderCap: 'inherit',\n borderJoin: 'inherit',\n borderDashOffset: 'inherit',\n borderMiterLimit: 'inherit'\n },\n lineStyle: {\n width: 'auto',\n color: 'inherit',\n inactiveColor: '#ccc',\n inactiveWidth: 2,\n opacity: 'inherit',\n type: 'inherit',\n cap: 'inherit',\n join: 'inherit',\n dashOffset: 'inherit',\n miterLimit: 'inherit'\n },\n textStyle: {\n color: '#333'\n },\n selectedMode: true,\n selector: false,\n selectorLabel: {\n show: true,\n borderRadius: 10,\n padding: [3, 5, 3, 5],\n fontSize: 12,\n fontFamily: 'sans-serif',\n color: '#666',\n borderWidth: 1,\n borderColor: '#666'\n },\n emphasis: {\n selectorLabel: {\n show: true,\n color: '#eee',\n backgroundColor: '#666'\n }\n },\n selectorPosition: 'auto',\n selectorItemGap: 7,\n selectorButtonGap: 10,\n tooltip: {\n show: false\n }\n };\n return LegendModel;\n}(ComponentModel);\n\nexport default LegendModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport { parse, stringify } from 'zrender/lib/tool/color.js';\nimport * as graphic from '../../util/graphic.js';\nimport { enableHoverEmphasis } from '../../util/states.js';\nimport { setLabelStyle, createTextStyle } from '../../label/labelStyle.js';\nimport { makeBackground } from '../helper/listComponent.js';\nimport * as layoutUtil from '../../util/layout.js';\nimport ComponentView from '../../view/Component.js';\nimport { createSymbol } from '../../util/symbol.js';\nimport { createOrUpdatePatternFromDecal } from '../../util/decal.js';\nvar curry = zrUtil.curry;\nvar each = zrUtil.each;\nvar Group = graphic.Group;\n\nvar LegendView =\n/** @class */\nfunction (_super) {\n __extends(LegendView, _super);\n\n function LegendView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = LegendView.type;\n _this.newlineDisabled = false;\n return _this;\n }\n\n LegendView.prototype.init = function () {\n this.group.add(this._contentGroup = new Group());\n this.group.add(this._selectorGroup = new Group());\n this._isFirstRender = true;\n };\n /**\r\n * @protected\r\n */\n\n\n LegendView.prototype.getContentGroup = function () {\n return this._contentGroup;\n };\n /**\r\n * @protected\r\n */\n\n\n LegendView.prototype.getSelectorGroup = function () {\n return this._selectorGroup;\n };\n /**\r\n * @override\r\n */\n\n\n LegendView.prototype.render = function (legendModel, ecModel, api) {\n var isFirstRender = this._isFirstRender;\n this._isFirstRender = false;\n this.resetInner();\n\n if (!legendModel.get('show', true)) {\n return;\n }\n\n var itemAlign = legendModel.get('align');\n var orient = legendModel.get('orient');\n\n if (!itemAlign || itemAlign === 'auto') {\n itemAlign = legendModel.get('left') === 'right' && orient === 'vertical' ? 'right' : 'left';\n } // selector has been normalized to an array in model\n\n\n var selector = legendModel.get('selector', true);\n var selectorPosition = legendModel.get('selectorPosition', true);\n\n if (selector && (!selectorPosition || selectorPosition === 'auto')) {\n selectorPosition = orient === 'horizontal' ? 'end' : 'start';\n }\n\n this.renderInner(itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition); // Perform layout.\n\n var positionInfo = legendModel.getBoxLayoutParams();\n var viewportSize = {\n width: api.getWidth(),\n height: api.getHeight()\n };\n var padding = legendModel.get('padding');\n var maxSize = layoutUtil.getLayoutRect(positionInfo, viewportSize, padding);\n var mainRect = this.layoutInner(legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition); // Place mainGroup, based on the calculated `mainRect`.\n\n var layoutRect = layoutUtil.getLayoutRect(zrUtil.defaults({\n width: mainRect.width,\n height: mainRect.height\n }, positionInfo), viewportSize, padding);\n this.group.x = layoutRect.x - mainRect.x;\n this.group.y = layoutRect.y - mainRect.y;\n this.group.markRedraw(); // Render background after group is layout.\n\n this.group.add(this._backgroundEl = makeBackground(mainRect, legendModel));\n };\n\n LegendView.prototype.resetInner = function () {\n this.getContentGroup().removeAll();\n this._backgroundEl && this.group.remove(this._backgroundEl);\n this.getSelectorGroup().removeAll();\n };\n\n LegendView.prototype.renderInner = function (itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition) {\n var contentGroup = this.getContentGroup();\n var legendDrawnMap = zrUtil.createHashMap();\n var selectMode = legendModel.get('selectedMode');\n var excludeSeriesId = [];\n ecModel.eachRawSeries(function (seriesModel) {\n !seriesModel.get('legendHoverLink') && excludeSeriesId.push(seriesModel.id);\n });\n each(legendModel.getData(), function (legendItemModel, dataIndex) {\n var name = legendItemModel.get('name'); // Use empty string or \\n as a newline string\n\n if (!this.newlineDisabled && (name === '' || name === '\\n')) {\n var g = new Group(); // @ts-ignore\n\n g.newline = true;\n contentGroup.add(g);\n return;\n } // Representitive series.\n\n\n var seriesModel = ecModel.getSeriesByName(name)[0];\n\n if (legendDrawnMap.get(name)) {\n // Have been drawn\n return;\n } // Legend to control series.\n\n\n if (seriesModel) {\n var data = seriesModel.getData();\n var lineVisualStyle = data.getVisual('legendLineStyle') || {};\n var legendIcon = data.getVisual('legendIcon');\n /**\r\n * `data.getVisual('style')` may be the color from the register\r\n * in series. For example, for line series,\r\n */\n\n var style = data.getVisual('style');\n\n var itemGroup = this._createItem(seriesModel, name, dataIndex, legendItemModel, legendModel, itemAlign, lineVisualStyle, style, legendIcon, selectMode, api);\n\n itemGroup.on('click', curry(dispatchSelectAction, name, null, api, excludeSeriesId)).on('mouseover', curry(dispatchHighlightAction, seriesModel.name, null, api, excludeSeriesId)).on('mouseout', curry(dispatchDownplayAction, seriesModel.name, null, api, excludeSeriesId));\n legendDrawnMap.set(name, true);\n } else {\n // Legend to control data. In pie and funnel.\n ecModel.eachRawSeries(function (seriesModel) {\n // In case multiple series has same data name\n if (legendDrawnMap.get(name)) {\n return;\n }\n\n if (seriesModel.legendVisualProvider) {\n var provider = seriesModel.legendVisualProvider;\n\n if (!provider.containName(name)) {\n return;\n }\n\n var idx = provider.indexOfName(name);\n var style = provider.getItemVisual(idx, 'style');\n var legendIcon = provider.getItemVisual(idx, 'legendIcon');\n var colorArr = parse(style.fill); // Color may be set to transparent in visualMap when data is out of range.\n // Do not show nothing.\n\n if (colorArr && colorArr[3] === 0) {\n colorArr[3] = 0.2; // TODO color is set to 0, 0, 0, 0. Should show correct RGBA\n\n style = zrUtil.extend(zrUtil.extend({}, style), {\n fill: stringify(colorArr, 'rgba')\n });\n }\n\n var itemGroup = this._createItem(seriesModel, name, dataIndex, legendItemModel, legendModel, itemAlign, {}, style, legendIcon, selectMode, api); // FIXME: consider different series has items with the same name.\n\n\n itemGroup.on('click', curry(dispatchSelectAction, null, name, api, excludeSeriesId)) // Should not specify the series name, consider legend controls\n // more than one pie series.\n .on('mouseover', curry(dispatchHighlightAction, null, name, api, excludeSeriesId)).on('mouseout', curry(dispatchDownplayAction, null, name, api, excludeSeriesId));\n legendDrawnMap.set(name, true);\n }\n }, this);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!legendDrawnMap.get(name)) {\n console.warn(name + ' series not exists. Legend data should be same with series name or data name.');\n }\n }\n }, this);\n\n if (selector) {\n this._createSelector(selector, legendModel, api, orient, selectorPosition);\n }\n };\n\n LegendView.prototype._createSelector = function (selector, legendModel, api, orient, selectorPosition) {\n var selectorGroup = this.getSelectorGroup();\n each(selector, function createSelectorButton(selectorItem) {\n var type = selectorItem.type;\n var labelText = new graphic.Text({\n style: {\n x: 0,\n y: 0,\n align: 'center',\n verticalAlign: 'middle'\n },\n onclick: function () {\n api.dispatchAction({\n type: type === 'all' ? 'legendAllSelect' : 'legendInverseSelect'\n });\n }\n });\n selectorGroup.add(labelText);\n var labelModel = legendModel.getModel('selectorLabel');\n var emphasisLabelModel = legendModel.getModel(['emphasis', 'selectorLabel']);\n setLabelStyle(labelText, {\n normal: labelModel,\n emphasis: emphasisLabelModel\n }, {\n defaultText: selectorItem.title\n });\n enableHoverEmphasis(labelText);\n });\n };\n\n LegendView.prototype._createItem = function (seriesModel, name, dataIndex, legendItemModel, legendModel, itemAlign, lineVisualStyle, itemVisualStyle, legendIcon, selectMode, api) {\n var drawType = seriesModel.visualDrawType;\n var itemWidth = legendModel.get('itemWidth');\n var itemHeight = legendModel.get('itemHeight');\n var isSelected = legendModel.isSelected(name);\n var iconRotate = legendItemModel.get('symbolRotate');\n var symbolKeepAspect = legendItemModel.get('symbolKeepAspect');\n var legendIconType = legendItemModel.get('icon');\n legendIcon = legendIconType || legendIcon || 'roundRect';\n var style = getLegendStyle(legendIcon, legendItemModel, lineVisualStyle, itemVisualStyle, drawType, isSelected, api);\n var itemGroup = new Group();\n var textStyleModel = legendItemModel.getModel('textStyle');\n\n if (zrUtil.isFunction(seriesModel.getLegendIcon) && (!legendIconType || legendIconType === 'inherit')) {\n // Series has specific way to define legend icon\n itemGroup.add(seriesModel.getLegendIcon({\n itemWidth: itemWidth,\n itemHeight: itemHeight,\n icon: legendIcon,\n iconRotate: iconRotate,\n itemStyle: style.itemStyle,\n lineStyle: style.lineStyle,\n symbolKeepAspect: symbolKeepAspect\n }));\n } else {\n // Use default legend icon policy for most series\n var rotate = legendIconType === 'inherit' && seriesModel.getData().getVisual('symbol') ? iconRotate === 'inherit' ? seriesModel.getData().getVisual('symbolRotate') : iconRotate : 0; // No rotation for no icon\n\n itemGroup.add(getDefaultLegendIcon({\n itemWidth: itemWidth,\n itemHeight: itemHeight,\n icon: legendIcon,\n iconRotate: rotate,\n itemStyle: style.itemStyle,\n lineStyle: style.lineStyle,\n symbolKeepAspect: symbolKeepAspect\n }));\n }\n\n var textX = itemAlign === 'left' ? itemWidth + 5 : -5;\n var textAlign = itemAlign;\n var formatter = legendModel.get('formatter');\n var content = name;\n\n if (zrUtil.isString(formatter) && formatter) {\n content = formatter.replace('{name}', name != null ? name : '');\n } else if (zrUtil.isFunction(formatter)) {\n content = formatter(name);\n }\n\n var textColor = isSelected ? textStyleModel.getTextColor() : legendItemModel.get('inactiveColor');\n itemGroup.add(new graphic.Text({\n style: createTextStyle(textStyleModel, {\n text: content,\n x: textX,\n y: itemHeight / 2,\n fill: textColor,\n align: textAlign,\n verticalAlign: 'middle'\n }, {\n inheritColor: textColor\n })\n })); // Add a invisible rect to increase the area of mouse hover\n\n var hitRect = new graphic.Rect({\n shape: itemGroup.getBoundingRect(),\n invisible: true\n });\n var tooltipModel = legendItemModel.getModel('tooltip');\n\n if (tooltipModel.get('show')) {\n graphic.setTooltipConfig({\n el: hitRect,\n componentModel: legendModel,\n itemName: name,\n itemTooltipOption: tooltipModel.option\n });\n }\n\n itemGroup.add(hitRect);\n itemGroup.eachChild(function (child) {\n child.silent = true;\n });\n hitRect.silent = !selectMode;\n this.getContentGroup().add(itemGroup);\n enableHoverEmphasis(itemGroup); // @ts-ignore\n\n itemGroup.__legendDataIndex = dataIndex;\n return itemGroup;\n };\n\n LegendView.prototype.layoutInner = function (legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition) {\n var contentGroup = this.getContentGroup();\n var selectorGroup = this.getSelectorGroup(); // Place items in contentGroup.\n\n layoutUtil.box(legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), maxSize.width, maxSize.height);\n var contentRect = contentGroup.getBoundingRect();\n var contentPos = [-contentRect.x, -contentRect.y];\n selectorGroup.markRedraw();\n contentGroup.markRedraw();\n\n if (selector) {\n // Place buttons in selectorGroup\n layoutUtil.box( // Buttons in selectorGroup always layout horizontally\n 'horizontal', selectorGroup, legendModel.get('selectorItemGap', true));\n var selectorRect = selectorGroup.getBoundingRect();\n var selectorPos = [-selectorRect.x, -selectorRect.y];\n var selectorButtonGap = legendModel.get('selectorButtonGap', true);\n var orientIdx = legendModel.getOrient().index;\n var wh = orientIdx === 0 ? 'width' : 'height';\n var hw = orientIdx === 0 ? 'height' : 'width';\n var yx = orientIdx === 0 ? 'y' : 'x';\n\n if (selectorPosition === 'end') {\n selectorPos[orientIdx] += contentRect[wh] + selectorButtonGap;\n } else {\n contentPos[orientIdx] += selectorRect[wh] + selectorButtonGap;\n } // Always align selector to content as 'middle'\n\n\n selectorPos[1 - orientIdx] += contentRect[hw] / 2 - selectorRect[hw] / 2;\n selectorGroup.x = selectorPos[0];\n selectorGroup.y = selectorPos[1];\n contentGroup.x = contentPos[0];\n contentGroup.y = contentPos[1];\n var mainRect = {\n x: 0,\n y: 0\n };\n mainRect[wh] = contentRect[wh] + selectorButtonGap + selectorRect[wh];\n mainRect[hw] = Math.max(contentRect[hw], selectorRect[hw]);\n mainRect[yx] = Math.min(0, selectorRect[yx] + selectorPos[1 - orientIdx]);\n return mainRect;\n } else {\n contentGroup.x = contentPos[0];\n contentGroup.y = contentPos[1];\n return this.group.getBoundingRect();\n }\n };\n /**\r\n * @protected\r\n */\n\n\n LegendView.prototype.remove = function () {\n this.getContentGroup().removeAll();\n this._isFirstRender = true;\n };\n\n LegendView.type = 'legend.plain';\n return LegendView;\n}(ComponentView);\n\nfunction getLegendStyle(iconType, legendItemModel, lineVisualStyle, itemVisualStyle, drawType, isSelected, api) {\n /**\r\n * Use series style if is inherit;\r\n * elsewise, use legend style\r\n */\n function handleCommonProps(style, visualStyle) {\n // If lineStyle.width is 'auto', it is set to be 2 if series has border\n if (style.lineWidth === 'auto') {\n style.lineWidth = visualStyle.lineWidth > 0 ? 2 : 0;\n }\n\n each(style, function (propVal, propName) {\n style[propName] === 'inherit' && (style[propName] = visualStyle[propName]);\n });\n } // itemStyle\n\n\n var itemStyleModel = legendItemModel.getModel('itemStyle');\n var itemStyle = itemStyleModel.getItemStyle();\n var iconBrushType = iconType.lastIndexOf('empty', 0) === 0 ? 'fill' : 'stroke';\n var decalStyle = itemStyleModel.getShallow('decal');\n itemStyle.decal = !decalStyle || decalStyle === 'inherit' ? itemVisualStyle.decal : createOrUpdatePatternFromDecal(decalStyle, api);\n\n if (itemStyle.fill === 'inherit') {\n /**\r\n * Series with visualDrawType as 'stroke' should have\r\n * series stroke as legend fill\r\n */\n itemStyle.fill = itemVisualStyle[drawType];\n }\n\n if (itemStyle.stroke === 'inherit') {\n /**\r\n * icon type with \"emptyXXX\" should use fill color\r\n * in visual style\r\n */\n itemStyle.stroke = itemVisualStyle[iconBrushType];\n }\n\n if (itemStyle.opacity === 'inherit') {\n /**\r\n * Use lineStyle.opacity if drawType is stroke\r\n */\n itemStyle.opacity = (drawType === 'fill' ? itemVisualStyle : lineVisualStyle).opacity;\n }\n\n handleCommonProps(itemStyle, itemVisualStyle); // lineStyle\n\n var legendLineModel = legendItemModel.getModel('lineStyle');\n var lineStyle = legendLineModel.getLineStyle();\n handleCommonProps(lineStyle, lineVisualStyle); // Fix auto color to real color\n\n itemStyle.fill === 'auto' && (itemStyle.fill = itemVisualStyle.fill);\n itemStyle.stroke === 'auto' && (itemStyle.stroke = itemVisualStyle.fill);\n lineStyle.stroke === 'auto' && (lineStyle.stroke = itemVisualStyle.fill);\n\n if (!isSelected) {\n var borderWidth = legendItemModel.get('inactiveBorderWidth');\n /**\r\n * Since stroke is set to be inactiveBorderColor, it may occur that\r\n * there is no border in series but border in legend, so we need to\r\n * use border only when series has border if is set to be auto\r\n */\n\n var visualHasBorder = itemStyle[iconBrushType];\n itemStyle.lineWidth = borderWidth === 'auto' ? itemVisualStyle.lineWidth > 0 && visualHasBorder ? 2 : 0 : itemStyle.lineWidth;\n itemStyle.fill = legendItemModel.get('inactiveColor');\n itemStyle.stroke = legendItemModel.get('inactiveBorderColor');\n lineStyle.stroke = legendLineModel.get('inactiveColor');\n lineStyle.lineWidth = legendLineModel.get('inactiveWidth');\n }\n\n return {\n itemStyle: itemStyle,\n lineStyle: lineStyle\n };\n}\n\nfunction getDefaultLegendIcon(opt) {\n var symboType = opt.icon || 'roundRect';\n var icon = createSymbol(symboType, 0, 0, opt.itemWidth, opt.itemHeight, opt.itemStyle.fill, opt.symbolKeepAspect);\n icon.setStyle(opt.itemStyle);\n icon.rotation = (opt.iconRotate || 0) * Math.PI / 180;\n icon.setOrigin([opt.itemWidth / 2, opt.itemHeight / 2]);\n\n if (symboType.indexOf('empty') > -1) {\n icon.style.stroke = icon.style.fill;\n icon.style.fill = '#fff';\n icon.style.lineWidth = 2;\n }\n\n return icon;\n}\n\nfunction dispatchSelectAction(seriesName, dataName, api, excludeSeriesId) {\n // downplay before unselect\n dispatchDownplayAction(seriesName, dataName, api, excludeSeriesId);\n api.dispatchAction({\n type: 'legendToggleSelect',\n name: seriesName != null ? seriesName : dataName\n }); // highlight after select\n // TODO highlight immediately may cause animation loss.\n\n dispatchHighlightAction(seriesName, dataName, api, excludeSeriesId);\n}\n\nfunction isUseHoverLayer(api) {\n var list = api.getZr().storage.getDisplayList();\n var emphasisState;\n var i = 0;\n var len = list.length;\n\n while (i < len && !(emphasisState = list[i].states.emphasis)) {\n i++;\n }\n\n return emphasisState && emphasisState.hoverLayer;\n}\n\nfunction dispatchHighlightAction(seriesName, dataName, api, excludeSeriesId) {\n // If element hover will move to a hoverLayer.\n if (!isUseHoverLayer(api)) {\n api.dispatchAction({\n type: 'highlight',\n seriesName: seriesName,\n name: dataName,\n excludeSeriesId: excludeSeriesId\n });\n }\n}\n\nfunction dispatchDownplayAction(seriesName, dataName, api, excludeSeriesId) {\n // If element hover will move to a hoverLayer.\n if (!isUseHoverLayer(api)) {\n api.dispatchAction({\n type: 'downplay',\n seriesName: seriesName,\n name: dataName,\n excludeSeriesId: excludeSeriesId\n });\n }\n}\n\nexport default LegendView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function legendFilter(ecModel) {\n var legendModels = ecModel.findComponents({\n mainType: 'legend'\n });\n\n if (legendModels && legendModels.length) {\n ecModel.filterSeries(function (series) {\n // If in any legend component the status is not selected.\n // Because in legend series is assumed selected when it is not in the legend data.\n for (var i = 0; i < legendModels.length; i++) {\n if (!legendModels[i].isSelected(series.name)) {\n return false;\n }\n }\n\n return true;\n });\n }\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\n// @ts-nocheck\nimport { curry, each } from 'zrender/lib/core/util.js';\n\nfunction legendSelectActionHandler(methodName, payload, ecModel) {\n var selectedMap = {};\n var isToggleSelect = methodName === 'toggleSelected';\n var isSelected; // Update all legend components\n\n ecModel.eachComponent('legend', function (legendModel) {\n if (isToggleSelect && isSelected != null) {\n // Force other legend has same selected status\n // Or the first is toggled to true and other are toggled to false\n // In the case one legend has some item unSelected in option. And if other legend\n // doesn't has the item, they will assume it is selected.\n legendModel[isSelected ? 'select' : 'unSelect'](payload.name);\n } else if (methodName === 'allSelect' || methodName === 'inverseSelect') {\n legendModel[methodName]();\n } else {\n legendModel[methodName](payload.name);\n isSelected = legendModel.isSelected(payload.name);\n }\n\n var legendData = legendModel.getData();\n each(legendData, function (model) {\n var name = model.get('name'); // Wrap element\n\n if (name === '\\n' || name === '') {\n return;\n }\n\n var isItemSelected = legendModel.isSelected(name);\n\n if (selectedMap.hasOwnProperty(name)) {\n // Unselected if any legend is unselected\n selectedMap[name] = selectedMap[name] && isItemSelected;\n } else {\n selectedMap[name] = isItemSelected;\n }\n });\n }); // Return the event explicitly\n\n return methodName === 'allSelect' || methodName === 'inverseSelect' ? {\n selected: selectedMap\n } : {\n name: payload.name,\n selected: selectedMap\n };\n}\n\nexport function installLegendAction(registers) {\n /**\r\n * @event legendToggleSelect\r\n * @type {Object}\r\n * @property {string} type 'legendToggleSelect'\r\n * @property {string} [from]\r\n * @property {string} name Series name or data item name\r\n */\n registers.registerAction('legendToggleSelect', 'legendselectchanged', curry(legendSelectActionHandler, 'toggleSelected'));\n registers.registerAction('legendAllSelect', 'legendselectall', curry(legendSelectActionHandler, 'allSelect'));\n registers.registerAction('legendInverseSelect', 'legendinverseselect', curry(legendSelectActionHandler, 'inverseSelect'));\n /**\r\n * @event legendSelect\r\n * @type {Object}\r\n * @property {string} type 'legendSelect'\r\n * @property {string} name Series name or data item name\r\n */\n\n registers.registerAction('legendSelect', 'legendselected', curry(legendSelectActionHandler, 'select'));\n /**\r\n * @event legendUnSelect\r\n * @type {Object}\r\n * @property {string} type 'legendUnSelect'\r\n * @property {string} name Series name or data item name\r\n */\n\n registers.registerAction('legendUnSelect', 'legendunselected', curry(legendSelectActionHandler, 'unSelect'));\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport LegendModel from './LegendModel.js';\nimport LegendView from './LegendView.js';\nimport legendFilter from './legendFilter.js';\nimport { installLegendAction } from './legendAction.js';\nexport function install(registers) {\n registers.registerComponentModel(LegendModel);\n registers.registerComponentView(LegendView);\n registers.registerProcessor(registers.PRIORITY.PROCESSOR.SERIES_FILTER, legendFilter);\n registers.registerSubTypeDefaulter('legend', function () {\n return 'plain';\n });\n installLegendAction(registers);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\nimport LegendModel from './LegendModel.js';\nimport { mergeLayoutParam, getLayoutParams } from '../../util/layout.js';\nimport { inheritDefaultOption } from '../../util/component.js';\n\nvar ScrollableLegendModel =\n/** @class */\nfunction (_super) {\n __extends(ScrollableLegendModel, _super);\n\n function ScrollableLegendModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = ScrollableLegendModel.type;\n return _this;\n }\n /**\r\n * @param {number} scrollDataIndex\r\n */\n\n\n ScrollableLegendModel.prototype.setScrollDataIndex = function (scrollDataIndex) {\n this.option.scrollDataIndex = scrollDataIndex;\n };\n\n ScrollableLegendModel.prototype.init = function (option, parentModel, ecModel) {\n var inputPositionParams = getLayoutParams(option);\n\n _super.prototype.init.call(this, option, parentModel, ecModel);\n\n mergeAndNormalizeLayoutParams(this, option, inputPositionParams);\n };\n /**\r\n * @override\r\n */\n\n\n ScrollableLegendModel.prototype.mergeOption = function (option, ecModel) {\n _super.prototype.mergeOption.call(this, option, ecModel);\n\n mergeAndNormalizeLayoutParams(this, this.option, option);\n };\n\n ScrollableLegendModel.type = 'legend.scroll';\n ScrollableLegendModel.defaultOption = inheritDefaultOption(LegendModel.defaultOption, {\n scrollDataIndex: 0,\n pageButtonItemGap: 5,\n pageButtonGap: null,\n pageButtonPosition: 'end',\n pageFormatter: '{current}/{total}',\n pageIcons: {\n horizontal: ['M0,0L12,-10L12,10z', 'M0,0L-12,-10L-12,10z'],\n vertical: ['M0,0L20,0L10,-20z', 'M0,0L20,0L10,20z']\n },\n pageIconColor: '#2f4554',\n pageIconInactiveColor: '#aaa',\n pageIconSize: 15,\n pageTextStyle: {\n color: '#333'\n },\n animationDurationUpdate: 800\n });\n return ScrollableLegendModel;\n}(LegendModel);\n\n; // Do not `ignoreSize` to enable setting {left: 10, right: 10}.\n\nfunction mergeAndNormalizeLayoutParams(legendModel, target, raw) {\n var orient = legendModel.getOrient();\n var ignoreSize = [1, 1];\n ignoreSize[orient.index] = 0;\n mergeLayoutParam(target, raw, {\n type: 'box',\n ignoreSize: !!ignoreSize\n });\n}\n\nexport default ScrollableLegendModel;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { __extends } from \"tslib\";\n/**\r\n * Separate legend and scrollable legend to reduce package size.\r\n */\n\nimport * as zrUtil from 'zrender/lib/core/util.js';\nimport * as graphic from '../../util/graphic.js';\nimport * as layoutUtil from '../../util/layout.js';\nimport LegendView from './LegendView.js';\nvar Group = graphic.Group;\nvar WH = ['width', 'height'];\nvar XY = ['x', 'y'];\n\nvar ScrollableLegendView =\n/** @class */\nfunction (_super) {\n __extends(ScrollableLegendView, _super);\n\n function ScrollableLegendView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.type = ScrollableLegendView.type;\n _this.newlineDisabled = true;\n _this._currentIndex = 0;\n return _this;\n }\n\n ScrollableLegendView.prototype.init = function () {\n _super.prototype.init.call(this);\n\n this.group.add(this._containerGroup = new Group());\n\n this._containerGroup.add(this.getContentGroup());\n\n this.group.add(this._controllerGroup = new Group());\n };\n /**\r\n * @override\r\n */\n\n\n ScrollableLegendView.prototype.resetInner = function () {\n _super.prototype.resetInner.call(this);\n\n this._controllerGroup.removeAll();\n\n this._containerGroup.removeClipPath();\n\n this._containerGroup.__rectSize = null;\n };\n /**\r\n * @override\r\n */\n\n\n ScrollableLegendView.prototype.renderInner = function (itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition) {\n var self = this; // Render content items.\n\n _super.prototype.renderInner.call(this, itemAlign, legendModel, ecModel, api, selector, orient, selectorPosition);\n\n var controllerGroup = this._controllerGroup; // FIXME: support be 'auto' adapt to size number text length,\n // e.g., '3/12345' should not overlap with the control arrow button.\n\n var pageIconSize = legendModel.get('pageIconSize', true);\n var pageIconSizeArr = zrUtil.isArray(pageIconSize) ? pageIconSize : [pageIconSize, pageIconSize];\n createPageButton('pagePrev', 0);\n var pageTextStyleModel = legendModel.getModel('pageTextStyle');\n controllerGroup.add(new graphic.Text({\n name: 'pageText',\n style: {\n // Placeholder to calculate a proper layout.\n text: 'xx/xx',\n fill: pageTextStyleModel.getTextColor(),\n font: pageTextStyleModel.getFont(),\n verticalAlign: 'middle',\n align: 'center'\n },\n silent: true\n }));\n createPageButton('pageNext', 1);\n\n function createPageButton(name, iconIdx) {\n var pageDataIndexName = name + 'DataIndex';\n var icon = graphic.createIcon(legendModel.get('pageIcons', true)[legendModel.getOrient().name][iconIdx], {\n // Buttons will be created in each render, so we do not need\n // to worry about avoiding using legendModel kept in scope.\n onclick: zrUtil.bind(self._pageGo, self, pageDataIndexName, legendModel, api)\n }, {\n x: -pageIconSizeArr[0] / 2,\n y: -pageIconSizeArr[1] / 2,\n width: pageIconSizeArr[0],\n height: pageIconSizeArr[1]\n });\n icon.name = name;\n controllerGroup.add(icon);\n }\n };\n /**\r\n * @override\r\n */\n\n\n ScrollableLegendView.prototype.layoutInner = function (legendModel, itemAlign, maxSize, isFirstRender, selector, selectorPosition) {\n var selectorGroup = this.getSelectorGroup();\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var xy = XY[orientIdx];\n var hw = WH[1 - orientIdx];\n var yx = XY[1 - orientIdx];\n selector && layoutUtil.box( // Buttons in selectorGroup always layout horizontally\n 'horizontal', selectorGroup, legendModel.get('selectorItemGap', true));\n var selectorButtonGap = legendModel.get('selectorButtonGap', true);\n var selectorRect = selectorGroup.getBoundingRect();\n var selectorPos = [-selectorRect.x, -selectorRect.y];\n var processMaxSize = zrUtil.clone(maxSize);\n selector && (processMaxSize[wh] = maxSize[wh] - selectorRect[wh] - selectorButtonGap);\n\n var mainRect = this._layoutContentAndController(legendModel, isFirstRender, processMaxSize, orientIdx, wh, hw, yx, xy);\n\n if (selector) {\n if (selectorPosition === 'end') {\n selectorPos[orientIdx] += mainRect[wh] + selectorButtonGap;\n } else {\n var offset = selectorRect[wh] + selectorButtonGap;\n selectorPos[orientIdx] -= offset;\n mainRect[xy] -= offset;\n }\n\n mainRect[wh] += selectorRect[wh] + selectorButtonGap;\n selectorPos[1 - orientIdx] += mainRect[yx] + mainRect[hw] / 2 - selectorRect[hw] / 2;\n mainRect[hw] = Math.max(mainRect[hw], selectorRect[hw]);\n mainRect[yx] = Math.min(mainRect[yx], selectorRect[yx] + selectorPos[1 - orientIdx]);\n selectorGroup.x = selectorPos[0];\n selectorGroup.y = selectorPos[1];\n selectorGroup.markRedraw();\n }\n\n return mainRect;\n };\n\n ScrollableLegendView.prototype._layoutContentAndController = function (legendModel, isFirstRender, maxSize, orientIdx, wh, hw, yx, xy) {\n var contentGroup = this.getContentGroup();\n var containerGroup = this._containerGroup;\n var controllerGroup = this._controllerGroup; // Place items in contentGroup.\n\n layoutUtil.box(legendModel.get('orient'), contentGroup, legendModel.get('itemGap'), !orientIdx ? null : maxSize.width, orientIdx ? null : maxSize.height);\n layoutUtil.box( // Buttons in controller are layout always horizontally.\n 'horizontal', controllerGroup, legendModel.get('pageButtonItemGap', true));\n var contentRect = contentGroup.getBoundingRect();\n var controllerRect = controllerGroup.getBoundingRect();\n var showController = this._showController = contentRect[wh] > maxSize[wh]; // In case that the inner elements of contentGroup layout do not based on [0, 0]\n\n var contentPos = [-contentRect.x, -contentRect.y]; // Remain contentPos when scroll animation perfroming.\n // If first rendering, `contentGroup.position` is [0, 0], which\n // does not make sense and may cause unexepcted animation if adopted.\n\n if (!isFirstRender) {\n contentPos[orientIdx] = contentGroup[xy];\n } // Layout container group based on 0.\n\n\n var containerPos = [0, 0];\n var controllerPos = [-controllerRect.x, -controllerRect.y];\n var pageButtonGap = zrUtil.retrieve2(legendModel.get('pageButtonGap', true), legendModel.get('itemGap', true)); // Place containerGroup and controllerGroup and contentGroup.\n\n if (showController) {\n var pageButtonPosition = legendModel.get('pageButtonPosition', true); // controller is on the right / bottom.\n\n if (pageButtonPosition === 'end') {\n controllerPos[orientIdx] += maxSize[wh] - controllerRect[wh];\n } // controller is on the left / top.\n else {\n containerPos[orientIdx] += controllerRect[wh] + pageButtonGap;\n }\n } // Always align controller to content as 'middle'.\n\n\n controllerPos[1 - orientIdx] += contentRect[hw] / 2 - controllerRect[hw] / 2;\n contentGroup.setPosition(contentPos);\n containerGroup.setPosition(containerPos);\n controllerGroup.setPosition(controllerPos); // Calculate `mainRect` and set `clipPath`.\n // mainRect should not be calculated by `this.group.getBoundingRect()`\n // for sake of the overflow.\n\n var mainRect = {\n x: 0,\n y: 0\n }; // Consider content may be overflow (should be clipped).\n\n mainRect[wh] = showController ? maxSize[wh] : contentRect[wh];\n mainRect[hw] = Math.max(contentRect[hw], controllerRect[hw]); // `containerRect[yx] + containerPos[1 - orientIdx]` is 0.\n\n mainRect[yx] = Math.min(0, controllerRect[yx] + controllerPos[1 - orientIdx]);\n containerGroup.__rectSize = maxSize[wh];\n\n if (showController) {\n var clipShape = {\n x: 0,\n y: 0\n };\n clipShape[wh] = Math.max(maxSize[wh] - controllerRect[wh] - pageButtonGap, 0);\n clipShape[hw] = mainRect[hw];\n containerGroup.setClipPath(new graphic.Rect({\n shape: clipShape\n })); // Consider content may be larger than container, container rect\n // can not be obtained from `containerGroup.getBoundingRect()`.\n\n containerGroup.__rectSize = clipShape[wh];\n } else {\n // Do not remove or ignore controller. Keep them set as placeholders.\n controllerGroup.eachChild(function (child) {\n child.attr({\n invisible: true,\n silent: true\n });\n });\n } // Content translate animation.\n\n\n var pageInfo = this._getPageInfo(legendModel);\n\n pageInfo.pageIndex != null && graphic.updateProps(contentGroup, {\n x: pageInfo.contentPosition[0],\n y: pageInfo.contentPosition[1]\n }, // When switch from \"show controller\" to \"not show controller\", view should be\n // updated immediately without animation, otherwise causes weird effect.\n showController ? legendModel : null);\n\n this._updatePageInfoView(legendModel, pageInfo);\n\n return mainRect;\n };\n\n ScrollableLegendView.prototype._pageGo = function (to, legendModel, api) {\n var scrollDataIndex = this._getPageInfo(legendModel)[to];\n\n scrollDataIndex != null && api.dispatchAction({\n type: 'legendScroll',\n scrollDataIndex: scrollDataIndex,\n legendId: legendModel.id\n });\n };\n\n ScrollableLegendView.prototype._updatePageInfoView = function (legendModel, pageInfo) {\n var controllerGroup = this._controllerGroup;\n zrUtil.each(['pagePrev', 'pageNext'], function (name) {\n var key = name + 'DataIndex';\n var canJump = pageInfo[key] != null;\n var icon = controllerGroup.childOfName(name);\n\n if (icon) {\n icon.setStyle('fill', canJump ? legendModel.get('pageIconColor', true) : legendModel.get('pageIconInactiveColor', true));\n icon.cursor = canJump ? 'pointer' : 'default';\n }\n });\n var pageText = controllerGroup.childOfName('pageText');\n var pageFormatter = legendModel.get('pageFormatter');\n var pageIndex = pageInfo.pageIndex;\n var current = pageIndex != null ? pageIndex + 1 : 0;\n var total = pageInfo.pageCount;\n pageText && pageFormatter && pageText.setStyle('text', zrUtil.isString(pageFormatter) ? pageFormatter.replace('{current}', current == null ? '' : current + '').replace('{total}', total == null ? '' : total + '') : pageFormatter({\n current: current,\n total: total\n }));\n };\n /**\r\n * contentPosition: Array., null when data item not found.\r\n * pageIndex: number, null when data item not found.\r\n * pageCount: number, always be a number, can be 0.\r\n * pagePrevDataIndex: number, null when no previous page.\r\n * pageNextDataIndex: number, null when no next page.\r\n * }\r\n */\n\n\n ScrollableLegendView.prototype._getPageInfo = function (legendModel) {\n var scrollDataIndex = legendModel.get('scrollDataIndex', true);\n var contentGroup = this.getContentGroup();\n var containerRectSize = this._containerGroup.__rectSize;\n var orientIdx = legendModel.getOrient().index;\n var wh = WH[orientIdx];\n var xy = XY[orientIdx];\n\n var targetItemIndex = this._findTargetItemIndex(scrollDataIndex);\n\n var children = contentGroup.children();\n var targetItem = children[targetItemIndex];\n var itemCount = children.length;\n var pCount = !itemCount ? 0 : 1;\n var result = {\n contentPosition: [contentGroup.x, contentGroup.y],\n pageCount: pCount,\n pageIndex: pCount - 1,\n pagePrevDataIndex: null,\n pageNextDataIndex: null\n };\n\n if (!targetItem) {\n return result;\n }\n\n var targetItemInfo = getItemInfo(targetItem);\n result.contentPosition[orientIdx] = -targetItemInfo.s; // Strategy:\n // (1) Always align based on the left/top most item.\n // (2) It is user-friendly that the last item shown in the\n // current window is shown at the begining of next window.\n // Otherwise if half of the last item is cut by the window,\n // it will have no chance to display entirely.\n // (3) Consider that item size probably be different, we\n // have calculate pageIndex by size rather than item index,\n // and we can not get page index directly by division.\n // (4) The window is to narrow to contain more than\n // one item, we should make sure that the page can be fliped.\n\n for (var i = targetItemIndex + 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i <= itemCount; ++i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // Half of the last item is out of the window.\n !currItemInfo && winEndItemInfo.e > winStartItemInfo.s + containerRectSize || // If the current item does not intersect with the window, the new page\n // can be started at the current item or the last item.\n currItemInfo && !intersect(currItemInfo, winStartItemInfo.s)) {\n if (winEndItemInfo.i > winStartItemInfo.i) {\n winStartItemInfo = winEndItemInfo;\n } else {\n // e.g., when page size is smaller than item size.\n winStartItemInfo = currItemInfo;\n }\n\n if (winStartItemInfo) {\n if (result.pageNextDataIndex == null) {\n result.pageNextDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n }\n }\n\n winEndItemInfo = currItemInfo;\n }\n\n for (var i = targetItemIndex - 1, winStartItemInfo = targetItemInfo, winEndItemInfo = targetItemInfo, currItemInfo = null; i >= -1; --i) {\n currItemInfo = getItemInfo(children[i]);\n\n if ( // If the the end item does not intersect with the window started\n // from the current item, a page can be settled.\n (!currItemInfo || !intersect(winEndItemInfo, currItemInfo.s)) && // e.g., when page size is smaller than item size.\n winStartItemInfo.i < winEndItemInfo.i) {\n winEndItemInfo = winStartItemInfo;\n\n if (result.pagePrevDataIndex == null) {\n result.pagePrevDataIndex = winStartItemInfo.i;\n }\n\n ++result.pageCount;\n ++result.pageIndex;\n }\n\n winStartItemInfo = currItemInfo;\n }\n\n return result;\n\n function getItemInfo(el) {\n if (el) {\n var itemRect = el.getBoundingRect();\n var start = itemRect[xy] + el[xy];\n return {\n s: start,\n e: start + itemRect[wh],\n i: el.__legendDataIndex\n };\n }\n }\n\n function intersect(itemInfo, winStart) {\n return itemInfo.e >= winStart && itemInfo.s <= winStart + containerRectSize;\n }\n };\n\n ScrollableLegendView.prototype._findTargetItemIndex = function (targetDataIndex) {\n if (!this._showController) {\n return 0;\n }\n\n var index;\n var contentGroup = this.getContentGroup();\n var defaultIndex;\n contentGroup.eachChild(function (child, idx) {\n var legendDataIdx = child.__legendDataIndex; // FIXME\n // If the given targetDataIndex (from model) is illegal,\n // we use defaultIndex. But the index on the legend model and\n // action payload is still illegal. That case will not be\n // changed until some scenario requires.\n\n if (defaultIndex == null && legendDataIdx != null) {\n defaultIndex = idx;\n }\n\n if (legendDataIdx === targetDataIndex) {\n index = idx;\n }\n });\n return index != null ? index : defaultIndex;\n };\n\n ScrollableLegendView.type = 'legend.scroll';\n return ScrollableLegendView;\n}(LegendView);\n\nexport default ScrollableLegendView;","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nexport default function installScrollableLegendAction(registers) {\n /**\r\n * @event legendScroll\r\n * @type {Object}\r\n * @property {string} type 'legendScroll'\r\n * @property {string} scrollDataIndex\r\n */\n registers.registerAction('legendScroll', 'legendscroll', function (payload, ecModel) {\n var scrollDataIndex = payload.scrollDataIndex;\n scrollDataIndex != null && ecModel.eachComponent({\n mainType: 'legend',\n subType: 'scroll',\n query: payload\n }, function (legendModel) {\n legendModel.setScrollDataIndex(scrollDataIndex);\n });\n });\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { use } from '../../extension.js';\nimport { install as installLegendPlain } from './installLegendPlain.js';\nimport ScrollableLegendModel from './ScrollableLegendModel.js';\nimport ScrollableLegendView from './ScrollableLegendView.js';\nimport installScrollableLegendAction from './scrollableLegendAction.js';\nexport function install(registers) {\n use(installLegendPlain);\n registers.registerComponentModel(ScrollableLegendModel);\n registers.registerComponentView(ScrollableLegendView);\n installScrollableLegendAction(registers);\n}","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport { use } from '../../extension.js';\nimport { install as installLegendPlain } from './installLegendPlain.js';\nimport { install as installLegendScroll } from './installLegendScroll.js';\nexport function install(registers) {\n use(installLegendPlain);\n use(installLegendScroll);\n}","import { __extends } from \"tslib\";\nimport * as util from '../core/util.js';\nimport { devicePixelRatio } from '../config.js';\nimport Eventful from '../core/Eventful.js';\nimport { getCanvasGradient } from './helper.js';\nimport { createCanvasPattern } from './graphic.js';\nimport BoundingRect from '../core/BoundingRect.js';\nimport { REDRAW_BIT } from '../graphic/constants.js';\nimport { platformApi } from '../core/platform.js';\nfunction createDom(id, painter, dpr) {\n var newDom = platformApi.createCanvas();\n var width = painter.getWidth();\n var height = painter.getHeight();\n var newDomStyle = newDom.style;\n if (newDomStyle) {\n newDomStyle.position = 'absolute';\n newDomStyle.left = '0';\n newDomStyle.top = '0';\n newDomStyle.width = width + 'px';\n newDomStyle.height = height + 'px';\n newDom.setAttribute('data-zr-dom-id', id);\n }\n newDom.width = width * dpr;\n newDom.height = height * dpr;\n return newDom;\n}\n;\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, painter, dpr) {\n var _this = _super.call(this) || this;\n _this.motionBlur = false;\n _this.lastFrameAlpha = 0.7;\n _this.dpr = 1;\n _this.virtual = false;\n _this.config = {};\n _this.incremental = false;\n _this.zlevel = 0;\n _this.maxRepaintRectCount = 5;\n _this.__dirty = true;\n _this.__firstTimePaint = true;\n _this.__used = false;\n _this.__drawIndex = 0;\n _this.__startIndex = 0;\n _this.__endIndex = 0;\n _this.__prevStartIndex = null;\n _this.__prevEndIndex = null;\n var dom;\n dpr = dpr || devicePixelRatio;\n if (typeof id === 'string') {\n dom = createDom(id, painter, dpr);\n }\n else if (util.isObject(id)) {\n dom = id;\n id = dom.id;\n }\n _this.id = id;\n _this.dom = dom;\n var domStyle = dom.style;\n if (domStyle) {\n util.disableUserSelect(dom);\n dom.onselectstart = function () { return false; };\n domStyle.padding = '0';\n domStyle.margin = '0';\n domStyle.borderWidth = '0';\n }\n _this.painter = painter;\n _this.dpr = dpr;\n return _this;\n }\n Layer.prototype.getElementCount = function () {\n return this.__endIndex - this.__startIndex;\n };\n Layer.prototype.afterBrush = function () {\n this.__prevStartIndex = this.__startIndex;\n this.__prevEndIndex = this.__endIndex;\n };\n Layer.prototype.initContext = function () {\n this.ctx = this.dom.getContext('2d');\n this.ctx.dpr = this.dpr;\n };\n Layer.prototype.setUnpainted = function () {\n this.__firstTimePaint = true;\n };\n Layer.prototype.createBackBuffer = function () {\n var dpr = this.dpr;\n this.domBack = createDom('back-' + this.id, this.painter, dpr);\n this.ctxBack = this.domBack.getContext('2d');\n if (dpr !== 1) {\n this.ctxBack.scale(dpr, dpr);\n }\n };\n Layer.prototype.createRepaintRects = function (displayList, prevList, viewWidth, viewHeight) {\n if (this.__firstTimePaint) {\n this.__firstTimePaint = false;\n return null;\n }\n var mergedRepaintRects = [];\n var maxRepaintRectCount = this.maxRepaintRectCount;\n var full = false;\n var pendingRect = new BoundingRect(0, 0, 0, 0);\n function addRectToMergePool(rect) {\n if (!rect.isFinite() || rect.isZero()) {\n return;\n }\n if (mergedRepaintRects.length === 0) {\n var boundingRect = new BoundingRect(0, 0, 0, 0);\n boundingRect.copy(rect);\n mergedRepaintRects.push(boundingRect);\n }\n else {\n var isMerged = false;\n var minDeltaArea = Infinity;\n var bestRectToMergeIdx = 0;\n for (var i = 0; i < mergedRepaintRects.length; ++i) {\n var mergedRect = mergedRepaintRects[i];\n if (mergedRect.intersect(rect)) {\n var pendingRect_1 = new BoundingRect(0, 0, 0, 0);\n pendingRect_1.copy(mergedRect);\n pendingRect_1.union(rect);\n mergedRepaintRects[i] = pendingRect_1;\n isMerged = true;\n break;\n }\n else if (full) {\n pendingRect.copy(rect);\n pendingRect.union(mergedRect);\n var aArea = rect.width * rect.height;\n var bArea = mergedRect.width * mergedRect.height;\n var pendingArea = pendingRect.width * pendingRect.height;\n var deltaArea = pendingArea - aArea - bArea;\n if (deltaArea < minDeltaArea) {\n minDeltaArea = deltaArea;\n bestRectToMergeIdx = i;\n }\n }\n }\n if (full) {\n mergedRepaintRects[bestRectToMergeIdx].union(rect);\n isMerged = true;\n }\n if (!isMerged) {\n var boundingRect = new BoundingRect(0, 0, 0, 0);\n boundingRect.copy(rect);\n mergedRepaintRects.push(boundingRect);\n }\n if (!full) {\n full = mergedRepaintRects.length >= maxRepaintRectCount;\n }\n }\n }\n for (var i = this.__startIndex; i < this.__endIndex; ++i) {\n var el = displayList[i];\n if (el) {\n var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);\n var prevRect = el.__isRendered && ((el.__dirty & REDRAW_BIT) || !shouldPaint)\n ? el.getPrevPaintRect()\n : null;\n if (prevRect) {\n addRectToMergePool(prevRect);\n }\n var curRect = shouldPaint && ((el.__dirty & REDRAW_BIT) || !el.__isRendered)\n ? el.getPaintRect()\n : null;\n if (curRect) {\n addRectToMergePool(curRect);\n }\n }\n }\n for (var i = this.__prevStartIndex; i < this.__prevEndIndex; ++i) {\n var el = prevList[i];\n var shouldPaint = el.shouldBePainted(viewWidth, viewHeight, true, true);\n if (el && (!shouldPaint || !el.__zr) && el.__isRendered) {\n var prevRect = el.getPrevPaintRect();\n if (prevRect) {\n addRectToMergePool(prevRect);\n }\n }\n }\n var hasIntersections;\n do {\n hasIntersections = false;\n for (var i = 0; i < mergedRepaintRects.length;) {\n if (mergedRepaintRects[i].isZero()) {\n mergedRepaintRects.splice(i, 1);\n continue;\n }\n for (var j = i + 1; j < mergedRepaintRects.length;) {\n if (mergedRepaintRects[i].intersect(mergedRepaintRects[j])) {\n hasIntersections = true;\n mergedRepaintRects[i].union(mergedRepaintRects[j]);\n mergedRepaintRects.splice(j, 1);\n }\n else {\n j++;\n }\n }\n i++;\n }\n } while (hasIntersections);\n this._paintRects = mergedRepaintRects;\n return mergedRepaintRects;\n };\n Layer.prototype.debugGetPaintRects = function () {\n return (this._paintRects || []).slice();\n };\n Layer.prototype.resize = function (width, height) {\n var dpr = this.dpr;\n var dom = this.dom;\n var domStyle = dom.style;\n var domBack = this.domBack;\n if (domStyle) {\n domStyle.width = width + 'px';\n domStyle.height = height + 'px';\n }\n dom.width = width * dpr;\n dom.height = height * dpr;\n if (domBack) {\n domBack.width = width * dpr;\n domBack.height = height * dpr;\n if (dpr !== 1) {\n this.ctxBack.scale(dpr, dpr);\n }\n }\n };\n Layer.prototype.clear = function (clearAll, clearColor, repaintRects) {\n var dom = this.dom;\n var ctx = this.ctx;\n var width = dom.width;\n var height = dom.height;\n clearColor = clearColor || this.clearColor;\n var haveMotionBLur = this.motionBlur && !clearAll;\n var lastFrameAlpha = this.lastFrameAlpha;\n var dpr = this.dpr;\n var self = this;\n if (haveMotionBLur) {\n if (!this.domBack) {\n this.createBackBuffer();\n }\n this.ctxBack.globalCompositeOperation = 'copy';\n this.ctxBack.drawImage(dom, 0, 0, width / dpr, height / dpr);\n }\n var domBack = this.domBack;\n function doClear(x, y, width, height) {\n ctx.clearRect(x, y, width, height);\n if (clearColor && clearColor !== 'transparent') {\n var clearColorGradientOrPattern = void 0;\n if (util.isGradientObject(clearColor)) {\n var shouldCache = clearColor.global || (clearColor.__width === width\n && clearColor.__height === height);\n clearColorGradientOrPattern = shouldCache\n && clearColor.__canvasGradient\n || getCanvasGradient(ctx, clearColor, {\n x: 0,\n y: 0,\n width: width,\n height: height\n });\n clearColor.__canvasGradient = clearColorGradientOrPattern;\n clearColor.__width = width;\n clearColor.__height = height;\n }\n else if (util.isImagePatternObject(clearColor)) {\n clearColor.scaleX = clearColor.scaleX || dpr;\n clearColor.scaleY = clearColor.scaleY || dpr;\n clearColorGradientOrPattern = createCanvasPattern(ctx, clearColor, {\n dirty: function () {\n self.setUnpainted();\n self.__painter.refresh();\n }\n });\n }\n ctx.save();\n ctx.fillStyle = clearColorGradientOrPattern || clearColor;\n ctx.fillRect(x, y, width, height);\n ctx.restore();\n }\n if (haveMotionBLur) {\n ctx.save();\n ctx.globalAlpha = lastFrameAlpha;\n ctx.drawImage(domBack, x, y, width, height);\n ctx.restore();\n }\n }\n ;\n if (!repaintRects || haveMotionBLur) {\n doClear(0, 0, width, height);\n }\n else if (repaintRects.length) {\n util.each(repaintRects, function (rect) {\n doClear(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n });\n }\n };\n return Layer;\n}(Eventful));\nexport default Layer;\n","import { devicePixelRatio } from '../config.js';\nimport * as util from '../core/util.js';\nimport Layer from './Layer.js';\nimport requestAnimationFrame from '../animation/requestAnimationFrame.js';\nimport env from '../core/env.js';\nimport { brush, brushSingle } from './graphic.js';\nimport { REDRAW_BIT } from '../graphic/constants.js';\nimport { getSize } from './helper.js';\nvar HOVER_LAYER_ZLEVEL = 1e5;\nvar CANVAS_ZLEVEL = 314159;\nvar EL_AFTER_INCREMENTAL_INC = 0.01;\nvar INCREMENTAL_INC = 0.001;\nfunction isLayerValid(layer) {\n if (!layer) {\n return false;\n }\n if (layer.__builtin__) {\n return true;\n }\n if (typeof (layer.resize) !== 'function'\n || typeof (layer.refresh) !== 'function') {\n return false;\n }\n return true;\n}\nfunction createRoot(width, height) {\n var domRoot = document.createElement('div');\n domRoot.style.cssText = [\n 'position:relative',\n 'width:' + width + 'px',\n 'height:' + height + 'px',\n 'padding:0',\n 'margin:0',\n 'border-width:0'\n ].join(';') + ';';\n return domRoot;\n}\nvar CanvasPainter = (function () {\n function CanvasPainter(root, storage, opts, id) {\n this.type = 'canvas';\n this._zlevelList = [];\n this._prevDisplayList = [];\n this._layers = {};\n this._layerConfig = {};\n this._needsManuallyCompositing = false;\n this.type = 'canvas';\n var singleCanvas = !root.nodeName\n || root.nodeName.toUpperCase() === 'CANVAS';\n this._opts = opts = util.extend({}, opts || {});\n this.dpr = opts.devicePixelRatio || devicePixelRatio;\n this._singleCanvas = singleCanvas;\n this.root = root;\n var rootStyle = root.style;\n if (rootStyle) {\n util.disableUserSelect(root);\n root.innerHTML = '';\n }\n this.storage = storage;\n var zlevelList = this._zlevelList;\n this._prevDisplayList = [];\n var layers = this._layers;\n if (!singleCanvas) {\n this._width = getSize(root, 0, opts);\n this._height = getSize(root, 1, opts);\n var domRoot = this._domRoot = createRoot(this._width, this._height);\n root.appendChild(domRoot);\n }\n else {\n var rootCanvas = root;\n var width = rootCanvas.width;\n var height = rootCanvas.height;\n if (opts.width != null) {\n width = opts.width;\n }\n if (opts.height != null) {\n height = opts.height;\n }\n this.dpr = opts.devicePixelRatio || 1;\n rootCanvas.width = width * this.dpr;\n rootCanvas.height = height * this.dpr;\n this._width = width;\n this._height = height;\n var mainLayer = new Layer(rootCanvas, this, this.dpr);\n mainLayer.__builtin__ = true;\n mainLayer.initContext();\n layers[CANVAS_ZLEVEL] = mainLayer;\n mainLayer.zlevel = CANVAS_ZLEVEL;\n zlevelList.push(CANVAS_ZLEVEL);\n this._domRoot = root;\n }\n }\n CanvasPainter.prototype.getType = function () {\n return 'canvas';\n };\n CanvasPainter.prototype.isSingleCanvas = function () {\n return this._singleCanvas;\n };\n CanvasPainter.prototype.getViewportRoot = function () {\n return this._domRoot;\n };\n CanvasPainter.prototype.getViewportRootOffset = function () {\n var viewportRoot = this.getViewportRoot();\n if (viewportRoot) {\n return {\n offsetLeft: viewportRoot.offsetLeft || 0,\n offsetTop: viewportRoot.offsetTop || 0\n };\n }\n };\n CanvasPainter.prototype.refresh = function (paintAll) {\n var list = this.storage.getDisplayList(true);\n var prevList = this._prevDisplayList;\n var zlevelList = this._zlevelList;\n this._redrawId = Math.random();\n this._paintList(list, prevList, paintAll, this._redrawId);\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n if (!layer.__builtin__ && layer.refresh) {\n var clearColor = i === 0 ? this._backgroundColor : null;\n layer.refresh(clearColor);\n }\n }\n if (this._opts.useDirtyRect) {\n this._prevDisplayList = list.slice();\n }\n return this;\n };\n CanvasPainter.prototype.refreshHover = function () {\n this._paintHoverList(this.storage.getDisplayList(false));\n };\n CanvasPainter.prototype._paintHoverList = function (list) {\n var len = list.length;\n var hoverLayer = this._hoverlayer;\n hoverLayer && hoverLayer.clear();\n if (!len) {\n return;\n }\n var scope = {\n inHover: true,\n viewWidth: this._width,\n viewHeight: this._height\n };\n var ctx;\n for (var i = 0; i < len; i++) {\n var el = list[i];\n if (el.__inHover) {\n if (!hoverLayer) {\n hoverLayer = this._hoverlayer = this.getLayer(HOVER_LAYER_ZLEVEL);\n }\n if (!ctx) {\n ctx = hoverLayer.ctx;\n ctx.save();\n }\n brush(ctx, el, scope, i === len - 1);\n }\n }\n if (ctx) {\n ctx.restore();\n }\n };\n CanvasPainter.prototype.getHoverLayer = function () {\n return this.getLayer(HOVER_LAYER_ZLEVEL);\n };\n CanvasPainter.prototype.paintOne = function (ctx, el) {\n brushSingle(ctx, el);\n };\n CanvasPainter.prototype._paintList = function (list, prevList, paintAll, redrawId) {\n if (this._redrawId !== redrawId) {\n return;\n }\n paintAll = paintAll || false;\n this._updateLayerStatus(list);\n var _a = this._doPaintList(list, prevList, paintAll), finished = _a.finished, needsRefreshHover = _a.needsRefreshHover;\n if (this._needsManuallyCompositing) {\n this._compositeManually();\n }\n if (needsRefreshHover) {\n this._paintHoverList(list);\n }\n if (!finished) {\n var self_1 = this;\n requestAnimationFrame(function () {\n self_1._paintList(list, prevList, paintAll, redrawId);\n });\n }\n else {\n this.eachLayer(function (layer) {\n layer.afterBrush && layer.afterBrush();\n });\n }\n };\n CanvasPainter.prototype._compositeManually = function () {\n var ctx = this.getLayer(CANVAS_ZLEVEL).ctx;\n var width = this._domRoot.width;\n var height = this._domRoot.height;\n ctx.clearRect(0, 0, width, height);\n this.eachBuiltinLayer(function (layer) {\n if (layer.virtual) {\n ctx.drawImage(layer.dom, 0, 0, width, height);\n }\n });\n };\n CanvasPainter.prototype._doPaintList = function (list, prevList, paintAll) {\n var _this = this;\n var layerList = [];\n var useDirtyRect = this._opts.useDirtyRect;\n for (var zi = 0; zi < this._zlevelList.length; zi++) {\n var zlevel = this._zlevelList[zi];\n var layer = this._layers[zlevel];\n if (layer.__builtin__\n && layer !== this._hoverlayer\n && (layer.__dirty || paintAll)) {\n layerList.push(layer);\n }\n }\n var finished = true;\n var needsRefreshHover = false;\n var _loop_1 = function (k) {\n var layer = layerList[k];\n var ctx = layer.ctx;\n var repaintRects = useDirtyRect\n && layer.createRepaintRects(list, prevList, this_1._width, this_1._height);\n var start = paintAll ? layer.__startIndex : layer.__drawIndex;\n var useTimer = !paintAll && layer.incremental && Date.now;\n var startTime = useTimer && Date.now();\n var clearColor = layer.zlevel === this_1._zlevelList[0]\n ? this_1._backgroundColor : null;\n if (layer.__startIndex === layer.__endIndex) {\n layer.clear(false, clearColor, repaintRects);\n }\n else if (start === layer.__startIndex) {\n var firstEl = list[start];\n if (!firstEl.incremental || !firstEl.notClear || paintAll) {\n layer.clear(false, clearColor, repaintRects);\n }\n }\n if (start === -1) {\n console.error('For some unknown reason. drawIndex is -1');\n start = layer.__startIndex;\n }\n var i;\n var repaint = function (repaintRect) {\n var scope = {\n inHover: false,\n allClipped: false,\n prevEl: null,\n viewWidth: _this._width,\n viewHeight: _this._height\n };\n for (i = start; i < layer.__endIndex; i++) {\n var el = list[i];\n if (el.__inHover) {\n needsRefreshHover = true;\n }\n _this._doPaintEl(el, layer, useDirtyRect, repaintRect, scope, i === layer.__endIndex - 1);\n if (useTimer) {\n var dTime = Date.now() - startTime;\n if (dTime > 15) {\n break;\n }\n }\n }\n if (scope.prevElClipPaths) {\n ctx.restore();\n }\n };\n if (repaintRects) {\n if (repaintRects.length === 0) {\n i = layer.__endIndex;\n }\n else {\n var dpr = this_1.dpr;\n for (var r = 0; r < repaintRects.length; ++r) {\n var rect = repaintRects[r];\n ctx.save();\n ctx.beginPath();\n ctx.rect(rect.x * dpr, rect.y * dpr, rect.width * dpr, rect.height * dpr);\n ctx.clip();\n repaint(rect);\n ctx.restore();\n }\n }\n }\n else {\n ctx.save();\n repaint();\n ctx.restore();\n }\n layer.__drawIndex = i;\n if (layer.__drawIndex < layer.__endIndex) {\n finished = false;\n }\n };\n var this_1 = this;\n for (var k = 0; k < layerList.length; k++) {\n _loop_1(k);\n }\n if (env.wxa) {\n util.each(this._layers, function (layer) {\n if (layer && layer.ctx && layer.ctx.draw) {\n layer.ctx.draw();\n }\n });\n }\n return {\n finished: finished,\n needsRefreshHover: needsRefreshHover\n };\n };\n CanvasPainter.prototype._doPaintEl = function (el, currentLayer, useDirtyRect, repaintRect, scope, isLast) {\n var ctx = currentLayer.ctx;\n if (useDirtyRect) {\n var paintRect = el.getPaintRect();\n if (!repaintRect || paintRect && paintRect.intersect(repaintRect)) {\n brush(ctx, el, scope, isLast);\n el.setPrevPaintRect(paintRect);\n }\n }\n else {\n brush(ctx, el, scope, isLast);\n }\n };\n CanvasPainter.prototype.getLayer = function (zlevel, virtual) {\n if (this._singleCanvas && !this._needsManuallyCompositing) {\n zlevel = CANVAS_ZLEVEL;\n }\n var layer = this._layers[zlevel];\n if (!layer) {\n layer = new Layer('zr_' + zlevel, this, this.dpr);\n layer.zlevel = zlevel;\n layer.__builtin__ = true;\n if (this._layerConfig[zlevel]) {\n util.merge(layer, this._layerConfig[zlevel], true);\n }\n else if (this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC]) {\n util.merge(layer, this._layerConfig[zlevel - EL_AFTER_INCREMENTAL_INC], true);\n }\n if (virtual) {\n layer.virtual = virtual;\n }\n this.insertLayer(zlevel, layer);\n layer.initContext();\n }\n return layer;\n };\n CanvasPainter.prototype.insertLayer = function (zlevel, layer) {\n var layersMap = this._layers;\n var zlevelList = this._zlevelList;\n var len = zlevelList.length;\n var domRoot = this._domRoot;\n var prevLayer = null;\n var i = -1;\n if (layersMap[zlevel]) {\n if (process.env.NODE_ENV !== 'production') {\n util.logError('ZLevel ' + zlevel + ' has been used already');\n }\n return;\n }\n if (!isLayerValid(layer)) {\n if (process.env.NODE_ENV !== 'production') {\n util.logError('Layer of zlevel ' + zlevel + ' is not valid');\n }\n return;\n }\n if (len > 0 && zlevel > zlevelList[0]) {\n for (i = 0; i < len - 1; i++) {\n if (zlevelList[i] < zlevel\n && zlevelList[i + 1] > zlevel) {\n break;\n }\n }\n prevLayer = layersMap[zlevelList[i]];\n }\n zlevelList.splice(i + 1, 0, zlevel);\n layersMap[zlevel] = layer;\n if (!layer.virtual) {\n if (prevLayer) {\n var prevDom = prevLayer.dom;\n if (prevDom.nextSibling) {\n domRoot.insertBefore(layer.dom, prevDom.nextSibling);\n }\n else {\n domRoot.appendChild(layer.dom);\n }\n }\n else {\n if (domRoot.firstChild) {\n domRoot.insertBefore(layer.dom, domRoot.firstChild);\n }\n else {\n domRoot.appendChild(layer.dom);\n }\n }\n }\n layer.__painter = this;\n };\n CanvasPainter.prototype.eachLayer = function (cb, context) {\n var zlevelList = this._zlevelList;\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n cb.call(context, this._layers[z], z);\n }\n };\n CanvasPainter.prototype.eachBuiltinLayer = function (cb, context) {\n var zlevelList = this._zlevelList;\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n if (layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n };\n CanvasPainter.prototype.eachOtherLayer = function (cb, context) {\n var zlevelList = this._zlevelList;\n for (var i = 0; i < zlevelList.length; i++) {\n var z = zlevelList[i];\n var layer = this._layers[z];\n if (!layer.__builtin__) {\n cb.call(context, layer, z);\n }\n }\n };\n CanvasPainter.prototype.getLayers = function () {\n return this._layers;\n };\n CanvasPainter.prototype._updateLayerStatus = function (list) {\n this.eachBuiltinLayer(function (layer, z) {\n layer.__dirty = layer.__used = false;\n });\n function updatePrevLayer(idx) {\n if (prevLayer) {\n if (prevLayer.__endIndex !== idx) {\n prevLayer.__dirty = true;\n }\n prevLayer.__endIndex = idx;\n }\n }\n if (this._singleCanvas) {\n for (var i_1 = 1; i_1 < list.length; i_1++) {\n var el = list[i_1];\n if (el.zlevel !== list[i_1 - 1].zlevel || el.incremental) {\n this._needsManuallyCompositing = true;\n break;\n }\n }\n }\n var prevLayer = null;\n var incrementalLayerCount = 0;\n var prevZlevel;\n var i;\n for (i = 0; i < list.length; i++) {\n var el = list[i];\n var zlevel = el.zlevel;\n var layer = void 0;\n if (prevZlevel !== zlevel) {\n prevZlevel = zlevel;\n incrementalLayerCount = 0;\n }\n if (el.incremental) {\n layer = this.getLayer(zlevel + INCREMENTAL_INC, this._needsManuallyCompositing);\n layer.incremental = true;\n incrementalLayerCount = 1;\n }\n else {\n layer = this.getLayer(zlevel + (incrementalLayerCount > 0 ? EL_AFTER_INCREMENTAL_INC : 0), this._needsManuallyCompositing);\n }\n if (!layer.__builtin__) {\n util.logError('ZLevel ' + zlevel + ' has been used by unkown layer ' + layer.id);\n }\n if (layer !== prevLayer) {\n layer.__used = true;\n if (layer.__startIndex !== i) {\n layer.__dirty = true;\n }\n layer.__startIndex = i;\n if (!layer.incremental) {\n layer.__drawIndex = i;\n }\n else {\n layer.__drawIndex = -1;\n }\n updatePrevLayer(i);\n prevLayer = layer;\n }\n if ((el.__dirty & REDRAW_BIT) && !el.__inHover) {\n layer.__dirty = true;\n if (layer.incremental && layer.__drawIndex < 0) {\n layer.__drawIndex = i;\n }\n }\n }\n updatePrevLayer(i);\n this.eachBuiltinLayer(function (layer, z) {\n if (!layer.__used && layer.getElementCount() > 0) {\n layer.__dirty = true;\n layer.__startIndex = layer.__endIndex = layer.__drawIndex = 0;\n }\n if (layer.__dirty && layer.__drawIndex < 0) {\n layer.__drawIndex = layer.__startIndex;\n }\n });\n };\n CanvasPainter.prototype.clear = function () {\n this.eachBuiltinLayer(this._clearLayer);\n return this;\n };\n CanvasPainter.prototype._clearLayer = function (layer) {\n layer.clear();\n };\n CanvasPainter.prototype.setBackgroundColor = function (backgroundColor) {\n this._backgroundColor = backgroundColor;\n util.each(this._layers, function (layer) {\n layer.setUnpainted();\n });\n };\n CanvasPainter.prototype.configLayer = function (zlevel, config) {\n if (config) {\n var layerConfig = this._layerConfig;\n if (!layerConfig[zlevel]) {\n layerConfig[zlevel] = config;\n }\n else {\n util.merge(layerConfig[zlevel], config, true);\n }\n for (var i = 0; i < this._zlevelList.length; i++) {\n var _zlevel = this._zlevelList[i];\n if (_zlevel === zlevel || _zlevel === zlevel + EL_AFTER_INCREMENTAL_INC) {\n var layer = this._layers[_zlevel];\n util.merge(layer, layerConfig[zlevel], true);\n }\n }\n }\n };\n CanvasPainter.prototype.delLayer = function (zlevel) {\n var layers = this._layers;\n var zlevelList = this._zlevelList;\n var layer = layers[zlevel];\n if (!layer) {\n return;\n }\n layer.dom.parentNode.removeChild(layer.dom);\n delete layers[zlevel];\n zlevelList.splice(util.indexOf(zlevelList, zlevel), 1);\n };\n CanvasPainter.prototype.resize = function (width, height) {\n if (!this._domRoot.style) {\n if (width == null || height == null) {\n return;\n }\n this._width = width;\n this._height = height;\n this.getLayer(CANVAS_ZLEVEL).resize(width, height);\n }\n else {\n var domRoot = this._domRoot;\n domRoot.style.display = 'none';\n var opts = this._opts;\n var root = this.root;\n width != null && (opts.width = width);\n height != null && (opts.height = height);\n width = getSize(root, 0, opts);\n height = getSize(root, 1, opts);\n domRoot.style.display = '';\n if (this._width !== width || height !== this._height) {\n domRoot.style.width = width + 'px';\n domRoot.style.height = height + 'px';\n for (var id in this._layers) {\n if (this._layers.hasOwnProperty(id)) {\n this._layers[id].resize(width, height);\n }\n }\n this.refresh(true);\n }\n this._width = width;\n this._height = height;\n }\n return this;\n };\n CanvasPainter.prototype.clearLayer = function (zlevel) {\n var layer = this._layers[zlevel];\n if (layer) {\n layer.clear();\n }\n };\n CanvasPainter.prototype.dispose = function () {\n this.root.innerHTML = '';\n this.root =\n this.storage =\n this._domRoot =\n this._layers = null;\n };\n CanvasPainter.prototype.getRenderedCanvas = function (opts) {\n opts = opts || {};\n if (this._singleCanvas && !this._compositeManually) {\n return this._layers[CANVAS_ZLEVEL].dom;\n }\n var imageLayer = new Layer('image', this, opts.pixelRatio || this.dpr);\n imageLayer.initContext();\n imageLayer.clear(false, opts.backgroundColor || this._backgroundColor);\n var ctx = imageLayer.ctx;\n if (opts.pixelRatio <= this.dpr) {\n this.refresh();\n var width_1 = imageLayer.dom.width;\n var height_1 = imageLayer.dom.height;\n this.eachLayer(function (layer) {\n if (layer.__builtin__) {\n ctx.drawImage(layer.dom, 0, 0, width_1, height_1);\n }\n else if (layer.renderToCanvas) {\n ctx.save();\n layer.renderToCanvas(ctx);\n ctx.restore();\n }\n });\n }\n else {\n var scope = {\n inHover: false,\n viewWidth: this._width,\n viewHeight: this._height\n };\n var displayList = this.storage.getDisplayList(true);\n for (var i = 0, len = displayList.length; i < len; i++) {\n var el = displayList[i];\n brush(ctx, el, scope, i === len - 1);\n }\n }\n return imageLayer.dom;\n };\n CanvasPainter.prototype.getWidth = function () {\n return this._width;\n };\n CanvasPainter.prototype.getHeight = function () {\n return this._height;\n };\n return CanvasPainter;\n}());\nexport default CanvasPainter;\n;\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements. See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership. The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License. You may obtain a copy of the License at\n*\n* http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied. See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n/**\n * AUTO-GENERATED FILE. DO NOT MODIFY.\n */\n\n/*\r\n* Licensed to the Apache Software Foundation (ASF) under one\r\n* or more contributor license agreements. See the NOTICE file\r\n* distributed with this work for additional information\r\n* regarding copyright ownership. The ASF licenses this file\r\n* to you under the Apache License, Version 2.0 (the\r\n* \"License\"); you may not use this file except in compliance\r\n* with the License. You may obtain a copy of the License at\r\n*\r\n* http://www.apache.org/licenses/LICENSE-2.0\r\n*\r\n* Unless required by applicable law or agreed to in writing,\r\n* software distributed under the License is distributed on an\r\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\n* KIND, either express or implied. See the License for the\r\n* specific language governing permissions and limitations\r\n* under the License.\r\n*/\nimport CanvasPainter from 'zrender/lib/canvas/Painter.js';\nexport function install(registers) {\n registers.registerPainter('canvas', CanvasPainter);\n}","var raf = null;\nfunction requestAnimationFrame (callback) {\n if (!raf) {\n raf = (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function (callback) {\n return setTimeout(callback, 16)\n }\n ).bind(window);\n }\n return raf(callback)\n}\n\nvar caf = null;\nfunction cancelAnimationFrame (id) {\n if (!caf) {\n caf = (\n window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n window.mozCancelAnimationFrame ||\n function (id) {\n clearTimeout(id);\n }\n ).bind(window);\n }\n\n caf(id);\n}\n\nfunction createStyles (styleText) {\n var style = document.createElement('style');\n\n if (style.styleSheet) {\n style.styleSheet.cssText = styleText;\n } else {\n style.appendChild(document.createTextNode(styleText));\n }\n (document.querySelector('head') || document.body).appendChild(style);\n return style\n}\n\nfunction createElement (tagName, props) {\n if ( props === void 0 ) props = {};\n\n var elem = document.createElement(tagName);\n Object.keys(props).forEach(function (key) {\n elem[key] = props[key];\n });\n return elem\n}\n\nfunction getComputedStyle (elem, prop, pseudo) {\n // for older versions of Firefox, `getComputedStyle` required\n // the second argument and may return `null` for some elements\n // when `display: none`\n var computedStyle = window.getComputedStyle(elem, pseudo || null) || {\n display: 'none'\n };\n\n return computedStyle[prop]\n}\n\nfunction getRenderInfo (elem) {\n if (!document.documentElement.contains(elem)) {\n return {\n detached: true,\n rendered: false\n }\n }\n\n var current = elem;\n while (current !== document) {\n if (getComputedStyle(current, 'display') === 'none') {\n return {\n detached: false,\n rendered: false\n }\n }\n current = current.parentNode;\n }\n\n return {\n detached: false,\n rendered: true\n }\n}\n\nvar css_248z = \".resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:\\\"\\\";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}\";\n\nvar total = 0;\nvar style = null;\n\nfunction addListener (elem, callback) {\n if (!elem.__resize_mutation_handler__) {\n elem.__resize_mutation_handler__ = handleMutation.bind(elem);\n }\n\n var listeners = elem.__resize_listeners__;\n\n if (!listeners) {\n elem.__resize_listeners__ = [];\n if (window.ResizeObserver) {\n var offsetWidth = elem.offsetWidth;\n var offsetHeight = elem.offsetHeight;\n var ro = new ResizeObserver(function () {\n if (!elem.__resize_observer_triggered__) {\n elem.__resize_observer_triggered__ = true;\n if (elem.offsetWidth === offsetWidth && elem.offsetHeight === offsetHeight) {\n return\n }\n }\n runCallbacks(elem);\n });\n\n // initially display none won't trigger ResizeObserver callback\n var ref = getRenderInfo(elem);\n var detached = ref.detached;\n var rendered = ref.rendered;\n elem.__resize_observer_triggered__ = detached === false && rendered === false;\n elem.__resize_observer__ = ro;\n ro.observe(elem);\n } else if (elem.attachEvent && elem.addEventListener) {\n // targeting IE9/10\n elem.__resize_legacy_resize_handler__ = function handleLegacyResize () {\n runCallbacks(elem);\n };\n elem.attachEvent('onresize', elem.__resize_legacy_resize_handler__);\n document.addEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n } else {\n if (!total) {\n style = createStyles(css_248z);\n }\n initTriggers(elem);\n\n elem.__resize_rendered__ = getRenderInfo(elem).rendered;\n if (window.MutationObserver) {\n var mo = new MutationObserver(elem.__resize_mutation_handler__);\n mo.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n elem.__resize_mutation_observer__ = mo;\n }\n }\n }\n\n elem.__resize_listeners__.push(callback);\n total++;\n}\n\nfunction removeListener (elem, callback) {\n var listeners = elem.__resize_listeners__;\n if (!listeners) {\n return\n }\n\n if (callback) {\n listeners.splice(listeners.indexOf(callback), 1);\n }\n\n // no listeners exist, or removing all listeners\n if (!listeners.length || !callback) {\n // targeting IE9/10\n if (elem.detachEvent && elem.removeEventListener) {\n elem.detachEvent('onresize', elem.__resize_legacy_resize_handler__);\n document.removeEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n return\n }\n\n if (elem.__resize_observer__) {\n elem.__resize_observer__.unobserve(elem);\n elem.__resize_observer__.disconnect();\n elem.__resize_observer__ = null;\n } else {\n if (elem.__resize_mutation_observer__) {\n elem.__resize_mutation_observer__.disconnect();\n elem.__resize_mutation_observer__ = null;\n }\n elem.removeEventListener('scroll', handleScroll);\n elem.removeChild(elem.__resize_triggers__.triggers);\n elem.__resize_triggers__ = null;\n }\n elem.__resize_listeners__ = null;\n }\n\n if (!--total && style) {\n style.parentNode.removeChild(style);\n }\n}\n\nfunction getUpdatedSize (elem) {\n var ref = elem.__resize_last__;\n var width = ref.width;\n var height = ref.height;\n var offsetWidth = elem.offsetWidth;\n var offsetHeight = elem.offsetHeight;\n if (offsetWidth !== width || offsetHeight !== height) {\n return {\n width: offsetWidth,\n height: offsetHeight\n }\n }\n return null\n}\n\nfunction handleMutation () {\n // `this` denotes the scrolling element\n var ref = getRenderInfo(this);\n var rendered = ref.rendered;\n var detached = ref.detached;\n if (rendered !== this.__resize_rendered__) {\n if (!detached && this.__resize_triggers__) {\n resetTriggers(this);\n this.addEventListener('scroll', handleScroll, true);\n }\n this.__resize_rendered__ = rendered;\n runCallbacks(this);\n }\n}\n\nfunction handleScroll () {\n var this$1 = this;\n\n // `this` denotes the scrolling element\n resetTriggers(this);\n if (this.__resize_raf__) {\n cancelAnimationFrame(this.__resize_raf__);\n }\n this.__resize_raf__ = requestAnimationFrame(function () {\n var updated = getUpdatedSize(this$1);\n if (updated) {\n this$1.__resize_last__ = updated;\n runCallbacks(this$1);\n }\n });\n}\n\nfunction runCallbacks (elem) {\n if (!elem || !elem.__resize_listeners__) {\n return\n }\n elem.__resize_listeners__.forEach(function (callback) {\n callback.call(elem, elem);\n });\n}\n\nfunction initTriggers (elem) {\n var position = getComputedStyle(elem, 'position');\n if (!position || position === 'static') {\n elem.style.position = 'relative';\n }\n\n elem.__resize_old_position__ = position;\n elem.__resize_last__ = {};\n\n var triggers = createElement('div', {\n className: 'resize-triggers'\n });\n var expand = createElement('div', {\n className: 'resize-expand-trigger'\n });\n var expandChild = createElement('div');\n var contract = createElement('div', {\n className: 'resize-contract-trigger'\n });\n expand.appendChild(expandChild);\n triggers.appendChild(expand);\n triggers.appendChild(contract);\n elem.appendChild(triggers);\n\n elem.__resize_triggers__ = {\n triggers: triggers,\n expand: expand,\n expandChild: expandChild,\n contract: contract\n };\n\n resetTriggers(elem);\n elem.addEventListener('scroll', handleScroll, true);\n\n elem.__resize_last__ = {\n width: elem.offsetWidth,\n height: elem.offsetHeight\n };\n}\n\nfunction resetTriggers (elem) {\n var ref = elem.__resize_triggers__;\n var expand = ref.expand;\n var expandChild = ref.expandChild;\n var contract = ref.contract;\n\n // batch read\n var csw = contract.scrollWidth;\n var csh = contract.scrollHeight;\n var eow = expand.offsetWidth;\n var eoh = expand.offsetHeight;\n var esw = expand.scrollWidth;\n var esh = expand.scrollHeight;\n\n // batch write\n contract.scrollLeft = csw;\n contract.scrollTop = csh;\n expandChild.style.width = eow + 1 + 'px';\n expandChild.style.height = eoh + 1 + 'px';\n expand.scrollLeft = esw;\n expand.scrollTop = esh;\n}\n\nexport { addListener, removeListener };\n","import{watch as e,unref as t,inject as n,computed as r,watchEffect as o,Vue2 as i,defineComponent as a,shallowRef as u,toRefs as s,getCurrentInstance as c,onMounted as l,onBeforeUnmount as f,h as p,nextTick as v}from\"vue-demi\";import{throttle as d,init as h}from\"echarts/core\";import{addListener as g,removeListener as m}from\"resize-detector\";var O=function(){return O=Object.assign||function(e){for(var t,n=1,r=arguments.length;ndiv{width:100%;height:100%}\\n\",{});var S=function(){if(null!=z)return z;if(\"undefined\"==typeof HTMLElement||\"undefined\"==typeof customElements)return z=!1;try{new Function(\"tag\",\"class EChartsElement extends HTMLElement {\\n __dispose = null;\\n\\n disconnectedCallback() {\\n if (this.__dispose) {\\n this.__dispose();\\n this.__dispose = null;\\n }\\n }\\n}\\n\\nif (customElements.get(tag) == null) {\\n customElements.define(tag, EChartsElement);\\n}\\n\")(C)}catch(e){return z=!1}return z=!0}();i&&i.config.ignoredElements.push(C);var D=\"ecTheme\",U=\"ecInitOptions\",k=\"ecUpdateOptions\",B=a({name:\"echarts\",props:O(O({option:Object,theme:{type:[Object,String]},initOptions:Object,updateOptions:Object,group:String,manualUpdate:Boolean},E),w),emits:{},inheritAttrs:!1,setup:function(t,i){var a=i.attrs,p=u(),b=u(),E=u(),_=u(),w=n(D,null),z=n(U,null),C=n(k,null),L=s(t),T=L.autoresize,B=L.manualUpdate,P=L.loading,H=L.loadingOptions,M=r((function(){return _.value||t.option||null})),R=r((function(){return t.theme||j(w,{})})),F=r((function(){return t.initOptions||j(z,{})})),N=r((function(){return t.updateOptions||j(C,{})})),q=r((function(){return function(e){var t={};for(var n in e)x(n)||(t[n]=e[n]);return t}(a)})),I=c().proxy.$listeners;function W(e){if(b.value){var n=E.value=h(b.value,R.value,F.value);t.group&&(n.group=t.group);var r=I;r||(r={},Object.keys(a).filter((function(e){return 0===e.indexOf(\"on\")&&e.length>2})).forEach((function(e){var t=e.charAt(2).toLowerCase()+e.slice(3);\"Once\"===t.substring(t.length-4)&&(t=\"~\".concat(t.substring(0,t.length-4))),r[t]=a[e]}))),Object.keys(r).forEach((function(e){var t=r[e];if(t){var o=e.toLowerCase();\"~\"===o.charAt(0)&&(o=o.substring(1),t.__once__=!0);var i=n;if(0===o.indexOf(\"zr:\")&&(i=n.getZr(),o=o.substring(3)),t.__once__){delete t.__once__;var a=t;t=function(){for(var e=[],n=0;n\n
\n \n
\n \n
\n
\n\n\n\n\n\n","import { $n } from '@/plugins/i18n'\n\nconst displayFormat = Object.freeze({\n nullable: '—'\n})\n\nexport function useUtils() {\n function hexToRGBA(hex: string, alpha: number) {\n const r = parseInt(hex.slice(1, 3), 16),\n g = parseInt(hex.slice(3, 5), 16),\n b = parseInt(hex.slice(5, 7), 16)\n\n if (alpha) {\n return 'rgba(' + r + ', ' + g + ', ' + b + ', ' + alpha + ')'\n } else {\n return 'rgb(' + r + ', ' + g + ', ' + b + ')'\n }\n }\n\n function GetValueOrDefault(\n value: number,\n formatType: string = 'decimal',\n options: { minimumFractionDigits: number; maximumFractionDigits: number } = {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n }\n ): string {\n if (Number(value) === 0) {\n return displayFormat.nullable;\n }\n return $n(value, formatType, options);\n }\n\n return {\n displayFormat,\n hexToRGBA,\n GetValueOrDefault\n }\n}\n","\n\n\n\n\n\n","// This file is autogenerated. It's used to publish CJS to npm.\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.tinycolor = factory());\n})(this, (function () { 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n\n // https://github.com/bgrins/TinyColor\n // Brian Grinstead, MIT License\n\n var trimLeft = /^\\s+/;\n var trimRight = /\\s+$/;\n function tinycolor(color, opts) {\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 var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = Math.round(100 * this._a) / 100, 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 = Math.round(this._r);\n if (this._g < 1) this._g = Math.round(this._g);\n if (this._b < 1) this._b = Math.round(this._b);\n this._ok = rgb.ok;\n }\n tinycolor.prototype = {\n isDark: function isDark() {\n return this.getBrightness() < 128;\n },\n isLight: function isLight() {\n return !this.isDark();\n },\n isValid: function isValid() {\n return this._ok;\n },\n getOriginalInput: function getOriginalInput() {\n return this._originalInput;\n },\n getFormat: function getFormat() {\n return this._format;\n },\n getAlpha: function getAlpha() {\n return this._a;\n },\n getBrightness: function getBrightness() {\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 getLuminance() {\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 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 setAlpha(value) {\n this._a = boundAlpha(value);\n this._roundA = Math.round(100 * this._a) / 100;\n return this;\n },\n toHsv: function toHsv() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function toHsvString() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = Math.round(hsv.h * 360),\n s = Math.round(hsv.s * 100),\n v = Math.round(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function toHsl() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function toHslString() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = Math.round(hsl.h * 360),\n s = Math.round(hsl.s * 100),\n l = Math.round(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function toHex(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function toHexString(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function toHex8(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function toHex8String(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function toRgb() {\n return {\n r: Math.round(this._r),\n g: Math.round(this._g),\n b: Math.round(this._b),\n a: this._a\n };\n },\n toRgbString: function toRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \")\" : \"rgba(\" + Math.round(this._r) + \", \" + Math.round(this._g) + \", \" + Math.round(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function toPercentageRgb() {\n return {\n r: Math.round(bound01(this._r, 255) * 100) + \"%\",\n g: Math.round(bound01(this._g, 255) * 100) + \"%\",\n b: Math.round(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function toPercentageRgbString() {\n return this._a == 1 ? \"rgb(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + Math.round(bound01(this._r, 255) * 100) + \"%, \" + Math.round(bound01(this._g, 255) * 100) + \"%, \" + Math.round(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function toName() {\n if (this._a === 0) {\n return \"transparent\";\n }\n if (this._a < 1) {\n return false;\n }\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function toFilter(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 if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function toString(format) {\n var formatSet = !!format;\n format = format || this._format;\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 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 return formattedString || this.toHexString();\n },\n clone: function clone() {\n return tinycolor(this.toString());\n },\n _applyModification: function _applyModification(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 lighten() {\n return this._applyModification(_lighten, arguments);\n },\n brighten: function brighten() {\n return this._applyModification(_brighten, arguments);\n },\n darken: function darken() {\n return this._applyModification(_darken, arguments);\n },\n desaturate: function desaturate() {\n return this._applyModification(_desaturate, arguments);\n },\n saturate: function saturate() {\n return this._applyModification(_saturate, arguments);\n },\n greyscale: function greyscale() {\n return this._applyModification(_greyscale, arguments);\n },\n spin: function spin() {\n return this._applyModification(_spin, arguments);\n },\n _applyCombination: function _applyCombination(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function analogous() {\n return this._applyCombination(_analogous, arguments);\n },\n complement: function complement() {\n return this._applyCombination(_complement, arguments);\n },\n monochromatic: function monochromatic() {\n return this._applyCombination(_monochromatic, arguments);\n },\n splitcomplement: function splitcomplement() {\n return this._applyCombination(_splitcomplement, arguments);\n },\n // Disabled until https://github.com/bgrins/TinyColor/issues/254\n // polyad: function (number) {\n // return this._applyCombination(polyad, [number]);\n // },\n triad: function triad() {\n return this._applyCombination(polyad, [3]);\n },\n tetrad: function tetrad() {\n return this._applyCombination(polyad, [4]);\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\n tinycolor.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 } else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\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 //\n function inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\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 if (typeof color == \"string\") {\n color = stringInputToObject(color);\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 } 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 } 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 if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a\n };\n }\n\n // Conversion Functions\n // --------------------\n\n // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n // \n\n // `rgbToRgb`\n // Handle bounds / percentage checking to conform to CSS color spec\n // \n // *Assumes:* r, g, b in [0, 255] or [0, 1]\n // *Returns:* { r, g, b } in [0, 255]\n function 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]\n function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n l = (max + min) / 2;\n if (max == min) {\n h = s = 0; // achromatic\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:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\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]\n function hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\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 if (s === 0) {\n r = g = b = l; // achromatic\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 return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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]\n function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b),\n min = Math.min(r, g, b);\n var h,\n s,\n v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) {\n h = 0; // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\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 h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\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 return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\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\n function rgbToHex(r, g, b, allow3Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\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 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\n function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16)), pad2(convertDecimalToHex(a))];\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 return hex.join(\"\");\n }\n\n // `rgbaToArgbHex`\n // Converts an RGBA color to an ARGB Hex8 string\n // Rarely used, but required for \"toFilter()\"\n function rgbaToArgbHex(r, g, b, a) {\n var hex = [pad2(convertDecimalToHex(a)), pad2(Math.round(r).toString(16)), pad2(Math.round(g).toString(16)), pad2(Math.round(b).toString(16))];\n return hex.join(\"\");\n }\n\n // `equals`\n // Can be called with any tinycolor input\n tinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n };\n tinycolor.random = function () {\n return tinycolor.fromRatio({\n r: Math.random(),\n g: Math.random(),\n b: Math.random()\n });\n };\n\n // Modification Functions\n // ----------------------\n // Thanks to less.js for some of the basics here\n // \n\n function _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 function _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 function _greyscale(color) {\n return tinycolor(color).desaturate(100);\n }\n function _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 function _brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return tinycolor(rgb);\n }\n function _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.\n function _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 // \n\n function _complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n }\n function polyad(color, number) {\n if (isNaN(number) || number <= 0) {\n throw new Error(\"Argument to polyad must be a positive number\");\n }\n var hsl = tinycolor(color).toHsl();\n var result = [tinycolor(color)];\n var step = 360 / number;\n for (var i = 1; i < number; i++) {\n result.push(tinycolor({\n h: (hsl.h + i * step) % 360,\n s: hsl.s,\n l: hsl.l\n }));\n }\n return result;\n }\n function _splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [tinycolor(color), tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }), tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })];\n }\n function _analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\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 function _monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h,\n s = hsv.s,\n v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while (results--) {\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n }\n\n // Utility Functions\n // ---------------------\n\n tinycolor.mix = function (color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\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 return tinycolor(rgba);\n };\n\n // Readability Functions\n // ---------------------\n // false\n // tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\n tinycolor.isReadable = function (color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\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 // `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\"\n tinycolor.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 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 if (tinycolor.isReadable(baseColor, bestColor, {\n level: level,\n size: size\n }) || !includeFallbackColors) {\n return bestColor;\n } else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\"#fff\", \"#000\"], args);\n }\n };\n\n // Big List of Colors\n // ------------------\n // \n var 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]`\n var hexNames = tinycolor.hexNames = flip(names);\n\n // Utilities\n // ---------\n\n // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\n function 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\n function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n }\n\n // Take input from [0, n] and return it as [0, 1]\n function bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = Math.min(max, Math.max(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\n function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n }\n\n // Parse a base-16 hex value into a base-10 integer\n function 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 // \n function 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\n function isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n }\n\n // Force a hex value to have 2 characters\n function pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n }\n\n // Replace a decimal with it's percentage value\n function convertToPercentage(n) {\n if (n <= 1) {\n n = n * 100 + \"%\";\n }\n return n;\n }\n\n // Converts a decimal to a hex value\n function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n }\n // Converts a hex value to a decimal\n function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n }\n var matchers = function () {\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \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 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).\n function 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}`\n function stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") {\n return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\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 {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n }\n if (match = matchers.rgba.exec(color)) {\n return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsl.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n }\n if (match = matchers.hsla.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n }\n if (match = matchers.hsv.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n }\n if (match = matchers.hsva.exec(color)) {\n return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\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 return false;\n }\n function 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 || {\n level: \"AA\",\n size: \"small\"\n };\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 {\n level: level,\n size: size\n };\n }\n\n return tinycolor;\n\n}));\n","/*!\n * tinygradient (v1.1.5)\n * @copyright 2014-2021 Damien \"Mistic\" Sorel \n * @licence MIT\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('tinycolor2')) :\n typeof define === 'function' && define.amd ? define(['tinycolor2'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.tinygradient = factory(global.tinycolor));\n}(this, (function (tinycolor2) { 'use strict';\n\n function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\n var tinycolor2__default = /*#__PURE__*/_interopDefaultLegacy(tinycolor2);\n\n /**\n * @typedef {Object} TinyGradient.StopInput\n * @property {ColorInput} color\n * @property {number} pos\n */\n\n /**\n * @typedef {Object} TinyGradient.StepValue\n * @type {number} [r]\n * @type {number} [g]\n * @type {number} [b]\n * @type {number} [h]\n * @type {number} [s]\n * @type {number} [v]\n * @type {number} [a]\n */\n\n /**\n * @type {StepValue}\n */\n\n var RGBA_MAX = {\n r: 256,\n g: 256,\n b: 256,\n a: 1\n };\n /**\n * @type {StepValue}\n */\n\n var HSVA_MAX = {\n h: 360,\n s: 1,\n v: 1,\n a: 1\n };\n /**\n * Linearly compute the step size between start and end (not normalized)\n * @param {StepValue} start\n * @param {StepValue} end\n * @param {number} steps - number of desired steps\n * @return {StepValue}\n */\n\n function stepize(start, end, steps) {\n var step = {};\n\n for (var k in start) {\n if (start.hasOwnProperty(k)) {\n step[k] = steps === 0 ? 0 : (end[k] - start[k]) / steps;\n }\n }\n\n return step;\n }\n /**\n * Compute the final step color\n * @param {StepValue} step - from `stepize`\n * @param {StepValue} start\n * @param {number} i - color index\n * @param {StepValue} max - rgba or hsva of maximum values for each channel\n * @return {StepValue}\n */\n\n\n function interpolate(step, start, i, max) {\n var color = {};\n\n for (var k in start) {\n if (start.hasOwnProperty(k)) {\n color[k] = step[k] * i + start[k];\n color[k] = color[k] < 0 ? color[k] + max[k] : max[k] !== 1 ? color[k] % max[k] : color[k];\n }\n }\n\n return color;\n }\n /**\n * Generate gradient with RGBa interpolation\n * @param {StopInput} stop1\n * @param {StopInput} stop2\n * @param {number} steps\n * @return {tinycolor[]} color1 included, color2 excluded\n */\n\n\n function interpolateRgb(stop1, stop2, steps) {\n var start = stop1.color.toRgb();\n var end = stop2.color.toRgb();\n var step = stepize(start, end, steps);\n var gradient = [stop1.color];\n\n for (var i = 1; i < steps; i++) {\n var color = interpolate(step, start, i, RGBA_MAX);\n gradient.push(tinycolor2__default['default'](color));\n }\n\n return gradient;\n }\n /**\n * Generate gradient with HSVa interpolation\n * @param {StopInput} stop1\n * @param {StopInput} stop2\n * @param {number} steps\n * @param {boolean|'long'|'short'} mode\n * @return {tinycolor[]} color1 included, color2 excluded\n */\n\n\n function interpolateHsv(stop1, stop2, steps, mode) {\n var start = stop1.color.toHsv();\n var end = stop2.color.toHsv(); // rgb interpolation if one of the steps in grayscale\n\n if (start.s === 0 || end.s === 0) {\n return interpolateRgb(stop1, stop2, steps);\n }\n\n var trigonometric;\n\n if (typeof mode === 'boolean') {\n trigonometric = mode;\n } else {\n var trigShortest = start.h < end.h && end.h - start.h < 180 || start.h > end.h && start.h - end.h > 180;\n trigonometric = mode === 'long' && trigShortest || mode === 'short' && !trigShortest;\n }\n\n var step = stepize(start, end, steps);\n var gradient = [stop1.color]; // recompute hue\n\n var diff;\n\n if (start.h <= end.h && !trigonometric || start.h >= end.h && trigonometric) {\n diff = end.h - start.h;\n } else if (trigonometric) {\n diff = 360 - end.h + start.h;\n } else {\n diff = 360 - start.h + end.h;\n }\n\n step.h = Math.pow(-1, trigonometric ? 1 : 0) * Math.abs(diff) / steps;\n\n for (var i = 1; i < steps; i++) {\n var color = interpolate(step, start, i, HSVA_MAX);\n gradient.push(tinycolor2__default['default'](color));\n }\n\n return gradient;\n }\n /**\n * Compute substeps between each stops\n * @param {StopInput[]} stops\n * @param {number} steps\n * @return {number[]}\n */\n\n\n function computeSubsteps(stops, steps) {\n var l = stops.length; // validation\n\n steps = parseInt(steps, 10);\n\n if (isNaN(steps) || steps < 2) {\n throw new Error('Invalid number of steps (< 2)');\n }\n\n if (steps < l) {\n throw new Error('Number of steps cannot be inferior to number of stops');\n } // compute substeps from stop positions\n\n\n var substeps = [];\n\n for (var i = 1; i < l; i++) {\n var step = (steps - 1) * (stops[i].pos - stops[i - 1].pos);\n substeps.push(Math.max(1, Math.round(step)));\n } // adjust number of steps\n\n\n var totalSubsteps = 1;\n\n for (var n = l - 1; n--;) {\n totalSubsteps += substeps[n];\n }\n\n while (totalSubsteps !== steps) {\n if (totalSubsteps < steps) {\n var min = Math.min.apply(null, substeps);\n substeps[substeps.indexOf(min)]++;\n totalSubsteps++;\n } else {\n var max = Math.max.apply(null, substeps);\n substeps[substeps.indexOf(max)]--;\n totalSubsteps--;\n }\n }\n\n return substeps;\n }\n /**\n * Compute the color at a specific position\n * @param {StopInput[]} stops\n * @param {number} pos\n * @param {string} method\n * @param {StepValue} max\n * @returns {tinycolor}\n */\n\n\n function computeAt(stops, pos, method, max) {\n if (pos < 0 || pos > 1) {\n throw new Error('Position must be between 0 and 1');\n }\n\n var start, end;\n\n for (var i = 0, l = stops.length; i < l - 1; i++) {\n if (pos >= stops[i].pos && pos < stops[i + 1].pos) {\n start = stops[i];\n end = stops[i + 1];\n break;\n }\n }\n\n if (!start) {\n start = end = stops[stops.length - 1];\n }\n\n var step = stepize(start.color[method](), end.color[method](), (end.pos - start.pos) * 100);\n var color = interpolate(step, start.color[method](), (pos - start.pos) * 100, max);\n return tinycolor2__default['default'](color);\n }\n\n var TinyGradient = /*#__PURE__*/function () {\n /**\n * @param {StopInput[]|ColorInput[]} stops\n * @returns {TinyGradient}\n */\n function TinyGradient(stops) {\n // validation\n if (stops.length < 2) {\n throw new Error('Invalid number of stops (< 2)');\n }\n\n var havingPositions = stops[0].pos !== undefined;\n var l = stops.length;\n var p = -1;\n var lastColorLess = false; // create tinycolor objects and clean positions\n\n this.stops = stops.map(function (stop, i) {\n var hasPosition = stop.pos !== undefined;\n\n if (havingPositions ^ hasPosition) {\n throw new Error('Cannot mix positionned and not posionned color stops');\n }\n\n if (hasPosition) {\n var hasColor = stop.color !== undefined;\n\n if (!hasColor && (lastColorLess || i === 0 || i === l - 1)) {\n throw new Error('Cannot define two consecutive position-only stops');\n }\n\n lastColorLess = !hasColor;\n stop = {\n color: hasColor ? tinycolor2__default['default'](stop.color) : null,\n colorLess: !hasColor,\n pos: stop.pos\n };\n\n if (stop.pos < 0 || stop.pos > 1) {\n throw new Error('Color stops positions must be between 0 and 1');\n } else if (stop.pos < p) {\n throw new Error('Color stops positions are not ordered');\n }\n\n p = stop.pos;\n } else {\n stop = {\n color: tinycolor2__default['default'](stop.color !== undefined ? stop.color : stop),\n pos: i / (l - 1)\n };\n }\n\n return stop;\n });\n\n if (this.stops[0].pos !== 0) {\n this.stops.unshift({\n color: this.stops[0].color,\n pos: 0\n });\n l++;\n }\n\n if (this.stops[l - 1].pos !== 1) {\n this.stops.push({\n color: this.stops[l - 1].color,\n pos: 1\n });\n }\n }\n /**\n * Return new instance with reversed stops\n * @return {TinyGradient}\n */\n\n\n var _proto = TinyGradient.prototype;\n\n _proto.reverse = function reverse() {\n var stops = [];\n this.stops.forEach(function (stop) {\n stops.push({\n color: stop.color,\n pos: 1 - stop.pos\n });\n });\n return new TinyGradient(stops.reverse());\n }\n /**\n * Return new instance with looped stops\n * @return {TinyGradient}\n */\n ;\n\n _proto.loop = function loop() {\n var stops1 = [];\n var stops2 = [];\n this.stops.forEach(function (stop) {\n stops1.push({\n color: stop.color,\n pos: stop.pos / 2\n });\n });\n this.stops.slice(0, -1).forEach(function (stop) {\n stops2.push({\n color: stop.color,\n pos: 1 - stop.pos / 2\n });\n });\n return new TinyGradient(stops1.concat(stops2.reverse()));\n }\n /**\n * Generate gradient with RGBa interpolation\n * @param {number} steps\n * @return {tinycolor[]}\n */\n ;\n\n _proto.rgb = function rgb(steps) {\n var _this = this;\n\n var substeps = computeSubsteps(this.stops, steps);\n var gradient = [];\n this.stops.forEach(function (stop, i) {\n if (stop.colorLess) {\n stop.color = interpolateRgb(_this.stops[i - 1], _this.stops[i + 1], 2)[1];\n }\n });\n\n for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n var rgb = interpolateRgb(this.stops[i], this.stops[i + 1], substeps[i]);\n gradient.splice.apply(gradient, [gradient.length, 0].concat(rgb));\n }\n\n gradient.push(this.stops[this.stops.length - 1].color);\n return gradient;\n }\n /**\n * Generate gradient with HSVa interpolation\n * @param {number} steps\n * @param {boolean|'long'|'short'} [mode=false]\n * - false to step in clockwise\n * - true to step in trigonometric order\n * - 'short' to use the shortest way\n * - 'long' to use the longest way\n * @return {tinycolor[]}\n */\n ;\n\n _proto.hsv = function hsv(steps, mode) {\n var _this2 = this;\n\n var substeps = computeSubsteps(this.stops, steps);\n var gradient = [];\n this.stops.forEach(function (stop, i) {\n if (stop.colorLess) {\n stop.color = interpolateHsv(_this2.stops[i - 1], _this2.stops[i + 1], 2, mode)[1];\n }\n });\n\n for (var i = 0, l = this.stops.length; i < l - 1; i++) {\n var hsv = interpolateHsv(this.stops[i], this.stops[i + 1], substeps[i], mode);\n gradient.splice.apply(gradient, [gradient.length, 0].concat(hsv));\n }\n\n gradient.push(this.stops[this.stops.length - 1].color);\n return gradient;\n }\n /**\n * Generate CSS3 command (no prefix) for this gradient\n * @param {String} [mode=linear] - 'linear' or 'radial'\n * @param {String} [direction] - default is 'to right' or 'ellipse at center'\n * @return {String}\n */\n ;\n\n _proto.css = function css(mode, direction) {\n mode = mode || 'linear';\n direction = direction || (mode === 'linear' ? 'to right' : 'ellipse at center');\n var css = mode + '-gradient(' + direction;\n this.stops.forEach(function (stop) {\n css += ', ' + (stop.colorLess ? '' : stop.color.toRgbString() + ' ') + stop.pos * 100 + '%';\n });\n css += ')';\n return css;\n }\n /**\n * Returns the color at specific position with RGBa interpolation\n * @param {number} pos, between 0 and 1\n * @return {tinycolor}\n */\n ;\n\n _proto.rgbAt = function rgbAt(pos) {\n return computeAt(this.stops, pos, 'toRgb', RGBA_MAX);\n }\n /**\n * Returns the color at specific position with HSVa interpolation\n * @param {number} pos, between 0 and 1\n * @return {tinycolor}\n */\n ;\n\n _proto.hsvAt = function hsvAt(pos) {\n return computeAt(this.stops, pos, 'toHsv', HSVA_MAX);\n };\n\n return TinyGradient;\n }();\n /**\n * @param {StopInput[]|ColorInput[]|StopInput...|ColorInput...} stops\n * @returns {TinyGradient}\n */\n\n\n var tinygradient = function tinygradient(stops) {\n // varargs\n if (arguments.length === 1) {\n if (!Array.isArray(arguments[0])) {\n throw new Error('\"stops\" is not an array');\n }\n\n stops = arguments[0];\n } else {\n stops = Array.prototype.slice.call(arguments);\n }\n\n return new TinyGradient(stops);\n };\n\n return tinygradient;\n\n})));\n//# sourceMappingURL=browser.js.map\n","import { colors } from '@/plugins/vuetify'\nimport moment from 'moment'\nimport tinygradient from 'tinygradient'\n\nexport function useRatingColors() {\n function getRanges(inverse = false) {\n /*\n if (inverse) {\n return [0, 0.15, 0.2, 0.3, 0.5, 0.7, 0.8, 1]\n } else {\n return [0, 0.01, 0.15, 0.2, 0.3, 0.5, 0.7, 0.8, 1]\n }\n */\n return [0, 0.2, 0.5, 0.8, 1]\n }\n\n function getExtendedRanges(inverse = false) {\n return [0, 0.25, 0.5, 0.65, 0.8, 0.85, 0.9, 0.95, 1]\n }\n\n function getColor(value: number, maxValue = 1, inverse = false) {\n /*\n * This is the logic to use new rating colors from wasabi. For now, we will use the current colors to keep colors consistent\n if (!value || !maxValue || value > maxValue) {\n return colors.neutral.neutral200\n }\n value = value / maxValue\n if (inverse) {\n if (value === 0) {\n return colors.green.green500\n } else if (value <= 0.15) {\n return colors.green.green200\n } else if (value <= 0.2) {\n return colors.yellow.yellow600\n } else if (value <= 0.3) {\n return colors.yellow.yellow400\n } else if (value <= 0.5) {\n return colors.coral.coral400\n } else if (value <= 0.7) {\n return colors.coral.coral600\n } else if (value <= 0.8) {\n return colors.red.red400\n } else {\n return colors.red.red600\n }\n } else {\n if (value < 0.01) {\n return colors.neutral.neutral200\n } else if (value < 0.15) {\n return colors.red.red600\n } else if (value < 0.2) {\n return colors.red.red400\n } else if (value < 0.3) {\n return colors.coral.coral600\n } else if (value < 0.5) {\n return colors.coral.coral400\n } else if (value < 0.7) {\n return colors.yellow.yellow400\n } else if (value < 0.8) {\n return colors.yellow.yellow600\n } else if (value < 1) {\n return colors.green.green200\n } else {\n return colors.green.green500\n }\n }\n */\n const rating = Math.round(Number(value))\n switch (rating) {\n case 1:\n return '#b70034'\n case 2:\n return '#f0495d'\n case 3:\n return '#f88245'\n case 4:\n return '#ffbc2b'\n case 5:\n return '#007244'\n default:\n return '#e5e5e5'\n }\n }\n\n function getLightColor(value: number, maxValue = 5, inverse = false) {\n const rating = Math.round((Number(value) / maxValue) * 5)\n switch (rating) {\n case 1:\n case 2:\n return colors.red.red000\n case 3:\n return colors.coral.coral000\n case 4:\n return colors.yellow.yellow000\n case 5:\n return colors.green.green000\n default:\n return '#E5E5E5'\n }\n }\n\n function getHeatMapColor(value: number, maxValue = 1, inverse = false) {\n if (value == null || !maxValue || value > maxValue) {\n return '#ececec'\n }\n\n const heatmapGradient = tinygradient([\n { color: '#b70034', pos: 0 },\n { color: '#f0495d', pos: 0.2 },\n { color: '#f88245', pos: 0.5 },\n { color: '#ffbc2b', pos: 0.8 },\n { color: '#027244', pos: 1 }\n ])\n value = value / maxValue\n const color = heatmapGradient.rgbAt(value)\n return color.toHexString()\n }\n\n function getScoreColor(value: number, maxValue = 1, inverse = false) {\n if (value == null || !maxValue || value > maxValue) {\n return '#ececec'\n }\n\n const scoreColors = [\n { score: 0, color: '#ececec' },\n { score: 24, color: '#b70034' },\n { score: 49, color: '#f0495d' },\n { score: 64, color: '#f88245' },\n { score: 79, color: '#ffbc2b' },\n { score: 84, color: '#90CA6D' },\n { score: 89, color: '#77c16b' },\n { score: 94, color: '#5EB768' },\n { score: 99, color: '#009564' },\n { score: 100, color: '#007244' }\n ]\n\n const color = scoreColors.find((c) => value <= c.score).color\n return color\n }\n\n const calculateColorClass = (startDate: string, endDate: string): string => {\n const difference = moment(endDate).diff(moment(startDate), 'minutes')\n const score = getScoreFromDiff(difference)\n return getScoreColor(score, 100)\n }\n\n const getScoreFromDiff = (difference: number): number => {\n let score: number\n\n if (difference <= 480) {\n score = 100\n } else if (difference <= 720) {\n score = 99\n } else if (difference <= 1200) {\n score = 94\n } else if (difference <= 1320) {\n score = 89\n } else if (difference <= 1440) {\n score = 84\n } else if (difference <= 1680) {\n score = 79\n } else if (difference <= 1820) {\n score = 69\n } else if (difference <= 2000) {\n score = 59\n } else if (difference <= 2240) {\n score = 49\n } else if (difference <= 2880) {\n score = 24\n } else {\n score = 1\n }\n\n return score\n }\n\n return {\n getColor,\n getLightColor,\n getRanges,\n getHeatMapColor,\n getExtendedRanges,\n getScoreColor,\n calculateColorClass\n }\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","export function useMath() {\n const roundToPlaces = (value: number, places: number): number => {\n const multiplier = Math.pow(10, places)\n return Math.round(value * multiplier) / multiplier\n }\n\n const roundToFixed = (value: number, places: number): string => {\n const multiplier = Math.pow(10, places)\n return (Math.round(value * multiplier) / multiplier).toFixed(places)\n }\n\n const relativePercentDifference = (x1: number, x2: number): number => {\n return Math.abs(x1 - x2) / ((x1 + x2) / 2)\n }\n\n return { roundToPlaces, roundToFixed, relativePercentDifference }\n}\n","enum AxisStrategy {\n Default,\n Compact\n}\n\nexport default AxisStrategy\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","const Actions = Object.freeze({\n CancelConfirm: 'CancelConfirm',\n CreateForm: 'CreateForm',\n EditForm: 'EditForm'\n})\n\nexport const ActionStatus = Object.freeze({\n Success: 'success',\n Error: 'error',\n Pending: 'pending'\n})\n\nexport default Actions\n","\n\n\n\n\n","\n\n\n\n\n","const block = ['top', 'bottom'] as const\nconst inline = ['start', 'end', 'left', 'right'] as const\ntype Tblock = (typeof block)[number]\ntype Tinline = (typeof inline)[number]\n\nexport type Anchor =\n | Tblock\n | Tinline\n | 'center'\n | 'center center'\n | `${Tblock} ${Tinline | 'center'}`\n | `${Tinline} ${Tblock | 'center'}`\n\nexport const Anchors = Object.freeze({\n Top: block[0],\n TopCenter: `${block[0]} center`,\n Bottom: block[1],\n BottomCenter: `${block[1]} center`,\n Start: inline[0],\n StartCenter: `${inline[0]} center`,\n End: inline[1],\n EndCenter: `${inline[1]} center`,\n Left: inline[2],\n LeftCenter: `${inline[2]} center`,\n Right: inline[3],\n RightCenter: `${inline[3]} center`\n})\n","\n\n\n\n\n\n","\n\n\n\n\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","import { useAccessToken } from '@/store/accessToken'\nimport axios from 'axios'\n\nconst http = axios.create({\n baseURL: import.meta.env.VITE_V3_URL,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n})\n\nhttp.interceptors.request.use(\n function (config) {\n const accessTokenStore = useAccessToken()\n const token = accessTokenStore.accessToken\n if (token) {\n config.headers.Authorization = `Bearer ${token}`\n }\n return config\n },\n function (error) {\n return Promise.reject(error)\n }\n)\n\nhttp.MaximumPageSize = 250\n\nexport default http\n","import { useAccessToken } from '@/store/accessToken'\nimport axios from 'axios'\n\nconst http = axios.create({\n baseURL: import.meta.env.VITE_SURVEYS_URL,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n})\n\nhttp.interceptors.request.use(\n function (config) {\n const accessTokenStore = useAccessToken()\n const token = accessTokenStore.accessToken\n if (token) {\n config.headers.Authorization = `Bearer ${token}`\n }\n return config\n },\n function (error) {\n return Promise.reject(error)\n }\n)\n\nexport default http\n","import { useAccessToken } from '@/store/accessToken'\nimport axios from 'axios'\n\nconst http = axios.create({\n baseURL: import.meta.env.VITE_IE_URL,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n})\n\nhttp.interceptors.request.use(\n function (config) {\n const accessTokenStore = useAccessToken()\n const token = accessTokenStore.accessToken\n if (token) {\n config.headers.Authorization = `Bearer ${token}`\n }\n return config\n },\n function (error) {\n return Promise.reject(error)\n }\n)\n\nexport default http\n","import { useAccessToken } from '@/store/accessToken'\nimport axios from 'axios'\n\nconst http = axios.create({\n baseURL: import.meta.env.VITE_LEGACY_URL,\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json'\n }\n})\n\nhttp.interceptors.request.use(\n function (config) {\n const accessTokenStore = useAccessToken()\n const token = accessTokenStore.accessToken\n if (token) {\n config.headers.Authorization = `Bearer ${token}`\n }\n return config\n },\n function (error) {\n return Promise.reject(error)\n }\n)\n\nexport default http\n","import { v3, legacy } from '@/http'\nimport type { PagedResponse } from '@/models/Response'\n\nexport async function getGroupsAll(merchantId: number, axiosConfig = {}) {\n const allResult: PagedResponse = {\n data: {\n currentPage: 0,\n pageSize: 0,\n hasNextPage: true,\n data: []\n }\n }\n\n let pageNumber = 1\n while (allResult.data.hasNextPage) {\n const pageResult = await v3.get(\n `/merchants/${merchantId}/Groups?Page=${pageNumber}&PageSize=${v3.MaximumPageSize}&active=true`,\n axiosConfig\n )\n allResult.data.currentPage += 1\n allResult.data.pageSize += pageResult.data?.pageSize ?? 0\n allResult.data.hasNextPage = pageResult.data && pageResult.data.hasNextPage || false\n allResult.data.data.push(...(pageResult.data?.data || []))\n pageNumber++\n }\n\n return allResult\n}\n\nexport async function getGroupsByPage(merchantId: number, pageNumber: number, pageSize: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/Groups?Page=${pageNumber}&PageSize=${pageSize}&active=true`, axiosConfig)\n}\n","import { v3 } from '@/http'\nimport type { PagedResponse } from '@/models/Response'\n\nexport async function getLocationsAll(merchantId: number, axiosConfig = {}) {\n const allResult: PagedResponse = {\n data: {\n currentPage: 0,\n pageSize: 0,\n hasNextPage: true,\n data: []\n }\n }\n\n let pageNumber = 1\n while (allResult.data.hasNextPage) {\n const pageResult = await v3.get(\n `/merchants/${merchantId}/Locations?Page=${pageNumber}&PageSize=${v3.MaximumPageSize}&active=true`,\n axiosConfig\n )\n allResult.data.currentPage += 1\n allResult.data.pageSize += pageResult.data?.pageSize ?? 0\n allResult.data.hasNextPage = pageResult.data?.hasNextPage ?? false\n if (pageResult.data?.data) {\n allResult.data.data.push(...pageResult.data.data)\n }\n pageNumber++\n }\n\n return allResult\n}\n\nexport async function getLocationsByPage(merchantId: number, pageNumber: number, pageSize: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/Locations?Page=${pageNumber}&PageSize=${pageSize}&active=true`, axiosConfig)\n}\n\nexport function getLocationById(merchantId: number, locationId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/Locations/${locationId}`, axiosConfig)\n}\n\nexport function createLocation(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Locations`, data, axiosConfig)\n}\n\nexport function updateLocation(merchantId: number, locationId: number, data: any, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/Locations/${locationId}`, data, axiosConfig)\n}\n\nexport function deleteLocation(merchantId: number, locationId: number, axiosConfig = {}) {\n return v3.delete(`/merchants/${merchantId}/Locations/${locationId}`, axiosConfig)\n}\n","import { v3 } from '@/http'\n\nexport function getProviders(merchantId?: number, axiosConfig = {}) {\n if (merchantId) {\n return v3.get(`/merchants/${merchantId}/social-media-providers`, axiosConfig)\n }\n return v3.get(`/social-media-providers`, axiosConfig)\n}\n","import { v3 } from '@/http'\nimport type { TagParams } from '@/models/Tag'\n\nexport function getTags(merchantId: number, params: TagParams, axiosConfig = {}) {\n const query =\n `?TagType=${params.TagType}` +\n `&Active=${params.Active}` +\n `&Page=${params.Page}` +\n `&PageSize=${params.PageSize}` +\n `&SortBy=${params.SortBy}` +\n `&SortAscending=${params.SortAscending}`\n return v3.get(`/merchants/${merchantId}/Tags${query}`, axiosConfig)\n}\n\nexport function createTag(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Tags`, data, axiosConfig)\n}\n\nexport function updateTag(merchantId: number, tagId: number, data: any, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/Tags/${tagId}`, data, axiosConfig)\n}\n\nexport function deleteTag(merchantId: number, tagId: number, axiosConfig = {}) {\n return v3.delete(`/merchants/${merchantId}/Tags/${tagId}`, axiosConfig)\n}\n","export enum SocialMediaResponseStatus {\n Pending = 'Pending',\n Errors = 'Errors',\n Published = 'Published',\n Unanswered = 'Unanswered'\n}\n\nexport interface SocialMediaProvider {\n id: number\n code: string\n description: string\n logoKey: string\n logoUrl: string\n}\n\nexport interface SocialMediaResponse {\n id: number\n reviewId: number\n detail: string\n responseUserId: number\n responseUserName: string\n responseDate: Date\n responseType: string | null\n responseStatus: string\n}\n\nexport interface SocialMediaReview {\n id: number\n detail: string\n locationsId: number\n providersId: number\n tagIds: Array\n rating: number\n responses: Array\n reviewDate: Date\n reviewUrl: string\n reviewer: string\n reviewerPictureUrl: string\n}\n\nexport interface SocialMediaAiResponse {\n reviewId: number\n generatedResponse: string\n}\n\nexport interface SocialMediaReviewClient extends SocialMediaReview {\n latestResponse: SocialMediaResponse\n isLoading: boolean\n bulkSelected: boolean\n}\n\nexport interface ReviewResponsePayload {\n ReviewResponseId: number | null\n ReviewId: number\n Text: string | undefined\n Type: string | undefined | null\n}\n\nexport enum SnapshotType {\n Last7Days = 0,\n Last30Days = 1,\n Last90Days = 2,\n Last6Months = 3,\n AllTime = 4,\n Custom = 5\n}\n","// these aren't really private, but nor are they really useful to document\n\n/**\n * @private\n */\nclass LuxonError extends Error {}\n\n/**\n * @private\n */\nexport class InvalidDateTimeError extends LuxonError {\n constructor(reason) {\n super(`Invalid DateTime: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidIntervalError extends LuxonError {\n constructor(reason) {\n super(`Invalid Interval: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidDurationError extends LuxonError {\n constructor(reason) {\n super(`Invalid Duration: ${reason.toMessage()}`);\n }\n}\n\n/**\n * @private\n */\nexport class ConflictingSpecificationError extends LuxonError {}\n\n/**\n * @private\n */\nexport class InvalidUnitError extends LuxonError {\n constructor(unit) {\n super(`Invalid unit ${unit}`);\n }\n}\n\n/**\n * @private\n */\nexport class InvalidArgumentError extends LuxonError {}\n\n/**\n * @private\n */\nexport class ZoneIsAbstractError extends LuxonError {\n constructor() {\n super(\"Zone is an abstract class\");\n }\n}\n","/**\n * @private\n */\n\nconst n = \"numeric\",\n s = \"short\",\n l = \"long\";\n\nexport const DATE_SHORT = {\n year: n,\n month: n,\n day: n,\n};\n\nexport const DATE_MED = {\n year: n,\n month: s,\n day: n,\n};\n\nexport const DATE_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n};\n\nexport const DATE_FULL = {\n year: n,\n month: l,\n day: n,\n};\n\nexport const DATE_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n};\n\nexport const TIME_SIMPLE = {\n hour: n,\n minute: n,\n};\n\nexport const TIME_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const TIME_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s,\n};\n\nexport const TIME_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l,\n};\n\nexport const TIME_24_SIMPLE = {\n hour: n,\n minute: n,\n hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SECONDS = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n};\n\nexport const TIME_24_WITH_SHORT_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: s,\n};\n\nexport const TIME_24_WITH_LONG_OFFSET = {\n hour: n,\n minute: n,\n second: n,\n hourCycle: \"h23\",\n timeZoneName: l,\n};\n\nexport const DATETIME_SHORT = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_SHORT_WITH_SECONDS = {\n year: n,\n month: n,\n day: n,\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const DATETIME_MED = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_MED_WITH_SECONDS = {\n year: n,\n month: s,\n day: n,\n hour: n,\n minute: n,\n second: n,\n};\n\nexport const DATETIME_MED_WITH_WEEKDAY = {\n year: n,\n month: s,\n day: n,\n weekday: s,\n hour: n,\n minute: n,\n};\n\nexport const DATETIME_FULL = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n timeZoneName: s,\n};\n\nexport const DATETIME_FULL_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: s,\n};\n\nexport const DATETIME_HUGE = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n timeZoneName: l,\n};\n\nexport const DATETIME_HUGE_WITH_SECONDS = {\n year: n,\n month: l,\n day: n,\n weekday: l,\n hour: n,\n minute: n,\n second: n,\n timeZoneName: l,\n};\n","import { ZoneIsAbstractError } from \"./errors.js\";\n\n/**\n * @interface\n */\nexport default class Zone {\n /**\n * The type of zone\n * @abstract\n * @type {string}\n */\n get type() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * The name of this zone.\n * @abstract\n * @type {string}\n */\n get name() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * The IANA name of this zone.\n * Defaults to `name` if not overwritten by a subclass.\n * @abstract\n * @type {string}\n */\n get ianaName() {\n return this.name;\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year.\n * @abstract\n * @type {boolean}\n */\n get isUniversal() {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n offsetName(ts, opts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Returns the offset's value as a string\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @abstract\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n offset(ts) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is equal to another zone\n * @abstract\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n throw new ZoneIsAbstractError();\n }\n\n /**\n * Return whether this Zone is valid.\n * @abstract\n * @type {boolean}\n */\n get isValid() {\n throw new ZoneIsAbstractError();\n }\n}\n","import { formatOffset, parseZoneInfo } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * Represents the local zone for this JavaScript environment.\n * @implements {Zone}\n */\nexport default class SystemZone extends Zone {\n /**\n * Get a singleton instance of the local zone\n * @return {SystemZone}\n */\n static get instance() {\n if (singleton === null) {\n singleton = new SystemZone();\n }\n return singleton;\n }\n\n /** @override **/\n get type() {\n return \"system\";\n }\n\n /** @override **/\n get name() {\n return new Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n\n /** @override **/\n get isUniversal() {\n return false;\n }\n\n /** @override **/\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale);\n }\n\n /** @override **/\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /** @override **/\n offset(ts) {\n return -new Date(ts).getTimezoneOffset();\n }\n\n /** @override **/\n equals(otherZone) {\n return otherZone.type === \"system\";\n }\n\n /** @override **/\n get isValid() {\n return true;\n }\n}\n","import { formatOffset, parseZoneInfo, isUndefined, objToLocalTS } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet dtfCache = {};\nfunction makeDTF(zone) {\n if (!dtfCache[zone]) {\n dtfCache[zone] = new Intl.DateTimeFormat(\"en-US\", {\n hour12: false,\n timeZone: zone,\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n era: \"short\",\n });\n }\n return dtfCache[zone];\n}\n\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n era: 3,\n hour: 4,\n minute: 5,\n second: 6,\n};\n\nfunction hackyOffset(dtf, date) {\n const formatted = dtf.format(date).replace(/\\u200E/g, \"\"),\n parsed = /(\\d+)\\/(\\d+)\\/(\\d+) (AD|BC),? (\\d+):(\\d+):(\\d+)/.exec(formatted),\n [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;\n return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];\n}\n\nfunction partsOffset(dtf, date) {\n const formatted = dtf.formatToParts(date);\n const filled = [];\n for (let i = 0; i < formatted.length; i++) {\n const { type, value } = formatted[i];\n const pos = typeToPos[type];\n\n if (type === \"era\") {\n filled[pos] = value;\n } else if (!isUndefined(pos)) {\n filled[pos] = parseInt(value, 10);\n }\n }\n return filled;\n}\n\nlet ianaZoneCache = {};\n/**\n * A zone identified by an IANA identifier, like America/New_York\n * @implements {Zone}\n */\nexport default class IANAZone extends Zone {\n /**\n * @param {string} name - Zone name\n * @return {IANAZone}\n */\n static create(name) {\n if (!ianaZoneCache[name]) {\n ianaZoneCache[name] = new IANAZone(name);\n }\n return ianaZoneCache[name];\n }\n\n /**\n * Reset local caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCache() {\n ianaZoneCache = {};\n dtfCache = {};\n }\n\n /**\n * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.\n * @param {string} s - The string to check validity on\n * @example IANAZone.isValidSpecifier(\"America/New_York\") //=> true\n * @example IANAZone.isValidSpecifier(\"Sport~~blorp\") //=> false\n * @deprecated For backward compatibility, this forwards to isValidZone, better use `isValidZone()` directly instead.\n * @return {boolean}\n */\n static isValidSpecifier(s) {\n return this.isValidZone(s);\n }\n\n /**\n * Returns whether the provided string identifies a real zone\n * @param {string} zone - The string to check\n * @example IANAZone.isValidZone(\"America/New_York\") //=> true\n * @example IANAZone.isValidZone(\"Fantasia/Castle\") //=> false\n * @example IANAZone.isValidZone(\"Sport~~blorp\") //=> false\n * @return {boolean}\n */\n static isValidZone(zone) {\n if (!zone) {\n return false;\n }\n try {\n new Intl.DateTimeFormat(\"en-US\", { timeZone: zone }).format();\n return true;\n } catch (e) {\n return false;\n }\n }\n\n constructor(name) {\n super();\n /** @private **/\n this.zoneName = name;\n /** @private **/\n this.valid = IANAZone.isValidZone(name);\n }\n\n /**\n * The type of zone. `iana` for all instances of `IANAZone`.\n * @override\n * @type {string}\n */\n get type() {\n return \"iana\";\n }\n\n /**\n * The name of this zone (i.e. the IANA zone name).\n * @override\n * @type {string}\n */\n get name() {\n return this.zoneName;\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year:\n * Always returns false for all IANA zones.\n * @override\n * @type {boolean}\n */\n get isUniversal() {\n return false;\n }\n\n /**\n * Returns the offset's common name (such as EST) at the specified timestamp\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the name\n * @param {Object} opts - Options to affect the format\n * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.\n * @param {string} opts.locale - What locale to return the offset name in.\n * @return {string}\n */\n offsetName(ts, { format, locale }) {\n return parseZoneInfo(ts, format, locale, this.name);\n }\n\n /**\n * Returns the offset's value as a string\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n return formatOffset(this.offset(ts), format);\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n * @override\n * @param {number} ts - Epoch milliseconds for which to compute the offset\n * @return {number}\n */\n offset(ts) {\n const date = new Date(ts);\n\n if (isNaN(date)) return NaN;\n\n const dtf = makeDTF(this.name);\n let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts\n ? partsOffset(dtf, date)\n : hackyOffset(dtf, date);\n\n if (adOrBc === \"BC\") {\n year = -Math.abs(year) + 1;\n }\n\n // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat\n const adjustedHour = hour === 24 ? 0 : hour;\n\n const asUTC = objToLocalTS({\n year,\n month,\n day,\n hour: adjustedHour,\n minute,\n second,\n millisecond: 0,\n });\n\n let asTS = +date;\n const over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return (asUTC - asTS) / (60 * 1000);\n }\n\n /**\n * Return whether this Zone is equal to another zone\n * @override\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n return otherZone.type === \"iana\" && otherZone.name === this.name;\n }\n\n /**\n * Return whether this Zone is valid.\n * @override\n * @type {boolean}\n */\n get isValid() {\n return this.valid;\n }\n}\n","import { hasLocaleWeekInfo, hasRelative, padStart, roundTo, validateWeekSettings } from \"./util.js\";\nimport * as English from \"./english.js\";\nimport Settings from \"../settings.js\";\nimport DateTime from \"../datetime.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n// todo - remap caching\n\nlet intlLFCache = {};\nfunction getCachedLF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let dtf = intlLFCache[key];\n if (!dtf) {\n dtf = new Intl.ListFormat(locString, opts);\n intlLFCache[key] = dtf;\n }\n return dtf;\n}\n\nlet intlDTCache = {};\nfunction getCachedDTF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let dtf = intlDTCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(locString, opts);\n intlDTCache[key] = dtf;\n }\n return dtf;\n}\n\nlet intlNumCache = {};\nfunction getCachedINF(locString, opts = {}) {\n const key = JSON.stringify([locString, opts]);\n let inf = intlNumCache[key];\n if (!inf) {\n inf = new Intl.NumberFormat(locString, opts);\n intlNumCache[key] = inf;\n }\n return inf;\n}\n\nlet intlRelCache = {};\nfunction getCachedRTF(locString, opts = {}) {\n const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options\n const key = JSON.stringify([locString, cacheKeyOpts]);\n let inf = intlRelCache[key];\n if (!inf) {\n inf = new Intl.RelativeTimeFormat(locString, opts);\n intlRelCache[key] = inf;\n }\n return inf;\n}\n\nlet sysLocaleCache = null;\nfunction systemLocale() {\n if (sysLocaleCache) {\n return sysLocaleCache;\n } else {\n sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;\n return sysLocaleCache;\n }\n}\n\nlet weekInfoCache = {};\nfunction getCachedWeekInfo(locString) {\n let data = weekInfoCache[locString];\n if (!data) {\n const locale = new Intl.Locale(locString);\n // browsers currently implement this as a property, but spec says it should be a getter function\n data = \"getWeekInfo\" in locale ? locale.getWeekInfo() : locale.weekInfo;\n weekInfoCache[locString] = data;\n }\n return data;\n}\n\nfunction parseLocaleString(localeStr) {\n // I really want to avoid writing a BCP 47 parser\n // see, e.g. https://github.com/wooorm/bcp-47\n // Instead, we'll do this:\n\n // a) if the string has no -u extensions, just leave it alone\n // b) if it does, use Intl to resolve everything\n // c) if Intl fails, try again without the -u\n\n // private subtags and unicode subtags have ordering requirements,\n // and we're not properly parsing this, so just strip out the\n // private ones if they exist.\n const xIndex = localeStr.indexOf(\"-x-\");\n if (xIndex !== -1) {\n localeStr = localeStr.substring(0, xIndex);\n }\n\n const uIndex = localeStr.indexOf(\"-u-\");\n if (uIndex === -1) {\n return [localeStr];\n } else {\n let options;\n let selectedStr;\n try {\n options = getCachedDTF(localeStr).resolvedOptions();\n selectedStr = localeStr;\n } catch (e) {\n const smaller = localeStr.substring(0, uIndex);\n options = getCachedDTF(smaller).resolvedOptions();\n selectedStr = smaller;\n }\n\n const { numberingSystem, calendar } = options;\n return [selectedStr, numberingSystem, calendar];\n }\n}\n\nfunction intlConfigString(localeStr, numberingSystem, outputCalendar) {\n if (outputCalendar || numberingSystem) {\n if (!localeStr.includes(\"-u-\")) {\n localeStr += \"-u\";\n }\n\n if (outputCalendar) {\n localeStr += `-ca-${outputCalendar}`;\n }\n\n if (numberingSystem) {\n localeStr += `-nu-${numberingSystem}`;\n }\n return localeStr;\n } else {\n return localeStr;\n }\n}\n\nfunction mapMonths(f) {\n const ms = [];\n for (let i = 1; i <= 12; i++) {\n const dt = DateTime.utc(2009, i, 1);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction mapWeekdays(f) {\n const ms = [];\n for (let i = 1; i <= 7; i++) {\n const dt = DateTime.utc(2016, 11, 13 + i);\n ms.push(f(dt));\n }\n return ms;\n}\n\nfunction listStuff(loc, length, englishFn, intlFn) {\n const mode = loc.listingMode();\n\n if (mode === \"error\") {\n return null;\n } else if (mode === \"en\") {\n return englishFn(length);\n } else {\n return intlFn(length);\n }\n}\n\nfunction supportsFastNumbers(loc) {\n if (loc.numberingSystem && loc.numberingSystem !== \"latn\") {\n return false;\n } else {\n return (\n loc.numberingSystem === \"latn\" ||\n !loc.locale ||\n loc.locale.startsWith(\"en\") ||\n new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === \"latn\"\n );\n }\n}\n\n/**\n * @private\n */\n\nclass PolyNumberFormatter {\n constructor(intl, forceSimple, opts) {\n this.padTo = opts.padTo || 0;\n this.floor = opts.floor || false;\n\n const { padTo, floor, ...otherOpts } = opts;\n\n if (!forceSimple || Object.keys(otherOpts).length > 0) {\n const intlOpts = { useGrouping: false, ...opts };\n if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;\n this.inf = getCachedINF(intl, intlOpts);\n }\n }\n\n format(i) {\n if (this.inf) {\n const fixed = this.floor ? Math.floor(i) : i;\n return this.inf.format(fixed);\n } else {\n // to match the browser's numberformatter defaults\n const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);\n return padStart(fixed, this.padTo);\n }\n }\n}\n\n/**\n * @private\n */\n\nclass PolyDateFormatter {\n constructor(dt, intl, opts) {\n this.opts = opts;\n this.originalZone = undefined;\n\n let z = undefined;\n if (this.opts.timeZone) {\n // Don't apply any workarounds if a timeZone is explicitly provided in opts\n this.dt = dt;\n } else if (dt.zone.type === \"fixed\") {\n // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.\n // That is why fixed-offset TZ is set to that unless it is:\n // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.\n // 2. Unsupported by the browser:\n // - some do not support Etc/\n // - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata\n const gmtOffset = -1 * (dt.offset / 60);\n const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;\n if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {\n z = offsetZ;\n this.dt = dt;\n } else {\n // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so\n // we manually apply the offset and substitute the zone as needed.\n z = \"UTC\";\n this.dt = dt.offset === 0 ? dt : dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n this.originalZone = dt.zone;\n }\n } else if (dt.zone.type === \"system\") {\n this.dt = dt;\n } else if (dt.zone.type === \"iana\") {\n this.dt = dt;\n z = dt.zone.name;\n } else {\n // Custom zones can have any offset / offsetName so we just manually\n // apply the offset and substitute the zone as needed.\n z = \"UTC\";\n this.dt = dt.setZone(\"UTC\").plus({ minutes: dt.offset });\n this.originalZone = dt.zone;\n }\n\n const intlOpts = { ...this.opts };\n intlOpts.timeZone = intlOpts.timeZone || z;\n this.dtf = getCachedDTF(intl, intlOpts);\n }\n\n format() {\n if (this.originalZone) {\n // If we have to substitute in the actual zone name, we have to use\n // formatToParts so that the timezone can be replaced.\n return this.formatToParts()\n .map(({ value }) => value)\n .join(\"\");\n }\n return this.dtf.format(this.dt.toJSDate());\n }\n\n formatToParts() {\n const parts = this.dtf.formatToParts(this.dt.toJSDate());\n if (this.originalZone) {\n return parts.map((part) => {\n if (part.type === \"timeZoneName\") {\n const offsetName = this.originalZone.offsetName(this.dt.ts, {\n locale: this.dt.locale,\n format: this.opts.timeZoneName,\n });\n return {\n ...part,\n value: offsetName,\n };\n } else {\n return part;\n }\n });\n }\n return parts;\n }\n\n resolvedOptions() {\n return this.dtf.resolvedOptions();\n }\n}\n\n/**\n * @private\n */\nclass PolyRelFormatter {\n constructor(intl, isEnglish, opts) {\n this.opts = { style: \"long\", ...opts };\n if (!isEnglish && hasRelative()) {\n this.rtf = getCachedRTF(intl, opts);\n }\n }\n\n format(count, unit) {\n if (this.rtf) {\n return this.rtf.format(count, unit);\n } else {\n return English.formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== \"long\");\n }\n }\n\n formatToParts(count, unit) {\n if (this.rtf) {\n return this.rtf.formatToParts(count, unit);\n } else {\n return [];\n }\n }\n}\n\nconst fallbackWeekSettings = {\n firstDay: 1,\n minimalDays: 4,\n weekend: [6, 7],\n};\n\n/**\n * @private\n */\n\nexport default class Locale {\n static fromOpts(opts) {\n return Locale.create(\n opts.locale,\n opts.numberingSystem,\n opts.outputCalendar,\n opts.weekSettings,\n opts.defaultToEN\n );\n }\n\n static create(locale, numberingSystem, outputCalendar, weekSettings, defaultToEN = false) {\n const specifiedLocale = locale || Settings.defaultLocale;\n // the system locale is useful for human-readable strings but annoying for parsing/formatting known formats\n const localeR = specifiedLocale || (defaultToEN ? \"en-US\" : systemLocale());\n const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;\n const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;\n const weekSettingsR = validateWeekSettings(weekSettings) || Settings.defaultWeekSettings;\n return new Locale(localeR, numberingSystemR, outputCalendarR, weekSettingsR, specifiedLocale);\n }\n\n static resetCache() {\n sysLocaleCache = null;\n intlDTCache = {};\n intlNumCache = {};\n intlRelCache = {};\n }\n\n static fromObject({ locale, numberingSystem, outputCalendar, weekSettings } = {}) {\n return Locale.create(locale, numberingSystem, outputCalendar, weekSettings);\n }\n\n constructor(locale, numbering, outputCalendar, weekSettings, specifiedLocale) {\n const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);\n\n this.locale = parsedLocale;\n this.numberingSystem = numbering || parsedNumberingSystem || null;\n this.outputCalendar = outputCalendar || parsedOutputCalendar || null;\n this.weekSettings = weekSettings;\n this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);\n\n this.weekdaysCache = { format: {}, standalone: {} };\n this.monthsCache = { format: {}, standalone: {} };\n this.meridiemCache = null;\n this.eraCache = {};\n\n this.specifiedLocale = specifiedLocale;\n this.fastNumbersCached = null;\n }\n\n get fastNumbers() {\n if (this.fastNumbersCached == null) {\n this.fastNumbersCached = supportsFastNumbers(this);\n }\n\n return this.fastNumbersCached;\n }\n\n listingMode() {\n const isActuallyEn = this.isEnglish();\n const hasNoWeirdness =\n (this.numberingSystem === null || this.numberingSystem === \"latn\") &&\n (this.outputCalendar === null || this.outputCalendar === \"gregory\");\n return isActuallyEn && hasNoWeirdness ? \"en\" : \"intl\";\n }\n\n clone(alts) {\n if (!alts || Object.getOwnPropertyNames(alts).length === 0) {\n return this;\n } else {\n return Locale.create(\n alts.locale || this.specifiedLocale,\n alts.numberingSystem || this.numberingSystem,\n alts.outputCalendar || this.outputCalendar,\n validateWeekSettings(alts.weekSettings) || this.weekSettings,\n alts.defaultToEN || false\n );\n }\n }\n\n redefaultToEN(alts = {}) {\n return this.clone({ ...alts, defaultToEN: true });\n }\n\n redefaultToSystem(alts = {}) {\n return this.clone({ ...alts, defaultToEN: false });\n }\n\n months(length, format = false) {\n return listStuff(this, length, English.months, () => {\n const intl = format ? { month: length, day: \"numeric\" } : { month: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.monthsCache[formatStr][length]) {\n this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, \"month\"));\n }\n return this.monthsCache[formatStr][length];\n });\n }\n\n weekdays(length, format = false) {\n return listStuff(this, length, English.weekdays, () => {\n const intl = format\n ? { weekday: length, year: \"numeric\", month: \"long\", day: \"numeric\" }\n : { weekday: length },\n formatStr = format ? \"format\" : \"standalone\";\n if (!this.weekdaysCache[formatStr][length]) {\n this.weekdaysCache[formatStr][length] = mapWeekdays((dt) =>\n this.extract(dt, intl, \"weekday\")\n );\n }\n return this.weekdaysCache[formatStr][length];\n });\n }\n\n meridiems() {\n return listStuff(\n this,\n undefined,\n () => English.meridiems,\n () => {\n // In theory there could be aribitrary day periods. We're gonna assume there are exactly two\n // for AM and PM. This is probably wrong, but it's makes parsing way easier.\n if (!this.meridiemCache) {\n const intl = { hour: \"numeric\", hourCycle: \"h12\" };\n this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(\n (dt) => this.extract(dt, intl, \"dayperiod\")\n );\n }\n\n return this.meridiemCache;\n }\n );\n }\n\n eras(length) {\n return listStuff(this, length, English.eras, () => {\n const intl = { era: length };\n\n // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates\n // to definitely enumerate them.\n if (!this.eraCache[length]) {\n this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) =>\n this.extract(dt, intl, \"era\")\n );\n }\n\n return this.eraCache[length];\n });\n }\n\n extract(dt, intlOpts, field) {\n const df = this.dtFormatter(dt, intlOpts),\n results = df.formatToParts(),\n matching = results.find((m) => m.type.toLowerCase() === field);\n return matching ? matching.value : null;\n }\n\n numberFormatter(opts = {}) {\n // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)\n // (in contrast, the rest of the condition is used heavily)\n return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);\n }\n\n dtFormatter(dt, intlOpts = {}) {\n return new PolyDateFormatter(dt, this.intl, intlOpts);\n }\n\n relFormatter(opts = {}) {\n return new PolyRelFormatter(this.intl, this.isEnglish(), opts);\n }\n\n listFormatter(opts = {}) {\n return getCachedLF(this.intl, opts);\n }\n\n isEnglish() {\n return (\n this.locale === \"en\" ||\n this.locale.toLowerCase() === \"en-us\" ||\n new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith(\"en-us\")\n );\n }\n\n getWeekSettings() {\n if (this.weekSettings) {\n return this.weekSettings;\n } else if (!hasLocaleWeekInfo()) {\n return fallbackWeekSettings;\n } else {\n return getCachedWeekInfo(this.locale);\n }\n }\n\n getStartOfWeek() {\n return this.getWeekSettings().firstDay;\n }\n\n getMinDaysInFirstWeek() {\n return this.getWeekSettings().minimalDays;\n }\n\n getWeekendDays() {\n return this.getWeekSettings().weekend;\n }\n\n equals(other) {\n return (\n this.locale === other.locale &&\n this.numberingSystem === other.numberingSystem &&\n this.outputCalendar === other.outputCalendar\n );\n }\n\n toString() {\n return `Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`;\n }\n}\n","import { formatOffset, signedOffset } from \"../impl/util.js\";\nimport Zone from \"../zone.js\";\n\nlet singleton = null;\n\n/**\n * A zone with a fixed offset (meaning no DST)\n * @implements {Zone}\n */\nexport default class FixedOffsetZone extends Zone {\n /**\n * Get a singleton instance of UTC\n * @return {FixedOffsetZone}\n */\n static get utcInstance() {\n if (singleton === null) {\n singleton = new FixedOffsetZone(0);\n }\n return singleton;\n }\n\n /**\n * Get an instance with a specified offset\n * @param {number} offset - The offset in minutes\n * @return {FixedOffsetZone}\n */\n static instance(offset) {\n return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);\n }\n\n /**\n * Get an instance of FixedOffsetZone from a UTC offset string, like \"UTC+6\"\n * @param {string} s - The offset string to parse\n * @example FixedOffsetZone.parseSpecifier(\"UTC+6\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC+06\")\n * @example FixedOffsetZone.parseSpecifier(\"UTC-6:00\")\n * @return {FixedOffsetZone}\n */\n static parseSpecifier(s) {\n if (s) {\n const r = s.match(/^utc(?:([+-]\\d{1,2})(?::(\\d{2}))?)?$/i);\n if (r) {\n return new FixedOffsetZone(signedOffset(r[1], r[2]));\n }\n }\n return null;\n }\n\n constructor(offset) {\n super();\n /** @private **/\n this.fixed = offset;\n }\n\n /**\n * The type of zone. `fixed` for all instances of `FixedOffsetZone`.\n * @override\n * @type {string}\n */\n get type() {\n return \"fixed\";\n }\n\n /**\n * The name of this zone.\n * All fixed zones' names always start with \"UTC\" (plus optional offset)\n * @override\n * @type {string}\n */\n get name() {\n return this.fixed === 0 ? \"UTC\" : `UTC${formatOffset(this.fixed, \"narrow\")}`;\n }\n\n /**\n * The IANA name of this zone, i.e. `Etc/UTC` or `Etc/GMT+/-nn`\n *\n * @override\n * @type {string}\n */\n get ianaName() {\n if (this.fixed === 0) {\n return \"Etc/UTC\";\n } else {\n return `Etc/GMT${formatOffset(-this.fixed, \"narrow\")}`;\n }\n }\n\n /**\n * Returns the offset's common name at the specified timestamp.\n *\n * For fixed offset zones this equals to the zone name.\n * @override\n */\n offsetName() {\n return this.name;\n }\n\n /**\n * Returns the offset's value as a string\n * @override\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\n formatOffset(ts, format) {\n return formatOffset(this.fixed, format);\n }\n\n /**\n * Returns whether the offset is known to be fixed for the whole year:\n * Always returns true for all fixed offset zones.\n * @override\n * @type {boolean}\n */\n get isUniversal() {\n return true;\n }\n\n /**\n * Return the offset in minutes for this zone at the specified timestamp.\n *\n * For fixed offset zones, this is constant and does not depend on a timestamp.\n * @override\n * @return {number}\n */\n offset() {\n return this.fixed;\n }\n\n /**\n * Return whether this Zone is equal to another zone (i.e. also fixed and same offset)\n * @override\n * @param {Zone} otherZone - the zone to compare\n * @return {boolean}\n */\n equals(otherZone) {\n return otherZone.type === \"fixed\" && otherZone.fixed === this.fixed;\n }\n\n /**\n * Return whether this Zone is valid:\n * All fixed offset zones are valid.\n * @override\n * @type {boolean}\n */\n get isValid() {\n return true;\n }\n}\n","import Zone from \"../zone.js\";\n\n/**\n * A zone that failed to parse. You should never need to instantiate this.\n * @implements {Zone}\n */\nexport default class InvalidZone extends Zone {\n constructor(zoneName) {\n super();\n /** @private */\n this.zoneName = zoneName;\n }\n\n /** @override **/\n get type() {\n return \"invalid\";\n }\n\n /** @override **/\n get name() {\n return this.zoneName;\n }\n\n /** @override **/\n get isUniversal() {\n return false;\n }\n\n /** @override **/\n offsetName() {\n return null;\n }\n\n /** @override **/\n formatOffset() {\n return \"\";\n }\n\n /** @override **/\n offset() {\n return NaN;\n }\n\n /** @override **/\n equals() {\n return false;\n }\n\n /** @override **/\n get isValid() {\n return false;\n }\n}\n","/**\n * @private\n */\n\nimport Zone from \"../zone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport InvalidZone from \"../zones/invalidZone.js\";\n\nimport { isUndefined, isString, isNumber } from \"./util.js\";\nimport SystemZone from \"../zones/systemZone.js\";\n\nexport function normalizeZone(input, defaultZone) {\n let offset;\n if (isUndefined(input) || input === null) {\n return defaultZone;\n } else if (input instanceof Zone) {\n return input;\n } else if (isString(input)) {\n const lowered = input.toLowerCase();\n if (lowered === \"default\") return defaultZone;\n else if (lowered === \"local\" || lowered === \"system\") return SystemZone.instance;\n else if (lowered === \"utc\" || lowered === \"gmt\") return FixedOffsetZone.utcInstance;\n else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);\n } else if (isNumber(input)) {\n return FixedOffsetZone.instance(input);\n } else if (typeof input === \"object\" && \"offset\" in input && typeof input.offset === \"function\") {\n // This is dumb, but the instanceof check above doesn't seem to really work\n // so we're duck checking it\n return input;\n } else {\n return new InvalidZone(input);\n }\n}\n","const numberingSystems = {\n arab: \"[\\u0660-\\u0669]\",\n arabext: \"[\\u06F0-\\u06F9]\",\n bali: \"[\\u1B50-\\u1B59]\",\n beng: \"[\\u09E6-\\u09EF]\",\n deva: \"[\\u0966-\\u096F]\",\n fullwide: \"[\\uFF10-\\uFF19]\",\n gujr: \"[\\u0AE6-\\u0AEF]\",\n hanidec: \"[〇|一|二|三|四|五|六|七|八|九]\",\n khmr: \"[\\u17E0-\\u17E9]\",\n knda: \"[\\u0CE6-\\u0CEF]\",\n laoo: \"[\\u0ED0-\\u0ED9]\",\n limb: \"[\\u1946-\\u194F]\",\n mlym: \"[\\u0D66-\\u0D6F]\",\n mong: \"[\\u1810-\\u1819]\",\n mymr: \"[\\u1040-\\u1049]\",\n orya: \"[\\u0B66-\\u0B6F]\",\n tamldec: \"[\\u0BE6-\\u0BEF]\",\n telu: \"[\\u0C66-\\u0C6F]\",\n thai: \"[\\u0E50-\\u0E59]\",\n tibt: \"[\\u0F20-\\u0F29]\",\n latn: \"\\\\d\",\n};\n\nconst numberingSystemsUTF16 = {\n arab: [1632, 1641],\n arabext: [1776, 1785],\n bali: [6992, 7001],\n beng: [2534, 2543],\n deva: [2406, 2415],\n fullwide: [65296, 65303],\n gujr: [2790, 2799],\n khmr: [6112, 6121],\n knda: [3302, 3311],\n laoo: [3792, 3801],\n limb: [6470, 6479],\n mlym: [3430, 3439],\n mong: [6160, 6169],\n mymr: [4160, 4169],\n orya: [2918, 2927],\n tamldec: [3046, 3055],\n telu: [3174, 3183],\n thai: [3664, 3673],\n tibt: [3872, 3881],\n};\n\nconst hanidecChars = numberingSystems.hanidec.replace(/[\\[|\\]]/g, \"\").split(\"\");\n\nexport function parseDigits(str) {\n let value = parseInt(str, 10);\n if (isNaN(value)) {\n value = \"\";\n for (let i = 0; i < str.length; i++) {\n const code = str.charCodeAt(i);\n\n if (str[i].search(numberingSystems.hanidec) !== -1) {\n value += hanidecChars.indexOf(str[i]);\n } else {\n for (const key in numberingSystemsUTF16) {\n const [min, max] = numberingSystemsUTF16[key];\n if (code >= min && code <= max) {\n value += code - min;\n }\n }\n }\n }\n return parseInt(value, 10);\n } else {\n return value;\n }\n}\n\n// cache of {numberingSystem: {append: regex}}\nlet digitRegexCache = {};\nexport function resetDigitRegexCache() {\n digitRegexCache = {};\n}\n\nexport function digitRegex({ numberingSystem }, append = \"\") {\n const ns = numberingSystem || \"latn\";\n\n if (!digitRegexCache[ns]) {\n digitRegexCache[ns] = {};\n }\n if (!digitRegexCache[ns][append]) {\n digitRegexCache[ns][append] = new RegExp(`${numberingSystems[ns]}${append}`);\n }\n\n return digitRegexCache[ns][append];\n}\n","import SystemZone from \"./zones/systemZone.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport DateTime from \"./datetime.js\";\n\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport { validateWeekSettings } from \"./impl/util.js\";\nimport { resetDigitRegexCache } from \"./impl/digits.js\";\n\nlet now = () => Date.now(),\n defaultZone = \"system\",\n defaultLocale = null,\n defaultNumberingSystem = null,\n defaultOutputCalendar = null,\n twoDigitCutoffYear = 60,\n throwOnInvalid,\n defaultWeekSettings = null;\n\n/**\n * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.\n */\nexport default class Settings {\n /**\n * Get the callback for returning the current timestamp.\n * @type {function}\n */\n static get now() {\n return now;\n }\n\n /**\n * Set the callback for returning the current timestamp.\n * The function should return a number, which will be interpreted as an Epoch millisecond count\n * @type {function}\n * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future\n * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time\n */\n static set now(n) {\n now = n;\n }\n\n /**\n * Set the default time zone to create DateTimes in. Does not affect existing instances.\n * Use the value \"system\" to reset this value to the system's time zone.\n * @type {string}\n */\n static set defaultZone(zone) {\n defaultZone = zone;\n }\n\n /**\n * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.\n * The default value is the system's time zone (the one set on the machine that runs this code).\n * @type {Zone}\n */\n static get defaultZone() {\n return normalizeZone(defaultZone, SystemZone.instance);\n }\n\n /**\n * Get the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultLocale() {\n return defaultLocale;\n }\n\n /**\n * Set the default locale to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultLocale(locale) {\n defaultLocale = locale;\n }\n\n /**\n * Get the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultNumberingSystem() {\n return defaultNumberingSystem;\n }\n\n /**\n * Set the default numbering system to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultNumberingSystem(numberingSystem) {\n defaultNumberingSystem = numberingSystem;\n }\n\n /**\n * Get the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static get defaultOutputCalendar() {\n return defaultOutputCalendar;\n }\n\n /**\n * Set the default output calendar to create DateTimes with. Does not affect existing instances.\n * @type {string}\n */\n static set defaultOutputCalendar(outputCalendar) {\n defaultOutputCalendar = outputCalendar;\n }\n\n /**\n * @typedef {Object} WeekSettings\n * @property {number} firstDay\n * @property {number} minimalDays\n * @property {number[]} weekend\n */\n\n /**\n * @return {WeekSettings|null}\n */\n static get defaultWeekSettings() {\n return defaultWeekSettings;\n }\n\n /**\n * Allows overriding the default locale week settings, i.e. the start of the week, the weekend and\n * how many days are required in the first week of a year.\n * Does not affect existing instances.\n *\n * @param {WeekSettings|null} weekSettings\n */\n static set defaultWeekSettings(weekSettings) {\n defaultWeekSettings = validateWeekSettings(weekSettings);\n }\n\n /**\n * Get the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n * @type {number}\n */\n static get twoDigitCutoffYear() {\n return twoDigitCutoffYear;\n }\n\n /**\n * Set the cutoff year for whether a 2-digit year string is interpreted in the current or previous century. Numbers higher than the cutoff will be considered to mean 19xx and numbers lower or equal to the cutoff will be considered 20xx.\n * @type {number}\n * @example Settings.twoDigitCutoffYear = 0 // all 'yy' are interpreted as 20th century\n * @example Settings.twoDigitCutoffYear = 99 // all 'yy' are interpreted as 21st century\n * @example Settings.twoDigitCutoffYear = 50 // '49' -> 2049; '50' -> 1950\n * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50\n * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50\n */\n static set twoDigitCutoffYear(cutoffYear) {\n twoDigitCutoffYear = cutoffYear % 100;\n }\n\n /**\n * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static get throwOnInvalid() {\n return throwOnInvalid;\n }\n\n /**\n * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals\n * @type {boolean}\n */\n static set throwOnInvalid(t) {\n throwOnInvalid = t;\n }\n\n /**\n * Reset Luxon's global caches. Should only be necessary in testing scenarios.\n * @return {void}\n */\n static resetCaches() {\n Locale.resetCache();\n IANAZone.resetCache();\n DateTime.resetCache();\n resetDigitRegexCache();\n }\n}\n","export default class Invalid {\n constructor(reason, explanation) {\n this.reason = reason;\n this.explanation = explanation;\n }\n\n toMessage() {\n if (this.explanation) {\n return `${this.reason}: ${this.explanation}`;\n } else {\n return this.reason;\n }\n }\n}\n","import {\n integerBetween,\n isLeapYear,\n timeObject,\n daysInYear,\n daysInMonth,\n weeksInWeekYear,\n isInteger,\n isUndefined,\n} from \"./util.js\";\nimport Invalid from \"./invalid.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],\n leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];\n\nfunction unitOutOfRange(unit, value) {\n return new Invalid(\n \"unit out of range\",\n `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`\n );\n}\n\nexport function dayOfWeek(year, month, day) {\n const d = new Date(Date.UTC(year, month - 1, day));\n\n if (year < 100 && year >= 0) {\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n }\n\n const js = d.getUTCDay();\n\n return js === 0 ? 7 : js;\n}\n\nfunction computeOrdinal(year, month, day) {\n return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];\n}\n\nfunction uncomputeOrdinal(year, ordinal) {\n const table = isLeapYear(year) ? leapLadder : nonLeapLadder,\n month0 = table.findIndex((i) => i < ordinal),\n day = ordinal - table[month0];\n return { month: month0 + 1, day };\n}\n\nexport function isoWeekdayToLocal(isoWeekday, startOfWeek) {\n return ((isoWeekday - startOfWeek + 7) % 7) + 1;\n}\n\n/**\n * @private\n */\n\nexport function gregorianToWeek(gregObj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const { year, month, day } = gregObj,\n ordinal = computeOrdinal(year, month, day),\n weekday = isoWeekdayToLocal(dayOfWeek(year, month, day), startOfWeek);\n\n let weekNumber = Math.floor((ordinal - weekday + 14 - minDaysInFirstWeek) / 7),\n weekYear;\n\n if (weekNumber < 1) {\n weekYear = year - 1;\n weekNumber = weeksInWeekYear(weekYear, minDaysInFirstWeek, startOfWeek);\n } else if (weekNumber > weeksInWeekYear(year, minDaysInFirstWeek, startOfWeek)) {\n weekYear = year + 1;\n weekNumber = 1;\n } else {\n weekYear = year;\n }\n\n return { weekYear, weekNumber, weekday, ...timeObject(gregObj) };\n}\n\nexport function weekToGregorian(weekData, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const { weekYear, weekNumber, weekday } = weekData,\n weekdayOfJan4 = isoWeekdayToLocal(dayOfWeek(weekYear, 1, minDaysInFirstWeek), startOfWeek),\n yearInDays = daysInYear(weekYear);\n\n let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 7 + minDaysInFirstWeek,\n year;\n\n if (ordinal < 1) {\n year = weekYear - 1;\n ordinal += daysInYear(year);\n } else if (ordinal > yearInDays) {\n year = weekYear + 1;\n ordinal -= daysInYear(weekYear);\n } else {\n year = weekYear;\n }\n\n const { month, day } = uncomputeOrdinal(year, ordinal);\n return { year, month, day, ...timeObject(weekData) };\n}\n\nexport function gregorianToOrdinal(gregData) {\n const { year, month, day } = gregData;\n const ordinal = computeOrdinal(year, month, day);\n return { year, ordinal, ...timeObject(gregData) };\n}\n\nexport function ordinalToGregorian(ordinalData) {\n const { year, ordinal } = ordinalData;\n const { month, day } = uncomputeOrdinal(year, ordinal);\n return { year, month, day, ...timeObject(ordinalData) };\n}\n\n/**\n * Check if local week units like localWeekday are used in obj.\n * If so, validates that they are not mixed with ISO week units and then copies them to the normal week unit properties.\n * Modifies obj in-place!\n * @param obj the object values\n */\nexport function usesLocalWeekValues(obj, loc) {\n const hasLocaleWeekData =\n !isUndefined(obj.localWeekday) ||\n !isUndefined(obj.localWeekNumber) ||\n !isUndefined(obj.localWeekYear);\n if (hasLocaleWeekData) {\n const hasIsoWeekData =\n !isUndefined(obj.weekday) || !isUndefined(obj.weekNumber) || !isUndefined(obj.weekYear);\n\n if (hasIsoWeekData) {\n throw new ConflictingSpecificationError(\n \"Cannot mix locale-based week fields with ISO-based week fields\"\n );\n }\n if (!isUndefined(obj.localWeekday)) obj.weekday = obj.localWeekday;\n if (!isUndefined(obj.localWeekNumber)) obj.weekNumber = obj.localWeekNumber;\n if (!isUndefined(obj.localWeekYear)) obj.weekYear = obj.localWeekYear;\n delete obj.localWeekday;\n delete obj.localWeekNumber;\n delete obj.localWeekYear;\n return {\n minDaysInFirstWeek: loc.getMinDaysInFirstWeek(),\n startOfWeek: loc.getStartOfWeek(),\n };\n } else {\n return { minDaysInFirstWeek: 4, startOfWeek: 1 };\n }\n}\n\nexport function hasInvalidWeekData(obj, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const validYear = isInteger(obj.weekYear),\n validWeek = integerBetween(\n obj.weekNumber,\n 1,\n weeksInWeekYear(obj.weekYear, minDaysInFirstWeek, startOfWeek)\n ),\n validWeekday = integerBetween(obj.weekday, 1, 7);\n\n if (!validYear) {\n return unitOutOfRange(\"weekYear\", obj.weekYear);\n } else if (!validWeek) {\n return unitOutOfRange(\"week\", obj.weekNumber);\n } else if (!validWeekday) {\n return unitOutOfRange(\"weekday\", obj.weekday);\n } else return false;\n}\n\nexport function hasInvalidOrdinalData(obj) {\n const validYear = isInteger(obj.year),\n validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validOrdinal) {\n return unitOutOfRange(\"ordinal\", obj.ordinal);\n } else return false;\n}\n\nexport function hasInvalidGregorianData(obj) {\n const validYear = isInteger(obj.year),\n validMonth = integerBetween(obj.month, 1, 12),\n validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));\n\n if (!validYear) {\n return unitOutOfRange(\"year\", obj.year);\n } else if (!validMonth) {\n return unitOutOfRange(\"month\", obj.month);\n } else if (!validDay) {\n return unitOutOfRange(\"day\", obj.day);\n } else return false;\n}\n\nexport function hasInvalidTimeData(obj) {\n const { hour, minute, second, millisecond } = obj;\n const validHour =\n integerBetween(hour, 0, 23) ||\n (hour === 24 && minute === 0 && second === 0 && millisecond === 0),\n validMinute = integerBetween(minute, 0, 59),\n validSecond = integerBetween(second, 0, 59),\n validMillisecond = integerBetween(millisecond, 0, 999);\n\n if (!validHour) {\n return unitOutOfRange(\"hour\", hour);\n } else if (!validMinute) {\n return unitOutOfRange(\"minute\", minute);\n } else if (!validSecond) {\n return unitOutOfRange(\"second\", second);\n } else if (!validMillisecond) {\n return unitOutOfRange(\"millisecond\", millisecond);\n } else return false;\n}\n","/*\n This is just a junk drawer, containing anything used across multiple classes.\n Because Luxon is small(ish), this should stay small and we won't worry about splitting\n it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.\n*/\n\nimport { InvalidArgumentError } from \"../errors.js\";\nimport Settings from \"../settings.js\";\nimport { dayOfWeek, isoWeekdayToLocal } from \"./conversions.js\";\n\n/**\n * @private\n */\n\n// TYPES\n\nexport function isUndefined(o) {\n return typeof o === \"undefined\";\n}\n\nexport function isNumber(o) {\n return typeof o === \"number\";\n}\n\nexport function isInteger(o) {\n return typeof o === \"number\" && o % 1 === 0;\n}\n\nexport function isString(o) {\n return typeof o === \"string\";\n}\n\nexport function isDate(o) {\n return Object.prototype.toString.call(o) === \"[object Date]\";\n}\n\n// CAPABILITIES\n\nexport function hasRelative() {\n try {\n return typeof Intl !== \"undefined\" && !!Intl.RelativeTimeFormat;\n } catch (e) {\n return false;\n }\n}\n\nexport function hasLocaleWeekInfo() {\n try {\n return (\n typeof Intl !== \"undefined\" &&\n !!Intl.Locale &&\n (\"weekInfo\" in Intl.Locale.prototype || \"getWeekInfo\" in Intl.Locale.prototype)\n );\n } catch (e) {\n return false;\n }\n}\n\n// OBJECTS AND ARRAYS\n\nexport function maybeArray(thing) {\n return Array.isArray(thing) ? thing : [thing];\n}\n\nexport function bestBy(arr, by, compare) {\n if (arr.length === 0) {\n return undefined;\n }\n return arr.reduce((best, next) => {\n const pair = [by(next), next];\n if (!best) {\n return pair;\n } else if (compare(best[0], pair[0]) === best[0]) {\n return best;\n } else {\n return pair;\n }\n }, null)[1];\n}\n\nexport function pick(obj, keys) {\n return keys.reduce((a, k) => {\n a[k] = obj[k];\n return a;\n }, {});\n}\n\nexport function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function validateWeekSettings(settings) {\n if (settings == null) {\n return null;\n } else if (typeof settings !== \"object\") {\n throw new InvalidArgumentError(\"Week settings must be an object\");\n } else {\n if (\n !integerBetween(settings.firstDay, 1, 7) ||\n !integerBetween(settings.minimalDays, 1, 7) ||\n !Array.isArray(settings.weekend) ||\n settings.weekend.some((v) => !integerBetween(v, 1, 7))\n ) {\n throw new InvalidArgumentError(\"Invalid week settings\");\n }\n return {\n firstDay: settings.firstDay,\n minimalDays: settings.minimalDays,\n weekend: Array.from(settings.weekend),\n };\n }\n}\n\n// NUMBERS AND STRINGS\n\nexport function integerBetween(thing, bottom, top) {\n return isInteger(thing) && thing >= bottom && thing <= top;\n}\n\n// x % n but takes the sign of n instead of x\nexport function floorMod(x, n) {\n return x - n * Math.floor(x / n);\n}\n\nexport function padStart(input, n = 2) {\n const isNeg = input < 0;\n let padded;\n if (isNeg) {\n padded = \"-\" + (\"\" + -input).padStart(n, \"0\");\n } else {\n padded = (\"\" + input).padStart(n, \"0\");\n }\n return padded;\n}\n\nexport function parseInteger(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseInt(string, 10);\n }\n}\n\nexport function parseFloating(string) {\n if (isUndefined(string) || string === null || string === \"\") {\n return undefined;\n } else {\n return parseFloat(string);\n }\n}\n\nexport function parseMillis(fraction) {\n // Return undefined (instead of 0) in these cases, where fraction is not set\n if (isUndefined(fraction) || fraction === null || fraction === \"\") {\n return undefined;\n } else {\n const f = parseFloat(\"0.\" + fraction) * 1000;\n return Math.floor(f);\n }\n}\n\nexport function roundTo(number, digits, towardZero = false) {\n const factor = 10 ** digits,\n rounder = towardZero ? Math.trunc : Math.round;\n return rounder(number * factor) / factor;\n}\n\n// DATE BASICS\n\nexport function isLeapYear(year) {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nexport function daysInMonth(year, month) {\n const modMonth = floorMod(month - 1, 12) + 1,\n modYear = year + (month - modMonth) / 12;\n\n if (modMonth === 2) {\n return isLeapYear(modYear) ? 29 : 28;\n } else {\n return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];\n }\n}\n\n// convert a calendar object to a local timestamp (epoch, but with the offset baked in)\nexport function objToLocalTS(obj) {\n let d = Date.UTC(\n obj.year,\n obj.month - 1,\n obj.day,\n obj.hour,\n obj.minute,\n obj.second,\n obj.millisecond\n );\n\n // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that\n if (obj.year < 100 && obj.year >= 0) {\n d = new Date(d);\n // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not\n // so if obj.year is in 99, but obj.day makes it roll over into year 100,\n // the calculations done by Date.UTC are using year 2000 - which is incorrect\n d.setUTCFullYear(obj.year, obj.month - 1, obj.day);\n }\n return +d;\n}\n\n// adapted from moment.js: https://github.com/moment/moment/blob/000ac1800e620f770f4eb31b5ae908f6167b0ab2/src/lib/units/week-calendar-utils.js\nfunction firstWeekOffset(year, minDaysInFirstWeek, startOfWeek) {\n const fwdlw = isoWeekdayToLocal(dayOfWeek(year, 1, minDaysInFirstWeek), startOfWeek);\n return -fwdlw + minDaysInFirstWeek - 1;\n}\n\nexport function weeksInWeekYear(weekYear, minDaysInFirstWeek = 4, startOfWeek = 1) {\n const weekOffset = firstWeekOffset(weekYear, minDaysInFirstWeek, startOfWeek);\n const weekOffsetNext = firstWeekOffset(weekYear + 1, minDaysInFirstWeek, startOfWeek);\n return (daysInYear(weekYear) - weekOffset + weekOffsetNext) / 7;\n}\n\nexport function untruncateYear(year) {\n if (year > 99) {\n return year;\n } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;\n}\n\n// PARSING\n\nexport function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {\n const date = new Date(ts),\n intlOpts = {\n hourCycle: \"h23\",\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n };\n\n if (timeZone) {\n intlOpts.timeZone = timeZone;\n }\n\n const modified = { timeZoneName: offsetFormat, ...intlOpts };\n\n const parsed = new Intl.DateTimeFormat(locale, modified)\n .formatToParts(date)\n .find((m) => m.type.toLowerCase() === \"timezonename\");\n return parsed ? parsed.value : null;\n}\n\n// signedOffset('-5', '30') -> -330\nexport function signedOffset(offHourStr, offMinuteStr) {\n let offHour = parseInt(offHourStr, 10);\n\n // don't || this because we want to preserve -0\n if (Number.isNaN(offHour)) {\n offHour = 0;\n }\n\n const offMin = parseInt(offMinuteStr, 10) || 0,\n offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;\n return offHour * 60 + offMinSigned;\n}\n\n// COERCION\n\nexport function asNumber(value) {\n const numericValue = Number(value);\n if (typeof value === \"boolean\" || value === \"\" || Number.isNaN(numericValue))\n throw new InvalidArgumentError(`Invalid unit value ${value}`);\n return numericValue;\n}\n\nexport function normalizeObject(obj, normalizer) {\n const normalized = {};\n for (const u in obj) {\n if (hasOwnProperty(obj, u)) {\n const v = obj[u];\n if (v === undefined || v === null) continue;\n normalized[normalizer(u)] = asNumber(v);\n }\n }\n return normalized;\n}\n\n/**\n * Returns the offset's value as a string\n * @param {number} ts - Epoch milliseconds for which to get the offset\n * @param {string} format - What style of offset to return.\n * Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively\n * @return {string}\n */\nexport function formatOffset(offset, format) {\n const hours = Math.trunc(Math.abs(offset / 60)),\n minutes = Math.trunc(Math.abs(offset % 60)),\n sign = offset >= 0 ? \"+\" : \"-\";\n\n switch (format) {\n case \"short\":\n return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;\n case \"narrow\":\n return `${sign}${hours}${minutes > 0 ? `:${minutes}` : \"\"}`;\n case \"techie\":\n return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;\n default:\n throw new RangeError(`Value format ${format} is out of range for property format`);\n }\n}\n\nexport function timeObject(obj) {\n return pick(obj, [\"hour\", \"minute\", \"second\", \"millisecond\"]);\n}\n","import * as Formats from \"./formats.js\";\nimport { pick } from \"./util.js\";\n\nfunction stringify(obj) {\n return JSON.stringify(obj, Object.keys(obj).sort());\n}\n\n/**\n * @private\n */\n\nexport const monthsLong = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nexport const monthsShort = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nexport const monthsNarrow = [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"];\n\nexport function months(length) {\n switch (length) {\n case \"narrow\":\n return [...monthsNarrow];\n case \"short\":\n return [...monthsShort];\n case \"long\":\n return [...monthsLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\"];\n case \"2-digit\":\n return [\"01\", \"02\", \"03\", \"04\", \"05\", \"06\", \"07\", \"08\", \"09\", \"10\", \"11\", \"12\"];\n default:\n return null;\n }\n}\n\nexport const weekdaysLong = [\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n \"Sunday\",\n];\n\nexport const weekdaysShort = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nexport const weekdaysNarrow = [\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"];\n\nexport function weekdays(length) {\n switch (length) {\n case \"narrow\":\n return [...weekdaysNarrow];\n case \"short\":\n return [...weekdaysShort];\n case \"long\":\n return [...weekdaysLong];\n case \"numeric\":\n return [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\"];\n default:\n return null;\n }\n}\n\nexport const meridiems = [\"AM\", \"PM\"];\n\nexport const erasLong = [\"Before Christ\", \"Anno Domini\"];\n\nexport const erasShort = [\"BC\", \"AD\"];\n\nexport const erasNarrow = [\"B\", \"A\"];\n\nexport function eras(length) {\n switch (length) {\n case \"narrow\":\n return [...erasNarrow];\n case \"short\":\n return [...erasShort];\n case \"long\":\n return [...erasLong];\n default:\n return null;\n }\n}\n\nexport function meridiemForDateTime(dt) {\n return meridiems[dt.hour < 12 ? 0 : 1];\n}\n\nexport function weekdayForDateTime(dt, length) {\n return weekdays(length)[dt.weekday - 1];\n}\n\nexport function monthForDateTime(dt, length) {\n return months(length)[dt.month - 1];\n}\n\nexport function eraForDateTime(dt, length) {\n return eras(length)[dt.year < 0 ? 0 : 1];\n}\n\nexport function formatRelativeTime(unit, count, numeric = \"always\", narrow = false) {\n const units = {\n years: [\"year\", \"yr.\"],\n quarters: [\"quarter\", \"qtr.\"],\n months: [\"month\", \"mo.\"],\n weeks: [\"week\", \"wk.\"],\n days: [\"day\", \"day\", \"days\"],\n hours: [\"hour\", \"hr.\"],\n minutes: [\"minute\", \"min.\"],\n seconds: [\"second\", \"sec.\"],\n };\n\n const lastable = [\"hours\", \"minutes\", \"seconds\"].indexOf(unit) === -1;\n\n if (numeric === \"auto\" && lastable) {\n const isDay = unit === \"days\";\n switch (count) {\n case 1:\n return isDay ? \"tomorrow\" : `next ${units[unit][0]}`;\n case -1:\n return isDay ? \"yesterday\" : `last ${units[unit][0]}`;\n case 0:\n return isDay ? \"today\" : `this ${units[unit][0]}`;\n default: // fall through\n }\n }\n\n const isInPast = Object.is(count, -0) || count < 0,\n fmtValue = Math.abs(count),\n singular = fmtValue === 1,\n lilUnits = units[unit],\n fmtUnit = narrow\n ? singular\n ? lilUnits[1]\n : lilUnits[2] || lilUnits[1]\n : singular\n ? units[unit][0]\n : unit;\n return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;\n}\n\nexport function formatString(knownFormat) {\n // these all have the offsets removed because we don't have access to them\n // without all the intl stuff this is backfilling\n const filtered = pick(knownFormat, [\n \"weekday\",\n \"era\",\n \"year\",\n \"month\",\n \"day\",\n \"hour\",\n \"minute\",\n \"second\",\n \"timeZoneName\",\n \"hourCycle\",\n ]),\n key = stringify(filtered),\n dateTimeHuge = \"EEEE, LLLL d, yyyy, h:mm a\";\n switch (key) {\n case stringify(Formats.DATE_SHORT):\n return \"M/d/yyyy\";\n case stringify(Formats.DATE_MED):\n return \"LLL d, yyyy\";\n case stringify(Formats.DATE_MED_WITH_WEEKDAY):\n return \"EEE, LLL d, yyyy\";\n case stringify(Formats.DATE_FULL):\n return \"LLLL d, yyyy\";\n case stringify(Formats.DATE_HUGE):\n return \"EEEE, LLLL d, yyyy\";\n case stringify(Formats.TIME_SIMPLE):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_SECONDS):\n return \"h:mm:ss a\";\n case stringify(Formats.TIME_WITH_SHORT_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_WITH_LONG_OFFSET):\n return \"h:mm a\";\n case stringify(Formats.TIME_24_SIMPLE):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_SECONDS):\n return \"HH:mm:ss\";\n case stringify(Formats.TIME_24_WITH_SHORT_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.TIME_24_WITH_LONG_OFFSET):\n return \"HH:mm\";\n case stringify(Formats.DATETIME_SHORT):\n return \"M/d/yyyy, h:mm a\";\n case stringify(Formats.DATETIME_MED):\n return \"LLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL):\n return \"LLLL d, yyyy, h:mm a\";\n case stringify(Formats.DATETIME_HUGE):\n return dateTimeHuge;\n case stringify(Formats.DATETIME_SHORT_WITH_SECONDS):\n return \"M/d/yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_SECONDS):\n return \"LLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_MED_WITH_WEEKDAY):\n return \"EEE, d LLL yyyy, h:mm a\";\n case stringify(Formats.DATETIME_FULL_WITH_SECONDS):\n return \"LLLL d, yyyy, h:mm:ss a\";\n case stringify(Formats.DATETIME_HUGE_WITH_SECONDS):\n return \"EEEE, LLLL d, yyyy, h:mm:ss a\";\n default:\n return dateTimeHuge;\n }\n}\n","import * as English from \"./english.js\";\nimport * as Formats from \"./formats.js\";\nimport { padStart } from \"./util.js\";\n\nfunction stringifyTokens(splits, tokenToString) {\n let s = \"\";\n for (const token of splits) {\n if (token.literal) {\n s += token.val;\n } else {\n s += tokenToString(token.val);\n }\n }\n return s;\n}\n\nconst macroTokenToFormatOpts = {\n D: Formats.DATE_SHORT,\n DD: Formats.DATE_MED,\n DDD: Formats.DATE_FULL,\n DDDD: Formats.DATE_HUGE,\n t: Formats.TIME_SIMPLE,\n tt: Formats.TIME_WITH_SECONDS,\n ttt: Formats.TIME_WITH_SHORT_OFFSET,\n tttt: Formats.TIME_WITH_LONG_OFFSET,\n T: Formats.TIME_24_SIMPLE,\n TT: Formats.TIME_24_WITH_SECONDS,\n TTT: Formats.TIME_24_WITH_SHORT_OFFSET,\n TTTT: Formats.TIME_24_WITH_LONG_OFFSET,\n f: Formats.DATETIME_SHORT,\n ff: Formats.DATETIME_MED,\n fff: Formats.DATETIME_FULL,\n ffff: Formats.DATETIME_HUGE,\n F: Formats.DATETIME_SHORT_WITH_SECONDS,\n FF: Formats.DATETIME_MED_WITH_SECONDS,\n FFF: Formats.DATETIME_FULL_WITH_SECONDS,\n FFFF: Formats.DATETIME_HUGE_WITH_SECONDS,\n};\n\n/**\n * @private\n */\n\nexport default class Formatter {\n static create(locale, opts = {}) {\n return new Formatter(locale, opts);\n }\n\n static parseFormat(fmt) {\n // white-space is always considered a literal in user-provided formats\n // the \" \" token has a special meaning (see unitForToken)\n\n let current = null,\n currentFull = \"\",\n bracketed = false;\n const splits = [];\n for (let i = 0; i < fmt.length; i++) {\n const c = fmt.charAt(i);\n if (c === \"'\") {\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n }\n current = null;\n currentFull = \"\";\n bracketed = !bracketed;\n } else if (bracketed) {\n currentFull += c;\n } else if (c === current) {\n currentFull += c;\n } else {\n if (currentFull.length > 0) {\n splits.push({ literal: /^\\s+$/.test(currentFull), val: currentFull });\n }\n currentFull = c;\n current = c;\n }\n }\n\n if (currentFull.length > 0) {\n splits.push({ literal: bracketed || /^\\s+$/.test(currentFull), val: currentFull });\n }\n\n return splits;\n }\n\n static macroTokenToFormatOpts(token) {\n return macroTokenToFormatOpts[token];\n }\n\n constructor(locale, formatOpts) {\n this.opts = formatOpts;\n this.loc = locale;\n this.systemLoc = null;\n }\n\n formatWithSystemDefault(dt, opts) {\n if (this.systemLoc === null) {\n this.systemLoc = this.loc.redefaultToSystem();\n }\n const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts });\n return df.format();\n }\n\n dtFormatter(dt, opts = {}) {\n return this.loc.dtFormatter(dt, { ...this.opts, ...opts });\n }\n\n formatDateTime(dt, opts) {\n return this.dtFormatter(dt, opts).format();\n }\n\n formatDateTimeParts(dt, opts) {\n return this.dtFormatter(dt, opts).formatToParts();\n }\n\n formatInterval(interval, opts) {\n const df = this.dtFormatter(interval.start, opts);\n return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());\n }\n\n resolvedOptions(dt, opts) {\n return this.dtFormatter(dt, opts).resolvedOptions();\n }\n\n num(n, p = 0) {\n // we get some perf out of doing this here, annoyingly\n if (this.opts.forceSimple) {\n return padStart(n, p);\n }\n\n const opts = { ...this.opts };\n\n if (p > 0) {\n opts.padTo = p;\n }\n\n return this.loc.numberFormatter(opts).format(n);\n }\n\n formatDateTimeFromString(dt, fmt) {\n const knownEnglish = this.loc.listingMode() === \"en\",\n useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== \"gregory\",\n string = (opts, extract) => this.loc.extract(dt, opts, extract),\n formatOffset = (opts) => {\n if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {\n return \"Z\";\n }\n\n return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : \"\";\n },\n meridiem = () =>\n knownEnglish\n ? English.meridiemForDateTime(dt)\n : string({ hour: \"numeric\", hourCycle: \"h12\" }, \"dayperiod\"),\n month = (length, standalone) =>\n knownEnglish\n ? English.monthForDateTime(dt, length)\n : string(standalone ? { month: length } : { month: length, day: \"numeric\" }, \"month\"),\n weekday = (length, standalone) =>\n knownEnglish\n ? English.weekdayForDateTime(dt, length)\n : string(\n standalone ? { weekday: length } : { weekday: length, month: \"long\", day: \"numeric\" },\n \"weekday\"\n ),\n maybeMacro = (token) => {\n const formatOpts = Formatter.macroTokenToFormatOpts(token);\n if (formatOpts) {\n return this.formatWithSystemDefault(dt, formatOpts);\n } else {\n return token;\n }\n },\n era = (length) =>\n knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, \"era\"),\n tokenToString = (token) => {\n // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols\n switch (token) {\n // ms\n case \"S\":\n return this.num(dt.millisecond);\n case \"u\":\n // falls through\n case \"SSS\":\n return this.num(dt.millisecond, 3);\n // seconds\n case \"s\":\n return this.num(dt.second);\n case \"ss\":\n return this.num(dt.second, 2);\n // fractional seconds\n case \"uu\":\n return this.num(Math.floor(dt.millisecond / 10), 2);\n case \"uuu\":\n return this.num(Math.floor(dt.millisecond / 100));\n // minutes\n case \"m\":\n return this.num(dt.minute);\n case \"mm\":\n return this.num(dt.minute, 2);\n // hours\n case \"h\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);\n case \"hh\":\n return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);\n case \"H\":\n return this.num(dt.hour);\n case \"HH\":\n return this.num(dt.hour, 2);\n // offset\n case \"Z\":\n // like +6\n return formatOffset({ format: \"narrow\", allowZ: this.opts.allowZ });\n case \"ZZ\":\n // like +06:00\n return formatOffset({ format: \"short\", allowZ: this.opts.allowZ });\n case \"ZZZ\":\n // like +0600\n return formatOffset({ format: \"techie\", allowZ: this.opts.allowZ });\n case \"ZZZZ\":\n // like EST\n return dt.zone.offsetName(dt.ts, { format: \"short\", locale: this.loc.locale });\n case \"ZZZZZ\":\n // like Eastern Standard Time\n return dt.zone.offsetName(dt.ts, { format: \"long\", locale: this.loc.locale });\n // zone\n case \"z\":\n // like America/New_York\n return dt.zoneName;\n // meridiems\n case \"a\":\n return meridiem();\n // dates\n case \"d\":\n return useDateTimeFormatter ? string({ day: \"numeric\" }, \"day\") : this.num(dt.day);\n case \"dd\":\n return useDateTimeFormatter ? string({ day: \"2-digit\" }, \"day\") : this.num(dt.day, 2);\n // weekdays - standalone\n case \"c\":\n // like 1\n return this.num(dt.weekday);\n case \"ccc\":\n // like 'Tues'\n return weekday(\"short\", true);\n case \"cccc\":\n // like 'Tuesday'\n return weekday(\"long\", true);\n case \"ccccc\":\n // like 'T'\n return weekday(\"narrow\", true);\n // weekdays - format\n case \"E\":\n // like 1\n return this.num(dt.weekday);\n case \"EEE\":\n // like 'Tues'\n return weekday(\"short\", false);\n case \"EEEE\":\n // like 'Tuesday'\n return weekday(\"long\", false);\n case \"EEEEE\":\n // like 'T'\n return weekday(\"narrow\", false);\n // months - standalone\n case \"L\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\", day: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"LL\":\n // like 01, doesn't seem to work\n return useDateTimeFormatter\n ? string({ month: \"2-digit\", day: \"numeric\" }, \"month\")\n : this.num(dt.month, 2);\n case \"LLL\":\n // like Jan\n return month(\"short\", true);\n case \"LLLL\":\n // like January\n return month(\"long\", true);\n case \"LLLLL\":\n // like J\n return month(\"narrow\", true);\n // months - format\n case \"M\":\n // like 1\n return useDateTimeFormatter\n ? string({ month: \"numeric\" }, \"month\")\n : this.num(dt.month);\n case \"MM\":\n // like 01\n return useDateTimeFormatter\n ? string({ month: \"2-digit\" }, \"month\")\n : this.num(dt.month, 2);\n case \"MMM\":\n // like Jan\n return month(\"short\", false);\n case \"MMMM\":\n // like January\n return month(\"long\", false);\n case \"MMMMM\":\n // like J\n return month(\"narrow\", false);\n // years\n case \"y\":\n // like 2014\n return useDateTimeFormatter ? string({ year: \"numeric\" }, \"year\") : this.num(dt.year);\n case \"yy\":\n // like 14\n return useDateTimeFormatter\n ? string({ year: \"2-digit\" }, \"year\")\n : this.num(dt.year.toString().slice(-2), 2);\n case \"yyyy\":\n // like 0012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 4);\n case \"yyyyyy\":\n // like 000012\n return useDateTimeFormatter\n ? string({ year: \"numeric\" }, \"year\")\n : this.num(dt.year, 6);\n // eras\n case \"G\":\n // like AD\n return era(\"short\");\n case \"GG\":\n // like Anno Domini\n return era(\"long\");\n case \"GGGGG\":\n return era(\"narrow\");\n case \"kk\":\n return this.num(dt.weekYear.toString().slice(-2), 2);\n case \"kkkk\":\n return this.num(dt.weekYear, 4);\n case \"W\":\n return this.num(dt.weekNumber);\n case \"WW\":\n return this.num(dt.weekNumber, 2);\n case \"n\":\n return this.num(dt.localWeekNumber);\n case \"nn\":\n return this.num(dt.localWeekNumber, 2);\n case \"ii\":\n return this.num(dt.localWeekYear.toString().slice(-2), 2);\n case \"iiii\":\n return this.num(dt.localWeekYear, 4);\n case \"o\":\n return this.num(dt.ordinal);\n case \"ooo\":\n return this.num(dt.ordinal, 3);\n case \"q\":\n // like 1\n return this.num(dt.quarter);\n case \"qq\":\n // like 01\n return this.num(dt.quarter, 2);\n case \"X\":\n return this.num(Math.floor(dt.ts / 1000));\n case \"x\":\n return this.num(dt.ts);\n default:\n return maybeMacro(token);\n }\n };\n\n return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);\n }\n\n formatDurationFromString(dur, fmt) {\n const tokenToField = (token) => {\n switch (token[0]) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"w\":\n return \"week\";\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n default:\n return null;\n }\n },\n tokenToString = (lildur) => (token) => {\n const mapped = tokenToField(token);\n if (mapped) {\n return this.num(lildur.get(mapped), token.length);\n } else {\n return token;\n }\n },\n tokens = Formatter.parseFormat(fmt),\n realTokens = tokens.reduce(\n (found, { literal, val }) => (literal ? found : found.concat(val)),\n []\n ),\n collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t));\n return stringifyTokens(tokens, tokenToString(collapsed));\n }\n}\n","import {\n untruncateYear,\n signedOffset,\n parseInteger,\n parseMillis,\n isUndefined,\n parseFloating,\n} from \"./util.js\";\nimport * as English from \"./english.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\n\n/*\n * This file handles parsing for well-specified formats. Here's how it works:\n * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.\n * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object\n * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.\n * Extractors can take a \"cursor\" representing the offset in the match to look at. This makes it easy to combine extractors.\n * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.\n * Some extractions are super dumb and simpleParse and fromStrings help DRY them.\n */\n\nconst ianaRegex = /[A-Za-z_+-]{1,256}(?::?\\/[A-Za-z0-9_+-]{1,256}(?:\\/[A-Za-z0-9_+-]{1,256})?)?/;\n\nfunction combineRegexes(...regexes) {\n const full = regexes.reduce((f, r) => f + r.source, \"\");\n return RegExp(`^${full}$`);\n}\n\nfunction combineExtractors(...extractors) {\n return (m) =>\n extractors\n .reduce(\n ([mergedVals, mergedZone, cursor], ex) => {\n const [val, zone, next] = ex(m, cursor);\n return [{ ...mergedVals, ...val }, zone || mergedZone, next];\n },\n [{}, null, 1]\n )\n .slice(0, 2);\n}\n\nfunction parse(s, ...patterns) {\n if (s == null) {\n return [null, null];\n }\n\n for (const [regex, extractor] of patterns) {\n const m = regex.exec(s);\n if (m) {\n return extractor(m);\n }\n }\n return [null, null];\n}\n\nfunction simpleParse(...keys) {\n return (match, cursor) => {\n const ret = {};\n let i;\n\n for (i = 0; i < keys.length; i++) {\n ret[keys[i]] = parseInteger(match[cursor + i]);\n }\n return [ret, null, cursor + i];\n };\n}\n\n// ISO and SQL parsing\nconst offsetRegex = /(?:(Z)|([+-]\\d\\d)(?::?(\\d\\d))?)/;\nconst isoExtendedZone = `(?:${offsetRegex.source}?(?:\\\\[(${ianaRegex.source})\\\\])?)?`;\nconst isoTimeBaseRegex = /(\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d{1,30}))?)?)?/;\nconst isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);\nconst isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);\nconst isoYmdRegex = /([+-]\\d{6}|\\d{4})(?:-?(\\d\\d)(?:-?(\\d\\d))?)?/;\nconst isoWeekRegex = /(\\d{4})-?W(\\d\\d)(?:-?(\\d))?/;\nconst isoOrdinalRegex = /(\\d{4})-?(\\d{3})/;\nconst extractISOWeekData = simpleParse(\"weekYear\", \"weekNumber\", \"weekDay\");\nconst extractISOOrdinalData = simpleParse(\"year\", \"ordinal\");\nconst sqlYmdRegex = /(\\d{4})-(\\d\\d)-(\\d\\d)/; // dumbed-down version of the ISO one\nconst sqlTimeRegex = RegExp(\n `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`\n);\nconst sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);\n\nfunction int(match, pos, fallback) {\n const m = match[pos];\n return isUndefined(m) ? fallback : parseInteger(m);\n}\n\nfunction extractISOYmd(match, cursor) {\n const item = {\n year: int(match, cursor),\n month: int(match, cursor + 1, 1),\n day: int(match, cursor + 2, 1),\n };\n\n return [item, null, cursor + 3];\n}\n\nfunction extractISOTime(match, cursor) {\n const item = {\n hours: int(match, cursor, 0),\n minutes: int(match, cursor + 1, 0),\n seconds: int(match, cursor + 2, 0),\n milliseconds: parseMillis(match[cursor + 3]),\n };\n\n return [item, null, cursor + 4];\n}\n\nfunction extractISOOffset(match, cursor) {\n const local = !match[cursor] && !match[cursor + 1],\n fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),\n zone = local ? null : FixedOffsetZone.instance(fullOffset);\n return [{}, zone, cursor + 3];\n}\n\nfunction extractIANAZone(match, cursor) {\n const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;\n return [{}, zone, cursor + 1];\n}\n\n// ISO time parsing\n\nconst isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);\n\n// ISO duration parsing\n\nconst isoDuration =\n /^-?P(?:(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)Y)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)W)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)D)?(?:T(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)H)?(?:(-?\\d{1,20}(?:\\.\\d{1,20})?)M)?(?:(-?\\d{1,20})(?:[.,](-?\\d{1,20}))?S)?)?)$/;\n\nfunction extractISODuration(match) {\n const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =\n match;\n\n const hasNegativePrefix = s[0] === \"-\";\n const negativeSeconds = secondStr && secondStr[0] === \"-\";\n\n const maybeNegate = (num, force = false) =>\n num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;\n\n return [\n {\n years: maybeNegate(parseFloating(yearStr)),\n months: maybeNegate(parseFloating(monthStr)),\n weeks: maybeNegate(parseFloating(weekStr)),\n days: maybeNegate(parseFloating(dayStr)),\n hours: maybeNegate(parseFloating(hourStr)),\n minutes: maybeNegate(parseFloating(minuteStr)),\n seconds: maybeNegate(parseFloating(secondStr), secondStr === \"-0\"),\n milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds),\n },\n ];\n}\n\n// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York\n// and not just that we're in -240 *right now*. But since I don't think these are used that often\n// I'm just going to ignore that\nconst obsOffsets = {\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n};\n\nfunction fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n const result = {\n year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),\n month: English.monthsShort.indexOf(monthStr) + 1,\n day: parseInteger(dayStr),\n hour: parseInteger(hourStr),\n minute: parseInteger(minuteStr),\n };\n\n if (secondStr) result.second = parseInteger(secondStr);\n if (weekdayStr) {\n result.weekday =\n weekdayStr.length > 3\n ? English.weekdaysLong.indexOf(weekdayStr) + 1\n : English.weekdaysShort.indexOf(weekdayStr) + 1;\n }\n\n return result;\n}\n\n// RFC 2822/5322\nconst rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\\d\\d)(\\d\\d)))$/;\n\nfunction extractRFC2822(match) {\n const [\n ,\n weekdayStr,\n dayStr,\n monthStr,\n yearStr,\n hourStr,\n minuteStr,\n secondStr,\n obsOffset,\n milOffset,\n offHourStr,\n offMinuteStr,\n ] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n\n let offset;\n if (obsOffset) {\n offset = obsOffsets[obsOffset];\n } else if (milOffset) {\n offset = 0;\n } else {\n offset = signedOffset(offHourStr, offMinuteStr);\n }\n\n return [result, new FixedOffsetZone(offset)];\n}\n\nfunction preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, \" \")\n .replace(/(\\s\\s+)/g, \" \")\n .trim();\n}\n\n// http date\n\nconst rfc1123 =\n /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d\\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n rfc850 =\n /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d\\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) GMT$/,\n ascii =\n /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \\d|\\d\\d) (\\d\\d):(\\d\\d):(\\d\\d) (\\d{4})$/;\n\nfunction extractRFC1123Or850(match) {\n const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nfunction extractASCII(match) {\n const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,\n result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);\n return [result, FixedOffsetZone.utcInstance];\n}\n\nconst isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);\nconst isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);\nconst isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);\nconst isoTimeCombinedRegex = combineRegexes(isoTimeRegex);\n\nconst extractISOYmdTimeAndOffset = combineExtractors(\n extractISOYmd,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOWeekTimeAndOffset = combineExtractors(\n extractISOWeekData,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOOrdinalDateAndTime = combineExtractors(\n extractISOOrdinalData,\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\nconst extractISOTimeAndOffset = combineExtractors(\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\n\n/*\n * @private\n */\n\nexport function parseISODate(s) {\n return parse(\n s,\n [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],\n [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],\n [isoTimeCombinedRegex, extractISOTimeAndOffset]\n );\n}\n\nexport function parseRFC2822Date(s) {\n return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);\n}\n\nexport function parseHTTPDate(s) {\n return parse(\n s,\n [rfc1123, extractRFC1123Or850],\n [rfc850, extractRFC1123Or850],\n [ascii, extractASCII]\n );\n}\n\nexport function parseISODuration(s) {\n return parse(s, [isoDuration, extractISODuration]);\n}\n\nconst extractISOTimeOnly = combineExtractors(extractISOTime);\n\nexport function parseISOTimeOnly(s) {\n return parse(s, [isoTimeOnly, extractISOTimeOnly]);\n}\n\nconst sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);\nconst sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);\n\nconst extractISOTimeOffsetAndIANAZone = combineExtractors(\n extractISOTime,\n extractISOOffset,\n extractIANAZone\n);\n\nexport function parseSQL(s) {\n return parse(\n s,\n [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],\n [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]\n );\n}\n","import { InvalidArgumentError, InvalidDurationError, InvalidUnitError } from \"./errors.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Locale from \"./impl/locale.js\";\nimport { parseISODuration, parseISOTimeOnly } from \"./impl/regexParser.js\";\nimport {\n asNumber,\n hasOwnProperty,\n isNumber,\n isUndefined,\n normalizeObject,\n roundTo,\n} from \"./impl/util.js\";\nimport Settings from \"./settings.js\";\nimport DateTime from \"./datetime.js\";\n\nconst INVALID = \"Invalid Duration\";\n\n// unit conversion constants\nexport const lowOrderMatrix = {\n weeks: {\n days: 7,\n hours: 7 * 24,\n minutes: 7 * 24 * 60,\n seconds: 7 * 24 * 60 * 60,\n milliseconds: 7 * 24 * 60 * 60 * 1000,\n },\n days: {\n hours: 24,\n minutes: 24 * 60,\n seconds: 24 * 60 * 60,\n milliseconds: 24 * 60 * 60 * 1000,\n },\n hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },\n minutes: { seconds: 60, milliseconds: 60 * 1000 },\n seconds: { milliseconds: 1000 },\n },\n casualMatrix = {\n years: {\n quarters: 4,\n months: 12,\n weeks: 52,\n days: 365,\n hours: 365 * 24,\n minutes: 365 * 24 * 60,\n seconds: 365 * 24 * 60 * 60,\n milliseconds: 365 * 24 * 60 * 60 * 1000,\n },\n quarters: {\n months: 3,\n weeks: 13,\n days: 91,\n hours: 91 * 24,\n minutes: 91 * 24 * 60,\n seconds: 91 * 24 * 60 * 60,\n milliseconds: 91 * 24 * 60 * 60 * 1000,\n },\n months: {\n weeks: 4,\n days: 30,\n hours: 30 * 24,\n minutes: 30 * 24 * 60,\n seconds: 30 * 24 * 60 * 60,\n milliseconds: 30 * 24 * 60 * 60 * 1000,\n },\n\n ...lowOrderMatrix,\n },\n daysInYearAccurate = 146097.0 / 400,\n daysInMonthAccurate = 146097.0 / 4800,\n accurateMatrix = {\n years: {\n quarters: 4,\n months: 12,\n weeks: daysInYearAccurate / 7,\n days: daysInYearAccurate,\n hours: daysInYearAccurate * 24,\n minutes: daysInYearAccurate * 24 * 60,\n seconds: daysInYearAccurate * 24 * 60 * 60,\n milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000,\n },\n quarters: {\n months: 3,\n weeks: daysInYearAccurate / 28,\n days: daysInYearAccurate / 4,\n hours: (daysInYearAccurate * 24) / 4,\n minutes: (daysInYearAccurate * 24 * 60) / 4,\n seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,\n milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4,\n },\n months: {\n weeks: daysInMonthAccurate / 7,\n days: daysInMonthAccurate,\n hours: daysInMonthAccurate * 24,\n minutes: daysInMonthAccurate * 24 * 60,\n seconds: daysInMonthAccurate * 24 * 60 * 60,\n milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000,\n },\n ...lowOrderMatrix,\n };\n\n// units ordered by size\nconst orderedUnits = [\n \"years\",\n \"quarters\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\",\n \"milliseconds\",\n];\n\nconst reverseUnits = orderedUnits.slice(0).reverse();\n\n// clone really means \"create another instance just like this one, but with these changes\"\nfunction clone(dur, alts, clear = false) {\n // deep merge for vals\n const conf = {\n values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) },\n loc: dur.loc.clone(alts.loc),\n conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,\n matrix: alts.matrix || dur.matrix,\n };\n return new Duration(conf);\n}\n\nfunction durationToMillis(matrix, vals) {\n let sum = vals.milliseconds ?? 0;\n for (const unit of reverseUnits.slice(1)) {\n if (vals[unit]) {\n sum += vals[unit] * matrix[unit][\"milliseconds\"];\n }\n }\n return sum;\n}\n\n// NB: mutates parameters\nfunction normalizeValues(matrix, vals) {\n // the logic below assumes the overall value of the duration is positive\n // if this is not the case, factor is used to make it so\n const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;\n\n orderedUnits.reduceRight((previous, current) => {\n if (!isUndefined(vals[current])) {\n if (previous) {\n const previousVal = vals[previous] * factor;\n const conv = matrix[current][previous];\n\n // if (previousVal < 0):\n // lower order unit is negative (e.g. { years: 2, days: -2 })\n // normalize this by reducing the higher order unit by the appropriate amount\n // and increasing the lower order unit\n // this can never make the higher order unit negative, because this function only operates\n // on positive durations, so the amount of time represented by the lower order unit cannot\n // be larger than the higher order unit\n // else:\n // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })\n // in this case we attempt to convert as much as possible from the lower order unit into\n // the higher order one\n //\n // Math.floor takes care of both of these cases, rounding away from 0\n // if previousVal < 0 it makes the absolute value larger\n // if previousVal >= it makes the absolute value smaller\n const rollUp = Math.floor(previousVal / conv);\n vals[current] += rollUp * factor;\n vals[previous] -= rollUp * conv * factor;\n }\n return current;\n } else {\n return previous;\n }\n }, null);\n\n // try to convert any decimals into smaller units if possible\n // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }\n orderedUnits.reduce((previous, current) => {\n if (!isUndefined(vals[current])) {\n if (previous) {\n const fraction = vals[previous] % 1;\n vals[previous] -= fraction;\n vals[current] += fraction * matrix[previous][current];\n }\n return current;\n } else {\n return previous;\n }\n }, null);\n}\n\n// Remove all properties with a value of 0 from an object\nfunction removeZeroes(vals) {\n const newVals = {};\n for (const [key, value] of Object.entries(vals)) {\n if (value !== 0) {\n newVals[key] = value;\n }\n }\n return newVals;\n}\n\n/**\n * A Duration object represents a period of time, like \"2 months\" or \"1 day, 1 hour\". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.\n *\n * Here is a brief overview of commonly used methods and getters in Duration:\n *\n * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.\n * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.\n * * **Configuration** See {@link Duration#locale} and {@link Duration#numberingSystem} accessors.\n * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.\n * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}\n *\n * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.\n */\nexport default class Duration {\n /**\n * @private\n */\n constructor(config) {\n const accurate = config.conversionAccuracy === \"longterm\" || false;\n let matrix = accurate ? accurateMatrix : casualMatrix;\n\n if (config.matrix) {\n matrix = config.matrix;\n }\n\n /**\n * @access private\n */\n this.values = config.values;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.conversionAccuracy = accurate ? \"longterm\" : \"casual\";\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.matrix = matrix;\n /**\n * @access private\n */\n this.isLuxonDuration = true;\n }\n\n /**\n * Create Duration from a number of milliseconds.\n * @param {number} count of milliseconds\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n static fromMillis(count, opts) {\n return Duration.fromObject({ milliseconds: count }, opts);\n }\n\n /**\n * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.\n * If this object is empty then a zero milliseconds duration is returned.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.years\n * @param {number} obj.quarters\n * @param {number} obj.months\n * @param {number} obj.weeks\n * @param {number} obj.days\n * @param {number} obj.hours\n * @param {number} obj.minutes\n * @param {number} obj.seconds\n * @param {number} obj.milliseconds\n * @param {Object} [opts=[]] - options for creating this Duration\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the custom conversion system to use\n * @return {Duration}\n */\n static fromObject(obj, opts = {}) {\n if (obj == null || typeof obj !== \"object\") {\n throw new InvalidArgumentError(\n `Duration.fromObject: argument expected to be an object, got ${\n obj === null ? \"null\" : typeof obj\n }`\n );\n }\n\n return new Duration({\n values: normalizeObject(obj, Duration.normalizeUnit),\n loc: Locale.fromObject(opts),\n conversionAccuracy: opts.conversionAccuracy,\n matrix: opts.matrix,\n });\n }\n\n /**\n * Create a Duration from DurationLike.\n *\n * @param {Object | number | Duration} durationLike\n * One of:\n * - object with keys like 'years' and 'hours'.\n * - number representing milliseconds\n * - Duration instance\n * @return {Duration}\n */\n static fromDurationLike(durationLike) {\n if (isNumber(durationLike)) {\n return Duration.fromMillis(durationLike);\n } else if (Duration.isDuration(durationLike)) {\n return durationLike;\n } else if (typeof durationLike === \"object\") {\n return Duration.fromObject(durationLike);\n } else {\n throw new InvalidArgumentError(\n `Unknown duration argument ${durationLike} of type ${typeof durationLike}`\n );\n }\n }\n\n /**\n * Create a Duration from an ISO 8601 duration string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the preset conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }\n * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }\n * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }\n * @return {Duration}\n */\n static fromISO(text, opts) {\n const [parsed] = parseISODuration(text);\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create a Duration from an ISO 8601 time string.\n * @param {string} text - text to parse\n * @param {Object} opts - options for parsing\n * @param {string} [opts.locale='en-US'] - the locale to use\n * @param {string} opts.numberingSystem - the numbering system to use\n * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use\n * @param {string} [opts.matrix=Object] - the conversion system to use\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }\n * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }\n * @return {Duration}\n */\n static fromISOTime(text, opts) {\n const [parsed] = parseISOTimeOnly(text);\n if (parsed) {\n return Duration.fromObject(parsed, opts);\n } else {\n return Duration.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n }\n\n /**\n * Create an invalid Duration.\n * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Duration}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Duration is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDurationError(invalid);\n } else {\n return new Duration({ invalid });\n }\n }\n\n /**\n * @private\n */\n static normalizeUnit(unit) {\n const normalized = {\n year: \"years\",\n years: \"years\",\n quarter: \"quarters\",\n quarters: \"quarters\",\n month: \"months\",\n months: \"months\",\n week: \"weeks\",\n weeks: \"weeks\",\n day: \"days\",\n days: \"days\",\n hour: \"hours\",\n hours: \"hours\",\n minute: \"minutes\",\n minutes: \"minutes\",\n second: \"seconds\",\n seconds: \"seconds\",\n millisecond: \"milliseconds\",\n milliseconds: \"milliseconds\",\n }[unit ? unit.toLowerCase() : unit];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n }\n\n /**\n * Check if an object is a Duration. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDuration(o) {\n return (o && o.isLuxonDuration) || false;\n }\n\n /**\n * Get the locale of a Duration, such 'en-GB'\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:\n * * `S` for milliseconds\n * * `s` for seconds\n * * `m` for minutes\n * * `h` for hours\n * * `d` for days\n * * `w` for weeks\n * * `M` for months\n * * `y` for years\n * Notes:\n * * Add padding by repeating the token, e.g. \"yy\" pads the years to two digits, \"hhhh\" pads the hours out to four digits\n * * Tokens can be escaped by wrapping with single quotes.\n * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.\n * @param {string} fmt - the format string\n * @param {Object} opts - options\n * @param {boolean} [opts.floor=true] - floor numerical values\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"y d s\") //=> \"1 6 2\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"yy dd sss\") //=> \"01 06 002\"\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat(\"M S\") //=> \"12 518402000\"\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n // reverse-compat since 1.2; we always round down now, never up, and we do it by default\n const fmtOpts = {\n ...opts,\n floor: opts.round !== false && opts.floor !== false,\n };\n return this.isValid\n ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a string representation of a Duration with all units included.\n * To modify its behavior, use `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#options\n * @param {Object} opts - Formatting options. Accepts the same keys as the options parameter of the native `Intl.NumberFormat` constructor, as well as `listStyle`.\n * @param {string} [opts.listStyle='narrow'] - How to format the merged list. Corresponds to the `style` property of the options parameter of the native `Intl.ListFormat` constructor.\n * @example\n * ```js\n * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })\n * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'\n * dur.toHuman({ listStyle: \"long\" }) //=> '1 day, 5 hours, and 6 minutes'\n * dur.toHuman({ unitDisplay: \"short\" }) //=> '1 day, 5 hr, 6 min'\n * ```\n */\n toHuman(opts = {}) {\n if (!this.isValid) return INVALID;\n\n const l = orderedUnits\n .map((unit) => {\n const val = this.values[unit];\n if (isUndefined(val)) {\n return null;\n }\n return this.loc\n .numberFormatter({ style: \"unit\", unitDisplay: \"long\", ...opts, unit: unit.slice(0, -1) })\n .format(val);\n })\n .filter((n) => n);\n\n return this.loc\n .listFormatter({ type: \"conjunction\", style: opts.listStyle || \"narrow\", ...opts })\n .format(l);\n }\n\n /**\n * Returns a JavaScript object with this Duration's values.\n * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }\n * @return {Object}\n */\n toObject() {\n if (!this.isValid) return {};\n return { ...this.values };\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Durations\n * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'\n * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'\n * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'\n * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'\n * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'\n * @return {string}\n */\n toISO() {\n // we could use the formatter, but this is an easier way to get the minimum string\n if (!this.isValid) return null;\n\n let s = \"P\";\n if (this.years !== 0) s += this.years + \"Y\";\n if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + \"M\";\n if (this.weeks !== 0) s += this.weeks + \"W\";\n if (this.days !== 0) s += this.days + \"D\";\n if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)\n s += \"T\";\n if (this.hours !== 0) s += this.hours + \"H\";\n if (this.minutes !== 0) s += this.minutes + \"M\";\n if (this.seconds !== 0 || this.milliseconds !== 0)\n // this will handle \"floating point madness\" by removing extra decimal places\n // https://stackoverflow.com/questions/588004/is-floating-point-math-broken\n s += roundTo(this.seconds + this.milliseconds / 1000, 3) + \"S\";\n if (s === \"P\") s += \"T0S\";\n return s;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.\n * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Times\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'\n * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'\n * @return {string}\n */\n toISOTime(opts = {}) {\n if (!this.isValid) return null;\n\n const millis = this.toMillis();\n if (millis < 0 || millis >= 86400000) return null;\n\n opts = {\n suppressMilliseconds: false,\n suppressSeconds: false,\n includePrefix: false,\n format: \"extended\",\n ...opts,\n includeOffset: false,\n };\n\n const dateTime = DateTime.fromMillis(millis, { zone: \"UTC\" });\n return dateTime.toISOTime(opts);\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.\n * @return {string}\n */\n toString() {\n return this.toISO();\n }\n\n /**\n * Returns a string representation of this Duration appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `Duration { values: ${JSON.stringify(this.values)} }`;\n } else {\n return `Duration { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns an milliseconds value of this Duration.\n * @return {number}\n */\n toMillis() {\n if (!this.isValid) return NaN;\n\n return durationToMillis(this.matrix, this.values);\n }\n\n /**\n * Returns an milliseconds value of this Duration. Alias of {@link toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Make this Duration longer by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n plus(duration) {\n if (!this.isValid) return this;\n\n const dur = Duration.fromDurationLike(duration),\n result = {};\n\n for (const k of orderedUnits) {\n if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {\n result[k] = dur.get(k) + this.get(k);\n }\n }\n\n return clone(this, { values: result }, true);\n }\n\n /**\n * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @return {Duration}\n */\n minus(duration) {\n if (!this.isValid) return this;\n\n const dur = Duration.fromDurationLike(duration);\n return this.plus(dur.negate());\n }\n\n /**\n * Scale this Duration by the specified amount. Return a newly-constructed Duration.\n * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }\n * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === \"hours\" ? x * 2 : x) //=> { hours: 2, minutes: 30 }\n * @return {Duration}\n */\n mapUnits(fn) {\n if (!this.isValid) return this;\n const result = {};\n for (const k of Object.keys(this.values)) {\n result[k] = asNumber(fn(this.values[k], k));\n }\n return clone(this, { values: result }, true);\n }\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2\n * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0\n * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3\n * @return {number}\n */\n get(unit) {\n return this[Duration.normalizeUnit(unit)];\n }\n\n /**\n * \"Set\" the values of specified units. Return a newly-constructed Duration.\n * @param {Object} values - a mapping of units to numbers\n * @example dur.set({ years: 2017 })\n * @example dur.set({ hours: 8, minutes: 30 })\n * @return {Duration}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) };\n return clone(this, { values: mixed });\n }\n\n /**\n * \"Set\" the locale and/or numberingSystem. Returns a newly-constructed Duration.\n * @example dur.reconfigure({ locale: 'en-GB' })\n * @return {Duration}\n */\n reconfigure({ locale, numberingSystem, conversionAccuracy, matrix } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem });\n const opts = { loc, matrix, conversionAccuracy };\n return clone(this, opts);\n }\n\n /**\n * Return the length of the duration in the specified unit.\n * @param {string} unit - a unit such as 'minutes' or 'days'\n * @example Duration.fromObject({years: 1}).as('days') //=> 365\n * @example Duration.fromObject({years: 1}).as('months') //=> 12\n * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5\n * @return {number}\n */\n as(unit) {\n return this.isValid ? this.shiftTo(unit).get(unit) : NaN;\n }\n\n /**\n * Reduce this Duration to its canonical representation in its current units.\n * Assuming the overall value of the Duration is positive, this means:\n * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)\n * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise\n * the overall value would be negative, see third example)\n * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)\n *\n * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.\n * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }\n * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }\n * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }\n * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }\n * @return {Duration}\n */\n normalize() {\n if (!this.isValid) return this;\n const vals = this.toObject();\n normalizeValues(this.matrix, vals);\n return clone(this, { values: vals }, true);\n }\n\n /**\n * Rescale units to its largest representation\n * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }\n * @return {Duration}\n */\n rescale() {\n if (!this.isValid) return this;\n const vals = removeZeroes(this.normalize().shiftToAll().toObject());\n return clone(this, { values: vals }, true);\n }\n\n /**\n * Convert this Duration into its representation in a different set of units.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }\n * @return {Duration}\n */\n shiftTo(...units) {\n if (!this.isValid) return this;\n\n if (units.length === 0) {\n return this;\n }\n\n units = units.map((u) => Duration.normalizeUnit(u));\n\n const built = {},\n accumulated = {},\n vals = this.toObject();\n let lastUnit;\n\n for (const k of orderedUnits) {\n if (units.indexOf(k) >= 0) {\n lastUnit = k;\n\n let own = 0;\n\n // anything we haven't boiled down yet should get boiled to this unit\n for (const ak in accumulated) {\n own += this.matrix[ak][k] * accumulated[ak];\n accumulated[ak] = 0;\n }\n\n // plus anything that's already in this unit\n if (isNumber(vals[k])) {\n own += vals[k];\n }\n\n // only keep the integer part for now in the hopes of putting any decimal part\n // into a smaller unit later\n const i = Math.trunc(own);\n built[k] = i;\n accumulated[k] = (own * 1000 - i * 1000) / 1000;\n\n // otherwise, keep it in the wings to boil it later\n } else if (isNumber(vals[k])) {\n accumulated[k] = vals[k];\n }\n }\n\n // anything leftover becomes the decimal for the last unit\n // lastUnit must be defined since units is not empty\n for (const key in accumulated) {\n if (accumulated[key] !== 0) {\n built[lastUnit] +=\n key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];\n }\n }\n\n normalizeValues(this.matrix, built);\n return clone(this, { values: built }, true);\n }\n\n /**\n * Shift this Duration to all available units.\n * Same as shiftTo(\"years\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", \"seconds\", \"milliseconds\")\n * @return {Duration}\n */\n shiftToAll() {\n if (!this.isValid) return this;\n return this.shiftTo(\n \"years\",\n \"months\",\n \"weeks\",\n \"days\",\n \"hours\",\n \"minutes\",\n \"seconds\",\n \"milliseconds\"\n );\n }\n\n /**\n * Return the negative of this Duration.\n * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }\n * @return {Duration}\n */\n negate() {\n if (!this.isValid) return this;\n const negated = {};\n for (const k of Object.keys(this.values)) {\n negated[k] = this.values[k] === 0 ? 0 : -this.values[k];\n }\n return clone(this, { values: negated }, true);\n }\n\n /**\n * Get the years.\n * @type {number}\n */\n get years() {\n return this.isValid ? this.values.years || 0 : NaN;\n }\n\n /**\n * Get the quarters.\n * @type {number}\n */\n get quarters() {\n return this.isValid ? this.values.quarters || 0 : NaN;\n }\n\n /**\n * Get the months.\n * @type {number}\n */\n get months() {\n return this.isValid ? this.values.months || 0 : NaN;\n }\n\n /**\n * Get the weeks\n * @type {number}\n */\n get weeks() {\n return this.isValid ? this.values.weeks || 0 : NaN;\n }\n\n /**\n * Get the days.\n * @type {number}\n */\n get days() {\n return this.isValid ? this.values.days || 0 : NaN;\n }\n\n /**\n * Get the hours.\n * @type {number}\n */\n get hours() {\n return this.isValid ? this.values.hours || 0 : NaN;\n }\n\n /**\n * Get the minutes.\n * @type {number}\n */\n get minutes() {\n return this.isValid ? this.values.minutes || 0 : NaN;\n }\n\n /**\n * Get the seconds.\n * @return {number}\n */\n get seconds() {\n return this.isValid ? this.values.seconds || 0 : NaN;\n }\n\n /**\n * Get the milliseconds.\n * @return {number}\n */\n get milliseconds() {\n return this.isValid ? this.values.milliseconds || 0 : NaN;\n }\n\n /**\n * Returns whether the Duration is invalid. Invalid durations are returned by diff operations\n * on invalid DateTimes or Intervals.\n * @return {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this Duration became invalid, or null if the Duration is valid\n * @return {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Duration became invalid, or null if the Duration is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Equality check\n * Two Durations are equal iff they have the same units and the same values for each unit.\n * @param {Duration} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n if (!this.loc.equals(other.loc)) {\n return false;\n }\n\n function eq(v1, v2) {\n // Consider 0 and undefined as equal\n if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;\n return v1 === v2;\n }\n\n for (const u of orderedUnits) {\n if (!eq(this.values[u], other.values[u])) {\n return false;\n }\n }\n return true;\n }\n}\n","import DateTime, { friendlyDateTime } from \"./datetime.js\";\nimport Duration from \"./duration.js\";\nimport Settings from \"./settings.js\";\nimport { InvalidArgumentError, InvalidIntervalError } from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport * as Formats from \"./impl/formats.js\";\n\nconst INVALID = \"Invalid Interval\";\n\n// checks if the start is equal to or before the end\nfunction validateStartEnd(start, end) {\n if (!start || !start.isValid) {\n return Interval.invalid(\"missing or invalid start\");\n } else if (!end || !end.isValid) {\n return Interval.invalid(\"missing or invalid end\");\n } else if (end < start) {\n return Interval.invalid(\n \"end before start\",\n `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`\n );\n } else {\n return null;\n }\n}\n\n/**\n * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.\n *\n * Here is a brief overview of the most commonly used methods and getters in Interval:\n *\n * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.\n * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.\n * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.\n * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.\n * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}\n * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.\n */\nexport default class Interval {\n /**\n * @private\n */\n constructor(config) {\n /**\n * @access private\n */\n this.s = config.start;\n /**\n * @access private\n */\n this.e = config.end;\n /**\n * @access private\n */\n this.invalid = config.invalid || null;\n /**\n * @access private\n */\n this.isLuxonInterval = true;\n }\n\n /**\n * Create an invalid Interval.\n * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {Interval}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the Interval is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidIntervalError(invalid);\n } else {\n return new Interval({ invalid });\n }\n }\n\n /**\n * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.\n * @param {DateTime|Date|Object} start\n * @param {DateTime|Date|Object} end\n * @return {Interval}\n */\n static fromDateTimes(start, end) {\n const builtStart = friendlyDateTime(start),\n builtEnd = friendlyDateTime(end);\n\n const validateError = validateStartEnd(builtStart, builtEnd);\n\n if (validateError == null) {\n return new Interval({\n start: builtStart,\n end: builtEnd,\n });\n } else {\n return validateError;\n }\n }\n\n /**\n * Create an Interval from a start DateTime and a Duration to extend to.\n * @param {DateTime|Date|Object} start\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static after(start, duration) {\n const dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(start);\n return Interval.fromDateTimes(dt, dt.plus(dur));\n }\n\n /**\n * Create an Interval from an end DateTime and a Duration to extend backwards to.\n * @param {DateTime|Date|Object} end\n * @param {Duration|Object|number} duration - the length of the Interval.\n * @return {Interval}\n */\n static before(end, duration) {\n const dur = Duration.fromDurationLike(duration),\n dt = friendlyDateTime(end);\n return Interval.fromDateTimes(dt.minus(dur), dt);\n }\n\n /**\n * Create an Interval from an ISO 8601 string.\n * Accepts `/`, `/`, and `/` formats.\n * @param {string} text - the ISO string to parse\n * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {Interval}\n */\n static fromISO(text, opts) {\n const [s, e] = (text || \"\").split(\"/\", 2);\n if (s && e) {\n let start, startIsValid;\n try {\n start = DateTime.fromISO(s, opts);\n startIsValid = start.isValid;\n } catch (e) {\n startIsValid = false;\n }\n\n let end, endIsValid;\n try {\n end = DateTime.fromISO(e, opts);\n endIsValid = end.isValid;\n } catch (e) {\n endIsValid = false;\n }\n\n if (startIsValid && endIsValid) {\n return Interval.fromDateTimes(start, end);\n }\n\n if (startIsValid) {\n const dur = Duration.fromISO(e, opts);\n if (dur.isValid) {\n return Interval.after(start, dur);\n }\n } else if (endIsValid) {\n const dur = Duration.fromISO(s, opts);\n if (dur.isValid) {\n return Interval.before(end, dur);\n }\n }\n }\n return Interval.invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ISO 8601`);\n }\n\n /**\n * Check if an object is an Interval. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isInterval(o) {\n return (o && o.isLuxonInterval) || false;\n }\n\n /**\n * Returns the start of the Interval\n * @type {DateTime}\n */\n get start() {\n return this.isValid ? this.s : null;\n }\n\n /**\n * Returns the end of the Interval\n * @type {DateTime}\n */\n get end() {\n return this.isValid ? this.e : null;\n }\n\n /**\n * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.\n * @type {boolean}\n */\n get isValid() {\n return this.invalidReason === null;\n }\n\n /**\n * Returns an error code if this Interval is invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this Interval became invalid, or null if the Interval is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Returns the length of the Interval in the specified unit.\n * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.\n * @return {number}\n */\n length(unit = \"milliseconds\") {\n return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;\n }\n\n /**\n * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.\n * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'\n * asks 'what dates are included in this interval?', not 'how many days long is this interval?'\n * @param {string} [unit='milliseconds'] - the unit of time to count.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; this operation will always use the locale of the start DateTime\n * @return {number}\n */\n count(unit = \"milliseconds\", opts) {\n if (!this.isValid) return NaN;\n const start = this.start.startOf(unit, opts);\n let end;\n if (opts?.useLocaleWeeks) {\n end = this.end.reconfigure({ locale: start.locale });\n } else {\n end = this.end;\n }\n end = end.startOf(unit, opts);\n return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());\n }\n\n /**\n * Returns whether this Interval's start and end are both in the same unit of time\n * @param {string} unit - the unit of time to check sameness on\n * @return {boolean}\n */\n hasSame(unit) {\n return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;\n }\n\n /**\n * Return whether this Interval has the same start and end DateTimes.\n * @return {boolean}\n */\n isEmpty() {\n return this.s.valueOf() === this.e.valueOf();\n }\n\n /**\n * Return whether this Interval's start is after the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isAfter(dateTime) {\n if (!this.isValid) return false;\n return this.s > dateTime;\n }\n\n /**\n * Return whether this Interval's end is before the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n isBefore(dateTime) {\n if (!this.isValid) return false;\n return this.e <= dateTime;\n }\n\n /**\n * Return whether this Interval contains the specified DateTime.\n * @param {DateTime} dateTime\n * @return {boolean}\n */\n contains(dateTime) {\n if (!this.isValid) return false;\n return this.s <= dateTime && this.e > dateTime;\n }\n\n /**\n * \"Sets\" the start and/or end dates. Returns a newly-constructed Interval.\n * @param {Object} values - the values to set\n * @param {DateTime} values.start - the starting DateTime\n * @param {DateTime} values.end - the ending DateTime\n * @return {Interval}\n */\n set({ start, end } = {}) {\n if (!this.isValid) return this;\n return Interval.fromDateTimes(start || this.s, end || this.e);\n }\n\n /**\n * Split this Interval at each of the specified DateTimes\n * @param {...DateTime} dateTimes - the unit of time to count.\n * @return {Array}\n */\n splitAt(...dateTimes) {\n if (!this.isValid) return [];\n const sorted = dateTimes\n .map(friendlyDateTime)\n .filter((d) => this.contains(d))\n .sort((a, b) => a.toMillis() - b.toMillis()),\n results = [];\n let { s } = this,\n i = 0;\n\n while (s < this.e) {\n const added = sorted[i] || this.e,\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n i += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into smaller Intervals, each of the specified length.\n * Left over time is grouped into a smaller interval\n * @param {Duration|Object|number} duration - The length of each resulting interval.\n * @return {Array}\n */\n splitBy(duration) {\n const dur = Duration.fromDurationLike(duration);\n\n if (!this.isValid || !dur.isValid || dur.as(\"milliseconds\") === 0) {\n return [];\n }\n\n let { s } = this,\n idx = 1,\n next;\n\n const results = [];\n while (s < this.e) {\n const added = this.start.plus(dur.mapUnits((x) => x * idx));\n next = +added > +this.e ? this.e : added;\n results.push(Interval.fromDateTimes(s, next));\n s = next;\n idx += 1;\n }\n\n return results;\n }\n\n /**\n * Split this Interval into the specified number of smaller intervals.\n * @param {number} numberOfParts - The number of Intervals to divide the Interval into.\n * @return {Array}\n */\n divideEqually(numberOfParts) {\n if (!this.isValid) return [];\n return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);\n }\n\n /**\n * Return whether this Interval overlaps with the specified Interval\n * @param {Interval} other\n * @return {boolean}\n */\n overlaps(other) {\n return this.e > other.s && this.s < other.e;\n }\n\n /**\n * Return whether this Interval's end is adjacent to the specified Interval's start.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsStart(other) {\n if (!this.isValid) return false;\n return +this.e === +other.s;\n }\n\n /**\n * Return whether this Interval's start is adjacent to the specified Interval's end.\n * @param {Interval} other\n * @return {boolean}\n */\n abutsEnd(other) {\n if (!this.isValid) return false;\n return +other.e === +this.s;\n }\n\n /**\n * Returns true if this Interval fully contains the specified Interval, specifically if the intersect (of this Interval and the other Interval) is equal to the other Interval; false otherwise.\n * @param {Interval} other\n * @return {boolean}\n */\n engulfs(other) {\n if (!this.isValid) return false;\n return this.s <= other.s && this.e >= other.e;\n }\n\n /**\n * Return whether this Interval has the same start and end as the specified Interval.\n * @param {Interval} other\n * @return {boolean}\n */\n equals(other) {\n if (!this.isValid || !other.isValid) {\n return false;\n }\n\n return this.s.equals(other.s) && this.e.equals(other.e);\n }\n\n /**\n * Return an Interval representing the intersection of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.\n * Returns null if the intersection is empty, meaning, the intervals don't intersect.\n * @param {Interval} other\n * @return {Interval}\n */\n intersection(other) {\n if (!this.isValid) return this;\n const s = this.s > other.s ? this.s : other.s,\n e = this.e < other.e ? this.e : other.e;\n\n if (s >= e) {\n return null;\n } else {\n return Interval.fromDateTimes(s, e);\n }\n }\n\n /**\n * Return an Interval representing the union of this Interval and the specified Interval.\n * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.\n * @param {Interval} other\n * @return {Interval}\n */\n union(other) {\n if (!this.isValid) return this;\n const s = this.s < other.s ? this.s : other.s,\n e = this.e > other.e ? this.e : other.e;\n return Interval.fromDateTimes(s, e);\n }\n\n /**\n * Merge an array of Intervals into a equivalent minimal set of Intervals.\n * Combines overlapping and adjacent Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n static merge(intervals) {\n const [found, final] = intervals\n .sort((a, b) => a.s - b.s)\n .reduce(\n ([sofar, current], item) => {\n if (!current) {\n return [sofar, item];\n } else if (current.overlaps(item) || current.abutsStart(item)) {\n return [sofar, current.union(item)];\n } else {\n return [sofar.concat([current]), item];\n }\n },\n [[], null]\n );\n if (final) {\n found.push(final);\n }\n return found;\n }\n\n /**\n * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.\n * @param {Array} intervals\n * @return {Array}\n */\n static xor(intervals) {\n let start = null,\n currentCount = 0;\n const results = [],\n ends = intervals.map((i) => [\n { time: i.s, type: \"s\" },\n { time: i.e, type: \"e\" },\n ]),\n flattened = Array.prototype.concat(...ends),\n arr = flattened.sort((a, b) => a.time - b.time);\n\n for (const i of arr) {\n currentCount += i.type === \"s\" ? 1 : -1;\n\n if (currentCount === 1) {\n start = i.time;\n } else {\n if (start && +start !== +i.time) {\n results.push(Interval.fromDateTimes(start, i.time));\n }\n\n start = null;\n }\n }\n\n return Interval.merge(results);\n }\n\n /**\n * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.\n * @param {...Interval} intervals\n * @return {Array}\n */\n difference(...intervals) {\n return Interval.xor([this].concat(intervals))\n .map((i) => this.intersection(i))\n .filter((i) => i && !i.isEmpty());\n }\n\n /**\n * Returns a string representation of this Interval appropriate for debugging.\n * @return {string}\n */\n toString() {\n if (!this.isValid) return INVALID;\n return `[${this.s.toISO()} – ${this.e.toISO()})`;\n }\n\n /**\n * Returns a string representation of this Interval appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`;\n } else {\n return `Interval { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns a localized string representing this Interval. Accepts the same options as the\n * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as\n * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method\n * is browser-specific, but in general it will return an appropriate representation of the\n * Interval in the assigned locale. Defaults to the system's locale if no locale has been\n * specified.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or\n * Intl.DateTimeFormat constructor options.\n * @param {Object} opts - Options to override the configuration of the start DateTime.\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022\n * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022\n * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM\n * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p\n * @return {string}\n */\n toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n return this.isValid\n ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this)\n : INVALID;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this Interval.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n toISO(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of date of this Interval.\n * The time components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @return {string}\n */\n toISODate() {\n if (!this.isValid) return INVALID;\n return `${this.s.toISODate()}/${this.e.toISODate()}`;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of time of this Interval.\n * The date components are ignored.\n * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals\n * @param {Object} opts - The same options as {@link DateTime#toISO}\n * @return {string}\n */\n toISOTime(opts) {\n if (!this.isValid) return INVALID;\n return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this Interval formatted according to the specified format\n * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible\n * formatting tool.\n * @param {string} dateFormat - The format string. This string formats the start and end time.\n * See {@link DateTime#toFormat} for details.\n * @param {Object} opts - Options.\n * @param {string} [opts.separator = ' – '] - A separator to place between the start and end\n * representations.\n * @return {string}\n */\n toFormat(dateFormat, { separator = \" – \" } = {}) {\n if (!this.isValid) return INVALID;\n return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;\n }\n\n /**\n * Return a Duration representing the time spanned by this interval.\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }\n * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }\n * @return {Duration}\n */\n toDuration(unit, opts) {\n if (!this.isValid) {\n return Duration.invalid(this.invalidReason);\n }\n return this.e.diff(this.s, unit, opts);\n }\n\n /**\n * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes\n * @param {function} mapFn\n * @return {Interval}\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())\n * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))\n */\n mapEndpoints(mapFn) {\n return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));\n }\n}\n","import DateTime from \"./datetime.js\";\nimport Settings from \"./settings.js\";\nimport Locale from \"./impl/locale.js\";\nimport IANAZone from \"./zones/IANAZone.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\n\nimport { hasLocaleWeekInfo, hasRelative } from \"./impl/util.js\";\n\n/**\n * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.\n */\nexport default class Info {\n /**\n * Return whether the specified zone contains a DST.\n * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.\n * @return {boolean}\n */\n static hasDST(zone = Settings.defaultZone) {\n const proto = DateTime.now().setZone(zone).set({ month: 12 });\n\n return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset;\n }\n\n /**\n * Return whether the specified zone is a valid IANA specifier.\n * @param {string} zone - Zone to check\n * @return {boolean}\n */\n static isValidIANAZone(zone) {\n return IANAZone.isValidZone(zone);\n }\n\n /**\n * Converts the input into a {@link Zone} instance.\n *\n * * If `input` is already a Zone instance, it is returned unchanged.\n * * If `input` is a string containing a valid time zone name, a Zone instance\n * with that name is returned.\n * * If `input` is a string that doesn't refer to a known time zone, a Zone\n * instance with {@link Zone#isValid} == false is returned.\n * * If `input is a number, a Zone instance with the specified fixed offset\n * in minutes is returned.\n * * If `input` is `null` or `undefined`, the default zone is returned.\n * @param {string|Zone|number} [input] - the value to be converted\n * @return {Zone}\n */\n static normalizeZone(input) {\n return normalizeZone(input, Settings.defaultZone);\n }\n\n /**\n * Get the weekday on which the week starts according to the given locale.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number} the start of the week, 1 for Monday through 7 for Sunday\n */\n static getStartOfWeek({ locale = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale)).getStartOfWeek();\n }\n\n /**\n * Get the minimum number of days necessary in a week before it is considered part of the next year according\n * to the given locale.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number}\n */\n static getMinimumDaysInFirstWeek({ locale = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale)).getMinDaysInFirstWeek();\n }\n\n /**\n * Get the weekdays, which are considered the weekend according to the given locale\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @returns {number[]} an array of weekdays, 1 for Monday through 7 for Sunday\n */\n static getWeekendWeekdays({ locale = null, locObj = null } = {}) {\n // copy the array, because we cache it internally\n return (locObj || Locale.create(locale)).getWeekendDays().slice();\n }\n\n /**\n * Return an array of standalone month names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @example Info.months()[0] //=> 'January'\n * @example Info.months('short')[0] //=> 'Jan'\n * @example Info.months('numeric')[0] //=> '1'\n * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'\n * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'\n * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'\n * @return {Array}\n */\n static months(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);\n }\n\n /**\n * Return an array of format month names.\n * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that\n * changes the string.\n * See {@link Info#months}\n * @param {string} [length='long'] - the length of the month representation, such as \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\"\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @param {string} [opts.outputCalendar='gregory'] - the calendar\n * @return {Array}\n */\n static monthsFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null, outputCalendar = \"gregory\" } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);\n }\n\n /**\n * Return an array of standalone week names.\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param {string} [length='long'] - the length of the weekday representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @example Info.weekdays()[0] //=> 'Monday'\n * @example Info.weekdays('short')[0] //=> 'Mon'\n * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'\n * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'\n * @return {Array}\n */\n static weekdays(length = \"long\", { locale = null, numberingSystem = null, locObj = null } = {}) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);\n }\n\n /**\n * Return an array of format week names.\n * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that\n * changes the string.\n * See {@link Info#weekdays}\n * @param {string} [length='long'] - the length of the month representation, such as \"narrow\", \"short\", \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale=null] - the locale code\n * @param {string} [opts.numberingSystem=null] - the numbering system\n * @param {string} [opts.locObj=null] - an existing locale object to use\n * @return {Array}\n */\n static weekdaysFormat(\n length = \"long\",\n { locale = null, numberingSystem = null, locObj = null } = {}\n ) {\n return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);\n }\n\n /**\n * Return an array of meridiems.\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.meridiems() //=> [ 'AM', 'PM' ]\n * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]\n * @return {Array}\n */\n static meridiems({ locale = null } = {}) {\n return Locale.create(locale).meridiems();\n }\n\n /**\n * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.\n * @param {string} [length='short'] - the length of the era representation, such as \"short\" or \"long\".\n * @param {Object} opts - options\n * @param {string} [opts.locale] - the locale code\n * @example Info.eras() //=> [ 'BC', 'AD' ]\n * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]\n * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]\n * @return {Array}\n */\n static eras(length = \"short\", { locale = null } = {}) {\n return Locale.create(locale, null, \"gregory\").eras(length);\n }\n\n /**\n * Return the set of available features in this environment.\n * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.\n * Keys:\n * * `relative`: whether this environment supports relative time formatting\n * * `localeWeek`: whether this environment supports different weekdays for the start of the week based on the locale\n * @example Info.features() //=> { relative: false, localeWeek: true }\n * @return {Object}\n */\n static features() {\n return { relative: hasRelative(), localeWeek: hasLocaleWeekInfo() };\n }\n}\n","import Duration from \"../duration.js\";\n\nfunction dayDiff(earlier, later) {\n const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf(\"day\").valueOf(),\n ms = utcDayStart(later) - utcDayStart(earlier);\n return Math.floor(Duration.fromMillis(ms).as(\"days\"));\n}\n\nfunction highOrderDiffs(cursor, later, units) {\n const differs = [\n [\"years\", (a, b) => b.year - a.year],\n [\"quarters\", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4],\n [\"months\", (a, b) => b.month - a.month + (b.year - a.year) * 12],\n [\n \"weeks\",\n (a, b) => {\n const days = dayDiff(a, b);\n return (days - (days % 7)) / 7;\n },\n ],\n [\"days\", dayDiff],\n ];\n\n const results = {};\n const earlier = cursor;\n let lowestOrder, highWater;\n\n /* This loop tries to diff using larger units first.\n If we overshoot, we backtrack and try the next smaller unit.\n \"cursor\" starts out at the earlier timestamp and moves closer and closer to \"later\"\n as we use smaller and smaller units.\n highWater keeps track of where we would be if we added one more of the smallest unit,\n this is used later to potentially convert any difference smaller than the smallest higher order unit\n into a fraction of that smallest higher order unit\n */\n for (const [unit, differ] of differs) {\n if (units.indexOf(unit) >= 0) {\n lowestOrder = unit;\n\n results[unit] = differ(cursor, later);\n highWater = earlier.plus(results);\n\n if (highWater > later) {\n // we overshot the end point, backtrack cursor by 1\n results[unit]--;\n cursor = earlier.plus(results);\n\n // if we are still overshooting now, we need to backtrack again\n // this happens in certain situations when diffing times in different zones,\n // because this calculation ignores time zones\n if (cursor > later) {\n // keep the \"overshot by 1\" around as highWater\n highWater = cursor;\n // backtrack cursor by 1\n results[unit]--;\n cursor = earlier.plus(results);\n }\n } else {\n cursor = highWater;\n }\n }\n }\n\n return [cursor, results, highWater, lowestOrder];\n}\n\nexport default function (earlier, later, units, opts) {\n let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);\n\n const remainingMillis = later - cursor;\n\n const lowerOrderUnits = units.filter(\n (u) => [\"hours\", \"minutes\", \"seconds\", \"milliseconds\"].indexOf(u) >= 0\n );\n\n if (lowerOrderUnits.length === 0) {\n if (highWater < later) {\n highWater = cursor.plus({ [lowestOrder]: 1 });\n }\n\n if (highWater !== cursor) {\n results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);\n }\n }\n\n const duration = Duration.fromObject(results, opts);\n\n if (lowerOrderUnits.length > 0) {\n return Duration.fromMillis(remainingMillis, opts)\n .shiftTo(...lowerOrderUnits)\n .plus(duration);\n } else {\n return duration;\n }\n}\n","import { parseMillis, isUndefined, untruncateYear, signedOffset, hasOwnProperty } from \"./util.js\";\nimport Formatter from \"./formatter.js\";\nimport FixedOffsetZone from \"../zones/fixedOffsetZone.js\";\nimport IANAZone from \"../zones/IANAZone.js\";\nimport DateTime from \"../datetime.js\";\nimport { digitRegex, parseDigits } from \"./digits.js\";\nimport { ConflictingSpecificationError } from \"../errors.js\";\n\nconst MISSING_FTP = \"missing Intl.DateTimeFormat.formatToParts support\";\n\nfunction intUnit(regex, post = (i) => i) {\n return { regex, deser: ([s]) => post(parseDigits(s)) };\n}\n\nconst NBSP = String.fromCharCode(160);\nconst spaceOrNBSP = `[ ${NBSP}]`;\nconst spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, \"g\");\n\nfunction fixListRegex(s) {\n // make dots optional and also make them literal\n // make space and non breakable space characters interchangeable\n return s.replace(/\\./g, \"\\\\.?\").replace(spaceOrNBSPRegExp, spaceOrNBSP);\n}\n\nfunction stripInsensitivities(s) {\n return s\n .replace(/\\./g, \"\") // ignore dots that were made optional\n .replace(spaceOrNBSPRegExp, \" \") // interchange space and nbsp\n .toLowerCase();\n}\n\nfunction oneOf(strings, startIndex) {\n if (strings === null) {\n return null;\n } else {\n return {\n regex: RegExp(strings.map(fixListRegex).join(\"|\")),\n deser: ([s]) =>\n strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex,\n };\n }\n}\n\nfunction offset(regex, groups) {\n return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };\n}\n\nfunction simple(regex) {\n return { regex, deser: ([s]) => s };\n}\n\nfunction escapeToken(value) {\n return value.replace(/[\\-\\[\\]{}()*+?.,\\\\\\^$|#\\s]/g, \"\\\\$&\");\n}\n\n/**\n * @param token\n * @param {Locale} loc\n */\nfunction unitForToken(token, loc) {\n const one = digitRegex(loc),\n two = digitRegex(loc, \"{2}\"),\n three = digitRegex(loc, \"{3}\"),\n four = digitRegex(loc, \"{4}\"),\n six = digitRegex(loc, \"{6}\"),\n oneOrTwo = digitRegex(loc, \"{1,2}\"),\n oneToThree = digitRegex(loc, \"{1,3}\"),\n oneToSix = digitRegex(loc, \"{1,6}\"),\n oneToNine = digitRegex(loc, \"{1,9}\"),\n twoToFour = digitRegex(loc, \"{2,4}\"),\n fourToSix = digitRegex(loc, \"{4,6}\"),\n literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),\n unitate = (t) => {\n if (token.literal) {\n return literal(t);\n }\n switch (t.val) {\n // era\n case \"G\":\n return oneOf(loc.eras(\"short\"), 0);\n case \"GG\":\n return oneOf(loc.eras(\"long\"), 0);\n // years\n case \"y\":\n return intUnit(oneToSix);\n case \"yy\":\n return intUnit(twoToFour, untruncateYear);\n case \"yyyy\":\n return intUnit(four);\n case \"yyyyy\":\n return intUnit(fourToSix);\n case \"yyyyyy\":\n return intUnit(six);\n // months\n case \"M\":\n return intUnit(oneOrTwo);\n case \"MM\":\n return intUnit(two);\n case \"MMM\":\n return oneOf(loc.months(\"short\", true), 1);\n case \"MMMM\":\n return oneOf(loc.months(\"long\", true), 1);\n case \"L\":\n return intUnit(oneOrTwo);\n case \"LL\":\n return intUnit(two);\n case \"LLL\":\n return oneOf(loc.months(\"short\", false), 1);\n case \"LLLL\":\n return oneOf(loc.months(\"long\", false), 1);\n // dates\n case \"d\":\n return intUnit(oneOrTwo);\n case \"dd\":\n return intUnit(two);\n // ordinals\n case \"o\":\n return intUnit(oneToThree);\n case \"ooo\":\n return intUnit(three);\n // time\n case \"HH\":\n return intUnit(two);\n case \"H\":\n return intUnit(oneOrTwo);\n case \"hh\":\n return intUnit(two);\n case \"h\":\n return intUnit(oneOrTwo);\n case \"mm\":\n return intUnit(two);\n case \"m\":\n return intUnit(oneOrTwo);\n case \"q\":\n return intUnit(oneOrTwo);\n case \"qq\":\n return intUnit(two);\n case \"s\":\n return intUnit(oneOrTwo);\n case \"ss\":\n return intUnit(two);\n case \"S\":\n return intUnit(oneToThree);\n case \"SSS\":\n return intUnit(three);\n case \"u\":\n return simple(oneToNine);\n case \"uu\":\n return simple(oneOrTwo);\n case \"uuu\":\n return intUnit(one);\n // meridiem\n case \"a\":\n return oneOf(loc.meridiems(), 0);\n // weekYear (k)\n case \"kkkk\":\n return intUnit(four);\n case \"kk\":\n return intUnit(twoToFour, untruncateYear);\n // weekNumber (W)\n case \"W\":\n return intUnit(oneOrTwo);\n case \"WW\":\n return intUnit(two);\n // weekdays\n case \"E\":\n case \"c\":\n return intUnit(one);\n case \"EEE\":\n return oneOf(loc.weekdays(\"short\", false), 1);\n case \"EEEE\":\n return oneOf(loc.weekdays(\"long\", false), 1);\n case \"ccc\":\n return oneOf(loc.weekdays(\"short\", true), 1);\n case \"cccc\":\n return oneOf(loc.weekdays(\"long\", true), 1);\n // offset/zone\n case \"Z\":\n case \"ZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);\n case \"ZZZ\":\n return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);\n // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing\n // because we don't have any way to figure out what they are\n case \"z\":\n return simple(/[a-z_+-/]{1,256}?/i);\n // this special-case \"token\" represents a place where a macro-token expanded into a white-space literal\n // in this case we accept any non-newline white-space\n case \" \":\n return simple(/[^\\S\\n\\r]/);\n default:\n return literal(t);\n }\n };\n\n const unit = unitate(token) || {\n invalidReason: MISSING_FTP,\n };\n\n unit.token = token;\n\n return unit;\n}\n\nconst partTypeStyleToTokenVal = {\n year: {\n \"2-digit\": \"yy\",\n numeric: \"yyyyy\",\n },\n month: {\n numeric: \"M\",\n \"2-digit\": \"MM\",\n short: \"MMM\",\n long: \"MMMM\",\n },\n day: {\n numeric: \"d\",\n \"2-digit\": \"dd\",\n },\n weekday: {\n short: \"EEE\",\n long: \"EEEE\",\n },\n dayperiod: \"a\",\n dayPeriod: \"a\",\n hour12: {\n numeric: \"h\",\n \"2-digit\": \"hh\",\n },\n hour24: {\n numeric: \"H\",\n \"2-digit\": \"HH\",\n },\n minute: {\n numeric: \"m\",\n \"2-digit\": \"mm\",\n },\n second: {\n numeric: \"s\",\n \"2-digit\": \"ss\",\n },\n timeZoneName: {\n long: \"ZZZZZ\",\n short: \"ZZZ\",\n },\n};\n\nfunction tokenForPart(part, formatOpts, resolvedOpts) {\n const { type, value } = part;\n\n if (type === \"literal\") {\n const isSpace = /^\\s+$/.test(value);\n return {\n literal: !isSpace,\n val: isSpace ? \" \" : value,\n };\n }\n\n const style = formatOpts[type];\n\n // The user might have explicitly specified hour12 or hourCycle\n // if so, respect their decision\n // if not, refer back to the resolvedOpts, which are based on the locale\n let actualType = type;\n if (type === \"hour\") {\n if (formatOpts.hour12 != null) {\n actualType = formatOpts.hour12 ? \"hour12\" : \"hour24\";\n } else if (formatOpts.hourCycle != null) {\n if (formatOpts.hourCycle === \"h11\" || formatOpts.hourCycle === \"h12\") {\n actualType = \"hour12\";\n } else {\n actualType = \"hour24\";\n }\n } else {\n // tokens only differentiate between 24 hours or not,\n // so we do not need to check hourCycle here, which is less supported anyways\n actualType = resolvedOpts.hour12 ? \"hour12\" : \"hour24\";\n }\n }\n let val = partTypeStyleToTokenVal[actualType];\n if (typeof val === \"object\") {\n val = val[style];\n }\n\n if (val) {\n return {\n literal: false,\n val,\n };\n }\n\n return undefined;\n}\n\nfunction buildRegex(units) {\n const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, \"\");\n return [`^${re}$`, units];\n}\n\nfunction match(input, regex, handlers) {\n const matches = input.match(regex);\n\n if (matches) {\n const all = {};\n let matchIndex = 1;\n for (const i in handlers) {\n if (hasOwnProperty(handlers, i)) {\n const h = handlers[i],\n groups = h.groups ? h.groups + 1 : 1;\n if (!h.literal && h.token) {\n all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));\n }\n matchIndex += groups;\n }\n }\n return [matches, all];\n } else {\n return [matches, {}];\n }\n}\n\nfunction dateTimeFromMatches(matches) {\n const toField = (token) => {\n switch (token) {\n case \"S\":\n return \"millisecond\";\n case \"s\":\n return \"second\";\n case \"m\":\n return \"minute\";\n case \"h\":\n case \"H\":\n return \"hour\";\n case \"d\":\n return \"day\";\n case \"o\":\n return \"ordinal\";\n case \"L\":\n case \"M\":\n return \"month\";\n case \"y\":\n return \"year\";\n case \"E\":\n case \"c\":\n return \"weekday\";\n case \"W\":\n return \"weekNumber\";\n case \"k\":\n return \"weekYear\";\n case \"q\":\n return \"quarter\";\n default:\n return null;\n }\n };\n\n let zone = null;\n let specificOffset;\n if (!isUndefined(matches.z)) {\n zone = IANAZone.create(matches.z);\n }\n\n if (!isUndefined(matches.Z)) {\n if (!zone) {\n zone = new FixedOffsetZone(matches.Z);\n }\n specificOffset = matches.Z;\n }\n\n if (!isUndefined(matches.q)) {\n matches.M = (matches.q - 1) * 3 + 1;\n }\n\n if (!isUndefined(matches.h)) {\n if (matches.h < 12 && matches.a === 1) {\n matches.h += 12;\n } else if (matches.h === 12 && matches.a === 0) {\n matches.h = 0;\n }\n }\n\n if (matches.G === 0 && matches.y) {\n matches.y = -matches.y;\n }\n\n if (!isUndefined(matches.u)) {\n matches.S = parseMillis(matches.u);\n }\n\n const vals = Object.keys(matches).reduce((r, k) => {\n const f = toField(k);\n if (f) {\n r[f] = matches[k];\n }\n\n return r;\n }, {});\n\n return [vals, zone, specificOffset];\n}\n\nlet dummyDateTimeCache = null;\n\nfunction getDummyDateTime() {\n if (!dummyDateTimeCache) {\n dummyDateTimeCache = DateTime.fromMillis(1555555555555);\n }\n\n return dummyDateTimeCache;\n}\n\nfunction maybeExpandMacroToken(token, locale) {\n if (token.literal) {\n return token;\n }\n\n const formatOpts = Formatter.macroTokenToFormatOpts(token.val);\n const tokens = formatOptsToTokens(formatOpts, locale);\n\n if (tokens == null || tokens.includes(undefined)) {\n return token;\n }\n\n return tokens;\n}\n\nexport function expandMacroTokens(tokens, locale) {\n return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale)));\n}\n\n/**\n * @private\n */\n\nexport class TokenParser {\n constructor(locale, format) {\n this.locale = locale;\n this.format = format;\n this.tokens = expandMacroTokens(Formatter.parseFormat(format), locale);\n this.units = this.tokens.map((t) => unitForToken(t, locale));\n this.disqualifyingUnit = this.units.find((t) => t.invalidReason);\n\n if (!this.disqualifyingUnit) {\n const [regexString, handlers] = buildRegex(this.units);\n this.regex = RegExp(regexString, \"i\");\n this.handlers = handlers;\n }\n }\n\n explainFromTokens(input) {\n if (!this.isValid) {\n return { input, tokens: this.tokens, invalidReason: this.invalidReason };\n } else {\n const [rawMatches, matches] = match(input, this.regex, this.handlers),\n [result, zone, specificOffset] = matches\n ? dateTimeFromMatches(matches)\n : [null, null, undefined];\n if (hasOwnProperty(matches, \"a\") && hasOwnProperty(matches, \"H\")) {\n throw new ConflictingSpecificationError(\n \"Can't include meridiem when specifying 24-hour format\"\n );\n }\n return {\n input,\n tokens: this.tokens,\n regex: this.regex,\n rawMatches,\n matches,\n result,\n zone,\n specificOffset,\n };\n }\n }\n\n get isValid() {\n return !this.disqualifyingUnit;\n }\n\n get invalidReason() {\n return this.disqualifyingUnit ? this.disqualifyingUnit.invalidReason : null;\n }\n}\n\nexport function explainFromTokens(locale, input, format) {\n const parser = new TokenParser(locale, format);\n return parser.explainFromTokens(input);\n}\n\nexport function parseFromTokens(locale, input, format) {\n const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format);\n return [result, zone, specificOffset, invalidReason];\n}\n\nexport function formatOptsToTokens(formatOpts, locale) {\n if (!formatOpts) {\n return null;\n }\n\n const formatter = Formatter.create(locale, formatOpts);\n const df = formatter.dtFormatter(getDummyDateTime());\n const parts = df.formatToParts();\n const resolvedOpts = df.resolvedOptions();\n return parts.map((p) => tokenForPart(p, formatOpts, resolvedOpts));\n}\n","import Duration from \"./duration.js\";\nimport Interval from \"./interval.js\";\nimport Settings from \"./settings.js\";\nimport Info from \"./info.js\";\nimport Formatter from \"./impl/formatter.js\";\nimport FixedOffsetZone from \"./zones/fixedOffsetZone.js\";\nimport Locale from \"./impl/locale.js\";\nimport {\n isUndefined,\n maybeArray,\n isDate,\n isNumber,\n bestBy,\n daysInMonth,\n daysInYear,\n isLeapYear,\n weeksInWeekYear,\n normalizeObject,\n roundTo,\n objToLocalTS,\n padStart,\n} from \"./impl/util.js\";\nimport { normalizeZone } from \"./impl/zoneUtil.js\";\nimport diff from \"./impl/diff.js\";\nimport { parseRFC2822Date, parseISODate, parseHTTPDate, parseSQL } from \"./impl/regexParser.js\";\nimport {\n parseFromTokens,\n explainFromTokens,\n formatOptsToTokens,\n expandMacroTokens,\n TokenParser,\n} from \"./impl/tokenParser.js\";\nimport {\n gregorianToWeek,\n weekToGregorian,\n gregorianToOrdinal,\n ordinalToGregorian,\n hasInvalidGregorianData,\n hasInvalidWeekData,\n hasInvalidOrdinalData,\n hasInvalidTimeData,\n usesLocalWeekValues,\n isoWeekdayToLocal,\n} from \"./impl/conversions.js\";\nimport * as Formats from \"./impl/formats.js\";\nimport {\n InvalidArgumentError,\n ConflictingSpecificationError,\n InvalidUnitError,\n InvalidDateTimeError,\n} from \"./errors.js\";\nimport Invalid from \"./impl/invalid.js\";\n\nconst INVALID = \"Invalid DateTime\";\nconst MAX_DATE = 8.64e15;\n\nfunction unsupportedZone(zone) {\n return new Invalid(\"unsupported zone\", `the zone \"${zone.name}\" is not supported`);\n}\n\n// we cache week data on the DT object and this intermediates the cache\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedWeekData(dt) {\n if (dt.weekData === null) {\n dt.weekData = gregorianToWeek(dt.c);\n }\n return dt.weekData;\n}\n\n/**\n * @param {DateTime} dt\n */\nfunction possiblyCachedLocalWeekData(dt) {\n if (dt.localWeekData === null) {\n dt.localWeekData = gregorianToWeek(\n dt.c,\n dt.loc.getMinDaysInFirstWeek(),\n dt.loc.getStartOfWeek()\n );\n }\n return dt.localWeekData;\n}\n\n// clone really means, \"make a new object with these modifications\". all \"setters\" really use this\n// to create a new object while only changing some of the properties\nfunction clone(inst, alts) {\n const current = {\n ts: inst.ts,\n zone: inst.zone,\n c: inst.c,\n o: inst.o,\n loc: inst.loc,\n invalid: inst.invalid,\n };\n return new DateTime({ ...current, ...alts, old: current });\n}\n\n// find the right offset a given local time. The o input is our guess, which determines which\n// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\nfunction fixOffset(localTS, o, tz) {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o * 60 * 1000;\n\n // Test whether the zone matches the offset for this ts\n const o2 = tz.offset(utcGuess);\n\n // If so, offset didn't change and we're done\n if (o === o2) {\n return [utcGuess, o];\n }\n\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o) * 60 * 1000;\n\n // If that gives us the local time we want, we're done\n const o3 = tz.offset(utcGuess);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n}\n\n// convert an epoch timestamp into a calendar object with the given offset\nfunction tsToObj(ts, offset) {\n ts += offset * 60 * 1000;\n\n const d = new Date(ts);\n\n return {\n year: d.getUTCFullYear(),\n month: d.getUTCMonth() + 1,\n day: d.getUTCDate(),\n hour: d.getUTCHours(),\n minute: d.getUTCMinutes(),\n second: d.getUTCSeconds(),\n millisecond: d.getUTCMilliseconds(),\n };\n}\n\n// convert a calendar object to a epoch timestamp\nfunction objToTS(obj, offset, zone) {\n return fixOffset(objToLocalTS(obj), offset, zone);\n}\n\n// create a new DT instance by adding a duration, adjusting for DSTs\nfunction adjustTime(inst, dur) {\n const oPre = inst.o,\n year = inst.c.year + Math.trunc(dur.years),\n month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,\n c = {\n ...inst.c,\n year,\n month,\n day:\n Math.min(inst.c.day, daysInMonth(year, month)) +\n Math.trunc(dur.days) +\n Math.trunc(dur.weeks) * 7,\n },\n millisToAdd = Duration.fromObject({\n years: dur.years - Math.trunc(dur.years),\n quarters: dur.quarters - Math.trunc(dur.quarters),\n months: dur.months - Math.trunc(dur.months),\n weeks: dur.weeks - Math.trunc(dur.weeks),\n days: dur.days - Math.trunc(dur.days),\n hours: dur.hours,\n minutes: dur.minutes,\n seconds: dur.seconds,\n milliseconds: dur.milliseconds,\n }).as(\"milliseconds\"),\n localTS = objToLocalTS(c);\n\n let [ts, o] = fixOffset(localTS, oPre, inst.zone);\n\n if (millisToAdd !== 0) {\n ts += millisToAdd;\n // that could have changed the offset by going over a DST, but we want to keep the ts the same\n o = inst.zone.offset(ts);\n }\n\n return { ts, o };\n}\n\n// helper useful in turning the results of parsing into real dates\n// by handling the zone options\nfunction parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {\n const { setZone, zone } = opts;\n if ((parsed && Object.keys(parsed).length !== 0) || parsedZone) {\n const interpretationZone = parsedZone || zone,\n inst = DateTime.fromObject(parsed, {\n ...opts,\n zone: interpretationZone,\n specificOffset,\n });\n return setZone ? inst : inst.setZone(zone);\n } else {\n return DateTime.invalid(\n new Invalid(\"unparsable\", `the input \"${text}\" can't be parsed as ${format}`)\n );\n }\n}\n\n// if you want to output a technical format (e.g. RFC 2822), this helper\n// helps handle the details\nfunction toTechFormat(dt, format, allowZ = true) {\n return dt.isValid\n ? Formatter.create(Locale.create(\"en-US\"), {\n allowZ,\n forceSimple: true,\n }).formatDateTimeFromString(dt, format)\n : null;\n}\n\nfunction toISODate(o, extended) {\n const longFormat = o.c.year > 9999 || o.c.year < 0;\n let c = \"\";\n if (longFormat && o.c.year >= 0) c += \"+\";\n c += padStart(o.c.year, longFormat ? 6 : 4);\n\n if (extended) {\n c += \"-\";\n c += padStart(o.c.month);\n c += \"-\";\n c += padStart(o.c.day);\n } else {\n c += padStart(o.c.month);\n c += padStart(o.c.day);\n }\n return c;\n}\n\nfunction toISOTime(\n o,\n extended,\n suppressSeconds,\n suppressMilliseconds,\n includeOffset,\n extendedZone\n) {\n let c = padStart(o.c.hour);\n if (extended) {\n c += \":\";\n c += padStart(o.c.minute);\n if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n c += \":\";\n }\n } else {\n c += padStart(o.c.minute);\n }\n\n if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {\n c += padStart(o.c.second);\n\n if (o.c.millisecond !== 0 || !suppressMilliseconds) {\n c += \".\";\n c += padStart(o.c.millisecond, 3);\n }\n }\n\n if (includeOffset) {\n if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {\n c += \"Z\";\n } else if (o.o < 0) {\n c += \"-\";\n c += padStart(Math.trunc(-o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(-o.o % 60));\n } else {\n c += \"+\";\n c += padStart(Math.trunc(o.o / 60));\n c += \":\";\n c += padStart(Math.trunc(o.o % 60));\n }\n }\n\n if (extendedZone) {\n c += \"[\" + o.zone.ianaName + \"]\";\n }\n return c;\n}\n\n// defaults for unspecified units in the supported calendars\nconst defaultUnitValues = {\n month: 1,\n day: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n },\n defaultWeekUnitValues = {\n weekNumber: 1,\n weekday: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n },\n defaultOrdinalUnitValues = {\n ordinal: 1,\n hour: 0,\n minute: 0,\n second: 0,\n millisecond: 0,\n };\n\n// Units in the supported calendars, sorted by bigness\nconst orderedUnits = [\"year\", \"month\", \"day\", \"hour\", \"minute\", \"second\", \"millisecond\"],\n orderedWeekUnits = [\n \"weekYear\",\n \"weekNumber\",\n \"weekday\",\n \"hour\",\n \"minute\",\n \"second\",\n \"millisecond\",\n ],\n orderedOrdinalUnits = [\"year\", \"ordinal\", \"hour\", \"minute\", \"second\", \"millisecond\"];\n\n// standardize case and plurality in units\nfunction normalizeUnit(unit) {\n const normalized = {\n year: \"year\",\n years: \"year\",\n month: \"month\",\n months: \"month\",\n day: \"day\",\n days: \"day\",\n hour: \"hour\",\n hours: \"hour\",\n minute: \"minute\",\n minutes: \"minute\",\n quarter: \"quarter\",\n quarters: \"quarter\",\n second: \"second\",\n seconds: \"second\",\n millisecond: \"millisecond\",\n milliseconds: \"millisecond\",\n weekday: \"weekday\",\n weekdays: \"weekday\",\n weeknumber: \"weekNumber\",\n weeksnumber: \"weekNumber\",\n weeknumbers: \"weekNumber\",\n weekyear: \"weekYear\",\n weekyears: \"weekYear\",\n ordinal: \"ordinal\",\n }[unit.toLowerCase()];\n\n if (!normalized) throw new InvalidUnitError(unit);\n\n return normalized;\n}\n\nfunction normalizeUnitWithLocalWeeks(unit) {\n switch (unit.toLowerCase()) {\n case \"localweekday\":\n case \"localweekdays\":\n return \"localWeekday\";\n case \"localweeknumber\":\n case \"localweeknumbers\":\n return \"localWeekNumber\";\n case \"localweekyear\":\n case \"localweekyears\":\n return \"localWeekYear\";\n default:\n return normalizeUnit(unit);\n }\n}\n\n// cache offsets for zones based on the current timestamp when this function is\n// first called. When we are handling a datetime from components like (year,\n// month, day, hour) in a time zone, we need a guess about what the timezone\n// offset is so that we can convert into a UTC timestamp. One way is to find the\n// offset of now in the zone. The actual date may have a different offset (for\n// example, if we handle a date in June while we're in December in a zone that\n// observes DST), but we can check and adjust that.\n//\n// When handling many dates, calculating the offset for now every time is\n// expensive. It's just a guess, so we can cache the offset to use even if we\n// are right on a time change boundary (we'll just correct in the other\n// direction). Using a timestamp from first read is a slight optimization for\n// handling dates close to the current date, since those dates will usually be\n// in the same offset (we could set the timestamp statically, instead). We use a\n// single timestamp for all zones to make things a bit more predictable.\n//\n// This is safe for quickDT (used by local() and utc()) because we don't fill in\n// higher-order units from tsNow (as we do in fromObject, this requires that\n// offset is calculated from tsNow).\nfunction guessOffsetForZone(zone) {\n if (!zoneOffsetGuessCache[zone]) {\n if (zoneOffsetTs === undefined) {\n zoneOffsetTs = Settings.now();\n }\n\n zoneOffsetGuessCache[zone] = zone.offset(zoneOffsetTs);\n }\n return zoneOffsetGuessCache[zone];\n}\n\n// this is a dumbed down version of fromObject() that runs about 60% faster\n// but doesn't do any validation, makes a bunch of assumptions about what units\n// are present, and so on.\nfunction quickDT(obj, opts) {\n const zone = normalizeZone(opts.zone, Settings.defaultZone);\n if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n }\n\n const loc = Locale.fromObject(opts);\n\n let ts, o;\n\n // assume we have the higher-order units\n if (!isUndefined(obj.year)) {\n for (const u of orderedUnits) {\n if (isUndefined(obj[u])) {\n obj[u] = defaultUnitValues[u];\n }\n }\n\n const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n const offsetProvis = guessOffsetForZone(zone);\n [ts, o] = objToTS(obj, offsetProvis, zone);\n } else {\n ts = Settings.now();\n }\n\n return new DateTime({ ts, zone, loc, o });\n}\n\nfunction diffRelative(start, end, opts) {\n const round = isUndefined(opts.round) ? true : opts.round,\n format = (c, unit) => {\n c = roundTo(c, round || opts.calendary ? 0 : 2, true);\n const formatter = end.loc.clone(opts).relFormatter(opts);\n return formatter.format(c, unit);\n },\n differ = (unit) => {\n if (opts.calendary) {\n if (!end.hasSame(start, unit)) {\n return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);\n } else return 0;\n } else {\n return end.diff(start, unit).get(unit);\n }\n };\n\n if (opts.unit) {\n return format(differ(opts.unit), opts.unit);\n }\n\n for (const unit of opts.units) {\n const count = differ(unit);\n if (Math.abs(count) >= 1) {\n return format(count, unit);\n }\n }\n return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);\n}\n\nfunction lastOpts(argList) {\n let opts = {},\n args;\n if (argList.length > 0 && typeof argList[argList.length - 1] === \"object\") {\n opts = argList[argList.length - 1];\n args = Array.from(argList).slice(0, argList.length - 1);\n } else {\n args = Array.from(argList);\n }\n return [opts, args];\n}\n\n/**\n * Timestamp to use for cached zone offset guesses (exposed for test)\n */\nlet zoneOffsetTs;\n/**\n * Cache for zone offset guesses (exposed for test).\n *\n * This optimizes quickDT via guessOffsetForZone to avoid repeated calls of\n * zone.offset().\n */\nlet zoneOffsetGuessCache = {};\n\n/**\n * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.\n *\n * A DateTime comprises of:\n * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.\n * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).\n * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.\n *\n * Here is a brief overview of the most commonly used functionality it provides:\n *\n * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.\n * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},\n * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.\n * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.\n * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.\n * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.\n * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.\n *\n * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.\n */\nexport default class DateTime {\n /**\n * @access private\n */\n constructor(config) {\n const zone = config.zone || Settings.defaultZone;\n\n let invalid =\n config.invalid ||\n (Number.isNaN(config.ts) ? new Invalid(\"invalid input\") : null) ||\n (!zone.isValid ? unsupportedZone(zone) : null);\n /**\n * @access private\n */\n this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;\n\n let c = null,\n o = null;\n if (!invalid) {\n const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);\n\n if (unchanged) {\n [c, o] = [config.old.c, config.old.o];\n } else {\n // If an offset has been passed and we have not been called from\n // clone(), we can trust it and avoid the offset calculation.\n const ot = isNumber(config.o) && !config.old ? config.o : zone.offset(this.ts);\n c = tsToObj(this.ts, ot);\n invalid = Number.isNaN(c.year) ? new Invalid(\"invalid input\") : null;\n c = invalid ? null : c;\n o = invalid ? null : ot;\n }\n }\n\n /**\n * @access private\n */\n this._zone = zone;\n /**\n * @access private\n */\n this.loc = config.loc || Locale.create();\n /**\n * @access private\n */\n this.invalid = invalid;\n /**\n * @access private\n */\n this.weekData = null;\n /**\n * @access private\n */\n this.localWeekData = null;\n /**\n * @access private\n */\n this.c = c;\n /**\n * @access private\n */\n this.o = o;\n /**\n * @access private\n */\n this.isLuxonDateTime = true;\n }\n\n // CONSTRUCT\n\n /**\n * Create a DateTime for the current instant, in the system's time zone.\n *\n * Use Settings to override these default values if needed.\n * @example DateTime.now().toISO() //~> now in the ISO format\n * @return {DateTime}\n */\n static now() {\n return new DateTime({});\n }\n\n /**\n * Create a local DateTime\n * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month, 1-indexed\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @example DateTime.local() //~> now\n * @example DateTime.local({ zone: \"America/New_York\" }) //~> now, in US east coast time\n * @example DateTime.local(2017) //~> 2017-01-01T00:00:00\n * @example DateTime.local(2017, 3) //~> 2017-03-01T00:00:00\n * @example DateTime.local(2017, 3, 12, { locale: \"fr\" }) //~> 2017-03-12T00:00:00, with a French locale\n * @example DateTime.local(2017, 3, 12, 5) //~> 2017-03-12T05:00:00\n * @example DateTime.local(2017, 3, 12, 5, { zone: \"utc\" }) //~> 2017-03-12T05:00:00, in UTC\n * @example DateTime.local(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00\n * @example DateTime.local(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10\n * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765) //~> 2017-03-12T05:45:10.765\n * @return {DateTime}\n */\n static local() {\n const [opts, args] = lastOpts(arguments),\n [year, month, day, hour, minute, second, millisecond] = args;\n return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n }\n\n /**\n * Create a DateTime in UTC\n * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used\n * @param {number} [month=1] - The month, 1-indexed\n * @param {number} [day=1] - The day of the month\n * @param {number} [hour=0] - The hour of the day, in 24-hour time\n * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59\n * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59\n * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999\n * @param {Object} options - configuration options for the DateTime\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @param {string} [options.weekSettings] - the week settings to set on the resulting DateTime instance\n * @example DateTime.utc() //~> now\n * @example DateTime.utc(2017) //~> 2017-01-01T00:00:00Z\n * @example DateTime.utc(2017, 3) //~> 2017-03-01T00:00:00Z\n * @example DateTime.utc(2017, 3, 12) //~> 2017-03-12T00:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5) //~> 2017-03-12T05:00:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45) //~> 2017-03-12T05:45:00Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: \"fr\" }) //~> 2017-03-12T05:45:00Z with a French locale\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10) //~> 2017-03-12T05:45:10Z\n * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: \"fr\" }) //~> 2017-03-12T05:45:10.765Z with a French locale\n * @return {DateTime}\n */\n static utc() {\n const [opts, args] = lastOpts(arguments),\n [year, month, day, hour, minute, second, millisecond] = args;\n\n opts.zone = FixedOffsetZone.utcInstance;\n return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);\n }\n\n /**\n * Create a DateTime from a JavaScript Date object. Uses the default zone.\n * @param {Date} date - a JavaScript Date object\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @return {DateTime}\n */\n static fromJSDate(date, options = {}) {\n const ts = isDate(date) ? date.valueOf() : NaN;\n if (Number.isNaN(ts)) {\n return DateTime.invalid(\"invalid input\");\n }\n\n const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n return new DateTime({\n ts: ts,\n zone: zoneToUse,\n loc: Locale.fromObject(options),\n });\n }\n\n /**\n * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} milliseconds - a number of milliseconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromMillis(milliseconds, options = {}) {\n if (!isNumber(milliseconds)) {\n throw new InvalidArgumentError(\n `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`\n );\n } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {\n // this isn't perfect because we can still end up out of range because of additional shifting, but it's a start\n return DateTime.invalid(\"Timestamp out of range\");\n } else {\n return new DateTime({\n ts: milliseconds,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options),\n });\n }\n }\n\n /**\n * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.\n * @param {number} seconds - a number of seconds since 1970 UTC\n * @param {Object} options - configuration options for the DateTime\n * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into\n * @param {string} [options.locale] - a locale to set on the resulting DateTime instance\n * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} options.weekSettings - the week settings to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromSeconds(seconds, options = {}) {\n if (!isNumber(seconds)) {\n throw new InvalidArgumentError(\"fromSeconds requires a numerical input\");\n } else {\n return new DateTime({\n ts: seconds * 1000,\n zone: normalizeZone(options.zone, Settings.defaultZone),\n loc: Locale.fromObject(options),\n });\n }\n }\n\n /**\n * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.\n * @param {Object} obj - the object to create the DateTime from\n * @param {number} obj.year - a year, such as 1987\n * @param {number} obj.month - a month, 1-12\n * @param {number} obj.day - a day of the month, 1-31, depending on the month\n * @param {number} obj.ordinal - day of the year, 1-365 or 366\n * @param {number} obj.weekYear - an ISO week year\n * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year\n * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday\n * @param {number} obj.localWeekYear - a week year, according to the locale\n * @param {number} obj.localWeekNumber - a week number, between 1 and 52 or 53, depending on the year, according to the locale\n * @param {number} obj.localWeekday - a weekday, 1-7, where 1 is the first and 7 is the last day of the week, according to the locale\n * @param {number} obj.hour - hour of the day, 0-23\n * @param {number} obj.minute - minute of the hour, 0-59\n * @param {number} obj.second - second of the minute, 0-59\n * @param {number} obj.millisecond - millisecond of the second, 0-999\n * @param {Object} opts - options for creating this DateTime\n * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()\n * @param {string} [opts.locale='system\\'s locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'\n * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })\n * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })\n * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'\n * @example DateTime.fromObject({ localWeekYear: 2022, localWeekNumber: 1, localWeekday: 1 }, { locale: \"en-US\" }).toISODate() //=> '2021-12-26'\n * @return {DateTime}\n */\n static fromObject(obj, opts = {}) {\n obj = obj || {};\n const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);\n if (!zoneToUse.isValid) {\n return DateTime.invalid(unsupportedZone(zoneToUse));\n }\n\n const loc = Locale.fromObject(opts);\n const normalized = normalizeObject(obj, normalizeUnitWithLocalWeeks);\n const { minDaysInFirstWeek, startOfWeek } = usesLocalWeekValues(normalized, loc);\n\n const tsNow = Settings.now(),\n offsetProvis = !isUndefined(opts.specificOffset)\n ? opts.specificOffset\n : zoneToUse.offset(tsNow),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n // cases:\n // just a weekday -> this week's instance of that weekday, no worries\n // (gregorian data or ordinal) + (weekYear or weekNumber) -> error\n // (gregorian month or day) + ordinal -> error\n // otherwise just use weeks or ordinals or gregorian, depending on what's specified\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);\n\n // configure ourselves to deal with gregorian dates or week stuff\n let units,\n defaultValues,\n objNow = tsToObj(tsNow, offsetProvis);\n if (useWeekData) {\n units = orderedWeekUnits;\n defaultValues = defaultWeekUnitValues;\n objNow = gregorianToWeek(objNow, minDaysInFirstWeek, startOfWeek);\n } else if (containsOrdinal) {\n units = orderedOrdinalUnits;\n defaultValues = defaultOrdinalUnitValues;\n objNow = gregorianToOrdinal(objNow);\n } else {\n units = orderedUnits;\n defaultValues = defaultUnitValues;\n }\n\n // set default values for missing stuff\n let foundFirst = false;\n for (const u of units) {\n const v = normalized[u];\n if (!isUndefined(v)) {\n foundFirst = true;\n } else if (foundFirst) {\n normalized[u] = defaultValues[u];\n } else {\n normalized[u] = objNow[u];\n }\n }\n\n // make sure the values we have are in range\n const higherOrderInvalid = useWeekData\n ? hasInvalidWeekData(normalized, minDaysInFirstWeek, startOfWeek)\n : containsOrdinal\n ? hasInvalidOrdinalData(normalized)\n : hasInvalidGregorianData(normalized),\n invalid = higherOrderInvalid || hasInvalidTimeData(normalized);\n\n if (invalid) {\n return DateTime.invalid(invalid);\n }\n\n // compute the actual time\n const gregorian = useWeekData\n ? weekToGregorian(normalized, minDaysInFirstWeek, startOfWeek)\n : containsOrdinal\n ? ordinalToGregorian(normalized)\n : normalized,\n [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),\n inst = new DateTime({\n ts: tsFinal,\n zone: zoneToUse,\n o: offsetFinal,\n loc,\n });\n\n // gregorian data + weekday serves only to validate\n if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {\n return DateTime.invalid(\n \"mismatched weekday\",\n `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`\n );\n }\n\n if (!inst.isValid) {\n return DateTime.invalid(inst.invalid);\n }\n\n return inst;\n }\n\n /**\n * Create a DateTime from an ISO 8601 string\n * @param {string} text - the ISO string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance\n * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance\n * @param {string} [opts.weekSettings] - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromISO('2016-05-25T09:08:34.123')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')\n * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})\n * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})\n * @example DateTime.fromISO('2016-W05-4')\n * @return {DateTime}\n */\n static fromISO(text, opts = {}) {\n const [vals, parsedZone] = parseISODate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"ISO 8601\", text);\n }\n\n /**\n * Create a DateTime from an RFC 2822 string\n * @param {string} text - the RFC 2822 string\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')\n * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')\n * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')\n * @return {DateTime}\n */\n static fromRFC2822(text, opts = {}) {\n const [vals, parsedZone] = parseRFC2822Date(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"RFC 2822\", text);\n }\n\n /**\n * Create a DateTime from an HTTP header date\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @param {string} text - the HTTP header date\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.\n * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.\n * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')\n * @example DateTime.fromHTTP('Sun Nov 6 08:49:37 1994')\n * @return {DateTime}\n */\n static fromHTTP(text, opts = {}) {\n const [vals, parsedZone] = parseHTTPDate(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"HTTP\", opts);\n }\n\n /**\n * Create a DateTime from an input string and format string.\n * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @return {DateTime}\n */\n static fromFormat(text, fmt, opts = {}) {\n if (isUndefined(text) || isUndefined(fmt)) {\n throw new InvalidArgumentError(\"fromFormat requires an input string and a format\");\n }\n\n const { locale = null, numberingSystem = null } = opts,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n }),\n [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);\n if (invalid) {\n return DateTime.invalid(invalid);\n } else {\n return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);\n }\n }\n\n /**\n * @deprecated use fromFormat instead\n */\n static fromString(text, fmt, opts = {}) {\n return DateTime.fromFormat(text, fmt, opts);\n }\n\n /**\n * Create a DateTime from a SQL date, time, or datetime\n * Defaults to en-US if no locale has been specified, regardless of the system's locale\n * @param {string} text - the string to parse\n * @param {Object} opts - options to affect the creation\n * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone\n * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one\n * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale\n * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system\n * @param {string} opts.weekSettings - the week settings to set on the resulting DateTime instance\n * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance\n * @example DateTime.fromSQL('2017-05-15')\n * @example DateTime.fromSQL('2017-05-15 09:12:34')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })\n * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })\n * @example DateTime.fromSQL('09:12:34.342')\n * @return {DateTime}\n */\n static fromSQL(text, opts = {}) {\n const [vals, parsedZone] = parseSQL(text);\n return parseDataToDateTime(vals, parsedZone, opts, \"SQL\", text);\n }\n\n /**\n * Create an invalid DateTime.\n * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.\n * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information\n * @return {DateTime}\n */\n static invalid(reason, explanation = null) {\n if (!reason) {\n throw new InvalidArgumentError(\"need to specify a reason the DateTime is invalid\");\n }\n\n const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);\n\n if (Settings.throwOnInvalid) {\n throw new InvalidDateTimeError(invalid);\n } else {\n return new DateTime({ invalid });\n }\n }\n\n /**\n * Check if an object is an instance of DateTime. Works across context boundaries\n * @param {object} o\n * @return {boolean}\n */\n static isDateTime(o) {\n return (o && o.isLuxonDateTime) || false;\n }\n\n /**\n * Produce the format string for a set of options\n * @param formatOpts\n * @param localeOpts\n * @returns {string}\n */\n static parseFormatForOpts(formatOpts, localeOpts = {}) {\n const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));\n return !tokenList ? null : tokenList.map((t) => (t ? t.val : null)).join(\"\");\n }\n\n /**\n * Produce the the fully expanded format token for the locale\n * Does NOT quote characters, so quoted tokens will not round trip correctly\n * @param fmt\n * @param localeOpts\n * @returns {string}\n */\n static expandFormat(fmt, localeOpts = {}) {\n const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));\n return expanded.map((t) => t.val).join(\"\");\n }\n\n static resetCache() {\n zoneOffsetTs = undefined;\n zoneOffsetGuessCache = {};\n }\n\n // INFO\n\n /**\n * Get the value of unit.\n * @param {string} unit - a unit such as 'minute' or 'day'\n * @example DateTime.local(2017, 7, 4).get('month'); //=> 7\n * @example DateTime.local(2017, 7, 4).get('day'); //=> 4\n * @return {number}\n */\n get(unit) {\n return this[unit];\n }\n\n /**\n * Returns whether the DateTime is valid. Invalid DateTimes occur when:\n * * The DateTime was created from invalid calendar information, such as the 13th month or February 30\n * * The DateTime was created by an operation on another invalid date\n * @type {boolean}\n */\n get isValid() {\n return this.invalid === null;\n }\n\n /**\n * Returns an error code if this DateTime is invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidReason() {\n return this.invalid ? this.invalid.reason : null;\n }\n\n /**\n * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid\n * @type {string}\n */\n get invalidExplanation() {\n return this.invalid ? this.invalid.explanation : null;\n }\n\n /**\n * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime\n *\n * @type {string}\n */\n get locale() {\n return this.isValid ? this.loc.locale : null;\n }\n\n /**\n * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime\n *\n * @type {string}\n */\n get numberingSystem() {\n return this.isValid ? this.loc.numberingSystem : null;\n }\n\n /**\n * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime\n *\n * @type {string}\n */\n get outputCalendar() {\n return this.isValid ? this.loc.outputCalendar : null;\n }\n\n /**\n * Get the time zone associated with this DateTime.\n * @type {Zone}\n */\n get zone() {\n return this._zone;\n }\n\n /**\n * Get the name of the time zone.\n * @type {string}\n */\n get zoneName() {\n return this.isValid ? this.zone.name : null;\n }\n\n /**\n * Get the year\n * @example DateTime.local(2017, 5, 25).year //=> 2017\n * @type {number}\n */\n get year() {\n return this.isValid ? this.c.year : NaN;\n }\n\n /**\n * Get the quarter\n * @example DateTime.local(2017, 5, 25).quarter //=> 2\n * @type {number}\n */\n get quarter() {\n return this.isValid ? Math.ceil(this.c.month / 3) : NaN;\n }\n\n /**\n * Get the month (1-12).\n * @example DateTime.local(2017, 5, 25).month //=> 5\n * @type {number}\n */\n get month() {\n return this.isValid ? this.c.month : NaN;\n }\n\n /**\n * Get the day of the month (1-30ish).\n * @example DateTime.local(2017, 5, 25).day //=> 25\n * @type {number}\n */\n get day() {\n return this.isValid ? this.c.day : NaN;\n }\n\n /**\n * Get the hour of the day (0-23).\n * @example DateTime.local(2017, 5, 25, 9).hour //=> 9\n * @type {number}\n */\n get hour() {\n return this.isValid ? this.c.hour : NaN;\n }\n\n /**\n * Get the minute of the hour (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30\n * @type {number}\n */\n get minute() {\n return this.isValid ? this.c.minute : NaN;\n }\n\n /**\n * Get the second of the minute (0-59).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52\n * @type {number}\n */\n get second() {\n return this.isValid ? this.c.second : NaN;\n }\n\n /**\n * Get the millisecond of the second (0-999).\n * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654\n * @type {number}\n */\n get millisecond() {\n return this.isValid ? this.c.millisecond : NaN;\n }\n\n /**\n * Get the week year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 12, 31).weekYear //=> 2015\n * @type {number}\n */\n get weekYear() {\n return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;\n }\n\n /**\n * Get the week number of the week year (1-52ish).\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2017, 5, 25).weekNumber //=> 21\n * @type {number}\n */\n get weekNumber() {\n return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;\n }\n\n /**\n * Get the day of the week.\n * 1 is Monday and 7 is Sunday\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2014, 11, 31).weekday //=> 4\n * @type {number}\n */\n get weekday() {\n return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;\n }\n\n /**\n * Returns true if this date is on a weekend according to the locale, false otherwise\n * @returns {boolean}\n */\n get isWeekend() {\n return this.isValid && this.loc.getWeekendDays().includes(this.weekday);\n }\n\n /**\n * Get the day of the week according to the locale.\n * 1 is the first day of the week and 7 is the last day of the week.\n * If the locale assigns Sunday as the first day of the week, then a date which is a Sunday will return 1,\n * @returns {number}\n */\n get localWeekday() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekday : NaN;\n }\n\n /**\n * Get the week number of the week year according to the locale. Different locales assign week numbers differently,\n * because the week can start on different days of the week (see localWeekday) and because a different number of days\n * is required for a week to count as the first week of a year.\n * @returns {number}\n */\n get localWeekNumber() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekNumber : NaN;\n }\n\n /**\n * Get the week year according to the locale. Different locales assign week numbers (and therefor week years)\n * differently, see localWeekNumber.\n * @returns {number}\n */\n get localWeekYear() {\n return this.isValid ? possiblyCachedLocalWeekData(this).weekYear : NaN;\n }\n\n /**\n * Get the ordinal (meaning the day of the year)\n * @example DateTime.local(2017, 5, 25).ordinal //=> 145\n * @type {number|DateTime}\n */\n get ordinal() {\n return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;\n }\n\n /**\n * Get the human readable short month name, such as 'Oct'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthShort //=> Oct\n * @type {string}\n */\n get monthShort() {\n return this.isValid ? Info.months(\"short\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable long month name, such as 'October'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).monthLong //=> October\n * @type {string}\n */\n get monthLong() {\n return this.isValid ? Info.months(\"long\", { locObj: this.loc })[this.month - 1] : null;\n }\n\n /**\n * Get the human readable short weekday, such as 'Mon'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon\n * @type {string}\n */\n get weekdayShort() {\n return this.isValid ? Info.weekdays(\"short\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the human readable long weekday, such as 'Monday'.\n * Defaults to the system's locale if no locale has been specified\n * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday\n * @type {string}\n */\n get weekdayLong() {\n return this.isValid ? Info.weekdays(\"long\", { locObj: this.loc })[this.weekday - 1] : null;\n }\n\n /**\n * Get the UTC offset of this DateTime in minutes\n * @example DateTime.now().offset //=> -240\n * @example DateTime.utc().offset //=> 0\n * @type {number}\n */\n get offset() {\n return this.isValid ? +this.o : NaN;\n }\n\n /**\n * Get the short human name for the zone's current offset, for example \"EST\" or \"EDT\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameShort() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"short\",\n locale: this.locale,\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get the long human name for the zone's current offset, for example \"Eastern Standard Time\" or \"Eastern Daylight Time\".\n * Defaults to the system's locale if no locale has been specified\n * @type {string}\n */\n get offsetNameLong() {\n if (this.isValid) {\n return this.zone.offsetName(this.ts, {\n format: \"long\",\n locale: this.locale,\n });\n } else {\n return null;\n }\n }\n\n /**\n * Get whether this zone's offset ever changes, as in a DST.\n * @type {boolean}\n */\n get isOffsetFixed() {\n return this.isValid ? this.zone.isUniversal : null;\n }\n\n /**\n * Get whether the DateTime is in a DST.\n * @type {boolean}\n */\n get isInDST() {\n if (this.isOffsetFixed) {\n return false;\n } else {\n return (\n this.offset > this.set({ month: 1, day: 1 }).offset ||\n this.offset > this.set({ month: 5 }).offset\n );\n }\n }\n\n /**\n * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC\n * in this DateTime's zone. During DST changes local time can be ambiguous, for example\n * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.\n * This method will return both possible DateTimes if this DateTime's local time is ambiguous.\n * @returns {DateTime[]}\n */\n getPossibleOffsets() {\n if (!this.isValid || this.isOffsetFixed) {\n return [this];\n }\n const dayMs = 86400000;\n const minuteMs = 60000;\n const localTS = objToLocalTS(this.c);\n const oEarlier = this.zone.offset(localTS - dayMs);\n const oLater = this.zone.offset(localTS + dayMs);\n\n const o1 = this.zone.offset(localTS - oEarlier * minuteMs);\n const o2 = this.zone.offset(localTS - oLater * minuteMs);\n if (o1 === o2) {\n return [this];\n }\n const ts1 = localTS - o1 * minuteMs;\n const ts2 = localTS - o2 * minuteMs;\n const c1 = tsToObj(ts1, o1);\n const c2 = tsToObj(ts2, o2);\n if (\n c1.hour === c2.hour &&\n c1.minute === c2.minute &&\n c1.second === c2.second &&\n c1.millisecond === c2.millisecond\n ) {\n return [clone(this, { ts: ts1 }), clone(this, { ts: ts2 })];\n }\n return [this];\n }\n\n /**\n * Returns true if this DateTime is in a leap year, false otherwise\n * @example DateTime.local(2016).isInLeapYear //=> true\n * @example DateTime.local(2013).isInLeapYear //=> false\n * @type {boolean}\n */\n get isInLeapYear() {\n return isLeapYear(this.year);\n }\n\n /**\n * Returns the number of days in this DateTime's month\n * @example DateTime.local(2016, 2).daysInMonth //=> 29\n * @example DateTime.local(2016, 3).daysInMonth //=> 31\n * @type {number}\n */\n get daysInMonth() {\n return daysInMonth(this.year, this.month);\n }\n\n /**\n * Returns the number of days in this DateTime's year\n * @example DateTime.local(2016).daysInYear //=> 366\n * @example DateTime.local(2013).daysInYear //=> 365\n * @type {number}\n */\n get daysInYear() {\n return this.isValid ? daysInYear(this.year) : NaN;\n }\n\n /**\n * Returns the number of weeks in this DateTime's year\n * @see https://en.wikipedia.org/wiki/ISO_week_date\n * @example DateTime.local(2004).weeksInWeekYear //=> 53\n * @example DateTime.local(2013).weeksInWeekYear //=> 52\n * @type {number}\n */\n get weeksInWeekYear() {\n return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;\n }\n\n /**\n * Returns the number of weeks in this DateTime's local week year\n * @example DateTime.local(2020, 6, {locale: 'en-US'}).weeksInLocalWeekYear //=> 52\n * @example DateTime.local(2020, 6, {locale: 'de-DE'}).weeksInLocalWeekYear //=> 53\n * @type {number}\n */\n get weeksInLocalWeekYear() {\n return this.isValid\n ? weeksInWeekYear(\n this.localWeekYear,\n this.loc.getMinDaysInFirstWeek(),\n this.loc.getStartOfWeek()\n )\n : NaN;\n }\n\n /**\n * Returns the resolved Intl options for this DateTime.\n * This is useful in understanding the behavior of formatting methods\n * @param {Object} opts - the same options as toLocaleString\n * @return {Object}\n */\n resolvedLocaleOptions(opts = {}) {\n const { locale, numberingSystem, calendar } = Formatter.create(\n this.loc.clone(opts),\n opts\n ).resolvedOptions(this);\n return { locale, numberingSystem, outputCalendar: calendar };\n }\n\n // TRANSFORM\n\n /**\n * \"Set\" the DateTime's zone to UTC. Returns a newly-constructed DateTime.\n *\n * Equivalent to {@link DateTime#setZone}('utc')\n * @param {number} [offset=0] - optionally, an offset from UTC in minutes\n * @param {Object} [opts={}] - options to pass to `setZone()`\n * @return {DateTime}\n */\n toUTC(offset = 0, opts = {}) {\n return this.setZone(FixedOffsetZone.instance(offset), opts);\n }\n\n /**\n * \"Set\" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.\n *\n * Equivalent to `setZone('local')`\n * @return {DateTime}\n */\n toLocal() {\n return this.setZone(Settings.defaultZone);\n }\n\n /**\n * \"Set\" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.\n *\n * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.\n * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.\n * @param {Object} opts - options\n * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.\n * @return {DateTime}\n */\n setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {\n zone = normalizeZone(zone, Settings.defaultZone);\n if (zone.equals(this.zone)) {\n return this;\n } else if (!zone.isValid) {\n return DateTime.invalid(unsupportedZone(zone));\n } else {\n let newTS = this.ts;\n if (keepLocalTime || keepCalendarTime) {\n const offsetGuess = zone.offset(this.ts);\n const asObj = this.toObject();\n [newTS] = objToTS(asObj, offsetGuess, zone);\n }\n return clone(this, { ts: newTS, zone });\n }\n }\n\n /**\n * \"Set\" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.\n * @param {Object} properties - the properties to set\n * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })\n * @return {DateTime}\n */\n reconfigure({ locale, numberingSystem, outputCalendar } = {}) {\n const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });\n return clone(this, { loc });\n }\n\n /**\n * \"Set\" the locale. Returns a newly-constructed DateTime.\n * Just a convenient alias for reconfigure({ locale })\n * @example DateTime.local(2017, 5, 25).setLocale('en-GB')\n * @return {DateTime}\n */\n setLocale(locale) {\n return this.reconfigure({ locale });\n }\n\n /**\n * \"Set\" the values of specified units. Returns a newly-constructed DateTime.\n * You can only set units with this method; for \"setting\" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.\n *\n * This method also supports setting locale-based week units, i.e. `localWeekday`, `localWeekNumber` and `localWeekYear`.\n * They cannot be mixed with ISO-week units like `weekday`.\n * @param {Object} values - a mapping of units to numbers\n * @example dt.set({ year: 2017 })\n * @example dt.set({ hour: 8, minute: 30 })\n * @example dt.set({ weekday: 5 })\n * @example dt.set({ year: 2005, ordinal: 234 })\n * @return {DateTime}\n */\n set(values) {\n if (!this.isValid) return this;\n\n const normalized = normalizeObject(values, normalizeUnitWithLocalWeeks);\n const { minDaysInFirstWeek, startOfWeek } = usesLocalWeekValues(normalized, this.loc);\n\n const settingWeekStuff =\n !isUndefined(normalized.weekYear) ||\n !isUndefined(normalized.weekNumber) ||\n !isUndefined(normalized.weekday),\n containsOrdinal = !isUndefined(normalized.ordinal),\n containsGregorYear = !isUndefined(normalized.year),\n containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),\n containsGregor = containsGregorYear || containsGregorMD,\n definiteWeekDef = normalized.weekYear || normalized.weekNumber;\n\n if ((containsGregor || containsOrdinal) && definiteWeekDef) {\n throw new ConflictingSpecificationError(\n \"Can't mix weekYear/weekNumber units with year/month/day or ordinals\"\n );\n }\n\n if (containsGregorMD && containsOrdinal) {\n throw new ConflictingSpecificationError(\"Can't mix ordinal dates with month/day\");\n }\n\n let mixed;\n if (settingWeekStuff) {\n mixed = weekToGregorian(\n { ...gregorianToWeek(this.c, minDaysInFirstWeek, startOfWeek), ...normalized },\n minDaysInFirstWeek,\n startOfWeek\n );\n } else if (!isUndefined(normalized.ordinal)) {\n mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized });\n } else {\n mixed = { ...this.toObject(), ...normalized };\n\n // if we didn't set the day but we ended up on an overflow date,\n // use the last day of the right month\n if (isUndefined(normalized.day)) {\n mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);\n }\n }\n\n const [ts, o] = objToTS(mixed, this.o, this.zone);\n return clone(this, { ts, o });\n }\n\n /**\n * Add a period of time to this DateTime and return the resulting DateTime\n *\n * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.\n * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n * @example DateTime.now().plus(123) //~> in 123 milliseconds\n * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes\n * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow\n * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday\n * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min\n * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min\n * @return {DateTime}\n */\n plus(duration) {\n if (!this.isValid) return this;\n const dur = Duration.fromDurationLike(duration);\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * Subtract a period of time to this DateTime and return the resulting DateTime\n * See {@link DateTime#plus}\n * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()\n @return {DateTime}\n */\n minus(duration) {\n if (!this.isValid) return this;\n const dur = Duration.fromDurationLike(duration).negate();\n return clone(this, adjustTime(this, dur));\n }\n\n /**\n * \"Set\" this DateTime to the beginning of a unit of time.\n * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'\n * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'\n * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'\n * @return {DateTime}\n */\n startOf(unit, { useLocaleWeeks = false } = {}) {\n if (!this.isValid) return this;\n\n const o = {},\n normalizedUnit = Duration.normalizeUnit(unit);\n switch (normalizedUnit) {\n case \"years\":\n o.month = 1;\n // falls through\n case \"quarters\":\n case \"months\":\n o.day = 1;\n // falls through\n case \"weeks\":\n case \"days\":\n o.hour = 0;\n // falls through\n case \"hours\":\n o.minute = 0;\n // falls through\n case \"minutes\":\n o.second = 0;\n // falls through\n case \"seconds\":\n o.millisecond = 0;\n break;\n case \"milliseconds\":\n break;\n // no default, invalid units throw in normalizeUnit()\n }\n\n if (normalizedUnit === \"weeks\") {\n if (useLocaleWeeks) {\n const startOfWeek = this.loc.getStartOfWeek();\n const { weekday } = this;\n if (weekday < startOfWeek) {\n o.weekNumber = this.weekNumber - 1;\n }\n o.weekday = startOfWeek;\n } else {\n o.weekday = 1;\n }\n }\n\n if (normalizedUnit === \"quarters\") {\n const q = Math.ceil(this.month / 3);\n o.month = (q - 1) * 3 + 1;\n }\n\n return this.set(o);\n }\n\n /**\n * \"Set\" this DateTime to the end (meaning the last millisecond) of a unit of time\n * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week\n * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'\n * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'\n * @return {DateTime}\n */\n endOf(unit, opts) {\n return this.isValid\n ? this.plus({ [unit]: 1 })\n .startOf(unit, opts)\n .minus(1)\n : this;\n }\n\n // OUTPUT\n\n /**\n * Returns a string representation of this DateTime formatted according to the specified format string.\n * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).\n * Defaults to en-US if no locale has been specified, regardless of the system's locale.\n * @param {string} fmt - the format string\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'\n * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'\n * @example DateTime.now().toFormat('yyyy LLL dd', { locale: \"fr\" }) //=> '2017 avr. 22'\n * @example DateTime.now().toFormat(\"HH 'hours and' mm 'minutes'\") //=> '20 hours and 55 minutes'\n * @return {string}\n */\n toFormat(fmt, opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)\n : INVALID;\n }\n\n /**\n * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.\n * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation\n * of the DateTime in the assigned locale.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat\n * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options\n * @param {Object} opts - opts to override the configuration options on this DateTime\n * @example DateTime.now().toLocaleString(); //=> 4/20/2017\n * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'\n * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'\n * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'\n * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'\n * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'\n * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'\n * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'\n * @return {string}\n */\n toLocaleString(formatOpts = Formats.DATE_SHORT, opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this)\n : INVALID;\n }\n\n /**\n * Returns an array of format \"parts\", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.\n * Defaults to the system's locale if no locale has been specified\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts\n * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.\n * @example DateTime.now().toLocaleParts(); //=> [\n * //=> { type: 'day', value: '25' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'month', value: '05' },\n * //=> { type: 'literal', value: '/' },\n * //=> { type: 'year', value: '1982' }\n * //=> ]\n */\n toLocaleParts(opts = {}) {\n return this.isValid\n ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)\n : [];\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=false] - add the time zone format extension\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'\n * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'\n * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'\n * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'\n * @return {string}\n */\n toISO({\n format = \"extended\",\n suppressSeconds = false,\n suppressMilliseconds = false,\n includeOffset = true,\n extendedZone = false,\n } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n const ext = format === \"extended\";\n\n let c = toISODate(this, ext);\n c += \"T\";\n c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);\n return c;\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's date component\n * @param {Object} opts - options\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'\n * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'\n * @return {string}\n */\n toISODate({ format = \"extended\" } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return toISODate(this, format === \"extended\");\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's week date\n * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'\n * @return {string}\n */\n toISOWeekDate() {\n return toTechFormat(this, \"kkkk-'W'WW-c\");\n }\n\n /**\n * Returns an ISO 8601-compliant string representation of this DateTime's time component\n * @param {Object} opts - options\n * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0\n * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.extendedZone=true] - add the time zone format extension\n * @param {boolean} [opts.includePrefix=false] - include the `T` prefix\n * @param {string} [opts.format='extended'] - choose between the basic and extended format\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'\n * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'\n * @return {string}\n */\n toISOTime({\n suppressMilliseconds = false,\n suppressSeconds = false,\n includeOffset = true,\n includePrefix = false,\n extendedZone = false,\n format = \"extended\",\n } = {}) {\n if (!this.isValid) {\n return null;\n }\n\n let c = includePrefix ? \"T\" : \"\";\n return (\n c +\n toISOTime(\n this,\n format === \"extended\",\n suppressSeconds,\n suppressMilliseconds,\n includeOffset,\n extendedZone\n )\n );\n }\n\n /**\n * Returns an RFC 2822-compatible string representation of this DateTime\n * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'\n * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'\n * @return {string}\n */\n toRFC2822() {\n return toTechFormat(this, \"EEE, dd LLL yyyy HH:mm:ss ZZZ\", false);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.\n * Specifically, the string conforms to RFC 1123.\n * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1\n * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'\n * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'\n * @return {string}\n */\n toHTTP() {\n return toTechFormat(this.toUTC(), \"EEE, dd LLL yyyy HH:mm:ss 'GMT'\");\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Date\n * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'\n * @return {string}\n */\n toSQLDate() {\n if (!this.isValid) {\n return null;\n }\n return toISODate(this, true);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL Time\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc().toSQL() //=> '05:15:16.345'\n * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'\n * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'\n * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'\n * @return {string}\n */\n toSQLTime({ includeOffset = true, includeZone = false, includeOffsetSpace = true } = {}) {\n let fmt = \"HH:mm:ss.SSS\";\n\n if (includeZone || includeOffset) {\n if (includeOffsetSpace) {\n fmt += \" \";\n }\n if (includeZone) {\n fmt += \"z\";\n } else if (includeOffset) {\n fmt += \"ZZ\";\n }\n }\n\n return toTechFormat(this, fmt, true);\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for use in SQL DateTime\n * @param {Object} opts - options\n * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.\n * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'\n * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'\n * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'\n * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'\n * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'\n * @return {string}\n */\n toSQL(opts = {}) {\n if (!this.isValid) {\n return null;\n }\n\n return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for debugging\n * @return {string}\n */\n toString() {\n return this.isValid ? this.toISO() : INVALID;\n }\n\n /**\n * Returns a string representation of this DateTime appropriate for the REPL.\n * @return {string}\n */\n [Symbol.for(\"nodejs.util.inspect.custom\")]() {\n if (this.isValid) {\n return `DateTime { ts: ${this.toISO()}, zone: ${this.zone.name}, locale: ${this.locale} }`;\n } else {\n return `DateTime { Invalid, reason: ${this.invalidReason} }`;\n }\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}\n * @return {number}\n */\n valueOf() {\n return this.toMillis();\n }\n\n /**\n * Returns the epoch milliseconds of this DateTime.\n * @return {number}\n */\n toMillis() {\n return this.isValid ? this.ts : NaN;\n }\n\n /**\n * Returns the epoch seconds of this DateTime.\n * @return {number}\n */\n toSeconds() {\n return this.isValid ? this.ts / 1000 : NaN;\n }\n\n /**\n * Returns the epoch seconds (as a whole number) of this DateTime.\n * @return {number}\n */\n toUnixInteger() {\n return this.isValid ? Math.floor(this.ts / 1000) : NaN;\n }\n\n /**\n * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.\n * @return {string}\n */\n toJSON() {\n return this.toISO();\n }\n\n /**\n * Returns a BSON serializable equivalent to this DateTime.\n * @return {Date}\n */\n toBSON() {\n return this.toJSDate();\n }\n\n /**\n * Returns a JavaScript object with this DateTime's year, month, day, and so on.\n * @param opts - options for generating the object\n * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output\n * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }\n * @return {Object}\n */\n toObject(opts = {}) {\n if (!this.isValid) return {};\n\n const base = { ...this.c };\n\n if (opts.includeConfig) {\n base.outputCalendar = this.outputCalendar;\n base.numberingSystem = this.loc.numberingSystem;\n base.locale = this.loc.locale;\n }\n return base;\n }\n\n /**\n * Returns a JavaScript Date equivalent to this DateTime.\n * @return {Date}\n */\n toJSDate() {\n return new Date(this.isValid ? this.ts : NaN);\n }\n\n // COMPARE\n\n /**\n * Return the difference between two DateTimes as a Duration.\n * @param {DateTime} otherDateTime - the DateTime to compare this one to\n * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @example\n * var i1 = DateTime.fromISO('1982-05-25T09:45'),\n * i2 = DateTime.fromISO('1983-10-14T10:30');\n * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }\n * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }\n * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }\n * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }\n * @return {Duration}\n */\n diff(otherDateTime, unit = \"milliseconds\", opts = {}) {\n if (!this.isValid || !otherDateTime.isValid) {\n return Duration.invalid(\"created by diffing an invalid DateTime\");\n }\n\n const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts };\n\n const units = maybeArray(unit).map(Duration.normalizeUnit),\n otherIsLater = otherDateTime.valueOf() > this.valueOf(),\n earlier = otherIsLater ? this : otherDateTime,\n later = otherIsLater ? otherDateTime : this,\n diffed = diff(earlier, later, units, durOpts);\n\n return otherIsLater ? diffed.negate() : diffed;\n }\n\n /**\n * Return the difference between this DateTime and right now.\n * See {@link DateTime#diff}\n * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration\n * @param {Object} opts - options that affect the creation of the Duration\n * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use\n * @return {Duration}\n */\n diffNow(unit = \"milliseconds\", opts = {}) {\n return this.diff(DateTime.now(), unit, opts);\n }\n\n /**\n * Return an Interval spanning between this DateTime and another DateTime\n * @param {DateTime} otherDateTime - the other end point of the Interval\n * @return {Interval}\n */\n until(otherDateTime) {\n return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;\n }\n\n /**\n * Return whether this DateTime is in the same unit of time as another DateTime.\n * Higher-order units must also be identical for this function to return `true`.\n * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.\n * @param {DateTime} otherDateTime - the other DateTime\n * @param {string} unit - the unit of time to check sameness on\n * @param {Object} opts - options\n * @param {boolean} [opts.useLocaleWeeks=false] - If true, use weeks based on the locale, i.e. use the locale-dependent start of the week; only the locale of this DateTime is used\n * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day\n * @return {boolean}\n */\n hasSame(otherDateTime, unit, opts) {\n if (!this.isValid) return false;\n\n const inputMs = otherDateTime.valueOf();\n const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true });\n return (\n adjustedToZone.startOf(unit, opts) <= inputMs && inputMs <= adjustedToZone.endOf(unit, opts)\n );\n }\n\n /**\n * Equality check\n * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.\n * To compare just the millisecond values, use `+dt1 === +dt2`.\n * @param {DateTime} other - the other DateTime\n * @return {boolean}\n */\n equals(other) {\n return (\n this.isValid &&\n other.isValid &&\n this.valueOf() === other.valueOf() &&\n this.zone.equals(other.zone) &&\n this.loc.equals(other.loc)\n );\n }\n\n /**\n * Returns a string representation of a this time relative to now, such as \"in two days\". Can only internationalize if your\n * platform supports Intl.RelativeTimeFormat. Rounds down by default.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} [options.style=\"long\"] - the style of units, must be \"long\", \"short\", or \"narrow\"\n * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", \"minutes\", or \"seconds\"\n * @param {boolean} [options.round=true] - whether to round the numbers in the output.\n * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelative() //=> \"in 1 day\"\n * @example DateTime.now().setLocale(\"es\").toRelative({ days: 1 }) //=> \"dentro de 1 día\"\n * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: \"fr\" }) //=> \"dans 23 heures\"\n * @example DateTime.now().minus({ days: 2 }).toRelative() //=> \"2 days ago\"\n * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: \"hours\" }) //=> \"48 hours ago\"\n * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> \"1.5 days ago\"\n */\n toRelative(options = {}) {\n if (!this.isValid) return null;\n const base = options.base || DateTime.fromObject({}, { zone: this.zone }),\n padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;\n let units = [\"years\", \"months\", \"days\", \"hours\", \"minutes\", \"seconds\"];\n let unit = options.unit;\n if (Array.isArray(options.unit)) {\n units = options.unit;\n unit = undefined;\n }\n return diffRelative(base, this.plus(padding), {\n ...options,\n numeric: \"always\",\n units,\n unit,\n });\n }\n\n /**\n * Returns a string representation of this date relative to today, such as \"yesterday\" or \"next month\".\n * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.\n * @param {Object} options - options that affect the output\n * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.\n * @param {string} options.locale - override the locale of this DateTime\n * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of \"years\", \"quarters\", \"months\", \"weeks\", or \"days\"\n * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> \"tomorrow\"\n * @example DateTime.now().setLocale(\"es\").plus({ days: 1 }).toRelative() //=> \"\"mañana\"\n * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: \"fr\" }) //=> \"demain\"\n * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> \"2 days ago\"\n */\n toRelativeCalendar(options = {}) {\n if (!this.isValid) return null;\n\n return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, {\n ...options,\n numeric: \"auto\",\n units: [\"years\", \"months\", \"days\"],\n calendary: true,\n });\n }\n\n /**\n * Return the min of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum\n * @return {DateTime} the min DateTime, or undefined if called with no argument\n */\n static min(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"min requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, (i) => i.valueOf(), Math.min);\n }\n\n /**\n * Return the max of several date times\n * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum\n * @return {DateTime} the max DateTime, or undefined if called with no argument\n */\n static max(...dateTimes) {\n if (!dateTimes.every(DateTime.isDateTime)) {\n throw new InvalidArgumentError(\"max requires all arguments be DateTimes\");\n }\n return bestBy(dateTimes, (i) => i.valueOf(), Math.max);\n }\n\n // MISC\n\n /**\n * Explain how a string would be parsed by fromFormat()\n * @param {string} text - the string to parse\n * @param {string} fmt - the format the string is expected to be in (see description)\n * @param {Object} options - options taken by fromFormat()\n * @return {Object}\n */\n static fromFormatExplain(text, fmt, options = {}) {\n const { locale = null, numberingSystem = null } = options,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n return explainFromTokens(localeToUse, text, fmt);\n }\n\n /**\n * @deprecated use fromFormatExplain instead\n */\n static fromStringExplain(text, fmt, options = {}) {\n return DateTime.fromFormatExplain(text, fmt, options);\n }\n\n /**\n * Build a parser for `fmt` using the given locale. This parser can be passed\n * to {@link DateTime.fromFormatParser} to a parse a date in this format. This\n * can be used to optimize cases where many dates need to be parsed in a\n * specific format.\n *\n * @param {String} fmt - the format the string is expected to be in (see\n * description)\n * @param {Object} options - options used to set locale and numberingSystem\n * for parser\n * @returns {TokenParser} - opaque object to be used\n */\n static buildFormatParser(fmt, options = {}) {\n const { locale = null, numberingSystem = null } = options,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n return new TokenParser(localeToUse, fmt);\n }\n\n /**\n * Create a DateTime from an input string and format parser.\n *\n * The format parser must have been created with the same locale as this call.\n *\n * @param {String} text - the string to parse\n * @param {TokenParser} formatParser - parser from {@link DateTime.buildFormatParser}\n * @param {Object} opts - options taken by fromFormat()\n * @returns {DateTime}\n */\n static fromFormatParser(text, formatParser, opts = {}) {\n if (isUndefined(text) || isUndefined(formatParser)) {\n throw new InvalidArgumentError(\n \"fromFormatParser requires an input string and a format parser\"\n );\n }\n const { locale = null, numberingSystem = null } = opts,\n localeToUse = Locale.fromOpts({\n locale,\n numberingSystem,\n defaultToEN: true,\n });\n\n if (!localeToUse.equals(formatParser.locale)) {\n throw new InvalidArgumentError(\n `fromFormatParser called with a locale of ${localeToUse}, ` +\n `but the format parser was created for ${formatParser.locale}`\n );\n }\n\n const { result, zone, specificOffset, invalidReason } = formatParser.explainFromTokens(text);\n\n if (invalidReason) {\n return DateTime.invalid(invalidReason);\n } else {\n return parseDataToDateTime(\n result,\n zone,\n opts,\n `format ${formatParser.format}`,\n text,\n specificOffset\n );\n }\n }\n\n // FORMAT PRESETS\n\n /**\n * {@link DateTime#toLocaleString} format like 10/14/1983\n * @type {Object}\n */\n static get DATE_SHORT() {\n return Formats.DATE_SHORT;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED() {\n return Formats.DATE_MED;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'\n * @type {Object}\n */\n static get DATE_MED_WITH_WEEKDAY() {\n return Formats.DATE_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983'\n * @type {Object}\n */\n static get DATE_FULL() {\n return Formats.DATE_FULL;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'\n * @type {Object}\n */\n static get DATE_HUGE() {\n return Formats.DATE_HUGE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_SIMPLE() {\n return Formats.TIME_SIMPLE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SECONDS() {\n return Formats.TIME_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_SHORT_OFFSET() {\n return Formats.TIME_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get TIME_WITH_LONG_OFFSET() {\n return Formats.TIME_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_SIMPLE() {\n return Formats.TIME_24_SIMPLE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SECONDS() {\n return Formats.TIME_24_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_SHORT_OFFSET() {\n return Formats.TIME_24_WITH_SHORT_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.\n * @type {Object}\n */\n static get TIME_24_WITH_LONG_OFFSET() {\n return Formats.TIME_24_WITH_LONG_OFFSET;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT() {\n return Formats.DATETIME_SHORT;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_SHORT_WITH_SECONDS() {\n return Formats.DATETIME_SHORT_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED() {\n return Formats.DATETIME_MED;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_SECONDS() {\n return Formats.DATETIME_MED_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_MED_WITH_WEEKDAY() {\n return Formats.DATETIME_MED_WITH_WEEKDAY;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL() {\n return Formats.DATETIME_FULL;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_FULL_WITH_SECONDS() {\n return Formats.DATETIME_FULL_WITH_SECONDS;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE() {\n return Formats.DATETIME_HUGE;\n }\n\n /**\n * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.\n * @type {Object}\n */\n static get DATETIME_HUGE_WITH_SECONDS() {\n return Formats.DATETIME_HUGE_WITH_SECONDS;\n }\n}\n\n/**\n * @private\n */\nexport function friendlyDateTime(dateTimeish) {\n if (DateTime.isDateTime(dateTimeish)) {\n return dateTimeish;\n } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {\n return DateTime.fromJSDate(dateTimeish);\n } else if (dateTimeish && typeof dateTimeish === \"object\") {\n return DateTime.fromObject(dateTimeish);\n } else {\n throw new InvalidArgumentError(\n `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`\n );\n }\n}\n","import { $t } from '@/plugins/i18n'\nimport { DateTime } from 'luxon'\nimport moment from 'moment'\n\nexport const dateFormat = Object.freeze({\n display: 'MM/DD/YYYY',\n parameter: 'YYYY-MM-DD'\n})\n\nexport function useDateTime() {\n function dateTimeFormattedLabel(date: string, useTime: boolean = true, useCompleteDate: boolean = false) {\n const momentDate = moment(date)\n let dateFormatted = ''\n if (momentDate.isValid()) {\n if (momentDate.diff(moment(), 'days') == -7) {\n dateFormatted = $t('app.incidents.details.timeline.dateRanges.week_ago')\n if (useTime) {\n dateFormatted += ` ${$t('app.incidents.details.timeline.dateRanges.at')} ${momentDate.format('h:mm A')}`\n }\n } else {\n if(useCompleteDate) {\n let format = useTime\n ? `ddd, MMM DD, YYYY [${$t('app.incidents.details.timeline.dateRanges.at')}] h:mm a`\n : 'ddd, MMM DD, YYYY'\n dateFormatted = moment(momentDate).format(format)\n } else {\n dateFormatted = moment(momentDate).calendar(null, {\n sameDay: useTime\n ? `[${$t('app.incidents.details.timeline.dateRanges.today')} ${$t('app.incidents.details.timeline.dateRanges.at')}] h:mm a`\n : `[${$t('app.incidents.details.timeline.dateRanges.today')}]`,\n lastDay: useTime\n ? `[${$t('app.incidents.details.timeline.dateRanges.yesterday')} ${$t('app.incidents.details.timeline.dateRanges.at')}] h:mm a`\n : `[${$t('app.incidents.details.timeline.dateRanges.yesterday')}]`,\n lastWeek: useTime ? `ddd [${$t('app.incidents.details.timeline.dateRanges.at')}] h:mm a` : 'dddd',\n sameElse: useTime\n ? `ddd, MMM DD, YYYY [${$t('app.incidents.details.timeline.dateRanges.at')}] h:mm a`\n : 'ddd, MMM DD, YYYY'\n })\n }\n }\n }\n return dateFormatted\n }\n\n function dateFormatted(date: string, short: boolean = true) {\n const momentDate = moment(date)\n if (momentDate.isValid()) {\n return momentDate.format(short ? 'M/DD/YYYY' : 'MMM DD, YYYY')\n }\n return ''\n }\n\n function timeFormatted(date: string) {\n const momentDate = moment(date)\n if (momentDate.isValid()) {\n return momentDate.format('h:mm A')\n }\n return ''\n }\n\n function dateTimeRelativeFromNow(date: string) {\n const momentDate = moment(date)\n let dateFormatted = ''\n if (momentDate.isValid()) {\n dateFormatted = momentDate.fromNow()\n }\n return dateFormatted\n }\n\n function hashDate(date: string) {\n return moment(date).unix()\n }\n\n function getDateEnding(day: number) {\n if (day > 3 && day < 21) return 'th'\n switch (day % 10) {\n case 1: return 'st'\n case 2: return 'nd'\n case 3: return 'rd'\n default: return 'th'\n }\n }\n\n function parseServerDate(serverDate: string) {\n return DateTime.fromFormat(serverDate + ' America/New_York', 'yyyy-LL-dd hh:mm:ss z');\n }\n\n return {\n dateTimeFormattedLabel,\n dateFormatted,\n timeFormatted,\n hashDate,\n getDateEnding,\n dateTimeRelativeFromNow,\n parseServerDate\n }\n}\n","import { v3 } from '@/http'\n\nexport function getOnlineReviewsConfig(merchantId: number, questionnaireId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/questionnaires/${questionnaireId}/online-reviews-config`, axiosConfig)\n}\n\nexport function updateOnlineReviewsConfig(merchantId: number, questionnaireId: number, data: any, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/questionnaires/${questionnaireId}/online-reviews-config`, data, axiosConfig)\n}\n\nexport function getPublicReviewsCTR(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Questionnaires/public-reviews-ctr`, data, axiosConfig)\n}\n\nexport function getQuestionnaireList(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Questionnaires/list?Page=${data.Page}&PageSize=${data.PageSize}`, axiosConfig)\n}","import { legacy } from '@/http'\nimport type { LegacyUser, LegacyUserResponse } from '@/models/legacy/LegacyUser'\nimport type { User } from '@/models/User'\n\n\nexport class UserFacade {\n private convertToCamelCase(user: LegacyUser): User {\n return {\n id: user.id,\n first: user.first,\n last: user.last,\n email: user.email,\n scope: user.scope,\n registerDate: user.registerDate,\n lastVisitDate: user.lastVisitDate,\n enabled: user.enabled,\n passwordReset: user.password_reset,\n passwordResetAt: user.password_reset_at,\n activation: user.activation,\n dateTimeCreated: user.date_time_created,\n dateTimeEdited: user.date_time_edited,\n pictureFilename: user.picture_filename,\n phone: user.phone,\n totalLogins: user.total_logins\n }\n }\n \n async getUserList(url: string, axiosConfig = {}): Promise<{ data: User[] }> {\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n const response = await legacy.get(\n `/v2/api/user-merchants?merchant_id=${merchantId}&expand=users&size=-1`,\n axiosConfig\n )\n \n const transformedUsers = response.data._embedded.user_merchants.map((user) =>\n this.convertToCamelCase(user.user)\n )\n \n return {\n data: transformedUsers\n }\n }\n}\n\nexport default new UserFacade()","import UserFacade from \"./Legacy/UserFacade\";\n\nexport function getUserList(merchantId: number, axiosConfig = {}) {\n return UserFacade.getUserList(`/merchants/${merchantId}/users`, axiosConfig)\n}","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import freeGlobal from './_freeGlobal.js';\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\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\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\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\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\nexport default baseGetTag;\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\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default isSymbol;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n","import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\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\nexport default isObject;\n","import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\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 = baseTrim(value);\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\nexport default toNumber;\n","/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nexport default baseClamp;\n","import baseClamp from './_baseClamp.js';\nimport toNumber from './toNumber.js';\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nexport default clamp;\n","import root from './_root.js';\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\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\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 clearTimeout(timerId);\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\nexport default debounce;\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\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\nexport default throttle;\n","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport { defineComponent, useCssVars, unref, computed, shallowRef, onUnmounted, watch, openBlock, createElementBlock, Fragment, withDirectives, createElementVNode, normalizeClass, normalizeStyle, withModifiers, setBlockTracking, vShow, createCommentVNode, reactive, watchEffect, onMounted, mergeProps, renderSlot, renderList, createVNode } from \"vue\";\nimport { throttle, debounce, clamp } from \"lodash-es\";\nvar thumb_vue_vue_type_style_index_0_lang = \"\";\nconst _hoisted_1 = [\"onPointerdown\"];\nconst __default__$1 = {\n name: \"ScrollbarThumb\"\n};\nfunction setup$1(__props, { expose }) {\n const props = __props;\n useCssVars((_ctx) => ({\n \"1fb98f78\": unref(computedThumbWidth)\n }));\n const computedThumbWidth = computed(() => {\n var _a;\n return `${(_a = props.thumbWidth) != null ? _a : 12}px`;\n });\n let autoHideTimer = null;\n let thumbEl = shallowRef(null);\n const pointerDownInfo = { pageX: 0, pageY: 0, scrollPos: 0 };\n let pointerId = null;\n const startAutoHideTimer = () => {\n autoHideTimer = setTimeout(() => {\n if (thumbEl.value)\n thumbEl.value.classList.remove(\"scrollbar__thumbPlaceholder--scrolling\");\n autoHideTimer = null;\n }, props.autoHideDelay);\n };\n const clearAutoHideTimer = () => {\n if (autoHideTimer !== null)\n clearTimeout(autoHideTimer);\n };\n onUnmounted(clearAutoHideTimer);\n const handlePointerMove = throttle((evt) => {\n evt.stopPropagation();\n evt.preventDefault();\n const moveDirection = props.type === \"horizontal\" ? \"pageX\" : \"pageY\";\n const moveDistance = (evt[moveDirection] - pointerDownInfo[moveDirection]) / props.scrollInfo.wrapperMainSize * props.scrollInfo.contentMainSize;\n props.wrapperEl.scrollTo({ [props.type === \"horizontal\" ? \"left\" : \"top\"]: pointerDownInfo.scrollPos + moveDistance, behavior: \"auto\" });\n }, 16);\n const handlePointerEnd = () => {\n startAutoHideTimer();\n thumbEl.value.removeEventListener(\"pointermove\", handlePointerMove);\n thumbEl.value.removeEventListener(\"pointerup\", handlePointerEnd);\n thumbEl.value.removeEventListener(\"pointercancel\", handlePointerEnd);\n thumbEl.value.removeEventListener(\"mousewheel\", handlePointerEnd);\n document.removeEventListener(\"mousewheel\", handlePointerEnd);\n if (typeof pointerId === \"number\")\n thumbEl.value.releasePointerCapture(pointerId);\n pointerId = null;\n };\n const handlePointerDown = (evt) => {\n if (evt.ctrlKey || evt.button !== 0)\n return;\n clearAutoHideTimer();\n pointerDownInfo.pageX = evt.pageX;\n pointerDownInfo.pageY = evt.pageY;\n pointerDownInfo.scrollPos = props.wrapperEl[props.type === \"horizontal\" ? \"scrollLeft\" : \"scrollTop\"];\n pointerId = evt == null ? void 0 : evt.pointerId;\n thumbEl.value.setPointerCapture(pointerId);\n thumbEl.value.addEventListener(\"pointermove\", handlePointerMove);\n thumbEl.value.addEventListener(\"pointerup\", handlePointerEnd);\n thumbEl.value.addEventListener(\"pointercancel\", handlePointerEnd);\n thumbEl.value.addEventListener(\"mousewheel\", handlePointerEnd, { passive: false });\n document.addEventListener(\"mousewheel\", handlePointerEnd, { passive: false });\n thumbEl.value.classList.add(\"scrollbar__thumbPlaceholder--scrolling\");\n };\n const autoHideAfterScroll = () => {\n clearAutoHideTimer();\n if (thumbEl.value)\n thumbEl.value.classList.add(\"scrollbar__thumbPlaceholder--scrolling\");\n startAutoHideTimer();\n };\n expose({\n autoHideAfterScroll\n });\n let isWrapperIntersecting = shallowRef(false);\n let isShepherdIntersecting = shallowRef(false);\n let shepherdEl = shallowRef(null);\n let shepherdIO = null;\n let wrapperIO = null;\n let shouldFixed = computed(() => props.fixedThumb && !isShepherdIntersecting.value);\n const shepherdIOCallback = ([entry]) => isShepherdIntersecting.value = entry.isIntersecting;\n const wrapperIOCallback = ([entry]) => isWrapperIntersecting.value = entry.isIntersecting;\n const clearIO = () => {\n if (shepherdIO) {\n shepherdIO.disconnect();\n shepherdIO = null;\n }\n if (wrapperIO) {\n wrapperIO.disconnect();\n wrapperIO = null;\n }\n };\n watch(() => [props.fixedThumb, props.wrapperEl], () => {\n if (!props.fixedThumb || !props.wrapperEl)\n return clearIO();\n clearIO();\n wrapperIO = new IntersectionObserver(wrapperIOCallback, { threshold: [0, 0.5] });\n wrapperIO.observe(props.wrapperEl);\n shepherdIO = new IntersectionObserver(shepherdIOCallback);\n shepherdIO.observe(shepherdEl.value);\n });\n onUnmounted(clearIO);\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(Fragment, null, [\n withDirectives(createElementVNode(\"div\", {\n class: normalizeClass([\n \"scrollbar__thumbPlaceholder\",\n `scrollbar__thumbPlaceholder--${__props.type}`,\n {\n [\"scrollbar__thumbPlaceholder--autoHide\"]: __props.autoHide,\n [\"scrollbar__thumbPlaceholder--autoExpand\"]: __props.autoExpand\n }\n ]),\n style: normalizeStyle({\n width: __props.type === \"horizontal\" ? `${__props.scrollInfo.thumbSize}px` : \"\",\n height: __props.type === \"vertical\" ? `${__props.scrollInfo.thumbSize}px` : \"\",\n position: !shouldFixed.value ? \"absolute\" : \"fixed\",\n [__props.type === \"vertical\" ? \"top\" : \"left\"]: !shouldFixed.value ? \"3px\" : `${__props.scrollInfo.boundaryDistance + 3}px`\n }),\n ref: (_value, _refs) => {\n _refs[\"thumbEl\"] = _value;\n thumbEl.value = _value;\n },\n onPointerdown: withModifiers(handlePointerDown, [\"stop\"])\n }, [\n _cache[0] || (setBlockTracking(-1), _cache[0] = createElementVNode(\"div\", {\n class: normalizeClass([\"scrollbar__thumb\", `scrollbar__thumb--${__props.type}`])\n }, null, 2), setBlockTracking(1), _cache[0])\n ], 46, _hoisted_1), [\n [vShow, Boolean(__props.scrollInfo.thumbSize) && (__props.fixedThumb ? isWrapperIntersecting.value : true)]\n ]),\n props.fixedThumb ? withDirectives((openBlock(), createElementBlock(\"div\", {\n key: 0,\n ref: (_value, _refs) => {\n _refs[\"shepherdEl\"] = _value;\n shepherdEl.value = _value;\n },\n class: normalizeClass([\"scrollbar__shepherd\", `scrollbar__shepherd--${__props.type}`])\n }, null, 2)), [\n [vShow, Boolean(__props.scrollInfo.thumbSize)]\n ]) : createCommentVNode(\"\", true)\n ], 64);\n };\n}\nconst _sfc_main$1 = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__$1), {\n props: {\n type: null,\n autoExpand: null,\n autoHide: null,\n autoHideDelay: null,\n fixedThumb: null,\n scrollInfo: null,\n thumbWidth: null,\n wrapperEl: null\n },\n setup: setup$1\n}));\nconst defaultOption = {\n wait: 333,\n type: \"debounce\"\n};\nfunction useMeasure(...args) {\n const hasParamRef = \"value\" in (args == null ? void 0 : args[0]);\n let option;\n if (hasParamRef)\n option = args == null ? void 0 : args[1];\n else\n option = args == null ? void 0 : args[0];\n const { wait, type, callback } = __spreadValues(__spreadValues({}, defaultOption), option);\n const targetRef = hasParamRef ? args[0] : shallowRef(null);\n const rect = reactive({ left: 0, top: 0, right: 0, bottom: 0, width: 0, height: 0, x: 0, y: 0 });\n const observerFunc = () => {\n const domRect = targetRef.value.getBoundingClientRect();\n rect.left = domRect.left;\n rect.top = domRect.top;\n rect.right = domRect.right;\n rect.bottom = domRect.bottom;\n rect.width = domRect.width;\n rect.height = domRect.height;\n rect.x = domRect.x;\n rect.y = domRect.y;\n callback == null ? void 0 : callback();\n };\n let execFunc = null;\n let ro = null;\n const clearRo = () => {\n if (execFunc)\n window.removeEventListener(\"resize\", execFunc);\n if (!ro)\n return;\n ro.disconnect();\n ro = null;\n };\n watchEffect(() => {\n if (!targetRef.value)\n return;\n clearRo();\n execFunc = observerFunc;\n if (type === \"throttle\" && wait >= 4)\n execFunc = throttle(execFunc, wait);\n else if (type === \"debounce\" && wait >= 4)\n execFunc = debounce(execFunc, wait);\n window.addEventListener(\"resize\", execFunc);\n ro = new ResizeObserver(execFunc);\n ro.observe(targetRef.value);\n });\n onUnmounted(clearRo);\n if (hasParamRef)\n return rect;\n return [targetRef, rect];\n}\nvar index_vue_vue_type_style_index_0_lang = \"\";\nconst __default__ = {\n name: \"CustomScrollbar\",\n inheritAttrs: false\n};\nfunction setup(__props, { expose, emit }) {\n const props = __props;\n const thumbs = {\n horizontal: { el: null, instance: null },\n vertical: { el: null, instance: null }\n };\n const setThumbsInstance = (instance, direction) => {\n if (!thumbs[direction].instance)\n thumbs[direction].instance = instance;\n };\n let wrapperEl = shallowRef(null);\n let contentEl = shallowRef(null);\n onMounted(() => {\n var _a;\n const childNodes = Array.from((_a = wrapperEl.value.parentElement) == null ? void 0 : _a.childNodes);\n for (const thumbType in thumbs) {\n thumbs[thumbType].el = childNodes.find((ele) => {\n var _a2;\n return (_a2 = ele == null ? void 0 : ele.classList) == null ? void 0 : _a2.contains(`scrollbar__thumbPlaceholder--${thumbType}`);\n });\n }\n });\n const wrapperRect = useMeasure(wrapperEl, { wait: props.throttleWait, type: props.throttleType, callback: updateMaxScrollDistance });\n const contentRect = useMeasure(contentEl, { wait: props.throttleWait, type: props.throttleType, callback: updateMaxScrollDistance });\n let nativeMaxScrollTop = shallowRef(0);\n let nativeMaxScrollLeft = shallowRef(0);\n function updateMaxScrollDistance() {\n nativeMaxScrollTop.value = Math.max(wrapperEl.value.scrollHeight - wrapperRect.height | 0, 0);\n nativeMaxScrollLeft.value = Math.max(wrapperEl.value.scrollWidth - wrapperRect.width | 0, 0);\n }\n let scrollWidthInfo = computed(() => {\n return {\n thumbSize: nativeMaxScrollLeft.value ? clamp(wrapperRect.width / wrapperEl.value.scrollWidth * wrapperRect.width, props.thumbMinSize > wrapperRect.width ? 48 : props.thumbMinSize, props.thumbMaxSize) : 0,\n contentMainSize: contentRect.width,\n wrapperMainSize: wrapperRect.width,\n boundaryDistance: Math.abs(wrapperRect.left)\n };\n });\n let scrollHeightInfo = computed(() => {\n return {\n thumbSize: nativeMaxScrollTop.value ? clamp(wrapperRect.height / wrapperEl.value.scrollHeight * wrapperRect.height, props.thumbMinSize > wrapperRect.height ? 48 : props.thumbMinSize, props.thumbMaxSize) : 0,\n contentMainSize: contentRect.height,\n wrapperMainSize: wrapperRect.height,\n boundaryDistance: Math.abs(wrapperRect.top)\n };\n });\n let maxScrollTop = computed(() => wrapperRect.height - scrollHeightInfo.value.thumbSize - 5);\n let maxScrollLeft = computed(() => wrapperRect.width - scrollWidthInfo.value.thumbSize - 5);\n const handleNativeScroll = () => {\n if (nativeMaxScrollLeft.value) {\n thumbs.horizontal.el.style.transform = `translate3d(${wrapperEl.value.scrollLeft / nativeMaxScrollLeft.value * maxScrollLeft.value}px, 0, 0)`;\n thumbs.horizontal.instance.autoHideAfterScroll();\n }\n if (nativeMaxScrollTop.value) {\n thumbs.vertical.el.style.transform = `translate3d(0, ${wrapperEl.value.scrollTop / nativeMaxScrollTop.value * maxScrollTop.value}px, 0)`;\n thumbs.vertical.instance.autoHideAfterScroll();\n }\n };\n watch(() => [nativeMaxScrollLeft.value, nativeMaxScrollTop.value], handleNativeScroll);\n const handleSimulateScroll = (evt) => {\n evt.stopPropagation();\n const preScrollLeft = wrapperEl.value.scrollLeft;\n const preScrollTop = wrapperEl.value.scrollTop;\n const newScrollLeft = clamp(preScrollLeft + ((evt == null ? void 0 : evt.deltaX) || 0), 0, nativeMaxScrollLeft.value) | 0;\n const newScrollTop = clamp(preScrollTop + ((evt == null ? void 0 : evt.deltaY) || 0), 0, nativeMaxScrollTop.value) | 0;\n wrapperEl.value.scrollLeft = newScrollLeft;\n wrapperEl.value.scrollTop = newScrollTop;\n if (nativeMaxScrollLeft.value) {\n thumbs.horizontal.el.style.transform = `translate3d(${newScrollLeft / nativeMaxScrollLeft.value * maxScrollLeft.value}px, 0, 0)`;\n thumbs.horizontal.instance.autoHideAfterScroll();\n }\n if (nativeMaxScrollTop.value) {\n thumbs.vertical.el.style.transform = `translate3d(0, ${newScrollTop / nativeMaxScrollTop.value * maxScrollTop.value}px, 0)`;\n thumbs.vertical.instance.autoHideAfterScroll();\n }\n emit(\"scroll\", { target: wrapperEl.value, scrollLeft: newScrollLeft, scrollTop: newScrollTop });\n };\n const handleScroll = (evt) => {\n if (props.simulateScroll)\n handleSimulateScroll(evt);\n else\n handleNativeScroll();\n };\n watch(wrapperRect, () => emit(\"wrapperResize\", wrapperRect));\n watch(contentRect, () => emit(\"contentResize\", contentRect));\n expose({\n scrollEl: wrapperEl\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"scrollbar__wrapper\", __props.wrapperClass]),\n style: normalizeStyle(__props.wrapperStyle)\n }, [\n createElementVNode(\"div\", mergeProps({\n ref: (_value, _refs) => {\n _refs[\"wrapperEl\"] = _value;\n wrapperEl.value = _value;\n },\n class: \"scrollbar__scroller\"\n }, _ctx.$attrs, {\n onWheel: handleScroll,\n onScroll: handleScroll\n }), [\n createElementVNode(\"div\", {\n ref: (_value, _refs) => {\n _refs[\"contentEl\"] = _value;\n contentEl.value = _value;\n },\n class: normalizeClass([\"scrollbar__content\", __props.contentClass, { [\"scrollbar__content--fixedThumb\"]: __props.fixedThumb, [`scrollbar__content--${__props.direction}`]: __props.direction }]),\n style: normalizeStyle(__props.contentStyle)\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 6)\n ], 16),\n (openBlock(), createElementBlock(Fragment, null, renderList(thumbs, (_, thumbType) => {\n return createVNode(_sfc_main$1, {\n ref: (instance) => setThumbsInstance(instance, thumbType),\n key: thumbType,\n autoExpand: __props.autoExpand,\n autoHide: __props.autoHide,\n autoHideDelay: __props.autoHideDelay,\n fixedThumb: thumbType === __props.direction ? false : __props.fixedThumb,\n type: thumbType,\n scrollInfo: thumbType === \"vertical\" ? scrollHeightInfo.value : scrollWidthInfo.value,\n thumbWidth: __props.thumbWidth,\n wrapperEl: wrapperEl.value\n }, null, 8, [\"autoExpand\", \"autoHide\", \"autoHideDelay\", \"fixedThumb\", \"type\", \"scrollInfo\", \"thumbWidth\", \"wrapperEl\"]);\n }), 64))\n ], 6);\n };\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__), {\n props: {\n wrapperClass: null,\n wrapperStyle: null,\n contentClass: null,\n contentStyle: null,\n direction: { default: \"vertical\" },\n thumbMinSize: { default: 48 },\n thumbMaxSize: { default: Infinity },\n thumbWidth: { default: 12 },\n autoHide: { default: true },\n autoHideDelay: { default: 900 },\n autoExpand: { default: true },\n fixedThumb: null,\n throttleType: { default: \"debounce\" },\n throttleWait: { default: 333 },\n simulateScroll: null\n },\n emits: [\"wrapperResize\", \"contentResize\", \"scroll\"],\n setup\n}));\nexport { _sfc_main as default };\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","enum TattleDateRangeType {\n Past7Days = 7,\n Past30Days = 30,\n Past90Days = 90,\n PastYear = 365,\n Custom = -1\n }\n \n export default TattleDateRangeType\n ","import { defineStore } from 'pinia'\nimport type { FilterBarParams } from '../models/FilterBar'\n\nexport const useFilterBarStore = defineStore({\n id: 'filterBar',\n state: () => ({\n filterBar: null\n }),\n actions: {\n set(filterBarParams: FilterBarParams) {\n this.filterBar = filterBarParams\n },\n get(): FilterBarParams | null {\n return this.filterBar\n },\n reset() {\n this.filterBar = null\n }\n }\n})\n","import TattleDateRangeType from '@/enum/TattleDateRangeType'\nimport type { FilterBarParams } from '@/models/FilterBar'\nimport { SnapshotType } from '@/models/SocialMedia'\nimport { useFilterBarStore } from '@/store/filter'\n\nexport function useFilterBar() {\n const tattleDateRangeTypeToSnapshotTypeMap = {\n [TattleDateRangeType.Past7Days]: SnapshotType.Last7Days,\n [TattleDateRangeType.Past30Days]: SnapshotType.Last30Days,\n [TattleDateRangeType.Past90Days]: SnapshotType.Last90Days,\n [TattleDateRangeType.PastYear]: SnapshotType.Custom,\n [TattleDateRangeType.Custom]: SnapshotType.Custom \n }\n \n const snapshotTypeToTattleDateRangeTypeMap = {\n [SnapshotType.Last7Days]: TattleDateRangeType.Past7Days,\n [SnapshotType.Last30Days]: TattleDateRangeType.Past30Days,\n [SnapshotType.Last90Days]: TattleDateRangeType.Past90Days,\n [SnapshotType.Last6Months]: TattleDateRangeType.Custom,\n [SnapshotType.AllTime]: TattleDateRangeType.Custom,\n [SnapshotType.Custom]: TattleDateRangeType.Custom\n }\n\n const Empty = (): FilterBarParams => {\n return {\n groupIds: [],\n locationIds: [],\n providerIds: [],\n tagIds: [],\n startDate: '',\n endDate: '',\n snapshot: 2,\n startRating: 1,\n endRating: 5,\n responseStatus: [],\n questionnaireIds: [],\n mentionedUsersIds: [],\n readUnreadFilter: ''\n }\n }\n\n const toTattleDateRangeType = (input: number | boolean) : TattleDateRangeType | undefined =>\n {\n const value: number = Number(input)\n if (!Number.isNaN(value) && Object.values(TattleDateRangeType).includes(value)){\n return value as any as TattleDateRangeType \n }\n return undefined \n }\n\n const toSnapshotType = (input: number | boolean) : SnapshotType | undefined => {\n const value: number = Number(input)\n if (!Number.isNaN(value) && Object.values(SnapshotType).includes(value)){\n return value as any as SnapshotType \n }\n return undefined \n }\n\n const calculateSnapshotType = (input: number | boolean) : number | boolean => {\n const snapShot: SnapshotType | undefined = toSnapshotType(input) \n if (snapShot === undefined){\n const tattleDateRange: TattleDateRangeType | undefined = toTattleDateRangeType(input)\n return (tattleDateRange !== undefined) ? tattleDateRangeTypeToSnapshotTypeMap[tattleDateRange] : false\n } \n return snapShot\n }\n\n const calculateDateRangeType = (input: number | boolean) : number | boolean => {\n const tattleDateRange: TattleDateRangeType | undefined = toTattleDateRangeType(input)\n if (tattleDateRange === undefined){\n const snapShot: SnapshotType | undefined = toSnapshotType(input) \n return (snapShot !== undefined) ? snapshotTypeToTattleDateRangeTypeMap[snapShot] : false\n } \n return tattleDateRange\n }\n\n const getStore = () : FilterBarParams | null => useFilterBarStore().get()\n const setStore = (filterBarParams: FilterBarParams) : void => useFilterBarStore().set(filterBarParams)\n const resetStore = () : void => useFilterBarStore().reset()\n\n return { \n tattleDateRangeTypeToSnapshotTypeMap,\n snapshotTypeToTattleDateRangeTypeMap,\n Empty, \n toSnapshotType, \n toTattleDateRangeType, \n calculateSnapshotType, \n calculateDateRangeType, \n getStore, \n setStore,\n resetStore\n }\n}","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","// /merchants/{MerchantId}/Metrics/item-revenue/time-series\n\nimport { v3 } from '@/http'\n\nexport function getItemRevenue(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Metrics/item-revenue/time-series`, data, axiosConfig)\n}\n\nexport function getItemSatisfaction(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Metrics/item-satisfaction/time-series`, data, axiosConfig)\n}\n\nexport function getItemSatisfactionByChannel(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Metrics/item-satisfaction/panel`, data, axiosConfig)\n}\n\nexport function getItemIncidentInvolvementRate(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Metrics/item-incident-involvement-rate/time-series`, data, axiosConfig)\n}\n\nexport function getOperationalCategoryRating(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Metrics/item-operational-category-rating/time-series`, data, axiosConfig)\n}\n","import { surveys } from '@/http'\n\nexport function getProducts(merchantId: number, axiosConfig = {}) {\n return surveys.get(`/product-catalog/${merchantId}`, axiosConfig)\n}\n\nexport function getProductById(merchantId: number, productId: number, axiosConfig = {}) {\n return surveys.get(`/product-catalog/${merchantId}?productId=${productId}`, axiosConfig)\n}\n","\n\n\n\n\n","export enum AutomationPageType{\n ResponseAutomation,\n OnlineReviewAutomation,\n AccountSetup\n}","import { defineStore } from 'pinia'\nimport { type IAutomationBase } from '@/models/Automation/IAutomationBase'\n\nexport const useAutomation = defineStore({\n id: 'automationApi',\n state: () => ({\n automations: [] as IAutomationBase[]\n }),\n actions: {\n set(automations: IAutomationBase[]) {\n this.automations = automations\n },\n get(): IAutomationBase[] {\n return this.automations\n },\n reset() {\n this.automations = []\n }\n }\n})","import { v3 } from '@/http'\n\nexport function getAllAutomations(merchantId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/automations`, axiosConfig)\n} \n\nexport function createAutomation(merchantId: number, payload: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/automations`, payload, axiosConfig)\n}\n\nexport function updateAutomation(merchantId: number, automationId: string, payload: any, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/automations/${automationId}`, payload, axiosConfig)\n}\n\nexport function deleteAutomation(merchantId: number, automationId: string, axiosConfig = {}) {\n return v3.delete(`/merchants/${merchantId}/automations/${automationId}`, axiosConfig)\n}","export enum AutomationType {\n TagNotification\n}\n","import type { AutomationType } from \"./Enums/AutomationType\"\nimport type { FrontEndAutomationType } from \"./Enums/FrontEndAutomationType\"\nimport type { IAutomationBase } from \"./IAutomationBase\"\n\nexport abstract class AutomationBase implements IAutomationBase {\n id: string\n merchantId: number\n type: AutomationType\n label: string\n active: boolean\n\n constructor(id: string, merchantId: number, type: AutomationType, label: string, active: boolean) {\n this.id = id\n this.merchantId = merchantId\n this.type = type\n this.label = label\n this.active = active\n }\n\n abstract FEAutomationType(): FrontEndAutomationType\n abstract details?: any\n}","export enum FrontEndAutomationType {\n None = \"\",\n ResponseTagNotification = \"ResponseTagNotification\",\n ReviewTagNotification = \"ReviewTagNotification\"\n}\n ","export enum TagNotificationSourceType {\n ResponseIncident = 'ResponseIncident',\n SocialMediaReview = 'SocialMediaReview'\n}","import { AutomationBase } from \"./AutomationBase\";\nimport { AutomationType } from \"./Enums/AutomationType\";\nimport { FrontEndAutomationType } from \"./Enums/FrontEndAutomationType\";\nimport { TagNotificationSourceType } from \"./Enums/TagNotificationSourceType\";\n\nclass TagNotification extends AutomationBase {\n details: TagNotificationDetails\n\n public FEAutomationType = (): FrontEndAutomationType => {\n switch (this.details.source) {\n case TagNotificationSourceType.ResponseIncident:\n return FrontEndAutomationType.ResponseTagNotification\n case TagNotificationSourceType.SocialMediaReview:\n return FrontEndAutomationType.ReviewTagNotification \n }\n }\n\n constructor(id: string, merchantId: number, label: string, active: boolean, details: TagNotificationDetails) {\n super(id, merchantId, AutomationType.TagNotification, label, active)\n this.details = details\n }\n}\n\nclass TagNotificationDetails {\n source: TagNotificationSourceType\n userIds: number[] = []\n emails: string[] = []\n tagIds?: number[] = []\n providerIds: number[] = []\n starRatings?: number[] = []\n\n constructor(source: TagNotificationSourceType, userIds: number[], emails: string[], tagIds: number[], providerIds: number[], starRatings?: number[]) {\n this.source = source\n this.userIds = userIds\n this.emails = emails\n this.tagIds = tagIds\n this.providerIds = providerIds\n this.starRatings = starRatings\n }\n}\n\nexport { TagNotification, TagNotificationDetails }\n","import { AutomationType } from \"@/models/Automation/Enums/AutomationType\"\nimport type { AutomationSourceType } from \"@/models/Automation/Enums/AutomationSourceType\"\nimport { TagNotificationSourceType } from \"@/models/Automation/Enums/TagNotificationSourceType\"\nimport { AutomationPageType } from '@/models/Automation/Enums/AutomationPageType'\nimport { FrontEndAutomationType } from '@/models/Automation/Enums/FrontEndAutomationType'\nimport { $t } from \"@/plugins/i18n\"\n\nconst AutomationTypeMap = {\n [AutomationType.TagNotification]: 'TagNotification'\n}\n\nconst AutomationTypeInverseMap: {[key: string]: AutomationType} = {\n TagNotification: AutomationType.TagNotification\n}\n\nconst FEAutomationTypeLabelMap: {[key in FrontEndAutomationType]: string} = {\n [FrontEndAutomationType.ResponseTagNotification]: 'Response Tag Notification',\n [FrontEndAutomationType.ReviewTagNotification]: 'Review Tag Notification',\n [FrontEndAutomationType.None]: ''\n}\n\nconst AutomationSourceTypeMap: {[key in TagNotificationSourceType]: string} = {\n [TagNotificationSourceType.ResponseIncident]: 'ResponseIncident',\n [TagNotificationSourceType.SocialMediaReview]: 'SocialMediaReview'\n}\n\nconst AutomationSourceTypeInverseMap: {[key: string]: AutomationSourceType} = {\n ResponseIncident: TagNotificationSourceType.ResponseIncident,\n SocialMediaReview: TagNotificationSourceType.SocialMediaReview\n}\n\nconst AutomationPromptOptionsMap: Record<\n AutomationPageType | 'default',\n { label: string; value: FrontEndAutomationType }[]\n> = {\n [AutomationPageType.ResponseAutomation]: [\n { label: $t('app.automation.createAutomation.responseTagNotification'), value: FrontEndAutomationType.ResponseTagNotification }\n ],\n [AutomationPageType.OnlineReviewAutomation]: [\n { label: $t('app.automation.createAutomation.reviewTagNotification'), value: FrontEndAutomationType.ReviewTagNotification }\n ],\n [AutomationPageType.AccountSetup]: [\n { label: $t('app.automation.createAutomation.responseTagNotification'), value: FrontEndAutomationType.ResponseTagNotification },\n { label: $t('app.automation.createAutomation.reviewTagNotification'), value: FrontEndAutomationType.ReviewTagNotification }\n ],\n default: []\n}\n\nexport { AutomationTypeMap, AutomationTypeInverseMap, FEAutomationTypeLabelMap, AutomationSourceTypeMap, AutomationSourceTypeInverseMap, AutomationPromptOptionsMap }\n","import { AutomationType } from '@/models/Automation/Enums/AutomationType'\nimport type { IAutomationBase } from '@/models/Automation/IAutomationBase'\nimport { TagNotification, TagNotificationDetails } from '@/models/Automation/TagNotification'\nimport { AutomationTypeInverseMap, AutomationSourceTypeInverseMap } from './Constants'\n\nexport function instantiateAutomation(automation: any): IAutomationBase {\n switch (AutomationTypeInverseMap[automation.type]) {\n case AutomationType.TagNotification:\n return new TagNotification(\n automation.id,\n automation.merchantId,\n automation.label,\n automation.active,\n new TagNotificationDetails(\n AutomationSourceTypeInverseMap[automation.details.source],\n automation.details.userIds,\n automation.details.emails,\n automation.details.tagIds,\n automation.details.providerIds,\n automation.details.starRatings\n )\n );\n default:\n throw new Error(`Unknown automation type: ${automation.type}`)\n }\n}","import { type IAutomationBase } from \"@/models/Automation/IAutomationBase\"\nimport { AutomationPageType } from \"@/models/Automation/Enums/AutomationPageType\"\nimport { useAutomation } from \"@/store/Automation/api\"\nimport * as automationsApi from \"@/api/Automation\"\nimport { useMerchantId } from '@/store/merchant'\nimport { instantiateAutomation } from '@/composables/Automation/MappingExtensions'\nimport { FrontEndAutomationType } from \"@/models/Automation/Enums/FrontEndAutomationType\"\n\nexport function useAutomations() {\n\n const getAutomations = async (): Promise => {\n const automationStore = useAutomation()\n let automations = automationStore.get()\n if (!Array.isArray(automations) || !automations.length) {\n automations = await getAutomationsFromApi()\n automationStore.set(automations)\n }\n return automations\n }\n\n const filterAutomations = async (pageType: AutomationPageType): Promise => {\n let automations = await getAutomations()\n switch (pageType) {\n case AutomationPageType.ResponseAutomation:\n return filterAutomationsByFrontEndType(automations, [FrontEndAutomationType.ResponseTagNotification])\n case AutomationPageType.OnlineReviewAutomation:\n return filterAutomationsByFrontEndType(automations, [FrontEndAutomationType.ReviewTagNotification])\n case AutomationPageType.AccountSetup:\n return automations\n default:\n return []\n }\n }\n\n const createAutomation = async (automation: IAutomationBase): Promise => {\n const automationStore = useAutomation()\n let automations = await getAutomations()\n const createdId = await createAutomationToApi(automation)\n automation.id = createdId\n automations.push(automation)\n automationStore.set(automations)\n }\n\n const updateAutomation = async (automation: IAutomationBase): Promise => {\n const automationStore = useAutomation()\n let automations = await getAutomations()\n await updateAutomationToApi(automation)\n const index = automations.findIndex((a: IAutomationBase) => a.id === automation.id)\n automations[index] = automation\n automationStore.set(automations)\n }\n\n const deleteAutomation = async (automationId: string): Promise => {\n const automationStore = useAutomation()\n let automations = await getAutomations()\n await deleteAutomationFromApi(automationId)\n const index = automations.findIndex((a: IAutomationBase) => a.id === automationId)\n automations.splice(index, 1)\n automationStore.set(automations)\n }\n\n return {\n getAutomations,\n filterAutomations,\n createAutomation,\n updateAutomation,\n deleteAutomation\n }\n}\n\nconst getAutomationsFromApi = async (): Promise => {\n const merchantStore = useMerchantId()\n const merchantId = merchantStore.merchantId\n const response = await automationsApi.getAllAutomations(merchantId)\n return response.data.map(instantiateAutomation)\n}\n\nconst createAutomationToApi = async (automation: IAutomationBase): Promise => {\n const merchantStore = useMerchantId()\n const merchantId = merchantStore.merchantId\n const response = await automationsApi.createAutomation(merchantId, automation)\n return response.data.id\n}\n\nconst updateAutomationToApi = async (automation: IAutomationBase) => {\n const merchantStore = useMerchantId()\n const merchantId = merchantStore.merchantId\n await automationsApi.updateAutomation(merchantId, automation.id, automation)\n}\n\nconst deleteAutomationFromApi = async (automationId: string) => {\n const merchantStore = useMerchantId()\n const merchantId = merchantStore.merchantId\n await automationsApi.deleteAutomation(merchantId, automationId)\n}\n\nconst filterAutomationsByFrontEndType = (automations: IAutomationBase[], frontEndAutomationTypeList: Array): IAutomationBase[] => {\n return automations.filter((automation: IAutomationBase) => {\n return frontEndAutomationTypeList.includes(automation.FEAutomationType())\n })\n}","\n\n\n\n","enum StepState {\n Incomplete,\n Inactive,\n Active,\n Complete\n}\n\nexport default StepState\n","enum StepVariant {\n Trigger,\n Condition,\n Action\n}\n \nexport default StepVariant\n","import StepVariant from \"@/enum/StepVariant\"\nimport type { StepDataFormatter } from \"../Data/StepDataFormatter\"\nimport { mdiPlayCircle, mdiPlusThick } from \"@mdi/js\"\nimport { $t } from \"@/plugins/i18n\"\nimport { type Component } from \"vue\"\nimport type { WizardStep } from \"../WizardStep\"\n\ninterface CreateStepProps {\n variant: StepVariant\n name: string\n order: number\n component: Component\n formatter: StepDataFormatter\n}\n\nexport const automationStepStates = {\n [StepVariant.Trigger]: {\n title: $t('app.automation.wizardStep.trigger.title'),\n description: $t('app.automation.wizardStep.trigger.description'),\n icon: mdiPlayCircle,\n },\n [StepVariant.Condition]: {\n title: $t('app.automation.wizardStep.condition.title'),\n description: $t('app.automation.wizardStep.condition.description'),\n icon: mdiPlusThick,\n },\n [StepVariant.Action]: {\n title: $t('app.automation.wizardStep.action.title'),\n description: $t('app.automation.wizardStep.action.description'),\n icon: mdiPlusThick,\n }\n}\n\nexport const createStep = (props: CreateStepProps): WizardStep => {\n return {\n variant: props.variant,\n title: automationStepStates[props.variant]?.title,\n description: automationStepStates[props.variant]?.description,\n name: props.name,\n isActive: false,\n order: props.order,\n component: props.component,\n formatter: props.formatter\n }\n}","\n\n\n\n\n\n","import { $t } from '@/plugins/i18n'\nimport type { EntityData } from '@/models/Automation'\nimport type { Tag } from '@/models/Tag'\nimport type { SocialMediaProvider } from '@/models/SocialMedia'\nimport { FrontEndAutomationType } from '@/models/Automation/Enums/FrontEndAutomationType'\nimport type { User } from '@/models/User'\nimport type { WizardStep } from '../WizardStep'\nimport type { AutomationWizardStepData } from '@/models/Automation/WizardStepData'\n\nexport interface StepDataFormatter {\n formatTitle(data: T, step: WizardStep, entity: EntityData): string;\n formatDescription(data: T, step: WizardStep, entity: EntityData): string;\n getStatus?(data: T): boolean;\n}\n\nfunction formatListWithEllipsis(items: (string | undefined)[], maxLength: number): string {\n let text = \"\";\n items = items.filter(item => item != undefined)\n for (let i = 0; i < items.length; i++) {\n let nextPart = (i === 0 ? \"\" : \", \") + items[i];\n if (text.length + nextPart.length > maxLength) {\n let hiddenCount = items.length - i;\n return `${text}... +${hiddenCount}`;\n }\n text += nextPart;\n }\n return text;\n}\n\nexport const choosePromptFormatter: StepDataFormatter = {\n formatTitle(data, step, entity) {\n return data.automationName || step.title;\n },\n formatDescription(data, step, entity) {\n if (data.promptType === FrontEndAutomationType.ReviewTagNotification) {\n return $t('app.automation.wizardStep.triggerType', {\n prompt: $t('app.automation.createAutomation.reviewTagNotification'),\n });\n }\n else if(data.promptType === FrontEndAutomationType.ResponseTagNotification){\n return $t('app.automation.wizardStep.triggerType', {\n prompt: $t('app.automation.createAutomation.responseTagNotification'),\n });\n }\n return step.description\n },\n getStatus(data) {\n return !!data.active;\n },\n};\nexport const chooseTagFormatter: StepDataFormatter = {\n formatTitle(data, step, entity) {\n if (!data.tags?.length) {\n return step.title;\n }\n const tagLabels = (data.tags as number[]).map((tagId: number) => {\n const tag = entity.tags.find((t: Tag) => t.id === tagId);\n return tag ? tag.label : undefined;\n });\n\n const formattedTags = formatListWithEllipsis(tagLabels, 25);\n return $t('app.automation.wizardStep.chosenTag', { tag: formattedTags });\n },\n formatDescription(data, step, entity) {\n return data.tags?.length ? '' : step.description;\n },\n};\n\nexport const chooseProvidersFormatter: StepDataFormatter = {\n formatTitle(data, step, entity) {\n if (!data.providers?.length) {\n return step.title;\n }\n const providersLabels = (data.providers as number[]).map((providerId: number) => {\n const provider = entity.providers.find((p: SocialMediaProvider) => p.id === providerId);\n return provider ? provider.description : undefined;\n });\n\n const formattedProviders = formatListWithEllipsis(providersLabels, 25);\n return $t('app.automation.wizardStep.providersLabel', { providers: formattedProviders });\n },\n formatDescription(data, step, entity) {\n return data.providers?.length ? '' : step.description;\n },\n}\n\nexport const starRatingFormatter: StepDataFormatter = {\n formatTitle(data, step, entity) {\n if (!data.starRatings?.length) {\n return step.title;\n }\n const sorted = [...data.starRatings].sort((a, b) => a - b);\n\n if (sorted.length === 5 && sorted.every((val, idx) => val === idx + 1)) {\n return $t('app.automation.wizardStep.addStarRating', { stars: 'All Stars' });\n }\n\n if (sorted.length === 1) {\n return $t('app.automation.wizardStep.addStarRating', { stars: `${sorted[0]}-Star` });\n }\n\n const isConsecutive = sorted.every((star, idx) => idx === 0 || star - sorted[idx - 1] === 1);\n if (isConsecutive) {\n return $t('app.automation.wizardStep.addStarRating', {\n stars: `${sorted[0]}-Star to ${sorted[sorted.length - 1]}-Star`\n });\n }\n\n const starList = sorted.map(s => `${s}-Star`).join(', ');\n return $t('app.automation.wizardStep.addStarRating', { stars: starList });\n },\n formatDescription(data, step, entity) {\n return data.starRatings?.length ? '' : step.description;\n },\n};\n\nexport const addUsersFormatter: StepDataFormatter = {\n formatTitle(data, step, entity) {\n return data.users?.length ? $t('app.automation.wizardStep.usersAlert') : step.title;\n },\n\n formatDescription(data, step, entity) {\n if (!data || (!data.users?.length && !data.emails?.length)) {\n return step.description;\n }\n\n const userDescriptions = (data.users as number[]).map((userId: number) => {\n const user = entity.users.find((u: User) => u.id === userId);\n return user ? `${user.first} ${user.last}` : '';\n });\n\n const emailDescriptions = data.emails?.length ? data.emails : [];\n\n const combinedDescriptions = [...userDescriptions, ...emailDescriptions];\n\n const formattedDescription = formatListWithEllipsis(combinedDescriptions, 40);\n\n return `${formattedDescription}`;\n },\n};\n","export enum AddStarRating {\n oneStar = 1,\n twoStars = 2,\n threeStars = 3,\n fourStars = 4,\n fiveStars = 5\n}\n","\n\n\n\n","\n\n\n\n\n\n","\n\n\n","import { isReactive, isReadonly, computed, unref, ref, watch, isRef, reactive, nextTick, inject, provide, getCurrentInstance, onBeforeMount, onBeforeUnmount } from 'vue-demi';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction unwrapObj(obj) {\n let ignoreKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return Object.keys(obj).reduce((o, k) => {\n if (ignoreKeys.includes(k)) return o;\n o[k] = unref(obj[k]);\n return o;\n }, {});\n}\nfunction isFunction(val) {\n return typeof val === 'function';\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction get(obj, stringPath, def) {\n let current = obj;\n const path = stringPath.split('.');\n\n for (let i = 0; i < path.length; i++) {\n if (!current[path[i]]) return def;\n current = current[path[i]];\n }\n\n return current;\n}\nfunction gatherBooleanGroupProperties(group, nestedResults, property) {\n return computed(() => {\n return group.some(path => {\n return get(nestedResults, path, {\n [property]: false\n })[property];\n });\n });\n}\nfunction gatherArrayGroupProperties(group, nestedResults, property) {\n return computed(() => {\n return group.reduce((all, path) => {\n const fetchedProperty = get(nestedResults, path, {\n [property]: false\n })[property] || [];\n return all.concat(fetchedProperty);\n }, []);\n });\n}\n\nfunction callRule(rule, value, siblingState, instance) {\n return rule.call(instance, unref(value), unref(siblingState), instance);\n}\n\nfunction normalizeValidatorResponse(result) {\n return result.$valid !== undefined ? !result.$valid : !result;\n}\n\nfunction createAsyncResult(rule, model, $pending, $dirty, _ref, $response, instance) {\n let {\n $lazy,\n $rewardEarly\n } = _ref;\n let watchTargets = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : [];\n let siblingState = arguments.length > 8 ? arguments[8] : undefined;\n let $lastInvalidState = arguments.length > 9 ? arguments[9] : undefined;\n let $lastCommittedOn = arguments.length > 10 ? arguments[10] : undefined;\n const $invalid = ref(!!$dirty.value);\n const $pendingCounter = ref(0);\n $pending.value = false;\n const $unwatch = watch([model, $dirty].concat(watchTargets, $lastCommittedOn), () => {\n if ($lazy && !$dirty.value || $rewardEarly && !$lastInvalidState.value && !$pending.value) {\n return;\n }\n\n let ruleResult;\n\n try {\n ruleResult = callRule(rule, model, siblingState, instance);\n } catch (err) {\n ruleResult = Promise.reject(err);\n }\n\n $pendingCounter.value++;\n $pending.value = !!$pendingCounter.value;\n $invalid.value = false;\n Promise.resolve(ruleResult).then(data => {\n $pendingCounter.value--;\n $pending.value = !!$pendingCounter.value;\n $response.value = data;\n $invalid.value = normalizeValidatorResponse(data);\n }).catch(error => {\n $pendingCounter.value--;\n $pending.value = !!$pendingCounter.value;\n $response.value = error;\n $invalid.value = true;\n });\n }, {\n immediate: true,\n deep: typeof model === 'object'\n });\n return {\n $invalid,\n $unwatch\n };\n}\n\nfunction createSyncResult(rule, model, $dirty, _ref2, $response, instance, siblingState, $lastInvalidState) {\n let {\n $lazy,\n $rewardEarly\n } = _ref2;\n\n const $unwatch = () => ({});\n\n const $invalid = computed(() => {\n if ($lazy && !$dirty.value || $rewardEarly && !$lastInvalidState.value) {\n return false;\n }\n\n let returnValue = true;\n\n try {\n const result = callRule(rule, model, siblingState, instance);\n $response.value = result;\n returnValue = normalizeValidatorResponse(result);\n } catch (err) {\n $response.value = err;\n }\n\n return returnValue;\n });\n return {\n $unwatch,\n $invalid\n };\n}\n\nfunction createValidatorResult(rule, model, $dirty, config, instance, validatorName, propertyKey, propertyPath, siblingState, $lastInvalidState, $lastCommittedOn) {\n const $pending = ref(false);\n const $params = rule.$params || {};\n const $response = ref(null);\n let $invalid;\n let $unwatch;\n\n if (rule.$async) {\n ({\n $invalid,\n $unwatch\n } = createAsyncResult(rule.$validator, model, $pending, $dirty, config, $response, instance, rule.$watchTargets, siblingState, $lastInvalidState, $lastCommittedOn));\n } else {\n ({\n $invalid,\n $unwatch\n } = createSyncResult(rule.$validator, model, $dirty, config, $response, instance, siblingState, $lastInvalidState));\n }\n\n const message = rule.$message;\n const $message = isFunction(message) ? computed(() => message(unwrapObj({\n $pending,\n $invalid,\n $params: unwrapObj($params),\n $model: model,\n $response,\n $validator: validatorName,\n $propertyPath: propertyPath,\n $property: propertyKey\n }))) : message || '';\n return {\n $message,\n $params,\n $pending,\n $invalid,\n $response,\n $unwatch\n };\n}\n\nfunction sortValidations() {\n let validationsRaw = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const validations = unref(validationsRaw);\n const validationKeys = Object.keys(validations);\n const rules = {};\n const nestedValidators = {};\n const config = {};\n let validationGroups = null;\n validationKeys.forEach(key => {\n const v = validations[key];\n\n switch (true) {\n case isFunction(v.$validator):\n rules[key] = v;\n break;\n\n case isFunction(v):\n rules[key] = {\n $validator: v\n };\n break;\n\n case key === '$validationGroups':\n validationGroups = v;\n break;\n\n case key.startsWith('$'):\n config[key] = v;\n break;\n\n default:\n nestedValidators[key] = v;\n }\n });\n return {\n rules,\n nestedValidators,\n config,\n validationGroups\n };\n}\n\nconst ROOT_PATH = '__root';\n\nfunction createValidationResults(rules, model, key, resultsCache, path, config, instance, externalResults, siblingState) {\n const ruleKeys = Object.keys(rules);\n const cachedResult = resultsCache.get(path, rules);\n const $dirty = ref(false);\n const $lastInvalidState = ref(false);\n const $lastCommittedOn = ref(0);\n\n if (cachedResult) {\n if (!cachedResult.$partial) return cachedResult;\n cachedResult.$unwatch();\n $dirty.value = cachedResult.$dirty.value;\n }\n\n const result = {\n $dirty,\n $path: path,\n $touch: () => {\n if (!$dirty.value) $dirty.value = true;\n },\n $reset: () => {\n if ($dirty.value) $dirty.value = false;\n },\n $commit: () => {}\n };\n\n if (!ruleKeys.length) {\n cachedResult && resultsCache.set(path, rules, result);\n return result;\n }\n\n ruleKeys.forEach(ruleKey => {\n result[ruleKey] = createValidatorResult(rules[ruleKey], model, result.$dirty, config, instance, ruleKey, key, path, siblingState, $lastInvalidState, $lastCommittedOn);\n });\n result.$externalResults = computed(() => {\n if (!externalResults.value) return [];\n return [].concat(externalResults.value).map((stringError, index) => ({\n $propertyPath: path,\n $property: key,\n $validator: '$externalResults',\n $uid: `${path}-externalResult-${index}`,\n $message: stringError,\n $params: {},\n $response: null,\n $pending: false\n }));\n });\n result.$invalid = computed(() => {\n const r = ruleKeys.some(ruleKey => unref(result[ruleKey].$invalid));\n $lastInvalidState.value = r;\n return !!result.$externalResults.value.length || r;\n });\n result.$pending = computed(() => ruleKeys.some(ruleKey => unref(result[ruleKey].$pending)));\n result.$error = computed(() => result.$dirty.value ? result.$pending.value || result.$invalid.value : false);\n result.$silentErrors = computed(() => ruleKeys.filter(ruleKey => unref(result[ruleKey].$invalid)).map(ruleKey => {\n const res = result[ruleKey];\n return reactive({\n $propertyPath: path,\n $property: key,\n $validator: ruleKey,\n $uid: `${path}-${ruleKey}`,\n $message: res.$message,\n $params: res.$params,\n $response: res.$response,\n $pending: res.$pending\n });\n }).concat(result.$externalResults.value));\n result.$errors = computed(() => result.$dirty.value ? result.$silentErrors.value : []);\n\n result.$unwatch = () => ruleKeys.forEach(ruleKey => {\n result[ruleKey].$unwatch();\n });\n\n result.$commit = () => {\n $lastInvalidState.value = true;\n $lastCommittedOn.value = Date.now();\n };\n\n resultsCache.set(path, rules, result);\n return result;\n}\n\nfunction collectNestedValidationResults(validations, nestedState, path, resultsCache, config, instance, nestedExternalResults) {\n const nestedValidationKeys = Object.keys(validations);\n if (!nestedValidationKeys.length) return {};\n return nestedValidationKeys.reduce((results, nestedKey) => {\n results[nestedKey] = setValidations({\n validations: validations[nestedKey],\n state: nestedState,\n key: nestedKey,\n parentKey: path,\n resultsCache,\n globalConfig: config,\n instance,\n externalResults: nestedExternalResults\n });\n return results;\n }, {});\n}\n\nfunction createMetaFields(results, nestedResults, childResults) {\n const allResults = computed(() => [nestedResults, childResults].filter(res => res).reduce((allRes, res) => {\n return allRes.concat(Object.values(unref(res)));\n }, []));\n const $dirty = computed({\n get() {\n return results.$dirty.value || (allResults.value.length ? allResults.value.every(r => r.$dirty) : false);\n },\n\n set(v) {\n results.$dirty.value = v;\n }\n\n });\n const $silentErrors = computed(() => {\n const modelErrors = unref(results.$silentErrors) || [];\n const nestedErrors = allResults.value.filter(result => (unref(result).$silentErrors || []).length).reduce((errors, result) => {\n return errors.concat(...result.$silentErrors);\n }, []);\n return modelErrors.concat(nestedErrors);\n });\n const $errors = computed(() => {\n const modelErrors = unref(results.$errors) || [];\n const nestedErrors = allResults.value.filter(result => (unref(result).$errors || []).length).reduce((errors, result) => {\n return errors.concat(...result.$errors);\n }, []);\n return modelErrors.concat(nestedErrors);\n });\n const $invalid = computed(() => allResults.value.some(r => r.$invalid) || unref(results.$invalid) || false);\n const $pending = computed(() => allResults.value.some(r => unref(r.$pending)) || unref(results.$pending) || false);\n const $anyDirty = computed(() => allResults.value.some(r => r.$dirty) || allResults.value.some(r => r.$anyDirty) || $dirty.value);\n const $error = computed(() => $dirty.value ? $pending.value || $invalid.value : false);\n\n const $touch = () => {\n results.$touch();\n allResults.value.forEach(result => {\n result.$touch();\n });\n };\n\n const $commit = () => {\n results.$commit();\n allResults.value.forEach(result => {\n result.$commit();\n });\n };\n\n const $reset = () => {\n results.$reset();\n allResults.value.forEach(result => {\n result.$reset();\n });\n };\n\n if (allResults.value.length && allResults.value.every(nr => nr.$dirty)) $touch();\n return {\n $dirty,\n $errors,\n $invalid,\n $anyDirty,\n $error,\n $pending,\n $touch,\n $reset,\n $silentErrors,\n $commit\n };\n}\n\nfunction setValidations(_ref) {\n let {\n validations,\n state,\n key,\n parentKey,\n childResults,\n resultsCache,\n globalConfig = {},\n instance,\n externalResults\n } = _ref;\n const path = parentKey ? `${parentKey}.${key}` : key;\n const {\n rules,\n nestedValidators,\n config,\n validationGroups\n } = sortValidations(validations);\n\n const mergedConfig = _objectSpread2(_objectSpread2({}, globalConfig), config);\n\n const nestedState = key ? computed(() => {\n const s = unref(state);\n return s ? unref(s[key]) : undefined;\n }) : state;\n\n const cachedExternalResults = _objectSpread2({}, unref(externalResults) || {});\n\n const nestedExternalResults = computed(() => {\n const results = unref(externalResults);\n if (!key) return results;\n return results ? unref(results[key]) : undefined;\n });\n const results = createValidationResults(rules, nestedState, key, resultsCache, path, mergedConfig, instance, nestedExternalResults, state);\n const nestedResults = collectNestedValidationResults(nestedValidators, nestedState, path, resultsCache, mergedConfig, instance, nestedExternalResults);\n const $validationGroups = {};\n\n if (validationGroups) {\n Object.entries(validationGroups).forEach(_ref2 => {\n let [key, group] = _ref2;\n $validationGroups[key] = {\n $invalid: gatherBooleanGroupProperties(group, nestedResults, '$invalid'),\n $error: gatherBooleanGroupProperties(group, nestedResults, '$error'),\n $pending: gatherBooleanGroupProperties(group, nestedResults, '$pending'),\n $errors: gatherArrayGroupProperties(group, nestedResults, '$errors'),\n $silentErrors: gatherArrayGroupProperties(group, nestedResults, '$silentErrors')\n };\n });\n }\n\n const {\n $dirty,\n $errors,\n $invalid,\n $anyDirty,\n $error,\n $pending,\n $touch,\n $reset,\n $silentErrors,\n $commit\n } = createMetaFields(results, nestedResults, childResults);\n const $model = key ? computed({\n get: () => unref(nestedState),\n set: val => {\n $dirty.value = true;\n const s = unref(state);\n const external = unref(externalResults);\n\n if (external) {\n external[key] = cachedExternalResults[key];\n }\n\n if (isRef(s[key])) {\n s[key].value = val;\n } else {\n s[key] = val;\n }\n }\n }) : null;\n\n if (key && mergedConfig.$autoDirty) {\n watch(nestedState, () => {\n if (!$dirty.value) $touch();\n const external = unref(externalResults);\n\n if (external) {\n external[key] = cachedExternalResults[key];\n }\n }, {\n flush: 'sync'\n });\n }\n\n async function $validate() {\n $touch();\n\n if (mergedConfig.$rewardEarly) {\n $commit();\n await nextTick();\n }\n\n await nextTick();\n return new Promise(resolve => {\n if (!$pending.value) return resolve(!$invalid.value);\n const unwatch = watch($pending, () => {\n resolve(!$invalid.value);\n unwatch();\n });\n });\n }\n\n function $getResultsForChild(key) {\n return (childResults.value || {})[key];\n }\n\n function $clearExternalResults() {\n if (isRef(externalResults)) {\n externalResults.value = cachedExternalResults;\n } else {\n if (Object.keys(cachedExternalResults).length === 0) {\n Object.keys(externalResults).forEach(k => {\n delete externalResults[k];\n });\n } else {\n Object.assign(externalResults, cachedExternalResults);\n }\n }\n }\n\n return reactive(_objectSpread2(_objectSpread2(_objectSpread2({}, results), {}, {\n $model,\n $dirty,\n $error,\n $errors,\n $invalid,\n $anyDirty,\n $pending,\n $touch,\n $reset,\n $path: path || ROOT_PATH,\n $silentErrors,\n $validate,\n $commit\n }, childResults && {\n $getResultsForChild,\n $clearExternalResults,\n $validationGroups\n }), nestedResults));\n}\n\nclass ResultsStorage {\n constructor() {\n this.storage = new Map();\n }\n\n set(path, rules, result) {\n this.storage.set(path, {\n rules,\n result\n });\n }\n\n checkRulesValidity(path, rules, storedRules) {\n const storedRulesKeys = Object.keys(storedRules);\n const newRulesKeys = Object.keys(rules);\n if (newRulesKeys.length !== storedRulesKeys.length) return false;\n const hasAllValidators = newRulesKeys.every(ruleKey => storedRulesKeys.includes(ruleKey));\n if (!hasAllValidators) return false;\n return newRulesKeys.every(ruleKey => {\n if (!rules[ruleKey].$params) return true;\n return Object.keys(rules[ruleKey].$params).every(paramKey => {\n return unref(storedRules[ruleKey].$params[paramKey]) === unref(rules[ruleKey].$params[paramKey]);\n });\n });\n }\n\n get(path, rules) {\n const storedRuleResultPair = this.storage.get(path);\n if (!storedRuleResultPair) return undefined;\n const {\n rules: storedRules,\n result\n } = storedRuleResultPair;\n const isValidCache = this.checkRulesValidity(path, rules, storedRules);\n const $unwatch = result.$unwatch ? result.$unwatch : () => ({});\n if (!isValidCache) return {\n $dirty: result.$dirty,\n $partial: true,\n $unwatch\n };\n return result;\n }\n\n}\n\nconst CollectFlag = {\n COLLECT_ALL: true,\n COLLECT_NONE: false\n};\nconst VuelidateInjectChildResults = Symbol('vuelidate#injectChildResults');\nconst VuelidateRemoveChildResults = Symbol('vuelidate#removeChildResults');\nfunction nestedValidations(_ref) {\n let {\n $scope,\n instance\n } = _ref;\n const childResultsRaw = {};\n const childResultsKeys = ref([]);\n const childResults = computed(() => childResultsKeys.value.reduce((results, key) => {\n results[key] = unref(childResultsRaw[key]);\n return results;\n }, {}));\n\n function injectChildResultsIntoParent(results, _ref2) {\n let {\n $registerAs: key,\n $scope: childScope,\n $stopPropagation\n } = _ref2;\n if ($stopPropagation || $scope === CollectFlag.COLLECT_NONE || childScope === CollectFlag.COLLECT_NONE || $scope !== CollectFlag.COLLECT_ALL && $scope !== childScope) return;\n childResultsRaw[key] = results;\n childResultsKeys.value.push(key);\n }\n\n instance.__vuelidateInjectInstances = [].concat(instance.__vuelidateInjectInstances || [], injectChildResultsIntoParent);\n\n function removeChildResultsFromParent(key) {\n childResultsKeys.value = childResultsKeys.value.filter(childKey => childKey !== key);\n delete childResultsRaw[key];\n }\n\n instance.__vuelidateRemoveInstances = [].concat(instance.__vuelidateRemoveInstances || [], removeChildResultsFromParent);\n const sendValidationResultsToParent = inject(VuelidateInjectChildResults, []);\n provide(VuelidateInjectChildResults, instance.__vuelidateInjectInstances);\n const removeValidationResultsFromParent = inject(VuelidateRemoveChildResults, []);\n provide(VuelidateRemoveChildResults, instance.__vuelidateRemoveInstances);\n return {\n childResults,\n sendValidationResultsToParent,\n removeValidationResultsFromParent\n };\n}\n\nfunction ComputedProxyFactory(target) {\n return new Proxy(target, {\n get(target, prop) {\n return typeof target[prop] === 'object' ? ComputedProxyFactory(target[prop]) : computed(() => target[prop]);\n }\n\n });\n}\n\nlet uid = 0;\nfunction useVuelidate(validations, state) {\n var _getCurrentInstance;\n\n let globalConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (arguments.length === 1) {\n globalConfig = validations;\n validations = undefined;\n state = undefined;\n }\n\n let {\n $registerAs,\n $scope = CollectFlag.COLLECT_ALL,\n $stopPropagation,\n $externalResults,\n currentVueInstance\n } = globalConfig;\n const instance = currentVueInstance || ((_getCurrentInstance = getCurrentInstance()) === null || _getCurrentInstance === void 0 ? void 0 : _getCurrentInstance.proxy);\n const componentOptions = instance ? instance.$options : {};\n\n if (!$registerAs) {\n uid += 1;\n $registerAs = `_vuelidate_${uid}`;\n }\n\n const validationResults = ref({});\n const resultsCache = new ResultsStorage();\n const {\n childResults,\n sendValidationResultsToParent,\n removeValidationResultsFromParent\n } = instance ? nestedValidations({\n $scope,\n instance\n }) : {\n childResults: ref({})\n };\n\n if (!validations && componentOptions.validations) {\n const rules = componentOptions.validations;\n state = ref({});\n onBeforeMount(() => {\n state.value = instance;\n watch(() => isFunction(rules) ? rules.call(state.value, new ComputedProxyFactory(state.value)) : rules, validations => {\n validationResults.value = setValidations({\n validations,\n state,\n childResults,\n resultsCache,\n globalConfig,\n instance,\n externalResults: $externalResults || instance.vuelidateExternalResults\n });\n }, {\n immediate: true\n });\n });\n globalConfig = componentOptions.validationsConfig || globalConfig;\n } else {\n const validationsWatchTarget = isRef(validations) || isProxy(validations) ? validations : reactive(validations || {});\n watch(validationsWatchTarget, newValidationRules => {\n validationResults.value = setValidations({\n validations: newValidationRules,\n state,\n childResults,\n resultsCache,\n globalConfig,\n instance: instance !== null && instance !== void 0 ? instance : {},\n externalResults: $externalResults\n });\n }, {\n immediate: true\n });\n }\n\n if (instance) {\n sendValidationResultsToParent.forEach(f => f(validationResults, {\n $registerAs,\n $scope,\n $stopPropagation\n }));\n onBeforeUnmount(() => removeValidationResultsFromParent.forEach(f => f($registerAs)));\n }\n\n return computed(() => {\n return _objectSpread2(_objectSpread2({}, unref(validationResults.value)), childResults.value);\n });\n}\n\nexport { CollectFlag, useVuelidate as default, useVuelidate };\n","import { unref } from 'vue-demi';\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}\nfunction isObject(o) {\n return o !== null && typeof o === 'object' && !Array.isArray(o);\n}\nfunction normalizeValidatorObject(validator) {\n return isFunction(validator.$validator) ? _objectSpread2({}, validator) : {\n $validator: validator\n };\n}\nfunction isPromise(object) {\n return isObject(object) && isFunction(object.then);\n}\nfunction unwrapValidatorResponse(result) {\n if (typeof result === 'object') return result.$valid;\n return result;\n}\nfunction unwrapNormalizedValidator(validator) {\n return validator.$validator || validator;\n}\n\nfunction withParams($params, $validator) {\n if (!isObject($params)) throw new Error(`[@vuelidate/validators]: First parameter to \"withParams\" should be an object, provided ${typeof $params}`);\n if (!isObject($validator) && !isFunction($validator)) throw new Error(`[@vuelidate/validators]: Validator must be a function or object with $validator parameter`);\n const validatorObj = normalizeValidatorObject($validator);\n validatorObj.$params = _objectSpread2(_objectSpread2({}, validatorObj.$params || {}), $params);\n return validatorObj;\n}\n\nfunction withMessage($message, $validator) {\n if (!isFunction($message) && typeof unref($message) !== 'string') throw new Error(`[@vuelidate/validators]: First parameter to \"withMessage\" should be string or a function returning a string, provided ${typeof $message}`);\n if (!isObject($validator) && !isFunction($validator)) throw new Error(`[@vuelidate/validators]: Validator must be a function or object with $validator parameter`);\n const validatorObj = normalizeValidatorObject($validator);\n validatorObj.$message = $message;\n return validatorObj;\n}\n\nfunction withAsync($validator) {\n let $watchTargets = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n const validatorObj = normalizeValidatorObject($validator);\n return _objectSpread2(_objectSpread2({}, validatorObj), {}, {\n $async: true,\n $watchTargets\n });\n}\n\nfunction forEach(validators) {\n return {\n $validator(collection) {\n for (var _len = arguments.length, others = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n others[_key - 1] = arguments[_key];\n }\n\n return unref(collection).reduce((previous, collectionItem, index) => {\n const collectionEntryResult = Object.entries(collectionItem).reduce((all, _ref) => {\n let [property, $model] = _ref;\n const innerValidators = validators[property] || {};\n const propertyResult = Object.entries(innerValidators).reduce((all, _ref2) => {\n let [validatorName, currentValidator] = _ref2;\n const validatorFunction = unwrapNormalizedValidator(currentValidator);\n const $response = validatorFunction.call(this, $model, collectionItem, index, ...others);\n const $valid = unwrapValidatorResponse($response);\n all.$data[validatorName] = $response;\n all.$data.$invalid = !$valid || !!all.$data.$invalid;\n all.$data.$error = all.$data.$invalid;\n\n if (!$valid) {\n let $message = currentValidator.$message || '';\n const $params = currentValidator.$params || {};\n\n if (typeof $message === 'function') {\n $message = $message({\n $pending: false,\n $invalid: !$valid,\n $params,\n $model,\n $response\n });\n }\n\n all.$errors.push({\n $property: property,\n $message,\n $params,\n $response,\n $model,\n $pending: false,\n $validator: validatorName\n });\n }\n\n return {\n $valid: all.$valid && $valid,\n $data: all.$data,\n $errors: all.$errors\n };\n }, {\n $valid: true,\n $data: {},\n $errors: []\n });\n all.$data[property] = propertyResult.$data;\n all.$errors[property] = propertyResult.$errors;\n return {\n $valid: all.$valid && propertyResult.$valid,\n $data: all.$data,\n $errors: all.$errors\n };\n }, {\n $valid: true,\n $data: {},\n $errors: {}\n });\n return {\n $valid: previous.$valid && collectionEntryResult.$valid,\n $data: previous.$data.concat(collectionEntryResult.$data),\n $errors: previous.$errors.concat(collectionEntryResult.$errors)\n };\n }, {\n $valid: true,\n $data: [],\n $errors: []\n });\n },\n\n $message: _ref3 => {\n let {\n $response\n } = _ref3;\n return $response ? $response.$errors.map(context => {\n return Object.values(context).map(errors => errors.map(error => error.$message)).reduce((a, b) => a.concat(b), []);\n }) : [];\n }\n };\n}\n\nconst req = value => {\n value = unref(value);\n if (Array.isArray(value)) return !!value.length;\n\n if (value === undefined || value === null) {\n return false;\n }\n\n if (value === false) {\n return true;\n }\n\n if (value instanceof Date) {\n return !isNaN(value.getTime());\n }\n\n if (typeof value === 'object') {\n for (let _ in value) return true;\n\n return false;\n }\n\n return !!String(value).length;\n};\nconst len = value => {\n value = unref(value);\n if (Array.isArray(value)) return value.length;\n\n if (typeof value === 'object') {\n return Object.keys(value).length;\n }\n\n return String(value).length;\n};\nfunction regex() {\n for (var _len = arguments.length, expr = new Array(_len), _key = 0; _key < _len; _key++) {\n expr[_key] = arguments[_key];\n }\n\n return value => {\n value = unref(value);\n return !req(value) || expr.every(reg => {\n reg.lastIndex = 0;\n return reg.test(value);\n });\n };\n}\n\nvar common = /*#__PURE__*/Object.freeze({\n __proto__: null,\n forEach: forEach,\n len: len,\n normalizeValidatorObject: normalizeValidatorObject,\n regex: regex,\n req: req,\n unwrap: unref,\n unwrapNormalizedValidator: unwrapNormalizedValidator,\n unwrapValidatorResponse: unwrapValidatorResponse,\n withAsync: withAsync,\n withMessage: withMessage,\n withParams: withParams\n});\n\nvar alpha$1 = regex(/^[a-zA-Z]*$/);\n\nvar alpha = {\n $validator: alpha$1,\n $message: 'The value is not alphabetical',\n $params: {\n type: 'alpha'\n }\n};\n\nvar alphaNum$1 = regex(/^[a-zA-Z0-9]*$/);\n\nvar alphaNum = {\n $validator: alphaNum$1,\n $message: 'The value must be alpha-numeric',\n $params: {\n type: 'alphaNum'\n }\n};\n\nvar numeric$1 = regex(/^\\d*(\\.\\d+)?$/);\n\nvar numeric = {\n $validator: numeric$1,\n $message: 'Value must be numeric',\n $params: {\n type: 'numeric'\n }\n};\n\nfunction between$1 (min, max) {\n return value => !req(value) || (!/\\s/.test(value) || value instanceof Date) && +unref(min) <= +value && +unref(max) >= +value;\n}\n\nfunction between (min, max) {\n return {\n $validator: between$1(min, max),\n $message: _ref => {\n let {\n $params\n } = _ref;\n return `The value must be between ${$params.min} and ${$params.max}`;\n },\n $params: {\n min,\n max,\n type: 'between'\n }\n };\n}\n\nconst emailRegex = /^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])$/i;\nvar email$1 = regex(emailRegex);\n\nvar email = {\n $validator: email$1,\n $message: 'Value is not a valid email address',\n $params: {\n type: 'email'\n }\n};\n\nfunction ipAddress$1 (value) {\n if (!req(value)) {\n return true;\n }\n\n if (typeof value !== 'string') {\n return false;\n }\n\n const nibbles = value.split('.');\n return nibbles.length === 4 && nibbles.every(nibbleValid);\n}\n\nconst nibbleValid = nibble => {\n if (nibble.length > 3 || nibble.length === 0) {\n return false;\n }\n\n if (nibble[0] === '0' && nibble !== '0') {\n return false;\n }\n\n if (!nibble.match(/^\\d+$/)) {\n return false;\n }\n\n const numeric = +nibble | 0;\n return numeric >= 0 && numeric <= 255;\n};\n\nvar ipAddress = {\n $validator: ipAddress$1,\n $message: 'The value is not a valid IP address',\n $params: {\n type: 'ipAddress'\n }\n};\n\nfunction macAddress$1 () {\n let separator = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ':';\n return value => {\n separator = unref(separator);\n\n if (!req(value)) {\n return true;\n }\n\n if (typeof value !== 'string') {\n return false;\n }\n\n const parts = typeof separator === 'string' && separator !== '' ? value.split(separator) : value.length === 12 || value.length === 16 ? value.match(/.{2}/g) : null;\n return parts !== null && (parts.length === 6 || parts.length === 8) && parts.every(hexValid);\n };\n}\n\nconst hexValid = hex => hex.toLowerCase().match(/^[0-9a-f]{2}$/);\n\nfunction macAddress (separator) {\n return {\n $validator: macAddress$1(separator),\n $message: 'The value is not a valid MAC Address',\n $params: {\n type: 'macAddress'\n }\n };\n}\n\nfunction maxLength$1 (length) {\n return value => !req(value) || len(value) <= unref(length);\n}\n\nfunction maxLength (max) {\n return {\n $validator: maxLength$1(max),\n $message: _ref => {\n let {\n $params\n } = _ref;\n return `The maximum length allowed is ${$params.max}`;\n },\n $params: {\n max,\n type: 'maxLength'\n }\n };\n}\n\nfunction minLength$1 (length) {\n return value => !req(value) || len(value) >= unref(length);\n}\n\nfunction minLength (min) {\n return {\n $validator: minLength$1(min),\n $message: _ref => {\n let {\n $params\n } = _ref;\n return `This field should be at least ${$params.min} characters long`;\n },\n $params: {\n min,\n type: 'minLength'\n }\n };\n}\n\nfunction required$1 (value) {\n if (typeof value === 'string') {\n value = value.trim();\n }\n\n return req(value);\n}\n\nvar required = {\n $validator: required$1,\n $message: 'Value is required',\n $params: {\n type: 'required'\n }\n};\n\nconst validate$1 = (prop, val) => prop ? req(typeof val === 'string' ? val.trim() : val) : true;\n\nfunction requiredIf$1(propOrFunction) {\n return function (value, parentVM) {\n if (typeof propOrFunction !== 'function') {\n return validate$1(unref(propOrFunction), value);\n }\n\n const result = propOrFunction.call(this, value, parentVM);\n return validate$1(result, value);\n };\n}\n\nfunction requiredIf (prop) {\n return {\n $validator: requiredIf$1(prop),\n $message: 'The value is required',\n $params: {\n type: 'requiredIf',\n prop\n }\n };\n}\n\nconst validate = (prop, val) => !prop ? req(typeof val === 'string' ? val.trim() : val) : true;\n\nfunction requiredUnless$1(propOrFunction) {\n return function (value, parentVM) {\n if (typeof propOrFunction !== 'function') {\n return validate(unref(propOrFunction), value);\n }\n\n const result = propOrFunction.call(this, value, parentVM);\n return validate(result, value);\n };\n}\n\nfunction requiredUnless (prop) {\n return {\n $validator: requiredUnless$1(prop),\n $message: 'The value is required',\n $params: {\n type: 'requiredUnless',\n prop\n }\n };\n}\n\nfunction sameAs$1 (equalTo) {\n return value => unref(value) === unref(equalTo);\n}\n\nfunction sameAs (equalTo) {\n let otherName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'other';\n return {\n $validator: sameAs$1(equalTo),\n $message: _ref => {\n return `The value must be equal to the ${otherName} value`;\n },\n $params: {\n equalTo,\n otherName,\n type: 'sameAs'\n }\n };\n}\n\nconst urlRegex = /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\nvar url$1 = regex(urlRegex);\n\nvar url = {\n $validator: url$1,\n $message: 'The value is not a valid URL address',\n $params: {\n type: 'url'\n }\n};\n\nfunction syncOr(validators) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return validators.reduce((valid, fn) => {\n if (unwrapValidatorResponse(valid)) return valid;\n return unwrapNormalizedValidator(fn).apply(this, args);\n }, false);\n };\n}\n\nfunction asyncOr(validators) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return validators.reduce(async (valid, fn) => {\n const r = await valid;\n if (unwrapValidatorResponse(r)) return r;\n return unwrapNormalizedValidator(fn).apply(this, args);\n }, Promise.resolve(false));\n };\n}\n\nfunction or$1() {\n for (var _len3 = arguments.length, validators = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n validators[_key3] = arguments[_key3];\n }\n\n const $async = validators.some(v => v.$async);\n const $watchTargets = validators.reduce((all, v) => {\n if (!v.$watchTargets) return all;\n return all.concat(v.$watchTargets);\n }, []);\n\n let $validator = () => false;\n\n if (validators.length) $validator = $async ? asyncOr(validators) : syncOr(validators);\n return {\n $async,\n $validator,\n $watchTargets\n };\n}\n\nfunction or () {\n return withParams({\n type: 'or'\n }, withMessage('The value does not match any of the provided validators', or$1(...arguments)));\n}\n\nfunction syncAnd(validators) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return validators.reduce((valid, fn) => {\n if (!unwrapValidatorResponse(valid)) return valid;\n return unwrapNormalizedValidator(fn).apply(this, args);\n }, true);\n };\n}\n\nfunction asyncAnd(validators) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return validators.reduce(async (valid, fn) => {\n const r = await valid;\n if (!unwrapValidatorResponse(r)) return r;\n return unwrapNormalizedValidator(fn).apply(this, args);\n }, Promise.resolve(true));\n };\n}\n\nfunction and$1() {\n for (var _len3 = arguments.length, validators = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n validators[_key3] = arguments[_key3];\n }\n\n const $async = validators.some(v => v.$async);\n const $watchTargets = validators.reduce((all, v) => {\n if (!v.$watchTargets) return all;\n return all.concat(v.$watchTargets);\n }, []);\n\n let $validator = () => false;\n\n if (validators.length) $validator = $async ? asyncAnd(validators) : syncAnd(validators);\n return {\n $async,\n $validator,\n $watchTargets\n };\n}\n\nfunction and () {\n return withParams({\n type: 'and'\n }, withMessage('The value does not match all of the provided validators', and$1(...arguments)));\n}\n\nfunction not$1 (validator) {\n return function (value, vm) {\n if (!req(value)) return true;\n const response = unwrapNormalizedValidator(validator).call(this, value, vm);\n if (!isPromise(response)) return !unwrapValidatorResponse(response);\n return response.then(r => !unwrapValidatorResponse(r));\n };\n}\n\nfunction not (validator) {\n return {\n $validator: not$1(validator),\n $message: `The value does not match the provided validator`,\n $params: {\n type: 'not'\n }\n };\n}\n\nfunction minValue$1 (min) {\n return value => !req(value) || (!/\\s/.test(value) || value instanceof Date) && +value >= +unref(min);\n}\n\nfunction minValue (min) {\n return {\n $validator: minValue$1(min),\n $message: _ref => {\n let {\n $params\n } = _ref;\n return `The minimum value allowed is ${$params.min}`;\n },\n $params: {\n min,\n type: 'minValue'\n }\n };\n}\n\nfunction maxValue$1 (max) {\n return value => !req(value) || (!/\\s/.test(value) || value instanceof Date) && +value <= +unref(max);\n}\n\nvar maxValue = (max => ({\n $validator: maxValue$1(max),\n $message: _ref => {\n let {\n $params\n } = _ref;\n return `The maximum value allowed is ${$params.max}`;\n },\n $params: {\n max,\n type: 'maxValue'\n }\n}));\n\nvar integer$1 = regex(/(^[0-9]*$)|(^-[0-9]+$)/);\n\nvar integer = {\n $validator: integer$1,\n $message: 'Value is not an integer',\n $params: {\n type: 'integer'\n }\n};\n\nvar decimal$1 = regex(/^[-]?\\d*(\\.\\d+)?$/);\n\nvar decimal = {\n $validator: decimal$1,\n $message: 'Value must be decimal',\n $params: {\n type: 'decimal'\n }\n};\n\nfunction createI18nMessage(_ref) {\n let {\n t,\n messagePath = _ref2 => {\n let {\n $validator\n } = _ref2;\n return `validations.${$validator}`;\n },\n messageParams = params => params\n } = _ref;\n return function withI18nMessage(validator) {\n let {\n withArguments = false,\n messagePath: localMessagePath = messagePath,\n messageParams: localMessageParams = messageParams\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n function message(props) {\n return t(localMessagePath(props), localMessageParams(_objectSpread2({\n model: props.$model,\n property: props.$property,\n pending: props.$pending,\n invalid: props.$invalid,\n response: props.$response,\n validator: props.$validator,\n propertyPath: props.$propertyPath\n }, props.$params)));\n }\n\n if (withArguments && typeof validator === 'function') {\n return function () {\n return withMessage(message, validator(...arguments));\n };\n }\n\n return withMessage(message, validator);\n };\n}\n\nexport { alpha, alphaNum, and, between, createI18nMessage, decimal, email, common as helpers, integer, ipAddress, macAddress, maxLength, maxValue, minLength, minValue, not, numeric, or, required, requiredIf, requiredUnless, sameAs, url };\n","\n\n\n\n\n","import StepVariant from \"@/enum/StepVariant\"\nimport type { WizardStep } from \"../WizardStep\"\nimport { addUsersFormatter, choosePromptFormatter, chooseTagFormatter, starRatingFormatter } from \"../Data/StepDataFormatter\"\nimport { createStep } from \"./createStep\"\nimport AddStarRating from \"@/views/automation/modules/events/AddStarRating.vue\"\nimport AddTags from \"@/views/automation/modules/events/AddTags.vue\"\nimport AddUsers from \"@/views/automation/modules/events/AddUsers.vue\"\n\nexport const responseIncidentTagAutomationSteps: WizardStep[] = [\n createStep({\n variant: StepVariant.Condition,\n name: 'chooseTag',\n order: 1,\n component: AddTags,\n formatter: chooseTagFormatter,\n }),\n createStep({\n variant: StepVariant.Condition,\n name: 'starRating',\n order: 2,\n component: AddStarRating,\n formatter: starRatingFormatter,\n }),\n createStep({\n variant: StepVariant.Action,\n name: 'addUsers',\n order: 3,\n component: AddUsers,\n formatter: addUsersFormatter,\n })\n ]","\n\n\n","import StepVariant from \"@/enum/StepVariant\"\nimport type { WizardStep } from \"../WizardStep\"\nimport { addUsersFormatter, choosePromptFormatter, chooseProvidersFormatter, chooseTagFormatter, starRatingFormatter } from \"../Data/StepDataFormatter\"\nimport { createStep } from \"./createStep\"\nimport AddProviders from \"@/views/automation/modules/events/AddProviders.vue\"\nimport AddStarRating from \"@/views/automation/modules/events/AddStarRating.vue\"\nimport AddTags from \"@/views/automation/modules/events/AddTags.vue\"\nimport AddUsers from \"@/views/automation/modules/events/AddUsers.vue\"\n\nexport const onlineReviewTagAutomationSteps: WizardStep[] = [\n createStep({\n variant: StepVariant.Condition,\n name: 'chooseTag',\n order: 1,\n component: AddTags,\n formatter: chooseTagFormatter,\n }),\n createStep({\n variant: StepVariant.Condition,\n name: 'chooseProviders',\n order: 2,\n component: AddProviders,\n formatter: chooseProvidersFormatter,\n }),\n createStep({\n variant: StepVariant.Condition,\n name: 'starRating',\n order: 3,\n component: AddStarRating,\n formatter: starRatingFormatter,\n }),\n createStep({\n variant: StepVariant.Action,\n name: 'addUsers',\n order: 4,\n component: AddUsers,\n formatter: addUsersFormatter,\n })\n ];","\n\n\n\n","import StepVariant from \"@/enum/StepVariant\"\nimport type { WizardStep } from \"../WizardStep\"\nimport { createStep } from \"./createStep\"\nimport { choosePromptFormatter } from \"../Data/StepDataFormatter\"\nimport CreateAutomation from \"@/views/automation/modules/CreateAutomation.vue\"\n\nexport const newAutomationSteps: WizardStep[] = [\n createStep({\n variant: StepVariant.Trigger,\n name: 'choosePrompt',\n order: 0,\n component: CreateAutomation,\n formatter: choosePromptFormatter\n })\n]","import StepVariant from '@/enum/StepVariant'\nimport { type Component } from 'vue'\nimport StepState from '@/enum/StepState'\nimport type { StepDataFormatter } from '@/composables/Automation/Data/StepDataFormatter'\nimport { responseIncidentTagAutomationSteps } from './Steps/ResponseIncidentTagAutomationSteps'\nimport { onlineReviewTagAutomationSteps } from './Steps/OnlineReviewTagAutomationSteps'\nimport type { EntityData } from '@/models/Automation'\nimport { newAutomationSteps } from './Steps/NewAutomationSteps'\nimport { AutomationType } from '@/models/Automation/Enums/AutomationType'\nimport { FrontEndAutomationType } from '@/models/Automation/Enums/FrontEndAutomationType'\nimport type { AutomationWizardStepData } from '@/models/Automation/WizardStepData'\n\nexport interface WizardStep {\n variant: StepVariant\n title: string\n description: string\n name: string\n isActive: boolean\n order: number\n component: Component\n formatter: StepDataFormatter\n}\n\nexport interface StepInfo {\n title: string;\n description: string;\n status: StepState;\n}\n\nexport const automationStepsByType = Object.freeze({\n [FrontEndAutomationType.ReviewTagNotification]: onlineReviewTagAutomationSteps,\n [FrontEndAutomationType.ResponseTagNotification]: responseIncidentTagAutomationSteps\n});\n\nexport const getStepsByAutomationType = (automationType: AutomationType | null): WizardStep[] => {\n const baseSteps: WizardStep[] = [...newAutomationSteps];\n\n if (automationType) {\n const additionalSteps: WizardStep[] = automationStepsByType[automationType];\n if (additionalSteps) {\n baseSteps.push(...additionalSteps);\n }\n }\n\n return baseSteps;\n}\n\nexport function getStepInformation(step: WizardStep, data: AutomationWizardStepData, entity: EntityData): StepInfo {\n const isActive = step.formatter.getStatus?.(data) ?? false;\n return {\n title: step.formatter.formatTitle(data, step, entity),\n description: step.formatter.formatDescription(data, step, entity),\n status: isActive ? StepState.Active : StepState.Inactive,\n };\n}\n","\n\n\n","import type { MultiStep, Step } from '@/models/MultiStep'\nimport StepState from '@/enum/StepState'\n\nexport function useMultiStep() {\n const initializeMultiStep = (nubmerOfSteps: number): MultiStep => {\n const result: MultiStep = {\n totalSteps: nubmerOfSteps,\n currentStep: 0,\n steps: []\n }\n for (let i = 0; i < nubmerOfSteps; i++) {\n result.steps.push({\n index: i,\n state: i == 0 ? StepState.Active : StepState.Incomplete\n })\n }\n return result\n }\n\n const nextMultiStep = (steps: MultiStep) => {\n if (steps.currentStep < steps.totalSteps) {\n steps.steps[steps.currentStep].state = StepState.Complete\n steps.currentStep += 1\n if (steps.currentStep < steps.totalSteps) steps.steps[steps.currentStep].state = StepState.Active\n }\n }\n\n return { initializeMultiStep, nextMultiStep }\n}\n","import { TagNotification, TagNotificationDetails } from '@/models/Automation/TagNotification'\nimport { TagNotificationSourceType } from '@/models/Automation/Enums/TagNotificationSourceType'\nimport { FrontEndAutomationType } from '@/models/Automation/Enums/FrontEndAutomationType'\nimport { AutomationType } from '@/models/Automation/Enums/AutomationType'\nimport type { IAutomationBase } from '@/models/Automation/IAutomationBase'\nimport type { AutomationWizardStepData } from '@/models/Automation/WizardStepData'\n\nexport function mapAutomationDataToUpsertRequest(\n wizardData: Record,\n merchantId: number\n): IAutomationBase {\n const {\n addUsers,\n chooseTag,\n chooseProviders,\n starRating,\n choosePrompt,\n } = wizardData\n\n const promptType = choosePrompt?.promptType;\n const [type, sourceType] = FrontEndAutomationTypeToTypeAndSourceMap[promptType];\n\n const details = new TagNotificationDetails(\n sourceType,\n addUsers?.users ?? [],\n addUsers?.emails ?? [],\n chooseTag?.tags ?? [],\n chooseProviders?.providers ?? [],\n starRating?.starRatings ?? []\n )\n\n const tagNotification = new TagNotification(\n '',\n merchantId,\n choosePrompt?.automationName ?? '',\n choosePrompt?.active ?? false,\n details\n )\n\n return tagNotification\n}\n\nconst FrontEndAutomationTypeToTypeAndSourceMap: Record = {\n [FrontEndAutomationType.ReviewTagNotification]: [\n AutomationType.TagNotification,\n TagNotificationSourceType.SocialMediaReview\n ],\n [FrontEndAutomationType.ResponseTagNotification]: [\n AutomationType.TagNotification,\n TagNotificationSourceType.ResponseIncident\n ]\n}","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var 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 match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var 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\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\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 */\n function 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\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\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 */\n function 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\n /**\n * A specialized version of `_.forEachRight` 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 */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` 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 {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(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 false;\n }\n }\n return true;\n }\n\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 */\n function 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\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 */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * A specialized version of `_.reduce` 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 * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` 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 * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\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 */\n function 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\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\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 */\n function 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\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 */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\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 * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\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 */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` 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 {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\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 */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` 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 {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\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 */\n function 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\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\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 */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\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 */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\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 */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\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 */\n function 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\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 */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\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 */\n function 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\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\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 */\n function 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\n /**\n * A specialized version of `_.lastIndexOf` 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 */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\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 */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\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 */\n var 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\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function 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 /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\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 */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\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 */\n function 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\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 */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\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 */\n function 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\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function 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 /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\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 */\n function 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\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 */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\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 */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\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 */\n function 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\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\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 */\n function 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 /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\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 */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\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 */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\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 */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\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 */\n function 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\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\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 */\n function 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 /**\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 */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\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 */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\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 */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\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 */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\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 */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\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 */\n function stackHas(key) {\n return this.__data__.has(key);\n }\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 */\n function 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\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\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 */\n function 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\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\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 */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\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 */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\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 */\n function 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\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\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 */\n function 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 } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\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\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\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 */\n function 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\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 */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\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 */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\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 */\n function 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\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 */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\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 */\n function 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\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\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 */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\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 */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays 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 array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\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 */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\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 */\n function 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\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 */\n function 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\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 */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\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 */\n function 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\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 */\n function 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\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 */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\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 */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\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 */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\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 */\n function 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\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 */\n function 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\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 */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\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\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 */\n function 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\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\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 */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\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 */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\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 */\n function 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 (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\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\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\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 */\n var 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\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\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 */\n function 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\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection 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 */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * 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 * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\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 */\n function 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\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 */\n function 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\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 */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays 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 array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\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 */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\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 */\n function 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\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 */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\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 */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\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 */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\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 */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\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 */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\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 */\n function 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\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 */\n function 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\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 */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\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 */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\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 */\n function 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\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\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 */\n function 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\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\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 */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(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\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\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 */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\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 */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\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 */\n function 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 // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\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\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 */\n function 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\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 */\n function 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 // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\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\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 */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\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 */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\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 */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\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 */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\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 */\n function 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\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 */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\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 */\n function 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\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 */\n var 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\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 */\n var 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\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((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\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\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 */\n function 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\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 */\n function 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\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 */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\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 */\n function 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\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\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 */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\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 */\n function 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\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 */\n function 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\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 */\n function 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\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 */\n function 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\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\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 */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\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 */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\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 */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\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 */\n function 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\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 */\n function 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\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\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 */\n function 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\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 */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\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 */\n function 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\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 */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\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 */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\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 */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\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 */\n function 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\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\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 */\n var 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\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 */\n function 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\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 */\n function 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\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\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 (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\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 */\n function 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, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.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=array.length-1] 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': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\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 */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, 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 baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but 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 {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first 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} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\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 */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\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 */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\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] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. 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} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\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 */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\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 */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.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=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three 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 iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\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 */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\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 */\n function 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 clearTimeout(timerId);\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\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\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 */\n function 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`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\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 * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\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 */\n function 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\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\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 */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\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 */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\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 */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\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 */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` 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 an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\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 */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\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 */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or 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 boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\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 */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` 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 date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\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 DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\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 empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.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 * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\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 * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\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 an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\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 finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\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 */\n function 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\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\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 integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\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 */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\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 */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\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 */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\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 */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\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 `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\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 native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\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 `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\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 nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\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 number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\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 */\n function 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\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 */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\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 safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\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 */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\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 */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\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 */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` 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 weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` 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 weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.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 `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\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 */\n function 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\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 */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is 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 convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\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 */\n function 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 = baseTrim(value);\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\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 */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\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 * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\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 */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key 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 Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\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 */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\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 */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\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 */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` 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 of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\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 */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\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 */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\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 */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\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 */\n var 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\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\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 pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\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 of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\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 */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.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 * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.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 {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.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 {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\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 values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values 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 values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\n\n\n","\n\n\n\n\n","\n\n","\n\n","import { usePermission } from '@/store/permission'\nimport type { Permission } from '@/models/Permission'\n\nconst Permissions = Object.freeze({\n Root: 'root',\n CanCreateRoles: 'can_create_roles',\n CanAssignRoles: 'can_assign_roles',\n CanUseCustomerBetaFeatures: 'can_use_customer_beta_features',\n CanUseMerchantBetaFeatures: 'can_use_merchant_beta_features',\n CanCreateMerchants: 'can_create_merchants',\n CanCreateCustomers: 'can_create_customers',\n CanRespondToTattleFeedback: 'can_respond_to_tattle_feedback',\n HasEnterpriseAccess: 'has_enterprise_access',\n ModifyQuestionConditions: 'modify_question_conditions',\n CanAddLocations: 'can_add_locations',\n CanViewLocations: 'can_view_locations',\n CanEditLocations: 'can_edit_locations',\n QuestionnaireView: 'questionnaire_view',\n QuestionnaireManage: 'questionnaire_manage',\n CanTriggerPasswordReset: 'can_trigger_password_reset',\n CanEditTeamUsers: 'can_edit_team_users',\n AccesstoGlobalSettings: 'config.global.access',\n AccesstoLocalSettings: 'config.local.access',\n CreateLocations: 'config.global.locations.create',\n EditLocations: 'config.global.locations.edit',\n CreateTeamMembers: 'config.global.management-team.create',\n EditTeamMembers: 'config.global.management-team.edit',\n ManageGroups: 'config.global.groups.manage',\n ModifyAccountPreferences: 'config.personal.preferences',\n ReceiveFlaggedFeedbacknotifications: 'receive_flagged_feedback_notifications',\n ManageAutoResponses: 'questionnaire.autoresponse.manage',\n CreateWebhookSubscription: 'can_create_webhook_event_subscriptions',\n ReadWebhookSubscription: 'can_read_webhook_event_subscriptions',\n UpdateWebhookSubscription: 'can_update_webhook_event_subscriptions',\n DeleteWebhookSubscription: 'can_delete_webhook_event_subscriptions',\n FlagCustomerResponses: 'customer_questionnaire.can_flag',\n ViewSurveyMetadata: 'can_view_survey_metadata',\n CanRespondToOnlineReviews: 'can_respond_to_online_reviews',\n CanRespondtoReviewswithAI: 'can_respond_to_reviews_with_ai',\n CanEditSurveyTags: 'can_edit_survey_tags',\n CanViewAutomations: 'can_view_automations',\n CanModifyAutomations: 'can_modify_automations',\n})\n\nexport function usePermissions() {\n const checkPermission = async (permissionTitle: string) => {\n const permissionStore = usePermission()\n let permissions: any = permissionStore.permission\n\n if (!Array.isArray(permissions) || !permissions.length) {\n permissionStore.set(\n Object.keys(permissions).map((keyName) => {\n return permissions[keyName]\n })\n )\n permissions = permissionStore.permission\n }\n return Boolean(permissions.find((perm: Permission) => perm.title === permissionTitle))\n }\n\n const canRespondToOnlineReviews = () => {\n return checkPermission(Permissions.CanRespondToOnlineReviews)\n }\n\n const canRespondWithAi = () => {\n return checkPermission(Permissions.CanRespondtoReviewswithAI)\n }\n\n const canAccessGlobalSettings = () => {\n return checkPermission(Permissions.AccesstoGlobalSettings)\n }\n\n const canViewAutomations = () => {\n return checkPermission(Permissions.CanViewAutomations)\n }\n\n const canModifyAutomations = () => {\n return checkPermission(Permissions.CanModifyAutomations)\n }\n\n return {\n checkPermission,\n canRespondToOnlineReviews,\n canRespondWithAi,\n canAccessGlobalSettings,\n canViewAutomations,\n canModifyAutomations,\n }\n}\n","\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { colors } from '@/plugins/vuetify'\nimport { $t, $n } from '@/plugins/i18n'\n\nexport function useCalloutText() {\n const getDiffText = (\n page: string,\n value: number,\n strValue: string,\n diff: number,\n strDiff: string,\n inactive: boolean,\n incomparable: boolean,\n metric: string\n ): string => {\n let textColor: string = colors.neutral.neutral900\n let strMetricValue: string\n let strMetricText: string\n\n if (inactive) {\n strMetricValue = strValue\n strMetricText = $t(`app.${page}.${metric}.inactive`, { value: strMetricValue })\n return `
${strMetricText}
`\n } else if (incomparable) {\n strMetricValue = strValue\n strMetricText = $t(`app.${page}.${metric}.incomparable`, { value: strMetricValue })\n return `
${strMetricText}
`\n } else {\n strMetricValue = strDiff\n strMetricText = $t(`app.${page}.${metric}.same`, { value: strMetricValue })\n if (diff > 0) {\n strMetricText = $t(`app.${page}.${metric}.increased`, { value: strMetricValue })\n textColor = colors.green.green500\n } else if (diff < 0) {\n strMetricText = $t(`app.${page}.${metric}.decreased`, { value: strMetricValue })\n textColor = colors.red.red500\n }\n return `
${strMetricText}
`\n }\n }\n\n const getTotalReviewsDiffText = (\n page: string,\n value: number,\n diff: number,\n inactive: boolean,\n incomparable: boolean,\n ): string => {\n return getDiffText(\n page,\n value,\n $n(value, 'decimal', { minimumFractionDigits: 0, maximumFractionDigits: 0 }),\n diff,\n $n(Math.abs(diff), 'decimal', { minimumFractionDigits: 0, maximumFractionDigits: 0 }),\n inactive,\n incomparable,\n 'totalReviews'\n )\n }\n\n const getAverageRatingsDiffText = (\n page: string,\n value: number,\n diff: number,\n inactive: boolean,\n incomparable: boolean,\n ): string => {\n return getDiffText(\n page,\n value,\n $n(value, 'decimal', { minimumFractionDigits: 2, maximumFractionDigits: 2 }),\n diff,\n $n(Math.abs(diff), 'decimal', { minimumFractionDigits: 2, maximumFractionDigits: 2 }),\n inactive,\n incomparable,\n 'averageRating'\n )\n }\n\n return { getTotalReviewsDiffText, getAverageRatingsDiffText }\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n\n\n","import { v3, ie } from '@/http'\n\nexport function getChatmeterIntegrationIsActive(merchantId: number, axiosConfig = {}) {\n return ie.get(`/chatmeter/isactive?merchantId=${merchantId}`, axiosConfig)\n}\n\nexport function getOverview(merchantId: number, payload: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/SocialMediaReview/overview`, payload, axiosConfig)\n}\n\nexport function getList(\n merchantId: number,\n keywordSearchCriteria: string,\n page: number,\n pageSize: number,\n reviewId: number | null,\n payload: any,\n axiosConfig = {}\n) {\n const paramReviewId: string = reviewId != null ? `&reviewId=${reviewId}` : ''\n return v3.post(\n `/merchants/${merchantId}/SocialMediaReview/list?keywordSearchCriteria=${keywordSearchCriteria}&page=${page}&pageSize=${pageSize}${paramReviewId}`,\n payload,\n axiosConfig\n )\n}\n\nexport function getAiResponse(merchantId: number, reviewId: number, regenerate: boolean = false, axiosConfig = {}) {\n return v3.get(\n `/merchants/${merchantId}/SocialMediaReview/${reviewId}/ai-response?regenerate=${regenerate}`,\n axiosConfig\n )\n}\n\nexport function getBulkAiResponse(merchantId: number, reviewIds: Array, axiosConfig = {}) {\n const ids = reviewIds.reduce((idList, id) => (idList = `${idList}id=${id}&`), '')\n return v3.get(`/merchants/${merchantId}/SocialMediaReview/bulk/ai-response?${ids}`, axiosConfig)\n}\n\nexport function postResponse(merchantId: number, payload: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/review-response/send`, payload, axiosConfig)\n}\n\nexport function postBulkResponse(merchantId: number, payload: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/review-response/bulk/send`, payload, axiosConfig)\n}\n\nexport function putResponse(merchantId: number, payload: any, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/social-media/review-response/send`, payload, axiosConfig)\n}\n\nexport function getChatmeterCredentialsLink(merchantId: number, axiosConfig = {}) {\n return ie.get(`/chatmeter/sso?merchantId=${merchantId}`, axiosConfig)\n}\n\nexport function postReviewTags(merchantId: number, reviewId: number, payload: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/reviews/${reviewId}/tags`, payload, axiosConfig)\n}\n","import { v3 } from '@/http'\n\nexport function getCompetitorRatingSummary(merchantId: number, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/metrics/competitor-rating-summary`, axiosConfig)\n}\n\nexport function getRatingSummary(merchantId: number, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/metrics/rating-summary`, axiosConfig)\n}\n\nexport function getProviderSummary(merchantId: number, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/metrics/provider-summary`, axiosConfig)\n}\n\nexport function getOverallRatings(merchantId: number, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/metrics/overall-ratings`, axiosConfig)\n}\n\nexport function getOverview(merchantId: number, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/metrics/overview`, axiosConfig)\n}\n\nexport function getTopReviewTags(merchantId: number, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media/metrics/top-review-tags`, axiosConfig)\n}\n","import moment from 'moment'\nimport { dateFormat } from '@/composables/Dates'\nimport { $t } from '@/plugins/i18n'\nimport { SnapshotType } from '@/models/SocialMedia'\n\nfunction getDateRangeModels() {\n return [\n {\n label: $t('app.common.filters.date_range_models.past_7_days'),\n value: SnapshotType.Last7Days,\n start: moment().subtract(7, 'days').format(dateFormat.display),\n end: moment().format(dateFormat.display),\n order: 1\n },\n {\n label: $t('app.common.filters.date_range_models.past_30_days'),\n value: SnapshotType.Last30Days,\n start: moment().subtract(30, 'days').format(dateFormat.display),\n end: moment().format(dateFormat.display),\n order: 3\n },\n {\n label: $t('app.common.filters.date_range_models.past_90_days'),\n value: SnapshotType.Last90Days,\n start: moment().subtract(90, 'days').format(dateFormat.display),\n end: moment().format(dateFormat.display),\n order: 5\n },\n {\n label: $t('app.common.filters.date_range_models.past_6_months'),\n value: SnapshotType.Last6Months,\n start: moment().subtract(180, 'days').format(dateFormat.display),\n end: moment().format(dateFormat.display),\n order: 2\n },\n {\n label: $t('app.common.filters.date_range_models.all_time'),\n value: SnapshotType.AllTime,\n start: moment().subtract(365, 'days').format(dateFormat.display),\n end: moment().format(dateFormat.display),\n order: 4\n },\n {\n label: $t('app.common.filters.date_range_models.custom'),\n value: SnapshotType.Custom,\n order: 6\n }\n ]\n}\n\nexport { getDateRangeModels }\n","\n\n\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { v3 } from '@/http'\n\nexport function getTemplates(merchantId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/social-media-review-response-templates`, axiosConfig)\n}\n\nexport function postTemplate(merchantId: number, payload: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/social-media-review-response-templates`, payload, axiosConfig)\n}\n\nexport function getTemplate(merchantId: number, templateId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/social-media-review-response-templates/${templateId}`, axiosConfig)\n}\n\nexport function putTemplate(merchantId: number, templateId: number, payload: any, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/social-media-review-response-templates/${templateId}`, payload, axiosConfig)\n}\n\nexport function deleteTemplate(merchantId: number, templateId: number, axiosConfig = {}) {\n return v3.delete(`/merchants/${merchantId}/social-media-review-response-templates/${templateId}`, axiosConfig)\n}\n","import moment from 'moment'\n\nimport type { SocialMediaResponse } from '@/models/SocialMedia'\n\nexport const ResponseStatuses = Object.freeze({\n Pending: 'pending',\n PublishingError: 'publishingError',\n SystemError: 'systemError',\n Published: 'published'\n})\n\nexport function useResponses() {\n const createEmptyResponse = (userId: number, reviewId: number): SocialMediaResponse => {\n return {\n id: 0,\n reviewId: reviewId,\n detail: '',\n responseUserId: userId,\n responseUserName: '',\n responseDate: moment().toDate(),\n responseType: null,\n responseStatus: 'Pending'\n }\n }\n\n const hasSentResponse = (response: SocialMediaResponse): boolean => {\n return response.id != 0\n }\n\n return { createEmptyResponse, hasSentResponse }\n}\n","import type { SocialMediaReviewClient } from '@/models/SocialMedia'\nimport { useResponses } from '@/composables/OnlineReviews/Responses'\nimport moment from 'moment'\n\nexport function useReviews() {\n const { createEmptyResponse } = useResponses()\n\n const createEmptyReviewClient = (userId: number): SocialMediaReviewClient => {\n return {\n id: 0,\n detail: '',\n locationsId: 0,\n providersId: 0,\n tagIds: [],\n rating: 0,\n responses: [],\n reviewDate: moment().toDate(),\n reviewUrl: '',\n reviewer: '',\n reviewerPictureUrl: '',\n latestResponse: createEmptyResponse(userId, 0),\n isLoading: false,\n bulkSelected: false\n }\n }\n\n return { createEmptyReviewClient }\n}\n","\n\n\n\n\n","\n\n\n\n\n","import type { Pagination } from '@/models/Pagination'\n\nexport function usePagination() {\n const createPagination = (currentPage: number, pageSize: number, hasNextPage: boolean): Pagination => {\n return {\n currentPage: currentPage,\n pageSize: pageSize,\n hasNextPage: hasNextPage,\n greatestPageNumber: currentPage + (hasNextPage ? 1 : 0)\n }\n }\n\n const recalcPagination = (\n currentPage: number,\n pageSize: number,\n hasNextPage: boolean,\n greatestPageNumber: number\n ): Pagination => {\n return {\n currentPage: currentPage,\n pageSize: pageSize,\n hasNextPage: hasNextPage,\n greatestPageNumber: Math.max(greatestPageNumber, currentPage + (hasNextPage ? 1 : 0))\n }\n }\n\n return { createPagination, recalcPagination }\n}\n","export interface OnlineReviewTemplate {\n templateId: number\n name: string\n starRatingMin: number\n starRatingMax: number\n rating?: string\n responseDetail: string\n dateTimeCreated: Date\n dateTimeEdited: Date\n}\n\nexport const TemplateActions = Object.freeze({\n Create: 'create',\n Update: 'update',\n Delete: 'delete'\n})\n","import { $t } from '@/plugins/i18n'\nimport { TemplateActions } from '@/models/Templates'\nimport { ActionStatus } from '@/composables/Actions'\nimport type { Ref } from 'vue'\n\nexport interface Alert {\n success: boolean\n action?: string\n name?: string\n}\n\nexport function getAlertText(basePath: string, success: boolean, text?: string, action?: string): string {\n const baseTranslationPath = `${basePath}.${success ? ActionStatus.Success : ActionStatus.Error}`\n const actionKey = action ? getActionKey(action) : ''\n const actionText = actionKey ? $t(`${baseTranslationPath}.${actionKey}`) : ''\n return text\n ? $t(`${baseTranslationPath}.${text}`, { action_text: actionText })\n : $t(`${baseTranslationPath}`, { action_text: actionText })\n}\n\nexport function setAlert(alert: Ref, success: boolean, action?: string, name?: string) {\n alert.value = {\n success,\n action,\n name\n }\n}\n\nexport function resetAlert(alert: Ref, timeout: number = 3000) {\n if (alert.value.success !== undefined) {\n setTimeout(() => {\n alert.value = {} as Alert\n }, timeout)\n }\n}\n\nfunction getActionKey(action: string) {\n let actionKey = 'action.'\n switch (action) {\n case TemplateActions.Create:\n actionKey += TemplateActions.Create\n break\n case TemplateActions.Update:\n actionKey += TemplateActions.Update\n break\n case TemplateActions.Delete:\n actionKey += TemplateActions.Delete\n break\n default:\n actionKey = ''\n }\n return actionKey\n}\n","\n\n\n\n\n","const StarRatingsValueToLabelObject = Object.freeze([\n { value: 1, label: '1-Star' },\n { value: 2, label: '2-Star' },\n { value: 3, label: '3-Star' },\n { value: 4, label: '4-Star' },\n { value: 5, label: '5-Star' }\n])\n\nexport default StarRatingsValueToLabelObject\n","export function getErrorMessage(v$: any, property: string): string {\n return v$.$errors?.find((error: any) => error.$property === property)?.$message\n}\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","import { v3 } from '@/http'\nimport type { Axios } from 'axios'\n\ninterface EmailSenderDomain {\n id: string\n merchantId: number\n domain: string\n // verificationEmail: string;\n verifyTxtKey: string\n domainVerified: boolean\n domainVerifiedAtUtc: Date\n dkimVerified: boolean\n dkimVerifiedAtUtc: Date\n spfVerified: boolean\n spfVerifiedAtUtc: Date\n}\n\n//GET\n// /merchants/2148/email-sender-domains\nexport async function getEmailSenderDomains(merchantId: number): Promise {\n return v3.get(`/merchants/${merchantId}/email-sender-domains`).then((response) => response.data)\n}\n\n//POST\n// /merchants/{merchantID}/email-sender-domains\nexport async function createEmailSenderDomain(merchantId: number, domain: string): Promise {\n return v3\n .post(`/merchants/${merchantId}/email-sender-domains`, { domain })\n .then((response) => response.data)\n}\n\n// PUT\n// /merchants/{merchantID}/email-sender-domains/{id}\nexport async function updateEmailSenderDomain(\n merchantId: number,\n emailSenderDomainId: number,\n verificationEmail: string\n): Promise {\n return v3\n .put(`/merchants/${merchantId}/email-sender-domains/${emailSenderDomainId}`, {\n verificationEmail\n })\n .then((response) => response.data)\n}\n\n// DELETE\n// /merchants/{merchantID}/email-sender-domains/{id}\nexport function deleteEmailSenderDomain(merchantId: number, emailSenderDomainId: string): Promise {\n return v3.delete(`/merchants/${merchantId}/email-sender-domains/${emailSenderDomainId}`)\n}\n\n// POST\n// /merchants/{merchantID}/email-sender-domains/{id}/verify\nexport function verifyEmailSenderDomain(merchantId: number, emailSenderDomainId: string): Promise {\n return v3\n .post(`/merchants/${merchantId}/email-sender-domains/${emailSenderDomainId}/verify`)\n .then((response) => response.data)\n}\n","import { v3 } from '@/http'\n\nexport function getEmailInboundConfiguration(merchantId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/inbound-email-addresses`, axiosConfig)\n}\n\nexport function createEmailInboundConfiguration(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/inbound-email-addresses`, data, axiosConfig)\n}\n\nexport function createSurveyReply(merchantId: number, surveyId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/surveys/${surveyId}/timeline/replies`, data, axiosConfig)\n}","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import type { AxiosRequestConfig, AxiosResponse } from 'axios'\nimport { v3 } from '@/http'\nimport type {AiCoachEntityAccessModel} from \"@/models/AICoach/AiCoachEntityAccessModel\";\nimport type {AiCoachEntityPutAccessModel} from \"@/models/AICoach/AiCoachEntityPutAccessModel\";\n\nexport function getAiCoachEntityAccess(\n merchantId: number,\n axiosConfig: AxiosRequestConfig = {}\n): Promise> {\n return v3.get(`/merchants/${merchantId}/ai-coach-entity-access`, axiosConfig)\n}\n\nexport function putAiCoachEntityAccess(\n model: AiCoachEntityPutAccessModel,\n axiosConfig: AxiosRequestConfig = {}\n): Promise> {\n return v3.put(`/merchants/${model.merchantId}/ai-coach-entity-access`, model, axiosConfig)\n}\n","import { v3 } from '@/http'\nimport { type AxiosRequestConfig, type AxiosResponse } from 'axios'\nimport type {AiCoachPreviewRequestModel} from \"@/models/AICoach/AiCoachPreviewRequestModel\";\nimport type {AiCoachPreviewResponseModel} from \"@/models/AICoach/AiCoachPreviewResponseModel\";\nimport type {AiCoachPreviewGetModel} from \"@/models/AICoach/AiCoachPreviewGetModel\";\n\nexport function createAiCoachPreview(model: AiCoachPreviewRequestModel, axiosConfig: AxiosRequestConfig = {}): Promise> {\n return v3.post(`/merchants/${model.merchantId}/ai-coach-preview`, model, axiosConfig)\n}\n\nexport function retrieveAiCoachPreview(merchantId: number, previewId: string, axiosConfig: AxiosRequestConfig = {}): Promise> {\n return v3.get(`/merchants/${merchantId}/ai-coach-preview/${previewId}`, axiosConfig)\n}\n","import { defineStore } from 'pinia'\nimport type {AiCoachPreviewGetModel} from \"@/models/AICoach/AiCoachPreviewGetModel\";\n\n\nexport const useAiCoachPreview = defineStore({\n id: 'aiCoachPreview',\n state: () => ({\n previewModel: {} as AiCoachPreviewGetModel,\n inProgress: false,\n loaded: false,\n error: false,\n locationLabel: null as string | null | undefined,\n snapshotLabel: null as string | null | undefined,\n }),\n getters: {\n getPreviewModel(): AiCoachPreviewGetModel {\n return this.previewModel\n },\n isInProgress(): boolean {\n return this.inProgress\n },\n isLoaded(): boolean {\n return this.loaded\n },\n isError(): boolean {\n return this.error\n },\n getLocationLabel() : string | null | undefined {\n return this.locationLabel\n },\n getSnapshotLabel() : string | null | undefined {\n return this.snapshotLabel\n }\n },\n actions: {\n set(previewModel: AiCoachPreviewGetModel) {\n this.loaded = true\n this.previewModel = previewModel\n this.inProgress = false\n },\n setInProgress(inProgress: boolean) {\n this.inProgress = inProgress\n },\n setIsError(error: boolean) {\n this.inProgress = false\n this.error = error\n },\n setLocationLabel(locationLabel: string | null | undefined) {\n this.locationLabel = locationLabel\n },\n setSnapshotLabel(snapshotLabel: string | null | undefined) {\n this.snapshotLabel = snapshotLabel\n },\n reset() {\n this.loaded = false\n this.inProgress = false\n this.error = false\n this.locationLabel = null\n this.previewModel = {} as AiCoachPreviewGetModel\n this.snapshotLabel = null\n }\n }\n})\n","import {legacy} from \"@/http\";\nimport type {LegacySnapshots} from \"@/models/legacy/LegacySnapshots\";\n\n// FUTURE: Create a .NET endpoint to return this data\nexport function getObjectives(merchantsId: number, axiosConfig = {}) : Promise {\n return legacy.get(`/api/snapshots?merchants_id=${merchantsId}`, axiosConfig)\n .then((response) => {\n return response.data._embedded.snapshots\n });\n}\n\n\nexport function getLocationCurrentObjectives(merchantsId: number, month: number, year: number, axiosConfig = {}){\n return legacy.get(`/api/objectives?expand=location,reason,snapshot,manager&merchants_id=${merchantsId}&month=${month}&year=${year}`, axiosConfig)\n .then((response) => {\n return response.data._embedded.objectives\n });\n}\n","import { defineStore } from 'pinia'\n\n\nexport const useObjectivesSetupProgress = defineStore({\n id: 'objectivesSetupProgress',\n state: () => ({\n itemSettingsLoaded: false,\n aiBoundariesLoaded: false,\n manageBoundariesLoaded: false\n }),\n getters: {\n isLoaded(): boolean {\n return this.itemSettingsLoaded && this.aiBoundariesLoaded && this.manageBoundariesLoaded\n }\n },\n actions: {\n setItemSettingsLoaded(loaded : boolean){\n this.itemSettingsLoaded = loaded\n },\n setAiBoundariesLoaded(loaded : boolean){\n this.aiBoundariesLoaded = loaded\n },\n setManageBoundariesLoaded(loaded : boolean){\n this.manageBoundariesLoaded = loaded\n }\n }\n\n})\n","import { defineStore } from 'pinia'\nimport type {LegacySnapshots} from \"@/models/legacy/LegacySnapshots\";\n\n\nexport const useLegacyObjectives = defineStore({\n id: 'legacyObjectives',\n state: () => ({\n objectives: [] as LegacySnapshots[],\n loaded: false,\n }),\n getters: {\n getObjectives(): LegacySnapshots[] {\n return this.objectives\n },\n isLoaded(): boolean {\n return this.loaded\n }\n },\n actions: {\n set(objectives: LegacySnapshots[]) {\n this.loaded = true\n this.objectives = objectives\n },\n reset() {\n this.loaded = false\n this.objectives = []\n }\n }\n})\n","\n\n\n\n\n","\n\n\n\n\n","import { v3 } from '@/http'\nimport { type AxiosRequestConfig, type AxiosResponse } from 'axios'\nimport type {UpsertAiCoachBoundaryRequestModel} from 'src/models/AICoach/UpsertAiCoachBoundaryRequestModel'\nimport type {DeleteAiCoachBoundaryRequestModel} from 'src/models/AICoach/DeleteAiCoachBoundaryRequestModel'\nimport type {AiCoachBoundaryResponseModel} from 'src/models/AICoach/AiCoachBoundaryResponseModel'\n\nexport function deleteAiCoachBoundary(\n merchantId: number,\n boundary: DeleteAiCoachBoundaryRequestModel,\n axiosConfig: AxiosRequestConfig = {}\n): Promise> {\n axiosConfig.data = boundary\n return v3.delete(`/merchants/${merchantId}/ai-coach-boundaries`, axiosConfig)\n}\n\nexport function upsertAiCoachBoundary(\n boundary: UpsertAiCoachBoundaryRequestModel,\n axiosConfig: AxiosRequestConfig = {}\n): Promise> {\n return v3.put(`/merchants/${boundary.merchantId}/ai-coach-boundaries`, boundary, axiosConfig)\n}\n\nexport function getAiCoachBoundaries(\n merchantId: number,\n axiosConfig: AxiosRequestConfig = {}\n): Promise> {\n return v3.get(`/merchants/${merchantId}/ai-coach-boundaries`, axiosConfig)\n}\n","import { defineStore } from 'pinia'\nimport type {AiCoachBoundaryResponseModel} from '@/models/AICoach/AiCoachBoundaryResponseModel'\n\n\nexport const useAiCoachBoundaries = defineStore({\n id: 'aiCoachBoundaries',\n state: () => ({\n boundaries: [] as AiCoachBoundaryResponseModel[],\n isLoaded: false,\n }),\n getters: {\n getBoundaries(): AiCoachBoundaryResponseModel[] {\n return this.boundaries\n },\n getIsLoaded(): boolean {\n return this.isLoaded\n }\n },\n actions: {\n set(boundaries: AiCoachBoundaryResponseModel[]) {\n this.isLoaded = true\n this.boundaries = boundaries\n },\n reset() {\n this.isLoaded = false\n this.boundaries = []\n }\n }\n})\n","import {legacy} from \"@/http\";\nimport type {LegacyMerchantTypeSnapshots} from \"@/models/legacy/LegacyMerchantTypeSnapshots\";\n\nexport function getQuestionSnapshots(merchantsTypeId: number, axiosConfig = {}) : Promise {\n return legacy.get(`/api/merchant-type-snapshots?expand=snapshot&merchant_types_id=${merchantsTypeId}`, axiosConfig)\n .then((response) => {\n return response.data._embedded.merchant_type_snapshots\n });\n}\n\nexport function getMerchantQuestionSnapshots(merchantId: number, axiosConfig = {}) : Promise {\n return legacy.get(`/api/questionnaire-snapshots?expand=questionnaire,snapshot&merchants_id=${merchantId}`, axiosConfig)\n .then((response) => {\n return response.data._embedded.questionnaire_snapshots\n });\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import {ie} from '@/http'\n\nexport function activatePreference(merchantId: number, preferenceKey : string, axiosConfig = {}) {\n return ie.put(`/merchants/${merchantId}/preferences/v2/${preferenceKey}/activate`, axiosConfig)\n}\n\nexport function deactivatePreference(merchantId: number, preferenceKey : string, axiosConfig = {}) {\n return ie.put(`/merchants/${merchantId}/preferences/v2/${preferenceKey}/deactivate`, axiosConfig)\n}\n","import { defineStore } from 'pinia'\n\nexport const useAiCoachFeatureFlag = defineStore({\n id: 'aiCoachFeatureFlag',\n state: () => ({\n isEnabled: null as boolean | null,\n }),\n getters: {\n get(): boolean | null {\n return this.isEnabled\n }\n },\n actions: {\n set(isEnabled: boolean) {\n this.isEnabled = isEnabled\n },\n reset() {\n this.isEnabled = null\n }\n }\n})\n","\n\n\n\n","export enum KnowledgeBaseDocumentStatus {\n\n Processing = \"Processing\",\n Processed = \"Processed\",\n PendingDeletion = \"PendingDeletion\",\n Deleted = \"Deleted\",\n Error = \"Error\"\n}\n","import { v3 } from '@/http'\nimport axios, { type AxiosRequestConfig, type AxiosResponse } from 'axios'\nimport type {UploadAiCoachBoundaryRequestModel} from \"@/models/KnowledgeBase/UploadKnowledgeBaseDocumentRequestModel\";\nimport type {\n KnowledgeBaseDocumentListResponseModel\n} from \"@/models/KnowledgeBase/KnowledgeBaseDocumentListResponseModel\";\nimport {KnowledgeBaseDocumentStatus} from \"@/models/KnowledgeBase/KnowledgeBaseDocumentStatus\";\n\nexport function uploadNewDocument(\n merchantId: number,\n request: UploadAiCoachBoundaryRequestModel,\n axiosConfig: AxiosRequestConfig = {}\n){\n const config: AxiosRequestConfig = {\n ...axiosConfig,\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n };\n const formData = new FormData();\n formData.append('file', request.documentFile)\n formData.append('documentName', request.documentName)\n formData.append('documentDescription', request.documentDescription)\n\n return v3.post(`/merchants/${merchantId}/knowledge-base/upload`, formData, config)\n}\n\nexport function deleteDocument(merchantId: number, documentId: number, axiosConfig: AxiosRequestConfig = {}){\n return v3.delete(`/merchants/${merchantId}/knowledge-base/${documentId}`, axiosConfig)\n}\n\nexport function getDocumentList(merchantId: number, sortColumn?: string, sortOrder?: string, page: number=1, pageSize: number=25, axiosConfig: AxiosRequestConfig = {})\n : Promise>{\n\n // Get all documents that are not deleted\n const statusFilter = Object.entries(KnowledgeBaseDocumentStatus)\n .filter(value => value[1] != KnowledgeBaseDocumentStatus.Deleted)\n .map(arr => arr[0]);\n const config: AxiosRequestConfig = {\n ...axiosConfig,\n params: {\n ...axiosConfig.params,\n sortColumn,\n sortOrder,\n page,\n pageSize,\n status: statusFilter\n },\n paramsSerializer: {\n indexes: null\n }\n };\n\n return v3.get(`/merchants/${merchantId}/knowledge-base`, config)\n}\n\nexport function previewDocument(merchantId: number, documentId: number, axiosConfig: AxiosRequestConfig = {}){\n return v3.get(`/merchants/${merchantId}/knowledge-base/preview/${documentId}`, axiosConfig)\n}\n\nexport function getMerchantDocumentStatus(){\n return null\n}\n","\n\n\n\n","\n\n\n\n","\n\n\n\n","import { v3 } from '@/http'\n\nexport function getIncidents(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/incidents/list?Page=${data.Page}&PageSize=${data.PageSize}`, data, axiosConfig)\n}\n\nexport function getIncidentById(merchantId: number, incidentId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/incidents/${incidentId}`, axiosConfig)\n}\n\nexport function setReviewUser(merchantId: number, incidentId: number, data: any, axiosConfig = {}) {\n return v3.patch(`/merchants/${merchantId}/incidents/${incidentId}`, data, axiosConfig)\n}\n","import { legacy } from '@/http'\nimport type { SurveyAnswersResponse } from '@/models/legacy/LegacySurvey'\nimport type { SurveyAnswer } from '@/models/Surveys'\n\nexport class SurveyFacade {\n updateSurveyLocation = (url: string, data: any, axiosConfig = {}) => {\n const surveyIdMatch = url.match(/\\/Surveys\\/(\\d+)/)\n if (!surveyIdMatch) {\n return\n }\n const surveyId = surveyIdMatch[1]\n const parsedData = {\n locations_id: data.locationsId\n }\n return legacy.patch(`/v2/api/survey/${surveyId}`, parsedData, axiosConfig)\n }\n\n updateOperationalCategory = (url: string, data: any, axiosConfig = {}) => {\n const snapshotIdMatch = url.match(/\\/snapshots\\/(\\d+)/)\n if (!snapshotIdMatch) {\n return\n }\n const snapshotId = snapshotIdMatch[1]\n const parsedData = {\n rating: data.rating,\n comment: data.comment\n }\n return legacy.patch(`/v2/api/customer-questionnaire-snapshots/${snapshotId}`, parsedData, axiosConfig)\n }\n\n updateQuestion = (url: string, data: any, axiosConfig = {}) => {\n const questionIdMatch = url.match(/\\/questions\\/(\\d+)/)\n if (!questionIdMatch) {\n return\n }\n const questionId = questionIdMatch[1]\n let questionData: any = {}\n if (data.answerId) {\n questionData.answer_id = data.answerId\n }\n if (data.answer) {\n questionData.answer = data.answer\n }\n const parsedData = {\n question_data: questionData\n }\n return legacy.patch(`/v2/api/survey-response/${questionId}`, parsedData, axiosConfig)\n }\n\n deleteOperationalCategory = (url: string, axiosConfig = {}) => {\n const snapshotIdMatch = url.match(/\\/snapshots\\/(\\d+)/)\n if (!snapshotIdMatch) {\n return\n }\n const snapshotId = snapshotIdMatch[1]\n return legacy.delete(`/v2/api/customer-questionnaire-snapshots/${snapshotId}`, axiosConfig)\n }\n\n async getSurveyAnswers(url: string, axiosConfig = {}): Promise<{ data: SurveyAnswer[] }> {\n const surveyIdMatch = url.match(/\\/Surveys\\/(\\d+)/)\n if (!surveyIdMatch) {\n throw new Error('Survey ID not found in URL')\n }\n const surveyId = surveyIdMatch[1]\n const response = await legacy.get(`/v2/api/survey/${surveyId}`, axiosConfig)\n return {\n data: this.convertAnswersToCamelCase(response.data.answers)\n }\n }\n\n deleteSurvey = (url: string, axiosConfig = {}) => {\n const surveyIdMatch = url.match(/\\/Surveys\\/(\\d+)/)\n if (!surveyIdMatch) {\n return\n }\n const surveyId = surveyIdMatch[1]\n return legacy.delete(`/v2/api/survey/${surveyId}`, axiosConfig)\n }\n\n removeFlag = (url: string, axiosConfig = {}) => {\n const surveyIdMatch = url.match(/\\/Surveys\\/(\\d+)/)\n if (!surveyIdMatch) {\n return\n }\n const surveyId = surveyIdMatch[1]\n return legacy.patch(`/v2/api/survey/${surveyId}`, { flagged: 0 }, axiosConfig)\n }\n\n flagForReview = (url: string, data: any, axiosConfig = {}) => {\n const surveyIdMatch = url.match(/\\/Surveys\\/(\\d+)/)\n if (!surveyIdMatch) {\n return\n }\n const surveyId = surveyIdMatch[1]\n const parsedData = {\n comment: data.comment,\n user_id: data.userId\n }\n console.log(parsedData)\n return legacy.post(`/v2/api/survey/${surveyId}/flag`, parsedData, axiosConfig)\n }\n\n private convertAnswersToCamelCase(answers: SurveyAnswersResponse[]): SurveyAnswer[] {\n return answers.map((answer) => ({\n id: answer.id,\n customerQuestionnaireId: answer.customer_questionnaire_id,\n answerId: answer.answer_id,\n questionId: answer.question_id,\n question: answer.question,\n answer: answer.answer,\n dateTimeCreatedMs: answer.date_time_created_ms,\n dateCreated: answer.date_created,\n dateTimeCreated: answer.date_time_created,\n questionCategory: answer.question_category,\n questionCategoryId: answer.question_category_id,\n fieldType: answer.field_type,\n merchantResponse: answer.merchant_response,\n customerResponse: answer.customer_response,\n dateTimeMerchantResponse: answer.date_time_merchant_response,\n dateTimeCustomerResponse: answer.date_time_customer_response,\n weightless: answer.weightless,\n questionnaireId: answer.questionnaire_id,\n weight: answer.weight,\n allAnswers: answer.all_answers.map((allAnswer) => ({\n id: allAnswer.id,\n questionnaireQuestionId: allAnswer.questionnaire_question_id,\n title: allAnswer.title,\n weight: allAnswer.weight,\n weightless: allAnswer.weightless,\n dateTimeCreated: allAnswer.date_time_created,\n dateTimeEdited: allAnswer.date_time_edited,\n sortOrd: allAnswer.sort_ord,\n deleted: allAnswer.deleted\n }))\n }))\n }\n}\n\nexport default new SurveyFacade()\n","import { v3, surveys } from '@/http'\nimport SurveyFacade from './Legacy/SurveyFacade'\n\nexport function getSurveyById(merchantId: number, surveyId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/Surveys/${surveyId}`, axiosConfig)\n}\n\nexport function getSurveys(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/list`, data, axiosConfig)\n}\n\nexport function generateAIReply(merchantId: number, surveyId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/${surveyId}/generate-ai-reply`, data, axiosConfig)\n}\n\nexport function getSurveySnapshotsQuestionsCSV(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/survey-snapshots-questions-csv`, data, axiosConfig)\n}\n\nexport function getSurveyMetricsCountryReportCSV(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/survey-metrics-country-report-csv`, data, axiosConfig)\n}\n\nexport function getSurveyMetricsRegionReportCSV(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/survey-metrics-region-report-csv`, data, axiosConfig)\n}\n\nexport function getSurveyMetricsCityReportCSV(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/survey-metrics-city-report-csv`, data, axiosConfig)\n}\n\nexport function getSurveyTags(merchantId: number, surveyId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/Surveys/${surveyId}/Tags`, axiosConfig)\n}\n\nexport function editSurveyTag(merchantId: number, surveyId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/${surveyId}/Tags`, data, axiosConfig)\n}\n\nexport function getMessages(merchantId: number, surveyId: number | undefined, axiosConfig = {}) {\n let query = ''\n if (surveyId) {\n query = `?SurveyId=${surveyId}`\n }\n return v3.get(`/merchants/${merchantId}/message-logs/list${query}`, axiosConfig)\n}\n\nexport function getSurveyTimeline(merchantId: number, surveyId: number, axiosConfig = {}) {\n return v3.get(`/merchants/${merchantId}/surveys/${surveyId}/timeline`, axiosConfig)\n}\n\nexport function updateSurveyLocation(merchantId: number, surveyId: number, data: any, axiosConfig = {}) {\n return SurveyFacade.updateSurveyLocation(`/merchants/${merchantId}/Surveys/${surveyId}`, data, axiosConfig)\n}\n\nexport function getOrderItemsByTransactionId(merchantId: number, transactionId: number, axiosConfig = {}) {\n return surveys.get(`/order-lookup/${merchantId}/order/${transactionId}`, axiosConfig)\n}\n\nexport function getMenuLevelFeedbackItems(merchantId: number, transactionId: number, axiosConfig = {}) {\n return surveys.get(\n `/surveys/menu-level-feedback?MerchantId=${merchantId}&TransactionId=${transactionId}&PageSize=100`,\n axiosConfig\n )\n}\n\nexport function sendSurveyMail(merchantId: number, surveyId: number, actionType: string, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/${surveyId}/email/${actionType}`, data, axiosConfig)\n}\n\nexport function sendSocialMail(merchantId: number, surveyId: number, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Surveys/${surveyId}/send-social-mail`, {}, axiosConfig)\n}\n\nexport function updateOperationalCategory(merchantId: number, surveyId: number | undefined, snapshotId: number, data: any, axiosConfig = {}) {\n return SurveyFacade.updateOperationalCategory(`/merchants/${merchantId}/Surveys/${surveyId}/snapshots/${snapshotId}`, data, axiosConfig)\n}\n\nexport function updateQuestion(merchantId: number, surveyId: number | undefined, questionId: number, data: any, axiosConfig = {}) {\n return SurveyFacade.updateQuestion(`/merchants/${merchantId}/Surveys/${surveyId}/questions/${questionId}`, data, axiosConfig)\n}\n\nexport function deleteOperationalCategory(merchantId: number, surveyId: number | undefined, snapshotId: number, axiosConfig = {}) {\n return SurveyFacade.deleteOperationalCategory(`/merchants/${merchantId}/Surveys/${surveyId}/snapshots/${snapshotId}`, axiosConfig)\n}\n\nexport function getSurveyAnswers(merchantId: number, surveyId: number, axiosConfig = {}) {\n return SurveyFacade.getSurveyAnswers(`/merchants/${merchantId}/Surveys/${surveyId}/answers`, axiosConfig)\n}\n\nexport function deleteSurvey(merchantId: number, surveyId: number, axiosConfig = {}) {\n return SurveyFacade.deleteSurvey(`/merchants/${merchantId}/Surveys/${surveyId}`, axiosConfig)\n}\n\nexport function removeFlag(merchantId: number, surveyId: number, axiosConfig = {}) {\n return SurveyFacade.removeFlag(`/merchants/${merchantId}/Surveys/${surveyId}`, axiosConfig)\n}\n\nexport function flagForReview(merchantId: number, surveyId: number, data: any, axiosConfig = {}) {\n return SurveyFacade.flagForReview(`/merchants/${merchantId}/Surveys/${surveyId}/flag`, data, axiosConfig)\n}\n","import { v3 } from '@/http'\n\nexport function getCustomerById(customerId: number, axiosConfig = {}) {\n return v3.get(`/customers/${customerId}`, axiosConfig)\n}\n","enum IncidentStage {\n Created = 'Created',\n HandledExternally = 'HandledExternally',\n Messaged = 'Messaged',\n Recovered = 'Recovered',\n Resolved = 'Resolved',\n Reviewed = 'Reviewed'\n}\n\nexport default IncidentStage\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzMiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMyAzMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9Ikdyb3VwIDEzNjc3Ij4KPGcgaWQ9Ikdyb3VwIDEzNjc2Ij4KPGcgaWQ9Ikdyb3VwIDEzNjc2XzIiPgo8ZyBpZD0iR3JvdXAiPgo8cGF0aCBpZD0iVmVjdG9yIiBkPSJNOC44NTk0NSAzMC44MzAzTDkuNTAyNjIgMzEuNjM4M0M5LjY2MTYyIDMxLjgzODEgOS45NTI0NiAzMS44NzExIDEwLjE1MjIgMzEuNzEyMUwxMC45NjAyIDMxLjA2ODlDMTEuMTYgMzAuOTA5OSAxMS4xOTMgMzAuNjE5MSAxMS4wMzQgMzAuNDE5M0wxMC4zOTA4IDI5LjYxMTNDMTAuMjMxOCAyOS40MTE2IDkuOTQwOTkgMjkuMzc4NSA5Ljc0MTI0IDI5LjUzNzVMOC45MzMyMiAzMC4xODA3QzguNzMzNDggMzAuMzM5NyA4LjcwMDQ1IDMwLjYzMDYgOC44NTk0NSAzMC44MzAzWiIgZmlsbD0iI0M0QzQwRiIvPgo8cGF0aCBpZD0iVmVjdG9yXzIiIGQ9Ik04LjcwNDQyIDMwLjY3NzdMOS41MDA3MiAzMS42NzgxQzkuNTk0MTcgMzEuNzk1NSA5Ljc2NTA5IDMxLjgxNDkgOS44ODI1IDMxLjcyMTRMMTAuODgyOSAzMC45MjUxQzExLjAwMDMgMzAuODMxNyAxMS4wMTk3IDMwLjY2MDcgMTAuOTI2MiAzMC41NDMzTDEwLjEyOTkgMjkuNTQzQzEwLjAzNjUgMjkuNDI1NiA5Ljg2NTU0IDI5LjQwNjEgOS43NDgxMyAyOS40OTk2TDguNzQ3NzggMzAuMjk1OUM4LjYzMDM3IDMwLjM4OTMgOC42MTA5NiAzMC41NjAzIDguNzA0NDIgMzAuNjc3N1oiIGZpbGw9IiNGN0Y2MDAiLz4KPC9nPgo8ZyBpZD0iR3JvdXBfMiI+CjxwYXRoIGlkPSJWZWN0b3JfMyIgZD0iTTMuMzE1NDQgMS4yODY1OEwyLjQ2OTczIDEuMDA3ODFMMy4xODk1OCAxLjM3NDhDMy4yMzQyOCAxLjM0MzA0IDMuMjc2NjMgMS4zMTM2NCAzLjMxNTQ0IDEuMjg2NThaIiBmaWxsPSIjNTg1QUZGIi8+CjxnIGlkPSJHcm91cF8zIj4KPHBhdGggaWQ9IlZlY3Rvcl80IiBkPSJNMi44MTUzNSAxMC44NzE5TDAuMDIyOTI2IDAuNzc5NjI0Qy0wLjEwNzYzOCAwLjMwNjc3IDAuMzQxNjgxIC0wLjEyMTM4NCAwLjgwNzQ3NyAwLjAzMTUyOTJMMTEuNTk0OSAzLjU4NjE3QzExLjc0MDggMy42MzQ0IDExLjc3NiAzLjgyMzc3IDExLjY1ODQgMy45MjAyMkwzLjEyNzA3IDEwLjk2OTVDMy4wMTg4NiAxMS4wNTg5IDIuODUyOTkgMTEuMDA3MSAyLjgxNTM1IDEwLjg3MTlaIiBmaWxsPSIjMTg0RjlCIi8+CjxwYXRoIGlkPSJWZWN0b3JfNSIgZD0iTTAuODk2OTE2IDEuNTc0MjJDMC44NDYzMzcgMS42Mjk1IDAuNzk2OTYxIDEuNjg1OTcgMC43NDc1NTkgMS43NDU5NkwxLjE1Njg5IDMuMjI1NjhDMS4yNzA5OSAzLjA5OTgyIDEuMzgzODkgMi45Nzk4NSAxLjQ5MzI4IDIuODY1NzZMMC44OTY5MTYgMS41NzU0VjEuNTc0MjJaIiBmaWxsPSIjMDA0NkFGIi8+CjxwYXRoIGlkPSJWZWN0b3JfNiIgZD0iTTIuNDQ2MTIgMS45NjY1M0wxLjM5MTAyIDEuMDkzNzVDMS4yMzY5MyAxLjIyNjY3IDEuMDY2MzUgMS4zODU0NSAwLjg5Njk3MyAxLjU3MTNMMS40OTMzNCAyLjg2MTY2QzEuODM3OTggMi41MDUyNiAyLjE1OTExIDIuMjA4ODQgMi40NDQ5NCAxLjk2NjUzSDIuNDQ2MTJaIiBmaWxsPSIjMjI2OURCIi8+CjxwYXRoIGlkPSJWZWN0b3JfNyIgZD0iTTIuNDQ2MjEgMS45Njk5OEMyLjczMzIxIDEuNzI2NSAyLjk4MjU4IDEuNTM3MTIgMy4xODEzNiAxLjM5NTk3TDIuNDYxNDkgMS4wMzAxNkwxLjc2NjMzIDAuODAwNzgxQzEuNjY1MTcgMC44NzM3MDkgMS41MzQ2MiAwLjk3MzY5MyAxLjM5MTExIDEuMDk3MkwyLjQ0NjIxIDEuOTY5OThaIiBmaWxsPSIjNjk3OEZGIi8+CjxwYXRoIGlkPSJWZWN0b3JfOCIgZD0iTTAuNDQxODM1IDAuNTg5ODQ0QzAuNDM5NDgzIDAuNjExMDE2IDAuNDM5NDg3IDAuNjMzMzcyIDAuNDQ2NTQ1IDAuNjU1NzIxTDAuNzQ3NjcyIDEuNzQ0OTNDMC43OTcwNzUgMS42ODQ5NCAwLjg0NjQ1MSAxLjYyODQ3IDAuODk3MDMgMS41NzMxOUwwLjQ0MTgzNSAwLjU4OTg0NFoiIGZpbGw9IiNGMzAwQkEiLz4KPHBhdGggaWQ9IlZlY3Rvcl85IiBkPSJNMS4zOTExNCAxLjA5NTgyTDAuNTkwMTAzIDAuNDMzNTk0QzAuNTEyNDcxIDAuNDQ2NTMzIDAuNDUxMzA1IDAuNTEwMDQ1IDAuNDQxODk1IDAuNTkwMDNMMC44OTcwODkgMS41NzMzN0MxLjA2NjQ3IDEuMzg3NTMgMS4yMzU4NyAxLjIyODc0IDEuMzkxMTQgMS4wOTU4MloiIGZpbGw9IiNGRjYzRDciLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMCIgZD0iTTEuNDkzMTMgMi44NjQ0NkMxLjM4MjU2IDIuOTc4NTYgMS4yNzA4MyAzLjA5ODUzIDEuMTU2NzQgMy4yMjQzOEwxLjU1NDMgNC42NjA1OEMxLjcxMzA5IDQuNDQ2NTEgMS44NzY1OCA0LjI0NDIgMi4wNDI0MyA0LjA1MDEyTDEuNDk0MzEgMi44NjMyOEwxLjQ5MzEzIDIuODY0NDZaIiBmaWxsPSIjRjMwMEJBIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTEiIGQ9Ik00LjMwNDI4IDEuOTY3MzFDNC40Mjc3OCAxLjg3NzkxIDQuNTM4MzUgMS44MDE0NSA0LjYyNjU3IDEuNzQyNjRMMy4zMDc5NyAxLjMwODU5QzMuMjY5MTUgMS4zMzU2NSAzLjIyNTY1IDEuMzY1MDUgMy4xODIxMyAxLjM5NjgxTDQuMzA1NDYgMS45Njg0OEw0LjMwNDI4IDEuOTY3MzFaIiBmaWxsPSIjRkY2Q0Q5Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMTIiIGQ9Ik00LjMwNDc3IDEuOTcwMDlMMy4xODE0NSAxLjM5ODQ0QzIuOTgyNjYgMS41Mzk1OSAyLjczMzI5IDEuNzI4OTYgMi40NDYyOSAxLjk3MjQ1TDMuMzU3ODggMi43MjY0MkMzLjcxODk5IDIuNDExMTggNC4wNDQ4MiAyLjE1ODMgNC4zMDQ3NyAxLjk3MTI3VjEuOTcwMDlaIiBmaWxsPSIjRkY5QUU3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMTMiIGQ9Ik0zLjM1NzgyIDIuNzIyNzJMMi40NDYyMyAxLjk2ODc1QzIuMTYwNCAyLjIxMjIzIDEuODM4MDkgMi41MDc0NyAxLjQ5NDYzIDIuODYzODhMMi4wNDI3NSA0LjA1MDcxQzIuNDg4NTUgMy41Mjg0NSAyLjk0Mzc4IDMuMDg1IDMuMzU3ODIgMi43MjI3MloiIGZpbGw9IiNGRjYzRDciLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNCIgZD0iTTUuNTQyOTcgNC41MzE4M0w4Ljk1MTc3IDcuMzUwMTRMMTEuMjA5IDUuNDg0NjFMNy4xNzQ0NCAzLjQyOTY5QzYuNjg1MTIgMy42OTU1MiA2LjEyMDUxIDQuMDU0MjggNS41NDI5NyA0LjUzMDY2VjQuNTMxODNaIiBmaWxsPSIjNjk3OEZGIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTUiIGQ9Ik01LjU0MyA0LjUzMTI1QzQuODAwNzkgNS4xNDQwOCA0LjA0MDk0IDUuOTUyMTYgMy40MDU3NiA3LjAwMTM4TDUuMDU2MDUgMTAuNTcwMUw4Ljk1Mjk1IDcuMzUwNzRMNS41NDQxOCA0LjUzMjQzTDUuNTQzIDQuNTMxMjVaIiBmaWxsPSIjMjI2OURCIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTYiIGQ9Ik0xMS4yMDk0IDUuNDg0ODhMMTIuNTcwMyA0LjM2MDM5TDguMjM5MzIgMi45MzM1OUM3Ljk3NDY2IDMuMDM1OTMgNy42MDQxNCAzLjE5NzA3IDcuMTc0OCAzLjQyOTk3TDExLjIwOTQgNS40ODQ4OFoiIGZpbGw9IiM1ODVBRkYiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNyIgZD0iTTIuNjM1NDUgOC41NjY3OEwzLjUzNjQ4IDExLjgyMzhMNS4wNTUwMSAxMC41Njg4TDMuNDA0NzMgN0MzLjExODkgNy40NzE2OCAyLjg1Nzc3IDcuOTkyNzYgMi42MzQyOCA4LjU2Njc4SDIuNjM1NDVaIiBmaWxsPSIjMDA0NkFGIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTgiIGQ9Ik02LjA2ODgzIDIuODY3MTlDNS42MzgzMyAzLjA2MzYyIDUuMTI4OTkgMy4zNDgyNyA0LjYwNzkxIDMuNzU4NzhMNS41NDMwMiA0LjUzMTU3QzYuMTIwNTYgNC4wNTQwMSA2LjY4NTE4IDMuNjk1MjYgNy4xNzQ1IDMuNDMwNkw2LjA2ODgzIDIuODY3MTlaIiBmaWxsPSIjRkY5QUU3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMTkiIGQ9Ik03LjE3NDUxIDMuNDI5MTVDNy42MDM4NCAzLjE5NjI1IDcuOTc0MzcgMy4wMzUxIDguMjM5MDMgMi45MzI3N0w2Ljk5ODA4IDIuNTIzNDRDNi43OTIyMyAyLjU3OTkgNi40NjQwNyAyLjY4NTc2IDYuMDY4ODUgMi44NjU3M0w3LjE3NDUxIDMuNDI5MTVaIiBmaWxsPSIjRkY2Q0Q5Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjAiIGQ9Ik0yLjgzOTg0IDUuNzc2MjZMMy40MDU2MyA3LjAwMDczQzQuMDQxOTggNS45NTE1MiA0LjgwMDY1IDUuMTQ0NjEgNS41NDI4NyA0LjUzMDZMNC42MDc3NSAzLjc1NzgxQzMuOTk0OTMgNC4yNDAwOCAzLjM2Nzk4IDQuODk1MjUgMi44Mzk4NCA1Ljc3NzQ0VjUuNzc2MjZaIiBmaWxsPSIjRkY2M0Q3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjEiIGQ9Ik0yLjg0MDE5IDUuNzc3MzRDMi42MTA4MiA2LjE1OTYzIDIuNDAwMjkgNi41ODMwNyAyLjIxNjggNy4wNTQ3NUwyLjYzNTUyIDguNTY4NTlDMi44NTkwMSA3Ljk5NDU4IDMuMTIwMTQgNy40NzM0OSAzLjQwNTk3IDcuMDAxODFMMi44NDAxOSA1Ljc3NzM0WiIgZmlsbD0iI0YzMDBCOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzIyIiBkPSJNNi4wNjg1OCAyLjg2NTUxQzYuNDYzOCAyLjY4NTU1IDYuNzkxOTYgMi41Nzk2OCA2Ljk5NzggMi41MjMyMkw0LjYyNjQ5IDEuNzQyMTlDNC41MzgyNyAxLjgwMSA0LjQyNzcxIDEuODc3NDYgNC4zMDQyIDEuOTY2ODZMNi4wNjg1OCAyLjg2NTUxWiIgZmlsbD0iIzU4NUFGRiIvPgo8cGF0aCBpZD0iVmVjdG9yXzIzIiBkPSJNNC42MDc4OSAzLjc1NjU5TDMuMzU3NTUgMi43MjI2NkMyLjk0MzUxIDMuMDg0OTQgMi40ODgyOCAzLjUyODM5IDIuMDQyNDggNC4wNTA2NUwyLjgzOTk4IDUuNzc2MjJDMy4zNjkzIDQuODk0MDMgMy45OTUwNyA0LjIzODg1IDQuNjA3ODkgMy43NTY1OVoiIGZpbGw9IiMyMjY5REIiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNCIgZD0iTTQuNjA4MjUgMy43NTlDNS4xMjkzMyAzLjM0OTY3IDUuNjM4NjcgMy4wNjM4NCA2LjA2OTE4IDIuODY3NDFMNC4zMDQ4IDEuOTY4NzVDNC4wNDYwMiAyLjE1NTc3IDMuNzE5MDIgMi40MDg2NiAzLjM1NzkxIDIuNzIzODlMNC42MDgyNSAzLjc1NzgyVjMuNzU5WiIgZmlsbD0iIzY5NzhGRiIvPgo8cGF0aCBpZD0iVmVjdG9yXzI1IiBkPSJNMi4wNDI4MiA0LjA1MDc4QzEuODc4MTUgNC4yNDM2OSAxLjcxNDY2IDQuNDQ3MTcgMS41NTQ2OSA0LjY2MTI1TDIuMjE2OTMgNy4wNTM3NkMyLjQwMDQzIDYuNTgyMDggMi42MTA5NSA2LjE1ODYzIDIuODQwMzIgNS43NzYzNUwyLjA0MjgyIDQuMDUwNzhaIiBmaWxsPSIjMDA0NkFGIi8+CjwvZz4KPGcgaWQ9Ikdyb3VwXzQiPgo8cGF0aCBpZD0iVmVjdG9yXzI2IiBkPSJNNi43Nzk2OCAzLjQ3MjM5QzYuNzQwODYgMy40NzIzOSA2LjcwMDg3IDMuNDYyOTggNi42NjQ0MSAzLjQ0Mjk5TDUuODAxMDYgMi45NzAxM0M1LjY4NDYxIDIuOTA2NjEgNS42NDIyNSAyLjc2MDc1IDUuNzA1NzcgMi42NDQzMUM1Ljc2OTI5IDIuNTI3ODYgNS45MTUxNSAyLjQ4NTUyIDYuMDMxNiAyLjU0OTA0TDYuODk0OTUgMy4wMjE4OUM3LjAxMTQgMy4wODU0MSA3LjA1Mzc1IDMuMjMxMjcgNi45OTAyMyAzLjM0NzcyQzYuOTQ2NzEgMy40Mjc3IDYuODY0MzcgMy40NzIzOSA2Ljc3OTY4IDMuNDcyMzlaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBpZD0iVmVjdG9yXzI3IiBkPSJNNS4xNjcwNCAyLjY0MzIyQzUuMTI4MjIgMi42NDMyMiA1LjA4ODIzIDIuNjMzODEgNS4wNTE3NyAyLjYxMzgyTDQuNzAyNDIgMi40MjMyN0M0LjU4NTk3IDIuMzU5NzUgNC41NDM2MiAyLjIxMzg5IDQuNjA3MTQgMi4wOTc0NEM0LjY3MDY2IDEuOTgwOTkgNC44MTY1MSAxLjkzODY0IDQuOTMyOTYgMi4wMDIxNkw1LjI4MjMxIDIuMTkyNzFDNS4zOTg3NiAyLjI1NjIzIDUuNDQxMTEgMi40MDIwOSA1LjM3NzU5IDIuNTE4NTRDNS4zMzQwNyAyLjU5ODUyIDUuMjUxNzMgMi42NDMyMiA1LjE2NzA0IDIuNjQzMjJaIiBmaWxsPSJ3aGl0ZSIvPgo8L2c+CjwvZz4KPGcgaWQ9Ikdyb3VwXzUiPgo8cGF0aCBpZD0iVmVjdG9yXzI4IiBkPSJNMTYuMjc0OSAzMS4yMTI5QzI0LjQyMDUgMzEuMjEyOSAzMS4wMjM5IDI0LjYwOTUgMzEuMDIzOSAxNi40NjM5QzMxLjAyMzkgOC4zMTgyMSAyNC40MjA1IDEuNzE0ODQgMTYuMjc0OSAxLjcxNDg0QzguMTI5MjMgMS43MTQ4NCAxLjUyNTg4IDguMzE4MjEgMS41MjU4OCAxNi40NjM5QzEuNTI1ODggMjQuNjA5NSA4LjEyOTIzIDMxLjIxMjkgMTYuMjc0OSAzMS4yMTI5WiIgZmlsbD0iI0Y4NUYwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI5IiBkPSJNMTYuMjc1IDMwLjY0NzdDMjQuMTA4MiAzMC42NDc3IDMwLjQ1ODMgMjQuMjk3NyAzMC40NTgzIDE2LjQ2NDVDMzAuNDU4MyA4LjYzMTMxIDI0LjEwODIgMi4yODEyNSAxNi4yNzUgMi4yODEyNUM4LjQ0MTgzIDIuMjgxMjUgMi4wOTE4IDguNjMxMzEgMi4wOTE4IDE2LjQ2NDVDMi4wOTE4IDI0LjI5NzcgOC40NDE4MyAzMC42NDc3IDE2LjI3NSAzMC42NDc3WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzI3MjVfMTc0MDYwKSIvPgo8cGF0aCBpZD0iVmVjdG9yXzMwIiBkPSJNMTYuMjc0NiAyOS44MTk3QzIzLjUyNTEgMjkuODE5NyAyOS40MDI4IDIzLjg0MDQgMjkuNDAyOCAxNi40NjQ1QzI5LjQwMjggOS4wODg2OSAyMy41MjUxIDMuMTA5MzggMTYuMjc0NiAzLjEwOTM4QzkuMDI0MTQgMy4xMDkzOCAzLjE0NjQ4IDkuMDg4NjkgMy4xNDY0OCAxNi40NjQ1QzMuMTQ2NDggMjMuODQwNCA5LjAyNDE0IDI5LjgxOTcgMTYuMjc0NiAyOS44MTk3WiIgZmlsbD0idXJsKCNwYWludDFfcmFkaWFsXzI3MjVfMTc0MDYwKSIvPgo8L2c+CjxwYXRoIGlkPSJWZWN0b3JfMzEiIGQ9Ik0xNC40NjgzIDE1LjYwMTZDMTQuNTA3MSAxNS42MzY5IDE0LjU0MTIgMTUuNjc2OCAxNC41NzI5IDE1LjcxOTJDMTQuNTQxMiAxNS42NzggMTQuNTA3MSAxNS42MzggMTQuNDY4MyAxNS42MDE2WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMyIiBkPSJNMTQuMjY1IDE1Ljk3MDNDMTMuNjAyOCAxNS42MDY5IDEyLjkwODggMTUuNDM3NSAxMi4wOTI0IDE1LjQzNzVDMTAuODA5MiAxNS40Mzc1IDkuNjUwNTQgMTUuOTUxNSA4LjgyMTI4IDE2Ljc3ODRDOC43OTMwNSAxNi44MDU1IDguNzY2MDEgMTYuODMzNyA4LjczODk1IDE2Ljg2MTlDOC42OTc3OCAxNi45MTEzIDguNjY2MDEgMTYuOTY3OCA4LjY0MDE0IDE3LjAyNzhDOC42NTE5IDE3LjA1NiA4LjY2NjAzIDE3LjA4MTkgOC42ODI0OSAxNy4xMDc4QzguNjg2MDIgMTcuMTEyNSA4LjY4ODM2IDE3LjExNzIgOC42OTE4OCAxNy4xMjE5QzguNzIzNjQgMTcuMTcyNSA4Ljc2MjQ2IDE3LjIxODMgOC44MDcxNiAxNy4yNTgzQzguODExODYgMTcuMjYzIDguODE2NTggMTcuMjY2NiA4LjgyMTI4IDE3LjI3MDFDOC44NDM2MyAxNy4yOTAxIDguODY3MTcgMTcuMzA3NyA4Ljg5MTg3IDE3LjMyNDJDOC45MTY1NyAxNy4zNDA3IDguOTQzNjIgMTcuMzU0OCA4Ljk3MDY3IDE3LjM2NzdDOC45NzY1NSAxNy4zNzEyIDguOTgzNiAxNy4zNzM2IDguOTg5NDggMTcuMzc3MUM5LjAxNjUzIDE3LjM4ODkgOS4wNDQ3NiAxNy40MDA3IDkuMDc0MTcgMTcuNDA4OUM5LjEwMzU3IDE3LjQxNzEgOS4xMzI5OCAxNy40MjQyIDkuMTYzNTYgMTcuNDI4OUM5LjE3MDYyIDE3LjQzMDEgOS4xNzg4OCAxNy40MzEyIDkuMTg1OTMgMTcuNDMyNEM5LjIxNjUyIDE3LjQzNTkgOS4yNDgyNSAxNy40Mzk1IDkuMjgwMDEgMTcuNDM5NUM5LjI5ODgzIDE3LjQzOTUgOS4zMTc2NSAxNy40MzU5IDkuMzM2NDcgMTcuNDM0OEM5LjM2NDcgMTcuNDMyNCA5LjM5MTc4IDE3LjQyODkgOS40MTg4MyAxNy40MjQyQzkuNDQ1ODggMTcuNDE4MyA5LjQ3NDExIDE3LjQxMjQgOS40OTk5OCAxNy40MDQyQzkuNTY5MzggMTcuMzgxOCA5LjYzNDA2IDE3LjM0ODkgOS42OTE3IDE3LjMwNjZDOS43OTk5MSAxNy4yNTQ4IDkuOTEyODQgMTcuMjA3NyAxMC4wMjU4IDE3LjE2MzFDMTAuMTMxNiAxNy4xMjE5IDEwLjIzOTggMTcuMDg0MiAxMC4zNTA0IDE3LjA1MDFDMTAuMzk1MSAxNy4wMzYgMTAuNDM5OCAxNy4wMjMxIDEwLjQ4NDUgMTcuMDEwMUMxMC44OTUgMTYuODk2MSAxMS4zMjkgMTYuODMzNyAxMS43NzcyIDE2LjgzMzdDMTEuOTk2IDE2LjgzMzcgMTIuMjEyNCAxNi44NDY2IDEyLjQyNTMgMTYuODczN0MxMi40OTU5IDE2Ljg4MzEgMTIuNTY2NSAxNi44OTI1IDEyLjYzNTkgMTYuOTA0M0MxMi44Njg4IDE2Ljk0NDMgMTMuMDk0NiAxNy4wMDA3IDEzLjMxMzQgMTcuMDczN0MxMy4zNTY5IDE3LjA4NzggMTMuNDAwNCAxNy4xMDE5IDEzLjQ0MjggMTcuMTE3MkMxMy41NTU3IDE3LjE2MzEgMTMuNjc5MiAxNy4xODc4IDEzLjgwODYgMTcuMTg3OEMxMy44MzkyIDE3LjE4NzggMTMuODY4NiAxNy4xODY2IDEzLjg5OTIgMTcuMTgzMUMxMy45MDg2IDE3LjE4MzEgMTMuOTE4IDE3LjE4MDcgMTMuOTI3NCAxNy4xNzk1QzEzLjk0NzQgMTcuMTc3MiAxMy45Njc0IDE3LjE3NDggMTMuOTg3NCAxNy4xNzAxQzEzLjk5OCAxNy4xNjc4IDE0LjAwODUgMTcuMTY1NCAxNC4wMTkxIDE3LjE2MzFDMTQuMDM2OCAxNy4xNTk1IDE0LjA1NTYgMTcuMTU0OCAxNC4wNzMyIDE3LjE1MDFDMTQuMDgzOCAxNy4xNDY2IDE0LjA5NDQgMTcuMTQ0MiAxNC4xMDUgMTcuMTQwN0MxNC4xMjI2IDE3LjEzNDggMTQuMTQwMyAxNy4xMjg5IDE0LjE1NzkgMTcuMTIxOUMxNC4xNjczIDE3LjExODQgMTQuMTc2OCAxNy4xMTQ4IDE0LjE4NjIgMTcuMTExM0MxNC4yMTA5IDE3LjEwMDcgMTQuMjM1NiAxNy4wODkgMTQuMjU5MSAxNy4wNzcyQzE0LjI2ODUgMTcuMDcyNSAxNC4yNzc5IDE3LjA2NjYgMTQuMjg4NSAxNy4wNjA3QzE0LjMwMjYgMTcuMDUyNSAxNC4zMTY3IDE3LjA0NDMgMTQuMzMwOSAxNy4wMzZDMTQuMzQyNiAxNy4wMjc4IDE0LjM1NDQgMTcuMDE5NiAxNC4zNjYxIDE3LjAxMTNDMTQuMzc2NyAxNy4wMDQzIDE0LjM4NzMgMTYuOTk2IDE0LjM5NjcgMTYuOTg5QzE0LjQwODUgMTYuOTc5NiAxNC40MjE0IDE2Ljk3MDEgMTQuNDMzMiAxNi45NTk2QzE0LjQ0MTQgMTYuOTUyNSAxNC40NDk2IDE2Ljk0NTUgMTQuNDU3OSAxNi45MzcyQzE0LjQ3MDggMTYuOTI1NSAxNC40ODI2IDE2LjkxNDkgMTQuNDk0MyAxNi45MDMxQzE0LjUwMDIgMTYuODk3MiAxNC41MDQ5IDE2Ljg5MTMgMTQuNTEwOCAxNi44ODU1QzE0LjU1NTUgMTYuODM4NCAxNC41OTU1IDE2Ljc4NjcgMTQuNjI5NiAxNi43MzAyQzE0LjYzMiAxNi43MjY3IDE0LjYzMzEgMTYuNzI0MyAxNC42MzU1IDE2LjcyMDhDMTQuNjQ2MSAxNi43MDMxIDE0LjY1NTUgMTYuNjg0MyAxNC42NjQ5IDE2LjY2NjdDMTQuNjY3MiAxNi42NjIgMTQuNjY5NiAxNi42NTYxIDE0LjY3MiAxNi42NTE0QzE0LjY4MTQgMTYuNjMyNiAxNC42ODk2IDE2LjYxMzcgMTQuNjk2NyAxNi41OTQ5QzE0LjY5OSAxNi41OTAyIDE0LjcwMDIgMTYuNTg1NSAxNC43MDI1IDE2LjU4MDhDMTQuNzEwOCAxNi41NjA4IDE0LjcxNzggMTYuNTM5NiAxNC43MjM3IDE2LjUxODVDMTQuNjUyIDE2LjI3OTcgMTQuNDg0OSAxNi4wODA5IDE0LjI2MzggMTUuOTY0NUwxNC4yNjUgMTUuOTcwM1oiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMyIgZD0iTTguNjAwMDEgMTYuODkxMkM4LjU5NjQ4IDE2Ljg3MjQgOC41OTI5NyAxNi44NTQ4IDguNTkxOCAxNi44MzU5QzguNTk0MTUgMTYuODU0OCA4LjU5NjQ4IDE2Ljg3MjQgOC42MDAwMSAxNi44OTEyWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzM0IiBkPSJNMTQuNzI0NiAxNi41MjMxQzE0LjczNTIgMTYuNDg2NiAxNC43NDM0IDE2LjQ0OSAxNC43NTA1IDE2LjQxMDJDMTQuNzQ0NiAxNi40NDkgMTQuNzM2NCAxNi40ODY2IDE0LjcyNDYgMTYuNTIzMVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNSIgZD0iTTguNjAxMjggMTYuOTAxMkM4LjYwMTI4IDE2LjkwMTIgOC42MDEyNyAxNi44OTQyIDguNjAwMSAxNi44OTA2QzguNjAwMSAxNi44OTQyIDguNjAwMSAxNi44OTc3IDguNjAxMjggMTYuOTAxMloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNiIgZD0iTTE0Ljc1NCAxNi4zOTA2QzE0Ljc1NCAxNi4zOTc3IDE0Ljc1MTcgMTYuNDA0NyAxNC43NTA1IDE2LjQxMThDMTQuNzUwNSAxNi40MDQ3IDE0Ljc1MjggMTYuMzk3NyAxNC43NTQgMTYuMzkwNloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNyIgZD0iTTguNzM4NjYgMTYuMzUwMkM4Ljc2NTcxIDE2LjMyMiA4Ljc5Mjc2IDE2LjI5MzggOC44MjA5OSAxNi4yNjY3QzkuNjUwMjQgMTUuNDM5OCAxMC44MDg5IDE0LjkyNTggMTIuMDkyMSAxNC45MjU4QzEyLjkwNzMgMTQuOTI1OCAxMy42MDEzIDE1LjA5NTIgMTQuMjY0NyAxNS40NTg2QzEzLjYwMjUgMTUuMDk1MiAxMi45MDg1IDE0LjkyNTggMTIuMDkyMSAxNC45MjU4QzEwLjgwODkgMTQuOTI1OCA5LjY1MDI0IDE1LjQzOTggOC44MjA5OSAxNi4yNjY3QzguNzkyNzYgMTYuMjkzOCA4Ljc2NTcxIDE2LjMyMiA4LjczODY2IDE2LjM1MDJDOC42NDMzOCAxNi40NjU1IDguNTg2OTEgMTYuNjExNCA4LjU4NjkxIDE2Ljc2OUM4LjU4NjkxIDE2LjYxMDIgOC42NDMzOCAxNi40NjQzIDguNzM4NjYgMTYuMzUwMloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zOCIgZD0iTTE0LjQ0OTcgMTUuNTg1OUMxNC40NTU2IDE1LjU5MDYgMTQuNDYyNiAxNS41OTUzIDE0LjQ2ODUgMTUuNjAxMkMxNC40NjI2IDE1LjU5NTMgMTQuNDU1NiAxNS41OTE4IDE0LjQ0OTcgMTUuNTg1OVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zOSIgZD0iTTguNzM4NjYgMTYuODU5MkM4Ljc2NTcxIDE2LjgzMDkgOC43OTI3NiAxNi44MDI3IDguODIwOTkgMTYuNzc1NkM5LjY1MDI0IDE1Ljk0ODcgMTAuODA4OSAxNS40MzQ3IDEyLjA5MjEgMTUuNDM0N0MxMi45MDczIDE1LjQzNDcgMTMuNjAxMyAxNS42MDQxIDE0LjI2NDcgMTUuOTY3NkMxNC40ODU4IDE2LjA4NCAxNC42NTQgMTYuMjgyOCAxNC43MjQ2IDE2LjUyMTZDMTQuNzM1MiAxNi40ODUxIDE0Ljc0MzQgMTYuNDQ2MyAxNC43NTA1IDE2LjQwODdDMTQuNzUwNSAxNi40MDE2IDE0Ljc1MjggMTYuMzk0NiAxNC43NTQgMTYuMzg3NUMxNC43NTk5IDE2LjM0NzUgMTQuNzYzNCAxNi4zMDc1IDE0Ljc2MzQgMTYuMjY2M0MxNC43NjM0IDE2LjA1OTMgMTQuNjkxNiAxNS44Njk5IDE0LjU3MjggMTUuNzE1OEMxNC41NDExIDE1LjY3NDcgMTQuNTA3IDE1LjYzNDcgMTQuNDY4MiAxNS41OTgyQzE0LjQ2MjMgMTUuNTkyMyAxNC40NTUyIDE1LjU4ODggMTQuNDQ5NCAxNS41ODI5QzE0LjM5MjkgMTUuNTMzNSAxNC4zMzE3IDE1LjQ5IDE0LjI2NDcgMTUuNDU0N0MxMy42MDI1IDE1LjA5MTMgMTIuOTA4NSAxNC45MjE5IDEyLjA5MjEgMTQuOTIxOUMxMC44MDg5IDE0LjkyMTkgOS42NTAyNCAxNS40MzU5IDguODIwOTkgMTYuMjYyOEM4Ljc5Mjc2IDE2LjI4OTkgOC43NjU3MSAxNi4zMTgxIDguNzM4NjYgMTYuMzQ2M0M4LjY0MzM4IDE2LjQ2MTYgOC41ODY5MSAxNi42MDc0IDguNTg2OTEgMTYuNzY1MUM4LjU4NjkxIDE2Ljc4ODYgOC41ODgwOSAxNi44MTA5IDguNTkwNDUgMTYuODMzM0M4LjU5MjggMTYuODUyMSA4LjU5NTE2IDE2Ljg2OTggOC41OTg2OSAxNi44ODg2QzguNTk4NjkgMTYuODkyMSA4LjU5ODY2IDE2Ljg5NTYgOC41OTk4NCAxNi44OTkyQzguNjA5MjUgMTYuOTQyNyA4LjYyMjIgMTYuOTgzOSA4LjYzOTg0IDE3LjAyMzlDOC42NjU3MiAxNi45NjM5IDguNjk3NDkgMTYuOTA3NCA4LjczODY2IDE2Ljg1OFYxNi44NTkyWiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzQwIiBkPSJNMTQuNjk4OCAxNi42MDA2QzE0LjY5MTcgMTYuNjE5NSAxNC42ODIzIDE2LjYzODMgMTQuNjc0MSAxNi42NTcxQzE0LjY3MTggMTYuNjYxOCAxNC42Njk0IDE2LjY2NzcgMTQuNjY3IDE2LjY3MjRDMTQuNjU3NiAxNi42OTEyIDE0LjY0ODIgMTYuNzA4OSAxNC42Mzc2IDE2LjcyNjVDMTQuNjM1MyAxNi43MyAxNC42MzQxIDE2LjczMjQgMTQuNjMxNyAxNi43MzU5QzE0LjU5NzYgMTYuNzkxMiAxNC41NTc2IDE2Ljg0MyAxNC41MTI5IDE2Ljg5MTJDMTQuNTA3MSAxNi44OTcxIDE0LjUwMjQgMTYuOTAzIDE0LjQ5NjUgMTYuOTA4OEMxNC40ODQ3IDE2LjkyMDYgMTQuNDcxOCAxNi45MzI0IDE0LjQ2IDE2Ljk0MjlDMTQuNDUxOCAxNi45NSAxNC40NDM2IDE2Ljk1NzEgMTQuNDM1MyAxNi45NjUzQzE0LjQyMzYgMTYuOTc0NyAxNC40MTE4IDE2Ljk4NTMgMTQuMzk4OSAxNi45OTQ3QzE0LjM4ODMgMTcuMDAyOSAxNC4zNzc3IDE3LjAxIDE0LjM2ODMgMTcuMDE3QzE0LjM1NjUgMTcuMDI1MyAxNC4zNDQ4IDE3LjAzMzUgMTQuMzMzIDE3LjA0MTdDMTQuMzE4OSAxNy4wNSAxNC4zMDQ4IDE3LjA1ODIgMTQuMjkwNiAxNy4wNjY1QzE0LjI4MTIgMTcuMDcyMyAxNC4yNzE4IDE3LjA3ODIgMTQuMjYxMiAxNy4wODI5QzE0LjIzNzcgMTcuMDk1OSAxNC4yMTMgMTcuMTA2NCAxNC4xODgzIDE3LjExN0MxNC4xNzg5IDE3LjEyMDUgMTQuMTY5NSAxNy4xMjQxIDE0LjE2MDEgMTcuMTI3NkMxNC4xNDI0IDE3LjEzNDcgMTQuMTI0OCAxNy4xNDA1IDE0LjEwNzEgMTcuMTQ2NEMxNC4wOTY2IDE3LjE1IDE0LjA4NiAxNy4xNTIzIDE0LjA3NTQgMTcuMTU1OEMxNC4wNTc3IDE3LjE2MDYgMTQuMDQwMSAxNy4xNjUzIDE0LjAyMTMgMTcuMTY4OEMxNC4wMTA3IDE3LjE3MTEgMTQuMDAwMSAxNy4xNzM1IDEzLjk4OTUgMTcuMTc1OEMxMy45Njk1IDE3LjE3OTQgMTMuOTQ5NSAxNy4xODE3IDEzLjkyOTUgMTcuMTg1M0MxMy45MjAxIDE3LjE4NTMgMTMuOTEwNyAxNy4xODc2IDEzLjkwMTMgMTcuMTg4OEMxMy44NzE5IDE3LjE5MTEgMTMuODQxMyAxNy4xOTM1IDEzLjgxMDcgMTcuMTkzNUMxMy42ODEzIDE3LjE5MzUgMTMuNTU3OCAxNy4xNjg4IDEzLjQ0NDkgMTcuMTIyOUMxMy40MDI2IDE3LjEwNzYgMTMuMzU5IDE3LjA5MzUgMTMuMzE1NSAxNy4wNzk0QzEzLjA5NjcgMTcuMDA2NSAxMi44Njk3IDE2Ljk1IDEyLjYzOCAxNi45MUMxMi41Njg2IDE2Ljg5ODIgMTIuNDk4IDE2Ljg4NzcgMTIuNDI3NSAxNi44Nzk0QzEyLjIxNTcgMTYuODUyNCAxMS45OTkzIDE2LjgzOTQgMTEuNzc5MyAxNi44Mzk0QzExLjMzMTIgMTYuODM5NCAxMC44OTgzIDE2LjkwMTggMTAuNDg2NiAxNy4wMTU5QzEwLjQ0MTkgMTcuMDI4OCAxMC4zOTczIDE3LjA0MTggMTAuMzUyNiAxNy4wNTU5QzEwLjI0MzIgMTcuMDkgMTAuMTM0OSAxNy4xMjc2IDEwLjAyNzkgMTcuMTY4OEM5LjkxNDk5IDE3LjIxMjMgOS44MDMyMyAxNy4yNTk0IDkuNjkzODQgMTcuMzEyM0M5LjYzNjIxIDE3LjM1MzUgOS41NzE1MyAxNy4zODc2IDkuNTAyMTMgMTcuNDA5OUM5LjQ3NjI1IDE3LjQxODEgOS40NDgwMyAxNy40MjQgOS40MjA5NyAxNy40Mjk5QzkuMzkzOTIgMTcuNDM1OCA5LjM2Njg0IDE3LjQzODEgOS4zMzg2MSAxNy40NDA1QzkuMzE5NzkgMTcuNDQxNyA5LjMwMDk4IDE3LjQ0NTIgOS4yODIxNiAxNy40NDUyQzkuMjUwNCAxNy40NDUyIDkuMjE4NjMgMTcuNDQyOSA5LjE4ODA1IDE3LjQzODFDOS4xODA5OSAxNy40MzgxIDkuMTcyNzYgMTcuNDM1OCA5LjE2NTcxIDE3LjQzNDZDOS4xMzUxMiAxNy40Mjk5IDkuMTA0NTQgMTcuNDIyOCA5LjA3NjMxIDE3LjQxNDZDOS4wNDY5IDE3LjQwNjQgOS4wMTk4NSAxNy4zOTQ2IDguOTkxNjIgMTcuMzgyOUM4Ljk4NTc0IDE3LjM4MDUgOC45Nzg3IDE3LjM3NyA4Ljk3MjgxIDE3LjM3MzVDOC45NDU3NiAxNy4zNjA1IDguOTE4NjkgMTcuMzQ2NCA4Ljg5Mzk5IDE3LjMyOTlDOC44NjkyOSAxNy4zMTM1IDguODQ1NzggMTcuMjk0NiA4LjgyMzQzIDE3LjI3NThDOC44MTg3MiAxNy4yNzIzIDguODE0IDE3LjI2NzYgOC44MDkzIDE3LjI2NDFDOC43NjQ2IDE3LjIyNDEgOC43MjU3OSAxNy4xNzgyIDguNjk0MDMgMTcuMTI3NkM4LjY5MDUgMTcuMTIyOSA4LjY4ODE3IDE3LjExODIgOC42ODQ2NCAxNy4xMTM1QzguNjY5MzUgMTcuMDg3NiA4LjY1NDA0IDE3LjA2MDYgOC42NDIyOCAxNy4wMzM1QzguNjA5MzUgMTcuMTEyMyA4LjU4OTM2IDE3LjE5NyA4LjU4OTM2IDE3LjI4NzZDOC41ODkzNiAxNy42NTkzIDguODk5ODcgMTcuOTYwNCA5LjI4MzMzIDE3Ljk2MDRDOS4zNjA5NyAxNy45NjA0IDkuNDMzOTEgMTcuOTQ3NSA5LjUwMzMxIDE3LjkyNTFDOS41NzI3IDE3LjkwMjggOS42MzczOCAxNy44Njk4IDkuNjk1MDIgMTcuODI3NUMxMC4zMjQzIDE3LjUyNTIgMTEuMDMxMiAxNy4zNTU4IDExLjc3OTMgMTcuMzU1OEMxMi4zNjM5IDE3LjM1NTggMTIuOTI4NiAxNy40NTExIDEzLjQ0NDkgMTcuNjQwNUMxMy41NTc4IDE3LjY4NTIgMTMuNjgxMyAxNy43MTEgMTMuODEwNyAxNy43MTFDMTQuMzM2NSAxNy43MTEgMTQuNzYzNSAxNy4yOTgyIDE0Ljc2MzUgMTYuNzg3N0MxNC43NjM1IDE2LjY5ODMgMTQuNzUwNiAxNi42MTI0IDE0LjcyNTkgMTYuNTMxMkMxNC43MiAxNi41NTI0IDE0LjcxMjkgMTYuNTcyNCAxNC43MDQ3IDE2LjU5MzZDMTQuNzAyMyAxNi41OTgzIDE0LjcwMTIgMTYuNjAzIDE0LjY5ODggMTYuNjA3N1YxNi42MDA2WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzQxIiBkPSJNMTAuNDg2OCAxNy4wMTI0QzEwLjg5NzMgMTYuODk4MyAxMS4zMzE0IDE2LjgzNTkgMTEuNzc5NSAxNi44MzU5QzExLjk5ODMgMTYuODM1OSAxMi4yMTQ3IDE2Ljg0ODkgMTIuNDI3NiAxNi44NzU5QzEyLjIxNTkgMTYuODQ4OSAxMS45OTk1IDE2LjgzNTkgMTEuNzc5NSAxNi44MzU5QzExLjMzMTQgMTYuODM1OSAxMC44OTg1IDE2Ljg5ODMgMTAuNDg2OCAxNy4wMTI0WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzQyIiBkPSJNMTQuNDM1NCAxNi45NjQ4QzE0LjQyMzYgMTYuOTc0MyAxNC40MTE5IDE2Ljk4NDggMTQuMzk4OSAxNi45OTQzQzE0LjQxMTkgMTYuOTg0OCAxNC40MjM2IDE2Ljk3NTQgMTQuNDM1NCAxNi45NjQ4WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzQzIiBkPSJNMTQuMjg5NyAxNy4wNjY0QzE0LjI4MDMgMTcuMDcyMyAxNC4yNzA4IDE3LjA3ODIgMTQuMjYwMyAxNy4wODI5QzE0LjI2OTcgMTcuMDc4MiAxNC4yNzkxIDE3LjA3MjMgMTQuMjg5NyAxNy4wNjY0WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzQ0IiBkPSJNOC42NDE2IDE3LjAyNzNDOC42NTMzNiAxNy4wNTU2IDguNjY3NDkgMTcuMDgxNSA4LjY4Mzk2IDE3LjEwNzNDOC42Njg2NyAxNy4wODE1IDguNjUzMzYgMTcuMDU0NCA4LjY0MTYgMTcuMDI3M1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl80NSIgZD0iTTE0LjcwMzYgMTYuNTg1OEMxNC43MTE4IDE2LjU2NTggMTQuNzE4OSAxNi41NDQ2IDE0LjcyNDggMTYuNTIzNEMxNC43MTg5IDE2LjU0NDYgMTQuNzExOCAxNi41NjQ2IDE0LjcwMzYgMTYuNTg1OFoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl80NiIgZD0iTTguODkxODggMTcuMzIzNkM4Ljg2NzE3IDE3LjMwNzIgOC44NDM2NCAxNy4yODg0IDguODIxMjkgMTcuMjY5NUM4Ljg0MzY0IDE3LjI4OTUgOC44NjcxNyAxNy4zMDcyIDguODkxODggMTcuMzIzNloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl80NyIgZD0iTTkuMTY0NTkgMTcuNDMwMkM5LjEzNDAxIDE3LjQyNTUgOS4xMDM0MyAxNy40MTg0IDkuMDc1MiAxNy40MTAyQzkuMTA0NiAxNy40MTg0IDkuMTM0MDEgMTcuNDI1NSA5LjE2NDU5IDE3LjQzMDJaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNDgiIGQ9Ik0xMC4zNTI1IDE3LjA1MDhDMTAuMjQzMSAxNy4wODQ5IDEwLjEzNDkgMTcuMTIyNSAxMC4wMjc4IDE3LjE2MzdDMTAuMTMzNyAxNy4xMjI1IDEwLjI0MTkgMTcuMDg0OSAxMC4zNTI1IDE3LjA1MDhaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNDkiIGQ9Ik05LjQyMTIzIDE3LjQyNThDOS4zOTQxNyAxNy40MzE3IDkuMzY3MSAxNy40MzQgOS4zMzg4NyAxNy40MzY0QzkuMzY3MSAxNy40MzQgOS4zOTQxNyAxNy40MzA1IDkuNDIxMjMgMTcuNDI1OFoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl81MCIgZD0iTTkuMDczOTQgMTcuNDEwN0M5LjA0NDU0IDE3LjQwMjQgOS4wMTc0OSAxNy4zOTA3IDguOTg5MjYgMTcuMzc4OUM5LjAxNjMxIDE3LjM5MDcgOS4wNDQ1NCAxNy40MDI0IDkuMDczOTQgMTcuNDEwN1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl81MSIgZD0iTTkuMjgyMDkgMTcuNDQwNkM5LjI1MDM0IDE3LjQ0MDYgOS4yMTg1NyAxNy40MzgzIDkuMTg3OTkgMTcuNDMzNkM5LjIxODU3IDE3LjQzNzEgOS4yNTAzNCAxNy40NDA2IDkuMjgyMDkgMTcuNDQwNloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl81MiIgZD0iTTE0LjY2NjEgMTYuNjcxOUMxNC42NTY3IDE2LjY5MDcgMTQuNjQ3MyAxNi43MDgzIDE0LjYzNjcgMTYuNzI2QzE0LjY0NzMgMTYuNzA4MyAxNC42NTY3IDE2LjY4OTUgMTQuNjY2MSAxNi42NzE5WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzUzIiBkPSJNMTQuNjk5IDE2LjU5NzdDMTQuNjkyIDE2LjYxNjUgMTQuNjgyNiAxNi42MzUzIDE0LjY3NDMgMTYuNjU0MUMxNC42ODM3IDE2LjYzNTMgMTQuNjkyIDE2LjYxNjUgMTQuNjk5IDE2LjU5NzdaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNTQiIGQ9Ik0xNC40OTY0IDE2LjkwNjJDMTQuNDg0NyAxNi45MTggMTQuNDcxNyAxNi45Mjk4IDE0LjQ2IDE2Ljk0MDRDMTQuNDcyOSAxNi45Mjg2IDE0LjQ4NDcgMTYuOTE4IDE0LjQ5NjQgMTYuOTA2MloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl81NSIgZD0iTTE0LjYzMDUgMTYuNzM4M0MxNC41OTY0IDE2Ljc5MzYgMTQuNTU2NCAxNi44NDUzIDE0LjUxMTcgMTYuODkzNkMxNC41NTY0IDE2Ljg0NjUgMTQuNTk2NCAxNi43OTQ3IDE0LjYzMDUgMTYuNzM4M1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl81NiIgZD0iTTEzLjkyODYgMTcuMTgzNkMxMy45MTkyIDE3LjE4MzYgMTMuOTA5OCAxNy4xODU5IDEzLjkwMDQgMTcuMTg3MUMxMy45MDk4IDE3LjE4NzEgMTMuOTE5MiAxNy4xODQ4IDEzLjkyODYgMTcuMTgzNloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl81NyIgZD0iTTE4LjMzNSAxNS43MTkyQzE4LjM2NjcgMTUuNjc4IDE4LjQwMDggMTUuNjM4IDE4LjQzOTcgMTUuNjAxNkMxOC40MDA4IDE1LjYzNjkgMTguMzY2NyAxNS42NzY4IDE4LjMzNSAxNS43MTkyWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzU4IiBkPSJNMTguMTU3MiAxNi40MTAyQzE4LjE2MzEgMTYuNDQ5IDE4LjE3MTQgMTYuNDg2NiAxOC4xODMxIDE2LjUyMzFDMTguMTcyNSAxNi40ODY2IDE4LjE2NDMgMTYuNDQ3OCAxOC4xNTcyIDE2LjQxMDJaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfNTkiIGQ9Ik0yNC4zMTczIDE2LjgzNTlDMjQuMzE1IDE2Ljg1NDggMjQuMzEyNiAxNi44NzI0IDI0LjMwOTEgMTYuODkwMUMyNC4zMTI2IDE2Ljg3MjQgMjQuMzE2MSAxNi44NTM2IDI0LjMxNzMgMTYuODM1OVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl82MCIgZD0iTTE4LjY0MjYgMTUuNDU3QzE4LjU3MiAxNS40OTQ3IDE4LjUwNzMgMTUuNTQwNSAxOC40NDk3IDE1LjU5MjNDMTguNTA3MyAxNS41NDA1IDE4LjU3MiAxNS40OTM1IDE4LjY0MjYgMTUuNDU3WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzYxIiBkPSJNMTguMjA5MSAxNi41OTg4QzE4LjIxNjIgMTYuNjE3NyAxOC4yMjU2IDE2LjYzNjUgMTguMjMzOCAxNi42NTUzQzE4LjIzNjEgMTYuNjYgMTguMjM4NSAxNi42NjU5IDE4LjI0MDkgMTYuNjcwNkMxOC4yNTAzIDE2LjY4OTQgMTguMjU5NyAxNi43MDcxIDE4LjI3MDMgMTYuNzI0N0MxOC4yNzI2IDE2LjcyODIgMTguMjczOCAxNi43MzA2IDE4LjI3NjEgMTYuNzM0MUMxOC4zMTAyIDE2Ljc4OTQgMTguMzUwMiAxNi44NDEyIDE4LjM5NDkgMTYuODg5NEMxOC40MDA4IDE2Ljg5NTMgMTguNDA1NSAxNi45MDExIDE4LjQxMTQgMTYuOTA3QzE4LjQyMzIgMTYuOTE4OCAxOC40MzYxIDE2LjkzMDUgMTguNDQ3OSAxNi45NDExQzE4LjQ1NjEgMTYuOTQ4MiAxOC40NjQzIDE2Ljk1NjQgMTguNDcyNiAxNi45NjM1QzE4LjQ4NDMgMTYuOTcyOSAxOC40OTYxIDE2Ljk4MzUgMTguNTA5IDE2Ljk5MjlDMTguNTE5NiAxNy4wMDExIDE4LjUzMDIgMTcuMDA4MiAxOC41Mzk2IDE3LjAxNTJDMTguNTUxNCAxNy4wMjM1IDE4LjU2MzEgMTcuMDMxNyAxOC41NzQ5IDE3LjAzOTlDMTguNTg5IDE3LjA0ODIgMTguNjAzMSAxNy4wNTY0IDE4LjYxNzIgMTcuMDY0NkMxOC42MjY3IDE3LjA3MDUgMTguNjM2MSAxNy4wNzY0IDE4LjY0NjcgMTcuMDgxMUMxOC42NzAyIDE3LjA5NCAxOC42OTQ5IDE3LjEwNDYgMTguNzE5NiAxNy4xMTUyQzE4LjcyOSAxNy4xMTg3IDE4LjczODQgMTcuMTIyMyAxOC43NDc4IDE3LjEyNThDMTguNzY1NCAxNy4xMzI5IDE4Ljc4MzEgMTcuMTM4NyAxOC44MDA4IDE3LjE0NDZDMTguODExMyAxNy4xNDgxIDE4LjgyMTkgMTcuMTUwNSAxOC44MzI1IDE3LjE1NEMxOC44NTAyIDE3LjE1ODcgMTguODY3OCAxNy4xNjM0IDE4Ljg4NjYgMTcuMTY3QzE4Ljg5NzIgMTcuMTY5MyAxOC45MDc4IDE3LjE3MTcgMTguOTE4NCAxNy4xNzRDMTguOTM4NCAxNy4xNzc2IDE4Ljk1ODQgMTcuMTc5OSAxOC45Nzg0IDE3LjE4MzRDMTguOTg3OCAxNy4xODM0IDE4Ljk5NzIgMTcuMTg1OCAxOS4wMDY2IDE3LjE4N0MxOS4wMzYgMTcuMTg5MyAxOS4wNjY2IDE3LjE5MTcgMTkuMDk3MiAxNy4xOTE3QzE5LjIyNjYgMTcuMTkxNyAxOS4zNSAxNy4xNjcgMTkuNDYzIDE3LjEyMTFDMTkuNTA1MyAxNy4xMDU4IDE5LjU0ODggMTcuMDkxNyAxOS41OTI0IDE3LjA3NzZDMTkuODExMSAxNy4wMDQ2IDIwLjAzODIgMTYuOTQ4MiAyMC4yNjk5IDE2LjkwODJDMjAuMzM5MyAxNi44OTY0IDIwLjQwOTggMTYuODg1OSAyMC40ODA0IDE2Ljg3NzZDMjAuNjkyMSAxNi44NTA2IDIwLjkwODYgMTYuODM3NiAyMS4xMjg1IDE2LjgzNzZDMjEuNTk2NyAxNi44Mzc2IDIyLjA0ODQgMTYuOTA0NyAyMi40NzQyIDE3LjAyODJDMjIuNjExOCAxNy4wNjgyIDIyLjc0NzEgMTcuMTE1MiAyMi44Nzg4IDE3LjE2N0MyMi45OTE3IDE3LjIxMDUgMjMuMTAzNSAxNy4yNTc1IDIzLjIxMjkgMTcuMzEwNUMyMy4yNzA1IDE3LjM1MTYgMjMuMzM1MiAxNy4zODU3IDIzLjQwNDYgMTcuNDA4MUMyMy40MzA1IDE3LjQxNjMgMjMuNDU4NyAxNy40MjIyIDIzLjQ4NTcgMTcuNDI4MUMyMy41MTI4IDE3LjQzNCAyMy41Mzk4IDE3LjQzNjMgMjMuNTY4MSAxNy40Mzg3QzIzLjU4NjkgMTcuNDM5OSAyMy42MDU3IDE3LjQ0MzQgMjMuNjI0NiAxNy40NDM0QzIzLjY1NjMgMTcuNDQzNCAyMy42ODgxIDE3LjQ0MSAyMy43MTg2IDE3LjQzNjNDMjMuNzI1NyAxNy40MzYzIDIzLjczNCAxNy40MzQgMjMuNzQxIDE3LjQzMjhDMjMuNzcxNiAxNy40MjgxIDIzLjgwMjIgMTcuNDIxIDIzLjgzMDQgMTcuNDEyOEMyMy44NTk4IDE3LjQwNDYgMjMuODg2OSAxNy4zOTI4IDIzLjkxNTEgMTcuMzgxQzIzLjkyMSAxNy4zNzg3IDIzLjkyOCAxNy4zNzUyIDIzLjkzMzkgMTcuMzcxNkMyMy45NjEgMTcuMzU4NyAyMy45ODggMTcuMzQ0NiAyNC4wMTI3IDE3LjMyODFDMjQuMDM3NCAxNy4zMTE3IDI0LjA2MDkgMTcuMjkyOCAyNC4wODMzIDE3LjI3NEMyNC4wODggMTcuMjcwNSAyNC4wOTI3IDE3LjI2NTggMjQuMDk3NCAxNy4yNjIyQzI0LjE0MjEgMTcuMjIyMiAyNC4xODA5IDE3LjE3NjQgMjQuMjEyNyAxNy4xMjU4QzI0LjIxNjIgMTcuMTIxMSAyNC4yMTg1IDE3LjExNjQgMjQuMjIyMSAxNy4xMTE3QzI0LjIzNzQgMTcuMDg1OCAyNC4yNTI3IDE3LjA1ODggMjQuMjY0NCAxNy4wMzE3QzI0LjIzOTcgMTYuOTcxNyAyNC4yMDY4IDE2LjkxNTIgMjQuMTY1NiAxNi44NjU4QzI0LjEzODYgMTYuODM3NiAyNC4xMTE1IDE2LjgwOTQgMjQuMDgzMyAxNi43ODIzQzIzLjI1NCAxNS45NTU0IDIyLjA5NTQgMTUuNDQxNCAyMC44MTIxIDE1LjQ0MTRDMTkuOTk3IDE1LjQ0MTQgMTkuMzAzIDE1LjYxMDggMTguNjM5NiAxNS45NzQzQzE4LjQxODUgMTYuMDkwNyAxOC4yNTAzIDE2LjI4OTUgMTguMTc5NyAxNi41MjgzQzE4LjE4NTYgMTYuNTQ5NCAxOC4xOTI2IDE2LjU2OTQgMTguMjAwOSAxNi41OTA2QzE4LjIwMzIgMTYuNTk1MyAxOC4yMDQ0IDE2LjYgMTguMjA2NyAxNi42MDQ3TDE4LjIwOTEgMTYuNTk4OFoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl82MiIgZD0iTTIwLjgxNTEgMTQuOTI1OEMyMi4wOTg0IDE0LjkyNTggMjMuMjU3IDE1LjQzOTggMjQuMDg2MyAxNi4yNjY3QzI0LjExNDUgMTYuMjkzOCAyNC4xNDE2IDE2LjMyMiAyNC4xNjg2IDE2LjM1MDJDMjQuMjYzOSAxNi40NjU1IDI0LjMyMDMgMTYuNjExNCAyNC4zMjAzIDE2Ljc2OUMyNC4zMjAzIDE2LjYxMDIgMjQuMjYzOSAxNi40NjQzIDI0LjE2ODYgMTYuMzUwMkMyNC4xNDE2IDE2LjMyMiAyNC4xMTQ1IDE2LjI5MzggMjQuMDg2MyAxNi4yNjY3QzIzLjI1NyAxNS40Mzk4IDIyLjA5ODQgMTQuOTI1OCAyMC44MTUxIDE0LjkyNThDMjAgMTQuOTI1OCAxOS4zMDYgMTUuMDk1MiAxOC42NDI2IDE1LjQ1ODZDMTkuMzA0OCAxNS4wOTUyIDE5Ljk5ODggMTQuOTI1OCAyMC44MTUxIDE0LjkyNThaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfNjMiIGQ9Ik0xOC40NDA0IDE1LjYwMkMxOC40NDA0IDE1LjYwMiAxOC40NDc1IDE1LjU5NjEgMTguNDUxIDE1LjU5MzhDMTguNDQ3NSAxNS41OTYxIDE4LjQ0NCAxNS41OTg0IDE4LjQ0MDQgMTUuNjAyWiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzY0IiBkPSJNMjQuMzA5IDE2Ljg5MDZDMjQuMzA5IDE2Ljg5MDYgMjQuMzA5IDE2Ljg5NzcgMjQuMzA2NiAxNi45MDI0QzI0LjMwNjYgMTYuODk4OSAyNC4zMDY2IDE2Ljg5NTMgMjQuMzA5IDE2Ljg5MDZaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfNjUiIGQ9Ik0xOC4xNTczIDE2LjQxMThDMTguMTU3MyAxNi40MDQ3IDE4LjE1NSAxNi4zOTc3IDE4LjE1MzggMTYuMzkwNkMxOC4xNTM4IDE2LjM5NzcgMTguMTU2MSAxNi40MDQ3IDE4LjE1NzMgMTYuNDExOFoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl82NiIgZD0iTTE4LjE1NzMgMTYuNDExNEMxOC4xNjMxIDE2LjQ1MDIgMTguMTcxNCAxNi40ODc5IDE4LjE4MzIgMTYuNTI0M0MxOC4yNTQ5IDE2LjI4NTUgMTguNDIxOSAxNi4wODY3IDE4LjY0MzEgMTUuOTcwM0MxOS4zMDUzIDE1LjYwNjggMTkuOTk5MyAxNS40Mzc1IDIwLjgxNTYgMTUuNDM3NUMyMi4wOTg5IDE1LjQzNzUgMjMuMjU3NSAxNS45NTE1IDI0LjA4NjggMTYuNzc4NEMyNC4xMTUgMTYuODA1NCAyNC4xNDIgMTYuODMzNyAyNC4xNjkxIDE2Ljg2MTlDMjQuMjEwMyAxNi45MTEzIDI0LjI0MiAxNi45Njc4IDI0LjI2NzkgMTcuMDI3N0MyNC4yODU1IDE2Ljk4NzggMjQuMjk4NSAxNi45NDY2IDI0LjMwNzkgMTYuOTAzMUMyNC4zMDc5IDE2Ljg5OTUgMjQuMzA3OSAxNi44OTYgMjQuMzEwMiAxNi44OTEzQzI0LjMxMzggMTYuODczNyAyNC4zMTczIDE2Ljg1NDggMjQuMzE4NSAxNi44MzcyQzI0LjMyMDggMTYuODE0OCAyNC4zMjIgMTYuNzkyNSAyNC4zMjIgMTYuNzY5QzI0LjMyMiAxNi42MTAyIDI0LjI2NTUgMTYuNDY0MyAyNC4xNzAzIDE2LjM1MDJDMjQuMTQzMiAxNi4zMjIgMjQuMTE2MiAxNi4yOTM4IDI0LjA4NzkgMTYuMjY2N0MyMy4yNTg3IDE1LjQzOTggMjIuMTAwMSAxNC45MjU4IDIwLjgxNjggMTQuOTI1OEMyMC4wMDE2IDE0LjkyNTggMTkuMzA3NiAxNS4wOTUyIDE4LjY0NDIgMTUuNDU4NkMxOC41NzM3IDE1LjQ5NjMgMTguNTA5IDE1LjU0MjEgMTguNDUxMyAxNS41OTM5QzE4LjQ0NzggMTUuNTk2MyAxOC40NDQzIDE1LjU5ODYgMTguNDQwNyAxNS42MDIxQzE4LjQwMTkgMTUuNjM3NCAxOC4zNjc4IDE1LjY3NzQgMTguMzM2IDE1LjcxOThDMTguMjE3MiAxNS44NzM4IDE4LjE0NTUgMTYuMDYzMiAxOC4xNDU1IDE2LjI3MDJDMTguMTQ1NSAxNi4zMTE0IDE4LjE0OSAxNi4zNTE0IDE4LjE1NDkgMTYuMzkxNEMxOC4xNTQ5IDE2LjM5ODUgMTguMTU3MyAxNi40MDU1IDE4LjE1ODQgMTYuNDEyNkwxOC4xNTczIDE2LjQxMTRaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfNjciIGQ9Ik0yNC4yMTU3IDE3LjEyMjlDMjQuMTg0IDE3LjE3MzUgMjQuMTQ1MiAxNy4yMTk0IDI0LjEwMDUgMTcuMjU5NEMyNC4wOTU3IDE3LjI2NDEgMjQuMDkxMSAxNy4yNjc2IDI0LjA4NjQgMTcuMjcxMkMyNC4wNjQgMTcuMjkxMiAyNC4wNDA1IDE3LjMwODggMjQuMDE1OCAxNy4zMjUzQzIzLjk5MTEgMTcuMzQxNyAyMy45NjQgMTcuMzU1OCAyMy45MzcgMTcuMzY4OEMyMy45MzExIDE3LjM3MjMgMjMuOTI0IDE3LjM3NDcgMjMuOTE4MiAxNy4zNzgyQzIzLjg5MTEgMTcuMzkgMjMuODYyOCAxNy40MDE3IDIzLjgzMzQgMTcuNDA5OUMyMy44MDQgMTcuNDE4MiAyMy43NzQ2IDE3LjQyNTIgMjMuNzQ0IDE3LjQyOTlDMjMuNzM3IDE3LjQzMTEgMjMuNzI4OCAxNy40MzIzIDIzLjcyMTcgMTcuNDMzNUMyMy42OTExIDE3LjQzNyAyMy42NTk0IDE3LjQ0MDUgMjMuNjI3NiAxNy40NDA1QzIzLjYwODggMTcuNDQwNSAyMy41OSAxNy40MzcgMjMuNTcxMSAxNy40MzU4QzIzLjU0MjkgMTcuNDMzNSAyMy41MTU5IDE3LjQyOTkgMjMuNDg4OCAxNy40MjUyQzIzLjQ2MTggMTcuNDE5NCAyMy40MzM1IDE3LjQxMzUgMjMuNDA3NyAxNy40MDUzQzIzLjMzODMgMTcuMzgyOSAyMy4yNzM1IDE3LjM1IDIzLjIxNTkgMTcuMzA3NkMyMy4xMDc3IDE3LjI1NTkgMjIuOTk0OCAxNy4yMDg4IDIyLjg4MTkgMTcuMTY0MUMyMi43NDkgMTcuMTEyNCAyMi42MTQ5IDE3LjA2NTMgMjIuNDc3MyAxNy4wMjUzQzIyLjA1MDMgMTYuOTAxOCAyMS41OTg2IDE2LjgzNDggMjEuMTMxNiAxNi44MzQ4QzIwLjkxMjggMTYuODM0OCAyMC42OTY0IDE2Ljg0NzcgMjAuNDgzNSAxNi44NzQ4QzIwLjQxMjkgMTYuODg0MiAyMC4zNDI0IDE2Ljg5MzYgMjAuMjczIDE2LjkwNTNDMjAuMDQwMSAxNi45NDUzIDE5LjgxNDIgMTcuMDAxOCAxOS41OTU0IDE3LjA3NDdDMTkuNTUxOSAxNy4wODg4IDE5LjUwODQgMTcuMTAyOSAxOS40NjYgMTcuMTE4MkMxOS4zNTMxIDE3LjE2NDEgMTkuMjI5NiAxNy4xODg4IDE5LjEwMDIgMTcuMTg4OEMxOS4wNjk2IDE3LjE4ODggMTkuMDQwMiAxNy4xODc2IDE5LjAwOTYgMTcuMTg0MUMxOS4wMDAyIDE3LjE4NDEgMTguOTkwOCAxNy4xODE4IDE4Ljk4MTQgMTcuMTgwNkMxOC45NjE0IDE3LjE3ODIgMTguOTQxNCAxNy4xNzU5IDE4LjkyMTQgMTcuMTcxMkMxOC45MTA4IDE3LjE2ODggMTguOTAwMyAxNy4xNjY1IDE4Ljg4OTcgMTcuMTY0MUMxOC44NzIgMTcuMTYwNiAxOC44NTMyIDE3LjE1NTkgMTguODM1NiAxNy4xNTEyQzE4LjgyNSAxNy4xNDc2IDE4LjgxNDQgMTcuMTQ1MyAxOC44MDM4IDE3LjE0MThDMTguNzg2MSAxNy4xMzU5IDE4Ljc2ODUgMTcuMTMgMTguNzUwOSAxNy4xMjI5QzE4Ljc0MTUgMTcuMTE5NCAxOC43MzIgMTcuMTE1OSAxOC43MjI2IDE3LjExMjRDMTguNjk3OSAxNy4xMDE4IDE4LjY3MzIgMTcuMDkgMTguNjQ5NyAxNy4wNzgzQzE4LjY0MDMgMTcuMDczNSAxOC42MzA5IDE3LjA2NzcgMTguNjIwMyAxNy4wNjE4QzE4LjYwNjIgMTcuMDUzNSAxOC41OTIxIDE3LjA0NTMgMTguNTc4IDE3LjAzNzFDMTguNTY2MiAxNy4wMjg5IDE4LjU1NDQgMTcuMDIwNiAxOC41NDI3IDE3LjAxMjRDMTguNTMyMSAxNy4wMDUzIDE4LjUyMTUgMTYuOTk3MSAxOC41MTIxIDE2Ljk5QzE4LjQ5OTEgMTYuOTgwNiAxOC40ODc0IDE2Ljk3MTIgMTguNDc1NiAxNi45NjA2QzE4LjQ2NzQgMTYuOTUzNiAxOC40NTkxIDE2Ljk0NjUgMTguNDUwOSAxNi45MzgzQzE4LjQzOCAxNi45MjY1IDE4LjQyNjIgMTYuOTE1OSAxOC40MTQ1IDE2LjkwNDJDMTguNDA4NiAxNi44OTgzIDE4LjQwMzkgMTYuODkyNCAxOC4zOTggMTYuODg2NUMxOC4zNTMzIDE2LjgzOTUgMTguMzEzMyAxNi43ODc3IDE4LjI3OTIgMTYuNzMxM0MxOC4yNzY4IDE2LjcyNzcgMTguMjc1NyAxNi43MjU0IDE4LjI3MzMgMTYuNzIxOEMxOC4yNjI3IDE2LjcwNDIgMTguMjUzMyAxNi42ODU0IDE4LjI0MzkgMTYuNjY3N0MxOC4yNDE2IDE2LjY2MyAxOC4yMzkyIDE2LjY1NzIgMTguMjM2OSAxNi42NTI0QzE4LjIyNzQgMTYuNjMzNiAxOC4yMTkyIDE2LjYxNDggMTguMjEyMiAxNi41OTZDMTguMjA5OCAxNi41OTEzIDE4LjIwODYgMTYuNTg2NiAxOC4yMDYzIDE2LjU4MTlDMTguMTk4IDE2LjU2MTkgMTguMTkxIDE2LjU0MDcgMTguMTg1MSAxNi41MTk1QzE4LjE2MDQgMTYuNjAwNyAxOC4xNDc1IDE2LjY4NzcgMTguMTQ3NSAxNi43NzZDMTguMTQ3NSAxNy4yODUzIDE4LjU3NDQgMTcuNjk5MyAxOS4xMDAyIDE3LjY5OTNDMTkuMjI5NiAxNy42OTkzIDE5LjM1MzEgMTcuNjc0NiAxOS40NjYgMTcuNjI4N0MxOS45ODI0IDE3LjQzOTQgMjAuNTQ3IDE3LjM0NDEgMjEuMTMxNiAxNy4zNDQxQzIxLjg3OTcgMTcuMzQ0MSAyMi41ODc4IDE3LjUxNDYgMjMuMjE1OSAxNy44MTU4QzIzLjI3MzUgMTcuODU2OSAyMy4zMzgzIDE3Ljg5MSAyMy40MDc3IDE3LjkxMzRDMjMuNDc3MSAxNy45MzU3IDIzLjU1MTEgMTcuOTQ4NyAyMy42Mjc2IDE3Ljk0ODdDMjQuMDExMSAxNy45NDg3IDI0LjMyMTYgMTcuNjQ3NiAyNC4zMjE2IDE3LjI3NTlDMjQuMzIxNiAxNy4xODUzIDI0LjMwMTYgMTcuMTAwNiAyNC4yNjg3IDE3LjAyMThDMjQuMjU2OSAxNy4wNSAyNC4yNDI4IDE3LjA3NTkgMjQuMjI2MyAxNy4xMDE4QzI0LjIyMjggMTcuMTA2NSAyNC4yMjA0IDE3LjExMTIgMjQuMjE2OSAxNy4xMTU5TDI0LjIxNTcgMTcuMTIyOVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl82OCIgZD0iTTE5LjAwNzcgMTcuMTg3MUMxOC45OTgzIDE3LjE4NzEgMTguOTg4OSAxNy4xODQ4IDE4Ljk3OTUgMTcuMTgzNkMxOC45ODg5IDE3LjE4MzYgMTguOTk4MyAxNy4xODU5IDE5LjAwNzcgMTcuMTg3MVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl82OSIgZD0iTTI0LjIyNTYgMTcuMTA3M0MyNC4yNDA5IDE3LjA4MTUgMjQuMjU2MiAxNy4wNTQ0IDI0LjI2NzkgMTcuMDI3M0MyNC4yNTYyIDE3LjA1NTYgMjQuMjQyMSAxNy4wODE1IDI0LjIyNTYgMTcuMTA3M1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl83MCIgZD0iTTE4LjQ0OTEgMTYuOTQ0M0MxOC40MzYxIDE2LjkzMjUgMTguNDI0NCAxNi45MjE5IDE4LjQxMjYgMTYuOTEwMkMxOC40MjQ0IDE2LjkyMTkgMTguNDM3MyAxNi45MzM3IDE4LjQ0OTEgMTYuOTQ0M1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl83MSIgZD0iTTIzLjgzMzUgMTcuNDEwMkMyMy44MDQxIDE3LjQxODQgMjMuNzc0NyAxNy40MjU1IDIzLjc0NDEgMTcuNDMwMkMyMy43NzQ3IDE3LjQyNTUgMjMuODA1MyAxNy40MTg0IDIzLjgzMzUgMTcuNDEwMloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl83MiIgZD0iTTIzLjU2OTEgMTcuNDM2NEMyMy41NDA5IDE3LjQzNCAyMy41MTM5IDE3LjQzMDUgMjMuNDg2OCAxNy40MjU4QzIzLjUxMzkgMTcuNDMxNyAyMy41NDA5IDE3LjQzNCAyMy41NjkxIDE3LjQzNjRaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNzMiIGQ9Ik0yMi44Nzk3IDE3LjE2NjFDMjIuNzQ2OCAxNy4xMTQ0IDIyLjYxMjcgMTcuMDY3MyAyMi40NzUxIDE3LjAyNzNDMjIuNjEyNyAxNy4wNjczIDIyLjc0OCAxNy4xMTQ0IDIyLjg3OTcgMTcuMTY2MVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl83NCIgZD0iTTE4LjY0NzYgMTcuMDgyOUMxOC42MzgyIDE3LjA3ODIgMTguNjI4OCAxNy4wNzIzIDE4LjYxODIgMTcuMDY2NEMxOC42Mjc2IDE3LjA3MjMgMTguNjM3IDE3LjA3ODIgMTguNjQ3NiAxNy4wODI5WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzc1IiBkPSJNMTguMTgzMSAxNi41MjM0QzE4LjE4OSAxNi41NDQ2IDE4LjE5NiAxNi41NjQ2IDE4LjIwNDMgMTYuNTg1OEMxOC4xOTYgMTYuNTY1OCAxOC4xODkgMTYuNTQ0NiAxOC4xODMxIDE2LjUyMzRaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNzYiIGQ9Ik0xOC41MDkxIDE2Ljk5NDNDMTguNDk3NCAxNi45ODQ4IDE4LjQ4NDQgMTYuOTc1NCAxOC40NzI3IDE2Ljk2NDhDMTguNDg0NCAxNi45NzQzIDE4LjQ5NjIgMTYuOTg0OCAxOC41MDkxIDE2Ljk5NDNaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNzciIGQ9Ik0xOC4yMzQ3IDE2LjY1NDFDMTguMjI1MiAxNi42MzUzIDE4LjIxNyAxNi42MTY1IDE4LjIxIDE2LjU5NzdDMTguMjE3IDE2LjYxNjUgMTguMjI2NCAxNi42MzUzIDE4LjIzNDcgMTYuNjU0MVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl83OCIgZD0iTTE4LjI3MTEgMTYuNzI2QzE4LjI2MDUgMTYuNzA4MyAxOC4yNTExIDE2LjY4OTUgMTguMjQxNyAxNi42NzE5QzE4LjI1MTEgMTYuNjkwNyAxOC4yNjA1IDE2LjcwODMgMTguMjcxMSAxNi43MjZaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNzkiIGQ9Ik0xOC4zOTU3IDE2Ljg5MzZDMTguMzUxIDE2Ljg0NjUgMTguMzExIDE2Ljc5NDcgMTguMjc2OSAxNi43MzgzQzE4LjMxMSAxNi43OTM2IDE4LjM1MSAxNi44NDUzIDE4LjM5NTcgMTYuODkzNloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl84MCIgZD0iTTIzLjkxODIgMTcuMzc4OUMyMy44OTEyIDE3LjM5MDcgMjMuODYyOSAxNy40MDI0IDIzLjgzMzUgMTcuNDEwN0MyMy44NjI5IDE3LjQwMjQgMjMuODkgMTcuMzkwNyAyMy45MTgyIDE3LjM3ODlaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfODEiIGQ9Ik0yMC40ODE0IDE2Ljg3NTlDMjAuNjkzMiAxNi44NDg5IDIwLjkwOTYgMTYuODM1OSAyMS4xMjk2IDE2LjgzNTlDMjEuNTk3NyAxNi44MzU5IDIyLjA0OTQgMTYuOTAzIDIyLjQ3NTIgMTcuMDI2NUMyMi4wNDgyIDE2LjkwMyAyMS41OTY1IDE2LjgzNTkgMjEuMTI5NiAxNi44MzU5QzIwLjkxMDggMTYuODM1OSAyMC42OTQzIDE2Ljg0ODkgMjAuNDgxNCAxNi44NzU5WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzgyIiBkPSJNMjQuMDg2NyAxNy4yNjk1QzI0LjA2NDQgMTcuMjg5NSAyNC4wNDA4IDE3LjMwNzIgMjQuMDE2MSAxNy4zMjM2QzI0LjA0MDggMTcuMzA3MiAyNC4wNjQ0IDE3LjI4ODQgMjQuMDg2NyAxNy4yNjk1WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzgzIiBkPSJNMjMuNjI3IDE3LjQ0MDZDMjMuNjU4NyAxNy40NDA2IDIzLjY5MDUgMTcuNDM4MyAyMy43MjExIDE3LjQzMzZDMjMuNjkwNSAxNy40MzcxIDIzLjY1ODcgMTcuNDQwNiAyMy42MjcgMTcuNDQwNloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl84NCIgZD0iTTI2LjEwNjQgMTEuMzM5OEMyNi4xMTU5IDExLjM1MjggMjYuMTIyOSAxMS4zNjQ2IDI2LjEzMTEgMTEuMzc3NUMyNi4xMjI5IDExLjM2NDYgMjYuMTE0NyAxMS4zNTI4IDI2LjEwNjQgMTEuMzM5OFoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl84NSIgZD0iTTI2LjM2NDcgMTEuOTM3NUMyNi4zNjU5IDExLjk1NjMgMjYuMzY3MSAxMS45NzQgMjYuMzY1OSAxMS45OTE2QzI2LjM2NTkgMTEuOTc0IDI2LjM2NTkgMTEuOTU2MyAyNi4zNjQ3IDExLjkzNzVaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfODYiIGQ9Ik0yNi4zNTMgMTEuODU5NEMyNi4zNTY2IDExLjg3ODIgMjYuMzYwMSAxMS44OTU4IDI2LjM2MjQgMTEuOTEzNUMyNi4zNjAxIDExLjg5NTggMjYuMzU3NyAxMS44NzgyIDI2LjM1MyAxMS44NTk0WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzg3IiBkPSJNMjYuMjQ2NiAxMS41NzAzQzI2LjI1NDggMTEuNTg1NiAyNi4yNjA3IDExLjYwMDkgMjYuMjY3OCAxMS42MTVDMjYuMjYwNyAxMS41OTk3IDI2LjI1MzYgMTEuNTg1NiAyNi4yNDY2IDExLjU3MDNaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfODgiIGQ9Ik0yNi4zMjk2IDExLjc2OTVDMjYuMzM1NSAxMS43ODcyIDI2LjM0MDIgMTEuODA0OCAyNi4zNDM3IDExLjgyMjVDMjYuMzM5IDExLjgwNDggMjYuMzM0MyAxMS43ODg0IDI2LjMyOTYgMTEuNzY5NVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl84OSIgZD0iTTI2LjMzODEgMTIuMTE3MkMyNi4zMzEgMTIuMTMxMyAyNi4zMjE2IDEyLjE0MzEgMjYuMzExIDEyLjE1MzdDMjYuMzIxNiAxMi4xNDMxIDI2LjMyOTkgMTIuMTMxMyAyNi4zMzgxIDEyLjExNzJaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfOTAiIGQ9Ik0xOS40NzQ2IDEwLjU5NDdDMTkuNDcyMyAxMC41NTIzIDE5LjQ3ODEgMTAuNTA2NCAxOS40OTQ2IDEwLjQ1N0MxOS40NzcgMTAuNTA2NCAxOS40NzExIDEwLjU1MjMgMTkuNDc0NiAxMC41OTQ3WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzkxIiBkPSJNMTkuNTA5OSAxMC43MTQxQzE5LjQ5MTEgMTAuNjggMTkuNDc4MSAxMC42NDEyIDE5LjQ3NDYgMTAuNTk3N0MxOS40NzgxIDEwLjY0IDE5LjQ4OTkgMTAuNjc4OCAxOS41MDk5IDEwLjcxNDFaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfOTIiIGQ9Ik0xOS41MTgxIDEwLjQwMjdDMTkuNTM0NSAxMC4zNjg2IDE5LjU1ODEgMTAuMzMzMyAxOS41ODYzIDEwLjI5NjlDMTkuNTU4MSAxMC4zMzMzIDE5LjUzNTcgMTAuMzY4NiAxOS41MTgxIDEwLjQwMjdaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfOTMiIGQ9Ik0xOS43NzQ0IDEwLjExMzFDMTkuNzk1NiAxMC4wOTY2IDE5LjgxNzkgMTAuMDc5IDE5Ljg0MTUgMTAuMDYyNUMxOS44MTc5IDEwLjA4MDEgMTkuNzk1NiAxMC4wOTY2IDE5Ljc3NDQgMTAuMTEzMVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl85NCIgZD0iTTI2LjM1NjggMTIuMDY2NEMyNi4zNTIxIDEyLjA4MjkgMjYuMzQ3NCAxMi4wOTgyIDI2LjM0MDMgMTIuMTExMUMyNi4zNDc0IDEyLjA5ODIgMjYuMzUzMyAxMi4wODI5IDI2LjM1NjggMTIuMDY2NFoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl85NSIgZD0iTTE5LjYzNDMgMTAuMjM4M0MxOS42MTkgMTAuMjU0NyAxOS42MDQ5IDEwLjI3MTIgMTkuNTkwOCAxMC4yODc3QzE5LjYwMzggMTAuMjcxMiAxOS42MTc5IDEwLjI1NDcgMTkuNjM0MyAxMC4yMzgzWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzk2IiBkPSJNMjUuNjQ0IDEwLjgzMkMyNS42NDQgMTAuODMyIDI1LjY1NDYgMTAuODQyNiAyNS42NjA1IDEwLjg0NzNDMjUuNjU0NiAxMC44NDI2IDI1LjY0OTkgMTAuODM2NyAyNS42NDQgMTAuODMyWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzk3IiBkPSJNMTkuNTA5OCAxMC43MTQ4QzE5LjUyMjcgMTAuNzM4NCAxOS41MzggMTAuNzU5NSAxOS41NTY4IDEwLjc3ODRDMTkuNTM5MiAxMC43NTk1IDE5LjUyMjcgMTAuNzM4NCAxOS41MDk4IDEwLjcxNlYxMC43MTQ4WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzk4IiBkPSJNMjUuOTA3MiAxMS4wOTM4QzI1LjkxNjYgMTEuMTA0MyAyNS45MjQ5IDExLjExMzcgMjUuOTMzMSAxMS4xMjMyQzI1LjkyNDkgMTEuMTEzNyAyNS45MTY2IDExLjEwMzIgMjUuOTA3MiAxMS4wOTM4WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzk5IiBkPSJNMjYuMzQwMSAxMi4xMTMzQzI2LjM0MDEgMTIuMTEzMyAyNi4zMzkgMTIuMTE1NSAyNi4zMzc5IDEyLjExNjVDMjYuMzM3OSAxMi4xMTU1IDI2LjMzOSAxMi4xMTQ0IDI2LjM0MDEgMTIuMTEzM1oiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMDAiIGQ9Ik0yNi4zMDk2IDEyLjE1NDdMMjYuMzEyIDEyLjE1MjNMMjYuMzA5NiAxMi4xNTQ3WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEwMSIgZD0iTTE5LjU4NjQgMTAuMjk1NkMxOS41ODY0IDEwLjI5NTYgMTkuNTg5NyAxMC4yOTEyIDE5LjU5MTkgMTAuMjg5MUMxOS41ODk3IDEwLjI5MTIgMTkuNTg4NiAxMC4yOTM0IDE5LjU4NjQgMTAuMjk1NloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMDIiIGQ9Ik0xOS40OTU2IDEwLjQ1NzVDMTkuNDk1NiAxMC40NTc1IDE5LjQ5NTYgMTAuNDU0MiAxOS40OTY3IDEwLjQ1MzFDMTkuNDk2NyAxMC40NTQyIDE5LjQ5NjcgMTAuNDU2NCAxOS40OTU2IDEwLjQ1NzVaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTAzIiBkPSJNMjUuNjYwNiAxMC44NTE2QzI1LjcwNDIgMTAuODkwNCAyNS43NDUzIDEwLjkyOCAyNS43ODQyIDEwLjk2NjhDMjUuNzQ1MyAxMC45MjkyIDI1LjcwNDIgMTAuODkwNCAyNS42NjA2IDEwLjg1MTZaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTA0IiBkPSJNMjUuODA3NiAxMC45ODgzQzI1Ljg0MjkgMTEuMDIzNiAyNS44NzU5IDExLjA1NzcgMjUuOTA3NiAxMS4wOTE4QzI1Ljg3NTkgMTEuMDU3NyAyNS44NDI5IDExLjAyMjQgMjUuODA3NiAxMC45ODgzWiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEwNSIgZD0iTTI1LjkzMzYgMTEuMTI1QzI1Ljk2MTggMTEuMTU2OCAyNS45OSAxMS4xODk3IDI2LjAxNDcgMTEuMjIxNEMyNS45ODg5IDExLjE4OTcgMjUuOTYxOCAxMS4xNTc5IDI1LjkzMzYgMTEuMTI1WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEwNiIgZD0iTTE5Ljg0MTggMTAuMDYyOUMxOS44NDE4IDEwLjA2MjkgMTkuODUgMTAuMDU3IDE5Ljg1MzYgMTAuMDU0N0MxOS44NSAxMC4wNTcgMTkuODQ1MyAxMC4wNjA2IDE5Ljg0MTggMTAuMDYyOVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMDciIGQ9Ik0xOS42MzQzIDEwLjIzODdDMTkuNjM0MyAxMC4yMzg3IDE5LjYzNzYgMTAuMjM1NSAxOS42Mzg2IDEwLjIzNDRDMTkuNjM3NiAxMC4yMzU1IDE5LjYzNTQgMTAuMjM3NiAxOS42MzQzIDEwLjIzODdaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTA4IiBkPSJNMjYuMzU3OCAxMi4wNTg2QzI2LjM1NzggMTIuMDU4NiAyNi4zNTY2IDEyLjA2NDUgMjYuMzU1NSAxMi4wNjY4QzI2LjM1NTUgMTIuMDY0NSAyNi4zNTY2IDEyLjA2MDkgMjYuMzU3OCAxMi4wNTg2WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEwOSIgZD0iTTE5Ljc2MzcgMTAuMTIxNUMxOS43NjM3IDEwLjEyMTUgMTkuNzcwNyAxMC4xMTU2IDE5Ljc3NDIgMTAuMTEzM0MxOS43NzA3IDEwLjExNTYgMTkuNzY3MiAxMC4xMTkyIDE5Ljc2MzcgMTAuMTIxNVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMTAiIGQ9Ik0yNi4zNDM4IDExLjgyNDJDMjYuMzQ3MyAxMS44MzYgMjYuMzQ5NiAxMS44NDg5IDI2LjM1MiAxMS44NjA3QzI2LjM0OTYgMTEuODQ4OSAyNi4zNDYxIDExLjgzNzIgMjYuMzQzOCAxMS44MjQyWiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzExMSIgZD0iTTI2LjMxMyAxMS43MjY2QzI2LjMxODkgMTEuNzQzIDI2LjMyNDggMTEuNzU4MyAyNi4zMjk1IDExLjc3MzZDMjYuMzI0OCAxMS43NTgzIDI2LjMxODkgMTEuNzQxOSAyNi4zMTMgMTEuNzI2NloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMTIiIGQ9Ik0yNi4xMzE4IDExLjM3ODlDMjYuMTQ5NSAxMS40MDYgMjYuMTY3MSAxMS40MzMgMjYuMTgzNiAxMS40NTg5QzI2LjE2ODMgMTEuNDMzIDI2LjE0OTUgMTEuNDA2IDI2LjEzMTggMTEuMzc4OVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMTMiIGQ9Ik0yNi4yMDc1IDExLjVDMjYuMjIxNiAxMS41MjM1IDI2LjIzNDYgMTEuNTQ3MSAyNi4yNDYzIDExLjU3MDZDMjYuMjM0NiAxMS41NDgyIDI2LjIyMTYgMTEuNTIzNSAyNi4yMDc1IDExLjVaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTE0IiBkPSJNMTkuNzY5NiAxMC44ODA5QzE5Ljc0NDkgMTAuODc3NCAxOS43MTkgMTAuODcxNSAxOS42OTQzIDEwLjg2MzNDMTkuNzE5IDEwLjg3MTUgMTkuNzQzOCAxMC44Nzc0IDE5Ljc2OTYgMTAuODgwOVoiIGZpbGw9IiNGRkVCQjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMTUiIGQ9Ik0xOS44NDg3IDEwLjg4MjhDMTkuODI0IDEwLjg4NjMgMTkuNzk5MyAxMC44ODYzIDE5Ljc3MzQgMTAuODgyOEMxOS43OTkzIDEwLjg4NTIgMTkuODI0IDEwLjg4NTIgMTkuODQ4NyAxMC44ODI4WiIgZmlsbD0iI0ZGRUJCNSIvPgo8ZyBpZD0iR3JvdXBfNiI+CjxwYXRoIGlkPSJWZWN0b3JfMTE2IiBkPSJNMjEuODk3MSA5LjUxMTcyQzIxLjUxNDkgOS41MjM0OCAyMC41NzI3IDkuNTk0MDUgMTkuOTQyMiA5Ljk5Mzk4QzE5LjkxMDUgMTAuMDE0IDE5Ljg4MTEgMTAuMDM0IDE5Ljg1NCAxMC4wNTRDMTkuODgyMiAxMC4wMzQgMTkuOTExNiAxMC4wMTQgMTkuOTQzNCA5Ljk5Mzk4QzIwLjU3MzkgOS41OTUyMyAyMS41MTYgOS41MjM0OCAyMS44OTgzIDkuNTExNzJIMjEuODk3MVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMTciIGQ9Ik0xOS42OTQxIDEwLjg2M0MxOS43MTg4IDEwLjg3MTMgMTkuNzQzNSAxMC44NzcxIDE5Ljc2OTMgMTAuODgwN0MxOS43NjkzIDEwLjg4MDcgMTkuNzcxNyAxMC44ODA3IDE5Ljc3MjkgMTAuODgwN0MxOS43OTg4IDEwLjg4MyAxOS44MjM0IDEwLjg4MyAxOS44NDgxIDEwLjg4MDdDMjAuMTM1MiAxMC44NDE5IDIxLjM5MzcgMTAuNzc3MiAyMS43NTI1IDEwLjc4NTRDMjEuNzY0MyAxMC43ODU0IDIxLjc3NDggMTAuNzg1NCAyMS43ODQzIDEwLjc4NTRDMjIuMDkzNiAxMC43OTgzIDIzLjY2NzQgMTAuODc5NSAyNC44NTA3IDExLjQ5ODJDMjUuODExNyAxMi4wMDA1IDI2LjAxODggMTIuMjE5MyAyNi4xNzc2IDEyLjIxMUMyNi4yMTQgMTIuMjA4NyAyNi4yNDgxIDEyLjE5NTcgMjYuMjg5MyAxMi4xNjk5QzI2LjI5NjQgMTIuMTY1MiAyNi4zMDIyIDEyLjE1ODEgMjYuMzA5MyAxMi4xNTFDMjYuMTkxNyAxMS44MzcgMjUuODgyMyAxMS40MTEyIDI1LjMwODMgMTEuMDA3N0MyNC4zMTMyIDEwLjMwNzggMjMuMjUxIDkuOTQ1NTYgMjIuMDY3NyA5Ljk0NTU2QzIyLjA2NzcgOS45NDU1NiAyMC43NTAzIDkuOTE4NTEgMTkuOTQzNCAxMC40MzAyQzE5Ljc1MDUgMTAuNTUyNSAxOS42Mjk0IDEwLjY2NzggMTkuNTU3NiAxMC43NzQ4QzE5LjU5NTMgMTAuODEzNiAxOS42NDIzIDEwLjg0MyAxOS42OTI5IDEwLjg2MDdDMTkuNjkyOSAxMC44NjA3IDE5LjY5NDEgMTAuODYwNyAxOS42OTUyIDEwLjg2MDdMMTkuNjk0MSAxMC44NjNaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTE4IiBkPSJNMjIuMDY2OCA5LjUwODg2QzIzLjI1MDEgOS41MDg4NiAyNC4zMTIyIDkuODcyMzEgMjUuMzA3MyAxMC41NzFDMjUuNDMwOCAxMC42NTggMjUuNTQyNiAxMC43NDYzIDI1LjY0MjYgMTAuODMzM0MyNS41NDI2IDEwLjc0NTEgMjUuNDMyIDEwLjY1OCAyNS4zMDczIDEwLjU3MUMyNC4zMTIyIDkuODcxMTMgMjMuMjUwMSA5LjUwODg2IDIyLjA2NjggOS41MDg4NkMyMi4wNjY4IDkuNTA4ODYgMjIuMDIwOSA5LjUwODg2IDIxLjk0MDkgOS41MDg4NkMyMi4wMTk3IDkuNTA2NTEgMjIuMDY1NiA5LjUwODg2IDIyLjA2NTYgOS41MDg4NkgyMi4wNjY4WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzExOSIgZD0iTTE5LjU4NjEgMTAuMjk0N0MxOS41NTc5IDEwLjMzMTIgMTkuNTM1NiAxMC4zNjY1IDE5LjUxNzkgMTAuNDAwNkMxOS41MDk3IDEwLjQxNzEgMTkuNTAyNiAxMC40MzM1IDE5LjQ5NjggMTAuNDQ4OEMxOS40OTY4IDEwLjQ1IDE5LjQ5NjggMTAuNDUyMyAxOS40OTU2IDEwLjQ1MzVDMTkuNDc3OSAxMC41MDI5IDE5LjQ3MjEgMTAuNTQ4OCAxOS40NzU2IDEwLjU5MTFDMTkuNDc1NiAxMC41OTExIDE5LjQ3NTYgMTAuNTkyMyAxOS40NzU2IDEwLjU5MzVDMTkuNDc5MSAxMC42MzU4IDE5LjQ5MDkgMTAuNjc0NyAxOS41MTA5IDEwLjcwOTlDMTkuNTIzOCAxMC43MzM1IDE5LjUzOTEgMTAuNzU0NiAxOS41NTc5IDEwLjc3MzVDMTkuNjI5NyAxMC42Njc2IDE5Ljc1MiAxMC41NTExIDE5Ljk0MzcgMTAuNDI4OEMyMC43NTA2IDkuOTE4MzIgMjIuMDY4IDkuOTQ0MiAyMi4wNjggOS45NDQyQzIzLjI1MTMgOS45NDQyIDI0LjMxMzUgMTAuMzA3NyAyNS4zMDg2IDExLjAwNjRDMjUuODgyNiAxMS40MDk4IDI2LjE5MiAxMS44MzU2IDI2LjMwOTYgMTIuMTQ5N0MyNi4zMjAyIDEyLjEzOTEgMjYuMzI4NCAxMi4xMjczIDI2LjMzNjYgMTIuMTEzMkMyNi4zMzY2IDEyLjExMiAyNi4zMzc4IDEyLjExMDkgMjYuMzM5IDEyLjEwOTdDMjYuMzQ2MSAxMi4wOTY3IDI2LjM1MiAxMi4wODE0IDI2LjM1NTUgMTIuMDY1QzI2LjM1NTUgMTIuMDYyNiAyNi4zNTY3IDEyLjA1OTEgMjYuMzU3OCAxMi4wNTY3QzI2LjM2MTQgMTIuMDQxNCAyNi4zNjM3IDEyLjAyMzggMjYuMzY0OSAxMi4wMDYyQzI2LjM2NDkgMTIuMDAxNSAyNi4zNjQ5IDExLjk5NTYgMjYuMzY0OSAxMS45OTA5QzI2LjM2NDkgMTEuOTczMiAyNi4zNjQ5IDExLjk1NTYgMjYuMzYzNyAxMS45MzY4QzI2LjM2MzcgMTEuOTI4NSAyNi4zNjEzIDExLjkyMDMgMjYuMzYxMyAxMS45MTIxQzI2LjM1OSAxMS44OTQ0IDI2LjM1NjcgMTEuODc2OCAyNi4zNTIgMTEuODU4QzI2LjM0OTYgMTEuODQ2MiAyNi4zNDYxIDExLjgzNDQgMjYuMzQzNyAxMS44MjE1QzI2LjMzOSAxMS44MDM4IDI2LjMzNDMgMTEuNzg3NCAyNi4zMjk2IDExLjc2ODZDMjYuMzI0OSAxMS43NTMzIDI2LjMxOSAxMS43MzY4IDI2LjMxMzEgMTEuNzIxNUMyNi4zMDcyIDExLjcwNSAyNi4zMDE0IDExLjY4ODYgMjYuMjk0MyAxMS42NzIxQzI2LjI4NjEgMTEuNjUzMyAyNi4yNzY3IDExLjYzMzMgMjYuMjY3MyAxMS42MTMzQzI2LjI2MDIgMTEuNTk4IDI2LjI1MzEgMTEuNTgzOSAyNi4yNDYxIDExLjU2ODZDMjYuMjM0MyAxMS41NDYzIDI2LjIyMTQgMTEuNTIxNSAyNi4yMDczIDExLjQ5OEMyNi4xOTkgMTEuNDgzOSAyNi4xOTIgMTEuNDcxIDI2LjE4MzggMTEuNDU2OUMyNi4xNjg1IDExLjQzMSAyNi4xNDk2IDExLjQwMzkgMjYuMTMyIDExLjM3NjlDMjYuMTIzNyAxMS4zNjM5IDI2LjExNTUgMTEuMzUyMiAyNi4xMDczIDExLjMzOTJDMjYuMDg3MyAxMS4zMDk4IDI2LjA2NDkgMTEuMjgwNCAyNi4wNDE0IDExLjI1MUMyNi4wMzMyIDExLjIzOTIgMjYuMDI0OSAxMS4yMjg3IDI2LjAxNTUgMTEuMjE2OUMyNS45ODk3IDExLjE4NTEgMjUuOTYyNiAxMS4xNTM0IDI1LjkzNDQgMTEuMTIwNEMyNS45MjYxIDExLjExMSAyNS45MTc5IDExLjEwMDUgMjUuOTA4NSAxMS4wOTFDMjUuODc2NyAxMS4wNTY5IDI1Ljg0MzggMTEuMDIxNiAyNS44MDg1IDEwLjk4NzVDMjUuODAwMyAxMC45NzkzIDI1Ljc5MzIgMTAuOTcxMSAyNS43ODUgMTAuOTYyOEMyNS43NDYyIDEwLjkyNTIgMjUuNzA1IDEwLjg4NjQgMjUuNjYxNSAxMC44NDc2QzI1LjY1NTYgMTAuODQyOSAyNS42NTA5IDEwLjgzNyAyNS42NDUgMTAuODMyM0MyNS41NDUgMTAuNzQ0MSAyNS40MzMzIDEwLjY1NyAyNS4zMDk4IDEwLjU3QzI0LjMxNDcgOS44NzAwOSAyMy4yNTI1IDkuNTA3ODEgMjIuMDY5MiA5LjUwNzgxQzIyLjA2OTIgOS41MDc4MSAyMi4wMjMzIDkuNTA3ODEgMjEuOTQ0NSA5LjUwNzgxQzIxLjkzNzUgOS41MDc4MSAyMS45MjggOS41MDc4MSAyMS45MjEgOS41MDc4MUMyMS45MTM5IDkuNTA3ODEgMjEuOTA2OSA5LjUwNzgxIDIxLjg5OTggOS41MDc4MUMyMS41MTc1IDkuNTE5NTggMjAuNTc1NCA5LjU5MTMyIDE5Ljk0NDkgOS45OTAwN0MxOS45MTMyIDEwLjAxMDEgMTkuODgzNyAxMC4wMzAxIDE5Ljg1NTUgMTAuMDUwMUMxOS44NTIgMTAuMDUyNCAxOS44NDczIDEwLjA1NTkgMTkuODQzNyAxMC4wNTgzQzE5LjgyMDIgMTAuMDc1OSAxOS43OTc5IDEwLjA5MjQgMTkuNzc2NyAxMC4xMDg5QzE5Ljc3MzIgMTAuMTExMiAxOS43Njk2IDEwLjExNDggMTkuNzY2MSAxMC4xMTcxQzE5LjcxNzkgMTAuMTU1OSAxOS42NzY3IDEwLjE5MzYgMTkuNjQxNCAxMC4yMzEyQzE5LjY0MDMgMTAuMjMyNCAxOS42Mzc5IDEwLjIzNDcgMTkuNjM2NyAxMC4yMzU5QzE5LjYyMTQgMTAuMjUyNCAxOS42MDczIDEwLjI2ODggMTkuNTkzMiAxMC4yODUzQzE5LjU5MDkgMTAuMjg3NyAxOS41ODk3IDEwLjI5IDE5LjU4NzMgMTAuMjkyNEwxOS41ODYxIDEwLjI5NDdaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTIwIiBkPSJNMjYuMTc4NyAxMi4yMTEyQzI2LjAxOTkgMTIuMjE5NCAyNS44MTI5IDEyLjAwMDYgMjQuODUwNyAxMS40OTg0QzIzLjY2NzQgMTAuODc5NyAyMi4wOTM2IDEwLjc5ODUgMjEuNzg0MiAxMC43ODU2QzIxLjc3NDggMTAuNzg1NiAyMS43NjQyIDEwLjc4NTYgMjEuNzUyNSAxMC43ODU2QzIxLjM5MjUgMTAuNzc3NCAyMC4xMzUxIDEwLjg0MiAxOS44NDgxIDEwLjg4MDlDMTkuODIzNCAxMC44ODQ0IDE5Ljc5ODcgMTAuODg0NCAxOS43NzI5IDEwLjg4MDlDMTkuNzcyOSAxMC44ODA5IDE5Ljc3MDUgMTAuODgwOSAxOS43NjkzIDEwLjg4MDlDMTkuNzQzNSAxMC44NzczIDE5LjcxODcgMTAuODcxNSAxOS42OTQgMTAuODYzMkMxOS42OTQgMTAuODYzMiAxOS42OTI5IDEwLjg2MzIgMTkuNjkxNyAxMC44NjMyQzE5LjY0MTEgMTAuODQ1NiAxOS41OTQxIDEwLjgxNjIgMTkuNTU2NCAxMC43NzczQzE5LjMyODIgMTEuMTE2MSAxOS42MjM1IDExLjM1MTQgMTkuODQ4MSAxMS4zMjA4QzIwLjE0NDYgMTEuMjgwOCAyMS40NzQ5IDExLjIxMzcgMjEuNzg0MiAxMS4yMjY3QzIyLjA5MzYgMTEuMjM5NiAyMy42Njc0IDExLjMyMDggMjQuODUwNyAxMS45Mzk1QzI2LjAzNCAxMi41NTgyIDI2LjA3NCAxMi43NDY0IDI2LjI4OTMgMTIuNjEyM0MyNi4zNzk5IDEyLjU1NTggMjYuMzk1MSAxMi4zODUzIDI2LjMwOTMgMTIuMTU0N0MyNi4zMDIyIDEyLjE2MDYgMjYuMjk3NSAxMi4xNjc3IDI2LjI4OTMgMTIuMTcyNEMyNi4yNDkzIDEyLjE5NzEgMjYuMjE0IDEyLjIxMTIgMjYuMTc3NiAxMi4yMTM2TDI2LjE3ODcgMTIuMjExMloiIGZpbGw9IiNGRkVCQjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMjEiIGQ9Ik0yMS43ODQyIDEwLjc4NTJDMjIuMDkzNiAxMC43OTgxIDIzLjY2NzQgMTAuODc5MiAyNC44NTA3IDExLjQ5OEMyNS44MTE3IDEyLjAwMDIgMjYuMDE4NyAxMi4yMTkgMjYuMTc4NyAxMi4yMTA4QzI2LjAxOTkgMTIuMjE3OCAyNS44MTE3IDEyLjAwMDIgMjQuODUxOSAxMS40OThDMjMuNjY4NiAxMC44NzkyIDIyLjA5NDcgMTAuNzk4MSAyMS43ODU0IDEwLjc4NTJIMjEuNzg0MloiIGZpbGw9IiNGRkVCQjUiLz4KPC9nPgo8cGF0aCBpZD0iVmVjdG9yXzEyMiIgZD0iTTEyLjcxMjQgMTAuMDYyNUMxMi43MzU5IDEwLjA4MDEgMTIuNzU4MyAxMC4wOTY2IDEyLjc3OTQgMTAuMTEzMUMxMi43NTgzIDEwLjA5NjYgMTIuNzM1OSAxMC4wNzkgMTIuNzEyNCAxMC4wNjI1WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEyMyIgZD0iTTEyLjkxOTQgMTAuMjM4M0MxMi45MzQ3IDEwLjI1NDcgMTIuOTQ4OCAxMC4yNzEyIDEyLjk2MjkgMTAuMjg3N0MxMi45NSAxMC4yNzEyIDEyLjkzNTkgMTAuMjU0NyAxMi45MTk0IDEwLjIzODNaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTI0IiBkPSJNNi4xODc1IDExLjk5MTZDNi4xODc1IDExLjk3NCA2LjE4NzQ4IDExLjk1NjMgNi4xODg2NSAxMS45Mzc1QzYuMTg3NDggMTEuOTU2MyA2LjE4NjMzIDExLjk3NCA2LjE4NzUgMTEuOTkxNloiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMjUiIGQ9Ik02LjIwOTk2IDExLjgyMjVDNi4yMTQ2NyAxMS44MDQ4IDYuMjE5MzYgMTEuNzg4NCA2LjIyNDA2IDExLjc2OTVDNi4yMTgxOCAxMS43ODcyIDYuMjEzNDkgMTEuODA0OCA2LjIwOTk2IDExLjgyMjVaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTI2IiBkPSJNNi4yNDI4NyAxMi4xNTM3QzYuMjMyMjkgMTIuMTQzMSA2LjIyNDA1IDEyLjEzMTMgNi4yMTU4MiAxMi4xMTcyQzYuMjIyODggMTIuMTMxMyA2LjIzMjI5IDEyLjE0MzEgNi4yNDI4NyAxMi4xNTM3WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEyNyIgZD0iTTYuMjE0NzMgMTIuMTExMUM2LjIwNzY3IDEyLjA5ODIgNi4yMDE3NyAxMi4wODI5IDYuMTk4MjQgMTIuMDY2NEM2LjIwMjk1IDEyLjA4MjkgNi4yMDc2NyAxMi4wOTgyIDYuMjE0NzMgMTIuMTExMVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMjgiIGQ9Ik02Ljg5NDUzIDEwLjg0NzNDNi44OTQ1MyAxMC44NDczIDYuOTA1MTMgMTAuODM2NyA2LjkxMTAxIDEwLjgzMkM2LjkwNTEzIDEwLjgzNjcgNi45MDA0MSAxMC44NDI2IDYuODk0NTMgMTAuODQ3M1oiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMjkiIGQ9Ik02LjE5NjAzIDEyLjA1ODRDNi4xOTI1IDEyLjA0MzEgNi4xOTAxNCAxMi4wMjU1IDYuMTg4OTYgMTIuMDA3OEM2LjE4ODk2IDEyLjAyNjYgNi4xOTI1IDEyLjA0MzEgNi4xOTYwMyAxMi4wNTg0WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEzMCIgZD0iTTYuMTkyMzggMTEuOTEzNUM2LjE5NDc0IDExLjg5NTggNi4xOTcxIDExLjg3ODIgNi4yMDE4IDExLjg1OTRDNi4xOTgyNyAxMS44NzgyIDYuMTk0NzQgMTEuODk1OCA2LjE5MjM4IDExLjkxMzVaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTMxIiBkPSJNMTMuMDU5MSAxMC40NTdDMTMuMDc2NyAxMC41MDY0IDEzLjA4MjYgMTAuNTUyMyAxMy4wNzkxIDEwLjU5NDdDMTMuMDgxNCAxMC41NTIzIDEzLjA3NTUgMTAuNTA2NCAxMy4wNTkxIDEwLjQ1N1oiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xMzIiIGQ9Ik0xMi45OTggMTAuNzc4NEMxMy4wMTU3IDEwLjc1OTUgMTMuMDMyMSAxMC43Mzg0IDEzLjA0NTEgMTAuNzE0OEMxMy4wMzIxIDEwLjczODQgMTMuMDE2OSAxMC43NTk1IDEyLjk5OCAxMC43NzcyVjEwLjc3ODRaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTMzIiBkPSJNNi40MjI4NSAxMS4zNzc1QzYuNDMxMDkgMTEuMzY0NiA2LjQzOTMxIDExLjM1MjggNi40NDc1NSAxMS4zMzk4QzYuNDM4MTQgMTEuMzUyOCA2LjQzMTA5IDExLjM2NDYgNi40MjI4NSAxMS4zNzc1WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEzNCIgZD0iTTEzLjA3OTIgMTAuNTk3N0MxMy4wNzU3IDEwLjY0IDEzLjA2MzkgMTAuNjc4OCAxMy4wNDM5IDEwLjcxNDFDMTMuMDYyOCAxMC42OCAxMy4wNzU3IDEwLjY0MTIgMTMuMDc5MiAxMC41OTc3WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEzNSIgZD0iTTYuMjg2NjIgMTEuNjE1QzYuMjkzNjggMTEuNTk5NyA2LjMwMDczIDExLjU4NTYgNi4zMDc3OSAxMS41NzAzQzYuMjk5NTUgMTEuNTg1NiA2LjI5MzY4IDExLjYwMDkgNi4yODY2MiAxMS42MTVaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTM2IiBkPSJNNi42MjA2MSAxMS4xMjQzQzYuNjMwMDIgMTEuMTEzNyA2LjYzNzA3IDExLjEwNDMgNi42NDY0OCAxMS4wOTM4QzYuNjM3MDcgMTEuMTA0MyA2LjYyODg0IDExLjExMzcgNi42MjA2MSAxMS4xMjQzWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEzNyIgZD0iTTYuNTM5NTUgMTEuMjIxNEM2LjU2NTQzIDExLjE4OTcgNi41OTI0OCAxMS4xNTc5IDYuNjIwNzEgMTEuMTI1QzYuNTkyNDggMTEuMTU2OCA2LjU2NDI1IDExLjE4OTcgNi41Mzk1NSAxMS4yMjE0WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEzOCIgZD0iTTYuMjAxNjYgMTEuODYwN0M2LjIwNDAxIDExLjg0ODkgNi4yMDc1NSAxMS44MzcyIDYuMjA5OSAxMS44MjQyQzYuMjA2MzcgMTEuODM2IDYuMjA0MDEgMTEuODQ4OSA2LjIwMTY2IDExLjg2MDdaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTM5IiBkPSJNNi4yMjQxMiAxMS43NzM2QzYuMjI4ODMgMTEuNzU4MyA2LjIzNDcyIDExLjc0MTkgNi4yNDA2IDExLjcyNjZDNi4yMzQ3MiAxMS43NDMgNi4yMjg4MyAxMS43NTgzIDYuMjI0MTIgMTEuNzczNloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNDAiIGQ9Ik02LjE4OTk0IDExLjkzODhDNi4xODk5NCAxMS45MzA1IDYuMTkxMTIgMTEuOTIyMyA2LjE5MjMgMTEuOTE0MUM2LjE5MjMgMTEuOTIyMyA2LjE4OTk0IDExLjkzMDUgNi4xODk5NCAxMS45Mzg4WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE0MSIgZD0iTTYuMzA4NTkgMTEuNTcwNkM2LjMyMDM2IDExLjU0ODIgNi4zMzMzIDExLjUyMzUgNi4zNDc0MiAxMS41QzYuMzM0NDggMTEuNTIzNSA2LjMyMDM2IDExLjU0NzEgNi4zMDg1OSAxMS41NzA2WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE0MiIgZD0iTTYuMTk4MTYgMTIuMDY2OEM2LjE5ODE2IDEyLjA2NjggNi4xOTY5OCAxMi4wNjA5IDYuMTk1OCAxMi4wNTg2QzYuMTk1OCAxMi4wNjA5IDYuMTk2OTggMTIuMDY0NSA2LjE5ODE2IDEyLjA2NjhaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTQzIiBkPSJNNi4zNzEwOSAxMS40NTg5QzYuMzg2MzkgMTEuNDMzIDYuNDA1MjMgMTEuNDA2IDYuNDIyODcgMTEuMzc4OUM2LjQwNTIzIDExLjQwNiA2LjM4NzU2IDExLjQzMyA2LjM3MTA5IDExLjQ1ODlaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTQ0IiBkPSJNNi4yMTcwMyAxMi4xMTY1QzYuMjE3MDMgMTIuMTE2NSA2LjIxNTkzIDEyLjExNDQgNi4yMTQ4NCAxMi4xMTMzQzYuMjE0ODQgMTIuMTE0NCA2LjIxNTk0IDEyLjExNTUgNi4yMTcwMyAxMi4xMTY1WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE0NSIgZD0iTTEzLjA1NjYgMTAuNDUzMUMxMy4wNTY2IDEwLjQ1MzEgMTMuMDU2NiAxMC40NTY0IDEzLjA1NzcgMTAuNDU3NUMxMy4wNTc3IDEwLjQ1NjQgMTMuMDU3NyAxMC40NTQyIDEzLjA1NjYgMTAuNDUzMVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNDYiIGQ9Ik02LjI0MjY4IDEyLjE1MjNMNi4yNDUwNiAxMi4xNTQ3TDYuMjQyNjggMTIuMTUyM1oiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNDciIGQ9Ik02LjY0NjQ4IDExLjA5MThDNi42NzcwNyAxMS4wNTc3IDYuNzExMTkgMTEuMDIyNCA2Ljc0NjQ4IDEwLjk4ODNDNi43MTIzNyAxMS4wMjM2IDYuNjc4MjQgMTEuMDU3NyA2LjY0NjQ4IDExLjA5MThaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTQ4IiBkPSJNMTIuNzAwNyAxMC4wNTQ3QzEyLjcwMDcgMTAuMDU0NyAxMi43MDg5IDEwLjA2MDYgMTIuNzEyNSAxMC4wNjI5QzEyLjcwODkgMTAuMDYwNiAxMi43MDQyIDEwLjA1NyAxMi43MDA3IDEwLjA1NDdaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTQ5IiBkPSJNNi43NzEgMTAuOTY2OEM2LjgwOTgxIDEwLjkyOTIgNi44NTA5NiAxMC44OTA0IDYuODk0NDggMTAuODUxNkM2Ljg1MDk2IDEwLjg5MDQgNi44MDk4MSAxMC45MjggNi43NzEgMTAuOTY2OFoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNTAiIGQ9Ik0xMi43NzkzIDEwLjExMzNDMTIuNzc5MyAxMC4xMTMzIDEyLjc4NjQgMTAuMTE5MiAxMi43ODk5IDEwLjEyMTVDMTIuNzg2NCAxMC4xMTkyIDEyLjc4MjggMTAuMTE1NiAxMi43NzkzIDEwLjExMzNaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTUxIiBkPSJNMTIuOTE0NiAxMC4yMzQ0QzEyLjkxNDYgMTAuMjM0NCAxMi45MTc4IDEwLjIzNzYgMTIuOTE4OSAxMC4yMzg3QzEyLjkxNzggMTAuMjM3NiAxMi45MTU2IDEwLjIzNTUgMTIuOTE0NiAxMC4yMzQ0WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE1MiIgZD0iTTEyLjk2MjkgMTAuMjg5MUMxMi45NjI5IDEwLjI4OTEgMTIuOTY2MiAxMC4yOTM0IDEyLjk2ODMgMTAuMjk1NkMxMi45NjYyIDEwLjI5MzQgMTIuOTY1MSAxMC4yOTEyIDEyLjk2MjkgMTAuMjg5MVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNTMiIGQ9Ik0xMi43MDY1IDEwLjg4MjhDMTIuNzMxMiAxMC44ODYzIDEyLjc1NTkgMTAuODg2MyAxMi43ODE4IDEwLjg4MjhDMTIuNzU1OSAxMC44ODUyIDEyLjczMTIgMTAuODg1MiAxMi43MDY1IDEwLjg4MjhaIiBmaWxsPSIjRkZFQkI1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMTU0IiBkPSJNMTYuNDc5OSAyMC4zMDA1QzE2LjQ1OTkgMjAuMjkxMSAxNi40NDIyIDIwLjI4MjggMTYuNDI1OCAyMC4yNzM0QzE2LjQ0MjIgMjAuMjgxNyAxNi40NTk5IDIwLjI5MTEgMTYuNDc5OSAyMC4zMDA1WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE1NSIgZD0iTTE2LjU2NTcgMjAuMzQxNUMxNi41Mzc1IDIwLjMyOTggMTYuNTExNiAyMC4zMTkyIDE2LjQ4OTMgMjAuMzA4NkMxNi41MTI4IDIwLjMxOTIgMTYuNTM3NSAyMC4zMjk4IDE2LjU2NTcgMjAuMzQxNVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNTYiIGQ9Ik0xOC41MTI3IDI1LjgxNUMxOC41Mzg2IDI1LjgwMjEgMTguNTYzMyAyNS43OTAzIDE4LjU4NjggMjUuNzc3M0MxOC41NjIxIDI1Ljc5MDMgMTguNTM3NCAyNS44MDIxIDE4LjUxMjcgMjUuODE1WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE1NyIgZD0iTTE2LjMxMTYgMjAuMTg2OEMxNi4zMDggMjAuMTgwOSAxNi4zMDY4IDIwLjE3NSAxNi4zMDU3IDIwLjE2OEMxNi4zMDY4IDIwLjE3MzkgMTYuMzA4IDIwLjE3OTcgMTYuMzExNiAyMC4xODY4WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE1OCIgZD0iTTE2LjI3ODggMjYuODUyOEMxNi4yNzg4IDI2Ljg1MjggMTYuMjgxMiAyNi44NDQ1IDE2LjI4MjMgMjYuODM5OEMxNi4yODEyIDI2Ljg0NDUgMTYuMjggMjYuODQ4MSAxNi4yNzg4IDI2Ljg1MjhaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTU5IiBkPSJNMTYuMzMxNyAyMC4yMTQxQzE2LjMyNTggMjAuMjA4MyAxNi4zMjExIDIwLjIwMTIgMTYuMzE2NCAyMC4xOTUzQzE2LjMxOTkgMjAuMjAxMiAxNi4zMjU4IDIwLjIwODMgMTYuMzMxNyAyMC4yMTQxWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE2MCIgZD0iTTE2LjI3NjQgMjYuODcwOEMxNi4yNzY0IDI2Ljg3MDggMTYuMjc2NCAyNi44NjE0IDE2LjI3ODcgMjYuODU1NUMxNi4yNzg3IDI2Ljg2MDIgMTYuMjc3NSAyNi44NjQ5IDE2LjI3NjQgMjYuODcwOFoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNjEiIGQ9Ik0xNi40MTQzIDIwLjI2ODRDMTYuNDAwMiAyMC4yNjAyIDE2LjM4NzMgMjAuMjUzMiAxNi4zNzU1IDIwLjI0NjFDMTYuMzg3MyAyMC4yNTMyIDE2LjQwMDIgMjAuMjYxNCAxNi40MTQzIDIwLjI2ODRaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTYyIiBkPSJNMTYuMjg1NiAyNi44MzZDMTYuMjg1NiAyNi44MzYgMTYuMjg4IDI2LjgyODkgMTYuMjkwNCAyNi44MjQyQzE2LjI4OTIgMjYuODI3NyAxNi4yODY4IDI2LjgzMTMgMTYuMjg1NiAyNi44MzZaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTYzIiBkPSJNMTYuMzY1NyAyMC4yNDI3QzE2LjM1NjMgMjAuMjM1NiAxNi4zNDY5IDIwLjIyODUgMTYuMzM5OCAyMC4yMjI3QzE2LjM0NjkgMjAuMjI5NyAxNi4zNTYzIDIwLjIzNTYgMTYuMzY1NyAyMC4yNDI3WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE2NCIgZD0iTTE4LjEzMDQgMjUuOTg1N0MxOC4xNzA0IDI1Ljk2OTIgMTguMjA5MiAyNS45NTQgMTguMjQ4IDI1LjkzNzVDMTguMjEwNCAyNS45NTQgMTguMTcxNSAyNS45NjkyIDE4LjEzMDQgMjUuOTg1N1oiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNjUiIGQ9Ik0xOC4wMDA1IDI2LjAzMjJDMTguMDM0NiAyNi4wMTkyIDE4LjA2ODcgMjYuMDA1MSAxOC4xMDI4IDI1Ljk5MjJDMTguMDY5OSAyNi4wMDUxIDE4LjAzNTggMjYuMDE5MiAxOC4wMDA1IDI2LjAzMjJaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTY2IiBkPSJNMTguNjQ2NSAyNS43NDU0QzE4LjY1ODIgMjUuNzM5NSAxOC42Njg4IDI1LjczMzYgMTguNjgwNiAyNS43MjY2QzE4LjY3IDI1LjczMjQgMTguNjU4MiAyNS43MzgzIDE4LjY0NjUgMjUuNzQ1NFoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNjciIGQ9Ik0xOC45NTIxIDI1LjU0NjFDMTguOTUyMSAyNS41NDYxIDE4Ljk1OCAyNS41NDE0IDE4Ljk2MDQgMjUuNTM5MUMxOC45NTggMjUuNTQxNCAxOC45NTQ1IDI1LjU0MzggMTguOTUyMSAyNS41NDYxWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE2OCIgZD0iTTE3LjY3MjQgMjYuMTUyMUMxNy43MjE4IDI2LjEzNTcgMTcuNzY4OCAyNi4xMTkyIDE3LjgxNTkgMjYuMTAxNkMxNy43Njg4IDI2LjExOCAxNy43MjA2IDI2LjEzNDUgMTcuNjcyNCAyNi4xNTIxWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE2OSIgZD0iTTE2LjMwNDIgMjYuNzk0NUMxNi4zMDQyIDI2Ljc5NDUgMTYuMzA2NCAyNi43OTAyIDE2LjMwODYgMjYuNzg5MUMxNi4zMDc1IDI2Ljc5MTIgMTYuMzA2NCAyNi43OTM0IDE2LjMwNDIgMjYuNzk0NVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNzAiIGQ9Ik0xNi4yOTM5IDI2LjgxOEMxNi4yOTM5IDI2LjgxOCAxNi4yOTc1IDI2LjgxMjEgMTYuMjk4NyAyNi44MDg2QzE2LjI5NzUgMjYuODEyMSAxNi4yOTUxIDI2LjgxNDUgMTYuMjkzOSAyNi44MThaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTcxIiBkPSJNMTcuODU4NCAyNi4wODcyQzE3Ljg5MTMgMjYuMDc1NSAxNy45MjQyIDI2LjA2MzcgMTcuOTU2IDI2LjA1MDhDMTcuOTI0MiAyNi4wNjI1IDE3Ljg5MTMgMjYuMDc0MyAxNy44NTg0IDI2LjA4NzJaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTcyIiBkPSJNMTguOTA4NyAyNS41ODE0QzE4LjkwODcgMjUuNTgxNCAxOC45MTA5IDI1LjU3OTIgMTguOTEyIDI1LjU3ODFDMTguOTEwOSAyNS41NzgxIDE4LjkwOTggMjUuNTgwMyAxOC45MDg3IDI1LjU4MTRaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTczIiBkPSJNMTYuODA0NyAyMy42MTcyQzE2LjgwNDcgMjMuNjE3MiAxNi44MDY5IDIzLjYyMTYgMTYuODA4IDIzLjYyMzdDMTYuODA4IDIzLjYyMTYgMTYuODA1OCAyMy42MTk0IDE2LjgwNDcgMjMuNjE3MloiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNzQiIGQ9Ik0xNi4yNzYxIDI2Ljg3NUMxNi4yNzM3IDI2LjkzNSAxNi4zMTk2IDI2Ljk5NjEgMTYuNDgzMSAyNy4wMTczQzE2LjMxOTYgMjYuOTk2MSAxNi4yNzI1IDI2LjkzNSAxNi4yNzYxIDI2Ljg3NVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNzUiIGQ9Ik0xNi43OTE4IDIzLjU1MzlDMTYuNzkxOCAyMy41MjA5IDE2Ljc5NDIgMjMuNDkwMyAxNi43OTc3IDIzLjQ2MDlDMTYuNzkzIDIzLjQ5MDMgMTYuNzkwNiAyMy41MjA5IDE2Ljc5MTggMjMuNTUzOVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xNzYiIGQ9Ik0yMC4yMjg1IDI1LjI5M0MyMC4yMjg1IDI1LjMyMTIgMjAuMjI2MSAyNS4zNTE4IDIwLjIyMDIgMjUuMzgyNEMyMC4yMjYxIDI1LjM1MTggMjAuMjI5NiAyNS4zMjEyIDIwLjIyODUgMjUuMjkzWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE3NyIgZD0iTTE2LjgxODMgMjMuMzY3MkMxNi44MTAxIDIzLjM5MzEgMTYuODAzIDIzLjQyMDEgMTYuNzk4MyAyMy40NTA3QzE2LjgwMyAyMy40MjEzIDE2LjgxMDEgMjMuMzkzMSAxNi44MTgzIDIzLjM2NzJaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTc4IiBkPSJNMTYuNzk4MyAyMy41OTc3QzE2Ljc5OTUgMjMuNjAzNSAxNi44MDE4IDIzLjYxMDYgMTYuODA0MiAyMy42MTY1QzE2LjgwMTggMjMuNjEwNiAxNi44MDA3IDIzLjYwMzUgMTYuNzk4MyAyMy41OTc3WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE3OSIgZD0iTTE2LjQxMjYgMjAuMDI4MkMxNi40MzM4IDIwLjAxNzYgMTYuNDU2MSAyMC4wMDgyIDE2LjQ3OTcgMjBDMTYuNDU2MSAyMC4wMDgyIDE2LjQzMjYgMjAuMDE2NSAxNi40MTI2IDIwLjAyODJaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTgwIiBkPSJNMTYuNTA1NCAxOS45OTQ2QzE2LjU2MDcgMTkuOTgwNSAxNi42MjA2IDE5Ljk3MjMgMTYuNjgwNiAxOS45Njg4QzE2LjYyMDYgMTkuOTcyMyAxNi41NjA3IDE5Ljk3OTMgMTYuNTA1NCAxOS45OTQ2WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE4MSIgZD0iTTE3LjMzIDI2LjI3MzRDMTYuNjkzNyAyNi41MTIyIDE2LjM3ODQgMjYuNzA3NSAxNi4zMjA4IDI2Ljc3NDVDMTYuMzc4NCAyNi43MDYzIDE2LjY5MzcgMjYuNTEyMiAxNy4zMyAyNi4yNzM0WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE4MiIgZD0iTTE2LjMwNDIgMjAuMTYzM0MxNi4zMDQyIDIwLjE1NzUgMTYuMzA0MiAyMC4xNTA0IDE2LjMwNjYgMjAuMTQ0NUMxNi4zMDU0IDIwLjE1MDQgMTYuMzA0MiAyMC4xNTc1IDE2LjMwNDIgMjAuMTYzM1oiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xODMiIGQ9Ik0xNi44MTc0IDIzLjY0NDVDMTYuODE5NyAyMy42NDkyIDE2LjgyMjEgMjMuNjUyOCAxNi44MjQ0IDIzLjY1NzVDMTYuODIyMSAyMy42NTM5IDE2LjgxOTcgMjMuNjQ5MiAxNi44MTc0IDIzLjY0NTdWMjMuNjQ0NVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xODQiIGQ9Ik0xNi43OTgzIDIzLjQ1MDdDMTYuODAzIDIzLjQyMTMgMTYuODEwMSAyMy4zOTMxIDE2LjgxODMgMjMuMzY3MkMxNi44MTAxIDIzLjM5MzEgMTYuODAzIDIzLjQyMDEgMTYuNzk4MyAyMy40NTA3WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE4NSIgZD0iTTE2Ljc5ODMgMjMuNTk3N0MxNi43OTk1IDIzLjYwMzUgMTYuODAxOCAyMy42MTA2IDE2LjgwNDIgMjMuNjE2NUMxNi44MDQyIDIzLjYxNjUgMTYuODA0MiAyMy42MTc2IDE2LjgwNDIgMjMuNjE4OEMxNi44MDQyIDIzLjYyMTIgMTYuODA2NiAyMy42MjM1IDE2LjgwNzcgMjMuNjI1OUMxNi44MDQyIDIzLjYxNjUgMTYuODAwNyAyMy42MDcxIDE2Ljc5ODMgMjMuNTk4OFYyMy41OTc3WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE4NiIgZD0iTTE2LjgyNDQgMjMuNjU2M0MxNi44MjQ0IDIzLjY1NjMgMTYuODE5NyAyMy42NDgxIDE2LjgxNzQgMjMuNjQ0NUMxNi44MTk3IDIzLjY0ODEgMTYuODIyMSAyMy42NTI4IDE2LjgyNDQgMjMuNjU2M1oiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xODciIGQ9Ik0xNi43OTE4IDIzLjU1NUMxNi43OTE4IDIzLjUyMjEgMTYuNzk0MiAyMy40OTAzIDE2Ljc5NzcgMjMuNDYwOUMxNi43OTMgMjMuNDkwMyAxNi43OTA2IDIzLjUyMDkgMTYuNzkxOCAyMy41NTM5VjIzLjU1NVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xODgiIGQ9Ik0xOC45OTQ2IDI1LjUwNzhDMTguOTg0IDI1LjUxODQgMTguOTczNCAyNS41Mjc4IDE4Ljk2MDQgMjUuNTM4NEMxOC45NzIyIDI1LjUyNzggMTguOTg0IDI1LjUxNzIgMTguOTk0NiAyNS41MDc4WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE4OSIgZD0iTTE2LjI5ODggMjYuODA2M0MxNi4yOTg4IDI2LjgwNjMgMTYuMzAzNSAyNi43OTkyIDE2LjMwNDcgMjYuNzk2OUMxNi4zMDIzIDI2LjgwMDQgMTYuMyAyNi44MDM5IDE2LjI5ODggMjYuODA2M1oiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xOTAiIGQ9Ik0xNi4yODMyIDI2Ljg0MTRDMTYuMjgzMiAyNi44NDE0IDE2LjI4NDMgMjYuODM3IDE2LjI4NTQgMjYuODM1OUMxNi4yODU0IDI2LjgzODEgMTYuMjg0MyAyNi44NDAzIDE2LjI4MzIgMjYuODQxNFoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xOTEiIGQ9Ik0xNi4yOTA1IDI2LjgyNDZDMTYuMjkwNSAyNi44MjQ2IDE2LjI5MjkgMjYuODE5OSAxNi4yOTQxIDI2LjgxNjRDMTYuMjkyOSAyNi44MTg4IDE2LjI5MTcgMjYuODIxMSAxNi4yOTA1IDI2LjgyNDZaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTkyIiBkPSJNMTguNjc5MiAyNS43Mjc0QzE4LjY5NjggMjUuNzE4IDE4LjcxMzMgMjUuNzA4NiAxOC43Mjg2IDI1LjY5OTJDMTguNzEyMSAyNS43MDg2IDE4LjY5NTcgMjUuNzE4IDE4LjY3OTIgMjUuNzI3NFoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xOTMiIGQ9Ik0xOC4yNDY2IDI1LjkzMjlDMTguMjYwNyAyNS45MjcgMTguMjc0OCAyNS45MjExIDE4LjI4ODkgMjUuOTE0MUMxOC4yNzQ4IDI1LjkxOTkgMTguMjYwNyAyNS45MjU4IDE4LjI0NjYgMjUuOTMyOVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xOTQiIGQ9Ik0xOC43NTQ0IDI1LjY4MjlDMTguNzcyIDI1LjY3MjMgMTguNzg4NSAyNS42NjI5IDE4LjgwMzggMjUuNjUyM0MxOC43ODg1IDI1LjY2MjkgMTguNzcwOSAyNS42NzIzIDE4Ljc1NDQgMjUuNjgyOVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xOTUiIGQ9Ik0xOC4zNTk0IDI1Ljg4NTZDMTguMzc1OCAyNS44Nzg2IDE4LjM5MjMgMjUuODcxNSAxOC40MDc2IDI1Ljg2MzNDMTguMzkyMyAyNS44NzAzIDE4LjM3NTggMjUuODc3NCAxOC4zNTk0IDI1Ljg4NTZaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTk2IiBkPSJNMTguNTg2NCAyNS43NzM5QzE4LjYwNzYgMjUuNzYzMyAxOC42MjY0IDI1Ljc1MjggMTguNjQ2NCAyNS43NDIyQzE4LjYyNzYgMjUuNzUyOCAxOC42MDc2IDI1Ljc2MzMgMTguNTg2NCAyNS43NzM5WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE5NyIgZD0iTTE3LjMzMDEgMjYuMjc0N0MxNy40MzU5IDI2LjIzNDcgMTcuNTQ4OSAyNi4xOTQ3IDE3LjY3MjQgMjYuMTUyM0MxNy41NDg5IDI2LjE5MzUgMTcuNDM1OSAyNi4yMzQ3IDE3LjMzMDEgMjYuMjc0N1oiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8xOTgiIGQ9Ik0xNy45NTYxIDI2LjA1MTZDMTcuOTcxMyAyNi4wNDU3IDE3Ljk4NTUgMjYuMDQxIDE3Ljk5OTYgMjYuMDM1MkMxNy45ODU1IDI2LjA0MSAxNy45NzAyIDI2LjA0NTcgMTcuOTU2MSAyNi4wNTE2WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzE5OSIgZD0iTTE2LjMwOTEgMjYuNzkxNUMxNi4zMDkxIDI2Ljc5MTUgMTYuMzE2MiAyNi43ODIgMTYuMzIwOSAyNi43NzczQzE2LjMxNzMgMjYuNzgyIDE2LjMxMzggMjYuNzg2OCAxNi4zMDkxIDI2Ljc5MTVaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjAwIiBkPSJNMTcuNjcyOCAyNi41MTIzQzE4LjU0MDggMjYuMjE4MyAxOS4wODU0IDI1LjkwMDcgMTkuMDc5NiAyNS43MjMxQzE5LjA3NzIgMjUuNjU0OCAxOS4wNTQ5IDI1LjU4NTQgMTguOTk0OSAyNS41MDc4QzE4Ljk4NDMgMjUuNTE4NCAxOC45NzM3IDI1LjUyNzggMTguOTYwOCAyNS41Mzg0QzE4Ljk1ODQgMjUuNTQwNyAxOC45NTQ5IDI1LjU0MzEgMTguOTUyNSAyNS41NDU0QzE4Ljk0MDcgMjUuNTU2IDE4LjkyNzggMjUuNTY2NiAxOC45MTM3IDI1LjU3NzJDMTguOTEyNSAyNS41NzcyIDE4LjkxMTQgMjUuNTc5NiAxOC45MTAyIDI1LjU4MDdDMTguODc5NiAyNS42MDQzIDE4Ljg0NDMgMjUuNjI3OCAxOC44MDU1IDI1LjY1MjVDMTguNzkwMiAyNS42NjMxIDE4Ljc3MjYgMjUuNjcyNSAxOC43NTYxIDI1LjY4MzFDMTguNzQ3OSAyNS42ODc4IDE4LjczOTYgMjUuNjkyNSAxOC43MzE0IDI1LjY5NzJDMTguNzE0OSAyNS43MDY2IDE4LjY5ODUgMjUuNzE2IDE4LjY4MiAyNS43MjU0QzE4LjY3MTQgMjUuNzMxMyAxOC42NTk2IDI1LjczNzIgMTguNjQ3OSAyNS43NDQyQzE4LjYyOTEgMjUuNzU0OCAxOC42MDkxIDI1Ljc2NTQgMTguNTg3OSAyNS43NzZDMTguNTYzMiAyNS43ODg5IDE4LjUzODUgMjUuODAwNyAxOC41MTM4IDI1LjgxMzZDMTguNDk4NSAyNS44MjA3IDE4LjQ4MiAyNS44Mjg5IDE4LjQ2NjcgMjUuODM2QzE4LjQ0NzkgMjUuODQ1NCAxOC40MjkxIDI1Ljg1MzYgMTguNDA5MSAyNS44NjNDMTguMzkzOCAyNS44NzAxIDE4LjM3NzMgMjUuODc3MiAxOC4zNjA5IDI1Ljg4NTRDMTguMzM4NSAyNS44OTYgMTguMzE1IDI1LjkwNTQgMTguMjkxNSAyNS45MTZDMTguMjc3NCAyNS45MjE4IDE4LjI2MzIgMjUuOTI3NyAxOC4yNDkxIDI1LjkzNDhDMTguMjExNSAyNS45NTEzIDE4LjE3MjcgMjUuOTY2NSAxOC4xMzE1IDI1Ljk4M0MxOC4xMjIxIDI1Ljk4NjUgMTguMTEyNyAyNS45OTAxIDE4LjEwMzMgMjUuOTkzNkMxOC4wNzAzIDI2LjAwNjUgMTguMDM2MiAyNi4wMjA3IDE4LjAwMDkgMjYuMDMzNkMxNy45ODY4IDI2LjAzOTUgMTcuOTcxNSAyNi4wNDQyIDE3Ljk1NzQgMjYuMDUwMUMxNy45MjU2IDI2LjA2MTggMTcuODkyNyAyNi4wNzM2IDE3Ljg1OTggMjYuMDg2NUMxNy44NDU3IDI2LjA5MTIgMTcuODMxNiAyNi4wOTcxIDE3LjgxNzQgMjYuMTAxOEMxNy43NzA0IDI2LjExODMgMTcuNzIyMiAyNi4xMzQ4IDE3LjY3MzkgMjYuMTUyNEMxNy41NTA0IDI2LjE5MzYgMTcuNDM3NSAyNi4yMzQ3IDE3LjMzMTcgMjYuMjc0N0MxNi42OTUzIDI2LjUxMzUgMTYuMzgwMSAyNi43MDg4IDE2LjMyMjQgMjYuNzc1OEMxNi4zMTg5IDI2Ljc4MDUgMTYuMzE1NCAyNi43ODUyIDE2LjMxMDcgMjYuNzg5OUMxNi4zMDk1IDI2Ljc5MjMgMTYuMzA4MyAyNi43OTQ2IDE2LjMwNTkgMjYuNzk1OEMxNi4zMDM2IDI2Ljc5OTMgMTYuMzAxMyAyNi44MDI5IDE2LjMwMDEgMjYuODA1MkMxNi4yOTg5IDI2LjgwODcgMTYuMjk2NiAyNi44MTExIDE2LjI5NTQgMjYuODE0NkMxNi4yOTQyIDI2LjgxNyAxNi4yOTMgMjYuODE5MyAxNi4yOTE4IDI2LjgyMjlDMTYuMjkwNyAyNi44MjY0IDE2LjI4ODMgMjYuODI5OSAxNi4yODcxIDI2LjgzNDZDMTYuMjg3MSAyNi44MzcgMTYuMjg2IDI2LjgzOTMgMTYuMjg0OCAyNi44NDA1QzE2LjI4MzYgMjYuODQ1MiAxNi4yODI0IDI2Ljg0ODcgMTYuMjgxMiAyNi44NTM0QzE2LjI4MTIgMjYuODU0NiAxNi4yODEyIDI2Ljg1NyAxNi4yODEyIDI2Ljg1ODFDMTYuMjgxMiAyNi44NjI5IDE2LjI4MDEgMjYuODY3NiAxNi4yNzg5IDI2Ljg3MzRWMjYuODc1OEMxNi4yNzY1IDI2LjkzNTggMTYuMzIzNiAyNi45OTY5IDE2LjQ4NTkgMjcuMDE4MUMxNi42ODcxIDI2Ljg5ODEgMTcuMDcxNyAyNi43MTU4IDE3LjY3MzkgMjYuNTEyM0gxNy42NzI4WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzIwMSIgZD0iTTE2LjQ4OTQgMjAuMzA5NEMxNi40ODk0IDIwLjMwOTQgMTYuNDgyMyAyMC4zMDU5IDE2LjQ4IDIwLjMwNDdDMTYuNDgzNSAyMC4zMDU5IDE2LjQ4NTggMjAuMzA4MiAxNi40ODk0IDIwLjMwOTRaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjAyIiBkPSJNMTYuMzM5IDIwLjIyMTRDMTYuMzM5IDIwLjIyMTQgMTYuMzMzNiAyMC4yMTcgMTYuMzMyNSAyMC4yMTQ4QzE2LjMzNDcgMjAuMjE3IDE2LjMzNjkgMjAuMjE5MiAxNi4zMzkgMjAuMjIxNFoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMDMiIGQ9Ik0xNi4zMTU5IDIwLjE5NEMxNi4zMTU5IDIwLjE5NCAxNi4zMTI2IDIwLjE4OTcgMTYuMzExNSAyMC4xODc1QzE2LjMxMjYgMjAuMTg5NyAxNi4zMTQ4IDIwLjE5MTkgMTYuMzE1OSAyMC4xOTRaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjA0IiBkPSJNMTYuMzc1MSAyMC4yNDkyQzE2LjM3NTEgMjAuMjQ5MiAxNi4zNjgxIDIwLjI0NDUgMTYuMzY1NyAyMC4yNDIyQzE2LjM2OTMgMjAuMjQ0NSAxNi4zNzI4IDIwLjI0NjkgMTYuMzc1MSAyMC4yNDkyWiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzIwNSIgZD0iTTE2LjMwNTMgMjAuMTcwNkMxNi4zMDUzIDIwLjE3MDYgMTYuMzA0MiAyMC4xNjYyIDE2LjMwNDIgMjAuMTY0MUMxNi4zMDQyIDIwLjE2NjIgMTYuMzA0MiAyMC4xNjg0IDE2LjMwNTMgMjAuMTcwNloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMDYiIGQ9Ik0xNi4zMDU3IDIwLjE0MzNDMTYuMzA1NyAyMC4xNDMzIDE2LjMwNTcgMjAuMTM4OSAxNi4zMDY4IDIwLjEzNjdDMTYuMzA2OCAyMC4xMzg5IDE2LjMwNjggMjAuMTQxMSAxNi4zMDU3IDIwLjE0MzNaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjA3IiBkPSJNMTYuNDI0NiAyMC4yNzU0QzE2LjQyNDYgMjAuMjc1NCAxNi40MTc2IDIwLjI3MTkgMTYuNDE0MSAyMC4yNjk1QzE2LjQxNzYgMjAuMjcxOSAxNi40MjExIDIwLjI3MzEgMTYuNDI0NiAyMC4yNzU0WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzIwOCIgZD0iTTE2LjQ4IDIwLjAwNDNDMTYuNDg4MiAyMC4wMDIgMTYuNDk2NCAxOS45OTg0IDE2LjUwNTkgMTkuOTk2MUMxNi40OTc2IDE5Ljk5ODQgMTYuNDg4MiAyMC4wMDA4IDE2LjQ4IDIwLjAwNDNaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjA5IiBkPSJNMTYuNjQwMSAyMC4zNjgxQzE2LjYxNTQgMjAuMzU4NyAxNi41OTA3IDIwLjM0OTMgMTYuNTY4NCAyMC4zMzk4QzE2LjU5MDcgMjAuMzQ5MyAxNi42MTQyIDIwLjM1ODcgMTYuNjQwMSAyMC4zNjgxWiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzIxMCIgZD0iTTE2LjczMjYgMjAuNDA0NEMxNi43MDQ0IDIwLjM5MzggMTYuNjc4NSAyMC4zODQ0IDE2LjY1MzggMjAuMzc1QzE2LjY3ODUgMjAuMzg0NCAxNi43MDU2IDIwLjM5MzggMTYuNzMyNiAyMC40MDQ0WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzIxMSIgZD0iTTE5LjA3ODEgMjUuMzU4NEMxOS4wNzgxIDI1LjMzOTYgMTkuMDc0NSAyNS4zMTk2IDE5LjA2OTggMjUuMzAwOEMxOS4wNzQ1IDI1LjMyMDggMTkuMDc2OSAyNS4zMzk2IDE5LjA3ODEgMjUuMzU4NFoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMTIiIGQ9Ik0xOS4wNzggMjUuMzYzM0MxOS4wNzggMjUuMzczOSAxOS4wNzY4IDI1LjM4NDUgMTkuMDczMiAyNS4zOTYyQzE5LjA3NjggMjUuMzg0NSAxOS4wNzkxIDI1LjM3MzkgMTkuMDc4IDI1LjM2MzNaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjEzIiBkPSJNMTkuMDU4MSAyNS40Mjg0QzE5LjA1ODEgMjUuNDI4NCAxOS4wNjAzIDI1LjQyNDEgMTkuMDYxNCAyNS40MjE5QzE5LjA2MDMgMjUuNDI0MSAxOS4wNTkyIDI1LjQyNjIgMTkuMDU4MSAyNS40Mjg0WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzIxNCIgZD0iTTIwLjAxMSAyNS43NzUzQzIwLjAxMSAyNS43NzUzIDIwLjAwMTYgMjUuNzg3MSAxOS45OTY5IDI1Ljc5M0MxOS45NzkyIDI1LjgxMyAxOS45NjE2IDI1LjgzNDEgMTkuOTQyOCAyNS44NTQxQzE5LjkzNDUgMjUuODYzNSAxOS45MjYzIDI1Ljg3MTggMTkuOTE2OSAyNS44ODEyQzE5Ljg5ODEgMjUuOSAxOS44NzkzIDI1LjkxODggMTkuODYwNCAyNS45Mzc2QzE5Ljg0ODcgMjUuOTQ4MiAxOS44MzY5IDI1Ljk1ODggMTkuODI1MSAyNS45Njk0QzE5LjgwNjMgMjUuOTg3IDE5Ljc4NjMgMjYuMDA0NyAxOS43NjUyIDI2LjAyMjNDMTkuNzUxIDI2LjAzNDEgMTkuNzM1NyAyNi4wNDcgMTkuNzIwNCAyNi4wNTg4QzE5LjcwMDQgMjYuMDc1MyAxOS42ODA1IDI2LjA5MDYgMTkuNjU5MyAyNi4xMDdDMTkuNjM2OSAyNi4xMjM1IDE5LjYxMzQgMjYuMTQgMTkuNTkxMSAyNi4xNTY0QzE5LjU2NCAyNi4xNzY0IDE5LjUzNTggMjYuMTk1MyAxOS41MDY0IDI2LjIxNDFDMTkuNDc4MiAyNi4yMzI5IDE5LjQ0OTkgMjYuMjUxNyAxOS40MjA1IDI2LjI2OTRDMTkuNDAyOSAyNi4yNzk5IDE5LjM4NCAyNi4yOTA1IDE5LjM2NTIgMjYuMzAyM0MxOS4zMzcgMjYuMzE4OCAxOS4zMDk5IDI2LjMzNCAxOS4yODA1IDI2LjM1MDVDMTkuMjYwNSAyNi4zNjExIDE5LjI0MDUgMjYuMzcxNyAxOS4yMjA1IDI2LjM4MjNDMTkuMTkxMSAyNi4zOTc2IDE5LjE2MDUgMjYuNDEyOSAxOS4xMyAyNi40MjgxQzE5LjEwODggMjYuNDM4NyAxOS4wODc2IDI2LjQ0ODEgMTkuMDY2NSAyNi40NTc2QzE5LjAzNDcgMjYuNDcyOCAxOS4wMDA2IDI2LjQ4NyAxOC45Njc3IDI2LjUwMTFDMTguOTQ2NSAyNi41MTA1IDE4LjkyNTMgMjYuNTE4NyAxOC45MDQxIDI2LjUyODFDMTguODY2NSAyNi41NDM0IDE4LjgyNzcgMjYuNTU3NSAxOC43ODg5IDI2LjU3MjhDMTguNzcgMjYuNTc5OSAxOC43NTEyIDI2LjU4NjkgMTguNzMyNCAyNi41OTRDMTguNjczNiAyNi42MTUyIDE4LjYxMzYgMjYuNjM1MiAxOC41NTI0IDI2LjY1MjhDMTcuODU5NiAyNi44NjIyIDE3LjM4MzMgMjYuOTYyMiAxNy4wMzI3IDI3LjAwMzNDMTYuOTgzMyAyNy4wMDkyIDE2LjkzNjMgMjcuMDEzOSAxNi44OTI3IDI3LjAxNzRDMTYuNzcyOCAyNy4wMjY5IDE2LjY2OTMgMjcuMDI5MiAxNi41Nzc1IDI3LjAyNTdDMTYuNTc2MyAyNy4wMjU3IDE2LjU3NCAyNy4wMjU3IDE2LjU3MjggMjcuMDI1N0MxNi41NTYzIDI3LjAyNTcgMTYuNTM5OSAyNy4wMjQ1IDE2LjUyNTggMjcuMDIzM0MxNi41MTA1IDI3LjAyMjIgMTYuNDk3NSAyNy4wMjEgMTYuNDg0NiAyNy4wMTg2QzE2LjM5NTIgMjcuMDcxNiAxNi4zNDIzIDI3LjExMTYgMTYuMzIxMSAyNy4xMzYzQzE2LjI1NCAyNy4yMTYyIDE2LjIxMDUgMjcuMzc1IDE2LjU3NzUgMjcuMzg2OEMxNi45NDQ1IDI3LjM5ODYgMTcuNTAwOSAyNy4zMzE1IDE4LjU1MjQgMjcuMDEzOUMxOS42MDQgMjYuNjk2MyAyMC4yMzQ1IDI2LjA2IDIwLjIyNzQgMjUuNjUwNkMyMC4yMjc0IDI1LjU5NTQgMjAuMjEzMyAyNS41MzY2IDIwLjE5MDkgMjUuNDc2NkMyMC4xNTU3IDI1LjU3MTggMjAuMDk0NSAyNS42NzQyIDIwLjAwOTggMjUuNzc3N0wyMC4wMTEgMjUuNzc1M1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMTUiIGQ9Ik0xOS4yODAyIDI2LjM1MTZDMTkuMjYwMiAyNi4zNjIxIDE5LjI0MDIgMjYuMzcyNyAxOS4yMjAyIDI2LjM4MzNDMTkuMjQwMiAyNi4zNzI3IDE5LjI2MTQgMjYuMzYyMSAxOS4yODAyIDI2LjM1MTZaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjE2IiBkPSJNMTcuMDM0IDI3LjAwMzlDMTYuOTg0NiAyNy4wMDk4IDE2LjkzNzYgMjcuMDE0NSAxNi44OTQgMjcuMDE4QzE2LjkzODcgMjcuMDE0NSAxNi45ODU4IDI3LjAwOTggMTcuMDM0IDI3LjAwMzlaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjE3IiBkPSJNMTYuNTc3NSAyNy4wMjc4QzE2LjU3NzUgMjcuMDI3OCAxNi41NzM5IDI3LjAyNzggMTYuNTcyOCAyNy4wMjc4QzE2LjU3MzkgMjcuMDI3OCAxNi41NzYzIDI3LjAyNzggMTYuNTc3NSAyNy4wMjc4QzE2LjY2OTIgMjcuMDMxMyAxNi43NzI3IDI3LjAyNzggMTYuODkyNyAyNy4wMTk1QzE2Ljc3MjcgMjcuMDI4OSAxNi42NjkyIDI3LjAzMTMgMTYuNTc3NSAyNy4wMjc4WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzIxOCIgZD0iTTE4Ljk2NzMgMjYuNTAzOUMxOC45NDYyIDI2LjUxMzMgMTguOTI1IDI2LjUyMTUgMTguOTAzOCAyNi41MzFDMTguOTI1IDI2LjUyMjcgMTguOTQ2MiAyNi41MTMzIDE4Ljk2NzMgMjYuNTAzOVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMTkiIGQ9Ik0xNi41MjU2IDI3LjAyNDJDMTYuNTExNCAyNy4wMjMxIDE2LjQ5NzMgMjcuMDIxOSAxNi40ODQ0IDI3LjAxOTVDMTYuNDk3MyAyNy4wMjA3IDE2LjUxMTQgMjcuMDIzMSAxNi41MjU2IDI3LjAyNDJaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjIwIiBkPSJNMTkuODI2NiAyNS45Njg4QzE5LjgwNzggMjUuOTg2NCAxOS43ODc4IDI2LjAwNCAxOS43NjY2IDI2LjAyMTdDMTkuNzg3OCAyNi4wMDQgMTkuODA2NiAyNS45ODY0IDE5LjgyNjYgMjUuOTY4OFoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMjEiIGQ9Ik0xOS41OTIgMjYuMTU2MkMxOS41NjUgMjYuMTc2MiAxOS41MzY3IDI2LjE5NTEgMTkuNTA3MyAyNi4yMTM5QzE5LjUzNjcgMjYuMTk1MSAxOS41NjUgMjYuMTc1MSAxOS41OTIgMjYuMTU2MloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMjIiIGQ9Ik0xOS40MjA1IDI2LjI3MzRDMTkuNDAyOSAyNi4yODQgMTkuMzg0MSAyNi4yOTQ2IDE5LjM2NTIgMjYuMzA2NEMxOS4zODQxIDI2LjI5NTggMTkuNDAyOSAyNi4yODUyIDE5LjQyMDUgMjYuMjczNFoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMjMiIGQ9Ik0xOS45MTY4IDI1Ljg4MjhDMTkuODk5MiAyNS45MDE2IDE5Ljg3OTIgMjUuOTIwNSAxOS44NjA0IDI1LjkzOTNDMTkuODgwMyAyNS45MjA1IDE5Ljg5OTIgMjUuOTAxNiAxOS45MTY4IDI1Ljg4MjhaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjI0IiBkPSJNMTkuOTk3IDI1Ljc5M0MxOS45NzkzIDI1LjgxMyAxOS45NjE3IDI1LjgzNDEgMTkuOTQyOSAyNS44NTQxQzE5Ljk2MTcgMjUuODM0MSAxOS45ODA1IDI1LjgxMyAxOS45OTcgMjUuNzkzWiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzIyNSIgZD0iTTE5LjEyOTkgMjYuNDI5N0MxOS4xMDg3IDI2LjQ0MDMgMTkuMDg3NiAyNi40NDk3IDE5LjA2NjQgMjYuNDU5MUMxOS4wODc2IDI2LjQ0OTcgMTkuMTA4NyAyNi40MzkxIDE5LjEyOTkgMjYuNDI5N1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMjYiIGQ9Ik0yMC4xOTE5IDI1LjQ3NjZDMjAuMTU2NiAyNS41NzE4IDIwLjA5NTQgMjUuNjc0MiAyMC4wMTA3IDI1Ljc3NzdDMjAuMDk1NCAyNS42NzQyIDIwLjE1NjYgMjUuNTczIDIwLjE5MTkgMjUuNDc2NloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMjciIGQ9Ik0xNi45NDY2IDIzLjgxMDJDMTYuOTQ2NiAyMy44MTAyIDE2LjkzOTYgMjMuODAzMSAxNi45MzYgMjMuODAwOEMxNi45Mzk2IDIzLjgwNDMgMTYuOTQzMSAyMy44MDc4IDE2Ljk0NjYgMjMuODEwMloiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMjgiIGQ9Ik0xNi43OTUgMjMuNTg1M0MxNi43OTUgMjMuNTg1MyAxNi43OTUgMjMuNTg3NiAxNi43OTUgMjMuNTg4OEMxNi43OTUgMjMuNTkxMSAxNi43OTc0IDIzLjU5NDcgMTYuNzk3NCAyMy41OTdDMTYuNzk3NCAyMy41OTQ3IDE2Ljc5NjIgMjMuNTkxMSAxNi43OTUgMjMuNTg4OEMxNi43OTUgMjMuNTg3NiAxNi43OTUgMjMuNTg1MyAxNi43OTM5IDIzLjU4NDFMMTYuNzk1IDIzLjU4NTNaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjI5IiBkPSJNMTYuODg1MyAyMy43NDQ4QzE2Ljg4NTMgMjMuNzQ0OCAxNi44ODIxIDIzLjc0MDUgMTYuODc5OSAyMy43MzgzQzE2Ljg4MjEgMjMuNzQwNSAxNi44ODMyIDIzLjc0MjYgMTYuODg1MyAyMy43NDQ4WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzIzMCIgZD0iTTE2LjgzNzMgMjMuNjgzN0MxNi44MzI2IDIzLjY3NTUgMTYuODI3OSAyMy42Njg0IDE2LjgyMzIgMjMuNjYwMkMxNi44Mjc5IDIzLjY2ODQgMTYuODMxNSAyMy42NzY2IDE2LjgzNjIgMjMuNjg0OUwxNi44MzczIDIzLjY4MzdaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjMxIiBkPSJNMTYuODE3NSAyMy42NDYyQzE2LjgxNCAyMy42MzkxIDE2LjgxMTYgMjMuNjMyMSAxNi44MDgxIDIzLjYyNUMxNi44MTA1IDIzLjYzMjEgMTYuODE0IDIzLjYzOTEgMTYuODE3NSAyMy42NDYyWiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzIzMiIgZD0iTTE2LjgyNDcgMjMuNjYwMkMxNi44Mjk0IDIzLjY2ODQgMTYuODMyOSAyMy42NzU1IDE2LjgzODggMjMuNjgzN0MxNi44MzQxIDIzLjY3NTUgMTYuODI5NCAyMy42NjcyIDE2LjgyNDcgMjMuNjYwMloiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMzMiIGQ9Ik0xNi43OTY0IDIzLjU4OThDMTYuNzk2NCAyMy41ODk4IDE2Ljc5NzYgMjMuNTk1NyAxNi43OTg3IDIzLjU5ODFDMTYuNzk4NyAyMy41OTU3IDE2Ljc5NzYgMjMuNTkyMiAxNi43OTY0IDIzLjU4OThaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjM0IiBkPSJNMTYuNzkxNSAyMy41NTQ3QzE2Ljc5MTUgMjMuNTY0MSAxNi43OTI3IDIzLjU3NDcgMTYuNzk1IDIzLjU4NTNDMTYuNzkyNyAyMy41NzQ3IDE2Ljc5MTUgMjMuNTY1MyAxNi43OTE1IDIzLjU1NDdaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjM1IiBkPSJNMTYuODA4MSAyMy42MjVDMTYuODEwNSAyMy42MzIxIDE2LjgxNCAyMy42MzkxIDE2LjgxNzUgMjMuNjQ2MkMxNi44MTQgMjMuNjM5MSAxNi44MTE2IDIzLjYzMjEgMTYuODA4MSAyMy42MjVaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjM2IiBkPSJNMTYuNzk2IDIzLjU4NjRDMTYuNzk2IDIzLjU4NjQgMTYuNzk2IDIzLjU4MzEgMTYuNzk0OSAyMy41ODJDMTYuNzk0OSAyMy41ODMxIDE2Ljc5NDkgMjMuNTg1MyAxNi43OTYgMjMuNTg2NFoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMzciIGQ9Ik0xNi45Mzc1IDIzLjgwMDJDMTYuOTE4NyAyMy43ODE0IDE2LjkwMjIgMjMuNzYzNyAxNi44ODU3IDIzLjc0NjFDMTYuOTAxIDIzLjc2MzcgMTYuOTE4NyAyMy43ODI2IDE2LjkzNzUgMjMuODAwMloiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yMzgiIGQ9Ik0xNy4xMzQ4IDIzLjAzMzNDMTcuMTQ2NSAyMy4wMjYzIDE3LjE2MyAyMy4wMTY4IDE3LjE4NTQgMjMuMDAzOUMxNy4xNjMgMjMuMDE2OCAxNy4xNDY1IDIzLjAyNzQgMTcuMTM0OCAyMy4wMzMzWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzIzOSIgZD0iTTE5LjQwMDUgMjIuNjE3NUgxOS41NDE2QzE5LjU1OTMgMjIuNTk5OSAxOS41NzY5IDIyLjU4MzQgMTkuNTk0NiAyMi41NjU4QzE5LjU5NjkgMjIuNTYzNCAxOS41OTkyIDIyLjU2MSAxOS42MDE2IDIyLjU1ODdDMTkuNzEyMiAyMi40NDY5IDE5LjgyMjggMjIuMzIzNCAxOS45MjA0IDIyLjE5NTJDMTkuOTIwNCAyMi4xOTUyIDE5LjkyMDQgMjIuMTk0MSAxOS45MjE1IDIyLjE5MjlDMTkuOTQzOSAyMi4xNjM1IDE5Ljk2NTEgMjIuMTMyOSAxOS45ODYyIDIyLjEwMzVDMTkuOTg5OCAyMi4wOTg4IDE5Ljk5MjEgMjIuMDk0MSAxOS45OTU3IDIyLjA4OTRDMjAuMDE0NSAyMi4wNjExIDIwLjAzMzMgMjIuMDMxNyAyMC4wNTA5IDIyLjAwMzVDMjAuMDU0NSAyMS45OTc2IDIwLjA1OCAyMS45OTE3IDIwLjA2MTUgMjEuOTg0N0MyMC4wNzggMjEuOTU2NCAyMC4wOTQ1IDIxLjkyODIgMjAuMTA4NiAyMS45QzIwLjExMjEgMjEuODk0MSAyMC4xMTQ1IDIxLjg4NzEgMjAuMTE4IDIxLjg4MTJDMjAuMTMyMSAyMS44NTI5IDIwLjE0NSAyMS44MjQ3IDIwLjE1NjggMjEuNzk2NUMyMC4xNTkxIDIxLjc5MTggMjAuMTYwMyAyMS43ODU5IDIwLjE2MjcgMjEuNzgxMkMyMC4xNzQ0IDIxLjc1MTggMjAuMTg1IDIxLjcyMjQgMjAuMTk0NCAyMS42OTNDMjAuMDg5OCAyMS40MTg5IDE5Ljc0NjMgMjEuMjAxMyAxOS41MjE2IDIxLjA3MzFDMTkuMzc1OCAyMC45ODk2IDE5LjIyNTIgMjAuOTEzMSAxOS4wNzExIDIwLjg0MzdDMTguNDIzIDIwLjU1MzIgMTcuNzAyIDIwLjM2OTcgMTYuOTkxNSAyMC4zMzMyQzE2Ljg4NjggMjAuMzI4NSAxNi43MTUxIDIwLjMxMzIgMTYuNTY2OSAyMC4zMzc5QzE2LjU4OTIgMjAuMzQ3MyAxNi42MTI4IDIwLjM1NjcgMTYuNjM4NiAyMC4zNjYyQzE2LjY0MzMgMjAuMzY3MyAxNi42NDY5IDIwLjM2OTcgMTYuNjUxNiAyMC4zNzA5QzE2LjY3NjMgMjAuMzgwMyAxNi43MDMzIDIwLjM4OTcgMTYuNzMwNCAyMC40MDAzQzE2LjczNjMgMjAuNDAyNiAxNi43NDIxIDIwLjQwNSAxNi43NDkyIDIwLjQwNzNDMTYuNzc3NCAyMC40MTc5IDE2LjgwNTcgMjAuNDI4NSAxNi44Mzc0IDIwLjQzOTFDMTYuODQ1NiAyMC40NDE0IDE2Ljg1MzkgMjAuNDQ1IDE2Ljg2MjEgMjAuNDQ4NUMxNi44OTI3IDIwLjQ1OTEgMTYuOTI1NiAyMC40NzA4IDE2Ljk1OTcgMjAuNDgyNkMxNi45NjkyIDIwLjQ4NjEgMTYuOTc3NCAyMC40ODg1IDE2Ljk4NjggMjAuNDkyQzE3LjAyMzMgMjAuNTA1IDE3LjA1OTcgMjAuNTE2NyAxNy4wOTg1IDIwLjUzMDhDMTcuMTA1NiAyMC41MzMyIDE3LjExMTUgMjAuNTM1NSAxNy4xMTg1IDIwLjUzNzlDMTcuMTYwOSAyMC41NTIgMTcuMjA0NCAyMC41NjczIDE3LjI1MDMgMjAuNTgyNkMxNy4yNTYyIDIwLjU4NDkgMTcuMjYyMSAyMC41ODczIDE3LjI2NzkgMjAuNTg4NUMxNy4zMzI2IDIwLjYxMDggMTcuNDAyIDIwLjYzNDMgMTcuNDczOCAyMC42NTc5QzE3LjUxMzggMjAuNjcyIDE3LjU1MzggMjAuNjg0OSAxNy41OTYxIDIwLjY5OUMxOC43MTQ3IDIxLjA3NzggMTkuMDU4MiAyMS4yMjQ4IDE5LjA1ODIgMjEuNTczQzE5LjA1ODIgMjEuNTgyNCAxOS4wNTcgMjEuNTkzIDE5LjA1MzUgMjEuNjA0OEMxOS4wNTExIDIxLjYxMTggMTkuMDQ3NiAyMS42MiAxOS4wNDUyIDIxLjYyNzFDMTkuMDQ0MSAyMS42MzA2IDE5LjA0MjkgMjEuNjM0MiAxOS4wNDA1IDIxLjYzODlDMTkuMDM1OCAyMS42NDk1IDE5LjAzIDIxLjY2IDE5LjAyMjkgMjEuNjcxOEMxOS4wMjI5IDIxLjY3MyAxOS4wMjE3IDIxLjY3NDEgMTkuMDIwNSAyMS42NzUzQzE5LjAxMjMgMjEuNjg3MSAxOS4wMDQxIDIxLjcgMTguOTkzNSAyMS43MTNDMTkuMDM4MiAyMS43Nzg4IDE5LjA1ODIgMjEuODUwNiAxOS4wNTgyIDIxLjkzMjlDMTkuMDU4MiAyMi4wNzc2IDE4LjczODMgMjIuMzQ1OCAxOC4zNTcxIDIyLjYxNEgxOS4zOTgxTDE5LjQwMDUgMjIuNjE3NVoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNDAiIGQ9Ik0xNy4yNDU2IDIyLjk2OEMxNy4yNDU2IDIyLjk2OCAxNy4yNTM5IDIyLjk2MzMgMTcuMjU4NiAyMi45NjA5QzE3LjI1MzkgMjIuOTYzMyAxNy4yNTAzIDIyLjk2NTYgMTcuMjQ1NiAyMi45NjhaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjQxIiBkPSJNMTcuMDU3NiAyMy4wNzlDMTcuMDc0MSAyMy4wNjg0IDE3LjA5MDUgMjMuMDU3OCAxNy4xMDM1IDIzLjA1MDhDMTcuMDg5NCAyMy4wNTkgMTcuMDc0MSAyMy4wNjg0IDE3LjA1NzYgMjMuMDc5WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI0MiIgZD0iTTE3LjI5NDkgMjIuOTM5N0MxNy4yOTQ5IDIyLjkzOTcgMTcuMjk4MiAyMi45Mzc1IDE3LjI5OTMgMjIuOTM3NUMxNy4yOTgyIDIyLjkzNzUgMTcuMjk2IDIyLjkzOTcgMTcuMjk0OSAyMi45Mzk3WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI0MyIgZD0iTTE3LjM3NzQgMjQuMTI5OEMxNy4zNzc0IDI0LjEyOTggMTcuMzg2OCAyNC4xMzU3IDE3LjM5MTUgMjQuMTM4MUMxNy40NTYyIDI0LjE3OTIgMTcuNTI0NCAyNC4yMTkyIDE3LjU5MzggMjQuMjU5MkMxNy41OTg1IDI0LjI2MTYgMTcuNjAzMiAyNC4yNjUxIDE3LjYwNzkgMjQuMjY3NUMxNy42NDA4IDI0LjI4NjMgMTcuNjczOCAyNC4zMDUxIDE3LjcwNjcgMjQuMzIzOUMxNy43MTI2IDI0LjMyNzQgMTcuNzE5NiAyNC4zMzEgMTcuNzI1NSAyNC4zMzQ1QzE3Ljc1ODUgMjQuMzUzMyAxNy43OTE0IDI0LjM3MjEgMTcuODI0MyAyNC4zODk4QzE3LjgzMDIgMjQuMzkzMyAxNy44MzQ5IDI0LjM5NTcgMTcuODQwOCAyNC4zOTkyQzE3Ljg3NDkgMjQuNDE4IDE3LjkwNzkgMjQuNDM1NyAxNy45NDA4IDI0LjQ1NDVDMTcuOTQzMSAyNC40NTQ1IDE3Ljk0NDMgMjQuNDU2OCAxNy45NDY3IDI0LjQ1OEMxNy45ODA4IDI0LjQ3NjggMTguMDEzNyAyNC40OTQ1IDE4LjA0NjYgMjQuNTEyMUMxOC4wODA4IDI0LjUzMDkgMTguMTEzNyAyNC41NDg2IDE4LjE0NjYgMjQuNTY2MkMxOC4xNTM3IDI0LjU2OTggMTguMTYwNyAyNC41NzMzIDE4LjE2NjYgMjQuNTc2OEMxOC4xOTg0IDI0LjU5NDUgMTguMjI5IDI0LjYxMDkgMTguMjU5NSAyNC42Mjc0QzE4LjI2NDMgMjQuNjI5OCAxOC4yNjkgMjQuNjMyMSAxOC4yNzM3IDI0LjYzNDRDMTguMzA0MyAyNC42NTA5IDE4LjMzMzcgMjQuNjY3NCAxOC4zNjE5IDI0LjY4MjdDMTguMzYxOSAyNC42ODI3IDE4LjM2MTkgMjQuNjgyNyAxOC4zNjMgMjQuNjgyN0MxOC4zNzYgMjQuNjg5NyAxOC4zODc4IDI0LjY5NjggMTguMzk5NSAyNC43MDM4QzE4Ljg3NDcgMjQuOTczMiAxOS4wMzQ3IDI1LjE0NDkgMTkuMDcgMjUuMzAxNEMxOS4wNzQ3IDI1LjMyMTQgMTkuMDc3IDI1LjM0MDIgMTkuMDc4MiAyNS4zNTlWMjUuMzYxNEMxOS4wNzgyIDI1LjM3MiAxOS4wNzcgMjUuMzgyNSAxOS4wNzM1IDI1LjM5NDNDMTkuMDcxMiAyNS40MDM3IDE5LjA2NTMgMjUuNDEzMSAxOS4wNjA2IDI1LjQyMjVDMTkuMDU5NCAyNS40MjQ5IDE5LjA1ODIgMjUuNDI3MiAxOS4wNTcxIDI1LjQyOTZDMTkuMDQyOSAyNS40NTQzIDE5LjAyMTggMjUuNDc5IDE4Ljk5MzUgMjUuNTA3MkMxOS4wNTIzIDI1LjU4NDkgMTkuMDc0NyAyNS42NTQzIDE5LjA3ODIgMjUuNzIyNUMxOS4wODQxIDI1LjkwMDEgMTguNTM5NSAyNi4yMTc3IDE3LjY3MTQgMjYuNTExN0MxNy4wNjkyIDI2LjcxNTIgMTYuNjg0NSAyNi44OTg3IDE2LjQ4MzQgMjcuMDE3NUMxNi40OTYzIDI3LjAxODcgMTYuNTEwNSAyNy4wMjExIDE2LjUyNDYgMjcuMDIyMkMxNi41Mzk5IDI3LjAyMzQgMTYuNTU1MSAyNy4wMjQ2IDE2LjU3MTYgMjcuMDI0NkMxNi41NzI4IDI3LjAyNDYgMTYuNTc1MiAyNy4wMjQ2IDE2LjU3NjMgMjcuMDI0NkMxNi42NjgxIDI3LjAyODEgMTYuNzcxNiAyNy4wMjQ2IDE2Ljg5MTYgMjcuMDE2NEMxNi45MzYzIDI3LjAxMjggMTYuOTgzMyAyNy4wMDgxIDE3LjAzMTYgMjcuMDAyMkMxNy4zODIxIDI2Ljk2MTEgMTcuODU4NCAyNi44NjExIDE4LjU1MTMgMjYuNjUxN0MxOC42MTI0IDI2LjYzMjkgMTguNjcyNCAyNi42MTI5IDE4LjczMTIgMjYuNTkyOUMxOC43NSAyNi41ODU5IDE4Ljc2ODkgMjYuNTc4OCAxOC43ODc3IDI2LjU3MTdDMTguODI2NSAyNi41NTc2IDE4Ljg2NTMgMjYuNTQyMyAxOC45MDMgMjYuNTI3QzE4LjkyNDEgMjYuNTE4OCAxOC45NDUzIDI2LjUwOTQgMTguOTY2NSAyNi41QzE4Ljk5OTQgMjYuNDg1OSAxOS4wMzM1IDI2LjQ3MTggMTkuMDY1MyAyNi40NTY1QzE5LjA4NjUgMjYuNDQ3MSAxOS4xMDc2IDI2LjQzNjUgMTkuMTI4OCAyNi40MjcxQzE5LjE1OTQgMjYuNDExOCAxOS4xOSAyNi4zOTc2IDE5LjIxOTQgMjYuMzgxMkMxOS4yMzk0IDI2LjM3MDYgMTkuMjYwNSAyNi4zNiAxOS4yNzk0IDI2LjM0OTRDMTkuMzA4OCAyNi4zMzQxIDE5LjMzNTggMjYuMzE3NyAxOS4zNjQgMjYuMzAxMkMxOS4zODI5IDI2LjI5MDYgMTkuNDAxNyAyNi4yOCAxOS40MTkzIDI2LjI2ODNDMTkuNDQ4OCAyNi4yNTA2IDE5LjQ3NyAyNi4yMzE4IDE5LjUwNTIgMjYuMjEzQzE5LjUzNDYgMjYuMTk0MiAxOS41NjI4IDI2LjE3NDIgMTkuNTg5OSAyNi4xNTUzQzE5LjYxMzQgMjYuMTM4OSAxOS42MzY5IDI2LjEyMjQgMTkuNjU4MSAyNi4xMDU5QzE5LjY3OTMgMjYuMDg5NSAxOS42OTkzIDI2LjA3NDIgMTkuNzE5MyAyNi4wNTc3QzE5LjczNDYgMjYuMDQ1OSAxOS43NDk5IDI2LjAzMyAxOS43NjQgMjYuMDIxM0MxOS43ODUyIDI2LjAwMzYgMTkuODA0IDI1Ljk4NiAxOS44MjQgMjUuOTY4M0MxOS44MzU3IDI1Ljk1NzcgMTkuODQ3NSAyNS45NDcyIDE5Ljg1OTMgMjUuOTM2NkMxOS44NzkzIDI1LjkxNzcgMTkuODk4MSAyNS44OTg5IDE5LjkxNTcgMjUuODgwMUMxOS45MjQgMjUuODcwNyAxOS45MzIyIDI1Ljg2MjUgMTkuOTQxNiAyNS44NTNDMTkuOTYwNCAyNS44MzMgMTkuOTc5MiAyNS44MTE5IDE5Ljk5NTcgMjUuNzkxOUMyMC4wMDA0IDI1Ljc4NiAyMC4wMDUxIDI1Ljc4MDEgMjAuMDA5OCAyNS43NzQyQzIwLjA5NDUgMjUuNjcwNyAyMC4xNTU3IDI1LjU2OTYgMjAuMTkwOSAyNS40NzMxQzIwLjA0OTggMjUuMDg3MyAxOS41MTQ2IDI0LjYxOTIgMTkuMTAxNyAyNC4zMzkyQzE4Ljk1IDI0LjIzNTcgMTguODM4MyAyNC4xNTU3IDE4Ljc1NTkgMjQuMDg5OEgxNy4zMjA5QzE3LjMzOTcgMjQuMTAxNiAxNy4zNTc0IDI0LjExMzQgMTcuMzc2MiAyNC4xMjUxTDE3LjM3NzQgMjQuMTI5OFoiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNDQiIGQ9Ik0yMC4wNjA1IDI0Ljg3MTFDMjAuMTQxNyAyNC45ODg3IDIwLjE5OTMgMjUuMTA1MiAyMC4yMTkzIDI1LjIxMjJDMjAuMTk4MiAyNS4xMDUyIDIwLjE0MTcgMjQuOTg4NyAyMC4wNjA1IDI0Ljg3MTFaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjQ1IiBkPSJNMjAuMTk1OCAyMS42OTY1QzIwLjIwNTIgMjEuNjYzNSAyMC4yMTM0IDIxLjYyOTQgMjAuMjE5MyAyMS41OTc3QzIwLjIxMzQgMjEuNjMwNiAyMC4yMDUyIDIxLjY2MzUgMjAuMTk1OCAyMS42OTY1WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI0NiIgZD0iTTE5LjMwMDEgMjAuNTk2NkMxOS4yMjQ5IDIwLjU1OSAxOS4xNDk2IDIwLjUyMjUgMTkuMDcxOSAyMC40ODcyQzE5LjE0ODQgMjAuNTIxNCAxOS4yMjQ5IDIwLjU1NzggMTkuMzAwMSAyMC41OTY2WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI0NyIgZD0iTTE2Ljk5IDIzLjEyODlDMTYuOTY2NSAyMy4xNDg5IDE2Ljk0MTggMjMuMTcwMSAxNi45MTk0IDIzLjE5NkMxNi45NDE4IDIzLjE3MDEgMTYuOTY2NSAyMy4xNDc3IDE2Ljk5IDIzLjEyODlaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjQ4IiBkPSJNMTcuMTI2NiAyMy4wMzUyQzE3LjEyNjYgMjMuMDM1MiAxNy4xMjMgMjMuMDM3NSAxNy4xMjE5IDIzLjAzNzVDMTcuMTE2IDIzLjA0MSAxNy4xMTAxIDIzLjA0NDYgMTcuMTAzIDIzLjA0OTNDMTcuMTEwMSAyMy4wNDU3IDE3LjExNiAyMy4wNDEgMTcuMTIxOSAyMy4wMzc1QzE3LjEyMTkgMjMuMDM3NSAxNy4xMjU0IDIzLjAzNTIgMTcuMTI2NiAyMy4wMzUyWiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI0OSIgZD0iTTE3Ljc1MjQgMjAuMDcwM0MxNy44NTM2IDIwLjA5MDMgMTcuOTU1OSAyMC4xMTE1IDE4LjA1NTkgMjAuMTM2MkMxNy45NTQ4IDIwLjExMTUgMTcuODUzNiAyMC4wOTAzIDE3Ljc1MjQgMjAuMDcwM1oiIGZpbGw9IiNBMjQyMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNTAiIGQ9Ik0xOC45OTU3IDIxLjcxODhDMTguNzMyMyAyMi4wNjgxIDE3LjcxODQgMjIuNjg2OCAxNy4zMDA4IDIyLjkzNUMxNy43MTg0IDIyLjY4OCAxOC43MzIzIDIyLjA2OTMgMTguOTk1NyAyMS43MTg4WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI1MSIgZD0iTTE3LjE4NTUgMjMuMDAzMUMxNy4xODU1IDIzLjAwMzEgMTcuMTkzOCAyMi45OTg0IDE3LjE5NzMgMjIuOTk2MUMxNy4xOTM4IDIyLjk5ODQgMTcuMTg5MSAyMy4wMDA4IDE3LjE4NTUgMjMuMDAzMVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNTIiIGQ9Ik0xNy4xMjcgMjMuMDM2QzE3LjEyNyAyMy4wMzYgMTcuMTMxNiAyMy4wMzM2IDE3LjEzNTIgMjMuMDMxMkMxNy4xMzE2IDIzLjAzMzYgMTcuMTI5MyAyMy4wMzQ4IDE3LjEyNyAyMy4wMzZaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjUzIiBkPSJNMTYuOTkwMiAyMy4xMjgyQzE3LjAwMzIgMjMuMTE3NiAxNy4wMTczIDIzLjEwNzEgMTcuMDMwMiAyMy4wOTc3QzE3LjAxNzMgMjMuMTA3MSAxNy4wMDQzIDIzLjExNzYgMTYuOTkwMiAyMy4xMjgyWiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI1NCIgZD0iTTE2Ljg5NCAyMy4yMzAyQzE2Ljk3MDUgMjMuMTI5MSAxNy4wNzA1IDIzLjA3MzggMTcuMTIyMiAyMy4wNDJDMTcuMTMxNiAyMy4wMzYyIDE3LjE2MjIgMjMuMDE4NSAxNy4yMDgxIDIyLjk5MTVDMTcuMjEwNCAyMi45OTAzIDE3LjIxMjggMjIuOTg5MSAxNy4yMTUxIDIyLjk4NjhDMTcuMzM3NSAyMi45MTUgMTcuNTY0NSAyMi43Nzk3IDE3LjgxODUgMjIuNjE5OEgxOC4zNTk2QzE4LjczOTYgMjIuMzUyOCAxOS4wNjA3IDIyLjA4NDYgMTkuMDYwNyAyMS45Mzg3QzE5LjA2MDcgMjEuODU2NCAxOS4wNDA3IDIxLjc4NDYgMTguOTk2IDIxLjcxODhDMTguNzMxMyAyMi4wNjgxIDE3LjcxODYgMjIuNjg2OCAxNy4zMDEgMjIuOTM1QzE3LjI5OTggMjIuOTM1IDE3LjI5NzUgMjIuOTM3NCAxNy4yOTYzIDIyLjkzNzRDMTcuMjgzNCAyMi45NDU2IDE3LjI3MDQgMjIuOTUyNiAxNy4yNTg3IDIyLjk1OTdDMTcuMjUzOSAyMi45NjIxIDE3LjI1MDQgMjIuOTY0NCAxNy4yNDU3IDIyLjk2NjhDMTcuMjM3NSAyMi45NzE1IDE3LjIyOTIgMjIuOTc2MiAxNy4yMjIyIDIyLjk4MDlDMTcuMjEzOSAyMi45ODU2IDE3LjIwNTcgMjIuOTkwMyAxNy4xOTg3IDIyLjk5NUMxNy4xOTQgMjIuOTk3MyAxNy4xOTA0IDIyLjk5OTcgMTcuMTg2OSAyMy4wMDJDMTcuMTY0NSAyMy4wMTUgMTcuMTQ4MSAyMy4wMjU2IDE3LjEzNjMgMjMuMDMxNUMxNy4xMzI4IDIzLjAzMzggMTcuMTMwNCAyMy4wMzUgMTcuMTI4MSAyMy4wMzYyQzE3LjEyNjkgMjMuMDM2MiAxNy4xMjQ2IDIzLjAzODUgMTcuMTIzNCAyMy4wMzg1QzE3LjExNzUgMjMuMDQyIDE3LjExMTYgMjMuMDQ1NiAxNy4xMDQ2IDIzLjA1MDNDMTcuMDkwNCAyMy4wNTg1IDE3LjA3NTIgMjMuMDY3OSAxNy4wNTg3IDIzLjA3ODVDMTcuMDUwNSAyMy4wODQ0IDE3LjA0MTEgMjMuMDkwMyAxNy4wMzI4IDIzLjA5NjJDMTcuMDE5OSAyMy4xMDU2IDE3LjAwNjkgMjMuMTE2MSAxNi45OTI4IDIzLjEyNjdDMTYuOTY5MyAyMy4xNDY3IDE2Ljk0NDYgMjMuMTY3OSAxNi45MjIyIDIzLjE5MzhDMTYuODgyMiAyMy4yMzk2IDE2Ljg0NTggMjMuMjk2MSAxNi44MjIzIDIzLjM2NTVDMTYuODQxMSAyMy4zMTI2IDE2Ljg2NjkgMjMuMjY2NyAxNi44OTY0IDIzLjIyNzlMMTYuODk0IDIzLjIzMDJaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjU1IiBkPSJNMTkuMjU3MiAyNC4wODk4SDE4Ljc1NzNDMTguODM5NyAyNC4xNTU3IDE4Ljk1MTQgMjQuMjM1NyAxOS4xMDMxIDI0LjMzOTJDMTkuNTE2IDI0LjYxOTIgMjAuMDUxMiAyNS4wODczIDIwLjE5MjMgMjUuNDczMUMyMC4yMDQxIDI1LjQ0MTQgMjAuMjEyMyAyNS40MTA4IDIwLjIxOTQgMjUuMzgwMkMyMC4yMTk0IDI1LjM3OSAyMC4yMTk0IDI1LjM3NzggMjAuMjE5NCAyNS4zNzY3QzIwLjIyNTMgMjUuMzQ2MSAyMC4yMjg4IDI1LjMxNTUgMjAuMjI3NiAyNS4yODczQzIwLjIyNzYgMjUuMjYxNCAyMC4yMjQxIDI1LjIzNTUgMjAuMjE5NCAyNS4yMDg1QzIwLjE5ODIgMjUuMTAxNCAyMC4xNDE4IDI0Ljk4NSAyMC4wNjA2IDI0Ljg2NzNDMjAuMDQwNiAyNC44Mzc5IDIwLjAxODMgMjQuODA4NSAxOS45OTQ3IDI0Ljc3NzlDMTkuODc5NSAyNC42Mjk3IDE5LjczMDEgMjQuNDgwNCAxOS41NzM2IDI0LjM0MjdDMTkuNDc5NSAyNC4yNjA0IDE5LjM4MTkgMjQuMTgxNiAxOS4yODc4IDI0LjExMUMxOS4yNzg0IDI0LjEwNCAxOS4yNjc4IDI0LjA5NjkgMTkuMjU4NCAyNC4wODk4SDE5LjI1NjFIMTkuMjU3MloiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNTYiIGQ9Ik0xNy43NTI1IDIwLjA2OTlDMTcuNTAwOCAyMC4wMjE3IDE3LjI0NTYgMTkuOTg4OCAxNi45OTI3IDE5Ljk3N0MxNi45NDggMTkuOTc0NiAxNi44OTI3IDE5Ljk3MTEgMTYuODMxNSAxOS45Njg4QzE2Ljg5MjcgMTkuOTcxMSAxNi45NDkyIDE5Ljk3NDYgMTYuOTkyNyAxOS45NzdDMTcuMjQ1NiAxOS45ODk5IDE3LjUwMDggMjAuMDIxNyAxNy43NTI1IDIwLjA2OTlaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjU3IiBkPSJNMjAuMjI4NSAyMS41QzIwLjIyODUgMjEuNTMxOCAyMC4yMjQ5IDIxLjU2NDcgMjAuMjIwMiAyMS41OTc2QzIwLjIyNjEgMjEuNTY0NyAyMC4yMjg1IDIxLjUzMTggMjAuMjI4NSAyMS41WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI1OCIgZD0iTTIwLjIyODUgMjEuNDk4NEMyMC4yMjg1IDIxLjM4OSAyMC4xODYyIDIxLjI4NTUgMjAuMTE5MSAyMS4xOTE0QzIwLjE4NjIgMjEuMjg1NSAyMC4yMjg1IDIxLjM4NzggMjAuMjI4NSAyMS40OTg0WiIgZmlsbD0iIzZCMjMwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzI1OSIgZD0iTTE2Ljk5MjUgMjAuMzM1N0MxNy43MDI5IDIwLjM3MSAxOC40MjUyIDIwLjU1NDUgMTkuMDcyMSAyMC44NDYyQzE5LjIyNjIgMjAuOTE1NiAxOS4zNzY4IDIwLjk5MDkgMTkuNTIyNiAyMS4wNzU2QzE5Ljc0NzMgMjEuMjAzOCAyMC4wOTA3IDIxLjQyMTQgMjAuMTk1NCAyMS42OTU1QzIwLjIwNDggMjEuNjYyNiAyMC4yMTMxIDIxLjYyODUgMjAuMjE4OSAyMS41OTY3QzIwLjIyNDggMjEuNTYzOCAyMC4yMjcyIDIxLjUzMDggMjAuMjI3MiAyMS40OTkxQzIwLjIyNzIgMjEuMzg5NyAyMC4xODQ4IDIxLjI4NjIgMjAuMTE3OCAyMS4xOTIxQzIwLjAzNzggMjEuMDc5MSAxOS45MjI1IDIwLjk3OTEgMTkuODAzNyAyMC44OTQ1QzE5LjcwNDkgMjAuODIzOSAxOS42MDQ5IDIwLjc2MzkgMTkuNTIxNCAyMC43MTU3QzE5LjQ0ODUgMjAuNjczMyAxOS4zNzQ0IDIwLjYzMzMgMTkuMjk5MSAyMC41OTU3QzE5LjIyMzkgMjAuNTU4MSAxOS4xNDg2IDIwLjUyMTYgMTkuMDcwOSAyMC40ODYzQzE4Ljc0NzQgMjAuMzQwNCAxOC40MDUyIDIwLjIyMjggMTguMDU0NiAyMC4xMzU4QzE3Ljk1MzUgMjAuMTExMSAxNy44NTIzIDIwLjA4OTkgMTcuNzUxMiAyMC4wNjk5QzE3LjQ5OTQgMjAuMDIxNyAxNy4yNDQyIDE5Ljk4ODggMTYuOTkxMyAxOS45NzdDMTYuOTQ2NiAxOS45NzQ2IDE2Ljg5MTMgMTkuOTcxMSAxNi44MzAyIDE5Ljk2ODhDMTYuODEzNyAxOS45Njg4IDE2Ljc5NzIgMTkuOTY4OCAxNi43ODA4IDE5Ljk2ODhDMTYuNzQ3OCAxOS45Njg4IDE2LjcxMzcgMTkuOTY4OCAxNi42Nzk2IDE5Ljk3MTFDMTYuNjE5NiAxOS45NzQ2IDE2LjU1OTYgMTkuOTgxNyAxNi41MDQ0IDE5Ljk5N0MxNi40OTYxIDE5Ljk5OTMgMTYuNDg2NyAyMC4wMDE3IDE2LjQ3ODUgMjAuMDA1MkMxNi40NTUgMjAuMDEzNSAxNi40MzE0IDIwLjAyMTcgMTYuNDExNCAyMC4wMzM0QzE2LjM3MzggMjAuMDUzNCAxNi4zNDIgMjAuMDc5MyAxNi4zMTk3IDIwLjExMzRDMTYuMzEzOCAyMC4xMjI4IDE2LjMwOTEgMjAuMTMxMSAxNi4zMDY3IDIwLjEzOTNDMTYuMzA2NyAyMC4xNDE3IDE2LjMwNjcgMjAuMTQ0IDE2LjMwNTUgMjAuMTQ2NEMxNi4zMDQ0IDIwLjE1MjIgMTYuMzAzMiAyMC4xNTkzIDE2LjMwMzIgMjAuMTY1MkMxNi4zMDMyIDIwLjE2NzUgMTYuMzAzMiAyMC4xNjk5IDE2LjMwNDQgMjAuMTcyMkMxNi4zMDU1IDIwLjE3ODEgMTYuMzA2NyAyMC4xODQgMTYuMzEwMyAyMC4xOTExQzE2LjMxMTQgMjAuMTkzNCAxNi4zMTM4IDIwLjE5NTggMTYuMzE1IDIwLjE5ODFDMTYuMzE4NSAyMC4yMDQgMTYuMzI0NCAyMC4yMTExIDE2LjMzMDMgMjAuMjE2OUMxNi4zMzI2IDIwLjIxOTMgMTYuMzM1IDIwLjIyMTYgMTYuMzM3MyAyMC4yMjRDMTYuMzQ0NCAyMC4yMzExIDE2LjM1MzggMjAuMjM2OSAxNi4zNjMyIDIwLjI0NEMxNi4zNjY3IDIwLjI0NjQgMTYuMzcwMyAyMC4yNDg3IDE2LjM3MjYgMjAuMjUxMUMxNi4zODQ0IDIwLjI1ODEgMTYuMzk3MyAyMC4yNjY0IDE2LjQxMTQgMjAuMjczNEMxNi40MTUgMjAuMjc1OCAxNi40MTg1IDIwLjI3NjkgMTYuNDIyIDIwLjI3OTNDMTYuNDM4NSAyMC4yODc1IDE2LjQ1NjEgMjAuMjk2OSAxNi40NzYxIDIwLjMwNjNDMTYuNDc5NyAyMC4zMDc1IDE2LjQ4MiAyMC4zMDk5IDE2LjQ4NTUgMjAuMzExQzE2LjUwOSAyMC4zMjE2IDE2LjUzMzggMjAuMzMyMiAxNi41NjIgMjAuMzQ0QzE2LjU2MiAyMC4zNDQgMTYuNTYzMiAyMC4zNDQgMTYuNTY0MyAyMC4zNDRDMTYuNzEyNiAyMC4zMTkzIDE2Ljg4NDMgMjAuMzM0NiAxNi45ODkgMjAuMzM5M0wxNi45OTI1IDIwLjMzNTdaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMjYwIiBkPSJNMjAuMTU5MSAyMS43OTc2QzIwLjE0NzQgMjEuODI1OSAyMC4xMzQ0IDIxLjg1NDEgMjAuMTIwMyAyMS44ODIzQzIwLjExNjggMjEuODg4MiAyMC4xMTQ0IDIxLjg5NTMgMjAuMTEwOSAyMS45MDEyQzIwLjA5NjggMjEuOTI5NCAyMC4wODAzIDIxLjk1NzYgMjAuMDYzOSAyMS45ODU4QzIwLjA2MDMgMjEuOTkxNyAyMC4wNTY4IDIxLjk5NzYgMjAuMDUzMyAyMi4wMDQ3QzIwLjAzNTYgMjIuMDMyOSAyMC4wMTggMjIuMDYyMyAxOS45OTggMjIuMDkwNUMxOS45OTQ1IDIyLjA5NTIgMTkuOTkyMSAyMi4wOTk5IDE5Ljk4ODYgMjIuMTA0NkMxOS45Njc0IDIyLjEzNTIgMTkuOTQ2MiAyMi4xNjQ2IDE5LjkyMzkgMjIuMTk0QzE5LjkyMzkgMjIuMTk0IDE5LjkyMzkgMjIuMTk1MiAxOS45MjI3IDIyLjE5NjRDMTkuODI1MSAyMi4zMjQ2IDE5LjcxNDUgMjIuNDQ4MSAxOS42MDM5IDIyLjU1OTlDMTkuNjAxNiAyMi41NjIyIDE5LjU5OTMgMjIuNTY0NiAxOS41OTY5IDIyLjU2NjlDMTkuNTc5MyAyMi41ODQ2IDE5LjU2MTYgMjIuNjAyMiAxOS41NDM5IDIyLjYxODdIMTkuODc0NUMyMC4wNzQ0IDIyLjM2OTMgMjAuMjMwOSAyMi4wOTY0IDIwLjIzMDkgMjEuODU4OEMyMC4yMzA5IDIxLjgwMjQgMjAuMjE5MSAyMS43NDgyIDIwLjE5OTEgMjEuNjk1M0MyMC4xOTA5IDIxLjcyNDcgMjAuMTc5MSAyMS43NTQxIDIwLjE2NzQgMjEuNzgzNUMyMC4xNjUgMjEuNzg4MiAyMC4xNjM4IDIxLjc5NDEgMjAuMTYxNSAyMS43OTg4TDIwLjE1OTEgMjEuNzk3NloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNjEiIGQ9Ik0xOS45ODc2IDIyLjEwNTVDMTkuOTY2NCAyMi4xMzYxIDE5Ljk0NTIgMjIuMTY1NSAxOS45MjI5IDIyLjE5NDlDMTkuOTQ1MiAyMi4xNjU1IDE5Ljk2NjQgMjIuMTM0OSAxOS45ODc2IDIyLjEwNTVaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjYyIiBkPSJNMjAuMDUxOSAyMi4wMDc4QzIwLjAzNDIgMjIuMDM2IDIwLjAxNTQgMjIuMDY1NCAxOS45OTY2IDIyLjA5MzdDMjAuMDE2NiAyMi4wNjU0IDIwLjAzNDIgMjIuMDM2IDIwLjA1MTkgMjIuMDA3OFoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNjMiIGQ9Ik0xOS41NDE1IDIyLjYxODJDMTkuNTU5MSAyMi42MDA1IDE5LjU3NjggMjIuNTg0MSAxOS41OTQ1IDIyLjU2NjRDMTkuNTc2OCAyMi41ODQxIDE5LjU1OTEgMjIuNjAxNyAxOS41NDE1IDIyLjYxODJaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjY0IiBkPSJNMjAuMTY1IDIxLjc4MzVDMjAuMTc2OCAyMS43NTQxIDIwLjE4NzQgMjEuNzI0NyAyMC4xOTY4IDIxLjY5NTNDMjAuMTg4NiAyMS43MjQ3IDIwLjE3NjggMjEuNzU0MSAyMC4xNjUgMjEuNzgzNVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNjUiIGQ9Ik0xOS4wMjMyIDIxLjY4MTFDMTkuMDIzMiAyMS42ODExIDE5LjAyNDQgMjEuNjc4OCAxOS4wMjU1IDIxLjY3NzZDMTkuMDMyNiAyMS42NjcgMTkuMDM4NSAyMS42NTUzIDE5LjA0MzIgMjEuNjQ0N0MxOS4wNDU1IDIxLjY0MTEgMTkuMDQ2NyAyMS42Mzc2IDE5LjA0NzkgMjEuNjMyOUMxOS4wNTE0IDIxLjYyNDcgMTkuMDU0OSAyMS42MTc2IDE5LjA1NjEgMjEuNjEwNkMxOS4wNTk3IDIxLjYgMTkuMDYwOCAyMS41ODk0IDE5LjA2MDggMjEuNTc4OEMxOS4wNjA4IDIxLjIzMDYgMTguNzE4NSAyMS4wODM2IDE3LjU5ODcgMjAuNzA0OUMxNy41NTY0IDIwLjY5MDcgMTcuNTE2NCAyMC42NzY2IDE3LjQ3NjQgMjAuNjYzN0MxNy40MDM1IDIwLjYzOSAxNy4zMzUzIDIwLjYxNTUgMTcuMjcwNiAyMC41OTQzQzE3LjI2NDcgMjAuNTkxOSAxNy4yNTg4IDIwLjU4OTYgMTcuMjUyOSAyMC41ODg0QzE3LjIwNyAyMC41NzMxIDE3LjE2MzUgMjAuNTU3OCAxNy4xMjEyIDIwLjU0MzdDMTcuMTE0MSAyMC41NDE0IDE3LjEwNzEgMjAuNTM5IDE3LjEwMTIgMjAuNTM2N0MxNy4wNjI0IDIwLjUyMzcgMTcuMDI0NyAyMC41MTA4IDE2Ljk4OTQgMjAuNDk3OEMxNi45OCAyMC40OTQzIDE2Ljk3MDYgMjAuNDkyIDE2Ljk2MjQgMjAuNDg4NEMxNi45MjgzIDIwLjQ3NjcgMTYuODk2NSAyMC40NjQ5IDE2Ljg2NDggMjAuNDU0M0MxNi44NTY1IDIwLjQ1MDggMTYuODQ4MyAyMC40NDg0IDE2Ljg0MDEgMjAuNDQ0OUMxNi44MDk1IDIwLjQzNDMgMTYuNzgwMSAyMC40MjM3IDE2Ljc1MTggMjAuNDEzMUMxNi43NDYgMjAuNDEwOCAxNi43NDAxIDIwLjQwODQgMTYuNzMzIDIwLjQwNjFDMTYuNzA0OCAyMC4zOTU1IDE2LjY3ODkgMjAuMzg2MSAxNi42NTQyIDIwLjM3NjdDMTYuNjQ5NSAyMC4zNzU1IDE2LjY0NiAyMC4zNzMyIDE2LjY0MTMgMjAuMzcyQzE2LjYxNjYgMjAuMzYyNiAxNi41OTE5IDIwLjM1MzIgMTYuNTY5NSAyMC4zNDM4QzE2LjQ2NDggMjAuMzYxNCAxNi4zNzMxIDIwLjM5NzkgMTYuMzIyNSAyMC40NzMxQzE2LjIzMDggMjAuNjA5NiAxNi40ODEzIDIwLjY4NzIgMTcuNjAxMSAyMS4wNjZDMTguNDUzOSAyMS4zNTUzIDE4Ljg1NSAyMS41MDk0IDE4Ljk5ODUgMjEuNzIxMUMxOS4wMDc5IDIxLjcwODIgMTkuMDE3MyAyMS42OTUzIDE5LjAyNTUgMjEuNjgzNUwxOS4wMjMyIDIxLjY4MTFaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjY2IiBkPSJNMTkuMDQzIDIxLjY0NDZDMTkuMDQzIDIxLjY0NDYgMTkuMDQ2NSAyMS42Mzc1IDE5LjA0NzcgMjEuNjMyOEMxOS4wNDY1IDIxLjYzNjMgMTkuMDQ1MyAyMS42Mzk5IDE5LjA0MyAyMS42NDQ2WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzI2NyIgZD0iTTE3LjQ3NjQgMjAuNjYzMUMxNy40MDQ2IDIwLjYzODQgMTcuMzM1MiAyMC42MTQ5IDE3LjI3MDUgMjAuNTkzOEMxNy4zMzUyIDIwLjYxNjEgMTcuNDAzNCAyMC42Mzg0IDE3LjQ3NjQgMjAuNjYzMVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNjgiIGQ9Ik0xOS4wMjI5IDIxLjY3OTFDMTkuMDIyOSAyMS42NzkxIDE5LjAyNCAyMS42NzY5IDE5LjAyNTEgMjEuNjc1OEMxOS4wMjUxIDIxLjY3NjkgMTkuMDI0IDIxLjY3OCAxOS4wMjI5IDIxLjY3OTFaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjY5IiBkPSJNMTYuOTYwOSAyMC40ODcyQzE2LjkyNjggMjAuNDc1NSAxNi44OTUgMjAuNDYzNyAxNi44NjMzIDIwLjQ1MzFDMTYuODkzOSAyMC40NjM3IDE2LjkyNjggMjAuNDc1NSAxNi45NjA5IDIwLjQ4NzJaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjcwIiBkPSJNMTcuMTAxIDIwLjUzNDlDMTcuMDYyMiAyMC41MjIgMTcuMDI0NSAyMC41MDkgMTYuOTg5MyAyMC40OTYxQzE3LjAyNTcgMjAuNTA5IDE3LjA2MjIgMjAuNTIwOCAxNy4xMDEgMjAuNTM0OVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNzEiIGQ9Ik0xOS4wNTU3IDIxLjYwOTlDMTkuMDU5MiAyMS41OTkzIDE5LjA2MDQgMjEuNTg4NyAxOS4wNjA0IDIxLjU3ODFDMTkuMDYwNCAyMS41ODc1IDE5LjA1OCAyMS41OTgxIDE5LjA1NTcgMjEuNjA5OVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNzIiIGQ9Ik0xOS4wNTggMjUuNDMwN0MxOS4wNTggMjUuNDMwNyAxOS4wNjA0IDI1LjQyNiAxOS4wNjE1IDI1LjQyMzZDMTkuMDY2MiAyNS40MTQyIDE5LjA3MDkgMjUuNDA0OCAxOS4wNzQ1IDI1LjM5NTRDMTkuMDc4IDI1LjM4MzcgMTkuMDgwMyAyNS4zNzMxIDE5LjA3OTIgMjUuMzYyNVYyNS4zNjAxQzE5LjA3OTIgMjUuMzQxMyAxOS4wNzU2IDI1LjMyMTMgMTkuMDcwOSAyNS4zMDI1QzE5LjAzNTYgMjUuMTQ2MSAxOC44NzU3IDI0Ljk3NTUgMTguNDAwNSAyNC43MDVDMTguMzg3NSAyNC42OTc5IDE4LjM3NjkgMjQuNjkwOSAxOC4zNjQgMjQuNjgzOEMxOC4zNjQgMjQuNjgzOCAxOC4zNjQgMjQuNjgzOCAxOC4zNjI4IDI0LjY4MzhDMTguMzM0NiAyNC42Njg1IDE4LjMwNTIgMjQuNjUyIDE4LjI3NDYgMjQuNjM1NkMxOC4yNjk5IDI0LjYzMzIgMTguMjY1MiAyNC42MzA5IDE4LjI2MDUgMjQuNjI4NUMxOC4yMjk5IDI0LjYxMiAxOC4xOTkzIDI0LjU5NTYgMTguMTY3NiAyNC41Nzc5QzE4LjE2MDUgMjQuNTc0NCAxOC4xNTQ2IDI0LjU3MDkgMTguMTQ3NiAyNC41NjczQzE4LjExNDYgMjQuNTQ5NyAxOC4wODE3IDI0LjUzMDkgMTguMDQ3NiAyNC41MTMyQzE4LjAxNDcgMjQuNDk1NiAxNy45ODE3IDI0LjQ3NjggMTcuOTQ3NiAyNC40NTkxQzE3Ljk0NTMgMjQuNDU5MSAxNy45NDQxIDI0LjQ1NjggMTcuOTQxNyAyNC40NTU2QzE3LjkwODggMjQuNDM4IDE3Ljg3NDcgMjQuNDE5MSAxNy44NDE3IDI0LjQwMDNDMTcuODM1OSAyNC4zOTY4IDE3LjgzMTIgMjQuMzk0NCAxNy44MjUzIDI0LjM5MDlDMTcuNzkyNCAyNC4zNzIxIDE3Ljc1OTQgMjQuMzU0NCAxNy43MjY1IDI0LjMzNTZDMTcuNzIwNiAyNC4zMzIxIDE3LjcxMzUgMjQuMzI4NiAxNy43MDc3IDI0LjMyNUMxNy42NzQ3IDI0LjMwNjIgMTcuNjQxOCAyNC4yODc0IDE3LjYwODggMjQuMjY4NkMxNy42MDQxIDI0LjI2NjIgMTcuNTk5NSAyNC4yNjI3IDE3LjU5NDcgMjQuMjYwM0MxNy41MjUzIDI0LjIyMDMgMTcuNDU4MyAyNC4xNzkyIDE3LjM5MjQgMjQuMTM5MkMxNy4zODc3IDI0LjEzNjggMTcuMzgzIDI0LjEzMzMgMTcuMzc4MyAyNC4xMzA5QzE3LjM1OTUgMjQuMTE5MiAxNy4zNDA3IDI0LjEwNzQgMTcuMzIxOCAyNC4wOTU3SDE3LjMxOTVDMTcuMTAwNyAyMy45NTQ1IDE2LjkxOTYgMjMuODEzNCAxNi44Mzg0IDIzLjY4NzVDMTYuODA5IDIzLjc1MSAxNi43OTE0IDIzLjgyNzUgMTYuNzkyNSAyMy45MTgxQzE2Ljc5ODQgMjQuMjQyNyAxNy43OTU5IDI0LjczMDggMTguMzY0IDI1LjA0OTZDMTguNzEzMyAyNS4yNDQ5IDE4LjkwMTYgMjUuMzg5NSAxOC45OTU3IDI1LjUxM0MxOS4wMjI3IDI1LjQ4NiAxOS4wNDUxIDI1LjQ2MDEgMTkuMDU5MiAyNS40MzU0TDE5LjA1OCAyNS40MzA3WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzI3MyIgZD0iTTE4LjI3MzkgMjQuNjM2QzE4LjI3MzkgMjQuNjM2IDE4LjI2NDUgMjQuNjMxMyAxOC4yNTk4IDI0LjYyODlDMTguMjY0NSAyNC42MzEzIDE4LjI2OTIgMjQuNjMzNiAxOC4yNzM5IDI0LjYzNloiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNzQiIGQ9Ik0xOC4wNDc3IDI0LjUxMTFDMTguMDE0OCAyNC40OTM1IDE3Ljk4MTkgMjQuNDc0NyAxNy45NDc4IDI0LjQ1N0MxNy45ODE5IDI0LjQ3NTkgMTguMDE0OCAyNC40OTM1IDE4LjA0NzcgMjQuNTExMVoiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNzUiIGQ9Ik0xNy44MjU0IDI0LjM4NzNDMTcuNzkyNCAyNC4zNjg1IDE3Ljc1OTUgMjQuMzUwOSAxNy43MjY2IDI0LjMzMkMxNy43NTk1IDI0LjM1MDkgMTcuNzkyNCAyNC4zNjk3IDE3LjgyNTQgMjQuMzg3M1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yNzYiIGQ9Ik0xNy45NDE4IDI0LjQ1MzdDMTcuOTA4OSAyNC40MzYxIDE3Ljg3NDcgMjQuNDE3MyAxNy44NDE4IDI0LjM5ODRDMTcuODc1OSAyNC40MTczIDE3LjkwODkgMjQuNDM0OSAxNy45NDE4IDI0LjQ1MzdaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjc3IiBkPSJNMTcuNTkyNCAyNC4yNTc5QzE3LjUyMyAyNC4yMTc5IDE3LjQ1NiAyNC4xNzY3IDE3LjM5MDEgMjQuMTM2N0MxNy40NTQ4IDI0LjE3NzkgMTcuNTIzIDI0LjIxNzkgMTcuNTkyNCAyNC4yNTc5WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzI3OCIgZD0iTTE4LjM2MTggMjQuNjgzNkMxOC4zNjE4IDI0LjY4MzYgMTguMzYxOCAyNC42ODM2IDE4LjM2MyAyNC42ODM2QzE4LjM3NTkgMjQuNjkwNyAxOC4zODc3IDI0LjY5NzcgMTguMzk5NCAyNC43MDQ4QzE4LjM4NjUgMjQuNjk3NyAxOC4zNzU5IDI0LjY5MDcgMTguMzYzIDI0LjY4MzZDMTguMzYzIDI0LjY4MzYgMTguMzYzIDI0LjY4MzYgMTguMzYxOCAyNC42ODM2WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzI3OSIgZD0iTTE3LjMyMDggMjQuMDg5OEMxNy4zMzk2IDI0LjEwMTYgMTcuMzU4NCAyNC4xMTM0IDE3LjM3NzMgMjQuMTI1MUMxNy4zNTg0IDI0LjExMzQgMTcuMzM5NiAyNC4xMDE2IDE3LjMyMiAyNC4wODk4SDE3LjMyMDhaIiBmaWxsPSIjRkZEQjY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjgwIiBkPSJNMTcuMDE4NyAyMy44NzE1QzE3LjAxODcgMjMuODcxNSAxNy4wMTE2IDIzLjg2NTYgMTcuMDA5MyAyMy44NjMzQzE3LjAxMjggMjMuODY1NiAxNy4wMTYzIDIzLjg2OTIgMTcuMDE4NyAyMy44NzE1WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzI4MSIgZD0iTTE3LjE4NTkgMjQuMDAwNEMxNy4xODU5IDI0LjAwMDQgMTcuMTc4OCAyMy45OTU3IDE3LjE3NTMgMjMuOTkyMkMxNy4xNzg4IDIzLjk5NDUgMTcuMTgyNCAyMy45OTY5IDE3LjE4NTkgMjQuMDAwNFoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yODIiIGQ9Ik0xNy4yODY4IDI0LjA2OTJDMTcuMjg2OCAyNC4wNjkyIDE3LjI3NjIgMjQuMDYyMSAxNy4yNzE1IDI0LjA1ODZDMTcuMjc2MiAyNC4wNjIxIDE3LjI4MjEgMjQuMDY1NiAxNy4yODY4IDI0LjA2OTJaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjgzIiBkPSJNMjIuMDU2NCAyMy44NDE4QzIyLjA1NjQgMjMuODQxOCAyMi4wNTI5IDIzLjgzODMgMjIuMDUwNSAyMy44MzU5SDE4Ljg5MTFDMTguODk4MiAyMy44NDA2IDE4LjkwNTIgMjMuODQ2NSAxOC45MTIzIDIzLjg1MTJDMTguOTI0IDIzLjg1OTUgMTguOTM1OCAyMy44Njg5IDE4Ljk0ODcgMjMuODc3MUMxOC45NjE3IDIzLjg4NjUgMTguOTc1OCAyMy44OTU5IDE4Ljk4OTkgMjMuOTA2NUMxOS4wMDA1IDIzLjkxMzYgMTkuMDA5OSAyMy45MjA2IDE5LjAyMTcgMjMuOTI4OUMxOS4wNDQgMjMuOTQ0MiAxOS4wNjc1IDIzLjk2MDYgMTkuMDkyMiAyMy45NzcxQzE5LjA5NTggMjMuOTc5NCAxOS4wOTkzIDIzLjk4MTggMTkuMTAyOCAyMy45ODQxQzE5LjE1MzQgMjQuMDE4MyAxOS4yMDUyIDI0LjA1NTkgMTkuMjU4MSAyNC4wOTQ3SDIyLjA4MjNDMjIuMDY1OCAyNC4wNDA2IDIyLjA1NjQgMjMuOTgzIDIyLjA1NjQgMjMuOTIzVjIzLjg0MThaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjg0IiBkPSJNMTguNTQzMSAyMy44MzM5SDE4LjMxODRDMTcuOTg0MyAyMy44MzM5IDE3LjcxMTUgMjMuNTYxIDE3LjcxMTUgMjMuMjI2OUMxNy43MTE1IDIzLjE1NTIgMTcuNzI0NCAyMy4wODcgMTcuNzQ3OSAyMy4wMjM0QzE3LjQyMzMgMjMuMjI2OSAxNy4xNTYzIDIzLjM3OTggMTcuMTIzMyAyMy4zOTk4QzE3LjA1NzUgMjMuNDM5OCAxNi45MTM5IDIzLjUxOTggMTYuODM5OCAyMy42ODIxQzE2Ljg1MTYgMjMuNjk5OCAxNi44NjU3IDIzLjcxODYgMTYuODgxIDIzLjczNzRDMTYuODgzNCAyMy43Mzk4IDE2Ljg4NDYgMjMuNzQyMSAxNi44ODY5IDIzLjc0NDVDMTYuOTAyMiAyMy43NjIxIDE2LjkxOTggMjMuNzgwOSAxNi45Mzg3IDIzLjc5ODZDMTYuOTQyMiAyMy44MDIxIDE2Ljk0NTcgMjMuODA1NiAxNi45NDkzIDIzLjgwOEMxNi45NjgxIDIzLjgyNjggMTYuOTg5MiAyMy44NDQ1IDE3LjAxMDQgMjMuODYzM0MxNy4wMTM5IDIzLjg2NTYgMTcuMDE3NSAyMy44NjkyIDE3LjAxOTggMjMuODcxNUMxNy4wNjY5IDIzLjkxMTUgMTcuMTE5OCAyMy45NTE1IDE3LjE3NjMgMjMuOTkxNUMxNy4xNzk4IDIzLjk5MzggMTcuMTgzMyAyMy45OTYyIDE3LjE4NjggMjMuOTk5N0MxNy4yMTM5IDI0LjAxODUgMTcuMjQzMyAyNC4wMzg1IDE3LjI3MjcgMjQuMDU4NUMxNy4yNzc0IDI0LjA2MjEgMTcuMjgzMyAyNC4wNjU2IDE3LjI4OCAyNC4wNjkxQzE3LjI5OTggMjQuMDc2MiAxNy4zMTE1IDI0LjA4NDQgMTcuMzIzMyAyNC4wOTE1SDE4Ljc1ODNDMTguNjAxOSAyMy45NjY4IDE4LjU1MjUgMjMuODk2MiAxOC41NDQyIDIzLjgzMjdMMTguNTQzMSAyMy44MzM5WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzI4NSIgZD0iTTE4Ljk1MDIgMjMuODc1QzE4Ljk2MzEgMjMuODg0NCAxOC45NzcyIDIzLjg5MzggMTguOTkxMyAyMy45MDQ0QzE4Ljk3NzIgMjMuODk1IDE4Ljk2MzEgMjMuODg0NCAxOC45NTAyIDIzLjg3NVoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yODYiIGQ9Ik0xNy4xMjE5IDIzLjQwMDlDMTcuMTU0OSAyMy4zODEgMTcuNDIxOSAyMy4yMjggMTcuNzQ2NSAyMy4wMjQ2QzE3LjgzMTIgMjIuNzkwNSAxOC4wNTQ3IDIyLjYyMTEgMTguMzE4MiAyMi42MjExSDE3LjgxODNDMTcuNTY1NCAyMi43ODExIDE3LjMzODQgMjIuOTE2MyAxNy4yMTQ5IDIyLjk4ODFDMTcuMjEyNSAyMi45ODkzIDE3LjIxMDIgMjIuOTkwNCAxNy4yMDc4IDIyLjk5MjhDMTcuMTYxOSAyMy4wMTk4IDE3LjEzMTMgMjMuMDM3NSAxNy4xMjE5IDIzLjA0MzRDMTcuMDcwMiAyMy4wNzM5IDE2Ljk3MDIgMjMuMTMwNCAxNi44OTM3IDIzLjIzMTZDMTYuODY0MyAyMy4yNzA0IDE2LjgzODUgMjMuMzE2MyAxNi44MTk2IDIzLjM2OTJDMTYuODE5NiAyMy4zNjkyIDE2LjgxOTYgMjMuMzcwNCAxNi44MTk2IDIzLjM3MTVDMTYuODExNCAyMy4zOTc0IDE2LjgwNDMgMjMuNDI0NSAxNi43OTk2IDIzLjQ1NTFDMTYuNzk5NiAyMy40NTc0IDE2Ljc5OTYgMjMuNDU5OCAxNi43OTk2IDIzLjQ2MjFDMTYuNzk0OSAyMy40OTE1IDE2Ljc5MjYgMjMuNTIyMSAxNi43OTM4IDIzLjU1NjJDMTYuNzkzOCAyMy41NjU2IDE2Ljc5NDkgMjMuNTc2MiAxNi43OTczIDIzLjU4NjhDMTYuNzk3MyAyMy41ODggMTYuNzk3MyAyMy41OTAzIDE2Ljc5ODUgMjMuNTkxNUMxNi43OTg1IDIzLjU5MzkgMTYuNzk5NiAyMy41OTc0IDE2LjgwMDggMjMuNTk5N0MxNi44MDMyIDIzLjYwOTEgMTYuODA2NyAyMy42MTg2IDE2LjgxMDIgMjMuNjI2OEMxNi44MTI2IDIzLjYzMzkgMTYuODE2MSAyMy42NDA5IDE2LjgxOTYgMjMuNjQ4QzE2LjgyMiAyMy42NTE1IDE2LjgyNDMgMjMuNjU2MiAxNi44MjY3IDIzLjY1OTdDMTYuODMxNCAyMy42NjggMTYuODM0OSAyMy42NzYyIDE2Ljg0MDggMjMuNjgzM0MxNi45MTQ5IDIzLjUyMDkgMTcuMDU4NCAyMy40NDA5IDE3LjEyNDMgMjMuNDAwOUgxNy4xMjE5WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzI4NyIgZD0iTTE4LjkxMzYgMjMuODQ3N0MxOC45MjUzIDIzLjg1NTkgMTguOTM3MSAyMy44NjUzIDE4Ljk1IDIzLjg3MzVDMTguOTM3MSAyMy44NjQxIDE4LjkyNTMgMjMuODU1OSAxOC45MTM2IDIzLjg0NzdaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjg4IiBkPSJNMTguOTkxMiAyMy45MDIzQzE5LjAwMTggMjMuOTA5NCAxOS4wMTEyIDIzLjkxNjUgMTkuMDIzIDIzLjkyNDdDMTkuMDEyNCAyMy45MTc2IDE5LjAwMTggMjMuOTEwNiAxOC45OTEyIDIzLjkwMjNaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjg5IiBkPSJNMTkuMDkyMyAyMy45NzI3QzE5LjA5MjMgMjMuOTcyNyAxOS4wOTkzIDIzLjk3NzQgMTkuMTAyOSAyMy45Nzk3QzE5LjE1MzQgMjQuMDEzOCAxOS4yMDUyIDI0LjA1MTUgMTkuMjU4MSAyNC4wOTAzQzE5LjIwNTIgMjQuMDUxNSAxOS4xNTIzIDI0LjAxMzggMTkuMTAyOSAyMy45Nzk3QzE5LjA5OTMgMjMuOTc3NCAxOS4wOTU4IDIzLjk3NSAxOS4wOTIzIDIzLjk3MjdaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjkwIiBkPSJNMTguODkwMiAyMy44MzJIMTguNTQyQzE4LjU1MTQgMjMuODk1NSAxOC41OTk2IDIzLjk2NjEgMTguNzU2MSAyNC4wOTA4SDE5LjI1ODNDMTkuMjA1NCAyNC4wNTIgMTkuMTUyNSAyNC4wMTQzIDE5LjEwMzEgMjMuOTgwMkMxOS4wOTk1IDIzLjk3NzkgMTkuMDk2IDIzLjk3NTUgMTkuMDkyNSAyMy45NzMyQzE5LjA2NzggMjMuOTU2NyAxOS4wNDQzIDIzLjk0MDIgMTkuMDIxOSAyMy45MjQ5QzE5LjAxMTMgMjMuOTE3OSAxOS4wMDA3IDIzLjkxMDggMTguOTkwMiAyMy45MDI2QzE4Ljk3NiAyMy44OTMyIDE4Ljk2MTkgMjMuODgyNiAxOC45NDkgMjMuODczMkMxOC45MzYxIDIzLjg2MzggMTguOTI0MyAyMy44NTU2IDE4LjkxMjUgMjMuODQ3M0MxOC45MDU1IDIzLjg0MjYgMTguODk4NCAyMy44MzY3IDE4Ljg5MTQgMjMuODMySDE4Ljg4OUgxOC44OTAyWiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzI5MSIgZD0iTTE2LjgzNzQgMjMuNjgwOUMxNi45MTg2IDIzLjgwNjcgMTcuMDk5NyAyMy45NDc5IDE3LjMxODUgMjQuMDg5SDE3LjMyMDlDMTcuMzA5MSAyNC4wODIgMTcuMjk3MyAyNC4wNzM3IDE3LjI4NjcgMjQuMDY2N0MxNy4yODIgMjQuMDYzMSAxNy4yNzYyIDI0LjA1OTYgMTcuMjcxNSAyNC4wNTYxQzE3LjI0MjEgMjQuMDM2MSAxNy4yMTM4IDI0LjAxNzMgMTcuMTg1NiAyMy45OTczQzE3LjE4MjEgMjMuOTk0OSAxNy4xNzg1IDIzLjk5MjYgMTcuMTc1IDIzLjk4OUMxNy4xMTc0IDIzLjk0OSAxNy4wNjU2IDIzLjkwNzkgMTcuMDE4NSAyMy44NjkxQzE3LjAxNSAyMy44NjY3IDE3LjAxMTUgMjMuODYzMiAxNy4wMDkyIDIzLjg2MDhDMTYuOTg2OCAyMy44NDIgMTYuOTY2OCAyMy44MjMyIDE2Ljk0OCAyMy44MDU1QzE2Ljk0NDUgMjMuODAyIDE2Ljk0MDkgMjMuNzk4NSAxNi45Mzc0IDIzLjc5NjFDMTYuOTE4NiAyMy43NzczIDE2LjkwMjEgMjMuNzU5NyAxNi44ODU2IDIzLjc0MkMxNi44ODMzIDIzLjczOTcgMTYuODgyMSAyMy43MzczIDE2Ljg3OTggMjMuNzM1QzE2Ljg2NDUgMjMuNzE2MSAxNi44NTAzIDIzLjY5NzMgMTYuODM4NiAyMy42Nzk3TDE2LjgzNzQgMjMuNjgwOVoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yOTIiIGQ9Ik0xNy4xNzUgMjMuOTk1QzE3LjExNzQgMjMuOTU1IDE3LjA2NTYgMjMuOTEzOCAxNy4wMTg2IDIzLjg3NUMxNy4wNjU2IDIzLjkxNSAxNy4xMTg1IDIzLjk1NSAxNy4xNzUgMjMuOTk1WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzI5MyIgZD0iTTE3LjAwNzkgMjMuODYzOUMxNi45ODU2IDIzLjg0NTEgMTYuOTY1NiAyMy44MjYyIDE2Ljk0NjggMjMuODA4NkMxNi45NjU2IDIzLjgyNzQgMTYuOTg2OCAyMy44NDUxIDE3LjAwNzkgMjMuODYzOVoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yOTQiIGQ9Ik0xNy4yNzE0IDI0LjA1ODhDMTcuMjQyIDI0LjAzODggMTcuMjEzOCAyNC4wMiAxNy4xODU1IDI0QzE3LjIxMjYgMjQuMDE4OCAxNy4yNDIgMjQuMDM4OCAxNy4yNzE0IDI0LjA1ODhaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjk1IiBkPSJNMTcuMjg2OCAyNC4wNzAzQzE3LjI5ODYgMjQuMDc3NCAxNy4zMDkyIDI0LjA4NTYgMTcuMzIwOSAyNC4wOTI3QzE3LjMwOTIgMjQuMDg1NiAxNy4yOTc0IDI0LjA3NzQgMTcuMjg1NiAyNC4wNzAzSDE3LjI4NjhaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjk2IiBkPSJNMjIuMDUwMyAyMy44MzJDMjIuMDUwMyAyMy44MzIgMjIuMDUzNiAyMy44MzUzIDIyLjA1NTcgMjMuODM3NVYyMy44MzJIMjIuMDUwM1oiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8yOTciIGQ9Ik0xOC41ODIgMjMuNTY0MUMxOC41NzYxIDIzLjU1NzEgMTguNTcyNiAyMy41NSAxOC41Njc5IDIzLjU0M0MxOC41NzE0IDIzLjU1IDE4LjU3NjEgMjMuNTU3MSAxOC41ODIgMjMuNTY0MVoiIGZpbGw9IiM0QjQxQTgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yOTgiIGQ9Ik0xOC42NjYyIDIzLjY1MjlDMTguNjU0NSAyMy42NDExIDE4LjY0MjcgMjMuNjMwNSAxOC42MzMzIDIzLjYyMTFDMTguNjQzOSAyMy42MzE3IDE4LjY1NDUgMjMuNjQyMyAxOC42NjYyIDIzLjY1MjlaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMjk5IiBkPSJNMTguNTY1NiAyMy41MzU2QzE4LjU2MiAyMy41Mjg2IDE4LjU1ODUgMjMuNTIyNyAxOC41NTYyIDIzLjUxNTZDMTguNTU4NSAyMy41MjE1IDE4LjU2MiAyMy41Mjg2IDE4LjU2NTYgMjMuNTM1NloiIGZpbGw9IiM0QjQxQTgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMDAiIGQ9Ik0xOC41NDY1IDIzLjQ5MDNDMTguNTQ2NSAyMy40OTAzIDE4LjU0NDEgMjMuNDc4NSAxOC41NDMgMjMuNDcyN0MxOC41NDMgMjMuNDc4NSAxOC41NDUzIDIzLjQ4NDQgMTguNTQ2NSAyMy40OTAzWiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMwMSIgZD0iTTE4Ljg5MzUgMjMuNjA5OEMxOC44NDc2IDIzLjYwOTggMTguODAzIDIzLjYwMTYgMTguNzYwNiAyMy41ODk4QzE4LjcyNjUgMjMuNjEzNCAxOC42OTM2IDIzLjYzNjkgMTguNjY2NSAyMy42NTgxQzE4LjY3NTkgMjMuNjY3NSAxOC42ODY1IDIzLjY3NjkgMTguNjk4MyAyMy42ODYzQzE4LjY5ODMgMjMuNjg2MyAxOC43MDA2IDIzLjY4ODYgMTguNzAxOCAyMy42ODk4QzE4LjcxMjQgMjMuNjk5MiAxOC43MjQyIDIzLjcwODcgMTguNzM1OSAyMy43MTgxQzE4LjczODMgMjMuNzIwNCAxOC43NDA2IDIzLjcyMjggMTguNzQ0MiAyMy43MjM5QzE4Ljc1NTkgMjMuNzMzMyAxOC43Njc3IDIzLjc0MjggMTguNzc5NCAyMy43NTIyQzE4Ljc4NDEgMjMuNzU1NyAxOC43ODc3IDIzLjc1OTIgMTguNzkyNCAyMy43NjI4QzE4LjgwNDEgMjMuNzcyMiAxOC44MTU5IDIzLjc4MTYgMTguODI4OCAyMy43OTFDMTguODM0NyAyMy43OTU3IDE4Ljg0MDYgMjMuODAwNCAxOC44NDc3IDIzLjgwNTFDMTguODYwNiAyMy44MTQ1IDE4Ljg3MjQgMjMuODIzOSAxOC44ODY1IDIzLjgzMzNDMTguODg4OCAyMy44MzQ1IDE4Ljg5MTIgMjMuODM2OSAxOC44OTIzIDIzLjgzOEgyMi4wNTE4QzIxLjk5NjUgMjMuNzcyMiAyMS45NTI5IDIzLjY5NDUgMjEuOTI0NyAyMy42MTFIMTguODk0N0wxOC44OTM1IDIzLjYwOThaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzAyIiBkPSJNMTguNjAyOCAyMy41OTExQzE4LjU5NTcgMjMuNTgyOSAxOC41ODg3IDIzLjU3NDYgMTguNTg0IDIzLjU2NjRDMTguNTg5OSAyMy41NzQ2IDE4LjU5NTcgMjMuNTgyOSAxOC42MDI4IDIzLjU5MTFaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzAzIiBkPSJNMTguNzc4MyAyMy43NDYxQzE4Ljc3ODMgMjMuNzQ2MSAxOC43ODY2IDIzLjc1MzIgMTguNzkxMyAyMy43NTY3QzE4Ljc4NjYgMjMuNzUzMiAxOC43ODE4IDIzLjc0OTYgMTguNzc4MyAyMy43NDYxWiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMwNCIgZD0iTTE4LjY5ODIgMjMuNjc5N0MxOC42OTgyIDIzLjY3OTcgMTguNzAwNCAyMy42ODE5IDE4LjcwMTUgMjMuNjgzQzE4LjcwMDQgMjMuNjgzIDE4LjY5OTMgMjMuNjgwOCAxOC42OTgyIDIzLjY3OTdaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzA1IiBkPSJNMTguNzM1OCAyMy43MTQ4QzE4LjczNTggMjMuNzE0OCAxOC43NDA2IDIzLjcxOTUgMTguNzQ0MSAyMy43MjA3QzE4Ljc0MTcgMjMuNzE4NCAxOC43MzgyIDIzLjcxNiAxOC43MzU4IDIzLjcxNDhaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzA2IiBkPSJNMTguODI4NiAyMy43ODUyQzE4LjgzNDUgMjMuNzg5OSAxOC44NDA0IDIzLjc5NDYgMTguODQ3NCAyMy43OTkzQzE4Ljg0MTUgMjMuNzk0NiAxOC44MzQ1IDIzLjc4OTkgMTguODI4NiAyMy43ODUyWiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMwNyIgZD0iTTE3LjcxMTQgMjMuMjI1M0MxNy43MTE0IDIzLjU1OTQgMTcuOTg0MyAyMy44MzIzIDE4LjMxODQgMjMuODMyM0gxOC41NDNDMTguNTQzIDIzLjgyNCAxOC41NDA3IDIzLjgxNTggMTguNTQwNyAyMy44MDg3QzE4LjU0MDcgMjMuNzY0IDE4LjU4ODkgMjMuNzEzNSAxOC42NjY1IDIzLjY1MzVDMTguNjU0OCAyMy42NDE3IDE4LjY0MyAyMy42MzExIDE4LjYzMzYgMjMuNjIxN0MxOC42MzM2IDIzLjYyMTcgMTguNjMzNiAyMy42MjE3IDE4LjYzMjQgMjMuNjIwNUMxOC42MjMgMjMuNjExMSAxOC42MTQ4IDIzLjYwMTcgMTguNjA2NSAyMy41OTIzQzE4LjYwNjUgMjMuNTkyMyAxOC42MDU0IDIzLjU5MTEgMTguNjA0MiAyMy41OUMxOC41OTcxIDIzLjU4MTcgMTguNTkwMSAyMy41NzM1IDE4LjU4NTQgMjMuNTY1M0MxOC41ODU0IDIzLjU2NTMgMTguNTg0MiAyMy41NjI5IDE4LjU4MyAyMy41NjE3QzE4LjU3NzEgMjMuNTU0NyAxOC41NzI0IDIzLjU0NzYgMTguNTY4OSAyMy41NDA1QzE4LjU2ODkgMjMuNTM5NCAxOC41Njc3IDIzLjUzODIgMTguNTY2NiAyMy41MzdDMTguNTYzIDIzLjUzIDE4LjU1OTUgMjMuNTI0MSAxOC41NTcxIDIzLjUxN0MxOC41NTcxIDIzLjUxNTggMTguNTU2IDIzLjUxNDcgMTguNTU0OCAyMy41MTIzQzE4LjU1MjQgMjMuNTA2NCAxOC41NTAxIDIzLjUwMDYgMTguNTQ4OSAyMy40OTQ3QzE4LjU0ODkgMjMuNDkzNSAxOC41NDg5IDIzLjQ5MTEgMTguNTQ3NyAyMy40OUMxOC41NDY1IDIzLjQ4NDEgMTguNTQ1NCAyMy40NzgyIDE4LjU0NDIgMjMuNDcyM0MxOC41NDQyIDIzLjQ3MTEgMTguNTQ0MiAyMy40NyAxOC41NDQyIDIzLjQ2ODhDMTguNTQ0MiAyMy40NjQxIDE4LjU0NDIgMjMuNDYwNiAxOC41NDQyIDIzLjQ1NTlDMTguNDU3MSAyMy4zNjY1IDE4LjQwMyAyMy4yNDUzIDE4LjQwMyAyMy4xMTEyQzE4LjQwMyAyMi44Mzk1IDE4LjYyNTQgMjIuNjE3MiAxOC44OTcxIDIyLjYxNzJIMTguMzYzQzE4LjE2MzEgMjIuNzU4MyAxNy45NDY3IDIyLjg5ODMgMTcuNzUwMiAyMy4wMjA2QzE3LjcyNzkgMjMuMDg0MiAxNy43MTM4IDIzLjE1MjQgMTcuNzEzOCAyMy4yMjQxTDE3LjcxMTQgMjMuMjI1M1oiIGZpbGw9IiM0QjQxQTgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMDgiIGQ9Ik0xOC44OTIxIDIzLjgzMjVDMTguODkyMSAyMy44MzI1IDE4Ljg4NzggMjMuODI5MiAxOC44ODY3IDIzLjgyODFDMTguODg4OSAyMy44MjkyIDE4Ljg5IDIzLjgzMDMgMTguODkyMSAyMy44MzI1WiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMwOSIgZD0iTTE3Ljc0NjYgMjMuMDIwNkMxNy45NDE4IDIyLjg5ODMgMTguMTU4MyAyMi43NTcyIDE4LjM1OTQgMjIuNjE3MkgxOC4zMTgzQzE4LjA1NTkgMjIuNjE3MiAxNy44MzEzIDIyLjc4NjYgMTcuNzQ2NiAyMy4wMjA2WiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMxMCIgZD0iTTE4Ljg0NzcgMjMuODAwOEMxOC44NjA2IDIzLjgxMDIgMTguODcyNCAyMy44MTk2IDE4Ljg4NjUgMjMuODI5QzE4Ljg3MzUgMjMuODE5NiAxOC44NjA2IDIzLjgxMDIgMTguODQ3NyAyMy44MDA4WiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMxMSIgZD0iTTE4Ljc0MjcgMjMuNzE4OEMxOC43NTQ0IDIzLjcyODIgMTguNzY2MiAyMy43Mzc2IDE4Ljc3NzkgMjMuNzQ3QzE4Ljc2NSAyMy43Mzc2IDE4Ljc1MzMgMjMuNzI4MiAxOC43NDI3IDIzLjcxODhaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzEyIiBkPSJNMTguNTQwNSAyMy44MDg4QzE4LjU0MDUgMjMuODE3IDE4LjU0MDUgMjMuODI1MyAxOC41NDI5IDIzLjgzMjNIMTguODkyMkMxOC44OTIyIDIzLjgzMjMgMTguODg4NyAyMy44MyAxOC44ODY0IDIzLjgyNzZDMTguODczNCAyMy44MTgyIDE4Ljg2MDUgMjMuODA4OCAxOC44NDc1IDIzLjc5OTRDMTguODQxNyAyMy43OTQ3IDE4LjgzNDYgMjMuNzkgMTguODI4NyAyMy43ODUzQzE4LjgxNTggMjMuNzc1OSAxOC44MDQgMjMuNzY2NCAxOC43OTIzIDIzLjc1N0MxOC43ODc2IDIzLjc1MzUgMTguNzgyOCAyMy43NSAxOC43NzkzIDIzLjc0NjRDMTguNzY2NCAyMy43MzcgMTguNzU0NiAyMy43Mjc2IDE4Ljc0NCAyMy43MTgyQzE4Ljc0MTcgMjMuNzE1OSAxOC43MzgyIDIzLjcxMzUgMTguNzM1OCAyMy43MTIzQzE4LjcyNCAyMy43MDI5IDE4LjcxMjMgMjMuNjkzNSAxOC43MDE3IDIzLjY4NDFDMTguNzAwNSAyMy42ODQxIDE4LjY5OTMgMjMuNjgxNyAxOC42OTgyIDIzLjY4MDZDMTguNjg2NCAyMy42NzEyIDE4LjY3NTggMjMuNjYxOCAxOC42NjY0IDIzLjY1MjNDMTguNTg4OCAyMy43MTIzIDE4LjU0MDUgMjMuNzYyOSAxOC41NDA1IDIzLjgwNzZWMjMuODA4OFoiIGZpbGw9IiM0QjQxQTgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMTMiIGQ9Ik0xOC41NDA2IDIzLjQ1N0MxOC41NDA2IDIzLjQ1NyAxOC41NDA2IDIzLjQ2NTMgMTguNTQwNiAyMy40N0MxOC41NDA2IDIzLjQ3MTEgMTguNTQwNiAyMy40NzIzIDE4LjU0MDYgMjMuNDczNUMxOC41NDA2IDIzLjQ3OTQgMTguNTQzIDIzLjQ4NTMgMTguNTQ0MSAyMy40OTExQzE4LjU0NDEgMjMuNDkyMyAxOC41NDQxIDIzLjQ5NDcgMTguNTQ1MyAyMy40OTU4QzE4LjU0NjUgMjMuNTAxNyAxOC41NDg5IDIzLjUwNzYgMTguNTUxMiAyMy41MTM1QzE4LjU1MTIgMjMuNTE0NyAxOC41NTI0IDIzLjUxNTggMTguNTUzNiAyMy41MTgyQzE4LjU1NTkgMjMuNTI0MSAxOC41NTk1IDIzLjUzMTEgMTguNTYzIDIzLjUzODJDMTguNTYzIDIzLjUzOTQgMTguNTY0MiAyMy41NDA1IDE4LjU2NTMgMjMuNTQxN0MxOC41NyAyMy41NDg4IDE4LjU3MzYgMjMuNTU1OCAxOC41Nzk0IDIzLjU2MjlDMTguNTc5NCAyMy41NjI5IDE4LjU4MDYgMjMuNTY1MyAxOC41ODE4IDIzLjU2NjRDMTguNTg3NyAyMy41NzQ3IDE4LjU5MzUgMjMuNTgyOSAxOC42MDA2IDIzLjU5MTFDMTguNjAwNiAyMy41OTExIDE4LjYwMTggMjMuNTkyMyAxOC42MDMgMjMuNTkzNUMxOC42MTEyIDIzLjYwMjkgMTguNjE5NCAyMy42MTExIDE4LjYyODggMjMuNjIxN0MxOC42Mjg4IDIzLjYyMTcgMTguNjI4OCAyMy42MjE3IDE4LjYzIDIzLjYyMjlDMTguNjQwNiAyMy42MzM1IDE4LjY1MTIgMjMuNjQ0MSAxOC42NjI5IDIzLjY1NDZDMTguNjkxMiAyMy42MzM1IDE4LjcyMjkgMjMuNjA5OSAxOC43NTcxIDIzLjU4NjRDMTguNjcyNCAyMy41NjI5IDE4LjU5NzEgMjMuNTE4MiAxOC41MzcxIDIzLjQ1N0gxOC41NDA2WiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMxNCIgZD0iTTE4LjYzMzIgMjMuNjIzNUMxOC42MzMyIDIzLjYyMzUgMTguNjMzMiAyMy42MjM1IDE4LjYzMDkgMjMuNjIxMUMxOC42MzA5IDIzLjYyMTEgMTguNjMwOSAyMy42MjExIDE4LjYzMzIgMjMuNjIzNVoiIGZpbGw9IiM0QjQxQTgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMTUiIGQ9Ik0xOC41ODQyIDIzLjU2NThDMTguNTg0MiAyMy41NjU4IDE4LjU4MzEgMjMuNTYzNiAxOC41ODIgMjMuNTYyNUMxOC41ODIgMjMuNTYyNSAxOC41ODMxIDIzLjU2NDcgMTguNTg0MiAyMy41NjU4WiIgZmlsbD0iIzRCNDFBOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMxNiIgZD0iTTE4LjU2NzYgMjMuNTQyM0MxOC41Njc2IDIzLjU0MjMgMTguNTY2NSAyMy41NDAyIDE4LjU2NTQgMjMuNTM5MUMxOC41NjU0IDIzLjU0MDIgMTguNTY2NSAyMy41NDEyIDE4LjU2NzYgMjMuNTQyM1oiIGZpbGw9IiM0QjQxQTgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMTciIGQ9Ik0xOC41NTU5IDIzLjUxNjFDMTguNTU1OSAyMy41MTYxIDE4LjU1NDggMjMuNTEzOSAxOC41NTM3IDIzLjUxMTdDMTguNTUzNyAyMy41MTI4IDE4LjU1NDggMjMuNTEzOSAxOC41NTU5IDIzLjUxNjFaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzE4IiBkPSJNMTguNjA1MiAyMy41OTJDMTguNjA1MiAyMy41OTIgMTguNjA0MSAyMy41OTA5IDE4LjYwMyAyMy41ODk4QzE4LjYwMyAyMy41ODk4IDE4LjYwNDEgMjMuNTkwOSAxOC42MDUyIDIzLjU5MloiIGZpbGw9IiM0QjQxQTgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMTkiIGQ9Ik0xOC41NDc1IDIzLjQ5MjZDMTguNTQ3NSAyMy40OTI2IDE4LjU0NzUgMjMuNDg5NCAxOC41NDY0IDIzLjQ4ODNDMTguNTQ2NCAyMy40ODk0IDE4LjU0NjQgMjMuNDkxNiAxOC41NDc1IDIzLjQ5MjZaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzIwIiBkPSJNMjIuMDU2OCAyMy42MDU1SDIxLjkyMzhDMjEuOTUyMSAyMy42ODkgMjEuOTk1NiAyMy43NjU0IDIyLjA1MDkgMjMuODMyNUgyMi4wNTY4VjIzLjYwNTVaIiBmaWxsPSIjNEI0MUE4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzIxIiBkPSJNMTguNzYwNyAyMy41ODcyQzE4LjgwMzEgMjMuNTk5IDE4Ljg0NzggMjMuNjA3MiAxOC44OTM2IDIzLjYwNzJIMjEuOTIzN0MyMS44OTkgMjMuNTM0MyAyMS44ODM3IDIzLjQ1NTUgMjEuODgzNyAyMy4zNzMxQzIxLjg4MzcgMjMuMzQzNyAyMS44ODYxIDIzLjMxNTUgMjEuODg5NiAyMy4yODczSDE5LjQwMDZDMTkuMzQ0MiAyMy4yODczIDE5LjI5MTIgMjMuMjcyIDE5LjI0NDIgMjMuMjQ2MUMxOS4xODU0IDIzLjI5NDMgMTkuMTMyNCAyMy4zMzQzIDE5LjA5MTMgMjMuMzYzN0MxOC45NzEzIDIzLjQ0ODQgMTguODU0OCAyMy41MjEzIDE4Ljc2MDcgMjMuNTg3MloiIGZpbGw9IiM2MTU2RDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMjIiIGQ9Ik0xOC41NDA1IDIzLjQ0OTJDMTguNTQwNSAyMy40MTYzIDE4LjU2NjQgMjMuMzgxIDE4LjYwOTkgMjMuMzM5OEMxOC41NjY0IDIzLjM3OTggMTguNTQwNSAyMy40MTYzIDE4LjU0MDUgMjMuNDQ5MloiIGZpbGw9IiM2MTU2RDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMjMiIGQ9Ik0xOC42MSAyMy4zMzgyQzE4LjYyNzYgMjMuMzIxOCAxOC42NDc2IDIzLjMwNTMgMTguNjcxMSAyMy4yODc3QzE4Ljc3MTEgMjMuMjExMiAxOC45MTcgMjMuMTIxOCAxOS4wNzIyIDIzLjAxMzZDMTkuMDY4NyAyMi45OTM2IDE5LjA2NjQgMjIuOTcyNCAxOS4wNjY0IDIyLjk1MTJDMTkuMDY2NCAyMi43Njc3IDE5LjIxNjkgMjIuNjE3MiAxOS40MDA0IDIyLjYxNzJIMTguODkzNEMxOC42MjE3IDIyLjYxNzIgMTguMzk5NCAyMi44Mzk1IDE4LjM5OTQgMjMuMTExMkMxOC4zOTk0IDIzLjI0NTMgMTguNDUzNSAyMy4zNjY1IDE4LjU0MDYgMjMuNDU1OUMxOC41NDA2IDIzLjQ1MzUgMTguNTQwNiAyMy40NSAxOC41NDA2IDIzLjQ0NzZDMTguNTQwNiAyMy40MTQ3IDE4LjU2NjQgMjMuMzc5NCAxOC42MSAyMy4zMzgyWiIgZmlsbD0iIzYxNTZEOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzMyNCIgZD0iTTE4LjYwOTkgMjMuMzQwM0MxOC41NjY0IDIzLjM4MDMgMTguNTQwNSAyMy40MTY3IDE4LjU0MDUgMjMuNDQ5N0MxOC41NDA1IDIzLjQ1MiAxOC41NDA1IDIzLjQ1NTUgMTguNTQwNSAyMy40NTc5QzE4LjYwMDUgMjMuNTE5MSAxOC42NzU4IDIzLjU2MjYgMTguNzYwNSAyMy41ODczQzE4Ljg1NDYgMjMuNTIyNiAxOC45Njk5IDIzLjQ0ODUgMTkuMDkxIDIzLjM2MzhDMTkuMTMyMiAyMy4zMzU2IDE5LjE4NCAyMy4yOTQ0IDE5LjI0NCAyMy4yNDYyQzE5LjE1NjkgMjMuMTk5MSAxOS4wOTIyIDIzLjExNTYgMTkuMDczNCAyMy4wMTU2QzE4LjkxODEgMjMuMTIzOCAxOC43NzIzIDIzLjIxMzIgMTguNjcyMyAyMy4yODk3QzE4LjY0ODggMjMuMzA3MyAxOC42Mjg4IDIzLjMyMzggMTguNjExMSAyMy4zNDAzSDE4LjYwOTlaIiBmaWxsPSIjNjE1NkQ5Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzI1IiBkPSJNMjEuOTIzOCAyMy42MDUxSDIyLjA1NjdWMjMuMjg1MkgyMS44ODk3QzIxLjg4NjEgMjMuMzEzNCAyMS44ODM4IDIzLjM0MTYgMjEuODgzOCAyMy4zNzFDMjEuODgzOCAyMy40NTM0IDIxLjg5NzkgMjMuNTMxIDIxLjkyMzggMjMuNjA1MVoiIGZpbGw9IiM2MTU2RDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMjYiIGQ9Ik0xOS4yNDQxIDIzLjI0NDFDMTkuMjkxMiAyMy4yNyAxOS4zNDQxIDIzLjI4NTMgMTkuNDAwNiAyMy4yODUzSDIxLjg4OTVDMjEuOTA3MiAyMy4xNDA2IDIxLjk2NzIgMjMuMDEwMSAyMi4wNTY1IDIyLjkwNDJWMjIuODAwN0MyMi4wNTY1IDIyLjczNiAyMi4wNjcxIDIyLjY3NDggMjIuMDg3MSAyMi42MTcySDE5Ljg3MjJDMTkuNjY5OSAyMi44Njg5IDE5LjQyNDEgMjMuMDk3MSAxOS4yNDQxIDIzLjI0NDFaIiBmaWxsPSIjNzg2RUY4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzI3IiBkPSJNMTkuMzY1MSAyMi43ODEyQzE5LjM1MzMgMjIuNzkxOCAxOS4zNDA0IDIyLjgwMjQgMTkuMzI4NiAyMi44MTNDMTkuMzQwNCAyMi44MDI0IDE5LjM1MjEgMjIuNzkxOCAxOS4zNjUxIDIyLjc4MTJaIiBmaWxsPSIjNzg2RUY4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzI4IiBkPSJNMTkuMjEzNSAyMi45MTAyQzE5LjE5ODIgMjIuOTIxOSAxOS4xODQgMjIuOTMzNyAxOS4xNjk5IDIyLjk0NDNDMTkuMTg0IDIyLjkzMzcgMTkuMTk4MiAyMi45MjMxIDE5LjIxMzUgMjIuOTEwMloiIGZpbGw9IiM3ODZFRjgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMjkiIGQ9Ik0xOS40MDA0IDIyLjYxNzJDMTkuMjE2OSAyMi42MTcyIDE5LjA2NjQgMjIuNzY3NyAxOS4wNjY0IDIyLjk1MTJDMTkuMDY2NCAyMi45NzI0IDE5LjA2ODcgMjIuOTkzNiAxOS4wNzIzIDIzLjAxMzZDMTkuMDc4MSAyMy4wMDg5IDE5LjA4NCAyMy4wMDU0IDE5LjA4OTkgMjMuMDAwNkMxOS4xMDY0IDIyLjk4ODkgMTkuMTI2NCAyMi45NzQ4IDE5LjE0NjQgMjIuOTU5NUMxOS4xNTM0IDIyLjk1MzYgMTkuMTYxNyAyMi45NDc3IDE5LjE2ODcgMjIuOTQxOEMxOS4xODI4IDIyLjkzMTIgMTkuMTk3IDIyLjkxOTUgMTkuMjEyMyAyMi45MDc3QzE5LjIyMjggMjIuODk5NSAxOS4yMzQ2IDIyLjg5MDEgMTkuMjQ1MiAyMi44ODA3QzE5LjI1ODEgMjIuODcwMSAxOS4yNzExIDIyLjg1OTUgMTkuMjg1MiAyMi44NDc3QzE5LjI5OTMgMjIuODM2IDE5LjMxMzQgMjIuODI0MiAxOS4zMjc1IDIyLjgxMjRDMTkuMzM5MyAyMi44MDE5IDE5LjM1MSAyMi43OTEzIDE5LjM2NCAyMi43ODA3QzE5LjM4MDQgMjIuNzY2NiAxOS4zOTY5IDIyLjc1MTMgMTkuNDEzNCAyMi43MzcyQzE5LjQyNCAyMi43Mjc4IDE5LjQzNDYgMjIuNzE3MiAxOS40NDUyIDIyLjcwNzhDMTkuNDY0IDIyLjY5MDEgMTkuNDgyOCAyMi42NzI1IDE5LjUwMjggMjIuNjU0OEMxOS41MTEgMjIuNjQ3OCAxOS41MTkzIDIyLjYzOTUgMTkuNTI3NSAyMi42MzEzQzE5LjUzMjIgMjIuNjI2NiAxOS41MzY5IDIyLjYyMTkgMTkuNTQwNCAyMi42MTg0SDE5LjM5OTNMMTkuNDAwNCAyMi42MTcyWiIgZmlsbD0iIzc4NkVGOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMzMCIgZD0iTTE5LjUyNzUgMjIuNjMxM0MxOS41MTkzIDIyLjYzOTUgMTkuNTExIDIyLjY0NjYgMTkuNTAyOCAyMi42NTQ4QzE5LjQ4NCAyMi42NzM3IDE5LjQ2NTIgMjIuNjkxMyAxOS40NDUyIDIyLjcwNzhDMTkuNDM0NiAyMi43MTcyIDE5LjQyNCAyMi43Mjc4IDE5LjQxMzQgMjIuNzM3MkMxOS4zOTY5IDIyLjc1MjUgMTkuMzgwNCAyMi43NjY2IDE5LjM2NCAyMi43ODA3QzE5LjM1MSAyMi43OTEzIDE5LjMzOTMgMjIuODAxOSAxOS4zMjc1IDIyLjgxMjRDMTkuMzEzNCAyMi44MjQyIDE5LjI5OTMgMjIuODM3MiAxOS4yODUyIDIyLjg0NzdDMTkuMjcxMSAyMi44NTk1IDE5LjI1ODEgMjIuODcwMSAxOS4yNDUyIDIyLjg4MDdDMTkuMjM0NiAyMi44OTAxIDE5LjIyMjggMjIuODk5NSAxOS4yMTIzIDIyLjkwNzdDMTkuMTk3IDIyLjkxOTUgMTkuMTgyOCAyMi45MzEyIDE5LjE2ODcgMjIuOTQxOEMxOS4xNjE3IDIyLjk0NzcgMTkuMTUzNCAyMi45NTM2IDE5LjE0NjQgMjIuOTU5NUMxOS4xMjY0IDIyLjk3NDggMTkuMTA2NCAyMi45ODg5IDE5LjA4OTkgMjMuMDAwNkMxOS4wODQgMjMuMDA1NCAxOS4wNzgxIDIzLjAwODkgMTkuMDcyMyAyMy4wMTM2QzE5LjA5MTEgMjMuMTEzNiAxOS4xNTU4IDIzLjE5NzEgMTkuMjQyOCAyMy4yNDQxQzE5LjQyMjggMjMuMDk3MSAxOS42Njk4IDIyLjg2ODkgMTkuODcwOSAyMi42MTcySDE5LjU0MDRDMTkuNTQwNCAyMi42MTcyIDE5LjUzMSAyMi42MjU0IDE5LjUyNjMgMjIuNjMwMUwxOS41Mjc1IDIyLjYzMTNaIiBmaWxsPSIjNzg2RUY4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzMxIiBkPSJNMTkuNTI3MyAyMi42MzAxQzE5LjUyNzMgMjIuNjMwMSAxOS41MzY3IDIyLjYyMTkgMTkuNTQxNCAyMi42MTcyQzE5LjU0MTQgMjIuNjE3MiAxOS41MzIgMjIuNjI2NiAxOS41Mjg1IDIyLjYzMDFIMTkuNTI3M1oiIGZpbGw9IiM3ODZFRjgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMzIiIGQ9Ik0xOS4zMjg1IDIyLjgxNjRDMTkuMzE0NCAyMi44MjgyIDE5LjMwMDIgMjIuODQxMSAxOS4yODYxIDIyLjg1MTdDMTkuMzAwMiAyMi44Mzk5IDE5LjMxNDQgMjIuODI4MiAxOS4zMjg1IDIyLjgxNjRaIiBmaWxsPSIjNzg2RUY4Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzMzIiBkPSJNMTkuNTAzOSAyMi42NTYyQzE5LjQ4NTEgMjIuNjc1MSAxOS40NjUxIDIyLjY5MjcgMTkuNDQ2MyAyMi43MDkyQzE5LjQ2NTEgMjIuNjkxNSAxOS40ODM5IDIyLjY3MzkgMTkuNTAzOSAyMi42NTYyWiIgZmlsbD0iIzc4NkVGOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMzNCIgZD0iTTE5LjQxNDcgMjIuNzM4M0MxOS4zOTgyIDIyLjc1MzYgMTkuMzgxNyAyMi43Njc3IDE5LjM2NTIgMjIuNzgxOEMxOS4zODE3IDIyLjc2NzcgMTkuMzk4MiAyMi43NTI0IDE5LjQxNDcgMjIuNzM4M1oiIGZpbGw9IiM3ODZFRjgiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zMzUiIGQ9Ik0yMi4wNTYyIDIyLjkwNjJDMjEuOTY2OCAyMy4wMTA5IDIxLjkwNjggMjMuMTQyNyAyMS44ODkyIDIzLjI4NzRIMjIuMDU2MlYyMi45MDYyWiIgZmlsbD0iIzc4NkVGOCIvPgo8cGF0aCBpZD0iVmVjdG9yXzMzNiIgZD0iTTIyLjc5MzcgMjQuMTcxSDIyLjcyNjZDMjIuNjM3MiAyNC4xNzEgMjIuNTU0OSAyNC4xNDA0IDIyLjQ4NzggMjQuMDg5OEgyMi4wODJDMjIuMTU2MSAyNC4zMjc0IDIyLjM3NzMgMjQuNTAwNCAyMi42Mzg0IDI0LjUwMDRDMjIuODk5NSAyNC41MDA0IDIzLjEyMTggMjQuMzI2MyAyMy4xOTQ4IDI0LjA4OThIMjMuMDMyNUMyMi45NjU0IDI0LjE0MDQgMjIuODgzMSAyNC4xNzEgMjIuNzkzNyAyNC4xNzFaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzM3IiBkPSJNMjIuMzU1NCAyMi42MjczQzIyLjQxNDIgMjIuNDc3OSAyMi41NTg5IDIyLjM3MDkgMjIuNzI4MyAyMi4zNzA5SDIyLjc5NTNDMjIuOTc1MyAyMi4zNzA5IDIzLjEyNyAyMi40OTIgMjMuMTc2NCAyMi42NTU1SDIzLjIwMjNDMjMuMTM2NCAyMi40MDczIDIyLjkwODIgMjIuMjIyNyAyMi42NCAyMi4yMjI3QzIyLjM3MTggMjIuMjIyNyAyMi4xNjYgMjIuMzkwOSAyMi4wODg0IDIyLjYyMTRIMjIuMjc1NEMyMi4zMDI0IDIyLjYyMTQgMjIuMzI5NSAyMi42MjM4IDIyLjM1NjYgMjIuNjI3M0gyMi4zNTU0WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzMzOCIgZD0iTTIzLjE5NTEgMjIuNzY4OFYyMi43ODg4VjIzLjE4NzVDMjMuMjAzMyAyMy4xOTgxIDIzLjIxMjcgMjMuMjA3NSAyMy4yMjIxIDIzLjIxNjlWMjIuODAxN0MyMy4yMjIxIDIyLjc1IDIzLjIxNTEgMjIuNzAwNiAyMy4yMDIxIDIyLjY1MjNIMjMuMTc2M0MyMy4xODggMjIuNjg4OCAyMy4xOTUxIDIyLjcyNzYgMjMuMTk1MSAyMi43Njg4WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzMzOSIgZD0iTTIzLjEyMTkgMjRDMjMuMDk3MiAyNC4wMzUzIDIzLjA2NzggMjQuMDY0NyAyMy4wMzM3IDI0LjA5MDZIMjMuMTk2QzIzLjIwNTQgMjQuMDYxMiAyMy4yMTEzIDI0LjAzMDYgMjMuMjE2IDI0SDIzLjEyMTlaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzQwIiBkPSJNMjMuMTk0OCAyMy4zMTM0VjIzLjUyMTZIMjMuMjIxOVYyMy4yMTY5QzIzLjIxMjUgMjMuMjA3NSAyMy4yMDQyIDIzLjE5ODEgMjMuMTk0OCAyMy4xODc1VjIzLjMxMzRaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzQxIiBkPSJNMjMuMjIyIDIzLjUyMzRIMjMuMTk1VjIzLjc3NEMyMy4xOTUgMjMuODU5OCAyMy4xNjc5IDIzLjkzODYgMjMuMTIyMSAyNC4wMDMzSDIzLjIxNjFDMjMuMjE5NyAyMy45NzYzIDIzLjIyMiAyMy45NTA0IDIzLjIyMiAyMy45MjIyVjIzLjUyMzRaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzQyIiBkPSJNMjIuNDc0MiAyNC4wNzk4QzIyLjMwODQgMjQuMDQ5MiAyMi4xNjI1IDIzLjk2MzQgMjIuMDU2NiAyMy44Mzk4VjIzLjkyMUMyMi4wNTY2IDIzLjk4MSAyMi4wNjYgMjQuMDM4NiAyMi4wODI1IDI0LjA5MjdIMjIuNDg4M0MyMi40ODgzIDI0LjA5MjcgMjIuNDc4OSAyNC4wODQ1IDIyLjQ3MyAyNC4wODFMMjIuNDc0MiAyNC4wNzk4WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzM0MyIgZD0iTTIyLjQwMDEgMjQuMDAwMkgyMi4zODEzQzIyLjI3NDIgMjQuMDAwMiAyMi4xODM3IDIzLjkyOTcgMjIuMTUzMSAyMy44MzJIMjIuMDU2NlYyMy44Mzc5QzIyLjE2MTMgMjMuOTYxNCAyMi4zMDcyIDI0LjA0NzMgMjIuNDc0MiAyNC4wNzc5QzIyLjQ0NiAyNC4wNTQzIDIyLjQyMTMgMjQuMDI5NiAyMi40MDAxIDI0LjAwMDJaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzQ0IiBkPSJNMjIuMjczOCAyMy44MzU2SDIyLjE1MzhDMjIuMTg0NCAyMy45MzMyIDIyLjI3MzggMjQuMDAzOCAyMi4zODIgMjQuMDAzOEgyMi40MDA4QzIyLjM2NTUgMjMuOTUzMiAyMi4zNDMyIDIzLjg5NTUgMjIuMzMzNyAyMy44MzJDMjIuMzE0OSAyMy44MzQ0IDIyLjI5NDkgMjMuODM1NiAyMi4yNzQ5IDIzLjgzNTZIMjIuMjczOFoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNDUiIGQ9Ik0yMi4yMDAxIDIzLjYwNTVIMjIuMDU2NlYyMy44MzI1SDIyLjE1MzFDMjIuMTQ2IDIzLjgxMDEgMjIuMTQxMyAyMy43ODY2IDIyLjE0MTMgMjMuNzYwN0MyMi4xNDEzIDIzLjcwMDcgMjIuMTYzNyAyMy42NDc4IDIyLjIwMDEgMjMuNjA1NVoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNDYiIGQ9Ik0yMi4zMzI4IDIzLjgyOUMyMi4zMzA1IDIzLjgxMDEgMjIuMzI3IDIzLjc5MTMgMjIuMzI3IDIzLjc3MTNWMjMuNjA1NUgyMi4xOTk5QzIyLjE2MzUgMjMuNjQ3OCAyMi4xNDExIDIzLjcwMDcgMjIuMTQxMSAyMy43NjA3QzIyLjE0MTEgMjMuNzg1NCAyMi4xNDU4IDIzLjgwOSAyMi4xNTI5IDIzLjgzMjVIMjIuMjcyOUMyMi4yOTI5IDIzLjgzMjUgMjIuMzExNyAyMy44MzEzIDIyLjMzMTcgMjMuODI5SDIyLjMzMjhaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzQ3IiBkPSJNMjIuMzI3IDIzLjUyNzVWMjMuMjg1MkgyMi4wNTc2VjIzLjYwNTFIMjIuMjAxMUMyMi4yMzQxIDIzLjU2NzUgMjIuMjc3NiAyMy41MzkyIDIyLjMyODIgMjMuNTI3NUgyMi4zMjdaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzQ4IiBkPSJNMjIuMjAwMiAyMy42MDg5SDIyLjMyNzJWMjMuNTMxMkMyMi4yNzY3IDIzLjU0MyAyMi4yMzMxIDIzLjU3MTIgMjIuMjAwMiAyMy42MDg5WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzM0OSIgZD0iTTIyLjA1NjQgMjIuOTA0MkMyMi4xMzA1IDIyLjgxNzIgMjIuMjI0NSAyMi43NDg5IDIyLjMzMjggMjIuNzA0MkMyMi4zMzc1IDIyLjY3NiAyMi4zNDQ1IDIyLjY0OSAyMi4zNTM5IDIyLjYyMzFDMjIuMzI2OSAyMi42MTk1IDIyLjMwMSAyMi42MTcyIDIyLjI3MjggMjIuNjE3MkgyMi4wODU4QzIyLjA2NTggMjIuNjc0OCAyMi4wNTUyIDIyLjczNzIgMjIuMDU1MiAyMi44MDA3VjIyLjkwNDJIMjIuMDU2NFoiIGZpbGw9IiMzNTJENzciLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNTAiIGQ9Ik0yMi4zMjcyIDIzLjI4ODFWMjIuNzcwNkMyMi4zMjcyIDIyLjc0OTQgMjIuMzMwNyAyMi43MjgyIDIyLjMzMyAyMi43MDdDMjIuMjI2IDIyLjc1MDYgMjIuMTMwNyAyMi44MiAyMi4wNTY2IDIyLjkwN1YyMy4yODgxSDIyLjMyNkgyMi4zMjcyWiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzM1MSIgZD0iTTIyLjQ5ODUgMjIuNjY0QzIyLjU1MDIgMjIuNTI4NyAyMi42ODA4IDIyLjQzMTEgMjIuODM0OSAyMi40MzExQzIyLjk4OSAyMi40MzExIDIzLjExMzcgMjIuNTI0IDIzLjE2NzggMjIuNjU1OEgyMy4xNzZDMjMuMTI1NCAyMi40OTIzIDIyLjk3NDkgMjIuMzcxMSAyMi43OTQ5IDIyLjM3MTFIMjIuNzI3OEMyMi41NTg1IDIyLjM3MTEgMjIuNDEzOCAyMi40NzgxIDIyLjM1NSAyMi42Mjc1QzIyLjQwNDQgMjIuNjM0NiAyMi40NTI2IDIyLjY0NjMgMjIuNDk3MyAyMi42NjUyQzIyLjQ5NzMgMjIuNjY1MiAyMi40OTczIDIyLjY2NTIgMjIuNDk4NSAyMi42NjUyVjIyLjY2NFoiIGZpbGw9IiM1RTUzRDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNTIiIGQ9Ik0yMi42MDM0IDI0LjA4OThIMjIuNDg5M0MyMi41NTYzIDI0LjE0MDQgMjIuNjM4NiAyNC4xNzEgMjIuNzI4IDI0LjE3MUgyMi43OTUxQzIyLjg4NDUgMjQuMTcxIDIyLjk2NjggMjQuMTQwNCAyMy4wMzM5IDI0LjA4OThIMjIuNjA0NUgyMi42MDM0WiIgZmlsbD0iIzVFNTNEOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM1MyIgZD0iTTIzLjE5NSAyMi43ODg4VjIyLjc2ODhDMjMuMTk1IDIyLjcyODggMjMuMTg2OCAyMi42OSAyMy4xNzYyIDIyLjY1MjNIMjMuMTY4QzIzLjE4NTYgMjIuNjk0NyAyMy4xOTUgMjIuNzQwNiAyMy4xOTUgMjIuNzg4OFoiIGZpbGw9IiM1RTUzRDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNTQiIGQ9Ik0yMy4xMjc5IDIzLjUyMDdIMjMuMTk1VjIzLjMxMjVDMjMuMTk1IDIzLjM5MDEgMjMuMTY5MSAyMy40NjE5IDIzLjEyNzkgMjMuNTIwN1oiIGZpbGw9IiM1RTUzRDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNTUiIGQ9Ik0yMi43NzU0IDI0LjA5MDZIMjMuMDM0MkMyMy4wNjgzIDI0LjA2NDcgMjMuMDk4OSAyNC4wMzUzIDIzLjEyMjQgMjRIMjMuMDA0OEMyMi45NDM2IDI0LjA1NTMgMjIuODYzNiAyNC4wOTA2IDIyLjc3NTQgMjQuMDkwNloiIGZpbGw9IiM1RTUzRDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNTYiIGQ9Ik0yMy4xOTQ5IDIzLjUyNDZIMjMuMTI3OUMyMy4xMDQ0IDIzLjU1NzUgMjMuMDc2MSAyMy41ODU4IDIzLjA0MzIgMjMuNjA5M0gyMy4wNzYxQzIzLjA5MDIgMjMuNjA5MyAyMy4xMDMyIDIzLjYwNTggMjMuMTE3MyAyMy42MDQ2VjIzLjc1MTZDMjMuMTE3MyAyMy44NTE2IDIzLjA3MzggMjMuOTQxIDIzLjAwNDQgMjQuMDAzM0gyMy4xMjJDMjMuMTY3OSAyMy45Mzg2IDIzLjE5NDkgMjMuODU5OCAyMy4xOTQ5IDIzLjc3NFYyMy41MjM0VjIzLjUyNDZaIiBmaWxsPSIjNUU1M0Q5Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzU3IiBkPSJNMjIuNDc0MSAyNC4wNzgxQzIyLjQ3NDEgMjQuMDc4MSAyMi40ODM1IDI0LjA4NjQgMjIuNDg5NCAyNC4wODk5SDIyLjYwMzVDMjIuNTU4OCAyNC4wODk5IDIyLjUxNjUgMjQuMDg1MiAyMi40NzQxIDI0LjA3ODFaIiBmaWxsPSIjNUU1M0Q5Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzU4IiBkPSJNMjIuNzc1NCAyNC4wOTA2QzIyLjg2MzYgMjQuMDkwNiAyMi45NDM2IDI0LjA1NTMgMjMuMDA0OCAyNEgyMi40MDE0QzIyLjQyMjUgMjQuMDI5NCAyMi40NDczIDI0LjA1NTMgMjIuNDc1NSAyNC4wNzc2QzIyLjUxNzggMjQuMDg1OSAyMi41NjAyIDI0LjA4OTQgMjIuNjA0OSAyNC4wODk0SDIyLjc3NjZMMjIuNzc1NCAyNC4wOTA2WiIgZmlsbD0iIzVFNTNEOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM1OSIgZD0iTTIyLjcwNzEgMjMuNjUyNUMyMi42MDk0IDIzLjc1MjUgMjIuNDc4OSAyMy44MTg0IDIyLjMzMyAyMy44MzI1QzIyLjM0MjQgMjMuODk2IDIyLjM2NDggMjMuOTUzNiAyMi40MDAxIDI0LjAwNDJIMjMuMDAzNUMyMy4wNzE3IDIzLjk0MTkgMjMuMTE2NCAyMy44NTI1IDIzLjExNjQgMjMuNzUyNVYyMy42MDU1QzIzLjEwMjMgMjMuNjA1NSAyMy4wODkzIDIzLjYxMDIgMjMuMDc1MiAyMy42MTAySDIzLjA0MjNDMjIuOTgzNSAyMy42NTI1IDIyLjkxMTcgMjMuNjc4NCAyMi44MzQxIDIzLjY3ODRDMjIuNzg5NCAyMy42Nzg0IDIyLjc0NTkgMjMuNjY5IDIyLjcwNTkgMjMuNjUzN0wyMi43MDcxIDIzLjY1MjVaIiBmaWxsPSIjNUU1M0Q5Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzYwIiBkPSJNMjIuMzI2NyAyMy42MDU1VjIzLjc3MTNDMjIuMzI2NyAyMy43OTEzIDIyLjMzMDIgMjMuODEwMSAyMi4zMzI1IDIzLjgyOUMyMi40Nzg0IDIzLjgxNDggMjIuNjA5IDIzLjc0OSAyMi43MDY2IDIzLjY0OUMyMi42NzcyIDIzLjYzODQgMjIuNjUwMSAyMy42MjMxIDIyLjYyNTQgMjMuNjA1NUgyMi4zMjY3WiIgZmlsbD0iIzVFNTNEOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM2MSIgZD0iTTIyLjM4MDggMjMuNTIwNEgyMi41NDA3QzIyLjQ5ODQgMjMuNDYxNiAyMi40NzM3IDIzLjM4OTggMjIuNDczNyAyMy4zMTIyVjIzLjI4NTJIMjIuMzI2N1YyMy41Mjc1QzIyLjM0NDMgMjMuNTIyOCAyMi4zNjE5IDIzLjUyMDQgMjIuMzgwOCAyMy41MjA0WiIgZmlsbD0iIzVFNTNEOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM2MiIgZD0iTTIyLjU0MDcgMjMuNTIzNEgyMi4zODA4QzIyLjM2MTkgMjMuNTIzNCAyMi4zNDQzIDIzLjUyNTggMjIuMzI2NyAyMy41MzA1VjIzLjYwODFIMjIuNjI1NEMyMi41OTI1IDIzLjU4NDYgMjIuNTY0MiAyMy41NTY0IDIyLjU0MDcgMjMuNTIzNFoiIGZpbGw9IiM1RTUzRDkiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNjMiIGQ9Ik0yMi4zNTUyIDIyLjYyNjJDMjIuMzQ0NiAyMi42NTIxIDIyLjMzNzUgMjIuNjc5MSAyMi4zMzQgMjIuNzA3M0MyMi4zODU3IDIyLjY4NjIgMjIuNDQxIDIyLjY3MiAyMi40OTg3IDIyLjY2MjZDMjIuNDU0IDIyLjY0NSAyMi40MDU4IDIyLjYzMjEgMjIuMzU2NCAyMi42MjVMMjIuMzU1MiAyMi42MjYyWiIgZmlsbD0iIzVFNTNEOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM2NCIgZD0iTTIyLjMyNjcgMjMuMjg0OEgyMi40NzM3VjIyLjc4NzJDMjIuNDczNyAyMi43NDI1IDIyLjQ4MzEgMjIuNzAwMSAyMi40OTg0IDIyLjY2MDJDMjIuNDQwOCAyMi42Njg0IDIyLjM4NjYgMjIuNjgzNyAyMi4zMzM3IDIyLjcwNDlDMjIuMzMwMiAyMi43MjYgMjIuMzI3OCAyMi43NDYgMjIuMzI3OCAyMi43Njg0VjIzLjI4NTlMMjIuMzI2NyAyMy4yODQ4WiIgZmlsbD0iIzVFNTNEOSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM2NSIgZD0iTTIyLjk5NjEgMjIuNjU0NEgyMy4xNjc4QzIzLjExMzcgMjIuNTIyNiAyMi45ODQzIDIyLjQyOTcgMjIuODM0OSAyMi40Mjk3QzIyLjY4NTUgMjIuNDI5NyAyMi41NTE1IDIyLjUyNzMgMjIuNDk4NSAyMi42NjI2QzIyLjUzMjYgMjIuNjU3OSAyMi41Njc5IDIyLjY1NDQgMjIuNjAzMiAyMi42NTQ0SDIyLjk5NjFaIiBmaWxsPSIjNzU2QUY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzY2IiBkPSJNMjIuOTk2MSAyMi42NTYyQzIyLjk5NjEgMjIuNjU2MiAyMi45OTYxIDIyLjY1NzQgMjIuOTk2MSAyMi42NTg2QzIyLjk5NjEgMjIuODYyMSAyMy4wNzE0IDIzLjA0NzkgMjMuMTk0OSAyMy4xOTE0VjIyLjc5MjdDMjMuMTk0OSAyMi43NDQ1IDIzLjE4NTUgMjIuNjk4NiAyMy4xNjc4IDIyLjY1NjJIMjIuOTk2MVoiIGZpbGw9IiM3NTZBRjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNjciIGQ9Ik0yMy4xOTQ5IDIzLjE4NzVDMjMuMDcxNCAyMy4wNDUyIDIyLjk5NjEgMjIuODU4MiAyMi45OTYxIDIyLjY1NDdDMjIuOTk2MSAyMi42NTQ3IDIyLjk5NjEgMjIuNjUzNSAyMi45OTYxIDIyLjY1MjNIMjIuNjAzMkMyMi41Njc5IDIyLjY1MjMgMjIuNTMyNiAyMi42NTU5IDIyLjQ5ODUgMjIuNjYwNkMyMi43MjIgMjIuNzUgMjIuODgwOCAyMi45Njg4IDIyLjg4MDggMjMuMjI0QzIyLjg4MDggMjMuMjQ0IDIyLjg4MDggMjMuMjY1MiAyMi44NzczIDIzLjI4NTJDMjIuODY5MSAyMy4zNjk5IDIyLjg0MiAyMy40NDk4IDIyLjgwMiAyMy41MjA0SDIzLjEyNzhDMjMuMTcwMiAyMy40NjE2IDIzLjE5NDkgMjMuMzg5OSAyMy4xOTQ5IDIzLjMxMjJWMjMuMTg2NFYyMy4xODc1WiIgZmlsbD0iIzc1NkFGNSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM2OCIgZD0iTTIyLjc0NTYgMjMuNjA4MUgyMy4wNDMyQzIzLjA3NjEgMjMuNTg0NiAyMy4xMDQ0IDIzLjU1NjQgMjMuMTI3OSAyMy41MjM0SDIyLjgwMjFDMjIuNzg1NiAyMy41NTI4IDIyLjc2NjggMjMuNTgxMSAyMi43NDU2IDIzLjYwODFaIiBmaWxsPSIjNzU2QUY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzY5IiBkPSJNMjIuNzA3IDIzLjY0OUMyMi43NDcgMjMuNjY0MyAyMi43ODk0IDIzLjY3MzcgMjIuODM1MiAyMy42NzM3QzIyLjkxMjkgMjMuNjczNyAyMi45ODQ2IDIzLjY0NzggMjMuMDQzNCAyMy42MDU1SDIyLjc0NThDMjIuNzM0MSAyMy42MjA4IDIyLjcyIDIzLjYzNDkgMjIuNzA3IDIzLjY0OVoiIGZpbGw9IiM3NTZBRjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNzAiIGQ9Ik0yMi43MDcxIDIzLjY0OUMyMi43MjEyIDIzLjYzNDkgMjIuNzM0MiAyMy42MjA4IDIyLjc0NTkgMjMuNjA1NUgyMi42MjZDMjIuNjUwNyAyMy42MjMxIDIyLjY3NzcgMjMuNjM3MiAyMi43MDcxIDIzLjY0OVoiIGZpbGw9IiM3NTZBRjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNzEiIGQ9Ik0yMi41NDExIDIzLjUyMDRIMjIuODAyM0MyMi44NDIzIDIzLjQ0OTggMjIuODY5MyAyMy4zNjk4IDIyLjg3NzYgMjMuMjg1MkgyMi40NzQxVjIzLjMxMjJDMjIuNDc0MSAyMy4zODk4IDIyLjUgMjMuNDYxNiAyMi41NDExIDIzLjUyMDRaIiBmaWxsPSIjNzU2QUY1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzcyIiBkPSJNMjIuNjI1NyAyMy42MDgxSDIyLjc0NTdDMjIuNzY2OSAyMy41ODIyIDIyLjc4NTcgMjMuNTUyOCAyMi44MDIyIDIzLjUyMzRIMjIuNTQxQzIyLjU2NDUgMjMuNTU2NCAyMi41OTI4IDIzLjU4NDYgMjIuNjI1NyAyMy42MDgxWiIgZmlsbD0iIzc1NkFGNSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM3MyIgZD0iTTIyLjg4MTEgMjMuMjIzNkMyMi44ODExIDIyLjk2OTUgMjIuNzIyMyAyMi43NDk2IDIyLjQ5ODggMjIuNjYwMkMyMi40ODM1IDIyLjcwMDEgMjIuNDc0MSAyMi43NDI1IDIyLjQ3NDEgMjIuNzg3MlYyMy4yODQ4SDIyLjg3NzZDMjIuODc5OSAyMy4yNjQ4IDIyLjg4MTEgMjMuMjQ0OCAyMi44ODExIDIzLjIyMzZaIiBmaWxsPSIjNzU2QUY1Ii8+CjxnIGlkPSJHcm91cF83Ij4KPHBhdGggaWQ9IlZlY3Rvcl8zNzQiIGQ9Ik0xMi43MDA4IDEwLjA1NEMxMi42NzI2IDEwLjAzNCAxMi42NDQ0IDEwLjAxNCAxMi42MTI2IDkuOTkzOThDMTIuNjQ0NCAxMC4wMTQgMTIuNjczOCAxMC4wMzQgMTIuNzAyIDEwLjA1NEgxMi43MDA4WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzM3NSIgZD0iTTEyLjYxMTUgMTAuNDMwMUMxMS44MDQ2IDkuOTE5NjUgMTAuNDg3MSA5Ljk0NTUzIDEwLjQ4NzEgOS45NDU1M0M5LjMwMzg0IDkuOTQ1NTMgOC4yNDE3MSAxMC4zMDkgNy4yNDY2IDExLjAwNzdDNi42NzI1OSAxMS40MTExIDYuMzYzMjMgMTEuODM2OSA2LjI0NTYxIDEyLjE1MUM2LjI1MjY2IDEyLjE1NjkgNi4yNTg1NCAxMi4xNjUxIDYuMjY1NTkgMTIuMTY5OEM2LjMwNTU5IDEyLjE5NDUgNi4zMzk2OSAxMi4yMDg2IDYuMzc3MzMgMTIuMjExQzYuNTM2MTIgMTIuMjE4MSA2Ljc0NDMyIDEyLjAwMDQgNy43MDQxNSAxMS40OTgyQzguODg3NDYgMTAuODc5NSAxMC40NjEzIDEwLjc5ODMgMTAuNzcwNiAxMC43ODU0QzEwLjc4MDEgMTAuNzg1NCAxMC43OTA2IDEwLjc4NTQgMTAuODAyNCAxMC43ODU0QzExLjE2MjMgMTAuNzc3MSAxMi40MjA5IDEwLjg0MTggMTIuNzA2NyAxMC44ODA2QzEyLjczMTQgMTAuODg0MiAxMi43NTYxIDEwLjg4NDIgMTIuNzgyIDEwLjg4MDZDMTIuNzgyIDEwLjg4MDYgMTIuNzg0NCAxMC44ODA2IDEyLjc4NTUgMTAuODgwNkMxMi44MTAyIDEwLjg3NzEgMTIuODM2MSAxMC44NzEyIDEyLjg2MDggMTAuODYzQzEyLjg2MDggMTAuODYzIDEyLjg2MiAxMC44NjMgMTIuODYzMiAxMC44NjNDMTIuOTEzOCAxMC44NDU0IDEyLjk2MDggMTAuODE2IDEyLjk5ODUgMTAuNzc3MUMxMi45MjY3IDEwLjY3MTMgMTIuODA0NCAxMC41NTQ4IDEyLjYxMjYgMTAuNDMyNUwxMi42MTE1IDEwLjQzMDFaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMzc2IiBkPSJNMTIuNzA1NyAxMS4zMjA4QzEyLjkzMTUgMTEuMzUxNCAxMy4yMjU2IDExLjExNzMgMTIuOTk3NCAxMC43NzczQzEyLjk1OTcgMTAuODE2MiAxMi45MTI3IDEwLjg0NTYgMTIuODYyMSAxMC44NjMyQzEyLjg2MjEgMTAuODYzMiAxMi44NjA5IDEwLjg2MzIgMTIuODU5OCAxMC44NjMyQzEyLjgzNTEgMTAuODcxNCAxMi44MTAzIDEwLjg3NzMgMTIuNzg0NSAxMC44ODA5QzEyLjc4MzMgMTAuODgwOSAxMi43ODIxIDEwLjg4MDkgMTIuNzgwOSAxMC44ODA5QzEyLjc1NTEgMTAuODgzMiAxMi43MzA0IDEwLjg4MzIgMTIuNzA1NyAxMC44ODA5QzEyLjQxODcgMTAuODQyIDExLjE2MTMgMTAuNzc3MyAxMC44MDEzIDEwLjc4NTZDMTAuNzg5NiAxMC43ODU2IDEwLjc3OSAxMC43ODU2IDEwLjc2OTYgMTAuNzg1NkMxMC40NjAyIDEwLjc5ODUgOC44ODYzOCAxMC44Nzk3IDcuNzAzMDcgMTEuNDk4NEM2Ljc0MDkgMTIuMDAwNiA2LjUzNTA1IDEyLjIxOTQgNi4zNzUwOCAxMi4yMTEyQzYuMzM4NjEgMTIuMjEgNi4zMDQ1MSAxMi4xOTU5IDYuMjYzMzQgMTIuMTdDNi4yNTYyOCAxMi4xNjUzIDYuMjUwNDEgMTIuMTU4MyA2LjI0MzM1IDEyLjE1MjRDNi4xNTc0OSAxMi4zODE3IDYuMTcyNzcgMTIuNTUyMyA2LjI2MzM0IDEyLjYwOTlDNi40Nzg1OSAxMi43NDQgNi41MTg1OCAxMi41NTU4IDcuNzAxODkgMTEuOTM3MUM4Ljg4NTIgMTEuMzE4NCAxMC40NTkgMTEuMjM3MiAxMC43Njg0IDExLjIyNDNDMTEuMDc3NyAxMS4yMTE0IDEyLjQwOTMgMTEuMjc4NCAxMi43MDQ1IDExLjMxODRMMTIuNzA1NyAxMS4zMjA4WiIgZmlsbD0iI0ZGRUJCNSIvPgo8cGF0aCBpZD0iVmVjdG9yXzM3NyIgZD0iTTcuNzAzMjggMTEuNDk4QzYuNzQyMjggMTIuMDAwMiA2LjUzNTI2IDEyLjIxOSA2LjM3NjQ2IDEyLjIxMDhDNi41MzUyNiAxMi4yMTkgNi43NDIyOCAxMi4wMDAyIDcuNzA0NDYgMTEuNDk4SDcuNzAzMjhaIiBmaWxsPSIjRkZFQkI1Ii8+CjxwYXRoIGlkPSJWZWN0b3JfMzc4IiBkPSJNMTAuNDg3MSA5LjUwODg2QzEwLjQ4NzEgOS41MDg4NiAxMC41MzMgOS41MDg4NiAxMC42MTE4IDkuNTA4ODZDMTAuNTMxOCA5LjUwNjUxIDEwLjQ4NTkgOS41MDg4NiAxMC40ODU5IDkuNTA4ODZDOS4zMDI2NCA5LjUwODg2IDguMjQwNTEgOS44NzIzMSA3LjI0NTQgMTAuNTcxQzcuMTIxODkgMTAuNjU4IDcuMDEwMTQgMTAuNzQ2MyA2LjkxMDE2IDEwLjgzMzNDNy4wMTAxNCAxMC43NDUxIDcuMTIxODkgMTAuNjU4IDcuMjQ1NCAxMC41NzFDOC4yNDA1MSA5Ljg3MTEzIDkuMzAyNjQgOS41MDg4NiAxMC40ODU5IDkuNTA4ODZIMTAuNDg3MVoiIGZpbGw9IiM2QjIzMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zNzkiIGQ9Ik03LjI0NTU1IDExLjAxMTdDOC4yNDA2NiAxMC4zMTE4IDkuMzAyNzkgOS45NDk1NCAxMC40ODYxIDkuOTQ5NTRDMTAuNDg2MSA5Ljk0OTU0IDExLjgwMzUgOS45MjI0OCAxMi42MTA0IDEwLjQzNDJDMTIuODAzMyAxMC41NTY1IDEyLjkyNDUgMTAuNjcxNyAxMi45OTYyIDEwLjc3ODhDMTMuMDEzOSAxMC43NiAxMy4wMzAzIDEwLjczODggMTMuMDQzMyAxMC43MTY1QzEzLjA2MjEgMTAuNjgyMyAxMy4wNzUgMTAuNjQzNSAxMy4wNzg2IDEwLjZDMTMuMDc4NiAxMC42IDEzLjA3ODYgMTAuNTk4OCAxMy4wNzg2IDEwLjU5NzdDMTMuMDgwOSAxMC41NTUzIDEzLjA3NSAxMC41MDk0IDEzLjA1ODYgMTAuNDZDMTMuMDU4NiAxMC40NTg5IDEzLjA1ODYgMTAuNDU2NSAxMy4wNTc0IDEwLjQ1NTNDMTMuMDUxNSAxMC40NCAxMy4wNDQ1IDEwLjQyMzYgMTMuMDM2MiAxMC40MDcxQzEzLjAxODYgMTAuMzczIDEyLjk5NjIgMTAuMzM3NyAxMi45NjggMTAuMzAxMkMxMi45NjU3IDEwLjI5ODkgMTIuOTY0NSAxMC4yOTY1IDEyLjk2MjEgMTAuMjk0MkMxMi45NDkyIDEwLjI3NzcgMTIuOTM1MSAxMC4yNjEyIDEyLjkxODYgMTAuMjQ0OEMxMi45MTc0IDEwLjI0MzYgMTIuOTE1MSAxMC4yNDEyIDEyLjkxMzkgMTAuMjQwMUMxMi44Nzg2IDEwLjIwMjQgMTIuODM3NCAxMC4xNjQ4IDEyLjc4OTIgMTAuMTI2QzEyLjc4NTcgMTAuMTIzNiAxMi43ODIxIDEwLjEyMDEgMTIuNzc4NiAxMC4xMTc3QzEyLjc1NzQgMTAuMTAxMyAxMi43MzUxIDEwLjA4MzYgMTIuNzExNiAxMC4wNjcyQzEyLjcwODEgMTAuMDY0OCAxMi43MDMzIDEwLjA2MTMgMTIuNjk5OCAxMC4wNTg5QzEyLjY3MTYgMTAuMDM4OSAxMi42NDIyIDEwLjAxODkgMTIuNjEwNCA5Ljk5ODk1QzExLjk3OTkgOS42MDAyIDExLjAzNzggOS41Mjg0MyAxMC42NTU1IDkuNTE2NjdDMTAuNjQ4NCA5LjUxNjY3IDEwLjY0MTQgOS41MTY2NyAxMC42MzQzIDkuNTE2NjdDMTAuNjI2MSA5LjUxNjY3IDEwLjYxNzggOS41MTY2NyAxMC42MTA4IDkuNTE2NjdDMTAuNTMyIDkuNTE0MzIgMTAuNDg2MSA5LjUxNjY3IDEwLjQ4NjEgOS41MTY2N0M5LjMwMjc5IDkuNTE2NjcgOC4yNDA2NiA5Ljg4MDE0IDcuMjQ1NTUgMTAuNTc4OEM3LjEyMjA1IDEwLjY2NTkgNy4wMTAyOSAxMC43NTQxIDYuOTEwMzEgMTAuODQxMUM2LjkwNDQzIDEwLjg0NTggNi44OTk3MyAxMC44NTE3IDYuODkzODUgMTAuODU2NEM2Ljg1MDMzIDEwLjg5NTIgNi44MDkxNiAxMC45MzI5IDYuNzcwMzQgMTAuOTcxN0M2Ljc2MjExIDEwLjk3OTkgNi43NTUwNiAxMC45ODgyIDYuNzQ2ODIgMTAuOTk2NEM2LjcxMjcxIDExLjAzMTcgNi42Nzg1OSAxMS4wNjU4IDYuNjQ2ODMgMTEuMDk5OUM2LjYzNzQyIDExLjExMDUgNi42MjkxOSAxMS4xMTk5IDYuNjIwOTUgMTEuMTMwNUM2LjU5MjcyIDExLjE2MjMgNi41NjQ1IDExLjE5NTIgNi41Mzk4IDExLjIyNjlDNi41MzAzOSAxMS4yMzg3IDYuNTIyMTMgMTEuMjQ5MyA2LjUxMzkgMTEuMjYxMUM2LjQ5MDM3IDExLjI5MDUgNi40NjgwNSAxMS4zMTk5IDYuNDQ4MDUgMTEuMzQ5M0M2LjQzODY0IDExLjM2MjIgNi40MzE1OSAxMS4zNzQgNi40MjMzNSAxMS4zODY5QzYuNDA1NzEgMTEuNDE0IDYuMzg4MDQgMTEuNDQxIDYuMzcxNTggMTEuNDY2OUM2LjM2MzM0IDExLjQ4MSA2LjM1NjI5IDExLjQ5NCA2LjM0ODA2IDExLjUwODFDNi4zMzUxMiAxMS41MzE2IDYuMzIwOTkgMTEuNTU1MSA2LjMwOTIzIDExLjU3ODZDNi4zMDEgMTEuNTkzOSA2LjI5NTEyIDExLjYwOTIgNi4yODgwNyAxMS42MjMzQzYuMjc4NjYgMTEuNjQzMyA2LjI2OTI1IDExLjY2MzMgNi4yNjEwMSAxMS42ODIyQzYuMjUzOTYgMTEuNjk4NiA2LjI0ODA5IDExLjcxNTEgNi4yNDIyMSAxMS43MzE2QzYuMjM2MzIgMTEuNzQ4IDYuMjMwNDMgMTEuNzYzMyA2LjIyNTcyIDExLjc3ODZDNi4yMTk4NCAxMS43OTYyIDYuMjE1MTUgMTEuODEzOSA2LjIxMTYyIDExLjgzMTVDNi4yMDgwOSAxMS44NDMzIDYuMjA1NzMgMTEuODU2MiA2LjIwMzM4IDExLjg2OEM2LjE5OTg1IDExLjg4NjggNi4xOTYzMSAxMS45MDQ1IDYuMTkzOTYgMTEuOTIyMUM2LjE5Mzk2IDExLjkzMDMgNi4xOTE2MSAxMS45Mzg2IDYuMTkxNjEgMTEuOTQ2OEM2LjE5MDQzIDExLjk2NTYgNi4xODkyNSAxMS45ODMzIDYuMTkwNDMgMTIuMDAwOUM2LjE5MDQzIDEyLjAwNjggNi4xOTA0MyAxMi4wMTE1IDYuMTkwNDMgMTIuMDE2MkM2LjE5MTYgMTIuMDMzOCA2LjE5Mzk2IDEyLjA1MTUgNi4xOTc0OSAxMi4wNjY4QzYuMTk3NDkgMTIuMDY5MSA2LjE5ODY3IDEyLjA3MjcgNi4xOTk4NSAxMi4wNzVDNi4yMDQ1NSAxMi4wOTE1IDYuMjA5MjcgMTIuMTA2OCA2LjIxNjMzIDEyLjExOTdDNi4yMTYzMyAxMi4xMjA5IDYuMjE3NDggMTIuMTIyMSA2LjIxODY2IDEyLjEyMzJDNi4yMjU3MSAxMi4xMzc0IDYuMjM1MTUgMTIuMTQ5MSA2LjI0NTc0IDEyLjE1OTdDNi4zNjMzNiAxMS44NDU3IDYuNjcyNzIgMTEuNDE5OCA3LjI0NjczIDExLjAxNjRMNy4yNDU1NSAxMS4wMTE3WiIgZmlsbD0iIzZCMjMwMCIvPgo8L2c+CjxwYXRoIGlkPSJWZWN0b3JfMzgwIiBkPSJNMS43NzQ0IDAuNzc4NjY5TDAuNjgxNjU0IDAuNDE4NzNDMC42NTIyNDggMC40MDkzMiAwLjYyNDAyMiAwLjQwODEzOCAwLjU5ODE0NSAwLjQxMjg0M0wxLjM5OTE1IDEuMDc1MDdDMS41NDM4MyAwLjk1MTU2NiAxLjY3NDQxIDAuODUwNDIxIDEuNzc0NCAwLjc3ODY2OVoiIGZpbGw9IiNGRjlBRTciLz4KPGcgaWQ9Ikdyb3VwXzgiPgo8ZyBpZD0iR3JvdXBfOSI+CjxwYXRoIGlkPSJWZWN0b3JfMzgxIiBkPSJNMTMuNzE5OSAwLjk1MDk2MUwxMi43NzUgMC41MzQyMUMxMi41NDE0IDAuNDMxMTg0IDEyLjI2ODUgMC41MzcwMTMgMTIuMTY1NSAwLjc3MDYwNUwxMS43NDg3IDEuNzE1NTNDMTEuNjQ1NyAxLjk0OTEyIDExLjc1MTYgMi4yMjIwMiAxMS45ODUyIDIuMzI1MDVMMTIuOTMwMSAyLjc0MThDMTMuMTYzNyAyLjg0NDgyIDEzLjQzNjYgMi43Mzg5OCAxMy41Mzk2IDIuNTA1MzlMMTMuOTU2NCAxLjU2MDQ2QzE0LjA1OTQgMS4zMjY4NyAxMy45NTM1IDEuMDUzOTkgMTMuNzE5OSAwLjk1MDk2MVoiIGZpbGw9IiNEQTg5MDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zODIiIGQ9Ik0xMy45MzA3IDEuMDE2MjRMMTIuNzYwOCAwLjUwMDI3N0MxMi42MjM1IDAuNDM5NzE5IDEyLjQ2MzEgMC41MDE5MzcgMTIuNDAyNiAwLjYzOTIzOUwxMS44ODY2IDEuODA5MDlDMTEuODI2IDEuOTQ2MzkgMTEuODg4MyAyLjEwNjc5IDEyLjAyNTYgMi4xNjczNEwxMy4xOTU0IDIuNjgzMzFDMTMuMzMyNyAyLjc0Mzg2IDEzLjQ5MzEgMi42ODE2NiAxMy41NTM3IDIuNTQ0MzZMMTQuMDY5NiAxLjM3NDVDMTQuMTMwMiAxLjIzNzIgMTQuMDY4IDEuMDc2OCAxMy45MzA3IDEuMDE2MjRaIiBmaWxsPSIjRkZBRTM1Ii8+CjwvZz4KPGcgaWQ9Ikdyb3VwXzEwIj4KPHBhdGggaWQ9IlZlY3Rvcl8zODMiIGQ9Ik0xOS44NzU4IDMuMzUwNDRMMTguOTkwOSAzLjg4Mjc5QzE4Ljc3MjEgNC4wMTQ0IDE4LjcwMTQgNC4yOTg0NSAxOC44MzMgNC41MTcyMUwxOS4zNjU0IDUuNDAyMThDMTkuNDk3IDUuNjIwOTUgMTkuNzgxIDUuNjkxNTkgMTkuOTk5OCA1LjU1OTk4TDIwLjg4NDggNS4wMjc2M0MyMS4xMDM1IDQuODk2MDIgMjEuMTc0MiA0LjYxMTk4IDIxLjA0MjYgNC4zOTMyMkwyMC41MTAyIDMuNTA4MjVDMjAuMzc4NiAzLjI4OTQ4IDIwLjA5NDYgMy4yMTg4MyAxOS44NzU4IDMuMzUwNDRaIiBmaWxsPSIjRTMwMDRFIi8+CjxwYXRoIGlkPSJWZWN0b3JfMzg0IiBkPSJNMjAuMDQ3NyAzLjIxNjQ3TDE4Ljk1MjEgMy44NzU1NkMxOC44MjM1IDMuOTUyOTEgMTguNzgxOSA0LjExOTg2IDE4Ljg1OTMgNC4yNDg0NUwxOS41MTg0IDUuMzQ0MDdDMTkuNTk1NyA1LjQ3MjY2IDE5Ljc2MjcgNS41MTQxOSAxOS44OTEzIDUuNDM2ODNMMjAuOTg2OSA0Ljc3Nzc1QzIxLjExNTUgNC43MDAzOSAyMS4xNTcgNC41MzM0MyAyMS4wNzk3IDQuNDA0ODRMMjAuNDIwNiAzLjMwOTIzQzIwLjM0MzIgMy4xODA2NCAyMC4xNzYzIDMuMTM5MTEgMjAuMDQ3NyAzLjIxNjQ3WiIgZmlsbD0iI0ZCMzY2QiIvPgo8L2c+CjxnIGlkPSJHcm91cF8xMSI+CjxwYXRoIGlkPSJWZWN0b3JfMzg1IiBkPSJNNC40NDQ1NiAyOC45NzY2TDMuNjUzNDMgMjguMzEyOEMzLjQ1Nzg1IDI4LjE0ODcgMy4xNjYyOCAyOC4xNzQyIDMuMDAyMTcgMjguMzY5N0wyLjMzODMzIDI5LjE2MDlDMi4xNzQyMyAyOS4zNTY1IDIuMTk5NzQgMjkuNjQ4IDIuMzk1MzEgMjkuODEyMUwzLjE4NjQ0IDMwLjQ3NkMzLjM4MjAyIDMwLjY0MDEgMy42NzM1OCAzMC42MTQ2IDMuODM3NjkgMzAuNDE5TDQuNTAxNTMgMjkuNjI3OUM0LjY2NTYzIDI5LjQzMjMgNC42NDAxMyAyOS4xNDA3IDQuNDQ0NTYgMjguOTc2NloiIGZpbGw9IiNFMzAwNEUiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zODYiIGQ9Ik00LjYyNzA1IDI5LjA5ODFMMy42NDc2IDI4LjI3NjJDMy41MzI2NSAyOC4xNzk4IDMuMzYxMjYgMjguMTk0NyAzLjI2NDggMjguMzA5N0wyLjQ0Mjk0IDI5LjI4OTJDMi4zNDY0OSAyOS40MDQxIDIuMzYxNDggMjkuNTc1NSAyLjQ3NjQ0IDI5LjY3MkwzLjQ1NTg4IDMwLjQ5MzhDMy41NzA4MyAzMC41OTAzIDMuNzQyMjMgMzAuNTc1MyAzLjgzODY5IDMwLjQ2MDNMNC42NjA1NSAyOS40ODA5QzQuNzU3MDEgMjkuMzY1OSA0Ljc0MiAyOS4xOTQ1IDQuNjI3MDUgMjkuMDk4MVoiIGZpbGw9IiNGQjM2NkIiLz4KPC9nPgo8ZyBpZD0iR3JvdXBfMTIiPgo8cGF0aCBpZD0iVmVjdG9yXzM4NyIgZD0iTTI3LjAxOSAxLjcyOTQ5TDI2LjYyODEgMi42ODU0MUMyNi41MzE1IDIuOTIxNzIgMjYuNjQ0NyAzLjE5MTYxIDI2Ljg4MSAzLjI4ODI0TDI3LjgzNjkgMy42NzkxMkMyOC4wNzMyIDMuNzc1NzUgMjguMzQzMSAzLjY2MjUyIDI4LjQzOTcgMy40MjYyMUwyOC44MzA2IDIuNDcwMjlDMjguOTI3MyAyLjIzMzk4IDI4LjgxNCAxLjk2NDA5IDI4LjU3NzcgMS44Njc0NkwyNy42MjE4IDEuNDc2NThDMjcuMzg1NSAxLjM3OTk1IDI3LjExNTYgMS40OTMxOCAyNy4wMTkgMS43Mjk0OVoiIGZpbGw9IiMwNTVFQkIiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zODgiIGQ9Ik0yNy4wNzc1IDEuNTIyMDRMMjYuNTkzNiAyLjcwNTUyQzI2LjUzNjggMi44NDQ0MiAyNi42MDMzIDMuMDAzMDggMjYuNzQyMiAzLjA1OTg3TDI3LjkyNTcgMy41NDM4QzI4LjA2NDYgMy42MDA2IDI4LjIyMzIgMy41MzQwMyAyOC4yOCAzLjM5NTEzTDI4Ljc2NCAyLjIxMTY1QzI4LjgyMDggMi4wNzI3NSAyOC43NTQyIDEuOTE0MTMgMjguNjE1MyAxLjg1NzM0TDI3LjQzMTggMS4zNzM0MUMyNy4yOTI5IDEuMzE2NjEgMjcuMTM0MyAxLjM4MzE0IDI3LjA3NzUgMS41MjIwNFoiIGZpbGw9IiMyNjcxREYiLz4KPC9nPgo8ZyBpZD0iR3JvdXBfMTMiPgo8cGF0aCBpZD0iVmVjdG9yXzM4OSIgZD0iTTMuODUwNDEgMjIuODAxNUwzLjM2Njg0IDIxLjg4ODlDMy4yNDczIDIxLjY2MzMgMi45Njc1MSAyMS41Nzc0IDIuNzQxOTIgMjEuNjk2OUwxLjgyOTM4IDIyLjE4MDVDMS42MDM4IDIyLjMgMS41MTc4MyAyMi41Nzk4IDEuNjM3MzggMjIuODA1NEwyLjEyMDk1IDIzLjcxNzlDMi4yNDA0OSAyMy45NDM1IDIuNTIwMjcgMjQuMDI5NSAyLjc0NTg1IDIzLjkwOTlMMy42NTgzOSAyMy40MjY0QzMuODgzOTggMjMuMzA2OCAzLjk2OTk1IDIzLjAyNzEgMy44NTA0MSAyMi44MDE1WiIgZmlsbD0iIzA1NUVCQiIvPgo8cGF0aCBpZD0iVmVjdG9yXzM5MCIgZD0iTTMuOTcxMDIgMjIuOTc5MkwzLjM3MjM1IDIxLjg0OTVDMy4zMDIwOCAyMS43MTY5IDMuMTM3NjMgMjEuNjY2MyAzLjAwNTA0IDIxLjczNjZMMS44NzUyOCAyMi4zMzUzQzEuNzQyNjggMjIuNDA1NSAxLjY5MjE1IDIyLjU3IDEuNzYyNDEgMjIuNzAyNkwyLjM2MTA5IDIzLjgzMjRDMi40MzEzNSAyMy45NjQ5IDIuNTk1ODIgMjQuMDE1NSAyLjcyODQxIDIzLjk0NTJMMy44NTgxNyAyMy4zNDY1QzMuOTkwNzcgMjMuMjc2MyA0LjA0MTI5IDIzLjExMTggMy45NzEwMiAyMi45NzkyWiIgZmlsbD0iIzI2NzFERiIvPgo8L2c+CjxnIGlkPSJHcm91cF8xNCI+CjxwYXRoIGlkPSJWZWN0b3JfMzkxIiBkPSJNMzAuNDc4MiA4Ljg3NzY1TDI5LjQ0NTYgOC44NjIzM0MyOS4xOTAzIDguODU4NTQgMjguOTgwMyA5LjA2MjQgMjguOTc2NSA5LjMxNzY4TDI4Ljk2MTIgMTAuMzUwM0MyOC45NTc0IDEwLjYwNTYgMjkuMTYxMyAxMC44MTU2IDI5LjQxNjYgMTAuODE5NEwzMC40NDkyIDEwLjgzNDdDMzAuNzA0NSAxMC44Mzg1IDMwLjkxNDUgMTAuNjM0NiAzMC45MTgzIDEwLjM3OTRMMzAuOTMzNiA5LjM0NjcxQzMwLjkzNzQgOS4wOTE0NCAzMC43MzM1IDguODgxNDMgMzAuNDc4MiA4Ljg3NzY1WiIgZmlsbD0iI0M0QzQwRiIvPgo8cGF0aCBpZD0iVmVjdG9yXzM5MiIgZD0iTTMwLjY5NjEgOC44NTUwM0wyOS40MTc3IDguODM2MDZDMjkuMjY3NiA4LjgzMzg0IDI5LjE0NDIgOC45NTM2OCAyOS4xNDIgOS4xMDM3MkwyOS4xMjMgMTAuMzgyMkMyOS4xMjA4IDEwLjUzMjIgMjkuMjQwNiAxMC42NTU3IDI5LjM5MDcgMTAuNjU3OUwzMC42NjkxIDEwLjY3NjlDMzAuODE5MiAxMC42NzkxIDMwLjk0MjYgMTAuNTU5MiAzMC45NDQ4IDEwLjQwOTJMMzAuOTYzOCA5LjEzMDc1QzMwLjk2NiA4Ljk4MDcgMzAuODQ2MiA4Ljg1NzI2IDMwLjY5NjEgOC44NTUwM1oiIGZpbGw9IiNGN0Y2MDAiLz4KPC9nPgo8ZyBpZD0iR3JvdXBfMTUiPgo8cGF0aCBpZD0iVmVjdG9yXzM5MyIgZD0iTTI5LjIxMzkgMjYuNjA4NkwyOC4yMDQ3IDI2LjgyNzdDMjcuOTU1MiAyNi44ODE5IDI3Ljc5NjggMjcuMTI4IDI3Ljg1MSAyNy4zNzc1TDI4LjA3MDEgMjguMzg2OEMyOC4xMjQzIDI4LjYzNjMgMjguMzcwNSAyOC43OTQ2IDI4LjYyIDI4Ljc0MDRMMjkuNjI5MiAyOC41MjEzQzI5Ljg3ODcgMjguNDY3MSAzMC4wMzcgMjguMjIxIDI5Ljk4MjggMjcuOTcxNUwyOS43NjM3IDI2Ljk2MjJDMjkuNzA5NSAyNi43MTI3IDI5LjQ2MzQgMjYuNTU0NCAyOS4yMTM5IDI2LjYwODZaIiBmaWxsPSIjREE4OTAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMzk0IiBkPSJNMjkuNDIwMyAyNi41MzgzTDI4LjE3MDggMjYuODA5NUMyOC4wMjQyIDI2Ljg0MTQgMjcuOTMxMSAyNi45ODYxIDI3Ljk2MjkgMjcuMTMyN0wyOC4yMzQyIDI4LjM4MjJDMjguMjY2MSAyOC41Mjg4IDI4LjQxMDggMjguNjIxOSAyOC41NTc0IDI4LjU5MDFMMjkuODA2OSAyOC4zMTg4QzI5Ljk1MzUgMjguMjg2OSAzMC4wNDY2IDI4LjE0MjMgMzAuMDE0NyAyNy45OTU2TDI5Ljc0MzUgMjYuNzQ2MUMyOS43MTE2IDI2LjU5OTUgMjkuNTY2OSAyNi41MDY0IDI5LjQyMDMgMjYuNTM4M1oiIGZpbGw9IiNGRkFFMzUiLz4KPC9nPgo8L2c+CjxnIGlkPSJHcm91cF8xNiI+CjxwYXRoIGlkPSJWZWN0b3JfMzk1IiBkPSJNMzAuNzEwOCAyMi40NjIzQzMwLjQ4NzMgMjIuNjE3NiAzMC4yNDI2IDIyLjY0NDYgMzAuMjAwMyAyMi42NDgxSDI5LjkyMzhDMzAuMDYwMyAyMi44MTc1IDMwLjI2ODUgMjIuOTI1NyAzMC41MDI2IDIyLjkyNTdDMzAuOTEzMSAyMi45MjU3IDMxLjI0NDggMjIuNTkyOSAzMS4yNDQ4IDIyLjE4MzVDMzEuMjQ0OCAyMi4wMzUzIDMxLjIwMTIgMjEuODk3NyAzMS4xMjYgMjEuNzgxMkMzMS4wNTc3IDIyLjA4NzEgMzAuOTIwMSAyMi4zMTc2IDMwLjcxMDggMjIuNDYyM1oiIGZpbGw9IiNFRjAwQUQiLz4KPHBhdGggaWQ9IlZlY3Rvcl8zOTYiIGQ9Ik0zMC44MzY4IDIwLjY0OEMzMC44MjA0IDIwLjYxNjIgMzAuODAxNSAyMC41ODY4IDMwLjc4MTUgMjAuNTU4NkMzMC41NDk4IDIwLjY0MDkgMzAuMzgyOCAyMC44NjIxIDMwLjM4MjggMjEuMTIyQzMwLjM4MjggMjEuMjM5NiAzMC40MTY5IDIxLjM0OSAzMC40NzU3IDIxLjQ0MkMzMC41Njg3IDIxLjU4NzggMzAuNzIyNyAyMS42OTEzIDMwLjkwMjcgMjEuNzE0OEMzMC45MjA0IDIxLjY3MzcgMzAuOTM1NyAyMS42MzEzIDMwLjk0NzQgMjEuNTkwMkMzMS4wNDM5IDIxLjI2MDggMzAuOTc2OCAyMC45MTg1IDMwLjgzNjggMjAuNjQ4WiIgZmlsbD0iI0VGMDBBRCIvPgo8cGF0aCBpZD0iVmVjdG9yXzM5NyIgZD0iTTI4LjU1MjUgMjEuNTA3OEMyOC4zOTAyIDIxLjUwNzggMjguMjQxOSAyMS41NjU1IDI4LjEyNTUgMjEuNjU5NkMyOC4yOTI1IDIxLjk4NTQgMjguNTI3OCAyMi4xNzM2IDI4LjY5NzIgMjIuMjczNkMyOC44NDg5IDIyLjM2MjkgMjkuMDEgMjIuNDIwNiAyOS4xNjg4IDIyLjQ1NTlDMjkuMjA1MyAyMi4zNzI0IDI5LjIyNjUgMjIuMjgwNiAyOS4yMjY1IDIyLjE4M0MyOS4yMjY1IDIxLjgxMDEgMjguOTI0MiAyMS41MDc4IDI4LjU1MTMgMjEuNTA3OEgyOC41NTI1WiIgZmlsbD0iI0VGMDBBRCIvPgo8cGF0aCBpZD0iVmVjdG9yXzM5OCIgZD0iTTI5LjQyMTcgMjEuMDMwOUMyOS40Mjk5IDIxLjAzNjggMjkuNDQxNyAyMS4wNDI3IDI5LjQ1NTggMjEuMDQ2MkMyOS40NDA1IDIxLjAzNjggMjkuNDI1MiAyMS4wMjYyIDI5LjQxMTEgMjEuMDE1NkMyOS40MTU4IDIxLjAyMjcgMjkuNDE5MyAyMS4wMjg2IDI5LjQyMTcgMjEuMDI5N1YyMS4wMzA5WiIgZmlsbD0iIzM1MkQ3NyIvPgo8cGF0aCBpZD0iVmVjdG9yXzM5OSIgZD0iTTI2LjI4MTEgMjMuOTk4QzI2LjI2MTIgMjMuODEyMiAyNi4xNzc2IDIzLjY0NTEgMjYuMDUzIDIzLjUxODFDMjUuOTA0OCAyMy4zNjc1IDI1LjcwMDEgMjMuMjczNCAyNS40NzE5IDIzLjI3MzRDMjUuMjQzNyAyMy4yNzM0IDI1LjAzOSAyMy4zNjc1IDI0Ljg5MDggMjMuNTE4MUMyNC43NjYxIDIzLjY0NTEgMjQuNjgzOCAyMy44MTIyIDI0LjY2MjYgMjMuOTk4QzI0LjY1OTEgMjQuMDI3NCAyNC42NTY3IDI0LjA1OCAyNC42NTY3IDI0LjA4ODZIMjYuMjg0N0MyNi4yODQ3IDI0LjA1OCAyNi4yODIzIDI0LjAyNzQgMjYuMjggMjMuOTk4SDI2LjI4MTFaIiBmaWxsPSIjRUYwMEFEIi8+CjxwYXRoIGlkPSJWZWN0b3JfNDAwIiBkPSJNMjcuOTk2MiAyMi42NTIzSDI2LjM3NDFDMjYuMzcxOCAyMi42NzQ3IDI2LjM3MDYgMjIuNjk4MiAyNi4zNzA2IDIyLjcyMDZDMjYuMzcwNiAyMy4xMTkzIDI2LjY1NjUgMjMuNDQ5OCAyNy4wMzUyIDIzLjUyMDRDMjcuMDgzNCAyMy41Mjk4IDI3LjEzNCAyMy41MzQ1IDI3LjE4NTcgMjMuNTM0NUMyNy4yMzc1IDIzLjUzNDUgMjcuMjg2OSAyMy41Mjg3IDI3LjMzNjMgMjMuNTIwNEMyNy43MTM5IDIzLjQ0OTggMjguMDAwOSAyMy4xMTkzIDI4LjAwMDkgMjIuNzIwNkMyOC4wMDA5IDIyLjY5NyAyNy45OTk3IDIyLjY3NDcgMjcuOTk3NCAyMi42NTIzSDI3Ljk5NjJaIiBmaWxsPSIjRUYwMEFEIi8+CjxwYXRoIGlkPSJWZWN0b3JfNDAxIiBkPSJNMjkuNzUzNiAyMy45OTU3QzI5LjczMjQgMjMuODA5OCAyOS42NTAxIDIzLjY0NCAyOS41MjY2IDIzLjUxODFDMjkuMzc4NCAyMy4zNjc1IDI5LjE3MzcgMjMuMjczNCAyOC45NDU1IDIzLjI3MzRDMjguNzE3MyAyMy4yNzM0IDI4LjUxMjcgMjMuMzY3NSAyOC4zNjQ0IDIzLjUxODFDMjguMjM5OCAyMy42NDUxIDI4LjE1NzQgMjMuODEyMiAyOC4xMzYzIDIzLjk5OEMyOC4xMzI3IDI0LjAyNzQgMjguMTMwNCAyNC4wNTggMjguMTMwNCAyNC4wODg2SDI5Ljc1ODNDMjkuNzU4MyAyNC4wNTggMjkuNzU2IDI0LjAyNzQgMjkuNzUyNCAyMy45OTY4TDI5Ljc1MzYgMjMuOTk1N1oiIGZpbGw9IiNFRjAwQUQiLz4KPHBhdGggaWQ9IlZlY3Rvcl80MDIiIGQ9Ik0zMi40NTUzIDIxLjkwNjJDMzIuMzc0MSAyMS45MDYyIDMyLjI5NTMgMjEuOTE4IDMyLjIyIDIxLjk0MTVDMzEuODg0OCAyMi4wNDI3IDMxLjY0MDEgMjIuMzUzMiAzMS42NDAxIDIyLjcyMTRDMzEuNjQwMSAyMi44NzkgMzEuNjg2IDIzLjAyNjEgMzEuNzYzNiAyMy4xNTA3QzMxLjgwMzYgMjMuMjE0MyAzMS44NTA3IDIzLjI3MzEgMzEuOTA2IDIzLjMyMjVDMzIuMiAyMy4wMDk2IDMyLjQ2IDIyLjU1OTEgMzIuNTY0NyAyMS45MTU3QzMyLjUyODIgMjEuOTExIDMyLjQ5MTcgMjEuOTA3NCAzMi40NTQxIDIxLjkwNzRMMzIuNDU1MyAyMS45MDYyWiIgZmlsbD0iI0VGMDBBRCIvPgo8cGF0aCBpZD0iVmVjdG9yXzQwMyIgZD0iTTMxLjU3MDcgMjEuMDI0OUMzMS41NDk1IDIwLjkwMDIgMzEuNDkwNyAyMC43ODk2IDMxLjQwNiAyMC43MDM4QzMxLjMwNjEgMjAuNjAyNiAzMS4xNzA4IDIwLjUzNjggMzEuMDE5IDIwLjUyNzNDMzEuMTIyNiAyMC43MjAyIDMxLjE3NTUgMjAuOTc2NyAzMS4xNzU1IDIxLjI5NDNDMzEuMTc1NSAyMS40NDEzIDMxLjE2MzcgMjEuNTc2NiAzMS4xNDI2IDIxLjcwMDFDMzEuMzk0MyAyMS42Mjk1IDMxLjU3NzggMjEuMzk3OCAzMS41Nzc4IDIxLjEyMzdDMzEuNTc3OCAyMS4wODk2IDMxLjU3NDIgMjEuMDU2NyAzMS41Njk1IDIxLjAyNDlIMzEuNTcwN1oiIGZpbGw9IiNFRjAwQUQiLz4KPHBhdGggaWQ9IlZlY3Rvcl80MDQiIGQ9Ik0yOS4xMjkgMTkuMDU4MUMyOS4xMjMyIDE4Ljk5MjIgMjkuMTA3OSAxOC45Mjk5IDI5LjA4NDQgMTguODcxMUMyOC43MzM4IDE5LjA0ODcgMjguMzkxNSAxOS4zMjYzIDI4LjE3MDQgMTkuNzI5N0MyOC4yNTc1IDE5Ljc3MDkgMjguMzUzOSAxOS43OTQ0IDI4LjQ1NjIgMTkuNzk0NEMyOC41NTE1IDE5Ljc5NDQgMjguNjQzMyAxOS43NzQ1IDI4LjcyNTYgMTkuNzM4QzI4Ljk2NDQgMTkuNjM0NSAyOS4xMzE0IDE5LjM5NTcgMjkuMTMxNCAxOS4xMTkzQzI5LjEzMTQgMTkuMDk5MyAyOS4xMzE0IDE5LjA3ODEgMjkuMTI3OSAxOS4wNTgxSDI5LjEyOVoiIGZpbGw9IiNFRjAwQUQiLz4KPHBhdGggaWQ9IlZlY3Rvcl80MDUiIGQ9Ik0zMS44ODM3IDE5LjMwMzZDMzEuNzM2NyAxOS4xNTkgMzEuNTc3OSAxOS4wNDQ5IDMxLjQxOTEgMTguOTUzMUMzMS4zNjI2IDE5LjAzNzggMzEuMzI2MiAxOS4xMzU1IDMxLjMxMzIgMTkuMjQwMUMzMS4zMDk3IDE5LjI2ODQgMzEuMzA2MiAxOS4yOTc4IDMxLjMwNjIgMTkuMzI3MkMzMS4zMDYyIDE5LjU3MDcgMzEuNDM1NSAxOS43ODI0IDMxLjYyODQgMTkuOTAxMkMzMS43MzA4IDE5Ljk2NDcgMzEuODUxOSAyMC4wMDEyIDMxLjk4MTMgMjAuMDAxMkMzMi4xMTA3IDIwLjAwMTIgMzIuMjIyNSAxOS45NjcxIDMyLjMyMjQgMTkuOTA4MkMzMi4yMDk1IDE5LjY4MTIgMzIuMDYyNSAxOS40Nzg5IDMxLjg4NDkgMTkuMzAyNUwzMS44ODM3IDE5LjMwMzZaIiBmaWxsPSIjRUYwMEFEIi8+CjxwYXRoIGlkPSJWZWN0b3JfNDA2IiBkPSJNMjQuNjIzOCAyMi42NDk2SDIzLjIwMTdDMjMuMjE0NiAyMi42OTc4IDIzLjIyMTYgMjIuNzQ3MiAyMy4yMjE2IDIyLjc5OVYyMy4yMTQyQzIzLjM2OTkgMjMuMzY5NSAyMy41NzgxIDIzLjQ2NTkgMjMuODA5OCAyMy40NjU5QzI0LjAyODYgMjMuNDY1OSAyNC4yMjYyIDIzLjM3ODkgMjQuMzcyIDIzLjIzODlDMjQuNDc5MSAyMy4xMzU0IDI0LjU1NzkgMjMuMDAzNyAyNC41OTY3IDIyLjg1NTVDMjQuNjEzMSAyMi43ODk2IDI0LjYyMzggMjIuNzIxNCAyNC42MjM4IDIyLjY1MDhDMjQuNjIzOCAyMi42NTA4IDI0LjYyMzggMjIuNjQ5NiAyNC42MjM4IDIyLjY0ODRWMjIuNjQ5NloiIGZpbGw9IiNFRjAwQUQiLz4KPHBhdGggaWQ9IlZlY3Rvcl80MDciIGQ9Ik0zMi4zMjI0IDE5LjkwNjRDMzIuMjIyNSAxOS45NjUyIDMyLjEwNiAxOS45OTkzIDMxLjk4MTMgMTkuOTk5M0MzMS44NTY2IDE5Ljk5OTMgMzEuNzMwOCAxOS45NjE3IDMxLjYyODQgMTkuODk5M0MzMS40MzU1IDE5Ljc4MDUgMzEuMzA2MSAxOS41Njc2IDMxLjMwNjEgMTkuMzI1M0MzMS4zMDYxIDE5LjI5NTkgMzEuMzA4NSAxOS4yNjY1IDMxLjMxMzIgMTkuMjM4M0MzMS4zMjczIDE5LjEzMzYgMzEuMzYzOCAxOS4wMzU5IDMxLjQxOTEgMTguOTUxM0MzMC44NzkyIDE4LjY0MzEgMzAuMzE1NyAxOC42MDkgMzAuMDU4MiAxOC42MTM3QzI5LjgwNjQgMTguNjEzNyAyOS40NDE4IDE4LjY5MDEgMjkuMDg0MiAxOC44NzAxQzI5LjEwNzcgMTguOTI4OSAyOS4xMjMgMTguOTkyNCAyOS4xMjg5IDE5LjA1NzFDMjkuMTMxMiAxOS4wNzcxIDI5LjEzMjQgMTkuMDk3MSAyOS4xMzI0IDE5LjExODNDMjkuMTMyNCAxOS4zOTQ3IDI4Ljk2NTQgMTkuNjMzNSAyOC43MjY2IDE5LjczN0MyOC42NDQzIDE5Ljc3MzUgMjguNTUyNSAxOS43OTM1IDI4LjQ1NzMgMTkuNzkzNUMyOC4zNTQ5IDE5Ljc5MzUgMjguMjU4NSAxOS43Njk5IDI4LjE3MTQgMTkuNzI4OEMyOC4wMjA5IDIwLjAwNTIgMjcuOTI2OCAyMC4zNDE2IDI3LjkyNjggMjAuNzQ1QzI3LjkyNjggMjEuMTQ4NSAyOC4wMTAzIDIxLjQzMDggMjguMTI3OSAyMS42NjEzQzI4LjI0NDQgMjEuNTY2MSAyOC4zOTI2IDIxLjUwOTYgMjguNTU0OSAyMS41MDk2QzI4LjkyNzggMjEuNTA5NiAyOS4yMzAxIDIxLjgxMTkgMjkuMjMwMSAyMi4xODQ4QzI5LjIzMDEgMjIuMjgyNCAyOS4yMDg5IDIyLjM3NDIgMjkuMTcyNCAyMi40NTc3QzI5LjQwMyAyMi41MDgyIDI5LjYzIDIyLjUwOTQgMjkuODI1MyAyMi40ODQ3QzMwLjAyNTIgMjIuNDYgMzAuMTkxMSAyMi40MDcxIDMwLjI4OTkgMjIuMzUzQzMwLjYxMSAyMi4xNzU0IDMwLjgwMjcgMjEuOTUxOSAzMC45MDM5IDIxLjcxNjZDMzAuNzIzOSAyMS42OTMxIDMwLjU2OTggMjEuNTg5NiAzMC40NzY5IDIxLjQ0MzdDMzAuNDE4MSAyMS4zNTA4IDMwLjM4NCAyMS4yNDE0IDMwLjM4NCAyMS4xMjM4QzMwLjM4NCAyMC44NjM4IDMwLjU0OTggMjAuNjQyNyAzMC43ODI3IDIwLjU2MDRDMzAuNTc4IDIwLjI3NTcgMzAuMTg5OSAyMC4xNzU3IDI5Ljg2ODggMjAuMzQxNkMyOS41OTgyIDIwLjQ4MTYgMjkuNDUzNSAyMC43Njk3IDI5LjQ4NDEgMjEuMDU1NkMyOS40NzQ3IDIxLjA1MzIgMjkuNDY1MyAyMS4wNTA5IDI5LjQ1NzEgMjEuMDQ4NUMyOS40NDMgMjEuMDQzOCAyOS40MzEyIDIxLjAzOTEgMjkuNDIzIDIxLjAzMzJDMjkuNDIwNiAyMS4wMzA5IDI5LjQxNTkgMjEuMDI2MiAyOS40MTI0IDIxLjAxOTFDMjkuMzkzNiAyMC45ODg1IDI5LjM2NTMgMjAuOTA3NCAyOS4zNjUzIDIwLjc0NzRDMjkuMzY1MyAyMC4xNjI4IDI5Ljk0NDEgMjAuMDY3NSAzMC4wODUyIDIwLjA1MzRDMzAuMjA5OSAyMC4wNTIyIDMwLjYxMzMgMjAuMDY5OSAzMC44NzY4IDIwLjMyODdDMzAuOTMzMyAyMC4zODUxIDMwLjk4MTUgMjAuNDUyMiAzMS4wMjI3IDIwLjUyODZDMzEuMTczMiAyMC41MzggMzEuMzA5NyAyMC42MDUxIDMxLjQwOTcgMjAuNzA1QzMxLjQ5NDQgMjAuNzkwOSAzMS41NTMyIDIwLjkwMTUgMzEuNTc0MyAyMS4wMjYyQzMxLjU4MDIgMjEuMDU3OSAzMS41ODI2IDIxLjA5MDkgMzEuNTgyNiAyMS4xMjVDMzEuNTgyNiAyMS4zOTkgMzEuMzk3OSAyMS42Mjk2IDMxLjE0NzQgMjEuNzAxM0MzMS4xNDI3IDIxLjczMDcgMzEuMTM1NiAyMS43NTc4IDMxLjEyOTcgMjEuNzg0OUMzMS4yMDUgMjEuOTAxMyAzMS4yNDg1IDIyLjAzODkgMzEuMjQ4NSAyMi4xODcxQzMxLjI0ODUgMjIuNTk3NiAzMC45MTU2IDIyLjkyOTMgMzAuNTA2MyAyMi45MjkzQzMwLjI3MjIgMjIuOTI5MyAzMC4wNjQgMjIuODIxMSAyOS45Mjc2IDIyLjY1MTdIMjguMDAwOUMyOC4wMDMyIDIyLjY3NDEgMjguMDA0NCAyMi42OTc2IDI4LjAwNDQgMjIuNzJDMjguMDA0NCAyMy4xMTg3IDI3LjcxODYgMjMuNDQ5MiAyNy4zMzk4IDIzLjUxOThDMjcuMjkxNiAyMy41MjkyIDI3LjI0MSAyMy41MzM5IDI3LjE4OTMgMjMuNTMzOUMyNy4xMzc1IDIzLjUzMzkgMjcuMDg4MSAyMy41MjgxIDI3LjAzODcgMjMuNTE5OEMyNi42NjExIDIzLjQ0OTIgMjYuMzc0MSAyMy4xMTg3IDI2LjM3NDEgMjIuNzJDMjYuMzc0MSAyMi42OTY0IDI2LjM3NTMgMjIuNjc0MSAyNi4zNzc3IDIyLjY1MTdIMjQuNjI2MkMyNC42MjYyIDIyLjY1MTcgMjQuNjI2MiAyMi42NTI5IDI0LjYyNjIgMjIuNjU0MUMyNC42MjYyIDIyLjcyNDcgMjQuNjE2OCAyMi43OTI5IDI0LjU5OTEgMjIuODU4OEMyNC41NjAzIDIzLjAwNyAyNC40ODE1IDIzLjEzOTkgMjQuMzc0NSAyMy4yNDIyQzI0LjIyODYgMjMuMzgyMiAyNC4wMjk4IDIzLjQ2OTIgMjMuODEyMiAyMy40NjkyQzIzLjU4MDUgMjMuNDY5MiAyMy4zNzIzIDIzLjM3MTYgMjMuMjI0MSAyMy4yMTc1VjIzLjkxOTdDMjMuMjI0MSAyMy45NDY4IDIzLjIyMTggMjMuOTczOSAyMy4yMTgyIDI0LjAwMDlDMjMuMjEzNSAyNC4wMzE1IDIzLjIwNzcgMjQuMDYyMSAyMy4xOTgyIDI0LjA5MTVIMjQuNjYwM0MyNC42NjAzIDI0LjA2MDkgMjQuNjYyNyAyNC4wMzAzIDI0LjY2NjIgMjQuMDAwOUMyNC42ODYyIDIzLjgxNTEgMjQuNzY5NyAyMy42NDggMjQuODk0NCAyMy41MjFDMjUuMDQyNiAyMy4zNzA0IDI1LjI0NzMgMjMuMjc2MyAyNS40NzU1IDIzLjI3NjNDMjUuNzAzNyAyMy4yNzYzIDI1LjkwODMgMjMuMzcwNCAyNi4wNTY1IDIzLjUyMUMyNi4xODEyIDIzLjY0OCAyNi4yNjM2IDIzLjgxNTEgMjYuMjg0NyAyNC4wMDA5QzI2LjI4ODMgMjQuMDMwMyAyNi4yODk0IDI0LjA2MDkgMjYuMjg5NCAyNC4wOTE1SDI4LjEzNUMyOC4xMzUgMjQuMDYwOSAyOC4xMzczIDI0LjAzMDMgMjguMTQwOSAyNC4wMDA5QzI4LjE2MDkgMjMuODE1MSAyOC4yNDQ0IDIzLjY0OCAyOC4zNjkgMjMuNTIxQzI4LjUxNzIgMjMuMzcwNCAyOC43MjE5IDIzLjI3NjMgMjguOTUwMSAyMy4yNzYzQzI5LjE3ODMgMjMuMjc2MyAyOS4zODMgMjMuMzcwNCAyOS41MzEyIDIzLjUyMUMyOS42NTQ3IDIzLjY0NjkgMjkuNzM4MiAyMy44MTM5IDI5Ljc1ODIgMjMuOTk4NkMyOS45NDA1IDIzLjk5NjIgMzAuMTE0NiAyMy45ODA5IDMwLjI4MjggMjMuOTUyN0MzMC4xMTU4IDIzLjk4MDkgMjkuOTQwNSAyMy45OTYyIDI5Ljc1ODIgMjMuOTk4NkMyOS43NjE3IDI0LjAyOTEgMjkuNzY0MSAyNC4wNTk3IDI5Ljc2NDEgMjQuMDkwM0gzMC4yMzkzQzMwLjMwMjggMjQuMDg5MSAzMC44NzQ1IDI0LjA2NjggMzEuNDQ2MSAyMy43MDhDMzEuNTk5IDIzLjYxMTYgMzEuNzYwMiAyMy40ODQ1IDMxLjkxMzEgMjMuMzIyMkMzMS44NTc4IDIzLjI3MTYgMzEuODEwOCAyMy4yMTQgMzEuNzcwOCAyMy4xNTA1QzMxLjY5MzEgMjMuMDI1OCAzMS42NDczIDIyLjg3ODggMzEuNjQ3MyAyMi43MjExQzMxLjY0NzMgMjIuMzUzIDMxLjg5MTkgMjIuMDQyNCAzMi4yMjcyIDIxLjk0MTNDMzIuMzAxMyAyMS45MTg5IDMyLjM4MDEgMjEuOTA2IDMyLjQ2MjQgMjEuOTA2QzMyLjUgMjEuOTA2IDMyLjUzNjUgMjEuOTA5NSAzMi41NzMgMjEuOTE0MkMzMi42MDM1IDIxLjcyNDkgMzIuNjIyNCAyMS41MTkgMzIuNjIyNCAyMS4yOTQzQzMyLjYyMjQgMjAuNzYxNSAzMi41MjM2IDIwLjI5ODEgMzIuMzI5NSAxOS45MDc1TDMyLjMyMjQgMTkuOTA2NFoiIGZpbGw9IiM2Njk3RkYiLz4KPHBhdGggaWQ9IlZlY3Rvcl80MDgiIG9wYWNpdHk9IjAuMyIgZD0iTTI1LjY0MTIgMjIuODY3MkgyMy43MzU3QzIzLjYyOTggMjIuODY3MiAyMy41NDM5IDIyLjk1MzEgMjMuNTQzOSAyMy4wNTg5QzIzLjU0MzkgMjMuMTY0OCAyMy42Mjk4IDIzLjI1MDYgMjMuNzM1NyAyMy4yNTA2SDI1LjY0MTJDMjUuNzQ3MSAyMy4yNTA2IDI1LjgzMjkgMjMuMTY0OCAyNS44MzI5IDIzLjA1ODlDMjUuODMyOSAyMi45NTMxIDI1Ljc0NzEgMjIuODY3MiAyNS42NDEyIDIyLjg2NzJaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBpZD0iVmVjdG9yXzQwOSIgb3BhY2l0eT0iMC4zIiBkPSJNMzEuNjk1NSAxOS41NjZMMzEuMzcwOSAxOS4yNjg0QzMxLjM1MDkgMTkuMjUwOCAzMS4zMjg1IDE5LjIzNzggMzEuMzA1IDE5LjIyOTZDMzEuMjM0NCAxOS4yMDQ5IDMxLjE1MzMgMTkuMjIyNiAzMS4wOTkyIDE5LjI4MDJDMzEuMDI3NCAxOS4zNTc4IDMxLjAzMzMgMTkuNDgwMiAzMS4xMTA5IDE5LjU1MDdMMzEuNDM1NiAxOS44NDgzQzMxLjQ3MiAxOS44ODI0IDMxLjUxOTEgMTkuODk4OSAzMS41NjUgMTkuODk4OUMzMS41ODM4IDE5Ljg5ODkgMzEuNjAxNCAxOS44OTU0IDMxLjYyMDMgMTkuODg5NUMzMS42NTIgMTkuODgwMSAzMS42ODI2IDE5Ljg2MjQgMzEuNzA3MyAxOS44MzY2QzMxLjc3OSAxOS43NTg5IDMxLjc3MzIgMTkuNjM2NiAzMS42OTU1IDE5LjU2NloiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGlkPSJWZWN0b3JfNDEwIiBvcGFjaXR5PSIwLjMiIGQ9Ik0zMi4xNDcxIDIxLjY3MzNDMzIuMDc1NCAyMC45NDE3IDMxLjc1NDMgMjAuMzEzNSAzMS4yNjg1IDE5Ljk1MDFDMzAuNjUyMSAxOS40ODkgMjkuNjMzNSAxOS4zNDc4IDI4Ljk5NzEgMTkuOTA3N0MyOC43ODA3IDIwLjA5ODMgMjguNjUxMyAyMC4zNTcxIDI4LjY0MzEgMjAuNjE4MkMyOC42MjY2IDIxLjEwMDQgMjkuMDI2NSAyMS41NTQ1IDI5LjUxNTggMjEuNjA5OEMyOS42Njc2IDIxLjYyNjIgMjkuODEzNSAyMS41ODM5IDI5LjkxNDYgMjEuNDkyMUMzMC4wMjA1IDIxLjM5NjkgMzAuMDc4MSAyMS4yNDg3IDMwLjA3MjIgMjEuMDg1MkMzMC4wNjc1IDIwLjk2MTYgMzAuMDMzNCAyMC44NDUyIDMwLjAwNjQgMjAuNzUyM0MyOS45Njg3IDIwLjYyNTIgMjkuODM1OCAyMC41NTM1IDI5LjcwODggMjAuNTlDMjkuNTgxNyAyMC42Mjc2IDI5LjUxIDIwLjc2MDUgMjkuNTQ2NCAyMC44ODc2QzI5LjU2NzYgMjAuOTU4MSAyOS41OTExIDIxLjAzODEgMjkuNTkzNSAyMS4xMDE2QzI5LjU5MzUgMjEuMTE0NiAyOS41OTM1IDIxLjEyNTEgMjkuNTkxMSAyMS4xMzIyQzI5LjU4NjQgMjEuMTMyMiAyOS41NzgyIDIxLjEzMjIgMjkuNTcgMjEuMTMyMkMyOS41MDc2IDIxLjEyNTEgMjkuNDQ3NiAyMS4xMDQgMjkuMzkzNSAyMS4wNzM0QzI5LjM3OTQgMjEuMDY4NyAyOS4zNjc3IDIxLjA2NCAyOS4zNTk0IDIxLjA1ODFDMjkuMzU3MSAyMS4wNTU4IDI5LjM1MjQgMjEuMDUxIDI5LjM0ODggMjEuMDQ0QzI5LjIxMzYgMjAuOTQ4NyAyOS4xMTgzIDIwLjc5MTEgMjkuMTI0MiAyMC42MzQ3QzI5LjEyODkgMjAuNTA2NCAyOS4yMDA2IDIwLjM3IDI5LjMxNTkgMjAuMjY4OEMyOS43NjQgMTkuODc0OCAzMC41MzEgMTkuOTk1OSAzMC45ODM4IDIwLjMzNDdDMzEuMTIyNiAyMC40MzgyIDMxLjI0MzggMjAuNTcyMyAzMS4zNDQ5IDIwLjcyOTlDMzEuNDI5NiAyMC44MTU4IDMxLjQ4ODQgMjAuOTI2NCAzMS41MDk2IDIxLjA1MTFDMzEuNTkxOSAyMS4yNTQ1IDMxLjY0ODQgMjEuNDc5MiAzMS42NzE5IDIxLjcyMTVDMzEuNjk3OCAyMS45ODAzIDMxLjY2NzIgMjIuMjIyNiAzMS41ODM3IDIyLjQ0MjZDMzEuMTkwOCAyMy40NjU5IDMwLjAwMDUgMjMuNTQ1OSAyOS42NDUyIDIzLjU0NTlIMjcuMjczOUMyNy4yMjU3IDIzLjU1NTMgMjcuMTc1MSAyMy41NiAyNy4xMjM0IDIzLjU2QzI3LjA3MTYgMjMuNTYgMjcuMDIyMiAyMy41NTQxIDI2Ljk3MjggMjMuNTQ1OUgyMy4xNTgyVjIzLjk0NDZDMjMuMTU4MiAyMy45NzE3IDIzLjE1NTkgMjMuOTk4NyAyMy4xNTIzIDI0LjAyNThIMjkuNjQ1MkMyOS42NjA1IDI0LjAyNTggMjkuNjc1OCAyNC4wMjU4IDI5LjY5MjMgMjQuMDI0NkMzMC41NTQ1IDI0LjAxNCAzMS4yNjQ5IDIzLjcwNyAzMS43MDM3IDIzLjE3NjVDMzEuODQwMSAyMy4wMTA3IDMxLjk1MTkgMjIuODIzNyAzMi4wMzE5IDIyLjYxNTVDMzIuMTEwNyAyMi40MTIgMzIuMTUxOCAyMi4xOTQ0IDMyLjE1ODkgMjEuOTY3M0MzMi4xNjI0IDIxLjg3MjEgMzIuMTU4OSAyMS43NzQ0IDMyLjE0OTUgMjEuNjc1NkwzMi4xNDcxIDIxLjY3MzNaIiBmaWxsPSIjMzUyRDc3Ii8+CjxwYXRoIGlkPSJWZWN0b3JfNDExIiBvcGFjaXR5PSIwLjMiIGQ9Ik0zMC41ODY1IDE4LjkyMTlDMjkuODc5NiAxOC43NDQzIDI5LjM4NzkgMTguODcwMSAyOS4wNzAzIDE5LjA0NDJDMjguNzU1MSAxOS4yMTcxIDI4LjYxMTYgMTkuNDM4MyAyOC41OTk4IDE5LjQ1NzFDMjguNTQzNCAxOS41NDY1IDI4LjU3MDQgMTkuNjY1MyAyOC42NTk4IDE5LjcyMTdDMjguNjYyMiAxOS43MjI5IDI4LjY2NDUgMTkuNzI0MSAyOC42NjY5IDE5LjcyNTNDMjguNjk2MyAxOS43NDI5IDI4LjcyOTIgMTkuNzUxMiAyOC43NjIyIDE5Ljc1MTJDMjguODI1NyAxOS43NTEyIDI4Ljg4OCAxOS43MTk0IDI4LjkyNDUgMTkuNjYxOEMyOC45MjggMTkuNjU0NyAyOS4zNTAzIDE5LjAwNjYgMzAuNDkyNCAxOS4yOTQ4QzMwLjU5NTkgMTkuMzIwNiAzMC42OTk0IDE5LjI1ODMgMzAuNzI1MyAxOS4xNTZDMzAuNzUxMiAxOS4wNTM2IDMwLjY4ODkgMTguOTQ4OSAzMC41ODY1IDE4LjkyMzFWMTguOTIxOVoiIGZpbGw9IndoaXRlIi8+CjwvZz4KPC9nPgo8L2c+CjwvZz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8yNzI1XzE3NDA2MCIgeDE9IjE2LjI3NSIgeTE9IjIuMTIyNDYiIHgyPSIxNi4yNzUiIHkyPSIzMC41Njc4IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGRkNDMDAiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkI3RjAwIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxyYWRpYWxHcmFkaWVudCBpZD0icGFpbnQxX3JhZGlhbF8yNzI1XzE3NDA2MCIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxNi4zNDg3IDMuMjkyODcpIHNjYWxlKDI2LjQ5MjcgMjYuNDkyNykiPgo8c3RvcCBzdG9wLWNvbG9yPSIjRkNGQ0REIi8+CjxzdG9wIG9mZnNldD0iMC4yOCIgc3RvcC1jb2xvcj0iI0ZDRjFBMCIvPgo8c3RvcCBvZmZzZXQ9IjAuNTEiIHN0b3AtY29sb3I9IiNGRkRBMDAiLz4KPHN0b3Agb2Zmc2V0PSIwLjc3IiBzdG9wLWNvbG9yPSIjRkZCNDAwIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0ZBOTAwMCIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=\"","\n\n\n\n\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOSIgaGVpZ2h0PSIyOSIgdmlld0JveD0iMy41IDMuNSAzMyAzMyIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0iTTkuOTk5ODQgMzBDNC40NzY5NiAyNC40NzcyIDQuNDc2OTYgMTUuNTIyOCA5Ljk5OTg0IDkuOTk5OTRDMTUuNTIyNyA0LjQ3NzA3IDI0LjQ3NzEgNC40NzcwNyAyOS45OTk5IDkuOTk5OTRDMzUuNTIyOCAxNS41MjI4IDM1LjUyMjggMjQuNDc3MiAyOS45OTk5IDMwLjAwMDFDMjQuNDc3MSAzNS41MjI5IDE1LjUyMjcgMzUuNTIyOSA5Ljk5OTg0IDMwWiIgZmlsbD0iI0Y4NUYwMCIvPgogIDxwYXRoIGQ9Ik0xMC4zODM2IDI5LjYxNjVDNS4wNzI1NSAyNC4zMDU0IDUuMDcyNTUgMTUuNjk0NiAxMC4zODM2IDEwLjM4MzZDMTUuNjk0NiA1LjA3MjU0IDI0LjMwNTQgNS4wNzI1NCAyOS42MTY1IDEwLjM4MzZDMzQuOTI3NSAxNS42OTQ2IDM0LjkyNzUgMjQuMzA1NCAyOS42MTY1IDI5LjYxNjRDMjQuMzA1NCAzNC45Mjc1IDE1LjY5NDYgMzQuOTI3NSAxMC4zODM2IDI5LjYxNjVaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMjcyNV8xNzg5MTQpIi8+CiAgPHBhdGggZD0iTTE5Ljk5OTQgMzIuODAyOEMxMy4wNDcyIDMyLjgwMjggNy40MTEzNiAyNy4wNjk1IDcuNDExMzYgMTkuOTk3MUM3LjQxMTM2IDEyLjkyNDcgMTMuMDQ3MiA3LjE5MTQxIDE5Ljk5OTQgNy4xOTE0MUMyNi45NTE2IDcuMTkxNDEgMzIuNTg3NCAxMi45MjQ3IDMyLjU4NzQgMTkuOTk3MUMzMi41ODc0IDI3LjA2OTUgMjYuOTUxNiAzMi44MDI4IDE5Ljk5OTQgMzIuODAyOFoiIGZpbGw9InVybCgjcGFpbnQxX3JhZGlhbF8yNzI1XzE3ODkxNCkiLz4KICA8cGF0aCBkPSJNMjcuMDkxNCAyNS4yNDI4QzI3LjMwMTIgMjUuMTg5OCAyNy41MTU1IDI1LjMxMzkgMjcuNTE2NiAyNS40OTFWMjUuNjEwNUMyNy41MTY2IDI4LjY4ODQgMjQuMTkzOSAzMC44NzY1IDIwLjA5NTMgMzAuODc2NUMxNS45OTY3IDMwLjg3NjUgMTIuNjc0IDI4LjY5MjkgMTIuNjc0IDI1LjYxNVYyNS40OTFDMTIuNjc0IDI1LjMxMzkgMTIuODg4MyAyNS4xODk4IDEzLjA5OTIgMjUuMjQyOEMxNS4xMzYxIDI1Ljc2MDUgMTcuNTMxNyAyNi4wNjA1IDIwLjA5NjQgMjYuMDYwNUMyMi42NjEyIDI2LjA2MDUgMjUuMDU1NiAyNS43NjE2IDI3LjA5MzcgMjUuMjQyOEgyNy4wOTE0WiIgZmlsbD0iI0Y0QTgwMCIvPgogIDxwYXRoIGQ9Ik0yNi45NzkgMjUuOTMwNEMyNy4xODU0IDI1Ljg3NzQgMjcuMzk3NSAyNi4wMDAzIDI3LjM5NzUgMjYuMTc0VjI2LjI5MTNDMjcuMzk3NSAyOS4zMjA4IDI0LjEyNjcgMzEuNDc1IDIwLjA5MjMgMzEuNDc1QzE2LjA1OCAzMS40NzUgMTIuNzg3MiAyOS4zMjUzIDEyLjc4NzIgMjYuMjk1OFYyNi4xNzRDMTIuNzg3MiAyNi4wMDAzIDEyLjk5ODEgMjUuODc3NCAxMy4yMDU2IDI1LjkzMDRDMTUuMjExIDI2LjQ0MDIgMTcuNTY5MyAyNi43MzQ2IDIwLjA5MzUgMjYuNzM0NkMyMi42MTc2IDI2LjczNDYgMjQuOTc2IDI2LjQ0MDIgMjYuOTgxMyAyNS45MzA0SDI2Ljk3OVoiIGZpbGw9IiNGRkRCNjUiLz4KICA8cGF0aCBkPSJNMjYuOTE5OSAyNS42MzI5QzI3LjE5NjIgMjUuNTY0MSAyNy40NzcxIDI1LjcyOTkgMjcuNDc3MSAyNS45NjIyVjI1Ljk2NDVDMjcuNDc3MSAyOS4wMjU1IDI0LjE3MjQgMzEuMjAyMyAyMC4wOTUyIDMxLjIwMjNDMTYuMDE4IDMxLjIwMjMgMTIuNzEzNCAyOS4wMyAxMi43MTM0IDI1Ljk2OUMxMi43MTM0IDI1Ljk2NjcgMTIuNzEzNCAyNS45NjU2IDEyLjcxMzQgMjUuOTYyMkMxMi43MTM0IDI1LjcyOTkgMTIuOTkzMSAyNS41NjQxIDEzLjI3MDUgMjUuNjMyOUMxNS4yNjggMjYuMTI4IDE3LjYwMTUgMjYuNDEyMiAyMC4wOTYzIDI2LjQxMjJDMjIuNTkxMiAyNi40MTIyIDI0LjkyNDcgMjYuMTI4IDI2LjkyMjEgMjUuNjMyOUgyNi45MTk5WiIgZmlsbD0iI0EyNDIwMCIvPgogIDxwYXRoIGQ9Ik0xMi43MTI2IDI1Ljk2OUMxMi43MTI2IDI1Ljk2OSAxMi43MTI2IDI1Ljk2NTYgMTIuNzEyNiAyNS45NjIyQzEyLjcxMjYgMjUuNzI5OSAxMi45OTIzIDI1LjU2NDEgMTMuMjY5NyAyNS42MzI5QzE1LjI2NzIgMjYuMTI4IDE3LjYwMDcgMjYuNDEyMiAyMC4wOTU1IDI2LjQxMjJDMjIuNTkwNCAyNi40MTIyIDI0LjkyMzkgMjYuMTI4IDI2LjkyMTMgMjUuNjMyOUMyNy4xOTc3IDI1LjU2NDEgMjcuNDc4NSAyNS43Mjk5IDI3LjQ3ODUgMjUuOTYyMlYyNS45NjQ1QzI3LjQ3ODUgMjcuNjMwMyAyNi40OTk1IDI5LjAzNDUgMjQuOTQ5OSAyOS45Njg0QzI2LjA4NjcgMjkuMTM0OSAyNi43ODQ5IDI3Ljk4MzMgMjYuNzg0OSAyNi42NDQ2QzI2Ljc4NDkgMjYuNDMyNSAyNi41MzExIDI2LjI4MjUgMjYuMjgwNyAyNi4zNDQ2QzI0LjQ3MTYgMjYuNzkyMyAyMi4zNTY5IDI3LjA1MDYgMjAuMDk3OCAyNy4wNTA2QzE3LjgzODcgMjcuMDUwNiAxNS43MjQgMjYuNzkzNSAxMy45MTQ5IDI2LjM0NDZDMTMuNjY0NSAyNi4yODI1IDEzLjQxMDcgMjYuNDMyNSAxMy40MTA3IDI2LjY0MzVDMTMuNDEwNyAyNi42NDU3IDEzLjQxMDcgMjYuNjQ4IDEzLjQxMDcgMjYuNjQ5MUMxMy40MTA3IDI3Ljk4NjcgMTQuMTA3NyAyOS4xMzcxIDE1LjI0MzUgMjkuOTY5NUMxMy42OTUgMjkuMDM2OCAxMi43MTYgMjcuNjM0OCAxMi43MTYgMjUuOTY5SDEyLjcxMjZaIiBmaWxsPSIjNkIyMzAwIi8+CiAgPHBhdGggZD0iTTEzLjY2NzMgMjEuNTY1NUwxNy4zOTM4IDIyLjk5NjhDMTguMTg0NCAyMy4zMDAxIDE4Ljk0MTIgMjIuNDg1OCAxOC41ODAzIDIxLjcxODlMMTYuODc4MyAxOC4xMDg2QzE2LjcyNDkgMTcuNzgyNyAxNi43NzEyIDE3LjM5NyAxNi45OTc5IDE3LjExNzJMMTkuNTEwNyAxNC4wMTU2QzIwLjA0NDIgMTMuMzU4MSAxOS41MDI5IDEyLjM4NTkgMTguNjYyNiAxMi40OTE5TDE0LjcwMjcgMTIuOTkzOEMxNC4zNDUyIDEzLjAzODkgMTMuOTkzMyAxMi44NzU0IDEzLjc5NTkgMTIuNTczMUwxMS42MjI1IDkuMjI1NjFDMTEuMTYxMiA4LjUxNTA2IDEwLjA2OTUgOC43MjkzNSA5LjkxMTU2IDkuNTYxNzFMOS4xNjYwMyAxMy40ODMzQzkuMDk4MzYgMTMuODM3NCA4LjgzNDQ0IDE0LjEyMTYgOC40ODU5MyAxNC4yMTUzTDQuNjI5NzkgMTUuMjQ3MkMzLjgxMjA5IDE1LjQ2NjEgMy42Nzc4OSAxNi41NzAyIDQuNDIxMTUgMTYuOTc4NUw3LjkxOTc3IDE4Ljg5OTNDOC4yMzU1NyAxOS4wNzI5IDguNDI1MDMgMTkuNDEyNCA4LjQwNTg1IDE5Ljc3MjJMOC4xOTYwOSAyMy43NTgxQzguMTUyMSAyNC42MDQgOS4xNjA0MSAyNS4wNzIgOS43NzczNSAyNC40OTIzTDEyLjY4NSAyMS43NTg0QzEyLjk0NzggMjEuNTExNCAxMy4zMjkgMjEuNDM2OSAxMy42NjUxIDIxLjU2NTVIMTMuNjY3M1oiIGZpbGw9IiNCODc3MDAiLz4KICA8cGF0aCBkPSJNMTMuMDM2MSAyMC41MTE2TDE3LjI5MzggMjIuMTQ3QzE3LjU3NDYgMjIuMjU1MyAxNy44NDQyIDIxLjk2NTQgMTcuNzE1NiAyMS42OTM2TDE1Ljc3MTIgMTcuNTY3OUMxNS43MTcgMTcuNDUxNyAxNS43MzI4IDE3LjMxNTMgMTUuODE0IDE3LjIxNkwxOC42ODQ0IDEzLjY3MjNDMTguODczOSAxMy40Mzg4IDE4LjY4MSAxMy4wOTM3IDE4LjM4MzMgMTMuMTMwOUwxMy44NTgzIDEzLjcwNUMxMy43MzA5IDEzLjcyMDggMTMuNjA1NyAxMy42NjMzIDEzLjUzNjkgMTMuNTU2MUwxMS4wNTMzIDkuNzMwNDFDMTAuODg5OCA5LjQ3Nzc3IDEwLjUwMTggOS41NTQ0NyAxMC40NDU0IDkuODQ5OTdMOS41OTI3NSAxNC4zMzA5QzkuNTY5MDYgMTQuNDU3MyA5LjQ3NTQ2IDE0LjU1NzcgOS4zNTE0IDE0LjU5MTVMNC45NDU5OCAxNS43NzEyQzQuNjU0OTkgMTUuODQ5IDQuNjA3NjMgMTYuMjQxNSA0Ljg3MTU1IDE2LjM4NTlMOC44Njk4IDE4LjU4MDdDOC45ODI1OCAxOC42NDI4IDkuMDQ5MTMgMTguNzYzNCA5LjA0MjM3IDE4Ljg5MDlMOC44MDMyNSAyMy40NDUyQzguNzg3NDYgMjMuNzQ1MiA5LjE0NjExIDIzLjkxMjEgOS4zNjQ5MiAyMy43MDU3TDEyLjY4NzYgMjAuNTgxNUMxMi43ODEyIDIwLjQ5MzYgMTIuOTE2NSAyMC40Njc2IDEzLjAzNjEgMjAuNTEyN1YyMC41MTE2WiIgZmlsbD0idXJsKCNwYWludDJfbGluZWFyXzI3MjVfMTc4OTE0KSIvPgogIDxwYXRoIGQ9Ik05Ljc4MSAyNC40OTI4TDEyLjY4ODYgMjEuNzU4OEMxMi45NTE0IDIxLjUxMTggMTMuMzMyNiAyMS40Mzc0IDEzLjY2ODcgMjEuNTY2TDE3LjM5NTIgMjIuOTk3MkMxNy45NjAyIDIzLjIxMzggMTguNTA3MiAyMi44NTk2IDE4LjY0MjYgMjIuMzYxMUMxOC44MzIgMjMuMDcyOCAxOC4xMjgzIDIzLjc1MjkgMTcuMzk1MiAyMy40NzA5TDEzLjY2ODcgMjIuMDM5N0MxMy4zMzI2IDIxLjkxIDEyLjk1MTQgMjEuOTg1NiAxMi42ODg2IDIyLjIzMjZMOS43ODEgMjQuOTY2NUM5LjE2NDA2IDI1LjU0NjIgOC4xNTQ2MyAyNS4wNzgxIDguMTk5NzQgMjQuMjMyMkw4LjIxMzI2IDIzLjk3OTZDOC4zMzYyIDI0LjY4IDkuMjIwNDYgMjUuMDE5NSA5Ljc4MjEzIDI0LjQ5MTZMOS43ODEgMjQuNDkyOFoiIGZpbGw9IiNGNEE4MDAiLz4KICA8cGF0aCBkPSJNMTkuNDkwNCAxNC4wMTAzTDE2Ljk5NDQgMTcuMTI1NEMxNi43Njg4IDE3LjQwNjMgMTYuNzI0OSAxNy43OTIgMTYuODc5NCAxOC4xMTc5TDE2Ljk5NTUgMTguMzYwNEMxNi45MzI0IDE4LjA4NDEgMTYuOTk0NCAxNy43ODk3IDE3LjE3NiAxNy41NjNMMTkuNjcyIDE0LjQ0NzlDMTkuOTY4NiAxNC4wNzggMTkuOTI2OCAxMy42MTIyIDE5LjY4NzcgMTMuMjkzQzE5LjcyMjcgMTMuNTMyMSAxOS42Njg2IDEzLjc4ODEgMTkuNDkwNCAxNC4wMTAzWiIgZmlsbD0iI0Y0QTgwMCIvPgogIDxwYXRoIGQ9Ik0xNi4xMjM5IDE2LjAyNDZMMTUuMjI4MyAxNy4xMjk5QzE1LjE2MDYgMTcuMjEyMiAxNS4xNDcxIDE3LjMyNzIgMTUuMTkzNCAxNy40MjMxTDE2LjgxMTggMjAuODU2M0MxNi45MTkgMjEuMDgzIDE2LjY5NDYgMjEuMzI0NCAxNi40NjExIDIxLjIzNDFMMTIuOTE3MyAxOS44NzI4QzEyLjgxODEgMTkuODM0NSAxMi43MDUzIDE5Ljg1NyAxMi42Mjc1IDE5LjkyOTJMOS44NjE5OSAyMi41Mjg5QzkuNjc5MjggMjIuNzAwNCA5LjM4MTUxIDIyLjU2MTYgOS4zOTM5MSAyMi4zMTI0TDkuNTkzNTQgMTguNTIxNkM5LjU5OTE4IDE4LjQxNTYgOS41NDI3OSAxOC4zMTUyIDkuNDUwMyAxOC4yNjM0TDguNTI3NzIgMTcuNzU3QzkuMjg2NzcgMTguMDIzMSAxMC4xMDExIDE4LjE2OTggMTAuOTUxNSAxOC4xNjk4QzEyLjk3MjYgMTguMTY5OCAxNC44MDIgMTcuMzQ5OCAxNi4xMjUgMTYuMDIzNEwxNi4xMjM5IDE2LjAyNDZaIiBmaWxsPSJ1cmwoI3BhaW50M19saW5lYXJfMjcyNV8xNzg5MTQpIi8+CiAgPHBhdGggZD0iTTYuMTgzMDMgMTUuOTI1OEw5Ljg0OTcgMTQuOTQ0NUM5Ljk1MjM0IDE0LjkxNzUgMTAuMDMxMyAxNC44MzI5IDEwLjA1MDUgMTQuNzI4TDEwLjc1OTkgMTAuOTk5M0MxMC44MDYxIDEwLjc1MzQgMTEuMTI5OCAxMC42OTAzIDExLjI2NjMgMTAuOUwxMy4zMzM3IDE0LjA4NEMxMy4zOTEyIDE0LjE3MzEgMTMuNDk2MSAxNC4yMjE2IDEzLjYwMjEgMTQuMjA4TDE3LjM2OCAxMy43Mjk4QzE3LjQ3NzQgMTMuNzE2MyAxNy41Njk5IDEzLjc2NDggMTcuNjI2MyAxMy44MzkyQzE3LjY5NjIgMTMuOTM0IDE3LjcwNzUgMTQuMDcxNiAxNy42MTk1IDE0LjE3OTlMMTcuMDcxNCAxNC44NTY2TDE2LjEyNTEgMTYuMDIzOUMxNC44MDIxIDE3LjM1MDMgMTIuOTcyNyAxOC4xNzAyIDEwLjk1MTYgMTguMTcwMkMxMC4xMDIzIDE4LjE3MDIgOS4yODY5IDE4LjAyMzYgOC41Mjc4NiAxNy43NTc0TDYuNDQ0NzEgMTYuNjEzOEw2LjEyMzI1IDE2LjQzNzhDNi4wMzQxNSAxNi4zODgyIDUuOTg3OTEgMTYuMzA0NyA1Ljk4MTE0IDE2LjIxOUM1Ljk3MDk5IDE2LjA5MzggNi4wNDIwNiAxNS45NjQxIDYuMTg1MjkgMTUuOTI1OEg2LjE4MzAzWiIgZmlsbD0idXJsKCNwYWludDRfbGluZWFyXzI3MjVfMTc4OTE0KSIvPgogIDxwYXRoIGQ9Ik0zLjk1ODkgMTUuOTE3MkM0LjAzNjcyIDE1LjYxMTYgNC4yNjQ1NCAxNS4zNDMxIDQuNjI0MzIgMTUuMjQ3Mkw4LjQ4MDQ5IDE0LjIxNTNDOC44MjkgMTQuMTIxNiA5LjA5MjkyIDEzLjgzNzQgOS4xNjA1OSAxMy40ODMzTDkuOTA2MDkgOS41NjE3MUMxMC4wNjQgOC43MjkzNSAxMS4xNTU3IDguNTE1MDYgMTEuNjE3IDkuMjI1NjFMMTMuNzkwNCAxMi41NzMxQzEzLjk4NjcgMTIuODc1NCAxNC4zMzg2IDEzLjAzODkgMTQuNjk3MiAxMi45OTM4TDE4LjY1NzIgMTIuNDkwOEMxOC45NDU5IDEyLjQ1NDcgMTkuMTk5NiAxMi41NDQ5IDE5LjM4NTcgMTIuNzA2MkMxOS4zNTMgMTIuODI5MSAxOS4yOTQ0IDEyLjk0OTggMTkuMjA0MSAxMy4wNjE1TDE4Ljc3NjcgMTMuNTg5M0gxOC43MjcxQzE4LjgyMjkgMTMuMzY0OSAxOC42NDI1IDEzLjA5NjQgMTguMzc2MyAxMy4xMzAzTDEzLjg1MTMgMTMuNzA0M0MxMy43MjM5IDEzLjcyMDEgMTMuNTk4NyAxMy42NjI2IDEzLjUyOTkgMTMuNTU1NUwxMS4wNDY0IDkuNzI5NzdDMTAuODgyOCA5LjQ3NzEzIDEwLjQ5NDggOS41NTM4MiAxMC40Mzg0IDkuODQ5MzJMOS41ODU3NyAxNC4zMzAzQzkuNTYyMDggMTQuNDU2NiA5LjQ2ODQ4IDE0LjU1NyA5LjM0NDQyIDE0LjU5MDhMNC45MzkgMTUuNzcwNkM0LjY5NTM4IDE1LjgzNiA0LjYyMzIyIDE2LjEyMTMgNC43NjA4MiAxNi4yOTczSDQuNjA3NDJMNC4xMTQ1NiAxNi4wMjY2QzQuMDU3MDMgMTUuOTk1IDQuMDA2MjcgMTUuOTU3OCAzLjk1ODkgMTUuOTE4M1YxNS45MTcyWiIgZmlsbD0iI0RDQTEwMCIvPgogIDxwYXRoIGQ9Ik0yNi42NTc1IDIxLjU2NDRMMjIuOTMxMSAyMi45OTU2QzIyLjE0MDQgMjMuMjk5IDIxLjM4MzYgMjIuNDg0NyAyMS43NDQ2IDIxLjcxNzhMMjMuNDQ2NSAxOC4xMDc1QzIzLjU5OTkgMTcuNzgxNSAyMy41NTM3IDE3LjM5NTggMjMuMzI3IDE3LjExNjFMMjAuODE0MSAxNC4wMTQ1QzIwLjI4MDYgMTMuMzU3IDIwLjgyMiAxMi4zODQ3IDIxLjY2MjIgMTIuNDkwOEwyNS42MjIxIDEyLjk5MzhDMjUuOTc5NyAxMy4wMzg5IDI2LjMzMTYgMTIuODc1NCAyNi41Mjc4IDEyLjU3MzFMMjguNzAxMiA5LjIyNTYxQzI5LjE2MjUgOC41MTUwNiAzMC4yNTQyIDguNzI5MzUgMzAuNDEyMSA5LjU2MTcxTDMxLjE1NzcgMTMuNDgzM0MzMS4yMjUzIDEzLjgzNzQgMzEuNDg5MyAxNC4xMjE2IDMxLjgzNzggMTQuMjE1M0wzNS42OTM5IDE1LjI0NzJDMzYuNTExNiAxNS40NjYxIDM2LjY0NTggMTYuNTcwMiAzNS45MDI2IDE2Ljk3ODVMMzIuNDA0IDE4Ljg5OTNDMzIuMDg4MiAxOS4wNzI5IDMxLjg5ODcgMTkuNDEyNCAzMS45MTc4IDE5Ljc3MjJMMzIuMTI3NiAyMy43NTgxQzMyLjE3MTYgMjQuNjA0IDMxLjE2MzMgMjUuMDcyIDMwLjU0NjQgMjQuNDkyM0wyNy42Mzg4IDIxLjc1ODRDMjcuMzc2IDIxLjUxMTQgMjYuOTk0OCAyMS40MzY5IDI2LjY1ODYgMjEuNTY1NUwyNi42NTc1IDIxLjU2NDRaIiBmaWxsPSIjQjg3NzAwIi8+CiAgPHBhdGggZD0iTTI3LjI5IDIwLjUxMTZMMjMuMDMyMyAyMi4xNDdDMjIuNzUxNSAyMi4yNTUzIDIyLjQ4MTkgMjEuOTY1NCAyMi42MTA1IDIxLjY5MzZMMjQuNTU0OSAxNy41Njc5QzI0LjYwOTEgMTcuNDUxNyAyNC41OTMzIDE3LjMxNTMgMjQuNTEyMSAxNy4yMTZMMjEuNjQxNyAxMy42NzIzQzIxLjQ1MjIgMTMuNDM4OCAyMS42NDUxIDEzLjA5MzcgMjEuOTQyOCAxMy4xMzA5TDI2LjQ2NzggMTMuNzA1QzI2LjU5NTIgMTMuNzIwOCAyNi43MjA0IDEzLjY2MzMgMjYuNzg5MiAxMy41NTYxTDI5LjI3MjggOS43MzA0MUMyOS40MzYzIDkuNDc3NzcgMjkuODI0MyA5LjU1NDQ3IDI5Ljg4MDcgOS44NDk5N0wzMC43MzMzIDE0LjMzMDlDMzAuNzU3IDE0LjQ1NzMgMzAuODUwNiAxNC41NTc2IDMwLjk3NDcgMTQuNTkxNUwzNS4zODAxIDE1Ljc3MTJDMzUuNjcxMSAxNS44NDkgMzUuNzE4NSAxNi4yNDE1IDM1LjQ1NDYgMTYuMzg1OUwzMS40NTYzIDE4LjU4MDdDMzEuMzQzNSAxOC42NDI4IDMxLjI3NyAxOC43NjM0IDMxLjI4MzcgMTguODkwOUwzMS41MjI4IDIzLjQ0NTJDMzEuNTM4NiAyMy43NDUyIDMxLjE4IDIzLjkxMjEgMzAuOTYxMiAyMy43MDU3TDI3LjYzODUgMjAuNTgxNUMyNy41NDQ5IDIwLjQ5MzYgMjcuNDA5NSAyMC40Njc2IDI3LjI5IDIwLjUxMjdWMjAuNTExNloiIGZpbGw9InVybCgjcGFpbnQ1X2xpbmVhcl8yNzI1XzE3ODkxNCkiLz4KICA8cGF0aCBkPSJNMzAuNTQ1MiAyNC40OTI4TDI3LjYzNzYgMjEuNzU4OEMyNy4zNzQ4IDIxLjUxMTggMjYuOTkzNiAyMS40Mzc0IDI2LjY1NzUgMjEuNTY2TDIyLjkzMSAyMi45OTcyQzIyLjM2NiAyMy4yMTM4IDIxLjgxOSAyMi44NTk2IDIxLjY4MzYgMjIuMzYxMUMyMS40OTQxIDIzLjA3MjggMjIuMTk3OSAyMy43NTI5IDIyLjkzMSAyMy40NzA5TDI2LjY1NzUgMjIuMDM5N0MyNi45OTM2IDIxLjkxIDI3LjM3NDggMjEuOTg1NiAyNy42Mzc2IDIyLjIzMjZMMzAuNTQ1MiAyNC45NjY1QzMxLjE2MjEgMjUuNTQ2MiAzMi4xNzE2IDI1LjA3ODEgMzIuMTI2NSAyNC4yMzIyTDMyLjExMjkgMjMuOTc5NkMzMS45OSAyNC42OCAzMS4xMDU4IDI1LjAxOTUgMzAuNTQ0MSAyNC40OTE2TDMwLjU0NTIgMjQuNDkyOFoiIGZpbGw9IiNGNEE4MDAiLz4KICA8cGF0aCBkPSJNMjAuODM1NCAxNC4wMTAzTDIzLjMzMTMgMTcuMTI1NEMyMy41NTY5IDE3LjQwNjMgMjMuNjAwOSAxNy43OTIgMjMuNDQ2NCAxOC4xMTc5TDIzLjMzMDIgMTguMzYwNEMyMy4zOTM0IDE4LjA4NDEgMjMuMzMxMyAxNy43ODk3IDIzLjE0OTcgMTcuNTYzTDIwLjY1MzggMTQuNDQ3OUMyMC4zNTcyIDE0LjA3OCAyMC4zOTg5IDEzLjYxMjIgMjAuNjM4IDEzLjI5M0MyMC42MDMgMTMuNTMyMSAyMC42NTcyIDEzLjc4ODEgMjAuODM1NCAxNC4wMTAzWiIgZmlsbD0iI0Y0QTgwMCIvPgogIDxwYXRoIGQ9Ik0yNC4yMDIyIDE2LjAyNDZMMjUuMDk3NyAxNy4xMjk5QzI1LjE2NTQgMTcuMjEyMiAyNS4xNzkgMTcuMzI3MiAyNS4xMzI3IDE3LjQyMzFMMjMuNTE0MiAyMC44NTYzQzIzLjQwNzEgMjEuMDgzIDIzLjYzMTUgMjEuMzI0NCAyMy44NjUgMjEuMjM0MUwyNy40MDg3IDE5Ljg3MjhDMjcuNTA4IDE5LjgzNDUgMjcuNjIwOCAxOS44NTcgMjcuNjk4NiAxOS45MjkyTDMwLjQ2NDEgMjIuNTI4OUMzMC42NDY4IDIyLjcwMDQgMzAuOTQ0NiAyMi41NjE2IDMwLjkzMjIgMjIuMzEyNEwzMC43MzI1IDE4LjUyMTZDMzAuNzI2OSAxOC40MTU2IDMwLjc4MzMgMTguMzE1MiAzMC44NzU4IDE4LjI2MzRMMzEuNzk4MyAxNy43NTdDMzEuMDM5MyAxOC4wMjMxIDMwLjIyNSAxOC4xNjk4IDI5LjM3NDYgMTguMTY5OEMyNy4zNTM1IDE4LjE2OTggMjUuNTI0MSAxNy4zNDk4IDI0LjIwMTEgMTYuMDIzNEwyNC4yMDIyIDE2LjAyNDZaIiBmaWxsPSJ1cmwoI3BhaW50Nl9saW5lYXJfMjcyNV8xNzg5MTQpIi8+CiAgPHBhdGggZD0iTTM0LjE0MTkgMTUuOTI1OEwzMC40NzUyIDE0Ljk0NDVDMzAuMzcyNiAxNC45MTc1IDMwLjI5MzYgMTQuODMyOSAzMC4yNzQ1IDE0LjcyOEwyOS41NjUgMTAuOTk5M0MyOS41MTg4IDEwLjc1MzQgMjkuMTk1MSAxMC42OTAzIDI5LjA1ODYgMTAuOUwyNi45OTEzIDE0LjA4NEMyNi45MzM4IDE0LjE3MzEgMjYuODI4OCAxNC4yMjE2IDI2LjcyMjggMTQuMjA4TDIyLjk1NjkgMTMuNzI5OEMyMi44NDc1IDEzLjcxNjMgMjIuNzU1IDEzLjc2NDggMjIuNjk4NiAxMy44MzkyQzIyLjYyODcgMTMuOTM0IDIyLjYxNzQgMTQuMDcxNiAyMi43MDU0IDE0LjE3OTlMMjMuMjUzNSAxNC44NTY2TDI0LjE5OTggMTYuMDIzOUMyNS41MjI4IDE3LjM1MDMgMjcuMzUyMiAxOC4xNzAyIDI5LjM3MzMgMTguMTcwMkMzMC4yMjI2IDE4LjE3MDIgMzEuMDM4IDE4LjAyMzYgMzEuNzk3MSAxNy43NTc0TDMzLjg4MDIgMTYuNjEzOEwzNC4yMDE3IDE2LjQzNzhDMzQuMjkwOCAxNi4zODgyIDM0LjMzNyAxNi4zMDQ3IDM0LjM0MzggMTYuMjE5QzM0LjM1MzkgMTYuMDkzOCAzNC4yODI5IDE1Ljk2NDEgMzQuMTM5NiAxNS45MjU4SDM0LjE0MTlaIiBmaWxsPSJ1cmwoI3BhaW50N19saW5lYXJfMjcyNV8xNzg5MTQpIi8+CiAgPHBhdGggZD0iTTM2LjM2NzUgMTUuOTE3MkMzNi4yODk3IDE1LjYxMTYgMzYuMDYxOSAxNS4zNDMxIDM1LjcwMjEgMTUuMjQ3MkwzMS44NDYgMTQuMjE1M0MzMS40OTc1IDE0LjEyMTYgMzEuMjMzNSAxMy44Mzc0IDMxLjE2NTkgMTMuNDgzM0wzMC40MjAzIDkuNTYxNzFDMzAuMjYyNCA4LjcyOTM1IDI5LjE3MDcgOC41MTUwNiAyOC43MDk0IDkuMjI1NjFMMjYuNTM2IDEyLjU3MzFDMjYuMzM5NyAxMi44NzU0IDI1Ljk4NzkgMTMuMDM4OSAyNS42MzAzIDEyLjk5MzhMMjEuNjcwNCAxMi40OTE5QzIxLjM4MTcgMTIuNDU1OCAyMS4xMjc5IDEyLjU0NiAyMC45NDE4IDEyLjcwNzNDMjAuOTc0NSAxMi44MzAyIDIxLjAzMzIgMTIuOTUwOSAyMS4xMjM0IDEzLjA2MjZMMjEuNTUwOSAxMy41OTA0SDIxLjYwMDVDMjEuNTA0NiAxMy4zNjYgMjEuNjg1MSAxMy4wOTc1IDIxLjk1MTIgMTMuMTMxNEwyNi40NzYyIDEzLjcwNTVDMjYuNjAzNyAxMy43MjEzIDI2LjcyODkgMTMuNjYzNyAyNi43OTc3IDEzLjU1NjZMMjkuMjgxMiA5LjczMDg5QzI5LjQ0NDcgOS40NzgyNSAyOS44MzI3IDkuNTU0OTUgMjkuODg5MSA5Ljg1MDQ1TDMwLjc0MTggMTQuMzMxNEMzMC43NjU1IDE0LjQ1NzcgMzAuODU5MSAxNC41NTgxIDMwLjk4MzEgMTQuNTkyTDM1LjM4ODYgMTUuNzcxN0MzNS42MzIyIDE1LjgzNzEgMzUuNzA0NCAxNi4xMjI1IDM1LjU2NjggMTYuMjk4NEgzNS43MjAxTDM2LjIxMyAxNi4wMjc3QzM2LjI3MDUgMTUuOTk2MSAzNi4zMjEzIDE1Ljk1ODkgMzYuMzY4NyAxNS45MTk0TDM2LjM2NzUgMTUuOTE3MloiIGZpbGw9IiNEQ0ExMDAiLz4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8yNzI1XzE3ODkxNCIgeDE9IjE5Ljk5OTIiIHkxPSI2LjI0Nzk5IiB4Mj0iMTkuOTk5MiIgeTI9IjMzLjUyMTgiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZGQ0MwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGQjdGMDAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50MV9yYWRpYWxfMjcyNV8xNzg5MTQiIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTkuOTI4MyA3LjM2NzM1KSByb3RhdGUoMTgwKSBzY2FsZSgyNS40MDI3IDI1LjQwMjcpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZDRkNERCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuMjgiIHN0b3AtY29sb3I9IiNGQ0YxQTAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjUxIiBzdG9wLWNvbG9yPSIjRkZEQTAwIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMC43NyIgc3RvcC1jb2xvcj0iI0ZGQjQwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGQTkwMDAiLz4KICAgIDwvcmFkaWFsR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50Ml9saW5lYXJfMjcyNV8xNzg5MTQiIHgxPSIxMC41NDQ3IiB5MT0iOS42MjEwMSIgeDI9IjEzLjYyODIiIHkyPSIyMy4wNDgyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkNDMDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRUNCMTAwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDNfbGluZWFyXzI3MjVfMTc4OTE0IiB4MT0iMTIuNTE3IiB5MT0iMTcuOTk4MyIgeDI9IjEzLjA2ODUiIHkyPSIyMC43Mjc3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkUzMDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZDMzAwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDRfbGluZWFyXzI3MjVfMTc4OTE0IiB4MT0iMTAuNjQwMyIgeTE9IjEwLjg5MzMiIHgyPSIxMi42MjMxIiB5Mj0iMTcuOTExOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSJ3aGl0ZSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRkVFNzYiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50NV9saW5lYXJfMjcyNV8xNzg5MTQiIHgxPSIyOS43ODAzIiB5MT0iOS42MjEwMSIgeDI9IjI2LjY5NjciIHkyPSIyMy4wNDgyIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkNDMDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRUNCMTAwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDZfbGluZWFyXzI3MjVfMTc4OTE0IiB4MT0iMjcuODA4IiB5MT0iMTcuOTk4MyIgeDI9IjI3LjI1NjUiIHkyPSIyMC43Mjc3IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CiAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNGRkUzMDAiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkZDMzAwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDdfbGluZWFyXzI3MjVfMTc4OTE0IiB4MT0iMjkuNjg0NiIgeTE9IjEwLjg5MzMiIHgyPSIyNy43MDI5IiB5Mj0iMTcuOTExOSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSJ3aGl0ZSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGRkVFNzYiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgo8L3N2Zz4=\"","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjkiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAyOSAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjI5IiBoZWlnaHQ9IjI5IiBmaWxsPSIjMUUxRTFFIi8+CjxnIGlkPSJDYXNlIE1hbmFnZW1lbnQiPgo8cGF0aCBkPSJNLTI5OTEgLTI1NzIxQy0yOTkxIC0yNTcyMi4xIC0yOTkwLjEgLTI1NzIzIC0yOTg5IC0yNTcyM0gxNjk3MUMxNjk3Mi4xIC0yNTcyMyAxNjk3MyAtMjU3MjIuMSAxNjk3MyAtMjU3MjFWMTA1NDVDMTY5NzMgMTA1NDYuMSAxNjk3Mi4xIDEwNTQ3IDE2OTcxIDEwNTQ3SC0yOTg5Qy0yOTkwLjEgMTA1NDcgLTI5OTEgMTA1NDYuMSAtMjk5MSAxMDU0NVYtMjU3MjFaIiBmaWxsPSJibGFjayIgZmlsbC1vcGFjaXR5PSIwLjUiLz4KPHBhdGggZD0iTS0yOTg5IC0yNTcyMkgxNjk3MVYtMjU3MjRILTI5ODlWLTI1NzIyWk0xNjk3MiAtMjU3MjFWMTA1NDVIMTY5NzRWLTI1NzIxSDE2OTcyWk0xNjk3MSAxMDU0NkgtMjk4OVYxMDU0OEgxNjk3MVYxMDU0NlpNLTI5OTAgMTA1NDVWLTI1NzIxSC0yOTkyVjEwNTQ1SC0yOTkwWk0tMjk4OSAxMDU0NkMtMjk4OS41NSAxMDU0NiAtMjk5MCAxMDU0NS42IC0yOTkwIDEwNTQ1SC0yOTkyQy0yOTkyIDEwNTQ2LjcgLTI5OTAuNjYgMTA1NDggLTI5ODkgMTA1NDhWMTA1NDZaTTE2OTcyIDEwNTQ1QzE2OTcyIDEwNTQ1LjYgMTY5NzEuNiAxMDU0NiAxNjk3MSAxMDU0NlYxMDU0OEMxNjk3Mi43IDEwNTQ4IDE2OTc0IDEwNTQ2LjcgMTY5NzQgMTA1NDVIMTY5NzJaTTE2OTcxIC0yNTcyMkMxNjk3MS42IC0yNTcyMiAxNjk3MiAtMjU3MjEuNiAxNjk3MiAtMjU3MjFIMTY5NzRDMTY5NzQgLTI1NzIyLjcgMTY5NzIuNyAtMjU3MjQgMTY5NzEgLTI1NzI0Vi0yNTcyMlpNLTI5ODkgLTI1NzI0Qy0yOTkwLjY2IC0yNTcyNCAtMjk5MiAtMjU3MjIuNyAtMjk5MiAtMjU3MjFILTI5OTBDLTI5OTAgLTI1NzIxLjYgLTI5ODkuNTUgLTI1NzIyIC0yOTg5IC0yNTcyMlYtMjU3MjRaIiBmaWxsPSJ3aGl0ZSIgZmlsbC1vcGFjaXR5PSIwLjEiLz4KPGcgaWQ9IkN1c3RvbWVyIFVuc2F0aXNmaWVkIj4KPHBhdGggZD0iTS0yODY0IC03MDFDLTI4NjQgLTcwMi4xMDUgLTI4NjMuMSAtNzAzIC0yODYyIC03MDNIMTUwNkMxNTA3LjEgLTcwMyAxNTA4IC03MDIuMTA1IDE1MDggLTcwMVYyMzc3QzE1MDggMjM3OC4xIDE1MDcuMSAyMzc5IDE1MDYgMjM3OUgtMjg2MkMtMjg2My4xIDIzNzkgLTI4NjQgMjM3OC4xIC0yODY0IDIzNzdWLTcwMVoiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0tMjg2MiAtNzAySDE1MDZWLTcwNEgtMjg2MlYtNzAyWk0xNTA3IC03MDFWMjM3N0gxNTA5Vi03MDFIMTUwN1pNMTUwNiAyMzc4SC0yODYyVjIzODBIMTUwNlYyMzc4Wk0tMjg2MyAyMzc3Vi03MDFILTI4NjVWMjM3N0gtMjg2M1pNLTI4NjIgMjM3OEMtMjg2Mi41NSAyMzc4IC0yODYzIDIzNzcuNTUgLTI4NjMgMjM3N0gtMjg2NUMtMjg2NSAyMzc4LjY2IC0yODYzLjY2IDIzODAgLTI4NjIgMjM4MFYyMzc4Wk0xNTA3IDIzNzdDMTUwNyAyMzc3LjU1IDE1MDYuNTUgMjM3OCAxNTA2IDIzNzhWMjM4MEMxNTA3LjY2IDIzODAgMTUwOSAyMzc4LjY2IDE1MDkgMjM3N0gxNTA3Wk0xNTA2IC03MDJDMTUwNi41NSAtNzAyIDE1MDcgLTcwMS41NTIgMTUwNyAtNzAxSDE1MDlDMTUwOSAtNzAyLjY1NyAxNTA3LjY2IC03MDQgMTUwNiAtNzA0Vi03MDJaTS0yODYyIC03MDRDLTI4NjMuNjYgLTcwNCAtMjg2NSAtNzAyLjY1NyAtMjg2NSAtNzAxSC0yODYzQy0yODYzIC03MDEuNTUyIC0yODYyLjU1IC03MDIgLTI4NjIgLTcwMlYtNzA0WiIgZmlsbD0id2hpdGUiIGZpbGwtb3BhY2l0eT0iMC4xIi8+CjxnIGlkPSJHcm91cCAxMzI3MCI+CjxnIGlkPSJHcm91cCAxMjY0NCI+CjxnIGlkPSJHcm91cCAxMjYzNCI+CjxnIGlkPSJHcm91cCAxMjU3MiI+CjxnIGlkPSJHcm91cCAxMjMwMCI+CjxnIGlkPSJHcm91cCAxMjIyNCI+CjxnIGlkPSJHcm91cCAxMjEzNyI+CjxnIGlkPSJHcm91cCAxMjEzNCI+CjxnIGlkPSJJbmNpZGVudCBUaW1lbGluZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzQwM180NDAwKSI+CjxyZWN0IHdpZHRoPSIxNDI5IiBoZWlnaHQ9IjE3MTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03MDMgLTQ1MCkiIGZpbGw9IiNGOUY5RjkiLz4KPGcgaWQ9Ikdyb3VwIDEyNjI3Ij4KPGcgaWQ9Ikdyb3VwIDEyNjI2Ij4KPGcgaWQ9Ikdyb3VwIDEyNjI4Ij4KPC9nPgo8L2c+CjwvZz4KPGcgaWQ9Ikdyb3VwIDEzMDk4Ij4KPC9nPgo8ZyBpZD0iR3JvdXAgMTMyNjciPgo8ZyBpZD0iR3JvdXAgMTMxMDIiPgo8ZyBpZD0iR3JvdXAgMTI2MjAiPgo8ZyBpZD0iR3JvdXAgMTI2MTkiPgo8ZyBpZD0iR3JvdXAgMTI1OTYiPgo8cmVjdCBpZD0iUmVjdGFuZ2xlIDM0MTYiIHg9Ii0yOSIgeT0iLTY5IiB3aWR0aD0iNzEzIiBoZWlnaHQ9IjIzMyIgcng9IjYiIGZpbGw9IndoaXRlIi8+CjxnIGlkPSJHcm91cCAxMTU5NyI+CjxnIGlkPSJ0b29sdGlwIj4KPHJlY3QgeD0iLTIwLjUiIHk9Ii0xNy41IiB3aWR0aD0iNjk2IiBoZWlnaHQ9IjE2MiIgcng9IjMuNSIgZmlsbD0id2hpdGUiLz4KPHJlY3QgeD0iLTIwLjUiIHk9Ii0xNy41IiB3aWR0aD0iNjk2IiBoZWlnaHQ9IjE2MiIgcng9IjMuNSIgc3Ryb2tlPSIjRTVFNUU1Ii8+CjwvZz4KPC9nPgo8L2c+CjwvZz4KPC9nPgo8L2c+CjwvZz4KPC9nPgo8L2c+CjwvZz4KPC9nPgo8L2c+CjwvZz4KPC9nPgo8L2c+CjwvZz4KPGcgaWQ9Ikdyb3VwIj4KPGcgaWQ9Ikdyb3VwXzIiPgo8cGF0aCBpZD0iVmVjdG9yIiBkPSJNMTQuNSAyOUMyMi41MDgxIDI5IDI5IDIyLjUwODEgMjkgMTQuNUMyOSA2LjQ5MTg3IDIyLjUwODEgMCAxNC41IDBDNi40OTE4OSAwIDAgNi40OTE4NyAwIDE0LjVDMCAyMi41MDgxIDYuNDkxODkgMjkgMTQuNSAyOVoiIGZpbGw9IiNGODVGMDAiLz4KPHBhdGggaWQ9IlZlY3Rvcl8yIiBkPSJNMTQuNDk5OSAyOC40NDQyQzIyLjIwMDkgMjguNDQ0MiAyOC40NDM3IDIyLjIwMTMgMjguNDQzNyAxNC41MDA0QzI4LjQ0MzcgNi43OTk0OCAyMi4yMDA5IDAuNTU2NjQxIDE0LjQ5OTkgMC41NTY2NDFDNi43OTkgMC41NTY2NDEgMC41NTYxNTIgNi43OTk0OCAwLjU1NjE1MiAxNC41MDA0QzAuNTU2MTUyIDIyLjIwMTMgNi43OTkgMjguNDQ0MiAxNC40OTk5IDI4LjQ0NDJaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfNDAzXzQ0MDApIi8+CjxwYXRoIGlkPSJWZWN0b3JfMyIgZD0iTTE0LjUwMDMgMjcuNjMwNEMyMS42MjgzIDI3LjYzMDQgMjcuNDA2OCAyMS43NTIxIDI3LjQwNjggMTQuNTAwOEMyNy40MDY4IDcuMjQ5NDUgMjEuNjI4MyAxLjM3MTA5IDE0LjUwMDMgMS4zNzEwOUM3LjM3MjIyIDEuMzcxMDkgMS41OTM3NSA3LjI0OTQ1IDEuNTkzNzUgMTQuNTAwOEMxLjU5Mzc1IDIxLjc1MjEgNy4zNzIyMiAyNy42MzA0IDE0LjUwMDMgMjcuNjMwNFoiIGZpbGw9InVybCgjcGFpbnQxX3JhZGlhbF80MDNfNDQwMCkiLz4KPC9nPgo8ZyBpZD0iR3JvdXBfMyI+CjxnIGlkPSJHcm91cF80Ij4KPGcgaWQ9Ikdyb3VwXzUiPgo8cGF0aCBpZD0iVmVjdG9yXzQiIGQ9Ik0xOS4wODYzIDEzLjYyOTlDMTguMjMwNSAxMy42Mjk5IDE3LjUyMDUgMTIuNzE3NiAxNy4zODA2IDExLjUxOTVDMTcuMzY0NCAxMS42NjE4IDE3LjM1NCAxMS44MDYzIDE3LjM1NCAxMS45NTU1QzE3LjM1NCAxMy4zNjE3IDE4LjEzIDE0LjUwMDcgMTkuMDg3NSAxNC41MDA3QzIwLjA0NSAxNC41MDA3IDIwLjgyMDkgMTMuMzYwNSAyMC44MjA5IDExLjk1NTVDMjAuODIwOSAxMS44MDYzIDIwLjgxMDUgMTEuNjYxOCAyMC43OTQzIDExLjUxOTVDMjAuNjUzMiAxMi43MTc2IDE5Ljk0NDMgMTMuNjI5OSAxOS4wODg2IDEzLjYyOTlIMTkuMDg2M1oiIGZpbGw9IiNGRkRCNjUiLz4KPHBhdGggaWQ9IlZlY3Rvcl81IiBkPSJNMTkuMDg2MiA5LjQwOTgzQzE5Ljk0MTkgOS40MDk4MyAyMC42NTE5IDEwLjMyMjIgMjAuNzkxOCAxMS41MjAyQzIwLjgwOCAxMS4zNzggMjAuODE4NCAxMS4yMzM1IDIwLjgxODQgMTEuMDg0M0MyMC44MTg0IDkuNjc4MTEgMjAuMDQyNSA4LjUzOTA2IDE5LjA4NSA4LjUzOTA2QzE4LjEyNzUgOC41MzkwNiAxNy4zNTE2IDkuNjc5MjcgMTcuMzUxNiAxMS4wODQzQzE3LjM1MTYgMTEuMjMzNSAxNy4zNjIgMTEuMzc4IDE3LjM3ODIgMTEuNTIwMkMxNy41MTkyIDEwLjMyMjIgMTguMjI4MSA5LjQwOTgzIDE5LjA4MzggOS40MDk4M0gxOS4wODYyWiIgZmlsbD0iI0Y0QTgwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzYiIGQ9Ik0xOS4wODY1IDE0LjA3NjhDMjAuMDI2NiAxNC4wNzY4IDIwLjc4ODcgMTIuOTM3MiAyMC43ODg3IDExLjUzMTVDMjAuNzg4NyAxMC4xMjU5IDIwLjAyNjYgOC45ODYzMyAxOS4wODY1IDguOTg2MzNDMTguMTQ2NCA4Ljk4NjMzIDE3LjM4NDMgMTAuMTI1OSAxNy4zODQzIDExLjUzMTVDMTcuMzg0MyAxMi45MzcyIDE4LjE0NjQgMTQuMDc2OCAxOS4wODY1IDE0LjA3NjhaIiBmaWxsPSIjQTI0MjAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfNyIgZD0iTTE5LjA4NjUgOS43MDA5OEMxOS45NDU3IDkuNzAwOTggMjAuNjUzNCAxMC42NTI3IDIwLjc3MDIgMTEuODg4OUMyMC43ODE3IDExLjc3MjEgMjAuNzg4NyAxMS42NTMgMjAuNzg4NyAxMS41MzE1QzIwLjc4ODcgMTAuMTI1NCAyMC4wMjY2IDguOTg2MzMgMTkuMDg2NSA4Ljk4NjMzQzE4LjE0NjMgOC45ODYzMyAxNy4zODQzIDEwLjEyNjUgMTcuMzg0MyAxMS41MzE1QzE3LjM4NDMgMTEuNjUzIDE3LjM5MjMgMTEuNzcyMSAxNy40MDI3IDExLjg4ODlDMTcuNTE5NSAxMC42NTI3IDE4LjIyNzMgOS43MDA5OCAxOS4wODY1IDkuNzAwOThaIiBmaWxsPSIjNkIyMzAwIi8+CjwvZz4KPGcgaWQ9Ikdyb3VwXzYiPgo8cGF0aCBpZD0iVmVjdG9yXzgiIGQ9Ik05LjkxMjk0IDEzLjYyOTlDOS4wNTcyMSAxMy42Mjk5IDguMzQ3MTggMTIuNzE3NiA4LjIwNzI2IDExLjUxOTVDOC4xOTEwNyAxMS42NjE4IDguMTgwNjYgMTEuODA2MyA4LjE4MDY2IDExLjk1NTVDOC4xODA2NiAxMy4zNjE3IDguOTU2NjMgMTQuNTAwNyA5LjkxNDEyIDE0LjUwMDdDMTAuODcxNiAxNC41MDA3IDExLjY0NzUgMTMuMzYwNSAxMS42NDc1IDExLjk1NTVDMTEuNjQ3NSAxMS44MDYzIDExLjYzNzEgMTEuNjYxOCAxMS42MjA5IDExLjUxOTVDMTEuNDc5OSAxMi43MTc2IDEwLjc3MSAxMy42Mjk5IDkuOTE1MjUgMTMuNjI5OUg5LjkxMjk0WiIgZmlsbD0iI0ZGREI2NSIvPgo8cGF0aCBpZD0iVmVjdG9yXzkiIGQ9Ik05LjkxMjgxIDkuNDA5ODNDMTAuNzY4NSA5LjQwOTgzIDExLjQ3ODYgMTAuMzIyMiAxMS42MTg1IDExLjUyMDJDMTEuNjM0NyAxMS4zNzggMTEuNjQ1MSAxMS4yMzM1IDExLjY0NTEgMTEuMDg0M0MxMS42NDUxIDkuNjc4MTEgMTAuODY5MiA4LjUzOTA2IDkuOTExNjggOC41MzkwNkM4Ljk1NDE5IDguNTM5MDYgOC4xNzgyMiA5LjY3OTI3IDguMTc4MjIgMTEuMDg0M0M4LjE3ODIyIDExLjIzMzUgOC4xODg2MyAxMS4zNzggOC4yMDQ4MiAxMS41MjAyQzguMzQ1OSAxMC4zMjIyIDkuMDU0NzcgOS40MDk4MyA5LjkxMDUgOS40MDk4M0g5LjkxMjgxWiIgZmlsbD0iI0Y0QTgwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzEwIiBkPSJNOS45MTMxMSAxNC4wNzY4QzEwLjg1MzIgMTQuMDc2OCAxMS42MTUzIDEyLjkzNzIgMTEuNjE1MyAxMS41MzE1QzExLjYxNTMgMTAuMTI1OSAxMC44NTMyIDguOTg2MzMgOS45MTMxMSA4Ljk4NjMzQzguOTczMDEgOC45ODYzMyA4LjIxMDk0IDEwLjEyNTkgOC4yMTA5NCAxMS41MzE1QzguMjEwOTQgMTIuOTM3MiA4Ljk3MzAxIDE0LjA3NjggOS45MTMxMSAxNC4wNzY4WiIgZmlsbD0iI0EyNDIwMCIvPgo8cGF0aCBpZD0iVmVjdG9yXzExIiBkPSJNOS45MTMxMSA5LjcwMDk4QzEwLjc3MjMgOS43MDA5OCAxMS40OCAxMC42NTI3IDExLjU5NjggMTEuODg4OUMxMS42MDg0IDExLjc3MjEgMTEuNjE1MyAxMS42NTMgMTEuNjE1MyAxMS41MzE1QzExLjYxNTMgMTAuMTI1NCAxMC44NTMzIDguOTg2MzMgOS45MTMxMSA4Ljk4NjMzQzguOTcyOTcgOC45ODYzMyA4LjIxMDk0IDEwLjEyNjUgOC4yMTA5NCAxMS41MzE1QzguMjEwOTQgMTEuNjUzIDguMjE4OTkgMTEuNzcyMSA4LjIyOTQgMTEuODg4OUM4LjM0NjIgMTAuNjUyNyA5LjA1MzkyIDkuNzAwOTggOS45MTMxMSA5LjcwMDk4WiIgZmlsbD0iIzZCMjMwMCIvPgo8L2c+CjwvZz4KPGcgaWQ9Ikdyb3VwXzciPgo8cGF0aCBpZD0iVmVjdG9yXzEyIiBkPSJNMjEuMDc0MiAxOS45OEg3LjkyNjA2QzcuNDE5NTYgMTkuOTggNy4wMDQzOSAxOS41NjQ5IDcuMDA0MzkgMTkuMDU4NEM3LjAwNDM5IDE4LjU1MTkgNy40MTk1NiAxOC4xMzY3IDcuOTI2MDYgMTguMTM2N0gyMS4wNzQyQzIxLjU4MDcgMTguMTM2NyAyMS45OTU5IDE4LjU1MTkgMjEuOTk1OSAxOS4wNTg0QzIxLjk5NTkgMTkuNTY0OSAyMS41ODA3IDE5Ljk4IDIxLjA3NDIgMTkuOThaIiBmaWxsPSIjQTI0MjAwIi8+CjxnIGlkPSJHcm91cF84Ij4KPHBhdGggaWQ9IlZlY3Rvcl8xMyIgZD0iTTIxLjk5NDggMTguNjY0MUMyMS45OTQ4IDE4LjIxNzggMjEuNjUyNiAxNy44NTM1IDIxLjIzNCAxNy44NTM1SDcuNzY0MzNDNy4zNDU3MiAxNy44NTM1IDcuMDAzNDIgMTguMjE3OCA3LjAwMzQyIDE4LjY2NDFDNy4wMDM0MiAxOC43Mjg5IDcuMDExNTEgMTguNzkxNCA3LjAyNTM4IDE4Ljg1MTVDNy4xMTIxMSAxOC40NDEgNy40NTc4OCAxOC4xMzEgNy44Njg0IDE4LjEzMUgyMS4xMjk5QzIxLjU0MDQgMTguMTMxIDIxLjg4NjEgMTguNDQxIDIxLjk3MjkgMTguODUxNUMyMS45ODY4IDE4Ljc5MTQgMjEuOTk0OCAxOC43Mjc3IDIxLjk5NDggMTguNjY0MVoiIGZpbGw9IiNGNEE4MDAiLz4KPGcgaWQ9Ikdyb3VwXzkiPgo8cGF0aCBpZD0iVmVjdG9yXzE0IiBkPSJNNy43NjUzMSAxOC42Njg3SDIxLjIzNUMyMS41ODc3IDE4LjY2ODcgMjEuODg0OCAxOC45Mjc3IDIxLjk3MDQgMTkuMjc1OEMyMS45ODY2IDE5LjIwNjQgMjEuOTk1OSAxOS4xMzM1IDIxLjk5NTkgMTkuMDU4NEMyMS45OTU5IDE4LjU1MTkgMjEuNjA2MiAxOC4xMzY3IDIxLjEzMDkgMTguMTM2N0g3Ljg2OTM3QzcuMzk0MSAxOC4xMzY3IDcuMDA0MzkgMTguNTUxOSA3LjAwNDM5IDE5LjA1ODRDNy4wMDQzOSAxOS4xMzM1IDcuMDEzNjcgMTkuMjA2NCA3LjAyOTg2IDE5LjI3NThDNy4xMTU0MyAxOC45Mjc3IDcuNDEyNjEgMTguNjY4NyA3Ljc2NTMxIDE4LjY2ODdaIiBmaWxsPSIjNkIyMzAwIi8+CjxwYXRoIGlkPSJWZWN0b3JfMTUiIGQ9Ik0yMS4xMzA5IDE5Ljk3OTZINy44NjkzN0M3LjQ2NDY0IDE5Ljk3OTYgNy4xMjIzNyAxOS42Nzc4IDcuMDI5ODYgMTkuMjc1NEM3LjAxMzY3IDE5LjM0MDEgNy4wMDQzOSAxOS40MDg0IDcuMDA0MzkgMTkuNDc4OUM3LjAwNDM5IDE5LjkyNTMgNy4zNDY3IDIwLjI4OTUgNy43NjUzMSAyMC4yODk1SDIxLjIzNUMyMS42NTM2IDIwLjI4OTUgMjEuOTk1OSAxOS45MjUzIDIxLjk5NTkgMTkuNDc4OUMyMS45OTU5IDE5LjQwODQgMjEuOTg2NiAxOS4zNDAxIDIxLjk3MDQgMTkuMjc1NEMyMS44Nzc5IDE5LjY3NzggMjEuNTM2OCAxOS45Nzk2IDIxLjEzMDkgMTkuOTc5NloiIGZpbGw9IiNGRkRCNjUiLz4KPC9nPgo8L2c+CjwvZz4KPC9nPgo8L2c+CjwvZz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzQwM180NDAwIiB4MT0iMTQuNDk5OSIgeTE9IjAuNDAwNTI4IiB4Mj0iMTQuNDk5OSIgeTI9IjI4LjM2NDQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iI0ZGQ0MwMCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGQjdGMDAiLz4KPC9saW5lYXJHcmFkaWVudD4KPHJhZGlhbEdyYWRpZW50IGlkPSJwYWludDFfcmFkaWFsXzQwM180NDAwIiBjeD0iMCIgY3k9IjAiIHI9IjEiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjU3MzEgMS41NTE0OSkgc2NhbGUoMjYuMDQ1NCAyNi4wNDU0KSI+CjxzdG9wIHN0b3AtY29sb3I9IiNGQ0ZDREQiLz4KPHN0b3Agb2Zmc2V0PSIwLjI4IiBzdG9wLWNvbG9yPSIjRkNGMUEwIi8+CjxzdG9wIG9mZnNldD0iMC41MSIgc3RvcC1jb2xvcj0iI0ZGREEwMCIvPgo8c3RvcCBvZmZzZXQ9IjAuNzciIHN0b3AtY29sb3I9IiNGRkI0MDAiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjRkE5MDAwIi8+CjwvcmFkaWFsR3JhZGllbnQ+CjxjbGlwUGF0aCBpZD0iY2xpcDBfNDAzXzQ0MDAiPgo8cmVjdCB3aWR0aD0iMTQyOSIgaGVpZ2h0PSIxNzEyIiBmaWxsPSJ3aGl0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcwMyAtNDUwKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOSIgaGVpZ2h0PSIyOSIgdmlld0JveD0iNSA1LjUgMzQgMzQuNSIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0iTTMzIDMzQzM5LjA3NTIgMjYuOTI0OSAzOS4wNzUxIDE3LjA3NTEgMzMgMTFDMjYuOTI0OSA0LjkyNDg4IDE3LjA3NTIgNC45MjQ4NSAxMSAxMUM0LjkyNDg4IDE3LjA3NTEgNC45MjQ4NyAyNi45MjQ5IDExIDMzQzE3LjA3NTEgMzkuMDc1MSAyNi45MjQ5IDM5LjA3NTEgMzMgMzNaIiBmaWxsPSIjRjY1RjAwIi8+CiAgPHBhdGggZD0iTTMyLjU3NzkgMzIuNTc4QzM4LjQyIDI2LjczNTkgMzguNDE5OSAxNy4yNjQxIDMyLjU3NzggMTEuNDIyQzI2LjczNTggNS41Nzk5IDE3LjI2MzkgNS41Nzk4NiAxMS40MjE4IDExLjQyMkM1LjU3OTcxIDE3LjI2NCA1LjU3OTcgMjYuNzM2IDExLjQyMTggMzIuNTc4QzE3LjI2MzkgMzguNDIwMSAyNi43MzU4IDM4LjQyMDEgMzIuNTc3OSAzMi41NzhaIiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMjcyNV8xNzg1NDcpIi8+CiAgPHBhdGggZD0iTTIxLjk5OTYgMzYuMDgyNkMyOS42NDcgMzYuMDgyNiAzNS44NDY0IDI5Ljc3NiAzNS44NDY0IDIxLjk5NjRDMzUuODQ2NCAxNC4yMTY4IDI5LjY0NyA3LjkxMDE2IDIxLjk5OTYgNy45MTAxNkMxNC4zNTIzIDcuOTEwMTYgOC4xNTI4MyAxNC4yMTY4IDguMTUyODMgMjEuOTk2NEM4LjE1MjgzIDI5Ljc3NiAxNC4zNTIzIDM2LjA4MjYgMjEuOTk5NiAzNi4wODI2WiIgZmlsbD0idXJsKCNwYWludDFfcmFkaWFsXzI3MjVfMTc4NTQ3KSIvPgogIDxwYXRoIGQ9Ik0xNS44NSAxMS40ODMyQzE1Ljg1IDExLjQ4MzIgMTcuMjE5NiAxMS4zMTU3IDE4LjEwNzkgMTEuNjg1NEMxOC45OTYyIDEyLjA1NTEgMTguNjAwNSAxMi40NzMyIDE4LjI4OTEgMTIuNDY5NUMxNy45Nzc3IDEyLjQ2NTcgMTYuNTg0NCAxMi41NTAxIDE2LjI2MzEgMTIuNTk2QzE1Ljk0MTggMTIuNjQxOSAxNC4zMTE2IDEyLjg4NTEgMTMuMTM2NyAxMy41NjYyQzExLjk2MTggMTQuMjQ4NSAxMS45MzcxIDE0LjQyMSAxMS43MDEzIDE0LjMyNDJDMTEuNDY0NCAxNC4yMjc0IDExLjYwMzMgMTMuNTIwMyAxMi41NzQ3IDEyLjc4NThDMTMuNTQ2MSAxMi4wNTI2IDE0LjYxOCAxMS42MTIyIDE1Ljg1MTIgMTEuNDgzMkgxNS44NVoiIGZpbGw9IiM5RjQyMDEiLz4KICA8cGF0aCBkPSJNMTguMTQ4MSAxMi4wNzc0QzE3LjI1OTggMTEuNzA3NyAxNS44OTAxIDExLjg3NTIgMTUuODkwMSAxMS44NzUyQzE0LjY1ODEgMTIuMDA0MiAxMy41ODUgMTIuNDQzNCAxMi42MTM2IDEzLjE3NzlDMTIuMDUyOCAxMy42MDA5IDExLjc3MTIgMTQuMDE1MyAxMS42NzY5IDE0LjMwOTNDMTEuNDc0NyAxNC4xNzUzIDExLjYzNDcgMTMuNDkzIDEyLjU3MjYgMTIuNzg1OEMxMy41NDQgMTIuMDUyNiAxNC42MTYgMTEuNjEyMiAxNS44NDkyIDExLjQ4MzJDMTUuODQ5MiAxMS40ODMyIDE3LjIxODggMTEuMzE1NyAxOC4xMDcxIDExLjY4NTRDMTguNjkxNSAxMS45Mjg1IDE4LjcyIDEyLjE5MjggMTguNTgyMyAxMi4zNDQyQzE4LjQ5NzkgMTIuMjU3MyAxOC4zNjAyIDEyLjE2NjcgMTguMTQ4MSAxMi4wNzg3VjEyLjA3NzRaIiBmaWxsPSIjNkIyMzAwIi8+CiAgPHBhdGggZD0iTTExLjcwMDkgMTQuMzIzOEMxMS45Mzc5IDE0LjQyMDYgMTEuOTYxNCAxNC4yNDgxIDEzLjEzNjMgMTMuNTY1OEMxNC4zMTEyIDEyLjg4MzQgMTUuOTQyNyAxMi42NDAzIDE2LjI2MjggMTIuNTk1NkMxNi41ODQxIDEyLjU0OTcgMTcuOTc2MSAxMi40NjUzIDE4LjI4ODcgMTIuNDY5MUMxOC4zOTU0IDEyLjQ3MDMgMTguNTEyMSAxMi40MjE5IDE4LjU4MjggMTIuMzQzOEMxOC44NTIgMTIuNjIyOSAxOC41NjY2IDEyLjg2NDggMTguMzI5NyAxMi44NjExQzE4LjAxODMgMTIuODU3NCAxNi42MjUgMTIuOTQxNyAxNi4zMDM3IDEyLjk4NzZDMTUuOTgyNCAxMy4wMzM1IDE0LjM1MjIgMTMuMjc2NyAxMy4xNzczIDEzLjk1NzhDMTIuMDAyNCAxNC42NDAyIDExLjk3NzYgMTQuODEyNiAxMS43NDE5IDE0LjcxNTlDMTEuNjQxNCAxNC42NzQ5IDExLjYxMDMgMTQuNTIzNiAxMS42Nzg2IDE0LjMwODlDMTEuNjg2IDE0LjMxMzkgMTEuNjkyMiAxNC4zMjAxIDExLjcwMDkgMTQuMzIyNlYxNC4zMjM4WiIgZmlsbD0iI0ZERTlCMyIvPgogIDxwYXRoIGQ9Ik0yOC4xMjIyIDExLjQ4MzJDMjguMTIyMiAxMS40ODMyIDI2Ljc1MjUgMTEuMzE1NyAyNS44NjQyIDExLjY4NTRDMjQuOTc2IDEyLjA1NTEgMjUuMzcxNyAxMi40NzMyIDI1LjY4MzEgMTIuNDY5NUMyNS45OTQ1IDEyLjQ2NTcgMjcuMzg3OCAxMi41NTAxIDI3LjcwOTEgMTIuNTk2QzI4LjAzMDQgMTIuNjQxOSAyOS42NjA2IDEyLjg4NTEgMzAuODM1NSAxMy41NjYyQzMyLjAxMDQgMTQuMjQ4NSAzMi4wMzUyIDE0LjQyMSAzMi4yNzA5IDE0LjMyNDJDMzIuNTA3OSAxNC4yMjc0IDMyLjM2ODkgMTMuNTIwMyAzMS4zOTc1IDEyLjc4NThDMzAuNDI2MSAxMi4wNTI2IDI5LjM1NDIgMTEuNjEyMiAyOC4xMjEgMTEuNDgzMkgyOC4xMjIyWiIgZmlsbD0iIzlGNDIwMSIvPgogIDxwYXRoIGQ9Ik0yNS44MjQxIDEyLjA3NzRDMjYuNzEyNCAxMS43MDc3IDI4LjA4MiAxMS44NzUyIDI4LjA4MiAxMS44NzUyQzI5LjMxMzkgMTIuMDA0MiAzMC4zODcxIDEyLjQ0MzQgMzEuMzU4NSAxMy4xNzc5QzMxLjkxOTMgMTMuNjAwOSAzMi4yMDEgMTQuMDE1MyAzMi4yOTUzIDE0LjMwOTNDMzIuNDk3NSAxNC4xNzUzIDMyLjMzNzQgMTMuNDkzIDMxLjM5OTUgMTIuNzg1OEMzMC40MjgxIDEyLjA1MjYgMjkuMzU2MSAxMS42MTIyIDI4LjEyMjkgMTEuNDgzMkMyOC4xMjI5IDExLjQ4MzIgMjYuNzUzMyAxMS4zMTU3IDI1Ljg2NSAxMS42ODU0QzI1LjI4MDcgMTEuOTI4NSAyNS4yNTIxIDEyLjE5MjggMjUuMzg5OCAxMi4zNDQyQzI1LjQ3NDIgMTIuMjU3MyAyNS42MTE5IDEyLjE2NjcgMjUuODI0MSAxMi4wNzg3VjEyLjA3NzRaIiBmaWxsPSIjNkIyMzAwIi8+CiAgPHBhdGggZD0iTTMyLjI3MiAxNC4zMjM4QzMyLjAzNTEgMTQuNDIwNiAzMi4wMTE1IDE0LjI0ODEgMzAuODM2NyAxMy41NjU4QzI5LjY2MTggMTIuODgzNCAyOC4wMzAzIDEyLjY0MDMgMjcuNzEwMiAxMi41OTU2QzI3LjM4ODkgMTIuNTQ5NyAyNS45OTY5IDEyLjQ2NTMgMjUuNjg0MyAxMi40NjkxQzI1LjU3NzYgMTIuNDcwMyAyNS40NjEgMTIuNDIxOSAyNS4zOTAzIDEyLjM0MzhDMjUuMTIxIDEyLjYyMjkgMjUuNDA2NCAxMi44NjQ4IDI1LjY0MzQgMTIuODYxMUMyNS45NTQ4IDEyLjg1NzQgMjcuMzQ4IDEyLjk0MTcgMjcuNjY5MyAxMi45ODc2QzI3Ljk5MDcgMTMuMDMzNSAyOS42MjA4IDEzLjI3NjcgMzAuNzk1NyAxMy45NTc4QzMxLjk3MDYgMTQuNjM4OSAzMS45OTU0IDE0LjgxMjYgMzIuMjMxMiAxNC43MTU5QzMyLjMzMTYgMTQuNjc0OSAzMi4zNjI2IDE0LjUyMzYgMzIuMjk0NCAxNC4zMDg5QzMyLjI4NyAxNC4zMTM5IDMyLjI4MDcgMTQuMzIwMSAzMi4yNzIgMTQuMzIyNlYxNC4zMjM4WiIgZmlsbD0iI0ZERTlCMyIvPgogIDxwYXRoIGQ9Ik0xMy4yMDUzIDI2LjU3MzdDMTIuOTQxMSAyNi41MDkyIDEyLjY3MTkgMjYuNjU5MyAxMi42NzE5IDI2Ljg3MjdWMjcuMDE2NkMxMi42NzE5IDMwLjcyODYgMTYuODQxNiAzMy4zNjc0IDIxLjk4NTMgMzMuMzY3NEMyNy4xMjkgMzMuMzY3NCAzMS4yOTg4IDMwLjczMzYgMzEuMjk4OCAyNy4wMjE2VjI2Ljg3MjdDMzEuMjk4OCAyNi42NTkzIDMxLjAyOTYgMjYuNTA5MiAzMC43NjUzIDI2LjU3MzdDMjguMjA4NCAyNy4xOTkgMjUuMjAyMyAyNy41NTg4IDIxLjk4NDEgMjcuNTU4OEMxOC43NjU5IDI3LjU1ODggMTUuNzU5OCAyNy4xOTc3IDEzLjIwMjggMjYuNTczN0gxMy4yMDUzWiIgZmlsbD0iI0YyQTYwMiIvPgogIDxwYXRoIGQ9Ik0xMy4zNDY2IDI3LjQwMTVDMTMuMDg3MyAyNy4zMzgyIDEyLjgyMTggMjcuNDg1OSAxMi44MjE4IDI3LjY5NTVWMjcuODM3QzEyLjgyMTggMzEuNDkwNiAxNi45MjcgMzQuMDg4NSAyMS45OTAxIDM0LjA4ODVDMjcuMDUzMSAzNC4wODg1IDMxLjE1ODQgMzEuNDk1NiAzMS4xNTg0IDI3Ljg0MTlWMjcuNjk1NUMzMS4xNTg0IDI3LjQ4NTkgMzAuODkyOSAyNy4zMzgyIDMwLjYzMzYgMjcuNDAxNUMyOC4xMTYzIDI4LjAxNjkgMjUuMTU3NCAyOC4zNzE3IDIxLjk5MDEgMjguMzcxN0MxOC44MjI3IDI4LjM3MTcgMTUuODYzOCAyOC4wMTY5IDEzLjM0NjYgMjcuNDAxNVoiIGZpbGw9IiNGREQ5NjYiLz4KICA8cGF0aCBkPSJNMTMuNDIxMSAyNy4wNDYzQzEzLjA3MzcgMjYuOTYzMiAxMi43MjI3IDI3LjE2NDEgMTIuNzIyNyAyNy40NDMzVjI3LjQ0NThDMTIuNzIyNyAzMS4xMzc5IDE2Ljg3MDEgMzMuNzYzMSAyMS45ODY1IDMzLjc2MzFDMjcuMTAyOSAzMy43NjMxIDMxLjI1MDMgMzEuMTQyOSAzMS4yNTAzIDI3LjQ1MlYyNy40NDQ1QzMxLjI1MDMgMjcuMTY1NCAzMC44OTkyIDI2Ljk2NDQgMzAuNTUxOSAyNy4wNDc1QzI4LjA0NTggMjcuNjQ0MyAyNS4xMTY2IDI3Ljk4NjcgMjEuOTg2NSAyNy45ODY3QzE4Ljg1NjQgMjcuOTg2NyAxNS45MjcyIDI3LjY0NDMgMTMuNDIxMSAyNy4wNDc1VjI3LjA0NjNaIiBmaWxsPSIjOUY0MjAxIi8+CiAgPHBhdGggZD0iTTMxLjI1MDMgMjcuNDUwN0MzMS4yNTAzIDI3LjQ1MDcgMzEuMjUwMyAyNy40NDU4IDMxLjI1MDMgMjcuNDQzM0MzMS4yNTAzIDI3LjE2NDEgMzAuODk5MiAyNi45NjMyIDMwLjU1MTkgMjcuMDQ2M0MyOC4wNDU4IDI3LjY0MyAyNS4xMTY2IDI3Ljk4NTQgMjEuOTg2NSAyNy45ODU0QzE4Ljg1NjQgMjcuOTg1NCAxNS45MjcyIDI3LjY0MyAxMy40MjExIDI3LjA0NjNDMTMuMDczNyAyNi45NjMyIDEyLjcyMjcgMjcuMTY0MSAxMi43MjI3IDI3LjQ0MzNWMjcuNDQ1OEMxMi43MjI3IDI5LjQ1NTYgMTMuOTUwOCAzMS4xNDc4IDE1Ljg5NjIgMzIuMjc0M0MxNC40Njk0IDMxLjI2OTQgMTMuNTkzNiAyOS44Nzk5IDEzLjU5MzYgMjguMjY1OFYyOC4yNjM0QzEzLjU5MzYgMjguMDEwMyAxMy45MTI0IDI3LjgyOTEgMTQuMjI2MyAyNy45MDM2QzE2LjQ5NjYgMjguNDQ0NSAxOS4xNTA0IDI4Ljc1NDYgMjEuOTg2NSAyOC43NTQ2QzI0LjgyMjYgMjguNzU0NiAyNy40NzYzIDI4LjQ0NDUgMjkuNzQ2NyAyNy45MDM2QzMwLjA2MTggMjcuODI5MSAzMC4zNzk0IDI4LjAxMDMgMzAuMzc5NCAyOC4yNjM0QzMwLjM3OTQgMjguMjY1OCAzMC4zNzk0IDI4LjI2ODMgMzAuMzc5NCAyOC4yNzA4QzMwLjM3OTQgMjkuODg0OSAyOS41MDQ3IDMxLjI3MTkgMjguMDc5MiAzMi4yNzU2QzMwLjAyMzMgMzEuMTUwMyAzMS4yNTE1IDI5LjQ1OTMgMzEuMjUxNSAyNy40NTA3SDMxLjI1MDNaIiBmaWxsPSIjNkIyMzAwIi8+CiAgPHBhdGggZD0iTTE4LjM4ODcgMjEuMjM3M0MxOC4wMTQgMjAuOTE4NSAxNy41NjExIDIwLjcxMTMgMTcuMDQxMyAyMC42MTgzQzE2Ljk5NDIgMjAuNjA5NiAxNi45NjA3IDIwLjU2OTkgMTYuOTYwNyAyMC41MjI3VjE4LjQyMjNDMTYuOTYwNyAxOC4zNTY2IDE3LjAyNCAxOC4zMTA3IDE3LjA4NzIgMTguMzI4QzE3LjMxOTIgMTguMzk1IDE3LjUyMDIgMTguNTEwNCAxNy42OTUxIDE4LjY3NTRDMTcuOTQ0NSAxOC45MDk5IDE4LjA2NjEgMTkuMTcyOSAxOC4wNjYxIDE5LjQ3ODFWMTkuNTgyM0MxOC4wNjYxIDE5LjYzNTcgMTguMTA5NSAxOS42ODAzIDE4LjE2NDEgMTkuNjgwM0gxOC44NDlDMTguOTAyMyAxOS42ODAzIDE4Ljk0NyAxOS42MzY5IDE4Ljk0NyAxOS41ODIzVjE5LjQ3ODFDMTguOTQ3IDE4Ljk1MDggMTguNzMzNSAxOC40ODQ0IDE4LjMxMyAxOC4wOTExQzE3Ljk1ODEgMTcuNzY2IDE3LjUzMjYgMTcuNTYwMSAxNy4wNDM4IDE3LjQ3NTdDMTYuOTk2NiAxNy40NjcgMTYuOTYxOSAxNy40MjczIDE2Ljk2MTkgMTcuMzgwMlYxNi44MjA3QzE2Ljk2MTkgMTYuNzY3MyAxNi45MTg1IDE2LjcyMjcgMTYuODYzOSAxNi43MjI3SDE2LjI2MUMxNi4yMDc3IDE2LjcyMjcgMTYuMTYzIDE2Ljc2NjEgMTYuMTYzIDE2LjgyMDdWMTcuMzc5QzE2LjE2MyAxNy40MjYxIDE2LjEyODIgMTcuNDY3IDE2LjA4MTEgMTcuNDc0NUMxNS42MjU4IDE3LjU1MzkgMTUuMjI3NSAxNy43NDk5IDE0Ljg5MTMgMTguMDYwMUMxNC40OTMxIDE4LjQzNzIgMTQuMjkwOCAxOC44ODc2IDE0LjI5MDggMTkuNDAxMkMxNC4yOTA4IDE5Ljg4MjYgMTQuNDg4MSAyMC4zMjE3IDE0Ljg4MDEgMjAuNzA2M0MxNS4yMTE0IDIxLjAyNjQgMTUuNjE3MSAyMS4yNDYgMTYuMDg4NSAyMS4zNjI2QzE2LjEzMiAyMS4zNzM4IDE2LjE2MyAyMS40MTIzIDE2LjE2MyAyMS40NTY5VjIzLjcyODVDMTYuMTYzIDIzLjc5NTUgMTYuMDk2IDIzLjg0MjcgMTYuMDMyNyAyMy44MjE2QzE1Ljc5NTcgMjMuNzQwOSAxNS41ODk4IDIzLjYwMiAxNS40MTEyIDIzLjQwMUMxNS4xNDU3IDIzLjA5NzEgMTUuMDE2NiAyMi43NTA5IDE1LjAxNjYgMjIuMzQwM1YyMi4yMzYxQzE1LjAxNjYgMjIuMTgyNyAxNC45NzMyIDIyLjEzOCAxNC45MTg2IDIyLjEzOEgxNC4yMzM4QzE0LjE4MDQgMjIuMTM4IDE0LjEzNTcgMjIuMTgxNSAxNC4xMzU3IDIyLjIzNjFWMjIuMzQwM0MxNC4xMzU3IDIyLjk1ODEgMTQuMzUyOCAyMy41MDI3IDE0Ljc3OTYgMjMuOTU5M0MxNS4xMzgyIDI0LjM0MjcgMTUuNTc0OSAyNC41ODIxIDE2LjA4MjMgMjQuNjczOUMxNi4xMjk0IDI0LjY4MjYgMTYuMTYzIDI0LjcyMjMgMTYuMTYzIDI0Ljc2OTRWMjUuMjk2N0MxNi4xNjMgMjUuMzUgMTYuMjA2NCAyNS4zOTQ3IDE2LjI2MSAyNS4zOTQ3SDE2Ljg2MzlDMTYuOTE3MyAyNS4zOTQ3IDE2Ljk2MTkgMjUuMzUxMyAxNi45NjE5IDI1LjI5NjdWMjQuNzcxOUMxNi45NjE5IDI0LjcyMzUgMTYuOTk3OSAyNC42ODM4IDE3LjA0NTEgMjQuNjc2NEMxNy41NjYxIDI0LjU5MiAxOC4wMTY1IDI0LjM3NzQgMTguMzg0OSAyNC4wMzc1QzE4LjgzNCAyMy42MzA1IDE5LjA2MTEgMjMuMTQ1NCAxOS4wNjExIDIyLjU5NDZDMTkuMDYxMSAyMi4wNzg1IDE4LjgzNTMgMjEuNjIxOSAxOC4zODk5IDIxLjIzNjFMMTguMzg4NyAyMS4yMzczWk0xOC4yMTk5IDIyLjU5NThDMTguMjE5OSAyMi45MjIxIDE4LjA4NiAyMy4yMDEzIDE3LjgxMTggMjMuNDUwNkMxNy42MDA5IDIzLjYzNjcgMTcuMzYxNCAyMy43NjQ1IDE3LjA4MzUgMjMuODM3N0MxNy4wMjE1IDIzLjg1MzggMTYuOTU5NSAyMy44MDc5IDE2Ljk1OTUgMjMuNzQzNFYyMS42MTU3QzE2Ljk1OTUgMjEuNTUzNyAxNy4wMTc4IDIxLjUwNTMgMTcuMDc4NiAyMS41MjAyQzE3LjM2MzkgMjEuNTkyMiAxNy42MTIgMjEuNzEyNSAxNy44MTkyIDIxLjg4QzE4LjA4OTYgMjIuMDk5NiAxOC4yMTk5IDIyLjMzNDEgMTguMjE5OSAyMi41OTU4Wk0xNS41MDA0IDIwLjA4NDhDMTUuMjc4NCAxOS44NzI2IDE1LjE3MDUgMTkuNjQ5MyAxNS4xNzA1IDE5LjQwMjRDMTUuMTcwNSAxOS4xMTgzIDE1LjI4MjEgMTguODcyNyAxNS41MTE3IDE4LjY1MzFDMTUuNjY0MiAxOC41MDY3IDE1LjgzNjcgMTguNDAyNSAxNi4wMzQgMTguMzM4QzE2LjA5NzIgMTguMzE2OSAxNi4xNjMgMTguMzY0IDE2LjE2MyAxOC40MzFWMjAuMzI5MkMxNi4xNjMgMjAuMzk4NyAxNi4wOTIyIDIwLjQ0NTggMTYuMDI3NyAyMC40MTk4QzE1LjgyNTUgMjAuMzM5MSAxNS42NTE4IDIwLjIyNzUgMTUuNTAxNyAyMC4wODQ4SDE1LjUwMDRaIiBmaWxsPSIjRkREOThGIi8+CiAgPHBhdGggZD0iTTE4LjU1NjkgMjEuMDY1NUMxOC4xODIyIDIwLjc0NjYgMTcuNzI5NCAyMC41Mzk0IDE3LjIwOTYgMjAuNDQ2NEMxNy4xNjI0IDIwLjQzNzcgMTcuMTI3NyAyMC4zOTggMTcuMTI3NyAyMC4zNTA5VjE4LjI1MDVDMTcuMTI3NyAxOC4xODQ3IDE3LjE5MDkgMTguMTM4OCAxNy4yNTQyIDE4LjE1NjJDMTcuNDg2MiAxOC4yMjMyIDE3LjY4NzIgMTguMzM4NSAxNy44NjIxIDE4LjUwMzVDMTguMTExNSAxOC43MzggMTguMjMzMSAxOS4wMDEgMTguMjMzMSAxOS4zMDYyVjE5LjQxMDVDMTguMjMzMSAxOS40NjM4IDE4LjI3NjUgMTkuNTA4NSAxOC4zMzExIDE5LjUwODVIMTkuMDE1OUMxOS4wNjkzIDE5LjUwODUgMTkuMTE0IDE5LjQ2NSAxOS4xMTQgMTkuNDEwNVYxOS4zMDYyQzE5LjExNCAxOC43NzkgMTguOTAwNSAxOC4zMTI1IDE4LjQ4IDE3LjkxOTJDMTguMTI1MSAxNy41OTQyIDE3LjY5OTYgMTcuMzg4MiAxNy4yMTA4IDE3LjMwMzhDMTcuMTYzNiAxNy4yOTUyIDE3LjEyODkgMTcuMjU1NSAxNy4xMjg5IDE3LjIwODNWMTYuNjQ4OEMxNy4xMjg5IDE2LjU5NTQgMTcuMDg1NSAxNi41NTA4IDE3LjAzMDkgMTYuNTUwOEgxNi40Mjc5QzE2LjM3NDYgMTYuNTUwOCAxNi4zMjk5IDE2LjU5NDIgMTYuMzI5OSAxNi42NDg4VjE3LjIwNzFDMTYuMzI5OSAxNy4yNTQyIDE2LjI5NTIgMTcuMjk1MiAxNi4yNDgxIDE3LjMwMjZDMTUuNzkyOCAxNy4zODIgMTUuMzk0NSAxNy41NzggMTUuMDU4MyAxNy44ODgyQzE0LjY2IDE4LjI2NTMgMTQuNDU3OCAxOC43MTU3IDE0LjQ1NzggMTkuMjI5M0MxNC40NTc4IDE5LjcxMDcgMTQuNjU1MSAyMC4xNDk5IDE1LjA0NzEgMjAuNTM0NUMxNS4zNzg0IDIwLjg1NDYgMTUuNzg0MSAyMS4wNzQxIDE2LjI1NTUgMjEuMTkwOEMxNi4yOTg5IDIxLjIwMTkgMTYuMzI5OSAyMS4yNDA0IDE2LjMyOTkgMjEuMjg1MVYyMy41NTY3QzE2LjMyOTkgMjMuNjIzNyAxNi4yNjI5IDIzLjY3MDggMTYuMTk5NyAyMy42NDk3QzE1Ljk2MjcgMjMuNTY5MSAxNS43NTY4IDIzLjQyODkgMTUuNTc4MSAyMy4yMjkxQzE1LjMxMjYgMjIuOTI1MiAxNS4xODM2IDIyLjU3OSAxNS4xODM2IDIyLjE2ODRWMjIuMDY0MkMxNS4xODM2IDIyLjAxMDggMTUuMTQwMiAyMS45NjYyIDE1LjA4NTYgMjEuOTY2MkgxNC40MDA3QzE0LjM0NzQgMjEuOTY2MiAxNC4zMDI3IDIyLjAwOTYgMTQuMzAyNyAyMi4wNjQyVjIyLjE2ODRDMTQuMzAyNyAyMi43ODYyIDE0LjUxOTggMjMuMzMwOSAxNC45NDY2IDIzLjc4NzRDMTUuMzA1MiAyNC4xNzA4IDE1Ljc0MTkgMjQuNDEwMiAxNi4yNDkzIDI0LjUwMkMxNi4yOTY0IDI0LjUxMDcgMTYuMzI5OSAyNC41NTA0IDE2LjMyOTkgMjQuNTk3NlYyNS4xMjQ4QzE2LjMyOTkgMjUuMTc4MiAxNi4zNzMzIDI1LjIyMjggMTYuNDI3OSAyNS4yMjI4SDE3LjAzMDlDMTcuMDg0MyAyNS4yMjI4IDE3LjEyODkgMjUuMTc5NCAxNy4xMjg5IDI1LjEyNDhWMjQuNkMxNy4xMjg5IDI0LjU1MTcgMTcuMTYzNyAyNC41MTIgMTcuMjEyMSAyNC41MDQ1QzE3LjczMzEgMjQuNDIwMSAxOC4xODM0IDI0LjIwNTUgMTguNTUxOSAyMy44NjU2QzE5LjAwMSAyMy40NTg3IDE5LjIyODEgMjIuOTczNiAxOS4yMjgxIDIyLjQyMjdDMTkuMjI4MSAyMS45MDY2IDE5LjAwMjMgMjEuNDUwMSAxOC41NTY5IDIxLjA2NDJWMjEuMDY1NVpNMTguMzg5NCAyMi40MjUyQzE4LjM4OTQgMjIuNzUxNSAxOC4yNTU0IDIzLjAzMDYgMTcuOTgxMiAyMy4yOEMxNy43NzAzIDIzLjQ2NjEgMTcuNTMwOSAyMy41OTM5IDE3LjI1MyAyMy42NjcxQzE3LjE5MSAyMy42ODMyIDE3LjEyODkgMjMuNjM3MyAxNy4xMjg5IDIzLjU3MjhWMjEuNDQ1MUMxNy4xMjg5IDIxLjM4MzEgMTcuMTg3MiAyMS4zMzQ3IDE3LjI0OCAyMS4zNDk2QzE3LjUzMzQgMjEuNDIxNSAxNy43ODE1IDIxLjU0MTkgMTcuOTg4NyAyMS43MDk0QzE4LjI1OTEgMjEuOTI4OSAxOC4zODk0IDIyLjE2MzQgMTguMzg5NCAyMi40MjUyWk0xNS42Njk5IDE5LjkxMjlDMTUuNDQ3OCAxOS43MDA4IDE1LjMzOTkgMTkuNDc3NCAxNS4zMzk5IDE5LjIzMDZDMTUuMzM5OSAxOC45NDY1IDE1LjQ1MTUgMTguNzAwOCAxNS42ODExIDE4LjQ4MTJDMTUuODMzNyAxOC4zMzQ4IDE2LjAwNjEgMTguMjMwNiAxNi4yMDM0IDE4LjE2NjFDMTYuMjY2NiAxOC4xNDUgMTYuMzMyNCAxOC4xOTIxIDE2LjMzMjQgMTguMjU5MVYyMC4xNTczQzE2LjMzMjQgMjAuMjI2OCAxNi4yNjE3IDIwLjI3MzkgMTYuMTk3MiAyMC4yNDc5QzE1Ljk5NSAyMC4xNjcyIDE1LjgyMTMgMjAuMDU1NiAxNS42NzEyIDE5LjkxMjlIMTUuNjY5OVoiIGZpbGw9IiNFQTlFMDEiLz4KICA8cGF0aCBkPSJNMTguNDg2OCAyMS4xMzU4QzE4LjExMjIgMjAuODE2OSAxNy42NTkzIDIwLjYwOTcgMTcuMTM5NSAyMC41MTY3QzE3LjA5MjMgMjAuNTA4IDE3LjA1ODggMjAuNDY4MyAxNy4wNTg4IDIwLjQyMTJWMTguMzIwOEMxNy4wNTg4IDE4LjI1NSAxNy4xMjIxIDE4LjIwOTEgMTcuMTg1NCAxOC4yMjY1QzE3LjQxNzQgMTguMjkzNSAxNy42MTgzIDE4LjQwODkgMTcuNzkzMyAxOC41NzM5QzE4LjA0MjYgMTguODA4MyAxOC4xNjQyIDE5LjA3MTQgMTguMTY0MiAxOS4zNzY1VjE5LjQ4MDhDMTguMTY0MiAxOS41MzQxIDE4LjIwNzcgMTkuNTc4OCAxOC4yNjIzIDE5LjU3ODhIMTguOTQ3MUMxOS4wMDA0IDE5LjU3ODggMTkuMDQ1MSAxOS41MzU0IDE5LjA0NTEgMTkuNDgwOFYxOS4zNzY1QzE5LjA0NTEgMTguODQ5MyAxOC44MzE3IDE4LjM4MjggMTguNDExMSAxNy45ODk1QzE4LjA1NjMgMTcuNjY0NSAxNy42MzA3IDE3LjQ1ODUgMTcuMTQxOSAxNy4zNzQyQzE3LjA5NDggMTcuMzY1NSAxNy4wNjAxIDE3LjMyNTggMTcuMDYwMSAxNy4yNzg2VjE2LjcxOTFDMTcuMDYwMSAxNi42NjU4IDE3LjAxNjcgMTYuNjIxMSAxNi45NjIxIDE2LjYyMTFIMTYuMzU5MUMxNi4zMDU3IDE2LjYyMTEgMTYuMjYxMSAxNi42NjQ1IDE2LjI2MTEgMTYuNzE5MVYxNy4yNzc0QzE2LjI2MTEgMTcuMzI0NSAxNi4yMjY0IDE3LjM2NTUgMTYuMTc5MiAxNy4zNzI5QzE1LjcyMzkgMTcuNDUyMyAxNS4zMjU3IDE3LjY0ODMgMTQuOTg5NSAxNy45NTg1QzE0LjU5MTIgMTguMzM1NyAxNC4zODkgMTguNzg2IDE0LjM4OSAxOS4yOTk2QzE0LjM4OSAxOS43ODEgMTQuNTg2MiAyMC4yMjAyIDE0Ljk3ODMgMjAuNjA0OEMxNS4zMDk1IDIwLjkyNDkgMTUuNzE1MiAyMS4xNDQ1IDE2LjE4NjcgMjEuMjYxMUMxNi4yMzAxIDIxLjI3MjIgMTYuMjYxMSAyMS4zMTA3IDE2LjI2MTEgMjEuMzU1NFYyMy42MjdDMTYuMjYxMSAyMy42OTQgMTYuMTk0MSAyMy43NDExIDE2LjEzMDggMjMuNzJDMTUuODkzOSAyMy42Mzk0IDE1LjY4NzkgMjMuNTAwNCAxNS41MDkzIDIzLjI5OTRDMTUuMjQzOCAyMi45OTU1IDE1LjExNDggMjIuNjQ5NCAxNS4xMTQ4IDIyLjIzODdWMjIuMTM0NUMxNS4xMTQ4IDIyLjA4MTEgMTUuMDcxMyAyMi4wMzY1IDE1LjAxNjcgMjIuMDM2NUgxNC4zMzE5QzE0LjI3ODYgMjIuMDM2NSAxNC4yMzM5IDIyLjA3OTkgMTQuMjMzOSAyMi4xMzQ1VjIyLjIzODdDMTQuMjMzOSAyMi44NTY1IDE0LjQ1MSAyMy40MDEyIDE0Ljg3NzggMjMuODU3N0MxNS4yMzYzIDI0LjI0MTEgMTUuNjczIDI0LjQ4MDUgMTYuMTgwNCAyNC41NzIzQzE2LjIyNzYgMjQuNTgxIDE2LjI2MTEgMjQuNjIwNyAxNi4yNjExIDI0LjY2NzlWMjUuMTk1MUMxNi4yNjExIDI1LjI0ODUgMTYuMzA0NSAyNS4yOTMyIDE2LjM1OTEgMjUuMjkzMkgxNi45NjIxQzE3LjAxNTQgMjUuMjkzMiAxNy4wNjAxIDI1LjI0OTcgMTcuMDYwMSAyNS4xOTUxVjI0LjY3MDRDMTcuMDYwMSAyNC42MjIgMTcuMDk0OCAyNC41ODIzIDE3LjE0MzIgMjQuNTc0OEMxNy42NjQzIDI0LjQ5MDUgMTguMTE0NiAyNC4yNzU4IDE4LjQ4MzEgMjMuOTM1OUMxOC45MzIyIDIzLjUyOSAxOS4xNTkyIDIzLjA0MzkgMTkuMTU5MiAyMi40OTNDMTkuMTU5MiAyMS45NzY5IDE4LjkzMzQgMjEuNTIwNCAxOC40ODggMjEuMTM0NUwxOC40ODY4IDIxLjEzNThaTTE4LjMxOTMgMjIuNDk1NUMxOC4zMTkzIDIyLjgyMTggMTguMTg1MyAyMy4xMDA5IDE3LjkxMTIgMjMuMzUwM0MxNy43MDAyIDIzLjUzNjQgMTcuNDYwOCAyMy42NjQyIDE3LjE4MjkgMjMuNzM3NEMxNy4xMjA5IDIzLjc1MzUgMTcuMDU4OCAyMy43MDc2IDE3LjA1ODggMjMuNjQzMVYyMS41MTU0QzE3LjA1ODggMjEuNDUzNCAxNy4xMTcxIDIxLjQwNSAxNy4xNzc5IDIxLjQxOTlDMTcuNDYzMyAyMS40OTE4IDE3LjcxMTQgMjEuNjEyMiAxNy45MTg2IDIxLjc3OTdDMTguMTg5MSAyMS45OTkzIDE4LjMxOTMgMjIuMjMzNyAxOC4zMTkzIDIyLjQ5NTVaTTE1LjU5OTkgMTkuOTgzMkMxNS4zNzc4IDE5Ljc3MTEgMTUuMjY5OCAxOS41NDc4IDE1LjI2OTggMTkuMzAwOUMxNS4yNjk4IDE5LjAxNjggMTUuMzgxNSAxOC43NzExIDE1LjYxMSAxOC41NTE1QzE1Ljc2MzYgMTguNDA1MSAxNS45MzYgMTguMzAwOSAxNi4xMzMzIDE4LjIzNjRDMTYuMTk2NiAxOC4yMTUzIDE2LjI2MjMgMTguMjYyNSAxNi4yNjIzIDE4LjMyOTVWMjAuMjI3NkMxNi4yNjIzIDIwLjI5NzEgMTYuMTkxNiAyMC4zNDQyIDE2LjEyNzEgMjAuMzE4MkMxNS45MjQ5IDIwLjIzNzYgMTUuNzUxMiAyMC4xMjU5IDE1LjYwMTEgMTkuOTgzMkgxNS41OTk5WiIgZmlsbD0iIzZCMjMwMCIvPgogIDxwYXRoIGQ9Ik0yOC45OTczIDIxLjIzNzNDMjguNjIyNiAyMC45MTg1IDI4LjE2OTggMjAuNzExMyAyNy42NSAyMC42MTgzQzI3LjYwMjkgMjAuNjA5NiAyNy41NjgxIDIwLjU2OTkgMjcuNTY4MSAyMC41MjI3VjE4LjQyMjNDMjcuNTY4MSAxOC4zNTY2IDI3LjYzMTQgMTguMzEwNyAyNy42OTQ2IDE4LjMyOEMyNy45MjY2IDE4LjM5NSAyOC4xMjc2IDE4LjUxMDQgMjguMzAyNSAxOC42NzU0QzI4LjU1MTkgMTguOTA5OSAyOC42NzM1IDE5LjE3MjkgMjguNjczNSAxOS40NzgxVjE5LjU4MjNDMjguNjczNSAxOS42MzU3IDI4LjcxNyAxOS42ODAzIDI4Ljc3MTUgMTkuNjgwM0gyOS40NTY0QzI5LjUwOTcgMTkuNjgwMyAyOS41NTQ0IDE5LjYzNjkgMjkuNTU0NCAxOS41ODIzVjE5LjQ3ODFDMjkuNTU0NCAxOC45NTA4IDI5LjM0MSAxOC40ODQ0IDI4LjkyMDQgMTguMDkxMUMyOC41NjU2IDE3Ljc2NiAyOC4xNCAxNy41NjAxIDI3LjY1MTIgMTcuNDc1N0MyNy42MDQxIDE3LjQ2NyAyNy41Njk0IDE3LjQyNzMgMjcuNTY5NCAxNy4zODAyVjE2LjgyMDdDMjcuNTY5NCAxNi43NjczIDI3LjUyNTkgMTYuNzIyNyAyNy40NzE0IDE2LjcyMjdIMjYuODY4NEMyNi44MTUxIDE2LjcyMjcgMjYuNzcwNCAxNi43NjYxIDI2Ljc3MDQgMTYuODIwN1YxNy4zNzlDMjYuNzcwNCAxNy40MjYxIDI2LjczNTYgMTcuNDY3IDI2LjY4ODUgMTcuNDc0NUMyNi4yMzMyIDE3LjU1MzkgMjUuODM1IDE3Ljc0OTkgMjUuNDk4OCAxOC4wNjAxQzI1LjEwMDUgMTguNDM3MiAyNC44OTgyIDE4Ljg4NzYgMjQuODk4MiAxOS40MDEyQzI0Ljg5ODIgMTkuODgyNiAyNS4wOTU1IDIwLjMyMTcgMjUuNDg3NSAyMC43MDYzQzI1LjgxODggMjEuMDI2NCAyNi4yMjQ1IDIxLjI0NiAyNi42OTYgMjEuMzYyNkMyNi43Mzk0IDIxLjM3MzggMjYuNzcwNCAyMS40MTIzIDI2Ljc3MDQgMjEuNDU2OVYyMy43Mjg1QzI2Ljc3MDQgMjMuNzk1NSAyNi43MDM0IDIzLjg0MjcgMjYuNjQwMSAyMy44MjE2QzI2LjQwMzEgMjMuNzQwOSAyNi4xOTcyIDIzLjYwMiAyNi4wMTg2IDIzLjQwMUMyNS43NTMxIDIzLjA5NzEgMjUuNjI0IDIyLjc1MDkgMjUuNjI0IDIyLjM0MDNWMjIuMjM2MUMyNS42MjQgMjIuMTgyNyAyNS41ODA2IDIyLjEzOCAyNS41MjYgMjIuMTM4SDI0Ljg0MTJDMjQuNzg3OCAyMi4xMzggMjQuNzQzMiAyMi4xODE1IDI0Ljc0MzIgMjIuMjM2MVYyMi4zNDAzQzI0Ljc0MzIgMjIuOTU4MSAyNC45NjAzIDIzLjUwMjcgMjUuMzg3IDIzLjk1OTNDMjUuNzQ1NiAyNC4zNDI3IDI2LjE4MjMgMjQuNTgyMSAyNi42ODk3IDI0LjY3MzlDMjYuNzM2OSAyNC42ODI2IDI2Ljc3MDQgMjQuNzIyMyAyNi43NzA0IDI0Ljc2OTRWMjUuMjk2N0MyNi43NzA0IDI1LjM1IDI2LjgxMzggMjUuMzk0NyAyNi44Njg0IDI1LjM5NDdIMjcuNDcxNEMyNy41MjQ3IDI1LjM5NDcgMjcuNTY5NCAyNS4zNTEzIDI3LjU2OTQgMjUuMjk2N1YyNC43NzE5QzI3LjU2OTQgMjQuNzIzNSAyNy42MDUzIDI0LjY4MzggMjcuNjUyNSAyNC42NzY0QzI4LjE3MzYgMjQuNTkyIDI4LjYyMzkgMjQuMzc3NCAyOC45OTIzIDI0LjAzNzVDMjkuNDQxNSAyMy42MzA1IDI5LjY2ODUgMjMuMTQ1NCAyOS42Njg1IDIyLjU5NDZDMjkuNjY4NSAyMi4wNzg1IDI5LjQ0MjcgMjEuNjIxOSAyOC45OTczIDIxLjIzNjFWMjEuMjM3M1pNMjguODI5OCAyMi41OTU4QzI4LjgyOTggMjIuOTIyMSAyOC42OTU4IDIzLjIwMTMgMjguNDIxNiAyMy40NTA2QzI4LjIxMDcgMjMuNjM2NyAyNy45NzEzIDIzLjc2NDUgMjcuNjkzNCAyMy44Mzc3QzI3LjYzMTQgMjMuODUzOCAyNy41Njk0IDIzLjgwNzkgMjcuNTY5NCAyMy43NDM0VjIxLjYxNTdDMjcuNTY5NCAyMS41NTM3IDI3LjYyNzcgMjEuNTA1MyAyNy42ODg1IDIxLjUyMDJDMjcuOTczOCAyMS41OTIyIDI4LjIyMTkgMjEuNzEyNSAyOC40MjkxIDIxLjg4QzI4LjY5OTYgMjIuMDk5NiAyOC44Mjk4IDIyLjMzNDEgMjguODI5OCAyMi41OTU4Wk0yNi4xMTAzIDIwLjA4NDhDMjUuODg4MyAxOS44NzI2IDI1Ljc4MDQgMTkuNjQ5MyAyNS43ODA0IDE5LjQwMjRDMjUuNzgwNCAxOS4xMTgzIDI1Ljg5MiAxOC44NzI3IDI2LjEyMTYgMTguNjUzMUMyNi4yNzQyIDE4LjUwNjcgMjYuNDQ2NiAxOC40MDI1IDI2LjY0MzkgMTguMzM4QzI2LjcwNzEgMTguMzE2OSAyNi43NzI5IDE4LjM2NCAyNi43NzI5IDE4LjQzMVYyMC4zMjkyQzI2Ljc3MjkgMjAuMzk4NyAyNi43MDIxIDIwLjQ0NTggMjYuNjM3NiAyMC40MTk4QzI2LjQzNTQgMjAuMzM5MSAyNi4yNjE3IDIwLjIyNzUgMjYuMTExNiAyMC4wODQ4SDI2LjExMDNaIiBmaWxsPSIjRkREOThGIi8+CiAgPHBhdGggZD0iTTI5LjE2NzQgMjEuMDY1NUMyOC43OTI4IDIwLjc0NjYgMjguMzM5OSAyMC41Mzk0IDI3LjgyMDEgMjAuNDQ2NEMyNy43NzMgMjAuNDM3NyAyNy43Mzk0IDIwLjM5OCAyNy43Mzk0IDIwLjM1MDlWMTguMjUwNUMyNy43Mzk0IDE4LjE4NDcgMjcuODAyNyAxOC4xMzg4IDI3Ljg2NiAxOC4xNTYyQzI4LjA5OCAxOC4yMjMyIDI4LjI5OSAxOC4zMzg1IDI4LjQ3MzkgMTguNTAzNUMyOC43MjMzIDE4LjczOCAyOC44NDQ5IDE5LjAwMSAyOC44NDQ5IDE5LjMwNjJWMTkuNDEwNUMyOC44NDQ5IDE5LjQ2MzggMjguODg4MyAxOS41MDg1IDI4Ljk0MjkgMTkuNTA4NUgyOS42Mjc3QzI5LjY4MSAxOS41MDg1IDI5LjcyNTcgMTkuNDY1IDI5LjcyNTcgMTkuNDEwNVYxOS4zMDYyQzI5LjcyNTcgMTguNzc5IDI5LjUxMjMgMTguMzEyNSAyOS4wOTE4IDE3LjkxOTJDMjguNzM2OSAxNy41OTQyIDI4LjMxMTQgMTcuMzg4MiAyNy44MjI2IDE3LjMwMzhDMjcuNzc1NSAxNy4yOTUyIDI3Ljc0MDcgMTcuMjU1NSAyNy43NDA3IDE3LjIwODNWMTYuNjQ4OEMyNy43NDA3IDE2LjU5NTQgMjcuNjk3MyAxNi41NTA4IDI3LjY0MjcgMTYuNTUwOEgyNy4wMzk3QzI2Ljk4NjQgMTYuNTUwOCAyNi45NDE3IDE2LjU5NDIgMjYuOTQxNyAxNi42NDg4VjE3LjIwNzFDMjYuOTQxNyAxNy4yNTQyIDI2LjkwNyAxNy4yOTUyIDI2Ljg1OTggMTcuMzAyNkMyNi40MDQ1IDE3LjM4MiAyNi4wMDYzIDE3LjU3OCAyNS42NzAxIDE3Ljg4ODJDMjUuMjcxOCAxOC4yNjUzIDI1LjA2OTYgMTguNzE1NyAyNS4wNjk2IDE5LjIyOTNDMjUuMDY5NiAxOS43MTA3IDI1LjI2NjkgMjAuMTQ5OSAyNS42NTg5IDIwLjUzNDVDMjUuOTkwMiAyMC44NTQ2IDI2LjM5NTggMjEuMDc0MSAyNi44NjczIDIxLjE5MDhDMjYuOTEwNyAyMS4yMDE5IDI2Ljk0MTcgMjEuMjQwNCAyNi45NDE3IDIxLjI4NTFWMjMuNTU2N0MyNi45NDE3IDIzLjYyMzcgMjYuODc0NyAyMy42NzA4IDI2LjgxMTQgMjMuNjQ5N0MyNi41NzQ1IDIzLjU2OTEgMjYuMzY4NiAyMy40Mjg5IDI2LjE4OTkgMjMuMjI5MUMyNS45MjQ0IDIyLjkyNTIgMjUuNzk1NCAyMi41NzkgMjUuNzk1NCAyMi4xNjg0VjIyLjA2NDJDMjUuNzk1NCAyMi4wMTA4IDI1Ljc1MTkgMjEuOTY2MiAyNS42OTczIDIxLjk2NjJIMjUuMDEyNUMyNC45NTkyIDIxLjk2NjIgMjQuOTE0NiAyMi4wMDk2IDI0LjkxNDYgMjIuMDY0MlYyMi4xNjg0QzI0LjkxNDYgMjIuNzg2MiAyNS4xMzE3IDIzLjMzMDkgMjUuNTU4NCAyMy43ODc0QzI1LjkxNyAyNC4xNzA4IDI2LjM1MzcgMjQuNDEwMiAyNi44NjExIDI0LjUwMkMyNi45MDgyIDI0LjUxMDcgMjYuOTQxNyAyNC41NTA0IDI2Ljk0MTcgMjQuNTk3NlYyNS4xMjQ4QzI2Ljk0MTcgMjUuMTc4MiAyNi45ODUyIDI1LjIyMjggMjcuMDM5NyAyNS4yMjI4SDI3LjY0MjdDMjcuNjk2IDI1LjIyMjggMjcuNzQwNyAyNS4xNzk0IDI3Ljc0MDcgMjUuMTI0OFYyNC42QzI3Ljc0MDcgMjQuNTUxNyAyNy43NzY3IDI0LjUxMiAyNy44MjM4IDI0LjUwNDVDMjguMzQ0OSAyNC40MjAxIDI4Ljc5NTMgMjQuMjA1NSAyOS4xNjM3IDIzLjg2NTZDMjkuNjEyOCAyMy40NTg3IDI5LjgzOTggMjIuOTczNiAyOS44Mzk4IDIyLjQyMjdDMjkuODM5OCAyMS45MDY2IDI5LjYxNCAyMS40NTAxIDI5LjE2ODYgMjEuMDY0MkwyOS4xNjc0IDIxLjA2NTVaTTI4Ljk5ODcgMjIuNDI1MkMyOC45OTg3IDIyLjc1MTUgMjguODY0NyAyMy4wMzA2IDI4LjU5MDUgMjMuMjhDMjguMzc5NiAyMy40NjYxIDI4LjE0MDIgMjMuNTkzOSAyNy44NjIzIDIzLjY2NzFDMjcuODAwMiAyMy42ODMyIDI3LjczODIgMjMuNjM3MyAyNy43MzgyIDIzLjU3MjhWMjEuNDQ1MUMyNy43MzgyIDIxLjM4MzEgMjcuNzk2NSAyMS4zMzQ3IDI3Ljg1NzMgMjEuMzQ5NkMyOC4xNDI3IDIxLjQyMTUgMjguMzkwOCAyMS41NDE5IDI4LjU5OCAyMS43MDk0QzI4Ljg2ODUgMjEuOTI4OSAyOC45OTg3IDIyLjE2MzQgMjguOTk4NyAyMi40MjUyWk0yNi4yNzkzIDE5LjkxMjlDMjYuMDU3MiAxOS43MDA4IDI1Ljk0OTIgMTkuNDc3NCAyNS45NDkyIDE5LjIzMDZDMjUuOTQ5MiAxOC45NDY1IDI2LjA2MDkgMTguNzAwOCAyNi4yOTA0IDE4LjQ4MTJDMjYuNDQzIDE4LjMzNDggMjYuNjE1NCAxOC4yMzA2IDI2LjgxMjcgMTguMTY2MUMyNi44NzYgMTguMTQ1IDI2Ljk0MTcgMTguMTkyMSAyNi45NDE3IDE4LjI1OTFWMjAuMTU3M0MyNi45NDE3IDIwLjIyNjggMjYuODcxIDIwLjI3MzkgMjYuODA2NSAyMC4yNDc5QzI2LjYwNDMgMjAuMTY3MiAyNi40MzA2IDIwLjA1NTYgMjYuMjgwNSAxOS45MTI5SDI2LjI3OTNaIiBmaWxsPSIjRUE5RTAxIi8+CiAgPHBhdGggZD0iTTI5LjA5NTcgMjEuMTM1OEMyOC43MjEgMjAuODE2OSAyOC4yNjgyIDIwLjYwOTcgMjcuNzQ4MyAyMC41MTY3QzI3LjcwMTIgMjAuNTA4IDI3LjY2NzcgMjAuNDY4MyAyNy42Njc3IDIwLjQyMTJWMTguMzIwOEMyNy42Njc3IDE4LjI1NSAyNy43MzEgMTguMjA5MSAyNy43OTQzIDE4LjIyNjVDMjguMDI2MyAxOC4yOTM1IDI4LjIyNzIgMTguNDA4OSAyOC40MDIyIDE4LjU3MzlDMjguNjUxNSAxOC44MDgzIDI4Ljc3MzEgMTkuMDcxNCAyOC43NzMxIDE5LjM3NjVWMTkuNDgwOEMyOC43NzMxIDE5LjUzNDEgMjguODE2NSAxOS41Nzg4IDI4Ljg3MTEgMTkuNTc4OEgyOS41NTU5QzI5LjYwOTMgMTkuNTc4OCAyOS42NTM5IDE5LjUzNTQgMjkuNjUzOSAxOS40ODA4VjE5LjM3NjVDMjkuNjUzOSAxOC44NDkzIDI5LjQ0MDYgMTguMzgyOCAyOS4wMiAxNy45ODk1QzI4LjY2NTIgMTcuNjY0NSAyOC4yMzk2IDE3LjQ1ODUgMjcuNzUwOCAxNy4zNzQyQzI3LjcwMzcgMTcuMzY1NSAyNy42Njg5IDE3LjMyNTggMjcuNjY4OSAxNy4yNzg2VjE2LjcxOTFDMjcuNjY4OSAxNi42NjU4IDI3LjYyNTUgMTYuNjIxMSAyNy41NzA5IDE2LjYyMTFIMjYuOTY4QzI2LjkxNDYgMTYuNjIxMSAyNi44NyAxNi42NjQ1IDI2Ljg3IDE2LjcxOTFWMTcuMjc3NEMyNi44NyAxNy4zMjQ1IDI2LjgzNTIgMTcuMzY1NSAyNi43ODgxIDE3LjM3MjlDMjYuMzMyNyAxNy40NTIzIDI1LjkzNDUgMTcuNjQ4MyAyNS41OTgzIDE3Ljk1ODVDMjUuMjAwMSAxOC4zMzU3IDI0Ljk5NzkgMTguNzg2IDI0Ljk5NzkgMTkuMjk5NkMyNC45OTc5IDE5Ljc4MSAyNS4xOTUxIDIwLjIyMDIgMjUuNTg3MiAyMC42MDQ4QzI1LjkxODQgMjAuOTI0OSAyNi4zMjQxIDIxLjE0NDUgMjYuNzk1NSAyMS4yNjExQzI2LjgzODkgMjEuMjcyMiAyNi44NyAyMS4zMTA3IDI2Ljg3IDIxLjM1NTRWMjMuNjI3QzI2Ljg3IDIzLjY5NCAyNi44MDMgMjMuNzQxMSAyNi43Mzk3IDIzLjcyQzI2LjUwMjggMjMuNjM5NCAyNi4yOTY4IDIzLjUwMDQgMjYuMTE4MSAyMy4yOTk0QzI1Ljg1MjYgMjIuOTk1NSAyNS43MjM2IDIyLjY0OTQgMjUuNzIzNiAyMi4yMzg3VjIyLjEzNDVDMjUuNzIzNiAyMi4wODExIDI1LjY4MDIgMjIuMDM2NSAyNS42MjU2IDIyLjAzNjVIMjQuOTQwOEMyNC44ODc0IDIyLjAzNjUgMjQuODQyOCAyMi4wNzk5IDI0Ljg0MjggMjIuMTM0NVYyMi4yMzg3QzI0Ljg0MjggMjIuODU2NSAyNS4wNTk5IDIzLjQwMTIgMjUuNDg2NyAyMy44NTc3QzI1Ljg0NTIgMjQuMjQxMSAyNi4yODE5IDI0LjQ4MDUgMjYuNzg5MyAyNC41NzIzQzI2LjgzNjUgMjQuNTgxIDI2Ljg3IDI0LjYyMDcgMjYuODcgMjQuNjY3OVYyNS4xOTUxQzI2Ljg3IDI1LjI0ODUgMjYuOTEzNCAyNS4yOTMyIDI2Ljk2OCAyNS4yOTMySDI3LjU3MDlDMjcuNjI0MyAyNS4yOTMyIDI3LjY2ODkgMjUuMjQ5NyAyNy42Njg5IDI1LjE5NTFWMjQuNjcwNEMyNy42Njg5IDI0LjYyMiAyNy43MDM2IDI0LjU4MjMgMjcuNzUyIDI0LjU3NDhDMjguMjczMSAyNC40OTA1IDI4LjcyMzUgMjQuMjc1OCAyOS4wOTIgMjMuOTM1OUMyOS41NDExIDIzLjUyOSAyOS43NjgxIDIzLjA0MzkgMjkuNzY4MSAyMi40OTNDMjkuNzY4MSAyMS45NzY5IDI5LjU0MjMgMjEuNTIwNCAyOS4wOTY5IDIxLjEzNDVMMjkuMDk1NyAyMS4xMzU4Wk0yOC45MjgyIDIyLjQ5NTVDMjguOTI4MiAyMi44MjE4IDI4Ljc5NDIgMjMuMTAwOSAyOC41MiAyMy4zNTAzQzI4LjMwOTEgMjMuNTM2NCAyOC4wNjk3IDIzLjY2NDIgMjcuNzkxOCAyMy43Mzc0QzI3LjcyOTcgMjMuNzUzNSAyNy42Njc3IDIzLjcwNzYgMjcuNjY3NyAyMy42NDMxVjIxLjUxNTRDMjcuNjY3NyAyMS40NTM0IDI3LjcyNiAyMS40MDUgMjcuNzg2OCAyMS40MTk5QzI4LjA3MjIgMjEuNDkxOCAyOC4zMjAyIDIxLjYxMjIgMjguNTI3NCAyMS43Nzk3QzI4Ljc5NzkgMjEuOTk5MyAyOC45MjgyIDIyLjIzMzcgMjguOTI4MiAyMi40OTU1Wk0yNi4yMDg3IDE5Ljk4MzJDMjUuOTg2NiAxOS43NzExIDI1Ljg3ODcgMTkuNTQ3OCAyNS44Nzg3IDE5LjMwMDlDMjUuODc4NyAxOS4wMTY4IDI1Ljk5MDMgMTguNzcxMSAyNi4yMTk4IDE4LjU1MTVDMjYuMzcyNCAxOC40MDUxIDI2LjU0NDkgMTguMzAwOSAyNi43NDIyIDE4LjIzNjRDMjYuODA1NSAxOC4yMTUzIDI2Ljg3MTIgMTguMjYyNSAyNi44NzEyIDE4LjMyOTVWMjAuMjI3NkMyNi44NzEyIDIwLjI5NzEgMjYuODAwNSAyMC4zNDQyIDI2LjczNiAyMC4zMTgyQzI2LjUzMzcgMjAuMjM3NiAyNi4zNjAxIDIwLjEyNTkgMjYuMjEgMTkuOTgzMkgyNi4yMDg3WiIgZmlsbD0iIzZCMjMwMCIvPgogIDxwYXRoIGQ9Ik0yNC4zMTMzIDI5LjIxMDlIMjIuNzY4OEMyMi41NjI4IDI5LjIxMDkgMjIuMzc1NSAyOS4yOTE2IDIyLjIzNjUgMjkuNDIxOEMyMi4wOTUxIDI5LjU1MzQgMjEuODg0MiAyOS41NTM0IDIxLjc0NCAyOS40MjE4QzIxLjYwMzggMjkuMjkxNiAyMS40MTY0IDI5LjIxMDkgMjEuMjExNyAyOS4yMTA5SDE5LjY2NzJDMTguNjI4OCAyOS4yMTA5IDE3Ljc4MDIgMzAuMDU5NSAxNy43ODAyIDMxLjA5OFYzNC42NTg2QzE3Ljc3NjQgMzQuNzMxOCAxNy43NzM5IDM0LjgwNSAxNy43NzM5IDM0Ljg3OTRDMTcuNzczOSAzNy4yMDY4IDE5LjY2MSAzOS4wOTM5IDIxLjk4ODQgMzkuMDkzOUMyNC4xODMxIDM5LjA5MzkgMjUuOTg0NSAzNy40MTY1IDI2LjE4MyAzNS4yNzM5QzI2LjE5NDIgMzUuMTkwOCAyNi4yMDE2IDM1LjEwNzcgMjYuMjAxNiAzNS4wMjIxVjMxLjA5OEMyNi4yMDE2IDMwLjA1OTUgMjUuMzUzIDI5LjIxMDkgMjQuMzE0NiAyOS4yMTA5SDI0LjMxMzNaIiBmaWxsPSIjMDM4RTAxIi8+CiAgPHBhdGggZD0iTTIzLjg4NTQgMjkuOTEwMkgyMi42MDEzQzIyLjQzMjYgMjkuOTEwMiAyMi4yNzg3IDMwLjAyMzEgMjIuMTYzMyAzMC4xNDM0QzIyLjA1MDQgMzAuMjYxMyAyMS44NTgyIDMwLjI2MTMgMjEuNzQ1MyAzMC4xNDM0QzIxLjYyOTkgMzAuMDIzMSAyMS40NzYgMjkuOTEwMiAyMS4zMDczIDI5LjkxMDJIMjAuMDIzMkMxOS4xNjEgMjkuOTEwMiAxOC40NTUxIDMwLjE5OTIgMTguNDU1MSAzMS40MTAxTDE4LjQ1NzYgMzQuNjM3QzE4LjQ1MzkgMzQuNjk3OCAxOC40NTI2IDM0Ljc1ODYgMTguNDUyNiAzNC44MjA2QzE4LjQ1MjYgMzYuNzU0OCAyMC4wMjA4IDM4LjMyMTcgMjEuOTUzNyAzOC4zMjE3QzIzLjc3NzQgMzguMzIxNyAyNS4yNzQ5IDM2LjkyNzIgMjUuNDM5OSAzNS4xNDY5QzI1LjQ0ODYgMzUuMDc4NyAyNS40NTYgMzUuMDA5MiAyNS40NTYgMzQuOTM4NUwyNS40NTM1IDMxLjQxMDFDMjUuNDUzNSAzMC4xODkzIDI0Ljc0NzYgMjkuOTEwMiAyMy44ODU0IDI5LjkxMDJaIiBmaWxsPSJ1cmwoI3BhaW50Ml9saW5lYXJfMjcyNV8xNzg1NDcpIi8+CiAgPHBhdGggZD0iTTI0LjMyMDYgMjkuMjEwOUgyMi43NzZDMjIuNTcgMjkuMjEwOSAyMi4zODI3IDI5LjI5MTYgMjIuMjQzOCAyOS40MjE4QzIyLjEwNzMgMjkuNTQ5NiAyMS44ODc3IDI5LjU0OTYgMjEuNzUxMiAyOS40MjE4QzIxLjYxMSAyOS4yOTE2IDIxLjQyMzcgMjkuMjEwOSAyMS4yMTkgMjkuMjEwOUgxOS42NzQ0QzE5LjA3MTQgMjkuMjEwOSAxOC41MzE3IDI5LjQ5ODggMTguMTg1NiAyOS45NDI5QzE4LjA3NTIgMzAuMDg0MyAxOC4xMDg3IDMwLjI5MTUgMTguMjUzOSAzMC4zOTU3QzE4LjI3NzQgMzAuNDExOSAxOC4yOTk4IDMwLjQyOTIgMTguMzIzMyAzMC40NDU0QzE4LjQ2MTEgMzAuNTQwOSAxOC42NTA5IDMwLjUxMjQgMTguNzU1MSAzMC4zODA5QzE5LjAzOTIgMzAuMDIxMSAxOS41MDY5IDI5LjkxMTkgMjAuMDMyOSAyOS45MTE5SDIxLjMxN0MyMS40ODU3IDI5LjkxMTkgMjEuNjM5NSAzMC4wMjQ4IDIxLjc1NDkgMzAuMTQ1MUMyMS44Njc4IDMwLjI2MyAyMi4wNTg5IDMwLjI2MyAyMi4xNzMgMzAuMTQ1MUMyMi4yODg0IDMwLjAyNDggMjIuNDQyMyAyOS45MTE5IDIyLjYxMSAyOS45MTE5SDIzLjg5NUMyNC40MjIzIDI5LjkxMTkgMjQuODkgMzAuMDE3NCAyNS4xNzQxIDMwLjM3ODRDMjUuMjc4MyAzMC41MTExIDI1LjQ2OTQgMzAuNTM5NyAyNS42MDcxIDMwLjQ0MjlDMjUuNjQ0MyAzMC40MTY4IDI1LjY4MTYgMzAuMzg5NSAyNS43MTg4IDMwLjM2MzVDMjUuODYzOSAzMC4yNTY4IDI1Ljg5NDkgMzAuMDQ1OSAyNS43ODA4IDI5LjkwNjlDMjUuNDM0NyAyOS40ODM5IDI0LjkwODcgMjkuMjEyMiAyNC4zMjE4IDI5LjIxMjJMMjQuMzIwNiAyOS4yMTA5WiIgZmlsbD0iIzAxNjUwMCIvPgogIDxwYXRoIGQ9Ik0yMy44ODUzIDI5LjkxMDJIMjIuNjAxM0MyMi40MzI1IDI5LjkxMDIgMjIuMjc4NyAzMC4wMjMxIDIyLjE2MzMgMzAuMTQzNEMyMi4wNTA0IDMwLjI2MTMgMjEuODU4MSAzMC4yNjEzIDIxLjc0NTIgMzAuMTQzNEMyMS42Mjk5IDMwLjAyMzEgMjEuNDc2IDI5LjkxMDIgMjEuMzA3MyAyOS45MTAySDIwLjAyMzJDMTkuNDU4NyAyOS45MTAyIDE4Ljk2MzcgMzAuMDM1NSAxOC42ODcgMzAuNDU5OEMxOS41OTM5IDMxLjAyNDIgMjAuNzI1NCAzMS4zNjA1IDIxLjk1MzYgMzEuMzYwNUMyMy4xODE5IDMxLjM2MDUgMjQuMzE0NiAzMS4wMjQyIDI1LjIyMjcgMzAuNDU4NUMyNC45NDczIDMwLjAzMTcgMjQuNDQ5OCAyOS45MTAyIDIzLjg4NTMgMjkuOTEwMloiIGZpbGw9IiMwMDk1MDAiLz4KICA8cGF0aCBkPSJNMjMuNTQ1NiAzNC4zMTA3QzIzLjIxOTMgMzQuMDMyOCAyMi44MjQ3IDMzLjg1MTYgMjIuMzczMSAzMy43NzIyQzIyLjMzMjIgMzMuNzY0OCAyMi4zMDI0IDMzLjczMDEgMjIuMzAyNCAzMy42ODkxVjMxLjg2MDRDMjIuMzAyNCAzMS44MDMzIDIyLjM1ODMgMzEuNzYyNCAyMi40MTI5IDMxLjc3ODVDMjIuNjE1MSAzMS44MzY4IDIyLjc4ODggMzEuOTM3MyAyMi45NDI2IDMyLjA4MTJDMjMuMTU5NyAzMi4yODYgMjMuMjY1MiAzMi41MTQyIDIzLjI2NTIgMzIuNzgxVjMyLjg3MTVDMjMuMjY1MiAzMi45MTg3IDIzLjMwMzYgMzIuOTU1OSAyMy4zNDk1IDMyLjk1NTlIMjMuOTQ2M0MyMy45OTM0IDMyLjk1NTkgMjQuMDMwNyAzMi45MTc0IDI0LjAzMDcgMzIuODcxNVYzMi43ODFDMjQuMDMwNyAzMi4zMjE5IDIzLjg0NTggMzEuOTE2MiAyMy40Nzg2IDMxLjU3MzhDMjMuMTY5NiAzMS4yOTEgMjIuNzk4NyAzMS4xMTExIDIyLjM3MzEgMzEuMDM3OUMyMi4zMzIyIDMxLjAzMDQgMjIuMzAyNCAzMC45OTU3IDIyLjMwMjQgMzAuOTU0N1YzMC40NjcyQzIyLjMwMjQgMzAuNDIgMjIuMjY0IDMwLjM4MjggMjIuMjE4MSAzMC4zODI4SDIxLjY5MzNDMjEuNjQ2MSAzMC4zODI4IDIxLjYwODkgMzAuNDIxMyAyMS42MDg5IDMwLjQ2NzJWMzAuOTUzNUMyMS42MDg5IDMwLjk5NTcgMjEuNTc3OSAzMS4wMjkyIDIxLjUzNyAzMS4wMzY2QzIxLjE0MTIgMzEuMTA0OSAyMC43OTM4IDMxLjI3NjEgMjAuNTAxIDMxLjU0NjVDMjAuMTUzNyAzMS44NzUzIDE5Ljk3NzUgMzIuMjY3MyAxOS45Nzc1IDMyLjcxNEMxOS45Nzc1IDMzLjEzMzMgMjAuMTQ5OSAzMy41MTU0IDIwLjQ5MTEgMzMuODUwNEMyMC43Nzg5IDM0LjEyODMgMjEuMTMyNSAzNC4zMjA2IDIxLjU0MzIgMzQuNDIyM0MyMS41ODE2IDM0LjQzMjMgMjEuNjA4OSAzNC40NjU4IDIxLjYwODkgMzQuNTA0MlYzNi40ODE4QzIxLjYwODkgMzYuNTQwMSAyMS41NTA2IDM2LjU4MSAyMS40OTYgMzYuNTYyNEMyMS4yODg4IDM2LjQ5MTcgMjEuMTEwMiAzNi4zNzAxIDIwLjk1MzggMzYuMTk2NEMyMC43MjMxIDM1LjkzMjIgMjAuNjEwMiAzNS42Mjk1IDIwLjYxMDIgMzUuMjczNFYzNS4xODI4QzIwLjYxMDIgMzUuMTM1NyAyMC41NzE4IDM1LjA5ODUgMjAuNTI1OSAzNS4wOTg1SDE5LjkyOTFDMTkuODgyIDM1LjA5ODUgMTkuODQ0NyAzNS4xMzY5IDE5Ljg0NDcgMzUuMTgyOFYzNS4yNzM0QzE5Ljg0NDcgMzUuODExOCAyMC4wMzMzIDM2LjI4NTggMjAuNDA1NSAzNi42ODI4QzIwLjcxODEgMzcuMDE2NSAyMS4wOTc4IDM3LjIyNDkgMjEuNTM5NSAzNy4zMDQzQzIxLjU4MDQgMzcuMzExOCAyMS42MTAyIDM3LjM0NjUgMjEuNjEwMiAzNy4zODc1VjM3Ljg0NjVDMjEuNjEwMiAzNy44OTM2IDIxLjY0ODYgMzcuOTMwOSAyMS42OTQ1IDM3LjkzMDlIMjIuMjE5M0MyMi4yNjY1IDM3LjkzMDkgMjIuMzAzNyAzNy44OTI0IDIyLjMwMzcgMzcuODQ2NVYzNy4zODk5QzIyLjMwMzcgMzcuMzQ3OCAyMi4zMzQ3IDM3LjMxMyAyMi4zNzU2IDM3LjMwNjhDMjIuODI5NyAzNy4yMzM2IDIzLjIyMDUgMzcuMDQ2MyAyMy41NDE5IDM2Ljc1MUMyMy45MzI3IDM2LjM5NzQgMjQuMTMxMiAzNS45NzQ0IDI0LjEzMTIgMzUuNDk0MkMyNC4xMzEyIDM1LjA0NTEgMjMuOTM1MiAzNC42NDY5IDIzLjU0NjggMzQuMzEwN0gyMy41NDU2Wk0yMy4zOTkxIDM1LjQ5M0MyMy4zOTkxIDM1Ljc3NzEgMjMuMjgyNiAzNi4wMjAzIDIzLjA0MzEgMzYuMjM3NEMyMi44NTk1IDM2LjM5OTkgMjIuNjUxIDM2LjUxMTYgMjIuNDA5MSAzNi41NzM2QzIyLjM1NDUgMzYuNTg3MiAyMi4zMDEyIDM2LjU0NzUgMjIuMzAxMiAzNi40OTE3VjM0LjYzODJDMjIuMzAxMiAzNC41ODM2IDIyLjM1MiAzNC41NDE0IDIyLjQwNDEgMzQuNTU1MUMyMi42NTM1IDM0LjYxNzEgMjIuODY5NCAzNC43MjI2IDIzLjA0OTMgMzQuODY3N0MyMy4yODM4IDM1LjA1ODggMjMuMzk3OSAzNS4yNjM1IDIzLjM5NzkgMzUuNDkxOEwyMy4zOTkxIDM1LjQ5M1pNMjEuMDMyMSAzMy4zMDdDMjAuODM4NSAzMy4xMjIxIDIwLjc0NDIgMzIuOTI3NCAyMC43NDQyIDMyLjcxMjdDMjAuNzQ0MiAzMi40NjU4IDIwLjg0MSAzMi4yNTI1IDIxLjA0MDcgMzIuMDYwMkMyMS4xNzM1IDMxLjkzMjQgMjEuMzIzNiAzMS44NDE4IDIxLjQ5NDggMzEuNzg2QzIxLjU0OTQgMzEuNzY3NCAyMS42MDc3IDMxLjgwOTUgMjEuNjA3NyAzMS44NjY2VjMzLjUyMDRDMjEuNjA3NyAzMy41ODEyIDIxLjU0NTcgMzMuNjIyMSAyMS40ODk4IDMzLjU5OThDMjEuMzEzNyAzMy41MjkxIDIxLjE2MjMgMzMuNDMyMyAyMS4wMzIxIDMzLjMwODJWMzMuMzA3WiIgZmlsbD0iIzAwNDEwMCIvPgogIDxkZWZzPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzI3MjVfMTc4NTQ3IiB4MT0iMjEuOTk5IiB5MT0iNi44NzI4NSIgeDI9IjIxLjk5OSIgeTI9IjM2Ljg3MzkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0ZEQ0EwNCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGOTdFMDEiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50MV9yYWRpYWxfMjcyNV8xNzg1NDciIGN4PSIwIiBjeT0iMCIgcj0iMSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjIuMDc3OCA4LjEwMzcpIHNjYWxlKDI3Ljk0MjkgMjcuOTQyOSkiPgogICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjRkFGQURCIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMC4yOCIgc3RvcC1jb2xvcj0iI0ZBRUY5RSIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuNTEiIHN0b3AtY29sb3I9IiNGREQ4MDUiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIwLjc3IiBzdG9wLWNvbG9yPSIjRkRCMjAxIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0Y4OEUwMyIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQyX2xpbmVhcl8yNzI1XzE3ODU0NyIgeDE9IjIxLjk0MTMiIHkxPSIyOS45NTg1IiB4Mj0iMjEuOTcxMSIgeTI9IjM4LjE1MTciIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzA4QkYwMCIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuNTEiIHN0b3AtY29sb3I9IiM4M0Y1MDciLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDRDRTAwIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KPC9zdmc+\"","/*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */\n\nconst {\n entries,\n setPrototypeOf,\n isFrozen,\n getPrototypeOf,\n getOwnPropertyDescriptor\n} = Object;\nlet {\n freeze,\n seal,\n create\n} = Object; // eslint-disable-line import/no-mutable-exports\nlet {\n apply,\n construct\n} = typeof Reflect !== 'undefined' && Reflect;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\nif (!construct) {\n construct = function construct(Func, args) {\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return construct(func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const [property, value] of entries(object)) {\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (Array.isArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n// eslint-disable-next-line unicorn/better-regex\nconst MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nconst ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\nconst TMPLIT_EXPR = seal(/\\$\\{[\\w\\W]*}/gm); // eslint-disable-line unicorn/better-regex\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n\nvar EXPRESSIONS = /*#__PURE__*/Object.freeze({\n __proto__: null,\n ARIA_ATTR: ARIA_ATTR,\n ATTR_WHITESPACE: ATTR_WHITESPACE,\n CUSTOM_ELEMENT: CUSTOM_ELEMENT,\n DATA_ATTR: DATA_ATTR,\n DOCTYPE_NAME: DOCTYPE_NAME,\n ERB_EXPR: ERB_EXPR,\n IS_ALLOWED_URI: IS_ALLOWED_URI,\n IS_SCRIPT_OR_DATA: IS_SCRIPT_OR_DATA,\n MUSTACHE_EXPR: MUSTACHE_EXPR,\n TMPLIT_EXPR: TMPLIT_EXPR\n});\n\n/* eslint-disable @typescript-eslint/indent */\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n progressingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.2.3';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let {\n document\n } = window;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n Element,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n HTMLFormElement,\n DOMParser,\n trustedTypes\n } = window;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n const {\n implementation,\n createNodeIterator,\n createDocumentFragment,\n getElementsByTagName\n } = document;\n const {\n importNode\n } = originalDocument;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n TMPLIT_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n CUSTOM_ELEMENT\n } = EXPRESSIONS;\n let {\n IS_ALLOWED_URI: IS_ALLOWED_URI$1\n } = EXPRESSIONS;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with ... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n let HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = objectHasOwnProperty(cfg, 'ALLOWED_TAGS') ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = objectHasOwnProperty(cfg, 'ALLOWED_ATTR') ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = objectHasOwnProperty(cfg, 'ALLOWED_NAMESPACES') ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = objectHasOwnProperty(cfg, 'ADD_DATA_URI_TAGS') ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = objectHasOwnProperty(cfg, 'FORBID_CONTENTS') ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = objectHasOwnProperty(cfg, 'FORBID_TAGS') ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = objectHasOwnProperty(cfg, 'FORBID_ATTR') ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n MATHML_TEXT_INTEGRATION_POINTS = cfg.MATHML_TEXT_INTEGRATION_POINTS || MATHML_TEXT_INTEGRATION_POINTS;\n HTML_INTEGRATION_POINTS = cfg.HTML_INTEGRATION_POINTS || HTML_INTEGRATION_POINTS;\n CUSTOM_ELEMENT_HANDLING = cfg.CUSTOM_ELEMENT_HANDLING || {};\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // Overwrite existing TrustedTypes policy.\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`.\n emptyHTML = trustedTypesPolicy.createHTML('');\n } else {\n // Uninitialized policy, attempt to initialize the internal dompurify policy.\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n }\n // If creating the internal policy succeeded sign internal variables.\n if (trustedTypesPolicy !== null && typeof emptyHTML === 'string') {\n emptyHTML = trustedTypesPolicy.createHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n remove(node);\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n const dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * _isClobbered\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n return element instanceof HTMLFormElement && (typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' || !(element.attributes instanceof NamedNodeMap) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function');\n };\n /**\n * Checks whether the given object is a DOM node.\n *\n * @param value object to check whether it's a DOM node\n * @return true is object is a DOM node\n */\n const _isNode = function _isNode(value) {\n return typeof Node === 'function' && value instanceof Node;\n };\n function _executeHooks(hooks, currentNode, data) {\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n const _sanitizeElements = function _sanitizeElements(currentNode) {\n let content = null;\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(/<[/\\w]/g, currentNode.data)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode) || currentNode.parentNode;\n const childNodes = getChildNodes(currentNode) || currentNode.childNodes;\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n for (let i = childCount - 1; i >= 0; --i) {\n const childClone = cloneNode(childNodes[i], true);\n childClone.__removalCount = (currentNode.__removalCount || 0) + 1;\n parentNode.insertBefore(childClone, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n }\n /* Check whether element has a valid namespace */\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(/<\\/no(script|embed|frames)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n content = currentNode.textContent;\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n content = stringReplace(content, expr, ' ');\n });\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return tagName !== 'annotation-xml' && stringMatch(tagName, CUSTOM_ELEMENT);\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const {\n attributes\n } = currentNode;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const {\n name,\n namespaceURI,\n value: attrValue\n } = attr;\n const lcName = transformCaseFunc(name);\n let value = name === 'value' ? attrValue : stringTrim(attrValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|title)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n value = stringReplace(value, expr, ' ');\n });\n }\n /* Is `value` valid for this attribute? */\n const lcTag = transformCaseFunc(currentNode.nodeName);\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Handle attributes that require Trusted Types */\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n value = trustedTypesPolicy.createHTML(value);\n break;\n }\n case 'TrustedScriptURL':\n {\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {}\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n if (typeof dirty.toString === 'function') {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n } else {\n throw typeErrorCreate('toString is not a function');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n const tagName = transformCaseFunc(dirty.nodeName);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const nodeIterator = _createNodeIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {\n serializedHTML = stringReplace(serializedHTML, expr, ' ');\n });\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint) {\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","\n\n\n\n\n","\n\n\n\n\n","import { v3 } from '@/http'\n\nexport function addInteraction(merchantId: number, surveyId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/surveys/${surveyId}/timeline/interactions`, data, axiosConfig)\n}\n\nexport function markNotificationsAsRead(merchantId: number, surveyId: number, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/surveys/${surveyId}/timeline/notifications`, {}, axiosConfig)\n}\n\nexport function markThreadAsRead(merchantId: number, surveyId: number, threadId: number, axiosConfig = {}) {\n return v3.put(`/merchants/${merchantId}/surveys/${surveyId}/timeline/threads/${threadId}`, {}, axiosConfig)\n}","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { legacy } from '@/http'\nimport { getSurveyById } from '../Surveys'\nimport type { Transaction } from '@/models/Transactions'\nimport type { LegacyResponse, LegacyTransaction } from '@/models/legacy/LegacyTransaction'\n\nexport class TransactionFacade {\n private convertToCamelCase(transaction: LegacyTransaction): Transaction {\n return {\n customerQuestionnaireId: transaction.customer_questionnaire_id,\n partnersId: transaction.partners_id,\n externalId: transaction.external_id,\n locationsId: transaction.locations_id,\n cost: transaction.cost,\n email: transaction.email,\n isDelivery: transaction.is_delivery,\n isDispatch: transaction.is_dispatch,\n dateTimeCreated: transaction.date_time_created,\n dateTimeEdited: transaction.date_time_edited,\n dateTimeOrderPlacedLocal: transaction.date_time_order_placed_local,\n dateTimeOrderCompletedLocal: transaction.date_time_order_completed_local,\n orderDurationMinutes: transaction.order_duration_minutes,\n id: transaction.id,\n deliveryPartnersId: transaction.delivery_partners_id,\n properties: transaction.properties,\n messaged: transaction.messaged,\n phoneNumber: transaction.phoneNumber,\n channelsId: transaction.channels_id,\n orderSourcesId: transaction.order_sources_id,\n fulfillmentTypesId: transaction.fulfillment_types_id,\n experienceId: transaction.experience_id,\n partners: transaction.partners,\n links: transaction._links\n }\n }\n\n async getTransaction(url: string, axiosConfig = {}): Promise<{ data: Transaction }> {\n const customerQuestionnaireIdMatch = url.match(/\\/surveys\\/(\\d+)/)\n if (!customerQuestionnaireIdMatch) {\n throw new Error('Customer questionnaire ID not found in URL')\n }\n const customerQuestionnaireId = customerQuestionnaireIdMatch[1]\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n const { data } = await getSurveyById(Number(merchantId), Number(customerQuestionnaireId), axiosConfig)\n const locationId = data.locationId\n const response = await legacy.get(\n `/v2/api/transactions?locations_id=${locationId}&customer_questionnaire_id=${customerQuestionnaireId}&expand=partners`,\n axiosConfig\n )\n\n const transformedTransactions = response.data._embedded.transactions.map((transaction) =>\n this.convertToCamelCase(transaction)\n )\n\n return {\n data: transformedTransactions[0]\n }\n }\n}\n\nexport default new TransactionFacade()\n","import TransactionFacade from './Legacy/TransactionFacade'\n\nexport function getTransaction(merchantId: number, surveyId: number, axiosConfig = {}) {\n return TransactionFacade.getTransaction(`/merchants/${merchantId}/surveys/${surveyId}/transactions`, axiosConfig)\n}\n","import { legacy } from '@/http'\nimport type { LegacyReward, LegacyRewardCustomer, LegacyRewardCustomerRequest, LegacyRewardCustomerResponse, LegacyRewardResponse } from '@/models/legacy/LegacyReward'\nimport type { Reward, RewardCustomer, RewardCustomerRequest } from '@/models/Reward'\n\nexport class RewardFacade {\n private convertRewardToCamelCase(reward: LegacyReward): Reward {\n return {\n id: reward.id,\n label: reward.label,\n description: reward.description,\n disclaimers: reward.disclaimers,\n isRedemptionRequired: reward.is_redemption_required,\n code: reward.code,\n instructions: reward.instructions,\n display: reward.display,\n showQr: reward.show_qr,\n redemptionImageUrl: reward.redemption_image_url\n }\n }\n\n private convertRewardCustomerToCamelCase(rewardCustomer: LegacyRewardCustomer): RewardCustomer {\n return {\n id: rewardCustomer.id,\n customersId: rewardCustomer.customers_id,\n merchantsId: rewardCustomer.merchants_id,\n rewardsAssignedId: rewardCustomer.rewards_assigned_id,\n customerQuestionnaireId: rewardCustomer.customer_questionnaire_id,\n rewardsId: rewardCustomer.rewards_id,\n isFlagged: rewardCustomer.is_flagged,\n isRedeemed: rewardCustomer.is_redeemed,\n amount: rewardCustomer.amount,\n latitude: rewardCustomer.latitude,\n longitude: rewardCustomer.longitude,\n dateTimeCreated: rewardCustomer.date_time_created,\n dateTimeReady: rewardCustomer.date_time_ready,\n dateTimeExpired: rewardCustomer.date_time_expired,\n dateTimeRedeemed: rewardCustomer.date_time_redeemed,\n pointsId: rewardCustomer.points_id,\n dateTimeEdited: rewardCustomer.date_time_edited,\n locationsId: rewardCustomer.locations_id,\n sourceLocationsId: rewardCustomer.source_locations_id,\n originalMerchantsId: rewardCustomer.original_merchants_id,\n originalRewardsId: rewardCustomer.original_rewards_id,\n reward: this.convertRewardToCamelCase(rewardCustomer.reward)\n }\n }\n\n private convertRewardCustomerToSnakeCase(rewardCustomer: RewardCustomerRequest): LegacyRewardCustomerRequest {\n return {\n merchants_id: rewardCustomer.merchantId,\n customers_id: rewardCustomer.customerId,\n customer_questionnaire_id: rewardCustomer.customerQuestionnaireId,\n rewards_id: rewardCustomer.rewardId,\n locations_id: rewardCustomer.locationId,\n source_locations_id: rewardCustomer.sourceLocationId,\n wait_time: rewardCustomer.waitTime,\n life_span: rewardCustomer.lifeSpan\n }\n }\n\n async getRewardsList(url: string, axiosConfig = {}): Promise<{ data: RewardCustomer[] }> {\n const customerIdMatch = url.match(/\\/customers\\/(\\d+)/)\n if (!customerIdMatch) {\n throw new Error('Customer questionnaire ID not found in URL')\n }\n const customerId = customerIdMatch[1]\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n \n const response = await legacy.get(\n `/v2/api/rewards-customers?customers_id=${customerId}&merchants_id=${merchantId}&size=-1&expand=rewards`,\n axiosConfig\n )\n \n const transformedRewards = response.data._embedded.rewards_customers.map((rewardCustomer) =>\n this.convertRewardCustomerToCamelCase(rewardCustomer)\n )\n\n return {\n data: transformedRewards\n }\n }\n\n async getMerchantRewards(url: string, axiosConfig = {}): Promise<{ data: Reward[] }> {\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n \n const response = await legacy.get(\n `/v2/api/rewards?merchants_id=${merchantId}&archived=0&size=-1`,\n axiosConfig\n )\n \n const transformedRewards = response.data._embedded.rewards.map((reward) =>\n this.convertRewardToCamelCase(reward)\n )\n\n return {\n data: transformedRewards\n }\n }\n\n addCustomerReward(url: string, data: any, axiosConfig = {}): Promise {\n let parsedData = this.convertRewardCustomerToSnakeCase(data)\n return legacy.post('/v2/api/rewards-customers', parsedData, axiosConfig)\n }\n\n\n deleteRewardFromSurvey(url: string, axiosConfig = {}): Promise {\n const surveyIdMatch = url.match(/\\/surveys\\/(\\d+)/)\n if (!surveyIdMatch) {\n throw new Error('Survey ID not found in URL')\n }\n const surveyId = surveyIdMatch[1]\n return legacy.delete(`/v2/api/rewards-customers?customer_questionnaire_id=${surveyId}`, axiosConfig)\n }\n}\n\nexport default new RewardFacade()","import { v3 } from \"@/http\";\nimport RewardFacade from \"./Legacy/RewardFacade\";\n\nexport function getRewardsList(merchantId: number, customerId: number, axiosConfig = {}) {\n return RewardFacade.getRewardsList(`/merchants/${merchantId}/customers/${customerId}/rewards`, axiosConfig)\n}\n\nexport function addCustomerReward (merchantId: number, customerId: number, data: any, axiosConfig = {}) {\n return RewardFacade.addCustomerReward(`/merchants/${merchantId}/customers/${customerId}/rewards`, data, axiosConfig)\n // return v3.post(`/merchants/${merchantId}/customers/${customerId}/rewards`, data, axiosConfig)\n}\n\nexport function getMerchantRewards (merchantId: number, axiosConfig = {}) {\n return RewardFacade.getMerchantRewards(`/merchants/${merchantId}/rewards`, axiosConfig)\n // return v3.get(`/merchants/${merchantId}/rewards`, axiosConfig)\n}\n\nexport function deleteRewardFromSurvey (merchantId: number, surveyId: number, axiosConfig = {}) {\n return RewardFacade.deleteRewardFromSurvey(`/merchants/${merchantId}/surveys/${surveyId}/rewards`, axiosConfig)\n}\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { legacy } from \"@/http\"\nimport type { AnswerResponse } from \"@/models/legacy/LegacySurvey\"\nimport type { Answer } from \"@/models/Surveys\"\n\nexport class AnswersFacade {\n async getAnswers(url: string, data: any, axiosConfig = {}): Promise<{ data: Answer[] }> {\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n const questionIdMatch = url.match(/\\/questions\\/(\\d+)/)\n if (!questionIdMatch) {\n throw new Error('Question ID not found in URL')\n }\n const questionId = questionIdMatch[1]\n\n const response = await legacy.get(`/v2/api/answers?merchants_id=${merchantId}&start=${data.start}&end=${data.end}&question_id=${questionId}`, axiosConfig)\n const transformedAnswers = this.convertAnswersToCamelCase(response.data._embedded.answers)\n return {\n data: transformedAnswers\n }\n }\n\n private convertAnswersToCamelCase(answers: AnswerResponse[]): Answer[] {\n return answers.map((answer) => ({\n id: answer.id,\n questionnaireQuestionId: answer.questionnaire_question_id,\n title: answer.title,\n weight: answer.weight,\n weightless: answer.weightless,\n dateTimeCreated: answer.date_time_created,\n dateTimeEdited: answer.date_time_edited,\n sortOrd: answer.sort_ord,\n deleted: answer.deleted\n }))\n }\n}\nexport default new AnswersFacade()","import AnswersFacade from \"@/api/Legacy/AnswersFacade\";\n\nexport function getAnswers(merchantId: number, startDate: string, endDate: string, questionId: number, axiosConfig = {}) {\n let payload = {\n start: startDate,\n end: endDate\n }\n return AnswersFacade.getAnswers(`/merchants/${merchantId}/questions/${questionId}/answers`, payload, axiosConfig)\n}\n","import { legacy } from \"@/http\"\n\n\n\nexport class DataOperationalCategoriesFacade {\n async getAnswersForQuestion(url: string, data: any, axiosConfig = {}): Promise<{ data: any[] }> {\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n const questionIdMatch = url.match(/\\/questions\\/(\\d+)/)\n if (!questionIdMatch) {\n throw new Error('Question ID not found in URL')\n }\n const questionId = questionIdMatch[1]\n const response = await legacy.get(`/v2/api/data/operationalCategories/answers-for-question?merchants_id=${merchantId}&start=${data.start}&end=${data.end}&publish_cycle=IN:0,1&question_id=IN:${questionId}`, axiosConfig)\n const transformedAnswers = this.convertAnswersToCamelCase(response.data.data)\n return {\n data: transformedAnswers\n }\n }\n\n private convertAnswersToCamelCase(answers: any[]): any[] {\n return answers.map((answer) => ({\n weight: answer.weight,\n total: answer.total,\n label: answer.label,\n answerIds: answer.answer_ids\n }))\n }\n}\n\nexport default new DataOperationalCategoriesFacade()","import DataOperationalCategoriesFacade from \"@/api/Legacy/DataOperationalCategoriesFacade\"\n\nexport const getAnswersForQuestion = (merchantId: number, questionId: number, data: any, axiosConfig = {}) => {\n return DataOperationalCategoriesFacade.getAnswersForQuestion(`/merchants/${merchantId}/questions/${questionId}/average`, data, axiosConfig)\n}\n\n","import { legacy } from \"@/http\"\n\nexport class DataQuestionsFacade {\n getQuestionsAverageById = (url: string, axiosConfig = {}) => {\n const questionnaireIdMatch = url.match(/\\/questionnaires\\/(\\d+)/)\n if (!questionnaireIdMatch) {\n throw new Error('Questionnaire ID not found in URL')\n }\n const questionnaireId = questionnaireIdMatch[1]\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n const questionIdMatch = url.match(/\\/questions\\/(\\d+)/)\n if (!questionIdMatch) {\n throw new Error('Question ID not found in URL')\n }\n const questionId = questionIdMatch[1]\n\n return legacy.get(`/v2/api/data/questions/questions_average_by_id?questionnaire_id=${questionnaireId}&merchants_id=${merchantId}&question_id=${questionId}`, axiosConfig)\n }\n \n\n async getRawResponses(url: string, data: any, axiosConfig = {}): Promise<{ data: any[] }> {\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n const questionIdMatch = url.match(/\\/questions\\/(\\d+)/)\n if (!questionIdMatch) {\n throw new Error('Question ID not found in URL')\n }\n const questionId = questionIdMatch[1]\n let search = ''\n if(data.search) {\n search = `&search=%25${data.search}%25`\n }\n let page = ''\n if(data.page) {\n page = `&page=${data.page}`\n }\n let limit = ''\n if(data.limit) {\n limit = `&limit=${data.limit}`\n }\n\n let response = await legacy.get(`/v2/api/data/tattles/raw-responses?merchants_id=${merchantId}&start=${data.start}&end=${data.end}&publish_cycle=IN:0,1&question_id=${questionId}${page}${limit}${search}`, axiosConfig)\n return {\n data: this.convertRawResponsesToCamelCase(response.data.data)\n }\n }\n\n private convertRawResponsesToCamelCase(data: any): any[] {\n return data.map((item: any) => ({\n id: item.id,\n question: item.question,\n answer: item.answer,\n weight: item.weight,\n weightless: item.weightless,\n fieldType: item.field_type,\n questionCategory: item.question_category,\n dateTimeCreated: item.date_time_created,\n dateCreated: item.date_created,\n dateTimeCreatedLocal: item.date_time_created_local,\n dateTimeExperiencedLocal: item.date_time_experienced_local,\n questionnaire: item.questionnaire,\n surveyTitle: item.survey_title,\n location: item.location,\n storeId: item.store_id,\n active: item.active,\n rating: item.rating,\n score: item.score,\n questionId: item.question_id,\n answerId: item.answer_id,\n customerQuestionnaireId: item.customer_questionnaire_id,\n customersId: item.customers_id,\n locationsId: item.locations_id,\n transPartner: item.trans_partner,\n transRef: item.trans_ref,\n transCost: item.trans_cost,\n transDuration: item.trans_duration\n }))\n }\n}\n\nexport default new DataQuestionsFacade()","import DataQuestionsFacade from \"@/api/Legacy/DataQuestionsFacade\";\n\nexport function getQuestionsAverageById(questionnaireId: number, merchantId: number, questionId: number, axiosConfig = {}) {\n return DataQuestionsFacade.getQuestionsAverageById(`/merchants/${merchantId}/questionnaires/${questionnaireId}/questions/${questionId}/average`, axiosConfig)\n}\n\n\nexport const getRawResponses = async (merchantId: number, questionId: number, data: any, axiosConfig = {}) => {\n return DataQuestionsFacade.getRawResponses(`/merchants/${merchantId}/data/questions/${questionId}/raw-responses`, data, axiosConfig)\n}","/*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported XLSX */\n/*global process:false, Buffer:false, ArrayBuffer:false, DataView:false, Deno:false */\nvar XLSX = {};\nXLSX.version = '0.20.3';\nvar current_codepage = 1200, current_ansi = 1252;\n/*:: declare var cptable:any; */\n/*global cptable:true, window */\nvar $cptable;\n\nvar VALID_ANSI = [ 874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 10000 ];\n/* ECMA-376 Part I 18.4.1 charset to codepage mapping */\nvar CS2CP = ({\n\t0: 1252, /* ANSI */\n\t1: 65001, /* DEFAULT */\n\t2: 65001, /* SYMBOL */\n\t77: 10000, /* MAC */\n\t128: 932, /* SHIFTJIS */\n\t129: 949, /* HANGUL */\n\t130: 1361, /* JOHAB */\n\t134: 936, /* GB2312 */\n\t136: 950, /* CHINESEBIG5 */\n\t161: 1253, /* GREEK */\n\t162: 1254, /* TURKISH */\n\t163: 1258, /* VIETNAMESE */\n\t177: 1255, /* HEBREW */\n\t178: 1256, /* ARABIC */\n\t186: 1257, /* BALTIC */\n\t204: 1251, /* RUSSIAN */\n\t222: 874, /* THAI */\n\t238: 1250, /* EASTEUROPE */\n\t255: 1252, /* OEM */\n\t69: 6969 /* MISC */\n}/*:any*/);\n\nvar set_ansi = function(cp/*:number*/) { if(VALID_ANSI.indexOf(cp) == -1) return; current_ansi = CS2CP[0] = cp; };\nfunction reset_ansi() { set_ansi(1252); }\n\nvar set_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\nfunction reset_cp() { set_cp(1200); reset_ansi(); }\n\nfunction char_codes(data/*:string*/)/*:Array*/ { var o/*:Array*/ = []; for(var i = 0, len = data.length; i < len; ++i) o[i] = data.charCodeAt(i); return o; }\n\nfunction utf16leread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i) + (data.charCodeAt(2*i+1)<<8));\n\treturn o.join(\"\");\n}\nfunction utf16lereadu(data/*:Uint8Array*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data[2*i] + (data[2*i+1]<<8));\n\treturn o.join(\"\");\n}\nfunction utf16beread(data/*:string*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < (data.length>>1); ++i) o[i] = String.fromCharCode(data.charCodeAt(2*i+1) + (data.charCodeAt(2*i)<<8));\n\treturn o.join(\"\");\n}\n\nvar debom = function(data/*:string*/)/*:string*/ {\n\tvar c1 = data.charCodeAt(0), c2 = data.charCodeAt(1);\n\tif(c1 == 0xFF && c2 == 0xFE) return utf16leread(data.slice(2));\n\tif(c1 == 0xFE && c2 == 0xFF) return utf16beread(data.slice(2));\n\tif(c1 == 0xFEFF) return data.slice(1);\n\treturn data;\n};\n\nvar _getchar = function _gc1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\nvar _getansi = function _ga1(x/*:number*/)/*:string*/ { return String.fromCharCode(x); };\n\nfunction set_cptable(cptable) {\n\t$cptable = cptable;\n\tset_cp = function(cp/*:number*/) { current_codepage = cp; set_ansi(cp); };\n\tdebom = function(data/*:string*/) {\n\t\tif(data.charCodeAt(0) === 0xFF && data.charCodeAt(1) === 0xFE) { return $cptable.utils.decode(1200, char_codes(data.slice(2))); }\n\t\treturn data;\n\t};\n\t_getchar = function _gc2(x/*:number*/)/*:string*/ {\n\t\tif(current_codepage === 1200) return String.fromCharCode(x);\n\t\treturn $cptable.utils.decode(current_codepage, [x&255,x>>8])[0];\n\t};\n\t_getansi = function _ga2(x/*:number*/)/*:string*/ {\n\t\treturn $cptable.utils.decode(current_ansi, [x])[0];\n\t};\n\tcpdoit();\n}\nvar DENSE = null;\nvar DIF_XL = true;\nvar Base64_map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\nfunction Base64_encode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_encode_pass(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input.charCodeAt(i++);\n if (c1 > 255)\n c1 = 95;\n e1 = c1 >> 2;\n c2 = input.charCodeAt(i++);\n if (c2 > 255)\n c2 = 95;\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input.charCodeAt(i++);\n if (c3 > 255)\n c3 = 95;\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_encode_arr(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n for (var i = 0; i < input.length; ) {\n c1 = input[i++];\n e1 = c1 >> 2;\n c2 = input[i++];\n e2 = (c1 & 3) << 4 | c2 >> 4;\n c3 = input[i++];\n e3 = (c2 & 15) << 2 | c3 >> 6;\n e4 = c3 & 63;\n if (isNaN(c2)) {\n e3 = e4 = 64;\n } else if (isNaN(c3)) {\n e4 = 64;\n }\n o += Base64_map.charAt(e1) + Base64_map.charAt(e2) + Base64_map.charAt(e3) + Base64_map.charAt(e4);\n }\n return o;\n}\nfunction Base64_decode(input) {\n var o = \"\";\n var c1 = 0, c2 = 0, c3 = 0, e1 = 0, e2 = 0, e3 = 0, e4 = 0;\n if (input.slice(0, 5) == \"data:\") {\n var i = input.slice(0, 1024).indexOf(\";base64,\");\n if (i > -1)\n input = input.slice(i + 8);\n }\n input = input.replace(/[^\\w\\+\\/\\=]/g, \"\");\n for (var i = 0; i < input.length; ) {\n e1 = Base64_map.indexOf(input.charAt(i++));\n e2 = Base64_map.indexOf(input.charAt(i++));\n c1 = e1 << 2 | e2 >> 4;\n o += String.fromCharCode(c1);\n e3 = Base64_map.indexOf(input.charAt(i++));\n c2 = (e2 & 15) << 4 | e3 >> 2;\n if (e3 !== 64) {\n o += String.fromCharCode(c2);\n }\n e4 = Base64_map.indexOf(input.charAt(i++));\n c3 = (e3 & 3) << 6 | e4;\n if (e4 !== 64) {\n o += String.fromCharCode(c3);\n }\n }\n return o;\n}\nvar has_buf = /*#__PURE__*/(function() { return typeof Buffer !== 'undefined' && typeof process !== 'undefined' && typeof process.versions !== 'undefined' && !!process.versions.node; })();\n\nvar Buffer_from = /*#__PURE__*/(function() {\n\tif(typeof Buffer !== 'undefined') {\n\t\tvar nbfs = !Buffer.from;\n\t\tif(!nbfs) try { Buffer.from(\"foo\", \"utf8\"); } catch(e) { nbfs = true; }\n\t\treturn nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);\n\t}\n\treturn function() {};\n})();\nvar buf_utf16le = /*#__PURE__*/(function() {\n\tif(typeof Buffer === 'undefined') return false;\n\tvar x = Buffer_from([65,0]);\n\tif(!x) return false;\n\tvar o = x.toString(\"utf16le\");\n\treturn o.length == 1;\n})();\n\n\nfunction new_raw_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.alloc ? Buffer.alloc(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nfunction new_unsafe_buf(len/*:number*/) {\n\t/* jshint -W056 */\n\tif(has_buf) return Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : new Buffer(len);\n\treturn typeof Uint8Array != \"undefined\" ? new Uint8Array(len) : new Array(len);\n\t/* jshint +W056 */\n}\n\nvar s2a = function s2a(s/*:string*/)/*:any*/ {\n\tif(has_buf) return Buffer_from(s, \"binary\");\n\treturn s.split(\"\").map(function(x/*:string*/)/*:number*/{ return x.charCodeAt(0) & 0xff; });\n};\n\nfunction s2ab(s/*:string*/)/*:any*/ {\n\tif(typeof ArrayBuffer === 'undefined') return s2a(s);\n\tvar buf = new ArrayBuffer(s.length), view = new Uint8Array(buf);\n\tfor (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n\treturn buf;\n}\n\nfunction a2s(data/*:any*/)/*:string*/ {\n\tif(Array.isArray(data)) return data.map(function(c) { return String.fromCharCode(c); }).join(\"\");\n\tvar o/*:Array*/ = []; for(var i = 0; i < data.length; ++i) o[i] = String.fromCharCode(data[i]); return o.join(\"\");\n}\n\nfunction a2u(data/*:Array*/)/*:Uint8Array*/ {\n\tif(typeof Uint8Array === 'undefined') throw new Error(\"Unsupported\");\n\treturn new Uint8Array(data);\n}\n\nfunction ab2a(data/*:ArrayBuffer|Uint8Array*/)/*:Array*/ {\n\tif(typeof ArrayBuffer == 'undefined') throw new Error(\"Unsupported\");\n\tif(data instanceof ArrayBuffer) return ab2a(new Uint8Array(data));\n\t/*:: if(data instanceof ArrayBuffer) throw new Error(\"unreachable\"); */\n\tvar o = new Array(data.length);\n\tfor(var i = 0; i < data.length; ++i) o[i] = data[i];\n\treturn o;\n}\n\nvar bconcat = has_buf ? function(bufs) { return Buffer.concat(bufs.map(function(buf) { return Buffer.isBuffer(buf) ? buf : Buffer_from(buf); })); } : function(bufs) {\n\tif(typeof Uint8Array !== \"undefined\") {\n\t\tvar i = 0, maxlen = 0;\n\t\tfor(i = 0; i < bufs.length; ++i) maxlen += bufs[i].length;\n\t\tvar o = new Uint8Array(maxlen);\n\t\tvar len = 0;\n\t\tfor(i = 0, maxlen = 0; i < bufs.length; maxlen += len, ++i) {\n\t\t\tlen = bufs[i].length;\n\t\t\tif(bufs[i] instanceof Uint8Array) o.set(bufs[i], maxlen);\n\t\t\telse if(typeof bufs[i] == \"string\") o.set(new Uint8Array(s2a(bufs[i])), maxlen);\n\t\t\telse o.set(new Uint8Array(bufs[i]), maxlen);\n\t\t}\n\t\treturn o;\n\t}\n\treturn [].concat.apply([], bufs.map(function(buf) { return Array.isArray(buf) ? buf : [].slice.call(buf); }));\n};\n\nfunction utf8decode(content/*:string*/) {\n\tvar out = [], widx = 0, L = content.length + 250;\n\tvar o = new_raw_buf(content.length + 255);\n\tfor(var ridx = 0; ridx < content.length; ++ridx) {\n\t\tvar c = content.charCodeAt(ridx);\n\t\tif(c < 0x80) o[widx++] = c;\n\t\telse if(c < 0x800) {\n\t\t\to[widx++] = (192|((c>>6)&31));\n\t\t\to[widx++] = (128|(c&63));\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64;\n\t\t\tvar d = content.charCodeAt(++ridx)&1023;\n\t\t\to[widx++] = (240|((c>>8)&7));\n\t\t\to[widx++] = (128|((c>>2)&63));\n\t\t\to[widx++] = (128|((d>>6)&15)|((c&3)<<4));\n\t\t\to[widx++] = (128|(d&63));\n\t\t} else {\n\t\t\to[widx++] = (224|((c>>12)&15));\n\t\t\to[widx++] = (128|((c>>6)&63));\n\t\t\to[widx++] = (128|(c&63));\n\t\t}\n\t\tif(widx > L) {\n\t\t\tout.push(o.slice(0, widx));\n\t\t\twidx = 0;\n\t\t\to = new_raw_buf(65535);\n\t\t\tL = 65530;\n\t\t}\n\t}\n\tout.push(o.slice(0, widx));\n\treturn bconcat(out);\n}\n\nvar chr0 = /\\u0000/g, chr1 = /[\\u0001-\\u0006]/g;\n/*::\ndeclare type Block = any;\ndeclare type BufArray = {\n\tnewblk(sz:number):Block;\n\tnext(sz:number):Block;\n\tend():any;\n\tpush(buf:Block):void;\n};\n\ntype RecordHopperCB = {(d:any, Rn:string, RT:number):?boolean;};\n\ntype EvertType = {[string]:string};\ntype EvertNumType = {[string]:number};\ntype EvertArrType = {[string]:Array};\n\ntype StringConv = {(string):string};\n\n*/\n/* ssf.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/*jshint -W041 */\nfunction _strrev(x/*:string*/)/*:string*/ { var o = \"\", i = x.length-1; while(i>=0) o += x.charAt(i--); return o; }\nfunction pad0(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v;return t.length>=d?t:fill(' ',d-t.length)+t;}\nfunction rpad_(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:t+fill(' ',d-t.length);}\nfunction pad0r1(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+Math.round(v); return t.length>=d?t:fill('0',d-t.length)+t;}\nfunction pad0r2(v/*:any*/,d/*:number*/)/*:string*/{var t=\"\"+v; return t.length>=d?t:fill('0',d-t.length)+t;}\nvar p2_32 = /*#__PURE__*/Math.pow(2,32);\nfunction pad0r(v/*:any*/,d/*:number*/)/*:string*/{if(v>p2_32||v<-p2_32) return pad0r1(v,d); var i = Math.round(v); return pad0r2(i,d); }\n/* yes, in 2022 this is still faster than string compare */\nfunction SSF_isgeneral(s/*:string*/, i/*:?number*/)/*:boolean*/ { i = i || 0; return s.length >= 7 + i && (s.charCodeAt(i)|32) === 103 && (s.charCodeAt(i+1)|32) === 101 && (s.charCodeAt(i+2)|32) === 110 && (s.charCodeAt(i+3)|32) === 101 && (s.charCodeAt(i+4)|32) === 114 && (s.charCodeAt(i+5)|32) === 97 && (s.charCodeAt(i+6)|32) === 108; }\nvar days/*:Array >*/ = [\n\t['Sun', 'Sunday'],\n\t['Mon', 'Monday'],\n\t['Tue', 'Tuesday'],\n\t['Wed', 'Wednesday'],\n\t['Thu', 'Thursday'],\n\t['Fri', 'Friday'],\n\t['Sat', 'Saturday']\n];\nvar months/*:Array >*/ = [\n\t['J', 'Jan', 'January'],\n\t['F', 'Feb', 'February'],\n\t['M', 'Mar', 'March'],\n\t['A', 'Apr', 'April'],\n\t['M', 'May', 'May'],\n\t['J', 'Jun', 'June'],\n\t['J', 'Jul', 'July'],\n\t['A', 'Aug', 'August'],\n\t['S', 'Sep', 'September'],\n\t['O', 'Oct', 'October'],\n\t['N', 'Nov', 'November'],\n\t['D', 'Dec', 'December']\n];\nfunction SSF_init_table(t/*:any*/) {\n\tif(!t) t = {};\n\tt[0]= 'General';\n\tt[1]= '0';\n\tt[2]= '0.00';\n\tt[3]= '#,##0';\n\tt[4]= '#,##0.00';\n\tt[9]= '0%';\n\tt[10]= '0.00%';\n\tt[11]= '0.00E+00';\n\tt[12]= '# ?/?';\n\tt[13]= '# ??/??';\n\tt[14]= 'm/d/yy';\n\tt[15]= 'd-mmm-yy';\n\tt[16]= 'd-mmm';\n\tt[17]= 'mmm-yy';\n\tt[18]= 'h:mm AM/PM';\n\tt[19]= 'h:mm:ss AM/PM';\n\tt[20]= 'h:mm';\n\tt[21]= 'h:mm:ss';\n\tt[22]= 'm/d/yy h:mm';\n\tt[37]= '#,##0 ;(#,##0)';\n\tt[38]= '#,##0 ;[Red](#,##0)';\n\tt[39]= '#,##0.00;(#,##0.00)';\n\tt[40]= '#,##0.00;[Red](#,##0.00)';\n\tt[45]= 'mm:ss';\n\tt[46]= '[h]:mm:ss';\n\tt[47]= 'mmss.0';\n\tt[48]= '##0.0E+0';\n\tt[49]= '@';\n\tt[56]= '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"';\n\treturn t;\n}\n/* repeated to satiate webpack */\nvar table_fmt = {\n\t0: 'General',\n\t1: '0',\n\t2: '0.00',\n\t3: '#,##0',\n\t4: '#,##0.00',\n\t9: '0%',\n\t10: '0.00%',\n\t11: '0.00E+00',\n\t12: '# ?/?',\n\t13: '# ??/??',\n\t14: 'm/d/yy',\n\t15: 'd-mmm-yy',\n\t16: 'd-mmm',\n\t17: 'mmm-yy',\n\t18: 'h:mm AM/PM',\n\t19: 'h:mm:ss AM/PM',\n\t20: 'h:mm',\n\t21: 'h:mm:ss',\n\t22: 'm/d/yy h:mm',\n\t37: '#,##0 ;(#,##0)',\n\t38: '#,##0 ;[Red](#,##0)',\n\t39: '#,##0.00;(#,##0.00)',\n\t40: '#,##0.00;[Red](#,##0.00)',\n\t45: 'mm:ss',\n\t46: '[h]:mm:ss',\n\t47: 'mmss.0',\n\t48: '##0.0E+0',\n\t49: '@',\n\t56: '\"上午/下午 \"hh\"時\"mm\"分\"ss\"秒 \"'\n};\n\n/* Defaults determined by systematically testing in Excel 2019 */\n\n/* These formats appear to default to other formats in the table */\nvar SSF_default_map = {\n\t5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40\n\n\t23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0\n\n\t27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14\n\n\t50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14\n\t55: 14, 56: 14, 57: 14, 58: 14,\n\t59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4\n\n\t67: 9, 68: 10, // 67 -> 9 ... 68 -> 10\n\t69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14\n\t72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17\n\t76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22\n\t79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47\n\t82: 0 // 82 -> 0 ... 65536 -> 0 (omitted)\n};\n\n\n/* These formats technically refer to Accounting formats with no equivalent */\nvar SSF_default_str = {\n\t// 5 -- Currency, 0 decimal, black negative\n\t5: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t63: '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\n\t// 6 -- Currency, 0 decimal, red negative\n\t6: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t64: '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\n\t// 7 -- Currency, 2 decimal, black negative\n\t7: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t65: '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 8 -- Currency, 2 decimal, red negative\n\t8: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t66: '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\n\t// 41 -- Accounting, 0 decimal, No Symbol\n\t41: '_(* #,##0_);_(* \\\\(#,##0\\\\);_(* \"-\"_);_(@_)',\n\n\t// 42 -- Accounting, 0 decimal, $ Symbol\n\t42: '_(\"$\"* #,##0_);_(\"$\"* \\\\(#,##0\\\\);_(\"$\"* \"-\"_);_(@_)',\n\n\t// 43 -- Accounting, 2 decimal, No Symbol\n\t43: '_(* #,##0.00_);_(* \\\\(#,##0.00\\\\);_(* \"-\"??_);_(@_)',\n\n\t// 44 -- Accounting, 2 decimal, $ Symbol\n\t44: '_(\"$\"* #,##0.00_);_(\"$\"* \\\\(#,##0.00\\\\);_(\"$\"* \"-\"??_);_(@_)'\n};\n\nfunction SSF_frac(x/*:number*/, D/*:number*/, mixed/*:?boolean*/)/*:Array*/ {\n\tvar sgn = x < 0 ? -1 : 1;\n\tvar B = x * sgn;\n\tvar P_2 = 0, P_1 = 1, P = 0;\n\tvar Q_2 = 1, Q_1 = 0, Q = 0;\n\tvar A = Math.floor(B);\n\twhile(Q_1 < D) {\n\t\tA = Math.floor(B);\n\t\tP = A * P_1 + P_2;\n\t\tQ = A * Q_1 + Q_2;\n\t\tif((B - A) < 0.00000005) break;\n\t\tB = 1 / (B - A);\n\t\tP_2 = P_1; P_1 = P;\n\t\tQ_2 = Q_1; Q_1 = Q;\n\t}\n\tif(Q > D) { if(Q_1 > D) { Q = Q_2; P = P_2; } else { Q = Q_1; P = P_1; } }\n\tif(!mixed) return [0, sgn * P, Q];\n\tvar q = Math.floor(sgn * P/Q);\n\treturn [q, sgn*P - q*Q, Q];\n}\nfunction SSF_normalize_xl_unsafe(v/*:number*/)/*:number*/ {\n\tvar s = v.toPrecision(16);\n\tif(s.indexOf(\"e\") > -1) {\n\t\tvar m = s.slice(0, s.indexOf(\"e\"));\n\t\tm = m.indexOf(\".\") > -1 ? m.slice(0, (m.slice(0,2) == \"0.\" ? 17 : 16)) : (m.slice(0,15) + fill(\"0\", m.length - 15));\n\t\treturn m + s.slice(s.indexOf(\"e\"));\n\t}\n\tvar n = s.indexOf(\".\") > -1 ? s.slice(0, (s.slice(0,2) == \"0.\" ? 17 : 16)) : (s.slice(0,15) + fill(\"0\", s.length - 15));\n\treturn Number(n);\n}\n\nfunction SSF_parse_date_code(v/*:number*/,opts/*:?any*/,b2/*:?boolean*/) {\n\tif(v > 2958465 || v < 0) return null;\n\tv = SSF_normalize_xl_unsafe(v);\n\tvar date = (v|0), time = Math.floor(86400 * (v - date)), dow=0;\n\tvar dout=[];\n\tvar out={D:date, T:time, u:86400*(v-date)-time,y:0,m:0,d:0,H:0,M:0,S:0,q:0};\n\tif(Math.abs(out.u) < 1e-6) out.u = 0;\n\tif(opts && opts.date1904) date += 1462;\n\tif(out.u > 0.9999) {\n\t\tout.u = 0;\n\t\tif(++time == 86400) { out.T = time = 0; ++date; ++out.D; }\n\t}\n\tif(date === 60) {dout = b2 ? [1317,10,29] : [1900,2,29]; dow=3;}\n\telse if(date === 0) {dout = b2 ? [1317,8,29] : [1900,1,0]; dow=6;}\n\telse {\n\t\tif(date > 60) --date;\n\t\t/* 1 = Jan 1 1900 in Gregorian */\n\t\tvar d = new Date(1900, 0, 1);\n\t\td.setDate(d.getDate() + date - 1);\n\t\tdout = [d.getFullYear(), d.getMonth()+1,d.getDate()];\n\t\tdow = d.getDay();\n\t\tif(date < 60) dow = (dow + 6) % 7;\n\t\tif(b2) dow = SSF_fix_hijri(d, dout);\n\t}\n\tout.y = dout[0]; out.m = dout[1]; out.d = dout[2];\n\tout.S = time % 60; time = Math.floor(time / 60);\n\tout.M = time % 60; time = Math.floor(time / 60);\n\tout.H = time;\n\tout.q = dow;\n\treturn out;\n}\n/* ECMA-376 18.8.30 numFmt*/\n/* Note: `toPrecision` uses standard form when prec > E and E >= -6 */\n/* exponent >= -9 and <= 9 */\nfunction SSF_strip_decimal(o/*:string*/)/*:string*/ {\n\treturn (o.indexOf(\".\") == -1) ? o : o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)$/, \"$1\");\n}\n\n/* General Exponential always shows 2 digits exp and trims the mantissa */\nfunction SSF_normalize_exp(o/*:string*/)/*:string*/ {\n\tif(o.indexOf(\"E\") == -1) return o;\n\treturn o.replace(/(?:\\.0*|(\\.\\d*[1-9])0+)[Ee]/,\"$1E\").replace(/(E[+-])(\\d)$/,\"$10$2\");\n}\n\n/* exponent >= -9 and <= 9 */\nfunction SSF_small_exp(v/*:number*/)/*:string*/ {\n\tvar w = (v<0?12:11);\n\tvar o = SSF_strip_decimal(v.toFixed(12)); if(o.length <= w) return o;\n\to = v.toPrecision(10); if(o.length <= w) return o;\n\treturn v.toExponential(5);\n}\n\n/* exponent >= 11 or <= -10 likely exponential */\nfunction SSF_large_exp(v/*:number*/)/*:string*/ {\n\tvar o = SSF_strip_decimal(v.toFixed(11));\n\treturn (o.length > (v<0?12:11) || o === \"0\" || o === \"-0\") ? v.toPrecision(6) : o;\n}\n\nfunction SSF_general_num(v/*:number*/)/*:string*/ {\n\tif(!isFinite(v)) return isNaN(v) ? \"#NUM!\" : \"#DIV/0!\";\n\tvar V = Math.floor(Math.log(Math.abs(v))*Math.LOG10E), o;\n\n\tif(V >= -4 && V <= -1) o = v.toPrecision(10+V);\n\telse if(Math.abs(V) <= 9) o = SSF_small_exp(v);\n\telse if(V === 10) o = v.toFixed(10).substr(0,12);\n\telse o = SSF_large_exp(v);\n\n\treturn SSF_strip_decimal(SSF_normalize_exp(o.toUpperCase()));\n}\n\n\n/*\n\t\"General\" rules:\n\t- text is passed through (\"@\")\n\t- booleans are rendered as TRUE/FALSE\n\t- \"up to 11 characters\" displayed for numbers\n\t- Default date format (code 14) used for Dates\n\n\tThe longest 32-bit integer text is \"-2147483648\", exactly 11 chars\n\tTODO: technically the display depends on the width of the cell\n*/\nfunction SSF_general(v/*:any*/, opts/*:any*/) {\n\tswitch(typeof v) {\n\t\tcase 'string': return v;\n\t\tcase 'boolean': return v ? \"TRUE\" : \"FALSE\";\n\t\tcase 'number': return (v|0) === v ? v.toString(10) : SSF_general_num(v);\n\t\tcase 'undefined': return \"\";\n\t\tcase 'object':\n\t\t\tif(v == null) return \"\";\n\t\t\tif(v instanceof Date) return SSF_format(14, datenum(v, opts && opts.date1904), opts);\n\t}\n\tthrow new Error(\"unsupported value in General format: \" + v);\n}\n\nfunction SSF_fix_hijri(date/*:Date*/, o/*:[number, number, number]*/) {\n /* TODO: properly adjust y/m/d and */\n o[0] -= 581;\n var dow = date.getDay();\n if(date < 60) dow = (dow + 6) % 7;\n return dow;\n}\n//var THAI_DIGITS = \"\\u0E50\\u0E51\\u0E52\\u0E53\\u0E54\\u0E55\\u0E56\\u0E57\\u0E58\\u0E59\".split(\"\");\nfunction SSF_write_date(type/*:number*/, fmt/*:string*/, val, ss0/*:?number*/)/*:string*/ {\n\tvar o=\"\", ss=0, tt=0, y = val.y, out, outl = 0;\n\tswitch(type) {\n\t\tcase 98: /* 'b' buddhist year */\n\t\t\ty = val.y + 543;\n\t\t\t/* falls through */\n\t\tcase 121: /* 'y' year */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = y % 100; outl = 2; break;\n\t\t\tdefault: out = y % 10000; outl = 4; break;\n\t\t} break;\n\t\tcase 109: /* 'm' month */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.m; outl = fmt.length; break;\n\t\t\tcase 3: return months[val.m-1][1];\n\t\t\tcase 5: return months[val.m-1][0];\n\t\t\tdefault: return months[val.m-1][2];\n\t\t} break;\n\t\tcase 100: /* 'd' day */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.d; outl = fmt.length; break;\n\t\t\tcase 3: return days[val.q][0];\n\t\t\tdefault: return days[val.q][1];\n\t\t} break;\n\t\tcase 104: /* 'h' 12-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = 1+(val.H+11)%12; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 72: /* 'H' 24-hour */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.H; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad hour format: ' + fmt;\n\t\t} break;\n\t\tcase 77: /* 'M' minutes */\n\t\tswitch(fmt.length) {\n\t\t\tcase 1: case 2: out = val.M; outl = fmt.length; break;\n\t\t\tdefault: throw 'bad minute format: ' + fmt;\n\t\t} break;\n\t\tcase 115: /* 's' seconds */\n\t\t\tif(fmt != 's' && fmt != 'ss' && fmt != '.0' && fmt != '.00' && fmt != '.000') throw 'bad second format: ' + fmt;\n\t\t\tif(val.u === 0 && (fmt == \"s\" || fmt == \"ss\")) return pad0(val.S, fmt.length);\n\t\t\t/*::if(!ss0) ss0 = 0; */\n\t\t\tif(ss0 >= 2) tt = ss0 === 3 ? 1000 : 100;\n\t\t\telse tt = ss0 === 1 ? 10 : 1;\n\t\t\tss = Math.round((tt)*(val.S + val.u));\n\t\t\tif(ss >= 60*tt) ss = 0;\n\t\t\tif(fmt === 's') return ss === 0 ? \"0\" : \"\"+ss/tt;\n\t\t\to = pad0(ss,2 + ss0);\n\t\t\tif(fmt === 'ss') return o.substr(0,2);\n\t\t\treturn \".\" + o.substr(2,fmt.length-1);\n\t\tcase 90: /* 'Z' absolute time */\n\t\tswitch(fmt) {\n\t\t\tcase '[h]': case '[hh]': out = val.D*24+val.H; break;\n\t\t\tcase '[m]': case '[mm]': out = (val.D*24+val.H)*60+val.M; break;\n\t\t\tcase '[s]': case '[ss]': out = ((val.D*24+val.H)*60+val.M)*60+(ss0 == 0 ? Math.round(val.S+val.u) : val.S); break;\n\t\t\tdefault: throw 'bad abstime format: ' + fmt;\n\t\t} outl = fmt.length === 3 ? 1 : 2; break;\n\t\tcase 101: /* 'e' era */\n\t\t\tout = y; outl = 1; break;\n\t}\n\tvar outstr = outl > 0 ? pad0(out, outl) : \"\";\n\treturn outstr;\n}\n\n\n/*jshint -W086 */\n/*jshint +W086 */\nfunction commaify(s/*:string*/)/*:string*/ {\n\tvar w = 3;\n\tif(s.length <= w) return s;\n\tvar j = (s.length % w), o = s.substr(0,j);\n\tfor(; j!=s.length; j+=w) o+=(o.length > 0 ? \",\" : \"\") + s.substr(j,w);\n\treturn o;\n}\nvar pct1 = /%/g;\nfunction write_num_pct(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar sfmt = fmt.replace(pct1,\"\"), mul = fmt.length - sfmt.length;\n\treturn write_num(type, sfmt, val * Math.pow(10,2*mul)) + fill(\"%\",mul);\n}\n\nfunction write_num_cm(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar idx = fmt.length - 1;\n\twhile(fmt.charCodeAt(idx-1) === 44) --idx;\n\treturn write_num(type, fmt.substr(0,idx), val / Math.pow(10,3*(fmt.length-idx)));\n}\n\nfunction write_num_exp(fmt/*:string*/, val/*:number*/)/*:string*/{\n\tvar o/*:string*/;\n\tvar idx = fmt.indexOf(\"E\") - fmt.indexOf(\".\") - 1;\n\tif(fmt.match(/^#+0.0E\\+0$/)) {\n\t\tif(val == 0) return \"0.0E+0\";\n\t\telse if(val < 0) return \"-\" + write_num_exp(fmt, -val);\n\t\tvar period = fmt.indexOf(\".\"); if(period === -1) period=fmt.indexOf('E');\n\t\tvar ee = Math.floor(Math.log(val)*Math.LOG10E)%period;\n\t\tif(ee < 0) ee += period;\n\t\to = (val/Math.pow(10,ee)).toPrecision(idx+1+(period+ee)%period);\n\t\tif(o.indexOf(\"e\") === -1) {\n\t\t\tvar fakee = Math.floor(Math.log(val)*Math.LOG10E);\n\t\t\tif(o.indexOf(\".\") === -1) o = o.charAt(0) + \".\" + o.substr(1) + \"E+\" + (fakee - o.length+ee);\n\t\t\telse o += \"E+\" + (fakee - ee);\n\t\t\twhile(o.substr(0,2) === \"0.\") {\n\t\t\t\to = o.charAt(0) + o.substr(2,period) + \".\" + o.substr(2+period);\n\t\t\t\to = o.replace(/^0+([1-9])/,\"$1\").replace(/^0+\\./,\"0.\");\n\t\t\t}\n\t\t\to = o.replace(/\\+-/,\"-\");\n\t\t}\n\t\to = o.replace(/^([+-]?)(\\d*)\\.(\\d*)[Ee]/,function($$,$1,$2,$3) { return $1 + $2 + $3.substr(0,(period+ee)%period) + \".\" + $3.substr(ee) + \"E\"; });\n\t} else o = val.toExponential(idx);\n\tif(fmt.match(/E\\+00$/) && o.match(/e[+-]\\d$/)) o = o.substr(0,o.length-1) + \"0\" + o.charAt(o.length-1);\n\tif(fmt.match(/E\\-/) && o.match(/e\\+/)) o = o.replace(/e\\+/,\"e\");\n\treturn o.replace(\"e\",\"E\");\n}\nvar frac1 = /# (\\?+)( ?)\\/( ?)(\\d+)/;\nfunction write_num_f1(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\tvar den = parseInt(r[4],10), rr = Math.round(aval * den), base = Math.floor(rr/den);\n\tvar myn = (rr - base*den), myd = den;\n\treturn sign + (base === 0 ? \"\" : \"\"+base) + \" \" + (myn === 0 ? fill(\" \", r[1].length + 1 + r[4].length) : pad_(myn,r[1].length) + r[2] + \"/\" + r[3] + pad0(myd,r[4].length));\n}\nfunction write_num_f2(r/*:Array*/, aval/*:number*/, sign/*:string*/)/*:string*/ {\n\treturn sign + (aval === 0 ? \"\" : \"\"+aval) + fill(\" \", r[1].length + 2 + r[4].length);\n}\nvar dec1 = /^#*0*\\.([0#]+)/;\nvar closeparen = /\\)[^)]*[0#]/;\nvar phone = /\\(###\\) ###\\\\?-####/;\nfunction hashq(str/*:string*/)/*:string*/ {\n\tvar o = \"\", cc;\n\tfor(var i = 0; i != str.length; ++i) switch((cc=str.charCodeAt(i))) {\n\t\tcase 35: break;\n\t\tcase 63: o+= \" \"; break;\n\t\tcase 48: o+= \"0\"; break;\n\t\tdefault: o+= String.fromCharCode(cc);\n\t}\n\treturn o;\n}\nfunction rnd(val/*:number*/, d/*:number*/)/*:string*/ { var dd = Math.pow(10,d); return \"\"+(Math.round(val * dd)/dd); }\nfunction dec(val/*:number*/, d/*:number*/)/*:number*/ {\n\tvar _frac = val - Math.floor(val), dd = Math.pow(10,d);\n\tif (d < ('' + Math.round(_frac * dd)).length) return 0;\n\treturn Math.round(_frac * dd);\n}\nfunction carry(val/*:number*/, d/*:number*/)/*:number*/ {\n\tif (d < ('' + Math.round((val-Math.floor(val))*Math.pow(10,d))).length) {\n\t\treturn 1;\n\t}\n\treturn 0;\n}\nfunction flr(val/*:number*/)/*:string*/ {\n\tif(val < 2147483647 && val > -2147483648) return \"\"+(val >= 0 ? (val|0) : (val-1|0));\n\treturn \"\"+Math.floor(val);\n}\nfunction write_num_flt(type/*:string*/, fmt/*:string*/, val/*:number*/)/*:string*/ {\n\tif(type.charCodeAt(0) === 40 && !fmt.match(closeparen)) {\n\t\tvar ffmt = fmt.replace(/\\( */,\"\").replace(/ \\)/,\"\").replace(/\\)/,\"\");\n\t\tif(val >= 0) return write_num_flt('n', ffmt, val);\n\t\treturn '(' + write_num_flt('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_flt(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0r(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = pad0r(val,0); if(o === \"0\") o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f1(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0r(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\to = rnd(val, r[1].length).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1])).replace(/\\.(\\d*)$/,function($$, $1) { return \".\" + $1 + fill(\"0\", hashq(/*::(*/r/*::||[\"\"])*/[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + rnd(aval, r[2].length).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify(pad0r(aval,0));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_flt(type, fmt, -val) : commaify(\"\"+(Math.floor(val) + carry(val, r[1].length))) + \".\" + pad0(dec(val, r[1].length),r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_flt(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_flt(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri= 0) return write_num_int('n', ffmt, val);\n\t\treturn '(' + write_num_int('n', ffmt, -val) + ')';\n\t}\n\tif(fmt.charCodeAt(fmt.length - 1) === 44) return write_num_cm2(type, fmt, val);\n\tif(fmt.indexOf('%') !== -1) return write_num_pct2(type, fmt, val);\n\tif(fmt.indexOf('E') !== -1) return write_num_exp2(fmt, val);\n\tif(fmt.charCodeAt(0) === 36) return \"$\"+write_num_int(type,fmt.substr(fmt.charAt(1)==' '?2:1),val);\n\tvar o;\n\tvar r/*:?Array*/, ri, ff, aval = Math.abs(val), sign = val < 0 ? \"-\" : \"\";\n\tif(fmt.match(/^00+$/)) return sign + pad0(aval,fmt.length);\n\tif(fmt.match(/^[#?]+$/)) {\n\t\to = (\"\"+val); if(val === 0) o = \"\";\n\t\treturn o.length > fmt.length ? o : hashq(fmt.substr(0,fmt.length-o.length)) + o;\n\t}\n\tif((r = fmt.match(frac1))) return write_num_f2(r, aval, sign);\n\tif(fmt.match(/^#+0+$/)) return sign + pad0(aval,fmt.length - fmt.indexOf(\"0\"));\n\tif((r = fmt.match(dec1))) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\to = (\"\"+val).replace(/^([^\\.]+)$/,\"$1.\"+hashq(r[1])).replace(/\\.$/,\".\"+hashq(r[1]));\n\t\to = o.replace(/\\.(\\d*)$/,function($$, $1) {\n\t\t/*:: if(!Array.isArray(r)) throw new Error(\"unreachable\"); */\n\t\t\treturn \".\" + $1 + fill(\"0\", hashq(r[1]).length-$1.length); });\n\t\treturn fmt.indexOf(\"0.\") !== -1 ? o : o.replace(/^0\\./,\".\");\n\t}\n\tfmt = fmt.replace(/^#+([0.])/, \"$1\");\n\tif((r = fmt.match(/^(0*)\\.(#*)$/))) {\n\t\treturn sign + (\"\"+aval).replace(/\\.(\\d*[1-9])0*$/,\".$1\").replace(/^(-?\\d*)$/,\"$1.\").replace(/^0\\./,r[1].length?\"0.\":\".\");\n\t}\n\tif((r = fmt.match(/^#{1,3},##0(\\.?)$/))) return sign + commaify((\"\"+aval));\n\tif((r = fmt.match(/^#,##0\\.([#0]*0)$/))) {\n\t\treturn val < 0 ? \"-\" + write_num_int(type, fmt, -val) : commaify((\"\"+val)) + \".\" + fill('0',r[1].length);\n\t}\n\tif((r = fmt.match(/^#,#*,#0/))) return write_num_int(type,fmt.replace(/^#,#*,/,\"\"),val);\n\tif((r = fmt.match(/^([0#]+)(\\\\?-([0#]+))+$/))) {\n\t\to = _strrev(write_num_int(type, fmt.replace(/[\\\\-]/g,\"\"), val));\n\t\tri = 0;\n\t\treturn _strrev(_strrev(fmt.replace(/\\\\/g,\"\")).replace(/[0#]/g,function(x){return ri*/ {\n\tvar out/*:Array*/ = [];\n\tvar in_str = false/*, cc*/;\n\tfor(var i = 0, j = 0; i < fmt.length; ++i) switch((/*cc=*/fmt.charCodeAt(i))) {\n\t\tcase 34: /* '\"' */\n\t\t\tin_str = !in_str; break;\n\t\tcase 95: case 42: case 92: /* '_' '*' '\\\\' */\n\t\t\t++i; break;\n\t\tcase 59: /* ';' */\n\t\t\tout[out.length] = fmt.substr(j,i-j);\n\t\t\tj = i+1;\n\t}\n\tout[out.length] = fmt.substr(j);\n\tif(in_str === true) throw new Error(\"Format |\" + fmt + \"| unterminated string \");\n\treturn out;\n}\n\nvar SSF_abstime = /\\[[HhMmSs\\u0E0A\\u0E19\\u0E17]*\\]/;\nfunction fmt_is_date(fmt/*:string*/)/*:boolean*/ {\n\tvar i = 0, /*cc = 0,*/ c = \"\", o = \"\";\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': if(SSF_isgeneral(fmt, i)) i+= 6; i++; break;\n\t\t\tcase '\"': for(;(/*cc=*/fmt.charCodeAt(++i)) !== 34 && i < fmt.length;){/*empty*/} ++i; break;\n\t\t\tcase '\\\\': i+=2; break;\n\t\t\tcase '_': i+=2; break;\n\t\t\tcase '@': ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") return true;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g': return true;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"AM/PM\") return true;\n\t\t\t\tif(fmt.substr(i, 5).toUpperCase() === \"上午/下午\") return true;\n\t\t\t\t++i; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.match(SSF_abstime)) return true;\n\t\t\t\tbreak;\n\t\t\tcase '.':\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\twhile(i < fmt.length && (\"0#?.,E+-%\".indexOf(c=fmt.charAt(++i)) > -1 || (c=='\\\\' && fmt.charAt(i+1) == \"-\" && \"0#\".indexOf(fmt.charAt(i+2))>-1))){/* empty */}\n\t\t\t\tbreak;\n\t\t\tcase '?': while(fmt.charAt(++i) === c){/* empty */} break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break;\n\t\t\tcase '(': case ')': ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\twhile(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1){/* empty */} break;\n\t\t\tcase ' ': ++i; break;\n\t\t\tdefault: ++i; break;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction eval_fmt(fmt/*:string*/, v/*:any*/, opts/*:any*/, flen/*:number*/) {\n\tvar out = [], o = \"\", i = 0, c = \"\", lst='t', dt, j, cc;\n\tvar hr='H';\n\t/* Tokenize */\n\twhile(i < fmt.length) {\n\t\tswitch((c = fmt.charAt(i))) {\n\t\t\tcase 'G': /* General */\n\t\t\t\tif(!SSF_isgeneral(fmt, i)) throw new Error('unrecognized character ' + c + ' in ' +fmt);\n\t\t\t\tout[out.length] = {t:'G', v:'General'}; i+=7; break;\n\t\t\tcase '\"': /* Literal text */\n\t\t\t\tfor(o=\"\";(cc=fmt.charCodeAt(++i)) !== 34 && i < fmt.length;) o += String.fromCharCode(cc);\n\t\t\t\tout[out.length] = {t:'t', v:o}; ++i; break;\n\t\t\tcase '\\\\': var w = fmt.charAt(++i), t = (w === \"(\" || w === \")\") ? w : 't';\n\t\t\t\tout[out.length] = {t:t, v:w}; ++i; break;\n\t\t\tcase '_': out[out.length] = {t:'t', v:\" \"}; i+=2; break;\n\t\t\tcase '@': /* Text Placeholder */\n\t\t\t\tout[out.length] = {t:'T', v:v}; ++i; break;\n\t\t\tcase 'B': case 'b':\n\t\t\t\tif(fmt.charAt(i+1) === \"1\" || fmt.charAt(i+1) === \"2\") {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts, fmt.charAt(i+1) === \"2\"); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'X', v:fmt.substr(i,2)}; lst = c; i+=2; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase 'M': case 'D': case 'Y': case 'H': case 'S': case 'E':\n\t\t\t\tc = c.toLowerCase();\n\t\t\t\t/* falls through */\n\t\t\tcase 'm': case 'd': case 'y': case 'h': case 's': case 'e': case 'g':\n\t\t\t\tif(v < 0) return \"\";\n\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\to = c; while(++i < fmt.length && fmt.charAt(i).toLowerCase() === c) o+=c;\n\t\t\t\tif(c === 'm' && lst.toLowerCase() === 'h') c = 'M';\n\t\t\t\tif(c === 'h') c = hr;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase 'A': case 'a': case '上':\n\t\t\t\tvar q={t:c, v:c};\n\t\t\t\tif(dt==null) dt=SSF_parse_date_code(v, opts);\n\t\t\t\tif(fmt.substr(i, 3).toUpperCase() === \"A/P\") { if(dt!=null) q.v = dt.H >= 12 ? fmt.charAt(i+2) : c; q.t = 'T'; hr='h';i+=3;}\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"AM/PM\") { if(dt!=null) q.v = dt.H >= 12 ? \"PM\" : \"AM\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse if(fmt.substr(i,5).toUpperCase() === \"上午/下午\") { if(dt!=null) q.v = dt.H >= 12 ? \"下午\" : \"上午\"; q.t = 'T'; i+=5; hr='h'; }\n\t\t\t\telse { q.t = \"t\"; ++i; }\n\t\t\t\tif(dt==null && q.t === 'T') return \"\";\n\t\t\t\tout[out.length] = q; lst = c; break;\n\t\t\tcase '[':\n\t\t\t\to = c;\n\t\t\t\twhile(fmt.charAt(i++) !== ']' && i < fmt.length) o += fmt.charAt(i);\n\t\t\t\tif(o.slice(-1) !== ']') throw 'unterminated \"[\" block: |' + o + '|';\n\t\t\t\tif(o.match(SSF_abstime)) {\n\t\t\t\t\tif(dt==null) { dt=SSF_parse_date_code(v, opts); if(dt==null) return \"\"; }\n\t\t\t\t\tout[out.length] = {t:'Z', v:o.toLowerCase()};\n\t\t\t\t\tlst = o.charAt(1);\n\t\t\t\t} else if(o.indexOf(\"$\") > -1) {\n\t\t\t\t\to = (o.match(/\\$([^-\\[\\]]*)/)||[])[1]||\"$\";\n\t\t\t\t\tif(!fmt_is_date(fmt)) out[out.length] = {t:'t',v:o};\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t/* Numbers */\n\t\t\tcase '.':\n\t\t\t\tif(dt != null) {\n\t\t\t\t\to = c; while(++i < fmt.length && (c=fmt.charAt(i)) === \"0\") o += c;\n\t\t\t\t\tout[out.length] = {t:'s', v:o}; break;\n\t\t\t\t}\n\t\t\t\t/* falls through */\n\t\t\tcase '0': case '#':\n\t\t\t\to = c; while(++i < fmt.length && \"0#?.,E+-%\".indexOf(c=fmt.charAt(i)) > -1) o += c;\n\t\t\t\tout[out.length] = {t:'n', v:o}; break;\n\t\t\tcase '?':\n\t\t\t\to = c; while(fmt.charAt(++i) === c) o+=c;\n\t\t\t\tout[out.length] = {t:c, v:o}; lst = c; break;\n\t\t\tcase '*': ++i; if(fmt.charAt(i) == ' ' || fmt.charAt(i) == '*') ++i; break; // **\n\t\t\tcase '(': case ')': out[out.length] = {t:(flen===1?'t':c), v:c}; ++i; break;\n\t\t\tcase '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':\n\t\t\t\to = c; while(i < fmt.length && \"0123456789\".indexOf(fmt.charAt(++i)) > -1) o+=fmt.charAt(i);\n\t\t\t\tout[out.length] = {t:'D', v:o}; break;\n\t\t\tcase ' ': out[out.length] = {t:c, v:c}; ++i; break;\n\t\t\tcase '$': out[out.length] = {t:'t', v:'$'}; ++i; break;\n\t\t\tdefault:\n\t\t\t\tif(\",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP\".indexOf(c) === -1) throw new Error('unrecognized character ' + c + ' in ' + fmt);\n\t\t\t\tout[out.length] = {t:'t', v:c}; ++i; break;\n\t\t}\n\t}\n\n\t/* Scan for date/time parts */\n\tvar bt = 0, ss0 = 0, ssm;\n\tfor(i=out.length-1, lst='t'; i >= 0; --i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 'h': case 'H': out[i].t = hr; lst='h'; if(bt < 1) bt = 1; break;\n\t\t\tcase 's':\n\t\t\t\tif((ssm=out[i].v.match(/\\.0+$/))) { ss0=Math.max(ss0,ssm[0].length-1); bt = 4;}\n\t\t\t\tif(bt < 3) bt = 3;\n\t\t\t/* falls through */\n\t\t\tcase 'd': case 'y': case 'e': lst=out[i].t; break;\n\t\t\tcase 'M': lst=out[i].t; if(bt < 2) bt = 2; break;\n\t\t\tcase 'm': if(lst === 's') { out[i].t = 'M'; if(bt < 2) bt = 2; } break;\n\t\t\tcase 'X': /*if(out[i].v === \"B2\");*/\n\t\t\t\tbreak;\n\t\t\tcase 'Z':\n\t\t\t\tif(bt < 1 && out[i].v.match(/[Hh]/)) bt = 1;\n\t\t\t\tif(bt < 2 && out[i].v.match(/[Mm]/)) bt = 2;\n\t\t\t\tif(bt < 3 && out[i].v.match(/[Ss]/)) bt = 3;\n\t\t}\n\t}\n\n\t/* time rounding depends on presence of minute / second / usec fields */\n\tvar _dt;\n\tswitch(bt) {\n\t\tcase 0: break;\n\t\tcase 1:\n\t\tcase 2:\n\t\tcase 3:\n\t\t\tif(dt.u >= 0.5) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tif(dt.H >= 24) { dt.H = 0; ++dt.D; _dt = SSF_parse_date_code(dt.D); _dt.u = dt.u; _dt.S = dt.S; _dt.M = dt.M; _dt.H = dt.H; dt = _dt; }\n\t\t\tbreak;\n\t\tcase 4:\n\t\t\tswitch(ss0) {\n\t\t\t\tcase 1: dt.u = Math.round(dt.u * 10)/10; break;\n\t\t\t\tcase 2: dt.u = Math.round(dt.u * 100)/100; break;\n\t\t\t\tcase 3: dt.u = Math.round(dt.u * 1000)/1000; break;\n\t\t\t}\n\t\t\tif(dt.u >= 1) { dt.u = 0; ++dt.S; }\n\t\t\tif(dt.S >= 60) { dt.S = 0; ++dt.M; }\n\t\t\tif(dt.M >= 60) { dt.M = 0; ++dt.H; }\n\t\t\tif(dt.H >= 24) { dt.H = 0; ++dt.D; _dt = SSF_parse_date_code(dt.D); _dt.u = dt.u; _dt.S = dt.S; _dt.M = dt.M; _dt.H = dt.H; dt = _dt; }\n\t\t\tbreak;\n\t}\n\n\t/* replace fields */\n\tvar nstr = \"\", jj;\n\tfor(i=0; i < out.length; ++i) {\n\t\tswitch(out[i].t) {\n\t\t\tcase 't': case 'T': case ' ': case 'D': break;\n\t\t\tcase 'X': out[i].v = \"\"; out[i].t = \";\"; break;\n\t\t\tcase 'd': case 'm': case 'y': case 'h': case 'H': case 'M': case 's': case 'e': case 'b': case 'Z':\n\t\t\t\t/*::if(!dt) throw \"unreachable\"; */\n\t\t\t\tout[i].v = SSF_write_date(out[i].t.charCodeAt(0), out[i].v, dt, ss0);\n\t\t\t\tout[i].t = 't'; break;\n\t\t\tcase 'n': case '?':\n\t\t\t\tjj = i+1;\n\t\t\t\twhile(out[jj] != null && (\n\t\t\t\t\t(c=out[jj].t) === \"?\" || c === \"D\" ||\n\t\t\t\t\t((c === \" \" || c === \"t\") && out[jj+1] != null && (out[jj+1].t === '?' || out[jj+1].t === \"t\" && out[jj+1].v === '/')) ||\n\t\t\t\t\t(out[i].t === '(' && (c === ' ' || c === 'n' || c === ')')) ||\n\t\t\t\t\t(c === 't' && (out[jj].v === '/' || out[jj].v === ' ' && out[jj+1] != null && out[jj+1].t == '?'))\n\t\t\t\t)) {\n\t\t\t\t\tout[i].v += out[jj].v;\n\t\t\t\t\tout[jj] = {v:\"\", t:\";\"}; ++jj;\n\t\t\t\t}\n\t\t\t\tnstr += out[i].v;\n\t\t\t\ti = jj-1; break;\n\t\t\tcase 'G': out[i].t = 't'; out[i].v = SSF_general(v,opts); break;\n\t\t}\n\t}\n\tvar vv = \"\", myv, ostr;\n\tif(nstr.length > 0) {\n\t\tif(nstr.charCodeAt(0) == 40) /* '(' */ {\n\t\t\tmyv = (v<0&&nstr.charCodeAt(0) === 45 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t} else {\n\t\t\tmyv = (v<0 && flen > 1 ? -v : v);\n\t\t\tostr = write_num('n', nstr, myv);\n\t\t\tif(myv < 0 && out[0] && out[0].t == 't') {\n\t\t\t\tostr = ostr.substr(1);\n\t\t\t\tout[0].v = \"-\" + out[0].v;\n\t\t\t}\n\t\t}\n\t\tjj=ostr.length-1;\n\t\tvar decpt = out.length;\n\t\tfor(i=0; i < out.length; ++i) if(out[i] != null && out[i].t != 't' && out[i].v.indexOf(\".\") > -1) { decpt = i; break; }\n\t\tvar lasti=out.length;\n\t\tif(decpt === out.length && ostr.indexOf(\"E\") === -1) {\n\t\t\tfor(i=out.length-1; i>= 0;--i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tif(jj>=out[i].v.length-1) { jj -= out[i].v.length; out[i].v = ostr.substr(jj+1, out[i].v.length); }\n\t\t\t\telse if(jj < 0) out[i].v = \"\";\n\t\t\t\telse { out[i].v = ostr.substr(0, jj+1); jj = -1; }\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti= 0; --i) {\n\t\t\t\tif(out[i] == null || 'n?'.indexOf(out[i].t) === -1) continue;\n\t\t\t\tj=out[i].v.indexOf(\".\")>-1&&i===decpt?out[i].v.indexOf(\".\")-1:out[i].v.length-1;\n\t\t\t\tvv = out[i].v.substr(j+1);\n\t\t\t\tfor(; j>=0; --j) {\n\t\t\t\t\tif(jj>=0 && (out[i].v.charAt(j) === \"0\" || out[i].v.charAt(j) === \"#\")) vv = ostr.charAt(jj--) + vv;\n\t\t\t\t}\n\t\t\t\tout[i].v = vv;\n\t\t\t\tout[i].t = 't';\n\t\t\t\tlasti = i;\n\t\t\t}\n\t\t\tif(jj>=0 && lasti-1&&i===decpt?out[i].v.indexOf(\".\")+1:0;\n\t\t\t\tvv = out[i].v.substr(0,j);\n\t\t\t\tfor(; j-1) {\n\t\tmyv = (flen >1 && v < 0 && i>0 && out[i-1].v === \"-\" ? -v:v);\n\t\tout[i].v = write_num(out[i].t, out[i].v, myv);\n\t\tout[i].t = 't';\n\t}\n\tvar retval = \"\";\n\tfor(i=0; i !== out.length; ++i) if(out[i] != null) retval += out[i].v;\n\treturn retval;\n}\n\nvar cfregex2 = /\\[(=|>[=]?|<[>=]?)(-?\\d+(?:\\.\\d*)?)\\]/;\nfunction chkcond(v, rr) {\n\tif(rr == null) return false;\n\tvar thresh = parseFloat(rr[2]);\n\tswitch(rr[1]) {\n\t\tcase \"=\": if(v == thresh) return true; break;\n\t\tcase \">\": if(v > thresh) return true; break;\n\t\tcase \"<\": if(v < thresh) return true; break;\n\t\tcase \"<>\": if(v != thresh) return true; break;\n\t\tcase \">=\": if(v >= thresh) return true; break;\n\t\tcase \"<=\": if(v <= thresh) return true; break;\n\t}\n\treturn false;\n}\nfunction choose_fmt(f/*:string*/, v/*:any*/) {\n\tvar fmt = SSF_split_fmt(f);\n\tvar l = fmt.length, lat = fmt[l-1].indexOf(\"@\");\n\tif(l<4 && lat>-1) --l;\n\tif(fmt.length > 4) throw new Error(\"cannot find right format for |\" + fmt.join(\"|\") + \"|\");\n\tif(typeof v !== \"number\") return [4, fmt.length === 4 || lat>-1?fmt[fmt.length-1]:\"@\"];\n\t/* NOTE: most spreadsheet software do not support NaN or infinities */\n\tif(typeof v === \"number\" && !isFinite(v)) v = 0;\n\tswitch(fmt.length) {\n\t\tcase 1: fmt = lat>-1 ? [\"General\", \"General\", \"General\", fmt[0]] : [fmt[0], fmt[0], fmt[0], \"@\"]; break;\n\t\tcase 2: fmt = lat>-1 ? [fmt[0], fmt[0], fmt[0], fmt[1]] : [fmt[0], fmt[1], fmt[0], \"@\"]; break;\n\t\tcase 3: fmt = lat>-1 ? [fmt[0], fmt[1], fmt[0], fmt[2]] : [fmt[0], fmt[1], fmt[2], \"@\"]; break;\n\t\tcase 4: break;\n\t}\n\tvar ff = v > 0 ? fmt[0] : v < 0 ? fmt[1] : fmt[2];\n\tif(fmt[0].indexOf(\"[\") === -1 && fmt[1].indexOf(\"[\") === -1) return [l, ff];\n\tif(fmt[0].match(/\\[[=<>]/) != null || fmt[1].match(/\\[[=<>]/) != null) {\n\t\tvar m1 = fmt[0].match(cfregex2);\n\t\tvar m2 = fmt[1].match(cfregex2);\n\t\treturn chkcond(v, m1) ? [l, fmt[0]] : chkcond(v, m2) ? [l, fmt[1]] : [l, fmt[m1 != null && m2 != null ? 2 : 1]];\n\t}\n\treturn [l, ff];\n}\nfunction SSF_format(fmt/*:string|number*/,v/*:any*/,o/*:?any*/) {\n\tif(o == null) o = {};\n\tvar sfmt = \"\";\n\tswitch(typeof fmt) {\n\t\tcase \"string\":\n\t\t\tif(fmt == \"m/d/yy\" && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = fmt;\n\t\t\tbreak;\n\t\tcase \"number\":\n\t\t\tif(fmt == 14 && o.dateNF) sfmt = o.dateNF;\n\t\t\telse sfmt = (o.table != null ? (o.table/*:any*/) : table_fmt)[fmt];\n\t\t\tif(sfmt == null) sfmt = (o.table && o.table[SSF_default_map[fmt]]) || table_fmt[SSF_default_map[fmt]];\n\t\t\tif(sfmt == null) sfmt = SSF_default_str[fmt] || \"General\";\n\t\t\tbreak;\n\t}\n\tif(SSF_isgeneral(sfmt,0)) return SSF_general(v, o);\n\tif(v instanceof Date) v = datenum(v, o.date1904);\n\tvar f = choose_fmt(sfmt, v);\n\tif(SSF_isgeneral(f[1])) return SSF_general(v, o);\n\tif(v === true) v = \"TRUE\"; else if(v === false) v = \"FALSE\";\n\telse if(v === \"\" || v == null) return \"\";\n\telse if(isNaN(v) && f[1].indexOf(\"0\") > -1) return \"#NUM!\";\n\telse if(!isFinite(v) && f[1].indexOf(\"0\") > -1) return \"#DIV/0!\";\n\treturn eval_fmt(f[1], v, o, f[0]);\n}\nfunction SSF_load(fmt/*:string*/, idx/*:?number*/)/*:number*/ {\n\tif(typeof idx != 'number') {\n\t\tidx = +idx || -1;\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tfor(var i = 0; i < 0x0188; ++i) {\n/*::if(typeof idx != 'number') return 0x188; */\n\t\t\tif(table_fmt[i] == undefined) { if(idx < 0) idx = i; continue; }\n\t\t\tif(table_fmt[i] == fmt) { idx = i; break; }\n\t\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\t\tif(idx < 0) idx = 0x187;\n\t}\n/*::if(typeof idx != 'number') return 0x188; */\n\ttable_fmt[idx] = fmt;\n\treturn idx;\n}\nfunction SSF_load_table(tbl/*:SSFTable*/)/*:void*/ {\n\tfor(var i=0; i!=0x0188; ++i)\n\t\tif(tbl[i] !== undefined) SSF_load(tbl[i], i);\n}\n\nfunction make_ssf() {\n\ttable_fmt = SSF_init_table();\n}\n\nvar SSF = {\n\tformat: SSF_format,\n\tload: SSF_load,\n\t_table: table_fmt,\n\tload_table: SSF_load_table,\n\tparse_date_code: SSF_parse_date_code,\n\tis_date: fmt_is_date,\n\tget_table: function get_table() { return SSF._table = table_fmt; }\n};\n\nvar SSFImplicit/*{[number]:string}*/ = ({\n\t\"5\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"6\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"7\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"8\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"23\": 'General', \"24\": 'General', \"25\": 'General', \"26\": 'General',\n\t\"27\": 'm/d/yy', \"28\": 'm/d/yy', \"29\": 'm/d/yy', \"30\": 'm/d/yy', \"31\": 'm/d/yy',\n\t\"32\": 'h:mm:ss', \"33\": 'h:mm:ss', \"34\": 'h:mm:ss', \"35\": 'h:mm:ss',\n\t\"36\": 'm/d/yy',\n\t\"41\": '_(* #,##0_);_(* \\(#,##0\\);_(* \"-\"_);_(@_)',\n\t\"42\": '_(\"$\"* #,##0_);_(\"$\"* \\(#,##0\\);_(\"$\"* \"-\"_);_(@_)',\n\t\"43\": '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* \"-\"??_);_(@_)',\n\t\"44\": '_(\"$\"* #,##0.00_);_(\"$\"* \\(#,##0.00\\);_(\"$\"* \"-\"??_);_(@_)',\n\t\"50\": 'm/d/yy', \"51\": 'm/d/yy', \"52\": 'm/d/yy', \"53\": 'm/d/yy', \"54\": 'm/d/yy',\n\t\"55\": 'm/d/yy', \"56\": 'm/d/yy', \"57\": 'm/d/yy', \"58\": 'm/d/yy',\n\t\"59\": '0',\n\t\"60\": '0.00',\n\t\"61\": '#,##0',\n\t\"62\": '#,##0.00',\n\t\"63\": '\"$\"#,##0_);\\\\(\"$\"#,##0\\\\)',\n\t\"64\": '\"$\"#,##0_);[Red]\\\\(\"$\"#,##0\\\\)',\n\t\"65\": '\"$\"#,##0.00_);\\\\(\"$\"#,##0.00\\\\)',\n\t\"66\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\"67\": '0%',\n\t\"68\": '0.00%',\n\t\"69\": '# ?/?',\n\t\"70\": '# ??/??',\n\t\"71\": 'm/d/yy',\n\t\"72\": 'm/d/yy',\n\t\"73\": 'd-mmm-yy',\n\t\"74\": 'd-mmm',\n\t\"75\": 'mmm-yy',\n\t\"76\": 'h:mm',\n\t\"77\": 'h:mm:ss',\n\t\"78\": 'm/d/yy h:mm',\n\t\"79\": 'mm:ss',\n\t\"80\": '[h]:mm:ss',\n\t\"81\": 'mmss.0'\n}/*:any*/);\n\n/* dateNF parse TODO: move to SSF */\nvar dateNFregex = /[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;\nfunction dateNF_regex(dateNF/*:string|number*/)/*:RegExp*/ {\n\tvar fmt = typeof dateNF == \"number\" ? table_fmt[dateNF] : dateNF;\n\tfmt = fmt.replace(dateNFregex, \"(\\\\d+)\");\n\tdateNFregex.lastIndex = 0;\n\treturn new RegExp(\"^\" + fmt + \"$\");\n}\nfunction dateNF_fix(str/*:string*/, dateNF/*:string*/, match/*:Array*/)/*:string*/ {\n\tvar Y = -1, m = -1, d = -1, H = -1, M = -1, S = -1;\n\t(dateNF.match(dateNFregex)||[]).forEach(function(n, i) {\n\t\tvar v = parseInt(match[i+1], 10);\n\t\tswitch(n.toLowerCase().charAt(0)) {\n\t\t\tcase 'y': Y = v; break; case 'd': d = v; break;\n\t\t\tcase 'h': H = v; break; case 's': S = v; break;\n\t\t\tcase 'm': if(H >= 0) M = v; else m = v; break;\n\t\t}\n\t});\n\tdateNFregex.lastIndex = 0;\n\tif(S >= 0 && M == -1 && m >= 0) { M = m; m = -1; }\n\tvar datestr = ((\"\" + (Y>=0?Y: new Date().getFullYear())).slice(-4) + \"-\" + (\"00\" + (m>=1?m:1)).slice(-2) + \"-\" + (\"00\" + (d>=1?d:1)).slice(-2));\n\tif(datestr.length == 7) datestr = \"0\" + datestr;\n\tif(datestr.length == 8) datestr = \"20\" + datestr;\n\tvar timestr = ((\"00\" + (H>=0?H:0)).slice(-2) + \":\" + (\"00\" + (M>=0?M:0)).slice(-2) + \":\" + (\"00\" + (S>=0?S:0)).slice(-2));\n\tif(H == -1 && M == -1 && S == -1) return datestr;\n\tif(Y == -1 && m == -1 && d == -1) return timestr;\n\treturn datestr + \"T\" + timestr;\n}\n\n/* table of bad formats written by third-party tools */\nvar bad_formats = {\n\t\"d.m\": \"d\\\\.m\" // Issue #2571 Google Sheets writes invalid format 'd.m', correct format is 'd\".\"m' or 'd\\\\.m'\n};\n\nfunction SSF__load(fmt, idx) {\n\treturn SSF_load(bad_formats[fmt] || fmt, idx);\n}\n\n/*::\ndeclare var ReadShift:any;\ndeclare var CheckField:any;\ndeclare var prep_blob:any;\ndeclare var __readUInt32LE:any;\ndeclare var __readInt32LE:any;\ndeclare var __toBuffer:any;\ndeclare var __utf16le:any;\ndeclare var bconcat:any;\ndeclare var s2a:any;\ndeclare var chr0:any;\ndeclare var chr1:any;\ndeclare var has_buf:boolean;\ndeclare var new_buf:any;\ndeclare var new_raw_buf:any;\ndeclare var new_unsafe_buf:any;\ndeclare var Buffer_from:any;\n*/\n/* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*jshint eqnull:true */\n/*exported CFB */\n/*global Uint8Array:false, Uint16Array:false */\n\n/*::\ntype SectorEntry = {\n\tname?:string;\n\tnodes?:Array;\n\tdata:RawBytes;\n};\ntype SectorList = {\n\t[k:string|number]:SectorEntry;\n\tname:?string;\n\tfat_addrs:Array;\n\tssz:number;\n}\ntype CFBFiles = {[n:string]:CFBEntry};\n*/\n/* crc32.js (C) 2014-present SheetJS -- http://sheetjs.com */\n/* vim: set ts=2: */\n/*exported CRC32 */\nvar CRC32 = /*#__PURE__*/(function() {\nvar CRC32 = {};\nCRC32.version = '1.2.0';\n/*::\ntype CRC32TableType = Array | Int32Array;\n*/\n/*global Int32Array */\nfunction signed_crc_table()/*:any*/ {\n\tvar c = 0, table/*:Array*/ = new Array(256);\n\n\tfor(var n =0; n != 256; ++n){\n\t\tc = n;\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\tc = ((c&1) ? (-306674912 ^ (c >>> 1)) : (c >>> 1));\n\t\ttable[n] = c;\n\t}\n\n\treturn typeof Int32Array !== 'undefined' ? new Int32Array(table) : table;\n}\n\nvar T0 = signed_crc_table();\nfunction slice_by_16_tables(T) {\n\tvar c = 0, v = 0, n = 0, table/*:Array*/ = typeof Int32Array !== 'undefined' ? new Int32Array(4096) : new Array(4096) ;\n\n\tfor(n = 0; n != 256; ++n) table[n] = T[n];\n\tfor(n = 0; n != 256; ++n) {\n\t\tv = T[n];\n\t\tfor(c = 256 + n; c < 4096; c += 256) v = table[c] = (v >>> 8) ^ T[v & 0xFF];\n\t}\n\tvar out = [];\n\tfor(n = 1; n != 16; ++n) out[n - 1] = typeof Int32Array !== 'undefined' && typeof table.subarray == \"function\" ? table.subarray(n * 256, n * 256 + 256) : table.slice(n * 256, n * 256 + 256);\n\treturn out;\n}\nvar TT = slice_by_16_tables(T0);\nvar T1 = TT[0], T2 = TT[1], T3 = TT[2], T4 = TT[3], T5 = TT[4];\nvar T6 = TT[5], T7 = TT[6], T8 = TT[7], T9 = TT[8], Ta = TT[9];\nvar Tb = TT[10], Tc = TT[11], Td = TT[12], Te = TT[13], Tf = TT[14];\nfunction crc32_bstr(bstr/*:string*/, seed/*:?number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1;\n\tfor(var i = 0, L = bstr.length; i < L;) C = (C>>>8) ^ T0[(C^bstr.charCodeAt(i++))&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_buf(B/*:Uint8Array|Array*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed/*:: ? 0 : 0 */ ^ -1, L = B.length - 15, i = 0;\n\tfor(; i < L;) C =\n\t\tTf[B[i++] ^ (C & 255)] ^\n\t\tTe[B[i++] ^ ((C >> 8) & 255)] ^\n\t\tTd[B[i++] ^ ((C >> 16) & 255)] ^\n\t\tTc[B[i++] ^ (C >>> 24)] ^\n\t\tTb[B[i++]] ^ Ta[B[i++]] ^ T9[B[i++]] ^ T8[B[i++]] ^\n\t\tT7[B[i++]] ^ T6[B[i++]] ^ T5[B[i++]] ^ T4[B[i++]] ^\n\t\tT3[B[i++]] ^ T2[B[i++]] ^ T1[B[i++]] ^ T0[B[i++]];\n\tL += 15;\n\twhile(i < L) C = (C>>>8) ^ T0[(C^B[i++])&0xFF];\n\treturn ~C;\n}\n\nfunction crc32_str(str/*:string*/, seed/*:number*/)/*:number*/ {\n\tvar C = seed ^ -1;\n\tfor(var i = 0, L = str.length, c = 0, d = 0; i < L;) {\n\t\tc = str.charCodeAt(i++);\n\t\tif(c < 0x80) {\n\t\t\tC = (C>>>8) ^ T0[(C^c)&0xFF];\n\t\t} else if(c < 0x800) {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (192|((c>>6)&31)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t} else if(c >= 0xD800 && c < 0xE000) {\n\t\t\tc = (c&1023)+64; d = str.charCodeAt(i++)&1023;\n\t\t\tC = (C>>>8) ^ T0[(C ^ (240|((c>>8)&7)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>2)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((d>>6)&15)|((c&3)<<4)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(d&63)))&0xFF];\n\t\t} else {\n\t\t\tC = (C>>>8) ^ T0[(C ^ (224|((c>>12)&15)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|((c>>6)&63)))&0xFF];\n\t\t\tC = (C>>>8) ^ T0[(C ^ (128|(c&63)))&0xFF];\n\t\t}\n\t}\n\treturn ~C;\n}\nCRC32.table = T0;\nCRC32.bstr = crc32_bstr;\nCRC32.buf = crc32_buf;\nCRC32.str = crc32_str;\nreturn CRC32;\n})();\n/* [MS-CFB] v20171201 */\nvar CFB = /*#__PURE__*/(function _CFB(){\nvar exports/*:CFBModule*/ = /*::(*/{}/*:: :any)*/;\nexports.version = '1.2.2';\n/* [MS-CFB] 2.6.4 */\nfunction namecmp(l/*:string*/, r/*:string*/)/*:number*/ {\n\tvar L = l.split(\"/\"), R = r.split(\"/\");\n\tfor(var i = 0, c = 0, Z = Math.min(L.length, R.length); i < Z; ++i) {\n\t\tif((c = L[i].length - R[i].length)) return c;\n\t\tif(L[i] != R[i]) return L[i] < R[i] ? -1 : 1;\n\t}\n\treturn L.length - R.length;\n}\nfunction dirname(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return (p.slice(0,-1).indexOf(\"/\") === -1) ? p : dirname(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(0, c+1);\n}\n\nfunction filename(p/*:string*/)/*:string*/ {\n\tif(p.charAt(p.length - 1) == \"/\") return filename(p.slice(0, -1));\n\tvar c = p.lastIndexOf(\"/\");\n\treturn (c === -1) ? p : p.slice(c+1);\n}\n/* -------------------------------------------------------------------------- */\n/* DOS Date format:\n high|YYYYYYYm.mmmddddd.HHHHHMMM.MMMSSSSS|low\n add 1980 to stored year\n stored second should be doubled\n*/\n\n/* write JS date to buf as a DOS date */\nfunction write_dos_date(buf/*:CFBlob*/, date/*:Date|string*/) {\n\tif(typeof date === \"string\") date = new Date(date);\n\tvar hms/*:number*/ = date.getHours();\n\thms = hms << 6 | date.getMinutes();\n\thms = hms << 5 | (date.getSeconds()>>>1);\n\tbuf.write_shift(2, hms);\n\tvar ymd/*:number*/ = (date.getFullYear() - 1980);\n\tymd = ymd << 4 | (date.getMonth()+1);\n\tymd = ymd << 5 | date.getDate();\n\tbuf.write_shift(2, ymd);\n}\n\n/* read four bytes from buf and interpret as a DOS date */\nfunction parse_dos_date(buf/*:CFBlob*/)/*:Date*/ {\n\tvar hms = buf.read_shift(2) & 0xFFFF;\n\tvar ymd = buf.read_shift(2) & 0xFFFF;\n\tvar val = new Date();\n\tvar d = ymd & 0x1F; ymd >>>= 5;\n\tvar m = ymd & 0x0F; ymd >>>= 4;\n\tval.setMilliseconds(0);\n\tval.setFullYear(ymd + 1980);\n\tval.setMonth(m-1);\n\tval.setDate(d);\n\tvar S = hms & 0x1F; hms >>>= 5;\n\tvar M = hms & 0x3F; hms >>>= 6;\n\tval.setHours(hms);\n\tval.setMinutes(M);\n\tval.setSeconds(S<<1);\n\treturn val;\n}\nfunction parse_extra_field(blob/*:CFBlob*/)/*:any*/ {\n\tprep_blob(blob, 0);\n\tvar o = /*::(*/{}/*:: :any)*/;\n\tvar flags = 0;\n\twhile(blob.l <= blob.length - 4) {\n\t\tvar type = blob.read_shift(2);\n\t\tvar sz = blob.read_shift(2), tgt = blob.l + sz;\n\t\tvar p = {};\n\t\tswitch(type) {\n\t\t\t/* UNIX-style Timestamps */\n\t\t\tcase 0x5455: {\n\t\t\t\tflags = blob.read_shift(1);\n\t\t\t\tif(flags & 1) p.mtime = blob.read_shift(4);\n\t\t\t\t/* for some reason, CD flag corresponds to LFH */\n\t\t\t\tif(sz > 5) {\n\t\t\t\t\tif(flags & 2) p.atime = blob.read_shift(4);\n\t\t\t\t\tif(flags & 4) p.ctime = blob.read_shift(4);\n\t\t\t\t}\n\t\t\t\tif(p.mtime) p.mt = new Date(p.mtime*1000);\n\t\t\t} break;\n\t\t\t/* ZIP64 Extended Information Field */\n\t\t\tcase 0x0001: {\n\t\t\t\tvar sz1 = blob.read_shift(4), sz2 = blob.read_shift(4);\n\t\t\t\tp.usz = (sz2 * Math.pow(2,32) + sz1);\n\t\t\t\tsz1 = blob.read_shift(4); sz2 = blob.read_shift(4);\n\t\t\t\tp.csz = (sz2 * Math.pow(2,32) + sz1);\n\t\t\t\t// NOTE: volume fields are skipped\n\t\t\t} break;\n\t\t}\n\t\tblob.l = tgt;\n\t\to[type] = p;\n\t}\n\treturn o;\n}\nvar fs/*:: = require('fs'); */;\nfunction get_fs() { return fs || (fs = _fs); }\nfunction parse(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\nif(file[0] == 0x50 && file[1] == 0x4b) return parse_zip(file, options);\nif((file[0] | 0x20) == 0x6d && (file[1]|0x20) == 0x69) return parse_mad(file, options);\nif(file.length < 512) throw new Error(\"CFB file size \" + file.length + \" < 512\");\nvar mver = 3;\nvar ssz = 512;\nvar nmfs = 0; // number of mini FAT sectors\nvar difat_sec_cnt = 0;\nvar dir_start = 0;\nvar minifat_start = 0;\nvar difat_start = 0;\n\nvar fat_addrs/*:Array*/ = []; // locations of FAT sectors\n\n/* [MS-CFB] 2.2 Compound File Header */\nvar blob/*:CFBlob*/ = /*::(*/file.slice(0,512)/*:: :any)*/;\nprep_blob(blob, 0);\n\n/* major version */\nvar mv = check_get_mver(blob);\nmver = mv[0];\nswitch(mver) {\n\tcase 3: ssz = 512; break; case 4: ssz = 4096; break;\n\tcase 0: if(mv[1] == 0) return parse_zip(file, options);\n\t/* falls through */\n\tdefault: throw new Error(\"Major Version: Expected 3 or 4 saw \" + mver);\n}\n\n/* reprocess header */\nif(ssz !== 512) { blob = /*::(*/file.slice(0,ssz)/*:: :any)*/; prep_blob(blob, 28 /* blob.l */); }\n/* Save header for final object */\nvar header/*:RawBytes*/ = file.slice(0,ssz);\n\ncheck_shifts(blob, mver);\n\n// Number of Directory Sectors\nvar dir_cnt/*:number*/ = blob.read_shift(4, 'i');\nif(mver === 3 && dir_cnt !== 0) throw new Error('# Directory Sectors: Expected 0 saw ' + dir_cnt);\n\n// Number of FAT Sectors\nblob.l += 4;\n\n// First Directory Sector Location\ndir_start = blob.read_shift(4, 'i');\n\n// Transaction Signature\nblob.l += 4;\n\n// Mini Stream Cutoff Size\nblob.chk('00100000', 'Mini Stream Cutoff Size: ');\n\n// First Mini FAT Sector Location\nminifat_start = blob.read_shift(4, 'i');\n\n// Number of Mini FAT Sectors\nnmfs = blob.read_shift(4, 'i');\n\n// First DIFAT sector location\ndifat_start = blob.read_shift(4, 'i');\n\n// Number of DIFAT Sectors\ndifat_sec_cnt = blob.read_shift(4, 'i');\n\n// Grab FAT Sector Locations\nfor(var q = -1, j = 0; j < 109; ++j) { /* 109 = (512 - blob.l)>>>2; */\n\tq = blob.read_shift(4, 'i');\n\tif(q<0) break;\n\tfat_addrs[j] = q;\n}\n\n/** Break the file up into sectors */\nvar sectors/*:Array*/ = sectorify(file, ssz);\n\nsleuth_fat(difat_start, difat_sec_cnt, sectors, ssz, fat_addrs);\n\n/** Chains */\nvar sector_list/*:SectorList*/ = make_sector_list(sectors, dir_start, fat_addrs, ssz);\n\nif(dir_start < sector_list.length) sector_list[dir_start].name = \"!Directory\";\nif(nmfs > 0 && minifat_start !== ENDOFCHAIN) sector_list[minifat_start].name = \"!MiniFAT\";\nsector_list[fat_addrs[0]].name = \"!FAT\";\nsector_list.fat_addrs = fat_addrs;\nsector_list.ssz = ssz;\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nvar files/*:CFBFiles*/ = {}, Paths/*:Array*/ = [], FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\nread_directory(dir_start, sector_list, sectors, Paths, nmfs, files, FileIndex, minifat_start);\n\nbuild_full_paths(FileIndex, FullPaths, Paths);\nPaths.shift();\n\nvar o = {\n\tFileIndex: FileIndex,\n\tFullPaths: FullPaths\n};\n\n// $FlowIgnore\nif(options && options.raw) o.raw = {header: header, sectors: sectors};\nreturn o;\n} // parse\n\n/* [MS-CFB] 2.2 Compound File Header -- read up to major version */\nfunction check_get_mver(blob/*:CFBlob*/)/*:[number, number]*/ {\n\tif(blob[blob.l] == 0x50 && blob[blob.l + 1] == 0x4b) return [0, 0];\n\t// header signature 8\n\tblob.chk(HEADER_SIGNATURE, 'Header Signature: ');\n\n\t// clsid 16\n\t//blob.chk(HEADER_CLSID, 'CLSID: ');\n\tblob.l += 16;\n\n\t// minor version 2\n\tvar mver/*:number*/ = blob.read_shift(2, 'u');\n\n\treturn [blob.read_shift(2,'u'), mver];\n}\nfunction check_shifts(blob/*:CFBlob*/, mver/*:number*/)/*:void*/ {\n\tvar shift = 0x09;\n\n\t// Byte Order\n\t//blob.chk('feff', 'Byte Order: '); // note: some writers put 0xffff\n\tblob.l += 2;\n\n\t// Sector Shift\n\tswitch((shift = blob.read_shift(2))) {\n\t\tcase 0x09: if(mver != 3) throw new Error('Sector Shift: Expected 9 saw ' + shift); break;\n\t\tcase 0x0c: if(mver != 4) throw new Error('Sector Shift: Expected 12 saw ' + shift); break;\n\t\tdefault: throw new Error('Sector Shift: Expected 9 or 12 saw ' + shift);\n\t}\n\n\t// Mini Sector Shift\n\tblob.chk('0600', 'Mini Sector Shift: ');\n\n\t// Reserved\n\tblob.chk('000000000000', 'Reserved: ');\n}\n\n/** Break the file up into sectors */\nfunction sectorify(file/*:RawBytes*/, ssz/*:number*/)/*:Array*/ {\n\tvar nsectors = Math.ceil(file.length/ssz)-1;\n\tvar sectors/*:Array*/ = [];\n\tfor(var i=1; i < nsectors; ++i) sectors[i-1] = file.slice(i*ssz,(i+1)*ssz);\n\tsectors[nsectors-1] = file.slice(nsectors*ssz);\n\treturn sectors;\n}\n\n/* [MS-CFB] 2.6.4 Red-Black Tree */\nfunction build_full_paths(FI/*:CFBFileIndex*/, FP/*:Array*/, Paths/*:Array*/)/*:void*/ {\n\tvar i = 0, L = 0, R = 0, C = 0, j = 0, pl = Paths.length;\n\tvar dad/*:Array*/ = [], q/*:Array*/ = [];\n\n\tfor(; i < pl; ++i) { dad[i]=q[i]=i; FP[i]=Paths[i]; }\n\n\tfor(; j < q.length; ++j) {\n\t\ti = q[j];\n\t\tL = FI[i].L; R = FI[i].R; C = FI[i].C;\n\t\tif(dad[i] === i) {\n\t\t\tif(L !== -1 /*NOSTREAM*/ && dad[L] !== L) dad[i] = dad[L];\n\t\t\tif(R !== -1 && dad[R] !== R) dad[i] = dad[R];\n\t\t}\n\t\tif(C !== -1 /*NOSTREAM*/) dad[C] = i;\n\t\tif(L !== -1 && i != dad[i]) { dad[L] = dad[i]; if(q.lastIndexOf(L) < j) q.push(L); }\n\t\tif(R !== -1 && i != dad[i]) { dad[R] = dad[i]; if(q.lastIndexOf(R) < j) q.push(R); }\n\t}\n\tfor(i=1; i < pl; ++i) if(dad[i] === i) {\n\t\tif(R !== -1 /*NOSTREAM*/ && dad[R] !== R) dad[i] = dad[R];\n\t\telse if(L !== -1 && dad[L] !== L) dad[i] = dad[L];\n\t}\n\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type === 0 /* unknown */) continue;\n\t\tj = i;\n\t\tif(j != dad[j]) do {\n\t\t\tj = dad[j];\n\t\t\tFP[i] = FP[j] + \"/\" + FP[i];\n\t\t} while (j !== 0 && -1 !== dad[j] && j != dad[j]);\n\t\tdad[i] = -1;\n\t}\n\n\tFP[0] += \"/\";\n\tfor(i=1; i < pl; ++i) {\n\t\tif(FI[i].type !== 2 /* stream */) FP[i] += \"/\";\n\t}\n}\n\nfunction get_mfat_entry(entry/*:CFBEntry*/, payload/*:RawBytes*/, mini/*:?RawBytes*/)/*:CFBlob*/ {\n\tvar start = entry.start, size = entry.size;\n\t//return (payload.slice(start*MSSZ, start*MSSZ + size)/*:any*/);\n\tvar o = [];\n\tvar idx = start;\n\twhile(mini && size > 0 && idx >= 0) {\n\t\to.push(payload.slice(idx * MSSZ, idx * MSSZ + MSSZ));\n\t\tsize -= MSSZ;\n\t\tidx = __readInt32LE(mini, idx * 4);\n\t}\n\tif(o.length === 0) return (new_buf(0)/*:any*/);\n\treturn (bconcat(o).slice(0, entry.size)/*:any*/);\n}\n\n/** Chase down the rest of the DIFAT chain to build a comprehensive list\n DIFAT chains by storing the next sector number as the last 32 bits */\nfunction sleuth_fat(idx/*:number*/, cnt/*:number*/, sectors/*:Array*/, ssz/*:number*/, fat_addrs)/*:void*/ {\n\tvar q/*:number*/ = ENDOFCHAIN;\n\tif(idx === ENDOFCHAIN) {\n\t\tif(cnt !== 0) throw new Error(\"DIFAT chain shorter than expected\");\n\t} else if(idx !== -1 /*FREESECT*/) {\n\t\tvar sector = sectors[idx], m = (ssz>>>2)-1;\n\t\tif(!sector) return;\n\t\tfor(var i = 0; i < m; ++i) {\n\t\t\tif((q = __readInt32LE(sector,i*4)) === ENDOFCHAIN) break;\n\t\t\tfat_addrs.push(q);\n\t\t}\n\t\tif(cnt >= 1) sleuth_fat(__readInt32LE(sector,ssz-4),cnt - 1, sectors, ssz, fat_addrs);\n\t}\n}\n\n/** Follow the linked list of sectors for a given starting point */\nfunction get_sector_list(sectors/*:Array*/, start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/, chkd/*:?Array*/)/*:SectorEntry*/ {\n\tvar buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tif(!chkd) chkd = [];\n\tvar modulus = ssz - 1, j = 0, jj = 0;\n\tfor(j=start; j>=0;) {\n\t\tchkd[j] = true;\n\t\tbuf[buf.length] = j;\n\t\tbuf_chain.push(sectors[j]);\n\t\tvar addr = fat_addrs[Math.floor(j*4/ssz)];\n\t\tjj = ((j*4) & modulus);\n\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\tif(!sectors[addr]) break;\n\t\tj = __readInt32LE(sectors[addr], jj);\n\t}\n\treturn {nodes: buf, data:__toBuffer([buf_chain])};\n}\n\n/** Chase down the sector linked lists */\nfunction make_sector_list(sectors/*:Array*/, dir_start/*:number*/, fat_addrs/*:Array*/, ssz/*:number*/)/*:SectorList*/ {\n\tvar sl = sectors.length, sector_list/*:SectorList*/ = ([]/*:any*/);\n\tvar chkd/*:Array*/ = [], buf/*:Array*/ = [], buf_chain/*:Array*/ = [];\n\tvar modulus = ssz - 1, i=0, j=0, k=0, jj=0;\n\tfor(i=0; i < sl; ++i) {\n\t\tbuf = ([]/*:Array*/);\n\t\tk = (i + dir_start); if(k >= sl) k-=sl;\n\t\tif(chkd[k]) continue;\n\t\tbuf_chain = [];\n\t\tvar seen = [];\n\t\tfor(j=k; j>=0;) {\n\t\t\tseen[j] = true;\n\t\t\tchkd[j] = true;\n\t\t\tbuf[buf.length] = j;\n\t\t\tbuf_chain.push(sectors[j]);\n\t\t\tvar addr/*:number*/ = fat_addrs[Math.floor(j*4/ssz)];\n\t\t\tjj = ((j*4) & modulus);\n\t\t\tif(ssz < 4 + jj) throw new Error(\"FAT boundary crossed: \" + j + \" 4 \"+ssz);\n\t\t\tif(!sectors[addr]) break;\n\t\t\tj = __readInt32LE(sectors[addr], jj);\n\t\t\tif(seen[j]) break;\n\t\t}\n\t\tsector_list[k] = ({nodes: buf, data:__toBuffer([buf_chain])}/*:SectorEntry*/);\n\t}\n\treturn sector_list;\n}\n\n/* [MS-CFB] 2.6.1 Compound File Directory Entry */\nfunction read_directory(dir_start/*:number*/, sector_list/*:SectorList*/, sectors/*:Array*/, Paths/*:Array*/, nmfs, files, FileIndex, mini) {\n\tvar minifat_store = 0, pl = (Paths.length?2:0);\n\tvar sector = sector_list[dir_start].data;\n\tvar i = 0, namelen = 0, name;\n\tfor(; i < sector.length; i+= 128) {\n\t\tvar blob/*:CFBlob*/ = /*::(*/sector.slice(i, i+128)/*:: :any)*/;\n\t\tprep_blob(blob, 64);\n\t\tnamelen = blob.read_shift(2);\n\t\tname = __utf16le(blob,0,namelen-pl);\n\t\tPaths.push(name);\n\t\tvar o/*:CFBEntry*/ = ({\n\t\t\tname: name,\n\t\t\ttype: blob.read_shift(1),\n\t\t\tcolor: blob.read_shift(1),\n\t\t\tL: blob.read_shift(4, 'i'),\n\t\t\tR: blob.read_shift(4, 'i'),\n\t\t\tC: blob.read_shift(4, 'i'),\n\t\t\tclsid: blob.read_shift(16),\n\t\t\tstate: blob.read_shift(4, 'i'),\n\t\t\tstart: 0,\n\t\t\tsize: 0\n\t\t});\n\t\tvar ctime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(ctime !== 0) o.ct = read_date(blob, blob.l-8);\n\t\tvar mtime/*:number*/ = blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2) + blob.read_shift(2);\n\t\tif(mtime !== 0) o.mt = read_date(blob, blob.l-8);\n\t\to.start = blob.read_shift(4, 'i');\n\t\to.size = blob.read_shift(4, 'i');\n\t\tif(o.size < 0 && o.start < 0) { o.size = o.type = 0; o.start = ENDOFCHAIN; o.name = \"\"; }\n\t\tif(o.type === 5) { /* root */\n\t\t\tminifat_store = o.start;\n\t\t\tif(nmfs > 0 && minifat_store !== ENDOFCHAIN) sector_list[minifat_store].name = \"!StreamData\";\n\t\t\t/*minifat_size = o.size;*/\n\t\t} else if(o.size >= 4096 /* MSCSZ */) {\n\t\t\to.storage = 'fat';\n\t\t\tif(sector_list[o.start] === undefined) sector_list[o.start] = get_sector_list(sectors, o.start, sector_list.fat_addrs, sector_list.ssz);\n\t\t\tsector_list[o.start].name = o.name;\n\t\t\to.content = (sector_list[o.start].data.slice(0,o.size)/*:any*/);\n\t\t} else {\n\t\t\to.storage = 'minifat';\n\t\t\tif(o.size < 0) o.size = 0;\n\t\t\telse if(minifat_store !== ENDOFCHAIN && o.start !== ENDOFCHAIN && sector_list[minifat_store]) {\n\t\t\t\to.content = get_mfat_entry(o, sector_list[minifat_store].data, (sector_list[mini]||{}).data);\n\t\t\t}\n\t\t}\n\t\tif(o.content) prep_blob(o.content, 0);\n\t\tfiles[name] = o;\n\t\tFileIndex.push(o);\n\t}\n}\n\nfunction read_date(blob/*:RawBytes|CFBlob*/, offset/*:number*/)/*:Date*/ {\n\treturn new Date(( ( (__readUInt32LE(blob,offset+4)/1e7)*Math.pow(2,32)+__readUInt32LE(blob,offset)/1e7 ) - 11644473600)*1000);\n}\n\nfunction read_file(filename/*:string*/, options/*:CFBReadOpts*/) {\n\tget_fs();\n\treturn parse(fs.readFileSync(filename), options);\n}\n\nfunction read(blob/*:RawBytes|string*/, options/*:CFBReadOpts*/) {\n\tvar type = options && options.type;\n\tif(!type) {\n\t\tif(has_buf && Buffer.isBuffer(blob)) type = \"buffer\";\n\t}\n\tswitch(type || \"base64\") {\n\t\tcase \"file\": /*:: if(typeof blob !== 'string') throw \"Must pass a filename when type='file'\"; */return read_file(blob, options);\n\t\tcase \"base64\": /*:: if(typeof blob !== 'string') throw \"Must pass a base64-encoded binary string when type='file'\"; */return parse(s2a(Base64_decode(blob)), options);\n\t\tcase \"binary\": /*:: if(typeof blob !== 'string') throw \"Must pass a binary string when type='file'\"; */return parse(s2a(blob), options);\n\t}\n\treturn parse(/*::typeof blob == 'string' ? new Buffer(blob, 'utf-8') : */blob, options);\n}\n\nfunction init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {\n\tvar o = opts || {}, root = o.root || \"Root Entry\";\n\tif(!cfb.FullPaths) cfb.FullPaths = [];\n\tif(!cfb.FileIndex) cfb.FileIndex = [];\n\tif(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error(\"inconsistent CFB structure\");\n\tif(cfb.FullPaths.length === 0) {\n\t\tcfb.FullPaths[0] = root + \"/\";\n\t\tcfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);\n\t}\n\tif(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;\n\tseed_cfb(cfb);\n}\nfunction seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {\n\tvar nm = \"\\u0001Sh33tJ5\";\n\tif(CFB.find(cfb, \"/\" + nm)) return;\n\tvar p = new_buf(4); p[0] = 55; p[1] = p[3] = 50; p[2] = 54;\n\tcfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));\n\tcfb.FullPaths.push(cfb.FullPaths[0] + nm);\n\trebuild_cfb(cfb);\n}\nfunction rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {\n\tinit_cfb(cfb);\n\tvar gc = false, s = false;\n\tfor(var i = cfb.FullPaths.length - 1; i >= 0; --i) {\n\t\tvar _file = cfb.FileIndex[i];\n\t\tswitch(_file.type) {\n\t\t\tcase 0:\n\t\t\t\tif(s) gc = true;\n\t\t\t\telse { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }\n\t\t\t\tbreak;\n\t\t\tcase 1: case 2: case 5:\n\t\t\t\ts = true;\n\t\t\t\tif(isNaN(_file.R * _file.L * _file.C)) gc = true;\n\t\t\t\tif(_file.R > -1 && _file.L > -1 && _file.R == _file.L) gc = true;\n\t\t\t\tbreak;\n\t\t\tdefault: gc = true; break;\n\t\t}\n\t}\n\tif(!gc && !f) return;\n\n\tvar now = new Date(1987, 1, 19), j = 0;\n\t// Track which names exist\n\tvar fullPaths = Object.create ? Object.create(null) : {};\n\tvar data/*:Array<[string, CFBEntry]>*/ = [];\n\tfor(i = 0; i < cfb.FullPaths.length; ++i) {\n\t\tfullPaths[cfb.FullPaths[i]] = true;\n\t\tif(cfb.FileIndex[i].type === 0) continue;\n\t\tdata.push([cfb.FullPaths[i], cfb.FileIndex[i]]);\n\t}\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar dad = dirname(data[i][0]);\n\t\ts = fullPaths[dad];\n\t\twhile(!s) {\n\t\t\twhile(dirname(dad) && !fullPaths[dirname(dad)]) dad = dirname(dad);\n\n\t\t\tdata.push([dad, ({\n\t\t\t\tname: filename(dad).replace(\"/\",\"\"),\n\t\t\t\ttype: 1,\n\t\t\t\tclsid: HEADER_CLSID,\n\t\t\t\tct: now, mt: now,\n\t\t\t\tcontent: null\n\t\t\t}/*:any*/)]);\n\n\t\t\t// Add name to set\n\t\t\tfullPaths[dad] = true;\n\n\t\t\tdad = dirname(data[i][0]);\n\t\t\ts = fullPaths[dad];\n\t\t}\n\t}\n\n\tdata.sort(function(x,y) { return namecmp(x[0], y[0]); });\n\tcfb.FullPaths = []; cfb.FileIndex = [];\n\tfor(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }\n\tfor(i = 0; i < data.length; ++i) {\n\t\tvar elt = cfb.FileIndex[i];\n\t\tvar nm = cfb.FullPaths[i];\n\n\t\telt.name = filename(nm).replace(\"/\",\"\");\n\t\telt.L = elt.R = elt.C = -(elt.color = 1);\n\t\telt.size = elt.content ? elt.content.length : 0;\n\t\telt.start = 0;\n\t\telt.clsid = (elt.clsid || HEADER_CLSID);\n\t\tif(i === 0) {\n\t\t\telt.C = data.length > 1 ? 1 : -1;\n\t\t\telt.size = 0;\n\t\t\telt.type = 5;\n\t\t} else if(nm.slice(-1) == \"/\") {\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;\n\t\t\telt.C = j >= data.length ? -1 : j;\n\t\t\tfor(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;\n\t\t\telt.R = j >= data.length ? -1 : j;\n\t\t\telt.type = 1;\n\t\t} else {\n\t\t\tif(dirname(cfb.FullPaths[i+1]||\"\") == dirname(nm)) elt.R = i + 1;\n\t\t\telt.type = 2;\n\t\t}\n\t}\n\n}\n\nfunction _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar _opts = options || {};\n\t/* MAD is order-sensitive, skip rebuild and sort */\n\tif(_opts.fileType == 'mad') return write_mad(cfb, _opts);\n\trebuild_cfb(cfb);\n\tswitch(_opts.fileType) {\n\t\tcase 'zip': return write_zip(cfb, _opts);\n\t\t//case 'mad': return write_mad(cfb, _opts);\n\t}\n\tvar L = (function(cfb/*:CFBContainer*/)/*:Array*/{\n\t\tvar mini_size = 0, fat_size = 0;\n\t\tfor(var i = 0; i < cfb.FileIndex.length; ++i) {\n\t\t\tvar file = cfb.FileIndex[i];\n\t\t\tif(!file.content) continue;\n\t\t\tvar flen = file.content.length;\n\t\t\tif(flen > 0){\n\t\t\t\tif(flen < 0x1000) mini_size += (flen + 0x3F) >> 6;\n\t\t\t\telse fat_size += (flen + 0x01FF) >> 9;\n\t\t\t}\n\t\t}\n\t\tvar dir_cnt = (cfb.FullPaths.length +3) >> 2;\n\t\tvar mini_cnt = (mini_size + 7) >> 3;\n\t\tvar mfat_cnt = (mini_size + 0x7F) >> 7;\n\t\tvar fat_base = mini_cnt + fat_size + dir_cnt + mfat_cnt;\n\t\tvar fat_cnt = (fat_base + 0x7F) >> 7;\n\t\tvar difat_cnt = fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\twhile(((fat_base + fat_cnt + difat_cnt + 0x7F) >> 7) > fat_cnt) difat_cnt = ++fat_cnt <= 109 ? 0 : Math.ceil((fat_cnt-109)/0x7F);\n\t\tvar L = [1, difat_cnt, fat_cnt, mfat_cnt, dir_cnt, fat_size, mini_size, 0];\n\t\tcfb.FileIndex[0].size = mini_size << 6;\n\t\tL[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);\n\t\treturn L;\n\t})(cfb);\n\tvar o = new_buf(L[7] << 9);\n\tvar i = 0, T = 0;\n\t{\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(1, HEADER_SIG[i]);\n\t\tfor(i = 0; i < 8; ++i) o.write_shift(2, 0);\n\t\to.write_shift(2, 0x003E);\n\t\to.write_shift(2, 0x0003);\n\t\to.write_shift(2, 0xFFFE);\n\t\to.write_shift(2, 0x0009);\n\t\to.write_shift(2, 0x0006);\n\t\tfor(i = 0; i < 3; ++i) o.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, L[2]);\n\t\to.write_shift(4, L[0] + L[1] + L[2] + L[3] - 1);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, 1<<12);\n\t\to.write_shift(4, L[3] ? L[0] + L[1] + L[2] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[3]);\n\t\to.write_shift(-4, L[1] ? L[0] - 1: ENDOFCHAIN);\n\t\to.write_shift(4, L[1]);\n\t\tfor(i = 0; i < 109; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t}\n\tif(L[1]) {\n\t\tfor(T = 0; T < L[1]; ++T) {\n\t\t\tfor(; i < 236 + T * 127; ++i) o.write_shift(-4, i < L[2] ? L[1] + i : -1);\n\t\t\to.write_shift(-4, T === L[1] - 1 ? ENDOFCHAIN : T + 1);\n\t\t}\n\t}\n\tvar chainit = function(w/*:number*/)/*:void*/ {\n\t\tfor(T += w; i> 9);\n\t}\n\tchainit((L[6] + 7) >> 3);\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tT = i = 0;\n\tfor(j = 0; j < cfb.FileIndex.length; ++j) {\n\t\tfile = cfb.FileIndex[j];\n\t\tif(!file.content) continue;\n\t\t/*:: if(file.content == null) throw new Error(\"unreachable\"); */\n\t\tflen = file.content.length;\n\t\tif(!flen || flen >= 0x1000) continue;\n\t\tfile.start = T;\n\t\tchainit((flen + 0x3F) >> 6);\n\t}\n\twhile(o.l & 0x1FF) o.write_shift(-4, consts.ENDOFCHAIN);\n\tfor(i = 0; i < L[4]<<2; ++i) {\n\t\tvar nm = cfb.FullPaths[i];\n\t\tif(!nm || nm.length === 0) {\n\t\t\tfor(j = 0; j < 17; ++j) o.write_shift(4, 0);\n\t\t\tfor(j = 0; j < 3; ++j) o.write_shift(4, -1);\n\t\t\tfor(j = 0; j < 12; ++j) o.write_shift(4, 0);\n\t\t\tcontinue;\n\t\t}\n\t\tfile = cfb.FileIndex[i];\n\t\tif(i === 0) file.start = file.size ? file.start - 1 : ENDOFCHAIN;\n\t\tvar _nm/*:string*/ = (i === 0 && _opts.root) || file.name;\n\t\tif(_nm.length > 31) {\n\t\t\tconsole.error(\"Name \" + _nm + \" will be truncated to \" + _nm.slice(0,31));\n\t\t\t_nm = _nm.slice(0, 31);\n\t\t}\n\t\tflen = 2*(_nm.length+1);\n\t\to.write_shift(64, _nm, \"utf16le\");\n\t\to.write_shift(2, flen);\n\t\to.write_shift(1, file.type);\n\t\to.write_shift(1, file.color);\n\t\to.write_shift(-4, file.L);\n\t\to.write_shift(-4, file.R);\n\t\to.write_shift(-4, file.C);\n\t\tif(!file.clsid) for(j = 0; j < 4; ++j) o.write_shift(4, 0);\n\t\telse o.write_shift(16, file.clsid, \"hex\");\n\t\to.write_shift(4, file.state || 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, 0); o.write_shift(4, 0);\n\t\to.write_shift(4, file.start);\n\t\to.write_shift(4, file.size); o.write_shift(4, 0);\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size >= 0x1000) {\n\t\t\to.l = (file.start+1) << 9;\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 511) & -512;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x1FF; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tfor(i = 1; i < cfb.FileIndex.length; ++i) {\n\t\tfile = cfb.FileIndex[i];\n\t\t/*:: if(!file.content) throw new Error(\"unreachable\"); */\n\t\tif(file.size > 0 && file.size < 0x1000) {\n\t\t\tif (has_buf && Buffer.isBuffer(file.content)) {\n\t\t\t\tfile.content.copy(o, o.l, 0, file.size);\n\t\t\t\t// o is a 0-filled Buffer so just set next offset\n\t\t\t\to.l += (file.size + 63) & -64;\n\t\t\t} else {\n\t\t\t\tfor(j = 0; j < file.size; ++j) o.write_shift(1, file.content[j]);\n\t\t\t\tfor(; j & 0x3F; ++j) o.write_shift(1, 0);\n\t\t\t}\n\t\t}\n\t}\n\tif (has_buf) {\n\t\to.l = o.length;\n\t} else {\n\t\t// When using Buffer, already 0-filled\n\t\twhile(o.l < o.length) o.write_shift(1, 0);\n\t}\n\treturn o;\n}\n/* [MS-CFB] 2.6.4 (Unicode 3.0.1 case conversion) */\nfunction find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {\n\tvar UCFullPaths/*:Array*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });\n\tvar UCPaths/*:Array*/ = UCFullPaths.map(function(x) { var y = x.split(\"/\"); return y[y.length - (x.slice(-1) == \"/\" ? 2 : 1)]; });\n\tvar k/*:boolean*/ = false;\n\tif(path.charCodeAt(0) === 47 /* \"/\" */) { k = true; path = UCFullPaths[0].slice(0, -1) + path; }\n\telse k = path.indexOf(\"/\") !== -1;\n\tvar UCPath/*:string*/ = path.toUpperCase();\n\tvar w/*:number*/ = k === true ? UCFullPaths.indexOf(UCPath) : UCPaths.indexOf(UCPath);\n\tif(w !== -1) return cfb.FileIndex[w];\n\n\tvar m = !UCPath.match(chr1);\n\tUCPath = UCPath.replace(chr0,'');\n\tif(m) UCPath = UCPath.replace(chr1,'!');\n\tfor(w = 0; w < UCFullPaths.length; ++w) {\n\t\tif((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t\tif((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileIndex[w];\n\t}\n\treturn null;\n}\n/** CFB Constants */\nvar MSSZ = 64; /* Mini Sector Size = 1<<6 */\n//var MSCSZ = 4096; /* Mini Stream Cutoff Size */\n/* 2.1 Compound File Sector Numbers and Types */\nvar ENDOFCHAIN = -2;\n/* 2.2 Compound File Header */\nvar HEADER_SIGNATURE = 'd0cf11e0a1b11ae1';\nvar HEADER_SIG = [0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1];\nvar HEADER_CLSID = '00000000000000000000000000000000';\nvar consts = {\n\t/* 2.1 Compund File Sector Numbers and Types */\n\tMAXREGSECT: -6,\n\tDIFSECT: -4,\n\tFATSECT: -3,\n\tENDOFCHAIN: ENDOFCHAIN,\n\tFREESECT: -1,\n\t/* 2.2 Compound File Header */\n\tHEADER_SIGNATURE: HEADER_SIGNATURE,\n\tHEADER_MINOR_VERSION: '3e00',\n\tMAXREGSID: -6,\n\tNOSTREAM: -1,\n\tHEADER_CLSID: HEADER_CLSID,\n\t/* 2.6.1 Compound File Directory Entry */\n\tEntryTypes: ['unknown','storage','stream','lockbytes','property','root']\n};\n\nfunction write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {\n\tget_fs();\n\tvar o = _write(cfb, options);\n\t/*:: if(typeof Buffer == 'undefined' || !Buffer.isBuffer(o) || !(o instanceof Buffer)) throw new Error(\"unreachable\"); */\n\tfs.writeFileSync(filename, o);\n}\n\nfunction a2s(o/*:RawBytes*/)/*:string*/ {\n\tvar out = new Array(o.length);\n\tfor(var i = 0; i < o.length; ++i) out[i] = String.fromCharCode(o[i]);\n\treturn out.join(\"\");\n}\n\nfunction write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {\n\tvar o = _write(cfb, options);\n\tswitch(options && options.type || \"buffer\") {\n\t\tcase \"file\": get_fs(); fs.writeFileSync(options.filename, (o/*:any*/)); return o;\n\t\tcase \"binary\": return typeof o == \"string\" ? o : a2s(o);\n\t\tcase \"base64\": return Base64_encode(typeof o == \"string\" ? o : a2s(o));\n\t\tcase \"buffer\": if(has_buf) return Buffer.isBuffer(o) ? o : Buffer_from(o);\n\t\t\t/* falls through */\n\t\tcase \"array\": return typeof o == \"string\" ? s2a(o) : o;\n\t}\n\treturn o;\n}\n/* node < 8.1 zlib does not expose bytesRead, so default to pure JS */\nvar _zlib;\nfunction use_zlib(zlib) { try {\n\tvar InflateRaw = zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tInflRaw._processChunk(new Uint8Array([3, 0]), InflRaw._finishFlushFlag);\n\tif(InflRaw.bytesRead) _zlib = zlib;\n\telse throw new Error(\"zlib does not expose bytesRead\");\n} catch(e) {console.error(\"cannot use native zlib: \" + (e.message || e)); } }\n\nfunction _inflateRawSync(payload, usz) {\n\tif(!_zlib) return _inflate(payload, usz);\n\tvar InflateRaw = _zlib.InflateRaw;\n\tvar InflRaw = new InflateRaw();\n\tvar out = InflRaw._processChunk(payload.slice(payload.l), InflRaw._finishFlushFlag);\n\tpayload.l += InflRaw.bytesRead;\n\treturn out;\n}\n\nfunction _deflateRawSync(payload) {\n\treturn _zlib ? _zlib.deflateRawSync(payload) : _deflate(payload);\n}\nvar CLEN_ORDER = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n/* LEN_ID = [ 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285 ]; */\nvar LEN_LN = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13 , 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258 ];\n\n/* DST_ID = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]; */\nvar DST_LN = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577 ];\n\nfunction bit_swap_8(n) { var t = (((((n<<1)|(n<<11)) & 0x22110) | (((n<<5)|(n<<15)) & 0x88440))); return ((t>>16) | (t>>8) |t)&0xFF; }\n\nvar use_typed_arrays = typeof Uint8Array !== 'undefined';\n\nvar bitswap8 = use_typed_arrays ? new Uint8Array(1<<8) : [];\nfor(var q = 0; q < (1<<8); ++q) bitswap8[q] = bit_swap_8(q);\n\nfunction bit_swap_n(n, b) {\n\tvar rev = bitswap8[n & 0xFF];\n\tif(b <= 8) return rev >>> (8-b);\n\trev = (rev << 8) | bitswap8[(n>>8)&0xFF];\n\tif(b <= 16) return rev >>> (16-b);\n\trev = (rev << 8) | bitswap8[(n>>16)&0xFF];\n\treturn rev >>> (24-b);\n}\n\n/* helpers for unaligned bit reads */\nfunction read_bits_2(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 6 ? 0 : buf[h+1]<<8))>>>w)& 0x03; }\nfunction read_bits_3(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 5 ? 0 : buf[h+1]<<8))>>>w)& 0x07; }\nfunction read_bits_4(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 4 ? 0 : buf[h+1]<<8))>>>w)& 0x0F; }\nfunction read_bits_5(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 3 ? 0 : buf[h+1]<<8))>>>w)& 0x1F; }\nfunction read_bits_7(buf, bl) { var w = (bl&7), h = (bl>>>3); return ((buf[h]|(w <= 1 ? 0 : buf[h+1]<<8))>>>w)& 0x7F; }\n\n/* works up to n = 3 * 8 + 1 = 25 */\nfunction read_bits_n(buf, bl, n) {\n\tvar w = (bl&7), h = (bl>>>3), f = ((1<>> w;\n\tif(n < 8 - w) return v & f;\n\tv |= buf[h+1]<<(8-w);\n\tif(n < 16 - w) return v & f;\n\tv |= buf[h+2]<<(16-w);\n\tif(n < 24 - w) return v & f;\n\tv |= buf[h+3]<<(24-w);\n\treturn v & f;\n}\n\n/* helpers for unaligned bit writes */\nfunction write_bits_3(buf, bl, v) { var w = bl & 7, h = bl >>> 3;\n\tif(w <= 5) buf[h] |= (v & 7) << w;\n\telse {\n\t\tbuf[h] |= (v << w) & 0xFF;\n\t\tbuf[h+1] = (v&7) >> (8-w);\n\t}\n\treturn bl + 3;\n}\n\nfunction write_bits_1(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv = (v&1) << w;\n\tbuf[h] |= v;\n\treturn bl + 1;\n}\nfunction write_bits_8(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v;\n\treturn bl + 8;\n}\nfunction write_bits_16(buf, bl, v) {\n\tvar w = bl & 7, h = bl >>> 3;\n\tv <<= w;\n\tbuf[h] |= v & 0xFF; v >>>= 8;\n\tbuf[h+1] = v & 0xFF;\n\tbuf[h+2] = v >>> 8;\n\treturn bl + 16;\n}\n\n/* until ArrayBuffer#realloc is a thing, fake a realloc */\nfunction realloc(b, sz/*:number*/) {\n\tvar L = b.length, M = 2*L > sz ? 2*L : sz + 5, i = 0;\n\tif(L >= sz) return b;\n\tif(has_buf) {\n\t\tvar o = new_unsafe_buf(M);\n\t\t// $FlowIgnore\n\t\tif(b.copy) b.copy(o);\n\t\telse for(; i < b.length; ++i) o[i] = b[i];\n\t\treturn o;\n\t} else if(use_typed_arrays) {\n\t\tvar a = new Uint8Array(M);\n\t\tif(a.set) a.set(b);\n\t\telse for(; i < L; ++i) a[i] = b[i];\n\t\treturn a;\n\t}\n\tb.length = M;\n\treturn b;\n}\n\n/* zero-filled arrays for older browsers */\nfunction zero_fill_array(n) {\n\tvar o = new Array(n);\n\tfor(var i = 0; i < n; ++i) o[i] = 0;\n\treturn o;\n}\n\n/* build tree (used for literals and lengths) */\nfunction build_tree(clens, cmap, MAX/*:number*/)/*:number*/ {\n\tvar maxlen = 1, w = 0, i = 0, j = 0, ccode = 0, L = clens.length;\n\n\tvar bl_count = use_typed_arrays ? new Uint16Array(32) : zero_fill_array(32);\n\tfor(i = 0; i < 32; ++i) bl_count[i] = 0;\n\n\tfor(i = L; i < MAX; ++i) clens[i] = 0;\n\tL = clens.length;\n\n\tvar ctree = use_typed_arrays ? new Uint16Array(L) : zero_fill_array(L); // []\n\n\t/* build code tree */\n\tfor(i = 0; i < L; ++i) {\n\t\tbl_count[(w = clens[i])]++;\n\t\tif(maxlen < w) maxlen = w;\n\t\tctree[i] = 0;\n\t}\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) bl_count[i+16] = (ccode = (ccode + bl_count[i-1])<<1);\n\tfor(i = 0; i < L; ++i) {\n\t\tccode = clens[i];\n\t\tif(ccode != 0) ctree[i] = bl_count[ccode+16]++;\n\t}\n\n\t/* cmap[maxlen + 4 bits] = (off&15) + (lit<<4) reverse mapping */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bit_swap_n(ctree[i], maxlen)>>(maxlen-cleni);\n\t\t\tfor(j = (1<<(maxlen + 4 - cleni)) - 1; j>=0; --j)\n\t\t\t\tcmap[ccode|(j<*/ = [];\n\tvar i = 0;\n\tfor(;i<32; i++) dlens.push(5);\n\tbuild_tree(dlens, fix_dmap, 32);\n\n\tvar clens/*:Array*/ = [];\n\ti = 0;\n\tfor(; i<=143; i++) clens.push(8);\n\tfor(; i<=255; i++) clens.push(9);\n\tfor(; i<=279; i++) clens.push(7);\n\tfor(; i<=287; i++) clens.push(8);\n\tbuild_tree(clens, fix_lmap, 288);\n})();var _deflateRaw = /*#__PURE__*/(function _deflateRawIIFE() {\n\tvar DST_LN_RE = use_typed_arrays ? new Uint8Array(0x8000) : [];\n\tvar j = 0, k = 0;\n\tfor(; j < DST_LN.length - 1; ++j) {\n\t\tfor(; k < DST_LN[j+1]; ++k) DST_LN_RE[k] = j;\n\t}\n\tfor(;k < 32768; ++k) DST_LN_RE[k] = 29;\n\n\tvar LEN_LN_RE = use_typed_arrays ? new Uint8Array(0x103) : [];\n\tfor(j = 0, k = 0; j < LEN_LN.length - 1; ++j) {\n\t\tfor(; k < LEN_LN[j+1]; ++k) LEN_LN_RE[k] = j;\n\t}\n\n\tfunction write_stored(data, out) {\n\t\tvar boff = 0;\n\t\twhile(boff < data.length) {\n\t\t\tvar L = Math.min(0xFFFF, data.length - boff);\n\t\t\tvar h = boff + L == data.length;\n\t\t\tout.write_shift(1, +h);\n\t\t\tout.write_shift(2, L);\n\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t}\n\t\treturn out.l;\n\t}\n\n\t/* Fixed Huffman */\n\tfunction write_huff_fixed(data, out) {\n\t\tvar bl = 0;\n\t\tvar boff = 0;\n\t\tvar addrs = use_typed_arrays ? new Uint16Array(0x8000) : [];\n\t\twhile(boff < data.length) {\n\t\t\tvar L = /* data.length - boff; */ Math.min(0xFFFF, data.length - boff);\n\n\t\t\t/* write a stored block for short data */\n\t\t\tif(L < 10) {\n\t\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length)); // jshint ignore:line\n\t\t\t\tif(bl & 7) bl += 8 - (bl & 7);\n\t\t\t\tout.l = (bl / 8) | 0;\n\t\t\t\tout.write_shift(2, L);\n\t\t\t\tout.write_shift(2, (~L) & 0xFFFF);\n\t\t\t\twhile(L-- > 0) out[out.l++] = data[boff++];\n\t\t\t\tbl = out.l * 8;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tbl = write_bits_3(out, bl, +!!(boff + L == data.length) + 2); // jshint ignore:line\n\t\t\tvar hash = 0;\n\t\t\twhile(L-- > 0) {\n\t\t\t\tvar d = data[boff];\n\t\t\t\thash = ((hash << 5) ^ d) & 0x7FFF;\n\n\t\t\t\tvar match = -1, mlen = 0;\n\n\t\t\t\tif((match = addrs[hash])) {\n\t\t\t\t\tmatch |= boff & ~0x7FFF;\n\t\t\t\t\tif(match > boff) match -= 0x8000;\n\t\t\t\t\tif(match < boff) while(data[match + mlen] == data[boff + mlen] && mlen < 250) ++mlen;\n\t\t\t\t}\n\n\t\t\t\tif(mlen > 2) {\n\t\t\t\t\t/* Copy Token */\n\t\t\t\t\td = LEN_LN_RE[mlen];\n\t\t\t\t\tif(d <= 22) bl = write_bits_8(out, bl, bitswap8[d+1]>>1) - 1;\n\t\t\t\t\telse {\n\t\t\t\t\t\twrite_bits_8(out, bl, 3);\n\t\t\t\t\t\tbl += 5;\n\t\t\t\t\t\twrite_bits_8(out, bl, bitswap8[d-23]>>5);\n\t\t\t\t\t\tbl += 3;\n\t\t\t\t\t}\n\t\t\t\t\tvar len_eb = (d < 8) ? 0 : ((d - 4)>>2);\n\t\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, mlen - LEN_LN[d]);\n\t\t\t\t\t\tbl += len_eb;\n\t\t\t\t\t}\n\n\t\t\t\t\td = DST_LN_RE[boff - match];\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]>>3);\n\t\t\t\t\tbl -= 3;\n\n\t\t\t\t\tvar dst_eb = d < 4 ? 0 : (d-2)>>1;\n\t\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\t\twrite_bits_16(out, bl, boff - match - DST_LN[d]);\n\t\t\t\t\t\tbl += dst_eb;\n\t\t\t\t\t}\n\t\t\t\t\tfor(var q = 0; q < mlen; ++q) {\n\t\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t\thash = ((hash << 5) ^ data[boff]) & 0x7FFF;\n\t\t\t\t\t\t++boff;\n\t\t\t\t\t}\n\t\t\t\t\tL-= mlen - 1;\n\t\t\t\t} else {\n\t\t\t\t\t/* Literal Token */\n\t\t\t\t\tif(d <= 143) d = d + 48;\n\t\t\t\t\telse bl = write_bits_1(out, bl, 1);\n\t\t\t\t\tbl = write_bits_8(out, bl, bitswap8[d]);\n\t\t\t\t\taddrs[hash] = boff & 0x7FFF;\n\t\t\t\t\t++boff;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbl = write_bits_8(out, bl, 0) - 1;\n\t\t}\n\t\tout.l = ((bl + 7)/8)|0;\n\t\treturn out.l;\n\t}\n\treturn function _deflateRaw(data, out) {\n\t\tif(data.length < 8) return write_stored(data, out);\n\t\treturn write_huff_fixed(data, out);\n\t};\n})();\n\nfunction _deflate(data) {\n\tvar buf = new_buf(50+Math.floor(data.length*1.1));\n\tvar off = _deflateRaw(data, buf);\n\treturn buf.slice(0, off);\n}\n/* modified inflate function also moves original read head */\n\nvar dyn_lmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_dmap = use_typed_arrays ? new Uint16Array(32768) : zero_fill_array(32768);\nvar dyn_cmap = use_typed_arrays ? new Uint16Array(128) : zero_fill_array(128);\nvar dyn_len_1 = 1, dyn_len_2 = 1;\n\n/* 5.5.3 Expanding Huffman Codes */\nfunction dyn(data, boff/*:number*/) {\n\t/* nomenclature from RFC1951 refers to bit values; these are offset by the implicit constant */\n\tvar _HLIT = read_bits_5(data, boff) + 257; boff += 5;\n\tvar _HDIST = read_bits_5(data, boff) + 1; boff += 5;\n\tvar _HCLEN = read_bits_4(data, boff) + 4; boff += 4;\n\tvar w = 0;\n\n\t/* grab and store code lengths */\n\tvar clens = use_typed_arrays ? new Uint8Array(19) : zero_fill_array(19);\n\tvar ctree = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ];\n\tvar maxlen = 1;\n\tvar bl_count = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar next_code = use_typed_arrays ? new Uint8Array(8) : zero_fill_array(8);\n\tvar L = clens.length; /* 19 */\n\tfor(var i = 0; i < _HCLEN; ++i) {\n\t\tclens[CLEN_ORDER[i]] = w = read_bits_3(data, boff);\n\t\tif(maxlen < w) maxlen = w;\n\t\tbl_count[w]++;\n\t\tboff += 3;\n\t}\n\n\t/* build code tree */\n\tvar ccode = 0;\n\tbl_count[0] = 0;\n\tfor(i = 1; i <= maxlen; ++i) next_code[i] = ccode = (ccode + bl_count[i-1])<<1;\n\tfor(i = 0; i < L; ++i) if((ccode = clens[i]) != 0) ctree[i] = next_code[ccode]++;\n\t/* cmap[7 bits from stream] = (off&7) + (lit<<3) */\n\tvar cleni = 0;\n\tfor(i = 0; i < L; ++i) {\n\t\tcleni = clens[i];\n\t\tif(cleni != 0) {\n\t\t\tccode = bitswap8[ctree[i]]>>(8-cleni);\n\t\t\tfor(var j = (1<<(7-cleni))-1; j>=0; --j) dyn_cmap[ccode|(j<*/ = [];\n\tmaxlen = 1;\n\tfor(; hcodes.length < _HLIT + _HDIST;) {\n\t\tccode = dyn_cmap[read_bits_7(data, boff)];\n\t\tboff += ccode & 7;\n\t\tswitch((ccode >>>= 3)) {\n\t\t\tcase 16:\n\t\t\t\tw = 3 + read_bits_2(data, boff); boff += 2;\n\t\t\t\tccode = hcodes[hcodes.length - 1];\n\t\t\t\twhile(w-- > 0) hcodes.push(ccode);\n\t\t\t\tbreak;\n\t\t\tcase 17:\n\t\t\t\tw = 3 + read_bits_3(data, boff); boff += 3;\n\t\t\t\twhile(w-- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tcase 18:\n\t\t\t\tw = 11 + read_bits_7(data, boff); boff += 7;\n\t\t\t\twhile(w -- > 0) hcodes.push(0);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\thcodes.push(ccode);\n\t\t\t\tif(maxlen < ccode) maxlen = ccode;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/* build literal / length trees */\n\tvar h1 = hcodes.slice(0, _HLIT), h2 = hcodes.slice(_HLIT);\n\tfor(i = _HLIT; i < 286; ++i) h1[i] = 0;\n\tfor(i = _HDIST; i < 30; ++i) h2[i] = 0;\n\tdyn_len_1 = build_tree(h1, dyn_lmap, 286);\n\tdyn_len_2 = build_tree(h2, dyn_dmap, 30);\n\treturn boff;\n}\n\n/* return [ data, bytesRead ] */\nfunction inflate(data, usz/*:number*/) {\n\t/* shortcircuit for empty buffer [0x03, 0x00] */\n\tif(data[0] == 3 && !(data[1] & 0x3)) { return [new_raw_buf(usz), 2]; }\n\n\t/* bit offset */\n\tvar boff = 0;\n\n\t/* header includes final bit and type bits */\n\tvar header = 0;\n\n\tvar outbuf = new_unsafe_buf(usz ? usz : (1<<18));\n\tvar woff = 0;\n\tvar OL = outbuf.length>>>0;\n\tvar max_len_1 = 0, max_len_2 = 0;\n\n\twhile((header&1) == 0) {\n\t\theader = read_bits_3(data, boff); boff += 3;\n\t\tif((header >>> 1) == 0) {\n\t\t\t/* Stored block */\n\t\t\tif(boff & 7) boff += 8 - (boff&7);\n\t\t\t/* 2 bytes sz, 2 bytes bit inverse */\n\t\t\tvar sz = data[boff>>>3] | data[(boff>>>3)+1]<<8;\n\t\t\tboff += 32;\n\t\t\t/* push sz bytes */\n\t\t\tif(sz > 0) {\n\t\t\t\tif(!usz && OL < woff + sz) { outbuf = realloc(outbuf, woff + sz); OL = outbuf.length; }\n\t\t\t\twhile(sz-- > 0) { outbuf[woff++] = data[boff>>>3]; boff += 8; }\n\t\t\t}\n\t\t\tcontinue;\n\t\t} else if((header >> 1) == 1) {\n\t\t\t/* Fixed Huffman */\n\t\t\tmax_len_1 = 9; max_len_2 = 5;\n\t\t} else {\n\t\t\t/* Dynamic Huffman */\n\t\t\tboff = dyn(data, boff);\n\t\t\tmax_len_1 = dyn_len_1; max_len_2 = dyn_len_2;\n\t\t}\n\t\tfor(;;) { // while(true) is apparently out of vogue in modern JS circles\n\t\t\tif(!usz && (OL < woff + 32767)) { outbuf = realloc(outbuf, woff + 32767); OL = outbuf.length; }\n\t\t\t/* ingest code and move read head */\n\t\t\tvar bits = read_bits_n(data, boff, max_len_1);\n\t\t\tvar code = (header>>>1) == 1 ? fix_lmap[bits] : dyn_lmap[bits];\n\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t/* 0-255 are literals, 256 is end of block token, 257+ are copy tokens */\n\t\t\tif(((code>>>8)&0xFF) === 0) outbuf[woff++] = code;\n\t\t\telse if(code == 256) break;\n\t\t\telse {\n\t\t\t\tcode -= 257;\n\t\t\t\tvar len_eb = (code < 8) ? 0 : ((code-4)>>2); if(len_eb > 5) len_eb = 0;\n\t\t\t\tvar tgt = woff + LEN_LN[code];\n\t\t\t\t/* length extra bits */\n\t\t\t\tif(len_eb > 0) {\n\t\t\t\t\ttgt += read_bits_n(data, boff, len_eb);\n\t\t\t\t\tboff += len_eb;\n\t\t\t\t}\n\n\t\t\t\t/* dist code */\n\t\t\t\tbits = read_bits_n(data, boff, max_len_2);\n\t\t\t\tcode = (header>>>1) == 1 ? fix_dmap[bits] : dyn_dmap[bits];\n\t\t\t\tboff += code & 15; code >>>= 4;\n\t\t\t\tvar dst_eb = (code < 4 ? 0 : (code-2)>>1);\n\t\t\t\tvar dst = DST_LN[code];\n\t\t\t\t/* dist extra bits */\n\t\t\t\tif(dst_eb > 0) {\n\t\t\t\t\tdst += read_bits_n(data, boff, dst_eb);\n\t\t\t\t\tboff += dst_eb;\n\t\t\t\t}\n\n\t\t\t\t/* in the common case, manual byte copy is faster than TA set / Buffer copy */\n\t\t\t\tif(!usz && OL < tgt) { outbuf = realloc(outbuf, tgt + 100); OL = outbuf.length; }\n\t\t\t\twhile(woff < tgt) { outbuf[woff] = outbuf[woff - dst]; ++woff; }\n\t\t\t}\n\t\t}\n\t}\n\tif(usz) return [outbuf, (boff+7)>>>3];\n\treturn [outbuf.slice(0, woff), (boff+7)>>>3];\n}\n\nfunction _inflate(payload, usz) {\n\tvar data = payload.slice(payload.l||0);\n\tvar out = inflate(data, usz);\n\tpayload.l += out[1];\n\treturn out[0];\n}\n\nfunction warn_or_throw(wrn, msg) {\n\tif(wrn) { if(typeof console !== 'undefined') console.error(msg); }\n\telse throw new Error(msg);\n}\n\nfunction parse_zip(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tvar blob/*:CFBlob*/ = /*::(*/file/*:: :any)*/;\n\tprep_blob(blob, 0);\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o, { root: options.root });\n\n\t/* find end of central directory, start just after signature */\n\tvar i = blob.length - 4;\n\twhile((blob[i] != 0x50 || blob[i+1] != 0x4b || blob[i+2] != 0x05 || blob[i+3] != 0x06) && i >= 0) --i;\n\tblob.l = i + 4;\n\n\t/* parse end of central directory */\n\tblob.l += 4;\n\tvar fcnt = blob.read_shift(2);\n\tblob.l += 6;\n\tvar start_cd = blob.read_shift(4);\n\n\t/* parse central directory */\n\tblob.l = start_cd;\n\n\tfor(i = 0; i < fcnt; ++i) {\n\t\t/* trust local file header instead of CD entry */\n\t\tblob.l += 20;\n\t\tvar csz = blob.read_shift(4);\n\t\tvar usz = blob.read_shift(4);\n\t\tvar namelen = blob.read_shift(2);\n\t\tvar efsz = blob.read_shift(2);\n\t\tvar fcsz = blob.read_shift(2);\n\t\tblob.l += 8;\n\t\tvar offset = blob.read_shift(4);\n\t\tvar EF = parse_extra_field(/*::(*/blob.slice(blob.l+namelen, blob.l+namelen+efsz)/*:: :any)*/);\n\t\tblob.l += namelen + efsz + fcsz;\n\n\t\tvar L = blob.l;\n\t\tblob.l = offset + 4;\n\t\t/* ZIP64 lengths */\n\t\tif(EF && EF[0x0001]) {\n\t\t\tif((EF[0x0001]||{}).usz) usz = EF[0x0001].usz;\n\t\t\tif((EF[0x0001]||{}).csz) csz = EF[0x0001].csz;\n\t\t}\n\t\tparse_local_file(blob, csz, usz, o, EF);\n\t\tblob.l = L;\n\t}\n\n\treturn o;\n}\n\n\n/* head starts just after local file header signature */\nfunction parse_local_file(blob/*:CFBlob*/, csz/*:number*/, usz/*:number*/, o/*:CFBContainer*/, EF) {\n\t/* [local file header] */\n\tblob.l += 2;\n\tvar flags = blob.read_shift(2);\n\tvar meth = blob.read_shift(2);\n\tvar date = parse_dos_date(blob);\n\n\tif(flags & 0x2041) throw new Error(\"Unsupported ZIP encryption\");\n\tvar crc32 = blob.read_shift(4);\n\tvar _csz = blob.read_shift(4);\n\tvar _usz = blob.read_shift(4);\n\n\tvar namelen = blob.read_shift(2);\n\tvar efsz = blob.read_shift(2);\n\n\t// TODO: flags & (1<<11) // UTF8\n\tvar name = \"\"; for(var i = 0; i < namelen; ++i) name += String.fromCharCode(blob[blob.l++]);\n\tif(efsz) {\n\t\tvar ef = parse_extra_field(/*::(*/blob.slice(blob.l, blob.l + efsz)/*:: :any)*/);\n\t\tif((ef[0x5455]||{}).mt) date = ef[0x5455].mt;\n\t\tif((ef[0x0001]||{}).usz) _usz = ef[0x0001].usz;\n\t\tif((ef[0x0001]||{}).csz) _csz = ef[0x0001].csz;\n\t\tif(EF) {\n\t\t\tif((EF[0x5455]||{}).mt) date = EF[0x5455].mt;\n\t\t\tif((EF[0x0001]||{}).usz) _usz = EF[0x0001].usz;\n\t\t\tif((EF[0x0001]||{}).csz) _csz = EF[0x0001].csz;\n\t\t}\n\t}\n\tblob.l += efsz;\n\n\t/* [encryption header] */\n\n\t/* [file data] */\n\tvar data = blob.slice(blob.l, blob.l + _csz);\n\tswitch(meth) {\n\t\tcase 8: data = _inflateRawSync(blob, _usz); break;\n\t\tcase 0: blob.l += _csz; break; // TODO: scan for magic number\n\t\tdefault: throw new Error(\"Unsupported ZIP Compression method \" + meth);\n\t}\n\n\t/* [data descriptor] */\n\tvar wrn = false;\n\tif(flags & 8) {\n\t\tcrc32 = blob.read_shift(4);\n\t\tif(crc32 == 0x08074b50) { crc32 = blob.read_shift(4); wrn = true; }\n\t\t_csz = blob.read_shift(4);\n\t\t_usz = blob.read_shift(4);\n\t}\n\n\tif(_csz != csz) warn_or_throw(wrn, \"Bad compressed size: \" + csz + \" != \" + _csz);\n\tif(_usz != usz) warn_or_throw(wrn, \"Bad uncompressed size: \" + usz + \" != \" + _usz);\n\t//var _crc32 = CRC32.buf(data, 0);\n\t//if((crc32>>0) != (_crc32>>0)) warn_or_throw(wrn, \"Bad CRC32 checksum: \" + crc32 + \" != \" + _crc32);\n\tcfb_add(o, name, data, {unsafe: true, mt: date});\n}\nfunction write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {\n\tvar _opts = options || {};\n\tvar out = [], cdirs = [];\n\tvar o/*:CFBlob*/ = new_buf(1);\n\tvar method = (_opts.compression ? 8 : 0), flags = 0;\n\tvar desc = false;\n\tif(desc) flags |= 8;\n\tvar i = 0, j = 0;\n\n\tvar start_cd = 0, fcnt = 0;\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tvar crcs = [];\n\tvar sz_cd = 0;\n\n\tfor(i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || (Array.isArray(fi.content) && fi.content.length == 0) || fp == \"\\u0001Sh33tJ5\") continue;\n\t\tvar start = start_cd;\n\n\n\t\t/* TODO: CP437 filename */\n\t\tvar namebuf = new_buf(fp.length);\n\t\tfor(j = 0; j < fp.length; ++j) namebuf.write_shift(1, fp.charCodeAt(j) & 0x7F);\n\t\tnamebuf = namebuf.slice(0, namebuf.l);\n\t\tcrcs[fcnt] = typeof fi.content == \"string\" ? CRC32.bstr(fi.content, 0) : CRC32.buf(/*::((*/fi.content/*::||[]):any)*/, 0);\n\n\t\tvar outbuf = typeof fi.content == \"string\" ? s2a(fi.content) : fi.content/*::||[]*/;\n\t\tif(method == 8) outbuf = _deflateRawSync(outbuf);\n\n\t\t/* local file header */\n\t\to = new_buf(30);\n\t\to.write_shift(4, 0x04034b50);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\t/* TODO: last mod file time/date */\n\t\tif(fi.mt) write_dos_date(o, fi.mt);\n\t\telse o.write_shift(4, 0);\n\t\to.write_shift(-4, (flags & 8) ? 0 : crcs[fcnt]);\n\t\to.write_shift(4, (flags & 8) ? 0 : outbuf.length);\n\t\to.write_shift(4, (flags & 8) ? 0 : /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\n\t\tstart_cd += o.length;\n\t\tout.push(o);\n\t\tstart_cd += namebuf.length;\n\t\tout.push(namebuf);\n\n\t\t/* TODO: extra fields? */\n\n\t\t/* TODO: encryption header ? */\n\n\t\tstart_cd += outbuf.length;\n\t\tout.push(outbuf);\n\n\t\t/* data descriptor */\n\t\tif(flags & 8) {\n\t\t\to = new_buf(12);\n\t\t\to.write_shift(-4, crcs[fcnt]);\n\t\t\to.write_shift(4, outbuf.length);\n\t\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\t\tstart_cd += o.l;\n\t\t\tout.push(o);\n\t\t}\n\n\t\t/* central directory */\n\t\to = new_buf(46);\n\t\to.write_shift(4, 0x02014b50);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 20);\n\t\to.write_shift(2, flags);\n\t\to.write_shift(2, method);\n\t\to.write_shift(4, 0); /* TODO: last mod file time/date */\n\t\to.write_shift(-4, crcs[fcnt]);\n\n\t\to.write_shift(4, outbuf.length);\n\t\to.write_shift(4, /*::(*/fi.content/*::||[])*/.length);\n\t\to.write_shift(2, namebuf.length);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(4, 0);\n\t\to.write_shift(4, start);\n\n\t\tsz_cd += o.l;\n\t\tcdirs.push(o);\n\t\tsz_cd += namebuf.length;\n\t\tcdirs.push(namebuf);\n\t\t++fcnt;\n\t}\n\n\t/* end of central directory */\n\to = new_buf(22);\n\to.write_shift(4, 0x06054b50);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, fcnt);\n\to.write_shift(2, fcnt);\n\to.write_shift(4, sz_cd);\n\to.write_shift(4, start_cd);\n\to.write_shift(2, 0);\n\n\treturn bconcat(([bconcat((out/*:any*/)), bconcat(cdirs), o]/*:any*/));\n}\nvar ContentTypeMap = ({\n\t\"htm\": \"text/html\",\n\t\"xml\": \"text/xml\",\n\n\t\"gif\": \"image/gif\",\n\t\"jpg\": \"image/jpeg\",\n\t\"png\": \"image/png\",\n\n\t\"mso\": \"application/x-mso\",\n\t\"thmx\": \"application/vnd.ms-officetheme\",\n\t\"sh33tj5\": \"application/octet-stream\"\n}/*:any*/);\n\nfunction get_content_type(fi/*:CFBEntry*/, fp/*:string*/)/*:string*/ {\n\tif(fi.ctype) return fi.ctype;\n\n\tvar ext = fi.name || \"\", m = ext.match(/\\.([^\\.]+)$/);\n\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\n\tif(fp) {\n\t\tm = (ext = fp).match(/[\\.\\\\]([^\\.\\\\])+$/);\n\t\tif(m && ContentTypeMap[m[1]]) return ContentTypeMap[m[1]];\n\t}\n\n\treturn \"application/octet-stream\";\n}\n\n/* 76 character chunks TODO: intertwine encoding */\nfunction write_base64_76(bstr/*:string*/)/*:string*/ {\n\tvar data = Base64_encode(bstr);\n\tvar o = [];\n\tfor(var i = 0; i < data.length; i+= 76) o.push(data.slice(i, i+76));\n\treturn o.join(\"\\r\\n\") + \"\\r\\n\";\n}\n\n/*\nRules for QP:\n\t- escape =## applies for all non-display characters and literal \"=\"\n\t- space or tab at end of line must be encoded\n\t- \\r\\n newlines can be preserved, but bare \\r and \\n must be escaped\n\t- lines must not exceed 76 characters, use soft breaks =\\r\\n\n\nTODO: Some files from word appear to write line extensions with bare equals:\n\n```\n*/ = [], split = encoded.split(\"\\r\\n\");\n\tfor(var si = 0; si < split.length; ++si) {\n\t\tvar str = split[si];\n\t\tif(str.length == 0) { o.push(\"\"); continue; }\n\t\tfor(var i = 0; i < str.length;) {\n\t\t\tvar end = 76;\n\t\t\tvar tmp = str.slice(i, i + end);\n\t\t\tif(tmp.charAt(end - 1) == \"=\") end --;\n\t\t\telse if(tmp.charAt(end - 2) == \"=\") end -= 2;\n\t\t\telse if(tmp.charAt(end - 3) == \"=\") end -= 3;\n\t\t\ttmp = str.slice(i, i + end);\n\t\t\ti += end;\n\t\t\tif(i < str.length) tmp += \"=\";\n\t\t\to.push(tmp);\n\t\t}\n\t}\n\n\treturn o.join(\"\\r\\n\");\n}\nfunction parse_quoted_printable(data/*:Array*/)/*:RawBytes*/ {\n\tvar o = [];\n\n\t/* unify long lines */\n\tfor(var di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\twhile(di <= data.length && line.charAt(line.length - 1) == \"=\") line = line.slice(0, line.length - 1) + data[++di];\n\t\to.push(line);\n\t}\n\n\t/* decode */\n\tfor(var oi = 0; oi < o.length; ++oi) o[oi] = o[oi].replace(/[=][0-9A-Fa-f]{2}/g, function($$) { return String.fromCharCode(parseInt($$.slice(1), 16)); });\n\treturn s2a(o.join(\"\\r\\n\"));\n}\n\n\nfunction parse_mime(cfb/*:CFBContainer*/, data/*:Array*/, root/*:string*/)/*:void*/ {\n\tvar fname = \"\", cte = \"\", ctype = \"\", fdata;\n\tvar di = 0;\n\tfor(;di < 10; ++di) {\n\t\tvar line = data[di];\n\t\tif(!line || line.match(/^\\s*$/)) break;\n\t\tvar m = line.match(/^([^:]*?):\\s*([^\\s].*)$/);\n\t\tif(m) switch(m[1].toLowerCase()) {\n\t\t\tcase \"content-location\": fname = m[2].trim(); break;\n\t\t\tcase \"content-type\": ctype = m[2].trim(); break;\n\t\t\tcase \"content-transfer-encoding\": cte = m[2].trim(); break;\n\t\t}\n\t}\n\t++di;\n\tswitch(cte.toLowerCase()) {\n\t\tcase 'base64': fdata = s2a(Base64_decode(data.slice(di).join(\"\"))); break;\n\t\tcase 'quoted-printable': fdata = parse_quoted_printable(data.slice(di)); break;\n\t\tdefault: throw new Error(\"Unsupported Content-Transfer-Encoding \" + cte);\n\t}\n\tvar file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});\n\tif(ctype) file.ctype = ctype;\n}\n\nfunction parse_mad(file/*:RawBytes*/, options/*:CFBReadOpts*/)/*:CFBContainer*/ {\n\tif(a2s(file.slice(0,13)).toLowerCase() != \"mime-version:\") throw new Error(\"Unsupported MAD header\");\n\tvar root = (options && options.root || \"\");\n\t// $FlowIgnore\n\tvar data = (has_buf && Buffer.isBuffer(file) ? file.toString(\"binary\") : a2s(file)).split(\"\\r\\n\");\n\tvar di = 0, row = \"\";\n\n\t/* if root is not specified, scan for the common prefix */\n\tfor(di = 0; di < data.length; ++di) {\n\t\trow = data[di];\n\t\tif(!/^Content-Location:/i.test(row)) continue;\n\t\trow = row.slice(row.indexOf(\"file\"));\n\t\tif(!root) root = row.slice(0, row.lastIndexOf(\"/\") + 1);\n\t\tif(row.slice(0, root.length) == root) continue;\n\t\twhile(root.length > 0) {\n\t\t\troot = root.slice(0, root.length - 1);\n\t\t\troot = root.slice(0, root.lastIndexOf(\"/\") + 1);\n\t\t\tif(row.slice(0,root.length) == root) break;\n\t\t}\n\t}\n\n\tvar mboundary = (data[1] || \"\").match(/boundary=\"(.*?)\"/);\n\tif(!mboundary) throw new Error(\"MAD cannot find boundary\");\n\tvar boundary = \"--\" + (mboundary[1] || \"\");\n\n\tvar FileIndex/*:CFBFileIndex*/ = [], FullPaths/*:Array*/ = [];\n\tvar o = {\n\t\tFileIndex: FileIndex,\n\t\tFullPaths: FullPaths\n\t};\n\tinit_cfb(o);\n\tvar start_di, fcnt = 0;\n\tfor(di = 0; di < data.length; ++di) {\n\t\tvar line = data[di];\n\t\tif(line !== boundary && line !== boundary + \"--\") continue;\n\t\tif(fcnt++) parse_mime(o, data.slice(start_di, di), root);\n\t\tstart_di = di;\n\t}\n\treturn o;\n}\n\nfunction write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {\n\tvar opts = options || {};\n\tvar boundary = opts.boundary || \"SheetJS\";\n\tboundary = '------=' + boundary;\n\n\tvar out = [\n\t\t'MIME-Version: 1.0',\n\t\t'Content-Type: multipart/related; boundary=\"' + boundary.slice(2) + '\"',\n\t\t'',\n\t\t'',\n\t\t''\n\t];\n\n\tvar root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];\n\tfor(var i = 1; i < cfb.FullPaths.length; ++i) {\n\t\tfp = cfb.FullPaths[i].slice(root.length);\n\t\tfi = cfb.FileIndex[i];\n\t\tif(!fi.size || !fi.content || fp == \"\\u0001Sh33tJ5\") continue;\n\n\t\t/* Normalize filename */\n\t\tfp = fp.replace(/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7E-\\xFF]/g, function(c) {\n\t\t\treturn \"_x\" + c.charCodeAt(0).toString(16) + \"_\";\n\t\t}).replace(/[\\u0080-\\uFFFF]/g, function(u) {\n\t\t\treturn \"_u\" + u.charCodeAt(0).toString(16) + \"_\";\n\t\t});\n\n\t\t/* Extract content as binary string */\n\t\tvar ca = fi.content;\n\t\t// $FlowIgnore\n\t\tvar cstr = has_buf && Buffer.isBuffer(ca) ? ca.toString(\"binary\") : a2s(ca);\n\n\t\t/* 4/5 of first 1024 chars ascii -> quoted printable, else base64 */\n\t\tvar dispcnt = 0, L = Math.min(1024, cstr.length), cc = 0;\n\t\tfor(var csl = 0; csl <= L; ++csl) if((cc=cstr.charCodeAt(csl)) >= 0x20 && cc < 0x80) ++dispcnt;\n\t\tvar qp = dispcnt >= L * 4 / 5;\n\n\t\tout.push(boundary);\n\t\tout.push('Content-Location: ' + (opts.root || 'file:///C:/SheetJS/') + fp);\n\t\tout.push('Content-Transfer-Encoding: ' + (qp ? 'quoted-printable' : 'base64'));\n\t\tout.push('Content-Type: ' + get_content_type(fi, fp));\n\t\tout.push('');\n\n\t\tout.push(qp ? write_quoted_printable(cstr) : write_base64_76(cstr));\n\t}\n\tout.push(boundary + '--\\r\\n');\n\treturn out.join(\"\\r\\n\");\n}\nfunction cfb_new(opts/*:?any*/)/*:CFBContainer*/ {\n\tvar o/*:CFBContainer*/ = ({}/*:any*/);\n\tinit_cfb(o, opts);\n\treturn o;\n}\n\nfunction cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFBEntry*/ {\n\tvar unsafe = opts && opts.unsafe;\n\tif(!unsafe) init_cfb(cfb);\n\tvar file = !unsafe && CFB.find(cfb, name);\n\tif(!file) {\n\t\tvar fpath/*:string*/ = cfb.FullPaths[0];\n\t\tif(name.slice(0, fpath.length) == fpath) fpath = name;\n\t\telse {\n\t\t\tif(fpath.slice(-1) != \"/\") fpath += \"/\";\n\t\t\tfpath = (fpath + name).replace(\"//\",\"/\");\n\t\t}\n\t\tfile = ({name: filename(name), type: 2}/*:any*/);\n\t\tcfb.FileIndex.push(file);\n\t\tcfb.FullPaths.push(fpath);\n\t\tif(!unsafe) CFB.utils.cfb_gc(cfb);\n\t}\n\t/*:: if(!file) throw new Error(\"unreachable\"); */\n\tfile.content = (content/*:any*/);\n\tfile.size = content ? content.length : 0;\n\tif(opts) {\n\t\tif(opts.CLSID) file.clsid = opts.CLSID;\n\t\tif(opts.mt) file.mt = opts.mt;\n\t\tif(opts.ct) file.ct = opts.ct;\n\t}\n\treturn file;\n}\n\nfunction cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex.splice(j, 1);\n\t\tcfb.FullPaths.splice(j, 1);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {\n\tinit_cfb(cfb);\n\tvar file = CFB.find(cfb, old_name);\n\tif(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {\n\t\tcfb.FileIndex[j].name = filename(new_name);\n\t\tcfb.FullPaths[j] = new_name;\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nfunction cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }\n\nexports.find = find;\nexports.read = read;\nexports.parse = parse;\nexports.write = write;\nexports.writeFile = write_file;\nexports.utils = {\n\tcfb_new: cfb_new,\n\tcfb_add: cfb_add,\n\tcfb_del: cfb_del,\n\tcfb_mov: cfb_mov,\n\tcfb_gc: cfb_gc,\n\tReadShift: ReadShift,\n\tCheckField: CheckField,\n\tprep_blob: prep_blob,\n\tbconcat: bconcat,\n\tuse_zlib: use_zlib,\n\t_deflateRaw: _deflate,\n\t_inflateRaw: _inflate,\n\tconsts: consts\n};\n\nreturn exports;\n})();\n\nvar _fs;\nfunction set_fs(fs) { _fs = fs; }\n\n/* normalize data for blob ctor */\nfunction blobify(data) {\n\tif(typeof data === \"string\") return s2ab(data);\n\tif(Array.isArray(data)) return a2u(data);\n\treturn data;\n}\n/* write or download file */\nfunction write_dl(fname/*:string*/, payload/*:any*/, enc/*:?string*/) {\n\t/*global IE_SaveFile, Blob, navigator, saveAs, document, File, chrome */\n\tif(typeof _fs !== 'undefined' && _fs.writeFileSync) return enc ? _fs.writeFileSync(fname, payload, enc) : _fs.writeFileSync(fname, payload);\n\tif(typeof Deno !== 'undefined') {\n\t\t/* in this spot, it's safe to assume typed arrays and TextEncoder/TextDecoder exist */\n\t\tif(enc && typeof payload == \"string\") switch(enc) {\n\t\t\tcase \"utf8\": payload = new TextEncoder(enc).encode(payload); break;\n\t\t\tcase \"binary\": payload = s2ab(payload); break;\n\t\t\t/* TODO: binary equivalent */\n\t\t\tdefault: throw new Error(\"Unsupported encoding \" + enc);\n\t\t}\n\t\treturn Deno.writeFileSync(fname, payload);\n\t}\n\tvar data = (enc == \"utf8\") ? utf8write(payload) : payload;\n\t/*:: declare var IE_SaveFile: any; */\n\tif(typeof IE_SaveFile !== 'undefined') return IE_SaveFile(data, fname);\n\tif(typeof Blob !== 'undefined') {\n\t\tvar blob = new Blob([blobify(data)], {type:\"application/octet-stream\"});\n\t\t/*:: declare var navigator: any; */\n\t\tif(typeof navigator !== 'undefined' && navigator.msSaveBlob) return navigator.msSaveBlob(blob, fname);\n\t\t/*:: declare var saveAs: any; */\n\t\tif(typeof saveAs !== 'undefined') return saveAs(blob, fname);\n\t\tif(typeof URL !== 'undefined' && typeof document !== 'undefined' && document.createElement && URL.createObjectURL) {\n\t\t\tvar url = URL.createObjectURL(blob);\n\t\t\t/*:: declare var chrome: any; */\n\t\t\tif(typeof chrome === 'object' && typeof (chrome.downloads||{}).download == \"function\") {\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn chrome.downloads.download({ url: url, filename: fname, saveAs: true });\n\t\t\t}\n\t\t\tvar a = document.createElement(\"a\");\n\t\t\tif(a.download != null) {\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */\n\t\t\t\ta.download = fname; a.href = url; document.body.appendChild(a); a.click();\n\t\t\t\t/*:: if(document.body == null) throw new Error(\"unreachable\"); */ document.body.removeChild(a);\n\t\t\t\tif(URL.revokeObjectURL && typeof setTimeout !== 'undefined') setTimeout(function() { URL.revokeObjectURL(url); }, 60000);\n\t\t\t\treturn url;\n\t\t\t}\n\t\t} else if(typeof URL !== 'undefined' && !URL.createObjectURL && typeof chrome === 'object') {\n\t\t\t/* manifest v3 extensions -- no URL.createObjectURL */\n\t\t\tvar b64 = \"data:application/octet-stream;base64,\" + Base64_encode_arr(new Uint8Array(blobify(data)));\n\t\t\treturn chrome.downloads.download({ url: b64, filename: fname, saveAs: true });\n\t\t}\n\t}\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar out = File(fname); out.open(\"w\"); out.encoding = \"binary\";\n\t\tif(Array.isArray(payload)) payload = a2s(payload);\n\t\tout.write(payload); out.close(); return payload;\n\t} catch(e) { if(!e.message || e.message.indexOf(\"onstruct\") == -1) throw e; }\n\tthrow new Error(\"cannot save file \" + fname);\n}\n\n/* read binary data from file */\nfunction read_binary(path/*:string*/) {\n\tif(typeof _fs !== 'undefined') return _fs.readFileSync(path);\n\tif(typeof Deno !== 'undefined') return Deno.readFileSync(path);\n\t// $FlowIgnore\n\tif(typeof $ !== 'undefined' && typeof File !== 'undefined' && typeof Folder !== 'undefined') try { // extendscript\n\t\t// $FlowIgnore\n\t\tvar infile = File(path); infile.open(\"r\"); infile.encoding = \"binary\";\n\t\tvar data = infile.read(); infile.close();\n\t\treturn data;\n\t} catch(e) { if(!e.message || e.message.indexOf(\"onstruct\") == -1) throw e; }\n\tthrow new Error(\"Cannot access file \" + path);\n}\nfunction keys(o/*:any*/)/*:Array*/ {\n\tvar ks = Object.keys(o), o2 = [];\n\tfor(var i = 0; i < ks.length; ++i) if(Object.prototype.hasOwnProperty.call(o, ks[i])) o2.push(ks[i]);\n\treturn o2;\n}\n\nfunction evert_key(obj/*:any*/, key/*:string*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) if(o[obj[K[i]][key]] == null) o[obj[K[i]][key]] = K[i];\n\treturn o;\n}\n\nfunction evert(obj/*:any*/)/*:EvertType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = K[i];\n\treturn o;\n}\n\nfunction evert_num(obj/*:any*/)/*:EvertNumType*/ {\n\tvar o = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) o[obj[K[i]]] = parseInt(K[i],10);\n\treturn o;\n}\n\nfunction evert_arr(obj/*:any*/)/*:EvertArrType*/ {\n\tvar o/*:EvertArrType*/ = ([]/*:any*/), K = keys(obj);\n\tfor(var i = 0; i !== K.length; ++i) {\n\t\tif(o[obj[K[i]]] == null) o[obj[K[i]]] = [];\n\t\to[obj[K[i]]].push(K[i]);\n\t}\n\treturn o;\n}\n\nvar dnthresh = /*#__PURE__*/Date.UTC(1899, 11, 30, 0, 0, 0); // -2209161600000\nvar dnthresh1 = /*#__PURE__*/Date.UTC(1899, 11, 31, 0, 0, 0); // -2209075200000\nvar dnthresh2 = /*#__PURE__*/Date.UTC(1904, 0, 1, 0, 0, 0); // -2209075200000\nfunction datenum(v/*:Date*/, date1904/*:?boolean*/)/*:number*/ {\n\tvar epoch = /*#__PURE__*/v.getTime();\n\tvar res = (epoch - dnthresh) / (24 * 60 * 60 * 1000);\n\tif(date1904) { res -= 1462; return res < -1402 ? res - 1 : res; }\n\treturn res < 60 ? res - 1 : res;\n}\nfunction numdate(v/*:number*/)/*:Date|number*/ {\n\tif(v >= 60 && v < 61) return v;\n\tvar out = new Date();\n\tout.setTime((v>60 ? v : (v+1)) * 24 * 60 * 60 * 1000 + dnthresh);\n\treturn out;\n}\n\n/* ISO 8601 Duration */\nfunction parse_isodur(s) {\n\tvar sec = 0, mt = 0, time = false;\n\tvar m = s.match(/P([0-9\\.]+Y)?([0-9\\.]+M)?([0-9\\.]+D)?T([0-9\\.]+H)?([0-9\\.]+M)?([0-9\\.]+S)?/);\n\tif(!m) throw new Error(\"|\" + s + \"| is not an ISO8601 Duration\");\n\tfor(var i = 1; i != m.length; ++i) {\n\t\tif(!m[i]) continue;\n\t\tmt = 1;\n\t\tif(i > 3) time = true;\n\t\tswitch(m[i].slice(m[i].length-1)) {\n\t\t\tcase 'Y':\n\t\t\t\tthrow new Error(\"Unsupported ISO Duration Field: \" + m[i].slice(m[i].length-1));\n\t\t\tcase 'D': mt *= 24;\n\t\t\t\t/* falls through */\n\t\t\tcase 'H': mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'M':\n\t\t\t\tif(!time) throw new Error(\"Unsupported ISO Duration Field: M\");\n\t\t\t\telse mt *= 60;\n\t\t\t\t/* falls through */\n\t\t\tcase 'S': break;\n\t\t}\n\t\tsec += mt * parseInt(m[i], 10);\n\t}\n\treturn sec;\n}\n\n/* Blame https://bugs.chromium.org/p/v8/issues/detail?id=7863 for the regexide */\nvar pdre1 = /^(\\d+):(\\d+)(:\\d+)?(\\.\\d+)?$/; // HH:MM[:SS[.UUU]]\nvar pdre2 = /^(\\d+)-(\\d+)-(\\d+)$/; // YYYY-mm-dd\nvar pdre3 = /^(\\d+)-(\\d+)-(\\d+)[T ](\\d+):(\\d+)(:\\d+)?(\\.\\d+)?$/; // YYYY-mm-dd(T or space)HH:MM[:SS[.UUU]], sans \"Z\"\n/* parses a date string as a UTC date */\nfunction parseDate(str/*:string*/, date1904/*:boolean*/)/*:Date*/ {\n\tif(str instanceof Date) return str;\n\tvar m = str.match(pdre1);\n\tif(m) return new Date((date1904 ? dnthresh2 : dnthresh1) + ((parseInt(m[1], 10)*60 + parseInt(m[2], 10))*60 + (m[3] ? parseInt(m[3].slice(1), 10) : 0))*1000 + (m[4] ? parseInt((m[4]+\"000\").slice(1,4), 10) : 0));\n\tm = str.match(pdre2);\n\tif(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], 0, 0, 0, 0));\n\t/* TODO: 1900-02-29T00:00:00.000 should return a flag to treat as a date code (affects xlml) */\n\tm = str.match(pdre3);\n\tif(m) return new Date(Date.UTC(+m[1], +m[2]-1, +m[3], +m[4], +m[5], ((m[6] && parseInt(m[6].slice(1), 10))|| 0), ((m[7] && parseInt((m[7] + \"0000\").slice(1,4), 10))||0)));\n\tvar d = new Date(str);\n\treturn d;\n}\n\nfunction cc2str(arr/*:Array*/, debomit)/*:string*/ {\n\tif(has_buf && Buffer.isBuffer(arr)) {\n\t\tif(debomit && buf_utf16le) {\n\t\t\t// TODO: temporary patch\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(arr.slice(2).toString(\"utf16le\"));\n\t\t\tif(arr[1] == 0xFE && arr[2] == 0xFF) return utf8write(utf16beread(arr.slice(2).toString(\"binary\")));\n\t\t}\n\t\treturn arr.toString(\"binary\");\n\t}\n\n\tif(typeof TextDecoder !== \"undefined\") try {\n\t\tif(debomit) {\n\t\t\tif(arr[0] == 0xFF && arr[1] == 0xFE) return utf8write(new TextDecoder(\"utf-16le\").decode(arr.slice(2)));\n\t\t\tif(arr[0] == 0xFE && arr[1] == 0xFF) return utf8write(new TextDecoder(\"utf-16be\").decode(arr.slice(2)));\n\t\t}\n\t\tvar rev = {\n\t\t\t\"\\u20ac\": \"\\x80\", \"\\u201a\": \"\\x82\", \"\\u0192\": \"\\x83\", \"\\u201e\": \"\\x84\",\n\t\t\t\"\\u2026\": \"\\x85\", \"\\u2020\": \"\\x86\", \"\\u2021\": \"\\x87\", \"\\u02c6\": \"\\x88\",\n\t\t\t\"\\u2030\": \"\\x89\", \"\\u0160\": \"\\x8a\", \"\\u2039\": \"\\x8b\", \"\\u0152\": \"\\x8c\",\n\t\t\t\"\\u017d\": \"\\x8e\", \"\\u2018\": \"\\x91\", \"\\u2019\": \"\\x92\", \"\\u201c\": \"\\x93\",\n\t\t\t\"\\u201d\": \"\\x94\", \"\\u2022\": \"\\x95\", \"\\u2013\": \"\\x96\", \"\\u2014\": \"\\x97\",\n\t\t\t\"\\u02dc\": \"\\x98\", \"\\u2122\": \"\\x99\", \"\\u0161\": \"\\x9a\", \"\\u203a\": \"\\x9b\",\n\t\t\t\"\\u0153\": \"\\x9c\", \"\\u017e\": \"\\x9e\", \"\\u0178\": \"\\x9f\"\n\t\t};\n\t\tif(Array.isArray(arr)) arr = new Uint8Array(arr);\n\t\treturn new TextDecoder(\"latin1\").decode(arr).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g, function(c) { return rev[c] || c; });\n\t} catch(e) {}\n\n\tvar o = [], i = 0;\n\t// this cascade is for the browsers and runtimes of antiquity (and for modern runtimes that lack TextEncoder)\n\ttry {\n\t\tfor(i = 0; i < arr.length - 65536; i+=65536) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 65536)));\n\t\to.push(String.fromCharCode.apply(0, arr.slice(i)));\n\t} catch(e) { try {\n\t\t\tfor(; i < arr.length - 16384; i+=16384) o.push(String.fromCharCode.apply(0, arr.slice(i, i + 16384)));\n\t\t\to.push(String.fromCharCode.apply(0, arr.slice(i)));\n\t\t} catch(e) {\n\t\t\tfor(; i != arr.length; ++i) o.push(String.fromCharCode(arr[i]));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction dup(o/*:any*/)/*:any*/ {\n\tif(typeof JSON != 'undefined' && !Array.isArray(o)) return JSON.parse(JSON.stringify(o));\n\tif(typeof o != 'object' || o == null) return o;\n\tif(o instanceof Date) return new Date(o.getTime());\n\tvar out = {};\n\tfor(var k in o) if(Object.prototype.hasOwnProperty.call(o, k)) out[k] = dup(o[k]);\n\treturn out;\n}\n\nfunction fill(c/*:string*/,l/*:number*/)/*:string*/ { var o = \"\"; while(o.length < l) o+=c; return o; }\n\n/* TODO: stress test */\nfunction fuzzynum(s/*:string*/)/*:number*/ {\n\tvar v/*:number*/ = Number(s);\n\tif(!isNaN(v)) return isFinite(v) ? v : NaN;\n\tif(!/\\d/.test(s)) return v;\n\tvar wt = 1;\n\tvar ss = s.replace(/([\\d]),([\\d])/g,\"$1$2\").replace(/[$]/g,\"\").replace(/[%]/g, function() { wt *= 100; return \"\";});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\tss = ss.replace(/[(]([^()]*)[)]/,function($$, $1) { wt = -wt; return $1;});\n\tif(!isNaN(v = Number(ss))) return v / wt;\n\treturn v;\n}\n\n/* NOTE: Chrome rejects bare times like 1:23 PM */\nvar FDRE1 = /^(0?\\d|1[0-2])(?:|:([0-5]?\\d)(?:|(\\.\\d+)(?:|:([0-5]?\\d))|:([0-5]?\\d)(|\\.\\d+)))\\s+([ap])m?$/;\nvar FDRE2 = /^([01]?\\d|2[0-3])(?:|:([0-5]?\\d)(?:|(\\.\\d+)(?:|:([0-5]?\\d))|:([0-5]?\\d)(|\\.\\d+)))$/;\nvar FDISO = /^(\\d+)-(\\d+)-(\\d+)[T ](\\d+):(\\d+)(:\\d+)(\\.\\d+)?[Z]?$/; // YYYY-mm-dd(T or space)HH:MM:SS[.UUU][Z]\n\n/* TODO: 1904 adjustment */\nvar utc_append_works = new Date(\"6/9/69 00:00 UTC\").valueOf() == -17798400000;\nfunction fuzzytime1(M) /*:Date*/ {\n\tif(!M[2]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == \"p\" ? 12 : 0), 0, 0, 0));\n\tif(M[3]) {\n\t\t\tif(M[4]) return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == \"p\" ? 12 : 0), +M[2], +M[4], parseFloat(M[3])*1000));\n\t\t\telse return new Date(Date.UTC(1899,11,31,(M[7] == \"p\" ? 12 : 0), +M[1], +M[2], parseFloat(M[3])*1000));\n\t}\n\telse if(M[5]) return new Date(Date.UTC(1899,11,31, (+M[1]%12) + (M[7] == \"p\" ? 12 : 0), +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0));\n\telse return new Date(Date.UTC(1899,11,31,(+M[1]%12) + (M[7] == \"p\" ? 12 : 0), +M[2], 0, 0));\n}\nfunction fuzzytime2(M) /*:Date*/ {\n\tif(!M[2]) return new Date(Date.UTC(1899,11,31,+M[1], 0, 0, 0));\n\tif(M[3]) {\n\t\t\tif(M[4]) return new Date(Date.UTC(1899,11,31,+M[1], +M[2], +M[4], parseFloat(M[3])*1000));\n\t\t\telse return new Date(Date.UTC(1899,11,31,0, +M[1], +M[2], parseFloat(M[3])*1000));\n\t}\n\telse if(M[5]) return new Date(Date.UTC(1899,11,31, +M[1], +M[2], +M[5], M[6] ? parseFloat(M[6]) * 1000 : 0));\n\telse return new Date(Date.UTC(1899,11,31,+M[1], +M[2], 0, 0));\n}\nvar lower_months = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];\nfunction fuzzydate(s/*:string*/)/*:Date*/ {\n\t// See issue 2863 -- this is technically not supported in Excel but is otherwise useful\n\tif(FDISO.test(s)) return s.indexOf(\"Z\") == -1 ? local_to_utc(new Date(s)) : new Date(s);\n\tvar lower = s.toLowerCase();\n\tvar lnos = lower.replace(/\\s+/g, \" \").trim();\n\tvar M = lnos.match(FDRE1);\n\tif(M) return fuzzytime1(M);\n\tM = lnos.match(FDRE2);\n\tif(M) return fuzzytime2(M);\n\tM = lnos.match(pdre3);\n\tif(M) return new Date(Date.UTC(+M[1], +M[2]-1, +M[3], +M[4], +M[5], ((M[6] && parseInt(M[6].slice(1), 10))|| 0), ((M[7] && parseInt((M[7] + \"0000\").slice(1,4), 10))||0)));\n\tvar o = new Date(utc_append_works && s.indexOf(\"UTC\") == -1 ? s + \" UTC\": s), n = new Date(NaN);\n\tvar y = o.getYear(), m = o.getMonth(), d = o.getDate();\n\tif(isNaN(d)) return n;\n\tif(lower.match(/jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec/)) {\n\t\tlower = lower.replace(/[^a-z]/g,\"\").replace(/([^a-z]|^)[ap]m?([^a-z]|$)/,\"\");\n\t\tif(lower.length > 3 && lower_months.indexOf(lower) == -1) return n;\n\t} else if(lower.replace(/[ap]m?/, \"\").match(/[a-z]/)) return n;\n\tif(y < 0 || y > 8099 || s.match(/[^-0-9:,\\/\\\\\\ ]/)) return n;\n\treturn o;\n}\n\nvar split_regex = /*#__PURE__*/(function() {\n\tvar safe_split_regex = \"abacaba\".split(/(:?b)/i).length == 5;\n\treturn function split_regex(str/*:string*/, re, def/*:string*/)/*:Array*/ {\n\t\tif(safe_split_regex || typeof re == \"string\") return str.split(re);\n\t\tvar p = str.split(re), o = [p[0]];\n\t\tfor(var i = 1; i < p.length; ++i) { o.push(def); o.push(p[i]); }\n\t\treturn o;\n\t};\n})();\n\nfunction utc_to_local(utc) {\n\treturn new Date(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate(), utc.getUTCHours(), utc.getUTCMinutes(), utc.getUTCSeconds(), utc.getUTCMilliseconds());\n}\nfunction local_to_utc(local) {\n\treturn new Date(Date.UTC(local.getFullYear(), local.getMonth(), local.getDate(), local.getHours(), local.getMinutes(), local.getSeconds(), local.getMilliseconds()));\n}\n\nfunction remove_doctype(str) {\n\tvar preamble = str.slice(0, 1024);\n\tvar si = preamble.indexOf(\"/g) --> str_match_ng(str, \"\") */\nfunction str_match_ng(str, s, e) {\n var out = [];\n\n var si = str.indexOf(s);\n while(si > -1) {\n var ei = str.indexOf(e, si + s.length);\n\t\tif(ei == -1) break;\n\n\t\tout.push(str.slice(si, ei + e.length));\n\t\tsi = str.indexOf(s, ei + e.length);\n\t}\n\n return out.length > 0 ? out : null;\n}\n\n/* str.replace(//g, \"\") --> str_remove_ng(str, \"\") */\nfunction str_remove_ng(str, s, e) {\n var out = [], last = 0;\n\n var si = str.indexOf(s);\n\tif(si == -1) return str;\n while(si > -1) {\n\t\tout.push(str.slice(last, si));\n var ei = str.indexOf(e, si + s.length);\n\t\tif(ei == -1) break;\n\n\t\tif((si = str.indexOf(s, (last = ei + e.length))) == -1) out.push(str.slice(last));\n\t}\n\n return out.join(\"\");\n}\n\n/* str.match(/]*?>([\\s\\S]*?)/) --> str_match_xml(str, \"tag\") */\nvar xml_boundary = { \" \": 1, \"\\t\": 1, \"\\r\": 1, \"\\n\": 1, \">\": 1 };\nfunction str_match_xml(str, tag) {\n\tvar si = str.indexOf('<' + tag), w = tag.length + 1, L = str.length;\n\twhile(si >= 0 && si <= L - w && !xml_boundary[str.charAt(si + w)]) si = str.indexOf('<' + tag, si+1);\n\tif(si === -1) return null;\n\tvar sf = str.indexOf(\">\", si + tag.length);\n\tif(sf === -1) return null;\n\tvar et = \"\";\n\tvar ei = str.indexOf(et, sf);\n\tif(ei == -1) return null;\n\treturn [str.slice(si, ei + et.length), str.slice(sf + 1, ei)];\n}\n\n/* str.match(/<(?:\\w+:)?tag\\b[^<>]*?>([\\s\\S]*?)<\\/(?:\\w+:)?tag>/) --> str_match_xml(str, \"tag\") */\nvar str_match_xml_ns = /*#__PURE__*/(function() {\n\tvar str_match_xml_ns_cache = {};\n\treturn function str_match_xml_ns(str, tag) {\n\t\tvar res = str_match_xml_ns_cache[tag];\n\t\tif(!res) str_match_xml_ns_cache[tag] = res = [\n\t\t\tnew RegExp('<(?:\\\\w+:)?'+tag+'\\\\b[^<>]*>', \"g\"),\n\t\t\tnew RegExp('', \"g\")\n\t\t];\n\t\tres[0].lastIndex = res[1].lastIndex = 0;\n\t\tvar m = res[0].exec(str);\n\t\tif(!m) return null;\n\t\tvar si = m.index;\n\t\tvar sf = res[0].lastIndex;\n\t\tres[1].lastIndex = res[0].lastIndex;\n\t\tm = res[1].exec(str);\n\t\tif(!m) return null;\n\t\tvar ei = m.index;\n\t\tvar ef = res[1].lastIndex;\n\t\treturn [str.slice(si, ef), str.slice(sf, ei)];\n\t};\n})();\n\n/* str.match(/<(?:\\w+:)?tag\\b[^<>]*?>([\\s\\S]*?)<\\/(?:\\w+:)?tag>/g) --> str_match_xml_ns_g(str, \"tag\") */\nvar str_match_xml_ns_g = /*#__PURE__*/(function() {\n\tvar str_match_xml_ns_cache = {};\n\treturn function str_match_xml_ns(str, tag) {\n\t\tvar out = [];\n\t\tvar res = str_match_xml_ns_cache[tag];\n\t\tif(!res) str_match_xml_ns_cache[tag] = res = [\n\t\t\tnew RegExp('<(?:\\\\w+:)?'+tag+'\\\\b[^<>]*>', \"g\"),\n\t\t\tnew RegExp('', \"g\")\n\t\t];\n\t\tres[0].lastIndex = res[1].lastIndex = 0;\n\t\tvar m;\n\t\twhile((m = res[0].exec(str))) {\n\t\t\tvar si = m.index;\n\t\t\tres[1].lastIndex = res[0].lastIndex;\n\t\t\tm = res[1].exec(str);\n\t\t\tif(!m) return null;\n\t\t\tvar ef = res[1].lastIndex;\n\t\t\tout.push(str.slice(si, ef));\n\t\t\tres[0].lastIndex = res[1].lastIndex;\n\t\t}\n\t\treturn out.length == 0 ? null : out;\n\t};\n})();\nvar str_remove_xml_ns_g = /*#__PURE__*/(function() {\n\tvar str_remove_xml_ns_cache = {};\n\treturn function str_remove_xml_ns_g(str, tag) {\n\t\tvar out = [];\n\t\tvar res = str_remove_xml_ns_cache[tag];\n\t\tif(!res) str_remove_xml_ns_cache[tag] = res = [\n\t\t\tnew RegExp('<(?:\\\\w+:)?'+tag+'\\\\b[^<>]*>', \"g\"),\n\t\t\tnew RegExp('', \"g\")\n\t\t];\n\t\tres[0].lastIndex = res[1].lastIndex = 0;\n\t\tvar m;\n\t\tvar si = 0, ef = 0;\n\t\twhile((m = res[0].exec(str))) {\n\t\t\tsi = m.index;\n\t\t\tout.push(str.slice(ef, si));\n\t\t\tef = si;\n\t\t\tres[1].lastIndex = res[0].lastIndex;\n\t\t\tm = res[1].exec(str);\n\t\t\tif(!m) return null;\n\t\t\tef = res[1].lastIndex;\n\t\t\tres[0].lastIndex = res[1].lastIndex;\n\t\t}\n\t\tout.push(str.slice(ef));\n\t\treturn out.length == 0 ? \"\" : out.join(\"\");\n\t};\n})();\n\n/* str.match(/<(?:\\w+:)?tag\\b[^>]*?>([\\s\\S]*?)<\\/(?:\\w+:)?tag>/gi) --> str_match_xml_ns_ig(str, \"tag\") */\nvar str_match_xml_ig = /*#__PURE__*/(function() {\n\tvar str_match_xml_ns_cache = {};\n\treturn function str_match_xml_ns(str, tag) {\n\t\tvar out = [];\n\t\tvar res = str_match_xml_ns_cache[tag];\n\t\tif(!res) str_match_xml_ns_cache[tag] = res = [\n\t\t\tnew RegExp('<'+tag+'\\\\b[^<>]*>', \"ig\"),\n\t\t\tnew RegExp('', \"ig\")\n\t\t];\n\t\tres[0].lastIndex = res[1].lastIndex = 0;\n\t\tvar m;\n\t\twhile((m = res[0].exec(str))) {\n\t\t\tvar si = m.index;\n\t\t\tres[1].lastIndex = res[0].lastIndex;\n\t\t\tm = res[1].exec(str);\n\t\t\tif(!m) return null;\n\t\t\tvar ef = res[1].lastIndex;\n\t\t\tout.push(str.slice(si, ef));\n\t\t\tres[0].lastIndex = res[1].lastIndex;\n\t\t}\n\t\treturn out.length == 0 ? null : out;\n\t};\n})();\nfunction getdatastr(data)/*:?string*/ {\n\tif(!data) return null;\n\tif(data.content && data.type) return cc2str(data.content, true);\n\tif(data.data) return debom(data.data);\n\tif(data.asNodeBuffer && has_buf) return debom(data.asNodeBuffer().toString('binary'));\n\tif(data.asBinary) return debom(data.asBinary());\n\tif(data._data && data._data.getContent) return debom(cc2str(Array.prototype.slice.call(data._data.getContent(),0)));\n\treturn null;\n}\n\nfunction getdatabin(data) {\n\tif(!data) return null;\n\tif(data.data) return char_codes(data.data);\n\tif(data.asNodeBuffer && has_buf) return data.asNodeBuffer();\n\tif(data._data && data._data.getContent) {\n\t\tvar o = data._data.getContent();\n\t\tif(typeof o == \"string\") return char_codes(o);\n\t\treturn Array.prototype.slice.call(o);\n\t}\n\tif(data.content && data.type) return data.content;\n\treturn null;\n}\n\nfunction getdata(data) { return (data && data.name.slice(-4) === \".bin\") ? getdatabin(data) : getdatastr(data); }\n\n/* Part 2 Section 10.1.2 \"Mapping Content Types\" Names are case-insensitive */\n/* OASIS does not comment on filename case sensitivity */\nfunction safegetzipfile(zip, file/*:string*/) {\n\tvar k = zip.FullPaths || keys(zip.files);\n\tvar f = file.toLowerCase().replace(/[\\/]/g, '\\\\'), g = f.replace(/\\\\/g,'\\/');\n\tfor(var i=0; i\\/]+)\\s*=\\s*((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:')|([^'\">\\s]+))/g;\nvar tagregex1=/<[\\/\\?]?[a-zA-Z0-9:_-]+(?:\\s+[^\"\\s?<>\\/]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^'\"<>\\s=]+))*\\s*[\\/\\?]?>/mg, tagregex2 = /<[^<>]*>/g;\nvar tagregex = /*#__PURE__*/XML_HEADER.match(tagregex1) ? tagregex1 : tagregex2;\nvar nsregex=/<\\w*:/, nsregex2 = /<(\\/?)\\w+:/;\nfunction parsexmltag(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i].slice(1);\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tfor(j=0;j!=q.length;++j) if(q.charCodeAt(j) === 58) break;\n\t\tif(j===q.length) {\n\t\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\t\tz[q] = v;\n\t\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t\t}\n\t\telse {\n\t\t\tvar k = (j===5 && q.slice(0,5)===\"xmlns\"?\"xmlns\":\"\")+q.slice(j+1);\n\t\t\tif(z[k] && q.slice(j-3,j) == \"ext\") continue; // from ods\n\t\t\tz[k] = v;\n\t\t\tif(!skip_LC) z[k.toLowerCase()] = v;\n\t\t}\n\t}\n\treturn z;\n}\nfunction parsexmltagraw(tag/*:string*/, skip_root/*:?boolean*/, skip_LC/*:?boolean*/)/*:any*/ {\n\tvar z = ({}/*:any*/);\n\tvar eq = 0, c = 0;\n\tfor(; eq !== tag.length; ++eq) if((c = tag.charCodeAt(eq)) === 32 || c === 10 || c === 13) break;\n\tif(!skip_root) z[0] = tag.slice(0, eq);\n\tif(eq === tag.length) return z;\n\tvar m = tag.match(attregexg), j=0, v=\"\", i=0, q=\"\", cc=\"\", quot = 1;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\tcc = m[i].slice(1);\n\t\tfor(c=0; c != cc.length; ++c) if(cc.charCodeAt(c) === 61) break;\n\t\tq = cc.slice(0,c).trim();\n\t\twhile(cc.charCodeAt(c+1) == 32) ++c;\n\t\tquot = ((eq=cc.charCodeAt(c+1)) == 34 || eq == 39) ? 1 : 0;\n\t\tv = cc.slice(c+1+quot, cc.length-quot);\n\t\tif(q.indexOf(\"_\") > 0) q = q.slice(0, q.indexOf(\"_\")); // from ods\n\t\tz[q] = v;\n\t\tif(!skip_LC) z[q.toLowerCase()] = v;\n\t}\n\treturn z;\n}\nfunction strip_ns(x/*:string*/)/*:string*/ { return x.replace(nsregex2, \"<$1\"); }\n\nvar encodings = {\n\t'"': '\"',\n\t''': \"'\",\n\t'>': '>',\n\t'<': '<',\n\t'&': '&'\n};\nvar rencoding = /*#__PURE__*/evert(encodings);\n//var rencstr = \"&<>'\\\"\".split(\"\");\n\n// TODO: CP remap (need to read file version to determine OS)\nvar unescapexml/*:StringConv*/ = /*#__PURE__*/(function() {\n\t/* 22.4.2.4 bstr (Basic String) */\n\tvar encregex = /&(?:quot|apos|gt|lt|amp|#x?([\\da-fA-F]+));/ig, coderegex = /_x([\\da-fA-F]{4})_/ig;\n\tfunction raw_unescapexml(text/*:string*/)/*:string*/ {\n\t\tvar s = text + '', i = s.indexOf(\"-1?16:10))||$$; }).replace(coderegex,function(m,c) {return String.fromCharCode(parseInt(c,16));});\n\t\tvar j = s.indexOf(\"]]>\");\n\t\treturn raw_unescapexml(s.slice(0, i)) + s.slice(i+9,j) + raw_unescapexml(s.slice(j+3));\n\t}\n\treturn function unescapexml(text/*:string*/, xlsx/*:boolean*/) {\n\t\tvar out = raw_unescapexml(text);\n\t\treturn xlsx ? out.replace(/\\r\\n/g, \"\\n\") : out;\n\t};\n})();\n\nvar decregex=/[&<>'\"]/g, charegex = /[\\u0000-\\u0008\\u000b-\\u001f\\uFFFE-\\uFFFF]/g;\nfunction escapexml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(charegex,function(s) { return \"_x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \"_\";});\n}\nfunction escapexmltag(text/*:string*/)/*:string*/{ return escapexml(text).replace(/ /g,\"_x0020_\"); }\n\nvar htmlcharegex = /[\\u0000-\\u001f]/g;\nfunction escapehtml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(/\\n/g, \"
\").replace(htmlcharegex,function(s) { return \"&#x\" + (\"000\"+s.charCodeAt(0).toString(16)).slice(-4) + \";\"; });\n}\n\nfunction escapexlml(text/*:string*/)/*:string*/{\n\tvar s = text + '';\n\treturn s.replace(decregex, function(y) { return rencoding[y]; }).replace(htmlcharegex,function(s) { return \"&#x\" + (s.charCodeAt(0).toString(16)).toUpperCase() + \";\"; });\n}\n\n/* TODO: handle codepages */\nvar xlml_fixstr/*:StringConv*/ = /*#__PURE__*/(function() {\n\tvar entregex = /&#(\\d+);/g;\n\tfunction entrepl($$/*:string*/,$1/*:string*/)/*:string*/ { return String.fromCharCode(parseInt($1,10)); }\n\treturn function xlml_fixstr(str/*:string*/)/*:string*/ { return str.replace(entregex,entrepl); };\n})();\nfunction xlml_unfixstr(str/*:string*/)/*:string*/ { return str.replace(/(\\r\\n|[\\r\\n])/g,\"\\ \"); }\n\n/* note: xsd:boolean valid values: true / 1 / false / 0 */\nfunction parsexmlbool(value/*:any*/)/*:boolean*/ {\n\tswitch(value) {\n\t\tcase 1: case true: case '1': case 'true': return true;\n\t\tcase 0: case false: case '0': case 'false': return false;\n\t\t//default: throw new Error(\"Invalid xsd:boolean \" + value);\n\t}\n\treturn false;\n}\n\nfunction utf8reada(orig/*:string*/)/*:string*/ {\n\tvar out = \"\", i = 0, c = 0, d = 0, e = 0, f = 0, w = 0;\n\twhile (i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tif (c < 128) { out += String.fromCharCode(c); continue; }\n\t\td = orig.charCodeAt(i++);\n\t\tif (c>191 && c<224) { f = ((c & 31) << 6); f |= (d & 63); out += String.fromCharCode(f); continue; }\n\t\te = orig.charCodeAt(i++);\n\t\tif (c < 240) { out += String.fromCharCode(((c & 15) << 12) | ((d & 63) << 6) | (e & 63)); continue; }\n\t\tf = orig.charCodeAt(i++);\n\t\tw = (((c & 7) << 18) | ((d & 63) << 12) | ((e & 63) << 6) | (f & 63))-65536;\n\t\tout += String.fromCharCode(0xD800 + ((w>>>10)&1023));\n\t\tout += String.fromCharCode(0xDC00 + (w&1023));\n\t}\n\treturn out;\n}\n\nfunction utf8readb(data) {\n\tvar out = new_raw_buf(2*data.length), w, i, j = 1, k = 0, ww=0, c;\n\tfor(i = 0; i < data.length; i+=j) {\n\t\tj = 1;\n\t\tif((c=data.charCodeAt(i)) < 128) w = c;\n\t\telse if(c < 224) { w = (c&31)*64+(data.charCodeAt(i+1)&63); j=2; }\n\t\telse if(c < 240) { w=(c&15)*4096+(data.charCodeAt(i+1)&63)*64+(data.charCodeAt(i+2)&63); j=3; }\n\t\telse { j = 4;\n\t\t\tw = (c & 7)*262144+(data.charCodeAt(i+1)&63)*4096+(data.charCodeAt(i+2)&63)*64+(data.charCodeAt(i+3)&63);\n\t\t\tw -= 65536; ww = 0xD800 + ((w>>>10)&1023); w = 0xDC00 + (w&1023);\n\t\t}\n\t\tif(ww !== 0) { out[k++] = ww&255; out[k++] = ww>>>8; ww = 0; }\n\t\tout[k++] = w%256; out[k++] = w>>>8;\n\t}\n\treturn out.slice(0,k).toString('ucs2');\n}\n\nfunction utf8readc(data) { return Buffer_from(data, 'binary').toString('utf8'); }\n\nvar utf8corpus = \"foo bar baz\\u00e2\\u0098\\u0083\\u00f0\\u009f\\u008d\\u00a3\";\nvar utf8read = has_buf && (/*#__PURE__*/utf8readc(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readc || /*#__PURE__*/utf8readb(utf8corpus) == /*#__PURE__*/utf8reada(utf8corpus) && utf8readb) || utf8reada;\n\nvar utf8write/*:StringConv*/ = has_buf ? function(data) { return Buffer_from(data, 'utf8').toString(\"binary\"); } : function(orig/*:string*/)/*:string*/ {\n\tvar out/*:Array*/ = [], i = 0, c = 0, d = 0;\n\twhile(i < orig.length) {\n\t\tc = orig.charCodeAt(i++);\n\t\tswitch(true) {\n\t\t\tcase c < 128: out.push(String.fromCharCode(c)); break;\n\t\t\tcase c < 2048:\n\t\t\t\tout.push(String.fromCharCode(192 + (c >> 6)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t\t\tbreak;\n\t\t\tcase c >= 55296 && c < 57344:\n\t\t\t\tc -= 55296; d = orig.charCodeAt(i++) - 56320 + (c<<10);\n\t\t\t\tout.push(String.fromCharCode(240 + ((d >>18) & 7)));\n\t\t\t\tout.push(String.fromCharCode(144 + ((d >>12) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((d >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (d & 63)));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tout.push(String.fromCharCode(224 + (c >> 12)));\n\t\t\t\tout.push(String.fromCharCode(128 + ((c >> 6) & 63)));\n\t\t\t\tout.push(String.fromCharCode(128 + (c & 63)));\n\t\t}\n\t}\n\treturn out.join(\"\");\n};\n\nvar htmldecode/*:{(s:string):string}*/ = /*#__PURE__*/(function() {\n\tvar entities/*:Array<[RegExp, string]>*/ = [\n\t\t['nbsp', ' '], ['middot', '·'],\n\t\t['quot', '\"'], ['apos', \"'\"], ['gt', '>'], ['lt', '<'], ['amp', '&']\n\t].map(function(x/*:[string, string]*/) { return [new RegExp('&' + x[0] + ';', \"ig\"), x[1]]; });\n\treturn function htmldecode(str/*:string*/)/*:string*/ {\n\t\tvar o = str\n\t\t\t\t// Remove new lines and spaces from start of content\n\t\t\t\t.replace(/^[\\t\\n\\r ]+/, \"\")\n\t\t\t\t// Remove new lines and spaces from end of content\n\t\t\t\t.replace(/(^|[^\\t\\n\\r ])[\\t\\n\\r ]+$/,\"$1\")\n\t\t\t\t// Added line which removes any white space characters after and before html tags\n\t\t\t\t.replace(/>\\s+/g,\">\").replace(/\\b\\s+ tags with new lines\n\t\t\t\t.replace(/<\\s*[bB][rR]\\s*\\/?>/g,\"\\n\")\n\t\t\t\t// Strip HTML elements\n\t\t\t\t.replace(/<[^<>]*>/g,\"\");\n\t\tfor(var i = 0; i < entities.length; ++i) o = o.replace(entities[i][0], entities[i][1]);\n\t\treturn o;\n\t};\n})();\n\nvar vtvregex = /<\\/?(?:vt:)?variant>/g, vtmregex = /<(?:vt:)([^<\"'>]*)>([\\s\\S]*)*/ {\n\tvar h = parsexmltag(data);\n\n\tvar matches/*:Array*/ = str_match_xml_ns_g(data, h.baseType)||[];\n\tvar res/*:Array*/ = [];\n\tif(matches.length != h.size) {\n\t\tif(opts.WTF) throw new Error(\"unexpected vector length \" + matches.length + \" != \" + h.size);\n\t\treturn res;\n\t}\n\tmatches.forEach(function(x/*:string*/) {\n\t\tvar v = x.replace(vtvregex,\"\").match(vtmregex);\n\t\tif(v) res.push({v:utf8read(v[2]), t:v[1]});\n\t});\n\treturn res;\n}\n\nvar wtregex = /(^\\s|\\s$|\\n)/;\nfunction writetag(f/*:string*/,g/*:string*/)/*:string*/ { return '<' + f + (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + ''; }\n\nfunction wxt_helper(h)/*:string*/ { return keys(h).map(function(k) { return \" \" + k + '=\"' + h[k] + '\"';}).join(\"\"); }\nfunction writextag(f/*:string*/,g/*:?string*/,h) { return '<' + f + ((h != null) ? wxt_helper(h) : \"\") + ((g != null) ? (g.match(wtregex)?' xml:space=\"preserve\"' : \"\") + '>' + g + '';}\n\nfunction write_w3cdtf(d/*:Date*/, t/*:?boolean*/)/*:string*/ { try { return d.toISOString().replace(/\\.\\d*/,\"\"); } catch(e) { if(t) throw e; } return \"\"; }\n\nfunction write_vt(s, xlsx/*:?boolean*/)/*:string*/ {\n\tswitch(typeof s) {\n\t\tcase 'string':\n\t\t\tvar o = writextag('vt:lpwstr', escapexml(s));\n\t\t\tif(xlsx) o = o.replace(/"/g, \"_x0022_\");\n\t\t\treturn o;\n\t\tcase 'number': return writextag((s|0)==s?'vt:i4':'vt:r8', escapexml(String(s)));\n\t\tcase 'boolean': return writextag('vt:bool',s?'true':'false');\n\t}\n\tif(s instanceof Date) return writextag('vt:filetime', write_w3cdtf(s));\n\tthrow new Error(\"Unable to serialize \" + s);\n}\n\nfunction xlml_normalize(d)/*:string*/ {\n\tif(has_buf &&/*::typeof Buffer !== \"undefined\" && d != null && d instanceof Buffer &&*/ Buffer.isBuffer(d)) return d.toString('utf8');\n\tif(typeof d === 'string') return d;\n\t/* duktape */\n\tif(typeof Uint8Array !== 'undefined' && d instanceof Uint8Array) return utf8read(a2s(ab2a(d)));\n\tthrow new Error(\"Bad input format: expected Buffer or string\");\n}\n/* UOS uses CJK in tags, ODS uses invalid XML */\nvar xlmlregex = /<([\\/]?)([^\\s?>:\\/\"]+)(?:\\s+[^<>=?\"'\\s]+=\"[^\"]*?\")*\\s*[\\/]?>/mg;\n\nvar XMLNS = ({\n\tCORE_PROPS: 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties',\n\tCUST_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\",\n\tEXT_PROPS: \"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\",\n\tCT: 'http://schemas.openxmlformats.org/package/2006/content-types',\n\tRELS: 'http://schemas.openxmlformats.org/package/2006/relationships',\n\tTCMNT: 'http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments',\n\t'dc': 'http://purl.org/dc/elements/1.1/',\n\t'dcterms': 'http://purl.org/dc/terms/',\n\t'dcmitype': 'http://purl.org/dc/dcmitype/',\n\t'mx': 'http://schemas.microsoft.com/office/mac/excel/2008/main',\n\t'r': 'http://schemas.openxmlformats.org/officeDocument/2006/relationships',\n\t'sjs': 'http://schemas.openxmlformats.org/package/2006/sheetjs/core-properties',\n\t'vt': 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes',\n\t'xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t'xsd': 'http://www.w3.org/2001/XMLSchema'\n}/*:any*/);\n\nvar XMLNS_main = [\n\t'http://schemas.openxmlformats.org/spreadsheetml/2006/main',\n\t'http://purl.oclc.org/ooxml/spreadsheetml/main',\n\t'http://schemas.microsoft.com/office/excel/2006/main',\n\t'http://schemas.microsoft.com/office/excel/2006/2'\n];\n\nvar XLMLNS = ({\n\t'o': 'urn:schemas-microsoft-com:office:office',\n\t'x': 'urn:schemas-microsoft-com:office:excel',\n\t'ss': 'urn:schemas-microsoft-com:office:spreadsheet',\n\t'dt': 'uuid:C2F41010-65B3-11d1-A29F-00AA00C14882',\n\t'mv': 'http://macVmlSchemaUri',\n\t'v': 'urn:schemas-microsoft-com:vml',\n\t'html': 'http://www.w3.org/TR/REC-html40'\n}/*:any*/);\nfunction read_double_le(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ {\n\tvar s = 1 - 2 * (b[idx + 7] >>> 7);\n\tvar e = ((b[idx + 7] & 0x7f) << 4) + ((b[idx + 6] >>> 4) & 0x0f);\n\tvar m = (b[idx+6]&0x0f);\n\tfor(var i = 5; i >= 0; --i) m = m * 256 + b[idx + i];\n\tif(e == 0x7ff) return m == 0 ? (s * Infinity) : NaN;\n\tif(e == 0) e = -1022;\n\telse { e -= 1023; m += Math.pow(2,52); }\n\treturn s * Math.pow(2, e - 52) * m;\n}\n\nfunction write_double_le(b/*:RawBytes|CFBlob*/, v/*:number*/, idx/*:number*/) {\n\tvar bs = ((((v < 0) || (1/v == -Infinity)) ? 1 : 0) << 7), e = 0, m = 0;\n\tvar av = bs ? (-v) : v;\n\tif(!isFinite(av)) { e = 0x7ff; m = isNaN(v) ? 0x6969 : 0; }\n\telse if(av == 0) e = m = 0;\n\telse {\n\t\te = Math.floor(Math.log(av) / Math.LN2);\n\t\tm = av * Math.pow(2, 52 - e);\n\t\tif((e <= -1023) && (!isFinite(m) || (m < Math.pow(2,52)))) { e = -1022; }\n\t\telse { m -= Math.pow(2,52); e+=1023; }\n\t}\n\tfor(var i = 0; i <= 5; ++i, m/=256) b[idx + i] = m & 0xff;\n\tb[idx + 6] = ((e & 0x0f) << 4) | (m & 0xf);\n\tb[idx + 7] = (e >> 4) | bs;\n}\n\nvar ___toBuffer = function(bufs/*:Array >*/)/*:RawBytes*/ { var x=[],w=10240; for(var i=0;i 0 && Buffer.isBuffer(bufs[0][0])) ? Buffer.concat(bufs[0].map(function(x) { return Buffer.isBuffer(x) ? x : Buffer_from(x); })) : ___toBuffer(bufs);} : ___toBuffer;\n\nvar ___utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/)/*:string*/ { var ss/*:Array*/=[]; for(var i=s; i*/=[]; for(var i=s; i 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpstr = ___lpstr;\n\nvar ___cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __cpstr = ___cpstr;\n\nvar ___lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len-1) : \"\";};\nvar __lpwstr = ___lpwstr;\n\nvar ___lpp4 = function lpp4_(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf16le(b, i+4,i+4+len) : \"\";};\nvar __lpp4 = ___lpp4;\n\nvar ___8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? __utf8(b, i+4,i+4+len) : \"\";};\nvar __8lpp4 = ___8lpp4;\n\nvar ___double = function(b/*:RawBytes|CFBlob*/, idx/*:number*/) { return read_double_le(b, idx);};\nvar __double = ___double;\n\nvar is_buf = function is_buf_a(a) { return Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n\nif(has_buf/*:: && typeof Buffer !== 'undefined'*/) {\n\t__lpstr = function lpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___lpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__cpstr = function cpstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___cpstr(b, i); var len = b.readUInt32LE(i); return len > 0 ? b.toString('utf8',i+4,i+4+len-1) : \"\";};\n\t__lpwstr = function lpwstr_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/ || !buf_utf16le) return ___lpwstr(b, i); var len = 2*b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len-1);};\n\t__lpp4 = function lpp4_b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/ || !buf_utf16le) return ___lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf16le',i+4,i+4+len);};\n\t__8lpp4 = function lpp4_8b(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(!Buffer.isBuffer(b)/*:: || !(b instanceof Buffer)*/) return ___8lpp4(b, i); var len = b.readUInt32LE(i); return b.toString('utf8',i+4,i+4+len);};\n\t__double = function double_(b/*:RawBytes|CFBlob*/, i/*:number*/) { if(Buffer.isBuffer(b)/*::&& b instanceof Buffer*/) return b.readDoubleLE(i); return ___double(b,i); };\n\tis_buf = function is_buf_b(a) { return Buffer.isBuffer(a) || Array.isArray(a) || (typeof Uint8Array !== \"undefined\" && a instanceof Uint8Array); };\n}\n\n/* from js-xls */\nfunction cpdoit() {\n\t__utf16le = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(1200, b.slice(s,e)).replace(chr0, ''); };\n\t__utf8 = function(b/*:RawBytes|CFBlob*/,s/*:number*/,e/*:number*/) { return $cptable.utils.decode(65001, b.slice(s,e)); };\n\t__lpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_ansi, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__cpstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(current_codepage, b.slice(i+4, i+4+len-1)) : \"\";};\n\t__lpwstr = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = 2*__readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len-1)) : \"\";};\n\t__lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(1200, b.slice(i+4,i+4+len)) : \"\";};\n\t__8lpp4 = function(b/*:RawBytes|CFBlob*/,i/*:number*/) { var len = __readUInt32LE(b,i); return len > 0 ? $cptable.utils.decode(65001, b.slice(i+4,i+4+len)) : \"\";};\n}\nif(typeof $cptable !== 'undefined') cpdoit();\n\nvar __readUInt8 = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx]; };\nvar __readUInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+1]*(1<<8))+b[idx]; };\nvar __readInt16LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { var u = (b[idx+1]*(1<<8))+b[idx]; return (u < 0x8000) ? u : ((0xffff - u + 1) * -1); };\nvar __readUInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return b[idx+3]*(1<<24)+(b[idx+2]<<16)+(b[idx+1]<<8)+b[idx]; };\nvar __readInt32LE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx+3]<<24)|(b[idx+2]<<16)|(b[idx+1]<<8)|b[idx]; };\nvar __readInt32BE = function(b/*:RawBytes|CFBlob*/, idx/*:number*/)/*:number*/ { return (b[idx]<<24)|(b[idx+1]<<16)|(b[idx+2]<<8)|b[idx+3]; };\n\nfunction ReadShift(size/*:number*/, t/*:?string*/)/*:number|string*/ {\n\tvar o=\"\", oI/*:: :number = 0*/, oR, oo=[], w, vv, i, loc;\n\tswitch(t) {\n\t\tcase 'dbcs':\n\t\t\tloc = this.l;\n\t\t\tif(has_buf && Buffer.isBuffer(this) && buf_utf16le) o = this.slice(this.l, this.l+2*size).toString(\"utf16le\");\n\t\t\telse for(i = 0; i < size; ++i) { o+=String.fromCharCode(__readUInt16LE(this, loc)); loc+=2; }\n\t\t\tsize *= 2;\n\t\t\tbreak;\n\n\t\tcase 'utf8': o = __utf8(this, this.l, this.l + size); break;\n\t\tcase 'utf16le': size *= 2; o = __utf16le(this, this.l, this.l + size); break;\n\n\t\tcase 'wstr':\n\t\t\tif(typeof $cptable !== 'undefined') o = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l+2*size));\n\t\t\telse return ReadShift.call(this, size, 'dbcs');\n\t\t\tsize = 2 * size; break;\n\n\t\t/* [MS-OLEDS] 2.1.4 LengthPrefixedAnsiString */\n\t\tcase 'lpstr-ansi': o = __lpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\tcase 'lpstr-cp': o = __cpstr(this, this.l); size = 4 + __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OLEDS] 2.1.5 LengthPrefixedUnicodeString */\n\t\tcase 'lpwstr': o = __lpwstr(this, this.l); size = 4 + 2 * __readUInt32LE(this, this.l); break;\n\t\t/* [MS-OFFCRYPTO] 2.1.2 Length-Prefixed Padded Unicode String (UNICODE-LP-P4) */\n\t\tcase 'lpp4': size = 4 + __readUInt32LE(this, this.l); o = __lpp4(this, this.l); if(size & 0x02) size += 2; break;\n\t\t/* [MS-OFFCRYPTO] 2.1.3 Length-Prefixed UTF-8 String (UTF-8-LP-P4) */\n\t\tcase '8lpp4': size = 4 + __readUInt32LE(this, this.l); o = __8lpp4(this, this.l); if(size & 0x03) size += 4 - (size & 0x03); break;\n\n\t\tcase 'cstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt8(this, this.l + size++))!==0) oo.push(_getchar(w));\n\t\t\to = oo.join(\"\"); break;\n\t\tcase '_wstr': size = 0; o = \"\";\n\t\t\twhile((w=__readUInt16LE(this,this.l +size))!==0){oo.push(_getchar(w));size+=2;}\n\t\t\tsize+=2; o = oo.join(\"\"); break;\n\n\t\t/* sbcs and dbcs support continue records in the SST way TODO codepages */\n\t\tcase 'dbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i < size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt16LE(this, loc)));\n\t\t\t\tloc+=2;\n\t\t\t} o = oo.join(\"\"); size *= 2; break;\n\n\t\tcase 'cpstr':\n\t\t\tif(typeof $cptable !== 'undefined') {\n\t\t\t\to = $cptable.utils.decode(current_codepage, this.slice(this.l, this.l + size));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t/* falls through */\n\t\tcase 'sbcs-cont': o = \"\"; loc = this.l;\n\t\t\tfor(i = 0; i != size; ++i) {\n\t\t\t\tif(this.lens && this.lens.indexOf(loc) !== -1) {\n\t\t\t\t\tw = __readUInt8(this, loc);\n\t\t\t\t\tthis.l = loc + 1;\n\t\t\t\t\tvv = ReadShift.call(this, size-i, w ? 'dbcs-cont' : 'sbcs-cont');\n\t\t\t\t\treturn oo.join(\"\") + vv;\n\t\t\t\t}\n\t\t\t\too.push(_getchar(__readUInt8(this, loc)));\n\t\t\t\tloc+=1;\n\t\t\t} o = oo.join(\"\"); break;\n\n\t\tdefault:\n\tswitch(size) {\n\t\tcase 1: oI = __readUInt8(this, this.l); this.l++; return oI;\n\t\tcase 2: oI = (t === 'i' ? __readInt16LE : __readUInt16LE)(this, this.l); this.l += 2; return oI;\n\t\tcase 4: case -4:\n\t\t\tif(t === 'i' || ((this[this.l+3] & 0x80)===0)) { oI = ((size > 0) ? __readInt32LE : __readInt32BE)(this, this.l); this.l += 4; return oI; }\n\t\t\telse { oR = __readUInt32LE(this, this.l); this.l += 4; } return oR;\n\t\tcase 8: case -8:\n\t\t\tif(t === 'f') {\n\t\t\t\tif(size == 8) oR = __double(this, this.l);\n\t\t\t\telse oR = __double([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]], 0);\n\t\t\t\tthis.l += 8; return oR;\n\t\t\t} else size = 8;\n\t\t/* falls through */\n\t\tcase 16: o = __hexlify(this, this.l, size); break;\n\t}}\n\tthis.l+=size; return o;\n}\n\nvar __writeUInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); b[idx+2] = ((val >>> 16) & 0xFF); b[idx+3] = ((val >>> 24) & 0xFF); };\nvar __writeInt32LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >> 8) & 0xFF); b[idx+2] = ((val >> 16) & 0xFF); b[idx+3] = ((val >> 24) & 0xFF); };\nvar __writeUInt16LE = function(b/*:RawBytes|CFBlob*/, val/*:number*/, idx/*:number*/)/*:void*/ { b[idx] = (val & 0xFF); b[idx+1] = ((val >>> 8) & 0xFF); };\n\nfunction WriteShift(t/*:number*/, val/*:string|number*/, f/*:?string*/)/*:any*/ {\n\tvar size = 0, i = 0;\n\tif(f === 'dbcs') {\n\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\tfor(i = 0; i != val.length; ++i) __writeUInt16LE(this, val.charCodeAt(i), this.l + 2 * i);\n\t\tsize = 2 * val.length;\n\t} else if(f === 'sbcs' || f == 'cpstr') {\n\t\tif(typeof $cptable !== 'undefined' && current_ansi == 874) {\n\t\t\t/* TODO: use tables directly, don't encode */\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) {\n\t\t\t\tvar cpp = $cptable.utils.encode(current_ansi, val.charAt(i));\n\t\t\t\tthis[this.l + i] = cpp[0];\n\t\t\t}\n\t\t\tsize = val.length;\n\t\t} else if(typeof $cptable !== 'undefined' && f == 'cpstr') {\n\t\t\tcpp = $cptable.utils.encode(current_codepage, val);\n\t\t\t/* replace null bytes with _ when relevant */\n if(cpp.length == val.length) for(i = 0; i < val.length; ++i) if(cpp[i] == 0 && val.charCodeAt(i) != 0) cpp[i] = 0x5F;\n if(cpp.length == 2 * val.length) for(i = 0; i < val.length; ++i) if(cpp[2*i] == 0 && cpp[2*i+1] == 0 && val.charCodeAt(i) != 0) cpp[2*i] = 0x5F;\n\t\t\tfor(i = 0; i < cpp.length; ++i) this[this.l + i] = cpp[i];\n\t\t\tsize = cpp.length;\n\t\t} else {\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tval = val.replace(/[^\\x00-\\x7F]/g, \"_\");\n\t\t\t/*:: if(typeof val !== 'string') throw new Error(\"unreachable\"); */\n\t\t\tfor(i = 0; i != val.length; ++i) this[this.l + i] = (val.charCodeAt(i) & 0xFF);\n\t\t\tsize = val.length;\n\t\t}\n\t} else if(f === 'hex') {\n\t\tfor(; i < t; ++i) {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tthis[this.l++] = (parseInt(val.slice(2*i, 2*i+2), 16)||0);\n\t\t} return this;\n\t} else if(f === 'utf16le') {\n\t\t\t/*:: if(typeof val !== \"string\") throw new Error(\"unreachable\"); */\n\t\t\tvar end/*:number*/ = Math.min(this.l + t, this.length);\n\t\t\tfor(i = 0; i < Math.min(val.length, t); ++i) {\n\t\t\t\tvar cc = val.charCodeAt(i);\n\t\t\t\tthis[this.l++] = (cc & 0xff);\n\t\t\t\tthis[this.l++] = (cc >> 8);\n\t\t\t}\n\t\t\twhile(this.l < end) this[this.l++] = 0;\n\t\t\treturn this;\n\t} else /*:: if(typeof val === 'number') */ switch(t) {\n\t\tcase 1: size = 1; this[this.l] = val&0xFF; break;\n\t\tcase 2: size = 2; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; break;\n\t\tcase 3: size = 3; this[this.l] = val&0xFF; val >>>= 8; this[this.l+1] = val&0xFF; val >>>= 8; this[this.l+2] = val&0xFF; break;\n\t\tcase 4: size = 4; __writeUInt32LE(this, val, this.l); break;\n\t\tcase 8: size = 8; if(f === 'f') { write_double_le(this, val, this.l); break; }\n\t\t/* falls through */\n\t\tcase 16: break;\n\t\tcase -4: size = 4; __writeInt32LE(this, val, this.l); break;\n\t}\n\tthis.l += size; return this;\n}\n\nfunction CheckField(hexstr/*:string*/, fld/*:string*/)/*:void*/ {\n\tvar m = __hexlify(this,this.l,hexstr.length>>1);\n\tif(m !== hexstr) throw new Error(fld + 'Expected ' + hexstr + ' saw ' + m);\n\tthis.l += hexstr.length>>1;\n}\n\nfunction prep_blob(blob, pos/*:number*/)/*:void*/ {\n\tblob.l = pos;\n\tblob.read_shift = /*::(*/ReadShift/*:: :any)*/;\n\tblob.chk = CheckField;\n\tblob.write_shift = WriteShift;\n}\n\nfunction parsenoop(blob, length/*:: :number, opts?:any */) { blob.l += length; }\n\nfunction new_buf(sz/*:number*/)/*:Block*/ {\n\tvar o = new_raw_buf(sz);\n\tprep_blob(o, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.1.4 Record */\nfunction recordhopper(data, cb/*:RecordHopperCB*/, opts/*:?any*/) {\n\tif(!data) return;\n\tvar tmpbyte, cntbyte, length;\n\tprep_blob(data, data.l || 0);\n\tvar L = data.length, RT = 0, tgt = 0;\n\twhile(data.l < L) {\n\t\tRT = data.read_shift(1);\n\t\tif(RT & 0x80) RT = (RT & 0x7F) + ((data.read_shift(1) & 0x7F)<<7);\n\t\tvar R = XLSBRecordEnum[RT] || XLSBRecordEnum[0xFFFF];\n\t\ttmpbyte = data.read_shift(1);\n\t\tlength = tmpbyte & 0x7F;\n\t\tfor(cntbyte = 1; cntbyte <4 && (tmpbyte & 0x80); ++cntbyte) length += ((tmpbyte = data.read_shift(1)) & 0x7F)<<(7*cntbyte);\n\t\ttgt = data.l + length;\n\t\tvar d = R.f && R.f(data, length, opts);\n\t\tdata.l = tgt;\n\t\tif(cb(d, R, RT)) return;\n\t}\n}\n\n/* control buffer usage for fixed-length buffers */\nfunction buf_array()/*:BufArray*/ {\n\tvar bufs/*:Array*/ = [], blksz = has_buf ? 16384 : 2048;\n\tvar has_buf_copy = has_buf && (typeof new_buf(blksz).copy == \"function\");\n\tvar newblk = function ba_newblk(sz/*:number*/)/*:Block*/ {\n\t\tvar o/*:Block*/ = (new_buf(sz)/*:any*/);\n\t\tprep_blob(o, 0);\n\t\treturn o;\n\t};\n\n\tvar curbuf/*:Block*/ = newblk(blksz);\n\n\tvar endbuf = function ba_endbuf() {\n\t\tif(!curbuf) return;\n\t\t// workaround for new Buffer(3).slice(0,0) bug in bun 0.1.3\n\t\tif(curbuf.l) {\n\t\t\tif(curbuf.length > curbuf.l) { curbuf = curbuf.slice(0, curbuf.l); curbuf.l = curbuf.length; }\n\t\t\tif(curbuf.length > 0) bufs.push(curbuf);\n\t\t}\n\t\tcurbuf = null;\n\t};\n\n\tvar next = function ba_next(sz/*:number*/)/*:Block*/ {\n\t\tif(curbuf && (sz < (curbuf.length - curbuf.l))) return curbuf;\n\t\tendbuf();\n\t\treturn (curbuf = newblk(Math.max(sz+1, blksz)));\n\t};\n\n\tvar end = function ba_end() {\n\t\tendbuf();\n\t\treturn bconcat(bufs);\n\t};\n\tvar end2 = function() {\n\t\tendbuf(); return bufs;\n\t};\n\n\tvar push = function ba_push(buf) {\n\t\tendbuf(); curbuf = buf; if(curbuf.l == null) curbuf.l = curbuf.length; next(blksz);\n\t};\n\n\treturn ({ next:next, push:push, end:end, _bufs:bufs, end2:end2 }/*:any*/);\n}\n\nfunction write_record(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/) {\n\tvar t/*:number*/ = +type, l;\n\tif(isNaN(t)) return; // TODO: throw something here?\n\tif(!length) length = XLSBRecordEnum[t].p || (payload||[]).length || 0;\n\tl = 1 + (t >= 0x80 ? 1 : 0) + 1/* + length*/;\n\tif(length >= 0x80) ++l; if(length >= 0x4000) ++l; if(length >= 0x200000) ++l;\n\tvar o = ba.next(l);\n\tif(t <= 0x7F) o.write_shift(1, t);\n\telse {\n\t\to.write_shift(1, (t & 0x7F) + 0x80);\n\t\to.write_shift(1, (t >> 7));\n\t}\n\tfor(var i = 0; i != 4; ++i) {\n\t\tif(length >= 0x80) { o.write_shift(1, (length & 0x7F)+0x80); length >>= 7; }\n\t\telse { o.write_shift(1, length); break; }\n\t}\n\tif(/*:: length != null &&*/length > 0 && is_buf(payload)) ba.push(payload);\n}\n/* XLS ranges enforced */\nfunction shift_cell_xls(cell/*:CellAddress*/, tgt/*:any*/, opts/*:?any*/)/*:CellAddress*/ {\n\tvar out = dup(cell);\n\tif(tgt.s) {\n\t\tif(out.cRel) out.c += tgt.s.c;\n\t\tif(out.rRel) out.r += tgt.s.r;\n\t} else {\n\t\tif(out.cRel) out.c += tgt.c;\n\t\tif(out.rRel) out.r += tgt.r;\n\t}\n\tif(!opts || opts.biff < 12) {\n\t\twhile(out.c >= 0x100) out.c -= 0x100;\n\t\twhile(out.r >= 0x10000) out.r -= 0x10000;\n\t}\n\treturn out;\n}\n\nfunction shift_range_xls(cell, range, opts) {\n\tvar out = dup(cell);\n\tout.s = shift_cell_xls(out.s, range.s, opts);\n\tout.e = shift_cell_xls(out.e, range.s, opts);\n\treturn out;\n}\n\nfunction encode_cell_xls(c/*:CellAddress*/, biff/*:number*/)/*:string*/ {\n\tif(c.cRel && c.c < 0) { c = dup(c); while(c.c < 0) c.c += (biff > 8) ? 0x4000 : 0x100; }\n\tif(c.rRel && c.r < 0) { c = dup(c); while(c.r < 0) c.r += (biff > 8) ? 0x100000 : ((biff > 5) ? 0x10000 : 0x4000); }\n\tvar s = encode_cell(c);\n\tif(!c.cRel && c.cRel != null) s = fix_col(s);\n\tif(!c.rRel && c.rRel != null) s = fix_row(s);\n\treturn s;\n}\n\nfunction encode_range_xls(r, opts)/*:string*/ {\n\tif(r.s.r == 0 && !r.s.rRel) {\n\t\tif(r.e.r == (opts.biff >= 12 ? 0xFFFFF : (opts.biff >= 8 ? 0x10000 : 0x4000)) && !r.e.rRel) {\n\t\t\treturn (r.s.cRel ? \"\" : \"$\") + encode_col(r.s.c) + \":\" + (r.e.cRel ? \"\" : \"$\") + encode_col(r.e.c);\n\t\t}\n\t}\n\tif(r.s.c == 0 && !r.s.cRel) {\n\t\tif(r.e.c == (opts.biff >= 12 ? 0x3FFF : 0xFF) && !r.e.cRel) {\n\t\t\treturn (r.s.rRel ? \"\" : \"$\") + encode_row(r.s.r) + \":\" + (r.e.rRel ? \"\" : \"$\") + encode_row(r.e.r);\n\t\t}\n\t}\n\treturn encode_cell_xls(r.s, opts.biff) + \":\" + encode_cell_xls(r.e, opts.biff);\n}\nfunction decode_row(rowstr/*:string*/)/*:number*/ { return parseInt(unfix_row(rowstr),10) - 1; }\nfunction encode_row(row/*:number*/)/*:string*/ { return \"\" + (row + 1); }\nfunction fix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/([A-Z]|^)(\\d+)$/,\"$1$$$2\"); }\nfunction unfix_row(cstr/*:string*/)/*:string*/ { return cstr.replace(/\\$(\\d+)$/,\"$1\"); }\n\nfunction decode_col(colstr/*:string*/)/*:number*/ { var c = unfix_col(colstr), d = 0, i = 0; for(; i !== c.length; ++i) d = 26*d + c.charCodeAt(i) - 64; return d - 1; }\nfunction encode_col(col/*:number*/)/*:string*/ { if(col < 0) throw new Error(\"invalid column \" + col); var s=\"\"; for(++col; col; col=Math.floor((col-1)/26)) s = String.fromCharCode(((col-1)%26) + 65) + s; return s; }\nfunction fix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^([A-Z])/,\"$$$1\"); }\nfunction unfix_col(cstr/*:string*/)/*:string*/ { return cstr.replace(/^\\$([A-Z])/,\"$1\"); }\n\nfunction split_cell(cstr/*:string*/)/*:Array*/ { return cstr.replace(/(\\$?[A-Z]*)(\\$?\\d*)/,\"$1,$2\").split(\",\"); }\nfunction decode_cell(cstr/*:string*/)/*:CellAddress*/ {\n\tvar R = 0, C = 0;\n\tfor(var i = 0; i < cstr.length; ++i) {\n\t\tvar cc = cstr.charCodeAt(i);\n\t\tif(cc >= 48 && cc <= 57) R = 10 * R + (cc - 48);\n\t\telse if(cc >= 65 && cc <= 90) C = 26 * C + (cc - 64);\n\t}\n\treturn { c: C - 1, r:R - 1 };\n}\nfunction encode_cell(cell/*:CellAddress*/)/*:string*/ {\n\tvar col = cell.c + 1;\n\tvar s=\"\";\n\tfor(; col; col=((col-1)/26)|0) s = String.fromCharCode(((col-1)%26) + 65) + s;\n\treturn s + (cell.r + 1);\n}\nfunction decode_range(range/*:string*/)/*:Range*/ {\n\tvar idx = range.indexOf(\":\");\n\tif(idx == -1) return { s: decode_cell(range), e: decode_cell(range) };\n\treturn { s: decode_cell(range.slice(0, idx)), e: decode_cell(range.slice(idx + 1)) };\n}\n/*# if only one arg, it is assumed to be a Range. If 2 args, both are cell addresses */\nfunction encode_range(cs/*:CellAddrSpec|Range*/,ce/*:?CellAddrSpec*/)/*:string*/ {\n\tif(typeof ce === 'undefined' || typeof ce === 'number') {\n/*:: if(!(cs instanceof Range)) throw \"unreachable\"; */\n\t\treturn encode_range(cs.s, cs.e);\n\t}\n/*:: if((cs instanceof Range)) throw \"unreachable\"; */\n\tif(typeof cs !== 'string') cs = encode_cell((cs/*:any*/));\n\tif(typeof ce !== 'string') ce = encode_cell((ce/*:any*/));\n/*:: if(typeof cs !== 'string') throw \"unreachable\"; */\n/*:: if(typeof ce !== 'string') throw \"unreachable\"; */\n\treturn cs == ce ? cs : cs + \":\" + ce;\n}\nfunction fix_range(a1/*:string*/)/*:string*/ {\n\tvar s = decode_range(a1);\n\treturn \"$\" + encode_col(s.s.c) + \"$\" + encode_row(s.s.r) + \":$\" + encode_col(s.e.c) + \"$\" + encode_row(s.e.r);\n}\n\n// List of invalid characters needs to be tested further\nfunction formula_quote_sheet_name(sname/*:string*/, opts)/*:string*/ {\n\tif(!sname && !(opts && opts.biff <= 5 && opts.biff >= 2)) throw new Error(\"empty sheet name\");\n\tif (/[^\\w\\u4E00-\\u9FFF\\u3040-\\u30FF]/.test(sname)) return \"'\" + sname.replace(/'/g, \"''\") + \"'\";\n\treturn sname;\n}\n\nfunction safe_decode_range(range/*:string*/)/*:Range*/ {\n\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\tvar idx = 0, i = 0, cc = 0;\n\tvar len = range.length;\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.s.c = --idx;\n\n\tfor(idx = 0; i < len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.s.r = --idx;\n\n\tif(i === len || cc != 10) { o.e.c=o.s.c; o.e.r=o.s.r; return o; }\n\t++i;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\tidx = 26*idx + cc;\n\t}\n\to.e.c = --idx;\n\n\tfor(idx = 0; i != len; ++i) {\n\t\tif((cc=range.charCodeAt(i)-48) < 0 || cc > 9) break;\n\t\tidx = 10*idx + cc;\n\t}\n\to.e.r = --idx;\n\treturn o;\n}\n\nfunction safe_format_cell(cell/*:Cell*/, v/*:any*/) {\n\tvar q = (cell.t == 'd' && v instanceof Date);\n\tif(cell.z != null) try { return (cell.w = SSF_format(cell.z, q ? datenum(v) : v)); } catch(e) { }\n\ttry { return (cell.w = SSF_format((cell.XF||{}).numFmtId||(q ? 14 : 0), q ? datenum(v) : v)); } catch(e) { return ''+v; }\n}\n\nfunction format_cell(cell/*:Cell*/, v/*:any*/, o/*:any*/) {\n\tif(cell == null || cell.t == null || cell.t == 'z') return \"\";\n\tif(cell.w !== undefined) return cell.w;\n\tif(cell.t == 'd' && !cell.z && o && o.dateNF) cell.z = o.dateNF;\n\tif(cell.t == \"e\") return BErr[cell.v] || cell.v;\n\tif(v == undefined) return safe_format_cell(cell, cell.v);\n\treturn safe_format_cell(cell, v);\n}\n\nfunction sheet_to_workbook(sheet/*:Worksheet*/, opts)/*:Workbook*/ {\n\tvar n = opts && opts.sheet ? opts.sheet : \"Sheet1\";\n\tvar sheets = {}; sheets[n] = sheet;\n\treturn { SheetNames: [n], Sheets: sheets };\n}\n\nfunction sheet_new(opts) {\n\tvar out = {};\n\tvar o = opts || {};\n\tif(o.dense) out[\"!data\"] = [];\n\treturn out;\n}\n\nfunction sheet_add_aoa(_ws/*:?Worksheet*/, data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? (_ws[\"!data\"] != null) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar ws/*:Worksheet*/ = _ws || (dense ? ({\"!data\": []}) : ({}/*:any*/));\n\tif(dense && !ws[\"!data\"]) ws[\"!data\"] = [];\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar range/*:Range*/ = ({s: {c:10000000, r:10000000}, e: {c:0, r:0}}/*:any*/);\n\tif(ws[\"!ref\"]){\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.s.c = _range.s.c;\n\t\trange.s.r = _range.s.r;\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) range.e.r = _R = (ws[\"!ref\"] ? _range.e.r + 1 : 0);\n\t} else {\n\t\trange.s.c = range.e.c = range.s.r = range.e.r = 0;\n\t}\n\tvar row = [], seen = false;\n\tfor(var R = 0; R != data.length; ++R) {\n\t\tif(!data[R]) continue;\n\t\tif(!Array.isArray(data[R])) throw new Error(\"aoa_to_sheet expects an array of arrays\");\n\t\tvar __R = _R + R;\n\t\tif(dense) {\n\t\t\tif(!ws[\"!data\"][__R]) ws[\"!data\"][__R] = [];\n\t\t\trow = ws[\"!data\"][__R];\n\t\t}\n\t\tvar data_R = data[R];\n\t\tfor(var C = 0; C != data_R.length; ++C) {\n\t\t\tif(typeof data_R[C] === 'undefined') continue;\n\t\t\tvar cell/*:Cell*/ = ({v: data_R[C], t:\"\" }/*:any*/);\n\t\t\tvar __C = _C + C;\n\t\t\tif(range.s.r > __R) range.s.r = __R;\n\t\t\tif(range.s.c > __C) range.s.c = __C;\n\t\t\tif(range.e.r < __R) range.e.r = __R;\n\t\t\tif(range.e.c < __C) range.e.c = __C;\n\t\t\tseen = true;\n\t\t\tif(data_R[C] && typeof data_R[C] === 'object' && !Array.isArray(data_R[C]) && !(data_R[C] instanceof Date)) cell = data_R[C];\n\t\t\telse {\n\t\t\t\tif(Array.isArray(cell.v)) { cell.f = data_R[C][1]; cell.v = cell.v[0]; }\n\t\t\t\tif(cell.v === null) {\n\t\t\t\t\tif(cell.f) cell.t = 'n';\n\t\t\t\t\telse if(o.nullError) { cell.t = 'e'; cell.v = 0; }\n\t\t\t\t\telse if(!o.sheetStubs) continue;\n\t\t\t\t\telse cell.t = 'z';\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'number') {\n\t\t\t\t\tif(isFinite(cell.v)) cell.t = 'n';\n\t\t\t\t\telse if(isNaN(cell.v)) { cell.t = 'e'; cell.v = 0x0F; /* #VALUE! */ }\n\t\t\t\t\telse { cell.t = 'e'; cell.v = 0x07; /*# DIV/0 */ }\n\t\t\t\t}\n\t\t\t\telse if(typeof cell.v === 'boolean') cell.t = 'b';\n\t\t\t\telse if(cell.v instanceof Date) {\n\t\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\t\tif(!o.UTC) cell.v = local_to_utc(cell.v);\n\t\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.w = SSF_format(cell.z, datenum(cell.v, o.date1904)); }\n\t\t\t\t\telse { cell.t = 'n'; cell.v = datenum(cell.v, o.date1904); cell.w = SSF_format(cell.z, cell.v); }\n\t\t\t\t}\n\t\t\t\telse cell.t = 's';\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\tif(row[__C] && row[__C].z) cell.z = row[__C].z;\n\t\t\t\trow[__C] = cell;\n\t\t\t} else {\n\t\t\t\tvar cell_ref = encode_col(__C) + (__R + 1)/*:any*/;\n\t\t\t\tif(ws[cell_ref] && ws[cell_ref].z) cell.z = ws[cell_ref].z;\n\t\t\t\tws[cell_ref] = cell;\n\t\t\t}\n\t\t}\n\t}\n\tif(seen && range.s.c < 10400000) ws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction aoa_to_sheet(data/*:AOA*/, opts/*:?any*/)/*:Worksheet*/ { return sheet_add_aoa(null, data, opts); }\nfunction parse_Int32LE(data) {\n\treturn data.read_shift(4, 'i');\n}\nfunction write_UInt32LE(x/*:number*/, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(4, x);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.168 */\nfunction parse_XLWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(4 + 2 * data.length); }\n\to.write_shift(4, data.length);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.91 */\n//function parse_LPWideString(data/*::, length*/)/*:string*/ {\n//\tvar cchCharacters = data.read_shift(2);\n//\treturn cchCharacters === 0 ? \"\" : data.read_shift(cchCharacters, \"utf16le\");\n//}\n\n/* [MS-XLSB] 2.5.143 */\nfunction parse_StrRun(data) {\n\treturn { ich: data.read_shift(2), ifnt: data.read_shift(2) };\n}\nfunction write_StrRun(run, o) {\n\tif (!o) o = new_buf(4);\n\to.write_shift(2, run.ich || 0);\n\to.write_shift(2, run.ifnt || 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.121 */\nfunction parse_RichStr(data, length/*:number*/)/*:XLString*/ {\n\tvar start = data.l;\n\tvar flags = data.read_shift(1);\n\tvar str = parse_XLWideString(data);\n\tvar rgsStrRun = [];\n\tvar z = ({ t: str, h: str }/*:any*/);\n\tif ((flags & 1) !== 0) { /* fRichStr */\n\t\t/* TODO: formatted string */\n\t\tvar dwSizeStrRun = data.read_shift(4);\n\t\tfor (var i = 0; i != dwSizeStrRun; ++i) rgsStrRun.push(parse_StrRun(data));\n\t\tz.r = rgsStrRun;\n\t}\n\telse z.r = [{ ich: 0, ifnt: 0 }];\n\t//if((flags & 2) !== 0) { /* fExtStr */\n\t//\t/* TODO: phonetic string */\n\t//}\n\tdata.l = start + length;\n\treturn z;\n}\nfunction write_RichStr(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(15 + 4 * str.t.length); }\n\to.write_shift(1, 0);\n\twrite_XLWideString(str.t, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n/* [MS-XLSB] 2.4.328 BrtCommentText (RichStr w/1 run) */\nvar parse_BrtCommentText = parse_RichStr;\nfunction write_BrtCommentText(str/*:XLString*/, o/*:?Block*/)/*:Block*/ {\n\t/* TODO: formatted string */\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(23 + 4 * str.t.length); }\n\to.write_shift(1, 1);\n\twrite_XLWideString(str.t, o);\n\to.write_shift(4, 1);\n\twrite_StrRun({ ich: 0, ifnt: 0 }, o);\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.9 */\nfunction parse_XLSBCell(data)/*:any*/ {\n\tvar col = data.read_shift(4);\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) << 16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c: col, iStyleRef: iStyleRef };\n}\nfunction write_XLSBCell(cell/*:any*/, o/*:?Block*/) {\n\tif (o == null) o = new_buf(8);\n\to.write_shift(-4, cell.c);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* Short XLSB Cell does not include column */\nfunction parse_XLSBShortCell(data)/*:any*/ {\n\tvar iStyleRef = data.read_shift(2);\n\tiStyleRef += data.read_shift(1) <<16;\n\tdata.l++; //var fPhShow = data.read_shift(1);\n\treturn { c:-1, iStyleRef: iStyleRef };\n}\nfunction write_XLSBShortCell(cell/*:any*/, o/*:?Block*/) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(3, cell.iStyleRef || cell.s);\n\to.write_shift(1, 0); /* fPhShow */\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.21 */\nvar parse_XLSBCodeName = parse_XLWideString;\nvar write_XLSBCodeName = write_XLWideString;\n\n/* [MS-XLSB] 2.5.166 */\nfunction parse_XLNullableWideString(data/*::, length*/)/*:string*/ {\n\tvar cchCharacters = data.read_shift(4);\n\treturn cchCharacters === 0 || cchCharacters === 0xFFFFFFFF ? \"\" : data.read_shift(cchCharacters, 'dbcs');\n}\nfunction write_XLNullableWideString(data/*:string*/, o) {\n\tvar _null = false; if (o == null) { _null = true; o = new_buf(127); }\n\to.write_shift(4, data.length > 0 ? data.length : 0xFFFFFFFF);\n\tif (data.length > 0) o.write_shift(0, data, 'dbcs');\n\treturn _null ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.5.165 */\nvar parse_XLNameWideString = parse_XLWideString;\n//var write_XLNameWideString = write_XLWideString;\n\n/* [MS-XLSB] 2.5.114 */\nvar parse_RelID = parse_XLNullableWideString;\nvar write_RelID = write_XLNullableWideString;\n\n\n/* [MS-XLS] 2.5.217 ; [MS-XLSB] 2.5.122 */\nfunction parse_RkNumber(data)/*:number*/ {\n\tvar b = data.slice(data.l, data.l + 4);\n\tvar fX100 = (b[0] & 1), fInt = (b[0] & 2);\n\tdata.l += 4;\n\tvar RK = fInt === 0 ? __double([0, 0, 0, 0, (b[0] & 0xFC), b[1], b[2], b[3]], 0) : __readInt32LE(b, 0) >> 2;\n\treturn fX100 ? (RK / 100) : RK;\n}\nfunction write_RkNumber(data/*:number*/, o) {\n\tif (o == null) o = new_buf(4);\n\tvar fX100 = 0, fInt = 0, d100 = data * 100;\n\tif ((data == (data | 0)) && (data >= -(1 << 29)) && (data < (1 << 29))) { fInt = 1; }\n\telse if ((d100 == (d100 | 0)) && (d100 >= -(1 << 29)) && (d100 < (1 << 29))) { fInt = 1; fX100 = 1; }\n\tif (fInt) o.write_shift(-4, ((fX100 ? d100 : data) << 2) + (fX100 + 2));\n\telse throw new Error(\"unsupported RkNumber \" + data); // TODO\n}\n\n\n/* [MS-XLSB] 2.5.117 RfX */\nfunction parse_RfX(data /*::, length*/)/*:Range*/ {\n\tvar cell/*:Range*/ = ({ s: {}, e: {} }/*:any*/);\n\tcell.s.r = data.read_shift(4);\n\tcell.e.r = data.read_shift(4);\n\tcell.s.c = data.read_shift(4);\n\tcell.e.c = data.read_shift(4);\n\treturn cell;\n}\nfunction write_RfX(r/*:Range*/, o) {\n\tif (!o) o = new_buf(16);\n\to.write_shift(4, r.s.r);\n\to.write_shift(4, r.e.r);\n\to.write_shift(4, r.s.c);\n\to.write_shift(4, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.153 UncheckedRfX */\nvar parse_UncheckedRfX = parse_RfX;\nvar write_UncheckedRfX = write_RfX;\n\n/* [MS-XLSB] 2.5.155 UncheckedSqRfX */\n//function parse_UncheckedSqRfX(data) {\n//\tvar cnt = data.read_shift(4);\n//\tvar out = [];\n//\tfor(var i = 0; i < cnt; ++i) {\n//\t\tvar rng = parse_UncheckedRfX(data);\n//\t\tout.push(encode_range(rng));\n//\t}\n//\treturn out.join(\",\");\n//}\n//function write_UncheckedSqRfX(sqrfx/*:string*/) {\n//\tvar parts = sqrfx.split(/\\s*,\\s*/);\n//\tvar o = new_buf(4); o.write_shift(4, parts.length);\n//\tvar out = [o];\n//\tparts.forEach(function(rng) {\n//\t\tout.push(write_UncheckedRfX(safe_decode_range(rng)));\n//\t});\n//\treturn bconcat(out);\n//}\n\n/* [MS-XLS] 2.5.342 ; [MS-XLSB] 2.5.171 */\n/* TODO: error checking, NaN and Infinity values are not valid Xnum */\nfunction parse_Xnum(data/*::, length*/) {\n\tif(data.length - data.l < 8) throw \"XLS Xnum Buffer underflow\";\n\treturn data.read_shift(8, 'f');\n}\nfunction write_Xnum(data, o) { return (o || new_buf(8)).write_shift(8, data, 'f'); }\n\n/* [MS-XLSB] 2.4.324 BrtColor */\nfunction parse_BrtColor(data/*::, length*/) {\n\tvar out = {};\n\tvar d = data.read_shift(1);\n\n\t//var fValidRGB = d & 1;\n\tvar xColorType = d >>> 1;\n\n\tvar index = data.read_shift(1);\n\tvar nTS = data.read_shift(2, 'i');\n\tvar bR = data.read_shift(1);\n\tvar bG = data.read_shift(1);\n\tvar bB = data.read_shift(1);\n\tdata.l++; //var bAlpha = data.read_shift(1);\n\n\tswitch (xColorType) {\n\t\tcase 0: out.auto = 1; break;\n\t\tcase 1:\n\t\t\tout.index = index;\n\t\t\tvar icv = XLSIcv[index];\n\t\t\t/* automatic pseudo index 81 */\n\t\t\tif (icv) out.rgb = rgb2Hex(icv);\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\t/* if(!fValidRGB) throw new Error(\"invalid\"); */\n\t\t\tout.rgb = rgb2Hex([bR, bG, bB]);\n\t\t\tbreak;\n\t\tcase 3: out.theme = index; break;\n\t}\n\tif (nTS != 0) out.tint = nTS > 0 ? nTS / 32767 : nTS / 32768;\n\n\treturn out;\n}\nfunction write_BrtColor(color, o) {\n\tif (!o) o = new_buf(8);\n\tif (!color || color.auto) { o.write_shift(4, 0); o.write_shift(4, 0); return o; }\n\tif (color.index != null) {\n\t\to.write_shift(1, 0x02);\n\t\to.write_shift(1, color.index);\n\t} else if (color.theme != null) {\n\t\to.write_shift(1, 0x06);\n\t\to.write_shift(1, color.theme);\n\t} else {\n\t\to.write_shift(1, 0x05);\n\t\to.write_shift(1, 0);\n\t}\n\tvar nTS = color.tint || 0;\n\tif (nTS > 0) nTS *= 32767;\n\telse if (nTS < 0) nTS *= 32768;\n\to.write_shift(2, nTS);\n\tif (!color.rgb || color.theme != null) {\n\t\to.write_shift(2, 0);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(1, 0);\n\t} else {\n\t\tvar rgb = (color.rgb || 'FFFFFF');\n\t\tif (typeof rgb == 'number') rgb = (\"000000\" + rgb.toString(16)).slice(-6);\n\t\to.write_shift(1, parseInt(rgb.slice(0, 2), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(2, 4), 16));\n\t\to.write_shift(1, parseInt(rgb.slice(4, 6), 16));\n\t\to.write_shift(1, 0xFF);\n\t}\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.52 */\nfunction parse_FontFlags(data/*::, length, opts*/) {\n\tvar d = data.read_shift(1);\n\tdata.l++;\n\tvar out = {\n\t\tfBold: d & 0x01,\n\t\tfItalic: d & 0x02,\n\t\tfUnderline: d & 0x04,\n\t\tfStrikeout: d & 0x08,\n\t\tfOutline: d & 0x10,\n\t\tfShadow: d & 0x20,\n\t\tfCondense: d & 0x40,\n\t\tfExtend: d & 0x80\n\t};\n\treturn out;\n}\nfunction write_FontFlags(font, o) {\n\tif (!o) o = new_buf(2);\n\tvar grbit =\n\t\t(font.italic ? 0x02 : 0) |\n\t\t(font.strike ? 0x08 : 0) |\n\t\t(font.outline ? 0x10 : 0) |\n\t\t(font.shadow ? 0x20 : 0) |\n\t\t(font.condense ? 0x40 : 0) |\n\t\t(font.extend ? 0x80 : 0);\n\to.write_shift(1, grbit);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-OLEDS] 2.3.1 and 2.3.2 */\nfunction parse_ClipboardFormatOrString(o, w/*:number*/)/*:string*/ {\n\t// $FlowIgnore\n\tvar ClipFmt = { 2: \"BITMAP\", 3: \"METAFILEPICT\", 8: \"DIB\", 14: \"ENHMETAFILE\" };\n\tvar m/*:number*/ = o.read_shift(4);\n\tswitch (m) {\n\t\tcase 0x00000000: return \"\";\n\t\tcase 0xffffffff: case 0xfffffffe: return ClipFmt[o.read_shift(4)] || \"\";\n\t}\n\tif (m > 0x190) throw new Error(\"Unsupported Clipboard: \" + m.toString(16));\n\to.l -= 4;\n\treturn o.read_shift(0, w == 1 ? \"lpstr\" : \"lpwstr\");\n}\nfunction parse_ClipboardFormatOrAnsiString(o) { return parse_ClipboardFormatOrString(o, 1); }\nfunction parse_ClipboardFormatOrUnicodeString(o) { return parse_ClipboardFormatOrString(o, 2); }\n\n/* [MS-OLEPS] 2.2 PropertyType */\n// Note: some tree shakers cannot handle VT_VECTOR | $CONST, hence extra vars\n//var VT_EMPTY = 0x0000;\n//var VT_NULL = 0x0001;\nvar VT_I2 = 0x0002;\nvar VT_I4 = 0x0003;\n//var VT_R4 = 0x0004;\n//var VT_R8 = 0x0005;\n//var VT_CY = 0x0006;\n//var VT_DATE = 0x0007;\n//var VT_BSTR = 0x0008;\n//var VT_ERROR = 0x000A;\nvar VT_BOOL = 0x000B;\nvar VT_VARIANT = 0x000C;\n//var VT_DECIMAL = 0x000E;\n//var VT_I1 = 0x0010;\n//var VT_UI1 = 0x0011;\n//var VT_UI2 = 0x0012;\nvar VT_UI4 = 0x0013;\n//var VT_I8 = 0x0014;\n//var VT_UI8 = 0x0015;\n//var VT_INT = 0x0016;\n//var VT_UINT = 0x0017;\n//var VT_LPSTR = 0x001E;\n//var VT_LPWSTR = 0x001F;\nvar VT_FILETIME = 0x0040;\nvar VT_BLOB = 0x0041;\n//var VT_STREAM = 0x0042;\n//var VT_STORAGE = 0x0043;\n//var VT_STREAMED_Object = 0x0044;\n//var VT_STORED_Object = 0x0045;\n//var VT_BLOB_Object = 0x0046;\nvar VT_CF = 0x0047;\n//var VT_CLSID = 0x0048;\n//var VT_VERSIONED_STREAM = 0x0049;\n//var VT_VECTOR = 0x1000;\nvar VT_VECTOR_VARIANT = 0x100C;\nvar VT_VECTOR_LPSTR = 0x101E;\n//var VT_ARRAY = 0x2000;\n\nvar VT_STRING = 0x0050; // 2.3.3.1.11 VtString\nvar VT_USTR = 0x0051; // 2.3.3.1.12 VtUnalignedString\nvar VT_CUSTOM = [VT_STRING, VT_USTR];\n\n/* [MS-OSHARED] 2.3.3.2.2.1 Document Summary Information PIDDSI */\nvar DocSummaryPIDDSI = {\n\t0x01: { n: 'CodePage', t: VT_I2 },\n\t0x02: { n: 'Category', t: VT_STRING },\n\t0x03: { n: 'PresentationFormat', t: VT_STRING },\n\t0x04: { n: 'ByteCount', t: VT_I4 },\n\t0x05: { n: 'LineCount', t: VT_I4 },\n\t0x06: { n: 'ParagraphCount', t: VT_I4 },\n\t0x07: { n: 'SlideCount', t: VT_I4 },\n\t0x08: { n: 'NoteCount', t: VT_I4 },\n\t0x09: { n: 'HiddenCount', t: VT_I4 },\n\t0x0a: { n: 'MultimediaClipCount', t: VT_I4 },\n\t0x0b: { n: 'ScaleCrop', t: VT_BOOL },\n\t0x0c: { n: 'HeadingPairs', t: VT_VECTOR_VARIANT /* VT_VECTOR | VT_VARIANT */ },\n\t0x0d: { n: 'TitlesOfParts', t: VT_VECTOR_LPSTR /* VT_VECTOR | VT_LPSTR */ },\n\t0x0e: { n: 'Manager', t: VT_STRING },\n\t0x0f: { n: 'Company', t: VT_STRING },\n\t0x10: { n: 'LinksUpToDate', t: VT_BOOL },\n\t0x11: { n: 'CharacterCount', t: VT_I4 },\n\t0x13: { n: 'SharedDoc', t: VT_BOOL },\n\t0x16: { n: 'HyperlinksChanged', t: VT_BOOL },\n\t0x17: { n: 'AppVersion', t: VT_I4, p: 'version' },\n\t0x18: { n: 'DigSig', t: VT_BLOB },\n\t0x1A: { n: 'ContentType', t: VT_STRING },\n\t0x1B: { n: 'ContentStatus', t: VT_STRING },\n\t0x1C: { n: 'Language', t: VT_STRING },\n\t0x1D: { n: 'Version', t: VT_STRING },\n\t0xFF: {},\n\t/* [MS-OLEPS] 2.18 */\n\t0x80000000: { n: 'Locale', t: VT_UI4 },\n\t0x80000003: { n: 'Behavior', t: VT_UI4 },\n\t0x72627262: {}\n};\n\n/* [MS-OSHARED] 2.3.3.2.1.1 Summary Information Property Set PIDSI */\nvar SummaryPIDSI = {\n\t0x01: { n: 'CodePage', t: VT_I2 },\n\t0x02: { n: 'Title', t: VT_STRING },\n\t0x03: { n: 'Subject', t: VT_STRING },\n\t0x04: { n: 'Author', t: VT_STRING },\n\t0x05: { n: 'Keywords', t: VT_STRING },\n\t0x06: { n: 'Comments', t: VT_STRING },\n\t0x07: { n: 'Template', t: VT_STRING },\n\t0x08: { n: 'LastAuthor', t: VT_STRING },\n\t0x09: { n: 'RevNumber', t: VT_STRING },\n\t0x0A: { n: 'EditTime', t: VT_FILETIME },\n\t0x0B: { n: 'LastPrinted', t: VT_FILETIME },\n\t0x0C: { n: 'CreatedDate', t: VT_FILETIME },\n\t0x0D: { n: 'ModifiedDate', t: VT_FILETIME },\n\t0x0E: { n: 'PageCount', t: VT_I4 },\n\t0x0F: { n: 'WordCount', t: VT_I4 },\n\t0x10: { n: 'CharCount', t: VT_I4 },\n\t0x11: { n: 'Thumbnail', t: VT_CF },\n\t0x12: { n: 'Application', t: VT_STRING },\n\t0x13: { n: 'DocSecurity', t: VT_I4 },\n\t0xFF: {},\n\t/* [MS-OLEPS] 2.18 */\n\t0x80000000: { n: 'Locale', t: VT_UI4 },\n\t0x80000003: { n: 'Behavior', t: VT_UI4 },\n\t0x72627262: {}\n};\n\n/* [MS-XLS] 2.4.63 Country/Region codes */\nvar CountryEnum = {\n\t0x0001: \"US\", // United States\n\t0x0002: \"CA\", // Canada\n\t0x0003: \"\", // Latin America (except Brazil)\n\t0x0007: \"RU\", // Russia\n\t0x0014: \"EG\", // Egypt\n\t0x001E: \"GR\", // Greece\n\t0x001F: \"NL\", // Netherlands\n\t0x0020: \"BE\", // Belgium\n\t0x0021: \"FR\", // France\n\t0x0022: \"ES\", // Spain\n\t0x0024: \"HU\", // Hungary\n\t0x0027: \"IT\", // Italy\n\t0x0029: \"CH\", // Switzerland\n\t0x002B: \"AT\", // Austria\n\t0x002C: \"GB\", // United Kingdom\n\t0x002D: \"DK\", // Denmark\n\t0x002E: \"SE\", // Sweden\n\t0x002F: \"NO\", // Norway\n\t0x0030: \"PL\", // Poland\n\t0x0031: \"DE\", // Germany\n\t0x0034: \"MX\", // Mexico\n\t0x0037: \"BR\", // Brazil\n\t0x003d: \"AU\", // Australia\n\t0x0040: \"NZ\", // New Zealand\n\t0x0042: \"TH\", // Thailand\n\t0x0051: \"JP\", // Japan\n\t0x0052: \"KR\", // Korea\n\t0x0054: \"VN\", // Viet Nam\n\t0x0056: \"CN\", // China\n\t0x005A: \"TR\", // Turkey\n\t0x0069: \"JS\", // Ramastan\n\t0x00D5: \"DZ\", // Algeria\n\t0x00D8: \"MA\", // Morocco\n\t0x00DA: \"LY\", // Libya\n\t0x015F: \"PT\", // Portugal\n\t0x0162: \"IS\", // Iceland\n\t0x0166: \"FI\", // Finland\n\t0x01A4: \"CZ\", // Czech Republic\n\t0x0376: \"TW\", // Taiwan\n\t0x03C1: \"LB\", // Lebanon\n\t0x03C2: \"JO\", // Jordan\n\t0x03C3: \"SY\", // Syria\n\t0x03C4: \"IQ\", // Iraq\n\t0x03C5: \"KW\", // Kuwait\n\t0x03C6: \"SA\", // Saudi Arabia\n\t0x03CB: \"AE\", // United Arab Emirates\n\t0x03CC: \"IL\", // Israel\n\t0x03CE: \"QA\", // Qatar\n\t0x03D5: \"IR\", // Iran\n\t0xFFFF: \"US\" // United States\n};\n\n/* [MS-XLS] 2.5.127 */\nvar XLSFillPattern = [\n\tnull,\n\t'solid',\n\t'mediumGray',\n\t'darkGray',\n\t'lightGray',\n\t'darkHorizontal',\n\t'darkVertical',\n\t'darkDown',\n\t'darkUp',\n\t'darkGrid',\n\t'darkTrellis',\n\t'lightHorizontal',\n\t'lightVertical',\n\t'lightDown',\n\t'lightUp',\n\t'lightGrid',\n\t'lightTrellis',\n\t'gray125',\n\t'gray0625'\n];\n\nfunction rgbify(arr/*:Array*/)/*:Array<[number, number, number]>*/ { return arr.map(function(x) { return [(x>>16)&255,(x>>8)&255,x&255]; }); }\n\n/* [MS-XLS] 2.5.161 */\n/* [MS-XLSB] 2.5.75 Icv */\nvar _XLSIcv = /*#__PURE__*/ rgbify([\n\t/* Color Constants */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t/* Overridable Defaults */\n\t0x000000,\n\t0xFFFFFF,\n\t0xFF0000,\n\t0x00FF00,\n\t0x0000FF,\n\t0xFFFF00,\n\t0xFF00FF,\n\t0x00FFFF,\n\n\t0x800000,\n\t0x008000,\n\t0x000080,\n\t0x808000,\n\t0x800080,\n\t0x008080,\n\t0xC0C0C0,\n\t0x808080,\n\t0x9999FF,\n\t0x993366,\n\t0xFFFFCC,\n\t0xCCFFFF,\n\t0x660066,\n\t0xFF8080,\n\t0x0066CC,\n\t0xCCCCFF,\n\n\t0x000080,\n\t0xFF00FF,\n\t0xFFFF00,\n\t0x00FFFF,\n\t0x800080,\n\t0x800000,\n\t0x008080,\n\t0x0000FF,\n\t0x00CCFF,\n\t0xCCFFFF,\n\t0xCCFFCC,\n\t0xFFFF99,\n\t0x99CCFF,\n\t0xFF99CC,\n\t0xCC99FF,\n\t0xFFCC99,\n\n\t0x3366FF,\n\t0x33CCCC,\n\t0x99CC00,\n\t0xFFCC00,\n\t0xFF9900,\n\t0xFF6600,\n\t0x666699,\n\t0x969696,\n\t0x003366,\n\t0x339966,\n\t0x003300,\n\t0x333300,\n\t0x993300,\n\t0x993366,\n\t0x333399,\n\t0x333333,\n\n\t/* Other entries to appease BIFF8/12 */\n\t0x000000, /* 0x40 icvForeground ?? */\n\t0xFFFFFF, /* 0x41 icvBackground ?? */\n\t0x000000, /* 0x42 icvFrame ?? */\n\t0x000000, /* 0x43 icv3D ?? */\n\t0x000000, /* 0x44 icv3DText ?? */\n\t0x000000, /* 0x45 icv3DHilite ?? */\n\t0x000000, /* 0x46 icv3DShadow ?? */\n\t0x000000, /* 0x47 icvHilite ?? */\n\t0x000000, /* 0x48 icvCtlText ?? */\n\t0x000000, /* 0x49 icvCtlScrl ?? */\n\t0x000000, /* 0x4A icvCtlInv ?? */\n\t0x000000, /* 0x4B icvCtlBody ?? */\n\t0x000000, /* 0x4C icvCtlFrame ?? */\n\t0x000000, /* 0x4D icvCtlFore ?? */\n\t0x000000, /* 0x4E icvCtlBack ?? */\n\t0x000000, /* 0x4F icvCtlNeutral */\n\t0x000000, /* 0x50 icvInfoBk ?? */\n\t0x000000 /* 0x51 icvInfoText ?? */\n]);\nvar XLSIcv = /*#__PURE__*/dup(_XLSIcv);\n\n/* [MS-XLSB] 2.5.97.2 */\nvar BErr = {\n\t0x00: \"#NULL!\",\n\t0x07: \"#DIV/0!\",\n\t0x0F: \"#VALUE!\",\n\t0x17: \"#REF!\",\n\t0x1D: \"#NAME?\",\n\t0x24: \"#NUM!\",\n\t0x2A: \"#N/A\",\n\t0x2B: \"#GETTING_DATA\",\n\t0xFF: \"#WTF?\"\n};\n//var RBErr = evert_num(BErr);\nvar RBErr = {\n\t\"#NULL!\": 0x00,\n\t\"#DIV/0!\": 0x07,\n\t\"#VALUE!\": 0x0F,\n\t\"#REF!\": 0x17,\n\t\"#NAME?\": 0x1D,\n\t\"#NUM!\": 0x24,\n\t\"#N/A\": 0x2A,\n\t\"#GETTING_DATA\": 0x2B,\n\t\"#WTF?\": 0xFF\n};\n\nvar XLSLblBuiltIn = [\n\t\"_xlnm.Consolidate_Area\",\n\t\"_xlnm.Auto_Open\",\n\t\"_xlnm.Auto_Close\",\n\t\"_xlnm.Extract\",\n\t\"_xlnm.Database\",\n\t\"_xlnm.Criteria\",\n\t\"_xlnm.Print_Area\",\n\t\"_xlnm.Print_Titles\",\n\t\"_xlnm.Recorder\",\n\t\"_xlnm.Data_Form\",\n\t\"_xlnm.Auto_Activate\",\n\t\"_xlnm.Auto_Deactivate\",\n\t\"_xlnm.Sheet_Title\",\n\t\"_xlnm._FilterDatabase\"\n];\n\n/* Parts enumerated in OPC spec, MS-XLSB and MS-XLSX */\n/* 12.3 Part Summary */\n/* 14.2 Part Summary */\n/* [MS-XLSX] 2.1 Part Enumerations ; [MS-XLSB] 2.1.7 Part Enumeration */\nvar ct2type/*{[string]:string}*/ = ({\n\t/* Workbook */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.ms-excel.sheet.binary.macroEnabled.main\": \"workbooks\",\n\t\"application/vnd.ms-excel.addin.macroEnabled.main+xml\": \"workbooks\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\": \"workbooks\",\n\n\t/* Worksheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\": \"sheets\",\n\t\"application/vnd.ms-excel.worksheet\": \"sheets\",\n\t\"application/vnd.ms-excel.binIndexWs\": \"TODO\", /* Binary Index */\n\n\t/* Chartsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\": \"charts\",\n\t\"application/vnd.ms-excel.chartsheet\": \"charts\",\n\n\t/* Macrosheet */\n\t\"application/vnd.ms-excel.macrosheet+xml\": \"macros\",\n\t\"application/vnd.ms-excel.macrosheet\": \"macros\",\n\t\"application/vnd.ms-excel.intlmacrosheet\": \"TODO\",\n\t\"application/vnd.ms-excel.binIndexMs\": \"TODO\", /* Binary Index */\n\n\t/* Dialogsheet */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\": \"dialogs\",\n\t\"application/vnd.ms-excel.dialogsheet\": \"dialogs\",\n\n\t/* Shared Strings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\": \"strs\",\n\t\"application/vnd.ms-excel.sharedStrings\": \"strs\",\n\n\t/* Styles */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\": \"styles\",\n\t\"application/vnd.ms-excel.styles\": \"styles\",\n\n\t/* File Properties */\n\t\"application/vnd.openxmlformats-package.core-properties+xml\": \"coreprops\",\n\t\"application/vnd.openxmlformats-officedocument.custom-properties+xml\": \"custprops\",\n\t\"application/vnd.openxmlformats-officedocument.extended-properties+xml\": \"extprops\",\n\n\t/* Custom Data Properties */\n\t\"application/vnd.openxmlformats-officedocument.customXmlProperties+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty\": \"TODO\",\n\n\t/* Comments */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\": \"comments\",\n\t\"application/vnd.ms-excel.comments\": \"comments\",\n\t\"application/vnd.ms-excel.threadedcomments+xml\": \"threadedcomments\",\n\t\"application/vnd.ms-excel.person+xml\": \"people\",\n\n\t/* Metadata (Stock/Geography and Dynamic Array) */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\": \"metadata\",\n\t\"application/vnd.ms-excel.sheetMetadata\": \"metadata\",\n\n\t/* PivotTable */\n\t\"application/vnd.ms-excel.pivotTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml\": \"TODO\",\n\n\t/* Chart Objects */\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\": \"TODO\",\n\n\t/* Chart Colors */\n\t\"application/vnd.ms-office.chartcolorstyle+xml\": \"TODO\",\n\n\t/* Chart Style */\n\t\"application/vnd.ms-office.chartstyle+xml\": \"TODO\",\n\n\t/* Chart Advanced */\n\t\"application/vnd.ms-office.chartex+xml\": \"TODO\",\n\n\t/* Calculation Chain */\n\t\"application/vnd.ms-excel.calcChain\": \"calcchains\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml\": \"calcchains\",\n\n\t/* Printer Settings */\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings\": \"TODO\",\n\n\t/* ActiveX */\n\t\"application/vnd.ms-office.activeX\": \"TODO\",\n\t\"application/vnd.ms-office.activeX+xml\": \"TODO\",\n\n\t/* Custom Toolbars */\n\t\"application/vnd.ms-excel.attachedToolbars\": \"TODO\",\n\n\t/* External Data Connections */\n\t\"application/vnd.ms-excel.connections\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\": \"TODO\",\n\n\t/* External Links */\n\t\"application/vnd.ms-excel.externalLink\": \"links\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml\": \"links\",\n\n\t/* PivotCache */\n\t\"application/vnd.ms-excel.pivotCacheDefinition\": \"TODO\",\n\t\"application/vnd.ms-excel.pivotCacheRecords\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml\": \"TODO\",\n\n\t/* Query Table */\n\t\"application/vnd.ms-excel.queryTable\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml\": \"TODO\",\n\n\t/* Shared Workbook */\n\t\"application/vnd.ms-excel.userNames\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionHeaders\": \"TODO\",\n\t\"application/vnd.ms-excel.revisionLog\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml\": \"TODO\",\n\n\t/* Single Cell Table */\n\t\"application/vnd.ms-excel.tableSingleCells\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml\": \"TODO\",\n\n\t/* Slicer */\n\t\"application/vnd.ms-excel.slicer\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache\": \"TODO\",\n\t\"application/vnd.ms-excel.slicer+xml\": \"TODO\",\n\t\"application/vnd.ms-excel.slicerCache+xml\": \"TODO\",\n\n\t/* Sort Map */\n\t\"application/vnd.ms-excel.wsSortMap\": \"TODO\",\n\n\t/* Table */\n\t\"application/vnd.ms-excel.table\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\": \"TODO\",\n\n\t/* Themes */\n\t\"application/vnd.openxmlformats-officedocument.theme+xml\": \"themes\",\n\n\t/* Theme Override */\n\t\"application/vnd.openxmlformats-officedocument.themeOverride+xml\": \"TODO\",\n\n\t/* Timeline */\n\t\"application/vnd.ms-excel.Timeline+xml\": \"TODO\", /* verify */\n\t\"application/vnd.ms-excel.TimelineCache+xml\": \"TODO\", /* verify */\n\n\t/* VBA */\n\t\"application/vnd.ms-office.vbaProject\": \"vba\",\n\t\"application/vnd.ms-office.vbaProjectSignature\": \"TODO\",\n\n\t/* Volatile Dependencies */\n\t\"application/vnd.ms-office.volatileDependencies\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml\": \"TODO\",\n\n\t/* Control Properties */\n\t\"application/vnd.ms-excel.controlproperties+xml\": \"TODO\",\n\n\t/* Data Model */\n\t\"application/vnd.openxmlformats-officedocument.model+data\": \"TODO\",\n\n\t/* Survey */\n\t\"application/vnd.ms-excel.Survey+xml\": \"TODO\",\n\n\t/* Drawing */\n\t\"application/vnd.openxmlformats-officedocument.drawing+xml\": \"drawings\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml\": \"TODO\",\n\t\"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml\": \"TODO\",\n\n\t/* VML */\n\t\"application/vnd.openxmlformats-officedocument.vmlDrawing\": \"TODO\",\n\n\t\"application/vnd.openxmlformats-package.relationships+xml\": \"rels\",\n\t\"application/vnd.openxmlformats-officedocument.oleObject\": \"TODO\",\n\n\t/* Image */\n\t\"image/png\": \"TODO\",\n\n\t\"sheet\": \"js\"\n}/*:any*/);\n\nvar CT_LIST = {\n\tworkbooks: {\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\",\n\t\txlsm: \"application/vnd.ms-excel.sheet.macroEnabled.main+xml\",\n\t\txlsb: \"application/vnd.ms-excel.sheet.binary.macroEnabled.main\",\n\t\txlam: \"application/vnd.ms-excel.addin.macroEnabled.main+xml\",\n\t\txltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\"\n\t},\n\tstrs: { /* Shared Strings */\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml\",\n\t\txlsb: \"application/vnd.ms-excel.sharedStrings\"\n\t},\n\tcomments: { /* Comments */\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\",\n\t\txlsb: \"application/vnd.ms-excel.comments\"\n\t},\n\tsheets: { /* Worksheet */\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\",\n\t\txlsb: \"application/vnd.ms-excel.worksheet\"\n\t},\n\tcharts: { /* Chartsheet */\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\",\n\t\txlsb: \"application/vnd.ms-excel.chartsheet\"\n\t},\n\tdialogs: { /* Dialogsheet */\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\",\n\t\txlsb: \"application/vnd.ms-excel.dialogsheet\"\n\t},\n\tmacros: { /* Macrosheet (Excel 4.0 Macros) */\n\t\txlsx: \"application/vnd.ms-excel.macrosheet+xml\",\n\t\txlsb: \"application/vnd.ms-excel.macrosheet\"\n\t},\n\tmetadata: { /* Metadata (Stock/Geography and Dynamic Array) */\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml\",\n\t\txlsb: \"application/vnd.ms-excel.sheetMetadata\"\n\t},\n\tstyles: { /* Styles */\n\t\txlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\",\n\t\txlsb: \"application/vnd.ms-excel.styles\"\n\t}\n};\n\nfunction new_ct()/*:any*/ {\n\treturn ({\n\t\tworkbooks:[], sheets:[], charts:[], dialogs:[], macros:[],\n\t\trels:[], strs:[], comments:[], threadedcomments:[], links:[],\n\t\tcoreprops:[], extprops:[], custprops:[], themes:[], styles:[],\n\t\tcalcchains:[], vba: [], drawings: [], metadata: [], people:[],\n\t\tTODO:[], xmlns: \"\" }/*:any*/);\n}\n\nfunction parse_ct(data/*:?string*/) {\n\tvar ct = new_ct();\n\tif(!data || !data.match) return ct;\n\tvar ctext = {};\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0].replace(nsregex,\"<\")) {\n\t\t\tcase ' 0 ? ct.calcchains[0] : \"\";\n\tct.sst = ct.strs.length > 0 ? ct.strs[0] : \"\";\n\tct.style = ct.styles.length > 0 ? ct.styles[0] : \"\";\n\tct.defaults = ctext;\n\tdelete ct.calcchains;\n\treturn ct;\n}\n\nfunction write_ct(ct, opts, raw)/*:string*/ {\n\tvar type2ct/*{[string]:Array}*/ = evert_arr(ct2type);\n\n\tvar o/*:Array*/ = [], v;\n\n\tif(!raw) {\n\t\to[o.length] = (XML_HEADER);\n\t\to[o.length] = writextag('Types', null, {\n\t\t\t'xmlns': XMLNS.CT,\n\t\t\t'xmlns:xsd': XMLNS.xsd,\n\t\t\t'xmlns:xsi': XMLNS.xsi\n\t\t});\n\t\to = o.concat([\n\t\t\t['xml', 'application/xml'],\n\t\t\t['bin', 'application/vnd.ms-excel.sheet.binary.macroEnabled.main'],\n\t\t\t['vml', 'application/vnd.openxmlformats-officedocument.vmlDrawing'],\n\t\t\t['data', 'application/vnd.openxmlformats-officedocument.model+data'],\n\t\t\t/* from test files */\n\t\t\t['bmp', 'image/bmp'],\n\t\t\t['png', 'image/png'],\n\t\t\t['gif', 'image/gif'],\n\t\t\t['emf', 'image/x-emf'],\n\t\t\t['wmf', 'image/x-wmf'],\n\t\t\t['jpg', 'image/jpeg'], ['jpeg', 'image/jpeg'],\n\t\t\t['tif', 'image/tiff'], ['tiff', 'image/tiff'],\n\t\t\t['pdf', 'application/pdf'],\n\t\t\t['rels', 'application/vnd.openxmlformats-package.relationships+xml']\n\t\t].map(function(x) {\n\t\t\treturn writextag('Default', null, {'Extension':x[0], 'ContentType': x[1]});\n\t\t}));\n\t}\n\n\t/* only write first instance */\n\tvar f1 = function(w) {\n\t\tif(ct[w] && ct[w].length > 0) {\n\t\t\tv = ct[w][0];\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t}\n\t};\n\n\t/* book type-specific */\n\tvar f2 = function(w) {\n\t\t(ct[w]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': CT_LIST[w][opts.bookType] || CT_LIST[w]['xlsx']\n\t\t\t}));\n\t\t});\n\t};\n\n\t/* standard type */\n\tvar f3 = function(t) {\n\t\t(ct[t]||[]).forEach(function(v) {\n\t\t\to[o.length] = (writextag('Override', null, {\n\t\t\t\t'PartName': (v[0] == '/' ? \"\":\"/\") + v,\n\t\t\t\t'ContentType': type2ct[t][0]\n\t\t\t}));\n\t\t});\n\t};\n\n\tf1('workbooks');\n\tf2('sheets');\n\tf2('charts');\n\tf3('themes');\n\t['strs', 'styles'].forEach(f1);\n\t['coreprops', 'extprops', 'custprops'].forEach(f3);\n\tf3('vba');\n\tf3('comments');\n\tf3('threadedcomments');\n\tf3('drawings');\n\tf2('metadata');\n\tf3('people');\n\tif(!raw && o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 9.3 Relationships */\nvar RELS = ({\n\tWB: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tSHEET: \"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument\",\n\tHLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\",\n\tVML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing\",\n\tXPATH: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath\",\n\tXMISS: \"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing\",\n\tXLINK: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink\",\n\tCXML: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml\",\n\tCXMLP: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps\",\n\tCMNT: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments\",\n\tCORE_PROPS: \"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties\",\n\tEXT_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',\n\tCUST_PROPS: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties',\n\tSST: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings\",\n\tSTY: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\",\n\tTHEME: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\",\n\tCHART: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\",\n\tCHARTEX: \"http://schemas.microsoft.com/office/2014/relationships/chartEx\",\n\tCS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet\",\n\tWS: [\n\t\t\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\",\n\t\t\"http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet\"\n\t],\n\tDS: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet\",\n\tMS: \"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet\",\n\tIMG: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\",\n\tDRAW: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing\",\n\tXLMETA: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata\",\n\tTCMNT: \"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment\",\n\tPEOPLE: \"http://schemas.microsoft.com/office/2017/10/relationships/person\",\n\tCONN: \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections\",\n\tVBA: \"http://schemas.microsoft.com/office/2006/relationships/vbaProject\"\n}/*:any*/);\n\n/* 9.3.3 Representing Relationships */\nfunction get_rels_path(file/*:string*/)/*:string*/ {\n\tvar n = file.lastIndexOf(\"/\");\n\treturn file.slice(0,n+1) + '_rels/' + file.slice(n+1) + \".rels\";\n}\n\nfunction parse_rels(data/*:?string*/, currentFilePath/*:string*/) {\n\tvar rels = {\"!id\":{}};\n\tif (!data) return rels;\n\tif (currentFilePath.charAt(0) !== '/') {\n\t\tcurrentFilePath = '/'+currentFilePath;\n\t}\n\tvar hash = {};\n\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\t/* 9.3.2.2 OPC_Relationships */\n\t\tif (y[0] === '2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\nfunction add_rels(rels, rId/*:number*/, f, type, relobj, targetmode/*:?string*/)/*:number*/ {\n\tif(!relobj) relobj = {};\n\tif(!rels['!id']) rels['!id'] = {};\n\tif(!rels['!idx']) rels['!idx'] = 1;\n\tif(rId < 0) for(rId = rels['!idx']; rels['!id']['rId' + rId]; ++rId){/* empty */}\n\trels['!idx'] = rId + 1;\n\trelobj.Id = 'rId' + rId;\n\trelobj.Type = type;\n\trelobj.Target = f;\n\tif(targetmode) relobj.TargetMode = targetmode;\n\telse if([RELS.HLINK, RELS.XPATH, RELS.XMISS].indexOf(relobj.Type) > -1) relobj.TargetMode = \"External\";\n\tif(rels['!id'][relobj.Id]) throw new Error(\"Cannot rewrite rId \" + rId);\n\trels['!id'][relobj.Id] = relobj;\n\trels[('/' + relobj.Target).replace(\"//\",\"/\")] = relobj;\n\treturn rId;\n}\nvar CT_ODS = \"application/vnd.oasis.opendocument.spreadsheet\";\nfunction parse_manifest(d, opts) {\n var str = xlml_normalize(d);\n var Rn;\n var FEtag;\n while (Rn = xlmlregex.exec(str))\n switch (Rn[3]) {\n case \"manifest\":\n break;\n case \"file-entry\":\n FEtag = parsexmltag(Rn[0], false);\n if (FEtag.path == \"/\" && FEtag.type !== CT_ODS)\n throw new Error(\"This OpenDocument is not a spreadsheet\");\n break;\n case \"encryption-data\":\n case \"algorithm\":\n case \"start-key-generation\":\n case \"key-derivation\":\n throw new Error(\"Unsupported ODS Encryption\");\n default:\n if (opts && opts.WTF)\n throw Rn;\n }\n}\nfunction write_manifest(manifest) {\n var o = [XML_HEADER];\n o.push('\\n');\n o.push(' \\n');\n for (var i = 0; i < manifest.length; ++i)\n o.push(' \\n');\n o.push(\"\");\n return o.join(\"\");\n}\nfunction write_rdf_type(file, res, tag) {\n return [\n ' \\n',\n ' \\n',\n \" \\n\"\n ].join(\"\");\n}\nfunction write_rdf_has(base, file) {\n return [\n ' \\n',\n ' \\n',\n \" \\n\"\n ].join(\"\");\n}\nfunction write_rdf(rdf) {\n var o = [XML_HEADER];\n o.push('\\n');\n for (var i = 0; i != rdf.length; ++i) {\n o.push(write_rdf_type(rdf[i][0], rdf[i][1]));\n o.push(write_rdf_has(\"\", rdf[i][0]));\n }\n o.push(write_rdf_type(\"\", \"Document\", \"pkg\"));\n o.push(\"\");\n return o.join(\"\");\n}\nfunction write_meta_ods(wb, opts) {\n return 'SheetJS ' + XLSX.version + \"\";\n}\n/* ECMA-376 Part II 11.1 Core Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar CORE_PROPS/*:Array >*/ = [\n\t[\"cp:category\", \"Category\"],\n\t[\"cp:contentStatus\", \"ContentStatus\"],\n\t[\"cp:keywords\", \"Keywords\"],\n\t[\"cp:lastModifiedBy\", \"LastAuthor\"],\n\t[\"cp:lastPrinted\", \"LastPrinted\"],\n\t[\"cp:revision\", \"RevNumber\"],\n\t[\"cp:version\", \"Version\"],\n\t[\"dc:creator\", \"Author\"],\n\t[\"dc:description\", \"Comments\"],\n\t[\"dc:identifier\", \"Identifier\"],\n\t[\"dc:language\", \"Language\"],\n\t[\"dc:subject\", \"Subject\"],\n\t[\"dc:title\", \"Title\"],\n\t[\"dcterms:created\", \"CreatedDate\", 'date'],\n\t[\"dcterms:modified\", \"ModifiedDate\", 'date']\n];\n\nfunction parse_core_props(data) {\n\tvar p = {};\n\tdata = utf8read(data);\n\n\tfor(var i = 0; i < CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i], cur = str_match_xml(data, f[0]);\n\t\tif(cur != null && cur.length > 0) p[f[1]] = unescapexml(cur[1]);\n\t\tif(f[2] === 'date' && p[f[1]]) p[f[1]] = parseDate(p[f[1]]);\n\t}\n\n\treturn p;\n}\n\nfunction cp_doit(f, g, h, o, p) {\n\tif(p[f] != null || g == null || g === \"\") return;\n\tp[f] = g;\n\tg = escapexml(g);\n\to[o.length] = (h ? writextag(f,g,h) : writetag(f,g));\n}\n\nfunction write_core_props(cp, _opts) {\n\tvar opts = _opts || {};\n\tvar o = [XML_HEADER, writextag('cp:coreProperties', null, {\n\t\t//'xmlns': XMLNS.CORE_PROPS,\n\t\t'xmlns:cp': XMLNS.CORE_PROPS,\n\t\t'xmlns:dc': XMLNS.dc,\n\t\t'xmlns:dcterms': XMLNS.dcterms,\n\t\t'xmlns:dcmitype': XMLNS.dcmitype,\n\t\t'xmlns:xsi': XMLNS.xsi\n\t})], p = {};\n\tif(!cp && !opts.Props) return o.join(\"\");\n\n\tif(cp) {\n\t\tif(cp.CreatedDate != null) cp_doit(\"dcterms:created\", typeof cp.CreatedDate === \"string\" ? cp.CreatedDate : write_w3cdtf(cp.CreatedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t\tif(cp.ModifiedDate != null) cp_doit(\"dcterms:modified\", typeof cp.ModifiedDate === \"string\" ? cp.ModifiedDate : write_w3cdtf(cp.ModifiedDate, opts.WTF), {\"xsi:type\":\"dcterms:W3CDTF\"}, o, p);\n\t}\n\n\tfor(var i = 0; i != CORE_PROPS.length; ++i) {\n\t\tvar f = CORE_PROPS[i];\n\t\tvar v = opts.Props && opts.Props[f[1]] != null ? opts.Props[f[1]] : cp ? cp[f[1]] : null;\n\t\tif(v === true) v = \"1\";\n\t\telse if(v === false) v = \"0\";\n\t\telse if(typeof v == \"number\") v = String(v);\n\t\tif(v != null) cp_doit(f[0], v, null, o, p);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.3 Extended File Properties Part */\n/* [MS-OSHARED] 2.3.3.2.[1-2].1 (PIDSI/PIDDSI) */\nvar EXT_PROPS/*:Array >*/ = [\n\t[\"Application\", \"Application\", \"string\"],\n\t[\"AppVersion\", \"AppVersion\", \"string\"],\n\t[\"Company\", \"Company\", \"string\"],\n\t[\"DocSecurity\", \"DocSecurity\", \"string\"],\n\t[\"Manager\", \"Manager\", \"string\"],\n\t[\"HyperlinksChanged\", \"HyperlinksChanged\", \"bool\"],\n\t[\"SharedDoc\", \"SharedDoc\", \"bool\"],\n\t[\"LinksUpToDate\", \"LinksUpToDate\", \"bool\"],\n\t[\"ScaleCrop\", \"ScaleCrop\", \"bool\"],\n\t[\"HeadingPairs\", \"HeadingPairs\", \"raw\"],\n\t[\"TitlesOfParts\", \"TitlesOfParts\", \"raw\"]\n];\n\nvar PseudoPropsPairs = [\n\t\"Worksheets\", \"SheetNames\",\n\t\"NamedRanges\", \"DefinedNames\",\n\t\"Chartsheets\", \"ChartNames\"\n];\nfunction load_props_pairs(HP/*:string|Array>*/, TOP, props, opts) {\n\tvar v = [];\n\tif(typeof HP == \"string\") v = parseVector(HP, opts);\n\telse for(var j = 0; j < HP.length; ++j) v = v.concat(HP[j].map(function(hp) { return {v:hp}; }));\n\tvar parts = (typeof TOP == \"string\") ? parseVector(TOP, opts).map(function (x) { return x.v; }) : TOP;\n\tvar idx = 0, len = 0;\n\tif(parts.length > 0) for(var i = 0; i !== v.length; i += 2) {\n\t\tlen = +(v[i+1].v);\n\t\tswitch(v[i].v) {\n\t\t\tcase \"Worksheets\":\n\t\t\tcase \"工作表\":\n\t\t\tcase \"Листы\":\n\t\t\tcase \"أوراق العمل\":\n\t\t\tcase \"ワークシート\":\n\t\t\tcase \"גליונות עבודה\":\n\t\t\tcase \"Arbeitsblätter\":\n\t\t\tcase \"Çalışma Sayfaları\":\n\t\t\tcase \"Feuilles de calcul\":\n\t\t\tcase \"Fogli di lavoro\":\n\t\t\tcase \"Folhas de cálculo\":\n\t\t\tcase \"Planilhas\":\n\t\t\tcase \"Regneark\":\n\t\t\tcase \"Hojas de cálculo\":\n\t\t\tcase \"Werkbladen\":\n\t\t\t\tprops.Worksheets = len;\n\t\t\t\tprops.SheetNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Named Ranges\":\n\t\t\tcase \"Rangos con nombre\":\n\t\t\tcase \"名前付き一覧\":\n\t\t\tcase \"Benannte Bereiche\":\n\t\t\tcase \"Navngivne områder\":\n\t\t\t\tprops.NamedRanges = len;\n\t\t\t\tprops.DefinedNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\n\t\t\tcase \"Charts\":\n\t\t\tcase \"Diagramme\":\n\t\t\t\tprops.Chartsheets = len;\n\t\t\t\tprops.ChartNames = parts.slice(idx, idx + len);\n\t\t\t\tbreak;\n\t\t}\n\t\tidx += len;\n\t}\n}\n\nfunction parse_ext_props(data, p, opts) {\n\tvar q = {}; if(!p) p = {};\n\tdata = utf8read(data);\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tvar xml = (str_match_xml_ns(data, f[0])||[])[1];\n\t\tswitch(f[2]) {\n\t\t\tcase \"string\": if(xml) p[f[1]] = unescapexml(xml); break;\n\t\t\tcase \"bool\": p[f[1]] = xml === \"true\"; break;\n\t\t\tcase \"raw\":\n\t\t\t\tvar cur = str_match_xml(data, f[0]);\n\t\t\t\tif(cur && cur.length > 0) q[f[1]] = cur[1];\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\tif(q.HeadingPairs && q.TitlesOfParts) load_props_pairs(q.HeadingPairs, q.TitlesOfParts, p, opts);\n\n\treturn p;\n}\n\nfunction write_ext_props(cp/*::, opts*/)/*:string*/ {\n\tvar o/*:Array*/ = [], W = writextag;\n\tif(!cp) cp = {};\n\tcp.Application = \"SheetJS\";\n\to[o.length] = (XML_HEADER);\n\to[o.length] = (writextag('Properties', null, {\n\t\t'xmlns': XMLNS.EXT_PROPS,\n\t\t'xmlns:vt': XMLNS.vt\n\t}));\n\n\tEXT_PROPS.forEach(function(f) {\n\t\tif(cp[f[1]] === undefined) return;\n\t\tvar v;\n\t\tswitch(f[2]) {\n\t\t\tcase 'string': v = escapexml(String(cp[f[1]])); break;\n\t\t\tcase 'bool': v = cp[f[1]] ? 'true' : 'false'; break;\n\t\t}\n\t\tif(v !== undefined) o[o.length] = (W(f[0], v));\n\t});\n\n\t/* TODO: HeadingPairs, TitlesOfParts */\n\to[o.length] = (W('HeadingPairs', W('vt:vector', W('vt:variant', 'Worksheets')+W('vt:variant', W('vt:i4', String(cp.Worksheets))), {size:2, baseType:\"variant\"})));\n\to[o.length] = (W('TitlesOfParts', W('vt:vector', cp.SheetNames.map(function(s) { return \"\" + escapexml(s) + \"\"; }).join(\"\"), {size: cp.Worksheets, baseType:\"lpstr\"})));\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* 15.2.12.2 Custom File Properties Part */\nvar custregex = /<[^<>]+>[^<]*/g;\nfunction parse_cust_props(data/*:string*/, opts) {\n\tvar p = {}, name = \"\";\n\tvar m = data.match(custregex);\n\tif(m) for(var i = 0; i != m.length; ++i) {\n\t\tvar x = m[i], y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': name = null; break;\n\t\t\tdefault: if (x.indexOf('');\n\t\t\t\tvar type = toks[0].slice(4), text = toks[1];\n\t\t\t\t/* 22.4.2.32 (CT_Variant). Omit the binary types from 22.4 (Variant Types) */\n\t\t\t\tswitch(type) {\n\t\t\t\t\tcase 'lpstr': case 'bstr': case 'lpwstr':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'bool':\n\t\t\t\t\t\tp[name] = parsexmlbool(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'i1': case 'i2': case 'i4': case 'i8': case 'int': case 'uint':\n\t\t\t\t\t\tp[name] = parseInt(text, 10);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'r4': case 'r8': case 'decimal':\n\t\t\t\t\t\tp[name] = parseFloat(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'filetime': case 'date':\n\t\t\t\t\t\tp[name] = parseDate(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'cy': case 'error':\n\t\t\t\t\t\tp[name] = unescapexml(text);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif(type.slice(-1) == '/') break;\n\t\t\t\t\t\tif(opts.WTF && typeof console !== 'undefined') console.warn('Unexpected', x, type, toks);\n\t\t\t\t}\n\t\t\t} else if(x.slice(0,2) === \"2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* Common Name -> XLML Name */\nvar XLMLDocPropsMap = {\n\tTitle: 'Title',\n\tSubject: 'Subject',\n\tAuthor: 'Author',\n\tKeywords: 'Keywords',\n\tComments: 'Description',\n\tLastAuthor: 'LastAuthor',\n\tRevNumber: 'Revision',\n\tApplication: 'AppName',\n\t/* TotalTime: 'TotalTime', */\n\tLastPrinted: 'LastPrinted',\n\tCreatedDate: 'Created',\n\tModifiedDate: 'LastSaved',\n\t/* Pages */\n\t/* Words */\n\t/* Characters */\n\tCategory: 'Category',\n\t/* PresentationFormat */\n\tManager: 'Manager',\n\tCompany: 'Company',\n\t/* Guid */\n\t/* HyperlinkBase */\n\t/* Bytes */\n\t/* Lines */\n\t/* Paragraphs */\n\t/* CharactersWithSpaces */\n\tAppVersion: 'Version',\n\n\tContentStatus: 'ContentStatus', /* NOTE: missing from schema */\n\tIdentifier: 'Identifier', /* NOTE: missing from schema */\n\tLanguage: 'Language' /* NOTE: missing from schema */\n};\nvar evert_XLMLDPM;\n\nfunction xlml_set_prop(Props, tag/*:string*/, val) {\n\tif(!evert_XLMLDPM) evert_XLMLDPM = evert(XLMLDocPropsMap);\n\ttag = evert_XLMLDPM[tag] || tag;\n\tProps[tag] = val;\n}\n\nfunction xlml_write_docprops(Props, opts) {\n\tvar o/*:Array*/ = [];\n\tkeys(XLMLDocPropsMap).map(function(m) {\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(CORE_PROPS[i][1] == m) return CORE_PROPS[i];\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(EXT_PROPS[i][1] == m) return EXT_PROPS[i];\n\t\tthrow m;\n\t}).forEach(function(p) {\n\t\tif(Props[p[1]] == null) return;\n\t\tvar m = opts && opts.Props && opts.Props[p[1]] != null ? opts.Props[p[1]] : Props[p[1]];\n\t\tswitch(p[2]) {\n\t\t\tcase 'date': m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"Z\"); break;\n\t\t}\n\t\tif(typeof m == 'number') m = String(m);\n\t\telse if(m === true || m === false) { m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) m = new Date(m).toISOString().replace(/\\.\\d*Z/,\"\");\n\t\to.push(writetag(XLMLDocPropsMap[p[1]] || p[1], m));\n\t});\n\treturn writextag('DocumentProperties', o.join(\"\"), {xmlns:XLMLNS.o });\n}\nfunction xlml_write_custprops(Props, Custprops/*::, opts*/) {\n\tvar BLACKLIST = [\"Worksheets\",\"SheetNames\"];\n\tvar T = 'CustomDocumentProperties';\n\tvar o/*:Array*/ = [];\n\tif(Props) keys(Props).forEach(function(k) {\n\t\t/*:: if(!Props) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tfor(var i = 0; i < CORE_PROPS.length; ++i) if(k == CORE_PROPS[i][1]) return;\n\t\tfor(i = 0; i < EXT_PROPS.length; ++i) if(k == EXT_PROPS[i][1]) return;\n\t\tfor(i = 0; i < BLACKLIST.length; ++i) if(k == BLACKLIST[i]) return;\n\n\t\tvar m = Props[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\tif(Custprops) keys(Custprops).forEach(function(k) {\n\t\t/*:: if(!Custprops) return; */\n\t\tif(!Object.prototype.hasOwnProperty.call(Custprops, k)) return;\n\t\tif(Props && Object.prototype.hasOwnProperty.call(Props, k)) return;\n\t\tvar m = Custprops[k];\n\t\tvar t = \"string\";\n\t\tif(typeof m == 'number') { t = \"float\"; m = String(m); }\n\t\telse if(m === true || m === false) { t = \"boolean\"; m = m ? \"1\" : \"0\"; }\n\t\telse if(m instanceof Date) { t = \"dateTime.tz\"; m = m.toISOString(); }\n\t\telse m = String(m);\n\t\to.push(writextag(escapexmltag(k), m, {\"dt:dt\":t}));\n\t});\n\treturn '<' + T + ' xmlns=\"' + XLMLNS.o + '\">' + o.join(\"\") + '';\n}\n/* [MS-DTYP] 2.3.3 FILETIME */\n/* [MS-OLEDS] 2.1.3 FILETIME (Packet Version) */\n/* [MS-OLEPS] 2.8 FILETIME (Packet Version) */\nfunction parse_FILETIME(blob) {\n\tvar dwLowDateTime = blob.read_shift(4), dwHighDateTime = blob.read_shift(4);\n\treturn new Date(((dwHighDateTime/1e7*Math.pow(2,32) + dwLowDateTime/1e7) - 11644473600)*1000).toISOString().replace(/\\.000/,\"\");\n}\nfunction write_FILETIME(time/*:string|Date*/) {\n\tvar date = (typeof time == \"string\") ? new Date(Date.parse(time)) : time;\n\tvar t = date.getTime() / 1000 + 11644473600;\n\tvar l = t % Math.pow(2,32), h = (t - l) / Math.pow(2,32);\n\tl *= 1e7; h *= 1e7;\n\tvar w = (l / Math.pow(2,32)) | 0;\n\tif(w > 0) { l = l % Math.pow(2,32); h += w; }\n\tvar o = new_buf(8); o.write_shift(4, l); o.write_shift(4, h); return o;\n}\n\n/* [MS-OSHARED] 2.3.3.1.4 Lpstr */\nfunction parse_lpstr(blob, type, pad/*:?number*/) {\n\tvar start = blob.l;\n\tvar str = blob.read_shift(0, 'lpstr-cp');\n\tif(pad) while((blob.l - start) & 3) ++blob.l;\n\treturn str;\n}\n\n/* [MS-OSHARED] 2.3.3.1.6 Lpwstr */\nfunction parse_lpwstr(blob, type, pad) {\n\tvar str = blob.read_shift(0, 'lpwstr');\n\tif(pad) blob.l += (4 - ((str.length+1) & 3)) & 3;\n\treturn str;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.11 VtString */\n/* [MS-OSHARED] 2.3.3.1.12 VtUnalignedString */\nfunction parse_VtStringBase(blob, stringType, pad) {\n\tif(stringType === 0x1F /*VT_LPWSTR*/) return parse_lpwstr(blob);\n\treturn parse_lpstr(blob, stringType, pad);\n}\n\nfunction parse_VtString(blob, t/*:number*/, pad/*:?boolean*/) { return parse_VtStringBase(blob, t, pad === false ? 0: 4); }\nfunction parse_VtUnalignedString(blob, t/*:number*/) { if(!t) throw new Error(\"VtUnalignedString must have positive length\"); return parse_VtStringBase(blob, t, 0); }\n\n/* [MS-OSHARED] 2.3.3.1.7 VtVecLpwstrValue */\nfunction parse_VtVecLpwstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) {\n\t\tvar start = blob.l;\n\t\tret[i] = blob.read_shift(0, 'lpwstr').replace(chr0,'');\n\t\tif((blob.l - start) & 0x02) blob.l += 2;\n\t}\n\treturn ret;\n}\n\n/* [MS-OSHARED] 2.3.3.1.9 VtVecUnalignedLpstrValue */\nfunction parse_VtVecUnalignedLpstrValue(blob)/*:Array*/ {\n\tvar length = blob.read_shift(4);\n\tvar ret/*:Array*/ = [];\n\tfor(var i = 0; i != length; ++i) ret[i] = blob.read_shift(0, 'lpstr-cp').replace(chr0,'');\n\treturn ret;\n}\n\n\n/* [MS-OSHARED] 2.3.3.1.13 VtHeadingPair */\nfunction parse_VtHeadingPair(blob) {\n\tvar start = blob.l;\n\tvar headingString = parse_TypedPropertyValue(blob, VT_USTR);\n\tif(blob[blob.l] == 0x00 && blob[blob.l+1] == 0x00 && ((blob.l - start) & 0x02)) blob.l += 2;\n\tvar headerParts = parse_TypedPropertyValue(blob, VT_I4);\n\treturn [headingString, headerParts];\n}\n\n/* [MS-OSHARED] 2.3.3.1.14 VtVecHeadingPairValue */\nfunction parse_VtVecHeadingPairValue(blob) {\n\tvar cElements = blob.read_shift(4);\n\tvar out = [];\n\tfor(var i = 0; i < cElements / 2; ++i) out.push(parse_VtHeadingPair(blob));\n\treturn out;\n}\n\n/* [MS-OLEPS] 2.18.1 Dictionary (uses 2.17, 2.16) */\nfunction parse_dictionary(blob,CodePage) {\n\tvar cnt = blob.read_shift(4);\n\tvar dict/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(var j = 0; j != cnt; ++j) {\n\t\tvar pid = blob.read_shift(4);\n\t\tvar len = blob.read_shift(4);\n\t\tdict[pid] = blob.read_shift(len, (CodePage === 0x4B0 ?'utf16le':'utf8')).replace(chr0,'').replace(chr1,'!');\n\t\tif(CodePage === 0x4B0 && (len % 2)) blob.l += 2;\n\t}\n\tif(blob.l & 3) blob.l = (blob.l>>2+1)<<2;\n\treturn dict;\n}\n\n/* [MS-OLEPS] 2.9 BLOB */\nfunction parse_BLOB(blob) {\n\tvar size = blob.read_shift(4);\n\tvar bytes = blob.slice(blob.l,blob.l+size);\n\tblob.l += size;\n\tif((size & 3) > 0) blob.l += (4 - (size & 3)) & 3;\n\treturn bytes;\n}\n\n/* [MS-OLEPS] 2.11 ClipboardData */\nfunction parse_ClipboardData(blob) {\n\t// TODO\n\tvar o = {};\n\to.Size = blob.read_shift(4);\n\t//o.Format = blob.read_shift(4);\n\tblob.l += o.Size + 3 - (o.Size - 1) % 4;\n\treturn o;\n}\n\n/* [MS-OLEPS] 2.15 TypedPropertyValue */\nfunction parse_TypedPropertyValue(blob, type/*:number*/, _opts)/*:any*/ {\n\tvar t = blob.read_shift(2), ret, opts = _opts||{};\n\tblob.l += 2;\n\tif(type !== VT_VARIANT)\n\tif(t !== type && VT_CUSTOM.indexOf(type)===-1 && !((type & 0xFFFE) == 0x101E && (t & 0xFFFE) == 0x101E)) throw new Error('Expected type ' + type + ' saw ' + t);\n\tswitch(type === VT_VARIANT ? t : type) {\n\t\tcase 0x02 /*VT_I2*/: ret = blob.read_shift(2, 'i'); if(!opts.raw) blob.l += 2; return ret;\n\t\tcase 0x03 /*VT_I4*/: ret = blob.read_shift(4, 'i'); return ret;\n\t\tcase 0x0B /*VT_BOOL*/: return blob.read_shift(4) !== 0x0;\n\t\tcase 0x13 /*VT_UI4*/: ret = blob.read_shift(4); return ret;\n\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/(^|[^\\u0000])\\u0000+$/,\"$1\"); break;\n\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/(^|[^\\u0000])\\u0000+$/,\"$1\"); break;\n\t\tcase 0x40 /*VT_FILETIME*/: return parse_FILETIME(blob);\n\t\tcase 0x41 /*VT_BLOB*/: return parse_BLOB(blob);\n\t\tcase 0x47 /*VT_CF*/: return parse_ClipboardData(blob);\n\t\tcase 0x50 /*VT_STRING*/: return parse_VtString(blob, t, !opts.raw).replace(chr0,'');\n\t\tcase 0x51 /*VT_USTR*/: return parse_VtUnalignedString(blob, t/*, 4*/).replace(chr0,'');\n\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: return parse_VtVecHeadingPairValue(blob);\n\t\tcase 0x101E /*VT_VECTOR|VT_LPSTR*/:\n\t\tcase 0x101F /*VT_VECTOR|VT_LPWSTR*/:\n\t\t\treturn t == 0x101F ? parse_VtVecLpwstrValue(blob) : parse_VtVecUnalignedLpstrValue(blob);\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + t);\n\t}\n}\nfunction write_TypedPropertyValue(type/*:number*/, value) {\n\tvar o = new_buf(4), p = new_buf(4);\n\to.write_shift(4, type == 0x50 ? 0x1F : type);\n\tswitch(type) {\n\t\tcase 0x03 /*VT_I4*/: p.write_shift(-4, value); break;\n\t\tcase 0x05 /*VT_I4*/: p = new_buf(8); p.write_shift(8, value, 'f'); break;\n\t\tcase 0x0B /*VT_BOOL*/: p.write_shift(4, value ? 0x01 : 0x00); break;\n\t\tcase 0x40 /*VT_FILETIME*/: /*:: if(typeof value !== \"string\" && !(value instanceof Date)) throw \"unreachable\"; */ p = write_FILETIME(value); break;\n\t\tcase 0x1F /*VT_LPWSTR*/:\n\t\tcase 0x50 /*VT_STRING*/:\n\t\t\t/*:: if(typeof value !== \"string\") throw \"unreachable\"; */\n\t\t\tp = new_buf(4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tp.write_shift(4, value.length + 1);\n\t\t\tp.write_shift(0, value, \"dbcs\");\n\t\t\twhile(p.l != p.length) p.write_shift(1, 0);\n\t\t\tbreak;\n\t\tdefault: throw new Error(\"TypedPropertyValue unrecognized type \" + type + \" \" + value);\n\t}\n\treturn bconcat([o, p]);\n}\n\n/* [MS-OLEPS] 2.20 PropertySet */\nfunction parse_PropertySet(blob, PIDSI) {\n\tvar start_addr = blob.l;\n\tvar size = blob.read_shift(4);\n\tvar NumProps = blob.read_shift(4);\n\tvar Props = [], i = 0;\n\tvar CodePage = 0;\n\tvar Dictionary = -1, DictObj/*:{[number]:string}*/ = ({}/*:any*/);\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tvar PropID = blob.read_shift(4);\n\t\tvar Offset = blob.read_shift(4);\n\t\tProps[i] = [PropID, Offset + start_addr];\n\t}\n\tProps.sort(function(x,y) { return x[1] - y[1]; });\n\tvar PropH = {};\n\tfor(i = 0; i != NumProps; ++i) {\n\t\tif(blob.l !== Props[i][1]) {\n\t\t\tvar fail = true;\n\t\t\tif(i>0 && PIDSI) switch(PIDSI[Props[i-1][0]].t) {\n\t\t\t\tcase 0x02 /*VT_I2*/: if(blob.l+2 === Props[i][1]) { blob.l+=2; fail = false; } break;\n\t\t\t\tcase 0x50 /*VT_STRING*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t\tcase 0x100C /*VT_VECTOR|VT_VARIANT*/: if(blob.l <= Props[i][1]) { blob.l=Props[i][1]; fail = false; } break;\n\t\t\t}\n\t\t\tif((!PIDSI||i==0) && blob.l <= Props[i][1]) { fail=false; blob.l = Props[i][1]; }\n\t\t\tif(fail) throw new Error(\"Read Error: Expected address \" + Props[i][1] + ' at ' + blob.l + ' :' + i);\n\t\t}\n\t\tif(PIDSI) {\n\t\t\tif(Props[i][0] == 0 && Props.length > i+1 && Props[i][1] == Props[i+1][1]) continue; // R9\n\t\t\tvar piddsi = PIDSI[Props[i][0]];\n\t\t\tPropH[piddsi.n] = parse_TypedPropertyValue(blob, piddsi.t, {raw:true});\n\t\t\tif(piddsi.p === 'version') PropH[piddsi.n] = String(PropH[piddsi.n] >> 16) + \".\" + (\"0000\" + String(PropH[piddsi.n] & 0xFFFF)).slice(-4);\n\t\t\tif(piddsi.n == \"CodePage\") switch(PropH[piddsi.n]) {\n\t\t\t\tcase 0: PropH[piddsi.n] = 1252;\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 874:\n\t\t\t\tcase 932:\n\t\t\t\tcase 936:\n\t\t\t\tcase 949:\n\t\t\t\tcase 950:\n\t\t\t\tcase 1250:\n\t\t\t\tcase 1251:\n\t\t\t\tcase 1253:\n\t\t\t\tcase 1254:\n\t\t\t\tcase 1255:\n\t\t\t\tcase 1256:\n\t\t\t\tcase 1257:\n\t\t\t\tcase 1258:\n\t\t\t\tcase 10000:\n\t\t\t\tcase 1200:\n\t\t\t\tcase 1201:\n\t\t\t\tcase 1252:\n\t\t\t\tcase 65000: case -536:\n\t\t\t\tcase 65001: case -535:\n\t\t\t\t\tset_cp(CodePage = (PropH[piddsi.n]>>>0) & 0xFFFF); break;\n\t\t\t\tdefault: throw new Error(\"Unsupported CodePage: \" + PropH[piddsi.n]);\n\t\t\t}\n\t\t} else {\n\t\t\tif(Props[i][0] === 0x1) {\n\t\t\t\tCodePage = PropH.CodePage = (parse_TypedPropertyValue(blob, VT_I2)/*:number*/);\n\t\t\t\tset_cp(CodePage);\n\t\t\t\tif(Dictionary !== -1) {\n\t\t\t\t\tvar oldpos = blob.l;\n\t\t\t\t\tblob.l = Props[Dictionary][1];\n\t\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t\t\tblob.l = oldpos;\n\t\t\t\t}\n\t\t\t} else if(Props[i][0] === 0) {\n\t\t\t\tif(CodePage === 0) { Dictionary = i; blob.l = Props[i+1][1]; continue; }\n\t\t\t\tDictObj = parse_dictionary(blob,CodePage);\n\t\t\t} else {\n\t\t\t\tvar name = DictObj[Props[i][0]];\n\t\t\t\tvar val;\n\t\t\t\t/* [MS-OSHARED] 2.3.3.2.3.1.2 + PROPVARIANT */\n\t\t\t\tswitch(blob[blob.l]) {\n\t\t\t\t\tcase 0x41 /*VT_BLOB*/: blob.l += 4; val = parse_BLOB(blob); break;\n\t\t\t\t\tcase 0x1E /*VT_LPSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/(^|[^\\u0000])\\u0000+$/,\"$1\"); break;\n\t\t\t\t\tcase 0x1F /*VT_LPWSTR*/: blob.l += 4; val = parse_VtString(blob, blob[blob.l-4]).replace(/(^|[^\\u0000])\\u0000+$/,\"$1\"); break;\n\t\t\t\t\tcase 0x03 /*VT_I4*/: blob.l += 4; val = blob.read_shift(4, 'i'); break;\n\t\t\t\t\tcase 0x13 /*VT_UI4*/: blob.l += 4; val = blob.read_shift(4); break;\n\t\t\t\t\tcase 0x05 /*VT_R8*/: blob.l += 4; val = blob.read_shift(8, 'f'); break;\n\t\t\t\t\tcase 0x0B /*VT_BOOL*/: blob.l += 4; val = parsebool(blob, 4); break;\n\t\t\t\t\tcase 0x40 /*VT_FILETIME*/: blob.l += 4; val = parseDate(parse_FILETIME(blob)); break;\n\t\t\t\t\tdefault: throw new Error(\"unparsed value: \" + blob[blob.l]);\n\t\t\t\t}\n\t\t\t\tPropH[name] = val;\n\t\t\t}\n\t\t}\n\t}\n\tblob.l = start_addr + size; /* step ahead to skip padding */\n\treturn PropH;\n}\nvar XLSPSSkip = [ \"CodePage\", \"Thumbnail\", \"_PID_LINKBASE\", \"_PID_HLINKS\", \"SystemIdentifier\", \"FMTID\" ];\nfunction guess_property_type(val/*:any*/)/*:number*/ {\n\tswitch(typeof val) {\n\t\tcase \"boolean\": return 0x0B;\n\t\tcase \"number\": return ((val|0)==val) ? 0x03 : 0x05;\n\t\tcase \"string\": return 0x1F;\n\t\tcase \"object\": if(val instanceof Date) return 0x40; break;\n\t}\n\treturn -1;\n}\nfunction write_PropertySet(entries, RE, PIDSI) {\n\tvar hdr = new_buf(8), piao = [], prop = [];\n\tvar sz = 8, i = 0;\n\n\tvar pr = new_buf(8), pio = new_buf(8);\n\tpr.write_shift(4, 0x0002);\n\tpr.write_shift(4, 0x04B0);\n\tpio.write_shift(4, 0x0001);\n\tprop.push(pr); piao.push(pio);\n\tsz += 8 + pr.length;\n\n\tif(!RE) {\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, 0);\n\t\tpiao.unshift(pio);\n\n\t\tvar bufs = [new_buf(4)];\n\t\tbufs[0].write_shift(4, entries.length);\n\t\tfor(i = 0; i < entries.length; ++i) {\n\t\t\tvar value = entries[i][0];\n\t\t\tpr = new_buf(4 + 4 + 2 * (value.length + 1) + (value.length % 2 ? 0 : 2));\n\t\t\tpr.write_shift(4, i+2);\n\t\t\tpr.write_shift(4, value.length + 1);\n\t\t\tpr.write_shift(0, value, \"dbcs\");\n\t\t\twhile(pr.l != pr.length) pr.write_shift(1, 0);\n\t\t\tbufs.push(pr);\n\t\t}\n\t\tpr = bconcat(bufs);\n\t\tprop.unshift(pr);\n\t\tsz += 8 + pr.length;\n\t}\n\n\tfor(i = 0; i < entries.length; ++i) {\n\t\tif(RE && !RE[entries[i][0]]) continue;\n\t\tif(XLSPSSkip.indexOf(entries[i][0]) > -1 || PseudoPropsPairs.indexOf(entries[i][0]) > -1) continue;\n\t\tif(entries[i][1] == null) continue;\n\n\t\tvar val = entries[i][1], idx = 0;\n\t\tif(RE) {\n\t\t\tidx = +RE[entries[i][0]];\n\t\t\tvar pinfo = (PIDSI/*:: || {}*/)[idx]/*:: || {} */;\n\t\t\tif(pinfo.p == \"version\" && typeof val == \"string\") {\n\t\t\t\t/*:: if(typeof val !== \"string\") throw \"unreachable\"; */\n\t\t\t\tvar arr = val.split(\".\");\n\t\t\t\tval = ((+arr[0])<<16) + ((+arr[1])||0);\n\t\t\t}\n\t\t\tpr = write_TypedPropertyValue(pinfo.t, val);\n\t\t} else {\n\t\t\tvar T = guess_property_type(val);\n\t\t\tif(T == -1) { T = 0x1F; val = String(val); }\n\t\t\tpr = write_TypedPropertyValue(T, val);\n\t\t}\n\t\tprop.push(pr);\n\n\t\tpio = new_buf(8);\n\t\tpio.write_shift(4, !RE ? 2+i : idx);\n\t\tpiao.push(pio);\n\n\t\tsz += 8 + pr.length;\n\t}\n\n\tvar w = 8 * (prop.length + 1);\n\tfor(i = 0; i < prop.length; ++i) { piao[i].write_shift(4, w); w += prop[i].length; }\n\thdr.write_shift(4, sz);\n\thdr.write_shift(4, prop.length);\n\treturn bconcat([hdr].concat(piao).concat(prop));\n}\n\n/* [MS-OLEPS] 2.21 PropertySetStream */\nfunction parse_PropertySetStream(file, PIDSI, clsid) {\n\tvar blob = file.content;\n\tif(!blob) return ({}/*:any*/);\n\tprep_blob(blob, 0);\n\n\tvar NumSets, FMTID0, FMTID1, Offset0, Offset1 = 0;\n\tblob.chk('feff', 'Byte Order: ');\n\n\t/*var vers = */blob.read_shift(2); // TODO: check version\n\tvar SystemIdentifier = blob.read_shift(4);\n\tvar CLSID = blob.read_shift(16);\n\tif(CLSID !== CFB.utils.consts.HEADER_CLSID && CLSID !== clsid) throw new Error(\"Bad PropertySet CLSID \" + CLSID);\n\tNumSets = blob.read_shift(4);\n\tif(NumSets !== 1 && NumSets !== 2) throw new Error(\"Unrecognized #Sets: \" + NumSets);\n\tFMTID0 = blob.read_shift(16); Offset0 = blob.read_shift(4);\n\n\tif(NumSets === 1 && Offset0 !== blob.l) throw new Error(\"Length mismatch: \" + Offset0 + \" !== \" + blob.l);\n\telse if(NumSets === 2) { FMTID1 = blob.read_shift(16); Offset1 = blob.read_shift(4); }\n\tvar PSet0 = parse_PropertySet(blob, PIDSI);\n\n\tvar rval = ({ SystemIdentifier: SystemIdentifier }/*:any*/);\n\tfor(var y in PSet0) rval[y] = PSet0[y];\n\t//rval.blob = blob;\n\trval.FMTID = FMTID0;\n\t//rval.PSet0 = PSet0;\n\tif(NumSets === 1) return rval;\n\tif(Offset1 - blob.l == 2) blob.l += 2;\n\tif(blob.l !== Offset1) throw new Error(\"Length mismatch 2: \" + blob.l + \" !== \" + Offset1);\n\tvar PSet1;\n\ttry { PSet1 = parse_PropertySet(blob, null); } catch(e) {/* empty */}\n\tfor(y in PSet1) rval[y] = PSet1[y];\n\trval.FMTID = [FMTID0, FMTID1]; // TODO: verify FMTID0/1\n\treturn rval;\n}\nfunction write_PropertySetStream(entries, clsid, RE, PIDSI/*:{[key:string|number]:any}*/, entries2/*:?any*/, clsid2/*:?any*/) {\n\tvar hdr = new_buf(entries2 ? 68 : 48);\n\tvar bufs = [hdr];\n\thdr.write_shift(2, 0xFFFE);\n\thdr.write_shift(2, 0x0000); /* TODO: type 1 props */\n\thdr.write_shift(4, 0x32363237);\n\thdr.write_shift(16, CFB.utils.consts.HEADER_CLSID, \"hex\");\n\thdr.write_shift(4, (entries2 ? 2 : 1));\n\thdr.write_shift(16, clsid, \"hex\");\n\thdr.write_shift(4, (entries2 ? 68 : 48));\n\tvar ps0 = write_PropertySet(entries, RE, PIDSI);\n\tbufs.push(ps0);\n\n\tif(entries2) {\n\t\tvar ps1 = write_PropertySet(entries2, null, null);\n\t\thdr.write_shift(16, clsid2, \"hex\");\n\t\thdr.write_shift(4, 68 + ps0.length);\n\t\tbufs.push(ps1);\n\t}\n\treturn bconcat(bufs);\n}\n\nfunction parsenoop2(blob, length) { blob.read_shift(length); return null; }\nfunction writezeroes(n, o) { if(!o) o=new_buf(n); for(var j=0; j= 12 ? 2 : 1);\n\tvar encoding = 'sbcs-cont';\n\tvar cp = current_codepage;\n\tif(opts && opts.biff >= 8) current_codepage = 1200;\n\tif(!opts || opts.biff == 8 ) {\n\t\tvar fHighByte = blob.read_shift(1);\n\t\tif(fHighByte) { encoding = 'dbcs-cont'; }\n\t} else if(opts.biff == 12) {\n\t\tencoding = 'wstr';\n\t}\n\tif(opts.biff >= 2 && opts.biff <= 5) encoding = 'cpstr';\n\tvar o = cch ? blob.read_shift(cch, encoding) : \"\";\n\tcurrent_codepage = cp;\n\treturn o;\n}\n\n/* 2.5.293 XLUnicodeRichExtendedString */\nfunction parse_XLUnicodeRichExtendedString(blob) {\n\tvar cp = current_codepage;\n\tcurrent_codepage = 1200;\n\tvar cch = blob.read_shift(2), flags = blob.read_shift(1);\n\tvar /*fHighByte = flags & 0x1,*/ fExtSt = flags & 0x4, fRichSt = flags & 0x8;\n\tvar width = 1 + (flags & 0x1); // 0x0 -> utf8, 0x1 -> dbcs\n\tvar cRun = 0, cbExtRst;\n\tvar z = {};\n\tif(fRichSt) cRun = blob.read_shift(2);\n\tif(fExtSt) cbExtRst = blob.read_shift(4);\n\tvar encoding = width == 2 ? 'dbcs-cont' : 'sbcs-cont';\n\tvar msg = cch === 0 ? \"\" : blob.read_shift(cch, encoding);\n\tif(fRichSt) blob.l += 4 * cRun; //TODO: parse this\n\tif(fExtSt) blob.l += cbExtRst; //TODO: parse this\n\tz.t = msg;\n\tif(!fRichSt) { z.raw = \"\" + z.t + \"\"; z.r = z.t; }\n\tcurrent_codepage = cp;\n\treturn z;\n}\nfunction write_XLUnicodeRichExtendedString(xlstr/*:: :XLString, opts*/) {\n\tvar str = (xlstr.t||\"\"), nfmts = 1;\n\n\tvar hdr = new_buf(3 + (nfmts > 1 ? 2 : 0));\n\thdr.write_shift(2, str.length);\n\thdr.write_shift(1, (nfmts > 1 ? 0x08 : 0x00) | 0x01);\n\tif(nfmts > 1) hdr.write_shift(2, nfmts);\n\n\tvar otext = new_buf(2 * str.length);\n\totext.write_shift(2 * str.length, str, 'utf16le');\n\n\tvar out = [hdr, otext];\n\n\treturn bconcat(out);\n}\n\n/* 2.5.296 XLUnicodeStringNoCch */\nfunction parse_XLUnicodeStringNoCch(blob, cch, opts) {\n\tvar retval;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return blob.read_shift(cch, 'cpstr');\n\t\tif(opts.biff >= 12) return blob.read_shift(cch, 'dbcs-cont');\n\t}\n\tvar fHighByte = blob.read_shift(1);\n\tif(fHighByte===0) { retval = blob.read_shift(cch, 'sbcs-cont'); }\n\telse { retval = blob.read_shift(cch, 'dbcs-cont'); }\n\treturn retval;\n}\n\n/* 2.5.294 XLUnicodeString */\nfunction parse_XLUnicodeString(blob, length, opts) {\n\tvar cch = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn parse_XLUnicodeStringNoCch(blob, cch, opts);\n}\n/* BIFF5 override */\nfunction parse_XLUnicodeString2(blob, length, opts) {\n\tif(opts.biff > 5) return parse_XLUnicodeString(blob, length, opts);\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, (opts.biff <= 4 || !blob.lens ) ? 'cpstr' : 'sbcs-cont');\n}\n/* TODO: BIFF5 and lower, codepage awareness */\nfunction write_XLUnicodeString(str, opts, o) {\n\tif(!o) o = new_buf(3 + 2 * str.length);\n\to.write_shift(2, str.length);\n\to.write_shift(1, 1);\n\to.write_shift(31, str, 'utf16le');\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.61 ControlInfo */\nfunction parse_ControlInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(1);\n\tblob.l++;\n\tvar accel = blob.read_shift(2);\n\tblob.l += 2;\n\treturn [flags, accel];\n}\n\n/* [MS-OSHARED] 2.3.7.6 URLMoniker TODO: flags */\nfunction parse_URLMoniker(blob/*::, length, opts*/) {\n\tvar len = blob.read_shift(4), start = blob.l;\n\tvar extra = false;\n\tif(len > 24) {\n\t\t/* look ahead */\n\t\tblob.l += len - 24;\n\t\tif(blob.read_shift(16) === \"795881f43b1d7f48af2c825dc4852763\") extra = true;\n\t\tblob.l = start;\n\t}\n\tvar url = blob.read_shift((extra?len-24:len)>>1, 'utf16le').replace(chr0,\"\");\n\tif(extra) blob.l += 24;\n\treturn url;\n}\n\n/* [MS-OSHARED] 2.3.7.8 FileMoniker TODO: all fields */\nfunction parse_FileMoniker(blob/*::, length*/) {\n\tvar cAnti = blob.read_shift(2);\n\tvar preamble = \"\"; while(cAnti-- > 0) preamble += \"../\";\n\tvar ansiPath = blob.read_shift(0, 'lpstr-ansi');\n\tblob.l += 2; //var endServer = blob.read_shift(2);\n\tif(blob.read_shift(2) != 0xDEAD) throw new Error(\"Bad FileMoniker\");\n\tvar sz = blob.read_shift(4);\n\tif(sz === 0) return preamble + ansiPath.replace(/\\\\/g,\"/\");\n\tvar bytes = blob.read_shift(4);\n\tif(blob.read_shift(2) != 3) throw new Error(\"Bad FileMoniker\");\n\tvar unicodePath = blob.read_shift(bytes>>1, 'utf16le').replace(chr0,\"\");\n\treturn preamble + unicodePath;\n}\n\n/* [MS-OSHARED] 2.3.7.2 HyperlinkMoniker TODO: all the monikers */\nfunction parse_HyperlinkMoniker(blob, length) {\n\tvar clsid = blob.read_shift(16); length -= 16;\n\tswitch(clsid) {\n\t\tcase \"e0c9ea79f9bace118c8200aa004ba90b\": return parse_URLMoniker(blob, length);\n\t\tcase \"0303000000000000c000000000000046\": return parse_FileMoniker(blob, length);\n\t\tdefault: throw new Error(\"Unsupported Moniker \" + clsid);\n\t}\n}\n\n/* [MS-OSHARED] 2.3.7.9 HyperlinkString */\nfunction parse_HyperlinkString(blob/*::, length*/) {\n\tvar len = blob.read_shift(4);\n\tvar o = len > 0 ? blob.read_shift(len, 'utf16le').replace(chr0, \"\") : \"\";\n\treturn o;\n}\nfunction write_HyperlinkString(str/*:string*/, o) {\n\tif(!o) o = new_buf(6 + str.length * 2);\n\to.write_shift(4, 1 + str.length);\n\tfor(var i = 0; i < str.length; ++i) o.write_shift(2, str.charCodeAt(i));\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-OSHARED] 2.3.7.1 Hyperlink Object */\nfunction parse_Hyperlink(blob, length)/*:Hyperlink*/ {\n\tvar end = blob.l + length;\n\tvar sVer = blob.read_shift(4);\n\tif(sVer !== 2) throw new Error(\"Unrecognized streamVersion: \" + sVer);\n\tvar flags = blob.read_shift(2);\n\tblob.l += 2;\n\tvar displayName, targetFrameName, moniker, oleMoniker, Loc=\"\", guid, fileTime;\n\tif(flags & 0x0010) displayName = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0080) targetFrameName = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0101) moniker = parse_HyperlinkString(blob, end - blob.l);\n\tif((flags & 0x0101) === 0x0001) oleMoniker = parse_HyperlinkMoniker(blob, end - blob.l);\n\tif(flags & 0x0008) Loc = parse_HyperlinkString(blob, end - blob.l);\n\tif(flags & 0x0020) guid = blob.read_shift(16);\n\tif(flags & 0x0040) fileTime = parse_FILETIME(blob/*, 8*/);\n\tblob.l = end;\n\tvar target = targetFrameName||moniker||oleMoniker||\"\";\n\tif(target && Loc) target+=\"#\"+Loc;\n\tif(!target) target = \"#\" + Loc;\n\tif((flags & 0x0002) && target.charAt(0) == \"/\" && target.charAt(1) != \"/\") target = \"file://\" + target;\n\tvar out = ({Target:target}/*:any*/);\n\tif(guid) out.guid = guid;\n\tif(fileTime) out.time = fileTime;\n\tif(displayName) out.Tooltip = displayName;\n\treturn out;\n}\nfunction write_Hyperlink(hl) {\n\tvar out = new_buf(512), i = 0;\n\tvar Target = hl.Target;\n\tif(Target.slice(0,7) == \"file://\") Target = Target.slice(7);\n\tvar hashidx = Target.indexOf(\"#\");\n\tvar F = hashidx > -1 ? 0x1f : 0x17;\n\tswitch(Target.charAt(0)) { case \"#\": F=0x1c; break; case \".\": F&=~2; break; }\n\tout.write_shift(4,2); out.write_shift(4, F);\n\tvar data = [8,6815827,6619237,4849780,83]; for(i = 0; i < data.length; ++i) out.write_shift(4, data[i]);\n\tif(F == 0x1C) {\n\t\tTarget = Target.slice(1);\n\t\twrite_HyperlinkString(Target, out);\n\t} else if(F & 0x02) {\n\t\tdata = \"e0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar Pretarget = hashidx > -1 ? Target.slice(0, hashidx) : Target;\n\t\tout.write_shift(4, 2*(Pretarget.length + 1));\n\t\tfor(i = 0; i < Pretarget.length; ++i) out.write_shift(2, Pretarget.charCodeAt(i));\n\t\tout.write_shift(2, 0);\n\t\tif(F & 0x08) write_HyperlinkString(hashidx > -1 ? Target.slice(hashidx+1): \"\", out);\n\t} else {\n\t\tdata = \"03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46\".split(\" \");\n\t\tfor(i = 0; i < data.length; ++i) out.write_shift(1, parseInt(data[i], 16));\n\t\tvar P = 0;\n\t\twhile(Target.slice(P*3,P*3+3)==\"../\"||Target.slice(P*3,P*3+3)==\"..\\\\\") ++P;\n\t\tout.write_shift(2, P);\n\t\tout.write_shift(4, Target.length - 3 * P + 1);\n\t\tfor(i = 0; i < Target.length - 3 * P; ++i) out.write_shift(1, Target.charCodeAt(i + 3 * P) & 0xFF);\n\t\tout.write_shift(1, 0);\n\t\tout.write_shift(2, 0xFFFF);\n\t\tout.write_shift(2, 0xDEAD);\n\t\tfor(i = 0; i < 6; ++i) out.write_shift(4, 0);\n\t}\n\treturn out.slice(0, out.l);\n}\n\n/* 2.5.178 LongRGBA */\nfunction parse_LongRGBA(blob/*::, length*/) { var r = blob.read_shift(1), g = blob.read_shift(1), b = blob.read_shift(1), a = blob.read_shift(1); return [r,g,b,a]; }\n\n/* 2.5.177 LongRGB */\nfunction parse_LongRGB(blob, length) { var x = parse_LongRGBA(blob, length); x[3] = 0; return x; }\n\n\n/* [MS-XLS] 2.5.19 */\nfunction parse_XLSCell(blob, length, opts)/*:Cell*/ {\n\tvar rw = blob.read_shift(2); // 0-indexed\n\tvar col = blob.read_shift(2);\n\tvar ret = ({r:rw, c:col, ixfe:0}/*:any*/);\n\tif(opts && opts.biff == 2 || length == 7) {\n\t\t/* TODO: pass back flags */\n\t\tvar flags = blob.read_shift(1);\n\t\tret.ixfe = flags & 0x3F;\n\t\tblob.l += 2;\n\t\t/*\n\t\tvar ifntifmt = blob.read_shift(1);\n\t\tvar ifmt = ifntifmt & 0x3f, ifnt = ifntifmt >> 6;\n\t\tvar flags3 = blob.read_shift(1);\n\t\t*/\n\t} else ret.ixfe = blob.read_shift(2);\n\treturn ret;\n}\nfunction write_XLSCell(R/*:number*/, C/*:number*/, ixfe/*:?number*/, o) {\n\tif(!o) o = new_buf(6);\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, ixfe||0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.134 */\nfunction parse_frtHeader(blob) {\n\tvar rt = blob.read_shift(2);\n\tvar flags = blob.read_shift(2); // TODO: parse these flags\n\tblob.l += 8;\n\treturn {type: rt, flags: flags};\n}\n\n\n\nfunction parse_OptXLUnicodeString(blob, length, opts) { return length === 0 ? \"\" : parse_XLUnicodeString2(blob, length, opts); }\n\n/* [MS-XLS] 2.5.344 */\nfunction parse_XTI(blob, length, opts) {\n\tvar w = opts.biff > 8 ? 4 : 2;\n\tvar iSupBook = blob.read_shift(w), itabFirst = blob.read_shift(w,'i'), itabLast = blob.read_shift(w,'i');\n\treturn [iSupBook, itabFirst, itabLast];\n}\n\n/* [MS-XLS] 2.5.218 */\nfunction parse_RkRec(blob) {\n\tvar ixfe = blob.read_shift(2);\n\tvar RK = parse_RkNumber(blob);\n\treturn [ixfe, RK];\n}\n\n/* [MS-XLS] 2.5.1 */\nfunction parse_AddinUdf(blob, length, opts) {\n\tblob.l += 4; length -= 4;\n\tvar l = blob.l + length;\n\tvar udfName = parse_ShortXLUnicodeString(blob, length, opts);\n\tvar cb = blob.read_shift(2);\n\tl -= blob.l;\n\tif(cb !== l) throw new Error(\"Malformed AddinUdf: padding = \" + l + \" != \" + cb);\n\tblob.l += cb;\n\treturn udfName;\n}\n\n/* [MS-XLS] 2.5.209 TODO: Check sizes */\nfunction parse_Ref8U(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(2);\n\tvar colLast = blob.read_shift(2);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\nfunction write_Ref8U(r/*:Range*/, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(2, r.s.r);\n\to.write_shift(2, r.e.r);\n\to.write_shift(2, r.s.c);\n\to.write_shift(2, r.e.c);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.211 */\nfunction parse_RefU(blob/*::, length*/) {\n\tvar rwFirst = blob.read_shift(2);\n\tvar rwLast = blob.read_shift(2);\n\tvar colFirst = blob.read_shift(1);\n\tvar colLast = blob.read_shift(1);\n\treturn {s:{c:colFirst, r:rwFirst}, e:{c:colLast,r:rwLast}};\n}\n\n/* [MS-XLS] 2.5.207 */\nvar parse_Ref = parse_RefU;\n\n/* [MS-XLS] 2.5.143 */\nfunction parse_FtCmo(blob/*::, length*/) {\n\tblob.l += 4;\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tblob.l+=12;\n\treturn [id, ot, flags];\n}\n\n/* [MS-XLS] 2.5.149 */\nfunction parse_FtNts(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.l += 16; // GUID TODO\n\tout.fSharedNote = blob.read_shift(2);\n\tblob.l += 4;\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.142 */\nfunction parse_FtCf(blob) {\n\tvar out = {};\n\tblob.l += 4;\n\tblob.cf = blob.read_shift(2);\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.140 - 2.5.154 and friends */\nfunction parse_FtSkip(blob) { blob.l += 2; blob.l += blob.read_shift(2); }\nvar FtTab = {\n\t0x00: parse_FtSkip, /* FtEnd */\n\t0x04: parse_FtSkip, /* FtMacro */\n\t0x05: parse_FtSkip, /* FtButton */\n\t0x06: parse_FtSkip, /* FtGmo */\n\t0x07: parse_FtCf, /* FtCf */\n\t0x08: parse_FtSkip, /* FtPioGrbit */\n\t0x09: parse_FtSkip, /* FtPictFmla */\n\t0x0A: parse_FtSkip, /* FtCbls */\n\t0x0B: parse_FtSkip, /* FtRbo */\n\t0x0C: parse_FtSkip, /* FtSbs */\n\t0x0D: parse_FtNts, /* FtNts */\n\t0x0E: parse_FtSkip, /* FtSbsFmla */\n\t0x0F: parse_FtSkip, /* FtGboData */\n\t0x10: parse_FtSkip, /* FtEdoData */\n\t0x11: parse_FtSkip, /* FtRboData */\n\t0x12: parse_FtSkip, /* FtCblsData */\n\t0x13: parse_FtSkip, /* FtLbsData */\n\t0x14: parse_FtSkip, /* FtCblsFmla */\n\t0x15: parse_FtCmo\n};\nfunction parse_FtArray(blob, length/*::, ot*/) {\n\tvar tgt = blob.l + length;\n\tvar fts = [];\n\twhile(blob.l < tgt) {\n\t\tvar ft = blob.read_shift(2);\n\t\tblob.l-=2;\n\t\ttry {\n\t\t\tfts[ft] = FtTab[ft](blob, tgt - blob.l);\n\t\t} catch(e) { blob.l = tgt; return fts; }\n\t}\n\tif(blob.l != tgt) blob.l = tgt; //throw new Error(\"bad Object Ft-sequence\");\n\treturn fts;\n}\n\n/* --- 2.4 Records --- */\n\n/* [MS-XLS] 2.4.21 */\nfunction parse_BOF(blob, length) {\n\tvar o = {BIFFVer:0, dt:0};\n\to.BIFFVer = blob.read_shift(2); length -= 2;\n\tif(length >= 2) { o.dt = blob.read_shift(2); blob.l -= 2; }\n\tswitch(o.BIFFVer) {\n\t\tcase 0x0600: /* BIFF8 */\n\t\tcase 0x0500: /* BIFF5 */\n\t\tcase 0x0400: /* BIFF4 */\n\t\tcase 0x0300: /* BIFF3 */\n\t\tcase 0x0200: /* BIFF2 */\n\t\tcase 0x0002: case 0x0007: /* BIFF2 */\n\t\t\tbreak;\n\t\tdefault: if(length > 6) throw new Error(\"Unexpected BIFF Ver \" + o.BIFFVer);\n\t}\n\n\tblob.read_shift(length);\n\treturn o;\n}\nfunction write_BOF(wb/*:Workbook*/, t/*:number*/, o) {\n\tvar h = 0x0600, w = 16;\n\tswitch(o.bookType) {\n\t\tcase 'biff8': break;\n\t\tcase 'biff5': h = 0x0500; w = 8; break;\n\t\tcase 'biff4': h = 0x0004; w = 6; break;\n\t\tcase 'biff3': h = 0x0003; w = 6; break;\n\t\tcase 'biff2': h = 0x0002; w = 4; break;\n\t\tcase 'xla': break;\n\t\tdefault: throw new Error(\"unsupported BIFF version\");\n\t}\n\tvar out = new_buf(w);\n\tout.write_shift(2, h);\n\tout.write_shift(2, t);\n\tif(w > 4) out.write_shift(2, 0x7262);\n\tif(w > 6) out.write_shift(2, 0x07CD);\n\tif(w > 8) {\n\t\tout.write_shift(2, 0xC009);\n\t\tout.write_shift(2, 0x0001);\n\t\tout.write_shift(2, 0x0706);\n\t\tout.write_shift(2, 0x0000);\n\t}\n\treturn out;\n}\n\n\n/* [MS-XLS] 2.4.146 */\nfunction parse_InterfaceHdr(blob, length) {\n\tif(length === 0) return 0x04b0;\n\tif((blob.read_shift(2))!==0x04b0){/* empty */}\n\treturn 0x04b0;\n}\n\n\n/* [MS-XLS] 2.4.349 */\nfunction parse_WriteAccess(blob, length, opts) {\n\tif(opts.enc) { blob.l += length; return \"\"; }\n\tvar l = blob.l;\n\t// TODO: make sure XLUnicodeString doesnt overrun\n\tvar UserName = parse_XLUnicodeString2(blob, 0, opts);\n\tblob.read_shift(length + l - blob.l);\n\treturn UserName;\n}\nfunction write_WriteAccess(s/*:string*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(b8 ? 112 : 54);\n\to.write_shift(opts.biff == 8 ? 2 : 1, 7);\n\tif(b8) o.write_shift(1, 0);\n\to.write_shift(4, 0x33336853);\n\to.write_shift(4, (0x00534A74 | (b8 ? 0 : 0x20000000)));\n\twhile(o.l < o.length) o.write_shift(1, (b8 ? 0 : 32));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.351 */\nfunction parse_WsBool(blob, length, opts) {\n\tvar flags = opts && opts.biff == 8 || length == 2 ? blob.read_shift(2) : (blob.l += length, 0);\n\treturn { fDialog: flags & 0x10, fBelow: flags & 0x40, fRight: flags & 0x80 };\n}\n\n/* [MS-XLS] 2.4.28 */\nfunction parse_BoundSheet8(blob, length, opts) {\n\tvar name = \"\";\n\tif(opts.biff == 4) {\n\t\tname = parse_ShortXLUnicodeString(blob, 0, opts);\n\t\tif(name.length === 0) name = \"Sheet1\";\n\t\treturn { name:name };\n\t}\n\tvar pos = blob.read_shift(4);\n\tvar hidden = blob.read_shift(1) & 0x03;\n\tvar dt = blob.read_shift(1);\n\tswitch(dt) {\n\t\tcase 0: dt = 'Worksheet'; break;\n\t\tcase 1: dt = 'Macrosheet'; break;\n\t\tcase 2: dt = 'Chartsheet'; break;\n\t\tcase 6: dt = 'VBAModule'; break;\n\t}\n\tname = parse_ShortXLUnicodeString(blob, 0, opts);\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { pos:pos, hs:hidden, dt:dt, name:name };\n}\nfunction write_BoundSheet8(data, opts) {\n\tvar w = (!opts || opts.biff >= 8 ? 2 : 1);\n\tvar o = new_buf(8 + w * data.name.length);\n\to.write_shift(4, data.pos);\n\to.write_shift(1, data.hs || 0);\n\to.write_shift(1, data.dt);\n\to.write_shift(1, data.name.length);\n\tif(opts.biff >= 8) o.write_shift(1, 1);\n\to.write_shift(w * data.name.length, data.name, opts.biff < 8 ? 'sbcs' : 'utf16le');\n\tvar out = o.slice(0, o.l);\n\tout.l = o.l; return out;\n}\n\n/* [MS-XLS] 2.4.265 TODO */\nfunction parse_SST(blob, length)/*:SST*/ {\n\tvar end = blob.l + length;\n\tvar cnt = blob.read_shift(4);\n\tvar ucnt = blob.read_shift(4);\n\tvar strs/*:SST*/ = ([]/*:any*/);\n\tfor(var i = 0; i != ucnt && blob.l < end; ++i) {\n\t\tstrs.push(parse_XLUnicodeRichExtendedString(blob));\n\t}\n\tstrs.Count = cnt; strs.Unique = ucnt;\n\treturn strs;\n}\nfunction write_SST(sst, opts) {\n\tvar header = new_buf(8);\n\theader.write_shift(4, sst.Count);\n\theader.write_shift(4, sst.Unique);\n\tvar strs = [];\n\tfor(var j = 0; j < sst.length; ++j) strs[j] = write_XLUnicodeRichExtendedString(sst[j], opts);\n\tvar o = bconcat([header].concat(strs));\n\t/*::(*/o/*:: :any)*/.parts = [header.length].concat(strs.map(function(str) { return str.length; }));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.107 */\nfunction parse_ExtSST(blob, length) {\n\tvar extsst = {};\n\textsst.dsst = blob.read_shift(2);\n\tblob.l += length-2;\n\treturn extsst;\n}\n\n\n/* [MS-XLS] 2.4.221 TODO: check BIFF2-4 */\nfunction parse_Row(blob) {\n\tvar z = ({}/*:any*/);\n\tz.r = blob.read_shift(2);\n\tz.c = blob.read_shift(2);\n\tz.cnt = blob.read_shift(2) - z.c;\n\tvar miyRw = blob.read_shift(2);\n\tblob.l += 4; // reserved(2), unused(2)\n\tvar flags = blob.read_shift(1); // various flags\n\tblob.l += 3; // reserved(8), ixfe(12), flags(4)\n\tif(flags & 0x07) z.level = flags & 0x07;\n\t// collapsed: flags & 0x10\n\tif(flags & 0x20) z.hidden = true;\n\tif(flags & 0x40) z.hpt = miyRw / 20;\n\treturn z;\n}\n\n\n/* [MS-XLS] 2.4.125 */\nfunction parse_ForceFullCalculation(blob) {\n\tvar header = parse_frtHeader(blob);\n\tif(header.type != 0x08A3) throw new Error(\"Invalid Future Record \" + header.type);\n\tvar fullcalc = blob.read_shift(4);\n\treturn fullcalc !== 0x0;\n}\n\n\n\n\n\n/* [MS-XLS] 2.4.215 rt */\nfunction parse_RecalcId(blob) {\n\tblob.read_shift(2);\n\treturn blob.read_shift(4);\n}\n\n/* [MS-XLS] 2.4.87 */\nfunction parse_DefaultRowHeight(blob, length, opts) {\n\tvar f = 0;\n\tif(!(opts && opts.biff == 2)) {\n\t\tf = blob.read_shift(2);\n\t}\n\tvar miyRw = blob.read_shift(2);\n\tif((opts && opts.biff == 2)) {\n\t\tf = 1 - (miyRw >> 15); miyRw &= 0x7fff;\n\t}\n\tvar fl = {Unsynced:f&1,DyZero:(f&2)>>1,ExAsc:(f&4)>>2,ExDsc:(f&8)>>3};\n\treturn [fl, miyRw];\n}\n\n/* [MS-XLS] 2.4.345 TODO */\nfunction parse_Window1(blob) {\n\tvar xWn = blob.read_shift(2), yWn = blob.read_shift(2), dxWn = blob.read_shift(2), dyWn = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), iTabCur = blob.read_shift(2), iTabFirst = blob.read_shift(2);\n\tvar ctabSel = blob.read_shift(2), wTabRatio = blob.read_shift(2);\n\treturn { Pos: [xWn, yWn], Dim: [dxWn, dyWn], Flags: flags, CurTab: iTabCur,\n\t\tFirstTab: iTabFirst, Selected: ctabSel, TabRatio: wTabRatio };\n}\nfunction write_Window1(/*::opts*/) {\n\tvar o = new_buf(18);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0x7260);\n\to.write_shift(2, 0x44c0);\n\to.write_shift(2, 0x38);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 1);\n\to.write_shift(2, 0x01f4);\n\treturn o;\n}\n/* [MS-XLS] 2.4.346 TODO */\nfunction parse_Window2(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff < 5) return {};\n\tvar f = blob.read_shift(2);\n\treturn { RTL: f & 0x40 };\n}\nfunction write_Window2(view) {\n\tvar o = new_buf(18), f = 0x6b6;\n\tif(view && view.RTL) f |= 0x40;\n\to.write_shift(2, f);\n\to.write_shift(4, 0);\n\to.write_shift(4, 64);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.189 TODO */\nfunction parse_Pane(/*blob, length, opts*/) {\n}\n\n/* [MS-XLS] 2.4.122 TODO */\nfunction parse_Font(blob, length, opts) {\n\tvar o/*:any*/ = {\n\t\tdyHeight: blob.read_shift(2),\n\t\tfl: blob.read_shift(2)\n\t};\n\tswitch((opts && opts.biff) || 8) {\n\t\tcase 2: break;\n\t\tcase 3: case 4: blob.l += 2; break;\n\t\tdefault: blob.l += 10; break;\n\t}\n\to.name = parse_ShortXLUnicodeString(blob, 0, opts);\n\treturn o;\n}\nfunction write_Font(data, opts) {\n\tvar name = data.name || \"Arial\";\n\tvar b5 = (opts && (opts.biff == 5)), w = (b5 ? (15 + name.length) : (16 + 2 * name.length));\n\tvar o = new_buf(w);\n\to.write_shift(2, (data.sz || 12) * 20);\n\to.write_shift(4, 0);\n\to.write_shift(2, 400);\n\to.write_shift(4, 0);\n\to.write_shift(2, 0);\n\to.write_shift(1, name.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * name.length, name, (b5 ? \"sbcs\" : \"utf16le\"));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.149 */\nfunction parse_LabelSst(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, length, opts);\n\tcell.isst = blob.read_shift(4);\n\treturn cell;\n}\nfunction write_LabelSst(R/*:number*/, C/*:number*/, v/*:number*/, os/*:number*/ /*::, opts*/) {\n\tvar o = new_buf(10);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(4, v);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.148 */\nfunction parse_Label(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar target = blob.l + length;\n\tvar cell = parse_XLSCell(blob, length, opts);\n\tvar str = parse_XLUnicodeString(blob, target - blob.l, opts);\n\tcell.val = str;\n\treturn cell;\n}\nfunction write_Label(R/*:number*/, C/*:number*/, v/*:string*/, os/*:number*/, opts) {\n\tvar b8 = !opts || opts.biff == 8;\n\tvar o = new_buf(6 + 2 + (+b8) + (1 + b8) * v.length);\n\twrite_XLSCell(R, C, os, o);\n\to.write_shift(2, v.length);\n\tif(b8) o.write_shift(1, 1);\n\to.write_shift((1 + b8) * v.length, v, b8 ? 'utf16le' : 'sbcs');\n\treturn o;\n}\n\n\n/* [MS-XLS] 2.4.126 Number Formats */\nfunction parse_Format(blob, length, opts) {\n\tvar numFmtId = blob.read_shift(2);\n\tvar fmtstr = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [numFmtId, fmtstr];\n}\nfunction write_Format(i/*:number*/, f/*:string*/, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? (3 + f.length) : (5 + 2 * f.length));\n\to.write_shift(2, i);\n\to.write_shift((b5 ? 1 : 2), f.length);\n\tif(!b5) o.write_shift(1, 1);\n\to.write_shift((b5 ? 1 : 2) * f.length, f, (b5 ? 'sbcs' : 'utf16le'));\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(out.l == null) out.l = out.length;\n\treturn out;\n}\nvar parse_BIFF2Format = parse_XLUnicodeString2;\nfunction write_BIFF2Format(f/*:string*/) {\n\tvar o = new_buf(1 + f.length);\n\to.write_shift(1, f.length);\n\to.write_shift(f.length, f, \"sbcs\");\n\treturn o;\n}\nfunction write_BIFF4Format(f/*:string*/) {\n\tvar o = new_buf(3 + f.length);\n\to.l += 2;\n\to.write_shift(1, f.length);\n\to.write_shift(f.length, f, \"sbcs\");\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.90 */\nfunction parse_Dimensions(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar r = blob.read_shift(w), R = blob.read_shift(w);\n\tvar c = blob.read_shift(2), C = blob.read_shift(2);\n\tblob.l = end;\n\treturn {s: {r:r, c:c}, e: {r:R, c:C}};\n}\nfunction write_Dimensions(range, opts) {\n\tvar w = opts.biff == 8 || !opts.biff ? 4 : 2;\n\tvar o = new_buf(2*w + 6);\n\to.write_shift(w, range.s.r);\n\to.write_shift(w, range.e.r + 1);\n\to.write_shift(2, range.s.c);\n\to.write_shift(2, range.e.c + 1);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.220 */\nfunction parse_RK(blob) {\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrec = parse_RkRec(blob);\n\treturn {r:rw, c:col, ixfe:rkrec[0], rknum:rkrec[1]};\n}\n\n/* [MS-XLS] 2.4.175 */\nfunction parse_MulRk(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar rkrecs = [];\n\twhile(blob.l < target) rkrecs.push(parse_RkRec(blob));\n\tif(blob.l !== target) throw new Error(\"MulRK read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(rkrecs.length != lastcol - col + 1) throw new Error(\"MulRK length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, rkrec:rkrecs};\n}\n/* [MS-XLS] 2.4.174 */\nfunction parse_MulBlank(blob, length) {\n\tvar target = blob.l + length - 2;\n\tvar rw = blob.read_shift(2), col = blob.read_shift(2);\n\tvar ixfes = [];\n\twhile(blob.l < target) ixfes.push(blob.read_shift(2));\n\tif(blob.l !== target) throw new Error(\"MulBlank read error\");\n\tvar lastcol = blob.read_shift(2);\n\tif(ixfes.length != lastcol - col + 1) throw new Error(\"MulBlank length mismatch\");\n\treturn {r:rw, c:col, C:lastcol, ixfe:ixfes};\n}\n\n/* [MS-XLS] 2.5.20 2.5.249 TODO: interpret values here */\nfunction parse_CellStyleXF(blob, length, style, opts) {\n\tvar o = {};\n\tvar a = blob.read_shift(4), b = blob.read_shift(4);\n\tvar c = blob.read_shift(4), d = blob.read_shift(2);\n\to.patternType = XLSFillPattern[c >> 26];\n\n\tif(!opts.cellStyles) return o;\n\to.alc = a & 0x07;\n\to.fWrap = (a >> 3) & 0x01;\n\to.alcV = (a >> 4) & 0x07;\n\to.fJustLast = (a >> 7) & 0x01;\n\to.trot = (a >> 8) & 0xFF;\n\to.cIndent = (a >> 16) & 0x0F;\n\to.fShrinkToFit = (a >> 20) & 0x01;\n\to.iReadOrder = (a >> 22) & 0x02;\n\to.fAtrNum = (a >> 26) & 0x01;\n\to.fAtrFnt = (a >> 27) & 0x01;\n\to.fAtrAlc = (a >> 28) & 0x01;\n\to.fAtrBdr = (a >> 29) & 0x01;\n\to.fAtrPat = (a >> 30) & 0x01;\n\to.fAtrProt = (a >> 31) & 0x01;\n\n\to.dgLeft = b & 0x0F;\n\to.dgRight = (b >> 4) & 0x0F;\n\to.dgTop = (b >> 8) & 0x0F;\n\to.dgBottom = (b >> 12) & 0x0F;\n\to.icvLeft = (b >> 16) & 0x7F;\n\to.icvRight = (b >> 23) & 0x7F;\n\to.grbitDiag = (b >> 30) & 0x03;\n\n\to.icvTop = c & 0x7F;\n\to.icvBottom = (c >> 7) & 0x7F;\n\to.icvDiag = (c >> 14) & 0x7F;\n\to.dgDiag = (c >> 21) & 0x0F;\n\n\to.icvFore = d & 0x7F;\n\to.icvBack = (d >> 7) & 0x7F;\n\to.fsxButton = (d >> 14) & 0x01;\n\treturn o;\n}\n//function parse_CellXF(blob, length, opts) {return parse_CellStyleXF(blob,length,0, opts);}\n//function parse_StyleXF(blob, length, opts) {return parse_CellStyleXF(blob,length,1, opts);}\n\n/* [MS-XLS] 2.4.353 TODO: actually do this right */\nfunction parse_XF(blob, length, opts) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(2); o.numFmtId = blob.read_shift(2); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\tlength -= 6;\n\to.data = parse_CellStyleXF(blob, length, o.fStyle, opts);\n\treturn o;\n}\nfunction write_XF(data, ixfeP, opts, o) {\n\tvar b5 = (opts && (opts.biff == 5));\n\tif(!o) o = new_buf(b5 ? 16 : 20);\n\to.write_shift(2, 0);\n\tif(data.style) {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, 0xFFF4);\n\t} else {\n\t\to.write_shift(2, (data.numFmtId||0));\n\t\to.write_shift(2, (ixfeP<<4));\n\t}\n\tvar f = 0;\n\tif(data.numFmtId > 0 && b5) f |= 0x0400;\n\to.write_shift(4, f);\n\to.write_shift(4, 0);\n\tif(!b5) o.write_shift(4, 0);\n\to.write_shift(2, 0);\n\treturn o;\n}\nfunction parse_BIFF2XF(blob/*::, length, opts*/) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(1); blob.l++; o.flags = blob.read_shift(1);\n\to.numFmtId = o.flags & 0x3F; o.flags>>=6;\n\to.fStyle = 0;\n\to.data = {}; // TODO\n\treturn o;\n}\nfunction write_BIFF2XF(xf) {\n\tvar o = new_buf(4);\n\to.l+=2;\n\to.write_shift(1, xf.numFmtId);\n\to.l++;\n\treturn o;\n}\nfunction write_BIFF3XF(xf) {\n\tvar o = new_buf(12);\n\to.l++;\n\to.write_shift(1, xf.numFmtId);\n\to.l += 10;\n\treturn o;\n}\n/* TODO: check other fields */\nvar write_BIFF4XF = write_BIFF3XF;\nfunction parse_BIFF3XF(blob/*::, length, opts*/) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\to.data = {}; // TODO\n\treturn o;\n}\nfunction parse_BIFF4XF(blob/*::, length, opts*/) {\n\tvar o = {};\n\to.ifnt = blob.read_shift(1); o.numFmtId = blob.read_shift(1); o.flags = blob.read_shift(2);\n\to.fStyle = (o.flags >> 2) & 0x01;\n\to.data = {}; // TODO\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.134 */\nfunction parse_Guts(blob) {\n\tblob.l += 4;\n\tvar out = [blob.read_shift(2), blob.read_shift(2)];\n\tif(out[0] !== 0) out[0]--;\n\tif(out[1] !== 0) out[1]--;\n\tif(out[0] > 7 || out[1] > 7) throw new Error(\"Bad Gutters: \" + out.join(\"|\"));\n\treturn out;\n}\nfunction write_Guts(guts/*:Array*/) {\n\tvar o = new_buf(8);\n\to.write_shift(4, 0);\n\to.write_shift(2, guts[0] ? guts[0] + 1 : 0);\n\to.write_shift(2, guts[1] ? guts[1] + 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.24 */\nfunction parse_BoolErr(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 6, opts);\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\nfunction write_BoolErr(R/*:number*/, C/*:number*/, v, os/*:number*/, opts, t/*:string*/) {\n\tvar o = new_buf(8);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Bes(v, t, o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.180 Number */\nfunction parse_Number(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 2) opts.biff = 5;\n\tvar cell = parse_XLSCell(blob, 6, opts);\n\tvar xnum = parse_Xnum(blob, 8);\n\tcell.val = xnum;\n\treturn cell;\n}\nfunction write_Number(R/*:number*/, C/*:number*/, v, os/*:: :number, opts*/) {\n\tvar o = new_buf(14);\n\twrite_XLSCell(R, C, os, o);\n\twrite_Xnum(v, o);\n\treturn o;\n}\n\nvar parse_XLHeaderFooter = parse_OptXLUnicodeString; // TODO: parse 2.4.136\n\n/* [MS-XLS] 2.4.271 */\nfunction parse_SupBook(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar ctab = blob.read_shift(2);\n\tvar cch = blob.read_shift(2);\n\topts.sbcch = cch;\n\tif(cch == 0x0401 || cch == 0x3A01) return [cch, ctab];\n\tif(cch < 0x01 || cch >0xff) throw new Error(\"Unexpected SupBook type: \"+cch);\n\tvar virtPath = parse_XLUnicodeStringNoCch(blob, cch);\n\t/* TODO: 2.5.277 Virtual Path */\n\tvar rgst = [];\n\twhile(end > blob.l) rgst.push(parse_XLUnicodeString(blob));\n\treturn [cch, ctab, virtPath, rgst];\n}\n\n/* [MS-XLS] 2.4.105 TODO */\nfunction parse_ExternName(blob, length, opts) {\n\tvar flags = blob.read_shift(2);\n\tvar body;\n\tvar o = ({\n\t\tfBuiltIn: flags & 0x01,\n\t\tfWantAdvise: (flags >>> 1) & 0x01,\n\t\tfWantPict: (flags >>> 2) & 0x01,\n\t\tfOle: (flags >>> 3) & 0x01,\n\t\tfOleLink: (flags >>> 4) & 0x01,\n\t\tcf: (flags >>> 5) & 0x3FF,\n\t\tfIcon: flags >>> 15 & 0x01\n\t}/*:any*/);\n\tif(opts.sbcch === 0x3A01) body = parse_AddinUdf(blob, length-2, opts);\n\t//else throw new Error(\"unsupported SupBook cch: \" + opts.sbcch);\n\to.body = body || blob.read_shift(length-2);\n\tif(typeof body === \"string\") o.Name = body;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.150 TODO */\nfunction parse_Lbl(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar flags = blob.read_shift(2);\n\tvar chKey = blob.read_shift(1);\n\tvar cch = blob.read_shift(1);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar itab = 0;\n\tif(!opts || opts.biff >= 5) {\n\t\tif(opts.biff != 5) blob.l += 2;\n\t\titab = blob.read_shift(2);\n\t\tif(opts.biff == 5) blob.l += 2;\n\t\tblob.l += 4;\n\t}\n\tvar name = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tif(flags & 0x20) name = XLSLblBuiltIn[name.charCodeAt(0)];\n\tvar npflen = target - blob.l; if(opts && opts.biff == 2) --npflen;\n\t/*jshint -W018 */\n\tvar rgce = (target == blob.l || cce === 0 || !(npflen > 0)) ? [] : parse_NameParsedFormula(blob, npflen, opts, cce);\n\t/*jshint +W018 */\n\treturn {\n\t\tchKey: chKey,\n\t\tName: name,\n\t\titab: itab,\n\t\trgce: rgce\n\t};\n}\n\n/* [MS-XLS] 2.4.106 TODO: legacy record filename encoding */\nfunction parse_ExternSheet(blob, length, opts) {\n\tif(opts.biff < 8) return parse_BIFF5ExternSheet(blob, length, opts);\n\t/* see issue 2907 */\n\tif(!(opts.biff > 8) && (length == blob[blob.l] + (blob[blob.l+1] == 0x03 ? 1 : 0) + 1)) return parse_BIFF5ExternSheet(blob, length, opts);\n\tvar o = [], target = blob.l + length, len = blob.read_shift(opts.biff > 8 ? 4 : 2);\n\twhile(len-- !== 0) o.push(parse_XTI(blob, opts.biff > 8 ? 12 : 6, opts));\n\t\t// [iSupBook, itabFirst, itabLast];\n\tif(blob.l != target) throw new Error(\"Bad ExternSheet: \" + blob.l + \" != \" + target);\n\treturn o;\n}\nfunction parse_BIFF5ExternSheet(blob, length, opts) {\n\tif(blob[blob.l + 1] == 0x03) blob[blob.l]++;\n\tvar o = parse_ShortXLUnicodeString(blob, length, opts);\n\treturn o.charCodeAt(0) == 0x03 ? o.slice(1) : o;\n}\n\n/* [MS-XLS] 2.4.176 TODO: check older biff */\nfunction parse_NameCmt(blob, length, opts) {\n\tif(opts.biff < 8) { blob.l += length; return; }\n\tvar cchName = blob.read_shift(2);\n\tvar cchComment = blob.read_shift(2);\n\tvar name = parse_XLUnicodeStringNoCch(blob, cchName, opts);\n\tvar comment = parse_XLUnicodeStringNoCch(blob, cchComment, opts);\n\treturn [name, comment];\n}\n\n/* [MS-XLS] 2.4.260 */\nfunction parse_ShrFmla(blob, length, opts) {\n\tvar ref = parse_RefU(blob, 6);\n\tblob.l++;\n\tvar cUse = blob.read_shift(1);\n\tlength -= 8;\n\treturn [parse_SharedParsedFormula(blob, length, opts), cUse, ref];\n}\n\n/* [MS-XLS] 2.4.4 TODO */\nfunction parse_Array(blob, length, opts) {\n\tvar ref = parse_Ref(blob, 6);\n\t/* TODO: fAlwaysCalc */\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l ++; length -= 7; break;\n\t\tcase 3: case 4: blob.l += 2; length -= 8; break;\n\t\tdefault: blob.l += 6; length -= 12;\n\t}\n\treturn [ref, parse_ArrayParsedFormula(blob, length, opts, ref)];\n}\n\n/* [MS-XLS] 2.4.173 */\nfunction parse_MTRSettings(blob) {\n\tvar fMTREnabled = blob.read_shift(4) !== 0x00;\n\tvar fUserSetThreadCount = blob.read_shift(4) !== 0x00;\n\tvar cUserThreadCount = blob.read_shift(4);\n\treturn [fMTREnabled, fUserSetThreadCount, cUserThreadCount];\n}\n\n/* [MS-XLS] 2.5.186 */\nfunction parse_NoteSh(blob, length, opts) {\n\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\tvar flags = blob.read_shift(2), idObj = blob.read_shift(2);\n\tvar stAuthor = parse_XLUnicodeString2(blob, 0, opts);\n\treturn [{r:row,c:col}, stAuthor, idObj, flags];\n}\n\n/* [MS-XLS] 2.4.179 */\nfunction parse_Note(blob, length, opts) {\n\tif(opts && (opts.biff < 8)) {\n\t\tvar row = blob.read_shift(2), col = blob.read_shift(2);\n\t\tif(row == 0xFFFF || row == -1) return; // TODO: test continuation\n\t\tvar cch = blob.read_shift(2);\n\t\tvar cmnt = blob.read_shift(Math.min(cch,2048), 'cpstr');\n\t\treturn [{r:row, c:col}, cmnt];\n\t}\n\t/* TODO: Support revisions */\n\treturn parse_NoteSh(blob, length, opts);\n}\nfunction write_NOTE_BIFF2(text/*:string*/, R/*:number*/, C/*:number*/, len/*?:number*/) {\n\tvar o = new_buf(6 + (len || text.length));\n\to.write_shift(2, R);\n\to.write_shift(2, C);\n\to.write_shift(2, len || text.length);\n\to.write_shift(text.length, text, \"sbcs\");\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.168 */\nfunction parse_MergeCells(blob, length)/*:Array*/ {\n\tvar merges/*:Array*/ = [];\n\tvar cmcs = blob.read_shift(2);\n\twhile (cmcs--) merges.push(parse_Ref8U(blob,length));\n\treturn merges;\n}\nfunction write_MergeCells(merges/*:Array*/) {\n\tvar o = new_buf(2 + merges.length * 8);\n\to.write_shift(2, merges.length);\n\tfor(var i = 0; i < merges.length; ++i) write_Ref8U(merges[i], o);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.181 TODO: parse all the things! */\nfunction parse_Obj(blob, length, opts) {\n\tif(opts && opts.biff < 8) return parse_BIFF5Obj(blob, length, opts);\n\tvar cmo = parse_FtCmo(blob, 22); // id, ot, flags\n\tvar fts = parse_FtArray(blob, length-22, cmo[1]);\n\treturn { cmo: cmo, ft:fts };\n}\n/* from older spec */\nvar parse_BIFF5OT = {\n0x08: function(blob, length) {\n\tvar tgt = blob.l + length;\n\tblob.l += 10; // todo\n\tvar cf = blob.read_shift(2);\n\tblob.l += 4;\n\tblob.l += 2; //var cbPictFmla = blob.read_shift(2);\n\tblob.l += 2;\n\tblob.l += 2; //var grbit = blob.read_shift(2);\n\tblob.l += 4;\n\tvar cchName = blob.read_shift(1);\n\tblob.l += cchName; // TODO: stName\n\tblob.l = tgt; // TODO: fmla\n\treturn { fmt:cf };\n}\n};\n\nfunction parse_BIFF5Obj(blob, length, opts) {\n\tblob.l += 4; //var cnt = blob.read_shift(4);\n\tvar ot = blob.read_shift(2);\n\tvar id = blob.read_shift(2);\n\tvar grbit = blob.read_shift(2);\n\tblob.l += 2; //var colL = blob.read_shift(2);\n\tblob.l += 2; //var dxL = blob.read_shift(2);\n\tblob.l += 2; //var rwT = blob.read_shift(2);\n\tblob.l += 2; //var dyT = blob.read_shift(2);\n\tblob.l += 2; //var colR = blob.read_shift(2);\n\tblob.l += 2; //var dxR = blob.read_shift(2);\n\tblob.l += 2; //var rwB = blob.read_shift(2);\n\tblob.l += 2; //var dyB = blob.read_shift(2);\n\tblob.l += 2; //var cbMacro = blob.read_shift(2);\n\tblob.l += 6;\n\tlength -= 36;\n\tvar fts = [];\n\tfts.push((parse_BIFF5OT[ot]||parsenoop)(blob, length, opts));\n\treturn { cmo: [id, ot, grbit], ft:fts };\n}\n\n/* [MS-XLS] 2.4.329 TODO: parse properly */\nfunction parse_TxO(blob, length, opts) {\n\tvar s = blob.l;\n\tvar texts = \"\";\ntry {\n\tblob.l += 4;\n\tvar ot = (opts.lastobj||{cmo:[0,0]}).cmo[1];\n\tvar controlInfo; // eslint-disable-line no-unused-vars\n\tif([0,5,7,11,12,14].indexOf(ot) == -1) blob.l += 6;\n\telse controlInfo = parse_ControlInfo(blob, 6, opts); // eslint-disable-line no-unused-vars\n\tvar cchText = blob.read_shift(2);\n\t/*var cbRuns = */blob.read_shift(2);\n\t/*var ifntEmpty = */parseuint16(blob, 2);\n\tvar len = blob.read_shift(2);\n\tblob.l += len;\n\t//var fmla = parse_ObjFmla(blob, s + length - blob.l);\n\n\tfor(var i = 1; i < blob.lens.length-1; ++i) {\n\t\tif(blob.l-s != blob.lens[i]) throw new Error(\"TxO: bad continue record\");\n\t\tvar hdr = blob[blob.l];\n\t\tvar t = parse_XLUnicodeStringNoCch(blob, blob.lens[i+1]-blob.lens[i]-1);\n\t\ttexts += t;\n\t\tif(texts.length >= (hdr ? cchText : 2*cchText)) break;\n\t}\n\tif(texts.length !== cchText && texts.length !== cchText*2) {\n\t\tthrow new Error(\"cchText: \" + cchText + \" != \" + texts.length);\n\t}\n\n\tblob.l = s + length;\n\t/* [MS-XLS] 2.5.272 TxORuns */\n//\tvar rgTxoRuns = [];\n//\tfor(var j = 0; j != cbRuns/8-1; ++j) blob.l += 8;\n//\tvar cchText2 = blob.read_shift(2);\n//\tif(cchText2 !== cchText) throw new Error(\"TxOLastRun mismatch: \" + cchText2 + \" \" + cchText);\n//\tblob.l += 6;\n//\tif(s + length != blob.l) throw new Error(\"TxO \" + (s + length) + \", at \" + blob.l);\n\treturn { t: texts };\n} catch(e) { blob.l = s + length; return { t: texts }; }\n}\n\n/* [MS-XLS] 2.4.140 */\nfunction parse_HLink(blob, length) {\n\tvar ref = parse_Ref8U(blob, 8);\n\tblob.l += 16; /* CLSID */\n\tvar hlink = parse_Hyperlink(blob, length-24);\n\treturn [ref, hlink];\n}\nfunction write_HLink(hl) {\n\tvar O = new_buf(24);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tvar clsid = \"d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b\".split(\" \");\n\tfor(var i = 0; i < 16; ++i) O.write_shift(1, parseInt(clsid[i], 16));\n\treturn bconcat([O, write_Hyperlink(hl[1])]);\n}\n\n\n/* [MS-XLS] 2.4.141 */\nfunction parse_HLinkTooltip(blob, length) {\n\tblob.read_shift(2);\n\tvar ref = parse_Ref8U(blob, 8);\n\tvar wzTooltip = blob.read_shift((length-10)/2, 'dbcs-cont');\n\twzTooltip = wzTooltip.replace(chr0,\"\");\n\treturn [ref, wzTooltip];\n}\nfunction write_HLinkTooltip(hl) {\n\tvar TT = hl[1].Tooltip;\n\tvar O = new_buf(10 + 2 * (TT.length + 1));\n\tO.write_shift(2, 0x0800);\n\tvar ref = decode_cell(hl[0]);\n\tO.write_shift(2, ref.r); O.write_shift(2, ref.r);\n\tO.write_shift(2, ref.c); O.write_shift(2, ref.c);\n\tfor(var i = 0; i < TT.length; ++i) O.write_shift(2, TT.charCodeAt(i));\n\tO.write_shift(2, 0);\n\treturn O;\n}\n\n/* [MS-XLS] 2.4.63 */\nfunction parse_Country(blob)/*:[string|number, string|number]*/ {\n\tvar o = [0,0], d;\n\td = blob.read_shift(2); o[0] = CountryEnum[d] || d;\n\td = blob.read_shift(2); o[1] = CountryEnum[d] || d;\n\treturn o;\n}\nfunction write_Country(o) {\n\tif(!o) o = new_buf(4);\n\to.write_shift(2, 0x01);\n\to.write_shift(2, 0x01);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.50 ClrtClient */\nfunction parse_ClrtClient(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.188 */\nfunction parse_Palette(blob) {\n\tvar ccv = blob.read_shift(2);\n\tvar o = [];\n\twhile(ccv-->0) o.push(parse_LongRGB(blob, 8));\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.354 */\nfunction parse_XFCRC(blob) {\n\tblob.l += 2;\n\tvar o = {cxfs:0, crc:0};\n\to.cxfs = blob.read_shift(2);\n\to.crc = blob.read_shift(4);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.53 TODO: parse flags */\n/* [MS-XLSB] 2.4.323 TODO: parse flags */\nfunction parse_ColInfo(blob, length, opts) {\n\tif(!opts.cellStyles) return parsenoop(blob, length);\n\tvar w = opts && opts.biff >= 12 ? 4 : 2;\n\tvar colFirst = blob.read_shift(w);\n\tvar colLast = blob.read_shift(w);\n\tvar coldx = blob.read_shift(w);\n\tvar ixfe = blob.read_shift(w);\n\tvar flags = blob.read_shift(2);\n\tif(w == 2) blob.l += 2;\n\tvar o = ({s:colFirst, e:colLast, w:coldx, ixfe:ixfe, flags:flags}/*:any*/);\n\tif(opts.biff >= 5 || !opts.biff) o.level = (flags >> 8) & 0x7;\n\treturn o;\n}\nfunction write_ColInfo(col, idx) {\n\tvar o = new_buf(12);\n\to.write_shift(2, idx);\n\to.write_shift(2, idx);\n\to.write_shift(2, col.width * 256);\n\to.write_shift(2, 0);\n\tvar f = 0;\n\tif(col.hidden) f |= 1;\n\to.write_shift(1, f);\n\tf = col.level || 0;\n\to.write_shift(1, f);\n\to.write_shift(2, 0);\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.257 */\nfunction parse_Setup(blob, length) {\n\tvar o = {};\n\tif(length < 32) return o;\n\tblob.l += 16;\n\to.header = parse_Xnum(blob, 8);\n\to.footer = parse_Xnum(blob, 8);\n\tblob.l += 2;\n\treturn o;\n}\n\n/* [MS-XLS] 2.4.261 */\nfunction parse_ShtProps(blob, length, opts) {\n\tvar def = {area:false};\n\tif(opts.biff != 5) { blob.l += length; return def; }\n\tvar d = blob.read_shift(1); blob.l += 3;\n\tif((d & 0x10)) def.area = true;\n\treturn def;\n}\n\n/* [MS-XLS] 2.4.241 */\nfunction write_RRTabId(n/*:number*/) {\n\tvar out = new_buf(2 * n);\n\tfor(var i = 0; i < n; ++i) out.write_shift(2, i+1);\n\treturn out;\n}\n\nvar parse_Blank = parse_XLSCell; /* [MS-XLS] 2.4.20 Just the cell */\nvar parse_Scl = parseuint16a; /* [MS-XLS] 2.4.247 num, den */\nvar parse_String = parse_XLUnicodeString; /* [MS-XLS] 2.4.268 */\n\n/* --- Specific to versions before BIFF8 --- */\nfunction parse_ImData(blob) {\n\tvar cf = blob.read_shift(2);\n\tvar env = blob.read_shift(2);\n\tvar lcb = blob.read_shift(4);\n\tvar o = {fmt:cf, env:env, len:lcb, data:blob.slice(blob.l,blob.l+lcb)};\n\tblob.l += lcb;\n\treturn o;\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/, ixfe/*:number*/, ifmt/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(1, ixfe||0/* & 0x3F */);\n\tout.write_shift(1, ifmt||0/* & 0x3F */);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\n/* BIFF2_??? where ??? is the name from [XLS] */\nfunction parse_BIFF2STR(blob, length, opts) {\n\tif(opts.biffguess && opts.biff == 5) opts.biff = 2;\n\tvar cell = parse_XLSCell(blob, 7, opts);\n\tvar str = parse_XLUnicodeString2(blob, length-7, opts);\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF2NUM(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 7, opts);\n\tvar num = parse_Xnum(blob, 8);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2NUM(r/*:number*/, c/*:number*/, val/*:number*/, ixfe, ifmt) {\n\tvar out = new_buf(15);\n\twrite_BIFF2Cell(out, r, c, ixfe||0, ifmt||0);\n\tout.write_shift(8, val, 'f');\n\treturn out;\n}\n\nfunction parse_BIFF2INT(blob, length, opts) {\n\tvar cell = parse_XLSCell(blob, 7, opts);\n\tvar num = blob.read_shift(2);\n\tcell.t = 'n';\n\tcell.val = num;\n\treturn cell;\n}\nfunction write_BIFF2INT(r/*:number*/, c/*:number*/, val/*:number*/, ixfe/*:number*/, ifmt/*:number*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c, ixfe||0, ifmt||0);\n\tout.write_shift(2, val);\n\treturn out;\n}\n\nfunction parse_BIFF2STRING(blob) {\n\tvar cch = blob.read_shift(1);\n\tif(cch === 0) { blob.l++; return \"\"; }\n\treturn blob.read_shift(cch, 'sbcs-cont');\n}\n\nfunction parse_BIFF2BOOLERR(blob, length, opts) {\n\tvar bestart = blob.l + 7;\n\tvar cell = parse_XLSCell(blob, 6, opts);\n\tblob.l = bestart;\n\tvar val = parse_Bes(blob, 2);\n\tcell.val = val;\n\tcell.t = (val === true || val === false) ? 'b' : 'e';\n\treturn cell;\n}\n\n/* TODO: convert to BIFF8 font struct */\nfunction parse_BIFF2FONTXTRA(blob, length) {\n\tblob.l += 6; // unknown\n\tblob.l += 2; // font weight \"bls\"\n\tblob.l += 1; // charset\n\tblob.l += 3; // unknown\n\tblob.l += 1; // font family\n\tblob.l += length - 13;\n}\n\n/* TODO: parse rich text runs */\nfunction parse_RString(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6, opts);\n\tvar cch = blob.read_shift(2);\n\tvar str = parse_XLUnicodeStringNoCch(blob, cch, opts);\n\tblob.l = end;\n\tcell.t = 'str';\n\tcell.val = str;\n\treturn cell;\n}\n\nfunction parse_BIFF4SheetInfo(blob/*::, length, opts*/) {\n\tvar flags = blob.read_shift(4);\n\tvar cch = blob.read_shift(1), name = blob.read_shift(cch, \"sbcs\");\n\tif(name.length === 0) name = \"Sheet1\";\n\treturn { flags: flags, name:name };\n}var DBF_SUPPORTED_VERSIONS = [0x02, 0x03, 0x30, 0x31, 0x83, 0x8B, 0x8C, 0xF5];\nvar DBF = /*#__PURE__*/(function() {\nvar dbf_codepage_map = {\n\t/* Code Pages Supported by Visual FoxPro */\n\t0x01: 437, 0x02: 850,\n\t0x03: 1252, 0x04: 10000,\n\t0x64: 852, 0x65: 866,\n\t0x66: 865, 0x67: 861,\n\t0x68: 895, 0x69: 620,\n\t0x6A: 737, 0x6B: 857,\n\t0x78: 950, 0x79: 949,\n\t0x7A: 936, 0x7B: 932,\n\t0x7C: 874, 0x7D: 1255,\n\t0x7E: 1256, 0x96: 10007,\n\t0x97: 10029, 0x98: 10006,\n\t0xC8: 1250, 0xC9: 1251,\n\t0xCA: 1254, 0xCB: 1253,\n\n\t/* shapefile DBF extension */\n\t0x00: 20127, 0x08: 865,\n\t0x09: 437, 0x0A: 850,\n\t0x0B: 437, 0x0D: 437,\n\t0x0E: 850, 0x0F: 437,\n\t0x10: 850, 0x11: 437,\n\t0x12: 850, 0x13: 932,\n\t0x14: 850, 0x15: 437,\n\t0x16: 850, 0x17: 865,\n\t0x18: 437, 0x19: 437,\n\t0x1A: 850, 0x1B: 437,\n\t0x1C: 863, 0x1D: 850,\n\t0x1F: 852, 0x22: 852,\n\t0x23: 852, 0x24: 860,\n\t0x25: 850, 0x26: 866,\n\t0x37: 850, 0x40: 852,\n\t0x4D: 936, 0x4E: 949,\n\t0x4F: 950, 0x50: 874,\n\t0x57: 1252, 0x58: 1252,\n\t0x59: 1252, 0x6C: 863,\n\t0x86: 737, 0x87: 852,\n\t0x88: 857, 0xCC: 1257,\n\n\t0xFF: 16969\n};\nvar dbf_reverse_map = evert({\n\t0x01: 437, 0x02: 850,\n\t0x03: 1252, 0x04: 10000,\n\t0x64: 852, 0x65: 866,\n\t0x66: 865, 0x67: 861,\n\t0x68: 895, 0x69: 620,\n\t0x6A: 737, 0x6B: 857,\n\t0x78: 950, 0x79: 949,\n\t0x7A: 936, 0x7B: 932,\n\t0x7C: 874, 0x7D: 1255,\n\t0x7E: 1256, 0x96: 10007,\n\t0x97: 10029, 0x98: 10006,\n\t0xC8: 1250, 0xC9: 1251,\n\t0xCA: 1254, 0xCB: 1253,\n\t0x00: 20127\n});\n/* TODO: find an actual specification */\nfunction dbf_to_aoa(buf, opts)/*:AOA*/ {\n\tvar out/*:AOA*/ = [];\n\tvar d/*:Block*/ = (new_raw_buf(1)/*:any*/);\n\tswitch(opts.type) {\n\t\tcase 'base64': d = s2a(Base64_decode(buf)); break;\n\t\tcase 'binary': d = s2a(buf); break;\n\t\tcase 'buffer':\n\t\tcase 'array': d = buf; break;\n\t}\n\tprep_blob(d, 0);\n\n\t/* header */\n\tvar ft = d.read_shift(1);\n\tvar memo = !!(ft & 0x88);\n\tvar vfp = false, l7 = false;\n\tswitch(ft) {\n\t\tcase 0x02: break; // dBASE II\n\t\tcase 0x03: break; // dBASE III\n\t\tcase 0x30: vfp = true; memo = true; break; // VFP\n\t\tcase 0x31: vfp = true; memo = true; break; // VFP with autoincrement\n\t\t// 0x43 dBASE IV SQL table files\n\t\t// 0x63 dBASE IV SQL system files\n\t\tcase 0x83: break; // dBASE III with memo\n\t\tcase 0x8B: break; // dBASE IV with memo\n\t\tcase 0x8C: l7 = true; break; // dBASE Level 7 with memo\n\t\t// case 0xCB dBASE IV SQL table files with memo\n\t\tcase 0xF5: break; // FoxPro 2.x with memo\n\t\t// case 0xFB FoxBASE\n\t\tdefault: throw new Error(\"DBF Unsupported Version: \" + ft.toString(16));\n\t}\n\n\tvar nrow = 0, fpos = 0x0209;\n\tif(ft == 0x02) nrow = d.read_shift(2);\n\td.l += 3; // dBASE II stores DDMMYY date, others use YYMMDD\n\tif(ft != 0x02) nrow = d.read_shift(4);\n\tif(nrow > 1048576) nrow = 1e6;\n\n\tif(ft != 0x02) fpos = d.read_shift(2); // header length\n\tvar rlen = d.read_shift(2); // record length\n\n\tvar /*flags = 0,*/ current_cp = opts.codepage || 1252;\n\tif(ft != 0x02) { // 20 reserved bytes\n\t\td.l+=16;\n\t\t/*flags = */d.read_shift(1);\n\t\t//if(memo && ((flags & 0x02) === 0)) throw new Error(\"DBF Flags \" + flags.toString(16) + \" ft \" + ft.toString(16));\n\n\t\t/* codepage present in FoxPro and dBASE Level 7 */\n\t\tif(d[d.l] !== 0) current_cp = dbf_codepage_map[d[d.l]];\n\t\td.l+=1;\n\n\t\td.l+=2;\n\t}\n\tif(l7) d.l += 36; // Level 7: 32 byte \"Language driver name\", 4 byte reserved\n\n/*:: type DBFField = { name:string; len:number; type:string; } */\n\tvar fields/*:Array*/ = [], field/*:DBFField*/ = ({}/*:any*/);\n\tvar hend = Math.min(d.length, (ft == 0x02 ? 0x209 : (fpos - 10 - (vfp ? 264 : 0))));\n\tvar ww = l7 ? 32 : 11;\n\twhile(d.l < hend && d[d.l] != 0x0d) {\n\t\tfield = ({}/*:any*/);\n\t\tfield.name = (typeof $cptable !== \"undefined\" ? $cptable.utils.decode(current_cp, d.slice(d.l, d.l+ww)) : a2s(d.slice(d.l, d.l + ww))).replace(/[\\u0000\\r\\n][\\S\\s]*$/g,\"\");\n\t\td.l += ww;\n\t\tfield.type = String.fromCharCode(d.read_shift(1));\n\t\tif(ft != 0x02 && !l7) field.offset = d.read_shift(4);\n\t\tfield.len = d.read_shift(1);\n\t\tif(ft == 0x02) field.offset = d.read_shift(2);\n\t\tfield.dec = d.read_shift(1);\n\t\tif(field.name.length) fields.push(field);\n\t\tif(ft != 0x02) d.l += l7 ? 13 : 14;\n\t\tswitch(field.type) {\n\t\t\tcase 'B': // Double (VFP) / Binary (dBASE L7)\n\t\t\t\tif((!vfp || field.len != 8) && opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase 'G': // General (FoxPro and dBASE L7)\n\t\t\tcase 'P': // Picture (FoxPro and dBASE L7)\n\t\t\t\tif(opts.WTF) console.log('Skipping ' + field.name + ':' + field.type);\n\t\t\t\tbreak;\n\t\t\tcase '+': // Autoincrement (dBASE L7 only)\n\t\t\tcase '0': // _NullFlags (VFP only)\n\t\t\tcase '@': // Timestamp (dBASE L7 only)\n\t\t\tcase 'C': // Character (dBASE II)\n\t\t\tcase 'D': // Date (dBASE III)\n\t\t\tcase 'F': // Float (dBASE IV)\n\t\t\tcase 'I': // Long (VFP and dBASE L7)\n\t\t\tcase 'L': // Logical (dBASE II)\n\t\t\tcase 'M': // Memo (dBASE III)\n\t\t\tcase 'N': // Number (dBASE II)\n\t\t\tcase 'O': // Double (dBASE L7 only)\n\t\t\tcase 'T': // Datetime (VFP only)\n\t\t\tcase 'Y': // Currency (VFP only)\n\t\t\t\tbreak;\n\t\t\tdefault: throw new Error('Unknown Field Type: ' + field.type);\n\t\t}\n\t}\n\n\tif(d[d.l] !== 0x0D) d.l = fpos-1;\n\tif(d.read_shift(1) !== 0x0D) throw new Error(\"DBF Terminator not found \" + d.l + \" \" + d[d.l]);\n\td.l = fpos;\n\n\t/* data */\n\tvar R = 0, C = 0;\n\tout[0] = [];\n\tfor(C = 0; C != fields.length; ++C) out[0][C] = fields[C].name;\n\twhile(nrow-- > 0) {\n\t\tif(d[d.l] === 0x2A) {\n\t\t\t// TODO: record marked as deleted -- create a hidden row?\n\t\t\td.l+=rlen;\n\t\t\tcontinue;\n\t\t}\n\t\t++d.l;\n\t\tout[++R] = []; C = 0;\n\t\tfor(C = 0; C != fields.length; ++C) {\n\t\t\tvar dd = d.slice(d.l, d.l+fields[C].len); d.l+=fields[C].len;\n\t\t\tprep_blob(dd, 0);\n\t\t\tvar s = typeof $cptable !== \"undefined\" ? $cptable.utils.decode(current_cp, dd) : a2s(dd);\n\t\t\tswitch(fields[C].type) {\n\t\t\t\tcase 'C':\n\t\t\t\t\t// NOTE: it is conventional to write ' / / ' for empty dates\n\t\t\t\t\tif(s.trim().length) out[R][C] = s.replace(/([^\\s])\\s+$/,\"$1\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(s.length === 8) {\n\t\t\t\t\t\tout[R][C] = new Date(Date.UTC(+s.slice(0,4), +s.slice(4,6)-1, +s.slice(6,8), 0, 0, 0, 0));\n\t\t\t\t\t\tif(!(opts && opts.UTC)) { out[R][C] = utc_to_local(out[R][C]); }\n\t\t\t\t\t}\n\t\t\t\t\telse out[R][C] = s;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'F': out[R][C] = parseFloat(s.trim()); break;\n\t\t\t\tcase '+': case 'I': out[R][C] = l7 ? dd.read_shift(-4, 'i') ^ 0x80000000 : dd.read_shift(4, 'i'); break;\n\t\t\t\tcase 'L': switch(s.trim().toUpperCase()) {\n\t\t\t\t\tcase 'Y': case 'T': out[R][C] = true; break;\n\t\t\t\t\tcase 'N': case 'F': out[R][C] = false; break;\n\t\t\t\t\tcase '': case '\\x00': case '?': break;\n\t\t\t\t\tdefault: throw new Error(\"DBF Unrecognized L:|\" + s + \"|\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'M': /* TODO: handle memo files */\n\t\t\t\t\tif(!memo) throw new Error(\"DBF Unexpected MEMO for type \" + ft.toString(16));\n\t\t\t\t\tout[R][C] = \"##MEMO##\" + (l7 ? parseInt(s.trim(), 10): dd.read_shift(4));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'N':\n\t\t\t\t\ts = s.replace(/\\u0000/g,\"\").trim();\n\t\t\t\t\t// NOTE: dBASE II interprets \" . \" as 0\n\t\t\t\t\tif(s && s != \".\") out[R][C] = +s || 0; break;\n\t\t\t\tcase '@':\n\t\t\t\t\t// NOTE: dBASE specs appear to be incorrect\n\t\t\t\t\tout[R][C] = new Date(dd.read_shift(-8, 'f') - 0x388317533400);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'T': {\n\t\t\t\t\tvar hi = dd.read_shift(4), lo = dd.read_shift(4);\n\t\t\t\t\tif(hi == 0 && lo == 0) break;\n\t\t\t\t\tout[R][C] = new Date((hi - 0x253D8C) * 0x5265C00 + lo);\n\t\t\t\t\tif(!(opts && opts.UTC)) out[R][C] = utc_to_local(out[R][C]);\n\t\t\t\t} break;\n\t\t\t\tcase 'Y': out[R][C] = dd.read_shift(4,'i')/1e4 + (dd.read_shift(4, 'i')/1e4)*Math.pow(2,32); break;\n\t\t\t\tcase 'O': out[R][C] = -dd.read_shift(-8, 'f'); break;\n\t\t\t\tcase 'B': if(vfp && fields[C].len == 8) { out[R][C] = dd.read_shift(8,'f'); break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'G': case 'P': dd.l += fields[C].len; break;\n\t\t\t\tcase '0':\n\t\t\t\t\tif(fields[C].name === '_NullFlags') break;\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: throw new Error(\"DBF Unsupported data type \" + fields[C].type);\n\t\t\t}\n\t\t}\n\t}\n\tif(ft != 0x02) if(d.l < d.length && d[d.l++] != 0x1A) throw new Error(\"DBF EOF Marker missing \" + (d.l-1) + \" of \" + d.length + \" \" + d[d.l-1].toString(16));\n\tif(opts && opts.sheetRows) out = out.slice(0, opts.sheetRows);\n\topts.DBF = fields;\n\treturn out;\n}\n\nfunction dbf_to_sheet(buf, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tif(!o.dateNF) o.dateNF = \"yyyymmdd\";\n\tvar ws = aoa_to_sheet(dbf_to_aoa(buf, o), o);\n\tws[\"!cols\"] = o.DBF.map(function(field) { return {\n\t\twch: field.len,\n\t\tDBF: field\n\t};});\n\tdelete o.DBF;\n\treturn ws;\n}\n\nfunction dbf_to_workbook(buf, opts)/*:Workbook*/ {\n\ttry {\n\t\tvar o = sheet_to_workbook(dbf_to_sheet(buf, opts), opts);\n\t\to.bookType = \"dbf\";\n\t\treturn o;\n\t} catch(e) { if(opts && opts.WTF) throw e; }\n\treturn ({SheetNames:[],Sheets:{}});\n}\n\nvar _RLEN = { 'B': 8, 'C': 250, 'L': 1, 'D': 8, '?': 0, '': 0 };\nfunction sheet_to_dbf(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\tif(!ws[\"!ref\"]) throw new Error(\"Cannot export empty sheet to DBF\");\n\tvar o = opts || {};\n\tvar old_cp = current_codepage;\n\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\tif(o.type == \"string\") throw new Error(\"Cannot write DBF to JS string\");\n\tvar ba = buf_array();\n\tvar aoa/*:AOA*/ = sheet_to_json(ws, {header:1, raw:true, cellDates:true});\n\tvar headers = aoa[0], data = aoa.slice(1), cols = ws[\"!cols\"] || [];\n\tvar i = 0, j = 0, hcnt = 0, rlen = 1;\n\tfor(i = 0; i < headers.length; ++i) {\n\t\tif(((cols[i]||{}).DBF||{}).name) { headers[i] = cols[i].DBF.name; ++hcnt; continue; }\n\t\tif(headers[i] == null) continue;\n\t\t++hcnt;\n\t\tif(typeof headers[i] === 'number') headers[i] = headers[i].toString(10);\n\t\tif(typeof headers[i] !== 'string') throw new Error(\"DBF Invalid column name \" + headers[i] + \" |\" + (typeof headers[i]) + \"|\");\n\t\tif(headers.indexOf(headers[i]) !== i) for(j=0; j<1024;++j)\n\t\t\tif(headers.indexOf(headers[i] + \"_\" + j) == -1) { headers[i] += \"_\" + j; break; }\n\t}\n\tvar range = safe_decode_range(ws['!ref']);\n\tvar coltypes/*:Array*/ = [];\n\tvar colwidths/*:Array*/ = [];\n\tvar coldecimals/*:Array*/ = [];\n\tfor(i = 0; i <= range.e.c - range.s.c; ++i) {\n\t\tvar guess = '', _guess = '', maxlen = 0;\n\t\tvar col/*:Array*/ = [];\n\t\tfor(j=0; j < data.length; ++j) {\n\t\t\tif(data[j][i] != null) col.push(data[j][i]);\n\t\t}\n\t\tif(col.length == 0 || headers[i] == null) { coltypes[i] = '?'; continue; }\n\t\tfor(j = 0; j < col.length; ++j) {\n\t\t\tswitch(typeof col[j]) {\n\t\t\t\t/* TODO: check if L2 compat is desired */\n\t\t\t\tcase 'number': _guess = 'B'; break;\n\t\t\t\tcase 'string': _guess = 'C'; break;\n\t\t\t\tcase 'boolean': _guess = 'L'; break;\n\t\t\t\tcase 'object': _guess = col[j] instanceof Date ? 'D' : 'C'; break;\n\t\t\t\tdefault: _guess = 'C';\n\t\t\t}\n\t\t\t/* TODO: cache the values instead of encoding twice */\n\t\t\tmaxlen = Math.max(maxlen, (typeof $cptable !== \"undefined\" && typeof col[j] == \"string\" ? $cptable.utils.encode(current_ansi, col[j]): String(col[j])).length);\n\t\t\tguess = guess && guess != _guess ? 'C' : _guess;\n\t\t\t//if(guess == 'C') break;\n\t\t}\n\t\tif(maxlen > 250) maxlen = 250;\n\t\t_guess = ((cols[i]||{}).DBF||{}).type;\n\t\t/* TODO: more fine grained control over DBF type resolution */\n\t\tif(_guess == 'C') {\n\t\t\tif(cols[i].DBF.len > maxlen) maxlen = cols[i].DBF.len;\n\t\t}\n\t\tif(guess == 'B' && _guess == 'N') {\n\t\t\tguess = 'N';\n\t\t\tcoldecimals[i] = cols[i].DBF.dec;\n\t\t\tmaxlen = cols[i].DBF.len;\n\t\t}\n\t\tcolwidths[i] = guess == 'C' || _guess == 'N' ? maxlen : (_RLEN[guess] || 0);\n\t\trlen += colwidths[i];\n\t\tcoltypes[i] = guess;\n\t}\n\n\tvar h = ba.next(32);\n\th.write_shift(4, 0x13021130);\n\th.write_shift(4, data.length);\n\th.write_shift(2, 296 + 32 * hcnt);\n\th.write_shift(2, rlen);\n\tfor(i=0; i < 4; ++i) h.write_shift(4, 0);\n\tvar cp = +dbf_reverse_map[/*::String(*/current_codepage/*::)*/] || 0x03;\n\th.write_shift(4, 0x00000000 | (cp<<8));\n\tif(dbf_codepage_map[cp] != +o.codepage) {\n\t\tif(o.codepage) console.error(\"DBF Unsupported codepage \" + current_codepage + \", using 1252\");\n\t\tcurrent_codepage = 1252;\n\t}\n\n\tfor(i = 0, j = 0; i < headers.length; ++i) {\n\t\tif(headers[i] == null) continue;\n\t\tvar hf = ba.next(32);\n\t\t/* TODO: test how applications handle non-ASCII field names */\n\t\tvar _f = (headers[i].slice(-10) + \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\").slice(0, 11);\n\t\thf.write_shift(1, _f, \"sbcs\");\n\t\thf.write_shift(1, coltypes[i] == '?' ? 'C' : coltypes[i], \"sbcs\");\n\t\thf.write_shift(4, j);\n\t\thf.write_shift(1, colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t\thf.write_shift(1, coldecimals[i] || 0);\n\t\thf.write_shift(1, 0x02);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(1, 0);\n\t\thf.write_shift(4, 0);\n\t\thf.write_shift(4, 0);\n\t\tj += (colwidths[i] || _RLEN[coltypes[i]] || 0);\n\t}\n\n\tvar hb = ba.next(264);\n\thb.write_shift(4, 0x0000000D);\n\tfor(i=0; i < 65;++i) hb.write_shift(4, 0x00000000);\n\tfor(i=0; i < data.length; ++i) {\n\t\tvar rout = ba.next(rlen);\n\t\trout.write_shift(1, 0);\n\t\tfor(j=0; j colwidths[j]) _n = _n.slice(0, colwidths[j]); // addresses decimal > width\n\t\t\t\t\tfor(hcnt=0; hcnt < colwidths[j]-_n.length; ++hcnt) rout.write_shift(1, 0x20);\n\t\t\t\t\trout.write_shift(1, _n, \"sbcs\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'D':\n\t\t\t\t\tif(!data[i][j]) rout.write_shift(8, \"00000000\", \"sbcs\");\n\t\t\t\t\telse {\n\t\t\t\t\t\trout.write_shift(4, (\"0000\"+data[i][j].getFullYear()).slice(-4), \"sbcs\");\n\t\t\t\t\t\trout.write_shift(2, (\"00\"+(data[i][j].getMonth()+1)).slice(-2), \"sbcs\");\n\t\t\t\t\t\trout.write_shift(2, (\"00\"+data[i][j].getDate()).slice(-2), \"sbcs\");\n\t\t\t\t\t} break;\n\t\t\t\tcase 'C':\n\t\t\t\t\tvar _l = rout.l;\n\t\t\t\t\tvar _s = String(data[i][j] != null ? data[i][j] : \"\").slice(0, colwidths[j]);\n\t\t\t\t\trout.write_shift(1, _s, \"cpstr\");\n\t\t\t\t\t_l += colwidths[j] - rout.l;\n\t\t\t\t\tfor(hcnt=0; hcnt < _l; ++hcnt) rout.write_shift(1, 0x20); break;\n\t\t\t}\n\t\t}\n\t\t// data\n\t}\n\tcurrent_codepage = old_cp;\n\tba.next(1).write_shift(1, 0x1A);\n\treturn ba.end();\n}\n\treturn {\n\t\tto_workbook: dbf_to_workbook,\n\t\tto_sheet: dbf_to_sheet,\n\t\tfrom_sheet: sheet_to_dbf\n\t};\n})();\n\nvar SYLK = /*#__PURE__*/(function() {\n\t/* TODO: stress test sequences */\n\tvar sylk_escapes = ({\n\t\tAA:'À', BA:'Á', CA:'Â', DA:195, HA:'Ä', JA:197,\n\t\tAE:'È', BE:'É', CE:'Ê', HE:'Ë',\n\t\tAI:'Ì', BI:'Í', CI:'Î', HI:'Ï',\n\t\tAO:'Ò', BO:'Ó', CO:'Ô', DO:213, HO:'Ö',\n\t\tAU:'Ù', BU:'Ú', CU:'Û', HU:'Ü',\n\t\tAa:'à', Ba:'á', Ca:'â', Da:227, Ha:'ä', Ja:229,\n\t\tAe:'è', Be:'é', Ce:'ê', He:'ë',\n\t\tAi:'ì', Bi:'í', Ci:'î', Hi:'ï',\n\t\tAo:'ò', Bo:'ó', Co:'ô', Do:245, Ho:'ö',\n\t\tAu:'ù', Bu:'ú', Cu:'û', Hu:'ü',\n\t\tKC:'Ç', Kc:'ç', q:'æ', z:'œ', a:'Æ', j:'Œ',\n\t\tDN:209, Dn:241, Hy:255,\n\t\tS:169, c:170, R:174, \"B \":180,\n\t\t0:176, 1:177, 2:178,\n\t\t3:179, 5:181, 6:182,\n\t\t7:183, Q:185, k:186, b:208, i:216, l:222, s:240, y:248,\n\t\t\"!\":161, '\"':162, \"#\":163, \"(\":164, \"%\":165, \"'\":167, \"H \":168,\n\t\t\"+\":171, \";\":187, \"<\":188, \"=\":189, \">\":190, \"?\":191, \"{\":223\n\t}/*:any*/);\n\tvar sylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\").replace(\"{\", \"\\\\{\") + \"|\\\\|)\", \"gm\");\n\ttry {\n\t\tsylk_char_regex = new RegExp(\"\\u001BN(\" + keys(sylk_escapes).join(\"|\").replace(/\\|\\|\\|/, \"|\\\\||\").replace(/([?()+])/g,\"\\\\$1\") + \"|\\\\|)\", \"gm\");\n\t} catch(e) {}\n\tvar sylk_char_fn = function(_, $1){ var o = sylk_escapes[$1]; return typeof o == \"number\" ? _getansi(o) : o; };\n\tvar decode_sylk_char = function($$, $1, $2) { var newcc = (($1.charCodeAt(0) - 0x20)<<4) | ($2.charCodeAt(0) - 0x30); return newcc == 59 ? $$ : _getansi(newcc); };\n\tsylk_escapes[\"|\"] = 254;\n\t/* TODO: evert the escape map */\n\tvar encode_sylk_str = function($$) { return $$.replace(/\\n/g, \"\\x1b :\").replace(/\\r/g, \"\\x1b =\"); };\n\t/* https://oss.sheetjs.com/notes/sylk/ for more details */\n\tfunction sylk_to_aoa(d/*:RawData*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return sylk_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return sylk_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return sylk_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return sylk_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction sylk_to_aoa_str(str/*:string*/, opts)/*:[AOA, Worksheet]*/ {\n\t\tvar records = str.split(/[\\n\\r]+/), R = -1, C = -1, ri = 0, rj = 0, arr/*:AOA*/ = [];\n\t\tvar formats/*:Array*/ = [];\n\t\tvar next_cell_format/*:string|null*/ = null;\n\t\tvar sht = {}, rowinfo/*:Array*/ = [], colinfo/*:Array*/ = [], cw/*:Array*/ = [];\n\t\tvar Mval = 0, j;\n\t\tvar wb = { Workbook: { WBProps: {}, Names: [] } };\n\t\tif(+opts.codepage >= 0) set_cp(+opts.codepage);\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tMval = 0;\n\t\t\tvar rstr=records[ri].trim().replace(/\\x1B([\\x20-\\x2F])([\\x30-\\x3F])/g, decode_sylk_char).replace(sylk_char_regex, sylk_char_fn);\n\t\t\tvar record=rstr.replace(/;;/g, \"\\u0000\").split(\";\").map(function(x) { return x.replace(/\\u0000/g, \";\"); });\n\t\t\tvar RT=record[0], val;\n\t\t\tif(rstr.length > 0) switch(RT) {\n\t\t\tcase 'ID': break; /* header */\n\t\t\tcase 'E': break; /* EOF */\n\t\t\tcase 'B': break; /* dimensions */\n\t\t\tcase 'O': /* workbook options */\n\t\t\tfor(rj=1; rj= 5 or < 0\n\t\t\t\t\tif(d1904 >= 1 && d1904 <= 4) wb.Workbook.WBProps.date1904 = true;\n\t\t\t\t} break;\n\t\t\t} break;\n\t\t\tcase 'W': break; /* window */\n\t\t\tcase 'P':\n\t\t\t\tswitch(record[1].charAt(0)){\n\t\t\t\t\tcase 'P': formats.push(rstr.slice(3).replace(/;;/g, \";\")); break;\n\t\t\t\t} break;\n\t\t\tcase 'NN': { /* defined name */\n\t\t\t\tvar nn = {Sheet: 0};\n\t\t\t\tfor(rj=1; rj -1 && arr[_R][_C];\n\t\t\t\tif(!shrbase || !shrbase[1]) throw new Error(\"SYLK shared formula cannot find base\");\n\t\t\t\tformula = shift_formula_str(shrbase[1], {r: R - _R, c: C - _C});\n\t\t\t}\n\t\t\tif(formula) {\n\t\t\t\tif(!arr[R][C]) arr[R][C] = { t: 'n', f: formula };\n\t\t\t\telse arr[R][C].f = formula;\n\t\t\t}\n\t\t\tif(cmnt) {\n\t\t\t\tif(!arr[R][C]) arr[R][C] = { t: 'z' };\n\t\t\t\tarr[R][C].c = [{a:\"SheetJSYLK\", t: cmnt}];\n\t\t\t}\n\t\t\tbreak;\n\t\t\tcase 'F': /* Format */\n\t\t\tvar F_seen = 0;\n\t\t\tfor(rj=1; rj 0) { rowinfo[R].hpt = Mval; rowinfo[R].hpx = pt2px(Mval); }\n\t\t\t\t\telse if(Mval === 0) rowinfo[R].hidden = true;\n\t\t\t\t\tbreak;\n\t\t\t\t// case 'K': // ??\n\t\t\t\t// case 'E': // ??\n\t\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t\tif(F_seen < 1) next_cell_format = null; break;\n\t\t\tdefault: if(opts && opts.WTF) throw new Error(\"SYLK bad record \" + rstr);\n\t\t\t}\n\t\t}\n\t\tif(rowinfo.length > 0) sht['!rows'] = rowinfo;\n\t\tif(colinfo.length > 0) sht['!cols'] = colinfo;\n\t\tcolinfo.forEach(function(col) { process_col(col); });\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn [arr, sht, wb];\n\t}\n\n\tfunction sylk_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ {\n\t\tvar aoasht = sylk_to_aoa(d, opts);\n\t\tvar aoa = aoasht[0], ws = aoasht[1], wb = aoasht[2];\n\t\tvar _opts = dup(opts); _opts.date1904 = (((wb||{}).Workbook || {}).WBProps || {}).date1904;\n\t\tvar o = aoa_to_sheet(aoa, _opts);\n\t\tkeys(ws).forEach(function(k) { o[k] = ws[k]; });\n\t\tvar outwb = sheet_to_workbook(o, opts);\n\t\tkeys(wb).forEach(function(k) { outwb[k] = wb[k]; });\n\t\toutwb.bookType = \"sylk\";\n\t\treturn outwb;\n\t}\n\n\tfunction write_ws_cell_sylk(cell/*:Cell*/, ws/*:Worksheet*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";K\";\n\t\tswitch(cell.t) {\n\t\t\tcase 'n':\n\t\t\t\to += isFinite(cell.v) ? (cell.v||0) : BErr[isNaN(cell.v) ? 0x24 : 0x07];\n\t\t\t\tif(cell.f && !cell.F) o += \";E\" + a1_to_rc(cell.f, {r:R, c:C}); break;\n\t\t\tcase 'b': o += cell.v ? \"TRUE\" : \"FALSE\"; break;\n\t\t\tcase 'e': o += cell.w || BErr[cell.v] || cell.v; break;\n\t\t\tcase 'd': o += datenum(parseDate(cell.v, date1904), date1904); break;\n\t\t\tcase 's': o += '\"' + (cell.v == null ? \"\" : String(cell.v)).replace(/\"/g,\"\").replace(/;/g, \";;\") + '\"'; break;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cmnt_sylk(cmnt/*:Comment*/, R/*:number*/, C/*:number*/)/*:string*/ {\n\t\tvar o = \"C;Y\" + (R+1) + \";X\" + (C+1) + \";A\";\n\t\t/* TODO: max length? */\n\t\to += encode_sylk_str(cmnt.map(function(c) { return c.t; }).join(\"\"));\n\t\treturn o;\n\t}\n\n\tfunction write_ws_cols_sylk(out, cols) {\n\t\tcols.forEach(function(col, i) {\n\t\t\tvar rec = \"F;W\" + (i+1) + \" \" + (i+1) + \" \";\n\t\t\tif(col.hidden) rec += \"0\";\n\t\t\telse {\n\t\t\t\tif(typeof col.width == 'number' && !col.wpx) col.wpx = width2px(col.width);\n\t\t\t\tif(typeof col.wpx == 'number' && !col.wch) col.wch = px2char(col.wpx);\n\t\t\t\tif(typeof col.wch == 'number') rec += Math.round(col.wch);\n\t\t\t}\n\t\t\tif(rec.charAt(rec.length - 1) != \" \") out.push(rec);\n\t\t});\n\t}\n\n\tfunction write_ws_rows_sylk(out/*:Array*/, rows/*:Array*/) {\n\t\trows.forEach(function(row, i) {\n\t\t\tvar rec = \"F;\";\n\t\t\tif(row.hidden) rec += \"M0;\";\n\t\t\telse if(row.hpt) rec += \"M\" + 20 * row.hpt + \";\";\n\t\t\telse if(row.hpx) rec += \"M\" + 20 * px2pt(row.hpx) + \";\";\n\t\t\tif(rec.length > 2) out.push(rec + \"R\" + (i+1));\n\t\t});\n\t}\n\n\tfunction sheet_to_sylk(ws/*:Worksheet*/, opts/*:?any*/, wb/*:?WorkBook*/)/*:string*/ {\n\t\tif(!opts) opts = {}; opts._formats = [\"General\"];\n\t\t/* TODO: codepage */\n\t\tvar preamble/*:Array*/ = [\"ID;PSheetJS;N;E\"], o/*:Array*/ = [];\n\t\tvar r = safe_decode_range(ws['!ref']||\"A1\"), cell/*:Cell*/;\n\t\tvar dense = ws[\"!data\"] != null;\n\t\tvar RS = \"\\r\\n\";\n\t\tvar d1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904;\n\n\t\tvar _lastfmt = \"General\";\n\t\tpreamble.push(\"P;PGeneral\");\n\t\t/* Excel has been inconsistent in comment placement */\n\t\tvar R = r.s.r, C = r.s.c, p = [];\n\t\tif(ws[\"!ref\"]) for(R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tif(dense && !ws[\"!data\"][R]) continue;\n\t\t\tp = [];\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcell = dense ? ws[\"!data\"][R][C] : ws[encode_col(C) + encode_row(R)];\n\t\t\t\tif(!cell || !cell.c) continue;\n\t\t\t\tp.push(write_ws_cmnt_sylk(cell.c, R, C));\n\t\t\t}\n\t\t\tif(p.length) o.push(p.join(RS));\n\t\t}\n\t\tif(ws[\"!ref\"]) for(R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tif(dense && !ws[\"!data\"][R]) continue;\n\t\t\tp = [];\n\t\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcell = dense ? ws[\"!data\"][R][C] : ws[encode_col(C) + encode_row(R)];\n\t\t\t\tif(!cell || (cell.v == null && (!cell.f || cell.F))) continue;\n\t\t\t\tif((cell.z||(cell.t == \"d\" ? table_fmt[14] : \"General\")) != _lastfmt) {\n\t\t\t\t\tvar ifmt = opts._formats.indexOf(cell.z);\n\t\t\t\t\tif(ifmt == -1) { opts._formats.push(cell.z); ifmt = opts._formats.length - 1; preamble.push(\"P;P\" + cell.z.replace(/;/g, \";;\")); }\n\t\t\t\t\tp.push(\"F;P\" + ifmt + \";Y\" + (R+1) + \";X\" + (C+1));\n\t\t\t\t}\n\t\t\t\tp.push(write_ws_cell_sylk(cell, ws, R, C, opts, d1904));\n\t\t\t}\n\t\t\to.push(p.join(RS));\n\t\t}\n\n\t\tpreamble.push(\"F;P0;DG0G8;M255\");\n\t\tif(ws['!cols']) write_ws_cols_sylk(preamble, ws['!cols']);\n\t\tif(ws['!rows']) write_ws_rows_sylk(preamble, ws['!rows']);\n\n\t\tif(ws[\"!ref\"]) preamble.push(\"B;Y\" + (r.e.r - r.s.r + 1) + \";X\" + (r.e.c - r.s.c + 1) + \";D\" + [r.s.c,r.s.r,r.e.c,r.e.r].join(\" \"));\n\t\tpreamble.push(\"O;L;D;B\" + (d1904 ? \";V4\" : \"\") + \";K47;G100 0.001\");\n\n\t\tdelete opts._formats;\n\t\treturn preamble.join(RS) + RS + o.join(RS) + RS + \"E\" + RS;\n\t}\n\n\treturn {\n\t\tto_workbook: sylk_to_workbook,\n\t\tfrom_sheet: sheet_to_sylk\n\t};\n})();\n\nvar DIF = /*#__PURE__*/(function() {\n\tfunction dif_to_aoa(d/*:RawData*/, opts)/*:AOA*/ {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return dif_to_aoa_str(Base64_decode(d), opts);\n\t\t\tcase 'binary': return dif_to_aoa_str(d, opts);\n\t\t\tcase 'buffer': return dif_to_aoa_str(has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d), opts);\n\t\t\tcase 'array': return dif_to_aoa_str(cc2str(d), opts);\n\t\t}\n\t\tthrow new Error(\"Unrecognized type \" + opts.type);\n\t}\n\tfunction dif_to_aoa_str(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tif (records[ri].trim() === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\tif (R < 0) continue;\n\t\t\tvar metadata = records[ri].trim().split(\",\");\n\t\t\tvar type = metadata[0], value = metadata[1];\n\t\t\t++ri;\n\t\t\tvar data = records[ri] || \"\";\n\t\t\twhile(((data.match(/[\"]/g)||[]).length & 1) && ri < records.length - 1) data += \"\\n\" + records[++ri];\n\t\t\tdata = data.trim();\n\t\t\tswitch (+type) {\n\t\t\t\tcase -1:\n\t\t\t\t\tif (data === 'BOT') { arr[++R] = []; C = 0; continue; }\n\t\t\t\t\telse if (data !== 'EOD') throw new Error(\"Unrecognized DIF special command \" + data);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0:\n\t\t\t\t\tif(data === 'TRUE') arr[R][C] = true;\n\t\t\t\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\t\t\t\telse if(!isNaN(fuzzynum(value))) arr[R][C] = fuzzynum(value);\n\t\t\t\t\telse if(!isNaN(fuzzydate(value).getDate())) {\n\t\t\t\t\t\tarr[R][C] = parseDate(value);\n\t\t\t\t\t\tif(!(opts && opts.UTC)) { arr[R][C] = utc_to_local(arr[R][C]); }\n\t\t\t\t\t}\n\t\t\t\t\telse arr[R][C] = value;\n\t\t\t\t\t++C; break;\n\t\t\t\tcase 1:\n\t\t\t\t\tdata = data.slice(1,data.length-1);\n\t\t\t\t\tdata = data.replace(/\"\"/g, '\"');\n\t\t\t\t\tif(DIF_XL && data && data.match(/^=\".*\"$/)) data = data.slice(2, -1);\n\t\t\t\t\tarr[R][C++] = data !== '' ? data : null;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (data === 'EOD') break;\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction dif_to_sheet(str/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(dif_to_aoa(str, opts), opts); }\n\tfunction dif_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\t\tvar o = sheet_to_workbook(dif_to_sheet(str, opts), opts);\n\t\to.bookType = \"dif\";\n\t\treturn o;\n\t}\n\n\tfunction make_value(v/*:number*/, s/*:string*/)/*:string*/ { return \"0,\" + String(v) + \"\\r\\n\" + s; }\n\tfunction make_value_str(s/*:string*/)/*:string*/ { return \"1,0\\r\\n\\\"\" + s.replace(/\"/g,'\"\"') + '\"'; }\n\tfunction sheet_to_dif(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar _DIF_XL = DIF_XL;\n\t\tif(!ws[\"!ref\"]) throw new Error(\"Cannot export empty sheet to DIF\");\n\t\tvar r = safe_decode_range(ws['!ref']);\n\t\tvar dense = ws[\"!data\"] != null;\n\t\tvar o/*:Array*/ = [\n\t\t\t\"TABLE\\r\\n0,1\\r\\n\\\"sheetjs\\\"\\r\\n\",\n\t\t\t\"VECTORS\\r\\n0,\" + (r.e.r - r.s.r + 1) + \"\\r\\n\\\"\\\"\\r\\n\",\n\t\t\t\"TUPLES\\r\\n0,\" + (r.e.c - r.s.c + 1) + \"\\r\\n\\\"\\\"\\r\\n\",\n\t\t\t\"DATA\\r\\n0,0\\r\\n\\\"\\\"\\r\\n\"\n\t\t];\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar row = dense ? ws[\"!data\"][R] : [];\n\t\t\tvar p = \"-1,0\\r\\nBOT\\r\\n\";\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar cell/*:Cell*/ = dense ? (row && row[C]) : ws[encode_cell({r:R,c:C})];\n\t\t\t\tif(cell == null) { p +=(\"1,0\\r\\n\\\"\\\"\\r\\n\"); continue;}\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(_DIF_XL) {\n\t\t\t\t\t\t\tif(cell.w != null) p +=(\"0,\" + cell.w + \"\\r\\nV\");\n\t\t\t\t\t\t\telse if(cell.v != null) p +=(make_value(cell.v, \"V\")); // TODO: should this call SSF_format?\n\t\t\t\t\t\t\telse if(cell.f != null && !cell.F) p +=(make_value_str(\"=\" + cell.f));\n\t\t\t\t\t\t\telse p +=(\"1,0\\r\\n\\\"\\\"\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif(cell.v == null) p +=(\"1,0\\r\\n\\\"\\\"\");\n\t\t\t\t\t\t\telse p +=(make_value(cell.v, \"V\"));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\tp +=(cell.v ? make_value(1, \"TRUE\") : make_value(0, \"FALSE\"));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's':\n\t\t\t\t\t\tp +=(make_value_str((!_DIF_XL || isNaN(+cell.v)) ? cell.v : '=\"' + cell.v + '\"'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tif(!cell.w) cell.w = SSF_format(cell.z || table_fmt[14], datenum(parseDate(cell.v)));\n\t\t\t\t\t\tif(_DIF_XL) p +=(make_value(cell.w, \"V\"));\n\t\t\t\t\t\telse p +=(make_value_str(cell.w));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault: p +=(\"1,0\\r\\n\\\"\\\"\");\n\t\t\t\t}\n\t\t\t\tp += \"\\r\\n\";\n\t\t\t}\n\t\t\to.push(p);\n\t\t}\n\t\treturn o.join(\"\") + \"-1,0\\r\\nEOD\";\n\t}\n\treturn {\n\t\tto_workbook: dif_to_workbook,\n\t\tto_sheet: dif_to_sheet,\n\t\tfrom_sheet: sheet_to_dif\n\t};\n})();\n\nvar ETH = /*#__PURE__*/(function() {\n\tfunction decode(s/*:string*/)/*:string*/ { return s.replace(/\\\\b/g,\"\\\\\").replace(/\\\\c/g,\":\").replace(/\\\\n/g,\"\\n\"); }\n\tfunction encode(s/*:string*/)/*:string*/ { return s.replace(/\\\\/g, \"\\\\b\").replace(/:/g, \"\\\\c\").replace(/\\n/g,\"\\\\n\"); }\n\n\tfunction eth_to_aoa(str/*:string*/, opts)/*:AOA*/ {\n\t\tvar records = str.split('\\n'), R = -1, C = -1, ri = 0, arr/*:AOA*/ = [];\n\t\tfor (; ri !== records.length; ++ri) {\n\t\t\tvar record = records[ri].trim().split(\":\");\n\t\t\tif(record[0] !== 'cell') continue;\n\t\t\tvar addr = decode_cell(record[1]);\n\t\t\tif(arr.length <= addr.r) for(R = arr.length; R <= addr.r; ++R) if(!arr[R]) arr[R] = [];\n\t\t\tR = addr.r; C = addr.c;\n\t\t\tswitch(record[2]) {\n\t\t\t\tcase 't': arr[R][C] = decode(record[3]); break;\n\t\t\t\tcase 'v': arr[R][C] = +record[3]; break;\n\t\t\t\tcase 'vtf': var _f = record[record.length - 1];\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 'vtc':\n\t\t\t\t\tswitch(record[3]) {\n\t\t\t\t\t\tcase 'nl': arr[R][C] = +record[4] ? true : false; break;\n\t\t\t\t\t\tdefault: arr[R][C] = record[record.length-1].charAt(0) == \"#\" ? ({t: \"e\", v: RBErr[record[record.length-1]] }) : +record[4]; break;\n\t\t\t\t\t}\n\t\t\t\t\tif(record[2] == 'vtf') arr[R][C] = [arr[R][C], _f];\n\t\t\t}\n\t\t}\n\t\tif(opts && opts.sheetRows) arr = arr.slice(0, opts.sheetRows);\n\t\treturn arr;\n\t}\n\n\tfunction eth_to_sheet(d/*:string*/, opts)/*:Worksheet*/ { return aoa_to_sheet(eth_to_aoa(d, opts), opts); }\n\tfunction eth_to_workbook(d/*:string*/, opts)/*:Workbook*/ { return sheet_to_workbook(eth_to_sheet(d, opts), opts); }\n\n\tvar header = [\n\t\t\"socialcalc:version:1.5\",\n\t\t\"MIME-Version: 1.0\",\n\t\t\"Content-Type: multipart/mixed; boundary=SocialCalcSpreadsheetControlSave\"\n\t].join(\"\\n\");\n\n\tvar sep = [\n\t\t\"--SocialCalcSpreadsheetControlSave\",\n\t\t\"Content-type: text/plain; charset=UTF-8\"\n\t].join(\"\\n\") + \"\\n\";\n\n\t/* TODO: the other parts */\n\tvar meta = [\n\t\t\"# SocialCalc Spreadsheet Control Save\",\n\t\t\"part:sheet\"\n\t].join(\"\\n\");\n\n\tvar end = \"--SocialCalcSpreadsheetControlSave--\";\n\n\tfunction sheet_to_eth_data(ws/*:Worksheet*/)/*:string*/ {\n\t\tif(!ws || !ws['!ref']) return \"\";\n\t\tvar o/*:Array*/ = [], oo/*:Array*/ = [], cell, coord = \"\";\n\t\tvar r = decode_range(ws['!ref']);\n\t\tvar dense = ws[\"!data\"] != null;\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tcoord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[\"!data\"][R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null || cell.t === 'z') continue;\n\t\t\t\too = [\"cell\", coord, 't'];\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 's': oo.push(encode(cell.v)); break;\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\too[2] = 'vt'+(cell.f?'f':'c'); oo[3]='nl'; oo[4]=cell.v?\"1\":\"0\";\n\t\t\t\t\t\too[5] = encode(cell.f||(cell.v?'TRUE':'FALSE'));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\tvar t = datenum(parseDate(cell.v));\n\t\t\t\t\t\too[2] = 'vtc'; oo[3] = 'nd'; oo[4] = \"\"+t;\n\t\t\t\t\t\too[5] = cell.w || SSF_format(cell.z || table_fmt[14], t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(isFinite(cell.v)) {\n\t\t\t\t\t\t\tif(!cell.f) { oo[2]='v'; oo[3]=cell.v; }\n\t\t\t\t\t\t\telse { oo[2]='vtf'; oo[3]='n'; oo[4]=cell.v; oo[5]=encode(cell.f); }\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\too[2] = 'vt' + (cell.f ? 'f' : 'c');\n\t\t\t\t\t\t\too[3] = \"e\" + BErr[isNaN(cell.v) ? 0x24 : 0x07];\n\t\t\t\t\t\t\too[4] = \"0\";\n\t\t\t\t\t\t\too[5] = cell.f || oo[3].slice(1);\n\t\t\t\t\t\t\too[6] = \"e\";\n\t\t\t\t\t\t\too[7] = oo[3].slice(1);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'e': continue;\n\t\t\t\t}\n\t\t\t\to.push(oo.join(\":\"));\n\t\t\t}\n\t\t}\n\t\to.push(\"sheet:c:\" + (r.e.c-r.s.c+1) + \":r:\" + (r.e.r-r.s.r+1) + \":tvf:1\");\n\t\to.push(\"valueformat:1:text-wiki\");\n\t\t//o.push(\"copiedfrom:\" + ws['!ref']); // clipboard only\n\t\treturn o.join(\"\\n\");\n\t}\n\n\tfunction sheet_to_eth(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\treturn [header, sep, meta, sep, sheet_to_eth_data(ws), end].join(\"\\n\");\n\t\t// return [\"version:1.5\", sheet_to_eth_data(ws)].join(\"\\n\"); // clipboard form\n\t}\n\n\treturn {\n\t\tto_workbook: eth_to_workbook,\n\t\tto_sheet: eth_to_sheet,\n\t\tfrom_sheet: sheet_to_eth\n\t};\n})();\n\nvar PRN = /*#__PURE__*/(function() {\n\tfunction set_text_arr(data/*:string*/, arr/*:AOA*/, R/*:number*/, C/*:number*/, o/*:any*/) {\n\t\tif(o.raw) arr[R][C] = data;\n\t\telse if(data === \"\"){/* empty */}\n\t\telse if(data === 'TRUE') arr[R][C] = true;\n\t\telse if(data === 'FALSE') arr[R][C] = false;\n\t\telse if(!isNaN(fuzzynum(data))) arr[R][C] = fuzzynum(data);\n\t\telse if(!isNaN(fuzzydate(data).getDate())) arr[R][C] = parseDate(data);\n\t\telse if(data.charCodeAt(0) == 35 /* # */ && RBErr[data] != null) arr[R][C] = ({ t: 'e', v: RBErr[data], w: data });\n\t\telse arr[R][C] = data;\n\t}\n\n\tfunction prn_to_aoa_str(f/*:string*/, opts)/*:AOA*/ {\n\t\tvar o = opts || {};\n\t\tvar arr/*:AOA*/ = ([]/*:any*/);\n\t\tif(!f || f.length === 0) return arr;\n\t\tvar lines = f.split(/[\\r\\n]/);\n\t\tvar L = lines.length - 1;\n\t\twhile(L >= 0 && lines[L].length === 0) --L;\n\t\tvar start = 10, idx = 0;\n\t\tvar R = 0;\n\t\tfor(; R <= L; ++R) {\n\t\t\tidx = lines[R].indexOf(\" \");\n\t\t\tif(idx == -1) idx = lines[R].length; else idx++;\n\t\t\tstart = Math.max(start, idx);\n\t\t}\n\t\tfor(R = 0; R <= L; ++R) {\n\t\t\tarr[R] = [];\n\t\t\t/* TODO: confirm that widths are always 10 */\n\t\t\tvar C = 0;\n\t\t\tset_text_arr(lines[R].slice(0, start).trim(), arr, R, C, o);\n\t\t\tfor(C = 1; C <= (lines[R].length - start)/10 + 1; ++C)\n\t\t\t\tset_text_arr(lines[R].slice(start+(C-1)*10,start+C*10).trim(),arr,R,C,o);\n\t\t}\n\t\tif(o.sheetRows) arr = arr.slice(0, o.sheetRows);\n\t\treturn arr;\n\t}\n\n\t// List of accepted CSV separators\n\tvar guess_seps = {\n\t\t0x2C: ',',\n\t\t0x09: \"\\t\",\n\t\t0x3B: ';',\n\t\t0x7C: '|'\n\t};\n\n\t// CSV separator weights to be used in case of equal numbers\n\tvar guess_sep_weights = {\n\t\t0x2C: 3,\n\t\t0x09: 2,\n\t\t0x3B: 1,\n\t\t0x7C: 0\n\t};\n\n\tfunction guess_sep(str) {\n\t\tvar cnt = {}, instr = false, end = 0, cc = 0;\n\t\tfor(;end < str.length;++end) {\n\t\t\tif((cc=str.charCodeAt(end)) == 0x22) instr = !instr;\n\t\t\telse if(!instr && cc in guess_seps) cnt[cc] = (cnt[cc]||0)+1;\n\t\t}\n\n\t\tcc = [];\n\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\tcc.push([ cnt[end], end ]);\n\t\t}\n\n\t\tif ( !cc.length ) {\n\t\t\tcnt = guess_sep_weights;\n\t\t\tfor(end in cnt) if ( Object.prototype.hasOwnProperty.call(cnt, end) ) {\n\t\t\t\tcc.push([ cnt[end], end ]);\n\t\t\t}\n\t\t}\n\n\t\tcc.sort(function(a, b) { return a[0] - b[0] || guess_sep_weights[a[1]] - guess_sep_weights[b[1]]; });\n\n\t\treturn guess_seps[cc.pop()[1]] || 0x2C;\n\t}\n\n\tfunction dsv_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tvar o = opts || {};\n\t\tvar sep = \"\";\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar ws/*:Worksheet*/ = ({}/*:any*/);\n\t\tif(o.dense) ws[\"!data\"] = [];\n\t\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:0, r:0}}/*:any*/);\n\n\t\tif(str.slice(0,4) == \"sep=\") {\n\t\t\t// If the line ends in \\r\\n\n\t\t\tif(str.charCodeAt(5) == 13 && str.charCodeAt(6) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(7);\n\t\t\t}\n\t\t\t// If line ends in \\r OR \\n\n\t\t\telse if(str.charCodeAt(5) == 13 || str.charCodeAt(5) == 10 ) {\n\t\t\t\tsep = str.charAt(4); str = str.slice(6);\n\t\t\t}\n\t\t\telse sep = guess_sep(str.slice(0,1024));\n\t\t}\n\t\telse if(o && o.FS) sep = o.FS;\n\t\telse sep = guess_sep(str.slice(0,1024));\n\t\tvar R = 0, C = 0, v = 0;\n\t\tvar start = 0, end = 0, sepcc = sep.charCodeAt(0), instr = false, cc=0, startcc=str.charCodeAt(0);\n\t\tvar _re/*:?RegExp*/ = o.dateNF != null ? dateNF_regex(o.dateNF) : null;\n\t\tfunction finish_cell() {\n\t\t\t/* TODO: fuzzy parsers should pass back assumed number format */\n\t\t\tvar s = str.slice(start, end); if(s.slice(-1) == \"\\r\") s = s.slice(0, -1);\n\t\t\tvar cell = ({}/*:any*/);\n\t\t\tif(s.charAt(0) == '\"' && s.charAt(s.length - 1) == '\"') s = s.slice(1,-1).replace(/\"\"/g,'\"');\n\t\t\tif(o.cellText !== false) cell.w = s;\n\t\t\tif(s.length === 0) cell.t = 'z';\n\t\t\telse if(o.raw) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.trim().length === 0) { cell.t = 's'; cell.v = s; }\n\t\t\telse if(s.charCodeAt(0) == 0x3D) {\n\t\t\t\tif(s.charCodeAt(1) == 0x22 && s.charCodeAt(s.length - 1) == 0x22) { cell.t = 's'; cell.v = s.slice(2,-1).replace(/\"\"/g,'\"'); }\n\t\t\t\telse if(fuzzyfmla(s)) { cell.t = 's'; cell.f = s.slice(1); cell.v = s; }\n\t\t\t\telse { cell.t = 's'; cell.v = s; } }\n\t\t\telse if(s == \"TRUE\") { cell.t = 'b'; cell.v = true; }\n\t\t\telse if(s == \"FALSE\") { cell.t = 'b'; cell.v = false; }\n\t\t\telse if(!isNaN(v = fuzzynum(s))) { cell.t = 'n'; cell.v = v; }\n\t\t\telse if(!isNaN((v = fuzzydate(s)).getDate()) || _re && s.match(_re)) {\n\t\t\t\tcell.z = o.dateNF || table_fmt[14];\n\t\t\t\tif(_re && s.match(_re)){ var news=dateNF_fix(s, o.dateNF, (s.match(_re)||[])); v = parseDate(news); if(o && o.UTC === false) v = utc_to_local(v); }\n\t\t\t\telse if(o && o.UTC === false) v = utc_to_local(v);\n\t\t\t\telse if(o.cellText !== false && o.dateNF) cell.w = SSF_format(cell.z, v);\n\t\t\t\tif(o.cellDates) { cell.t = 'd'; cell.v = v; }\n\t\t\t\telse { cell.t = 'n'; cell.v = datenum(v); }\n\t\t\t\tif(!o.cellNF) delete cell.z;\n\t\t\t} else if(s.charCodeAt(0) == 35 /* # */ && RBErr[s] != null) {\n\t\t\t\tcell.t = 'e'; cell.w = s; cell.v = RBErr[s];\n\t\t\t} else {\n\t\t\t\tcell.t = 's';\n\t\t\t\tcell.v = s;\n\t\t\t}\n\t\t\tif(cell.t == 'z'){}\n\t\t\telse if(o.dense) { if(!ws[\"!data\"][R]) ws[\"!data\"][R] = []; ws[\"!data\"][R][C] = cell; }\n\t\t\telse ws[encode_cell({c:C,r:R})] = cell;\n\t\t\tstart = end+1; startcc = str.charCodeAt(start);\n\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\tif(cc == sepcc) ++C; else { C = 0; ++R; if(o.sheetRows && o.sheetRows <= R) return true; }\n\t\t}\n\t\touter: for(;end < str.length;++end) switch((cc=str.charCodeAt(end))) {\n\t\t\tcase 0x22: if(startcc === 0x22) instr = !instr; break;\n\t\t\tcase 0x0d:\n\t\t\t\tif(instr) break;\n\t\t\t\tif(str.charCodeAt(end+1) == 0x0a) ++end;\n\t\t\t\t/* falls through */\n\t\t\tcase sepcc: case 0x0a: if(!instr && finish_cell()) break outer; break;\n\t\t\tdefault: break;\n\t\t}\n\t\tif(end - start > 0) finish_cell();\n\n\t\tws['!ref'] = encode_range(range);\n\t\treturn ws;\n\t}\n\n\tfunction prn_to_sheet_str(str/*:string*/, opts)/*:Worksheet*/ {\n\t\tif(!(opts && opts.PRN)) return dsv_to_sheet_str(str, opts);\n\t\tif(opts.FS) return dsv_to_sheet_str(str, opts);\n\t\tif(str.slice(0,4) == \"sep=\") return dsv_to_sheet_str(str, opts);\n\t\tif(str.indexOf(\"\\t\") >= 0 || str.indexOf(\",\") >= 0 || str.indexOf(\";\") >= 0) return dsv_to_sheet_str(str, opts);\n\t\treturn aoa_to_sheet(prn_to_aoa_str(str, opts), opts);\n\t}\n\n\tfunction prn_to_sheet(d/*:RawData*/, opts)/*:Worksheet*/ {\n\t\tvar str = \"\", bytes = opts.type == 'string' ? [0,0,0,0] : firstbyte(d, opts);\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': str = Base64_decode(d); break;\n\t\t\tcase 'binary': str = d; break;\n\t\t\tcase 'buffer':\n\t\t\t\tif(opts.codepage == 65001) str = d.toString('utf8'); // TODO: test if buf\n\t\t\t\telse if(opts.codepage && typeof $cptable !== 'undefined') str = $cptable.utils.decode(opts.codepage, d);\n\t\t\t\telse str = has_buf && Buffer.isBuffer(d) ? d.toString('binary') : a2s(d);\n\t\t\t\tbreak;\n\t\t\tcase 'array': str = cc2str(d); break;\n\t\t\tcase 'string': str = d; break;\n\t\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t\t}\n\t\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str.slice(3));\n\t\telse if(opts.type != 'string' && opts.type != 'buffer' && opts.codepage == 65001) str = utf8read(str);\n\t\telse if((opts.type == 'binary') && typeof $cptable !== 'undefined' && opts.codepage) str = $cptable.utils.decode(opts.codepage, $cptable.utils.encode(28591,str));\n\t\tif(str.slice(0,19) == \"socialcalc:version:\") return ETH.to_sheet(opts.type == 'string' ? str : utf8read(str), opts);\n\t\treturn prn_to_sheet_str(str, opts);\n\t}\n\n\tfunction prn_to_workbook(d/*:RawData*/, opts)/*:Workbook*/ { return sheet_to_workbook(prn_to_sheet(d, opts), opts); }\n\n\tfunction sheet_to_prn(ws/*:Worksheet*//*::, opts:?any*/)/*:string*/ {\n\t\tvar o/*:Array*/ = [];\n\t\tif(!ws[\"!ref\"]) return \"\";\n\t\tvar r = safe_decode_range(ws['!ref']), cell/*:Cell*/;\n\t\tvar dense = ws[\"!data\"] != null;\n\t\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\t\tvar oo/*:Array*/ = [];\n\t\t\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\t\t\tvar coord = encode_cell({r:R,c:C});\n\t\t\t\tcell = dense ? (ws[\"!data\"][R]||[])[C] : ws[coord];\n\t\t\t\tif(!cell || cell.v == null) { oo.push(\" \"); continue; }\n\t\t\t\tvar w = (cell.w || (format_cell(cell), cell.w) || \"\").slice(0,10);\n\t\t\t\twhile(w.length < 10) w += \" \";\n\t\t\t\too.push(w + (C === 0 ? \" \" : \"\"));\n\t\t\t}\n\t\t\to.push(oo.join(\"\"));\n\t\t}\n\t\treturn o.join(\"\\n\");\n\t}\n\n\treturn {\n\t\tto_workbook: prn_to_workbook,\n\t\tto_sheet: prn_to_sheet,\n\t\tfrom_sheet: sheet_to_prn\n\t};\n})();\n\n/* Excel defaults to SYLK but warns if data is not valid */\nfunction read_wb_ID(d, opts) {\n\tvar o = opts || {}, OLD_WTF = !!o.WTF; o.WTF = true;\n\ttry {\n\t\tvar out = SYLK.to_workbook(d, o);\n\t\to.WTF = OLD_WTF;\n\t\treturn out;\n\t} catch(e) {\n\t\to.WTF = OLD_WTF;\n\t\tif((e.message.indexOf(\"SYLK bad record ID\") == -1) && OLD_WTF) throw e;\n\t\treturn PRN.to_workbook(d, opts);\n\t}\n}\n\nvar WK_ = /*#__PURE__*/(function() {\n\tfunction lotushopper(data, cb/*:RecordHopperCB*/, opts/*:any*/) {\n\t\tif(!data) return;\n\t\tprep_blob(data, data.l || 0);\n\t\tvar Enum = opts.Enum || WK1Enum;\n\t\twhile(data.l < data.length) {\n\t\t\tvar RT = data.read_shift(2);\n\t\t\tvar R = Enum[RT] || Enum[0xFFFF];\n\t\t\tvar length = data.read_shift(2);\n\t\t\tvar tgt = data.l + length;\n\t\t\tvar d = R.f && R.f(data, length, opts);\n\t\t\tdata.l = tgt;\n\t\t\tif(cb(d, R, RT)) return;\n\t\t}\n\t}\n\n\tfunction lotus_to_workbook(d/*:RawData*/, opts) {\n\t\tswitch(opts.type) {\n\t\t\tcase 'base64': return lotus_to_workbook_buf(s2a(Base64_decode(d)), opts);\n\t\t\tcase 'binary': return lotus_to_workbook_buf(s2a(d), opts);\n\t\t\tcase 'buffer':\n\t\t\tcase 'array': return lotus_to_workbook_buf(d, opts);\n\t\t}\n\t\tthrow \"Unsupported type \" + opts.type;\n\t}\n\n\t/* NOTE: this list intentionally starts at 1 */\n\tvar LOTUS_DATE_FMTS = [\n\t\t\"mmmm\",\n\t\t\"dd-mmm-yyyy\",\n\t\t\"dd-mmm\",\n\t\t\"mmm-yyyy\",\n\t\t\"@\", // \"text\"?\n\t\t\"mm/dd\",\n\t\t\"hh:mm:ss AM/PM\", // 7\n\t\t\"hh:mm AM/PM\",\n\t\t\"mm/dd/yyyy\",\n\t\t\"mm/dd\",\n\t\t\"hh:mm:ss\",\n\t\t\"hh:mm\" // 12\n\t];\n\n\tfunction lotus_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tif(!d) return d;\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ({}/*:any*/), n = \"Sheet1\", next_n = \"\", sidx = 0;\n\t\tvar sheets = {}, snames = [], realnames = [], sdata = [];\n\t\tif(o.dense) sdata = s[\"!data\"] = [];\n\n\t\tvar refguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\tvar sheetRows = o.sheetRows || 0;\n\t\tvar lastcell = {};\n\n\t\tif(d[4] == 0x51 && d[5] == 0x50 && d[6] == 0x57) return qpw_to_workbook_buf(d, opts);\n\t\tif(d[2] == 0x00) {\n\t\t\tif(d[3] == 0x08 || d[3] == 0x09) {\n\t\t\t\tif(d.length >= 16 && d[14] == 0x05 && d[15] === 0x6c) throw new Error(\"Unsupported Works 3 for Mac file\");\n\t\t\t}\n\t\t}\n\n\t\tif(d[2] == 0x02) {\n\t\t\to.Enum = WK1Enum;\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0x00: /* BOF */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\tif(val >= 0x1000) o.qpro = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0xFF: /* BOF (works 3+) */\n\t\t\t\t\to.vers = val;\n\t\t\t\t\to.works = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x06: refguess = val; break; /* RANGE */\n\t\t\t\tcase 0xCC: if(val) next_n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0xDE: next_n = val; break; /* SHEETNAMELP */\n\t\t\t\tcase 0x0F: /* LABEL */\n\t\t\t\tcase 0x33: /* STRING */\n\t\t\t\t\tif((!o.qpro && !o.works || RT == 0x33) && val[1].v.charCodeAt(0) < 0x30) val[1].v = val[1].v.slice(1);\n\t\t\t\t\tif(o.works || o.works2) val[1].v = val[1].v.replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x0D: /* INTEGER */\n\t\t\t\tcase 0x0E: /* NUMBER */\n\t\t\t\tcase 0x10: /* FORMULA */\n\t\t\t\t\t/* TODO: actual translation of the format code */\n\t\t\t\t\tif((val[2] & 0x70) == 0x70 && (val[2] & 0x0F) > 1 && (val[2] & 0x0F) < 15) {\n\t\t\t\t\t\tval[1].z = o.dateNF || LOTUS_DATE_FMTS[(val[2] & 0x0F)-1] || table_fmt[14];\n\t\t\t\t\t\tif(o.cellDates) { val[1].v = numdate(val[1].v); val[1].t = typeof val[1].v == \"number\" ? 'n' : 'd'; }\n\t\t\t\t\t}\n\n\t\t\t\t\tif(o.qpro) {\n\t\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\t\ts = ({}/*:any*/); if(o.dense) sdata = s[\"!data\"] = [];\n\t\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\t\tsidx = val[3]; n = next_n || \"Sheet\" + (sidx + 1); next_n = \"\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tvar tmpcell = o.dense ? (sdata[val[0].r]||[])[val[0].c] : s[encode_cell(val[0])];\n\t\t\t\t\tif(tmpcell) {\n\t\t\t\t\t\ttmpcell.t = val[1].t; tmpcell.v = val[1].v;\n\t\t\t\t\t\tif(val[1].z != null) tmpcell.z = val[1].z;\n\t\t\t\t\t\tif(val[1].f != null) tmpcell.f = val[1].f;\n\t\t\t\t\t\tlastcell = tmpcell;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!sdata[val[0].r]) sdata[val[0].r] = [];\n\t\t\t\t\t\tsdata[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tlastcell = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x5405: o.works2 = true; break;\n\t\t\t\tcase 0x5402: {\n\t\t\t\t\t/* TODO: enumerate all extended number formats */\n\t\t\t\t\tif(val == 0x14a1) {\n\t\t\t\t\t\tlastcell.z = \"hh:mm:ss\";\n\t\t\t\t\t\tif(o.cellDates && lastcell.t == \"n\") {\n\t\t\t\t\t\t\tlastcell.v = numdate(lastcell.v); lastcell.t = typeof lastcell.v == \"number\" ? 'n' : 'd';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t}}, o);\n\t\t} else if(d[2] == 0x1A || d[2] == 0x0E) {\n\t\t\to.Enum = WK3Enum;\n\t\t\tif(d[2] == 0x0E) { o.qpro = true; d.l = 0; }\n\t\t\tlotushopper(d, function(val, R, RT) { switch(RT) {\n\t\t\t\tcase 0xCC: n = val; break; /* SHEETNAMECS */\n\t\t\t\tcase 0x16: /* LABEL16 */\n\t\t\t\t\tif(val[1].v.charCodeAt(0) < 0x30) val[1].v = val[1].v.slice(1);\n\t\t\t\t\t// TODO: R9 appears to encode control codes this way -- verify against other versions\n\t\t\t\t\tval[1].v = val[1].v.replace(/\\x0F./g, function($$) { return String.fromCharCode($$.charCodeAt(1) - 0x20); }).replace(/\\r\\n/g, \"\\n\");\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase 0x17: /* NUMBER17 */\n\t\t\t\tcase 0x18: /* NUMBER18 */\n\t\t\t\tcase 0x19: /* FORMULA19 */\n\t\t\t\tcase 0x25: /* NUMBER25 */\n\t\t\t\tcase 0x27: /* NUMBER27 */\n\t\t\t\tcase 0x28: /* FORMULA28 */\n\t\t\t\t\tif(val[3] > sidx) {\n\t\t\t\t\t\ts[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t\tsheets[n] = s;\n\t\t\t\t\t\tsnames.push(n);\n\t\t\t\t\t\ts = ({}/*:any*/); if(o.dense) sdata = s[\"!data\"] = [];\n\t\t\t\t\t\trefguess = {s: {r:0, c:0}, e: {r:0, c:0} };\n\t\t\t\t\t\tsidx = val[3]; n = \"Sheet\" + (sidx + 1);\n\t\t\t\t\t}\n\t\t\t\t\tif(sheetRows > 0 && val[0].r >= sheetRows) break;\n\t\t\t\t\tif(o.dense) {\n\t\t\t\t\t\tif(!sdata[val[0].r]) sdata[val[0].r] = [];\n\t\t\t\t\t\tsdata[val[0].r][val[0].c] = val[1];\n\t\t\t\t\t} else s[encode_cell(val[0])] = val[1];\n\t\t\t\t\tif(refguess.e.c < val[0].c) refguess.e.c = val[0].c;\n\t\t\t\t\tif(refguess.e.r < val[0].r) refguess.e.r = val[0].r;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x1B: /* XFORMAT */\n\t\t\t\t\tif(val[0x36b0]) realnames[val[0x36b0][0]] = val[0x36b0][1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0601: /* SHEETINFOQP */\n\t\t\t\t\trealnames[val[0]] = val[1]; if(val[0] == sidx) n = val[1]; break;\n\t\t\t\tdefault: break;\n\t\t\t}}, o);\n\t\t} else throw new Error(\"Unrecognized LOTUS BOF \" + d[2]);\n\t\ts[\"!ref\"] = encode_range(refguess);\n\t\tsheets[next_n || n] = s;\n\t\tsnames.push(next_n || n);\n\t\tif(!realnames.length) return { SheetNames: snames, Sheets: sheets };\n\t\tvar osheets = {}, rnames = [];\n\t\t/* TODO: verify no collisions */\n\t\tfor(var i = 0; i < realnames.length; ++i) if(sheets[snames[i]]) {\n\t\t\trnames.push(realnames[i] || snames[i]);\n\t\t\tosheets[realnames[i]] = sheets[realnames[i]] || sheets[snames[i]];\n\t\t} else {\n\t\t\trnames.push(realnames[i]);\n\t\t\tosheets[realnames[i]] = ({ \"!ref\": \"A1\" });\n\t\t}\n\t\treturn { SheetNames: rnames, Sheets: osheets };\n\t}\n\n\tfunction sheet_to_wk1(ws/*:Worksheet*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK1 to JS string\");\n\t\tvar ba = buf_array();\n\t\tif(!ws[\"!ref\"]) throw new Error(\"Cannot export empty sheet to WK1\");\n\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\tvar dense = ws[\"!data\"] != null;\n\t\tvar cols = [];\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK1(0x0406));\n\t\twrite_biff_rec(ba, 0x06, write_RANGE(range));\n\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\tvar rr = encode_row(R);\n\t\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\tvar cell = dense ? (ws[\"!data\"][R]||[])[C] : ws[cols[C] + rr];\n\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t/* TODO: formula records */\n\t\t\t\tswitch(cell.t) {\n\t\t\t\tcase \"n\":\n\t\t\t\t\tif((cell.v|0)==cell.v && cell.v >= -32768 && cell.v <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, cell));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, cell));\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"d\":\n\t\t\t\t\tvar dc = datenum(cell.v);\n\t\t\t\t\tif((dc|0)==dc && dc >= -32768 && dc <= 32767) write_biff_rec(ba, 0x0d, write_INTEGER(R, C, {t:\"n\", v:dc, z:cell.z || table_fmt[14]}));\n\t\t\t\t\telse write_biff_rec(ba, 0x0e, write_NUMBER(R, C, {t:\"n\", v:dc, z:cell.z || table_fmt[14]}));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\twrite_biff_rec(ba, 0x0F, write_LABEL(R, C, str.slice(0, 239)));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\tfunction book_to_wk3(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\t\tvar o = opts || {};\n\t\tif(+o.codepage >= 0) set_cp(+o.codepage);\n\t\tif(o.type == \"string\") throw new Error(\"Cannot write WK3 to JS string\");\n\t\tvar ba = buf_array();\n\n\t\twrite_biff_rec(ba, 0x00, write_BOF_WK3(wb));\n\n\t\tfor(var i = 0, cnt = 0; i < wb.SheetNames.length; ++i) if((wb.Sheets[wb.SheetNames[i]] || {})[\"!ref\"]) write_biff_rec(ba, 0x1b, write_XFORMAT_SHEETNAME(wb.SheetNames[i], cnt++));\n\n\t\tvar wsidx = 0;\n\t\tfor(i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\tvar range = safe_decode_range(ws[\"!ref\"]);\n\t\t\tvar dense = ws[\"!data\"] != null;\n\t\t\tvar cols = [];\n\t\t\tvar max_R = Math.min(range.e.r, 8191);\n\t\t\tfor(var R = range.s.r; R <= max_R; ++R) {\n\t\t\t\tvar rr = encode_row(R);\n\t\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\t\t\tvar ref = cols[C] + rr;\n\t\t\t\t\tvar cell = dense ? (ws[\"!data\"][R]||[])[C] : ws[ref];\n\t\t\t\t\tif(!cell || cell.t == \"z\") continue;\n\t\t\t\t\t/* TODO: FORMULA19 NUMBER18 records */\n\t\t\t\t\tif(cell.t == \"n\") {\n\t\t\t\t\t\twrite_biff_rec(ba, 0x17, write_NUMBER_17(R, C, wsidx, cell.v));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar str = format_cell(cell);\n\t\t\t\t\t\t/* TODO: max len? */\n\t\t\t\t\t\twrite_biff_rec(ba, 0x16, write_LABEL_16(R, C, wsidx, str.slice(0, 239)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t++wsidx;\n\t\t}\n\n\t\twrite_biff_rec(ba, 0x01);\n\t\treturn ba.end();\n\t}\n\n\n\tfunction write_BOF_WK1(v/*:number*/) {\n\t\tvar out = new_buf(2);\n\t\tout.write_shift(2, v);\n\t\treturn out;\n\t}\n\n\tfunction write_BOF_WK3(wb/*:Workbook*/) {\n\t\tvar out = new_buf(26);\n\t\tout.write_shift(2, 0x1000);\n\t\tout.write_shift(2, 0x0004);\n\t\tout.write_shift(4, 0x0000);\n\t\tvar rows = 0, cols = 0, wscnt = 0;\n\t\tfor(var i = 0; i < wb.SheetNames.length; ++i) {\n\t\t\tvar name = wb.SheetNames[i];\n\t\t\tvar ws = wb.Sheets[name];\n\t\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\t\t++wscnt;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tif(rows < range.e.r) rows = range.e.r;\n\t\t\tif(cols < range.e.c) cols = range.e.c;\n\t\t}\n\t\tif(rows > 8191) rows = 8191;\n\t\tout.write_shift(2, rows);\n\t\tout.write_shift(1, wscnt);\n\t\tout.write_shift(1, cols);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(2, 0x00);\n\t\tout.write_shift(1, 0x01);\n\t\tout.write_shift(1, 0x02);\n\t\tout.write_shift(4, 0);\n\t\tout.write_shift(4, 0);\n\t\treturn out;\n\t}\n\n\tfunction parse_RANGE(blob, length, opts) {\n\t\tvar o = {s:{c:0,r:0},e:{c:0,r:0}};\n\t\tif(length == 8 && opts.qpro) {\n\t\t\to.s.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.s.r = blob.read_shift(2);\n\t\t\to.e.c = blob.read_shift(1);\n\t\t\tblob.l++;\n\t\t\to.e.r = blob.read_shift(2);\n\t\t\treturn o;\n\t\t}\n\t\to.s.c = blob.read_shift(2);\n\t\to.s.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\to.e.c = blob.read_shift(2);\n\t\to.e.r = blob.read_shift(2);\n\t\tif(length == 12 && opts.qpro) blob.l += 2;\n\t\tif(o.s.c == 0xFFFF) o.s.c = o.e.c = o.s.r = o.e.r = 0;\n\t\treturn o;\n\t}\n\tfunction write_RANGE(range) {\n\t\tvar out = new_buf(8);\n\t\tout.write_shift(2, range.s.c);\n\t\tout.write_shift(2, range.s.r);\n\t\tout.write_shift(2, range.e.c);\n\t\tout.write_shift(2, range.e.r);\n\t\treturn out;\n\t}\n\n\tfunction parse_cell(blob, length, opts) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0, 0];\n\t\tif(opts.qpro && opts.vers != 0x5120) {\n\t\t\to[0].c = blob.read_shift(1);\n\t\t\to[3] = blob.read_shift(1);\n\t\t\to[0].r = blob.read_shift(2);\n\t\t\tblob.l+=2;\n\t\t} else if(opts.works) { // TODO: verify with more complex works3-4 examples\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t\to[2] = blob.read_shift(2);\n\t\t} else {\n\t\t\to[2] = blob.read_shift(1);\n\t\t\to[0].c = blob.read_shift(2); o[0].r = blob.read_shift(2);\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction get_wk1_fmt(cell)/*:number*/ {\n\t\t/* TODO: some fuzzy matching on the number format */\n\t\tif(cell.z && fmt_is_date(cell.z)) {\n\t\t\treturn 0xf0 | (LOTUS_DATE_FMTS.indexOf(cell.z) + 1 || 2);\n\t\t}\n\t\treturn 0xFF;\n\t}\n\tfunction parse_LABEL(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif((opts.vers & 0xFFFE) == 0x5120) { // WQ1 / WQ2\n\t\t\tblob.l++;\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\tif(opts.qpro) blob.l++;\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL(R, C, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(7 + s.length);\n\t\to.write_shift(1, 0xFF);\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, 0x27); // ??\n\t\tfor(var i = 0; i < o.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\tfunction parse_STRING(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].t = 's';\n\t\tif(opts.vers == 0x5120) {\n\t\t\tvar len = blob.read_shift(1);\n\t\t\to[1].v = blob.read_shift(len, 'utf8');\n\t\t\treturn o;\n\t\t}\n\t\to[1].v = blob.read_shift(tgt - blob.l, 'cstr');\n\t\treturn o;\n\t}\n\n\tfunction parse_INTEGER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(2, 'i');\n\t\treturn o;\n\t}\n\tfunction write_INTEGER(R, C, cell) {\n\t\tvar o = new_buf(7);\n\t\to.write_shift(1, get_wk1_fmt(cell));\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(2, cell.v, 'i');\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER(blob, length, opts) {\n\t\tvar o = parse_cell(blob, length, opts);\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\treturn o;\n\t}\n\tfunction write_NUMBER(R, C, cell) {\n\t\tvar o = new_buf(13);\n\t\to.write_shift(1, get_wk1_fmt(cell));\n\t\to.write_shift(2, C);\n\t\to.write_shift(2, R);\n\t\to.write_shift(8, cell.v, 'f');\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA(blob, length, opts) {\n\t\tvar tgt = blob.l + length;\n\t\tvar o = parse_cell(blob, length, opts);\n\t\t/* TODO: formula */\n\t\to[1].v = blob.read_shift(8, 'f');\n\t\tif(opts.qpro) blob.l = tgt;\n\t\telse {\n\t\t\tvar flen = blob.read_shift(2);\n\t\t\twk1_fmla_to_csf(blob.slice(blob.l, blob.l + flen), o);\n\t\t\tblob.l += flen;\n\t\t}\n\t\treturn o;\n\t}\n\n\tfunction wk1_parse_rc(B, V, col) {\n\t\tvar rel = V & 0x8000;\n\t\tV &= ~0x8000;\n\t\tV = (rel ? B : 0) + ((V >= 0x2000) ? V - 0x4000 : V);\n\t\treturn (rel ? \"\" : \"$\") + (col ? encode_col(V) : encode_row(V));\n\t}\n\t/* var oprec = [\n\t\t8, 8, 8, 8, 8, 8, 8, 8, 6, 4, 4, 5, 5, 7, 3, 3,\n\t\t3, 3, 3, 3, 1, 1, 2, 6, 8, 8, 8, 8, 8, 8, 8, 8\n\t]; */\n\t/* TODO: flesh out */\n\tvar FuncTab = {\n\t\t0x1F: [\"NA\", 0],\n\t\t// 0x20: [\"ERR\", 0],\n\t\t0x21: [\"ABS\", 1],\n\t\t0x22: [\"TRUNC\", 1],\n\t\t0x23: [\"SQRT\", 1],\n\t\t0x24: [\"LOG\", 1],\n\t\t0x25: [\"LN\", 1],\n\t\t0x26: [\"PI\", 0],\n\t\t0x27: [\"SIN\", 1],\n\t\t0x28: [\"COS\", 1],\n\t\t0x29: [\"TAN\", 1],\n\t\t0x2A: [\"ATAN2\", 2],\n\t\t0x2B: [\"ATAN\", 1],\n\t\t0x2C: [\"ASIN\", 1],\n\t\t0x2D: [\"ACOS\", 1],\n\t\t0x2E: [\"EXP\", 1],\n\t\t0x2F: [\"MOD\", 2],\n\t\t// 0x30\n\t\t0x31: [\"ISNA\", 1],\n\t\t0x32: [\"ISERR\", 1],\n\t\t0x33: [\"FALSE\", 0],\n\t\t0x34: [\"TRUE\", 0],\n\t\t0x35: [\"RAND\", 0],\n\t\t0x36: [\"DATE\", 3],\n\t\t// 0x37 NOW\n\t\t// 0x38 PMT\n\t\t// 0x39 PV\n\t\t// 0x3A FV\n\t\t// 0x3B IF\n\t\t// 0x3C DAY\n\t\t// 0x3D MONTH\n\t\t// 0x3E YEAR\n\t\t0x3F: [\"ROUND\", 2],\n\t\t0x40: [\"TIME\", 3],\n\t\t// 0x41 HOUR\n\t\t// 0x42 MINUTE\n\t\t// 0x43 SECOND\n\t\t0x44: [\"ISNUMBER\", 1],\n\t\t0x45: [\"ISTEXT\", 1],\n\t\t0x46: [\"LEN\", 1],\n\t\t0x47: [\"VALUE\", 1],\n\t\t// 0x48: [\"FIXED\", ?? 1],\n\t\t0x49: [\"MID\", 3],\n\t\t0x4A: [\"CHAR\", 1],\n\t\t// 0x4B\n\t\t// 0x4C FIND\n\t\t// 0x4D DATEVALUE\n\t\t// 0x4E TIMEVALUE\n\t\t// 0x4F CELL\n\t\t0x50: [\"SUM\", 69],\n\t\t0x51: [\"AVERAGEA\", 69],\n\t\t0x52: [\"COUNTA\", 69],\n\t\t0x53: [\"MINA\", 69],\n\t\t0x54: [\"MAXA\", 69],\n\t\t// 0x55 VLOOKUP\n\t\t// 0x56 NPV\n\t\t// 0x57 VAR\n\t\t// 0x58 STD\n\t\t// 0x59 IRR\n\t\t// 0x5A HLOOKUP\n\t\t// 0x5B DSUM\n\t\t// 0x5C DAVERAGE\n\t\t// 0x5D DCOUNTA\n\t\t// 0x5E DMIN\n\t\t// 0x5F DMAX\n\t\t// 0x60 DVARP\n\t\t// 0x61 DSTDEVP\n\t\t// 0x62 INDEX\n\t\t// 0x63 COLS\n\t\t// 0x64 ROWS\n\t\t// 0x65 REPEAT\n\t\t0x66: [\"UPPER\", 1],\n\t\t0x67: [\"LOWER\", 1],\n\t\t// 0x68 LEFT\n\t\t// 0x69 RIGHT\n\t\t// 0x6A REPLACE\n\t\t0x6B: [\"PROPER\", 1],\n\t\t// 0x6C CELL\n\t\t0x6D: [\"TRIM\", 1],\n\t\t// 0x6E CLEAN\n\t\t0x6F: [\"T\", 1]\n\t\t// 0x70 V\n\t};\n\tvar BinOpTab = [\n\t\t \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"\", \"+\", \"-\", \"*\", \"/\", \"^\", \"=\", \"<>\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t\"<=\", \">=\", \"<\", \">\", \"\", \"\", \"\", \"\", // eslint-disable-line no-mixed-spaces-and-tabs\n\t\t \"&\", \"\", \"\", \"\", \"\", \"\", \"\", \"\" // eslint-disable-line no-mixed-spaces-and-tabs\n\t];\n\n\tfunction wk1_fmla_to_csf(blob, o) {\n\t\tprep_blob(blob, 0);\n\t\tvar out = [], argc = 0, R = \"\", C = \"\", argL = \"\", argR = \"\";\n\t\twhile(blob.l < blob.length) {\n\t\t\tvar cc = blob[blob.l++];\n\t\t\tswitch(cc) {\n\t\t\t\tcase 0x00: out.push(blob.read_shift(8, 'f')); break;\n\t\t\t\tcase 0x01: {\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x02: {\n\t\t\t\t\tvar c = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tvar r = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tC = wk1_parse_rc(o[0].c, blob.read_shift(2), true);\n\t\t\t\t\tR = wk1_parse_rc(o[0].r, blob.read_shift(2), false);\n\t\t\t\t\tout.push(c + r + \":\" + C + R);\n\t\t\t\t} break;\n\t\t\t\tcase 0x03:\n\t\t\t\t\tif(blob.l < blob.length) { console.error(\"WK1 premature formula end\"); return; }\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x04: out.push(\"(\" + out.pop() + \")\"); break;\n\t\t\t\tcase 0x05: out.push(blob.read_shift(2)); break;\n\t\t\t\tcase 0x06: {\n\t\t\t\t\t/* TODO: text encoding */\n\t\t\t\t\tvar Z = \"\"; while((cc = blob[blob.l++])) Z += String.fromCharCode(cc);\n\t\t\t\t\tout.push('\"' + Z.replace(/\"/g, '\"\"') + '\"');\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x08: out.push(\"-\" + out.pop()); break;\n\t\t\t\tcase 0x17: out.push(\"+\" + out.pop()); break;\n\t\t\t\tcase 0x16: out.push(\"NOT(\" + out.pop() + \")\"); break;\n\n\t\t\t\tcase 0x14: case 0x15: {\n\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\tout.push([\"AND\", \"OR\"][cc - 0x14] + \"(\" + argL + \",\" + argR + \")\");\n\t\t\t\t} break;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif(cc < 0x20 && BinOpTab[cc]) {\n\t\t\t\t\t\targR = out.pop(); argL = out.pop();\n\t\t\t\t\t\tout.push(argL + BinOpTab[cc] + argR);\n\t\t\t\t\t} else if(FuncTab[cc]) {\n\t\t\t\t\t\targc = FuncTab[cc][1];\n\t\t\t\t\t\tif(argc == 69) argc = blob[blob.l++];\n\t\t\t\t\t\tif(argc > out.length) { console.error(\"WK1 bad formula parse 0x\" + cc.toString(16) + \":|\" + out.join(\"|\") + \"|\"); return; }\n\t\t\t\t\t\tvar args = out.slice(-argc);\n\t\t\t\t\t\tout.length -= argc;\n\t\t\t\t\t\tout.push(FuncTab[cc][0] + \"(\" + args.join(\",\") + \")\");\n\t\t\t\t\t}\n\t\t\t\t\telse if(cc <= 0x07) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x18) return console.error(\"WK1 unsupported op \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x1E) return console.error(\"WK1 invalid opcode \" + cc.toString(16));\n\t\t\t\t\telse if(cc <= 0x73) return console.error(\"WK1 unsupported function opcode \" + cc.toString(16));\n\t\t\t\t\t// possible future functions ??\n\t\t\t\t\telse return console.error(\"WK1 unrecognized opcode \" + cc.toString(16));\n\t\t\t}\n\t\t}\n\t\tif(out.length == 1) o[1].f = \"\" + out[0];\n\t\telse console.error(\"WK1 bad formula parse |\" + out.join(\"|\") + \"|\");\n\t}\n\n\tfunction parse_cell_3(blob/*::, length*/) {\n\t\tvar o = [{c:0,r:0}, {t:'n',v:0}, 0];\n\t\to[0].r = blob.read_shift(2); o[3] = blob[blob.l++]; o[0].c = blob[blob.l++];\n\t\treturn o;\n\t}\n\n\tfunction parse_LABEL_16(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].t = 's';\n\t\to[1].v = blob.read_shift(length - 4, 'cstr');\n\t\treturn o;\n\t}\n\tfunction write_LABEL_16(R, C, wsidx, s) {\n\t\t/* TODO: encoding */\n\t\tvar o = new_buf(6 + s.length);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\to.write_shift(1, 0x27);\n\t\tfor(var i = 0; i < s.length; ++i) {\n\t\t\tvar cc = s.charCodeAt(i);\n\t\t\to.write_shift(1, cc >= 0x80 ? 0x5F : cc);\n\t\t}\n\t\to.write_shift(1, 0);\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_18(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\to[1].v = blob.read_shift(2);\n\t\tvar v = o[1].v >> 1;\n\t\tif(o[1].v & 0x1) {\n\t\t\tswitch(v & 0x07) {\n\t\t\t\tcase 0: v = (v >> 3) * 5000; break;\n\t\t\t\tcase 1: v = (v >> 3) * 500; break;\n\t\t\t\tcase 2: v = (v >> 3) / 20; break;\n\t\t\t\tcase 3: v = (v >> 3) / 200; break;\n\t\t\t\tcase 4: v = (v >> 3) / 2000; break;\n\t\t\t\tcase 5: v = (v >> 3) / 20000; break;\n\t\t\t\tcase 6: v = (v >> 3) / 16; break;\n\t\t\t\tcase 7: v = (v >> 3) / 64; break;\n\t\t\t}\n\t\t}\n\t\to[1].v = v;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_17(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\tvar v2 = blob.read_shift(4);\n\t\tvar e = blob.read_shift(2);\n\t\tif(e == 0xFFFF) {\n\t\t\tif(v1 === 0 && v2 === 0xC0000000) { o[1].t = \"e\"; o[1].v = 0x0F; } // ERR -> #VALUE!\n\t\t\telse if(v1 === 0 && v2 === 0xD0000000) { o[1].t = \"e\"; o[1].v = 0x2A; } // NA -> #N/A\n\t\t\telse o[1].v = 0;\n\t\t\treturn o;\n\t\t}\n\t\tvar s = e & 0x8000; e = (e&0x7FFF) - 16446;\n\t\to[1].v = (1 - s*2) * (v2 * Math.pow(2, e+32) + v1 * Math.pow(2, e));\n\t\treturn o;\n\t}\n\tfunction write_NUMBER_17(R, C, wsidx, v) {\n\t\tvar o = new_buf(14);\n\t\to.write_shift(2, R);\n\t\to.write_shift(1, wsidx);\n\t\to.write_shift(1, C);\n\t\tif(v == 0) {\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(4, 0);\n\t\t\to.write_shift(2, 0xFFFF);\n\t\t\treturn o;\n\t\t}\n\t\tvar s = 0, e = 0, v1 = 0, v2 = 0;\n\t\tif(v < 0) { s = 1; v = -v; }\n\t\te = Math.log2(v) | 0;\n\t\tv /= Math.pow(2, e-31);\n\t\tv2 = (v)>>>0;\n\t\tif((v2&0x80000000) == 0) { v/=2; ++e; v2 = v >>> 0; }\n\t\tv -= v2;\n\t\tv2 |= 0x80000000;\n\t\tv2 >>>= 0;\n\t\tv *= Math.pow(2, 32);\n\t\tv1 = v>>>0;\n\t\to.write_shift(4, v1);\n\t\to.write_shift(4, v2);\n\t\te += 0x3FFF + (s ? 0x8000 : 0);\n\t\to.write_shift(2, e);\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_19(blob, length) {\n\t\tvar o = parse_NUMBER_17(blob, 14);\n\t\tblob.l += length - 14; /* TODO: WK3 formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_25(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(4);\n\t\to[1].v = v1 >> 6;\n\t\treturn o;\n\t}\n\n\tfunction parse_NUMBER_27(blob, length) {\n\t\tvar o = parse_cell_3(blob, length);\n\t\tvar v1 = blob.read_shift(8,'f');\n\t\to[1].v = v1;\n\t\treturn o;\n\t}\n\n\tfunction parse_FORMULA_28(blob, length) {\n\t\tvar o = parse_NUMBER_27(blob, 12);\n\t\tblob.l += length - 12; /* TODO: formula */\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETNAMECS(blob, length) {\n\t\treturn blob[blob.l + length - 1] == 0 ? blob.read_shift(length, 'cstr') : \"\";\n\t}\n\n\tfunction parse_SHEETNAMELP(blob, length) {\n\t\tvar len = blob[blob.l++];\n\t\tif(len > length - 1) len = length - 1;\n\t\tvar o = \"\"; while(o.length < len) o += String.fromCharCode(blob[blob.l++]);\n\t\treturn o;\n\t}\n\n\tfunction parse_SHEETINFOQP(blob, length, opts) {\n\t\tif(!opts.qpro || length < 21) return;\n\t\tvar id = blob.read_shift(1);\n\t\tblob.l += 17;\n\t\tblob.l += 1; //var len = blob.read_shift(1);\n\t\tblob.l += 2;\n\t\tvar nm = blob.read_shift(length - 21, 'cstr');\n\t\treturn [id, nm];\n\t}\n\n\tfunction parse_XFORMAT(blob, length) {\n\t\tvar o = {}, tgt = blob.l + length;\n\t\twhile(blob.l < tgt) {\n\t\t\tvar dt = blob.read_shift(2);\n\t\t\tif(dt == 0x36b0) {\n\t\t\t\to[dt] = [0, \"\"];\n\t\t\t\to[dt][0] = blob.read_shift(2);\n\t\t\t\twhile(blob[blob.l]) { o[dt][1] += String.fromCharCode(blob[blob.l]); blob.l++; } blob.l++;\n\t\t\t}\n\t\t\t// TODO: 0x3a99 ??\n\t\t}\n\t\treturn o;\n\t}\n\tfunction write_XFORMAT_SHEETNAME(name, wsidx) {\n\t\tvar out = new_buf(5 + name.length);\n\t\tout.write_shift(2, 0x36b0);\n\t\tout.write_shift(2, wsidx);\n\t\tfor(var i = 0; i < name.length; ++i) {\n\t\t\tvar cc = name.charCodeAt(i);\n\t\t\tout[out.l++] = cc > 0x7F ? 0x5F : cc;\n\t\t}\n\t\tout[out.l++] = 0;\n\t\treturn out;\n\t}\n\n\tvar WK1Enum = {\n\t\t0x0000: { n:\"BOF\", f:parseuint16 },\n\t\t0x0001: { n:\"EOF\" },\n\t\t0x0002: { n:\"CALCMODE\" },\n\t\t0x0003: { n:\"CALCORDER\" },\n\t\t0x0004: { n:\"SPLIT\" },\n\t\t0x0005: { n:\"SYNC\" },\n\t\t0x0006: { n:\"RANGE\", f:parse_RANGE },\n\t\t0x0007: { n:\"WINDOW1\" },\n\t\t0x0008: { n:\"COLW1\" },\n\t\t0x0009: { n:\"WINTWO\" },\n\t\t0x000A: { n:\"COLW2\" },\n\t\t0x000B: { n:\"NAME\" },\n\t\t0x000C: { n:\"BLANK\" },\n\t\t0x000D: { n:\"INTEGER\", f:parse_INTEGER },\n\t\t0x000E: { n:\"NUMBER\", f:parse_NUMBER },\n\t\t0x000F: { n:\"LABEL\", f:parse_LABEL },\n\t\t0x0010: { n:\"FORMULA\", f:parse_FORMULA },\n\t\t0x0018: { n:\"TABLE\" },\n\t\t0x0019: { n:\"ORANGE\" },\n\t\t0x001A: { n:\"PRANGE\" },\n\t\t0x001B: { n:\"SRANGE\" },\n\t\t0x001C: { n:\"FRANGE\" },\n\t\t0x001D: { n:\"KRANGE1\" },\n\t\t0x0020: { n:\"HRANGE\" },\n\t\t0x0023: { n:\"KRANGE2\" },\n\t\t0x0024: { n:\"PROTEC\" },\n\t\t0x0025: { n:\"FOOTER\" },\n\t\t0x0026: { n:\"HEADER\" },\n\t\t0x0027: { n:\"SETUP\" },\n\t\t0x0028: { n:\"MARGINS\" },\n\t\t0x0029: { n:\"LABELFMT\" },\n\t\t0x002A: { n:\"TITLES\" },\n\t\t0x002B: { n:\"SHEETJS\" },\n\t\t0x002D: { n:\"GRAPH\" },\n\t\t0x002E: { n:\"NGRAPH\" },\n\t\t0x002F: { n:\"CALCCOUNT\" },\n\t\t0x0030: { n:\"UNFORMATTED\" },\n\t\t0x0031: { n:\"CURSORW12\" },\n\t\t0x0032: { n:\"WINDOW\" },\n\t\t0x0033: { n:\"STRING\", f:parse_STRING },\n\t\t0x0037: { n:\"PASSWORD\" },\n\t\t0x0038: { n:\"LOCKED\" },\n\t\t0x003C: { n:\"QUERY\" },\n\t\t0x003D: { n:\"QUERYNAME\" },\n\t\t0x003E: { n:\"PRINT\" },\n\t\t0x003F: { n:\"PRINTNAME\" },\n\t\t0x0040: { n:\"GRAPH2\" },\n\t\t0x0041: { n:\"GRAPHNAME\" },\n\t\t0x0042: { n:\"ZOOM\" },\n\t\t0x0043: { n:\"SYMSPLIT\" },\n\t\t0x0044: { n:\"NSROWS\" },\n\t\t0x0045: { n:\"NSCOLS\" },\n\t\t0x0046: { n:\"RULER\" },\n\t\t0x0047: { n:\"NNAME\" },\n\t\t0x0048: { n:\"ACOMM\" },\n\t\t0x0049: { n:\"AMACRO\" },\n\t\t0x004A: { n:\"PARSE\" },\n\t\t// 0x0064\n\t\t0x0066: { n:\"PRANGES??\" },\n\t\t0x0067: { n:\"RRANGES??\" },\n\t\t0x0068: { n:\"FNAME??\" },\n\t\t0x0069: { n:\"MRANGES??\" },\n\t\t// 0x0096\n\t\t// 0x0099\n\t\t// 0x009A\n\t\t// 0x009B\n\t\t// 0x009C\n\t\t// 0x00C0\n\t\t// 0x00C7\n\t\t// 0x00C9\n\t\t0x00CC: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t// 0x00CD\n\t\t0x00DE: { n:\"SHEETNAMELP\", f:parse_SHEETNAMELP },\n\t\t0x00FF: { n:\"BOF\", f:parseuint16 },\n\t\t0x5402: { n:\"WKSNF\", f:parseuint16 },\n\t\t0xFFFF: { n:\"\" }\n\t};\n\n\tvar WK3Enum = {\n\t\t0x0000: { n:\"BOF\" },\n\t\t0x0001: { n:\"EOF\" },\n\t\t0x0002: { n:\"PASSWORD\" },\n\t\t0x0003: { n:\"CALCSET\" },\n\t\t0x0004: { n:\"WINDOWSET\" },\n\t\t0x0005: { n:\"SHEETCELLPTR\" },\n\t\t0x0006: { n:\"SHEETLAYOUT\" },\n\t\t0x0007: { n:\"COLUMNWIDTH\" },\n\t\t0x0008: { n:\"HIDDENCOLUMN\" },\n\t\t0x0009: { n:\"USERRANGE\" },\n\t\t0x000A: { n:\"SYSTEMRANGE\" },\n\t\t0x000B: { n:\"ZEROFORCE\" },\n\t\t0x000C: { n:\"SORTKEYDIR\" },\n\t\t0x000D: { n:\"FILESEAL\" },\n\t\t0x000E: { n:\"DATAFILLNUMS\" },\n\t\t0x000F: { n:\"PRINTMAIN\" },\n\t\t0x0010: { n:\"PRINTSTRING\" },\n\t\t0x0011: { n:\"GRAPHMAIN\" },\n\t\t0x0012: { n:\"GRAPHSTRING\" },\n\t\t0x0013: { n:\"??\" },\n\t\t0x0014: { n:\"ERRCELL\" },\n\t\t0x0015: { n:\"NACELL\" },\n\t\t0x0016: { n:\"LABEL16\", f:parse_LABEL_16},\n\t\t0x0017: { n:\"NUMBER17\", f:parse_NUMBER_17 },\n\t\t0x0018: { n:\"NUMBER18\", f:parse_NUMBER_18 },\n\t\t0x0019: { n:\"FORMULA19\", f:parse_FORMULA_19},\n\t\t0x001A: { n:\"FORMULA1A\" },\n\t\t0x001B: { n:\"XFORMAT\", f:parse_XFORMAT },\n\t\t0x001C: { n:\"DTLABELMISC\" },\n\t\t0x001D: { n:\"DTLABELCELL\" },\n\t\t0x001E: { n:\"GRAPHWINDOW\" },\n\t\t0x001F: { n:\"CPA\" },\n\t\t0x0020: { n:\"LPLAUTO\" },\n\t\t0x0021: { n:\"QUERY\" },\n\t\t0x0022: { n:\"HIDDENSHEET\" },\n\t\t0x0023: { n:\"??\" },\n\t\t0x0025: { n:\"NUMBER25\", f:parse_NUMBER_25 },\n\t\t0x0026: { n:\"??\" },\n\t\t0x0027: { n:\"NUMBER27\", f:parse_NUMBER_27 },\n\t\t0x0028: { n:\"FORMULA28\", f:parse_FORMULA_28 },\n\t\t0x008E: { n:\"??\" },\n\t\t0x0093: { n:\"??\" },\n\t\t0x0096: { n:\"??\" },\n\t\t0x0097: { n:\"??\" },\n\t\t0x0098: { n:\"??\" },\n\t\t0x0099: { n:\"??\" },\n\t\t0x009A: { n:\"??\" },\n\t\t0x009B: { n:\"??\" },\n\t\t0x009C: { n:\"??\" },\n\t\t0x00A3: { n:\"??\" },\n\t\t0x00AE: { n:\"??\" },\n\t\t0x00AF: { n:\"??\" },\n\t\t0x00B0: { n:\"??\" },\n\t\t0x00B1: { n:\"??\" },\n\t\t0x00B8: { n:\"??\" },\n\t\t0x00B9: { n:\"??\" },\n\t\t0x00BA: { n:\"??\" },\n\t\t0x00BB: { n:\"??\" },\n\t\t0x00BC: { n:\"??\" },\n\t\t0x00C3: { n:\"??\" },\n\t\t0x00C9: { n:\"??\" },\n\t\t0x00CC: { n:\"SHEETNAMECS\", f:parse_SHEETNAMECS },\n\t\t0x00CD: { n:\"??\" },\n\t\t0x00CE: { n:\"??\" },\n\t\t0x00CF: { n:\"??\" },\n\t\t0x00D0: { n:\"??\" },\n\t\t0x0100: { n:\"??\" },\n\t\t0x0103: { n:\"??\" },\n\t\t0x0104: { n:\"??\" },\n\t\t0x0105: { n:\"??\" },\n\t\t0x0106: { n:\"??\" },\n\t\t0x0107: { n:\"??\" },\n\t\t0x0109: { n:\"??\" },\n\t\t0x010A: { n:\"??\" },\n\t\t0x010B: { n:\"??\" },\n\t\t0x010C: { n:\"??\" },\n\t\t0x010E: { n:\"??\" },\n\t\t0x010F: { n:\"??\" },\n\t\t0x0180: { n:\"??\" },\n\t\t0x0185: { n:\"??\" },\n\t\t0x0186: { n:\"??\" },\n\t\t0x0189: { n:\"??\" },\n\t\t0x018C: { n:\"??\" },\n\t\t0x0200: { n:\"??\" },\n\t\t0x0202: { n:\"??\" },\n\t\t0x0201: { n:\"??\" },\n\t\t0x0204: { n:\"??\" },\n\t\t0x0205: { n:\"??\" },\n\t\t0x0280: { n:\"??\" },\n\t\t0x0281: { n:\"??\" },\n\t\t0x0282: { n:\"??\" },\n\t\t0x0283: { n:\"??\" },\n\t\t0x0284: { n:\"??\" },\n\t\t0x0285: { n:\"??\" },\n\t\t0x0286: { n:\"??\" },\n\t\t0x0287: { n:\"??\" },\n\t\t0x0288: { n:\"??\" },\n\t\t0x0292: { n:\"??\" },\n\t\t0x0293: { n:\"??\" },\n\t\t0x0294: { n:\"??\" },\n\t\t0x0295: { n:\"??\" },\n\t\t0x0296: { n:\"??\" },\n\t\t0x0299: { n:\"??\" },\n\t\t0x029A: { n:\"??\" },\n\t\t0x0300: { n:\"??\" },\n\t\t0x0304: { n:\"??\" },\n\t\t0x0601: { n:\"SHEETINFOQP\", f:parse_SHEETINFOQP },\n\t\t0x0640: { n:\"??\" },\n\t\t0x0642: { n:\"??\" },\n\t\t0x0701: { n:\"??\" },\n\t\t0x0702: { n:\"??\" },\n\t\t0x0703: { n:\"??\" },\n\t\t0x0704: { n:\"??\" },\n\t\t0x0780: { n:\"??\" },\n\t\t0x0800: { n:\"??\" },\n\t\t0x0801: { n:\"??\" },\n\t\t0x0804: { n:\"??\" },\n\t\t0x0A80: { n:\"??\" },\n\t\t0x2AF6: { n:\"??\" },\n\t\t0x3231: { n:\"??\" },\n\t\t0x6E49: { n:\"??\" },\n\t\t0x6F44: { n:\"??\" },\n\t\t0xFFFF: { n:\"\" }\n\t};\n\n\t/* TODO: fill out and verify this table across QP versions */\n\tvar QPWNFTable = {\n\t\t0x05: \"dd-mmm-yy\",\n\t\t0x06: \"dd-mmm\",\n\t\t0x07: \"mmm-yy\",\n\t\t0x08: \"mm/dd/yy\", // Long Date Intl\n\t\t0x0A: \"hh:mm:ss AM/PM\",\n\t\t0x0B: \"hh:mm AM/PM\",\n\t\t0x0E: \"dd-mmm-yyyy\",\n\t\t0x0F: \"mmm-yyyy\",\n\n\t\t/* It is suspected that the the low nybble specifies decimal places */\n\t\t0x0022: \"0.00\",\n\t\t0x0032: \"0.00;[Red]0.00\",\n\t\t0x0042: \"0.00;\\(0.00\\)\",\n\t\t0x0052: \"0.00;[Red]\\(0.00\\)\",\n\t\t0x00A2: '\"$\"#,##0.00;\\\\(\"$\"#,##0.00\\\\)',\n\t\t0x0120: '0%',\n\t\t0x0130: '0E+00',\n\t\t0x0140: '# ?/?'\n\t};\n\n\tfunction parse_qpw_str(p) {\n\t\tvar cch = p.read_shift(2);\n\t\tvar flags = p.read_shift(1);\n\t\t/* TODO: find examples with nonzero flags */\n\t\tif(flags != 0) throw \"unsupported QPW string type \" + flags.toString(16);\n\t\treturn p.read_shift(cch, \"sbcs-cont\");\n\t}\n\n\t/* QPW uses a different set of record types */\n\tfunction qpw_to_workbook_buf(d, opts)/*:Workbook*/ {\n\t\tprep_blob(d, 0);\n\t\tvar o = opts || {};\n\t\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\t\tvar s/*:Worksheet*/ = ({}/*:any*/); if(o.dense) s[\"!data\"] = [];\n\t\tvar SST = [], sname = \"\", formulae = [];\n\t\tvar range = {s:{r:-1,c:-1}, e:{r:-1,c:-1}};\n\t\tvar cnt = 0, type = 0, C = 0, R = 0;\n\t\tvar wb = { SheetNames: [], Sheets: {} };\n\t\tvar FMTS = [];\n\t\touter: while(d.l < d.length) {\n\t\t\tvar RT = d.read_shift(2), length = d.read_shift(2);\n\t\t\tvar p = d.slice(d.l, d.l + length);\n\t\t\tprep_blob(p, 0);\n\t\t\tswitch(RT) {\n\t\t\t\tcase 0x01: /* BOF */\n\t\t\t\t\tif(p.read_shift(4) != 0x39575051) throw \"Bad QPW9 BOF!\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x02: /* EOF */ break outer;\n\n\t\t\t\tcase 0x08: /* NF */ break; // TODO: this is tied to custom number formats\n\n\t\t\t\tcase 0x0A: /* FORMATS */ {\n\t\t\t\t\tvar fcnt = p.read_shift(4);\n\t\t\t\t\tvar step = ((p.length - p.l)/ fcnt)|0;\n\t\t\t\t\tfor(var ifmt = 0; ifmt < fcnt; ++ifmt) {\n\t\t\t\t\t\tvar end = p.l + step;\n\t\t\t\t\t\tvar fmt = {};\n\t\t\t\t\t\tp.l += 2;\n\t\t\t\t\t\tfmt.numFmtId = p.read_shift(2);\n\t\t\t\t\t\tif(QPWNFTable[fmt.numFmtId]) fmt.z = QPWNFTable[fmt.numFmtId];\n\t\t\t\t\t\tp.l = end;\n\t\t\t\t\t\tFMTS.push(fmt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\t/* TODO: The behavior here should be consistent with Numbers: QP Notebook ~ .TN.SheetArchive, QP Sheet ~ .TST.TableModelArchive */\n\t\t\t\tcase 0x0401: /* BON */ break;\n\t\t\t\tcase 0x0402: /* EON */ /* TODO: backfill missing sheets based on BON cnt */ break;\n\n\t\t\t\tcase 0x0407: { /* SST */\n\t\t\t\t\tp.l += 12;\n\t\t\t\t\twhile(p.l < p.length) {\n\t\t\t\t\t\tcnt = p.read_shift(2);\n\t\t\t\t\t\ttype = p.read_shift(1);\n\t\t\t\t\t\tSST.push(p.read_shift(cnt, 'cstr'));\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0408: { /* FORMULAE */\n\t\t\t\t\t//p.l += 12;\n\t\t\t\t\t//while(p.l < p.length) {\n\t\t\t\t\t//\tcnt = p.read_shift(2);\n\t\t\t\t\t//\tformulae.push(p.slice(p.l, p.l + cnt + 1)); p.l += cnt + 1;\n\t\t\t\t\t//}\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x0601: { /* BOS */\n\t\t\t\t\tvar sidx = p.read_shift(2);\n\t\t\t\t\ts = ({}/*:any*/); if(o.dense) s[\"!data\"] = [];\n\t\t\t\t\trange.s.c = p.read_shift(2);\n\t\t\t\t\trange.e.c = p.read_shift(2);\n\t\t\t\t\trange.s.r = p.read_shift(4);\n\t\t\t\t\trange.e.r = p.read_shift(4);\n\t\t\t\t\tp.l += 4;\n\t\t\t\t\tif(p.l + 2 < p.length) {\n\t\t\t\t\t\tcnt = p.read_shift(2);\n\t\t\t\t\t\ttype = p.read_shift(1);\n\t\t\t\t\t\tsname = cnt == 0 ? \"\" : p.read_shift(cnt, 'cstr');\n\t\t\t\t\t}\n\t\t\t\t\tif(!sname) sname = encode_col(sidx);\n\t\t\t\t\t/* TODO: backfill empty sheets */\n\t\t\t\t} break;\n\t\t\t\tcase 0x0602: { /* EOS */\n\t\t\t\t\t/* NOTE: QP valid range A1:IV1000000 */\n\t\t\t\t\tif(range.s.c > 0xFF || range.s.r > 999999) break;\n\t\t\t\t\tif(range.e.c < range.s.c) range.e.c = range.s.c;\n\t\t\t\t\tif(range.e.r < range.s.r) range.e.r = range.s.r;\n\t\t\t\t\ts[\"!ref\"] = encode_range(range);\n\t\t\t\t\tbook_append_sheet(wb, s, sname); // TODO: a barrel roll\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x0A01: { /* COL (like XLS Row, modulo the layout transposition) */\n\t\t\t\t\tC = p.read_shift(2);\n\t\t\t\t\tif(range.e.c < C) range.e.c = C;\n\t\t\t\t\tif(range.s.c > C) range.s.c = C;\n\t\t\t\t\tR = p.read_shift(4);\n\t\t\t\t\tif(range.s.r > R) range.s.r = R;\n\t\t\t\t\tR = p.read_shift(4);\n\t\t\t\t\tif(range.e.r < R) range.e.r = R;\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x0C01: { /* MulCells (like XLS MulRK, but takes advantage of common column data patterns) */\n\t\t\t\t\tR = p.read_shift(4), cnt = p.read_shift(4);\n\t\t\t\t\tif(range.s.r > R) range.s.r = R;\n\t\t\t\t\tif(range.e.r < R + cnt - 1) range.e.r = R + cnt - 1;\n\t\t\t\t\tvar CC = encode_col(C);\n\t\t\t\t\twhile(p.l < p.length) {\n\t\t\t\t\t\tvar cell = { t: \"z\" };\n\t\t\t\t\t\tvar flags = p.read_shift(1), fmtidx = -1;\n\t\t\t\t\t\tif(flags & 0x80) fmtidx = p.read_shift(2);\n\t\t\t\t\t\tvar mul = (flags & 0x40) ? p.read_shift(2) - 1: 0;\n\t\t\t\t\t\tswitch(flags & 0x1F) {\n\t\t\t\t\t\t\tcase 0: break;\n\t\t\t\t\t\t\tcase 1: break;\n\t\t\t\t\t\t\tcase 2: cell = { t: \"n\", v: p.read_shift(2) }; break;\n\t\t\t\t\t\t\tcase 3: cell = { t: \"n\", v: p.read_shift(2, 'i') }; break;\n\t\t\t\t\t\t\tcase 4: cell = { t: \"n\", v: parse_RkNumber(p) }; break;\n\t\t\t\t\t\t\tcase 5: cell = { t: \"n\", v: p.read_shift(8, 'f') }; break;\n\t\t\t\t\t\t\tcase 7: cell = { t: \"s\", v: SST[type = p.read_shift(4) - 1] }; break;\n\t\t\t\t\t\t\tcase 8:\n\t\t\t\t\t\t\t\tcell = { t: \"n\", v: p.read_shift(8, 'f') };\n\t\t\t\t\t\t\t\tp.l += 2; /* cell.f = formulae[p.read_shift(4)]; */ p.l += 4;\n\t\t\t\t\t\t\t\tif(isNaN(cell.v)) cell = { t: \"e\", v: 0x0F }; // #VALUE!\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault: throw \"Unrecognized QPW cell type \" + (flags & 0x1F);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(fmtidx != -1 && (FMTS[fmtidx - 1]||{}).z) cell.z = FMTS[fmtidx-1].z;\n\t\t\t\t\t\tvar delta = 0;\n\t\t\t\t\t\tif(flags & 0x20) switch(flags & 0x1F) {\n\t\t\t\t\t\t\tcase 2: delta = p.read_shift(2); break;\n\t\t\t\t\t\t\tcase 3: delta = p.read_shift(2, 'i'); break;\n\t\t\t\t\t\t\tcase 7: delta = p.read_shift(2); break;\n\t\t\t\t\t\t\tdefault: throw \"Unsupported delta for QPW cell type \" + (flags & 0x1F);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!(!o.sheetStubs && cell.t == \"z\")) {\n\t\t\t\t\t\t\tvar newcell = dup(cell);\n\t\t\t\t\t\t\tif(cell.t == \"n\" && cell.z && fmt_is_date(cell.z) && o.cellDates) {\n\t\t\t\t\t\t\t\tnewcell.v = numdate(cell.v); newcell.t = typeof newcell.v == \"number\" ? 'n' : 'd';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(s[\"!data\"] != null) {\n\t\t\t\t\t\t\t\tif(!s[\"!data\"][R]) s[\"!data\"][R] = [];\n\t\t\t\t\t\t\t\ts[\"!data\"][R][C] = newcell;\n\t\t\t\t\t\t\t} else s[CC + encode_row(R)] = newcell;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t++R; --cnt;\n\t\t\t\t\t\twhile(mul-- > 0 && cnt >= 0) {\n\t\t\t\t\t\t\tif(flags & 0x20) switch(flags & 0x1F) {\n\t\t\t\t\t\t\t\tcase 2: cell = { t: \"n\", v: (cell.v + delta) & 0xFFFF }; break;\n\t\t\t\t\t\t\t\tcase 3: cell = { t: \"n\", v: (cell.v + delta) & 0xFFFF }; if(cell.v > 0x7FFF) cell.v -= 0x10000; break;\n\t\t\t\t\t\t\t\tcase 7: cell = { t: \"s\", v: SST[type = (type + delta) >>> 0] }; break;\n\t\t\t\t\t\t\t\tdefault: throw \"Cannot apply delta for QPW cell type \" + (flags & 0x1F);\n\t\t\t\t\t\t\t} else switch(flags & 0x1F) {\n\t\t\t\t\t\t\t\tcase 1: cell = { t: \"z\" }; break;\n\t\t\t\t\t\t\t\tcase 2: cell = { t: \"n\", v: p.read_shift(2) }; break;\n\t\t\t\t\t\t\t\tcase 7: cell = { t: \"s\", v: SST[type = p.read_shift(4) - 1] }; break;\n\t\t\t\t\t\t\t\tdefault: throw \"Cannot apply repeat for QPW cell type \" + (flags & 0x1F);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(fmtidx != -1);\n\t\t\t\t\t\t\tif(!(!o.sheetStubs && cell.t == \"z\")) {\n\t\t\t\t\t\t\t\tif(s[\"!data\"] != null) {\n\t\t\t\t\t\t\t\t\tif(!s[\"!data\"][R]) s[\"!data\"][R] = [];\n\t\t\t\t\t\t\t\t\ts[\"!data\"][R][C] = cell;\n\t\t\t\t\t\t\t\t} else s[CC + encode_row(R)] = cell;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t++R; --cnt;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x0C02: { /* String (result of string formula expression) */\n\t\t\t\t\tC = p.read_shift(2);\n\t\t\t\t\tR = p.read_shift(4);\n\t\t\t\t\tvar str = parse_qpw_str(p);\n\t\t\t\t\t/* TODO: QP10 record has an additional unknown character after the string */\n\t\t\t\t\tif(s[\"!data\"] != null) {\n\t\t\t\t\t\tif(!s[\"!data\"][R]) s[\"!data\"][R] = [];\n\t\t\t\t\t\ts[\"!data\"][R][C] = { t:\"s\", v:str };\n\t\t\t\t\t} else s[encode_col(C) + encode_row(R)] = { t:\"s\", v:str };\n\t\t\t\t} break;\n\n\t\t\t\tdefault: break;\n\t\t\t}\n\t\t\td.l += length;\n\t\t}\n\t\treturn wb;\n\t}\n\n\treturn {\n\t\tsheet_to_wk1: sheet_to_wk1,\n\t\tbook_to_wk3: book_to_wk3,\n\t\tto_workbook: lotus_to_workbook\n\t};\n})();\n/* 18.4.7 rPr CT_RPrElt */\nfunction parse_rpr(rpr) {\n\tvar font = {}, m = rpr.match(tagregex), i = 0;\n\tvar pass = false;\n\tif(m) for(;i!=m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(y[0].replace(/<\\w*:/g,\"<\")) {\n\t\t\t/* 18.8.12 condense CT_BooleanProperty */\n\t\t\t/* ** not required . */\n\t\t\tcase '':\n\t\t\tcase '': font.shadow = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.1 charset CT_IntProperty TODO */\n\t\t\tcase '':\n\t\t\tcase '': font.outline = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.5 rFont CT_FontName */\n\t\t\tcase '':\n\t\t\tcase '': font.strike = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.4.13 u CT_UnderlineProperty */\n\t\t\tcase '':\n\t\t\tcase '': font.u = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.2 b */\n\t\t\tcase '':\n\t\t\tcase '': font.b = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.26 i */\n\t\t\tcase '':\n\t\t\tcase '': font.i = 1; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.3.1.15 color CT_Color TODO: tint, theme, auto, indexed */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.18 family ST_FontFamily */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.4.14 vertAlign CT_VerticalAlignFontProperty TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.35 scheme CT_FontScheme TODO */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault:\n\t\t\t\tif(y[0].charCodeAt(1) !== 47 && !pass) throw new Error('Unrecognized rich format ' + y[0]);\n\t\t}\n\t}\n\treturn font;\n}\n\nvar parse_rs = /*#__PURE__*/(function() {\n\t/* 18.4.4 r CT_RElt */\n\tfunction parse_r(r) {\n\t\t/* 18.4.12 t ST_Xstring */\n\t\tvar t = str_match_xml_ns(r, \"t\")/*, cp = 65001*/;\n\t\tif(!t) return {t:\"s\", v:\"\"};\n\n\t\tvar o/*:Cell*/ = ({t:'s', v:unescapexml(t[1])}/*:any*/);\n\t\tvar rpr = str_match_xml_ns(r, \"rPr\");\n\t\tif(rpr) o.s = parse_rpr(rpr[1]);\n\t\treturn o;\n\t}\n\tvar rregex = /<(?:\\w+:)?r>/g, rend = /<\\/(?:\\w+:)?r>/;\n\treturn function parse_rs(rs) {\n\t\treturn rs.replace(rregex,\"\").split(rend).map(parse_r).filter(function(r) { return r.v; });\n\t};\n})();\n\n\n/* Parse a list of tags */\nvar rs_to_html = /*#__PURE__*/(function parse_rs_factory() {\n\tvar nlregex = /(\\r\\n|\\n)/g;\n\tfunction parse_rpr2(font, intro, outro) {\n\t\tvar style/*:Array*/ = [];\n\n\t\tif(font.u) style.push(\"text-decoration: underline;\");\n\t\tif(font.uval) style.push(\"text-underline-style:\" + font.uval + \";\");\n\t\tif(font.sz) style.push(\"font-size:\" + font.sz + \"pt;\");\n\t\tif(font.outline) style.push(\"text-effect: outline;\");\n\t\tif(font.shadow) style.push(\"text-shadow: auto;\");\n\t\tintro.push('');\n\n\t\tif(font.b) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.i) { intro.push(\"\"); outro.push(\"\"); }\n\t\tif(font.strike) { intro.push(\"\"); outro.push(\"\"); }\n\n\t\tvar align = font.valign || \"\";\n\t\tif(align == \"superscript\" || align == \"super\") align = \"sup\";\n\t\telse if(align == \"subscript\") align = \"sub\";\n\t\tif(align != \"\") { intro.push(\"<\" + align + \">\"); outro.push(\"\"); }\n\n\t\toutro.push(\"\");\n\t\treturn font;\n\t}\n\n\t/* 18.4.4 r CT_RElt */\n\tfunction r_to_html(r) {\n\t\tvar terms/*:[Array, string, Array]*/ = [[],r.v,[]];\n\t\tif(!r.v) return \"\";\n\n\t\tif(r.s) parse_rpr2(r.s, terms[0], terms[2]);\n\n\t\treturn terms[0].join(\"\") + terms[1].replace(nlregex,'
') + terms[2].join(\"\");\n\t}\n\n\treturn function parse_rs(rs) {\n\t\treturn rs.map(r_to_html).join(\"\");\n\t};\n})();\n\n/* 18.4.8 si CT_Rst */\nvar sitregex = /<(?:\\w+:)?t\\b[^<>]*>([^<]*)<\\/(?:\\w+:)?t>/g, sirregex = /<(?:\\w+:)?r\\b[^<>]*>/;\nfunction parse_si(x, opts) {\n\tvar html = opts ? opts.cellHTML : true;\n\tvar z = {};\n\tif(!x) return { t: \"\" };\n\t//var y;\n\t/* 18.4.12 t ST_Xstring (Plaintext String) */\n\t// TODO: is whitespace actually valid here?\n\tif(x.match(/^\\s*<(?:\\w+:)?t[^>]*>/)) {\n\t\tz.t = unescapexml(utf8read(x.slice(x.indexOf(\">\")+1).split(/<\\/(?:\\w+:)?t>/)[0]||\"\"), true);\n\t\tz.r = utf8read(x);\n\t\tif(html) z.h = escapehtml(z.t);\n\t}\n\t/* 18.4.4 r CT_RElt (Rich Text Run) */\n\telse if((/*y = */x.match(sirregex))) {\n\t\tz.r = utf8read(x);\n\t\tz.t = unescapexml(utf8read((str_remove_xml_ns_g(x, \"rPh\").match(sitregex)||[]).join(\"\").replace(tagregex,\"\")), true);\n\t\tif(html) z.h = rs_to_html(parse_rs(z.r));\n\t}\n\t/* 18.4.3 phoneticPr CT_PhoneticPr (TODO: needed for Asian support) */\n\t/* 18.4.6 rPh CT_PhoneticRun (TODO: needed for Asian support) */\n\treturn z;\n}\n\n/* 18.4 Shared String Table */\nvar sstr1 = /<(?:\\w+:)?(?:si|sstItem)>/g;\nvar sstr2 = /<\\/(?:\\w+:)?(?:si|sstItem)>/;\nfunction parse_sst_xml(data/*:string*/, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/), ss = \"\";\n\tif(!data) return s;\n\t/* 18.4.9 sst CT_Sst */\n\tvar sst = str_match_xml_ns(data, \"sst\");\n\tif(sst) {\n\t\tss = sst[1].replace(sstr1,\"\").split(sstr2);\n\t\tfor(var i = 0; i != ss.length; ++i) {\n\t\t\tvar o = parse_si(ss[i].trim(), opts);\n\t\t\tif(o != null) s[s.length] = o;\n\t\t}\n\t\tsst = parsexmltag(sst[0].slice(0, sst[0].indexOf(\">\"))); s.Count = sst.count; s.Unique = sst.uniqueCount;\n\t}\n\treturn s;\n}\n\nvar straywsregex = /^\\s|\\s$|[\\t\\n\\r]/;\nfunction write_sst_xml(sst/*:SST*/, opts)/*:string*/ {\n\tif(!opts.bookSST) return \"\";\n\tvar o = [XML_HEADER];\n\to[o.length] = (writextag('sst', null, {\n\t\txmlns: XMLNS_main[0],\n\t\tcount: sst.Count,\n\t\tuniqueCount: sst.Unique\n\t}));\n\tfor(var i = 0; i != sst.length; ++i) { if(sst[i] == null) continue;\n\t\tvar s/*:XLString*/ = sst[i];\n\t\tvar sitag = \"\";\n\t\tif(s.r) sitag += s.r;\n\t\telse {\n\t\t\tsitag += \"\" + escapexml(s.t) + \"\";\n\t\t}\n\t\tsitag += \"\";\n\t\to[o.length] = (sitag);\n\t}\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.221 BrtBeginSst */\nfunction parse_BrtBeginSst(data) {\n\treturn [data.read_shift(4), data.read_shift(4)];\n}\n\n/* [MS-XLSB] 2.1.7.45 Shared Strings */\nfunction parse_sst_bin(data, opts)/*:SST*/ {\n\tvar s/*:SST*/ = ([]/*:any*/);\n\tvar pass = false;\n\trecordhopper(data, function hopper_sst(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009F: /* BrtBeginSst */\n\t\t\t\ts.Count = val[0]; s.Unique = val[1]; break;\n\t\t\tcase 0x0013: /* BrtSSTItem */\n\t\t\t\ts.push(val); break;\n\t\t\tcase 0x00A0: /* BrtEndSst */\n\t\t\t\treturn true;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){}\n\t\t\t\tif(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn s;\n}\n\nfunction write_BrtBeginSst(sst, o) {\n\tif(!o) o = new_buf(8);\n\to.write_shift(4, sst.Count);\n\to.write_shift(4, sst.Unique);\n\treturn o;\n}\n\nvar write_BrtSSTItem = write_RichStr;\n\nfunction write_sst_bin(sst/*::, opts*/) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x009F /* BrtBeginSst */, write_BrtBeginSst(sst));\n\tfor(var i = 0; i < sst.length; ++i) write_record(ba, 0x0013 /* BrtSSTItem */, write_BrtSSTItem(sst[i]));\n\t/* FRTSST */\n\twrite_record(ba, 0x00A0 /* BrtEndSst */);\n\treturn ba.end();\n}\nfunction _JS2ANSI(str/*:string*/)/*:Array*/ {\n\tif(typeof $cptable !== 'undefined') return $cptable.utils.encode(current_ansi, str);\n\tvar o/*:Array*/ = [], oo = str.split(\"\");\n\tfor(var i = 0; i < oo.length; ++i) o[i] = oo[i].charCodeAt(0);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.4 Version */\nfunction parse_CRYPTOVersion(blob, length/*:?number*/) {\n\tvar o/*:any*/ = {};\n\to.Major = blob.read_shift(2);\n\to.Minor = blob.read_shift(2);\n\t/*:: if(length == null) return o; */\n\tif(length >= 4) blob.l += length - 4;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.5 DataSpaceVersionInfo */\nfunction parse_DataSpaceVersionInfo(blob) {\n\tvar o = {};\n\to.id = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6.1 DataSpaceMapEntry Structure */\nfunction parse_DataSpaceMapEntry(blob) {\n\tvar len = blob.read_shift(4);\n\tvar end = blob.l + len - 4;\n\tvar o = {};\n\tvar cnt = blob.read_shift(4);\n\tvar comps/*:Array<{t:number, v:string}>*/ = [];\n\t/* [MS-OFFCRYPTO] 2.1.6.2 DataSpaceReferenceComponent Structure */\n\twhile(cnt-- > 0) comps.push({ t: blob.read_shift(4), v: blob.read_shift(0, 'lpp4') });\n\to.name = blob.read_shift(0, 'lpp4');\n\to.comps = comps;\n\tif(blob.l != end) throw new Error(\"Bad DataSpaceMapEntry: \" + blob.l + \" != \" + end);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.6 DataSpaceMap */\nfunction parse_DataSpaceMap(blob) {\n\tvar o = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(parse_DataSpaceMapEntry(blob));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.7 DataSpaceDefinition */\nfunction parse_DataSpaceDefinition(blob)/*:Array*/ {\n\tvar o/*:Array*/ = [];\n\tblob.l += 4; // must be 0x8\n\tvar cnt = blob.read_shift(4);\n\twhile(cnt-- > 0) o.push(blob.read_shift(0, 'lpp4'));\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.1.8 DataSpaceDefinition */\nfunction parse_TransformInfoHeader(blob) {\n\tvar o = {};\n\t/*var len = */blob.read_shift(4);\n\tblob.l += 4; // must be 0x1\n\to.id = blob.read_shift(0, 'lpp4');\n\to.name = blob.read_shift(0, 'lpp4');\n\to.R = parse_CRYPTOVersion(blob, 4);\n\to.U = parse_CRYPTOVersion(blob, 4);\n\to.W = parse_CRYPTOVersion(blob, 4);\n\treturn o;\n}\n\nfunction parse_Primary(blob) {\n\t/* [MS-OFFCRYPTO] 2.2.6 IRMDSTransformInfo */\n\tvar hdr = parse_TransformInfoHeader(blob);\n\t/* [MS-OFFCRYPTO] 2.1.9 EncryptionTransformInfo */\n\thdr.ename = blob.read_shift(0, '8lpp4');\n\thdr.blksz = blob.read_shift(4);\n\thdr.cmode = blob.read_shift(4);\n\tif(blob.read_shift(4) != 0x04) throw new Error(\"Bad !Primary record\");\n\treturn hdr;\n}\n\n/* [MS-OFFCRYPTO] 2.3.2 Encryption Header */\nfunction parse_EncryptionHeader(blob, length/*:number*/) {\n\tvar tgt = blob.l + length;\n\tvar o = {};\n\to.Flags = (blob.read_shift(4) & 0x3F);\n\tblob.l += 4;\n\to.AlgID = blob.read_shift(4);\n\tvar valid = false;\n\tswitch(o.AlgID) {\n\t\tcase 0x660E: case 0x660F: case 0x6610: valid = (o.Flags == 0x24); break;\n\t\tcase 0x6801: valid = (o.Flags == 0x04); break;\n\t\tcase 0: valid = (o.Flags == 0x10 || o.Flags == 0x04 || o.Flags == 0x24); break;\n\t\tdefault: throw 'Unrecognized encryption algorithm: ' + o.AlgID;\n\t}\n\tif(!valid) throw new Error(\"Encryption Flags/AlgID mismatch\");\n\to.AlgIDHash = blob.read_shift(4);\n\to.KeySize = blob.read_shift(4);\n\to.ProviderType = blob.read_shift(4);\n\tblob.l += 8;\n\to.CSPName = blob.read_shift((tgt-blob.l)>>1, 'utf16le');\n\tblob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.3 Encryption Verifier */\nfunction parse_EncryptionVerifier(blob, length/*:number*/) {\n\tvar o = {}, tgt = blob.l + length;\n\tblob.l += 4; // SaltSize must be 0x10\n\to.Salt = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\to.Verifier = blob.slice(blob.l, blob.l+16); blob.l += 16;\n\t/*var sz = */blob.read_shift(4);\n\to.VerifierHash = blob.slice(blob.l, tgt); blob.l = tgt;\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.* EncryptionInfo Stream */\nfunction parse_EncryptionInfo(blob) {\n\tvar vers = parse_CRYPTOVersion(blob);\n\tswitch(vers.Minor) {\n\t\tcase 0x02: return [vers.Minor, parse_EncInfoStd(blob, vers)];\n\t\tcase 0x03: return [vers.Minor, parse_EncInfoExt(blob, vers)];\n\t\tcase 0x04: return [vers.Minor, parse_EncInfoAgl(blob, vers)];\n\t}\n\tthrow new Error(\"ECMA-376 Encrypted file unrecognized Version: \" + vers.Minor);\n}\n\n/* [MS-OFFCRYPTO] 2.3.4.5 EncryptionInfo Stream (Standard Encryption) */\nfunction parse_EncInfoStd(blob/*::, vers*/) {\n\tvar flags = blob.read_shift(4);\n\tif((flags & 0x3F) != 0x24) throw new Error(\"EncryptionInfo mismatch\");\n\tvar sz = blob.read_shift(4);\n\t//var tgt = blob.l + sz;\n\tvar hdr = parse_EncryptionHeader(blob, sz);\n\tvar verifier = parse_EncryptionVerifier(blob, blob.length - blob.l);\n\treturn { t:\"Std\", h:hdr, v:verifier };\n}\n/* [MS-OFFCRYPTO] 2.3.4.6 EncryptionInfo Stream (Extensible Encryption) */\nfunction parse_EncInfoExt(/*::blob, vers*/) { throw new Error(\"File is password-protected: ECMA-376 Extensible\"); }\n/* [MS-OFFCRYPTO] 2.3.4.10 EncryptionInfo Stream (Agile Encryption) */\nfunction parse_EncInfoAgl(blob/*::, vers*/) {\n\tvar KeyData = [\"saltSize\",\"blockSize\",\"keyBits\",\"hashSize\",\"cipherAlgorithm\",\"cipherChaining\",\"hashAlgorithm\",\"saltValue\"];\n\tblob.l+=4;\n\tvar xml = blob.read_shift(blob.length - blob.l, 'utf8');\n\tvar o = {};\n\txml.replace(tagregex, function xml_agile(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\t\t\tcase '': case '': break;\n\n\t\t\tcase '': break;\n\t\t\tcase ' 4 || vers.Major < 2) throw new Error('unrecognized major version code: ' + vers.Major);\n\to.Flags = blob.read_shift(4); length -= 4;\n\tvar sz = blob.read_shift(4); length -= 4;\n\to.EncryptionHeader = parse_EncryptionHeader(blob, sz); length -= sz;\n\to.EncryptionVerifier = parse_EncryptionVerifier(blob, length);\n\treturn o;\n}\n/* [MS-OFFCRYPTO] 2.3.6.1 RC4 Encryption Header */\nfunction parse_RC4Header(blob/*::, length*/) {\n\tvar o = {};\n\tvar vers = o.EncryptionVersionInfo = parse_CRYPTOVersion(blob, 4);\n\tif(vers.Major != 1 || vers.Minor != 1) throw 'unrecognized version code ' + vers.Major + ' : ' + vers.Minor;\n\to.Salt = blob.read_shift(16);\n\to.EncryptedVerifier = blob.read_shift(16);\n\to.EncryptedVerifierHash = blob.read_shift(16);\n\treturn o;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.1 Binary Document Password Verifier Derivation */\nfunction crypto_CreatePasswordVerifier_Method1(Password/*:string*/) {\n\tvar Verifier = 0x0000, PasswordArray;\n\tvar PasswordDecoded = _JS2ANSI(Password);\n\tvar len = PasswordDecoded.length + 1, i, PasswordByte;\n\tvar Intermediate1, Intermediate2, Intermediate3;\n\tPasswordArray = new_raw_buf(len);\n\tPasswordArray[0] = PasswordDecoded.length;\n\tfor(i = 1; i != len; ++i) PasswordArray[i] = PasswordDecoded[i-1];\n\tfor(i = len-1; i >= 0; --i) {\n\t\tPasswordByte = PasswordArray[i];\n\t\tIntermediate1 = ((Verifier & 0x4000) === 0x0000) ? 0 : 1;\n\t\tIntermediate2 = (Verifier << 1) & 0x7FFF;\n\t\tIntermediate3 = Intermediate1 | Intermediate2;\n\t\tVerifier = Intermediate3 ^ PasswordByte;\n\t}\n\treturn Verifier ^ 0xCE4B;\n}\n\n/* [MS-OFFCRYPTO] 2.3.7.2 Binary Document XOR Array Initialization */\nvar crypto_CreateXorArray_Method1 = /*#__PURE__*/(function() {\n\tvar PadArray = [0xBB, 0xFF, 0xFF, 0xBA, 0xFF, 0xFF, 0xB9, 0x80, 0x00, 0xBE, 0x0F, 0x00, 0xBF, 0x0F, 0x00];\n\tvar InitialCode = [0xE1F0, 0x1D0F, 0xCC9C, 0x84C0, 0x110C, 0x0E10, 0xF1CE, 0x313E, 0x1872, 0xE139, 0xD40F, 0x84F9, 0x280C, 0xA96A, 0x4EC3];\n\tvar XorMatrix = [0xAEFC, 0x4DD9, 0x9BB2, 0x2745, 0x4E8A, 0x9D14, 0x2A09, 0x7B61, 0xF6C2, 0xFDA5, 0xEB6B, 0xC6F7, 0x9DCF, 0x2BBF, 0x4563, 0x8AC6, 0x05AD, 0x0B5A, 0x16B4, 0x2D68, 0x5AD0, 0x0375, 0x06EA, 0x0DD4, 0x1BA8, 0x3750, 0x6EA0, 0xDD40, 0xD849, 0xA0B3, 0x5147, 0xA28E, 0x553D, 0xAA7A, 0x44D5, 0x6F45, 0xDE8A, 0xAD35, 0x4A4B, 0x9496, 0x390D, 0x721A, 0xEB23, 0xC667, 0x9CEF, 0x29FF, 0x53FE, 0xA7FC, 0x5FD9, 0x47D3, 0x8FA6, 0x0F6D, 0x1EDA, 0x3DB4, 0x7B68, 0xF6D0, 0xB861, 0x60E3, 0xC1C6, 0x93AD, 0x377B, 0x6EF6, 0xDDEC, 0x45A0, 0x8B40, 0x06A1, 0x0D42, 0x1A84, 0x3508, 0x6A10, 0xAA51, 0x4483, 0x8906, 0x022D, 0x045A, 0x08B4, 0x1168, 0x76B4, 0xED68, 0xCAF1, 0x85C3, 0x1BA7, 0x374E, 0x6E9C, 0x3730, 0x6E60, 0xDCC0, 0xA9A1, 0x4363, 0x86C6, 0x1DAD, 0x3331, 0x6662, 0xCCC4, 0x89A9, 0x0373, 0x06E6, 0x0DCC, 0x1021, 0x2042, 0x4084, 0x8108, 0x1231, 0x2462, 0x48C4];\n\tvar Ror = function(Byte) { return ((Byte/2) | (Byte*128)) & 0xFF; };\n\tvar XorRor = function(byte1, byte2) { return Ror(byte1 ^ byte2); };\n\tvar CreateXorKey_Method1 = function(Password) {\n\t\tvar XorKey = InitialCode[Password.length - 1];\n\t\tvar CurrentElement = 0x68;\n\t\tfor(var i = Password.length-1; i >= 0; --i) {\n\t\t\tvar Char = Password[i];\n\t\t\tfor(var j = 0; j != 7; ++j) {\n\t\t\t\tif(Char & 0x40) XorKey ^= XorMatrix[CurrentElement];\n\t\t\t\tChar *= 2; --CurrentElement;\n\t\t\t}\n\t\t}\n\t\treturn XorKey;\n\t};\n\treturn function(password/*:string*/) {\n\t\tvar Password = _JS2ANSI(password);\n\t\tvar XorKey = CreateXorKey_Method1(Password);\n\t\tvar Index = Password.length;\n\t\tvar ObfuscationArray = new_raw_buf(16);\n\t\tfor(var i = 0; i != 16; ++i) ObfuscationArray[i] = 0x00;\n\t\tvar Temp, PasswordLastChar, PadIndex;\n\t\tif((Index & 1) === 1) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[0], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tPasswordLastChar = Password[Password.length - 1];\n\t\t\tObfuscationArray[Index] = XorRor(PasswordLastChar, Temp);\n\t\t}\n\t\twhile(Index > 0) {\n\t\t\t--Index;\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t}\n\t\tIndex = 15;\n\t\tPadIndex = 15 - Password.length;\n\t\twhile(PadIndex > 0) {\n\t\t\tTemp = XorKey >> 8;\n\t\t\tObfuscationArray[Index] = XorRor(PadArray[PadIndex], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t\tTemp = XorKey & 0xFF;\n\t\t\tObfuscationArray[Index] = XorRor(Password[Index], Temp);\n\t\t\t--Index;\n\t\t\t--PadIndex;\n\t\t}\n\t\treturn ObfuscationArray;\n\t};\n})();\n\n/* [MS-OFFCRYPTO] 2.3.7.3 Binary Document XOR Data Transformation Method 1 */\nvar crypto_DecryptData_Method1 = function(password/*:string*/, Data, XorArrayIndex, XorArray, O) {\n\t/* If XorArray is set, use it; if O is not set, make changes in-place */\n\tif(!O) O = Data;\n\tif(!XorArray) XorArray = crypto_CreateXorArray_Method1(password);\n\tvar Index, Value;\n\tfor(Index = 0; Index != Data.length; ++Index) {\n\t\tValue = Data[Index];\n\t\tValue ^= XorArray[XorArrayIndex];\n\t\tValue = ((Value>>5) | (Value<<3)) & 0xFF;\n\t\tO[Index] = Value;\n\t\t++XorArrayIndex;\n\t}\n\treturn [O, XorArrayIndex, XorArray];\n};\n\nvar crypto_MakeXorDecryptor = function(password/*:string*/) {\n\tvar XorArrayIndex = 0, XorArray = crypto_CreateXorArray_Method1(password);\n\treturn function(Data) {\n\t\tvar O = crypto_DecryptData_Method1(\"\", Data, XorArrayIndex, XorArray);\n\t\tXorArrayIndex = O[1];\n\t\treturn O[0];\n\t};\n};\n\n/* 2.5.343 */\nfunction parse_XORObfuscation(blob, length, opts, out) {\n\tvar o = ({ key: parseuint16(blob), verificationBytes: parseuint16(blob) }/*:any*/);\n\tif(opts.password) o.verifier = crypto_CreatePasswordVerifier_Method1(opts.password);\n\tout.valid = o.verificationBytes === o.verifier;\n\tif(out.valid) out.insitu = crypto_MakeXorDecryptor(opts.password);\n\treturn o;\n}\n\n/* 2.4.117 */\nfunction parse_FilePassHeader(blob, length/*:number*/, oo) {\n\tvar o = oo || {}; o.Info = blob.read_shift(2); blob.l -= 2;\n\tif(o.Info === 1) o.Data = parse_RC4Header(blob, length);\n\telse o.Data = parse_RC4CryptoHeader(blob, length);\n\treturn o;\n}\nfunction parse_FilePass(blob, length/*:number*/, opts) {\n\tvar o = ({ Type: opts.biff >= 8 ? blob.read_shift(2) : 0 }/*:any*/); /* wEncryptionType */\n\tif(o.Type) parse_FilePassHeader(blob, length-2, o);\n\telse parse_XORObfuscation(blob, opts.biff >= 8 ? length : length - 2, opts, o);\n\treturn o;\n}\n\n\nfunction rtf_to_sheet(d, opts) {\n switch (opts.type) {\n case \"base64\":\n return rtf_to_sheet_str(Base64_decode(d), opts);\n case \"binary\":\n return rtf_to_sheet_str(d, opts);\n case \"buffer\":\n return rtf_to_sheet_str(has_buf && Buffer.isBuffer(d) ? d.toString(\"binary\") : a2s(d), opts);\n case \"array\":\n return rtf_to_sheet_str(cc2str(d), opts);\n }\n throw new Error(\"Unrecognized type \" + opts.type);\n}\nfunction rtf_to_sheet_str(str, opts) {\n var o = opts || {};\n var ws = {};\n var dense = o.dense;\n if (dense)\n ws[\"!data\"] = [];\n var rows = str_match_ng(str, \"\\\\trowd\", \"\\\\row\");\n if (!rows)\n throw new Error(\"RTF missing table\");\n var range = { s: { c: 0, r: 0 }, e: { c: 0, r: rows.length - 1 } };\n var row = [];\n rows.forEach(function(rowtf, R) {\n if (dense)\n row = ws[\"!data\"][R] = [];\n var rtfre = /\\\\[\\w\\-]+\\b/g;\n var last_index = 0;\n var res;\n var C = -1;\n var payload = [];\n while ((res = rtfre.exec(rowtf)) != null) {\n var data = rowtf.slice(last_index, rtfre.lastIndex - res[0].length);\n if (data.charCodeAt(0) == 32)\n data = data.slice(1);\n if (data.length)\n payload.push(data);\n switch (res[0]) {\n case \"\\\\cell\":\n ++C;\n if (payload.length) {\n var cell = { v: payload.join(\"\"), t: \"s\" };\n if (cell.v == \"TRUE\" || cell.v == \"FALSE\") {\n cell.v = cell.v == \"TRUE\";\n cell.t = \"b\";\n } else if (!isNaN(fuzzynum(cell.v))) {\n cell.t = \"n\";\n if (o.cellText !== false)\n cell.w = cell.v;\n cell.v = fuzzynum(cell.v);\n } else if (RBErr[cell.v] != null) {\n cell.t = \"e\";\n cell.w = cell.v;\n cell.v = RBErr[cell.v];\n }\n if (dense)\n row[C] = cell;\n else\n ws[encode_cell({ r: R, c: C })] = cell;\n }\n payload = [];\n break;\n case \"\\\\par\":\n payload.push(\"\\n\");\n break;\n }\n last_index = rtfre.lastIndex;\n }\n if (C > range.e.c)\n range.e.c = C;\n });\n ws[\"!ref\"] = encode_range(range);\n return ws;\n}\nfunction rtf_to_workbook(d, opts) {\n var wb = sheet_to_workbook(rtf_to_sheet(d, opts), opts);\n wb.bookType = \"rtf\";\n return wb;\n}\nfunction sheet_to_rtf(ws, opts) {\n var o = [\"{\\\\rtf1\\\\ansi\"];\n if (!ws[\"!ref\"])\n return o[0] + \"}\";\n var r = safe_decode_range(ws[\"!ref\"]), cell;\n var dense = ws[\"!data\"] != null, row = [];\n for (var R = r.s.r; R <= r.e.r; ++R) {\n o.push(\"\\\\trowd\\\\trautofit1\");\n for (var C = r.s.c; C <= r.e.c; ++C)\n o.push(\"\\\\cellx\" + (C + 1));\n o.push(\"\\\\pard\\\\intbl\");\n if (dense)\n row = ws[\"!data\"][R] || [];\n for (C = r.s.c; C <= r.e.c; ++C) {\n var coord = encode_cell({ r: R, c: C });\n cell = dense ? row[C] : ws[coord];\n if (!cell || cell.v == null && (!cell.f || cell.F)) {\n o.push(\" \\\\cell\");\n continue;\n }\n o.push(\" \" + (cell.w || (format_cell(cell), cell.w) || \"\").replace(/[\\r\\n]/g, \"\\\\par \"));\n o.push(\"\\\\cell\");\n }\n o.push(\"\\\\pard\\\\intbl\\\\row\");\n }\n return o.join(\"\") + \"}\";\n}\nfunction hex2RGB(h) {\n\tvar o = h.slice(h[0]===\"#\"?1:0).slice(0,6);\n\treturn [parseInt(o.slice(0,2),16),parseInt(o.slice(2,4),16),parseInt(o.slice(4,6),16)];\n}\nfunction rgb2Hex(rgb) {\n\tfor(var i=0,o=1; i!=3; ++i) o = o*256 + (rgb[i]>255?255:rgb[i]<0?0:rgb[i]);\n\treturn o.toString(16).toUpperCase().slice(1);\n}\n\nfunction rgb2HSL(rgb) {\n\tvar R = rgb[0]/255, G = rgb[1]/255, B=rgb[2]/255;\n\tvar M = Math.max(R, G, B), m = Math.min(R, G, B), C = M - m;\n\tif(C === 0) return [0, 0, R];\n\n\tvar H6 = 0, S = 0, L2 = (M + m);\n\tS = C / (L2 > 1 ? 2 - L2 : L2);\n\tswitch(M){\n\t\tcase R: H6 = ((G - B) / C + 6)%6; break;\n\t\tcase G: H6 = ((B - R) / C + 2); break;\n\t\tcase B: H6 = ((R - G) / C + 4); break;\n\t}\n\treturn [H6 / 6, S, L2 / 2];\n}\n\nfunction hsl2RGB(hsl){\n\tvar H = hsl[0], S = hsl[1], L = hsl[2];\n\tvar C = S * 2 * (L < 0.5 ? L : 1 - L), m = L - C/2;\n\tvar rgb = [m,m,m], h6 = 6*H;\n\n\tvar X;\n\tif(S !== 0) switch(h6|0) {\n\t\tcase 0: case 6: X = C * h6; rgb[0] += C; rgb[1] += X; break;\n\t\tcase 1: X = C * (2 - h6); rgb[0] += X; rgb[1] += C; break;\n\t\tcase 2: X = C * (h6 - 2); rgb[1] += C; rgb[2] += X; break;\n\t\tcase 3: X = C * (4 - h6); rgb[1] += X; rgb[2] += C; break;\n\t\tcase 4: X = C * (h6 - 4); rgb[2] += C; rgb[0] += X; break;\n\t\tcase 5: X = C * (6 - h6); rgb[2] += X; rgb[0] += C; break;\n\t}\n\tfor(var i = 0; i != 3; ++i) rgb[i] = Math.round(rgb[i]*255);\n\treturn rgb;\n}\n\n/* 18.8.3 bgColor tint algorithm */\nfunction rgb_tint(hex, tint) {\n\tif(tint === 0) return hex;\n\tvar hsl = rgb2HSL(hex2RGB(hex));\n\tif (tint < 0) hsl[2] = hsl[2] * (1 + tint);\n\telse hsl[2] = 1 - (1 - hsl[2]) * (1 - tint);\n\treturn rgb2Hex(hsl2RGB(hsl));\n}\n\n/* 18.3.1.13 width calculations */\n/* [MS-OI29500] 2.1.595 Column Width & Formatting */\nvar DEF_MDW = 6, MAX_MDW = 15, MIN_MDW = 1, MDW = DEF_MDW;\nfunction width2px(width) { return Math.floor(( width + (Math.round(128/MDW))/256 )* MDW ); }\nfunction px2char(px) { return (Math.floor((px - 5)/MDW * 100 + 0.5))/100; }\nfunction char2width(chr) { return (Math.round((chr * MDW + 5)/MDW*256))/256; }\n//function px2char_(px) { return (((px - 5)/MDW * 100 + 0.5))/100; }\n//function char2width_(chr) { return (((chr * MDW + 5)/MDW*256))/256; }\nfunction cycle_width(collw) { return char2width(px2char(width2px(collw))); }\n/* XLSX/XLSB/XLS specify width in units of MDW */\nfunction find_mdw_colw(collw) {\n\tvar delta = Math.abs(collw - cycle_width(collw)), _MDW = MDW;\n\tif(delta > 0.005) for(MDW=MIN_MDW; MDW 0.5) guess--;\n\t\tif(Math.abs(guess) < delta) { delta = Math.abs(guess); _MDW = MDW; }\n\t}\n\tMDW = _MDW;\n}*/\n\nfunction process_col(coll/*:ColInfo*/) {\n\tif(coll.width) {\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.MDW = MDW;\n\t} else if(coll.wpx) {\n\t\tcoll.wch = px2char(coll.wpx);\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.MDW = MDW;\n\t} else if(typeof coll.wch == 'number') {\n\t\tcoll.width = char2width(coll.wch);\n\t\tcoll.wpx = width2px(coll.width);\n\t\tcoll.MDW = MDW;\n\t}\n\tif(coll.customWidth) delete coll.customWidth;\n}\n\nvar DEF_PPI = 96, PPI = DEF_PPI;\nfunction px2pt(px) { return px * 96 / PPI; }\nfunction pt2px(pt) { return pt * PPI / 96; }\n\n/* [MS-EXSPXML3] 2.4.54 ST_enmPattern */\nvar XLMLPatternTypeMap = {\n\t\"None\": \"none\",\n\t\"Solid\": \"solid\",\n\t\"Gray50\": \"mediumGray\",\n\t\"Gray75\": \"darkGray\",\n\t\"Gray25\": \"lightGray\",\n\t\"HorzStripe\": \"darkHorizontal\",\n\t\"VertStripe\": \"darkVertical\",\n\t\"ReverseDiagStripe\": \"darkDown\",\n\t\"DiagStripe\": \"darkUp\",\n\t\"DiagCross\": \"darkGrid\",\n\t\"ThickDiagCross\": \"darkTrellis\",\n\t\"ThinHorzStripe\": \"lightHorizontal\",\n\t\"ThinVertStripe\": \"lightVertical\",\n\t\"ThinReverseDiagStripe\": \"lightDown\",\n\t\"ThinHorzCross\": \"lightGrid\"\n};\n\n/* 18.8.5 borders CT_Borders */\nfunction parse_borders(t, styles, themes, opts) {\n\tstyles.Borders = [];\n\tvar border = {};\n\tvar pass = false;\n\t(t.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.4 border CT_Border */\n\t\t\tcase '': case '':\n\t\t\t\tborder = /*::(*/{}/*:: :any)*/;\n\t\t\t\tif(y.diagonalUp) border.diagonalUp = parsexmlbool(y.diagonalUp);\n\t\t\t\tif(y.diagonalDown) border.diagonalDown = parsexmlbool(y.diagonalDown);\n\t\t\t\tstyles.Borders.push(border);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* note: not in spec, appears to be CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.43 top CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.6 bottom CT_BorderPr */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.13 diagonal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.25 horizontal CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.44 vertical CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.37 start CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.16 end CT_BorderPr */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in borders');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.21 fills CT_Fills */\nfunction parse_fills(t, styles, themes, opts) {\n\tstyles.Fills = [];\n\tvar fill = {};\n\tvar pass = false;\n\t(t.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.20 fill CT_Fill */\n\t\t\tcase '': case '':\n\t\t\t\tfill = {}; styles.Fills.push(fill); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.24 gradientFill CT_GradientFill */\n\t\t\tcase '': break;\n\t\t\tcase '': styles.Fills.push(fill); fill = {}; break;\n\n\t\t\t/* 18.8.32 patternFill CT_PatternFill */\n\t\t\tcase '':\n\t\t\t\tif(y.patternType) fill.patternType = y.patternType;\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.3 bgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.19 fgColor CT_Color */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.38 stop CT_GradientStop */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.? color CT_Color */\n\t\t\tcase '': break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fills');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.23 fonts CT_Fonts */\nfunction parse_fonts(t, styles, themes, opts) {\n\tstyles.Fonts = [];\n\tvar font = {};\n\tvar pass = false;\n\t(t.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.22 font CT_Font */\n\t\t\tcase '': break;\n\t\t\tcase '': case '':\n\t\t\t\tstyles.Fonts.push(font);\n\t\t\t\tfont = {};\n\t\t\t\tbreak;\n\n\t\t\t/* 18.8.29 name CT_FontName */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.8.2 b CT_BooleanProperty */\n\t\t\tcase '': font.bold = 1; break;\n\t\t\tcase '': case '': font.italic = 1; break;\n\t\t\tcase '': case '': font.underline = 1; break;\n\t\t\tcase '': case '': font.strike = 1; break;\n\t\t\tcase '': case '': font.outline = 1; break;\n\t\t\tcase '': case '': font.shadow = 1; break;\n\t\t\tcase '': case '': font.condense = 1; break;\n\t\t\tcase '': case '
': font.extend = 1; break;\n\t\t\tcase '': case '': case '': case '': case '': case '': case '': case '': case '': case '': case '': case '': case '': case '': case '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in fonts');\n\t\t\t}\n\t\t}\n\t});\n}\n\n/* 18.8.31 numFmts CT_NumFmts */\nfunction parse_numFmts(t, styles, opts) {\n\tstyles.NumberFmt = [];\n\tvar k/*Array*/ = (keys(table_fmt)/*:any*/);\n\tfor(var i=0; i < k.length; ++i) styles.NumberFmt[k[i]] = table_fmt[k[i]];\n\tvar m = t.match(tagregex);\n\tif(!m) return;\n\tfor(i=0; i < m.length; ++i) {\n\t\tvar y = parsexmltag(m[i]);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\t\t\tcase '0) {\n\t\t\t\t\tif(j > 0x188) {\n\t\t\t\t\t\tfor(j = 0x188; j > 0x3c; --j) if(styles.NumberFmt[j] == null) break;\n\t\t\t\t\t\tstyles.NumberFmt[j] = f;\n\t\t\t\t\t}\n\t\t\t\t\tSSF__load(f,j);\n\t\t\t\t}\n\t\t\t} break;\n\t\t\tcase '': break;\n\t\t\tdefault: if(opts.WTF) throw new Error('unrecognized ' + y[0] + ' in numFmts');\n\t\t}\n\t}\n}\n\nfunction write_numFmts(NF/*:{[n:number|string]:string}*//*::, opts*/) {\n\tvar o = [\"\"];\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) o[o.length] = (writextag('numFmt',null,{numFmtId:i,formatCode:escapexml(NF[i])}));\n\t});\n\tif(o.length === 1) return \"\";\n\to[o.length] = (\"\");\n\to[0] = writextag('numFmts', null, { count:o.length-2 }).replace(\"/>\", \">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8.10 cellXfs CT_CellXfs */\nvar cellXF_uint = [ \"numFmtId\", \"fillId\", \"fontId\", \"borderId\", \"xfId\" ];\nvar cellXF_bool = [ \"applyAlignment\", \"applyBorder\", \"applyFill\", \"applyFont\", \"applyNumberFormat\", \"applyProtection\", \"pivotButton\", \"quotePrefix\" ];\nfunction parse_cellXfs(t, styles, opts) {\n\tstyles.CellXf = [];\n\tvar xf;\n\tvar pass = false;\n\t(t.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x), i = 0;\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.8.45 xf CT_Xf */\n\t\t\tcase '': case '':\n\t\t\t\txf = y;\n\t\t\t\tdelete xf[0];\n\t\t\t\tfor(i = 0; i < cellXF_uint.length; ++i) if(xf[cellXF_uint[i]])\n\t\t\t\t\txf[cellXF_uint[i]] = parseInt(xf[cellXF_uint[i]], 10);\n\t\t\t\tfor(i = 0; i < cellXF_bool.length; ++i) if(xf[cellXF_bool[i]])\n\t\t\t\t\txf[cellXF_bool[i]] = parsexmlbool(xf[cellXF_bool[i]]);\n\t\t\t\tif(styles.NumberFmt && xf.numFmtId > 0x188) {\n\t\t\t\t\tfor(i = 0x188; i > 0x3c; --i) if(styles.NumberFmt[xf.numFmtId] == styles.NumberFmt[i]) { xf.numFmtId = i; break; }\n\t\t\t\t}\n\t\t\t\tstyles.CellXf.push(xf); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.1 alignment CT_CellAlignment */\n\t\t\tcase '': case '':\n\t\t\t\tvar alignment = {};\n\t\t\t\tif(y.vertical) alignment.vertical = y.vertical;\n\t\t\t\tif(y.horizontal) alignment.horizontal = y.horizontal;\n\t\t\t\tif(y.textRotation != null) alignment.textRotation = y.textRotation;\n\t\t\t\tif(y.indent) alignment.indent = y.indent;\n\t\t\t\tif(y.wrapText) alignment.wrapText = parsexmlbool(y.wrapText);\n\t\t\t\txf.alignment = alignment;\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.8.33 protection CT_CellProtection */\n\t\t\tcase '':\n\t\t\t\tbreak;\n\t\t\tcase '': case '': break;\n\n\t\t\t/* note: sometimes mc:AlternateContent appears bare */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': break;\n\t\t\tcase '': pass = false; break;\n\t\t\tdefault: if(opts && opts.WTF) {\n\t\t\t\tif(!pass) throw new Error('unrecognized ' + y[0] + ' in cellXfs');\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction write_cellXfs(cellXfs)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\to[o.length] = (writextag('cellXfs',null));\n\tcellXfs.forEach(function(c) {\n\t\to[o.length] = (writextag('xf', null, c));\n\t});\n\to[o.length] = (\"\");\n\tif(o.length === 2) return \"\";\n\to[0] = writextag('cellXfs',null, {count:o.length-2}).replace(\"/>\",\">\");\n\treturn o.join(\"\");\n}\n\n/* 18.8 Styles CT_Stylesheet*/\nvar parse_sty_xml= /*#__PURE__*/(function make_pstyx() {\n\nreturn function parse_sty_xml(data, themes, opts) {\n\tvar styles = {};\n\tif(!data) return styles;\n\tdata = remove_doctype(str_remove_ng(data, \"\"));\n\t/* 18.8.39 styleSheet CT_Stylesheet */\n\tvar t;\n\n\t/* 18.8.31 numFmts CT_NumFmts ? */\n\tif((t=str_match_xml_ns(data, \"numFmts\"))) parse_numFmts(t[0], styles, opts);\n\n\t/* 18.8.23 fonts CT_Fonts ? */\n\tif((t=str_match_xml_ns(data, \"fonts\"))) parse_fonts(t[0], styles, themes, opts);\n\n\t/* 18.8.21 fills CT_Fills ? */\n\tif((t=str_match_xml_ns(data, \"fills\"))) parse_fills(t[0], styles, themes, opts);\n\n\t/* 18.8.5 borders CT_Borders ? */\n\tif((t=str_match_xml_ns(data, \"borders\"))) parse_borders(t[0], styles, themes, opts);\n\n\t/* 18.8.9 cellStyleXfs CT_CellStyleXfs ? */\n\t/* 18.8.8 cellStyles CT_CellStyles ? */\n\n\t/* 18.8.10 cellXfs CT_CellXfs ? */\n\tif((t=str_match_xml_ns(data, \"cellXfs\"))) parse_cellXfs(t[0], styles, opts);\n\n\t/* 18.8.15 dxfs CT_Dxfs ? */\n\t/* 18.8.42 tableStyles CT_TableStyles ? */\n\t/* 18.8.11 colors CT_Colors ? */\n\t/* 18.2.10 extLst CT_ExtensionList ? */\n\n\treturn styles;\n};\n})();\n\nfunction write_sty_xml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('styleSheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:vt': XMLNS.vt\n\t})], w;\n\tif(wb.SSF && (w = write_numFmts(wb.SSF)) != null) o[o.length] = w;\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\tif((w = write_cellXfs(opts.cellXfs))) o[o.length] = (w);\n\to[o.length] = ('');\n\to[o.length] = ('');\n\to[o.length] = ('');\n\n\tif(o.length>2){ o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.657 BrtFmt */\nfunction parse_BrtFmt(data, length/*:number*/) {\n\tvar numFmtId = data.read_shift(2);\n\tvar stFmtCode = parse_XLWideString(data,length-2);\n\treturn [numFmtId, stFmtCode];\n}\nfunction write_BrtFmt(i/*:number*/, f/*:string*/, o) {\n\tif(!o) o = new_buf(6 + 4 * f.length);\n\to.write_shift(2, i);\n\twrite_XLWideString(f, o);\n\tvar out = (o.length > o.l) ? o.slice(0, o.l) : o;\n\tif(o.l == null) o.l = o.length;\n\treturn out;\n}\n\n/* [MS-XLSB] 2.4.659 BrtFont TODO */\nfunction parse_BrtFont(data, length/*:number*/, opts) {\n\tvar out = ({}/*:any*/);\n\n\tout.sz = data.read_shift(2) / 20;\n\n\tvar grbit = parse_FontFlags(data, 2, opts);\n\tif(grbit.fItalic) out.italic = 1;\n\tif(grbit.fCondense) out.condense = 1;\n\tif(grbit.fExtend) out.extend = 1;\n\tif(grbit.fShadow) out.shadow = 1;\n\tif(grbit.fOutline) out.outline = 1;\n\tif(grbit.fStrikeout) out.strike = 1;\n\n\tvar bls = data.read_shift(2);\n\tif(bls === 0x02BC) out.bold = 1;\n\n\tswitch(data.read_shift(2)) {\n\t\t/* case 0: out.vertAlign = \"baseline\"; break; */\n\t\tcase 1: out.vertAlign = \"superscript\"; break;\n\t\tcase 2: out.vertAlign = \"subscript\"; break;\n\t}\n\n\tvar underline = data.read_shift(1);\n\tif(underline != 0) out.underline = underline;\n\n\tvar family = data.read_shift(1);\n\tif(family > 0) out.family = family;\n\n\tvar bCharSet = data.read_shift(1);\n\tif(bCharSet > 0) out.charset = bCharSet;\n\n\tdata.l++;\n\tout.color = parse_BrtColor(data, 8);\n\n\tswitch(data.read_shift(1)) {\n\t\t/* case 0: out.scheme = \"none\": break; */\n\t\tcase 1: out.scheme = \"major\"; break;\n\t\tcase 2: out.scheme = \"minor\"; break;\n\t}\n\n\tout.name = parse_XLWideString(data, length - 21);\n\n\treturn out;\n}\nfunction write_BrtFont(font/*:any*/, o) {\n\tif(!o) o = new_buf(25+4*32);\n\to.write_shift(2, font.sz * 20);\n\twrite_FontFlags(font, o);\n\to.write_shift(2, font.bold ? 0x02BC : 0x0190);\n\tvar sss = 0;\n\tif(font.vertAlign == \"superscript\") sss = 1;\n\telse if(font.vertAlign == \"subscript\") sss = 2;\n\to.write_shift(2, sss);\n\to.write_shift(1, font.underline || 0);\n\to.write_shift(1, font.family || 0);\n\to.write_shift(1, font.charset || 0);\n\to.write_shift(1, 0);\n\twrite_BrtColor(font.color, o);\n\tvar scheme = 0;\n\tif(font.scheme == \"major\") scheme = 1;\n\tif(font.scheme == \"minor\") scheme = 2;\n\to.write_shift(1, scheme);\n\twrite_XLWideString(font.name, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.650 BrtFill */\nvar XLSBFillPTNames = [\n\t\"none\",\n\t\"solid\",\n\t\"mediumGray\",\n\t\"darkGray\",\n\t\"lightGray\",\n\t\"darkHorizontal\",\n\t\"darkVertical\",\n\t\"darkDown\",\n\t\"darkUp\",\n\t\"darkGrid\",\n\t\"darkTrellis\",\n\t\"lightHorizontal\",\n\t\"lightVertical\",\n\t\"lightDown\",\n\t\"lightUp\",\n\t\"lightGrid\",\n\t\"lightTrellis\",\n\t\"gray125\",\n\t\"gray0625\"\n];\nvar rev_XLSBFillPTNames/*:EvertNumType*/;\n/* TODO: gradient fill representation */\nvar parse_BrtFill = parsenoop;\nfunction write_BrtFill(fill, o) {\n\tif(!o) o = new_buf(4*3 + 8*7 + 16*1);\n\tif(!rev_XLSBFillPTNames) rev_XLSBFillPTNames = (evert(XLSBFillPTNames)/*:any*/);\n\tvar fls/*:number*/ = rev_XLSBFillPTNames[fill.patternType];\n\tif(fls == null) fls = 0x28;\n\to.write_shift(4, fls);\n\tvar j = 0;\n\tif(fls != 0x28) {\n\t\t/* TODO: custom FG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\t\t/* TODO: custom BG Color */\n\t\twrite_BrtColor({auto:1}, o);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0);\n\t} else {\n\t\tfor(; j < 4; ++j) o.write_shift(4, 0);\n\n\t\tfor(; j < 12; ++j) o.write_shift(4, 0); /* TODO */\n\t\t/* iGradientType */\n\t\t/* xnumDegree */\n\t\t/* xnumFillToLeft */\n\t\t/* xnumFillToRight */\n\t\t/* xnumFillToTop */\n\t\t/* xnumFillToBottom */\n\t\t/* cNumStop */\n\t\t/* xfillGradientStop */\n\t}\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.824 BrtXF */\nfunction parse_BrtXF(data, length/*:number*/) {\n\tvar tgt = data.l + length;\n\tvar ixfeParent = data.read_shift(2);\n\tvar ifmt = data.read_shift(2);\n\tdata.l = tgt;\n\treturn {ixfe:ixfeParent, numFmtId:ifmt };\n}\nfunction write_BrtXF(data, ixfeP, o) {\n\tif(!o) o = new_buf(16);\n\to.write_shift(2, ixfeP||0);\n\to.write_shift(2, data.numFmtId||0);\n\to.write_shift(2, 0); /* iFont */\n\to.write_shift(2, 0); /* iFill */\n\to.write_shift(2, 0); /* ixBorder */\n\to.write_shift(1, 0); /* trot */\n\to.write_shift(1, 0); /* indent */\n\tvar flow = 0;\n\to.write_shift(1, flow); /* flags */\n\to.write_shift(1, 0); /* flags */\n\to.write_shift(1, 0); /* xfGrbitAtr */\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.5.4 Blxf TODO */\nfunction write_Blxf(data, o) {\n\tif(!o) o = new_buf(10);\n\to.write_shift(1, 0); /* dg */\n\to.write_shift(1, 0);\n\to.write_shift(4, 0); /* color */\n\to.write_shift(4, 0); /* color */\n\treturn o;\n}\n/* [MS-XLSB] 2.4.302 BrtBorder TODO */\nvar parse_BrtBorder = parsenoop;\nfunction write_BrtBorder(border, o) {\n\tif(!o) o = new_buf(51);\n\to.write_shift(1, 0); /* diagonal */\n\twrite_Blxf(null, o); /* top */\n\twrite_Blxf(null, o); /* bottom */\n\twrite_Blxf(null, o); /* left */\n\twrite_Blxf(null, o); /* right */\n\twrite_Blxf(null, o); /* diag */\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.763 BrtStyle TODO */\nfunction write_BrtStyle(style, o) {\n\tif(!o) o = new_buf(12+4*10);\n\to.write_shift(4, style.xfId);\n\to.write_shift(2, 1);\n\to.write_shift(1, +style.builtinId);\n\to.write_shift(1, 0); /* iLevel */\n\twrite_XLNullableWideString(style.name || \"\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.272 BrtBeginTableStyles */\nfunction write_BrtBeginTableStyles(cnt, defTableStyle, defPivotStyle) {\n\tvar o = new_buf(4+256*2*4);\n\to.write_shift(4, cnt);\n\twrite_XLNullableWideString(defTableStyle, o);\n\twrite_XLNullableWideString(defPivotStyle, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction parse_sty_bin(data, themes, opts) {\n\tvar styles = {};\n\tstyles.NumberFmt = ([]/*:any*/);\n\tfor(var y in table_fmt) styles.NumberFmt[y] = table_fmt[y];\n\n\tstyles.CellXf = [];\n\tstyles.Fonts = [];\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function hopper_sty(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x002C: /* BrtFmt */\n\t\t\t\tstyles.NumberFmt[val[0]] = val[1]; SSF__load(val[1], val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x002B: /* BrtFont */\n\t\t\t\tstyles.Fonts.push(val);\n\t\t\t\tif(val.color.theme != null && themes && themes.themeElements && themes.themeElements.clrScheme) {\n\t\t\t\t\tval.color.rgb = rgb_tint(themes.themeElements.clrScheme[val.color.theme].rgb, val.color.tint || 0);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0401: /* BrtKnownFonts */ break;\n\t\t\tcase 0x002D: /* BrtFill */\n\t\t\t\tbreak;\n\t\t\tcase 0x002E: /* BrtBorder */\n\t\t\t\tbreak;\n\t\t\tcase 0x002F: /* BrtXF */\n\t\t\t\tif(state[state.length - 1] == 0x0269 /* BrtBeginCellXFs */) {\n\t\t\t\t\tstyles.CellXf.push(val);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 0x0030: /* BrtStyle */\n\t\t\tcase 0x01FB: /* BrtDXF */\n\t\t\tcase 0x023C: /* BrtMRUColor */\n\t\t\tcase 0x01DB: /* BrtIndexedColor */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0493: /* BrtDXF14 */\n\t\t\tcase 0x0836: /* BrtDXF15 */\n\t\t\tcase 0x046A: /* BrtSlicerStyleElement */\n\t\t\tcase 0x0200: /* BrtTableStyleElement */\n\t\t\tcase 0x082F: /* BrtTimelineStyleElement */\n\t\t\tcase 0x0C00: /* BrtUid */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* BrtFRTBegin */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* BrtFRTEnd */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* BrtACBegin */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* BrtACEnd */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn styles;\n}\n\nfunction write_FMTS_bin(ba, NF/*:?SSFTable*/) {\n\tif(!NF) return;\n\tvar cnt = 0;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) ++cnt;\n\t});\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0267 /* BrtBeginFmts */, write_UInt32LE(cnt));\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_record(ba, 0x002C /* BrtFmt */, write_BrtFmt(i, NF[i]));\n\t});\n\twrite_record(ba, 0x0268 /* BrtEndFmts */);\n}\n\nfunction write_FONTS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0263 /* BrtBeginFonts */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002B /* BrtFont */, write_BrtFont({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Calibri\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}));\n\t/* 1*65491BrtFont [ACFONTS] */\n\twrite_record(ba, 0x0264 /* BrtEndFonts */);\n}\n\nfunction write_FILLS_bin(ba/*::, data*/) {\n\tvar cnt = 2;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x025B /* BrtBeginFills */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"none\"}));\n\twrite_record(ba, 0x002D /* BrtFill */, write_BrtFill({patternType:\"gray125\"}));\n\t/* 1*65431BrtFill */\n\twrite_record(ba, 0x025C /* BrtEndFills */);\n}\n\nfunction write_BORDERS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\tif(cnt == 0) return;\n\twrite_record(ba, 0x0265 /* BrtBeginBorders */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002E /* BrtBorder */, write_BrtBorder({}));\n\t/* 1*65430BrtBorder */\n\twrite_record(ba, 0x0266 /* BrtEndBorders */);\n}\n\nfunction write_CELLSTYLEXFS_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\twrite_record(ba, 0x0272 /* BrtBeginCellStyleXFs */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x002F /* BrtXF */, write_BrtXF({\n\t\tnumFmtId: 0,\n\t\tfontId: 0,\n\t\tfillId: 0,\n\t\tborderId: 0\n\t}, 0xFFFF));\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x0273 /* BrtEndCellStyleXFs */);\n}\n\nfunction write_CELLXFS_bin(ba, data) {\n\twrite_record(ba, 0x0269 /* BrtBeginCellXFs */, write_UInt32LE(data.length));\n\tdata.forEach(function(c) { write_record(ba, 0x002F /* BrtXF */, write_BrtXF(c,0)); });\n\t/* 1*65430(BrtXF *FRT) */\n\twrite_record(ba, 0x026A /* BrtEndCellXFs */);\n}\n\nfunction write_STYLES_bin(ba/*::, data*/) {\n\tvar cnt = 1;\n\n\twrite_record(ba, 0x026B /* BrtBeginStyles */, write_UInt32LE(cnt));\n\twrite_record(ba, 0x0030 /* BrtStyle */, write_BrtStyle({\n\t\txfId:0,\n\t\tbuiltinId:0,\n\t\tname:\"Normal\"\n\t}));\n\t/* 1*65430(BrtStyle *FRT) */\n\twrite_record(ba, 0x026C /* BrtEndStyles */);\n}\n\nfunction write_DXFS_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01F9 /* BrtBeginDXFs */, write_UInt32LE(cnt));\n\t/* *2147483647(BrtDXF *FRT) */\n\twrite_record(ba, 0x01FA /* BrtEndDXFs */);\n}\n\nfunction write_TABLESTYLES_bin(ba/*::, data*/) {\n\tvar cnt = 0;\n\n\twrite_record(ba, 0x01FC /* BrtBeginTableStyles */, write_BrtBeginTableStyles(cnt, \"TableStyleMedium9\", \"PivotStyleMedium4\"));\n\t/* *TABLESTYLE */\n\twrite_record(ba, 0x01FD /* BrtEndTableStyles */);\n}\n\nfunction write_COLORPALETTE_bin(/*::ba, data*/) {\n\treturn;\n\t/* BrtBeginColorPalette [INDEXEDCOLORS] [MRUCOLORS] BrtEndColorPalette */\n}\n\n/* [MS-XLSB] 2.1.7.50 Styles */\nfunction write_sty_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0116 /* BrtBeginStyleSheet */);\n\twrite_FMTS_bin(ba, wb.SSF);\n\twrite_FONTS_bin(ba, wb);\n\twrite_FILLS_bin(ba, wb);\n\twrite_BORDERS_bin(ba, wb);\n\twrite_CELLSTYLEXFS_bin(ba, wb);\n\twrite_CELLXFS_bin(ba, opts.cellXfs);\n\twrite_STYLES_bin(ba, wb);\n\twrite_DXFS_bin(ba, wb);\n\twrite_TABLESTYLES_bin(ba, wb);\n\twrite_COLORPALETTE_bin(ba, wb);\n\t/* FRTSTYLESHEET*/\n\twrite_record(ba, 0x0117 /* BrtEndStyleSheet */);\n\treturn ba.end();\n}\n/* Even though theme layout is dk1 lt1 dk2 lt2, true order is lt1 dk1 lt2 dk2 */\nvar XLSXThemeClrScheme = [\n\t'', '', '', '',\n\t'', '', '',\n\t'', '', '',\n\t'', ''\n];\n/* 20.1.6.2 clrScheme CT_ColorScheme */\nfunction parse_clrScheme(t, themes, opts) {\n\tthemes.themeElements.clrScheme = [];\n\tvar color = {};\n\t(t[0].match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\t/* 20.1.6.2 clrScheme (Color Scheme) CT_ColorScheme */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.32 srgbClr CT_SRgbColor */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.2.3.33 sysClr CT_SystemColor */\n\t\t\tcase '': break;\n\n\t\t\t/* 20.1.4.1.1 accent1 (Accent 1) */\n\t\t\t/* 20.1.4.1.2 accent2 (Accent 2) */\n\t\t\t/* 20.1.4.1.3 accent3 (Accent 3) */\n\t\t\t/* 20.1.4.1.4 accent4 (Accent 4) */\n\t\t\t/* 20.1.4.1.5 accent5 (Accent 5) */\n\t\t\t/* 20.1.4.1.6 accent6 (Accent 6) */\n\t\t\t/* 20.1.4.1.9 dk1 (Dark 1) */\n\t\t\t/* 20.1.4.1.10 dk2 (Dark 2) */\n\t\t\t/* 20.1.4.1.15 folHlink (Followed Hyperlink) */\n\t\t\t/* 20.1.4.1.19 hlink (Hyperlink) */\n\t\t\t/* 20.1.4.1.22 lt1 (Light 1) */\n\t\t\t/* 20.1.4.1.23 lt2 (Light 2) */\n\t\t\tcase '':\n\t\t\tcase '':\n\t\t\tcase '':\n\t\t\tcase '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\tcase '': case '':\n\t\t\t\tif (y[0].charAt(1) === '/') {\n\t\t\t\t\tthemes.themeElements.clrScheme[XLSXThemeClrScheme.indexOf(y[0])] = color;\n\t\t\t\t\tcolor = {};\n\t\t\t\t} else {\n\t\t\t\t\tcolor.name = y[0].slice(3, y[0].length - 1);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault: if(opts && opts.WTF) throw new Error('Unrecognized ' + y[0] + ' in clrScheme');\n\t\t}\n\t});\n}\n\n/* 20.1.4.1.18 fontScheme CT_FontScheme */\nfunction parse_fontScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.4.1.15 fmtScheme CT_StyleMatrix */\nfunction parse_fmtScheme(/*::t, themes, opts*/) { }\n\n/* 20.1.6.10 themeElements CT_BaseStyles */\nfunction parse_themeElements(data, themes, opts) {\n\tthemes.themeElements = {};\n\n\tvar t;\n\n\t/* clrScheme CT_ColorScheme */\n\tif(!(t=str_match_xml(data, \"a:clrScheme\"))) throw new Error('clrScheme not found in themeElements');\n\tparse_clrScheme(t, themes, opts);\n\n\t/* fontScheme CT_FontScheme */\n\tif(!(t=str_match_xml(data, \"a:fontScheme\"))) throw new Error('fontScheme not found in themeElements');\n\tparse_fontScheme(t, themes, opts);\n\n\t/* fmtScheme CT_StyleMatrix */\n\tif(!(t=str_match_xml(data, \"a:fmtScheme\"))) throw new Error('fmtScheme not found in themeElements');\n\tparse_fmtScheme(t, themes, opts);\n}\n\n/* 14.2.7 Theme Part */\nfunction parse_theme_xml(data/*:string*/, opts) {\n\t/* 20.1.6.9 theme CT_OfficeStyleSheet */\n\tif(!data || data.length === 0) data = write_theme();\n\n\tvar t;\n\tvar themes = {};\n\n\t/* themeElements CT_BaseStyles */\n\tif(!(t=str_match_xml(data, \"a:themeElements\"))) throw new Error('themeElements not found in theme');\n\tparse_themeElements(t[0], themes, opts);\n\tthemes.raw = data;\n\treturn themes;\n}\n\nfunction write_theme(Themes, opts)/*:string*/ {\n\tif(opts && opts.themeXLSX) return opts.themeXLSX;\n\tif(Themes && typeof Themes.raw == \"string\") return Themes.raw;\n\tvar o = [XML_HEADER];\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\to[o.length] = '';\n\treturn o.join(\"\");\n}\n/* [MS-XLS] 2.4.326 TODO: payload is a zip file */\nfunction parse_Theme(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar dwThemeVersion = blob.read_shift(4);\n\tif(dwThemeVersion === 124226) return;\n\tif(!opts.cellStyles) { blob.l = end; return; }\n\tvar data = blob.slice(blob.l);\n\tblob.l = end;\n\tvar zip; try { zip = zip_read(data, {type: \"array\"}); } catch(e) { return; }\n\tvar themeXML = getzipstr(zip, \"theme/theme/theme1.xml\", true);\n\tif(!themeXML) return;\n\treturn parse_theme_xml(themeXML, opts);\n}\n\n/* 2.5.49 */\nfunction parse_ColorTheme(blob/*::, length*/) { return blob.read_shift(4); }\n\n/* 2.5.155 */\nfunction parse_FullColorExt(blob/*::, length*/) {\n\tvar o = {};\n\to.xclrType = blob.read_shift(2);\n\to.nTintShade = blob.read_shift(2);\n\tswitch(o.xclrType) {\n\t\tcase 0: blob.l += 4; break;\n\t\tcase 1: o.xclrValue = parse_IcvXF(blob, 4); break;\n\t\tcase 2: o.xclrValue = parse_LongRGBA(blob, 4); break;\n\t\tcase 3: o.xclrValue = parse_ColorTheme(blob, 4); break;\n\t\tcase 4: blob.l += 4; break;\n\t}\n\tblob.l += 8;\n\treturn o;\n}\n\n/* 2.5.164 TODO: read 7 bits*/\nfunction parse_IcvXF(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* 2.5.280 */\nfunction parse_XFExtGradient(blob, length) {\n\treturn parsenoop(blob, length);\n}\n\n/* [MS-XLS] 2.5.108 */\nfunction parse_ExtProp(blob/*::, length*/)/*:Array*/ {\n\tvar extType = blob.read_shift(2);\n\tvar cb = blob.read_shift(2) - 4;\n\tvar o = [extType];\n\tswitch(extType) {\n\t\tcase 0x04: case 0x05: case 0x07: case 0x08:\n\t\tcase 0x09: case 0x0A: case 0x0B: case 0x0D:\n\t\t\to[1] = parse_FullColorExt(blob, cb); break;\n\t\tcase 0x06: o[1] = parse_XFExtGradient(blob, cb); break;\n\t\tcase 0x0E: case 0x0F: o[1] = blob.read_shift(cb === 1 ? 1 : 2); break;\n\t\tdefault: throw new Error(\"Unrecognized ExtProp type: \" + extType + \" \" + cb);\n\t}\n\treturn o;\n}\n\n/* 2.4.355 */\nfunction parse_XFExt(blob, length) {\n\tvar end = blob.l + length;\n\tblob.l += 2;\n\tvar ixfe = blob.read_shift(2);\n\tblob.l += 2;\n\tvar cexts = blob.read_shift(2);\n\tvar ext/*:AOA*/ = [];\n\twhile(cexts-- > 0) ext.push(parse_ExtProp(blob, end-blob.l));\n\treturn {ixfe:ixfe, ext:ext};\n}\n\n/* xf is an XF, see parse_XFExt for xfext */\nfunction update_xfext(xf, xfext) {\n\txfext.forEach(function(xfe) {\n\t\tswitch(xfe[0]) { /* 2.5.108 extPropData */\n\t\t\tcase 0x04: break; /* foreground color */\n\t\t\tcase 0x05: break; /* background color */\n\t\t\tcase 0x06: break; /* gradient fill */\n\t\t\tcase 0x07: break; /* top cell border color */\n\t\t\tcase 0x08: break; /* bottom cell border color */\n\t\t\tcase 0x09: break; /* left cell border color */\n\t\t\tcase 0x0a: break; /* right cell border color */\n\t\t\tcase 0x0b: break; /* diagonal cell border color */\n\t\t\tcase 0x0d: /* text color */\n\t\t\t\tbreak;\n\t\t\tcase 0x0e: break; /* font scheme */\n\t\t\tcase 0x0f: break; /* indentation level */\n\t\t}\n\t});\n}\n\nfunction parse_BrtMdtinfo(data, length) {\n return {\n flags: data.read_shift(4),\n version: data.read_shift(4),\n name: parse_XLWideString(data, length - 8)\n };\n}\nfunction write_BrtMdtinfo(data) {\n var o = new_buf(12 + 2 * data.name.length);\n o.write_shift(4, data.flags);\n o.write_shift(4, data.version);\n write_XLWideString(data.name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtMdb(data) {\n var out = [];\n var cnt = data.read_shift(4);\n while (cnt-- > 0)\n out.push([data.read_shift(4), data.read_shift(4)]);\n return out;\n}\nfunction write_BrtMdb(mdb) {\n var o = new_buf(4 + 8 * mdb.length);\n o.write_shift(4, mdb.length);\n for (var i = 0; i < mdb.length; ++i) {\n o.write_shift(4, mdb[i][0]);\n o.write_shift(4, mdb[i][1]);\n }\n return o;\n}\nfunction write_BrtBeginEsfmd(cnt, name) {\n var o = new_buf(8 + 2 * name.length);\n o.write_shift(4, cnt);\n write_XLWideString(name, o);\n return o.slice(0, o.l);\n}\nfunction parse_BrtBeginEsmdb(data) {\n data.l += 4;\n return data.read_shift(4) != 0;\n}\nfunction write_BrtBeginEsmdb(cnt, cm) {\n var o = new_buf(8);\n o.write_shift(4, cnt);\n o.write_shift(4, cm ? 1 : 0);\n return o;\n}\nfunction parse_xlmeta_bin(data, name, _opts) {\n var out = { Types: [], Cell: [], Value: [] };\n var opts = _opts || {};\n var state = [];\n var pass = false;\n var metatype = 2;\n recordhopper(data, function(val, R, RT) {\n switch (RT) {\n case 335:\n out.Types.push({ name: val.name });\n break;\n case 51:\n val.forEach(function(r) {\n if (metatype == 1)\n out.Cell.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n else if (metatype == 0)\n out.Value.push({ type: out.Types[r[0] - 1].name, index: r[1] });\n });\n break;\n case 337:\n metatype = val ? 1 : 0;\n break;\n case 338:\n metatype = 2;\n break;\n case 35:\n state.push(RT);\n pass = true;\n break;\n case 36:\n state.pop();\n pass = false;\n break;\n default:\n if (R.T) {\n } else if (!pass || opts.WTF && state[state.length - 1] != 35)\n throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n }\n });\n return out;\n}\nfunction write_xlmeta_bin() {\n var ba = buf_array();\n write_record(ba, 332);\n write_record(ba, 334, write_UInt32LE(1));\n write_record(ba, 335, write_BrtMdtinfo({\n name: \"XLDAPR\",\n version: 12e4,\n flags: 3496657072\n }));\n write_record(ba, 336);\n write_record(ba, 339, write_BrtBeginEsfmd(1, \"XLDAPR\"));\n write_record(ba, 52);\n write_record(ba, 35, write_UInt32LE(514));\n write_record(ba, 4096, write_UInt32LE(0));\n write_record(ba, 4097, writeuint16(1));\n write_record(ba, 36);\n write_record(ba, 53);\n write_record(ba, 340);\n write_record(ba, 337, write_BrtBeginEsmdb(1, true));\n write_record(ba, 51, write_BrtMdb([[1, 0]]));\n write_record(ba, 338);\n write_record(ba, 333);\n return ba.end();\n}\nfunction parse_xlmeta_xml(data, name, opts) {\n var out = { Types: [], Cell: [], Value: [] };\n if (!data)\n return out;\n var pass = false;\n var metatype = 2;\n var lastmeta;\n data.replace(tagregex, function(x) {\n var y = parsexmltag(x);\n switch (strip_ns(y[0])) {\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n metatype = 2;\n break;\n case \"\":\n case \"\":\n case \"\":\n break;\n case \"\":\n pass = false;\n break;\n case \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n');\n return o.join(\"\");\n}\n/* 18.6 Calculation Chain */\nfunction parse_cc_xml(data/*::, name, opts*/)/*:Array*/ {\n\tvar d = [];\n\tif(!data) return d;\n\tvar i = 1;\n\t(data.match(tagregex)||[]).forEach(function(x) {\n\t\tvar y = parsexmltag(x);\n\t\tswitch(y[0]) {\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.6.1 c CT_CalcCell 1 */\n\t\t\tcase ']*r:id=\"([^<>\"]*)\"/)||[\"\",\"\"])[1];\n\n\treturn rels['!id'][id].Target;\n}\n\n/* L.5.5.2 SpreadsheetML Comments + VML Schema */\nfunction parse_vml(data/*:string*/, sheet, comments) {\n\tvar cidx = 0;\n\t(str_match_xml_ns_g(data, \"shape\")||[]).forEach(function(m) {\n\t\tvar type = \"\";\n\t\tvar hidden = true;\n\t\tvar aidx = -1;\n\t\tvar R = -1, C = -1;\n\t\tm.replace(tagregex, function(x/*:string*/, idx/*:number*/) {\n\t\t\tvar y = parsexmltag(x);\n\t\t\tswitch(strip_ns(y[0])) {\n\t\t\t\tcase '': hidden = false; break;\n\n\t\t\t\tcase '': aidx = idx + x.length; break;\n\t\t\t\tcase '': R = +m.slice(aidx, idx).trim(); break;\n\n\t\t\t\tcase '': aidx = idx + x.length; break;\n\t\t\t\tcase '': C = +m.slice(aidx, idx).trim(); break;\n\t\t\t}\n\t\t\treturn \"\";\n\t\t});\n\t\tswitch(type) {\n\t\tcase 'Note':\n\t\t\tvar cell = ws_get_cell_stub(sheet, ((R>=0 && C>=0) ? encode_cell({r:R,c:C}) : comments[cidx].ref));\n\t\t\tif(cell.c) {\n\t\t\t\tcell.c.hidden = hidden;\n\t\t\t}\n\t\t\t++cidx;\n\t\t\tbreak;\n\t\t}\n\n\t});\n}\n\n\n/* comment boxes */\nfunction write_vml(rId/*:number*/, comments, ws) {\n\tvar csize = [21600, 21600];\n\t/* L.5.2.1.2 Path Attribute */\n\tvar bbox = [\"m0,0l0\",csize[1],csize[0],csize[1],csize[0],\"0xe\"].join(\",\");\n\tvar o = [\n\t\twritextag(\"xml\", null, { 'xmlns:v': XLMLNS.v, 'xmlns:o': XLMLNS.o, 'xmlns:x': XLMLNS.x, 'xmlns:mv': XLMLNS.mv }).replace(/\\/>/,\">\"),\n\t\twritextag(\"o:shapelayout\", writextag(\"o:idmap\", null, {'v:ext':\"edit\", 'data':rId}), {'v:ext':\"edit\"})\n\t];\n\n\tvar _shapeid = 65536 * rId;\n\n\tvar _comments = comments || [];\n\tif(_comments.length > 0) o.push(writextag(\"v:shapetype\", [\n\t\twritextag(\"v:stroke\", null, {joinstyle:\"miter\"}),\n\t\twritextag(\"v:path\", null, {gradientshapeok:\"t\", 'o:connecttype':\"rect\"})\n\t].join(\"\"), {id:\"_x0000_t202\", coordsize:csize.join(\",\"), 'o:spt':202, path:bbox}));\n\n\t_comments.forEach(function(x) { ++_shapeid; o.push(write_vml_comment(x, _shapeid)); });\n\to.push('');\n\treturn o.join(\"\");\n}\n\nfunction write_vml_comment(x, _shapeid, ws)/*:string*/ {\n\tvar c = decode_cell(x[0]);\n\tvar fillopts = /*::(*/{'color2':\"#BEFF82\", 'type':\"gradient\"}/*:: :any)*/;\n\tif(fillopts.type == \"gradient\") fillopts.angle = \"-180\";\n\tvar fillparm = fillopts.type == \"gradient\" ? writextag(\"o:fill\", null, {type:\"gradientUnscaled\", 'v:ext':\"view\"}) : null;\n\tvar fillxml = writextag('v:fill', fillparm, fillopts);\n\n\tvar shadata = ({on:\"t\", 'obscured':\"t\"}/*:any*/);\n\n\treturn [\n\t'',\n\t\tfillxml,\n\t\twritextag(\"v:shadow\", null, shadata),\n\t\twritextag(\"v:path\", null, {'o:connecttype':\"none\"}),\n\t\t'
',\n\t\t'',\n\t\t\t'',\n\t\t\t'',\n\t\t\t/* Part 4 19.4.2.3 Anchor (Anchor) */\n\t\t\twritetag('x:Anchor', [c.c+1, 0, c.r+1, 0, c.c+3, 20, c.r+5, 20].join(\",\")),\n\t\t\twritetag('x:AutoFill', \"False\"),\n\t\t\twritetag('x:Row', String(c.r)),\n\t\t\twritetag('x:Column', String(c.c)),\n\t\t\tx[1].hidden ? '' : '',\n\t\t'',\n\t''\n\t].join(\"\");\n}\nfunction sheet_insert_comments(sheet/*:WorkSheet*/, comments/*:Array*/, threaded/*:boolean*/, people/*:?Array*/) {\n\tvar dense = sheet[\"!data\"] != null;\n\tvar cell/*:Cell*/;\n\tcomments.forEach(function(comment) {\n\t\tvar r = decode_cell(comment.ref);\n\t\tif(r.r < 0 || r.c < 0) return;\n\t\tif(dense) {\n\t\t\tif(!sheet[\"!data\"][r.r]) sheet[\"!data\"][r.r] = [];\n\t\t\tcell = sheet[\"!data\"][r.r][r.c];\n\t\t} else cell = sheet[comment.ref];\n\t\tif (!cell) {\n\t\t\tcell = ({t:\"z\"}/*:any*/);\n\t\t\tif(dense) sheet[\"!data\"][r.r][r.c] = cell;\n\t\t\telse sheet[comment.ref] = cell;\n\t\t\tvar range = safe_decode_range(sheet[\"!ref\"]||\"BDWGO1000001:A1\");\n\t\t\tif(range.s.r > r.r) range.s.r = r.r;\n\t\t\tif(range.e.r < r.r) range.e.r = r.r;\n\t\t\tif(range.s.c > r.c) range.s.c = r.c;\n\t\t\tif(range.e.c < r.c) range.e.c = r.c;\n\t\t\tvar encoded = encode_range(range);\n\t\t\tsheet[\"!ref\"] = encoded;\n\t\t}\n\n\t\tif (!cell.c) cell.c = [];\n\t\tvar o/*:Comment*/ = ({a: comment.author, t: comment.t, r: comment.r, T: threaded});\n\t\tif(comment.h) o.h = comment.h;\n\n\t\t/* threaded comments always override */\n\t\tfor(var i = cell.c.length - 1; i >= 0; --i) {\n\t\t\tif(!threaded && cell.c[i].T) return;\n\t\t\tif(threaded && !cell.c[i].T) cell.c.splice(i, 1);\n\t\t}\n\t\tif(threaded && people) for(i = 0; i < people.length; ++i) {\n\t\t\tif(o.a == people[i].id) { o.a = people[i].name || o.a; break; }\n\t\t}\n\t\tcell.c.push(o);\n\t});\n}\n/* 18.7 Comments */\nfunction parse_comments_xml(data/*:string*/, opts)/*:Array*/ {\n\t/* 18.7.6 CT_Comments */\n\tif(data.match(/<(?:\\w+:)?comments *\\/>/)) return [];\n\tvar authors/*:Array*/ = [];\n\tvar commentList/*:Array*/ = [];\n\tvar authtag = str_match_xml_ns(data, \"authors\");\n\tif(authtag && authtag[1]) authtag[1].split(/<\\/\\w*:?author>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar a = x.match(/<(?:\\w+:)?author[^<>]*>(.*)/);\n\t\tif(a) authors.push(a[1]);\n\t});\n\tvar cmnttag = str_match_xml_ns(data, \"commentList\");\n\tif(cmnttag && cmnttag[1]) cmnttag[1].split(/<\\/\\w*:?comment>/).forEach(function(x) {\n\t\tif(x === \"\" || x.trim() === \"\") return;\n\t\tvar cm = x.match(/<(?:\\w+:)?comment[^<>]*>/);\n\t\tif(!cm) return;\n\t\tvar y = parsexmltag(cm[0]);\n\t\tvar comment/*:RawComment*/ = ({ author: y.authorId && authors[y.authorId] || \"sheetjsghost\", ref: y.ref, guid: y.guid }/*:any*/);\n\t\tvar cell = decode_cell(y.ref);\n\t\tif(opts.sheetRows && opts.sheetRows <= cell.r) return;\n\t\tvar textMatch = str_match_xml_ns(x, \"text\");\n\t\tvar rt = !!textMatch && !!textMatch[1] && parse_si(textMatch[1]) || {r:\"\",t:\"\",h:\"\"};\n\t\tcomment.r = rt.r;\n\t\tif(rt.r == \"\") rt.t = rt.h = \"\";\n\t\tcomment.t = (rt.t||\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\t\tif(opts.cellHTML) comment.h = rt.h;\n\t\tcommentList.push(comment);\n\t});\n\treturn commentList;\n}\n\nfunction write_comments_xml(data/*::, opts*/) {\n\tvar o = [XML_HEADER, writextag('comments', null, { 'xmlns': XMLNS_main[0] })];\n\n\tvar iauthor/*:Array*/ = [];\n\to.push(\"\");\n\tdata.forEach(function(x) { x[1].forEach(function(w) { var a = escapexml(w.a);\n\t\tif(iauthor.indexOf(a) == -1) {\n\t\t\tiauthor.push(a);\n\t\t\to.push(\"\" + a + \"\");\n\t\t}\n\t\tif(w.T && w.ID && iauthor.indexOf(\"tc=\" + w.ID) == -1) {\n\t\t\tiauthor.push(\"tc=\" + w.ID);\n\t\t\to.push(\"\" + \"tc=\" + w.ID + \"\");\n\t\t}\n\t}); });\n\tif(iauthor.length == 0) { iauthor.push(\"SheetJ5\"); o.push(\"SheetJ5\"); }\n\to.push(\"\");\n\to.push(\"\");\n\tdata.forEach(function(d) {\n\t\t/* 18.7.3 CT_Comment */\n\t\tvar lastauthor = 0, ts = [], tcnt = 0;\n\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\td[1].forEach(function(c) {\n\t\t\tif(c.a) lastauthor = iauthor.indexOf(escapexml(c.a));\n\t\t\tif(c.T) ++tcnt;\n\t\t\tts.push(c.t == null ? \"\" : escapexml(c.t));\n\t\t});\n\t\tif(tcnt === 0) {\n\t\t\td[1].forEach(function(c) {\n\t\t\t\to.push('');\n\t\t\t\to.push(writetag(\"t\", c.t == null ? \"\" : escapexml(c.t)));\n\t\t\t\to.push('');\n\t\t\t});\n\t\t} else {\n\t\t\tif(d[1][0] && d[1][0].T && d[1][0].ID) lastauthor = iauthor.indexOf(\"tc=\" + d[1][0].ID);\n\t\t\t/* based on Threaded Comments -> Comments projection */\n\t\t\to.push('');\n\t\t\tvar t = \"Comment:\\n \" + (ts[0]) + \"\\n\";\n\t\t\tfor(var i = 1; i < ts.length; ++i) t += \"Reply:\\n \" + ts[i] + \"\\n\";\n\t\t\to.push(writetag(\"t\", escapexml(t)));\n\t\t\to.push('');\n\t\t}\n\t});\n\to.push(\"\");\n\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.17 */\nfunction parse_tcmnt_xml(data/*:string*/, opts)/*:Array*/ {\n\tvar out = [];\n\tvar pass = false, comment = {}, tidx = 0;\n\tdata.replace(tagregex, function xml_tcmnt(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.205 threadedComment CT_ThreadedComment */\n\t\t\tcase '': if(comment.t != null) out.push(comment); break;\n\n\t\t\tcase '': case '': comment.t = data.slice(tidx, idx).replace(/\\r\\n/g, \"\\n\").replace(/\\r/g, \"\\n\"); break;\n\n\t\t\t/* 2.6.206 mentions CT_ThreadedCommentMentions TODO */\n\t\t\tcase '': pass = true; break;\n\t\t\tcase '': pass = false; break;\n\n\t\t\t/* 2.6.202 mention CT_Mention TODO */\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '
': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\n\nfunction write_tcmnt_xml(comments, people, opts) {\n\tvar o = [XML_HEADER, writextag('ThreadedComments', null, { 'xmlns': XMLNS.TCMNT }).replace(/[\\/]>/, \">\")];\n\tcomments.forEach(function(carr) {\n\t\tvar rootid = \"\";\n\t\t(carr[1] || []).forEach(function(c, idx) {\n\t\t\tif(!c.T) { delete c.ID; return; }\n\t\t\tif(c.a && people.indexOf(c.a) == -1) people.push(c.a);\n\t\t\tvar tcopts = {\n\t\t\t\tref: carr[0],\n\t\t\t\tid: \"{54EE7951-7262-4200-6969-\" + (\"000000000000\" + opts.tcid++).slice(-12) + \"}\"\n\t\t\t};\n\t\t\tif(idx == 0) rootid = tcopts.id;\n\t\t\telse tcopts.parentId = rootid;\n\t\t\tc.ID = tcopts.id;\n\t\t\tif(c.a) tcopts.personId = \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + people.indexOf(c.a)).slice(-12) + \"}\";\n\t\t\to.push(writextag('threadedComment', writetag('text', c.t||\"\"), tcopts));\n\t\t});\n\t});\n\to.push('');\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSX] 2.1.18 */\nfunction parse_people_xml(data/*:string*/, opts) {\n\tvar out = [];\n\tvar pass = false;\n\tdata.replace(tagregex, function xml_tcmnt(x) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 2.6.203 person CT_Person TODO: providers */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.10 extLst CT_ExtensionList ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\tdefault: if(!pass && opts.WTF) throw new Error('unrecognized ' + y[0] + ' in threaded comments');\n\t\t}\n\t\treturn x;\n\t});\n\treturn out;\n}\nfunction write_people_xml(people/*, opts*/) {\n\tvar o = [XML_HEADER, writextag('personList', null, {\n\t\t'xmlns': XMLNS.TCMNT,\n\t\t'xmlns:x': XMLNS_main[0]\n\t}).replace(/[\\/]>/, \">\")];\n\tpeople.forEach(function(person, idx) {\n\t\to.push(writextag('person', null, {\n\t\t\tdisplayName: person,\n\t\t\tid: \"{54EE7950-7262-4200-6969-\" + (\"000000000000\" + idx).slice(-12) + \"}\",\n\t\t\tuserId: person,\n\t\t\tproviderId: \"None\"\n\t\t}));\n\t});\n\to.push(\"\");\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.28 BrtBeginComment */\nfunction parse_BrtBeginComment(data) {\n\tvar out = {};\n\tout.iauthor = data.read_shift(4);\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tout.rfx = rfx.s;\n\tout.ref = encode_cell(rfx.s);\n\tdata.l += 16; /*var guid = parse_GUID(data); */\n\treturn out;\n}\nfunction write_BrtBeginComment(data, o) {\n\tif(o == null) o = new_buf(36);\n\to.write_shift(4, data[1].iauthor);\n\twrite_UncheckedRfX((data[0]/*:any*/), o);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\to.write_shift(4, 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.327 BrtCommentAuthor */\nvar parse_BrtCommentAuthor = parse_XLWideString;\nfunction write_BrtCommentAuthor(data) { return write_XLWideString(data.slice(0, 54)); }\n\n/* [MS-XLSB] 2.1.7.8 Comments */\nfunction parse_comments_bin(data, opts)/*:Array*/ {\n\tvar out/*:Array*/ = [];\n\tvar authors/*:Array*/ = [];\n\tvar c = {};\n\tvar pass = false;\n\trecordhopper(data, function hopper_cmnt(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x0278: /* 'BrtCommentAuthor' */\n\t\t\t\tauthors.push(val); break;\n\t\t\tcase 0x027B: /* 'BrtBeginComment' */\n\t\t\t\tc = val; break;\n\t\t\tcase 0x027D: /* 'BrtCommentText' */\n\t\t\t\tc.t = val.t; c.h = val.h; c.r = val.r; break;\n\t\t\tcase 0x027C: /* 'BrtEndComment' */\n\t\t\t\tc.author = authors[c.iauthor];\n\t\t\t\tdelete (c/*:any*/).iauthor;\n\t\t\t\tif(opts.sheetRows && c.rfx && opts.sheetRows <= c.rfx.r) break;\n\t\t\t\tif(!c.t) c.t = \"\";\n\t\t\t\tdelete c.rfx; out.push(c); break;\n\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */ break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */ break;\n\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t});\n\treturn out;\n}\n\nfunction write_comments_bin(data/*::, opts*/) {\n\tvar ba = buf_array();\n\tvar iauthor/*:Array*/ = [];\n\twrite_record(ba, 0x0274 /* BrtBeginComments */);\n\n\twrite_record(ba, 0x0276 /* BrtBeginCommentAuthors */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tif(iauthor.indexOf(c.a) > -1) return;\n\t\t\tiauthor.push(c.a.slice(0,54));\n\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(c.a));\n\t\t\tif(c.T && c.ID && iauthor.indexOf(\"tc=\" + c.ID) == -1) {\n\t\t\t\tiauthor.push(\"tc=\" + c.ID);\n\t\t\t\twrite_record(ba, 0x0278 /* BrtCommentAuthor */, write_BrtCommentAuthor(\"tc=\" + c.ID));\n\t\t\t}\n\t\t});\n\t});\n\twrite_record(ba, 0x0277 /* BrtEndCommentAuthors */);\n\n\twrite_record(ba, 0x0279 /* BrtBeginCommentList */);\n\tdata.forEach(function(comment) {\n\t\tcomment[1].forEach(function(c) {\n\t\t\tvar _ia = -1;\n\t\t\tif(c.ID) _ia = iauthor.indexOf(\"tc=\" + c.ID);\n\t\t\tif(_ia == -1 && comment[1][0].T && comment[1][0].ID) _ia = iauthor.indexOf(\"tc=\" + comment[1][0].ID);\n\t\t\tif(_ia == -1) _ia = iauthor.indexOf(c.a);\n\t\t\tc.iauthor = _ia;\n\t\t\tvar range = {s:decode_cell(comment[0]),e:decode_cell(comment[0])};\n\t\t\twrite_record(ba, 0x027B /* BrtBeginComment */, write_BrtBeginComment([range, c]));\n\t\t\tif(c.t && c.t.length > 0) write_record(ba, 0x027D /* BrtCommentText */, write_BrtCommentText(c));\n\t\t\twrite_record(ba, 0x027C /* BrtEndComment */);\n\t\t\tdelete c.iauthor;\n\t\t});\n\t});\n\twrite_record(ba, 0x027A /* BrtEndCommentList */);\n\n\twrite_record(ba, 0x0275 /* BrtEndComments */);\n\treturn ba.end();\n}\nvar CT_VBA = \"application/vnd.ms-office.vbaProject\";\nfunction make_vba_xls(cfb) {\n var newcfb = CFB.utils.cfb_new({ root: \"R\" });\n cfb.FullPaths.forEach(function(p, i) {\n if (p.slice(-1) === \"/\" || !p.match(/_VBA_PROJECT_CUR/))\n return;\n var newpath = p.replace(/^[^\\/]*/, \"R\").replace(/\\/_VBA_PROJECT_CUR\\u0000*/, \"\");\n CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);\n });\n return CFB.write(newcfb);\n}\nfunction fill_vba_xls(cfb, vba) {\n vba.FullPaths.forEach(function(p, i) {\n if (i == 0)\n return;\n var newpath = p.replace(/^[\\/]*[^\\/]*[\\/]/, \"/_VBA_PROJECT_CUR/\");\n if (newpath.slice(-1) !== \"/\")\n CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);\n });\n}\nvar VBAFMTS = [\"xlsb\", \"xlsm\", \"xlam\", \"biff8\", \"xla\"];\n/* macro and dialog sheet stubs */\nfunction parse_ds_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ds_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'dialog'}; }\nfunction parse_ms_bin(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\nfunction parse_ms_xml(/*::data:any, opts, idx:number, rels, wb, themes, styles*/)/*:Worksheet*/ { return {'!type':'macro'}; }\n/* TODO: it will be useful to parse the function str */\nvar rc_to_a1 = /*#__PURE__*/(function(){\n\tvar rcregex = /(^|[^A-Za-z_])R(\\[?-?\\d+\\]|[1-9]\\d*|)C(\\[?-?\\d+\\]|[1-9]\\d*|)(?![A-Za-z0-9_])/g;\n\tvar rcbase/*:Cell*/ = ({r:0,c:0}/*:any*/);\n\tfunction rcfunc($$,$1,$2,$3) {\n\t\tvar cRel = false, rRel = false;\n\n\t\tif($2.length == 0) rRel = true;\n\t\telse if($2.charAt(0) == \"[\") { rRel = true; $2 = $2.slice(1, -1); }\n\n\t\tif($3.length == 0) cRel = true;\n\t\telse if($3.charAt(0) == \"[\") { cRel = true; $3 = $3.slice(1, -1); }\n\n\t\tvar R = $2.length>0?parseInt($2,10)|0:0, C = $3.length>0?parseInt($3,10)|0:0;\n\n\t\tif(cRel) C += rcbase.c; else --C;\n\t\tif(rRel) R += rcbase.r; else --R;\n\t\treturn $1 + (cRel ? \"\" : \"$\") + encode_col(C) + (rRel ? \"\" : \"$\") + encode_row(R);\n\t}\n\treturn function rc_to_a1(fstr/*:string*/, base/*:Cell*/)/*:string*/ {\n\t\trcbase = base;\n\t\treturn fstr.replace(rcregex, rcfunc);\n\t};\n})();\n\nvar crefregex = /(^|[^._A-Z0-9])(\\$?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])(\\$?)(\\d{1,7})(?![_.\\(A-Za-z0-9])/g;\ntry {\n\tcrefregex = /(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})(?![_.\\(A-Za-z0-9])/g;\n}catch(e){}\nvar a1_to_rc = /*#__PURE__*/(function(){\n\treturn function a1_to_rc(fstr/*:string*/, base/*:CellAddress*/) {\n\t\treturn fstr.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\t\tvar c = decode_col($3) - ($2 ? 0 : base.c);\n\t\t\tvar r = decode_row($5) - ($4 ? 0 : base.r);\n\t\t\tvar R = $4 == \"$\" ? (r+1) : (r == 0 ? \"\" : \"[\" + r + \"]\");\n\t\t\tvar C = $2 == \"$\" ? (c+1) : (c == 0 ? \"\" : \"[\" + c + \"]\");\n\t\t\treturn $1 + \"R\" + R + \"C\" + C;\n\t\t});\n\t};\n})();\n\n/* no defined name can collide with a valid cell address A1:XFD1048576 ... except LOG10! */\nfunction shift_formula_str(f/*:string*/, delta/*:Cell*/)/*:string*/ {\n\treturn f.replace(crefregex, function($0, $1, $2, $3, $4, $5) {\n\t\treturn $1+($2==\"$\" ? $2+$3 : encode_col(decode_col($3)+delta.c))+($4==\"$\" ? $4+$5 : encode_row(decode_row($5) + delta.r));\n\t});\n}\n\nfunction shift_formula_xlsx(f/*:string*/, range/*:string*/, cell/*:string*/)/*:string*/ {\n\tvar r = decode_range(range), s = r.s, c = decode_cell(cell);\n\tvar delta = {r:c.r - s.r, c:c.c - s.c};\n\treturn shift_formula_str(f, delta);\n}\n\n/* TODO: parse formula */\nfunction fuzzyfmla(f/*:string*/)/*:boolean*/ {\n\tif(f.length == 1) return false;\n\treturn true;\n}\n\nfunction _xlfn(f/*:string*/)/*:string*/ {\n\treturn f.replace(/_xlfn\\./g,\"\");\n}\nfunction parseread1(blob) { blob.l+=1; return; }\n\n/* [MS-XLS] 2.5.51 */\nfunction parse_ColRelU(blob, length) {\n\tvar c = blob.read_shift(length == 1 ? 1 : 2);\n\treturn [c & 0x3FFF, (c >> 14) & 1, (c >> 15) & 1];\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.89 */\nfunction parse_RgceArea(blob, length, opts) {\n\tvar w = 2;\n\tif(opts) {\n\t\tif(opts.biff >= 2 && opts.biff <= 5) return parse_RgceArea_BIFF2(blob, length, opts);\n\t\telse if(opts.biff == 12) w = 4;\n\t}\n\tvar r=blob.read_shift(w), R=blob.read_shift(w);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n/* BIFF 2-5 encodes flags in the row field */\nfunction parse_RgceArea_BIFF2(blob/*::, length, opts*/) {\n\tvar r=parse_ColRelU(blob, 2), R=parse_ColRelU(blob, 2);\n\tvar c=blob.read_shift(1);\n\tvar C=blob.read_shift(1);\n\treturn { s:{r:r[0], c:c, cRel:r[1], rRel:r[2]}, e:{r:R[0], c:C, cRel:R[1], rRel:R[2]} };\n}\n\n/* [MS-XLS] 2.5.198.105 ; [MS-XLSB] 2.5.97.90 */\nfunction parse_RgceAreaRel(blob, length, opts) {\n\tif(opts.biff < 8) return parse_RgceArea_BIFF2(blob, length, opts);\n\tvar r=blob.read_shift(opts.biff == 12 ? 4 : 2), R=blob.read_shift(opts.biff == 12 ? 4 : 2);\n\tvar c=parse_ColRelU(blob, 2);\n\tvar C=parse_ColRelU(blob, 2);\n\treturn { s:{r:r, c:c[0], cRel:c[1], rRel:c[2]}, e:{r:R, c:C[0], cRel:C[1], rRel:C[2]} };\n}\n\n/* [MS-XLS] 2.5.198.109 ; [MS-XLSB] 2.5.97.91 */\nfunction parse_RgceLoc(blob, length, opts) {\n\tif(opts && opts.biff >= 2 && opts.biff <= 5) return parse_RgceLoc_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(opts && opts.biff == 12 ? 4 : 2);\n\tvar c = parse_ColRelU(blob, 2);\n\treturn {r:r, c:c[0], cRel:c[1], rRel:c[2]};\n}\nfunction parse_RgceLoc_BIFF2(blob/*::, length, opts*/) {\n\tvar r = parse_ColRelU(blob, 2);\n\tvar c = blob.read_shift(1);\n\treturn {r:r[0], c:c, cRel:r[1], rRel:r[2]};\n}\n\n/* [MS-XLS] 2.5.198.107, 2.5.47 */\nfunction parse_RgceElfLoc(blob/*::, length, opts*/) {\n\tvar r = blob.read_shift(2);\n\tvar c = blob.read_shift(2);\n\treturn {r:r, c:c & 0xFF, fQuoted:!!(c & 0x4000), cRel:c>>15, rRel:c>>15 };\n}\n\n/* [MS-XLS] 2.5.198.111 ; [MS-XLSB] 2.5.97.92 TODO */\nfunction parse_RgceLocRel(blob, length, opts) {\n\tvar biff = opts && opts.biff ? opts.biff : 8;\n\tif(biff >= 2 && biff <= 5) return parse_RgceLocRel_BIFF2(blob, length, opts);\n\tvar r = blob.read_shift(biff >= 12 ? 4 : 2);\n\tvar cl = blob.read_shift(2);\n\tvar cRel = (cl & 0x4000) >> 14, rRel = (cl & 0x8000) >> 15;\n\tcl &= 0x3FFF;\n\tif(rRel == 1) while(r > 0x7FFFF) r -= 0x100000;\n\tif(cRel == 1) while(cl > 0x1FFF) cl = cl - 0x4000;\n\treturn {r:r,c:cl,cRel:cRel,rRel:rRel};\n}\nfunction parse_RgceLocRel_BIFF2(blob/*::, length:number, opts*/) {\n\tvar rl = blob.read_shift(2);\n\tvar c = blob.read_shift(1);\n\tvar rRel = (rl & 0x8000) >> 15, cRel = (rl & 0x4000) >> 14;\n\trl &= 0x3FFF;\n\tif(rRel == 1 && rl >= 0x2000) rl = rl - 0x4000;\n\tif(cRel == 1 && c >= 0x80) c = c - 0x100;\n\treturn {r:rl,c:c,cRel:cRel,rRel:rRel};\n}\n\n/* [MS-XLS] 2.5.198.27 ; [MS-XLSB] 2.5.97.18 */\nfunction parse_PtgArea(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceArea(blob, opts.biff >= 2 && opts.biff <= 5 ? 6 : 8, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.28 ; [MS-XLSB] 2.5.97.19 */\nfunction parse_PtgArea3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2, 'i');\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tvar area = parse_RgceArea(blob, w, opts);\n\treturn [type, ixti, area];\n}\n\n/* [MS-XLS] 2.5.198.29 ; [MS-XLSB] 2.5.97.20 */\nfunction parse_PtgAreaErr(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts && (opts.biff > 8) ? 12 : (opts.biff < 8 ? 6 : 8);\n\treturn [type];\n}\n/* [MS-XLS] 2.5.198.30 ; [MS-XLSB] 2.5.97.21 */\nfunction parse_PtgAreaErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 8;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: blob.l += 12; w = 6; break;\n\t\tcase 12: w = 12; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.31 ; [MS-XLSB] 2.5.97.22 */\nfunction parse_PtgAreaN(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar area = parse_RgceAreaRel(blob, length - 1, opts);\n\treturn [type, area];\n}\n\n/* [MS-XLS] 2.5.198.32 ; [MS-XLSB] 2.5.97.23 */\nfunction parse_PtgArray(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tblob.l += opts.biff == 2 ? 6 : opts.biff == 12 ? 14 : 7;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.33 ; [MS-XLSB] 2.5.97.24 */\nfunction parse_PtgAttrBaxcel(blob) {\n\tvar bitSemi = blob[blob.l+1] & 0x01; /* 1 = volatile */\n\tvar bitBaxcel = 1;\n\tblob.l += 4;\n\treturn [bitSemi, bitBaxcel];\n}\n\n/* [MS-XLS] 2.5.198.34 ; [MS-XLSB] 2.5.97.25 */\nfunction parse_PtgAttrChoose(blob, length, opts)/*:Array*/ {\n\tblob.l +=2;\n\tvar offset = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\tvar o/*:Array*/ = [];\n\t/* offset is 1 less than the number of elements */\n\tfor(var i = 0; i <= offset; ++i) o.push(blob.read_shift(opts && opts.biff == 2 ? 1 : 2));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.35 ; [MS-XLSB] 2.5.97.26 */\nfunction parse_PtgAttrGoto(blob, length, opts) {\n\tvar bitGoto = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitGoto, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLS] 2.5.198.36 ; [MS-XLSB] 2.5.97.27 */\nfunction parse_PtgAttrIf(blob, length, opts) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(opts && opts.biff == 2 ? 1 : 2)];\n}\n\n/* [MS-XLSB] 2.5.97.28 */\nfunction parse_PtgAttrIfError(blob) {\n\tvar bitIf = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += 2;\n\treturn [bitIf, blob.read_shift(2)];\n}\n\n/* [MS-XLS] 2.5.198.37 ; [MS-XLSB] 2.5.97.29 */\nfunction parse_PtgAttrSemi(blob, length, opts) {\n\tvar bitSemi = (blob[blob.l+1] & 0xFF) ? 1 : 0;\n\tblob.l += opts && opts.biff == 2 ? 3 : 4;\n\treturn [bitSemi];\n}\n\n/* [MS-XLS] 2.5.198.40 ; [MS-XLSB] 2.5.97.32 */\nfunction parse_PtgAttrSpaceType(blob/*::, length*/) {\n\tvar type = blob.read_shift(1), cch = blob.read_shift(1);\n\treturn [type, cch];\n}\n\n/* [MS-XLS] 2.5.198.38 ; [MS-XLSB] 2.5.97.30 */\nfunction parse_PtgAttrSpace(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.39 ; [MS-XLSB] 2.5.97.31 */\nfunction parse_PtgAttrSpaceSemi(blob) {\n\tblob.read_shift(2);\n\treturn parse_PtgAttrSpaceType(blob, 2);\n}\n\n/* [MS-XLS] 2.5.198.84 ; [MS-XLSB] 2.5.97.68 TODO */\nfunction parse_PtgRef(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLoc(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.88 ; [MS-XLSB] 2.5.97.72 TODO */\nfunction parse_PtgRefN(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar loc = parse_RgceLocRel(blob, 0, opts);\n\treturn [type, loc];\n}\n\n/* [MS-XLS] 2.5.198.85 ; [MS-XLSB] 2.5.97.69 TODO */\nfunction parse_PtgRef3d(blob, length, opts) {\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tif(opts && opts.biff == 5) blob.l += 12;\n\tvar loc = parse_RgceLoc(blob, 0, opts); // TODO: or RgceLocRel\n\treturn [type, ixti, loc];\n}\n\n\n/* [MS-XLS] 2.5.198.62 ; [MS-XLSB] 2.5.97.45 TODO */\nfunction parse_PtgFunc(blob, length, opts) {\n\t//var ptg = blob[blob.l] & 0x1F;\n\tvar type = (blob[blob.l] & 0x60)>>5;\n\tblob.l += 1;\n\tvar iftab = blob.read_shift(opts && opts.biff <= 3 ? 1 : 2);\n\treturn [FtabArgc[iftab], Ftab[iftab], type];\n}\n/* [MS-XLS] 2.5.198.63 ; [MS-XLSB] 2.5.97.46 TODO */\nfunction parse_PtgFuncVar(blob, length, opts) {\n\tvar type = blob[blob.l++];\n\tvar cparams = blob.read_shift(1), tab = opts && opts.biff <= 3 ? [(type == 0x58 ? -1 : 0), blob.read_shift(1)]: parsetab(blob);\n\treturn [cparams, (tab[0] === 0 ? Ftab : Cetab)[tab[1]]];\n}\n\nfunction parsetab(blob) {\n\treturn [blob[blob.l+1]>>7, blob.read_shift(2) & 0x7FFF];\n}\n\n/* [MS-XLS] 2.5.198.41 ; [MS-XLSB] 2.5.97.33 */\nfunction parse_PtgAttrSum(blob, length, opts) {\n\tblob.l += opts && opts.biff == 2 ? 3 : 4; return;\n}\n\n/* [MS-XLS] 2.5.198.58 ; [MS-XLSB] 2.5.97.40 */\nfunction parse_PtgExp(blob, length, opts) {\n\tblob.l++;\n\tif(opts && opts.biff == 12) return [blob.read_shift(4, 'i'), 0];\n\tvar row = blob.read_shift(2);\n\tvar col = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [row, col];\n}\n\n/* [MS-XLS] 2.5.198.57 ; [MS-XLSB] 2.5.97.39 */\nfunction parse_PtgErr(blob) { blob.l++; return BErr[blob.read_shift(1)]; }\n\n/* [MS-XLS] 2.5.198.66 ; [MS-XLSB] 2.5.97.49 */\nfunction parse_PtgInt(blob) { blob.l++; return blob.read_shift(2); }\n\n/* [MS-XLS] 2.5.198.42 ; [MS-XLSB] 2.5.97.34 */\nfunction parse_PtgBool(blob) { blob.l++; return blob.read_shift(1)!==0;}\n\n/* [MS-XLS] 2.5.198.79 ; [MS-XLSB] 2.5.97.63 */\nfunction parse_PtgNum(blob) { blob.l++; return parse_Xnum(blob, 8); }\n\n/* [MS-XLS] 2.5.198.89 ; [MS-XLSB] 2.5.97.74 */\nfunction parse_PtgStr(blob, length, opts) { blob.l++; return parse_ShortXLUnicodeString(blob, length-1, opts); }\n\n/* [MS-XLS] 2.5.192.112 + 2.5.192.11{3,4,5,6,7} */\n/* [MS-XLSB] 2.5.97.93 + 2.5.97.9{4,5,6,7} */\nfunction parse_SerAr(blob, biff/*:number*/) {\n\tvar val = [blob.read_shift(1)];\n\tif(biff == 12) switch(val[0]) {\n\t\tcase 0x02: val[0] = 0x04; break; /* SerBool */\n\t\tcase 0x04: val[0] = 0x10; break; /* SerErr */\n\t\tcase 0x00: val[0] = 0x01; break; /* SerNum */\n\t\tcase 0x01: val[0] = 0x02; break; /* SerStr */\n\t}\n\tswitch(val[0]) {\n\t\tcase 0x04: /* SerBool -- boolean */\n\t\t\tval[1] = parsebool(blob, 1) ? 'TRUE' : 'FALSE';\n\t\t\tif(biff != 12) blob.l += 7; break;\n\t\tcase 0x25: /* appears to be an alias */\n\t\tcase 0x10: /* SerErr -- error */\n\t\t\tval[1] = BErr[blob[blob.l]];\n\t\t\tblob.l += ((biff == 12) ? 4 : 8); break;\n\t\tcase 0x00: /* SerNil -- honestly, I'm not sure how to reproduce this */\n\t\t\tblob.l += 8; break;\n\t\tcase 0x01: /* SerNum -- Xnum */\n\t\t\tval[1] = parse_Xnum(blob, 8); break;\n\t\tcase 0x02: /* SerStr -- XLUnicodeString (<256 chars) */\n\t\t\tval[1] = parse_XLUnicodeString2(blob, 0, {biff:biff > 0 && biff < 8 ? 2 : biff}); break;\n\t\tdefault: throw new Error(\"Bad SerAr: \" + val[0]); /* Unreachable */\n\t}\n\treturn val;\n}\n\n/* [MS-XLS] 2.5.198.61 ; [MS-XLSB] 2.5.97.44 */\nfunction parse_PtgExtraMem(blob, cce, opts) {\n\tvar count = blob.read_shift((opts.biff == 12) ? 4 : 2);\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i != count; ++i) out.push(((opts.biff == 12) ? parse_UncheckedRfX : parse_Ref8U)(blob, 8));\n\treturn out;\n}\n\n/* [MS-XLS] 2.5.198.59 ; [MS-XLSB] 2.5.97.41 */\nfunction parse_PtgExtraArray(blob, length, opts) {\n\tvar rows = 0, cols = 0;\n\tif(opts.biff == 12) {\n\t\trows = blob.read_shift(4); // DRw\n\t\tcols = blob.read_shift(4); // DCol\n\t} else {\n\t\tcols = 1 + blob.read_shift(1); //DColByteU\n\t\trows = 1 + blob.read_shift(2); //DRw\n\t}\n\tif(opts.biff >= 2 && opts.biff < 8) { --rows; if(--cols == 0) cols = 0x100; }\n\t// $FlowIgnore\n\tfor(var i = 0, o/*:Array>*/ = []; i != rows && (o[i] = []); ++i)\n\t\tfor(var j = 0; j != cols; ++j) o[i][j] = parse_SerAr(blob, opts.biff);\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 */\nfunction parse_PtgName(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar w = (!opts || (opts.biff >= 8)) ? 4 : 2;\n\tvar nameindex = blob.read_shift(w);\n\tswitch(opts.biff) {\n\t\tcase 2: blob.l += 5; break;\n\t\tcase 3: case 4: blob.l += 8; break;\n\t\tcase 5: blob.l += 12; break;\n\t}\n\treturn [type, 0, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 */\nfunction parse_PtgNameX(blob, length, opts) {\n\tif(opts.biff == 5) return parse_PtgNameX_BIFF5(blob, length, opts);\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2); // XtiIndex\n\tvar nameindex = blob.read_shift(4);\n\treturn [type, ixti, nameindex];\n}\nfunction parse_PtgNameX_BIFF5(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar ixti = blob.read_shift(2, 'i'); // XtiIndex\n\tblob.l += 8;\n\tvar nameindex = blob.read_shift(2);\n\tblob.l += 12;\n\treturn [type, ixti, nameindex];\n}\n\n/* [MS-XLS] 2.5.198.70 ; [MS-XLSB] 2.5.97.54 */\nfunction parse_PtgMemArea(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += (opts && opts.biff == 2 ? 3 : 4);\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n/* [MS-XLS] 2.5.198.72 ; [MS-XLSB] 2.5.97.56 */\nfunction parse_PtgMemFunc(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(opts && opts.biff == 2 ? 1 : 2);\n\treturn [type, cce];\n}\n\n\n/* [MS-XLS] 2.5.198.86 ; [MS-XLSB] 2.5.97.69 */\nfunction parse_PtgRefErr(blob, length, opts) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tblob.l += 4;\n\tif(opts.biff < 8) blob.l--;\n\tif(opts.biff == 12) blob.l += 2;\n\treturn [type];\n}\n\n/* [MS-XLS] 2.5.198.87 ; [MS-XLSB] 2.5.97.71 */\nfunction parse_PtgRefErr3d(blob, length, opts) {\n\tvar type = (blob[blob.l++] & 0x60) >> 5;\n\tvar ixti = blob.read_shift(2);\n\tvar w = 4;\n\tif(opts) switch(opts.biff) {\n\t\tcase 5: w = 15; break;\n\t\tcase 12: w = 6; break;\n\t}\n\tblob.l += w;\n\treturn [type, ixti];\n}\n\n/* [MS-XLS] 2.5.198.71 ; [MS-XLSB] 2.5.97.55 */\nvar parse_PtgMemErr = parsenoop;\n/* [MS-XLS] 2.5.198.73 ; [MS-XLSB] 2.5.97.57 */\nvar parse_PtgMemNoMem = parsenoop;\n/* [MS-XLS] 2.5.198.92 */\nvar parse_PtgTbl = parsenoop;\n\nfunction parse_PtgElfLoc(blob, length, opts) {\n\tblob.l += 2;\n\treturn [parse_RgceElfLoc(blob, 4, opts)];\n}\nfunction parse_PtgElfNoop(blob/*::, length, opts*/) {\n\tblob.l += 6;\n\treturn [];\n}\n/* [MS-XLS] 2.5.198.46 */\nvar parse_PtgElfCol = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.47 */\nvar parse_PtgElfColS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.48 */\nvar parse_PtgElfColSV = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.49 */\nvar parse_PtgElfColV = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.50 */\nfunction parse_PtgElfLel(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [parseuint16(blob), blob.read_shift(2) & 0x01];\n}\n/* [MS-XLS] 2.5.198.51 */\nvar parse_PtgElfRadical = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.52 */\nvar parse_PtgElfRadicalLel = parse_PtgElfLel;\n/* [MS-XLS] 2.5.198.53 */\nvar parse_PtgElfRadicalS = parse_PtgElfNoop;\n/* [MS-XLS] 2.5.198.54 */\nvar parse_PtgElfRw = parse_PtgElfLoc;\n/* [MS-XLS] 2.5.198.55 */\nvar parse_PtgElfRwV = parse_PtgElfLoc;\n\n/* [MS-XLSB] 2.5.97.52 TODO */\nvar PtgListRT = [\n\t\"Data\",\n\t\"All\",\n\t\"Headers\",\n\t\"??\",\n\t\"?Data2\",\n\t\"??\",\n\t\"?DataHeaders\",\n\t\"??\",\n\t\"Totals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?DataTotals\",\n\t\"??\",\n\t\"??\",\n\t\"??\",\n\t\"?Current\"\n];\nfunction parse_PtgList(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\tvar ixti = blob.read_shift(2);\n\tvar flags = blob.read_shift(2);\n\tvar idx = blob.read_shift(4);\n\tvar c = blob.read_shift(2);\n\tvar C = blob.read_shift(2);\n\tvar rt = PtgListRT[(flags >> 2) & 0x1F];\n\treturn {ixti: ixti, coltype:(flags&0x3), rt:rt, idx:idx, c:c, C:C};\n}\n/* [MS-XLS] 2.5.198.91 ; [MS-XLSB] 2.5.97.76 */\nfunction parse_PtgSxName(blob/*::, length, opts*/) {\n\tblob.l += 2;\n\treturn [blob.read_shift(4)];\n}\n\n/* [XLS] old spec */\nfunction parse_PtgSheet(blob, length, opts) {\n\tblob.l += 5;\n\tblob.l += 2;\n\tblob.l += (opts.biff == 2 ? 1 : 4);\n\treturn [\"PTGSHEET\"];\n}\nfunction parse_PtgEndSheet(blob, length, opts) {\n\tblob.l += (opts.biff == 2 ? 4 : 5);\n\treturn [\"PTGENDSHEET\"];\n}\nfunction parse_PtgMemAreaN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgMemNoMemN(blob/*::, length, opts*/) {\n\tvar type = (blob.read_shift(1) >>> 5) & 0x03;\n\tvar cce = blob.read_shift(2);\n\treturn [type, cce];\n}\nfunction parse_PtgAttrNoop(blob/*::, length, opts*/) {\n\tblob.l += 4;\n\treturn [0, 0];\n}\n\n/* [MS-XLS] 2.5.198.25 ; [MS-XLSB] 2.5.97.16 */\nvar PtgTypes = {\n\t0x01: { n:'PtgExp', f:parse_PtgExp },\n\t0x02: { n:'PtgTbl', f:parse_PtgTbl },\n\t0x03: { n:'PtgAdd', f:parseread1 },\n\t0x04: { n:'PtgSub', f:parseread1 },\n\t0x05: { n:'PtgMul', f:parseread1 },\n\t0x06: { n:'PtgDiv', f:parseread1 },\n\t0x07: { n:'PtgPower', f:parseread1 },\n\t0x08: { n:'PtgConcat', f:parseread1 },\n\t0x09: { n:'PtgLt', f:parseread1 },\n\t0x0A: { n:'PtgLe', f:parseread1 },\n\t0x0B: { n:'PtgEq', f:parseread1 },\n\t0x0C: { n:'PtgGe', f:parseread1 },\n\t0x0D: { n:'PtgGt', f:parseread1 },\n\t0x0E: { n:'PtgNe', f:parseread1 },\n\t0x0F: { n:'PtgIsect', f:parseread1 },\n\t0x10: { n:'PtgUnion', f:parseread1 },\n\t0x11: { n:'PtgRange', f:parseread1 },\n\t0x12: { n:'PtgUplus', f:parseread1 },\n\t0x13: { n:'PtgUminus', f:parseread1 },\n\t0x14: { n:'PtgPercent', f:parseread1 },\n\t0x15: { n:'PtgParen', f:parseread1 },\n\t0x16: { n:'PtgMissArg', f:parseread1 },\n\t0x17: { n:'PtgStr', f:parse_PtgStr },\n\t0x1A: { n:'PtgSheet', f:parse_PtgSheet },\n\t0x1B: { n:'PtgEndSheet', f:parse_PtgEndSheet },\n\t0x1C: { n:'PtgErr', f:parse_PtgErr },\n\t0x1D: { n:'PtgBool', f:parse_PtgBool },\n\t0x1E: { n:'PtgInt', f:parse_PtgInt },\n\t0x1F: { n:'PtgNum', f:parse_PtgNum },\n\t0x20: { n:'PtgArray', f:parse_PtgArray },\n\t0x21: { n:'PtgFunc', f:parse_PtgFunc },\n\t0x22: { n:'PtgFuncVar', f:parse_PtgFuncVar },\n\t0x23: { n:'PtgName', f:parse_PtgName },\n\t0x24: { n:'PtgRef', f:parse_PtgRef },\n\t0x25: { n:'PtgArea', f:parse_PtgArea },\n\t0x26: { n:'PtgMemArea', f:parse_PtgMemArea },\n\t0x27: { n:'PtgMemErr', f:parse_PtgMemErr },\n\t0x28: { n:'PtgMemNoMem', f:parse_PtgMemNoMem },\n\t0x29: { n:'PtgMemFunc', f:parse_PtgMemFunc },\n\t0x2A: { n:'PtgRefErr', f:parse_PtgRefErr },\n\t0x2B: { n:'PtgAreaErr', f:parse_PtgAreaErr },\n\t0x2C: { n:'PtgRefN', f:parse_PtgRefN },\n\t0x2D: { n:'PtgAreaN', f:parse_PtgAreaN },\n\t0x2E: { n:'PtgMemAreaN', f:parse_PtgMemAreaN },\n\t0x2F: { n:'PtgMemNoMemN', f:parse_PtgMemNoMemN },\n\t0x39: { n:'PtgNameX', f:parse_PtgNameX },\n\t0x3A: { n:'PtgRef3d', f:parse_PtgRef3d },\n\t0x3B: { n:'PtgArea3d', f:parse_PtgArea3d },\n\t0x3C: { n:'PtgRefErr3d', f:parse_PtgRefErr3d },\n\t0x3D: { n:'PtgAreaErr3d', f:parse_PtgAreaErr3d },\n\t0xFF: {}\n};\n/* These are duplicated in the PtgTypes table */\nvar PtgDupes = {\n\t0x40: 0x20, 0x60: 0x20,\n\t0x41: 0x21, 0x61: 0x21,\n\t0x42: 0x22, 0x62: 0x22,\n\t0x43: 0x23, 0x63: 0x23,\n\t0x44: 0x24, 0x64: 0x24,\n\t0x45: 0x25, 0x65: 0x25,\n\t0x46: 0x26, 0x66: 0x26,\n\t0x47: 0x27, 0x67: 0x27,\n\t0x48: 0x28, 0x68: 0x28,\n\t0x49: 0x29, 0x69: 0x29,\n\t0x4A: 0x2A, 0x6A: 0x2A,\n\t0x4B: 0x2B, 0x6B: 0x2B,\n\t0x4C: 0x2C, 0x6C: 0x2C,\n\t0x4D: 0x2D, 0x6D: 0x2D,\n\t0x4E: 0x2E, 0x6E: 0x2E,\n\t0x4F: 0x2F, 0x6F: 0x2F,\n\t0x58: 0x22, 0x78: 0x22,\n\t0x59: 0x39, 0x79: 0x39,\n\t0x5A: 0x3A, 0x7A: 0x3A,\n\t0x5B: 0x3B, 0x7B: 0x3B,\n\t0x5C: 0x3C, 0x7C: 0x3C,\n\t0x5D: 0x3D, 0x7D: 0x3D\n};\n\nvar Ptg18 = {\n\t0x01: { n:'PtgElfLel', f:parse_PtgElfLel },\n\t0x02: { n:'PtgElfRw', f:parse_PtgElfRw },\n\t0x03: { n:'PtgElfCol', f:parse_PtgElfCol },\n\t0x06: { n:'PtgElfRwV', f:parse_PtgElfRwV },\n\t0x07: { n:'PtgElfColV', f:parse_PtgElfColV },\n\t0x0A: { n:'PtgElfRadical', f:parse_PtgElfRadical },\n\t0x0B: { n:'PtgElfRadicalS', f:parse_PtgElfRadicalS },\n\t0x0D: { n:'PtgElfColS', f:parse_PtgElfColS },\n\t0x0F: { n:'PtgElfColSV', f:parse_PtgElfColSV },\n\t0x10: { n:'PtgElfRadicalLel', f:parse_PtgElfRadicalLel },\n\t0x19: { n:'PtgList', f:parse_PtgList },\n\t0x1D: { n:'PtgSxName', f:parse_PtgSxName },\n\t0xFF: {}\n};\nvar Ptg19 = {\n\t0x00: { n:'PtgAttrNoop', f:parse_PtgAttrNoop },\n\t0x01: { n:'PtgAttrSemi', f:parse_PtgAttrSemi },\n\t0x02: { n:'PtgAttrIf', f:parse_PtgAttrIf },\n\t0x04: { n:'PtgAttrChoose', f:parse_PtgAttrChoose },\n\t0x08: { n:'PtgAttrGoto', f:parse_PtgAttrGoto },\n\t0x10: { n:'PtgAttrSum', f:parse_PtgAttrSum },\n\t0x20: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t0x21: { n:'PtgAttrBaxcel', f:parse_PtgAttrBaxcel },\n\t0x40: { n:'PtgAttrSpace', f:parse_PtgAttrSpace },\n\t0x41: { n:'PtgAttrSpaceSemi', f:parse_PtgAttrSpaceSemi },\n\t0x80: { n:'PtgAttrIfError', f:parse_PtgAttrIfError },\n\t0xFF: {}\n};\n\n/* [MS-XLS] 2.5.198.103 ; [MS-XLSB] 2.5.97.87 */\nfunction parse_RgbExtra(blob, length, rgce, opts) {\n\tif(opts.biff < 8) return parsenoop(blob, length);\n\tvar target = blob.l + length;\n\tvar o = [];\n\tfor(var i = 0; i !== rgce.length; ++i) {\n\t\tswitch(rgce[i][0]) {\n\t\t\tcase 'PtgArray': /* PtgArray -> PtgExtraArray */\n\t\t\t\trgce[i][1] = parse_PtgExtraArray(blob, 0, opts);\n\t\t\t\to.push(rgce[i][1]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemArea': /* PtgMemArea -> PtgExtraMem */\n\t\t\t\trgce[i][2] = parse_PtgExtraMem(blob, rgce[i][1], opts);\n\t\t\t\to.push(rgce[i][2]);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgExp': /* PtgExp -> PtgExtraCol */\n\t\t\t\tif(opts && opts.biff == 12) {\n\t\t\t\t\trgce[i][1][1] = blob.read_shift(4);\n\t\t\t\t\to.push(rgce[i][1]);\n\t\t\t\t} break;\n\t\t\tcase 'PtgList': /* TODO: PtgList -> PtgExtraList */\n\t\t\tcase 'PtgElfRadicalS': /* TODO: PtgElfRadicalS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColS': /* TODO: PtgElfColS -> PtgExtraElf */\n\t\t\tcase 'PtgElfColSV': /* TODO: PtgElfColSV -> PtgExtraElf */\n\t\t\t\tthrow \"Unsupported \" + rgce[i][0];\n\t\t\tdefault: break;\n\t\t}\n\t}\n\tlength = target - blob.l;\n\t/* note: this is technically an error but Excel disregards */\n\t//if(target !== blob.l && blob.l !== target - length) throw new Error(target + \" != \" + blob.l);\n\tif(length !== 0) o.push(parsenoop(blob, length));\n\treturn o;\n}\n\n/* [MS-XLS] 2.5.198.104 ; [MS-XLSB] 2.5.97.88 */\nfunction parse_Rgce(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar R, id, ptgs = [];\n\twhile(target != blob.l) {\n\t\tlength = target - blob.l;\n\t\tid = blob[blob.l];\n\t\tR = PtgTypes[id] || PtgTypes[PtgDupes[id]];\n\t\tif(id === 0x18 || id === 0x19) R = (id === 0x18 ? Ptg18 : Ptg19)[blob[blob.l + 1]];\n\t\tif(!R || !R.f) { /*ptgs.push*/(parsenoop(blob, length)); }\n\t\telse { ptgs.push([R.n, R.f(blob, length, opts)]); }\n\t}\n\treturn ptgs;\n}\n\nfunction stringify_array(f/*:Array>*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tfor(var i = 0; i < f.length; ++i) {\n\t\tvar x = f[i], r/*:Array*/ = [];\n\t\tfor(var j = 0; j < x.length; ++j) {\n\t\t\tvar y = x[j];\n\t\t\tif(y) switch(y[0]) {\n\t\t\t\t// TODO: handle embedded quotes\n\t\t\t\tcase 0x02:\n\t\t\t\t\t/*:: if(typeof y[1] != 'string') throw \"unreachable\"; */\n\t\t\t\t\tr.push('\"' + y[1].replace(/\"/g,'\"\"') + '\"'); break;\n\t\t\t\tdefault: r.push(y[1]);\n\t\t\t} else r.push(\"\");\n\t\t}\n\t\to.push(r.join(\",\"));\n\t}\n\treturn o.join(\";\");\n}\n\n/* [MS-XLS] 2.2.2 ; [MS-XLSB] 2.2.2 TODO */\nvar PtgBinOp = {\n\tPtgAdd: \"+\",\n\tPtgConcat: \"&\",\n\tPtgDiv: \"/\",\n\tPtgEq: \"=\",\n\tPtgGe: \">=\",\n\tPtgGt: \">\",\n\tPtgLe: \"<=\",\n\tPtgLt: \"<\",\n\tPtgMul: \"*\",\n\tPtgNe: \"<>\",\n\tPtgPower: \"^\",\n\tPtgSub: \"-\"\n};\n\n// TODO: explore space\nfunction make_3d_range(start, end) {\n\tvar s = start.lastIndexOf(\"!\"), e = end.lastIndexOf(\"!\");\n\tif(s == -1 && e == -1) return start + \":\" + end;\n\tif(s > 0 && e > 0 && start.slice(0, s).toLowerCase() == end.slice(0, e).toLowerCase()) return start + \":\" + end.slice(e+1);\n\tconsole.error(\"Cannot hydrate range\", start, end);\n\treturn start + \":\" + end;\n}\n\nfunction get_ixti_raw(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tif(!supbooks) return \"SH33TJSERR0\";\n\tif(opts.biff > 8 && (!supbooks.XTI || !supbooks.XTI[ixti])) return supbooks.SheetNames[ixti];\n\tif(!supbooks.XTI) return \"SH33TJSERR6\";\n\tvar XTI = supbooks.XTI[ixti];\n\tif(opts.biff < 8) {\n\t\tif(ixti > 10000) ixti-= 65536;\n\t\tif(ixti < 0) ixti = -ixti;\n\t\treturn ixti == 0 ? \"\" : supbooks.XTI[ixti - 1];\n\t}\n\tif(!XTI) return \"SH33TJSERR1\";\n\tvar o = \"\";\n\tif(opts.biff > 8) switch(supbooks[XTI[0]][0]) {\n\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\to = XTI[1] == -1 ? \"#REF\" : supbooks.SheetNames[XTI[1]];\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tif(opts.SID != null) return supbooks.SheetNames[opts.SID];\n\t\t\treturn \"SH33TJSSAME\" + supbooks[XTI[0]][0];\n\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\t/* falls through */\n\t\tdefault: return \"SH33TJSSRC\" + supbooks[XTI[0]][0];\n\t}\n\tswitch(supbooks[XTI[0]][0][0]) {\n\t\tcase 0x0401:\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks.SheetNames[XTI[1]] || \"SH33TJSERR3\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks.SheetNames[XTI[2]];\n\t\tcase 0x3A01: return supbooks[XTI[0]].slice(1).map(function(name) { return name.Name; }).join(\";;\"); //return \"SH33TJSERR8\";\n\t\tdefault:\n\t\t\tif(!supbooks[XTI[0]][0][3]) return \"SH33TJSERR2\";\n\t\t\to = XTI[1] == -1 ? \"#REF\" : (supbooks[XTI[0]][0][3][XTI[1]] || \"SH33TJSERR4\");\n\t\t\treturn XTI[1] == XTI[2] ? o : o + \":\" + supbooks[XTI[0]][0][3][XTI[2]];\n\t}\n}\nfunction get_ixti(supbooks, ixti/*:number*/, opts)/*:string*/ {\n\tvar ixtiraw = get_ixti_raw(supbooks, ixti, opts);\n\treturn ixtiraw == \"#REF\" ? ixtiraw : formula_quote_sheet_name(ixtiraw, opts);\n}\nfunction stringify_formula(formula/*Array*/, range, cell/*:any*/, supbooks, opts)/*:string*/ {\n\tvar biff = (opts && opts.biff) || 8;\n\tvar _range = /*range != null ? range :*/ {s:{c:0, r:0},e:{c:0, r:0}};\n\tvar stack/*:Array*/ = [], e1, e2, /*::type,*/ c/*:CellAddress*/, ixti=0, nameidx=0, r, sname=\"\";\n\tif(!formula[0] || !formula[0][0]) return \"\";\n\tvar last_sp = -1, sp = \"\";\n\tfor(var ff = 0, fflen = formula[0].length; ff < fflen; ++ff) {\n\t\tvar f = formula[0][ff];\n\t\tswitch(f[0]) {\n\t\t\tcase 'PtgUminus': /* [MS-XLS] 2.5.198.93 */\n\t\t\t\tstack.push(\"-\" + stack.pop()); break;\n\t\t\tcase 'PtgUplus': /* [MS-XLS] 2.5.198.95 */\n\t\t\t\tstack.push(\"+\" + stack.pop()); break;\n\t\t\tcase 'PtgPercent': /* [MS-XLS] 2.5.198.81 */\n\t\t\t\tstack.push(stack.pop() + \"%\"); break;\n\n\t\t\tcase 'PtgAdd': /* [MS-XLS] 2.5.198.26 */\n\t\t\tcase 'PtgConcat': /* [MS-XLS] 2.5.198.43 */\n\t\t\tcase 'PtgDiv': /* [MS-XLS] 2.5.198.45 */\n\t\t\tcase 'PtgEq': /* [MS-XLS] 2.5.198.56 */\n\t\t\tcase 'PtgGe': /* [MS-XLS] 2.5.198.64 */\n\t\t\tcase 'PtgGt': /* [MS-XLS] 2.5.198.65 */\n\t\t\tcase 'PtgLe': /* [MS-XLS] 2.5.198.68 */\n\t\t\tcase 'PtgLt': /* [MS-XLS] 2.5.198.69 */\n\t\t\tcase 'PtgMul': /* [MS-XLS] 2.5.198.75 */\n\t\t\tcase 'PtgNe': /* [MS-XLS] 2.5.198.78 */\n\t\t\tcase 'PtgPower': /* [MS-XLS] 2.5.198.82 */\n\t\t\tcase 'PtgSub': /* [MS-XLS] 2.5.198.90 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\tcase 0:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\" \", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tcase 1:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tsp = fill(\"\\r\", formula[0][last_sp][1][1]); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsp = \"\";\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\te2 = e2 + sp;\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(e2+PtgBinOp[f[0]]+e1);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgIsect': /* [MS-XLS] 2.5.198.67 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\" \"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgUnion': /* [MS-XLS] 2.5.198.94 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(e2+\",\"+e1);\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRange': /* [MS-XLS] 2.5.198.83 */\n\t\t\t\te1 = stack.pop(); e2 = stack.pop();\n\t\t\t\tstack.push(make_3d_range(e2,e1));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrChoose': /* [MS-XLS] 2.5.198.34 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrGoto': /* [MS-XLS] 2.5.198.35 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIf': /* [MS-XLS] 2.5.198.36 */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrIfError': /* [MS-XLSB] 2.5.97.28 */\n\t\t\t\tbreak;\n\n\n\t\t\tcase 'PtgRef': /* [MS-XLS] 2.5.198.84 */\n\t\t\t\t/*::type = f[1][0]; */c = shift_cell_xls((f[1][1]/*:any*/), _range, opts);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRefN': /* [MS-XLS] 2.5.198.88 */\n\t\t\t\t/*::type = f[1][0]; */c = cell ? shift_cell_xls((f[1][1]/*:any*/), cell, opts) : (f[1][1]/*:any*/);\n\t\t\t\tstack.push(encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgRef3d': /* [MS-XLS] 2.5.198.85 */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; c = shift_cell_xls((f[1][2]/*:any*/), _range, opts);\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tvar w = sname; /* IE9 fails on defined names */ // eslint-disable-line no-unused-vars\n\t\t\t\tstack.push(sname + \"!\" + encode_cell_xls(c, biff));\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgFunc': /* [MS-XLS] 2.5.198.62 */\n\t\t\tcase 'PtgFuncVar': /* [MS-XLS] 2.5.198.63 */\n\t\t\t\t/* f[1] = [argc, func, type] */\n\t\t\t\tvar argc/*:number*/ = (f[1][0]/*:any*/), func/*:string*/ = (f[1][1]/*:any*/);\n\t\t\t\tif(!argc) argc = 0;\n\t\t\t\targc &= 0x7F;\n\t\t\t\tvar args = argc == 0 ? [] : stack.slice(-argc);\n\t\t\t\tstack.length -= argc;\n\t\t\t\tif(func === 'User') func = args.shift();\n\t\t\t\tstack.push(func + \"(\" + args.join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgBool': /* [MS-XLS] 2.5.198.42 */\n\t\t\t\tstack.push(f[1] ? \"TRUE\" : \"FALSE\"); break;\n\t\t\tcase 'PtgInt': /* [MS-XLS] 2.5.198.66 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgNum': /* [MS-XLS] 2.5.198.79 TODO: precision? */\n\t\t\t\tstack.push(String(f[1])); break;\n\t\t\tcase 'PtgStr': /* [MS-XLS] 2.5.198.89 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push('\"' + f[1].replace(/\"/g, '\"\"') + '\"'); break;\n\t\t\tcase 'PtgErr': /* [MS-XLS] 2.5.198.57 */\n\t\t\t\tstack.push(/*::String(*/f[1]/*::)*/); break;\n\t\t\tcase 'PtgAreaN': /* [MS-XLS] 2.5.198.31 TODO */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], cell ? {s:cell} : _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea': /* [MS-XLS] 2.5.198.27 TODO: fixed points */\n\t\t\t\t/*::type = f[1][0]; */r = shift_range_xls(f[1][1], _range, opts);\n\t\t\t\tstack.push(encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgArea3d': /* [MS-XLS] 2.5.198.28 TODO */\n\t\t\t\t/*::type = f[1][0]; */ixti = /*::Number(*/f[1][1]/*::)*/; r = f[1][2];\n\t\t\t\tsname = get_ixti(supbooks, ixti, opts);\n\t\t\t\tstack.push(sname + \"!\" + encode_range_xls((r/*:any*/), opts));\n\t\t\t\tbreak;\n\t\t\tcase 'PtgAttrSum': /* [MS-XLS] 2.5.198.41 */\n\t\t\t\tstack.push(\"SUM(\" + stack.pop() + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrBaxcel': /* [MS-XLS] 2.5.198.33 */\n\t\t\tcase 'PtgAttrSemi': /* [MS-XLS] 2.5.198.37 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgName': /* [MS-XLS] 2.5.198.76 ; [MS-XLSB] 2.5.97.60 TODO: revisions */\n\t\t\t\t/* f[1] = type, 0, nameindex */\n\t\t\t\tnameidx = (f[1][2]/*:any*/);\n\t\t\t\tvar lbl = (supbooks.names||[])[nameidx-1] || (supbooks[0]||[])[nameidx];\n\t\t\t\tvar name = lbl ? lbl.Name : \"SH33TJSNAME\" + String(nameidx);\n\t\t\t\t/* [MS-XLSB] 2.5.97.10 Ftab -- last verified 20220204 */\n\t\t\t\tif(name && name.slice(0,6) == \"_xlfn.\" && !opts.xlfn) name = name.slice(6);\n\t\t\t\tstack.push(name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgNameX': /* [MS-XLS] 2.5.198.77 ; [MS-XLSB] 2.5.97.61 TODO: revisions */\n\t\t\t\t/* f[1] = type, ixti, nameindex */\n\t\t\t\tvar bookidx/*:number*/ = (f[1][1]/*:any*/); nameidx = (f[1][2]/*:any*/); var externbook;\n\t\t\t\t/* TODO: Properly handle missing values -- this should be using get_ixti_raw primarily */\n\t\t\t\tif(opts.biff <= 5) {\n\t\t\t\t\tif(bookidx < 0) bookidx = -bookidx;\n\t\t\t\t\tif(supbooks[bookidx]) externbook = supbooks[bookidx][nameidx];\n\t\t\t\t} else {\n\t\t\t\t\tvar o = \"\";\n\t\t\t\t\tif(((supbooks[bookidx]||[])[0]||[])[0] == 0x3A01){/* empty */}\n\t\t\t\t\telse if(((supbooks[bookidx]||[])[0]||[])[0] == 0x0401){\n\t\t\t\t\t\tif(supbooks[bookidx][nameidx] && supbooks[bookidx][nameidx].itab > 0) {\n\t\t\t\t\t\t\to = supbooks.SheetNames[supbooks[bookidx][nameidx].itab-1] + \"!\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse o = supbooks.SheetNames[nameidx-1]+ \"!\";\n\t\t\t\t\tif(supbooks[bookidx] && supbooks[bookidx][nameidx]) o += supbooks[bookidx][nameidx].Name;\n\t\t\t\t\telse if(supbooks[0] && supbooks[0][nameidx]) o += supbooks[0][nameidx].Name;\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar ixtidata = (get_ixti_raw(supbooks, bookidx, opts)||\"\").split(\";;\");\n\t\t\t\t\t\tif(ixtidata[nameidx - 1]) o = ixtidata[nameidx - 1]; // TODO: confirm this is correct\n\t\t\t\t\t\telse o += \"SH33TJSERRX\";\n\t\t\t\t\t}\n\t\t\t\t\tstack.push(o);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(!externbook) externbook = {Name: \"SH33TJSERRY\"};\n\t\t\t\tstack.push(externbook.Name);\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgParen': /* [MS-XLS] 2.5.198.80 */\n\t\t\t\tvar lp = '(', rp = ')';\n\t\t\t\tif(last_sp >= 0) {\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\tswitch(formula[0][last_sp][1][0]) {\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 2: lp = fill(\" \", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 3: lp = fill(\"\\r\", formula[0][last_sp][1][1]) + lp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 4: rp = fill(\" \", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\tcase 5: rp = fill(\"\\r\", formula[0][last_sp][1][1]) + rp; break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + formula[0][last_sp][1][0]);\n\t\t\t\t\t}\n\t\t\t\t\tlast_sp = -1;\n\t\t\t\t}\n\t\t\t\tstack.push(lp + stack.pop() + rp); break;\n\n\t\t\tcase 'PtgRefErr': /* [MS-XLS] 2.5.198.86 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgRefErr3d': /* [MS-XLS] 2.5.198.87 */\n\t\t\t\tstack.push('#REF!'); break;\n\n\t\t\tcase 'PtgExp': /* [MS-XLS] 2.5.198.58 TODO */\n\t\t\t\tc = {c:(f[1][1]/*:any*/),r:(f[1][0]/*:any*/)};\n\t\t\t\tvar q = ({c: cell.c, r:cell.r}/*:any*/);\n\t\t\t\tif(supbooks.sharedf[encode_cell(c)]) {\n\t\t\t\t\tvar parsedf = (supbooks.sharedf[encode_cell(c)]);\n\t\t\t\t\tstack.push(stringify_formula(parsedf, _range, q, supbooks, opts));\n\t\t\t\t} else {\n\t\t\t\t\tvar fnd = false;\n\t\t\t\t\tfor(e1=0;e1!=supbooks.arrayf.length; ++e1) {\n\t\t\t\t\t\t/* TODO: should be something like range_has */\n\t\t\t\t\t\te2 = supbooks.arrayf[e1];\n\t\t\t\t\t\tif(c.c < e2[0].s.c || c.c > e2[0].e.c) continue;\n\t\t\t\t\t\tif(c.r < e2[0].s.r || c.r > e2[0].e.r) continue;\n\t\t\t\t\t\tstack.push(stringify_formula(e2[1], _range, q, supbooks, opts));\n\t\t\t\t\t\tfnd = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(!fnd) stack.push(/*::String(*/f[1]/*::)*/);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgArray': /* [MS-XLS] 2.5.198.32 TODO */\n\t\t\t\tstack.push(\"{\" + stringify_array(/*::(*/f[1]/*:: :any)*/) + \"}\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemArea': /* [MS-XLS] 2.5.198.70 TODO: confirm this is a non-display */\n\t\t\t\t//stack.push(\"(\" + f[2].map(encode_range).join(\",\") + \")\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAttrSpace': /* [MS-XLS] 2.5.198.38 */\n\t\t\tcase 'PtgAttrSpaceSemi': /* [MS-XLS] 2.5.198.39 */\n\t\t\t\tlast_sp = ff;\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgTbl': /* [MS-XLS] 2.5.198.92 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemErr': /* [MS-XLS] 2.5.198.71 */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMissArg': /* [MS-XLS] 2.5.198.74 */\n\t\t\t\tstack.push(\"\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgAreaErr': /* [MS-XLS] 2.5.198.29 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgAreaErr3d': /* [MS-XLS] 2.5.198.30 */\n\t\t\t\tstack.push(\"#REF!\"); break;\n\n\t\t\tcase 'PtgList': /* [MS-XLSB] 2.5.97.52 */\n\t\t\t\t// $FlowIgnore\n\t\t\t\tstack.push(\"Table\" + f[1].idx + \"[#\" + f[1].rt + \"]\");\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemAreaN':\n\t\t\tcase 'PtgMemNoMemN':\n\t\t\tcase 'PtgAttrNoop':\n\t\t\tcase 'PtgSheet':\n\t\t\tcase 'PtgEndSheet':\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgMemFunc': /* [MS-XLS] 2.5.198.72 TODO */\n\t\t\t\tbreak;\n\t\t\tcase 'PtgMemNoMem': /* [MS-XLS] 2.5.198.73 TODO */\n\t\t\t\tbreak;\n\n\t\t\tcase 'PtgElfCol': /* [MS-XLS] 2.5.198.46 */\n\t\t\tcase 'PtgElfColS': /* [MS-XLS] 2.5.198.47 */\n\t\t\tcase 'PtgElfColSV': /* [MS-XLS] 2.5.198.48 */\n\t\t\tcase 'PtgElfColV': /* [MS-XLS] 2.5.198.49 */\n\t\t\tcase 'PtgElfLel': /* [MS-XLS] 2.5.198.50 */\n\t\t\tcase 'PtgElfRadical': /* [MS-XLS] 2.5.198.51 */\n\t\t\tcase 'PtgElfRadicalLel': /* [MS-XLS] 2.5.198.52 */\n\t\t\tcase 'PtgElfRadicalS': /* [MS-XLS] 2.5.198.53 */\n\t\t\tcase 'PtgElfRw': /* [MS-XLS] 2.5.198.54 */\n\t\t\tcase 'PtgElfRwV': /* [MS-XLS] 2.5.198.55 */\n\t\t\t\tthrow new Error(\"Unsupported ELFs\");\n\n\t\t\tcase 'PtgSxName': /* [MS-XLS] 2.5.198.91 TODO -- find a test case */\n\t\t\t\tthrow new Error('Unrecognized Formula Token: ' + String(f));\n\t\t\tdefault: throw new Error('Unrecognized Formula Token: ' + String(f));\n\t\t}\n\t\tvar PtgNonDisp = ['PtgAttrSpace', 'PtgAttrSpaceSemi', 'PtgAttrGoto'];\n\t\tif(opts.biff != 3) if(last_sp >= 0 && PtgNonDisp.indexOf(formula[0][ff][0]) == -1) {\n\t\t\tf = formula[0][last_sp];\n\t\t\tvar _left = true;\n\t\t\tswitch(f[1][0]) {\n\t\t\t\t/* note: some bad XLSB files omit the PtgParen */\n\t\t\t\tcase 4: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 0:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\" \", f[1][1]); break;\n\t\t\t\tcase 5: _left = false;\n\t\t\t\t/* falls through */\n\t\t\t\tcase 1:\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tsp = fill(\"\\r\", f[1][1]); break;\n\t\t\t\tdefault:\n\t\t\t\t\tsp = \"\";\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(opts.WTF) throw new Error(\"Unexpected PtgAttrSpaceType \" + f[1][0]);\n\t\t\t}\n\t\t\tstack.push((_left ? sp : \"\") + stack.pop() + (_left ? \"\" : sp));\n\t\t\tlast_sp = -1;\n\t\t}\n\t}\n\tif(stack.length > 1 && opts.WTF) throw new Error(\"bad formula stack\");\n\tif(stack[0] == \"TRUE\") return true; if(stack[0] == \"FALSE\") return false;\n\treturn stack[0];\n}\n\n/* [MS-XLS] 2.5.198.1 TODO */\nfunction parse_ArrayParsedFormula(blob, length, opts/*::, ref*/) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.3 TODO */\nfunction parse_XLSCellParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length, len = opts.biff == 2 ? 1 : 2;\n\tvar rgcb, cce = blob.read_shift(len); // length of rgce\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(length !== cce + len) rgcb = parse_RgbExtra(blob, length - cce - len, rgce, opts);\n\tblob.l = target;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.21 */\nfunction parse_NameParsedFormula(blob, length, opts, cce) {\n\tvar target = blob.l + length;\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tvar rgcb;\n\tif(target !== blob.l) rgcb = parse_RgbExtra(blob, target - blob.l, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.198.118 TODO */\nfunction parse_SharedParsedFormula(blob, length, opts) {\n\tvar target = blob.l + length;\n\tvar rgcb, cce = blob.read_shift(2); // length of rgce\n\tvar rgce = parse_Rgce(blob, cce, opts);\n\tif(cce == 0xFFFF) return [[],parsenoop(blob, length-2)];\n\tif(length !== cce + 2) rgcb = parse_RgbExtra(blob, target - cce - 2, rgce, opts);\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLS] 2.5.133 TODO: how to emit empty strings? */\nfunction parse_FormulaValue(blob/*::, length*/) {\n\tvar b;\n\tif(__readUInt16LE(blob,blob.l + 6) !== 0xFFFF) return [parse_Xnum(blob),'n'];\n\tswitch(blob[blob.l]) {\n\t\tcase 0x00: blob.l += 8; return [\"String\", 's'];\n\t\tcase 0x01: b = blob[blob.l+2] === 0x1; blob.l += 8; return [b,'b'];\n\t\tcase 0x02: b = blob[blob.l+2]; blob.l += 8; return [b,'e'];\n\t\tcase 0x03: blob.l += 8; return [\"\",'s'];\n\t}\n\treturn [];\n}\nfunction write_FormulaValue(value) {\n\tif(value == null) {\n\t\t// Blank String Value\n\t\tvar o = new_buf(8);\n\t\to.write_shift(1, 0x03);\n\t\to.write_shift(1, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0);\n\t\to.write_shift(2, 0xFFFF);\n\t\treturn o;\n\t} else if(typeof value == \"number\") return write_Xnum(value);\n\treturn write_Xnum(0);\n}\n\n/* [MS-XLS] 2.4.127 TODO */\nfunction parse_Formula(blob, length, opts) {\n\tvar end = blob.l + length;\n\tvar cell = parse_XLSCell(blob, 6, opts);\n\tvar val = parse_FormulaValue(blob,8);\n\tvar flags = blob.read_shift(1);\n\tif(opts.biff != 2) {\n\t\tblob.read_shift(1);\n\t\tif(opts.biff >= 5) {\n\t\t\t/*var chn = */blob.read_shift(4);\n\t\t}\n\t}\n\tvar cbf = parse_XLSCellParsedFormula(blob, end - blob.l, opts);\n\treturn {cell:cell, val:val[0], formula:cbf, shared: (flags >> 3) & 1, tt:val[1]};\n}\nfunction write_Formula(cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, os/*:number*/) {\n\t// Cell\n\tvar o1 = write_XLSCell(R, C, os);\n\n\t// FormulaValue\n\tvar o2 = write_FormulaValue(cell.v);\n\n\t// flags + cache\n\tvar o3 = new_buf(6);\n\tvar flags = 0x01 | 0x20;\n\to3.write_shift(2, flags);\n\to3.write_shift(4, 0);\n\n\t// CellParsedFormula\n\tvar bf = new_buf(cell.bf.length);\n\tfor(var i = 0; i < cell.bf.length; ++i) bf[i] = cell.bf[i];\n\n\tvar out = bconcat([o1, o2, o3, bf]);\n\treturn out;\n}\n\n\n/* XLSB Parsed Formula records have the same shape */\nfunction parse_XLSBParsedFormula(data, length, opts) {\n\tvar cce = data.read_shift(4);\n\tvar rgce = parse_Rgce(data, cce, opts);\n\tvar cb = data.read_shift(4);\n\tvar rgcb = cb > 0 ? parse_RgbExtra(data, cb, rgce, opts) : null;\n\treturn [rgce, rgcb];\n}\n\n/* [MS-XLSB] 2.5.97.1 ArrayParsedFormula */\nvar parse_XLSBArrayParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.4 CellParsedFormula */\nvar parse_XLSBCellParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.8 DVParsedFormula */\n//var parse_XLSBDVParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.9 FRTParsedFormula */\n//var parse_XLSBFRTParsedFormula = parse_XLSBParsedFormula2;\n/* [MS-XLSB] 2.5.97.12 NameParsedFormula */\nvar parse_XLSBNameParsedFormula = parse_XLSBParsedFormula;\n/* [MS-XLSB] 2.5.97.98 SharedParsedFormula */\nvar parse_XLSBSharedParsedFormula = parse_XLSBParsedFormula;\n\n/* Writes a PtgNum or PtgInt */\nfunction write_XLSBFormulaNum(val/*:number*/) {\n\tif((val | 0) == val && val < Math.pow(2,16) && val >= 0) {\n\t\tvar oint = new_buf(11);\n\t\toint.write_shift(4, 3);\n\t\toint.write_shift(1, 0x1e);\n\t\toint.write_shift(2, val);\n\t\toint.write_shift(4, 0);\n\t\treturn oint;\n\t}\n\n\tvar num = new_buf(17);\n\tnum.write_shift(4, 11);\n\tnum.write_shift(1, 0x1f);\n\tnum.write_shift(8, val);\n\tnum.write_shift(4, 0);\n\treturn num;\n}\n/* Writes a PtgErr */\nfunction write_XLSBFormulaErr(val/*:number*/) {\n\tvar oint = new_buf(10);\n\toint.write_shift(4, 2);\n\toint.write_shift(1, 0x1C);\n\toint.write_shift(1, val);\n\toint.write_shift(4, 0);\n\treturn oint;\n}\n/* Writes a PtgBool */\nfunction write_XLSBFormulaBool(val/*:boolean*/) {\n\tvar oint = new_buf(10);\n\toint.write_shift(4, 2);\n\toint.write_shift(1, 0x1D);\n\toint.write_shift(1, val?1:0);\n\toint.write_shift(4, 0);\n\treturn oint;\n}\n\n/* Writes a PtgStr */\nfunction write_XLSBFormulaStr(val/*:string*/) {\n\tvar preamble = new_buf(7);\n\tpreamble.write_shift(4, 3 + 2 * val.length);\n\tpreamble.write_shift(1, 0x17);\n\tpreamble.write_shift(2, val.length);\n\n\tvar body = new_buf(2 * val.length);\n\tbody.write_shift(2 * val.length, val, \"utf16le\");\n\n\tvar postamble = new_buf(4);\n\tpostamble.write_shift(4, 0);\n\n\treturn bconcat([preamble, body, postamble]);\n}\n\n/* Writes a PtgRef */\nfunction write_XLSBFormulaRef(str) {\n\tvar cell = decode_cell(str);\n\tvar out = new_buf(15);\n\tout.write_shift(4, 7);\n\tout.write_shift(1, 0x04 | ((1)<<5));\n\tout.write_shift(4, cell.r);\n\tout.write_shift(2, cell.c | ((str.charAt(0) == \"$\" ? 0 : 1)<<14) | ((str.match(/\\$\\d/) ? 0 : 1)<<15)); // <== ColRelShort\n\tout.write_shift(4, 0);\n\n\treturn out;\n}\n\n/* Writes a PtgRef3d */\nfunction write_XLSBFormulaRef3D(str, wb) {\n\tvar lastbang = str.lastIndexOf(\"!\");\n\tvar sname = str.slice(0, lastbang);\n\tstr = str.slice(lastbang+1);\n\tvar cell = decode_cell(str);\n\tif(sname.charAt(0) == \"'\") sname = sname.slice(1, -1).replace(/''/g, \"'\");\n\n\tvar out = new_buf(17);\n\tout.write_shift(4, 9);\n\tout.write_shift(1, 0x1A | ((1)<<5));\n\tout.write_shift(2, 2 + wb.SheetNames.map(function(n) { return n.toLowerCase(); }).indexOf(sname.toLowerCase()));\n\tout.write_shift(4, cell.r);\n\tout.write_shift(2, cell.c | ((str.charAt(0) == \"$\" ? 0 : 1)<<14) | ((str.match(/\\$\\d/) ? 0 : 1)<<15)); // <== ColRelShort\n\tout.write_shift(4, 0);\n\n\treturn out;\n}\n\n/* Writes a PtgRefErr3d */\nfunction write_XLSBFormulaRefErr3D(str, wb) {\n\tvar lastbang = str.lastIndexOf(\"!\");\n\tvar sname = str.slice(0, lastbang);\n\tstr = str.slice(lastbang+1);\n\tif(sname.charAt(0) == \"'\") sname = sname.slice(1, -1).replace(/''/g, \"'\");\n\n\tvar out = new_buf(17);\n\tout.write_shift(4, 9);\n\tout.write_shift(1, 0x1C | ((1)<<5));\n\tout.write_shift(2, 2 + wb.SheetNames.map(function(n) { return n.toLowerCase(); }).indexOf(sname.toLowerCase()));\n\tout.write_shift(4, 0);\n\tout.write_shift(2, 0); // <== ColRelShort\n\tout.write_shift(4, 0);\n\n\treturn out;\n}\n\n/* Writes a single sheet range [PtgRef PtgRef PtgRange] */\nfunction write_XLSBFormulaRange(_str) {\n\tvar parts = _str.split(\":\"), str = parts[0];\n\n\tvar out = new_buf(23);\n\tout.write_shift(4, 15);\n\n\t/* start cell */\n\tstr = parts[0]; var cell = decode_cell(str);\n\tout.write_shift(1, 0x04 | ((1)<<5));\n\tout.write_shift(4, cell.r);\n\tout.write_shift(2, cell.c | ((str.charAt(0) == \"$\" ? 0 : 1)<<14) | ((str.match(/\\$\\d/) ? 0 : 1)<<15)); // <== ColRelShort\n\tout.write_shift(4, 0);\n\n\t/* end cell */\n\tstr = parts[1]; cell = decode_cell(str);\n\tout.write_shift(1, 0x04 | ((1)<<5));\n\tout.write_shift(4, cell.r);\n\tout.write_shift(2, cell.c | ((str.charAt(0) == \"$\" ? 0 : 1)<<14) | ((str.match(/\\$\\d/) ? 0 : 1)<<15)); // <== ColRelShort\n\tout.write_shift(4, 0);\n\n\t/* PtgRange */\n\tout.write_shift(1, 0x11);\n\n\tout.write_shift(4, 0);\n\n\treturn out;\n}\n\n/* Writes a range with explicit sheet name [PtgRef3D PtgRef3D PtgRange] */\nfunction write_XLSBFormulaRangeWS(_str, wb) {\n\tvar lastbang = _str.lastIndexOf(\"!\");\n\tvar sname = _str.slice(0, lastbang);\n\t_str = _str.slice(lastbang+1);\n\tif(sname.charAt(0) == \"'\") sname = sname.slice(1, -1).replace(/''/g, \"'\");\n\tvar parts = _str.split(\":\");\n\n\tvar out = new_buf(27);\n\tout.write_shift(4, 19);\n\n\t/* start cell */\n\tvar str = parts[0], cell = decode_cell(str);\n\tout.write_shift(1, 0x1A | ((1)<<5));\n\tout.write_shift(2, 2 + wb.SheetNames.map(function(n) { return n.toLowerCase(); }).indexOf(sname.toLowerCase()));\n\tout.write_shift(4, cell.r);\n\tout.write_shift(2, cell.c | ((str.charAt(0) == \"$\" ? 0 : 1)<<14) | ((str.match(/\\$\\d/) ? 0 : 1)<<15)); // <== ColRelShort\n\n\t/* end cell */\n\tstr = parts[1]; cell = decode_cell(str);\n\tout.write_shift(1, 0x1A | ((1)<<5));\n\tout.write_shift(2, 2 + wb.SheetNames.map(function(n) { return n.toLowerCase(); }).indexOf(sname.toLowerCase()));\n\tout.write_shift(4, cell.r);\n\tout.write_shift(2, cell.c | ((str.charAt(0) == \"$\" ? 0 : 1)<<14) | ((str.match(/\\$\\d/) ? 0 : 1)<<15)); // <== ColRelShort\n\n\t/* PtgRange */\n\tout.write_shift(1, 0x11);\n\n\tout.write_shift(4, 0);\n\n\treturn out;\n}\n\n/* Writes a range with explicit sheet name [PtgArea3d] */\nfunction write_XLSBFormulaArea3D(_str, wb) {\n\tvar lastbang = _str.lastIndexOf(\"!\");\n\tvar sname = _str.slice(0, lastbang);\n\t_str = _str.slice(lastbang+1);\n\tif(sname.charAt(0) == \"'\") sname = sname.slice(1, -1).replace(/''/g, \"'\");\n\tvar range = decode_range(_str);\n\n\tvar out = new_buf(23);\n\tout.write_shift(4, 15);\n\n\tout.write_shift(1, 0x1B | ((1)<<5));\n\tout.write_shift(2, 2 + wb.SheetNames.map(function(n) { return n.toLowerCase(); }).indexOf(sname.toLowerCase()));\n\tout.write_shift(4, range.s.r);\n\tout.write_shift(4, range.e.r);\n\tout.write_shift(2, range.s.c);\n\tout.write_shift(2, range.e.c);\n\n\tout.write_shift(4, 0);\n\n\treturn out;\n}\n\n\n/* General Formula */\nfunction write_XLSBFormula(val/*:string|number*/, wb) {\n\tif(typeof val == \"number\") return write_XLSBFormulaNum(val);\n\tif(typeof val == \"boolean\") return write_XLSBFormulaBool(val);\n\tif(/^#(DIV\\/0!|GETTING_DATA|N\\/A|NAME\\?|NULL!|NUM!|REF!|VALUE!)$/.test(val)) return write_XLSBFormulaErr(+RBErr[val]);\n\tif(val.match(/^\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})$/)) return write_XLSBFormulaRef(val);\n\tif(val.match(/^\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5}):\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})$/)) return write_XLSBFormulaRange(val);\n\tif(val.match(/^#REF!\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5}):\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})$/)) return write_XLSBFormulaArea3D(val, wb);\n\tif(val.match(/^(?:'[^\\\\\\/?*\\[\\]:]*'|[^'][^\\\\\\/?*\\[\\]:'`~!@#$%^()\\-=+{}|;,<.>]*)!\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})$/)) return write_XLSBFormulaRef3D(val, wb);\n\tif(val.match(/^(?:'[^\\\\\\/?*\\[\\]:]*'|[^'][^\\\\\\/?*\\[\\]:'`~!@#$%^()\\-=+{}|;,<.>]*)!\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5}):\\$?(?:[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D]|[A-Z]{1,2})\\$?(?:10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})$/)) return write_XLSBFormulaRangeWS(val, wb);\n\tif(/^(?:'[^\\\\\\/?*\\[\\]:]*'|[^'][^\\\\\\/?*\\[\\]:'`~!@#$%^()\\-=+{}|;,<.>]*)!#REF!$/.test(val)) return write_XLSBFormulaRefErr3D(val, wb);\n\tif(/^\".*\"$/.test(val)) return write_XLSBFormulaStr(val);\n\tif(/^[+-]\\d+$/.test(val)) return write_XLSBFormulaNum(parseInt(val, 10));\n\tthrow \"Formula |\" + val + \"| not supported for XLSB\";\n}\nvar write_XLSBNameParsedFormula = write_XLSBFormula;\nvar Cetab = {\n 0: \"BEEP\",\n 1: \"OPEN\",\n 2: \"OPEN.LINKS\",\n 3: \"CLOSE.ALL\",\n 4: \"SAVE\",\n 5: \"SAVE.AS\",\n 6: \"FILE.DELETE\",\n 7: \"PAGE.SETUP\",\n 8: \"PRINT\",\n 9: \"PRINTER.SETUP\",\n 10: \"QUIT\",\n 11: \"NEW.WINDOW\",\n 12: \"ARRANGE.ALL\",\n 13: \"WINDOW.SIZE\",\n 14: \"WINDOW.MOVE\",\n 15: \"FULL\",\n 16: \"CLOSE\",\n 17: \"RUN\",\n 22: \"SET.PRINT.AREA\",\n 23: \"SET.PRINT.TITLES\",\n 24: \"SET.PAGE.BREAK\",\n 25: \"REMOVE.PAGE.BREAK\",\n 26: \"FONT\",\n 27: \"DISPLAY\",\n 28: \"PROTECT.DOCUMENT\",\n 29: \"PRECISION\",\n 30: \"A1.R1C1\",\n 31: \"CALCULATE.NOW\",\n 32: \"CALCULATION\",\n 34: \"DATA.FIND\",\n 35: \"EXTRACT\",\n 36: \"DATA.DELETE\",\n 37: \"SET.DATABASE\",\n 38: \"SET.CRITERIA\",\n 39: \"SORT\",\n 40: \"DATA.SERIES\",\n 41: \"TABLE\",\n 42: \"FORMAT.NUMBER\",\n 43: \"ALIGNMENT\",\n 44: \"STYLE\",\n 45: \"BORDER\",\n 46: \"CELL.PROTECTION\",\n 47: \"COLUMN.WIDTH\",\n 48: \"UNDO\",\n 49: \"CUT\",\n 50: \"COPY\",\n 51: \"PASTE\",\n 52: \"CLEAR\",\n 53: \"PASTE.SPECIAL\",\n 54: \"EDIT.DELETE\",\n 55: \"INSERT\",\n 56: \"FILL.RIGHT\",\n 57: \"FILL.DOWN\",\n 61: \"DEFINE.NAME\",\n 62: \"CREATE.NAMES\",\n 63: \"FORMULA.GOTO\",\n 64: \"FORMULA.FIND\",\n 65: \"SELECT.LAST.CELL\",\n 66: \"SHOW.ACTIVE.CELL\",\n 67: \"GALLERY.AREA\",\n 68: \"GALLERY.BAR\",\n 69: \"GALLERY.COLUMN\",\n 70: \"GALLERY.LINE\",\n 71: \"GALLERY.PIE\",\n 72: \"GALLERY.SCATTER\",\n 73: \"COMBINATION\",\n 74: \"PREFERRED\",\n 75: \"ADD.OVERLAY\",\n 76: \"GRIDLINES\",\n 77: \"SET.PREFERRED\",\n 78: \"AXES\",\n 79: \"LEGEND\",\n 80: \"ATTACH.TEXT\",\n 81: \"ADD.ARROW\",\n 82: \"SELECT.CHART\",\n 83: \"SELECT.PLOT.AREA\",\n 84: \"PATTERNS\",\n 85: \"MAIN.CHART\",\n 86: \"OVERLAY\",\n 87: \"SCALE\",\n 88: \"FORMAT.LEGEND\",\n 89: \"FORMAT.TEXT\",\n 90: \"EDIT.REPEAT\",\n 91: \"PARSE\",\n 92: \"JUSTIFY\",\n 93: \"HIDE\",\n 94: \"UNHIDE\",\n 95: \"WORKSPACE\",\n 96: \"FORMULA\",\n 97: \"FORMULA.FILL\",\n 98: \"FORMULA.ARRAY\",\n 99: \"DATA.FIND.NEXT\",\n 100: \"DATA.FIND.PREV\",\n 101: \"FORMULA.FIND.NEXT\",\n 102: \"FORMULA.FIND.PREV\",\n 103: \"ACTIVATE\",\n 104: \"ACTIVATE.NEXT\",\n 105: \"ACTIVATE.PREV\",\n 106: \"UNLOCKED.NEXT\",\n 107: \"UNLOCKED.PREV\",\n 108: \"COPY.PICTURE\",\n 109: \"SELECT\",\n 110: \"DELETE.NAME\",\n 111: \"DELETE.FORMAT\",\n 112: \"VLINE\",\n 113: \"HLINE\",\n 114: \"VPAGE\",\n 115: \"HPAGE\",\n 116: \"VSCROLL\",\n 117: \"HSCROLL\",\n 118: \"ALERT\",\n 119: \"NEW\",\n 120: \"CANCEL.COPY\",\n 121: \"SHOW.CLIPBOARD\",\n 122: \"MESSAGE\",\n 124: \"PASTE.LINK\",\n 125: \"APP.ACTIVATE\",\n 126: \"DELETE.ARROW\",\n 127: \"ROW.HEIGHT\",\n 128: \"FORMAT.MOVE\",\n 129: \"FORMAT.SIZE\",\n 130: \"FORMULA.REPLACE\",\n 131: \"SEND.KEYS\",\n 132: \"SELECT.SPECIAL\",\n 133: \"APPLY.NAMES\",\n 134: \"REPLACE.FONT\",\n 135: \"FREEZE.PANES\",\n 136: \"SHOW.INFO\",\n 137: \"SPLIT\",\n 138: \"ON.WINDOW\",\n 139: \"ON.DATA\",\n 140: \"DISABLE.INPUT\",\n 142: \"OUTLINE\",\n 143: \"LIST.NAMES\",\n 144: \"FILE.CLOSE\",\n 145: \"SAVE.WORKBOOK\",\n 146: \"DATA.FORM\",\n 147: \"COPY.CHART\",\n 148: \"ON.TIME\",\n 149: \"WAIT\",\n 150: \"FORMAT.FONT\",\n 151: \"FILL.UP\",\n 152: \"FILL.LEFT\",\n 153: \"DELETE.OVERLAY\",\n 155: \"SHORT.MENUS\",\n 159: \"SET.UPDATE.STATUS\",\n 161: \"COLOR.PALETTE\",\n 162: \"DELETE.STYLE\",\n 163: \"WINDOW.RESTORE\",\n 164: \"WINDOW.MAXIMIZE\",\n 166: \"CHANGE.LINK\",\n 167: \"CALCULATE.DOCUMENT\",\n 168: \"ON.KEY\",\n 169: \"APP.RESTORE\",\n 170: \"APP.MOVE\",\n 171: \"APP.SIZE\",\n 172: \"APP.MINIMIZE\",\n 173: \"APP.MAXIMIZE\",\n 174: \"BRING.TO.FRONT\",\n 175: \"SEND.TO.BACK\",\n 185: \"MAIN.CHART.TYPE\",\n 186: \"OVERLAY.CHART.TYPE\",\n 187: \"SELECT.END\",\n 188: \"OPEN.MAIL\",\n 189: \"SEND.MAIL\",\n 190: \"STANDARD.FONT\",\n 191: \"CONSOLIDATE\",\n 192: \"SORT.SPECIAL\",\n 193: \"GALLERY.3D.AREA\",\n 194: \"GALLERY.3D.COLUMN\",\n 195: \"GALLERY.3D.LINE\",\n 196: \"GALLERY.3D.PIE\",\n 197: \"VIEW.3D\",\n 198: \"GOAL.SEEK\",\n 199: \"WORKGROUP\",\n 200: \"FILL.GROUP\",\n 201: \"UPDATE.LINK\",\n 202: \"PROMOTE\",\n 203: \"DEMOTE\",\n 204: \"SHOW.DETAIL\",\n 206: \"UNGROUP\",\n 207: \"OBJECT.PROPERTIES\",\n 208: \"SAVE.NEW.OBJECT\",\n 209: \"SHARE\",\n 210: \"SHARE.NAME\",\n 211: \"DUPLICATE\",\n 212: \"APPLY.STYLE\",\n 213: \"ASSIGN.TO.OBJECT\",\n 214: \"OBJECT.PROTECTION\",\n 215: \"HIDE.OBJECT\",\n 216: \"SET.EXTRACT\",\n 217: \"CREATE.PUBLISHER\",\n 218: \"SUBSCRIBE.TO\",\n 219: \"ATTRIBUTES\",\n 220: \"SHOW.TOOLBAR\",\n 222: \"PRINT.PREVIEW\",\n 223: \"EDIT.COLOR\",\n 224: \"SHOW.LEVELS\",\n 225: \"FORMAT.MAIN\",\n 226: \"FORMAT.OVERLAY\",\n 227: \"ON.RECALC\",\n 228: \"EDIT.SERIES\",\n 229: \"DEFINE.STYLE\",\n 240: \"LINE.PRINT\",\n 243: \"ENTER.DATA\",\n 249: \"GALLERY.RADAR\",\n 250: \"MERGE.STYLES\",\n 251: \"EDITION.OPTIONS\",\n 252: \"PASTE.PICTURE\",\n 253: \"PASTE.PICTURE.LINK\",\n 254: \"SPELLING\",\n 256: \"ZOOM\",\n 259: \"INSERT.OBJECT\",\n 260: \"WINDOW.MINIMIZE\",\n 265: \"SOUND.NOTE\",\n 266: \"SOUND.PLAY\",\n 267: \"FORMAT.SHAPE\",\n 268: \"EXTEND.POLYGON\",\n 269: \"FORMAT.AUTO\",\n 272: \"GALLERY.3D.BAR\",\n 273: \"GALLERY.3D.SURFACE\",\n 274: \"FILL.AUTO\",\n 276: \"CUSTOMIZE.TOOLBAR\",\n 277: \"ADD.TOOL\",\n 278: \"EDIT.OBJECT\",\n 279: \"ON.DOUBLECLICK\",\n 280: \"ON.ENTRY\",\n 281: \"WORKBOOK.ADD\",\n 282: \"WORKBOOK.MOVE\",\n 283: \"WORKBOOK.COPY\",\n 284: \"WORKBOOK.OPTIONS\",\n 285: \"SAVE.WORKSPACE\",\n 288: \"CHART.WIZARD\",\n 289: \"DELETE.TOOL\",\n 290: \"MOVE.TOOL\",\n 291: \"WORKBOOK.SELECT\",\n 292: \"WORKBOOK.ACTIVATE\",\n 293: \"ASSIGN.TO.TOOL\",\n 295: \"COPY.TOOL\",\n 296: \"RESET.TOOL\",\n 297: \"CONSTRAIN.NUMERIC\",\n 298: \"PASTE.TOOL\",\n 302: \"WORKBOOK.NEW\",\n 305: \"SCENARIO.CELLS\",\n 306: \"SCENARIO.DELETE\",\n 307: \"SCENARIO.ADD\",\n 308: \"SCENARIO.EDIT\",\n 309: \"SCENARIO.SHOW\",\n 310: \"SCENARIO.SHOW.NEXT\",\n 311: \"SCENARIO.SUMMARY\",\n 312: \"PIVOT.TABLE.WIZARD\",\n 313: \"PIVOT.FIELD.PROPERTIES\",\n 314: \"PIVOT.FIELD\",\n 315: \"PIVOT.ITEM\",\n 316: \"PIVOT.ADD.FIELDS\",\n 318: \"OPTIONS.CALCULATION\",\n 319: \"OPTIONS.EDIT\",\n 320: \"OPTIONS.VIEW\",\n 321: \"ADDIN.MANAGER\",\n 322: \"MENU.EDITOR\",\n 323: \"ATTACH.TOOLBARS\",\n 324: \"VBAActivate\",\n 325: \"OPTIONS.CHART\",\n 328: \"VBA.INSERT.FILE\",\n 330: \"VBA.PROCEDURE.DEFINITION\",\n 336: \"ROUTING.SLIP\",\n 338: \"ROUTE.DOCUMENT\",\n 339: \"MAIL.LOGON\",\n 342: \"INSERT.PICTURE\",\n 343: \"EDIT.TOOL\",\n 344: \"GALLERY.DOUGHNUT\",\n 350: \"CHART.TREND\",\n 352: \"PIVOT.ITEM.PROPERTIES\",\n 354: \"WORKBOOK.INSERT\",\n 355: \"OPTIONS.TRANSITION\",\n 356: \"OPTIONS.GENERAL\",\n 370: \"FILTER.ADVANCED\",\n 373: \"MAIL.ADD.MAILER\",\n 374: \"MAIL.DELETE.MAILER\",\n 375: \"MAIL.REPLY\",\n 376: \"MAIL.REPLY.ALL\",\n 377: \"MAIL.FORWARD\",\n 378: \"MAIL.NEXT.LETTER\",\n 379: \"DATA.LABEL\",\n 380: \"INSERT.TITLE\",\n 381: \"FONT.PROPERTIES\",\n 382: \"MACRO.OPTIONS\",\n 383: \"WORKBOOK.HIDE\",\n 384: \"WORKBOOK.UNHIDE\",\n 385: \"WORKBOOK.DELETE\",\n 386: \"WORKBOOK.NAME\",\n 388: \"GALLERY.CUSTOM\",\n 390: \"ADD.CHART.AUTOFORMAT\",\n 391: \"DELETE.CHART.AUTOFORMAT\",\n 392: \"CHART.ADD.DATA\",\n 393: \"AUTO.OUTLINE\",\n 394: \"TAB.ORDER\",\n 395: \"SHOW.DIALOG\",\n 396: \"SELECT.ALL\",\n 397: \"UNGROUP.SHEETS\",\n 398: \"SUBTOTAL.CREATE\",\n 399: \"SUBTOTAL.REMOVE\",\n 400: \"RENAME.OBJECT\",\n 412: \"WORKBOOK.SCROLL\",\n 413: \"WORKBOOK.NEXT\",\n 414: \"WORKBOOK.PREV\",\n 415: \"WORKBOOK.TAB.SPLIT\",\n 416: \"FULL.SCREEN\",\n 417: \"WORKBOOK.PROTECT\",\n 420: \"SCROLLBAR.PROPERTIES\",\n 421: \"PIVOT.SHOW.PAGES\",\n 422: \"TEXT.TO.COLUMNS\",\n 423: \"FORMAT.CHARTTYPE\",\n 424: \"LINK.FORMAT\",\n 425: \"TRACER.DISPLAY\",\n 430: \"TRACER.NAVIGATE\",\n 431: \"TRACER.CLEAR\",\n 432: \"TRACER.ERROR\",\n 433: \"PIVOT.FIELD.GROUP\",\n 434: \"PIVOT.FIELD.UNGROUP\",\n 435: \"CHECKBOX.PROPERTIES\",\n 436: \"LABEL.PROPERTIES\",\n 437: \"LISTBOX.PROPERTIES\",\n 438: \"EDITBOX.PROPERTIES\",\n 439: \"PIVOT.REFRESH\",\n 440: \"LINK.COMBO\",\n 441: \"OPEN.TEXT\",\n 442: \"HIDE.DIALOG\",\n 443: \"SET.DIALOG.FOCUS\",\n 444: \"ENABLE.OBJECT\",\n 445: \"PUSHBUTTON.PROPERTIES\",\n 446: \"SET.DIALOG.DEFAULT\",\n 447: \"FILTER\",\n 448: \"FILTER.SHOW.ALL\",\n 449: \"CLEAR.OUTLINE\",\n 450: \"FUNCTION.WIZARD\",\n 451: \"ADD.LIST.ITEM\",\n 452: \"SET.LIST.ITEM\",\n 453: \"REMOVE.LIST.ITEM\",\n 454: \"SELECT.LIST.ITEM\",\n 455: \"SET.CONTROL.VALUE\",\n 456: \"SAVE.COPY.AS\",\n 458: \"OPTIONS.LISTS.ADD\",\n 459: \"OPTIONS.LISTS.DELETE\",\n 460: \"SERIES.AXES\",\n 461: \"SERIES.X\",\n 462: \"SERIES.Y\",\n 463: \"ERRORBAR.X\",\n 464: \"ERRORBAR.Y\",\n 465: \"FORMAT.CHART\",\n 466: \"SERIES.ORDER\",\n 467: \"MAIL.LOGOFF\",\n 468: \"CLEAR.ROUTING.SLIP\",\n 469: \"APP.ACTIVATE.MICROSOFT\",\n 470: \"MAIL.EDIT.MAILER\",\n 471: \"ON.SHEET\",\n 472: \"STANDARD.WIDTH\",\n 473: \"SCENARIO.MERGE\",\n 474: \"SUMMARY.INFO\",\n 475: \"FIND.FILE\",\n 476: \"ACTIVE.CELL.FONT\",\n 477: \"ENABLE.TIPWIZARD\",\n 478: \"VBA.MAKE.ADDIN\",\n 480: \"INSERTDATATABLE\",\n 481: \"WORKGROUP.OPTIONS\",\n 482: \"MAIL.SEND.MAILER\",\n 485: \"AUTOCORRECT\",\n 489: \"POST.DOCUMENT\",\n 491: \"PICKLIST\",\n 493: \"VIEW.SHOW\",\n 494: \"VIEW.DEFINE\",\n 495: \"VIEW.DELETE\",\n 509: \"SHEET.BACKGROUND\",\n 510: \"INSERT.MAP.OBJECT\",\n 511: \"OPTIONS.MENONO\",\n 517: \"MSOCHECKS\",\n 518: \"NORMAL\",\n 519: \"LAYOUT\",\n 520: \"RM.PRINT.AREA\",\n 521: \"CLEAR.PRINT.AREA\",\n 522: \"ADD.PRINT.AREA\",\n 523: \"MOVE.BRK\",\n 545: \"HIDECURR.NOTE\",\n 546: \"HIDEALL.NOTES\",\n 547: \"DELETE.NOTE\",\n 548: \"TRAVERSE.NOTES\",\n 549: \"ACTIVATE.NOTES\",\n 620: \"PROTECT.REVISIONS\",\n 621: \"UNPROTECT.REVISIONS\",\n 647: \"OPTIONS.ME\",\n 653: \"WEB.PUBLISH\",\n 667: \"NEWWEBQUERY\",\n 673: \"PIVOT.TABLE.CHART\",\n 753: \"OPTIONS.SAVE\",\n 755: \"OPTIONS.SPELL\",\n 808: \"HIDEALL.INKANNOTS\"\n};\nvar Ftab = {\n 0: \"COUNT\",\n 1: \"IF\",\n 2: \"ISNA\",\n 3: \"ISERROR\",\n 4: \"SUM\",\n 5: \"AVERAGE\",\n 6: \"MIN\",\n 7: \"MAX\",\n 8: \"ROW\",\n 9: \"COLUMN\",\n 10: \"NA\",\n 11: \"NPV\",\n 12: \"STDEV\",\n 13: \"DOLLAR\",\n 14: \"FIXED\",\n 15: \"SIN\",\n 16: \"COS\",\n 17: \"TAN\",\n 18: \"ATAN\",\n 19: \"PI\",\n 20: \"SQRT\",\n 21: \"EXP\",\n 22: \"LN\",\n 23: \"LOG10\",\n 24: \"ABS\",\n 25: \"INT\",\n 26: \"SIGN\",\n 27: \"ROUND\",\n 28: \"LOOKUP\",\n 29: \"INDEX\",\n 30: \"REPT\",\n 31: \"MID\",\n 32: \"LEN\",\n 33: \"VALUE\",\n 34: \"TRUE\",\n 35: \"FALSE\",\n 36: \"AND\",\n 37: \"OR\",\n 38: \"NOT\",\n 39: \"MOD\",\n 40: \"DCOUNT\",\n 41: \"DSUM\",\n 42: \"DAVERAGE\",\n 43: \"DMIN\",\n 44: \"DMAX\",\n 45: \"DSTDEV\",\n 46: \"VAR\",\n 47: \"DVAR\",\n 48: \"TEXT\",\n 49: \"LINEST\",\n 50: \"TREND\",\n 51: \"LOGEST\",\n 52: \"GROWTH\",\n 53: \"GOTO\",\n 54: \"HALT\",\n 55: \"RETURN\",\n 56: \"PV\",\n 57: \"FV\",\n 58: \"NPER\",\n 59: \"PMT\",\n 60: \"RATE\",\n 61: \"MIRR\",\n 62: \"IRR\",\n 63: \"RAND\",\n 64: \"MATCH\",\n 65: \"DATE\",\n 66: \"TIME\",\n 67: \"DAY\",\n 68: \"MONTH\",\n 69: \"YEAR\",\n 70: \"WEEKDAY\",\n 71: \"HOUR\",\n 72: \"MINUTE\",\n 73: \"SECOND\",\n 74: \"NOW\",\n 75: \"AREAS\",\n 76: \"ROWS\",\n 77: \"COLUMNS\",\n 78: \"OFFSET\",\n 79: \"ABSREF\",\n 80: \"RELREF\",\n 81: \"ARGUMENT\",\n 82: \"SEARCH\",\n 83: \"TRANSPOSE\",\n 84: \"ERROR\",\n 85: \"STEP\",\n 86: \"TYPE\",\n 87: \"ECHO\",\n 88: \"SET.NAME\",\n 89: \"CALLER\",\n 90: \"DEREF\",\n 91: \"WINDOWS\",\n 92: \"SERIES\",\n 93: \"DOCUMENTS\",\n 94: \"ACTIVE.CELL\",\n 95: \"SELECTION\",\n 96: \"RESULT\",\n 97: \"ATAN2\",\n 98: \"ASIN\",\n 99: \"ACOS\",\n 100: \"CHOOSE\",\n 101: \"HLOOKUP\",\n 102: \"VLOOKUP\",\n 103: \"LINKS\",\n 104: \"INPUT\",\n 105: \"ISREF\",\n 106: \"GET.FORMULA\",\n 107: \"GET.NAME\",\n 108: \"SET.VALUE\",\n 109: \"LOG\",\n 110: \"EXEC\",\n 111: \"CHAR\",\n 112: \"LOWER\",\n 113: \"UPPER\",\n 114: \"PROPER\",\n 115: \"LEFT\",\n 116: \"RIGHT\",\n 117: \"EXACT\",\n 118: \"TRIM\",\n 119: \"REPLACE\",\n 120: \"SUBSTITUTE\",\n 121: \"CODE\",\n 122: \"NAMES\",\n 123: \"DIRECTORY\",\n 124: \"FIND\",\n 125: \"CELL\",\n 126: \"ISERR\",\n 127: \"ISTEXT\",\n 128: \"ISNUMBER\",\n 129: \"ISBLANK\",\n 130: \"T\",\n 131: \"N\",\n 132: \"FOPEN\",\n 133: \"FCLOSE\",\n 134: \"FSIZE\",\n 135: \"FREADLN\",\n 136: \"FREAD\",\n 137: \"FWRITELN\",\n 138: \"FWRITE\",\n 139: \"FPOS\",\n 140: \"DATEVALUE\",\n 141: \"TIMEVALUE\",\n 142: \"SLN\",\n 143: \"SYD\",\n 144: \"DDB\",\n 145: \"GET.DEF\",\n 146: \"REFTEXT\",\n 147: \"TEXTREF\",\n 148: \"INDIRECT\",\n 149: \"REGISTER\",\n 150: \"CALL\",\n 151: \"ADD.BAR\",\n 152: \"ADD.MENU\",\n 153: \"ADD.COMMAND\",\n 154: \"ENABLE.COMMAND\",\n 155: \"CHECK.COMMAND\",\n 156: \"RENAME.COMMAND\",\n 157: \"SHOW.BAR\",\n 158: \"DELETE.MENU\",\n 159: \"DELETE.COMMAND\",\n 160: \"GET.CHART.ITEM\",\n 161: \"DIALOG.BOX\",\n 162: \"CLEAN\",\n 163: \"MDETERM\",\n 164: \"MINVERSE\",\n 165: \"MMULT\",\n 166: \"FILES\",\n 167: \"IPMT\",\n 168: \"PPMT\",\n 169: \"COUNTA\",\n 170: \"CANCEL.KEY\",\n 171: \"FOR\",\n 172: \"WHILE\",\n 173: \"BREAK\",\n 174: \"NEXT\",\n 175: \"INITIATE\",\n 176: \"REQUEST\",\n 177: \"POKE\",\n 178: \"EXECUTE\",\n 179: \"TERMINATE\",\n 180: \"RESTART\",\n 181: \"HELP\",\n 182: \"GET.BAR\",\n 183: \"PRODUCT\",\n 184: \"FACT\",\n 185: \"GET.CELL\",\n 186: \"GET.WORKSPACE\",\n 187: \"GET.WINDOW\",\n 188: \"GET.DOCUMENT\",\n 189: \"DPRODUCT\",\n 190: \"ISNONTEXT\",\n 191: \"GET.NOTE\",\n 192: \"NOTE\",\n 193: \"STDEVP\",\n 194: \"VARP\",\n 195: \"DSTDEVP\",\n 196: \"DVARP\",\n 197: \"TRUNC\",\n 198: \"ISLOGICAL\",\n 199: \"DCOUNTA\",\n 200: \"DELETE.BAR\",\n 201: \"UNREGISTER\",\n 204: \"USDOLLAR\",\n 205: \"FINDB\",\n 206: \"SEARCHB\",\n 207: \"REPLACEB\",\n 208: \"LEFTB\",\n 209: \"RIGHTB\",\n 210: \"MIDB\",\n 211: \"LENB\",\n 212: \"ROUNDUP\",\n 213: \"ROUNDDOWN\",\n 214: \"ASC\",\n 215: \"DBCS\",\n 216: \"RANK\",\n 219: \"ADDRESS\",\n 220: \"DAYS360\",\n 221: \"TODAY\",\n 222: \"VDB\",\n 223: \"ELSE\",\n 224: \"ELSE.IF\",\n 225: \"END.IF\",\n 226: \"FOR.CELL\",\n 227: \"MEDIAN\",\n 228: \"SUMPRODUCT\",\n 229: \"SINH\",\n 230: \"COSH\",\n 231: \"TANH\",\n 232: \"ASINH\",\n 233: \"ACOSH\",\n 234: \"ATANH\",\n 235: \"DGET\",\n 236: \"CREATE.OBJECT\",\n 237: \"VOLATILE\",\n 238: \"LAST.ERROR\",\n 239: \"CUSTOM.UNDO\",\n 240: \"CUSTOM.REPEAT\",\n 241: \"FORMULA.CONVERT\",\n 242: \"GET.LINK.INFO\",\n 243: \"TEXT.BOX\",\n 244: \"INFO\",\n 245: \"GROUP\",\n 246: \"GET.OBJECT\",\n 247: \"DB\",\n 248: \"PAUSE\",\n 251: \"RESUME\",\n 252: \"FREQUENCY\",\n 253: \"ADD.TOOLBAR\",\n 254: \"DELETE.TOOLBAR\",\n 255: \"User\",\n 256: \"RESET.TOOLBAR\",\n 257: \"EVALUATE\",\n 258: \"GET.TOOLBAR\",\n 259: \"GET.TOOL\",\n 260: \"SPELLING.CHECK\",\n 261: \"ERROR.TYPE\",\n 262: \"APP.TITLE\",\n 263: \"WINDOW.TITLE\",\n 264: \"SAVE.TOOLBAR\",\n 265: \"ENABLE.TOOL\",\n 266: \"PRESS.TOOL\",\n 267: \"REGISTER.ID\",\n 268: \"GET.WORKBOOK\",\n 269: \"AVEDEV\",\n 270: \"BETADIST\",\n 271: \"GAMMALN\",\n 272: \"BETAINV\",\n 273: \"BINOMDIST\",\n 274: \"CHIDIST\",\n 275: \"CHIINV\",\n 276: \"COMBIN\",\n 277: \"CONFIDENCE\",\n 278: \"CRITBINOM\",\n 279: \"EVEN\",\n 280: \"EXPONDIST\",\n 281: \"FDIST\",\n 282: \"FINV\",\n 283: \"FISHER\",\n 284: \"FISHERINV\",\n 285: \"FLOOR\",\n 286: \"GAMMADIST\",\n 287: \"GAMMAINV\",\n 288: \"CEILING\",\n 289: \"HYPGEOMDIST\",\n 290: \"LOGNORMDIST\",\n 291: \"LOGINV\",\n 292: \"NEGBINOMDIST\",\n 293: \"NORMDIST\",\n 294: \"NORMSDIST\",\n 295: \"NORMINV\",\n 296: \"NORMSINV\",\n 297: \"STANDARDIZE\",\n 298: \"ODD\",\n 299: \"PERMUT\",\n 300: \"POISSON\",\n 301: \"TDIST\",\n 302: \"WEIBULL\",\n 303: \"SUMXMY2\",\n 304: \"SUMX2MY2\",\n 305: \"SUMX2PY2\",\n 306: \"CHITEST\",\n 307: \"CORREL\",\n 308: \"COVAR\",\n 309: \"FORECAST\",\n 310: \"FTEST\",\n 311: \"INTERCEPT\",\n 312: \"PEARSON\",\n 313: \"RSQ\",\n 314: \"STEYX\",\n 315: \"SLOPE\",\n 316: \"TTEST\",\n 317: \"PROB\",\n 318: \"DEVSQ\",\n 319: \"GEOMEAN\",\n 320: \"HARMEAN\",\n 321: \"SUMSQ\",\n 322: \"KURT\",\n 323: \"SKEW\",\n 324: \"ZTEST\",\n 325: \"LARGE\",\n 326: \"SMALL\",\n 327: \"QUARTILE\",\n 328: \"PERCENTILE\",\n 329: \"PERCENTRANK\",\n 330: \"MODE\",\n 331: \"TRIMMEAN\",\n 332: \"TINV\",\n 334: \"MOVIE.COMMAND\",\n 335: \"GET.MOVIE\",\n 336: \"CONCATENATE\",\n 337: \"POWER\",\n 338: \"PIVOT.ADD.DATA\",\n 339: \"GET.PIVOT.TABLE\",\n 340: \"GET.PIVOT.FIELD\",\n 341: \"GET.PIVOT.ITEM\",\n 342: \"RADIANS\",\n 343: \"DEGREES\",\n 344: \"SUBTOTAL\",\n 345: \"SUMIF\",\n 346: \"COUNTIF\",\n 347: \"COUNTBLANK\",\n 348: \"SCENARIO.GET\",\n 349: \"OPTIONS.LISTS.GET\",\n 350: \"ISPMT\",\n 351: \"DATEDIF\",\n 352: \"DATESTRING\",\n 353: \"NUMBERSTRING\",\n 354: \"ROMAN\",\n 355: \"OPEN.DIALOG\",\n 356: \"SAVE.DIALOG\",\n 357: \"VIEW.GET\",\n 358: \"GETPIVOTDATA\",\n 359: \"HYPERLINK\",\n 360: \"PHONETIC\",\n 361: \"AVERAGEA\",\n 362: \"MAXA\",\n 363: \"MINA\",\n 364: \"STDEVPA\",\n 365: \"VARPA\",\n 366: \"STDEVA\",\n 367: \"VARA\",\n 368: \"BAHTTEXT\",\n 369: \"THAIDAYOFWEEK\",\n 370: \"THAIDIGIT\",\n 371: \"THAIMONTHOFYEAR\",\n 372: \"THAINUMSOUND\",\n 373: \"THAINUMSTRING\",\n 374: \"THAISTRINGLENGTH\",\n 375: \"ISTHAIDIGIT\",\n 376: \"ROUNDBAHTDOWN\",\n 377: \"ROUNDBAHTUP\",\n 378: \"THAIYEAR\",\n 379: \"RTD\",\n 380: \"CUBEVALUE\",\n 381: \"CUBEMEMBER\",\n 382: \"CUBEMEMBERPROPERTY\",\n 383: \"CUBERANKEDMEMBER\",\n 384: \"HEX2BIN\",\n 385: \"HEX2DEC\",\n 386: \"HEX2OCT\",\n 387: \"DEC2BIN\",\n 388: \"DEC2HEX\",\n 389: \"DEC2OCT\",\n 390: \"OCT2BIN\",\n 391: \"OCT2HEX\",\n 392: \"OCT2DEC\",\n 393: \"BIN2DEC\",\n 394: \"BIN2OCT\",\n 395: \"BIN2HEX\",\n 396: \"IMSUB\",\n 397: \"IMDIV\",\n 398: \"IMPOWER\",\n 399: \"IMABS\",\n 400: \"IMSQRT\",\n 401: \"IMLN\",\n 402: \"IMLOG2\",\n 403: \"IMLOG10\",\n 404: \"IMSIN\",\n 405: \"IMCOS\",\n 406: \"IMEXP\",\n 407: \"IMARGUMENT\",\n 408: \"IMCONJUGATE\",\n 409: \"IMAGINARY\",\n 410: \"IMREAL\",\n 411: \"COMPLEX\",\n 412: \"IMSUM\",\n 413: \"IMPRODUCT\",\n 414: \"SERIESSUM\",\n 415: \"FACTDOUBLE\",\n 416: \"SQRTPI\",\n 417: \"QUOTIENT\",\n 418: \"DELTA\",\n 419: \"GESTEP\",\n 420: \"ISEVEN\",\n 421: \"ISODD\",\n 422: \"MROUND\",\n 423: \"ERF\",\n 424: \"ERFC\",\n 425: \"BESSELJ\",\n 426: \"BESSELK\",\n 427: \"BESSELY\",\n 428: \"BESSELI\",\n 429: \"XIRR\",\n 430: \"XNPV\",\n 431: \"PRICEMAT\",\n 432: \"YIELDMAT\",\n 433: \"INTRATE\",\n 434: \"RECEIVED\",\n 435: \"DISC\",\n 436: \"PRICEDISC\",\n 437: \"YIELDDISC\",\n 438: \"TBILLEQ\",\n 439: \"TBILLPRICE\",\n 440: \"TBILLYIELD\",\n 441: \"PRICE\",\n 442: \"YIELD\",\n 443: \"DOLLARDE\",\n 444: \"DOLLARFR\",\n 445: \"NOMINAL\",\n 446: \"EFFECT\",\n 447: \"CUMPRINC\",\n 448: \"CUMIPMT\",\n 449: \"EDATE\",\n 450: \"EOMONTH\",\n 451: \"YEARFRAC\",\n 452: \"COUPDAYBS\",\n 453: \"COUPDAYS\",\n 454: \"COUPDAYSNC\",\n 455: \"COUPNCD\",\n 456: \"COUPNUM\",\n 457: \"COUPPCD\",\n 458: \"DURATION\",\n 459: \"MDURATION\",\n 460: \"ODDLPRICE\",\n 461: \"ODDLYIELD\",\n 462: \"ODDFPRICE\",\n 463: \"ODDFYIELD\",\n 464: \"RANDBETWEEN\",\n 465: \"WEEKNUM\",\n 466: \"AMORDEGRC\",\n 467: \"AMORLINC\",\n 468: \"CONVERT\",\n 724: \"SHEETJS\",\n 469: \"ACCRINT\",\n 470: \"ACCRINTM\",\n 471: \"WORKDAY\",\n 472: \"NETWORKDAYS\",\n 473: \"GCD\",\n 474: \"MULTINOMIAL\",\n 475: \"LCM\",\n 476: \"FVSCHEDULE\",\n 477: \"CUBEKPIMEMBER\",\n 478: \"CUBESET\",\n 479: \"CUBESETCOUNT\",\n 480: \"IFERROR\",\n 481: \"COUNTIFS\",\n 482: \"SUMIFS\",\n 483: \"AVERAGEIF\",\n 484: \"AVERAGEIFS\"\n};\nvar FtabArgc = {\n 2: 1,\n 3: 1,\n 10: 0,\n 15: 1,\n 16: 1,\n 17: 1,\n 18: 1,\n 19: 0,\n 20: 1,\n 21: 1,\n 22: 1,\n 23: 1,\n 24: 1,\n 25: 1,\n 26: 1,\n 27: 2,\n 30: 2,\n 31: 3,\n 32: 1,\n 33: 1,\n 34: 0,\n 35: 0,\n 38: 1,\n 39: 2,\n 40: 3,\n 41: 3,\n 42: 3,\n 43: 3,\n 44: 3,\n 45: 3,\n 47: 3,\n 48: 2,\n 53: 1,\n 61: 3,\n 63: 0,\n 65: 3,\n 66: 3,\n 67: 1,\n 68: 1,\n 69: 1,\n 70: 1,\n 71: 1,\n 72: 1,\n 73: 1,\n 74: 0,\n 75: 1,\n 76: 1,\n 77: 1,\n 79: 2,\n 80: 2,\n 83: 1,\n 85: 0,\n 86: 1,\n 89: 0,\n 90: 1,\n 94: 0,\n 95: 0,\n 97: 2,\n 98: 1,\n 99: 1,\n 101: 3,\n 102: 3,\n 105: 1,\n 106: 1,\n 108: 2,\n 111: 1,\n 112: 1,\n 113: 1,\n 114: 1,\n 117: 2,\n 118: 1,\n 119: 4,\n 121: 1,\n 126: 1,\n 127: 1,\n 128: 1,\n 129: 1,\n 130: 1,\n 131: 1,\n 133: 1,\n 134: 1,\n 135: 1,\n 136: 2,\n 137: 2,\n 138: 2,\n 140: 1,\n 141: 1,\n 142: 3,\n 143: 4,\n 144: 4,\n 161: 1,\n 162: 1,\n 163: 1,\n 164: 1,\n 165: 2,\n 172: 1,\n 175: 2,\n 176: 2,\n 177: 3,\n 178: 2,\n 179: 1,\n 184: 1,\n 186: 1,\n 189: 3,\n 190: 1,\n 195: 3,\n 196: 3,\n 197: 1,\n 198: 1,\n 199: 3,\n 201: 1,\n 207: 4,\n 210: 3,\n 211: 1,\n 212: 2,\n 213: 2,\n 214: 1,\n 215: 1,\n 225: 0,\n 229: 1,\n 230: 1,\n 231: 1,\n 232: 1,\n 233: 1,\n 234: 1,\n 235: 3,\n 244: 1,\n 247: 4,\n 252: 2,\n 257: 1,\n 261: 1,\n 271: 1,\n 273: 4,\n 274: 2,\n 275: 2,\n 276: 2,\n 277: 3,\n 278: 3,\n 279: 1,\n 280: 3,\n 281: 3,\n 282: 3,\n 283: 1,\n 284: 1,\n 285: 2,\n 286: 4,\n 287: 3,\n 288: 2,\n 289: 4,\n 290: 3,\n 291: 3,\n 292: 3,\n 293: 4,\n 294: 1,\n 295: 3,\n 296: 1,\n 297: 3,\n 298: 1,\n 299: 2,\n 300: 3,\n 301: 3,\n 302: 4,\n 303: 2,\n 304: 2,\n 305: 2,\n 306: 2,\n 307: 2,\n 308: 2,\n 309: 3,\n 310: 2,\n 311: 2,\n 312: 2,\n 313: 2,\n 314: 2,\n 315: 2,\n 316: 4,\n 325: 2,\n 326: 2,\n 327: 2,\n 328: 2,\n 331: 2,\n 332: 2,\n 337: 2,\n 342: 1,\n 343: 1,\n 346: 2,\n 347: 1,\n 350: 4,\n 351: 3,\n 352: 1,\n 353: 2,\n 360: 1,\n 368: 1,\n 369: 1,\n 370: 1,\n 371: 1,\n 372: 1,\n 373: 1,\n 374: 1,\n 375: 1,\n 376: 1,\n 377: 1,\n 378: 1,\n 382: 3,\n 385: 1,\n 392: 1,\n 393: 1,\n 396: 2,\n 397: 2,\n 398: 2,\n 399: 1,\n 400: 1,\n 401: 1,\n 402: 1,\n 403: 1,\n 404: 1,\n 405: 1,\n 406: 1,\n 407: 1,\n 408: 1,\n 409: 1,\n 410: 1,\n 414: 4,\n 415: 1,\n 416: 1,\n 417: 2,\n 420: 1,\n 421: 1,\n 422: 2,\n 424: 1,\n 425: 2,\n 426: 2,\n 427: 2,\n 428: 2,\n 430: 3,\n 438: 3,\n 439: 3,\n 440: 3,\n 443: 2,\n 444: 2,\n 445: 2,\n 446: 2,\n 447: 6,\n 448: 6,\n 449: 2,\n 450: 2,\n 464: 2,\n 468: 3,\n 476: 2,\n 479: 1,\n 480: 2,\n 65535: 0\n};\n/* Part 3 TODO: actually parse formulae */\nfunction ods_to_csf_formula(f/*:string*/)/*:string*/ {\n\tif(f.slice(0,3) == \"of:\") f = f.slice(3);\n\t/* 5.2 Basic Expressions */\n\tif(f.charCodeAt(0) == 61) {\n\t\tf = f.slice(1);\n\t\tif(f.charCodeAt(0) == 61) f = f.slice(1);\n\t}\n\tf = f.replace(/COM\\.MICROSOFT\\./g, \"\");\n\t/* Part 3 Section 5.8 References */\n\tf = f.replace(/\\[((?:\\.[A-Z]+[0-9]+)(?::\\.[A-Z]+[0-9]+)?)\\]/g, function($$, $1) { return $1.replace(/\\./g,\"\"); });\n\tf = f.replace(/\\$'([^']|'')+'/g, function($$) { return $$.slice(1); });\n\tf = f.replace(/\\$([^\\]\\. #$]+)/g, function($$, $1) { return ($1).match(/^([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])?(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})?$/) ? $$ : $1; });\n\t/* TODO: something other than this */\n\tf = f.replace(/\\[.(#[A-Z]*[?!])\\]/g, \"$1\");\n\treturn f.replace(/[;~]/g,\",\").replace(/\\|/g,\";\");\n}\n\nfunction csf_to_ods_formula(f/*:string*/)/*:string*/ {\n\tvar o = \"of:=\" + f.replace(crefregex, \"$1[.$2$3$4$5]\").replace(/\\]:\\[/g,\":\");\n\t/* TODO: something other than this */\n\treturn o.replace(/;/g, \"|\").replace(/,/g,\";\");\n}\n\nfunction ods_to_csf_3D(r/*:string*/)/*:[string, string]*/ {\n\tr = r.replace(/\\$'([^']|'')+'/g, function($$) { return $$.slice(1); });\n\tr = r.replace(/\\$([^\\]\\. #$]+)/g, function($$, $1) { return ($1).match(/^([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])?(10[0-3]\\d{4}|104[0-7]\\d{3}|1048[0-4]\\d{2}|10485[0-6]\\d|104857[0-6]|[1-9]\\d{0,5})?$/) ? $$ : $1; });\n\tvar a = r.split(\":\");\n\tvar s = a[0].split(\".\")[0];\n\treturn [s, a[0].split(\".\")[1] + (a.length > 1 ? (\":\" + (a[1].split(\".\")[1] || a[1].split(\".\")[0])) : \"\")];\n}\n\nfunction csf_to_ods_3D(r/*:string*/)/*:string*/ {\n\treturn r.replace(/!/,\".\").replace(/:/, \":.\");\n}\n\nvar strs = {}; // shared strings\nvar _ssfopts = {}; // spreadsheet formatting options\n\n\n/*global Map */\nvar browser_has_Map = typeof Map !== 'undefined';\n\nfunction get_sst_id(sst/*:SST*/, str/*:string*/, rev)/*:number*/ {\n\tvar i = 0, len = sst.length;\n\tif(rev) {\n\t\tif(browser_has_Map ? rev.has(str) : Object.prototype.hasOwnProperty.call(rev, str)) {\n\t\t\tvar revarr = browser_has_Map ? rev.get(str) : rev[str];\n\t\t\tfor(; i < revarr.length; ++i) {\n\t\t\t\tif(sst[revarr[i]].t === str) { sst.Count ++; return revarr[i]; }\n\t\t\t}\n\t\t}\n\t} else for(; i < len; ++i) {\n\t\tif(sst[i].t === str) { sst.Count ++; return i; }\n\t}\n\tsst[len] = ({t:str}/*:any*/); sst.Count ++; sst.Unique ++;\n\tif(rev) {\n\t\tif(browser_has_Map) {\n\t\t\tif(!rev.has(str)) rev.set(str, []);\n\t\t\trev.get(str).push(len);\n\t\t} else {\n\t\t\tif(!Object.prototype.hasOwnProperty.call(rev, str)) rev[str] = [];\n\t\t\trev[str].push(len);\n\t\t}\n\t}\n\treturn len;\n}\n\nfunction col_obj_w(C/*:number*/, col) {\n\tvar p = ({min:C+1,max:C+1}/*:any*/);\n\t/* wch (chars), wpx (pixels) */\n\tvar wch = -1;\n\tif(col.MDW) MDW = col.MDW;\n\tif(col.width != null) p.customWidth = 1;\n\telse if(col.wpx != null) wch = px2char(col.wpx);\n\telse if(col.wch != null) wch = col.wch;\n\tif(wch > -1) { p.width = char2width(wch); p.customWidth = 1; }\n\telse if(col.width != null) p.width = col.width;\n\tif(col.hidden) p.hidden = true;\n\tif(col.level != null) { p.outlineLevel = p.level = col.level; }\n\treturn p;\n}\n\nfunction default_margins(margins/*:Margins*/, mode/*:?string*/) {\n\tif(!margins) return;\n\tvar defs = [0.7, 0.7, 0.75, 0.75, 0.3, 0.3];\n\tif(mode == 'xlml') defs = [1, 1, 1, 1, 0.5, 0.5];\n\tif(margins.left == null) margins.left = defs[0];\n\tif(margins.right == null) margins.right = defs[1];\n\tif(margins.top == null) margins.top = defs[2];\n\tif(margins.bottom == null) margins.bottom = defs[3];\n\tif(margins.header == null) margins.header = defs[4];\n\tif(margins.footer == null) margins.footer = defs[5];\n}\n\nfunction get_cell_style(styles/*:Array*/, cell/*:Cell*/, opts) {\n\tvar z = opts.revssf[cell.z != null ? cell.z : \"General\"];\n\tvar i = 0x3c, len = styles.length;\n\tif(z == null && opts.ssf) {\n\t\tfor(; i < 0x188; ++i) if(opts.ssf[i] == null) {\n\t\t\tSSF__load(cell.z, i);\n\t\t\t// $FlowIgnore\n\t\t\topts.ssf[i] = cell.z;\n\t\t\topts.revssf[cell.z] = z = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tfor(i = 0; i != len; ++i) if(styles[i].numFmtId === z) return i;\n\tstyles[len] = {\n\t\tnumFmtId:z,\n\t\tfontId:0,\n\t\tfillId:0,\n\t\tborderId:0,\n\t\txfId:0,\n\t\tapplyNumberFormat:1\n\t};\n\treturn len;\n}\n\nfunction safe_format(p/*:Cell*/, fmtid/*:number*/, fillid/*:?number*/, opts, themes, styles, date1904) {\n\ttry {\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(p.t === 'z' && !opts.cellStyles) return;\n\tif(p.t === 'd' && typeof p.v === 'string') p.v = parseDate(p.v);\n\tif((!opts || opts.cellText !== false) && p.t !== 'z') try {\n\t\tif(table_fmt[fmtid] == null) SSF__load(SSFImplicit[fmtid] || \"General\", fmtid);\n\t\tif(p.t === 'e') p.w = p.w || BErr[p.v];\n\t\telse if(fmtid === 0) {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse if(p.t === 'd') {\n\t\t\t\tvar dd = datenum(p.v, !!date1904);\n\t\t\t\tif((dd|0) === dd) p.w = dd.toString(10);\n\t\t\t\telse p.w = SSF_general_num(dd);\n\t\t\t}\n\t\t\telse if(p.v === undefined) return \"\";\n\t\t\telse p.w = SSF_general(p.v,_ssfopts);\n\t\t}\n\t\telse if(p.t === 'd') p.w = SSF_format(fmtid,datenum(p.v, !!date1904),_ssfopts);\n\t\telse p.w = SSF_format(fmtid,p.v,_ssfopts);\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts.cellStyles) return;\n\tif(fillid != null) try {\n\t\tp.s = styles.Fills[fillid];\n\t\tif (p.s.fgColor && p.s.fgColor.theme && !p.s.fgColor.rgb) {\n\t\t\tp.s.fgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.fgColor.theme].rgb, p.s.fgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.fgColor.raw_rgb = themes.themeElements.clrScheme[p.s.fgColor.theme].rgb;\n\t\t}\n\t\tif (p.s.bgColor && p.s.bgColor.theme) {\n\t\t\tp.s.bgColor.rgb = rgb_tint(themes.themeElements.clrScheme[p.s.bgColor.theme].rgb, p.s.bgColor.tint || 0);\n\t\t\tif(opts.WTF) p.s.bgColor.raw_rgb = themes.themeElements.clrScheme[p.s.bgColor.theme].rgb;\n\t\t}\n\t} catch(e) { if(opts.WTF && styles.Fills) throw e; }\n}\n\nfunction check_ws(ws/*:Worksheet*/, sname/*:string*/, i/*:number*/) {\n\tif(ws && ws['!ref']) {\n\t\tvar range = safe_decode_range(ws['!ref']);\n\t\tif(range.e.c < range.s.c || range.e.r < range.s.r) throw new Error(\"Bad range (\" + i + \"): \" + ws['!ref']);\n\t}\n}\nfunction parse_ws_xml_dim(ws/*:Worksheet*/, s/*:string*/) {\n\tvar d = safe_decode_range(s);\n\tif(d.s.r<=d.e.r && d.s.c<=d.e.c && d.s.r>=0 && d.s.c>=0) ws[\"!ref\"] = encode_range(d);\n}\nvar mergecregex = /<(?:\\w+:)?mergeCell ref=[\"'][A-Z0-9:]+['\"]\\s*[\\/]?>/g;\nvar hlinkregex = /<(?:\\w+:)?hyperlink [^<>]*>/mg;\nvar dimregex = /\"(\\w*:\\w*)\"/;\nvar colregex = /<(?:\\w+:)?col\\b[^<>]*[\\/]?>/g;\nvar afregex = /<(?:\\w+:)?autoFilter[^>]*/g;\nvar marginregex= /<(?:\\w+:)?pageMargins[^<>]*\\/>/g;\nvar sheetprregex = /<(?:\\w+:)?sheetPr\\b[^<>]*?\\/>/;\n\n/* 18.3 Worksheets */\nfunction parse_ws_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\n\t/* 18.3.1.99 worksheet CT_Worksheet */\n\tvar s = ({}/*:any*/); if(opts.dense) s[\"!data\"] = [];\n\tvar refguess/*:Range*/ = ({s: {r:2000000, c:2000000}, e: {r:0, c:0} }/*:any*/);\n\n\tvar data1 = \"\", data2 = \"\";\n\tvar mtch/*:?any*/ = str_match_xml_ns(data, \"sheetData\");\n\tif(mtch) {\n\t\tdata1 = data.slice(0, mtch.index);\n\t\tdata2 = data.slice(mtch.index + mtch[0].length);\n\t} else data1 = data2 = data;\n\n\t/* 18.3.1.82 sheetPr CT_SheetPr */\n\tvar sheetPr = data1.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\telse if((sheetPr = str_match_xml_ns(data1, \"sheetPr\"))) parse_ws_xml_sheetpr2(sheetPr[0], sheetPr[1]||\"\", s, wb, idx, styles, themes);\n\n\t/* 18.3.1.35 dimension CT_SheetDimension */\n\tvar ridx = (data1.match(/<(?:\\w*:)?dimension/)||{index:-1}).index;\n\tif(ridx > 0) {\n\t\tvar ref = data1.slice(ridx,ridx+50).match(dimregex);\n\t\tif(ref && !(opts && opts.nodim)) parse_ws_xml_dim(s, ref[1]);\n\t}\n\n\t/* 18.3.1.88 sheetViews CT_SheetViews */\n\tvar svs = str_match_xml_ns(data1, \"sheetViews\");\n\tif(svs && svs[1]) parse_ws_xml_sheetviews(svs[1], wb);\n\n\t/* 18.3.1.17 cols CT_Cols */\n\tvar columns/*:Array*/ = [];\n\tif(opts.cellStyles) {\n\t\t/* 18.3.1.13 col CT_Col */\n\t\tvar cols = data1.match(colregex);\n\t\tif(cols) parse_ws_xml_cols(columns, cols);\n\t}\n\n\t/* 18.3.1.80 sheetData CT_SheetData ? */\n\tif(mtch) parse_ws_xml_data(mtch[1], s, opts, refguess, themes, styles, wb);\n\n\t/* 18.3.1.2 autoFilter CT_AutoFilter */\n\tvar afilter = data2.match(afregex);\n\tif(afilter) s['!autofilter'] = parse_ws_xml_autofilter(afilter[0]);\n\n\t/* 18.3.1.55 mergeCells CT_MergeCells */\n\tvar merges/*:Array*/ = [];\n\tvar _merge = data2.match(mergecregex);\n\tif(_merge) for(ridx = 0; ridx != _merge.length; ++ridx)\n\t\tmerges[ridx] = safe_decode_range(_merge[ridx].slice(_merge[ridx].indexOf(\"=\")+2));\n\n\t/* 18.3.1.48 hyperlinks CT_Hyperlinks */\n\tvar hlink = data2.match(hlinkregex);\n\tif(hlink) parse_ws_xml_hlinks(s, hlink, rels);\n\n\t/* 18.3.1.62 pageMargins CT_PageMargins */\n\tvar margins = data2.match(marginregex);\n\tif(margins) s['!margins'] = parse_ws_xml_margins(parsexmltag(margins[0]));\n\n\t/* legacyDrawing */\n\tvar m;\n\tif((m = data2.match(/legacyDrawing r:id=\"(.*?)\"/))) s['!legrel'] = m[1];\n\n\tif(opts && opts.nodim) refguess.s.c = refguess.s.r = 0;\n\tif(!s[\"!ref\"] && refguess.e.c >= refguess.s.c && refguess.e.r >= refguess.s.r) s[\"!ref\"] = encode_range(refguess);\n\tif(opts.sheetRows > 0 && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(columns.length > 0) s[\"!cols\"] = columns;\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']];\n\treturn s;\n}\n\nfunction write_ws_xml_merges(merges/*:Array*/)/*:string*/ {\n\tif(merges.length === 0) return \"\";\n\tvar o = '';\n\tfor(var i = 0; i != merges.length; ++i) o += '';\n\treturn o + '';\n}\n\n/* 18.3.1.82-3 sheetPr CT_ChartsheetPr / CT_SheetPr */\nfunction parse_ws_xml_sheetpr(sheetPr/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tvar data = parsexmltag(sheetPr);\n\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\tif(data.codeName) wb.Sheets[idx].CodeName = unescapexml(utf8read(data.codeName));\n}\nfunction parse_ws_xml_sheetpr2(sheetPr/*:string*/, body/*:string*/, s, wb/*:WBWBProps*/, idx/*:number*/) {\n\tparse_ws_xml_sheetpr(sheetPr.slice(0, sheetPr.indexOf(\">\")), s, wb, idx);\n}\nfunction write_ws_xml_sheetpr(ws, wb, idx, opts, o) {\n\tvar needed = false;\n\tvar props = {}, payload = null;\n\tif(opts.bookType !== 'xlsx' && wb.vbaraw) {\n\t\tvar cname = wb.SheetNames[idx];\n\t\ttry { if(wb.Workbook) cname = wb.Workbook.Sheets[idx].CodeName || cname; } catch(e) {}\n\t\tneeded = true;\n\t\tprops.codeName = utf8write(escapexml(cname));\n\t}\n\n\tif(ws && ws[\"!outline\"]) {\n\t\tvar outlineprops = {summaryBelow:1, summaryRight:1};\n\t\tif(ws[\"!outline\"].above) outlineprops.summaryBelow = 0;\n\t\tif(ws[\"!outline\"].left) outlineprops.summaryRight = 0;\n\t\tpayload = (payload||\"\") + writextag('outlinePr', null, outlineprops);\n\t}\n\n\tif(!needed && !payload) return;\n\to[o.length] = (writextag('sheetPr', payload, props));\n}\n\n/* 18.3.1.85 sheetProtection CT_SheetProtection */\nvar sheetprot_deffalse = [\"objects\", \"scenarios\", \"selectLockedCells\", \"selectUnlockedCells\"];\nvar sheetprot_deftrue = [\n\t\"formatColumns\", \"formatRows\", \"formatCells\",\n\t\"insertColumns\", \"insertRows\", \"insertHyperlinks\",\n\t\"deleteColumns\", \"deleteRows\",\n\t\"sort\", \"autoFilter\", \"pivotTables\"\n];\nfunction write_ws_xml_protection(sp)/*:string*/ {\n\t// algorithmName, hashValue, saltValue, spinCount\n\tvar o = ({sheet:1}/*:any*/);\n\tsheetprot_deffalse.forEach(function(n) { if(sp[n] != null && sp[n]) o[n] = \"1\"; });\n\tsheetprot_deftrue.forEach(function(n) { if(sp[n] != null && !sp[n]) o[n] = \"0\"; });\n\t/* TODO: algorithm */\n\tif(sp.password) o.password = crypto_CreatePasswordVerifier_Method1(sp.password).toString(16).toUpperCase();\n\treturn writextag('sheetProtection', null, o);\n}\n\nfunction parse_ws_xml_hlinks(s, data/*:Array*/, rels) {\n\tvar dense = s[\"!data\"] != null;\n\tfor(var i = 0; i != data.length; ++i) {\n\t\tvar val = parsexmltag(utf8read(data[i]), true);\n\t\tif(!val.ref) return;\n\t\tvar rel = ((rels || {})['!id']||[])[val.id];\n\t\tif(rel) {\n\t\t\tval.Target = rel.Target;\n\t\t\tif(val.location) val.Target += \"#\"+unescapexml(val.location);\n\t\t} else {\n\t\t\tval.Target = \"#\" + unescapexml(val.location);\n\t\t\trel = {Target: val.Target, TargetMode: 'Internal'};\n\t\t}\n\t\tval.Rel = rel;\n\t\tif(val.tooltip) { val.Tooltip = val.tooltip; delete val.tooltip; }\n\t\tvar rng = safe_decode_range(val.ref);\n\t\tfor(var R=rng.s.r;R<=rng.e.r;++R) for(var C=rng.s.c;C<=rng.e.c;++C) {\n\t\t\tvar addr = encode_col(C) + encode_row(R);\n\t\t\tif(dense) {\n\t\t\t\tif(!s[\"!data\"][R]) s[\"!data\"][R] = [];\n\t\t\t\tif(!s[\"!data\"][R][C]) s[\"!data\"][R][C] = {t:\"z\",v:undefined};\n\t\t\t\ts[\"!data\"][R][C].l = val;\n\t\t\t} else {\n\t\t\t\tif(!s[addr]) s[addr] = {t:\"z\",v:undefined};\n\t\t\t\ts[addr].l = val;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction parse_ws_xml_margins(margin) {\n\tvar o = {};\n\t[\"left\", \"right\", \"top\", \"bottom\", \"header\", \"footer\"].forEach(function(k) {\n\t\tif(margin[k]) o[k] = parseFloat(margin[k]);\n\t});\n\treturn o;\n}\nfunction write_ws_xml_margins(margin)/*:string*/ {\n\tdefault_margins(margin);\n\treturn writextag('pageMargins', null, margin);\n}\n\nfunction parse_ws_xml_cols(columns, cols) {\n\tvar seencol = false;\n\tfor(var coli = 0; coli != cols.length; ++coli) {\n\t\tvar coll = parsexmltag(cols[coli], true);\n\t\tif(coll.hidden) coll.hidden = parsexmlbool(coll.hidden);\n\t\tvar colm=parseInt(coll.min, 10)-1, colM=parseInt(coll.max,10)-1;\n\t\tif(coll.outlineLevel) coll.level = (+coll.outlineLevel || 0);\n\t\tdelete coll.min; delete coll.max; coll.width = +coll.width;\n\t\tif(!seencol && coll.width) { seencol = true; find_mdw_colw(coll.width); }\n\t\tprocess_col(coll);\n\t\twhile(colm <= colM) columns[colm++] = dup(coll);\n\t}\n}\nfunction write_ws_xml_cols(ws, cols)/*:string*/ {\n\tvar o = [\"\"], col;\n\tfor(var i = 0; i != cols.length; ++i) {\n\t\tif(!(col = cols[i])) continue;\n\t\to[o.length] = (writextag('col', null, col_obj_w(i, col)));\n\t}\n\to[o.length] = \"\";\n\treturn o.join(\"\");\n}\n\nfunction parse_ws_xml_autofilter(data/*:string*/) {\n\tvar o = { ref: (data.match(/ref=\"([^\"]*)\"/)||[])[1]};\n\treturn o;\n}\nfunction write_ws_xml_autofilter(data, ws, wb, idx)/*:string*/ {\n\tvar ref = typeof data.ref == \"string\" ? data.ref : encode_range(data.ref);\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = formula_quote_sheet_name(wb.SheetNames[idx]) + \"!\" + fix_range(ref); break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: \"'\" + wb.SheetNames[idx] + \"'!\" + ref });\n\treturn writextag(\"autoFilter\", null, {ref:ref});\n}\n\n/* 18.3.1.88 sheetViews CT_SheetViews */\n/* 18.3.1.87 sheetView CT_SheetView */\nvar sviewregex = /<(?:\\w:)?sheetView(?:[^<>a-z][^<>]*)?\\/?>/g;\nfunction parse_ws_xml_sheetviews(data, wb/*:WBWBProps*/) {\n\tif(!wb.Views) wb.Views = [{}];\n\t(data.match(sviewregex)||[]).forEach(function(r/*:string*/, i/*:number*/) {\n\t\tvar tag = parsexmltag(r);\n\t\t// $FlowIgnore\n\t\tif(!wb.Views[i]) wb.Views[i] = {};\n\t\t// $FlowIgnore\n\t\tif(+tag.zoomScale) wb.Views[i].zoom = +tag.zoomScale;\n\t\t// $FlowIgnore\n\t\tif(tag.rightToLeft && parsexmlbool(tag.rightToLeft)) wb.Views[i].RTL = true;\n\t});\n}\nfunction write_ws_xml_sheetviews(ws, opts, idx, wb)/*:string*/ {\n\tvar sview = ({workbookViewId:\"0\"}/*:any*/);\n\t// $FlowIgnore\n\tif((((wb||{}).Workbook||{}).Views||[])[0]) sview.rightToLeft = wb.Workbook.Views[0].RTL ? \"1\" : \"0\";\n\treturn writextag(\"sheetViews\", writextag(\"sheetView\", null, sview), {});\n}\n\nfunction write_ws_xml_cell(cell/*:Cell*/, ref, ws, opts, idx, wb, date1904)/*:string*/ {\n\tif(cell.c) ws['!comments'].push([ref, cell.c]);\n\tif((cell.v === undefined || cell.t === \"z\" && !(opts||{}).sheetStubs) && typeof cell.f !== \"string\" && typeof cell.z == \"undefined\") return \"\";\n\tvar vv = \"\";\n\tvar oldt = cell.t, oldv = cell.v;\n\tif(cell.t !== \"z\") switch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'n':\n\t\t\tif(isNaN(cell.v)) { cell.t = \"e\"; vv = BErr[cell.v = 0x24]; } // #NUM!\n\t\t\telse if(!isFinite(cell.v)) { cell.t = \"e\"; vv = BErr[cell.v = 0x07]; } // #DIV/0!\n\t\t\telse vv = ''+cell.v; break;\n\t\tcase 'e': vv = BErr[cell.v]; break;\n\t\tcase 'd':\n\t\t\tif(opts && opts.cellDates) {\n\t\t\t\tvar _vv = parseDate(cell.v, date1904);\n\t\t\t\tvv = _vv.toISOString();\n\t\t\t\tif(_vv.getUTCFullYear() < 1900) vv = vv.slice(vv.indexOf(\"T\") + 1).replace(\"Z\",\"\");\n\t\t\t} else {\n\t\t\t\tcell = dup(cell);\n\t\t\t\tcell.t = 'n';\n\t\t\t\tvv = ''+(cell.v = datenum(parseDate(cell.v, date1904), date1904));\n\t\t\t}\n\t\t\tif(typeof cell.z === 'undefined') cell.z = table_fmt[14];\n\t\t\tbreak;\n\t\tdefault: vv = cell.v; break;\n\t}\n\tvar v = (cell.t == \"z\" || cell.v == null)? \"\" : writetag('v', escapexml(vv)), o = ({r:ref}/*:any*/);\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tif(os !== 0) o.s = os;\n\tswitch(cell.t) {\n\t\tcase 'n': break;\n\t\tcase 'd': o.t = \"d\"; break;\n\t\tcase 'b': o.t = \"b\"; break;\n\t\tcase 'e': o.t = \"e\"; break;\n\t\tcase 'z': break;\n\t\tdefault: if(cell.v == null) { delete cell.t; break; }\n\t\t\tif(cell.v.length > 32767) throw new Error(\"Text length must not exceed 32767 characters\");\n\t\t\tif(opts && opts.bookSST) {\n\t\t\t\tv = writetag('v', ''+get_sst_id(opts.Strings, cell.v, opts.revStrings));\n\t\t\t\to.t = \"s\"; break;\n\t\t\t}\n\t\t\telse o.t = \"str\"; break;\n\t}\n\tif(cell.t != oldt) { cell.t = oldt; cell.v = oldv; }\n\tif(typeof cell.f == \"string\" && cell.f) {\n\t\tvar ff = cell.F && cell.F.slice(0, ref.length) == ref ? {t:\"array\", ref:cell.F} : null;\n\t\tv = writextag('f', escapexml(cell.f), ff) + (cell.v != null ? v : \"\");\n\t}\n\tif(cell.l) {\n\t\tcell.l.display = escapexml(vv);\n\t\tws['!links'].push([ref, cell.l]);\n\t}\n\tif(cell.D) o.cm = 1;\n\treturn writextag('c', v, o);\n}\n\nvar parse_ws_xml_data = /*#__PURE__*/(function() {\n\tvar cellregex = /<(?:\\w+:)?c[ \\/>]/, rowregex = /<\\/(?:\\w+:)?row>/;\n\tvar rregex = /r=[\"']([^\"']*)[\"']/;\n\tvar refregex = /ref=[\"']([^\"']*)[\"']/;\n\nreturn function parse_ws_xml_data(sdata/*:string*/, s, opts, guess/*:Range*/, themes, styles, wb) {\n\tvar ri = 0, x = \"\", cells/*:Array*/ = [], cref/*:?Array*/ = [], idx=0, i=0, cc=0, d=\"\", p/*:any*/;\n\tvar tag, tagr = 0, tagc = 0;\n\tvar sstr, ftag;\n\tvar fmtid = 0, fillid = 0;\n\tvar do_format = Array.isArray(styles.CellXf), cf;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = [];\n\tvar dense = s[\"!data\"] != null;\n\tvar rows/*:Array*/ = [], rowobj = {}, rowrite = false;\n\tvar sheetStubs = !!opts.sheetStubs;\n\tvar date1904 = !!((wb||{}).WBProps||{}).date1904;\n\tfor(var marr = sdata.split(rowregex), mt = 0, marrlen = marr.length; mt != marrlen; ++mt) {\n\t\tx = marr[mt].trim();\n\t\tvar xlen = x.length;\n\t\tif(xlen === 0) continue;\n\n\t\t/* 18.3.1.73 row CT_Row */\n\t\tvar rstarti = 0;\n\t\touta: for(ri = 0; ri < xlen; ++ri) switch(/*x.charCodeAt(ri)*/x[ri]) {\n\t\t\tcase \">\" /*62*/:\n\t\t\t\tif(/*x.charCodeAt(ri-1) != 47*/x[ri-1] != \"/\") { ++ri; break outa; }\n\t\t\t\tif(opts && opts.cellStyles) {\n\t\t\t\t\t// TODO: avoid duplication\n\t\t\t\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\t\t\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\t\t\t\trowobj = {}; rowrite = false;\n\t\t\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\t\t\tif(tag.hidden && parsexmlbool(tag.hidden)) { rowrite = true; rowobj.hidden = true; }\n\t\t\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"<\" /*60*/: rstarti = ri; break;\n\t\t}\n\t\tif(rstarti >= ri) break;\n\t\ttag = parsexmltag(x.slice(rstarti,ri), true);\n\t\ttagr = tag.r != null ? parseInt(tag.r, 10) : tagr+1; tagc = -1;\n\t\tif(opts.sheetRows && opts.sheetRows < tagr) continue;\n\t\tif(!opts.nodim) {\n\t\t\tif(guess.s.r > tagr - 1) guess.s.r = tagr - 1;\n\t\t\tif(guess.e.r < tagr - 1) guess.e.r = tagr - 1;\n\t\t}\n\n\t\tif(opts && opts.cellStyles) {\n\t\t\trowobj = {}; rowrite = false;\n\t\t\tif(tag.ht) { rowrite = true; rowobj.hpt = parseFloat(tag.ht); rowobj.hpx = pt2px(rowobj.hpt); }\n\t\t\tif(tag.hidden && parsexmlbool(tag.hidden)) { rowrite = true; rowobj.hidden = true; }\n\t\t\tif(tag.outlineLevel != null) { rowrite = true; rowobj.level = +tag.outlineLevel; }\n\t\t\tif(rowrite) rows[tagr-1] = rowobj;\n\t\t}\n\n\t\t/* 18.3.1.4 c CT_Cell */\n\t\tcells = x.slice(ri).split(cellregex);\n\t\tfor(var rslice = 0; rslice != cells.length; ++rslice) if(cells[rslice].trim().charAt(0) != \"<\") break;\n\t\tcells = cells.slice(rslice);\n\t\tfor(ri = 0; ri != cells.length; ++ri) {\n\t\t\tx = cells[ri].trim();\n\t\t\tif(x.length === 0) continue;\n\t\t\tcref = x.match(rregex); idx = ri; i=0; cc=0;\n\t\t\tx = \"\":\"\") + x;\n\t\t\tif(cref != null && cref.length === 2) {\n\t\t\t\tidx = 0; d=cref[1];\n\t\t\t\tfor(i=0; i != d.length; ++i) {\n\t\t\t\t\tif((cc=d.charCodeAt(i)-64) < 1 || cc > 26) break;\n\t\t\t\t\tidx = 26*idx + cc;\n\t\t\t\t}\n\t\t\t\t--idx;\n\t\t\t\ttagc = idx;\n\t\t\t} else ++tagc;\n\t\t\tfor(i = 0; i != x.length; ++i) if(x.charCodeAt(i) === 62) break; ++i;\n\t\t\ttag = parsexmltag(x.slice(0,i), true);\n\t\t\tif(!tag.r) tag.r = encode_cell({r:tagr-1, c:tagc});\n\t\t\td = x.slice(i);\n\t\t\tp = ({t:\"\"}/*:any*/);\n\n\t\t\tif((cref=str_match_xml_ns(d, \"v\"))!= null && /*::cref != null && */cref[1] !== '') p.v=unescapexml(cref[1]);\n\t\t\tif(opts.cellFormula) {\n\t\t\t\tif((cref=str_match_xml_ns(d, \"f\"))!= null /*:: && cref != null*/) {\n\t\t\t\t\tif(cref[1] == \"\") {\n\t\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t/* TODO: match against XLSXFutureFunctions */\n\t\t\t\t\t\tp.f=unescapexml(utf8read(cref[1]), true);\n\t\t\t\t\t\tif(!opts.xlfn) p.f = _xlfn(p.f);\n\t\t\t\t\t\tif(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"array\"') > -1) {\n\t\t\t\t\t\t\tp.F = (d.match(refregex)||[])[1];\n\t\t\t\t\t\t\tif(p.F.indexOf(\":\") > -1) arrayf.push([safe_decode_range(p.F), p.F]);\n\t\t\t\t\t\t} else if(/*::cref != null && cref[0] != null && */cref[0].indexOf('t=\"shared\"') > -1) {\n\t\t\t\t\t\t\t// TODO: parse formula\n\t\t\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\t\t\tvar ___f = unescapexml(utf8read(cref[1]));\n\t\t\t\t\t\t\tif(!opts.xlfn) ___f = _xlfn(___f);\n\t\t\t\t\t\t\tsharedf[parseInt(ftag.si, 10)] = [ftag, ___f, tag.r];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if((cref=d.match(/]*\\/>/))) {\n\t\t\t\t\tftag = parsexmltag(cref[0]);\n\t\t\t\t\tif(sharedf[ftag.si]) p.f = shift_formula_xlsx(sharedf[ftag.si][1], sharedf[ftag.si][2]/*[0].ref*/, tag.r);\n\t\t\t\t}\n\t\t\t\t/* TODO: factor out contains logic */\n\t\t\t\tvar _tag = decode_cell(tag.r);\n\t\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\tif(_tag.r >= arrayf[i][0].s.r && _tag.r <= arrayf[i][0].e.r)\n\t\t\t\t\t\tif(_tag.c >= arrayf[i][0].s.c && _tag.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\tp.F = arrayf[i][1];\n\t\t\t}\n\n\t\t\tif(tag.t == null && p.v === undefined) {\n\t\t\t\tif(p.f || p.F) {\n\t\t\t\t\tp.v = 0; p.t = \"n\";\n\t\t\t\t} else if(!sheetStubs) continue;\n\t\t\t\telse p.t = \"z\";\n\t\t\t}\n\t\t\telse p.t = tag.t || \"n\";\n\t\t\tif(guess.s.c > tagc) guess.s.c = tagc;\n\t\t\tif(guess.e.c < tagc) guess.e.c = tagc;\n\t\t\t/* 18.18.11 t ST_CellType */\n\t\t\tswitch(p.t) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tif(p.v == \"\" || p.v == null) {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else p.v = parseFloat(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 's':\n\t\t\t\t\tif(typeof p.v == 'undefined') {\n\t\t\t\t\t\tif(!sheetStubs) continue;\n\t\t\t\t\t\tp.t = 'z';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsstr = strs[parseInt(p.v, 10)];\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tp.r = sstr.r;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'str':\n\t\t\t\t\tp.t = \"s\";\n\t\t\t\t\tp.v = (p.v!=null) ? unescapexml(utf8read(p.v), true) : '';\n\t\t\t\t\tif(opts.cellHTML) p.h = escapehtml(p.v);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'inlineStr':\n\t\t\t\t\tcref = str_match_xml_ns(d, \"is\");\n\t\t\t\t\tp.t = 's';\n\t\t\t\t\tif(cref != null && (sstr = parse_si(cref[1]))) {\n\t\t\t\t\t\tp.v = sstr.t;\n\t\t\t\t\t\tif(opts.cellHTML) p.h = sstr.h;\n\t\t\t\t\t} else p.v = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'b': p.v = parsexmlbool(p.v); break;\n\t\t\t\tcase 'd':\n\t\t\t\t\tif(opts.cellDates) p.v = parseDate(p.v, date1904);\n\t\t\t\t\telse { p.v = datenum(parseDate(p.v, date1904), date1904); p.t = 'n'; }\n\t\t\t\t\tbreak;\n\t\t\t\t/* error string in .w, number in .v */\n\t\t\t\tcase 'e':\n\t\t\t\t\tif(!opts || opts.cellText !== false) p.w = p.v;\n\t\t\t\t\tp.v = RBErr[p.v]; break;\n\t\t\t}\n\t\t\t/* formatting */\n\t\t\tfmtid = fillid = 0;\n\t\t\tcf = null;\n\t\t\tif(do_format && tag.s !== undefined) {\n\t\t\t\tcf = styles.CellXf[tag.s];\n\t\t\t\tif(cf != null) {\n\t\t\t\t\tif(cf.numFmtId != null) fmtid = cf.numFmtId;\n\t\t\t\t\tif(opts.cellStyles) {\n\t\t\t\t\t\tif(cf.fillId != null) fillid = cf.fillId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafe_format(p, fmtid, fillid, opts, themes, styles, date1904);\n\t\t\tif(opts.cellDates && do_format && p.t == 'n' && fmt_is_date(table_fmt[fmtid])) { p.v = numdate(p.v + (date1904 ? 1462 : 0)); p.t = typeof p.v == \"number\" ? 'n' : 'd'; }\n\t\t\tif(tag.cm && opts.xlmeta) {\n\t\t\t\tvar cm = (opts.xlmeta.Cell||[])[+tag.cm-1];\n\t\t\t\tif(cm && cm.type == 'XLDAPR') p.D = true;\n\t\t\t}\n\t\t\tvar _r;\n\t\t\tif(opts.nodim) {\n\t\t\t\t_r = decode_cell(tag.r);\n\t\t\t\tif(guess.s.r > _r.r) guess.s.r = _r.r;\n\t\t\t\tif(guess.e.r < _r.r) guess.e.r = _r.r;\n\t\t\t}\n\t\t\tif(dense) {\n\t\t\t\t_r = decode_cell(tag.r);\n\t\t\t\tif(!s[\"!data\"][_r.r]) s[\"!data\"][_r.r] = [];\n\t\t\t\ts[\"!data\"][_r.r][_r.c] = p;\n\t\t\t} else s[tag.r] = p;\n\t\t}\n\t}\n\tif(rows.length > 0) s['!rows'] = rows;\n}; })();\n\nfunction write_ws_xml_data(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*//*::, rels*/)/*:string*/ {\n\tvar o/*:Array*/ = [], r/*:Array*/ = [], range = safe_decode_range(ws['!ref']), cell=\"\", ref, rr = \"\", cols/*:Array*/ = [], R=0, C=0, rows = ws['!rows'];\n\tvar dense = ws[\"!data\"] != null, data = dense ? ws[\"!data\"] : [];\n\tvar params = ({r:rr}/*:any*/), row/*:RowInfo*/, height = -1;\n\tvar date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904;\n\tfor(C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(R = range.s.r; R <= range.e.r; ++R) {\n\t\tr = [];\n\t\trr = encode_row(R);\n\t\tvar data_R = dense ? data[R] : [];\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tref = cols[C] + rr;\n\t\t\tvar _cell = dense ? data_R[C] : ws[ref];\n\t\t\tif(_cell === undefined) continue;\n\t\t\tif((cell = write_ws_xml_cell(_cell, ref, ws, opts, idx, wb, date1904)) != null) r.push(cell);\n\t\t}\n\t\tif(r.length > 0 || (rows && rows[R])) {\n\t\t\tparams = ({r:rr}/*:any*/);\n\t\t\tif(rows && rows[R]) {\n\t\t\t\trow = rows[R];\n\t\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\t\theight = -1;\n\t\t\t\tif(row.hpx) height = px2pt(row.hpx);\n\t\t\t\telse if(row.hpt) height = row.hpt;\n\t\t\t\tif(height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\t\tif(row.level) { params.outlineLevel = row.level; }\n\t\t\t}\n\t\t\to[o.length] = (writextag('row', r.join(\"\"), params));\n\t\t}\n\t}\n\tif(rows) for(; R < rows.length; ++R) {\n\t\tif(rows && rows[R]) {\n\t\t\tparams = ({r:R+1}/*:any*/);\n\t\t\trow = rows[R];\n\t\t\tif(row.hidden) params.hidden = 1;\n\t\t\theight = -1;\n\t\t\tif (row.hpx) height = px2pt(row.hpx);\n\t\t\telse if (row.hpt) height = row.hpt;\n\t\t\tif (height > -1) { params.ht = height; params.customHeight = 1; }\n\t\t\tif (row.level) { params.outlineLevel = row.level; }\n\t\t\to[o.length] = (writextag('row', \"\", params));\n\t\t}\n\t}\n\treturn o.join(\"\");\n}\n\nfunction write_ws_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n\tvar o = [XML_HEADER, writextag('worksheet', null, {\n\t\t'xmlns': XMLNS_main[0],\n\t\t'xmlns:r': XMLNS.r\n\t})];\n\tvar s = wb.SheetNames[idx], sidx = 0, rdata = \"\";\n\tvar ws = wb.Sheets[s];\n\tif(ws == null) ws = {};\n\tvar ref = ws['!ref'] || 'A1';\n\tvar range = safe_decode_range(ref);\n\tif(range.e.c > 0x3FFF || range.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + ref + \" exceeds format limit A1:XFD1048576\");\n\t\trange.e.c = Math.min(range.e.c, 0x3FFF);\n\t\trange.e.r = Math.min(range.e.c, 0xFFFFF);\n\t\tref = encode_range(range);\n\t}\n\tif(!rels) rels = {};\n\tws['!comments'] = [];\n\tvar _drawing = [];\n\n\twrite_ws_xml_sheetpr(ws, wb, idx, opts, o);\n\n\to[o.length] = (writextag('dimension', null, {'ref': ref}));\n\n\to[o.length] = write_ws_xml_sheetviews(ws, opts, idx, wb);\n\n\t/* TODO: store in WB, process styles */\n\tif(opts.sheetFormat) o[o.length] = (writextag('sheetFormatPr', null, {\n\t\tdefaultRowHeight:opts.sheetFormat.defaultRowHeight||'16',\n\t\tbaseColWidth:opts.sheetFormat.baseColWidth||'10',\n\t\toutlineLevelRow:opts.sheetFormat.outlineLevelRow||'7'\n\t}));\n\n\tif(ws['!cols'] != null && ws['!cols'].length > 0) o[o.length] = (write_ws_xml_cols(ws, ws['!cols']));\n\n\to[sidx = o.length] = '';\n\tws['!links'] = [];\n\tif(ws['!ref'] != null) {\n\t\trdata = write_ws_xml_data(ws, opts, idx, wb, rels);\n\t\tif(rdata.length > 0) o[o.length] = (rdata);\n\t}\n\tif(o.length>sidx+1) { o[o.length] = (''); o[sidx]=o[sidx].replace(\"/>\",\">\"); }\n\n\t/* sheetCalcPr */\n\n\tif(ws['!protect']) o[o.length] = write_ws_xml_protection(ws['!protect']);\n\n\t/* protectedRanges */\n\t/* scenarios */\n\n\tif(ws['!autofilter'] != null) o[o.length] = write_ws_xml_autofilter(ws['!autofilter'], ws, wb, idx);\n\n\t/* sortState */\n\t/* dataConsolidate */\n\t/* customSheetViews */\n\n\tif(ws['!merges'] != null && ws['!merges'].length > 0) o[o.length] = (write_ws_xml_merges(ws['!merges']));\n\n\t/* phoneticPr */\n\t/* conditionalFormatting */\n\t/* dataValidations */\n\n\tvar relc = -1, rel, rId = -1;\n\tif(/*::(*/ws['!links']/*::||[])*/.length > 0) {\n\t\to[o.length] = \"\";\n\t\t/*::(*/ws['!links']/*::||[])*/.forEach(function(l) {\n\t\t\tif(!l[1].Target) return;\n\t\t\trel = ({\"ref\":l[0]}/*:any*/);\n\t\t\tif(l[1].Target.charAt(0) != \"#\") {\n\t\t\t\trId = add_rels(rels, -1, escapexml(l[1].Target).replace(/#[\\s\\S]*$/, \"\"), RELS.HLINK);\n\t\t\t\trel[\"r:id\"] = \"rId\"+rId;\n\t\t\t}\n\t\t\tif((relc = l[1].Target.indexOf(\"#\")) > -1) rel.location = escapexml(l[1].Target.slice(relc+1));\n\t\t\tif(l[1].Tooltip) rel.tooltip = escapexml(l[1].Tooltip);\n\t\t\trel.display = l[1].display;\n\t\t\to[o.length] = writextag(\"hyperlink\",null,rel);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\tdelete ws['!links'];\n\n\t/* printOptions */\n\n\tif(ws['!margins'] != null) o[o.length] = write_ws_xml_margins(ws['!margins']);\n\n\t/* pageSetup */\n\t/* headerFooter */\n\t/* rowBreaks */\n\t/* colBreaks */\n\t/* customProperties */\n\t/* cellWatches */\n\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) o[o.length] = writetag(\"ignoredErrors\", writextag(\"ignoredError\", null, {numberStoredAsText:1, sqref:ref}));\n\n\t/* smartTags */\n\n\tif(_drawing.length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n\t\to[o.length] = writextag(\"drawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!drawing'] = _drawing;\n\t}\n\n\tif(ws['!comments'].length > 0) {\n\t\trId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\to[o.length] = writextag(\"legacyDrawing\", null, {\"r:id\":\"rId\" + rId});\n\t\tws['!legacy'] = rId;\n\t}\n\n\t/* legacyDrawingHF */\n\t/* picture */\n\t/* oleObjects */\n\t/* controls */\n\t/* webPublishItems */\n\t/* tableParts */\n\t/* extLst */\n\n\tif(o.length>1) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n\n/* [MS-XLSB] 2.4.726 BrtRowHdr */\nfunction parse_BrtRowHdr(data, length) {\n\tvar z = ({}/*:any*/);\n\tvar tgt = data.l + length;\n\tz.r = data.read_shift(4);\n\tdata.l += 4; // TODO: ixfe\n\tvar miyRw = data.read_shift(2);\n\tdata.l += 1; // TODO: top/bot padding\n\tvar flags = data.read_shift(1);\n\tdata.l = tgt;\n\tif(flags & 0x07) z.level = flags & 0x07;\n\tif(flags & 0x10) z.hidden = true;\n\tif(flags & 0x20) z.hpt = miyRw / 20;\n\treturn z;\n}\nfunction write_BrtRowHdr(R/*:number*/, range, ws) {\n\tvar o = new_buf(17+8*16);\n\tvar row = (ws['!rows']||[])[R]||{};\n\to.write_shift(4, R);\n\n\to.write_shift(4, 0); /* TODO: ixfe */\n\n\tvar miyRw = 0x0140;\n\tif(row.hpx) miyRw = px2pt(row.hpx) * 20;\n\telse if(row.hpt) miyRw = row.hpt * 20;\n\to.write_shift(2, miyRw);\n\n\to.write_shift(1, 0); /* top/bot padding */\n\n\tvar flags = 0x0;\n\tif(row.level) flags |= row.level;\n\tif(row.hidden) flags |= 0x10;\n\tif(row.hpx || row.hpt) flags |= 0x20;\n\to.write_shift(1, flags);\n\n\to.write_shift(1, 0); /* phonetic guide */\n\n\t/* [MS-XLSB] 2.5.8 BrtColSpan explains the mechanism */\n\tvar ncolspan = 0, lcs = o.l;\n\to.l += 4;\n\n\tvar caddr = {r:R, c:0};\n\tvar dense = ws[\"!data\"] != null;\n\tfor(var i = 0; i < 16; ++i) {\n\t\tif((range.s.c > ((i+1) << 10)) || (range.e.c < (i << 10))) continue;\n\t\tvar first = -1, last = -1;\n\t\tfor(var j = (i<<10); j < ((i+1)<<10); ++j) {\n\t\t\tcaddr.c = j;\n\t\t\tvar cell = dense ? (ws[\"!data\"][caddr.r]||[])[caddr.c] : ws[encode_cell(caddr)];\n\t\t\tif(cell) { if(first < 0) first = j; last = j; }\n\t\t}\n\t\tif(first < 0) continue;\n\t\t++ncolspan;\n\t\to.write_shift(4, first);\n\t\to.write_shift(4, last);\n\t}\n\n\tvar l = o.l;\n\to.l = lcs;\n\to.write_shift(4, ncolspan);\n\to.l = l;\n\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction write_row_header(ba, ws, range, R) {\n\tvar o = write_BrtRowHdr(R, range, ws);\n\tif((o.length > 17) || (ws['!rows']||[])[R]) write_record(ba, 0x0000 /* BrtRowHdr */, o);\n}\n\n/* [MS-XLSB] 2.4.820 BrtWsDim */\nvar parse_BrtWsDim = parse_UncheckedRfX;\nvar write_BrtWsDim = write_UncheckedRfX;\n\n/* [MS-XLSB] 2.4.821 BrtWsFmtInfo */\nfunction parse_BrtWsFmtInfo(/*::data, length*/) {\n}\n//function write_BrtWsFmtInfo(ws, o) { }\n\n/* [MS-XLSB] 2.4.823 BrtWsProp */\nfunction parse_BrtWsProp(data, length) {\n\tvar z = {};\n\tvar f = data[data.l]; ++data.l;\n\tz.above = !(f & 0x40);\n\tz.left = !(f & 0x80);\n\t/* TODO: pull flags */\n\tdata.l += 18;\n\tz.name = parse_XLSBCodeName(data, length - 19);\n\treturn z;\n}\nfunction write_BrtWsProp(str, outl, o) {\n\tif(o == null) o = new_buf(84+4*str.length);\n\tvar f = 0xC0;\n\tif(outl) {\n\t\tif(outl.above) f &= ~0x40;\n\t\tif(outl.left) f &= ~0x80;\n\t}\n\to.write_shift(1, f);\n\tfor(var i = 1; i < 3; ++i) o.write_shift(1,0);\n\twrite_BrtColor({auto:1}, o);\n\to.write_shift(-4,-1);\n\to.write_shift(-4,-1);\n\twrite_XLSBCodeName(str, o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.306 BrtCellBlank */\nfunction parse_BrtCellBlank(data) {\n\tvar cell = parse_XLSBCell(data);\n\treturn [cell];\n}\nfunction write_BrtCellBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\treturn write_XLSBCell(ncell, o);\n}\nfunction parse_BrtShortBlank(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\treturn [cell];\n}\nfunction write_BrtShortBlank(cell, ncell, o) {\n\tif(o == null) o = new_buf(4);\n\treturn write_XLSBShortCell(ncell, o);\n}\n\n/* [MS-XLSB] 2.4.307 BrtCellBool */\nfunction parse_BrtCellBool(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtCellBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\nfunction parse_BrtShortBool(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar fBool = data.read_shift(1);\n\treturn [cell, fBool, 'b'];\n}\nfunction write_BrtShortBool(cell, ncell, o) {\n\tif(o == null) o = new_buf(5);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v ? 1 : 0);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.308 BrtCellError */\nfunction parse_BrtCellError(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtCellError(cell, ncell, o) {\n\tif(o == null) o = new_buf(9);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(1, cell.v);\n\treturn o;\n}\nfunction parse_BrtShortError(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar bError = data.read_shift(1);\n\treturn [cell, bError, 'e'];\n}\nfunction write_BrtShortError(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(1, cell.v);\n\to.write_shift(2, 0);\n\to.write_shift(1, 0);\n\treturn o;\n}\n\n\n/* [MS-XLSB] 2.4.311 BrtCellIsst */\nfunction parse_BrtCellIsst(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtCellIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\nfunction parse_BrtShortIsst(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar isst = data.read_shift(4);\n\treturn [cell, isst, 's'];\n}\nfunction write_BrtShortIsst(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\to.write_shift(4, ncell.v);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.313 BrtCellReal */\nfunction parse_BrtCellReal(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(16);\n\twrite_XLSBCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortReal(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_Xnum(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortReal(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_Xnum(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.314 BrtCellRk */\nfunction parse_BrtCellRk(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtCellRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(12);\n\twrite_XLSBCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\nfunction parse_BrtShortRk(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_RkNumber(data);\n\treturn [cell, value, 'n'];\n}\nfunction write_BrtShortRk(cell, ncell, o) {\n\tif(o == null) o = new_buf(8);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_RkNumber(cell.v, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtCellRString */\nfunction parse_BrtCellRString(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_RichStr(data);\n\treturn [cell, value, 'is'];\n}\n\n/* [MS-XLSB] 2.4.317 BrtCellSt */\nfunction parse_BrtCellSt(data) {\n\tvar cell = parse_XLSBCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtCellSt(cell, ncell, o) {\n\tvar data = cell.v == null ? \"\" : String(cell.v);\n\tif(o == null) o = new_buf(12 + 4 * cell.v.length);\n\twrite_XLSBCell(ncell, o);\n\twrite_XLWideString(data, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\nfunction parse_BrtShortSt(data) {\n\tvar cell = parse_XLSBShortCell(data);\n\tvar value = parse_XLWideString(data);\n\treturn [cell, value, 'str'];\n}\nfunction write_BrtShortSt(cell, ncell, o) {\n\tvar data = cell.v == null ? \"\" : String(cell.v);\n\tif(o == null) o = new_buf(8 + 4 * data.length);\n\twrite_XLSBShortCell(ncell, o);\n\twrite_XLWideString(data, o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.653 BrtFmlaBool */\nfunction parse_BrtFmlaBool(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'b'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.654 BrtFmlaError */\nfunction parse_BrtFmlaError(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = data.read_shift(1);\n\tvar o = [cell, value, 'e'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.655 BrtFmlaNum */\nfunction parse_BrtFmlaNum(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_Xnum(data);\n\tvar o = [cell, value, 'n'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.656 BrtFmlaString */\nfunction parse_BrtFmlaString(data, length, opts) {\n\tvar end = data.l + length;\n\tvar cell = parse_XLSBCell(data);\n\tcell.r = opts['!row'];\n\tvar value = parse_XLWideString(data);\n\tvar o = [cell, value, 'str'];\n\tif(opts.cellFormula) {\n\t\tdata.l += 2;\n\t\tvar formula = parse_XLSBCellParsedFormula(data, end - data.l, opts);\n\t\to[3] = stringify_formula(formula, null/*range*/, cell, opts.supbooks, opts);/* TODO */\n\t}\n\telse data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.682 BrtMergeCell */\nvar parse_BrtMergeCell = parse_UncheckedRfX;\nvar write_BrtMergeCell = write_UncheckedRfX;\n/* [MS-XLSB] 2.4.107 BrtBeginMergeCells */\nfunction write_BrtBeginMergeCells(cnt, o) {\n\tif(o == null) o = new_buf(4);\n\to.write_shift(4, cnt);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.662 BrtHLink */\nfunction parse_BrtHLink(data, length/*::, opts*/) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar relId = parse_XLNullableWideString(data);\n\tvar loc = parse_XLWideString(data);\n\tvar tooltip = parse_XLWideString(data);\n\tvar display = parse_XLWideString(data);\n\tdata.l = end;\n\tvar o = ({rfx:rfx, relId:relId, loc:loc, display:display}/*:any*/);\n\tif(tooltip) o.Tooltip = tooltip;\n\treturn o;\n}\nfunction write_BrtHLink(l, rId) {\n\tvar o = new_buf(50+4*(l[1].Target.length + (l[1].Tooltip || \"\").length));\n\twrite_UncheckedRfX({s:decode_cell(l[0]), e:decode_cell(l[0])}, o);\n\twrite_RelID(\"rId\" + rId, o);\n\tvar locidx = l[1].Target.indexOf(\"#\");\n\tvar loc = locidx == -1 ? \"\" : l[1].Target.slice(locidx+1);\n\twrite_XLWideString(loc || \"\", o);\n\twrite_XLWideString(l[1].Tooltip || \"\", o);\n\twrite_XLWideString(\"\", o);\n\treturn o.slice(0, o.l);\n}\n\n/* [MS-XLSB] 2.4.692 BrtPane */\nfunction parse_BrtPane(/*data, length, opts*/) {\n}\n\n/* [MS-XLSB] 2.4.6 BrtArrFmla */\nfunction parse_BrtArrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_RfX(data, 16);\n\tvar fAlwaysCalc = data.read_shift(1);\n\tvar o = [rfx]; o[2] = fAlwaysCalc;\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBArrayParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.750 BrtShrFmla */\nfunction parse_BrtShrFmla(data, length, opts) {\n\tvar end = data.l + length;\n\tvar rfx = parse_UncheckedRfX(data, 16);\n\tvar o = [rfx];\n\tif(opts.cellFormula) {\n\t\tvar formula = parse_XLSBSharedParsedFormula(data, end - data.l, opts);\n\t\to[1] = formula;\n\t\tdata.l = end;\n\t} else data.l = end;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.323 BrtColInfo */\n/* TODO: once XLS ColInfo is set, combine the functions */\nfunction write_BrtColInfo(C/*:number*/, col, o) {\n\tif(o == null) o = new_buf(18);\n\tvar p = col_obj_w(C, col);\n\to.write_shift(-4, C);\n\to.write_shift(-4, C);\n\to.write_shift(4, (p.width || 10) * 256);\n\to.write_shift(4, 0/*ixfe*/); // style\n\tvar flags = 0;\n\tif(col.hidden) flags |= 0x01;\n\tif(typeof p.width == 'number') flags |= 0x02;\n\tif(col.level) flags |= (col.level << 8);\n\to.write_shift(2, flags); // bit flag\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.678 BrtMargins */\nvar BrtMarginKeys = [\"left\",\"right\",\"top\",\"bottom\",\"header\",\"footer\"];\nfunction parse_BrtMargins(data/*::, length, opts*/)/*:Margins*/ {\n\tvar margins = ({}/*:any*/);\n\tBrtMarginKeys.forEach(function(k) { margins[k] = parse_Xnum(data, 8); });\n\treturn margins;\n}\nfunction write_BrtMargins(margins/*:Margins*/, o) {\n\tif(o == null) o = new_buf(6*8);\n\tdefault_margins(margins);\n\tBrtMarginKeys.forEach(function(k) { write_Xnum((margins/*:any*/)[k], o); });\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.299 BrtBeginWsView */\nfunction parse_BrtBeginWsView(data/*::, length, opts*/) {\n\tvar f = data.read_shift(2);\n\tdata.l += 28;\n\treturn { RTL: f & 0x20 };\n}\nfunction write_BrtBeginWsView(ws, Workbook, o) {\n\tif(o == null) o = new_buf(30);\n\tvar f = 0x39c;\n\tif((((Workbook||{}).Views||[])[0]||{}).RTL) f |= 0x20;\n\to.write_shift(2, f); // bit flag\n\to.write_shift(4, 0);\n\to.write_shift(4, 0); // view first row\n\to.write_shift(4, 0); // view first col\n\to.write_shift(1, 0); // gridline color ICV\n\to.write_shift(1, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 100); // zoom scale\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(2, 0);\n\to.write_shift(4, 0); // workbook view id\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.309 BrtCellIgnoreEC */\nfunction write_BrtCellIgnoreEC(ref) {\n\tvar o = new_buf(24);\n\to.write_shift(4, 4);\n\to.write_shift(4, 1);\n\twrite_UncheckedRfX(ref, o);\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.748 BrtSheetProtection */\nfunction write_BrtSheetProtection(sp, o) {\n\tif(o == null) o = new_buf(16*4+2);\n\to.write_shift(2, sp.password ? crypto_CreatePasswordVerifier_Method1(sp.password) : 0);\n\to.write_shift(4, 1); // this record should not be written if no protection\n\t[\n\t\t[\"objects\", false], // fObjects\n\t\t[\"scenarios\", false], // fScenarios\n\t\t[\"formatCells\", true], // fFormatCells\n\t\t[\"formatColumns\", true], // fFormatColumns\n\t\t[\"formatRows\", true], // fFormatRows\n\t\t[\"insertColumns\", true], // fInsertColumns\n\t\t[\"insertRows\", true], // fInsertRows\n\t\t[\"insertHyperlinks\", true], // fInsertHyperlinks\n\t\t[\"deleteColumns\", true], // fDeleteColumns\n\t\t[\"deleteRows\", true], // fDeleteRows\n\t\t[\"selectLockedCells\", false], // fSelLockedCells\n\t\t[\"sort\", true], // fSort\n\t\t[\"autoFilter\", true], // fAutoFilter\n\t\t[\"pivotTables\", true], // fPivotTables\n\t\t[\"selectUnlockedCells\", false] // fSelUnlockedCells\n\t].forEach(function(n) {\n\t\t/*:: if(o == null) throw \"unreachable\"; */\n\t\tif(n[1]) o.write_shift(4, sp[n[0]] != null && !sp[n[0]] ? 1 : 0);\n\t\telse o.write_shift(4, sp[n[0]] != null && sp[n[0]] ? 0 : 1);\n\t});\n\treturn o;\n}\n\nfunction parse_BrtDVal(/*data, length, opts*/) {\n}\nfunction parse_BrtDVal14(/*data, length, opts*/) {\n}\n/* [MS-XLSB] 2.1.7.61 Worksheet */\nfunction parse_ws_bin(data, _opts, idx, rels, wb/*:WBWBProps*/, themes, styles)/*:Worksheet*/ {\n\tif(!data) return data;\n\tvar opts = _opts || {};\n\tif(!rels) rels = {'!id':{}};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar s/*:Worksheet*/ = ({}); if(opts.dense) s[\"!data\"] = [];\n\n\tvar ref;\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\tvar state/*:Array*/ = [];\n\tvar pass = false, end = false;\n\tvar row, p, cf, R, C, addr, sstr, rr, cell/*:Cell*/;\n\tvar merges/*:Array*/ = [];\n\topts.biff = 12;\n\topts['!row'] = 0;\n\n\tvar ai = 0, af = false;\n\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar sharedf = {};\n\tvar supbooks = opts.supbooks || /*::(*/wb/*:: :any)*/.supbooks || ([[]]/*:any*/);\n\tsupbooks.sharedf = sharedf;\n\tsupbooks.arrayf = arrayf;\n\tsupbooks.SheetNames = wb.SheetNames || wb.Sheets.map(function(x) { return x.name; });\n\tif(!opts.supbooks) {\n\t\topts.supbooks = supbooks;\n\t\tif(wb.Names) for(var i = 0; i < wb.Names.length; ++i) supbooks[0][i+1] = wb.Names[i];\n\t}\n\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtShortReal\", f:parse_BrtShortReal };\n\n\tvar cm, vm;\n\tvar date1904 = 1462 * +!!((wb||{}).WBProps||{}).date1904;\n\n\trecordhopper(data, function ws_parse(val, RR, RT) {\n\t\tif(end) return;\n\t\tswitch(RT) {\n\t\t\tcase 0x0094: /* 'BrtWsDim' */\n\t\t\t\tref = val; break;\n\t\t\tcase 0x0000: /* 'BrtRowHdr' */\n\t\t\t\trow = val;\n\t\t\t\tif(opts.sheetRows && opts.sheetRows <= row.r) end=true;\n\t\t\t\trr = encode_row(R = row.r);\n\t\t\t\topts['!row'] = row.r;\n\t\t\t\tif(val.hidden || val.hpt || val.level != null) {\n\t\t\t\t\tif(val.hpt) val.hpx = pt2px(val.hpt);\n\t\t\t\t\trowinfo[val.r] = val;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0002: /* 'BrtCellRk' */\n\t\t\tcase 0x0003: /* 'BrtCellError' */\n\t\t\tcase 0x0004: /* 'BrtCellBool' */\n\t\t\tcase 0x0005: /* 'BrtCellReal' */\n\t\t\tcase 0x0006: /* 'BrtCellSt' */\n\t\t\tcase 0x0007: /* 'BrtCellIsst' */\n\t\t\tcase 0x0008: /* 'BrtFmlaString' */\n\t\t\tcase 0x0009: /* 'BrtFmlaNum' */\n\t\t\tcase 0x000A: /* 'BrtFmlaBool' */\n\t\t\tcase 0x000B: /* 'BrtFmlaError' */\n\t\t\tcase 0x000D: /* 'BrtShortRk' */\n\t\t\tcase 0x000E: /* 'BrtShortError' */\n\t\t\tcase 0x000F: /* 'BrtShortBool' */\n\t\t\tcase 0x0010: /* 'BrtShortReal' */\n\t\t\tcase 0x0011: /* 'BrtShortSt' */\n\t\t\tcase 0x0012: /* 'BrtShortIsst' */\n\t\t\tcase 0x003E: /* 'BrtCellRString' */\n\t\t\t\tp = ({t:val[2]}/*:any*/);\n\t\t\t\tswitch(val[2]) {\n\t\t\t\t\tcase 'n': p.v = val[1]; break;\n\t\t\t\t\tcase 's': sstr = strs[val[1]]; p.v = sstr.t; p.r = sstr.r; break;\n\t\t\t\t\tcase 'b': p.v = val[1] ? true : false; break;\n\t\t\t\t\tcase 'e': p.v = val[1]; if(opts.cellText !== false) p.w = BErr[p.v]; break;\n\t\t\t\t\tcase 'str': p.t = 's'; p.v = val[1]; break;\n\t\t\t\t\tcase 'is': p.t = 's'; p.v = val[1].t; break;\n\t\t\t\t}\n\t\t\t\tif((cf = styles.CellXf[val[0].iStyleRef])) safe_format(p,cf.numFmtId,null,opts, themes, styles, date1904>0);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[\"!data\"][R]) s[\"!data\"][R] = []; s[\"!data\"][R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\taf = false;\n\t\t\t\t\tfor(ai = 0; ai < arrayf.length; ++ai) {\n\t\t\t\t\t\tvar aii = arrayf[ai];\n\t\t\t\t\t\tif(row.r >= aii[0].s.r && row.r <= aii[0].e.r)\n\t\t\t\t\t\t\tif(C >= aii[0].s.c && C <= aii[0].e.c) {\n\t\t\t\t\t\t\t\tp.F = encode_range(aii[0]); af = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!af && val.length > 3) p.f = val[3];\n\t\t\t\t}\n\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(opts.cellDates && cf && p.t == 'n' && fmt_is_date(table_fmt[cf.numFmtId])) {\n\t\t\t\t\tvar _d = SSF_parse_date_code(p.v + date1904); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); }\n\t\t\t\t}\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0001: /* 'BrtCellBlank' */\n\t\t\tcase 0x000C: /* 'BrtShortBlank' */\n\t\t\t\tif(!opts.sheetStubs || pass) break;\n\t\t\t\tp = ({t:'z',v:void 0}/*:any*/);\n\t\t\t\tC = val[0].c == -1 ? C + 1 : val[0].c;\n\t\t\t\tif(opts.dense) { if(!s[\"!data\"][R]) s[\"!data\"][R] = []; s[\"!data\"][R][C] = p; }\n\t\t\t\telse s[encode_col(C) + rr] = p;\n\t\t\t\tif(refguess.s.r > row.r) refguess.s.r = row.r;\n\t\t\t\tif(refguess.s.c > C) refguess.s.c = C;\n\t\t\t\tif(refguess.e.r < row.r) refguess.e.r = row.r;\n\t\t\t\tif(refguess.e.c < C) refguess.e.c = C;\n\t\t\t\tif(cm) {\n\t\t\t\t\tif(cm.type == 'XLDAPR') p.D = true;\n\t\t\t\t\tcm = void 0;\n\t\t\t\t}\n\t\t\t\tif(vm) vm = void 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00B0: /* 'BrtMergeCell' */\n\t\t\t\tmerges.push(val); break;\n\n\t\t\tcase 0x0031: { /* 'BrtCellMeta' */\n\t\t\t\tcm = ((opts.xlmeta||{}).Cell||[])[val-1];\n\t\t\t} break;\n\n\t\t\tcase 0x01EE: /* 'BrtHLink' */\n\t\t\t\tvar rel = rels['!id'][val.relId];\n\t\t\t\tif(rel) {\n\t\t\t\t\tval.Target = rel.Target;\n\t\t\t\t\tif(val.loc) val.Target += \"#\"+val.loc;\n\t\t\t\t\tval.Rel = rel;\n\t\t\t\t} else if(val.relId == '') {\n\t\t\t\t\tval.Target = \"#\" + val.loc;\n\t\t\t\t}\n\t\t\t\tfor(R=val.rfx.s.r;R<=val.rfx.e.r;++R) for(C=val.rfx.s.c;C<=val.rfx.e.c;++C) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!s[\"!data\"][R]) s[\"!data\"][R] = [];\n\t\t\t\t\t\tif(!s[\"!data\"][R][C]) s[\"!data\"][R][C] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[\"!data\"][R][C].l = val;\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddr = encode_col(C) + encode_row(R);\n\t\t\t\t\t\tif(!s[addr]) s[addr] = {t:'z',v:undefined};\n\t\t\t\t\t\ts[addr].l = val;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01AA: /* 'BrtArrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tarrayf.push(val);\n\t\t\t\tcell = ((opts.dense ? s[\"!data\"][R][C] : s[encode_col(C) + rr])/*:any*/);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tcell.F = encode_range(val[0]);\n\t\t\t\tbreak;\n\t\t\tcase 0x01AB: /* 'BrtShrFmla' */\n\t\t\t\tif(!opts.cellFormula) break;\n\t\t\t\tsharedf[encode_cell(val[0].s)] = val[1];\n\t\t\t\tcell = (opts.dense ? s[\"!data\"][R][C] : s[encode_col(C) + rr]);\n\t\t\t\tcell.f = stringify_formula(val[1], refguess, {r:row.r, c:C}, supbooks, opts);\n\t\t\t\tbreak;\n\n\t\t\t/* identical to 'ColInfo' in XLS */\n\t\t\tcase 0x003C: /* 'BrtColInfo' */\n\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, hidden: !!(val.flags & 0x01), level: val.level };\n\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\t\tif(val) s[\"!legrel\"] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x00A1: /* 'BrtBeginAFilter' */\n\t\t\t\ts['!autofilter'] = { ref:encode_range(val) };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\t\ts['!margins'] = val;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0093: /* 'BrtWsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tif(val.above || val.left) s['!outline'] = { above: val.above, left: val.left };\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0089: /* 'BrtBeginWsView' */\n\t\t\t\tif(!wb.Views) wb.Views = [{}];\n\t\t\t\tif(!wb.Views[0]) wb.Views[0] = {};\n\t\t\t\tif(val.RTL) wb.Views[0].RTL = true;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x01E5: /* 'BrtWsFmtInfo' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0040: /* 'BrtDVal' */\n\t\t\tcase 0x041D: /* 'BrtDVal14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0097: /* 'BrtPane' */\n\t\t\t\tbreak;\n\t\t\tcase 0x0098: /* 'BrtSel' */\n\t\t\tcase 0x00AF: /* 'BrtAFilterDateGroupItem' */\n\t\t\tcase 0x0284: /* 'BrtActiveX' */\n\t\t\tcase 0x0271: /* 'BrtBigName' */\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x018C: /* 'BrtBrk' */\n\t\t\tcase 0x0458: /* 'BrtCFIcon' */\n\t\t\tcase 0x047A: /* 'BrtCFRuleExt' */\n\t\t\tcase 0x01D7: /* 'BrtCFVO' */\n\t\t\tcase 0x041A: /* 'BrtCFVO14' */\n\t\t\tcase 0x0289: /* 'BrtCellIgnoreEC' */\n\t\t\tcase 0x0451: /* 'BrtCellIgnoreEC14' */\n\t\t\tcase 0x024D: /* 'BrtCellSmartTagProperty' */\n\t\t\tcase 0x025F: /* 'BrtCellWatch' */\n\t\t\tcase 0x0234: /* 'BrtColor' */\n\t\t\tcase 0x041F: /* 'BrtColor14' */\n\t\t\tcase 0x00A8: /* 'BrtColorFilter' */\n\t\t\tcase 0x00AE: /* 'BrtCustomFilter' */\n\t\t\tcase 0x049C: /* 'BrtCustomFilter14' */\n\t\t\tcase 0x01F3: /* 'BrtDRef' */\n\t\t\tcase 0x01FB: /* 'BrtDXF' */\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\tcase 0x00AB: /* 'BrtDynamicFilter' */\n\t\t\tcase 0x00A7: /* 'BrtFilter' */\n\t\t\tcase 0x0499: /* 'BrtFilter14' */\n\t\t\tcase 0x00A9: /* 'BrtIconFilter' */\n\t\t\tcase 0x049D: /* 'BrtIconFilter14' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x0295: /* 'BrtListPart' */\n\t\t\tcase 0x027F: /* 'BrtOleObject' */\n\t\t\tcase 0x01DE: /* 'BrtPageSetup' */\n\t\t\tcase 0x0219: /* 'BrtPhoneticInfo' */\n\t\t\tcase 0x01DD: /* 'BrtPrintOptions' */\n\t\t\tcase 0x0218: /* 'BrtRangeProtection' */\n\t\t\tcase 0x044F: /* 'BrtRangeProtection14' */\n\t\t\tcase 0x02A8: /* 'BrtRangeProtectionIso' */\n\t\t\tcase 0x0450: /* 'BrtRangeProtectionIso14' */\n\t\t\tcase 0x0400: /* 'BrtRwDescent' */\n\t\t\tcase 0x0297: /* 'BrtSheetCalcProp' */\n\t\t\tcase 0x0217: /* 'BrtSheetProtection' */\n\t\t\tcase 0x02A6: /* 'BrtSheetProtectionIso' */\n\t\t\tcase 0x01F8: /* 'BrtSlc' */\n\t\t\tcase 0x0413: /* 'BrtSparkline' */\n\t\t\tcase 0x01AC: /* 'BrtTable' */\n\t\t\tcase 0x00AA: /* 'BrtTop10Filter' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0032: /* 'BrtValueMeta' */\n\t\t\tcase 0x0816: /* 'BrtWebExtension' */\n\t\t\tcase 0x0415: /* 'BrtWsFmtInfoEx14' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tdefault:\n\t\t\t\tif(RR.T){/* empty */}\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tdelete opts.supbooks;\n\tdelete opts['!row'];\n\n\tif(!s[\"!ref\"] && (refguess.s.r < 2000000 || ref && (ref.e.r > 0 || ref.e.c > 0 || ref.s.r > 0 || ref.s.c > 0))) s[\"!ref\"] = encode_range(ref || refguess);\n\tif(opts.sheetRows && s[\"!ref\"]) {\n\t\tvar tmpref = safe_decode_range(s[\"!ref\"]);\n\t\tif(opts.sheetRows <= +tmpref.e.r) {\n\t\t\ttmpref.e.r = opts.sheetRows - 1;\n\t\t\tif(tmpref.e.r > refguess.e.r) tmpref.e.r = refguess.e.r;\n\t\t\tif(tmpref.e.r < tmpref.s.r) tmpref.s.r = tmpref.e.r;\n\t\t\tif(tmpref.e.c > refguess.e.c) tmpref.e.c = refguess.e.c;\n\t\t\tif(tmpref.e.c < tmpref.s.c) tmpref.s.c = tmpref.e.c;\n\t\t\ts[\"!fullref\"] = s[\"!ref\"];\n\t\t\ts[\"!ref\"] = encode_range(tmpref);\n\t\t}\n\t}\n\tif(merges.length > 0) s[\"!merges\"] = merges;\n\tif(colinfo.length > 0) s[\"!cols\"] = colinfo;\n\tif(rowinfo.length > 0) s[\"!rows\"] = rowinfo;\n\tif(rels['!id'][s['!legrel']]) s['!legdrawel'] = rels['!id'][s['!legrel']];\n\treturn s;\n}\n\n/* TODO: something useful -- this is a stub */\nfunction write_ws_bin_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, ws/*:Worksheet*/, last_seen/*:boolean*/, date1904/*:boolean*/)/*:boolean*/ {\n\tvar o/*:any*/ = ({r:R, c:C}/*:any*/);\n\tif(cell.c) ws['!comments'].push([encode_cell(o), cell.c]);\n\tif(cell.v === undefined) return false;\n\tvar vv = \"\";\n\tswitch(cell.t) {\n\t\tcase 'b': vv = cell.v ? \"1\" : \"0\"; break;\n\t\tcase 'd': // no BrtCellDate :(\n\t\t\tcell = dup(cell);\n\t\t\tcell.z = cell.z || table_fmt[14];\n\t\t\tcell.v = datenum(parseDate(cell.v, date1904), date1904); cell.t = 'n';\n\t\t\tbreak;\n\t\t/* falls through */\n\t\tcase 'n': case 'e': vv = ''+cell.v; break;\n\t\tdefault: vv = cell.v; break;\n\t}\n\t/* TODO: cell style */\n\to.s = get_cell_style(opts.cellXfs, cell, opts);\n\tif(cell.l) ws['!links'].push([encode_cell(o), cell.l]);\n\tswitch(cell.t) {\n\t\tcase 's': case 'str':\n\t\t\tif(opts.bookSST) {\n\t\t\t\tvv = get_sst_id(opts.Strings, (cell.v == null ? \"\" : String(cell.v)/*:any*/), opts.revStrings);\n\t\t\t\to.t = \"s\"; o.v = vv;\n\t\t\t\tif(last_seen) write_record(ba, 0x0012 /* BrtShortIsst */, write_BrtShortIsst(cell, o));\n\t\t\t\telse write_record(ba, 0x0007 /* BrtCellIsst */, write_BrtCellIsst(cell, o));\n\t\t\t} else {\n\t\t\t\to.t = \"str\";\n\t\t\t\tif(last_seen) write_record(ba, 0x0011 /* BrtShortSt */, write_BrtShortSt(cell, o));\n\t\t\t\telse write_record(ba, 0x0006 /* BrtCellSt */, write_BrtCellSt(cell, o));\n\t\t\t}\n\t\t\treturn true;\n\t\tcase 'n':\n\t\t\t/* TODO: determine threshold for Real vs RK */\n\t\t\tif(cell.v == (cell.v | 0) && cell.v > -1000 && cell.v < 1000) {\n\t\t\t\tif(last_seen) write_record(ba, 0x000D /* BrtShortRk */, write_BrtShortRk(cell, o));\n\t\t\t\telse write_record(ba, 0x0002 /* BrtCellRk */, write_BrtCellRk(cell, o));\n\t\t\t} else if(!isFinite(cell.v)) {\n\t\t\t\to.t = \"e\";\n\t\t\t\tif(isNaN(cell.v)) {\n\t\t\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:\"e\", v: 0x24}, o)); // #NUM!\n\t\t\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:\"e\", v: 0x24}, o)); // #NUM!\n\t\t\t\t} else {\n\t\t\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError({t:\"e\", v: 0x07}, o)); // #DIV/0!\n\t\t\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError({t:\"e\", v: 0x07}, o)); // #DIV/0!\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif(last_seen) write_record(ba, 0x0010 /* BrtShortReal */, write_BrtShortReal(cell, o));\n\t\t\t\telse write_record(ba, 0x0005 /* BrtCellReal */, write_BrtCellReal(cell, o));\n\t\t\t} return true;\n\t\tcase 'b':\n\t\t\to.t = \"b\";\n\t\t\tif(last_seen) write_record(ba, 0x000F /* BrtShortBool */, write_BrtShortBool(cell, o));\n\t\t\telse write_record(ba, 0x0004 /* BrtCellBool */, write_BrtCellBool(cell, o));\n\t\t\treturn true;\n\t\tcase 'e':\n\t\t\to.t = \"e\";\n\t\t\tif(last_seen) write_record(ba, 0x000E /* BrtShortError */, write_BrtShortError(cell, o));\n\t\t\telse write_record(ba, 0x0003 /* BrtCellError */, write_BrtCellError(cell, o));\n\t\t\treturn true;\n\t}\n\tif(last_seen) write_record(ba, 0x000C /* BrtShortBlank */, write_BrtShortBlank(cell, o));\n\telse write_record(ba, 0x0001 /* BrtCellBlank */, write_BrtCellBlank(cell, o));\n\treturn true;\n}\n\nfunction write_CELLTABLE(ba, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) {\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), rr = \"\", cols/*:Array*/ = [];\n\tvar date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904;\n\twrite_record(ba, 0x0091 /* BrtBeginSheetData */);\n\tvar dense = ws[\"!data\"] != null, row = dense ? ws[\"!data\"][range.s.r] : [];\n\tvar cap = range.e.r;\n\tif(ws['!rows']) cap = Math.max(range.e.r, ws['!rows'].length - 1);\n\tfor(var R = range.s.r; R <= cap; ++R) {\n\t\trr = encode_row(R);\n\t\tif(dense) row = ws[\"!data\"][R];\n\t\t/* [ACCELLTABLE] */\n\t\t/* BrtRowHdr */\n\t\twrite_row_header(ba, ws, range, R);\n\t\tif(dense && !row) continue;\n\t\tvar last_seen = false;\n\t\tif(R <= range.e.r) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t/* *16384CELL */\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tvar cell = dense ? row[C] : ws[cols[C] + rr];\n\t\t\tif(!cell) { last_seen = false; continue; }\n\t\t\t/* write cell */\n\t\t\tlast_seen = write_ws_bin_cell(ba, cell, R, C, opts, ws, last_seen, date1904);\n\t\t}\n\t}\n\twrite_record(ba, 0x0092 /* BrtEndSheetData */);\n}\n\nfunction write_MERGECELLS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!merges']) return;\n\twrite_record(ba, 0x00B1 /* BrtBeginMergeCells */, write_BrtBeginMergeCells(ws['!merges'].length));\n\tws['!merges'].forEach(function(m) { write_record(ba, 0x00B0 /* BrtMergeCell */, write_BrtMergeCell(m)); });\n\twrite_record(ba, 0x00B2 /* BrtEndMergeCells */);\n}\n\nfunction write_COLINFOS(ba, ws/*:Worksheet*//*::, idx:number, opts, wb:Workbook*/) {\n\tif(!ws || !ws['!cols']) return;\n\twrite_record(ba, 0x0186 /* BrtBeginColInfos */);\n\tws['!cols'].forEach(function(m, i) { if(m) write_record(ba, 0x003C /* 'BrtColInfo' */, write_BrtColInfo(i, m)); });\n\twrite_record(ba, 0x0187 /* BrtEndColInfos */);\n}\n\nfunction write_IGNOREECS(ba, ws/*:Worksheet*/) {\n\tif(!ws || !ws['!ref']) return;\n\twrite_record(ba, 0x0288 /* BrtBeginCellIgnoreECs */);\n\twrite_record(ba, 0x0289 /* BrtCellIgnoreEC */, write_BrtCellIgnoreEC(safe_decode_range(ws['!ref'])));\n\twrite_record(ba, 0x028A /* BrtEndCellIgnoreECs */);\n}\n\nfunction write_HLINKS(ba, ws/*:Worksheet*/, rels) {\n\t/* *BrtHLink */\n\tws['!links'].forEach(function(l) {\n\t\tif(!l[1].Target) return;\n\t\tvar rId = add_rels(rels, -1, l[1].Target.replace(/#[\\s\\S]*$/, \"\"), RELS.HLINK);\n\t\twrite_record(ba, 0x01EE /* BrtHLink */, write_BrtHLink(l, rId));\n\t});\n\tdelete ws['!links'];\n}\nfunction write_LEGACYDRAWING(ba, ws/*:Worksheet*/, idx/*:number*/, rels) {\n\t/* [BrtLegacyDrawing] */\n\tif(ws['!comments'].length > 0) {\n\t\tvar rId = add_rels(rels, -1, \"../drawings/vmlDrawing\" + (idx+1) + \".vml\", RELS.VML);\n\t\twrite_record(ba, 0x0227 /* BrtLegacyDrawing */, write_RelID(\"rId\" + rId));\n\t\tws['!legacy'] = rId;\n\t}\n}\n\nfunction write_AUTOFILTER(ba, ws, wb, idx) {\n\tif(!ws['!autofilter']) return;\n\tvar data = ws['!autofilter'];\n\tvar ref = typeof data.ref === \"string\" ? data.ref : encode_range(data.ref);\n\n\t/* Update FilterDatabase defined name for the worksheet */\n\tif(!wb.Workbook) wb.Workbook = ({Sheets:[]}/*:any*/);\n\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\tvar names/*: Array */ = wb.Workbook.Names;\n\tvar range = decode_range(ref);\n\tif(range.s.r == range.e.r) { range.e.r = decode_range(ws[\"!ref\"]).e.r; ref = encode_range(range); }\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar name = names[i];\n\t\tif(name.Name != '_xlnm._FilterDatabase') continue;\n\t\tif(name.Sheet != idx) continue;\n\t\tname.Ref = formula_quote_sheet_name(wb.SheetNames[idx]) + \"!\" + fix_range(ref); break;\n\t}\n\tif(i == names.length) names.push({ Name: '_xlnm._FilterDatabase', Sheet: idx, Ref: formula_quote_sheet_name(wb.SheetNames[idx]) + \"!\" + fix_range(ref) });\n\n\twrite_record(ba, 0x00A1 /* BrtBeginAFilter */, write_UncheckedRfX(safe_decode_range(ref)));\n\t/* *FILTERCOLUMN */\n\t/* [SORTSTATE] */\n\t/* BrtEndAFilter */\n\twrite_record(ba, 0x00A2 /* BrtEndAFilter */);\n}\n\nfunction write_WSVIEWS2(ba, ws, Workbook) {\n\twrite_record(ba, 0x0085 /* BrtBeginWsViews */);\n\t{ /* 1*WSVIEW2 */\n\t\t/* [ACUID] */\n\t\twrite_record(ba, 0x0089 /* BrtBeginWsView */, write_BrtBeginWsView(ws, Workbook));\n\t\t/* [BrtPane] */\n\t\t/* *4BrtSel */\n\t\t/* *4SXSELECT */\n\t\t/* *FRT */\n\t\twrite_record(ba, 0x008A /* BrtEndWsView */);\n\t}\n\t/* *FRT */\n\twrite_record(ba, 0x0086 /* BrtEndWsViews */);\n}\n\nfunction write_WSFMTINFO(/*::ba, ws*/) {\n\t/* [ACWSFMTINFO] */\n\t// write_record(ba, 0x01E5 /* BrtWsFmtInfo */, write_BrtWsFmtInfo(ws));\n}\n\nfunction write_SHEETPROTECT(ba, ws) {\n\tif(!ws['!protect']) return;\n\t/* [BrtSheetProtectionIso] */\n\twrite_record(ba, 0x0217 /* BrtSheetProtection */, write_BrtSheetProtection(ws['!protect']));\n}\n\nfunction write_ws_bin(idx/*:number*/, opts, wb/*:Workbook*/, rels) {\n\tvar ba = buf_array();\n\tvar s = wb.SheetNames[idx], ws = wb.Sheets[s] || {};\n\tvar c/*:string*/ = s; try { if(wb && wb.Workbook) c = wb.Workbook.Sheets[idx].CodeName || c; } catch(e) {}\n\tvar r = safe_decode_range(ws['!ref'] || \"A1\");\n\tif(r.e.c > 0x3FFF || r.e.r > 0xFFFFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:XFD1048576\");\n\t\tr.e.c = Math.min(r.e.c, 0x3FFF);\n\t\tr.e.r = Math.min(r.e.c, 0xFFFFF);\n\t}\n\tws['!links'] = [];\n\t/* passed back to write_zip and removed there */\n\tws['!comments'] = [];\n\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n\tif(wb.vbaraw || ws['!outline']) write_record(ba, 0x0093 /* BrtWsProp */, write_BrtWsProp(c, ws['!outline']));\n\twrite_record(ba, 0x0094 /* BrtWsDim */, write_BrtWsDim(r));\n\twrite_WSVIEWS2(ba, ws, wb.Workbook);\n\twrite_WSFMTINFO(ba, ws);\n\twrite_COLINFOS(ba, ws, idx, opts, wb);\n\twrite_CELLTABLE(ba, ws, idx, opts, wb);\n\t/* [BrtSheetCalcProp] */\n\twrite_SHEETPROTECT(ba, ws);\n\t/* *([BrtRangeProtectionIso] BrtRangeProtection) */\n\t/* [SCENMAN] */\n\twrite_AUTOFILTER(ba, ws, wb, idx);\n\t/* [SORTSTATE] */\n\t/* [DCON] */\n\t/* [USERSHVIEWS] */\n\twrite_MERGECELLS(ba, ws);\n\t/* [BrtPhoneticInfo] */\n\t/* *CONDITIONALFORMATTING */\n\t/* [DVALS] */\n\twrite_HLINKS(ba, ws, rels);\n\t/* [BrtPrintOptions] */\n\tif(ws['!margins']) write_record(ba, 0x01DC /* BrtMargins */, write_BrtMargins(ws['!margins']));\n\t/* [BrtPageSetup] */\n\t/* [HEADERFOOTER] */\n\t/* [RWBRK] */\n\t/* [COLBRK] */\n\t/* *BrtBigName */\n\t/* [CELLWATCHES] */\n\tif(!opts || opts.ignoreEC || (opts.ignoreEC == (void 0))) write_IGNOREECS(ba, ws);\n\t/* [SMARTTAGS] */\n\t/* [BrtDrawing] */\n\twrite_LEGACYDRAWING(ba, ws, idx, rels);\n\t/* [BrtLegacyDrawingHF] */\n\t/* [BrtBkHim] */\n\t/* [OLEOBJECTS] */\n\t/* [ACTIVEXCONTROLS] */\n\t/* [WEBPUBITEMS] */\n\t/* [LISTPARTS] */\n\t/* FRTWORKSHEET */\n\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n\treturn ba.end();\n}\nfunction parse_Cache(data/*:string*/)/*:[Array, string, ?string]*/ {\n\tvar col/*:Array*/ = [];\n\tvar num = data.match(/^/);\n\tvar f;\n\n\t/* 21.2.2.150 pt CT_NumVal */\n\t(data.match(/\\/]*>([^<])<\\/c:v><\\/c:pt>/mg)||[]).forEach(function(pt) {\n\t\tvar q = pt.match(/\\/]*>([^<]*)<\\/c:v><\\/c:pt>/);\n\t\tif(!q) return;\n\t\tcol[+q[1]] = num ? +q[2] : q[2];\n\t});\n\n\t/* 21.2.2.71 formatCode CT_Xstring */\n\tvar nf = unescapexml((str_match_xml(data, \"c:formatCode\") || [\"\",\"General\"])[1]);\n\n\t(str_match_ng(data, \"\", \"\")||[]).forEach(function(F) { f = F.replace(/<[^<>]*>/g,\"\"); });\n\n\treturn [col, nf, f];\n}\n\n/* 21.2 DrawingML - Charts */\nfunction parse_chart(data/*:?string*/, name/*:string*/, opts, rels, wb, csheet) {\n\tvar cs/*:Worksheet*/ = ((csheet || {\"!type\":\"chart\"})/*:any*/);\n\tif(!data) return csheet;\n\t/* 21.2.2.27 chart CT_Chart */\n\n\tvar C = 0, R = 0, col = \"A\";\n\tvar refguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\n\t/* 21.2.2.120 numCache CT_NumData */\n\t(str_match_ng(data, \"\", \"\")||[]).forEach(function(nc) {\n\t\tvar cache = parse_Cache(nc);\n\t\trefguess.s.r = refguess.s.c = 0;\n\t\trefguess.e.c = C;\n\t\tcol = encode_col(C);\n\t\tcache[0].forEach(function(n,i) {\n\t\t\tif(cs[\"!data\"]) {\n\t\t\t\tif(!cs[\"!data\"][i]) cs[\"!data\"][i] = [];\n\t\t\t\tcs[\"!data\"][i][C] = {t:'n', v:n, z:cache[1] };\n\t\t\t} else cs[col + encode_row(i)] = {t:'n', v:n, z:cache[1] };\n\t\t\tR = i;\n\t\t});\n\t\tif(refguess.e.r < R) refguess.e.r = R;\n\t\t++C;\n\t});\n\tif(C > 0) cs[\"!ref\"] = encode_range(refguess);\n\treturn cs;\n}\n/* 18.3 Worksheets also covers Chartsheets */\nfunction parse_cs_xml(data/*:?string*/, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\t/* 18.3.1.12 chartsheet CT_ChartSheet */\n\tif(!rels) rels = {'!id':{}};\n\tvar s = ({'!type':\"chart\", '!drawel':null, '!rel':\"\"}/*:any*/);\n\tvar m;\n\n\t/* 18.3.1.83 sheetPr CT_ChartsheetPr */\n\tvar sheetPr = data.match(sheetprregex);\n\tif(sheetPr) parse_ws_xml_sheetpr(sheetPr[0], s, wb, idx);\n\n\t/* 18.3.1.36 drawing CT_Drawing */\n\tif((m = data.match(/drawing r:id=\"(.*?)\"/))) s['!rel'] = m[1];\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\n//function write_cs_xml(idx/*:number*/, opts, wb/*:Workbook*/, rels)/*:string*/ {\n//\tvar o = [XML_HEADER, writextag('chartsheet', null, {\n//\t\t'xmlns': XMLNS_main[0],\n//\t\t'xmlns:r': XMLNS.r\n//\t})];\n//\to[o.length] = writextag(\"drawing\", null, {\"r:id\": \"rId1\"});\n//\tadd_rels(rels, -1, \"../drawings/drawing\" + (idx+1) + \".xml\", RELS.DRAW);\n//\tif(o.length>2) { o[o.length] = (''); o[1]=o[1].replace(\"/>\",\">\"); }\n//\treturn o.join(\"\");\n//}\n\n/* [MS-XLSB] 2.4.331 BrtCsProp */\nfunction parse_BrtCsProp(data, length/*:number*/) {\n\tdata.l += 10;\n\tvar name = parse_XLWideString(data, length - 10);\n\treturn { name: name };\n}\n\n/* [MS-XLSB] 2.1.7.7 Chart Sheet */\nfunction parse_cs_bin(data, opts, idx/*:number*/, rels, wb/*::, themes, styles*/)/*:Worksheet*/ {\n\tif(!data) return data;\n\tif(!rels) rels = {'!id':{}};\n\tvar s = {'!type':\"chart\", '!drawel':null, '!rel':\"\"};\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\trecordhopper(data, function cs_parse(val, R, RT) {\n\t\tswitch(RT) {\n\n\t\t\tcase 0x0226: /* 'BrtDrawing' */\n\t\t\t\ts['!rel'] = val; break;\n\n\t\t\tcase 0x028B: /* 'BrtCsProp' */\n\t\t\t\tif(!wb.Sheets[idx]) wb.Sheets[idx] = {};\n\t\t\t\tif(val.name) wb.Sheets[idx].CodeName = val.name;\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0232: /* 'BrtBkHim' */\n\t\t\tcase 0x028C: /* 'BrtCsPageSetup' */\n\t\t\tcase 0x029D: /* 'BrtCsProtection' */\n\t\t\tcase 0x02A7: /* 'BrtCsProtectionIso' */\n\t\t\tcase 0x0227: /* 'BrtLegacyDrawing' */\n\t\t\tcase 0x0228: /* 'BrtLegacyDrawingHF' */\n\t\t\tcase 0x01DC: /* 'BrtMargins' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tpass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tpass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T > 0) state.push(RT);\n\t\t\t\telse if(R.T < 0) state.pop();\n\t\t\t\telse if(!pass || opts.WTF) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tif(rels['!id'][s['!rel']]) s['!drawel'] = rels['!id'][s['!rel']];\n\treturn s;\n}\n//function write_cs_bin(/*::idx:number, opts, wb:Workbook, rels*/) {\n//\tvar ba = buf_array();\n//\twrite_record(ba, 0x0081 /* BrtBeginSheet */);\n//\t/* [BrtCsProp] */\n//\t/* CSVIEWS */\n//\t/* [[BrtCsProtectionIso] BrtCsProtection] */\n//\t/* [USERCSVIEWS] */\n//\t/* [BrtMargins] */\n//\t/* [BrtCsPageSetup] */\n//\t/* [HEADERFOOTER] */\n//\t/* BrtDrawing */\n//\t/* [BrtLegacyDrawing] */\n//\t/* [BrtLegacyDrawingHF] */\n//\t/* [BrtBkHim] */\n//\t/* [WEBPUBITEMS] */\n//\t/* FRTCHARTSHEET */\n//\twrite_record(ba, 0x0082 /* BrtEndSheet */);\n//\treturn ba.end();\n//}\n/* 18.2.28 (CT_WorkbookProtection) Defaults */\nvar WBPropsDef = [\n\t['allowRefreshQuery', false, \"bool\"],\n\t['autoCompressPictures', true, \"bool\"],\n\t['backupFile', false, \"bool\"],\n\t['checkCompatibility', false, \"bool\"],\n\t['CodeName', ''],\n\t['date1904', false, \"bool\"],\n\t['defaultThemeVersion', 0, \"int\"],\n\t['filterPrivacy', false, \"bool\"],\n\t['hidePivotFieldList', false, \"bool\"],\n\t['promptedSolutions', false, \"bool\"],\n\t['publishItems', false, \"bool\"],\n\t['refreshAllConnections', false, \"bool\"],\n\t['saveExternalLinkValues', true, \"bool\"],\n\t['showBorderUnselectedTables', true, \"bool\"],\n\t['showInkAnnotation', true, \"bool\"],\n\t['showObjects', 'all'],\n\t['showPivotChartFilter', false, \"bool\"],\n\t['updateLinks', 'userSet']\n];\n\n/* 18.2.30 (CT_BookView) Defaults */\nvar WBViewDef = [\n\t['activeTab', 0, \"int\"],\n\t['autoFilterDateGrouping', true, \"bool\"],\n\t['firstSheet', 0, \"int\"],\n\t['minimized', false, \"bool\"],\n\t['showHorizontalScroll', true, \"bool\"],\n\t['showSheetTabs', true, \"bool\"],\n\t['showVerticalScroll', true, \"bool\"],\n\t['tabRatio', 600, \"int\"],\n\t['visibility', 'visible']\n\t//window{Height,Width}, {x,y}Window\n];\n\n/* 18.2.19 (CT_Sheet) Defaults */\nvar SheetDef = [\n\t//['state', 'visible']\n];\n\n/* 18.2.2 (CT_CalcPr) Defaults */\nvar CalcPrDef = [\n\t['calcCompleted', 'true'],\n\t['calcMode', 'auto'],\n\t['calcOnSave', 'true'],\n\t['concurrentCalc', 'true'],\n\t['fullCalcOnLoad', 'false'],\n\t['fullPrecision', 'true'],\n\t['iterate', 'false'],\n\t['iterateCount', '100'],\n\t['iterateDelta', '0.001'],\n\t['refMode', 'A1']\n];\n\n/* 18.2.3 (CT_CustomWorkbookView) Defaults */\n/*var CustomWBViewDef = [\n\t['autoUpdate', 'false'],\n\t['changesSavedWin', 'false'],\n\t['includeHiddenRowCol', 'true'],\n\t['includePrintSettings', 'true'],\n\t['maximized', 'false'],\n\t['minimized', 'false'],\n\t['onlySync', 'false'],\n\t['personalView', 'false'],\n\t['showComments', 'commIndicator'],\n\t['showFormulaBar', 'true'],\n\t['showHorizontalScroll', 'true'],\n\t['showObjects', 'all'],\n\t['showSheetTabs', 'true'],\n\t['showStatusbar', 'true'],\n\t['showVerticalScroll', 'true'],\n\t['tabRatio', '600'],\n\t['xWindow', '0'],\n\t['yWindow', '0']\n];*/\n\nfunction push_defaults_array(target, defaults) {\n\tfor(var j = 0; j != target.length; ++j) { var w = target[j];\n\t\tfor(var i=0; i != defaults.length; ++i) { var z = defaults[i];\n\t\t\tif(w[z[0]] == null) w[z[0]] = z[1];\n\t\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof w[z[0]] == \"string\") w[z[0]] = parsexmlbool(w[z[0]]); break;\n\t\t\tcase \"int\": if(typeof w[z[0]] == \"string\") w[z[0]] = parseInt(w[z[0]], 10); break;\n\t\t\t}\n\t\t}\n\t}\n}\nfunction push_defaults(target, defaults) {\n\tfor(var i = 0; i != defaults.length; ++i) { var z = defaults[i];\n\t\tif(target[z[0]] == null) target[z[0]] = z[1];\n\t\telse switch(z[2]) {\n\t\t\tcase \"bool\": if(typeof target[z[0]] == \"string\") target[z[0]] = parsexmlbool(target[z[0]]); break;\n\t\t\tcase \"int\": if(typeof target[z[0]] == \"string\") target[z[0]] = parseInt(target[z[0]], 10); break;\n\t\t}\n\t}\n}\n\nfunction parse_wb_defaults(wb) {\n\tpush_defaults(wb.WBProps, WBPropsDef);\n\tpush_defaults(wb.CalcPr, CalcPrDef);\n\n\tpush_defaults_array(wb.WBView, WBViewDef);\n\tpush_defaults_array(wb.Sheets, SheetDef);\n\n\t_ssfopts.date1904 = parsexmlbool(wb.WBProps.date1904);\n}\n\nfunction safe1904(wb/*:Workbook*/)/*:string*/ {\n\t/* TODO: store date1904 somewhere else */\n\tif(!wb.Workbook) return \"false\";\n\tif(!wb.Workbook.WBProps) return \"false\";\n\treturn parsexmlbool(wb.Workbook.WBProps.date1904) ? \"true\" : \"false\";\n}\n\nvar badchars = /*#__PURE__*/\":][*?\\/\\\\\".split(\"\");\nfunction check_ws_name(n/*:string*/, safe/*:?boolean*/)/*:boolean*/ {\n\ttry {\n\t\tif(n == \"\") throw new Error(\"Sheet name cannot be blank\");\n\t\tif(n.length > 31) throw new Error(\"Sheet name cannot exceed 31 chars\");\n\t\tif(n.charCodeAt(0) == 0x27 || n.charCodeAt(n.length - 1) == 0x27) throw new Error(\"Sheet name cannot start or end with apostrophe (')\");\n\t\tif(n.toLowerCase() == \"history\") throw new Error(\"Sheet name cannot be 'History'\");\n\t\tbadchars.forEach(function(c) {\n\t\t\tif(n.indexOf(c) == -1) return;\n\t\t\tthrow new Error(\"Sheet name cannot contain : \\\\ / ? * [ ]\");\n\t\t});\n\t} catch(e) { if(safe) return false; throw e; }\n\treturn true;\n}\nfunction check_wb_names(N, S, codes) {\n\tN.forEach(function(n,i) {\n\t\tcheck_ws_name(n);\n\t\tfor(var j = 0; j < i; ++j) if(n == N[j]) throw new Error(\"Duplicate Sheet Name: \" + n);\n\t\tif(codes) {\n\t\t\tvar cn = (S && S[i] && S[i].CodeName) || n;\n\t\t\tif(cn.charCodeAt(0) == 95 && cn.length > 22) throw new Error(\"Bad Code Name: Worksheet\" + cn);\n\t\t}\n\t});\n}\nfunction check_wb(wb) {\n\tif(!wb || !wb.SheetNames || !wb.Sheets) throw new Error(\"Invalid Workbook\");\n\tif(!wb.SheetNames.length) throw new Error(\"Workbook is empty\");\n\tvar Sheets = (wb.Workbook && wb.Workbook.Sheets) || [];\n\tcheck_wb_names(wb.SheetNames, Sheets, !!wb.vbaraw);\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) check_ws(wb.Sheets[wb.SheetNames[i]], wb.SheetNames[i], i);\n\twb.SheetNames.forEach(function(n, i) {\n\t\tvar ws = wb.Sheets[n];\n\t\tif(!ws || !ws[\"!autofilter\"]) return;\n\t\tvar DN;\n\t\tif(!wb.Workbook) wb.Workbook = {};\n\t\tif(!wb.Workbook.Names) wb.Workbook.Names = [];\n\t\twb.Workbook.Names.forEach(function(dn) { if(dn.Name == \"_xlnm._FilterDatabase\" && dn.Sheet == i) DN = dn; });\n\t\tvar nn = formula_quote_sheet_name(n) + \"!\" + fix_range(ws[\"!autofilter\"].ref);\n\t\tif(DN) DN.Ref = nn;\n\t\telse wb.Workbook.Names.push({Name: \"_xlnm._FilterDatabase\", Sheet: i, Ref: nn});\n\t});\n\t/* TODO: validate workbook */\n}\n/* 18.2 Workbook */\nvar wbnsregex = /<\\w+:workbook/;\nfunction parse_wb_xml(data, opts)/*:WorkbookFile*/ {\n\tif(!data) throw new Error(\"Could not find file\");\n\tvar wb = /*::(*/{ AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, Names:[], xmlns: \"\" }/*::)*/;\n\tvar pass = false, xmlns = \"xmlns\";\n\tvar dname = {}, dnstart = 0;\n\tdata.replace(tagregex, function xml_wb(x, idx) {\n\t\tvar y/*:any*/ = parsexmltag(x);\n\t\tswitch(strip_ns(y[0])) {\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.13 fileVersion CT_FileVersion ? */\n\t\t\tcase '': case '': break;\n\n\t\t\t/* 18.2.12 fileSharing CT_FileSharing ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.28 workbookPr CT_WorkbookPr ? */\n\t\t\tcase '':\n\t\t\t\tWBPropsDef.forEach(function(w) {\n\t\t\t\t\tif(y[w[0]] == null) return;\n\t\t\t\t\tswitch(w[2]) {\n\t\t\t\t\t\tcase \"bool\": wb.WBProps[w[0]] = parsexmlbool(y[w[0]]); break;\n\t\t\t\t\t\tcase \"int\": wb.WBProps[w[0]] = parseInt(y[w[0]], 10); break;\n\t\t\t\t\t\tdefault: wb.WBProps[w[0]] = y[w[0]];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif(y.codeName) wb.WBProps.CodeName = utf8read(y.codeName);\n\t\t\t\tbreak;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.29 workbookProtection CT_WorkbookProtection ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.1 bookViews CT_BookViews ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.30 workbookView CT_BookView + */\n\t\t\tcase '': delete y[0]; wb.WBView.push(y); break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.20 sheets CT_Sheets 1 */\n\t\t\tcase '': case '': break; // aggregate sheet\n\t\t\t/* 18.2.19 sheet CT_Sheet + */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.15 functionGroups CT_FunctionGroups ? */\n\t\t\tcase '': break;\n\t\t\t/* 18.2.14 functionGroup CT_FunctionGroup + */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.8 externalReference CT_ExternalReference + */\n\t\t\tcase '': break;\n\t\t\tcase '': case '': pass=false; break;\n\t\t\t/* 18.2.5 definedName CT_DefinedName + */\n\t\t\tcase '': {\n\t\t\t\tdname.Ref = unescapexml(utf8read(data.slice(dnstart, idx)));\n\t\t\t\twb.Names.push(dname);\n\t\t\t} break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.2 calcPr CT_CalcPr ? */\n\t\t\tcase '': delete y[0]; wb.CalcPr = y; break;\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.16 oleSize CT_OleSize ? (ref required) */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.18 pivotCaches CT_PivotCaches ? */\n\t\t\tcase '': case '': case '': break;\n\n\t\t\t/* 18.2.23 smartTagTypes CT_SmartTagTypes ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.22 smartTagType CT_SmartTagType ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.11 fileRecoveryPr CT_FileRecoveryPr ? */\n\t\t\tcase '': break;\n\n\t\t\t/* 18.2.26 webPublishObjects CT_WebPublishObjects ? */\n\t\t\tcase '': case '': break;\n\t\t\t/* 18.2.25 webPublishObject CT_WebPublishObject ? */\n\t\t\tcase '': case '': case '': break;\n\t\t\t/* 18.2.7 ext CT_Extension + */\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* Others */\n\t\t\tcase '': pass=true; break;\n\t\t\tcase '': pass=false; break;\n\n\t\t\t/* TODO */\n\t\t\tcase ' 0);\n\n\t/* fileVersion */\n\t/* fileSharing */\n\n\tvar workbookPr/*:any*/ = ({codeName:\"ThisWorkbook\"}/*:any*/);\n\tif(wb.Workbook && wb.Workbook.WBProps) {\n\t\tWBPropsDef.forEach(function(x) {\n\t\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == null) return;\n\t\t\tif((wb.Workbook.WBProps[x[0]]/*:any*/) == x[1]) return;\n\t\t\tworkbookPr[x[0]] = (wb.Workbook.WBProps[x[0]]/*:any*/);\n\t\t});\n\t\t/*:: if(!wb.Workbook || !wb.Workbook.WBProps) throw \"unreachable\"; */\n\t\tif(wb.Workbook.WBProps.CodeName) { workbookPr.codeName = wb.Workbook.WBProps.CodeName; delete workbookPr.CodeName; }\n\t}\n\to[o.length] = (writextag('workbookPr', null, workbookPr));\n\n\t/* workbookProtection */\n\n\tvar sheets = wb.Workbook && wb.Workbook.Sheets || [];\n\tvar i = 0;\n\n\t/* bookViews only written if first worksheet is hidden */\n\tif(sheets && sheets[0] && !!sheets[0].Hidden) {\n\t\to[o.length] = \"\";\n\t\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\t\tif(!sheets[i]) break;\n\t\t\tif(!sheets[i].Hidden) break;\n\t\t}\n\t\tif(i == wb.SheetNames.length) i = 0;\n\t\to[o.length] = '';\n\t\to[o.length] = \"\";\n\t}\n\n\to[o.length] = \"\";\n\tfor(i = 0; i != wb.SheetNames.length; ++i) {\n\t\tvar sht = ({name:escapexml(wb.SheetNames[i].slice(0,31))}/*:any*/);\n\t\tsht.sheetId = \"\"+(i+1);\n\t\tsht[\"r:id\"] = \"rId\"+(i+1);\n\t\tif(sheets[i]) switch(sheets[i].Hidden) {\n\t\t\tcase 1: sht.state = \"hidden\"; break;\n\t\t\tcase 2: sht.state = \"veryHidden\"; break;\n\t\t}\n\t\to[o.length] = (writextag('sheet',null,sht));\n\t}\n\to[o.length] = \"\";\n\n\t/* functionGroups */\n\t/* externalReferences */\n\n\tif(write_names) {\n\t\to[o.length] = \"\";\n\t\tif(wb.Workbook && wb.Workbook.Names) wb.Workbook.Names.forEach(function(n) {\n\t\t\tvar d/*:any*/ = {name:n.Name};\n\t\t\tif(n.Comment) d.comment = n.Comment;\n\t\t\tif(n.Sheet != null) d.localSheetId = \"\"+n.Sheet;\n\t\t\tif(n.Hidden) d.hidden = \"1\";\n\t\t\tif(!n.Ref) return;\n\t\t\to[o.length] = writextag('definedName', escapexml(n.Ref), d);\n\t\t});\n\t\to[o.length] = \"\";\n\t}\n\n\t/* calcPr */\n\t/* oleSize */\n\t/* customWorkbookViews */\n\t/* pivotCaches */\n\t/* smartTagPr */\n\t/* smartTagTypes */\n\t/* webPublishing */\n\t/* fileRecoveryPr */\n\t/* webPublishObjects */\n\t/* extLst */\n\n\tif(o.length>2){ o[o.length] = ''; o[1]=o[1].replace(\"/>\",\">\"); }\n\treturn o.join(\"\");\n}\n/* [MS-XLSB] 2.4.304 BrtBundleSh */\nfunction parse_BrtBundleSh(data, length/*:number*/) {\n\tvar z = {};\n\tz.Hidden = data.read_shift(4); //hsState ST_SheetState\n\tz.iTabID = data.read_shift(4);\n\tz.strRelID = parse_RelID(data,length-8);\n\tz.name = parse_XLWideString(data);\n\treturn z;\n}\nfunction write_BrtBundleSh(data, o) {\n\tif(!o) o = new_buf(127);\n\to.write_shift(4, data.Hidden);\n\to.write_shift(4, data.iTabID);\n\twrite_RelID(data.strRelID, o);\n\twrite_XLWideString(data.name.slice(0,31), o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.815 BrtWbProp */\nfunction parse_BrtWbProp(data, length)/*:WBProps*/ {\n\tvar o/*:WBProps*/ = ({}/*:any*/);\n\tvar flags = data.read_shift(4);\n\to.defaultThemeVersion = data.read_shift(4);\n\tvar strName = (length > 8) ? parse_XLWideString(data) : \"\";\n\tif(strName.length > 0) o.CodeName = strName;\n\to.autoCompressPictures = !!(flags & 0x10000);\n\to.backupFile = !!(flags & 0x40);\n\to.checkCompatibility = !!(flags & 0x1000);\n\to.date1904 = !!(flags & 0x01);\n\to.filterPrivacy = !!(flags & 0x08);\n\to.hidePivotFieldList = !!(flags & 0x400);\n\to.promptedSolutions = !!(flags & 0x10);\n\to.publishItems = !!(flags & 0x800);\n\to.refreshAllConnections = !!(flags & 0x40000);\n\to.saveExternalLinkValues = !!(flags & 0x80);\n\to.showBorderUnselectedTables = !!(flags & 0x04);\n\to.showInkAnnotation = !!(flags & 0x20);\n\to.showObjects = [\"all\", \"placeholders\", \"none\"][(flags >> 13) & 0x03];\n\to.showPivotChartFilter = !!(flags & 0x8000);\n\to.updateLinks = [\"userSet\", \"never\", \"always\"][(flags >> 8) & 0x03];\n\treturn o;\n}\nfunction write_BrtWbProp(data/*:?WBProps*/, o) {\n\tif(!o) o = new_buf(72);\n\tvar flags = 0;\n\tif(data) {\n\t\t/* TODO: mirror parse_BrtWbProp fields */\n\t\tif(data.date1904) flags |= 0x01;\n\t\tif(data.filterPrivacy) flags |= 0x08;\n\t}\n\to.write_shift(4, flags);\n\to.write_shift(4, 0);\n\twrite_XLSBCodeName(data && data.CodeName || \"ThisWorkbook\", o);\n\treturn o.slice(0, o.l);\n}\n\nfunction parse_BrtFRTArchID$(data, length) {\n\tvar o = {};\n\tdata.read_shift(4);\n\to.ArchID = data.read_shift(4);\n\tdata.l += length - 8;\n\treturn o;\n}\n\n/* [MS-XLSB] 2.4.687 BrtName */\nfunction parse_BrtName(data, length, opts) {\n\tvar end = data.l + length;\n\tvar flags = data.read_shift(4);\n\tdata.l += 1; //var chKey = data.read_shift(1);\n\tvar itab = data.read_shift(4);\n\tvar name = parse_XLNameWideString(data);\n\tvar formula;\n\tvar comment = \"\";\n\ttry {\n\t\tformula = parse_XLSBNameParsedFormula(data, 0, opts);\n\t\ttry {\n\t\t\tcomment = parse_XLNullableWideString(data);\n\t\t} catch(e){}\n\t} catch(e) { console.error(\"Could not parse defined name \" + name); }\n\tif(flags & 0x20) name = \"_xlnm.\" + name;\n\t//if(0 /* fProc */) {\n\t\t// unusedstring1: XLNullableWideString\n\t\t// description: XLNullableWideString\n\t\t// helpTopic: XLNullableWideString\n\t\t// unusedstring2: XLNullableWideString\n\t//}\n\tdata.l = end;\n\tvar out = ({Name:name, Ptg:formula, Flags: flags}/*:any*/);\n\tif(itab < 0xFFFFFFF) out.Sheet = itab;\n\tif(comment) out.Comment = comment;\n\treturn out;\n}\nfunction write_BrtName(name, wb) {\n\tvar o = new_buf(9);\n\tvar flags = 0;\n\tvar dname = name.Name;\n\tif(XLSLblBuiltIn.indexOf(dname) > -1) { flags |= 0x20; dname = dname.slice(6); }\n\to.write_shift(4, flags); // flags\n\to.write_shift(1, 0); // chKey\n\to.write_shift(4, name.Sheet == null ? 0xFFFFFFFF : name.Sheet);\n\n\tvar arr = [\n\t\to,\n\t\twrite_XLWideString(dname),\n\t\twrite_XLSBNameParsedFormula(name.Ref, wb)\n\t];\n\tif(name.Comment) arr.push(write_XLNullableWideString(name.Comment));\n\telse {\n\t\tvar x = new_buf(4);\n\t\tx.write_shift(4, 0xFFFFFFFF);\n\t\tarr.push(x);\n\t}\n\n\t// if macro (flags & 0x0F):\n\t// write_shift(4, 0xFFFFFFFF);\n\t// write_XLNullableWideString(description)\n\t// write_XLNullableWideString(helpTopic)\n\t// write_shift(4, 0xFFFFFFFF);\n\n\treturn bconcat(arr);\n}\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction parse_wb_bin(data, opts)/*:WorkbookFile*/ {\n\tvar wb = { AppVersion:{}, WBProps:{}, WBView:[], Sheets:[], CalcPr:{}, xmlns: \"\" };\n\tvar state/*:Array*/ = [];\n\tvar pass = false;\n\n\tif(!opts) opts = {};\n\topts.biff = 12;\n\n\tvar Names = [];\n\tvar supbooks = ([[]]/*:any*/);\n\tsupbooks.SheetNames = [];\n\tsupbooks.XTI = [];\n\n\tXLSBRecordEnum[0x0010] = { n:\"BrtFRTArchID$\", f:parse_BrtFRTArchID$ };\n\n\trecordhopper(data, function hopper_wb(val, R, RT) {\n\t\tswitch(RT) {\n\t\t\tcase 0x009C: /* 'BrtBundleSh' */\n\t\t\t\tsupbooks.SheetNames.push(val.name);\n\t\t\t\twb.Sheets.push(val); break;\n\n\t\t\tcase 0x0099: /* 'BrtWbProp' */\n\t\t\t\twb.WBProps = val; break;\n\n\t\t\tcase 0x0027: /* 'BrtName' */\n\t\t\t\tif(val.Sheet != null) opts.SID = val.Sheet;\n\t\t\t\tval.Ref = val.Ptg ? stringify_formula(val.Ptg, null, null, supbooks, opts) : \"#REF!\";\n\t\t\t\tdelete opts.SID;\n\t\t\t\tdelete val.Ptg;\n\t\t\t\tNames.push(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x040C: /* 'BrtNameExt' */ break;\n\n\t\t\tcase 0x0165: /* 'BrtSupSelf' */\n\t\t\tcase 0x0166: /* 'BrtSupSame' */\n\t\t\tcase 0x0163: /* 'BrtSupBookSrc' */\n\t\t\tcase 0x029B: /* 'BrtSupAddin' */\n\t\t\t\tif(!supbooks[0].length) supbooks[0] = [RT, val];\n\t\t\t\telse supbooks.push([RT, val]);\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = [];\n\t\t\t\tbreak;\n\t\t\tcase 0x016A: /* 'BrtExternSheet' */\n\t\t\t\tif(supbooks.length === 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val);\n\t\t\t\tsupbooks.XTI = supbooks.XTI.concat(val);\n\t\t\t\tbreak;\n\t\t\tcase 0x0169: /* 'BrtPlaceholderName' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0817: /* 'BrtAbsPath15' */\n\t\t\tcase 0x009E: /* 'BrtBookView' */\n\t\t\tcase 0x008F: /* 'BrtBeginBundleShs' */\n\t\t\tcase 0x0298: /* 'BrtBeginFnGroup' */\n\t\t\tcase 0x0161: /* 'BrtBeginExternals' */\n\t\t\t\tbreak;\n\n\t\t\t/* case 'BrtModelTimeGroupingCalcCol' */\n\t\t\tcase 0x0C00: /* 'BrtUid' */\n\t\t\tcase 0x0C01: /* 'BrtRevisionPtr' */\n\t\t\tcase 0x0216: /* 'BrtBookProtection' */\n\t\t\tcase 0x02A5: /* 'BrtBookProtectionIso' */\n\t\t\tcase 0x009D: /* 'BrtCalcProp' */\n\t\t\tcase 0x0262: /* 'BrtCrashRecErr' */\n\t\t\tcase 0x0802: /* 'BrtDecoupledPivotCacheID' */\n\t\t\tcase 0x009B: /* 'BrtFileRecover' */\n\t\t\tcase 0x0224: /* 'BrtFileSharing' */\n\t\t\tcase 0x02A4: /* 'BrtFileSharingIso' */\n\t\t\tcase 0x0080: /* 'BrtFileVersion' */\n\t\t\tcase 0x0299: /* 'BrtFnGroup' */\n\t\t\tcase 0x0850: /* 'BrtModelRelationship' */\n\t\t\tcase 0x084D: /* 'BrtModelTable' */\n\t\t\tcase 0x0225: /* 'BrtOleSize' */\n\t\t\tcase 0x0805: /* 'BrtPivotTableRef' */\n\t\t\tcase 0x0254: /* 'BrtSmartTagType' */\n\t\t\tcase 0x081C: /* 'BrtTableSlicerCacheID' */\n\t\t\tcase 0x081B: /* 'BrtTableSlicerCacheIDs' */\n\t\t\tcase 0x0822: /* 'BrtTimelineCachePivotCacheID' */\n\t\t\tcase 0x018D: /* 'BrtUserBookView' */\n\t\t\tcase 0x009A: /* 'BrtWbFactoid' */\n\t\t\tcase 0x045D: /* 'BrtWbProp14' */\n\t\t\tcase 0x0229: /* 'BrtWebOpt' */\n\t\t\tcase 0x082B: /* 'BrtWorkBookPr15' */\n\t\t\t\tbreak;\n\n\t\t\tcase 0x0023: /* 'BrtFRTBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0024: /* 'BrtFRTEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\t\t\tcase 0x0025: /* 'BrtACBegin' */\n\t\t\t\tstate.push(RT); pass = true; break;\n\t\t\tcase 0x0026: /* 'BrtACEnd' */\n\t\t\t\tstate.pop(); pass = false; break;\n\n\t\t\tcase 0x0010: /* 'BrtFRTArchID$' */ break;\n\n\t\t\tdefault:\n\t\t\t\tif(R.T){/* empty */}\n\t\t\t\telse if(!pass || (opts.WTF && state[state.length-1] != 0x0025 /* BrtACBegin */ && state[state.length-1] != 0x0023 /* BrtFRTBegin */)) throw new Error(\"Unexpected record 0x\" + RT.toString(16));\n\t\t}\n\t}, opts);\n\n\tparse_wb_defaults(wb);\n\n\t// $FlowIgnore\n\twb.Names = Names;\n\n\t(wb/*:any*/).supbooks = supbooks;\n\treturn wb;\n}\n\nfunction write_BUNDLESHS(ba, wb/*::, opts*/) {\n\twrite_record(ba, 0x008F /* BrtBeginBundleShs */);\n\tfor(var idx = 0; idx != wb.SheetNames.length; ++idx) {\n\t\tvar viz = wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx] && wb.Workbook.Sheets[idx].Hidden || 0;\n\t\tvar d = { Hidden: viz, iTabID: idx+1, strRelID: 'rId' + (idx+1), name: wb.SheetNames[idx] };\n\t\twrite_record(ba, 0x009C /* BrtBundleSh */, write_BrtBundleSh(d));\n\t}\n\twrite_record(ba, 0x0090 /* BrtEndBundleShs */);\n}\n\n/* [MS-XLSB] 2.4.649 BrtFileVersion */\nfunction write_BrtFileVersion(data, o) {\n\tif(!o) o = new_buf(127);\n\tfor(var i = 0; i != 4; ++i) o.write_shift(4, 0);\n\twrite_XLWideString(\"SheetJS\", o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(XLSX.version, o);\n\twrite_XLWideString(\"7262\", o);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\n/* [MS-XLSB] 2.4.301 BrtBookView */\nfunction write_BrtBookView(idx, o) {\n\tif(!o) o = new_buf(29);\n\to.write_shift(-4, 0);\n\to.write_shift(-4, 460);\n\to.write_shift(4, 28800);\n\to.write_shift(4, 17600);\n\to.write_shift(4, 500);\n\to.write_shift(4, idx);\n\to.write_shift(4, idx);\n\tvar flags = 0x78;\n\to.write_shift(1, flags);\n\treturn o.length > o.l ? o.slice(0, o.l) : o;\n}\n\nfunction write_BOOKVIEWS(ba, wb/*::, opts*/) {\n\t/* required if hidden tab appears before visible tab */\n\tif(!wb.Workbook || !wb.Workbook.Sheets) return;\n\tvar sheets = wb.Workbook.Sheets;\n\tvar i = 0, vistab = -1, hidden = -1;\n\tfor(; i < sheets.length; ++i) {\n\t\tif(!sheets[i] || !sheets[i].Hidden && vistab == -1) vistab = i;\n\t\telse if(sheets[i].Hidden == 1 && hidden == -1) hidden = i;\n\t}\n\tif(hidden > vistab) return;\n\twrite_record(ba, 0x0087 /* BrtBeginBookViews */);\n\twrite_record(ba, 0x009E /* BrtBookView */, write_BrtBookView(vistab));\n\t/* 1*(BrtBookView *FRT) */\n\twrite_record(ba, 0x0088 /* BrtEndBookViews */);\n}\n\nfunction write_BRTNAMES(ba, wb) {\n\tif(!wb.Workbook || !wb.Workbook.Names) return;\n\twb.Workbook.Names.forEach(function(name) { try {\n\t\tif(name.Flags & 0x0e) return; // TODO: macro name write\n\t\twrite_record(ba, 0x0027 /* BrtName */, write_BrtName(name, wb));\n\t} catch(e) {\n\t\tconsole.error(\"Could not serialize defined name \" + JSON.stringify(name));\n\t} });\n}\n\nfunction write_SELF_EXTERNS_xlsb(wb) {\n\tvar L = wb.SheetNames.length;\n\tvar o = new_buf(12 * L + 28);\n\to.write_shift(4, L + 2);\n\to.write_shift(4, 0); o.write_shift(4, -2); o.write_shift(4, -2); // workbook-level reference\n\to.write_shift(4, 0); o.write_shift(4, -1); o.write_shift(4, -1); // #REF!...\n\tfor(var i = 0; i < L; ++i) {\n\t\to.write_shift(4, 0); o.write_shift(4, i); o.write_shift(4, i);\n\t}\n\treturn o;\n}\nfunction write_EXTERNALS_xlsb(ba, wb) {\n\twrite_record(ba, 0x0161 /* BrtBeginExternals */);\n\twrite_record(ba, 0x0165 /* BrtSupSelf */);\n\twrite_record(ba, 0x016A /* BrtExternSheet */, write_SELF_EXTERNS_xlsb(wb, 0));\n\twrite_record(ba, 0x0162 /* BrtEndExternals */);\n}\n\n/* [MS-XLSB] 2.4.305 BrtCalcProp */\n/*function write_BrtCalcProp(data, o) {\n\tif(!o) o = new_buf(26);\n\to.write_shift(4,0); // force recalc\n\to.write_shift(4,1);\n\to.write_shift(4,0);\n\twrite_Xnum(0, o);\n\to.write_shift(-4, 1023);\n\to.write_shift(1, 0x33);\n\to.write_shift(1, 0x00);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.4.646 BrtFileRecover */\n/*function write_BrtFileRecover(data, o) {\n\tif(!o) o = new_buf(1);\n\to.write_shift(1,0);\n\treturn o;\n}*/\n\n/* [MS-XLSB] 2.1.7.61 Workbook */\nfunction write_wb_bin(wb, opts) {\n\tvar ba = buf_array();\n\twrite_record(ba, 0x0083 /* BrtBeginBook */);\n\twrite_record(ba, 0x0080 /* BrtFileVersion */, write_BrtFileVersion());\n\t/* [[BrtFileSharingIso] BrtFileSharing] */\n\twrite_record(ba, 0x0099 /* BrtWbProp */, write_BrtWbProp(wb.Workbook && wb.Workbook.WBProps || null));\n\t/* [ACABSPATH] */\n\t/* [[BrtBookProtectionIso] BrtBookProtection] */\n\twrite_BOOKVIEWS(ba, wb, opts);\n\twrite_BUNDLESHS(ba, wb, opts);\n\t/* [FNGROUP] */\n\twrite_EXTERNALS_xlsb(ba, wb);\n\tif((wb.Workbook||{}).Names) write_BRTNAMES(ba, wb);\n\t/* write_record(ba, 0x009D BrtCalcProp, write_BrtCalcProp()); */\n\t/* [BrtOleSize] */\n\t/* *(BrtUserBookView *FRT) */\n\t/* [PIVOTCACHEIDS] */\n\t/* [BrtWbFactoid] */\n\t/* [SMARTTAGTYPES] */\n\t/* [BrtWebOpt] */\n\t/* write_record(ba, 0x009B BrtFileRecover, write_BrtFileRecover()); */\n\t/* [WEBPUBITEMS] */\n\t/* [CRERRS] */\n\t/* FRTWORKBOOK */\n\twrite_record(ba, 0x0084 /* BrtEndBook */);\n\n\treturn ba.end();\n}\nfunction parse_wb(data, name/*:string*/, opts)/*:WorkbookFile*/ {\n\tif(name.slice(-4)===\".bin\") return parse_wb_bin((data/*:any*/), opts);\n\treturn parse_wb_xml((data/*:any*/), opts);\n}\n\nfunction parse_ws(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ws_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ws_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_cs(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_cs_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_cs_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ms(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ms_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ms_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_ds(data, name/*:string*/, idx/*:number*/, opts, rels, wb, themes, styles)/*:Worksheet*/ {\n\tif(name.slice(-4)===\".bin\") return parse_ds_bin((data/*:any*/), opts, idx, rels, wb, themes, styles);\n\treturn parse_ds_xml((data/*:any*/), opts, idx, rels, wb, themes, styles);\n}\n\nfunction parse_sty(data, name/*:string*/, themes, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_sty_bin((data/*:any*/), themes, opts);\n\treturn parse_sty_xml((data/*:any*/), themes, opts);\n}\n\nfunction parse_sst(data, name/*:string*/, opts)/*:SST*/ {\n\tif(name.slice(-4)===\".bin\") return parse_sst_bin((data/*:any*/), opts);\n\treturn parse_sst_xml((data/*:any*/), opts);\n}\n\nfunction parse_cmnt(data, name/*:string*/, opts)/*:Array*/ {\n\tif(name.slice(-4)===\".bin\") return parse_comments_bin((data/*:any*/), opts);\n\treturn parse_comments_xml((data/*:any*/), opts);\n}\n\nfunction parse_cc(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_cc_bin((data/*:any*/), name, opts);\n\treturn parse_cc_xml((data/*:any*/), name, opts);\n}\n\nfunction parse_xlink(data, rel, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlink_bin((data/*:any*/), rel, name, opts);\n\treturn parse_xlink_xml((data/*:any*/), rel, name, opts);\n}\n\nfunction parse_xlmeta(data, name/*:string*/, opts) {\n\tif(name.slice(-4)===\".bin\") return parse_xlmeta_bin((data/*:any*/), name, opts);\n\treturn parse_xlmeta_xml((data/*:any*/), name, opts);\n}\nvar attregexg2=/\\b((?:\\w+:)?[\\w]+)=((?:\")([^\"]*)(?:\")|(?:')([^']*)(?:'))/g;\nvar attregex2=/\\b((?:\\w+:)?[\\w]+)=((?:\")(?:[^\"]*)(?:\")|(?:')(?:[^']*)(?:'))/;\nfunction xlml_parsexmltag(tag/*:string*/, skip_root/*:?boolean*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z/*:any*/ = ([]/*:any*/); if(!skip_root) z[0] = words[0];\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\nfunction xlml_parsexmltagobj(tag/*:string*/) {\n\tvar words = tag.split(/\\s+/);\n\tvar z = {};\n\tif(words.length === 1) return z;\n\tvar m = tag.match(attregexg2), y, j, w, i;\n\tif(m) for(i = 0; i != m.length; ++i) {\n\t\ty = m[i].match(attregex2);\n/*:: if(!y || !y[2]) continue; */\n\t\tif((j=y[1].indexOf(\":\")) === -1) z[y[1]] = y[2].slice(1,y[2].length-1);\n\t\telse {\n\t\t\tif(y[1].slice(0,6) === \"xmlns:\") w = \"xmlns\"+y[1].slice(6);\n\t\t\telse w = y[1].slice(j+1);\n\t\t\tz[w] = y[2].slice(1,y[2].length-1);\n\t\t}\n\t}\n\treturn z;\n}\n\n// ----\n\n/* map from xlml named formats to SSF TODO: localize */\nvar XLMLFormatMap/*: {[string]:string}*/;\n\nfunction xlml_format(format, value, date1904)/*:string*/ {\n\tvar fmt = XLMLFormatMap[format] || unescapexml(format);\n\tif(fmt === \"General\") return SSF_general(value);\n\treturn SSF_format(fmt, value, {date1904: !!date1904});\n}\n\nfunction xlml_set_custprop(Custprops, key, cp, val/*:string*/) {\n\tvar oval/*:any*/ = val;\n\tswitch((cp[0].match(/dt:dt=\"([\\w.]+)\"/)||[\"\",\"\"])[1]) {\n\t\tcase \"boolean\": oval = parsexmlbool(val); break;\n\t\tcase \"i2\": case \"int\": oval = parseInt(val, 10); break;\n\t\tcase \"r4\": case \"float\": oval = parseFloat(val); break;\n\t\tcase \"date\": case \"dateTime.tz\": oval = parseDate(val); break;\n\t\tcase \"i8\": case \"string\": case \"fixed\": case \"uuid\": case \"bin.base64\": break;\n\t\tdefault: throw new Error(\"bad custprop:\" + cp[0]);\n\t}\n\tCustprops[unescapexml(key)] = oval;\n}\n\nfunction safe_format_xlml(cell/*:Cell*/, nf, o, date1904) {\n\tif(cell.t === 'z') return;\n\tif(!o || o.cellText !== false) try {\n\t\tif(cell.t === 'e') { cell.w = cell.w || BErr[cell.v]; }\n\t\telse if(nf === \"General\") {\n\t\t\tif(cell.t === 'n') {\n\t\t\t\tif((cell.v|0) === cell.v) cell.w = cell.v.toString(10);\n\t\t\t\telse cell.w = SSF_general_num(cell.v);\n\t\t\t}\n\t\t\telse cell.w = SSF_general(cell.v);\n\t\t}\n\t\telse cell.w = xlml_format(nf||\"General\", cell.v, date1904);\n\t} catch(e) { if(o.WTF) throw e; }\n\ttry {\n\t\tvar z = XLMLFormatMap[nf]||nf||\"General\";\n\t\tif(o.cellNF) cell.z = z;\n\t\tif(o.cellDates && cell.t == 'n' && fmt_is_date(z)) {\n\t\t\tvar _d = SSF_parse_date_code(cell.v + (date1904 ? 1462 : 0)); if(_d) { cell.t = 'd'; cell.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); }\n\t\t}\n\t} catch(e) { if(o.WTF) throw e; }\n}\n\nfunction process_style_xlml(styles, stag, opts) {\n\tif(opts.cellStyles) {\n\t\tif(stag.Interior) {\n\t\t\tvar I = stag.Interior;\n\t\t\tif(I.Pattern) I.patternType = XLMLPatternTypeMap[I.Pattern] || I.Pattern;\n\t\t}\n\t}\n\tstyles[stag.ID] = stag;\n}\n\n/* TODO: there must exist some form of OSP-blessed spec */\nfunction parse_xlml_data(xml, ss, data, cell/*:any*/, base, styles, csty, row, arrayf, o, date1904) {\n\tvar nf = \"General\", sid = cell.StyleID, S = {}; o = o || {};\n\tvar interiors = [];\n\tvar i = 0;\n\tif(sid === undefined && row) sid = row.StyleID;\n\tif(sid === undefined && csty) sid = csty.StyleID;\n\twhile(styles[sid] !== undefined) {\n\t\tvar ssid = styles[sid];\n\t\tif(ssid.nf) nf = ssid.nf;\n\t\tif(ssid.Interior) interiors.push(ssid.Interior);\n\t\tif(!ssid.Parent) break;\n\t\tsid = ssid.Parent;\n\t}\n\tswitch(data.Type) {\n\t\tcase 'Boolean':\n\t\t\tcell.t = 'b';\n\t\t\tcell.v = parsexmlbool(xml);\n\t\t\tbreak;\n\t\tcase 'String':\n\t\t\tcell.t = 's'; cell.r = xlml_fixstr(unescapexml(xml));\n\t\t\tcell.v = (xml.indexOf(\"<\") > -1 ? unescapexml(ss||xml).replace(/<[^<>]*>/g, \"\") : cell.r); // todo: BR etc\n\t\t\tbreak;\n\t\tcase 'DateTime':\n\t\t\tif(xml.slice(-1) != \"Z\") xml += \"Z\";\n\t\t\tcell.v = datenum(parseDate(xml, date1904), date1904);\n\t\t\tif(cell.v !== cell.v) cell.v = unescapexml(xml);\n\t\t\tif(!nf || nf == \"General\") nf = \"yyyy-mm-dd\";\n\t\t\t/* falls through */\n\t\tcase 'Number':\n\t\t\tif(cell.v === undefined) cell.v=+xml;\n\t\t\tif(!cell.t) cell.t = 'n';\n\t\t\tbreak;\n\t\tcase 'Error': cell.t = 'e'; cell.v = RBErr[xml]; if(o.cellText !== false) cell.w = xml; break;\n\t\tdefault:\n\t\t\tif(xml == \"\" && ss == \"\") { cell.t = 'z'; }\n\t\t\telse { cell.t = 's'; cell.v = xlml_fixstr(ss||xml); }\n\t\t\tbreak;\n\t}\n\tsafe_format_xlml(cell, nf, o, date1904);\n\tif(o.cellFormula !== false) {\n\t\tif(cell.Formula) {\n\t\t\tvar fstr = unescapexml(cell.Formula);\n\t\t\t/* strictly speaking, the leading = is required but some writers omit */\n\t\t\tif(fstr.charCodeAt(0) == 61 /* = */) fstr = fstr.slice(1);\n\t\t\tcell.f = rc_to_a1(fstr, base);\n\t\t\tdelete cell.Formula;\n\t\t\tif(cell.ArrayRange == \"RC\") cell.F = rc_to_a1(\"RC:RC\", base);\n\t\t\telse if(cell.ArrayRange) {\n\t\t\t\tcell.F = rc_to_a1(cell.ArrayRange, base);\n\t\t\t\tarrayf.push([safe_decode_range(cell.F), cell.F]);\n\t\t\t}\n\t\t} else {\n\t\t\tfor(i = 0; i < arrayf.length; ++i)\n\t\t\t\tif(base.r >= arrayf[i][0].s.r && base.r <= arrayf[i][0].e.r)\n\t\t\t\t\tif(base.c >= arrayf[i][0].s.c && base.c <= arrayf[i][0].e.c)\n\t\t\t\t\t\tcell.F = arrayf[i][1];\n\t\t}\n\t}\n\tif(o.cellStyles) {\n\t\tinteriors.forEach(function(x) {\n\t\t\tif(!S.patternType && x.patternType) S.patternType = x.patternType;\n\t\t});\n\t\tcell.s = S;\n\t}\n\tif(cell.StyleID !== undefined) cell.ixfe = cell.StyleID;\n}\n\nfunction xlml_prefix_dname(dname) {\n\treturn XLSLblBuiltIn.indexOf(\"_xlnm.\" + dname) > -1 ? \"_xlnm.\" + dname : dname;\n}\n\nfunction xlml_clean_comment(comment/*:any*/) {\n\tcomment.t = comment.v || \"\";\n\tcomment.t = comment.t.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\");\n\tcomment.v = comment.w = comment.ixfe = undefined;\n}\n\n/* TODO: Everything */\nfunction parse_xlml_xml(d, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tmake_ssf();\n\tvar str = debom(xlml_normalize(d));\n\tif(opts.type == 'binary' || opts.type == 'array' || opts.type == 'base64') {\n\t\tif(typeof $cptable !== 'undefined') str = $cptable.utils.decode(65001, char_codes(str));\n\t\telse str = utf8read(str);\n\t}\n\tvar opening = str.slice(0, 1024).toLowerCase(), ishtml = false;\n\topening = opening.replace(/\".*?\"/g, \"\");\n\tif((opening.indexOf(\">\") & 1023) > Math.min((opening.indexOf(\",\") & 1023), (opening.indexOf(\";\")&1023))) { var _o = dup(opts); _o.type = \"string\"; return PRN.to_workbook(str, _o); }\n\tif(opening.indexOf(\"= 0) ishtml = true; });\n\tif(ishtml) return html_to_workbook(str, opts);\n\n\tXLMLFormatMap = ({\n\t\t\"General Number\": \"General\",\n\t\t\"General Date\": table_fmt[22],\n\t\t\"Long Date\": \"dddd, mmmm dd, yyyy\",\n\t\t\"Medium Date\": table_fmt[15],\n\t\t\"Short Date\": table_fmt[14],\n\t\t\"Long Time\": table_fmt[19],\n\t\t\"Medium Time\": table_fmt[18],\n\t\t\"Short Time\": table_fmt[20],\n\t\t\"Currency\": '\"$\"#,##0.00_);[Red]\\\\(\"$\"#,##0.00\\\\)',\n\t\t\"Fixed\": table_fmt[2],\n\t\t\"Standard\": table_fmt[4],\n\t\t\"Percent\": table_fmt[10],\n\t\t\"Scientific\": table_fmt[11],\n\t\t\"Yes/No\": '\"Yes\";\"Yes\";\"No\";@',\n\t\t\"True/False\": '\"True\";\"True\";\"False\";@',\n\t\t\"On/Off\": '\"Yes\";\"Yes\";\"No\";@'\n\t}/*:any*/);\n\n\n\tvar Rn;\n\tvar state = [], tmp;\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar sheets = {}, sheetnames/*:Array*/ = [], cursheet/*:Worksheet*/ = ({}), sheetname = \"\"; if(opts.dense) cursheet[\"!data\"] = [];\n\tvar cell = ({}/*:any*/), row = {};// eslint-disable-line no-unused-vars\n\tvar dtag = xlml_parsexmltag(''), didx = 0;\n\tvar c = 0, r = 0;\n\tvar refguess/*:Range*/ = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\tvar styles = {}, stag = {};\n\tvar ss = \"\", fidx = 0;\n\tvar merges/*:Array*/ = [];\n\tvar Props = {}, Custprops = {}, pidx = 0, cp = [];\n\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\tvar cstys = [], csty, seencol = false;\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar rowinfo/*:Array*/ = [], rowobj = {}, cc = 0, rr = 0;\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false} }/*:any*/), wsprops = {};\n\txlmlregex.lastIndex = 0;\n\tstr = str_remove_ng(str, \"\");\n\tvar raw_Rn3 = \"\";\n\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3] = (raw_Rn3 = Rn[3]).toLowerCase())) {\n\t\tcase 'data' /*case 'Data'*/:\n\t\t\tif(raw_Rn3 == \"data\") {\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(state[state.length-1][1]) break;\n\t\t\tif(Rn[1]==='/') parse_xlml_data(str.slice(didx, Rn.index), ss, dtag, state[state.length-1][0]==/*\"Comment\"*/\"comment\"?comment:cell, {c:c,r:r}, styles, cstys[c], row, arrayf, opts, Workbook.WBProps.date1904);\n\t\t\telse { ss = \"\"; dtag = xlml_parsexmltag(Rn[0]); didx = Rn.index + Rn[0].length; }\n\t\t\tbreak;\n\t\tcase 'cell' /*case 'Cell'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif(comments.length > 0) cell.c = comments;\n\t\t\t\tif((!opts.sheetRows || opts.sheetRows > r) && cell.v !== void 0) {\n\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\tif(!cursheet[\"!data\"][r]) cursheet[\"!data\"][r] = [];\n\t\t\t\t\t\tcursheet[\"!data\"][r][c] = cell;\n\t\t\t\t\t} else cursheet[encode_col(c) + encode_row(r)] = cell;\n\t\t\t\t}\n\t\t\t\tif(cell.HRef) {\n\t\t\t\t\tcell.l = ({Target:unescapexml(cell.HRef)}/*:any*/);\n\t\t\t\t\tif(cell.HRefScreenTip) cell.l.Tooltip = cell.HRefScreenTip;\n\t\t\t\t\tdelete cell.HRef; delete cell.HRefScreenTip;\n\t\t\t\t}\n\t\t\t\tif(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\tcc = c + (parseInt(cell.MergeAcross,10)|0);\n\t\t\t\t\trr = r + (parseInt(cell.MergeDown,10)|0);\n\t\t\t\t\tif(cc > c || rr > r) merges.push({s:{c:c,r:r},e:{c:cc,r:rr}});\n\t\t\t\t}\n\t\t\t\tif(!opts.sheetStubs) { if(cell.MergeAcross) c = cc + 1; else ++c; }\n\t\t\t\telse if(cell.MergeAcross || cell.MergeDown) {\n\t\t\t\t\t/*:: if(!cc) cc = 0; if(!rr) rr = 0; */\n\t\t\t\t\tfor(var cma = c; cma <= cc; ++cma) {\n\t\t\t\t\t\tfor(var cmd = r; cmd <= rr; ++cmd) {\n\t\t\t\t\t\t\tif(cma > c || cmd > r) {\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!cursheet[\"!data\"][cmd]) cursheet[\"!data\"][cmd] = [];\n\t\t\t\t\t\t\t\t\tcursheet[\"!data\"][cmd][cma] = {t:'z'};\n\t\t\t\t\t\t\t\t} else cursheet[encode_col(cma) + encode_row(cmd)] = {t:'z'};\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tc = cc + 1;\n\t\t\t\t}\n\t\t\t\telse ++c;\n\t\t\t} else {\n\t\t\t\tcell = xlml_parsexmltagobj(Rn[0]);\n\t\t\t\tif(cell.Index) c = +cell.Index - 1;\n\t\t\t\tif(c < refguess.s.c) refguess.s.c = c;\n\t\t\t\tif(c > refguess.e.c) refguess.e.c = c;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") ++c;\n\t\t\t\tcomments = [];\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'row' /*case 'Row'*/:\n\t\t\tif(Rn[1]==='/' || Rn[0].slice(-2) === \"/>\") {\n\t\t\t\tif(r < refguess.s.r) refguess.s.r = r;\n\t\t\t\tif(r > refguess.e.r) refguess.e.r = r;\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") {\n\t\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\t}\n\t\t\t\tc = 0; ++r;\n\t\t\t} else {\n\t\t\t\trow = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(row.Index) r = +row.Index - 1;\n\t\t\t\trowobj = {};\n\t\t\t\tif(row.AutoFitHeight == \"0\" || row.Height) {\n\t\t\t\t\trowobj.hpx = parseInt(row.Height, 10); rowobj.hpt = px2pt(rowobj.hpx);\n\t\t\t\t\trowinfo[r] = rowobj;\n\t\t\t\t}\n\t\t\t\tif(row.Hidden == \"1\") { rowobj.hidden = true; rowinfo[r] = rowobj; }\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'worksheet' /*case 'Worksheet'*/: /* TODO: read range from FullRows/FullColumns */\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\tsheetnames.push(sheetname);\n\t\t\t\tif(refguess.s.r <= refguess.e.r && refguess.s.c <= refguess.e.c) {\n\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\tif(opts.sheetRows && opts.sheetRows <= refguess.e.r) {\n\t\t\t\t\t\tcursheet[\"!fullref\"] = cursheet[\"!ref\"];\n\t\t\t\t\t\trefguess.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tcursheet[\"!ref\"] = encode_range(refguess);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(merges.length) cursheet[\"!merges\"] = merges;\n\t\t\t\tif(cstys.length > 0) cursheet[\"!cols\"] = cstys;\n\t\t\t\tif(rowinfo.length > 0) cursheet[\"!rows\"] = rowinfo;\n\t\t\t\tsheets[sheetname] = cursheet;\n\t\t\t} else {\n\t\t\t\trefguess = {s: {r:2000000, c:2000000}, e: {r:0, c:0} };\n\t\t\t\tr = c = 0;\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tsheetname = unescapexml(tmp.Name);\n\t\t\t\tcursheet = ({}); if(opts.dense) cursheet[\"!data\"] = [];\n\t\t\t\tmerges = [];\n\t\t\t\tarrayf = [];\n\t\t\t\trowinfo = [];\n\t\t\t\twsprops = {name:sheetname, Hidden:0};\n\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 'table' /*case 'Table'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].slice(-2) == \"/>\") break;\n\t\t\telse {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\tcstys = []; seencol = false;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'style' /*case 'Style'*/:\n\t\t\tif(Rn[1]==='/') process_style_xlml(styles, stag, opts);\n\t\t\telse stag = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\n\t\tcase 'numberformat' /*case 'NumberFormat'*/:\n\t\t\tstag.nf = unescapexml(xlml_parsexmltag(Rn[0]).Format || \"General\");\n\t\t\tif(XLMLFormatMap[stag.nf]) stag.nf = XLMLFormatMap[stag.nf];\n\t\t\tfor(var ssfidx = 0; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == stag.nf) break;\n\t\t\tif(ssfidx == 0x188) for(ssfidx = 0x39; ssfidx != 0x188; ++ssfidx) if(table_fmt[ssfidx] == null) { SSF__load(stag.nf, ssfidx); break; }\n\t\t\tbreak;\n\n\t\tcase 'column' /*case 'Column'*/:\n\t\t\tif(state[state.length-1][0] !== /*'Table'*/'table') break;\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tcsty = xlml_parsexmltag(Rn[0]);\n\t\t\tif(csty.Hidden) { csty.hidden = true; delete csty.Hidden; }\n\t\t\tif(csty.Width) csty.wpx = parseInt(csty.Width, 10);\n\t\t\tif(!seencol && csty.wpx > 10) {\n\t\t\t\tseencol = true; MDW = DEF_MDW; //find_mdw_wpx(csty.wpx);\n\t\t\t\tfor(var _col = 0; _col < cstys.length; ++_col) if(cstys[_col]) process_col(cstys[_col]);\n\t\t\t}\n\t\t\tif(seencol) process_col(csty);\n\t\t\tcstys[(csty.Index-1||cstys.length)] = csty;\n\t\t\tfor(var i = 0; i < +csty.Span; ++i) cstys[cstys.length] = dup(csty);\n\t\t\tbreak;\n\n\t\tcase 'namedrange' /*case 'NamedRange'*/:\n\t\t\tif(Rn[1]==='/') break;\n\t\t\tif(!Workbook.Names) Workbook.Names = [];\n\t\t\tvar _NamedRange = parsexmltag(Rn[0]);\n\t\t\tvar _DefinedName/*:DefinedName*/ = ({\n\t\t\t\tName: xlml_prefix_dname(_NamedRange.Name),\n\t\t\t\tRef: rc_to_a1(_NamedRange.RefersTo.slice(1), {r:0, c:0})\n\t\t\t}/*:any*/);\n\t\t\tif(Workbook.Sheets.length>0) _DefinedName.Sheet=Workbook.Sheets.length-1;\n\t\t\t/*:: if(Workbook.Names) */Workbook.Names.push(_DefinedName);\n\t\t\tbreak;\n\n\t\tcase 'namedcell' /*case 'NamedCell'*/: break;\n\t\tcase 'b' /*case 'B'*/: break;\n\t\tcase 'i' /*case 'I'*/: break;\n\t\tcase 'u' /*case 'U'*/: break;\n\t\tcase 's' /*case 'S'*/: break;\n\t\tcase 'em' /*case 'EM'*/: break;\n\t\tcase 'h2' /*case 'H2'*/: break;\n\t\tcase 'h3' /*case 'H3'*/: break;\n\t\tcase 'sub' /*case 'Sub'*/: break;\n\t\tcase 'sup' /*case 'Sup'*/: break;\n\t\tcase 'span' /*case 'Span'*/: break;\n\t\tcase 'alignment' /*case 'Alignment'*/:\n\t\t\tbreak;\n\t\tcase 'borders' /*case 'Borders'*/: break;\n\t\tcase 'border' /*case 'Border'*/: break;\n\t\tcase 'font' /*case 'Font'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") ss += str.slice(fidx, Rn.index);\n\t\t\telse fidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'interior' /*case 'Interior'*/:\n\t\t\tif(!opts.cellStyles) break;\n\t\t\tstag.Interior = xlml_parsexmltag(Rn[0]);\n\t\t\tbreak;\n\t\tcase 'protection' /*case 'Protection'*/: break;\n\n\t\tcase 'author' /*case 'Author'*/:\n\t\tcase 'title' /*case 'Title'*/:\n\t\tcase 'description' /*case 'Description'*/:\n\t\tcase 'created' /*case 'Created'*/:\n\t\tcase 'keywords' /*case 'Keywords'*/:\n\t\tcase 'subject' /*case 'Subject'*/:\n\t\tcase 'category' /*case 'Category'*/:\n\t\tcase 'company' /*case 'Company'*/:\n\t\tcase 'lastauthor' /*case 'LastAuthor'*/:\n\t\tcase 'lastsaved' /*case 'LastSaved'*/:\n\t\tcase 'lastprinted' /*case 'LastPrinted'*/:\n\t\tcase 'version' /*case 'Version'*/:\n\t\tcase 'revision' /*case 'Revision'*/:\n\t\tcase 'totaltime' /*case 'TotalTime'*/:\n\t\tcase 'hyperlinkbase' /*case 'HyperlinkBase'*/:\n\t\tcase 'manager' /*case 'Manager'*/:\n\t\tcase 'contentstatus' /*case 'ContentStatus'*/:\n\t\tcase 'identifier' /*case 'Identifier'*/:\n\t\tcase 'language' /*case 'Language'*/:\n\t\tcase 'appname' /*case 'AppName'*/:\n\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\telse if(Rn[1]===\"/\") xlml_set_prop(Props, raw_Rn3, str.slice(pidx, Rn.index));\n\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\tbreak;\n\t\tcase 'paragraphs' /*case 'Paragraphs'*/: break;\n\n\t\tcase 'styles' /*case 'Styles'*/:\n\t\tcase 'workbook' /*case 'Workbook'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse state.push([Rn[3], false]);\n\t\t\tbreak;\n\n\t\tcase 'comment' /*case 'Comment'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t\txlml_clean_comment(comment);\n\t\t\t\tcomments.push(comment);\n\t\t\t} else {\n\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\ttmp = xlml_parsexmltag(Rn[0]);\n\t\t\t\tif(!parsexmlbool(tmp[\"ShowAlways\"]||\"0\")) comments.hidden = true;\n\t\t\t\tcomment = ({a:tmp.Author}/*:any*/);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'autofilter' /*case 'AutoFilter'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tvar AutoFilter = xlml_parsexmltag(Rn[0]);\n\t\t\t\tcursheet['!autofilter'] = { ref:rc_to_a1(AutoFilter.Range).replace(/\\$/g,\"\") };\n\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'name' /*case 'Name'*/: break;\n\n\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\tif(Rn[1]==='/'){\n\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));\n\t\t\t} else {\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'pixelsperinch' /*case 'PixelsPerInch'*/:\n\t\t\tbreak;\n\t\tcase 'componentoptions' /*case 'ComponentOptions'*/:\n\t\tcase 'documentproperties' /*case 'DocumentProperties'*/:\n\t\tcase 'customdocumentproperties' /*case 'CustomDocumentProperties'*/:\n\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/:\n\t\tcase 'pivottable' /*case 'PivotTable'*/:\n\t\tcase 'pivotcache' /*case 'PivotCache'*/:\n\t\tcase 'names' /*case 'Names'*/:\n\t\tcase 'mapinfo' /*case 'MapInfo'*/:\n\t\tcase 'pagebreaks' /*case 'PageBreaks'*/:\n\t\tcase 'querytable' /*case 'QueryTable'*/:\n\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\tcase 'schema' /*case 'Schema'*/: //case 'data' /*case 'data'*/:\n\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\tcase 'smarttagtype' /*case 'SmartTagType'*/:\n\t\tcase 'smarttags' /*case 'SmartTags'*/:\n\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/:\n\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/:\n\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/:\n\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw new Error(\"Bad state: \"+tmp.join(\"|\"));}\n\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\tbreak;\n\n\t\tcase 'null' /*case 'Null'*/: break;\n\n\t\tdefault:\n\t\t\t/* FODS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"document\") return parse_fods(str, opts);\n\t\t\t/* UOS file root is */\n\t\t\tif(state.length == 0 && Rn[3] == \"uof\"/*\"UOF\"*/) return parse_fods(str, opts);\n\n\t\t\tvar seen = true;\n\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t/* OfficeDocumentSettings */\n\t\t\t\tcase 'officedocumentsettings' /*case 'OfficeDocumentSettings'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'allowpng' /*case 'AllowPNG'*/: break;\n\t\t\t\t\tcase 'removepersonalinformation' /*case 'RemovePersonalInformation'*/: break;\n\t\t\t\t\tcase 'downloadcomponents' /*case 'DownloadComponents'*/: break;\n\t\t\t\t\tcase 'locationofcomponents' /*case 'LocationOfComponents'*/: break;\n\t\t\t\t\tcase 'colors' /*case 'Colors'*/: break;\n\t\t\t\t\tcase 'color' /*case 'Color'*/: break;\n\t\t\t\t\tcase 'index' /*case 'Index'*/: break;\n\t\t\t\t\tcase 'rgb' /*case 'RGB'*/: break;\n\t\t\t\t\tcase 'targetscreensize' /*case 'TargetScreenSize'*/: break;\n\t\t\t\t\tcase 'readonlyrecommended' /*case 'ReadOnlyRecommended'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ComponentOptions */\n\t\t\t\tcase 'componentoptions' /*case 'ComponentOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'toolbar' /*case 'Toolbar'*/: break;\n\t\t\t\t\tcase 'hideofficelogo' /*case 'HideOfficeLogo'*/: break;\n\t\t\t\t\tcase 'spreadsheetautofit' /*case 'SpreadsheetAutoFit'*/: break;\n\t\t\t\t\tcase 'label' /*case 'Label'*/: break;\n\t\t\t\t\tcase 'caption' /*case 'Caption'*/: break;\n\t\t\t\t\tcase 'maxheight' /*case 'MaxHeight'*/: break;\n\t\t\t\t\tcase 'maxwidth' /*case 'MaxWidth'*/: break;\n\t\t\t\t\tcase 'nextsheetnumber' /*case 'NextSheetNumber'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* ExcelWorkbook */\n\t\t\t\tcase 'excelworkbook' /*case 'ExcelWorkbook'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'date1904' /*case 'Date1904'*/:\n\t\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\t\tWorkbook.WBProps.date1904 = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'hidehorizontalscrollbar' /*case 'HideHorizontalScrollBar'*/: break;\n\t\t\t\t\tcase 'hideverticalscrollbar' /*case 'HideVerticalScrollBar'*/: break;\n\t\t\t\t\tcase 'hideworkbooktabs' /*case 'HideWorkbookTabs'*/: break;\n\t\t\t\t\tcase 'windowheight' /*case 'WindowHeight'*/: break;\n\t\t\t\t\tcase 'windowwidth' /*case 'WindowWidth'*/: break;\n\t\t\t\t\tcase 'windowtopx' /*case 'WindowTopX'*/: break;\n\t\t\t\t\tcase 'windowtopy' /*case 'WindowTopY'*/: break;\n\t\t\t\t\tcase 'tabratio' /*case 'TabRatio'*/: break;\n\t\t\t\t\tcase 'protectstructure' /*case 'ProtectStructure'*/: break;\n\t\t\t\t\tcase 'protectwindow' /*case 'ProtectWindow'*/: break;\n\t\t\t\t\tcase 'protectwindows' /*case 'ProtectWindows'*/: break;\n\t\t\t\t\tcase 'activesheet' /*case 'ActiveSheet'*/: break;\n\t\t\t\t\tcase 'displayinknotes' /*case 'DisplayInkNotes'*/: break;\n\t\t\t\t\tcase 'firstvisiblesheet' /*case 'FirstVisibleSheet'*/: break;\n\t\t\t\t\tcase 'supbook' /*case 'SupBook'*/: break;\n\t\t\t\t\tcase 'sheetname' /*case 'SheetName'*/: break;\n\t\t\t\t\tcase 'sheetindex' /*case 'SheetIndex'*/: break;\n\t\t\t\t\tcase 'sheetindexfirst' /*case 'SheetIndexFirst'*/: break;\n\t\t\t\t\tcase 'sheetindexlast' /*case 'SheetIndexLast'*/: break;\n\t\t\t\t\tcase 'dll' /*case 'Dll'*/: break;\n\t\t\t\t\tcase 'acceptlabelsinformulas' /*case 'AcceptLabelsInFormulas'*/: break;\n\t\t\t\t\tcase 'donotsavelinkvalues' /*case 'DoNotSaveLinkValues'*/: break;\n\t\t\t\t\tcase 'iteration' /*case 'Iteration'*/: break;\n\t\t\t\t\tcase 'maxiterations' /*case 'MaxIterations'*/: break;\n\t\t\t\t\tcase 'maxchange' /*case 'MaxChange'*/: break;\n\t\t\t\t\tcase 'path' /*case 'Path'*/: break;\n\t\t\t\t\tcase 'xct' /*case 'Xct'*/: break;\n\t\t\t\t\tcase 'count' /*case 'Count'*/: break;\n\t\t\t\t\tcase 'selectedsheets' /*case 'SelectedSheets'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tcase 'uncalced' /*case 'Uncalced'*/: break;\n\t\t\t\t\tcase 'startupprompt' /*case 'StartupPrompt'*/: break;\n\t\t\t\t\tcase 'crn' /*case 'Crn'*/: break;\n\t\t\t\t\tcase 'externname' /*case 'ExternName'*/: break;\n\t\t\t\t\tcase 'formula' /*case 'Formula'*/: break;\n\t\t\t\t\tcase 'colfirst' /*case 'ColFirst'*/: break;\n\t\t\t\t\tcase 'collast' /*case 'ColLast'*/: break;\n\t\t\t\t\tcase 'wantadvise' /*case 'WantAdvise'*/: break;\n\t\t\t\t\tcase 'boolean' /*case 'Boolean'*/: break;\n\t\t\t\t\tcase 'error' /*case 'Error'*/: break;\n\t\t\t\t\tcase 'text' /*case 'Text'*/: break;\n\t\t\t\t\tcase 'ole' /*case 'OLE'*/: break;\n\t\t\t\t\tcase 'noautorecover' /*case 'NoAutoRecover'*/: break;\n\t\t\t\t\tcase 'publishobjects' /*case 'PublishObjects'*/: break;\n\t\t\t\t\tcase 'donotcalculatebeforesave' /*case 'DoNotCalculateBeforeSave'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'refmoder1c1' /*case 'RefModeR1C1'*/: break;\n\t\t\t\t\tcase 'embedsavesmarttags' /*case 'EmbedSaveSmartTags'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorkbookOptions */\n\t\t\t\tcase 'workbookoptions' /*case 'WorkbookOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'owcversion' /*case 'OWCVersion'*/: break;\n\t\t\t\t\tcase 'height' /*case 'Height'*/: break;\n\t\t\t\t\tcase 'width' /*case 'Width'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* WorksheetOptions */\n\t\t\t\tcase 'worksheetoptions' /*case 'WorksheetOptions'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'visible' /*case 'Visible'*/:\n\t\t\t\t\t\tif(Rn[0].slice(-2) === \"/>\"){/* empty */}\n\t\t\t\t\t\telse if(Rn[1]===\"/\") switch(str.slice(pidx, Rn.index)) {\n\t\t\t\t\t\t\tcase \"SheetHidden\": wsprops.Hidden = 1; break;\n\t\t\t\t\t\t\tcase \"SheetVeryHidden\": wsprops.Hidden = 2; break;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'header' /*case 'Header'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].header = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'footer' /*case 'Footer'*/:\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={}, 'xlml');\n\t\t\t\t\t\tif(!isNaN(+parsexmltag(Rn[0]).Margin)) cursheet['!margins'].footer = +parsexmltag(Rn[0]).Margin;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'pagemargins' /*case 'PageMargins'*/:\n\t\t\t\t\t\tvar pagemargins = parsexmltag(Rn[0]);\n\t\t\t\t\t\tif(!cursheet['!margins']) default_margins(cursheet['!margins']={},'xlml');\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Top)) cursheet['!margins'].top = +pagemargins.Top;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Left)) cursheet['!margins'].left = +pagemargins.Left;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Right)) cursheet['!margins'].right = +pagemargins.Right;\n\t\t\t\t\t\tif(!isNaN(+pagemargins.Bottom)) cursheet['!margins'].bottom = +pagemargins.Bottom;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'displayrighttoleft' /*case 'DisplayRightToLeft'*/:\n\t\t\t\t\t\tif(!Workbook.Views) Workbook.Views = [];\n\t\t\t\t\t\tif(!Workbook.Views[0]) Workbook.Views[0] = {};\n\t\t\t\t\t\tWorkbook.Views[0].RTL = true;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'freezepanes' /*case 'FreezePanes'*/: break;\n\t\t\t\t\tcase 'frozennosplit' /*case 'FrozenNoSplit'*/: break;\n\n\t\t\t\t\tcase 'splithorizontal' /*case 'SplitHorizontal'*/:\n\t\t\t\t\tcase 'splitvertical' /*case 'SplitVertical'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'donotdisplaygridlines' /*case 'DoNotDisplayGridlines'*/:\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'activerow' /*case 'ActiveRow'*/: break;\n\t\t\t\t\tcase 'activecol' /*case 'ActiveCol'*/: break;\n\t\t\t\t\tcase 'toprowbottompane' /*case 'TopRowBottomPane'*/: break;\n\t\t\t\t\tcase 'leftcolumnrightpane' /*case 'LeftColumnRightPane'*/: break;\n\n\t\t\t\t\tcase 'unsynced' /*case 'Unsynced'*/: break;\n\t\t\t\t\tcase 'print' /*case 'Print'*/: break;\n\t\t\t\t\tcase 'printerrors' /*case 'PrintErrors'*/: break;\n\t\t\t\t\tcase 'panes' /*case 'Panes'*/: break;\n\t\t\t\t\tcase 'scale' /*case 'Scale'*/: break;\n\t\t\t\t\tcase 'pane' /*case 'Pane'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'layout' /*case 'Layout'*/: break;\n\t\t\t\t\tcase 'pagesetup' /*case 'PageSetup'*/: break;\n\t\t\t\t\tcase 'selected' /*case 'Selected'*/: break;\n\t\t\t\t\tcase 'protectobjects' /*case 'ProtectObjects'*/: break;\n\t\t\t\t\tcase 'enableselection' /*case 'EnableSelection'*/: break;\n\t\t\t\t\tcase 'protectscenarios' /*case 'ProtectScenarios'*/: break;\n\t\t\t\t\tcase 'validprinterinfo' /*case 'ValidPrinterInfo'*/: break;\n\t\t\t\t\tcase 'horizontalresolution' /*case 'HorizontalResolution'*/: break;\n\t\t\t\t\tcase 'verticalresolution' /*case 'VerticalResolution'*/: break;\n\t\t\t\t\tcase 'numberofcopies' /*case 'NumberofCopies'*/: break;\n\t\t\t\t\tcase 'activepane' /*case 'ActivePane'*/: break;\n\t\t\t\t\tcase 'toprowvisible' /*case 'TopRowVisible'*/: break;\n\t\t\t\t\tcase 'leftcolumnvisible' /*case 'LeftColumnVisible'*/: break;\n\t\t\t\t\tcase 'fittopage' /*case 'FitToPage'*/: break;\n\t\t\t\t\tcase 'rangeselection' /*case 'RangeSelection'*/: break;\n\t\t\t\t\tcase 'papersizeindex' /*case 'PaperSizeIndex'*/: break;\n\t\t\t\t\tcase 'pagelayoutzoom' /*case 'PageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'pagebreakzoom' /*case 'PageBreakZoom'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'fitwidth' /*case 'FitWidth'*/: break;\n\t\t\t\t\tcase 'fitheight' /*case 'FitHeight'*/: break;\n\t\t\t\t\tcase 'commentslayout' /*case 'CommentsLayout'*/: break;\n\t\t\t\t\tcase 'zoom' /*case 'Zoom'*/: break;\n\t\t\t\t\tcase 'lefttoright' /*case 'LeftToRight'*/: break;\n\t\t\t\t\tcase 'gridlines' /*case 'Gridlines'*/: break;\n\t\t\t\t\tcase 'allowsort' /*case 'AllowSort'*/: break;\n\t\t\t\t\tcase 'allowfilter' /*case 'AllowFilter'*/: break;\n\t\t\t\t\tcase 'allowinsertrows' /*case 'AllowInsertRows'*/: break;\n\t\t\t\t\tcase 'allowdeleterows' /*case 'AllowDeleteRows'*/: break;\n\t\t\t\t\tcase 'allowinsertcols' /*case 'AllowInsertCols'*/: break;\n\t\t\t\t\tcase 'allowdeletecols' /*case 'AllowDeleteCols'*/: break;\n\t\t\t\t\tcase 'allowinserthyperlinks' /*case 'AllowInsertHyperlinks'*/: break;\n\t\t\t\t\tcase 'allowformatcells' /*case 'AllowFormatCells'*/: break;\n\t\t\t\t\tcase 'allowsizecols' /*case 'AllowSizeCols'*/: break;\n\t\t\t\t\tcase 'allowsizerows' /*case 'AllowSizeRows'*/: break;\n\t\t\t\t\tcase 'nosummaryrowsbelowdetail' /*case 'NoSummaryRowsBelowDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].above = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'tabcolorindex' /*case 'TabColorIndex'*/: break;\n\t\t\t\t\tcase 'donotdisplayheadings' /*case 'DoNotDisplayHeadings'*/: break;\n\t\t\t\t\tcase 'showpagelayoutzoom' /*case 'ShowPageLayoutZoom'*/: break;\n\t\t\t\t\tcase 'nosummarycolumnsrightdetail' /*case 'NoSummaryColumnsRightDetail'*/:\n\t\t\t\t\t\tif(!cursheet[\"!outline\"]) cursheet[\"!outline\"] = {};\n\t\t\t\t\t\tcursheet[\"!outline\"].left = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'blackandwhite' /*case 'BlackAndWhite'*/: break;\n\t\t\t\t\tcase 'donotdisplayzeros' /*case 'DoNotDisplayZeros'*/: break;\n\t\t\t\t\tcase 'displaypagebreak' /*case 'DisplayPageBreak'*/: break;\n\t\t\t\t\tcase 'rowcolheadings' /*case 'RowColHeadings'*/: break;\n\t\t\t\t\tcase 'donotdisplayoutline' /*case 'DoNotDisplayOutline'*/: break;\n\t\t\t\t\tcase 'noorientation' /*case 'NoOrientation'*/: break;\n\t\t\t\t\tcase 'allowusepivottables' /*case 'AllowUsePivotTables'*/: break;\n\t\t\t\t\tcase 'zeroheight' /*case 'ZeroHeight'*/: break;\n\t\t\t\t\tcase 'viewablerange' /*case 'ViewableRange'*/: break;\n\t\t\t\t\tcase 'selection' /*case 'Selection'*/: break;\n\t\t\t\t\tcase 'protectcontents' /*case 'ProtectContents'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PivotTable */\n\t\t\t\tcase 'pivottable' /*case 'PivotTable'*/: case 'pivotcache' /*case 'PivotCache'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'immediateitemsondrop' /*case 'ImmediateItemsOnDrop'*/: break;\n\t\t\t\t\tcase 'showpagemultipleitemlabel' /*case 'ShowPageMultipleItemLabel'*/: break;\n\t\t\t\t\tcase 'compactrowindent' /*case 'CompactRowIndent'*/: break;\n\t\t\t\t\tcase 'location' /*case 'Location'*/: break;\n\t\t\t\t\tcase 'pivotfield' /*case 'PivotField'*/: break;\n\t\t\t\t\tcase 'orientation' /*case 'Orientation'*/: break;\n\t\t\t\t\tcase 'layoutform' /*case 'LayoutForm'*/: break;\n\t\t\t\t\tcase 'layoutsubtotallocation' /*case 'LayoutSubtotalLocation'*/: break;\n\t\t\t\t\tcase 'layoutcompactrow' /*case 'LayoutCompactRow'*/: break;\n\t\t\t\t\tcase 'position' /*case 'Position'*/: break;\n\t\t\t\t\tcase 'pivotitem' /*case 'PivotItem'*/: break;\n\t\t\t\t\tcase 'datatype' /*case 'DataType'*/: break;\n\t\t\t\t\tcase 'datafield' /*case 'DataField'*/: break;\n\t\t\t\t\tcase 'sourcename' /*case 'SourceName'*/: break;\n\t\t\t\t\tcase 'parentfield' /*case 'ParentField'*/: break;\n\t\t\t\t\tcase 'ptlineitems' /*case 'PTLineItems'*/: break;\n\t\t\t\t\tcase 'ptlineitem' /*case 'PTLineItem'*/: break;\n\t\t\t\t\tcase 'countofsameitems' /*case 'CountOfSameItems'*/: break;\n\t\t\t\t\tcase 'item' /*case 'Item'*/: break;\n\t\t\t\t\tcase 'itemtype' /*case 'ItemType'*/: break;\n\t\t\t\t\tcase 'ptsource' /*case 'PTSource'*/: break;\n\t\t\t\t\tcase 'cacheindex' /*case 'CacheIndex'*/: break;\n\t\t\t\t\tcase 'consolidationreference' /*case 'ConsolidationReference'*/: break;\n\t\t\t\t\tcase 'filename' /*case 'FileName'*/: break;\n\t\t\t\t\tcase 'reference' /*case 'Reference'*/: break;\n\t\t\t\t\tcase 'nocolumngrand' /*case 'NoColumnGrand'*/: break;\n\t\t\t\t\tcase 'norowgrand' /*case 'NoRowGrand'*/: break;\n\t\t\t\t\tcase 'blanklineafteritems' /*case 'BlankLineAfterItems'*/: break;\n\t\t\t\t\tcase 'hidden' /*case 'Hidden'*/: break;\n\t\t\t\t\tcase 'subtotal' /*case 'Subtotal'*/: break;\n\t\t\t\t\tcase 'basefield' /*case 'BaseField'*/: break;\n\t\t\t\t\tcase 'mapchilditems' /*case 'MapChildItems'*/: break;\n\t\t\t\t\tcase 'function' /*case 'Function'*/: break;\n\t\t\t\t\tcase 'refreshonfileopen' /*case 'RefreshOnFileOpen'*/: break;\n\t\t\t\t\tcase 'printsettitles' /*case 'PrintSetTitles'*/: break;\n\t\t\t\t\tcase 'mergelabels' /*case 'MergeLabels'*/: break;\n\t\t\t\t\tcase 'defaultversion' /*case 'DefaultVersion'*/: break;\n\t\t\t\t\tcase 'refreshname' /*case 'RefreshName'*/: break;\n\t\t\t\t\tcase 'refreshdate' /*case 'RefreshDate'*/: break;\n\t\t\t\t\tcase 'refreshdatecopy' /*case 'RefreshDateCopy'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tcase 'versionlastupdate' /*case 'VersionLastUpdate'*/: break;\n\t\t\t\t\tcase 'versionupdateablemin' /*case 'VersionUpdateableMin'*/: break;\n\t\t\t\t\tcase 'versionrefreshablemin' /*case 'VersionRefreshableMin'*/: break;\n\t\t\t\t\tcase 'calculation' /*case 'Calculation'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* PageBreaks */\n\t\t\t\tcase 'pagebreaks' /*case 'PageBreaks'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'colbreaks' /*case 'ColBreaks'*/: break;\n\t\t\t\t\tcase 'colbreak' /*case 'ColBreak'*/: break;\n\t\t\t\t\tcase 'rowbreaks' /*case 'RowBreaks'*/: break;\n\t\t\t\t\tcase 'rowbreak' /*case 'RowBreak'*/: break;\n\t\t\t\t\tcase 'colstart' /*case 'ColStart'*/: break;\n\t\t\t\t\tcase 'colend' /*case 'ColEnd'*/: break;\n\t\t\t\t\tcase 'rowend' /*case 'RowEnd'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* AutoFilter */\n\t\t\t\tcase 'autofilter' /*case 'AutoFilter'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'autofiltercolumn' /*case 'AutoFilterColumn'*/: break;\n\t\t\t\t\tcase 'autofiltercondition' /*case 'AutoFilterCondition'*/: break;\n\t\t\t\t\tcase 'autofilterand' /*case 'AutoFilterAnd'*/: break;\n\t\t\t\t\tcase 'autofilteror' /*case 'AutoFilterOr'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* QueryTable */\n\t\t\t\tcase 'querytable' /*case 'QueryTable'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'id' /*case 'Id'*/: break;\n\t\t\t\t\tcase 'autoformatfont' /*case 'AutoFormatFont'*/: break;\n\t\t\t\t\tcase 'autoformatpattern' /*case 'AutoFormatPattern'*/: break;\n\t\t\t\t\tcase 'querysource' /*case 'QuerySource'*/: break;\n\t\t\t\t\tcase 'querytype' /*case 'QueryType'*/: break;\n\t\t\t\t\tcase 'enableredirections' /*case 'EnableRedirections'*/: break;\n\t\t\t\t\tcase 'refreshedinxl9' /*case 'RefreshedInXl9'*/: break;\n\t\t\t\t\tcase 'urlstring' /*case 'URLString'*/: break;\n\t\t\t\t\tcase 'htmltables' /*case 'HTMLTables'*/: break;\n\t\t\t\t\tcase 'connection' /*case 'Connection'*/: break;\n\t\t\t\t\tcase 'commandtext' /*case 'CommandText'*/: break;\n\t\t\t\t\tcase 'refreshinfo' /*case 'RefreshInfo'*/: break;\n\t\t\t\t\tcase 'notitles' /*case 'NoTitles'*/: break;\n\t\t\t\t\tcase 'nextid' /*case 'NextId'*/: break;\n\t\t\t\t\tcase 'columninfo' /*case 'ColumnInfo'*/: break;\n\t\t\t\t\tcase 'overwritecells' /*case 'OverwriteCells'*/: break;\n\t\t\t\t\tcase 'donotpromptforfile' /*case 'DoNotPromptForFile'*/: break;\n\t\t\t\t\tcase 'textwizardsettings' /*case 'TextWizardSettings'*/: break;\n\t\t\t\t\tcase 'source' /*case 'Source'*/: break;\n\t\t\t\t\tcase 'number' /*case 'Number'*/: break;\n\t\t\t\t\tcase 'decimal' /*case 'Decimal'*/: break;\n\t\t\t\t\tcase 'thousandseparator' /*case 'ThousandSeparator'*/: break;\n\t\t\t\t\tcase 'trailingminusnumbers' /*case 'TrailingMinusNumbers'*/: break;\n\t\t\t\t\tcase 'formatsettings' /*case 'FormatSettings'*/: break;\n\t\t\t\t\tcase 'fieldtype' /*case 'FieldType'*/: break;\n\t\t\t\t\tcase 'delimiters' /*case 'Delimiters'*/: break;\n\t\t\t\t\tcase 'tab' /*case 'Tab'*/: break;\n\t\t\t\t\tcase 'comma' /*case 'Comma'*/: break;\n\t\t\t\t\tcase 'autoformatname' /*case 'AutoFormatName'*/: break;\n\t\t\t\t\tcase 'versionlastedit' /*case 'VersionLastEdit'*/: break;\n\t\t\t\t\tcase 'versionlastrefresh' /*case 'VersionLastRefresh'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'datavalidation' /*case 'DataValidation'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\tcase 'sorting' /*case 'Sorting'*/:\n\t\t\t\tcase 'conditionalformatting' /*case 'ConditionalFormatting'*/:\n\t\t\t\tswitch(Rn[3]) {\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'type' /*case 'Type'*/: break;\n\t\t\t\t\tcase 'min' /*case 'Min'*/: break;\n\t\t\t\t\tcase 'max' /*case 'Max'*/: break;\n\t\t\t\t\tcase 'sort' /*case 'Sort'*/: break;\n\t\t\t\t\tcase 'descending' /*case 'Descending'*/: break;\n\t\t\t\t\tcase 'order' /*case 'Order'*/: break;\n\t\t\t\t\tcase 'casesensitive' /*case 'CaseSensitive'*/: break;\n\t\t\t\t\tcase 'value' /*case 'Value'*/: break;\n\t\t\t\t\tcase 'errorstyle' /*case 'ErrorStyle'*/: break;\n\t\t\t\t\tcase 'errormessage' /*case 'ErrorMessage'*/: break;\n\t\t\t\t\tcase 'errortitle' /*case 'ErrorTitle'*/: break;\n\t\t\t\t\tcase 'cellrangelist' /*case 'CellRangeList'*/: break;\n\t\t\t\t\tcase 'inputmessage' /*case 'InputMessage'*/: break;\n\t\t\t\t\tcase 'inputtitle' /*case 'InputTitle'*/: break;\n\t\t\t\t\tcase 'combohide' /*case 'ComboHide'*/: break;\n\t\t\t\t\tcase 'inputhide' /*case 'InputHide'*/: break;\n\t\t\t\t\tcase 'condition' /*case 'Condition'*/: break;\n\t\t\t\t\tcase 'qualifier' /*case 'Qualifier'*/: break;\n\t\t\t\t\tcase 'useblank' /*case 'UseBlank'*/: break;\n\t\t\t\t\tcase 'value1' /*case 'Value1'*/: break;\n\t\t\t\t\tcase 'value2' /*case 'Value2'*/: break;\n\t\t\t\t\tcase 'format' /*case 'Format'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* MapInfo (schema) */\n\t\t\t\tcase 'mapinfo' /*case 'MapInfo'*/: case 'schema' /*case 'Schema'*/: case 'data' /*case 'data'*/: switch(Rn[3]) {\n\t\t\t\t\tcase 'map' /*case 'Map'*/: break;\n\t\t\t\t\tcase 'entry' /*case 'Entry'*/: break;\n\t\t\t\t\tcase 'range' /*case 'Range'*/: break;\n\t\t\t\t\tcase 'xpath' /*case 'XPath'*/: break;\n\t\t\t\t\tcase 'field' /*case 'Field'*/: break;\n\t\t\t\t\tcase 'xsdtype' /*case 'XSDType'*/: break;\n\t\t\t\t\tcase 'filteron' /*case 'FilterOn'*/: break;\n\t\t\t\t\tcase 'aggregate' /*case 'Aggregate'*/: break;\n\t\t\t\t\tcase 'elementtype' /*case 'ElementType'*/: break;\n\t\t\t\t\tcase 'attributetype' /*case 'AttributeType'*/: break;\n\t\t\t\t/* These are from xsd (XML Schema Definition) */\n\t\t\t\t\tcase 'schema' /*case 'schema'*/:\n\t\t\t\t\tcase 'element' /*case 'element'*/:\n\t\t\t\t\tcase 'complextype' /*case 'complexType'*/:\n\t\t\t\t\tcase 'datatype' /*case 'datatype'*/:\n\t\t\t\t\tcase 'all' /*case 'all'*/:\n\t\t\t\t\tcase 'attribute' /*case 'attribute'*/:\n\t\t\t\t\tcase 'extends' /*case 'extends'*/: break;\n\n\t\t\t\t\tcase 'row' /*case 'row'*/: break;\n\t\t\t\t\tdefault: seen = false;\n\t\t\t\t} break;\n\n\t\t\t\t/* SmartTags (can be anything) */\n\t\t\t\tcase 'smarttags' /*case 'SmartTags'*/: break;\n\n\t\t\t\tdefault: seen = false; break;\n\t\t\t}\n\t\t\tif(seen) break;\n\t\t\t/* CustomDocumentProperties */\n\t\t\tif(Rn[3].match(/!\\[CDATA/)) break;\n\t\t\tif(!state[state.length-1][1]) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t\t\tif(state[state.length-1][0]===/*'CustomDocumentProperties'*/'customdocumentproperties') {\n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") xlml_set_custprop(Custprops, raw_Rn3, cp, str.slice(pidx, Rn.index));\n\t\t\t\telse { cp = Rn; pidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(opts.WTF) throw 'Unrecognized tag: ' + Rn[3] + \"|\" + state.join(\"|\");\n\t}\n\tvar out = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) out.Sheets = sheets;\n\tout.SheetNames = sheetnames;\n\tout.Workbook = Workbook;\n\tout.SSF = dup(table_fmt);\n\tout.Props = Props;\n\tout.Custprops = Custprops;\n\tout.bookType = \"xlml\";\n\treturn out;\n}\n\nfunction parse_xlml(data/*:RawBytes|string*/, opts)/*:Workbook*/ {\n\tfix_read_opts(opts=opts||{});\n\tswitch(opts.type||\"base64\") {\n\t\tcase \"base64\": return parse_xlml_xml(Base64_decode(data), opts);\n\t\tcase \"binary\": case \"buffer\": case \"file\": return parse_xlml_xml(data, opts);\n\t\tcase \"array\": return parse_xlml_xml(a2s(data), opts);\n\t}\n\t/*:: throw new Error(\"unsupported type \" + opts.type); */\n}\n\n/* TODO */\nfunction write_props_xlml(wb/*:Workbook*/, opts)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\t/* DocumentProperties */\n\tif(wb.Props) o.push(xlml_write_docprops(wb.Props, opts));\n\t/* CustomDocumentProperties */\n\tif(wb.Custprops) o.push(xlml_write_custprops(wb.Props, wb.Custprops, opts));\n\treturn o.join(\"\");\n}\n/* TODO */\nfunction write_wb_xlml(wb/*::, opts*/)/*:string*/ {\n\t/* OfficeDocumentSettings */\n\t/* ExcelWorkbook */\n\tif((((wb||{}).Workbook||{}).WBProps||{}).date1904) return '';\n\treturn \"\";\n}\n/* TODO */\nfunction write_sty_xlml(wb, opts)/*:string*/ {\n\t/* Styles */\n\tvar styles/*:Array*/ = [''];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name.slice(0,6) == \"_xlnm.\" ? n.Name.slice(6) : n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\t/* TODO: test multiple comments */\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\tvar p = {};\n\t\tif(c.a) p[\"ss:Author\"] = c.a;\n\t\tif(!comments.hidden) p[\"ss:ShowAlways\"] = \"1\";\n\t\treturn writextag(\"Comment\", d, p);\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': {\n\t\t\tif(!isFinite(cell.v)) {\n\t\t\t\tt = 'Error'; p = BErr[isNaN(cell.v) ? 0x24 : 0x07];\n\t\t\t} else {\n\t\t\t\tt = 'Number'; p = String(cell.v);\n\t\t\t}\n\t\t} break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = ws[\"!data\"] != null;\n\tvar addr = {r:0,c:0};\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\taddr.r = R;\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\taddr.c = C;\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar ref = encode_col(C) + encode_row(R), cell = dense ? (ws[\"!data\"][R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"
\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\tif(ws && ws[\"!autofilter\"]) o.push('');\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(write_names_xlml(wb, opts));\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002F /* FilePass */: case 0x0195 /* FileLock */: case 0x00E1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF && p.z == null) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v + (date1904 ? 1462 : 0)); if(_d) { p.t = 'd'; p.v = new Date(Date.UTC(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u)); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ({}/*:any*/); if(options.dense) out[\"!data\"] = [];\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar biff4w = false;\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(!biff4w && file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[\"!data\"][cell.r]) out[\"!data\"][cell.r] = [];\n\t\t\t\tout[\"!data\"][cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(RecordType) == -1 /* BOF */) break;\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* BOF */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x0043: /* BIFF2XF */ case 0x0243: /* BIFF3XF */ case 0x0443: /* BIFF4XF */\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[opts.biff == 4 ? opts.snames.length : val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth ? !biff4w : biff4w) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ({}/*:any*/); if(options.dense) out[\"!data\"] = [];\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t0x0009: 2,\n\t\t\t\t\t\t0x0209: 3,\n\t\t\t\t\t\t0x0409: 4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t0x0200: 2,\n\t\t\t\t\t\t0x0300: 3,\n\t\t\t\t\t\t0x0400: 4,\n\t\t\t\t\t\t0x0500: 5,\n\t\t\t\t\t\t0x0600: 8,\n\t\t\t\t\t\t0x0002: 2,\n\t\t\t\t\t\t0x0007: 2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 4 && val.dt & 0x100) biff4w = true;\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++ && !biff4w) break;\n\t\t\t\t\tout = ({}/*:any*/); if(options.dense) out[\"!data\"] = [];\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\t\t\t\t\tif(opts.biff == 4 && biff4w) {\n\t\t\t\t\t\tcur_sheet = (Directory[opts.snames.indexOf(cur_sheet)+1] || {name:\"\"}).name;\n\t\t\t\t\t} else if(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[\"!data\"][val.r]||[])[val.c]: out[encode_col(val.c) + encode_row(val.r)]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[\"!data\"][_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[\"!data\"][val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[\"!data\"][last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = (temp_val.XF && temp_val.XF.numFmtId) && BIFF2FmtTable[temp_val.XF.numFmtId] || BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff >= 3 && opts.biff <= 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF__load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF__load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF__load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[\"!data\"][rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[\"!data\"][rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\t/* TODO: comment continuation (row == -1 / 0xFFFF) */\n\t\t\t\t\tcc = options.dense ? (out[\"!data\"][val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[\"!data\"][val[0].r]) out[\"!data\"][val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[\"!data\"][val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) cmnt = {a:\"SheetJ5\", t:val[1]};\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\t\tif(val[3] != null && !(val[3] & 0x02)) cc.c.hidden = true;\n\t\t\t\t\t}\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t0x0000: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t0x0001: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t0x0002: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t0x0003: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t0x0004: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t0x0005: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t0x0006: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t0x0007: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t0x0008: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t0x0009: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t0x000A: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t0x000B: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t0x000C: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t0x000D: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t0x000E: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t0x000F: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t0x0010: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t0x0011: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t0x0012: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t0x0013: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t0x0014: { /* n:\"BrtPCDIMissing\" */ },\n\t0x0015: { /* n:\"BrtPCDINumber\" */ },\n\t0x0016: { /* n:\"BrtPCDIBoolean\" */ },\n\t0x0017: { /* n:\"BrtPCDIError\" */ },\n\t0x0018: { /* n:\"BrtPCDIString\" */ },\n\t0x0019: { /* n:\"BrtPCDIDatetime\" */ },\n\t0x001A: { /* n:\"BrtPCDIIndex\" */ },\n\t0x001B: { /* n:\"BrtPCDIAMissing\" */ },\n\t0x001C: { /* n:\"BrtPCDIANumber\" */ },\n\t0x001D: { /* n:\"BrtPCDIABoolean\" */ },\n\t0x001E: { /* n:\"BrtPCDIAError\" */ },\n\t0x001F: { /* n:\"BrtPCDIAString\" */ },\n\t0x0020: { /* n:\"BrtPCDIADatetime\" */ },\n\t0x0021: { /* n:\"BrtPCRRecord\" */ },\n\t0x0022: { /* n:\"BrtPCRRecordDt\" */ },\n\t0x0023: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t0x0024: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t0x0025: { /* n:\"BrtACBegin\", */ T:1 },\n\t0x0026: { /* n:\"BrtACEnd\", */ T:-1 },\n\t0x0027: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t0x0028: { /* n:\"BrtIndexRowBlock\" */ },\n\t0x002A: { /* n:\"BrtIndexBlock\" */ },\n\t0x002B: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t0x002C: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t0x002D: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t0x002E: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t0x002F: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t0x0030: { /* n:\"BrtStyle\" */ },\n\t0x0031: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t0x0032: { /* n:\"BrtValueMeta\" */ },\n\t0x0033: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t0x0034: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t0x0035: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t0x0036: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t0x0037: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t0x0038: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t0x0039: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t0x003A: { /* n:\"BrtMdxMbrIstr\" */ },\n\t0x003B: { /* n:\"BrtStr\" */ },\n\t0x003C: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t0x003E: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t0x003F: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t0x0040: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t0x0041: { /* n:\"BrtSxvcellNum\" */ },\n\t0x0042: { /* n:\"BrtSxvcellStr\" */ },\n\t0x0043: { /* n:\"BrtSxvcellBool\" */ },\n\t0x0044: { /* n:\"BrtSxvcellErr\" */ },\n\t0x0045: { /* n:\"BrtSxvcellDate\" */ },\n\t0x0046: { /* n:\"BrtSxvcellNil\" */ },\n\t0x0080: { /* n:\"BrtFileVersion\" */ },\n\t0x0081: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t0x0082: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t0x0083: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t0x0084: { /* n:\"BrtEndBook\", */ T:-1 },\n\t0x0085: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t0x0086: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t0x0087: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t0x0088: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t0x0089: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t0x008A: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t0x008B: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t0x008C: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t0x008D: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t0x008E: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t0x008F: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t0x0090: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t0x0091: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t0x0092: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t0x0093: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t0x0094: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t0x0097: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t0x0098: { /* n:\"BrtSel\" */ },\n\t0x0099: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t0x009A: { /* n:\"BrtWbFactoid\" */ },\n\t0x009B: { /* n:\"BrtFileRecover\" */ },\n\t0x009C: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t0x009D: { /* n:\"BrtCalcProp\" */ },\n\t0x009E: { /* n:\"BrtBookView\" */ },\n\t0x009F: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t0x00A0: { /* n:\"BrtEndSst\", */ T:-1 },\n\t0x00A1: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t0x00A2: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t0x00A3: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t0x00A4: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t0x00A5: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t0x00A6: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t0x00A7: { /* n:\"BrtFilter\" */ },\n\t0x00A8: { /* n:\"BrtColorFilter\" */ },\n\t0x00A9: { /* n:\"BrtIconFilter\" */ },\n\t0x00AA: { /* n:\"BrtTop10Filter\" */ },\n\t0x00AB: { /* n:\"BrtDynamicFilter\" */ },\n\t0x00AC: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t0x00AD: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t0x00AE: { /* n:\"BrtCustomFilter\" */ },\n\t0x00AF: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t0x00B0: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t0x00B1: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t0x00B2: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t0x00B3: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t0x00B4: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t0x00B5: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t0x00B6: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t0x00B7: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t0x00B8: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t0x00B9: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t0x00BA: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t0x00BB: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t0x00BC: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t0x00BD: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t0x00BE: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t0x00BF: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t0x00C0: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t0x00C1: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t0x00C2: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t0x00C3: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t0x00C4: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t0x00C5: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t0x00C6: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t0x00C7: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t0x00C8: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t0x00C9: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t0x00CA: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t0x00CB: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t0x00CC: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t0x00CD: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t0x00CE: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t0x00CF: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t0x00D0: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t0x00D1: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t0x00D2: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t0x00D3: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t0x00D4: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t0x00D5: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t0x00D6: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t0x00D7: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t0x00D8: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t0x00D9: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t0x00DA: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t0x00DB: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t0x00DC: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t0x00DD: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t0x00DE: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t0x00DF: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t0x00E0: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t0x00E1: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t0x00E2: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t0x00E3: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t0x00E4: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t0x00E5: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t0x00E6: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t0x00E7: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t0x00E8: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t0x00E9: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t0x00EA: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t0x00EB: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t0x00EC: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t0x00ED: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t0x00EE: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t0x00EF: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t0x00F0: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t0x00F1: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t0x00F2: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t0x00F3: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t0x00F4: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t0x00F5: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t0x00F6: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t0x00F7: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t0x00F8: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t0x00F9: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t0x00FA: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t0x00FB: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t0x00FC: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t0x00FD: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t0x00FE: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t0x00FF: { /* n:\"BrtBeginPName\", */ T:1 },\n\t0x0100: { /* n:\"BrtEndPName\", */ T:-1 },\n\t0x0101: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t0x0102: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t0x0103: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t0x0104: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t0x0105: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t0x0106: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t0x0107: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t0x0108: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t0x0109: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t0x010A: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t0x010B: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t0x010C: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t0x010D: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t0x010E: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t0x010F: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t0x0110: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t0x0111: { /* n:\"BrtBeginDims\", */ T:1 },\n\t0x0112: { /* n:\"BrtEndDims\", */ T:-1 },\n\t0x0113: { /* n:\"BrtBeginDim\", */ T:1 },\n\t0x0114: { /* n:\"BrtEndDim\", */ T:-1 },\n\t0x0115: { /* n:\"BrtIndexPartEnd\" */ },\n\t0x0116: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t0x0117: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t0x0118: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t0x0119: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t0x011A: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t0x011B: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t0x011C: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t0x011D: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t0x011E: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t0x011F: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t0x0120: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t0x0121: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t0x0122: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t0x0123: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t0x0124: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t0x0125: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t0x0126: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t0x0127: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t0x0128: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t0x0129: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t0x012A: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t0x012B: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t0x012C: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t0x012D: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t0x012E: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t0x012F: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t0x0130: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t0x0131: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t0x0132: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t0x0133: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t0x0134: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t0x0135: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t0x0136: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t0x0137: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t0x0138: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t0x0139: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t0x013A: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t0x013B: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t0x013C: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t0x013D: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t0x013E: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t0x013F: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t0x0140: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t0x0141: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t0x0142: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t0x0143: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t0x0144: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t0x0145: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t0x0146: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t0x0147: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t0x0148: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t0x0149: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t0x014A: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t0x014B: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t0x014C: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t0x014D: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t0x014E: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t0x014F: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t0x0150: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t0x0151: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t0x0152: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t0x0153: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t0x0154: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t0x0155: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t0x0156: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t0x0157: { /* n:\"BrtBeginList\", */ T:1 },\n\t0x0158: { /* n:\"BrtEndList\", */ T:-1 },\n\t0x0159: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t0x015A: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t0x015B: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t0x015C: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t0x015D: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t0x015E: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t0x015F: { /* n:\"BrtListCCFmla\" */ },\n\t0x0160: { /* n:\"BrtListTrFmla\" */ },\n\t0x0161: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t0x0162: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t0x0163: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t0x0165: { /* n:\"BrtSupSelf\" */ },\n\t0x0166: { /* n:\"BrtSupSame\" */ },\n\t0x0167: { /* n:\"BrtSupTabs\" */ },\n\t0x0168: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t0x0169: { /* n:\"BrtPlaceholderName\" */ },\n\t0x016A: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t0x016B: { /* n:\"BrtExternTableStart\" */ },\n\t0x016C: { /* n:\"BrtExternTableEnd\" */ },\n\t0x016E: { /* n:\"BrtExternRowHdr\" */ },\n\t0x016F: { /* n:\"BrtExternCellBlank\" */ },\n\t0x0170: { /* n:\"BrtExternCellReal\" */ },\n\t0x0171: { /* n:\"BrtExternCellBool\" */ },\n\t0x0172: { /* n:\"BrtExternCellError\" */ },\n\t0x0173: { /* n:\"BrtExternCellString\" */ },\n\t0x0174: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t0x0175: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t0x0176: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t0x0177: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t0x0178: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t0x0179: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t0x017A: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t0x017B: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t0x017C: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t0x017D: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t0x017E: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t0x017F: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t0x0180: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t0x0181: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t0x0182: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t0x0183: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t0x0184: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t0x0185: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t0x0186: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t0x0187: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t0x0188: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t0x0189: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t0x018A: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t0x018B: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t0x018C: { /* n:\"BrtBrk\" */ },\n\t0x018D: { /* n:\"BrtUserBookView\" */ },\n\t0x018E: { /* n:\"BrtInfo\" */ },\n\t0x018F: { /* n:\"BrtCUsr\" */ },\n\t0x0190: { /* n:\"BrtUsr\" */ },\n\t0x0191: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t0x0193: { /* n:\"BrtEOF\" */ },\n\t0x0194: { /* n:\"BrtUCR\" */ },\n\t0x0195: { /* n:\"BrtRRInsDel\" */ },\n\t0x0196: { /* n:\"BrtRREndInsDel\" */ },\n\t0x0197: { /* n:\"BrtRRMove\" */ },\n\t0x0198: { /* n:\"BrtRREndMove\" */ },\n\t0x0199: { /* n:\"BrtRRChgCell\" */ },\n\t0x019A: { /* n:\"BrtRREndChgCell\" */ },\n\t0x019B: { /* n:\"BrtRRHeader\" */ },\n\t0x019C: { /* n:\"BrtRRUserView\" */ },\n\t0x019D: { /* n:\"BrtRRRenSheet\" */ },\n\t0x019E: { /* n:\"BrtRRInsertSh\" */ },\n\t0x019F: { /* n:\"BrtRRDefName\" */ },\n\t0x01A0: { /* n:\"BrtRRNote\" */ },\n\t0x01A1: { /* n:\"BrtRRConflict\" */ },\n\t0x01A2: { /* n:\"BrtRRTQSIF\" */ },\n\t0x01A3: { /* n:\"BrtRRFormat\" */ },\n\t0x01A4: { /* n:\"BrtRREndFormat\" */ },\n\t0x01A5: { /* n:\"BrtRRAutoFmt\" */ },\n\t0x01A6: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t0x01A7: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t0x01A8: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t0x01A9: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t0x01AA: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t0x01AB: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t0x01AC: { /* n:\"BrtTable\" */ },\n\t0x01AD: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t0x01AE: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t0x01AF: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t0x01B0: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t0x01B1: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t0x01B2: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t0x01B3: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t0x01B4: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t0x01B5: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t0x01B6: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t0x01B7: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t0x01B8: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t0x01B9: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t0x01BA: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t0x01BB: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t0x01BC: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t0x01BD: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t0x01BE: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t0x01BF: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t0x01C0: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t0x01C1: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t0x01C2: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t0x01C3: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t0x01C4: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t0x01C5: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t0x01C6: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t0x01C7: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t0x01C8: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t0x01C9: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t0x01CA: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t0x01CB: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t0x01CC: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t0x01CD: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t0x01CE: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t0x01CF: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t0x01D0: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t0x01D1: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t0x01D2: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t0x01D3: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t0x01D4: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t0x01D5: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t0x01D6: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t0x01D7: { /* n:\"BrtCFVO\" */ },\n\t0x01D8: { /* n:\"BrtExternValueMeta\" */ },\n\t0x01D9: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t0x01DA: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t0x01DB: { /* n:\"BrtIndexedColor\" */ },\n\t0x01DC: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t0x01DD: { /* n:\"BrtPrintOptions\" */ },\n\t0x01DE: { /* n:\"BrtPageSetup\" */ },\n\t0x01DF: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t0x01E0: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t0x01E1: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t0x01E2: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t0x01E3: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t0x01E4: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t0x01E5: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t0x01E6: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t0x01E7: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t0x01E8: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t0x01E9: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t0x01EA: { /* n:\"BrtBeginMG\", */ T:1 },\n\t0x01EB: { /* n:\"BrtEndMG\", */ T:-1 },\n\t0x01EC: { /* n:\"BrtBeginMap\", */ T:1 },\n\t0x01ED: { /* n:\"BrtEndMap\", */ T:-1 },\n\t0x01EE: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t0x01EF: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t0x01F0: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t0x01F1: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t0x01F2: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t0x01F3: { /* n:\"BrtDRef\" */ },\n\t0x01F4: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t0x01F5: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t0x01F6: { /* n:\"BrtBeginSct\", */ T:1 },\n\t0x01F7: { /* n:\"BrtEndSct\", */ T:-1 },\n\t0x01F8: { /* n:\"BrtSlc\" */ },\n\t0x01F9: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t0x01FA: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t0x01FB: { /* n:\"BrtDXF\" */ },\n\t0x01FC: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t0x01FD: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t0x01FE: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t0x01FF: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t0x0200: { /* n:\"BrtTableStyleElement\" */ },\n\t0x0201: { /* n:\"BrtTableStyleClient\" */ },\n\t0x0202: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t0x0203: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t0x0204: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t0x0205: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t0x0206: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t0x0207: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t0x0208: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t0x0209: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t0x020A: { /* n:\"BrtVolSubtopic\" */ },\n\t0x020B: { /* n:\"BrtVolRef\" */ },\n\t0x020C: { /* n:\"BrtVolNum\" */ },\n\t0x020D: { /* n:\"BrtVolErr\" */ },\n\t0x020E: { /* n:\"BrtVolStr\" */ },\n\t0x020F: { /* n:\"BrtVolBool\" */ },\n\t0x0210: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t0x0211: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t0x0212: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t0x0213: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t0x0214: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t0x0215: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t0x0216: { /* n:\"BrtBookProtection\" */ },\n\t0x0217: { /* n:\"BrtSheetProtection\" */ },\n\t0x0218: { /* n:\"BrtRangeProtection\" */ },\n\t0x0219: { /* n:\"BrtPhoneticInfo\" */ },\n\t0x021A: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t0x021B: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t0x021C: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t0x021D: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t0x021E: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t0x0224: { /* n:\"BrtFileSharing\" */ },\n\t0x0225: { /* n:\"BrtOleSize\" */ },\n\t0x0226: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t0x0227: { /* n:\"BrtLegacyDrawing\", */ f:parse_XLNullableWideString },\n\t0x0228: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t0x0229: { /* n:\"BrtWebOpt\" */ },\n\t0x022A: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t0x022B: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t0x022C: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t0x022D: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t0x022E: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t0x022F: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t0x0230: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t0x0231: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t0x0232: { /* n:\"BrtBkHim\" */ },\n\t0x0234: { /* n:\"BrtColor\" */ },\n\t0x0235: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t0x0236: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t0x0239: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t0x023A: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t0x023C: { /* n:\"BrtMRUColor\" */ },\n\t0x023D: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t0x023E: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t0x0241: { /* n:\"BrtSupNameStart\" */ },\n\t0x0242: { /* n:\"BrtSupNameValueStart\" */ },\n\t0x0243: { /* n:\"BrtSupNameValueEnd\" */ },\n\t0x0244: { /* n:\"BrtSupNameNum\" */ },\n\t0x0245: { /* n:\"BrtSupNameErr\" */ },\n\t0x0246: { /* n:\"BrtSupNameSt\" */ },\n\t0x0247: { /* n:\"BrtSupNameNil\" */ },\n\t0x0248: { /* n:\"BrtSupNameBool\" */ },\n\t0x0249: { /* n:\"BrtSupNameFmla\" */ },\n\t0x024A: { /* n:\"BrtSupNameBits\" */ },\n\t0x024B: { /* n:\"BrtSupNameEnd\" */ },\n\t0x024C: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t0x024D: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t0x024E: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t0x024F: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t0x0250: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t0x0251: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t0x0252: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t0x0253: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t0x0254: { /* n:\"BrtSmartTagType\" */ },\n\t0x0255: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t0x0256: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t0x0257: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t0x0258: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t0x0259: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t0x025A: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t0x025B: { /* n:\"BrtBeginFills\", */ T:1 },\n\t0x025C: { /* n:\"BrtEndFills\", */ T:-1 },\n\t0x025D: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t0x025E: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t0x025F: { /* n:\"BrtCellWatch\" */ },\n\t0x0260: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t0x0261: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t0x0262: { /* n:\"BrtCrashRecErr\" */ },\n\t0x0263: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t0x0264: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t0x0265: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t0x0266: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t0x0267: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t0x0268: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t0x0269: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t0x026A: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t0x026B: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t0x026C: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t0x0271: { /* n:\"BrtBigName\" */ },\n\t0x0272: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t0x0273: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t0x0274: { /* n:\"BrtBeginComments\", */ T:1 },\n\t0x0275: { /* n:\"BrtEndComments\", */ T:-1 },\n\t0x0276: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t0x0277: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t0x0278: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t0x0279: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t0x027A: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t0x027B: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t0x027C: { /* n:\"BrtEndComment\", */ T:-1 },\n\t0x027D: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t0x027E: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t0x027F: { /* n:\"BrtOleObject\" */ },\n\t0x0280: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t0x0281: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t0x0282: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t0x0283: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t0x0284: { /* n:\"BrtActiveX\" */ },\n\t0x0285: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t0x0286: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t0x0288: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t0x0289: { /* n:\"BrtCellIgnoreEC\" */ },\n\t0x028A: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t0x028B: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t0x028C: { /* n:\"BrtCsPageSetup\" */ },\n\t0x028D: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t0x028E: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t0x028F: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t0x0290: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t0x0291: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t0x0292: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t0x0293: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t0x0294: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t0x0295: { /* n:\"BrtListPart\" */ },\n\t0x0296: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t0x0297: { /* n:\"BrtSheetCalcProp\" */ },\n\t0x0298: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t0x0299: { /* n:\"BrtFnGroup\" */ },\n\t0x029A: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t0x029B: { /* n:\"BrtSupAddin\" */ },\n\t0x029C: { /* n:\"BrtSXTDMPOrder\" */ },\n\t0x029D: { /* n:\"BrtCsProtection\" */ },\n\t0x029F: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t0x02A0: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t0x02A1: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t0x02A2: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t0x02A3: { /* n:\"BrtRRSortItem\" */ },\n\t0x02A4: { /* n:\"BrtFileSharingIso\" */ },\n\t0x02A5: { /* n:\"BrtBookProtectionIso\" */ },\n\t0x02A6: { /* n:\"BrtSheetProtectionIso\" */ },\n\t0x02A7: { /* n:\"BrtCsProtectionIso\" */ },\n\t0x02A8: { /* n:\"BrtRangeProtectionIso\" */ },\n\t0x02A9: { /* n:\"BrtDValList\" */ },\n\t0x0400: { /* n:\"BrtRwDescent\" */ },\n\t0x0401: { /* n:\"BrtKnownFonts\" */ },\n\t0x0402: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t0x0403: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t0x0404: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t0x0405: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t0x0406: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t0x0407: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t0x0408: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t0x0409: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t0x040A: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t0x040B: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t0x040C: { /* n:\"BrtNameExt\" */ },\n\t0x040D: { /* n:\"BrtPCDH14\" */ },\n\t0x040E: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t0x040F: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t0x0410: { /* n:\"BrtSXTH14\" */ },\n\t0x0411: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t0x0412: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t0x0413: { /* n:\"BrtSparkline\" */ },\n\t0x0414: { /* n:\"BrtSXDI14\" */ },\n\t0x0415: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t0x0416: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t0x0417: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t0x0418: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t0x0419: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t0x041A: { /* n:\"BrtCFVO14\" */ },\n\t0x041B: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t0x041C: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t0x041D: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t0x041E: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t0x041F: { /* n:\"BrtColor14\" */ },\n\t0x0420: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t0x0421: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t0x0422: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t0x0423: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t0x0425: { /* n:\"BrtSXVD14\" */ },\n\t0x0426: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t0x0427: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t0x0428: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t0x0429: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t0x042A: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t0x042B: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t0x042C: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t0x042D: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t0x042E: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t0x042F: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t0x0430: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t0x0431: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t0x0433: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t0x0434: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t0x0435: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t0x0436: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t0x0437: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t0x0438: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t0x0439: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t0x043A: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t0x043B: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t0x043C: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t0x043D: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t0x043E: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t0x043F: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t0x0440: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t0x0441: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t0x0442: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t0x0443: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t0x0444: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t0x0445: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t0x0446: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t0x0447: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t0x0448: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t0x0449: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t0x044A: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t0x044B: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t0x044C: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t0x044D: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t0x044E: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t0x044F: { /* n:\"BrtRangeProtection14\" */ },\n\t0x0450: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t0x0451: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t0x0457: { /* n:\"BrtList14\" */ },\n\t0x0458: { /* n:\"BrtCFIcon\" */ },\n\t0x0459: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t0x045A: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t0x045B: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t0x045C: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t0x045D: { /* n:\"BrtWbProp14\" */ },\n\t0x045E: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t0x045F: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t0x0460: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t0x0461: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t0x0462: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t0x0463: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t0x0464: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t0x0465: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t0x0466: { /* n:\"BrtSXTupleItems\" */ },\n\t0x0468: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t0x0469: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t0x046A: { /* n:\"BrtSlicerStyleElement\" */ },\n\t0x046B: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t0x046C: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t0x046D: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t0x046E: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t0x046F: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t0x0470: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t0x0471: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t0x0472: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t0x0473: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t0x0474: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t0x0475: { /* n:\"BrtPCDField14\" */ },\n\t0x0476: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t0x0477: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t0x0478: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t0x0479: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t0x047A: { /* n:\"BrtCFRuleExt\" */ },\n\t0x047B: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t0x047C: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t0x047D: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t0x047E: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t0x0480: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t0x0481: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t0x0482: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t0x0483: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t0x0484: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t0x0485: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t0x0486: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t0x0487: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t0x0488: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t0x0489: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t0x048A: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t0x048B: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t0x048C: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t0x048D: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t0x048E: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t0x048F: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t0x0490: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t0x0491: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t0x0492: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t0x0493: { /* n:\"BrtDxf14\" */ },\n\t0x0494: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t0x0495: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t0x0499: { /* n:\"BrtFilter14\" */ },\n\t0x049A: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t0x049C: { /* n:\"BrtCustomFilter14\" */ },\n\t0x049D: { /* n:\"BrtIconFilter14\" */ },\n\t0x049E: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t0x0800: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t0x0801: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t0x0802: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t0x0803: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t0x0804: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t0x0805: { /* n:\"BrtPivotTableRef\" */ },\n\t0x0806: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t0x0807: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t0x0808: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t0x0809: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t0x080A: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t0x080C: { /* n:\"BrtPcdCalcMem15\" */ },\n\t0x0813: { /* n:\"BrtQsi15\" */ },\n\t0x0814: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t0x0815: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t0x0816: { /* n:\"BrtWebExtension\" */ },\n\t0x0817: { /* n:\"BrtAbsPath15\" */ },\n\t0x0818: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t0x0819: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t0x081B: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t0x081C: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t0x081D: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t0x081E: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t0x081F: { /* n:\"BrtSxFilter15\" */ },\n\t0x0820: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t0x0821: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t0x0822: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t0x0823: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t0x0824: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t0x0825: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t0x0826: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t0x0827: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t0x0828: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t0x0829: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t0x082A: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t0x082B: { /* n:\"BrtWorkBookPr15\" */ },\n\t0x082C: { /* n:\"BrtPCDH15\" */ },\n\t0x082D: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t0x082E: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t0x082F: { /* n:\"BrtTimelineStyleElement\" */ },\n\t0x0830: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t0x0831: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t0x0832: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t0x0833: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t0x0834: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t0x0835: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t0x0836: { /* n:\"BrtDxf15\" */ },\n\t0x0837: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t0x0838: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t0x0839: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t0x083A: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t0x083B: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t0x083C: { /* n:\"BrtItemUniqueName\" */ },\n\t0x083D: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t0x083E: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t0x083F: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t0x0840: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t0x0841: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t0x0842: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t0x0843: { /* n:\"BrtTextPr15\" */ },\n\t0x0844: { /* n:\"BrtRangePr15\" */ },\n\t0x0845: { /* n:\"BrtDbCommand15\" */ },\n\t0x0846: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t0x0847: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t0x0848: { /* n:\"BrtDbTable15\" */ },\n\t0x0849: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t0x084A: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t0x084B: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t0x084C: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t0x084D: { /* n:\"BrtModelTable\" */ },\n\t0x084E: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t0x084F: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t0x0850: { /* n:\"BrtModelRelationship\" */ },\n\t0x0851: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t0x0852: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t0x0853: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t0x0854: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t0x0855: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t0x0856: { /* n:\"BrtFieldListActiveItem\" */ },\n\t0x0857: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t0x0858: { /* n:\"BrtSXDI15\" */ },\n\t0x0859: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t0x085A: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t0x085B: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t0x085C: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t0x085D: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t0x0C00: { /* n:\"BrtUid\" */ },\n\t0x0C01: { /* n:\"BrtRevisionPtr\" */ },\n\t0x1000: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t0x1001: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t0x138A: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t0x138B: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t0x13D9: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t0x13DA: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t0x13DB: { /* n:\"BrtRichFilter\" */ },\n\t0x13DC: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t0x13DD: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t0x13DE: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t0x13DF: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t0x13E0: { /* n:\"BrtCustomRichFilter\" */ },\n\t0x13E1: { /* n:\"BrtTop10RichFilter\" */ },\n\t0x13E2: { /* n:\"BrtDynamicRichFilter\" */ },\n\t0x13E4: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t0x13E5: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t0x13E6: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t0x13E7: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t0x13E8: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t0x13E9: { /* n:\"BrtCalcFeature\" */ },\n\t0x13EB: { /* n:\"BrtExternalLinksPr\" */ },\n\t0xFFFF: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t0x0006: { /* n:\"Formula\", */ f:parse_Formula },\n\t0x000a: { /* n:\"EOF\", */ f:parsenoop2 },\n\t0x000c: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t0x000d: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t0x000e: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t0x000f: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t0x0010: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t0x0011: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t0x0012: { /* n:\"Protect\", */ f:parsebool },\n\t0x0013: { /* n:\"Password\", */ f:parseuint16 },\n\t0x0014: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t0x0015: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t0x0017: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t0x0018: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t0x0019: { /* n:\"WinProtect\", */ f:parsebool },\n\t0x001a: { /* n:\"VerticalPageBreaks\", */ },\n\t0x001b: { /* n:\"HorizontalPageBreaks\", */ },\n\t0x001c: { /* n:\"Note\", */ f:parse_Note },\n\t0x001d: { /* n:\"Selection\", */ },\n\t0x0022: { /* n:\"Date1904\", */ f:parsebool },\n\t0x0023: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t0x0026: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t0x0027: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t0x0028: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t0x0029: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t0x002a: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t0x002b: { /* n:\"PrintGrid\", */ f:parsebool },\n\t0x002f: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t0x0031: { /* n:\"Font\", */ f:parse_Font },\n\t0x0033: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t0x003c: { /* n:\"Continue\", */ },\n\t0x003d: { /* n:\"Window1\", */ f:parse_Window1 },\n\t0x0040: { /* n:\"Backup\", */ f:parsebool },\n\t0x0041: { /* n:\"Pane\", */ f:parse_Pane },\n\t0x0042: { /* n:\"CodePage\", */ f:parseuint16 },\n\t0x004d: { /* n:\"Pls\", */ },\n\t0x0050: { /* n:\"DCon\", */ },\n\t0x0051: { /* n:\"DConRef\", */ },\n\t0x0052: { /* n:\"DConName\", */ },\n\t0x0055: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t0x0059: { /* n:\"XCT\", */ },\n\t0x005a: { /* n:\"CRN\", */ },\n\t0x005b: { /* n:\"FileSharing\", */ },\n\t0x005c: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t0x005d: { /* n:\"Obj\", */ f:parse_Obj },\n\t0x005e: { /* n:\"Uncalced\", */ },\n\t0x005f: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t0x0060: { /* n:\"Template\", */ },\n\t0x0061: { /* n:\"Intl\", */ },\n\t0x0063: { /* n:\"ObjProtect\", */ f:parsebool },\n\t0x007d: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t0x0080: { /* n:\"Guts\", */ f:parse_Guts },\n\t0x0081: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t0x0082: { /* n:\"GridSet\", */ f:parseuint16 },\n\t0x0083: { /* n:\"HCenter\", */ f:parsebool },\n\t0x0084: { /* n:\"VCenter\", */ f:parsebool },\n\t0x0085: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t0x0086: { /* n:\"WriteProtect\", */ },\n\t0x008c: { /* n:\"Country\", */ f:parse_Country },\n\t0x008d: { /* n:\"HideObj\", */ f:parseuint16 },\n\t0x0090: { /* n:\"Sort\", */ },\n\t0x0092: { /* n:\"Palette\", */ f:parse_Palette },\n\t0x0097: { /* n:\"Sync\", */ },\n\t0x0098: { /* n:\"LPr\", */ },\n\t0x0099: { /* n:\"DxGCol\", */ },\n\t0x009a: { /* n:\"FnGroupName\", */ },\n\t0x009b: { /* n:\"FilterMode\", */ },\n\t0x009c: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t0x009d: { /* n:\"AutoFilterInfo\", */ },\n\t0x009e: { /* n:\"AutoFilter\", */ },\n\t0x00a0: { /* n:\"Scl\", */ f:parse_Scl },\n\t0x00a1: { /* n:\"Setup\", */ f:parse_Setup },\n\t0x00ae: { /* n:\"ScenMan\", */ },\n\t0x00af: { /* n:\"SCENARIO\", */ },\n\t0x00b0: { /* n:\"SxView\", */ },\n\t0x00b1: { /* n:\"Sxvd\", */ },\n\t0x00b2: { /* n:\"SXVI\", */ },\n\t0x00b4: { /* n:\"SxIvd\", */ },\n\t0x00b5: { /* n:\"SXLI\", */ },\n\t0x00b6: { /* n:\"SXPI\", */ },\n\t0x00b8: { /* n:\"DocRoute\", */ },\n\t0x00b9: { /* n:\"RecipName\", */ },\n\t0x00bd: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t0x00be: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t0x00c1: { /* n:\"Mms\", */ f:parsenoop2 },\n\t0x00c5: { /* n:\"SXDI\", */ },\n\t0x00c6: { /* n:\"SXDB\", */ },\n\t0x00c7: { /* n:\"SXFDB\", */ },\n\t0x00c8: { /* n:\"SXDBB\", */ },\n\t0x00c9: { /* n:\"SXNum\", */ },\n\t0x00ca: { /* n:\"SxBool\", */ f:parsebool },\n\t0x00cb: { /* n:\"SxErr\", */ },\n\t0x00cc: { /* n:\"SXInt\", */ },\n\t0x00cd: { /* n:\"SXString\", */ },\n\t0x00ce: { /* n:\"SXDtr\", */ },\n\t0x00cf: { /* n:\"SxNil\", */ },\n\t0x00d0: { /* n:\"SXTbl\", */ },\n\t0x00d1: { /* n:\"SXTBRGIITM\", */ },\n\t0x00d2: { /* n:\"SxTbpg\", */ },\n\t0x00d3: { /* n:\"ObProj\", */ },\n\t0x00d5: { /* n:\"SXStreamID\", */ },\n\t0x00d7: { /* n:\"DBCell\", */ },\n\t0x00d8: { /* n:\"SXRng\", */ },\n\t0x00d9: { /* n:\"SxIsxoper\", */ },\n\t0x00da: { /* n:\"BookBool\", */ f:parseuint16 },\n\t0x00dc: { /* n:\"DbOrParamQry\", */ },\n\t0x00dd: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t0x00de: { /* n:\"OleObjectSize\", */ },\n\t0x00e0: { /* n:\"XF\", */ f:parse_XF },\n\t0x00e1: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t0x00e2: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t0x00e3: { /* n:\"SXVS\", */ },\n\t0x00e5: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t0x00e9: { /* n:\"BkHim\", */ },\n\t0x00eb: { /* n:\"MsoDrawingGroup\", */ },\n\t0x00ec: { /* n:\"MsoDrawing\", */ },\n\t0x00ed: { /* n:\"MsoDrawingSelection\", */ },\n\t0x00ef: { /* n:\"PhoneticInfo\", */ },\n\t0x00f0: { /* n:\"SxRule\", */ },\n\t0x00f1: { /* n:\"SXEx\", */ },\n\t0x00f2: { /* n:\"SxFilt\", */ },\n\t0x00f4: { /* n:\"SxDXF\", */ },\n\t0x00f5: { /* n:\"SxItm\", */ },\n\t0x00f6: { /* n:\"SxName\", */ },\n\t0x00f7: { /* n:\"SxSelect\", */ },\n\t0x00f8: { /* n:\"SXPair\", */ },\n\t0x00f9: { /* n:\"SxFmla\", */ },\n\t0x00fb: { /* n:\"SxFormat\", */ },\n\t0x00fc: { /* n:\"SST\", */ f:parse_SST },\n\t0x00fd: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t0x00ff: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t0x0100: { /* n:\"SXVDEx\", */ },\n\t0x0103: { /* n:\"SXFormula\", */ },\n\t0x0122: { /* n:\"SXDBEx\", */ },\n\t0x0137: { /* n:\"RRDInsDel\", */ },\n\t0x0138: { /* n:\"RRDHead\", */ },\n\t0x013b: { /* n:\"RRDChgCell\", */ },\n\t0x013d: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t0x013e: { /* n:\"RRDRenSheet\", */ },\n\t0x013f: { /* n:\"RRSort\", */ },\n\t0x0140: { /* n:\"RRDMove\", */ },\n\t0x014a: { /* n:\"RRFormat\", */ },\n\t0x014b: { /* n:\"RRAutoFmt\", */ },\n\t0x014d: { /* n:\"RRInsertSh\", */ },\n\t0x014e: { /* n:\"RRDMoveBegin\", */ },\n\t0x014f: { /* n:\"RRDMoveEnd\", */ },\n\t0x0150: { /* n:\"RRDInsDelBegin\", */ },\n\t0x0151: { /* n:\"RRDInsDelEnd\", */ },\n\t0x0152: { /* n:\"RRDConflict\", */ },\n\t0x0153: { /* n:\"RRDDefName\", */ },\n\t0x0154: { /* n:\"RRDRstEtxp\", */ },\n\t0x015f: { /* n:\"LRng\", */ },\n\t0x0160: { /* n:\"UsesELFs\", */ f:parsebool },\n\t0x0161: { /* n:\"DSF\", */ f:parsenoop2 },\n\t0x0191: { /* n:\"CUsr\", */ },\n\t0x0192: { /* n:\"CbUsr\", */ },\n\t0x0193: { /* n:\"UsrInfo\", */ },\n\t0x0194: { /* n:\"UsrExcl\", */ },\n\t0x0195: { /* n:\"FileLock\", */ },\n\t0x0196: { /* n:\"RRDInfo\", */ },\n\t0x0197: { /* n:\"BCUsrs\", */ },\n\t0x0198: { /* n:\"UsrChk\", */ },\n\t0x01a9: { /* n:\"UserBView\", */ },\n\t0x01aa: { /* n:\"UserSViewBegin\", */ },\n\t0x01ab: { /* n:\"UserSViewEnd\", */ },\n\t0x01ac: { /* n:\"RRDUserView\", */ },\n\t0x01ad: { /* n:\"Qsi\", */ },\n\t0x01ae: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t0x01af: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t0x01b0: { /* n:\"CondFmt\", */ },\n\t0x01b1: { /* n:\"CF\", */ },\n\t0x01b2: { /* n:\"DVal\", */ },\n\t0x01b5: { /* n:\"DConBin\", */ },\n\t0x01b6: { /* n:\"TxO\", */ f:parse_TxO },\n\t0x01b7: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t0x01b8: { /* n:\"HLink\", */ f:parse_HLink },\n\t0x01b9: { /* n:\"Lel\", */ },\n\t0x01ba: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t0x01bb: { /* n:\"SXFDBType\", */ },\n\t0x01bc: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t0x01bd: { /* n:\"ObNoMacros\", */ },\n\t0x01be: { /* n:\"Dv\", */ },\n\t0x01c0: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t0x01c1: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t0x01c2: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t0x0200: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t0x0201: { /* n:\"Blank\", */ f:parse_Blank },\n\t0x0203: { /* n:\"Number\", */ f:parse_Number },\n\t0x0204: { /* n:\"Label\", */ f:parse_Label },\n\t0x0205: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t0x0207: { /* n:\"String\", */ f:parse_String },\n\t0x0208: { /* n:\"Row\", */ f:parse_Row },\n\t0x020b: { /* n:\"Index\", */ },\n\t0x0221: { /* n:\"Array\", */ f:parse_Array },\n\t0x0225: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t0x0236: { /* n:\"Table\", */ },\n\t0x023e: { /* n:\"Window2\", */ f:parse_Window2 },\n\t0x027e: { /* n:\"RK\", */ f:parse_RK },\n\t0x0293: { /* n:\"Style\", */ },\n\t0x0418: { /* n:\"BigName\", */ },\n\t0x041e: { /* n:\"Format\", */ f:parse_Format },\n\t0x043c: { /* n:\"ContinueBigName\", */ },\n\t0x04bc: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t0x0800: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t0x0801: { /* n:\"WebPub\", */ },\n\t0x0802: { /* n:\"QsiSXTag\", */ },\n\t0x0803: { /* n:\"DBQueryExt\", */ },\n\t0x0804: { /* n:\"ExtString\", */ },\n\t0x0805: { /* n:\"TxtQry\", */ },\n\t0x0806: { /* n:\"Qsir\", */ },\n\t0x0807: { /* n:\"Qsif\", */ },\n\t0x0808: { /* n:\"RRDTQSIF\", */ },\n\t0x0809: { /* n:\"BOF\", */ f:parse_BOF },\n\t0x080a: { /* n:\"OleDbConn\", */ },\n\t0x080b: { /* n:\"WOpt\", */ },\n\t0x080c: { /* n:\"SXViewEx\", */ },\n\t0x080d: { /* n:\"SXTH\", */ },\n\t0x080e: { /* n:\"SXPIEx\", */ },\n\t0x080f: { /* n:\"SXVDTEx\", */ },\n\t0x0810: { /* n:\"SXViewEx9\", */ },\n\t0x0812: { /* n:\"ContinueFrt\", */ },\n\t0x0813: { /* n:\"RealTimeData\", */ },\n\t0x0850: { /* n:\"ChartFrtInfo\", */ },\n\t0x0851: { /* n:\"FrtWrapper\", */ },\n\t0x0852: { /* n:\"StartBlock\", */ },\n\t0x0853: { /* n:\"EndBlock\", */ },\n\t0x0854: { /* n:\"StartObject\", */ },\n\t0x0855: { /* n:\"EndObject\", */ },\n\t0x0856: { /* n:\"CatLab\", */ },\n\t0x0857: { /* n:\"YMult\", */ },\n\t0x0858: { /* n:\"SXViewLink\", */ },\n\t0x0859: { /* n:\"PivotChartBits\", */ },\n\t0x085a: { /* n:\"FrtFontList\", */ },\n\t0x0862: { /* n:\"SheetExt\", */ },\n\t0x0863: { /* n:\"BookExt\", */ r:12},\n\t0x0864: { /* n:\"SXAddl\", */ },\n\t0x0865: { /* n:\"CrErr\", */ },\n\t0x0866: { /* n:\"HFPicture\", */ },\n\t0x0867: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t0x0868: { /* n:\"Feat\", */ },\n\t0x086a: { /* n:\"DataLabExt\", */ },\n\t0x086b: { /* n:\"DataLabExtContents\", */ },\n\t0x086c: { /* n:\"CellWatch\", */ },\n\t0x0871: { /* n:\"FeatHdr11\", */ },\n\t0x0872: { /* n:\"Feature11\", */ },\n\t0x0874: { /* n:\"DropDownObjIds\", */ },\n\t0x0875: { /* n:\"ContinueFrt11\", */ },\n\t0x0876: { /* n:\"DConn\", */ },\n\t0x0877: { /* n:\"List12\", */ },\n\t0x0878: { /* n:\"Feature12\", */ },\n\t0x0879: { /* n:\"CondFmt12\", */ },\n\t0x087a: { /* n:\"CF12\", */ },\n\t0x087b: { /* n:\"CFEx\", */ },\n\t0x087c: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t0x087d: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t0x087e: { /* n:\"AutoFilter12\", */ },\n\t0x087f: { /* n:\"ContinueFrt12\", */ },\n\t0x0884: { /* n:\"MDTInfo\", */ },\n\t0x0885: { /* n:\"MDXStr\", */ },\n\t0x0886: { /* n:\"MDXTuple\", */ },\n\t0x0887: { /* n:\"MDXSet\", */ },\n\t0x0888: { /* n:\"MDXProp\", */ },\n\t0x0889: { /* n:\"MDXKPI\", */ },\n\t0x088a: { /* n:\"MDB\", */ },\n\t0x088b: { /* n:\"PLV\", */ },\n\t0x088c: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t0x088d: { /* n:\"DXF\", */ },\n\t0x088e: { /* n:\"TableStyles\", */ r:12 },\n\t0x088f: { /* n:\"TableStyle\", */ },\n\t0x0890: { /* n:\"TableStyleElement\", */ },\n\t0x0892: { /* n:\"StyleExt\", */ },\n\t0x0893: { /* n:\"NamePublish\", */ },\n\t0x0894: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t0x0895: { /* n:\"SortData\", */ },\n\t0x0896: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t0x0897: { /* n:\"GUIDTypeLib\", */ },\n\t0x0898: { /* n:\"FnGrp12\", */ },\n\t0x0899: { /* n:\"NameFnGrp12\", */ },\n\t0x089a: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t0x089b: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t0x089c: { /* n:\"HeaderFooter\", */ },\n\t0x089d: { /* n:\"CrtLayout12\", */ },\n\t0x089e: { /* n:\"CrtMlFrt\", */ },\n\t0x089f: { /* n:\"CrtMlFrtContinue\", */ },\n\t0x08a3: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t0x08a4: { /* n:\"ShapePropsStream\", */ },\n\t0x08a5: { /* n:\"TextPropsStream\", */ },\n\t0x08a6: { /* n:\"RichTextStream\", */ },\n\t0x08a7: { /* n:\"CrtLayout12A\", */ },\n\t0x1001: { /* n:\"Units\", */ },\n\t0x1002: { /* n:\"Chart\", */ },\n\t0x1003: { /* n:\"Series\", */ },\n\t0x1006: { /* n:\"DataFormat\", */ },\n\t0x1007: { /* n:\"LineFormat\", */ },\n\t0x1009: { /* n:\"MarkerFormat\", */ },\n\t0x100a: { /* n:\"AreaFormat\", */ },\n\t0x100b: { /* n:\"PieFormat\", */ },\n\t0x100c: { /* n:\"AttachedLabel\", */ },\n\t0x100d: { /* n:\"SeriesText\", */ },\n\t0x1014: { /* n:\"ChartFormat\", */ },\n\t0x1015: { /* n:\"Legend\", */ },\n\t0x1016: { /* n:\"SeriesList\", */ },\n\t0x1017: { /* n:\"Bar\", */ },\n\t0x1018: { /* n:\"Line\", */ },\n\t0x1019: { /* n:\"Pie\", */ },\n\t0x101a: { /* n:\"Area\", */ },\n\t0x101b: { /* n:\"Scatter\", */ },\n\t0x101c: { /* n:\"CrtLine\", */ },\n\t0x101d: { /* n:\"Axis\", */ },\n\t0x101e: { /* n:\"Tick\", */ },\n\t0x101f: { /* n:\"ValueRange\", */ },\n\t0x1020: { /* n:\"CatSerRange\", */ },\n\t0x1021: { /* n:\"AxisLine\", */ },\n\t0x1022: { /* n:\"CrtLink\", */ },\n\t0x1024: { /* n:\"DefaultText\", */ },\n\t0x1025: { /* n:\"Text\", */ },\n\t0x1026: { /* n:\"FontX\", */ f:parseuint16 },\n\t0x1027: { /* n:\"ObjectLink\", */ },\n\t0x1032: { /* n:\"Frame\", */ },\n\t0x1033: { /* n:\"Begin\", */ },\n\t0x1034: { /* n:\"End\", */ },\n\t0x1035: { /* n:\"PlotArea\", */ },\n\t0x103a: { /* n:\"Chart3d\", */ },\n\t0x103c: { /* n:\"PicF\", */ },\n\t0x103d: { /* n:\"DropBar\", */ },\n\t0x103e: { /* n:\"Radar\", */ },\n\t0x103f: { /* n:\"Surf\", */ },\n\t0x1040: { /* n:\"RadarArea\", */ },\n\t0x1041: { /* n:\"AxisParent\", */ },\n\t0x1043: { /* n:\"LegendException\", */ },\n\t0x1044: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t0x1045: { /* n:\"SerToCrt\", */ },\n\t0x1046: { /* n:\"AxesUsed\", */ },\n\t0x1048: { /* n:\"SBaseRef\", */ },\n\t0x104a: { /* n:\"SerParent\", */ },\n\t0x104b: { /* n:\"SerAuxTrend\", */ },\n\t0x104e: { /* n:\"IFmtRecord\", */ },\n\t0x104f: { /* n:\"Pos\", */ },\n\t0x1050: { /* n:\"AlRuns\", */ },\n\t0x1051: { /* n:\"BRAI\", */ },\n\t0x105b: { /* n:\"SerAuxErrBar\", */ },\n\t0x105c: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t0x105d: { /* n:\"SerFmt\", */ },\n\t0x105f: { /* n:\"Chart3DBarShape\", */ },\n\t0x1060: { /* n:\"Fbi\", */ },\n\t0x1061: { /* n:\"BopPop\", */ },\n\t0x1062: { /* n:\"AxcExt\", */ },\n\t0x1063: { /* n:\"Dat\", */ },\n\t0x1064: { /* n:\"PlotGrowth\", */ },\n\t0x1065: { /* n:\"SIIndex\", */ },\n\t0x1066: { /* n:\"GelFrame\", */ },\n\t0x1067: { /* n:\"BopPopCustom\", */ },\n\t0x1068: { /* n:\"Fbi2\", */ },\n\n\t0x0000: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t0x0001: { /* n:\"BIFF2BLANK\", */ },\n\t0x0002: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t0x0003: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t0x0004: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t0x0005: { /* n:\"BIFF2BOOLERR\", */ f:parse_BIFF2BOOLERR },\n\t0x0007: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t0x0008: { /* n:\"BIFF2ROW\", */ },\n\t0x0009: { /* n:\"BOF\", */ f:parse_BOF },\n\t0x000b: { /* n:\"Index\", */ },\n\t0x0016: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t0x001e: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t0x001f: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t0x0020: { /* n:\"BIFF2COLINFO\", */ },\n\t0x0021: { /* n:\"Array\", */ f:parse_Array },\n\t0x0024: { /* n:\"COLWIDTH\", */ },\n\t0x0025: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x002c ??\n\t// 0x002d ??\n\t// 0x002e ??\n\t// 0x0030 FONTCOUNT: number of fonts\n\t0x0032: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x0035: INFOOPTS\n\t// 0x0036: TABLE (BIFF2 only)\n\t// 0x0037: TABLE2 (BIFF2 only)\n\t// 0x0038: WNDESK\n\t// 0x0039 ??\n\t// 0x003a: BEGINPREF\n\t// 0x003b: ENDPREF\n\t0x003e: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x003f ??\n\t// 0x0046: SHOWSCROLL\n\t// 0x0047: SHOWFORMULA\n\t// 0x0048: STATUSBAR\n\t// 0x0049: SHORTMENUS\n\t// 0x004A:\n\t// 0x004B:\n\t// 0x004C:\n\t// 0x004E:\n\t// 0x004F:\n\t// 0x0058: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t0x0034: { /* n:\"DDEObjName\", */ },\n\t0x0043: { /* n:\"BIFF2XF\", */ f:parse_BIFF2XF },\n\t0x0044: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t0x0045: { /* n:\"BIFF2FONTCLR\", */ },\n\t0x0056: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t0x007e: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t0x007f: { /* n:\"ImData\", */ f:parse_ImData },\n\t0x0087: { /* n:\"Addin\", */ },\n\t0x0088: { /* n:\"Edg\", */ },\n\t0x0089: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t0x008F: { /* n:\"BIFF4SheetInfo\", */ f:parse_BIFF4SheetInfo },\n\t0x0091: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t0x0094: { /* n:\"LHRecord\", */ },\n\t0x0095: { /* n:\"LHNGraph\", */ },\n\t0x0096: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t0x00a9: { /* n:\"CoordList\", */ },\n\t0x00ab: { /* n:\"GCW\", */ },\n\t0x00bc: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t0x00bf: { /* n:\"ToolbarHdr\", */ },\n\t0x00c0: { /* n:\"ToolbarEnd\", */ },\n\t0x00c2: { /* n:\"AddMenu\", */ },\n\t0x00c3: { /* n:\"DelMenu\", */ },\n\t0x00d6: { /* n:\"RString\", */ f:parse_RString },\n\t0x00df: { /* n:\"UDDesc\", */ },\n\t0x00ea: { /* n:\"TabIdConf\", */ },\n\t0x0162: { /* n:\"XL5Modify\", */ },\n\t0x01a5: { /* n:\"FileSharing2\", */ },\n\t0x0206: { /* n:\"Formula\", */ f:parse_Formula },\n\t0x0209: { /* n:\"BOF\", */ f:parse_BOF },\n\t0x0218: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t0x0223: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t0x0231: { /* n:\"Font\", */ },\n\t0x0243: { /* n:\"BIFF3XF\", */ f:parse_BIFF3XF },\n\t0x0406: { /* n:\"Formula\", */ f:parse_Formula },\n\t0x0409: { /* n:\"BOF\", */ f:parse_BOF },\n\t0x0443: { /* n:\"BIFF4XF\", */ f:parse_BIFF4XF },\n\t0x086d: { /* n:\"FeatInfo\", */ },\n\t0x0873: { /* n:\"FeatInfo11\", */ },\n\t0x0881: { /* n:\"SXAddl12\", */ },\n\t0x08c0: { /* n:\"AutoWebPub\", */ },\n\t0x08c1: { /* n:\"ListObj\", */ },\n\t0x08c2: { /* n:\"ListField\", */ },\n\t0x08c3: { /* n:\"ListDV\", */ },\n\t0x08c4: { /* n:\"ListCondFmt\", */ },\n\t0x08c5: { /* n:\"ListCF\", */ },\n\t0x08c6: { /* n:\"FMQry\", */ },\n\t0x08c7: { /* n:\"FMSQry\", */ },\n\t0x08c8: { /* n:\"PLV\", */ },\n\t0x08c9: { /* n:\"LnExt\", */ },\n\t0x08ca: { /* n:\"MkrExt\", */ },\n\t0x08cb: { /* n:\"CrtCoopt\", */ },\n\t0x08d6: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/* --- multiplan 4 records --- */\n\t0x0065: { /* n:\"\", */ }, // one per window\n\t0x0066: { /* n:\"\", */ }, // calc settings\n\t0x0069: { /* n:\"\", */ }, // print header\n\t0x006a: { /* n:\"\", */ }, // print footer\n\t0x006b: { /* n:\"\", */ }, // print settings\n\t0x006d: { /* n:\"\", */ }, // one per window\n\t0x0070: { /* n:\"\", */ }, // includes default col width\n\t0x0072: { /* n:\"\", */ }, // includes selected cell\n\n\t0x7262: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_comments_biff2(ba/*:BufArray*/, comments/*:Array<[Comment[], number, number]>*/) {\n\tcomments.forEach(function(data) {\n\t\tvar text = data[0].map(function(cc) { return cc.t; }).join(\"\");\n\t\t// TODO: should '\\n' be translated to '\\r' to correct for Excel 5.0 bug when exporting to BIFF2/3 ?\n\t\tif(text.length <= 2048) return write_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text, data[1], data[2]));\n\t\twrite_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(0, 2048), data[1], data[2], text.length));\n\t\tfor(var i = 2048; i < text.length; i += 2048)\n\t\t\twrite_biff_rec(ba, 0x001C, write_NOTE_BIFF2(text.slice(i, Math.min(i+2048, text.length)), -1, -1, Math.min(2048, text.length - i)));\n\t});\n}\n\n/* TODO: BIFF3/4 use different records -- see comments*/\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*/, opts, date1904/*:boolean*/) {\n\tvar ifmt = 0;\n\tif(cell.z != null) {\n\t\tifmt = opts._BIFF2FmtTable.indexOf(cell.z);\n\t\tif(ifmt == -1) { opts._BIFF2FmtTable.push(cell.z); ifmt = opts._BIFF2FmtTable.length - 1; }\n\t}\n\tvar ixfe = 0;\n\tif(cell.z != null) {\n\t\tfor(; ixfe < opts.cellXfs.length; ++ixfe) if(opts.cellXfs[ixfe].numFmtId == ifmt) break;\n\t\tif(ixfe == opts.cellXfs.length) opts.cellXfs.push({numFmtId: ifmt});\n\t}\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v, date1904), date1904) : cell.v;\n\t\t\tif(opts.biff == 2 && (v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\t// 0x027E (RK) in BIFF3/4\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v, ixfe, ifmt));\n\t\t\telse if(isNaN(v))\n\t\t\t\t// 0x0205 in BIFF3/4\n\t\t\t\twrite_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x24, \"e\")); // #NUM!\n\t\t\telse if(!isFinite(v))\n\t\t\t\t// 0x0205 in BIFF3/4\n\t\t\t\twrite_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, 0x07, \"e\")); // #DIV/0!\n\t\t\telse\n\t\t\t\t// 0x0203 in BIFF3/4\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v, ixfe, ifmt));\n\t\t\treturn;\n\t\tcase 'b': case 'e':\n\t\t\t// 0x0205 in BIFF3/4\n\t\t\twrite_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\t// 0x0204 in BIFF3/4\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, cell.v == null ? \"\" : String(cell.v).slice(0,255)));\n\t\t\treturn;\n\t}\n\t// 0x0201 in BIFF3/4\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts, wb/*:Workbook*/) {\n\tvar dense = ws[\"!data\"] != null;\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.r, 0x3FFF);\n\t}\n\tvar date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904;\n\tvar row = [], comments = [];\n\t/* TODO: 0x0000 / 0x0200 dimensions? */\n\tfor(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tif(dense) row = ws[\"!data\"][R] || [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar cell = dense ? row[C] : ws[cols[C] + rr];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts, date1904);\n\t\t\tif(cell.c) comments.push([cell.c, R, C]);\n\t\t}\n\t}\n\n\t/* ... 0x12 0x19 0x13 (Password) */\n\twrite_comments_biff2(ba, comments);\n\t/* 0x3d (Window1) ... */\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [\"General\"]; o._Fonts = [];\n\tvar body = buf_array();\n\twrite_ws_biff2(body, wb.Sheets[wb.SheetNames[idx]], idx, o, wb);\n\n\to._BIFF2FmtTable.forEach(function(f) {\n\t\tif(o.biff <= 3) write_biff_rec(ba, 0x001E, write_BIFF2Format(f));\n\t\telse write_biff_rec(ba, 0x041E, write_BIFF4Format(f));\n\t});\n\to.cellXfs.forEach(function(xf) {\n\t\tswitch(o.biff) {\n\t\t\tcase 2: write_biff_rec(ba, 0x0043, write_BIFF2XF(xf)); break;\n\t\t\tcase 3: write_biff_rec(ba, 0x0243, write_BIFF3XF(xf)); break;\n\t\t\tcase 4: write_biff_rec(ba, 0x0443, write_BIFF4XF(xf)); break;\n\t\t}\n\t});\n\tdelete o._BIFF2FmtTable; delete o.cellXfs; delete o._Fonts;\n\n\tba.push(body.end());\n\twrite_biff_rec(ba, 0x000A);\n\treturn ba.end();\n}\n\nvar b8oid = 1, b8ocnts/*:Array<[number, number, number]>*/ = [];\nfunction write_MsoDrawingGroup() {\n\tvar buf = new_buf(82 + 8 * b8ocnts.length);\n\t/* [MS-ODRAW] 2.2.12 OfficeArtDggContainer */\n\tbuf.write_shift(2, 0x0F);\n\tbuf.write_shift(2, 0xF000);\n\tbuf.write_shift(4, 74 + 8 * b8ocnts.length);\n\t/* 2.2.48 OfficeArtFDGGBlock */\n\t{\n\t\tbuf.write_shift(2, 0);\n\t\tbuf.write_shift(2, 0xF006);\n\t\tbuf.write_shift(4, 16 + 8 * b8ocnts.length);\n\t\t/* 2.2.47 OfficeArtFDGG */\n\t\t{\n\t\t\tbuf.write_shift(4, b8oid);\n\t\t\tbuf.write_shift(4, b8ocnts.length+1);\n\t\t\tvar acc = 0; for(var i = 0; i < b8ocnts.length; ++i) acc += (b8ocnts[i] && b8ocnts[i][1] || 0); buf.write_shift(4, acc);\n\t\t\tbuf.write_shift(4, b8ocnts.length);\n\t\t}\n\t\t/* 2.2.46 OfficeArtIDCL + */\n\t\tb8ocnts.forEach(function(b8) {\n\t\t\tbuf.write_shift(4, b8[0]);\n\t\t\tbuf.write_shift(4, b8[2]);\n\t\t});\n\t}\n\t/* 2.2.9 OfficeArtFOPT */\n\t{\n\t\tbuf.write_shift(2, 0x33); // 0x03 | (3 << 4)\n\t\tbuf.write_shift(2, 0xF00B);\n\t\tbuf.write_shift(4, 0x12); // 3 * 6\n\t\t/* 2.3.21.15 Text Boolean Properties */\n\t\tbuf.write_shift(2, 0xBF); buf.write_shift(4, 0x00080008);\n\t\t/* 2.3.7.2 fillColor */\n\t\tbuf.write_shift(2, 0x0181); buf.write_shift(4, 0x08000041);\n\t\t/* 2.3.8.1 lineColor */\n\t\tbuf.write_shift(2, 0x01C0); buf.write_shift(4, 0x08000040);\n\t}\n\t/* 2.2.45 OfficeArtSplitMenuColorContainer */\n\t{\n\t\tbuf.write_shift(2, 0x40);\n\t\tbuf.write_shift(2, 0xF11E);\n\t\tbuf.write_shift(4, 16);\n\t\tbuf.write_shift(4, 0x0800000D);\n\t\tbuf.write_shift(4, 0x0800000C);\n\t\tbuf.write_shift(4, 0x08000017);\n\t\tbuf.write_shift(4, 0x100000F7);\n\t}\n\treturn buf;\n}\nfunction write_comments_biff8(ba/*:BufArray*/, comments/*:Array<[Comment[], number, number]>*/) {\n\tvar notes/*:Array*/ = [], sz = 0, pl = buf_array(), baseid = b8oid;\n\tvar _oasc;\n\tcomments.forEach(function(c, ci) {\n\t\tvar author = \"\";\n\t\tvar text = c[0].map(function(t) { if(t.a && !author) author = t.a; return t.t; }).join(\"\");\n\t\t++b8oid;\n\n\t\t/* 2.2.14 OfficeArtSpContainer */\n\t\t{\n\t\t\tvar oasc = new_buf(0x96);\n\t\t\toasc.write_shift(2, 0x0F);\n\t\t\toasc.write_shift(2, 0xF004);\n\t\t\toasc.write_shift(4, 0x96);\n\t\t\t/* 2.2.40 OfficeArtFSP */\n\t\t\t{\n\t\t\t\toasc.write_shift(2, 0xca2); // 0x02 | (0xca << 4)\n\t\t\t\toasc.write_shift(2, 0xF00A);\n\t\t\t\toasc.write_shift(4, 8);\n\t\t\t\toasc.write_shift(4, b8oid);\n\t\t\t\toasc.write_shift(4, 0xA00);\n\t\t\t}\n\t\t\t/* 2.2.9 OfficeArtFOPT */\n\t\t\t{\n\t\t\t\toasc.write_shift(2, 0xE3); // 0x03 | (14 << 4)\n\t\t\t\toasc.write_shift(2, 0xF00B);\n\t\t\t\toasc.write_shift(4, 0x54); // 14 * 6\n\t\t\t\t/* 2.3.21.1 ITxid */\n\t\t\t\toasc.write_shift(2, 0x80); oasc.write_shift(4, 0);\n\t\t\t\t/* 2.3.21.12 txdir */\n\t\t\t\toasc.write_shift(2, 0x8B); oasc.write_shift(4, 0x02);\n\t\t\t\t/* 2.3.21.15 Text Boolean Properties */\n\t\t\t\toasc.write_shift(2, 0xBF); oasc.write_shift(4, 0x00080008);\n\t\t\t\t/* 2.3.6.30 cxk */\n\t\t\t\toasc.write_shift(2, 0x0158); oasc.l += 4;\n\t\t\t\t/* 2.3.7.2 fillColor */\n\t\t\t\toasc.write_shift(2, 0x0181); oasc.write_shift(4, 0x08000050);\n\t\t\t\t/* 2.3.7.4 fillBackColor */\n\t\t\t\toasc.write_shift(2, 0x0183); oasc.write_shift(4, 0x08000050);\n\t\t\t\t/* 2.3.7.6 fillCrMod */\n\t\t\t\toasc.write_shift(2, 0x0185); oasc.write_shift(4, 0x100000F4);\n\t\t\t\t/* 2.3.7.43 Fill Style Boolean Properties */\n\t\t\t\toasc.write_shift(2, 0x01BF); oasc.write_shift(4, 0x00100010);\n\t\t\t\t/* 2.3.8.1 lineColor */\n\t\t\t\toasc.write_shift(2, 0x01C0); oasc.write_shift(4, 0x08000051);\n\t\t\t\t/* 2.3.8.4 lineCrMod */\n\t\t\t\toasc.write_shift(2, 0x01C3); oasc.write_shift(4, 0x100000F4);\n\t\t\t\t/* 2.3.13.2 shadowColor */\n\t\t\t\toasc.write_shift(2, 0x0201); oasc.write_shift(4, 0x08000051);\n\t\t\t\t/* 2.3.13.4 shadowCrMod */\n\t\t\t\toasc.write_shift(2, 0x0203); oasc.write_shift(4, 0x100000F4);\n\t\t\t\t/* 2.3.13.23 Shadow Style Boolean Properties */\n\t\t\t\toasc.write_shift(2, 0x023F); oasc.write_shift(4, 0x00030001);\n\t\t\t\t/* 2.3.4.44 Group Shape Boolean Properties */\n\t\t\t\toasc.write_shift(2, 0x03BF); oasc.write_shift(4, 0x00020000 | (c[0].hidden ? 2 : 0));\n\t\t\t}\n\t\t\t/* [MS-XLS] 2.5.193 OfficeArtClientAnchorSheet */\n\t\t\t{\n\t\t\t\toasc.l += 2;\n\t\t\t\toasc.write_shift(2, 0xF010);\n\t\t\t\toasc.write_shift(4, 0x12);\n\t\t\t\toasc.write_shift(2, 0x3); // do not move or size with cells\n\t\t\t\toasc.write_shift(2, c[2] + 2); oasc.l += 2;\n\t\t\t\toasc.write_shift(2, c[1] + 1); oasc.l += 2;\n\t\t\t\toasc.write_shift(2, c[2] + 4); oasc.l += 2;\n\t\t\t\toasc.write_shift(2, c[1] + 5); oasc.l += 2;\n\t\t\t}\n\t\t\t/* [MS-XLS] 2.5.194 OfficeArtClientData */\n\t\t\t{\n\t\t\t\toasc.l += 2;\n\t\t\t\toasc.write_shift(2, 0xF011);\n\t\t\t\toasc.l += 4;\n\t\t\t}\n\t\t\toasc.l = 0x96;\n\t\t\tif(ci == 0) /* write_biff_rec(pl, 0x003C, oasc); */ _oasc = oasc;\n\t\t\telse write_biff_rec(pl, 0x00EC, oasc);\n\t\t}\n\t\tsz += 0x96;\n\n\t\t/* [MS-XLS] 2.4.181 Obj */\n\t\t{\n\t\t\tvar obj = new_buf(52); // 22 + 26 + 4\n\t\t\t/* [MS-XLS] 2.5.143 FtCmo */\n\t\t\tobj.write_shift(2, 0x15);\n\t\t\tobj.write_shift(2, 0x12);\n\t\t\tobj.write_shift(2, 0x19);\n\t\t\tobj.write_shift(2, b8oid);\n\t\t\tobj.write_shift(2, 0);\n\t\t\tobj.l = 22;\n\t\t\t/* [MS-XLS] 2.5.149 FtNts */\n\t\t\tobj.write_shift(2, 0x0D);\n\t\t\tobj.write_shift(2, 0x16);\n\t\t\tobj.write_shift(4, 0x62726272);\n\t\t\tobj.write_shift(4, 0x95374305);\n\t\t\tobj.write_shift(4, 0x80301328);\n\t\t\tobj.write_shift(4, 0x69696904 + b8oid*256);\n\t\t\tobj.write_shift(2,0);\n\t\t\tobj.write_shift(4,0);\n\t\t\t// reserved\n\t\t\tobj.l += 4;\n\t\t\twrite_biff_rec(pl, 0x005D, obj);\n\t\t}\n\n\t\t/* [MS-XLS] 2.5.195 OfficeArtClientTextbox */\n\t\t{\n\t\t\tvar oact = new_buf(8);\n\t\t\toact.l += 2;\n\t\t\toact.write_shift(2, 0xF00D);\n\t\t\toact.l += 4;\n\t\t\twrite_biff_rec(pl, 0x00EC, oact);\n\t\t}\n\t\tsz += 8;\n\n\t\t/* [MS-XLS] 2.4.329 TxO */\n\t\t{\n\t\t\tvar txo = new_buf(18);\n\t\t\ttxo.write_shift(2, 0x12);\n\t\t\ttxo.l += 8;\n\t\t\ttxo.write_shift(2, text.length);\n\t\t\ttxo.write_shift(2, 0x10);\n\t\t\ttxo.l += 4;\n\t\t\twrite_biff_rec(pl, 0x01b6, txo);\n\t\t\t/* text continue record TODO: switch to wide strings */\n\t\t\t{\n\t\t\t\tvar cont = new_buf(1 + text.length);\n\t\t\t\tcont.write_shift(1, 0);\n\t\t\t\tcont.write_shift(text.length, text, \"sbcs\");\n\t\t\t\twrite_biff_rec(pl, 0x003C, cont);\n\t\t\t}\n\t\t\t/* formatting continue records */\n\t\t\t{\n\t\t\t\tvar conf = new_buf(0x10);\n\t\t\t\tconf.l += 8;\n\t\t\t\tconf.write_shift(2, text.length);\n\t\t\t\tconf.l += 6;\n\t\t\t\twrite_biff_rec(pl, 0x003C, conf);\n\t\t\t}\n\t\t}\n\n\t\t/* 2.4.179 Note */\n\t\t{\n\t\t\tvar notesh = new_buf(12 + author.length);\n\t\t\tnotesh.write_shift(2, c[1]);\n\t\t\tnotesh.write_shift(2, c[2]);\n\t\t\tnotesh.write_shift(2, 0 | (c[0].hidden ? 0 : 2));\n\t\t\tnotesh.write_shift(2, b8oid);\n\t\t\tnotesh.write_shift(2, author.length);\n\t\t\tnotesh.write_shift(1, 0);\n\t\t\tnotesh.write_shift(author.length, author, \"sbcs\");\n\t\t\tnotesh.l ++;\n\t\t\tnotes.push(notesh);\n\t\t}\n\t});\n\t/* [MS-ODRAW] 2.2.13 OfficeArtDgContainer */\n\t{\n\t\tvar hdr = new_buf(80);\n\t\thdr.write_shift(2, 0x0F);\n\t\thdr.write_shift(2, 0xF002);\n\t\thdr.write_shift(4, sz + hdr.length - 8);\n\t\t/* [MS-ODRAW] 2.2.49 OfficeArtFDG */\n\t\t{\n\t\t\thdr.write_shift(2, 0x10);\n\t\t\thdr.write_shift(2, 0xF008);\n\t\t\thdr.write_shift(4, 0x08);\n\t\t\thdr.write_shift(4, comments.length + 1);\n\t\t\thdr.write_shift(4, b8oid);\n\t\t}\n\t\t/* [MS-ODRAW] 2.2.16 OfficeArtSpgrContainer */\n\t\t{\n\t\t\thdr.write_shift(2, 0x0f);\n\t\t\thdr.write_shift(2, 0xF003);\n\t\t\thdr.write_shift(4, sz + 0x30);\n\t\t\t/* [MS-ODRAW] 2.2.14 OfficeArtSpContainer */\n\t\t\t{\n\t\t\t\thdr.write_shift(2, 0x0f);\n\t\t\t\thdr.write_shift(2, 0xF004);\n\t\t\t\thdr.write_shift(4, 0x28);\n\t\t\t\t/* [MS-ODRAW] 2.2.38 OfficeArtFSPGR */\n\t\t\t\t{\n\t\t\t\t\thdr.write_shift(2, 0x01);\n\t\t\t\t\thdr.write_shift(2, 0xF009);\n\t\t\t\t\thdr.write_shift(4, 0x10);\n\t\t\t\t\thdr.l += 16;\n\t\t\t\t}\n\t\t\t\t/* [MS-ODRAW] 2.2.40 OfficeArtFSP */\n\t\t\t\t{\n\t\t\t\t\thdr.write_shift(2, 0x02);\n\t\t\t\t\thdr.write_shift(2, 0xF00A);\n\t\t\t\t\thdr.write_shift(4, 0x08);\n\t\t\t\t\thdr.write_shift(4, baseid);\n\t\t\t\t\thdr.write_shift(4, 0x05);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\twrite_biff_rec(ba, 0x00EC, /* hdr */ _oasc ? bconcat([hdr, _oasc]) : hdr);\n\t}\n\tba.push(pl.end());\n\tnotes.forEach(function(n) { write_biff_rec(ba, 0x001C, n); });\n\tb8ocnts.push([baseid, comments.length + 1, b8oid]);\n\t++b8oid;\n}\n\nfunction write_FONTS_biff8(ba, data, opts) {\n\twrite_biff_rec(ba, 0x0031 /* Font */, write_Font({\n\t\tsz:12,\n\t\tcolor: {theme:1},\n\t\tname: \"Arial\",\n\t\tfamily: 2,\n\t\tscheme: \"minor\"\n\t}, opts));\n}\n\n\nfunction write_FMTS_biff8(ba, NF/*:?SSFTable*/, opts) {\n\tif(!NF) return;\n\t[[5,8],[23,26],[41,44],[/*63*/50,/*66],[164,*/392]].forEach(function(r) {\n\t\t/*:: if(!NF) return; */\n\t\tfor(var i = r[0]; i <= r[1]; ++i) if(NF[i] != null) write_biff_rec(ba, 0x041E /* Format */, write_Format(i, NF[i], opts));\n\t});\n}\n\nfunction write_FEAT(ba, ws) {\n\t/* [MS-XLS] 2.4.112 */\n\tvar o = new_buf(19);\n\to.write_shift(4, 0x867); o.write_shift(4, 0); o.write_shift(4, 0);\n\to.write_shift(2, 3); o.write_shift(1, 1); o.write_shift(4, 0);\n\twrite_biff_rec(ba, 0x0867 /* FeatHdr */, o);\n\t/* [MS-XLS] 2.4.111 */\n\to = new_buf(39);\n\to.write_shift(4, 0x868); o.write_shift(4, 0); o.write_shift(4, 0);\n\to.write_shift(2, 3); o.write_shift(1, 0); o.write_shift(4, 0);\n\to.write_shift(2, 1); o.write_shift(4, 4); o.write_shift(2, 0);\n\twrite_Ref8U(safe_decode_range(ws['!ref']||\"A1\"), o);\n\to.write_shift(4, 4);\n\twrite_biff_rec(ba, 0x0868 /* Feat */, o);\n}\n\nfunction write_CELLXFS_biff8(ba, opts) {\n\tfor(var i = 0; i < 16; ++i) write_biff_rec(ba, 0x00e0 /* XF */, write_XF({numFmtId:0, style:true}, 0, opts));\n\topts.cellXfs.forEach(function(c) {\n\t\twrite_biff_rec(ba, 0x00e0 /* XF */, write_XF(c, 0, opts));\n\t});\n}\n\nfunction write_ws_biff8_hlinks(ba/*:BufArray*/, ws) {\n\tfor(var R=0; R*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV\" + MAX_ROWS);\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.r, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x0200 /* Dimensions */, write_Dimensions(range, opts));\n\t/* ... */\n\n\tvar date1904 = (((wb||{}).Workbook||{}).WBProps||{}).date1904;\n\tif(b8) ws['!links'] = [];\n\tfor(var C = range.s.c; C <= range.e.c; ++C) cols[C] = encode_col(C);\n\tvar comments = [];\n\tvar row = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tif(dense) row = ws[\"!data\"][R] || [];\n\t\trr = encode_row(R);\n\t\tfor(C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar cell = dense ? row[C] : ws[cols[C] + rr];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts, date1904);\n\t\t\tif(b8 && cell.l) ws['!links'].push([cols[C] + rr, cell.l]);\n\t\t\tif(cell.c) comments.push([cell.c, R, C]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_comments_biff8(ba, comments); else write_comments_biff2(ba, comments);\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C /* Country */, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture */\n\n\t/* BIFF8: MsoDrawingGroup [*Continue] */\n\tif(b8 && b8ocnts.length) write_biff_rec(C, 0x00EB /* MsoDrawingGroup */, write_MsoDrawingGroup());\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC /* SST */, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\tb8oid = 1; b8ocnts = [];\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t\tif(range.e.r > 65535) {\n\t\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond row 65536. Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar dense = (opts.dense != null) ? opts.dense : DENSE;\n\tvar ws/*:Worksheet*/ = ({}/*:any*/); if(dense) ws[\"!data\"] = [];\n\tstr = str_remove_ng(str, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(opts.UTC === false) o.v = utc_to_local(o.v);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t} else if(m.charCodeAt(0) == 35 /* # */ && RBErr[m] != null) {\n\t\t\t\to.t = 'e'; o.w = m; o.v = RBErr[m];\n\t\t\t}\n\t\t\tif(o.cellText !== false) o.w = m;\n\t\t\tif(dense) { if(!ws[\"!data\"][R]) ws[\"!data\"][R] = []; ws[\"!data\"][R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tvar sp = ({}/*:any*/);\n\tvar dense = ws[\"!data\"] != null;\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_col(C) + encode_row(R);\n\t\tvar cell = dense ? (ws[\"!data\"][R]||[])[C] : ws[coord];\n\t\tif(cell && cell.t == 'n' && cell.v != null && !isFinite(cell.v)) {\n\t\t\tif(isNaN(cell.v)) cell = ({t:'e', v:0x24, w:BErr[0x24]});\n\t\t\telse cell = ({t:'e', v:0x07, w:BErr[0x07]});\n\t\t}\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tsp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\t// note: data-v is unaffected by the timezone interpretation\n\t\t\tif(cell.v != null) sp[\"data-v\"] = escapehtml(cell.v instanceof Date ? cell.v.toISOString() : cell.v);\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str_match_xml_ig(str, \"table\");\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) {\n\t\tvar w = sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\t\tw.bookType = \"html\";\n\t\treturn w;\n\t}\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\twb.bookType = \"html\";\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref'] || \"A1\");\n\tout.push(make_html_preamble(ws, r, o));\n\tif(ws[\"!ref\"]) for(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar rows/*:HTMLCollection*/ = table.rows;\n\tif(!rows) {\n\t\t/* not an HTML TABLE */\n\t\tthrow \"Unsupported origin when \" + table.tagName + \" is not a TABLE\";\n\t}\n\n\tvar opts = _opts || {};\n\tvar dense = ws[\"!data\"] != null;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.cells);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(_t == \"e\" && BErr[+v]) o = {t:'e', v:+v, w: BErr[+v]};\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(opts.UTC) o.v = local_to_utc(o.v);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t} else if(v.charCodeAt(0) == 35 /* # */ && RBErr[v] != null) o = ({t:'e', v: RBErr[v], w: v});\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\" &&\tl.slice(0, 11).toLowerCase() != 'javascript:') o.l = ({ Target: l });\n\t\t\tif(dense) { if(!ws[\"!data\"][R + or_R]) ws[\"!data\"][R + or_R] = []; ws[\"!data\"][R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = ({}/*:any*/); if(opts.dense) ws[\"!data\"] = [];\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\tvar o = sheet_to_workbook(parse_dom_table(table, opts), opts);\n\t//o.bookType = \"dom\"; // TODO: define a type for this\n\treturn o;\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^<>]*>/g,\"\"));\n\n\treturn [v];\n}\n\n/* Note: ODS can stick styles in content.xml or styles.xml, FODS blurs lines */\nfunction parse_ods_styles(d/*:string*/, _opts, _nfm) {\n\tvar number_format_map = _nfm || {};\n\tvar str = xlml_normalize(d);\n\txlmlregex.lastIndex = 0;\n\tstr = remove_doctype(str_remove_ng(str, \"\"));\n\tvar Rn, NFtag, NF = \"\", tNF = \"\", y, etpos = 0, tidx = -1, infmt = false, payload = \"\";\n\twhile((Rn = xlmlregex.exec(str))) {\n\t\tswitch((Rn[3]=Rn[3].replace(/_[\\s\\S]*$/,\"\"))) {\n\t\t/* Number Format Definitions */\n\t\tcase 'number-style': // 16.29.2\n\t\tcase 'currency-style': // 16.29.8\n\t\tcase 'percentage-style': // 16.29.10\n\t\tcase 'date-style': // 16.29.11\n\t\tcase 'time-style': // 16.29.19\n\t\tcase 'text-style': // 16.29.26\n\t\t\tif(Rn[1]==='/') {\n\t\t\t\tinfmt = false;\n\t\t\t\tif(NFtag['truncate-on-overflow'] == \"false\") {\n\t\t\t\t\tif(NF.match(/h/)) NF = NF.replace(/h+/, \"[$&]\");\n\t\t\t\t\telse if(NF.match(/m/)) NF = NF.replace(/m+/, \"[$&]\");\n\t\t\t\t\telse if(NF.match(/s/)) NF = NF.replace(/s+/, \"[$&]\");\n\t\t\t\t}\n\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\tNF = \"\";\n\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tinfmt = true;\n\t\t\t\tNF = \"\";\n\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t} break;\n\n\t\t// LibreOffice bug https://bugs.documentfoundation.org/show_bug.cgi?id=149484\n\t\tcase 'boolean-style': // 16.29.24\n\t\t\tif(Rn[1]==='/') {\n\t\t\t\tinfmt = false;\n\t\t\t\tnumber_format_map[NFtag.name] = \"General\";\n\t\t\t\tNF = \"\";\n\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\tinfmt = true;\n\t\t\t\tNF = \"\";\n\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t} break;\n\n\t\t/* Number Format Elements */\n\t\tcase 'boolean': // 16.29.25\n\t\t\tNF += \"General\"; // ODF spec is unfortunately underspecified here\n\t\t\tbreak;\n\n\t\tcase 'text': // 16.29.27\n\t\t\tif(Rn[1]==='/') {\n\t\t\t\tpayload = str.slice(tidx, xlmlregex.lastIndex - Rn[0].length);\n\t\t\t\t// NOTE: Excel has a different interpretation of \"%%\" and friends\n\t\t\t\tif(payload == \"%\" && NFtag[0] == ' 16.29.12\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"d\"; break;\n\t\t\t\tcase \"long\": NF += \"dd\"; break;\n\t\t\t\tdefault: NF += \"dd\"; break; // TODO: error condition\n\t\t\t}\n\t\t} break;\n\n\t\tcase 'day-of-week': { // 16.29.16\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"ddd\"; break;\n\t\t\t\tcase \"long\": NF += \"dddd\"; break;\n\t\t\t\tdefault: NF += \"ddd\"; break;\n\t\t\t}\n\t\t} break;\n\n\t\tcase 'era': { // 16.29.15 TODO: proper mapping\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"ee\"; break;\n\t\t\t\tcase \"long\": NF += \"eeee\"; break;\n\t\t\t\tdefault: NF += \"eeee\"; break; // TODO: error condition\n\t\t\t}\n\t\t} break;\n\n\t\tcase 'hours': { // 16.29.20\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"h\"; break;\n\t\t\t\tcase \"long\": NF += \"hh\"; break;\n\t\t\t\tdefault: NF += \"hh\"; break; // TODO: error condition\n\t\t\t}\n\t\t} break;\n\n\t\tcase 'minutes': { // 16.29.21\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"m\"; break;\n\t\t\t\tcase \"long\": NF += \"mm\"; break;\n\t\t\t\tdefault: NF += \"mm\"; break; // TODO: error condition\n\t\t\t}\n\t\t} break;\n\n\t\tcase 'month': { // 16.29.13\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tif(y[\"textual\"]) NF += \"mm\";\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"m\"; break;\n\t\t\t\tcase \"long\": NF += \"mm\"; break;\n\t\t\t\tdefault: NF += \"m\"; break;\n\t\t\t}\n\t\t} break;\n\n\t\tcase 'seconds': { // 16.29.22\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"s\"; break;\n\t\t\t\tcase \"long\": NF += \"ss\"; break;\n\t\t\t\tdefault: NF += \"ss\"; break; // TODO: error condition\n\t\t\t}\n\t\t\tif(y[\"decimal-places\"]) NF += \".\" + fill(\"0\", +y[\"decimal-places\"]);\n\t\t} break;\n\n\t\tcase 'year': { // 16.29.14\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch(y[\"style\"]) {\n\t\t\t\tcase \"short\": NF += \"yy\"; break;\n\t\t\t\tcase \"long\": NF += \"yyyy\"; break;\n\t\t\t\tdefault: NF += \"yy\"; break; // TODO: error condition\n\t\t\t}\n\t\t} break;\n\n\t\tcase 'am-pm': // 16.29.23\n\t\t\tNF += \"AM/PM\"; // LO autocorrects A/P -> AM/PM\n\t\t\tbreak;\n\n\t\tcase 'week-of-year': // 16.29.17\n\t\tcase 'quarter': // 16.29.18\n\t\t\tconsole.error(\"Excel does not support ODS format token \" + Rn[3]);\n\t\t\tbreak;\n\n\t\tcase 'fill-character': // 16.29.5\n\t\t\tif(Rn[1]==='/') {\n\t\t\t\tpayload = str.slice(tidx, xlmlregex.lastIndex - Rn[0].length);\n\t\t\t\t// NOTE: Excel has a different interpretation of \"%%\" and friends\n\t\t\t\tNF += '\"' + payload.replace(/\"/g, '\"\"') + '\"*';\n\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\ttidx = xlmlregex.lastIndex;\n\t\t\t} break;\n\n\t\tcase 'scientific-number': // 16.29.6\n\t\t\t// TODO: find a mapping for all parameters\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tNF += \"0.\" + fill(\"0\", +y[\"min-decimal-places\"] || +y[\"decimal-places\"] || 2) + fill(\"?\", +y[\"decimal-places\"] - +y[\"min-decimal-places\"] || 0) + \"E\" + (parsexmlbool(y[\"forced-exponent-sign\"]) ? \"+\" : \"\") + fill(\"0\", +y[\"min-exponent-digits\"] || 2);\n\t\t\tbreak;\n\n\t\tcase 'fraction': // 16.29.7\n\t\t\t// TODO: find a mapping for all parameters\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tif(!+y[\"min-integer-digits\"]) NF += \"#\";\n\t\t\telse NF += fill(\"0\", +y[\"min-integer-digits\"]);\n\t\t\tNF += \" \";\n\t\t\tNF += fill(\"?\", +y[\"min-numerator-digits\"] || 1);\n\t\t\tNF += \"/\";\n\t\t\tif(+y[\"denominator-value\"]) NF += y[\"denominator-value\"];\n\t\t\telse NF += fill(\"?\", +y[\"min-denominator-digits\"] || 1);\n\t\t\tbreak;\n\n\t\tcase 'currency-symbol': // 16.29.9\n\t\t\t// TODO: localization with [$-...]\n\t\t\tif(Rn[1]==='/') {\n\t\t\t\tNF += '\"' + str.slice(tidx, xlmlregex.lastIndex - Rn[0].length).replace(/\"/g, '\"\"') + '\"';\n\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\ttidx = xlmlregex.lastIndex;\n\t\t\t} else NF += \"$\";\n\t\t\tbreak;\n\n\t\tcase 'text-properties': // 16.29.29\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tswitch((y[\"color\"]||\"\").toLowerCase().replace(\"#\", \"\")) {\n\t\t\t\tcase \"ff0000\": case \"red\": NF = \"[Red]\" + NF; break;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase 'text-content': // 16.29.28\n\t\t\tNF += \"@\";\n\t\t\tbreak;\n\n\t\tcase 'map': // 16.3\n\t\t\t// TODO: handle more complex maps\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\tif(unescapexml(y[\"condition\"]) == \"value()>=0\") NF = number_format_map[y[\"apply-style-name\"]] + \";\" + NF;\n\t\t\telse console.error(\"ODS number format may be incorrect: \" + y[\"condition\"]);\n\t\t\tbreak;\n\n\t\tcase 'number': // 16.29.3\n\t\t\t// TODO: handle all the attributes\n\t\t\tif(Rn[1]==='/') break;\n\t\t\ty = parsexmltag(Rn[0], false);\n\t\t\ttNF = \"\";\n\t\t\ttNF += fill(\"0\", +y[\"min-integer-digits\"] || 1);\n\t\t\tif(parsexmlbool(y[\"grouping\"])) tNF = commaify(fill(\"#\", Math.max(0, 4 - tNF.length)) + tNF);\n\t\t\tif(+y[\"min-decimal-places\"] || +y[\"decimal-places\"]) tNF += \".\";\n\t\t\tif(+y[\"min-decimal-places\"]) tNF += fill(\"0\", +y[\"min-decimal-places\"] || 1);\n\t\t\tif(+y[\"decimal-places\"] - (+y[\"min-decimal-places\"]||0)) tNF += fill(\"0\", +y[\"decimal-places\"] - (+y[\"min-decimal-places\"]||0)); // TODO: should this be \"#\" ?\n\t\t\tNF += tNF;\n\t\t\tbreak;\n\n\t\tcase 'embedded-text': // 16.29.4\n\t\t\t// TODO: verify interplay with grouping et al\n\t\t\tif(Rn[1]==='/') {\n\t\t\t\tif(etpos == 0) NF += '\"' + str.slice(tidx, xlmlregex.lastIndex - Rn[0].length).replace(/\"/g, '\"\"') + '\"';\n\t\t\t\telse NF = NF.slice(0, etpos) + '\"' + str.slice(tidx, xlmlregex.lastIndex - Rn[0].length).replace(/\"/g, '\"\"') + '\"' + NF.slice(etpos);\n\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\ttidx = xlmlregex.lastIndex;\n\t\t\t\tetpos = -+parsexmltag(Rn[0], false)[\"position\"] || 0;\n\t\t\t} break;\n\n\t}}\n\treturn number_format_map;\n}\n\nfunction parse_content_xml(d/*:string*/, _opts, _nfm)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar nfidx, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = ({}/*:any*/); if(opts.dense) ws[\"!data\"] = [];\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/), ctag2 = ({}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/, oldtextp = \"\", oldtextpidx = 0;\n\t\tvar textR = [], oldtextR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = _nfm || {}, styles = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[], WBProps:{}};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = remove_doctype(str_remove_ng(str, \"\"));\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_[\\s\\S]*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = ({}/*:any*/); if(opts.dense) ws[\"!data\"] = []; merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\",10) || 1;\n\t\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\t\twhile(colpeat-- > 0) {\n\t\t\t\t\t\t\tif(opts.dense) { if(!ws[\"!data\"][R]) ws[\"!data\"][R] = []; ws[\"!data\"][R][C] = {t:'z'}; }\n\t\t\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t\t\t\t++C;\n\t\t\t\t\t\t} --C;\n\t\t\t\t\t}\n\t\t\t\t\telse C += colpeat - 1;\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10)||1;\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif(ctag[\"style-name\"] && styles[ctag[\"style-name\"]]) q.z = styles[ctag[\"style-name\"]];\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[\"!data\"][R]) ws[\"!data\"][R] = [];\n\t\t\t\t\t\t\tws[\"!data\"][R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_col(C) + encode_row(R)] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = oldtextp = \"\"; textpidx = oldtextpidx = 0; textR = []; oldtextR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tctag2 = parsexmltagraw(Rn[0], true);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag[\"style-name\"] && styles[ctag[\"style-name\"]]) q.z = styles[ctag[\"style-name\"]];\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned']||\"1\",10) || 1;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned']||\"1\",10) || 1;\n\t\t\t\t\t\tif(mR * mC > 1) {\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type TODO: verify ODS and UOS */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']) || (+ctag['boolean-value'] >= 1); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value);\n\t\t\t\t\t\t\tif(opts.cellDates && q.z && fmt_is_date(q.z)) { q.v = numdate(q.v + (WB.WBProps.date1904 ? 1462 : 0)); q.t = typeof q.v == \"number\" ? 'n' : 'd'; }\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value'], WB.WBProps.date1904);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v, WB.WBProps.date1904); }\n\t\t\t\t\t\t\tif(!q.z) q.z = 'm/d/yy'; break;\n\t\t\t\t\t\t/* NOTE: for `time`, Excel ODS export incorrectly uses durations relative to 1900 epoch even if 1904 is specified */\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.v = numdate(q.v); q.t = typeof q.v == \"number\" ? 'n' : 'd'; }\n\t\t\t\t\t\t\tif(!q.z) q.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(ctag2['calcext:value-type'] == \"error\" && RBErr[textp] != null) {\n\t\t\t\t\t\tq.t = 'e'; q.w = textp; q.v = RBErr[textp];\n\t\t\t\t\t}\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[\"!data\"][R + rpt]) ws[\"!data\"][R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[\"!data\"][R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[\"!data\"][R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t\ttextp = oldtextp; textpidx = oldtextpidx; textR = oldtextR;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tstate.push([Rn[3], false]);\n\t\t\t\t\tvar annotag = parsexmltag(Rn[0], true);\n\t\t\t\t\t/* office:display TODO: check if there is a global override */\n\t\t\t\t\tif(!(annotag[\"display\"] && parsexmlbool(annotag[\"display\"]))) comments.hidden = true;\n\t\t\t\t\toldtextp = textp; oldtextpidx = textpidx; oldtextR = textR;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // \n\t\t\tcase 'currency-symbol': // \n\t\t\tcase 'fill-character': // 16.29.5 \n\t\t\t\tbreak;\n\n\t\t\tcase 'text-style': // 16.27.25 \n\t\t\tcase 'boolean-style': // 16.27.23 \n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'currency-style': // 16.29.8 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tvar xlmlidx = xlmlregex.lastIndex;\n\t\t\t\t\tparse_ods_styles(str.slice(nfidx, xlmlregex.lastIndex), _opts, number_format_map);\n\t\t\t\t\txlmlregex.lastIndex = xlmlidx;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tnfidx = xlmlregex.lastIndex - Rn[0].length;\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': { // 16.2 \n\t\t\t\tvar styletag = parsexmltag(Rn[0], false);\n\t\t\t\tif(styletag[\"family\"] == \"table-cell\" && number_format_map[styletag[\"data-style-name\"]]) styles[styletag[\"name\"]] = number_format_map[styletag[\"data-style-name\"]];\n\t\t\t} break;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tbreak;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tbreak;\n\n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': // 9.4.2 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\tswitch(tag[\"date-value\"]) {\n\t\t\t\t\tcase \"1904-01-01\": WB.WBProps.date1904 = true; break;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else if(Rn[0].slice(-2) == \"/>\") {\n\t\t\t\t\t/* TODO: is self-closing 文本串 valid? */\n\t\t\t\t\ttextp += \"\\n\";\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\n\t\t\t/* 9.5 Filters */\n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\t\t\tcase 'filter-set-item': break; // 9.5.6 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\n\n// TODO: find out if anyone actually read the spec. LO has some wild errors\nfunction write_number_format_ods(nf/*:string*/, nfidx/*:string*/)/*:string*/ {\n\tvar type = \"number\", payload = \"\", nopts = { \"style:name\": nfidx }, c = \"\", i = 0;\n\tnf = nf.replace(/\"[$]\"/g, \"$\");\n\t/* TODO: replace with an actual parser based on a real grammar */\n\tj: {\n\t\t// TODO: support style maps\n\t\tif(nf.indexOf(\";\") > -1) {\n\t\t\tconsole.error(\"Unsupported ODS Style Map exported. Using first branch of \" + nf);\n\t\t\tnf = nf.slice(0, nf.indexOf(\";\"));\n\t\t}\n\n\t\tif(nf == \"@\") { type = \"text\"; payload = \"\"; break j; }\n\n\t\t/* currency flag */\n\t\tif(nf.indexOf(/\\$/) > -1) { type = \"currency\"; }\n\n\t\t/* opening string literal */\n\t\tif(nf[i] == '\"') {\n\t\t\tc = \"\";\n\t\t\twhile(nf[++i] != '\"' || nf[++i] == '\"') c += nf[i]; --i;\n\t\t\tif(nf[i+1] == \"*\") {\n\t\t\t\ti++;\n\t\t\t\tpayload += '' + escapexml(c.replace(/\"\"/g, '\"')) + '';\n\t\t\t} else {\n\t\t\t\tpayload += '' + escapexml(c.replace(/\"\"/g, '\"')) + '';\n\t\t\t}\n\t\t\tnf = nf.slice(i+1); i = 0;\n\t\t}\n\n\t\t/* fractions */\n\t\tvar t = nf.match(/# (\\?+)\\/(\\?+)/);\n\t\tif(t) { payload += writextag(\"number:fraction\", null, {\"number:min-integer-digits\":0, \"number:min-numerator-digits\": t[1].length, \"number:max-denominator-value\": Math.max(+(t[1].replace(/./g, \"9\")), +(t[2].replace(/./g, \"9\"))) }); break j; }\n\t\tif((t=nf.match(/# (\\?+)\\/(\\d+)/))) { payload += writextag(\"number:fraction\", null, {\"number:min-integer-digits\":0, \"number:min-numerator-digits\": t[1].length, \"number:denominator-value\": +t[2]}); break j; }\n\n\t\t/* percentages */\n\t\tif((t=nf.match(/\\b(\\d+)(|\\.\\d+)%/))) { type = \"percentage\"; payload += writextag(\"number:number\", null, {\"number:decimal-places\": t[2] && t.length - 1 || 0, \"number:min-decimal-places\": t[2] && t.length - 1 || 0, \"number:min-integer-digits\": t[1].length }) + \"%\"; break j; }\n\n\t\t/* datetime */\n\t\tvar has_time = false;\n\t\tif([\"y\",\"m\",\"d\"].indexOf(nf[0]) > -1) {\n\t\t\ttype = \"date\";\n\t\t\tk: for(; i < nf.length; ++i) switch((c = nf[i].toLowerCase())) {\n\t\t\t\tcase \"h\": case \"s\": has_time = true; --i; break k;\n\t\t\t\tcase \"m\":\n\t\t\t\t\tl: for(var h = i+1; h < nf.length; ++h) switch(nf[h]) {\n\t\t\t\t\t\tcase \"y\": case \"d\": break l;\n\t\t\t\t\t\tcase \"h\": case \"s\": has_time = true; --i; break k;\n\t\t\t\t\t}\n\t\t\t\t\t/* falls through */\n\t\t\t\tcase \"y\": case \"d\":\n\t\t\t\t\twhile((nf[++i]||\"\").toLowerCase() == c[0]) c += c[0]; --i;\n\t\t\t\t\tswitch(c) {\n\t\t\t\t\t\tcase \"y\": case \"yy\": payload += \"\"; break;\n\t\t\t\t\t\tcase \"yyy\": case \"yyyy\": payload += ''; break;\n\t\t\t\t\t\tcase \"mmmmm\": console.error(\"ODS has no equivalent of format |mmmmm|\");\n\t\t\t\t\t\t\t/* falls through */\n\t\t\t\t\t\tcase \"m\": case \"mm\": case \"mmm\": case \"mmmm\":\n\t\t\t\t\t\t\tpayload += '= 3 ? \"true\" : \"false\") + '\"/>';\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase \"d\": case \"dd\": payload += ''; break;\n\t\t\t\t\t\tcase \"ddd\": case \"dddd\": payload += ''; break;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase '\"':\n\t\t\t\t\twhile(nf[++i] != '\"' || nf[++i] == '\"') c += nf[i]; --i;\n\t\t\t\t\tpayload += '' + escapexml(c.slice(1).replace(/\"\"/g, '\"')) + '';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '\\\\': c = nf[++i];\n\t\t\t\t\tpayload += '' + escapexml(c) + ''; break;\n\t\t\t\tcase '/': case ':': payload += '' + escapexml(c) + ''; break;\n\t\t\t\tdefault: console.error(\"unrecognized character \" + c + \" in ODF format \" + nf);\n\t\t\t}\n\t\t\tif(!has_time) break j;\n\t\t\tnf = nf.slice(i+1); i = 0;\n\t\t}\n\t\tif(nf.match(/^\\[?[hms]/)) {\n\t\t\tif(type == \"number\") type = \"time\";\n\t\t\tif(nf.match(/\\[/)) {\n\t\t\t\tnf = nf.replace(/[\\[\\]]/g, \"\");\n\t\t\t\tnopts['number:truncate-on-overflow'] = \"false\";\n\t\t\t}\n\t\t\tfor(; i < nf.length; ++i) switch((c = nf[i].toLowerCase())) {\n\t\t\t\tcase \"h\": case \"m\": case \"s\":\n\t\t\t\t\twhile((nf[++i]||\"\").toLowerCase() == c[0]) c += c[0]; --i;\n\t\t\t\t\tswitch(c) {\n\t\t\t\t\t\tcase \"h\": case \"hh\": payload += ''; break;\n\t\t\t\t\t\tcase \"m\": case \"mm\": payload += ''; break;\n\t\t\t\t\t\tcase \"s\": case \"ss\":\n\t\t\t\t\t\t\tif(nf[i+1] == \".\") do { c += nf[i+1]; ++i; } while(nf[i+1] == \"0\");\n\t\t\t\t\t\t\tpayload += ''; break;\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase '\"':\n\t\t\t\t\twhile(nf[++i] != '\"' || nf[++i] == '\"') c += nf[i]; --i;\n\t\t\t\t\tpayload += '' + escapexml(c.slice(1).replace(/\"\"/g, '\"')) + '';\n\t\t\t\t\tbreak;\n\t\t\t\tcase '/': case ':': payload += '' + escapexml(c) + ''; break;\n\t\t\t\tcase \"a\":\n\t\t\t\t\tif(nf.slice(i, i+3).toLowerCase() == \"a/p\") { payload += ''; i += 2; break; } // Note: ODF does not support A/P\n\t\t\t\t\tif(nf.slice(i, i+5).toLowerCase() == \"am/pm\") { payload += ''; i += 4; break; }\n\t\t\t\t\t/* falls through */\n\t\t\t\tdefault: console.error(\"unrecognized character \" + c + \" in ODF format \" + nf);\n\t\t\t}\n\t\t\tbreak j;\n\t\t}\n\n\t\t/* currency flag */\n\t\tif(nf.indexOf(/\\$/) > -1) { type = \"currency\"; }\n\n\t\t/* should be in a char loop */\n\t\tif(nf[0] == \"$\") { payload += '$'; nf = nf.slice(1); i = 0; }\n\t\ti = 0; if(nf[i] == '\"') {\n\t\t\twhile(nf[++i] != '\"' || nf[++i] == '\"') c += nf[i]; --i;\n\t\t\tif(nf[i+1] == \"*\") {\n\t\t\t\ti++;\n\t\t\t\tpayload += '' + escapexml(c.replace(/\"\"/g, '\"')) + '';\n\t\t\t} else {\n\t\t\t\tpayload += '' + escapexml(c.replace(/\"\"/g, '\"')) + '';\n\t\t\t}\n\t\t\tnf = nf.slice(i+1); i = 0;\n\t\t}\n\n\t\t/* number TODO: interstitial text e.g. 000)000-0000 */\n\t\tvar np = nf.match(/([#0][0#,]*)(\\.[0#]*|)(E[+]?0*|)/i);\n\t\tif(!np || !np[0]) console.error(\"Could not find numeric part of \" + nf);\n\t\telse {\n\t\t\tvar base = np[1].replace(/,/g, \"\");\n\t\t\tpayload += ' -1 ? ' number:grouping=\"true\"' : \"\") +\n\t\t\t\t(np[2] && ' number:decimal-places=\"' + (np[2].length - 1) + '\"' || ' number:decimal-places=\"0\"') +\n\t\t\t\t(np[3] && np[3].indexOf(\"+\") > -1 ? ' number:forced-exponent-sign=\"true\"' : \"\" ) +\n\t\t\t\t(np[3] ? ' number:min-exponent-digits=\"' + np[3].match(/0+/)[0].length + '\"' : \"\" ) +\n\t\t\t\t'>' +\n\t\t\t\t/* TODO: interstitial text placeholders */\n\t\t\t\t'';\n\t\t\ti = np.index + np[0].length;\n\t\t}\n\n\t\t/* residual text */\n\t\tif(nf[i] == '\"') {\n\t\t\tc = \"\";\n\t\t\twhile(nf[++i] != '\"' || nf[++i] == '\"') c += nf[i]; --i;\n\t\t\tpayload += '' + escapexml(c.replace(/\"\"/g, '\"')) + '';\n\t\t}\n\t}\n\n\tif(!payload) { console.error(\"Could not generate ODS number format for |\" + nf + \"|\"); return \"\"; }\n\treturn writextag(\"number:\" + type + \"-style\", payload, nopts);\n}\n\nfunction write_names_ods(Names, SheetNames, idx) {\n\t//var scoped = Names.filter(function(name) { return name.Sheet == (idx == -1 ? null : idx); });\n\tvar scoped = []; for(var namei = 0; namei < Names.length; ++namei) {\n\t\tvar name = Names[namei];\n\t\tif(!name) continue;\n\t\tif(name.Sheet == (idx == -1 ? null : idx)) scoped.push(name);\n\t}\n\tif(!scoped.length) return \"\";\n\treturn \" \\n\" + scoped.map(function(name) {\n\t\tvar odsref = (idx == -1 ? \"$\" : \"\") + csf_to_ods_3D(name.Ref);\n\t\treturn \" \" + writextag(\"table:named-range\", null, {\n\t\t\t\"table:name\": name.Name,\n\t\t\t\"table:cell-range-address\": odsref,\n\t\t\t\"table:base-cell-address\": odsref.replace(/[\\.][^\\.]*$/, \".$A$1\")\n\t\t});\n\t}).join(\"\\n\") + \"\\n \\n\";\n}\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/, span)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, span ? \"\": \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*/, opts, nfs, date1904)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = ws[\"!data\"] != null;\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(' \\n'); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[\"!data\"][R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tif(!isFinite(cell.v)) {\n\t\t\t\t\t\t\tif(isNaN(cell.v)) {\n\t\t\t\t\t\t\t\ttextp = \"#NUM!\";\n\t\t\t\t\t\t\t\tct['table:formula'] = \"of:=#NUM!\";\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttextp = \"#DIV/0!\";\n\t\t\t\t\t\t\t\tct['table:formula'] = \"of:=\" + (cell.v < 0 ? \"-\" : \"\") + \"1/0\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tct['office:string-value'] = \"\";\n\t\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\t\tct['calcext:value-type'] = \"error\";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v, date1904).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v, date1904).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e': // TODO: translate to ODS errors\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue; // TODO: empty cell with comments\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\tif(nfs[cell.z]) ct[\"table:style-name\"] = \"ce\" + nfs[cell.z].slice(1);\n\t\t\t\tvar payload = writextag('text:p', text_p, {});\n\t\t\t\tif(cell.c) {\n\t\t\t\t\tvar acreator = \"\", apayload = \"\", aprops = {};\n\t\t\t\t\tfor(var ci = 0; ci < cell.c.length; ++ci) {\n\t\t\t\t\t\tif(!acreator && cell.c[ci].a) acreator = cell.c[ci].a;\n\t\t\t\t\t\tapayload += \"\" + write_text_p(cell.c[ci].t) + \"\";\n\t\t\t\t\t}\n\t\t\t\t\tif(!cell.c.hidden) aprops[\"office:display\"] = true;\n\t\t\t\t\tpayload = writextag('office:annotation', apayload, aprops) + payload;\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', payload, ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\tif((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, i));\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* number formats, table cells, text */\n\t\tvar nfs = {};\n\t\tvar nfi = 69;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tvar dense = (ws[\"!data\"] != null);\n\t\t\tif(!ws[\"!ref\"]) return;\n\t\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\t\tfor(var R = 0; R <= range.e.r; ++R) for(var C = 0; C <= range.e.c; ++C) {\n\t\t\t\tvar c = dense ? (ws[\"!data\"][R]||[])[C] : ws[encode_cell({r:R,c:C})];\n\t\t\t\tif(!c || !c.z || c.z.toLowerCase() == \"general\") continue;\n\t\t\t\tif(!nfs[c.z]) {\n\t\t\t\t\tvar out = write_number_format_ods(c.z, \"N\" + nfi);\n\t\t\t\t\tif(out) { nfs[c.z] = \"N\" + nfi; ++nfi; o.push(out + \"\\n\"); }\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\to.push(' \\n');\n\t\tkeys(nfs).forEach(function(nf) {\n\t\t\to.push('\\n');\n\t\t});\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t\treturn nfs;\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/]*?>/, \"\").replace(/<\\/office:document-meta>/, \"\") + \"\\n\");\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\tvar nfs = write_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(((wb.Workbook||{}).WBProps||{}).date1904) o.push(' \\n \\n \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts, nfs, ((wb.Workbook||{}).WBProps||{}).date1904));\n\t\tif((wb.Workbook||{}).Names) o.push(write_names_ods(wb.Workbook.Names, wb.SheetNames, -1));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nvar subarray = function() {\n try {\n if (typeof Uint8Array == \"undefined\")\n return \"slice\";\n if (typeof Uint8Array.prototype.subarray == \"undefined\")\n return \"slice\";\n if (typeof Buffer !== \"undefined\") {\n if (typeof Buffer.prototype.subarray == \"undefined\")\n return \"slice\";\n if ((typeof Buffer.from == \"function\" ? Buffer.from([72, 62]) : new Buffer([72, 62])) instanceof Uint8Array)\n return \"subarray\";\n return \"slice\";\n }\n return \"subarray\";\n } catch (e) {\n return \"slice\";\n }\n}();\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8concat(u8a) {\n var len = 0;\n for (var i = 0; i < u8a.length; ++i)\n len += u8a[i].length;\n var out = new Uint8Array(len);\n var off = 0;\n for (i = 0; i < u8a.length; ++i) {\n var u8 = u8a[i], L = u8.length;\n if (L < 250) {\n for (var j = 0; j < L; ++j)\n out[off++] = u8[j];\n } else {\n out.set(u8, off);\n off += L;\n }\n }\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 16;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr.l;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n ptr.l = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz[subarray](0, L);\n}\nfunction parse_packed_varints(buf) {\n var ptr = { l: 0 };\n var out = [];\n while (ptr.l < buf.length)\n out.push(parse_varint49(buf, ptr));\n return out;\n}\nfunction write_packed_varints(nums) {\n return u8concat(nums.map(function(x) {\n return write_varint49(x);\n }));\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n if (buf[l++] < 128)\n return i32;\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n return i32;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n return i32;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n return i32;\n i32 |= (buf[l] & 15) << 28;\n return i32;\n}\nfunction varint_to_u64(buf) {\n var l = 0, lo = buf[l] & 127, hi = 0;\n varint:\n if (buf[l++] >= 128) {\n lo |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n lo |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n lo |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n lo |= (buf[l] & 127) << 28;\n hi = buf[l] >> 4 & 7;\n if (buf[l++] < 128)\n break varint;\n hi |= (buf[l] & 127) << 3;\n if (buf[l++] < 128)\n break varint;\n hi |= (buf[l] & 127) << 10;\n if (buf[l++] < 128)\n break varint;\n hi |= (buf[l] & 127) << 17;\n if (buf[l++] < 128)\n break varint;\n hi |= (buf[l] & 127) << 24;\n if (buf[l++] < 128)\n break varint;\n hi |= (buf[l] & 127) << 31;\n }\n return [lo >>> 0, hi >>> 0];\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = { l: 0 };\n while (ptr.l < buf.length) {\n var off = ptr.l;\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = num / 8 | 0;\n var data;\n var l = ptr.l;\n switch (type) {\n case 0:\n {\n while (buf[l++] >= 128)\n ;\n data = buf[subarray](ptr.l, l);\n ptr.l = l;\n }\n break;\n case 1:\n {\n data = buf[subarray](l, l + 8);\n ptr.l = l + 8;\n }\n break;\n case 2:\n {\n var len = parse_varint49(buf, ptr);\n data = buf[subarray](ptr.l, ptr.l + len);\n ptr.l += len;\n }\n break;\n case 5:\n {\n data = buf[subarray](l, l + 4);\n ptr.l = l + 4;\n }\n break;\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: data, type: type };\n if (out[num] == null)\n out[num] = [];\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n if (idx == 0)\n return;\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = { l: 0 };\n while (ptr.l < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf[subarray](ptr.l, ptr.l + len));\n ptr.l += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf[subarray](ptr.l, ptr.l + fl)\n });\n ptr.l += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [\n [],\n [{ data: write_varint49(ia.id), type: 0 }],\n []\n ];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = { l: 0 };\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n var l = ptr.l;\n while (l < buf.length) {\n var tag = buf[l] & 3;\n if (tag == 0) {\n var len = buf[l++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[l];\n if (c > 1)\n len |= buf[l + 1] << 8;\n if (c > 2)\n len |= buf[l + 2] << 16;\n if (c > 3)\n len |= buf[l + 3] << 24;\n len >>>= 0;\n len++;\n l += c;\n }\n chunks.push(buf[subarray](l, l + len));\n l += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[l] >> 2 & 7) + 4;\n offset = (buf[l++] & 224) << 3;\n offset |= buf[l++];\n } else {\n length = (buf[l++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[l] | buf[l + 1] << 8;\n l += 2;\n } else {\n offset = (buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16 | buf[l + 3] << 24) >>> 0;\n l += 4;\n }\n }\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n var j = chunks.length - 1, off = offset;\n while (j >= 0 && off >= chunks[j].length) {\n off -= chunks[j].length;\n --j;\n }\n if (j < 0) {\n if (off == 0)\n off = chunks[j = 0].length;\n else\n throw new Error(\"Invalid offset beyond length\");\n }\n if (length < off)\n chunks.push(chunks[j][subarray](chunks[j].length - off, chunks[j].length - off + length));\n else {\n if (off > 0) {\n chunks.push(chunks[j][subarray](chunks[j].length - off));\n length -= off;\n }\n ++j;\n while (length >= chunks[j].length) {\n chunks.push(chunks[j]);\n length -= chunks[j].length;\n ++j;\n }\n if (length)\n chunks.push(chunks[j][subarray](0, length));\n }\n if (chunks.length > 25)\n chunks = [u8concat(chunks)];\n }\n }\n var clen = 0;\n for (var u8i = 0; u8i < chunks.length; ++u8i)\n clen += chunks[u8i].length;\n if (clen != usz)\n throw new Error(\"Unexpected length: \".concat(clen, \" != \").concat(usz));\n return chunks;\n}\nfunction decompress_iwa_file(buf) {\n if (Array.isArray(buf))\n buf = new Uint8Array(buf);\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push.apply(out, parse_snappy_chunk(t, buf[subarray](l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return out.length == 1 ? out[0] : u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf[subarray](l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nvar numbers_lut_new = function() {\n return { sst: [], rsst: [], ofmt: [], nfmt: [], fmla: [], ferr: [], cmnt: [] };\n};\nfunction numbers_format_cell(cell, t, flags, ofmt, nfmt) {\n var _a, _b, _c, _d;\n var ctype = t & 255, ver = t >> 8;\n var fmt = ver >= 5 ? nfmt : ofmt;\n dur:\n if (flags & (ver > 4 ? 8 : 4) && cell.t == \"n\" && ctype == 7) {\n var dstyle = ((_a = fmt[7]) == null ? void 0 : _a[0]) ? varint_to_i32(fmt[7][0].data) : -1;\n if (dstyle == -1)\n break dur;\n var dmin = ((_b = fmt[15]) == null ? void 0 : _b[0]) ? varint_to_i32(fmt[15][0].data) : -1;\n var dmax = ((_c = fmt[16]) == null ? void 0 : _c[0]) ? varint_to_i32(fmt[16][0].data) : -1;\n var auto = ((_d = fmt[40]) == null ? void 0 : _d[0]) ? varint_to_i32(fmt[40][0].data) : -1;\n var d = cell.v, dd = d;\n autodur:\n if (auto) {\n if (d == 0) {\n dmin = dmax = 2;\n break autodur;\n }\n if (d >= 604800)\n dmin = 1;\n else if (d >= 86400)\n dmin = 2;\n else if (d >= 3600)\n dmin = 4;\n else if (d >= 60)\n dmin = 8;\n else if (d >= 1)\n dmin = 16;\n else\n dmin = 32;\n if (Math.floor(d) != d)\n dmax = 32;\n else if (d % 60)\n dmax = 16;\n else if (d % 3600)\n dmax = 8;\n else if (d % 86400)\n dmax = 4;\n else if (d % 604800)\n dmax = 2;\n if (dmax < dmin)\n dmax = dmin;\n }\n if (dmin == -1 || dmax == -1)\n break dur;\n var dstr = [], zstr = [];\n if (dmin == 1) {\n dd = d / 604800;\n if (dmax == 1) {\n zstr.push('d\"d\"');\n } else {\n dd |= 0;\n d -= 604800 * dd;\n }\n dstr.push(dd + (dstyle == 2 ? \" week\" + (dd == 1 ? \"\" : \"s\") : dstyle == 1 ? \"w\" : \"\"));\n }\n if (dmin <= 2 && dmax >= 2) {\n dd = d / 86400;\n if (dmax > 2) {\n dd |= 0;\n d -= 86400 * dd;\n }\n zstr.push('d\"d\"');\n dstr.push(dd + (dstyle == 2 ? \" day\" + (dd == 1 ? \"\" : \"s\") : dstyle == 1 ? \"d\" : \"\"));\n }\n if (dmin <= 4 && dmax >= 4) {\n dd = d / 3600;\n if (dmax > 4) {\n dd |= 0;\n d -= 3600 * dd;\n }\n zstr.push((dmin >= 4 ? \"[h]\" : \"h\") + '\"h\"');\n dstr.push(dd + (dstyle == 2 ? \" hour\" + (dd == 1 ? \"\" : \"s\") : dstyle == 1 ? \"h\" : \"\"));\n }\n if (dmin <= 8 && dmax >= 8) {\n dd = d / 60;\n if (dmax > 8) {\n dd |= 0;\n d -= 60 * dd;\n }\n zstr.push((dmin >= 8 ? \"[m]\" : \"m\") + '\"m\"');\n if (dstyle == 0)\n dstr.push((dmin == 8 && dmax == 8 || dd >= 10 ? \"\" : \"0\") + dd);\n else\n dstr.push(dd + (dstyle == 2 ? \" minute\" + (dd == 1 ? \"\" : \"s\") : dstyle == 1 ? \"m\" : \"\"));\n }\n if (dmin <= 16 && dmax >= 16) {\n dd = d;\n if (dmax > 16) {\n dd |= 0;\n d -= dd;\n }\n zstr.push((dmin >= 16 ? \"[s]\" : \"s\") + '\"s\"');\n if (dstyle == 0)\n dstr.push((dmax == 16 && dmin == 16 || dd >= 10 ? \"\" : \"0\") + dd);\n else\n dstr.push(dd + (dstyle == 2 ? \" second\" + (dd == 1 ? \"\" : \"s\") : dstyle == 1 ? \"s\" : \"\"));\n }\n if (dmax >= 32) {\n dd = Math.round(1e3 * d);\n if (dmin < 32)\n zstr.push('.000\"ms\"');\n if (dstyle == 0)\n dstr.push((dd >= 100 ? \"\" : dd >= 10 ? \"0\" : \"00\") + dd);\n else\n dstr.push(dd + (dstyle == 2 ? \" millisecond\" + (dd == 1 ? \"\" : \"s\") : dstyle == 1 ? \"ms\" : \"\"));\n }\n cell.w = dstr.join(dstyle == 0 ? \":\" : \" \");\n cell.z = zstr.join(dstyle == 0 ? '\":\"' : \" \");\n if (dstyle == 0)\n cell.w = cell.w.replace(/:(\\d\\d\\d)$/, \".$1\");\n }\n}\nfunction parse_old_storage(buf, lut, v, opts) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var ridx = -1, sidx = -1, zidx = -1, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1));\n var doff = v > 1 ? 12 : 8;\n if (flags & 2) {\n zidx = dv.getUint32(doff, true);\n doff += 4;\n }\n doff += popcnt(flags & (v > 1 ? 3468 : 396)) * 4;\n if (flags & 512) {\n ridx = dv.getUint32(doff, true);\n doff += 4;\n }\n doff += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(doff, true);\n doff += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(doff, true);\n doff += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3);\n doff += 8;\n }\n if (v > 1) {\n flags = dv.getUint32(8, true) >>> 16;\n if (flags & 255) {\n if (zidx == -1)\n zidx = dv.getUint32(doff, true);\n doff += 4;\n }\n }\n var ret;\n var t = buf[v >= 4 ? 1 : 2];\n switch (t) {\n case 0:\n return void 0;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: lut.sst[sidx] };\n break;\n case 5:\n {\n if (opts == null ? void 0 : opts.cellDates)\n ret = { t: \"d\", v: dt };\n else\n ret = { t: \"n\", v: dc / 86400 + 35430, z: table_fmt[14] };\n }\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1) {\n var rts = lut.rsst[ridx];\n ret = { t: \"s\", v: rts.v };\n if (rts.l)\n ret.l = { Target: rts.l };\n } else\n throw new Error(\"Unsupported cell type \".concat(buf[subarray](0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[subarray](0, 4)));\n }\n if (zidx > -1)\n numbers_format_cell(ret, t | v << 8, flags, lut.ofmt[zidx], lut.nfmt[zidx]);\n if (t == 7)\n ret.v /= 86400;\n return ret;\n}\nfunction parse_new_storage(buf, lut, opts) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var fields = dv.getUint32(8, true);\n var doff = 12;\n var ridx = -1, sidx = -1, zidx = -1, d128 = NaN, ieee = NaN, dc = 0, dt = new Date(Date.UTC(2001, 0, 1)), eidx = -1, fidx = -1;\n if (fields & 1) {\n d128 = readDecimal128LE(buf, doff);\n doff += 16;\n }\n if (fields & 2) {\n ieee = dv.getFloat64(doff, true);\n doff += 8;\n }\n if (fields & 4) {\n dt.setTime(dt.getTime() + (dc = dv.getFloat64(doff, true)) * 1e3);\n doff += 8;\n }\n if (fields & 8) {\n sidx = dv.getUint32(doff, true);\n doff += 4;\n }\n if (fields & 16) {\n ridx = dv.getUint32(doff, true);\n doff += 4;\n }\n doff += popcnt(fields & 480) * 4;\n if (fields & 512) {\n fidx = dv.getUint32(doff, true);\n doff += 4;\n }\n doff += popcnt(fields & 1024) * 4;\n if (fields & 2048) {\n eidx = dv.getUint32(doff, true);\n doff += 4;\n }\n var ret;\n var t = buf[1];\n switch (t) {\n case 0:\n ret = { t: \"z\" };\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: lut.sst[sidx] };\n break;\n case 5:\n {\n if (opts == null ? void 0 : opts.cellDates)\n ret = { t: \"d\", v: dt };\n else\n ret = { t: \"n\", v: dc / 86400 + 35430, z: table_fmt[14] };\n }\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1) {\n var rts = lut.rsst[ridx];\n ret = { t: \"s\", v: rts.v };\n if (rts.l)\n ret.l = { Target: rts.l };\n } else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(fields & 31, \" : \").concat(buf[subarray](0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(fields & 31, \" : \").concat(buf[subarray](0, 4)));\n }\n doff += popcnt(fields & 4096) * 4;\n if (fields & 516096) {\n if (zidx == -1)\n zidx = dv.getUint32(doff, true);\n doff += 4;\n }\n if (fields & 524288) {\n var cmntidx = dv.getUint32(doff, true);\n doff += 4;\n if (lut.cmnt[cmntidx])\n ret.c = iwa_to_s5s_comment(lut.cmnt[cmntidx]);\n }\n if (zidx > -1)\n numbers_format_cell(ret, t | 5 << 8, fields >> 13, lut.ofmt[zidx], lut.nfmt[zidx]);\n if (t == 7)\n ret.v /= 86400;\n return ret;\n}\nfunction write_new_storage(cell, lut) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n if (cell.z && fmt_is_date(cell.z)) {\n out[1] = 5;\n dv.setFloat64(l, (numdate(cell.v + 1462).getTime() - Date.UTC(2001, 0, 1)) / 1e3, true);\n fields |= 4;\n l += 8;\n break;\n } else {\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n fields |= 1;\n l += 16;\n }\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n fields |= 2;\n l += 8;\n break;\n case \"s\":\n {\n var s = cell.v == null ? \"\" : String(cell.v);\n if (cell.l) {\n var irsst = lut.rsst.findIndex(function(v) {\n var _a;\n return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target);\n });\n if (irsst == -1)\n lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target };\n out[1] = 9;\n dv.setUint32(l, irsst, true);\n fields |= 16;\n l += 4;\n } else {\n var isst = lut.sst.indexOf(s);\n if (isst == -1)\n lut.sst[isst = lut.sst.length] = s;\n out[1] = 3;\n dv.setUint32(l, isst, true);\n fields |= 8;\n l += 4;\n }\n }\n break;\n case \"d\":\n out[1] = 5;\n dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true);\n fields |= 4;\n l += 8;\n break;\n case \"z\":\n out[1] = 0;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n if (cell.c) {\n lut.cmnt.push(s5s_to_iwa_comment(cell.c));\n dv.setUint32(l, lut.cmnt.length - 1, true);\n fields |= 524288;\n l += 4;\n }\n dv.setUint32(8, fields, true);\n return out[subarray](0, l);\n}\nfunction write_old_storage(cell, lut) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, fields = 0, s = \"\";\n out[0] = 4;\n switch (cell.t) {\n case \"n\":\n break;\n case \"b\":\n break;\n case \"s\":\n {\n s = cell.v == null ? \"\" : String(cell.v);\n if (cell.l) {\n var irsst = lut.rsst.findIndex(function(v) {\n var _a;\n return v.v == s && v.l == ((_a = cell.l) == null ? void 0 : _a.Target);\n });\n if (irsst == -1)\n lut.rsst[irsst = lut.rsst.length] = { v: s, l: cell.l.Target };\n out[1] = 9;\n dv.setUint32(l, irsst, true);\n fields |= 512;\n l += 4;\n } else {\n }\n }\n break;\n case \"d\":\n break;\n case \"e\":\n break;\n case \"z\":\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n if (cell.c) {\n dv.setUint32(l, lut.cmnt.length - 1, true);\n fields |= 4096;\n l += 4;\n }\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n dv.setFloat64(l, cell.v, true);\n fields |= 32;\n l += 8;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n fields |= 32;\n l += 8;\n break;\n case \"s\":\n {\n s = cell.v == null ? \"\" : String(cell.v);\n if (cell.l) {\n } else {\n var isst = lut.sst.indexOf(s);\n if (isst == -1)\n lut.sst[isst = lut.sst.length] = s;\n out[1] = 3;\n dv.setUint32(l, isst, true);\n fields |= 16;\n l += 4;\n }\n }\n break;\n case \"d\":\n out[1] = 5;\n dv.setFloat64(l, (cell.v.getTime() - Date.UTC(2001, 0, 1)) / 1e3, true);\n fields |= 64;\n l += 8;\n break;\n case \"z\":\n out[1] = 0;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, fields, true);\n return out[subarray](0, l);\n}\nfunction parse_cell_storage(buf, lut, opts) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n case 4:\n return parse_old_storage(buf, lut, buf[0], opts);\n case 5:\n return parse_new_storage(buf, lut, opts);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return varint_to_i32(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n return write_shallow([\n [],\n [{ type: 0, data: write_varint49(idx) }]\n ]);\n}\nfunction numbers_add_oref(iwa, ref) {\n var _a;\n var orefs = ((_a = iwa.messages[0].meta[5]) == null ? void 0 : _a[0]) ? parse_packed_varints(iwa.messages[0].meta[5][0].data) : [];\n var orefidx = orefs.indexOf(ref);\n if (orefidx == -1) {\n orefs.push(ref);\n iwa.messages[0].meta[5] = [{ type: 2, data: write_packed_varints(orefs) }];\n }\n}\nfunction numbers_del_oref(iwa, ref) {\n var _a;\n var orefs = ((_a = iwa.messages[0].meta[5]) == null ? void 0 : _a[0]) ? parse_packed_varints(iwa.messages[0].meta[5][0].data) : [];\n iwa.messages[0].meta[5] = [{ type: 2, data: write_packed_varints(orefs.filter(function(r) {\n return r != ref;\n })) }];\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var _a, _b;\n var le = parse_shallow(entry.data);\n if (!le[1])\n return;\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n var richtext = { v: tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\") };\n data[key] = richtext;\n sfields:\n if ((_a = tswpsa == null ? void 0 : tswpsa[11]) == null ? void 0 : _a[0]) {\n var smartfields = (_b = parse_shallow(tswpsa[11][0].data)) == null ? void 0 : _b[1];\n if (!smartfields)\n break sfields;\n smartfields.forEach(function(sf) {\n var _a2, _b2, _c;\n var attr = parse_shallow(sf.data);\n if ((_a2 = attr[2]) == null ? void 0 : _a2[0]) {\n var obj = M[parse_TSP_Reference((_b2 = attr[2]) == null ? void 0 : _b2[0].data)][0];\n var objtype = varint_to_i32(obj.meta[1][0].data);\n switch (objtype) {\n case 2032:\n var hlink = parse_shallow(obj.data);\n if (((_c = hlink == null ? void 0 : hlink[2]) == null ? void 0 : _c[0]) && !richtext.l)\n richtext.l = u8str(hlink[2][0].data);\n break;\n case 2039:\n break;\n default:\n console.log(\"unrecognized ObjectAttribute type \".concat(objtype));\n }\n }\n });\n }\n }\n break;\n case 2:\n data[key] = parse_shallow(le[6][0].data);\n break;\n case 3:\n data[key] = parse_shallow(le[5][0].data);\n break;\n case 10:\n {\n var cs = M[parse_TSP_Reference(le[10][0].data)][0];\n data[key] = parse_TSD_CommentStorageArchive(M, cs.data);\n }\n break;\n default:\n throw type;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage[subarray](offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage[subarray](offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = -1;\n if ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) {\n if (varint_to_i32(pb[7][0].data) >>> 0)\n storage = 1;\n else\n storage = 0;\n }\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TSD_CommentStorageArchive(M, data) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;\n var out = { t: \"\", a: \"\" };\n var csp = parse_shallow(data);\n if ((_b = (_a = csp == null ? void 0 : csp[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data)\n out.t = u8str((_d = (_c = csp == null ? void 0 : csp[1]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) || \"\";\n if ((_f = (_e = csp == null ? void 0 : csp[3]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data) {\n var as = M[parse_TSP_Reference((_h = (_g = csp == null ? void 0 : csp[3]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data)][0];\n var asp = parse_shallow(as.data);\n if ((_j = (_i = asp[1]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data)\n out.a = u8str(asp[1][0].data);\n }\n if (csp == null ? void 0 : csp[4]) {\n out.replies = [];\n csp[4].forEach(function(pi) {\n var cs = M[parse_TSP_Reference(pi.data)][0];\n out.replies.push(parse_TSD_CommentStorageArchive(M, cs.data));\n });\n }\n return out;\n}\nfunction iwa_to_s5s_comment(iwa) {\n var out = [];\n out.push({ t: iwa.t || \"\", a: iwa.a, T: iwa.replies && iwa.replies.length > 0 });\n if (iwa.replies)\n iwa.replies.forEach(function(reply) {\n out.push({ t: reply.t || \"\", a: reply.a, T: true });\n });\n return out;\n}\nfunction s5s_to_iwa_comment(s5s) {\n var out = { a: \"\", t: \"\", replies: [] };\n for (var i = 0; i < s5s.length; ++i) {\n if (i == 0) {\n out.a = s5s[i].a;\n out.t = s5s[i].t;\n } else {\n out.replies.push({ a: s5s[i].a, t: s5s[i].t });\n }\n }\n return out;\n}\nfunction parse_TST_TableModelArchive(M, root, ws, opts) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var dense = ws[\"!data\"] != null, dws = ws;\n var store = parse_shallow(pb[4][0].data);\n var lut = numbers_lut_new();\n if ((_a = store[4]) == null ? void 0 : _a[0])\n lut.sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n if ((_b = store[6]) == null ? void 0 : _b[0])\n lut.fmla = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[6][0].data)][0]);\n if ((_c = store[11]) == null ? void 0 : _c[0])\n lut.ofmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[11][0].data)][0]);\n if ((_d = store[12]) == null ? void 0 : _d[0])\n lut.ferr = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[12][0].data)][0]);\n if ((_e = store[17]) == null ? void 0 : _e[0])\n lut.rsst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]);\n if ((_f = store[19]) == null ? void 0 : _f[0])\n lut.cmnt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[19][0].data)][0]);\n if ((_g = store[22]) == null ? void 0 : _g[0])\n lut.nfmt = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[22][0].data)][0]);\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n if (!((_h = store[9]) == null ? void 0 : _h[0]))\n throw \"NUMBERS file missing row tree\";\n var rtt = parse_shallow(store[9][0].data)[1].map(function(p) {\n return parse_shallow(p.data);\n });\n rtt.forEach(function(kv) {\n _R = varint_to_i32(kv[1][0].data);\n var tidx = varint_to_i32(kv[2][0].data);\n var t = tile[1][tidx];\n if (!t)\n throw \"NUMBERS missing tile \" + tidx;\n var tl = parse_shallow(t.data);\n var ref2 = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype2 = varint_to_i32(ref2.meta[1][0].data);\n if (mtype2 != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype2));\n var _tile = parse_TST_Tile(M, ref2);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var res = parse_cell_storage(buf, lut, opts);\n if (res) {\n if (dense) {\n if (!dws[\"!data\"][_R + R])\n dws[\"!data\"][_R + R] = [];\n dws[\"!data\"][_R + R][C] = res;\n } else {\n ws[encode_col(C) + encode_row(_R + R)] = res;\n }\n }\n });\n });\n _R += _tile.nrows;\n });\n if ((_i = store[13]) == null ? void 0 : _i[0]) {\n var ref = M[parse_TSP_Reference(store[13][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6144)\n throw new Error(\"Expected merge type 6144, found \".concat(mtype));\n ws[\"!merges\"] = (_j = parse_shallow(ref.data)) == null ? void 0 : _j[1].map(function(pi) {\n var merge = parse_shallow(pi.data);\n var origin = u8_to_dataview(parse_shallow(merge[1][0].data)[1][0].data), size = u8_to_dataview(parse_shallow(merge[2][0].data)[1][0].data);\n return {\n s: { r: origin.getUint16(0, true), c: origin.getUint16(2, true) },\n e: {\n r: origin.getUint16(0, true) + size.getUint16(0, true) - 1,\n c: origin.getUint16(2, true) + size.getUint16(2, true) - 1\n }\n };\n });\n }\n if (!((_k = ws[\"!merges\"]) == null ? void 0 : _k.length) && ((_l = pb[47]) == null ? void 0 : _l[0])) {\n var merge_owner = parse_shallow(pb[47][0].data);\n if ((_m = merge_owner[2]) == null ? void 0 : _m[0]) {\n var formula_store = parse_shallow(merge_owner[2][0].data);\n if ((_n = formula_store[3]) == null ? void 0 : _n[0]) {\n ws[\"!merges\"] = mappa(formula_store[3], function(u) {\n var _a2, _b2, _c2, _d2, _e2;\n var formula_pair = parse_shallow(u);\n var formula = parse_shallow(formula_pair[2][0].data);\n var AST_node_array = parse_shallow(formula[1][0].data);\n if (!((_a2 = AST_node_array[1]) == null ? void 0 : _a2[0]))\n return;\n var AST_node0 = parse_shallow(AST_node_array[1][0].data);\n var AST_node_type = varint_to_i32(AST_node0[1][0].data);\n if (AST_node_type != 67)\n return;\n var AST_colon_tract = parse_shallow(AST_node0[40][0].data);\n if (!((_b2 = AST_colon_tract[3]) == null ? void 0 : _b2[0]) || !((_c2 = AST_colon_tract[4]) == null ? void 0 : _c2[0]))\n return;\n var colrange = parse_shallow(AST_colon_tract[3][0].data);\n var rowrange = parse_shallow(AST_colon_tract[4][0].data);\n var c = varint_to_i32(colrange[1][0].data);\n var C = ((_d2 = colrange[2]) == null ? void 0 : _d2[0]) ? varint_to_i32(colrange[2][0].data) : c;\n var r = varint_to_i32(rowrange[1][0].data);\n var R = ((_e2 = rowrange[2]) == null ? void 0 : _e2[0]) ? varint_to_i32(rowrange[2][0].data) : r;\n return { s: { r: r, c: c }, e: { r: R, c: C } };\n }).filter(function(x) {\n return x != null;\n });\n }\n }\n }\n}\nfunction parse_TST_TableInfoArchive(M, root, opts) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n if (opts == null ? void 0 : opts.dense)\n out[\"!data\"] = [];\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out, opts);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root, opts) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m, opts));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root, opts) {\n var _a;\n var out = book_new();\n out.Workbook = { WBProps: { date1904: true } };\n var pb = parse_shallow(root.data);\n if ((_a = pb[2]) == null ? void 0 : _a[0])\n throw new Error(\"Keynote presentations are not supported\");\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m, opts);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n out.bookType = \"numbers\";\n return out;\n}\nfunction parse_numbers_iwa(cfb, opts) {\n var _a, _b, _c, _d, _e, _f, _g;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n if (s.content[0] != 0)\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n if (((_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0].meta) == null ? void 0 : _b[1]) == null ? void 0 : _c[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1e4)\n throw new Error(\"Pages documents are not supported\");\n var docroot = ((_g = (_f = (_e = (_d = M == null ? void 0 : M[1]) == null ? void 0 : _d[0]) == null ? void 0 : _e.meta) == null ? void 0 : _f[1]) == null ? void 0 : _g[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot, opts);\n}\nfunction write_TST_TileRowInfo(data, lut, wide) {\n var _a, _b, _c;\n var tri = [\n [],\n [{ type: 0, data: write_varint49(0) }],\n [{ type: 0, data: write_varint49(0) }],\n [{ type: 2, data: new Uint8Array([]) }],\n [{ type: 2, data: new Uint8Array(Array.from({ length: 510 }, function() {\n return 255;\n })) }],\n [{ type: 0, data: write_varint49(5) }],\n [{ type: 2, data: new Uint8Array([]) }],\n [{ type: 2, data: new Uint8Array(Array.from({ length: 510 }, function() {\n return 255;\n })) }],\n [{ type: 0, data: write_varint49(1) }]\n ];\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var cnt = 0;\n if (tri[7][0].data.length < 2 * data.length) {\n var new_7 = new Uint8Array(2 * data.length);\n new_7.set(tri[7][0].data);\n tri[7][0].data = new_7;\n }\n if (tri[4][0].data.length < 2 * data.length) {\n var new_4 = new Uint8Array(2 * data.length);\n new_4.set(tri[4][0].data);\n tri[4][0].data = new_4;\n }\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n var width = wide ? 4 : 1;\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null || data[C].t == \"z\" && !((_c = data[C].c) == null ? void 0 : _c.length) || data[C].t == \"e\") {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset / width, true);\n _dv.setUint16(C * 2, _last_offset / width, true);\n var celload, _celload;\n switch (data[C].t) {\n case \"d\":\n if (data[C].v instanceof Date) {\n celload = write_new_storage(data[C], lut);\n _celload = write_old_storage(data[C], lut);\n break;\n }\n celload = write_new_storage(data[C], lut);\n _celload = write_old_storage(data[C], lut);\n break;\n case \"s\":\n case \"n\":\n case \"b\":\n case \"z\":\n celload = write_new_storage(data[C], lut);\n _celload = write_old_storage(data[C], lut);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n {\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n }\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n tri[5][0].data = write_varint49(5);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n tri[8] = [{ type: 0, data: write_varint49(wide ? 1 : 0) }];\n return tri;\n}\nfunction write_iwam(type, payload) {\n return {\n meta: [\n [],\n [{ type: 0, data: write_varint49(type) }]\n ],\n data: payload\n };\n}\nfunction get_unique_msgid(dep, dependents) {\n if (!dependents.last)\n dependents.last = 927262;\n for (var i = dependents.last; i < 2e6; ++i)\n if (!dependents[i]) {\n dependents[dependents.last = i] = dep;\n return i;\n }\n throw new Error(\"Too many messages\");\n}\nfunction build_numbers_deps(cfb) {\n var dependents = {};\n var indices = [];\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n if (fi.content[0] != 0)\n return;\n parse_iwa_file(decompress_iwa_file(fi.content)).forEach(function(packet) {\n indices.push(packet.id);\n dependents[packet.id] = { deps: [], location: fp, type: varint_to_i32(packet.messages[0].meta[1][0].data) };\n });\n });\n cfb.FileIndex.forEach(function(fi) {\n if (!fi.name.match(/\\.iwa/))\n return;\n if (fi.content[0] != 0)\n return;\n parse_iwa_file(decompress_iwa_file(fi.content)).forEach(function(ia) {\n ia.messages.forEach(function(mess) {\n [5, 6].forEach(function(f) {\n if (!mess.meta[f])\n return;\n mess.meta[f].forEach(function(x) {\n dependents[ia.id].deps.push(varint_to_i32(x.data));\n });\n });\n });\n });\n });\n return dependents;\n}\nfunction write_TSP_Color_RGB(r, g, b) {\n return write_shallow([\n [],\n [{ type: 0, data: write_varint49(1) }],\n [],\n [{ type: 5, data: new Uint8Array(Float32Array.from([r / 255]).buffer) }],\n [{ type: 5, data: new Uint8Array(Float32Array.from([g / 255]).buffer) }],\n [{ type: 5, data: new Uint8Array(Float32Array.from([b / 255]).buffer) }],\n [{ type: 5, data: new Uint8Array(Float32Array.from([1]).buffer) }],\n [],\n [],\n [],\n [],\n [],\n [{ type: 0, data: write_varint49(1) }]\n ]);\n}\nfunction get_author_color(n) {\n switch (n) {\n case 0:\n return write_TSP_Color_RGB(99, 222, 171);\n case 1:\n return write_TSP_Color_RGB(162, 197, 240);\n case 2:\n return write_TSP_Color_RGB(255, 189, 189);\n }\n return write_TSP_Color_RGB(Math.random() * 255, Math.random() * 255, Math.random() * 255);\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n var deps = build_numbers_deps(cfb);\n var docroot = numbers_iwa_find(cfb, deps, 1);\n if (docroot == null)\n throw \"Could not find message \".concat(1, \" in Numbers template\");\n var sheetrefs = mappa(parse_shallow(docroot.messages[0].data)[1], parse_TSP_Reference);\n if (sheetrefs.length > 1)\n throw new Error(\"Template NUMBERS file must have exactly one sheet\");\n wb.SheetNames.forEach(function(name, idx) {\n if (idx >= 1) {\n numbers_add_ws(cfb, deps, idx + 1);\n docroot = numbers_iwa_find(cfb, deps, 1);\n sheetrefs = mappa(parse_shallow(docroot.messages[0].data)[1], parse_TSP_Reference);\n }\n write_numbers_ws(cfb, deps, wb.Sheets[name], name, idx, sheetrefs[idx]);\n });\n return cfb;\n}\nfunction numbers_iwa_doit(cfb, deps, id, cb) {\n var entry = CFB.find(cfb, deps[id].location);\n if (!entry)\n throw \"Could not find \".concat(deps[id].location, \" in Numbers template\");\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var ainfo = x.find(function(packet) {\n return packet.id == id;\n });\n cb(ainfo, x);\n entry.content = compress_iwa_file(write_iwa_file(x));\n entry.size = entry.content.length;\n}\nfunction numbers_iwa_find(cfb, deps, id) {\n var entry = CFB.find(cfb, deps[id].location);\n if (!entry)\n throw \"Could not find \".concat(deps[id].location, \" in Numbers template\");\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var ainfo = x.find(function(packet) {\n return packet.id == id;\n });\n return ainfo;\n}\nfunction numbers_add_meta(mlist, newid, newloc) {\n mlist[3].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(newid) }],\n [{ type: 2, data: stru8(newloc.replace(/-[\\s\\S]*$/, \"\")) }],\n [{ type: 2, data: stru8(newloc) }],\n [{ type: 2, data: new Uint8Array([2, 0, 0]) }],\n [{ type: 2, data: new Uint8Array([2, 0, 0]) }],\n [],\n [],\n [],\n [],\n [{ type: 0, data: write_varint49(0) }],\n [],\n [{ type: 0, data: write_varint49(0) }]\n ]) });\n mlist[1] = [{ type: 0, data: write_varint49(Math.max(newid + 1, varint_to_i32(mlist[1][0].data))) }];\n}\nfunction numbers_add_msg(cfb, type, msg, path, deps, id) {\n if (!id)\n id = get_unique_msgid({ deps: [], location: \"\", type: type }, deps);\n var loc = \"\".concat(path, \"-\").concat(id, \".iwa\");\n deps[id].location = \"Root Entry\" + loc;\n CFB.utils.cfb_add(cfb, loc, compress_iwa_file(write_iwa_file([{\n id: id,\n messages: [write_iwam(type, write_shallow(msg))]\n }])));\n var newloc = loc.replace(/^[\\/]/, \"\").replace(/^Index\\//, \"\").replace(/\\.iwa$/, \"\");\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_add_meta(mlist, id || 0, newloc);\n ai.messages[0].data = write_shallow(mlist);\n });\n return id;\n}\nfunction numbers_meta_add_dep(mlist, deps, id, dep) {\n var loc = deps[id].location.replace(/^Root Entry\\//, \"\").replace(/^Index\\//, \"\").replace(/\\.iwa$/, \"\");\n var parentidx = mlist[3].findIndex(function(m) {\n var _a, _b;\n var mm = parse_shallow(m.data);\n if ((_a = mm[3]) == null ? void 0 : _a[0])\n return u8str(mm[3][0].data) == loc;\n if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc)\n return true;\n return false;\n });\n var parent = parse_shallow(mlist[3][parentidx].data);\n if (!parent[6])\n parent[6] = [];\n (Array.isArray(dep) ? dep : [dep]).forEach(function(dep2) {\n parent[6].push({\n type: 2,\n data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(dep2) }]\n ])\n });\n });\n mlist[3][parentidx].data = write_shallow(parent);\n}\nfunction numbers_meta_del_dep(mlist, deps, id, dep) {\n var loc = deps[id].location.replace(/^Root Entry\\//, \"\").replace(/^Index\\//, \"\").replace(/\\.iwa$/, \"\");\n var parentidx = mlist[3].findIndex(function(m) {\n var _a, _b;\n var mm = parse_shallow(m.data);\n if ((_a = mm[3]) == null ? void 0 : _a[0])\n return u8str(mm[3][0].data) == loc;\n if (((_b = mm[2]) == null ? void 0 : _b[0]) && u8str(mm[2][0].data) == loc)\n return true;\n return false;\n });\n var parent = parse_shallow(mlist[3][parentidx].data);\n if (!parent[6])\n parent[6] = [];\n parent[6] = parent[6].filter(function(m) {\n return varint_to_i32(parse_shallow(m.data)[1][0].data) != dep;\n });\n mlist[3][parentidx].data = write_shallow(parent);\n}\nfunction numbers_add_ws(cfb, deps, wsidx) {\n var sheetref = -1, newsheetref = -1;\n var remap = {};\n numbers_iwa_doit(cfb, deps, 1, function(docroot, arch) {\n var doc = parse_shallow(docroot.messages[0].data);\n sheetref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n newsheetref = get_unique_msgid({ deps: [1], location: deps[sheetref].location, type: 2 }, deps);\n remap[sheetref] = newsheetref;\n numbers_add_oref(docroot, newsheetref);\n doc[1].push({ type: 2, data: write_TSP_Reference(newsheetref) });\n var sheet = numbers_iwa_find(cfb, deps, sheetref);\n sheet.id = newsheetref;\n if (deps[1].location == deps[newsheetref].location)\n arch.push(sheet);\n else\n numbers_iwa_doit(cfb, deps, newsheetref, function(_, x) {\n return x.push(sheet);\n });\n docroot.messages[0].data = write_shallow(doc);\n });\n var tiaref = -1;\n numbers_iwa_doit(cfb, deps, newsheetref, function(sheetroot, arch) {\n var sa = parse_shallow(sheetroot.messages[0].data);\n for (var i = 3; i <= 69; ++i)\n delete sa[i];\n var drawables = mappa(sa[2], parse_TSP_Reference);\n drawables.forEach(function(n) {\n return numbers_del_oref(sheetroot, n);\n });\n tiaref = get_unique_msgid({ deps: [newsheetref], location: deps[drawables[0]].location, type: deps[drawables[0]].type }, deps);\n numbers_add_oref(sheetroot, tiaref);\n remap[drawables[0]] = tiaref;\n sa[2] = [{ type: 2, data: write_TSP_Reference(tiaref) }];\n var tia = numbers_iwa_find(cfb, deps, drawables[0]);\n tia.id = tiaref;\n if (deps[drawables[0]].location == deps[newsheetref].location)\n arch.push(tia);\n else {\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_meta_add_dep(mlist, deps, newsheetref, tiaref);\n ai.messages[0].data = write_shallow(mlist);\n });\n numbers_iwa_doit(cfb, deps, tiaref, function(_, x) {\n return x.push(tia);\n });\n }\n sheetroot.messages[0].data = write_shallow(sa);\n });\n var tmaref = -1;\n numbers_iwa_doit(cfb, deps, tiaref, function(tiaroot, arch) {\n var tia = parse_shallow(tiaroot.messages[0].data);\n var da = parse_shallow(tia[1][0].data);\n for (var i = 3; i <= 69; ++i)\n delete da[i];\n var dap = parse_TSP_Reference(da[2][0].data);\n da[2][0].data = write_TSP_Reference(remap[dap]);\n tia[1][0].data = write_shallow(da);\n var oldtmaref = parse_TSP_Reference(tia[2][0].data);\n numbers_del_oref(tiaroot, oldtmaref);\n tmaref = get_unique_msgid({ deps: [tiaref], location: deps[oldtmaref].location, type: deps[oldtmaref].type }, deps);\n numbers_add_oref(tiaroot, tmaref);\n remap[oldtmaref] = tmaref;\n tia[2][0].data = write_TSP_Reference(tmaref);\n var tma = numbers_iwa_find(cfb, deps, oldtmaref);\n tma.id = tmaref;\n if (deps[tiaref].location == deps[tmaref].location)\n arch.push(tma);\n else\n numbers_iwa_doit(cfb, deps, tmaref, function(_, x) {\n return x.push(tma);\n });\n tiaroot.messages[0].data = write_shallow(tia);\n });\n numbers_iwa_doit(cfb, deps, tmaref, function(tmaroot, arch) {\n var _a, _b;\n var tma = parse_shallow(tmaroot.messages[0].data);\n var uuid = u8str(tma[1][0].data), new_uuid = uuid.replace(/-[A-Z0-9]*/, \"-\".concat((\"0000\" + wsidx.toString(16)).slice(-4)));\n tma[1][0].data = stru8(new_uuid);\n [12, 13, 29, 31, 32, 33, 39, 44, 47, 81, 82, 84].forEach(function(n) {\n return delete tma[n];\n });\n if (tma[45]) {\n var srrta = parse_shallow(tma[45][0].data);\n var ref = parse_TSP_Reference(srrta[1][0].data);\n numbers_del_oref(tmaroot, ref);\n delete tma[45];\n }\n if (tma[70]) {\n var hsoa = parse_shallow(tma[70][0].data);\n (_a = hsoa[2]) == null ? void 0 : _a.forEach(function(item) {\n var hsa = parse_shallow(item.data);\n [2, 3].map(function(n) {\n return hsa[n][0];\n }).forEach(function(hseadata) {\n var hsea = parse_shallow(hseadata.data);\n if (!hsea[8])\n return;\n var ref2 = parse_TSP_Reference(hsea[8][0].data);\n numbers_del_oref(tmaroot, ref2);\n });\n });\n delete tma[70];\n }\n [\n 46,\n 30,\n 34,\n 35,\n 36,\n 38,\n 48,\n 49,\n 60,\n 61,\n 62,\n 63,\n 64,\n 71,\n 72,\n 73,\n 74,\n 75,\n 85,\n 86,\n 87,\n 88,\n 89\n ].forEach(function(n) {\n if (!tma[n])\n return;\n var ref2 = parse_TSP_Reference(tma[n][0].data);\n delete tma[n];\n numbers_del_oref(tmaroot, ref2);\n });\n var store = parse_shallow(tma[4][0].data);\n {\n [2, 4, 5, 6, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22].forEach(function(n) {\n var _a2;\n if (!((_a2 = store[n]) == null ? void 0 : _a2[0]))\n return;\n var oldref = parse_TSP_Reference(store[n][0].data);\n var newref = get_unique_msgid({ deps: [tmaref], location: deps[oldref].location, type: deps[oldref].type }, deps);\n numbers_del_oref(tmaroot, oldref);\n numbers_add_oref(tmaroot, newref);\n remap[oldref] = newref;\n var msg = numbers_iwa_find(cfb, deps, oldref);\n msg.id = newref;\n if (deps[oldref].location == deps[tmaref].location)\n arch.push(msg);\n else {\n deps[newref].location = deps[oldref].location.replace(oldref.toString(), newref.toString());\n if (deps[newref].location == deps[oldref].location)\n deps[newref].location = deps[newref].location.replace(/\\.iwa/, \"-\".concat(newref, \".iwa\"));\n CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg])));\n var newloc = deps[newref].location.replace(/^Root Entry\\//, \"\").replace(/^Index\\//, \"\").replace(/\\.iwa$/, \"\");\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_add_meta(mlist, newref, newloc);\n numbers_meta_add_dep(mlist, deps, tmaref, newref);\n ai.messages[0].data = write_shallow(mlist);\n });\n }\n store[n][0].data = write_TSP_Reference(newref);\n });\n var row_headers = parse_shallow(store[1][0].data);\n {\n (_b = row_headers[2]) == null ? void 0 : _b.forEach(function(tspref) {\n var oldref = parse_TSP_Reference(tspref.data);\n var newref = get_unique_msgid({ deps: [tmaref], location: deps[oldref].location, type: deps[oldref].type }, deps);\n numbers_del_oref(tmaroot, oldref);\n numbers_add_oref(tmaroot, newref);\n remap[oldref] = newref;\n var msg = numbers_iwa_find(cfb, deps, oldref);\n msg.id = newref;\n if (deps[oldref].location == deps[tmaref].location) {\n arch.push(msg);\n } else {\n deps[newref].location = deps[oldref].location.replace(oldref.toString(), newref.toString());\n if (deps[newref].location == deps[oldref].location)\n deps[newref].location = deps[newref].location.replace(/\\.iwa/, \"-\".concat(newref, \".iwa\"));\n CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg])));\n var newloc = deps[newref].location.replace(/^Root Entry\\//, \"\").replace(/^Index\\//, \"\").replace(/\\.iwa$/, \"\");\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_add_meta(mlist, newref, newloc);\n numbers_meta_add_dep(mlist, deps, tmaref, newref);\n ai.messages[0].data = write_shallow(mlist);\n });\n }\n tspref.data = write_TSP_Reference(newref);\n });\n }\n store[1][0].data = write_shallow(row_headers);\n var tiles = parse_shallow(store[3][0].data);\n {\n tiles[1].forEach(function(t) {\n var tst = parse_shallow(t.data);\n var oldtileref = parse_TSP_Reference(tst[2][0].data);\n var newtileref = remap[oldtileref];\n if (!remap[oldtileref]) {\n newtileref = get_unique_msgid({ deps: [tmaref], location: \"\", type: deps[oldtileref].type }, deps);\n deps[newtileref].location = \"Root Entry/Index/Tables/Tile-\".concat(newtileref, \".iwa\");\n remap[oldtileref] = newtileref;\n var oldtile = numbers_iwa_find(cfb, deps, oldtileref);\n oldtile.id = newtileref;\n numbers_del_oref(tmaroot, oldtileref);\n numbers_add_oref(tmaroot, newtileref);\n CFB.utils.cfb_add(cfb, \"/Index/Tables/Tile-\".concat(newtileref, \".iwa\"), compress_iwa_file(write_iwa_file([oldtile])));\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n mlist[3].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(newtileref) }],\n [{ type: 2, data: stru8(\"Tables/Tile\") }],\n [{ type: 2, data: stru8(\"Tables/Tile-\".concat(newtileref)) }],\n [{ type: 2, data: new Uint8Array([2, 0, 0]) }],\n [{ type: 2, data: new Uint8Array([2, 0, 0]) }],\n [],\n [],\n [],\n [],\n [{ type: 0, data: write_varint49(0) }],\n [],\n [{ type: 0, data: write_varint49(0) }]\n ]) });\n mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileref + 1, varint_to_i32(mlist[1][0].data))) }];\n numbers_meta_add_dep(mlist, deps, tmaref, newtileref);\n ai.messages[0].data = write_shallow(mlist);\n });\n }\n tst[2][0].data = write_TSP_Reference(newtileref);\n t.data = write_shallow(tst);\n });\n }\n store[3][0].data = write_shallow(tiles);\n }\n tma[4][0].data = write_shallow(store);\n tmaroot.messages[0].data = write_shallow(tma);\n });\n}\nfunction write_numbers_ws(cfb, deps, ws, wsname, sheetidx, rootref) {\n var drawables = [];\n numbers_iwa_doit(cfb, deps, rootref, function(docroot) {\n var sheetref = parse_shallow(docroot.messages[0].data);\n {\n sheetref[1] = [{ type: 2, data: stru8(wsname) }];\n drawables = mappa(sheetref[2], parse_TSP_Reference);\n }\n docroot.messages[0].data = write_shallow(sheetref);\n });\n var tia = numbers_iwa_find(cfb, deps, drawables[0]);\n var tmaref = parse_TSP_Reference(parse_shallow(tia.messages[0].data)[2][0].data);\n numbers_iwa_doit(cfb, deps, tmaref, function(docroot, x) {\n return write_numbers_tma(cfb, deps, ws, docroot, x, tmaref);\n });\n}\nvar USE_WIDE_ROWS = true;\nfunction write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) {\n if (!ws[\"!ref\"])\n throw new Error(\"Cannot export empty sheet to NUMBERS\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 999) {\n trunc = true;\n range.e.c = 999;\n }\n if (range.e.r > 999999) {\n trunc = true;\n range.e.r = 999999;\n }\n if (trunc)\n console.error(\"Truncating to \".concat(encode_range(range)));\n var data = [];\n if (ws[\"!data\"])\n data = ws[\"!data\"];\n else {\n var colstr = [];\n for (var _C = 0; _C <= range.e.c; ++_C)\n colstr[_C] = encode_col(_C);\n for (var R_ = 0; R_ <= range.e.r; ++R_) {\n data[R_] = [];\n var _R = \"\" + (R_ + 1);\n for (_C = 0; _C <= range.e.c; ++_C) {\n var _cell = ws[colstr[_C] + _R];\n if (!_cell)\n continue;\n data[R_][_C] = _cell;\n }\n }\n }\n var LUT = {\n cmnt: [{ a: \"~54ee77S~\", t: \"... the people who are crazy enough to think they can change the world, are the ones who do.\" }],\n ferr: [],\n fmla: [],\n nfmt: [],\n ofmt: [],\n rsst: [{ v: \"~54ee77S~\", l: \"https://sheetjs.com/\" }],\n sst: [\"~Sh33tJ5~\"]\n };\n var pb = parse_shallow(tmaroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n var row_header_ref = parse_TSP_Reference(parse_shallow(store[1][0].data)[2][0].data);\n numbers_iwa_doit(cfb, deps, row_header_ref, function(rowhead, _x) {\n var _a;\n var base_bucket = parse_shallow(rowhead.messages[0].data);\n if ((_a = base_bucket == null ? void 0 : base_bucket[2]) == null ? void 0 : _a[0])\n for (var R2 = 0; R2 < data.length; ++R2) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R2);\n _bucket[4][0].data = write_varint49(data[R2].length);\n base_bucket[2][R2] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n rowhead.messages[0].data = write_shallow(base_bucket);\n });\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n numbers_iwa_doit(cfb, deps, col_header_ref, function(colhead, _x) {\n var base_bucket = parse_shallow(colhead.messages[0].data);\n for (var C = 0; C <= range.e.c; ++C) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n colhead.messages[0].data = write_shallow(base_bucket);\n });\n var rbtree = parse_shallow(store[9][0].data);\n rbtree[1] = [];\n var tilestore = parse_shallow(store[3][0].data);\n {\n var tstride = 256;\n tilestore[2] = [{ type: 0, data: write_varint49(tstride) }];\n var tileref = parse_TSP_Reference(parse_shallow(tilestore[1][0].data)[2][0].data);\n var save_token = function() {\n var metadata = numbers_iwa_find(cfb, deps, 2);\n var mlist = parse_shallow(metadata.messages[0].data);\n var mlst = mlist[3].filter(function(m) {\n return varint_to_i32(parse_shallow(m.data)[1][0].data) == tileref;\n });\n return (mlst == null ? void 0 : mlst.length) ? varint_to_i32(parse_shallow(mlst[0].data)[12][0].data) : 0;\n }();\n {\n CFB.utils.cfb_del(cfb, deps[tileref].location);\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n mlist[3] = mlist[3].filter(function(m) {\n return varint_to_i32(parse_shallow(m.data)[1][0].data) != tileref;\n });\n numbers_meta_del_dep(mlist, deps, tmaref, tileref);\n ai.messages[0].data = write_shallow(mlist);\n });\n numbers_del_oref(tmaroot, tileref);\n }\n tilestore[1] = [];\n var ntiles = Math.ceil((range.e.r + 1) / tstride);\n for (var tidx = 0; tidx < ntiles; ++tidx) {\n var newtileid = get_unique_msgid({\n deps: [],\n location: \"\",\n type: 6002\n }, deps);\n deps[newtileid].location = \"Root Entry/Index/Tables/Tile-\".concat(newtileid, \".iwa\");\n var tiledata = [\n [],\n [{ type: 0, data: write_varint49(0) }],\n [{ type: 0, data: write_varint49(Math.min(range.e.r + 1, (tidx + 1) * tstride)) }],\n [{ type: 0, data: write_varint49(0) }],\n [{ type: 0, data: write_varint49(Math.min((tidx + 1) * tstride, range.e.r + 1) - tidx * tstride) }],\n [],\n [{ type: 0, data: write_varint49(5) }],\n [{ type: 0, data: write_varint49(1) }],\n [{ type: 0, data: write_varint49(USE_WIDE_ROWS ? 1 : 0) }]\n ];\n for (var R = tidx * tstride; R <= Math.min(range.e.r, (tidx + 1) * tstride - 1); ++R) {\n var tilerow = write_TST_TileRowInfo(data[R], LUT, USE_WIDE_ROWS);\n tilerow[1][0].data = write_varint49(R - tidx * tstride);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tilestore[1].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(tidx) }],\n [{ type: 2, data: write_TSP_Reference(newtileid) }]\n ]) });\n var newtile = {\n id: newtileid,\n messages: [write_iwam(6002, write_shallow(tiledata))]\n };\n var tilecontent = compress_iwa_file(write_iwa_file([newtile]));\n CFB.utils.cfb_add(cfb, \"/Index/Tables/Tile-\".concat(newtileid, \".iwa\"), tilecontent);\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n mlist[3].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(newtileid) }],\n [{ type: 2, data: stru8(\"Tables/Tile\") }],\n [{ type: 2, data: stru8(\"Tables/Tile-\".concat(newtileid)) }],\n [{ type: 2, data: new Uint8Array([2, 0, 0]) }],\n [{ type: 2, data: new Uint8Array([2, 0, 0]) }],\n [],\n [],\n [],\n [],\n [{ type: 0, data: write_varint49(0) }],\n [],\n [{ type: 0, data: write_varint49(save_token) }]\n ]) });\n mlist[1] = [{ type: 0, data: write_varint49(Math.max(newtileid + 1, varint_to_i32(mlist[1][0].data))) }];\n numbers_meta_add_dep(mlist, deps, tmaref, newtileid);\n ai.messages[0].data = write_shallow(mlist);\n });\n numbers_add_oref(tmaroot, newtileid);\n rbtree[1].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(tidx * tstride) }],\n [{ type: 0, data: write_varint49(tidx) }]\n ]) });\n }\n }\n store[3][0].data = write_shallow(tilestore);\n store[9][0].data = write_shallow(rbtree);\n store[10] = [{ type: 2, data: new Uint8Array([]) }];\n if (ws[\"!merges\"]) {\n var mergeid = get_unique_msgid({\n type: 6144,\n deps: [tmaref],\n location: deps[tmaref].location\n }, deps);\n tmafile.push({\n id: mergeid,\n messages: [write_iwam(6144, write_shallow([\n [],\n ws[\"!merges\"].map(function(m) {\n return { type: 2, data: write_shallow([\n [],\n [{ type: 2, data: write_shallow([\n [],\n [{ type: 5, data: new Uint8Array(new Uint16Array([m.s.r, m.s.c]).buffer) }]\n ]) }],\n [{ type: 2, data: write_shallow([\n [],\n [{ type: 5, data: new Uint8Array(new Uint16Array([m.e.r - m.s.r + 1, m.e.c - m.s.c + 1]).buffer) }]\n ]) }]\n ]) };\n })\n ]))]\n });\n store[13] = [{ type: 2, data: write_TSP_Reference(mergeid) }];\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_meta_add_dep(mlist, deps, tmaref, mergeid);\n ai.messages[0].data = write_shallow(mlist);\n });\n numbers_add_oref(tmaroot, mergeid);\n } else\n delete store[13];\n var sstref = parse_TSP_Reference(store[4][0].data);\n numbers_iwa_doit(cfb, deps, sstref, function(sstroot) {\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n LUT.sst.forEach(function(str, i) {\n if (i == 0)\n return;\n sstdata[3].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(i) }],\n [{ type: 0, data: write_varint49(1) }],\n [{ type: 2, data: stru8(str) }]\n ]) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n });\n var rsstref = parse_TSP_Reference(store[17][0].data);\n numbers_iwa_doit(cfb, deps, rsstref, function(rsstroot) {\n var rsstdata = parse_shallow(rsstroot.messages[0].data);\n rsstdata[3] = [];\n var style_indices = [\n 904980,\n 903835,\n 903815,\n 903845\n ];\n LUT.rsst.forEach(function(rsst, i) {\n if (i == 0)\n return;\n var tswpsa = [\n [],\n [{ type: 0, data: new Uint8Array([5]) }],\n [],\n [{ type: 2, data: stru8(rsst.v) }]\n ];\n tswpsa[10] = [{ type: 0, data: new Uint8Array([1]) }];\n tswpsa[19] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 18, 2, 101, 110]) }];\n tswpsa[5] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 155, 149, 55]) }];\n tswpsa[2] = [{ type: 2, data: new Uint8Array([8, 148, 158, 55]) }];\n tswpsa[6] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }];\n tswpsa[7] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 135, 149, 55]) }];\n tswpsa[8] = [{ type: 2, data: new Uint8Array([10, 8, 8, 0, 18, 4, 8, 165, 149, 55]) }];\n tswpsa[14] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }];\n tswpsa[24] = [{ type: 2, data: new Uint8Array([10, 6, 8, 0, 16, 0, 24, 0]) }];\n var tswpsaid = get_unique_msgid({ deps: [], location: \"\", type: 2001 }, deps);\n var tswpsarefs = [];\n if (rsst.l) {\n var newhlinkid = numbers_add_msg(cfb, 2032, [\n [],\n [],\n [{ type: 2, data: stru8(rsst.l) }]\n ], \"/Index/Tables/DataList\", deps);\n tswpsa[11] = [];\n var smartfield = [[], []];\n if (!smartfield[1])\n smartfield[1] = [];\n smartfield[1].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(0) }],\n [{ type: 2, data: write_TSP_Reference(newhlinkid) }]\n ]) });\n tswpsa[11][0] = { type: 2, data: write_shallow(smartfield) };\n tswpsarefs.push(newhlinkid);\n }\n numbers_add_msg(cfb, 2001, tswpsa, \"/Index/Tables/DataList\", deps, tswpsaid);\n numbers_iwa_doit(cfb, deps, tswpsaid, function(iwa) {\n style_indices.forEach(function(ref) {\n return numbers_add_oref(iwa, ref);\n });\n tswpsarefs.forEach(function(ref) {\n return numbers_add_oref(iwa, ref);\n });\n });\n var rtpaid = numbers_add_msg(cfb, 6218, [\n [],\n [{ type: 2, data: write_TSP_Reference(tswpsaid) }],\n [],\n [{ type: 2, data: new Uint8Array([13, 255, 255, 255, 0, 18, 10, 16, 255, 255, 1, 24, 255, 255, 255, 255, 7]) }]\n ], \"/Index/Tables/DataList\", deps);\n numbers_iwa_doit(cfb, deps, rtpaid, function(iwa) {\n return numbers_add_oref(iwa, tswpsaid);\n });\n rsstdata[3].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(i) }],\n [{ type: 0, data: write_varint49(1) }],\n [],\n [],\n [],\n [],\n [],\n [],\n [{ type: 2, data: write_TSP_Reference(rtpaid) }]\n ]) });\n numbers_add_oref(rsstroot, rtpaid);\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_meta_add_dep(mlist, deps, rsstref, rtpaid);\n numbers_meta_add_dep(mlist, deps, rtpaid, tswpsaid);\n numbers_meta_add_dep(mlist, deps, tswpsaid, tswpsarefs);\n numbers_meta_add_dep(mlist, deps, tswpsaid, style_indices);\n ai.messages[0].data = write_shallow(mlist);\n });\n });\n rsstroot.messages[0].data = write_shallow(rsstdata);\n });\n if (LUT.cmnt.length > 1) {\n var cmntref = parse_TSP_Reference(store[19][0].data);\n var authors = {}, iauthor = 0;\n numbers_iwa_doit(cfb, deps, cmntref, function(cmntroot) {\n var cmntdata = parse_shallow(cmntroot.messages[0].data);\n {\n cmntdata[3] = [];\n LUT.cmnt.forEach(function(cc, i) {\n if (i == 0)\n return;\n var replies = [];\n if (cc.replies)\n cc.replies.forEach(function(c) {\n if (!authors[c.a || \"\"])\n authors[c.a || \"\"] = numbers_add_msg(cfb, 212, [\n [],\n [{ type: 2, data: stru8(c.a || \"\") }],\n [{ type: 2, data: get_author_color(++iauthor) }],\n [],\n [{ type: 0, data: write_varint49(0) }]\n ], \"/Index/Tables/DataList\", deps);\n var aaaid2 = authors[c.a || \"\"];\n var csaid2 = numbers_add_msg(cfb, 3056, [\n [],\n [{ type: 2, data: stru8(c.t || \"\") }],\n [{ type: 2, data: write_shallow([\n [],\n [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }]\n ]) }],\n [{ type: 2, data: write_TSP_Reference(aaaid2) }]\n ], \"/Index/Tables/DataList\", deps);\n numbers_iwa_doit(cfb, deps, csaid2, function(iwa) {\n return numbers_add_oref(iwa, aaaid2);\n });\n replies.push(csaid2);\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_meta_add_dep(mlist, deps, csaid2, aaaid2);\n ai.messages[0].data = write_shallow(mlist);\n });\n });\n if (!authors[cc.a || \"\"])\n authors[cc.a || \"\"] = numbers_add_msg(cfb, 212, [\n [],\n [{ type: 2, data: stru8(cc.a || \"\") }],\n [{ type: 2, data: get_author_color(++iauthor) }],\n [],\n [{ type: 0, data: write_varint49(0) }]\n ], \"/Index/Tables/DataList\", deps);\n var aaaid = authors[cc.a || \"\"];\n var csaid = numbers_add_msg(cfb, 3056, [\n [],\n [{ type: 2, data: stru8(cc.t || \"\") }],\n [{ type: 2, data: write_shallow([\n [],\n [{ type: 1, data: new Uint8Array([0, 0, 0, 128, 116, 109, 182, 65]) }]\n ]) }],\n [{ type: 2, data: write_TSP_Reference(aaaid) }],\n replies.map(function(r) {\n return { type: 2, data: write_TSP_Reference(r) };\n }),\n [{ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(i) }],\n [{ type: 0, data: write_varint49(0) }]\n ]) }]\n ], \"/Index/Tables/DataList\", deps);\n numbers_iwa_doit(cfb, deps, csaid, function(iwa) {\n numbers_add_oref(iwa, aaaid);\n replies.forEach(function(r) {\n return numbers_add_oref(iwa, r);\n });\n });\n cmntdata[3].push({ type: 2, data: write_shallow([\n [],\n [{ type: 0, data: write_varint49(i) }],\n [{ type: 0, data: write_varint49(1) }],\n [],\n [],\n [],\n [],\n [],\n [],\n [],\n [{ type: 2, data: write_TSP_Reference(csaid) }]\n ]) });\n numbers_add_oref(cmntroot, csaid);\n numbers_iwa_doit(cfb, deps, 2, function(ai) {\n var mlist = parse_shallow(ai.messages[0].data);\n numbers_meta_add_dep(mlist, deps, cmntref, csaid);\n numbers_meta_add_dep(mlist, deps, csaid, aaaid);\n if (replies.length)\n numbers_meta_add_dep(mlist, deps, csaid, replies);\n ai.messages[0].data = write_shallow(mlist);\n });\n });\n }\n cmntdata[2][0].data = write_varint49(LUT.cmnt.length + 1);\n cmntroot.messages[0].data = write_shallow(cmntdata);\n });\n }\n }\n pb[4][0].data = write_shallow(store);\n }\n tmaroot.messages[0].data = write_shallow(pb);\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction parse_sheet_legacy_drawing(sheet, type, zip, path, idx, opts, wb, comments) {\n\tif(!sheet || !sheet['!legdrawel']) return;\n\tvar dfile = resolve_path(sheet['!legdrawel'].Target, path);\n\tvar draw = getzipstr(zip, dfile, true);\n\tif(draw) parse_vml(utf8read(draw), sheet, comments||[]);\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar comments = [], tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tcomments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t\tparse_sheet_legacy_drawing(_ws, stype, zip, path, idx, opts, wb, comments);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip, opts);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip, opts);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tvar index_zip = CFB.find(zip, 'Index.zip');\n\t\tif(index_zip) {\n\t\t\topts = dup(opts);\n\t\t\tdelete opts.type;\n\t\t\tif(typeof index_zip.content == \"string\") opts.type = \"binary\";\n\t\t\t// TODO: Bun buffer bug\n\t\t\tif(typeof Bun !== \"undefined\" && Buffer.isBuffer(index_zip.content)) return readSync(new Uint8Array(index_zip.content), opts);\n\t\t\treturn readSync(index_zip.content, opts);\n\t\t}\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme_xml(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\", opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/[\\S\\s]*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\t// TODO: pass back content types metadata for xlsm/xlsx resolution\n\tout.bookType = xlsb ? \"xlsb\" : \"xlsx\";\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip_xlsb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"bin\";\n\tvar vbafmt = true;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_bin(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".xml\";\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".xml\", RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_bin(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_bin(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_bin(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tvar ww = write_theme(wb.Themes, opts);\n\tzip_add_file(zip, f, ww);\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_bin(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_bin());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".xml\";\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".xml\", RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\tif(typeof ArrayBuffer !== \"undefined\" && data instanceof ArrayBuffer) d = new Uint8Array(data);\n\td = typeof $cptable !== \"undefined\" ? $cptable.utils.decode(1200, d.slice(2), 'str') : (\n\t\t(has_buf && Buffer.isBuffer(data)) ? data.slice(2).toString(\"utf16le\") :\n\t\t(typeof Uint8Array !== \"undefined\" && d instanceof Uint8Array) ? (\n\t\t\ttypeof TextDecoder !== \"undefined\" ? new TextDecoder(\"utf-16le\").decode(d.slice(2)) : utf16lereadu(d.slice(2))\n\t\t) : utf16leread(d.slice(2))\n\t);\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(o.codepage && typeof $cptable === \"undefined\") console.error(\"Codepage tables are not loaded. Non-ASCII characters may not give expected results\");\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\t/* Javet projects `byte[]` to `Int8Array` */\n\tif(typeof Int8Array !== 'undefined' && data instanceof Int8Array) return readSync(new Uint8Array(data.buffer, data.byteOffset, data.length), o);\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return rtf_to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t\tcase 0x08: if(n[1] === 0xE7) throw new Error(\"Unsupported Multiplan 1.x file!\"); break;\n\t\tcase 0x0C:\n\t\t\tif(n[1] === 0xEC) throw new Error(\"Unsupported Multiplan 2.x file!\");\n\t\t\tif(n[1] === 0xED) throw new Error(\"Unsupported Multiplan 3.x file!\");\n\t\t\tbreak;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tswitch(opts.bookType) {\n\t\tcase \"ods\": return write_ods(wb, opts);\n\t\tcase \"numbers\": return write_numbers_iwa(wb, opts);\n\t\tcase \"xlsb\": return write_zip_xlsb(wb, opts);\n\t\tdefault: return write_zip_xlsx(wb, opts);\n\t}\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode_pass(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o, wb), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(sheet_to_rtf(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true, dense = (sheet[\"!data\"] != null);\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[\"!data\"][R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? (sheet[\"!data\"][R]||[])[C] : sheet[cols[C] + rr];\n\t\tif(val == null || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'b':\n\t\t\tcase 'n': if(!val.z || !fmt_is_date(val.z)) break;\n\t\t\tv = numdate(v); // TODO: date1904 setting should also be stored in worksheet object\n\t\t\tif(typeof v == \"number\") break;\n\t\t\t/* falls through */\n\t\t\tcase 'd': if(!(o && (o.UTC||(o.raw === false)))) v = utc_to_local(new Date(v)); break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = (val.t === 'n' && typeof o.rawNumbers === 'boolean' ? o.rawNumbers : raw) ? v : format_cell(val, v, o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = sheet[\"!data\"] != null;\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[\"!data\"][R]) sheet[\"!data\"][R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[\"!data\"][R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, w/*:number*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tvar dense = sheet[\"!data\"] != null;\n\tvar datarow = dense && sheet[\"!data\"][R] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = dense ? datarow[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\" && w == 0 && row.length == 0) txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.strip) while(row[row.length - 1] === \"\") --row.length;\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar row = \"\", cols/*:Array*/ = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, w, o);\n\t\tif(row == null) { continue; }\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/, opts/*:?Sheet2FormulaOpts*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = sheet[\"!data\"] != null;\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[\"!data\"][R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(opts && opts.values === false) continue;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar dense = _ws ? (_ws[\"!data\"] != null) : o.dense;\n\tif(DENSE != null && dense == null) dense = DENSE;\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({});\n\tif(!_ws && dense) ws[\"!data\"] = [];\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\tvar ROW = [];\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tif(dense && !ws[\"!data\"][_R + R + offset]) ws[\"!data\"][_R + R + offset] = [];\n\t\tif(dense) ROW = ws[\"!data\"][_R + R + offset];\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = dense ? \"\" : (encode_col(_C + C) + encode_row(_R + R + offset));\n\t\t\tvar cell/*:Cell*/ = dense ? ROW[_C + C] : ws[ref];\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tif(dense) ROW[_C + C] = v;\n\t\t\t\telse ws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.UTC) v = local_to_utc(v);\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (cell != null && cell.z && fmt_is_date(cell.z)) ? cell.z : (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) {\n\t\t\t\t\tif(!dense) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\t\telse ROW[_C + C] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\t} else {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(dense && !ws[\"!data\"][_R]) ws[\"!data\"][_R] = [];\n\tif(offset) for(C = 0; C < hdr.length; ++C) {\n\t\tif(dense) ws[\"!data\"][_R][C + _C] = {t:'s', v:hdr[C]};\n\t\telse ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\t}\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\tif(ws[\"!data\"] != null) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[\"!data\"][RC.r]) ws[\"!data\"][RC.r] = [];\n\t\t\treturn ws[\"!data\"][RC.r][RC.c] || (ws[\"!data\"][RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_col(C||0) + encode_row(R));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank or single-sheet workbook object */\nfunction book_new(ws/*:?Worksheet*/, wsname/*:?string*/)/*:Workbook*/ {\n\tvar wb = { SheetNames: [], Sheets: {} };\n\tif(ws) book_append_sheet(wb, ws, wsname || \"Sheet1\");\n\treturn wb;\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0 && name.length < 32) {\n\t\tvar m = name.match(/\\d+$/); // at this point, name length is capped at 32\n\t\ti = m && +m[0] || 0;\n\t\tvar root = m && name.slice(0, m.index) || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\tvar wsr = decode_range(ws[\"!ref\"]);\n\tif(wsr.s.r > rng.s.r) wsr.s.r = rng.s.r;\n\tif(wsr.s.c > rng.s.c) wsr.s.c = rng.s.c;\n\tif(wsr.e.r < rng.e.r) wsr.e.r = rng.e.r;\n\tif(wsr.e.c < rng.e.c) wsr.e.c = rng.e.c;\n\tws[\"!ref\"] = encode_range(wsr);\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_new: sheet_new,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, w, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = sheet[\"!data\"] != null;\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[\"!data\"][R]) sheet[\"!data\"][R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[\"!data\"][R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_xlml_stream(wb/*:Workbook*/, o/*:?Sheet2XLMLOpts*/) {\n\tvar stream = _Readable();\n\tvar opts = o == null ? {} : o;\n\tvar stride = +opts.stride || 10;\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\n\t/* do one pass to determine styles since they must be added before tables */\n\twb.SheetNames.forEach(function(n) {\n\t\tvar ws = wb.Sheets[n];\n\t\tif(!ws || !ws[\"!ref\"]) return;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tvar dense = ws[\"!data\"] != null;\n\t\tvar ddata = dense ? ws[\"!data\"] : [];\n\t\tvar addr = {r:0,c:0};\n\t\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\t\taddr.r = R;\n\t\t\tif(dense && !ddata[R]) continue;\n\t\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\taddr.c = C;\n\t\t\t\tvar cell = dense ? ddata[R][C] : ws[encode_col(C) + encode_row(R)];\n\t\t\t\tif(!cell) continue;\n\t\t\t\tif(cell.t == \"d\" && cell.z == null) { cell = dup(cell); cell.z = table_fmt[14]; }\n\t\t\t\tvoid get_cell_style(opts.cellXfs, cell, opts);\n\t\t\t}\n\t\t}\n\t});\n\tvar sty = write_sty_xlml(wb, opts);\n\n\tvar stage = 0, wsidx = 0, ws = wb.Sheets[wb.SheetNames[wsidx]], range = safe_decode_range(ws), R = -1, T = false;\n\n\tvar marr = [], mi = 0, dense = false, darr = [], addr = {r:0,c:0};\n\n\tstream._read = function() { switch(stage) {\n\t\t/* header */\n\t\tcase 0: {\n\t\t\tstage = 1;\n\t\t\tstream.push(XML_HEADER);\n\t\t\tstream.push(\"\");\n\t\t} break;\n\n\t\t/* preamble */\n\t\tcase 1: {\n\t\t\tstage = 2;\n\t\t\tstream.push(write_props_xlml(wb, opts));\n\t\t\tstream.push(write_wb_xlml(wb, opts));\n\t\t} break;\n\n\t\t/* style and name tables */\n\t\tcase 2: {\n\t\t\tstage = 3;\n\t\t\tstream.push(sty);\n\t\t\tstream.push(write_names_xlml(wb, opts));\n\t\t} break;\n\n\t\t/* worksheet preamble */\n\t\tcase 3: {\n\t\t\tT = false;\n\t\t\tif(wsidx >= wb.SheetNames.length) { stage = -1; stream.push(\"\"); break; }\n\n\t\t\tstream.push(\"\");\n\n\t\t\tws = wb.Sheets[wb.SheetNames[wsidx]];\n\t\t\tif(!ws) { stream.push(\"\"); return void ++wsidx; }\n\n\t\t\tvar names = write_ws_xlml_names(ws, opts, wsidx, wb);\n\t\t\tif(names.length) stream.push(\"\" + names + \"\");\n\n\t\t\tif(!ws[\"!ref\"]) return (stage = 5);\n\t\t\trange = safe_decode_range(ws[\"!ref\"]);\n\t\t\tR = range.s.r;\n\t\t\tstage = 4;\n\t\t} break;\n\n\t\t/* worksheet intramble */\n\t\tcase 4: {\n\t\t\tif(R < 0 || R > range.e.r) { if(T) stream.push(\"\"); return void (stage = 5); }\n\n\t\t\tif(R <= range.s.r) {\n\t\t\t\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\t\t\t\tprocess_col(n);\n\t\t\t\t\tvar w = !!n.width;\n\t\t\t\t\tvar p = col_obj_w(i, n);\n\t\t\t\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\t\t\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\t\t\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\t\t\t\tif(!T) { T = true; stream.push(\"\"); }\n\t\t\t\t\tstream.push(writextag(\"Column\",null,k));\n\t\t\t\t});\n\t\t\t\tdense = ws[\"!data\"] != null;\n\t\t\t\tif(dense) darr = ws[\"!data\"];\n\t\t\t\taddr.r = addr.c = 0;\n\t\t\t}\n\n\t\t\t/* process `stride` rows per invocation */\n\t\t\tfor(var cnt = 0; R <= range.e.r && cnt < stride; ++R, ++cnt) {\n\t\t\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\t\t\taddr.r = R;\n\t\t\t\tif(!(dense && !darr[R])) for(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\t\t\taddr.c = C;\n\t\t\t\t\tvar skip = false;\n\t\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif(skip) continue;\n\t\t\t\t\tvar ref = encode_col(C) + encode_row(R), cell = dense ? darr[R][C] : ws[ref];\n\t\t\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, wsidx, wb, addr));\n\t\t\t\t}\n\t\t\t\trow.push(\"\");\n\t\t\t\tif(!T) { T = true; stream.push(\"
\"); }\n\t\t\t\tstream.push(row.join(\"\"));\n\t\t\t}\n\t\t} break;\n\n\t\t/* worksheet postamble */\n\t\tcase 5: {\n\t\t\tstream.push(write_ws_xlml_wsopts(ws, opts, wsidx, wb));\n\t\t\tif(ws && ws[\"!autofilter\"]) stream.push('');\n\t\t\tstream.push(\"\");\n\t\t\twsidx++; R = -1;\n\t\t\treturn void (stage = 3);\n\t\t}\n\n\t\t/* footer */\n\t\tcase -1: {\n\t\t\tstage = -2;\n\t\t\tstream.push(\"\");\n\t\t} break;\n\n\t\t/* exeunt */\n\t\tcase -2: stream.push(null); break;\n\t}};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n\tto_xlml: write_xlml_stream,\n\tset_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\tset_fs,\n\tset_cptable,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\nexport default {\n\tparse_xlscfb,\n\tparse_zip,\n\tread: readSync,\n\treadFile: readFileSync,\n\treadFileSync,\n\twrite: writeSync,\n\twriteFile: writeFileSync,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteXLSX: writeSyncXLSX,\n\twriteFileXLSX: writeFileSyncXLSX,\n\tutils,\n\tset_fs,\n\tset_cptable,\n\tstream: __stream,\n\tSSF,\n\tCFB\n}\n","import { utils, writeFileXLSX, stream } from 'xlsx'\n\nexport function useFiles() {\n const exportResultsToFile = (data: any, fileName: string) => {\n const ws = utils.json_to_sheet(data)\n const wb = utils.book_new()\n utils.book_append_sheet(wb, ws, 'Data')\n writeFileXLSX(wb, fileName)\n }\n\n const exportResultsToCSV = (data: any, fileName: string) => {\n const ws = utils.json_to_sheet(data)\n const wb = utils.book_new()\n utils.book_append_sheet(wb, ws, 'Data')\n const csv = utils.sheet_to_csv(ws)\n const a = document.createElement('a')\n a.href = 'data:text/csv;charset=utf-8,' + encodeURIComponent(csv)\n a.download = fileName\n a.click()\n }\n\n return { exportResultsToFile, exportResultsToCSV }\n}","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { legacy } from \"@/http\"\n\nexport class MessageLogsFacade {\n addMessageLog(url: string, data: any, axiosConfig = {}) {\n const parsedData = this.convertToSnakeCase(data)\n return legacy.post('/v2/api/message-logs', parsedData, axiosConfig)\n }\n\n updateMessageLog(url: string, data: any, axiosConfig = {}) {\n const messageLogIdMatch = url.match(/\\/MessageLogs\\/(\\d+)/)\n if (!messageLogIdMatch) {\n throw new Error('Message log ID not found in URL')\n }\n const messageLogId = messageLogIdMatch[1]\n return legacy.patch(`/v2/api/message-logs/${messageLogId}`, data, axiosConfig)\n }\n\n private convertToSnakeCase(messageLog: any) {\n return {\n sender_id: messageLog.senderId,\n sender_type_id: messageLog.senderTypeId,\n receiver_id: messageLog.receiverId,\n receiver_type_id: messageLog.receiverTypeId,\n message_type_id: messageLog.messageTypeId,\n survey_id: messageLog.surveyId,\n message: messageLog.message,\n author_id: messageLog.authorId,\n }\n }\n}\n\nexport default new MessageLogsFacade()","import MessageLogsFacade from \"./Legacy/MessageLogsFacade\"\n\nexport function addMessageLog(merchantId: number, data: any, axiosConfig = {}) {\n return MessageLogsFacade.addMessageLog(`/merchants/${merchantId}/MessageLogs`, data, axiosConfig)\n}\n\nexport function updateMessageLog(merchantId: number, messageLogId: number, data: any, axiosConfig = {}) {\n return MessageLogsFacade.updateMessageLog(`/merchants/${merchantId}/MessageLogs/${messageLogId}`, data, axiosConfig)\n}\n","import { legacy } from \"@/http\"\nimport type { UserMerchantLog } from \"@/models/UserMerchantLog\"\n\nexport class UserMerchantsLogsFacade {\n private convertToSnakeCase(userMerchantsLog: UserMerchantLog) {\n return {\n action: userMerchantsLog.action,\n api_endpoint: userMerchantsLog.apiEndpoint,\n endpoint_record_id: userMerchantsLog.endpointRecordId,\n merchants_id: userMerchantsLog.merchantId,\n operation: userMerchantsLog.operation,\n users_id: userMerchantsLog.userId\n }\n }\n\n sendUsersMerchantsLog = (url: string, data: any, axiosConfig = {}) => {\n const parsedData = this.convertToSnakeCase(data)\n return legacy.post('/v2/api/users-merchants-logs', parsedData, axiosConfig)\n }\n}\n\nexport default new UserMerchantsLogsFacade()","import UserMerchantsLogsFacade from \"./Legacy/UserMerchantsLogsFacade\";\n\n\nexport function sendUsersMerchantsLog(merchantId: number, data: any, axiosConfig = {}) {\n return UserMerchantsLogsFacade.sendUsersMerchantsLog(`/merchants/${merchantId}/UserMerchantsLogs`, data, axiosConfig)\n}","import type { Survey } from \"@/models/Surveys\"\nimport { useDateTime } from \"./Dates\"\nimport type { Customer } from \"@/models/Customers\"\nimport type { Reward, RewardCustomer } from \"@/models/Reward\"\nimport type { Location } from \"@/models/Locations\"\nimport type { DefaultLink } from \"@/models/DefaultLinks\"\nimport type { LegacyMerchant } from \"@/models/legacy/LegacyMerchant\"\n\nconst dateParser = useDateTime()\n\nexport function useCustomerReplyParser() {\n const replaceTags = (text: string, survey: Survey, customer: Customer, reward: Reward | null, links: DefaultLink[], merchant: LegacyMerchant, location: Location) => {\n text = rpl_survey_title(text, survey)\n text = rpl_date_complete(text, survey)\n text = rpl_business_name(text, survey)\n text = rpl_brand_name(text, merchant)\n text = rpl_location_name(text, location)\n text = rpl_customer_name(text, customer)\n text = rpl_manager_name(text, location)\n text = rpl_manager_email(text, location)\n text = rpl_merchant_links(text, links)\n \n if (reward != null) {\n text = rpl_date_redeemed(text, reward)\n }\n if (reward) {\n text = rpl_reward_title(text, reward)\n }\n return text\n }\n\n const rpl = (text: string, query: string, replacement: string) => {\n return text.replace(new RegExp('(?:' + escapeRegExp(query) + ')', 'g'), replacement)\n }\n\n const rpl_survey_title = (text: string, survey: Survey) => {\n return rpl(text, '[[survey_title]]', survey.questionnaireTitle)\n }\n\n const rpl_business_name = (text: string, merchant: LegacyMerchant) => {\n return rpl(text, '[[business_name]]', merchant?.business_name)\n }\n\n const rpl_brand_name = (text: string, merchant: LegacyMerchant) => {\n let brandName = merchant?.business_name\n if (merchant?.brand?.prefix) {\n brandName = merchant?.brand?.prefix\n }\n return rpl(text, '[[brand_name]]', brandName)\n }\n\n const rpl_location_name = (text: string, location: Location) => {\n return rpl(text, '[[location_name]]', location.label)\n }\n\n const rpl_date_complete = (text: string, survey: Survey) => {\n return rpl(text, '[[date_complete]]', formatDate(survey.completedDateTimeLocal))\n }\n\n const rpl_date_redeemed = (text: string, reward: any) => {\n return rpl(text, '[[date_redeemed]]', formatDate(reward?.dateTimeRedeemed))\n }\n\n const rpl_reward_title = (text: string, reward: Reward) => {\n return rpl(text, '[[reward_title]]', reward.label)\n }\n\n const formatDate = (dateString: string) => {\n const date = dateParser.parseServerDate(dateString)\n return `${date.toFormat('cccc, LLLL d')}${dateParser.getDateEnding(date.day)}`\n }\n\n const rpl_customer_name = (text: string, customer: Customer) => {\n const name = customer.firstName || customer.email\n return rpl(text, '[[customer_name]]', name)\n }\n\n const rpl_manager_name = (text: string, location: Location) => {\n let replacement = `${location.label} Manager`\n if (location.manager?.first) {\n replacement = `${location.manager.first} ${location.manager.last}`\n }\n return rpl(text, '[[manager_name]]', replacement)\n }\n\n const rpl_manager_email = (text: string, location: Location) => {\n const replacement = location.manager?.id ? location.manager.email : ''\n return rpl(text, '[[manager_email]]', replacement)\n }\n\n const rpl_merchant_links = (text: string, links: DefaultLink[]) => {\n if (!links) return text\n \n return links.reduce((acc, link) => {\n const url = link.url\n const html = `${link.label}`\n return rpl(acc, `[[link:${link.slug}]]`, html)\n }, text)\n }\n\n const escapeRegExp = (str: string) => {\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, '\\\\$1')\n }\n\n return {\n replaceTags\n }\n}","\n\n\n\n\n\n","import { legacy } from \"@/http\"\nimport type { LegacyMessageTemplate, MessageTemplatesResponse } from \"@/models/legacy/LegacyMessageTemplate\"\nimport type { MessageTemplate } from \"@/models/MessageTemplate\"\n\nexport class MessageTemplatesFacade {\n\n private convertToCamelCase(messageTemplate: LegacyMessageTemplate): MessageTemplate {\n return {\n id: messageTemplate.id,\n merchantId: messageTemplate.merchants_id,\n messageTypeId: messageTemplate.message_type_id,\n label: messageTemplate.label,\n subject: messageTemplate.subject,\n body: messageTemplate.body,\n dateTimeCreated: messageTemplate.date_time_created,\n dateTimeEdited: messageTemplate.date_time_edited,\n published: messageTemplate.published,\n share: messageTemplate.share,\n deleted: messageTemplate.deleted,\n senderEmail: messageTemplate.sender_email,\n imageUrl: messageTemplate.image_url,\n groupsId: messageTemplate.groups_id,\n rewardsId: messageTemplate.rewards_id,\n lifeSpan: messageTemplate.life_span,\n messageType: messageTemplate.message_type,\n rewardsLabel: messageTemplate.rewards_label,\n active: messageTemplate.active,\n activeId: messageTemplate.active_id,\n individualMerchantsId: messageTemplate.individual_merchants_id,\n links: messageTemplate._links\n }\n }\n\n async getMessageTemplates(url: string, axiosConfig = {}): Promise<{ data: MessageTemplate[] }> {\n const merchantIdMatch = url.match(/\\/merchants\\/(\\d+)/)\n if (!merchantIdMatch) {\n throw new Error('Merchant ID not found in URL')\n }\n const merchantId = merchantIdMatch[1]\n const response = await legacy.get(\n `/v2/api/message-templates?merchants_id=${merchantId}&sort=share+ASC`,\n axiosConfig\n )\n\n const transformedMessageTemplates = response.data._embedded.message_templates.map((messageTemplate) =>\n this.convertToCamelCase(messageTemplate)\n )\n \n return {\n data: transformedMessageTemplates\n }\n }\n}\n\nexport default new MessageTemplatesFacade()","/* \nexport function updateSurveyLocation(merchantId: number, surveyId: number, data: any, axiosConfig = {}) {\n return SurveyFacade.updateSurveyLocation(`/merchants/${merchantId}/Surveys/${surveyId}`, data, axiosConfig)\n}\n */\n\nimport MessageTemplatesFacade from \"./Legacy/MessageTemplatesFacade\";\n\nexport function getMessageTemplates(merchantId: number, axiosConfig = {}) {\n return MessageTemplatesFacade.getMessageTemplates(`/merchants/${merchantId}/MessageTemplates`, axiosConfig)\n}","\n\n\n\n\n\n","\n\n\n\n\n","import { v3 } from '@/http'\nimport type { LinkParams } from '@/models/DefaultLinks'\n\nexport function getLinks(merchantId: number, params?: LinkParams, axiosConfig = {}) {\n let query = ''\n if (params) {\n query = `?filterByLinkType=${params.filterByLinkType}&onlyReviewEnabledProviders=${params.onlyReviewEnabledProviders}`\n }\n return v3.get(`/merchants/${merchantId}/Links${query}`, axiosConfig)\n}\n\nexport function createLink(merchantId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Links`, data, axiosConfig)\n}\n\nexport function updateLink(merchantId: number, linkId: number, data: any, axiosConfig = {}) {\n return v3.post(`/merchants/${merchantId}/Links/${linkId}`, data, axiosConfig)\n}\n\nexport function deleteLink(merchantId: number, linkId: number, axiosConfig = {}) {\n return v3.delete(`/merchants/${merchantId}/Links/${linkId}`, axiosConfig)\n}\n","\n\n\n\n\n","\n\n\n\n\n","import { defineStore } from \"pinia\";\n\ninterface IncidentNav {\n prev: string | null;\n next: string | null;\n}\n\nexport const useIncidentNav = defineStore({\n id: 'incidentNav',\n state: () => ({\n incidentIds: JSON.parse(localStorage.getItem('incidentIds') || '[]') as number[]\n }),\n actions: {\n setIncidentIds(incidentIds: number[]) {\n this.incidentIds = incidentIds\n localStorage.setItem('incidentIds', JSON.stringify(this.incidentIds))\n },\n getIncidentNavIds(incidentId: number) {\n if (this.incidentIds && this.incidentIds.length) {\n const idIndex = this.incidentIds.indexOf(parseInt(incidentId))\n const prevIndex = idIndex - 1\n const nextIndex = idIndex + 1\n\n let navIds = {\n prev: null,\n next: null\n }\n \n if (this.incidentIds[prevIndex]) {\n navIds.prev = this.incidentIds[prevIndex]\n }\n \n if (this.incidentIds[nextIndex]) {\n navIds.next = this.incidentIds[nextIndex]\n }\n \n return navIds\n }\n return false\n }\n },\n})\n\n","\n\n\n\n\n"," \n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","import { useAccessToken } from '@/store/accessToken'\nimport { useMerchant, useMerchantId, useMerchantTypesId } from '@/store/merchant'\nimport { useUser } from '@/store/user'\nimport { usePermission } from '@/store/permission'\nimport { usePreferences } from '@/store/preferences'\nimport plugins from '@/plugins'\nimport directives from '@/directives'\nimport externalComponents from '@/external-components'\nimport ItemLevelDetails from '@/views/item-level-feedback/ItemLevelDetails.vue'\nimport OnlineReviewStats from '@/views/online-reviews/OnlineReviewStats.vue'\nimport OnlineReviewList from '@/views/online-reviews/OnlineReviewList.vue'\nimport OnlineReviewTemplates from '@/views/account/online-reviews/OnlineReviewTemplates.vue'\nimport EmailConfiguration from '@/views/email-configuration/EmailConfiguration.vue'\nimport TagManagement from '@/views/tags/TagManagement.vue'\nimport AICoach from '@/views/ai-coach/AICoach.vue'\nimport KnowledgeBase from '@/views/knowledge-base/KnowledgeBase.vue'\nimport IncidentsDetails from '@/views/incidents/IncidentsDetails.vue'\nimport AutomationManagement from '@/views/account/automation/AutomationManagement.vue'\nimport DefaultLinks from '@/views/account/default-links/DefaultLinks.vue'\nimport SurveyTags from '@/views/blocks/SurveyTags.vue'\nimport PublicReviewSettings from '@/views/blocks/PublicReviewSettings.vue'\nimport QuestionnaireStatsOverview from '@/views/blocks/QuestionnaireStatsOverview.vue'\nimport AngularMdiIcon from '@/components/AngularMdiIcon.vue'\nimport WButton from '@/components/wasabi/actions/WButton.vue'\nimport WInputField from '@/components/wasabi/inputs/WInputField.vue'\nimport WModal from '@/components/wasabi/contentDisplays/WModal.vue'\nimport EditObjective from '@/modals/EditObjective.vue'\nimport RejectObjective from '@/modals/RejectObjective.vue'\nimport IncidentsList from '@/views/incidents/IncidentsList.vue'\nimport Automations from '@/views/automation/Automations.vue'\nimport ResponseDetails from '@/views/responses/ResponseDetails.vue'\n\nexport default {\n Pages: {\n ItemLevelDetails,\n OnlineReviewStats,\n OnlineReviewList,\n OnlineReviewTemplates,\n EmailConfiguration,\n TagManagement,\n AutomationManagement,\n IncidentsList,\n IncidentsDetails,\n DefaultLinks,\n AICoach,\n KnowledgeBase,\n Automations,\n ResponseDetails\n },\n Stores: {\n useAccessToken,\n useMerchantId,\n useUser,\n usePermission,\n useMerchantTypesId,\n useMerchant,\n usePreferences\n },\n Blocks: {\n SurveyTags,\n PublicReviewSettings,\n QuestionnaireStatsOverview\n },\n Components: {\n AngularMdiIcon,\n WButton,\n WInputField,\n WModal\n },\n Modals: {\n EditObjective,\n RejectObjective\n },\n plugins,\n directives,\n externalComponents\n}\n"],"names":["set","target","key","val","del","getDevtoolsGlobalHook","getTarget","isProxyAvailable","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","supported","perf","isPerformanceSupported","_a","now","ApiProxy","plugin","hook","defaultSettings","id","item","localSettingsSaveId","currentSettings","raw","data","value","pluginId","_target","prop","args","resolve","setupDevtoolsPlugin","pluginDescriptor","setupFn","descriptor","enableProxy","proxy","activePinia","setActivePinia","pinia","piniaSymbol","isPlainObject","o","MutationType","IS_CLIENT","USE_DEVTOOLS","patchObject","newState","oldState","subPatch","targetValue","isRef","isReactive","noop","addSubscription","subscriptions","callback","detached","onCleanup","removeSubscription","idx","getCurrentScope","onScopeDispose","triggerSubscriptions","fallbackRunWithContext","fn","mergeReactiveObjects","patchToApply","skipHydrateSymbol","shouldHydrate","obj","assign","isComputed","createOptionsStore","options","hot","state","actions","getters","initialState","store","setup","localState","toRefs","ref","computedGetters","name","markRaw","computed","createSetupStore","$id","isOptionsStore","scope","optionsForPlugin","$subscribeOptions","event","isListening","debuggerEvents","isSyncListening","actionSubscriptions","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","nextTick","$reset","$state","$dispose","wrapAction","action","afterCallbackList","onErrorCallbackList","after","onError","ret","error","_hmrPayload","partialStore","stopWatcher","watch","reactive","runWithContext","setupStore","effectScope","toRef","actionValue","toRaw","newStore","stateKey","newStateTarget","oldStateSource","actionName","getterName","getter","getterValue","nonEnumerable","p","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","hasInjectionContext","inject","hotId","currentInstance","getCurrentInstance","vm","cache","useAccessToken","accessToken","useMerchantId","merchantId","merchantName","useMerchantTypesId","merchantTypesId","useMerchant","merchant","useUser","user","usePermission","permission","usePreferences","preferences","label","preference","useToggleScope","source","start","active","IN_BROWSER","SUPPORTS_INTERSECTION","SUPPORTS_TOUCH","SUPPORTS_EYE_DROPPER","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","_classPrivateFieldSet","s","a","r","_assertClassBrand","_classPrivateFieldGet","n","getNestedValue","path","fallback","last","deepEqual","b","props","getObjectValueByPath","getPropertyFromItem","property","createRange","length","v","k","convertToUnit","str","unit","isObject","proto","refElement","el","keyCodes","keyValues","keys","has","pick","paths","found","pickWithRest","exclude","rest","omit","clone","only","include","onRE","isOn","bubblingEvents","compositionIgnoreKeys","isComposingIgnoreKey","filterInputAttrs","attrs","events","inputEvents","rootAttrs","inputAttrs","wrapInArray","debounce","delay","timeoutId","wrap","_len","_key","unref","clamp","min","max","getDecimals","trimmedStr","padEnd","char","padStart","chunk","size","chunked","index","humanReadableFileSize","bytes","base","prefix","mergeDeep","arrayFn","out","sourceProperty","targetProperty","flattenFragments","nodes","node","Fragment","toKebabCase","kebab","findChildrenWithProvide","vnode","child","_arr","_pointer","CircularBuffer","getEventCoordinates","destructComputed","refs","watchEffect","includes","arr","eventName","propName","EventProp","hasEvent","capitalize","callEvent","handler","_len2","_key2","h","focusableChildren","filterByTabIndex","targets","getNextElement","elements","location","condition","_el","inc","focusChild","focusable","_b","_c","_d","isEmpty","matchesSelector","selector","ensureValidVNode","vnodes","isVNode","Comment","defer","timeout","cb","isClickInsideElement","targetDiv","mouseX","mouseY","divRect","divLeft","divTop","divRight","divBottom","templateRef","shallowRef","checkPrintable","isPrintableChar","noModifier","block","inline","parseAnchor","anchor","isRtl","side","align","toPhysical","flipSide","flipAlign","flipCorner","getAxis","Box","_ref","x","y","width","height","getOverflow","getTargetBox","nullifyTransforms","rect","style","tx","ta","sx","sy","dx","dy","to","w","animate","keyframes","animation","handlers","bindProps","_handler","unbindProps","mainTRC","Rco","Gco","Bco","normBG","normTXT","revTXT","revBG","blkThrs","blkClmp","deltaYmin","scaleBoW","scaleWoB","loConThresh","loConFactor","loConOffset","loClip","APCAcontrast","text","background","Rtxt","Gtxt","Btxt","Rbg","Gbg","Bbg","Ytxt","Ybg","outputContrast","SAPC","consoleWarn","message","warn","consoleError","deprecate","original","replacement","delta","cielabForwardTransform","t","cielabReverseTransform","fromXYZ","xyz","transform","transformedY","toXYZ","lab","Ln","srgbForwardMatrix","srgbForwardTransform","C","srgbReverseMatrix","srgbReverseTransform","rgb","matrix","g","i","isCssColor","color","isParsableColor","cssColorRe","mappers","l","HSLtoRGB","HSVtoRGB","parseColor","groups","values","realValues","hex","int","HexToRGB","HSLtoHSV","hsva","f","hsla","RGBtoHSV","rgba","hsv","HSVtoHSL","sprime","hsl","RGBtoCSS","HSVtoCSS","toHex","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","lighten","amount","CIELAB.fromXYZ","sRGB.toXYZ","sRGB.fromXYZ","CIELAB.toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark","getForeground","blackContrast","propsFactory","defaults","definition","makeComponentProps","_getCurrentInstance","getCurrentInstanceName","_uid","_map","getUid","uid","injectSelf","provides","DefaultsSymbol","createDefaults","injectDefaults","provideDefaults","injectedDefaults","providedDefaults","newDefaults","scoped","reset","root","properties","len","provide","propIsDefined","internalUseDefaults","componentDefaults","_props","propValue","_e","_g","_f","_subcomponentDefaults","subComponents","provideSubDefaults","injected","defineComponent","propKeys","ctx","setupBindings","genericComponent","exposeDefaults","_defineComponent","defineFunctionalComponent","render","createSimpleFunctional","klass","tag","camelize","slots","attachedRoot","standardEasing","deceleratedEasing","acceleratedEasing","getPrefixedEventHandlers","suffix","getData","acc","getScrollParent","includeHidden","isPotentiallyScrollable","hasScrollbar","getScrollParents","stopAt","isFixedPosition","useRender","useProxiedModel","defaultValue","transformIn","transformOut","internal","kebabProp","isControlled","model","externalValue","internalValue","newValue","en","LANG_PREFIX","replace","params","match","createTranslateFunction","current","messages","shortKey","currentLocale","fallbackLocale","createNumberFunction","useProvided","provided","createProvideFunction","createVuetifyAdapter","LocaleSymbol","isLocaleInstance","createLocale","i18n","rtl","createRtl","useLocale","locale","provideLocale","provideRtl","genDefaults","useRtl","firstDay","getWeekArray","date","firstDayOfWeek","weeks","currentWeek","firstDayOfMonth","startOfMonth","lastDayOfMonth","endOfMonth","firstDayWeekIndex","lastDayWeekIndex","adjacentDay","day","startOfWeek","d","endOfWeek","lastDay","parseLocalDate","parts","_YYYMMDD","parsed","sundayJanuarySecond2000","getWeekdays","daysFromSunday","weekday","format","formatString","formats","newDate","customFormat","month","toISO","adapter","year","parseISO","addMinutes","addHours","addDays","addWeeks","addMonths","getYear","getMonth","getDate","getNextMonth","getPreviousMonth","getHours","getMinutes","startOfYear","endOfYear","isWithinRange","range","isAfter","isBefore","isValid","comparing","isAfterDay","startOfDay","isEqual","isSameDay","isSameMonth","isSameYear","getDiff","setHours","count","setMinutes","setMonth","setDate","setYear","endOfDay","VuetifyDateAdapter","DateOptionsSymbol","DateAdapterSymbol","createDate","_options","createInstance","instance","useDate","getWeek","d1w1","tv","diffTime","diffDays","breakpoints","DisplaySymbol","defaultDisplayOptions","parseDisplayOptions","getClientWidth","ssr","getClientHeight","getPlatform","userAgent","regexp","android","ios","cordova","electron","chrome","edge","firefox","opera","win","mac","linux","createDisplay","thresholds","mobileBreakpoint","platform","updateSize","update","xs","sm","md","lg","xl","xxl","breakpointValue","mobile","makeDisplayProps","useDisplay","display","displayClasses","GoToSymbol","getContainer","getOffset","horizontal","totalOffset","createGoTo","scrollTo","goTo","container","ease","targetLocation","layoutOffset","clampTarget","startLocation","startTime","step","currentTime","progress","useGoTo","goToInstance","go","scrollWidth","scrollHeight","containerWidth","containerHeight","aliases","mdi","VClassIcon","IconValue","IconSymbol","makeIconProps","VComponentIcon","Icon","_createVNode","VSvgIcon","_mergeProps","VLigatureIcon","createIcons","sets","defaultSet","useIcon","icons","iconAlias","icon","iconSetName","setName","iconName","ThemeSymbol","makeThemeProps","parseThemeOptions","themes","theme","defaultTheme","createTheme","parsedOptions","computedThemes","variation","onColor","colorVal","styles","lines","createCssClass","genCssVariables","themeName","bgLines","fgLines","colors","getHead","install","app","head","entry","updateStyles","styleEl","themeClasses","provideTheme","newTheme","useTheme","content","line","lightOverlay","darkOverlay","variables","useResizeObserver","box","resizeRef","contentRect","observer","entries","onBeforeUnmount","oldValue","readonly","VuetifyLayoutKey","VuetifyLayoutItemKey","ROOT_ZINDEX","makeLayoutProps","makeLayoutItemProps","useLayout","layout","useLayoutItem","isKeptAlive","onDeactivated","onActivated","layoutItemStyles","layoutItemScrimStyles","generateLayers","positions","layoutSizes","activeItems","previousLayer","layers","position","layer","createLayout","parentLayout","rootZIndex","registered","priorities","disabledTransitions","layoutRect","computedOverlaps","map","overlaps","overlap","top","bottom","topPosition","bottomPosition","topAmount","bottomAmount","uniquePriorities","items","transitionsEnabled","mainRect","mainStyles","getLayoutItem","rootVm","isMounted","onMounted","order","layoutSize","elementSize","disableTransitions","absolute","instanceIndex","zIndex","isHorizontal","isOppositeHorizontal","isOppositeVertical","layoutClasses","layoutStyles","createVuetify","vuetify","blueprint","components","directives","mount","version","makeVAppProps","VApp","layoutRef","rtlClasses","makeTagProps","makeVToolbarTitleProps","VToolbarTitle","hasText","makeTransitionProps","createCssTransition","origin","mode","functions","offsetTop","offsetLeft","offsetWidth","offsetHeight","left","TransitionGroup","Transition","createJavascriptTransition","ExpandTransitionGenerator","expandedParentClass","sizeProperty","offsetProperty","initialStyle","offset","resetStyles","onAfterLeave","makeVDialogTransitionProps","VDialogTransition","done","speed","getDimensions","getChildren","els","targetBox","elBox","originX","originY","anchorSide","anchorOffset","offsetX","offsetY","tsx","tsy","maxs","asa","VFabTransition","VDialogBottomTransition","VDialogTopTransition","VFadeTransition","VScaleTransition","VScrollXTransition","VScrollXReverseTransition","VScrollYTransition","VScrollYReverseTransition","VSlideXTransition","VSlideXReverseTransition","VSlideYTransition","VSlideYReverseTransition","VExpandTransition","VExpandXTransition","makeVDefaultsProviderProps","VDefaultsProvider","disabled","makeDimensionProps","useDimension","maxHeight","maxWidth","minHeight","minWidth","useAspectStyles","ratio","makeVResponsiveProps","VResponsive","aspectStyles","dimensionStyles","useColor","classes","backgroundColor","textColor","useTextColor","textColorClasses","textColorStyles","useBackgroundColor","backgroundColorClasses","backgroundColorStyles","makeRoundedProps","useRounded","rounded","tile","MaybeTransition","transition","group","component","customProps","mergeProps","_","mounted","binding","modifiers","_observe","isIntersecting","unmounted","observe","Intersect","Intersect$1","makeVImgProps","VImg","intersect","emit","roundedClasses","currentSrc","image","naturalWidth","naturalHeight","normalisedSrc","aspectRatio","init","oldVal","pollForSize","onBeforeMount","lazyImg","onLoad","getSrc","img","timer","poll","imgHeight","imgWidth","containClasses","__image","sources","withDirectives","vShow","__preloadImage","__placeholder","__error","__gradient","isBooted","stop","responsiveProps","_withDirectives","_Fragment","_resolveDirective","makeBorderProps","useBorder","border","makeElevationProps","useElevation","elevation","allowedDensities","makeVToolbarProps","VToolbar","borderClasses","elevationClasses","isExtended","contentHeight","extensionHeight","hasTitle","hasImage","extension","makeScrollProps","useScroll","canScroll","previousScroll","previousScrollHeight","currentScroll","savedScroll","currentThreshold","isScrollActive","isScrollingUp","scrollThreshold","scrollRatio","onScroll","targetEl","currentScrollHeight","scrollTarget","newTarget","useSsrBoot","makeVAppBarProps","VAppBar","vToolbarRef","isActive","scrollBehavior","behavior","canHide","isCollapsed","isFlat","opacity","ssrBootStyles","toolbarProps","makeDensityProps","useDensity","allowedVariants","genOverlays","isClickable","makeVariantProps","useVariant","variantClasses","variant","colorClasses","colorStyles","makeVBtnGroupProps","VBtnGroup","densityClasses","makeGroupProps","makeGroupItemProps","useGroupItem","injectKey","required","isSelected","isFirst","isLast","selectedClass","useGroup","isUnmounted","selected","getIds","getValues","groupVm","register","unwrapped","unregister","forceMandatoryValue","onUpdated","select","currentId","currentIndex","newIndex","newItem","getItemIndex","ids","modelValue","itemByIndex","itemIndex","VBtnToggleSymbol","makeVBtnToggleProps","VBtnToggle","next","prev","btnGroupProps","predefinedSizes","makeSizeProps","useSize","sizeClasses","sizeStyles","makeVIconProps","VIcon","slotIcon","iconData","slotValue","Text","hasClick","useIntersectionObserver","intersectionRef","makeVProgressCircularProps","VProgressCircular","MAGIC_RADIUS_CONSTANT","CIRCUMFERENCE","underlayColorClasses","underlayColorStyles","normalizedValue","diameter","strokeWidth","strokeDashOffset","oppositeMap","makeLocationProps","useLocation","opposite","makeVProgressLinearProps","VProgressLinear","locationStyles","bufferColorClasses","bufferColorStyles","barColorClasses","barColorStyles","normalizedBuffer","isReversed","isForcedColorsModeActive","handleClick","e","right","bar","makeLoaderProps","useLoader","LoaderSlot","positionValues","makePositionProps","usePosition","useRoute","useRouter","useLink","RouterLink","resolveDynamicComponent","isLink","href","linkProps","routerLink","link","route","makeRouterProps","inTransition","useBackButton","router","popped","removeBefore","removeAfter","onPopstate","from","useSelectLink","stopSymbol","DELAY_RIPPLE","isTouchEvent","isKeyboardEvent","calculate","localX","localY","radius","scale","centerX","centerY","ripples","diff","isRippleEnabled","rippleShow","element","rippleStop","rippleHide","rippleCancelShow","keyboardRipple","keyboardRippleShow","keyboardRippleHide","focusRippleHide","updateRipple","wasEnabled","enabled","removeListeners","updated","Ripple","makeVBtnProps","VBtn","loaderClasses","positionClasses","variantProps","isDisabled","isElevated","valueAttr","onClick","Tag","hasPrepend","hasAppend","hasIcon","makeVAppBarNavIconProps","VAppBarNavIcon","VAppBarTitle","VAlertTitle","allowedTypes","makeVAlertProps","VAlert","closeProps","hasClose","makeVAvatarProps","VAvatar","makeVLabelProps","VLabel","VSelectionControlGroupSymbol","makeSelectionControlGroupProps","makeVSelectionControlGroupProps","VSelectionControlGroup","updateHandlers","makeVSelectionControlProps","useSelectionControl","trueValue","falseValue","isMultiple","currentValue","newVal","VSelectionControl","isFocused","isFocusVisible","input","isInteractive","onFocus","onBlur","onClickLabel","onInput","inputNode","makeVCheckboxBtnProps","VCheckboxBtn","indeterminate","onChange","falseIcon","trueIcon","controlProps","$event","useInputIcon","InputIcon","localeKey","listener","makeVMessagesProps","VMessages","makeFocusProps","useFocus","focusClasses","focus","blur","FormKey","makeFormProps","createForm","isReadonly","isValidating","errors","validate","results","valid","itemErrorMessages","resetValidation","invalid","errorMessages","useForm","makeValidationProps","useValidation","validationModel","form","internalErrorMessages","isPristine","isDirty","validateOn","validationClasses","unwatch","silent","rule","result","makeVInputProps","VInput","messagesId","slotProps","hasMessages","hasDetails","makeVCheckboxProps","VCheckbox","focused","controlAttrs","inputProps","checkboxProps","calculateUpdatedTarget","selectedElement","containerElement","containerSize","getOffsetSize","scrollPosition","getScrollPosition","childrenSize","childrenStartPosition","getOffsetPosition","additionalOffset","calculateCenteredTarget","containerOffsetSize","childrenOffsetPosition","childrenOffsetSize","getScrollSize","getClientSize","scrollLeft","VSlideGroupSymbol","makeVSlideGroupProps","VSlideGroup","isOverflowing","scrollOffset","contentSize","containerRef","containerRect","contentRef","goToOptions","firstSelectedIndex","lastSelectedIndex","frame","scrollToChildren","children","center","scrollToPosition","newPosition","offsetSize","scrollTop","onFocusin","onFocusout","ignoreFocusEvent","onFocusAffixes","onKeydown","toFocus","direction","offsetStep","hasAffixes","hasPrev","hasNext","scrollSize","clientSize","VChipGroupSymbol","makeVChipGroupProps","VChipGroup","slideGroupProps","makeVChipProps","VChip","onKeyDown","hasAppendMedia","hasFilter","hasPrependMedia","hasColor","_vShow","ListKey","createList","parent","useList","independentActiveStrategy","mandatory","strategy","activated","parents","independentSingleActiveStrategy","parentStrategy","singleSelected","leafActiveStrategy","_ref3","leafSingleActiveStrategy","_ref4","singleOpenStrategy","opened","newOpened","multipleOpenStrategy","listOpenStrategy","independentSelectStrategy","on","independentSingleSelectStrategy","leafSelectStrategy","leafSingleSelectStrategy","_ref5","classicSelectStrategy","_ref6","childrenIds","everySelected","cid","noneSelected","_ref7","VNestedSymbol","emptyNested","makeNestedProps","useNested","activeStrategy","selectStrategy","openStrategy","getPath","nodeIds","nested","parentId","isGroup","newPath","list","newSelected","newActivated","useNestedItem","uidSymbol","computedId","open","useNestedGroupActivator","VListGroupActivator","makeVListGroupProps","VListGroup","isOpen","_id","activatorProps","toggleIcon","activatorDefaults","makeVListItemSubtitleProps","VListItemSubtitle","VListItemTitle","makeVListItemProps","VListItem","activate","isActivated","isIndeterminate","isGroupActivator","openOnSelect","roundedProps","lineClasses","hasSubtitle","makeVListSubheaderProps","VListSubheader","makeVDividerProps","VDivider","dividerStyles","divider","makeVListChildrenProps","VListChildren","itemProps","type","slotsWithItem","listGroupProps","listItemProps","makeItemsProps","transformItem","title","transformItems","array","useItems","hasNullItem","isPrimitive","useListItems","makeVListProps","VList","activeColor","baseColor","onMousedown","VListImg","makeVListItemActionProps","VListItemAction","makeVListItemMediaProps","VListItemMedia","elementToViewport","point","anchorToPoint","locationStrategies","staticLocationStrategy","connectedLocationStrategy","makeLocationStrategyProps","useLocationStrategies","contentStyles","updateLocation","onResize","getIntrinsicSize","contentBox","preferredAnchor","preferredOrigin","parsedAnchor","parsedOrigin","newContentEl","oldTarget","oldContentEl","scrollParents","viewportMargin","viewport","scrollBox","placement","checkOverflow","_placement","targetPoint","contentPoint","available","flipped","resets","_x","_y","overflows","axis","hasOverflowX","hasOverflowY","newPlacement","flip","newOverflows","pixelRound","pixelCeil","clean","frames","requestNewFrame","run","raf","scrollStrategies","closeScrollStrategy","blockScrollStrategy","repositionScrollStrategy","makeScrollStrategyProps","useScrollStrategies","bindScroll","offsetParent","scrollElements","scrollbarWidth","scrollableParent","slow","ric","VMenuSymbol","makeDelayProps","useDelay","clearDelay","runDelay","isOpening","runOpenDelay","runCloseDelay","makeActivatorProps","useActivator","isTop","contentEl","activatorEl","isHovered","firstEnter","openOnFocus","openOnClick","cursorTarget","availableEvents","activatorEvents","contentEvents","menu","scrimEvents","activatorRef","targetRef","_useActivator","activator","getActivator","unbindActivatorProps","bindActivatorProps","useHydration","makeLazyProps","useLazy","hasContent","useScopeId","scopeId","StackSymbol","globalStack","useStack","disableGlobalStack","createStackEntry","stack","_zIndex","lastZIndex","globalTop","_isTop","localTop","useTeleport","targetElement","defaultConditional","checkEvent","checkIsActive","directive","handleShadow","ClickOutside","Scrim","makeVOverlayProps","VOverlay","scrimEl","_onAfterLeave","scrimColor","stackStyles","teleportTarget","rootNode","onClickOutside","animateClick","closeConditional","scrollParent","onAfterEnter","Teleport","Refs","getDescriptor","currentObj","forwardRefs","childRefs","queue","makeVMenuProps","VMenu","overlay","openChildren","onFocusIn","before","onActivatorKeydown","overlayProps","makeVCounterProps","VCounter","counter","makeVFieldLabelProps","VFieldLabel","makeVFieldProps","VField","hasLabel","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","targetRect","targetWidth","targetStyle","duration","onKeydownClear","isOutlined","hasClear","filterFieldProps","activeTypes","makeVTextFieldProps","VTextField","counterValue","onIntersect","vInputRef","vFieldRef","inputRef","onControlMousedown","onControlClick","onClear","caretPosition","hasCounter","fieldProps","fieldClass","cloneVNode","makeVVirtualScrollItemProps","VVirtualScrollItem","UP","DOWN","BUFFER_PX","makeVirtualProps","useVirtual","itemHeight","paddingTop","paddingBottom","markerRef","markerOffset","viewportHeight","hasInitialRender","sizes","offsets","updateTime","targetScrollIndex","getSize","updateOffsets","calculateVisibleItems","scrollToIndex","handleItemResize","prevHeight","prevMinHeight","calculateOffset","calculateIndex","binaryClosest","lastScrollTop","scrollVelocity","lastScrollTime","handleScroll","scrollTime","handleScrollend","_calculateVisibleItems","startPx","endPx","end","topOverflow","bottomOverflow","computedItems","high","low","mid","makeVVirtualScrollProps","VVirtualScroll","handleListeners","method","useScrolling","listRef","textFieldRef","isScrolling","scrollTimeout","onListScroll","finishScrolling","onListKeydown","makeSelectProps","makeVSelectProps","VSelect","ue","vTextFieldRef","vMenuRef","vVirtualScrollRef","_menu","transformed","selectedValues","selection","keyboardLookupPrefix","keyboardLookupLastTime","displayItems","menuDisabled","computedMenuProps","listEvents","onMousedownControl","KEYBOARD_LOOKUP_THRESHOLD","add","onModelUpdate","hasChips","hasList","textFieldProps","placeholder","itemRef","onChipClose","hasSlot","slotContent","_createTextVNode","defaultFilter","query","makeFilterProps","filterItems","filter","customFiltersLength","loop","customMatches","defaultMatches","filterKeys","keyFilter","defaultMatchesLength","customMatchesLength","useFilter","filteredItems","filteredMatches","transformedItems","_query","strQuery","originalItems","_filteredItems","_filteredMatches","matches","getMatches","highlightResult","makeVAutocompleteProps","VAutocomplete","listHasFocus","selectionIndex","search","filteredItem","hasSelectionSlot","highlightFirst","onMousedownMenuIcon","selectionStart","originalSelectionIndex","onUpdateModelValue","isSelecting","makeVBadgeProps","VBadge","badgeAttrs","makeVBannerActionsProps","VBannerActions","VBannerText","makeVBannerProps","VBanner","density","makeVBottomNavigationProps","VBottomNavigation","makeVDialogProps","VDialog","firstElement","lastElement","contentProps","makeVBottomSheetProps","VBottomSheet","dialogProps","makeVBreadcrumbsDividerProps","VBreadcrumbsDivider","makeVBreadcrumbsItemProps","VBreadcrumbsItem","makeVBreadcrumbsProps","VBreadcrumbs","VCardActions","makeVCardSubtitleProps","VCardSubtitle","VCardTitle","makeCardItemProps","VCardItem","makeVCardTextProps","VCardText","makeVCardProps","VCard","hasHeader","hasCardItem","handleGesture","wrapper","touchstartX","touchendX","touchstartY","touchendY","dirRatio","minDistance","touchstart","touch","touchend","touchmove","createHandlers","Touch","Touch$1","VWindowSymbol","VWindowGroupSymbol","makeVWindowProps","VWindow","rootRef","isRtlReverse","transitionCount","transitionHeight","activeIndex","itemsLength","lastIndex","canMoveBack","canMoveForward","arrows","prevProps","nextProps","touchOptions","originalEvent","makeVCarouselProps","VCarousel","windowRef","slideTimeout","restartTimeout","startTimeout","windowProps","makeVWindowItemProps","VWindowItem","window","groupItem","isTransitioning","hasTransition","onAfterTransition","onBeforeTransition","onTransitionCancelled","onEnterTransition","makeVCarouselItemProps","VCarouselItem","imgProps","windowItemProps","VCode","makeVColorPickerCanvasProps","VColorPickerCanvas","hue","isInteracting","canvasRef","canvasWidth","canvasHeight","_dotPosition","dotPosition","dotStyles","updateDotPosition","handleMouseDown","handleMouseMove","handleMouseUp","coords","updateCanvas","canvas","saturationGradient","valueGradient","stripAlpha","extractColor","converted","nullColor","hexa","modes","VColorPickerInput","makeVColorPickerEditProps","m","VColorPickerEdit","enabledModes","inputs","getValue","getColor","mi","VSliderSymbol","vertical","getPosition","makeSliderProps","useSteps","decimals","roundValue","clamped","useSlider","steps","onSliderStart","onSliderMove","onSliderEnd","getActiveThumb","indexFromEnd","thumbSize","tickSize","trackSize","numTicks","thumbColor","trackColor","trackFillColor","mousePressed","startOffset","trackContainerRef","activeThumbRef","parseMouseMove","trackStart","trackLength","clickOffset","clickPos","handleStop","handleStart","moveListenerOptions","onMouseMove","onSliderMouseUp","onSliderTouchend","onSliderTouchstart","onSliderMousedown","percentage","showTicks","parsedTicks","hasLabels","makeVSliderThumbProps","VSliderThumb","slider","thumbLabel","elevationProps","pageup","pagedown","home","down","up","relevantKeys","multipliers","parseKeydown","_step","multiplier","positionPercentage","makeVSliderTrackProps","VSliderTrack","trackFillColorClasses","trackFillColorStyles","trackColorClasses","trackColorStyles","startDir","endDir","backgroundStyles","trackFillWidth","trackFillStyles","computedTicks","tick","directionValue","makeVSliderProps","VSlider","thumbContainerRef","roundedValue","trackStop","makeVColorPickerPreviewProps","VColorPickerPreview","abortController","onUnmounted","openEyeDropper","eyeDropper","colorHexValue","colors$2","makeVColorPickerSwatchesProps","parseDefaultColors","VColorPickerSwatches","swatch","makeVSheetProps","VSheet","makeVColorPickerProps","VColorPicker","err","currentColor","externalChange","updateColor","sheetProps","makeVComboboxProps","VCombobox","cleared","_search","makeVConfirmEditProps","VConfirmEdit","internalModel","save","cancel","actionsUsed","makeDataTableExpandProps","VDataTableExpandedKey","provideExpanded","expandOnClick","expanded","expand","newExpanded","isExpanded","toggleExpand","useExpanded","makeDataTableGroupProps","VDataTableGroupSymbol","createGroupBy","provideGroupBy","disableSort","groupBy","sortBy","sortByWithGroups","isGroupOpen","toggleGroup","extractRows","dive","useGroupBy","groupItemsByProperty","groupItems","depth","groupedItems","flattenItems","flatItems","useGroupedItems","useOptions","page","itemsPerPage","oldOptions","makeDataTablePaginateProps","VDataTablePaginationSymbol","createPagination","providePagination","startIndex","stopIndex","pageCount","setItemsPerPage","nextPage","prevPage","setPage","usePagination","usePaginatedItems","paginatedItems","singleSelectStrategy","pageSelectStrategy","currentPage","allSelectStrategy","allItems","_ref8","makeDataTableSelectProps","VDataTableSelectionSymbol","provideSelection","_ref9","allSelectable","currentPageSelectable","isSomeSelected","toggleSelect","selectAll","someSelected","allSelected","showSelectAll","useSelection","makeDataTableSortProps","VDataTableSortSymbol","createSort","mustSort","multiSort","provideSort","toggleSort","column","newSortBy","isSorted","useSort","useSortedItems","sortItems","sortByItems","stringCollator","hasCustomResult","sortKey","sortOrder","sortA","sortB","sortARaw","sortBRaw","customResult","makeDataIteratorItemsProps","selectable","useDataIteratorItems","makeVDataIteratorProps","VDataIterator","sortedItems","paginatedItemsWithoutGroups","useRefs","onBeforeUpdate","updateRef","makeVPaginationProps","VPagination","maxButtons","firstItem","totalWidth","itemWidth","getMax","totalVisible","minButtons","even","middle","rangeLength","rangeStart","setValue","controls","prevDisabled","nextDisabled","updateFocus","makeVDataTableFooterProps","VDataTableFooter","itemsPerPageOptions","option","paginationProps","VDataTableColumn","makeDataTableHeaderProps","VDataTableHeadersSymbol","defaultHeader","defaultActionHeader","priorityQueue","priority","added","whole","extractLeaves","columns","extractKeys","headers","getDefaultItem","getDepth","parseFixedColumns","seenFixed","setFixed","parentFixed","setFixedOffset","fixedOffset","parse","maxDepth","currentDepth","rowSize","row","fraction","sort","convertToInternalHeaders","internalHeaders","defaultItem","internalItem","createHeaders","sortFunctions","sortRawFunctions","filterFunctions","flatHeaders","header","useHeaders","makeVDataTableHeadersProps","VDataTableHeaders","getFixedStyles","getSortIcon","headerCellClasses","VDataTableHeaderCell","noPadding","headerProps","columnSlotName","columnSlotProps","VDataTableMobileHeaderCell","appendIcon","makeVDataTableGroupHeaderRowProps","VDataTableGroupHeaderRow","rows","selectGroup","makeVDataTableRowProps","VDataTableRow","slotName","headerSlotName","cellProps","columnCellProps","withModifiers","displayValue","toDisplayString","makeVDataTableRowsProps","VDataTableRows","itemSlotProps","makeVTableProps","VTable","makeDataTableItemsProps","itemColumns","useDataTableItems","makeDataTableProps","makeVDataTableProps","VDataTable","dataTableFooterProps","dataTableHeadersProps","dataTableRowsProps","tableProps","makeVDataTableVirtualProps","VDataTableVirtual","makeVDataTableServerProps","VDataTableServer","itemsWithoutGroups","makeVContainerProps","VContainer","breakpointProps","offsetProps","offsetKey","orderProps","orderKey","propMap","breakpointClass","className","breakpoint","ALIGN_SELF_VALUES","makeVColProps","VCol","classList","hasColClasses","ALIGNMENT","SPACE","makeRowProps","def","prefixKey","ALIGN_VALUES","alignValidator","alignProps","JUSTIFY_VALUES","justifyValidator","justifyProps","ALIGN_CONTENT_VALUES","alignContentValidator","alignContentProps","classMap","makeVRowProps","VRow","VSpacer","makeVDatePickerControlsProps","VDatePickerControls","disableMonth","disableYear","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","makeVDatePickerHeaderProps","VDatePickerHeader","onClickAppend","makeCalendarProps","useCalendar","weekDays","weeksInMonth","days","daysInMonth","week","genDays","today","isoDate","isAdjacent","isStart","isEnd","isSame","daysInWeek","weekNumbers","makeVDatePickerMonthProps","VDatePickerMonth","daysRef","rangeStop","isReverse","atMax","onRangeClick","_value","datesInRange","nextDate","onMultipleClick","weekDay","makeVDatePickerMonthsProps","VDatePickerMonths","months","btnProps","makeVDatePickerYearsProps","VDatePickerYears","years","yearRef","VPickerTitle","makeVPickerProps","VPicker","makeVDatePickerProps","VDatePicker","viewMode","isReversing","headerTransition","minDate","maxDate","_date","onUpdateYear","onUpdateMonth","onClickDate","arrBefore","arrAfter","newMonth","newYear","pickerProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","makeVEmptyStateProps","VEmptyState","onClickAction","hasActions","hasHeadline","hasMedia","VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","expansionPanel","makeVExpansionPanelTitleProps","VExpansionPanelTitle","makeVExpansionPanelProps","VExpansionPanel","selectedIndices","isBeforeSelected","selectedIndex","isAfterSelected","expansionPanelTitleProps","expansionPanelTextProps","makeVExpansionPanelsProps","VExpansionPanels","variantClass","makeVFabProps","VFab","hasPosition","orientation","vFabRef","makeVFileInputProps","VFileInput","files","totalBytes","totalBytesReadable","fileNames","file","fileCount","onClickPrepend","makeVFooterProps","VFooter","autoHeight","makeVFormProps","VForm","formRef","onReset","onSubmit","ready","makeVHoverProps","VHover","isHovering","makeVInfiniteScrollProps","VInfiniteScrollIntersect","VInfiniteScroll","rootEl","startStatus","endStatus","margin","setScrollAmount","getScrollAmount","getContainerSize","setStatus","status","getStatus","previousScrollSize","handleIntersect","_isIntersecting","intersecting","renderSide","hasStartIntersect","hasEndIntersect","intersectMode","VItemGroupSymbol","makeVItemGroupProps","VItemGroup","VItem","toggle","VKbd","makeVLayoutProps","VLayout","makeVLayoutItemProps","VLayoutItem","makeVLazyProps","VLazy","makeVLocaleProviderProps","VLocaleProvider","makeVMainProps","VMain","useSticky","isSticky","isStuck","stuckPosition","stickyStyles","layoutTop","bodyScroll","HORIZON","HISTORY","kineticEnergyToVelocity","work","sqrt2","calculateImpulseVelocity","samples","vprev","vcurr","useVelocity","touches","addMovement","endTouch","getVelocity","newest","absX","absY","oops","useTouch","isTemporary","touchless","onTouchstart","onTouchmove","onTouchend","maybeDragging","isDragging","dragProgress","pos","getProgress","limit","touchX","touchY","touchZone","inTouchZone","inElement","velocity","vx","vy","dragStyles","locations","makeVNavigationDrawerProps","VNavigationDrawer","isPersistent","scrimStyles","VNoSsr","show","makeVOtpInputProps","VOtpInput","fields","focusIndex","isValidNumber","onPaste","clipboardText","floor","makeVParallaxProps","VParallax","displayHeight","scrollPos","translate","sizeScale","makeVRadioProps","VRadio","makeVRadioGroupProps","VRadioGroup","makeVRangeSliderProps","VRangeSlider","startThumbRef","stopThumbRef","stopOffset","makeVRatingProps","VRating","rating","increments","hoverIndex","itemState","isFilled","eventState","onMouseenter","onMouseleave","VRatingItem","showStar","createLabel","labelProps","rootTypes","genBone","genBones","bone","genStructure","mapBones","bones","makeVSkeletonLoaderProps","VSkeletonLoader","isLoading","loadingProps","VSlideGroupItem","slideGroupItem","useCountdown","milliseconds","time","clear","interval","elapsed","makeVSnackbarProps","VSnackbar","countdown","timerRef","startY","hasLayout","activeTimeout","clearTimeout","onPointerenter","onPointerleave","locationClasses","loc","makeLineProps","makeVBarlineProps","VBarline","autoDrawDuration","lineWidth","boundary","genBars","minX","maxX","minY","maxY","totalValues","maxValue","minValue","gridX","gridY","horizonY","parsedLabels","labels","points","bars","gradientData","genPath","fill","isCollinear","checkCollinear","threshold","getDistance","radiusForPoint","moveTo","p0","p1","p2","vector","unitVector","makeVTrendlineProps","VTrendline","lastLength","genPoints","padding","pathRef","_genPath","makeVSparklineProps","VSparkline","totalHeight","lineProps","makeVSpeedDialProps","VSpeedDial","menuRef","menuProps","VStepperSymbol","makeVStepperActionsProps","VStepperActions","prevSlotProps","nextSlotProps","VStepperHeader","makeStepperItemProps","makeVStepperItemProps","VStepperItem","canEdit","hasError","hasCompleted","makeVStepperWindowProps","VStepperWindow","_model","makeVStepperWindowItemProps","VStepperWindowItem","makeStepperProps","makeVStepperProps","VStepper","_items","completeIcon","editIcon","errorIcon","editable","prevText","nextText","hasWindow","makeVSwitchProps","VSwitch","control","loaderColor","onTrackClick","makeVSystemBarProps","VSystemBar","VTabsSymbol","makeVTabProps","VTab","sliderColorClasses","sliderColorStyles","sliderEl","updateSlider","prevEl","nextEl","prevBox","nextBox","xy","XY","rightBottom","widthHeight","prevPos","nextPos","initialScale","sigma","makeVTabsWindowProps","VTabsWindow","makeVTabsWindowItemProps","VTabsWindowItem","parseItems","makeVTabsProps","VTabs","makeVTextareaProps","VTextarea","controlHeight","textareaRef","sizerRef","calculateInputHeight","fieldStyle","lineHeight","newHeight","_vModelText","makeVThemeProviderProps","VThemeProvider","makeVTimelineDividerProps","VTimelineDivider","lineColorClasses","lineColorStyles","makeVTimelineItemProps","VTimelineItem","dotSize","dotRef","makeVTimelineProps","VTimeline","sideClasses","truncateClasses","makeVToolbarItemsProps","VToolbarItems","makeVTooltipProps","VTooltip","VValidation","validation","once","immediate","modifierKeys","mutations","Mutate","Resize","self","Scroll","useDirectiveComponent","concreteComponent","resolveComponent","mountComponent","findComponentParent","walk","Tooltip","blue","orange","neutral","green","yellow","red","coral","shades","colors$1","blueChart","tealChart","purpleChart","redChart","greenChart","brownChart","yellowChart","pinkChart","peachChart","grayChart","useChartColors","getDefinedColors","getColors","colorsLength","rounds","remainder","getNamedColorByCode","code","chartColors","theme$1","defaults$4","inBrowser","mark","measure","startTag","endTag","RE_ARGS","identifier","makeSymbol","shareable","generateFormatCacheKey","friendlyJSONstringify","json","isNumber","isDate","toTypeString","isRegExp","isEmptyObject","_create","create","_globalThis","getGlobalThis","escapeHtml","rawText","hasOwnProperty","hasOwn","isArray","isFunction","isString","isBoolean","isPromise","objectToString","join","separator","RANGE","generateCodeFrame","res","j","lineLength","pad","msg","hasWarned","warnOnce","createEmitter","payload","isNotObjectOrIsArray","deepCopy","src","des","createPosition","createLocation","CompileErrorCodes","COMPILE_ERROR_CODES_EXTEND_POINT","createCompileError","domain","defaultOnError","RE_HTML_TAG","detectHtmlTag","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","peek","resetPeek","skipToPeek","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","emitError","getToken","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","isTextStart","isPluralStart","hasSpace","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readText","readNamedIdentifier","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","nextContext","emptyLinkedKeyNode","parseMessage","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","createTransformer","ast","traverseNodes","transformer","traverseNode","optimize","body","optimizeMessageNode","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","generatePluralNode","generateResource","generate","helpers","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","formatParts","resolveBody","createUnhandleNodeError","resolveType","resolveCases","formatMessageParts","PROPS_BODY","resolveProps","PROPS_CASES","static_","resolveStatic","resolveItems","acm","formatMessagePart","PROPS_STATIC","PROPS_ITEMS","resolveValue$1","modifier","resolveLinkedModifier","resolveLinkedKey","PROPS_TYPE","PROPS_VALUE","resolved","PROPS_MODIFIER","PROPS_KEY","WARN_MESSAGE","checkHtmlMessage","warnHtmlMessage","format$1","defaultOnCacheKey","compileCache","isMessageAST","detectError","baseCompile$1","compile","cacheKey","cached","devtools","setDevToolsHook","initI18nDevTools","meta","translateDevTools","createDevToolsHook","payloads","CoreErrorCodes","CORE_ERROR_CODES_EXTEND_POINT","createCoreError","getLocale","resolveLocale","_resolveLocale","fallbackWithSimple","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","chain","appendBlockToChain","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","pathStateMachine","literalValueRE","exp","stripQuotes","getPathCharType","formatSubPath","trimmed","subPathDepth","newChar","typeMap","maybeUnescapeQuote","nextChar","resolveWithKeyValue","resolveValue","hit","CoreWarnCodes","CORE_WARN_CODES_EXTEND_POINT","warnMessages","getWarnMessage","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","resolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","onWarn","_locale","createResources","datetimeFormats","numberFormats","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","isTranslateFallbackWarn","isTranslateMissingWarn","handleMissing","emitter","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","intlDefined","Availabilities","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg1","arg2","arg3","arg4","dateTime","clearDateTimeFormat","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","normalizeNamed","pluralIndex","createMessageContext","pluralRule","orgPluralRule","_list","_named","useLinked","_modifier","normalize","interpolate","NOOP_MESSAGE_FUNCTION","isMessageFunction","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","missingRet","getCompileContext","msgCtx","_source","getSourceForCodeFrame","codeFrame","I18nErrorCodes","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","EnableEmitter","DisableEmitter","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","I18nWarnCodes","handleFlatJson","subKeys","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","adjustI18nResources","gl","componentOptions","createTextNode","createVNode","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","__root","__injectWithOption","_isGlobal","_inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","isResolvedTranslateMessage","arg","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","rt","translateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","composer","VUE_I18N_COMPONENT_TYPES","VueDevToolsLabels","VueDevToolsPlaceholders","VueDevToolsTimelineColors","devtoolsApi","enableDevTools","reject","api","componentInstance","treeNode","updateComponentTreeTags","instanceData","inspectComposer","registerScope","roots","inspectScope","getComponentInstance","editScope","getI18nScopeLable","global","getLocaleMessageValue","getMessageFunctionDetails","ESC","escape","escapeChar","func","keyInstance","nodeId","getComposer$2","makeScopeInspectState","localeType","localeStates","localeMessagesType","localeMessagesStates","datetimeFormatsType","datetimeFormatsStates","numberFormatsType","numberFormatsStates","addTimelineEvent","groupId","field","convertComposerOptions","fallbackRoot","pluralizationRules","inheritLocale","sharedMessages","createVueI18n","__extender","vueI18n","__composer","defineMixin","vuei18n","optionsI18n","mergeToGlobal","_vueI18n","baseFormatProps","getInterpolateArg","slot","getFragmentableTag","Translation","useI18n","assignedAttrs","renderFormatter","slotKeys","partFormatter","NumberFormat","getComposer$1","i18nInternal","vTDirective","_process","parsedValue","parseValue","makeParams","textContent","apply","pluginOptions","DatetimeFormat","I18nInjectionKey","createI18n","__legacyMode","__globalInjection","__instances","globalScope","__global","createGlobal","symbol","__getInstance","__setInstance","__deleteInstance","opts","globalReleaseHandler","injectGlobalFields","unmountApp","_composer","getI18nInstance","getGlobalComposer","getScope","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","dispose","globalExportProps","globalExportMethods","desc","$t","$te","$n","hookCallback","hooks","setHookCallback","hasOwnProp","isObjectEmpty","isUndefined","arrLen","extend","createUTC","strict","createLocalOrUTC","defaultParsingFlags","getParsingFlags","some","fun","flags","parsedParts","isNowValid","createInvalid","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","Moment","config","isMoment","firstTime","argLen","deprecations","deprecateSimple","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","calendar","mom","output","zeroFill","targetLength","forceSign","absNumber","zerosToFill","sign","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","ordinal","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","defaultLongDateFormat","longDateFormat","formatUpper","tok","defaultInvalidDate","invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","defaultRelativeTime","relativeTime","withoutSuffix","string","isFuture","pastFuture","addUnitAlias","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedInput","normalizedProp","addUnitPriority","getPrioritizedUnits","unitsObj","u","isLeapYear","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","get","stringGet","stringSet","prioritized","prioritizedLen","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","localeData","getParseRegexForToken","unescapeFormat","regexEscape","matched","p3","p4","addParseToken","tokenLen","addWeekParseToken","addTimeToArrayFromToken","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","indexOf","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","localeMonthsShort","handleStrictParse","monthName","ii","llc","localeMonthsParse","dayOfMonth","getSetMonth","getDaysInMonth","monthsShortRegex","computeMonthsParse","monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","getSetYear","getIsLeapYear","M","ms","createUTCDate","firstWeekOffset","dow","doy","fwd","fwdlw","dayOfYearFromWeeks","localWeekday","weekOffset","dayOfYear","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","weekdays","localeWeekdaysShort","localeWeekdaysMin","handleStrictParse$1","weekdayName","localeWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","weekdaysRegex","computeWeekdaysParse","weekdaysShortRegex","weekdaysMinRegex","minPieces","minp","shortp","longp","hFormat","kFormat","meridiem","lowercase","matchMeridiem","kInput","pos1","pos2","localeIsPM","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","hours","minutes","isLower","baseConfig","localeFamilies","globalLocale","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","split","loadLocale","isLocaleNameSane","oldLocale","aliasedRequire","require","getSetGlobalLocale","defineLocale","updateLocale","tmpLocale","listLocales","overflow","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","rfc2822","obsOffsets","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","configFromString","currentDateArray","nowValue","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","weekYear","temp","weekdayOverflow","curWeek","createLocal","skipped","stringLength","totalParsedInputLength","era","meridiemFixWrap","hour","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","quarters","seconds","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","offsetFromString","chunkOffset","matcher","cloneWithOffset","getDateOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","period","dur","tmp","isAdding","updateOffset","subtract","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","localInput","isBetween","inclusivity","localFrom","localTo","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor2","adjust","toString","toISOString","keepOffset","utc","inspect","zone","inputString","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOf","startOfDate","endOf","valueOf","unix","toDate","toArray","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","localeEras","eras","localeErasParse","eraName","abbr","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","erasAbbrRegex","erasNarrowRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","getSetMillisecond","parseMs","getZoneAbbr","getZoneName","proto$1","createUnix","createInZone","preParsePostFormat","get$1","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","mathAbs","abs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","round","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","humanize","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","total","totalSign","ymSign","daysSign","hmsSign","proto$2","moment","plugins","P","N","R","I","F","E","T$1","A","W","O","L$1","T","factory","module","this","modules","installedModules","__webpack_require__","moduleId","exports","object","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","__extends","extendStatics","__","ParchmentError","_super","_this","attributes","tags","types","Scope","BlotClass","find","Definitions","_i","Definition","tagName","tagNames","equal","op","NULL_CHARACTER","Delta","ops","newOp","lastOp","predicate","passed","failed","initial","elem","iter","nextOp","thisIter","otherIter","firstOther","firstLeft","thisOp","otherOp","strings","prep","diffResult","opLength","nextType","toStr","defineProperty","gOPD","hasOwnConstructor","hasIsPrototypeOf","setProperty","getProperty","copy","copyIsArray","deep","_createClass","defineProperties","Constructor","protoProps","staticProps","_get","receiver","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text","_text2","_classCallCheck","_possibleConstructorReturn","call","_inherits","subClass","superClass","NEWLINE_LENGTH","BlockEmbed","_Parchment$Embed","attribute","Block","_Parchment$Block","domNode","_this2","leaf","bubbleFormats","blot","force","_typeof","_slicedToArray","sliceIterator","_n","_s","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","_defineProperty","debug","Quill","overwrite","expandConfig","html","modify","contents","refNode","_this3","_overload","overload","_overload2","_this4","change","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","containerBounds","_overload7","_overload8","_overload9","_overload10","embed","_this7","_this8","_overload11","_overload12","_this9","_overload13","_overload14","_this10","deleted","applied","_overload15","_overload16","_this11","userConfig","themeConfig","moduleNames","moduleConfig","moduleClass","oldDelta","shiftRange","_emitter","_emitter2","_map2","_map3","_map4","Inline","_Parchment$Inline","selfIndex","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","_node$__quill$emitter","Emitter","_EventEmitter","Module","quill","levels","_console","namespace","ns","logger","newLevel","pSlice","objectKeys","isArguments","actual","expected","objEquiv","isUndefinedOrNull","isBuffer","ka","kb","Attributor","attrName","keyName","attributeBit","_block","_block2","Code","_Inline","CodeBlock","_Block","frag","_descendant","_descendant2","nextNewline","prevNewline","isolateLength","_descendant3","_descendant4","searchIndex","reverse","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","Editor","scroll","consumeNextNewline","scrollLength","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","lengthRemaining","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","cursorIndex","textBlot","oldText","newText","diffDelta","combined","merged","_toConsumableArray","Range","Selection","native","_context$range","_format","nativeRange","_scroll$leaf","_scroll$leaf2","_leaf$position","_leaf$position2","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","normalized","indexes","_position","contains","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","scrollingContainer","scrollBounds","oldRange","_getRange","_getRange2","lastRange","descendant","Break","linked_list_1","shadow_1","ContainerBlot","makeBlot","criteria","descendants","lengthLeft","childBlot","refBlot","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","FormatBlot","LeafBlot","lib","keepNull","Iterator","retOp","_instanceof","nativeMap","nativeSet","nativePromise","circular","prototype","includeNonEnumerable","allParents","allChildren","useBuffer","__getRegExpFlags","keyChild","valueChild","entryChild","symbols","allPropertyNames","propertyName","__objToStr","__isDate","__isArray","__isRegExp","re","_container","_container2","isLine","_Parchment$Scroll","whitelist","_line2","_line3","_line4","newlineIndex","_newlineIndex","getLines","_quill","_quill2","SHORTKEY","Keyboard","_Module","evt","handleEnter","handleBackspace","handleDelete","handleDeleteRange","which","bindings","_quill$getLine","_quill$getLine2","_quill$getLeaf","_quill$getLeaf2","leafStart","offsetStart","leafEnd","offsetEnd","prefixText","suffixText","curContext","prevented","makeFormatHandler","makeCodeBlockHandler","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","makeEmbedArrowHandler","shiftKey","where","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","Cursor","textNode","restoreText","Container","_Parchment$Container","ColorAttributor","_Parchment$Attributor","ColorClass","ColorStyle","Link","url","_sanitize","protocols","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","Picker","trigger","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","parentBlot","refDomNode","AttributorStore","attr","ClassAttributor","StyleAttributor","Theme","GUARD_TEXT","Embed","childNode","prevLength","AlignAttribute","AlignClass","AlignStyle","_color","BackgroundClass","BackgroundStyle","DirectionAttribute","DirectionClass","DirectionStyle","FontClass","FontStyleAttributor","FontStyle","SizeClass","SizeStyle","History","dest","getLastChangeIndex","changeDelta","undoDelta","timestamp","endsWithNewlineChange","deleteLength","changeIndex","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","picker","buttons","button","selects","fillSelect","fileInput","reader","BaseTooltip","_Tooltip","boundsContainer","preview","extractVideoUrl","LinkedList","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","records","markParent","remaining","grandChild","obj1","obj2","InlineBlot","BlockBlot","EmbedBlot","_toggle","searchString","subjectString","thisArg","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","diff_commonSuffix","commonsuffix","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","k2_offset","x2","diff_bisectSplit_","k2","y2","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","seed","best_common","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","unsupported","Events","EE","EventEmitter","exists","ee","a1","a2","a3","a4","a5","listeners","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchText","matchNewline","matchBreak","matchBlot","matchSpacing","matchAttributor","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","_prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","endText","childrenDelta","nodeHeight","replacer","collapse","Bold","Toolbar","addControls","_ret","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","addButton","addSelect","ColorPicker","_Picker","colorLabel","IconPicker","reference","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","toolbar","SnowTooltip","tooltip","_BaseTooltip","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IdentAttributor","IndentClass","Blockquote","Header","ListItem","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","Formula","SyntaxCodeBlock","_CodeBlock","_highlight","CodeToken","Syntax","BubbleTheme","BubbleTooltip","lastLine","_bounds","arrow","_fix_unicode","editdiff","find_cursor_edit_diff","is_surrogate_pair_start","is_surrogate_pair_end","fix_unicode","previous_equality","stray","charCode","remove_empty_tuples","tuples","make_edit_splice","oldMiddle","newMiddle","newRange","oldLength","newLength","oldCursor","oldBefore","oldAfter","maybeNewCursor","editBefore","newCursor","newBefore","newAfter","oldPrefix","newPrefix","editAfter","cursor","oldSuffix","newSuffix","replaceRange","diff_1","LARGE_ARRAY_SIZE","HASH_UNDEFINED","MAX_SAFE_INTEGER","argsTag","arrayTag","boolTag","dateTag","errorTag","funcTag","genTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","float32Tag","float64Tag","int8Tag","int16Tag","int32Tag","uint8Tag","uint8ClampedTag","uint16Tag","uint32Tag","reRegExpChar","reFlags","reIsHostCtor","reIsUint","cloneableTags","freeGlobal","freeSelf","freeExports","freeModule","moduleExports","addMapEntry","addSetEntry","arrayEach","iteratee","arrayPush","arrayReduce","accumulator","initAccum","baseTimes","isHostObject","mapToArray","overArg","setToArray","arrayProto","funcProto","objectProto","coreJsData","maskSrcKey","funcToString","reIsNative","Buffer","Symbol","Uint8Array","getPrototype","objectCreate","propertyIsEnumerable","splice","nativeGetSymbols","nativeIsBuffer","nativeKeys","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","Hash","hashClear","hashDelete","hashGet","hashHas","hashSet","ListCache","listCacheClear","listCacheDelete","assocIndexOf","listCacheGet","listCacheHas","listCacheSet","MapCache","mapCacheClear","mapCacheDelete","getMapData","mapCacheGet","mapCacheHas","mapCacheSet","Stack","stackClear","stackDelete","stackGet","stackHas","stackSet","pairs","arrayLikeKeys","inherited","skipIndexes","isIndex","assignValue","objValue","eq","baseAssign","copyObject","baseClone","isDeep","isFull","customizer","isArr","initCloneArray","copyArray","getTag","isFunc","cloneBuffer","initCloneObject","copySymbols","initCloneByTag","stacked","getAllKeys","subValue","baseCreate","baseGetAllKeys","keysFunc","symbolsFunc","baseGetTag","baseIsNative","isMasked","pattern","baseKeys","isPrototype","buffer","cloneArrayBuffer","arrayBuffer","cloneDataView","dataView","cloneMap","cloneFunc","cloneRegExp","cloneSet","cloneSymbol","cloneTypedArray","typedArray","getSymbols","isKeyable","stubArray","Ctor","ctorString","cloneDeep","isArrayLikeObject","isArrayLike","isLength","isObjectLike","stubFalse","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","asyncTag","nullTag","proxyTag","undefinedTag","typedArrayTags","freeProcess","nodeUtil","nodeIsTypedArray","arrayFilter","resIndex","arraySome","baseUnary","cacheHas","nativeObjectToString","symToStringTag","SetCache","setCacheAdd","setCacheHas","isArg","isBuff","isType","isTypedArray","getRawTag","baseIsArguments","baseIsEqual","bitmask","baseIsEqualDeep","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","equalArrays","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsTypedArray","isPartial","arrLength","othLength","seen","arrValue","othValue","compared","othIndex","convert","objProps","objLength","othProps","skipCtor","objCtor","othCtor","isOwn","unmasked","__importDefault","AttributeMap_1","lodash_clonedeep_1","require$$0","lodash_isequal_1","require$$1","AttributeMap","compose","invert","baseInverted","AttributeMap$1","Iterator_1","Op_1","Op","iterator","fast_diff_1","require$$2","require$$3","require$$4","initialValue","length_1","retDelta","inverted","baseIndex","length_2","slice","baseOp","length_3","length_4","Delta_1","toolbarOptions","initialize","editor","composeOptions","setContents","handleTextChange","handleSelectionChange","handleEditorChange","clientOptions","modulesOption","maybeClone","deltaHasValuesOtherThanRetain","internalModelEquals","against","oldContents","getContents","isEditorFocus","getEditor","getToolbar","getQuill","getHTML","getText","normalizedContent","setHTML","setText","pasteHTML","reinit","newContent","mdiAbTesting","mdiAbacus","mdiAbjadArabic","mdiAbjadHebrew","mdiAbugidaDevanagari","mdiAbugidaThai","mdiAccessPoint","mdiAccessPointCheck","mdiAccessPointMinus","mdiAccessPointNetwork","mdiAccessPointNetworkOff","mdiAccessPointOff","mdiAccessPointPlus","mdiAccessPointRemove","mdiAccount","mdiAccountAlert","mdiAccountAlertOutline","mdiAccountArrowDown","mdiAccountArrowDownOutline","mdiAccountArrowLeft","mdiAccountArrowLeftOutline","mdiAccountArrowRight","mdiAccountArrowRightOutline","mdiAccountArrowUp","mdiAccountArrowUpOutline","mdiAccountBadge","mdiAccountBadgeOutline","mdiAccountBox","mdiAccountBoxMultiple","mdiAccountBoxMultipleOutline","mdiAccountBoxOutline","mdiAccountCancel","mdiAccountCancelOutline","mdiAccountCard","mdiAccountCardOutline","mdiAccountCash","mdiAccountCashOutline","mdiAccountCheck","mdiAccountCheckOutline","mdiAccountChild","mdiAccountChildCircle","mdiAccountChildOutline","mdiAccountCircle","mdiAccountCircleOutline","mdiAccountClock","mdiAccountClockOutline","mdiAccountCog","mdiAccountCogOutline","mdiAccountConvert","mdiAccountConvertOutline","mdiAccountCowboyHat","mdiAccountCowboyHatOutline","mdiAccountCreditCard","mdiAccountCreditCardOutline","mdiAccountDetails","mdiAccountDetailsOutline","mdiAccountEdit","mdiAccountEditOutline","mdiAccountEye","mdiAccountEyeOutline","mdiAccountFile","mdiAccountFileOutline","mdiAccountFileText","mdiAccountFileTextOutline","mdiAccountFilter","mdiAccountFilterOutline","mdiAccountGroup","mdiAccountGroupOutline","mdiAccountHardHat","mdiAccountHardHatOutline","mdiAccountHeart","mdiAccountHeartOutline","mdiAccountInjury","mdiAccountInjuryOutline","mdiAccountKey","mdiAccountKeyOutline","mdiAccountLock","mdiAccountLockOpen","mdiAccountLockOpenOutline","mdiAccountLockOutline","mdiAccountMinus","mdiAccountMinusOutline","mdiAccountMultiple","mdiAccountMultipleCheck","mdiAccountMultipleCheckOutline","mdiAccountMultipleMinus","mdiAccountMultipleMinusOutline","mdiAccountMultipleOutline","mdiAccountMultiplePlus","mdiAccountMultiplePlusOutline","mdiAccountMultipleRemove","mdiAccountMultipleRemoveOutline","mdiAccountMusic","mdiAccountMusicOutline","mdiAccountNetwork","mdiAccountNetworkOff","mdiAccountNetworkOffOutline","mdiAccountNetworkOutline","mdiAccountOff","mdiAccountOffOutline","mdiAccountOutline","mdiAccountPlus","mdiAccountPlusOutline","mdiAccountQuestion","mdiAccountQuestionOutline","mdiAccountReactivate","mdiAccountReactivateOutline","mdiAccountRemove","mdiAccountRemoveOutline","mdiAccountSchool","mdiAccountSchoolOutline","mdiAccountSearch","mdiAccountSearchOutline","mdiAccountSettings","mdiAccountSettingsOutline","mdiAccountStar","mdiAccountStarOutline","mdiAccountSupervisor","mdiAccountSupervisorCircle","mdiAccountSupervisorCircleOutline","mdiAccountSupervisorOutline","mdiAccountSwitch","mdiAccountSwitchOutline","mdiAccountSync","mdiAccountSyncOutline","mdiAccountTag","mdiAccountTagOutline","mdiAccountTie","mdiAccountTieHat","mdiAccountTieHatOutline","mdiAccountTieOutline","mdiAccountTieVoice","mdiAccountTieVoiceOff","mdiAccountTieVoiceOffOutline","mdiAccountTieVoiceOutline","mdiAccountTieWoman","mdiAccountVoice","mdiAccountVoiceOff","mdiAccountWrench","mdiAccountWrenchOutline","mdiAdjust","mdiAdvertisements","mdiAdvertisementsOff","mdiAirConditioner","mdiAirFilter","mdiAirHorn","mdiAirHumidifier","mdiAirHumidifierOff","mdiAirPurifier","mdiAirPurifierOff","mdiAirbag","mdiAirballoon","mdiAirballoonOutline","mdiAirplane","mdiAirplaneAlert","mdiAirplaneCheck","mdiAirplaneClock","mdiAirplaneCog","mdiAirplaneEdit","mdiAirplaneLanding","mdiAirplaneMarker","mdiAirplaneMinus","mdiAirplaneOff","mdiAirplanePlus","mdiAirplaneRemove","mdiAirplaneSearch","mdiAirplaneSettings","mdiAirplaneTakeoff","mdiAirport","mdiAlarm","mdiAlarmBell","mdiAlarmCheck","mdiAlarmLight","mdiAlarmLightOff","mdiAlarmLightOffOutline","mdiAlarmLightOutline","mdiAlarmMultiple","mdiAlarmNote","mdiAlarmNoteOff","mdiAlarmOff","mdiAlarmPanel","mdiAlarmPanelOutline","mdiAlarmPlus","mdiAlarmSnooze","mdiAlbum","mdiAlert","mdiAlertBox","mdiAlertBoxOutline","mdiAlertCircle","mdiAlertCircleCheck","mdiAlertCircleCheckOutline","mdiAlertCircleOutline","mdiAlertDecagram","mdiAlertDecagramOutline","mdiAlertMinus","mdiAlertMinusOutline","mdiAlertOctagon","mdiAlertOctagonOutline","mdiAlertOctagram","mdiAlertOctagramOutline","mdiAlertOutline","mdiAlertPlus","mdiAlertPlusOutline","mdiAlertRemove","mdiAlertRemoveOutline","mdiAlertRhombus","mdiAlertRhombusOutline","mdiAlien","mdiAlienOutline","mdiAlignHorizontalCenter","mdiAlignHorizontalDistribute","mdiAlignHorizontalLeft","mdiAlignHorizontalRight","mdiAlignVerticalBottom","mdiAlignVerticalCenter","mdiAlignVerticalDistribute","mdiAlignVerticalTop","mdiAllInclusive","mdiAllInclusiveBox","mdiAllInclusiveBoxOutline","mdiAllergy","mdiAlpha","mdiAlphaA","mdiAlphaABox","mdiAlphaABoxOutline","mdiAlphaACircle","mdiAlphaACircleOutline","mdiAlphaB","mdiAlphaBBox","mdiAlphaBBoxOutline","mdiAlphaBCircle","mdiAlphaBCircleOutline","mdiAlphaC","mdiAlphaCBox","mdiAlphaCBoxOutline","mdiAlphaCCircle","mdiAlphaCCircleOutline","mdiAlphaD","mdiAlphaDBox","mdiAlphaDBoxOutline","mdiAlphaDCircle","mdiAlphaDCircleOutline","mdiAlphaE","mdiAlphaEBox","mdiAlphaEBoxOutline","mdiAlphaECircle","mdiAlphaECircleOutline","mdiAlphaF","mdiAlphaFBox","mdiAlphaFBoxOutline","mdiAlphaFCircle","mdiAlphaFCircleOutline","mdiAlphaG","mdiAlphaGBox","mdiAlphaGBoxOutline","mdiAlphaGCircle","mdiAlphaGCircleOutline","mdiAlphaH","mdiAlphaHBox","mdiAlphaHBoxOutline","mdiAlphaHCircle","mdiAlphaHCircleOutline","mdiAlphaI","mdiAlphaIBox","mdiAlphaIBoxOutline","mdiAlphaICircle","mdiAlphaICircleOutline","mdiAlphaJ","mdiAlphaJBox","mdiAlphaJBoxOutline","mdiAlphaJCircle","mdiAlphaJCircleOutline","mdiAlphaK","mdiAlphaKBox","mdiAlphaKBoxOutline","mdiAlphaKCircle","mdiAlphaKCircleOutline","mdiAlphaL","mdiAlphaLBox","mdiAlphaLBoxOutline","mdiAlphaLCircle","mdiAlphaLCircleOutline","mdiAlphaM","mdiAlphaMBox","mdiAlphaMBoxOutline","mdiAlphaMCircle","mdiAlphaMCircleOutline","mdiAlphaN","mdiAlphaNBox","mdiAlphaNBoxOutline","mdiAlphaNCircle","mdiAlphaNCircleOutline","mdiAlphaO","mdiAlphaOBox","mdiAlphaOBoxOutline","mdiAlphaOCircle","mdiAlphaOCircleOutline","mdiAlphaP","mdiAlphaPBox","mdiAlphaPBoxOutline","mdiAlphaPCircle","mdiAlphaPCircleOutline","mdiAlphaQ","mdiAlphaQBox","mdiAlphaQBoxOutline","mdiAlphaQCircle","mdiAlphaQCircleOutline","mdiAlphaR","mdiAlphaRBox","mdiAlphaRBoxOutline","mdiAlphaRCircle","mdiAlphaRCircleOutline","mdiAlphaS","mdiAlphaSBox","mdiAlphaSBoxOutline","mdiAlphaSCircle","mdiAlphaSCircleOutline","mdiAlphaT","mdiAlphaTBox","mdiAlphaTBoxOutline","mdiAlphaTCircle","mdiAlphaTCircleOutline","mdiAlphaU","mdiAlphaUBox","mdiAlphaUBoxOutline","mdiAlphaUCircle","mdiAlphaUCircleOutline","mdiAlphaV","mdiAlphaVBox","mdiAlphaVBoxOutline","mdiAlphaVCircle","mdiAlphaVCircleOutline","mdiAlphaW","mdiAlphaWBox","mdiAlphaWBoxOutline","mdiAlphaWCircle","mdiAlphaWCircleOutline","mdiAlphaX","mdiAlphaXBox","mdiAlphaXBoxOutline","mdiAlphaXCircle","mdiAlphaXCircleOutline","mdiAlphaY","mdiAlphaYBox","mdiAlphaYBoxOutline","mdiAlphaYCircle","mdiAlphaYCircleOutline","mdiAlphaZ","mdiAlphaZBox","mdiAlphaZBoxOutline","mdiAlphaZCircle","mdiAlphaZCircleOutline","mdiAlphabetAurebesh","mdiAlphabetCyrillic","mdiAlphabetGreek","mdiAlphabetLatin","mdiAlphabetPiqad","mdiAlphabetTengwar","mdiAlphabetical","mdiAlphabeticalOff","mdiAlphabeticalVariant","mdiAlphabeticalVariantOff","mdiAltimeter","mdiAmbulance","mdiAmmunition","mdiAmpersand","mdiAmplifier","mdiAmplifierOff","mdiAnchor","mdiAndroid","mdiAndroidStudio","mdiAngleAcute","mdiAngleObtuse","mdiAngleRight","mdiAngular","mdiAngularjs","mdiAnimation","mdiAnimationOutline","mdiAnimationPlay","mdiAnimationPlayOutline","mdiAnsible","mdiAntenna","mdiAnvil","mdiApacheKafka","mdiApi","mdiApiOff","mdiApple","mdiAppleFinder","mdiAppleIcloud","mdiAppleIos","mdiAppleKeyboardCaps","mdiAppleKeyboardCommand","mdiAppleKeyboardControl","mdiAppleKeyboardOption","mdiAppleKeyboardShift","mdiAppleSafari","mdiApplication","mdiApplicationArray","mdiApplicationArrayOutline","mdiApplicationBraces","mdiApplicationBracesOutline","mdiApplicationBrackets","mdiApplicationBracketsOutline","mdiApplicationCog","mdiApplicationCogOutline","mdiApplicationEdit","mdiApplicationEditOutline","mdiApplicationExport","mdiApplicationImport","mdiApplicationOutline","mdiApplicationParentheses","mdiApplicationParenthesesOutline","mdiApplicationSettings","mdiApplicationSettingsOutline","mdiApplicationVariable","mdiApplicationVariableOutline","mdiApproximatelyEqual","mdiApproximatelyEqualBox","mdiApps","mdiAppsBox","mdiArch","mdiArchive","mdiArchiveAlert","mdiArchiveAlertOutline","mdiArchiveArrowDown","mdiArchiveArrowDownOutline","mdiArchiveArrowUp","mdiArchiveArrowUpOutline","mdiArchiveCancel","mdiArchiveCancelOutline","mdiArchiveCheck","mdiArchiveCheckOutline","mdiArchiveClock","mdiArchiveClockOutline","mdiArchiveCog","mdiArchiveCogOutline","mdiArchiveEdit","mdiArchiveEditOutline","mdiArchiveEye","mdiArchiveEyeOutline","mdiArchiveLock","mdiArchiveLockOpen","mdiArchiveLockOpenOutline","mdiArchiveLockOutline","mdiArchiveMarker","mdiArchiveMarkerOutline","mdiArchiveMinus","mdiArchiveMinusOutline","mdiArchiveMusic","mdiArchiveMusicOutline","mdiArchiveOff","mdiArchiveOffOutline","mdiArchiveOutline","mdiArchivePlus","mdiArchivePlusOutline","mdiArchiveRefresh","mdiArchiveRefreshOutline","mdiArchiveRemove","mdiArchiveRemoveOutline","mdiArchiveSearch","mdiArchiveSearchOutline","mdiArchiveSettings","mdiArchiveSettingsOutline","mdiArchiveStar","mdiArchiveStarOutline","mdiArchiveSync","mdiArchiveSyncOutline","mdiArmFlex","mdiArmFlexOutline","mdiArrangeBringForward","mdiArrangeBringToFront","mdiArrangeSendBackward","mdiArrangeSendToBack","mdiArrowAll","mdiArrowBottomLeft","mdiArrowBottomLeftBoldBox","mdiArrowBottomLeftBoldBoxOutline","mdiArrowBottomLeftBoldOutline","mdiArrowBottomLeftThick","mdiArrowBottomLeftThin","mdiArrowBottomLeftThinCircleOutline","mdiArrowBottomRight","mdiArrowBottomRightBoldBox","mdiArrowBottomRightBoldBoxOutline","mdiArrowBottomRightBoldOutline","mdiArrowBottomRightThick","mdiArrowBottomRightThin","mdiArrowBottomRightThinCircleOutline","mdiArrowCollapse","mdiArrowCollapseAll","mdiArrowCollapseDown","mdiArrowCollapseHorizontal","mdiArrowCollapseLeft","mdiArrowCollapseRight","mdiArrowCollapseUp","mdiArrowCollapseVertical","mdiArrowDecision","mdiArrowDecisionAuto","mdiArrowDecisionAutoOutline","mdiArrowDecisionOutline","mdiArrowDown","mdiArrowDownBold","mdiArrowDownBoldBox","mdiArrowDownBoldBoxOutline","mdiArrowDownBoldCircle","mdiArrowDownBoldCircleOutline","mdiArrowDownBoldHexagonOutline","mdiArrowDownBoldOutline","mdiArrowDownBox","mdiArrowDownCircle","mdiArrowDownCircleOutline","mdiArrowDownDropCircle","mdiArrowDownDropCircleOutline","mdiArrowDownLeft","mdiArrowDownLeftBold","mdiArrowDownRight","mdiArrowDownRightBold","mdiArrowDownThick","mdiArrowDownThin","mdiArrowDownThinCircleOutline","mdiArrowExpand","mdiArrowExpandAll","mdiArrowExpandDown","mdiArrowExpandHorizontal","mdiArrowExpandLeft","mdiArrowExpandRight","mdiArrowExpandUp","mdiArrowExpandVertical","mdiArrowHorizontalLock","mdiArrowLeft","mdiArrowLeftBold","mdiArrowLeftBoldBox","mdiArrowLeftBoldBoxOutline","mdiArrowLeftBoldCircle","mdiArrowLeftBoldCircleOutline","mdiArrowLeftBoldHexagonOutline","mdiArrowLeftBoldOutline","mdiArrowLeftBottom","mdiArrowLeftBottomBold","mdiArrowLeftBox","mdiArrowLeftCircle","mdiArrowLeftCircleOutline","mdiArrowLeftDropCircle","mdiArrowLeftDropCircleOutline","mdiArrowLeftRight","mdiArrowLeftRightBold","mdiArrowLeftRightBoldOutline","mdiArrowLeftThick","mdiArrowLeftThin","mdiArrowLeftThinCircleOutline","mdiArrowLeftTop","mdiArrowLeftTopBold","mdiArrowOscillating","mdiArrowOscillatingOff","mdiArrowProjectile","mdiArrowProjectileMultiple","mdiArrowRight","mdiArrowRightBold","mdiArrowRightBoldBox","mdiArrowRightBoldBoxOutline","mdiArrowRightBoldCircle","mdiArrowRightBoldCircleOutline","mdiArrowRightBoldHexagonOutline","mdiArrowRightBoldOutline","mdiArrowRightBottom","mdiArrowRightBottomBold","mdiArrowRightBox","mdiArrowRightCircle","mdiArrowRightCircleOutline","mdiArrowRightDropCircle","mdiArrowRightDropCircleOutline","mdiArrowRightThick","mdiArrowRightThin","mdiArrowRightThinCircleOutline","mdiArrowRightTop","mdiArrowRightTopBold","mdiArrowSplitHorizontal","mdiArrowSplitVertical","mdiArrowTopLeft","mdiArrowTopLeftBoldBox","mdiArrowTopLeftBoldBoxOutline","mdiArrowTopLeftBoldOutline","mdiArrowTopLeftBottomRight","mdiArrowTopLeftBottomRightBold","mdiArrowTopLeftThick","mdiArrowTopLeftThin","mdiArrowTopLeftThinCircleOutline","mdiArrowTopRight","mdiArrowTopRightBoldBox","mdiArrowTopRightBoldBoxOutline","mdiArrowTopRightBoldOutline","mdiArrowTopRightBottomLeft","mdiArrowTopRightBottomLeftBold","mdiArrowTopRightThick","mdiArrowTopRightThin","mdiArrowTopRightThinCircleOutline","mdiArrowUDownLeft","mdiArrowUDownLeftBold","mdiArrowUDownRight","mdiArrowUDownRightBold","mdiArrowULeftBottom","mdiArrowULeftBottomBold","mdiArrowULeftTop","mdiArrowULeftTopBold","mdiArrowURightBottom","mdiArrowURightBottomBold","mdiArrowURightTop","mdiArrowURightTopBold","mdiArrowUUpLeft","mdiArrowUUpLeftBold","mdiArrowUUpRight","mdiArrowUUpRightBold","mdiArrowUp","mdiArrowUpBold","mdiArrowUpBoldBox","mdiArrowUpBoldBoxOutline","mdiArrowUpBoldCircle","mdiArrowUpBoldCircleOutline","mdiArrowUpBoldHexagonOutline","mdiArrowUpBoldOutline","mdiArrowUpBox","mdiArrowUpCircle","mdiArrowUpCircleOutline","mdiArrowUpDown","mdiArrowUpDownBold","mdiArrowUpDownBoldOutline","mdiArrowUpDropCircle","mdiArrowUpDropCircleOutline","mdiArrowUpLeft","mdiArrowUpLeftBold","mdiArrowUpRight","mdiArrowUpRightBold","mdiArrowUpThick","mdiArrowUpThin","mdiArrowUpThinCircleOutline","mdiArrowVerticalLock","mdiArtboard","mdiArtstation","mdiAspectRatio","mdiAssistant","mdiAsterisk","mdiAsteriskCircleOutline","mdiAt","mdiAtlassian","mdiAtm","mdiAtom","mdiAtomVariant","mdiAttachment","mdiAttachmentCheck","mdiAttachmentLock","mdiAttachmentMinus","mdiAttachmentOff","mdiAttachmentPlus","mdiAttachmentRemove","mdiAtv","mdiAudioInputRca","mdiAudioInputStereoMinijack","mdiAudioInputXlr","mdiAudioVideo","mdiAudioVideoOff","mdiAugmentedReality","mdiAurora","mdiAutoDownload","mdiAutoFix","mdiAutoMode","mdiAutoUpload","mdiAutorenew","mdiAutorenewOff","mdiAvTimer","mdiAwning","mdiAwningOutline","mdiAws","mdiAxe","mdiAxeBattle","mdiAxis","mdiAxisArrow","mdiAxisArrowInfo","mdiAxisArrowLock","mdiAxisLock","mdiAxisXArrow","mdiAxisXArrowLock","mdiAxisXRotateClockwise","mdiAxisXRotateCounterclockwise","mdiAxisXYArrowLock","mdiAxisYArrow","mdiAxisYArrowLock","mdiAxisYRotateClockwise","mdiAxisYRotateCounterclockwise","mdiAxisZArrow","mdiAxisZArrowLock","mdiAxisZRotateClockwise","mdiAxisZRotateCounterclockwise","mdiBabel","mdiBaby","mdiBabyBottle","mdiBabyBottleOutline","mdiBabyBuggy","mdiBabyBuggyOff","mdiBabyCarriage","mdiBabyCarriageOff","mdiBabyFace","mdiBabyFaceOutline","mdiBackburger","mdiBackspace","mdiBackspaceOutline","mdiBackspaceReverse","mdiBackspaceReverseOutline","mdiBackupRestore","mdiBacteria","mdiBacteriaOutline","mdiBadgeAccount","mdiBadgeAccountAlert","mdiBadgeAccountAlertOutline","mdiBadgeAccountHorizontal","mdiBadgeAccountHorizontalOutline","mdiBadgeAccountOutline","mdiBadminton","mdiBagCarryOn","mdiBagCarryOnCheck","mdiBagCarryOnOff","mdiBagChecked","mdiBagPersonal","mdiBagPersonalOff","mdiBagPersonalOffOutline","mdiBagPersonalOutline","mdiBagPersonalPlus","mdiBagPersonalPlusOutline","mdiBagPersonalTag","mdiBagPersonalTagOutline","mdiBagSuitcase","mdiBagSuitcaseOff","mdiBagSuitcaseOffOutline","mdiBagSuitcaseOutline","mdiBaguette","mdiBalcony","mdiBalloon","mdiBallot","mdiBallotOutline","mdiBallotRecount","mdiBallotRecountOutline","mdiBandage","mdiBank","mdiBankCheck","mdiBankCircle","mdiBankCircleOutline","mdiBankMinus","mdiBankOff","mdiBankOffOutline","mdiBankOutline","mdiBankPlus","mdiBankRemove","mdiBankTransfer","mdiBankTransferIn","mdiBankTransferOut","mdiBarcode","mdiBarcodeOff","mdiBarcodeScan","mdiBarley","mdiBarleyOff","mdiBarn","mdiBarrel","mdiBarrelOutline","mdiBaseball","mdiBaseballBat","mdiBaseballDiamond","mdiBaseballDiamondOutline","mdiBaseballOutline","mdiBash","mdiBasket","mdiBasketCheck","mdiBasketCheckOutline","mdiBasketFill","mdiBasketMinus","mdiBasketMinusOutline","mdiBasketOff","mdiBasketOffOutline","mdiBasketOutline","mdiBasketPlus","mdiBasketPlusOutline","mdiBasketRemove","mdiBasketRemoveOutline","mdiBasketUnfill","mdiBasketball","mdiBasketballHoop","mdiBasketballHoopOutline","mdiBat","mdiBathtub","mdiBathtubOutline","mdiBattery","mdiBattery10","mdiBattery10Bluetooth","mdiBattery20","mdiBattery20Bluetooth","mdiBattery30","mdiBattery30Bluetooth","mdiBattery40","mdiBattery40Bluetooth","mdiBattery50","mdiBattery50Bluetooth","mdiBattery60","mdiBattery60Bluetooth","mdiBattery70","mdiBattery70Bluetooth","mdiBattery80","mdiBattery80Bluetooth","mdiBattery90","mdiBattery90Bluetooth","mdiBatteryAlert","mdiBatteryAlertBluetooth","mdiBatteryAlertVariant","mdiBatteryAlertVariantOutline","mdiBatteryArrowDown","mdiBatteryArrowDownOutline","mdiBatteryArrowUp","mdiBatteryArrowUpOutline","mdiBatteryBluetooth","mdiBatteryBluetoothVariant","mdiBatteryCharging","mdiBatteryCharging10","mdiBatteryCharging100","mdiBatteryCharging20","mdiBatteryCharging30","mdiBatteryCharging40","mdiBatteryCharging50","mdiBatteryCharging60","mdiBatteryCharging70","mdiBatteryCharging80","mdiBatteryCharging90","mdiBatteryChargingHigh","mdiBatteryChargingLow","mdiBatteryChargingMedium","mdiBatteryChargingOutline","mdiBatteryChargingWireless","mdiBatteryChargingWireless10","mdiBatteryChargingWireless20","mdiBatteryChargingWireless30","mdiBatteryChargingWireless40","mdiBatteryChargingWireless50","mdiBatteryChargingWireless60","mdiBatteryChargingWireless70","mdiBatteryChargingWireless80","mdiBatteryChargingWireless90","mdiBatteryChargingWirelessAlert","mdiBatteryChargingWirelessOutline","mdiBatteryCheck","mdiBatteryCheckOutline","mdiBatteryClock","mdiBatteryClockOutline","mdiBatteryHeart","mdiBatteryHeartOutline","mdiBatteryHeartVariant","mdiBatteryHigh","mdiBatteryLock","mdiBatteryLockOpen","mdiBatteryLow","mdiBatteryMedium","mdiBatteryMinus","mdiBatteryMinusOutline","mdiBatteryMinusVariant","mdiBatteryNegative","mdiBatteryOff","mdiBatteryOffOutline","mdiBatteryOutline","mdiBatteryPlus","mdiBatteryPlusOutline","mdiBatteryPlusVariant","mdiBatteryPositive","mdiBatteryRemove","mdiBatteryRemoveOutline","mdiBatterySync","mdiBatterySyncOutline","mdiBatteryUnknown","mdiBatteryUnknownBluetooth","mdiBeach","mdiBeaker","mdiBeakerAlert","mdiBeakerAlertOutline","mdiBeakerCheck","mdiBeakerCheckOutline","mdiBeakerMinus","mdiBeakerMinusOutline","mdiBeakerOutline","mdiBeakerPlus","mdiBeakerPlusOutline","mdiBeakerQuestion","mdiBeakerQuestionOutline","mdiBeakerRemove","mdiBeakerRemoveOutline","mdiBed","mdiBedClock","mdiBedDouble","mdiBedDoubleOutline","mdiBedEmpty","mdiBedKing","mdiBedKingOutline","mdiBedOutline","mdiBedQueen","mdiBedQueenOutline","mdiBedSingle","mdiBedSingleOutline","mdiBee","mdiBeeFlower","mdiBeehiveOffOutline","mdiBeehiveOutline","mdiBeekeeper","mdiBeer","mdiBeerOutline","mdiBell","mdiBellAlert","mdiBellAlertOutline","mdiBellBadge","mdiBellBadgeOutline","mdiBellCancel","mdiBellCancelOutline","mdiBellCheck","mdiBellCheckOutline","mdiBellCircle","mdiBellCircleOutline","mdiBellCog","mdiBellCogOutline","mdiBellMinus","mdiBellMinusOutline","mdiBellOff","mdiBellOffOutline","mdiBellOutline","mdiBellPlus","mdiBellPlusOutline","mdiBellRemove","mdiBellRemoveOutline","mdiBellRing","mdiBellRingOutline","mdiBellSleep","mdiBellSleepOutline","mdiBench","mdiBenchBack","mdiBeta","mdiBetamax","mdiBiathlon","mdiBicycle","mdiBicycleBasket","mdiBicycleCargo","mdiBicycleElectric","mdiBicyclePennyFarthing","mdiBike","mdiBikeFast","mdiBikePedal","mdiBikePedalClipless","mdiBikePedalMountain","mdiBillboard","mdiBilliards","mdiBilliardsRack","mdiBinoculars","mdiBio","mdiBiohazard","mdiBird","mdiBitbucket","mdiBitcoin","mdiBlackMesa","mdiBlender","mdiBlenderOutline","mdiBlenderSoftware","mdiBlinds","mdiBlindsHorizontal","mdiBlindsHorizontalClosed","mdiBlindsOpen","mdiBlindsVertical","mdiBlindsVerticalClosed","mdiBlockHelper","mdiBloodBag","mdiBluetooth","mdiBluetoothAudio","mdiBluetoothConnect","mdiBluetoothOff","mdiBluetoothSettings","mdiBluetoothTransfer","mdiBlur","mdiBlurLinear","mdiBlurOff","mdiBlurRadial","mdiBolt","mdiBomb","mdiBombOff","mdiBone","mdiBoneOff","mdiBook","mdiBookAccount","mdiBookAccountOutline","mdiBookAlert","mdiBookAlertOutline","mdiBookAlphabet","mdiBookArrowDown","mdiBookArrowDownOutline","mdiBookArrowLeft","mdiBookArrowLeftOutline","mdiBookArrowRight","mdiBookArrowRightOutline","mdiBookArrowUp","mdiBookArrowUpOutline","mdiBookCancel","mdiBookCancelOutline","mdiBookCheck","mdiBookCheckOutline","mdiBookClock","mdiBookClockOutline","mdiBookCog","mdiBookCogOutline","mdiBookCross","mdiBookEdit","mdiBookEditOutline","mdiBookEducation","mdiBookEducationOutline","mdiBookHeart","mdiBookHeartOutline","mdiBookInformationVariant","mdiBookLock","mdiBookLockOpen","mdiBookLockOpenOutline","mdiBookLockOutline","mdiBookMarker","mdiBookMarkerOutline","mdiBookMinus","mdiBookMinusMultiple","mdiBookMinusMultipleOutline","mdiBookMinusOutline","mdiBookMultiple","mdiBookMultipleOutline","mdiBookMusic","mdiBookMusicOutline","mdiBookOff","mdiBookOffOutline","mdiBookOpen","mdiBookOpenBlankVariant","mdiBookOpenOutline","mdiBookOpenPageVariant","mdiBookOpenPageVariantOutline","mdiBookOpenVariant","mdiBookOutline","mdiBookPlay","mdiBookPlayOutline","mdiBookPlus","mdiBookPlusMultiple","mdiBookPlusMultipleOutline","mdiBookPlusOutline","mdiBookRefresh","mdiBookRefreshOutline","mdiBookRemove","mdiBookRemoveMultiple","mdiBookRemoveMultipleOutline","mdiBookRemoveOutline","mdiBookSearch","mdiBookSearchOutline","mdiBookSettings","mdiBookSettingsOutline","mdiBookSync","mdiBookSyncOutline","mdiBookVariant","mdiBookmark","mdiBookmarkBox","mdiBookmarkBoxMultiple","mdiBookmarkBoxMultipleOutline","mdiBookmarkBoxOutline","mdiBookmarkCheck","mdiBookmarkCheckOutline","mdiBookmarkMinus","mdiBookmarkMinusOutline","mdiBookmarkMultiple","mdiBookmarkMultipleOutline","mdiBookmarkMusic","mdiBookmarkMusicOutline","mdiBookmarkOff","mdiBookmarkOffOutline","mdiBookmarkOutline","mdiBookmarkPlus","mdiBookmarkPlusOutline","mdiBookmarkRemove","mdiBookmarkRemoveOutline","mdiBookshelf","mdiBoomGate","mdiBoomGateAlert","mdiBoomGateAlertOutline","mdiBoomGateArrowDown","mdiBoomGateArrowDownOutline","mdiBoomGateArrowUp","mdiBoomGateArrowUpOutline","mdiBoomGateOutline","mdiBoomGateUp","mdiBoomGateUpOutline","mdiBoombox","mdiBoomerang","mdiBootstrap","mdiBorderAll","mdiBorderAllVariant","mdiBorderBottom","mdiBorderBottomVariant","mdiBorderColor","mdiBorderHorizontal","mdiBorderInside","mdiBorderLeft","mdiBorderLeftVariant","mdiBorderNone","mdiBorderNoneVariant","mdiBorderOutside","mdiBorderRadius","mdiBorderRight","mdiBorderRightVariant","mdiBorderStyle","mdiBorderTop","mdiBorderTopVariant","mdiBorderVertical","mdiBottleSoda","mdiBottleSodaClassic","mdiBottleSodaClassicOutline","mdiBottleSodaOutline","mdiBottleTonic","mdiBottleTonicOutline","mdiBottleTonicPlus","mdiBottleTonicPlusOutline","mdiBottleTonicSkull","mdiBottleTonicSkullOutline","mdiBottleWine","mdiBottleWineOutline","mdiBowArrow","mdiBowTie","mdiBowl","mdiBowlMix","mdiBowlMixOutline","mdiBowlOutline","mdiBowling","mdiBox","mdiBoxCutter","mdiBoxCutterOff","mdiBoxShadow","mdiBoxingGlove","mdiBraille","mdiBrain","mdiBreadSlice","mdiBreadSliceOutline","mdiBridge","mdiBriefcase","mdiBriefcaseAccount","mdiBriefcaseAccountOutline","mdiBriefcaseArrowLeftRight","mdiBriefcaseArrowLeftRightOutline","mdiBriefcaseArrowUpDown","mdiBriefcaseArrowUpDownOutline","mdiBriefcaseCheck","mdiBriefcaseCheckOutline","mdiBriefcaseClock","mdiBriefcaseClockOutline","mdiBriefcaseDownload","mdiBriefcaseDownloadOutline","mdiBriefcaseEdit","mdiBriefcaseEditOutline","mdiBriefcaseEye","mdiBriefcaseEyeOutline","mdiBriefcaseMinus","mdiBriefcaseMinusOutline","mdiBriefcaseOff","mdiBriefcaseOffOutline","mdiBriefcaseOutline","mdiBriefcasePlus","mdiBriefcasePlusOutline","mdiBriefcaseRemove","mdiBriefcaseRemoveOutline","mdiBriefcaseSearch","mdiBriefcaseSearchOutline","mdiBriefcaseUpload","mdiBriefcaseUploadOutline","mdiBriefcaseVariant","mdiBriefcaseVariantOff","mdiBriefcaseVariantOffOutline","mdiBriefcaseVariantOutline","mdiBrightness1","mdiBrightness2","mdiBrightness3","mdiBrightness4","mdiBrightness5","mdiBrightness6","mdiBrightness7","mdiBrightnessAuto","mdiBrightnessPercent","mdiBroadcast","mdiBroadcastOff","mdiBroom","mdiBrush","mdiBrushOff","mdiBrushOutline","mdiBrushVariant","mdiBucket","mdiBucketOutline","mdiBuffet","mdiBug","mdiBugCheck","mdiBugCheckOutline","mdiBugOutline","mdiBugPause","mdiBugPauseOutline","mdiBugPlay","mdiBugPlayOutline","mdiBugStop","mdiBugStopOutline","mdiBugle","mdiBulkheadLight","mdiBulldozer","mdiBullet","mdiBulletinBoard","mdiBullhorn","mdiBullhornOutline","mdiBullhornVariant","mdiBullhornVariantOutline","mdiBullseye","mdiBullseyeArrow","mdiBulma","mdiBunkBed","mdiBunkBedOutline","mdiBus","mdiBusAlert","mdiBusArticulatedEnd","mdiBusArticulatedFront","mdiBusClock","mdiBusDoubleDecker","mdiBusElectric","mdiBusMarker","mdiBusMultiple","mdiBusSchool","mdiBusSide","mdiBusSign","mdiBusStop","mdiBusStopCovered","mdiBusStopUncovered","mdiBusWrench","mdiButterfly","mdiButterflyOutline","mdiButtonCursor","mdiButtonPointer","mdiCabinAFrame","mdiCableData","mdiCached","mdiCactus","mdiCake","mdiCakeLayered","mdiCakeVariant","mdiCakeVariantOutline","mdiCalculator","mdiCalculatorVariant","mdiCalculatorVariantOutline","mdiCalendar","mdiCalendarAccount","mdiCalendarAccountOutline","mdiCalendarAlert","mdiCalendarAlertOutline","mdiCalendarArrowLeft","mdiCalendarArrowRight","mdiCalendarBadge","mdiCalendarBadgeOutline","mdiCalendarBlank","mdiCalendarBlankMultiple","mdiCalendarBlankOutline","mdiCalendarCheck","mdiCalendarCheckOutline","mdiCalendarClock","mdiCalendarClockOutline","mdiCalendarCollapseHorizontal","mdiCalendarCollapseHorizontalOutline","mdiCalendarCursor","mdiCalendarCursorOutline","mdiCalendarEdit","mdiCalendarEditOutline","mdiCalendarEnd","mdiCalendarEndOutline","mdiCalendarExpandHorizontal","mdiCalendarExpandHorizontalOutline","mdiCalendarExport","mdiCalendarExportOutline","mdiCalendarFilter","mdiCalendarFilterOutline","mdiCalendarHeart","mdiCalendarHeartOutline","mdiCalendarImport","mdiCalendarImportOutline","mdiCalendarLock","mdiCalendarLockOpen","mdiCalendarLockOpenOutline","mdiCalendarLockOutline","mdiCalendarMinus","mdiCalendarMinusOutline","mdiCalendarMonth","mdiCalendarMonthOutline","mdiCalendarMultiple","mdiCalendarMultipleCheck","mdiCalendarMultiselect","mdiCalendarMultiselectOutline","mdiCalendarOutline","mdiCalendarPlus","mdiCalendarPlusOutline","mdiCalendarQuestion","mdiCalendarQuestionOutline","mdiCalendarRange","mdiCalendarRangeOutline","mdiCalendarRefresh","mdiCalendarRefreshOutline","mdiCalendarRemove","mdiCalendarRemoveOutline","mdiCalendarSearch","mdiCalendarSearchOutline","mdiCalendarStar","mdiCalendarStarFourPoints","mdiCalendarStarOutline","mdiCalendarStart","mdiCalendarStartOutline","mdiCalendarSync","mdiCalendarSyncOutline","mdiCalendarText","mdiCalendarTextOutline","mdiCalendarToday","mdiCalendarTodayOutline","mdiCalendarWeek","mdiCalendarWeekBegin","mdiCalendarWeekBeginOutline","mdiCalendarWeekOutline","mdiCalendarWeekend","mdiCalendarWeekendOutline","mdiCallMade","mdiCallMerge","mdiCallMissed","mdiCallReceived","mdiCallSplit","mdiCamcorder","mdiCamcorderOff","mdiCamera","mdiCameraAccount","mdiCameraBurst","mdiCameraControl","mdiCameraDocument","mdiCameraDocumentOff","mdiCameraEnhance","mdiCameraEnhanceOutline","mdiCameraFlip","mdiCameraFlipOutline","mdiCameraFront","mdiCameraFrontVariant","mdiCameraGopro","mdiCameraImage","mdiCameraIris","mdiCameraLock","mdiCameraLockOpen","mdiCameraLockOpenOutline","mdiCameraLockOutline","mdiCameraMarker","mdiCameraMarkerOutline","mdiCameraMeteringCenter","mdiCameraMeteringMatrix","mdiCameraMeteringPartial","mdiCameraMeteringSpot","mdiCameraOff","mdiCameraOffOutline","mdiCameraOutline","mdiCameraPartyMode","mdiCameraPlus","mdiCameraPlusOutline","mdiCameraRear","mdiCameraRearVariant","mdiCameraRetake","mdiCameraRetakeOutline","mdiCameraSwitch","mdiCameraSwitchOutline","mdiCameraTimer","mdiCameraWireless","mdiCameraWirelessOutline","mdiCampfire","mdiCancel","mdiCandelabra","mdiCandelabraFire","mdiCandle","mdiCandy","mdiCandyOff","mdiCandyOffOutline","mdiCandyOutline","mdiCandycane","mdiCannabis","mdiCannabisOff","mdiCapsLock","mdiCar","mdiCar2Plus","mdiCar3Plus","mdiCarArrowLeft","mdiCarArrowRight","mdiCarBack","mdiCarBattery","mdiCarBrakeAbs","mdiCarBrakeAlert","mdiCarBrakeFluidLevel","mdiCarBrakeHold","mdiCarBrakeLowPressure","mdiCarBrakeParking","mdiCarBrakeRetarder","mdiCarBrakeTemperature","mdiCarBrakeWornLinings","mdiCarChildSeat","mdiCarClock","mdiCarClutch","mdiCarCog","mdiCarConnected","mdiCarConvertible","mdiCarCoolantLevel","mdiCarCruiseControl","mdiCarDefrostFront","mdiCarDefrostRear","mdiCarDoor","mdiCarDoorLock","mdiCarDoorLockOpen","mdiCarElectric","mdiCarElectricOutline","mdiCarEmergency","mdiCarEsp","mdiCarEstate","mdiCarHatchback","mdiCarInfo","mdiCarKey","mdiCarLiftedPickup","mdiCarLightAlert","mdiCarLightDimmed","mdiCarLightFog","mdiCarLightHigh","mdiCarLimousine","mdiCarMultiple","mdiCarOff","mdiCarOutline","mdiCarParkingLights","mdiCarPickup","mdiCarSearch","mdiCarSearchOutline","mdiCarSeat","mdiCarSeatCooler","mdiCarSeatHeater","mdiCarSelect","mdiCarSettings","mdiCarShiftPattern","mdiCarSide","mdiCarSpeedLimiter","mdiCarSports","mdiCarTireAlert","mdiCarTractionControl","mdiCarTurbocharger","mdiCarWash","mdiCarWindshield","mdiCarWindshieldOutline","mdiCarWireless","mdiCarWrench","mdiCarabiner","mdiCaravan","mdiCard","mdiCardAccountDetails","mdiCardAccountDetailsOutline","mdiCardAccountDetailsStar","mdiCardAccountDetailsStarOutline","mdiCardAccountMail","mdiCardAccountMailOutline","mdiCardAccountPhone","mdiCardAccountPhoneOutline","mdiCardBulleted","mdiCardBulletedOff","mdiCardBulletedOffOutline","mdiCardBulletedOutline","mdiCardBulletedSettings","mdiCardBulletedSettingsOutline","mdiCardMinus","mdiCardMinusOutline","mdiCardMultiple","mdiCardMultipleOutline","mdiCardOff","mdiCardOffOutline","mdiCardOutline","mdiCardPlus","mdiCardPlusOutline","mdiCardRemove","mdiCardRemoveOutline","mdiCardSearch","mdiCardSearchOutline","mdiCardText","mdiCardTextOutline","mdiCards","mdiCardsClub","mdiCardsClubOutline","mdiCardsDiamond","mdiCardsDiamondOutline","mdiCardsHeart","mdiCardsHeartOutline","mdiCardsOutline","mdiCardsPlaying","mdiCardsPlayingClub","mdiCardsPlayingClubMultiple","mdiCardsPlayingClubMultipleOutline","mdiCardsPlayingClubOutline","mdiCardsPlayingDiamond","mdiCardsPlayingDiamondMultiple","mdiCardsPlayingDiamondMultipleOutline","mdiCardsPlayingDiamondOutline","mdiCardsPlayingHeart","mdiCardsPlayingHeartMultiple","mdiCardsPlayingHeartMultipleOutline","mdiCardsPlayingHeartOutline","mdiCardsPlayingOutline","mdiCardsPlayingSpade","mdiCardsPlayingSpadeMultiple","mdiCardsPlayingSpadeMultipleOutline","mdiCardsPlayingSpadeOutline","mdiCardsSpade","mdiCardsSpadeOutline","mdiCardsVariant","mdiCarrot","mdiCart","mdiCartArrowDown","mdiCartArrowRight","mdiCartArrowUp","mdiCartCheck","mdiCartHeart","mdiCartMinus","mdiCartOff","mdiCartOutline","mdiCartPercent","mdiCartPlus","mdiCartRemove","mdiCartVariant","mdiCaseSensitiveAlt","mdiCash","mdiCash100","mdiCashCheck","mdiCashClock","mdiCashEdit","mdiCashFast","mdiCashLock","mdiCashLockOpen","mdiCashMarker","mdiCashMinus","mdiCashMultiple","mdiCashOff","mdiCashPlus","mdiCashRefund","mdiCashRegister","mdiCashRemove","mdiCashSync","mdiCassette","mdiCast","mdiCastAudio","mdiCastAudioVariant","mdiCastConnected","mdiCastEducation","mdiCastOff","mdiCastVariant","mdiCastle","mdiCat","mdiCctv","mdiCctvOff","mdiCeilingFan","mdiCeilingFanLight","mdiCeilingLight","mdiCeilingLightMultiple","mdiCeilingLightMultipleOutline","mdiCeilingLightOutline","mdiCellphone","mdiCellphoneArrowDown","mdiCellphoneArrowDownVariant","mdiCellphoneBasic","mdiCellphoneCharging","mdiCellphoneCheck","mdiCellphoneCog","mdiCellphoneDock","mdiCellphoneInformation","mdiCellphoneKey","mdiCellphoneLink","mdiCellphoneLinkOff","mdiCellphoneLock","mdiCellphoneMarker","mdiCellphoneMessage","mdiCellphoneMessageOff","mdiCellphoneNfc","mdiCellphoneNfcOff","mdiCellphoneOff","mdiCellphonePlay","mdiCellphoneRemove","mdiCellphoneScreenshot","mdiCellphoneSettings","mdiCellphoneSound","mdiCellphoneText","mdiCellphoneWireless","mdiCentos","mdiCertificate","mdiCertificateOutline","mdiChairRolling","mdiChairSchool","mdiChandelier","mdiCharity","mdiCharitySearch","mdiChartArc","mdiChartAreaspline","mdiChartAreasplineVariant","mdiChartBar","mdiChartBarStacked","mdiChartBellCurve","mdiChartBellCurveCumulative","mdiChartBox","mdiChartBoxOutline","mdiChartBoxPlusOutline","mdiChartBubble","mdiChartDonut","mdiChartDonutVariant","mdiChartGantt","mdiChartHistogram","mdiChartLine","mdiChartLineStacked","mdiChartLineVariant","mdiChartMultiline","mdiChartMultiple","mdiChartPie","mdiChartPieOutline","mdiChartPpf","mdiChartSankey","mdiChartSankeyVariant","mdiChartScatterPlot","mdiChartScatterPlotHexbin","mdiChartTimeline","mdiChartTimelineVariant","mdiChartTimelineVariantShimmer","mdiChartTree","mdiChartWaterfall","mdiChat","mdiChatAlert","mdiChatAlertOutline","mdiChatMinus","mdiChatMinusOutline","mdiChatOutline","mdiChatPlus","mdiChatPlusOutline","mdiChatProcessing","mdiChatProcessingOutline","mdiChatQuestion","mdiChatQuestionOutline","mdiChatRemove","mdiChatRemoveOutline","mdiChatSleep","mdiChatSleepOutline","mdiCheck","mdiCheckAll","mdiCheckBold","mdiCheckCircle","mdiCheckCircleOutline","mdiCheckDecagram","mdiCheckDecagramOutline","mdiCheckNetwork","mdiCheckNetworkOutline","mdiCheckOutline","mdiCheckUnderline","mdiCheckUnderlineCircle","mdiCheckUnderlineCircleOutline","mdiCheckbook","mdiCheckbookArrowLeft","mdiCheckbookArrowRight","mdiCheckboxBlank","mdiCheckboxBlankBadge","mdiCheckboxBlankBadgeOutline","mdiCheckboxBlankCircle","mdiCheckboxBlankCircleOutline","mdiCheckboxBlankOff","mdiCheckboxBlankOffOutline","mdiCheckboxBlankOutline","mdiCheckboxIntermediate","mdiCheckboxIntermediateVariant","mdiCheckboxMarked","mdiCheckboxMarkedCircle","mdiCheckboxMarkedCircleAutoOutline","mdiCheckboxMarkedCircleMinusOutline","mdiCheckboxMarkedCircleOutline","mdiCheckboxMarkedCirclePlusOutline","mdiCheckboxMarkedOutline","mdiCheckboxMultipleBlank","mdiCheckboxMultipleBlankCircle","mdiCheckboxMultipleBlankCircleOutline","mdiCheckboxMultipleBlankOutline","mdiCheckboxMultipleMarked","mdiCheckboxMultipleMarkedCircle","mdiCheckboxMultipleMarkedCircleOutline","mdiCheckboxMultipleMarkedOutline","mdiCheckboxMultipleOutline","mdiCheckboxOutline","mdiCheckerboard","mdiCheckerboardMinus","mdiCheckerboardPlus","mdiCheckerboardRemove","mdiCheese","mdiCheeseOff","mdiChefHat","mdiChemicalWeapon","mdiChessBishop","mdiChessKing","mdiChessKnight","mdiChessPawn","mdiChessQueen","mdiChessRook","mdiChevronDoubleDown","mdiChevronDoubleLeft","mdiChevronDoubleRight","mdiChevronDoubleUp","mdiChevronDown","mdiChevronDownBox","mdiChevronDownBoxOutline","mdiChevronDownCircle","mdiChevronDownCircleOutline","mdiChevronLeft","mdiChevronLeftBox","mdiChevronLeftBoxOutline","mdiChevronLeftCircle","mdiChevronLeftCircleOutline","mdiChevronRight","mdiChevronRightBox","mdiChevronRightBoxOutline","mdiChevronRightCircle","mdiChevronRightCircleOutline","mdiChevronTripleDown","mdiChevronTripleLeft","mdiChevronTripleRight","mdiChevronTripleUp","mdiChevronUp","mdiChevronUpBox","mdiChevronUpBoxOutline","mdiChevronUpCircle","mdiChevronUpCircleOutline","mdiChiliAlert","mdiChiliAlertOutline","mdiChiliHot","mdiChiliHotOutline","mdiChiliMedium","mdiChiliMediumOutline","mdiChiliMild","mdiChiliMildOutline","mdiChiliOff","mdiChiliOffOutline","mdiChip","mdiChurch","mdiChurchOutline","mdiCigar","mdiCigarOff","mdiCircle","mdiCircleBox","mdiCircleBoxOutline","mdiCircleDouble","mdiCircleEditOutline","mdiCircleExpand","mdiCircleHalf","mdiCircleHalfFull","mdiCircleMedium","mdiCircleMultiple","mdiCircleMultipleOutline","mdiCircleOffOutline","mdiCircleOpacity","mdiCircleOutline","mdiCircleSlice1","mdiCircleSlice2","mdiCircleSlice3","mdiCircleSlice4","mdiCircleSlice5","mdiCircleSlice6","mdiCircleSlice7","mdiCircleSlice8","mdiCircleSmall","mdiCircularSaw","mdiCity","mdiCitySwitch","mdiCityVariant","mdiCityVariantOutline","mdiClipboard","mdiClipboardAccount","mdiClipboardAccountOutline","mdiClipboardAlert","mdiClipboardAlertOutline","mdiClipboardArrowDown","mdiClipboardArrowDownOutline","mdiClipboardArrowLeft","mdiClipboardArrowLeftOutline","mdiClipboardArrowRight","mdiClipboardArrowRightOutline","mdiClipboardArrowUp","mdiClipboardArrowUpOutline","mdiClipboardCheck","mdiClipboardCheckMultiple","mdiClipboardCheckMultipleOutline","mdiClipboardCheckOutline","mdiClipboardClock","mdiClipboardClockOutline","mdiClipboardEdit","mdiClipboardEditOutline","mdiClipboardFile","mdiClipboardFileOutline","mdiClipboardFlow","mdiClipboardFlowOutline","mdiClipboardList","mdiClipboardListOutline","mdiClipboardMinus","mdiClipboardMinusOutline","mdiClipboardMultiple","mdiClipboardMultipleOutline","mdiClipboardOff","mdiClipboardOffOutline","mdiClipboardOutline","mdiClipboardPlay","mdiClipboardPlayMultiple","mdiClipboardPlayMultipleOutline","mdiClipboardPlayOutline","mdiClipboardPlus","mdiClipboardPlusOutline","mdiClipboardPulse","mdiClipboardPulseOutline","mdiClipboardRemove","mdiClipboardRemoveOutline","mdiClipboardSearch","mdiClipboardSearchOutline","mdiClipboardText","mdiClipboardTextClock","mdiClipboardTextClockOutline","mdiClipboardTextMultiple","mdiClipboardTextMultipleOutline","mdiClipboardTextOff","mdiClipboardTextOffOutline","mdiClipboardTextOutline","mdiClipboardTextPlay","mdiClipboardTextPlayOutline","mdiClipboardTextSearch","mdiClipboardTextSearchOutline","mdiClippy","mdiClock","mdiClockAlert","mdiClockAlertOutline","mdiClockCheck","mdiClockCheckOutline","mdiClockDigital","mdiClockEdit","mdiClockEditOutline","mdiClockEnd","mdiClockFast","mdiClockIn","mdiClockMinus","mdiClockMinusOutline","mdiClockOut","mdiClockOutline","mdiClockPlus","mdiClockPlusOutline","mdiClockRemove","mdiClockRemoveOutline","mdiClockStarFourPoints","mdiClockStarFourPointsOutline","mdiClockStart","mdiClockTimeEight","mdiClockTimeEightOutline","mdiClockTimeEleven","mdiClockTimeElevenOutline","mdiClockTimeFive","mdiClockTimeFiveOutline","mdiClockTimeFour","mdiClockTimeFourOutline","mdiClockTimeNine","mdiClockTimeNineOutline","mdiClockTimeOne","mdiClockTimeOneOutline","mdiClockTimeSeven","mdiClockTimeSevenOutline","mdiClockTimeSix","mdiClockTimeSixOutline","mdiClockTimeTen","mdiClockTimeTenOutline","mdiClockTimeThree","mdiClockTimeThreeOutline","mdiClockTimeTwelve","mdiClockTimeTwelveOutline","mdiClockTimeTwo","mdiClockTimeTwoOutline","mdiClose","mdiCloseBox","mdiCloseBoxMultiple","mdiCloseBoxMultipleOutline","mdiCloseBoxOutline","mdiCloseCircle","mdiCloseCircleMultiple","mdiCloseCircleMultipleOutline","mdiCloseCircleOutline","mdiCloseNetwork","mdiCloseNetworkOutline","mdiCloseOctagon","mdiCloseOctagonOutline","mdiCloseOutline","mdiCloseThick","mdiClosedCaption","mdiClosedCaptionOutline","mdiCloud","mdiCloudAlert","mdiCloudAlertOutline","mdiCloudArrowDown","mdiCloudArrowDownOutline","mdiCloudArrowLeft","mdiCloudArrowLeftOutline","mdiCloudArrowRight","mdiCloudArrowRightOutline","mdiCloudArrowUp","mdiCloudArrowUpOutline","mdiCloudBraces","mdiCloudCancel","mdiCloudCancelOutline","mdiCloudCheck","mdiCloudCheckOutline","mdiCloudCheckVariant","mdiCloudCheckVariantOutline","mdiCloudCircle","mdiCloudCircleOutline","mdiCloudClock","mdiCloudClockOutline","mdiCloudCog","mdiCloudCogOutline","mdiCloudDownload","mdiCloudDownloadOutline","mdiCloudKey","mdiCloudKeyOutline","mdiCloudLock","mdiCloudLockOpen","mdiCloudLockOpenOutline","mdiCloudLockOutline","mdiCloudMinus","mdiCloudMinusOutline","mdiCloudOff","mdiCloudOffOutline","mdiCloudOutline","mdiCloudPercent","mdiCloudPercentOutline","mdiCloudPlus","mdiCloudPlusOutline","mdiCloudPrint","mdiCloudPrintOutline","mdiCloudQuestion","mdiCloudQuestionOutline","mdiCloudRefresh","mdiCloudRefreshOutline","mdiCloudRefreshVariant","mdiCloudRefreshVariantOutline","mdiCloudRemove","mdiCloudRemoveOutline","mdiCloudSearch","mdiCloudSearchOutline","mdiCloudSync","mdiCloudSyncOutline","mdiCloudTags","mdiCloudUpload","mdiCloudUploadOutline","mdiClouds","mdiClover","mdiCloverOutline","mdiCoachLamp","mdiCoachLampVariant","mdiCoatRack","mdiCodeArray","mdiCodeBlockBraces","mdiCodeBlockBrackets","mdiCodeBlockParentheses","mdiCodeBlockTags","mdiCodeBraces","mdiCodeBracesBox","mdiCodeBrackets","mdiCodeEqual","mdiCodeGreaterThan","mdiCodeGreaterThanOrEqual","mdiCodeJson","mdiCodeLessThan","mdiCodeLessThanOrEqual","mdiCodeNotEqual","mdiCodeNotEqualVariant","mdiCodeParentheses","mdiCodeParenthesesBox","mdiCodeString","mdiCodeTags","mdiCodeTagsCheck","mdiCodepen","mdiCoffee","mdiCoffeeMaker","mdiCoffeeMakerCheck","mdiCoffeeMakerCheckOutline","mdiCoffeeMakerOutline","mdiCoffeeOff","mdiCoffeeOffOutline","mdiCoffeeOutline","mdiCoffeeToGo","mdiCoffeeToGoOutline","mdiCoffin","mdiCog","mdiCogBox","mdiCogClockwise","mdiCogCounterclockwise","mdiCogOff","mdiCogOffOutline","mdiCogOutline","mdiCogPause","mdiCogPauseOutline","mdiCogPlay","mdiCogPlayOutline","mdiCogRefresh","mdiCogRefreshOutline","mdiCogStop","mdiCogStopOutline","mdiCogSync","mdiCogSyncOutline","mdiCogTransfer","mdiCogTransferOutline","mdiCogs","mdiCollage","mdiCollapseAll","mdiCollapseAllOutline","mdiColorHelper","mdiComma","mdiCommaBox","mdiCommaBoxOutline","mdiCommaCircle","mdiCommaCircleOutline","mdiComment","mdiCommentAccount","mdiCommentAccountOutline","mdiCommentAlert","mdiCommentAlertOutline","mdiCommentArrowLeft","mdiCommentArrowLeftOutline","mdiCommentArrowRight","mdiCommentArrowRightOutline","mdiCommentBookmark","mdiCommentBookmarkOutline","mdiCommentCheck","mdiCommentCheckOutline","mdiCommentEdit","mdiCommentEditOutline","mdiCommentEye","mdiCommentEyeOutline","mdiCommentFlash","mdiCommentFlashOutline","mdiCommentMinus","mdiCommentMinusOutline","mdiCommentMultiple","mdiCommentMultipleOutline","mdiCommentOff","mdiCommentOffOutline","mdiCommentOutline","mdiCommentPlus","mdiCommentPlusOutline","mdiCommentProcessing","mdiCommentProcessingOutline","mdiCommentQuestion","mdiCommentQuestionOutline","mdiCommentQuote","mdiCommentQuoteOutline","mdiCommentRemove","mdiCommentRemoveOutline","mdiCommentSearch","mdiCommentSearchOutline","mdiCommentText","mdiCommentTextMultiple","mdiCommentTextMultipleOutline","mdiCommentTextOutline","mdiCompare","mdiCompareHorizontal","mdiCompareRemove","mdiCompareVertical","mdiCompass","mdiCompassOff","mdiCompassOffOutline","mdiCompassOutline","mdiCompassRose","mdiCompost","mdiCone","mdiConeOff","mdiConnection","mdiConsole","mdiConsoleLine","mdiConsoleNetwork","mdiConsoleNetworkOutline","mdiConsolidate","mdiContactlessPayment","mdiContactlessPaymentCircle","mdiContactlessPaymentCircleOutline","mdiContacts","mdiContactsOutline","mdiContain","mdiContainEnd","mdiContainStart","mdiContentCopy","mdiContentCut","mdiContentDuplicate","mdiContentPaste","mdiContentSave","mdiContentSaveAlert","mdiContentSaveAlertOutline","mdiContentSaveAll","mdiContentSaveAllOutline","mdiContentSaveCheck","mdiContentSaveCheckOutline","mdiContentSaveCog","mdiContentSaveCogOutline","mdiContentSaveEdit","mdiContentSaveEditOutline","mdiContentSaveMinus","mdiContentSaveMinusOutline","mdiContentSaveMove","mdiContentSaveMoveOutline","mdiContentSaveOff","mdiContentSaveOffOutline","mdiContentSaveOutline","mdiContentSavePlus","mdiContentSavePlusOutline","mdiContentSaveSettings","mdiContentSaveSettingsOutline","mdiContrast","mdiContrastBox","mdiContrastCircle","mdiController","mdiControllerClassic","mdiControllerClassicOutline","mdiControllerOff","mdiCookie","mdiCookieAlert","mdiCookieAlertOutline","mdiCookieCheck","mdiCookieCheckOutline","mdiCookieClock","mdiCookieClockOutline","mdiCookieCog","mdiCookieCogOutline","mdiCookieEdit","mdiCookieEditOutline","mdiCookieLock","mdiCookieLockOutline","mdiCookieMinus","mdiCookieMinusOutline","mdiCookieOff","mdiCookieOffOutline","mdiCookieOutline","mdiCookiePlus","mdiCookiePlusOutline","mdiCookieRefresh","mdiCookieRefreshOutline","mdiCookieRemove","mdiCookieRemoveOutline","mdiCookieSettings","mdiCookieSettingsOutline","mdiCoolantTemperature","mdiCopyleft","mdiCopyright","mdiCordova","mdiCorn","mdiCornOff","mdiCosineWave","mdiCounter","mdiCountertop","mdiCountertopOutline","mdiCow","mdiCowOff","mdiCpu32Bit","mdiCpu64Bit","mdiCradle","mdiCradleOutline","mdiCrane","mdiCreation","mdiCreationOutline","mdiCreativeCommons","mdiCreditCard","mdiCreditCardCheck","mdiCreditCardCheckOutline","mdiCreditCardChip","mdiCreditCardChipOutline","mdiCreditCardClock","mdiCreditCardClockOutline","mdiCreditCardEdit","mdiCreditCardEditOutline","mdiCreditCardFast","mdiCreditCardFastOutline","mdiCreditCardLock","mdiCreditCardLockOutline","mdiCreditCardMarker","mdiCreditCardMarkerOutline","mdiCreditCardMinus","mdiCreditCardMinusOutline","mdiCreditCardMultiple","mdiCreditCardMultipleOutline","mdiCreditCardOff","mdiCreditCardOffOutline","mdiCreditCardOutline","mdiCreditCardPlus","mdiCreditCardPlusOutline","mdiCreditCardRefresh","mdiCreditCardRefreshOutline","mdiCreditCardRefund","mdiCreditCardRefundOutline","mdiCreditCardRemove","mdiCreditCardRemoveOutline","mdiCreditCardScan","mdiCreditCardScanOutline","mdiCreditCardSearch","mdiCreditCardSearchOutline","mdiCreditCardSettings","mdiCreditCardSettingsOutline","mdiCreditCardSync","mdiCreditCardSyncOutline","mdiCreditCardWireless","mdiCreditCardWirelessOff","mdiCreditCardWirelessOffOutline","mdiCreditCardWirelessOutline","mdiCricket","mdiCrop","mdiCropFree","mdiCropLandscape","mdiCropPortrait","mdiCropRotate","mdiCropSquare","mdiCross","mdiCrossBolnisi","mdiCrossCeltic","mdiCrossOutline","mdiCrosshairs","mdiCrosshairsGps","mdiCrosshairsOff","mdiCrosshairsQuestion","mdiCrowd","mdiCrown","mdiCrownCircle","mdiCrownCircleOutline","mdiCrownOutline","mdiCryengine","mdiCrystalBall","mdiCube","mdiCubeOff","mdiCubeOffOutline","mdiCubeOutline","mdiCubeScan","mdiCubeSend","mdiCubeUnfolded","mdiCup","mdiCupOff","mdiCupOffOutline","mdiCupOutline","mdiCupWater","mdiCupboard","mdiCupboardOutline","mdiCupcake","mdiCurling","mdiCurrencyBdt","mdiCurrencyBrl","mdiCurrencyBtc","mdiCurrencyCny","mdiCurrencyEth","mdiCurrencyEur","mdiCurrencyEurOff","mdiCurrencyFra","mdiCurrencyGbp","mdiCurrencyIls","mdiCurrencyInr","mdiCurrencyJpy","mdiCurrencyKrw","mdiCurrencyKzt","mdiCurrencyMnt","mdiCurrencyNgn","mdiCurrencyPhp","mdiCurrencyRial","mdiCurrencyRub","mdiCurrencyRupee","mdiCurrencySign","mdiCurrencyThb","mdiCurrencyTry","mdiCurrencyTwd","mdiCurrencyUah","mdiCurrencyUsd","mdiCurrencyUsdOff","mdiCurrentAc","mdiCurrentDc","mdiCursorDefault","mdiCursorDefaultClick","mdiCursorDefaultClickOutline","mdiCursorDefaultGesture","mdiCursorDefaultGestureOutline","mdiCursorDefaultOutline","mdiCursorMove","mdiCursorPointer","mdiCursorText","mdiCurtains","mdiCurtainsClosed","mdiCylinder","mdiCylinderOff","mdiDanceBallroom","mdiDancePole","mdiDataMatrix","mdiDataMatrixEdit","mdiDataMatrixMinus","mdiDataMatrixPlus","mdiDataMatrixRemove","mdiDataMatrixScan","mdiDatabase","mdiDatabaseAlert","mdiDatabaseAlertOutline","mdiDatabaseArrowDown","mdiDatabaseArrowDownOutline","mdiDatabaseArrowLeft","mdiDatabaseArrowLeftOutline","mdiDatabaseArrowRight","mdiDatabaseArrowRightOutline","mdiDatabaseArrowUp","mdiDatabaseArrowUpOutline","mdiDatabaseCheck","mdiDatabaseCheckOutline","mdiDatabaseClock","mdiDatabaseClockOutline","mdiDatabaseCog","mdiDatabaseCogOutline","mdiDatabaseEdit","mdiDatabaseEditOutline","mdiDatabaseExport","mdiDatabaseExportOutline","mdiDatabaseEye","mdiDatabaseEyeOff","mdiDatabaseEyeOffOutline","mdiDatabaseEyeOutline","mdiDatabaseImport","mdiDatabaseImportOutline","mdiDatabaseLock","mdiDatabaseLockOutline","mdiDatabaseMarker","mdiDatabaseMarkerOutline","mdiDatabaseMinus","mdiDatabaseMinusOutline","mdiDatabaseOff","mdiDatabaseOffOutline","mdiDatabaseOutline","mdiDatabasePlus","mdiDatabasePlusOutline","mdiDatabaseRefresh","mdiDatabaseRefreshOutline","mdiDatabaseRemove","mdiDatabaseRemoveOutline","mdiDatabaseSearch","mdiDatabaseSearchOutline","mdiDatabaseSettings","mdiDatabaseSettingsOutline","mdiDatabaseSync","mdiDatabaseSyncOutline","mdiDeathStar","mdiDeathStarVariant","mdiDeathlyHallows","mdiDebian","mdiDebugStepInto","mdiDebugStepOut","mdiDebugStepOver","mdiDecagram","mdiDecagramOutline","mdiDecimal","mdiDecimalComma","mdiDecimalCommaDecrease","mdiDecimalCommaIncrease","mdiDecimalDecrease","mdiDecimalIncrease","mdiDelete","mdiDeleteAlert","mdiDeleteAlertOutline","mdiDeleteCircle","mdiDeleteCircleOutline","mdiDeleteClock","mdiDeleteClockOutline","mdiDeleteEmpty","mdiDeleteEmptyOutline","mdiDeleteForever","mdiDeleteForeverOutline","mdiDeleteOff","mdiDeleteOffOutline","mdiDeleteOutline","mdiDeleteRestore","mdiDeleteSweep","mdiDeleteSweepOutline","mdiDeleteVariant","mdiDelta","mdiDesk","mdiDeskLamp","mdiDeskLampOff","mdiDeskLampOn","mdiDeskphone","mdiDesktopClassic","mdiDesktopTower","mdiDesktopTowerMonitor","mdiDetails","mdiDevTo","mdiDeveloperBoard","mdiDeviantart","mdiDevices","mdiDharmachakra","mdiDiabetes","mdiDialpad","mdiDiameter","mdiDiameterOutline","mdiDiameterVariant","mdiDiamond","mdiDiamondOutline","mdiDiamondStone","mdiDice1","mdiDice1Outline","mdiDice2","mdiDice2Outline","mdiDice3","mdiDice3Outline","mdiDice4","mdiDice4Outline","mdiDice5","mdiDice5Outline","mdiDice6","mdiDice6Outline","mdiDiceD10","mdiDiceD10Outline","mdiDiceD12","mdiDiceD12Outline","mdiDiceD20","mdiDiceD20Outline","mdiDiceD4","mdiDiceD4Outline","mdiDiceD6","mdiDiceD6Outline","mdiDiceD8","mdiDiceD8Outline","mdiDiceMultiple","mdiDiceMultipleOutline","mdiDigitalOcean","mdiDipSwitch","mdiDirections","mdiDirectionsFork","mdiDisc","mdiDiscAlert","mdiDiscPlayer","mdiDishwasher","mdiDishwasherAlert","mdiDishwasherOff","mdiDisqus","mdiDistributeHorizontalCenter","mdiDistributeHorizontalLeft","mdiDistributeHorizontalRight","mdiDistributeVerticalBottom","mdiDistributeVerticalCenter","mdiDistributeVerticalTop","mdiDiversify","mdiDiving","mdiDivingFlippers","mdiDivingHelmet","mdiDivingScuba","mdiDivingScubaFlag","mdiDivingScubaMask","mdiDivingScubaTank","mdiDivingScubaTankMultiple","mdiDivingSnorkel","mdiDivision","mdiDivisionBox","mdiDlna","mdiDna","mdiDns","mdiDnsOutline","mdiDockBottom","mdiDockLeft","mdiDockRight","mdiDockTop","mdiDockWindow","mdiDocker","mdiDoctor","mdiDog","mdiDogService","mdiDogSide","mdiDogSideOff","mdiDolby","mdiDolly","mdiDolphin","mdiDomain","mdiDomainOff","mdiDomainPlus","mdiDomainRemove","mdiDomainSwitch","mdiDomeLight","mdiDominoMask","mdiDonkey","mdiDoor","mdiDoorClosed","mdiDoorClosedCancel","mdiDoorClosedLock","mdiDoorOpen","mdiDoorSliding","mdiDoorSlidingLock","mdiDoorSlidingOpen","mdiDoorbell","mdiDoorbellVideo","mdiDotNet","mdiDotsCircle","mdiDotsGrid","mdiDotsHexagon","mdiDotsHorizontal","mdiDotsHorizontalCircle","mdiDotsHorizontalCircleOutline","mdiDotsSquare","mdiDotsTriangle","mdiDotsVertical","mdiDotsVerticalCircle","mdiDotsVerticalCircleOutline","mdiDownload","mdiDownloadBox","mdiDownloadBoxOutline","mdiDownloadCircle","mdiDownloadCircleOutline","mdiDownloadLock","mdiDownloadLockOutline","mdiDownloadMultiple","mdiDownloadNetwork","mdiDownloadNetworkOutline","mdiDownloadOff","mdiDownloadOffOutline","mdiDownloadOutline","mdiDrag","mdiDragHorizontal","mdiDragHorizontalVariant","mdiDragVariant","mdiDragVertical","mdiDragVerticalVariant","mdiDramaMasks","mdiDraw","mdiDrawPen","mdiDrawing","mdiDrawingBox","mdiDresser","mdiDresserOutline","mdiDrone","mdiDropbox","mdiDrupal","mdiDuck","mdiDumbbell","mdiDumpTruck","mdiEarHearing","mdiEarHearingLoop","mdiEarHearingOff","mdiEarbuds","mdiEarbudsOff","mdiEarbudsOffOutline","mdiEarbudsOutline","mdiEarth","mdiEarthArrowDown","mdiEarthArrowLeft","mdiEarthArrowRight","mdiEarthArrowUp","mdiEarthBox","mdiEarthBoxMinus","mdiEarthBoxOff","mdiEarthBoxPlus","mdiEarthBoxRemove","mdiEarthMinus","mdiEarthOff","mdiEarthPlus","mdiEarthRemove","mdiEgg","mdiEggEaster","mdiEggFried","mdiEggOff","mdiEggOffOutline","mdiEggOutline","mdiEiffelTower","mdiEightTrack","mdiEject","mdiEjectCircle","mdiEjectCircleOutline","mdiEjectOutline","mdiElectricSwitch","mdiElectricSwitchClosed","mdiElectronFramework","mdiElephant","mdiElevationDecline","mdiElevationRise","mdiElevator","mdiElevatorDown","mdiElevatorPassenger","mdiElevatorPassengerOff","mdiElevatorPassengerOffOutline","mdiElevatorPassengerOutline","mdiElevatorUp","mdiEllipse","mdiEllipseOutline","mdiEmail","mdiEmailAlert","mdiEmailAlertOutline","mdiEmailArrowLeft","mdiEmailArrowLeftOutline","mdiEmailArrowRight","mdiEmailArrowRightOutline","mdiEmailBox","mdiEmailCheck","mdiEmailCheckOutline","mdiEmailEdit","mdiEmailEditOutline","mdiEmailFast","mdiEmailFastOutline","mdiEmailHeartOutline","mdiEmailLock","mdiEmailLockOutline","mdiEmailMarkAsUnread","mdiEmailMinus","mdiEmailMinusOutline","mdiEmailMultiple","mdiEmailMultipleOutline","mdiEmailNewsletter","mdiEmailOff","mdiEmailOffOutline","mdiEmailOpen","mdiEmailOpenHeartOutline","mdiEmailOpenMultiple","mdiEmailOpenMultipleOutline","mdiEmailOpenOutline","mdiEmailOutline","mdiEmailPlus","mdiEmailPlusOutline","mdiEmailRemove","mdiEmailRemoveOutline","mdiEmailSeal","mdiEmailSealOutline","mdiEmailSearch","mdiEmailSearchOutline","mdiEmailSync","mdiEmailSyncOutline","mdiEmailVariant","mdiEmber","mdiEmby","mdiEmoticon","mdiEmoticonAngry","mdiEmoticonAngryOutline","mdiEmoticonConfused","mdiEmoticonConfusedOutline","mdiEmoticonCool","mdiEmoticonCoolOutline","mdiEmoticonCry","mdiEmoticonCryOutline","mdiEmoticonDead","mdiEmoticonDeadOutline","mdiEmoticonDevil","mdiEmoticonDevilOutline","mdiEmoticonExcited","mdiEmoticonExcitedOutline","mdiEmoticonFrown","mdiEmoticonFrownOutline","mdiEmoticonHappy","mdiEmoticonHappyOutline","mdiEmoticonKiss","mdiEmoticonKissOutline","mdiEmoticonLol","mdiEmoticonLolOutline","mdiEmoticonMinus","mdiEmoticonMinusOutline","mdiEmoticonNeutral","mdiEmoticonNeutralOutline","mdiEmoticonOutline","mdiEmoticonPlus","mdiEmoticonPlusOutline","mdiEmoticonPoop","mdiEmoticonPoopOutline","mdiEmoticonRemove","mdiEmoticonRemoveOutline","mdiEmoticonSad","mdiEmoticonSadOutline","mdiEmoticonSick","mdiEmoticonSickOutline","mdiEmoticonTongue","mdiEmoticonTongueOutline","mdiEmoticonWink","mdiEmoticonWinkOutline","mdiEngine","mdiEngineOff","mdiEngineOffOutline","mdiEngineOutline","mdiEpsilon","mdiEqual","mdiEqualBox","mdiEqualizer","mdiEqualizerOutline","mdiEraser","mdiEraserVariant","mdiEscalator","mdiEscalatorBox","mdiEscalatorDown","mdiEscalatorUp","mdiEslint","mdiEt","mdiEthereum","mdiEthernet","mdiEthernetCable","mdiEthernetCableOff","mdiEvPlugCcs1","mdiEvPlugCcs2","mdiEvPlugChademo","mdiEvPlugTesla","mdiEvPlugType1","mdiEvPlugType2","mdiEvStation","mdiEvernote","mdiExcavator","mdiExclamation","mdiExclamationThick","mdiExitRun","mdiExitToApp","mdiExpandAll","mdiExpandAllOutline","mdiExpansionCard","mdiExpansionCardVariant","mdiExponent","mdiExponentBox","mdiExport","mdiExportVariant","mdiEye","mdiEyeArrowLeft","mdiEyeArrowLeftOutline","mdiEyeArrowRight","mdiEyeArrowRightOutline","mdiEyeCheck","mdiEyeCheckOutline","mdiEyeCircle","mdiEyeCircleOutline","mdiEyeClosed","mdiEyeLock","mdiEyeLockOpen","mdiEyeLockOpenOutline","mdiEyeLockOutline","mdiEyeMinus","mdiEyeMinusOutline","mdiEyeOff","mdiEyeOffOutline","mdiEyeOutline","mdiEyePlus","mdiEyePlusOutline","mdiEyeRefresh","mdiEyeRefreshOutline","mdiEyeRemove","mdiEyeRemoveOutline","mdiEyeSettings","mdiEyeSettingsOutline","mdiEyedropper","mdiEyedropperMinus","mdiEyedropperOff","mdiEyedropperPlus","mdiEyedropperRemove","mdiEyedropperVariant","mdiFaceAgent","mdiFaceMan","mdiFaceManOutline","mdiFaceManProfile","mdiFaceManShimmer","mdiFaceManShimmerOutline","mdiFaceMask","mdiFaceMaskOutline","mdiFaceRecognition","mdiFaceWoman","mdiFaceWomanOutline","mdiFaceWomanProfile","mdiFaceWomanShimmer","mdiFaceWomanShimmerOutline","mdiFacebook","mdiFacebookGaming","mdiFacebookMessenger","mdiFacebookWorkplace","mdiFactory","mdiFamilyTree","mdiFan","mdiFanAlert","mdiFanAuto","mdiFanChevronDown","mdiFanChevronUp","mdiFanClock","mdiFanMinus","mdiFanOff","mdiFanPlus","mdiFanRemove","mdiFanSpeed1","mdiFanSpeed2","mdiFanSpeed3","mdiFastForward","mdiFastForward10","mdiFastForward15","mdiFastForward30","mdiFastForward45","mdiFastForward5","mdiFastForward60","mdiFastForwardOutline","mdiFaucet","mdiFaucetVariant","mdiFax","mdiFeather","mdiFeatureSearch","mdiFeatureSearchOutline","mdiFedora","mdiFence","mdiFenceElectric","mdiFencing","mdiFerrisWheel","mdiFerry","mdiFile","mdiFileAccount","mdiFileAccountOutline","mdiFileAlert","mdiFileAlertOutline","mdiFileArrowLeftRight","mdiFileArrowLeftRightOutline","mdiFileArrowUpDown","mdiFileArrowUpDownOutline","mdiFileCabinet","mdiFileCad","mdiFileCadBox","mdiFileCancel","mdiFileCancelOutline","mdiFileCertificate","mdiFileCertificateOutline","mdiFileChart","mdiFileChartCheck","mdiFileChartCheckOutline","mdiFileChartOutline","mdiFileCheck","mdiFileCheckOutline","mdiFileClock","mdiFileClockOutline","mdiFileCloud","mdiFileCloudOutline","mdiFileCode","mdiFileCodeOutline","mdiFileCog","mdiFileCogOutline","mdiFileCompare","mdiFileDelimited","mdiFileDelimitedOutline","mdiFileDocument","mdiFileDocumentAlert","mdiFileDocumentAlertOutline","mdiFileDocumentArrowRight","mdiFileDocumentArrowRightOutline","mdiFileDocumentCheck","mdiFileDocumentCheckOutline","mdiFileDocumentEdit","mdiFileDocumentEditOutline","mdiFileDocumentMinus","mdiFileDocumentMinusOutline","mdiFileDocumentMultiple","mdiFileDocumentMultipleOutline","mdiFileDocumentOutline","mdiFileDocumentPlus","mdiFileDocumentPlusOutline","mdiFileDocumentRefresh","mdiFileDocumentRefreshOutline","mdiFileDocumentRemove","mdiFileDocumentRemoveOutline","mdiFileDownload","mdiFileDownloadOutline","mdiFileEdit","mdiFileEditOutline","mdiFileExcel","mdiFileExcelBox","mdiFileExcelBoxOutline","mdiFileExcelOutline","mdiFileExport","mdiFileExportOutline","mdiFileEye","mdiFileEyeOutline","mdiFileFind","mdiFileFindOutline","mdiFileGifBox","mdiFileHidden","mdiFileImage","mdiFileImageMarker","mdiFileImageMarkerOutline","mdiFileImageMinus","mdiFileImageMinusOutline","mdiFileImageOutline","mdiFileImagePlus","mdiFileImagePlusOutline","mdiFileImageRemove","mdiFileImageRemoveOutline","mdiFileImport","mdiFileImportOutline","mdiFileJpgBox","mdiFileKey","mdiFileKeyOutline","mdiFileLink","mdiFileLinkOutline","mdiFileLock","mdiFileLockOpen","mdiFileLockOpenOutline","mdiFileLockOutline","mdiFileMarker","mdiFileMarkerOutline","mdiFileMinus","mdiFileMinusOutline","mdiFileMove","mdiFileMoveOutline","mdiFileMultiple","mdiFileMultipleOutline","mdiFileMusic","mdiFileMusicOutline","mdiFileOutline","mdiFilePdfBox","mdiFilePercent","mdiFilePercentOutline","mdiFilePhone","mdiFilePhoneOutline","mdiFilePlus","mdiFilePlusOutline","mdiFilePngBox","mdiFilePowerpoint","mdiFilePowerpointBox","mdiFilePowerpointBoxOutline","mdiFilePowerpointOutline","mdiFilePresentationBox","mdiFileQuestion","mdiFileQuestionOutline","mdiFileRefresh","mdiFileRefreshOutline","mdiFileRemove","mdiFileRemoveOutline","mdiFileReplace","mdiFileReplaceOutline","mdiFileRestore","mdiFileRestoreOutline","mdiFileRotateLeft","mdiFileRotateLeftOutline","mdiFileRotateRight","mdiFileRotateRightOutline","mdiFileSearch","mdiFileSearchOutline","mdiFileSend","mdiFileSendOutline","mdiFileSettings","mdiFileSettingsOutline","mdiFileSign","mdiFileStar","mdiFileStarFourPoints","mdiFileStarFourPointsOutline","mdiFileStarOutline","mdiFileSwap","mdiFileSwapOutline","mdiFileSync","mdiFileSyncOutline","mdiFileTable","mdiFileTableBox","mdiFileTableBoxMultiple","mdiFileTableBoxMultipleOutline","mdiFileTableBoxOutline","mdiFileTableOutline","mdiFileTree","mdiFileTreeOutline","mdiFileUndo","mdiFileUndoOutline","mdiFileUpload","mdiFileUploadOutline","mdiFileVideo","mdiFileVideoOutline","mdiFileWord","mdiFileWordBox","mdiFileWordBoxOutline","mdiFileWordOutline","mdiFileXmlBox","mdiFilm","mdiFilmstrip","mdiFilmstripBox","mdiFilmstripBoxMultiple","mdiFilmstripOff","mdiFilter","mdiFilterCheck","mdiFilterCheckOutline","mdiFilterCog","mdiFilterCogOutline","mdiFilterMenu","mdiFilterMenuOutline","mdiFilterMinus","mdiFilterMinusOutline","mdiFilterMultiple","mdiFilterMultipleOutline","mdiFilterOff","mdiFilterOffOutline","mdiFilterOutline","mdiFilterPlus","mdiFilterPlusOutline","mdiFilterRemove","mdiFilterRemoveOutline","mdiFilterSettings","mdiFilterSettingsOutline","mdiFilterVariant","mdiFilterVariantMinus","mdiFilterVariantPlus","mdiFilterVariantRemove","mdiFinance","mdiFindReplace","mdiFingerprint","mdiFingerprintOff","mdiFire","mdiFireAlert","mdiFireCircle","mdiFireExtinguisher","mdiFireHydrant","mdiFireHydrantAlert","mdiFireHydrantOff","mdiFireOff","mdiFireStation","mdiFireTruck","mdiFirebase","mdiFirefox","mdiFireplace","mdiFireplaceOff","mdiFirewire","mdiFirework","mdiFireworkOff","mdiFish","mdiFishOff","mdiFishbowl","mdiFishbowlOutline","mdiFitToPage","mdiFitToPageOutline","mdiFitToScreen","mdiFitToScreenOutline","mdiFlag","mdiFlagCheckered","mdiFlagMinus","mdiFlagMinusOutline","mdiFlagOff","mdiFlagOffOutline","mdiFlagOutline","mdiFlagPlus","mdiFlagPlusOutline","mdiFlagRemove","mdiFlagRemoveOutline","mdiFlagTriangle","mdiFlagVariant","mdiFlagVariantMinus","mdiFlagVariantMinusOutline","mdiFlagVariantOff","mdiFlagVariantOffOutline","mdiFlagVariantOutline","mdiFlagVariantPlus","mdiFlagVariantPlusOutline","mdiFlagVariantRemove","mdiFlagVariantRemoveOutline","mdiFlare","mdiFlash","mdiFlashAlert","mdiFlashAlertOutline","mdiFlashAuto","mdiFlashOff","mdiFlashOffOutline","mdiFlashOutline","mdiFlashRedEye","mdiFlashTriangle","mdiFlashTriangleOutline","mdiFlashlight","mdiFlashlightOff","mdiFlask","mdiFlaskEmpty","mdiFlaskEmptyMinus","mdiFlaskEmptyMinusOutline","mdiFlaskEmptyOff","mdiFlaskEmptyOffOutline","mdiFlaskEmptyOutline","mdiFlaskEmptyPlus","mdiFlaskEmptyPlusOutline","mdiFlaskEmptyRemove","mdiFlaskEmptyRemoveOutline","mdiFlaskMinus","mdiFlaskMinusOutline","mdiFlaskOff","mdiFlaskOffOutline","mdiFlaskOutline","mdiFlaskPlus","mdiFlaskPlusOutline","mdiFlaskRemove","mdiFlaskRemoveOutline","mdiFlaskRoundBottom","mdiFlaskRoundBottomEmpty","mdiFlaskRoundBottomEmptyOutline","mdiFlaskRoundBottomOutline","mdiFleurDeLis","mdiFlipHorizontal","mdiFlipToBack","mdiFlipToFront","mdiFlipVertical","mdiFloorLamp","mdiFloorLampDual","mdiFloorLampDualOutline","mdiFloorLampOutline","mdiFloorLampTorchiere","mdiFloorLampTorchiereOutline","mdiFloorLampTorchiereVariant","mdiFloorLampTorchiereVariantOutline","mdiFloorPlan","mdiFloppy","mdiFloppyVariant","mdiFlower","mdiFlowerOutline","mdiFlowerPollen","mdiFlowerPollenOutline","mdiFlowerPoppy","mdiFlowerTulip","mdiFlowerTulipOutline","mdiFocusAuto","mdiFocusField","mdiFocusFieldHorizontal","mdiFocusFieldVertical","mdiFolder","mdiFolderAccount","mdiFolderAccountOutline","mdiFolderAlert","mdiFolderAlertOutline","mdiFolderArrowDown","mdiFolderArrowDownOutline","mdiFolderArrowLeft","mdiFolderArrowLeftOutline","mdiFolderArrowLeftRight","mdiFolderArrowLeftRightOutline","mdiFolderArrowRight","mdiFolderArrowRightOutline","mdiFolderArrowUp","mdiFolderArrowUpDown","mdiFolderArrowUpDownOutline","mdiFolderArrowUpOutline","mdiFolderCancel","mdiFolderCancelOutline","mdiFolderCheck","mdiFolderCheckOutline","mdiFolderClock","mdiFolderClockOutline","mdiFolderCog","mdiFolderCogOutline","mdiFolderDownload","mdiFolderDownloadOutline","mdiFolderEdit","mdiFolderEditOutline","mdiFolderEye","mdiFolderEyeOutline","mdiFolderFile","mdiFolderFileOutline","mdiFolderGoogleDrive","mdiFolderHeart","mdiFolderHeartOutline","mdiFolderHidden","mdiFolderHome","mdiFolderHomeOutline","mdiFolderImage","mdiFolderInformation","mdiFolderInformationOutline","mdiFolderKey","mdiFolderKeyNetwork","mdiFolderKeyNetworkOutline","mdiFolderKeyOutline","mdiFolderLock","mdiFolderLockOpen","mdiFolderLockOpenOutline","mdiFolderLockOutline","mdiFolderMarker","mdiFolderMarkerOutline","mdiFolderMinus","mdiFolderMinusOutline","mdiFolderMove","mdiFolderMoveOutline","mdiFolderMultiple","mdiFolderMultipleImage","mdiFolderMultipleOutline","mdiFolderMultiplePlus","mdiFolderMultiplePlusOutline","mdiFolderMusic","mdiFolderMusicOutline","mdiFolderNetwork","mdiFolderNetworkOutline","mdiFolderOff","mdiFolderOffOutline","mdiFolderOpen","mdiFolderOpenOutline","mdiFolderOutline","mdiFolderPlay","mdiFolderPlayOutline","mdiFolderPlus","mdiFolderPlusOutline","mdiFolderPound","mdiFolderPoundOutline","mdiFolderQuestion","mdiFolderQuestionOutline","mdiFolderRefresh","mdiFolderRefreshOutline","mdiFolderRemove","mdiFolderRemoveOutline","mdiFolderSearch","mdiFolderSearchOutline","mdiFolderSettings","mdiFolderSettingsOutline","mdiFolderStar","mdiFolderStarMultiple","mdiFolderStarMultipleOutline","mdiFolderStarOutline","mdiFolderSwap","mdiFolderSwapOutline","mdiFolderSync","mdiFolderSyncOutline","mdiFolderTable","mdiFolderTableOutline","mdiFolderText","mdiFolderTextOutline","mdiFolderUpload","mdiFolderUploadOutline","mdiFolderWrench","mdiFolderWrenchOutline","mdiFolderZip","mdiFolderZipOutline","mdiFontAwesome","mdiFood","mdiFoodApple","mdiFoodAppleOutline","mdiFoodCroissant","mdiFoodDrumstick","mdiFoodDrumstickOff","mdiFoodDrumstickOffOutline","mdiFoodDrumstickOutline","mdiFoodForkDrink","mdiFoodHalal","mdiFoodHotDog","mdiFoodKosher","mdiFoodOff","mdiFoodOffOutline","mdiFoodOutline","mdiFoodSteak","mdiFoodSteakOff","mdiFoodTakeoutBox","mdiFoodTakeoutBoxOutline","mdiFoodTurkey","mdiFoodVariant","mdiFoodVariantOff","mdiFootPrint","mdiFootball","mdiFootballAustralian","mdiFootballHelmet","mdiForest","mdiForestOutline","mdiForklift","mdiFormDropdown","mdiFormSelect","mdiFormTextarea","mdiFormTextbox","mdiFormTextboxLock","mdiFormTextboxPassword","mdiFormatAlignBottom","mdiFormatAlignCenter","mdiFormatAlignJustify","mdiFormatAlignLeft","mdiFormatAlignMiddle","mdiFormatAlignRight","mdiFormatAlignTop","mdiFormatAnnotationMinus","mdiFormatAnnotationPlus","mdiFormatBold","mdiFormatClear","mdiFormatColorFill","mdiFormatColorHighlight","mdiFormatColorMarkerCancel","mdiFormatColorText","mdiFormatColumns","mdiFormatFloatCenter","mdiFormatFloatLeft","mdiFormatFloatNone","mdiFormatFloatRight","mdiFormatFont","mdiFormatFontSizeDecrease","mdiFormatFontSizeIncrease","mdiFormatHeader1","mdiFormatHeader2","mdiFormatHeader3","mdiFormatHeader4","mdiFormatHeader5","mdiFormatHeader6","mdiFormatHeaderDecrease","mdiFormatHeaderEqual","mdiFormatHeaderIncrease","mdiFormatHeaderPound","mdiFormatHorizontalAlignCenter","mdiFormatHorizontalAlignLeft","mdiFormatHorizontalAlignRight","mdiFormatIndentDecrease","mdiFormatIndentIncrease","mdiFormatItalic","mdiFormatLetterCase","mdiFormatLetterCaseLower","mdiFormatLetterCaseUpper","mdiFormatLetterEndsWith","mdiFormatLetterMatches","mdiFormatLetterSpacing","mdiFormatLetterSpacingVariant","mdiFormatLetterStartsWith","mdiFormatLineHeight","mdiFormatLineSpacing","mdiFormatLineStyle","mdiFormatLineWeight","mdiFormatListBulleted","mdiFormatListBulletedSquare","mdiFormatListBulletedTriangle","mdiFormatListBulletedType","mdiFormatListCheckbox","mdiFormatListChecks","mdiFormatListGroup","mdiFormatListGroupPlus","mdiFormatListNumbered","mdiFormatListNumberedRtl","mdiFormatListText","mdiFormatOverline","mdiFormatPageBreak","mdiFormatPageSplit","mdiFormatPaint","mdiFormatParagraph","mdiFormatParagraphSpacing","mdiFormatPilcrow","mdiFormatPilcrowArrowLeft","mdiFormatPilcrowArrowRight","mdiFormatQuoteClose","mdiFormatQuoteCloseOutline","mdiFormatQuoteOpen","mdiFormatQuoteOpenOutline","mdiFormatRotate90","mdiFormatSection","mdiFormatSize","mdiFormatStrikethrough","mdiFormatStrikethroughVariant","mdiFormatSubscript","mdiFormatSuperscript","mdiFormatText","mdiFormatTextRotationAngleDown","mdiFormatTextRotationAngleUp","mdiFormatTextRotationDown","mdiFormatTextRotationDownVertical","mdiFormatTextRotationNone","mdiFormatTextRotationUp","mdiFormatTextRotationVertical","mdiFormatTextVariant","mdiFormatTextVariantOutline","mdiFormatTextWrappingClip","mdiFormatTextWrappingOverflow","mdiFormatTextWrappingWrap","mdiFormatTextbox","mdiFormatTitle","mdiFormatUnderline","mdiFormatUnderlineWavy","mdiFormatVerticalAlignBottom","mdiFormatVerticalAlignCenter","mdiFormatVerticalAlignTop","mdiFormatWrapInline","mdiFormatWrapSquare","mdiFormatWrapTight","mdiFormatWrapTopBottom","mdiForum","mdiForumMinus","mdiForumMinusOutline","mdiForumOutline","mdiForumPlus","mdiForumPlusOutline","mdiForumRemove","mdiForumRemoveOutline","mdiForward","mdiForwardburger","mdiFountain","mdiFountainPen","mdiFountainPenTip","mdiFractionOneHalf","mdiFreebsd","mdiFrenchFries","mdiFrequentlyAskedQuestions","mdiFridge","mdiFridgeAlert","mdiFridgeAlertOutline","mdiFridgeBottom","mdiFridgeIndustrial","mdiFridgeIndustrialAlert","mdiFridgeIndustrialAlertOutline","mdiFridgeIndustrialOff","mdiFridgeIndustrialOffOutline","mdiFridgeIndustrialOutline","mdiFridgeOff","mdiFridgeOffOutline","mdiFridgeOutline","mdiFridgeTop","mdiFridgeVariant","mdiFridgeVariantAlert","mdiFridgeVariantAlertOutline","mdiFridgeVariantOff","mdiFridgeVariantOffOutline","mdiFridgeVariantOutline","mdiFruitCherries","mdiFruitCherriesOff","mdiFruitCitrus","mdiFruitCitrusOff","mdiFruitGrapes","mdiFruitGrapesOutline","mdiFruitPear","mdiFruitPineapple","mdiFruitWatermelon","mdiFuel","mdiFuelCell","mdiFullscreen","mdiFullscreenExit","mdiFunction","mdiFunctionVariant","mdiFuriganaHorizontal","mdiFuriganaVertical","mdiFuse","mdiFuseAlert","mdiFuseBlade","mdiFuseOff","mdiGamepad","mdiGamepadCircle","mdiGamepadCircleDown","mdiGamepadCircleLeft","mdiGamepadCircleOutline","mdiGamepadCircleRight","mdiGamepadCircleUp","mdiGamepadDown","mdiGamepadLeft","mdiGamepadOutline","mdiGamepadRight","mdiGamepadRound","mdiGamepadRoundDown","mdiGamepadRoundLeft","mdiGamepadRoundOutline","mdiGamepadRoundRight","mdiGamepadRoundUp","mdiGamepadSquare","mdiGamepadSquareOutline","mdiGamepadUp","mdiGamepadVariant","mdiGamepadVariantOutline","mdiGamma","mdiGantryCrane","mdiGarage","mdiGarageAlert","mdiGarageAlertVariant","mdiGarageLock","mdiGarageOpen","mdiGarageOpenVariant","mdiGarageVariant","mdiGarageVariantLock","mdiGasBurner","mdiGasCylinder","mdiGasStation","mdiGasStationInUse","mdiGasStationInUseOutline","mdiGasStationOff","mdiGasStationOffOutline","mdiGasStationOutline","mdiGate","mdiGateAlert","mdiGateAnd","mdiGateArrowLeft","mdiGateArrowRight","mdiGateBuffer","mdiGateNand","mdiGateNor","mdiGateNot","mdiGateOpen","mdiGateOr","mdiGateXnor","mdiGateXor","mdiGatsby","mdiGauge","mdiGaugeEmpty","mdiGaugeFull","mdiGaugeLow","mdiGavel","mdiGenderFemale","mdiGenderMale","mdiGenderMaleFemale","mdiGenderMaleFemaleVariant","mdiGenderNonBinary","mdiGenderTransgender","mdiGeneratorMobile","mdiGeneratorPortable","mdiGeneratorStationary","mdiGentoo","mdiGesture","mdiGestureDoubleTap","mdiGesturePinch","mdiGestureSpread","mdiGestureSwipe","mdiGestureSwipeDown","mdiGestureSwipeHorizontal","mdiGestureSwipeLeft","mdiGestureSwipeRight","mdiGestureSwipeUp","mdiGestureSwipeVertical","mdiGestureTap","mdiGestureTapBox","mdiGestureTapButton","mdiGestureTapHold","mdiGestureTwoDoubleTap","mdiGestureTwoTap","mdiGhost","mdiGhostOff","mdiGhostOffOutline","mdiGhostOutline","mdiGift","mdiGiftOff","mdiGiftOffOutline","mdiGiftOpen","mdiGiftOpenOutline","mdiGiftOutline","mdiGit","mdiGithub","mdiGitlab","mdiGlassCocktail","mdiGlassCocktailOff","mdiGlassFlute","mdiGlassFragile","mdiGlassMug","mdiGlassMugOff","mdiGlassMugVariant","mdiGlassMugVariantOff","mdiGlassPintOutline","mdiGlassStange","mdiGlassTulip","mdiGlassWine","mdiGlasses","mdiGlobeLight","mdiGlobeLightOutline","mdiGlobeModel","mdiGmail","mdiGnome","mdiGoKart","mdiGoKartTrack","mdiGog","mdiGold","mdiGolf","mdiGolfCart","mdiGolfTee","mdiGondola","mdiGoodreads","mdiGoogle","mdiGoogleAds","mdiGoogleAnalytics","mdiGoogleAssistant","mdiGoogleCardboard","mdiGoogleChrome","mdiGoogleCircles","mdiGoogleCirclesCommunities","mdiGoogleCirclesExtended","mdiGoogleCirclesGroup","mdiGoogleClassroom","mdiGoogleCloud","mdiGoogleDownasaur","mdiGoogleDrive","mdiGoogleEarth","mdiGoogleFit","mdiGoogleGlass","mdiGoogleHangouts","mdiGoogleKeep","mdiGoogleLens","mdiGoogleMaps","mdiGoogleMyBusiness","mdiGoogleNearby","mdiGooglePlay","mdiGooglePlus","mdiGooglePodcast","mdiGoogleSpreadsheet","mdiGoogleStreetView","mdiGoogleTranslate","mdiGradientHorizontal","mdiGradientVertical","mdiGrain","mdiGraph","mdiGraphOutline","mdiGraphql","mdiGrass","mdiGraveStone","mdiGreasePencil","mdiGreaterThan","mdiGreaterThanOrEqual","mdiGreenhouse","mdiGrid","mdiGridLarge","mdiGridOff","mdiGrill","mdiGrillOutline","mdiGroup","mdiGuitarAcoustic","mdiGuitarElectric","mdiGuitarPick","mdiGuitarPickOutline","mdiGuyFawkesMask","mdiGymnastics","mdiHail","mdiHairDryer","mdiHairDryerOutline","mdiHalloween","mdiHamburger","mdiHamburgerCheck","mdiHamburgerMinus","mdiHamburgerOff","mdiHamburgerPlus","mdiHamburgerRemove","mdiHammer","mdiHammerScrewdriver","mdiHammerSickle","mdiHammerWrench","mdiHandBackLeft","mdiHandBackLeftOff","mdiHandBackLeftOffOutline","mdiHandBackLeftOutline","mdiHandBackRight","mdiHandBackRightOff","mdiHandBackRightOffOutline","mdiHandBackRightOutline","mdiHandClap","mdiHandClapOff","mdiHandCoin","mdiHandCoinOutline","mdiHandCycle","mdiHandExtended","mdiHandExtendedOutline","mdiHandFrontLeft","mdiHandFrontLeftOutline","mdiHandFrontRight","mdiHandFrontRightOutline","mdiHandHeart","mdiHandHeartOutline","mdiHandOkay","mdiHandPeace","mdiHandPeaceVariant","mdiHandPointingDown","mdiHandPointingLeft","mdiHandPointingRight","mdiHandPointingUp","mdiHandSaw","mdiHandWash","mdiHandWashOutline","mdiHandWater","mdiHandWave","mdiHandWaveOutline","mdiHandball","mdiHandcuffs","mdiHandsPray","mdiHandshake","mdiHandshakeOutline","mdiHanger","mdiHardHat","mdiHarddisk","mdiHarddiskPlus","mdiHarddiskRemove","mdiHatFedora","mdiHazardLights","mdiHdmiPort","mdiHdr","mdiHdrOff","mdiHead","mdiHeadAlert","mdiHeadAlertOutline","mdiHeadCheck","mdiHeadCheckOutline","mdiHeadCog","mdiHeadCogOutline","mdiHeadDotsHorizontal","mdiHeadDotsHorizontalOutline","mdiHeadFlash","mdiHeadFlashOutline","mdiHeadHeart","mdiHeadHeartOutline","mdiHeadLightbulb","mdiHeadLightbulbOutline","mdiHeadMinus","mdiHeadMinusOutline","mdiHeadOutline","mdiHeadPlus","mdiHeadPlusOutline","mdiHeadQuestion","mdiHeadQuestionOutline","mdiHeadRemove","mdiHeadRemoveOutline","mdiHeadSnowflake","mdiHeadSnowflakeOutline","mdiHeadSync","mdiHeadSyncOutline","mdiHeadphones","mdiHeadphonesBluetooth","mdiHeadphonesBox","mdiHeadphonesOff","mdiHeadphonesSettings","mdiHeadset","mdiHeadsetDock","mdiHeadsetOff","mdiHeart","mdiHeartBox","mdiHeartBoxOutline","mdiHeartBroken","mdiHeartBrokenOutline","mdiHeartCircle","mdiHeartCircleOutline","mdiHeartCog","mdiHeartCogOutline","mdiHeartFlash","mdiHeartHalf","mdiHeartHalfFull","mdiHeartHalfOutline","mdiHeartMinus","mdiHeartMinusOutline","mdiHeartMultiple","mdiHeartMultipleOutline","mdiHeartOff","mdiHeartOffOutline","mdiHeartOutline","mdiHeartPlus","mdiHeartPlusOutline","mdiHeartPulse","mdiHeartRemove","mdiHeartRemoveOutline","mdiHeartSearch","mdiHeartSettings","mdiHeartSettingsOutline","mdiHeatPump","mdiHeatPumpOutline","mdiHeatWave","mdiHeatingCoil","mdiHelicopter","mdiHelp","mdiHelpBox","mdiHelpBoxMultiple","mdiHelpBoxMultipleOutline","mdiHelpBoxOutline","mdiHelpCircle","mdiHelpCircleOutline","mdiHelpNetwork","mdiHelpNetworkOutline","mdiHelpRhombus","mdiHelpRhombusOutline","mdiHexadecimal","mdiHexagon","mdiHexagonMultiple","mdiHexagonMultipleOutline","mdiHexagonOutline","mdiHexagonSlice1","mdiHexagonSlice2","mdiHexagonSlice3","mdiHexagonSlice4","mdiHexagonSlice5","mdiHexagonSlice6","mdiHexagram","mdiHexagramOutline","mdiHighDefinition","mdiHighDefinitionBox","mdiHighway","mdiHiking","mdiHistory","mdiHockeyPuck","mdiHockeySticks","mdiHololens","mdiHome","mdiHomeAccount","mdiHomeAlert","mdiHomeAlertOutline","mdiHomeAnalytics","mdiHomeAssistant","mdiHomeAutomation","mdiHomeBattery","mdiHomeBatteryOutline","mdiHomeCircle","mdiHomeCircleOutline","mdiHomeCity","mdiHomeCityOutline","mdiHomeClock","mdiHomeClockOutline","mdiHomeEdit","mdiHomeEditOutline","mdiHomeExportOutline","mdiHomeFlood","mdiHomeFloor0","mdiHomeFloor1","mdiHomeFloor2","mdiHomeFloor3","mdiHomeFloorA","mdiHomeFloorB","mdiHomeFloorG","mdiHomeFloorL","mdiHomeFloorNegative1","mdiHomeGroup","mdiHomeGroupMinus","mdiHomeGroupPlus","mdiHomeGroupRemove","mdiHomeHeart","mdiHomeImportOutline","mdiHomeLightbulb","mdiHomeLightbulbOutline","mdiHomeLightningBolt","mdiHomeLightningBoltOutline","mdiHomeLock","mdiHomeLockOpen","mdiHomeMapMarker","mdiHomeMinus","mdiHomeMinusOutline","mdiHomeModern","mdiHomeOff","mdiHomeOffOutline","mdiHomeOutline","mdiHomePercent","mdiHomePercentOutline","mdiHomePlus","mdiHomePlusOutline","mdiHomeRemove","mdiHomeRemoveOutline","mdiHomeRoof","mdiHomeSearch","mdiHomeSearchOutline","mdiHomeSilo","mdiHomeSiloOutline","mdiHomeSoundIn","mdiHomeSoundInOutline","mdiHomeSoundOut","mdiHomeSoundOutOutline","mdiHomeSwitch","mdiHomeSwitchOutline","mdiHomeThermometer","mdiHomeThermometerOutline","mdiHomeVariant","mdiHomeVariantOutline","mdiHook","mdiHookOff","mdiHoopHouse","mdiHops","mdiHorizontalRotateClockwise","mdiHorizontalRotateCounterclockwise","mdiHorse","mdiHorseHuman","mdiHorseVariant","mdiHorseVariantFast","mdiHorseshoe","mdiHospital","mdiHospitalBox","mdiHospitalBoxOutline","mdiHospitalBuilding","mdiHospitalMarker","mdiHotTub","mdiHours12","mdiHours24","mdiHub","mdiHubOutline","mdiHubspot","mdiHulu","mdiHuman","mdiHumanBabyChangingTable","mdiHumanCane","mdiHumanCapacityDecrease","mdiHumanCapacityIncrease","mdiHumanChild","mdiHumanDolly","mdiHumanEdit","mdiHumanFemale","mdiHumanFemaleBoy","mdiHumanFemaleDance","mdiHumanFemaleFemale","mdiHumanFemaleFemaleChild","mdiHumanFemaleGirl","mdiHumanGreeting","mdiHumanGreetingProximity","mdiHumanGreetingVariant","mdiHumanHandsdown","mdiHumanHandsup","mdiHumanMale","mdiHumanMaleBoard","mdiHumanMaleBoardPoll","mdiHumanMaleBoy","mdiHumanMaleChild","mdiHumanMaleFemale","mdiHumanMaleFemaleChild","mdiHumanMaleGirl","mdiHumanMaleHeight","mdiHumanMaleHeightVariant","mdiHumanMaleMale","mdiHumanMaleMaleChild","mdiHumanNonBinary","mdiHumanPregnant","mdiHumanQueue","mdiHumanScooter","mdiHumanWalker","mdiHumanWheelchair","mdiHumanWhiteCane","mdiHumbleBundle","mdiHvac","mdiHvacOff","mdiHydraulicOilLevel","mdiHydraulicOilTemperature","mdiHydroPower","mdiHydrogenStation","mdiIceCream","mdiIceCreamOff","mdiIcePop","mdiIdCard","mdiIdentifier","mdiIdeogramCjk","mdiIdeogramCjkVariant","mdiImage","mdiImageAlbum","mdiImageArea","mdiImageAreaClose","mdiImageAutoAdjust","mdiImageBroken","mdiImageBrokenVariant","mdiImageCheck","mdiImageCheckOutline","mdiImageEdit","mdiImageEditOutline","mdiImageFilterBlackWhite","mdiImageFilterCenterFocus","mdiImageFilterCenterFocusStrong","mdiImageFilterCenterFocusStrongOutline","mdiImageFilterCenterFocusWeak","mdiImageFilterDrama","mdiImageFilterDramaOutline","mdiImageFilterFrames","mdiImageFilterHdr","mdiImageFilterHdrOutline","mdiImageFilterNone","mdiImageFilterTiltShift","mdiImageFilterVintage","mdiImageFrame","mdiImageLock","mdiImageLockOutline","mdiImageMarker","mdiImageMarkerOutline","mdiImageMinus","mdiImageMinusOutline","mdiImageMove","mdiImageMultiple","mdiImageMultipleOutline","mdiImageOff","mdiImageOffOutline","mdiImageOutline","mdiImagePlus","mdiImagePlusOutline","mdiImageRefresh","mdiImageRefreshOutline","mdiImageRemove","mdiImageRemoveOutline","mdiImageSearch","mdiImageSearchOutline","mdiImageSizeSelectActual","mdiImageSizeSelectLarge","mdiImageSizeSelectSmall","mdiImageSync","mdiImageSyncOutline","mdiImageText","mdiImport","mdiInbox","mdiInboxArrowDown","mdiInboxArrowDownOutline","mdiInboxArrowUp","mdiInboxArrowUpOutline","mdiInboxFull","mdiInboxFullOutline","mdiInboxMultiple","mdiInboxMultipleOutline","mdiInboxOutline","mdiInboxRemove","mdiInboxRemoveOutline","mdiIncognito","mdiIncognitoCircle","mdiIncognitoCircleOff","mdiIncognitoOff","mdiInduction","mdiInfinity","mdiInformation","mdiInformationBox","mdiInformationBoxOutline","mdiInformationOff","mdiInformationOffOutline","mdiInformationOutline","mdiInformationSlabBox","mdiInformationSlabBoxOutline","mdiInformationSlabCircle","mdiInformationSlabCircleOutline","mdiInformationSlabSymbol","mdiInformationSymbol","mdiInformationVariant","mdiInformationVariantBox","mdiInformationVariantBoxOutline","mdiInformationVariantCircle","mdiInformationVariantCircleOutline","mdiInstagram","mdiInstrumentTriangle","mdiIntegratedCircuitChip","mdiInvertColors","mdiInvertColorsOff","mdiIobroker","mdiIp","mdiIpNetwork","mdiIpNetworkOutline","mdiIpOutline","mdiIpod","mdiIron","mdiIronBoard","mdiIronOutline","mdiIsland","mdiIslandVariant","mdiIvBag","mdiJabber","mdiJeepney","mdiJellyfish","mdiJellyfishOutline","mdiJira","mdiJquery","mdiJsfiddle","mdiJumpRope","mdiKabaddi","mdiKangaroo","mdiKarate","mdiKayaking","mdiKeg","mdiKettle","mdiKettleAlert","mdiKettleAlertOutline","mdiKettleOff","mdiKettleOffOutline","mdiKettleOutline","mdiKettlePourOver","mdiKettleSteam","mdiKettleSteamOutline","mdiKettlebell","mdiKey","mdiKeyAlert","mdiKeyAlertOutline","mdiKeyArrowRight","mdiKeyChain","mdiKeyChainVariant","mdiKeyChange","mdiKeyLink","mdiKeyMinus","mdiKeyOutline","mdiKeyPlus","mdiKeyRemove","mdiKeyStar","mdiKeyVariant","mdiKeyWireless","mdiKeyboard","mdiKeyboardBackspace","mdiKeyboardCaps","mdiKeyboardClose","mdiKeyboardCloseOutline","mdiKeyboardEsc","mdiKeyboardF1","mdiKeyboardF10","mdiKeyboardF11","mdiKeyboardF12","mdiKeyboardF2","mdiKeyboardF3","mdiKeyboardF4","mdiKeyboardF5","mdiKeyboardF6","mdiKeyboardF7","mdiKeyboardF8","mdiKeyboardF9","mdiKeyboardOff","mdiKeyboardOffOutline","mdiKeyboardOutline","mdiKeyboardReturn","mdiKeyboardSettings","mdiKeyboardSettingsOutline","mdiKeyboardSpace","mdiKeyboardTab","mdiKeyboardTabReverse","mdiKeyboardVariant","mdiKhanda","mdiKickstarter","mdiKite","mdiKiteOutline","mdiKitesurfing","mdiKlingon","mdiKnife","mdiKnifeMilitary","mdiKnob","mdiKoala","mdiKodi","mdiKubernetes","mdiLabel","mdiLabelMultiple","mdiLabelMultipleOutline","mdiLabelOff","mdiLabelOffOutline","mdiLabelOutline","mdiLabelPercent","mdiLabelPercentOutline","mdiLabelVariant","mdiLabelVariantOutline","mdiLadder","mdiLadybug","mdiLambda","mdiLamp","mdiLampOutline","mdiLamps","mdiLampsOutline","mdiLan","mdiLanCheck","mdiLanConnect","mdiLanDisconnect","mdiLanPending","mdiLandFields","mdiLandPlots","mdiLandPlotsCircle","mdiLandPlotsCircleVariant","mdiLandPlotsMarker","mdiLandRowsHorizontal","mdiLandRowsVertical","mdiLandslide","mdiLandslideOutline","mdiLanguageC","mdiLanguageCpp","mdiLanguageCsharp","mdiLanguageCss3","mdiLanguageFortran","mdiLanguageGo","mdiLanguageHaskell","mdiLanguageHtml5","mdiLanguageJava","mdiLanguageJavascript","mdiLanguageKotlin","mdiLanguageLua","mdiLanguageMarkdown","mdiLanguageMarkdownOutline","mdiLanguagePhp","mdiLanguagePython","mdiLanguageR","mdiLanguageRuby","mdiLanguageRubyOnRails","mdiLanguageRust","mdiLanguageSwift","mdiLanguageTypescript","mdiLanguageXaml","mdiLaptop","mdiLaptopAccount","mdiLaptopOff","mdiLaravel","mdiLaserPointer","mdiLasso","mdiLastpass","mdiLatitude","mdiLaunch","mdiLavaLamp","mdiLayers","mdiLayersEdit","mdiLayersMinus","mdiLayersOff","mdiLayersOffOutline","mdiLayersOutline","mdiLayersPlus","mdiLayersRemove","mdiLayersSearch","mdiLayersSearchOutline","mdiLayersTriple","mdiLayersTripleOutline","mdiLeadPencil","mdiLeaf","mdiLeafCircle","mdiLeafCircleOutline","mdiLeafMaple","mdiLeafMapleOff","mdiLeafOff","mdiLeak","mdiLeakOff","mdiLectern","mdiLedOff","mdiLedOn","mdiLedOutline","mdiLedStrip","mdiLedStripVariant","mdiLedStripVariantOff","mdiLedVariantOff","mdiLedVariantOn","mdiLedVariantOutline","mdiLeek","mdiLessThan","mdiLessThanOrEqual","mdiLibrary","mdiLibraryOutline","mdiLibraryShelves","mdiLicense","mdiLifebuoy","mdiLightFloodDown","mdiLightFloodUp","mdiLightRecessed","mdiLightSwitch","mdiLightSwitchOff","mdiLightbulb","mdiLightbulbAlert","mdiLightbulbAlertOutline","mdiLightbulbAuto","mdiLightbulbAutoOutline","mdiLightbulbCfl","mdiLightbulbCflOff","mdiLightbulbCflSpiral","mdiLightbulbCflSpiralOff","mdiLightbulbFluorescentTube","mdiLightbulbFluorescentTubeOutline","mdiLightbulbGroup","mdiLightbulbGroupOff","mdiLightbulbGroupOffOutline","mdiLightbulbGroupOutline","mdiLightbulbMultiple","mdiLightbulbMultipleOff","mdiLightbulbMultipleOffOutline","mdiLightbulbMultipleOutline","mdiLightbulbNight","mdiLightbulbNightOutline","mdiLightbulbOff","mdiLightbulbOffOutline","mdiLightbulbOn","mdiLightbulbOn10","mdiLightbulbOn20","mdiLightbulbOn30","mdiLightbulbOn40","mdiLightbulbOn50","mdiLightbulbOn60","mdiLightbulbOn70","mdiLightbulbOn80","mdiLightbulbOn90","mdiLightbulbOnOutline","mdiLightbulbOutline","mdiLightbulbQuestion","mdiLightbulbQuestionOutline","mdiLightbulbSpot","mdiLightbulbSpotOff","mdiLightbulbVariant","mdiLightbulbVariantOutline","mdiLighthouse","mdiLighthouseOn","mdiLightningBolt","mdiLightningBoltCircle","mdiLightningBoltOutline","mdiLineScan","mdiLingerie","mdiLink","mdiLinkBox","mdiLinkBoxOutline","mdiLinkBoxVariant","mdiLinkBoxVariantOutline","mdiLinkCircle","mdiLinkCircleOutline","mdiLinkEdit","mdiLinkLock","mdiLinkOff","mdiLinkPlus","mdiLinkVariant","mdiLinkVariantMinus","mdiLinkVariantOff","mdiLinkVariantPlus","mdiLinkVariantRemove","mdiLinkedin","mdiLinux","mdiLinuxMint","mdiLipstick","mdiLiquidSpot","mdiLiquor","mdiListBox","mdiListBoxOutline","mdiListStatus","mdiLitecoin","mdiLoading","mdiLocationEnter","mdiLocationExit","mdiLock","mdiLockAlert","mdiLockAlertOutline","mdiLockCheck","mdiLockCheckOutline","mdiLockClock","mdiLockMinus","mdiLockMinusOutline","mdiLockOff","mdiLockOffOutline","mdiLockOpen","mdiLockOpenAlert","mdiLockOpenAlertOutline","mdiLockOpenCheck","mdiLockOpenCheckOutline","mdiLockOpenMinus","mdiLockOpenMinusOutline","mdiLockOpenOutline","mdiLockOpenPlus","mdiLockOpenPlusOutline","mdiLockOpenRemove","mdiLockOpenRemoveOutline","mdiLockOpenVariant","mdiLockOpenVariantOutline","mdiLockOutline","mdiLockPattern","mdiLockPercent","mdiLockPercentOpen","mdiLockPercentOpenOutline","mdiLockPercentOpenVariant","mdiLockPercentOpenVariantOutline","mdiLockPercentOutline","mdiLockPlus","mdiLockPlusOutline","mdiLockQuestion","mdiLockRemove","mdiLockRemoveOutline","mdiLockReset","mdiLockSmart","mdiLocker","mdiLockerMultiple","mdiLogin","mdiLoginVariant","mdiLogout","mdiLogoutVariant","mdiLongitude","mdiLooks","mdiLotion","mdiLotionOutline","mdiLotionPlus","mdiLotionPlusOutline","mdiLoupe","mdiLumx","mdiLungs","mdiMace","mdiMagazinePistol","mdiMagazineRifle","mdiMagicStaff","mdiMagnet","mdiMagnetOn","mdiMagnify","mdiMagnifyClose","mdiMagnifyExpand","mdiMagnifyMinus","mdiMagnifyMinusCursor","mdiMagnifyMinusOutline","mdiMagnifyPlus","mdiMagnifyPlusCursor","mdiMagnifyPlusOutline","mdiMagnifyRemoveCursor","mdiMagnifyRemoveOutline","mdiMagnifyScan","mdiMail","mdiMailbox","mdiMailboxOpen","mdiMailboxOpenOutline","mdiMailboxOpenUp","mdiMailboxOpenUpOutline","mdiMailboxOutline","mdiMailboxUp","mdiMailboxUpOutline","mdiManjaro","mdiMap","mdiMapCheck","mdiMapCheckOutline","mdiMapClock","mdiMapClockOutline","mdiMapLegend","mdiMapMarker","mdiMapMarkerAccount","mdiMapMarkerAccountOutline","mdiMapMarkerAlert","mdiMapMarkerAlertOutline","mdiMapMarkerCheck","mdiMapMarkerCheckOutline","mdiMapMarkerCircle","mdiMapMarkerDistance","mdiMapMarkerDown","mdiMapMarkerLeft","mdiMapMarkerLeftOutline","mdiMapMarkerMinus","mdiMapMarkerMinusOutline","mdiMapMarkerMultiple","mdiMapMarkerMultipleOutline","mdiMapMarkerOff","mdiMapMarkerOffOutline","mdiMapMarkerOutline","mdiMapMarkerPath","mdiMapMarkerPlus","mdiMapMarkerPlusOutline","mdiMapMarkerQuestion","mdiMapMarkerQuestionOutline","mdiMapMarkerRadius","mdiMapMarkerRadiusOutline","mdiMapMarkerRemove","mdiMapMarkerRemoveOutline","mdiMapMarkerRemoveVariant","mdiMapMarkerRight","mdiMapMarkerRightOutline","mdiMapMarkerStar","mdiMapMarkerStarOutline","mdiMapMarkerUp","mdiMapMinus","mdiMapOutline","mdiMapPlus","mdiMapSearch","mdiMapSearchOutline","mdiMapbox","mdiMargin","mdiMarker","mdiMarkerCancel","mdiMarkerCheck","mdiMastodon","mdiMaterialDesign","mdiMaterialUi","mdiMathCompass","mdiMathCos","mdiMathIntegral","mdiMathIntegralBox","mdiMathLog","mdiMathNorm","mdiMathNormBox","mdiMathSin","mdiMathTan","mdiMatrix","mdiMedal","mdiMedalOutline","mdiMedicalBag","mdiMedicalCottonSwab","mdiMedication","mdiMedicationOutline","mdiMeditation","mdiMemory","mdiMemoryArrowDown","mdiMenorah","mdiMenorahFire","mdiMenu","mdiMenuClose","mdiMenuDown","mdiMenuDownOutline","mdiMenuLeft","mdiMenuLeftOutline","mdiMenuOpen","mdiMenuRight","mdiMenuRightOutline","mdiMenuSwap","mdiMenuSwapOutline","mdiMenuUp","mdiMenuUpOutline","mdiMerge","mdiMessage","mdiMessageAlert","mdiMessageAlertOutline","mdiMessageArrowLeft","mdiMessageArrowLeftOutline","mdiMessageArrowRight","mdiMessageArrowRightOutline","mdiMessageBadge","mdiMessageBadgeOutline","mdiMessageBookmark","mdiMessageBookmarkOutline","mdiMessageBulleted","mdiMessageBulletedOff","mdiMessageCheck","mdiMessageCheckOutline","mdiMessageCog","mdiMessageCogOutline","mdiMessageDraw","mdiMessageFast","mdiMessageFastOutline","mdiMessageFlash","mdiMessageFlashOutline","mdiMessageImage","mdiMessageImageOutline","mdiMessageLock","mdiMessageLockOutline","mdiMessageMinus","mdiMessageMinusOutline","mdiMessageOff","mdiMessageOffOutline","mdiMessageOutline","mdiMessagePlus","mdiMessagePlusOutline","mdiMessageProcessing","mdiMessageProcessingOutline","mdiMessageQuestion","mdiMessageQuestionOutline","mdiMessageReply","mdiMessageReplyOutline","mdiMessageReplyText","mdiMessageReplyTextOutline","mdiMessageSettings","mdiMessageSettingsOutline","mdiMessageStar","mdiMessageStarOutline","mdiMessageText","mdiMessageTextClock","mdiMessageTextClockOutline","mdiMessageTextFast","mdiMessageTextFastOutline","mdiMessageTextLock","mdiMessageTextLockOutline","mdiMessageTextOutline","mdiMessageVideo","mdiMeteor","mdiMeterElectric","mdiMeterElectricOutline","mdiMeterGas","mdiMeterGasOutline","mdiMetronome","mdiMetronomeTick","mdiMicroSd","mdiMicrophone","mdiMicrophoneMessage","mdiMicrophoneMessageOff","mdiMicrophoneMinus","mdiMicrophoneOff","mdiMicrophoneOutline","mdiMicrophonePlus","mdiMicrophoneQuestion","mdiMicrophoneQuestionOutline","mdiMicrophoneSettings","mdiMicrophoneVariant","mdiMicrophoneVariantOff","mdiMicroscope","mdiMicrosoft","mdiMicrosoftAccess","mdiMicrosoftAzure","mdiMicrosoftAzureDevops","mdiMicrosoftBing","mdiMicrosoftDynamics365","mdiMicrosoftEdge","mdiMicrosoftExcel","mdiMicrosoftInternetExplorer","mdiMicrosoftOffice","mdiMicrosoftOnedrive","mdiMicrosoftOnenote","mdiMicrosoftOutlook","mdiMicrosoftPowerpoint","mdiMicrosoftSharepoint","mdiMicrosoftTeams","mdiMicrosoftVisualStudio","mdiMicrosoftVisualStudioCode","mdiMicrosoftWindows","mdiMicrosoftWindowsClassic","mdiMicrosoftWord","mdiMicrosoftXbox","mdiMicrosoftXboxController","mdiMicrosoftXboxControllerBatteryAlert","mdiMicrosoftXboxControllerBatteryCharging","mdiMicrosoftXboxControllerBatteryEmpty","mdiMicrosoftXboxControllerBatteryFull","mdiMicrosoftXboxControllerBatteryLow","mdiMicrosoftXboxControllerBatteryMedium","mdiMicrosoftXboxControllerBatteryUnknown","mdiMicrosoftXboxControllerMenu","mdiMicrosoftXboxControllerOff","mdiMicrosoftXboxControllerView","mdiMicrowave","mdiMicrowaveOff","mdiMiddleware","mdiMiddlewareOutline","mdiMidi","mdiMidiPort","mdiMine","mdiMinecraft","mdiMiniSd","mdiMinidisc","mdiMinus","mdiMinusBox","mdiMinusBoxMultiple","mdiMinusBoxMultipleOutline","mdiMinusBoxOutline","mdiMinusCircle","mdiMinusCircleMultiple","mdiMinusCircleMultipleOutline","mdiMinusCircleOff","mdiMinusCircleOffOutline","mdiMinusCircleOutline","mdiMinusNetwork","mdiMinusNetworkOutline","mdiMinusThick","mdiMirror","mdiMirrorRectangle","mdiMirrorVariant","mdiMixedMartialArts","mdiMixedReality","mdiMolecule","mdiMoleculeCo","mdiMoleculeCo2","mdiMonitor","mdiMonitorAccount","mdiMonitorArrowDown","mdiMonitorArrowDownVariant","mdiMonitorCellphone","mdiMonitorCellphoneStar","mdiMonitorDashboard","mdiMonitorEdit","mdiMonitorEye","mdiMonitorLock","mdiMonitorMultiple","mdiMonitorOff","mdiMonitorScreenshot","mdiMonitorShare","mdiMonitorShimmer","mdiMonitorSmall","mdiMonitorSpeaker","mdiMonitorSpeakerOff","mdiMonitorStar","mdiMonitorVertical","mdiMoonFirstQuarter","mdiMoonFull","mdiMoonLastQuarter","mdiMoonNew","mdiMoonWaningCrescent","mdiMoonWaningGibbous","mdiMoonWaxingCrescent","mdiMoonWaxingGibbous","mdiMoped","mdiMopedElectric","mdiMopedElectricOutline","mdiMopedOutline","mdiMore","mdiMortarPestle","mdiMortarPestlePlus","mdiMosque","mdiMosqueOutline","mdiMotherHeart","mdiMotherNurse","mdiMotion","mdiMotionOutline","mdiMotionPause","mdiMotionPauseOutline","mdiMotionPlay","mdiMotionPlayOutline","mdiMotionSensor","mdiMotionSensorOff","mdiMotorbike","mdiMotorbikeElectric","mdiMotorbikeOff","mdiMouse","mdiMouseBluetooth","mdiMouseMoveDown","mdiMouseMoveUp","mdiMouseMoveVertical","mdiMouseOff","mdiMouseVariant","mdiMouseVariantOff","mdiMoveResize","mdiMoveResizeVariant","mdiMovie","mdiMovieCheck","mdiMovieCheckOutline","mdiMovieCog","mdiMovieCogOutline","mdiMovieEdit","mdiMovieEditOutline","mdiMovieFilter","mdiMovieFilterOutline","mdiMovieMinus","mdiMovieMinusOutline","mdiMovieOff","mdiMovieOffOutline","mdiMovieOpen","mdiMovieOpenCheck","mdiMovieOpenCheckOutline","mdiMovieOpenCog","mdiMovieOpenCogOutline","mdiMovieOpenEdit","mdiMovieOpenEditOutline","mdiMovieOpenMinus","mdiMovieOpenMinusOutline","mdiMovieOpenOff","mdiMovieOpenOffOutline","mdiMovieOpenOutline","mdiMovieOpenPlay","mdiMovieOpenPlayOutline","mdiMovieOpenPlus","mdiMovieOpenPlusOutline","mdiMovieOpenRemove","mdiMovieOpenRemoveOutline","mdiMovieOpenSettings","mdiMovieOpenSettingsOutline","mdiMovieOpenStar","mdiMovieOpenStarOutline","mdiMovieOutline","mdiMoviePlay","mdiMoviePlayOutline","mdiMoviePlus","mdiMoviePlusOutline","mdiMovieRemove","mdiMovieRemoveOutline","mdiMovieRoll","mdiMovieSearch","mdiMovieSearchOutline","mdiMovieSettings","mdiMovieSettingsOutline","mdiMovieStar","mdiMovieStarOutline","mdiMower","mdiMowerBag","mdiMowerBagOn","mdiMowerOn","mdiMuffin","mdiMulticast","mdiMultimedia","mdiMultiplication","mdiMultiplicationBox","mdiMushroom","mdiMushroomOff","mdiMushroomOffOutline","mdiMushroomOutline","mdiMusic","mdiMusicAccidentalDoubleFlat","mdiMusicAccidentalDoubleSharp","mdiMusicAccidentalFlat","mdiMusicAccidentalNatural","mdiMusicAccidentalSharp","mdiMusicBox","mdiMusicBoxMultiple","mdiMusicBoxMultipleOutline","mdiMusicBoxOutline","mdiMusicCircle","mdiMusicCircleOutline","mdiMusicClefAlto","mdiMusicClefBass","mdiMusicClefTreble","mdiMusicNote","mdiMusicNoteBluetooth","mdiMusicNoteBluetoothOff","mdiMusicNoteEighth","mdiMusicNoteEighthDotted","mdiMusicNoteHalf","mdiMusicNoteHalfDotted","mdiMusicNoteMinus","mdiMusicNoteOff","mdiMusicNoteOffOutline","mdiMusicNoteOutline","mdiMusicNotePlus","mdiMusicNoteQuarter","mdiMusicNoteQuarterDotted","mdiMusicNoteSixteenth","mdiMusicNoteSixteenthDotted","mdiMusicNoteWhole","mdiMusicNoteWholeDotted","mdiMusicOff","mdiMusicRestEighth","mdiMusicRestHalf","mdiMusicRestQuarter","mdiMusicRestSixteenth","mdiMusicRestWhole","mdiMustache","mdiNail","mdiNas","mdiNativescript","mdiNature","mdiNatureOutline","mdiNaturePeople","mdiNaturePeopleOutline","mdiNavigation","mdiNavigationOutline","mdiNavigationVariant","mdiNavigationVariantOutline","mdiNearMe","mdiNecklace","mdiNeedle","mdiNeedleOff","mdiNetflix","mdiNetwork","mdiNetworkOff","mdiNetworkOffOutline","mdiNetworkOutline","mdiNetworkPos","mdiNetworkStrength1","mdiNetworkStrength1Alert","mdiNetworkStrength2","mdiNetworkStrength2Alert","mdiNetworkStrength3","mdiNetworkStrength3Alert","mdiNetworkStrength4","mdiNetworkStrength4Alert","mdiNetworkStrength4Cog","mdiNetworkStrengthOff","mdiNetworkStrengthOffOutline","mdiNetworkStrengthOutline","mdiNewBox","mdiNewspaper","mdiNewspaperCheck","mdiNewspaperMinus","mdiNewspaperPlus","mdiNewspaperRemove","mdiNewspaperVariant","mdiNewspaperVariantMultiple","mdiNewspaperVariantMultipleOutline","mdiNewspaperVariantOutline","mdiNfc","mdiNfcSearchVariant","mdiNfcTap","mdiNfcVariant","mdiNfcVariantOff","mdiNinja","mdiNintendoGameBoy","mdiNintendoSwitch","mdiNintendoWii","mdiNintendoWiiu","mdiNix","mdiNodejs","mdiNoodles","mdiNotEqual","mdiNotEqualVariant","mdiNote","mdiNoteAlert","mdiNoteAlertOutline","mdiNoteCheck","mdiNoteCheckOutline","mdiNoteEdit","mdiNoteEditOutline","mdiNoteMinus","mdiNoteMinusOutline","mdiNoteMultiple","mdiNoteMultipleOutline","mdiNoteOff","mdiNoteOffOutline","mdiNoteOutline","mdiNotePlus","mdiNotePlusOutline","mdiNoteRemove","mdiNoteRemoveOutline","mdiNoteSearch","mdiNoteSearchOutline","mdiNoteText","mdiNoteTextOutline","mdiNotebook","mdiNotebookCheck","mdiNotebookCheckOutline","mdiNotebookEdit","mdiNotebookEditOutline","mdiNotebookHeart","mdiNotebookHeartOutline","mdiNotebookMinus","mdiNotebookMinusOutline","mdiNotebookMultiple","mdiNotebookOutline","mdiNotebookPlus","mdiNotebookPlusOutline","mdiNotebookRemove","mdiNotebookRemoveOutline","mdiNotificationClearAll","mdiNpm","mdiNuke","mdiNull","mdiNumeric","mdiNumeric0","mdiNumeric0Box","mdiNumeric0BoxMultiple","mdiNumeric0BoxMultipleOutline","mdiNumeric0BoxOutline","mdiNumeric0Circle","mdiNumeric0CircleOutline","mdiNumeric1","mdiNumeric1Box","mdiNumeric1BoxMultiple","mdiNumeric1BoxMultipleOutline","mdiNumeric1BoxOutline","mdiNumeric1Circle","mdiNumeric1CircleOutline","mdiNumeric10","mdiNumeric10Box","mdiNumeric10BoxMultiple","mdiNumeric10BoxMultipleOutline","mdiNumeric10BoxOutline","mdiNumeric10Circle","mdiNumeric10CircleOutline","mdiNumeric2","mdiNumeric2Box","mdiNumeric2BoxMultiple","mdiNumeric2BoxMultipleOutline","mdiNumeric2BoxOutline","mdiNumeric2Circle","mdiNumeric2CircleOutline","mdiNumeric3","mdiNumeric3Box","mdiNumeric3BoxMultiple","mdiNumeric3BoxMultipleOutline","mdiNumeric3BoxOutline","mdiNumeric3Circle","mdiNumeric3CircleOutline","mdiNumeric4","mdiNumeric4Box","mdiNumeric4BoxMultiple","mdiNumeric4BoxMultipleOutline","mdiNumeric4BoxOutline","mdiNumeric4Circle","mdiNumeric4CircleOutline","mdiNumeric5","mdiNumeric5Box","mdiNumeric5BoxMultiple","mdiNumeric5BoxMultipleOutline","mdiNumeric5BoxOutline","mdiNumeric5Circle","mdiNumeric5CircleOutline","mdiNumeric6","mdiNumeric6Box","mdiNumeric6BoxMultiple","mdiNumeric6BoxMultipleOutline","mdiNumeric6BoxOutline","mdiNumeric6Circle","mdiNumeric6CircleOutline","mdiNumeric7","mdiNumeric7Box","mdiNumeric7BoxMultiple","mdiNumeric7BoxMultipleOutline","mdiNumeric7BoxOutline","mdiNumeric7Circle","mdiNumeric7CircleOutline","mdiNumeric8","mdiNumeric8Box","mdiNumeric8BoxMultiple","mdiNumeric8BoxMultipleOutline","mdiNumeric8BoxOutline","mdiNumeric8Circle","mdiNumeric8CircleOutline","mdiNumeric9","mdiNumeric9Box","mdiNumeric9BoxMultiple","mdiNumeric9BoxMultipleOutline","mdiNumeric9BoxOutline","mdiNumeric9Circle","mdiNumeric9CircleOutline","mdiNumeric9Plus","mdiNumeric9PlusBox","mdiNumeric9PlusBoxMultiple","mdiNumeric9PlusBoxMultipleOutline","mdiNumeric9PlusBoxOutline","mdiNumeric9PlusCircle","mdiNumeric9PlusCircleOutline","mdiNumericNegative1","mdiNumericOff","mdiNumericPositive1","mdiNut","mdiNutrition","mdiNuxt","mdiOar","mdiOcarina","mdiOci","mdiOcr","mdiOctagon","mdiOctagonOutline","mdiOctagram","mdiOctagramEdit","mdiOctagramEditOutline","mdiOctagramMinus","mdiOctagramMinusOutline","mdiOctagramOutline","mdiOctagramPlus","mdiOctagramPlusOutline","mdiOctahedron","mdiOctahedronOff","mdiOdnoklassniki","mdiOffer","mdiOfficeBuilding","mdiOfficeBuildingCog","mdiOfficeBuildingCogOutline","mdiOfficeBuildingMarker","mdiOfficeBuildingMarkerOutline","mdiOfficeBuildingMinus","mdiOfficeBuildingMinusOutline","mdiOfficeBuildingOutline","mdiOfficeBuildingPlus","mdiOfficeBuildingPlusOutline","mdiOfficeBuildingRemove","mdiOfficeBuildingRemoveOutline","mdiOil","mdiOilLamp","mdiOilLevel","mdiOilTemperature","mdiOm","mdiOmega","mdiOneUp","mdiOnepassword","mdiOpacity","mdiOpenInApp","mdiOpenInNew","mdiOpenSourceInitiative","mdiOpenid","mdiOpera","mdiOrbit","mdiOrbitVariant","mdiOrderAlphabeticalAscending","mdiOrderAlphabeticalDescending","mdiOrderBoolAscending","mdiOrderBoolAscendingVariant","mdiOrderBoolDescending","mdiOrderBoolDescendingVariant","mdiOrderNumericAscending","mdiOrderNumericDescending","mdiOrigin","mdiOrnament","mdiOrnamentVariant","mdiOutdoorLamp","mdiOverscan","mdiOwl","mdiPacMan","mdiPackage","mdiPackageCheck","mdiPackageDown","mdiPackageUp","mdiPackageVariant","mdiPackageVariantClosed","mdiPackageVariantClosedCheck","mdiPackageVariantClosedMinus","mdiPackageVariantClosedPlus","mdiPackageVariantClosedRemove","mdiPackageVariantMinus","mdiPackageVariantPlus","mdiPackageVariantRemove","mdiPageFirst","mdiPageLast","mdiPageLayoutBody","mdiPageLayoutFooter","mdiPageLayoutHeader","mdiPageLayoutHeaderFooter","mdiPageLayoutSidebarLeft","mdiPageLayoutSidebarRight","mdiPageNext","mdiPageNextOutline","mdiPagePrevious","mdiPagePreviousOutline","mdiPail","mdiPailMinus","mdiPailMinusOutline","mdiPailOff","mdiPailOffOutline","mdiPailOutline","mdiPailPlus","mdiPailPlusOutline","mdiPailRemove","mdiPailRemoveOutline","mdiPalette","mdiPaletteAdvanced","mdiPaletteOutline","mdiPaletteSwatch","mdiPaletteSwatchOutline","mdiPaletteSwatchVariant","mdiPalmTree","mdiPan","mdiPanBottomLeft","mdiPanBottomRight","mdiPanDown","mdiPanHorizontal","mdiPanLeft","mdiPanRight","mdiPanTopLeft","mdiPanTopRight","mdiPanUp","mdiPanVertical","mdiPanda","mdiPandora","mdiPanorama","mdiPanoramaFisheye","mdiPanoramaHorizontal","mdiPanoramaHorizontalOutline","mdiPanoramaOutline","mdiPanoramaSphere","mdiPanoramaSphereOutline","mdiPanoramaVariant","mdiPanoramaVariantOutline","mdiPanoramaVertical","mdiPanoramaVerticalOutline","mdiPanoramaWideAngle","mdiPanoramaWideAngleOutline","mdiPaperCutVertical","mdiPaperRoll","mdiPaperRollOutline","mdiPaperclip","mdiPaperclipCheck","mdiPaperclipLock","mdiPaperclipMinus","mdiPaperclipOff","mdiPaperclipPlus","mdiPaperclipRemove","mdiParachute","mdiParachuteOutline","mdiParagliding","mdiParking","mdiPartyPopper","mdiPassport","mdiPassportAlert","mdiPassportBiometric","mdiPassportCancel","mdiPassportCheck","mdiPassportMinus","mdiPassportPlus","mdiPassportRemove","mdiPasta","mdiPatioHeater","mdiPatreon","mdiPause","mdiPauseBox","mdiPauseBoxOutline","mdiPauseCircle","mdiPauseCircleOutline","mdiPauseOctagon","mdiPauseOctagonOutline","mdiPaw","mdiPawOff","mdiPawOffOutline","mdiPawOutline","mdiPeace","mdiPeanut","mdiPeanutOff","mdiPeanutOffOutline","mdiPeanutOutline","mdiPen","mdiPenLock","mdiPenMinus","mdiPenOff","mdiPenPlus","mdiPenRemove","mdiPencil","mdiPencilBox","mdiPencilBoxMultiple","mdiPencilBoxMultipleOutline","mdiPencilBoxOutline","mdiPencilCircle","mdiPencilCircleOutline","mdiPencilLock","mdiPencilLockOutline","mdiPencilMinus","mdiPencilMinusOutline","mdiPencilOff","mdiPencilOffOutline","mdiPencilOutline","mdiPencilPlus","mdiPencilPlusOutline","mdiPencilRemove","mdiPencilRemoveOutline","mdiPencilRuler","mdiPencilRulerOutline","mdiPenguin","mdiPentagon","mdiPentagonOutline","mdiPentagram","mdiPercent","mdiPercentBox","mdiPercentBoxOutline","mdiPercentCircle","mdiPercentCircleOutline","mdiPercentOutline","mdiPeriodicTable","mdiPerspectiveLess","mdiPerspectiveMore","mdiPh","mdiPhone","mdiPhoneAlert","mdiPhoneAlertOutline","mdiPhoneBluetooth","mdiPhoneBluetoothOutline","mdiPhoneCancel","mdiPhoneCancelOutline","mdiPhoneCheck","mdiPhoneCheckOutline","mdiPhoneClassic","mdiPhoneClassicOff","mdiPhoneClock","mdiPhoneDial","mdiPhoneDialOutline","mdiPhoneForward","mdiPhoneForwardOutline","mdiPhoneHangup","mdiPhoneHangupOutline","mdiPhoneInTalk","mdiPhoneInTalkOutline","mdiPhoneIncoming","mdiPhoneIncomingOutgoing","mdiPhoneIncomingOutgoingOutline","mdiPhoneIncomingOutline","mdiPhoneLock","mdiPhoneLockOutline","mdiPhoneLog","mdiPhoneLogOutline","mdiPhoneMessage","mdiPhoneMessageOutline","mdiPhoneMinus","mdiPhoneMinusOutline","mdiPhoneMissed","mdiPhoneMissedOutline","mdiPhoneOff","mdiPhoneOffOutline","mdiPhoneOutgoing","mdiPhoneOutgoingOutline","mdiPhoneOutline","mdiPhonePaused","mdiPhonePausedOutline","mdiPhonePlus","mdiPhonePlusOutline","mdiPhoneRefresh","mdiPhoneRefreshOutline","mdiPhoneRemove","mdiPhoneRemoveOutline","mdiPhoneReturn","mdiPhoneReturnOutline","mdiPhoneRing","mdiPhoneRingOutline","mdiPhoneRotateLandscape","mdiPhoneRotatePortrait","mdiPhoneSettings","mdiPhoneSettingsOutline","mdiPhoneSync","mdiPhoneSyncOutline","mdiPhoneVoip","mdiPi","mdiPiBox","mdiPiHole","mdiPiano","mdiPianoOff","mdiPickaxe","mdiPictureInPictureBottomRight","mdiPictureInPictureBottomRightOutline","mdiPictureInPictureTopRight","mdiPictureInPictureTopRightOutline","mdiPier","mdiPierCrane","mdiPig","mdiPigVariant","mdiPigVariantOutline","mdiPiggyBank","mdiPiggyBankOutline","mdiPill","mdiPillMultiple","mdiPillOff","mdiPillar","mdiPin","mdiPinOff","mdiPinOffOutline","mdiPinOutline","mdiPineTree","mdiPineTreeBox","mdiPineTreeFire","mdiPineTreeVariant","mdiPineTreeVariantOutline","mdiPinterest","mdiPinwheel","mdiPinwheelOutline","mdiPipe","mdiPipeDisconnected","mdiPipeLeak","mdiPipeValve","mdiPipeWrench","mdiPirate","mdiPistol","mdiPiston","mdiPitchfork","mdiPizza","mdiPlaneCar","mdiPlaneTrain","mdiPlay","mdiPlayBox","mdiPlayBoxEditOutline","mdiPlayBoxLock","mdiPlayBoxLockOpen","mdiPlayBoxLockOpenOutline","mdiPlayBoxLockOutline","mdiPlayBoxMultiple","mdiPlayBoxMultipleOutline","mdiPlayBoxOutline","mdiPlayCircle","mdiPlayCircleOutline","mdiPlayNetwork","mdiPlayNetworkOutline","mdiPlayOutline","mdiPlayPause","mdiPlayProtectedContent","mdiPlaySpeed","mdiPlaylistCheck","mdiPlaylistEdit","mdiPlaylistMinus","mdiPlaylistMusic","mdiPlaylistMusicOutline","mdiPlaylistPlay","mdiPlaylistPlus","mdiPlaylistRemove","mdiPlaylistStar","mdiPlex","mdiPliers","mdiPlus","mdiPlusBox","mdiPlusBoxMultiple","mdiPlusBoxMultipleOutline","mdiPlusBoxOutline","mdiPlusCircle","mdiPlusCircleMultiple","mdiPlusCircleMultipleOutline","mdiPlusCircleOutline","mdiPlusLock","mdiPlusLockOpen","mdiPlusMinus","mdiPlusMinusBox","mdiPlusMinusVariant","mdiPlusNetwork","mdiPlusNetworkOutline","mdiPlusOutline","mdiPlusThick","mdiPocket","mdiPodcast","mdiPodium","mdiPodiumBronze","mdiPodiumGold","mdiPodiumSilver","mdiPointOfSale","mdiPokeball","mdiPokemonGo","mdiPokerChip","mdiPolaroid","mdiPoliceBadge","mdiPoliceBadgeOutline","mdiPoliceStation","mdiPoll","mdiPolo","mdiPolymer","mdiPool","mdiPoolThermometer","mdiPopcorn","mdiPost","mdiPostLamp","mdiPostOutline","mdiPostageStamp","mdiPot","mdiPotMix","mdiPotMixOutline","mdiPotOutline","mdiPotSteam","mdiPotSteamOutline","mdiPound","mdiPoundBox","mdiPoundBoxOutline","mdiPower","mdiPowerCycle","mdiPowerOff","mdiPowerOn","mdiPowerPlug","mdiPowerPlugBattery","mdiPowerPlugBatteryOutline","mdiPowerPlugOff","mdiPowerPlugOffOutline","mdiPowerPlugOutline","mdiPowerSettings","mdiPowerSleep","mdiPowerSocket","mdiPowerSocketAu","mdiPowerSocketCh","mdiPowerSocketDe","mdiPowerSocketEu","mdiPowerSocketFr","mdiPowerSocketIt","mdiPowerSocketJp","mdiPowerSocketUk","mdiPowerSocketUs","mdiPowerStandby","mdiPowershell","mdiPrescription","mdiPresentation","mdiPresentationPlay","mdiPretzel","mdiPrinter","mdiPrinter3d","mdiPrinter3dNozzle","mdiPrinter3dNozzleAlert","mdiPrinter3dNozzleAlertOutline","mdiPrinter3dNozzleHeat","mdiPrinter3dNozzleHeatOutline","mdiPrinter3dNozzleOff","mdiPrinter3dNozzleOffOutline","mdiPrinter3dNozzleOutline","mdiPrinter3dOff","mdiPrinterAlert","mdiPrinterCheck","mdiPrinterEye","mdiPrinterOff","mdiPrinterOffOutline","mdiPrinterOutline","mdiPrinterPos","mdiPrinterPosAlert","mdiPrinterPosAlertOutline","mdiPrinterPosCancel","mdiPrinterPosCancelOutline","mdiPrinterPosCheck","mdiPrinterPosCheckOutline","mdiPrinterPosCog","mdiPrinterPosCogOutline","mdiPrinterPosEdit","mdiPrinterPosEditOutline","mdiPrinterPosMinus","mdiPrinterPosMinusOutline","mdiPrinterPosNetwork","mdiPrinterPosNetworkOutline","mdiPrinterPosOff","mdiPrinterPosOffOutline","mdiPrinterPosOutline","mdiPrinterPosPause","mdiPrinterPosPauseOutline","mdiPrinterPosPlay","mdiPrinterPosPlayOutline","mdiPrinterPosPlus","mdiPrinterPosPlusOutline","mdiPrinterPosRefresh","mdiPrinterPosRefreshOutline","mdiPrinterPosRemove","mdiPrinterPosRemoveOutline","mdiPrinterPosStar","mdiPrinterPosStarOutline","mdiPrinterPosStop","mdiPrinterPosStopOutline","mdiPrinterPosSync","mdiPrinterPosSyncOutline","mdiPrinterPosWrench","mdiPrinterPosWrenchOutline","mdiPrinterSearch","mdiPrinterSettings","mdiPrinterWireless","mdiPriorityHigh","mdiPriorityLow","mdiProfessionalHexagon","mdiProgressAlert","mdiProgressCheck","mdiProgressClock","mdiProgressClose","mdiProgressDownload","mdiProgressHelper","mdiProgressPencil","mdiProgressQuestion","mdiProgressStar","mdiProgressStarFourPoints","mdiProgressUpload","mdiProgressWrench","mdiProjector","mdiProjectorOff","mdiProjectorScreen","mdiProjectorScreenOff","mdiProjectorScreenOffOutline","mdiProjectorScreenOutline","mdiProjectorScreenVariant","mdiProjectorScreenVariantOff","mdiProjectorScreenVariantOffOutline","mdiProjectorScreenVariantOutline","mdiPropaneTank","mdiPropaneTankOutline","mdiProtocol","mdiPublish","mdiPublishOff","mdiPulse","mdiPump","mdiPumpOff","mdiPumpkin","mdiPurse","mdiPurseOutline","mdiPuzzle","mdiPuzzleCheck","mdiPuzzleCheckOutline","mdiPuzzleEdit","mdiPuzzleEditOutline","mdiPuzzleHeart","mdiPuzzleHeartOutline","mdiPuzzleMinus","mdiPuzzleMinusOutline","mdiPuzzleOutline","mdiPuzzlePlus","mdiPuzzlePlusOutline","mdiPuzzleRemove","mdiPuzzleRemoveOutline","mdiPuzzleStar","mdiPuzzleStarOutline","mdiPyramid","mdiPyramidOff","mdiQi","mdiQqchat","mdiQrcode","mdiQrcodeEdit","mdiQrcodeMinus","mdiQrcodePlus","mdiQrcodeRemove","mdiQrcodeScan","mdiQuadcopter","mdiQualityHigh","mdiQualityLow","mdiQualityMedium","mdiQueueFirstInLastOut","mdiQuora","mdiRabbit","mdiRabbitVariant","mdiRabbitVariantOutline","mdiRacingHelmet","mdiRacquetball","mdiRadar","mdiRadiator","mdiRadiatorDisabled","mdiRadiatorOff","mdiRadio","mdiRadioAm","mdiRadioFm","mdiRadioHandheld","mdiRadioOff","mdiRadioTower","mdiRadioactive","mdiRadioactiveCircle","mdiRadioactiveCircleOutline","mdiRadioactiveOff","mdiRadioboxBlank","mdiRadioboxIndeterminateVariant","mdiRadioboxMarked","mdiRadiologyBox","mdiRadiologyBoxOutline","mdiRadius","mdiRadiusOutline","mdiRailroadLight","mdiRake","mdiRaspberryPi","mdiRaw","mdiRawOff","mdiRayEnd","mdiRayEndArrow","mdiRayStart","mdiRayStartArrow","mdiRayStartEnd","mdiRayStartVertexEnd","mdiRayVertex","mdiRazorDoubleEdge","mdiRazorSingleEdge","mdiReact","mdiRead","mdiReceipt","mdiReceiptClock","mdiReceiptClockOutline","mdiReceiptOutline","mdiReceiptSend","mdiReceiptSendOutline","mdiReceiptText","mdiReceiptTextArrowLeft","mdiReceiptTextArrowLeftOutline","mdiReceiptTextArrowRight","mdiReceiptTextArrowRightOutline","mdiReceiptTextCheck","mdiReceiptTextCheckOutline","mdiReceiptTextClock","mdiReceiptTextClockOutline","mdiReceiptTextEdit","mdiReceiptTextEditOutline","mdiReceiptTextMinus","mdiReceiptTextMinusOutline","mdiReceiptTextOutline","mdiReceiptTextPlus","mdiReceiptTextPlusOutline","mdiReceiptTextRemove","mdiReceiptTextRemoveOutline","mdiReceiptTextSend","mdiReceiptTextSendOutline","mdiRecord","mdiRecordCircle","mdiRecordCircleOutline","mdiRecordPlayer","mdiRecordRec","mdiRectangle","mdiRectangleOutline","mdiRecycle","mdiRecycleVariant","mdiReddit","mdiRedhat","mdiRedo","mdiRedoVariant","mdiReflectHorizontal","mdiReflectVertical","mdiRefresh","mdiRefreshAuto","mdiRefreshCircle","mdiRegex","mdiRegisteredTrademark","mdiReiterate","mdiRelationManyToMany","mdiRelationManyToOne","mdiRelationManyToOneOrMany","mdiRelationManyToOnlyOne","mdiRelationManyToZeroOrMany","mdiRelationManyToZeroOrOne","mdiRelationOneOrManyToMany","mdiRelationOneOrManyToOne","mdiRelationOneOrManyToOneOrMany","mdiRelationOneOrManyToOnlyOne","mdiRelationOneOrManyToZeroOrMany","mdiRelationOneOrManyToZeroOrOne","mdiRelationOneToMany","mdiRelationOneToOne","mdiRelationOneToOneOrMany","mdiRelationOneToOnlyOne","mdiRelationOneToZeroOrMany","mdiRelationOneToZeroOrOne","mdiRelationOnlyOneToMany","mdiRelationOnlyOneToOne","mdiRelationOnlyOneToOneOrMany","mdiRelationOnlyOneToOnlyOne","mdiRelationOnlyOneToZeroOrMany","mdiRelationOnlyOneToZeroOrOne","mdiRelationZeroOrManyToMany","mdiRelationZeroOrManyToOne","mdiRelationZeroOrManyToOneOrMany","mdiRelationZeroOrManyToOnlyOne","mdiRelationZeroOrManyToZeroOrMany","mdiRelationZeroOrManyToZeroOrOne","mdiRelationZeroOrOneToMany","mdiRelationZeroOrOneToOne","mdiRelationZeroOrOneToOneOrMany","mdiRelationZeroOrOneToOnlyOne","mdiRelationZeroOrOneToZeroOrMany","mdiRelationZeroOrOneToZeroOrOne","mdiRelativeScale","mdiReload","mdiReloadAlert","mdiReminder","mdiRemote","mdiRemoteDesktop","mdiRemoteOff","mdiRemoteTv","mdiRemoteTvOff","mdiRename","mdiRenameBox","mdiRenameBoxOutline","mdiRenameOutline","mdiReorderHorizontal","mdiReorderVertical","mdiRepeat","mdiRepeatOff","mdiRepeatOnce","mdiRepeatVariant","mdiReplay","mdiReply","mdiReplyAll","mdiReplyAllOutline","mdiReplyCircle","mdiReplyOutline","mdiReproduction","mdiResistor","mdiResistorNodes","mdiResize","mdiResizeBottomRight","mdiResponsive","mdiRestart","mdiRestartAlert","mdiRestartOff","mdiRestore","mdiRestoreAlert","mdiRewind","mdiRewind10","mdiRewind15","mdiRewind30","mdiRewind45","mdiRewind5","mdiRewind60","mdiRewindOutline","mdiRhombus","mdiRhombusMedium","mdiRhombusMediumOutline","mdiRhombusOutline","mdiRhombusSplit","mdiRhombusSplitOutline","mdiRibbon","mdiRice","mdiRickshaw","mdiRickshawElectric","mdiRing","mdiRivet","mdiRoad","mdiRoadVariant","mdiRobber","mdiRobot","mdiRobotAngry","mdiRobotAngryOutline","mdiRobotConfused","mdiRobotConfusedOutline","mdiRobotDead","mdiRobotDeadOutline","mdiRobotExcited","mdiRobotExcitedOutline","mdiRobotHappy","mdiRobotHappyOutline","mdiRobotIndustrial","mdiRobotIndustrialOutline","mdiRobotLove","mdiRobotLoveOutline","mdiRobotMower","mdiRobotMowerOutline","mdiRobotOff","mdiRobotOffOutline","mdiRobotOutline","mdiRobotVacuum","mdiRobotVacuumAlert","mdiRobotVacuumOff","mdiRobotVacuumVariant","mdiRobotVacuumVariantAlert","mdiRobotVacuumVariantOff","mdiRocket","mdiRocketLaunch","mdiRocketLaunchOutline","mdiRocketOutline","mdiRodent","mdiRollerShade","mdiRollerShadeClosed","mdiRollerSkate","mdiRollerSkateOff","mdiRollerblade","mdiRollerbladeOff","mdiRollupjs","mdiRolodex","mdiRolodexOutline","mdiRomanNumeral1","mdiRomanNumeral10","mdiRomanNumeral2","mdiRomanNumeral3","mdiRomanNumeral4","mdiRomanNumeral5","mdiRomanNumeral6","mdiRomanNumeral7","mdiRomanNumeral8","mdiRomanNumeral9","mdiRoomService","mdiRoomServiceOutline","mdiRotate360","mdiRotate3d","mdiRotate3dVariant","mdiRotateLeft","mdiRotateLeftVariant","mdiRotateOrbit","mdiRotateRight","mdiRotateRightVariant","mdiRoundedCorner","mdiRouter","mdiRouterNetwork","mdiRouterNetworkWireless","mdiRouterWireless","mdiRouterWirelessOff","mdiRouterWirelessSettings","mdiRoutes","mdiRoutesClock","mdiRowing","mdiRss","mdiRssBox","mdiRssOff","mdiRug","mdiRugby","mdiRuler","mdiRulerSquare","mdiRulerSquareCompass","mdiRun","mdiRunFast","mdiRvTruck","mdiSack","mdiSackOutline","mdiSackPercent","mdiSafe","mdiSafeSquare","mdiSafeSquareOutline","mdiSafetyGoggles","mdiSailBoat","mdiSailBoatSink","mdiSale","mdiSaleOutline","mdiSalesforce","mdiSass","mdiSatellite","mdiSatelliteUplink","mdiSatelliteVariant","mdiSausage","mdiSausageOff","mdiSawBlade","mdiSawtoothWave","mdiSaxophone","mdiScale","mdiScaleBalance","mdiScaleBathroom","mdiScaleOff","mdiScaleUnbalanced","mdiScanHelper","mdiScanner","mdiScannerOff","mdiScatterPlot","mdiScatterPlotOutline","mdiScent","mdiScentOff","mdiSchool","mdiSchoolOutline","mdiScissorsCutting","mdiScooter","mdiScooterElectric","mdiScoreboard","mdiScoreboardOutline","mdiScreenRotation","mdiScreenRotationLock","mdiScrewFlatTop","mdiScrewLag","mdiScrewMachineFlatTop","mdiScrewMachineRoundTop","mdiScrewRoundTop","mdiScrewdriver","mdiScript","mdiScriptOutline","mdiScriptText","mdiScriptTextKey","mdiScriptTextKeyOutline","mdiScriptTextOutline","mdiScriptTextPlay","mdiScriptTextPlayOutline","mdiSd","mdiSeal","mdiSealVariant","mdiSearchWeb","mdiSeat","mdiSeatFlat","mdiSeatFlatAngled","mdiSeatIndividualSuite","mdiSeatLegroomExtra","mdiSeatLegroomNormal","mdiSeatLegroomReduced","mdiSeatOutline","mdiSeatPassenger","mdiSeatReclineExtra","mdiSeatReclineNormal","mdiSeatbelt","mdiSecurity","mdiSecurityNetwork","mdiSeed","mdiSeedOff","mdiSeedOffOutline","mdiSeedOutline","mdiSeedPlus","mdiSeedPlusOutline","mdiSeesaw","mdiSegment","mdiSelect","mdiSelectAll","mdiSelectArrowDown","mdiSelectArrowUp","mdiSelectColor","mdiSelectCompare","mdiSelectDrag","mdiSelectGroup","mdiSelectInverse","mdiSelectMarker","mdiSelectMultiple","mdiSelectMultipleMarker","mdiSelectOff","mdiSelectPlace","mdiSelectRemove","mdiSelectSearch","mdiSelection","mdiSelectionDrag","mdiSelectionEllipse","mdiSelectionEllipseArrowInside","mdiSelectionEllipseRemove","mdiSelectionMarker","mdiSelectionMultiple","mdiSelectionMultipleMarker","mdiSelectionOff","mdiSelectionRemove","mdiSelectionSearch","mdiSemanticWeb","mdiSend","mdiSendCheck","mdiSendCheckOutline","mdiSendCircle","mdiSendCircleOutline","mdiSendClock","mdiSendClockOutline","mdiSendLock","mdiSendLockOutline","mdiSendOutline","mdiSendVariant","mdiSendVariantClock","mdiSendVariantClockOutline","mdiSendVariantOutline","mdiSerialPort","mdiServer","mdiServerMinus","mdiServerMinusOutline","mdiServerNetwork","mdiServerNetworkOff","mdiServerNetworkOutline","mdiServerOff","mdiServerOutline","mdiServerPlus","mdiServerPlusOutline","mdiServerRemove","mdiServerSecurity","mdiSetAll","mdiSetCenter","mdiSetCenterRight","mdiSetLeft","mdiSetLeftCenter","mdiSetLeftRight","mdiSetMerge","mdiSetNone","mdiSetRight","mdiSetSplit","mdiSetSquare","mdiSetTopBox","mdiSettingsHelper","mdiShaker","mdiShakerOutline","mdiShape","mdiShapeCirclePlus","mdiShapeOutline","mdiShapeOvalPlus","mdiShapePlus","mdiShapePlusOutline","mdiShapePolygonPlus","mdiShapeRectanglePlus","mdiShapeSquarePlus","mdiShapeSquareRoundedPlus","mdiShare","mdiShareAll","mdiShareAllOutline","mdiShareCircle","mdiShareOff","mdiShareOffOutline","mdiShareOutline","mdiShareVariant","mdiShareVariantOutline","mdiShark","mdiSharkFin","mdiSharkFinOutline","mdiSharkOff","mdiSheep","mdiShield","mdiShieldAccount","mdiShieldAccountOutline","mdiShieldAccountVariant","mdiShieldAccountVariantOutline","mdiShieldAirplane","mdiShieldAirplaneOutline","mdiShieldAlert","mdiShieldAlertOutline","mdiShieldBug","mdiShieldBugOutline","mdiShieldCar","mdiShieldCheck","mdiShieldCheckOutline","mdiShieldCross","mdiShieldCrossOutline","mdiShieldCrown","mdiShieldCrownOutline","mdiShieldEdit","mdiShieldEditOutline","mdiShieldHalf","mdiShieldHalfFull","mdiShieldHome","mdiShieldHomeOutline","mdiShieldKey","mdiShieldKeyOutline","mdiShieldLinkVariant","mdiShieldLinkVariantOutline","mdiShieldLock","mdiShieldLockOpen","mdiShieldLockOpenOutline","mdiShieldLockOutline","mdiShieldMoon","mdiShieldMoonOutline","mdiShieldOff","mdiShieldOffOutline","mdiShieldOutline","mdiShieldPlus","mdiShieldPlusOutline","mdiShieldRefresh","mdiShieldRefreshOutline","mdiShieldRemove","mdiShieldRemoveOutline","mdiShieldSearch","mdiShieldStar","mdiShieldStarOutline","mdiShieldSun","mdiShieldSunOutline","mdiShieldSword","mdiShieldSwordOutline","mdiShieldSync","mdiShieldSyncOutline","mdiShimmer","mdiShipWheel","mdiShippingPallet","mdiShoeBallet","mdiShoeCleat","mdiShoeFormal","mdiShoeHeel","mdiShoePrint","mdiShoeSneaker","mdiShopping","mdiShoppingMusic","mdiShoppingOutline","mdiShoppingSearch","mdiShoppingSearchOutline","mdiShore","mdiShovel","mdiShovelOff","mdiShower","mdiShowerHead","mdiShredder","mdiShuffle","mdiShuffleDisabled","mdiShuffleVariant","mdiShuriken","mdiSickle","mdiSigma","mdiSigmaLower","mdiSignCaution","mdiSignDirection","mdiSignDirectionMinus","mdiSignDirectionPlus","mdiSignDirectionRemove","mdiSignLanguage","mdiSignLanguageOutline","mdiSignPole","mdiSignRealEstate","mdiSignText","mdiSignYield","mdiSignal","mdiSignal2g","mdiSignal3g","mdiSignal4g","mdiSignal5g","mdiSignalCellular1","mdiSignalCellular2","mdiSignalCellular3","mdiSignalCellularOutline","mdiSignalDistanceVariant","mdiSignalHspa","mdiSignalHspaPlus","mdiSignalOff","mdiSignalVariant","mdiSignature","mdiSignatureFreehand","mdiSignatureImage","mdiSignatureText","mdiSilo","mdiSiloOutline","mdiSilverware","mdiSilverwareClean","mdiSilverwareFork","mdiSilverwareForkKnife","mdiSilverwareSpoon","mdiSilverwareVariant","mdiSim","mdiSimAlert","mdiSimAlertOutline","mdiSimOff","mdiSimOffOutline","mdiSimOutline","mdiSimpleIcons","mdiSinaWeibo","mdiSineWave","mdiSitemap","mdiSitemapOutline","mdiSizeL","mdiSizeM","mdiSizeS","mdiSizeXl","mdiSizeXs","mdiSizeXxl","mdiSizeXxs","mdiSizeXxxl","mdiSkate","mdiSkateOff","mdiSkateboard","mdiSkateboarding","mdiSkewLess","mdiSkewMore","mdiSki","mdiSkiCrossCountry","mdiSkiWater","mdiSkipBackward","mdiSkipBackwardOutline","mdiSkipForward","mdiSkipForwardOutline","mdiSkipNext","mdiSkipNextCircle","mdiSkipNextCircleOutline","mdiSkipNextOutline","mdiSkipPrevious","mdiSkipPreviousCircle","mdiSkipPreviousCircleOutline","mdiSkipPreviousOutline","mdiSkull","mdiSkullCrossbones","mdiSkullCrossbonesOutline","mdiSkullOutline","mdiSkullScan","mdiSkullScanOutline","mdiSkype","mdiSkypeBusiness","mdiSlack","mdiSlashForward","mdiSlashForwardBox","mdiSledding","mdiSleep","mdiSleepOff","mdiSlide","mdiSlopeDownhill","mdiSlopeUphill","mdiSlotMachine","mdiSlotMachineOutline","mdiSmartCard","mdiSmartCardOff","mdiSmartCardOffOutline","mdiSmartCardOutline","mdiSmartCardReader","mdiSmartCardReaderOutline","mdiSmog","mdiSmoke","mdiSmokeDetector","mdiSmokeDetectorAlert","mdiSmokeDetectorAlertOutline","mdiSmokeDetectorOff","mdiSmokeDetectorOffOutline","mdiSmokeDetectorOutline","mdiSmokeDetectorVariant","mdiSmokeDetectorVariantAlert","mdiSmokeDetectorVariantOff","mdiSmoking","mdiSmokingOff","mdiSmokingPipe","mdiSmokingPipeOff","mdiSnail","mdiSnake","mdiSnapchat","mdiSnowboard","mdiSnowflake","mdiSnowflakeAlert","mdiSnowflakeCheck","mdiSnowflakeMelt","mdiSnowflakeOff","mdiSnowflakeThermometer","mdiSnowflakeVariant","mdiSnowman","mdiSnowmobile","mdiSnowshoeing","mdiSoccer","mdiSoccerField","mdiSocialDistance2Meters","mdiSocialDistance6Feet","mdiSofa","mdiSofaOutline","mdiSofaSingle","mdiSofaSingleOutline","mdiSolarPanel","mdiSolarPanelLarge","mdiSolarPower","mdiSolarPowerVariant","mdiSolarPowerVariantOutline","mdiSolderingIron","mdiSolid","mdiSonyPlaystation","mdiSort","mdiSortAlphabeticalAscending","mdiSortAlphabeticalAscendingVariant","mdiSortAlphabeticalDescending","mdiSortAlphabeticalDescendingVariant","mdiSortAlphabeticalVariant","mdiSortAscending","mdiSortBoolAscending","mdiSortBoolAscendingVariant","mdiSortBoolDescending","mdiSortBoolDescendingVariant","mdiSortCalendarAscending","mdiSortCalendarDescending","mdiSortClockAscending","mdiSortClockAscendingOutline","mdiSortClockDescending","mdiSortClockDescendingOutline","mdiSortDescending","mdiSortNumericAscending","mdiSortNumericAscendingVariant","mdiSortNumericDescending","mdiSortNumericDescendingVariant","mdiSortNumericVariant","mdiSortReverseVariant","mdiSortVariant","mdiSortVariantLock","mdiSortVariantLockOpen","mdiSortVariantOff","mdiSortVariantRemove","mdiSoundbar","mdiSoundcloud","mdiSourceBranch","mdiSourceBranchCheck","mdiSourceBranchMinus","mdiSourceBranchPlus","mdiSourceBranchRefresh","mdiSourceBranchRemove","mdiSourceBranchSync","mdiSourceCommit","mdiSourceCommitEnd","mdiSourceCommitEndLocal","mdiSourceCommitLocal","mdiSourceCommitNextLocal","mdiSourceCommitStart","mdiSourceCommitStartNextLocal","mdiSourceFork","mdiSourceMerge","mdiSourcePull","mdiSourceRepository","mdiSourceRepositoryMultiple","mdiSoySauce","mdiSoySauceOff","mdiSpa","mdiSpaOutline","mdiSpaceInvaders","mdiSpaceStation","mdiSpade","mdiSpeaker","mdiSpeakerBluetooth","mdiSpeakerMessage","mdiSpeakerMultiple","mdiSpeakerOff","mdiSpeakerPause","mdiSpeakerPlay","mdiSpeakerStop","mdiSpeakerWireless","mdiSpear","mdiSpeedometer","mdiSpeedometerMedium","mdiSpeedometerSlow","mdiSpellcheck","mdiSphere","mdiSphereOff","mdiSpider","mdiSpiderOutline","mdiSpiderThread","mdiSpiderWeb","mdiSpiritLevel","mdiSpoonSugar","mdiSpotify","mdiSpotlight","mdiSpotlightBeam","mdiSpray","mdiSprayBottle","mdiSprinkler","mdiSprinklerFire","mdiSprinklerVariant","mdiSprout","mdiSproutOutline","mdiSquare","mdiSquareCircle","mdiSquareCircleOutline","mdiSquareEditOutline","mdiSquareMedium","mdiSquareMediumOutline","mdiSquareOff","mdiSquareOffOutline","mdiSquareOpacity","mdiSquareOutline","mdiSquareRoot","mdiSquareRootBox","mdiSquareRounded","mdiSquareRoundedBadge","mdiSquareRoundedBadgeOutline","mdiSquareRoundedOutline","mdiSquareSmall","mdiSquareWave","mdiSqueegee","mdiSsh","mdiStackExchange","mdiStackOverflow","mdiStackpath","mdiStadium","mdiStadiumOutline","mdiStadiumVariant","mdiStairs","mdiStairsBox","mdiStairsDown","mdiStairsUp","mdiStamper","mdiStandardDefinition","mdiStar","mdiStarBox","mdiStarBoxMultiple","mdiStarBoxMultipleOutline","mdiStarBoxOutline","mdiStarCheck","mdiStarCheckOutline","mdiStarCircle","mdiStarCircleOutline","mdiStarCog","mdiStarCogOutline","mdiStarCrescent","mdiStarDavid","mdiStarFace","mdiStarFourPoints","mdiStarFourPointsBox","mdiStarFourPointsBoxOutline","mdiStarFourPointsCircle","mdiStarFourPointsCircleOutline","mdiStarFourPointsOutline","mdiStarFourPointsSmall","mdiStarHalf","mdiStarHalfFull","mdiStarMinus","mdiStarMinusOutline","mdiStarOff","mdiStarOffOutline","mdiStarOutline","mdiStarPlus","mdiStarPlusOutline","mdiStarRemove","mdiStarRemoveOutline","mdiStarSettings","mdiStarSettingsOutline","mdiStarShooting","mdiStarShootingOutline","mdiStarThreePoints","mdiStarThreePointsOutline","mdiStateMachine","mdiSteam","mdiSteering","mdiSteeringOff","mdiStepBackward","mdiStepBackward2","mdiStepForward","mdiStepForward2","mdiStethoscope","mdiSticker","mdiStickerAlert","mdiStickerAlertOutline","mdiStickerCheck","mdiStickerCheckOutline","mdiStickerCircleOutline","mdiStickerEmoji","mdiStickerMinus","mdiStickerMinusOutline","mdiStickerOutline","mdiStickerPlus","mdiStickerPlusOutline","mdiStickerRemove","mdiStickerRemoveOutline","mdiStickerText","mdiStickerTextOutline","mdiStocking","mdiStomach","mdiStool","mdiStoolOutline","mdiStop","mdiStopCircle","mdiStopCircleOutline","mdiStorageTank","mdiStorageTankOutline","mdiStore","mdiStore24Hour","mdiStoreAlert","mdiStoreAlertOutline","mdiStoreCheck","mdiStoreCheckOutline","mdiStoreClock","mdiStoreClockOutline","mdiStoreCog","mdiStoreCogOutline","mdiStoreEdit","mdiStoreEditOutline","mdiStoreMarker","mdiStoreMarkerOutline","mdiStoreMinus","mdiStoreMinusOutline","mdiStoreOff","mdiStoreOffOutline","mdiStoreOutline","mdiStorePlus","mdiStorePlusOutline","mdiStoreRemove","mdiStoreRemoveOutline","mdiStoreSearch","mdiStoreSearchOutline","mdiStoreSettings","mdiStoreSettingsOutline","mdiStorefront","mdiStorefrontCheck","mdiStorefrontCheckOutline","mdiStorefrontEdit","mdiStorefrontEditOutline","mdiStorefrontMinus","mdiStorefrontMinusOutline","mdiStorefrontOutline","mdiStorefrontPlus","mdiStorefrontPlusOutline","mdiStorefrontRemove","mdiStorefrontRemoveOutline","mdiStove","mdiStrategy","mdiStretchToPage","mdiStretchToPageOutline","mdiStringLights","mdiStringLightsOff","mdiSubdirectoryArrowLeft","mdiSubdirectoryArrowRight","mdiSubmarine","mdiSubtitles","mdiSubtitlesOutline","mdiSubway","mdiSubwayAlertVariant","mdiSubwayVariant","mdiSummit","mdiSunAngle","mdiSunAngleOutline","mdiSunClock","mdiSunClockOutline","mdiSunCompass","mdiSunSnowflake","mdiSunSnowflakeVariant","mdiSunThermometer","mdiSunThermometerOutline","mdiSunWireless","mdiSunWirelessOutline","mdiSunglasses","mdiSurfing","mdiSurroundSound","mdiSurroundSound20","mdiSurroundSound21","mdiSurroundSound31","mdiSurroundSound51","mdiSurroundSound512","mdiSurroundSound71","mdiSvg","mdiSwapHorizontal","mdiSwapHorizontalBold","mdiSwapHorizontalCircle","mdiSwapHorizontalCircleOutline","mdiSwapHorizontalVariant","mdiSwapVertical","mdiSwapVerticalBold","mdiSwapVerticalCircle","mdiSwapVerticalCircleOutline","mdiSwapVerticalVariant","mdiSwim","mdiSwitch","mdiSword","mdiSwordCross","mdiSyllabaryHangul","mdiSyllabaryHiragana","mdiSyllabaryKatakana","mdiSyllabaryKatakanaHalfwidth","mdiSymbol","mdiSymfony","mdiSynagogue","mdiSynagogueOutline","mdiSync","mdiSyncAlert","mdiSyncCircle","mdiSyncOff","mdiTab","mdiTabMinus","mdiTabPlus","mdiTabRemove","mdiTabSearch","mdiTabUnselected","mdiTable","mdiTableAccount","mdiTableAlert","mdiTableArrowDown","mdiTableArrowLeft","mdiTableArrowRight","mdiTableArrowUp","mdiTableBorder","mdiTableCancel","mdiTableChair","mdiTableCheck","mdiTableClock","mdiTableCog","mdiTableColumn","mdiTableColumnPlusAfter","mdiTableColumnPlusBefore","mdiTableColumnRemove","mdiTableColumnWidth","mdiTableEdit","mdiTableEye","mdiTableEyeOff","mdiTableFilter","mdiTableFurniture","mdiTableHeadersEye","mdiTableHeadersEyeOff","mdiTableHeart","mdiTableKey","mdiTableLarge","mdiTableLargePlus","mdiTableLargeRemove","mdiTableLock","mdiTableMergeCells","mdiTableMinus","mdiTableMultiple","mdiTableNetwork","mdiTableOfContents","mdiTableOff","mdiTablePicnic","mdiTablePivot","mdiTablePlus","mdiTableQuestion","mdiTableRefresh","mdiTableRemove","mdiTableRow","mdiTableRowHeight","mdiTableRowPlusAfter","mdiTableRowPlusBefore","mdiTableRowRemove","mdiTableSearch","mdiTableSettings","mdiTableSplitCell","mdiTableStar","mdiTableSync","mdiTableTennis","mdiTablet","mdiTabletCellphone","mdiTabletDashboard","mdiTaco","mdiTag","mdiTagArrowDown","mdiTagArrowDownOutline","mdiTagArrowLeft","mdiTagArrowLeftOutline","mdiTagArrowRight","mdiTagArrowRightOutline","mdiTagArrowUp","mdiTagArrowUpOutline","mdiTagCheck","mdiTagCheckOutline","mdiTagEdit","mdiTagEditOutline","mdiTagFaces","mdiTagHeart","mdiTagHeartOutline","mdiTagHidden","mdiTagMinus","mdiTagMinusOutline","mdiTagMultiple","mdiTagMultipleOutline","mdiTagOff","mdiTagOffOutline","mdiTagOutline","mdiTagPlus","mdiTagPlusOutline","mdiTagRemove","mdiTagRemoveOutline","mdiTagSearch","mdiTagSearchOutline","mdiTagText","mdiTagTextOutline","mdiTailwind","mdiTallyMark1","mdiTallyMark2","mdiTallyMark3","mdiTallyMark4","mdiTallyMark5","mdiTangram","mdiTank","mdiTankerTruck","mdiTapeDrive","mdiTapeMeasure","mdiTarget","mdiTargetAccount","mdiTargetVariant","mdiTaxi","mdiTea","mdiTeaOutline","mdiTeamviewer","mdiTeddyBear","mdiTelescope","mdiTelevision","mdiTelevisionAmbientLight","mdiTelevisionBox","mdiTelevisionClassic","mdiTelevisionClassicOff","mdiTelevisionGuide","mdiTelevisionOff","mdiTelevisionPause","mdiTelevisionPlay","mdiTelevisionShimmer","mdiTelevisionSpeaker","mdiTelevisionSpeakerOff","mdiTelevisionStop","mdiTemperatureCelsius","mdiTemperatureFahrenheit","mdiTemperatureKelvin","mdiTempleBuddhist","mdiTempleBuddhistOutline","mdiTempleHindu","mdiTempleHinduOutline","mdiTennis","mdiTennisBall","mdiTennisBallOutline","mdiTent","mdiTerraform","mdiTerrain","mdiTestTube","mdiTestTubeEmpty","mdiTestTubeOff","mdiText","mdiTextAccount","mdiTextBox","mdiTextBoxCheck","mdiTextBoxCheckOutline","mdiTextBoxEdit","mdiTextBoxEditOutline","mdiTextBoxMinus","mdiTextBoxMinusOutline","mdiTextBoxMultiple","mdiTextBoxMultipleOutline","mdiTextBoxOutline","mdiTextBoxPlus","mdiTextBoxPlusOutline","mdiTextBoxRemove","mdiTextBoxRemoveOutline","mdiTextBoxSearch","mdiTextBoxSearchOutline","mdiTextLong","mdiTextRecognition","mdiTextSearch","mdiTextSearchVariant","mdiTextShadow","mdiTextShort","mdiTexture","mdiTextureBox","mdiTheater","mdiThemeLightDark","mdiThermometer","mdiThermometerAlert","mdiThermometerAuto","mdiThermometerBluetooth","mdiThermometerCheck","mdiThermometerChevronDown","mdiThermometerChevronUp","mdiThermometerHigh","mdiThermometerLines","mdiThermometerLow","mdiThermometerMinus","mdiThermometerOff","mdiThermometerPlus","mdiThermometerProbe","mdiThermometerProbeOff","mdiThermometerWater","mdiThermostat","mdiThermostatAuto","mdiThermostatBox","mdiThermostatBoxAuto","mdiThermostatCog","mdiThoughtBubble","mdiThoughtBubbleOutline","mdiThumbDown","mdiThumbDownOutline","mdiThumbUp","mdiThumbUpOutline","mdiThumbsUpDown","mdiThumbsUpDownOutline","mdiTicket","mdiTicketAccount","mdiTicketConfirmation","mdiTicketConfirmationOutline","mdiTicketOutline","mdiTicketPercent","mdiTicketPercentOutline","mdiTie","mdiTilde","mdiTildeOff","mdiTimelapse","mdiTimeline","mdiTimelineAlert","mdiTimelineAlertOutline","mdiTimelineCheck","mdiTimelineCheckOutline","mdiTimelineClock","mdiTimelineClockOutline","mdiTimelineMinus","mdiTimelineMinusOutline","mdiTimelineOutline","mdiTimelinePlus","mdiTimelinePlusOutline","mdiTimelineQuestion","mdiTimelineQuestionOutline","mdiTimelineRemove","mdiTimelineRemoveOutline","mdiTimelineText","mdiTimelineTextOutline","mdiTimer","mdiTimer10","mdiTimer3","mdiTimerAlert","mdiTimerAlertOutline","mdiTimerCancel","mdiTimerCancelOutline","mdiTimerCheck","mdiTimerCheckOutline","mdiTimerCog","mdiTimerCogOutline","mdiTimerEdit","mdiTimerEditOutline","mdiTimerLock","mdiTimerLockOpen","mdiTimerLockOpenOutline","mdiTimerLockOutline","mdiTimerMarker","mdiTimerMarkerOutline","mdiTimerMinus","mdiTimerMinusOutline","mdiTimerMusic","mdiTimerMusicOutline","mdiTimerOff","mdiTimerOffOutline","mdiTimerOutline","mdiTimerPause","mdiTimerPauseOutline","mdiTimerPlay","mdiTimerPlayOutline","mdiTimerPlus","mdiTimerPlusOutline","mdiTimerRefresh","mdiTimerRefreshOutline","mdiTimerRemove","mdiTimerRemoveOutline","mdiTimerSand","mdiTimerSandComplete","mdiTimerSandEmpty","mdiTimerSandFull","mdiTimerSandPaused","mdiTimerSettings","mdiTimerSettingsOutline","mdiTimerStar","mdiTimerStarOutline","mdiTimerStop","mdiTimerStopOutline","mdiTimerSync","mdiTimerSyncOutline","mdiTimetable","mdiTire","mdiToaster","mdiToasterOff","mdiToasterOven","mdiToggleSwitch","mdiToggleSwitchOff","mdiToggleSwitchOffOutline","mdiToggleSwitchOutline","mdiToggleSwitchVariant","mdiToggleSwitchVariantOff","mdiToilet","mdiToolbox","mdiToolboxOutline","mdiTools","mdiTooltip","mdiTooltipAccount","mdiTooltipCellphone","mdiTooltipCheck","mdiTooltipCheckOutline","mdiTooltipEdit","mdiTooltipEditOutline","mdiTooltipImage","mdiTooltipImageOutline","mdiTooltipMinus","mdiTooltipMinusOutline","mdiTooltipOutline","mdiTooltipPlus","mdiTooltipPlusOutline","mdiTooltipQuestion","mdiTooltipQuestionOutline","mdiTooltipRemove","mdiTooltipRemoveOutline","mdiTooltipText","mdiTooltipTextOutline","mdiTooth","mdiToothOutline","mdiToothbrush","mdiToothbrushElectric","mdiToothbrushPaste","mdiTorch","mdiTortoise","mdiToslink","mdiTouchTextOutline","mdiTournament","mdiTowTruck","mdiTowerBeach","mdiTowerFire","mdiTownHall","mdiToyBrick","mdiToyBrickMarker","mdiToyBrickMarkerOutline","mdiToyBrickMinus","mdiToyBrickMinusOutline","mdiToyBrickOutline","mdiToyBrickPlus","mdiToyBrickPlusOutline","mdiToyBrickRemove","mdiToyBrickRemoveOutline","mdiToyBrickSearch","mdiToyBrickSearchOutline","mdiTrackLight","mdiTrackLightOff","mdiTrackpad","mdiTrackpadLock","mdiTractor","mdiTractorVariant","mdiTrademark","mdiTrafficCone","mdiTrafficLight","mdiTrafficLightOutline","mdiTrain","mdiTrainBus","mdiTrainCar","mdiTrainCarAutorack","mdiTrainCarBox","mdiTrainCarBoxFull","mdiTrainCarBoxOpen","mdiTrainCarCaboose","mdiTrainCarCenterbeam","mdiTrainCarCenterbeamFull","mdiTrainCarContainer","mdiTrainCarFlatbed","mdiTrainCarFlatbedCar","mdiTrainCarFlatbedTank","mdiTrainCarGondola","mdiTrainCarGondolaFull","mdiTrainCarHopper","mdiTrainCarHopperCovered","mdiTrainCarHopperFull","mdiTrainCarIntermodal","mdiTrainCarPassenger","mdiTrainCarPassengerDoor","mdiTrainCarPassengerDoorOpen","mdiTrainCarPassengerVariant","mdiTrainCarTank","mdiTrainVariant","mdiTram","mdiTramSide","mdiTranscribe","mdiTranscribeClose","mdiTransfer","mdiTransferDown","mdiTransferLeft","mdiTransferRight","mdiTransferUp","mdiTransitConnection","mdiTransitConnectionHorizontal","mdiTransitConnectionVariant","mdiTransitDetour","mdiTransitSkip","mdiTransitTransfer","mdiTransition","mdiTransitionMasked","mdiTranslate","mdiTranslateOff","mdiTranslateVariant","mdiTransmissionTower","mdiTransmissionTowerExport","mdiTransmissionTowerImport","mdiTransmissionTowerOff","mdiTrashCan","mdiTrashCanOutline","mdiTray","mdiTrayAlert","mdiTrayArrowDown","mdiTrayArrowUp","mdiTrayFull","mdiTrayMinus","mdiTrayPlus","mdiTrayRemove","mdiTreasureChest","mdiTreasureChestOutline","mdiTree","mdiTreeOutline","mdiTrello","mdiTrendingDown","mdiTrendingNeutral","mdiTrendingUp","mdiTriangle","mdiTriangleDown","mdiTriangleDownOutline","mdiTriangleOutline","mdiTriangleSmallDown","mdiTriangleSmallUp","mdiTriangleWave","mdiTriforce","mdiTrophy","mdiTrophyAward","mdiTrophyBroken","mdiTrophyOutline","mdiTrophyVariant","mdiTrophyVariantOutline","mdiTruck","mdiTruckAlert","mdiTruckAlertOutline","mdiTruckCargoContainer","mdiTruckCheck","mdiTruckCheckOutline","mdiTruckDelivery","mdiTruckDeliveryOutline","mdiTruckFast","mdiTruckFastOutline","mdiTruckFlatbed","mdiTruckMinus","mdiTruckMinusOutline","mdiTruckOffRoad","mdiTruckOffRoadOff","mdiTruckOutline","mdiTruckPlus","mdiTruckPlusOutline","mdiTruckRemove","mdiTruckRemoveOutline","mdiTruckSnowflake","mdiTruckTrailer","mdiTrumpet","mdiTshirtCrew","mdiTshirtCrewOutline","mdiTshirtV","mdiTshirtVOutline","mdiTsunami","mdiTumbleDryer","mdiTumbleDryerAlert","mdiTumbleDryerOff","mdiTune","mdiTuneVariant","mdiTuneVertical","mdiTuneVerticalVariant","mdiTunnel","mdiTunnelOutline","mdiTurbine","mdiTurkey","mdiTurnstile","mdiTurnstileOutline","mdiTurtle","mdiTwitch","mdiTwitter","mdiTwoFactorAuthentication","mdiTypewriter","mdiUbisoft","mdiUbuntu","mdiUfo","mdiUfoOutline","mdiUltraHighDefinition","mdiUmbraco","mdiUmbrella","mdiUmbrellaBeach","mdiUmbrellaBeachOutline","mdiUmbrellaClosed","mdiUmbrellaClosedOutline","mdiUmbrellaClosedVariant","mdiUmbrellaOutline","mdiUndo","mdiUndoVariant","mdiUnfoldLessHorizontal","mdiUnfoldLessVertical","mdiUnfoldMoreHorizontal","mdiUnfoldMoreVertical","mdiUngroup","mdiUnicode","mdiUnicorn","mdiUnicornVariant","mdiUnicycle","mdiUnity","mdiUnreal","mdiUpdate","mdiUpload","mdiUploadLock","mdiUploadLockOutline","mdiUploadMultiple","mdiUploadNetwork","mdiUploadNetworkOutline","mdiUploadOff","mdiUploadOffOutline","mdiUploadOutline","mdiUsb","mdiUsbCPort","mdiUsbFlashDrive","mdiUsbFlashDriveOutline","mdiUsbPort","mdiVacuum","mdiVacuumOutline","mdiValve","mdiValveClosed","mdiValveOpen","mdiVanPassenger","mdiVanUtility","mdiVanish","mdiVanishQuarter","mdiVanityLight","mdiVariable","mdiVariableBox","mdiVectorArrangeAbove","mdiVectorArrangeBelow","mdiVectorBezier","mdiVectorCircle","mdiVectorCircleVariant","mdiVectorCombine","mdiVectorCurve","mdiVectorDifference","mdiVectorDifferenceAb","mdiVectorDifferenceBa","mdiVectorEllipse","mdiVectorIntersection","mdiVectorLine","mdiVectorLink","mdiVectorPoint","mdiVectorPointEdit","mdiVectorPointMinus","mdiVectorPointPlus","mdiVectorPointSelect","mdiVectorPolygon","mdiVectorPolygonVariant","mdiVectorPolyline","mdiVectorPolylineEdit","mdiVectorPolylineMinus","mdiVectorPolylinePlus","mdiVectorPolylineRemove","mdiVectorRadius","mdiVectorRectangle","mdiVectorSelection","mdiVectorSquare","mdiVectorSquareClose","mdiVectorSquareEdit","mdiVectorSquareMinus","mdiVectorSquareOpen","mdiVectorSquarePlus","mdiVectorSquareRemove","mdiVectorTriangle","mdiVectorUnion","mdiVhs","mdiVibrate","mdiVibrateOff","mdiVideo","mdiVideo2d","mdiVideo3d","mdiVideo3dOff","mdiVideo3dVariant","mdiVideo4kBox","mdiVideoAccount","mdiVideoBox","mdiVideoBoxOff","mdiVideoCheck","mdiVideoCheckOutline","mdiVideoHighDefinition","mdiVideoImage","mdiVideoInputAntenna","mdiVideoInputComponent","mdiVideoInputHdmi","mdiVideoInputScart","mdiVideoInputSvideo","mdiVideoMarker","mdiVideoMarkerOutline","mdiVideoMinus","mdiVideoMinusOutline","mdiVideoOff","mdiVideoOffOutline","mdiVideoOutline","mdiVideoPlus","mdiVideoPlusOutline","mdiVideoStabilization","mdiVideoStandardDefinition","mdiVideoSwitch","mdiVideoSwitchOutline","mdiVideoVintage","mdiVideoWireless","mdiVideoWirelessOutline","mdiViewAgenda","mdiViewAgendaOutline","mdiViewArray","mdiViewArrayOutline","mdiViewCarousel","mdiViewCarouselOutline","mdiViewColumn","mdiViewColumnOutline","mdiViewComfy","mdiViewComfyOutline","mdiViewCompact","mdiViewCompactOutline","mdiViewDashboard","mdiViewDashboardEdit","mdiViewDashboardEditOutline","mdiViewDashboardOutline","mdiViewDashboardVariant","mdiViewDashboardVariantOutline","mdiViewDay","mdiViewDayOutline","mdiViewGallery","mdiViewGalleryOutline","mdiViewGrid","mdiViewGridCompact","mdiViewGridOutline","mdiViewGridPlus","mdiViewGridPlusOutline","mdiViewHeadline","mdiViewList","mdiViewListOutline","mdiViewModule","mdiViewModuleOutline","mdiViewParallel","mdiViewParallelOutline","mdiViewQuilt","mdiViewQuiltOutline","mdiViewSequential","mdiViewSequentialOutline","mdiViewSplitHorizontal","mdiViewSplitVertical","mdiViewStream","mdiViewStreamOutline","mdiViewWeek","mdiViewWeekOutline","mdiVimeo","mdiViolin","mdiVirtualReality","mdiVirus","mdiVirusOff","mdiVirusOffOutline","mdiVirusOutline","mdiVlc","mdiVoicemail","mdiVolcano","mdiVolcanoOutline","mdiVolleyball","mdiVolumeEqual","mdiVolumeHigh","mdiVolumeLow","mdiVolumeMedium","mdiVolumeMinus","mdiVolumeMute","mdiVolumeOff","mdiVolumePlus","mdiVolumeSource","mdiVolumeVariantOff","mdiVolumeVibrate","mdiVote","mdiVoteOutline","mdiVpn","mdiVuejs","mdiVuetify","mdiWalk","mdiWall","mdiWallFire","mdiWallSconce","mdiWallSconceFlat","mdiWallSconceFlatOutline","mdiWallSconceFlatVariant","mdiWallSconceFlatVariantOutline","mdiWallSconceOutline","mdiWallSconceRound","mdiWallSconceRoundOutline","mdiWallSconceRoundVariant","mdiWallSconceRoundVariantOutline","mdiWallet","mdiWalletBifold","mdiWalletBifoldOutline","mdiWalletGiftcard","mdiWalletMembership","mdiWalletOutline","mdiWalletPlus","mdiWalletPlusOutline","mdiWalletTravel","mdiWallpaper","mdiWan","mdiWardrobe","mdiWardrobeOutline","mdiWarehouse","mdiWashingMachine","mdiWashingMachineAlert","mdiWashingMachineOff","mdiWatch","mdiWatchExport","mdiWatchExportVariant","mdiWatchImport","mdiWatchImportVariant","mdiWatchVariant","mdiWatchVibrate","mdiWatchVibrateOff","mdiWater","mdiWaterAlert","mdiWaterAlertOutline","mdiWaterBoiler","mdiWaterBoilerAlert","mdiWaterBoilerAuto","mdiWaterBoilerOff","mdiWaterCheck","mdiWaterCheckOutline","mdiWaterCircle","mdiWaterMinus","mdiWaterMinusOutline","mdiWaterOff","mdiWaterOffOutline","mdiWaterOpacity","mdiWaterOutline","mdiWaterPercent","mdiWaterPercentAlert","mdiWaterPlus","mdiWaterPlusOutline","mdiWaterPolo","mdiWaterPump","mdiWaterPumpOff","mdiWaterRemove","mdiWaterRemoveOutline","mdiWaterSync","mdiWaterThermometer","mdiWaterThermometerOutline","mdiWaterWell","mdiWaterWellOutline","mdiWaterfall","mdiWateringCan","mdiWateringCanOutline","mdiWatermark","mdiWave","mdiWaveArrowDown","mdiWaveArrowUp","mdiWaveUndercurrent","mdiWaveform","mdiWaves","mdiWavesArrowLeft","mdiWavesArrowRight","mdiWavesArrowUp","mdiWaze","mdiWeatherCloudy","mdiWeatherCloudyAlert","mdiWeatherCloudyArrowRight","mdiWeatherCloudyClock","mdiWeatherDust","mdiWeatherFog","mdiWeatherHail","mdiWeatherHazy","mdiWeatherHurricane","mdiWeatherHurricaneOutline","mdiWeatherLightning","mdiWeatherLightningRainy","mdiWeatherNight","mdiWeatherNightPartlyCloudy","mdiWeatherPartlyCloudy","mdiWeatherPartlyLightning","mdiWeatherPartlyRainy","mdiWeatherPartlySnowy","mdiWeatherPartlySnowyRainy","mdiWeatherPouring","mdiWeatherRainy","mdiWeatherSnowy","mdiWeatherSnowyHeavy","mdiWeatherSnowyRainy","mdiWeatherSunny","mdiWeatherSunnyAlert","mdiWeatherSunnyOff","mdiWeatherSunset","mdiWeatherSunsetDown","mdiWeatherSunsetUp","mdiWeatherTornado","mdiWeatherWindy","mdiWeatherWindyVariant","mdiWeb","mdiWebBox","mdiWebCancel","mdiWebCheck","mdiWebClock","mdiWebMinus","mdiWebOff","mdiWebPlus","mdiWebRefresh","mdiWebRemove","mdiWebSync","mdiWebcam","mdiWebcamOff","mdiWebhook","mdiWebpack","mdiWebrtc","mdiWechat","mdiWeight","mdiWeightGram","mdiWeightKilogram","mdiWeightLifter","mdiWeightPound","mdiWhatsapp","mdiWheelBarrow","mdiWheelchair","mdiWheelchairAccessibility","mdiWhistle","mdiWhistleOutline","mdiWhiteBalanceAuto","mdiWhiteBalanceIncandescent","mdiWhiteBalanceIridescent","mdiWhiteBalanceSunny","mdiWidgets","mdiWidgetsOutline","mdiWifi","mdiWifiAlert","mdiWifiArrowDown","mdiWifiArrowLeft","mdiWifiArrowLeftRight","mdiWifiArrowRight","mdiWifiArrowUp","mdiWifiArrowUpDown","mdiWifiCancel","mdiWifiCheck","mdiWifiCog","mdiWifiLock","mdiWifiLockOpen","mdiWifiMarker","mdiWifiMinus","mdiWifiOff","mdiWifiPlus","mdiWifiRefresh","mdiWifiRemove","mdiWifiSettings","mdiWifiStar","mdiWifiStrength1","mdiWifiStrength1Alert","mdiWifiStrength1Lock","mdiWifiStrength1LockOpen","mdiWifiStrength2","mdiWifiStrength2Alert","mdiWifiStrength2Lock","mdiWifiStrength2LockOpen","mdiWifiStrength3","mdiWifiStrength3Alert","mdiWifiStrength3Lock","mdiWifiStrength3LockOpen","mdiWifiStrength4","mdiWifiStrength4Alert","mdiWifiStrength4Lock","mdiWifiStrength4LockOpen","mdiWifiStrengthAlertOutline","mdiWifiStrengthLockOpenOutline","mdiWifiStrengthLockOutline","mdiWifiStrengthOff","mdiWifiStrengthOffOutline","mdiWifiStrengthOutline","mdiWifiSync","mdiWikipedia","mdiWindPower","mdiWindPowerOutline","mdiWindTurbine","mdiWindTurbineAlert","mdiWindTurbineCheck","mdiWindowClose","mdiWindowClosed","mdiWindowClosedVariant","mdiWindowMaximize","mdiWindowMinimize","mdiWindowOpen","mdiWindowOpenVariant","mdiWindowRestore","mdiWindowShutter","mdiWindowShutterAlert","mdiWindowShutterAuto","mdiWindowShutterCog","mdiWindowShutterOpen","mdiWindowShutterSettings","mdiWindsock","mdiWiper","mdiWiperWash","mdiWiperWashAlert","mdiWizardHat","mdiWordpress","mdiWrap","mdiWrapDisabled","mdiWrench","mdiWrenchCheck","mdiWrenchCheckOutline","mdiWrenchClock","mdiWrenchClockOutline","mdiWrenchCog","mdiWrenchCogOutline","mdiWrenchOutline","mdiXamarin","mdiXml","mdiXmpp","mdiYahoo","mdiYeast","mdiYinYang","mdiYoga","mdiYoutube","mdiYoutubeGaming","mdiYoutubeStudio","mdiYoutubeSubscription","mdiYoutubeTv","mdiYurt","mdiZWave","mdiZend","mdiZigbee","mdiZipBox","mdiZipBoxOutline","mdiZipDisk","mdiZodiacAquarius","mdiZodiacAries","mdiZodiacCancer","mdiZodiacCapricorn","mdiZodiacGemini","mdiZodiacLeo","mdiZodiacLibra","mdiZodiacPisces","mdiZodiacSagittarius","mdiZodiacScorpio","mdiZodiacTaurus","mdiZodiacVirgo","useCypressAutomation","sectionTag","componentTag","htmlTag","generateAutomationTag","Browser","Env","env","detect","ua","browser","ie","weChat","env$1","DEFAULT_FONT_SIZE","DEFAULT_FONT_FAMILY","DEFAULT_FONT","OFFSET","SCALE","defaultWidthMapStr","getTextWidthMap","mapStr","DEFAULT_TEXT_WIDTH_MAP","platformApi","_ctx","_cachedFont","font","fontSize","preCalcWidth","onload","onerror","BUILTIN_OBJECT","reduce","TYPED_ARRAY","objToString","nativeForEach","nativeFilter","nativeSlice","ctorFunction","protoFunction","protoKey","idStart","guid","logError","typeStr","isDom","merge","targetProp","sourceProp","isBuiltInObject","keysArr","inherits","clazz","baseClazz","clazzPrototype","mixin","override","keyList","each","bindPolyfill","bind","curry","isStringSafe","isGradientObject","isImagePatternObject","eqNaN","retrieve","retrieve2","value0","value1","retrieve3","value2","normalizeCssArray","assert","trim","primitiveKey","setAsPrimitive","MapPolyfill","existed","isNativeMapSupported","maybeNativeMap","HashMap","thisMap","visit","createHashMap","concatArray","newArray","createObject","StyleCtor","disableUserSelect","dom","domStyle","own","RADIAN_TO_DEGREE","sub","lenSquare","distance","dist","distanceSquare","distSquare","lerp","applyTransform","Param","Draggable","draggingTarget","dropTarget","lastDropTarget","Draggable$1","Eventful","eventProcessors","_h","eventProcessor","lastWrap","eventType","newList","hItem","Eventful$1","LN2","determinant","rank","rowStart","rowMask","colMask","detCache","fullRank","colStart","subRowMask","subRowStart","sum","colLocalIdx","colTag","buildTransformer","mA","det","vh","srcPointX","srcPointY","pk","EVENT_SAVED_PROP","_calcOut","transformLocalCoord","elFrom","elTarget","inX","inY","transformCoordWithViewport","inverse","isCanvasEl","saved","markers","prepareCoordMarkers","preparePointerTransformer","propLR","propTB","marker","stl","idxLR","idxTB","transformerName","oldSrcCoords","srcCoords","destCoords","oldCoordTheSame","replaceReg","replaceMap","encodeHTML","MOUSE_EVENT_REG","firefoxNotSupportOffsetXY","clientToLocal","calculateZrXY","ex","ey","getNativeEvent","normalizeEvent","isTouch","wheelDelta","getWheelDeltaMayPolyfill","rawWheelDelta","deltaX","deltaY","addEventListener","opt","removeEventListener","GestureMgr","trackItem","eventUtil.clientToLocal","recognizers","gestureInfo","pointPair","tracks","trackLen","pinchEnd","pinchPre","pinchScale","pinchCenter","identity","mul","m1","m2","out0","out1","out2","out3","out4","out5","rotate","rad","aa","ac","atx","ab","ad","aty","st","ct","Point","scalar","onet","Point$1","mathMin","mathMax","lt","rb","lb","minTv","maxTv","BoundingRect","matrix.create","matrix.translate","matrix.scale","mtv","ax0","ax1","ay0","ay1","bx0","bx1","by0","by1","dMin","dMax","d0","d1","d2","d3","ty","BoundingRect$1","SILENT","makeEventPacket","eveType","targetInfo","stopEvent","eventTool.stop","EmptyProxy","HoveredResult","handlerNames","tmpRect","Handler","storage","painter","painterRoot","pointerSize","util.each","isOutside","isOutsideBoundary","lastHovered","lastHoveredTarget","hovered","hoveredTarget","eventControl","eventArgs","cursorStyle","eventKey","eventPacket","setHoverTarget","candidates","targetSizeHalf","pointerRect","rStep","thetaStep","PI2","theta","stage","gestureMgr","vec2.dist","isHover","displayable","isSilent","ignoreClip","clipPath","hostEl","hoverCheckResult","handlerInstance","Handler$1","DEFAULT_MIN_MERGE","DEFAULT_MIN_GALLOPING","minRunLength","makeAscendingRun","lo","hi","compare","runHi","reverseRun","binaryInsertionSort","pivot","gallopLeft","hint","lastOffset","maxOffset","gallopRight","TimSort","minGallop","runStart","runLength","stackSize","pushRun","_runStart","_runLength","mergeRuns","mergeAt","forceMergeRuns","start1","length1","start2","length2","mergeLow","mergeHigh","cursor1","cursor2","_minGallop","count1","count2","exit","customCursor","customDest","ts","minRun","REDRAW_BIT","STYLE_CHANGED_BIT","SHAPE_CHANGED_BIT","invalidZErrorLogged","logInvalidZError","shapeCompareFunc","Storage","includeIgnore","displayList","timsort","clipPaths","userSetClipPath","currentClipPath","parentClipPath","disp","decalEl","textGuide","textEl","util.indexOf","Storage$1","requestAnimationFrame","requestAnimationFrame$3","easingFuncs","easingFuncs$1","mathPow","mathSqrt","EPSILON","EPSILON_NUMERIC","THREE_SQRT","ONE_THIRD","_v0","v2Create","_v1","_v2","isAroundZero","isNotAroundZero","cubicAt","cubicDerivativeAt","cubicRootAt","B","t1","disc","K","t2","discSqrt","Y1","Y2","ASqrt","t3","cubicExtrema","extrema","cubicSubdivide","p01","p12","p23","p012","p123","p0123","cubicProjectPoint","x0","y0","x3","y3","_t","v2DistSquare","cubicLength","iteration","px","py","quadraticAt","quadraticDerivativeAt","quadraticRootAt","quadraticExtremum","quadraticSubdivide","quadraticProjectPoint","quadraticLength","createCubicEasingFunc","cubicEasingStr","cubic","a_1","b_1","c_1","d_1","roots_1","Clip","globalTime","deltaTime","life","elapsedTime","percent","easingFunc","schedule","easing","Clip$1","Entry","LRU","maxSize","removed","leastUsedEntry","LRU$1","kCSSColorTable","clampCssByte","clampCssFloat","parseCssInt","parseCssFloat","cssHueToRgb","lerpNumber","setRgba","copyRgba","colorCache","lastRemovedArr","putToCache","colorStr","rgbaArr","strLen","iv","ep","fname","alpha","hsla2rgba","lift","colorArr","stringify","fullOutput","leftIndex","rightIndex","leftColor","rightColor","dv","arrColor","lum","backgroundLum","isLinearGradient","isRadialGradient","arraySlice","interpolateNumber","interpolate1DArray","interpolate2DArray","len2","add1DArray","add2DArray","fillColorStops","val0","val1","len0","len1","shorterArr","shorterLen","fillArray","arrDim","arr0","arr0Len","arr1Len","isPreviousLarger","cloneValue","rgba2String","guessArrayDim","VALUE_TYPE_NUMBER","VALUE_TYPE_1D_ARRAY","VALUE_TYPE_2D_ARRAY","VALUE_TYPE_COLOR","VALUE_TYPE_LINEAR_GRADIENT","VALUE_TYPE_RADIAL_GRADIENT","VALUE_TYPE_UNKOWN","isGradientValueType","valType","isArrayValueType","tmpRgba","Track","rawValue","discrete","arrayDim","colorArray","color.parse","parsedGradient","colorStop","kf","maxTime","additiveTrack","kfs","kfsLen","lastKf","isDiscrete","isGradient","lastValue","startValue","isAdditive","valueKey","kfsNum","isValueColor","frameIdx","lastFrame","nextFrame","targetArr","nextVal_1","isLinearGradient_1","nextColorStop","additiveValue","Animator","allowDiscreteAnimation","additiveTo","propNames","track","addtiveTrackKfs","lastFinalKf","doneList","abortedList","tracksKeys","trackName","additiveAnimators","clip","stillHasAdditiveAnimator","onframeList","forwardToLast","allAborted","trackKeys","firstOrLast","finalProps","getTime","Animation","animator","notTriggerFrameAndStageUpdate","nextClip","finished","Animation$1","TOUCH_CLICK_DELAY","globalEventSupported","localNativeListenerNames","mouseHandlerNames","touchHandlerNames","pointerEventNameMap","pointerHandlerNames","zrUtil.map","nm","globalNativeListenerNames","wheelEventSupported","isPointerFromTouch","pointerType","setTouchTimer","markTouch","normalizeGlobalEvent","FakeGlobalEvent","isLocalEl","elTmp","zrUtil.noop","localDOMHandlers","downPoint","each$4","globalDOMHandlers","pointerCaptureReleasing","mountLocalDOMEventListeners","domHandlers","zrUtil.each","nativeEventName","mountSingleDOMEventListener","mountGlobalDOMEventListeners","nativeEventListener","unmountDOMEventListeners","DOMHandlerScope","domTarget","HandlerDomProxy","isPointerCapturing","globalHandlerScope","HandlerProxy","dpr","devicePixelRatio","DARK_MODE_THRESHOLD","DARK_LABEL_COLOR","LIGHT_LABEL_COLOR","LIGHTER_LABEL_COLOR","mIdentity","matrix.identity","scaleTmp","tmpTransform","originTransform","Transformable","parentTransform","needLocalTransform","matrix.mul","matrix.copy","globalScaleRatio","relX","relY","matrix.invert","transformNode","ancestors","rotation","shearX","ox","oy","invTransform","vector.applyTransform","copyTransform","ax","ay","skewX","skewY","matrix.rotate","TRANSFORMABLE_PROPS","Transformable$1","textWidthCache","getWidth","cacheOfFont","innerGetBoundingRect","textAlign","textBaseline","getLineHeight","adjustTextX","adjustTextY","getBoundingRect","textLines","uniondRect","verticalAlign","parsePercent","calculateTextPosition","textPosition","halfHeight","textVerticalAlign","PRESERVED_NORMAL_STATE","PRIMARY_STATES_KEYS","DEFAULT_ANIMATABLE_MAP","tmpTextPosCalcRes","tmpBoundingRect","Element","forceUpdate","textConfig","innerTransformable","textStyleChanged","innerOrigin","textOrigin","relOriginX","relOriginY","textOffset","isInside","innerTextDefaultStyle","textFill","textStroke","autoStroke","isDark","keyOrObj","toState","normalState","fromStateTransition","targetName","primaryKeys","states","noAnimation","stateName","keepCurrentStates","forceUseHoverLayer","toNormalState","hasStates","currentStates","animationCfg","useHoverLayer","stateObjects","notChange","stateObj","lastStateObj","mergedState","forceAdd","newStateExists","enable","mergedTextConfig","needsRestoreToNormal","transitionTarget","propNeedsTransition","componentEl","zr","previousTextContent","cfg","guideLine","inHover","animators","leftAnimators","animationProps","animateTo","elProto","logs","logDeprecatedError","xKey","yKey","createLegacyProperty","privateKey","enhanceArray","animatable","animateToShallow","finishCount","doneHappened","cfgDone","cfgAborted","doneCb","abortedCb","copyArrShallow","is2DArray","copyValue","sourceArr","isValueSame","val2","is1DArraySame","topKey","animateObj","targetKeys","additive","setToFinal","animateAll","existsAnimators","animationKeys","innerKey","targetVal","keyLen","revertedSource","reversedTarget","sourceClone","Element$1","Group","nextSibling","oldChild","newChild","zrUtil.indexOf","old","stopped","includeChildren","tmpMat","childRect","Group$3","painterCtors","instances","delInstance","isDarkMode","colorStops","totalLum","ZRender","rendererType","zrUtil.keys","ssrMode","handerProxy","useCoarsePointer","usePointerSize","defaultPointerSize","zrUtil.retrieve2","zLevel","darkMode","fromInside","triggerRendered","stillFramesCount","eventHandler","zrUtil.guid","registerPainter","RADIAN_EPSILON","ROUND_SUPPORTED_PRECISION_MAX","_trim","linearMap","r0","r1","subDomain","subRange","all","zrUtil.isString","precision","returnStr","getPrecision","getPrecisionSafe","eIndex","significandPartLen","dotIndex","decimalPartLen","getPixelPrecision","dataExtent","pixelExtent","log","LN10","dataQuantity","sizeQuantity","getPercentSeats","valueList","zrUtil.reduce","votesPerQuota","targetSeats","seats","votes","currentSum","maxId","seat","addSafe","maxPrecision","remRadian","radian","pi2","isRadianAroundZero","TIME_REG","parseDate","quantity","quantityExponent","nice","exponent","exp10","nf","numericToNumber","valFloat","isNumeric","getRandomIdBase","getGreatestCommonDividor","getLeastCommonMultiple","ECHARTS_PREFIX","storedLogs","hasConsole","outputLog","onlyOnce","deprecateLog","deprecateReplaceLog","oldOpt","newOpt","makePrintable","hintInfo","makePrintableStringIfPossible_1","printableStr","throwError","DUMMY_COMPONENT_NAME_PREFIX","INTERNAL_COMPONENT_ID_PREFIX","normalizeToArray","defaultEmphasis","subOpts","subOptName","TEXT_STYLE_OPTIONS","getDataItemValue","dataItem","isDataItemOption","mappingToExists","existings","newCmptOptions","isNormalMergeMode","isReplaceMergeMode","isReplaceAllMode","existingIdIdxMap","cmptOption","isValidIdOrName","warnInvalidateIdOrName","prepareResult","mappingById","mappingByName","mappingByIndex","mappingInReplaceAllMode","makeIdAndName","existing","isComponentIdInternal","optionId","makeComparableKey","existingIdx","resultItem","keyExistAndEqual","brandNew","nextIdx","mapResult","idMap","keyInfo","idNum","key1","convertOptionIdName","key2","idOrName","isNameSpecified","componentModel","setComponentTypeToKeyInfo","mappingResult","mainType","componentModelCtor","newOption","determineSubType","newCmptOption","existComponent","subType","queryDataIndex","makeInner","innerUniqueIndex","hostObj","parseFinder","ecModel","finderInput","preParseFinder","mainTypeSpecified","queryOptionMap","others","defaultMainType","queryOption","queryResult","queryReferringComponents","finder","parsedKey","queryType","SINGLE_REFERRING","userOption","indexOption","idOption","nameOption","firstCmpt","setAttribute","getAttribute","getTooltipRenderMode","renderModeOption","interpolateRawValues","sourceValue","isAutoPrecision","interpolated","leftArr","rightArr","info","leftVal","rightVal","TYPE_DELIMITER","IS_CONTAINER","IS_EXTENDED_CLASS","parseClassType","componentType","typeArr","checkClassType","zrUtil.assert","isExtendedClass","clz","enableClassExtend","rootClz","mandatoryMethods","ExtendedClass","isESClass","zrUtil.inherits","zrUtil.extend","superCall","superApply","zrUtil.isFunction","mountExtend","SubClz","SupperClz","classBase","enableClassCheck","classAttr","methodName","enableClassManagement","componentFullType","componentTypeInfo","makeContainer","throwWhenNotFound","makeStyleMapper","ignoreParent","excludes","AREA_STYLE_KEY_MAP","getAreaStyle","AreaStyleMixin","globalImageCache","findExistImage","newImageOrSrc","cachedImgObj","createOrUpdateImage","cbPayload","pendingWrap","isImageReady","imageOnLoad","STYLE_REG","truncateText","ellipsis","prepareTruncateOptions","truncateSingleLine","preparedOpts","minChar","ascCharWidth","contentWidth","ellipsisWidth","textLine","subLength","estimateLength","cnCharWidth","parsePlainText","truncate","calculatedLineHeight","bgColorDrawn","truncateLineOverflow","wrapText","lineCount","outerHeight","outerWidth","RichTextToken","RichTextLine","RichTextContentBlock","parseRichText","contentBlock","topWidth","topHeight","wrapInfo","matchedIndex","pushTokens","pendingList","calculatedHeight","calculatedWidth","stlPadding","truncateLine","finishLine","outer","tokenStyle","textPadding","paddingH","tokenHeight","styleTokenWidth","tokenWidthNotSpecified","textBackgroundColor","bgImg","imageHelper.findExistImage","imageHelper.isImageReady","remainTruncWidth","percentWidth","styleName","isEmptyStr","newLine","strLines","linesWidths","tokenPadding","tokenPaddingH","outerWidth_1","tokensLen","isAlphabeticLetter","breakCharMap","isWordBreakChar","isBreakAll","lastAccumWidth","currentWord","currentWordWidth","accumWidth","chWidth","inWord","STYLE_MAGIC_KEY","DEFAULT_COMMON_STYLE","DEFAULT_COMMON_ANIMATION_PROPS","PRIMARY_STATES_KEYS_IN_HOVER_LAYER","Displayable","viewWidth","viewHeight","considerClipPath","considerAncestors","isDisplayableCulled","parent_1","coord","elRect","shadowSize","shadowOffsetX","shadowOffsetY","tolerance","paintRect","targetKey","notRedraw","sourceStyle","changedKeys","statesKeys","mergedStyle","dispProto","viewRect","Displayable$1","mathSin","mathCos","vec2.create","extremity","fromLine","xDim","yDim","fromCubic","curve.cubicExtrema","curve.cubicAt","fromQuadratic","curve.quadraticExtremum","curve.quadraticAt","fromArc","rx","ry","startAngle","endAngle","anticlockwise","vec2Min","vec2.min","vec2Max","vec2.max","angle","CMD","tmpOutX","tmpOutY","min2","max2","PI","hasTypedArray","tmpAngles","modPI2","normalizeArcAngles","angles","newStartAngle","newEndAngle","PathProxy","notSaveData","segmentIgnoreThreshold","exceedUnit","cx","cy","appendSize","appendPathData","cmd","newData","xi","yi","ux","uy","pathSegLen","pathTotalLen","segCount","drawPart","accumLength","displayedLength","pendingPtDist","pendingPtX","pendingPtY","psi","isEllipse","breakBuild","newProxy","PathProxy$1","containStroke","_l","curve.cubicProjectPoint","normalizeRadian","windingLine","x_","isAroundEqual","swapExtrema","windingCubic","nRoots","curve.cubicRootAt","nExtrema","y0_","y1_","windingQuadratic","curve.quadraticRootAt","y_","windingArc","dTheta","tmp_1","containPath","isStroke","line.containStroke","cubic.containStroke","quadratic.containStroke","arc.containStroke","contain","pathProxy","DEFAULT_PATH_STYLE","DEFAULT_PATH_ANIMATION_PROPS","pathCopyParams","Path","decalElStyle","defaultStyle","pathFill","fillLum","isDarkLabel","shapeCfg","inBatch","stroke","needsUpdateRect","firstInvoke","rectStroke","lineScale","strokeContainThreshold","localPos","pathContain.containStroke","pathContain.contain","shape","targetShape","targetShapePrimaryProps","shapeKeys","mergedShape","defaultProps","Sub","pathProto","Path$1","DEFAULT_TSPAN_STYLE","TSpan","tspanProto","TSpan$1","DEFAULT_IMAGE_STYLE","DEFAULT_IMAGE_ANIMATION_PROPS","isImageLike","ZRImage","dim","imageSource","otherDim","otherDimSize","ZRImage$1","buildPath","r2","r3","r4","subPixelOptimizeLine","outputShape","inputShape","subPixelOptimize","subPixelOptimizeRect","originWidth","originHeight","positiveOrNegative","doubledPosition","RectShape","subPixelOptimizeOutputShape","Rect","optimizedShape","roundRectHelper.buildPath","Rect$1","DEFAULT_RICH_TEXT_COLOR","DEFAULT_STROKE_LINE_WIDTH","DEFAULT_TEXT_ANIMATION_PROPS","ZRText","normalizeTextStyle","defaultTextStyle","sourceRich","targetRich","richNames","richName","textFont","getStyleText","needDrawBg","needDrawBackground","baseX","baseY","textX","textY","boxX","boxY","getTextXForPadding","defaultLineWidth","useDefaultFill","getFill","getStroke","hasShadow","fixedBoundingRect","subElStyle","setSeparateFont","xLeft","lineTop","xRight","tokenCount","remainedWidth","lineXLeft","lineXRight","parentBgColorDrawn","textWidth","textHeight","topStyle","textBorderWidth","textBorderColor","isImageBg","isPlainOrGradientBg","textBorderRadius","rectEl","imgEl","rectShape","rectStyle","imgStyle","commonStyle","hasSeparateFont","parseFontSize","VALID_TEXT_ALIGN","VALID_TEXT_VERTICAL_ALIGN","FONT_PARTS","fontProp","normalizeStyle","ZRText$1","getECData","setCommonECData","seriesIndex","dataType","dataIdx","ecData","childECData","_highlightNextDigit","_highlightKeyMap","getSavedStates","getComponentStates","HOVER_STATE_NORMAL","HOVER_STATE_BLUR","HOVER_STATE_EMPHASIS","SPECIAL_STATES","DISPLAY_STATES","Z2_EMPHASIS_LIFT","Z2_SELECT_LIFT","HIGHLIGHT_ACTION_TYPE","DOWNPLAY_ACTION_TYPE","SELECT_ACTION_TYPE","UNSELECT_ACTION_TYPE","TOGGLE_SELECT_ACTION_TYPE","hasFillOrStroke","fillOrStroke","liftedColorCache","liftColor","liftedColor","colorTool.lift","doChangeHoverState","hoverStateEnum","singleEnterEmphasis","singleLeaveEmphasis","singleEnterBlur","singleLeaveBlur","singleEnterSelect","singleLeaveSelect","updateElementState","updater","commonParam","traverseUpdateState","setStatesFlag","getFromStateStyle","toStateName","fromState","createEmphasisDefaultState","targetStates","hasSelect","cloned","fromFill","fromStroke","emphasisStyle","z2EmphasisLift","createSelectDefaultState","z2SelectLift","createBlurDefaultState","hasBlur","currentOpacity","blurStyle","elementStateProxy","setDefaultStateProxy","enterEmphasisWhenMouseOver","shouldSilent","leaveEmphasisWhenMouseOut","enterEmphasis","highlightDigit","leaveEmphasis","enterBlur","leaveBlur","enterSelect","leaveSelect","allLeaveBlur","leaveBlurredSeries","allComponentViews","componentStates","isSeries","view","blurSeries","targetSeriesIndex","blurScope","leaveBlurOfIndices","dataIndices","itemEl","targetSeriesModel","targetCoordSys","blurredSeries","seriesModel","sameSeries","coordSys","sameCoordSys","dataTypes","blurComponent","componentMainType","componentIndex","blurSeriesFromHighlightPayload","dataIndex","focus_1","findComponentHighDownDispatchers","dispatchers","focusSelf","isHighDownDispatcher","handleGlobalMouseOverForHighDown","dispatcher","handleGlobalMouseOutForHighDown","toggleSelectionFromPayload","isSelectChangePayload","updateSeriesElementSelection","allData","getAllSelectedIndices","enableHoverEmphasis","setAsHighDownDispatcher","enableHoverFocus","disableHoverEmphasis","toggleHoverEmphasis","OTHER_STATES","defaultStyleGetterMap","setStatesStylesFromModel","itemModel","styleType","asDispatcher","disable","extendedEl","getHighlightDigit","highlightKey","payloadType","isHighDownPayload","savePathStates","selectState","mathAtan2","transformPath","nPoint","L","Q","v2ApplyTransform","p_1","vMag","vRatio","vAngle","processArc","fa","fs","psiDeg","xp","yp","lambda","cxp","cyp","commandReg","numberReg","createPathProxyFromString","cpx","cpy","subpathX","subpathY","prevCmd","cmdList","cmdText","cmdStr","pLen","off","ctlPtx","ctlPty","pathData","SVGPath","isPathProxy","createPathOptions","innerOpts","createFromString","extendFromString","defaultOpts","mergePath","pathEls","pathList","pathEl","pathBundle","CircleShape","Circle","Circle$1","EllipseShape","Ellipse","Ellipse$1","mathACos","mathATan2","dx10","dy10","dx32","dy32","computeCornerTangents","cr","clockwise","x01","y01","x11","y11","x10","y10","x00","y00","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","normalizeCornerRadius","innerRadius","hasRadius","hasInnerRadius","arc","icrStart","icrEnd","ocrStart","ocrEnd","ocrs","ocre","icrs","icre","ocrMax","icrMax","limitedOcrMax","limitedIcrMax","xre","yre","xirs","yirs","xrs","yrs","xire","yire","hasArc","cornerRadius","halfRd","it_1","crStart","crEnd","ct0","ct1","SectorShape","Sector","roundSectorHelper.buildPath","Sector$1","RingShape","Ring","Ring$1","smoothBezier","smooth","isLoop","constraint","cps","prevPoint","nextPoint","v2Min","v2Max","v2Clone","v2Sub","v2Scale","v2Distance","cp0","v2Add","cp1","closePath","controlPoints","cp2","PolygonShape","Polygon","polyHelper.buildPath","Polygon$1","PolylineShape","Polyline","Polyline$1","LineShape","Line","Line$3","BezierCurveShape","someVectorAt","isTangent","cpx2","cpy2","BezierCurve","cpx1","cpy1","vec2.normalize","BezierCurve$1","ArcShape","Arc","unitX","unitY","Arc$1","CompoundPath","dirtyPath","CompoundPath$1","Gradient","Gradient$1","LinearGradient","globalCoord","LinearGradient$1","RadialGradient","RadialGradient$1","extent","extent2","OrientedBoundingRect","corners","axes","overlapped","noMtv","dist0","dist1","proj","proj_1","OrientedBoundingRect$1","IncrementalDisplayable","notPersistent","displayables","Displayble","IncrementalDisplayable$1","transitionStore","getAnimationConfig","animationType","animatableModel","extraOpts","extraDelayParams","animationPayload","updatePayload","animationEnabled","isUpdate","animateOrSetProps","during","isFrom","removeOpt","isRemove","animationConfig","animationDelay","animationEasing","animateConfig","updateProps","initProps","isElementRemoved","removeElement","fadeOutDisplayable","removeElementWithFadeOut","doRemove","saveOldStyle","_customShapeMap","extendShape","extendPathFromString","pathTool.extendFromString","extendPath","registerShape","ShapeClass","getShapeClass","makePath","pathTool.createFromString","centerGraphic","resizePath","makeImage","imageUrl","zrImg","boundingRect","aspect","pathTool.mergePath","pathRect","subPixelOptimizeUtil.subPixelOptimizeLine","param","subPixelOptimizeUtil.subPixelOptimizeRect","subPixelOptimizeUtil.subPixelOptimize","getTransform","ancestor","mat","transformDirection","hBase","vBase","vertex","isNotGroup","isPath","groupTransition","g1","g2","getElMap","elMap","getAnimatableProps","elMap1","oldEl","newProp","clipPointsByRect","clipRectByRect","createIcon","iconStr","linePolygonIntersect","a1x","a1y","a2x","a2y","lineLineIntersect","b1x","b1y","b2x","b2y","mx","my","nx","ny","nmCrossProduct","crossProduct2d","nearZero","b1a1x","b1a1y","q","setTooltipConfig","itemTooltipOption","itemName","itemTooltipOptionObj","formatterParams","formatterParamsExtra","traverseElement","traverseElements","EMPTY_OBJ","setLabelText","labelTexts","oldStates","getLabelText","stateModels","interpolatedValue","labelFetcher","labelDataIndex","labelDimIndex","normalModel","baseText","statesText","stateModel","setLabelStyle","labelStatesModels","stateSpecified","isSetOnText","needsCreateText","labelStatesTexts","showNormal","normalStyle","createTextStyle","createTextConfig","stateShow","targetElEmphasisState","labelInner","getLabelStatesModels","labelName","statesModels","textStyleModel","specifiedTextStyle","isNotNormal","isAttached","textStyle","setTextStyleCommon","labelPosition","labelRotate","labelDistance","labelOffset","globalTextStyle","richItemNames","getRichItemNames","richResult","name_1","richTextStyle","setTokenTextStyle","richItemNameMap","rich","richKeys","richKey","TEXT_PROPS_WITH_GLOBAL","TEXT_PROPS_SELF","TEXT_PROPS_BOX","isBlock","inRich","inheritColor","fillColor","strokeColor","textBorderType","textBorderDashOffset","baseline","borderType","getFont","gTextStyleModel","setLabelValueAnimation","getDefaultText","normalLabelModel","animateLabelValue","labelInnerStore","defaultInterpolatedText","currValue","labelText","PATH_COLOR","textStyleParams","tmpText","TextStyleMixin","isEmphasis","TextStyleMixin$1","LINE_STYLE_KEY_MAP","getLineStyle","LineStyleMixin","ITEM_STYLE_KEY_MAP","getItemStyle","ItemStyleMixin","Model","parentModel","hasPath","pathFinal","pathArr","Model$1","getUID","enableSubTypeDefaulter","subTypeDefaulters","defaulter","componentTypeMain","enableTopologicalTravel","entity","dependencyGetter","targetNameList","fullNameList","makeDepndencyGraph","graph","noEntryList","targetNameSet","currComponentType","currVertex","isInTargetNameSet","removeEdgeAndAdd","removeEdge","errMsg","succComponentType","thisItem","createDependencyGraphItem","originalDeps","availableDeps","getAvailableDependencies","dependentName","thatItem","dep","inheritDefaultOption","superOption","subOption","zrUtil.merge","langEN","langZH","LOCALE_ZH","LOCALE_EN","localeStorage","localeModels","SYSTEM_LANG","langStr","registerLocale","localeObj","createLocaleObject","getLocaleModel","getDefaultLocaleModel","ONE_SECOND","ONE_MINUTE","ONE_HOUR","ONE_DAY","ONE_YEAR","defaultLeveledFormatter","fullDayFormatter","fullLeveledFormatter","primaryTimeUnits","timeUnits","getPrimaryTimeUnit","timeUnit","isPrimaryTimeUnit","getDefaultFormatPrecisionOfInterval","template","numberUtil.parseDate","fullYearGetterName","monthGetterName","dateGetterName","H","hoursGetterName","minutesGetterName","secondsGetterName","S","millisecondsGetterName","localeModel","timeModel","monthAbbr","dayOfWeek","dayOfWeekAbbr","leveledFormat","mergedFormatter","zrUtil.defaults","getUnitFromValue","targetId","zrUtil.isArray","levelId","isSecond","isMinute","isHour","isDay","isMonth","isYear","getUnitValue","zrUtil.isNumber","fullYearSetterName","monthSetterName","dateSetterName","hoursSetterName","minutesSetterName","secondsSetterName","millisecondsSetterName","addCommas","toCamelCase","upperCaseFirst","group1","zrUtil.normalizeCssArray","makeValueReadable","valueType","useUTC","USER_READABLE_DEFUALT_TIME_PATTERN","stringToUserReadable","zrUtil.trim","isNumberUserReadable","isTypeTime","isValueDate","zrUtil.isStringSafe","numericResult","TPL_VAR_ALIAS","wrapVar","varName","seriesIdx","formatTpl","tpl","paramsList","encode","seriesLen","$vars","getTooltipMarker","inOpt","extraCssText","renderMode","markerId","convertToColorString","defaultColor","zrUtil.isObject","windowOpen","blank","LOCATION_PARAMS","HV_NAMES","boxLayout","orient","gap","currentLineMaxSize","nextChild","nextChildRect","nextX","nextY","moveX","moveY","zrUtil.curry","getLayoutRect","positionInfo","formatUtil.normalizeCssArray","verticalMargin","horizontalMargin","positionElement","boundingMode","fetchLayoutMode","ins","layoutMode","mergeLayoutParam","targetOption","ignoreSize","hResult","vResult","hvIdx","newParams","newValueCount","mergedValueCount","enoughParamNumber","hasProp","hasValue","getLayoutParams","copyLayoutParams","inner","ComponentModel","componentUtil.getUID","layout.fetchLayoutMode","inputPositionParams","layout.getLayoutParams","themeModel","layout.mergeLayoutParam","newCptOption","isInit","ctor","optList","defaultOption","indexKey","idKey","boxLayoutModel","zlevel","componentUtil.enableTopologicalTravel","getDependencies","deps","ComponentModel$1","decalColor","globalDefault","VISUAL_DIMENSIONS","SOURCE_FORMAT_ORIGINAL","SOURCE_FORMAT_ARRAY_ROWS","SOURCE_FORMAT_OBJECT_ROWS","SOURCE_FORMAT_KEYED_COLUMNS","SOURCE_FORMAT_TYPED_ARRAY","SOURCE_FORMAT_UNKNOWN","SERIES_LAYOUT_BY_COLUMN","SERIES_LAYOUT_BY_ROW","BE_ORDINAL","innerGlobalModel","resetSourceDefaulter","makeSeriesEncodeForAxisCoordSys","coordDimensions","datasetModel","querySeriesUpstreamDatasetModel","encodeItemName","encodeSeriesName","datasetMap","baseCategoryDimIndex","categoryWayValueDimStart","coordDimInfoLoose","coordDimIdx","coordDimInfo","getDataDimCountOnCoordDim","datasetRecord","coordDimName","pushDim","dimIdxArr","idxFrom","idxCount","dimsDef","makeSeriesEncodeForNameBased","dimCount","sourceFormat","dimensionsDefine","potentialNameDimIndex","idxResult","idxRes0","idxRes1","guessRecords","guessResult","doGuessOrdinal","isPureNumber","fulfilled","nameDimIndex","thisData","queryDatasetUpstreamDatasetModels","guessOrdinal","dimIndex","seriesLayoutBy","maxLoop","dimName","dimType","dimDefItem","dataArrayRows","sample","detectValue","dataObjectRows","dataKeyedColumns","dataOriginal","beStr","internalOptionCreatorMap","concatInternalOptions","newCmptOptionList","internalOptionCreator","innerColor","PaletteMixin","requestNum","defaultPalette","layeredPalette","getFromPalette","clearPalette","getNearestPalette","palettes","requestColorNum","paletteNum","scopeFields","paletteIdx","paletteNameMap","palette","pickedPaletteItem","reCreateSeriesIndices","assertSeriesInitialized","initBase","OPTION_INNER_KEY","OPTION_INNER_VALUE","BUITIN_COMPONENTS_MAP","BUILTIN_CHARTS_MAP","componetsMissingLogPrinted","checkMissingComponents","componentOption","componentImportName","GlobalModel","optionManager","optionPreprocessorFuncs","innerOpt","normalizeSetOptionInput","optionChanged","baseOption","timelineOption","mediaOptions","mediaOption","componentsMap","componentsCount","newCmptTypes","newCmptTypeMap","replaceMergeMainTypeMap","mainTypeInReplaceMerge","visitComponent","modelUtil.normalizeToArray","oldCmptList","mergeMode","modelUtil.mappingToExists","modelUtil.setComponentTypeToKeyInfo","optionsByMainType","cmptsByMainType","cmptsCountByMainType","tooltipExists","tooltipWarningLogged","isSeriesType","ComponentModelClass","seriesImportName","extraOpt","optInMainType","realLen","metNonInner","modelUtil.isComponentIdInternal","cmpt","cmpts","queryByIdOrName","filterBySubType","queryCond","getQueryCond","doFilter","indexAttr","idAttr","nameAttr","ctxForAll_1","cbForAll_1","nameStr","modelUtil.convertOptionIdName","oneSeries","rawSeriesIndex","series","newSeriesIndices","seriesRawIdx","componentTypes","isNotTargetSeries","seriesIndices","airaOption","mergeTheme","notMergeColorLayer","themeItem","keyMap_1","idOrNameItem","idName","idName_1","GlobalModel$1","availableMethods","ExtensionAPI","ecInstance","zrUtil.bind","ExtensionAPI$1","coordinateSystemCreators","CoordinateSystemManager","coordinateSystems","creator","CoordinateSystem","QUERY_REG","OptionManager","rawOption","dataset","optionBackup","newParsedOption","parseRawOption","isRecreate","timelineOptions","timelineModel","ecWidth","ecHeight","mediaList","mediaDefault","indices","applyMediaQuery","indicesEquals","isNew","declaredBaseOption","timelineOnRoot","timelineOptionsOnRoot","mediaOnRoot","hasTimeline","singleMedia","doPreprocess","media","preProcess","realMap","applicable","operator","realAttr","real","expect","indices1","indices2","OptionManager$1","POSSIBLE_STYLES","compatEC2ItemStyle","itemStyleOpt","normalItemStyleOpt","emphasisItemStyleOpt","convertNormalEmphasis","optType","useExtend","normalOpt","emphasisOpt","removeEC3NormalStatus","compatTextStyle","labelOptSingle","modelUtil.TEXT_STYLE_OPTIONS","textPropName","compatEC3CommonStyles","processSeries","seriesOpt","markPoint","markLine","markArea","edgeData","zrUtil.isTypedArray","mpData","mlData","toArr","toObj","globalCompatStyle","isTheme","axisName","axisOpt","parallelOpt","parallelAxisDefault","calendarOpt","radarOpt","indicatorOpt","geoOpt","regionObj","timelineOpt","toolboxOpt","featureOpt","compatLayoutProperties","LAYOUT_PROPERTIES","COMPATITABLE_COMPONENTS","BAR_ITEM_STYLE_MAP","compatBarItemStyle","itemStyle","oldName","newName","compatPieLabel","compatSunburstState","compatGraphFocus","traverseTree","globalBackwardCompat","compatStyle","seriesType","pointerColor","highlightPolicy","componentName","dataStack","stackInfoMap","stackInfoList","stackInfo","calculateStack","targetStackInfo","idxInStack","resultVal","resultNaN","dims","targetData","isStackedByIndex","stackStrategy","v0","byValue","stackedDataRawIndex","stackedOver","SourceImpl","isSourceInstance","createSource","sourceData","thisMetaRawOption","detectSourceFormat","determined","determineSourceDimensions","createSourceFromSeriesDataOption","cloneSourceShallow","sourceHeader","dimensionsDetectedCount","normalizeDimensionsOption","arrayRowsTravelFirst","objectRowsCollectDimensions","colArr","firstIndex","nameMap","rawItem","exist","shouldRetrieveDataByName","providerMethods","mountMethods","DefaultDataProvider","sourceParam","dimSize","provider","methods","getMethodMapKey","getItemForTypedArray","countForTypedArray","fillStorageForTypedArray","rawItemGetter","getRawSourceItemGetter","rawCounter","getRawSourceDataCounter","dimExtent","appendDataSimply","newCol","oldCol","getItemSimply","rawData","rawSourceItemGetterMap","col","countSimply","rawSourceDataCounterMap","getRawValueSimply","rawSourceValueGetterMap","getRawSourceValueGetter","retrieveRawValue","DIMENSION_LABEL_REG","DataFormatMixin","rawDataIndex","itemOpt","borderColor","userOutput","extendParams","dimStr","dimLoose","multipleSeries","normalizeTooltipFormatResult","markupText","markupFragment","createTask","define","Task","performArgs","upTask","skip","planResult","lastModBy","normalizeModBy","lastModDataCount","modBy","modDataCount","forceFirstProgress","outputDueEnd","downstream","downTask","winCount","it","sStep","sCount","modNext","sequentialNext","parseDataValue","SortOrderComparator","incomparable","isDesc","lval","rval","lvalFloat","rvalFloat","lvalNotNumeric","rvalNotNumeric","lvalIsStr","rvalIsStr","ExternalSource","rawVal","dimInfo","createExternalSource","internalSource","externalTransform","extSource","sourceHeaderCount","dimensions","dimsByName","dimDef","dimDefExt","errMsg_1","getRawData","cloneRawData","rawValueGetter","retrieveValueFromItem","getDimensionInfo","cloneAllDimensionInfo","upstream","isSupportedSourceFormat","externalTransformMap","registerExternalTransform","typeParsed","isBuiltIn","applyDataTransform","rawTransOption","sourceList","infoForPrint","pipedTransOption","pipeLen","transOption","applySingleDataTransform","upSourceList","pipeIndex","transType","extUpSourceList","upSource","resultList","printStrArr","pipeIndexStr","resultIndex","resultMetaRawOption","firstUpSource","UNDEFINED","CtorUint32Array","CtorUint16Array","CtorInt32Array","CtorFloat64Array","dataCtors","defaultDimValueGetters","getIndicesCtor","rawCount","getInitialExtent","cloneChunk","originalChunk","prepareStore","dimIdx","append","DataCtor","oldStore","oldLen","DataStore","inputDimensions","dimValueGetter","defaultGetter","willRetrieveDataByName","calcDimNameToIdx","calcDimIdx","ordinalMeta","rawExtents","dimRawExtent","minFillLen","chunks","dimLen","rawExtent","emptyDataItem","sourceIdx","dimNames","dimStorage","dimStore","dimArr","rawIdx","dimData","dimDataArray","sortedDimDataArray","rawIndex","maxDistance","nearestIndices","minDist","minDiff","nearestIndicesLen","newIndices","thisCount","dim0","keep","originalCount","storeArr","quickFinished","dimStorage2","dimk","targetChunks","tmpRetValue","dataCount","retValue","rawExtentOnDim","valueDimension","rate","targetStorage","sampledIndex","frameSize","currentRawIndex","maxArea","area","nextRawIndex","nextFrameStart","nextFrameEnd","avgX","avgY","frameStart","frameEnd","pointAX","pointAY","firstNaNIndex","countNaN","dimension","sampleValue","sampleIndex","frameValues","sampleFrameIdx","initialExtent","currEnd","useRaw","clonedDims","ignoreIndices","clonedDimsMap","getDimValueSimply","SourceManager","sourceHost","upstreamSignList","upSourceMgrList","hasUpstream","resultSourceList","upSourceMgr","newMetaRawOption","upMetaRawOption","needsCreateSource","upMgrList","transformOption","fromTransformResult","doThrow","upMgr","upSrcMgr","sourceIndex","seriesDimRequest","schema","storeDims","seriesSource","sourceReadKey","storeList","cachedStoreMap","cachedStore","TOOLTIP_LINE_HEIGHT_CSS","getTooltipTextStyle","nameFontColor","nameFontSize","nameFontWeight","valueFontColor","valueFontSize","valueFontWeight","HTML_GAPS","RICH_TEXT_GAPS","createTooltipMarkup","isSectionFragment","getBuilder","buildSection","buildNameValue","getBlockGapLevel","gapLevel_1","subBlockLen","hasInnerGap_1","subBlock","subGapLevel","fragment","topMarginForOuterGap","toolTipTextStyle","noHeader","gaps","getGap","subMarkupTextList","subBlocks","orderMode","orderMap","comparator_1","valueFormatter","subMarkupText","wrapBlockHTML","displayableHeader","nameStyle","wrapInlineNameRichText","noName","noValue","noMarker","valueTypeOption","markerStr","readableName","readableValueList","valueAlignRight","valueCloseToMarker","valueStyle","wrapInlineValueRichText","wrapInlineNameHTML","wrapInlineValueHTML","buildTooltipMarkup","markupStyleCreator","builder","gapLevel","encodedContent","topGap","clearfix","marginCSS","leftHasMarker","marginCss","alignRight","paddingStr","alignCSS","paddingLeft","retrieveVisualColorForTooltipMarker","getPaddingFromTooltipModel","TooltipMarkupStyleCreator","markerType","finalStl","defaultSeriesFormatTooltip","tooltipDims","tooltipDimLen","isValueArr","markerColor","inlineValue","inlineValueType","sortParam","formatArrResult","formatTooltipArrayValue","seriesNameSpecified","seriesName","inlineName","isValueMultipleLine","dimItem","inlineValues","inlineValueTypes","setEachItem","modelUtil.makeInner","getSelectionKey","SERIES_UNIVERSAL_TRANSITION_PROP","SeriesModel","dataTaskCount","dataTaskReset","sourceManager","wrapData","autoSeriesName","themeSubType","modelUtil.defaultEmphasis","newSeriesOption","task","getCurrentTask","mainData","zrUtil.createHashMap","colorBy","coordDim","innerDataIndices","selectedMap","selectedMode","nameOrId","tmpArr","selectedDataIndicesMap","nameOrIds","universalTransitionOpt","lastDataIndex","zrUtil.mixin","modelUtil.isNameSpecified","getSeriesAutoName","dataDims","nameArr","dataDim","dataTaskProgress","zrUtil.concatArray","onDataChange","scheduler","pipeline","agentStubMap","SeriesModel$1","ComponentView","seriesModels","isBlur","ComponentView$1","createRenderPlanner","pipelineContext","originalLarge","originalProgressive","large","progressive","renderPlanner","ChartView","renderTaskPlan","renderTaskReset","toggleHighlight","elSetState","modelUtil.queryDataIndex","clazzUtil.enableClassExtend","progressiveRender","updateMethod","progressMethodMap","ChartView$1","ORIGIN_METHOD","RATE","THROTTLE_TYPE","throttle","currCall","lastCall","lastExec","debounceNextCall","exec","cbArgs","thisDelay","thisDebounce","debounceDelay","createOrUpdate","fnAttr","throttleType","originFn","lastThrottleType","lastRate","defaultStyleMappers","defaultColorKey","getStyleMapper","stylePath","styleMapper","getDefaultColorKey","colorKey","seriesStyleTask","styleModel","getStyle","globalStyle","decalOption","colorCallback","hasAutoColor","colorPalette","dataParams","sharedModel","dataStyleTask","existsStyle","dataColorPaletteTask","paletteScopeGroupByType","colorScope","dataAll","idxMap","fromPalette","defaultLoading","graphic.Group","mask","graphic.Rect","graphic.Text","labelRect","graphic.Arc","Scheduler","dataProcessorHandlers","visualHandlers","taskRecord","overallTask","pCtx","incremental","pipelineId","dataLen","pipelineMap","stageTaskMap","record","renderTask","stageHandlers","unfinished","stageHandler","stageHandlerRecord","seriesTaskMap","overallNeedDirty_1","stub","needSetDirty","performArgs_1","oldSeriesTaskMap","newSeriesTaskMap","getTargetSeries","seriesTaskPlan","seriesTaskReset","seriesTaskCount","overallTaskReset","oldAgentStubMap","newAgentStubMap","overallProgress","shouldOverallTaskDirty","createStub","stubReset","stubOnDirty","visualType","detectSeriseType","stubProgress","resetDefines","makeSeriesTaskProgress","singleSeriesTaskProgress","resetDefineIdx","resetDefine","legacyFunc","ecModelMock","apiMock","mockMethods","cond","Clz","Scheduler$1","colorAll","lightTheme","contrastColor","axisCommon","darkTheme","ECEventProcessor","cptQuery","dataQuery","otherQuery","condCptType","suffixes_1","dataKeys_1","reserved","propSuffix","suffixPos","eventInfo","packedEvent","check","host","propOnHost","SYMBOL_PROPS_WITH_CB","SYMBOL_PROPS","seriesSymbolTask","symbolOptions","symbolOptionsCb","hasCallback","symbolPropName","symbolPropsCb","dataEach","dataSymbolTask","getItemVisualFromData","getVisualFromData","createLegacyDataSelectAction","ecRegisterAction","getSeriesIndices","eventsMap","handleSeriesLegacySelectEvents","eventPostfix","ecIns","legacyEventName","handleLegacySelectEvents","messageCenter","findEventDispatcher","returnFirstMatch","wmUniqueIndex","supportDefineProperty","WeakMap$2","Triangle","graphic.Path","Diamond","Pin","tanX","tanY","cpLen","cpLen2","Arrow","symbolCtors","graphic.Line","graphic.Circle","symbolShapeMakers","symbolBuildProxies","SymbolClz","inBundle","symbolType","proxySymbol","symbolPathSetColor","symbolStyle","createSymbol","keepAspect","symbolPath","graphic.makeImage","graphic.makePath","normalizeSymbolSize","symbolSize","normalizeSymbolOffset","symbolOffset","isSafeNum","createLinearGradient","canvasGradient","createRadialGradient","getCanvasGradient","isClipPathChanged","prevClipPaths","parseInt10","whIdx","wh","cwh","plt","prb","normalizeLineDash","lineType","getLineDash","lineDash","lineDashOffset","lineScale_1","pathProxyForDraw","styleHasStroke","isValidStrokeFillStyle","strokeOrFill","styleHasFill","doFillPath","originalGlobalAlpha","doStrokePath","createCanvasPattern","canvasPattern","brushPath","hasStroke","hasFill","strokePercent","strokePart","firstDraw","dirtyFlag","hasFillGradient","hasStrokeGradient","hasFillPattern","hasStrokePattern","fillGradient","strokeGradient","fillPattern","strokePattern","needsRebuild","brushImage","sWidth","sHeight","brushText","SHADOW_NUMBER_PROPS","STROKE_PROPS","bindCommonProps","prevStyle","forceSetAll","styleChanged","flushPathDrawn","bindPathAndTextCommonStyle","newLineWidth","bindImageStyle","setContextTransform","updateClipStatus","allClipped","isTransformChanged","m0","DRAW_TYPE_PATH","DRAW_TYPE_IMAGE","DRAW_TYPE_TEXT","DRAW_TYPE_INCREMENTAL","canPathBatch","brushSingle","brush","prevElClipPaths","forceSetTransform","forceSetStyle","canBatchPath","brushIncremental","temporalDisplayables","innerScope","i_1","len_1","decalMap","decalCache","decalKeys","createOrUpdatePatternFromDecal","decalObject","isSVG","oldPattern","decalOpt","setPatternnSource","isValidKey","dashArrayX","normalizeDashArrayX","dashArrayY","normalizeDashArrayY","symbolArray","normalizeSymbolArray","lineBlockLengthsX","getLineBlockLengthX","lineBlockLengthY","getLineBlockLengthY","svgRoot","pSize","getPatternSize","brushDecal","xlen","symbolRepeats","ySum","yId","yIdTotal","xId0","symbolYId","xId1","xId1Total","xSum","top_1","symbolXId","brushSymbol","symbolVNode","isAllString","dash","dashValue","isAllNumber","dashValue_1","blockLength","decalVisual","decal","lifecycle","lifecycle$1","implsStore","registerImpl","impl","getImpl","TEST_FRAME_REMAIN_TIME","PRIORITY_PROCESSOR_SERIES_FILTER","PRIORITY_PROCESSOR_DATASTACK","PRIORITY_PROCESSOR_FILTER","PRIORITY_PROCESSOR_DEFAULT","PRIORITY_PROCESSOR_STATISTIC","PRIORITY_VISUAL_LAYOUT","PRIORITY_VISUAL_PROGRESSIVE_LAYOUT","PRIORITY_VISUAL_GLOBAL","PRIORITY_VISUAL_CHART","PRIORITY_VISUAL_COMPONENT","PRIORITY_VISUAL_CHART_DATA_CUSTOM","PRIORITY_VISUAL_POST_CHART_LAYOUT","PRIORITY_VISUAL_BRUSH","PRIORITY_VISUAL_ARIA","PRIORITY_VISUAL_DECAL","PRIORITY","IN_MAIN_PROCESS_KEY","PENDING_UPDATE","STATUS_NEEDS_UPDATE_KEY","ACTION_REG","CONNECT_STATUS_KEY","CONNECT_STATUS_PENDING","CONNECT_STATUS_UPDATING","CONNECT_STATUS_UPDATED","createRegisterEventWithLowercaseECharts","disposedWarning","toLowercaseNameAndCallEventful","createRegisterEventWithLowercaseMessageCenter","MessageCenter","messageCenterProto","prepare","prepareView","updateDirectly","updateMethods","doConvertPixel","updateStreamModes","doDispatchAction","flushPendingActions","triggerUpdatedEvent","bindRenderedEvent","bindMouseEvent","renderComponents","renderSeries","createExtensionAPI","enableConnect","markStatusToUpdate","applyChangedStates","ECharts","themeStorage","defaultRenderer","defaultCoarsePointer","defaultUseDirtyRect","devUseDirtyRect","zrender.init","backwardCompat","prioritySortFunc","visualFuncs","dataProcessorFuncs","remainTime","notMerge","lazyUpdate","replaceMerge","transitionOpt","updateParams","excludeComponents","excludesComponentViews","isSvg","MAX_NUMBER","connectedGroups","left_1","right_1","bottom_1","canvasList_1","dpr_1","chart","targetCanvas","zr_1","content_1","graphic.Image","findResult","modelUtil.parseFinder","models","parsedFinder","dataIndexInside","MOUSE_EVENT_NAMES","eveName","isGlobalOut","dataModel","eventActionMap","actionType","modelUtil.setAttribute","DOM_ATTRIBUTE_KEY","needPrepare","loadingEffects","eventObj","flush","isComponent","viewList","viewMap","doPrepare","requireNewView","viewId","classType","Clazz","callView","excludeSeriesId","excludeSeriesIdMap","modelId","isExcluded","coordSysMgr","clearColorPalette","componentDirtyList","componentView","seriesDirtyMap","chartView","coordSysList","chartsMap","escapeConnect","actionWrap","actionInfo","cptTypeTmp","cptType","batched","eventObjBatch","isSelectChange","isHighDown","batchItem","modelUtil.preParseFinder","newObj","pendingActions","allocateZlevels","componentZLevels","seriesZLevels","hasSeperateZLevel","z","zlevelKey","zLevels","lastSeriesZLevel_1","lastSeriesKey_1","dirtyList","clearStates","updateZ","updateStates","dirtyMap","updateBlend","updateHoverLayerStatus","graphic.isElementRemoved","applyElementStates","newStates","elCount","blendMode","doUpdateZ","maxZ2","labelLine","textGuideLineConfig","stateAnimationModel","enableAnimation","stateTransition","prevStates","modelInfo","updateConnectedChartsStatus","charts","otherChart","action_1","otherCharts_1","echartsProto","wrapped","args2","idBase","isClient","existInstance","getInstanceByDom","modelUtil.getAttribute","registerTheme","registerPreprocessor","preprocessorFunc","registerProcessor","normalizeRegister","registerPostInit","postInitFunc","registerUpdateLifecycle","registerPostUpdate","postUpdateFunc","registerAction","registerCoordinateSystem","coordSysCreator","registerLayout","layoutTask","registerVisual","visualTask","registeredTasks","targetList","defaultPriority","registerLoading","loadingFx","registerMap","mapName","geoJson","specialAreas","registerTransform","loadingDefault","dataIndexMapValueLength","valNumOrArrLengthMoreThan2","defaultKeyGetter","DataDiffer","oldArr","newArr","oldKeyGetter","newKeyGetter","diffMode","newDataIndexMap","oldDataKeyArr","newDataKeyArr","oldKey","newIdxMapVal","newIdxMapValLen","newIdx","oldDataIndexMap","oldIdxMapVal","oldIdxMapValLen","newKey","idxMapValLen","keyArr","keyGetterName","cbModeMultiple","idxMapVal","DataDiffer$1","DimensionUserOuput","dimRequest","summarizeDimensions","summary","notExtraCoordDimMap","defaultedLabel","defaultedTooltip","userOutputEncode","coordDimIndex","getOrCreateEncodeArr","mayLabelDimType","encodeArr","dataDimsOnCoord","encodeFirstDimNotExtra","encodeLabel","encodeTooltip","getDimensionTypeByAxis","axisType","SeriesDimensionDefine","SeriesDimensionDefine$1","dimTypeShort","SeriesDataSchema","dimensionOmitted","ensureSourceDimNameMap","makeHashStrict","shouldOmitUnusedDimensions","dimHash","fullDimIdx","seriesDimIdx","seriesDimDef","sourceDimDef","hash","isSeriesDataSchema","createDimNameMap","dataDimNameMap","dimDefItemRaw","userDimName","innerSource","ID_PREFIX","INDEX_NOT_FOUND","TRANSFERABLE_PROPERTIES","CLONE_PROPERTIES","prepareInvertedIndex","getId","getIdNameFromStore","normalizeDimensions","transferProperties","cloneListForMapAndSample","makeIdFromName","SeriesData","dimensionsInput","hostModel","assignStoreDimIdx","dimensionInfos","dimensionNames","invertedIndicesMap","needsHasOwn","emptyObj","dimInfoInput","dimensionInfo","dimensionName","otherDims","dimIdxToName_1","dimensionsSummary","nameList","zrUtil.isArrayLike","shouldMakeIdFromName","idList","isFormatOriginal","sharedDataItem","itemId","dataDimIndicesOnCoord","invertedIndices","fCtx","dimIndices","innerRange","ctxCompat","otherList","thisList","visual","kvObj","itemVisual","itemVisuals","injectFunction","originalMethod","zrUtil.slice","zrUtil.clone","nameDimIdx","idDimIdx","nameRepeatCount","nmCnt","SeriesData$1","prepareSeriesDataSchema","sysDims","coordDimNameMap","getDimCount","omitUnusedDimensions","isUsingSourceDimensionsDef","encodeDef","encodeDefMap","indicesMap","getResultItem","dataDimsRaw","validDataDims","resultDimIdxOrName","resultDimIdx","applyDim","availDimIdx","sysDimItemRaw","sysDimItemDimsDef","sysDimItemOtherDims","sysDimItem","sysDimItemDimsDefItem","generateCoord","generateCoordCount","fromZero","extra","ifNoNameFillWithCoordName","item0","item1","genCoordDimName","removeDuplication","duplicationMap","dimOriginalName","optDimCount","CoordSysInfo","coordSysName","getCoordSysInfoBySeries","fetch","fetchers","axisMap","categoryAxisMap","xAxisModel","yAxisModel","isCategory","singleAxisModel","polarModel","radiusAxisModel","angleAxisModel","parallelModel","coordSysDims","axisIndex","axisModel","axisDim","enableDataStack","byIndex","stackedCoordDimension","dimensionDefineList","isLegacyDimensionsInput","mayStack","stackedByDimInfo","stackedDimInfo","stackResultDimension","stackedOverDimension","stackedDimCoordDim_1","stackedDimType","stackedDimCoordIndex_1","stackedOverDimensionDefine","stackResultDimensionDefine","isDimensionStacked","stackedDim","getStackedDimension","targetDim","getCoordSysDimDefs","coordSysInfo","registeredCoordSys","coordSysDimDefs","injectOrdinalMeta","dimInfoList","createInvertedIndices","firstCategoryDimIndex","hasNameEncode","categoryAxisModel","createSeriesData","sourceRaw","isOriginalSource","useEncodeDefaulter","encodeDefaulter","createDimensionOptions","stackCalculationInfo","isNeedCompleteOrdinalData","sampleItem","firstDataNotNull","Scale","setting","thisExtent","isBlank","Scale$1","uidBase","OrdinalMeta","categories","getName","category","needCollect","OrdinalMeta$1","isValueNice","isIntervalOrLogScale","intervalScaleNiceTicks","splitNumber","minInterval","maxInterval","span","getIntervalPrecision","niceTickExtent","fixExtent","increaseInterval","OrdinalScale","scaleHelper.contain","scaleHelper.normalize","scaleHelper.scale","ticks","infoOrdinalNumbers","ordinalsByTick","ticksByOrdinal","tickNum","allCategoryLen","ordinalNumber","unusedOrdinal","ticksByOrdinalNumber","tickNumber","ordinalNumbersByTick","cateogry","OrdinalScale$1","roundNumber","numberUtil.round","IntervalScale","helper.contain","helper.normalize","helper.scale","helper.getIntervalPrecision","expandToNicedExtent","intervalPrecision","safeLimit","lastNiceTick","minorTicks","prevTick","minorTicksGroup","minorInterval","minorTick","numberUtil.getPrecision","dataNum","formatUtil.addCommas","helper.intervalScaleNiceTicks","expandSize","IntervalScale$1","supportFloat32Array","Float32ArrayCtor","createFloat32Array","STACK_PREFIX","getSeriesStackId","getAxisKey","prepareLayoutBarSeries","isOnCartesian","getValueAxesMinGaps","barSeries","axisValues","cartesian","baseAxis","cnt","axisMinGaps","valuesInAxis","makeColumnLayout","seriesInfoList","axisExtent","bandWidth","minGap","extentSpan","scaleSpan","barWidth","barMaxWidth","barMinWidth","isInLargeMode","barGap","barCategoryGap","doCalBarWidthAndOffset","columnsMap","seriesInfo","axisKey","columnsOnAxis","stacks","stackId","categoryGapPercent","columnCount","categoryGap","barGapPercent","autoWidthCount","autoWidth","finalWidth","widthSum","lastColumn","retrieveColumnLayout","barWidthAndOffset","columnLayoutInfo","columnOffset","columnWidth","createProgressiveLayout","valueAxis","valueDimIdx","baseDimIdx","drawBackground","valueDim","stackResultDim","isValueAxisH","valueAxisStart","getValueAxisStart","isLarge","barMinHeight","stackedDimIdx","largePoints","largeBackgroundPoints","largeDataIndices","coordLayout","bgSize","idxOffset","baseValue","baseCoord","startCoord","bisect","TimeScale","settings","labelFormatter","innerTicks","getIntervalTicks","approxTickNum","scaleIntervalsLen","scaleIntervals","isUnitValueSame","valueA","valueB","dateA","dateB","isSameHour","isSameMinute","isSameSecond","isSameMilliSecond","getDateInterval","approxInterval","getMonthInterval","APPROX_ONE_MONTH","getHourInterval","getMinutesAndSecondsInterval","isMinutes","getMillisecondsInterval","numberUtil.nice","getFirstTimestampOfUnit","unitName","outDate","bottomUnitName","unitNames","addTicksInSpan","minTimestamp","maxTimestamp","getMethodName","setMethodName","addLevelTicks","lastLevelTicks","levelTicks","newAddedTicks","isFirstLevel","startTick","endTick","setterName","levelsTicks","currentLevelTicks","tickCount","lastLevelTickCount","primaryTimeUnit","nextPrimaryTimeUnit","levelTicksRemoveDuplicated","tickValue","targetTickNum","levelsTicksInExtent","maxLevel","TimeScale$1","scaleProto","intervalScaleProto","roundingErrorFix","mathFloor","mathCeil","mathLog","LogScale","originalScale","originalExtent","powVal","fixRoundingError","numberUtil.quantity","niceExtent","originalVal","LogScale$1","ScaleRawExtentInfo","isOrdinal","modelMinRaw","parseAxisModelMinMax","modelMaxRaw","boundaryGap","boundaryGapArr","dataMin","dataMax","axisDataLen","boundaryGapInner","minFixed","maxFixed","determinedMin","determinedMax","minMaxName","DATA_MIN_MAX_ATTR","DETERMINED_MIN_MAX_ATTR","ensureScaleRawExtentInfo","rawExtentInfo","minMax","getScaleExtent","scaleType","rawExtentResult","barSeriesModels","isBaseAxisAndHasBarSeries_1","adjustedScale","adjustScaleForOverflow","axisLength","barsOnCurrentAxis","minOverflow","maxOverflow","totalOverFlow","oldRangePercentOfNew","overflowBuffer","niceScaleExtent","inModel","extentInfo","isIntervalOrTime","createScaleByModel","ifAxisCrossZero","makeLabelFormatter","categoryTickStart","getAxisRawValue","estimateLabelUnionRect","realNumberScaleTicks","categoryScaleExtent","axisLabelModel","unrotatedSingleRect","singleRect","rotateTextRect","textRect","rotateRadians","beforeWidth","beforeHeight","afterWidth","afterHeight","rotatedRect","getOptionCategoryInterval","shouldShowAllLabels","getDataDimensionsOnAxis","dataDimMap","AxisModelCommonMixin","extensionRegisters","ComponentViewClass","SeriesModelClass","ChartViewClass","painterType","PainterCtor","use","ext","singleExt","createAxisLabels","makeCategoryLabels","makeRealNumberLabels","createAxisTicks","tickModel","makeCategoryTicks","labelModel","makeCategoryLabelsActually","labelsCache","getListCache","optionLabelInterval","numericLabelInterval","makeLabelsByCustomizedCategoryInterval","makeAutoCategoryInterval","makeLabelsByNumericCategoryInterval","ticksCache","optionTickInterval","tickCategoryInterval","labelsResult","labelItem","calculateCategoryInterval","fetchAutoCategoryIntervalCalculationParams","ordinalScale","ordinalExtent","unitSpan","unitW","unitH","maxW","maxH","textContain.getBoundingRect","dw","dh","lastAutoInterval","lastTickCount","categoryInterval","onlyTick","showAllLabel","includeMinLabel","includeMaxLabel","addItem","tickObj","rawLabel","NORMALIZED_EXTENT","Axis","fixExtentWithBands","ticksCoords","tickVal","alignWithLabel","fixOnBandTicksCoords","minorTickModel","minorTicksCoords","nTick","ticksLen","diffSize","crossLen","shift_1","ticksItem","littleThan","Axis$1","DEFAULT_SEARCH_SPACE","getCandidateAnchor","outPt","outDir","projectPointToArc","projectPointToLine","limitToEnds","lineLen","projectedLen","projectPointToRect","tmpPt","nearestPointOnRect","pt","nearestPointOnPath","pt0","pt1","pt2","dir2","updateLabelLinePoints","labelLineModel","labelGuideConfig","searchSpace","anchorPoint","targetTransform","targetInversedTransform","candidate","limitTurnAngle","tmpProjPoint","linePoints","minTurnAngle","angleCos","minTurnAngleCos","limitSurfaceAngle","surfaceNormal","maxSurfaceAngle","maxSurfaceAngleCos","HALF_PI","angle2","newAngle","setLabelLineState","ignore","isNormal","styleObj","buildLabelLinePath","vector.dist","moveLen","midPoint0","vector.lerp","midPoint2","midPoint1","setLabelLineStyle","labelIgnoreNormal","isLabelIgnored","showAbove","labelLineConfig","getLabelLineStatesModels","labelLineName","prepareLayoutList","localRect","isAxisAligned","minMargin","globalRect","obb","shiftLayout","xyDim","sizeDim","minBound","maxBound","balanceShift","lastPos","adjusted","totalShifts","shiftList","maxGap","updateMinMaxGap","squeezeGaps","takeBoundsGap","squeezeWhenBailout","gapThisBound","gapOtherBound","moveDir","moveFromMaxGap","remained","maxSqeezePercent","totalGaps","prevItemRect","squeezePercent","movement","moveForEachLabel","shiftLayoutOnX","leftBound","rightBound","shiftLayoutOnY","topBound","bottomBound","hideOverlap","labelList","displayedLabels","hideEl","emphasisState","existsTextCfg","cloneArr","newPoints","prepareLayoutCallbackParams","LABEL_OPTION_TO_STYLE_KEYS","dummyTransformable","labelLayoutInnerStore","labelLineAnimationStore","extendWithKeys","LABEL_LAYOUT_PROPS","LabelManager","layoutOption","labelStyle","labelTransform","hostRect","labelGuide","createDragHandler","defaultLabelAttr","degreeToRadian","needsUpdateLabelLine","labelLayoutStore","labelsNeedsAdjustOnX","labelsNeedsAdjustOnY","labelsNeedsHideOverlap","ignoreLabelLineUpdate","visualStyle","layoutStore","oldLayout","newProps","oldOpacity","layoutSelect","layoutEmphasis","newLayout","LabelManager$1","getLabelManager","installLabelLayout","registers","labelManager","LineSeriesModel","visualRotate","symbolRotate","LineSeries","getDefaultLabel","labelDims","vals","getDefaultInterpolatedLabel","seriesScope","driftSymbol","toLastFrame","draggable","hasCursorOption","disableAnimation","graphic.updateProps","graphic.initProps","emphasisItemStyle","blurItemStyle","selectItemStyle","emphasisDisabled","hoverScale","emphasisModel","visualColor","pathStyle","liftZ","z2Origin","useNameLabel","getLabelDefaultText","scaleRatio","animationOpt","graphic.removeElement","symbolNeedsDraw","normalizeUpdateOpt","makeSeriesScope","SymbolDraw","SymbolCtor","oldData","symbolUpdateOpt","getSymbolPoint","symbolEl","oldIdx","newSymbolType","oldSymbolType","taskParams","updateIncrementalAndHover","graphic.traverseElements","SymbolDraw$1","prepareDataCoordInfo","valueOrigin","valueStart","getValueStart","baseAxisDim","valueAxisDim","baseDim","baseDataOffset","getStackedOnPoint","dataCoordInfo","stackedData","diffData","lineAnimationDiff","oldStackedOnPoints","newStackedOnPoints","oldCoordSys","newCoordSys","oldValueOrigin","newValueOrigin","currPoints","nextPoints","currStackedPoints","nextStackedPoints","sortedIndices","rawIndices","newDataOldCoordInfo","oldPoints","diffItem","pointAdded","oldIdx2","newIdx2","currentX","currentY","newDataDimsForPoint","oldPt","stackedOnPoint","sortedCurrPoints","sortedNextPoints","sortedCurrStackedPoints","sortedNextStackedPoints","sortedStatus","i2","idx2","isPointNull","drawSegment","segLen","allLen","smoothMonotone","connectNulls","prevX","prevY","cpx0","cpy0","tmpK","ratioNextSeg","nextCpx0","nextCpy0","lenPrevSeg","lenNextSeg","dir_1","dir_2","ECPolylineShape","ECPolyline","xOrY","isDimX","nRoot","t_1","ECPolygonShape","ECPolygon","stackedOnPoints","createGridClipPath","hasAnimation","isAxisInversed","duringCb","createPolarClipPath","polar","sectorArea","graphic.Sector","isRadial","createClipPath","isCoordinateSystemType","isPointsSame","points1","points2","bboxFromPoints","getBoundingDiff","min1","max1","getSmooth","getStackedOnPoints","turnPointsIntoStep","stepTurnAt","stepPoints","stepPt","nextPt","filteredPoints","stepPt2","clipColorStops","newColorStops","prevOutOfRangeColorStop","prevInRangeColorStop","lerpStop","stop0","stop1","clippedCoord","coord0","stop_1","getVisualGradient","visualMetaList","visualMeta","stopLen","outerColors","colorStopsInRange","inRangeStopLen","tinyExtent","minCoord","maxCoord","coordSpan","gradient","graphic.LinearGradient","getIsIgnoreFunc","showAllSymbol","isAuto","categoryAxis","canShowAllSymbolForCategory","categoryDataDim","labelMap","availSize","getLastIndexNotNull","getPointAtIndex","getIndexRange","prevIndex","nextIndex","anyStateShowEndLabel","createLineClipPath","lineView","endLabelModel_1","valueAnimation_1","data_1","labelAnimationRecord_1","clipRect","endLabel","getEndLabelStateSpecified","endLabelModel","isBaseInversed","LineView","lineGroup","symbolDraw","lineStyleModel","areaStyleModel","isCoordSysPolar","prevCoordSys","polyline","polygon","isAreaChart","showSymbol","isIgnoreFunc","clipShapeForSymbol","oldClipPath","newClipPath","emphasisLineStyle","stackedOnSeries","stackedOnSmooth","changePolyState","symbolLabel","clipShape","isHorizontalOrRadial","isAxisInverse","seriesDuration","seriesDelay","seriesDelayValue","polarClip","gridClip","data_2","animationRecord","valueAnimation","distanceX","distanceY","dataIndexRange","endValue","modelUtil.interpolateRawValues","stackedOnCurrent","stackedOnNext","updatedDataInfo","diffStatus","LineView$1","pointsLayout","forceStoreInTypedArray","useTypedArray","dimIdx0","dimIdx1","tmpIn","tmpOut","samplers","indexSampler","dataSample","sampling","sampler","layoutPoints","lineStyle","BaseBarSeriesModel","startingAtTick","clampData_1","pt_1","tickCoords","targetTickId","leftCoord","stepTickValue","tickCoord","offsetIndex","BaseBarSeriesModel$1","BarSeriesModel","progressiveThreshold","largeThreshold","selectors","BarSeries","SausageShape","SausagePath","dr","rCenter","lessThanCircle","unitStartX","unitStartY","unitEndX","unitEndY","Sausage","createSectorCalculateTextPosition","positionMapping","isRoundCap","mappedSectorPosition","sector","middleR","middleAngle","extraDist","adjustAngleDistanceX","adjustAngleDistanceY","setSectorTextRotation","rotateType","anchorAngle","getSectorCornerRadius","zeroIfNull","getClipArea","coordSysClipArea","expandWidth","BarView","coordinateSystemType","isLargeDraw","animationModel","realtimeSortCfg","shouldRealtimeSort","needsClip","roundCap","backgroundModel","barBorderRadius","bgEls","oldBgEls","isInitSort","isChangeOrder","createBackground","bgLayout","getLayout","bgEl","createBackgroundEl","isValidLayout","isClipped","elementCreator","updateStyle","updateRealtimeAnimation","oldIndex","createBackgroundShape","bgGroup","createLarge","orderMapping_1","orderMapping","mappedValue","ordinalDataDim","orderInfo","tickMax","sortInfo","sortResult","coordSysBoundingRect","signWidth","signHeight","coordSysX2","coordSysY2","xClipped","yClipped","signR","clipped","animateProperty","positionMap","createPolarPositionMapping","sectorShape","animateTarget","realtimeSortOption","seriesAnimationModel","seriesTarget","axisTarget","axisAnimationModel","checkPropertiesNotValid","rectPropties","polarPropties","fixedLineWidth","getLineWidth","signX","signY","isZeroOnPolar","arcOrAngle","isPolar","borderRadius","labelPositionOutside","rawLayout","LagePathShape","LargePath","startPoint","progressiveEls","bgPoints","largePathUpdateDataIndex","largePath","largePathFindDataIndex","ElementClz","BarView$1","RADIAN","getViewRect","layout.getLayoutRect","getBasicPieLayout","pieLayout","minAngle","validDataCount","unitRadian","roseType","stillShowZeroSum","restAngle","valueSumLargerThanMinAngle","currentAngle","angle_1","layout_1","layout_2","dataFilter","legendModels","adjustSingleSide","viewLeft","viewTop","farthestX","recalculateXOnSemiToAlignOnEllipseCurve","semi","rB","rB2","rA","rA2","newX","newTargetWidth","constrainTextWidth","recalculateX","topSemi","bottomSemi","avoidOverlap","labelLayoutList","leftList","rightList","leftmostX","rightmostX","isPositionCenter","targetTextWidth","isAlignToEdge","extraPaddingH","realTextWidth","availableWidth","forceRecalculate","bgColor","oldOuterWidth","oldHeight","innerRect","availableInnerWidth","newWidth","newRect","pieLabelLayout","hasLabelRotate","minShowLabelRadian","setNotShow","isLabelShown","labelAlignTo","edgeDistance","bleedMargin","labelLineLen","labelLineLen2","midAngle","isLabelInside","radialAngle","isDown","notShowLabel","PiePiece","firstCreate","visualOpacity","graphic.Polyline","PieView","piePiece","graphic.removeElementWithFadeOut","labelLayout","itemLayout","PieView$1","createSeriesDataSimply","LegendVisualProvider","getDataWithEncodedVisual","dataWithEncodedVisual","LegendVisualProvider$1","innerData","PieSeriesModel","dataInner","valueList_1","labelLineNormalOpt","labelLineEmphasisOpt","PieSeriesModel$1","negativeDataFilter","curValue","GridModel","GridModel$1","CartesianAxisModel","timeAxis","logAxis","axisDefault","AXIS_TYPES","axisModelCreator","BaseAxisModelClass","extraDefaultOption","AxisModel","getAxisType","thisOption","Cartesian","zrUtil.filter","Cartesian$1","cartesian2DDimensions","canCalculateAffineTransform","Cartesian2D","xAxisScale","yAxisScale","xScaleExtent","yScaleExtent","xScaleSpan","yScaleSpan","scaleX","scaleY","translateX","translateY","axisX","axisY","data1","data2","zoneDiag1","zoneDiag2","xVal","yVal","xAxis","yAxis","xScale","yScale","xAxisExtent","yAxisExtent","xExtent","yExtent","Axis2D","coordExtent","asc","Axis2D$1","gridModel","grid","otherAxisOnZeroOf","rawAxisPosition","axisPosition","rectBound","axisOffset","posBound","onZeroCoord","dirMap","zrUtil.retrieve","isCartesian2DSeries","findAxisModels","axisModelMap","zrUtil.retrieve3","alignScaleTicks","alignToScale","alignToTicks","alignToNicedTicks","alignToSplitNumber","alignToInterval","scaleExtent","isMinFixed","isMaxFixed","logBase","nicedSplitNumber","t0","Grid","axesMap","updateAxisTicks","alignTo","axesIndices","axisNeedsAlign","onZeroRecords","fixAxisOnZero","ignoreContainLabel","boxLayoutParams","isContainLabel","gridRect","axesList","adjustAxes","labelUnionRect","updateAxisTransform","axesMapOnDim","xAxisIndex","yAxisIndex","coordList","coordsList","axisPositionUsed","axesCount","createAxisCreator","isAxisUsedInTheGrid","categorySortInfo","axesModelMap","unionExtent","baseAxes","otherAxes","otherAxis","grids","otherAxisDim","onZero","onZeroAxisIndex","canOnZeroToAxis","getOnZeroRecordKey","coordBase","axisExtentSum","Grid$1","AxisBuilder","transformGroup","builders","axisRotation","textRotation","rotationDiff","eventData","tooltipOpt","shown","graphic.subPixelOptimizeLine","arrowSize","arrowOffset","symbolWidth_1","symbolHeight_1","ticksEls","buildAxisMajorTicks","labelEls","buildAxisLabel","fixMinMaxLabelShow","buildAxisMinorTicks","nameLocation","nameDirection","gapSignal","isNameLocationCenter","nameRotation","axisNameAvailableWidth","endTextLayout","truncateOpt","graphic.setTooltipConfig","textRotate","onLeft","tickEls","showMinLabel","showMaxLabel","firstLabel","nextLabel","lastLabel","prevLabel","firstTick","lastTick","ignoreEl","isTwoLabelOverlapped","firstRect","nextRect","mRotationBack","matrixUtil.identity","matrixUtil.rotate","matrixUtil.mul","createTicks","tickTransform","tickEndCoord","tickLineStyle","anidPrefix","tickEl","tickDirection","minorTickLineStyle","minorTicksEls","labelMargin","labelRotation","rawCategoryData","triggerEvent","formattedLabel","itemLabelModel","rawCategoryItem","AxisBuilder$1","collect","collectAxesInfo","collectSeriesInfo","globalTooltipModel","globalAxisPointerModel","linksOption","linkGroups","coordSysKey","makeKey","axesInfoInCoordSys","coordSysModel","baseTooltipModel","saveTooltipAxisInfo","triggerAxis","cross","tooltipAxes","fromTooltip","triggerTooltip","axisPointerModel","axisPointerShow","isHandleTrigger","makeAxisPointerModel","snap","triggerEmphasis","involveSeries","axisInfo","groupIndex","getLinkGroupIndex","linkGroup","tooltipAxisPointerModel","volatileOption","labelOption","tooltipAxisPointerLabelShow","crossStyle","seriesTooltipTrigger","seriesTooltipShow","linkOption","checkPropInLink","linkPropValue","axisPropValue","fixValue","getAxisInfo","useHandle","coordSysAxesInfo","getAxisPointerModel","axisPointerClazz","AxisView","axisPointerModelHelper.fixValue","axisPointer","forceRender","axisPointerModelHelper.getAxisPointerModel","AxisView$1","rectCoordAxisBuildSplitArea","axisView","axisGroup","splitAreaModel","areaColors","areaColorsLen","lastSplitAreaColors","newSplitAreaColors","colorIndex","cIndex","areaStyle","rectCoordAxisHandleRemove","axisBuilderAttrs","selfBuilderAttrs","CartesianAxisView","oldAxisGroup","cartesianAxisHelper.layout","axisBuilder","elementType","cartesians","axisElementBuilders","isInitialSortFromBarRacing","graphic.groupTransition","splitLineModel","lineColors","minorSplitLineModel","CartesianXAxisView","CartesianYAxisView","GridView","extraOption","straightLineProto","bezierCurveProto","graphic.BezierCurve","StraightLineShape","CurveShape","isStraightLine","ECLinePath","ECLinePath$1","SYMBOL_CATEGORIES","makeSymbolTypeKey","symbolCategory","makeSymbolTypeValue","lineData","symbolKeepAspect","symbolSizeArr","symbolUtil.normalizeSymbolSize","symbolOffsetArr","symbolUtil.normalizeSymbolOffset","symbolUtil.createSymbol","createLine","setLinePoints","blurLineStyle","selectLineStyle","lineState","lineStateStyle","stateStyle","labelNormalModel","linePath","symbolFrom","symbolTo","invScale","parentNode","fromPos","toPos","vector.sub","vector.normalize","setSymbolRotation","specifiedRotation","tangent","halfPercent","cp","Line$1","LineDraw","LineCtor","LineGroup","lineDraw","oldLineData","isEffectObject","lineNeedsDraw","newLineData","isPointNaN","pts","LineDraw$1","isEC4CompatibleStyle","elType","hasOwnTextContentOption","hasOwnTextConfig","convertFromEC4CompatibleStyle","hostStyle","srcStyle","textContentStyle","hasOwnPos","convertEC4CompatibleRichItem","richItem","LEGACY_TRANSFORM_PROPS_MAP","LEGACY_TRANSFORM_PROPS","TRANSFORM_PROPS_MAP","transformPropNamesStr","ELEMENT_ANIMATABLE_PROPS","transitionInnerStore","getElementAnimationConfig","elOption","animationProp","userDuring","duringCall","applyUpdateTransition","clearStyle","styleOpt","transFromProps","propsToSet","prepareTransformAllPropsFinal","prepareShapeOrExtraAllPropsFinal","prepareTransformTransitionFrom","prepareShapeOrExtraTransitionFrom","prepareStyleTransitionFrom","applyPropsDirectly","applyMiscProps","enterFromProps_1","applyPropsTransition","updateLeaveTo","leaveToProps","applyLeaveTransition","onRemove","isTransitionAll","allPropsFinal","tmpDuringScope","transitionDuringAPI","assertNotReserved","latestUserDuring","scopeUserDuring","mainAttr","fromEl","attrOpt","elPropsInAttr","transFromPropsInAttr","attrTransition","transitionKeys","elVal","elPropsInAttrKeys","isNonStyleTransitionEnabled","allProps","allPropsInAttr","keysInAttr","checkTransformPropRefer","legacyName","xyName","legacyArr","fromElStyle","transFromStyleProps","styleTransition","elTransition","animationStyleProps","styleKeys","optVal","usedIn","getStateToRestore","KEYFRAME_EXCLUDE_KEYS","stopPreviousKeyframeAnimationAndRestore","applyKeyframeAnimation","animationOpts","singleAnimationOpts","stateToRestore","targetPropName","endFrameIsSet","kfValues","savedTarget","BaseAxisPointer","handle","graphicKey","moveAnimation","doUpdateProps","updateMandatoryProps","isCategoryAxis","useSnap","animationThreshold","seriesDataCount","axisPointerModelHelper.getAxisInfo","pointerOption","pointerEl","graphic","labelEl","updateLabelShowHide","handleModel","graphic.createIcon","handleSize","throttleUtil.createOrUpdate","getHandleTransProps","trans","payloadInfo","throttleUtil.clear","xDimIndex","propsEqual","lastProps","equals_1","BaseAxisPointer$1","buildElStyle","axisPointerType","buildLabelElOption","labelPos","getValueLabel","paddings","confineInContainer","seriesDataIndices","params_1","axisHelper.getAxisRawValue","idxItem","getTransformedPosition","layoutInfo","graphic.applyTransform","buildCartesianSingleLabelElOption","textLayout","makeLineShape","makeRectShape","CartesianAxisPointer","otherExtent","getCartesian","pixelValue","elStyle","viewHelper.buildElStyle","pointerShapeBuilder","viewHelper.buildCartesianSingleLabelElOption","viewHelper.getTransformedPosition","currPosition","cursorOtherValue","cursorPoint","tooltipOptions","viewHelper.makeLineShape","getAxisDimIndex","viewHelper.makeRectShape","CartesianAxisPointer$1","AxisPointerModel","AxisPointerModel$1","initGlobalListeners","useHandler","doEnter","onLeave","dis","makeDispatchAction","dispatchTooltipFinally","pendings","showLen","hideLen","actuallyPayload","dispatchAction","currTrigger","AxisPointerView","triggerOn","globalListener.register","globalListener.unregister","AxisPointerView$1","findPointFromSeries","axisTrigger","illegalPoint","isIllegalPoint","inputAxesInfo","axesInfo","shouldHide","outputPayload","showValueMap","dataByCoordSys","updaters","showPointer","showTooltip","coordSysContainsPoint","inputAxisInfo","findInputAxisInfo","processOnAxis","linkTriggers","tarAxisInfo","tarKey","srcAxisInfo","srcKey","srcValItem","makeMapperParam","updateModelActually","dispatchTooltipActually","dispatchHighDownActually","noSnap","outputFinder","buildPayloadsBySeries","payloadBatch","snapToValue","seriesNestestValue","modelHelper.makeKey","coordSysItem","outputAxesInfo","valItem","highDownKey","lastHighlights","newHighlights","toHighlight","toDownplay","installSimple","installAxisPointer","setKeyInfoToNewElOption","newElOption","existElOption","newElParentOption","isSetLoc","isSet","mergeNewElOptionToExist","existList","newElOptCopy","$action","newType","copyTransitionInfo","TRANSITION_PROPS_TO_COPY","ROOT_TRANSITION_PROPS_TO_COPY","setLayoutInfoToExist","existItem","existingGroupOpt","newGroupOpt","GraphicComponentModel","flattenedList","elOptionsToUpdate","optionList","parentOption","nonShapeGraphicElements","graphicUtil.Group","graphicUtil.Image","graphicUtil.Text","GraphicComponentView","graphicModel","rootGroup","globalZ","globalZLevel","elExisting","targetElParent","elOptionStyle","textContentOption","convertResult","elOptionCleaned","getCleanedElOption","isMerge","isReplace","el_1","createEl","updateCommonAttrs","removeEl","el_2","textContentExisting","clipPathOption","clipPathType","newEl","elInner","setEventData","graphicUtil.setTooltipConfig","elOptions","apiWidth","apiHeight","parentEl","isParentRoot","parentElInner","containerInfo","layoutPos","layouted","layoutUtil.positionElement","animatePos","graphicType","zrUtil.hasOwn","graphicUtil.getShapeClass","existElParent","defaultZ","defaultZlevel","layoutUtil.LOCATION_PARAMS","graphicOption","makeBackground","TooltipModel","TooltipModel$1","shouldTooltipConfine","tooltipModel","confineOption","testStyle","styleProps","TRANSFORM_VENDOR","TRANSITION_VENDOR","toCSSVendorPrefix","styleVendor","styleProp","getComputedStyle","CSS_TRANSITION_VENDOR","CSS_TRANSFORM_VENDOR","gCssText","mirrorPos","assembleArrow","arrowPosition","borderWidth","arrowPos","positionStyle","transformStyle","rotateDeg","rotateRadian","arrowWH","rotatedWH","borderStyle","styleCss","assembleTransition","onlyFade","transitionCurve","transitionOption","transitionText","assembleTransform","is3d","assembleFont","cssText","shadowColor","shadowBlur","assembleCssText","enableTransition","transitionDuration","boxShadow","borderName","camelCase","makeStyleCoord","appendToBody","zrX","zrY","zrPainter","zrViewportRoot","viewportRootOffset","TooltipHTMLContent","alwaysShowContent","nearPointColor","styleCoord","arrowEl","enterable","transforms","ratioX","ratioY","TooltipHTMLContent$1","TooltipRichContent","bounding","shadowOuterSize","calcShadowOuterSize","mathMaxWith0","TooltipRichContent$1","proxyRect","TooltipView","tooltipContent","self_1","cmptRef","findComponentReference","pointInfo","tooltipCascadedModel","buildTooltipModel","seriesDispatcher_1","cmptDispatcher_1","singleTooltipModel","cbParamsList","articleMarkup","markupTextArrLegacy","itemCoordSys","axisItem","axisValue","axisValueLabel","axisPointerViewHelper.getValueLabel","axisSectionMarkup","cbParams","seriesTooltipResult","positionExpr","builtMarkupText","blockBreak","allMarkupText","positionDefault","tooltipTrigger","asyncTicket","tooltipConfig","tooltipModelCascade","subTooltipModel","defaultHtml","nearPoint","params0","isTimeAxis","cbTicket","tooltipDataParams","vAlign","boxLayoutPosition","calcTooltipPosition","refixTooltipPosition","isCenterAlign","confineTooltipPosition","lastCoordSys","lastCbParamsList","contentNotChanged","lastItemCoordSys","indexCoordSys","lastDataByAxis","thisItemCoordSys","thisDataByAxis","lastItem","indexAxis","lastIndices","lastIdxItem","newIdxItem","lastCbParams","modelCascade","defaultTooltipOption","resultModel","gapH","gapV","domWidth","domHeight","rectWidth","rectHeight","subEl","TooltipView$1","TitleModel","TitleView","titleModel","subtextStyleModel","subText","subTextEl","sublink","groupRect","alignStyle","checkMarkerInSeries","seriesOpts","seriesOptArr","fillLabel","MarkerModel","hostSeries","createdBySelf","markerOpt","markerModel","MarkerModel$1","hasXOrY","hasXAndY","markerTypeCalculatorWithExtent","otherDataDim","targetDataDim","otherCoordIndex","targetCoordIndex","coordArr","calcDataDim","numCalculate","coordArrValue","markerTypeCalculator","dataTransform","coordInfo","dataDimToCoordDim","createMarkerDimValueGetter","inCoordSys","valueDataDim","sum_1","count_1","MarkerView","markerGroupMap","drawGroup","seriesModelList","MarkerView$1","MarkLineModel","masterMarkerModel","MarkLineModel$1","markLineTransform","mlModel","itemArray","mlType","markerHelper.getAxisInfo","markerHelper.numCalculate","valueIndex","mlFrom","mlTo","normalizedItem","markerHelper.dataTransform","isInfinity","ifMarkLineHasOnlyDim","fromCoord","toCoord","otherDimIndex","markLineFilter","markerHelper.dataFilter","updateSingleMarkerEndLayout","xPx","numberUtil.parsePercent","yPx","MarkLineView","markLineModel","mlData_1","fromData_1","toData_1","seriesId","seriesData","lineDrawMap","fromData","toData","updateDataVisualAndLayout","coordDimsInfos","optData","markerHelper.createMarkerDimValueGetter","MarkLineView$1","getDefaultSelectorOptions","LegendModel","legendData","hasSelected","potentialData","availableNames","isPotential","legendNameMap","LegendModel$1","LegendView","legendModel","isFirstRender","itemAlign","selectorPosition","viewportSize","layoutUtil.getLayoutRect","contentGroup","legendDrawnMap","selectMode","legendItemModel","lineVisualStyle","legendIcon","itemGroup","dispatchSelectAction","dispatchHighlightAction","dispatchDownplayAction","selectorGroup","selectorItem","emphasisLabelModel","itemVisualStyle","drawType","iconRotate","legendIconType","getLegendStyle","getDefaultLegendIcon","hitRect","layoutUtil.box","contentPos","selectorRect","selectorPos","selectorButtonGap","orientIdx","hw","yx","iconType","handleCommonProps","propVal","itemStyleModel","iconBrushType","decalStyle","legendLineModel","visualHasBorder","symboType","dataName","isUseHoverLayer","LegendView$1","legendFilter","legendSelectActionHandler","isToggleSelect","isItemSelected","installLegendAction","ScrollableLegendModel","scrollDataIndex","mergeAndNormalizeLayoutParams","ScrollableLegendModel$1","WH","ScrollableLegendView","controllerGroup","pageIconSize","pageIconSizeArr","createPageButton","pageTextStyleModel","iconIdx","pageDataIndexName","processMaxSize","containerGroup","controllerRect","showController","containerPos","controllerPos","pageButtonGap","pageButtonPosition","pageInfo","canJump","pageText","pageFormatter","pageIndex","containerRectSize","targetItemIndex","targetItem","itemCount","pCount","targetItemInfo","getItemInfo","winStartItemInfo","winEndItemInfo","currItemInfo","itemRect","itemInfo","winStart","targetDataIndex","defaultIndex","legendDataIdx","ScrollableLegendView$1","installScrollableLegendAction","installLegendPlain","installLegendScroll","createDom","newDom","newDomStyle","Layer","util.isObject","util.disableUserSelect","prevList","mergedRepaintRects","maxRepaintRectCount","full","pendingRect","addRectToMergePool","isMerged","minDeltaArea","bestRectToMergeIdx","mergedRect","pendingRect_1","aArea","bArea","pendingArea","deltaArea","shouldPaint","prevRect","curRect","hasIntersections","domBack","clearAll","clearColor","repaintRects","haveMotionBLur","lastFrameAlpha","doClear","clearColorGradientOrPattern","util.isGradientObject","shouldCache","util.isImagePatternObject","Layer$1","HOVER_LAYER_ZLEVEL","CANVAS_ZLEVEL","EL_AFTER_INCREMENTAL_INC","INCREMENTAL_INC","isLayerValid","createRoot","domRoot","CanvasPainter","singleCanvas","util.extend","rootStyle","zlevelList","rootCanvas","mainLayer","viewportRoot","paintAll","hoverLayer","redrawId","needsRefreshHover","layerList","useDirtyRect","zi","_loop_1","this_1","useTimer","firstEl","repaint","repaintRect","dTime","currentLayer","virtual","util.merge","layersMap","prevLayer","util.logError","prevDom","updatePrevLayer","incrementalLayerCount","prevZlevel","layerConfig","_zlevel","imageLayer","width_1","height_1","CanvasPainter$1","caf","cancelAnimationFrame","createStyles","styleText","createElement","pseudo","computedStyle","getRenderInfo","css_248z","addListener","handleMutation","ro","runCallbacks","rendered","initTriggers","mo","removeListener","getUpdatedSize","resetTriggers","this$1","triggers","expandChild","contract","csw","csh","eow","eoh","esw","esh","D","U","Z","$","G","GridComponent","BarChart","CanvasRenderer","__props","__emit","handleOver","xOffset","posX","posY","hoverDetails","handleOut","barValues","displayFormat","useUtils","hexToRGBA","GetValueOrDefault","formatType","trimLeft","trimRight","tinycolor","inputToRGB","RsRGB","GsRGB","BsRGB","boundAlpha","rgbToHsv","rgbToHsl","allow3Char","rgbToHex","allow4Char","rgbaToHex","bound01","hexNames","secondColor","hex8String","rgbaToArgbHex","secondHex8String","gradientType","formatSet","formattedString","hasAlpha","needsAlphaFormat","_lighten","_brighten","_darken","_desaturate","_saturate","_greyscale","_spin","_analogous","_complement","_monochromatic","_splitcomplement","polyad","newColor","convertToPercentage","ok","stringInputToObject","isValidCSSUnit","rgbToRgb","hsvToRgb","hslToRgb","hue2rgb","pad2","convertDecimalToHex","color1","color2","clamp01","slices","modification","rgb1","rgb2","c1","c2","wcag2","readability","wcag2Parms","validateWCAG2Parms","colorList","bestColor","bestScore","includeFallbackColors","isOnePointZero","processPercent","isPercentage","parseIntFromHex","convertHexToDecimal","matchers","CSS_INTEGER","CSS_NUMBER","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","parms","tinycolor2","_interopDefaultLegacy","tinycolor2__default","RGBA_MAX","HSVA_MAX","stepize","interpolateRgb","stop2","interpolateHsv","trigonometric","trigShortest","computeSubsteps","stops","substeps","totalSubsteps","computeAt","TinyGradient","havingPositions","lastColorLess","_proto","stops1","stops2","css","tinygradient","useRatingColors","getRanges","getExtendedRanges","getLightColor","getHeatMapColor","heatmapGradient","getScoreColor","calculateColorClass","startDate","endDate","difference","score","getScoreFromDiff","words","firstWord","restOfLabel","DecimalCount","getIcon","getIconColor","ratingColors","legendColors","colorRanges","useAttrs","autocompleteRef","getLabel","overage","selectedCount","__expose","_openBlock","_createBlock","_component_v_radio_group","_withCtx","buttonClick","textAreaRef","currentLabel","thumb","showCalendar","selectedDate","buildRangeDate","addSelectedRangeColors","formattedDate","getInputLabels","updateFocused","calendarVisible","selectDate","changeManualDate","datePicker","selectedElements","firstDate","lastDate","pageOptions","closeChip","chip","getTheme","calcPointerEvents","getLabelClass","filteredHeaders","newHeaders","colorService","getHeaderItem","isLabelCell","getCellColor","headerItem","customSortFunction","useMath","places","AxisStrategy","AxisStrategy2","LegendComponent","TooltipComponent","LineChart","MarkLineComponent","roundToFixed","hPad","formatLabel","valueToFormat","getSeries","getMarkLineOption","getFirstValidData","getLastValidData","getMinMaxValue","firstValidData","lastValidData","filteredArray","getLegendData","calculateYAxisInterval","firstData","handleHover","handleMouseOut","isMobile","triggerRef","tooltipRef","getLocation","localOpen","internalOpen","updateTooltipStyles","updateTooltipPosition","triggerRect","tooltipRect","viewportWidth","vueWrapper","addWrapper","leftEdge","tooltipHalfWidth","exceededLeft","exceededRight","currentStyles","arrowDirection","getArrowDirection","getArrowPosition","handleModelUpdate","primaryLocation","arrowPositions","secondaryLocation","componentProps","badgeClass","sizeParams","TitleComponent","PieChart","LabelLayout","defaultSeriesProperties","defaultLegendProperties","defaultTooltipProperties","pieValues","pe","legendValues","getTooltip","getLegend","getTitleColor","progressLineLength","recalculateTimeout","recalculate","GraphicComponent","realRating","blockHeight","ratingColor","fractionDigits","getActiveColor","getInactiveColor","hoveredRating","setRating","newRating","iconColors","faces","useSlots","isIcon","showLoading","getVariantButton","getColorButton","getClass","getLabelPadding","getDisabledColor","loaderProps","getIconBorderedBackground","Actions","ActionStatus","modalContent","canScrollUp","canScrollDown","canScrollInterval","showDialog","getConfirmLabel","getCancelLabel","getHeadLine","close","confirm","internalPage","enhancedHeaders","getItemIdentifier","Anchors","defaultBorderWidth","currentSectionTag","baseElement","flyout","isIconClicked","isOpened","vMenuContentLoaded","menuOffset","handleResize","recalculateArrowDirection","recalculateArrowPosition","showFlyout","hideFlyout","arrowStyle","hasIcons","defaultArrowPosition","baseElementRect","flyOutRect","verticalCenterBase","verticalCenterMax","verticalCenterMin","verticalCenter","horizontalCenterBase","horizontalCenterMax","horizontalCenterMin","horizontalCenter","anchorOrigin","getKey","itemClicked","toggleIconClicked","showDrawer","getPrototypeOf","kindOf","thing","kindOfTest","typeOfTest","isArrayBuffer","isArrayBufferView","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","forEach","allOwnKeys","findKey","_global","isContextDefined","caseless","stripBOM","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","propFilter","endsWith","TypedArray","forEachEntry","matchAll","regExp","isHTMLForm","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","toFiniteNumber","ALPHA","DIGIT","ALPHABET","generateString","alphabet","isSpecCompliantForm","toJSONObject","reducedValue","isAsyncFn","utils$1","AxiosError","request","response","utils","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","metaTokens","visitor","defaultVisitor","useBlob","convertValue","exposedHelpers","build","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","rejected","InterceptorManager$1","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","isStandardBrowserEnv","product","isStandardBrowserWebWorkerEnv","URLSearchParams","FormData","Blob","toURLEncodedForm","parsePropPath","arrayToObject","formDataToJSON","isNumericKey","stringifySafely","parser","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","defaults$1","ignoreDuplicateOf","parseHeaders","rawHeaders","$internals","normalizeHeader","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","buildAccessors","accessorName","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_rewrite","lHeader","setHeaders","deleteHeader","asStrings","accessors","defineAccessor","mapped","headerValue","AxiosHeaders$1","transformData","fns","isCancel","CanceledError","settle","validateStatus","cookies","expires","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","requestURL","parseProtocol","speedometer","samplesCount","timestamps","tail","firstSampleTS","chunkLength","startedAt","bytesCount","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","loaded","progressBytes","inRange","knownAdapters","requestData","requestHeaders","responseType","onCanceled","username","password","fullPath","onloadend","responseHeaders","timeoutErrorMessage","xsrfValue","renderReason","reason","isResolvedHandle","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","validators","deprecatedWarnings","validators$1","validator","formatMessage","assertOptions","allowUnknown","Axios","instanceConfig","configOrUrl","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","newConfig","onFulfilled","onRejected","generateHTTPMethod","isForm","Axios$1","CancelToken","executor","resolvePromise","onfulfilled","_resolve","CancelToken$1","spread","isAxiosError","HttpStatusCode","HttpStatusCode$1","defaultConfig","axios","promises","axios$1","http","http$3","getGroupsAll","axiosConfig","allResult","pageNumber","pageResult","v3","getLocationsAll","getLocationsByPage","pageSize","getLocationById","locationId","getProviders","getTags","createTag","updateTag","tagId","deleteTag","SocialMediaResponseStatus","SnapshotType","LuxonError","InvalidDateTimeError","InvalidIntervalError","InvalidDurationError","ConflictingSpecificationError","InvalidUnitError","InvalidArgumentError","ZoneIsAbstractError","DATE_SHORT","DATE_MED","DATE_MED_WITH_WEEKDAY","DATE_FULL","DATE_HUGE","TIME_SIMPLE","TIME_WITH_SECONDS","TIME_WITH_SHORT_OFFSET","TIME_WITH_LONG_OFFSET","TIME_24_SIMPLE","TIME_24_WITH_SECONDS","TIME_24_WITH_SHORT_OFFSET","TIME_24_WITH_LONG_OFFSET","DATETIME_SHORT","DATETIME_SHORT_WITH_SECONDS","DATETIME_MED","DATETIME_MED_WITH_SECONDS","DATETIME_MED_WITH_WEEKDAY","DATETIME_FULL","DATETIME_FULL_WITH_SECONDS","DATETIME_HUGE","DATETIME_HUGE_WITH_SECONDS","Zone","otherZone","singleton","SystemZone","parseZoneInfo","formatOffset","dtfCache","makeDTF","typeToPos","hackyOffset","dtf","formatted","fMonth","fDay","fYear","fadOrBc","fHour","fMinute","fSecond","partsOffset","filled","ianaZoneCache","IANAZone","adOrBc","minute","asUTC","objToLocalTS","asTS","over","intlLFCache","getCachedLF","locString","intlDTCache","getCachedDTF","intlNumCache","getCachedINF","inf","intlRelCache","getCachedRTF","cacheKeyOpts","sysLocaleCache","systemLocale","weekInfoCache","getCachedWeekInfo","parseLocaleString","localeStr","xIndex","uIndex","selectedStr","smaller","numberingSystem","intlConfigString","outputCalendar","mapMonths","dt","DateTime","mapWeekdays","listStuff","englishFn","intlFn","supportsFastNumbers","PolyNumberFormatter","intl","forceSimple","padTo","otherOpts","intlOpts","fixed","roundTo","PolyDateFormatter","gmtOffset","offsetZ","offsetName","PolyRelFormatter","isEnglish","hasRelative","English.formatRelativeTime","fallbackWeekSettings","weekSettings","defaultToEN","specifiedLocale","Settings","localeR","numberingSystemR","outputCalendarR","weekSettingsR","validateWeekSettings","numbering","parsedLocale","parsedNumberingSystem","parsedOutputCalendar","isActuallyEn","hasNoWeirdness","alts","English.months","formatStr","English.weekdays","English.meridiems","English.eras","df","matching","hasLocaleWeekInfo","FixedOffsetZone","signedOffset","InvalidZone","zoneName","normalizeZone","defaultZone","lowered","numberingSystems","numberingSystemsUTF16","hanidecChars","parseDigits","digitRegexCache","resetDigitRegexCache","digitRegex","defaultLocale","defaultNumberingSystem","defaultOutputCalendar","twoDigitCutoffYear","throwOnInvalid","defaultWeekSettings","cutoffYear","Invalid","explanation","nonLeapLadder","leapLadder","unitOutOfRange","js","computeOrdinal","uncomputeOrdinal","table","month0","isoWeekdayToLocal","isoWeekday","gregorianToWeek","gregObj","minDaysInFirstWeek","weekNumber","weeksInWeekYear","timeObject","weekToGregorian","weekData","weekdayOfJan4","yearInDays","gregorianToOrdinal","gregData","ordinalToGregorian","ordinalData","usesLocalWeekValues","hasInvalidWeekData","validYear","isInteger","validWeek","integerBetween","validWeekday","hasInvalidOrdinalData","validOrdinal","hasInvalidGregorianData","validMonth","validDay","hasInvalidTimeData","millisecond","validHour","validMinute","validSecond","validMillisecond","maybeArray","bestBy","by","best","floorMod","isNeg","parseInteger","parseFloating","parseMillis","towardZero","factor","modYear","offsetFormat","timeZone","modified","offHourStr","offMinuteStr","offHour","offMin","offMinSigned","asNumber","numericValue","normalizeObject","normalizer","monthsLong","monthsShort","monthsNarrow","weekdaysLong","weekdaysShort","weekdaysNarrow","meridiems","erasLong","erasShort","erasNarrow","meridiemForDateTime","weekdayForDateTime","monthForDateTime","eraForDateTime","formatRelativeTime","numeric","lastable","isInPast","fmtValue","singular","lilUnits","fmtUnit","stringifyTokens","splits","tokenToString","macroTokenToFormatOpts","Formats.DATE_SHORT","Formats.DATE_MED","Formats.DATE_FULL","Formats.DATE_HUGE","Formats.TIME_SIMPLE","Formats.TIME_WITH_SECONDS","Formats.TIME_WITH_SHORT_OFFSET","Formats.TIME_WITH_LONG_OFFSET","Formats.TIME_24_SIMPLE","Formats.TIME_24_WITH_SECONDS","Formats.TIME_24_WITH_SHORT_OFFSET","Formats.TIME_24_WITH_LONG_OFFSET","Formats.DATETIME_SHORT","Formats.DATETIME_MED","Formats.DATETIME_FULL","Formats.DATETIME_HUGE","Formats.DATETIME_SHORT_WITH_SECONDS","Formats.DATETIME_MED_WITH_SECONDS","Formats.DATETIME_FULL_WITH_SECONDS","Formats.DATETIME_HUGE_WITH_SECONDS","Formatter","fmt","currentFull","bracketed","formatOpts","knownEnglish","useDateTimeFormatter","extract","English.meridiemForDateTime","standalone","English.monthForDateTime","English.weekdayForDateTime","maybeMacro","English.eraForDateTime","tokenToField","lildur","realTokens","collapsed","ianaRegex","combineRegexes","combineExtractors","extractors","mergedVals","mergedZone","patterns","extractor","simpleParse","offsetRegex","isoExtendedZone","isoTimeBaseRegex","isoTimeRegex","isoTimeExtensionRegex","isoYmdRegex","isoWeekRegex","isoOrdinalRegex","extractISOWeekData","extractISOOrdinalData","sqlYmdRegex","sqlTimeRegex","sqlTimeExtensionRegex","extractISOYmd","extractISOTime","extractISOOffset","local","fullOffset","extractIANAZone","isoTimeOnly","isoDuration","extractISODuration","weekStr","millisecondsStr","hasNegativePrefix","negativeSeconds","maybeNegate","fromStrings","English.monthsShort","English.weekdaysLong","English.weekdaysShort","extractRFC2822","milOffset","rfc1123","rfc850","ascii","extractRFC1123Or850","extractASCII","isoYmdWithTimeExtensionRegex","isoWeekWithTimeExtensionRegex","isoOrdinalWithTimeExtensionRegex","isoTimeCombinedRegex","extractISOYmdTimeAndOffset","extractISOWeekTimeAndOffset","extractISOOrdinalDateAndTime","extractISOTimeAndOffset","parseISODate","parseRFC2822Date","parseHTTPDate","parseISODuration","extractISOTimeOnly","parseISOTimeOnly","sqlYmdWithTimeExtensionRegex","sqlTimeCombinedRegex","extractISOTimeOffsetAndIANAZone","parseSQL","INVALID","lowOrderMatrix","casualMatrix","daysInYearAccurate","daysInMonthAccurate","accurateMatrix","orderedUnits","reverseUnits","conf","durationToMillis","normalizeValues","previous","previousVal","conv","rollUp","removeZeroes","newVals","accurate","durationLike","fmtOpts","millis","mixed","conversionAccuracy","built","accumulated","lastUnit","ak","negated","validateStartEnd","Interval","builtStart","friendlyDateTime","builtEnd","validateError","startIsValid","endIsValid","dateTimes","sorted","numberOfParts","intervals","final","sofar","currentCount","ends","flattened","mapFn","Info","locObj","dayDiff","earlier","later","utcDayStart","highOrderDiffs","differs","lowestOrder","highWater","differ","remainingMillis","lowerOrderUnits","MISSING_FTP","intUnit","post","spaceOrNBSP","spaceOrNBSPRegExp","fixListRegex","stripInsensitivities","oneOf","simple","escapeToken","unitForToken","one","two","three","four","six","oneOrTwo","oneToThree","oneToSix","oneToNine","twoToFour","fourToSix","partTypeStyleToTokenVal","tokenForPart","resolvedOpts","isSpace","actualType","buildRegex","matchIndex","dateTimeFromMatches","toField","specificOffset","dummyDateTimeCache","getDummyDateTime","maybeExpandMacroToken","formatOptsToTokens","expandMacroTokens","TokenParser","regexString","rawMatches","explainFromTokens","parseFromTokens","invalidReason","MAX_DATE","unsupportedZone","possiblyCachedWeekData","possiblyCachedLocalWeekData","inst","fixOffset","localTS","tz","utcGuess","o2","o3","tsToObj","objToTS","adjustTime","oPre","millisToAdd","parseDataToDateTime","parsedZone","setZone","interpretationZone","toTechFormat","allowZ","toISODate","extended","longFormat","toISOTime","suppressSeconds","suppressMilliseconds","includeOffset","extendedZone","defaultUnitValues","defaultWeekUnitValues","defaultOrdinalUnitValues","orderedWeekUnits","orderedOrdinalUnits","normalizeUnit","normalizeUnitWithLocalWeeks","guessOffsetForZone","zoneOffsetGuessCache","zoneOffsetTs","quickDT","offsetProvis","diffRelative","lastOpts","argList","ot","zoneToUse","tsNow","containsOrdinal","containsGregorYear","containsGregorMD","containsGregor","definiteWeekDef","useWeekData","defaultValues","objNow","foundFirst","higherOrderInvalid","gregorian","tsFinal","offsetFinal","localeToUse","localeOpts","tokenList","dayMs","minuteMs","oEarlier","oLater","o1","ts1","ts2","keepCalendarTime","newTS","offsetGuess","asObj","settingWeekStuff","useLocaleWeeks","normalizedUnit","includePrefix","includeZone","includeOffsetSpace","otherDateTime","durOpts","otherIsLater","diffed","adjustedToZone","formatParser","Formats.DATE_MED_WITH_WEEKDAY","Formats.DATETIME_MED_WITH_WEEKDAY","dateTimeish","useDateTime","dateTimeFormattedLabel","useTime","useCompleteDate","momentDate","dateFormatted","short","timeFormatted","dateTimeRelativeFromNow","hashDate","getDateEnding","parseServerDate","serverDate","getOnlineReviewsConfig","questionnaireId","updateOnlineReviewsConfig","getPublicReviewsCTR","getQuestionnaireList","UserFacade","merchantIdMatch","legacy","UserFacade$1","getUserList","freeGlobal$1","root$1","Symbol$2","isSymbol","reWhitespace","trimmedEndIndex","reTrimStart","baseTrim","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","toNumber","isBinary","baseClamp","lower","upper","now$1","FUNC_ERROR_TEXT","nativeMax","nativeMin","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","__defProp","__defProps","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","__spreadValues","__spreadProps","_hoisted_1","__default__$1","setup$1","expose","useCssVars","computedThumbWidth","autoHideTimer","thumbEl","pointerDownInfo","pointerId","startAutoHideTimer","clearAutoHideTimer","handlePointerMove","moveDirection","moveDistance","handlePointerEnd","handlePointerDown","isWrapperIntersecting","isShepherdIntersecting","shepherdEl","shepherdIO","wrapperIO","shouldFixed","shepherdIOCallback","wrapperIOCallback","clearIO","_cache","openBlock","createElementBlock","createElementVNode","normalizeClass","_refs","setBlockTracking","createCommentVNode","_sfc_main$1","useMeasure","hasParamRef","observerFunc","domRect","execFunc","clearRo","__default__","thumbs","setThumbsInstance","wrapperEl","childNodes","thumbType","ele","_a2","wrapperRect","updateMaxScrollDistance","nativeMaxScrollTop","nativeMaxScrollLeft","scrollWidthInfo","scrollHeightInfo","maxScrollTop","maxScrollLeft","handleNativeScroll","handleSimulateScroll","preScrollLeft","preScrollTop","newScrollLeft","newScrollTop","renderSlot","renderList","_sfc_main","selectedGroups","selectAllGroups","searchGroup","filteredGroups","handleSelectAllGroups","selectedLocations","selectAllLocations","searchLocation","visibleLocationIndex","infiniteLocations","startDone","endDone","loadLocations","filteredLocations","infiniteEl","visibleLocations","handleSelectAllLocations","selectedProviders","selectAllProviders","searchProvider","filteredProviders","handleSelectAllProviders","selectedDateRange","dates","isCustomDate","startRating","endRating","selectedResponseStatus","responseStatusModels","selectAllResponseStatus","handleSelectAllResponseStatus","selectedTags","searchTag","filteredTags","selectedQuestionnaires","questionnaireStatus","searchQuestionnaire","filteredQuestionnaires","filtered","questionnaire","selectedMentions","userId","searchMention","filteredUsers","tempList","compareUsers","firstCompare","lastCompare","selectedMessageStatus","selectAllMessages","getMessageStatusModels","selectMessageStatus","TattleDateRangeType","useFilterBarStore","filterBarParams","useFilterBar","tattleDateRangeTypeToSnapshotTypeMap","snapshotTypeToTattleDateRangeTypeMap","Empty","toTattleDateRangeType","toSnapshotType","snapShot","tattleDateRange","minRating","maxRating","filterProps","filterBar","additionalHeight","openFilter","openSingleFilters","currentFilter","defineSingleFilter","groupsPromise","useGroups","getGroups","locationsPromise","useLocations","getLocations","providersPromise","useProviders","tagsPromise","useTags","questionnairesPromise","useQuestionnaires","getQuestionnaires","usersPromise","useMentions","getUsers","updateLabel","getDateRangeModels","allGroupIds","allProviderIds","providers","allLocationIds","allTagIds","selectedStartDate","selectedEndDate","filterParams","isSingleFilter","labelsSingleFilters","questionnaires","users","groupIds","locationIds","allowedLocations","filtersApplied","useDateRange","defaultSelectedDateRange","defaultSelectedStartDate","defaultSelectedEndDate","useRating","useResponseStatus","useMessages","clearFilter","defaultSelectedGroups","defaultSelectedLocations","defaultSelectedProviders","defaultSelectedTags","defaultSelectedResponseStatus","applyFilter","closeAllSingleFilters","getDropdownIcon","hasGroupsAdvancedFilter","promiseGroups","groupsApi.getGroupsAll","responseGroups","hasLocationsAdvancedFilter","locationsApi.getLocationsByPage","hasResponseStatusAdvancedFilter","hasProvidersAdvancedFilter","providersApi.getProviders","hasDateRangeAdvancedFilter","newDateRange","localDateRangeModel","hasRatingAdvancedFilter","hasTagsAdvancedFilter","promiseTags","tagsApi.getTags","responseTags","hasQuestionnairesAdvancedFilter","hasMentionsAdvancedFilter","hasMessagesAdvancedFilter","hasAdvancedFilters","hasDayPartsAdvancedFilter","countAdvancedFilters","chartData","showPopover","selectedValue","selectedTitle","selectedColor","popover","getSatisfactionChange","changeRate","channelsData","views","currentView","rearrangeArray","totalIndex","objectsArray","objectGroup","elementValue","pagination","getTextLabel","getSortType","pieData","currentChartColors","getTotalIncidents","getPercentIncidents","operationalCategoriesData","currentViewLabel","currentCategory","lowestPerformingCategory","lowestPerformingValue","highestPerformingCategory","highestPerformingValue","getTotalOrders","getTotalResponses","getOverallItemAverage","getItemRevenue","getItemSatisfaction","getItemSatisfactionByChannel","getItemIncidentInvolvementRate","getOperationalCategoryRating","getProductById","productId","surveys","loading","productCatalogApi.getProductById","breadCrumbItems","showEmptyState","loadingRevenue","loadingOverallSatisfaction","loadingChannelsDetails","loadingIncident","loadingOperationalCategories","revenueNoData","satisfactionNoData","incidentNoData","operationalCategoriesNoData","channelsNoData","filterParamsItem","handleFetchFilter","fetchRevenue","fetchOverallSatisfaction","fetchChannels","fetchIncident","fetchOperationalCategories","revenueData","revenueError","fetchPayload","metricsApi.getItemRevenue","satisfactionData","satisfactionError","metricsApi.getItemSatisfaction","channelsError","currentChannelView","metricsApi.getItemSatisfactionByChannel","updateChannelView","incidentData","incidentError","metricsApi.getItemIncidentInvolvementRate","operationalCategoriesError","currentOperationalCategoryView","currentOperationalCategory","metricsApi.getOperationalCategoryRating","updateOperationalCategoryView","updateOperationalCategory","checkAllValuesSignificant","shouldFilterZero","allValuesNull","AutomationPageType","AutomationPageType2","useAutomation","automations","getAllAutomations","createAutomation","updateAutomation","automationId","deleteAutomation","AutomationType","AutomationType2","AutomationBase","__publicField","FrontEndAutomationType","TagNotificationSourceType","TagNotification","details","TagNotificationDetails","userIds","emails","tagIds","providerIds","starRatings","AutomationTypeInverseMap","FEAutomationTypeLabelMap","AutomationSourceTypeInverseMap","AutomationPromptOptionsMap","instantiateAutomation","automation","useAutomations","getAutomations","automationStore","getAutomationsFromApi","pageType","filterAutomationsByFrontEndType","createdId","createAutomationToApi","updateAutomationToApi","deleteAutomationFromApi","automationsApi.getAllAutomations","automationsApi.createAutomation","automationsApi.updateAutomation","automationsApi.deleteAutomation","frontEndAutomationTypeList","StepState","StepState2","StepVariant","StepVariant2","automationStepStates","createStep","flyoutMenuItem","computedAttributes","statusLabel","stepClasses","textClasses","isFlyoutVisible","formatListWithEllipsis","maxLength","nextPart","hiddenCount","choosePromptFormatter","chooseTagFormatter","tagLabels","formattedTags","chooseProvidersFormatter","providersLabels","providerId","formattedProviders","starRatingFormatter","star","starList","addUsersFormatter","userDescriptions","emailDescriptions","combinedDescriptions","AddStarRating","getTitle","starRatingOptions","selectedStarRatings","selectAllStarRatings","allSelectedOnce","totalSelected","totalOptions","onSelectAllChange","emitChange","onOptionChange","updatedValue","updateSelectAllState","validateTags","updateAndValidateTags","ownKeys","enumerableOnly","sym","_objectSpread2","unwrapObj","ignoreKeys","isProxy","stringPath","gatherBooleanGroupProperties","nestedResults","gatherArrayGroupProperties","fetchedProperty","callRule","siblingState","normalizeValidatorResponse","createAsyncResult","$pending","$dirty","$response","$lazy","$rewardEarly","watchTargets","$lastInvalidState","$lastCommittedOn","$invalid","$pendingCounter","$unwatch","ruleResult","createSyncResult","returnValue","createValidatorResult","validatorName","propertyKey","propertyPath","$params","sortValidations","validationsRaw","validations","validationKeys","nestedValidators","validationGroups","ROOT_PATH","createValidationResults","resultsCache","externalResults","ruleKeys","cachedResult","ruleKey","stringError","collectNestedValidationResults","nestedState","nestedExternalResults","nestedValidationKeys","nestedKey","setValidations","createMetaFields","childResults","allResults","allRes","$silentErrors","modelErrors","nestedErrors","$errors","$anyDirty","$error","$touch","$commit","nr","parentKey","globalConfig","mergedConfig","cachedExternalResults","$validationGroups","$model","external","$validate","$getResultsForChild","$clearExternalResults","ResultsStorage","storedRules","storedRulesKeys","newRulesKeys","paramKey","storedRuleResultPair","isValidCache","CollectFlag","VuelidateInjectChildResults","VuelidateRemoveChildResults","nestedValidations","$scope","childResultsRaw","childResultsKeys","injectChildResultsIntoParent","childScope","$stopPropagation","removeChildResultsFromParent","childKey","sendValidationResultsToParent","removeValidationResultsFromParent","ComputedProxyFactory","useVuelidate","$registerAs","$externalResults","currentVueInstance","validationResults","validationsWatchTarget","newValidationRules","normalizeValidatorObject","unwrapValidatorResponse","unwrapNormalizedValidator","withParams","$validator","validatorObj","withMessage","$message","withAsync","$watchTargets","collection","collectionItem","collectionEntryResult","innerValidators","propertyResult","currentValidator","$valid","req","expr","reg","common","email$1","email","maxLength$1","required$1","url$1","minValue$1","maxValue$1","automationInputUser","emailValidationResults","emailStr","emitInputChange","emailInput","v$","hasEmailErrors","addEmail","editEmail","removeEmail","hasUsers","hasValidEmails","hasInvalidEmail","responseIncidentTagAutomationSteps","AddTags","AddUsers","updateAndValidateProviders","validateProviders","onlineReviewTagAutomationSteps","AddProviders","promptOptions","newAutomationSteps","CreateAutomation","getStepInformation","checkIsMobile","visibleSteps","stepInfoMap","infoMap","stepData","handleStepClick","stepIndex","useMultiStep","nubmerOfSteps","mapAutomationDataToUpsertRequest","wizardData","addUsers","chooseTag","chooseProviders","starRating","choosePrompt","promptType","sourceType","FrontEndAutomationTypeToTypeAndSourceMap","undefined","CORE_ERROR_TEXT","INVALID_TEMPL_VAR_ERROR_TEXT","MAX_MEMOIZE_SIZE","PLACEHOLDER","CLONE_DEEP_FLAG","CLONE_FLAT_FLAG","CLONE_SYMBOLS_FLAG","WRAP_BIND_FLAG","WRAP_BIND_KEY_FLAG","WRAP_CURRY_BOUND_FLAG","WRAP_CURRY_FLAG","WRAP_CURRY_RIGHT_FLAG","WRAP_PARTIAL_FLAG","WRAP_PARTIAL_RIGHT_FLAG","WRAP_ARY_FLAG","WRAP_REARG_FLAG","WRAP_FLIP_FLAG","DEFAULT_TRUNC_LENGTH","DEFAULT_TRUNC_OMISSION","HOT_COUNT","HOT_SPAN","LAZY_FILTER_FLAG","LAZY_MAP_FLAG","LAZY_WHILE_FLAG","INFINITY","MAX_INTEGER","MAX_ARRAY_LENGTH","MAX_ARRAY_INDEX","HALF_MAX_ARRAY_LENGTH","wrapFlags","domExcTag","weakSetTag","reEmptyStringLeading","reEmptyStringMiddle","reEmptyStringTrailing","reEscapedHtml","reUnescapedHtml","reHasEscapedHtml","reHasUnescapedHtml","reEscape","reEvaluate","reInterpolate","reIsDeepProp","reIsPlainProp","rePropName","reHasRegExpChar","reWrapComment","reWrapDetails","reSplitDetails","reAsciiWord","reForbiddenIdentifierChars","reEscapeChar","reEsTemplate","reLatin","reNoMatch","reUnescapedString","rsAstralRange","rsComboMarksRange","reComboHalfMarksRange","rsComboSymbolsRange","rsComboRange","rsDingbatRange","rsLowerRange","rsMathOpRange","rsNonCharRange","rsPunctuationRange","rsSpaceRange","rsUpperRange","rsVarRange","rsBreakRange","rsApos","rsAstral","rsBreak","rsCombo","rsDigits","rsDingbat","rsLower","rsMisc","rsFitz","rsModifier","rsNonAstral","rsRegional","rsSurrPair","rsUpper","rsZWJ","rsMiscLower","rsMiscUpper","rsOptContrLower","rsOptContrUpper","reOptMod","rsOptVar","rsOptJoin","rsOrdLower","rsOrdUpper","rsSeq","rsEmoji","rsSymbol","reApos","reComboMark","reUnicode","reUnicodeWord","reHasUnicode","reHasUnicodeWord","contextProps","templateCounter","deburredLetters","htmlEscapes","htmlUnescapes","stringEscapes","freeParseFloat","nodeIsArrayBuffer","nodeIsDate","nodeIsMap","nodeIsRegExp","nodeIsSet","arrayAggregator","arrayEachRight","arrayEvery","arrayIncludes","baseIndexOf","arrayIncludesWith","comparator","arrayMap","arrayReduceRight","asciiSize","baseProperty","asciiToArray","asciiWords","baseFindKey","eachFunc","baseFindIndex","fromIndex","fromRight","strictIndexOf","baseIsNaN","baseIndexOfWith","baseMean","baseSum","basePropertyOf","baseReduce","baseSortBy","comparer","baseToPairs","baseValues","charsStartIndex","strSymbols","chrSymbols","charsEndIndex","countHolders","deburrLetter","escapeHtmlChar","escapeStringChar","chr","hasUnicode","hasUnicodeWord","iteratorToArray","replaceHolders","setToPairs","strictLastIndexOf","stringSize","unicodeSize","stringToArray","unicodeToArray","unescapeHtmlChar","unicodeWords","runInContext","Array","Date","Error","Function","Math","Object","RegExp","String","TypeError","idCounter","objectCtorString","oldDash","allocUnsafe","spreadableSymbol","symIterator","ctxClearTimeout","ctxNow","ctxSetTimeout","nativeCeil","nativeFloor","nativeIsFinite","nativeJoin","nativeNow","nativeParseInt","nativeRandom","nativeReverse","metaMap","realNames","symbolToString","lodash","LazyWrapper","LodashWrapper","wrapperClone","baseLodash","chainAll","lazyClone","lazyReverse","lazyValue","isRight","getView","iteratees","iterLength","takeCount","baseWrapperValue","iterIndex","arraySample","baseRandom","arraySampleSize","shuffleSelf","arrayShuffle","assignMergeValue","baseAssignValue","baseAggregator","baseEach","baseAssignIn","keysIn","baseAt","copySymbolsIn","isMap","getAllKeysIn","baseConforms","baseConformsTo","baseDelay","setTimeout","baseDifference","isCommon","valuesLength","valuesIndex","createBaseEach","baseForOwn","baseEachRight","baseForOwnRight","baseEvery","baseExtremum","baseFill","toInteger","toLength","baseFilter","baseFlatten","isFlattenable","baseFor","createBaseFor","baseForRight","baseFunctions","baseGet","castPath","toKey","baseGt","baseHas","baseHasIn","baseInRange","baseIntersection","arrays","caches","baseInverter","baseInvoke","baseIsArrayBuffer","baseIsDate","baseIsMap","baseIsMatch","matchData","noCustomizer","srcValue","baseIsRegExp","baseIsSet","baseIteratee","baseMatchesProperty","baseMatches","baseKeysIn","nativeKeysIn","isProto","baseLt","baseMap","getMatchData","matchesStrictComparable","isKey","isStrictComparable","hasIn","baseMerge","srcIndex","baseMergeDeep","safeGet","mergeFunc","isTyped","toPlainObject","baseNth","baseOrderBy","orders","getIteratee","compareMultiple","basePick","basePickBy","baseSet","basePropertyDeep","basePullAll","basePullAt","baseUnset","baseRange","baseRepeat","baseRest","setToString","overRest","baseSample","baseSampleSize","baseSetData","baseSetToString","constant","baseShuffle","baseSlice","baseSome","baseSortedIndex","retHighest","baseSortedIndexBy","valIsNaN","valIsNull","valIsSymbol","valIsUndefined","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","setLow","baseSortedUniq","baseToNumber","baseToString","baseUniq","createSet","seenIndex","baseUpdate","baseWhile","isDrop","baseXor","baseZipObject","assignFunc","valsLength","castArrayLikeObject","castFunction","stringToPath","castRest","castSlice","compareAscending","valIsDefined","valIsReflexive","objCriteria","othCriteria","ordersLength","composeArgs","partials","holders","isCurried","argsIndex","argsLength","holdersLength","leftLength","isUncurried","composeArgsRight","holdersIndex","rightLength","getSymbolsIn","createAggregator","initializer","createAssigner","assigner","guard","isIterateeCall","iterable","createBind","isBind","createCtor","createCaseFirst","createCompounder","deburr","thisBinding","createCurry","arity","getHolder","createRecurry","createHybrid","createFind","findIndexFunc","createFlow","flatRest","funcs","prereq","getFuncName","funcName","isLaziable","partialsRight","holdersRight","argPos","ary","isAry","isBindKey","isFlip","holdersCount","newHolders","reorder","createInverter","toIteratee","createMathOperation","createOver","arrayFunc","createPadding","chars","charsLength","createPartial","toFinite","createRelationalOperation","wrapFunc","isCurry","newHoldersRight","newPartials","newPartialsRight","setData","setWrapToString","createRound","createToPairs","createWrap","mergeData","customDefaultsAssignIn","customDefaultsMerge","customOmitClone","arrStacked","othStacked","objStacked","flatten","otherFunc","getWrapDetails","hasFunc","insertWrapDetails","isMaskable","memoizeCapped","memoize","srcBitmask","newBitmask","isCombo","otherArgs","oldArray","shortOut","updateWrapDetails","lastCalled","stamp","rand","quote","subString","concat","differenceBy","differenceWith","drop","dropRight","dropRightWhile","dropWhile","findIndex","findLastIndex","flattenDeep","flattenDepth","fromPairs","intersection","intersectionBy","intersectionWith","lastIndexOf","nth","pull","pullAll","pullAllBy","pullAllWith","pullAt","remove","sortedIndex","sortedIndexBy","sortedIndexOf","sortedLastIndex","sortedLastIndexBy","sortedLastIndexOf","sortedUniq","sortedUniqBy","take","takeRight","takeRightWhile","takeWhile","union","unionBy","unionWith","uniq","uniqBy","uniqWith","unzip","unzipWith","without","xor","xorBy","xorWith","zip","zipObject","zipObjectDeep","zipWith","tap","thru","wrapperAt","wrapperChain","wrapperCommit","wrapperNext","wrapperToIterator","wrapperPlant","wrapperReverse","wrapperValue","countBy","every","findLast","flatMap","flatMapDeep","flatMapDepth","forEachRight","invokeMap","keyBy","orderBy","partition","reduceRight","negate","sampleSize","shuffle","bindKey","curryRight","memoized","overArgs","funcsLength","partial","partialRight","rearg","unary","castArray","cloneWith","cloneDeepWith","conformsTo","gt","gte","isElement","isEqualWith","isError","isFinite","isMatch","isMatchWith","isNaN","isNative","isNull","isNil","isSafeInteger","isWeakMap","isWeakSet","lte","toSafeInteger","assignIn","assignInWith","assignWith","at","propsIndex","propsLength","defaultsDeep","mergeWith","findLastKey","forIn","forInRight","forOwn","forOwnRight","functionsIn","invertBy","invoke","mapKeys","mapValues","omitBy","setWith","toPairs","toPairsIn","isArrLike","unset","updateWith","valuesIn","random","floating","word","upperFirst","escapeRegExp","kebabCase","lowerFirst","strLength","parseInt","radix","repeat","snakeCase","startCase","startsWith","imports","importsKeys","importsValues","isEscaping","isEvaluating","reDelimiters","sourceURL","escapeValue","interpolateValue","esTemplateValue","evaluateValue","variable","attempt","toLower","toUpper","trimEnd","trimStart","omission","substring","newEnd","unescape","upperCase","bindAll","methodNames","conforms","defaultTo","flow","flowRight","matchesProperty","methodOf","noConflict","nthArg","overEvery","overSome","propertyOf","rangeRight","stubObject","stubString","stubTrue","times","toPath","uniqueId","augend","addend","ceil","divide","maxBy","mean","meanBy","minBy","multiply","multiplicand","minuend","subtrahend","sumBy","isFilter","takeName","dropName","checkIteratee","isTaker","lodashFunc","retUnwrapped","isLazy","isHybrid","isUnwrapped","onlyLazy","chainName","initializeMultiStep","useAutomationWizard","inputState","wizardState","createState","emptyState","merchantStore","setStepsByPromptType","setSteps","initializeFormData","generateError","propsToOmit","formDataHasChanged","_state","toValue","committed","getActiveTags","handleNext","toast","stepName","isFirstStep","isLastStep","finalRequest","previousPromptType","currentPromptType","updateStepStatus","handlePrevious","handleStep","existingData","populateWizardFromAutomation","updateStepData","stepKey","additionalStepMapping","baseSteps","finalSteps","preservedData","_updateFormData","resetState","getWrapperWidth","getAlertClass","currentClass","showBar","backDisabled","getDisabled","getLabelSubmit","getLabelBack","getDisabledCancel","getLabelCancel","currentComponent","curentStepData","currentStepVariant","handleUpdateFormData","handleUpdateValid","handleNextClick","lastStep","handlePreviousClick","handleCancelClick","isModalOpen","deleteAutomationSave","showToast","showGenericError","deleteAutomationReset","getDescription","toggleActive","toggleAutomationReset","getActionText","Permissions","usePermissions","checkPermission","permissionTitle","permissionStore","permissions","perm","filterAutomations","canViewAutomations","canModifyAutomations","hasViewAccess","isModifyAccess","activeAutomation","fetchAutomations","paginatedAutomations","handleNewClick","handleEditClick","setAction","toggleAutomation","invokeDeleteAutomation","showDeleteAutomationDialog","invokeToggleAutomation","refreshAutomations","automationReset","showAutomation","componentKey","automationsQuantity","showTitleBar","fetchUsers","fetchProviders","fetchTags","resultTags","resultProviders","resultUsers","handleNew","handleCancel","handleSave","handleEdit","useCalloutText","getDiffText","strValue","strDiff","inactive","metric","strMetricValue","strMetricText","getTotalReviewsDiffText","getAverageRatingsDiffText","incomparableReviewCount","incomparableAvgRating","previousEndDate","previousStartDate","dateRangeText","article","snapShotText","roundToPlaces","notEmpty","activeResults","largestSummaryReview","providersMap","hasProvider","getProviderName","getProviderLogoUrl","ratingList","convertToK","selectedDatum","payloadDate","starRatingLabels","countByStarRating","ratingsSummary","getChatmeterIntegrationIsActive","getOverview","getList","keywordSearchCriteria","reviewId","paramReviewId","getAiResponse","regenerate","getBulkAiResponse","reviewIds","postResponse","postBulkResponse","putResponse","getChatmeterCredentialsLink","postReviewTags","getCompetitorRatingSummary","getRatingSummary","getProviderSummary","getOverallRatings","getTopReviewTags","topReviewTags","integrationIsActive","Loading","notLoading","Active","Inactive","onFilterBarApply","updateMetrics","onFilterBarLoaded","reviewsApi.getChatmeterIntegrationIsActive","overviewData","ratingSummaryData","reviewSiteSummaryData","overallRatingData","competitorRatings","getPayload","promiseOverview","metricsApi.getOverview","promiseProviderSummary","metricsApi.getProviderSummary","promiseRatingsSummary","metricsApi.getRatingSummary","promiseOverallRatings","metricsApi.getOverallRatings","promiseCompetitorRatingSummary","metricsApi.getCompetitorRatingSummary","promiseProviders","promiseTopReviewTags","metricsApi.getTopReviewTags","overviewResponse","providerSummaryResponse","ratingsSummaryResponse","overallRatingResponse","competitorRatingSummaryResponse","providersResponse","topReviewTagsResponse","ratingsData","firstError","topReviewTagMetric","timedOut","X","Y","closeTimeout","getTargetRectangle","popRect","getPopoverRectangle","getPopover","showTagsModal","tagItems","editingTags","editTags","noChanges","saveTags","saveParams","removeItem","getTemplates","postTemplate","putTemplate","templateId","deleteTemplate","ResponseStatuses","useResponses","useReviews","createEmptyResponse","DateFormat","canRespondToOnlineReviews","canRespondWithAi","createEmptyReviewClient","hasSentResponse","popoverTarget","popoverReview","errorCode","responder","aiResponder","activeReview","templates","getReviews","showPagination","locationsMap","tagsMap","canBulkRespond","review","hasLocation","getLocationLabel","getLocationAddress","address","hasTags","getTagFromId","getTagDescription","flyoutMenuItems","reviewTags","getReviewTags","saveReviewTags","reviewsApi.postReviewTags","templatesApi.getTemplates","replyOptions","filteredTemplates","filterTemplatesByRating","isLastItem","hasDetail","hasLink","starColor","hasReplies","hasNoReplies","hasResponseError","getLatestResponseStatus","Replying","notReplying","showReplyButton","showReplyWithAiButton","showReplyEdit","showWorking","isResponseError","responseStatus","hasResponseType","getLatestResponseType","hasResponseUserName","getLatestResponseUserName","replyToSelectedOption","replyToCancel","showWarning","replyToConfirm","getReplyTitle","getLatestResponseDetail","detail","responseUserName","getLatestResponseDate","responseDate","getPillId","getResponsePillColor","pillOver","pillLeave","updatePopover","reply","resend","setCredentials","reviewsApi.getChatmeterCredentialsLink","replyToAiStart","reviewsApi.getAiResponse","stepTotal","replyTypeAI","replyTypeTemplate","RegenCountMax","nextMultiStep","canAccessGlobalSettings","globalAccess","selectedTemplate","selectedTemplateResponseDetail","templateConfirmed","replyType","activeReviewIndex","activeReviewResponseDetail","activeReviewRegenCount","aiReviewsConfirmed","overrideReadMore","templateReply","aiReply","modalBulk","loadTemplates","isStepOne","isStepTwoAi","isNotLoading","isStepTwoTemplate","confirmationText","currentStep","confirmationDisabled","aiConfirmed","instructionText","ratingMinMax","availableTemplates","showTemplateChooser","showTemplateError","templateErrorType","templateErrorHeader","templateErrorText","text3","help1","help2","help","templateErrorButtonText","templateErrorButtonIcon","templateReplyStatus","templateHeaderPrefix","templateHeader","aiReplyStatus","activeReviewId","activeReviewProviderId","activeReviewHasProvider","activeReviewProviderLogoUrl","activeReviewLocationId","activeReviewHasLocation","activeReviewLocation","activeReviewAddress","activeReviewDate","activeReviewer","activeReviewDetail","activeReviewConfirmed","activeReviewRegenDisabled","activeReviewLoading","readLabel","readIcon","onCreateTemplateClick","onConfirmation","step1Confirmation","step2Confirmation","generateAIResponses","onSelectTemplate","onConfirmTemplate","toggleRead","onConfirmAi","getDimension","activeReviewStarColor","responses","reviewsApi.getBulkAiResponse","generateAIResponse","hasNextPage","greatestPageNumber","TemplateActions","getAlertText","basePath","success","baseTranslationPath","actionKey","getActionKey","actionText","setAlert","alert","resetAlert","recalcPagination","paging","keywordSearchCriteriaLast","tagParams","listData","showBulkReply","bulkData","replyAlert","firstLoad","bulkReplySelection","disableBulkReply","disableBulkReplySelectAll","bulkReplyMaximun","bulkSelectionState","alerts.resetAlert","updateReviews","onKeywordSearch","onReply","reviewsApi.postResponse","getReplyPayload","alerts.setAlert","onReplyResend","reviewsApi.putResponse","onPageChange","onBulkSelection","onBulkReply","onConfirmBulkReply","reviewsApi.postBulkResponse","getBulkReplyPostPayload","getFocusReviewID","isResponder","listOnly","updateReviewListOnly","updateReviewFull","promiseList","reviewsApi.getList","promiseLocations","locationsApi.getLocationsAll","listResponse","locationsResponse","tagsResponse","hydrateLocalProperties","focusReviewId","reviewsApi.getOverview","_j","_k","_m","reviews","getLatestResponse","latest","StarRatingsValueToLabelObject","getErrorMessage","createTemplateDialog","setupCreateTemplate","createTemplateReset","clearTemplate","createTemplateSave","hasChanged","newValues","oldValues","editTemplateSave","editTemplateReset","deleteTemplateSave","deleteTemplateReset","activeTemplate","templateAlert","templatesPerPage","modalData","toggleFlyout","editTag","showEditTemplate","showDeleteTemplate","getRating","templateCreated","createdTemplate","templatesApi.postTemplate","templateReset","templateUpdated","updatedTemplate","templatesApi.putTemplate","templateDeleted","deletedTemplate","templatesApi.deleteTemplate","getModalData","formatDateTimeTo2Digit","getEmailSenderDomains","createEmailSenderDomain","deleteEmailSenderDomain","emailSenderDomainId","verifyEmailSenderDomain","getEmailInboundConfiguration","createEmailInboundConfiguration","createSurveyReply","surveyId","WContainer","WAccordion","WAccordionItem","WButton","refreshItems","getInboundConfiguration","mainDomain","domainRules","inputDomain","emailSenderDomains","emailSenderTableHeaders","displayedDomainName","selectedDomain","pendingDeleteId","domainInputFormValidation","selectedTab","newDomain","modalFlags","callsInFlight","deleteItem","createDomain","domainLowered","closeDelete","deleteItemConfirm","inbound","originalInbound","showError","inboundChanged","isUpdateInboundConfiguration","showConfirmModal","saveInboundConfiguration","showSuccess","loadingTags","tagExists","tagExistsMessage","labelError","usingExistingTag","getTotalTags","totalItems","changeSort","showTimeouterror","handlePageChange","newPage","isEdit","editingTag","getModalAction","getModalHeadline","existingTagLabel","showFormModal","resetModal","savingTag","saveTag","tagsApi.updateTag","tagsApi.createTag","showDeleteModal","deletingTag","isDeletingTag","confirmDelete","tagsApi.deleteTag","displayTooltip","isClickOpen","mouseEnter","mouseLeave","toggleHover","handleClickOutside","getAiCoachEntityAccess","putAiCoachEntityAccess","createAiCoachPreview","retrieveAiCoachPreview","previewId","useAiCoachPreview","previewModel","inProgress","locationLabel","snapshotLabel","getLocationCurrentObjectives","merchantsId","useObjectivesSetupProgress","useLegacyObjectives","objectives","debounceTime","maxPreviewAttempts","lastPersistCall","isLoaded","loadingProgressStore","aiCoachPreviewStore","aiCoachEnabled","groupList","locationList","groupLocationLookup","aiSettings","previewFeedback","locationObjectiveInfo","showPreviewModal","showFeedbackPreviewModal","previewLocation","previewEndpointCounter","objectiveStore","manuallySelectedLocations","lastSavedBoundary","retrieveDropdownData","selectedGroupLocations","locationSet","disabledLocations","itemPropHandler","groupSelectionChange","selectedGroupIds","isAllLocationsSelected","availableLocations","totalAvailableLocations","isLocationsIndeterminate","showPreviewModalClick","previewActionItemConfirm","snapshotId","resp","pollPreviewEndpoint","previewLocationList","previewActionItemCancel","isAllGroupsSelected","isGroupsIndeterminate","errorMessage","successMessage","persistAccessChanges","compareObject","promiseArray","getFirstWord","getRest","firstSpaceIndex","deleteAiCoachBoundary","upsertAiCoachBoundary","getAiCoachBoundaries","useAiCoachBoundaries","boundaries","getMerchantQuestionSnapshots","boundaryStore","selectedObjective","allObjectives","objectivePrompt","objectiveChanged","loadData","setupWatch","filteredObjectives","objective","saveBoundary","showEditBoundaryModal","showDeleteBoundaryModal","objectiveModalDetails","flyoutComponents","updateBoundary","matchingBoundary","otherBoundaries","deleteBoundary","cancelUpdateBoundary","cancelDeleteBoundary","itemAction","activatePreference","preferenceKey","deactivatePreference","useAiCoachFeatureFlag","isEnabled","objectiveSetupStore","merchantIdStore","aiCoachFeatureFlagStore","flagEnabled","updateFlag","KnowledgeBaseDocumentStatus","uploadNewDocument","deleteDocument","documentId","getDocumentList","sortColumn","statusFilter","previewDocument","BYTES_IN_MEGABYTE","MAX_SIZE_IN_MEGABYTE","allowedFileTypes","documentName","documentDescription","documentFile","formIsValid","uploadInProgress","uploadAbortController","validateDocumentDescriptionOrName","validateFileSize","fileArg","fileSizeInMB","formatFileSize","persistDocument","resetData","cancelHandler","getFlyoutComponents","convertToHumanDateTime","statusStyleLookup","showUploadDocumentModal","showPreviewDocumentModal","showDeleteDocumentModal","previewDocumentS3Url","deleteDocumentObject","tableLoading","toastSettings","displayToast","description","showUploadDocumentModalClick","persistedDocument","retrieveTableData","launchDeleteDocumentModal","handleDeleteDocument","handleDownloadDocument","loadItems","itemObj","pageHandler","getIncidents","getIncidentById","incidentId","setReviewUser","SurveyFacade","surveyIdMatch","parsedData","snapshotIdMatch","questionIdMatch","questionId","questionData","answers","answer","allAnswer","SurveyFacade$1","getSurveyById","getSurveys","generateAIReply","getSurveyTags","editSurveyTag","getSurveyTimeline","updateSurveyLocation","getOrderItemsByTransactionId","transactionId","getMenuLevelFeedbackItems","sendSurveyMail","updateQuestion","deleteOperationalCategory","getSurveyAnswers","deleteSurvey","removeFlag","flagForReview","getCustomerById","customerId","IncidentStage","partyingFace","getTimelineItems","timelineItems","objectId","hasHandledExternally","itemCreatedStage","itemReviewedStage","itemMessagedStage","itemResolvedStage","itemRecoveredStage","arrayItems","spacing","getDifferenceAsString","starStruck","expressionlessFace","moneyMouthFace","setPrototypeOf","isFrozen","getOwnPropertyDescriptor","freeze","seal","construct","thisValue","Func","arrayForEach","unapply","arrayPop","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","objectHasOwnProperty","regExpTest","typeErrorCreate","unconstruct","addToSet","transformCaseFunc","lcElement","cleanArray","newObject","lookupGetter","fallbackValue","html$1","svg$1","svgFilters","svgDisallowed","mathMl$1","mathMlDisallowed","svg","mathMl","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","CUSTOM_ELEMENT","EXPRESSIONS","NODE_TYPE","getGlobal","_createTrustedTypesPolicy","trustedTypes","purifyHostElement","ATTR_NAME","policyName","scriptUrl","_createHooksMap","createDOMPurify","DOMPurify","document","originalDocument","currentScript","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","NamedNodeMap","HTMLFormElement","DOMParser","ElementPrototype","cloneNode","getNextSibling","getChildNodes","getParentNode","trustedTypesPolicy","emptyHTML","implementation","createNodeIterator","createDocumentFragment","getElementsByTagName","importNode","IS_ALLOWED_URI$1","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","CUSTOM_ELEMENT_HANDLING","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","ALLOW_SELF_CLOSE_IN_ATTR","SAFE_FOR_TEMPLATES","SAFE_FOR_XML","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","SANITIZE_NAMED_PROPS","SANITIZE_NAMED_PROPS_PREFIX","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","PARSER_MEDIA_TYPE","SUPPORTED_PARSER_MEDIA_TYPES","DEFAULT_PARSER_MEDIA_TYPE","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","ALL_SVG_TAGS","ALL_MATHML_TAGS","_checkValidNamespace","parentTagName","_forceRemove","_removeAttribute","_initDocument","dirty","doc","leadingWhitespace","dirtyPayload","_createNodeIterator","_isClobbered","_isNode","_executeHooks","currentNode","_sanitizeElements","_isBasicCustomElement","childCount","childClone","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","hookEvent","namespaceURI","attrValue","_sanitizeShadowDOM","shadowNode","shadowIterator","importedNode","returnNode","nodeIterator","serializedHTML","entryPoint","hookFunction","purify","dateParser","survey","incident","customer","merchantTags","useEmoji","getDotColor","getUserName","getTagLabel","getContent","inTimeline","cleanContent","rewardsReason","getExternalHandlingUserName","extractNameFromContent","addInteraction","markNotificationsAsRead","markThreadAsRead","threadId","getReviewedUsers","getInitials","getTooltipDescription","remainingUsers","surveyTags","stageThreadInput","canReplyToCustomer","updatedSurveyTags","currentSurveyTags","newInteraction","createInteraction","mentionedUsers","tagsChanged","reloadSurveyTags","firstInteraction","showFirstInteraction","showConfetti","newReply","showReplyModal","openReply","sendingReply","sendThreadReply","showUsersList","usersList","filterValue","merchantTagsList","openMentionUser","filterType","dropdown","selectUserToMention","removeMentionedUser","showTagsList","openTagList","removeTag","newTags","undoRemoveTag","removedTags","inputWidth","openThread","interactionValueChanged","lastChar","previousChar","handleKeyDown","maxIndex","listItem","selectedUser","selectedTag","cleanWordTags","openTimelineThread","readNotifications","createdStage","firstMessagedStage","getStageDetails","countTimelineNotifications","actionInteractionCreated","newLocation","locationsList","editingLocation","locationInput","openChangeLocation","showModalConfirmChangeLocation","confirmChangeLocation","newLocationLabel","setNewLocation","cancelUpdateLocation","getOrderDetails","orderItems","menuFeedbackItems","addItemsRating","hasPhoto","showModalPhoto","viewItemPhoto","TransactionFacade","transaction","customerQuestionnaireIdMatch","customerQuestionnaireId","TransactionFacade$1","getTransaction","RewardFacade","reward","rewardCustomer","customerIdMatch","RewardFacade$1","getRewardsList","addCustomerReward","getMerchantRewards","deleteRewardFromSurvey","getRewardsDetails","rewardsItems","currentThreadItem","updateInteractions","goToCustomerPage","showTooltipCopy","copyEmail","isAnonymous","AnswersFacade","AnswersFacade$1","getAnswers","DataOperationalCategoriesFacade","DataOperationalCategoriesFacade$1","getAnswersForQuestion","DataQuestionsFacade","questionnaireIdMatch","DataQuestionsFacade$1","getRawResponses","_getchar","Base64_map","Base64_encode","c3","e1","e2","e3","e4","Base64_encode_arr","Base64_decode","has_buf","Buffer_from","nbfs","enc","buf_utf16le","new_raw_buf","new_unsafe_buf","s2a","s2ab","a2s","a2u","bconcat","bufs","maxlen","utf8decode","widx","ridx","chr0","chr1","_strrev","pad0","pad_","rpad_","pad0r1","pad0r2","p2_32","pad0r","SSF_isgeneral","SSF_init_table","table_fmt","SSF_default_map","SSF_default_str","SSF_frac","sgn","P_2","P_1","Q_2","Q_1","SSF_normalize_xl_unsafe","SSF_parse_date_code","b2","dout","SSF_fix_hijri","SSF_strip_decimal","SSF_normalize_exp","SSF_small_exp","SSF_large_exp","SSF_general_num","V","SSF_general","SSF_format","datenum","SSF_write_date","ss0","ss","tt","outl","outstr","commaify","pct1","write_num_pct","sfmt","write_num","write_num_cm","write_num_exp","fakee","$$","$1","$2","$3","frac1","write_num_f1","aval","den","rr","myn","myd","write_num_f2","dec1","closeparen","phone","hashq","rnd","dd","dec","_frac","carry","flr","write_num_flt","ffmt","ri","ff","oa","lres","rres","write_num_cm2","write_num_pct2","write_num_exp2","write_num_int","SSF_split_fmt","in_str","SSF_abstime","fmt_is_date","eval_fmt","flen","lst","hr","bt","ssm","_dt","nstr","jj","vv","myv","ostr","decpt","lasti","retval","cfregex2","chkcond","thresh","choose_fmt","lat","SSF_load","SSF_load_table","tbl","make_ssf","bad_formats","SSF__load","CRC32","signed_crc_table","T0","slice_by_16_tables","TT","T1","T2","T3","T4","T5","T6","T7","T8","T9","Ta","Tb","Tc","Td","Te","Tf","crc32_bstr","bstr","crc32_buf","crc32_str","CFB","namecmp","dirname","write_dos_date","hms","ymd","parse_dos_date","parse_extra_field","blob","prep_blob","sz","tgt","sz1","sz2","get_fs","_fs","parse_zip","parse_mad","mver","ssz","nmfs","difat_sec_cnt","dir_start","minifat_start","difat_start","fat_addrs","mv","check_get_mver","check_shifts","dir_cnt","sectors","sectorify","sleuth_fat","sector_list","make_sector_list","ENDOFCHAIN","Paths","FileIndex","FullPaths","read_directory","build_full_paths","HEADER_SIGNATURE","nsectors","FI","FP","pl","dad","get_mfat_entry","mini","MSSZ","__readInt32LE","new_buf","get_sector_list","chkd","buf_chain","modulus","addr","__toBuffer","sl","minifat_store","namelen","__utf16le","ctime","read_date","mtime","__readUInt32LE","read_file","read","init_cfb","cfb","seed_cfb","rebuild_cfb","gc","_file","fullPaths","HEADER_CLSID","elt","_write","_opts","write_mad","write_zip","mini_size","fat_size","mini_cnt","mfat_cnt","fat_base","fat_cnt","difat_cnt","HEADER_SIG","chainit","consts","_nm","UCFullPaths","UCPaths","UCPath","write_file","write","_zlib","use_zlib","zlib","InflateRaw","InflRaw","_inflateRawSync","usz","_inflate","_deflateRawSync","_deflate","CLEN_ORDER","LEN_LN","DST_LN","bit_swap_8","use_typed_arrays","bitswap8","bit_swap_n","rev","read_bits_2","bl","read_bits_3","read_bits_4","read_bits_5","read_bits_7","read_bits_n","write_bits_3","write_bits_1","write_bits_8","write_bits_16","realloc","zero_fill_array","build_tree","clens","cmap","MAX","ccode","bl_count","ctree","cleni","fix_lmap","fix_dmap","dlens","_deflateRaw","DST_LN_RE","LEN_LN_RE","write_stored","boff","write_huff_fixed","addrs","mlen","len_eb","dst_eb","dyn_lmap","dyn_dmap","dyn_cmap","dyn_len_1","dyn_len_2","dyn","_HLIT","_HDIST","_HCLEN","next_code","hcodes","h1","h2","inflate","outbuf","woff","OL","max_len_1","max_len_2","bits","dst","warn_or_throw","wrn","fcnt","start_cd","csz","efsz","fcsz","EF","parse_local_file","meth","crc32","_csz","_usz","ef","cfb_add","cdirs","fp","fi","crcs","sz_cd","namebuf","ContentTypeMap","get_content_type","write_base64_76","write_quoted_printable","encoded","si","parse_quoted_printable","di","oi","parse_mime","cte","ctype","fdata","mboundary","start_di","ca","cstr","dispcnt","csl","qp","cfb_new","unsafe","fpath","cfb_del","cfb_mov","old_name","new_name","cfb_gc","ReadShift","CheckField","blobify","write_dl","utf8write","b64","ks","evert","evert_num","evert_arr","dnthresh","dnthresh1","dnthresh2","date1904","epoch","numdate","pdre1","pdre2","pdre3","dup","fuzzynum","wt","FDRE1","FDRE2","FDISO","utc_append_works","fuzzytime1","fuzzytime2","lower_months","fuzzydate","local_to_utc","lnos","utc_to_local","zip_add_file","zip_new","XML_HEADER","encodings","rencoding","decregex","charegex","escapexml","htmlcharegex","escapehtml","utf8reada","orig","utf8readb","ww","utf8readc","utf8corpus","utf8read","htmldecode","entities","wtregex","writetag","wxt_helper","writextag","write_w3cdtf","write_vt","xlsx","XMLNS","XMLNS_main","XLMLNS","read_double_le","write_double_le","bs","av","___toBuffer","___utf16le","__readUInt16LE","___hexlify","__hexlify","___utf8","__readUInt8","__utf8","___lpstr","__lpstr","___cpstr","__cpstr","___lpwstr","__lpwstr","___lpp4","__lpp4","___8lpp4","__8lpp4","___double","__double","__readInt16LE","__readInt32BE","oI","oR","oo","__writeUInt32LE","__writeInt32LE","__writeUInt16LE","WriteShift","hexstr","fld","decode_row","rowstr","unfix_row","encode_row","decode_col","colstr","unfix_col","encode_col","split_cell","decode_cell","encode_cell","cell","decode_range","encode_range","cs","ce","fix_range","formula_quote_sheet_name","sname","safe_decode_range","safe_format_cell","format_cell","BErr","sheet_to_workbook","sheet","sheets","sheet_new","sheet_add_aoa","_ws","dense","_R","_C","_origin","_range","__R","data_R","__C","cell_ref","aoa_to_sheet","RBErr","ct2type","CT_LIST","new_ct","write_ct","type2ct","f1","f2","f3","RELS","get_rels_path","write_rels","rels","rid","add_rels","rId","relobj","targetmode","CORE_PROPS","cp_doit","write_core_props","EXT_PROPS","write_ext_props","write_cust_props","pid","straywsregex","write_sst_xml","sst","sitag","_JS2ANSI","crypto_CreatePasswordVerifier_Method1","Password","Verifier","PasswordArray","PasswordDecoded","PasswordByte","Intermediate1","Intermediate2","Intermediate3","DEF_MDW","MDW","px2char","char2width","DEF_PPI","PPI","px2pt","write_numFmts","NF","write_cellXfs","cellXfs","write_sty_xml","wb","write_theme","Themes","write_xlmeta_xml","write_vml","comments","csize","bbox","_shapeid","_comments","write_vml_comment","fillopts","fillparm","fillxml","shadata","write_comments_xml","iauthor","lastauthor","tcnt","write_tcmnt_xml","people","carr","rootid","tcopts","write_people_xml","person","VBAFMTS","crefregex","browser_has_Map","get_sst_id","revarr","col_obj_w","wch","default_margins","margins","defs","get_cell_style","check_ws","write_ws_xml_merges","merges","write_ws_xml_sheetpr","needed","cname","outlineprops","sheetprot_deffalse","sheetprot_deftrue","write_ws_xml_protection","sp","write_ws_xml_margins","write_ws_xml_cols","cols","write_ws_xml_autofilter","write_ws_xml_sheetviews","sview","write_ws_xml_cell","oldt","oldv","_vv","os","write_ws_xml_data","_cell","write_ws_xml","sidx","rdata","_drawing","relc","rel","WBPropsDef","badchars","check_ws_name","safe","check_wb_names","codes","cn","check_wb","Sheets","DN","dn","nn","write_wb_xml","write_names","workbookPr","sht","make_html_row","RS","CS","preamble","HTML_BEGIN","HTML_END","make_html_preamble","sheet_to_html","footer","sheet_add_dom","or_R","or_C","sheetRows","midx","rowinfo","is_dom_element_hidden","elts","Aelts","Aelti","parse_dom_table","table_to_book","get_computed_style","get_get_computed_style_function","fix_opts_func","fix_write_opts","write_zip_xlsx","wbext","vbafmt","_sn","wsrels","_type","need_vml","cf","needtc","write_cfb_ctr","write_zip_typeXLSX","write_zip_denouement","oopts","ftype","writeSyncXLSX","resolve_book_type","_BT","writeFileSyncXLSX","make_json_row","hdr","defval","isempty","sheet_to_json","outi","header_cnt","colinfo","qreg","make_csv_row","rs","FS","txt","datarow","sheet_to_csv","sheet_to_txt","sheet_to_formulae","cmds","sheet_add_json","ROW","JS","json_to_sheet","ws_get_cell_stub","RC","wb_sheet_idx","sh","book_new","wsname","book_append_sheet","roll","book_set_sheet_visibility","vis","cell_set_number_format","cell_set_hyperlink","cell_set_internal_link","cell_add_comment","author","sheet_set_array_formula","formula","dynamic","rng","rngstr","wsr","useFiles","fileName","writeFileXLSX","csv","exportResultsToCSV","showModal","isTextArea","loadRawResponses","loadMultipleChoiceAnswers","loadOperationalCategoriesAnswers","canShowTable","rawResponses","itemsMultipleChoice","openAllResponses","currentAnswer","multipleChoiceAnswers","operationalCategoriesAnswers","searchKeyword","sumTotalAnswers","curr","canShowChart","headersMultipleChoice","showDeleted","toggleShowDeleted","downloadPage","loadingAll","allRawResponses","downloadAll","headersComments","editingQuestions","cancelChanges","updateQuestions","hasChanges","selectedAnswer","openModal","getReasonsByImpact","reasonsByImpact","getPercentage","getColorRating","editingSnapshots","snapshot","updateOperationalCategories","MessageLogsFacade","messageLogIdMatch","messageLogId","messageLog","MessageLogsFacade$1","addMessageLog","updateMessageLog","UserMerchantsLogsFacade","userMerchantsLog","UserMerchantsLogsFacade$1","sendUsersMerchantsLog","useCustomerReplyParser","replaceTags","links","rpl_survey_title","rpl_date_complete","rpl_business_name","rpl_brand_name","rpl_location_name","rpl_customer_name","rpl_manager_name","rpl_manager_email","rpl_merchant_links","rpl_date_redeemed","rpl_reward_title","rpl","brandName","formatDate","dateString","subject","messageContent","includeReward","selectedReward","expirationDays","contentModified","loadingAI","showAIConfirm","canUseAI","userStore","hasMerchantRewards","isValidForm","initializeForm","handleTemplateChange","handleEditorReady","handleContentChange","closeModal","handleSend","sendReply","handleConfirmAI","getMessageContent","addReward","rewardCustomerParams","processedSubject","mailResponse","mailType","userMerchantLogsParams","customerRewardId","newReward","MessageTemplatesFacade","messageTemplate","MessageTemplatesFacade$1","getMessageTemplates","sendingMessage","messageLogParams","fetchMessageTemplates","fetchRewards","messageTemplates","merchantRewards","showHandledExternallyModal","currentAction","filteredMessageTemplates","handleReplyGuest","feedbackLookup","handleReplySent","getLinks","createLink","updateLink","linkId","deleteLink","useIncidentNav","incidentIds","idIndex","navIds","incidentNav","pages","canShowTimeline","getIncidet","getSurvey","getCustomer","getPreviousFeedback","markAsRead","getIncidentTransaction","getTagsList","getMerchantLinks","incidentsApi.getIncidentById","surveysApi.getSurveyById","loadedCustomer","customersApi.getCustomerById","locationsApi.getLocationById","surveysApi.getSurveyTags","saveIncidentTags","surveysApi.editSurveyTag","caseManagementTimeline","disablePreviousIncident","goToPreviousIncident","disableNextIncident","goToNextIncident","countPreviousFeedback","averageCER","previousFeedbackList","surveysApi.getSurveys","allSurveys","incidentsApi.setReviewUser","rewardsPanel","markAsUnread","isRead","disabledMarkUnread","updateMarkUnreadStatus","reviewedStage","callMarkAsRead","actionUpdatedTimeline","showThread","updateMailSent","merchantLinks","onEditAutomation","onNewAutomation","onCancelAutomation","onWizardSave","loadingLinks","linksApi.getLinks","getProviderLabel","editLink","editingLink","alphaNumAndDashValidator","alphaNumAndDashValidatorMessage","suggestLabelSlug","savingLink","saveLink","linksApi.updateLink","linksApi.createLink","apiValidationErrors","deletingLink","isDeletingLink","linksApi.deleteLink","socialMediaError","slugError","urlError","saveSurveyTags","getOnlineReviewSettings","providersList","socialMediaProviders","questionnairesApi.getOnlineReviewsConfig","saving","questionnairesApi.updateOnlineReviewsConfig","getCTRStats","questionnairesApi.getPublicReviewsCTR","viewAllQuestionnaires","iconPath","headlineModal","confirmButtonText","inputContent","handleConfirm","objectivesId","headerStyle","confirmButtonStyle","cancelButtonStyle","preferencesStore","incidentNavStore","showIdPreference","dataLoaded","updateItems","fetchIncidents","countTotalIncidents","handleRowClick","getResponseTransaction","canFlag","surveyAnswers","surveysApi.getSurveyAnswers","saveResponseTags","disablePreviousResponse","goToPreviousResponse","disableNextResponse","goToNextResponse","isEditing","loadingUpdate","snapshots","surveysApi.updateOperationalCategory","showModalDeleteOperationalCategory","operationalCategoryToDelete","openModalDeleteOperationalCategory","loadingDelete","surveysApi.deleteOperationalCategory","surveysApi.updateQuestion","showModalRevokeReward","openRevokeRewardModal","revokeReward","showModalDeleteFeedback","openDeleteFeedbackModal","deleteFeedback","surveysApi.deleteSurvey","showModalRemoveFlag","openRemoveFlagModal","surveysApi.removeFlag","showModalFlagForReview","flagForReviewReason","openModalFlagForReview","surveysApi.flagForReview","ItemLevelDetails","OnlineReviewStats","OnlineReviewList","OnlineReviewTemplates","EmailConfiguration","TagManagement","AutomationManagement","IncidentsList","IncidentsDetails","DefaultLinks","AICoach","KnowledgeBase","Automations","SurveyTags","PublicReviewSettings","QuestionnaireStatsOverview","AngularMdiIcon","WInputField","WModal","EditObjective","RejectObjective","externalComponents"],"mappings":";;;;;qRAQO,SAASA,GAAIC,EAAQC,EAAKC,EAAK,CACpC,OAAI,MAAM,QAAQF,CAAM,GACtBA,EAAO,OAAS,KAAK,IAAIA,EAAO,OAAQC,CAAG,EAC3CD,EAAO,OAAOC,EAAK,EAAGC,CAAG,EAClBA,IAETF,EAAOC,CAAG,EAAIC,EACPA,EACT,CAEO,SAASC,GAAIH,EAAQC,EAAK,CAC/B,GAAI,MAAM,QAAQD,CAAM,EAAG,CACzBA,EAAO,OAAOC,EAAK,CAAC,EACpB,MACD,CACD,OAAOD,EAAOC,CAAG,CACnB,CCxBO,SAASG,IAAwB,CACpC,OAAOC,GAAW,EAAC,4BACvB,CACO,SAASA,IAAY,CAExB,OAAQ,OAAO,UAAc,KAAe,OAAO,OAAW,IACxD,OACA,OAAO,OAAW,IACd,OACA,EACd,CACO,MAAMC,GAAmB,OAAO,OAAU,WCXpCC,GAAa,wBACbC,GAA2B,sBCDxC,IAAIC,GACAC,GACG,SAASC,IAAyB,CACrC,IAAIC,EACJ,OAAIH,KAAc,SAGd,OAAO,OAAW,KAAe,OAAO,aACxCA,GAAY,GACZC,GAAO,OAAO,aAET,OAAO,OAAW,MAAiB,GAAAE,EAAK,OAAO,cAAgB,MAAQA,IAAO,SAAkBA,EAAG,cACxGH,GAAY,GACZC,GAAO,OAAO,WAAW,aAGzBD,GAAY,IAETA,EACX,CACO,SAASI,IAAM,CAClB,OAAOF,GAAwB,EAAGD,GAAK,IAAG,EAAK,KAAK,KACxD,CCpBO,MAAMI,EAAS,CAClB,YAAYC,EAAQC,EAAM,CACtB,KAAK,OAAS,KACd,KAAK,YAAc,GACnB,KAAK,QAAU,GACf,KAAK,OAASD,EACd,KAAK,KAAOC,EACZ,MAAMC,EAAkB,CAAA,EACxB,GAAIF,EAAO,SACP,UAAWG,KAAMH,EAAO,SAAU,CAC9B,MAAMI,EAAOJ,EAAO,SAASG,CAAE,EAC/BD,EAAgBC,CAAE,EAAIC,EAAK,YAC9B,CAEL,MAAMC,EAAsB,mCAAmCL,EAAO,EAAE,GACxE,IAAIM,EAAkB,OAAO,OAAO,CAAE,EAAEJ,CAAe,EACvD,GAAI,CACA,MAAMK,EAAM,aAAa,QAAQF,CAAmB,EAC9CG,EAAO,KAAK,MAAMD,CAAG,EAC3B,OAAO,OAAOD,EAAiBE,CAAI,CACtC,MACS,CAET,CACD,KAAK,UAAY,CACb,aAAc,CACV,OAAOF,CACV,EACD,YAAYG,EAAO,CACf,GAAI,CACA,aAAa,QAAQJ,EAAqB,KAAK,UAAUI,CAAK,CAAC,CAClE,MACS,CAET,CACDH,EAAkBG,CACrB,EACD,KAAM,CACF,OAAOX,GAAG,CACb,CACb,EACYG,GACAA,EAAK,GAAGR,GAA0B,CAACiB,EAAUD,IAAU,CAC/CC,IAAa,KAAK,OAAO,IACzB,KAAK,UAAU,YAAYD,CAAK,CAEpD,CAAa,EAEL,KAAK,UAAY,IAAI,MAAM,GAAI,CAC3B,IAAK,CAACE,EAASC,IACP,KAAK,OACE,KAAK,OAAO,GAAGA,CAAI,EAGnB,IAAIC,IAAS,CAChB,KAAK,QAAQ,KAAK,CACd,OAAQD,EACR,KAAAC,CAC5B,CAAyB,CACzB,CAGA,CAAS,EACD,KAAK,cAAgB,IAAI,MAAM,GAAI,CAC/B,IAAK,CAACF,EAASC,IACP,KAAK,OACE,KAAK,OAAOA,CAAI,EAElBA,IAAS,KACP,KAAK,UAEP,OAAO,KAAK,KAAK,SAAS,EAAE,SAASA,CAAI,EACvC,IAAIC,KACP,KAAK,YAAY,KAAK,CAClB,OAAQD,EACR,KAAAC,EACA,QAAS,IAAM,CAAG,CAC9C,CAAyB,EACM,KAAK,UAAUD,CAAI,EAAE,GAAGC,CAAI,GAIhC,IAAIA,IACA,IAAI,QAAQC,GAAW,CAC1B,KAAK,YAAY,KAAK,CAClB,OAAQF,EACR,KAAAC,EACA,QAAAC,CAChC,CAA6B,CAC7B,CAAyB,CAIzB,CAAS,CACJ,CACD,MAAM,cAAc7B,EAAQ,CACxB,KAAK,OAASA,EACd,UAAWmB,KAAQ,KAAK,QACpB,KAAK,OAAO,GAAGA,EAAK,MAAM,EAAE,GAAGA,EAAK,IAAI,EAE5C,UAAWA,KAAQ,KAAK,YACpBA,EAAK,QAAQ,MAAM,KAAK,OAAOA,EAAK,MAAM,EAAE,GAAGA,EAAK,IAAI,CAAC,CAEhE,CACL,CCpGO,SAASW,GAAoBC,EAAkBC,EAAS,CAC3D,MAAMC,EAAaF,EACb/B,EAASK,KACTW,EAAOZ,KACP8B,EAAc5B,IAAoB2B,EAAW,iBACnD,GAAIjB,IAAShB,EAAO,uCAAyC,CAACkC,GAC1DlB,EAAK,KAAKT,GAAYwB,EAAkBC,CAAO,MAE9C,CACD,MAAMG,EAAQD,EAAc,IAAIpB,GAASmB,EAAYjB,CAAI,EAAI,MAChDhB,EAAO,yBAA2BA,EAAO,0BAA4B,CAAA,GAC7E,KAAK,CACN,iBAAkBiC,EAClB,QAAAD,EACA,MAAAG,CACZ,CAAS,EACGA,GACAH,EAAQG,EAAM,aAAa,CAClC,CACL,CCzBA;AAAA;AAAA;AAAA;AAAA,GAYA,IAAIC,GAQJ,MAAMC,GAAkBC,GAAWF,GAAcE,EAK3CC,GAAyD,OAAO,OAAO,EAE7E,SAASC,GAETC,EAAG,CACC,OAAQA,GACJ,OAAOA,GAAM,UACb,OAAO,UAAU,SAAS,KAAKA,CAAC,IAAM,mBACtC,OAAOA,EAAE,QAAW,UAC5B,CAMA,IAAIC,IACH,SAAUA,EAAc,CAQrBA,EAAa,OAAY,SAMzBA,EAAa,YAAiB,eAM9BA,EAAa,cAAmB,gBAEpC,GAAGA,KAAiBA,GAAe,CAAE,EAAC,EAEtC,MAAMC,GAAY,OAAO,OAAW,IAO9BC,GAA6KD,GA67BnL,SAASE,GAAYC,EAAUC,EAAU,CAErC,UAAW9C,KAAO8C,EAAU,CACxB,MAAMC,EAAWD,EAAS9C,CAAG,EAE7B,GAAI,EAAEA,KAAO6C,GACT,SAEJ,MAAMG,EAAcH,EAAS7C,CAAG,EAC5BuC,GAAcS,CAAW,GACzBT,GAAcQ,CAAQ,GACtB,CAACE,EAAAA,MAAMF,CAAQ,GACf,CAACG,EAAAA,WAAWH,CAAQ,EACpBF,EAAS7C,CAAG,EAAI4C,GAAYI,EAAaD,CAAQ,EAS7CF,EAAS7C,CAAG,EAAI+C,CAG3B,CACD,OAAOF,CACX,CAmDA,MAAMM,GAAO,IAAM,CAAA,EACnB,SAASC,GAAgBC,EAAeC,EAAUC,EAAUC,EAAYL,GAAM,CAC1EE,EAAc,KAAKC,CAAQ,EAC3B,MAAMG,EAAqB,IAAM,CAC7B,MAAMC,EAAML,EAAc,QAAQC,CAAQ,EACtCI,EAAM,KACNL,EAAc,OAAOK,EAAK,CAAC,EAC3BF,IAEZ,EACI,MAAI,CAACD,GAAYI,EAAAA,mBACbC,EAAc,eAACH,CAAkB,EAE9BA,CACX,CACA,SAASI,GAAqBR,KAAkB1B,EAAM,CAClD0B,EAAc,MAAK,EAAG,QAASC,GAAa,CACxCA,EAAS,GAAG3B,CAAI,CACxB,CAAK,CACL,CAEA,MAAMmC,GAA0BC,GAAOA,IACvC,SAASC,GAAqBjE,EAAQkE,EAAc,CAE5ClE,aAAkB,KAAOkE,aAAwB,KACjDA,EAAa,QAAQ,CAAC1C,EAAOvB,IAAQD,EAAO,IAAIC,EAAKuB,CAAK,CAAC,EAG3DxB,aAAkB,KAAOkE,aAAwB,KACjDA,EAAa,QAAQlE,EAAO,IAAKA,CAAM,EAG3C,UAAWC,KAAOiE,EAAc,CAC5B,GAAI,CAACA,EAAa,eAAejE,CAAG,EAChC,SACJ,MAAM+C,EAAWkB,EAAajE,CAAG,EAC3BgD,EAAcjD,EAAOC,CAAG,EAC1BuC,GAAcS,CAAW,GACzBT,GAAcQ,CAAQ,GACtBhD,EAAO,eAAeC,CAAG,GACzB,CAACiD,EAAAA,MAAMF,CAAQ,GACf,CAACG,EAAAA,WAAWH,CAAQ,EAIpBhD,EAAOC,CAAG,EAAIgE,GAAqBhB,EAAaD,CAAQ,EAIxDhD,EAAOC,CAAG,EAAI+C,CAErB,CACD,OAAOhD,CACX,CACA,MAAMmE,GACA,OAAO,qBAAqB,EAsBlC,SAASC,GAAcC,EAAK,CACxB,MAEM,CAAC7B,GAAc6B,CAAG,GAAK,CAACA,EAAI,eAAeF,EAAiB,CACtE,CACA,KAAM,CAAEG,OAAAA,EAAQ,EAAG,OACnB,SAASC,GAAW9B,EAAG,CACnB,MAAO,CAAC,EAAES,EAAAA,MAAMT,CAAC,GAAKA,EAAE,OAC5B,CACA,SAAS+B,GAAmBtD,EAAIuD,EAASnC,EAAOoC,EAAK,CACjD,KAAM,CAAE,MAAAC,EAAO,QAAAC,EAAS,QAAAC,CAAO,EAAKJ,EAC9BK,EAAexC,EAAM,MAAM,MAAMpB,CAAE,EACzC,IAAI6D,EACJ,SAASC,GAAQ,CACT,CAACF,GAA6D,CAACJ,IAM3DpC,EAAM,MAAM,MAAMpB,CAAE,EAAIyD,EAAQA,EAAO,EAAG,IAIlD,MAAMM,EAAwDP,EAEtDQ,EAAM,OAACC,EAAG,IAACR,EAAQA,EAAK,EAAK,CAAA,CAAE,EAAE,KAAK,EACxCO,EAAAA,OAAO5C,EAAM,MAAM,MAAMpB,CAAE,CAAC,EAClC,OAAOoD,GAAOW,EAAYL,EAAS,OAAO,KAAKC,GAAW,CAAA,CAAE,EAAE,OAAO,CAACO,EAAiBC,KACpCA,KAAQJ,GACnD,QAAQ,KAAK,uGAAuGI,CAAI,eAAenE,CAAE,IAAI,EAEjJkE,EAAgBC,CAAI,EAAIC,EAAO,QAACC,EAAQ,SAAC,IAAM,CAC3ClD,GAAeC,CAAK,EAEpB,MAAMyC,EAAQzC,EAAM,GAAG,IAAIpB,CAAE,EAQ7B,OAAO2D,EAAQQ,CAAI,EAAE,KAAKN,EAAOA,CAAK,CACzC,CAAA,CAAC,EACKK,GACR,CAAA,CAAE,CAAC,CACT,CACD,OAAAL,EAAQS,GAAiBtE,EAAI8D,EAAOP,EAASnC,EAAOoC,EAAK,EAAI,EACtDK,CACX,CACA,SAASS,GAAiBC,EAAKT,EAAOP,EAAU,CAAA,EAAInC,EAAOoC,EAAKgB,EAAgB,CAC5E,IAAIC,EACJ,MAAMC,EAAmBtB,GAAO,CAAE,QAAS,CAAE,CAAA,EAAIG,CAAO,EAExD,GAA+C,CAACnC,EAAM,GAAG,OACrD,MAAM,IAAI,MAAM,iBAAiB,EAGrC,MAAMuD,EAAoB,CACtB,KAAM,EAEd,EAGQA,EAAkB,UAAaC,GAAU,CAEjCC,EACAC,EAAiBF,EAGZC,GAAe,IAAS,CAAChB,EAAM,eAGhC,MAAM,QAAQiB,CAAc,EAC5BA,EAAe,KAAKF,CAAK,EAGzB,QAAQ,MAAM,kFAAkF,EAGpH,EAGI,IAAIC,EACAE,EACA3C,EAAgB,CAAA,EAChB4C,EAAsB,CAAA,EACtBF,EACJ,MAAMlB,EAAexC,EAAM,MAAM,MAAMmD,CAAG,EAGtC,CAACC,GAAkB,CAACZ,GAA6D,CAACJ,IAM9EpC,EAAM,MAAM,MAAMmD,CAAG,EAAI,CAAA,GAGjC,MAAMU,EAAWhB,MAAI,CAAA,CAAE,EAGvB,IAAIiB,EACJ,SAASC,EAAOC,EAAuB,CACnC,IAAIC,EACJR,EAAcE,EAAkB,GAI5BD,EAAiB,CAAA,EAEjB,OAAOM,GAA0B,YACjCA,EAAsBhE,EAAM,MAAM,MAAMmD,CAAG,CAAC,EAC5Cc,EAAuB,CACnB,KAAM7D,GAAa,cACnB,QAAS+C,EACT,OAAQO,CACxB,IAGY/B,GAAqB3B,EAAM,MAAM,MAAMmD,CAAG,EAAGa,CAAqB,EAClEC,EAAuB,CACnB,KAAM7D,GAAa,YACnB,QAAS4D,EACT,QAASb,EACT,OAAQO,CACxB,GAEQ,MAAMQ,EAAgBJ,EAAiB,OAAM,EAC7CK,EAAQ,SAAA,EAAG,KAAK,IAAM,CACdL,IAAmBI,IACnBT,EAAc,GAE9B,CAAS,EACDE,EAAkB,GAElBnC,GAAqBR,EAAeiD,EAAsBjE,EAAM,MAAM,MAAMmD,CAAG,CAAC,CACnF,CACD,MAAMiB,EAAShB,EACT,UAAkB,CAChB,KAAM,CAAE,MAAAf,CAAO,EAAGF,EACZ3B,EAAW6B,EAAQA,EAAK,EAAK,CAAA,EAEnC,KAAK,OAAQgC,GAAW,CACpBrC,GAAOqC,EAAQ7D,CAAQ,CACvC,CAAa,CACJ,EAGS,IAAM,CACJ,MAAM,IAAI,MAAM,cAAc2C,CAAG,oEAAoE,CACxG,EAEb,SAASmB,GAAW,CAChBjB,EAAM,KAAI,EACVrC,EAAgB,CAAA,EAChB4C,EAAsB,CAAA,EACtB5D,EAAM,GAAG,OAAOmD,CAAG,CACtB,CAQD,SAASoB,EAAWxB,EAAMyB,EAAQ,CAC9B,OAAO,UAAY,CACfzE,GAAeC,CAAK,EACpB,MAAMV,EAAO,MAAM,KAAK,SAAS,EAC3BmF,EAAoB,CAAA,EACpBC,EAAsB,CAAA,EAC5B,SAASC,EAAM1D,EAAU,CACrBwD,EAAkB,KAAKxD,CAAQ,CAClC,CACD,SAAS2D,EAAQ3D,EAAU,CACvByD,EAAoB,KAAKzD,CAAQ,CACpC,CAEDO,GAAqBoC,EAAqB,CACtC,KAAAtE,EACA,KAAAyD,EACA,MAAAN,EACA,MAAAkC,EACA,QAAAC,CAChB,CAAa,EACD,IAAIC,EACJ,GAAI,CACAA,EAAML,EAAO,MAAM,MAAQ,KAAK,MAAQrB,EAAM,KAAOV,EAAOnD,CAAI,CAEnE,OACMwF,EAAO,CACV,MAAAtD,GAAqBkD,EAAqBI,CAAK,EACzCA,CACT,CACD,OAAID,aAAe,QACRA,EACF,KAAM3F,IACPsC,GAAqBiD,EAAmBvF,CAAK,EACtCA,EACV,EACI,MAAO4F,IACRtD,GAAqBkD,EAAqBI,CAAK,EACxC,QAAQ,OAAOA,CAAK,EAC9B,GAGLtD,GAAqBiD,EAAmBI,CAAG,EACpCA,EACnB,CACK,CACD,MAAME,EAA4B/B,EAAAA,QAAQ,CACtC,QAAS,CAAE,EACX,QAAS,CAAE,EACX,MAAO,CAAE,EACT,SAAAa,CACR,CAAK,EACKmB,EAAe,CACjB,GAAIhF,EAEJ,IAAAmD,EACA,UAAWpC,GAAgB,KAAK,KAAM6C,CAAmB,EACzD,OAAAG,EACA,OAAAK,EACA,WAAWnD,EAAUkB,EAAU,GAAI,CAC/B,MAAMf,EAAqBL,GAAgBC,EAAeC,EAAUkB,EAAQ,SAAU,IAAM8C,EAAW,CAAE,EACnGA,EAAc5B,EAAM,IAAI,IAAM6B,EAAAA,MAAM,IAAMlF,EAAM,MAAM,MAAMmD,CAAG,EAAId,GAAU,EAC3EF,EAAQ,QAAU,OAASwB,EAAkBF,IAC7CxC,EAAS,CACL,QAASkC,EACT,KAAM/C,GAAa,OACnB,OAAQsD,CACX,EAAErB,CAAK,CAEf,EAAEL,GAAO,CAAE,EAAEuB,EAAmBpB,CAAO,CAAC,CAAC,EAC1C,OAAOf,CACV,EACD,SAAAkD,CACR,EAMU7B,EAAQ0C,EAAQ,SAChBnD,GAAO,CACL,YAAA+C,EACA,kBAAmB/B,EAAAA,QAAQ,IAAI,GAAK,CAChD,EAAWgC,CAGF,CACa,EAGlBhF,EAAM,GAAG,IAAImD,EAAKV,CAAK,EACvB,MAAM2C,EAAkBpF,EAAM,IAAMA,EAAM,GAAG,gBAAmByB,GAE1D4D,EAAarF,EAAM,GAAG,IAAI,KAC5BqD,EAAQiC,EAAW,YAAA,EACZF,EAAe,IAAM/B,EAAM,IAAIX,CAAK,CAAC,EAC/C,EAED,UAAW/E,KAAO0H,EAAY,CAC1B,MAAMhG,EAAOgG,EAAW1H,CAAG,EAC3B,GAAKiD,EAAAA,MAAMvB,CAAI,GAAK,CAAC4C,GAAW5C,CAAI,GAAMwB,aAAWxB,CAAI,EAEN+C,EAC3C3E,GAAIoG,EAAS,MAAOlG,EAAK4H,EAAAA,MAAMF,EAAY1H,CAAG,CAAC,EAIzCyF,IAEFZ,GAAgBV,GAAczC,CAAI,IAC9BuB,EAAAA,MAAMvB,CAAI,EACVA,EAAK,MAAQmD,EAAa7E,CAAG,EAK7BgE,GAAqBtC,EAAMmD,EAAa7E,CAAG,CAAC,GAShDqC,EAAM,MAAM,MAAMmD,CAAG,EAAExF,CAAG,EAAI0B,GAKlC0F,EAAY,MAAM,KAAKpH,CAAG,UAIzB,OAAO0B,GAAS,WAAY,CAEjC,MAAMmG,EAAyDpD,EAAM/C,EAAOkF,EAAW5G,EAAK0B,CAAI,EAS5FgG,EAAW1H,CAAG,EAAI6H,EAIlBT,EAAY,QAAQpH,CAAG,EAAI0B,EAI/BiE,EAAiB,QAAQ3F,CAAG,EAAI0B,CACnC,MAGO4C,GAAW5C,CAAI,IACf0F,EAAY,QAAQpH,CAAG,EAAIyF,EAEnBjB,EAAQ,QAAQxE,CAAG,EACrB0B,EACFgB,KACgBgF,EAAW,WAEtBA,EAAW,SAAWrC,UAAQ,CAAA,CAAE,IAC7B,KAAKrF,CAAG,EAI/B,CAoGD,GA3FIqE,GAAOS,EAAO4C,CAAU,EAGxBrD,GAAOyD,EAAK,MAAChD,CAAK,EAAG4C,CAAU,EAKnC,OAAO,eAAe5C,EAAO,SAAU,CACnC,IAAK,IAAkDL,EAAMyB,EAAS,MAAQ7D,EAAM,MAAM,MAAMmD,CAAG,EACnG,IAAMd,GAAU,CAEZ,GAA+CD,EAC3C,MAAM,IAAI,MAAM,qBAAqB,EAEzC2B,EAAQM,GAAW,CACfrC,GAAOqC,EAAQhC,CAAK,CACpC,CAAa,CACJ,CACT,CAAK,EAIGI,EAAM,WAAaO,UAAS0C,GAAa,CACrCjD,EAAM,aAAe,GACrBiD,EAAS,YAAY,MAAM,QAASC,GAAa,CAC7C,GAAIA,KAAYlD,EAAM,OAAQ,CAC1B,MAAMmD,EAAiBF,EAAS,OAAOC,CAAQ,EACzCE,EAAiBpD,EAAM,OAAOkD,CAAQ,EACxC,OAAOC,GAAmB,UAC1B1F,GAAc0F,CAAc,GAC5B1F,GAAc2F,CAAc,EAC5BtF,GAAYqF,EAAgBC,CAAc,EAI1CH,EAAS,OAAOC,CAAQ,EAAIE,CAEnC,CAGDpI,GAAIgF,EAAOkD,EAAUJ,EAAAA,MAAMG,EAAS,OAAQC,CAAQ,CAAC,CACrE,CAAa,EAED,OAAO,KAAKlD,EAAM,MAAM,EAAE,QAASkD,GAAa,CACtCA,KAAYD,EAAS,QACvB7H,GAAI4E,EAAOkD,CAAQ,CAEvC,CAAa,EAEDlC,EAAc,GACdE,EAAkB,GAClB3D,EAAM,MAAM,MAAMmD,CAAG,EAAIoC,EAAAA,MAAMG,EAAS,YAAa,UAAU,EAC/D/B,EAAkB,GAClBQ,EAAQ,SAAA,EAAG,KAAK,IAAM,CAClBV,EAAc,EAC9B,CAAa,EACD,UAAWqC,KAAcJ,EAAS,YAAY,QAAS,CACnD,MAAMlB,EAASkB,EAASI,CAAU,EAClCrI,GAAIgF,EAAOqD,EAAYvB,EAAWuB,EAAYtB,CAAM,CAAC,CACxD,CAED,UAAWuB,KAAcL,EAAS,YAAY,QAAS,CACnD,MAAMM,EAASN,EAAS,YAAY,QAAQK,CAAU,EAChDE,EAAc7C,EAEZH,EAAAA,SAAS,KACLlD,GAAeC,CAAK,EACbgG,EAAO,KAAKvD,EAAOA,CAAK,EAClC,EACHuD,EACNvI,GAAIgF,EAAOsD,EAAYE,CAAW,CACrC,CAED,OAAO,KAAKxD,EAAM,YAAY,OAAO,EAAE,QAAS9E,GAAQ,CAC9CA,KAAO+H,EAAS,YAAY,SAC9B7H,GAAI4E,EAAO9E,CAAG,CAElC,CAAa,EAED,OAAO,KAAK8E,EAAM,YAAY,OAAO,EAAE,QAAS9E,GAAQ,CAC9CA,KAAO+H,EAAS,YAAY,SAC9B7H,GAAI4E,EAAO9E,CAAG,CAElC,CAAa,EAED8E,EAAM,YAAciD,EAAS,YAC7BjD,EAAM,SAAWiD,EAAS,SAC1BjD,EAAM,aAAe,EACjC,CAAS,EAEDnC,GAAc,CACd,MAAM4F,EAAgB,CAClB,SAAU,GACV,aAAc,GAEd,WAAY,EACxB,EACQ,CAAC,KAAM,cAAe,WAAY,mBAAmB,EAAE,QAASC,GAAM,CAClE,OAAO,eAAe1D,EAAO0D,EAAGnE,GAAO,CAAE,MAAOS,EAAM0D,CAAC,GAAKD,CAAa,CAAC,CACtF,CAAS,CACJ,CAOD,OAAAlG,EAAM,GAAG,QAASoG,GAAa,CAE3B,GAAI9F,GAAc,CACd,MAAM+F,EAAahD,EAAM,IAAI,IAAM+C,EAAS,CACxC,MAAA3D,EACA,IAAKzC,EAAM,GACX,MAAAA,EACA,QAASsD,CACZ,CAAA,CAAC,EACF,OAAO,KAAK+C,GAAc,CAAA,CAAE,EAAE,QAAS1I,GAAQ8E,EAAM,kBAAkB,IAAI9E,CAAG,CAAC,EAC/EqE,GAAOS,EAAO4D,CAAU,CAC3B,MAEGrE,GAAOS,EAAOY,EAAM,IAAI,IAAM+C,EAAS,CACnC,MAAA3D,EACA,IAAKzC,EAAM,GACX,MAAAA,EACA,QAASsD,CACZ,CAAA,CAAC,CAAC,CAEf,CAAK,EAEGb,EAAM,QACN,OAAOA,EAAM,QAAW,UACxB,OAAOA,EAAM,OAAO,aAAgB,YACpC,CAACA,EAAM,OAAO,YAAY,SAAQ,EAAG,SAAS,eAAe,GAC7D,QAAQ,KAAK;AAAA;AAAA,kBAEUA,EAAM,GAAG,IAAI,EAGpCD,GACAY,GACAjB,EAAQ,SACRA,EAAQ,QAAQM,EAAM,OAAQD,CAAY,EAE9CiB,EAAc,GACdE,EAAkB,GACXlB,CACX,CACA,SAAS6D,GAETC,EAAa7D,EAAO8D,EAAc,CAC9B,IAAI5H,EACAuD,EACJ,MAAMsE,EAAe,OAAO/D,GAAU,WACtC,GAAI,OAAO6D,GAAgB,SACvB3H,EAAK2H,EAELpE,EAAUsE,EAAeD,EAAe9D,UAGxCP,EAAUoE,EACV3H,EAAK2H,EAAY,GAC8B,OAAO3H,GAAO,SACzD,MAAM,IAAI,MAAM,wEAAwE,EAGhG,SAAS8H,EAAS1G,EAAOoC,EAAK,CAC1B,MAAMuE,EAAaC,EAAAA,sBAQnB,GAPA5G,EAGuFA,IAC9E2G,EAAaE,EAAAA,OAAO5G,GAAa,IAAI,EAAI,MAC9CD,GACAD,GAAeC,CAAK,EACuB,CAACF,GAC5C,MAAM,IAAI,MAAM;AAAA;AAAA;AAAA,8BAGmB,EAEvCE,EAAQF,GACHE,EAAM,GAAG,IAAIpB,CAAE,IAEZ6H,EACAvD,GAAiBtE,EAAI8D,EAAOP,EAASnC,CAAK,EAG1CkC,GAAmBtD,EAAIuD,EAASnC,CAAK,EAKrC0G,EAAS,OAAS1G,GAG1B,MAAMyC,EAAQzC,EAAM,GAAG,IAAIpB,CAAE,EAC7B,GAA+CwD,EAAK,CAChD,MAAM0E,EAAQ,SAAWlI,EACnB8G,EAAWe,EACXvD,GAAiB4D,EAAOpE,EAAOP,EAASnC,EAAO,EAAI,EACnDkC,GAAmB4E,EAAO9E,GAAO,CAAA,EAAIG,CAAO,EAAGnC,EAAO,EAAI,EAChEoC,EAAI,WAAWsD,CAAQ,EAEvB,OAAO1F,EAAM,MAAM,MAAM8G,CAAK,EAC9B9G,EAAM,GAAG,OAAO8G,CAAK,CACxB,CACD,GAA+CzG,GAAW,CACtD,MAAM0G,EAAkBC,EAAAA,qBAExB,GAAID,GACAA,EAAgB,OAEhB,CAAC3E,EAAK,CACN,MAAM6E,EAAKF,EAAgB,MACrBG,EAAQ,aAAcD,EAAKA,EAAG,SAAYA,EAAG,SAAW,CAAA,EAC9DC,EAAMtI,CAAE,EAAI6D,CACf,CACJ,CAED,OAAOA,CACV,CACD,OAAAiE,EAAS,IAAM9H,EACR8H,CACX,CCxtDO,MAAMS,GAAiBb,GAAY,CACxC,GAAI,cACJ,MAAO,KAAO,CACZ,YAAa,EAAA,GAEf,QAAS,CACP,IAAIc,EAAqB,CACvB,KAAK,YAAcA,CACrB,CACF,CACF,CAAC,ECTYC,GAAgBf,GAAY,CACvC,GAAI,aACJ,MAAO,KAAO,CACZ,WAAY,CAAA,GAEd,QAAS,CACP,IAAIgB,EAAoB,CACtB,KAAK,WAAaA,CACpB,EACA,KAAM,CACJ,OAAO,KAAK,UACd,CACF,CACF,CAAC,EAE8BhB,GAAY,CACzC,GAAI,eACJ,MAAO,KAAO,CACZ,aAAc,EAAA,GAEhB,QAAS,CACP,IAAIiB,EAAsB,CACxB,KAAK,aAAeA,CACtB,EACA,KAAM,CACJ,OAAO,KAAK,YACd,CACF,CACF,CAAC,EAEM,MAAMC,GAAqBlB,GAAY,CAC5C,GAAI,kBACJ,MAAO,KAAO,CACZ,gBAAiB,CAAA,GAEnB,QAAS,CACP,IAAImB,EAAyB,CAC3B,KAAK,gBAAkBA,CACzB,EACA,KAAM,CACJ,OAAO,KAAK,eACd,CACF,CACF,CAAC,EAEYC,GAAcpB,GAAY,CACrC,GAAI,WACJ,MAAO,KAAO,CACZ,SAA0B,CAAC,CAAA,GAE7B,QAAS,CACP,IAAIqB,EAA0B,CAC5B,KAAK,SAAWA,CAClB,EACA,KAAM,CACJ,OAAO,KAAK,QACd,CACF,CACF,CAAC,EC1DYC,GAAUtB,GAAY,CACjC,GAAI,OACJ,MAAO,KAAO,CACZ,KAAY,CAAC,CAAA,GAEf,QAAS,CACP,IAAIuB,EAAY,CACd,KAAK,KAAOA,CACd,CACF,CACF,CAAC,ECVYC,GAAgBxB,GAAY,CACvC,GAAI,aACJ,MAAO,KAAO,CACZ,WAAY,CAAC,CAAA,CAAE,CAAA,GAEjB,QAAS,CACP,IAAIyB,EAA+B,CACjC,KAAK,WAAaA,CACpB,CACF,CACF,CAAC,ECVYC,GAAiB1B,GAAY,CACxC,GAAI,cACJ,MAAO,KAAO,CACZ,YAAa,CAAC,CAAA,GAEhB,QAAS,CACP,IAAI2B,EAAgC,CAClC,KAAK,YAAcA,CACrB,EACA,KAAM,CACJ,OAAO,KAAK,WACd,EACA,cAAcC,EAAe,OACpB,OAAA5J,EAAA,KAAK,YAAY,KAAM6J,GAA2BA,EAAW,QAAUD,CAAK,IAA5E,YAAA5J,EAA+E,KACxF,CACF,CACF,CAAC,ECdM,SAAS8J,GAAeC,EAAQ3G,EAAI,CACzC,IAAI2B,EACJ,SAASiF,GAAQ,CACfjF,EAAQiC,EAAW,YAAA,EACnBjC,EAAM,IAAI,IAAM3B,EAAG,OAASA,EAAG,IAAM,CACnC2B,GAAA,MAAAA,EAAO,OACPiF,GACN,CAAK,EAAI5G,EAAE,CAAE,CACV,CACDwD,EAAK,MAACmD,EAAQE,GAAU,CAClBA,GAAU,CAAClF,EACbiF,IACUC,IACVlF,GAAA,MAAAA,EAAO,OACPA,EAAQ,OAEd,EAAK,CACD,UAAW,EACf,CAAG,EACD9B,EAAAA,eAAe,IAAM,CACnB8B,GAAA,MAAAA,EAAO,MACX,CAAG,CACH,CC3BO,MAAMmF,GAAa,OAAO,OAAW,IAC/BC,GAAwBD,IAAc,yBAA0B,OAChEE,GAAiBF,KAAe,iBAAkB,QAAU,OAAO,UAAU,eAAiB,GAC9FG,GAAuBH,IAAc,eAAgB,OCHlE,SAASI,GAA2B,EAAG,EAAG,EAAG,CAAEC,GAA2B,EAAG,CAAC,EAAG,EAAE,IAAI,EAAG,CAAC,CAAI,CAC/F,SAASA,GAA2B,EAAG,EAAG,CAAE,GAAI,EAAE,IAAI,CAAC,EAAG,MAAM,IAAI,UAAU,gEAAgE,CAAI,CAClJ,SAASC,GAAsBC,EAAGC,EAAGC,EAAG,CAAE,OAAOF,EAAE,IAAIG,GAAkBH,EAAGC,CAAC,EAAGC,CAAC,EAAGA,CAAI,CACxF,SAASE,GAAsBJ,EAAGC,EAAG,CAAE,OAAOD,EAAE,IAAIG,GAAkBH,EAAGC,CAAC,CAAC,CAAI,CAC/E,SAASE,GAAkB,EAAG,EAAGE,EAAG,CAAE,GAAkB,OAAO,GAArB,WAAyB,IAAM,EAAI,EAAE,IAAI,CAAC,EAAG,OAAO,UAAU,OAAS,EAAI,EAAIA,EAAG,MAAM,IAAI,UAAU,+CAA+C,CAAI,CAI5L,SAASC,GAAetH,EAAKuH,EAAMC,EAAU,CAClD,MAAMC,EAAOF,EAAK,OAAS,EAC3B,GAAIE,EAAO,EAAG,OAAOzH,IAAQ,OAAYwH,EAAWxH,EACpD,QAAS,EAAI,EAAG,EAAIyH,EAAM,IAAK,CAC7B,GAAIzH,GAAO,KACT,OAAOwH,EAETxH,EAAMA,EAAIuH,EAAK,CAAC,CAAC,CAClB,CACD,OAAIvH,GAAO,MACJA,EAAIuH,EAAKE,CAAI,CAAC,IAAM,OADHD,EAC0BxH,EAAIuH,EAAKE,CAAI,CAAC,CAClE,CACO,SAASC,GAAUT,EAAGU,EAAG,CAC9B,GAAIV,IAAMU,EAAG,MAAO,GAKpB,GAJIV,aAAa,MAAQU,aAAa,MAAQV,EAAE,QAAS,IAAKU,EAAE,WAI5DV,IAAM,OAAOA,CAAC,GAAKU,IAAM,OAAOA,CAAC,EAEnC,MAAO,GAET,MAAMC,EAAQ,OAAO,KAAKX,CAAC,EAC3B,OAAIW,EAAM,SAAW,OAAO,KAAKD,CAAC,EAAE,OAE3B,GAEFC,EAAM,MAAMxD,GAAKsD,GAAUT,EAAE7C,CAAC,EAAGuD,EAAEvD,CAAC,CAAC,CAAC,CAC/C,CACO,SAASyD,GAAqB7H,EAAKuH,EAAMC,EAAU,CAExD,OAAIxH,GAAO,MAAQ,CAACuH,GAAQ,OAAOA,GAAS,SAAiBC,EACzDxH,EAAIuH,CAAI,IAAM,OAAkBvH,EAAIuH,CAAI,GAC5CA,EAAOA,EAAK,QAAQ,aAAc,KAAK,EACvCA,EAAOA,EAAK,QAAQ,MAAO,EAAE,EACtBD,GAAetH,EAAKuH,EAAK,MAAM,GAAG,EAAGC,CAAQ,EACtD,CACO,SAASM,GAAoBhL,EAAMiL,EAAUP,EAAU,CAC5D,GAAIO,IAAa,GAAM,OAAOjL,IAAS,OAAY0K,EAAW1K,EAC9D,GAAIiL,GAAY,MAAQ,OAAOA,GAAa,UAAW,OAAOP,EAC9D,GAAI1K,IAAS,OAAOA,CAAI,EAAG,CACzB,GAAI,OAAOiL,GAAa,WAAY,OAAOP,EAC3C,MAAMrK,EAAQ4K,EAASjL,EAAM0K,CAAQ,EACrC,OAAO,OAAOrK,EAAU,IAAcqK,EAAWrK,CAClD,CACD,GAAI,OAAO4K,GAAa,SAAU,OAAOF,GAAqB/K,EAAMiL,EAAUP,CAAQ,EACtF,GAAI,MAAM,QAAQO,CAAQ,EAAG,OAAOT,GAAexK,EAAMiL,EAAUP,CAAQ,EAC3E,GAAI,OAAOO,GAAa,WAAY,OAAOP,EAC3C,MAAMrK,EAAQ4K,EAASjL,EAAM0K,CAAQ,EACrC,OAAO,OAAOrK,EAAU,IAAcqK,EAAWrK,CACnD,CACO,SAAS6K,GAAYC,EAAQ,CAClC,IAAI1B,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,EAChF,OAAO,MAAM,KAAK,CAChB,OAAA0B,CACD,EAAE,CAACC,EAAGC,IAAM5B,EAAQ4B,CAAC,CACxB,CAOO,SAASC,GAAcC,EAAK,CACjC,IAAIC,EAAO,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,KAC/E,GAAI,EAAAD,GAAO,MAAQA,IAAQ,IAEpB,OAAI,MAAM,CAACA,CAAG,EACZ,OAAOA,CAAG,EACP,SAAS,CAACA,CAAG,EAGhB,GAAG,OAAOA,CAAG,CAAC,GAAGC,CAAI,GAF5B,MAIJ,CACO,SAASC,GAASvI,EAAK,CAC5B,OAAOA,IAAQ,MAAQ,OAAOA,GAAQ,UAAY,CAAC,MAAM,QAAQA,CAAG,CACtE,CACO,SAAS7B,GAAc6B,EAAK,CACjC,IAAIwI,EACJ,OAAOxI,IAAQ,MAAQ,OAAOA,GAAQ,YAAcwI,EAAQ,OAAO,eAAexI,CAAG,KAAO,OAAO,WAAawI,IAAU,KAC5H,CACO,SAASC,GAAWzI,EAAK,CAC9B,GAAIA,GAAO,QAASA,EAAK,CACvB,MAAM0I,EAAK1I,EAAI,IACf,OAAI0I,GAAA,YAAAA,EAAI,YAAa,KAAK,UAEjBA,EAAG,mBAELA,CACR,CACD,OAAO1I,CACT,CAGO,MAAM2I,GAAW,OAAO,OAAO,CACpC,MAAO,GACP,IAAK,EACL,OAAQ,GACR,IAAK,GACL,MAAO,GACP,GAAI,GACJ,KAAM,GACN,KAAM,GACN,MAAO,GACP,IAAK,GACL,KAAM,GACN,IAAK,GACL,UAAW,EACX,OAAQ,GACR,OAAQ,GACR,SAAU,GACV,MAAO,EACT,CAAC,EACYC,GAAY,OAAO,OAAO,CACrC,MAAO,QACP,IAAK,MACL,OAAQ,SACR,IAAK,SACL,MAAO,QACP,GAAI,UACJ,KAAM,YACN,KAAM,YACN,MAAO,aACP,IAAK,MACL,KAAM,OACN,IAAK,SACL,UAAW,YACX,OAAQ,SACR,OAAQ,SACR,SAAU,WACV,MAAO,OACT,CAAC,EACM,SAASC,GAAKzK,EAAG,CACtB,OAAO,OAAO,KAAKA,CAAC,CACtB,CACO,SAAS0K,GAAI9I,EAAKpE,EAAK,CAC5B,OAAOA,EAAI,MAAMuM,GAAKnI,EAAI,eAAemI,CAAC,CAAC,CAC7C,CAEO,SAASY,GAAK/I,EAAKgJ,EAAO,CAC/B,MAAMC,EAAQ,CAAA,EACRJ,EAAO,IAAI,IAAI,OAAO,KAAK7I,CAAG,CAAC,EACrC,UAAWuH,KAAQyB,EACbH,EAAK,IAAItB,CAAI,IACf0B,EAAM1B,CAAI,EAAIvH,EAAIuH,CAAI,GAG1B,OAAO0B,CACT,CAMO,SAASC,GAAalJ,EAAKgJ,EAAOG,EAAS,CAChD,MAAMF,EAAQ,OAAO,OAAO,IAAI,EAC1BG,EAAO,OAAO,OAAO,IAAI,EAC/B,UAAWxN,KAAOoE,EACZgJ,EAAM,KAAKzB,GAAQA,aAAgB,OAASA,EAAK,KAAK3L,CAAG,EAAI2L,IAAS3L,CAAG,GAAK,EAACuN,GAAA,MAAAA,EAAS,KAAK5B,GAAQA,IAAS3L,IAChHqN,EAAMrN,CAAG,EAAIoE,EAAIpE,CAAG,EAEpBwN,EAAKxN,CAAG,EAAIoE,EAAIpE,CAAG,EAGvB,MAAO,CAACqN,EAAOG,CAAI,CACrB,CACO,SAASC,GAAKrJ,EAAKmJ,EAAS,CACjC,MAAMG,EAAQ,CACZ,GAAGtJ,CACP,EACE,OAAAmJ,EAAQ,QAAQ7L,GAAQ,OAAOgM,EAAMhM,CAAI,CAAC,EACnCgM,CACT,CACO,SAASC,GAAKvJ,EAAKwJ,EAAS,CACjC,MAAMF,EAAQ,CAAA,EACd,OAAAE,EAAQ,QAAQlM,GAAQgM,EAAMhM,CAAI,EAAI0C,EAAI1C,CAAI,CAAC,EACxCgM,CACT,CACA,MAAMG,GAAO,YACAC,GAAO9N,GAAO6N,GAAK,KAAK7N,CAAG,EAClC+N,GAAiB,CAAC,uBAAwB,oBAAqB,iBAAkB,uBAAwB,mBAAoB,aAAc,gBAAiB,wBAAyB,WAAY,UAAW,mBAAoB,qBAAsB,sBAAuB,gBAAiB,SAAU,QAAS,aAAc,YAAa,aAAc,qBAAsB,oBAAqB,kBAAmB,eAAgB,iBAAkB,sBAAuB,UAAW,YAAa,aAAc,UAAW,uBAAwB,cAAe,cAAe,aAAc,cAAe,YAAa,eAAgB,UAAW,kBAAmB,gBAAiB,iBAAkB,iBAAkB,gBAAiB,eAAgB,gBAAiB,cAAe,UAAW,WAAY,WAAY,gBAAiB,aAAc,cAAe,eAAgB,qBAAsB,kBAAmB,kBAAmB,oBAAqB,SAAS,EACj8BC,GAAwB,CAAC,UAAW,YAAa,aAAc,YAAa,QAAS,SAAU,MAAO,GAAG,EACxG,SAASC,GAAqB,EAAG,CACtC,OAAO,EAAE,aAAeD,GAAsB,SAAS,EAAE,GAAG,CAC9D,CAOO,SAASE,GAAiBC,EAAO,CACtC,KAAM,CAACC,EAAQpC,CAAK,EAAIsB,GAAaa,EAAO,CAACN,EAAI,CAAC,EAC5CQ,EAAcZ,GAAKW,EAAQL,EAAc,EACzC,CAACO,EAAWC,CAAU,EAAIjB,GAAatB,EAAO,CAAC,QAAS,QAAS,KAAM,QAAQ,CAAC,EACtF,cAAO,OAAOsC,EAAWF,CAAM,EAC/B,OAAO,OAAOG,EAAYF,CAAW,EAC9B,CAACC,EAAWC,CAAU,CAC/B,CAYO,SAASC,GAAYlC,EAAG,CAC7B,OAAOA,GAAK,KAAO,CAAA,EAAK,MAAM,QAAQA,CAAC,EAAIA,EAAI,CAACA,CAAC,CACnD,CAIO,SAASmC,GAAS1K,EAAI2K,EAAO,CAClC,IAAIC,EAAY,EAChB,MAAMC,EAAO,UAAY,CACvB,QAASC,EAAO,UAAU,OAAQlN,EAAO,IAAI,MAAMkN,CAAI,EAAGC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EnN,EAAKmN,CAAI,EAAI,UAAUA,CAAI,EAE7B,aAAaH,CAAS,EACtBA,EAAY,WAAW,IAAM5K,EAAG,GAAGpC,CAAI,EAAGoN,EAAK,MAACL,CAAK,CAAC,CAC1D,EACE,OAAAE,EAAK,MAAQ,IAAM,CACjB,aAAaD,CAAS,CAC1B,EACEC,EAAK,UAAY7K,EACV6K,CACT,CAWO,SAASI,GAAMzN,EAAO,CAC3B,IAAI0N,EAAM,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,EAC1EC,EAAM,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,EAC9E,OAAO,KAAK,IAAID,EAAK,KAAK,IAAIC,EAAK3N,CAAK,CAAC,CAC3C,CACO,SAAS4N,GAAY5N,EAAO,CACjC,MAAM6N,EAAa7N,EAAM,SAAU,EAAC,KAAI,EACxC,OAAO6N,EAAW,SAAS,GAAG,EAAIA,EAAW,OAASA,EAAW,QAAQ,GAAG,EAAI,EAAI,CACtF,CACO,SAASC,GAAO5C,EAAKJ,EAAQ,CAClC,IAAIiD,EAAO,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,IAC/E,OAAO7C,EAAM6C,EAAK,OAAO,KAAK,IAAI,EAAGjD,EAASI,EAAI,MAAM,CAAC,CAC3D,CACO,SAAS8C,GAAS9C,EAAKJ,EAAQ,CAEpC,OADW,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,KACnE,OAAO,KAAK,IAAI,EAAGA,EAASI,EAAI,MAAM,CAAC,EAAIA,CACzD,CACO,SAAS+C,GAAM/C,EAAK,CACzB,IAAIgD,EAAO,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,EAC/E,MAAMC,EAAU,CAAA,EAChB,IAAIC,EAAQ,EACZ,KAAOA,EAAQlD,EAAI,QACjBiD,EAAQ,KAAKjD,EAAI,OAAOkD,EAAOF,CAAI,CAAC,EACpCE,GAASF,EAEX,OAAOC,CACT,CAOO,SAASE,GAAsBC,EAAO,CAC3C,IAAIC,EAAO,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,IAC/E,GAAID,EAAQC,EACV,MAAO,GAAGD,CAAK,KAEjB,MAAME,EAASD,IAAS,KAAO,CAAC,KAAM,KAAM,IAAI,EAAI,CAAC,IAAK,IAAK,GAAG,EAClE,IAAIpD,EAAO,GACX,KAAO,KAAK,IAAImD,CAAK,GAAKC,GAAQpD,EAAOqD,EAAO,OAAS,GACvDF,GAASC,EACT,EAAEpD,EAEJ,MAAO,GAAGmD,EAAM,QAAQ,CAAC,CAAC,IAAIE,EAAOrD,CAAI,CAAC,GAC5C,CACO,SAASsD,IAAY,CAC1B,IAAItF,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC7E3K,EAAS,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC7EkQ,EAAU,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACpD,MAAMC,EAAM,CAAA,EACZ,UAAWlQ,KAAO0K,EAChBwF,EAAIlQ,CAAG,EAAI0K,EAAO1K,CAAG,EAEvB,UAAWA,KAAOD,EAAQ,CACxB,MAAMoQ,EAAiBzF,EAAO1K,CAAG,EAC3BoQ,EAAiBrQ,EAAOC,CAAG,EAIjC,GAAIuC,GAAc4N,CAAc,GAAK5N,GAAc6N,CAAc,EAAG,CAClEF,EAAIlQ,CAAG,EAAIgQ,GAAUG,EAAgBC,EAAgBH,CAAO,EAC5D,QACD,CACD,GAAIA,GAAW,MAAM,QAAQE,CAAc,GAAK,MAAM,QAAQC,CAAc,EAAG,CAC7EF,EAAIlQ,CAAG,EAAIiQ,EAAQE,EAAgBC,CAAc,EACjD,QACD,CACDF,EAAIlQ,CAAG,EAAIoQ,CACZ,CACD,OAAOF,CACT,CACO,SAASG,GAAiBC,EAAO,CACtC,OAAOA,EAAM,IAAIC,GACXA,EAAK,OAASC,WACTH,GAAiBE,EAAK,QAAQ,EAE9BA,CAEV,EAAE,KAAI,CACT,CACO,SAASE,IAAc,CAC5B,IAAIhE,EAAM,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GAC9E,GAAIgE,GAAY,MAAM,IAAIhE,CAAG,EAAG,OAAOgE,GAAY,MAAM,IAAIhE,CAAG,EAChE,MAAMiE,EAAQjE,EAAI,QAAQ,WAAY,GAAG,EAAE,QAAQ,aAAc,KAAK,EAAE,YAAW,EACnF,OAAAgE,GAAY,MAAM,IAAIhE,EAAKiE,CAAK,EACzBA,CACT,CACAD,GAAY,MAAQ,IAAI,IACjB,SAASE,GAAwB3Q,EAAK4Q,EAAO,CAClD,GAAI,CAACA,GAAS,OAAOA,GAAU,SAAU,MAAO,CAAA,EAChD,GAAI,MAAM,QAAQA,CAAK,EACrB,OAAOA,EAAM,IAAIC,GAASF,GAAwB3Q,EAAK6Q,CAAK,CAAC,EAAE,KAAK,CAAC,EAChE,GAAID,EAAM,SACf,OAAOD,GAAwB3Q,EAAK4Q,EAAM,SAAS,EAC9C,GAAI,MAAM,QAAQA,EAAM,QAAQ,EACrC,OAAOA,EAAM,SAAS,IAAIC,GAASF,GAAwB3Q,EAAK6Q,CAAK,CAAC,EAAE,KAAK,CAAC,EACzE,GAAID,EAAM,UAAW,CAC1B,GAAI,OAAO,sBAAsBA,EAAM,UAAU,QAAQ,EAAE,SAAS5Q,CAAG,EACrE,MAAO,CAAC4Q,EAAM,SAAS,EAClB,GAAIA,EAAM,UAAU,QACzB,OAAOD,GAAwB3Q,EAAK4Q,EAAM,UAAU,OAAO,EAAE,KAAK,CAAC,CAEtE,CACD,MAAO,EACT,CACA,IAAIE,GAAoB,IAAI,QACxBC,GAAwB,IAAI,QACzB,MAAMC,EAAe,CAC1B,YAAYvB,EAAM,CAChBxE,GAA2B,KAAM6F,GAAM,CAAA,CAAE,EACzC7F,GAA2B,KAAM8F,GAAU,CAAC,EAC5C,KAAK,KAAOtB,CACb,CACD,KAAKxP,EAAK,CACRuL,GAAsBsF,GAAM,IAAI,EAAEtF,GAAsBuF,GAAU,IAAI,CAAC,EAAI9Q,EAC3EkL,GAAsB4F,GAAU,MAAOvF,GAAsBuF,GAAU,IAAI,EAAI,GAAK,KAAK,IAAI,CAC9F,CACD,QAAS,CACP,OAAOvF,GAAsBsF,GAAM,IAAI,EAAE,MAAMtF,GAAsBuF,GAAU,IAAI,CAAC,EAAE,OAAOvF,GAAsBsF,GAAM,IAAI,EAAE,MAAM,EAAGtF,GAAsBuF,GAAU,IAAI,CAAC,CAAC,CAC/K,CACH,CACO,SAASE,GAAoB,EAAG,CACrC,MAAI,YAAa,EACR,CACL,QAAS,EAAE,QAAQ,CAAC,EAAE,QACtB,QAAS,EAAE,QAAQ,CAAC,EAAE,OAC5B,EAES,CACL,QAAS,EAAE,QACX,QAAS,EAAE,OACf,CACA,CASO,SAASC,GAAiB7I,EAAQ,CACvC,MAAM8I,EAAO3J,WAAS,CAAA,CAAE,EAClBsI,EAAOxK,WAAS+C,CAAM,EAC5B+I,OAAAA,EAAAA,YAAY,IAAM,CAChB,UAAWpR,KAAO8P,EAAK,MACrBqB,EAAKnR,CAAG,EAAI8P,EAAK,MAAM9P,CAAG,CAEhC,EAAK,CACD,MAAO,MACX,CAAG,EACMiF,EAAAA,OAAOkM,CAAI,CACpB,CAGO,SAASE,GAASC,EAAKrR,EAAK,CACjC,OAAOqR,EAAI,SAASrR,CAAG,CACzB,CACO,SAASsR,GAAUC,EAAU,CAClC,OAAOA,EAAS,CAAC,EAAE,YAAa,EAAGA,EAAS,MAAM,CAAC,CACrD,CACO,MAAMC,GAAY,IAAM,CAAC,SAAU,KAAK,EACxC,SAASC,GAAS1F,EAAO5G,EAAM,CACpC,OAAAA,EAAO,KAAOuM,aAAWvM,CAAI,EACtB,CAAC,EAAE4G,EAAM5G,CAAI,GAAK4G,EAAM,GAAG5G,CAAI,MAAM,GAAK4G,EAAM,GAAG5G,CAAI,SAAS,GAAK4G,EAAM,GAAG5G,CAAI,aAAa,GAAK4G,EAAM,GAAG5G,CAAI,aAAa,EACvI,CACO,SAASwM,GAAUC,EAAS,CACjC,QAASC,EAAQ,UAAU,OAAQnQ,EAAO,IAAI,MAAMmQ,EAAQ,EAAIA,EAAQ,EAAI,CAAC,EAAGC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGpQ,EAAKoQ,EAAQ,CAAC,EAAI,UAAUA,CAAK,EAEnC,GAAI,MAAM,QAAQF,CAAO,EACvB,UAAWG,KAAKH,EACdG,EAAE,GAAGrQ,CAAI,OAEF,OAAOkQ,GAAY,YAC5BA,EAAQ,GAAGlQ,CAAI,CAEnB,CACO,SAASsQ,GAAkBnF,EAAI,CACpC,IAAIoF,EAAmB,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GAC3F,MAAMC,EAAU,CAAC,SAAU,SAAU,6BAA8B,SAAU,WAAY,YAAY,EAAE,IAAI/G,GAAK,GAAGA,CAAC,GAAG8G,EAAmB,wBAA0B,EAAE,kBAAkB,EAAE,KAAK,IAAI,EACnM,MAAO,CAAC,GAAGpF,EAAG,iBAAiBqF,CAAO,CAAC,CACzC,CACO,SAASC,GAAeC,EAAUC,EAAUC,EAAW,CAC5D,IAAIC,EACA9O,EAAM2O,EAAS,QAAQ,SAAS,aAAa,EACjD,MAAMI,EAAMH,IAAa,OAAS,EAAI,GACtC,GACE5O,GAAO+O,EACPD,EAAMH,EAAS3O,CAAG,SACV,CAAC8O,GAAOA,EAAI,cAAgB,MAAQ,GAAED,GAAA,YAAAA,EAAYC,KAAQ,MAAU9O,EAAM2O,EAAS,QAAU3O,GAAO,GAC9G,OAAO8O,CACT,CACO,SAASE,GAAW5F,EAAIwF,EAAU,aACvC,MAAMK,EAAYV,GAAkBnF,CAAE,EACtC,GAAI,CAACwF,GACCxF,IAAO,SAAS,eAAiB,CAACA,EAAG,SAAS,SAAS,aAAa,MACtEnM,EAAAgS,EAAU,CAAC,IAAX,MAAAhS,EAAc,iBAEP2R,IAAa,SACtBM,EAAAD,EAAU,CAAC,IAAX,MAAAC,EAAc,gBACLN,IAAa,QACtBO,EAAAF,EAAU,GAAG,EAAE,IAAf,MAAAE,EAAkB,gBACT,OAAOP,GAAa,UAC7BQ,EAAAH,EAAUL,CAAQ,IAAlB,MAAAQ,EAAqB,YAChB,CACL,MAAMN,EAAMJ,GAAeO,EAAWL,CAAQ,EAC1CE,EAAKA,EAAI,MAAK,EAAQE,GAAW5F,EAAIwF,IAAa,OAAS,QAAU,MAAM,CAChF,CACH,CACO,SAASS,GAAQ9S,EAAK,CAC3B,OAAOA,GAAQ,MAA6B,OAAOA,GAAQ,UAAYA,EAAI,KAAM,IAAK,EACxF,CACO,SAASkD,IAAO,CAAE,CAGlB,SAAS6P,GAAgBlG,EAAImG,EAAU,CAE5C,GAAI,EADqBpI,IAAc,OAAO,IAAQ,KAAe,OAAO,IAAI,SAAa,KAAe,IAAI,SAAS,YAAYoI,CAAQ,GAAG,GACzH,OAAO,KAC9B,GAAI,CACF,MAAO,CAAC,CAACnG,GAAMA,EAAG,QAAQmG,CAAQ,CACnC,MAAa,CACZ,OAAO,IACR,CACH,CACO,SAASC,GAAiBC,EAAQ,CACvC,OAAOA,EAAO,KAAKtC,GACZuC,EAAO,QAACvC,CAAK,EACdA,EAAM,OAASwC,EAAO,QAAS,GAC5BxC,EAAM,OAASL,EAAAA,UAAY0C,GAAiBrC,EAAM,QAAQ,EAFrC,EAG7B,EAAIsC,EAAS,IAChB,CACO,SAASG,GAAMC,EAASC,EAAI,CACjC,GAAI,CAAC3I,IAAc0I,IAAY,EAC7B,OAAAC,IACO,IAAM,CAAA,EAEf,MAAM7E,EAAY,OAAO,WAAW6E,EAAID,CAAO,EAC/C,MAAO,IAAM,OAAO,aAAa5E,CAAS,CAC5C,CAWO,SAAS8E,GAAqB5N,EAAO6N,EAAW,CACrD,MAAMC,EAAS9N,EAAM,QACf+N,EAAS/N,EAAM,QACfgO,EAAUH,EAAU,wBACpBI,EAAUD,EAAQ,KAClBE,EAASF,EAAQ,IACjBG,EAAWH,EAAQ,MACnBI,EAAYJ,EAAQ,OAC1B,OAAOF,GAAUG,GAAWH,GAAUK,GAAYJ,GAAUG,GAAUH,GAAUK,CAClF,CACO,SAASC,IAAc,CAC5B,MAAMpH,EAAKqH,EAAAA,aACLpQ,EAAKhE,GAAU,CACnB+M,EAAG,MAAQ/M,CACf,EACE,cAAO,eAAegE,EAAI,QAAS,CACjC,WAAY,GACZ,IAAK,IAAM+I,EAAG,MACd,IAAK7M,GAAO6M,EAAG,MAAQ7M,CAC3B,CAAG,EACD,OAAO,eAAe8D,EAAI,KAAM,CAC9B,WAAY,GACZ,IAAK,IAAM8I,GAAWC,EAAG,KAAK,CAClC,CAAG,EACM/I,CACT,CACO,SAASqQ,GAAe,EAAG,CAChC,MAAMC,EAAkB,EAAE,IAAI,SAAW,EACnCC,EAAa,CAAC,EAAE,SAAW,CAAC,EAAE,SAAW,CAAC,EAAE,OAClD,OAAOD,GAAmBC,CAC5B,CCjhBA,MAAMC,GAAQ,CAAC,MAAO,QAAQ,EACxBC,GAAS,CAAC,QAAS,MAAO,OAAQ,OAAO,EAExC,SAASC,GAAYC,EAAQC,EAAO,CACzC,GAAI,CAACC,EAAMC,CAAK,EAAIH,EAAO,MAAM,GAAG,EACpC,OAAKG,IACHA,EAAQxD,GAASkD,GAAOK,CAAI,EAAI,QAAUvD,GAASmD,GAAQI,CAAI,EAAI,MAAQ,UAEtE,CACL,KAAME,GAAWF,EAAMD,CAAK,EAC5B,MAAOG,GAAWD,EAAOF,CAAK,CAClC,CACA,CACO,SAASG,GAAWrI,EAAKkI,EAAO,CACrC,OAAIlI,IAAQ,QAAgBkI,EAAQ,QAAU,OAC1ClI,IAAQ,MAAckI,EAAQ,OAAS,QACpClI,CACT,CACO,SAASsI,GAASL,EAAQ,CAC/B,MAAO,CACL,KAAM,CACJ,OAAQ,SACR,IAAK,SACL,OAAQ,MACR,KAAM,QACN,MAAO,MACb,EAAMA,EAAO,IAAI,EACb,MAAOA,EAAO,KAClB,CACA,CACO,SAASM,GAAUN,EAAQ,CAChC,MAAO,CACL,KAAMA,EAAO,KACb,MAAO,CACL,OAAQ,SACR,IAAK,SACL,OAAQ,MACR,KAAM,QACN,MAAO,MACb,EAAMA,EAAO,KAAK,CAClB,CACA,CACO,SAASO,GAAWP,EAAQ,CACjC,MAAO,CACL,KAAMA,EAAO,MACb,MAAOA,EAAO,IAClB,CACA,CACO,SAASQ,GAAQR,EAAQ,CAC9B,OAAOrD,GAASkD,GAAOG,EAAO,IAAI,EAAI,IAAM,GAC9C,CCpDO,MAAMS,EAAI,CACf,YAAYC,EAAM,CAChB,GAAI,CACF,EAAAC,EACA,EAAAC,EACA,MAAAC,EACA,OAAAC,CACD,EAAGJ,EACJ,KAAK,EAAIC,EACT,KAAK,EAAIC,EACT,KAAK,MAAQC,EACb,KAAK,OAASC,CACf,CACD,IAAI,KAAM,CACR,OAAO,KAAK,CACb,CACD,IAAI,QAAS,CACX,OAAO,KAAK,EAAI,KAAK,MACtB,CACD,IAAI,MAAO,CACT,OAAO,KAAK,CACb,CACD,IAAI,OAAQ,CACV,OAAO,KAAK,EAAI,KAAK,KACtB,CACH,CACO,SAASC,GAAYpK,EAAGU,EAAG,CAChC,MAAO,CACL,EAAG,CACD,OAAQ,KAAK,IAAI,EAAGA,EAAE,KAAOV,EAAE,IAAI,EACnC,MAAO,KAAK,IAAI,EAAGA,EAAE,MAAQU,EAAE,KAAK,CACrC,EACD,EAAG,CACD,OAAQ,KAAK,IAAI,EAAGA,EAAE,IAAMV,EAAE,GAAG,EACjC,MAAO,KAAK,IAAI,EAAGA,EAAE,OAASU,EAAE,MAAM,CACvC,CACL,CACA,CACO,SAAS2J,GAAa3V,EAAQ,CACnC,OAAI,MAAM,QAAQA,CAAM,EACf,IAAIoV,GAAI,CACb,EAAGpV,EAAO,CAAC,EACX,EAAGA,EAAO,CAAC,EACX,MAAO,EACP,OAAQ,CACd,CAAK,EAEMA,EAAO,uBAElB,CC9CO,SAAS4V,GAAkB7I,EAAI,CACpC,MAAM8I,EAAO9I,EAAG,wBACV+I,EAAQ,iBAAiB/I,CAAE,EAC3BgJ,EAAKD,EAAM,UACjB,GAAIC,EAAI,CACN,IAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EACpB,GAAIL,EAAG,WAAW,WAAW,EAC3BC,EAAKD,EAAG,MAAM,EAAG,EAAE,EAAE,MAAM,IAAI,EAC/BE,EAAK,CAACD,EAAG,CAAC,EACVE,EAAK,CAACF,EAAG,CAAC,EACVG,EAAK,CAACH,EAAG,EAAE,EACXI,EAAK,CAACJ,EAAG,EAAE,UACFD,EAAG,WAAW,SAAS,EAChCC,EAAKD,EAAG,MAAM,EAAG,EAAE,EAAE,MAAM,IAAI,EAC/BE,EAAK,CAACD,EAAG,CAAC,EACVE,EAAK,CAACF,EAAG,CAAC,EACVG,EAAK,CAACH,EAAG,CAAC,EACVI,EAAK,CAACJ,EAAG,CAAC,MAEV,QAAO,IAAIZ,GAAIS,CAAI,EAErB,MAAMQ,EAAKP,EAAM,gBACXR,EAAIO,EAAK,EAAIM,GAAM,EAAIF,GAAM,WAAWI,CAAE,EAC1Cd,EAAIM,EAAK,EAAIO,GAAM,EAAIF,GAAM,WAAWG,EAAG,MAAMA,EAAG,QAAQ,GAAG,EAAI,CAAC,CAAC,EACrEC,EAAIL,EAAKJ,EAAK,MAAQI,EAAKlJ,EAAG,YAAc,EAC5CkF,EAAIiE,EAAKL,EAAK,OAASK,EAAKnJ,EAAG,aAAe,EACpD,OAAO,IAAIqI,GAAI,CACb,EAAAE,EACA,EAAAC,EACA,MAAOe,EACP,OAAQrE,CACd,CAAK,CACL,KACI,QAAO,IAAImD,GAAIS,CAAI,CAEvB,CACO,SAASU,GAAQxJ,EAAIyJ,EAAW/R,EAAS,CAC9C,GAAI,OAAOsI,EAAG,QAAY,IAAa,MAAO,CAC5C,SAAU,QAAQ,QAAS,CAC/B,EACE,IAAI0J,EACJ,GAAI,CACFA,EAAY1J,EAAG,QAAQyJ,EAAW/R,CAAO,CAC1C,MAAa,CACZ,MAAO,CACL,SAAU,QAAQ,QAAS,CACjC,CACG,CACD,OAAI,OAAOgS,EAAU,SAAa,MAChCA,EAAU,SAAW,IAAI,QAAQ5U,GAAW,CAC1C4U,EAAU,SAAW,IAAM,CACzB5U,EAAQ4U,CAAS,CACzB,CACA,CAAK,GAEIA,CACT,CCzDA,MAAMC,GAAW,IAAI,QACd,SAASC,GAAU5J,EAAId,EAAO,CACnC,OAAO,KAAKA,CAAK,EAAE,QAAQO,GAAK,CAC9B,GAAIuB,GAAKvB,CAAC,EAAG,CACX,MAAMnH,EAAOmM,GAAUhF,CAAC,EAClBsF,EAAU4E,GAAS,IAAI3J,CAAE,EAC/B,GAAId,EAAMO,CAAC,GAAK,KACdsF,GAAA,MAAAA,EAAS,QAAQvF,GAAK,CACpB,KAAM,CAACb,EAAG1H,CAAE,EAAIuI,EACZb,IAAMrG,IACR0H,EAAG,oBAAoB1H,EAAMrB,CAAE,EAC/B8N,EAAQ,OAAOvF,CAAC,EAE5B,WACiB,CAACuF,GAAW,CAAC,CAAC,GAAGA,CAAO,EAAG,KAAKvF,GAAKA,EAAE,CAAC,IAAMlH,GAAQkH,EAAE,CAAC,IAAMN,EAAMO,CAAC,CAAC,EAAG,CACnFO,EAAG,iBAAiB1H,EAAM4G,EAAMO,CAAC,CAAC,EAClC,MAAMoK,EAAW9E,GAAW,IAAI,IAChC8E,EAAS,IAAI,CAACvR,EAAM4G,EAAMO,CAAC,CAAC,CAAC,EACxBkK,GAAS,IAAI3J,CAAE,GAAG2J,GAAS,IAAI3J,EAAI6J,CAAQ,CACjD,CACP,MACU3K,EAAMO,CAAC,GAAK,KACdO,EAAG,gBAAgBP,CAAC,EAEpBO,EAAG,aAAaP,EAAGP,EAAMO,CAAC,CAAC,CAGnC,CAAG,CACH,CACO,SAASqK,GAAY9J,EAAId,EAAO,CACrC,OAAO,KAAKA,CAAK,EAAE,QAAQO,GAAK,CAC9B,GAAIuB,GAAKvB,CAAC,EAAG,CACX,MAAMnH,EAAOmM,GAAUhF,CAAC,EAClBsF,EAAU4E,GAAS,IAAI3J,CAAE,EAC/B+E,GAAA,MAAAA,EAAS,QAAQvF,GAAK,CACpB,KAAM,CAACb,EAAG1H,CAAE,EAAIuI,EACZb,IAAMrG,IACR0H,EAAG,oBAAoB1H,EAAMrB,CAAE,EAC/B8N,EAAQ,OAAOvF,CAAC,EAE1B,EACA,MACMQ,EAAG,gBAAgBP,CAAC,CAE1B,CAAG,CACH,CChCA,MAAMsK,GAAU,IACVC,GAAM,SACNC,GAAM,SACNC,GAAM,QAONC,GAAS,IACTC,GAAU,IACVC,GAAS,IACTC,GAAQ,IAIRC,GAAU,IACVC,GAAU,KACVC,GAAY,KACZC,GAAW,KACXC,GAAW,KACXC,GAAc,KACdC,GAAc,kBACdC,GAAc,IACdC,GAAS,KAER,SAASC,GAAaC,EAAMC,EAAY,CAE7C,MAAMC,GAAQF,EAAK,EAAI,MAAQlB,GACzBqB,GAAQH,EAAK,EAAI,MAAQlB,GACzBsB,GAAQJ,EAAK,EAAI,MAAQlB,GACzBuB,GAAOJ,EAAW,EAAI,MAAQnB,GAC9BwB,GAAOL,EAAW,EAAI,MAAQnB,GAC9ByB,GAAON,EAAW,EAAI,MAAQnB,GAGpC,IAAI0B,EAAON,EAAOnB,GAAMoB,EAAOnB,GAAMoB,EAAOnB,GACxCwB,EAAMJ,EAAMtB,GAAMuB,EAAMtB,GAAMuB,EAAMtB,GAQxC,GAJIuB,GAAQlB,KAASkB,IAASlB,GAAUkB,IAASjB,IAC7CkB,GAAOnB,KAASmB,IAAQnB,GAAUmB,IAAQlB,IAG1C,KAAK,IAAIkB,EAAMD,CAAI,EAAIhB,GAAW,MAAO,GAI7C,IAAIkB,EACJ,GAAID,EAAMD,EAAM,CAId,MAAMG,GAAQF,GAAOvB,GAASsB,GAAQrB,IAAWM,GAOjDiB,EAAiBC,EAAOb,GAAS,EAAMa,EAAOhB,GAAcgB,EAAOA,EAAOf,GAAcC,GAAcc,EAAOd,EACjH,KAAS,CAIL,MAAMc,GAAQF,GAAOpB,GAAQmB,GAAQpB,IAAUM,GAC/CgB,EAAiBC,EAAO,CAACb,GAAS,EAAMa,EAAO,CAAChB,GAAcgB,EAAOA,EAAOf,GAAcC,GAAcc,EAAOd,EAChH,CACD,OAAOa,EAAiB,GAC1B,CClFO,SAASE,GAAYC,EAAS,CACnCC,EAAAA,KAAK,YAAYD,CAAO,EAAE,CAC5B,CACO,SAASE,GAAaF,EAAS,CACpCC,EAAAA,KAAK,kBAAkBD,CAAO,EAAE,CAClC,CACO,SAASG,GAAUC,EAAUC,EAAa,CAC/CA,EAAc,MAAM,QAAQA,CAAW,EAAIA,EAAY,MAAM,EAAG,EAAE,EAAE,IAAI7N,GAAK,IAAIA,CAAC,GAAG,EAAE,KAAK,IAAI,EAAI,QAAQ6N,EAAY,GAAG,EAAE,CAAC,IAAM,IAAIA,CAAW,IACnJJ,EAAI,KAAC,sBAAsBG,CAAQ,wBAAwBC,CAAW,WAAW,CACnF,CCXA,MAAMC,GAAQ,mBAERC,GAAyBC,GAAKA,EAAIF,IAAS,EAAI,KAAK,KAAKE,CAAC,EAAIA,GAAK,EAAIF,IAAS,GAAK,EAAI,GACzFG,GAAyBD,GAAKA,EAAIF,GAAQE,GAAK,EAAI,EAAIF,IAAS,GAAKE,EAAI,EAAI,IAC5E,SAASE,GAAQC,EAAK,CAC3B,MAAMC,EAAYL,GACZM,EAAeD,EAAUD,EAAI,CAAC,CAAC,EACrC,MAAO,CAAC,IAAME,EAAe,GAAI,KAAOD,EAAUD,EAAI,CAAC,EAAI,MAAO,EAAIE,GAAe,KAAOA,EAAeD,EAAUD,EAAI,CAAC,EAAI,OAAO,EAAE,CACzI,CACO,SAASG,GAAMC,EAAK,CACzB,MAAMH,EAAYH,GACZO,GAAMD,EAAI,CAAC,EAAI,IAAM,IAC3B,MAAO,CAACH,EAAUI,EAAKD,EAAI,CAAC,EAAI,GAAG,EAAI,OAASH,EAAUI,CAAE,EAAGJ,EAAUI,EAAKD,EAAI,CAAC,EAAI,GAAG,EAAI,OAAO,CACvG,CCZA,MAAME,GAAoB,CAAC,CAAC,OAAQ,QAAS,MAAO,EAAG,CAAC,OAAS,OAAQ,KAAM,EAAG,CAAC,MAAQ,MAAS,KAAM,CAAC,EAGrGC,GAAuBC,GAAKA,GAAK,SAAYA,EAAI,MAAQ,MAAQA,IAAM,EAAI,KAAO,KAGlFC,GAAoB,CAAC,CAAC,MAAQ,MAAQ,KAAM,EAAG,CAAC,MAAQ,MAAQ,KAAM,EAAG,CAAC,MAAQ,MAAQ,KAAM,CAAC,EAGjGC,GAAuBF,GAAKA,GAAK,OAAUA,EAAI,QAAUA,EAAI,MAAS,QAAU,IAC/E,SAAST,GAAQC,EAAK,CAC3B,MAAMW,EAAM,MAAM,CAAC,EACbV,EAAYM,GACZK,EAASN,GAGf,QAAS,EAAI,EAAG,EAAI,EAAG,EAAE,EAEvBK,EAAI,CAAC,EAAI,KAAK,MAAMlL,GAAMwK,EAAUW,EAAO,CAAC,EAAE,CAAC,EAAIZ,EAAI,CAAC,EAAIY,EAAO,CAAC,EAAE,CAAC,EAAIZ,EAAI,CAAC,EAAIY,EAAO,CAAC,EAAE,CAAC,EAAIZ,EAAI,CAAC,CAAC,CAAC,EAAI,GAAG,EAEnH,MAAO,CACL,EAAGW,EAAI,CAAC,EACR,EAAGA,EAAI,CAAC,EACR,EAAGA,EAAI,CAAC,CACZ,CACA,CACO,SAASR,GAAMtE,EAAM,CAC1B,GAAI,CACF,EAAA9J,EACA,EAAA8O,EACA,EAAArO,CACD,EAAGqJ,EACJ,MAAMmE,EAAM,CAAC,EAAG,EAAG,CAAC,EACdC,EAAYS,GACZE,EAASH,GAGf1O,EAAIkO,EAAUlO,EAAI,GAAG,EACrB8O,EAAIZ,EAAUY,EAAI,GAAG,EACrBrO,EAAIyN,EAAUzN,EAAI,GAAG,EAGrB,QAASsO,EAAI,EAAGA,EAAI,EAAG,EAAEA,EACvBd,EAAIc,CAAC,EAAIF,EAAOE,CAAC,EAAE,CAAC,EAAI/O,EAAI6O,EAAOE,CAAC,EAAE,CAAC,EAAID,EAAID,EAAOE,CAAC,EAAE,CAAC,EAAItO,EAEhE,OAAOwN,CACT,CC3CO,SAASe,GAAWC,EAAO,CAChC,MAAO,CAAC,CAACA,GAAS,6BAA6B,KAAKA,CAAK,CAC3D,CACO,SAASC,GAAgBD,EAAO,CACrC,OAAOD,GAAWC,CAAK,GAAK,CAAC,2BAA2B,KAAKA,CAAK,CACpE,CACA,MAAME,GAAa,yCACbC,GAAU,CACd,IAAK,CAACpP,EAAG8O,EAAGrO,EAAGV,KAAO,CACpB,EAAAC,EACA,EAAA8O,EACA,EAAArO,EACA,EAAAV,CACJ,GACE,KAAM,CAACC,EAAG8O,EAAGrO,EAAGV,KAAO,CACrB,EAAAC,EACA,EAAA8O,EACA,EAAArO,EACA,EAAAV,CACJ,GACE,IAAK,CAAC2G,EAAG5G,EAAGuP,EAAGtP,IAAMuP,GAAS,CAC5B,EAAA5I,EACA,EAAA5G,EACA,EAAAuP,EACA,EAAAtP,CACJ,CAAG,EACD,KAAM,CAAC2G,EAAG5G,EAAGuP,EAAGtP,IAAMuP,GAAS,CAC7B,EAAA5I,EACA,EAAA5G,EACA,EAAAuP,EACA,EAAAtP,CACJ,CAAG,EACD,IAAK,CAAC2G,EAAG5G,EAAGkB,EAAGjB,IAAMwP,GAAS,CAC5B,EAAA7I,EACA,EAAA5G,EACA,EAAAkB,EACA,EAAAjB,CACJ,CAAG,EACD,KAAM,CAAC2G,EAAG5G,EAAGkB,EAAGjB,IAAMwP,GAAS,CAC7B,EAAA7I,EACA,EAAA5G,EACA,EAAAkB,EACA,EAAAjB,CACJ,CAAG,CACH,EACO,SAASyP,GAAWP,EAAO,CAChC,GAAI,OAAOA,GAAU,SACnB,OAAI,MAAMA,CAAK,GAAKA,EAAQ,GAAKA,EAAQ,WAEvC5B,GAAY,IAAI4B,CAAK,4BAA4B,EAE5C,CACL,GAAIA,EAAQ,WAAa,GACzB,GAAIA,EAAQ,QAAW,EACvB,EAAGA,EAAQ,GACjB,EACS,GAAI,OAAOA,GAAU,UAAYE,GAAW,KAAKF,CAAK,EAAG,CAC9D,KAAM,CACJ,OAAAQ,CACN,EAAQR,EAAM,MAAME,EAAU,EACpB,CACJ,GAAA1W,EACA,OAAAiX,CACD,EAAGD,EACEE,EAAaD,EAAO,MAAM,MAAM,EAAE,IAAI1O,GACtCA,EAAE,SAAS,GAAG,GAAK,CAAC,MAAO,OAAQ,MAAO,MAAM,EAAE,SAASvI,CAAE,EACxD,WAAWuI,CAAC,EAAI,IAEhB,WAAWA,CAAC,CAEtB,EACD,OAAOoO,GAAQ3W,CAAE,EAAE,GAAGkX,CAAU,CACpC,SAAa,OAAOV,GAAU,SAAU,CACpC,IAAIW,EAAMX,EAAM,WAAW,GAAG,EAAIA,EAAM,MAAM,CAAC,EAAIA,EAC/C,CAAC,EAAG,CAAC,EAAE,SAASW,EAAI,MAAM,EAC5BA,EAAMA,EAAI,MAAM,EAAE,EAAE,IAAI5L,GAAQA,EAAOA,CAAI,EAAE,KAAK,EAAE,EAC1C,CAAC,EAAG,CAAC,EAAE,SAAS4L,EAAI,MAAM,GACpCvC,GAAY,IAAI4B,CAAK,+BAA+B,EAEtD,MAAMY,EAAM,SAASD,EAAK,EAAE,EAC5B,OAAI,MAAMC,CAAG,GAAKA,EAAM,GAAKA,EAAM,aACjCxC,GAAY,IAAI4B,CAAK,+BAA+B,EAE/Ca,GAASF,CAAG,CACvB,SAAa,OAAOX,GAAU,SAAU,CACpC,GAAIrN,GAAIqN,EAAO,CAAC,IAAK,IAAK,GAAG,CAAC,EAC5B,OAAOA,EACF,GAAIrN,GAAIqN,EAAO,CAAC,IAAK,IAAK,GAAG,CAAC,EACnC,OAAOM,GAASQ,GAASd,CAAK,CAAC,EAC1B,GAAIrN,GAAIqN,EAAO,CAAC,IAAK,IAAK,GAAG,CAAC,EACnC,OAAOM,GAASN,CAAK,CAExB,CACD,MAAM,IAAI,UAAU,kBAAkBA,GAAS,KAAOA,EAAQ,OAAOA,CAAK,GAAKA,EAAM,YAAY,IAAI;AAAA,qEAAwE,CAC/K,CAoBO,SAASM,GAASS,EAAM,CAC7B,KAAM,CACJ,EAAAtJ,EACA,EAAA5G,EACA,EAAAkB,EACA,EAAAjB,CACD,EAAGiQ,EACEC,EAAI9P,GAAK,CACb,MAAMc,GAAKd,EAAIuG,EAAI,IAAM,EACzB,OAAO1F,EAAIA,EAAIlB,EAAI,KAAK,IAAI,KAAK,IAAImB,EAAG,EAAIA,EAAG,CAAC,EAAG,CAAC,CACxD,EACQ2N,EAAM,CAACqB,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAAE,IAAIjP,GAAK,KAAK,MAAMA,EAAI,GAAG,CAAC,EAC3D,MAAO,CACL,EAAG4N,EAAI,CAAC,EACR,EAAGA,EAAI,CAAC,EACR,EAAGA,EAAI,CAAC,EACR,EAAA7O,CACJ,CACA,CACO,SAASuP,GAASY,EAAM,CAC7B,OAAOX,GAASQ,GAASG,CAAI,CAAC,CAChC,CAGO,SAASC,GAASC,EAAM,CAC7B,GAAI,CAACA,EAAM,MAAO,CAChB,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,CACP,EACE,MAAMpQ,EAAIoQ,EAAK,EAAI,IACbtB,EAAIsB,EAAK,EAAI,IACb3P,EAAI2P,EAAK,EAAI,IACbxM,EAAM,KAAK,IAAI5D,EAAG8O,EAAGrO,CAAC,EACtBkD,EAAM,KAAK,IAAI3D,EAAG8O,EAAGrO,CAAC,EAC5B,IAAIiG,EAAI,EACJ9C,IAAQD,IACNC,IAAQ5D,EACV0G,EAAI,IAAM,GAAKoI,EAAIrO,IAAMmD,EAAMD,IACtBC,IAAQkL,EACjBpI,EAAI,IAAM,GAAKjG,EAAIT,IAAM4D,EAAMD,IACtBC,IAAQnD,IACjBiG,EAAI,IAAM,GAAK1G,EAAI8O,IAAMlL,EAAMD,MAG/B+C,EAAI,IAAGA,EAAIA,EAAI,KACnB,MAAM,EAAI9C,IAAQ,EAAI,GAAKA,EAAMD,GAAOC,EAClCyM,EAAM,CAAC3J,EAAG,EAAG9C,CAAG,EACtB,MAAO,CACL,EAAGyM,EAAI,CAAC,EACR,EAAGA,EAAI,CAAC,EACR,EAAGA,EAAI,CAAC,EACR,EAAGD,EAAK,CACZ,CACA,CACO,SAASE,GAASN,EAAM,CAC7B,KAAM,CACJ,EAAAtJ,EACA,EAAA5G,EACA,EAAAkB,EACA,EAAAjB,CACD,EAAGiQ,EACEX,EAAIrO,EAAIA,EAAIlB,EAAI,EAChByQ,EAASlB,IAAM,GAAKA,IAAM,EAAI,GAAKrO,EAAIqO,GAAK,KAAK,IAAIA,EAAG,EAAIA,CAAC,EACnE,MAAO,CACL,EAAA3I,EACA,EAAG6J,EACH,EAAAlB,EACA,EAAAtP,CACJ,CACA,CACO,SAASgQ,GAASS,EAAK,CAC5B,KAAM,CACJ,EAAA9J,EACA,EAAA5G,EACA,EAAAuP,EACA,EAAAtP,CACD,EAAGyQ,EACExP,EAAIqO,EAAIvP,EAAI,KAAK,IAAIuP,EAAG,EAAIA,CAAC,EAC7BkB,EAASvP,IAAM,EAAI,EAAI,EAAI,EAAIqO,EAAIrO,EACzC,MAAO,CACL,EAAA0F,EACA,EAAG6J,EACH,EAAAvP,EACA,EAAAjB,CACJ,CACA,CACO,SAAS0Q,GAAS3G,EAAM,CAC7B,GAAI,CACF,EAAA9J,EACA,EAAA8O,EACA,EAAArO,EACA,EAAAV,CACD,EAAG+J,EACJ,OAAO/J,IAAM,OAAY,OAAOC,CAAC,KAAK8O,CAAC,KAAKrO,CAAC,IAAM,QAAQT,CAAC,KAAK8O,CAAC,KAAKrO,CAAC,KAAKV,CAAC,GAChF,CACO,SAAS2Q,GAASV,EAAM,CAC7B,OAAOS,GAASlB,GAASS,CAAI,CAAC,CAChC,CACA,SAASW,GAAM3P,EAAG,CAChB,MAAM0F,EAAI,KAAK,MAAM1F,CAAC,EAAE,SAAS,EAAE,EACnC,OAAQ,KAAK,OAAO,EAAG,EAAI0F,EAAE,MAAM,EAAIA,GAAG,aAC5C,CACO,SAASkK,GAASC,EAAO,CAC9B,GAAI,CACF,EAAA7Q,EACA,EAAA8O,EACA,EAAArO,EACA,EAAAV,CACD,EAAG8Q,EACJ,MAAO,IAAI,CAACF,GAAM3Q,CAAC,EAAG2Q,GAAM7B,CAAC,EAAG6B,GAAMlQ,CAAC,EAAGV,IAAM,OAAY4Q,GAAM,KAAK,MAAM5Q,EAAI,GAAG,CAAC,EAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EACvG,CACO,SAAS+P,GAASF,EAAK,CAC5BA,EAAMkB,GAASlB,CAAG,EAClB,GAAI,CAAC5P,EAAG8O,EAAGrO,EAAGV,CAAC,EAAImE,GAAM0L,EAAK,CAAC,EAAE,IAAImB,GAAK,SAASA,EAAG,EAAE,CAAC,EACzD,OAAAhR,EAAIA,IAAM,OAAYA,EAAIA,EAAI,IACvB,CACL,EAAAC,EACA,EAAA8O,EACA,EAAArO,EACA,EAAAV,CACJ,CACA,CACO,SAASiR,GAASpB,EAAK,CAC5B,MAAMhB,EAAMkB,GAASF,CAAG,EACxB,OAAOO,GAASvB,CAAG,CACrB,CACO,SAASqC,GAASjB,EAAM,CAC7B,OAAOY,GAASrB,GAASS,CAAI,CAAC,CAChC,CACO,SAASc,GAASlB,EAAK,CAC5B,OAAIA,EAAI,WAAW,GAAG,IACpBA,EAAMA,EAAI,MAAM,CAAC,GAEnBA,EAAMA,EAAI,QAAQ,gBAAiB,GAAG,GAClCA,EAAI,SAAW,GAAKA,EAAI,SAAW,KACrCA,EAAMA,EAAI,MAAM,EAAE,EAAE,IAAI7F,GAAKA,EAAIA,CAAC,EAAE,KAAK,EAAE,GAEzC6F,EAAI,SAAW,IACjBA,EAAM7L,GAAOA,GAAO6L,EAAK,CAAC,EAAG,EAAG,GAAG,GAE9BA,CACT,CAQO,SAASsB,GAAQjb,EAAOkb,EAAQ,CACrC,MAAM9C,EAAM+C,GAAeC,GAAWpb,CAAK,CAAC,EAC5C,OAAAoY,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAI8C,EAAS,GACpBG,GAAaC,GAAalD,CAAG,CAAC,CACvC,CACO,SAASmD,GAAOvb,EAAOkb,EAAQ,CACpC,MAAM9C,EAAM+C,GAAeC,GAAWpb,CAAK,CAAC,EAC5C,OAAAoY,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAI8C,EAAS,GACpBG,GAAaC,GAAalD,CAAG,CAAC,CACvC,CAMO,SAASoD,GAAQxC,EAAO,CAC7B,MAAML,EAAMY,GAAWP,CAAK,EAC5B,OAAOoC,GAAWzC,CAAG,EAAE,CAAC,CAC1B,CAMO,SAAS8C,GAAYC,EAAOC,EAAQ,CACzC,MAAMC,EAAKJ,GAAQE,CAAK,EAClBG,EAAKL,GAAQG,CAAM,EACnBG,EAAQ,KAAK,IAAIF,EAAIC,CAAE,EACvBE,EAAO,KAAK,IAAIH,EAAIC,CAAE,EAC5B,OAAQC,EAAQ,MAASC,EAAO,IAClC,CACO,SAASC,GAAchD,EAAO,CACnC,MAAMiD,EAAgB,KAAK,IAAI1F,GAAagD,GAAW,CAAC,EAAGA,GAAWP,CAAK,CAAC,CAAC,EAa7E,OAZsB,KAAK,IAAIzC,GAAagD,GAAW,QAAQ,EAAGA,GAAWP,CAAK,CAAC,CAAC,EAY7D,KAAK,IAAIiD,EAAe,EAAE,EAAI,OAAS,MAChE,CChSO,SAASC,GAAazR,EAAOtB,EAAQ,CAC1C,OAAOgT,GACE,OAAO,KAAK1R,CAAK,EAAE,OAAO,CAAC5H,EAAK1C,IAAS,CAE9C,MAAMic,EADqB,OAAO3R,EAAMtK,CAAI,GAAM,UAAYsK,EAAMtK,CAAI,GAAK,MAAQ,CAAC,MAAM,QAAQsK,EAAMtK,CAAI,CAAC,EACvEsK,EAAMtK,CAAI,EAAI,CACpD,KAAMsK,EAAMtK,CAAI,CACxB,EACM,OAAIgc,GAAYhc,KAAQgc,EACtBtZ,EAAI1C,CAAI,EAAI,CACV,GAAGic,EACH,QAASD,EAAShc,CAAI,CAChC,EAEQ0C,EAAI1C,CAAI,EAAIic,EAEVjT,GAAU,CAACtG,EAAI1C,CAAI,EAAE,SACvB0C,EAAI1C,CAAI,EAAE,OAASgJ,GAEdtG,CACR,EAAE,CAAE,CAAA,CAET,CC/CO,MAAMwZ,GAAqBH,GAAa,CAC7C,MAAO,CAAC,OAAQ,MAAO,MAAM,EAC7B,MAAO,CACL,KAAM,CAAC,OAAQ,MAAO,MAAM,EAC5B,QAAS,IACV,CACH,EAAG,WAAW,ECNP,SAASpU,GAAmBjE,EAAMwT,EAAS,CAChD,MAAMtP,EAAKuU,EAAAA,qBACX,GAAI,CAACvU,EACH,MAAM,IAAI,MAAM,aAAalE,CAAI,IAAIwT,GAAW,6CAA6C,EAAE,EAEjG,OAAOtP,CACT,CACO,SAASwU,IAAyB,CACvC,IAAI1Y,EAAO,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,cAC/E,MAAMkE,EAAKD,GAAmBjE,CAAI,EAAE,KACpC,OAAOqL,IAAYnH,GAAA,YAAAA,EAAI,aAAaA,GAAA,YAAAA,EAAI,KAAI,CAC9C,CACA,IAAIyU,GAAO,EACPC,GAAO,IAAI,QACR,SAASC,IAAS,CACvB,MAAM3U,EAAKD,GAAmB,QAAQ,EACtC,GAAI2U,GAAK,IAAI1U,CAAE,EAAG,OAAO0U,GAAK,IAAI1U,CAAE,EAAO,CACzC,MAAM4U,EAAMH,KACZ,OAAAC,GAAK,IAAI1U,EAAI4U,CAAG,EACTA,CACR,CACH,CACAD,GAAO,MAAQ,IAAM,CACnBF,GAAO,EACPC,GAAO,IAAI,OACb,EC1BO,SAASG,GAAWne,EAAK,CAC9B,IAAIsJ,EAAK,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAID,GAAmB,YAAY,EAC5G,KAAM,CACJ,SAAA+U,CACD,EAAG9U,EACJ,GAAI8U,GAAYpe,KAAOoe,EAErB,OAAOA,EAASpe,CAAG,CAGvB,CCPO,MAAMqe,GAAiB,OAAO,IAAI,kBAAkB,EACpD,SAASC,GAAe9Z,EAAS,CACtC,OAAOU,EAAAA,IAAIV,CAAO,CACpB,CACO,SAAS+Z,IAAiB,CAC/B,MAAMb,EAAWxU,SAAOmV,EAAc,EACtC,GAAI,CAACX,EAAU,MAAM,IAAI,MAAM,4CAA4C,EAC3E,OAAOA,CACT,CACO,SAASc,GAAgBd,EAAUlZ,EAAS,CACjD,MAAMia,EAAmBF,KACnBG,EAAmBxZ,MAAIwY,CAAQ,EAC/BiB,EAAcrZ,EAAAA,SAAS,IAAM,CAEjC,GADiByJ,EAAAA,MAAMvK,GAAA,YAAAA,EAAS,QAAQ,EAC1B,OAAOia,EAAiB,MACtC,MAAMG,EAAS7P,EAAAA,MAAMvK,GAAA,YAAAA,EAAS,MAAM,EAC9Bqa,EAAQ9P,EAAAA,MAAMvK,GAAA,YAAAA,EAAS,KAAK,EAC5Bsa,EAAO/P,EAAAA,MAAMvK,GAAA,YAAAA,EAAS,IAAI,EAChC,GAAIka,EAAiB,OAAS,MAAQ,EAAEE,GAAUC,GAASC,GAAO,OAAOL,EAAiB,MAC1F,IAAIM,EAAa/O,GAAU0O,EAAiB,MAAO,CACjD,KAAMD,EAAiB,KAC7B,CAAK,EACD,GAAIG,EAAQ,OAAOG,EACnB,GAAIF,GAASC,EAAM,CACjB,MAAME,EAAM,OAAOH,GAAS,GAAQ,EACpC,QAASxE,EAAI,EAAGA,GAAK2E,GACf,GAACD,GAAc,EAAE,SAAUA,IADP1E,IAIxB0E,EAAaA,EAAW,KAE1B,OAAIA,GAAc,OAAOD,GAAS,UAAYA,KAAQC,IACpDA,EAAa/O,GAAUA,GAAU+O,EAAY,CAC3C,KAAMA,CAChB,CAAS,EAAGA,EAAWD,CAAI,CAAC,GAEfC,CACR,CACD,OAAOA,EAAW,KAAO/O,GAAU+O,EAAW,KAAMA,CAAU,EAAIA,CACtE,CAAG,EACDE,OAAAA,UAAQZ,GAAgBM,CAAW,EAC5BA,CACT,CACA,SAASO,GAActO,EAAOlP,EAAM,SAClC,OAAO,QAAOf,EAAAiQ,EAAM,QAAN,YAAAjQ,EAAce,IAAU,KAAe,QAAOkR,EAAAhC,EAAM,QAAN,YAAAgC,EAAcnC,GAAY/O,CAAI,IAAO,GACnG,CACO,SAASyd,IAAsB,CACpC,IAAInT,EAAQ,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,CAAA,EAC5E5G,EAAO,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OAC7CsY,EAAW,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAIa,GAAc,EACjG,MAAMjV,EAAKD,GAAmB,aAAa,EAE3C,GADAjE,EAAOA,GAAQkE,EAAG,KAAK,MAAQA,EAAG,KAAK,OACnC,CAAClE,EACH,MAAM,IAAI,MAAM,8CAA8C,EAEhE,MAAMga,EAAoB9Z,EAAQ,SAAC,WAAM,OAAA3E,EAAA+c,EAAS,QAAT,YAAA/c,EAAiBqL,EAAM,KAAO5G,GAAK,EACtEia,EAAS,IAAI,MAAMrT,EAAO,CAC9B,IAAIjM,EAAQ2B,EAAM,mBAChB,MAAM4d,EAAY,QAAQ,IAAIvf,EAAQ2B,CAAI,EAC1C,OAAIA,IAAS,SAAWA,IAAS,QACxB,EAACf,EAAAye,EAAkB,QAAlB,YAAAze,EAA0Be,GAAO4d,CAAS,EAAE,OAAOhT,GAAKA,GAAK,IAAI,EAChE,OAAO5K,GAAS,UAAY,CAACwd,GAAc5V,EAAG,MAAO5H,CAAI,IAC3DkR,EAAAwM,EAAkB,QAAlB,YAAAxM,EAA0BlR,MAAU,QAAYmR,EAAAuM,EAAkB,QAAlB,YAAAvM,EAA0BnR,KAAQ6d,GAAAzM,EAAA4K,EAAS,QAAT,YAAA5K,EAAgB,SAAhB,YAAAyM,EAAyB7d,MAAU,QAAY8d,GAAAC,EAAA/B,EAAS,QAAT,YAAA+B,EAAgB,SAAhB,YAAAD,EAAyB9d,GAAQ4d,EAEpKA,CACR,CACL,CAAG,EACKI,EAAwBvL,EAAAA,aAC9B/C,EAAAA,YAAY,IAAM,CAChB,GAAIgO,EAAkB,MAAO,CAC3B,MAAMO,EAAgB,OAAO,QAAQP,EAAkB,KAAK,EAAE,OAAOhK,GAAQ,CAC3E,GAAI,CAACpV,CAAG,EAAIoV,EACZ,OAAOpV,EAAI,WAAWA,EAAI,CAAC,EAAE,YAAW,CAAE,CAClD,CAAO,EACD0f,EAAsB,MAAQC,EAAc,OAAS,OAAO,YAAYA,CAAa,EAAI,MAC/F,MACMD,EAAsB,MAAQ,MAEpC,CAAG,EACD,SAASE,GAAqB,CAC5B,MAAMC,EAAW1B,GAAWE,GAAgB/U,CAAE,EAC9C2V,UAAQZ,GAAgB/Y,EAAAA,SAAS,IACxBoa,EAAsB,MAAQ1P,IAAU6P,GAAA,YAAAA,EAAU,QAAS,CAAE,EAAEH,EAAsB,KAAK,EAAIG,GAAA,YAAAA,EAAU,KAChH,CAAC,CACH,CACD,MAAO,CACL,MAAOR,EACP,mBAAAO,CACJ,CACA,CCpFO,SAASE,GAAgBtb,EAAS,CAEvC,GADAA,EAAQ,OAASA,EAAQ,QAAUA,EAAQ,MACvC,CAACA,EAAQ,KACX,OAAAmU,GAAY,kFAAkF,EACvFnU,EAET,GAAIA,EAAQ,OAAQ,CAClBA,EAAQ,MAAQiZ,GAAajZ,EAAQ,OAAS,GAAIA,EAAQ,IAAI,IAC9D,MAAMub,EAAW,OAAO,KAAKvb,EAAQ,KAAK,EAAE,OAAOxE,GAAOA,IAAQ,SAAWA,IAAQ,OAAO,EAC5FwE,EAAQ,YAAc,SAAqBwH,EAAO,CAChD,OAAOmB,GAAKnB,EAAO+T,CAAQ,CACjC,EACIvb,EAAQ,MAAM,IAAM,OACpBA,EAAQ,MAAQ,SAAewH,EAAOgU,EAAK,CACzC,MAAMtC,EAAWa,KAGjB,GAAI,CAACb,EAAS,MAAO,OAAOlZ,EAAQ,OAAOwH,EAAOgU,CAAG,EACrD,KAAM,CACJ,MAAOX,EACP,mBAAAO,CACR,EAAUT,GAAoBnT,EAAOA,EAAM,KAAOxH,EAAQ,KAAMkZ,CAAQ,EAC5DuC,EAAgBzb,EAAQ,OAAO6a,EAAQW,CAAG,EAChD,OAAAJ,IACOK,CACb,CACG,CACD,OAAOzb,CACT,CASO,SAAS0b,IAAmB,CACjC,IAAIC,EAAiB,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GACzF,OAAO3b,IAAY2b,EAAiBL,GAAkBM,EAAgB,iBAAE5b,CAAO,CACjF,CACO,SAAS6b,GAA0BrU,EAAOsU,EAAQ,CACvD,OAAAA,EAAO,MAAQtU,EACRsU,CACT,CClDO,SAASC,GAAuBC,EAAO,CAC5C,IAAIC,EAAM,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,MAC1Erb,EAAO,UAAU,OAAS,EAAI,UAAU,CAAC,EAAI,OACjD,OAAO8a,GAAgB,EAAG,CACxB,KAAM9a,GAAQuM,EAAAA,WAAW+O,EAAQ,SAACF,EAAM,QAAQ,MAAO,GAAG,CAAC,CAAC,EAC5D,MAAO,CACL,IAAK,CACH,KAAM,OACN,QAASC,CACV,EACD,GAAG7C,GAAoB,CACxB,EACD,MAAM5R,EAAOoJ,EAAM,CACjB,GAAI,CACF,MAAAuL,CACD,EAAGvL,EACJ,MAAO,IAAM,OACX,OAAOpD,EAAC,EAAChG,EAAM,IAAK,CAClB,MAAO,CAACwU,EAAOxU,EAAM,KAAK,EAC1B,MAAOA,EAAM,KACvB,GAAWrL,EAAAggB,EAAM,UAAN,YAAAhgB,EAAA,KAAAggB,EAAiB,CAC5B,CACK,CACL,CAAG,CACH,CCvBO,SAASC,GAAarQ,EAAM,CAEjC,GAAI,OAAOA,EAAK,aAAgB,WAAY,CAE1C,KAAOA,EAAK,YAAYA,EAAOA,EAAK,WAGpC,OAAIA,IAAS,SAAiB,KACvB,QACR,CACD,MAAMuO,EAAOvO,EAAK,cAGlB,OAAIuO,IAAS,UAAYA,EAAK,YAAY,CACxC,SAAU,EACd,CAAG,IAAM,SAAiB,KACjBA,CACT,CCtBO,MAAM+B,GAAiB,+BACjBC,GAAoB,+BACpBC,GAAoB,6BCA1B,SAASC,GAAyB7S,EAAO8S,EAAQC,EAAS,CAC/D,OAAO,OAAO,KAAK/S,CAAK,EAAE,OAAOnO,GAAO8N,GAAK9N,CAAG,GAAKA,EAAI,SAASihB,CAAM,CAAC,EAAE,OAAO,CAACE,EAAKnhB,KACtFmhB,EAAInhB,EAAI,MAAM,EAAG,CAACihB,EAAO,MAAM,CAAC,EAAIpb,GAASsI,EAAMnO,CAAG,EAAE6F,EAAOqb,EAAQrb,CAAK,CAAC,EACtEsb,GACN,CAAE,CAAA,CACP,CCPO,SAASC,GAAgBtU,EAAI,CAClC,IAAIuU,EAAgB,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAI,GACxF,KAAOvU,GAAI,CACT,GAAIuU,EAAgBC,GAAwBxU,CAAE,EAAIyU,GAAazU,CAAE,EAAG,OAAOA,EAC3EA,EAAKA,EAAG,aACT,CACD,OAAO,SAAS,gBAClB,CACO,SAAS0U,GAAiB1U,EAAI2U,EAAQ,CAC3C,MAAMpP,EAAW,CAAA,EACjB,GAAIoP,GAAU3U,GAAM,CAAC2U,EAAO,SAAS3U,CAAE,EAAG,OAAOuF,EACjD,KAAOvF,IACDyU,GAAazU,CAAE,GAAGuF,EAAS,KAAKvF,CAAE,EAClCA,IAAO2U,IACX3U,EAAKA,EAAG,cAEV,OAAOuF,CACT,CACO,SAASkP,GAAazU,EAAI,CAC/B,GAAI,CAACA,GAAMA,EAAG,WAAa,KAAK,aAAc,MAAO,GACrD,MAAM+I,EAAQ,OAAO,iBAAiB/I,CAAE,EACxC,OAAO+I,EAAM,YAAc,UAAYA,EAAM,YAAc,QAAU/I,EAAG,aAAeA,EAAG,YAC5F,CACA,SAASwU,GAAwBxU,EAAI,CACnC,GAAI,CAACA,GAAMA,EAAG,WAAa,KAAK,aAAc,MAAO,GACrD,MAAM+I,EAAQ,OAAO,iBAAiB/I,CAAE,EACxC,MAAO,CAAC,SAAU,MAAM,EAAE,SAAS+I,EAAM,SAAS,CACpD,CC3BO,SAAS6L,GAAgB5U,EAAI,CAClC,KAAOA,GAAI,CACT,GAAI,OAAO,iBAAiBA,CAAE,EAAE,WAAa,QAC3C,MAAO,GAETA,EAAKA,EAAG,YACT,CACD,MAAO,EACT,CCNO,SAAS6U,GAAUrB,EAAQ,CAChC,MAAMhX,EAAKD,GAAmB,WAAW,EACzCC,EAAG,OAASgX,CACd,CCAO,SAASsB,GAAgB5V,EAAOtK,EAAMmgB,EAAc,CACzD,IAAIC,EAAc,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAIxV,GAAKA,EACvFyV,EAAe,UAAU,OAAS,GAAK,UAAU,CAAC,IAAM,OAAY,UAAU,CAAC,EAAIzV,GAAKA,EAC5F,MAAMhD,EAAKD,GAAmB,iBAAiB,EACzC2Y,EAAW9c,MAAI8G,EAAMtK,CAAI,IAAM,OAAYsK,EAAMtK,CAAI,EAAImgB,CAAY,EACrEI,EAAYxR,GAAY/O,CAAI,EAE5BwgB,EADaD,IAAcvgB,EACC4D,EAAAA,SAAS,IAAM,aAC/C,OAAK0G,EAAMtK,CAAI,EACR,CAAC,IAAGf,EAAA2I,EAAG,MAAM,QAAT,MAAA3I,EAAgB,eAAee,KAASkR,EAAAtJ,EAAG,MAAM,QAAT,MAAAsJ,EAAgB,eAAeqP,OAAgBpP,EAAAvJ,EAAG,MAAM,QAAT,MAAAuJ,EAAgB,eAAe,YAAYnR,CAAI,MAAOoR,EAAAxJ,EAAG,MAAM,QAAT,MAAAwJ,EAAgB,eAAe,YAAYmP,CAAS,KAChN,CAAG,EAAI3c,EAAQ,SAAC,IAAM,SAClB,OAAK0G,EAAMtK,CAAI,EACR,CAAC,GAAEf,EAAA2I,EAAG,MAAM,QAAT,MAAA3I,EAAgB,eAAee,MAASkR,EAAAtJ,EAAG,MAAM,QAAT,MAAAsJ,EAAgB,eAAe,YAAYlR,CAAI,KACrG,CAAG,EACD+I,GAAe,IAAM,CAACyX,EAAa,MAAO,IAAM,CAC9C3a,EAAAA,MAAM,IAAMyE,EAAMtK,CAAI,EAAGzB,GAAO,CAC9B+hB,EAAS,MAAQ/hB,CACvB,CAAK,CACL,CAAG,EACD,MAAMkiB,EAAQ7c,EAAAA,SAAS,CACrB,KAAM,CACJ,MAAM8c,EAAgBpW,EAAMtK,CAAI,EAChC,OAAOogB,EAAYI,EAAa,MAAQE,EAAgBJ,EAAS,KAAK,CACvE,EACD,IAAIK,EAAe,CACjB,MAAMC,EAAWP,EAAaM,CAAa,EACrC9gB,EAAQuG,QAAMoa,EAAa,MAAQlW,EAAMtK,CAAI,EAAIsgB,EAAS,KAAK,EACjEzgB,IAAU+gB,GAAYR,EAAYvgB,CAAK,IAAM8gB,IAGjDL,EAAS,MAAQM,EACjBhZ,GAAA,MAAAA,EAAI,KAAK,UAAU5H,CAAI,GAAI4gB,GAC5B,CACL,CAAG,EACD,cAAO,eAAeH,EAAO,gBAAiB,CAC5C,IAAK,IAAMD,EAAa,MAAQlW,EAAMtK,CAAI,EAAIsgB,EAAS,KAC3D,CAAG,EACMG,CACT,CC3Ce,MAAAI,GAAA,CACb,MAAO,QACP,KAAM,OACN,MAAO,QACP,QAAS,UACT,YAAa,CACX,GAAI,KACJ,OAAQ,QACT,EACD,aAAc,CACZ,cAAe,4BACf,YAAa,kBACd,EACD,UAAW,CACT,iBAAkB,iBAClB,UAAW,CACT,eAAgB,qBAChB,cAAe,oBACf,SAAU,cACV,aAAc,8BACd,mBAAoB,+BACpB,kBAAmB,6BACpB,EACD,OAAQ,SACT,EACD,WAAY,CACV,iBAAkB,kBAClB,gBAAiB,MACjB,SAAU,YACV,SAAU,gBACV,UAAW,aACX,SAAU,YACV,SAAU,gBACX,EACD,eAAgB,CACd,QAAS,IACV,EACD,WAAY,CACV,cAAe,eACf,MAAO,CACL,MAAO,eACP,OAAQ,aACT,EACD,MAAO,cACP,OAAQ,aACR,MAAO,CACL,YAAa,YACd,CACF,EACD,WAAY,oBACZ,SAAU,CACR,KAAM,kBACN,KAAM,cACN,UAAW,CACT,UAAW,2BACZ,CACF,EACD,SAAU,CACR,WAAY,WACZ,MAAO,OACR,EACD,MAAO,CACL,MAAO,YACP,cAAe,uBACf,aAAc,sBACd,IAAK,gCACN,EACD,UAAW,CACT,QAAS,YACT,YAAa,0BACd,EACD,WAAY,CACV,GAAI,KACJ,GAAI,KACJ,MAAO,aACR,EACD,WAAY,CACV,UAAW,CACT,KAAM,wBACN,KAAM,YACN,SAAU,gBACV,KAAM,iBACN,YAAa,yBACb,MAAO,aACP,KAAM,WACP,CACF,EACD,QAAS,CACP,KAAM,OACN,KAAM,UACP,EACD,OAAQ,CACN,UAAW,CACT,KAAM,mBACP,CACF,EACD,QAAS,aACT,eAAgB,CACd,SAAU,YACV,MAAO,SACR,CACH,EChGMC,GAAc,YACdC,GAAU,CAAChW,EAAKiW,IACbjW,EAAI,QAAQ,aAAc,CAACkW,EAAOhT,IAChC,OAAO+S,EAAO,CAAC/S,CAAK,CAAC,CAC7B,EAEGiT,GAA0B,CAACC,EAASjX,EAAUkX,IAC3C,SAAU9iB,EAAK,CACpB,QAAS6O,EAAO,UAAU,OAAQ6T,EAAS,IAAI,MAAM7T,EAAO,EAAIA,EAAO,EAAI,CAAC,EAAGC,EAAO,EAAGA,EAAOD,EAAMC,IACpG4T,EAAO5T,EAAO,CAAC,EAAI,UAAUA,CAAI,EAEnC,GAAI,CAAC9O,EAAI,WAAWwiB,EAAW,EAC7B,OAAOC,GAAQziB,EAAK0iB,CAAM,EAE5B,MAAMK,EAAW/iB,EAAI,QAAQwiB,GAAa,EAAE,EACtCQ,EAAgBH,EAAQ,OAASC,EAAS,MAAMD,EAAQ,KAAK,EAC7DI,EAAiBrX,EAAS,OAASkX,EAAS,MAAMlX,EAAS,KAAK,EACtE,IAAIa,EAAMR,GAAqB+W,EAAeD,EAAU,IAAI,EAC5D,OAAKtW,IACHkM,GAAY,oBAAoB3Y,CAAG,mBAAmB6iB,EAAQ,KAAK,2BAA2B,EAC9FpW,EAAMR,GAAqBgX,EAAgBF,EAAU,IAAI,GAEtDtW,IACHqM,GAAa,oBAAoB9Y,CAAG,yBAAyB,EAC7DyM,EAAMzM,GAEJ,OAAOyM,GAAQ,WACjBqM,GAAa,oBAAoB9Y,CAAG,0BAA0B,EAC9DyM,EAAMzM,GAEDyiB,GAAQhW,EAAKiW,CAAM,CAC9B,EAEA,SAASQ,GAAqBL,EAASjX,EAAU,CAC/C,MAAO,CAACrK,EAAOiD,IACQ,IAAI,KAAK,aAAa,CAACqe,EAAQ,MAAOjX,EAAS,KAAK,EAAGpH,CAAO,EAC/D,OAAOjD,CAAK,CAEpC,CACA,SAAS4hB,GAAYnX,EAAOtK,EAAM0hB,EAAU,CAC1C,MAAMpB,EAAWJ,GAAgB5V,EAAOtK,EAAMsK,EAAMtK,CAAI,GAAK0hB,EAAS,KAAK,EAG3E,OAAApB,EAAS,MAAQhW,EAAMtK,CAAI,GAAK0hB,EAAS,MACzC7b,EAAK,MAAC6b,EAAU9W,GAAK,CACfN,EAAMtK,CAAI,GAAK,OACjBsgB,EAAS,MAAQoB,EAAS,MAEhC,CAAG,EACMpB,CACT,CACA,SAASqB,GAAsB3e,EAAO,CACpC,OAAOsH,GAAS,CACd,MAAM6W,EAAUM,GAAYnX,EAAO,SAAUtH,EAAM,OAAO,EACpDkH,EAAWuX,GAAYnX,EAAO,WAAYtH,EAAM,QAAQ,EACxDoe,EAAWK,GAAYnX,EAAO,WAAYtH,EAAM,QAAQ,EAC9D,MAAO,CACL,KAAM,UACN,QAAAme,EACA,SAAAjX,EACA,SAAAkX,EACA,EAAGF,GAAwBC,EAASjX,EAAUkX,CAAQ,EACtD,EAAGI,GAAqBL,EAASjX,CAAQ,EACzC,QAASyX,GAAsB,CAC7B,QAAAR,EACA,SAAAjX,EACA,SAAAkX,CACR,CAAO,CACP,CACA,CACA,CACO,SAASQ,GAAqB9e,EAAS,CAC5C,MAAMqe,EAAU1O,EAAU,YAAC3P,GAAA,YAAAA,EAAS,SAAU,IAAI,EAC5CoH,EAAWuI,EAAU,YAAC3P,GAAA,YAAAA,EAAS,WAAY,IAAI,EAC/Cse,EAAW5d,EAAAA,IAAI,CACnB,GAAAqd,GACA,GAAG/d,GAAA,YAAAA,EAAS,QAChB,CAAG,EACD,MAAO,CACL,KAAM,UACN,QAAAqe,EACA,SAAAjX,EACA,SAAAkX,EACA,EAAGF,GAAwBC,EAASjX,EAAUkX,CAAQ,EACtD,EAAGI,GAAqBL,EAASjX,CAAQ,EACzC,QAASyX,GAAsB,CAC7B,QAAAR,EACA,SAAAjX,EACA,SAAAkX,CACN,CAAK,CACL,CACA,CC7FO,MAAMS,GAAe,OAAO,IAAI,gBAAgB,EACvD,SAASC,GAAiBpf,EAAK,CAC7B,OAAOA,EAAI,MAAQ,IACrB,CACO,SAASqf,GAAajf,EAAS,CACpC,MAAMkf,EAAOlf,GAAA,MAAAA,EAAS,SAAWgf,GAAiBhf,GAAA,YAAAA,EAAS,OAAO,EAAIA,GAAA,YAAAA,EAAS,QAAU8e,GAAqB9e,CAAO,EAC/Gmf,EAAMC,GAAUF,EAAMlf,CAAO,EACnC,MAAO,CACL,GAAGkf,EACH,GAAGC,CACP,CACA,CACO,SAASE,IAAY,CAC1B,MAAMC,EAAS5a,SAAOqa,EAAY,EAClC,GAAI,CAACO,EAAQ,MAAM,IAAI,MAAM,mDAAmD,EAChF,OAAOA,CACT,CACO,SAASC,GAAc/X,EAAO,CACnC,MAAM8X,EAAS5a,SAAOqa,EAAY,EAClC,GAAI,CAACO,EAAQ,MAAM,IAAI,MAAM,mDAAmD,EAChF,MAAMJ,EAAOI,EAAO,QAAQ9X,CAAK,EAC3B2X,EAAMK,GAAWN,EAAMI,EAAO,IAAK9X,CAAK,EACxC1K,EAAO,CACX,GAAGoiB,EACH,GAAGC,CACP,EACE1E,OAAAA,UAAQsE,GAAcjiB,CAAI,EACnBA,CACT,CAKA,SAAS2iB,IAAc,CACrB,MAAO,CACL,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,IAAK,GACL,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,OAAQ,GACR,OAAQ,GACR,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,OAAQ,GACR,OAAQ,EACZ,CACA,CACO,SAASL,GAAUF,EAAMlf,EAAS,CACvC,MAAMmf,EAAMze,EAAAA,KAAIV,GAAA,YAAAA,EAAS,MAAOyf,GAAa,CAAA,EACvCtP,EAAQrP,WAAS,IAAMqe,EAAI,MAAMD,EAAK,QAAQ,KAAK,GAAK,EAAK,EACnE,MAAO,CACL,MAAA/O,EACA,IAAAgP,EACA,WAAYre,EAAAA,SAAS,IAAM,gBAAgBqP,EAAM,MAAQ,MAAQ,KAAK,EAAE,CAC5E,CACA,CACO,SAASqP,GAAWF,EAAQH,EAAK3X,EAAO,CAC7C,MAAM2I,EAAQrP,EAAAA,SAAS,IAAM0G,EAAM,KAAO2X,EAAI,MAAMG,EAAO,QAAQ,KAAK,GAAK,EAAK,EAClF,MAAO,CACL,MAAAnP,EACA,IAAAgP,EACA,WAAYre,EAAAA,SAAS,IAAM,gBAAgBqP,EAAM,MAAQ,MAAQ,KAAK,EAAE,CAC5E,CACA,CACO,SAASuP,IAAS,CACvB,MAAMJ,EAAS5a,SAAOqa,EAAY,EAClC,GAAI,CAACO,EAAQ,MAAM,IAAI,MAAM,gDAAgD,EAC7E,MAAO,CACL,MAAOA,EAAO,MACd,WAAYA,EAAO,UACvB,CACA,CCxGA,MAAMK,GAAW,CACf,MAAO,EACP,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,iBAAkB,EAClB,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI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CACjB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EA4RE,KA3RkB,CAClB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EA6QE,OA5QoB,CACpB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EA8PE,WA7PwB,CACxB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EA+OE,OA9OoB,CACpB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAgOA,KA/NoB,CAClB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAiNE,UAhNuB,CACvB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAkME,KAjMkB,CAClB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAmLE,KAlLkB,CAClB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAoKA,MAnKqB,CACnB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAqJE,WApJwB,CACxB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAsIE,KArIkB,CAClB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAuHA,OAtHsB,CACpB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAwGE,MAvGmB,CACnB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EAyFA,OAxFsB,CACpB,KAAM,UACN,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,SAAU,UACV,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,UACT,QAAS,SACX,EA0EE,WAzEwB,CACxB,KAAM,UACN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ACL,CACA,EAEIvE,GAAe,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,SAAS,EACjH7/b,GAAQ,CACV,SAAU,GACV,MAAO6/b,GACP,gBAAiBl0b,GACjB,YAAa,CACX,UAAW,CACT,MAAO,SACR,EACD,WAAY,CACV,MAAO,SACR,EACD,MAAO,CAEL,MAAO,MACR,CACF,EACD,OAAQ,CACN,UAAW,CACT,MAAOy4b,EACR,CACF,EACD,UAAW,CACT,MAAOA,EACR,EACD,MAAO,CACL,UAAW,CACT,MAAO,SACR,EACD,aAAc,CACZ,MAAO,SACR,CACF,EACD,QAAS,CACP,UAAW,CACT,YAAaA,EACd,CACF,EACD,SAAU,CACR,YAAa,UACb,UAAW,CACT,MAAOA,EACR,EACD,WAAY,CACV,MAAO,uBACR,EACD,YAAa,CACX,MAAO,UACP,YAAa,SACd,EACD,gBAAiB,CACf,MAAO,UACP,QAAS,EACV,EACD,YAAa,wBACb,SAAU,CACR,YAAa,CACX,YAAa,UACb,MAAO,SACR,EACD,gBAAiB,CACf,MAAO,UACP,QAAS,EACV,CACF,EACD,eAAgB,CACd,UAAW,CACT,MAAO,UACP,MAAO,CACR,EACD,UAAW,CACT,MAAO,SACR,CACF,EACD,uBAAwB,CACtB,UAAW,CACT,MAAO,SACR,EACD,UAAW,CACT,MAAO,SACR,CACF,CACF,EACD,UAAW,CACT,UAAW,CACT,MAAOA,EACR,CACF,EACD,SAAU,CACR,UAAW,CACT,MAAOA,EACR,EACD,MAAO,CACL,MAAOA,EACR,EACD,aAAc,CACZ,MAAOA,GACP,YAAaA,EACd,CACF,EACD,SAAU,CACR,UAAW,CACT,MAAOz4b,EACR,EACD,SAAU,CACR,MAAOy4b,EACR,EACD,WAAY,CACV,MAAOA,EACR,EACD,UAAW,CACT,MAAOA,EACR,CACF,EACD,SAAUC,GAAY,EACtB,QAASA,GAAY,EACrB,UAAWA,GAAY,EACvB,aAAcA,GAAY,EAC1B,KAAM,CACJ,OAAQ,QACT,EACD,MAAO,CACL,MAAOxE,EACR,EACD,MAAO,CACL,MAAO,CACL,MAAOuE,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","x_google_ignoreList":[0,1,2,3,4,5,6,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,297,298,299,300,302,305,306,308,309,310,311,312,313,314,315,316,318,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,593,594,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,713,714,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,775,776,787,863,888]}